一种基于网络编码的数据传输方法及装置的制作方法

文档序号:7722400阅读:126来源:国知局
专利名称:一种基于网络编码的数据传输方法及装置的制作方法
技术领域
本发明涉及网络编码技术,特别涉及一种基于网络编码的数据传输方法及装置。
背景技术
网络编码技术是在网络层对数据分组进行编码的技术,该技术允许网络中的节点对接收到的分组进行编码,产生新的分组并转发出去。目前,网络编码技术的应用主要集中在大规模的文件发布,即源节点或服务器发布大量的信息给网络中其它节点的业务,例如, 点对点(P2P)文件传输业务或P2P流业务等等。图1显示了一种针对P2P下载业务的传统网络编码方案。如图1所示,一个文件会被分成若干个分段(Mgment)S1, S2, S3, ... Sn,服务器在发送分段之前,首先进行随机网络编码,把原始的分段S1, S2, S3, ... 进行处理,产生编码分段(E1, E2, Ei...), Ei = Cli - S1 c2i - S2 . . . Cni · &,其中,编码系数Icli, c2i,. . . cni}是在一个有限域中随机生成的。收到编码分段之后,客户端并不解码,而是对编码分段进行再次编码,然后进行转发。通过这种方式,每个原始分段都将有相同的流行度(Popularity)。那么节点就无需判断此时要先下载哪个分段了。假如服务器不使用网络编码,则有的原始分段(比如一个文件的开始部分)在网络上可能已经被很多节点拥有了,称之为具有高流行度,而有些原始分段(比如一个文件的结尾部分)则可能在网络上非常稀缺,称之为具有低流行度。为了防止拥有稀缺资源的节点退出P2P应用后,导致下载无法完成,通常节点会首先下载具有低流行度的分段。而有了网络编码之后,所有的分段都具有相同的流行度,因此,节点无需判断先下载哪个分段。同时,也不存在稀缺资源的问题,这样,节点的动态加入和离开,对其他节点的影响也将会降低。但是在上述网络编码方案中,客户端必须等到收到足够多的编码分段之后,才能开始解码(也即需要满足条件r>n,其中,r是收到的编码分段个数,η 是文件包含的原始分段个数)。因此,该方案不适用于一边下载一遍观看的Ρ2Ρ流业务。图2显示了一种针对Ρ2Ρ流业务的传统网络编码方案。如图2所示,文件的每个分段被进一步划分成L个块(block)。参与Ρ2Ρ流业务的种子节点在转发数据之前,首先在
一个分段内的L个块之间进行网络编码得到若干个编码块E^E2........Ei........网络
编码的编码系数也是随机生成的。为了让接收节点能够解码,编码系数必须和数据包一起发送。通过在分段内的块之间进行网络编码,可以支持多个种子节点同时给一个节点发送某个分段,这样就可以缩短发送某个分段的传送时间,从而减少用户等待观看的时间。目前上述这些网络编码方案,虽然在一定程度上提高了 P2P业务的质量,但是并没有利用P2P业务的一个重要特征,那就是在节点之间进行信息交换的特征。在P2P业务里,节点之间是经常互为对等节点的,也就是说,一个节点在给另一个节点提供数据的同时,另外一个节点也会给这个节点提供数据。通过研究发现,如果能够利用节点之间信息交换这一特征,则可以进一步发掘网络编码在P2P业务中的增益,从而进一步减少上传带宽
发明内容
本发明的实施例提供了一种基于网络编码的数据传输方法及装置,可以充分利用节点之间的信息交换。本发明实施例提供的基于网络编码的数据传输方法,包括根据各个节点已下载的分段建立对等节点组(PG),其中,所建立PG内所有节点已下载的分段的并集等于待下载文件所包含全部分段的集合;根据PG内每个节点已下载的分段确定发送编码分段的发送节点以及待发送分段集合;以及发送节点对待发送分段集合中的分段进行网络编码,生成编码分段,并将生成的编码分段发送给PG内的其他节点。本发明实施例提供的基于网络编码的数据传输装置,包括位于网络侧控制设备的对等节点组PG建立单元,用于根据各个节点已下载的待下载文件的分段建立PG,其中,所建立PG内所有节点已下载的待下载文件的分段的并集等于待下载文件所包含全部分段的集合;以及位于网络侧控制设备的发送节点确定单元,用于根据PG内每个节点已下载的待下载文件的分段确定发送编码分段的发送节点以及待发送分段集合,将待发送分段集合通知确定的发送节点;位于每个节点的网络编码单元,用于对待发送分段集合中的分段进行网络编码, 生成编码分段,并将生成的编码分段发送给PG内的其他节点。本发明实施例提供的另一种基于网络编码的数据传输装置,包括位于网络侧控制设备的对等节点组PG建立单元,用于根据各个节点已下载的待下载文件的分段建立PG,其中,所建立PG内所有节点已下载的待下载文件的分段的并集等于待下载文件所包含全部分段的集合;以及位于每个节点内的发送节点确定单元,用于根据PG内每个节点已下载的待下载文件的分段确定发送编码分段的发送节点以及待发送分段集合,并判断自身是否为当前的发送节点;位于每个节点的网络编码单元,用于在自身为当前的发送节点时,对待发送分段集合中的分段进行网络编码,生成编码分段,并将生成的编码分段发送给PG内的其他节
点ο从本发明所述的基于网络编码的数据传输方法及装置可以看出,由于所建立PG 内所有节点已下载的待下载文件的分段的并集等于待下载文件所包含全部分段的集合,因此,通过建立PG的步骤可以仅通过PG中节点之间的信息交换就可以完成文件的下载,而无需再从服务器下载,因此,本发明所述的方法可以充分利用节点之间的信息交换。此外, 通过根据PG内每个节点已下载的待下载文件的分段确定发送编码分段的发送节点以及待发送分段集合的步骤可以保证一次编码分段的传送使尽可能多的节点获得分段的信息,因此,可以充分发掘网络编码在P2P业务中的增益,减少上传带宽,从而提高数据传输的性能。


