分代分组交叉随机线性网络编码方法

文档序号:7741632阅读:212来源:国知局
专利名称:分代分组交叉随机线性网络编码方法
技术领域
本发明属于通信技术领域,涉及网络编码,具体地说是一种随机线性网络编码方法,用于信息共享过程中的信息传输。
背景技术
2000年,Ashlswede等人首次提出的网络编码理论颠覆了传统通信网络中存储转 发的路由模式,它允许网络通信中间节点对其接收到的信息进行数据处理。网络编码的应 用,为现有的网络带来了诸多优点,包括提高网络的吞吐量,改善网络的可靠性,减少通信 的能量消耗、提高带宽利用率、保证信息安全、提高鲁棒性和容错性等。现有的文件共享过 程大多采用HTTP协议或者类似协议来实现数据传输,而这些协议都是根据网络情况把文 件先分块然后按块传输,资源节点的离开常常会导致文件传输中止。于是,人们开始纷纷把 网络编码应用到文件共享过程,以提高通信网络的吞吐量、带宽利用率和容错性、保证信息 安全和提供系统鲁棒性。针对信息共享中网络编码的应用问题,近年来很多专家学者提出了许多解决方 案。Philip A. Chou,Yunnan Wu 和 Kamal Jain 等人于 2003 年发表的论文 “Practical Network Coding”中首先提出分代网络编码方法。分代网络编码方法虽然可以解决无分 代计算量过大的问题,但是它仍然存在节点的退出使得网络中已经不存在足够多线性无关 的编码块组合从而导致无法解出完整文件的问题,另外信息传输的代间切换也是个很难 把握的问题。微软研究院的Christos Gkantsidis和Pablo Rodriguez于2005年发表 在"IEEE Conference on Information,,上的"Network Codingfor Large Scale Content Distribution”一文中,首先提出无分代网络编码方法。无分代网络编码方法用于文件共享 时,虽然可以提高网络的传输效率,但因为编码过程是在一个文件的所有分块之间进行的, 所以计算量和系统开销都很大尤其是在大文件分发时,它正确译码的必要条件很苛刻,要 求收到的线性无关编码块个数等于或大于原始文件分块数。黄佳庆、王帅和陈清文于2009 年发表在维普资讯上的“网络编码在P2P网络中的应用”一文中首先提出代间网络编码方 法。代间网络编码方法的优点在于当本代集中的某一代没有足够多线性无关的编码块时, 可以由本代集中其他代的线性无关编码块来填补。但是它的缺点在于无法单独成功解出某 一代的原始数据,且其计算复杂度和空间复杂度都太大。

