一种数据包传输方法、发送端设备及接收端设备的制造方法
【专利摘要】本发明实施例提供一种数据包传输方法、发送端设备及接收端设备,该方法包括:在向各接收端设备发送一批次的原始数据包后,接收各接收端设备报告的数据包丢失信息;根据各接收端设备的丢失数据包集合,确定所有接收端设备的总丢失数据包集合;根据总丢失数据包集合确定重传编码数据包的次数;根据所述次数、发送的原始数据包的数目,以改进范德蒙矩阵对编码数据包进行编码,确定每次重传的编码数据包;基于所确定的每次重传的编码数据包,在每次重传时向各接收端设备重传相应的编码数据包。本发明实施例可在多播通信系统中,高效的实现丢失数据包的重传,提升多播通信系统的数据传输时效性及可靠性。
【专利说明】
-种数据包传输方法、发送端设备及接收端设备
技术领域
[0001] 本发明设及通信技术领域,更具体地说,设及一种数据包传输方法、发送端设备及 接收端设备。
【背景技术】
[0002] 近年来,物联网,云计算,移动互联网发展的如火如茶,随之而来各种新的应用层 出不穷,越来越多的服务使得带宽资源更加紧张,如何提高带宽利用率已成为最受关注的 研究热点之一;而多播技术可W有效提高带宽的利用率,其已经广泛应用在网络视频、无线 路由、卫星通信等领域;采用多播技术的通信系统称为多播通信系统。有别于点对点通信方 式的通信系统,多播通信系统是包含一个发送端设备,多个接收端设备的通信系统,因此多 播通信系统的数据传输时效性及可靠性非常值得关注。
[0003] 目前多播通信系统中,发送端设备发送一批数据包给各接收端设备后,接收端设 备由于信道状态的异构性,会使得不同接收端设备可能存在丢失不同数据包的情况,而发 送端设备重传某个接收端设备丢失的数据包,会使得已经接到该数据包的接收端设备重复 接收数据包,导致带宽的浪费,甚至在接收端设备的数量较多时,可能造成多播灾难;因此, 如何提供一种数据包传输方法,W在多播通信系统中,高效的实现丢失数据包的重传,提升 多播通信系统的数据传输时效性及可靠性,成为了本领域技术人员需要考虑的问题。
【发明内容】
[0004] 有鉴于此,本发明实施例提供一种数据包传输方法、发送端设备及接收端设备,W 在多播通信系统中,高效的实现丢失数据包的重传,提升多播通信系统的数据传输时效性 及可靠性。
[0005] 为实现上述目的,本发明实施例提供如下技术方案:
[0006] -种数据包传输方法,应用于发送端设备,所述方法包括:
[0007] 在向R个接收端设备的各接收端设备发送一批次的L个原始数据包后,接收各接收 端设备报告的数据包丢失信息;其中,第n个接收端设备报告的数据包丢失信息标识有该 第ri个接收端设备的丢失数据包集合L(ri) 属于R,一丢失数据包集合对应至少一丢失数 据包;
[000引根据各接收端设备的丢失数据包集合,确定所有接收端设备的总丢失数据包集合 L(R);
[0009] 根据总丢失数据包集合确定重传编码数据包的次数Imax, Imax与L(R)中丢失数据包 最多的丢失数据包集合的丢失数据包数目相应;
[0010] 根据所述lmax、L值,W改进范德蒙矩阵对编码数据包进行编码,确定每次重传的编 码数据包;
[0011] 基于所确定的每次重传的编码数据包,在每次重传时向各接收端设备重传相应的 编码数据包,各重传的编码数据包的包头里包含编码系数。
[0012] 可选的,所述改进范德蒙矩阵WV表示,且表达式为:
[0013]
[0014] 可选的,定义发送端设备发送的一批次的L个原始数据包为^1,92,93^''91};定义 Imax次重传编码数据包为{qi ',Q2',Q3','^qima/ },则确定(qi,q2,q3, '''QL) XV= (qi ',Q2', q3',...qima'x)。
[001引可选的,所述根据所述lmax、L值,W改进范德蒙矩阵对编码数据包进行编码,确定 每次重传的编码数据包包括:
[0016] 确定第i次重传的编码数据包化'为,恥I= (fi Xi)受(如x(.y7-i)@...彩(%乂(.Yレl;rl)。
[0017] 本发明实施例还提供一种数据包传输方法,应用于接收端设备,所述方法包括:
[0018] 接收发送端设备发送的原始数据包并缓存,确定发送端设备发送的L个原始数据 包中的丢失数据包,并生成数据包丢失信息报告给发送端设备,所述数据包丢失信息标识 有丢失数据包集合;
[0019] 接收发送端设备Imax次重传的编码数据包;
[0020] 根据已接收的原始数据包和重传的编码数据包,构造第一矩阵M和第二矩阵B;
[0021] 基于第一矩阵和第二矩阵,W改进范德蒙矩阵求逆运算对所述重传的编码数据包 进行解码,得到对应的丢失数据包。
[0022] 可选的,所述构造第一矩阵M包括:
[0023] 对于第ri个接收端设备每一个接收的原始数据包qi,建立UrO I个L维的向量 Vl,vl = (0,???,0j,…,0),其中Pj = I;
[0024] 从接收到的Imax次重传的编码数据包中选取前IUrO I个编码数据包,并基于该前 L(rl)|个编码数据包的包头包含的编码系数,获得|L(rl)|个L维的向量v2,v2 = (l,(xl )1 …(xL)i);
[0025] 基于Vl和v2构造出L X L维的矩阵,得到第一矩阵M。
[00%] 可选的,所述构造第二矩阵B包括:
[0027] 从第一矩阵M中确定各重传的编码数据包相应的向量所在行,令第二矩阵B中与所 述所在行对应的向量为相应的重传的编码数据包;
[0028] 从第一矩阵M中确定各接收的原始数据包相应向量的所在列,令第二矩阵B中与所 述所在列对应的向量为相应的原始数据包;
[0029] W确定的第二矩阵B中各行与各列对应的向量,构造出LXl维的矩阵,得到第二矩 阵B。
[0030] 可选的,所述基于第一矩阵和第二矩阵,W改进范德蒙矩阵求逆运算对所述重传 编码数据包进行解码,得到对应的丢失数据包包括:
[0031] 利用部分高斯消元的方法将第一矩阵M转换为新的矩阵M',M'中包含一个范德蒙 行列式;
[0032] 利用部分高斯消元的方法将第二矩阵B转换为新的矩阵B',B'中包含一个范德蒙 行列式护;
[0033] 对于第ri个接收端设备,基于相应的丢失数据包集合L(ri)构建出新的向量P";
[0034] 根据公5
,确定属于集合P"的数据包,恢复第ri个接收端 设备的丢失数据包。
[0035] 本发明实施例还提供一种发送端设备,包括:
[0036] 数据包丢失信息接收模块,用于在向R个接收端设备的各接收端设备发送一批次 的L个原始数据包后,接收各接收端设备报告的数据包丢失信息;其中,第ri个接收端设备 报告的数据包丢失信息标识有该第ri个接收端设备的丢失数据包集合L(ri),ri属于R,一丢 失数据包集合对应至少一丢失数据包;
[0037] 总丢失数据包集合确定模块,用于根据各接收端设备的丢失数据包集合,确定所 有接收端设备的总丢失数据包集合L(R);
[0038] 重传次数确定模块,用于根据总丢失数据包集合确定重传编码数据包的次数Imax, Uax与L(R)中丢失数据包最多的丢失数据包集合的丢失数据包数目相应;
[0039] 每次重传的数据包确定模块,用于根据所述lmax、L值,W改进范德蒙矩阵对编码数 据包进行编码,确定每次重传的编码数据包;
[0040] 重传执行模块,用于基于所确定的每次重传的编码数据包,在每次重传时向各接 收端设备重传相应的编码数据包,各重传的编码数据包的包头里包含编码系数。
[0041] 本发明实施例还提供一种接收端设备,包括:
[0042] 数据包丢失信息报告模块,用于接收发送端设备发送的原始数据包并缓存,确定 发送端设备发送的L个原始数据包中的丢失数据包,并生成数据包丢失信息报告给发送端 设备,所述数据包丢失信息标识有丢失数据包集合
[0043] 重传的数据包接收模块,用于接收发送端设备Imax次重传的编码数据包;
[0044] 矩阵构造模块,用于根据已接收的原始数据包和重传的编码数据包,构造第一矩 阵M和第二矩阵B;
[0045] 丢失数据包恢复模块,用于基于第一矩阵和第二矩阵,W改进范德蒙矩阵求逆运 算对所述重传的编码数据包进行解码,得到对应的丢失数据包。
[0046] 基于上述技术方案,本发明实施例提供的数据包传输方法包括:发送端设备在向R 个接收端设备的各接收端设备发送一批次的L个原始数据包后,接收各接收端设备报告的 数据包丢失信息;其中,第ri个接收端设备报告的数据包丢失信息标识有该第ri个接收端设 备的丢失数据包集合L(r〇,ri属于R,一丢失数据包集合对应至少一丢失数据包;根据各接 收端设备的丢失数据包集合,确定所有接收端设备的总丢失数据包集合L(R);根据总丢失 数据包集合确定重传编码数据包的次数Imax, Uax与L(R)中丢失数据包最多的丢失数据包集 合的丢失数据包数目相应;根据所述lmax、L值,W改进范德蒙矩阵对编码数据包进行编码, 确定每次重传的编码数据包;基于所确定的每次重传的编码数据包,在每次重传时向各接 收端设备重传相应的编码数据包,各重传的编码数据包的包头里包含编码系数。可W看出, 本发明实施例可在多播环境下,接收端设备发送的数据包丢失后,在进行数据包重传时,减 少数据重传的次数,并且基于改进范德蒙矩阵编解码编码数据包,可降低计算复杂度,在多 播通信系统中,高效的实现丢失数据包的重传,提升多播通信系统的数据传输时效性及可 靠性。
【附图说明】
[0047] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据 提供的附图获得其他的附图。
[0048] 图1为本发明实施例提供的数据包传输系统的结构框图;
[0049] 图2为本发明实施例提供的数据包传输方法的流程图;
[0050] 图3为一般形式的范德蒙矩阵的n阶行列式示意图;
[0051 ]图4为本发明实施例提供的数据包传输方法的另一流程图;
[0052] 图5为接收端设备丢失数据包的示意图;
[0053] 图6为本发明实施例提供的发送端设备的结构框图;
[0054] 图7为本发明实施例提供的接收端设备的结构框图。
【具体实施方式】
[0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0056] 图1为本发明实施例提供的数据包传输系统的结构框图,参照图1,该数据包传输 系统为多播通信系统,主要包括:发送端设备10和多个接收端设备20;
[0057] 在本发明实施例中,发送端设备可向各接收端设备发送一批次的多个原始数据 包;
[0058] 对于各接收端设备,接收端设备接收原始数据包后可进行缓存,并将标识有自己 所丢失的数据包集合的数据包丢失信息报告给发送端设备,接收端设备的数据包丢失信息 标识有接收端设备的丢失数据包集合,一丢失数据包集合对应至少一丢失数据包;
[0059] 发送端设备获悉各接收端设备的丢失数据包集合后,可进一步得到所有接收端设 备的总丢失数据包集合,总丢失数据包集合可W为各接收端设备的丢失数据包集合的并 集;进而,发送端设备基于总丢失数据包集合中,各丢失数据包集合对应的丢失数据包数 目,可确定重传编码数据包的次数;
[0060] 发送端设备基于总丢失数据包集合,可采用改进范德蒙矩阵对编码数据包进行编 码,确定出每次重传的编码数据包;
[0061] 发送端设备可在每次重传时向各接收端设备重传相应的编码数据包;
[0062] 对于各接收端设备,接收端设备接收编码数据包后,可基于所接收的原始数据包 和所述编码数据包,构造第一矩阵和第二矩阵;
[0063] 对于各接收端设备,接收端设备可基于第一矩阵和第二矩阵,W改进范德蒙矩阵 求逆运算对所述编码数据包进行解码,得到对应的丢失数据包。
[0064] 本发明实施例可在多播环境下,接收端设备发送的数据包丢失后,在进行数据包 重传时,减少数据重传的次数,并且基于改进范德蒙矩阵编解码编码数据包,可降低计算复 杂度,在多播通信系统中,高效的实现丢失数据包的重传,提升多播通信系统的数据传输时 效性及可靠性。
[0065] 下面W发送端设备的角度,对本发明实施例提供的数据包传输方法进行介绍。
[0066] 图2为本发明实施例提供的数据包传输方法的流程图,该方法可应用于发送端设 备,参照图2,该方法可W包括:
[0067] 步骤S100、在向R个接收端设备的各接收端设备发送一批次的L个原始数据包后, 接收各接收端设备报告的数据包丢失信息;其中,第ri个接收端设备报告的数据包丢失信 息标识有该第ri个接收端设备的丢失数据包集合L(r〇,ri属于R,一丢失数据包集合对应至 少一丢失数据包;
[0068] 可选的,发送端设备向各接收端设备发送一批次的L个原始数据包后,接收端设备 可接收到原始数据包(原始数据包的数目小于或等于L即原始数据包的数目小于L时,说明 L个数据包在传输给接收端设备的过程中,存在丢包,而原始数据包的数目等于L时,说明L 个数据包在传输给接收端设备的过程中,不存在丢包);L的数目可根据实际的数据包传输 应用场景而定,并没有严格限制;
[0069] 各接收端设备在接收到原始数据包后可缓存,并向发送端设备返回ACKs/NAKs信 息,报告未正常接收到的数据包(即丢失数据包);
[0070] -接收端设备报告的数据包丢失信息中,标识有该接收端设备丢失的数据包的信 息的集合,称为丢失数据包集合,一个丢失数据包集合对应至少一丢失数据包,即接收端设 备可能丢失至少一个数据包;
[0071] 在本发明实施例中,可设第ri个接收端设备的丢失数据包集合为L(r〇,且riER。
[0072] 步骤S110、根据各接收端设备的丢失数据包集合,确定所有接收端设备的总丢失 数据包集合L(R);
[0073] 总丢失数据包集合可W为各接收端设备的丢失数据包集合的并集,目化(R) =L (ri) UL(K) U…UL(Tn),R的数值可与rn对应。
[0074] 步骤S120、根据总丢失数据包集合确定重传编码数据包的次数Imax, Imax与L(R)中 丢失数据包最多的丢失数据包集合的丢失数据包数目相应;
[0075] IUrO I表示丢失数据包集合L(ri)中的元素数目,即丢失数据包的数目,则Wlmax 表示重传数据包个数,贝U
[0076] 步骤S130、根据所述lmax、L值,W改进范德蒙矩阵对编码数据包进行编码,确定每 次重传的编码数据包;
[0077] 范德蒙矩阵为是法国数学家范德蒙提出的一种各列为几何级数的矩阵,一般形式 的范德蒙矩阵的n阶行列式可如图3所示,其第i行、第j列可W表示为(ai)~(j-l);
[0078] 而本发明实施例的改进范德蒙矩阵是在一般范德蒙矩阵的基础上改进形成的范 德蒙矩阵,其形式可如下所示:
[0079]
[0080] 其中,V表示改进范德蒙矩阵;
[0081] 值得注意的是,如果取x = 2,在计算机运算中仅是移位操作,与改进范德蒙矩阵中 的元素相乘表示对数据包进行移位操作,如qi X 代表数据包qi向左移动t位,即基于改进 范德蒙矩阵,重传的编码数据包是由原始数据包W-定的方式移位后,再对数据包的对应 位进行模巧日操作得到;数据包移位操作后会导致数据包不等长,为了解决运一问题,将对 数据包进行补0填充操作,每个数据包在原始信息数据包长度的基础上增加(Imax-IKL-I) 个比特;当数据包的长度很大时,移位带来的额外开销并不大,仅利用低代价的数据包的填 充技术使得数据包等长是很容易达到的;
[0082] 因此,本发明实施例W改进范德蒙矩阵对编码数据包进行编码,确定每次重传的 编码数据包的方式可W是,对于各原始数据包,基于改进范德蒙矩阵将原始数据包W特定 方式移位后,再对移位后的数据包的对应位进行模巧日操作,并在原始数据包的长度基础上 增加(Imax-l)a-l)个比特得到。
[0083] 进一步定义发送端设备发送的一批次的L个原始数据包为^1,92,93^''9^;定义 Imax次重传编码数据包为{qi',Q2',Q3' T-QlmaxM,即第一次重传编码数据包为qi',第二次重 传编码数据包为Q2',第Imax次重传的编码数据包为qimax' ;
[0084] 则(qi,q2,q3, ...QL) XV= (qi',Q2',Q3',...qimax');
[0085] 相应的,第i次重传的编码数据包qi'可W表达为:
[0086]
[0087] 步骤S140、基于所确定的每次重传的编码数据包,在每次重传时向各接收端设备 重传相应的编码数据包,各重传的编码数据包的包头里包含编码系数。
[0088] 可选的,发送端设备在发送了重传的编码数据包后,如果还接收到接收端设备报 告的数据包丢失信息,则可循环进行图2所示方法,直至接收端设备不存在丢失数据包的情 况;在接收端设备不存在丢失数据包的情况,发送端设备可进行下一批次的原始数据包发 送。
[0089] 本发明实施例可在多播环境下,接收端设备发送的数据包丢失后,在进行数据包 重传时,减少数据重传的次数,并且基于改进范德蒙矩阵编解码编码数据包,可降低计算复 杂度,在多播通信系统中,高效的实现丢失数据包的重传,提升多播通信系统的数据传输时 效性及可靠性。
[0090] 可选的,在本发明实施例中,接收端设备的处理流程可W如下:
[0091] 发送端设备每向R个接收端设备发送一批次的L个原始数据包后,L个原始数据包 为^1,92,93^''91},各接收端设备将自己的数据包丢失信息报告给发送端设备,发送端设 备根据各接收端设备反馈的数据包丢失信息,发送端设备可W获悉第ri个接收端设备的丢 失数据包集合L(ri);
[0092] 进一步,发送端设备可W得到所有接收端设备的总丢失数据包集合L(R) ,L(R) = L (ri) UL(K) U…UL(Tn),R的数值可与rn对应;
[0093] 当不考虑重传数据包丢失的情况下,重传数据包的次数可W为Imax,
UrO I表示丢失数据包集合L(ri)中的元素数目,即丢失数据包 的数目;
[0094] 调取改进范德蒙矩阵V:
[0095]
[00%]则(qi,q2,q3, ...QL) XV= (qi',Q2',Q3',...qimax');
[0097] 计算第i次重传的编码数据包qi',g,.'= (g, X I) e地X (.Y'广I) ?...e(和X (户-1广I);
[0098] 编码数据包确定后,发送端设备可W在每次重传时向各接收端设备重传相应的编 码数据包,且每一编码数据包中包含编码系数;
[0099] 发送端设备获取接收端设备的反馈信息,如果仍有丢包,则重复上述步骤,如果没 有丢包,则发送下一批次的原始数据包。
[0100] 下面W接收端设备的角度,对本发明实施例提供的数据包传输方法进行介绍。
[0101] 图4为本发明实施例提供的数据包传输方法的另一流程图,该方法可应用于接收 端设备,参照图4,该方法可W包括:
[0102] 步骤S200、接收发送端设备发送的原始数据包并缓存,确定发送端设备发送的L个 原始数据包中的丢失数据包,并生成数据包丢失信息报告给发送端设备,所述数据包丢失 信息标识有丢失数据包集合;
[0103] 步骤S210、接收发送端设备Imax次重传的编码数据包;
[0104] 可选的,发送端设备可W图2所示方法确定Imax次重传的编码数据包,并在每次重 传时向各接收端设备重传相应的编码数据包,W便接收端设备接收。
[0105] 步骤S220、根据已接收的原始数据包和重传的编码数据包,构造第一矩阵M和第二 矩阵B;
[0106] 可选的,第一矩阵M的构造方式可W如下:
[0107] 对于第ri个接收端设备每一个接收的原始数据包qi,本发明实施例可建立レI L (ri) I 个L维的向量Vl,Vl = (0,???,0j,???,0),其中Pj = I;
[0108] 则可从接收到的Imax次重传的编码数据包中选取前IUrO I个编码数据包,并基于 该前IUrO I个编码数据包的包头包含的编码系数,获得IUrO I个L维的向量v2,v2=(l, (片1-(/)1),从而基于乂巧日乂2构造出1乂^隹的矩阵,得到第一矩阵1。
[0109] 第二矩阵B的构造方式可W如下:
[0110] 从第一矩阵M中确定各重传的编码数据包相应的向量所在行,令第二矩阵B中与所 述所在行对应的向量为相应的重传的编码数据包,如与重传的编码数据qi'相应的向量是 第一矩阵M的第ti行,则令B(ti) = qi ' ;
[0111] 类似的,本发明实施例可W从第一矩阵M中确定各接收的原始数据包相应向量的 所在列,令第二矩阵B中与所述所在列对应的向量为相应的原始数据包,如与原始数据包qi 相应的向量是第一矩阵M的第t2行,则令B(t2) = qi;从而W确定的第二矩阵B中各行与各列 对应的向量,构造出L X 1维的矩阵,得到第二矩阵B。
[0112] 步骤S230、基于第一矩阵和第二矩阵,W改进范德蒙矩阵求逆运算对所述重传的 编码数据包进行解码,得到对应的丢失数据包。
[0113] 可选的,本发明实施例可利用部分高斯消元的方法将第一矩阵M转换为新的矩阵 M',M'中包含一个范德蒙行列式r;
[0114] 相应的,可利用部分高斯消元的方法将第二矩阵B转换为新的矩阵B',B'中包含一 个范德蒙行列式B";
[0115] 同时,对于第ri个接收端设备,本发明实施例可基于相应的丢失数据包集合L(ri) 构建出新的向量P";
[0116] 则r.(P")T=B";
[0117] 进一步变形后有:
[om](p'')T=(M'')-i.B"
[0119] 然而,(M"ri是r的逆矩阵,不采用常规的矩阵求逆的方式来计算,而是由简单的 移位和模二加的操作来实现:
[0120]
[0121] 其中,(M")*是r的共辆矩阵,为了计算r,必须先计算出(M")*,然后乘w(p")T后,
再除如 M'' 绝 1-浊八 e 斗1 .
[0122]
[0123] 因此可W得到所有属于集合P"的数据包,进而可恢复第ri个接收端设备的丢失数 据包。
[0124] 可选的,接收端设备在恢复出全部丢失数据包后,可向发送端设备返回ACKs信息, 如果接收端设备未恢复出全部丢失数据包,则还可向发送端设备报告尚未恢复的数据包。
[0125] 本发明实施例提出的改进范德蒙矩阵的特性为:矩阵的任意k列一定是线性无关 的,即任意k个方程一定能解出任意k个未知数,映射到数据包层面上,所有接收端设备只要 正确接收到任意k个数据包,就一定能恢复出其丢失的k个数据包;运样可W将重传的次数 降低到理论上最低值;当发送端设备接收到接收端设备的重传请求时,发送端设备将选择 所有属于集合L(R)的数据包,利用改进范德蒙矩阵进行编码,然后向所有接收端设备广播 重传的编码数据包;对于每一个接收端设备,当第ri个接收端设备接收到的重传的编码数 据包达到IUri) I个时,第ri个接收端设备所丢失的数据包都可W被恢复。
[01%]本发明实施例提供的数据包传输方法的应用例可W如下:
[0127]为了更好说明本发明实施例所提出的方案,首先说明一种传统的多播重传编码的 方案;考虑一种多播通信系统的场景,假定有1个发送端设备S和6个接收端设备ri,r2,…, rs;假设发送节点S已经广播了一个6个原始数据包的数据包组到所有接收端设备,由于无 线信道的链路丢包或拥塞丢包等因素,每个接收端设备可能只接收到一个数据包组中的部 分数据包;
[012引如图5所示,通过接收端设备反馈的ACKs/NAKs,发送端设备获悉了ri仅接收到了 数据包{ Pl,P2,P3,P4,P5 },r2仅接收到了数据包{ Pl,P2,P3 },n仅接收到了数据包{ Pl,P日,P6 }, r4仅接收到了数据包{pi,P2,P4},r日仅接收到了数据包{pi,P3,P日},rs仅接收到了数据包{Pi, P4,pe};
[0129] 基于接收端设备反馈的信息,发送端设备可确定所有接收端设备共丢失了5个不 同的数据包,传统的方式中接收端设备需要重传5次,如重传时依次传输口2,口3,口4,口日,口6,重 传次数非常多;
[0130] 假设每个接收端设备可W缓存其每次接收到的编码重传数据包,则当接收端设备 收集到足够多有用的信息后再进行编码,从而恢复丢失数据包,运样则可W减少重传的次 数;基于运种思路,只需要重传如下3个编码数据包:和 A ? A ;当接收端设备rs接收到第一次的编码数据包,发现运个数据包对rs没用,因为rs丢 失了 P2和P6;如果n可W缓存运些编码数据包,则当n接收到第二次的编码数据包后,K能够 首先恢复出P6,因为r日已具有P3和的,当r日恢复P6后,r日可W利用第一次的编码数据包恢复P2, 因为r日已拥有正确的P6和Pi;
[0131] 本发明实施例提出的基于进范德蒙矩阵进行编解码方案可W如下:
[0132] 对于一有1个发送端设备,5个接收端设备的多播通信系统;假设一次传输6个原始 数据包,发送端设备发送6个原始数据包后,则设lmax = 3,L = 5,对于第S个接收端设备n, 其丢失数据包集合Un ) = { P2,P3,P6 },6个原始数据包为{ Pl,P2,P3,P4,P5,P6 },每个接收端 设备的数据包丢失情况如下表1所示: 「01331
[0134] 表1
[0135] 则对于第=个接收端设备n,可得到第一矩阵M和第二矩阵B: yX
[0136]
[0137]
[0138] 应的得到矩阵M '和B '
[0139]
[0140]
[0141]
[0142]
[0143]
[0144] 因此有r ?也,口3,口6)' = (1")*-8",所^第;个接收端设备〇可此陕复出丢失 的数据包P2,P3,P6,此处的矩阵求逆运算采用移位及模2加运算。
[0145] 下面对本发明实施例提供的发送端设备进行介绍,下文描述的发送端设备可与上 文W发送端设备角度描述的数据包传输方法相互对应参照。
[0146] 图6为本发明实施例提供的发送端设备的结构框图,参照图6,该发送端设备可W 包括:
[0147] 数据包丢失信息接收模块100,用于在向R个接收端设备的各接收端设备发送一批 次的L个原始数据包后,接收各接收端设备报告的数据包丢失信息;其中,第ri个接收端设 备报告的数据包丢失信息标识有该第ri个接收端设备的丢失数据包集合L(ri),ri属于R,一 丢失数据包集合对应至少一丢失数据包;
[0148] 总丢失数据包集合确定模块110,用于根据各接收端设备的丢失数据包集合,确定 所有接收端设备的总丢失数据包集合L(R);
[0149] 重传次数确定模块120,用于根据总丢失数据包集合确定重传编码数据包的次数 Uax,Uax与L(R)中丢失数据包最多的丢失数据包集合的丢失数据包数目相应;
[0150] 每次重传的数据包确定模块130,用于根据所述lmax、L值,W改进范德蒙矩阵对编 码数据包进行编码,确定每次重传的编码数据包;
[0151] 重传执行模块140,用于基于所确定的每次重传的编码数据包,在每次重传时向各 接收端设备重传相应的编码数据包,各重传的编码数据包的包头里包含编码系数。
[0152] 下面对本发明实施例提供的接收端设备进行介绍,下文描述的接收端设备可与上 文W接收端设备角度描述的数据包传输方法相互对应参照。
[0153] 图7为本发明实施例提供的接收端设备的结构框图,参照图7,该接收端设备可W 包括:
[0154] 数据包丢失信息报告模块200,用于接收发送端设备发送的原始数据包并缓存,确 定发送端设备发送的L个原始数据包中的丢失数据包,并生成数据包丢失信息报告给发送 端设备,所述数据包丢失信息标识有丢失数据包集合
[0155] 重传的数据包接收模块210,用于接收发送端设备Imax次重传的编码数据包;
[0156] 矩阵构造模块220,用于根据已接收的原始数据包和重传的编码数据包,构造第一 矩阵M和第二矩阵B;
[0157] 丢失数据包恢复模块230,用于基于第一矩阵和第二矩阵,W改进范德蒙矩阵求逆 运算对所述重传的编码数据包进行解码,得到对应的丢失数据包。
[0158] 本发明实施例可在多播环境下,接收端设备发送的数据包丢失后,在进行数据包 重传时,减少数据重传的次数,并且基于改进范德蒙矩阵编解码编码数据包,可降低计算复 杂度,在多播通信系统中,高效的实现丢失数据包的重传,提升多播通信系统的数据传输时 效性及可靠性。
[0159] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置 而言,由于其与实施例公开的方法相对应,所W描述的比较简单,相关之处参见方法部分说 明即可。
[0160] 专业人员还可W进一步意识到,结合本文中所公开的实施例描述的各示例的单元 及算法步骤,能够W电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和 软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。运些 功能究竟W硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业 技术人员可W对每个特定的应用来使用不同方法来实现所描述的功能,但是运种实现不应 认为超出本发明的范围。
[0161] 结合本文中所公开的实施例描述的方法或算法的步骤可W直接用硬件、处理器执 行的软件模块,或者二者的结合来实施。软件模块可W置于随机存储器(RAM)、内存、只读存 储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术 领域内所公知的任意其它形式的存储介质中。
[0162]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对运些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可W在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的运些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
【主权项】
1. 一种数据包传输方法,其特征在于,应用于发送端设备,所述方法包括: 在向R个接收端设备的各接收端设备发送一批次的L个原始数据包后,接收各接收端设 备报告的数据包丢失信息;其中,第η个接收端设备报告的数据包丢失信息标识有该第^个 接收端设备的丢失数据包集合L(r〇,ri属于R,一丢失数据包集合对应至少一丢失数据包; 根据各接收端设备的丢失数据包集合,确定所有接收端设备的总丢失数据包集合L (R); 根据总丢失数据包集合确定重传编码数据包的次数lmax,lmax与L(R)中丢失数据包最多 的丢失数据包集合的丢失数据包数目相应; 根据所述lmax、L值,以改进范德蒙矩阵对编码数据包进行编码,确定每次重传的编码数 据包; 基于所确定的每次重传的编码数据包,在每次重传时向各接收端设备重传相应的编码 数据包,各重传的编码数据包的包头里包含编码系数。2. 根据权利要求1所述的数据包传输方法,其特征在于,所述改进范德蒙矩阵以V表示, 且表达式为:3. 根据权利要求2所述的数据包传输方法,其特征在于,定义发送端设备发送的一批次 的L个原始数据包为{qi,q2,q3,…qd ;定义lmax次重传编码数据包为{qi ',q2 ',q3 ', ? · .qimax'},贝丨J石角定(qi,q2,q3, · · .qL) x V= (qi,,q2',q3 ',· · · qimax')。4. 根据权利要求3所述的数据包传输方法,其特征在于,所述根据所述lmax、L值,以改进 范德蒙矩阵对编码数据包进行编码,确定每次重传的编码数据包包括: 确定第i次重传的编码数据包qi '为,% X1)十(心X (YΓ1)十…十X(,―1 Γ1)。5. -种数据包传输方法,其特征在于,应用于接收端设备,所述方法包括: 接收发送端设备发送的原始数据包并缓存,确定发送端设备发送的L个原始数据包中 的丢失数据包,并生成数据包丢失信息报告给发送端设备,所述数据包丢失信息标识有丢 失数据包集合; 接收发送端设备lmax次重传的编码数据包; 根据已接收的原始数据包和重传的编码数据包,构造第一矩阵Μ和第二矩阵B; 基于第一矩阵和第二矩阵,以改进范德蒙矩阵求逆运算对所述重传的编码数据包进行 解码,得到对应的丢失数据包。6. 根据权利要求5所述的数据包传输方法,其特征在于,所述构造第一矩阵Μ包括: 对于第ri个接收端设备每一个接收的原始数据包qi,建立L-|L(ri) |个L维的向量vl,vl = (0,· . ·,β」,···,0),其中β」= 1; 从接收到的lmax次重传的编码数据包中选取前I L(r〇 I个编码数据包,并基于该前I L &1)|个编码数据包的包头包含的编码系数,获得|以^)|个以隹的向量"^2=(1,(一)1... 基于vl和v2构造出LXL维的矩阵,得到第一矩阵Μ。7. 根据权利要求6所述的数据包传输方法,其特征在于,所述构造第二矩阵Β包括: 从第一矩阵Μ中确定各重传的编码数据包相应的向量所在行,令第二矩阵Β中与所述所 在行对应的向量为相应的重传的编码数据包; 从第一矩阵Μ中确定各接收的原始数据包相应向量的所在列,令第二矩阵Β中与所述所 在列对应的向量为相应的原始数据包; 以确定的第二矩阵Β中各行与各列对应的向量,构造出LX1维的矩阵,得到第二矩阵Β。8. 根据权利要求5所述的数据包传输方法,其特征在于,所述基于第一矩阵和第二矩 阵,以改进范德蒙矩阵求逆运算对所述重传编码数据包进行解码,得到对应的丢失数据包 包括: 利用部分高斯消元的方法将第一矩阵Μ转换为新的矩阵Μ',Μ'中包含一个范德蒙行列 式Μ" ; 利用部分高斯消元的方法将第二矩阵Β转换为新的矩阵Β',Β'中包含一个范德蒙行列 式Β" ; 对于第η个接收端设备,基于相应的丢失数据包集合L(ri)构建出新的向量Ρ"; 根据公式|M"| ·(产广=(1〇~8",确定属于集合产的数据包,恢复第^个接收端设备 的丢失数据包。9. 一种发送端设备,其特征在于,包括: 数据包丢失信息接收模块,用于在向R个接收端设备的各接收端设备发送一批次的L个 原始数据包后,接收各接收端设备报告的数据包丢失信息;其中,第η个接收端设备报告的 数据包丢失信息标识有该第η个接收端设备的丢失数据包集合L(r〇, ri属于R,一丢失数据 包集合对应至少一丢失数据包; 总丢失数据包集合确定模块,用于根据各接收端设备的丢失数据包集合,确定所有接 收端设备的总丢失数据包集合L(R); 重传次数确定模块,用于根据总丢失数据包集合确定重传编码数据包的次数lmax,lmax 与L(R)中丢失数据包最多的丢失数据包集合的丢失数据包数目相应; 每次重传的数据包确定模块,用于根据所述lmax、L值,以改进范德蒙矩阵对编码数据包 进行编码,确定每次重传的编码数据包; 重传执行模块,用于基于所确定的每次重传的编码数据包,在每次重传时向各接收端 设备重传相应的编码数据包,各重传的编码数据包的包头里包含编码系数。10. -种接收端设备,其特征在于,包括: 数据包丢失信息报告模块,用于接收发送端设备发送的原始数据包并缓存,确定发送 端设备发送的L个原始数据包中的丢失数据包,并生成数据包丢失信息报告给发送端设备, 所述数据包丢失信息标识有丢失数据包集合 重传的数据包接收模块,用于接收发送端设备lmax次重传的编码数据包; 矩阵构造模块,用于根据已接收的原始数据包和重传的编码数据包,构造第一矩阵Μ和 第二矩阵Β; 丢失数据包恢复模块,用于基于第一矩阵和第二矩阵,以改进范德蒙矩阵求逆运算对 所述重传的编码数据包进行解码,得到对应的丢失数据包。
【文档编号】H04L1/18GK105827416SQ201610305878
【公开日】2016年8月3日
【申请日】2016年5月10日
【发明人】张勇, 曹震, 钟新斌
【申请人】中国农业银行股份有限公司