一种自适应的P2P流媒体数据调度算法制造技术

技术编号:24893771 阅读:78 留言:0更新日期:2020-07-14 18:19
本发明专利技术公开了一种自适应的P2P流媒体数据调度算法,在流媒体播放系统中,把流媒体数据分割成长度相同的多个TF帧,然后放入发送源的缓冲区里面,每帧长度为TF_len字节,按传送帧序列号TF_sequence_number在缓冲区中顺序存储。在节点缓冲区中TF帧的可用性用缓冲地图Buffer Map来记录。缓冲地图BM另外还记录着当前字节中所存在的最高序列号maxseq‑minseq+1 Bits,每一个字节bit对应表示TF帧的可用性,若可用设为1,否则设为0。本发明专利技术通过和传统的P2P流媒体调度算法进行比较,克服了传统策略的缺点,又能根据网络的异构性和节点的动态性自动调整调度策略。实验结果表明,最少优先调度算法不仅能够有效缩短系统的启动延迟,而且能够改善终端用户的视频质量。

【技术实现步骤摘要】
一种自适应的P2P流媒体数据调度算法
本专利技术涉及P2P流媒体数据
,尤其涉及的是一种自适应的P2P流媒体数据调度算法。
技术介绍
近年来,基于P2P技术的流媒体应用已经成为研究热点。早期的P2P方案采用树型结构不能很好地适应节点的动态性和网络的异构性。PRO(PeertopeerReceiver-drivenOverlay),DONet(Data-drivenOverlayNetwork)等通过Gossip协议构造物结构的覆盖网络,提高了系统的稳定性和鲁棒性。在基于DONet的系统中,媒体流被分为一系列小的数据块,并且在不同邻居节点之间进行交换,系统性能主要依靠覆盖网的构造和数据调度算法,目前已经有人提出许多基于Gossip的算法构造覆盖网以提高节点的随机性和可靠性,但是很少有人重视数据调度算法的研究,而实际上数据调度算法对系统性能的影响是非常重要的。本专利技术通过对现有调度算法存在的问题进行分析,提出了一种新颖的数据调度算法,即一种自适应的P2P流媒体数据调度算法。目前已经有一些对于P2P数据调度策略的相关研究。如随机策略(Random),最少优先策略(Rarestfirst,简称RF)和循环鲁棒策略(RoundRobin)等已经被提出且在许多流媒体系统中采用。随机策略是一种非常简单的P2P数据调度策略,根据这种策略,对于每个空缺的数据块,每个节点随机地从持有此数据块的伙伴节点中选择一个节点,然后请求选中的伙伴节点。这个策略可以在基于DONet的系统中使用,但是其性能不稳定,尤其是在异构的网络环境中。循环鲁棒策略被用于在分层流媒体系统中。根据这种策略,按照比例分配所有请求的数据块到一个伙伴。如果仅有一个伙伴持有该数据块,那么就从该伙伴获取;否则,从拥有最大可能带宽的伙伴节点获取。这个策略可以取得很好的负载平衡。最少优先策略是一种快速时间响应的启发式算法,这种策略的主要思想包括:首先请求潜在提供者较少的数据块;如果一个数据块有多个潜在提供者,那么具有最多剩余带宽和足够可用时间的伙伴将被选中。目前算法存在的问题:在CoolStreaming/DONET中,调度策略被归纳为并行机调度问题的一个变种。因此,在流媒体系统中,可以取得近似的最佳调度。但是,它在实时性要求较高的流媒体应用中执行得不是很好。在流媒体播放系统中,一个数据块有很少的潜在提供者,其原因有:1)该数据块有一个较小的序号,并且它在一些伙伴中已经滑出了缓冲区滑动窗口;2)它是一个非常新的数据块,有一个非常大的序号,并且没有被广泛传播,因此仅有数据源节点和与数据源直接相连的伙伴会拥有这个数据块。对于第一种情况,使用最少优先策略首先请求有较少潜在提供者的数据块是适合的。但是对于第二种情况,在带宽不足的情况下,首先请求有较少的提供者的数据块可能会导致带有较小序号的数据块将在播放截止时间以前不能到达。除此之外,最少优先策略需要提前知道每个伙伴节点的精准带宽,而这在实时环境中是很难测量的。
技术实现思路
本专利技术提供一种自适应的P2P流媒体数据调度算法,本专利技术通过和传统的P2P流媒体调度算法进行比较,分析了目前流行的调度算法存在的问题,提出了一种自适应的P2P流媒体数据调度算法-最少优先调度算法。该算法既克服了传统策略的缺点,又能根据网络的异构性和节点的动态性自动调整调度策略。实验结果表明,最少优先调度算法不仅能够有效缩短系统的启动延迟,而且能够改善终端用户的视频质量。附图说明图1为本专利技术一个实施例算法的示意图。图2为本专利技术一个实施例算法和RF策略的曲线示意图。具体实施方式为了便于理解本专利技术,下面结合附图和具体实施例,对本专利技术进行更详细的说明。但是,本专利技术可以用许多不同的形式来实现,并不限于本说明书所描述的实施例。除非另有定义,本说明书所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本说明书中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本专利技术。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。本专利技术的一个实施例是,一种自适应的P2P流媒体数据调度算法:在流媒体播放系统中,把流媒体数据分割成长度相同的多个TF(Transferframe,传送帧)帧,然后放入发送源的缓冲区里面,每帧长度为TF_len字节,按传送帧序列号TF_sequence_number(sequence_number:序列号)在缓冲区中顺序存储。在节点缓冲区中TF帧的可用性用缓冲地图BufferMap(缓冲地图简称BM)来记录。缓冲地图BM另外还记录着当前字节中所存在的最高序列号maxseq-minseq+1Bits(其中:maxseq为最大序列号;minseq为最小序列号),每一个字节bit对应表示TF帧的可用性,若可用设为1,否则设为0。为了获得最小化启动延迟和更为流畅的播放体验,调度算法应该首先获取带有较小传送帧序列号TF_Sequence_number的TF帧。同时,算法必须能够适应高度动态的网络条件并且能够取得负载平衡。为了满足这些要求,提出了一种自适应的数据调度算法(最少优先调度算法)。在最少优先调度算法中,假设带有较小的传送帧序列号TF_sequence_number的TF帧具有较高的优先级。具体算法具体包括:步骤1:如果一个TF帧有较小的传送帧序列号TF_Sequence_numbe且仅有一个提供者,则请求它;步骤2:否则,它将被插入缓冲数据buffered_data集合;步骤3:在调度的每个循环中,首先考虑缓冲数据buffer_data中的TF帧然后才考虑其他的;步骤4:如果一个TF帧对应多个潜在的提供者,则带有最小请求编号req_num的提供者将被选中;步骤5:如果仍有两个或多个提供者带有相同的请求编号req_num,那么和当前节点IP地址最匹配的节点将被选中。在以上描述中,请求编号req_num是预先定义好的一个变量,并初始化为0.对于每个节点而言,当有其他伙伴节点从它请求一个TF帧时,请求编号req_num加1;当它成功发送出去一个TF帧时,请求编号req_num减1。通过这种策略,调度算法将基于流媒体数据的实际传输状态来调整,并且根据最小有限调度算法,每个节点总是能快速地从有能力提供数据的伙伴获取数据。换句话说,有足够资源(如网络带宽)的合作伙伴节点总能提供更多的数据给其他的节点,算法的计算复杂度为O(M*N),这里M是缓冲区的滑动窗口中传送帧序列号TF_sequence_number的最大值,N是这个节点的伙伴节点数目。一个伙伴节点可能在任何时刻至接收而不提供数据,并且它的访问带宽可能随时间而变化,因此需要一个重试机制来重新请求已经请求但很长时间还没有介绍到的TF帧。然而,太多的重新请求可能会引起网络拥塞并导致更多的TF帧在播放截止时间前不可达。为了避免这种现象发生,我们定义了一个变量的最大请本文档来自技高网
...

