一种基于编码耦合的p2p流媒体调度系统及方法

文档序号:7797181阅读:197来源:国知局
一种基于编码耦合的p2p流媒体调度系统及方法
【专利摘要】本发明公开了一种基于编码耦合的P2P流媒体调度系统及方法,该系统包含服务器和终端节点,其中:服务器包含控制模块和Raptor编码模块,控制模块用于交互消息控制;Raptor编码模块用于对源文件进行编码,生成Raptor编码包,并在发送时隙传送到网络上;终端节点包含控制模块、网络编码解码模块、Raptor解码模块,网络编码模块用于对接收的编码包进行NC再编码,然后再发送给邻居下游节点,或者当接收到足够多的编码包时,进行解码,然后传送给Raptor解码器;Raptor解码模块以经过网络解码器解码的Raptor编码包进行解码,恢复原始数据包。本发明在通过有效地级联Raptor编码和网络编码,简化流媒体系统复杂的调度策略,提高了带宽利用率和系统吞吐率。
【专利说明】—种基于编码耦合的P2P流媒体调度系统及方法
【技术领域】
[0001]本发明涉及数字家庭【技术领域】,具体涉及一种基于编码耦合的P2P流媒体调度系统。
【背景技术】
[0002]近些年来,P2P流媒体技术深刻影响着人们的娱乐生活,成熟的商业应用如PPTV、PPS、UUSee等广为用户喜欢。但是无线互联技术和智能终端的飞速发展,对P2P流媒体技术提出了更高的要求,节点的动态性和差异性严重制约了 P2P流媒体技术的发展。为了在全新的互联网时代,使得P2P流媒体技术更好为用户服务,提供更加优质的用户体验,我们需要更高效的P2P调度策略。而在此,网络编码技术和数字喷泉码技术为我们提供前进的方向。
[0003]传统的路由方式采用简单的“存储一转发”(Store-and-Forward)方式进行数据的传输,中间路由节点的计算资源白白地被浪费了。而R.Ahlswede于2000年提出的网络编码理论突破性地提出了“存储一编码一转发”(Coded-and-Forward)的数据传送方式,使得网络中间节点能够参与路由内容的编解码过程,利用中间节点的计算能力从而提高信道容量,备受人们的广泛关注。P2P网络节点功能上的无差异性为网络编码提供了用武之地,而网络编码充分利用节点的计算资源,通过对原始数据包的编码处理,提高链路传输的效率,可以有效地提高P2P流媒体网络的系统吞吐量,为流媒体的流畅播放提供更多的可用带宽,并且有利于网络的负载均衡。
[0004]P2P流媒体调度中数据包的差异性是我们不得不考虑的问题,这使得调度策略愈发复杂,而数字喷泉的出现为解决这一问题提供了契机。数字喷泉(Digital Fountain)的概念是由Michael Luby等人于1998年为解决广播的可靠传输问题而首次提出,数字喷泉方案是为解决大规模数据的广播和分发应用需求而提出的,对于P2P流媒体应用而言是一种理想的解决方案。由于数字喷泉码并不关心数据包的来源,亦不考虑数据包的时序问题,在P2P流媒体应用中,采用数字喷泉码进行数据传输可以简化P2P流媒体的调度。它并不存在码长的概念,可以无限地产生码元,节点考虑的只是接收到的编码数据包的数量问题,不用担心丢包带来的影响。与网络编码相似,基于数字喷泉码的P2P流媒体调度需要考虑等待编码包所带来的时延,以及编码带来的计算开销。
[0005]网络编码与数字喷泉码在P2P流媒体调度中的良好表现引发我们深层次的思考:二者是否可以完美的融合?网络编码工作在网络的中间节点,而数字喷泉码工作在信源节点和信宿节点,但是二者的处理对象都是数据包,处理方式都可以是简单的异或操作。这种功能与结构上的互补促成二者融合的可能性。本发明即提出一种可行、高效的耦合调度模型。
[0006]传统的P2P流媒体调度策略大致可以划分为三类:基于树形拓扑的“推”模式、基于网状拓扑的“拉”模式和混合“推拉”模式。早期的P2P流媒体网络,所有网络节点加入一棵或者多棵多播树,作为根节点的源服务器沿着树干推送数据,节点收到数据之后直接转发给下游节点,其典型代表是微软研究院的CoopNet方案和Splitstream方案。目前大多数成熟的P2P流媒体系统基本都是基于网状拓扑的,其借鉴了传统P2P文件分享协议BitTorrent和eMule的思想,Peer节点自由地加入网络,与周围节点形成邻居关系,节点之间定期地交换缓存镜像,根据自身需要发出数据请求。其典型代表是Chainsaw和CoolStreaming/DONet方案等。后来有人针对组播树和网状网络的缺点,提出了树网混合结构的设想,在网络中有计划地使用推送调度和拉取调度,从而更加充分利用各自的优势,实现更高效的调度,其代表微软研究院的mTreebone方案和清华大学的GridMedia方案等。
[0007]基于树形拓扑的“推”模式由于不需要频繁的缓存交换,数据的传输非常高效,但是树形拓扑的维护成本较高,下游节点的资源利用率较上游低,整个网络的负载不均衡。基于网状拓扑的“拉”模式简单高效,为目前大多数主流应用所采用,但是其频繁的控制消息互换导致其时延开销大。混合“推拉”模式调度策略设计复杂,不易部署。现有的P2P流媒体调度大多集中调度策略的设计上,为了应对节点动态性、节点差异性,调度策略的设计愈发复杂,而收效甚微,带宽不足、播放不流畅等问题依然很严重。

