一种基于局部可修复阵列码的数据处理方法、装置及设备制造方法及图纸

技术编号:39311873 阅读:8 留言:0更新日期:2023-11-12 15:57
本申请实施例提供一种基于局部可修复阵列码的数据处理方法、装置及设备。该方法基于分包数为2的局部码的特点重新设计了s个全局校验矩阵,并基于分包数为2的局部码和s个全局校验矩阵构造分包数为2的局部可修复阵列码,并基于分包数为2的局部可修复阵列码,对源文件中的数据进行编码处理。该方法可以解决局部可修复阵列码码率低或分包数大的问题,同时有利于所有节点都能被高效修复。利于所有节点都能被高效修复。利于所有节点都能被高效修复。

【技术实现步骤摘要】
一种基于局部可修复阵列码的数据处理方法、装置及设备


[0001]本申请涉及计算机
,尤其涉及一种基于局部可修复阵列码的数据处理方法、装置及设备。

技术介绍

[0002]在分布式存储系统中,因单个存储节点容易失效,通常需要在系统中添加冗余数据来提高系统的可靠性。早期的分布式存储系统通常利用极大距离可分码(maximum distance separable,MDS),例如Reed

Solomon码,来实现数据的冗余备份。然而对于采用[n,k]MDS码的分布式存储系统而言,修复一个失效节点时需从剩下的节点中任意连接k个节点并下载其中的全部数据,这带来了极大的通信开销。
[0003]为降低节点修复过程中的通信开销,目前已提出了一种最小存储再生(minimum storage regenerating,MSR)码。MSR码是一种MDS阵列码,即每个节点存储多个元素。修复节点时连接d个帮助节点(d>k,即帮助节点数量大于存储文件的节点数量),并且仅从每个帮助节点下载部分数据来降低修复带宽。尽管MSR码能大大地降低修复带宽,但需连接更多的帮助节点。目前还提出了一种局部可修复阵列码,但是该局部可修复阵列码的构造依赖于一个支持d<n

1(即帮助节点数量小于系统未失效节点(也称为剩余节点)数量)的MSR码。对于支持d<n

1的这一类MSR码,要么码率低要么分包数非常大,从而导致所能构造的局部可修复阵列码也存在码率低或者分包数非常大的缺陷。

技术实现思路

[0004]本申请提供一种基于局部可修复阵列码的数据处理方法、装置及设备,该方法基于分包数为2的局部码的特点重新设计了s个全局校验矩阵,并基于分包数为2的局部码和s个全局校验矩阵构造分包数为2的局部可修复阵列码,可以解决局部可修复阵列码码率低或分包数大的问题,有利于所有节点都能被高效修复。
[0005]第一方面,本申请提供一种基于局部可修复阵列码的数据处理方法。该方法由控制设备(例如包括编码器、重构器和修复器等功能模块)所执行。其中,控制设备基于分包数为2的局部码和s个全局校验方程,构造分包数为2的局部可修复阵列码,并基于分包数为2的局部可修复阵列码,对源文件中的数据进行编码处理。其中,局部可修复阵列码的参数包括m(k+r)份编码后的数据和/或mk

s份待编码的数据,m(k+r)份编码后的数据是对mk

s份待编码的数据进行编码后得到的数据。
[0006]该方法中,采用分包数为2的局部码,匹配s个全局校验方程构造出分包数为2、具有较小修复带宽、码率可灵活调整的局部可修复阵列码,从而解决了现有局部可修复阵列码码率低或分包数大的问题。
[0007]在一种可能的实施方式中,局部码为极大距离可分MDS阵列码。局部码包括r个局部校验矩阵,一个局部校验矩阵包括多个第一校验矩阵块,各个第一校验矩阵块为2阶对角阵或者上三角阵或者下三角阵。
[0008]该方法中,采用校验点个数为r≥2,分包数为2的MDS阵列码作为局部码,有利于降低局部可修复阵列码的分包数和修复带宽。
[0009]在一种可能的实施方式中,s个全局校验方程包括s个全局校验矩阵,一个全局校验矩阵包括多个第二校验矩阵块,各个第二校验矩阵块为2阶对角阵,第二校验矩阵块中的元素是根据对应的第一校验矩阵块中的元素确定的。
[0010]该方法中,采用分包数仅为2的MDS阵列码为局部码,并根据局部码的特点重新设计了全局校验矩阵块,有利于解决现有局部可修复阵列码码率低或分包数大的问题,并且有利于高效修复所有节点。
[0011]在一种可能的实施方式中,将源文件中的数据分为mk

