一种基于包的最优局部修复码构造方法

文档序号:26602618发布日期:2021-09-10 23:24阅读:286来源:国知局
一种基于包的最优局部修复码构造方法

1.本发明涉及编码技术领域,尤其是涉及一种基于包的最优布局修复码构造方法。


背景技术:

2.随着互联网、云计算、大数据时代的到来,数据呈现指数增长,如何合理可靠地存储、组织海量数据非常重要。分布式存储系统因其成本低廉、扩展性好被广泛采用,但随着系统节点规模和数据规模的不断扩大,导致了大规模的云存储和分布式文件系统,例如amazon elastic block store(ebs)和google file system(googlefs)目前已达到了超大规模,以至于磁盘故障成为常态。在这些系统中,为了防止数据出现磁盘故障,最简单的解决方案是直接复制数据包,然后存放到不同的磁盘中。但是,这导致了更大的存储开销。因此,迫切需要一种存储码来替代该方案。
3.目前,越来越多商用分布式存储系统为了提供更加安全、可靠、高效的存储服务,都开始关注兼具高容错能力和低计算复杂度的纠删码。因此,构造最优局部修复码即最优lrc(locally repairable codes)非常有意义。这种最优局部修复码拥有多个修复集,不仅能很快恢复被擦除的信息码元,提高系统的容错能力并保证系统可靠性,同时还能减少冗余开销。


技术实现要素:

4.本发明的目的是提供一种基于包的最优局部修复码构造方法,以解决现有技术构造的最优局部修复码的并行修复能力弱的技术问题。
5.本发明的目的,可以通过如下技术方案实现:
6.一种基于包的最优局部修复码构造方法,包括:
7.根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包;其中,所述已知参数为(k,4,1),k表示所述最优局部修复码的信息码元个数,4表示所述最优局部修复码的修复集大小,1表示所述最优局部修复码的校验码元为1个;
8.根据区组得到所述最优局部修复码的生成矩阵;其中,所述区组为所述规则包对应的区组;
9.根据所述生成矩阵得到所述最优局部修复码。
10.可选地,所述规则包为t

规则包;
11.所述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中含有的子区组个数。
12.可选地,根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包具体包括:
13.根据最优局部修复码的已知参数得到可分解不完全区组(k,4,1)

rbibd和可分解
可分组4

rgdd,根据所述(k,4,1)

rbibd和所述4

rgdd分别构造用于生成所述最优局部修复码的所述规则包;
14.其中,所述(k,4,1)

rbibd为:对于一个二元组(x,b),若x中不同的元素组成的每一对都恰好出现在b的一个区组中,则一个(k,4,1)

可分解包为可分解不完全区组(k,4,1)

rbibd;
15.所述(k,4,1)

可分解包为:假设是一个正整数,对于一个二元组(x,b),若区组b可以分解为个不相交的子区组b,且每个子区组中的元素组合起来刚好是x的集合,则所述二元组(x,b)可表示为(k,4,1)

可分解包;
16.所述4

rgdd为:假设集合r是正整数的子集,集合r取值为4,且k=a1g1+a2g2+...+a
s
g
s
,其中a
i
和g
i
都是正整数,1≤i≤s;一个类型为的4

gdd是一个三元组(a,g,b),简称4

gdd,其中a表示维数为k的有限集合,即a=z
k
={0,1,2,...,k

1},g表示a的一个分区,b表示a的子集的一个集合;它满足以下两个条件:对于每个子区组b∈b,|b|∈r且a的每一对不同的元素最多出现在一个群g或一个区组b中,但不能同时出现。
17.可选地,根据所述(k,4,1)

rbibd得到的所述规则包,其区组b
i
表示不相交的平行类,
18.可选地,根据所述4

