一种局部性不相等码的构造方法与流程

文档序号:12489767阅读:227来源:国知局

本发明属于数据编码存储领域,尤其涉及一种局部性不相等码的构造方法。



背景技术:

近几年,随着便携式互联网设备与移动互联网的快速发展,人们对存储的需求日益增长。分布式存储作为海量存储的主要解决方案正悄然兴起,它将数据分散存储在多台独立的设备中。为了节约成本,节点通常采用普通的交换设备和廉价的服务器,因此在替换节点、硬件出现故障、软件需要升级的情况下,存储系统中的节点非常容易失效,从而造成存储节点中数据的丢失。为保证数据可靠性,系统会频繁的进行节点修复,因此,如何有效地进行节点修复就成为了亟待解决的问题。现下,修复节点采用的系列方案如复制策略、再生码、纠删码等,会造成存储空间的浪费,占用大量的修复带宽,需要较大的修复局部性(即在数据节点修复过程中需要连接的其他节点数量多)。

局部修复码LRCs是指将一个码的所有信息符号分成多个分组,且每个分组分别产生一个奇偶校验位。当某个分组中的一个信息符号丢失或损坏时,只需要利用本组中的其他信息符号和本组的奇偶校验位就可以恢复出这个丢失或损坏的数据,而不需要通过所有的编码符号来恢复。由此可见,局部修复码LRCs可以减小修复局部性,从而减少修复过程中的I/O操作,同时可以保持一个较低的修复带宽。

对于一个局部修复码LRCs而言,它的最小距离d越大,数据节点修复过程中需要连接的节点数就越少,所需修复带宽也就越小。而在现有的局部修复码构造方法中,很少能够使局部修复码的最小距离达到上界。



技术实现要素:

本发明针对现有的局部修复码LRCs构造方法修复局部性较大的不足,提出了新的局部性不相等码的构造方法。基于局部修复码信息符号局部性不相等和全符号局部性不相等两种情况,构造出新的局部性不相等码。

使得局部性不相等码的修复局部性最小,本发明所述技术方案:

一种局部性不相等码的构造方法,包括两种优选实施方式:

第一优选实施方式:其特征信息符号局部性不相等,构造信息符号局部性不相等码,对最大距离可分MDS码的奇偶校验位矩阵进行分离,对分离所得的任意一个子集进一步分离,得到编码符号长度n的信息符号局部性不相等码生成矩阵,该矩阵生成的码字即为最小距离d达到上界的信息符号局部性不相等码;

第二优选实施方式:其特征全符号局部性不相等,包括信息符号和奇偶校验符号,采用Gabidulin码进行编码,再将编码结果利用最大距离可分MDS码再一次进行编码,得到达到最小距离上界的(n,k,d)全符号局部性不相等码,码字长度n,该矩阵生成的码字即为最小距离d达到上界的信息符号局部性不相等码。

进一步根据所述局部性不相等码的构造方法,包括:

Fq表示q元域;

中F表示域,qm表示q元的m次扩展,其中域内多项式的最高次数为k-1;

一个长度为n的编码中含有k个信息符号,其中某个符号i可以通过码中的其他ri个符号恢复出来,那么i的局部性为ri,若一个码所包含的k个信息符号中的每个信息符号的局部性最大为r,则所述码的局部性为r;

系统码n表示编码长度,k表示信息符号长度,d表示最小距离,若信息符号可以被分为不相交的子集,不同子集的信息符号具有不同的局部性,即码为信息符号局部性不相等码。

所述系统码其信息符号局部性轮廓为kj为局部性为j(1≤j≤r)的信息符号的个数;

所述全符号局部性不相等码是信息符号局部性不相等码的进一步扩展,编码符号,包括信息符号和奇偶校验符号,可以被分为不相交的子集,不同子集的编码符号具有不同的局部性,表示奇偶校验符号也具有局部性约束的码;

所述系统码若奇偶校验符号也具有局部性约束时,类似于信息符号局部性轮廓,定义全符号局部性轮廓,ri表示码中第i个符号的局部性,1≤i≤n,令ra=max(r1,r2,…,rn),那么它的全符号局部性轮廓表示为nj是局部性为j(1≤j≤ra)的信息符号的数量;

