CN110289864A - 二进制mds阵列码的最优修复访问变换方法及装置 - Google Patents

二进制mds阵列码的最优修复访问变换方法及装置 Download PDF

Info

Publication number
CN110289864A
CN110289864A CN201910707015.4A CN201910707015A CN110289864A CN 110289864 A CN110289864 A CN 110289864A CN 201910707015 A CN201910707015 A CN 201910707015A CN 110289864 A CN110289864 A CN 110289864A
Authority
CN
China
Prior art keywords
column
data
array code
multinomial
follows
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.)
Pending
Application number
CN201910707015.4A
Other languages
English (en)
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.)
Dongguan University of Technology
Original Assignee
Dongguan University of Technology
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 Dongguan University of Technology filed Critical Dongguan University of Technology
Priority to CN201910707015.4A priority Critical patent/CN110289864A/zh
Publication of CN110289864A publication Critical patent/CN110289864A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

二进制MDS阵列码的最优修复访问变换方法,属于编解码技术领域,包括两个转换流程,流程1包括对二进制MDS码阵列码的描述及参数的确认;对阵列码数据的数据项和冗余项的两次变换,一次编码转换,一次替换更新操作;最后在第二次变换后阵列码中获取修复访问的最优解第i列数据。流程2包括对二进制MDS码阵列码的描述及参数的确认;构造编码公式对奇偶校验k列及k+1列进行变换;最后获取原有修复访问的第f列数据,最优修复访问的第j列数据。本发明提供的变换方法通过牺牲指数级增长的存储来达到变换列的最佳修复访问,以及通过对(k+2,k)的EVENODD码奇偶校验列做一新变换保留原有的修复属性同时对奇偶校验列的修复访问是最优的。

Description

