CN113505019A - 一种纠删码数据及校验恢复方法、装置、设备及可读介质 - Google Patents

一种纠删码数据及校验恢复方法、装置、设备及可读介质 Download PDF

Info

Publication number
CN113505019A
CN113505019A CN202110528328.0A CN202110528328A CN113505019A CN 113505019 A CN113505019 A CN 113505019A CN 202110528328 A CN202110528328 A CN 202110528328A CN 113505019 A CN113505019 A CN 113505019A
Authority
CN
China
Prior art keywords
data
recovered
block
check
matrix
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.)
Granted
Application number
CN202110528328.0A
Other languages
English (en)
Other versions
CN113505019B (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 CN202110528328.0A priority Critical patent/CN113505019B/zh
Publication of CN113505019A publication Critical patent/CN113505019A/zh
Application granted granted Critical
Publication of CN113505019B publication Critical patent/CN113505019B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Abstract

本发明提供了一种纠删码数据及校验恢复的方法、装置、设备及可读介质,该方法包括:基于数据信息判断待恢复的数据块和/或校验块是否满足恢复条件;响应于满足恢复条件,将待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆;将求逆后得到的矩阵与待恢复的数据块和/或校验块的行列式组成的矩阵做乘法;将乘法后得到矩阵与待恢复数据块和/或校验块以外的其余数据块中的第一数量的数据块和/或校验块做乘法以得到待恢复的数据块和/或校验块,其中第一数量为待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成的矩阵中的行的数量。通过使用本发明的方案,能够恢复数据块和校验块的不同组合。

Description

一种纠删码数据及校验恢复方法、装置、设备及可读介质
技术领域
本领域涉及计算机领域,并且更具体地涉及一种纠删码数据及校验恢复的方法、装置、设备及可读介质。
背景技术
面对海量数据的存储要求,分布式存储以其成本低廉,可扩展性好等优势逐渐取代了统一存储的主导地位,在理论研究和实际应用方面得到了越来越多的关注。分布式存储系统多以廉价的磁盘作为存储节点,每个存储节点的可靠性往往不会很高,另一方面,一个分布式存储系统通常包含很多的节点,由于软硬件故障和人为失误等原因,系统常常发生节点失效的情况。为了提高分布式存储系统的数据可靠性,保证数据收集节点能以很高的概率实现原始文件的重构,需要在存储原始数据的基础上,额外存储一定数量的冗余,使得在出现部分节点失效的情况下,系统仍然可以正常运行,数据收集节点仍然可以对原始文件实现解码恢复。同时,为了维持系统的可靠性,需要对失效的节点及时进行修复,因此,设计一个良好的节点修复机制十分重要。
纠删码(Erasure Code)属于编码理论中的一种前向纠错技术,最早应用于通信领域以解决数据传输中的丢失与损耗这类问题。由于纠删码技术在防止数据丢失取得了较好的效果,因此被引入存储领域。纠删码可以在保证相同可靠性的前提下有效地降低存储开销,因此纠删码技术被广泛地应用于各大存储系统以及数据中心例如微软的Azure、Facebook的F4等。现有大部分的解决方案是在RS纠删完成运算,得到数据块后,利用编码的流程,重做编码,得到校验块。但是这样的处理方案会需要先求数据块,然后对其进行存储,再进行针对校验块的编码运算,以得到校验块。RS纠删码利用矩阵求逆可以恢复得到所有的编码用数据块,但实际情况下,编码数据块和编码后生成的校验数据块都是存储在硬盘或其他存储介质中,而这些存储介质出错的几率是相同的,不会因为存储的是编码数据块或是校验数据块而有所区别。因此在实际工作环境中,除了数据块外,同样存在对校验块进行恢复的需求。
基于RS的纠删解决方案,都只能先恢复数据块,然后对数据块进行编码得到校验块。但是在实际的操作中,数据块的数据量非常大,求得数据块后进行存储需要花费大量的存储模块损耗,并且等待数据块恢复后的校验块运算,需要分两步进行实现,使数据的吞吐率会降低一倍。RS纠删的算法方案本身有对数据块和校验块生成关系的限制,在使用时会对用户有所限制。但是用户使用RS纠删的环境多种多样,需求也不尽相同,在纠删方案设计时对用户的限制,和认为用户可能的使用情况并不能覆盖所有的使用场景。
发明内容
有鉴于此,本发明实施例的目的在于提出一种纠删码数据及校验恢复的方法、装置、设备及可读介质,通过使用本发明的技术方案,能够恢复数据块和校验块的不同组合,可以实现任意用户需求的正确操作,并对任意可恢复情况下的恢复需求完成一步运算,无需多步计算,并且所恢复的数据全部为用户请求,可以在更多环境下恢复不同数据块、校验块以及数据校验块组合的情况。
基于上述目的,本发明的实施例的一个方面提供了一种纠删码数据及校验恢复的方法,包括以下步骤:
基于数据信息判断待恢复的数据块和/或校验块是否满足恢复条件;
响应于待恢复的数据块和/或校验块满足恢复条件,将待恢复数据块和/ 或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆;
将求逆后得到的矩阵与待恢复的数据块和/或校验块的行列式组成的矩阵做乘法;
将乘法后得到矩阵与待恢复数据块和/或校验块以外的其余数据块中的第一数量的数据块和/或校验块做乘法以得到待恢复的数据块和/或校验块,其中第一数量为待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成的矩阵中的行的数量。
根据本发明的一个实施例,数据信息包括:
待编码的有效数据块的数量k,建立纠删时产生的校验块的数量m和待恢复的数据块和/或校验块的数量x。
根据本发明的一个实施例,基于数据信息判断待恢复的数据块和/或校验块是否满足恢复条件包括:
判断k、m和x之间的大小关系;
响应于k大于m且x小于等于m,判断待恢复的数据块和/或校验块满足恢复条件;
响应于k大于m且x大于m,判断待恢复的数据块和/或校验块不满足恢复条件;
响应于k等于m且x小于等于m,判断待恢复的数据块和/或校验块满足恢复条件;
响应于k等于m且x大于m,判断待恢复的数据块和/或校验块不满足恢复条件;
响应于k小于m且x小于等于m,判断待恢复的数据块和/或校验块满足恢复条件;
响应于k小于m且x大于m,判断待恢复的数据块和/或校验块不满足恢复条件。
根据本发明的一个实施例,还包括:
响应于判断待恢复的数据块和/或校验块不满足恢复条件,将警告信息通过网络发送到管理员的邮箱和通信设备中并将警告信息在服务器的显示器上进行显示。
根据本发明的一个实施例,响应于待恢复的数据块和/或校验块满足恢复条件,将待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆包括:
使用高斯消元矩阵求逆模块进行求逆。
根据本发明的一个实施例,纠删码为RS纠删码,纠删码基于范德蒙矩阵或柯西矩阵进行编码。
根据本发明的一个实施例,还包括:
响应于k大于m且x小于等于m,将求逆后得到的矩阵与单位矩阵做乘法。
本发明的实施例的另一个方面,还提供了一种纠删码数据及校验恢复的装置,装置包括:
判读模块,判断模块配置为基于数据信息判断待恢复的数据块和/或校验块是否满足恢复条件;
求逆模块,求逆模块配置为响应于待恢复的数据块和/或校验块满足恢复条件,将待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆;
运算模块,运算模块配置为将求逆后得到的矩阵与待恢复的数据块和/ 或校验块的行列式组成的矩阵做乘法;
恢复模块,恢复模块配置为将乘法后得到矩阵与待恢复数据块和/或校验块以外的其余数据块中的第一数量的数据块和/或校验块做乘法以得到待恢复的数据块和/或校验块,其中第一数量为待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成的矩阵中的行的数量。
本发明的实施例的另一个方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任意一项方法的步骤。
本发明的实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意一项方法的步骤。
本发明具有以下有益技术效果:本发明实施例提供的纠删码数据及校验恢复的方法,通过基于数据信息判断待恢复的数据块和/或校验块是否满足恢复条件;响应于待恢复的数据块和/或校验块满足恢复条件,将待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆;将求逆后得到的矩阵与待恢复的数据块和/或校验块的行列式组成的矩阵做乘法;将乘法后得到矩阵与待恢复数据块和/或校验块以外的其余数据块中的第一数量的数据块和/或校验块做乘法以得到待恢复的数据块和/或校验块,其中第一数量为待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成的矩阵中的行的数量的技术方案,能够恢复数据块和校验块的不同组合,可以实现任意用户需求的正确操作,并对任意可恢复情况下的恢复需求完成一步运算,无需多步计算,并且所恢复的数据全部为用户请求,可以在更多环境下恢复不同数据块、校验块以及数据校验块组合的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明一个实施例的纠删码数据及校验恢复的方法的示意性流程图;
图2为根据本发明一个实施例的纠删码数据及校验恢复的装置的示意图;
图3为根据本发明一个实施例的计算机设备的示意图;
图4为根据本发明一个实施例的计算机可读存储介质的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例的第一个方面,提出了一种纠删码数据及校验恢复的方法的一个实施例。图1示出的是该方法的示意性流程图。
如图1中所示,该方法可以包括以下步骤:
S1基于数据信息判断待恢复的数据块和/或校验块是否满足恢复条件。
其中数据信息包括待编码的有效数据块的数量k、建立纠删时产生的校验块的数量m和待恢复的数据块和/或校验块的数量x。基于k、m和x的不同大小关系来判断是否满足恢复条件,当k大于m且x小于等于m时,待恢复的数据块和/或校验块满足恢复条件,当k大于m且x大于m时,待恢复的数据块和/或校验块不满足恢复条件,当k等于m且x小于等于m时,待恢复的数据块和/或校验块满足恢复条件,当k等于m且x大于m时,待恢复的数据块和/或校验块不满足恢复条件,当k小于m且x小于等于m时,待恢复的数据块和/或校验块满足恢复条件,当k小于m且x大于m时,待恢复的数据块和/或校验块不满足恢复条件。判断为满足恢复条件时可根据以下方法进行数据块和/校验块的恢复,当判断为不满足恢复条件时,则输出相应的警告信息,将警告信息通过网络发送到管理员的邮箱和通信设备中并将警告信息在服务器的显示器上进行显示。
S2响应于待恢复的数据块和/或校验块满足恢复条件,将待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆。
待恢复数据块和/或校验块以外全部的数据块都有对应的矩阵的行列式,将这些行列式组合成新的矩阵,然后使用高斯消元矩阵求逆模块进行求逆以得到新的矩阵。
S3将求逆后得到的矩阵与待恢复的数据块和/或校验块的行列式组成的矩阵做乘法。
待恢复的数据块和/或校验块都有对应的矩阵的行列式,将待恢复的数据块和/或校验块的行列式组成新的矩阵后与上述求逆后得到的矩阵做乘法回得到新的矩阵。
S4将乘法后得到矩阵与待恢复数据块和/或校验块以外的其余数据块中的第一数量的数据块和/或校验块做乘法以得到待恢复的数据块和/或校验块,其中第一数量为待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成的矩阵中的行的数量。
本发明提出技术方案可以支持超高的容错比,覆盖用户小众的高容错比使用需求。并且能够兼顾数据和校验的分别恢复,以及组合恢复需求,将自有的选择权交给用户,由用户决定不同的使用方式,如超出算法可支持的恢复能力,则会报错提示,否则皆可恢复成功。而相比传统的恢复方式,本方案并未增加太多的损耗,只需在求逆运算的硬件部分新增一个基于固件控制的乘法运算模块。
通过本发明的技术方案,能够恢复数据块和校验块的不同组合,可以实现任意用户需求的正确操作,并对任意可恢复情况下的恢复需求完成一步运算,无需多步计算,并且所恢复的数据全部为用户请求,可以在更多环境下恢复不同数据块、校验块以及数据校验块组合的情况。
为介绍本发明的调度关系,首先以高斯消元方式进行RS纠删恢复为例,以4个数据块以及2个校验块为例,其中数据块为D1、D2、D3、D4,校验块为P1、P2。校验块以简单的范德蒙举例,则其编码矩阵的关系为:
Figure RE-GDA0003249899650000071
编码矩阵H中共有6行:R1-R6,其中R1-R4对应的是D1-D4的单位阵,R5、R6对应的是生成P1、P2的校验阵,因此校验块P1、P2的生成关系为:
Figure RE-GDA0003249899650000081
即P1=D1+D2+D3+D4,P2=D1+2D2+4D3+8D4。
在本发明的一个优选实施例中,数据信息包括:
待编码的有效数据块的数量k,建立纠删时产生的校验块的数量m和待恢复的数据块和/或校验块的数量x。
在本发明的一个优选实施例中,基于数据信息判断待恢复的数据块和/ 或校验块是否满足恢复条件包括:
首先判断k、m和x之间的大小关系,当k大于等于m且x小于等于 m时,判断待恢复的数据块和/或校验块满足恢复条件。
如果x个待恢复块全是数据块,假设剩余的数据块为DΔ,其所对应的矩阵为HΔ则恢复方式为:
Figure RE-GDA0003249899650000082
其中HΔ的行元素数量的个数是已知的,在上例中为4,D'Δ为DΔ中的上述个数的数据块,在上例中即为4个数据块。按照算法可知这里算法成立的条件是HΔ的行元素数量等于DΔ的列元素数量。此时的HΔ在上例中行数量为4,属于编码时已经具有的必须数量定义,无法更改,因此为使上式成立,需要DΔ此时可以取任意大于等于m 的数量,即是大于等于4,所以可以成立。而因为有x个错误,x小于等于 m。也就是说剩余可选取的数据块数量满足k+m-x≥k,即是说必然能从其中选择出满足HΔ的行数量4的的存活数据块。因此上式成立,可以解码恢复。
如果x个待恢复块包含校验块,以上述编解码环境为例,待恢复数据块为D1、P1,其中P1为待恢复的校验块,则算法推导如下:
Figure RE-GDA0003249899650000091
DΔ=[D2 D3 D4 P2]
Figure RE-GDA0003249899650000092
Figure RE-GDA0003249899650000093
Figure RE-GDA0003249899650000094
如上式所示,D'Δ为基于剩余数据选择的参与运算数据。而公式左边的乘法随着需要恢复的数据类型不同,需要变化,设对公式左边的恢复矩阵为HC,则可知在上式中:
Figure RE-GDA0003249899650000095
在此公式中,为使公式成立,需要R的行元素数量等于
Figure RE-GDA0003249899650000096
的列元素数量。因为R的行元素数量和
Figure RE-GDA0003249899650000097
列元素数量都属于编码定义,因此一定可以满足,公式成立,满足恢复条件。
当k大于等于m且x大于m时,判断待恢复的数据块和/或校验块不满足恢复条件。
设错误的数量为m+x,x为任意大于等于1的数,则说明在编码的数据量k+m中,剩余数据量为k-x,对应的HΔ行数量小于m,所以依照上述判断可知无法成立,因此不满足恢复条件。
当k小于m且x小于等于m时,判断待恢复的数据块和/或校验块满足恢复条件。
因为x≤m,于是剩余的可选择参与运算数据量为:k+m-x≥k,固件判断是否可以恢复时,需要HΔ的行元素数量等于DΔ的列元素数量。
这里面的HΔ行元素数量按照编码定理可知为k,而DΔ基于上述可知有≥k个可供选择,因此等式成立,满足恢复条件。
基于高容错环境的特殊性,此时有可能待恢复的数据量大于k个,假设k=4,m=6的情况下,错误需要恢复的数据量为5,分别是D1,D2,P1, P2,P3,则恢复算法为:
Figure RE-GDA0003249899650000101
Figure RE-GDA0003249899650000102
为使上式成立,需要R1-R10的行元素都等于
Figure RE-GDA0003249899650000103
的列元素数量,而
Figure RE-GDA0003249899650000104
可知上述推导列元素等于k,R的行元素数量按照定理等于k,因此公式成立,满足恢复条件。
当k小于m且x大于m,判断待恢复的数据块和/或校验块不满足恢复条件。
因x>m,于是剩余的可选择参与运算数据量为:k+m-x<k,固件判断是否可以恢复时,需要HΔ的行元素数量等于DΔ的列元素数量。而基于上述运算可知DΔ能够选取参加运算的有效数据量不足k个,因此等式无法成立,不满足恢复条件。
在本发明的一个优选实施例中,还包括:
响应于判断待恢复的数据块和/或校验块不满足恢复条件,将警告信息通过网络发送到管理员的邮箱和通信设备中并将警告信息在服务器的显示器上进行显示。
在本发明的一个优选实施例中,响应于待恢复的数据块和/或校验块满足恢复条件,将待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆包括:
使用高斯消元矩阵求逆模块进行求逆。
在本发明的一个优选实施例中,纠删码为RS纠删码,纠删码基于范德蒙矩阵或柯西矩阵进行编码。
在本发明的一个优选实施例中,还包括:
响应于k大于m且x小于等于m,将求逆后得到的矩阵与单位矩阵做乘法。
通过本发明的技术方案,能够恢复数据块和校验块的不同组合,可以实现任意用户需求的正确操作,并对任意可恢复情况下的恢复需求完成一步运算,无需多步计算,并且所恢复的数据全部为用户请求,可以在更多环境下恢复不同数据块、校验块以及数据校验块组合的情况。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器 (Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory, RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。
基于上述目的,本发明的实施例的第二个方面,提出了一种纠删码数据及校验恢复的装置,如图2所示,装置200包括:
判读模块,判断模块配置为基于数据信息判断待恢复的数据块和/或校验块是否满足恢复条件;
求逆模块,求逆模块配置为响应于待恢复的数据块和/或校验块满足恢复条件,将待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆;
运算模块,运算模块配置为将求逆后得到的矩阵与待恢复的数据块和/ 或校验块的行列式组成的矩阵做乘法;
恢复模块,恢复模块配置为将乘法后得到矩阵与待恢复数据块和/或校验块以外的其余数据块中的第一数量的数据块和/或校验块做乘法以得到待恢复的数据块和/或校验块,其中第一数量为待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成的矩阵中的行的数量。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备。图3示出的是本发明提供的计算机设备的实施例的示意图。如图3所示,本发明实施例包括如下装置:至少一个处理器S21;以及存储器S22,存储器S22存储有可在处理器上运行的计算机指令S23,指令由处理器执行时实现如上方法。
基于上述目的,本发明实施例的第四个方面,提出了一种计算机可读存储介质。图4示出的是本发明提供的计算机可读存储介质的实施例的示意图。如图4所示,计算机可读存储介质存储S31有被处理器执行时执行如上方法的计算机程序S32。
此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路 (DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种纠删码数据及校验恢复的方法,其特征在于,包括以下步骤:
基于数据信息判断待恢复的数据块和/或校验块是否满足恢复条件;
响应于所述待恢复的数据块和/或校验块满足恢复条件,将待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆;
将求逆后得到的矩阵与所述待恢复的数据块和/或校验块的行列式组成的矩阵做乘法;
将乘法后得到矩阵与待恢复数据块和/或校验块以外的其余数据块中的第一数量的数据块和/或校验块做乘法以得到所述待恢复的数据块和/或校验块,其中第一数量为待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成的矩阵中的行的数量。
2.根据权利要求1所述的方法,其特征在于,所述数据信息包括:
待编码的有效数据块的数量k,建立纠删时产生的校验块的数量m和待恢复的数据块和/或校验块的数量x。
3.根据权利要求2所述的方法,其特征在于,基于数据信息判断待恢复的数据块和/或校验块是否满足恢复条件包括:
判断k、m和x之间的大小关系;
响应于k大于m且x小于等于m,判断待恢复的数据块和/或校验块满足恢复条件;
响应于k大于m且x大于m,判断待恢复的数据块和/或校验块不满足恢复条件;
响应于k等于m且x小于等于m,判断待恢复的数据块和/或校验块满足恢复条件;
响应于k等于m且x大于m,判断待恢复的数据块和/或校验块不满足恢复条件;
响应于k小于m且x小于等于m,判断待恢复的数据块和/或校验块满足恢复条件;
响应于k小于m且x大于m,判断待恢复的数据块和/或校验块不满足恢复条件。
4.根据权利要求3所述的方法,其特征在于,还包括:
响应于判断待恢复的数据块和/或校验块不满足恢复条件,将警告信息通过网络发送到管理员的邮箱和通信设备中并将警告信息在服务器的显示器上进行显示。
5.根据权利要求1所述的方法,其特征在于,响应于所述待恢复的数据块和/或校验块满足恢复条件,将待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆包括:
使用高斯消元矩阵求逆模块进行求逆。
6.根据权利要求1所述的方法,其特征在于,所述纠删码为RS纠删码,所述纠删码基于范德蒙矩阵或柯西矩阵进行编码。
7.根据权利要求2所述的方法,其特征在于,还包括:
响应于k大于m且x小于等于m,将求逆后得到的矩阵与单位矩阵做乘法。
8.一种纠删码数据及校验恢复的装置,其特征在于,所述装置包括:
判读模块,所述判断模块配置为基于数据信息判断待恢复的数据块和/或校验块是否满足恢复条件;
求逆模块,所述求逆模块配置为响应于所述待恢复的数据块和/或校验块满足恢复条件,将待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成矩阵后进行求逆;
运算模块,所述运算模块配置为将求逆后得到的矩阵与所述待恢复的数据块和/或校验块的行列式组成的矩阵做乘法;
恢复模块,所述恢复模块配置为将乘法后得到矩阵与待恢复数据块和/或校验块以外的其余数据块中的第一数量的数据块和/或校验块做乘法以得到所述待恢复的数据块和/或校验块,其中第一数量为待恢复数据块和/或校验块以外的其余数据块对应的矩阵行列式组成的矩阵中的行的数量。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
CN202110528328.0A 2021-05-14 2021-05-14 一种纠删码数据及校验恢复方法、装置、设备及可读介质 Active CN113505019B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110528328.0A CN113505019B (zh) 2021-05-14 2021-05-14 一种纠删码数据及校验恢复方法、装置、设备及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110528328.0A CN113505019B (zh) 2021-05-14 2021-05-14 一种纠删码数据及校验恢复方法、装置、设备及可读介质

Publications (2)

Publication Number Publication Date
CN113505019A true CN113505019A (zh) 2021-10-15
CN113505019B CN113505019B (zh) 2024-01-26

Family

ID=78008455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110528328.0A Active CN113505019B (zh) 2021-05-14 2021-05-14 一种纠删码数据及校验恢复方法、装置、设备及可读介质

Country Status (1)

Country Link
CN (1) CN113505019B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153393A (zh) * 2021-11-29 2022-03-08 山东云海国创云计算装备产业创新中心有限公司 一种数据编码方法、系统、设备以及介质
CN114244376A (zh) * 2022-02-22 2022-03-25 苏州浪潮智能科技有限公司 一种数据编码方法、系统、设备以及介质
CN114253478A (zh) * 2021-12-17 2022-03-29 山东云海国创云计算装备产业创新中心有限公司 一种计算raid校验盘位置的方法和装置
CN114281270A (zh) * 2022-03-03 2022-04-05 山东云海国创云计算装备产业创新中心有限公司 一种数据存储方法、系统、设备以及介质
CN115993941A (zh) * 2023-03-23 2023-04-21 陕西中安数联信息技术有限公司 分布式数据存储纠错方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212782A1 (en) * 2005-03-15 2006-09-21 Microsoft Corporation Efficient implementation of reed-solomon erasure resilient codes in high-rate applications
US20130173956A1 (en) * 2011-12-30 2013-07-04 Streamscale, Inc. Using parity data for concurrent data authentication, correction, compression, and encryption
US20140223256A1 (en) * 2013-02-05 2014-08-07 Sony Corporation Error detection and correction unit, error detection and correction method, information processor, and program
US20170185482A1 (en) * 2015-12-29 2017-06-29 Cnex Labs, Inc. Computing system with circular-shift recovery mechanism and method of operation thereof
CN107656832A (zh) * 2017-09-18 2018-02-02 华中科技大学 一种低数据重建开销的纠删码方法
WO2018112980A1 (zh) * 2016-12-24 2018-06-28 华为技术有限公司 存储控制器、数据处理芯片及数据处理方法
DE102018105848A1 (de) * 2017-06-16 2018-12-20 Western Digital Technologies, Inc. CPU-Fehlerkorrektur während Erasure-Code-Codierung
CN111682874A (zh) * 2020-06-11 2020-09-18 山东云海国创云计算装备产业创新中心有限公司 一种数据恢复的方法、系统、设备及可读存储介质
CN111858169A (zh) * 2020-07-10 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 一种数据恢复方法、系统及相关组件
CN112000512A (zh) * 2020-08-14 2020-11-27 山东云海国创云计算装备产业创新中心有限公司 一种数据修复方法及相关装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212782A1 (en) * 2005-03-15 2006-09-21 Microsoft Corporation Efficient implementation of reed-solomon erasure resilient codes in high-rate applications
US20130173956A1 (en) * 2011-12-30 2013-07-04 Streamscale, Inc. Using parity data for concurrent data authentication, correction, compression, and encryption
US20140223256A1 (en) * 2013-02-05 2014-08-07 Sony Corporation Error detection and correction unit, error detection and correction method, information processor, and program
US20170185482A1 (en) * 2015-12-29 2017-06-29 Cnex Labs, Inc. Computing system with circular-shift recovery mechanism and method of operation thereof
WO2018112980A1 (zh) * 2016-12-24 2018-06-28 华为技术有限公司 存储控制器、数据处理芯片及数据处理方法
DE102018105848A1 (de) * 2017-06-16 2018-12-20 Western Digital Technologies, Inc. CPU-Fehlerkorrektur während Erasure-Code-Codierung
CN107656832A (zh) * 2017-09-18 2018-02-02 华中科技大学 一种低数据重建开销的纠删码方法
CN111682874A (zh) * 2020-06-11 2020-09-18 山东云海国创云计算装备产业创新中心有限公司 一种数据恢复的方法、系统、设备及可读存储介质
CN111858169A (zh) * 2020-07-10 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 一种数据恢复方法、系统及相关组件
CN112000512A (zh) * 2020-08-14 2020-11-27 山东云海国创云计算装备产业创新中心有限公司 一种数据修复方法及相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张航;刘善政;唐聃;蔡红亮;: "分布式存储系统中的低修复成本纠删码", 计算机应用, no. 10 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153393A (zh) * 2021-11-29 2022-03-08 山东云海国创云计算装备产业创新中心有限公司 一种数据编码方法、系统、设备以及介质
CN114253478A (zh) * 2021-12-17 2022-03-29 山东云海国创云计算装备产业创新中心有限公司 一种计算raid校验盘位置的方法和装置
CN114253478B (zh) * 2021-12-17 2024-02-09 山东云海国创云计算装备产业创新中心有限公司 一种计算raid校验盘位置的方法和装置
CN114244376A (zh) * 2022-02-22 2022-03-25 苏州浪潮智能科技有限公司 一种数据编码方法、系统、设备以及介质
CN114244376B (zh) * 2022-02-22 2022-05-13 苏州浪潮智能科技有限公司 一种数据编码方法、系统、设备以及介质
CN114281270A (zh) * 2022-03-03 2022-04-05 山东云海国创云计算装备产业创新中心有限公司 一种数据存储方法、系统、设备以及介质
CN114281270B (zh) * 2022-03-03 2022-05-27 山东云海国创云计算装备产业创新中心有限公司 一种数据存储方法、系统、设备以及介质
CN115993941A (zh) * 2023-03-23 2023-04-21 陕西中安数联信息技术有限公司 分布式数据存储纠错方法及系统
CN115993941B (zh) * 2023-03-23 2023-06-02 陕西中安数联信息技术有限公司 分布式数据存储纠错方法及系统

Also Published As

Publication number Publication date
CN113505019B (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
CN113505019A (zh) 一种纠删码数据及校验恢复方法、装置、设备及可读介质
US7265688B2 (en) Systems and processes for decoding a chain reaction code through inactivation
CN109643258B (zh) 使用高速率最小存储再生擦除代码的多节点修复
US9240810B2 (en) Systems and processes for decoding chain reaction codes through inactivation
CN112860475B (zh) 基于rs纠删码的校验块恢复方法、装置、系统及介质
US20210271557A1 (en) Data encoding, decoding and recovering method for a distributed storage system
US11500725B2 (en) Methods for data recovery of a distributed storage system and storage medium thereof
CN112000512B (zh) 一种数据修复方法及相关装置
CN112799875B (zh) 基于高斯消元进行校验恢复的方法、系统、设备及介质
CN114153651B (zh) 一种数据编码方法、装置、设备及介质
CN114281270B (zh) 一种数据存储方法、系统、设备以及介质
CN114816837B (zh) 一种纠删码融合方法、系统、电子设备及存储介质
TW202001920A (zh) 在資料儲存系統中用於改善資料回復之方法及裝置
CN109358980B (zh) 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN115113819A (zh) 一种数据存储的方法、单节点服务器及设备
CN114510368A (zh) 一种基于rs纠删码的编解码加速方法及系统
CN115454712B (zh) 一种校验码恢复方法、系统、电子设备及存储介质
CN112286449B (zh) 一种rs纠删处理设备及分布式存储系统
CN113986147A (zh) 一种raid 6硬件加速电路结构和raid 6硬件加速实现方法
CN114996047A (zh) 一种数据存储方法、系统、设备以及介质
CN114244376B (zh) 一种数据编码方法、系统、设备以及介质
CN114879904A (zh) 一种数据存储纠删方法、装置、设备及可读存储介质
JP5826202B2 (ja) 符号化装置、復号装置、符号化方法、復号方法及びプログラム
CN114296648B (zh) 分布式云存储数据的维护方法、装置、设备和可读介质
CN114333917B (zh) 基于rdp纠删算法的数据纠错方法、装置、设备及介质

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