《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于云存儲的P2P視頻點播系統(tǒng)數(shù)據(jù)復(fù)制策略
基于云存儲的P2P視頻點播系統(tǒng)數(shù)據(jù)復(fù)制策略
來源:微型機與應(yīng)用2013年第20期
王 娟
(江蘇宿遷澤達職業(yè)技術(shù)學(xué)院,江蘇 宿遷223800)
摘要: 交互性支持對P2P視頻點播系統(tǒng)具有重要的意義,視頻點播服務(wù)的大規(guī)模普及離不開用戶交互性的支持。討論了如何有效利用對等節(jié)點的帶寬和存儲資源來主動復(fù)制數(shù)據(jù)塊,提出了一種基于云存儲的數(shù)據(jù)復(fù)制策略CSPR。仿真實驗結(jié)果表明,相比于現(xiàn)有的數(shù)據(jù)復(fù)制策略,CSPR可以顯著提高用戶進行隨機搜索操作時的響應(yīng)速度,并降低網(wǎng)絡(luò)復(fù)制開銷。
Abstract:
Key words :

摘  要: 交互性支持對P2P視頻點播系統(tǒng)具有重要的意義,視頻點播服務(wù)的大規(guī)模普及離不開用戶交互性的支持。討論了如何有效利用對等節(jié)點的帶寬和存儲資源來主動復(fù)制數(shù)據(jù)塊,提出了一種基于云存儲的數(shù)據(jù)復(fù)制策略CSPR。仿真實驗結(jié)果表明,相比于現(xiàn)有的數(shù)據(jù)復(fù)制策略,CSPR可以顯著提高用戶進行隨機搜索操作時的響應(yīng)速度,并降低網(wǎng)絡(luò)復(fù)制開銷。
關(guān)鍵詞: 對等網(wǎng)絡(luò);視頻點播;云計算;數(shù)據(jù)復(fù)制

    視頻點播VoD(Video on Demand)服務(wù)是指根據(jù)用戶的需要,隨機選擇視頻內(nèi)容進行播放的服務(wù)。在P2P網(wǎng)絡(luò)上構(gòu)建視頻點播系統(tǒng)能有效利用節(jié)點間網(wǎng)絡(luò)帶寬、存儲空間和數(shù)據(jù)資源,系統(tǒng)具有良好的可擴展性、數(shù)據(jù)可用性和可靠性。因此,P2P視頻點播系統(tǒng)(P2P VoD)已成為當(dāng)前一個重要的研究領(lǐng)域。但P2P VoD中每個節(jié)點隨時都可能暫時或永久離開系統(tǒng),這使得構(gòu)建支持交互性的P2P VoD極富挑戰(zhàn)性。系統(tǒng)中的節(jié)點均負責(zé)存儲數(shù)據(jù),一旦某節(jié)點暫時離開,存在其上的數(shù)據(jù)就暫時不可訪問,而節(jié)點的永久離開更會造成數(shù)據(jù)的丟失。因而采用有效的辦法來應(yīng)對動態(tài)的系統(tǒng)環(huán)境,從而滿足用戶的隨機搜索操作(VCR)則顯得十分必要。
    云計算是當(dāng)今IT界的熱門技術(shù),借助云計算,網(wǎng)絡(luò)服務(wù)提供者可以在瞬息之間處理數(shù)以千萬計甚至億計的信息,實現(xiàn)與超級計算機同樣強大的效能。當(dāng)云計算系統(tǒng)運算和處理的核心是大量數(shù)據(jù)的存儲和管理時,云計算系統(tǒng)中就需要配置大量的存儲設(shè)備,此時云計算系統(tǒng)就轉(zhuǎn)變成為一個云存儲系統(tǒng),所以云存儲是一個以數(shù)據(jù)存儲和管理為核心的云計算系統(tǒng)。
    在P2P VoD中,資源保存在用戶的機器上,視頻文件越流行,下載的用戶越多,資源的副本越多,下載效率就越高。但對于一些過時的文件,用戶會選擇刪除,以免占用過多的個人空間。因此,一些冷門文件就不容易通過對等節(jié)點間的共享獲得。參考文獻[1]指出用戶訪問的集中度符合“二八定律”,即20%的視頻內(nèi)容吸引了80%的用戶訪問,而其他的80%的用戶訪問只吸引了20%的用戶訪問量。在基于云存儲的P2P視頻點播系統(tǒng)中,考慮將存儲空間當(dāng)作一片“云”,在無限量的空間,當(dāng)用戶想從個人的機器上刪除一些過時但非毫無價值的數(shù)據(jù)塊時,可以選擇把資源通過數(shù)據(jù)復(fù)制的方式放在云上,從而把數(shù)據(jù)塊保存起來。這樣用戶不僅可以通過節(jié)點間的共享快速獲得熱門視頻數(shù)據(jù),也可以通過檢索找到被存儲起來的冷門視頻數(shù)據(jù),從而可以快速地響應(yīng)用戶的VCR操作。
    本文主要討論在節(jié)點將要離開系統(tǒng)時,根據(jù)視頻數(shù)據(jù)各個部分的受歡迎程度以及對等節(jié)點間的網(wǎng)絡(luò)距離,提出了一種基于云存儲的數(shù)據(jù)復(fù)制策略CSPR。仿真實驗結(jié)果表明,相比于現(xiàn)有的基于流行度的數(shù)據(jù)復(fù)制策略PPR,CSPR可以顯著提高用戶執(zhí)行VCR操作的響應(yīng)速度,并有效降低復(fù)制數(shù)據(jù)時所產(chǎn)生的網(wǎng)絡(luò)開銷。
