一种基于网络编码的无线网络中多速率数据分发方法

文档序号:10660551阅读:509来源:国知局
一种基于网络编码的无线网络中多速率数据分发方法
【专利摘要】本发明涉及一种基于网络编码的无线网络中多速率数据分发方法,采用对偶编码图的方式,综合考虑链路间相关性、数据包生存期和期望传输时间等构建编码图,使算法能够应用于相关性网络环境中;采用贪心算法将求解问题从NP?hard问题降低到线性级别;在每一轮分发之前,剔除肯定超时的顶点和延迟敏感性较低的顶点,让能够满足时延要求且延迟敏感性较高的顶点有较高的发送机会;并且应用数学方法描述构建对偶编码图,并得出最优算法的复杂度为NP?hard问题;由此,提出链路相关性感知的多速率对偶编码算法(LMPC),通过权衡传输延迟与数据包生命时长来确定编码策略和传输速率,在满足延迟约束的基础上,有效提高了数据包接收数量。
【专利说明】
一种基于网络编码的无线网络中多速率数据分发方法
技术领域
[0001] 本发明涉及一种基于网络编码的无线网络中多速率数据分发方法,属于计算机通 信网络技术领域。
【背景技术】
[0002] 随着无线网络技术不断发展,无线网络应用范围越来越广。而许多无线数据分发 应用具有时效性,包括移动电视、视频通话、视频点播在内的网络流媒体服务已经成为主要 的、最受欢迎的网络应用。而业务需求的快速增长导致多媒体通信流量激增,这对作为其重 要内容载体的无线网络带来了诸多技术挑战。一个自然的步骤是探索新的数据通信机制以 无线节点的高通信压力,并在此基础上为业务提供QoS保证(包括实时性和可靠性两个方 面)。
[0003] 研究表明,基于无线网络编码的广播/多播协作数据交换机制是提高数据通信性 能有效途径。网络编码的运用使得整体传输效率得以提高。源节点不需要完全通过一对一 方式发送数据包,而是以广播/多播形式发送编码数据,接收节点根据接收(监听)到的编码 数据以及已拥有的数据包恢复出所需的数据包。目前相关研究主要集中在吞吐量优化、传 输代价最小化、数据生存期感知的广播调度等方面。这些工作均是面向单一速率的无线网 络环境,在很大程度上限制了数据交换性能的提升。
[0004] 此外,由于受到交叉网络干扰(Cross-Network Interference)以及遮蔽效应 (Shadowing Effects)的影响,无线链路之间数据接收存在高度的相关性。一般来说,如果 一对链路间的数据接收呈现正相关性,则有助于源节点向该链路对分发数据;反之如果呈 现反相关性,则源节点需要通过重传来提高可靠性,可见链路相关性对网络性能有着重大 影响。针对这些问题,已经有很多科研人员对无线链路相关性环境下的数据传输机制进行 了初步研究,在一定程度上缓解了相关性对数据传输性能的负面影响。然而,现有研究工作 在计算期望传输次数等关键性能指标时,大多仅仅假设链路接收独立,导致编码决策时计 算出现误差,进而降低传输性能。

【发明内容】

