一种基于网络编码的p2p流媒体数据调度方法

文档序号:7808836来源:国知局
一种基于网络编码的p2p流媒体数据调度方法
【专利摘要】本发明公开了一种基于网络编码的P2P流媒体数据调度方法,其步骤为:(1)种子节点对要传输的数据块进行网络编码;(2)种子节点向下游节点发送编码数据块的数据段,当下游节点接收到的编码数据块数与需要接收的数据段中的编码数据块数之差达到预先定制的阈值时,下游节点通知种子节点停止推送该数据段编码数据块,转为向种子节点定制所需的数据块。本发明的技术方案,在数据传输过程中,利用预先定制阈值,当一个节点充当种子节点给其下游节点发送数据时,下游节点的数据段所需的编码数据块将要接收完成时,通知它的种子节点停止向它推送该数据段编码数据块,转为向它的种子节点定制所需的编码数据块,有效减少了冗余编码数据块的产生。
【专利说明】—种基于网络编码的P2P流媒体数据调度方法

【技术领域】
[0001]本发明属于计算机网络流媒体数据的传输【技术领域】,具体来说是一种基于网络编码的P2P流媒体数据调度方法。

【背景技术】
[0002]近年来,随着互联网技术的发展,对等网络P2P流媒体直播系统得到了广泛应用,P2P流媒体数据服务是一项扩展性好、性价比高的服务,P2P技术与流媒体技术的结合,促进了网络多媒体应用的发展。P2P思想融入到流媒体应用后,充分发挥了以往被忽略的众多个人计算机(端节点)的作用,通过让节点缓存一部分媒体数据,实施一部分服务器功能,使服务器分散化,减轻了服务器的负载以及对局部网络带宽的高要求和高消耗。
[0003]传统的通信网络传送数据的方式是存储转发,即除了数据的发送节点和接收节点以外的节点只负责路由,而不对数据内容做任何处理,中间节点扮演着转发器的角色。长期以来,人们普遍认为在中间节点上对传输的数据进行加工不会有任何收益,然而RAhlswede等人在2000年提出的网络编码理论彻底推翻了这种传统观点。网络编码的工作原理是把不同的信息转化成位数更小的“痕迹”,然后在目标节点进行演绎还原,这样就不必反复传输或者复制全部信息了,痕迹可以在多个中间节点间的多条路径上反复传递,然后再被送往最终的目的端点。这种方式不需要额外的容量和路由,只需把信息的痕迹转换成位流即可,而这种转换现有的网络基础设施是完全支持的。应用网络编码,可以解决传统路由、跨层设计等技术无法解决的问题,提高网络性能,网络编码在无线网络中的应用可以提高网络的吞吐量,尤其是组播吞吐量,可以减少数据包的传播次数,降低无线发送能耗,当网络部分节点或链路失效时采用随机网络编码,最终在目的节点仍然能恢复原始数据,增强网络的容错性和鲁棒性。
[0004]P2P网络中的每一个节点既可以向它的邻居节点请求缺失的数据块,也可以充当数据资源服务者的提供者。P2P流媒体技术取得成功得益于基于数据调度策略的应用,调度策略的选择对提高视频服务质量、降低服务器负载和增强对节点动态的适应能力等方面有着巨大的影响。现行技术常采用的一些数据调度策略包括:随机调度、循环调度和最少数据调度等方式。其中,随机调度是通过随机的选择P2P网络中的节点,向该节点调度所需的流媒体数据,该方式容易造成节点收到过多冗余的编码数据块,消耗过多的节点带宽;循环调度方法是通过某一标准,例如节点能力或路由信息,将所有节点进行排序,以循环方式向排序后节点调度流媒体数据,该方法虽然考虑了节点自身的能力,但未考虑网络状态;最少数据优先调度方法是以数据资源为标准,首先调度P2P网络中较少的流媒体数据,确保能够获取资源稀少的流媒体数据,这种方法虽然能够获取资源稀少的流媒体数据,却不能保证将要播出的数据及时送达,容易造成播放的不顺畅,影响服务质量。如何对上述几种流媒体数据的调度方法进行改进,是P2P网络传输的一个重要研究方向。


【发明内容】