若Xn为有限域GF(q)上的n维向量空间,q为素数或素数幂,Xn中的元素向量x在GF(q)上的秩为R(x),Xn的两个元素x、y之间的秩距离dR(X,Y)定义为dR(x,y)=R(x-y);码c的所有不同两个码字的秩距离的最小值为码c的最小秩距离,记作dR(c);码长为N,信息符号数为K,最小秩距离为D的线性码称作秩距离(N,K,D)码;

所述上的一个Gabidulin码记为(N,K,N-K+1)码,其中N为编码符号个数,K为信息符号个数,N-K+1为码字最小距离。为其中的一个码字,定义为f(x)是m*q阶有限域内的一个系数为信息符号的线性多项式,即有限域内的元素个数为m*q,g1,…,gN是上的特定的点;

所述Gabidulin码属于秩距离码;

若(N,N-Y,Y+1)码,码长为N,冗余度为Y,最小距离为Y+1的线性码,为最大距离可分MDS码;所述最大距离可分MDS码,若N-Y个信息符号位经过编码之后扩展为N个信息符号位,当N-Y个信息符号位中的任一符号位丢失或损坏时,利用现有的N-1个符号位中的K个符号位即可恢复出丢失或损坏的信息符号位;

若先采用Gabidulin码进行编码,再采用最大距离可分MDS码进行编码,最后得到的编码结果就可以达到Singleton上界,即达到了码字最小距离的上界;

所述Singleton上界为码字的一个度量,是当码字长度及最小距离给定时码字个数的一个上界;Aq(n,d)为q元码码字个数可能达到的最大值,即Aq(n,d)≤qn-d+1,其中q表示码字是一个q元码;若一个码字达到Singleton上界时,所述码字的最小距离可达到最大值;若域上的(N,K,D)秩距离码其编码符号个数为N,信息符号个数为K,最小秩距离为D,其Singleton上界可以转化为与码字最小距离相关的表示,即:

进一步根据所述局部性不相等码的构造方法,第一优选实施方式中信息符号局部性不相等时;

码其中k+d-1表示编码长度,d-1表示奇偶校验位长度,d表示最小距离,若奇偶检验位长度仅比最小距离少一位,满足最大距离可分MDS码的构造条件,最大距离可分MDS的生成矩阵是由单位矩阵与奇偶校验位矩阵构造而成,其中单位矩阵的列数与码的信息符号长度相同;

码的生成矩阵可以表示为其中是k*k的单位矩阵的第j列向量,是k*(d-1)的奇偶校验位矩阵中的第j列向量,即:

每一个信息符号的局部性对G′中的划分子集,记jp代表坐标点在奇偶校验位矩阵第j列中局部性为p(l≤p≤m,m≤r),将中所有局部性为p的坐标放到同一个子集sp,则被分为m个不相交的子集s1,…,sm,|sp|表示集合sp中元素的个数,表示jp的个数;

将sp任意划分为个不相交的子集,每个子集的大小不能超过局部性p,即

为k维的向量,集合S包含于这个k维的向量,表示集合S中的元素取自中的任意|S|行;

最终得到的码字生成矩阵为G:

所述分解向量仅以此为例,但不局限于此例;

若原始信息码字为得到编码码字为得到的码字长度n:

最小距离d的上界:

则构造出最小距离d达到上界的信息符号局部性不相等码。

进一步根据所述局部性不相等码的构造方法,第二优选实施方式中全符号局部性不相等时,包括信息符号和奇偶校验符号;

向量属于域,长度为k,的全符号局部性轮廓为即局部性为j的符号个数有nj个,1≤j≤ra;求得每个局部性j所对应的nj,由式进一步求得N,即得到Gabidulin码的码字长度N;

根据码字长度N,信息符号长度k以及最小距离N-k+1对进行Gabidulin编码,得到码字

码字中的符号根据每个符号的局部性划分成ra个不相交组即每个组中的元素局部性为j,每一个组中符号个数为Nj

