网络编码的方法及系统的制作方法

文档序号:9600443阅读:400来源:国知局
网络编码的方法及系统的制作方法
【技术领域】
[0001] 本发明涉及计算机技术领域,尤其涉及网络编码的方法及系统。
【背景技术】
[0002] 随着云计算的快速发展,网络编码在分布式存储系统中的应用引起了广泛的关 注。网络编码能节省存储空间,减少数据修复的网络拥塞。近年来,MDS性质广为网络编码 采用并可以提供稳定可靠的数据存储及对抗硬盘损坏。
[0003] 为了最大能力容忍失效存储节点数量,具有MDS性质的码应用广泛。最大距离可 分(MDS)性质是将k个分组的原数据映射到η(η多k)分组数据,其中这η个数据中任意k 个都可以完全重建原η个分组数据。即原始信息流被拆分成k个等长的数据包并被编码成 η个数据包,这η个数据包中的任意k个都可以恢复原始信息。言外之意,只要剩余完好节 点个数不少于k个即可恢复原有的
[0004] 索罗门(RS)码是具有MDS性质的一种码,被广泛应用于网络编码的分布式存储系 统中。RS码的缺陷在于它的编解码操作应用在高进制有限域,需要复杂的编码和解码技术, 需要解码时间长,能耗高。高进制域的解码复杂度高,因此现大量工作都集中在二进制网络 编码和锯齿(zigzag)解码。
[0005]zigzag解码:在二进制域中锯齿形解码,将解码中的三次方运算变成了线性运 算,降低了运算复杂性。zigzagdecode(ZD)码,就是采用二进制域中的zigzag解码,但按 照他们的编解码方法,存在如下的缺陷:(1)需要更多的存储空间,数据越长,编码块需要 的存储空间更多,如果是(n,k)码需要的额外存储空间为(n-k) (k-l),S卩(8,4)码需要12 bit,开销位多;(2)对于不同的存储节点,存储空间是非对称的,使得云存储的设计师很难 分配存储空间来存储客户数据。

【发明内容】

