一种基于双窗口的客户端分片调度方法及系统的制作方法

文档序号:7988365阅读:171来源:国知局
一种基于双窗口的客户端分片调度方法及系统的制作方法
【专利摘要】本发明提供了一种基于双窗口的客户端数据分片调度方法及系统,该方法用于P2P?SVC流媒体系统对等时长或各层之间的播放时长成比例变化时数据分片进行调度,所述方法包含:步骤101)用于下载Emergent?Window子窗口需要重新请求的分片的步骤;步骤102)用于下载General?Window子窗口中的分片的步骤;步骤103)窗口滑动,并返回上述步骤101),直至分片下载完成;其中,所述EmergentWindow子窗口和General?Window子窗口为将客户端滑动窗口依据距播放点的距离划分得到的两个子窗口,各子窗口的大小相等;所述Emergent?Window子窗口中包括窗口滑动前General?Window子窗口中所有的数据分片,且当某些数据分片在窗口滑动前的General?Window子窗口中下载失败时,由窗口滑动后的Emergent?Window子窗口再次请求下载失败的分片。
【专利说明】—种基于双窗口的客户端分片调度方法及系统
【技术领域】
[0001]本发明涉及计算机网络、多媒体通信和P2P SVC流媒体系统,具体涉及一种基于双窗口的客户端数据分片调度方法及系统。
【背景技术】
[0002]在P2P视频流媒体系统中应用SVC (Scalable Video Coding,可分层视频编码)技术可以实现异构终端之间的视频数据共享。SVC是一种视频编码技术,它将视频编码为一个基础层和一个或多个增强层。基础层可独立解码并获得一个基本质量的视频,而解码的增强层越多用户观看的视频质量越高。应用SVC后,一方面,P2P视频流媒体用户可以根据自身情况调整下载的增强层数目,以获得不同质量的视频;另一方面,不同类型终端可以分层作为共享视频数据的单位,大大提高数据分享效率。目前如何在P2P流媒体系统中传输SVC视频数据已经成为研究的热点。本发明主要解决数据分发过程中的分片调度问题。
[0003]在传统的P2P视频流媒体系统中,视频数据以分片为单位进行共享:单层视频数据被分为等大小的分片,客户端以一定调度规则确定分片的下载顺序并下载分片,同时客户端每下载完一个分片即可将该分片上传给其他用户。与传统的P2P视频流媒体系统相同,基于SVC的P2P视频流媒体系统也以分片为单位共享数据。不同的是,为了便于层间数据同步,在基于SVC的P2P视频流媒体系统中多采用基于播放时长的分片方法:将SVC的各个分层以一定播放时长为单位进行分片,层内分片播放时长相等,层间分片播放时长可以相等(等时长分片方法)也可以成比例变化(可变时长分片方法)。目前已有的分片调度方法都是基于等时长分片方法的,基于等时长分片调度方法总体来讲可以分为两类:分片下载顺序固定和分片下载顺序不固定。
[0004]现有技术在实现上述分片调度方式时客户端维护一个下载窗口,窗口中的分片为当前可以下载的分片。分片下载顺序固定的分片调度方法是指无论窗口滑动到何处,窗口中的分片都以固定的顺序被下载,目前此类方法主要包括逐层、顺序或tradeoff等,如图1所示。在分片下载顺序不固定的分片调度方法中,分片的下载顺序受多种因素影响,主要包括分片的播放时间、所在层的重要性以及其在邻居节点中的拷贝数目等。根据以上多种因素为每个分片计算下载优先级,优先级越高的分片越早被下载。其中,文献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,February2011]中应用的都是该类分片调度方法。以文献 Liu Z., Shen Y., P.S.S., R.K.ff., et al., “Using layered videoto provide incentives in P2P livestreaming”, P2P_TV’07, August2007 为例,每个分片的下载优先级5^通过下式计算获得:
【权利要求】
1.一种基于双窗口的客户端数据分片调度方法,该方法用于P2P SVC流媒体系统对等时长或各层之间的播放时长成比例变化时数据分片进行调度,所述方法包含: 步骤101)用于下载Emergent Window子窗口中尚未成功下载的分片的步骤,其中,Emergent Window子窗口用于对General Window子窗口中未能成功下载的分片进行再次下载,且Emergent Window子窗口包括窗口滑动前General Window子窗口中所有的数据分片; 步骤102)用于下载GeneralWindow子窗口中的分片的步骤; 步骤103)窗口滑动,并返回上述步骤101),直至分片下载完成; 其中,所述Emergent Window子窗口和General Window子窗口为将客户端滑动窗口依据距播放点的距离划分得到的两个子窗口,各子窗口的大小相等;当用于调度等时长数据分片时各子窗口的大小以数据分片的播放时长T为单位,当用于调度各层之间的播放时长成比例变化时的数据分片时各子窗口的大小以Tmax为单位,其中Tmax为所有需要下载的数据分片中的最大播放时长。
2.根据权利要求1所述的基于双窗口的客户端数据分片调度方法,其特征在于,所述步骤101)进一步包含: 步骤101-1)用于确定需要重新请求的分片的步骤; 步骤101-2)用于下载需要重新请求的分片的步骤; 其中,步骤101-1)依据如下策略确定需要重新请求的分片: 首先,计算各个数据分层的分片缺失概率Pji):
3.根据权利要求2所述的基于双窗口的客户端数据分片调度方法,其特征在于,所述步骤101-2)依据如下策略下载需要重新请求的分片: 低层分片下载优先级高于高层分片; 在同一层内,据播放点越近的分片下载优先级越高。
4.根据权利要求1所述的基于双窗口的客户端数据分片调度方法,其特征在于,所述步骤102)进一步包含: 步骤102-1)将General Window子窗口中要下载的分层分为两类:Elementary Layer和Alternative Layer,并根据网络带宽和Emergent Window子窗口中下载的数据量确定Elementary Layer 和 Alternative Layer 各包含的分层的数目; 步骤102-2)用于下载ElementaryLayer中的分片; 步骤102-3)用于下载Alternative Layer中的分片;其中,Elementary Layer包含基础层和若干增强层,Alternative Layer包含若干增强层,且Elementary Layer和Alternative Layer包含的分层的交集为空集,并集为GeneralWindow子窗口所有需要下载的分层,且Alternative Layer中的各分层均位于ElementaryLayer各分层之上。
5.根据权利要求4所述的基于双窗口的客户端数据分片调度方法,其特征在于,所述步骤102-1)中的Elementary Layer包含的分层数目为n+1,其中η为满足以下条件的最大值:

