网络端到端差错控制传输方法、装置及电子设备转让专利

申请号 : CN201910047720.6

文献号 : CN109660320B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘锋刘亮

申请人 : 北京航空航天大学

摘要 :

本发明提供了一种网络端到端差错控制传输方法、装置及电子设备,涉及通信技术领域,该方法包括接收t时刻到达的数据向量以构成第一接收子空间;该数据向量包括第二编码数据向量和第二校验向量;根据该第二校验向量计算第一接收子空间对应的差错空间维数;当该差错空间维数小于1/2码距时,接收上述t时刻到达的数据向量以构成第二接收子空间;计算第二接收子空间与发送子空间的空间距离;当该空间距离小于1/2码距时,对第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。本发明实施例提供的网络端到端差错控制传输方法,可以有效降低信息端到端实际传输的冗余度,减少信息传输过程中对带宽资源的消耗。

权利要求 :

1.一种网络端到端差错控制传输方法,其特征在于,应用于接收端,所述方法包括:接收t时刻到达的数据向量以构成第一接收子空间;所述数据向量包括第二编码数据向量和第二校验向量,所述第二编码数据向量为原始数据包经发送端子空间编码得到的第一编码数据向量经传输达到接收端的编码数据向量,所述第二校验向量为所述第一编码数据向量经校验得到的第一校验向量再经传输达到接收端的校验向量;

根据所述第二校验向量计算所述第一接收子空间对应的差错空间维数;

当所述差错空间维数小于1/2码距时,接收所述t时刻到达的数据向量以构成第二接收子空间;

计算所述第二接收子空间与发送子空间的空间距离;

当所述空间距离小于1/2码距时,对所述第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。

2.根据权利要求1所述的网络端到端差错控制传输方法,其特征在于,所述根据所述第二校验向量计算所述第一接收子空间对应的差错空间维数的步骤,包括:根据所述第二校验向量计算所述第一接收子空间对应的校验差空间维数;

根据所述校验差空间维数估算差错空间维数。

3.一种网络端到端差错控制传输方法,其特征在于,包括:发送端将原始数据包进行子空间编码得到多个编码数据向量以构成发送子空间;

对每个所述编码数据向量进行校验得到对应的校验向量;

发送端将由所述编码数据向量和所述校验向量组成的数据向量发送出去;

接收端接收t时刻到达的数据向量以构成第一接收子空间;

接收端根据所述t时刻到达的数据向量中的校验向量计算所述第一接收子空间对应的差错空间维数;

当所述差错空间维数小于1/2码距时,接收所述t时刻到达的数据向量以构成第二接收子空间;

计算所述第二接收子空间与所述发送子空间的空间距离;

当所述空间距离小于1/2码距时,对所述第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。

4.根据权利要求3所述的网络端到端差错控制传输方法,其特征在于,在所述接收端接收t时刻到达的数据向量以构成第一接收子空间的步骤之前,还包括:接收网络中间节点采用随机线性网络编码传输方式传输所述数据向量。

5.一种网络端到端差错控制传输装置,其特征在于,包括:第一接收子空间模块,用于接收t时刻到达的数据向量以构成第一接收子空间;所述数据向量包括第二编码数据向量和第二校验向量,所述第二编码数据向量为原始数据包经发送端子空间编码得到的第一编码数据向量经传输达到接收端的编码数据向量,所述第二校验向量为所述第一编码数据向量经校验得到的第一校验向量再经传输达到接收端的校验向量;

差错空间维数计算模块,用于根据所述第二校验向量计算所述第一接收子空间对应的差错空间维数;

第二接收子空间模块,用于当所述差错空间维数小于1/2码距时,接收所述t时刻到达的数据向量以构成第二接收子空间;

空间距离计算模块,用于计算所述第二接收子空间与发送子空间的空间距离;

子空间解码模块,用于当所述空间距离小于1/2码距时,对所述第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。

6.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至4任一项所述的网络端到端差错控制传输方法的步骤。

说明书 :

