CN101222297B - 交织码和网络编码结合的数据分发方法 - Google Patents
交织码和网络编码结合的数据分发方法 Download PDFInfo
- Publication number
- CN101222297B CN101222297B CN2008100333235A CN200810033323A CN101222297B CN 101222297 B CN101222297 B CN 101222297B CN 2008100333235 A CN2008100333235 A CN 2008100333235A CN 200810033323 A CN200810033323 A CN 200810033323A CN 101222297 B CN101222297 B CN 101222297B
- Authority
- CN
- China
- Prior art keywords
- data
- code
- network
- router
- coding
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明属于基于网络编码的数据分发技术领域,具体为一种交织码和网络编码结合的数据分发方法。本发明提出的新型网络编码数据分发方法,是在空间域和时间域上同时做编码:空间域上采用可以达到网络容量的线性网络编码,时间域上采用线性差错编码和交织编码。本发明提出的网络编码方法与一般的网络编码相比具备了对传输中链路上发生的噪声错误进行前向纠正的功能。
Description
技术领域
本发明属于基于网络编码的数据分发技术领域,具体为一种融合了差错编码和交织编码特性的新型网络编码构造方法。
背景技术
网络编码是一项新型网络数据分发技术。在传统的基于路由的数据分发中,网络的中间结点只简单地保存、复制、转发数据包,对于数据包本身不做处理。而在网络编码的数据分发中,网络的中间结点除了保存、复制、转发,还可以对于接收到的数据包做代数操作。例如中间结点可以对于接收到的两个数据包做比特级的异或处理,然后再把结果转发。研究[1]指出,通过网络编码可以有效地提高组播网络的容量,并减少数据包的实际分发次数。在实际网络中,数据在结点间的链路上传输会受到链路噪声的干扰,因此如何设计带有纠错功能的网络编码具有很现实的意义。
发明内容
本发明的目的在于提出一种具有纠错功能的网络编码数据分发方法。
本发明提出的网络编码数据分发方法,融入了经典纠错编码和交织编码的运用,在时间和空间两个维度上同时编码。在空间域上,使用可以达到网络容量但无纠错功能的网络编码方案;在空间域上,使用差错编码和交织编码。编码示意图如图1所示。
在网络编码构造方案的研究中,线性网络编码以其编码和解码的简易有效性受到最大程度的关注。所谓线性编码,是指对于参与编码的数据报文做的代数操作是线性的。关于线性编码的研究指出[2],使用线性网络编码已经可以达到网络容量。在线性网络编码的构造方案中,有针对给定网络拓扑的在多项式时间内构造固定编码系数的线性网络编码方案[3]以及一般针对随机拓扑的随机线形编码方案[4]。本发明中在空间域上的网络编码使用固定系数的线性网络编码。
实际网络的数据传输中,数据会受到链路中随机或突发噪声的干扰。经典编码理论中的信道编码主要就是用于纠正信道传输中出现的错误。在纠错编码(Error CorrectionCode)中,通过在一个码字(Code)中引入冗余的比特位,使得接收方根据这些冗余的比特信息检测甚至纠正因噪声引起的传输差错,从而恢复出发送方的原始数据。在纠错编码的基础上,针对突发错误信道(burst-error channel)又产生了交织编码(InterleavingCode)。交织编码在发送端将数据的发送顺序在时间域上作了预先的重新调整,使得在接收端进行解交织后,可以把链路中引起的突发错误转变成纠错编码可以解决的随机错误。
线性网络编码可以看成是时间域上的编码,而差错编码是在空间域上进行编码。本发明中结合了两者的优点,设计了一种具有纠错功能的网络编码数据分发方法。
本发明的系统拓扑如图2所示,各个部分所完成的功能如下:
数据分发服务器6,存储需要分发给用户的数据文件,并根据网络编码方案完成时间域和空间域上的编码。
路由器7,具有对数据进行网络编码的功能完成时间域上的网络编码和空间域上的差错交织编解码,并做数据转发;
用户节点9,完成时间域和空间域上的解码工作,恢复出数据分发服务器发送的原始数据文件,
噪声信道8,为连接数据分发服务器与路由器、路由器与路由器、路由器与用户节点之间的链路,这些链路中会有随机和突发错误产生。
本发明提出的具有纠错功能的网络编码的数据分发方法如下:
(1)根据已有的多项式时间算法[3]构造线性网络编码,确定网络容量h以及每条链路上的编码系数向量。
(2)根据实际链路噪声的情况,采用一种线性纠错编码方案(如汉明码,里德-所罗门编码),该线性纠错编码方案用(m,n,d)-码表示(m为码长,n为维数,d为码字的汉明距离);根据链路的突发错误情况估计确定交织编码的交织深度p。(链路的突发错误长度越大,交织深度p取的越大。)
(3)数据分发服务器将需要分发的文件分成长度相等(长度为n)的块,设总的块数为s。将所有块排列成一个h*j维的矩阵,使得h*j*n=s(若有余数可以用空白数据块补足)。由此,空间轴的维数为h,时间轴的维数为j,矩阵的元素为一个块。
(4)数据分发服务器在每个固定空间维的时间轴上,将j个数据块分组,每组共p块(最后一组不足p块则按实际的块数处理)。在每组中,首先将每个n长的数据块通过(m,n,d)编码形成一个m长的码字,然后用交织器将每连续p个长度为m的码字进行交织编码。完成后,数据分发服务器将交织好的码字按照确定的网络编码方案在空间轴上编码,从各链路输出。
(5)路由器在接收数据时,对于每条输入链路上缓存的连续p个长度为m的数据包,先进行解交织和(m,n,d)码的解码。路由器再将每条链路上(在时间轴上)完成解码的数据包根据系数向量进行空间域上的网络编码。最后再类似于数据分发服务器的操作将网络编码的结果在时间域上重新进行(m,n,d)的差错编码,交织编码,并将数据转发。
(6)用户节点从各输入链路接收到数据包后,先在时间域上对缓存的连续p个数据进行解交织,然后做(m,n,d)码的解码,最后完成网络编码的解码从而恢复出数据分发服务器发送的原始文件。
在编码方案中,(m,n,d)线性纠错码的选择可以根据实际的需要。实际需要的考虑因素包括链路的噪声情况,各路由器和用户节点处理编解码的能力,数据传输应用中的时延考虑。另外,交织深度p的选择和数据传输的时延有密切的联系。
附图说明
图1为编码框架图。
图2为数据分发网络拓扑图。
图3为数据分发服务器编码流程图。
图4为路由器编解码流程图。
图5为用户节点解码流程图。
图中标号:1为空间轴,2为时间轴,3为空间域上的网络编码,4为时间域上的差错和交织编码,5为码字,6为数据分发服务器,7为路由器,8为噪声信道,9为用户节点,10为大小是h*j维的原始数据块矩阵(其中每个元素是一个原始数据块),11为1个大小为n的原始数据块,12为经(m,n,d)编码后长度为m的码块,13为经纠错编码后的数据矩阵,14为经交织深度为p的交织器交织后码元在时间域上的重新排列,15为路由器接收到的数据包,16为解交织,17为(m,n,d)码的解码,18为空间域上的网络编码,19为(m,n,d)编码,20为交织编码,21为用户节点接收的数据包,22为用户节点的解交织,23为用户节点的(m,n,d)解码,24为用户节点的网络编码解码。
具体实施方式
下面通过一个例子进一步描述本发明。
以图2中的情况为例,数据分发服务器(图2-6)组播一个文件同时给两个用户节点(图2-9)。假设每条链路的容量为1,则该组播网络的容量为2。假设采用(7,4,3)的汉明码编码方案,交织深度为2。
(1)首先确定空间域上的网络编码方案。对于该网络拓扑,只需要在一个路由器(图2-7所示)上执行模2加运算,其他路由器上完成存储、转发功能即可。
(2)数据分发服务器(图2-6)将文件分块,每个块大小为4比特。将所有的块分成两列,每列通过一个输出链路输出。(即时间轴的维度为2,如图3-11)
(3)数据分发服务器(图2-6)在每个输出队列上将每个长度为4的原始数据块用汉明编码编成一个长度为7的码字(图3-12)。对于连续的每两个码字(交织深度为2),通过交织器将码字的符号位交织(图3-14)。将交织后的码字在链路上输出。
(4)路由器(图2-7)端,在每个接收链路上将收到的数据包读入解交织器(图4-15)。完成解交织(图4-16)后,进行汉明码的解码(图4-17)。在每条链路上都完成该过程后,对结果进行时间轴上的网络编码(图4-18)。最后将编码的结果再次进行汉明编码和交织编码(图4-19,图4-20),输出到链路。
(5)用户节点在各链路上接收数据包时,和路由器一样首先做时间域上的解交织和汉明码的解码(图5-22,23)。然后在时间轴上完成网络编码的解码(图5-24)。此时即可将数据分发服务器上的原始文件恢复。
[1]R.Ahlswede,N.Cai,S.R.Li,R.W.Yeung,“Network Information Flow,”IEEE Transactionson Information Theory,vol.46,no.4,pp.1204-1216,July 2000
[2]S.Y.R.Li,R.W.Yeung,N.Cai,“Linear Network Coding,”IEEE Transactions onInformation Theory,vol.49,no.2,pp.371-381,2003
[3]S.Jaggi,P.Sanders,P.A.Chou,M.Effros,S.Egner,K.Jain,L.Tolhuizen,“PolynomialTime Algorithms for Multicast Network Code Construction,”IEEE Transactions on InformationTheory,vol.51,no.6,pp.1973-1982,Jun 2005
[4]T.Ho,R.Koetter,M.Medard,M.Effros,J.Shi,D.Karger,“A Random Linear NetworkCoding Approach to Multicast,”IEEE Transactions on Information Theory,52(10).pp.4413-4430.October 2006
Claims (1)
1.一种交织码和网络编码结合的数据分发方法,其系统的拓扑结构为:由数据分发服务器(6)、用户节点(9)、路由器(7)经噪声信道(5)连接组成,其中:数据分发服务器(6),存储需要分发给用户的数据文件,并根据网络编码方案完成时间域和空间域上的编码;路由器(7),具有对数据进行网络编码的功能完成时间域上的网络编码和空间域上的差错交织编解码,并做数据转发;用户节点(9),完成时间域和空间域上的解码工作,恢复出数据分发服务器发送的原始数据文件;噪声信道(8),为连接数据分发服务器与路由器、路由器与路由器、路由器与用户节点之间的链路,这些链路中会有随机和突发错误产生,其特征在于具体步骤如下:
(1)根据多项式时间算法构造线性网络编码,确定网络容量h以及每条链路上的编码系数向量;
(2)根据实际链路噪声的情况,选择一种线性纠错编码方案,该线性纠错编码方案用(m,n,d)-码表示,m为码长,n为维数,d为码字的汉明距离;根据链路的突发错误情况估计确定交织编码的交织深度p;
(3)数据分发服务器将需要分发的文件分成长度相等的块,长度为n,设总的块数为s,将所有块排列成一个h×j维的矩阵,使得h×j×n=s,若有余数用空白数据块补足,由此,空间轴的维数为h,时间轴的维数为j,矩阵的元素为一个块;
(4)数据分发服务器在每个固定空间维的时间轴上,将j个数据块分组,每组共p块,最后一组不足p块则按实际的块数处理;在每组中,首先将每个n长的数据块通过(m,n,d)编码形成一个m长的码字,然后用交织器将每连续p个长度为m的码字进行交织编码;完成后,数据分发服务器将交织好的码字按照确定的网络编码方案在空间轴上编码,从各链路输出;
(5)路由器在接收数据时,对于每条输入链路上缓存的连续p个长度为m的数据包,先进行解交织和(m,n,d)码的解码;路由器再将每条链路上完成解码的数据包根据系数向量进行空间域上的网络编码;最后再类似于数据分发服务器的操作将网络编码的结果在时间域上重新进行(m,n,d)的差错编码,交织编码,并将数据转发;
(6)用户节点从各输入链路接收到数据包后,先在时间域上对缓存的连续p个数据进行解交织,然后做(m,n,d)码的解码,最后完成网络编码的解码从而恢复出数据分发服务器发送的原始文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100333235A CN101222297B (zh) | 2008-01-31 | 2008-01-31 | 交织码和网络编码结合的数据分发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100333235A CN101222297B (zh) | 2008-01-31 | 2008-01-31 | 交织码和网络编码结合的数据分发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101222297A CN101222297A (zh) | 2008-07-16 |
CN101222297B true CN101222297B (zh) | 2011-12-07 |
Family
ID=39631900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100333235A Expired - Fee Related CN101222297B (zh) | 2008-01-31 | 2008-01-31 | 交织码和网络编码结合的数据分发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101222297B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686104B (zh) * | 2008-09-22 | 2013-11-06 | 华为技术有限公司 | 一种前向纠错的编解码的方法、装置和系统 |
CN101425875B (zh) * | 2008-12-17 | 2011-01-26 | 炬力集成电路设计有限公司 | 一种解码器 |
CN101882976A (zh) * | 2010-07-14 | 2010-11-10 | 北京邮电大学 | 一种数据包可靠传输方法 |
CN102325009A (zh) * | 2011-09-13 | 2012-01-18 | 北京邮电大学 | 一种基于前向纠错的网络编码组播数据流可靠传输方法 |
CN103795500B (zh) * | 2014-02-11 | 2017-01-25 | 渤海大学 | 一种基于子树分解的组播网络编码方法 |
WO2015176284A1 (zh) * | 2014-05-22 | 2015-11-26 | 华为技术有限公司 | 传输数据的方法和装置 |
CN105245314B (zh) * | 2015-10-20 | 2019-07-30 | 北京中电普华信息技术有限公司 | 分布式存储系统中的混合冗余容错编解码方法及系统 |
CN106027202B (zh) * | 2016-05-18 | 2019-02-19 | 南京工业大学 | 一种基于网络编码的无线网络中多速率数据分发方法 |
CN108988986A (zh) * | 2018-06-14 | 2018-12-11 | 四川安迪科技实业有限公司 | 一种分层迭代交织编码方法 |
CN110034854B (zh) * | 2018-11-15 | 2021-10-01 | 中国科学院大学 | 基于交织和随机线性网络编码的可靠数据传输方法 |
CN113395137B (zh) * | 2021-06-08 | 2023-04-25 | 龙迅半导体(合肥)股份有限公司 | 一种fec编解码模块 |
CN115102666B (zh) * | 2022-06-06 | 2023-11-24 | 中国人民解放军国防科技大学 | 一种提高无线电探空系统空地通信抗干扰能力的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101336534A (zh) * | 2005-12-07 | 2008-12-31 | 法国电信公司 | 用于动态交织的方法和设备 |
-
2008
- 2008-01-31 CN CN2008100333235A patent/CN101222297B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101336534A (zh) * | 2005-12-07 | 2008-12-31 | 法国电信公司 | 用于动态交织的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101222297A (zh) | 2008-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101222297B (zh) | 交织码和网络编码结合的数据分发方法 | |
CN101432969B (zh) | 前向纠错(fec)编码和流送 | |
CN101288255B (zh) | 通信装置、发送机、接收机和纠错光通信系统 | |
CN100568744C (zh) | 一种卷积码速率匹配的方法和装置 | |
CN111917512A (zh) | 一种在多跳传输系统中基于bats码的高效编码设计方法 | |
CN101414833B (zh) | 低密度生成矩阵码的编码方法及装置 | |
CN104104727B (zh) | 一种基于Raptor码的大文件传输方法 | |
CN101764675B (zh) | 分布式网络中的编码资源自适应调度算法 | |
CN105515728A (zh) | 一种基于滑动窗口的网络编码方法 | |
CN101277118A (zh) | 基于ldpc码的级联码的编码方法 | |
CN101325540A (zh) | 提高基于随机网络编码的多播传输效率的方法及装置 | |
CN100440737C (zh) | 一种高度结构化的ldpc编码和解码方法及其编码器和解码器 | |
CN102088331B (zh) | 一种数据传输方法及网络节点 | |
CN101257366B (zh) | 编解码方法、通讯系统及设备 | |
CN102065289B (zh) | 基于网络编码的可靠性视频传输方法及装置 | |
CN111935664B (zh) | 基于动态反馈的网络数据实时收集方法 | |
CN109660265A (zh) | 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法 | |
CN102195743A (zh) | 动态实时喷泉码编码方案 | |
CN104821881A (zh) | 一种基于压缩和纠错编码的物联网感知层数据安全融合方法 | |
Nie et al. | A novel systematic raptor network coding scheme for Mars-to-Earth relay communications | |
CN101764668A (zh) | 一种网络低密度校验码的编码方法及其编码器 | |
Hua et al. | Distributed source coding in wireless sensor networks | |
CN112422235B (zh) | 一种基于冗余算法的网络丢包恢复方法 | |
CN107257244A (zh) | 一种基于广播环境下的喷泉码编码方法 | |
CN101674091B (zh) | 基于Turbo译码的网络编码方法 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111207 Termination date: 20140131 |