扩展EVENODD码的编码方法、解码方法及电子装置、存储介质制造方法及图纸

技术编号:39290322 阅读:11 留言:0更新日期:2023-11-07 10:59
本发明专利技术提供了扩展EVENODD码的编码方法、解码方法及电子装置、存储介质。通过获取待构造的扩展EVENODD码的信息比特数据,并确定扩展EVENODD码的校验列;执行编码得到所述扩展EVENODD码的校验列;水平校验列为所有信息磁盘中相同位置的信息比特数据的异或和;第一斜校验列为以第一列信息列中与斜校验比特数据同一行的信息比特为起点的斜率为1的所有信息比特数据的异或和,并将斜校验位与该列的一个公因子相异或;第二斜校验列为以第一列信息列中与斜校验比特数据同一行的信息比特为起点的斜率为2的所有信息比特数据的异或和,并将斜校验位与该列的一个公因子相异或。相比于现有技术,扩展EVENODD码的结构降低了编码复杂度,可以有效的恢复数据。可以有效的恢复数据。可以有效的恢复数据。

【技术实现步骤摘要】
扩展EVENODD码的编码方法、解码方法及电子装置、存储介质


[0001]本实施例涉及数据存储
,具体而言,涉及一种扩展EVENODD码的编码方法、解码方法及电子装置、存储介质。

技术介绍

[0002]随着计算机技术和物联网技术的发展,在这些技术与本实施例的生活交汇融合带来便利的同时,也产生了大量的数据,随着数据量的不断增加,存储系统出错的可能性越来越大,因此,人们对存储系统的可靠性的要求越来越高,最常见的容错技术包括多副本技术和纠删码技术。多副本技术将所有数据信息拷贝多份完全一样的副本分别存放在多个不同的节点上,当某个节点数据失效或损坏时可以从其他节点恢复数据以保证数据的可用性,但存储开销大,并且副本数越多,存储开销越大,成本高。在保障数据的可靠性的前提下节省存储开销,通常选择3副本技术。纠删码技术保证数据可靠性的前提下,在一定程度上解决了多副本技术带来的空间和资源消耗问题,通过调节信息数据块和冗余数据块的数量可以使存储系统在保证容错能力的前提下节省存储开销。
[0003]阵列码是一个被广泛用于提高存储系统中数据可靠性的m
×
n的阵列,独立冗余磁盘阵列(RAID)是一种典型的可以提高数据可靠性的阵列码。其中RAID

6是一种具有两个校验磁盘并且可以容忍任意两个磁盘故障的阵列码。二进制最大距离可分离码(MDS)是一种特殊的阵列码,它的编码/解码只涉及循环移位和异或(XOR)操作,具有操作简单,可靠性高的特点。
[0004]通常,现有技术中衡量一个阵列码的好坏是通过权衡其容错能力(最多可以容忍的失效磁盘数)、编码复杂度(编码得到校验磁盘数据时用到的异或个数)、解码复杂度(解码失效磁盘数据时用到的异或个数)等。典型的二进制MDS阵列码如EVENODD码、RDP码,它们可以容忍两列磁盘失效。其中,EVENODD码具有渐进最优的编、解码复杂度,但它要求每个磁盘存储奇素数减一个比特数据,存储性能低。

技术实现思路