网络端到端差错控制传输方法、装置及电子设备

技术领域

[0001] 本发明涉及通信技术领域,尤其是涉及一种网络端到端差错控制传输方法、装置及电子设备。

背景技术

[0002] 移动卫星网络通信中,各类差错和节点丢包同时存在,而且节点之间空间距离很远,端到端时延较长。为了保证端到端的数据可靠传输,需要研究高差错率与长时延共存条件下的差错控制策略。当前,通信网络中的差错控制策略主要有以下几类:采用差错控制编码,例如RS码、LDPC码等来对每一跳传输的误码进行纠错;采用TCP协议或者类似的传输层机制,用反馈重传的方法来保证数据包的准确传输;采用无速率编码,如LT码进行数据传输;以及,采用随机网络编码进行端到端传输。
[0003] 但是,上述几种差错控制策略都无法满足移动卫星网络星间链路的拓扑动态性、丢包随机性、高时延和高差错率的端到端传输环境。

发明内容

[0004] 有鉴于此,本发明的目的在于提供一种网络端到端差错控制传输方法、装置及电子设备,在有突发的链路差错和拓扑变化引起的丢包等信道和传输错误条件下,能够实现解码恢复原始数据,并有效降低信息端到端实际传输的冗余度,减少信息传输过程中对带宽资源的消耗。
[0005] 第一方面,本发明实施例提供了一种网络端到端差错控制传输方法,应用于接收端,该方法包括:接收t时刻到达的数据向量以构成第一接收子空间;该数据向量包括第二编码数据向量和第二校验向量,该第二编码数据向量为原始数据包经发送端子空间编码得到的第一编码数据向量经传输达到接收端的编码数据向量,该第二校验向量为第一编码数据向量经校验得到的第一校验向量再经传输达到接收端的校验向量;根据该第二校验向量计算第一接收子空间对应的差错空间维数;当该差错空间维数小于1/2码距时,接收上述t时刻到达的数据向量以构成第二接收子空间;计算第二接收子空间与发送子空间的空间距离;当该空间距离小于1/2码距时,对第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。
[0006] 结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述根据该第二校验向量计算该第一接收子空间对应的差错空间维数的步骤,包括:根据该第二校验向量计算该第一接收子空间对应的校验差空间维数;根据该校验差空间维数估算差错空间维数。
[0007] 第二方面,本发明实施例提供了一种网络端到端差错控制传输方法,应用于发送端,该方法包括:获取待传输的原始数据包;对该原始数据包进行子空间编码得到多个编码数据向量以构成发送子空间;对每个编码数据向量进行校验得到对应的校验向量;根据上述编码数据向量和校验向量组成待发送的数据向量以发送给接收端。
[0008] 结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述对该原始数据包进行子空间编码的步骤,包括:采用提升交织Gabidulin编码方法对该原始数据包进行编码。
[0009] 结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述对该原始数据包进行子空间编码得到多个编码数据向量以构成发送子空间的步骤,包括:将每一代该原始数据包编码成一组有限域上的编码数据向量;以该编码数据向量为行向量构成矩阵形式的发送子空间。
[0010] 第三方面,本发明实施例还提供了一种网络端到端差错控制传输方法,包括:发送端将原始数据包进行子空间编码得到多个编码数据向量以构成发送子空间;对每个编码数据向量进行校验得到对应的校验向量;发送端将由该编码数据向量和校验向量组成的数据向量发送出去;接收端接收t时刻到达的数据向量以构成第一接收子空间;接收端根据该t时刻到达的数据向量中的校验向量计算第一接收子空间对应的差错空间维数;当该差错空间维数小于1/2码距时,接收t时刻到达的数据向量以构成第二接收子空间;计算第二接收子空间与发送子空间的空间距离;当该空间距离小于1/2码距时,对第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。
[0011] 结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中,在上述接收端接收t时刻到达的数据向量以构成第一接收子空间的步骤之前,还包括:接收网络中间节点采用随机线性网络编码传输方式传输该数据向量。
[0012] 第四方面,本发明实施例还提供了一种网络端到端差错控制传输装置,包括:第一接收子空间模块,用于接收t时刻到达的数据向量以构成第一接收子空间;该数据向量包括第二编码数据向量和第二校验向量,该第二编码数据向量为原始数据包经发送端子空间编码得到的第一编码数据向量经传输达到接收端的编码数据向量,该第二校验向量为第一编码数据向量经校验得到的第一校验向量再经传输达到接收端的校验向量;差错空间维数计算模块,用于根据该第二校验向量计算第一接收子空间对应的差错空间维数;第二接收子空间模块,用于当差错空间维数小于1/2码距时,接收t时刻到达的数据向量以构成第二接收子空间;空间距离计算模块,用于计算第二接收子空间与发送子空间的空间距离;子空间解码模块,用于当该空间距离小于1/2码距时,对第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。
[0013] 第五方面,本发明实施例还提供了一种网络端到端差错控制传输装置,包括:原始数据包获取模块,用于获取待传输的原始数据包;子空间编码模块,用于对原始数据包进行子空间编码得到多个编码数据向量以构成发送子空间;校验模块,用于对每个编码数据向量进行校验得到对应的校验向量;发送模块,用于根据该编码数据向量和校验向量组成待发送的数据向量以发送给接收端。
[0014] 第六方面,本发明实施例提供了一种电子设备,包括存储器、处理器,该存储器中存储有可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现上述第一至第三方面及其可能的实施方式之一提供的网络端到端差错控制传输方法的步骤。
[0015] 本发明实施例带来了以下有益效果:
[0016] 本发明实施例提供的一种网络端到端差错控制传输方法、装置及电子设备,该方法包括接收t时刻到达的数据向量以构成第一接收子空间;该数据向量包括第二编码数据向量和第二校验向量,该第二编码数据向量为原始数据包经发送端子空间编码得到的第一编码数据向量经传输达到接收端的编码数据向量,该第二校验向量为第一编码数据向量经校验得到的第一校验向量再经传输达到接收端的校验向量;根据该第二校验向量计算第一接收子空间对应的差错空间维数;当该差错空间维数小于1/2码距时,接收上述t时刻到达的数据向量以构成第二接收子空间;计算第二接收子空间与发送子空间的空间距离;当该空间距离小于1/2码距时,对第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。本发明实施例提供的网络端到端差错控制传输方法,具备端到端传输的无速率特性,适合空间长时延的动态网络环境;并且,该方法通过Gabidulin子空间编码统一描述链路差错和丢包等传输错误,并通过多项式校验码度量差错空间维数,在有突发的链路差错和拓扑变化引起的丢包等信道和传输错误条件下,能够实现解码恢复原始数据,并有效降低信息端到端实际传输的冗余度,减少信息传输过程中对带宽资源的消耗。
[0017] 本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
[0018] 为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0019] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1为本发明实施例提供的一种网络端到端差错控制传输方法的流程示意图;
[0021] 图2为本发明实施例提供的另一种网络端到端差错控制传输方法的流程示意图;
[0022] 图3为本发明实施例提供的又一种网络端到端差错控制传输方法的流程示意图;
[0023] 图4为一种应用实例的网络端到端差错控制传输方法的流程示意图;
[0024] 图5为本发明实施例提供的一种接收端选择性接收的具体流程图;
[0025] 图6为本发明实施例提供的一种网络端到端差错控制传输装置的结构示意图;
[0026] 图7为本发明实施例提供的另一种网络端到端差错控制传输装置的结构示意图。
[0027] 图标:
[0028] 61-第一接收子空间模块;62-差错空间维数计算模块;63-第二接收子空间模块;64-空间距离计算模块;65-子空间解码模块;71-原始数据包获取模块;72-子空间编码模块;73-校验模块;74-发送模块。

