掌桥专利:专业的专利平台
掌桥专利
首页

一种确定八元域最小距离为3的最优局部修复码参数的方法

文献发布时间:2023-06-19 18:30:43


一种确定八元域最小距离为3的最优局部修复码参数的方法

技术领域

本发明涉及局部修复码技术领域,更具体地,涉及一种确定八元域最小距离为3的最优局部修复码参数的方法。

背景技术

近年来,随着社会的急速发展,各行业和领域的数据量爆炸式增长。传统的集中式存储已经不能满足如今数据存储的需求,为改变现状诞生了分布式存储和云存储系统。

局部修复码(Locally Repairable Code,LRC)通过限制数据修复时所需要的节点数目,即将数据修复尽可能局限在较小的节点集合内,来大大的降低数据传输和I\O操作数。实际上LRC引入了额外存储消耗去达到局部修复的效果,理论上没有达到存储新效率的最优,但是由于其简易性,不少的分布式系统和云存储系统开始使用LRC。LRC根据局部性的不同有两种分类,一种是具有信息符号局部性局部修复码,一种是具有全符号局部性局部修复码。optimal-LRC就是具有全符号局部性的局部校验码。

MDS码有两种类型,一种是码长可以达到无限长的平凡MDS(trivial MDS码),其形式为[n,n-1,2](n≥2),[n,1,n](n≥3)。另一种是码长跟维度受到有限域大小的限制。称为非平凡MDS码(non-trivial MDS code)。若F

H为线性码C的奇偶校验矩阵,具有如下形式:

H

具有以上形式的校验矩阵的线性码C具有局部性r,称为局部修复码C。若局部性r的线性码C满足

现有技术公开了一种修复二进制阵列码校验矩阵的构造方法及修复方法,该方法在构造码为C2(k,r,d,p),构造矩阵,再生码的产品矩阵结构仍在商环下工作,计算复杂度较低,以更大的容错度来达到最有的修复带宽。该方案的缺陷是,没有针对多元域的研究。

目前现有的研究利用奇偶校验矩阵的方法,得到二元域、三元域、四元域的可能存在的所有最优局部修复码参数类型。二元域内的局部修复码共有5种类型,三元域内的局部修复码共有8种类型,四元域内的局部修复码共有27种参数类型。

这些研究都在一个较小的域上进行,其域内元素较少,运算较为简单。二元域内只有0、1两个元素,最小汉明距离上界受到局限。三元域是奇数域,域内元素的运算不能进行异或运算,计算较为复杂,所以在实际应用较少。四元域是研究较多的多元域,但四元域是二元域的平方域,虽然元素增加,但很多性质与奇数域相同,其他多元域的性质不能很好的体现。

八元域作为二元域的扩展域,域内能够使用异或运算,并且八元域是2的三次方域,是最小的非平方域,具有代表性意义,再加之八元域的元素达到8个,能够拥有更大的最小距离和更多的参数类型,满足应用需求。由此研究八元域中的单节点故障修复局部修复码更有利于后续针对多元域的研究。

为此,结合以上需求和现有技术缺陷,本申请提出了一种确定八元域最小距离为3的最优局部修复码参数的方法。

发明内容

本发明提供了一种确定八元域最小距离为3的最优局部修复码参数的方法,基于MDS码与Optimal LRC码的内在联系,能够通过确定MDS码的校验矩阵的权重分布,推算出原optimal LRC的权重分布,从而得到所需要的optimal LRC的所有码字参数。

本发明的首要目的是为解决上述技术问题,本发明的技术方案如下:

本发明第一方面提供了一种确定八元域最小距离为3的最优局部修复码参数的方法,本方法包括以下步骤:

S1、确定八元域上最小汉明距离d为3的所有MDS码。

S2、求出所有八元域上最小汉明距离d为3的MDS码的对偶码的权重分布。

S3、根据MDS码和optimal LRC码的关系,使用矩阵分析得到optimal LRC码的权重分布,并确定optimal LRC码的所有码字参数。