【发明内容】

[0008]针对现有P2P流媒体调度方案的不足,本发明的目的在于提供一种基于编码耦合的P2P流媒体调度系统,从而简化复杂的调度策略,提高系统吞吐率和带宽利用率,降低播放时延,改善用户播放体验。
[0009]本发明实施例提供了一基于编码耦合的P2P流媒体调度系统,包含服务器和终端节点,其中:
[0010]服务器包含控制模块和Raptor编码模块,控制模块用于交互消息控制;Rapt0r编码模块用于对源文件进行编码,生成Raptor编码包,并在发送时隙传送到网络上;
[0011]终端节点包含控制模块、网络编码解码模块、Raptor解码模块,网络编码模块用于对接收的编码包进行NC再编码,然后再发送给邻居下游节点,或者当接收到足够多的编码包时,进行解码,然后传送给Raptor解码器;Rapt0r解码模块以经过网络解码器解码的Raptor编码包进行解码,恢复原始数据包。
[0012]相应的,本发明实施例还提供了一种基于编码耦合的P2P流媒体调度方法,包括如下步骤:
[0013]流媒体源服务器的Raptor编码模块对原始数据进行Raptor编码,生成Raptor编码包,在发送时隙随机选取生成的编码包推送给邻近的下游节点,直到收到终端节点的反馈信息为止;Rapt0r编码器中的LDGM编码模块对原始数据包进行预编码,生成中间编码符号;然后弱化的LT编码模块对中间符号再编码,生成Raptor编码符号;在数据包发送时隙,服务器将生成的Raptor编码包发送给网络节点;
[0014]当中间节点的上行带宽足以满足发送接收到的数据包时,中间节点对接收到的编码包进行随机网络编码,生成Raptor网络编码包,并在发送时隙转发给邻居节点,否则直接转发数据包;
[0015]终端节点收到足够多的Raptor网络编码包时,采用高斯-约旦水消元法进行渐进译码,恢复出Raptor编码包,并把Raptor编码交给Raptor译码器;
[0016]Raptor译码器对Raptor编码包进行译码,首先调用LT译码器进行BP迭代,恢复出中间数据符号,然后调用LDGM译码器对中间符号再次解码,恢复出原始数据包,并发送反馈给服务器。
[0017]本发明具有如下有益效果,本模型通过有效地级联Raptor编码和网络编码,充分地利用网络节点的计算、存储资源,极大的弱化了数据包的差异性和链路的差异性,简化流媒体系统复杂的调度策略,提高了带宽利用率和系统吞吐率,降低了系统的播放时延,极大地改善了用户的播放体验。
【专利附图】