二进制MDS阵列码的最优修复访问变换方法及装置
技术领域
本发明属于编解码技术领域,具体涉及二进制MDS阵列码的最优修复访问变换方法及装置。
背景技术
大型存储系统通常在数据存储中引入冗余,以提供容错和维护存储可靠性。擦除编码是一种冗余技术,它能够在相同的存储开销下获得比复制更高的可靠性,并在商业存储系统中得到了广泛的应用。
极大距离可分码(MDS码)是一类重要的擦除码,它在一给定的冗余量下可达到最大可靠度。具体来说,MDS码将k位信息符号转换为一些可配置参数k和r的相同大小的k+r位编码符号,这样k+r位符号中的任何k位都足以检索所有k位信息符号。Reed-Solomon码(RS码)是一个著名的MDS码示例。
在众多的MDS码中,有一类特殊的MDS码,称为二进制MDS阵列码,这类码由于编码和解码过程只涉及异或运算,所以计算复杂度较低。二进制MDS阵列码的例子有EVENODD,X-code和RDP。
在大型存储系统中,节点故障是常见的,大多数故障都是单节点故障。因此,设计一种有效的修复方案来修复单个失败节点的丢失位,同时为多个节点故障提供容错能力是至关重要的。
发明内容
为解决上述问题,本发明提供了二进制MDS阵列码的最优修复访问变换方法,所述S1流程变换方法包括步骤:
S1:给定(P-1)×(K+r)的二进制MDS阵列码,且给定d-k+1个子分包样本,其中,p是满足p≥max{k,r}的素数;
S2:使用预设表达式对所述二进制MDS阵列码进行表述;
S3:将阵列码的数据分为K区数据项和r区冗余项,求出阵列码的数据多项式、冗余多项式及编码矩阵
S4:分别对前(d-k+1)列数据多项式和奇偶校验r列数据多项式处理求得相应的多项式;
S5:按照预设公式对数据项前(d-k+1)列做替换,求出原始的变更数据项;
S6:根据变更数据项,对冗余项进行变换操作;
S7:获取修复访问的最优解第i列数据。
优选地,在步骤S2中,所述(P-1)*(K+r)阵列码使用ai,j表示,第j列表达式为:aj(x)=a0,j+a1,j+...+ap-2,jxp-2,其中,
i=0,1,...,p-2;j=0,1,...,k+r-1,且ij均为正整数。所述d-k+1个样本为:
优选地,在步骤S3中,所述阵列码的信息位存储在K个列中,而奇偶校验位存储于r列中,所述数据多项式的表达式为:a0(x),...,ak-1(x);所述冗余多项式的表达式为:ak(x),...,ak+r-1(x);所述编码矩阵的表达式为:
优选地,在步骤S4中,所述的前(d-k+1)列数据多项式的处理方法为:以数据多项式的对角为界限,上三角部分的多项式编码为ai,j(x)+ai,j(x),下三角部分的多项式编码为ai,j(x)+(1+xe)ai,j(x),其中i、j为对应的行列数,e是所选择的循环移位,p和e满足关系式:xp=1=xp-exe,得到的多项式表达式为a'i,j(x)。即当i≤d-k时,第i列的多项式为:
ai,0(x)+a0,i(x),ai,1(x)+a1,i(x),....,ai,i-1(x)+ai-1,i(x),ai,i(x),
ai,i+1(x)+(1+xe)ai-1,i(x),ai,i+2(x)+(1+xe)ai+2,i(x),...,ai,d-k(x)+(1+xe)ad-k,i(x)
当i≥d-k+1时,第i列的多项式为:ai,0(x),ai,1(x),...,ai,d-k(x)。
优选地,在步骤S4中,所述的冗余数据r列多项式处理方法为:原信息多项式(数据项前k列)乘以编码矩阵得到冗余多项式,得到的多项式表达式为
优选地,在步骤S5中,所述数据项的替换预设公式为:
优选地,在步骤S6中,所述冗余项的变换矩阵:
为解决在做最优修复的变换的基础上仍保留原有信息列的修复属性问题,本发明还提供了一种针对2奇偶校验列的最优修复访问新变换方法,所述流程2变换方法包括步骤:
A1:给定(P-1)×(K+2)的二进制MDS阵列码,其中,p是满足p≥max{k,r}的素数;
A2:使用预设表达式对所述二进制MDS阵列码进行表述;
A3:将所述阵列码的数据分为K区数据项和2区冗余项,求出所述阵列码的数据多项式、冗余多项式以及编码矩阵;
A4:定义新变换编码运算符号;
A5:按照预设编码公式对奇偶校验k列、k+1列进行数据处理求得变换的奇偶校验列;
A6:获取原有修复访问的第i列数据,最优修复访问的第j列数据。
优选地,在步骤A2中,所述(P-1)*(K+r)阵列码使用ai,j,bi,j表示,第j列表达式为:
aj(x)=a0,j+a1,j+...+ap-2,jxp-2,bj(x)=b0,j+b1,j+...+bp-2,jxp-2
,其中,i=0,1,...,p-2;j=0,1,...,k+1,且i,j均为正整数。
优选地,在步骤A3中,所述阵列码的信息位存储在k个列中,而奇偶校验位存储于r列中,所述数据多项式的表达式为:a0(x),...,ak-1(x),b0(x),...,bk-1(x);所述冗余多项式的表达式为:ak(x),ak+1(x),bk(x),bk+1(x);奇偶多项式是由数据多项式乘以编码矩阵所得,
可由下计算出:
优选地,在步骤A4中,定义新变换编码运算符号如下:
a0*=[a1,0,a0,0,a3,0,a2,0,...,ap-2,0,ap-3,0]T
两个列向量求和定义:
优选地,在步骤A5中,所述的变换奇偶检验k列及k+1列处理方法为:奇偶校验k列存储2(p-1)奇偶位:
bk+1=[b0,k+1,b1,k+1,...,bp-2,k+1]T
奇偶k+1校验列存储2(p-1)奇偶位:
ak+1=[a0,k+1,a1,k+1,...,ap-2,k+1]T
优选地,在步骤A6中,所述获取原有修复访问的第f列数据,最优修复访问的第j列数据,下载数据从以下式中获取恢复:
ai,j,i∈Sj,j=0,1,...,f-1,f+1,...,k+1
本发明还提供了二进制MDS阵列码的最优修复访问变换装置,所述装置包括:
流程1变换装置:
MDS阵列码填充单元,用于给定(P-1)×(K+r)的二进制MDS阵列码,以及给定阵列码样本子分包数d-k+1,其中,p是满足p≥max{k,r}的素数;
表述单元,用于使用预设表达式对所述MDS阵列码填充单元内的所述二进制MDS阵列码进行表述,其中,所述(P-1)*(K+r)阵列码使用ai,j(x)表示,第j列表达式为:aj(x)=a0,j+a1,j+...+ap-2,jxp-2,其中,i=0,1,...,p-2;j=0,1,...,k+r-1,且ij均为正整数;
字块单元,列字块单元用于将所述表述单元内的所述阵列码的数据分为K区数据项和r区冗余项,且所述阵列码的信息位存储在K个列中,而奇偶校验位存储于r列中;行字块单元用于增添所述子分包样本数,当需要k+r列即所有列具有最优修复访问时,需要个子分包样本。流程1中只有变换的d-k+1节点具有最优修复访问;
多项式求解单元,用于根据所述行字块单元内数据求出所述阵列码的数据多项式、冗余多项式及编码矩阵,其中,所述数据多项式的表达式为:a0(x),...,ak-1(x);所述冗余多项式的表达式为:ak(x),...,ak+r-1(x);所述编码矩阵的表达式为:
处理单元,用于分别对所述多项式求解单元内的前(d-k+1)列数据多项式和r列冗余多项式处理求得相应的多项式,其中,所述的前(d-k+1)列数据的多项式为a'i,j(x),所述的k列数据的多项式为
替换单元,用于按照预设公式对所述处理单元内的数据项前(d-k+1)列做替换,求出原始的变更数据项,其中,所述的预设公式为:
变换单元,用于根据所述替换单元内的变更数据项,对所述处理单元内的冗余项进行变换操作,其中,所述冗余项的变换矩阵为:
获取单元,用于根据所述替换单元和所述变换单元数据获取修复访问的最优解第i列数据(获取单元是在第二次变换的基础上获取元素,需从每个d修复列下载一个多项式来修复),其中,
当i=0,1,...,k-1,第i列中的d-k+1多项式是
ai,j(x),L=0,1,...,d-k+1;
当i=k,k+1,...,k+r-1,第i列中的d-k+1多项式是
流程2变换装置:
MDS阵列码填充单元,用于给定(P-1)×(K+r)的二进制MDS阵列码,其中,p是满足p≥max{k,r}的素数;
表述单元,用于使用预设表达式对所述MDS阵列码填充单元内的所述二进制MDS阵列码进行表述,其中,所述(P-1)*(K+r)阵列码使用ai,j,bi,j表示,第j列表达式为:
aj(x)=a0,j+a1,j+...+ap-2,jxp-2,bj(x)=b0,j+b1,j+...+bp-2,jxp-2,,其中,i=0,1,...,p-2;j=0,1,...,k+1,且i,j均为正整数。
字块单元,用于将所述表述单元内的所述阵列码的数据分为K区数据项和r区冗余项,且所述阵列码的信息位存储在K个列中,而奇偶校验位存储于r列中;
多项式求解单元,用于根据所述行字块单元内数据求出所述阵列码的数据多项式、冗余多项式及编码矩阵,其中,所述数据多项式的表达式为:a0(x),...,ak-1(x),b0(x),...,bk-1(x);所述冗余多项式的表达式为:ak(x),ak+1(x),bk(x),bk+1(x);所述编码矩阵的表达式为:
编码单元,预设置有编码运算公式;
处理单元,调用所述编码单元内预设置的相应的编码运算公式,对所述多项式求解单元内的预设列数据多项式处理求得相应的多项式;
恢复单元,用于根据所述奇偶校验变换获取修复访问的最优解第j列数据以及原有修复访问的优解第f列数据由下式恢复:
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的二进制MDS阵列码的最优修复访问变换方法流程示意图;
图2是本发明提供的二进制MDS阵列码的最优修复访问变换装置原理示意图;
图3是本发明提供的一种计算机设备的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
如图1和2,本发明提供了二进制MDS阵列码的最优修复访问变换方法及装置,下面结合装置对所述方法进行具体阐述。
在本装置中,本方法具体运行包括如下步骤,运行情况具体如下:
转换1运行情况:
S1:给定(P-1)×(K+r)的二进制MDS阵列码,且给定d-k+1个子分包样本,其中,p是满足p≥max{k,r}的素数;
S2:使用预设表达式对所述二进制MDS阵列码进行表述;
S3:将阵列码的数据分为K区数据项和r区冗余项,求出阵列码的数据多项式、冗余多项式及编码矩阵
S4:分别对前(d-k+1)列数据多项式和奇偶校验r列数据多项式处理求得相应的多项式;
S5:按照预设公式对数据项前(d-k+1)列做替换,求出原始的变更数据项;
S6:根据变更数据项,对冗余项进行变换操作;
S7:获取修复访问的最优解第i列数据。
转换2运行情况:
A1:给定(P-1)×(K+2)的二进制MDS阵列码,其中,p是满足p≥max{k,r}的素数;
A2:使用预设表达式对所述二进制MDS阵列码进行表述;
A3:将所述阵列码的数据分为K区数据项和2区冗余项,求出所述阵列码的数据多项式、冗余多项式以及编码矩阵;
A4:定义新变换编码运算符号;
A5:按照预设编码公式对奇偶校验k列、k+1列进行数据处理求得变换的奇偶校验列;
A6:获取原有修复访问的第i列数据,最优修复访问的第j列数据。
下面以二进制MDS阵列码中的一种——EVENODD码——为例进行说明。
EVENODD码是一个大小为(P-1)×(K+r)的阵列码,其中p是满足p≥max{k,r}的素数。给定了i=0,1,...,p-2;j=0,1,...,k+r-1的(P-1)×(K+r)阵列第j列的(p-1)位a0,j,a1,j,...,ap-2,j可以表示为一多项式:
aj(x)=a0,j+a1,j+...+ap-2,jxp-2
在不丢失一般性的情况下,信息位(数据位)存储在k个最左边的列中,而奇偶校验位(冗余位)存储在其余的r列中。第一个k个多项式为a0(x),...ak-1(x)称为信息多项式。最后r个多项式ak(x),...ak+r-1(x)称为奇偶多项式。r奇偶多项式计算为:
第一实施例:
该实例做到的是前d-k+1节点数据具有最优修复访问,当需要k+r节点即所有列具有最优修复访问时,需要个子分包样本,并做实例中的变换及更新,即可实现所有列的最优访问。
首先是第一次变换,针对给定的(P-1)×(K+r)EVENODD码的码字a0(x),...,ak+r-1(x),首先生成d-k+1个样本:a0,L(x),...,ak+r-1,L(x),L取0,1,…,d-k。特别的是,r项奇偶多项式ak,L(x),...,ak+r-1,L(x)是由a0,L(x),...,ak+r-1,L(x)和上述的编码矩阵计算得出,其中L=0,1,...,d-k。当i=0,1,...,d-k,第i列中的多项式是:
ai,0(x)+a0,i(x),ai,1(x)+a1,i(x),...,ai,i-1(x)+ai-1,i(x),ai,i(x),
ai,i+1(x)+(1+xe)ai+1,i(x),ai,i+2(x)+(1+xe)ai+2,i(x),...,
ai,d-k(x)+(1+xe)ad-k,i(x).
其中e是取值范围为1≤e≤p-1的正整数。另一方面,当i=d-k+1,...,k+r-1,第i列中的多项式是:ai,0(x),ai,1(x)...,ai,d-k(x)。
上述转换称为第一次转换。
表一给出了第一次转换的EVENODD码的示例,其中k=4,r=2,d=5和e=1。
接下来再进行第二次变换。
可以首先将a′i,L(x)替换ai,L(x)+aL,i(x),a′L,i(x)替换aL,i(x)+(1+xe)ai,L(x),L<i,通过如下式子进行替换:
当i=0,1,...,k-1,第i列中的d-k+1多项式是ai,L(x),其中L=0,1,...,d-k+1。其中,ai,L(x)多项式是由下式算出:
其中,i=k,k+1,...,k+r-1;j=0,1,...,d-k。通过在j<L时将xj(i-k)(xp-eaj,L(x)+(1+xp-e)aL,j(x))替换ai,L(x)中的xj(i-k)aj,L(x)以及在j<L时将xj(i-k)(xp-eaj,L(x)+xp-eaL,j(x))替换ai,L(x)中的xj(i-k)aj,L(x)来更新r(d-k+1)多项式ai,L(x),即
当i=k,k+1,...,k+r-1时,列i中的d-k+1多项式是L取0,1,...,d-k的ai,L(x),也即,当i=k,k+1,...,k+r-1时,第i列中的d-k+1多项式为ai,0(x),...,ai,d-k(x),它在环F2[x]/(1+x+...+xp-1)上的计算如下:
[1xi-k…x(k-1)(i-k)].
转换后的EVENODD码用EVENODD1表示。当k=4,r=2,d=5和e=1时,具有第二次转换的EVENODD1码如下表二所示。
可以从任何四列中恢复所有的信息多项式,也即,可以直接从第0、1、2、3列得到信息多项式。例如,从一个奇偶校验列和三个信息列(例如0、2、3和4)中恢复信息多项式。可以由如下式子中得到a1,0(x)、a1,1(x):
a1,0(x)=x(a4,0(x)+a0,0(x)+xp-1a0,1(x)+a2,0(x)+a3,0(x)),
a1,1(x)=a4,1(x)+xp-1a0,1(x)+(1+xp-1)a1,0(x)+a2,1(x)+a3,1(x).
又如,要从两个信息列和两个奇偶校验列(例如列1、2、4和5)中求解信息多项式。首先,通过从a4,1(x)、a5,1(x)中减去a1,1(x)、a2,1(x)来计算了以下两个多项式:
p1(x)=a4,1(x)+(1+xp-1)a1,0(x)+a1,1(x)+a2,1(x)=xp-1a0,1(x)+a3,1(x).
p2(x)=a5,1(x)+(1+xp-1)a1,0(x)+xa1,1(x)+x2a2,1(x)=xp-1a0,1(x)+x3a3,1(x).
然后,可以用来求解a3,1(x),用x(a3,1(x)+p1(x))来求解a0,1(x)。另外两个信息多项式a0,0(x),a3,0(x)也可以近似求解。
前两列中的每一列的修复访问都是最优的。假设第一列失败,依据EVENODD码的MDS特性,首先可以通过访问四个多项式a2,0(x),a3,0(x),a4,0(x),a5,0(x)来求解a0,0(x)和xp -1(a1,0(x)+a0,1(x)),然后通过计算x(xp-1(a1,0(x)+a0,1(x))+xp-1a1,0(x)恢复a0,1(x)。因此,可以从5个辅助列中下载5个多项式来恢复两个信息多项式,修复带宽达到(1)中的最小值。第二列的修复类似,此处不再赘述。
第二实施例:
在本实施例中,是(k+2,k)EVENODD码,此例子中的新变化实现了两奇偶校验列的最优修复,最优修复下载的信息位是其中m为阵列行数,同时保留了原信息k列的修复属性,原信息列的修复下载的信息位是原始信息位的3/4。
创建两个EVENODD码实例a0(x),a1(x),...,ak+1(x)和b0(x),b1(x),...,bk+1(x),其中信息多项式是a0(x),a1(x),...,ak-1(x)和b0(x),b1(x),...,bk-1(x),以及奇偶多项式可由下式计算:
设aj=[a0,j,a1,j,...,ap-2,j]T和bj=[b0,j,b1,j,...,bp-2,j]T分别是多项式aj(x)和bj(x)的系数,其中j=0,1,...,k+1。给定列向量a0,可以定义
a0 *=[a1,0,a0,0,a3,0,a2,0,...,ap-2,0,ap-3,0]T,,
下式定义了两个列向量a0,a1的求和
当p=5时,可以有
a0 *=[a1,0,a0,0,a3,0,a2,0]T
列j(j=0,1,...,k-1)存储了2(p-1)信息位aj,bj。第一奇偶校验列存储2(p-1)奇偶位
bk+1=[b0,k+1,b1,k+1,...,bp-2,k+1]T
,
以及第二奇偶校验列存储2(p-1)奇偶位
ak+1=[a0,k+1,a1,k+1,...,ap-2,k+1]T.。
可以从任意k列中恢复出所有2k(p-1)信息位。首先,可以通过式子(ai-1,k+bi-1,k)+(ai-1,k+bi-1,k+bi,k),i=1,3,...,p-2来计算(p-1)/2位以及通过式子bi,k+(ai,k+bi,k),i=1,3,...,p-2来计算ai,k。然后,可以用
ai+1,k+(ai+1,k+bi,k),i=0,2,...,p-3来计算bi,k以及用bi,k+(ai,k+bi,k),i=0,2,...,p-3来计算ai,k。最后,由于EVENODD码是MDS码,所以可以从
b0,j,b1,j,bp-2,j(j=2,3,...,k+1)中获取信息位b0,0,b1,0,...,bp-2,0和b0,1,b1,1,...,bp-2,1。同样的,信息位a0,0,a1,0,...,ap-2,0和a0,1,a1,1,...,ap-2,1可如上一样被算出。
转换后的EVENODD码的每个奇偶校验列都具有最优修复访问。两奇偶校验列的修复:可以通过下载来自第j(j=0,1,...,k-1)列的bj和来自第k+1列的来修复第k列。具体来说,我们可以从b0,b1,...,bk-1中计算bk,bk+1,以及通过来计算同样,可以通过从第j(j=0,1,...,k-1)列下载aj以及从第k列下载来修复第k+1列。
单信息列f(0≤f≤k-1)的修复:P-1是4的倍数,可以下载ai,j来恢复第f列,其中0≤f≤k-1,Sj表示从第j列下载位的索引集,而后,变换后的EVENODD码的第f列可以通过从第j列中下载ai,j,bi,j(所有∈Sj的i,j=0,1,...,f-1,f+1,...,k+1),从第k列中下载和bi,k+1(所有∈Sk+1的i),从第k+1列中下载和ai,k+1(所有∈sk+1的i)来恢复,其中下载的信息位是原始信息位的3/4。
针对X-code和RDP的最优修复访问变换方法与上述的EVENODD码的近似,可以由本领域技术人员参照上述方法流程推导,此处不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储所述阵列码等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现二进制MDS阵列码的最优修复访问变换方法。
在一个实施例中,上述处理器执行进制MDS阵列码的最优修复访问变换方法,步骤包括:
转换1步骤:
S1:给定(P-1)×(K+r)的二进制MDS阵列码,且给定d-k+1个子分包样本,其中,p是满足p≥max{k,r}的素数;
S2:使用预设表达式对所述二进制MDS阵列码进行表述;
S3:将阵列码的数据分为K区数据项和r区冗余项,求出阵列码的数据多项式、冗余多项式及编码矩阵
S4:分别对前(d-k+1)列数据多项式和奇偶校验r列数据多项式处理求得相应的多项式;
S5:按照预设公式对数据项前(d-k+1)列做替换,求出原始的变更数据项;
S6:根据变更数据项,对冗余项进行变换操作;
S7:获取修复访问的最优解第i列数据。
转换2步骤:
A1:给定(P-1)×(K+2)的二进制MDS阵列码,其中,p是满足p≥max{k,r}的素数;
A2:使用预设表达式对所述二进制MDS阵列码进行表述;
A3:将所述阵列码的数据分为K区数据项和2区冗余项,求出所述阵列码的数据多项式、冗余多项式以及编码矩阵;
A4:定义新变换编码运算符号;
A5:按照预设编码公式对奇偶校验k列、k+1列进行数据处理求得变换的奇偶校验列;
A6:获取原有修复访问的第i列数据,最优修复访问的第j列数据。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现二进制MDS阵列码的最优修复访问变换方法的步骤,具体为:
转换1步骤:
S1:给定(P-1)×(K+r)的二进制MDS阵列码,且给定d-k+1个子分包样本,其中,p是满足p≥max{k,r}的素数;
S2:使用预设表达式对所述二进制MDS阵列码进行表述;
S3:将阵列码的数据分为K区数据项和r区冗余项,求出阵列码的数据多项式、冗余多项式及编码矩阵
S4:分别对前(d-k+1)列数据多项式和奇偶校验r列数据多项式处理求得相应的多项式;
S5:按照预设公式对数据项前(d-k+1)列做替换,求出原始的变更数据项;
S6:根据变更数据项,对冗余项进行变换操作;
S7:获取修复访问的最优解第i列数据。
转换2步骤:
A1:给定(P-1)×(K+2)的二进制MDS阵列码,其中,p是满足p≥max{k,r}的素数;
A2:使用预设表达式对所述二进制MDS阵列码进行表述;
A3:将所述阵列码的数据分为K区数据项和2区冗余项,求出所述阵列码的数据多项式、冗余多项式以及编码矩阵;
A4:定义新变换编码运算符号;
A5:按照预设编码公式对奇偶校验k列、k+1列进行数据处理求得变换的奇偶校验列;
A6:获取原有修复访问的第i列数据,最优修复访问的第j列数据。
综上所述,通过给定(P-1)×(K+r)的二进制MDS阵列码,给定需要变换的列对应的子分包样本数;使用预设表达式对二进制MDS阵列码进行表述;将阵列码的数据分为K区数据项和r区冗余项,求出阵列码的数据多项式、冗余多项式及编码矩阵;分别对前预设列数据多项式处理求得相应的多项式;按照预设公式对数据项变换列做替换,求出原始的变更数据项;根据变更数据项,对冗余项进行变换操作;获取修复访问的最优解第i列数据。本发明提供的该变换方法对变换的节点具有最优修复访问
给定(P-1)×(K+2)的二进制MDS阵列码;使用预设表达式对二进制MDS阵列码进行表述;将阵列码的数据分为K区数据项和2区冗余项,求出阵列码的数据多项式、冗余多项式及编码矩阵;定义新变换编码运算公式;按照预设编码运算公式对预设奇偶校验列进行数据处理求得变换的奇偶校验列;获取第f列原有修复访问的数据,获取第j列修复访问的最优解数据。本发明提供的该变换方法对奇偶校验列的修复访问是最优的,对原有信息列的修复访问进行了保留。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (10)

1.二进制MDS阵列码的最优修复访问变换方法,其特征在于,所述流程1变换方法包括步骤:
S1:给定(P-1)×(K+r)的二进制MDS阵列码,且给定d-k+1个子分包样本,其中,p是满足p≥max{k,r}的素数;
S2:使用预设表达式对所述二进制MDS阵列码进行表述;
S3:将阵列码的数据分为K区数据项和r区冗余项,求出阵列码的数据多项式、冗余多项式及编码矩阵
S4:分别对前(d-k+1)列数据多项式和奇偶校验r列数据多项式处理求得相应的多项式;
S5:按照预设公式对数据项前(d-k+1)列做替换,求出原始的变更数据项;
S6:根据变更数据项,对冗余项进行变换操作;
S7:获取修复访问的最优解第i列数据。
2.根据权利要求1所述的最优修复访问变换方法,其特征在于,在步骤S2及S3中,所述(P-1)*(K+r)阵列码使用ai,j表示,第j列表达式为:aj(x)=a0,j+a1,j+...+ap-2,jxp-2,其中,i=0,1,...,p-2;j=0,1,...,k+r-1,且ij均为正整数。所述d-k+1个样本为:
所述阵列码的信息位存储在K个列中,而奇偶校验位存储于r列中,所述数据多项式的表达式为:a0(x),...,ak-1(x);所述冗余多项式的表达式为:ak(x),...,ak+r-1(x);所述编码矩阵的表达式为:
3.根据权利要求1所述的最优修复访问变换方法,其特征在于,在步骤S4中,所述的前(d-k+1)列数据多项式的处理方法为:以数据多项式的对角为界限,上三角部分的多项式编码为ai,j(x)+aj,i(x),下三角部分的多项式编码为ai,j(x)+(1+xe)aj,i(x),其中i、j为对应的行列数,e是所选择的循环移位,p和e满足关系式:xp=1=xp-exe,得到的多项式表达式为a'i,j(x)。即当i≤d-k时,第i列的多项式为:
ai,0(x)+a0,i(x),ai,1(x)+a1,i(x),....,ai,i-1(x)+ai-1,i(x),ai,i(x),
ai,i+1(x)+(1+xe)ai-1,i(x),ai,i+2(x)+(1+xe)ai+2,i(x),...,ai,d-k(x)+(1+xe)ad-k,i(x)
当i≥d-k+1时,第i列的多项式为:ai,0(x),ai,1(x),...,ai,d-k(x)。
所述的冗余数据r列多项式处理方法为:原信息多项式(数据项前k列)乘以编码矩阵得到冗余多项式,得到的多项式表达式为
4.根据权利要求1所述的最优修复访问变换方法,其特征在于,在步步骤S5及S6中,所述数据项的替换预设公式为:
所述冗余项的变换矩阵:
5.二进制MDS阵列码的最优修复访问变换装置,其特征在于,所述装置包括:
MDS阵列码填充单元,用于给定(P-1)×(K+r)的二进制MDS阵列码,以及给定阵列码样本子分包数d-k+1,其中,p是满足p≥max{k,r}的素数;
表述单元,用于使用预设表达式对所述MDS阵列码填充单元内的所述二进制MDS阵列码进行表述,其中,所述(P-1)*(K+r)阵列码使用ai,j(x)表示,第j列表达式为:aj(x)=a0,j+a1,j+...+ap-2,jxp-2,其中,i=0,1,...,p-2;j=0,1,...,k+r-1,且ij均为正整数;
字块单元,列字块单元用于将所述表述单元内的所述阵列码的数据分为K区数据项和r区冗余项,且所述阵列码的信息位存储在K个列中,而奇偶校验位存储于r列中;行字块单元用于增添所述子分包样本数,当需要k+r列即所有列具有最优修复访问时,需要个子分包样本。流程1中只有变换的d-k+1节点具有最优修复访问;
多项式求解单元,用于根据所述行字块单元内数据求出所述阵列码的数据多项式、冗余多项式及编码矩阵,其中,所述数据多项式的表达式为:a0(x),...,ak-1(x);所述冗余多项式的表达式为:ak(x),...,ak+r-1(x);所述编码矩阵的表达式为:
处理单元,用于分别对所述多项式求解单元内的前(d-k+1)列数据多项式和r列冗余多项式处理求得相应的多项式,其中,所述的前(d-k+1)列数据的多项式为a'i,j(x),所述的k列数据的多项式为
替换单元,用于按照预设公式对所述处理单元内的数据项前(d-k+1)列做替换,求出原始的变更数据项,其中,所述的预设公式为:
变换单元,用于根据所述替换单元内的变更数据项,对所述处理单元内的冗余项进行变换操作,其中,所述冗余项的变换矩阵为:
获取单元,用于根据所述替换单元和所述变换单元数据获取修复访问的最优解第i列数据(获取单元是在第二次变换的基础上获取元素,需从每个d修复列下载一个多项式来修复),其中,
当i=0,1,...,k-1,第i列中的d-k+1多项式是
ai,j(x),L=0,1,...,d-k+1;
当i=k,k+1,...,k+r-1,第i列中的d-k+1多项式是
6.二进制MDS阵列码的奇偶校验列最优修复访问变换方法,其特征在于,所述流程2变换方法包括步骤:
A1:给定(P-1)×(K+2)的二进制MDS阵列码,其中,p是满足p≥max{k,r}的素数;
A2:使用预设表达式对所述二进制MDS阵列码进行表述;
A3:将所述阵列码的数据分为K区数据项和2区冗余项,求出所述阵列码的数据多项式、冗余多项式以及编码矩阵;
A4:定义新变换编码运算符号;
A5:按照预设编码公式对奇偶校验k列、k+1列进行数据处理求得变换的奇偶校验列;
A6:获取原有修复访问的第f列数据,最优修复访问的第j列数据。
7.根据权利要求6所述的最优修复访问变换方法,其特征在于,在步骤A2及A3中,所述(P-1)*(K+r)阵列码使用ai,j,bi,j表示,第j列表达式为:aj(x)=a0,j+a1,j+...+ap-2,jxp-2,bj(x)=b0,j+b1,j+...+bp-2,jxp-2,其中,i=0,1,...,p-2;j=0,1,...,k+1,且i,j均为正整数。
所述阵列码的信息位存储在k个列中,而奇偶校验位存储于r列中,所述数据多项式的表达式为:a0(x),...,ak-1(x),b0(x),...,bk-1(x);所述冗余多项式的表达式为:ak(x),ak+1(x),bk(x),bk+1(x);奇偶多项式是由数据多项式乘以编码矩阵所得,可由下计算出:
8.根据权利要求6所述的最优修复访问变换方法,其特征在于,在步骤A4、A5中,所述定义新变换编码运算符号如下:
a0 *=[a1,0,a0,0,a3,0,a2,0,...,ap-2,0,ap-3,0]T
两个列向量求和定义:
所述的变换奇偶检验k列及k+1列处理方法为:奇偶校验k列存储2(p-1)奇偶位:
bk+1=[b0,k+1,b1,k+1,...,bp-2,k+1]T
奇偶k+1校验列存储2(p-1)奇偶位:
ak+1=[a0,k+1,a1,k+1,...,ap-2,k+1]T
9.根据权利要求6所述的最优修复访问变换方法,其特征在于,在步骤A6中,所述获取原有修复访问的第f列数据,最优修复访问的第j列数据由下式获取相应下载项恢复:
10.二进制MDS阵列码的奇偶校验列最优修复访问变换方法,其特征在于,所述装置包括:
MDS阵列码填充单元,用于给定(P-1)×(K+r)的二进制MDS阵列码,其中,p是满足p≥max{k,r}的素数;
表述单元,用于使用预设表达式对所述MDS阵列码填充单元内的所述二进制MDS阵列码进行表述,其中,所述(P-1)*(K+r)阵列码使用ai,j,bi,j表示,第j列表达式为:
aj(x)=a0,j+a1,j+...+ap-2,jxp-2,bj(x)=b0,j+b1,j+...+bp-2,jxp-2,,其中,i=0,1,...,p-2;j=0,1,...,k+1,且i,j均为正整数。
字块单元,用于将所述表述单元内的所述阵列码的数据分为K区数据项和r区冗余项,且所述阵列码的信息位存储在K个列中,而奇偶校验位存储于r列中;
多项式求解单元,用于根据所述行字块单元内数据求出所述阵列码的数据多项式、冗余多项式及编码矩阵,其中,所述数据多项式的表达式为:a0(x),...,ak-1(x),b0(x),...,bk-1(x);所述冗余多项式的表达式为:ak(x),ak+1(x),bk(x),bk+1(x);所述编码矩阵的表达式为:
编码单元,预设置有编码运算公式;
处理单元,调用所述编码单元内预设置的相应的编码运算公式,对所述多项式求解单元内的预设列数据多项式处理求得相应的多项式;
恢复单元,用于根据所述奇偶校验变换获取修复访问的最优解第j列数据以及原有修复访问的优解第f列数据由下式获取相应下载项恢复:
CN201910707015.4A 2019-08-01 2019-08-01 二进制mds阵列码的最优修复访问变换方法及装置 Pending CN110289864A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910707015.4A CN110289864A (zh) 2019-08-01 2019-08-01 二进制mds阵列码的最优修复访问变换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910707015.4A CN110289864A (zh) 2019-08-01 2019-08-01 二进制mds阵列码的最优修复访问变换方法及装置

Publications (1)

Publication Number Publication Date
CN110289864A true CN110289864A (zh) 2019-09-27

Family

ID=68024679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910707015.4A Pending CN110289864A (zh) 2019-08-01 2019-08-01 二进制mds阵列码的最优修复访问变换方法及装置

Country Status (1)

Country Link
CN (1) CN110289864A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641531A (zh) * 2021-07-27 2021-11-12 东莞理工学院 Star码的编码方法及其解码方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1992583A (zh) * 2005-12-29 2007-07-04 朗迅科技公司 用于使用二进制奇偶校验来重建丢失分组的方法
US20120278689A1 (en) * 2011-03-15 2012-11-01 California Institute Of Technology Mds array codes with optimal building
CN103053116A (zh) * 2011-06-28 2013-04-17 华为技术有限公司 低密度奇偶校验码的编码方法和装置
US20160274972A1 (en) * 2015-01-20 2016-09-22 Peking University Shenzhen Graduate School Mds erasure code capable of repairing multiple node failures
WO2017041232A1 (zh) * 2015-09-08 2017-03-16 广东超算数据安全技术有限公司 一种二进制循环码的编解码框架
CN107086870A (zh) * 2017-03-16 2017-08-22 东莞理工学院 修复多节点失效的mds阵列码编码以及解码方法
CN107395207A (zh) * 2017-07-12 2017-11-24 东莞理工学院 多容错性的mds 阵列码编码以及修复方法
CN109062725A (zh) * 2018-08-09 2018-12-21 东莞理工学院 一种二进制mds阵列编码的编码框架方法
CN109257050A (zh) * 2018-08-09 2019-01-22 东莞理工学院 一种修复二进制码生成矩阵构造方法及修复方法
CN109496298A (zh) * 2018-06-01 2019-03-19 东莞理工学院 一种evenodd码的构造方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1992583A (zh) * 2005-12-29 2007-07-04 朗迅科技公司 用于使用二进制奇偶校验来重建丢失分组的方法
US20120278689A1 (en) * 2011-03-15 2012-11-01 California Institute Of Technology Mds array codes with optimal building
CN103053116A (zh) * 2011-06-28 2013-04-17 华为技术有限公司 低密度奇偶校验码的编码方法和装置
US20160274972A1 (en) * 2015-01-20 2016-09-22 Peking University Shenzhen Graduate School Mds erasure code capable of repairing multiple node failures
WO2017041232A1 (zh) * 2015-09-08 2017-03-16 广东超算数据安全技术有限公司 一种二进制循环码的编解码框架
CN107086870A (zh) * 2017-03-16 2017-08-22 东莞理工学院 修复多节点失效的mds阵列码编码以及解码方法
CN107395207A (zh) * 2017-07-12 2017-11-24 东莞理工学院 多容错性的mds 阵列码编码以及修复方法
CN109496298A (zh) * 2018-06-01 2019-03-19 东莞理工学院 一种evenodd码的构造方法
CN109062725A (zh) * 2018-08-09 2018-12-21 东莞理工学院 一种二进制mds阵列编码的编码框架方法
CN109257050A (zh) * 2018-08-09 2019-01-22 东莞理工学院 一种修复二进制码生成矩阵构造方法及修复方法

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
HANXU HOU ET AL.: "On the MDS Condition of BlaumBruckVardy Codes With Large Number Parity Columns", 《IEEE COMMUNICATIONS LETTERS》 *
HANXU HOU ET AL.: "On the MDS Condition of BlaumBruckVardy Codes With Large Number Parity Columns", 《IEEE COMMUNICATIONS LETTERS》, vol. 20, no. 4, 30 April 2016 (2016-04-30), pages 644 - 647, XP011605755, DOI: 10.1109/LCOMM.2016.2530721 *
SHANGYAO HUANG ET AL.: "An Improved MDS Condition of Blaum-Bruck-Vardy Codes", 《2018 IEEE 10TH INTERNATIONAL SYMPOSIUM ON TURBO CODES & ITERATIVE INFORMATION PROCESSING (ISTC)》 *
SHANGYAO HUANG ET AL.: "An Improved MDS Condition of Blaum-Bruck-Vardy Codes", 《2018 IEEE 10TH INTERNATIONAL SYMPOSIUM ON TURBO CODES & ITERATIVE INFORMATION PROCESSING (ISTC)》, 24 January 2019 (2019-01-24), pages 1 - 5 *
侯韩旭等: "二元再生码在分布式存储系统的应用", 《计算机研究与发展》 *
侯韩旭等: "二元再生码在分布式存储系统的应用", 《计算机研究与发展》, 31 December 2013 (2013-12-31), pages 45 - 53 *
李挥等: "云灾备的数据修复技术", 《中兴通讯技术》 *
李挥等: "云灾备的数据修复技术", 《中兴通讯技术》, vol. 18, no. 6, 31 December 2012 (2012-12-31), pages 1 - 4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641531A (zh) * 2021-07-27 2021-11-12 东莞理工学院 Star码的编码方法及其解码方法

Similar Documents

Publication Publication Date Title
Hou et al. Rack-aware regenerating codes for data centers
Silberstein et al. Optimal locally repairable codes via rank-metric codes
CN101978349B (zh) 多电平系统中的逐位操作和设备
CN105721611B (zh) 一种由极大距离可分存储码生成最小存储再生码的方法
CN103336785B (zh) 一种基于网络编码的分布式存储方法及其装置
CN107395207B (zh) 多容错性的mds阵列码编码以及修复方法
US20210271557A1 (en) Data encoding, decoding and recovering method for a distributed storage system
CN105356968B (zh) 基于循环置换矩阵的网络编码的方法及系统
CN109643258A (zh) 使用高速率最小存储再生擦除代码的多节点修复
CN105356892B (zh) 网络编码的方法及系统
CN106790408B (zh) 一种用于分布式存储系统节点修复的编码方法
WO2018072294A1 (zh) 一种校验矩阵的构造方法及水平阵列纠删码的构造方法
CN106788891A (zh) 一种适用于分布式存储的最优局部修复码构造方法
CN101572125A (zh) 错误更正电路及其方法
CN114090345A (zh) 一种磁盘阵列数据恢复方法、系统、存储介质及设备
CN109358980A (zh) 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN110289864A (zh) 二进制mds阵列码的最优修复访问变换方法及装置
CN114115729B (zh) 一种raid下的高效数据迁移方法
CN110518919B (zh) 低密度奇偶校验码的分层译码方法和系统
CN110781024B (zh) 对称部分重复码的矩阵构造方法及故障节点修复方法
CN108628697B (zh) 一种基于二进制的节点修复方法及系统
Hou et al. Toward optimality in both repair and update via generic MDS code transformation
Han et al. Coset partitioning construction of systematic permutation codes under the chebyshev metric
CN109947587A (zh) 非均匀故障保护的分组修复码构造方法及故障修复方法
Shahabinejad et al. An erasure code with reduced average locality for distributed storage systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20240319

AD01 Patent right deemed abandoned