1 相關(guān)工作
    VCR功能是對等點播系統(tǒng)中最重要的功能之一,也是本文研究的主要目標(biāo)。在樹狀P2P VoD系統(tǒng)中,如P2Cast[2]則沒有考慮VCR操作對系統(tǒng)性能造成的影響,沒有針對VCR操作設(shè)計新的數(shù)據(jù)存儲策略。當(dāng)用戶進行VCR操作時,節(jié)點需要通過重新加入組播樹。
    在網(wǎng)狀P2P VoD系統(tǒng)中,如VMesh[3]和BulletMedia[4]則是利用DHT技術(shù)支持VCR操作。VMesh通過本地向下/向上的指針和DHT查詢來支持交互式操作。在VMesh中,節(jié)點通過本地存儲的數(shù)據(jù)塊來為其他節(jié)點提供服務(wù),而不是正在收看的數(shù)據(jù)塊。存儲的數(shù)據(jù)塊在節(jié)點的上線時間內(nèi)不變。BulletMedia通過DHT方法讓對等節(jié)點大公無私地主動查找稀有的數(shù)據(jù)塊并進行復(fù)制存儲,保證每個數(shù)據(jù)塊在系統(tǒng)中至少有K個副本。當(dāng)用戶進行VCR操作時,通過DHT方法查找相應(yīng)的數(shù)據(jù)片段,以減輕用戶進行VCR操作時對服務(wù)器造成的壓力。
    針對因節(jié)點離開而導(dǎo)致數(shù)據(jù)丟失的問題,參考文獻[5]采用了基于預(yù)測的帶寬分配策略PBA。該策略的核心思想是讓父節(jié)點給那些具有較高帶寬的子節(jié)點提供較大的上傳帶寬,并且它僅僅讓節(jié)點把數(shù)據(jù)復(fù)制給將來可能需要的那些節(jié)點。但PBA策略是假定用戶從頭到尾觀看視頻節(jié)目的,并且在觀看過程中沒有VCR操作,這是不符合視頻點播系統(tǒng)中的用戶觀看行為的,因此PBA策略不能直接應(yīng)用于P2P VoD系統(tǒng)中。
    研究表明,用戶在視頻點播系統(tǒng)中的行為并非毫無規(guī)律。參考文獻[6]指出,不同的文件具有不同的流行度,即用戶訪問的頻率;大部分的用戶訪問都集中于少量熱門節(jié)目上,并且文件的流行度是隨時間而改變的。