【附图说明】
[0018]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0019]图1是本发明实施例中的基于编码耦合的P2P流媒体调度系统结构示意图;
[0020]图2是本发明实施例中的基于编码耦合的P2P流媒体调度方法流程图。
【具体实施方式】
[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0022]如图1所示,本发明为一种基于编码耦合的P2P流媒体调度系统结构示意图,包含服务器和终端节点两部分。
[0023]服务器包含控制模块和Raptor编码模块。其中控制模块用于交互消息控制。Raptor编码模块用于对源文件进行编码,生成Raptor编码包,并在发送时隙传送到网络上。
[0024]终端节点包含控制模块、网络编码解码模块、Raptor解码模块。其中控制模块与服务器相似。网络编码模块用于对接收的编码包进行NC再编码,然后再发送给邻居下游节点,或者当接收到足够多的编码包时,进行解码,然后传送给Raptor解码器。Raptor解码模块以经过网络解码器解码的Raptor编码包进行解码,恢复原始数据包。
[0025]本发明实施例中的基于编码耦合的P2P流媒体调度方法流程图如图2所示,包括如下步骤:
[0026](I)生成Raptor编码包
[0027]流媒体源服务器的Raptor编码模块对原始数据进行Raptor编码,生成Raptor编码包,在发送时隙随机选取生成的编码包推送给邻近的下游节点,直到收到终端节点的反馈信息为止。这里我们采用的3GPP标准定义的非系统Raptor编码。如图所示。Raptor编码器中的LDGM编码模块对原始数据包进行预编码,生成中间编码符号;然后弱化的LT编码模块对中间符号再编码,生成Raptor编码符号。在数据包发送时隙,服务器将生成的Raptor编码包发送给网络节点。
[0028](2)中间节点进行网络编码当中间节点的上行带宽足以满足发送接收到的数据包时,中间节点对接收到的编码包进行随机网络编码,生成Raptor网络编码包,并在发送时隙转发给邻居节点。否则直接转发数据包。
[0029](3)终端节点进行网络译码
[0030]终端节点收到足够多的Raptor网络编码包时,采用高斯-约旦水消元法进行渐进译码,恢复出Raptor编码包,并把Raptor编码交给Raptor译码器。
[0031](4)终端节点进行Raptor译码
[0032]Raptor译码器对Raptor编码包进行译码,首先调用LT译码器进行BP迭代,恢复出中间数据符号,然后调用LDGM译码器对中间符号再次解码,恢复出原始数据包,并发送反馈给服务器。
[0033]整个调度过程完成。
[0034]本发明具有如下有益效果,本模型通过有效地级联Raptor编码和网络编码,充分地利用网络节点的计算、存储资源,极大的弱化了数据包的差异性和链路的差异性,简化流媒体系统复杂的调度策略,提高了带宽利用率和系统吞吐率,降低了系统的播放时延,极大地改善了用户的播放体验。
[0035]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
[0036]以上对本发明实施例所提供的一种基于编码耦合的P2P流媒体调度系统及方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种基于编码耦合的P2P流媒体调度系统,其特征在于,包含服务器和终端节点,其中: 服务器包含控制模块和Raptor编码模块,控制模块用于交互消息控制;Rapt0r编码模块用于对源文件进行编码,生成Raptor编码包,并在发送时隙传送到网络上; 终端节点包含控制模块、网络编码解码模块、Raptor解码模块,网络编码模块用于对接收的编码包进行NC再编码,然后再发送给邻居下游节点,或者当接收到足够多的编码包时,进行解码,然后传送给Raptor解码器;Rapt0r解码模块以经过网络解码器解码的Raptor编码包进行解码,恢复原始数据包。
2.一种基于编码耦合的P2P流媒体调度方法,其特征在于,包括如下步骤: 流媒体源服务器的Raptor编码模块对原始数据进行Raptor编码,生成Raptor编码包,在发送时隙随机选取生成的编码包推送给邻近的下游节点,直到收到终端节点的反馈信息为止;Raptor编码器中的LDGM编码模块对原始数据包进行预编码,生成中间编码符号;然后弱化的LT编码模块对中间符号再编码,生成Raptor编码符号;在数据包发送时隙,服务器将生成的Raptor编码包发送给网络节点; 当中间节点的上行带宽足以满足发送接收到的数据包时,中间节点对接收到的编码包进行随机网络编码,生成Raptor网络编码包,并在发送时隙转发给邻居节点,否则直接转发数据包; 终端节点收到足够多的Raptor网络编码包时,采用高斯-约旦水消元法进行渐进译码,恢复出Raptor编码包,并把Raptor编码交给Raptor译码器; Raptor译码器对Raptor编码包进行译码,首先调用LT译码器进行BP迭代,恢复出中间数据符号,然后调用LDGM译码器对中间符号再次解码,恢复出原始数据包,并发送反馈给服务器。
【文档编号】H04L29/06GK103856560SQ201410056840
【公开日】2014年6月11日 申请日期:2014年2月19日 优先权日:2014年2月19日
【发明者】罗笑南, 冯玉财, 郑贵锋, 薛凯军, 肖剑 申请人:东莞中山大学研究院, 中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1