【技术保护点】
1.一种自适应的P2P流媒体数据调度算法,其特征在于,在流媒体播放系统中,把流媒体数据分割成长度相同的多个TF帧,放入发送源的缓冲区中,每帧长度为TF_len字节,按传送帧序列号TF_sequence_number,,在缓冲区中顺序存储;在节点缓冲区中TF帧的可用性用缓冲地图BM来记录;缓冲地图BM同时还记录着当前字节中所存在的最高序列号maxseq-minseq+1Bits,其中:maxseq为最大序列号、minseq为最小序列号,每一个字节bit对应表示TF帧的可用性,若可用设为1,否则设为0;首先获取带有较小传送帧序列号TF_Sequence_number的TF帧;设带有较小的传送帧序列号TF_sequence_number的TF帧具有较高的优先级具体包括以下步骤:/n步骤1:如判定一个TF帧有较小的传送帧序列号TF_Sequence_numbe且仅有一个提供者,则请求它;/n步骤2:否则,它将被插入缓冲数据buffered_data集合;/n步骤3:在调度的每个循环中,首先考虑缓冲数据buffer_data中的TF帧;/n步骤4:如果一个TF帧对应多个潜在的提供者,则带有最小请求编号req_num的提供者将被选中;/n步骤5:如果仍有两个或多个提供者带有相同的请求编号req_num,那么和当前节点IP地址最匹配的节点将被选中。/n...

【技术特征摘要】
1.一种自适应的P2P流媒体数据调度算法,其特征在于,在流媒体播放系统中,把流媒体数据分割成长度相同的多个TF帧,放入发送源的缓冲区中,每帧长度为TF_len字节,按传送帧序列号TF_sequence_number,,在缓冲区中顺序存储;在节点缓冲区中TF帧的可用性用缓冲地图BM来记录;缓冲地图BM同时还记录着当前字节中所存在的最高序列号maxseq-minseq+1Bits,其中:maxseq为最大序列号、minseq为最小序列号,每一个字节bit对应表示TF帧的可用性,若可用设为1,否则设为0;首先获取带有较小传送帧序列号TF_Sequence_number的TF帧;设带有较小的传送帧序列号TF_sequence_number的TF帧具有较高的优先级具体包括以下步骤:
步骤1:如判定一个TF帧有较小的传送帧序列号TF_Sequence_numbe且仅有一个提供者,则请求它;
步骤2:否则,它将被插入缓冲数据buffered_data集合;
步骤3:在调...

【专利技术属性】
技术研发人员:刘晓光赵子毅张晴晴
申请(专利权)人:北京云端智度科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1