S4、根据步骤S3得到的所有码字参数进行逐一比对分析,得到optimal LRC码的最优局部修复码参数。

进一步的,所述optimal LRC码为具有全符号局部性的局部修复码;所述MDS码在满足设定条件时能够作为optimal LRC码的子码,能够通过确定MDS码的校验矩阵的权重分布,推算出optimal LRC的权重分布,得到所需要的optimal LRC的所有码字参数。

其中,所述MDS码的最小汉明距离与所述optimal LRC码的最小汉明距离相同;所述MDS码包括有:平凡MDS码和非平凡MDS码;其中平凡MDS码的形式为[n,n-1,2](n≥2),[n,1,n](n≥3),非平凡MDS码的形式为[n,k,d],其中2≤k≤min{n-2,q-1},n≤q+k-1≤2q-2。

其中,纠错编码映射的值域C为q元纠错码,n为该码的码长。称

进一步的,所述设定条件具体为:若r=k或是r=1,则Optimal LRC码是满足

其中,r表示局部校验位;k为数据块,当要传输一段原始数据,将其直接分组为k组,这就是数据块k;n为码字的总长度。传输数据的过程中,信道存在噪声,会造成数据的丢失,因此需要加入冗余,而所谓的冗余就是按照一定的规则,将k组数据进行编码生成m个其他数据块,称为全局校验块。得到k+m个数据块,我们再将这些数据块进行分组,一共分成o组,每组含有r个数据块。每组内的数据块再进行编码,生成一个其他数据数据块,一共生成o个其他数据块,叫做局部校验块。任意一个数据丢失,都可以通过下载最多r个其他数据进行修复。N是一个码字总的长度,数值上等于k+m+o。

其中,当r=k或是r=1时,Optimal LRC码与MDS码等价;其中MDS码是满足d≤n-k+1的线性码,Optimal LRC是满足

进一步的,所述通过进行矩阵变换,得到一个MDS码的奇偶校验矩阵H

其中,A矩阵的大小为

进一步的,所述八元域上最小的汉明距离d为3的所有MDS码包括7个MDS码,具体为:[3,1,3]、[4,2,3]、[5,3,3]、[6,4,3]、[7,5,3]、[8,6,3]、[9,7,3]。

进一步的,求出步骤S2中所述MDS码和对偶码的权重分布的计算过程具体为:

其中,C是有限域F

其中,optimal-LRC就是具有全符号局部性的局部校验码,记为(n,k,r)-LRC;将k+w个数据块分成m组,每组(k+w)/m个数据块,然后每组将自己所有的(k+w)/m个数据块再编码生成一个新的校验块。

其中,F

进一步的,步骤S3中所述通过矩阵分析得到optimal LRC码的权重分布,并确定optimal LRC码的所有码字参数具体为:设optimal LRC的参数为(n,k,r),所述MDS码C

S31、由于optimal LRC码的汉明距离

S32、当r≥2的时候,若r可以被k整除,记为r|k,则n=s(r+1)+1,

S33、确定t的取值,分情况讨论s,分别讨论s=1和s≥2的情况。

进一步的,步骤S33中所述s=1的情况,具体为:

s=1

n=r+t+3

k=sr+t

其中,根据几何射影理论,线性码C校验矩阵中的一列可以看成

进一步的,步骤S33中所述s≥2的情况,具体为:当s≥2,局部行的数目至少为3,根据t的取值进行逐步分析。

由此可以通过确定MDS码的校验矩阵的权重分布,从而推算出原optimal LRC的权重分布,从而得到所需要的optimal LRC的所有码字参数。

与现有技术相比,本发明技术方案的有益效果是:

本发明提供了一种确定八元域最小距离为3的最优局部修复码参数的方法,利用MDS码和optimal LRC的关系,通过确定MDS码的校验矩阵的权重分布,从而推算出原optimal LRC的权重分布,从而得到所需要的optimal LRC的所有码字参数。省去复杂的推理运算,计算简单,操作性强,并且这一性质不受有限域大小的限制,移植性强,可以在其他多元域中使用。