[0005] 本发明所要解决的技术问题是提供一种通过权衡传输延迟与数据包生命时长来 确定编码策略和传输速率,在满足延迟约束的基础上,能够有效提高数据包接收数量的基 于网络编码的无线网络中多速率数据分发方法。
[0006] 本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于网络编 码的无线网络中多速率数据分发方法,源节点通过广播发送方式针对各个目的节点实现各 个数据包的分发,其中,各个数据包的大小相同;所述多速率数据分发方法包括如下步骤:
[0007] 步骤001.分别针对各个目的节点,根据目的节点所需的各个数据包,分别生成对 应该目的节点的各个发送关系顶点,其中,该目的节点的一个数据包对应一个该目的节 点的发送关系顶点;进而获得分别对应各个目的节点各个所需数据包的发送关系顶点V^, 然后进入步骤002;其中,i = {1、···、Ι},j = {I、···、】},1表示目的节点的个数,J表示数据包 的种类数,表示第i个目的节点需要第j个数据包;
[0008] 步骤002.针对所有发送关系顶点V^,根据各个目的节点针对所需数据包的生命 时长,获得所有发送关系顶点中,源节点同时实现两个发送关系顶点所对应数据包发送 的各个顶点组合,并结合其余源节点单独实现发送关系顶点所对应数据包发送的各个发送 关系顶点,构成编码图,其中,各顶点组合中两个发送关系顶点分别所对应的目的节点彼此 互不相同,编码图中各个顶点组合中的两个发送关系顶点之间建立连线;然后进入步骤 003;
[0009] 步骤003.分别针对编码图中的各个顶点组合,获得顶点组合中两个发送关系顶点 分别所对应目的节点针对对应所需数据包的生命时长,选择其中最小的生命时长,作为该 顶点组合的生命时长;进而获得编码图中各个顶点组合的生命时长;同时,分别针对编码图 中各个单独的发送关系顶点,获得发送关系顶点所对应目的节点针对对应所需数据包的生 命时长,作为该发送关系顶点的生命时长,进而获得编码图中各个单独的发送关系顶点的 生命时长,然后进入步骤004;
[0010] 步骤004.将编码图中的各个顶点组合和各个单独的发送关系顶点分别作为编码 图中的各个元素,然后针对编码图中各个元素的生命时长,选择其中最小生命时长,并判断 该最小生命时长所对应元素的个数是否为1,是则将该最小生命时长所对应的元素,作为编 码图中的待发送元素,然后进入步骤005;否则进入步骤006;
[0011] 步骤005 .针对编码图中的待发送元素,若该待发送元素为顶点组合,则获得源节 点针对该顶点组合中两个发送关系顶点分别所对应数据包实现同时发送的最短发送时长, 作为该顶点组合的最短发送时长;若该待发送元素为单独的发送关系顶点,则获得源节点 针对该单独的发送关系顶点所对应数据包实现发送的最短发送时长,作为该单独的发送关 系顶点的最短发送时长;进而获得编码图中待发送元素的最短发送时长,然后进入步骤 008;
[0012] 步骤006.判断该最小生命时长所对应的各个元素中,若存在顶点组合,则分别针 对各个顶点组合,获得源节点针对顶点组合中两个发送关系顶点分别所对应数据包实现同 时发送的最短发送时长,作为该顶点组合的最短发送时长;若存在单独的发送关系顶点,则 分别针对各个单独的发送关系顶点,获得源节点针对单独的发送关系顶点所对应数据包实 现发送的最短发送时长,作为该单独的发送关系顶点的最短发送时长;进而获得该最小生 命时长所对应各个元素分别所对应的最短发送时长,然后进入步骤007;
[0013] 步骤007.针对编码图中该最小生命时长所对应各个元素分别所对应的最短发送 时长,选择其中最小的最短发送时长,获得该最小的最短发送时长所对应编码图中的元素, 作为编码图中的待发送元素,然后进入步骤008;
[0014] 步骤008 .针对编码图中的待发送元素,若待发送元素为顶点组合,则根据预设数 据打包算法,针对该顶点组合中两个发送关系顶点分别所对应数据包进行数据包打包,获 得大小与原单个数据包大小相同的打包数据包,然后源节点采用该待发送元素的最短发送 时长,针对该打包数据包进行广播发送,并在编码图中删除该顶点组合,进入步骤009;若待 发送元素为单独的发送关系顶点,则源节点采用该待发送元素的最短发送时长,针对该单 独的发送关系顶点所对应的数据包进行广播发送,并在编码图中删除该单独的发送关系顶 点,进入步骤009;
[0015] 步骤009.针对编码图中待发送元素所对应的目的节点进行状态更新,并判断编码 图是否为空,是则基于网络编码的无线网络中多速率数据分发方法结束;否则返回步骤 003〇
[0016] 作为本发明的一种优选技术方案:所述步骤002具体包括如下步骤:
[0017]步骤00201.分别针对各个发送关系顶点Vu,分别按如下步骤a进行操作,获得所 有发送关系顶点中,源节点同时实现两个发送关系顶点所对应数据包发送的各个顶点 组合,然后进入步骤00202;
[0018] 步骤a.将该发送关系顶点作为待联系顶点,其余各个发送关系顶点分别作为待匹 配顶点,分别针对各个待匹配顶点,分别按如下步骤a01至步骤a04进行操作,获得该待联系 顶点分别与各个待匹配顶点中,相对源节点实现两个发送关系顶点所对应数据包发送的各 个顶点组合;
[0019] 步骤a01.判断该待联系顶点所对应的目的节点与该待匹配顶点所对应的目的节 点彼此是否相同,是则该待联系顶点与该待匹配顶点之间不构成顶点组合;否则进入步骤 a02 ;
[0020] 步骤a02.获得该待联系顶点所对应目的节点的最大接收数据处理速率,以及获得 该待匹配顶点所对应目的节点的最大接收数据处理速率,选择该两个最大接收数据处理速 率中的最小接收数据处理速率,然后进入步骤a03;
[0021] 步骤a03.根据数据包的大小和该最小接收数据处理速率,获得待匹配时长,然后 进入步骤a04;
[0022] 步骤a04.获得该待联系顶点所对应目的节点针对对应所需数据包的生命时长,以 及获得该待匹配顶点所对应目的节点针对对应所需数据包的生命时长,并判断该两个生命 时长是否均小于等于该待匹配时长,是则该待联系顶点与该待匹配顶点,构成源节点同时 实现两个发送关系顶点所对应数据包发送的顶点组合;否则该待联系顶点与该待匹配顶点 之间不构成顶点组合;
[0023]步骤00202.针对所有发送关系顶点Vu中,源节点同时实现两个发送关系顶点所 对应数据包发送的各个顶点组合,并结合其余源节点单独实现发送关系顶点所对应数据包 发送的各个发送关系顶点,构成编码图,其中,编码图中各个顶点组合中的两个发送关系顶 点之间建立连线。
[0024] 作为本发明的一种优选技术方案:所述步骤008中,若待发送元素为顶点组合,则 根据随机线性网络编码算法,针对该顶点组合中两个发送关系顶点分别所对应数据包进行 数据包打包,获得大小与原单个数据包大小相同的打包数据包。
[0025] 本发明所述一种基于网络编码的无线网络中多速率数据分发方法采用以上技术 方案与现有技术相比,具有以下技术效果:本发明所设计基于网络编码的无线网络中多速 率数据分发方法,采用对偶编码图的方式,综合考虑链路间相关性、数据包生存期和期望传 输时间等构建编码图,使算法能够应用于相关性网络环境中;其中,采用贪心算法将求解问 题从NP-hard问题降低到线性级别;在每一轮分发之前,剔除肯定超时的顶点和延迟敏感性 较低的顶点,让能够满足时延要求且延迟敏感性较高的顶点有较高的发送机会;并且应用 数学方法描述构建对偶编码图,并得出最优算法的复杂度为NP-hard问题;由此,提出链路 相关性感知的多速率对偶编码算法(LMPC),通过权衡传输延迟与数据包生命时长来确定编 码策略和传输速率,在满足延迟约束的基础上,有效提高了数据包接收数量。
【附图说明】
[0026]图1是数据包分发示意图;
[0027] 图2是本发明所设计基于网络编码的无线网络中多速率数据分发方法中对偶编码 示意图;
[0028] 图3是本发明所设计基于网络编码的无线网络中多速率数据分发方法中基于编码 图的数据包分发流程示意图;
[0029] 图4a是不同算法下数据包平均投递成功率随数据包生命时长取值的变化示意图;
[0030] 图4b是不同算法下数据包平均吞吐量随数据包生命时长取值的变化示意图;
[0031] 图4c是不同算法下数据包发送时长随数据包生命时长取值的变化示意图;
[0032] 图5a是不同算法下数据包平均投递成功率对应各种节点数与数据包数目数目组 合在固定生命时长下的变化示意图;
[0033] 图5b是不同算法下数据包平均投递成功数目对应各种节点数与数据包数目组合 在固定生命时长下的变化示意图;
[0034] 图5c是不同算法下数据包平均吞吐量对应各种节点数与数据包数目组合在固定 生命时长下的变化示意图;
[0035] 图5d是不同算法下数据包发送时长对应各种节点数与数据包数目组合在固定生 命时长下的变化示意图。
【具体实施方式】
[0036]下面结合说明书附图对本发明的【具体实施方式】作进一步详细的说明。
[0037] 本发明所设计一种基于网络编码的无线网络中多速率数据分发方法,源节点通过 广播发送方式针对各个目的节点实现各个数据包的分发,其中,各个数据包的大小相同;实 际应用过程当中,如图1所示为实际源节点,以及各个目的节点之间数据包的情况,所述多 速率数据分发方法包括如下步骤:
[0038] 步骤001.分别针对各个目的节点,根据目的节点所需的各个数据包,分别生成对 应该目的节点的各个发送关系顶点,其中,该目的节点的一个数据包对应一个该目的节 点的发送关系顶点;进而获得分别对应各个目的节点各个所需数据包的发送关系顶点V 1;J, 然后进入步骤002;其中,i = {1、···、Ι},j = {lv、J},1表示目的节点的个数,J表示数据包 的种类数,表示第i个目的节点需要第j个数据包。
[0039] 步骤002.针对所有发送关系顶点V^,根据各个目的节点针对所需数据包的生命 时长,获得所有发送关系顶点中,源节点同时实现两个发送关系顶点所对应数据包发送 的各个顶点组合,并结合其余源节点单独实现发送关系顶点所对应数据包发送的各个发送 关系顶点,构成编码图G(V,L),如图2所示,其中,各顶点组合中两个发送关系顶点分别所对 应的目的节点彼此互不相同,编码图中各个顶点组合中的两个发送关系顶点之间建立连 线,V表示各个发送关系定点,L表示编码图中各个顶点组合中两个发送关系顶点之间的连 线;连线上的数字表示顶点组合中两个发送关系顶点上数据包的共同发送速率,然后进入 步骤003。
[0040] 其中,编码图参考如下文献:
[0041] R.Ahlswede,N.Cai,S.-Y.R.Li and R.ff.Yeung, Network information flow/' IEEE Trans.on Information Theory,2000,46:1204-1216
[0042] 其中,步骤002具体包括如下步骤:
[0043] 步骤00201.分别针对各个发送关系顶点V^,分别按如下步骤a进行操作,获得所 有发送关系顶点中,源节点同时实现两个发送关系顶点所对应数据包发送的各个顶点 组合,然后进入步骤00202。
[0044] 步骤a.将该发送关系顶点作为待联系顶点,其余各个发送关系顶点分别作为待匹 配顶点,分别针对各个待匹配顶点,分别按如下步骤a01至步骤a04进行操作,获得该待联系 顶点分别与各个待匹配顶点中,相对源节点实现两个发送关系顶点所对应数据包发送的各 个顶点组合。
[0045] 步骤a01.判断该待联系顶点所对应的目的节点与该待匹配顶点所对应的目的节 点彼此是否相同,是则该待联系顶点与该待匹配顶点之间不构成顶点组合;否则进入步骤 a02〇
[0046] 步骤a02.获得该待联系顶点所对应目的节点的最大接收数据处理速率,以及获得 该待匹配顶点所对应目的节点的最大接收数据处理速率,选择该两个最大接收数据处理速 率中的最小接收数据处理速率,然后进入步骤a03。
[0047] 步骤a03.根据数据包的大小和该最小接收数据处理速率,获得待匹配时长,然后 进入步骤a04。
[0048] 步骤a04.获得该待联系顶点所对应目的节点针对对应所需数据包的生命时长,以 及获得该待匹配顶点所对应目的节点针对对应所需数据包的生命时长,并判断该两个生命 时长是否均小于等于该待匹配时长,是则该待联系顶点与该待匹配顶点,构成源节点同时 实现两个发送关系顶点所对应数据包发送的顶点组合;否则该待联系顶点与该待匹配顶点 之间不构成顶点组合。
[0049] 步骤00202.针对所有发送关系顶点中,源节点同时实现两个发送关系顶点所 对应数据包发送的各个顶点组合,并结合其余源节点单独实现发送关系顶点所对应数据包 发送的各个发送关系顶点,构成编码图,其中,编码图中各个顶点组合中的两个发送关系顶 点之间建立连线。
[0050] 基于上述编码图的设计操作过程中,其中各个顶点组合)满足如下关 系:
[0051 ] (l).i乒i,
[0052] (2).(PjeHi-APj· eHiAPjeRiAPj-eRi·) Vj = j"
[0053] (3).3?使得t(Vi,j|ri,k)彡Ti,jAt(Vi'j' |ri',kKTi',j,
[0054] 其中,ri,k表示源节点S-目的节点Di选择接收数据处理速率k的成功率;(Vi, j r1>k)表示链路源节点S-目的节ADi针对第j个数据包选择接收数据处理速率k时需要的发 送时长,匕表示第j个数据包;出的表示目的节ADi已经接收到的数据包集合;心表示目的节 点少的数据包;Tw表示目的节点Di所需第j个数据包匕的生命时长;条件1限制同一个 目的节ADi需要的两个数据包不能一起编码,否则队收到该编码包后无法立即解码,可能导 致生存期较小的数据包超时;条件2限制两个节点收到一个编码包后都能够立即解码;条件 3保证参与编码的数据包对应的节点有共同速率,使两个数据包都不超时。采用对偶编码的 好处是,每次源节点S发送一个编码包匕θ匕,,目的节点 Dl、Dj-旦收到该编码包就能立即解 码出所需数据,这将有助于生存期较小的数据包分发。
[0055]对于编码图中各个顶点组合,之所以选择两个目的节点所构成的组合,我们有如 下的证明。不妨设Qz是源节点第Z次选择的顶点组合,由对偶编码的定义Qz= {Vi, j}或Qz = {V^ 。则采用传统的枚举方法搜索(对偶编码)数据包,获得全局最优分发顺序&, Q2,'",Qn的时间复杂度至少为
[0056]证明:我们采用归纳法来证明。
[0057] ①.当Z=1时,由题设易知源节点只能进行1次数据分发,当分发完成后,其余顶点 都会在更新编码图时被删除,易知从Μ个顶点中选择一个团Qi,且| Qi | = 1时,至少需要对比Μ 次,因此Z = 1时,题设成立。
[0058] ②.当Z = 2时,即从Μ个顶点中选择2个顶点,则至少需要计算
-次,且 每次选择的2个顶,都需要判断是否属于一个团,至少计算2次,因此复杂度至少为C^x2,题 设成立。
[0059] ③.假设Z = m-1时:
,则当Z=m时,相当于从剩余M-(m-l) 个顶点中选择1个顶点插入到m-1个最优顶点序列中,因为每次选择都至少比较m-1次,因此 至少比较) ] (m-1)次,即整个过程至少计算
[0066]其中,各参数符号具体解释如下:
[0068] 如图3所示,表示了本发明所设计基于网络编码的无线网络中多速率数据分发方 法中基于编码图的数据包分发流程示意图,具体如下:
[0069] 步骤003.分别针对编码图中的各个顶点组合,获得顶点组合中两个发送关系顶点 分别所对应目的节点针对对应所需数据包的生命时长,选择其中最小的生命时长,作为该 顶点组合的生命时长;进而获得编码图中各个顶点组合的生命时长;同时,分别针对编码图 中各个单独的发送关系顶点,获得发送关系顶点所对应目的节点针对对应所需数据包的生 命时长,作为该发送关系顶点的生命时长,进而获得编码图中各个单独的发送关系顶点的 生命时长,然后进入步骤004。
[0070] 步骤004.将编码图中的各个顶点组合和各个单独的发送关系顶点分别作为编码 图中的各个元素,然后针对编码图中各个元素的生命时长,选择其中最小生命时长,并判断 该最小生命时长所对应元素的个数是否为1,是则将该最小生命时长所对应的元素,作为编 码图中的待发送元素,然后进入步骤005;否则进入步骤006。
[0071 ]步骤005 .针对编码图中的待发送元素,若该待发送元素为顶点组合,则获得源节 点针对该顶点组合中两个发送关系顶点分别所对应数据包实现同时发送的最短发送时长, 作为该顶点组合的最短发送时长;若该待发送元素为单独的发送关系顶点,则获得源节点 针对该单独的发送关系顶点所对应数据包实现发送的最短发送时长,作为该单独的发送关 系顶点的最短发送时长;进而获得编码图中待发送元素的最短发送时长,然后进入步骤 008 〇
[0072]步骤006.判断该最小生命时长所对应的各个元素中,若存在顶点组合,则分别针 对各个顶点组合,获得源节点针对顶点组合中两个发送关系顶点分别所对应数据包实现同 时发送的最短发送时长,作为该顶点组合的最短发送时长;若存在单独的发送关系顶点,则 分别针对各个单独的发送关系顶点,获得源节点针对单独的发送关系顶点所对应数据包实 现发送的最短发送时长,作为该单独的发送关系顶点的最短发送时长;进而获得该最小生 命时长所对应各个元素分别所对应的最短发送时长,然后进入步骤007。
[0073] 步骤007.针对编码图中该最小生命时长所对应各个元素分别所对应的最短发送 时长,选择其中最小的最短发送时长,获得该最小的最短发送时长所对应编码图中的元素, 作为编码图中的待发送元素,然后进入步骤008。
[0074] 步骤008 .针对编码图中的待发送元素,若待发送元素为顶点组合,则根据随机线 性网络编码算法,针对该顶点组合中两个发送关系顶点分别所对应数据包进行数据包打 包,获得大小与原单个数据包大小相同的打包数据包,然后源节点采用该待发送元素的最 短发送时长,针对该打包数据包进行广播发送,并在编码图中删除该顶点组合,进入步骤 009;若待发送元素为单独的发送关系顶点,则源节点采用该待发送元素的最短发送时长, 针对该单独的发送关系顶点所对应的数据包进行广播发送,并在编码图中删除该单独的发 送关系顶点,进入步骤009。
[0075] 其中,随机线性网络编码算法具体介绍,参考如下:
[0076] http://wenku.baidu.com/link?url = 16SBVMbB3GCvbRwbYlG_ dUMVp26h40⑶NpxqEJHz3tXpVHXyQfsL80EEw0VhfJgRptlpMYwYwmpYosYdShqlrd3dJmE0ItC4S wY6tln3Zl_
[0077] 彭木根,王月新,王文博.无线自组织网络的网络编码技术[J].中兴通讯技术, 2007,13(4):56-60;
[0078] 陶少国;黄佳庆;杨宗凯;乔文博;熊志强;;网络编码研究综述[J];小型微型计算 机系统;2008年04期;
[0079] http://download.csdn. net/detail/king55240470/7343113#comment
[0080] 步骤009.针对编码图中待发送元素所对应的目的节点进行状态更新,并判断编码 图是否为空,是则基于网络编码的无线网络中多速率数据分发方法结束;否则返回步骤 003〇
[0081] 将上述设计方法应用到实际当中,即为了评估本设计方法一一链路相关性感知的 多速率对偶编码算法(LMPC)的性能,我们可以与NNC方法,以及PWC方法进行比较,其中, NNC:不采取编码策略,每次仅选择一个生存期最小的数据包进行发送;PWC:源自对偶编码 算法,采取生存期最小的数据包与另一个可配对的生存期最小的数据包进行编码。
[0082]实际仿真实验分为两组,源节点S可选发送速率为1、2、4和5kbps,数据包大小为 lOkbit,链路接收成功率随机生成。为降低实验结果随机性,每组实验结果都是进行100次 随机实验后取得的均值。
[0083] 实验一中,目的节点数为5,源节点S需分发10个数据包,目的节点初始接收情况和 数据包生命时长随机生成。数据包生命时长取值范围分别设置为:[2,20]、[2,40]、[2,60]、 [2,80]、[2,100]和[2,120],生存期单位为秒。我们从成功率、分发用时和平均吞吐量角度 来评价LMPC。
[0084] 实验二中,设定数据包生命时长的取值范围是[2,40],目的节点数和源节点需要 分发的数据包数分别为:(3,3)、(4,4)、(5,5)、(6,6)、(7,7)和(8,8),每个目的节点接收情 况随机生成。本组实验中主要考察各算法分别所对应数据包平均投递成功率、数据包平均 吞吐量,以及数据包发送时长。
[0085] 其中,性能评价标准,仿真实验考虑的性能分析标准包括以下方面:
[0086] ?生命时长取值范围变化对数据包分发性能的影响。
[0087] ?生命时长取值范围固定对数据包分发性能的影响。
[0088] ?LMPC接收率分析。
[0089]图4a显示了不同算法下数据包平均投递成功率随数据包生命时长取值的变化。生 命时长取值变大时,源节点有机会分发更多数据包。当生命时长增加到一定程度后,即使是 NNC也能满足大部分数据包的生存期需求。由于PWC没有考虑链路相关性,因此无法精确地 估计期望传输次数。当数据包生命时长较大时,链路相关性产生的丢包数量高于超时,成功 率低于NNC。但是PWC结束时间更早,吞吐量比NNC高。LMPC能够有效权衡数据包生命时长、链 路相关性和发送时长,能够有效地提高发送效率。因为总有一定数目的生存期较小的数据 包,而一段时间内发送的数据包数目有限,一小部分数据包超时难以避免,所以数据包接收 比例始终无法达到100%。
[0090] 图4b显示了不同算法下数据包平均吞吐量随数据包生命时长取值的变化,由于 NNC没有采用网络编码,带宽利用率最低。PWC虽然采用了网络编码,但是仅考虑了数据包生 存期需求,忽略了链路相关性对编码数据发送延时的影响,因而吞吐量低于LMPC。
[0091] 图4c显示了不同算法下数据包发送时长随数据包生命时长取值的变化,采用NNC 时,随着数据包生命时长取值逐渐增加,数据包按照生命时长大小逐个发送,从而发送时长 最长。PWC和LMPC均采用了网络编码技术,PWC和LMPC比NNC发送的数据包更多,且用时较少, 更有利于后期数据分发。
[0092]如图5a_图5c中固定生命时长的取值范围为[2,40],其中,图5a反应了不同算法下 数据包平均投递成功率对应各种节点数与数据包数目组合在固定生命时长下的变化,由于 一段时间内源节点发送的数据包有限,因此越来越多的目的节点和数据包必然导致有效接 收比例下降。实际上根据图5b,越来越多的目的节点和数据包数目,对于LMPC来说,反而有 助于源节点进行编码选择和发送,因此在图5c中,实际上的数据包平均吞吐量略微增加。
[0093]图5d显示了不同算法下数据包发送时长对应各种节点数与数据包数目组合在固 定生命时长下的变化,当数据包较少时,PWC和LMPC能很快完成数据分发;而数据包增多时, 在固定时间内,PWC和LMPC也无法完成所有数据包分发,因此数据分发时间逐渐接近数据包 最大生存期。
[0094]值得注意的是,PWC和LMPC的结果曲线存在交叉的情况。如图4c所示,生命时长取 值较小时,由于采用了更好的权衡策略,LMPC能发送更多的数据包,发送时长较长。然而,当 生命时长取值逐渐变大,数据包生命时长已经不再是首要条件,由于LMPC权衡了发送时长, 发送同样多的数据包用时更少,因此能更早地完成数据分发。如图5d中,由于生命时长取值 不变,目的节点数目和数据包数变大,当需要发送的数据包较少时,LMPC能够较早地完成数 据分发。随着待发送的数据包数目增加,可供选择的编码方式更多,由于综合权衡了链路相 关性和发送用时的影响,LMPC在数据包生命时长一定的情况下,能分发的数据包更多,用时 也较长。
[0095]如下表1所示,给出了采用PWC时的数据包平均接收成功率和失败率。两者之和小 于1。这是因为在发送过程中,没有考虑链路相关性,当遇到负相关链路时,源节点对期望传 输次数的估计存在误差,容易造成丢包。当数据包生命时长较小时,大部分没有成功接收的 数据包都是由超时导致的,链路相关性的影响并不明显,而当生命时长变大时,相关性导致 的丢包体现越来越明显。采用LMPC时,因为考虑了链路相关性,避免了期望传输次数估计不 足导致的丢包。
[0096]由上述结果可知,通过合理利用链路相关性,LMPC无论是在数据包生命时长较小 还是生命时长较大的环境下,都可以显著提高数据分发效率。
[0098] 表 1
[0099] 本发明所设计基于网络编码的无线网络中多速率数据分发方法,采用对偶编码图 的方式,综合考虑链路间相关性、数据包生存期和期望传输时间等构建编码图,使算法能够 应用于相关性网络环境中;其中,采用贪心算法将求解问题从NP-hard问题降低到线性级 另IJ;在每一轮分发之前,剔除肯定超时的顶点和延迟敏感性较低的顶点,让能够满足时延要 求且延迟敏感性较高的顶点有较高的发送机会;并且应用数学方法描述构建对偶编码图, 并得出最优算法的复杂度为NPHiard问题;由此,提出链路相关性感知的多速率对偶编码算 法(LMPC),通过权衡传输延迟与数据包生命时长来确定编码策略和传输速率,在满足延迟 约束的基础上,有效提高了数据包接收数量。
[0100]上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施 方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下 做出各种变化。
【主权项】
1. 一种基于网络编码的无线网络中多速率数据分发方法,源节点通过广播发送方式针 对各个目的节点实现各个数据包的分发,其中,各个数据包的大小相同;其特征在于,包括 如下步骤: 步骤001.分别针对各个目的节点,根据目的节点所需的各个数据包,分别生成对应该 目的节点的各个发送关系顶点Vu,其中,该目的节点的一个数据包对应一个该目的节点的 发送关系顶点;进而获得分别对应各个目的节点各个所需数据包的发送关系顶点Vu,然后 进入步骤002;其中,i = {1、···、Ι},j = {1、···、】},1表示目的节点的个数,J表示数据包的种 类数,表示第i个目的节点需要第j个数据包; 步骤002.针对所有发送关系顶点,根据各个目的节点针对所需数据包的生命时长, 获得所有发送关系顶点中,源节点同时实现两个发送关系顶点所对应数据包发送的各 个顶点组合,并结合其余源节点单独实现发送关系顶点所对应数据包发送的各个发送关系 顶点,构成编码图,其中,各顶点组合中两个发送关系顶点分别所对应的目的节点彼此互不 相同,编码图中各个顶点组合中的两个发送关系顶点之间建立连线;然后进入步骤003; 步骤003.分别针对编码图中的各个顶点组合,获得顶点组合中两个发送关系顶点分别 所对应目的节点针对对应所需数据包的生命时长,选择其中最小的生命时长,作为该顶点 组合的生命时长;进而获得编码图中各个顶点组合的生命时长;同时,分别针对编码图中各 个单独的发送关系顶点,获得发送关系顶点所对应目的节点针对对应所需数据包的生命时 长,作为该发送关系顶点的生命时长,进而获得编码图中各个单独的发送关系顶点的生命 时长,然后进入步骤004; 步骤004.将编码图中的各个顶点组合和各个单独的发送关系顶点分别作为编码图中 的各个元素,然后针对编码图中各个元素的生命时长,选择其中最小生命时长,并判断该最 小生命时长所对应元素的个数是否为1,是则将该最小生命时长所对应的元素,作为编码图 中的待发送元素,然后进入步骤005;否则进入步骤006; 步骤005.针对编码图中的待发送元素,若该待发送元素为顶点组合,则获得源节点针 对该顶点组合中两个发送关系顶点分别所对应数据包实现同时发送的最短发送时长,作为 该顶点组合的最短发送时长;若该待发送元素为单独的发送关系顶点,则获得源节点针对 该单独的发送关系顶点所对应数据包实现发送的最短发送时长,作为该单独的发送关系顶 点的最短发送时长;进而获得编码图中待发送元素的最短发送时长,然后进入步骤008; 步骤006.判断该最小生命时长所对应的各个元素中,若存在顶点组合,则分别针对各 个顶点组合,获得源节点针对顶点组合中两个发送关系顶点分别所对应数据包实现同时发 送的最短发送时长,作为该顶点组合的最短发送时长;若存在单独的发送关系顶点,则分别 针对各个单独的发送关系顶点,获得源节点针对单独的发送关系顶点所对应数据包实现发 送的最短发送时长,作为该单独的发送关系顶点的最短发送时长;进而获得该最小生命时 长所对应各个元素分别所对应的最短发送时长,然后进入步骤007; 步骤007.针对编码图中该最小生命时长所对应各个元素分别所对应的最短发送时长, 选择其中最小的最短发送时长,获得该最小的最短发送时长所对应编码图中的元素,作为 编码图中的待发送元素,然后进入步骤008; 步骤008.针对编码图中的待发送元素,若待发送元素为顶点组合,则根据预设数据打 包算法,针对该顶点组合中两个发送关系顶点分别所对应数据包进行数据包打包,获得大 小与原单个数据包大小相同的打包数据包,然后源节点采用该待发送元素的最短发送时 长,针对该打包数据包进行广播发送,并在编码图中删除该顶点组合,进入步骤009;若待发 送元素为单独的发送关系顶点,则源节点采用该待发送元素的最短发送时长,针对该单独 的发送关系顶点所对应的数据包进行广播发送,并在编码图中删除该单独的发送关系顶 点,进入步骤009; 步骤009.针对编码图中待发送元素所对应的目的节点进行状态更新,并判断编码图是 否为空,是则基于网络编码的无线网络中多速率数据分发方法结束;否则返回步骤003。2. 根据权利要求1所述一种基于网络编码的无线网络中多速率数据分发方法,其特征 在于:所述步骤002具体包括如下步骤: 步骤00201.分别针对各个发送关系顶点V^,分别按如下步骤a进行操作,获得所有发 送关系顶点中,源节点同时实现两个发送关系顶点所对应数据包发送的各个顶点组合, 然后进入步骤00202; 步骤a.将该发送关系顶点作为待联系顶点,其余各个发送关系顶点分别作为待匹配顶 点,分别针对各个待匹配顶点,分别按如下步骤a01至步骤a04进行操作,获得该待联系顶点 分别与各个待匹配顶点中,相对源节点实现两个发送关系顶点所对应数据包发送的各个顶 点组合; 步骤a01.判断该待联系顶点所对应的目的节点与该待匹配顶点所对应的目的节点彼 此是否相同,是则该待联系顶点与该待匹配顶点之间不构成顶点组合;否则进入步骤a02; 步骤a02.获得该待联系顶点所对应目的节点的最大接收数据处理速率,以及获得该待 匹配顶点所对应目的节点的最大接收数据处理速率,选择该两个最大接收数据处理速率中 的最小接收数据处理速率,然后进入步骤a03; 步骤a03.根据数据包的大小和该最小接收数据处理速率,获得待匹配时长,然后进入 步骤a04; 步骤a04.获得该待联系顶点所对应目的节点针对对应所需数据包的生命时长,以及获 得该待匹配顶点所对应目的节点针对对应所需数据包的生命时长,并判断该两个生命时长 是否均小于等于该待匹配时长,是则该待联系顶点与该待匹配顶点,构成源节点同时实现 两个发送关系顶点所对应数据包发送的顶点组合;否则该待联系顶点与该待匹配顶点之间 不构成顶点组合; 步骤00202.针对所有发送关系顶点中,源节点同时实现两个发送关系顶点所对应 数据包发送的各个顶点组合,并结合其余源节点单独实现发送关系顶点所对应数据包发送 的各个发送关系顶点,构成编码图,其中,编码图中各个顶点组合中的两个发送关系顶点之 间建立连线。3. 根据权利要求1所述一种基于网络编码的无线网络中多速率数据分发方法,其特征 在于:所述步骤008中,若待发送元素为顶点组合,则根据随机线性网络编码算法,针对该顶 点组合中两个发送关系顶点分别所对应数据包进行数据包打包,获得大小与原单个数据包 大小相同的打包数据包。
【文档编号】H04L1/00GK106027202SQ201610331241
【公开日】2016年10月12日
【申请日】2016年5月18日
【发明人】白光伟, 葛进峰, 沈航, 曹磊, 张芃
【申请人】南京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1