rgdd得到的所述规则包,其区组b
i
表示不相交的平行类,
19.可选地,根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包具体包括:
20.构造一个所述已知参数的循环包,根据所述循环包构造一个用于生成所述最优局部修复码的所述规则包;
21.其中,所述循环包为:初始区组v是z
k
={0,1,...,k

1}的t个子集的集合,v={v1,v2,...,v
i
,...,v
t
},当v满足以下两个条件时为循环包:对于任何1≤i≤t,v
i
的大小为r;δ(v)表示v的差,δ(v)={v
ij

v
is
|1≤i≤t,j≠s,1≤s,j≤k},δ(v)覆盖每一个对k取模的非零余式最多一次。
22.可选地,根据所述循环包构造一个用于生成所述最优局部修复码的所述规则包具体包括:
23.根据所述循环包及其初始区组,通过对每个以k为模的所述初始区组加1来获得一部分所述规则包;
24.根据所述初始区组加上z
k
中所有偶数或所有奇数的集合获得剩余部分所述规则包;
25.根据一部分所述规则包和剩余部分所述规则包得到所述规则包。
26.可选地,根据区组得到所述最优局部修复码的生成矩阵具体包括:
27.根据所述区组及对应关系得到所述最优局部修复码的生成矩阵中对应校验列向量,将所述校验列向量和k维单位向量得到所述生成矩阵;
28.其中,所述对应关系为所述规则包中的区组与所述最优局部修复码的生成矩阵中校验列向量的对应关系。
29.可选地,所述最优局部修复码为拥有(4,δ;1)
c

局部性的[n,k,d]
q
线性码;
[0030]
其中,所述[n,k,d]
q
线性码为最小汉明距离为d的[n,k]
q
线性码;
[0031]
所述[n,k]
q
线性码为:[n]表示集合{1,2,...,n},一个域为f
q
的[n,k]
q
线性码是域的k维子空间,且域有一个k
×
n的生成矩阵g=(g1,g2,...,g
n
),g
i
是一个k维列向量,1≤i≤n;
[0032]
对于一个[n,k,d]
q
线性码,若拥有δ

1个不相交的修复集,且每个修复集的大小最多为4,每个修复集仅含有一个校验码元,则该线性码为拥有(4,δ;1)
c

局部性的[n,k,d]
q
线性码。
[0033]
可选地,所述最优局部修复码为拥有(4,δ;1)
c

局部性的[n,k,d]
q
线性码具体包括:
[0034]
所述[n,k,d]
q
线性码为码;
[0035]
其中,n1为检验码元的个数,n为线性码所有码元的个数。
[0036]
本发明提供了一种基于包的最优局部修复码构造方法,包括:根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包;其中,所述已知参数为(k,4,1),k表示所述最优局部修复码的信息码元个数,4表示所述最优局部修复码的修复集大小,1表示所述最优局部修复码的校验码元为1个;根据区组得到所述最优局部修复码的生成矩阵;其中,所述区组为所述规则包对应的区组;根据所述生成矩阵得到所述最优局部修复码。
[0037]
有鉴于此,本发明带来的有益效果是:
[0038]
在构造用于生成最优局部修复码的规则包的过程中,已知参数为(k,4,1),实现了最优局部修复码的修复集大小最大能达到4,意味着最优局部修复码的每个修复集中码元数量增多,从而增强了系统的并行修复能力;根据规则包相应的区组得到最优局部修复码的生成矩阵,然后再根据生成矩阵得到最优局部修复码,构造过程简单,涉及的数学理论相对较少,克服了现有技术中构造最优局部修复码时涉及的数学理论过多过难的问题。
附图说明
[0039]
图1为本发明一种基于包的最优局部修复码构造方法的流程示意图;
[0040]
图2为本发明一种基于包的最优局部修复码构造方法的构造规则包流程示意图。
具体实施方式
[0041]
在存储系统中,[n,k]存储码将k个信息码元编码为n个码元,并将它们存储在n个磁盘上。因为引入冗余会导致存储开销,所以提出了纠删码。最大距离可分(mds)码是一类纠删码,它与多副本技术相比,可以提高冗余技术和可靠性。因此,它在实际系统中是首选
的编码技术。然而,[n,k]mds码在每恢复一个信息码元时,都需要连接k个幸存的码元,这使得它在大规模分布式文件系统中效率极低。但局部修复码(lrc)确保了仅通过访问其他r<<k个幸存码元就可以恢复对信息码元的擦除,换话句话说,它减少了修复过程中连接的码元数量,从而克服了mds码的缺点,同时还可以保持一个较低的修复带宽。并且,lrc已在windows azure存储系统中得到应用。
[0042]
在实际系统中,非常需要能够容忍更多擦除的码。同时,热数据的管理,即需要被多个系统应用程序频繁并同时访问的信息,对于分布式存储系统也是一个重要的问题。因此,结合局部性,有人提出了(r,δ)
c