具体实施方式

[0029] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 目前,通信网络中的差错控制策略主要有以下几类:
[0031] 第一类,采用差错控制编码,例如RS码、LDPC码等来对每一跳传输的误码进行纠错。然而,这种逐条纠错的方式只解决传输误码,对于拥塞丢包或者路由协议运行过程中带来的丢包是不适用的。
[0032] 第二类,采用TCP协议或者类似的传输层机制,用反馈重传的方法来保证数据包的准确传输。以TCP为例,它通过逐个数据包的反馈来保证数据包按照顺序准确送达。当发送端收到关于某个数据包传输出错的反馈消息后,需要将该数据包,以及之后若干个数据包进行重新发送。移动卫星网络高差错率的特点会导致接收端频繁发送传输出错的反馈消息,而高传输时延导致数据传输效率大大降低。
[0033] 第三类,采用无速率编码,如LT码进行数据传输。尽管无速率编码能够应对传输差错,而且不需要像TCP协议一样进行逐个数据包的端到端反馈,但使用无速率编码进行多跳传输的编码冗余度是每一跳传输所需要的编码冗余度的乘积。移动卫星网络逐跳高误码率的特点会大大增加端到端的传输冗余度。
[0034] 第四类,采用随机网络编码进行端到端传输。随机网络编码可以适应动态变化的网络结构,但都是传输差错率相对固定,从而能够采用确定的编码冗余度基础上的。对于随机的传输差错率,若相对固定的编码冗余度,则会出现:(1)编码冗余度较高,造成传输带宽的浪费;(2)编码冗余度低,造成接收端解码失败。
[0035] 总之,现有的几种差错控制策略都无法满足移动卫星网络星间链路的拓扑动态性、丢包随机性、高时延和高差错率的端到端传输环境。基于此,本发明实施例提供的一种网络端到端差错控制传输方法、装置及电子设备,在有突发的链路差错和拓扑变化引起的丢包等信道和传输错误条件下,能够实现解码恢复原始数据,并有效降低信息端到端实际传输的冗余度,减少信息传输过程中对带宽资源的消耗。
[0036] 为便于对本实施例进行理解,首先对本发明实施例所公开的一种网络端到端差错控制传输方法进行详细介绍。
[0037] 实施例一:
[0038] 如图1所示,为本发明实施例提供的一种网络端到端差错控制传输方法的流程示意图,该方法应用于接收端,由图1可见,该方法包括以下步骤:
[0039] 步骤S102:接收t时刻到达的数据向量以构成第一接收子空间;该数据向量包括第二编码数据向量和第二校验向量,该第二编码数据向量为原始数据包经发送端子空间编码得到的第一编码数据向量经传输达到接收端的编码数据向量,该第二校验向量为第一编码数据向量经校验得到的第一校验向量再经传输达到接收端的校验向量。
[0040] 接收端接收发送端发来的数据向量,其中,该数据向量包括两部分:第二编码数据向量和第二校验向量。这里,发送端对原始数据包进行子空间编码后得到第一编码数据向量,第一编码数向量经校验后得到对应的第一校验向量。第一编码数据向量和第一校验向量经传输后到达接收端,在网络传输的过程中,可能会出现错包、丢包等情况,因此,到达接收端的第二编码数据向量、第二校验向量与发送端发送的第一编码数向量、第一校验向量可能存在偏差。
[0041] 其中,校验向量由多项式校验码构成,这里,多项式校验码是一个映射设 是Fq上的μ次多项式。对于任意的向量
其对应的多项式为 设α(x)除以f(x)的余式为
这里,若β(x)的次数δ小于μ-1,则,对于i=δ+1,...,μ,令βi=0。设
为与β(x)对应的向量,则β称为α关于f(x)对应的多项式校验码,即,β=
Rf(α)。校验向量就是由多项式校验码构成,设次数为μ的多项式f(x)在发送端和接收端都已知,但对于中间节点是未知的。
[0042] 对于t时刻到达接收端的数据向量,接收端首先接收该数据向量,并结合该数据向量构成当前的第一接收子空间。
[0043] 步骤S104:根据该第二校验向量计算第一接收子空间对应的差错空间维数。
[0044] 在其中一种可能的实施方式中,对于t时刻到达接收端的数据向量,首先根据该数据向量中的第二校验向量计算第一接收子空间对应的校验差空间维数;然后,再根据该校验差空间维数估算差错空间维数。
[0045] 步骤S106:比较该差错空间维数是否小于1/2码距。
[0046] 将计算得到的当前差错空间维数与1/2码距进行比较,以决定是否接收该数据向量或丢弃该数据向量。
[0047] 步骤S108:若是,则接收上述t时刻到达的数据向量以构成第二接收子空间。
[0048] 若当前差错空间维数小于1/2码距,则认为该数据向量满足要求,此时,接收该t时刻到达的数据向量以构成第二接收子空间。若当前差错空间维数不小于1/2码距,则认为该数据向量不满足要求,则丢弃该t时刻到达的数据向量。这样,无论是第一接收子空间还是第二接收子空间,都不包括该t时刻到达的数据向量。
[0049] 步骤S110:计算第二接收子空间与发送子空间的空间距离。
[0050] 随着接收端不断接收数据向量,并且,第二接收子空间中的数据向量也逐渐增多,第二接收子空间将逐渐逼近发送子空间。这里,在该第二接收子空间每接收一个满足要求的数据向量时,计算当前第二接收子空间与发送子空间的空间距离。
[0051] 步骤S112:比较该空间距离是否小于1/2码距。
[0052] 这里,将计算得到的第二接收子空间与发送子空间的空间距离与1/2码距进行比较,以判断当前第二接收子空间是否达到进行解码的要求。
[0053] 步骤S114:若是,则对第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。
[0054] 若当前第二接收子空间与发送子空间的空间距离小于1/2码距,则根据当前第二接收子空间中的数据向量中的编码数据向量,对其进行子空间解码,以得到恢复的数据包。
[0055] 这样,即在接收端实现了根据接收到的数据向量进行解码而得到恢复的数据包,其中,接收端通过多项式校验,使得接收节点可以实时计算发送与接收子空间距离;并且,通过对数据包进行校验,接收端选择性接收新到达的数据包,使得接收子空间不断逼近发送子空间,当接收端收到足够多的上述选择性接收的数据包时,即能够完成解码恢复原始数据。
[0056] 参见图2,为本发明实施例提供的另一种网络端到端差错控制传输方法的流程示意图,该方法应用于发送端,由图2可见,该方法包括以下步骤:
[0057] 步骤S202:获取待传输的原始数据包。
[0058] 首先,发送端需要获取待传输的原始数据包。
[0059] 步骤S204:对该原始数据包进行子空间编码得到多个编码数据向量以构成发送子空间。
[0060] 在其中一种实施方式中,发送端对原始数据包采用提升交织Gabidulin编码方法进行编码。具体地,首先可以将每一代该原始数据包编码成一组有限域上的编码数据向量,然后,以该编码数据向量为行向量构成矩阵形式的发送子空间。
[0061] 步骤S206:对每个编码数据向量进行校验得到对应的校验向量。
[0062] 这里,校验向量由多项式校验码构成,首先,多项式校验码是一个映射设 是Fq上的μ次多项式。对于任意的向量
其对应的多项式为 设α(x)除以f(x)的余式为
这里,若β(x)的次数δ小于μ-1,则,对于i=δ+1,...,μ,令βi=0。设
为与β(x)对应的向量,则β称为α关于f(x)对应的多项式校验码,即,β=
Rf(α)。校验向量就是由多项式校验码构成,设次数为μ的多项式f(x)在发送端和接收端都已知,但对于中间节点是未知的。
[0063] 步骤S208:根据上述编码数据向量和校验向量组成待发送的数据向量以发送给接收端。
[0064] 对于每一个编码数据向量,通过上述步骤得到其对应的校验向量,将该编码数据向量和其对应的校验向量组合成待发送的数据向量以发送给接收端。
[0065] 这样,在发送端实现了对原始数据包的子空间编码,以及对编码数据向量的多项式校验,通过对原始数据包的处理,产生发送的数据向量,并由输出链路发送出去。如此,在接收端接收到该数据向量之后,可以根据图1示出的实施方式对该数据向量进行处理,以得到恢复的数据包。
[0066] 在网络端到端差错控制传输方法的另一种实施方式中,参见图3,为该方法的流程示意图,图3示出了数据发送端和数据接收端之间的相互协调工作过程,由图3可见,该方法包括以下步骤:
[0067] 步骤S302:发送端将原始数据包进行子空间编码得到多个编码数据向量以构成发送子空间。
[0068] 步骤S304:发送端对每个编码数据向量进行校验得到对应的校验向量。
[0069] 步骤S306:发送端将该编码数据向量和校验向量组成数据向量。
[0070] 步骤S308:发送端将该数据向量发送给接收端。
[0071] 这里,在发送端将该数据向量发送出去之后,在其中一种实施方式中,接收网络中间节点采用随机线性网络编码转发的方式在网络中进行多径、多跳传输,以将该数据向量发送给接收端,这里,在该传输过程中,会产生传输差错,包括丢包、链路随机错包等等。
[0072] 步骤S310:接收端接收t时刻到达的数据向量以构成第一接收子空间。
[0073] 步骤S312:接收端根据该t时刻到达的数据向量中的校验向量计算第一接收子空间对应的差错空间维数。
[0074] 步骤S314:当该差错空间维数小于1/2码距时,接收端接收t时刻到达的数据向量以构成第二接收子空间。
[0075] 步骤S316:接收端计算第二接收子空间与发送子空间的空间距离。
[0076] 步骤S318:当该空间距离小于1/2码距时,接收端对第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。
[0077] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,本实施例所描述的网络端到端差错控制传输方法,其中发送端和接收端相互配合的具体工作过程,可以参考前述图1和图2所示实施例中的对应过程,在此不再赘述。
[0078] 本发明实施例提供的一种网络端到端差错控制传输方法,该方法包括接收t时刻到达的数据向量以构成第一接收子空间;该数据向量包括第二编码数据向量和第二校验向量,该第二编码数据向量为原始数据包经发送端子空间编码得到的第一编码数据向量经传输达到接收端的编码数据向量,该第二校验向量为第一编码数据向量经校验得到的第一校验向量再经传输达到接收端的校验向量;根据该第二校验向量计算第一接收子空间对应的差错空间维数;当该差错空间维数小于1/2码距时,接收上述t时刻到达的数据向量以构成第二接收子空间;计算第二接收子空间与发送子空间的空间距离;当该空间距离小于1/2码距时,对第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。该方法具备端到端传输的无速率特性,适合空间长时延的动态网络环境;并且,该方法通过Gabidulin子空间编码统一描述链路差错和丢包等传输错误,并通过多项式校验码度量差错空间维数,在有突发的链路差错和拓扑变化引起的丢包等信道和传输错误条件下,能够实现解码恢复原始数据,并有效降低信息端到端实际传输的冗余度,减少信息传输过程中对带宽资源的消耗。
[0079] 实施例二:
[0080] 为了更好理解上述实施例提供的网络端到端差错控制传输方法,本实施例以一个实际传输实例进行说明。参见图4,为该应用实例的流程示意图。
[0081] 首先,建立统一描述丢包和差错的端到端传输信道模型,也即随机线性网络编码信道(Random linear network coding channel,RLNCC)。在随机线性网络编码信道中,考虑单一的源节点和目的节点。这里,源节点将原始信息表示为n个M维的数据向量网络中的l个不同的传输差错,等价于向网络中“注入”l个差错向量
其中,满足i=1,...,l, 目的节点收到N个数据向量
设X,Y,Z分别为x1,...,xn,y1,...,yN及z1,...,zl的行向量所组成的矩阵,
考虑到中间节点的随机线性组合,Y表示为:Y=AX+BZ。其中A是一个N×n的转移矩阵,对应于原始数据向量的多跳线性组合转发,B是一个N×l的矩阵,对应于差错向量的线性组合转发。
[0082] 然后,发送端将每一代原始数据包,通过子空间编码产生发送的数据向量,并由输出链路不断发送出去。具体包括以下两个部分:
[0083] (a)子空间编码。给定子空间码本C,对于每一代原始数据,源节点将其编码为一组有限域上的数据向量 以它们为行向量组成矩阵
[0084] (b)多项式校验码。为每一个数据向量 增加对应的校验向量构成组合向量 每一代原始数据编码而成的数据向量x1,...,xn,对应
的校验向量为B(x1),...,B(xn),构成的组合向量为 设 为以 为行向量组
成的矩阵,B(X)为以B(x1),...,B(xn)为行向量的矩阵。
[0085] 接着,接收网络中间节点将收到的数据包逐渐传输到接收节点,在本实施例中,接收网络中间节点采用随机线性网络编码传输方式进行传输。
[0086] 其次,接收端对每一个到达的数据向量 进行选择性接收。这里, 表示ti时刻到达的数据向量。具体地,包括以下步骤:
[0087] (a)差错空间描述。差错向量可构成接收端差错空间。可用映射Λ(y,U)→{0,1}表示y是否属于接收子空间U;用映射Φ(y,U)→{0,1}表示的y的接收能否增加差错空间的维数。
[0088] (b)差错空间维数估算。采用多项式校验码来达到使得接收端能够检测当前差错空间维数的目的。
[0089] 对于任意的组合向量 设 表示与 对应的校验差向量,这里,Rf(y)表示y的多项式校验码。
[0090] 接收 子 空间 所 对应 的 校验 差空 间 满 足其中, 表示到达接收节点的数据向量的某个
子集, 表示 张成的子空间。
[0091] 且该接收子空间有以下性质:
[0092]
[0093] 其中,Pr()表示概率,dim(E)表示子空间E的维数,μ表示校验码的长度。当μ→∞,满足 根据该性质,对于任意的接收子空间,接收节点可通过校验差空间维数准确估算出差错空间的维数。
[0094] (c)选择性接收包。对到达目的数据包进行选择性接收,逐渐构造出满足发送与接收子空间距离小于二分之一码距的接收子空间,从而保证解码成功。
[0095] (d)解码分析。数据向量 到达接收节点后,设 与 为接收子空间以及与之相对应的差错空间。则传输过程中,以下两个性质成立。
[0096] 性质1:在初始时刻t0,满足
[0097]
[0098] 上式表示,初始时刻接收子空间 与发送子空间V的距离 就是发送子空间的维数dim(V)。该性质说明,在接收端知道子空间码本的前提下,在每一代子空间编码传输的初始时刻,接收节点知道接收子空间与发送子空间的距离。
[0099] 性质2:对于tN+1时刻新到达接收节点的数据向量 接收 后构成的接收子空间为 则
[0100]
[0101] 该性质表明,对于tN+1时刻新到达接收节点的数据向量 若接收端能够准确知道 与 之间的关系 和 接收端就能知道接收了
之后的接收与发送子空间之间的距离。
[0102] 这里,解码成功的必要条件和充分条件为:
[0103] 必要条件:
[0104] 式中,D(C)为码距,表示在C中任意两个码字的最小距离,C为子空间码本,表示子空间码字的集合。该式表示,差错空间维数需要要小于二分之一码距。
[0105] 充分条件:
[0106] 式中,V为发送子空间,U为接收子空间,该式表示,接收子空间与发送子空间的空间距离需要小于二分之一码距。
[0107] 在该应用实例中,参见图5,为接收端选择性接收的具体流程图,由图5可见,给定子空间码本C,设T(C)为最大允许的接收子空间所对应的差错空间维数,满足0≤T(C)<[D(C)/2]。这里,无速率子空间编码解码的选择性接收流程具体实施如下:
[0108] (a)开始时刻 ds=m。
[0109] (b)估计差错空间维数。
[0110] (c)当dim(G(U))
[0111] (d)当满足 时进入子空间码解码。
[0112] 这样,本发明实施例提供的网络端到端差错控制传输方法,该方法基于子空间编码和无速率思想实现,首先,发送端对原始数据包进行子空间编码和多项式校验,以产生发送的数据向量,并由输出链路不断发送出去;然后,中间节点采用随机线性网络编码转发的方式在网络中进行多径、多跳传输,其中会产生传输差错包括丢包、链路随机错包等;接着,接收端通过差错空间度量,以一定规则选择或丢弃到达的数据向量,从而构成接收子空间,当接收子空间满足解码条件时,即可通过子空间解码得到恢复的数据包。
[0113] 实施例三:
[0114] 本发明实施例还提供了一种网络端到端差错控制传输装置,如图6所示,为该装置的结构示意图,由图6可见,该装置包括依次相连的第一接收子空间模块61、差错空间维数计算模块62、第二接收子空间模块63、空间距离计算模块64和子空间解码模块65,其中,各个模块的功能如下:
[0115] 第一接收子空间模块61,用于接收t时刻到达的数据向量以构成第一接收子空间;该数据向量包括第二编码数据向量和第二校验向量,该第二编码数据向量为原始数据包经发送端子空间编码得到的第一编码数据向量经传输达到接收端的编码数据向量,该第二校验向量为第一编码数据向量经校验得到的第一校验向量再经传输达到接收端的校验向量;
[0116] 差错空间维数计算模块62,用于根据该第二校验向量计算第一接收子空间对应的差错空间维数;
[0117] 第二接收子空间模块63,用于当差错空间维数小于1/2码距时,接收t时刻到达的数据向量以构成第二接收子空间;
[0118] 空间距离计算模块64,用于计算第二接收子空间与发送子空间的空间距离;
[0119] 子空间解码模块65,用于当该空间距离小于1/2码距时,对第二接收子空间中的数据向量进行子空间解码以得到恢复的数据包。
[0120] 在其中一种实施方式中,图6示出的网络端到端差错控制传输装置应用于数据接收端,以根据接收到的数据向量恢复得到相应的数据包。
[0121] 另外,本发明实施例还提供了另一种网络端到端差错控制传输装置,参见图7,为该装置的结构示意图,由图7可见,该装置包括依次相连的原始数据包获取模块71、子空间编码模块72、校验模块73和发送模块74,其中,各个模块的功能如下:
[0122] 原始数据包获取模块71,用于获取待传输的原始数据包;
[0123] 子空间编码模块72,用于对原始数据包进行子空间编码得到多个编码数据向量以构成发送子空间;
[0124] 校验模块73,用于对每个编码数据向量进行校验得到对应的校验向量;
[0125] 发送模块74,用于根据该编码数据向量和校验向量组成待发送的数据向量以发送给接收端。
[0126] 在其中一种实施方式中,图7示出的装置应用于数据发送端,以实现对原始数据包的子空间编码,以及对编码数据向量的多项式校验,通过对原始数据包的处理产生发送的数据向量,并由输出链路发送出去。
[0127] 本发明实施例所提供的网络端到端差错控制传输装置,其实现原理及产生的技术效果和前述网络端到端差错控制传输方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0128] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的网络端到端差错控制传输装置的具体工作过程,可以参考前述网络端到端差错控制传输方法实施例中的对应过程,在此不再赘述。
[0129] 实施例四:
[0130] 本发明实施例提供了一种电子设备,包括存储器、处理器,该存储器中存储有可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现上述实施例一、实施例二及其可能的实施方式之一提供的网络端到端差错控制传输方法的步骤。
[0131] 除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
[0132] 在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
[0133] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0134] 另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0135] 在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0136] 本发明实施例所提供的进行网络端到端差错控制传输方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0137] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0138] 最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。