基于RS码的编解码方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:39044564 阅读:17 留言:0更新日期:2023-10-10 11:57
本发明专利技术提供了一种基于RS码的编解码方法、装置、计算机设备及存储介质。通过获取待构造RS码并确定待构造RS码的第一校验码字、第二校验码字和第三校验码字;对于输入的待编码的信息向量生成校正因子,并基于校正因子及其中间结果,确定第一校验码字、第二校验码字和第三校验码字的编码结果;所述校正因子、中间结果是基于所述信息向量的元素进行加法或乘法操作获得;返回编码后的RS码。相比于现有技术,通过在RS码编码时,通过计算快速校正子,利用中间计算结果,来计算校验码字的结果,减少乘法次数,从而降低编码复杂度;将RS码构造在商环上,利用环的性质,将多项式乘法转换为多项式系数的循环移位,消除了访问内存的操作,提高了编码性能。了编码性能。了编码性能。

【技术实现步骤摘要】
基于RS码的编解码方法、装置、计算机设备及存储介质


[0001]本专利技术涉及数据编解码
,具体而言,涉及一种基于RS码的编解码方法、装置、计算机设备及存储介质。

技术介绍

[0002]随着互联网、云计算、大数据时代的到来,数据在规模方面的显著特点是体量庞大和增长速度。例如社交网络Facebook上用户分享的图片在过去几年时间里增长了20倍,平均每年增长65%。除了用户数据的增长,其他领域的数据(如:如天气观测、视频监控、健康医护、传感器、用户数据、互联网科技公司以及供应链系统等)也在爆炸式增长。因此,以数据存储为核心已经成为各领域的重要发展趋势。
[0003]海量数据需要被可靠存储,分布式存储系统因其成本低廉、扩展性好被广泛采用,但随着系统节点规模和数据规模的不断扩大,庞大的节点数量使得部分节点失效成为常态。近年来一些大型系统中的统计数据表明,平均每天都会有1%~2%的节点发生失效。因此容错技术成为大数据存储中不可忽视的关键技术,该技术保证了当在部分存储节点失效的情况下数据仍然能够被正常地访问。近年来Facebook、Google和Amazon的数据中心多次宕机表明,基于多副本的容错技术不能提供高可靠性服务,同时多副本容错技术的高冗余性造成大量存储空间的浪费。相对于多副本容错技术技术,纠删码容错技术能够以低得多的存储开销提供相同甚至更高的数据可靠性。
[0004]在目前的纠删码存储系统中,编码方法一般采用Maximum Distance Separable(MDS)码,普通的MDS纠删码最多容许两个节点或磁盘失效,这显然无法满足如今系统节点规模庞大的存储系统的需求;且编码复杂度高、编解码性能低耗时长。

技术实现思路

[0005]有鉴于此,本专利技术的第一方面提供了一种基于RS码的编码方法,所述方法包括:
[0006]获取待构造RS码并确定待构造RS码的第一校验码字、第二校验码字和第三校验码字;
[0007]对于输入的待编码的信息向量生成校正因子,并基于校正因子及其中间结果,确定第一校验码字、第二校验码字和第三校验码字的编码结果;所述校正因子、中间结果是基于所述信息向量的元素进行加法或乘法操作获得;
[0008]返回编码后的RS码。
[0009]优选地,所述RS码构造在商环上;所述S102,还包括:使用循环移位代替所述乘法操作,确定第一校验码字、第二校验码字和第三校验码字的编码结果;其中,所述循环移位是基于商环的RS码乘法运算循环移位。
[0010]优选地,所述使用循环移位代替所述乘法操作,确定第一校验码字、第二校验码字和第三校验码字的编码结果,包括:
[0011]对于输入的待编码的具有k个信息码字的信息向量m,其第一校验码字p0、第二校
验码字p1和第三校验码字p2由以下编码公式计算得到:
[0012]在商环GF(2)[x]mod(1+x
p
)上用多项式表示每一列数据,M
p
(x)=1+x+

+x
(p

1)
,将(p

1)
×
(k+r)阵列表示成k+r个多项式,其中前k个多项式为信息多项式,后r个多项式为校验多项式,a
i,j
表示第j列的第i个比特数据,其中0≤i≤p

1,0≤j≤k+r

1,则每一个多项式表示为:
[0013]a
j
(X)=a0+a1x+