6.根据权利要求4所述的基于双窗口的客户端数据分片调度方法,其特征在于,当针对等时长数据分片调度时: 所述步骤102-2)进一步包含: 步骤102-2-1)根据数据分片在邻居节点中的拷贝数目将所有Elementary Layer层中的数据分片排序,拷贝数目越少的数据分片的下载优先级越高; 步骤102-2-2)当拷贝数目相同时,低层数据分片下载的优先级高于高层数据分片;步骤102-2-3)当数据分片拷贝数目相等且处于同一子层时,据播放点越近的分片下载优先级越高; 所述步骤102-3)进一步包含: 步骤102-3-1 )Elementary Layer中的数据分片调度完成后,对Alternative Layer中的各层的分片进行如下调度: 步骤102-3-2)低层分片下载优先级高于高层分片; 步骤102-3-3)在同一层中,邻居节点中拷贝数目越少的分片下载优先级越高; 步骤102-3-4)当处于同一层且拷贝数目相等时,据播放点越近的节点下载优先级越闻。
7.根据权利要求4所述的基于双窗口的客户端数据分片调度方法,其特征在于,针对各层之间的播放时长成比例变化时的数据分片调度时: 所述步骤102-2)进一步包含: 步骤102-2-a)根据分片在邻居节点中的拷贝数目将所有Elementary Layer中的分片排序,拷贝数目越少的分片下载优先级越高; 步骤102-2-b)当拷贝数目相同时,低层分片下载的优先级高于高层分片; 步骤102-2-c)当分片拷贝数目相等且处于同一分层时,分片下载优先级由其community companion中下载优先级的最大值确定,即某一分片的community companion下载优先级越高,该分片下载的优先级也就越高;其中属于同一 Tmax的多个分片组成一个community,同一 community 中的分片互为 community companion ; 步骤102-2-d)以上三个条件均相等时,据播放点越近的节点下载优先级越高; 所述步骤102-3)进一步包含: 步骤102-3-a)低层分片下载优先级高于高层分片; 步骤102-3-b)在同一层中,邻居节点中拷贝数目越少的分片下载优先级越高; 步骤102-3-c)当处于同一层且拷贝数目相等时,community companion下载优先级较高的分片首先被下载; 步骤102-3-d)以上三个条件都相等时,据播放点越近的节点下载优先级越高。
8.根据权利要求1所述的基于双窗口的客户端数据分片调度方法,其特征在于,所述步骤103)窗口滑动,当用于调度等时长数据分片时,Emergentffindow子窗口和GeneralWindow子窗口的滑动间隔Ts由下式决定:
Ts = min{NXT, Td} 当用于调度各层之间的播放时长成比例变化时的数据分片时,Emergent Window子窗口和General Window子窗口的滑动间隔Ts由下式决定:
Ts = min{NXTmax, Td} 其中N为窗口大小,Td为两个子窗口中的分片完成下载实际所需时间,即:当两个子窗口中的分片都下载完成,或分片下载未完成,但时间间隔达到NXT或NXTmax时,窗口均要滑动。
9.一种基于双窗口的客户端数据分片调度系统,该系统用于对等时长数据分片及各层之间的播放时长成比例变化的分片进行调度,所述系统包含: 子窗口划分模块,用于将客户端滑动窗口划分为General Window子窗口和EmergentWindow子窗口,划分的依据为距播放点的距离,其中Emergent Window子窗口为距播放点较近的子窗口,General Window子窗口为据播放点较远的子窗口 ; 下载Emergent Window子窗口中数据分片模块,用于依据第一调度策略下载EmergentWindow子窗口中需要重新请求的分片; 下载General Window子窗口中数据分片模块,用于依据第二调度策略下载GeneralWindow子窗口中的分片; 其中,所述第一调度策略为:确定需要重新请求的分片;下载需要重新请求的分片; 第二调度策略为^fGeneral Window子窗口对应的各分层依据是否能在窗口滑动之前完全下载划分至两个集合中,第一集合为Elementary Layer,第二集合为AlternativeLayer ;下载Elementary Layer集合中的分片;下载Alternative Layer集合中的分片。
10.根据权利要求8所述的基于双窗口的客户端数据分片调度系统,其特征在于,执行第一调度策略的模块进一步包含: 确定子模块,用于依据如下策略确定需要重新请求的分片: 首先,计算各个数据分层的分片缺失概率
【文档编号】H04N21/845GK103905917SQ201210581197
【公开日】2014年7月2日 申请日期:2012年12月27日 优先权日:2012年12月27日
【发明者】宋俊平, 张棪, 周旭, 白帆 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1