Cdn-p2p混合架构下的直播流媒体系统资源调度方法
【专利摘要】本发明公开了一种基于CDN-P2P混合架构下直播流媒体系统资源调度的方法,实现网络资源的高效利用。该方法的基本思想是:对等方首先根据缓存中各个视频数据块的播放时间划分为紧迫或者非紧迫的数据块,然后再基于数据块的属性确定向服务器还是其他对等方请求该数据块;CDN服务器采取加权公平队列的方法对数据块请求进行分类,并动态的调整指派给各个队列的权重,从而实现服务器资源的利用和分配。本发明具有资源高效利用、系统丢包率低等优点。
【专利说明】CDN-P2P混合架构下的直播流媒体系统资源调度方法
【技术领域】
[0001]本发明涉及一种对基于⑶N-P2P混合架构下直播流媒体系统资源高效利用的方法,具体地说是一种对⑶N服务器和对等方资源调度和分配的方法,属于网络数据通信领域。
【背景技术】
[0002]近年来,利用因特网来传输电视信号已经成为一种越来越流行的网络应用,它为用户提供了内容丰富、使用便捷、交互性强的视频多媒体服务,已经形成了规模庞大的产业。传统的视频节目分发采用有线电视电缆分发,信号质量高,但系统价格高而且体系架构无法灵活应对发展新业务。随着网络技术的发展与普及,通过IP网络传输视频节目是一个必然的选择,但大量用户的使用将导致网络局部区域资源的短缺。由此导致了内容分发网络(Content Delivery Networks, CDN)技术的发展。通过在网络边缘架设大量服务器,CDN可以在保证视频的QoS基础上尽量消除资源热点。该方案仍具有成本较高且扩展性不够好的缺陷。在另一方面,后起的对等方到对等方(Peer-to-Peer, P2P)技术提供了一种廉价的视频分发解决方案,不过该方案存在无法保证视频服务质量(Quality of Service,QoS)的缺陷。近年来,人们将希望的目光放到了 CDN和P2P技术结合上,期待利用两者自身的优势来形成一种较好的视频分发系统。研究表明,这种方案的确非常有前途[1],不过它仍不能满足用户对视频更高的QoS要求。因此,采用低成本方法实现直播视频节目数据的大规模分发,同时进一步提高直播视频的QoS,是当前直播流系统需要重点研究解决的问题。
[0003]在基于⑶N-P2P架构的直播流系统研究方面,通过对在因特网上大规模运行的直播流系统New Coolstreamingt2]测量时发现,约有95%左右的数据在被播放之前能够到达用户缓存。而对PPLive进行数据分析时也发现,有20%左右用户的数据缓存时间占用户等待和观看节目总时间的比例超过80%[3],这是因为系统的启动时间过长,而且少量数据分组的缺失会迟滞直播节目播放,系统不得不等待至该分组到达后才能播放,导致用户的体验质量显著下降。因此,解决或缓解这约20%的用户或5%数据无法及时到达的问题,对于当前从根本上改善直播流系统的QoS问题,使系统更为实用具有重要意义。
[0004]通过对比⑶N和P2P这两种直播流媒体视频数据的系统设计和数据分发方法的优缺点可知,如果将这两种方法进行有机结合,可以有效地提高系统资源的利用效率,并极大减少数据由于超时而产生的丢包,提高用户的体验质量。但是,如何设计合理的资源调度机制,是解决这一问题的关键。
[0005]参考文献
[1]KarlA.Skevik, Vera Goebel, Thomas Plagemann.Design of a hybridCDN.1nternat1nal Workshop on Multimedia Interactive Protocols and Systems,Grenoble, France, 2004: 206-217.[2]BoLi, Susu Xiej Yang Quj et al.1nside the new coolstreaming:principles, measurements and performance implicat1ns.1EEE INFOCOMj Phoenix,AZ, USA, 2008: 1031-1039.[3]Yan Huang, Tom Z.J.Fu, Dah-Ming Chiu, et al.Challenges, design andanalysis of a large-scale P2P_VoD system.ACM SIGCOMM, Seattle, Washington,USA, 2008: 375-388。
【发明内容】
[0006]发明目的:针对目前以CDN-P2P为架构的直播流媒体系统存在缺乏高效的资源调度机制、用户体验质量难以得到保证等问题,本发明提供一种CDN-P2P混合架构下的直播流媒体系统资源调度方法,高效利用系统资源。
[0007]技术方案:一种⑶N-P2P混合架构下的直播流媒体系统资源调度方法,包括对等方的资源请求方法(Peer,s Request Scheme for Resource, PRSR)和Q)N服务器的资源分配方法(CDN Server,s Resource Allocat1n Scheme, SRAS);
1.对等方的资源请求方法(Peer’s Request Scheme for Resource, PRSR),该方法着重描述了对等方在请求系统资源时所采用的方法,包括以下步骤:
A.对等方将视频数据块缓存空间划分为三部分,其中靠近流媒体播放器的部分为期限紧迫区间,中间部分为非紧迫区间,距离流媒体播放器最远的部分为稀缺紧迫区间,其中期限紧迫区间的数据块的数据距离播放时间少于2秒钟,稀缺紧迫区间包含I个视频数据块,并转入步骤B ;
B.根据数据缓存空间的划分,所有数据块被分为紧迫数据块和非紧迫数据块;
其中刚加入直播流媒体系统的对等方缓存中所有的数据块都属于I型紧迫数据块;
早期加入系统的对等方,其期限紧迫区间中的数据块为II型紧迫数据块,其稀缺紧迫区间的数据块为III型紧迫数据块,其所有位于非紧迫区间的数据块为非紧迫数据块;(“刚”指的是用户打开播放器之后,对等方加入到网络时的状态;“早期”指的是已经加入到网络一段时间之后的对等方的状态,这段时间可以认为是30秒钟)
转入步骤C ;
C.对等方向⑶N服务器请求所有I型紧迫数据块和II型紧迫数据块,向其他对等方请求所有非紧迫数据块,在请求III型紧迫数据块时,根据自身已建立连接的邻居数目N而定,对等方向CDN服务器请求III型紧迫数据块的概率为邻居数目的倒数,即1/N,向其他对等方请求该数据块的概率为(N-l)/N,同时对等方在向CDN服务器请求数据块时标明所属的类型。
[0008]2.CDN 服务器的资源分配方法(CDN Server’ s Resource Allocat1n Scheme,SRAS),该方法着重描述了⑶N服务器在接收到多个资源请求时对这些请求进行调度的方法,包括以下步骤:
A.CDN服务器采用具有三个队列的加权公平队列对服务进行调度,其中第一个队列缓存I型紧迫数据块请求,采用先进先出的调度方法对请求排序,第二个队列缓存II型紧迫数据块请求,按照期限时间进行排序,其中期限时间越短优先级越高,第三个队列缓存III型紧迫数据块请求,采用先进先出的调度方法,在初始状态下,第一个队列的权重W1为0.5,第三个队列的权重W3为0.2,并且0.5和0.2也分别为这两个队列权重的上限;
B.每当有数据块请求到达CDN服务器时,CDN服务器根据其紧迫类型添加到对应的队列当中,并转入步骤D ;
C.CDN服务器根据各个队列的权重随机选择某个队列中第一个数据块请求进行服务,并转入步骤D ;
D.⑶N服务器将第一个队列的权重W1调整为min{0.5,L1/ (Li+L2+L3)},将第三个队列的权重W3调整为min {0.2,L3/ (LjLfL3)},其中Li表示第i个队列中等待服务的数据块请求数目,最后将第二个队列的权重W2调整为1- W1- W3,并返回步骤C。
[0009]本发明相对现有技术具有以下优点:
1.系统资源的高效利用:较之当前已有的资源调度方法,本方法充分发挥了 CDN服务器资源可靠稳定,能够提供具有质量保证服务的特点,并有效利用了 P2P网络资源缓解CDN服务器的数据上传压力,从而使其更好地提供应急服务。
[0010]2.较低的视频数据块丢包率:由于在时间期限上紧急的数据块全部向⑶N服务器发送请求,而⑶N服务器具有较高的带宽和性能,因此能够及时为这些请求提供服务,从而避免由于超出播放期限而产生的无效数据,降低了视频数据块的丢包率。
【专利附图】
【附图说明】
[0011]图1为本发明实施例运行的网络环境;
图2为本发明实施例对等方缓存空间的数据块划分方法;
图3为本发明实施例CDN服务器进行服务调度的加权公平排队;
图4为本发明实施例CDN服务器对请求进行调度处理的流程图。
【具体实施方式】
[0012]下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0013]首先需要给出本发明提供的直播流媒体系统资源调度方法所需要的网络环境,如图1所示:在若干台Intel-Linux架构的PC机上安装并运行具有本发明PRSR资源请求方法的软件,同时在另外若干台Intel-Linux架构的PC机上安装并运行具有本发明SRAS资源分配方法的软件,将这些PC机的100/1000MbpS以太网卡连接到接入因特网的局域网交换机上,使之与因特网上的其他PC机之间能够相互进行通信。
[0014]运行本发明提供的⑶N-P2P混合架构下直播流媒体系统资源调度方法的PC机系统配置如下:在Intel-Linux架构的PC机上安装并运行基于本发明的PRSR和SRAS软件,PC机的100/1000MbpS以太网卡与网络交换机相连。这些PC机硬件的主频4.0GHz及以上的Core双核CPU的PC机,内存彡2GB,硬盘120GB,运行Red Hat 6.1操作系统。
[0015]图2给出了本发明基于PRSR方法的对等方缓存空间的数据块划分方法,该方法中对等方将视频数据块缓存空间划分为三部分,其中靠近流媒体播放器的部分为期限紧迫区间(该区间中的数据块为II型紧迫数据块),中间部分为非紧迫区间(该区间中的数据块为非紧迫数据块),距离流媒体播放器最远的部分为稀缺紧迫区间(该区间中的数据块为III型紧迫数据块),期限紧迫区间的数据块的数据距离播放时间少于2秒钟;将距离播放2秒钟以内的视频数据块标识为期限紧迫数据块(也即II型紧迫数据块),稀缺紧迫区间包含I个视频数据块,称其为稀缺紧迫数据块(也即III型紧迫数据块),非紧迫区间的视频数据块标识为非紧迫数据块;一旦某个数据块变成期限紧迫数据块,就立刻向CDN服务器发送请求;稀缺紧迫数据块通过生成一个不大于I的正随机数(III型紧迫数据块的请求是有一定的概率,并不是一定会请求,这是因为所有对等方都请求的话会影响数据块的扩散效果,这里产生的随机数是为了与接下来的1/N进行对比)来判断数据请求对象,如果该随机数小于既定的概率(这里的概率是前面步骤C所提到的1/N),则向⑶N服务器发送请求,否则向其他对等方发送请求;所有位于非紧迫数据区间的数据全部向其他对等方请求获得。
[0016]图3给出了本发明基于SRAS方法的CDN服务器加权公平队列,该方法按照紧迫数据块的类型将所有请求添加到对应的队列当中,并采用步骤D中动态调整的权重分配方法来为各个队列分配权重。
[0017]图4给出了⑶N服务器对请求进行调度处理的流程,该流程开始于步骤S101,⑶N服务器对三个队列进行初始化操作,然后转S102。
[0018]在步骤S102中,⑶N服务器开启监听操作,开始接收对等方发送过来的数据块请求,然后转S103。
[0019]在步骤S103中,⑶N服务器判断是否有新的数据块请求到达,如果没有转S102继续监听,否则转S104。
[0020]在步骤S104中,CDN服务器根据数据块请求的类型,将其添加到对应的队列当中,准备接受处理,并修改分配给各个队列的权重,然后转S102。
[0021]在SlOl转S102的同时,CDN服务器需要对加权公平队列中的数据块请求进行处理,因此转S105。
[0022]在步骤S105中,CDN服务器判断加权公平队列当中是否有没有处理的数据块请求,如果没有转S106,否则转S107。
[0023]在步骤S106中,CDN服务器在等待一段时间后,继续转会S105,判断队列是否仍然为空。
[0024]在步骤S107中,CDN服务器根据各个队列所分配的权重轮流选择某个队列中第一个数据块请求进行服务,并按照步骤D修改分配给各个队列的权重,转回S105。
[0025]本方法可以通过中断方式退出。
[0026]假定各个PC机经100/1000Mbps速率的以太网链路与因特网相连。在若干PC上运行基于本发明的PRSR软件,在另外的PC机上运行基于本发明的SRAS软件,通过收集和统计各个运行PRSR软件的视频数据块到达信息,就能分析出直播流媒体的丢包率,从而判断出系统的服务质量是否得到提高。
[0027]本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
【权利要求】
1.一种CDN-P2P混合架构下的直播流媒体系统资源调度方法,其特征在于:包括对等方的资源请求方法和CDN服务器的资源分配方法; (1)对等方的资源请求方法,该方法着重描述了对等方在请求系统资源时所采用的方法,包括以下步骤: A.对等方将视频数据块缓存空间划分为三部分,其中靠近流媒体播放器的部分为期限紧迫区间,中间部分为非紧迫区间,距离流媒体播放器最远的部分为稀缺紧迫区间,并转入步骤B ; B.根据数据缓存空间的划分,所有数据块被分为紧迫数据块和非紧迫数据块; 其中刚加入直播流媒体系统的对等方缓存中所有的数据块都属于I型紧迫数据块; 早期加入系统的对等方,其期限紧迫区间中的数据块为II型紧迫数据块,其稀缺紧迫区间的数据块为III型紧迫数据块,其所有位于非紧迫区间的数据块为非紧迫数据块; 转入步骤C ; C.对等方向⑶N服务器请求所有I型紧迫数据块和II型紧迫数据块,向其他对等方请求所有非紧迫数据块,在请求III型紧迫数据块时,根据自身已建立连接的邻居数目N而定,同时对等方在向CDN服务器请求数据块时标明所属的类型; (2)CDN服务器的资源分配方法,该方法着重描述了CDN服务器在接收到多个资源请求时对这些请求进行调度的方法,包括以下步骤: A.CDN服务器采用具有三个队列的加权公平队列对服务进行调度,其中第一个队列缓存I型紧迫数据块请求,采用先进先出的调度方法对请求排序,第二个队列缓存II型紧迫数据块请求,按照期限时间进行排序,其中期限时间越短优先级越高,第三个队列缓存III型紧迫数据块请求,采用先进先出的调度方法; B.每当有数据块请求到达CDN服务器时,CDN服务器根据其紧迫类型添加到对应的队列当中,并转入步骤D ; C.CDN服务器根据各个队列的权重随机选择某个队列中第一个数据块请求进行服务,并转入步骤D ; D.CDN服务器调整每个队列的权重,并返回步骤C。
2.如权利要求1所述的CDN-P2P混合架构下的直播流媒体系统资源调度方法,其特征在于:期限紧迫区间的数据块的数据距离播放时间少于2秒钟,稀缺紧迫区间包含1个视频数据块。
3.如权利要求1所述的CDN-P2P混合架构下的直播流媒体系统资源调度方法,其特征在于:对等方向CDN服务器请求III型紧迫数据块的概率为邻居数目的倒数,即1/N,向其他对等方请求该数据块的概率为(N-l)/N。
4.如权利要求1所述的CDN-P2P混合架构下的直播流媒体系统资源调度方法,其特征在于:在初始状态下,第一个队列的权重R为0.5,第三个队列的权重%为0.2,并且0.5和0.2也分别为这两个队列权重的上限。
5.如权利要求4所述的CDN-P2P混合架构下的直播流媒体系统资源调度方法,其特征在于,CDN服务器调整每个队列的权重的步骤为:将第一个队列的权重Wl调整为min{0.5,L/ (Li+L2+L3)},将第三个队列的权重w3调整为min {0.2,L3/ (Li+L2+L3)},其中Q表示第i个队列中等待服务的数据块请求数目,最后将第二个队列的权重w2调整为1- wr
【文档编号】H04L29/06GK104320672SQ201410495858
【公开日】2015年1月28日 申请日期:2014年9月24日 优先权日:2014年9月24日
【发明者】胡超, 陈鸣, 许博, 李兵, 余沛毅 申请人:中国人民解放军理工大学