+a
j
‑1x
p
‑1,j=0,1,...,k+2;
[0014]信息多项式和校验多项式之间的关系如下:
[0015][0016]其中,w
i
为非零正整数集合N
+
={1,2,...,i}的第i个元素。
[0017]此外,本专利技术的第二方面提供了一种基于RS码的解码方法,所述方法包括:
[0018]获取待解码RS码;其中,待解码RS码包括第一校验码字、第二校验码字和第三校验码字;所述RS码构造在商环上;
[0019]确定存活的待解码RS码的各信息码字和校验码字;
[0020]根据信息码字和校验码字的存活状况,恢复出失效的信息码字或校验码字,以获得待解码RS码的解码结果。
[0021]优选地,所述待解码RS码为MDS码;所述根据信息码字和校验码字的存活状况,恢复出失效的信息码字或校验码字,以获得待解码RS码的解码结果,包括:
[0022]待解码RS码包括k信息列和三校验码字,根据信息码字和校验码字失效的情况,恢复出丢失的信息码字和校验码字;
[0023]当n个节点中同时有r个节点失效时,从剩下的n

r个节点中任选k个节点,恢复出原始数据;基于与校验码字的对应关系,待解码RS码包括k个信息码字。
[0024]本专利技术的第三方面提供了一种基于RS码的编码装置,所述装置包括构造模块、编码模块、返回模块;其中:
[0025]构造模块,用于获取待构造RS码并确定待构造RS码的第一校验码字、第二校验码字和第三校验码字;
[0026]编码模块,用于对于输入的待编码的信息向量生成校正因子,并基于校正因子及其中间结果,确定第一校验码字、第二校验码字和第三校验码字的编码结果;所述校正因子、中间结果是基于所述信息向量的元素进行加法或乘法操作获得;
[0027]返回模块,用于返回编码后的RS码。
[0028]本专利技术的第四方面提供了一种基于RS码的解码装置,所述装置包括获取模块、确定模块、解码模块;其中:
[0029]获取模块,用于获取待解码RS码;其中,待解码RS码包括第一校验码字、第二校验码字和第三校验码字;
[0030]确定模块,用于确定存活的待解码RS码的各信息码字和校验码字;
[0031]解码模块,用于根据信息码字和校验码字的存活状况,恢复出失效的信息码字或
校验码字,以获得待解码RS码的解码结果。
[0032]此外,本专利技术的第五方面提供了一种计算机设备,所述计算机设备包括:一个或多个处理器,存储器,所述存储器用于存储一个或多个计算机程序;其特征在于,所述计算机程序被配置成由所述一个或多个处理器执行,所述程序包括用于执行如第一方面所述的基于RS码的编码方法,或者,执行如第二方面所述的基于RS码的解码方法。
[0033]此外,本专利技术的第四方面提供了一种存储介质,所述存储介质存储有计算机程序;所述程序由处理器加载并执行如第一方面所述的基于RS码的编码方法,或者,执行如第二方面所述的基于RS码的解码方法。
[0034]本专利技术的方案中,相比于现有技术,通过在RS码编码时,通过计算快速校正子,利用中间计算结果,来计算校验码字的结果,减少乘法次数,从而降低编码复杂度;通过,将RS码构造在商环上,利用环的性质,将多项式乘法转换为多项式系数的循环移位,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RS码的编码方法,其特征在于,所述方法包括:获取待构造RS码并确定待构造RS码的第一校验码字、第二校验码字和第三校验码字;对于输入的待编码的信息向量生成校正因子,并基于校正因子及其中间结果,确定第一校验码字、第二校验码字和第三校验码字的编码结果;所述校正因子、中间结果是基于所述信息向量的元素进行加法或乘法操作获得;返回编码后的RS码。2.根据权利要求1所述的基于RS码的编码方法,其特征在于,所述RS码构造在商环上;所述S102,还包括:使用循环移位代替所述乘法操作,确定第一校验码字、第二校验码字和第三校验码字的编码结果;其中,所述循环移位是基于商环的RS码乘法运算循环移位。3.根据权利要求2所述的基于RS码的编码方法,其特征在于,所述使用循环移位代替所述乘法操作,确定第一校验码字、第二校验码字和第三校验码字的编码结果,包括:对于输入的待编码的具有k个信息码字的信息向量m,其第一校验码字p0、第二校验码字p1和第三校验码字p2由以下编码公式计算得到:在商环GF(2)[x]mod(1+x
p
)上用多项式表示每一列数据,M
p
(x)=1+x+

+x
(p

1)
,将(p

1)
×
(k+r)阵列表示成k+r个多项式,其中前k个多项式为信息多项式,后r个多项式为校验多项式,a
i,j
表示第j列的第i个比特数据,其中0≤i≤p

1,0≤j≤k+r

1,则每一个多项式表示为:a
j
(x)=a0+a1x+

+a
j
‑1x
p
‑1,j=0,1,...,k+2;信息多项式和校验多项式之间的关系如下:其中,w
i
为非零正整数集合N
+
={1,2,...,i}的第i个元素。4.一种基于RS码的解码方法,其特征在于,所述方法包括:获取待解码RS码;其中,待解码RS码包括第一校验码字、第二校验码字和第三校验码字;所述RS码构造在...

【专利技术属性】
技术研发人员:侯韩旭谭世铖李萍萍
申请(专利权)人:东莞理工学院
类型:发明
国别省市:

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

1