2 基于云存儲的數(shù)據(jù)復(fù)制策略
2.1 云節(jié)點的選擇策略

    為了降低節(jié)點離開對P2P VoD系統(tǒng)性能的影響,常根據(jù)特定的選擇策略從系統(tǒng)的可用節(jié)點集中選擇部分節(jié)點來使用[7]。節(jié)點選擇策略可分為隨機選擇和確定性選擇兩大類,其中隨機選擇策略是指不考慮節(jié)點的特征隨機選擇節(jié)點;確定性選擇策略是指根據(jù)節(jié)點的某種特征選擇滿足一定標(biāo)準(zhǔn)的節(jié)點,如根據(jù)節(jié)點的當(dāng)前在線時長、帶寬吞吐能力等選擇節(jié)點[8-9]。
    由于節(jié)點的當(dāng)前在線時長對其余留時長有一定的預(yù)見性,因此選擇最長當(dāng)前在線時長的策略用于DHT網(wǎng)絡(luò)中鄰居節(jié)點的選擇[10]和超級節(jié)點的選擇[11],以及覆蓋層多播樹種雙親節(jié)點的選擇[12]。GODFREY B P等人[7]將不同的選擇策略應(yīng)用于5個當(dāng)前廣泛使用的對等網(wǎng)絡(luò)中。實驗結(jié)果表明,與其他選擇策略相比,隨機選擇策略可以有效降低節(jié)點動態(tài)性對P2P網(wǎng)絡(luò)的影響。這是由于隨機選擇策略具有簡單、易實現(xiàn)等特點。因而隨機選擇策略被廣泛地應(yīng)用于P2P網(wǎng)絡(luò)中,如P2P文件存儲系統(tǒng)Total Recall[13]等。
    因此,本文采用隨機選擇策略來選擇云存儲中的云節(jié)點。
2.2 云節(jié)點的組織方式
    基于P2P的系統(tǒng)中兩節(jié)點間網(wǎng)絡(luò)距離的測算可通過計算系統(tǒng)中數(shù)據(jù)傳輸時延、網(wǎng)絡(luò)最小帶寬和數(shù)據(jù)傳輸所經(jīng)路由跳數(shù)等方法獲得。對于P2P視頻點播系統(tǒng)中數(shù)據(jù)塊的可用性和可靠性來說,數(shù)據(jù)傳輸時延是一個很重要的因素,而數(shù)據(jù)傳輸時延最主要的影響因子是傳輸兩節(jié)點間的可用帶寬。
    P2P覆蓋網(wǎng)技術(shù)從最初以Napster為代表的有著中央目錄服務(wù)器的對等網(wǎng)絡(luò)結(jié)構(gòu),到后來以Gnutella為代表的完全分布式的對等網(wǎng)絡(luò)和提供匿名發(fā)布和獲取文檔的Freenet,再到以CAN、Chord、Pastry和Tapestry等為代表的基于分布式哈希表的結(jié)構(gòu)化對等網(wǎng)絡(luò),對等網(wǎng)絡(luò)的發(fā)展大致經(jīng)歷了3個階段,每個階段都采用了不同的資源定位和路由模型。根據(jù)拓撲結(jié)構(gòu)關(guān)系可以將P2P系統(tǒng)分為4類:集中式P2P系統(tǒng)、完全分布式P2P系統(tǒng)、混合式P2P系統(tǒng)和結(jié)構(gòu)化P2P系統(tǒng)。
    本文將P2P視頻點播系統(tǒng)中網(wǎng)絡(luò)距離相近的節(jié)點劃分到同一云中,以實現(xiàn)對節(jié)點的分組和有效管理,采用參考文獻[14]中的節(jié)點分組算法來對云節(jié)點進行組織。該算法的核心思想是依次從初始化網(wǎng)絡(luò)中隨機選取一個節(jié)點,以該節(jié)點為圓心,預(yù)測網(wǎng)絡(luò)距離為半徑,其內(nèi)的所有節(jié)點都劃入一個分組,再將獲得分組的節(jié)點從初始網(wǎng)絡(luò)中移除。以此方法循環(huán)劃分,可將初始網(wǎng)絡(luò)中大部分節(jié)點劃入分組。
    另外,本文采用參考文獻[15]中的方法對分布式數(shù)據(jù)塊的流行度進行估計。