局部性(locality)和(r,δ)
c

可用性(availability)的概念,它为码元提供了δ

1个大小不相交的修复集,其大小最多为r。实际上,每个修复集都可以视为目标码元的备份,因此可以独立访问热数据,但这些优点是以编码速率或最小汉明距离为代价的。
[0043]
目前,越来越多商用分布式存储系统为了提供更加安全、可靠、高效的存储服务,都开始关注兼具高容错能力和低计算复杂度的纠删码。因此,构造出具有新的参数,即具有(r,δ)
c

局部性的lrc是非常有意义的。这样构造出来的拥有多个修复集的lrc,不仅可以很快地恢复被擦除的信息码元,即提高容错能力并保证系统可靠性,还可以减少冗余开销。
[0044]
为使本发明的目的、技术方案及有点更加清楚明白,首先对本发明所述方法设计的定义及参数,进行如下解释:
[0045]
r:表示正整数的一个子集。
[0046]
[n]:表示集合{1,2,...,n}。
[0047]
f
q
:表示有q个元素的有限域。
[0048]
表示有限域中多项式的最高次数为n

1;
[0049]
[n,k]
q
线性码:一个域为f
q
的[n,k]
q
线性码c是域的k维子空间,且域有一个k
×
n的生成矩阵g=(g1,g2,...,g
n
),其中g
i
是一个k维列向量,1≤i≤n。
[0050]
[n,k,d]
q
线性码:当最小汉明距离为d时,线性码c是一个[n,k,d]
q
线性码。
[0051]
span(s):表示在有限域f
q
中由列向量{g
i
|i∈s}张成的线性空间。
[0052]
rank(s):表示span(s)的维数,其中
[0053]
z
k
:表示剩余类环模k,即,z
k
={0,1,2,...,k

1}。
[0054]
局部性:对于一个[n,k]
q
线性码,其某个信息码元i可以通过访问剩余r<<k个信息码元恢复出来,就可以说信息码元i的局部性为r。若该码包含的k个信息码元中每个信息码元的局部性最大为r时,可以说该码的局部性为r。
[0055]
信息(r,δ)
c

局部性的线性码:表示该线性码拥有δ

1个不相交的修复集,且每个修复集的大小最多为r。
[0056]
信息(4,δ;1)
c

局部性的线性码:表示对于一个[n,k,d]
q
线性码,该线性码的每个修复集仅含有一个校验码元。
[0057]
最小汉明距离d:对于一个拥有信息(4,δ;1)
c

局部性的[n,k,d]
q
线性码,其最小汉明距离
[0058]
最优线性码:对于一个拥有信息(4,δ;1)
c

局部性的[n,k,d]
q
线性码,若该码的最
小汉明距离则该码是最优线性码。
[0059]
lrc码:如果存在δ

1对不相交的集合满足和其中表示g
i
的修复集,则可以说一个[n,k,d]
q
线性码c的生成矩阵的第i个列向量g
i
具有(r,δ)
c