发明内容
本发明的目的在于克服上述已有技术的不足,提出一种分代分组交叉随机线性网 络编码方法,以提高编码速度和译码速度,降低编码过程的空间复杂度,减弱译出文件的必 要条件,降低节点尤其是资源节点的离开对信息传输的影响。为实现上述目的,本发明的编码步骤包括如下(1)由信源节点把要发送的信息用有限域GF(q)内的元素表示,得到原始数据,其 中q > 256 ;将该原始数据顺序分为g个代,g > 2,用& < i < g)表示第i代;再把每一代按顺序分为m个组,m≥2,用P/ (1≤i≤g,1≤j≤m)表示第i代的第j分组,每代 和它的后一代构成代集,用GEi表示第i代集,其中g,最后一个代集只包括最后一 代;(2)令 i = 1 ;(3)根据当前节点的属性确定其操作,如果当前节点是信源节点,转步骤(4),否 则,转步骤(5);(4)如果1≤i≤g,则由信源节点确定第i代集的信息包结构,用GEi表示,转步 骤(5),否则,结束;(5)将当前节点中第i代集信息包的个数用k表示,如果k > 2,则当前节点根据 k确定第i代集的局部编码系数向量后,转步骤(6),否则,当前节点把仅有的一个编码包作 为新编码包发送给下游节点后,转步骤(7);(6)当前节点根据步骤(5)的局部编码系数向量和其内存中的k个第i代集的信 息包生成新编码包,并发送给下游节点,转步骤(7);(7)下游节点在收到新编码包之后,对其进行线性相关性检测,如果检测通过,则 把该新编码包用于编码或译码,否则,认为该新编码包不能提供有用信息,抛弃或者请上游 节点重发,如果当前节点是信宿节点,转步骤(8),否则,转步骤(5);(8)信宿节点在收到k个第i代集通过步骤(7)线性相关性检测的编码包之后,通 过译码得出信源发送的第i代集的原始数据后,转步骤(9),其中,当1 < i < g-Ι时,k = 2m,当 i = g B^t, k = m ;(9)将i加1,并转步骤(3)。本发明具有如下优点(1)本发明由于采用稀疏矩阵作为局部编码系数矩阵,极大地提高了编码速度;(2)本发明由于采用高斯列主元消元法进行译码,提高了译码速度;(3)本发明编码过程由于是在由本代及其下一代构成的代集内进行的,降低了编 码过程的时间复杂度和空间复杂度;(4)本发明的译码过程由于是在由本代及其下一代构成的代集内进行的,减弱了 正确译出文件的必要条件,节点只要收到k个第i代集线性无关的编码包就可以正确译出 第i代集原始数据,其中,当1彡i彡g_l时,k = 2m,当i = g时,k = η ;(5)本发明由于每个编码包都包含本代集内所有分组的信息,降低了节点尤其是 资源节点的离开对信息传输的影响。