若Nj=0,则组则不再划分此类组;

若Nj>0,即组则进一步将Nj对应的组中的符号任意划分成Nj/j个不相交的局部性分组,每组中的符号数为j,则

对于每一个包含j个符号的局部性分组利用Fq上的(j+1,j,2)最大距离可分MDS码再次进行编码,使每个分组的符号个数由j变为j+1;

得到达到最小距离上界的(n,k,d)全符号局部性不相等码,码字长度n:

最小距离d的上界:

则构造出最小距离d达到上界的全符号局部性不相等码。

本发明与现有技术相比,具有如下优点:

(1)本发明采用的局部性不相等码构造方法,使码字的修复局部性达到一个最小值,从而减少I\O操作,减少修复带宽。

(2)由于局部性不相等码对不相等的局部性进行了划分,形成一个局部性轮廓,给定对码字多次划分子集的依据,使得最小距离d达到上界。

附图说明

图1为局部性不相等码的两种优选方式。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,首先对本发明所述方法涉及的一些定义及参数,进行如下解释:

Fq:表示q元域。

F表示域,qm表示q元的m次扩展,其中域内多项式的最高次数为k-1。

局部性:设一个长度为n的编码中含有k个信息符号,其中某个符号i可以通过码中的其他ri个符号恢复出来,那么i的局部性为ri。如果一个码所包含的k个信息符号中的每个信息符号的局部性最大为r,说时此码的局部性为r。

信息符号局部性不相等码:对于一个系统码n表示编码长度,k表示信息符号长度,d表示最小距离。如果信息符号可以被分为不相交的子集,不同子集的信息符号具有不同的局部性,称这种码为信息符号局部性不相等码。

信息符号局部性轮廓:对于一个系统码它的信息符号局部性轮廓表示为kj表示局部性为j(1≤j≤r)的信息符号的个数。

全符号局部性不相等码:全符号局部性不相等码是信息符号局部性不相等码的进一步扩展,用来表示奇偶校验符号也具有局部性约束的码。对于一个系统码,如果它的编码符号(包括信息符号和奇偶校验符号)可以被分为不相交的子集,不同子集的编码符号具有不同的局部性,称这种码为全符号局部性不相等码。

全符号局部性轮廓:当奇偶校验符号也具有局部性约束时,类似于信息符号局部性轮廓,可以定义一个全符号局部性轮廓。首先对于一个系统码ri表示码中第i个符号的局部性,1≤i≤n,然后令ra=max(r1,r2,…,rn),那么它的全符号局部性轮廓表示为nj是局部性为j(1≤j≤ra)的信息符号的数量。

秩距离:令Xn表示有限域GF(q)上的n维向量空间,这里q为素数或素数幂。Xn中的元素向量x在GF(q)上的秩为R(x)。Xn的两个元素x、y之间的秩距离dR(X,Y)定义为dR(x,y)=R(x-y)。码c的所有不同两个码字的秩距离的最小值为码c的最小秩距离,记作dR(c)。码长为N,信息符号数为K,最小秩距离为D的线性码称作秩距离(N,K,D)码。

Gabidulin码:上的一个Gabidulin码记为(N,K,N-K+1)码,其中N为编码符号个数,K为信息符号个数,N-K+1为码字最小距离。为其中的一个码字,定义为f(x)是m*q阶有限域(即有限域内的元素个数为m*q)内的一个系数为信息符号的线性多项式,g1,…,gN是上的特定的点。Gabidulin码属于秩距离码。

MDS码:一个形如(N,N-Y,Y+1)码称为最大距离可分MDS码,它是码长为N,冗余度为Y,最小距离为Y+1的线性码。其具有这样的属性:若N-Y个信息符号位经过编码之后扩展为N个信息符号位,当N-Y个信息符号位中的任一符号位丢失或损坏时,只需利用现有的N-1个符号位中的K个符号位即可恢复出丢失或损坏的信息符号位。

如果先采用Gabidulin码进行编码,再采用最大距离可分MDS码进行编码,最后得到的编码结果就可以达到Singleton上界,也就达到了码字最小距离的上界。