局部性,1≤i≤n。换句话说,这样的码就是局部可修复码。
[0060]
(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的一个子区组中。
[0061]
(k,{r,s},1)

包:假设集合r是正整数的子集,r为集合r其中的任意一个元素,且s是一个正整数,1≤s≤r,则对于一个二元组(x,b),若示b中恰好包含一个大小为s的子区组,则就可以表述为(k,{r,s},1)

包。
[0062]
(k,r,1)

可分解包:假设集合r是正整数的子集,r为集合r其中的任意一个元素,且是一个正整数,则对于一个二元组(x,b),若区组b可以分解为个不相交的子区组b,且每个子区组中的元素组合起来刚好是x的集合,则所述二元组(x,b)可表示为(k,r,1)

可分解包;
[0063]
t

规则包:假设t为一个正整数,则对于一个二元组(x,b),若x中的每个元素都恰好出现在t个子区组中,其中t≤|b|∈r,其中|b|表示区组b中含有的子区组个数,则说它为t

规则包。
[0064]
(k,r,1)

循环包:假设集合r是正整数的子集,r为集合r其中的任意一个元素,且t为一个正整数。再假设v是z
k
={0,1,...,k

1}的t个子集的集合,也称它为初始区组,其中v={v1,v2,...,v
t
}。要想让它成为一个(k,r,1)

循环包,简称cp(k,r,1),它需满足以下两个条件:对于任何1≤i≤t,v
i
的大小为r;用δ(v)来表v的差,它覆盖每一个对k取模的非零余式最多一次,其中δ(v)={v
ij

v
is
|1≤i≤t,j≠s,1≤s,j≤k}。
[0065]
(k,r,1)最佳光学正交码(ooc)的上界θ(k,r,1):
[0066]
cp(k,r,1)的上界λ(k,r,1):由于(k,r,1)

ooc与cp(k,r,1)相同,且其上界为则cp(k,r,1)的上界就为
[0067]
(k,r,1)

可分解bibd:假设集合r是正整数的子集,r为集合r其中的任意一个元素,则对于一个二元组(x,b),若x中不同的元素组成的每一对都恰好出现在b的一个区组中,表示为(k,r,1)

rbibd(可分解平衡不完全区组设计)。
[0068]
r

gdd:假设集合r是正整数的子集,k为一个正整数,则让k=a1g1+a2g2+...+a
s
g
s
,其中a
i
和g
i
都是正整数,1≤i≤s。一个类型为的r

gdd(可分组设计)是一个三元组(a,g,b),简称r

gdd,其中a表示维数为k的有限集合,即a=z
k
={0,1,2,...,k

1},g表
示a的一个分区(群),b表示a的子集的一个集合(区组)。它满足以下两个条件:对于每个子区组b∈b,|b|∈r且a的每一对不同的元素最多出现在一个群g或一个区组b中,但不能同时出现。
[0069]
r

可分解gdd:假设集合r是正整数的子集,r为集合r其中的任意一个元素,以及区组b可以被分为平行类区组,则r

gdd就是r

可分解gdd,简称r

rgdd。
[0070]
lrc与包之间的关系:如果存在一个(k,r,1)

包,即存在一个二元组(x,b),其中即一个区组b可以分为n1个子区组,则存在一个拥有d=δ和信息(4,δ;1)
c

局部性的[n,k,d]
q
线性码c,其中δ

1=min
i∈x
|{j|i∈b
j
}|和r=max(r)。特别的,当时,则线性码c是一个拥有信息(4,δ;1)
c

局部性的最优码。
[0071]
本发明实施例提供了一种基于包的最优局部修复码构造方法,以解决现有技术构造的最优局部修复码的并行修复能力弱的技术问题。
[0072]
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
[0073]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0074]
请参阅图1,以下为本发明一种基于包的最优局部修复码构造方法的一个实施例,包括:
[0075]
步骤s100:根据最优局部修复码的已知参数构造一个用于生成所述最优局部修复码的规则包;其中,所述已知参数为(k,4,1),k表示所述最优局部修复码的信息码元个数,4表示所述最优局部修复码的修复集大小,1表示所述最优局部修复码的校验码元为1个;
[0076]
步骤s200:根据区组得到所述最优局部修复码的生成矩阵;其中,所述区组为所述规则包对应的区组;
[0077]
步骤s300:根据所述生成矩阵得到所述最优局部修复码。
[0078]
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图具体描述本实施例提供的基于包的最优局部修复码构造方法,请参阅图2,本实施例步骤s10 0中构造规则包的方法包括第一类构造方法和第二类构造方法。
[0079]
具体的,第一类构造方法中使用(k,4,1)

rbibd、4

rgdd构造出δ
‑1‑
规则包,进而获得最优局部修复码即最优lrc;
[0080]
现有理论已经证明,对于任何k=4(mod 12),存在一个(k,4,1)

