CN113381772A - 一种基于包的最优局部修复码构造方法 - Google Patents
一种基于包的最优局部修复码构造方法 Download PDFInfo
- Publication number
- CN113381772A CN113381772A CN202110753631.0A CN202110753631A CN113381772A CN 113381772 A CN113381772 A CN 113381772A CN 202110753631 A CN202110753631 A CN 202110753631A CN 113381772 A CN113381772 A CN 113381772A
- Authority
- CN
- China
- Prior art keywords
- packet
- code
- local repair
- optimal local
- repair code
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于包的最优局部修复码构造方法,包括:根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包;其中,所述已知参数为(k,4,1),k表示所述最优局部修复码的信息码元个数,4表示所述最优局部修复码的修复集大小,1表示所述最优局部修复码的校验码元为1个;根据区组得到所述最优局部修复码的生成矩阵;其中,所述区组为所述规则包对应的区组;根据所述生成矩阵得到所述最优局部修复码。本发明提供的方法,构造最优局部修复码的过程简单,根据本发明方法构造的最优局部修复码,每个修复集大小最大能达到4,从而增强了系统的并行修复能力。
Description
技术领域
本发明涉及编码技术领域,尤其是涉及一种基于包的最优布局修复码构造方法。
背景技术
随着互联网、云计算、大数据时代的到来,数据呈现指数增长,如何合理可靠地存储、组织海量数据非常重要。分布式存储系统因其成本低廉、扩展性好被广泛采用,但随着系统节点规模和数据规模的不断扩大,导致了大规模的云存储和分布式文件系统,例如Amazon Elastic Block Store(EBS)和Google File System(GoogleFS)目前已达到了超大规模,以至于磁盘故障成为常态。在这些系统中,为了防止数据出现磁盘故障,最简单的解决方案是直接复制数据包,然后存放到不同的磁盘中。但是,这导致了更大的存储开销。因此,迫切需要一种存储码来替代该方案。
目前,越来越多商用分布式存储系统为了提供更加安全、可靠、高效的存储服务,都开始关注兼具高容错能力和低计算复杂度的纠删码。因此,构造最优局部修复码即最优LRC(locally repairable codes)非常有意义。这种最优局部修复码拥有多个修复集,不仅能很快恢复被擦除的信息码元,提高系统的容错能力并保证系统可靠性,同时还能减少冗余开销。
发明内容
本发明的目的是提供一种基于包的最优局部修复码构造方法,以解决现有技术构造的最优局部修复码的并行修复能力弱的技术问题。
本发明的目的,可以通过如下技术方案实现:
一种基于包的最优局部修复码构造方法,包括:
根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包;其中,所述已知参数为(k,4,1),k表示所述最优局部修复码的信息码元个数,4表示所述最优局部修复码的修复集大小,1表示所述最优局部修复码的校验码元为1个;
根据区组得到所述最优局部修复码的生成矩阵;其中,所述区组为所述规则包对应的区组;
根据所述生成矩阵得到所述最优局部修复码。
可选地,所述规则包为t-规则包;
所述t-规则包为:对于一个二元组(X,B),若X中的每个元素都恰好出现在t个子区组B1中,则所述二元组(X,B)为所述t-规则包;其中,X是包含k个元素的集合,X={0,1,2,...,k-1},区组B是X的子集,B1∈B,t≤|B1|∈R,R为正整数的子集,|B1|为区组B中含有的子区组个数。
可选地,根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包具体包括:
根据最优局部修复码的已知参数得到可分解不完全区组(k,4,1)-RBIBD和可分解可分组4-RGDD,根据所述(k,4,1)-RBIBD和所述4-RGDD分别构造用于生成所述最优局部修复码的所述规则包;
其中,所述(k,4,1)-RBIBD为:对于一个二元组(X,B),若X中不同的元素组成的每一对都恰好出现在B的一个区组中,则一个(k,4,1)-可分解包为可分解不完全区组(k,4,1)-RBIBD;
所述(k,4,1)-可分解包为:假设是一个正整数,对于一个二元组(X,B),若区组B可以分解为个不相交的子区组B,且每个子区组中的元素组合起来刚好是X的集合,则所述二元组(X,B)可表示为(k,4,1)-可分解包;
所述4-RGDD为:假设集合R是正整数的子集,集合R取值为4,且k=a1g1+a2g2+...+asgs,其中ai和gi都是正整数,1≤i≤s;一个类型为的4-GDD是一个三元组(A,g,B),简称4-GDD,其中A表示维数为k的有限集合,即A=Zk={0,1,2,...,k-1},g表示A的一个分区,B表示A的子集的一个集合;它满足以下两个条件:对于每个子区组B∈B,|B|∈R且A的每一对不同的元素最多出现在一个群g或一个区组B中,但不能同时出现。
可选地,根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包具体包括:
构造一个所述已知参数的循环包,根据所述循环包构造一个用于生成所述最优局部修复码的所述规则包;
其中,所述循环包为:初始区组V是Zk={0,1,...,k-1}的t个子集的集合,V={V1,V2,...,Vi,...,Vt},当V满足以下两个条件时为循环包:对于任何1≤i≤t,Vi的大小为r;Δ(V)表示V的差,Δ(V)={vij-vis|1≤i≤t,j≠s,1≤s,j≤k},Δ(V)覆盖每一个对k取模的非零余式最多一次。
可选地,根据所述循环包构造一个用于生成所述最优局部修复码的所述规则包具体包括:
根据所述循环包及其初始区组,通过对每个以k为模的所述初始区组加1来获得一部分所述规则包;
根据所述初始区组加上Zk中所有偶数或所有奇数的集合获得剩余部分所述规则包;
根据一部分所述规则包和剩余部分所述规则包得到所述规则包。
可选地,根据区组得到所述最优局部修复码的生成矩阵具体包括:
根据所述区组及对应关系得到所述最优局部修复码的生成矩阵中对应校验列向量,将所述校验列向量和k维单位向量得到所述生成矩阵;
其中,所述对应关系为所述规则包中的区组与所述最优局部修复码的生成矩阵中校验列向量的对应关系。
可选地,所述最优局部修复码为拥有(4,δ;1)c-局部性的[n,k,d]q线性码;
其中,所述[n,k,d]q线性码为最小汉明距离为d的[n,k]q线性码;
所述[n,k]q线性码为:[n]表示集合{1,2,...,n},一个域为Fq的[n,k]q线性码是域的k维子空间,且域有一个k×n的生成矩阵G=(g1,g2,...,gn),gi是一个k维列向量,1≤i≤n;
对于一个[n,k,d]q线性码,若拥有δ-1个不相交的修复集,且每个修复集的大小最多为4,每个修复集仅含有一个校验码元,则该线性码为拥有(4,δ;1)c-局部性的[n,k,d]q线性码。
可选地,所述最优局部修复码为拥有(4,δ;1)c-局部性的[n,k,d]q线性码具体包括:
本发明提供了一种基于包的最优局部修复码构造方法,包括:根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包;其中,所述已知参数为(k,4,1),k表示所述最优局部修复码的信息码元个数,4表示所述最优局部修复码的修复集大小,1表示所述最优局部修复码的校验码元为1个;根据区组得到所述最优局部修复码的生成矩阵;其中,所述区组为所述规则包对应的区组;根据所述生成矩阵得到所述最优局部修复码。
有鉴于此,本发明带来的有益效果是:
在构造用于生成最优局部修复码的规则包的过程中,已知参数为(k,4,1),实现了最优局部修复码的修复集大小最大能达到4,意味着最优局部修复码的每个修复集中码元数量增多,从而增强了系统的并行修复能力;根据规则包相应的区组得到最优局部修复码的生成矩阵,然后再根据生成矩阵得到最优局部修复码,构造过程简单,涉及的数学理论相对较少,克服了现有技术中构造最优局部修复码时涉及的数学理论过多过难的问题。
附图说明
图1为本发明一种基于包的最优局部修复码构造方法的流程示意图;
图2为本发明一种基于包的最优局部修复码构造方法的构造规则包流程示意图。
具体实施方式
在存储系统中,[n,k]存储码将k个信息码元编码为n个码元,并将它们存储在n个磁盘上。因为引入冗余会导致存储开销,所以提出了纠删码。最大距离可分(MDS)码是一类纠删码,它与多副本技术相比,可以提高冗余技术和可靠性。因此,它在实际系统中是首选的编码技术。然而,[n,k]MDS码在每恢复一个信息码元时,都需要连接k个幸存的码元,这使得它在大规模分布式文件系统中效率极低。但局部修复码(LRC)确保了仅通过访问其他r<<k个幸存码元就可以恢复对信息码元的擦除,换话句话说,它减少了修复过程中连接的码元数量,从而克服了MDS码的缺点,同时还可以保持一个较低的修复带宽。并且,LRC已在Windows Azure存储系统中得到应用。
在实际系统中,非常需要能够容忍更多擦除的码。同时,热数据的管理,即需要被多个系统应用程序频繁并同时访问的信息,对于分布式存储系统也是一个重要的问题。因此,结合局部性,有人提出了(r,δ)c-局部性(locality)和(r,δ)c-可用性(availability)的概念,它为码元提供了δ-1个大小不相交的修复集,其大小最多为r。实际上,每个修复集都可以视为目标码元的备份,因此可以独立访问热数据,但这些优点是以编码速率或最小汉明距离为代价的。
目前,越来越多商用分布式存储系统为了提供更加安全、可靠、高效的存储服务,都开始关注兼具高容错能力和低计算复杂度的纠删码。因此,构造出具有新的参数,即具有(r,δ)c-局部性的LRC是非常有意义的。这样构造出来的拥有多个修复集的LRC,不仅可以很快地恢复被擦除的信息码元,即提高容错能力并保证系统可靠性,还可以减少冗余开销。
为使本发明的目的、技术方案及有点更加清楚明白,首先对本发明所述方法设计的定义及参数,进行如下解释:
R:表示正整数的一个子集。
[n]:表示集合{1,2,...,n}。
Fq:表示有q个元素的有限域。
[n,k,d]q线性码:当最小汉明距离为d时,线性码C是一个[n,k,d]q线性码。
Span(S):表示在有限域Fq中由列向量{gi|i∈S}张成的线性空间。
Zk:表示剩余类环模k,即,Zk={0,1,2,...,k-1}。
局部性:对于一个[n,k]q线性码,其某个信息码元i可以通过访问剩余r<<k个信息码元恢复出来,就可以说信息码元i的局部性为r。若该码包含的k个信息码元中每个信息码元的局部性最大为r时,可以说该码的局部性为r。
信息(r,δ)c-局部性的线性码:表示该线性码拥有δ-1个不相交的修复集,且每个修复集的大小最多为r。
信息(4,δ;1)c-局部性的线性码:表示对于一个[n,k,d]q线性码,该线性码的每个修复集仅含有一个校验码元。
LRC码:如果存在δ-1对不相交的集合满足和其中表示gi的修复集,则可以说一个[n,k,d]q线性码C的生成矩阵的第i个列向量gi具有(r,δ)c-局部性,1≤i≤n。换句话说,这样的码就是局部可修复码。
(k,R,1)-包:假设R是正整数的子集,k≥2一个整数,则一个(k,R,1)-包是一个二元组(X,B),其中X是一个含有k个元素的集合,即X={0,1,2,...,k-1};B是X的子集,称为区组。包满足条件:对于每个子区组B∈B,|B|∈R,其中|B|表示子区组B中含有的元素个数,且X的每一对不同的元素最多出现在B的一个子区组中。
(k,{r,s},1)-包:假设集合R是正整数的子集,r为集合R其中的任意一个元素,且s是一个正整数,1≤s≤r,则对于一个二元组(X,B),若示B中恰好包含一个大小为s的子区组,则就可以表述为(k,{r,s},1)-包。
(k,r,1)-可分解包:假设集合R是正整数的子集,r为集合R其中的任意一个元素,且是一个正整数,则对于一个二元组(X,B),若区组B可以分解为个不相交的子区组B,且每个子区组中的元素组合起来刚好是X的集合,则所述二元组(X,B)可表示为(k,r,1)-可分解包;
t-规则包:假设t为一个正整数,则对于一个二元组(X,B),若X中的每个元素都恰好出现在t个子区组中,其中t≤|B|∈R,其中|B|表示区组B中含有的子区组个数,则说它为t-规则包。
(k,r,1)-循环包:假设集合R是正整数的子集,r为集合R其中的任意一个元素,且t为一个正整数。再假设V是Zk={0,1,...,k-1}的t个子集的集合,也称它为初始区组,其中V={V1,V2,...,Vt}。要想让它成为一个(k,r,1)-循环包,简称CP(k,r,1),它需满足以下两个条件:对于任何1≤i≤t,Vi的大小为r;用Δ(V)来表V的差,它覆盖每一个对k取模的非零余式最多一次,其中Δ(V)={vij-vis|1≤i≤t,j≠s,1≤s,j≤k}。
(k,r,1)-可分解BIBD:假设集合R是正整数的子集,r为集合R其中的任意一个元素,则对于一个二元组(X,B),若X中不同的元素组成的每一对都恰好出现在B的一个区组中,表示为(k,r,1)-RBIBD(可分解平衡不完全区组设计)。
R-GDD:假设集合R是正整数的子集,k为一个正整数,则让k=a1g1+a2g2+...+asgs,其中ai和gi都是正整数,1≤i≤s。一个类型为的R-GDD(可分组设计)是一个三元组(A,g,B),简称R-GDD,其中A表示维数为k的有限集合,即A=Zk={0,1,2,...,k-1},g表示A的一个分区(群),B表示A的子集的一个集合(区组)。它满足以下两个条件:对于每个子区组B∈B,|B|∈R且A的每一对不同的元素最多出现在一个群g或一个区组B中,但不能同时出现。
r-可分解GDD:假设集合R是正整数的子集,r为集合R其中的任意一个元素,以及区组B可以被分为平行类区组,则R-GDD就是r-可分解GDD,简称r-RGDD。
LRC与包之间的关系:如果存在一个(k,R,1)-包,即存在一个二元组(X,B),其中即一个区组B可以分为n1个子区组,则存在一个拥有d=δ和信息(4,δ;1)c-局部性的[n,k,d]q线性码C,其中δ-1=mini∈X|{j|i∈Bj}|和r=max(R)。特别的,当时,则线性码C是一个拥有信息(4,δ;1)c-局部性的最优码。
本发明实施例提供了一种基于包的最优局部修复码构造方法,以解决现有技术构造的最优局部修复码的并行修复能力弱的技术问题。
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参阅图1,以下为本发明一种基于包的最优局部修复码构造方法的一个实施例,包括:
步骤S100:根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包;其中,所述已知参数为(k,4,1),k表示所述最优局部修复码的信息码元个数,4表示所述最优局部修复码的修复集大小,1表示所述最优局部修复码的校验码元为1个;
步骤S200:根据区组得到所述最优局部修复码的生成矩阵;其中,所述区组为所述规则包对应的区组;
步骤S300:根据所述生成矩阵得到所述最优局部修复码。
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图具体描述本实施例提供的基于包的最优局部修复码构造方法,请参阅图2,本实施例步骤S10 0中构造规则包的方法包括第一类构造方法和第二类构造方法。
具体的,第一类构造方法中使用(k,4,1)-RBIBD、4-RGDD构造出δ-1-规则包,进而获得最优局部修复码即最优LRC;
现有理论已经证明,对于任何k=4(mod 12),存在一个(k,4,1)-RBIBD。由于存在一个(k,4,1)-RBIBD,根据可分解BIBD的定义,则其中Bi表示不相交的平行类,i表示子区组Bi的个数,i对应局部修复码LRC的修复集的个数,即i=δ-1,因此,同时,由于子区组Bi之间不相交,满足了t-规则包的定义,即[k]中的每个元素都恰好出现在δ-1个子区组中,可以构造出对应的δ-1-规则包,其区组就是上述的平行类Bi,重新表述为:B(δ-1)={Bj|1≤j≤δ-1}。
由于要解决k=0(mod 12),则需要把存在的类型为34u的4-RGDD与k进行转化。从k=0(mod 12)可知k是一个关于12的倍数,假设若存在一个类型为的4-RGDD,当k=12时,该类型可以转化成34×1,也就是u=1时的类型34u,但是只有当u不取1时,一个类型为34u的4-RGDD才存在,所以k≠12。也就是说,当k=0(mod 12)且k≠12时,一个类型为的4-RGDD存在。
当k≠12时,可构造出对应的δ-1-规则包。由于存在一个类型为的4-RGDD,根据R-GDD的定义,则其中,Bi表示不相交的平行类,i表示子区组Bi的个数,i对应LRC的修复集的个数,即i=δ-1,因此,同时,由于子区组Bi之间不相交,满足了t-规则包的定义,即[k]中的每个元素都恰好出现在δ-1个子区组中,则可以构造出对应的δ-1-规则包,其区组就是上述的平行类Bi,重新表述为:B(δ-1)={Bj|1≤j≤δ-1}。
当k=12时,可构造出对应的δ-1-规则包。由于所以需要考虑情况(k,δ-1)∈{(12,1),(12,2),(12,3)}。根据t-规则包的定义,可以直接生成对应的δ-1-规则包,例如,其区组B{k,δ-1}如下:
B(12,1)={{0,1,2,3},{4,5,6,7},{8,9,10,11}};
B(12,2)={{0,1,2,3},{0,4,5,7},{1,4,6,8},{2,5,9,10},{3,6,10,11},{7,8,9,11}};
B(12,3)={{0,1,2,3},{0,4,5,6},{0,7,8,9},{1,4,7,10},{1,5,8,11},{2,4,9,11},{2,6,8,10},{3,5,9,10},{3,6,7,11}}.
若k=0,4(mod 12)和δ是一个正整数,且此时(k,4,1)-RBIBD、4-RGDD存在,根据LRC与包之间的关系,存在一个拥有信息(4,δ;1)c-局部性的[k+n1,k,δ]线性码C,其中,k表示信息码元的个数,n1表示校验码元的个数,k+n1表示线性码C中所有码元的个数。
第二类构造方法:使用(k,4,1)-循环包直接和间接构造出δ-1-规则包,进而获得最优LRC;
对于任何正整数n,存在一个最优(3n,4,1)-循环包,且当k=2,3,4,8,9(mod 12)时,一个最优(k,4,1)光学正交码存在。这意味着,若k=2,3,4,8,9(mod 12),则存在一个的最优(k,4,1)-循环包。
使用已知参数的循环包构造规则包分为两部分:
首先,使用已知参数的循环包直接构造一部分规则包:
若k=1,2,3,6,7,8,9,10(mod 12)和则存在一个(k,4,1)-循环包,且其初始区组为V={V1,V2,...,Vt}。其中,子区组Vi的个数为t,1≤i≤t,这对应LRC的修复集的个数,即t=δ-1,也可写为同时,由于初始区组之间不相交,满足了t-循环包的定义,即[k]中的每个元素都恰好出现在δ-1个子区组中,则可以构造出对应的δ-1-规则包。
假设Γ是已知(k,4,1)-循环包的初始区组的集合,再给定(k,4,1)-循环包的任何初始区组,可以通过对每个以k为模的初始区组加1来获得对应的包。例如,初始区组则用不相交的区组来表示得到对应的规则包:
这表明Zk中的每一个元素恰好出现在Bi的4个不相交的区组,i∈Zk。
对于只含有一个初始区组的(k,4,1)-循环包,Zk中的每一个元素恰好出现在包的4个不相交的区组中;对于只含有多个初始区组的(k,4,1)-循环包,Zk中的每一个元素恰好出现在包的N个不相交的区组中,其中N为4的倍数。
由于对于k=1,2,3,6,7,8,9,10(mod 12)来说,存在一个(k,4,1)-循环包。对于一个存在的(k,4,1)-循环包来说,δ-1=0(mod 4)总是成立。由于初始区组之间不相交,满足了t-循环包的定义,即[k]中的每个元素都恰好出现在δ-1个子区组中,所以一个δ-1-规则(k,4,1)包存在。
若k=1,2,3,6,7,8,9,10(mod 12)和δ是一个正整数,且δ-1=0(mod 4),此时(k,4,1)-循环包存在,根据LRC与包之间的关系,可以知道将会存在一个拥有信息(4,δ;1)c-局部性的[k+n1,k,δ]线性码C。由于δ-1在有限域中取值,所以当也可以在有限域中取到有限值,且当n1的值取时,最小汉明距离d的不等式可以取到等号,根据最优线性码的定义,则拥有信息(4,δ;1)c-局部性的最优码存在。
其次,使用已知参数的循环包间接构造剩余部分规则包:
假设存在一个的最优(k,4,1)-循环包,且k是一个正整数且为偶数,根据前面直接构造的结论,则δ-1=0(mod 4)总是成立。再假设任意初始区组V=Veven∪Vodd,其中,Veven表示V中所有偶数的集合,Vodd表示V中所有奇数的集合,|V|表示V中元素个数,|Veven|表示Veven中的元素个数,|Vodd|表示Vodd中的元素个数。让Zk=Zk,even∪Zk,odd,其中Zk,even表示Zk中所有偶数的集合,Zk,odd表示Zk中所有奇数的集合。因此得到,
V+Zk=4Zk (1);
(Veven+Zk,even)=2Zk,even (4);
同样的,
(Vodd+Zk,even)=2Zk,odd (6);
从式子(4)和(6)就可以得到:
从式(7)可以知道,初始区组V加上Zk中所有偶数或者所有奇数得到的包Bi,其中,Zk的每一个元素恰好出现在Bi的2个不相交的区组。对于只含有一个初始区组的(k,4,1)-循环包,Zk中的每一个元素恰好出现在包的2个不相交的区组中;对于只含有多个初始区组的(k,4,1)-循环包,Zk中的每一个元素恰好出现在包的N+2个不相交的区组中,其中N为4的倍数,N可以取0值。
这表明,通过这种“加一半奇数或偶数”的方式构造得到的包来说,δ-1=2(mod 4)总是成立。
由于对于k=1,2,3,6,7,8,9,10(mod 12)来说,存在一个(k,4,1)-循环包。对于一个存在的(k,4,1)-循环包来说,若k是一个正整数且为偶数,且任意初始区组V=Veven∪Vodd,则δ-1=2(mod 4)总是成立。因为初始区组之间不相交,满足了t-循环包的定义,即[k]中的每个元素都恰好出现在δ-1个子区组中,所以一个δ-1-规则包(k,4,1)存在。
若k=1,2,3,6,7,8,9,10(mod 12)和δ是一个正整数,且δ-1=2(mod 4),此时(k,4,1)-循环包存在,根据LRC与包之间的关系,可以知道将会存在一个拥有信息(4,δ;1)c-局部性的[k+n1,k,δ线性码C。由于δ-1在有限域中取值,所以当也可以在有限域中取到有限值,且当n1的值取时,最小汉明距离d的不等式可以取到等号,根据最优线性码的定义,则拥有信息(4,δ;1)c-局部性的最优码存在。
步骤S200中,根据区组得到所述最优局部修复码的生成矩阵;其中,所述区组为所述规则包对应的区组;
规则包存在唯一对应的区组,根据规则包中的区组与LRC的校验矩阵中的部分校验列向量的对应关系,可以得到最优LRC的生成矩阵;
首先,根据LRC与包之间的关系,可以通过最优局部修复码的生成矩阵得到对应包的区组。例如:给定k=16,n=k+n1=36,以及r=4,δ=6的LRC,其生成矩阵为G=[I16|H],I16表示单位矩阵,H表示奇偶检验矩阵,规则包n1表示矩阵H列向量的列数,则有:G=[Ik|H]
再根据支集的定义,即奇偶校验矩阵中元素为非零的行位置就是支集的元素。从而根据上述的矩阵H,可以得到它对应的支集集合,如下所示:supp(p1)={1,2,3,4},supp(p2)={5,6,7,8},supp(p2)={9,10,11,12},supp(p4)={13,14,15,16}supp(p5)={1,5,9,13},supp(p6)={2,6,10,14},supp(p7)={3,7,11,15},supp(p8)={4,8,12,16}supp(p9)={1,6,11,16},supp(p10)={2,7,12,13},supp(p11)={3,8,9,14},supp(p12)={4,5,10,15}supp(p13)={1,7,9,15},supp(p14)={2,8,10,13},supp(p15)={3,5,11,16},supp(p16)={4,6,12,14}supp(p17)={1,8,11,14},supp(p18)={2,5,12,15},supp(p19)={3,6,9,16},supp(p20)={4,7,10,13}其中,pi(1≤i≤20)表示矩阵H的列向量。
再根据包的定义,即集合中的任意两个不同元素组成的一对元素仅在整个集合中出现一次。从而对照上面得到的支集集合可以知道,该集合满足包的定义,则包对应的区组如下:
{{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16},{1,5,9,13},{2,6,10,14},{3,7,11,15},{4,8,12,16},{1,6,11,16},{2,7,12,13},{3,8,9,14},{4,5,10,15},{1,7,9,15},{2,8,10,13},{3,5,11,16},{4,6,12,14},{1,8,11,14},{2,5,12,15},{3,6,9,16},{4,7,10,13}}
其次,根据LRC与包之间的关系,可以通过对应包的区组得到最优局部修复码的生成矩阵。例如:假设存在(16,4,1)-包,它对应的部分区组为{{1,5,9,13},{3,7,11,15},{13,14,15,16},{4,7,10,13}},则根据区组元素的数值对应为奇偶检验矩阵H列向量中数值为1的位数。根据上述的部分区组,我们就可以写出它对应的部分列向量,表示如下:
其中,pi(1≤i≤4)表示矩阵H的列向量。
以上仅为部分区组的举例,所以根据以上的举例,我们把所有区组进行上述的转化后,就可以得到奇偶检验矩阵H,再加上单位矩阵I16,就可以得到对应最优局部修复码的生成矩阵G=[I16|H],最终就可以得到一个拥有信息(4,6;1)c-局部性的最优[36,16,6]q码。
S300:根据所述生成矩阵得到所述最优局部修复码。
根据可最优局部修复码的生成矩阵,可以构造出具有新参数(修复集大小为4)的最优LRC码。
本发明实施例提供的基于包的最优局部修复码构造方法,仅需要通过已知参数的组合设计来进行直接和间接的构造最优LRC,构造过程简单;由于在构造过程中,实现了LRC的修复集的大小r最大能达到4,这意味着LRC的每个修复集中码元数量变多,即最优局部修复码的并行修复能力增强。
本实施例中,根据LRC的检验码元个数n1与其修复集大小r的关系,即两者成反比关系,本实施例使得r的值增大,则检验码元n1减少;再根据LRC全部码元n与信息码元k和校验码元n1的关系,即n=k+n1,这表明在n保持不变的情况下,n1减少,k值将会增大,则该LRC可以存储更多的信息。
本实施例中,根据最小汉明距离d与检验码元n1的关系,即d随着n1的减少而增大,这说明码元之间的距离可以增加,但不会使得码无法修复,也就是说LRC可以容忍更多信息码元的擦除。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于包的最优局部修复码构造方法,其特征在于,包括:
根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包;其中,所述已知参数为(k,4,1),k表示所述最优局部修复码的信息码元个数,4表示所述最优局部修复码的修复集大小,1表示所述最优局部修复码的校验码元为1个;
根据区组得到所述最优局部修复码的生成矩阵;其中,所述区组为所述规则包对应的区组;
根据所述生成矩阵得到所述最优局部修复码。
2.根据权利要求1所述的基于包的最优局部修复码构造方法,其特征在于,所述规则包为t-规则包;
所述t-规则包为:对于一个二元组(X,B),若X中的每个元素都恰好出现在t个子区组B1中,则所述二元组(X,B)为所述t-规则包;其中,X是包含k个元素的集合,X={0,1,2,...,k-1},区组B是X的子集,B1∈B,t≤|B1|∈R,R为正整数的子集,|B1|为区组B中含有的子区组个数。
3.根据权利要求1所述的基于包的最优局部修复码构造方法,其特征在于,根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包具体包括:
根据最优局部修复码的已知参数得到可分解不完全区组(k,4,1)-RBIBD和可分解可分组4-RGDD,根据所述(k,4,1)-RBIBD和所述4-RGDD分别构造用于生成所述最优局部修复码的所述规则包;
其中,所述(k,4,1)-RBIBD为:对于一个二元组(X,B),若X中不同的元素组成的每一对都恰好出现在B的一个区组中,则一个(k,4,1)-可分解包为可分解不完全区组(k,4,1)-RBIBD;
所述(k,4,1)-可分解包为:假设是一个正整数,对于一个二元组(X,B),若区组B可以分解为个不相交的子区组B,且每个子区组中的元素组合起来刚好是X的集合,则所述二元组(X,B)可表示为(k,4,1)-可分解包;
6.根据权利要求1所述的基于包的最优局部修复码构造方法,其特征在于,根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包具体包括:
构造一个所述已知参数的循环包,根据所述循环包构造一个用于生成所述最优局部修复码的所述规则包;
其中,所述循环包为:初始区组V是Zk={0,1,...,k-1}的t个子集的集合,V={V1,V2,...,Vi,...,Vt},当V满足以下两个条件时为循环包:对于任何1≤i≤t,Vi的大小为r;Δ(V)表示V的差,Δ(V)={vij-vis|1≤i≤t,j≠s,1≤s,j≤k},Δ(V)覆盖每一个对k取模的非零余式最多一次。
7.根据权利要求6所述的基于包的最优局部修复码构造方法,其特征在于,根据所述循环包构造一个用于生成所述最优局部修复码的所述规则包具体包括:
根据所述循环包及其初始区组,通过对每个以k为模的所述初始区组加1来获得一部分所述规则包;
根据所述初始区组加上Zk中所有偶数或所有奇数的集合获得剩余部分所述规则包;
根据一部分所述规则包和剩余部分所述规则包得到所述规则包。
8.根据权利要求1所述的基于包的最优局部修复码构造方法,其特征在于,根据区组得到所述最优局部修复码的生成矩阵具体包括:
根据所述区组及对应关系得到所述最优局部修复码的生成矩阵中对应校验列向量,将所述校验列向量和k维单位向量得到所述生成矩阵;
其中,所述对应关系为所述规则包中的区组与所述最优局部修复码的生成矩阵中校验列向量的对应关系。
9.根据权利要求1所述的基于包的最优局部修复码构造方法,其特征在于,所述最优局部修复码为拥有(4,δ;1)C-局部性的[n,k,d]q线性码;
其中,所述[n,k,d]q线性码为最小汉明距离为d的[n,k]q线性码;
所述[n,k]q线性码为:[n]表示集合{1,2,...,n},一个域为Fq的[n,k]q线性码是域的k维子空间,且域有一个k×n的生成矩阵G=(g1,g2,...,gn),gi是一个k维列向量,1≤i≤n;
对于一个[n,k,d]q线性码,若拥有δ-1个不相交的修复集,且每个修复集的大小最多为4,每个修复集仅含有一个校验码元,则该线性码为拥有(4,δ;1)C-局部性的[n,k,d]q线性码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110753631.0A CN113381772B (zh) | 2021-07-02 | 2021-07-02 | 一种基于包的最优局部修复码构造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110753631.0A CN113381772B (zh) | 2021-07-02 | 2021-07-02 | 一种基于包的最优局部修复码构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113381772A true CN113381772A (zh) | 2021-09-10 |
CN113381772B CN113381772B (zh) | 2022-11-25 |
Family
ID=77580940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110753631.0A Active CN113381772B (zh) | 2021-07-02 | 2021-07-02 | 一种基于包的最优局部修复码构造方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113381772B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106788455A (zh) * | 2016-11-29 | 2017-05-31 | 陕西尚品信息科技有限公司 | 一种基于包的最优局部可修复系统码的构造方法 |
CN106776112A (zh) * | 2017-02-09 | 2017-05-31 | 长安大学 | 一种基于Pyramid码的局部性修复编码方法 |
CN106788454A (zh) * | 2016-11-29 | 2017-05-31 | 陕西尚品信息科技有限公司 | 一种局部性不相等码的构造方法 |
WO2018029212A1 (en) * | 2016-08-08 | 2018-02-15 | Memoscale As | Regenerating locally repairable codes for distributed storage systems |
CN110764950A (zh) * | 2019-10-31 | 2020-02-07 | 深圳信息职业技术学院 | 基于rs码和再生码的混合编码方法、数据修复方法、及其系统 |
-
2021
- 2021-07-02 CN CN202110753631.0A patent/CN113381772B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018029212A1 (en) * | 2016-08-08 | 2018-02-15 | Memoscale As | Regenerating locally repairable codes for distributed storage systems |
CN106788455A (zh) * | 2016-11-29 | 2017-05-31 | 陕西尚品信息科技有限公司 | 一种基于包的最优局部可修复系统码的构造方法 |
CN106788454A (zh) * | 2016-11-29 | 2017-05-31 | 陕西尚品信息科技有限公司 | 一种局部性不相等码的构造方法 |
CN106776112A (zh) * | 2017-02-09 | 2017-05-31 | 长安大学 | 一种基于Pyramid码的局部性修复编码方法 |
CN110764950A (zh) * | 2019-10-31 | 2020-02-07 | 深圳信息职业技术学院 | 基于rs码和再生码的混合编码方法、数据修复方法、及其系统 |
Non-Patent Citations (1)
Title |
---|
王静等: ""分布式存储系统中基于部分重复循环码的"", 《电子测量与仪器学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113381772B (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rashmi et al. | A piggybacking design framework for read-and download-efficient distributed storage codes | |
Goparaju et al. | Minimum storage regenerating codes for all parameters | |
WO2020047707A1 (zh) | 分布式存储系统的数据编码、解码及修复方法 | |
US20140152476A1 (en) | Data encoding methods, data decoding methods, data reconstruction methods, data encoding devices, data decoding devices, and data reconstruction devices | |
Wang et al. | MDR codes: A new class of RAID-6 codes with optimal rebuilding and encoding | |
Silberstein et al. | Locality and availability of array codes constructed from subspaces | |
Shahabinejad et al. | A class of binary locally repairable codes | |
US20150227425A1 (en) | Method for encoding, data-restructuring and repairing projective self-repairing codes | |
CN113381772B (zh) | 一种基于包的最优局部修复码构造方法 | |
WO2018029212A1 (en) | Regenerating locally repairable codes for distributed storage systems | |
US9430443B1 (en) | Systematic coding technique | |
CN111224747A (zh) | 可降低修复带宽和磁盘读取开销的编码方法及其修复方法 | |
Cardell et al. | Recovering decimation-based cryptographic sequences by means of linear CAs | |
Yang et al. | Hierarchical coding to enable scalability and flexibility in heterogeneous cloud storage | |
WO2020029423A1 (zh) | 一种修复二进制阵列码校验矩阵的构造方法及修复方法 | |
CN115269258A (zh) | 一种数据恢复的方法和系统 | |
Wei et al. | expanCodes: Tailored LDPC codes for big data storage | |
CN113986147A (zh) | 一种raid 6硬件加速电路结构和raid 6硬件加速实现方法 | |
CN112463435A (zh) | 一种基于数据块访问频度的局部修复方法 | |
CN112486412A (zh) | 一种基于分布式对象存储系统安全的信息分散方法及系统 | |
Sipos et al. | On the effectiveness of recoding-based repair in network coded distributed storage | |
Zhang et al. | Two families of LRCs with availability based on iterative matrix | |
Wang et al. | Explicit MDS codes for optimal repair bandwidth | |
CN111988437B (zh) | 一种通用的Expanded-Blaum-Roth码的编码方法及其解码方法 | |
CN117950916A (zh) | 高可靠性数据备份方法与系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |