一種基于雙窗口的客戶端分片調(diào)度方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度方法及系統(tǒng),該方法用于P2P?SVC流媒體系統(tǒng)對(duì)等時(shí)長(zhǎng)或各層之間的播放時(shí)長(zhǎng)成比例變化時(shí)數(shù)據(jù)分片進(jìn)行調(diào)度,所述方法包含:步驟101)用于下載Emergent?Window子窗口需要重新請(qǐng)求的分片的步驟;步驟102)用于下載General?Window子窗口中的分片的步驟;步驟103)窗口滑動(dòng),并返回上述步驟101),直至分片下載完成;其中,所述EmergentWindow子窗口和General?Window子窗口為將客戶端滑動(dòng)窗口依據(jù)距播放點(diǎn)的距離劃分得到的兩個(gè)子窗口,各子窗口的大小相等;所述Emergent?Window子窗口中包括窗口滑動(dòng)前General?Window子窗口中所有的數(shù)據(jù)分片,且當(dāng)某些數(shù)據(jù)分片在窗口滑動(dòng)前的General?Window子窗口中下載失敗時(shí),由窗口滑動(dòng)后的Emergent?Window子窗口再次請(qǐng)求下載失敗的分片。
【專利說(shuō)明】—種基于雙窗口的客戶端分片調(diào)度方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)、多媒體通信和P2P SVC流媒體系統(tǒng),具體涉及一種基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度方法及系統(tǒng)。
【背景技術(shù)】
[0002]在P2P視頻流媒體系統(tǒng)中應(yīng)用SVC (Scalable Video Coding,可分層視頻編碼)技術(shù)可以實(shí)現(xiàn)異構(gòu)終端之間的視頻數(shù)據(jù)共享。SVC是一種視頻編碼技術(shù),它將視頻編碼為一個(gè)基礎(chǔ)層和一個(gè)或多個(gè)增強(qiáng)層?;A(chǔ)層可獨(dú)立解碼并獲得一個(gè)基本質(zhì)量的視頻,而解碼的增強(qiáng)層越多用戶觀看的視頻質(zhì)量越高。應(yīng)用SVC后,一方面,P2P視頻流媒體用戶可以根據(jù)自身情況調(diào)整下載的增強(qiáng)層數(shù)目,以獲得不同質(zhì)量的視頻;另一方面,不同類型終端可以分層作為共享視頻數(shù)據(jù)的單位,大大提高數(shù)據(jù)分享效率。目前如何在P2P流媒體系統(tǒng)中傳輸SVC視頻數(shù)據(jù)已經(jīng)成為研究的熱點(diǎn)。本發(fā)明主要解決數(shù)據(jù)分發(fā)過(guò)程中的分片調(diào)度問(wèn)題。
[0003]在傳統(tǒng)的P2P視頻流媒體系統(tǒng)中,視頻數(shù)據(jù)以分片為單位進(jìn)行共享:單層視頻數(shù)據(jù)被分為等大小的分片,客戶端以一定調(diào)度規(guī)則確定分片的下載順序并下載分片,同時(shí)客戶端每下載完一個(gè)分片即可將該分片上傳給其他用戶。與傳統(tǒng)的P2P視頻流媒體系統(tǒng)相同,基于SVC的P2P視頻流媒體系統(tǒng)也以分片為單位共享數(shù)據(jù)。不同的是,為了便于層間數(shù)據(jù)同步,在基于SVC的P2P視頻流媒體系統(tǒng)中多采用基于播放時(shí)長(zhǎng)的分片方法:將SVC的各個(gè)分層以一定播放時(shí)長(zhǎng)為單位進(jìn)行分片,層內(nèi)分片播放時(shí)長(zhǎng)相等,層間分片播放時(shí)長(zhǎng)可以相等(等時(shí)長(zhǎng)分片方法)也可以成比例變化(可變時(shí)長(zhǎng)分片方法)。目前已有的分片調(diào)度方法都是基于等時(shí)長(zhǎng)分片方法的,基于等時(shí)長(zhǎng)分片調(diào)度方法總體來(lái)講可以分為兩類:分片下載順序固定和分片下載順序不固定。
[0004]現(xiàn)有技術(shù)在實(shí)現(xiàn)上述分片調(diào)度方式時(shí)客戶端維護(hù)一個(gè)下載窗口,窗口中的分片為當(dāng)前可以下載的分片。分片下載順序固定的分片調(diào)度方法是指無(wú)論窗口滑動(dòng)到何處,窗口中的分片都以固定的順序被下載,目前此類方法主要包括逐層、順序或tradeoff等,如圖1所示。在分片下載順序不固定的分片調(diào)度方法中,分片的下載順序受多種因素影響,主要包括分片的播放時(shí)間、所在層的重要性以及其在鄰居節(jié)點(diǎn)中的拷貝數(shù)目等。根據(jù)以上多種因素為每個(gè)分片計(jì)算下載優(yōu)先級(jí),優(yōu)先級(jí)越高的分片越早被下載。其中,文獻(xiàn)Liu Z., ShenY., P.S.S., R.K.ff., et al.,“Using layered video to provide incentives in P2P livestreaming” , P2P-TV,07, August2007, [Online].Available: http://www.p2p-next.0rg/?page=pubIication&mid=7586E4D8913DA73AFEC9F5DE4BIAFCB1.和 Abboud, T.Zinner, K.Pussep, S.Al-Sabea and R.Steinmetz, “On the impact of Quality adaptation inSVC-based P2P video-on-demand systems”, MMSys’11,F(xiàn)ebruary2011]中應(yīng)用的都是該類分片調(diào)度方法。以文獻(xiàn) Liu Z., Shen Y., P.S.S., R.K.ff., et al., “Using layered videoto provide incentives in P2P livestreaming”, P2P_TV’07, August2007 為例,每個(gè)分片的下載優(yōu)先級(jí)5^通過(guò)下式計(jì)算獲得:
【權(quán)利要求】
1.一種基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度方法,該方法用于P2P SVC流媒體系統(tǒng)對(duì)等時(shí)長(zhǎng)或各層之間的播放時(shí)長(zhǎng)成比例變化時(shí)數(shù)據(jù)分片進(jìn)行調(diào)度,所述方法包含: 步驟101)用于下載Emergent Window子窗口中尚未成功下載的分片的步驟,其中,Emergent Window子窗口用于對(duì)General Window子窗口中未能成功下載的分片進(jìn)行再次下載,且Emergent Window子窗口包括窗口滑動(dòng)前General Window子窗口中所有的數(shù)據(jù)分片; 步驟102)用于下載GeneralWindow子窗口中的分片的步驟; 步驟103)窗口滑動(dòng),并返回上述步驟101),直至分片下載完成; 其中,所述Emergent Window子窗口和General Window子窗口為將客戶端滑動(dòng)窗口依據(jù)距播放點(diǎn)的距離劃分得到的兩個(gè)子窗口,各子窗口的大小相等;當(dāng)用于調(diào)度等時(shí)長(zhǎng)數(shù)據(jù)分片時(shí)各子窗口的大小以數(shù)據(jù)分片的播放時(shí)長(zhǎng)T為單位,當(dāng)用于調(diào)度各層之間的播放時(shí)長(zhǎng)成比例變化時(shí)的數(shù)據(jù)分片時(shí)各子窗口的大小以Tmax為單位,其中Tmax為所有需要下載的數(shù)據(jù)分片中的最大播放時(shí)長(zhǎng)。
2.根據(jù)權(quán)利要求1所述的基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度方法,其特征在于,所述步驟101)進(jìn)一步包含: 步驟101-1)用于確定需要重新請(qǐng)求的分片的步驟; 步驟101-2)用于下載需要重新請(qǐng)求的分片的步驟; 其中,步驟101-1)依據(jù)如下策略確定需要重新請(qǐng)求的分片: 首先,計(jì)算各個(gè)數(shù)據(jù)分層的分片缺失概率Pji):
3.根據(jù)權(quán)利要求2所述的基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度方法,其特征在于,所述步驟101-2)依據(jù)如下策略下載需要重新請(qǐng)求的分片: 低層分片下載優(yōu)先級(jí)高于高層分片; 在同一層內(nèi),據(jù)播放點(diǎn)越近的分片下載優(yōu)先級(jí)越高。
4.根據(jù)權(quán)利要求1所述的基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度方法,其特征在于,所述步驟102)進(jìn)一步包含: 步驟102-1)將General Window子窗口中要下載的分層分為兩類:Elementary Layer和Alternative Layer,并根據(jù)網(wǎng)絡(luò)帶寬和Emergent Window子窗口中下載的數(shù)據(jù)量確定Elementary Layer 和 Alternative Layer 各包含的分層的數(shù)目; 步驟102-2)用于下載ElementaryLayer中的分片; 步驟102-3)用于下載Alternative Layer中的分片;其中,Elementary Layer包含基礎(chǔ)層和若干增強(qiáng)層,Alternative Layer包含若干增強(qiáng)層,且Elementary Layer和Alternative Layer包含的分層的交集為空集,并集為GeneralWindow子窗口所有需要下載的分層,且Alternative Layer中的各分層均位于ElementaryLayer各分層之上。
5.根據(jù)權(quán)利要求4所述的基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度方法,其特征在于,所述步驟102-1)中的Elementary Layer包含的分層數(shù)目為n+1,其中η為滿足以下條件的最大值:
6.根據(jù)權(quán)利要求4所述的基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度方法,其特征在于,當(dāng)針對(duì)等時(shí)長(zhǎng)數(shù)據(jù)分片調(diào)度時(shí): 所述步驟102-2)進(jìn)一步包含: 步驟102-2-1)根據(jù)數(shù)據(jù)分片在鄰居節(jié)點(diǎn)中的拷貝數(shù)目將所有Elementary Layer層中的數(shù)據(jù)分片排序,拷貝數(shù)目越少的數(shù)據(jù)分片的下載優(yōu)先級(jí)越高; 步驟102-2-2)當(dāng)拷貝數(shù)目相同時(shí),低層數(shù)據(jù)分片下載的優(yōu)先級(jí)高于高層數(shù)據(jù)分片;步驟102-2-3)當(dāng)數(shù)據(jù)分片拷貝數(shù)目相等且處于同一子層時(shí),據(jù)播放點(diǎn)越近的分片下載優(yōu)先級(jí)越高; 所述步驟102-3)進(jìn)一步包含: 步驟102-3-1 )Elementary Layer中的數(shù)據(jù)分片調(diào)度完成后,對(duì)Alternative Layer中的各層的分片進(jìn)行如下調(diào)度: 步驟102-3-2)低層分片下載優(yōu)先級(jí)高于高層分片; 步驟102-3-3)在同一層中,鄰居節(jié)點(diǎn)中拷貝數(shù)目越少的分片下載優(yōu)先級(jí)越高; 步驟102-3-4)當(dāng)處于同一層且拷貝數(shù)目相等時(shí),據(jù)播放點(diǎn)越近的節(jié)點(diǎn)下載優(yōu)先級(jí)越聞。
7.根據(jù)權(quán)利要求4所述的基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度方法,其特征在于,針對(duì)各層之間的播放時(shí)長(zhǎng)成比例變化時(shí)的數(shù)據(jù)分片調(diào)度時(shí): 所述步驟102-2)進(jìn)一步包含: 步驟102-2-a)根據(jù)分片在鄰居節(jié)點(diǎn)中的拷貝數(shù)目將所有Elementary Layer中的分片排序,拷貝數(shù)目越少的分片下載優(yōu)先級(jí)越高; 步驟102-2-b)當(dāng)拷貝數(shù)目相同時(shí),低層分片下載的優(yōu)先級(jí)高于高層分片; 步驟102-2-c)當(dāng)分片拷貝數(shù)目相等且處于同一分層時(shí),分片下載優(yōu)先級(jí)由其community companion中下載優(yōu)先級(jí)的最大值確定,即某一分片的community companion下載優(yōu)先級(jí)越高,該分片下載的優(yōu)先級(jí)也就越高;其中屬于同一 Tmax的多個(gè)分片組成一個(gè)community,同一 community 中的分片互為 community companion ; 步驟102-2-d)以上三個(gè)條件均相等時(shí),據(jù)播放點(diǎn)越近的節(jié)點(diǎn)下載優(yōu)先級(jí)越高; 所述步驟102-3)進(jìn)一步包含: 步驟102-3-a)低層分片下載優(yōu)先級(jí)高于高層分片; 步驟102-3-b)在同一層中,鄰居節(jié)點(diǎn)中拷貝數(shù)目越少的分片下載優(yōu)先級(jí)越高; 步驟102-3-c)當(dāng)處于同一層且拷貝數(shù)目相等時(shí),community companion下載優(yōu)先級(jí)較高的分片首先被下載; 步驟102-3-d)以上三個(gè)條件都相等時(shí),據(jù)播放點(diǎn)越近的節(jié)點(diǎn)下載優(yōu)先級(jí)越高。
8.根據(jù)權(quán)利要求1所述的基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度方法,其特征在于,所述步驟103)窗口滑動(dòng),當(dāng)用于調(diào)度等時(shí)長(zhǎng)數(shù)據(jù)分片時(shí),Emergentffindow子窗口和GeneralWindow子窗口的滑動(dòng)間隔Ts由下式?jīng)Q定:
Ts = min{NXT, Td} 當(dāng)用于調(diào)度各層之間的播放時(shí)長(zhǎng)成比例變化時(shí)的數(shù)據(jù)分片時(shí),Emergent Window子窗口和General Window子窗口的滑動(dòng)間隔Ts由下式?jīng)Q定:
Ts = min{NXTmax, Td} 其中N為窗口大小,Td為兩個(gè)子窗口中的分片完成下載實(shí)際所需時(shí)間,即:當(dāng)兩個(gè)子窗口中的分片都下載完成,或分片下載未完成,但時(shí)間間隔達(dá)到NXT或NXTmax時(shí),窗口均要滑動(dòng)。
9.一種基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度系統(tǒng),該系統(tǒng)用于對(duì)等時(shí)長(zhǎng)數(shù)據(jù)分片及各層之間的播放時(shí)長(zhǎng)成比例變化的分片進(jìn)行調(diào)度,所述系統(tǒng)包含: 子窗口劃分模塊,用于將客戶端滑動(dòng)窗口劃分為General Window子窗口和EmergentWindow子窗口,劃分的依據(jù)為距播放點(diǎn)的距離,其中Emergent Window子窗口為距播放點(diǎn)較近的子窗口,General Window子窗口為據(jù)播放點(diǎn)較遠(yuǎn)的子窗口 ; 下載Emergent Window子窗口中數(shù)據(jù)分片模塊,用于依據(jù)第一調(diào)度策略下載EmergentWindow子窗口中需要重新請(qǐng)求的分片; 下載General Window子窗口中數(shù)據(jù)分片模塊,用于依據(jù)第二調(diào)度策略下載GeneralWindow子窗口中的分片; 其中,所述第一調(diào)度策略為:確定需要重新請(qǐng)求的分片;下載需要重新請(qǐng)求的分片; 第二調(diào)度策略為^fGeneral Window子窗口對(duì)應(yīng)的各分層依據(jù)是否能在窗口滑動(dòng)之前完全下載劃分至兩個(gè)集合中,第一集合為Elementary Layer,第二集合為AlternativeLayer ;下載Elementary Layer集合中的分片;下載Alternative Layer集合中的分片。
10.根據(jù)權(quán)利要求8所述的基于雙窗口的客戶端數(shù)據(jù)分片調(diào)度系統(tǒng),其特征在于,執(zhí)行第一調(diào)度策略的模塊進(jìn)一步包含: 確定子模塊,用于依據(jù)如下策略確定需要重新請(qǐng)求的分片: 首先,計(jì)算各個(gè)數(shù)據(jù)分層的分片缺失概率
【文檔編號(hào)】H04N21/845GK103905917SQ201210581197
【公開(kāi)日】2014年7月2日 申請(qǐng)日期:2012年12月27日 優(yōu)先權(quán)日:2012年12月27日
【發(fā)明者】宋俊平, 張棪, 周旭, 白帆 申請(qǐng)人:中國(guó)科學(xué)院聲學(xué)研究所