rbibd。由于存在一个(k,4,1)

rbibd,根据可分解bibd的定义,则其中b
i
表示不相交的平行类,i表示子区组b
i
的个数,i对应局部修复码lrc的修复集的个数,即i=δ

1,因此,同时,由于子区组b
i
之间不相交,满足了t

规则包的定义,即[k]中的每个元素都恰好出现在δ

1个子区组中,可以构造出对应的δ
‑1‑
规则包,其区组就是上述的平行类b
i
,重新表述为:b


1)
={b
j
|1≤j≤δ

1}。
[0081]
假设u是一个正整数,当时,一个类型为3
4u
的4

rgdd存在。
[0082]
由于要解决k=0(mod 12),则需要把存在的类型为3
4u
的4

rgdd与k进行转化。从k=0(mod 12)可知k是一个关于12的倍数,假设若存在一个类型为的4

rgdd,当k=12时,该类型可以转化成34×1,也就是u=1时的类型3
4u
,但是只有当u不取1时,一个类型为3
4u
的4

rgdd才存在,所以k≠12。也就是说,当k=0(mod 12)且k≠12时,一个类型为的4

rgdd存在。
[0083]
当k≠12时,可构造出对应的δ
‑1‑
规则包。由于存在一个类型为的4

rgdd,根据r

gdd的定义,则其中,b
i
表示不相交的平行类,i表示子区组b
i
的个数,i对应lrc的修复集的个数,即i=δ

1,因此,同时,由于子区组b
i
之间不相交,满足了t

规则包的定义,即[k]中的每个元素都恰好出现在δ

1个子区组中,则可以构造出对应的δ
‑1‑
规则包,其区组就是上述的平行类b
i
,重新表述为:b


1)
={b
j
|1≤j≤δ

1}。
[0084]
当k=12时,可构造出对应的δ
‑1‑
规则包。由于所以需要考虑情况(k,δ

1)∈{(12,1),(12,2),(12,3)}。根据t

规则包的定义,可以直接生成对应的δ
‑1‑
规则包,例如,其区组b
{k,δ

1}
如下:
[0085]
b
(12,1)
={{0,1,2,3},{4,5,6,7},{8,9,10,11}};
[0086]
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}};
[0087]
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}}.
[0088]
若k=0,4(mod 12)和δ是一个正整数,且此时(k,4,1)

rbibd、4

rgdd存在,根据lrc与包之间的关系,存在一个拥有信息(4,δ;1)
c

局部性的[k+n1,k,δ]线性码c,其中,k表示信息码元的个数,n1表示校验码元的个数,k+n1表示线性码c中所有码元的个数。
[0089]
由于δ

1在有限域中取值,所以当也可以在有限域中取到有限值,且
当n1的值取时,最小汉明距离d的不等式可以取等号,根据最优线性码的定义,则拥有信息(4,δ;1)
c

局部性的最优码存在。
[0090]
第二类构造方法:使用(k,4,1)

循环包直接和间接构造出δ
‑1‑
规则包,进而获得最优lrc;
[0091]
已知最佳光学正交码(ooc)与一些组合设计密切相关,特别与循环包之间存在紧密联系。对于一个最优(k,r,1)最佳光学正交码,它的上界为则对应循环包的上界也是如此。
[0092]
对于任何正整数k=12t+6,存在一个最优(k,4,1)光学正交码使得gcd(3,2t)=1。这意味着,若k=6(mod 12),则存在一个的最优(k,4,1)

循环包。
[0093]
对于任何正整数n,存在一个最优(3
n
,4,1)

循环包,且当k=2,3,4,8,9(mod 12)时,一个最优(k,4,1)光学正交码存在。这意味着,若k=2,3,4,8,9(mod 12),则存在一个的最优(k,4,1)

循环包。
[0094]
对于任何素数p=1(mod 12),存在一个1

规则(p,4,1)

循环包。这意味着,若k=1(mod 12),则存在一个的最优(k,4,1)

循环包。
[0095]
对于任何素数p=1(mod 6),存在一个2

规则(2p,4,1)

循环包。这意味着,若k=7(mod 12),则存在一个的最优(k,4,1)