[0006] 为了解决现有技术中的问题,本发明提供了一种网络编码的方法。
[0007] 本发明提供了一种网络编码的方法,编码过程包括如下步骤:
[0008] 第一步,将原始信息分为4个等长的包,分别用(;、(:2、(: 3、(:4表示,各个包的长度为 L,其中Q中的Slje{〇,1}表示Ci中的第j位,ie{l,2,3,4},je{0,l,2,...L-l};
[0009] 第二步,采取系统码框架,Q、C2、C3、(:4为4个原始非编码包,它是编码后四个校验 编码包的基础;
[0010] 第三步,后生成的四个数据包分别用(:5、(:6、(: 7、(:8表示,这4个包为校验编码包,由 Q、C2、C3、C44个非编码包移位后逐位异或得到的码字构成。
[0011] 作为本发明的进一步改进,为了保证zigzag解码和MDS特性,应用置换矩阵,在置 换矩阵中实施交错移位,将非编码包中的每一个元素都首先右移指定位,然后将所有这些 经过右移得到的结果元素都逐位异或。
[0012] 作为本发明的进一步改进,在置换矩阵中,每一个非编码数据包移位后的结果用 交错移位置换矩阵表中的矩阵表示,矩阵中第(i,j)个元素表示对编码包C1+4中第j行元 素向右移位的位数,通过此规则完成对C1+4的编码,i,je{1,2, 3, 4}。
[0013] 作为本发明的进一步改进,在交错移位置换矩阵表中,任意行或者列没有相同的 数字,这意味着没有发生相同的比特数转移,避免不可解码;另外,在交错移位置换矩阵表 中,任意二列的差所包含的元素都不同。
[0014] 作为本发明的进一步改进,交错移位置换矩阵表如下:
[0015]
[0016] 本发明还提供了一种网络编码的系统,包括:
[0017] 分割模块,用于将原始信息分为4个等长的包,分别用Q、C2、C3、 C4表示,各个包的长度为L,其中Ci中的s# {〇, 1}表示Ci中的第j位, ie{1,2,3,4},je{〇, 1,2,...L-1};
[0018] 处理模块,用于采取系统码框架,Q、C2、C3、(:4为4个原始非编码包,它是编码后四 个校验包码字的基础;
[0019] 生成模块,用于后生成四个数据包分别用(:5、(: 6、(:7、(:8表示,这4个包为校验编码 包,由Q、C2、C3、C44个非编码包移位后逐位异或得到的码字构成。
[0020] 作为本发明的进一步改进,为了保证zigzag解码和MDS特性,应用置换矩阵,在置 换矩阵中实施交错移位,将非编码包中的每一个元素都首先右移指定位,然后将所有这些 经过右移得到的结果元素都逐位异或。
[0021] 作为本发明的进一步改进,在置换矩阵中,每一个未编码数据包移位后的结果用 交错移位置换矩阵表中的矩阵表示,矩阵中第(i,j)个元素表示对编码包C1+4中第j行元 素向右移位的位数,通过此规则完成对C1+4的编码,i,je{1,2, 3, 4}。
[0022] 作为本发明的进一步改进,在交错移位置换矩阵表中,任意行或者列没有相同的 数字,这意味着没有发生相同的比特数转移,避免不可解码;另外,在交错移位置换矩阵表 中,任意二列的差所包含的元素都不同。
[0023] 作为本发明的进一步改进,交错移位置换矩阵表如下:
[0024]
[0025]
[0026] 本发明的有益效果是:在本发明中,通过置换矩阵,交错移位,在二进制域中对原 始消息进行编码,使其具有MDS性质,再采用锯齿型(zigzag)解码技术,降低解码复杂度, 还使得额外的冗余空间为3bit。既节省了存储空间,又使得每个存储节点的额外开销保持 对称。
【附图说明】
[0027] 图 1 是ZD-MDS(8,4)码编码图。
[0028] 图 2 是ZD-MDS(8,4)码zigzag解码方法图。
[0029] 图3是zigzag解码原理示意图。
【具体实施方式】
[0030] 本发明公开了一种网络编码的方法和系统,在该方法中编码过程包括如下步 骤:
[0031] 第一步,将原始信息分为4个等长的包,分别用Q、C2、C3、C4表示,各 个包的长度为L,如图2所示,其中Q中的s{〇, 1}表示Ci中的第j位, ie{1,2,3,4},je{〇, 1,2,...L-1};
[0032] 第二步,采取系统码框架,Q、C2、C3、(:4为4个原始非编码包,它是编码后4个校验 编码包码字的基础;
[0033] 第三步,后生成的四个数据包分别用(:5、(:6、(: 7、(:8表示,这4个包为校验编码包,由 Q、C2、C3、C44个非编码包移位后逐位异或得到的码字构成。
[0034] 详细编码构造举例:
[0035] 这一部分,将给出如何使用(;(:2(:3(:44个基础非编码包构成C5C6C7CS的详细过程。
[0036] 为了保证zigzag(锯齿型)解码和MDS特性,将未编码包中的每一个元素都首先 右移指定位,位数都不相等,因此获得的编码包很可能相互独立的。然后将所有这些经过右 移后得到的码字逐位异或后存储在校验编码包中。
[0037] 每一个非编码数据包移位后的结果用交错移位置换矩阵表(表1)中的矩阵表示, 矩阵中第(i,j)个元素表示对编码包C1+4中第j个结构元素移位的位数,通过此规则完成 对C1+4的编码,i,je{1,2,3,4}。
[0038] 例如:第一行(0,1,3,2)代表编码包C5中结构元素CjljC4分别循环右移0,1,3,2 位,可以看出,每一行和每一列的元素都按照该矩阵中对应的元素进行变化,因此我们称这 个矩阵为置换矩阵,所得到的编码结果如图1所示,在图1中,编码包中的每一列代表相关 位数相异或的结果,例如c5的第一位为su。,第二位为i与S2,。异或的结果,依次逐位异或 后存储。
[0039] 从表1中观察,我们对任意两列作差得到一个向量,其中无相同元素,采用该交错 移位置换矩阵进行编码,编码的样式为锯齿型,解码时能够采用zigzag解码,另外,该码具 有MDS性质,不会出现不可解码情况。如果两列作差后向量元素有相同,则说明两列所在的 行在编码中码字的相对移位相同,则在解码时不能保证锯齿型,就会存在不能解码出原信 息的情况发生。
[0040]
[0041] 表 1
[0042] 在表1中,CgljC4通过依次移位构成(:5到(:8的移位置换矩阵。在置换矩阵中,移 位的数字是交错变化的。
[0043] 在交错移位置换矩阵表中,校验数据包在原非编码包的基础上多了额外的存储开 销,其所有4个校验包开销位都是固定的为3位,相比zigzagdecode(ZD) (8,4)码,ZD(8, 4) 码中的开销为12位。
[0044] 在交错移位置换矩阵表中,任意行或者列没有相同的数字,这意味着没有发生相 同的比特数转移,避免不可解码;另外,在交错移位置换矩阵表中,任意二列的差所包含的 元素都不同,这也避免了不可解码,保证了zigzag解码。
[0045] 还公开了一种网络编码的系统,包括:
[0046] 分割模块,用于将原始信息分为4个等长的包,分别用Q、C2、C3、 C4表示,各个包的长度为L,其中Ci中的s# {〇, 1}表示Ci中的第j位, ie{1,2,3,4},je{〇, 1,2,...L-1};
[0047] 处理模块,用于采取系统码框架,Q、C2、C3、(:4为4个原始非编码包,它是编码后四 个校验包码字的基础;
[0048] 生成模块,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1