[0005]本发明的目的是为了解决现有的P2P流媒体推拉随机随机调度方式在系统整体吞吐量、播放延迟等方面存在的不足,容易产生大量的冗余数据的缺陷,提出一种改进性基于网络编码的P2P流媒体数据调度方法。实现上述目的本发明的技术方案为,一种基于网络编码的P2P流媒体数据调度方法,该方法步骤为:(I)种子节点对要传输的数据块进行网络编码成为编码数据块;(2)种子节点向下游节点发送编码数据块的数据段,当下游节点接收到的编码数据块数与需要接收的数据段中的编码数据块数差达到预先定制的阈值时,下游节点通知种子节点停止推送该数据段编码数据块,转为向它的种子节点定制所需的编码数据块。步骤(1)中的网络编码采用稀疏编码策略来实现,这样可以缩短编码时间,保证解码的成功率。稀疏编码策略实现网络编码的过程为:将数据段分为η个数据块[b1; b2, b3,…,bn],每个数据块大小为k字节,种子节点在一个有限域中独立的随机选择一组编码系数[Cl,C2, C3,…cm],其中m = n,然后从其缓存的所有数据块中随机选择m个数据




m
块[bpi,bp2, bp3,…,bpJ,生成一个k字节的编码块X,X =.V ,其中m/n为编码密度,一个种子节点在其缓存区域中拥有不少于α.η个编码数据块时,便编码生成新的数据块,这里0〈α ^ 10当节点收到η个数据块X时,便开始解码过程,首先它把η个编码数据块的η维系数向量组成一个ηΧη矩阵Α,矩阵A中的每一行代表一个编码数据块的η维系数向量。然后就可以解码出原数据块Kb = A-1X^在数据传输过程中,利用预先定制阈值,当一个节点充当种子节点给其下游节点发送数据时,下游节点某个数据段所需的编码数据块将要接收完成时,通知它的种子节点停止向它推送该数据段编码数据块,转为向它的种子节点定制所需的编码数据块,从而有效减少了冗余编码数据块的产生。
[0006]上述方法中 ,下游节点向种子节点定制所需的编码数据块是把数据段中缺少的数据块数进行等分,随机选择与数据块划分份数相同个数的种子节点,分别向它们发送定制请求和缓存映射(BM)实现分配定制任务。该过程的具体步骤是:(a)种子节点从下游节点接收缓存映射(BM),判断下游节点的数据段是否满足定制阈值;若没有,执行(b);若有执行(c) ;(b)采用推送策略,种子节点从下游节点缺少的数据段中,随机选择一个数据段进行编码生成一个数据块,然后进行发送;(C)种子节点检查是否收到相应的定制请求,若没收到,执行⑷;若收到,执行(e) ;(d)在不满足定制阈值和不完整的数据段中,采用推送策略,随机选择一个数据段,生成一个新的编码数据块进行发送;(e)根据该数据段的定制请求发送数据,发送的数据块数由定制请求决定。
[0007]本申请所提出的方法通过对要传输的数据块进行稀疏编码策略的网络编码缩短了编码时间,保证解码的成功率;在数据传输过程中,通过引入定制阈值,当一个节点充当种子节点给其下游节点发送数据时,下游节点某个数据段所需的编码数据块将要接收完成时,通知它的种子节点停止向其推送数据段编码数据块,转为向它的种子节点定制所需的编码数据块,从而有效减少了冗余编码数据块的产生。

【专利附图】

【附图说明】
[0008]图1是本发明中的下游节点接收定制数据块示例图;
[0009]图2是种子节点向下游节点发送数据块的具体过程。

【具体实施方式】
[0010]下面对本发明的技术方案进行具体描述,如图1所示为本发明所述的下游节点接收定制数据块示例图,节点1、节点2同时为节点3的种子节点,数据段划分为10块,定制阈值为2,也就是当数据段缺少数据块数为2时,节点转为定制数据。首先,节点1、2采用推送策略向节点3传送数据,当节点3接收到8个数据块后,还有2个数据块未被接收,这时满足定制阈值,节点3向节点1、2发送缓存映射BM,通知它们停止推送数据,同时节点3对未接收的数据块进行划分,划分成两份(1,1),向节点1、2分别定制I个数据块,节点1、2接收到定制请求后,根据定制请求的信息,向节点3发送数据,所有数据在推送前都是经过稀疏编码策略进行编码后的网络编码数据段,从而缩短编码时间,保证解码的成功率。
[0011]图2是种子节点向下游节点发送数据块的具体过程,如图所示,(a)种子节点从下游节点接收缓存映射(BM),判断下游节点的数据段是否满足定制阈值;若没有,执行(b);若有执行(c) ;(b)采用推送策略,种子节点从下游节点缺少的数据段中,随机选择一个数据段进行编码生成一个数据块,然后进行发送;(c)种子节点检查是否收到相应的定制请求,若没收到,执行⑷;若收到,执行(e) ;(d)在不满足定制阈值和不完整的数据段中,采用推送策略,随机选择一个数据段,生成一个新的编码数据块进行发送;(e)根据该数据段的定制请求发送数据,发送的数据块数由定制请求决定。
[0012]本发明的技术方案,在数据传输过程中,利用预先定制阈值,当一个节点充当种子节点给其下游节点发送数据时,下游节点某个数据段所需的编码数据块将要接收完成时,通知它的种子节点停止向它推送该数据段编码数据块,转为向它的种子节点定制所需的编码数据块,从而有效减少了冗余编码数据块的产生。
[0013]上述技术方案仅体现了本发明技术方案的优选技术方案,本【技术领域】的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于本发明的保护范围之内。
【权利要求】
1.一种基于网络编码的P2P流媒体数据调度方法,其特征在于,该方法步骤为:(1)种子节点对要传输的数据块进行网络编码成为编码数据块;(2)种子节点向下游节点发送编码数据块的数据段,当下游节点接收到的编码数据块数与需要接收的数据段中的编码数据块数之差达到预先定制的阈值时,下游节点通知种子节点停止推送该数据段编码数据块,转为向它的种子节点定制所需的编码数据块。
2.根据权利要求1所述的基于网络编码的P2P流媒体数据调度方法,其特征在于,步骤(I)中采用稀疏编码策略实现网络编码。
3.根据权利要求1所述的基于网络编码的P2P流媒体数据调度方法,其特征在于,步骤(2)中,下游节点向种子节点定制所需的编码数据块是把数据段中缺少的数据块数进行等分,随机选择与数据块划分份数相同个数的种子节点,分别向它们发送定制请求和缓存映射(BM)实现分配定制任务。
4.根据权利要求2所述的基于网络编码的P2P流媒体数据调度方法,其特征在于,稀疏编码策略实现网络编码的过程为:将数据段分为η个数据块[bi,b2,b3,…,bn],每个数据块大小为k字节,种子节点在一个有限域中独立的随机选择一组编码系数[Cl,C2, C3,…cm],其中m g n,然后从其缓存的所有数据块中随机选择m个数据块[I^bLbp3,…,bpm],生成

一个k字节的编码块X,
,其中m/n为编码密度,一个种子节点在其缓存区域中拥有不少于α.η个编码数据块时,便编码生成新的数据块,这里0〈α ( I。
5.根据权利要求1或3所述的基于网络编码的P2P流媒体数据调度方法,其特征在于,步骤(2)中的种子节点向下游节点发送数据段的具体过程如下:(a)种子节点从下游节点接收缓存映射(BM),判断下游节点的数据段是否满足定制阈值;若没有,执行(b);若有执行(c) ;(b)采用推送策略,种子节点从下游节点缺少的数据段中,随机选择一个数据段进行编码生成一个数据块,然后进行发送;(C)种子节点检查是否收到相应的定制请求,若没收到,执行⑷;若收到,执行(e) ;(d)在不满足定制阈值和不完整的数据段中,采用推送策略,随机选择一个数据段,生成一个新的编码数据块进行发送;(e)根据该数据段的定制请求发送数据,发送的数据块数由定制请求决定。
【文档编号】H04L29/08GK104079661SQ201410334296
【公开日】2014年10月1日 申请日期:2014年7月14日 优先权日:2014年7月14日
【发明者】邵宗翰 申请人:昆明联诚科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1