循环包。
[0096]
若k=2,6,10(mod 12)和1≤k≤100,则存在一个的最优(k,4,1)

循环包。
[0097]
使用已知参数的循环包构造规则包分为两部分:
[0098]
首先,使用已知参数的循环包直接构造一部分规则包:
[0099]
若k=1,2,3,6,7,8,9,10(mod 12)和则存在一个(k,4,1)

循环包,且其初始区组为v={v1,v2,...,v
t
}。其中,子区组v
i
的个数为t,1≤i≤t,这对应lrc的修复集的个数,即t=δ

1,也可写为同时,由于初始区组之间不相交,满足了t

循环包的定义,即[k]中的每个元素都恰好出现在δ

1个子区组中,则可以构造出对应的δ
‑1‑
规则包。
[0100]
假设γ是已知(k,4,1)

循环包的初始区组的集合,再给定(k,4,1)

循环包的任何
初始区组,可以通过对每个以k为模的初始区组加1来获得对应的包。例如,初始区组则用不相交的区组来表示得到对应的规则包:
[0101][0102]
这表明z
k
中的每一个元素恰好出现在b
i
的4个不相交的区组,i∈z
k

[0103]
对于只含有一个初始区组的(k,4,1)

循环包,z
k
中的每一个元素恰好出现在包的4个不相交的区组中;对于只含有多个初始区组的(k,4,1)

循环包,z
k
中的每一个元素恰好出现在包的n个不相交的区组中,其中n为4的倍数。
[0104]
这表明,对于直接构造得到的包来说,δ

1=0(mod 4)总是成立。若存在一个的最优(k,4,1)

循环包,则δ

1=0(mod 4)总是成立。
[0105]
由于对于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)包存在。
[0106]
若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

局部性的最优码存在。
[0107]
其次,使用已知参数的循环包间接构造剩余部分规则包:
[0108]
假设存在一个的最优(k,4,1)

循环包,且k是一个正整数且为偶数,根据前面直接构造的结论,则δ

1=0(mod 4)总是成立。再假设任意初始区组v=v
even
∪v
odd
,其中,v
even
表示v中所有偶数的集合,v
odd
表示v中所有奇数的集合,|v|表示v中元素个数,|v
even
|表示v
even
中的元素个数,|v
odd
|表示v
odd
中的元素个数。让z
k
=z
k,even
∪z
k,odd
,其中z
k,even
表示z
k
中所有偶数的集合,z
k,odd
表示z
k
中所有奇数的集合。因此得到,
[0109]
v+z
k
=4z
k
ꢀꢀ
(1);
[0110]
[0111][0112]
(v
even
+z
k,even
)=2z
k,even
ꢀꢀ
(4);
[0113]
同样的,
[0114][0115]
(v
odd
+z
k,even
)=2z
k,odd
ꢀꢀ
(6);
[0116]
从式子(4)和(6)就可以得到:
[0117][0118]
从式(7)可以知道,初始区组v加上z
k
中所有偶数或者所有奇数得到的包b
i
,其中,z
k
的每一个元素恰好出现在b
i
的2个不相交的区组。对于只含有一个初始区组的(k,4,1)

循环包,z
k
中的每一个元素恰好出现在包的2个不相交的区组中;对于只含有多个初始区组的(k,4,1)

循环包,z
k
中的每一个元素恰好出现在包的n+2个不相交的区组中,其中n为4的倍数,n可以取0值。
[0119]
这表明,通过这种“加一半奇数或偶数”的方式构造得到的包来说,δ

1=2(mod 4)总是成立。
[0120]
若存在一个的最优(k,4,1)

循环包,k是一个正整数且为偶数,且任意初始区组v=v
even
∪v
odd
,则δ

1=2(mod 4)总是成立。
[0121]
由于对于k=1,2,3,6,7,8,9,10(mod 12)来说,存在一个(k,4,1)

循环包。对于一个存在的(k,4,1)

循环包来说,若k是一个正整数且为偶数,且任意初始区组v=v
even
∪v
odd
,则δ

1=2(mod 4)总是成立。因为初始区组之间不相交,满足了t