[0005]有鉴于此,本实施例的目的在于改善EVENODD码参数范围受限、存储参数更加灵活的问题,将扩展EVENODD编解码方法的纠删码技术应用在分布式存储系统中,使得存储系统的性能得到提高。
[0006]本实施例的第一方面提供了一种扩展EVENODD码的编码方法,所述方法包括:
[0007]获取待构造的扩展EVENODD码的信息比特数据;
[0008]执行编码得到所述扩展EVENODD码的校验列;所述校验列包括水平校验列、第一斜校验列和第二斜校验列;
[0009]其中,水平校验列为所有信息磁盘中相同位置的信息比特数据的异或和;第一斜校验列为以第一列信息列中与斜校验比特数据同一行的信息比特为起点的斜率为1的所有信息比特数据的异或和,并将斜校验位与该列的一个公因子相异或;第二斜校验列为以第
一列信息列中与斜校验比特数据同一行的信息比特为起点的斜率为2的所有信息比特数据的异或和,并将斜校验位与该列的一个公因子相异或。
[0010]优选地,所述获取待构造的扩展EVENODD码的信息比特数据,包括:
[0011]将待构造的扩展EVENODD码表示成一个(p

1)τ
×
(k+3)阵列,其中p是一个奇素数,k表示信息列的列数,τ表示虚拟行行数,k,p满足k≤pτ;
[0012]在(p

1)τ
×
(k+3)阵列中,用a
i,j
表示第i行第j列的数据块,其中a
i,j
(0≤i≤(p

1)τ

1,0≤j≤k

1)表示信息位,a
i,j
(0≤i≤(p

1)τ

1,j=k,k+1,k+2)表示校验位,定义τ行虚拟行,即a
(p

1)τ+μ,j
=0,(0≤μ≤τ

1,0≤j≤k+2)。
[0013]此外,本实施例的第二方面提供了一种扩展EVENODD码的解码方法,所述方法包括:
[0014]获取待解码的扩展EVENODD码;
[0015]确定待解码的扩展EVENODD码的幸存磁盘分布;所述幸存磁盘分布包括幸存的信息列和校验列;所述校验列包括水平校验列、第一斜校验列和第二斜校验列;
[0016]根据幸存的信息列和校验列恢复出失效的信息列或检验列,从而获得原始的扩展EVENODD码。
[0017]优选地,所述根据幸存的信息列和校验列恢复出失效的信息列或检验列,包括:
[0018]当信息列全部幸存而校验列全部失效时,通过幸存的信息列重新进行编码,恢复出失效的校验列;
[0019]或者,当一列信息列和两列斜校验列失效时,通过幸存的信息列和水平校验列恢复出失效的信息列;通过全部信息列恢复出失效的校验列;
[0020]或者,当一列信息列和两列校验列失效且失效校验列包含水平校验列时,通过幸存的信息列和斜校验列恢复失效的信息列;通过全部信息列编码恢复出失效的校验列;
[0021]或者,当两列信息列和一列校验列失效时,通过幸存的信息列和校验列恢复失效的信息列;通过全部信息列编码恢复出失效水平校验列;
[0022]或者,三列信息列失效时,通过矩阵分解恢复失效的信息列。
[0023]此外,本实施例的第三方面提供了一种电子装置,所述电子装置包括:一个或多个处理器,存储器,所述存储器用于存储一个或多个计算机程序;所述计算机程序被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上第一方面所述的扩展EVENODD码的编码方法或第二方面所述的扩展EVENODD码的解码方法。
[0024]此外,本实施例的第四方面提供了一种存储介质,所述存储介质存储有计算机程序;所述程序由处理器加载并执行以实现如上第一方面所述的扩展EVENODD码的编码方法或第二方面所述的扩展EVENODD码的解码方法。
[0025]本实施例的方案中,通过获取待构造的扩展EVENODD码的信息比特数据;执行编码得到所述扩展EVENODD码的校验列;所述校验列包括水平校验列、第一斜校验列和第二斜校验列;其中,水平校验列为所有信息磁盘中相同位置的信息比特数据的异或和;第一斜校验列为以第一列信息列中与斜校验比特数据同一行的信息比特为起点的斜率为1的所有信息比特数据的异或和,并将斜校验位与该列的一个公因子相异或;第二斜校验列为以第一列信息列中与斜校验比特数据同一行的信息比特为起点的斜率为2的所有信息比特数据的异或和,并将斜校验位与该列的一个公因子相异或。相比于现有技术,扩展EVENODD码的结构
降低了τ>1时的编码复杂度,针对列失效的情况下有效的恢复数据。
附图说明
[0026]为了更清楚地说明本实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种扩展EVENODD码的编码方法,其特征在于,所述方法包括:获取待构造的扩展EVENODD码的信息比特数据;执行编码得到所述扩展EVENODD码的校验列;所述校验列包括水平校验列、第一斜校验列和第二斜校验列;其中,水平校验列为所有信息磁盘中相同位置的信息比特数据的异或和;第一斜校验列为以第一列信息列中与斜校验比特数据同一行的信息比特为起点的斜率为1的所有信息比特数据的异或和,并将斜校验位与该列的一个公因子相异或;第二斜校验列为以第一列信息列中与斜校验比特数据同一行的信息比特为起点的斜率为2的所有信息比特数据的异或和,并将斜校验位与该列的一个公因子相异或。2.根据权利要求1所述的扩展EVENODD码的编码方法,其特征在于,所述获取待构造的扩展EVENODD码的信息比特数据,包括:将待构造的扩展EVENODD码表示成一个p


×
(k+3)阵列,其中p是一个奇素数,k表示信息列的列数,τ表示虚拟行行数,k,p满足k≤pτ;在p


×
(k+3)阵列中,用a
i,j
表示第i行第j列的数据块,其中a
i,j
(0≤i≤p



1,0≤j≤k

1)表示信息位,a
i,j
(0≤i≤p



1,j=k,k+1,k+2)表示校验位,定义τ行虚拟行,即a
p

1τ+μ,j
=0,(0≤μ≤τ

1,0≤j≤k+2)。3.一种扩展EVENODD码的解码方法,其特征在于...

【专利技术属性】
技术研发人员:侯韩旭邱霞周伟杰
申请(专利权)人:东莞理工学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1