張鑫宇 何廣慶 趙笑馳 叢家爽
[摘要]在視頻點播系統(tǒng)中,緩存管理是極其重要的一個部分。但現(xiàn)有的緩存管理機(jī)制,存在消息發(fā)送量過大、緩存命中率低、分布均勻度不均勻等很多不足。通過現(xiàn)有的緩存機(jī)制的不足,使用預(yù)測緩存和靜態(tài)緩存技術(shù),提出一種消息發(fā)送量少、命中率高、分布均勻的新型緩存機(jī)制。通過仿真試驗可以證明,該緩存機(jī)制能有效地提升系統(tǒng)整體性能,減低對服務(wù)器的壓力。
[關(guān)鍵詞]P2PVOD視頻點播緩存
中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)0710072-01
近年來,隨著P2P技術(shù)的廣泛應(yīng)用,基于P2P的視頻點播軟件逐漸熱門起來,引起了社會的廣泛關(guān)注。但是,現(xiàn)有的視頻點播系統(tǒng)由于緩沖區(qū)管理機(jī)制的不完善,仍然會出現(xiàn)播放視頻不連續(xù)等諸多問題。所以,設(shè)計出一種合理的緩存機(jī)制就尤為重要了。
本文在研究現(xiàn)有的緩存技術(shù)的基礎(chǔ)上,采用靜態(tài)緩沖區(qū)技術(shù),由區(qū)域服務(wù)器指定該節(jié)點要緩存的數(shù)據(jù)塊,使數(shù)據(jù)分布更加均勻。在動態(tài)緩存區(qū)中引入了預(yù)測機(jī)制,通過伙伴節(jié)點的播放位置,預(yù)測其伙伴節(jié)點所緩存的數(shù)據(jù)塊。從而避免了向伙伴節(jié)點查詢所帶來的消息通信次數(shù),降低了消息發(fā)送量。
一、緩沖區(qū)的組成
本文將緩沖區(qū)分為三部分。靜態(tài)緩沖區(qū)(Static-Cache):緩存內(nèi)容由區(qū)域服務(wù)器指定,在點播過程中固定上傳影片的指定數(shù)據(jù)塊。動態(tài)緩沖區(qū)(Dynamic-Cache):為正常的下載、播放所使用的緩沖區(qū)。隨著視頻的播放,緩沖區(qū)的內(nèi)容動態(tài)地發(fā)生改變。硬盤緩沖區(qū)(Hard-Cache):是內(nèi)存緩沖的擴(kuò)展,將觀看后的數(shù)據(jù)塊采用一定的置換策略,置換到硬盤區(qū)上。當(dāng)節(jié)點需要硬盤上的數(shù)據(jù)時,可將硬盤上的數(shù)據(jù)調(diào)回到動態(tài)緩沖區(qū)中。為了研究的方便,初始時設(shè)定每個節(jié)點緩存的SC和DC的大小相等,HC等于整個視頻影片的大小。
二、靜態(tài)緩沖區(qū)
每個Peer的靜態(tài)緩存區(qū)所緩存的數(shù)據(jù)是由所在的區(qū)域服務(wù)器指定。也由這個區(qū)域服務(wù)器統(tǒng)一管理。區(qū)域服務(wù)器上維護(hù)一個緩存狀態(tài)圖,用于維護(hù)每個Peer的SC中緩存的狀態(tài)。SC是固定不變的,只有節(jié)點加入和離開時,才更新狀態(tài)圖。
(一)數(shù)據(jù)分配策略。在傳統(tǒng)的視頻點播系統(tǒng)中,因為影片的點播率不同,當(dāng)系統(tǒng)運行一段時間后,熱門影片的數(shù)據(jù)塊副本遠(yuǎn)高于冷門影片的數(shù)據(jù)塊副本。導(dǎo)致了冷熱數(shù)據(jù)塊分布的不均勻。所以,在新的緩沖機(jī)制中,考慮讓熱門影片小組里,有剩余緩存能力的節(jié)點緩存服務(wù)器負(fù)載較重的冷門影片數(shù)據(jù)。當(dāng)有新節(jié)點加入系統(tǒng)時,區(qū)域服務(wù)器判斷這個節(jié)點是否有剩余緩存的能力并查看緩存狀態(tài)圖,如果新節(jié)點所點播的影片副本充足且節(jié)點有剩余緩存能力的話,區(qū)域服務(wù)器將挑選系統(tǒng)中副本較小的冷門影片的數(shù)據(jù)塊,拷貝在新Peer的SC上。
(二)數(shù)據(jù)查找策略。對于靜態(tài)緩沖區(qū),每個節(jié)點通過與伙伴節(jié)點進(jìn)行信息交互,獲得其伙伴節(jié)點的靜態(tài)緩沖區(qū)的數(shù)據(jù)信息。建立一個伙伴節(jié)點矩陣,用來描述伙伴節(jié)點的SC中有哪些數(shù)據(jù)塊。當(dāng)用戶進(jìn)行數(shù)據(jù)塊下載時,首先通過這個矩陣查找伙伴節(jié)點在SC中所緩存的數(shù)據(jù)塊。
三、動態(tài)緩沖區(qū)(基于預(yù)測的數(shù)據(jù)查找)
在傳統(tǒng)的緩存狀態(tài)傳遞方式中,需要近乎與實時的將本節(jié)點現(xiàn)有的緩存狀態(tài)發(fā)送給伙伴節(jié)點。這是因為,如果在發(fā)送消息后緩存的狀態(tài)發(fā)生改變的話,之前發(fā)送的狀態(tài)消息就失去了意義。所以消息的發(fā)送周期短。且發(fā)送的消息是該Peer的完整緩存狀態(tài)。即發(fā)送的內(nèi)容較大??梢?傳統(tǒng)的消息傳遞通信量是巨大的。
視頻點播是規(guī)律性很強的行為。在系統(tǒng)中,大部分人是點播后,從頭到尾欣賞的。即在大部分情況下,影片的播放過程是可以預(yù)測的。故本文在新緩存機(jī)制的動態(tài)緩沖區(qū)中,引入預(yù)測機(jī)制。
Peer之間需要每隔周期T傳遞一次消息,這個信息就包括其該節(jié)點正在播放的狀態(tài)信息。Peer收到這個信息后,將其存放在伙伴節(jié)點矩陣中。其他Peer通過這個播放狀態(tài)信息可以預(yù)測這個Peer當(dāng)前的播放狀態(tài)。從而預(yù)測這個Peer當(dāng)前的緩存狀態(tài)。在動態(tài)緩存區(qū)的數(shù)據(jù)塊查找中引入預(yù)測機(jī)制后,因發(fā)消息送周期長,消息內(nèi)容短,從而使節(jié)點間通信量大大減小。
Peer之間發(fā)送的播放狀態(tài)信息,即是一個加上時間戳的數(shù)據(jù)塊號。Peer通過這個時間戳和當(dāng)前的系統(tǒng)時間,就可以預(yù)測這個節(jié)點現(xiàn)在的播放狀態(tài),現(xiàn)在播放的數(shù)據(jù)塊號。從而預(yù)測他將會有哪些數(shù)據(jù)塊。預(yù)測之后,直接向這些節(jié)點要他自己所需的數(shù)據(jù)塊,減少了消息通信的時間。
四、實驗
測試環(huán)境。測試節(jié)點的網(wǎng)絡(luò)帶寬為10-100Mbyte,每個節(jié)點內(nèi)存的最大數(shù)據(jù)緩存量設(shè)置為90M,磁盤緩存空間大小為200Mbyte。測試節(jié)目的文件格式是RM,流媒體源碼率為300K,節(jié)目數(shù)據(jù)為160M。
圖1給出了測試期間每分鐘區(qū)域服務(wù)器上的數(shù)據(jù)請求次數(shù)。可以觀察到,在初期,大量的Peer同時加入系統(tǒng),相對于傳統(tǒng)策略,新型策略由于SC的內(nèi)容由服務(wù)器指定,故初始階段大量Peer同時向服務(wù)器的請求以確定SC所緩存的內(nèi)容,以至于請求次數(shù)有小幅度的增加。
當(dāng)P2P網(wǎng)絡(luò)構(gòu)建穩(wěn)定后,由于新策略中點播熱門影片的節(jié)點的SC中緩存了冷門影片的數(shù)據(jù),提升了網(wǎng)絡(luò)規(guī)模和緩存能力,故新策略的對數(shù)據(jù)源服務(wù)器的請求大幅降低??梢钥吹?雖然在網(wǎng)絡(luò)構(gòu)建的初期新策略會增加對數(shù)據(jù)源服務(wù)器的請求,但是整個系統(tǒng)運行期間,新策略能夠大幅降低對數(shù)據(jù)源服務(wù)器的請求,其系統(tǒng)性能提升是可觀的。
參考文獻(xiàn):
[1]Xiang Zhe,Zhang Qian,Zhu Wenwu,et a1.Replication Strategies for Peer-to-Peer Based Multimedia Distribution Service[A].Multimedia and Expo[C].2003:153-159.
[2]Nguyen T,Kolazhi K,Kamath R,et a1.Effident Video Disseaination in Structured Hybrid P2P Networks[A].Multim-edia and Expo[C].2006:1673-1676.
[3]Ganesh A,Kermarrwc A,Massoulie L.Peer-to-Peer Mem-bership Management for Gossip-Based Protocols[J].IEEE Trans on Computers,2003,52(2):139-149.
作者簡介:
張鑫宇(1983-),男,碩士研究生,研究方向:流媒體,分布式系統(tǒng);何廣慶(1982-),男,碩士研究生,研究方向:流媒體,分布式系統(tǒng);趙笑馳(1983-),女,碩士研究生,信任管理,分布式系統(tǒng);叢家爽(1982-),男,碩士研究生,研究方向:Web服務(wù),分布式系統(tǒng)。