循环包的定义,即[k]中的每个元素都恰好出现在δ

1个子区组中,所以一个δ
‑1‑
规则包(k,4,1)存在。
[0122]
若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

局部性的最优码存在。
[0123]
步骤s200中,根据区组得到所述最优局部修复码的生成矩阵;其中,所述区组为所述规则包对应的区组;
[0124]
规则包存在唯一对应的区组,根据规则包中的区组与lrc的校验矩阵中的部分校验列向量的对应关系,可以得到最优lrc的生成矩阵;
[0125]
首先,根据lrc与包之间的关系,可以通过最优局部修复码的生成矩阵得到对应包的区组。例如:给定k=16,n=k+n1=36,以及r=4,δ=6的lrc,其生成矩阵为g=[i
16
|h],i
16
表示单位矩阵,h表示奇偶检验矩阵,规则包n1表示矩阵h列向量的列数,则有:g=[i
k
|h]
[0126]
其中,
[0127][0128]
再根据支集的定义,即奇偶校验矩阵中元素为非零的行位置就是支集的元素。从而根据上述的矩阵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(p
10
)={2,7,12,13},supp(p
11
)={3,8,9,14},supp(p
12
)={4,5,10,15}supp(p
13
)={1,7,9,15},supp(p
14
)={2,8,10,13},supp(p
15
)={3,5,11,16},supp(p
16
)={4,6,12,14}supp(p
17
)={1,8,11,14},supp(p
18
)={2,5,12,15},supp(p
19
)={3,6,9,16},supp(p
20
)={4,7,10,13}其中,p
i
(1≤i≤20)表示矩阵h的列向量。
[0129]
再根据包的定义,即集合中的任意两个不同元素组成的一对元素仅在整个集合中出现一次。从而对照上面得到的支集集合可以知道,该集合满足包的定义,则包对应的区组如下:
[0130]
{{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}}
[0131]
其次,根据lrc与包之间的关系,可以通过对应包的区组得到最优局部修复码的生成矩阵。例如:假设存在(16,4,1)

包,它对应的部分区组为{{1,5,9,13},{3,7,11,15},{13,14,15,16},{4,7,10,13}},则根据区组元素的数值对应为奇偶检验矩阵h列向量中数值为1的位数。根据上述的部分区组,我们就可以写出它对应的部分列向量,表示如下:
[0132][0133]
[0134][0135][0136]
其中,p
i
(1≤i≤4)表示矩阵h的列向量。
[0137]
以上仅为部分区组的举例,所以根据以上的举例,我们把所有区组进行上述的转化后,就可以得到奇偶检验矩阵h,再加上单位矩阵i
16
,就可以得到对应最优局部修复码的生成矩阵g=[i
16
|h],最终就可以得到一个拥有信息(4,6;1)
c

局部性的最优[36,16,6]
q
码。
[0138]
s300:根据所述生成矩阵得到所述最优局部修复码。
[0139]
根据可最优局部修复码的生成矩阵,可以构造出具有新参数(修复集大小为4)的最优lrc码。
[0140]
本发明实施例提供的基于包的最优局部修复码构造方法,仅需要通过已知参数的组合设计来进行直接和间接的构造最优lrc,构造过程简单;由于在构造过程中,实现了lrc的修复集的大小r最大能达到4,这意味着lrc的每个修复集中码元数量变多,即最优局部修复码的并行修复能力增强。
[0141]
本实施例中,根据lrc的检验码元个数n1与其修复集大小r的关系,即两者成反比关系,本实施例使得r的值增大,则检验码元n1减少;再根据lrc全部码元n与信息码元k和校验码元n1的关系,即n=k+n1,这表明在n保持不变的情况下,n1减少,k值将会增大,则该lrc可以存储更多的信息。
[0142]
本实施例中,根据最小汉明距离d与检验码元n1的关系,即d随着n1的减少而增大,这说明码元之间的距离可以增加,但不会使得码无法修复,也就是说lrc可以容忍更多信息码元的擦除。
[0143]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0144]
在本技术所提供的实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0145]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0146]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0147]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上
或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0148]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1