CN102684856A - 一种数据重传方法及装置 - Google Patents
一种数据重传方法及装置 Download PDFInfo
- Publication number
- CN102684856A CN102684856A CN2012100192727A CN201210019272A CN102684856A CN 102684856 A CN102684856 A CN 102684856A CN 2012100192727 A CN2012100192727 A CN 2012100192727A CN 201210019272 A CN201210019272 A CN 201210019272A CN 102684856 A CN102684856 A CN 102684856A
- Authority
- CN
- China
- Prior art keywords
- packet
- row
- packet loss
- mode matrix
- loss mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明提供了一种数据重传方法,包括:源节点传输完N个数据包后获取这N个数据包的丢包模式矩阵,其中N为自然数;源节点分析获取的丢包模式矩阵得到待重传数据包的组合方式;以及源节点根据待重传数据包的组合方式对待重传的数据包进行组合编码得到待重传的编码包,并依次重传编码包。相应地,本发明还提供了一种数据重传装置。本发明通过分析丢包模式矩阵可以有效地对待重传数据包进行组合,减少重传次数,提高重传效率。
Description
技术领域
本发明涉及网络编码技术,特别涉及一种数据重传方法及装置。
背景技术
网络编码技术是一种融合了路由和编码的信息交换技术,其基本思想是允许网络的中间节点对接收到的信息流进行一定的编码处理,这可以使网络信息流达到多播传输的最大流界,而传统的存储转发模式则无法使信息流量达到多播传输的最大流界。网络编码充分利用的网络的信息容量,极大地提高了现有网络资源的利用率,应用前景非常广阔。
机会式网络编码是指节点侦听并保存所有邻节点广播的数据包,该节点在接收到中间节点发送的编码包后,利用缓存的数据包对编码包进行译码运算,最后恢复出原始数据包。
针对无线网络中信道的广播特性,机会式网络编码被应用于无线传输的研究,用于减少信息传输次数,提高网络的吞吐量,能量利用效率,降低延时和提高传输可靠性。同样地,将机会式网络编码的思想应用于无线多播网络的重传也可明显减少平均重传次数。在现阶段,鉴于无线信道比有线信道拥有更高的误码率和丢包率,如何提高重传效率已成为无线通信系统需要解决的关键问题之一。
发明内容
本发明的实施例提供了一种数据重传方法及装置,以减少重传次数,提高重传效率。
本发明实施例提出的数据重传方法包括:
A,源节点传输完N个数据包后获取这N个数据包的丢包模式矩阵,其 中N为自然数;
B,源节点分析获取的丢包模式矩阵得到待重传数据包的组合方式;以及
C,源节点根据待重传数据包的组合方式对待重传的数据包进行组合编码得到待重传的编码包,并依次重传编码包。
其中,获取这N个数据包的丢包模式矩阵包括:源节点在传输完N个数据包后根据终端反馈的ACK/NAK建立丢包模式矩阵。
具体而言,当源节点每传输完一个数据包,所有终端将利用ACK/NAK同步反馈其丢包情况;源节点在传输完N个数据包后根据终端反馈的ACK/NAK建立丢包模式矩阵;或者当源节点每传输完一个数据包,所有接收所述数据包的终端中的M个终端将利用ACK/NAK同步反馈其丢包情况;源节点在传输完N个数据包后根据上述M个终端反馈的ACK/NAK建立丢包模式矩阵。
上述方法可以进一步包括:源节点根据终端发送的参考信号从所有终端中选择信号质量最差的M个终端作为反馈ACK/NAK的终端,并通过下行控制信令通知所述M个终端反馈ACK/NAK。
上述M较佳的取值范围是10至15,例如可以等于10个。
源节点分析获取的丢包模式矩阵得到待重传数据包的组合方式包括:从丢包模式矩阵中去除元素全部为零的列,得到去零丢包模式矩阵;将去零丢包模式矩阵分割为两个子矩阵,其中,第一子矩阵每一列对应的编码包是可以组合重传的多个数据包,而第二子矩阵每一列对应的数据包是不能和其他数据包组合重传的数据包;对经过分割之后的第一子矩阵和第二子矩阵中的列进行进一步合并得到第二丢包模式矩阵和第三子矩阵,其中,合并后的第二丢包模式矩阵的列中的元素最多只有一个等于2;以及将第三子矩阵中的列合并到第二丢包模式矩阵中,得到反映待重传数据包的组合方式的第三丢包模式矩阵,其中,合并后的列所有元素均小于或等于1。
从丢包模式矩阵中去除元素全部为零的列包括:将丢包模式矩阵Ω中全部元素为零的列提出来组成一个子矩阵ω0;剩下的列组成去零丢包模式矩阵 ωα。
其中,将去零丢包模式矩阵分割为两个子矩阵包括:依次选择去零丢包模式矩阵ωα中的列,把从去零丢包模式矩阵ωα中选择的满足下述条件的所有列相加生成列θβk(1≤k≤K):条件①没有被其它列选择;条件② 合并后Ri(θβk)≤1;其中,Ri(θβk)表示列向量θβk中第i行元素值;将选择的列对应的数据包进行以比特模2加为基本运算的组合编码得到编码包Pk,并将相加后的列放入第一子矩阵ωβ中;以及将不能合并的列放入第二子矩阵ωγ。
对经过分割之后的第一子矩阵和第二子矩阵中的列进行进一步合并得到第二丢包模式矩阵和第三子矩阵包括:将第二子矩阵ωγ的所有列追加到第一子矩阵ωβ后面,构成第二丢包模式矩阵ωβγ;对于原第二子矩阵ωγ中的每一列θγl(1≤l≤L),在第二丢包模式矩阵ωβγ中选择满足下述条件的列θβγs(1≤s≤L+K,s≠l):θγl与θβγs合并后得到θβγs +, 有且仅有一个用户i*使得 其中, 表示列向量θβγs +中第i*行元素值;生成M维零列向量e,并使e(i*)=1,列向量e和θγl对应的数据包相同,然后将列向量e放入第三子矩阵ωμ,最后将θγl对应的数据包编入θβγs对应的编码包Ps。
将第三子矩阵中的列合并到第二丢包模式矩阵中包括:对于第三子矩阵ωμ中的列向量e,有e(i*)=1,依次判断ωβγ中的列θβγh(1≤h≤H),当满足 时,e的目的列为θβγh,然后将e加到目的列中;其中, 表示列向量e和列向量θβγs中第i*行元素值之和;将列向量e对应的数据包编入目的列θβγh对应的编码包Ph(1≤h≤H)中,并从第三子矩阵ωμ中删除列向量e;以及将第三子矩阵ωμ中不相等的列向量组成一组并加到一起,并把得到的列追加到第三丢包模式矩阵中,针对每一组,将该组内的各个列向量对应的数据包进行组合编码得到编码。
源节点根据待重传数据包的组合方式对待重传的数据包进行组合编码得到待重传的编码包包括:源节点根据第三丢包模式矩阵中每一列对应的编码包或数据包所示的组合方式对待重传的数据包进行以比特模2加为基本运算的组合编码得到待重传的编码包。
本发明实施例所述的数据重传方法进一步包括:在执行B的同时,判断是否还有数据包需要传输,如果有,则继续传输N′=floor(ΔT/TS)<N个新的数据包,其中,ΔT为源节点分析丢包模式矩阵得到待重传数据包的组合方式所需的处理时间;TS表示源节点S发送一个数据包花费的时间,floor(X)函数表示取大于有理数X的最小整数;以及在执行完C之后,继续传输N-N′个数据包,并获取新传输的N个数据包丢包模式矩阵,然后再返回B。
此外,源节点重传编码包的最大重传次数小于或等于5次。
本发明实施例所述的一种数据重传装置包括:
丢包模式矩阵获取单元,用于在每传输完N个数据包后获取这N个数据包的丢包模式矩阵,其中N为自然数;
组合方式确定单元,用于分析获取的丢包模式矩阵得到待重传数据包的组合方式;
编码单元,用于根据待重传数据包的组合方式对待重传的数据包进行组合编码得到待重传的编码包;以及
重传单元,用于依次重传编码包。
其中,组合方式确定单元包括:
去零模块,用于从丢包模式矩阵中去除元素全部为零的列,得到去零丢包模式矩阵;
分割模块,用于将去零丢包模式矩阵分割为两个子矩阵,其中,第一子矩阵每一列对应的编码包是可以组合重传的多个数据包,而第二子矩阵每一列对应的数据包是不能和其他数据包组合重传的数据包;
扩展模块,用于对经过分割之后的第一子矩阵和第二子矩阵中的列进行进一步合并得到第二丢包模式矩阵和第三子矩阵,其中,合并后的列中的元素最多只有一个等于2;以及
归并模块,用于将第三子矩阵中的列合并到第二丢包模式矩阵中,得到反映待重传数据包的组合方式的第三丢包模式矩阵,其中,合并后的列所有元素均小于或等于1。
本发明实施例所述的数据重传方法及装置通过分析丢包模式矩阵可以有效地对待重传数据包进行组合,得到待重传数据包的组合方式,从而减少重传次数,提高重传效率。
附图说明
图1为无线多播网络的拓扑模型示意图;
图2为本发明实施例所述的数据重传方法流程图;
图3为本发明实施例所述的数据重传装置结构示意图;
图4分别显示了接收数据包的终端数目为1000,采用本实施例的数据传输方法时全部反馈或部分反馈的情况下的解码成功概率与重传次数之间的关系;以及
图5显示了部分反馈次数与解码成功概率之间的关系。
具体实施方式
为了提高无线多播网络的重传效率,本发明的实施例提供了一种数据重传方法。
在本实施例中,实施重传算法的无线多播网络的拓扑模型如图1所示。在图1所示的无线多播网络中,S表示源节点,Ti(1≤i≤M)表示M个终端,S广播发送N个数据包Pj(1≤j≤N),M和N为自然数,完成发送(或重传)一个数据包的时隙为ST,期间所有终端Ti利用ACK/NAK同步反馈其丢包情况,并告知S其序号i。在本发明中,假定ACK/NAK和重传包的发送是可靠的,也即不存在丢失的情况。当S发送完N个数据包后,根据M个终端反馈的ACK/NAK信息能得到M个终端的丢包模式(Loss Pattern)。这个丢包模式可以用一个M×N的矩阵表示,记为丢包模式矩阵Ω。Ω中的元素βij表示第i个用户是否接收到第j个数据包,βij取值范围是{0,1},其中,等于0表示成功接收,等于1表示丢包。Ω中第i行表示终端Ti的丢包情况,第j列表示数据包Pj被接收的情况。如下表1显示了一个丢包模式矩阵Ω的 示例,在表1中,N=10,M=5。
P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | |
T1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
T2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
T3 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 |
T4 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
T5 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
表1
为了描述方便,在描述本发明的具体实施方式之前,首先给出如下几个定义:
定义1:大小为M×n的丢包模式矩阵Ω的子矩阵ω,n≤N。M表示终端数目,N表示数据包数目,且M,N≥1;
定义2:Ri(ω)表示矩阵ω中第i行所有元素值之和,故有0≤Ri(ω)≤n(1≤i≤M),Cj(ω)表示ω中第j列所有元素值之和,故0≤Cj(ω)≤M(1≤j≤n),O(ω)表示ω中Ri(ω)≠0的数目,可得0≤O(ω)≤M;
定义3:Dj(1≤j≤N)表示所有终端恢复出数据包Pj的计算开销。具体而言,某一终端在恢复Pj时,每进行一次异或运算,则Dj增加1。
当一个终端有ε(1≤ε≤N)个数据包丢失时,终端最多从每个重传包中得到一个数据包,因此重传算法至少需要重传ε次,至多需要重传N次。当M个终端分别丢包ε1,ε2,...和εM时,通过广播的方式进行重传时,重传算法的重传次数Rt一定满足如下算式(1)所示的条件:
Max(εi)<Rt≤Min(N,∑εi),i=1,2,...,M (1)
本发明实施例所述的数据重传方法提出的主要目标就是尽可能的减少重传次数Rt。下面就结合具体的示例以及附图详细描述本发明的实施例。本发明实施例所提供的数据重传方法如图2所示,主要包括如下步骤:
步骤1,源节点S传输完N个数据包后获取丢包模式矩阵Ω。
在无线多播网络中,终端可以采用全部反馈或部分反馈的方式向源节点 S反馈其丢包情况。
在全部反馈方式下,当源节点S每传输完一个数据包,所有终端将利用ACK/NAK同步反馈其丢包情况,并告知源节点S其序号i,例如,如果正确接收到数据包,则反馈ACK;如果没有收到数据包或接收错误,则反馈NAK。如此,源节点S在传输完N个数据包后即可根据所有终端反馈的ACK/NAK建立丢包模式矩阵Ω。例如,建立一个M×N的矩阵,其中的元素βij表示第i个用户是否接收到第j个数据包,βij取值范围是{0,1},其中,等于0表示成功接收,等于1表示丢包。
在部分反馈方式下,当源节点S每传输完一个数据包,无线多播网络中的部分终端将利用ACK/NAK同步反馈其丢包情况,并告知源节点S其序号i,而其他终端将不向源节点S反馈其丢包情况。在这种情况下,源节点S在传输完N个数据包后也可根据上述部分终端反馈的ACK/NAK建立丢包模式矩阵Ω。例如,也建立一个M×N的矩阵,其中的元素βij表示第i个用户是否接收到第j个数据包,βij取值范围是{0,1},其中,等于0表示成功接收,等于1表示丢包,M表示向源节点S反馈其丢包情况的终端的数目。
步骤2,源节点S分析丢包模式矩阵Ω得到待重传数据包的组合方式。也即源节点S分析丢包模式矩阵Ω得到重传包发送的丢包组合方式。
步骤3,源节点S根据待重传数据包的组合方式对待重传的数据包进行组合编码得到待重传的编码包,并依次重传编码包。
本步骤所述的组合编码具体为以比特模2加为基本运算的组合编码。
在本实施例中,源节点S通过分析丢包模式矩阵Ω可以有效地对待重传数据包进行组合,得到待重传数据包的组合方式,以减少重传次数,提高重传效率。
在上述步骤2中,源节点S分析丢包模式矩阵Ω得到待重传数据包的组合方式具体包括:去零、分割、扩展以及归并四个过程。下面将对这四个过程分别详细说明:
第一个过程,去零,即从丢包模式矩阵Ω中去除元素全部为零的列。
由于M个终端发生丢包的概率相互独立,因此,丢包模式矩阵Ω中值为1的元素位置也完全随机。根据Ω中每列元素中值为1的数目,可以把Ω拆分成2个子矩阵ω0和ωα,这两个子矩阵的行数均是M,列数分别是n0和nα。ω0和ωα满足定义1且满足n0+nα=N。其中,ω0是零矩阵,满足Cj(ω0)=0,ωα由Ω中满足0<Cj(ωα)≤M的列组成,称为去零丢包模式矩阵。也即,在上述过程中,将丢包模式矩阵Ω中全部元素为零的列提出来组成一个子矩阵ω0;剩下的列组成去零丢包模式矩阵ωα。ω0和ωα至少有一个存在,若某个矩阵不存在,其列数为0。其中,子矩阵ω0对应的数据包已被所有终端正确接收,因此,不需要重传。而去零丢包模式矩阵ωα对应的数据包是需要重传的。
以表1所示丢包模式矩阵Ω为例,ω0是Ω的第5列,ωα由Ω中除第5列之外余下的9列组成。如下的表2显示了在对表1所示的丢包模式矩阵Ω中进行去零处理后得到的去零丢包模式矩阵ωα。
P1 | P2 | P3 | P4 | P6 | P7 | P8 | P9 | P10 | |
T1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
T2 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
T3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 |
T4 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
T5 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
表2
第二个过程,分割,即将去零丢包模式矩阵ωα分割为两个子矩阵,其中,第一子矩阵每一列对应的编码包是可以组合重传的多个数据包,而第二子矩阵每一列对应的数据包是不能和其他数据包组合重传的数据包。也即,将去零丢包模式矩阵ωα中的列经过处理后划分为两个新的丢包模式子矩阵:第一子矩阵ωβ和第二子矩阵ωγ。其中,第一子矩阵ωβ的列θβk(1≤k≤K)对应编码包Pk。第一子矩阵ωβ中的元素ηij表示第i个用户的丢包在第j个编码包组合中的个数,ηij的取值集合为{0,1}。第二子矩阵ωγ为去零丢包模式 矩阵ωα的子集。
上述分割过程具体包括:
第一步,依次选择去零丢包模式矩阵ωα中的列,把从去零丢包模式矩阵ωα中选择的满足下述条件的所有列相加生成列θβk;
条件①没有被其它列选择;
第二步,将选择的列对应的数据包以比特模2加为基本运算进行组合编码得到编码包Pk,并将相加后的列放入第一子矩阵ωβ中;
第三步,将不能合并的列放入第二子矩阵ωγ。
需要说明的是,经分割后得到的编码包Pk是完全可译的,因为该编码包Pk中至多包含某一用户的一个丢包,用户可以通过若干次异或运算得到丢失包。
例如,如果对上述表2所示的去零丢包模式矩阵ωα进行分割,以ωα中的第一列为例,从ωα中选择P1和P2相加后生成θβ1,同理可从ωα中选择P3和P4相加后生成θβ2以及从ωα中选择P6和P8相加后生成θβ3,从而得到第一子矩阵ωβ。ωα中P7,P9和P10为不满足相加条件不能合并的数据包,故它们对应的列被放入第二子矩阵ωγ。如下的表3和表4分别显示了对表2所示的去零丢包模式矩阵ωα进行分割后得到的第一子矩阵ωβ和第二子矩阵ωγ。
表3
P7 | P9 | P10 | |
T1 | 1 | 1 | 1 |
[0075]
T2 | 1 | 0 | 0 |
T3 | 1 | 1 | 0 |
T4 | 1 | 0 | 0 |
T5 | 1 | 0 | 1 |
表4
第三个过程,扩展,即对经过分割之后的第一子矩阵ωβ和第二子矩阵ωγ中的列进行进一步合并得到第二丢包模式矩阵ωβγ和第三子矩阵ωμ,其中,合并后的列中的元素最多只有一个等于2。
该扩展过程具体包括如下步骤:
第一步,将第二子矩阵ωγ的所有列追加到第一子矩阵ωβ后面,构成新的丢包模式矩阵,称为第二丢包模式矩阵ωβγ。
第二步,对于原第二子矩阵ωγ中的每一列θγl(1≤l≤L),在第二丢包模式矩阵ωβγ中选择满足下述条件的列θβγs(1≤s≤L+K,s≠l):θγl与θβγs合并后得到θβγs +, 有且仅有一个用户i*使得
第三步,生成M维零列向量e,并使e(i*)=1,列向量e和θγl对应的数据包相同,然后将列向量e放入第三子矩阵ωμ,最后将θγl对应的数据包编入θβγs对应的编码包Ps。
扩展完成后得到的第二丢包模式矩阵ωβγ中的列为θβγh(1≤h≤H)。对于终端来说,这一阶段的编码包中可能包括2个其需要的丢包,故终端将不能恢复出丢包。
在对上述表3和表4所示的第一子矩阵ωβ和第二子矩阵ωγ进行扩展过程中,只有P9满足扩展的条件,并被加到第一个编码包中。如下的表5和表6分别显示了对表3和表4所示的第一子矩阵ωβ和第二子矩阵ωγ进行扩展后得到的第二丢包模式矩阵ωβγ和第三子矩阵ωμ。
表5
P9 | |
T1 | 0 |
T2 | 0 |
T3 | 1 |
T4 | 0 |
T5 | 0 |
表6
第四个过程,归并,即将第三子矩阵ωμ中的列合并到第二丢包模式矩阵ωβγ中,得到第三丢包模式矩阵,其中,合并后的列所有元素均小于或等于1。归并的目的就是为了解决因扩展造成的终端不能恢复丢包的问题。
上述归并过程具体包括如下步骤:
第二步,将e对应的数据包编入目的列θβγh对应的编码包Ph(1≤h≤H)中,并从第三子矩阵ωμ中删除列向量e。
第三步,将第三子矩阵ωμ中不相等的列向量组成一组并加到一起,并把得到的列追加到第三丢包模式矩阵中,针对每一组,将该组内的各个列向量对应的数据包进行组合编码得到编码包。
在对表5和表6所示的第二丢包模式矩阵ωβγ和第三子矩阵ωμ进行归并操作时,扩展出来的对应于P9的列向量e的目的列为θβ2,将故e并入θβ2,同时把P9编入θβ2对应的编码包。如下的表7显示了对表5和表6所示的第二丢包模式矩阵ωβγ和第三子矩阵ωμ进行归并后得到的第三丢包模式矩阵。
表7
上述第三丢包模式矩阵即反映了待重传数据包的组合方式,也即第三丢包模式矩阵中每一列对应的编码包或数据包即反映了待重传数据包的组合方式。
在得到了上述第三丢包模式矩阵之后,在步骤3,源节点S即可根据第三丢包模式矩阵中每一列对应的编码包或数据包所示的组合方式对待重传的数据包进行以比特模2加为基本运算的组合编码得到待重传的编码包,并依次重传编码包。
从上述方法可以看出,源节点S通过去零、分割、扩展以及归并四个过程可以得到待重传数据包的组合方式,可大大减少数据包重传的次数,同时还能够保证终端对数据包的正确恢复,特别是在用户终端数目较多而数据包的数目较少的情况下效果更为明显。例如,对应表1所示的丢包模式矩阵Ω,经过上述四个过程的操作,可以将需要重传的数据包P1,P2,P3,P4,P6,P7,P8,P9和P10,重新组合为编码包 以及数据包P7和P10。这样,仅需要5次重传即可完成对9个待重传数据包的重传。具体而言,终端T3在收到第1个重传包时,可以恢复 接着从第二个重传包中恢复出P9,再进行一次异或操作即可得到P1。而对于其他用户来说,所有的编码包都是完全可译的。由此可见,通过去零、分割、扩展以及归并四个过程得到的待重传数据包的组合方式可大大减少数据包重传的次数,同时还能够保证终端对数据包的正确恢复。
下述内容为源节点S对丢包模式矩阵Ω进行分割、扩展以及归并的伪代码。
另外需要说明的是,上述数据重传方法在得到N个数据包的丢包模式矩阵Ω后,源节点S需要对Ω进行分析得出重传包的组合方法,再开始进行重传,因此从得到丢包模式矩阵Ω到重传开始之间有一定的时间延迟,假设这段时间延迟为ΔT,ΔT即为源节点S分析丢包模式矩阵Ω得到待重传数据包的组合方式所需的处理时间,为了不影响系统的数据传输效率,还可以在执 行上述步骤2的同时判断是否还有新的数据包需要传输,如果有,则继续传输N′=floor(ΔT/TS)<N个新的数据包,其中,TS表示源节点S发送一个数据包花费的时间,floor(X)函数表示取大于有理数X的最小整数,然后再执行上述步骤3;在执行完步骤3之后继续传输N-N′个数据包,并获取新的N个数据包丢包模式矩阵Ω,然后再返回步骤2。
综上所述,源节点在对Ω进行处理的同时,继续发送下一组数据包,除了最后一次分析丢包模式矩阵Ω时会造成数据发送的间断,其余时间源节点可以连续发送数据,从而保证了系统数据传输的效率。
对应上述数据重传方法,本发明的实施例还给出了一种数据重传装置。如图3所示,该装置包括:
丢包模式矩阵获取单元,用于在每传输完N个数据包后获取这N个数据包的丢包模式矩阵;
组合方式确定单元,用于分析获取的丢包模式矩阵得到待重传数据包的组合方式;
编码单元,用于根据待重传数据包的组合方式对待重传的数据包进行组合编码得到待重传的编码包;以及
重传单元,用于依次重传编码包。
其中,上述组合方式确定单元包括:
去零模块,用于从丢包模式矩阵中去除元素全部为零的列,得到去零丢包模式矩阵;
分割模块,用于将去零丢包模式矩阵分割为两个子矩阵,其中,第一子矩阵每一列对应的编码包是可以组合重传的多个数据包,而第二子矩阵每一列对应的数据包是不能和其他数据包组合重传的数据包;
扩展模块,用于对经过分割之后的第一子矩阵和第二子矩阵中的列进行进一步合并得到第二丢包模式矩阵和第三子矩阵,其中,合并后的列中的元素最多只有一个等于2;以及
归并模块,用于将第三子矩阵中的列合并到第二丢包模式矩阵中,得到 反映待重传数据包的组合方式的第三丢包模式矩阵,其中,合并后的列所有元素均小于或等于1。
具体而言,上述去零模块、分割模块、扩展模块以及归并模块将分别执行上述去零、分割、扩展以及归并过程完成对丢包模式矩阵Ω的分析和处理。
同理,在本实施例中数据重传装置通过去零模块、分割模块、扩展模块以及归并模块的处理可以有效地对待重传数据包进行组合,大大减少数据包重传的次数,同时还能够保证终端对数据包的正确恢复。
需要说明的是,本发明实施例提供的数据重传方法和装置是基于丢包模式矩阵Ω而做出的,因此,要求无线多播网络采用全部反馈或部分反馈的方式由终端向源节点S反馈其丢包信息,因此,不适用于无反馈的无线多播网络的数据重传。
如前所述,在上述步骤1中源节点S传输完N个数据包后可以根据部分终端反馈的ACK/NAK获取丢包模式矩阵Ω。那么,在部分反馈的情况下如何确定反馈ACK/NAK的终端的数目是部分反馈需要解决的问题之一。通过大量的仿真可以得到如下的结论:不管实际的接收数据包的终端有多少个,反馈ACK/NAK的终端的数目设置为10个或10个左右即可获得较佳的解码成功概率,在这种情况下,单方面的增加反馈ACK/NAK的终端的数目并不会大幅增加解码成功概率,反而会大幅增加解码以及重传过程的计算复杂度以及开销。
此外,如何选择反馈ACK/NAK的终端也是部分反馈需要解决的一个问题。在本实施例中,可以采用最差信道反馈的准则,也就是令信道条件最差的那些节点反馈自身接收数据包的情况。在实际应用中,首先可以要求接收数据包的终端向源节点发送参考信号。然后,源节点根据终端发送的参考信号从中选择信号质量最差的M个终端作为反馈ACK/NAK的终端,并通过下行控制信令通知这M个终端需要反馈ACK/NAK。这样,源节点在收到这M个终端反馈的ACK/NAK后就可以生成丢包模式矩阵Ω了。
再次,根据大量仿真结果可以确定源节点重传数据包的最大重传次数应 该以小于或等于5比较适宜。这一方面既可以满足用户对解码成功概率的要求(例如大于95%),另一方面重传所需的开销也在可控的程度。也即,在重传次数达到5次以后,单方面的增加重传次数并不会大幅增加解码成功概率,反而会大幅增加重传的开销。
图4分别显示了接收数据包的终端数目为1000,采用本实施例的数据传输方法时全部反馈或部分反馈(10个用户反馈ACK/NAK)的情况下的解码成功概率与重传次数之间的关系。其中,图4的横轴代表重传次数,纵轴代表解码成功概率,图4中实线所示的曲线代表采用全部反馈的情况下解码成功概率与重传次数之间的关系;图4中带十字的曲线代表采用部分反馈的情况下解码成功概率与重传次数之间的关系。从图4可以看出,当重传次数小于或等于5次的时候,采用部分反馈时获得的解码成功概率要高于采用全部反馈时获得的解码成功概率。也就是说,在给定最大重传次数的限定下,本实施例所述的算法将更适用于采用部分反馈的情况。
此外,从图4的仿真结果可以看到,当采用部分反馈的情况下,如果信道条件比较恶劣(丢包率为0.1),解码成功概率并不能达到99%。这对于那些对视频要求比较高的用户来说,这样的视频质量是无法容忍的。为了进一步提高视频质量,本发明提出了多次部分反馈的概念。即根据第一次的反馈结果,完成一个重传周期之后,可再挑选10个最差用户进行反馈,然后,再进行一个重传周期。采用这样简单的扩展,就可以使得解码成功概率达到99%以上,如图5所示。图5显示了部分反馈次数与解码成功概率之间的关系。从图5可以看出,随着部分反馈次数的增加,解码成功概率将得到增加。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种数据重传方法,其特征在于,包括:
A,源节点传输完N个数据包后获取这N个数据包的丢包模式矩阵,其中N为自然数;
B,源节点分析获取的丢包模式矩阵得到待重传数据包的组合方式;以及
C,源节点根据待重传数据包的组合方式对待重传的数据包进行组合编码得到待重传的编码包,并依次重传编码包。
2.根据权利要求1所述的方法,其特征在于,获取这N个数据包的丢包模式矩阵包括:源节点在传输完N个数据包后根据终端反馈的ACK/NAK建立丢包模式矩阵。
3.根据权利要求2所述的方法,其特征在于,源节点在传输完N个数据包后根据终端反馈的ACK/NAK建立丢包模式矩阵包括:当源节点每传输完一个数据包,所有终端将利用ACK/NAK同步反馈其丢包情况;源节点在传输完N个数据包后根据所有终端反馈的ACK/NAK建立丢包模式矩阵。
4.根据权利要求2所述的方法,其特征在于,源节点在传输完N个数据包后根据终端反馈的ACK/NAK建立丢包模式矩阵包括:当源节点每传输完一个数据包,所有接收所述数据包的终端中的M个终端将利用ACK/NAK同步反馈其丢包情况;源节点在传输完N个数据包后根据上述M个终端反馈的ACK/NAK建立丢包模式矩阵。
5.根据权利要求4所述的方法,其特征在于,进一步包括:
源节点根据终端发送的参考信号从所有终端中选择信号质量最差的M个终端作为反馈ACK/NAK的终端,并通过下行控制信令通知所述M个终端反馈ACK/NAK。
6.根据权利要求4或5所述的方法,其特征在于,所述M的取值范围为10至15个。
7.根据权利要求1所述的方法,其特征在于,源节点分析获取的丢包模式矩阵得到待重传数据包的组合方式包括:
从丢包模式矩阵中去除元素全部为零的列,得到去零丢包模式矩阵;
将去零丢包模式矩阵分割为两个子矩阵,其中,第一子矩阵每一列对应的编码包是可以组合重传的多个数据包,而第二子矩阵每一列对应的数据包是不能和其他数据包组合重传的数据包;
对经过分割之后的第一子矩阵和第二子矩阵中的列进行进一步合并得到第二丢包模式矩阵和第三子矩阵,其中,合并后的第二丢包模式矩阵的列中的元素最多只有一个等于2;以及
将第三子矩阵中的列合并到第二丢包模式矩阵中,得到反映待重传数据包的组合方式的第三丢包模式矩阵,其中,合并后的列所有元素均小于或等于1。
8.根据权利要求7所述的方法,其特征在于,从丢包模式矩阵中去除元素全部为零的列包括:将丢包模式矩阵Ω中全部元素为零的列提出来组成一个子矩阵ω0;剩下的列组成去零丢包模式矩阵ωα。
10.根据权利要求7所述的方法,其特征在于,对经过分割之后的第一子矩阵和第二子矩阵中的列进行进一步合并得到第二丢包模式矩阵和第三子矩阵包括:
将第二子矩阵ωγ的所有列追加到第一子矩阵ωβ后面,构成第二丢包模式矩阵ωβγ;
对于原第二子矩阵ωγ中的每一列θγl(1≤l≤L),在第二丢包模式矩阵ωβγ中选择满足下述条件的列θβγs(1≤s≤L+K,s≠l):θγl与θβγs合并后得到θβγs +,有且仅有一个用户i*使得其中,表示列向量θβγs +中第i*行元素值;以及
生成M维零列向量e,并使e(i*)=1,列向量e和θγl对应的数据包相同,然后将列向量e放入第三子矩阵ωμ,最后将θγl对应的数据包编入θβγs对应的编码包Ps。
12.根据权利要求7所述的方法,其特征在于,源节点根据待重传数据包的组合方式对待重传的数据包进行组合编码得到待重传的编码包包括:源节点根据第三丢包模式矩阵中每一列对应的编码包或数据包所示的组合方式对待重传的数据包进行以比特模2加为基本运算的组合编码得到待重传的编码包。
13.根据权利要求1所述的方法,其特征在于,进一步包括:
在执行B的同时,判断是否还有数据包需要传输,如果有,则继续传输N′=floor(ΔT/TS)<N个新的数据包,其中,ΔT为源节点分析丢包模式矩阵得到待重传数据包的组合方式所需的处理时间;TS表示源节点S发送一个数据包花费的时间,floor(X)函数表示取大于有理数X的最小整数;以及
在执行完C之后,继续传输N-N′个数据包,并获取新传输的N个数据包丢包模式矩阵,然后再返回B。
14.根据权利要求1所述的方法,其特征在于,进一步包括:源节点重传编码包的最大重传次数小于或等于5次。
15.一种数据重传装置,其特征在于,包括:
丢包模式矩阵获取单元,用于在每传输完N个数据包后获取这N个数据包的丢包模式矩阵,其中N为自然数;
组合方式确定单元,用于分析获取的丢包模式矩阵得到待重传数据包的组合方式;
编码单元,用于根据待重传数据包的组合方式对待重传的数据包进行组合编码得到待重传的编码包;以及
重传单元,用于依次重传编码包。
16.根据权利要求15所述的装置,其特征在于,所述组合方式确定单元包括:
去零模块,用于从丢包模式矩阵中去除元素全部为零的列,得到去零丢包模式矩阵;
分割模块,用于将去零丢包模式矩阵分割为两个子矩阵,其中,第一子矩阵每一列对应的编码包是可以组合重传的多个数据包,而第二子矩阵每一列对应的数据包是不能和其他数据包组合重传的数据包;
扩展模块,用于对经过分割之后的第一子矩阵和第二子矩阵中的列进行进一步合并得到第二丢包模式矩阵和第三子矩阵,其中,合并后的第二丢包模式矩阵的列中的元素最多只有一个等于2;以及
归并模块,用于将第三子矩阵中的列合并到第二丢包模式矩阵中,得到反映待重传数据包的组合方式的第三丢包模式矩阵,其中,合并后的列所有元素均小于或等于1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210019272.7A CN102684856B (zh) | 2011-01-25 | 2012-01-20 | 一种数据重传方法及装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100325207 | 2011-01-25 | ||
CN201110032520.7 | 2011-01-25 | ||
CN201110032520 | 2011-01-25 | ||
CN201210019272.7A CN102684856B (zh) | 2011-01-25 | 2012-01-20 | 一种数据重传方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102684856A true CN102684856A (zh) | 2012-09-19 |
CN102684856B CN102684856B (zh) | 2016-09-28 |
Family
ID=46816268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210019272.7A Expired - Fee Related CN102684856B (zh) | 2011-01-25 | 2012-01-20 | 一种数据重传方法及装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5989346B2 (zh) |
CN (1) | CN102684856B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014205724A1 (zh) * | 2013-06-27 | 2014-12-31 | 华为技术有限公司 | 自动重传处理方法、发送端设备及接收端设备 |
CN104539546A (zh) * | 2015-01-19 | 2015-04-22 | 中国人民解放军国防科学技术大学 | 基于网络编码的geo卫星网络bgp路由多播传输方法 |
WO2015106444A1 (zh) * | 2014-01-17 | 2015-07-23 | 华为技术有限公司 | 一种数据包的传输方法和传输设备 |
CN107026714A (zh) * | 2017-03-23 | 2017-08-08 | 西安电子科技大学 | 无线多播中基于混合网络编码的用户协作方法 |
WO2019101104A1 (en) * | 2017-11-22 | 2019-05-31 | Huawei Technologies Co., Ltd. | Method and system for multicast and broadcast services |
CN110391879A (zh) * | 2019-07-15 | 2019-10-29 | 湖南大学 | 数据传输网络的丢包恢复方法、装置和计算机设备 |
CN111510259A (zh) * | 2020-03-19 | 2020-08-07 | 西安电子科技大学 | 一种基于超可靠低时延通信和noma技术的新型重传方法 |
CN113300816A (zh) * | 2020-07-15 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 节点定位方法、网络传输方法、装置及设备 |
WO2023143021A1 (zh) * | 2022-01-27 | 2023-08-03 | 华为技术有限公司 | 一种数据重传编码方法及编码装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079389A (zh) * | 2013-03-25 | 2014-10-01 | 株式会社Ntt都科摩 | 移动广播业务的重传方法 |
US9686358B2 (en) * | 2014-01-22 | 2017-06-20 | Alcatel Lucent | Devices and methods for network-coded and caching-aided content distribution |
CN106330413B (zh) * | 2015-06-30 | 2023-07-14 | 华润微集成电路(无锡)有限公司 | 控制2.4g无线音频传输丢包的方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070274324A1 (en) * | 2006-05-26 | 2007-11-29 | Microsoft Corporation | Local network coding for wireless networks |
CN101714915A (zh) * | 2009-11-02 | 2010-05-26 | 清华大学 | 一种数据重传方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04362819A (ja) * | 1991-06-10 | 1992-12-15 | Eisei Tsushin Syst Gijutsu Kenkyusho:Kk | 同報通信装置 |
JP2009515401A (ja) * | 2005-11-04 | 2009-04-09 | ノキア コーポレイション | マルチキャスト及び/又は同報肯定応答機構 |
CN101494529A (zh) * | 2008-01-21 | 2009-07-29 | 松下电器产业株式会社 | 组播系统中的xor重传方法、基站和用户设备 |
CN101981953A (zh) * | 2008-01-29 | 2011-02-23 | 夏普株式会社 | 通信设备、通信方法 |
-
2012
- 2012-01-20 CN CN201210019272.7A patent/CN102684856B/zh not_active Expired - Fee Related
- 2012-01-25 JP JP2012012617A patent/JP5989346B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070274324A1 (en) * | 2006-05-26 | 2007-11-29 | Microsoft Corporation | Local network coding for wireless networks |
CN101714915A (zh) * | 2009-11-02 | 2010-05-26 | 清华大学 | 一种数据重传方法及系统 |
Non-Patent Citations (1)
Title |
---|
卢冀等: "无线网络中应用机会式网络编码的广播重传方法", 《西安交通大学学报》, vol. 45, no. 2, 29 November 2010 (2010-11-29), pages 68 - 72 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014205724A1 (zh) * | 2013-06-27 | 2014-12-31 | 华为技术有限公司 | 自动重传处理方法、发送端设备及接收端设备 |
US10110344B2 (en) | 2014-01-17 | 2018-10-23 | Huawei Technologies Co., Ltd. | Data packet transmission method and transmission device |
WO2015106444A1 (zh) * | 2014-01-17 | 2015-07-23 | 华为技术有限公司 | 一种数据包的传输方法和传输设备 |
CN104539546A (zh) * | 2015-01-19 | 2015-04-22 | 中国人民解放军国防科学技术大学 | 基于网络编码的geo卫星网络bgp路由多播传输方法 |
CN107026714B (zh) * | 2017-03-23 | 2019-10-25 | 西安电子科技大学 | 无线多播中基于混合网络编码的用户协作方法 |
CN107026714A (zh) * | 2017-03-23 | 2017-08-08 | 西安电子科技大学 | 无线多播中基于混合网络编码的用户协作方法 |
WO2019101104A1 (en) * | 2017-11-22 | 2019-05-31 | Huawei Technologies Co., Ltd. | Method and system for multicast and broadcast services |
US10932095B2 (en) | 2017-11-22 | 2021-02-23 | Huawei Technologies Co., Ltd. | Method and system for multicast and broadcast services |
US11483680B2 (en) | 2017-11-22 | 2022-10-25 | Huawei Technologies Co., Ltd. | Method and system for multicast and broadcast services |
CN110391879A (zh) * | 2019-07-15 | 2019-10-29 | 湖南大学 | 数据传输网络的丢包恢复方法、装置和计算机设备 |
CN111510259A (zh) * | 2020-03-19 | 2020-08-07 | 西安电子科技大学 | 一种基于超可靠低时延通信和noma技术的新型重传方法 |
CN111510259B (zh) * | 2020-03-19 | 2021-07-13 | 西安电子科技大学 | 一种基于超可靠低时延通信和noma技术的新型重传方法 |
CN113300816A (zh) * | 2020-07-15 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 节点定位方法、网络传输方法、装置及设备 |
WO2023143021A1 (zh) * | 2022-01-27 | 2023-08-03 | 华为技术有限公司 | 一种数据重传编码方法及编码装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5989346B2 (ja) | 2016-09-07 |
CN102684856B (zh) | 2016-09-28 |
JP2012157005A (ja) | 2012-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102684856A (zh) | 一种数据重传方法及装置 | |
CN101548498B (zh) | 具有线性独立数据分组编码的可靠多播 | |
CN102638331B (zh) | 基于随机线性网络编码的无线可靠广播方法 | |
JP2017153163A (ja) | パリティパケットを用いた通信方法、通信装置及び中継器 | |
CN102497248B (zh) | 基于网络编码的数据重传方法 | |
CN101714915A (zh) | 一种数据重传方法及系统 | |
CN103281166A (zh) | 一种基于极化码的混合自动重传请求传输方法 | |
CN103069728B (zh) | 用于在通信网络中进行中继的方法和装置 | |
CN101789846B (zh) | 一种解速率匹配方法及装置 | |
CN101442383B (zh) | 一种高阶调制中的比特优先映射方法 | |
CN103067137A (zh) | 基于网络编码的多播重传方法 | |
CN102957511B (zh) | 一种数据传输的自适应降速方法 | |
CN108966259B (zh) | 一种基于网络编码的抗干扰传输方法 | |
CN112600647B (zh) | 基于网络编码续航的多跳无线网络传输方法 | |
CN103634083A (zh) | 一种适用于传感器网络的动态网络编码丢包重传方法 | |
CN102013951A (zh) | 一种使用喷泉码的无线通信网络编码方法 | |
CN101090306A (zh) | 一种业务信道中的编码复用和解码解复用方法 | |
CN105515728A (zh) | 一种基于滑动窗口的网络编码方法 | |
CN104852788A (zh) | 基于最大-最小网络编码的数据广播arq方法 | |
Nguyen et al. | On transmission efficiency for wireless broadcast using network coding and fountain codes | |
Wu et al. | Efficient network coding-based multicast retransmission mechanism for mobile communication networks | |
CN101552661A (zh) | 一种差错控制方法 | |
CN102983952B (zh) | 具有线性独立数据分组编码的可靠多播方法和装置 | |
CN105721119A (zh) | 基于机会式网络编码搜寻最优关联包的重传方法 | |
CN102307076A (zh) | 无冗余的抗干扰编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160928 Termination date: 20180120 |