CN101540778A - 一种数据传输的方法、装置和系统 - Google Patents

一种数据传输的方法、装置和系统 Download PDF

Info

Publication number
CN101540778A
CN101540778A CN200810082789A CN200810082789A CN101540778A CN 101540778 A CN101540778 A CN 101540778A CN 200810082789 A CN200810082789 A CN 200810082789A CN 200810082789 A CN200810082789 A CN 200810082789A CN 101540778 A CN101540778 A CN 101540778A
Authority
CN
China
Prior art keywords
data
coding
source node
vector
coding vector
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
Application number
CN200810082789A
Other languages
English (en)
Other versions
CN101540778B (zh
Inventor
张少波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scegc Installation Group Henan Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200810082789.4A priority Critical patent/CN101540778B/zh
Publication of CN101540778A publication Critical patent/CN101540778A/zh
Application granted granted Critical
Publication of CN101540778B publication Critical patent/CN101540778B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种数据传输的方法、装置和系统,其中,该方法包括:选择存有待传输数据复本的多个源节点,向每个源节点分配至少一个编码向量;接收所述多个源节点返回的编码数据,利用所述编码数据及其对应的编码向量译码得到数据复本,所述编码数据由源节点利用分配的编码向量对待传输数据进行纠删编码得到。本发明还同时公开了一种数据传输的装置和系统。本发明实施例的这种数据传输的方法、装置和系统,通过采用多源传输来减少每条源节点与目的节点之间链路上传输的数据量,同时通过采用纠删编码来降低目的节点对接收到的编码数据的数量的要求,大大降低了数据传输的时延。

Description

一种数据传输的方法、装置和系统
技术领域
本发明涉及通信技术,具体涉及一种数据传榆的方法、装置和系统。
背景技术
在数据传输网络中,数据是以存储转发的形式传输的,传输路径上可能经过多段不同质量的传输链路和不同数据处理能力的节点,由于链路的带宽、差错处理速度、网络拥塞程度和节点数据处理能力等因素的影响,数据传输的时延是不确定的。数据丢失,则可以看作是传输延迟的一种特殊情况,即,相当于数据传输的时延为无穷大。
一般而言,总是希望能尽量减少传输的时延及其不确定性,特别是对于媒体播放之类实时性的交互应用,时延将严重地影响用户的体验。降低数据传输的时延及其发生的不确定性,对于提高用户体验无疑更加具有必要性。
通常情况下,目的节点是从单一的源节点来获得需要的数据,但是有些情况下,同一数据有多个复本分别保存在不同的节点中,这些节点分布在数据传输网络的不同位置。显然,当采用单一源节点传输的方式时,这些保存同一数据复本的节点并没有得到利用,因此,通过选择存有数据复本的多个节点作为源节点可以实现并行的数据传输,从而可以改善数据传输的时延。
现有改善数据传输时延的方法一般分为两种:
一、纠错编码是数据传输中常用的技术。源节点(即数据发送方)在数据上附加冗余信息,所述带有冗余信息的数据称为编码数据,源节点将所述编码数据发送给数据接收方。如果传输中产生的错误在一定限度内,目的节点(即数据接收方)仍然可以从接收的所述编码数据中恢复出原始的编码数据,这样就避免了目的节点向源节点请求重新发送发生错误的数据而产生的时延。
上述纠错编码的方法,可以纠正传输过程中产生的差错而不需要反馈重传,但是主要应用于单一源节点的传输过程,且对于由于网络拥塞或节点数据处理能力不足等原因引起的传输时延,纠错编码无能为力,因此该方法并不能有效降低各种情况下的传输时延。
二、采用多源传输的方法,即目的节点可以选择多个源节点,分别从每个源节点获取同一目标数据的不同部分,目的节点把从不同的源节点获得的数据片段拼接得到完整的目标数据。
采用这种方法,每个源节点不需要都保存有完整的目标数据,就可以为目的节点服务,因此源节点的选择范围相对单个源节点的方法更宽。该方法在文件下载之类对实时交互性要求不是太高的应用中,具有相当优势,因此在诸如点对点(Peer to Peer,P2P)下载软件等领域得到了广泛的应用。
但是,由于各个源节点保存的数据片段是不同的,而目的节点只有在接收到所有的片段后才能够拼接恢复出完整的目标数据,因此,该方法的传输时延是由多个源节点到目的节点的传输时延的最大值所决定的。如果某个源节点的的数据出现较大的延迟,则会影响整个目标数据的可用性。可见,多源传输的方法仍然无法有效降低传输时延并达到实时应用的要求。
发明内容
本发明实施例提供一种数据传输的方法、装置和系统,能够降低数据传输的时延。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种数据传输的方法,该方法包括:
选择存有待传输数据复本的多个源节点,向每个源节点分配至少一个编码向量;
接收所述多个源节点返回的编码数据,利用所述编码数据及其对应的编码向量译码得到数据复本,所述编码数据由源节点利用分配的编码向量对待传输数据进行纠删编码得到。
一种数据传输的系统,该系统包括目的节点和多个源节点;
所述目的节点,用于选择存有待传输数据复本的多个源节点,向每个源节点分配至少一个编码向量;接收所述多个源节点返回编码数据,利用所述编码数据及其对应的编码向量译码得到数据复本;
所述多个源节点,用于分别利用分配的编码向量对待传输数据进行纠删编码,并将得到的编码数据返回给目的节点。
一种数据传输的装置,所述装置包括:
分配模块,用于选择存有待传输数据复本的多个源节点,向每个源节点分配至少一个编码向量;
接收模块,用于接收所述多个源节点返回的编码数据;
译码模块,用于利用所述接收模块接收的编码数据及其对应的编码向量译码得到数据复本,所述编码数据由源节点根据所述编码向量对待传输数据进行纠删编码得到。
由上述的技术方案可见,本发明实施例的这种数据传输的方法、装置和系统,通过采用多源传输来减少每条源节点与目的节点之间链路上传输的数据量,同时通过采用纠删编码来降低目的节点对接收到的编码数据的数量的要求,大大降低了数据传输的时延。
附图说明
图1为本发明实施例中数据传输的方法的流程示意图。
图2为本发明实施例中进行数据传输时分配编码向量的示意图。
图3为本发明实施例中进行数据传输时进行数据传输的示意图。
图4为本发明实施例中不同传输链路数目情况下传输时延概率分布的示意图。
图5为本发明实施例中的数据传输的方法与仅采用多源传输的方法的传输时延概率分布比较的示意图。
图6为本发明实施例中数据传输的系统的组成结构示意图。
图7为本发明实施例中数据传输的装置的组成结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
下面首先介绍本发明实施例中使用的纠删编码的概念。纠删编码通过对待传输数据进行编码,增加适当的冗余,使得编码数据在传输过程中可以允许部分的丢失而不影响待传输数据的完整性。
纠删编码一般是分组纠错编码,它有两个参数(n,k),参数k表示编码前的数据长度为k个单位;参数n表示编码后的数据长度为n个单位。纠删编码的过程就是将k个单位的数据映射为n个单位的编码数据,其中,n>k,n和k为整数。所述数据长度的单位可以是比特,字节或其他长度单位。
分组纠错码的编码过程可以用伽罗华(Galois)域上的G(p)的矩阵乘法运算来描述,p是Galois域的阶。
c 0 c 1 . . . . . . c n - 1 = G x 0 x 1 . . . x k - 1 = g 0 g 1 . . . . . . g n - 1 x 0 x 1 . . . x k - 1
其中,(x0,x1,.......,xk-1)T((·)T表示向量或者矩阵的转置)是编码前的数据,长度是k个单位;
(c0,c1,c2,.......,cn-1)T是编码后的数据,长度是n个单位;
G是生成矩阵,它定义了编码数据空间。其中G的行向量gi是1×k维的向量,包含k个元素。
ci=gi·(x0,x1,.......,xk-1)T,行向量gi是生成编码数据ci的编码向量;(c′0,c′1,......,c′k-1)T表示任意k个单位的编码数据,则:
c ′ 0 c ′ 1 . . . c ′ k - 1 = G k x 0 x 1 . . . x k - 1 = g i 0 g i 1 . . . g i ( k - 1 ) x 0 x 1 . . . x k - 1
其中Gk是生成矩阵G的子矩阵,由G中的k个行向量组成。如果Gk满秩,则Gk的逆矩阵Gk -1存在,则通过译码操作Gk -1·(c′0,c′1,......,c′k-1)T就可以恢复出编码前的数据(x0,x1,.......,xk-1)T
纠删编码有多种类型,例如:Reed-Solomon(RS)纠删码,tornado编码,rapptor编码等。理想的纠删编码有具有如下的特性:对于参数为(k,n)的理想纠删编码,可以根据任意k个单位的编码数据恢复出编码前的数据(长度为k个单位)。对于一般的纠删编码,需要根据k′个单位的编码数据,k′≥k,即根据不少于k个单位的编码数据才能恢复出编码前的数据(长度为k个单位)。具体需要的编码数据长度取决于具体的编码类型,也和用于编码的数据有关,RS纠删码是理想的纠删码,其生成矩阵的任意k个行向量都是线性不相关的。
纠删编码一般用于恢复丢失的数据,本发明实施例中则是利用纠删编码以减少传输时延,同时本发明实施例并不限定具体使用的纠删编码的类型。
根据上述纠删编码,同时结合多源传输的方法,本发明实施例提供一种数据传输的方法,该方法流程如图1所示,其中包括:
步骤101:目的节点选择存有待传输数据复本的多个源节点,向每个源节点分配至少一个编码向量。
不同的源节点通常使用一致的方法来标识同一数据,使得目的节点可以识别出传输的数据,例如:使用相同的文件名字和版本表示同一个数据文件的复本。所述目的节点选择存有待传输数据复本的多个源节点的方法具体包括:在集中控制的情况下,各节点存储的数据记录在中心节点,则目的节点可以向该中心节点查询以获知哪些节点存有所述的待传输数据;而在分布控制的情况下,目的节点可以向周边其他节点以点对点或者广播方式查询是否存有所述待传输数据。
所述步骤101具体包括:设置n×k维纠删编码的生成矩阵,n、k为整数,n>k。具体得到生成矩阵的方法是现有技术,此处不再赘述;目的节点(数据接收节点)选择m个存有待传输数据复本的源节点,向每个源节点指示各源节点进行纠删编码所需的编码向量。
需要说明的是,在多数应用场景下,所述待传输数据并不是一次传输完成的,而常常是将待传输数据分多次进行传输:源节点根据编码向量的维数k,每次选择k个单位长度的待传输数据作为一次传输的数据,对所述的一次传输的数据进行编码后发送,目的节点进行译码,如此进行多次,直到完成全部数据的传输;所述的单位长度,其具体数值可以为任意个比特或字节,或其他长度值,本发明实施例不作限定。
此外,目的节点并不需要把编码的生成矩阵G完整发送到每个源节点,而只需要将生成矩阵中的n个编码向量分配并发送到不同的源节点,每个源节点至少被分配一个编码向量。
如果m>n,即源节点的数目超过编码数据的长度(n个单位),某些节点得到相同的编码向量,由于路径分集的作用,可以获得减少延迟的好处,但是增加了编码之外的冗余,从更多的源节点发送的数据也增加了全局带宽的占用。
如果m<n,即源节点的数目超过编码数据的长度(n个单位),某些源节点将得到超过一个编码向量,这种情况不能完全发挥路径分集的作用。
如果m=n,n个编码向量分配到不同的源,完全发挥了路径分集的作用,冗余度由编码确定,为n/k。
通常情况下,所述存有待传输数据复本的源节点的个数足够,因此一般在编码过程中选择m=n,以充分发挥路径分集的作用,同时也能够降低后续处理的复杂度,但本发明实施例中并不做具体限定。
步骤102:各源节点根据所述编码向量对待传输数据进行纠删编码,并将得到的编码数据发送给目的节点。
各源节点根据接收到的一个或多个编码向量对待传输数据的编码数据进行编码,得到一个或多个单位的编码数据,再将编码数据发送给目的节点。其中,一个编码向量对应地生成一个单位的编码数据。
步骤103:目的节点接收预定数量的有效编码数据,译码得到数据复本。
当目的节点接收的编码数据所对应的编码向量和已接收的编码数据所对应的编码向量线性无关时,称该编码数据有效,否则该编码数据将被丢弃,当接收到k个(预定数量)有效编码数据后,就可以进行译码操作。
由于非有效的数据将被丢弃,为了满足所述预定数量的有效编码数据所需要接收的编码数据的数量k′是不确定的,这和传输路径以及编码的选择有关。较佳地,如果采用参数为(n,k)的理想的纠删编码,如RS编码方式,可以消除这种不确定性:任意的k个编码向量都是线性无关的,因此只要收到最早到达的任意的k个编码数据就可以执行译码。
在目的节点,需要根据接收到的编码数据所对应的编码向量进行译码,而各源节点发出的编码数据到达目的节点的时间和顺序无法预先确定,从而矩阵生成矩阵Gk也无法预先确定,只能根据实际接收到的编码数据来确定Gk,因此需要编码向量与利用该向量进行编码后得到的编码数据之间的对应关系,以便目的节点根据接收到的编码数据来确定该编码数据所对应的编码向量。例如,如果目的节点为每个源节点只分配一个编码向量,目的节点可以根据发送编码数据的源节点确定该编码数据对应的编码向量,或者说编码向量的信息隐含在编码数据的源地址中,此时需要目的节点在分配编码向量时,保存源节点和编码向量的对应关系;如果目的节点为源节点分配的编码向量多于一个,源节点应告知目的节点各编码数据分别对应的编码向量的信息,如将编码向量在生成矩阵G中的行序号携带在包含编码数据的报文中,此时需要目的节点在分配编码向量时,告知源节点编码向量在生成矩阵中的行序号。
步骤103中译码的方法具体为:
建立各编码向量与使用该编码向量进行纠删编码得到的编码数据间的对应关系,将编码向量和对应的编码数据按照对应关系逐行排列组成两个矩阵,编码向量组成生成矩阵,对应的编码数据组成有效编码数据矩阵,利用该生成矩阵的逆矩阵左乘所述编码数据矩阵,得到一次传输的长度为k个单位的数据复本;或者,当进一步从接收的编码数据中选择出有效编码数据时,则建立各编码向量与使用该编码向量进行纠删编码得到的有效编码数据间的对应关系,将编码向量和对应的有效编码数据按照对应关系逐行排列组成两个矩阵,编码向量组成生成矩阵,对应的有效编码数据组成有效编码数据矩阵,利用该生成矩阵的逆矩阵左乘所述有效编码数据矩阵,得到一次传输的长度为k个单位的数据复本。
如前文所述,待传输数据一般需要经过多次传输,因此目的节点在进行译码时,需要对每次传输的数据进行译码,直到得到全部待传输数据。
下面通过具体示例,进一步说明本发明实施例的数据传输的方法在实际传输过程中的应用:
实施例一
参见图2,TS为目的节点,待传输数据D包括长度相等的两部分D1和D2,D的各复本保存在源节点S1,S2和S3上,采用二元域上的编码,参数为(3,2),其生成矩阵为: G = 1 0 0 1 1 1 . 由于这个矩阵的任意两个行向量构成的子矩阵都是满秩的,因此只要接收到任何两个编码数据就可以恢复数据。
首先,TS指示S1,S2和S3数据长度单位为待传输数据的1/2,且分配给S1的编码向量为V1=(1,0),分配给S2的编码向量为V2=(0,1),分配给S3的编码向量为V3=(1,1)。
之后,S1,S2和S3分别利用各自分配的编码向量对待传输数据D1和D2进行编码,即计算Bx=Vx·(D1,D2)T,x=1,2或3,可以得到编码数据B1=D1,B2=D2和B3=D1+D2,源节点S1,S2和S3分别向目的节点TS发送编码数据。
进一步,如图3所示,如果传输过程中B2遇到了较大的传输延迟,因而目的节点只接收到其中的两个编码数据B1和B3,对应的到生成矩阵为 G ' = 1 0 1 1 , 计算该矩阵的逆矩阵G′-1,执行译码, D = G ′ - 1 * B 1 B 2 = D 1 D 2 , 得到了传输数据D。
实施例二
采用GF(24)上的RS纠删编码,设α为GF(24)上的本原元,是GF(2)上的不可约多项式f(x)=x4+x+1的根,以GF(24)中的元素建立集合A={0,1}和B={α,α2,α3},构造柯西矩阵,
G = 1 α 1 1 + α 1 α 2 1 1 + α 2 1 α 3 1 1 + α 3 = α 14 α 11 α 13 α 7 α 12 α
该矩阵可以作为参数(3,2)的RS纠删码的生成矩阵。RS纠删码是最大距离可分码,因此接收到任意2个编码数据就可以恢复原始数据。这个例子中编码和译码的运算是GF(24)上的运算,是以GF(24)上的元素为单位操作的,每个元素对应4个比特,所以数据的长度单位必须是4比特的整数倍。和上面的例子一样,目的节点把G的行向量分配给3个不同的源节点,目的节点只要接收到来自任意两个源节点的编码数据,就可以恢复出需要传输的数据复本。
由上述可见,本发明实施例的数据传输的方法选择多个源节点进行数据传输,每个源节点传输的数据量只是待传输数据总量的一部分。如果每个源节点只生成一个单位的编码数据,那么传输的数据量是原始数据的1/k。对于单一节点,传输时延随着传输的数据量减少呈现下降的趋势。特别是传输链路存在带宽瓶颈的情况,源节点接入网部分的第一跳链路往往是造成传输时延的主要部分,因此传输数据量的减少对改善接收数据的时延有明显作用:以500kbps的传输带宽传输4M比特的数据需要8秒,而传输1M比特的数据只需要2秒。
另一方面,传输时延的改善来自于纠删编码的应用。在没有编码的情况下,使用k个源节点向目的节点传送长度为k个单位的数据,每个节点传送一个单位的数据,一旦任何一个单位的数据没有到达目的节点,目的节点就无法恢复出完整的数据。而采用了纠删编码后,目的节点只需要获得最早到达的k个单位的编码数据,即使部分源节点发出的编码数据在传输过程中出现了较大的延迟,仍然可以恢复出完整的数据,而不需要继续等待来自其他源节点的数据,避免了个别传输路径长时延的影响。
考虑目的节点接收某一数据所容许的最大时延为T,以下通过对比进一步说明本发明的方法所带来的效果。
1.本方法和单路传输的效果对比
比较在单路传输和采用本方法的情况下传输同样的数据量而满足时延要求的概率;由于实时性的限制,传输时延超过T的数据对于目的节点没有意义,等效时延为无穷大,将被抛弃。
数据在一条路径上的传输时延是一个不确定的随机变量,假设不同路径的传输时延τ具有相同的概率分布,目标数据在任一路径的传输满足概率条件:P(τ≤T)=p。
采用本发明后,编码数据从n个源节点沿不同路径向目的节点传输,每个源节点传输的数据量是目标数据的1/k,显然1/k的数据量的传输时延不大于目标数据在在单一路径上传输的时延,以τ′i表示第i个源节点发出的编码数据的传输时延,有P(τ′i≤T)<P(τ≤T)。由于纠删编码的应用,目的节点只要在时间T内接收到多于k个单位的编码数据(采用理想的纠删码),就可以满足实时性的要求。这一事件的概率p′为: p &prime; = &cup; i = k n P ( &tau; &prime; i &le; T ) < &Sigma; i = k n C n i p i ( 1 - p ) n - i .
图4示出了n=5时k的不同取值下p-p’的曲线,其中,横坐标p表示目标数据在一条路径传输时延小于或等于T的概率,纵坐标p’表示接收端(目的节点)在T时间内恢复目标数据的概率。图4中斜率为1的直线是目标数据在单路传输情况下,数据延迟不大于T的概率,直线上各点p’=p。p’>p的区域显示出传输时延的改善,从左至右的三条曲线分别表示采用本发明的方法k=1、2、3时的概率,由图4可见,随着k的增大,即编码的码率提高或冗余度减小,传输时延得到改善的区间逐渐向右推移:当k=1时,在整个区间p∈(0,1)上,数据传输的时延都有改善;而当k=3时,仅在区间p∈(0.5,1)上,数据传输的时延有改善。码率的选择和传输条件必须匹配,例如,当采用高码率的编码时,需要较好的传输条件才能获得性能的改善。
k=1的情况可以看作是编码的特例,相当于重复编码,即每个源节点发送的都是目标数据。
2.本方法和多源传输的效果对比
简单的多源传输中,长度为k个单位的数据从k个源节点发出,每个源节点发送长度为一个单位的部分数据,目的节点必须接收到k个部分的数据才能获得完整的目标数据。采用本发明的方法,目的节点选择n个存有目标数据复本的节点。每个源节点被分配至少一个编码向量,对k个单位的数据进行编码,生成长度为一个单位的编码数据。两种情况下,目标数据是一样的,每个节点传输的数据量也是一样的,后者传输的数据总量是前者的n/k倍。
图5是n=5,k=4时,两种情况下目的节点在在窗口时间T内能够恢复出目标数据的概率,其中上方曲线为采用本发明所述方法后的结果,下方曲线为采用简单多源传输的结果,可见采用本发明的方法后,数据传输的实时性(满足一定的时延要求的概率)有明显的提高。
本发明实施例还提供一种数据传输的系统,组成结构如图6所示,该系统包括源节点610和目的节点620。
所述目的节点620,用于选择存有待传输数据复本的多个源节点610,向每个源节点610分配至少一个编码向量;接收所述多个源节点610返回的编码数据,利用所述编码数据及其对应的编码向量译码得到数据复本;
所述多个源节点610,用于分别利用分配的编码向量对待传输数据进行纠删编码,并将得到的编码数据返回给目的节点620。
所述源节点610具体可以包括分配接收模块611和编码模块612;所述分配接收模块611,用于接收所述目的节点620发送的编码向量分配消息;所述编码模块612,用于根据所述分配接收模块611接收的分配消息中的编码向量信息,利用分配的一个或多个编码向量对与编码向量的维数k相同个单位长度的待传输数据分别进行编码,得到该源节点对应的一个或多个单位长度的编码数据。
所述目的节点620具体可以包括分配模块621、接收模块622和译码模块623;所述分配模块621,用于选择存有待传输数据复本的多个源节点610,向每个源节点分配至少一个编码向量;所述接收模块622,用于接收所述多个源节点610返回的编码数据;所述译码模块623,用于利用所述接收模块622接收的编码数据块编码数据及其对应的编码向量译码得到数据复本。
本发明实施例还同时提供一种数据传输的装置,其组成结构如图7所示,其中包括:分配模块710、接收模块720、译码模块730、发送模块750和编码向量设置模块740;
所述分配模块710,用于选择存有待传输数据复本的多个源节点,向每个源节点分配至少一个编码向量;
所述接收模块720,用于接收所述多个源节点返回的编码数据;
所述译码模块730,用于利用所述接收模块720接收的编码数据及其对应的编码向量译码得到数据复本,所述编码数据由源节点根据所述编码向量对待传输数据进行纠删编码得到;
所述编码向量设置模块740,用于设置n×k维纠删编码的生成矩阵并通知所述分配模块710,n>k且n、k为整数。
所述发送模块750,用于将所述分配模块710为各源节点分配的编码向量,封装成分配消息,并向各源节点分别发送。
所述分配模块710具体可以包括:源节点选择单元711和编码向量分配单元712;所述源节点选择单元711,用于选择存有待传输数据复本的多个源节点并通知编码向量分配单元712;所述编码向量分配单元712,根据所述编码向量设置模块740设置的生成矩阵,将生成矩阵的n个k维编码向量分配给所述源节点选择单元711选择的多个源节点。
所述译码模块730具体可以包括:判断单元731、对应关系单元732和译码单元733;所述判断单元731,用于判断所述接收模块720接收到的编码数据所对应的编码向量是否与已接收的编码数据所对应的编码向量线性相关,是则丢弃与已接收编码数据线性相关的编码数据,当接收到的有效编码数据达到预定数量时通知所述译码单元733对所述有效编码数据进行解码;所述对应关系单元732,用于根据所述编码向量分配单元712为各源节点分配的编码向量,建立各编码向量与使用该编码向量进行纠删编码得到的编码数据间的对应关系;所述译码单元733,用于将有效编码数据和对应的编码向量按照对应关系逐行排列组成两个矩阵,有效编码数据组成有效编码数据矩阵,对应的编码向量组成生成矩阵,利用该生成矩阵的逆矩阵左乘所述有效编码数据组成的矩阵,计算得到译码后的数据复本。
所述装置还可以包括:缓存模块(图7中未示出),用于缓存所述接收模块720接收的编码数据并发送给译码模块730。
所述译码模块730中还可以包括:缓存单元734,用于缓存所述判断单元731判断之后的有效编码数据并发送给译码单元733。
由上述可见,本发明实施例提供的数据传输的装置和系统,将多源传输和纠删编码结合起来,多源传输能够减少每条源节点与目的节点之间链路上传输的数据量,同时纠删编码能够降低目的节点对接收到的编码数据的数量的要求,因此能够显著地降低数据传输的时延。
容易理解,以上所述仅为本发明的较佳实施例,并非用于限定本发明的精神和保护范围,任何熟悉本领域的技术人员所做出的等同变化或替换,都应视为涵盖在本发明的保护范围之内。

Claims (12)

1、一种数据传输的方法,其特征在于,该方法包括:
选择存有待传输数据复本的多个源节点,向每个源节点分配至少一个编码向量;
接收所述多个源节点返回的编码数据,利用所述编码数据及其对应的编码向量译码得到数据复本,所述编码数据由源节点利用分配的编码向量对待传输数据进行纠删编码得到。
2、根据权利要求1所述的方法,其特征在于,所述向每个源节点分配至少一个编码向量为:
设置n×k维纠删编码的生成矩阵,n>k且n、k为整数;
将所述生成矩阵的n个k维编码向量分配给各源节点且每个源节点分配至少一个编码向量。
3、根据权利要求2所述的方法,其特征在于,所述源节点利用分配的编码向量对待传输数据进行纠删编码为:
各源节点根据编码向量的维数k选择k个单位长度的待传输数据作为一次传输的数据;
利用分配的一个或多个编码向量对所述k个单位待传输数据进行纠删编码得到该源节点对应的一个或多个编码数据。
4、根据权利要求1所述的方法,其特征在于,所述接收所述多个源节点返回的编码数据为:
判断接收到的编码数据所对应的编码向量是否与已接收的编码数据所对应的编码向量线性相关,是则丢弃与已接收编码数据线性相关的编码数据并继续接收其他编码数据,直到接收到预定数量的有效编码数据。
5、根据权利要求3或4所述的方法,其特征在于,所述利用所述编码数据及其对应的编码向量译码得到数据复本为:
建立各编码向量与使用该编码向量进行纠删编码得到的编码数据间的对应关系,将有效编码向量和对应的编码数据按照所述对应关系逐行排列组成两个矩阵,编码向量组成生成矩阵,对应的有效编码数据组成有效编码数据矩阵,利用该生成矩阵的逆矩阵左乘所述有效编码数据矩阵,计算得到译码后的数据复本。
6、一种数据传输的系统,其特征在于,该系统包括目的节点和多个源节点;
所述目的节点,用于选择存有待传输数据复本的多个源节点,向每个源节点分配至少一个编码向量;接收所述多个源节点返回编码数据,利用所述编码数据及其对应的编码向量译码得到数据复本;
所述多个源节点,用于分别利用分配的编码向量对待传输数据进行纠删编码,并将得到的编码数据返回给目的节点。
7、根据权利要求6所述的系统,其特征在于,所述目的节点包括分配模块、接收模块和译码模块;
所述分配模块,用于选择存有待传输数据复本的多个源节点,向每个源节点分配至少一个编码向量;
所述接收模块,用于接收所述多个源节点返回的编码数据;
所述译码模块,用于利用所述接收模块接收的编码数据及其对应的编码向量译码得到数据复本。
8、根据权利要求6或7所述的系统,其特征在于,所述源节点包括:
分配接收模块,用于接收所述目的节点发送的编码向量分配消息;
编码模块,用于根据所述分配接收模块接收的分配消息中的编码向量信息,利用分配的一个或多个编码向量对与编码向量的维数k相同个单位长度的待传输数据分别进行编码,得到该源节点对应的一个或多个单位长度的编码数据。
9、一种数据传输的装置,其特征在于,所述装置包括:
分配模块,用于选择存有待传输数据复本的多个源节点,向每个源节点分配至少一个编码向量;
接收模块,用于接收所述多个源节点返回的编码数据;
译码模块,用于利用所述接收模块接收的编码数据及其对应的编码向量译码得到数据复本,所述编码数据由源节点根据所述编码向量对待传输数据进行纠删编码得到。
10、根据权利要求9所述的装置,其特征在于,所述装置还包括:
编码向量设置模块,用于设置n×k维纠删编码的生成矩阵并通知所述分配模块,n>k且n、k为整数;
所述分配模块包括:源节点选择单元和编码向量分配单元;
所述源节点选择单元,用于选择存有待传输数据复本的多个源节点并通知编码向量分配单元;
所述编码向量分配单元,根据所述生成矩阵,将生成矩阵的n个k维编码向量分配给所述源节点选择单元选择的多个源节点;
所述发送模块,用于将所述分配模块为各源节点分配的编码向量,封装成分配消息,并向各源节点分别发送。
11、根据权利要求9所述的装置,其特征在于,所述译码模块包括:判断单元,用于判断所述接收模块接收到的编码数据所对应的编码向量是否与已接收的编码数据所对应的编码向量线性相关,是则丢弃与已接收编码数据线性相关的编码数据,当接收到的有效编码数据达到预定数量时通知所述译码模块对所述有效编码数据进行解码。
12、根据权利要求11所述的装置,其特征在于,所述译码模块还包括:
对应关系单元,用于建立各编码向量与使用该编码向量进行纠删编码得到的编码数据间的对应关系;
译码单元,用于将有效编码数据和对应的编码向量按照对应关系逐行排列组成两个矩阵,有效编码数据组成有效编码数据矩阵,对应的编码向量组成生成矩阵,利用该生成矩阵的逆矩阵左乘所述有效编码数据矩阵,计算得到译码后的数据复本。
CN200810082789.4A 2008-03-19 2008-03-19 一种数据传输的方法、装置和系统 Expired - Fee Related CN101540778B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810082789.4A CN101540778B (zh) 2008-03-19 2008-03-19 一种数据传输的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810082789.4A CN101540778B (zh) 2008-03-19 2008-03-19 一种数据传输的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN101540778A true CN101540778A (zh) 2009-09-23
CN101540778B CN101540778B (zh) 2014-09-03

Family

ID=41123764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810082789.4A Expired - Fee Related CN101540778B (zh) 2008-03-19 2008-03-19 一种数据传输的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN101540778B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103475444A (zh) * 2012-06-08 2013-12-25 华为技术有限公司 一种网络编码的方法、中继装置及系统
CN110557224A (zh) * 2019-08-06 2019-12-10 南方电网数字电网研究院有限公司 电力网络单向传输装置与系统
CN111371888A (zh) * 2020-03-02 2020-07-03 西南交通大学 一种基于纠删编码的多源数据传输系统及方法
CN112385159A (zh) * 2018-05-16 2021-02-19 网络编码代码有限责任公司 多路径编码装置及相关技术
CN112532252A (zh) * 2020-11-24 2021-03-19 深圳市大数据研究院 编码方法、译码方法、电子设备及存储介质
WO2022021098A1 (zh) * 2020-07-28 2022-02-03 华为技术有限公司 一种编解码方法及装置
CN115952411A (zh) * 2023-03-14 2023-04-11 北京有生博大软件股份有限公司 一种前端界面的动态语言反混淆特征提取方法及提取系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101143282B1 (ko) * 2002-10-05 2012-05-08 디지털 파운튼, 인크. 연쇄 반응 코드의 체계적 인코딩 및 디코딩
US7756051B2 (en) * 2004-07-02 2010-07-13 Microsoft Corporation Content distribution using network coding

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103475444A (zh) * 2012-06-08 2013-12-25 华为技术有限公司 一种网络编码的方法、中继装置及系统
CN103475444B (zh) * 2012-06-08 2017-12-15 华为技术有限公司 一种网络编码的方法、中继装置及系统
CN112385159A (zh) * 2018-05-16 2021-02-19 网络编码代码有限责任公司 多路径编码装置及相关技术
CN110557224A (zh) * 2019-08-06 2019-12-10 南方电网数字电网研究院有限公司 电力网络单向传输装置与系统
CN111371888A (zh) * 2020-03-02 2020-07-03 西南交通大学 一种基于纠删编码的多源数据传输系统及方法
CN111371888B (zh) * 2020-03-02 2021-07-09 西南交通大学 一种基于纠删编码的多源数据传输系统及方法
WO2022021098A1 (zh) * 2020-07-28 2022-02-03 华为技术有限公司 一种编解码方法及装置
CN112532252A (zh) * 2020-11-24 2021-03-19 深圳市大数据研究院 编码方法、译码方法、电子设备及存储介质
CN112532252B (zh) * 2020-11-24 2024-04-02 深圳市大数据研究院 编码方法、译码方法、电子设备及存储介质
CN115952411A (zh) * 2023-03-14 2023-04-11 北京有生博大软件股份有限公司 一种前端界面的动态语言反混淆特征提取方法及提取系统
CN115952411B (zh) * 2023-03-14 2023-05-30 北京有生博大软件股份有限公司 一种前端界面的动态语言反混淆特征提取方法及提取系统

Also Published As

Publication number Publication date
CN101540778B (zh) 2014-09-03

Similar Documents

Publication Publication Date Title
CN101432969B (zh) 前向纠错(fec)编码和流送
US7304990B2 (en) Method of encoding and transmitting data over a communication medium through division and segmentation
JP5485302B2 (ja) ファイルダウンロードおよびストリーミングのシステム
CN101540778B (zh) 一种数据传输的方法、装置和系统
US7831896B2 (en) Iterative forward error correction
US10476528B2 (en) Data packet processing method and device
US20050219070A1 (en) Protection of data from erasures using subsymbol based codes
CN103250463A (zh) 用于通信系统的子集编码
WO2001058130A2 (en) Coding method
CN110192348A (zh) 将数据片段分成包以用于信道编码
GB2527602A (en) Galois field coding techniques
CN102088331B (zh) 一种数据传输方法及网络节点
CN103152652A (zh) 一种基于柯西rs编码的视频帧数据网络传输方法
KR101967884B1 (ko) 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법
CN115811381B (zh) 网络通信方法、网络通信装置、电子设备及存储介质
KR101451985B1 (ko) 서브 블록별 순차적 업데이트 방식을 이용한 저지연 파운틴코딩 방법
Rivera et al. Performance dynamic coding RLNC LoRa on smart cities
CN101238670A (zh) 用于使数据在发送之前适应预定义尺寸的传输单元的方法和设备
JP2007274309A (ja) 送信装置
Beraldi et al. Delay tolerant podcasting with network coding
KR20190039490A (ko) 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법
CN116195195A (zh) 用于线性网络码的主元位置的选择
de Fez et al. Evaluation of adaptive LDPC AL-FEC codes for content download services
RU2002116363A (ru) Устройство и способ передачи мультимедийных данных в системе подвижной связи

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171225

Address after: 221300 Huashan Road, Pizhou Economic Development Zone, Jiangsu, China, Xuzhou

Patentee after: Huang Shaowei

Address before: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20171225

Address after: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180629

Address after: 450000 Henan province Henan free trade zone Zhengzhou area (Zheng Dong) business inner ring road 9 building 11 floors 1101, 1102, 1103, 1105, 1106, 1108.

Patentee after: SCEGC INSTALLATION GROUP (HENAN) Co.,Ltd.

Address before: 221300 Huashan Road, Pizhou Economic Development Zone, Xuzhou, Jiangsu

Patentee before: Huang Shaowei

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: 20140903

Termination date: 20200319