附图说明

图1为本发明一种确定八元域最小距离为3的最优局部修复码参数的方法的流程图。

图2为本发明一种实施例中d=3上可能存在的optimal LRC的参数类型的示意图。

图3为本发明一种实施例中所有八元域上d=3的MDS码的对偶码的权重分布的示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

实施例1

分布式存储系统(Distributed Storage System,DSS),又称分布式文件系统(Distributed File System,DFS)把大量的存储数据节点机器通过网络连接在一起,形成节点集群。存储文件可以被分成多个单元,不同单元分别存放在不同的存储节点中。由于网络中节点的规模可以非常大,可以满足文件存储的海量规模。云存储系统(Cloud StorageSystem)为网上在线存储的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。

传统存储系统集中式存储,需要配置极高的服务器,造价高昂。当同时使用的数据量过多,I\O口会超载,无法同时满足多用户的使用需求。而分布式存储系统和云存储系统是分散式就近存储,可以满足海量的存储需求和动态的IO服务需求。存储系统不仅要保证数据传输的效率也需要保证稳定的在线运行,必须提供高可用性的容错机制。为解决这一问题,分布存储系统和云存储系统常采用冗余技术。

传统的冗余技术主要包括多副本、RAID阵列码等,副本,即存储同一份数据的多个相同拷贝;数据副本越多、数据可靠性越高,但存储空间利用率也越低,多副本数据不能核验数据的真实性,不存在纠正性能。RAID,即把多块独立的存储磁盘按特定方式组合起来形成一个磁盘阵列;该技术提高了存储空间的利用率,但是传统磁盘阵列存在着扩展性较差,弹性缺乏、容错数较低等缺陷。因此,副本和RAID较难满足海量存储和动态变化的服务需求。

针对传统数据冗余技术的不足,提出一种更加高效的冗余技术——纠删码。加入纠删码之后的通信模型为:信源、纠错编码、信道、纠错译码、信宿。其中由信源集S(非空)到

与多副本相比,纠删码具有纠错性能,能够确保数据的真实性,另外不同于弹性缺乏、容错数较低的RAID,纠删码可以通过调整参数w和k来改变冗余度和容错数,可以根据存储服务的需要动态变化,自适应地来构建纠删码。

常用的纠删码为Reed-Solomon编码,通常记为(k,w)RS。其具体说来,RS码是任意数据块丢失,都可以通过k个其他数据块进行修复。当某个数据块丢失的时候,RS码需要下载所有的k个数据块进行文件的重建,才能对丢失的数据块进行恢复,这导致数据修复效率极低。为解决这一问题,提出一种新型纠删码,即局部修复码。

局部修复码(Locally Repairable Code,LRC)通过限制数据修复时所需要的节点数目,即将数据修复尽可能局限在较小的节点集合内,来大大的降低数据传输和I\O操作数。实际上LRC引入了额外存储消耗去达到局部修复的效果,理论上没有达到存储新效率的最优,但是由于其简易性,不少的分布式系统和云存储系统开始使用LRC。

LRC根据局部性的不同有两种分类,一种是具有信息符号局部性局部修复码,一种是具有全符号局部性局部修复码。两者都是在参数为(k,w)的Reed-Solomon码的基础上构造的。具有信息符号局部性的局部修复码记为(n,k,r)-LRC,将k个数据块划分成m组,每组k/m个数据块,然后每组将所有的k/m个数据块再编码生成一个新的校验块,称之为该组的局部校验块,一共有r个局部校验块。这种局部修复码以Azure-LRC为典型。具体模型包括有修复组、局部校验块和全局校验块,其中D1~D5是数据块,P0~P2是全局校验块,D0、D1、D2、L0为一个修复组。其中修复组内的任意模块的丢失都可以通过局部修复的方法恢复数据。全局校验块不在任何修复组内,因此全局校验块丢失,不能使用局部修复的方法。

