專利名稱:基于協(xié)作緩存實現(xiàn)視頻點播系統(tǒng)的方法
技術領域:
本發(fā)明涉及視頻點播(Video-On-Demand)系統(tǒng)的實現(xiàn)裝置,特別涉及一種基于協(xié)作緩存實現(xiàn)視頻點播(Video-On-Demand)系統(tǒng)的方法。
背景技術:
從應用和技術現(xiàn)狀來看,當前的VOD系統(tǒng)普遍存在著若干瓶頸,其原因主要是受到磁盤訪問速率的限制。如果能盡量利用內(nèi)存來緩沖數(shù)據(jù),減少磁盤訪問次數(shù),則顯然能提升系統(tǒng)整體I/O性能。然而,單臺服務器的內(nèi)存總是有限的。因此為了最大限度地提高VOD服務器群的性能,如何通過網(wǎng)絡來充分利用本地服務器群中其他服務器上的空閑內(nèi)存資源,則是現(xiàn)有技術中有待解決的問題。
發(fā)明內(nèi)容
本發(fā)明的主要目的是針對現(xiàn)有技術中存在的問題,提供一種基于協(xié)作緩存實現(xiàn)視頻點播(Video-On-Demand)系統(tǒng)的方法。
為實現(xiàn)本發(fā)明所述的目的,本發(fā)明提供一種基于協(xié)作緩存實現(xiàn)視頻點播(Video-On-Demand)系統(tǒng)的方法。該方法包括以下步驟(1)用戶通過網(wǎng)絡向系統(tǒng)請求數(shù)據(jù);(2)由接入控制系統(tǒng)決定是否要接入該用戶請求;(3)如果接入該用戶請求,由緩存系統(tǒng)決定服務該用戶請求的緩存;(4)如果在緩存中不存在用戶請求的數(shù)據(jù)時,由緩存向后端文件系統(tǒng)請求數(shù)據(jù);(5)如后端文件系統(tǒng)也不存在所請求數(shù)據(jù),由遠端服務器提供數(shù)據(jù);(6)遠端服務器通過協(xié)作緩存向用戶提供流媒體數(shù)據(jù)服務,(7)緩存將這部分數(shù)據(jù)保存在本地緩存中。
本發(fā)明的特點是協(xié)作緩存間數(shù)據(jù)傳輸帶寬能得到保證,索引信息傳輸不會成為系統(tǒng)網(wǎng)絡瓶頸。能最大限度地提高VOD服務器群的性能,通過網(wǎng)絡來充分利用本地服務器群中其他服務器上的空閑內(nèi)存資源,從而使得本發(fā)明具有很好的實用價值。以下結合實施例參照附圖進行詳細的說明,以便對本發(fā)明的目的,特征及優(yōu)點進行更深入的理解。
圖1是協(xié)作緩存系統(tǒng)結構圖。
圖2是用戶全局緩存索引管理模塊流程圖。
圖3是緩存索引信息傳輸——GCM與LCM間通信。
具體實施方法如圖1所示,協(xié)作緩存采用三層結構,第一層是協(xié)作的緩存結構,由所有的前端代理緩存服務器的內(nèi)存組成;第二層由所有前端代理緩存服務器的文件系統(tǒng)組成,它們之間是非協(xié)作的;第三層則是位于遠端的中心服務器,協(xié)作的成員緩存間的信息流包含控制流與數(shù)據(jù)流,控制流負責控制信息如全局緩存索引表的傳送,數(shù)據(jù)流則是流媒體數(shù)據(jù)的傳送。
本發(fā)明主要由兩部分模塊負責緩存數(shù)據(jù)管理全局緩存管理模塊與本地緩存管理模塊。全局緩存管理模塊位于某一緩存主機中,而本地緩存管理模塊存在于每一個成員緩存主機內(nèi)。全局緩存管理(GCM)功能為維護緩存全局索引表(Global Index),如圖2所示。步驟10用戶請求數(shù)據(jù)服務首先由接入控制系統(tǒng)決定為用戶服務的主機地址,然后由步驟11查詢該主機本地內(nèi)存索引表(緩存)LI(Local Index),如果該主機本地內(nèi)存有用戶所需數(shù)據(jù),步驟12由該主機為該用戶請求服務提供數(shù)據(jù),否則步驟13,查詢位于該主機上的GI(Global Index),如果全局協(xié)作緩存的某一成員緩存中存在用戶請求的數(shù)據(jù)時,步驟14將用戶請求由該成員緩存提供服務,例如由主機向用戶提供服務。在全局協(xié)作緩存中都不存在所請求數(shù)據(jù)時(由GI知),進行下一步驟15,計算被替換的數(shù)據(jù)塊所在的成員緩存,由緩存向后端發(fā)送用戶數(shù)據(jù)請求,最后由緩存向用戶提供數(shù)據(jù),步驟16判斷替換數(shù)據(jù)塊的位置,如果數(shù)據(jù)來自本地主機磁盤,步驟17則由本地主機直接向用戶服務,數(shù)據(jù)如果來自遠地協(xié)作主機磁盤或來自遠端服務器,則執(zhí)行步驟18,通過內(nèi)部網(wǎng)絡向用戶提供服務或發(fā)生數(shù)據(jù)替換后由緩存向用戶提供服務。
圖3是本地緩存管理(Local Cache Manager),它的功能為維護本地緩存索引表(Local Index),維護本地緩存數(shù)據(jù),保證本地緩存數(shù)據(jù)的一致性;接收來自全局緩存管理(Global Cache Manager)GCM的全局緩存索引信息(GlobalIndex)GI,向全局緩存管理定時發(fā)送本地緩存數(shù)據(jù)索引LI。
它具體包含步驟100,本地緩存管理器查詢本地索引表TTL(Time to Live),如果步驟110本地索引表TTL大于零,則回到步驟100,否則執(zhí)行步驟120,發(fā)送本地索引表到全局緩存管理GCM,然后步驟130,將GCM合并各本地索引表,以得到本地緩存管理的全局索引表GI,步驟140,全局緩存管理GCM查詢?nèi)炙饕鞹TL,步驟150如果GI TTL大于零,返回步驟140,否則由步驟160,廣播全局索引表GI到本地緩存管理LCM。
如果假設LI大小為s,LI TTL大小為Tl秒,系統(tǒng)成員緩存數(shù)量為n,可以簡單認為GI大小為ns,GI TTL大小為Tg,這樣緩存索引信息傳輸占用系統(tǒng)協(xié)作緩存帶寬為ns/Tg+ns/Tl。在實際的系統(tǒng)中,由于s小于10k字節(jié),Tl與Tg的大小為1000毫秒,所以索引信息傳輸占用緩存間總帶寬為160nkbps。在協(xié)作緩存間數(shù)據(jù)傳輸帶寬為100Mbps的情況下,索引信息傳輸不會成為系統(tǒng)網(wǎng)絡瓶頸。從而使得本發(fā)明具有很好的實用價值。
權利要求
1.基于協(xié)作緩存實現(xiàn)視頻點播(Video-On-Demand)系統(tǒng)的方法,包括以下步驟(1)用戶通過網(wǎng)絡向系統(tǒng)請求數(shù)據(jù);(2)由接入控制系統(tǒng)決定是否要接入該用戶請求;(3)如果接入該用戶請求,由緩存系統(tǒng)決定服務該用戶請求的緩存;其特征是通過本地服務器群中其他服務器上的空閑內(nèi)存的協(xié)作緩存實現(xiàn)視頻點播(4)如果在緩存中不存在用戶請求的數(shù)據(jù)時,由緩存向后端文件系統(tǒng)請求數(shù)據(jù);(5)如后端文件系統(tǒng)也不存在所請求數(shù)據(jù),由遠端服務器提供數(shù)據(jù);(6)遠端服務器通過協(xié)作緩存向用戶提供流媒體數(shù)據(jù)服務,(7)緩存將這部分數(shù)據(jù)保存在本地緩存中;協(xié)作緩存結構,由所有的前端代理緩存服務器的內(nèi)存組成;協(xié)作的成員緩存間的信息流包含控制流與數(shù)據(jù)流,控制流負責控制信息如全局緩存索引表的傳送,數(shù)據(jù)流則是流媒體數(shù)據(jù)的傳送。
2.由權利要求1所述的基于協(xié)作緩存實現(xiàn)視頻點播(Video-On-Demand)系統(tǒng)的方法,其特征是設有兩部分模塊負責緩存數(shù)據(jù)管理全局緩存管理模塊與本地緩存管理模塊;全局緩存管理模塊位于某一緩存主機中,而本地緩存管理模塊存在于每一個成員緩存主機內(nèi);全局緩存管理(GCM)維護緩存全局索引表(Global Index)用戶請求數(shù)據(jù)服務首先由接入控制系統(tǒng)決定為用戶服務的主機地址,然后查詢該主機本地內(nèi)存(緩存)LI(Global Index),如果該主機本地內(nèi)存有用戶所需數(shù)據(jù),由該主機為該用戶請求服務提供數(shù)據(jù),否則查詢位于該主機上的GI(Global Index),如果全局協(xié)作緩存的某一成員緩存中存在用戶請求的數(shù)據(jù)時,將用戶請求由該成員緩存提供服務。
3.由權利要求1所述的基于協(xié)作緩存實現(xiàn)視頻點播(Video-On-Demand)系統(tǒng)的方法,其特征是在全局協(xié)作緩存中都不存在所請求數(shù)據(jù)時(由GI知),計算被替換的數(shù)據(jù)塊所在的成員緩存,由緩存向后端發(fā)送用戶數(shù)據(jù)請求,最后由緩存向用戶提供數(shù)據(jù);判斷替換數(shù)據(jù)塊的位置,如果數(shù)據(jù)來自本地主機磁盤,則由本地主機直接向用戶服務,數(shù)據(jù)如果來自遠地協(xié)作主機磁盤或來自遠端服務器,則通過內(nèi)部網(wǎng)絡向用戶提供服務或發(fā)生數(shù)據(jù)替換后由緩存向用戶提供服務。
4.由權利要求1所述的基于協(xié)作緩存實現(xiàn)視頻點播(Video-On-Demand)系統(tǒng)的方法,其特征是本地緩存管理器查詢本地索引表TTL,如果本地索引表TTL大于零,則繼續(xù)查詢,否則發(fā)送本地索引表到全局緩存管理GCM,然后將GCM合并各本地索引表,以得到本地緩存管理的全局索引表GI,全局緩存管理GCM查詢?nèi)炙饕鞹TL,如果GI TTL大于零,返回全局緩存管理GCM查詢?nèi)炙饕鞹TL,否則廣播全局索引表GI到本地緩存管理LCM。
全文摘要
基于協(xié)作緩存實現(xiàn)視頻點播(Video-On-Demand)系統(tǒng)的方法,包括以下步驟(1)用戶通過網(wǎng)絡向系統(tǒng)請求數(shù)據(jù);(2)由接入控制系統(tǒng)決定是否要接入該用戶請求;(3)如果接入該用戶請求,由緩存系統(tǒng)決定服務該用戶請求的緩存;通過本地服務器群中其他服務器上的空閑內(nèi)存的協(xié)作緩存實現(xiàn)視頻點播(4)如果在緩存中不存在用戶請求的數(shù)據(jù)時,由緩存向后端文件系統(tǒng)請求數(shù)據(jù);(5)如后端文件系統(tǒng)也不存在所請求數(shù)據(jù),由遠端服務器提供數(shù)據(jù);(6)遠端服務器通過協(xié)作緩存向用戶提供流媒體數(shù)據(jù)服務,本發(fā)明的特點是協(xié)作緩存間數(shù)據(jù)傳輸帶寬能得到保證,索引信息傳輸不會成為系統(tǒng)網(wǎng)絡瓶頸。
文檔編號H04N7/173GK1610403SQ20041006574
公開日2005年4月27日 申請日期2004年11月16日 優(yōu)先權日2004年11月16日
發(fā)明者陸桑璐, 陳力軍, 陳道蓄, 謝立 申請人:南京大學