图1显示了一种针对P2P下载业务的传统网络编码方案;
图2显示了一种针对P2P流业务的传统网络编码方案;图3为本发明实施例所述基于网络编码的数据传输方法的流程图;图4在不同的分段数N以及不同的节点数M的情况下P。和ρ的关系曲线;图5为本发明实施例所述的根据各个节点已下载的分段建立PG的方法流程图;图6为一个PG的示意图;图7为本发明实施例所述的COPE-E网络编码方法流程图;图8为本发明实施例所述的DCK网络编码方法流程9为本发明实施例所述的基于网络编码的数据传输装置的内部结构示意图;图10显示了采用不同的网络编码方法时,节点数目与每个节点的下载时间的关系曲线;图11显示了采用不同的网络编码方法时,节点数目与平均下载时间的关系曲线;图12显示了采用不同的网络编码方法时,节点数目与所需上传带宽的关系曲线。
具体实施例方式本发明的实施例提供了一种基于网络编码的数据传输方法。图3显示了本实施例所述基于网络编码的数据传输方法的流程。如图3所示,该方法主要包括步骤1,根据各个节点已下载的待下载文件的分段建立对等节点组(peer group, PG),其中,所建立PG内所有节点已下载的分段的并集等于待下载文件所包含全部分段的集合;步骤2,根据PG内每个节点已下载的分段确定发送编码分段的发送节点以及待发送分段集合;以及步骤3,发送节点对待发送分段集合中的分段进行网络编码,生成编码分段,并将生成的编码分段发送给PG内的其他节点。下面通过具体的示例详细描述上述步骤1中建立PG的过程。假设网络中有多个节点,都需要获得某个文件F,经过了一段时间的下载之后,这些节点会各自拥有文件F中的一些分段。一旦这些节点所下载的分段的并集等于文件F所包含全部分段的集合,那么这些节点就可以构成一个PG。这意味着在这个PG中,只需要通过节点间的信息交换就可以让该PG内所有节点下载得到整个文件F。在传统的P2P业务中,网络中会有一个控制器,通常称之为tracker,可以位于内容控制器或网络服务器上。该控制器能够了解每个节点已下载分段的情况。如此,控制器即可根据网络中每个节点已下载的分段,确定哪些节点能够组成一个PG。但是,在这种情况下,需要每个节点在每完成一个分段的下载后就给控制器发送一个通知,该通知中至少应当包括该节点的标识(ID)以及该节点刚刚下载的分段的序号。控制器在收到来自各个节点的通知后,可以记录节点的ID以及该节点已下载的分段序号,并根据已记录的每个节点已下载的分段的序号选择适合的节点构成PG。本领域的技术人员可以理解,通过上述方式可以精确地建立PG,但是会增加整个系统的信令开销。根据目前的P2P协议,每个节点每隔一段时间会给网络中的控制器发送一个请求(request)消息,这个请求消息中包含一个代表该节点目前已下载分段的数目的参数: downloaded。有了 downloaded这个参数,还有整个文件包含的分段总数,就可以获知该节
7点完成下载的比例。下面将具体推导一下在各个节点完成下载的比例是多少时这些节点可
以构成一个PG。推导过程中所使用参数的定义如表1所示。
N文件F包含的分段数目M参与文件F下载的节点数目Pc(Cover Probability)该M个节点已下载分段的并集等于文件F所有分段的概率Di第i个节点下载的分段集合D所有节点下载的分段的并集D=(D1UDlUDm)S文件F包含的分段集合S⑴S中的任意i个分段的组合Sf)中的第j个元素Pini(Initial Percentage)节点完成下载的比例表 1其中,炉=㈣0,硿),...绍}
权利要求
1.一种基于网络编码的数据传输方法,其特征在于,包括根据各个节点已下载的分段建立对等节点组PG,其中,所建立PG内所有节点已下载的分段的并集等于待下载文件所包含全部分段的集合;根据PG内每个节点已下载的分段确定发送编码分段的发送节点以及待发送分段集合;以及发送节点对待发送分段集合中的分段进行网络编码,生成编码分段,并将生成的编码分段发送给PG内的其他节点。
2.根据权利要求1所述的方法,其特征在于,进一步包括PG中的节点在每下载完一个分段之后,向网络中控制设备上报自身已下载的分段。
3.根据权利要求1所述的方法,其特征在于,进一步包括在PG建立后,通知PG中的各个节点;PG内各个节点在每下载完一个分段之后,向PG内的其他节点广播自身已下载的分段。
4.根据权利要求1或2或3所述的方法,其特征在于,根据各个节点已下载的待下载文件的分段建立PG包括网络中的控制器接收节点上报的包含节点标识ID以及已下载分段序号的通知,记录节点的ID以及下载的分段序号,并根据已记录的每个节点已下载的分段的序号选择适合的节点构成PG。
5.根据权利要求1或2或3所述的方法,其特征在于,根据各个节点已下载的待下载文件的分段建立PG包括确定待下载文件包含的分段数目N ;根据在分段数N以及节点数M的情况下所述M个节点已下载分段的并集等于待下载文件所有分段的概率P。和一个节点完成下载的比例Pini的关系设置适合的下载比例门限Pth, 使得在P > Pth时P。趋近于1 ;在接收到每个节点上报的各个节点已下载分段的数目后,根据待下载文件包含的分段数目N,计算每个节点完成的下载比例;以及当所有参与文件下载的M个节点完成的下载比例大于或等于下载比例门限Pth时,让这些节点组成PG。
6.根据权利要求1或2或3所述的方法,其特征在于,根据PG内每个节点已下载的待下载文件的分段确定发送编码分段的发送节点以及待发送分段集合包括遍历每个节点的所有编码方案,从中找出通过一次编码分段的传送能让最多的节点获得原始分段的信息的编码方案,确定该编码方案对应的发送节点以及待发送分段集合。
7.根据权利要求1或2或3所述的方法,其特征在于,根据PG内每个节点已下载的待下载文件的分段确定发送编码分段的发送节点以及待发送分段集合包括步骤211,从PG内M个节点中选择一个节点i,并将该PG内除节点i之外的其他M-I 个节点设置为节点i的邻节点;若全部节点都选择完了,执行步骤220 ;步骤212,从节点i的输出队列头部取出分段ρ ;步骤213,如果节点i的邻节点中有节点需要分段p,则令待发送分段集合Natives为 P,并执行步骤214 ;如果节点i的邻节点中没有节点需要分段P,则从节点i的输出队列中删除分段P,并返回步骤212;步骤214,从节点i的输出队列取出分段ρ的下一个分段Pj ;步骤215,统计节点i的邻节点中能够解码编码分段Natives Pj的节点数目count,并计算编码分段Natives Pj的解码概率
8.根据权利要求1或2或3所述的方法,其特征在于,根据PG内每个节点已下载的待下载文件的分段确定发送编码分段的发送节点以及待发送分段集合包括步骤221,从PG内M个节点中选择一个节点i,并将该PG内除节点i之外的其他M-I 个节点设置为节点i的邻节点;若全部节点都选择完了,执行步骤236 ; 步骤222,从节点i的输出队列头部取出分段ρ ;步骤223,如果节点i的邻节点中有节点需要分段p,则令待发送分段集合Natvies为 P ;如果节点i的邻节点中没有节点需要分段P,则从节点i的输出队列中删除分段P,并返回步骤222 ;步骤224,从节点i的输出队列取出分段ρ的下一个分段Pj ;步骤225,统计节点i的邻节点中能够解码编码分段Natives Pj的节点数目count,并计算编码分段Natives Pj的解码概率
9.根据权利要求1或2或3所述的方法,其特征在于,发送节点对待发送分段集合中的分段进行网络编码,生成编码分段包括发送节点将待发送分段集合中的每个分段分别与该分段对应的编码系数相乘后再进行模加,得到编码分段,其中,每个分段对应的编码系数是在一个有限域中随机生成的。
10.根据权利要求5所述的方法,其特征在于,在PG建立后,如果有新的节点欲加入所述PG,则判断所述新的节点的下载比例Pini是否满足Pini > pth,如果是,允许所述新的节点加入所述PG ;否则,不允许所述新的节点加入所述PG。
11.根据权利要求5所述的方法,其特征在于,根据节点间的相互位置动态调整下载比例门限Pth。
12.一种基于网络编码的数据传输装置,其特征在于,包括位于网络侧控制设备的对等节点组PG建立单元,用于根据各个节点已下载的待下载文件的分段建立PG,其中,所建立PG内所有节点已下载的待下载文件的分段的并集等于待下载文件所包含全部分段的集合;位于网络侧控制设备的发送节点确定单元,用于根据PG内每个节点已下载的待下载文件的分段确定发送编码分段的发送节点以及待发送分段集合,将待发送分段集合通知确定的发送节点;以及位于每个节点的网络编码单元,用于对待发送分段集合中的分段进行网络编码,生成编码分段,并将生成的编码分段发送给PG内的其他节点。
13.一种基于网络编码的数据传输装置,其特征在于,包括位于网络侧控制设备的对等节点组PG建立单元,用于根据各个节点已下载的待下载文件的分段建立PG,其中,所建立PG内所有节点已下载的待下载文件的分段的并集等于待下载文件所包含全部分段的集合;位于每个节点内的发送节点确定单元,用于根据PG内每个节点已下载的待下载文件的分段确定发送编码分段的发送节点以及待发送分段集合,并判断自身是否为当前的发送节点;以及位于每个节点的网络编码单元,用于在自身为当前的发送节点时,对待发送分段集合中的分段进行网络编码,生成编码分段,并将生成的编码分段发送给PG内的其他节点。
全文摘要
本发明提供了一种基于网络编码的数据传输方法,包括根据各个节点已下载的待下载文件的分段建立对等节点组(PG),其中,所建立PG内所有节点已下载的待下载文件的分段的并集等于待下载文件所包含全部分段的集合;根据PG内每个节点已下载的待下载文件的分段确定发送编码分段的发送节点以及待发送分段集合;以及发送节点对待发送分段集合中的分段进行网络编码,生成编码分段,并将生成的编码分段发送给PG内的其他节点。本发明还提供了一种基于网络编码的数据传输装置。本发明所述的方法和装置可以充分利用节点之间的信息交换,充分发掘网络编码在点对点业务中的增益,减少上传带宽,从而提高数据传输的性能。
文档编号H04L29/08GK102412928SQ20111019453
公开日2012年4月11日 申请日期2011年7月7日 优先权日2010年9月17日
发明者张永生, 王晓利, 陈健聪 申请人:株式会社Ntt都科摩
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1