Singleton上界:Singleton上界是码字的一个度量,它是当码字长度及最小距离给定时码字个数的一个上界。Singleton上界给出了码字的长度和最小距离之间的关系,Aq(n,d)表示q元码码字个数可能达到的最大值,即Aq(n,d)≤qn-d+1,其中q表示码字是一个q元码。当一个码达到Singleton上界时,这个码字的最小距离可达到最大值。一个域上的(N,K,D)秩距离码其编码符号个数为N,信息符号个数为K,最小秩距离为D。此类码,其Singleton上界可以转化为与码字最小距离相关的表示,即

为使本发明的目的、技术方案及优点更加清楚明白,下面结合附图具体描述本发明所述的局部性不相等码的构造方法,如图1所示,本发明所述方法优选的包括第一优选实施方式和第二优选实施方式。

第一优选实施方式:

第一优选实施方式适用于信息符号局部性不相等的情况,为了构造出信息符号局部性不相等码,首先对最大距离可分MDS码的奇偶校验位矩阵进行分离,然后对分离所得的任意一个子集进一步分离,进而得到编码符号长度为的信息符号局部性不相等码生成矩阵,该矩阵生成的码字即为最小距离d达到上界的信息符号局部性不相等码。

给定一个码其中k+d-1表示编码长度,d-1表示奇偶校验位长度,d表示最小距离,当奇偶检验位长度仅比最小距离少一位时,满足最大距离可分MDS码的构造条件,最大距离可分MDS的生成矩阵是由单位矩阵与奇偶校验位矩阵构造而成,其中单位矩阵的列数与码的信息符号长度相同,所以码的生成矩阵可以表示为其中是k*k的单位矩阵的第j列向量,是k*(d-1)的奇偶校验位矩阵中的第j列向量。即

根据每一个信息符号的局部性对G′中的划分子集,记jp代表坐标点在奇偶校验位矩阵第j列中局部性为p(1≤p≤m,m≤r)。具体地,将中所有局部性为p的坐标放到同一个子集sp,则|sp|表示集合sp中元素的个数,表示jp的个数。被分为m个不相交的子集s1,…,sm

将sp任意划分为个不相交的子集,每个子集的大小不能超过局部性p,即在这里,定义在一个k维的向量中,集合S包含于这个k维的向量,表示集合S中的元素取自中的任意|S|行。以分解向量为例,仅以此为例,但不局限于此例,最终得到的码字生成矩阵为G:

如果原始信息码字为那么得到编码码字为得到的码字长度n:

最小距离d的上界为:

则构造出最小距离d达到上界的信息符号局部性不相等码。

第二优选实施方式:

第二优选实施方式适用于全符号局部性不相等的情况,包括信息符号和奇偶校验符号,先采用Gabidulin码进行编码,然后将编码结果利用最大距离可分MDS码再一次进行编码。

选取一个属于域的向量长度为k,的全符号局部性轮廓为即局部性为j的符号个数有nj个,1≤j≤ra。令从而求得每个局部性j所对应的nj,再由式进一步求得N,即得到Gabidulin码的码字长度N。然后依据码字长度N,信息符号长度k以及最小距离N-k+1对进行Gabidulin编码,得到码字

将码字中的符号根据每个符号的局部性划分成ra个不相交组即每个组中的元素局部性为j,每一个组中符号个数为Nj。若Nj=0,则组则不再划分此类组;若Nj>0,即组则进一步将Nj对应的组中的符号任意划分成Nj/j个不相交的局部性分组,每组中的符号数为j,则

对于每一个包含j个符号的局部性分组利用Eq上的(j+1,j,2)最大距离可分MDS码再次进行编码,使每个分组的符号个数由j变为j+1。由此得到达到最小距离上界的(n,k,d)全符号局部性不相等码,码字长度:

最小距离d的上界:

则构造出最小距离d达到上界的全符号局部性不相等码。

上述实施例仅仅是为清楚地说明本发明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举,而由此所引申出的显而易见的变化或变动仍处于本发明的保护范围之中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1