2.3 基于云存儲的數(shù)據(jù)復(fù)制算法
    基于云存儲的數(shù)據(jù)復(fù)制策略包括以下4個步驟:(1)根據(jù)隨機選擇策略選擇云節(jié)點;(2)按照網(wǎng)絡(luò)距離分組算法組織這些數(shù)據(jù)復(fù)制的目標(biāo)云節(jié)點;(3)根據(jù)分布式平均算法估計出每個數(shù)據(jù)塊的流行度,并按從高到低的順序排序,按照用戶存儲空間的大小確定數(shù)據(jù)塊集合S;(4)把S以外的數(shù)據(jù)塊推向云節(jié)點中進行存儲。該算法可用偽代碼表示如下:
for(1≤m≤t)    compute(pm);//計算數(shù)據(jù)塊的流行度
if(delete(M))
{
for(1≤m≤t)
{
NodeGet(n,i);    //從當(dāng)前在線的節(jié)點中隨機選取
節(jié)點i作為數(shù)據(jù)復(fù)制目標(biāo)云節(jié)點
SegmentChoose(P,M,m); //選取流行度高且副本數(shù)
低的數(shù)據(jù)塊m
Replication(m,i);   //將數(shù)據(jù)塊m復(fù)制給節(jié)點i
}
}
代碼中,n表示在線的節(jié)點數(shù);i為選擇的目標(biāo)數(shù)據(jù)復(fù)制云節(jié)點;m表示選擇的數(shù)據(jù)塊;t表示將要刪除數(shù)據(jù)塊的個數(shù);T表示整個數(shù)據(jù)塊的集合;S為各個節(jié)點的性能值的集合,其中s1≥s2≥…≥sn;M表示節(jié)點將要刪除的數(shù)據(jù)塊的集合,M=T-S;P表示各個數(shù)據(jù)塊的流行度集合,其中s1≥s2≥…≥st。
3 仿真實驗
3.1 關(guān)鍵性能指標(biāo)

    選擇了如下兩個重要參數(shù)作為P2P視頻點播系統(tǒng)中數(shù)據(jù)復(fù)制算法性能的關(guān)鍵指標(biāo),也是仿真實驗的測量對象。
    (1)響應(yīng)用戶VCR操作時延:數(shù)據(jù)復(fù)制的目標(biāo)之一是快速響應(yīng)用戶進行VCR操作的時延,以改進用戶的播放體驗。該指標(biāo)指從用戶進行VCR操作開始到獲得所想要的數(shù)據(jù)塊為止所需要的時間,響應(yīng)用戶VCR操作時延的減少表示數(shù)據(jù)復(fù)制算法的性能的提高。
    (2)網(wǎng)絡(luò)開銷:由復(fù)制的數(shù)據(jù)塊總量來表示,主要衡量數(shù)據(jù)復(fù)制導(dǎo)致的系統(tǒng)資源的額外消耗,例如,增加的對等節(jié)點之間網(wǎng)絡(luò)通信流量。
3.2 實驗與結(jié)果
    仿真實驗對本文提出的基于云存儲的P2P視頻點播系統(tǒng)數(shù)據(jù)復(fù)制策略CSPR與現(xiàn)有的數(shù)據(jù)復(fù)制策略的關(guān)鍵性能指標(biāo)進行對比?;诹餍卸鹊臄?shù)據(jù)復(fù)制策略(PPR)在進行數(shù)據(jù)復(fù)制時僅考慮每個數(shù)據(jù)塊的流行度,而并未考慮節(jié)點間的網(wǎng)絡(luò)距離。

 


    本文在對P2P對等點播系統(tǒng)用戶動態(tài)性分析的基礎(chǔ)上,提出了一種基于云存儲的數(shù)據(jù)復(fù)制策略CSPR。仿真實驗結(jié)果表明,相比單純基于數(shù)據(jù)流行度的數(shù)據(jù)復(fù)制機制,本文提出的數(shù)據(jù)復(fù)制機制可較快地響應(yīng)用戶VCR操作,同時降低了網(wǎng)絡(luò)開銷。在后續(xù)的工作中,將考慮對P2P視頻點播系統(tǒng)的移動用戶行為特征進行分析,將之應(yīng)用于數(shù)據(jù)復(fù)制策略中,來更好地滿足移動用戶觀看視頻文件時的交互式操作,從而改善用戶的播放體驗。