具有全符号局部性局部修复码同样记为(n,k,r)-LRC。其是将所有的k+w个数据块分成m组,每组(k+w)/m个数据块,然后每组将自己所有的(k+w)/m个数据块再编码生成一个新的校验块。具有全符号局部性的LRC虽然增加了校验块,但是可以满足任意数据块丢失,只用下载至多r个其他数据块进行修复。optimal-LRC就是具有全符号局部性的局部校验码。

关于现有的编码技术,域是一个可以在其上进行加法、减法、乘法和除法运算而结果不会超出域范围的集合。如果域内只包含有限元素,则称为有限域。使用

线性码与线性空间有着共通性,

设a=(a

生成矩阵和校验矩阵作为研究线性码的编码和译码性能重要工具,其定义与性质如下:线性矩阵设v

生成矩阵G具有如下性质:码C的任意向量c是生成矩阵G各行矢量的线性组合;G的每一行是一个码字c;生成矩阵G的各行线性无关。

校验矩阵设v=(v

设C是

其中上式是参数为[n,n-k]的q元线性码。称C

设b

线性码C是齐次线性方程组x

上面说的RS码是最大距离可分码(MDS码)的一种类型。这一类码型是指达到Singleton界的码,即最小汉明距离满足d≤n-k+1。

MDS码有两种类型,一种是码长可以达到无限长的平凡MDS(trivial MDS码),其形式为[n,n-1,2](n≥2),[n,1,n](n≥3)。另一种是码长跟维度受到有限域大小的限制。称为非平凡MDS码(non-trivial MDS code)。

若F

码字的权重指码字中的非零元素个数。长度为n的码字的权重分布(权重谱)是每个权重为i的码字数目。MDS码的权重分布,可以由公式得到:

其中A

H为线性码C的奇偶校验矩阵,具有如下形式:

H

具有以上形式的校验矩阵的线性码C具有局部性r,称为局部修复码C。若局部性r的线性码C满足

如图1所示,本发明提供了一种确定八元域最小距离为3的最优局部修复码参数的方法,本方法包括以下步骤:

S1、确定八元域上最小的汉明距离d为3的所有MDS码。

S2、求出所有八元域上最小的汉明距离d为3的MDS码的对偶码的权重分布。

S3、根据MDS码和optimal LRC码的关系,使用矩阵分析得到optimal LRC码的权重分布,并确定optimal LRC码的所有码字参数。

S4、根据步骤S3得到的所有码字参数进行逐一比对分析,得到optimal LRC码的最优局部修复码参数。

进一步的,所述optimal LRC码为具有全符号局部性的局部修复码;所述MDS码在满足设定条件时能够作为optimal LRC码的子码,能够通过确定MDS码的校验矩阵的权重分布,推算出optimal LRC的权重分布,得到所需要的optimal LRC的所有码字参数。

其中,所述MDS码的最小汉明距离与所述optimal LRC码的最小汉明距离相同;所述MDS码包括有:平凡MDS码和非平凡MDS码;其中平凡MDS码的形式为[n,n-1,2](n≥2),[n,1,n](n≥3),非平凡MDS码的形式为[n,k,d],其中2≤k≤min{n-2,q-1},n≤q+k-1≤2q-2。

其中,纠错编码映射的值域C为q元纠错码,n为该码的码长。称

进一步的,所述设定条件具体为:若r=k或是r=1,则Optimal LRC码是满足

其中,r表示局部校验位;k为数据块,当要传输一段原始数据,将其直接分组为k组,这就是数据块k;n为码字的总长度。传输数据的过程中,信道存在噪声,会造成数据的丢失,因此需要加入冗余,而所谓的冗余就是按照一定的规则,将k组数据进行编码生成m个其他数据块,称为全局校验块。得到k+m个数据块,我们再将这些数据块进行分组,一共分成o组,每组含有r个数据块。每组内的数据块再进行编码,生成一个其他数据数据块,一共生成o个其他数据块,叫做局部校验块。任意一个数据丢失,都可以通过下载最多r个其他数据进行修复。N是一个码字总的长度,数值上等于k+m+o。

其中,当r=k或是r=1时,Optimal LRC码与MDS码等价;其中MDS码是满足d≤n-k+1的线性码,Optimal LRC是满足

进一步的,所述通过进行矩阵变换,得到一个MDS码的奇偶校验矩阵H

其中,A矩阵的大小为

进一步的,所述八元域上最小的汉明距离d为3的所有MDS码包括7个MDS码,具体为:[3,1,3]、[4,2,3]、[5,3,3]、[6,4,3]、[7,5,3]、[8,6,3]、[9,7,3]。

进一步的,求出步骤S2中所述MDS码和对偶码的权重分布的计算过程具体为:

其中,C是有限域F

在一个具体的实施例中,所有d=3上可能存在的optimal LRC的参数类型整理如图2所示。

进一步的,步骤S3中所述通过矩阵分析得到optimal LRC码的权重分布,并确定optimal LRC码的所有码字参数具体为:设optimal LRC的参数为(n,k,r),所述MDS码C

S31、由于optimal LRC码的汉明距离

S32、当r≥2的时候,若r可以被k整除,记为r|k,则n=s(r+1)+1,

S33、确定t的取值,分情况讨论s,分别讨论s=1和s≥2的情况。

本发明是基于MDS码与Optimal LRC码的内在联系,当r=k或是r=1时,OptimalLRC码与MDS码等价。MDS码是满足d≤n-k+1的线性码。Optimal LRC是满足

实施例2

基于上述实施例1,结合图2-图3,本实施例详细阐述步骤S3的过程。

进一步的,步骤S33中所述s=1的情况,具体为:

s=1

n=r+t+3

k=sr+t

其中,根据几何射影理论,线性码C校验矩阵中的一列可以看成

进一步的,步骤S33中所述s≥2的情况,具体为:当s≥2,局部行的数目至少为3,根据t的取值进行逐步分析。

在一个具体的实施例中,采用如图2-图3的数据,对s=1的情况进行分析具体如下所示:

在s=1的情况下,有s=1;n=r+t+3;k=sr+t。

根据几何射影理论,线性码C校验矩阵中的一列可以看成

t=6时,n

表1当

t=7时,n

表2当s=1,

当t值取定的时候,l的两个取值都要满足,得到s=1所有码字参数。

实施例3

基于上述实施例1和实施例2,结合图2-图3,本实施例详细阐述步骤S33中s≥2的过程。

在一个具体的实施例中,采用如图2-图3的数据,对s≥2的情况进行分析具体如下所示:该情况下局部行的数目至少为3,根据t的取值而变化的参数具体如表3所示。

表3 s≥2时随t取值而变化的局部性r与维度k与码长n的取值情况

当t=7时,n

当t=6,n

当t=5,n

当r=6时,支持集互不相交,所取到的n

当r=7时,每行局部行的权重值最大为8,则局部行支持集不相交坐标数为8,则n=8l-1,k=7l-2,r=7,l≥3。

当r=8时,n=9l-2,当l=5的时候,n=43,r=8。设任意局部行的支持集有8个不相交坐标,则有40个坐标可以被表示,每行权重最多为9。所有局部行的支持集的并集必须等于[n],必定存在至少一行局部行有超过8个不相交坐标。每行最多只能有8个不相交坐标。在l>5,必然存在至少一行局部行有超过8个不相交坐标,则n=9l-2,k=8l-3,r=8,3≤l≤4。

当r=9时,n=10l-3,当l=4的时候,n=37,r=9。设任意局部行的支持集都有8个不相交坐标,则有32个坐标可以被表示,每行权重最多为10。所有局部行的支持集并集等于[n],必定存在至少一行局部行有超过8个不相交坐标。每行最多只能有8个不相交坐标。在l>4,必然存在至少一行局部行有超过8个不相交坐标,则n=10l-3,k=9l-4,r=9,l=3。

当r≥10时,l≥3,必定存在一行局部行的支持集中不相交坐标数超过8。则不存在optimal LRC。

当t=4,n

当r=5时,局部行的支持集互补相交,所取到的n

当r=6时,每行局部行的权重值最大为7,则局部行支持集的不相交坐标为7,则n=7l-1,k=6l-2,r=6,l≥3。

当r=7时,每行局部行的权重值最大为8,则局部行支持集的不相交坐标数8,则n=8l-2,k=7l-3,r=7,l≥3。

当r=8时,n=9l-3,当l=6的时候,n=51,r=8。设任意局部行支持集不相交坐标数为8,则有48个坐标可以被表示,每行权重最多为9。所有局部行的支持集并集等于[n],必定存在至少一行局部行支持集有超过8个不相交坐标。每行最多有8个不相交坐标。在l>6,必然存在至少一行局部行支持集有超过8个不相交坐标,则n=9l-3,k=8l-4,r=8,3≤l≤5。

当r=9时,n=10l-4。当l=5的时候,n=44,r=9。设任意局部行支持集有8个不相交坐标,有40个坐标可以被表示,每行权重最多为10。而每行只能有8个不相交坐标,局部行支持集的并集等于[n],必定存在至少一行局部行的支持集有超过8个不相交坐标。这种情况在l>5,必然存在,则n=10l-4,k=9l-5,r=9,3≤l≤4。

当r=10时,理由同上,则n=11l-5,k=10l-6,r=10,l=3。当r=11时,则n=12l-6,k=11l-7,r=10,l=3。

当r≥12时,l≥3,必定存在至少一行局部行有超过8个不相交坐标。则不存在optimal LRC。

当t=3,n

当r=4时,局部行支持集互不相交,所取到的n

当r=5时,每行局部行的权重值最大为6,则局部行支持集有6个不相交坐标,则n=6l-1,k=5l-2,r=5,l≥3。

当r=6时,每行局部行的权重值最大为7,则局部行支持集有7个不相交坐标,ln=7l-2,k=6l-3,r=6,l≥3。

当r=7时,每行局部行的权重值最大为8,则局部行支持集有8个不相交坐标,则n=8l-3,k=7l-4,r=7,l≥3。

当r=8时,n=9l-4。当l=7的时候,n=59,r=8。设局部行支持集有8个不相交坐标,则有56个坐标可以被表示,而每行权重最多为9。所有局部行的支持集并集等于[n],必定存在至少一行局部行支持集有超过8个不相交坐标。每行支持集最多有8个不相交坐标。在l>7,必然存在某一局部行的支持集有超过8个不相交坐标,则n=9l-4,k=8l-5,r=8,3≤l≤6。

当r=9时,n=10l-5,当l=6的时候,n=55,r=9。设局部行支持集不相交的坐标数时8,有48个坐标可以被表示,每行最多为10的权重。每行只能有8个不相交坐标,局部行支持集的并集等于[n],必定存在局部行不相交的坐标数超过8。在l>5,必然存在某一局部行的支持集有超过8个不相交坐标,则n=10l-5,k=9l-6,r=9,3≤l≤5。

当r=10时,理由同上,则n=11l-6,k=10l-7,r=10,3≤l≤4。当r=11时,则n=12l-7,k=11l-9,r=10,l=3。当r=12时,则n=13l-8,k=12l-9,r=12,l=3。当r=13时,则n=14l-9,k=13l-10,r=13,l=3。

当r≥12时,l≥3,必定存在局部行支持集相交坐标数超过8个。则不存在optimalLRC。

当t=1,2的情况分析,与t=3的情况一致。

附图中描述结构位置关系的图标仅用于示例性说明,不能理解为对本专利的限制。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

相关技术
  • 一种最优化局部可恢复码修复性能的数据放置方法
  • 一种基于包的最优局部修复码构造方法
技术分类

06120115598684