CN111682874B - 一种数据恢复的方法、系统、设备及可读存储介质 - Google Patents

一种数据恢复的方法、系统、设备及可读存储介质 Download PDF

Info

Publication number
CN111682874B
CN111682874B CN202010530558.6A CN202010530558A CN111682874B CN 111682874 B CN111682874 B CN 111682874B CN 202010530558 A CN202010530558 A CN 202010530558A CN 111682874 B CN111682874 B CN 111682874B
Authority
CN
China
Prior art keywords
data block
matrix
cauchy
data
recovered
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.)
Active
Application number
CN202010530558.6A
Other languages
English (en)
Other versions
CN111682874A (zh
Inventor
吴睿振
王明明
王凛
吴艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202010530558.6A priority Critical patent/CN111682874B/zh
Publication of CN111682874A publication Critical patent/CN111682874A/zh
Application granted granted Critical
Publication of CN111682874B publication Critical patent/CN111682874B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据恢复的方法,包括:根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块;根据待恢复数据块的编号计算对应的柯西逆矩阵,并根据原始数据块及校验数据块生成数据矩阵;根据柯西逆矩阵与数据矩阵的乘积对待恢复数据块进行数据恢复。本申请在解码时对随机组合的矩阵求逆运算可以基于需要求逆的柯西矩阵行列式数目通过查表得到关系式,然后代入待恢复数据块的编号即可得到所有需要的逆矩阵元素,省略了大部分运算,降低了运算复杂度,并提高了运算速度和并行度。本申请同时还提供了一种数据恢复的系统、设备及可读存储介质,具有上述有益效果。

Description

一种数据恢复的方法、系统、设备及可读存储介质
技术领域
本申请涉及数据恢复领域,特别涉及一种数据恢复的方法、系统、设备及可读存储介质。
背景技术
面对海量数据的存储要求,分布式存储以其成本低廉,可扩展性好等优势逐渐取代了统一存储的主导地位,在理论研究和实际应用方面得到了越来越多的关注。分布式存储系统多以廉价的磁盘作为存储节点,每个存储节点的可靠性往往不会很高,另一方面,一个分布式存储系统通常包含很多的节点,由于软硬件故障,人为失误等原因,系统常常发生节点失效的情况。
为了提高分布式存储系统的数据可靠性,保证数据收集节点能以很高的概率实现原始文件的重构,需要在存储原始数据的基础上,额外存储一定数量的冗余,使得在出现部分节点失效的情况下,系统仍然可以正常运行,数据收集节点仍然可以对原始文件实现解码恢复。同时,为了维持系统的可靠性,需要对失效的节点及时进行修复,因此,设计一个良好的节点修复机制十分重要。
现有技术中采用纠删码技术对数据进行恢复,然而纠删码技术在解码时需要对随机组合的矩阵求逆,给基于柯西矩阵的存储数据恢复增加了计算复杂度,导致采用纠删码技术的数据恢复速度过慢。
因此,如何提高数据恢复的速度是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种数据恢复的方法、系统、设备及可读存储介质,用于提高数据恢复的速度。
为解决上述技术问题,本申请提供一种数据恢复的方法,该方法包括:
根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块;
根据所述待恢复数据块的编号计算对应的柯西逆矩阵,并根据所述原始数据块及所述校验数据块生成数据矩阵;
根据所述柯西逆矩阵与所述数据矩阵的乘积对所述待恢复数据块进行数据恢复。
可选的,所述根据所述待恢复数据块的编号计算对应的柯西逆矩阵,包括:
根据所述待恢复数据块的编号确定柯西矩阵的元素a1
根据公式
Figure BDA0002535225730000022
计算所述柯西逆矩阵;
其中,
Figure BDA0002535225730000023
为所述柯西逆矩阵,i和j分别为所述柯西逆矩阵中元素的位置参数,n为所述柯西逆矩阵的阶数,a1为所述柯西矩阵的元素,Z′为2n-1个以a1为底的参数乘积作为每个位置的元素组合而成的下三角阵。
可选的,在根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块之前,还包括:
根据公式
Figure BDA0002535225730000021
构造n阶柯西矩阵;
根据所述n阶柯西矩阵及所述原始数据块计算所述校验数据块。
可选的,根据所述柯西逆矩阵与所述数据矩阵的乘积对所述待恢复数据块进行数据恢复,包括:
根据所述待恢复数据块的编号从所述柯西逆矩阵与所述数据矩阵的乘积中选取对应的数据块;
将所述待恢复数据块的值更新为所述数据块的值。
本申请还提供一种数据恢复的系统,该系统包括:
确定模块,用于根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块;
第一计算模块,用于根据所述待恢复数据块的编号计算对应的柯西逆矩阵,并根据所述原始数据块及所述校验数据块生成数据矩阵;
数据恢复模块,用于根据所述柯西逆矩阵与所述数据矩阵的乘积对所述待恢复数据块进行数据恢复。
可选的,所述第一计算模块包括:
确定子模块,用于根据所述待恢复数据块的编号确定柯西矩阵的元素a1;计算子模块,用于根据公式
Figure BDA0002535225730000032
计算所述柯西逆矩阵;
其中,
Figure BDA0002535225730000033
为所述柯西逆矩阵,i和j分别为所述柯西逆矩阵中元素的位置参数,n为所述柯西逆矩阵的阶数,a1为所述柯西矩阵的元素,Z′为2n-1个以a1为底的参数乘积作为每个位置的元素组合而成的下三角阵。
可选的,还包括:
构造模块,用于根据公式
Figure BDA0002535225730000031
构造n阶柯西矩阵;
第二计算模块,用于根据所述n阶柯西矩阵及所述原始数据块计算所述校验数据块。
可选的,所述数据恢复模块包括:
选取子模块,用于根据所述待恢复数据块的编号从所述柯西逆矩阵与所述数据矩阵的乘积中选取对应的数据块;
更新子模块,用于将所述待恢复数据块的值更新为所述数据块的值。
本申请还提供一种数据恢复设备,该数据恢复设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述数据恢复的方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述数据恢复的方法的步骤。
本申请所提供数据恢复的方法,包括:根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块;根据待恢复数据块的编号计算对应的柯西逆矩阵,并根据原始数据块及校验数据块生成数据矩阵;根据柯西逆矩阵与数据矩阵的乘积对待恢复数据块进行数据恢复。
本申请所提供的技术方案,通过根据待恢复数据块的编号计算对应的柯西逆矩阵,并根据原始数据块及校验数据块生成数据矩阵,然后根据柯西逆矩阵与数据矩阵的乘积对待恢复数据块进行数据恢复,使得在解码时对随机组合的矩阵求逆运算可以基于需要求逆的柯西矩阵行列式数目通过查表得到关系式,然后代入待恢复数据块的编号即可得到所有需要的逆矩阵元素,省略了大部分运算,降低了运算复杂度,并提高了运算速度和并行度。本申请同时还提供了一种数据恢复的系统、设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种数据恢复的方法的流程图;
图2为本申请实施例所提供的一种数据恢复的系统的结构图;
图3为本申请实施例所提供的另一种数据恢复的系统的结构图;
图4为本申请实施例所提供的一种数据恢复设备的结构图。
具体实施方式
本申请的核心是提供一种数据恢复的方法、系统、设备及可读存储介质,用于提高数据恢复的速度。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
纠删码(Erasure Code)属于编码理论中的一种向前纠错技术,最早应用于通信领域以解决数据传输中的丢失与损耗这类问题。由于纠删码技术在防止数据丢失上取得了较好的效果,因此被引入存储领域。纠删码可以在保证相同可靠性的前提下有效地降低存储开销,因此纠删码技术被广泛地应用于各大存储系统以及数据中心例如微软的Azure、Facebook的F4等。纠删码的种类众多,在实际存储系统中较常见的有应用在分布式环境下的RS码(Reed-Solomon Code)。RS码与两个参数k和r相关;给定两个正整数k和r,RS码将k个数据块编码为r个额外的校验块。而r个校验块基于柯西矩阵进行的编码就称为柯西矩阵编码的RS纠删码,在一个具体实施例中,以k=4,r=2为例,此时原始数据块4块,增加的校验码块2块。则使用柯西矩阵编码的RS纠删编码矩阵为:
Figure BDA0002535225730000051
上部分的k*k矩阵对应的就是k个原始数据块,下部分的r*k矩阵对应的就是柯西矩阵,柯西矩阵是一类重要的位移矩阵,具有Toeplitz矩阵和Hankel矩阵特性,通过与原始数据D1到Dk相乘,得到新添加的P1到Pr就是编码所得到的r个校验数据。当其中任意r个数据在传输中出错或丢失,需要进行纠错时,即用剩余数据所对应矩阵的逆阵与数据相乘,即会得到原始数据块D1到Dk(推导过程不在赘述)。
以D2到D3数据丢失,进行解码纠错为例,过程如下所示:
Figure BDA0002535225730000052
即在进行数据恢复时,需要对柯西矩阵进行求逆运算,常见的求逆方式有高斯消元法和拉格朗日插值法。
针对不同的待存储原始数据块数量,需要不同的校验数据块数量,因此需要构造不同的柯西矩阵。而不同的编码情况下,丢失存储数据块的组合是随机的,即在解码时会有随机组合的矩阵待求逆,给基于柯西矩阵的RS纠删解码与存储数据恢复增加了计算复杂度,导致采用纠删码技术的数据恢复速度过慢。
故本申请提供了一种数据恢复的方法,用于解决上述问题。
请参考图1,图1为本申请实施例所提供的一种数据恢复的方法的流程图。
其具体包括如下步骤:
S101:根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块;
这里提到的待恢复数据块的编号即为上述实施例中丢失的数据D2及D3,原始数据块即为上述实施例中未丢失的数据D1及D4,校验数据块即为上述实施例中的P1及P2。
可选的,在根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块之前,还可以执行如下步骤完成柯西矩阵的构造及校验数据块的计算:
根据公式
Figure BDA0002535225730000061
构造n阶柯西矩阵;
根据n阶柯西矩阵及原始数据块计算校验数据块。
S102:根据待恢复数据块的编号计算对应的柯西逆矩阵,并根据原始数据块及校验数据块生成数据矩阵;
可选的,这里提到的根据原始数据块及校验数据块生成数据矩阵,即为根据上述实施例中原始数据块D1及D4以及校验数据块P1及P2,生成数据矩阵
Figure BDA0002535225730000062
可选的,这里提到的根据待恢复数据块的编号计算对应的柯西逆矩阵,其具体可以为:
根据待恢复数据块的编号确定柯西矩阵的元素a1
根据公式
Figure BDA0002535225730000071
计算柯西逆矩阵;
其中,
Figure BDA0002535225730000075
为柯西逆矩阵,i和j分别为所述柯西逆矩阵中元素的位置参数,n为柯西逆矩阵的阶数,a1为柯西矩阵的元素,Z′为2n-1个以a1为底的参数乘积作为每个位置的元素组合而成的下三角阵。
常见的求逆方式有高斯消元法和拉格朗日插值法,这里以拉格朗日插值法为例,对柯西矩阵进行求逆运算,其过程为:
Figure BDA0002535225730000072
其中,Z=[zij]表示的是n*n阶的柯西矩阵的逆矩阵,a和b为上述柯西矩阵构造的基本运算单元,将上式变化为:
Figure BDA0002535225730000073
可知Z=[zij]的柯西逆矩阵基于对角线元素(ai+bi)成对角线特性,因此本申请基于Toeplitz矩阵特性构造柯西矩阵编解码基本运算单元矩阵为:
Figure BDA0002535225730000074
这样基本运算单元矩阵具有明显的Toeplitz矩阵特性,Toeplitz矩阵特性指的是矩阵的主对角线上的元素相等,平行于主对角线的线上的元素也相等;矩阵中的各元素关于次对角线对称,即T型矩阵为次对称矩阵,在编解码时可以基于Toeplitz矩阵特性省略部分解码逆矩阵运算。
在此基础上,则编码的柯西矩阵构造算法为:
Figure BDA0002535225730000081
Figure BDA0002535225730000082
Figure BDA0002535225730000083
可知针对不同柯西矩阵n的需求,按照以上算法柯西校验阵的编码元素无需计算,可以直接通过需要的柯西矩阵行列式数目n得到,运算量仅为2n-1。
则对应的柯西逆矩阵为
Figure BDA0002535225730000084
从柯西矩阵编解码基本运算单元矩阵D的特性可知:an+1=bn。于是可得:
Figure BDA0002535225730000091
即是求逆可分为一个行矩阵与n×n矩阵Z′的乘法,经由柯西矩阵编解码基本运算单元矩阵的特性可知,如果m+m=x+y则am+an=ax+ay,即基于基本单元矩阵得到的矩阵Z′也具有Toeplitz矩阵特性,即是对于右半部分的Z′=[z′ij]的逆矩阵,有z′ij=z′ji
则对Z′再基于a1做变化为:
Figure BDA0002535225730000092
由上可知,对于Z=[zij]的柯西逆矩阵,当n为任意数时都可以转换为以下形式:
Figure BDA0002535225730000093
其中,
Figure BDA0002535225730000094
为柯西逆矩阵,i和j分别为所述柯西逆矩阵中元素的位置参数,n为柯西逆矩阵的阶数,a1为柯西矩阵的元素,Z′为2n-1个以a1为底的参数乘积作为每个位置的元素组合而成的下三角阵,其乘积关系符合下三角矩阵的构造关系,从n=2时开始进行乘积元素叠加而成,可以规律性构造实现。为方便运算,这里以如上所示的查表方式表示。当n=2时取2×2矩阵的下三角式的乘积前二位实现,n=3时,取3×3矩阵的下三角式前四位实现,同理以此类推。上三角式与下三角式成对称相等关系,无需运算。
本申请所提出的柯西逆矩阵快速求法即为通过上式确定需要求逆的柯西矩阵的行列数n,然后根据待恢复数据的编号,确定柯西矩阵的元素a1,例如当丢失数据为D3时,即将a1的值更新为a3的值,然后再完成求逆运算即可。
S103:根据柯西逆矩阵与数据矩阵的乘积对待恢复数据块进行数据恢复。
可选的,这里提到的,根据柯西逆矩阵与数据矩阵的乘积对待恢复数据块进行数据恢复,其具体可以为:
根据待恢复数据块的编号从柯西逆矩阵与数据矩阵的乘积中选取对应的数据块;
将待恢复数据块的值更新为数据块的值。
基于上述技术方案,本申请所提供的一种数据恢复的方法,通过根据待恢复数据块的编号计算对应的柯西逆矩阵,并根据原始数据块及校验数据块生成数据矩阵,然后根据柯西逆矩阵与数据矩阵的乘积对待恢复数据块进行数据恢复,使得在解码时对随机组合的矩阵求逆运算可以基于需要求逆的柯西矩阵行列式数目通过查表得到关系式,然后代入待恢复数据块的编号即可得到所有需要的逆矩阵元素,省略了大部分运算,降低了运算复杂度,并提高了运算速度和并行度。
请参考图2,图2为本申请实施例所提供的一种数据恢复的系统的结构图。
该系统可以包括:
确定模块100,用于根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块;
第一计算模块200,用于根据待恢复数据块的编号计算对应的柯西逆矩阵,并根据原始数据块及校验数据块生成数据矩阵;
数据恢复模块300,用于根据柯西逆矩阵与数据矩阵的乘积对待恢复数据块进行数据恢复。
请参考图3,图3为本申请实施例所提供的另一种数据恢复的系统的结构图。
该第一计算模块200可以包括:
确定子模块,用于根据待恢复数据块的编号确定柯西矩阵的元素a1
计算子模块,用于根据公式
Figure BDA0002535225730000111
计算柯西逆矩阵;
其中,
Figure BDA0002535225730000113
为柯西逆矩阵,i和j分别为所述柯西逆矩阵中元素的位置参数,n为柯西逆矩阵的阶数,a1为柯西矩阵的元素,Z′为2n-1个以a1为底的参数乘积作为每个位置的元素组合而成的下三角阵。
该系统还可以包括:
构造模块,用于根据公式
Figure BDA0002535225730000112
构造n阶柯西矩阵;
第二计算模块,用于根据n阶柯西矩阵及原始数据块计算校验数据块。
该数据恢复模块300可以包括:
选取子模块,用于根据待恢复数据块的编号从柯西逆矩阵与数据矩阵的乘积中选取对应的数据块;
更新子模块,用于将待恢复数据块的值更新为数据块的值。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参考图4,图4为本申请实施例所提供的一种数据恢复设备的结构图。
该数据恢复设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器422可以设置为与存储介质430通信,在数据恢复设备400上执行存储介质430中的一系列指令操作。
数据恢复设备400还可以包括一个或一个以上电源424,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述图1所描述的数据恢复的方法中的步骤由数据恢复设备基于该图4所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种数据恢复的方法、系统、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种数据恢复的方法,其特征在于,包括:
根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块;
根据所述待恢复数据块的编号计算对应的柯西逆矩阵,并根据所述原始数据块及所述校验数据块生成数据矩阵;
根据所述柯西逆矩阵与所述数据矩阵的乘积对所述待恢复数据块进行数据恢复;其中:
所述根据所述待恢复数据块的编号计算对应的柯西逆矩阵,包括:
根据所述待恢复数据块的编号确定柯西矩阵的元素
Figure DEST_PATH_IMAGE001
根据公式
Figure 159252DEST_PATH_IMAGE002
计算所述柯西逆矩阵;
其中,
Figure DEST_PATH_IMAGE003
为所述柯西逆矩阵,i和j分别为所述柯西逆矩阵中元素的位置参数,n为所述柯西逆矩阵的阶数,
Figure 279655DEST_PATH_IMAGE004
为所述柯西矩阵的元素,
Figure DEST_PATH_IMAGE005
为2n-1个以
Figure 262655DEST_PATH_IMAGE006
为底的参数乘积作为每个位置的元素组合而成的下三角阵。
2.根据权利要求1所述的方法,其特征在于,在根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块之前,还包括:
根据公式
Figure 126705DEST_PATH_IMAGE007
构造n阶柯西矩阵;
根据所述n 阶柯西矩阵及所述原始数据块计算所述校验数据块。
3.根据权利要求1所述的方法,其特征在于,根据所述柯西逆矩阵与所述数据矩阵的乘积对所述待恢复数据块进行数据恢复,包括:
根据所述待恢复数据块的编号从所述柯西逆矩阵与所述数据矩阵的乘积中选取对应的数据块;
将所述待恢复数据块的值更新为所述数据块的值。
4.一种数据恢复的系统,其特征在于,包括:
确定模块,用于根据输入的数据恢复请求确定待恢复数据块的编号、原始数据块及校验数据块;
第一计算模块,用于根据所述待恢复数据块的编号计算对应的柯西逆矩阵,并根据所述原始数据块及所述校验数据块生成数据矩阵;
数据恢复模块,用于根据所述柯西逆矩阵与所述数据矩阵的乘积对所述待恢复数据块进行数据恢复;其中:
所述第一计算模块包括:
确定子模块,用于根据所述待恢复数据块的编号确定柯西矩阵的元素
Figure 966802DEST_PATH_IMAGE010
计算子模块,用于根据公式
Figure DEST_PATH_IMAGE011
计算所述柯西逆矩阵;
其中,
Figure 437098DEST_PATH_IMAGE003
为所述柯西逆矩阵,i和j分别为所述柯西逆矩阵中元素的位置参数,n为所述柯西逆矩阵的阶数,
Figure 370419DEST_PATH_IMAGE012
为所述柯西矩阵的元素,
Figure 773719DEST_PATH_IMAGE005
为2n-1个以
Figure 235924DEST_PATH_IMAGE006
为底的参数乘积作为每个位置的元素组合而成的下三角阵。
5.根据权利要求4所述的系统,其特征在于,还包括:
构造模块,用于根据公式
Figure DEST_PATH_IMAGE013
构造n阶柯西矩阵;
第二计算模块,用于根据所述n阶柯西矩阵及所述原始数据块计算所述校验数据块。
6.根据权利要求4所述的系统,其特征在于,所述数据恢复模块包括:
选取子模块,用于根据所述待恢复数据块的编号从所述柯西逆矩阵与所述数据矩阵的乘积中选取对应的数据块;
更新子模块,用于将所述待恢复数据块的值更新为所述数据块的值。
7.一种数据恢复设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述数据恢复的方法的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述数据恢复的方法的步骤。
CN202010530558.6A 2020-06-11 2020-06-11 一种数据恢复的方法、系统、设备及可读存储介质 Active CN111682874B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010530558.6A CN111682874B (zh) 2020-06-11 2020-06-11 一种数据恢复的方法、系统、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010530558.6A CN111682874B (zh) 2020-06-11 2020-06-11 一种数据恢复的方法、系统、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111682874A CN111682874A (zh) 2020-09-18
CN111682874B true CN111682874B (zh) 2022-06-17

Family

ID=72454879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010530558.6A Active CN111682874B (zh) 2020-06-11 2020-06-11 一种数据恢复的方法、系统、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111682874B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286449B (zh) * 2020-10-16 2023-04-25 山东云海国创云计算装备产业创新中心有限公司 一种rs纠删处理设备及分布式存储系统
CN112799875B (zh) * 2020-12-18 2023-01-06 苏州浪潮智能科技有限公司 基于高斯消元进行校验恢复的方法、系统、设备及介质
CN113505019B (zh) * 2021-05-14 2024-01-26 山东云海国创云计算装备产业创新中心有限公司 一种纠删码数据及校验恢复方法、装置、设备及可读介质
CN114442950B (zh) * 2022-01-21 2024-01-23 山东云海国创云计算装备产业创新中心有限公司 一种数据恢复方法、系统、装置及计算机可读存储介质
CN117632041A (zh) * 2024-01-25 2024-03-01 国家计算机网络与信息安全管理中心天津分中心 基于再生码的分布式存储方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449746B1 (en) * 1998-08-17 2002-09-10 T. K. Truong Decoding method for correcting both erasures and errors of reed-solomon codes
CN105338035A (zh) * 2014-08-07 2016-02-17 苏宁云商集团股份有限公司 基于rs纠删码的安全存储方法和装置
CN110502365A (zh) * 2019-07-11 2019-11-26 平安科技(深圳)有限公司 数据存储及恢复的方法、装置及计算机设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100218037A1 (en) * 2008-09-16 2010-08-26 File System Labs Llc Matrix-based Error Correction and Erasure Code Methods and Apparatus and Applications Thereof
KR102181553B1 (ko) * 2014-01-10 2020-11-24 삼성전자주식회사 전자장치에서 부호화 및 복호화를 위한 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449746B1 (en) * 1998-08-17 2002-09-10 T. K. Truong Decoding method for correcting both erasures and errors of reed-solomon codes
CN105338035A (zh) * 2014-08-07 2016-02-17 苏宁云商集团股份有限公司 基于rs纠删码的安全存储方法和装置
CN110502365A (zh) * 2019-07-11 2019-11-26 平安科技(深圳)有限公司 数据存储及恢复的方法、装置及计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
The efficient implementation of Reed-Solomon high rate erasure resilient codes;Jin Li;《 Proceedings. (ICASSP "05). IEEE International Conference on Acoustics, Speech, and Signal Processing》;20050509;1097-1100 *
分布式存储系统上的 RS 纠删码研究与应用;周亮;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20180315;I137-46 *

Also Published As

Publication number Publication date
CN111682874A (zh) 2020-09-18

Similar Documents

Publication Publication Date Title
CN111682874B (zh) 一种数据恢复的方法、系统、设备及可读存储介质
CN112860475B (zh) 基于rs纠删码的校验块恢复方法、装置、系统及介质
CN111697976B (zh) 一种基于分布式存储的rs纠删快速解码方法及系统
CN107086870B (zh) 修复多节点失效的mds阵列码编码以及解码方法
CN111858142A (zh) 一种数据处理方法、装置及电子设备和存储介质
CN107852176A (zh) Ldpc码编码器和译码器
CN111858169B (zh) 一种数据恢复方法、系统及相关组件
CN114153651B (zh) 一种数据编码方法、装置、设备及介质
CN112799875B (zh) 基于高斯消元进行校验恢复的方法、系统、设备及介质
CN113297000A (zh) 一种raid编码电路及编码方法
CN113297001A (zh) 一种raid编解码方法及编解码电路
WO2023197506A1 (zh) 一种数据存储方法、系统、设备及存储介质
CN113687975A (zh) 数据处理方法、装置、设备及存储介质
Hou et al. New MDS array code correcting multiple disk failures
CN115454712A (zh) 一种校验码恢复方法、系统、电子设备及存储介质
CN114895842A (zh) 一种tp-raid编解码方法、系统、设备及存储介质
CN115113816A (zh) 一种纠删码数据处理系统、方法、计算机设备及介质
CN107463462B (zh) 数据修复方法及数据修复装置
Chen et al. A new Zigzag MDS code with optimal encoding and efficient decoding
CN113157321B (zh) Arm平台下基于neon指令加速的纠删编解码方法及装置
JP5278115B2 (ja) 冗長符号生成方法及び装置、データ復元方法及び装置、並びにraid記憶装置
US10379952B2 (en) Data recovery and regeneration using parity code
CN108352845A (zh) 用于对存储数据进行编码的方法以及装置
CN114244376B (zh) 一种数据编码方法、系统、设备以及介质
US11528037B1 (en) Hardware architecture for local erasure correction in SSD/UFS via maximally recoverable codes

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