參考文獻
[1] Yu Hongliang,Zheng Dongdong,ZHAO B Y,et al.Understanding user behavior in large-scale video-on-demand systems[C].In Proceedings of ACM,Eurosys,2006.
[2] GUO Y,SUH K,KUROSE J,et al.P2Cast:peer-to-peer  patching scheme for VoD service[C].In Proceedings of the 12th International World Wide Web Conference,Budapest,2003:301-309.
[3] YIU K,JIN X,CHAN G.VMesh:distributed segment storage  for peer-to-peer interactive video streaming[J].IEEE Journal on Selected Areas in Communications(JSAC),2007,25(9):1717-1731.
[4] NEVENA V,PRIYA G,NIKOLA K,et al.Enabling DVD-like features in P2P video-on-demand systems[C].In  Proceedings of the SIGCOMM Peer-to-Peer Streaming and  IP-TV Workshop,Kyoto,2007:329-334.
[5] CHENA Z J,XUE K P,HONG P L,et al.Differentiated  bandwidth allocation for reducing server load in P2P VoD[C]. In Proceedings of the 8th International Conference on Grid    and Cooperative Computing,Lanzhou,2009:31-36.
[6] Luo Jianguang,Tang Yun,Zhang Meng,et al.Characterizing  user behavior model to evaluate hard cache in peer-to-peer based video-on-demand service[C].In Proc.MMM,Kyoto,2005:125-134.
[7] GODFREY B P,SHENKER S,STOICA I.Minimizing churn  in distributed sytems[C].In Proc.of the ACM SIGCOMM  2006,New York:ACM Press,2006:147-158.
[8] 張宇翔,楊冬,張宏科.P2P網(wǎng)絡(luò)中Churn問題研究[J].軟件學(xué)報,2009,20(5):1362-1367.
[9] RHEA S,GEELS D,ROSCOE T,et al.Handling churn in  a DHT[C].In Proc.of  the USENIX Annual Technical Conference.Boston:USENIX Association Press,2004:127-140.
[10] LEDLIE J,SHNEIDMAN J,AMIS M,et al.Reliability  and capacity-based selection in distributed hash tables[R]. Technical Report,Harvard University Computer Science,2003:1-14.
[11] GARCES E L,BIERSACK E W,ROSS K W,et al. Hierarchical peer-to-peer systems[C].In Proc. of the ACM/IFIP Int’l Conf. on Parallel and Distributed Computing (Euro-Par).Berlin:Springer-Verlag,2003:1230-1239.
[12] SPRIPANIDKULCHAI K,GANJAM A,MAGGS B,et al. The feasibility of supporting large-scale live streaming applications with dynamic application end-points[C].In Proc.of the ACM SIGCOMM.New York:ACM Press,2004:107-120.
[13] BHAGWAN R,TATI K,CHENG Y,et al.Total recall:system support for automated availability management[C].In Proc.of the 1st ACM/Usenix Symp.on Networked Systems Design and Implementation(NSDI 2004).San Francisco:USENI Press,2004:337-350.
[14] 楊磊,黃浩,李仁發(fā),等,一種基于分組管理的混合式P2P存儲系統(tǒng)[J].計算機科學(xué),2010,37(1):64-67.
[15] MEHYAR M,SPANOS D,PONGSAJAPAN J,et al.Asynchronous distributed averaging on communication networks[J]. IEEE/ACM Transactions on Networking,2007,15(3):512-520.
[16] The Network Simulator-ns-2[EB/OL].[2013-05-25].http: //www.isi.edu/nsnam/ns.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。