s份待编码的数据,每一份待编码的数据包括2个元素;基于局部可修复阵列码对mk

s份待编码的数据进行编码处理,确定m(k+r)份编码后的数据。其中,每k+r份编码后的数据存储于k+r个存储节点中,k+r个存储节点构成一个局部组。例如,编码器根据如下所示的校验方程进行编码:
[0012][0013]其中,H
i
表示局部组i对应的局部校验矩阵,i满足0≤i<m。局部校验矩阵H
i
满足如下公式:
[0014][0015]其中,矩阵满足:
[0016][0017]其中,2|j表示j为偶数,other表示j为奇数的情况。i满足i=0,1,...,m

1,j满足j=0,1,...,k+r

1,t满足t=0,1,...,r

1。为有限域F
q
中任选m(k+r)个两两互不相等且不等于0且不等于1的元素,素数幂q满足q>m(k+r)+1。
[0018]P
i
表示局部组i对应的s个全局校验矩阵的第i部分,全局校验矩阵的第i部分P
i
满足如下公式:
[0019][0020]在一种可能的实施方式中,当接收重构指令时,根据重构指令所指示的未连接的节点数量,采用局部可修复阵列码重构未连接的节点中的数据。
[0021]该方法中,若控制设备接收主机发出的重构指令,可以连接足够的存储节点并下载存储节点中的数据,并采用局部可修复阵列码重构所述未连接的节点中的数据,从而实现高效的数据重构。
[0022]在一种可能的实施方式中,当重构指令所指示的一个局部组中未连接的节点个数小于等于r个时,采用所述局部组对应的局部校验方程重构该局部组中未连接的节点中的数据。例如,采用以下校验方程解出未连接的节点中的数据:
[0023][0024]其中,H
i
表示局部组i对应的局部校验矩阵,i满足0≤i<m,f
i,j
表示局部组i中节点j的数据,j满足0≤j<k+r。
[0025]在一种可能的实施方式中,当重构指令所指示的一个局部组中未连接的节点个数大于r个且小于等于r+s个时,采用局部组对应的局部校验矩阵和全局校验矩阵重构局部组中未连接的节点中的数据。例如,采用以下校验方程解出未连接的节点中的数据:
[0026][0027]其中,H
i
表示局部组i对应的局部校验矩阵,P
i
表示局部组i对应的s个全局校验矩阵的第i部分,i满足0≤i<m,f
i,j
表示局部组i中节点j的数据,j满足0≤j<k+r。
[0028]在一种可能的实施方式中,当重构指令所指示的多个局部组中未连接的节点个数分别都大于r个,且多个局部组中未连接的节点个数之和小于等于r+s个时,采用多个局部组分别对应的局部校验矩阵和全局校验矩阵重构多个局部组中未连接的节点中的数据。例如,采用以下校验方程解出未连接的节点中的数据:
[0029][003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于局部可修复阵列码的数据处理方法,其特征在于,包括:基于分包数为2的局部码和s个全局校验方程,构造分包数为2的局部可修复阵列码,所述局部可修复阵列码的参数包括m(k+r)份编码后的数据和/或mk

s份待编码的数据,所述m(k+r)份编码后的数据是对所述mk

s份待编码的数据进行编码后得到的数据;基于所述局部可修复阵列码,对源文件中的数据进行编码处理。2.根据权利要求1所述的方法,其特征在于,所述局部码为极大距离可分MDS阵列码,所述局部码包括r个局部校验矩阵,一个局部校验矩阵包括多个第一校验矩阵块,各个第一校验矩阵块为2阶对角阵或者上三角阵或者下三角阵。3.根据权利要求1所述的方法,其特征在于,所述s个全局校验方程包括s个全局校验矩阵,一个全局校验矩阵包括多个第二校验矩阵块,各个第二校验矩阵块为2阶对角阵,第二校验矩阵块中的元素是根据对应的第一校验矩阵块中的元素确定的。4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述局部可修复阵列码,对源文件中的数据进行编码处理,包括:将所述源文件中的数据分为mk

s份待编码的数据,每一份待编码的数据包括2个元素;基于所述局部可修复阵列码对所述mk

s份待编码的数据进行编码处理,确定m(k+r)份编码后的数据,其中,每k+r份编码后的数据存储于k+r个存储节点中,所述k+r个存储节点构成一个局部组。5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:当接收重构指令时,根据所述重构指令所指示的未...

【专利技术属性】
技术研发人员:李杰韩永祥唐小虎白铂张弓
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1