图1是本发明的网络编码过程示意图;图2是本发明使用的通信网络示意图;图3是本发明的网络编码原理示意图。
具体实施例方式以下参照附图对本发明作进一步详细说明。一、本发明所应用的数学理论及技术术语说明
1、有限域稀疏矩阵满秩定理设M= (Hiin)nxn是有限域GF (q)上的一个nXn维随机矩阵,矩阵中的元素Hiij月艮 从满足下列概率的独立均勻分布<formula>formula see original document page 7</formula>如果ρ 彡(logn+d) /n,则有
Iim Pr(M 满秩)=e~2e'' Π1 - q~J
η—oo其中,d是一个非负常量。2、高斯列主元消元法高斯列主元消去法是一种解线性方程组的方法,它首先对线性方程组的系数矩阵 依次消元,在每次消元之前,先把绝对值大的元素交换到主对角线的位置上,再进行消元, 直到系数矩阵转化成上三角矩阵,接着回代求出方程组的解。3、相关术语图2为一个有向无环图,表示一个通信网络,用G = (V, E)表示,V为该通信网络 中的节点集合,V = {S,Rl, R2,R3,R4,R5,T},其中,S为信源节点,R1、R2、R3、R4和R5为 中间节点,T为信宿节点,E为该通信网络中的链路集合,E = {S-Rl, S —R3,S — R4, Rl — R2,…,R5 — T},下面根据图2对相关术语进行说明(1)信源节点S,是指信息的提供者。(2)信宿节点T,是指信息的请求者。(3)中间节点Rl、R2、R3、R4、R5,是信息从信源节点到信宿节点所经过的节点,它 们只对信息进行编码和转发,而不进行译码。(4)所有的通信链路都是一条有向信道,有向信道的始端是其末端的上游节点,有 向信道的末端是其始端的下游节点,如在通信链路Rl — R2中,Rl是R2的上游节点,R2是 Rl的下游节点。二、本发明的编码过程参照图1,本发明的具体步骤为步骤1、由信源节点对要发送的信息进行分代分组。参照图3,信源节点对信息的分代分组过程为la)把要发送的信息转换为有限域GF (q)内的元素,得到原始数据,其中q > 256 ;lb)将该原始数据顺序分为g个同等大小的代,g彡2,用& 彡i彡g)表示第i 代,当最后一代的大小小于其他代时,用0补齐使得所有代的大小都相等;Ic)把每一代按顺序分为m个组,m彡2,用P/ (1彡i彡g,1彡j彡m)表示第i 代的第j个分组,所有组的大小都相等;Id)每代和它的后一代构成代集,用GEi表示第i代集,其中1彡i彡g,当 1 < i < g-Ι时,第i代集包括第i代和第i+Ι代,当i = g时,第i代集就是第g代。步骤2、给参数i赋初值,令i = 1。步骤3、根据当前节点的属性确定其操作,如果当前节点是信源节点,转步骤4,否贝U,转步骤5。步骤4、如果1彡i彡g,则由信源节点确定第i代集的信息包结构,用GEi表示, 转步骤5,否则,结束。所述第i代集的信息包结构GEi分为两种情况第一种情况为当1彡i彡g_l时,第i代集的信息包结构为
<formula>formula see original document page 8</formula>
<formula>formula see original document page 8</formula>其中,Di为当前节点中第i代集信息包的数据构成的矩阵,GCi为当前节点中第i代集信息包的全局编码系数构成的矩阵,SDi为原始数据第i代集分组构成的矩阵,E2mx2m为一个2m行2m列的单位矩阵,SD/为原始数据第i代集内第j分组构成的向量,且1 ( j ( 2m,GC/为第i代集内第j分组的全局编码系数向量,且1彡j彡2m,Xjl1为原始数据第i代集内第j分组的第1个数据,且1彡j彡2m,1彡1彡n,GE/为第i代集内第j个信息包,且1彡j彡2m ;第二种情况为当i = g时,第i代集的信息包结构为
GE' = GEg = [SDg GCg ] = [SDg Emxm ]
<formula>formula see original document page 8</formula>其中,Emxm为一个m行m列的单位矩阵,SD/为原始数据第i代集内第j分组构成的向量,且1≤j≤m,
GC/为第i代集内第j分组的全局编码系数向量,且1彡j彡m,χ/为原始数据第g代集内第j分组的第1个元素,且1彡j彡m,1彡1彡n,GE/为第g代集内第j个信息包,且1彡j彡m。步骤5、将当前节点中第i代集信息包的个数用k表示,如果2,则当前节点根 据k确定第i代集的局部编码系数向量后,转步骤6,否则,当前节点把仅有的一个编码包作 为新编码包发送给下游节点后,转步骤7。当前节点根据下式确定第i代集的局部编码系数向量LCi=JVc; Ici2 ··· /C;]其中,LCi为第i代集的局部编码系数向量,Ic/是按照一定规则生成的有限域
GF (q)内的随机数,1彡j彡k,它服从独立同分布,且其概率分布函数为
l-pχ=0
?T(Ic1=X) = I , yJ[p/iq-l)λτ€[1,2,···,^-1]
p = (logiV + 10)/A:其中,N为原始数据第i代集内分组的个数,当1彡i彡g_l时,N = 2m,当i = g 时,N = m ;k为当前节点拥有的第i代集信息包的个数,如果当前节点是信源节点,则k =
N0步骤6、当前节点生成新编码包,并发送给下游节点。新编码包是当前节点根据步骤5的局部编码系数向量和其内存中的k个第i代 集的信息包生成的编码包,该编码包包括新信息数据和新全局编码系数,它们的生成过程 为6a)通过下式产生新信息数据D0 =LC(E)D1其中, 为有限域内的乘法运算,Dc/为新信息数据,它是一个η维的行向量,如果 当前节点为信源节点,则Di = SDi ;6b)通过下式产生新全局编码系数GC; 二 LC' GC'其中,GCc/为新全局编码系数,如果当前节点为信源节点,则GCi = E,GC01 = LCi0步骤7、下游节点在收到新编码包之后,对其进行线性相关性检测。7a)通过下式构造当前节点第i代集的全局编码系数矩阵GCi GC'=[GC; GC^ ··· GCk GC;]1其中,GC^GC/、-GCk1为当前节点已有的k个第i代集信息包的全局编码系数;7b)通过行列式变化求出矩阵GCi的秩,用rank(GCi)表示;7c)如果I^ank(GCi) = k+Ι,则该新编码包通过检测,把该新编码包用于编码或译 码,否则,认为该新编码包不能提供有用信息,抛弃或者请上游节点重发;7d)如果当前节点是信宿节点,转步骤8,否则,转步骤5。步骤8、信宿节点在收到k个第i代集通过步骤七线性相关性检测的编码包之后, 进行译码,其中,当1彡i彡g-Ι时,k = 2m,当i = g时,k = m。译码过程为采用高斯列主元消元法求解线性方程组的解,具体步骤为
8a)将信宿节点收到的k个第i代集编码包中数据部分构成数据矩阵Di,它是一个kXn维的矩阵;8b)将信宿节点收到的k个第i代集编码包中全局编码系数部分构成全局编码系数矩阵GCi,它是一个kXN维的矩阵;8c)根据编码原理可得Di=GOSD'对系数矩阵GCi依次消元,每次消元之前,先把绝对值大的元素交换到主对角线的位置上,再进行消元,直到把GCi转化成上三角矩阵,接着回代求出原始数据矩阵SDi,把原始数据转换为二进制格式后就是信源发送的信息。步骤9、将i加1,并转步骤3,进行下一代集的信息传输。
权利要求
一种分代分组交叉随机线性网络编码方法,包括如下步骤(1)由信源节点把要发送的信息用有限域GF(q)内的元素表示,得到原始数据,其中q≥256;将该原始数据顺序分为g个代,g≥2,用Gi(1≤i≤g)表示第i代;再把每一代按顺序分为m个组,m≥2,用Pij(1≤i≤g,1≤j≤m)表示第i代的第j分组,每代和它的后一代构成代集,用GEi表示第i代集,其中1≤i≤g,最后一个代集只包括最后一代;(2)令i=1;(3)根据当前节点的属性确定其操作,如果当前节点是信源节点,转步骤(4),否则,转步骤(5);(4)如果1≤i≤g,则由信源节点确定第i代集的信息包结构,用GEi表示,转步骤(5),否则,结束;(5)将当前节点中第i代集信息包的个数用k表示,如果k≥2,则当前节点根据k确定第i代集的局部编码系数向量后,转步骤(6),否则,当前节点把仅有的一个编码包作为新编码包发送给下游节点后,转步骤(7);(6)当前节点根据步骤(5)的局部编码系数向量和其内存中的k个第i代集的信息包生成新编码包,并发送给下游节点,转步骤(7);(7)下游节点在收到新编码包之后,对其进行线性相关性检测,如果检测通过,则把该新编码包用于编码或译码,否则,认为该新编码包不能提供有用信息,抛弃或者请上游节点重发,如果当前节点是信宿节点,转步骤(8),否则,转步骤(5);(8)信宿节点在收到k个第i代集通过步骤(7)线性相关性检测的编码包之后,通过译码得出信源发送的第i代集的原始数据后,转步骤(9),其中,当1≤i≤g-1时,k=2m,当i=g时,k=m;(9)将i加1,并转步骤(3)。
2.根据权利要求1所述的分代分组交叉随机线性网络编码方法,其中步骤(4)所述的 第i代集的信息包结构分为两种情况第一种情况为当1 < i彡g_l时,第i代集的信息包结构为<formula>formula see original document page 2</formula><formula>formula see original document page 3</formula>其中,Di为当前节点中第i代集信息包的数据构成的矩阵, GCi为当前节点中第i代集信息包的全局编码系数构成的矩阵, SDi为原始数据第i代集分组构成的矩阵, E2mx2ffl为一个2m行2m列的单位矩阵,SD/为原始数据第i代集内第j分组构成的向量,且1 ( j ( 2m,GC/为第i代集内第j分组的全局编码系数向量,且1彡j彡2m,Xjxi为原始数据第i代集内第j分组的第1个数据,且1彡j彡2m,1彡1彡n,GE/为第i代集内第j个信息包,且1彡j彡2m ;第二种情况为当i = g时,第i代集的信息包结构为<formula>formula see original document page 3</formula>其中,Emxm为一个m行m列的单位矩阵,SD/为原始数据第i代集内第j分组构成的向量,且1彡j彡m,GC/为第i代集内第j分组的全局编码系数向量,且1彡j彡m,Xjl8为原始数据第g代集内第j分组的第1个元素,且1彡j彡m,1彡1彡n,GE/为第g代集内第j个信息包,且1彡j彡m。
3.根据权利要求1所述的分代分组交叉随机线性网络编码方法,其中步骤(5)所述的 第i代集的局部编码系数向量,通过用下式产生LC'= [/c; Ici2 …/c;]其中,LCi为第i代集的局部编码系数向量,Ic/为第i代集的局部编码系数向量内的 第j个数,是有限域GF(q)内的随机数,其中1彡j彡k,如果当前节点是信源节点,则当 1 彡 i 彡 g-Ι 时,k = 2m,当 i = g 时,k = m。
4.根据权利要求3所述的分代分组交叉随机线性网络编码方法,其中第i代集局部编 码系数向量的第j个数Ic/是按照一定规则生成的有限域GF(q)内的随机数,它服从独立 同分布,且其概率分布函数为<formula>formula see original document page 4</formula>其中,N为原始数据第i代集内分组的个数,当1彡i彡g_l时,N = 2m,当i = g时, N = m。
5.根据权利要求1所述的分代分组交叉随机线性网络编码方法,其中步骤(6)所述的 新编码包,包括根据局部编码系数向量和当前节点中k个第i代集信息包生成的新信息数 据和新全局编码系数,它们分别通过以下两个式子产生<formula>formula see original document page 4</formula>其中, 为有限域内的乘法运算,Doi为新信息数据,GQi为新全局编码系数,如果当前 节点为信源节点,则Di = SDijGC^=LC。
6.根据权利要求1所述的分代分组交叉随机线性网络编码方法,其中步骤(7)所述的 下游节点在收到新编码包之后,对其进行线性相关性检测,按如下步骤进行(6a)将新编码包的全局编码系数加入当前节点中第i代集的全局编码系数矩阵后,用 下式表示<formula>formula see original document page 4</formula>其中,GC/jC/、-GCk1为当前节点中k个第i代集信息包的全局编码系数;(6b)通过行列式变换求出全局编码系数矩阵GCi的秩,用I^ank(GCi)表示,如果 rank(GCi) = k+1,则该新编码包通过检测,否则,认为该新编码包不能提供有用信息,不能 通过检测。
7.根据权利要求1所述的分代分组交叉随机线性网络编码方法,其中步骤(8)所述的 译码,采用高斯列主元消元法求出线性方程组的解Di=GC (8)SD'它是原始数据的第i代集SDi1全文摘要
本发明公开了一种分代分组交叉随机线性网络编码方法。其过程为信源先将原始数据顺序分代,在代内再顺序分组,每代和它的后一代构成代集;在代集内进行编码,代集之间编码过程是独立的,由信源确定代集的信息包结构;节点根据参与编码的信息包个数确定局部稀疏编码系数向量,再根据它和参与编码的信息包生成新编码包并发送给下游节点;节点收到新编码包后对其进行线性相关性检测,若通过检测,把它用于编码或译码,否则,丢弃或重传;信宿节点在收到足够多通过线性相关性检测的编码包后,采用高斯列主元消元法译出原始数据。本发明具有降低网络编码的时间和空间复杂度、减弱正确译码的必要条件的优点,适用于信息共享中的信息传输。
文档编号H04L1/00GK101800624SQ20101010717
公开日2010年8月11日 申请日期2010年2月5日 优先权日2010年2月5日
发明者李学俊, 李晖, 王博洋, 申肖肖 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1