CN116501553A - 数据恢复方法、装置、系统、电子设备及存储介质 - Google Patents
数据恢复方法、装置、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116501553A CN116501553A CN202310747986.8A CN202310747986A CN116501553A CN 116501553 A CN116501553 A CN 116501553A CN 202310747986 A CN202310747986 A CN 202310747986A CN 116501553 A CN116501553 A CN 116501553A
- Authority
- CN
- China
- Prior art keywords
- block
- stripe
- check
- data
- partition
- 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
Links
- 238000011084 recovery Methods 0.000 title claims abstract description 187
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000003860 storage Methods 0.000 title claims abstract description 30
- 238000005192 partition Methods 0.000 claims abstract description 303
- 230000002159 abnormal effect Effects 0.000 claims abstract description 204
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供一种数据恢复方法、装置、系统、电子设备及存储介质,涉及计算机技术领域,该方法包括:目标磁盘阵列中存在任一异常磁盘时,根据异常磁盘中异常数据块的落盘位置,读取目标数据块以及目标磁盘阵列的每一条带组中第一条带的更新后的第一校验块或第二条带的更新后的第二校验块,以对异常磁盘进行数据恢复;更新后的第二校验块根据第一条带的第一分区中数据块编码得到的第一分区校验码和第二条带的原始的第二校验块进行更新;更新后的第一校验块根据第一条带的第二分区中数据块编码得到的第二分区校验码和第二条带的原始的第二校验块进行更新。本发明实现降低数据恢复时所需要读取的数据块数量,提高数据恢复效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据恢复方法、装置、系统、电子设备及存储介质。
背景技术
伴随着通讯技术和网络科技的迅速发展,数字化信息呈指数爆炸式增长,数据存储技术也因此迎来了巨大的挑战。存储系统中数据的可靠性问题以及存储系统的能耗问题越来越被人们所关注。现如今面对如此庞大的数据规模,存储系统中数据的可靠性和存储系统中包含的组件数量成反比关系,即存储系统组件数越多,那么存储系统中数据的可靠性就越低。因此,在大规模存储系统中,磁盘故障造成的数据可靠性下降是相当严重的问题,对此,对磁盘数据进行容错恢复是目前亟待解决的技术问题之一。
相关技术,磁盘阵列中任意一个磁盘或两个磁盘中数据出现异常时,需要多次从磁盘阵列的剩余磁盘中读取所有数据块的数据进行数据恢复,但是在大条带数据恢复的情况下,需要取出的数据块较多,数据量太大,导致读取速度就会很慢,进而使得恢复速度很慢。
综上所述如何在大条带数据恢复场景下,降低数据恢复时所需要读取的数据块数量,以加快数据解码恢复的速度,是当前亟待解决的问题。
发明内容
本发明提供一种数据恢复方法、装置、系统、电子设备及存储介质,用以解决现有技术中大条带数据恢复场景下,所需读取的数据块数量较多,导致数据恢复速度缓慢的缺陷,实现降低数据恢复时所需要读取的数据块数量,提高数据恢复效率。
本发明提供一种数据恢复方法,包括:
在目标磁盘阵列中存在任一异常磁盘的情况下,获取所述异常磁盘中异常数据块的落盘位置;
根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标数据块以及目标校验块;
根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复;
其中,所述正常磁盘为所述目标磁盘阵列中除所述异常磁盘之外的磁盘;
所述目标校验块包括所述目标磁盘阵列的每一条带组中第一条带的更新后的第一校验块或每一所述条带组中第二条带的更新后的第二校验块;所述更新后的第二校验块是根据第一分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述更新后的第一校验块是根据第二分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述第一分区校验码是根据所述第一条带的第一分区中的数据块进行编码得到的,所述第二分区校验码是根据所述第一条带的第二分区中的数据块进行编码得到的。
根据本发明提供的一种数据恢复方法,所述目标数据块包括第一数据块,所述第一数据块包括所述第二条带中除所述异常数据块之外的数据块;
所述根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复,包括:
对于每一所述条带组,根据所述第一数据块,对所述第二条带对应的所述异常数据块和所述第二条带的原始的第二校验块进行数据恢复;
根据所述第二条带的原始的第二校验块以及所述目标校验块,对所述第一条带对应的所述异常数据块进行数据恢复。
根据本发明提供的一种数据恢复方法,所述根据所述第一数据块,对所述第二条带对应的所述异常数据块和所述第二条带的原始的第二校验块进行数据恢复,包括:
在所述正常磁盘中读取所述第二条带的原始的第一校验块;
根据所述第一数据块以及所述第二条带的原始的第一校验块,对所述第二条带的原始的第一校验块对应的编码方程进行解码;
根据解码结果,对所述第二条带对应的所述异常数据块和所述第二条带的原始的第二校验块进行数据恢复。
根据本发明提供的一种数据恢复方法,根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标校验块,包括:
在所述第一条带对应的所述异常数据块的落盘位置属于所述第一分区的情况下,在所述正常磁盘中读取所述更新后的第二校验块;
将所述更新后的第二校验块作为所述目标校验块。
根据本发明提供的一种数据恢复方法,所述根据所述第二条带的原始的第二校验块以及所述目标校验块,对所述第一条带对应的所述异常数据块进行数据恢复,包括:
根据所述第二条带的原始的第二校验块以及所述更新后的第二校验块,获取所述第一分区校验码;
根据所述第一分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复。
根据本发明提供的一种数据恢复方法,所述目标数据块还包括第二数据块,所述第二数据块为所述第一分区中除所述异常数据块之外的数据块;
所述根据所述第一分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复,包括:
根据所述第一分区校验码和所述第二数据块,对所述第一分区校验码的编码方程进行解码;
根据解码结果,对所述第一条带对应的所述异常数据块进行数据恢复。
根据本发明提供的一种数据恢复方法,所述更新后的第二校验块是基于如下步骤获取的:
对所述第一分区校验码和所述第二条带的原始的第二校验块进行异或计算,得到所述更新后的第二校验块。
根据本发明提供的一种数据恢复方法,所述根据所述第二条带的原始的第二校验块以及所述更新后的第二校验块,获取所述第一分区校验码,包括:
将所述第二条带的原始的第二校验块与所述更新后的第二校验块进行异或计算,得到所述第一分区校验码。
根据本发明提供的一种数据恢复方法,根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标校验块,包括:
在所述第一条带对应的所述异常数据块的落盘位置属于所述第二分区的情况下,在所述正常磁盘中读取所述更新后的第一校验块;
将所述更新后的第一校验块作为所述目标校验块。
根据本发明提供的一种数据恢复方法,所述根据所述第二条带的原始的第二校验块以及所述目标校验块,对所述第一条带对应的所述异常数据块进行数据恢复,包括:
根据所述第二条带的原始的第二校验块以及所述更新后的第一校验块,获取所述第二分区校验码;
根据所述第二分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复。
根据本发明提供的一种数据恢复方法,所述目标数据块还包括第三数据块,所述第三数据块为所述第二分区中除所述异常数据块之外的数据块;
所述根据所述第二分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复,包括:
根据所述第二分区校验码和所述第三数据块,对所述第二分区校验码的编码方程进行解码;
根据解码结果,对所述第一条带对应的所述异常数据块进行数据恢复。
根据本发明提供的一种数据恢复方法,所述更新后的第一校验块是基于如下步骤确定的:
对所述第二分区校验码和所述第二条带的原始的第二校验块进行异或计算,得到所述更新后的第一校验块。
根据本发明提供的一种数据恢复方法,所述根据所述第二条带的原始的第二校验块以及所述更新后的第一校验块,获取所述第二分区校验码,包括:
将所述第二条带的原始的第二校验块与所述更新后的第一校验块进行异或计算,得到所述第二分区校验码。
根据本发明提供的一种数据恢复方法,所述第一分区校验码是基于如下步骤获取的:
对于每一所述条带组,获取所述第一条带的第一分区中各数据块的落盘位置;
根据所述第一分区中各数据块的落盘位置,以及所述第一分区中的各数据块,获取所述第一分区校验码。
根据本发明提供的一种数据恢复方法,所述根据所述第一分区中各数据块的落盘位置,以及所述第一分区中的各数据块,获取所述第一分区校验码,包括:
获取所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置;
对所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置,以及所述第一分区中各数据块的落盘位置和所述第一分区中的各数据块进行编码,得到所述第一分区校验码。
根据本发明提供的一种数据恢复方法,所述第一分区校验码的编码方程如下:
;
其中,为所述第一条带中的数据块数量,A为所述第一条带的条带编号;/>为所述第一条带的第一分区校验码;/>为所述第一条带的原始的第二校验块的落盘位置;/>为所述第一条带的原始的第一校验块的落盘位置;/>为所述第一条带的第一分区中各数据块的落盘位置;/>为所述第一条带的第一分区中的各数据块;为异或操作。
根据本发明提供的一种数据恢复方法,所述第二分区校验码是基于如下步骤获取的:
对于每一所述条带组,获取所述第一条带的第二分区中各数据块的落盘位置;
根据所述第二分区中各数据块的落盘位置,以及所述第二分区中的各数据块,获取所述第二分区校验码。
根据本发明提供的一种数据恢复方法,所述根据所述第二分区中各数据块的落盘位置,以及所述第二分区中的各数据块,获取所述第二分区校验码,包括:
获取所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置;
对所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置,以及所述第二分区中各数据块的落盘位置和所述第二分区中的各数据块进行编码,得到所述第二分区校验码。
根据本发明提供的一种数据恢复方法,所述第二分区校验码的编码方程如下:
;
其中,为所述第一条带中的数据块数量,A为所述第一条带的条带编号;/>为所述第一条带的第二分区校验码;/>为所述第一条带的原始的第二校验块的落盘位置;/>为所述第一条带的原始的第一校验块的落盘位置;/>为所述第一条带的第二分区中各数据块的落盘位置;/>为所述第一条带的第二分区中的各数据块;/>为异或操作。
本发明还提供一种数据恢复装置,包括:
获取模块,用于在目标磁盘阵列中存在任一异常磁盘的情况下,获取所述异常磁盘中异常数据块的落盘位置;
读取模块,用于根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标数据块以及目标校验块;
恢复模块,用于根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复;
其中,所述正常磁盘为所述目标磁盘阵列中除所述异常磁盘之外的磁盘;
所述目标校验块包括所述目标磁盘阵列的每一条带组中第一条带的更新后的第一校验块或每一所述条带组中第二条带的更新后的第二校验块;所述更新后的第二校验块是根据第一分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述更新后的第一校验块是根据第二分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述第一分区校验码是根据所述第一条带的第一分区中的数据块进行编码得到的,所述第二分区校验码是根据所述第一条带的第二分区中的数据块进行编码得到的。
本发明还提供一种数据恢复系统,包括目标磁盘阵列和磁盘控制器;
所述磁盘控制器与所述目标磁盘阵列连接;
所述磁盘控制器用于执行如上述任一项所述数据恢复方法。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据恢复方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据恢复方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据恢复方法。
本发明提供的数据恢复方法、装置、系统、电子设备及存储介质,通过目标磁盘阵列的每一条带组中第一条带的第一分区中的数据块编码得到的第一分区校验码、第一条带的第二分区中的数据块编码得到的第二分区校验码,以及第二条带的原始的第二校验块,分别对第一条带的原始的第一校验块和第二条带的原始的第二校验块进行更新,得到第一条带的更新后的第一校验块和第二条带的更新后的第二校验块,以在目标磁盘阵列中存在任一异常磁盘,根据该异常磁盘中异常数据块的落盘位置,在目标磁盘阵列的正常磁盘中,读取少量的目标数据块以及更新后的第一校验块或更新后的第二校验块,即可实现异常磁盘的数据恢复,无需读取目标磁盘阵列的所有数据块和所有校验块,有效数据块读取数量,减少参与运算的分块数据量,进而提高数据解码速度和数据恢复效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据恢复方法的流程示意图;
图2是本发明提供的数据恢复装置的结构示意图;
图3是本发明提供的数据恢复系统的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
需要说明的是,在存储的系统中,为了减少运算复杂度,保证数据不会溢出,本实施例中所称的编解码运算都是在伽罗华域中实现的。表现在硬件的实现中,加减法会通过异或运算来实现,而乘除法会用针对不同伽罗华域多项式的伽罗华乘除法实现,此处不做赘述。
下面结合图1-图4描述本发明的数据恢复方法、装置、系统、电子设备及存储介质。
如图1所示,为本实施例提供的数据恢复方法的流程示意图之一,该数据恢复方法包括如下步骤:
步骤101,在目标磁盘阵列中存在任一异常磁盘的情况下,获取所述异常磁盘中异常数据块的落盘位置;其中,所述正常磁盘为所述目标磁盘阵列中除所述异常磁盘之外的磁盘。
此处的目标磁盘阵列是需要进行数据恢复的磁盘阵列,可以是RAID(RedundantArrays of Independent Disks,具有冗余能力的磁盘阵列)。
其中,磁盘阵列是通过将多个独立磁盘组合一起,从而得到一个容量巨大的磁盘组。RAID是把相同的数据存储在多个硬盘的不同的地方的方法,通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因此,采用RAID存储技术,可以大大提高存储容量,提高系统输入输出的请求处理能力并且通过数据的分布式存储技术,并行访问手段和信息冗余技术提高数据的可靠性。
RAID主要利用数据条带、数据校验和镜像技术来获得较强的性能、更高的可靠性、较好的容错能力和较强的扩展性。根据不同的数据应用需求,可以运用或者组合运用这三种技术的策略和架构,所以按照不同的策略和架构,RAID可以被分为不同的等级,如RAID0、RAID1、RAID5、RAID6和RAID10等。
其中,RAID0是最早出现的RAID模式,即采用数据分条技术进行数据存储。RAID0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID0没有提供冗余或错误修复能力,但实现成本是最低的。
RAID0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中将数据依次写入到各块硬盘中,它的最大优点就是可以整倍地提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID0模式,那么磁盘容量就会是240GB。其速度方面,和单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。
RAID1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID1多用在保存关键性的重要数据的场合。
RAID5,也即分布式奇偶校验的独立磁盘结构,其奇偶校验码存在于所有磁盘上,如p0代表第0个条带中的奇偶校验码。RAID5的读出效率很高,写入效率一般,块式的集体访问效率良好。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。对于RAID5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID5中有写入损失,即每一次写操作,将产生四个实际的读和/或写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
其中,原始RAID5可采用里德所罗门码(Reed Solomon Code,RS)进行编码,具体编码计算公式为:
;
其中,为任一条带中的/>个数据块;/>为该条带中的第一校验块;/>为异或运算。
表1 原始RAID5中各分块数据的落盘分布表
此外,正常的RAID运算中,会基于左旋不对齐的负载均衡算法的排布需求,对所有涉及的数据进行排布,然后进行编码落盘。如表1所示,为原始RAID5的落盘分布表。其中,行为每一条带所包含的数据块和校验块;列为每一磁盘所包含的数据块和校验块。
RAID6是带两种分布存储的奇偶校验码独立磁盘结构。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,进一步提升了磁盘阵列的数据可靠性。需要更多的空间来存储校验值,同时在写操作中具有更高的性能损失。
其中,原始RAID6可采用里德所罗门码(Reed Solomon Code,RS)进行编码,具体计算公式为:
;
其中,为任一条带中的第一校验块,/>为该条带中的第二校验块,/>为该条带中的数据块对应的落盘位置,如/>在第4个磁盘,则/>;/>为校验块对应的落盘位置。
因此,为了降低成本的同时,提高数据可靠性,本实施例中目标磁盘阵列可以具体采用对原始RAID6或者原始RAID10等包含至少两个校验块的原始磁盘阵列进行改进的磁盘阵列,以下以改进的RAID6为例,对本实施例中的数据恢复方法展开描述。
可选地,对目标磁盘阵列中的每一磁盘阵列进行监测;在监测到目标磁盘阵列中任一磁盘故障,即任一磁盘中出现异常数据块的情况下,确定该磁盘为异常磁盘,并获取该异常磁盘中异常数据块的落盘位置。
此处,故障磁盘可以是一个或多个。
由于RAID6的设计是为了使得RAID组完成后,可以实现任意两个或一个的磁盘组中的错误,都可以被恢复,是当今通用存储产品应用最多的纠删方案。而RAID6的错误恢复需要读取除异常磁盘组外剩余的磁盘组中所有的数据进行计算,因此不同的实现方案所比较的性能主要集中在数据编解码的速度上。实际应用的场景中,RAID6虽然可以保证两个任意磁盘组中的错误恢复,但是按照实际场景的统计数据表示,单一错误的场景占了所有错误的比例高达99.75%,因此不管任何RAID的具体实现方案,核心的速度提升应该是针对单一错误场景的改善。因此,下文以故障磁盘为一个为例,对本实施例中的数据恢复方法展开描述。
步骤102,根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标数据块以及目标校验块。
表2 原始RAID6中各分块数据的落盘分布表
其中,所述目标校验块包括所述目标磁盘阵列的每一条带组中第一条带的更新后的第一校验块或每一所述条带组中第二条带的更新后的第二校验块;所述更新后的第二校验块是根据第一分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述更新后的第一校验块是根据第二分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述第一分区校验码是根据所述第一条带的第一分区中的数据块进行编码得到的,所述第二分区校验码是根据所述第一条带的第二分区中的数据块进行编码得到的。
需要说明的是,原始RAID6可以恢复两个的错误块,但是每次数据恢复,依然受限于对各个磁盘的大量数据进行读取时的速度限制。如表2所示,为原始RAID6中各分块数据的落盘分布表。
通过上述这种编码落盘方式,在任一磁盘为异常磁盘的情况下,针对包括k个数据块和第一校验块P和第一校验块q的每一条带,需要从剩余磁盘中读取所有分块数据,也即k-1个数据块和2个校验块,总共需读取k+1个分块数据,所需读取的数量较大,严重影响数据恢复效率。
因此,在执行步骤102之前,本实施例以两个条带为一组对原始RAID6的编码落盘方式进行改进,以使得当单一磁盘发生错误时,数据读取量可以相比于原始RAID6至少减少25%,提升解码速度,从而提高数据恢复效率。
此处所称的条带组是按照条带编号,顺序将目标磁盘阵列的多个条带中每两个条带划分为一组,得到多个条带组。
需要说明的是,在进行条带分组时,需要根据目标磁盘阵列的条带数量定义分组规则,以对条带进行精准分组,进而提高数据恢复效率。具体地,在目标磁盘阵列的条带数量为偶数时,将目标磁盘阵列的每两个条带分为一组,以得到不同条带组;此外,当目标磁盘阵列的条带数量为奇数时,将目标磁盘阵列的每两个条带分为一组,然后将最后剩余的一个条带分为一组,以得到不同条带组,并对包括两个条带的条带组使用改进的RAID6编码方法进行编码落盘,对包含一个条带的条带组使用原始RAID6的编码方法进行编码落盘。需要指出的是,对包含一个条带的条带组使用原始RAID6的编码方法进行编码落盘是指,包含一个条带的条带组不参与重新编码,按照原始编码方法进行编码。
每一条带组中的第一个条带称为第一条带(下文也称A条带),另一条带称为第二条带(下文也称B条带)。
如表3所示,对于每一条带组,在进行数据块落盘时,可按照左旋不对齐的负载均衡方式对A条带中的数据块和B条带中的数据块/>进行落盘。
表3 每一条带组中各数据的落盘分布表之一
接着,按照原始RAID6的编码方式编码得到各原始校验块,具体如表4所示。
表4 每一条带组中各数据的落盘分布表之二
需要说明的是,表4中所示的各校验块的编码内容为原始编码内容,并非最终的编码内容。
接着,对每一条带分组中第一条带的数据块进行编码,得到第一分区校验码和第二分区校验码,以对第一条带的原始的第一校验块进行更新以及第二条带的原始的第二校验块进行更新。
可选地,根据每一条带中的数据块的落盘位置,将每一条带中的数据块划分为两部分,分别为第一分区的数据块和第二分区的数据块。
此处的划分方式可以是平均划分,或者按照预设长度进行划分,本实施例对此不做具体地限定。对于预设长度,其确定方式可以是,根据实际需求进行预先设置,或者根据每一条带中的数据块数量与校验块数量之间的比值进行确定,如,数据块数量与校验块数量的比值为整数时,直接将比值作为预设长度;当比值不为整数时,对比值进行向下取整,得到预设长度,本实施例对划分方式不做具体地限定。
例如,按照平均划分的方式进行数据分区,第一条带的第一分区中各数据块可表征为,第二分区中各数据块可表征为/>。
然后,根据第一条带的第一分区中的数据块进行编码,得到第一分区校验码;并根据第一条带的第二分区中的数据块进行编码得到第二分区校验码,也即将第一条带的原始的第一校验块拆分为两个校验码。
在一些实施例中,第一分区校验码是基于如下步骤获取的:
对于每一所述条带组,获取所述第一条带的第一分区中各数据块的落盘位置;
根据所述第一分区中各数据块的落盘位置,以及所述第一分区中的各数据块,获取所述第一分区校验码。
可选地,在对第一分区校验码机进行编码过程中,可对每一条带组执行如下步骤:
首先,获取第一条带的第一分区中各数据块的落盘位置;接着,根据第一分区中各数据块的落盘位置,以及第一分区中的各数据块进行编码获取第一分区校验码/>。
在一些实施例中,编码获取第一分区校验码的步骤具体包括:
获取所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置;
对所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置,以及所述第一分区中各数据块的落盘位置和所述第一分区中的各数据块进行编码,得到所述第一分区校验码。
可选地,分别获取第一条带的原始的第一校验块对应的落盘位置和第一条带的原始的第二校验块对应的落盘位置/>。
接着,将第一分区中各数据块的落盘位置与原始的第二校验块对应的落盘位置进行异或计算,得到各数据块对应的异常结果;并将第一条带的原始的第一校验块对应的落盘位置/>和第一条带的原始的第二校验块对应的落盘位置/>进行异常计算,得到校验块对应的异常结果,将各数据块对应的异常结果与校验块对应的异或结果进行相除后与各数据块对应相乘,得到各数据块对应的相乘结果,将各数据块对应的相乘结果进行异或计算,得到第一分区校验码。
在一些实施例中,所述第一分区校验码的编码方程具体如下:
;
其中,为所述第一条带中的数据块数量,A为所述第一条带的条带编号;/>为所述第一条带的第一分区校验码;/>为所述第一条带的原始的第二校验块的落盘位置;/>为所述第一条带的原始的第一校验块的落盘位置;/>为所述第一条带的第一分区中各数据块的落盘位置;/>为所述第一条带的第一分区中的各数据块;为异或操作。
本实施例提供的方法,通过将每一条带组中第一条带的原始的第一校验块划分成两个校验码,以对原始RAID6的校验块的编码方式进行改进,以便在目标磁盘阵列有一个磁盘出现数据块错误时,对该磁盘进行数据恢复可以比现有技术中少读取若干磁盘数据块,避免利用所有的磁盘数据,以减少参与运算的数据块,同时减少了部分数据读取,以进一步提高解码速度和数据恢复效率。
在一些实施例中,第二分区校验码是基于如下步骤获取的:
对于每一所述条带组,获取所述第一条带的第二分区中各数据块的落盘位置;
根据所述第二分区中各数据块的落盘位置,以及所述第二分区中的各数据块,获取所述第二分区校验码。
可选地,首先,获取第一条带的第二分区中各数据块的落盘位置;接着,根据第二分区中各数据块的落盘位置,以及第二分区中的各数据块进行编码获取第二分区校验码/>。
在一些实施例中,所述根据所述第二分区中各数据块的落盘位置,以及所述第二分区中的各数据块,获取所述第二分区校验码,包括:
获取所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置;
对所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置,以及所述第二分区中各数据块的落盘位置和所述第二分区中的各数据块进行编码,得到所述第二分区校验码。
可选地,分别获取第一条带的原始的第一校验块对应的落盘位置和第一条带的原始的第二校验块对应的落盘位置/>。
接着,将第二分区中各数据块的落盘位置与原始的第二校验块对应的落盘位置进行异或计算,得到各数据块对应的异常结果;
并将第一条带的原始的第一校验块对应的落盘位置和第一条带的原始的第二校验块对应的落盘位置/>进行异常计算,得到校验块对应的异常结果,将各数据块对应的异常结果与校验块对应的异或结果进行相除后与各数据块对应相乘,得到各数据块对应的相乘结果,将各数据块对应的相乘结果进行异或计算,得到第二分区校验码。
在一些实施例中,所述第二分区校验码的编码方程如下:
;
其中,为所述第一条带中的数据块数量,A为所述第一条带的条带编号;/>为所述第一条带的第二分区校验码;/>为所述第一条带的原始的第二校验块的落盘位置;/>为所述第一条带的原始的第一校验块的落盘位置;/>为所述第一条带的第二分区中各数据块的落盘位置;/>为所述第一条带的第二分区中的各数据块;/>为异或操作。
本实施例提供的方法,通过将每一条带组中第一条带的原始的第一校验块划分成两个校验码,以对原始RAID6的校验块的编码方式进行改进,以便在目标磁盘阵列有一个磁盘出现数据块错误时,对该磁盘进行数据恢复可以比现有技术中少读取若干磁盘数据块,避免利用所有的磁盘数据,以减少参与运算的数据块,同时减少了部分数据读取,以进一步提高解码速度和数据恢复效率。
接着,根据第一条带的第二分区校验码和第二条带的原始的第二校验块对第一条带的原始的第一校验块进行重新编码,得到第一条带的更新后的第一校验块。所称的原始的第二校验块是基于原始RAID6对第二条带的所有数据块进行编码得到的。
同理,根据第一条带的第一分区校验码和第二条带的原始的第二校验块对第二条带的原始的第二校验块进行重新编码,得到第二条带的更新后的第二校验块。
所称的重新编码可以是进行异或编码或乘积编码等,本实施对此不做具体地限定。
接着,基于左旋不对齐的负载均衡算法,将第二条带的更新后的第二校验块以及第一条带的更新后的第一校验块落盘至各磁盘中,即可得到改进的RAID6。
如表5所示,为采用异或编码,对第二条带的原始的第二校验块和第一条带的原始的第一校验块进行重新编码的落盘结果。
表5 每一条带组中各数据的落盘分布表之三
接着,在获取到异常数据块的落盘位置之后,可以根据异常数据块的落盘位置所在的不同分区,即可从目标磁盘阵列中除异常磁盘之外的磁盘中读取与异常数据块的落盘位置相对应的数据块作为目标数据块,以及与异常数据块的落盘位置相对应的目标校验块作为目标校验块。
需要说明的是,对于每一条带组,该条带组中的目标数据块的分块数量和目标校验块的分块数量之和远小于该条带组中除异常数据块之外的所有正常数据块的分块数量和校验块的分块数量之和。
步骤103,根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复。
接着,在对每一条带组对应的异常磁盘的异常数据进行恢复时,可以根据目标数据块与目标校验块进行编码时的编码方式,也即改进的RAID6的编码方式对应的解码方式进行解码,根据解码结果对每一条带组对应的异常磁盘的异常数据进行恢复。
本实施例提供数据恢复方法,通过目标磁盘阵列的每一条带组中第一条带的第一分区中的数据块编码得到的第一分区校验码、第一条带的第二分区中的数据块编码得到的第二分区校验码,以及第二条带的原始的第二校验块,分别对第一条带的原始的第一校验块和第二条带的原始的第二校验块进行更新,得到第一条带的更新后的第一校验块和第二条带的更新后的第二校验块,以在目标磁盘阵列中存在任一异常磁盘,根据该异常磁盘中异常数据块的落盘位置,在目标磁盘阵列的正常磁盘中,读取少量的目标数据块以及更新后的第一校验块或更新后的第二校验块,即可实现异常磁盘的数据恢复,无需读取目标磁盘阵列的所有数据块和所有校验块,有效数据块读取数量,减少参与运算的分块数据量,进而提高数据解码速度和数据恢复效率。
在一些实施例中,所述目标数据块包括第一数据块,所述第一数据块包括所述第二条带中除所述异常数据块之外的数据块;
步骤103进一步,包括:
对于每一所述条带组,根据所述第一数据块,对所述第二条带对应的所述异常数据块和所述第二条带的原始的第二校验块进行数据恢复;
根据所述第二条带的原始的第二校验块以及所述目标校验块,对所述第一条带对应的所述异常数据块进行数据恢复。
所称的第一数据块是每一条带组中第二条带中除异常磁盘的异常数据块之外的数据块,也即除异常磁盘之外的正常磁盘对应的第二条带中的数据块。例如,对于异常数据块为第二条带B中的第一个数据块,则第一数据块为第二条带B中除/>之外的剩余数据块,即目标数据块为/>。
可选地,在进行数据恢复过程中,对于每一条带组执行如下步骤:
首先,在正常磁盘中读取该条带组的第二条带中的第一数据块;
然后,基于第一数据块,对原始RAID6的编码方程进行解码,根据解码结果对第二条带对应的异常数据块进行数据恢复,以及对第二条带的原始的第二校验块进行数据恢复。
在一些实施例中,对第二条带对应的异常数据块和第二条带的原始的第二校验块进行数据恢复的具体步骤包括:
在所述正常磁盘中读取所述第二条带的原始的第一校验块;
根据所述第一数据块以及所述第二条带的原始的第一校验块,对所述第二条带的原始的第一校验块对应的编码方程进行解码;
根据解码结果,对所述第二条带对应的所述异常数据块和所述第二条带的原始的第二校验块进行数据恢复。
对于任一条带中的原始的第一校验块的编码方程和原始的第二校验块/>的编码方程,其是采用原始RAID6编码方式进行编码得到,具体编码计算公式如下:
;
其中,和/>分别为该条带中原始的第一校验块/>和原始的第二校验块/>的落盘位置;/>为该条带中各数据块的落盘位置;/>为该条带中的各数据块。
可选地,对第二条带对应的异常数据块和原始的第二校验块进行数据恢复的步骤包括:
首先,在正常磁盘中读取第二条带的原始的第一校验块,也即在数据落盘过程中按照上述原始RAID6编码方式编码形成的第一校验块。
接着,根据第一数据块以及第二条带的原始的第一校验块,对RAID6的编码方程进行解码,以根据解码结果对第二条带对应的异常数据块进行数据恢复,以及对第二条带的原始的第二校验块进行数据恢复。
对于原始RAID6,在任意两个磁盘和/>为异常磁盘需要进行数据恢复时,假设用和/>分别表示/>和/>;相应地,对于任一条带共有k+2个分块数据(即k个数据块和两个校验块);因此,在进行数据恢复时,需要读取该条带中除/>和/>之外的剩余k个磁盘的数据,以获取除/>和/>这两个异常磁盘中的数据块外剩余的k个分块数据,具体解码公式如下:
;
其中,为任一条带中的第/>个分块数据,也即该条带中的第/>个磁盘的分块数据;/>为该条带中的第/>个分块数据的落盘位置。
相应地,在需要进行第二条带对应的异常数据块进行数据恢复,以及对第二条带的原始的第二校验块进行数据恢复也可参照上述解码公式进行解码,得到第二条带的原始的第二校验块和第二条带对应的异常数据块,如恢复条带B中的/>。/>
例如,对于第二条带B中的数据块发生异常需要进行数据恢复的情况下,可以假设第二条带的原始的第二校验块也发生异常,也即假设/>和/>两个磁盘发生错误(即当/>时,/>,即一直认为/>之后的一个磁盘也发生错误,当/>是最后一个磁盘时,则认为/>为第一个磁盘),数据恢复公式如下:
;
根据上述公式,可知在进行第二条带对应的任一异常磁盘的异常数据块进行数据恢复时,仅需要读取k个磁盘的数据,相比于现有技术中在任一磁盘出现异常数据块时,需要进行剩余k+1个磁盘进行数据读取,本实施例仅需读取k个磁盘的数据,读盘量少了一个。
本实施例提供的方法,通过根据第一数据块以及第二条带的原始的第一校验块进行解码,以对第二条带对应的异常数据块和第二条带的原始的第二校验块进行数据恢复,所需读取的数据盘数量至少减少一个,进而有效提高数据解码速度和数据恢复效率。
接着,在获取到第二条带的原始的第二校验块之后,可进一步地根据第二条带的原始的第二校验块与目标校验块,对第二条带的原始的第二校验块与目标校验块之间构建的编码方程进行解码得到第一分区校验码或第二分区校验码,以根据第一分区校验码对第一分区校验码对应的编码方程或根据第二分区校验码对第二分区校验码对应的编码方程进行解码,以根据解码结果对第一条带对应的异常数据块进行数据恢复。
本实施例提供的方法,针对每一条带组,通过读取该条带组中第二条带中除异常数据块之外的少量的数据块以及目标校验块,即可对每一条带组对应的异常数据块进行数据恢复,避免读取所有条带中的所有数据块和校验块所需消耗的数据读取时间,提高数据解码速度和数据恢复效率。
在一些实施例中,根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标校验块,包括:
在所述第一条带对应的所述异常数据块的落盘位置属于所述第一分区的情况下,在所述正常磁盘中读取所述更新后的第二校验块;
将所述更新后的第二校验块作为所述目标校验块。
可选地,将第一条带对应的异常数据块的落盘位置与第一条带的第一分区所包含的落盘位置和第二分区所包含的落盘位置进行匹配,在根据匹配结果,确定第一条带对应的异常数据块的落盘位置属于第一分区的情况下,在正常磁盘中读取更新后的第二校验块作为目标校验块,以根据更新后的第二校验块对异常磁盘快速进行数据恢复。
在一些实施例中,对第一条带对应的异常数据块进行数据恢复的步骤,进一步包括:
根据所述第二条带的原始的第二校验块以及所述更新后的第二校验块,获取所述第一分区校验码;
根据所述第一分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复。
可选地,在获取到第二条带的原始的第二校验块以及更新后的第二校验块之后,可以进一步地根据第二条带的原始的第二校验块与更新后的第二校验块,对第二条带的原始的第二校验块与更新后的第二校验块之间构建的编码方程进行快速解码得到第一分区校验码。
此处的解码方式是与编码方式一一对应的,如在编码方式为异或编码的情况下,解码方式对应为异或解码;在编码方式为乘除编码的情况下,解码方式对应为乘除解码。
在一些实施例中,所述更新后的第二校验块是基于如下步骤获取的:
对所述第一分区校验码和所述第二条带的原始的第二校验块进行异或计算,得到所述更新后的第二校验块,也即此处的更新后的第二校验块为,其中,/>和/>分别为第二条带B的原始的第二校验块和第一条带A的第一分区校验码。
相应地,在一些实施例中,所述根据所述第二条带的原始的第二校验块以及所述更新后的第二校验块,获取所述第一分区校验码,包括:
将所述第二条带的原始的第二校验块与所述更新后的第二校验块进行异或计算,得到所述第一分区校验码。
可选地,将第二条带B的原始的第二校验块与更新后的第二校验块/>进行异或计算,即可得到第一条带A的第一分区校验码/>。
接着,在获取到第一分区校验码之后,可以根据第一分区校验码对第一分区校验码对应的编码方程进行解码,以根据解码结果对第一条带的第一分区对应的异常数据块进行快速数据恢复。
在一些实施例中,在确定第一条带对应的异常数据块的落盘位置属于第一分区的情况下,所述目标数据块还包括第二数据块,所述第二数据块为所述第一分区中除所述异常数据块之外的数据块;
所述根据所述第一分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复,包括:
根据所述第一分区校验码和所述第二数据块,对所述第一分区校验码的编码方程进行解码;
根据解码结果,对所述第一条带对应的所述异常数据块进行数据恢复。
可选地,在确定第一条带对应的异常数据块的落盘位置属于第一分区的情况下,从正常磁盘中读取第一条带的第一分区中除异常数据块之外的数据块,作为第二数据块。
例如,磁盘阵列中的第一个磁盘为异常磁盘,则对于第二条带B,该磁盘的数据块发生错误需要恢复,对于第一条带A,该磁盘的异常数据块/>发生错误需要恢复;由于异常数据块/>的落盘位置属于第一分区,则需要读取第一条带A中除异常数据块/>之外的数据块作为第二数据块/>;其中,k为第一条带中数据块的数量。
接着,根据第一分区校验码和第二数据块,对第一分区校验码和第二数据块之间构建的编码方程进行解密,以根据解码结果对第一条带对应的异常数据块进行数据恢复,如恢复条带A中的。
需要说明的是,对于第一分区对应的其他异常磁盘,如第个磁盘为异常磁盘,也可以按照上述方式进行数据恢复,此处不再赘述。
综上,本实施例提供的方法,对于每一条带组,按照第二条带的原始的第二校验块以及更新后的第二校验块,即可获取第一分区校验码,以根据第一分区校验码,即可对第一条带的第一分区对应的异常数据块进行数据恢复,避免对所有磁盘进行数据读取,整个解码过程中仅需读取第二条带的k+1个分块数据(也即k-1个第一数据块和一个更新后的第二校验块以及原始的第一校验块)以及第一条带的个分块数据(即/>个第二数据块),相应地,每一条带组的总数据读取量为/>,相比与现有技术中需要读取个磁盘的数据,读盘量减少25%,实现大大减少数据读取量,进而提高数据恢复效率。
在一些实施例中,根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标校验块,包括:
在所述第一条带对应的所述异常数据块的落盘位置属于所述第二分区的情况下,在所述正常磁盘中读取所述更新后的第一校验块;
将所述更新后的第一校验块作为所述目标校验块。
可选地,将第一条带对应的异常数据块的落盘位置与第一条带的第一分区所包含的落盘位置和第二分区所包含的落盘位置进行匹配,在根据匹配结果,确定第一条带对应的异常数据块的落盘位置属于第二分区的情况下,在正常磁盘中读取更新后的第一校验块作为目标校验块,以根据更新后的第一校验块对异常磁盘快速进行数据恢复。
在一些实施例中,对第一条带对应的异常数据块进行数据恢复的步骤,进一步包括:
根据所述第二条带的原始的第二校验块以及所述更新后的第一校验块,获取所述第二分区校验码;
根据所述第二分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复。
可选地,在获取到第二条带的原始的第二校验块以及更新后的第一校验块之后,可以进一步地根据第二条带的原始的第二校验块与更新后的第一校验块,对第二条带的原始的第二校验块与更新后的第一校验块之间构建的编码方程进行解码,快速恢复得到第二分区校验码。
此处的解码方式是与编码方式一一对应的,如在编码方式为异或编码的情况下,解码方式对应为异或解码;在编码方式为乘除编码的情况下,解码方式对应为乘除解码,以提高编解码的适用性。
在一些实例中,所述更新后的第一校验块是基于如下步骤确定的:
对所述第二分区校验码和所述第二条带的原始的第二校验块进行异或计算,得到所述更新后的第一校验块。也即此处的更新后的第一校验块为,其中,/>和/>分别为第二条带B的原始的第二校验块和第一条带A的第二分区校验码。
相应地,在一些实例中,所述根据所述第二条带的原始的第二校验块以及所述更新后的第一校验块,获取所述第二分区校验码,包括:
将所述第二条带的原始的第二校验块与所述更新后的第一校验块进行异或计算,得到所述第二分区校验码。
可选地,将第二条带B的原始的第二校验块与更新后的第一校验块/>进行异或计算,即可得到第一条带A的第二分区校验码/>。
接着,在获取到第二分区校验码之后,可以根据第二分区校验码对第二分区校验码对应的编码方程进行解码,以根据解码结果对第一条带的第二分区对应的异常数据块进行快速数据恢复。
在一些实施例中,在确定第一条带对应的异常数据块的落盘位置属于第二分区的情况下,所述目标数据块还包括第三数据块,所述第三数据块为所述第二分区中除所述异常数据块之外的数据块;
所述根据所述第二分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复,包括:
根据所述第二分区校验码和所述第三数据块,对所述第二分区校验码的编码方程进行解码;
根据解码结果,对所述第一条带对应的所述异常数据块进行数据恢复。
可选地,在确定第一条带对应的异常数据块的落盘位置属于第二分区的情况下,从正常磁盘中读取第一条带的第二分区中除异常数据块之外的数据块,作为第三数据块。
例如,磁盘阵列中的第个磁盘为异常磁盘,则对于第二条带B,该磁盘的数据块/>发生错误需要恢复,对于第一条带A,该磁盘的异常数据块/>发生错误需要恢复;由于异常数据块/>落盘位置属于第一条带的第二分区,则需要读取第一条带A中除异常数据块/>之外的数据块/>作为第三数据块。
接着,根据第二分区校验码和第三数据块,对第二分区校验码和第三数据块之间构建的编码方程进行解码,以根据解码结果对第一条带对应的异常数据块进行数据恢复,如恢复条带A中的。/>
需要说明的是,对于第二分区对应的其他异常磁盘,如第个磁盘为异常磁盘,也可以按照上述方式进行数据恢复,此处不再赘述。
综上,本实施例提供的方法,对于每一条带组,在第一条带对应的异常数据块属于第二分区的情况下,按照原始的第二校验块以及更新后的第一校验块,即可获取第二分区校验码,以根据第二分区校验码,即可对第一条带的第二分区对应的异常数据块进行数据恢复,避免对所有磁盘进行数据读取,整个解码过程中仅需读取第二条带的k个分块数据(也即k-1个第一数据块和一个原始的第一校验块)以及第一条带的个分块数据(即个第三数据块,以及一个更新后的第一校验块),相应地,每一条带组的总数据读取量为/>,相比与现有技术中需要读取/>个磁盘的数据,读盘量减少25%,实现大大减少数据读取量,进而提高数据恢复效率。
需要说明的是,当第k+1和k+2个数据盘发生错误时,也可按照上述改进的RAID6的编解码方式进行数据恢复,所要读取的数据盘数据为2k个盘,此处不再赘述。
以下以具体的实例,对本实施例中的数据恢复方法展开具体描述。
例如,当目标磁盘阵列中的第一个磁盘发生错误时,对于每一条带组中的第二条带B,该磁盘的数据块发生错误需要恢复时,需要从除第一个磁盘之外的正常磁盘中读取第二条带B中除/>之外的数据块,也即第一数据块,以及第二条带的原始的第一校验块;接着,根据原始RAID6中在任意两个磁盘为异常磁盘需要进行数据恢复时的解码公式进行解码,以根据解码结果,恢复得到第二条带的原始的第二校验块/>和/>;对于每一条带组中的第一条带A,该磁盘的数据块/>发生错误需要恢复时,从正常磁盘中读取第二条带的更新后的第二校验块/>,与第二条带B的原始的第二校验块/>进行异或计算,得到第一分区校验码/>;接着,在正常磁盘中,读取第一条带A的第一分区中除异常数据块/>之外的数据块,也即第二数据块/>,根据第一分区校验码和第二数据块对第一分区校验码对应的编码方程进行解码,即可恢复异常数据块/>。
当目标磁盘阵列中的第个磁盘发生错误时,对于每一条带组中的第二条带B,该磁盘的数据块/>发生错误需要恢复时,需要从除第/>个磁盘之外的正常磁盘中读取第二条带B中除/>之外的数据块,也即第一数据块,以及第二条带的原始的第一校验块;接着,根据原始RAID6中在任意两个磁盘为异常磁盘需要进行数据恢复时的解码公式进行解码,以根据解码结果,恢复得到第二条带的原始的第二校验块/>和/>;对于每一条带组中的第一条带A,该磁盘的数据块/>发生错误需要恢复时,从正常磁盘中读取第一条带的更新后的第一校验块/>,与第二条带B的原始的第二校验块/>进行异或计算,得到第一分区校验码/>;接着,在正常磁盘中,读取第一条带A的第二分区中除异常数据块/>之外的数据块,也即第三数据块/>,根据第二分区校验码和第三数据块对第二分区校验码对应的编码方程进行解码,即可恢复异常数据块/>。
由于RAID6的设计是为了使得RAID组完成后,可以实现任意两个或一个的磁盘组中的错误,都可以被恢复,是当今通用存储产品应用最多的纠删方案。而原始RAID6的错误恢复需要读取剩余所有的数据进行计算,导致数据恢复性能差,本实施例通过对每一条带组中的第一条带的原始的第一校验块以及第二条带的原始的第二校验块进行重新编码,当单一磁盘的数据块发生错误时,数据读取量可以减少25%,从而提升解码速度,进而提升数据恢复性能。
下面对本发明提供的数据恢复装置进行描述,下文描述的数据恢复装置与上文描述的数据恢复方法可相互对应参照。
如图2所示,本实施例提供一种数据恢复装置的结构示意图,该装置包括:
获取模块201用于在目标磁盘阵列中存在任一异常磁盘的情况下,获取所述异常磁盘中异常数据块的落盘位置;
读取模块202用于根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标数据块以及目标校验块;
恢复模块203用于根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复;
其中,所述正常磁盘为所述目标磁盘阵列中除所述异常磁盘之外的磁盘;
所述目标校验块包括所述目标磁盘阵列的每一条带组中第一条带的更新后的第一校验块或每一所述条带组中第二条带的更新后的第二校验块;所述更新后的第二校验块是根据第一分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述更新后的第一校验块是根据第二分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述第一分区校验码是根据所述第一条带的第一分区中的数据块进行编码得到的,所述第二分区校验码是根据所述第一条带的第二分区中的数据块进行编码得到的。
本实施例提供的数据恢复装置,通过目标磁盘阵列的每一条带组中第一条带的第一分区中的数据块编码得到的第一分区校验码、第一条带的第二分区中的数据块编码得到的第二分区校验码,以及第二条带的原始的第二校验块,分别对第一条带的原始的第一校验块和第二条带的原始的第二校验块进行更新,得到第一条带的更新后的第一校验块和第二条带的更新后的第二校验块,以在目标磁盘阵列中存在任一异常磁盘,根据该异常磁盘中异常数据块的落盘位置,在目标磁盘阵列的正常磁盘中,读取少量的目标数据块以及更新后的第一校验块或更新后的第二校验块,即可实现异常磁盘的数据恢复,无需读取目标磁盘阵列的所有数据块和所有校验块,有效数据块读取数量,减少参与运算的分块数据量,进而提高数据解码速度和数据恢复效率。
如图3所示,本实施例还提供一种数据恢复系统,该系统包括目标磁盘阵列302和磁盘控制器301;目标磁盘阵列302与磁盘控制器301连接,以便磁盘控制器301通过执行数据恢复步骤,对目标磁盘阵列302中的异常磁盘进行数据恢复,具体数据恢复步骤参见图1所示,此处不做赘述。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行数据恢复方法,该方法包括:在目标磁盘阵列中存在任一异常磁盘的情况下,获取所述异常磁盘中异常数据块的落盘位置;根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标数据块以及目标校验块;根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复;其中,所述正常磁盘为所述目标磁盘阵列中除所述异常磁盘之外的磁盘;所述目标校验块包括所述目标磁盘阵列的每一条带组中第一条带的更新后的第一校验块或每一所述条带组中第二条带的更新后的第二校验块;所述更新后的第二校验块是根据第一分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述更新后的第一校验块是根据第二分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述第一分区校验码是根据所述第一条带的第一分区中的数据块进行编码得到的,所述第二分区校验码是根据所述第一条带的第二分区中的数据块进行编码得到的。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据恢复方法,该方法包括:在目标磁盘阵列中存在任一异常磁盘的情况下,获取所述异常磁盘中异常数据块的落盘位置;根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标数据块以及目标校验块;根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复;其中,所述正常磁盘为所述目标磁盘阵列中除所述异常磁盘之外的磁盘;所述目标校验块包括所述目标磁盘阵列的每一条带组中第一条带的更新后的第一校验块或每一所述条带组中第二条带的更新后的第二校验块;所述更新后的第二校验块是根据第一分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述更新后的第一校验块是根据第二分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述第一分区校验码是根据所述第一条带的第一分区中的数据块进行编码得到的,所述第二分区校验码是根据所述第一条带的第二分区中的数据块进行编码得到的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据恢复方法,该方法包括:在目标磁盘阵列中存在任一异常磁盘的情况下,获取所述异常磁盘中异常数据块的落盘位置;根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标数据块以及目标校验块;根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复;其中,所述正常磁盘为所述目标磁盘阵列中除所述异常磁盘之外的磁盘;所述目标校验块包括所述目标磁盘阵列的每一条带组中第一条带的更新后的第一校验块或每一所述条带组中第二条带的更新后的第二校验块;所述更新后的第二校验块是根据第一分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述更新后的第一校验块是根据第二分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述第一分区校验码是根据所述第一条带的第一分区中的数据块进行编码得到的,所述第二分区校验码是根据所述第一条带的第二分区中的数据块进行编码得到的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (23)
1.一种数据恢复方法,其特征在于,包括:
在目标磁盘阵列中存在任一异常磁盘的情况下,获取所述异常磁盘中异常数据块的落盘位置;
根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标数据块以及目标校验块;
根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复;
其中,所述正常磁盘为所述目标磁盘阵列中除所述异常磁盘之外的磁盘;
所述目标校验块包括所述目标磁盘阵列的每一条带组中第一条带的更新后的第一校验块或每一所述条带组中第二条带的更新后的第二校验块;所述更新后的第二校验块是根据第一分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述更新后的第一校验块是根据第二分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述第一分区校验码是根据所述第一条带的第一分区中的数据块进行编码得到的,所述第二分区校验码是根据所述第一条带的第二分区中的数据块进行编码得到的。
2.根据权利要求1所述的数据恢复方法,其特征在于,所述目标数据块包括第一数据块,所述第一数据块包括所述第二条带中除所述异常数据块之外的数据块;
所述根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复,包括:
对于每一所述条带组,根据所述第一数据块,对所述第二条带对应的所述异常数据块和所述第二条带的原始的第二校验块进行数据恢复;
根据所述第二条带的原始的第二校验块以及所述目标校验块,对所述第一条带对应的所述异常数据块进行数据恢复。
3.根据权利要求2所述的数据恢复方法,其特征在于,所述根据所述第一数据块,对所述第二条带对应的所述异常数据块和所述第二条带的原始的第二校验块进行数据恢复,包括:
在所述正常磁盘中读取所述第二条带的原始的第一校验块;
根据所述第一数据块以及所述第二条带的原始的第一校验块,对所述第二条带的原始的第一校验块对应的编码方程进行解码;
根据解码结果,对所述第二条带对应的所述异常数据块和所述第二条带的原始的第二校验块进行数据恢复。
4.根据权利要求2所述的数据恢复方法,其特征在于,根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标校验块,包括:
在所述第一条带对应的所述异常数据块的落盘位置属于所述第一分区的情况下,在所述正常磁盘中读取所述更新后的第二校验块;
将所述更新后的第二校验块作为所述目标校验块。
5.根据权利要求4所述的数据恢复方法,其特征在于,所述根据所述第二条带的原始的第二校验块以及所述目标校验块,对所述第一条带对应的所述异常数据块进行数据恢复,包括:
根据所述第二条带的原始的第二校验块以及所述更新后的第二校验块,获取所述第一分区校验码;
根据所述第一分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复。
6.根据权利要求5所述的数据恢复方法,其特征在于,所述目标数据块还包括第二数据块,所述第二数据块为所述第一分区中除所述异常数据块之外的数据块;
所述根据所述第一分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复,包括:
根据所述第一分区校验码和所述第二数据块,对所述第一分区校验码的编码方程进行解码;
根据解码结果,对所述第一条带对应的所述异常数据块进行数据恢复。
7.根据权利要求5所述的数据恢复方法,其特征在于,所述更新后的第二校验块是基于如下步骤获取的:
对所述第一分区校验码和所述第二条带的原始的第二校验块进行异或计算,得到所述更新后的第二校验块。
8.根据权利要求7所述的数据恢复方法,其特征在于,所述根据所述第二条带的原始的第二校验块以及所述更新后的第二校验块,获取所述第一分区校验码,包括:
将所述第二条带的原始的第二校验块与所述更新后的第二校验块进行异或计算,得到所述第一分区校验码。
9.根据权利要求2所述的数据恢复方法,其特征在于,根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标校验块,包括:
在所述第一条带对应的所述异常数据块的落盘位置属于所述第二分区的情况下,在所述正常磁盘中读取所述更新后的第一校验块;
将所述更新后的第一校验块作为所述目标校验块。
10.根据权利要求9所述的数据恢复方法,其特征在于,所述根据所述第二条带的原始的第二校验块以及所述目标校验块,对所述第一条带对应的所述异常数据块进行数据恢复,包括:
根据所述第二条带的原始的第二校验块以及所述更新后的第一校验块,获取所述第二分区校验码;
根据所述第二分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复。
11.根据权利要求10所述的数据恢复方法,其特征在于,所述目标数据块还包括第三数据块,所述第三数据块为所述第二分区中除所述异常数据块之外的数据块;
所述根据所述第二分区校验码,对所述第一条带对应的所述异常数据块进行数据恢复,包括:
根据所述第二分区校验码和所述第三数据块,对所述第二分区校验码的编码方程进行解码;
根据解码结果,对所述第一条带对应的所述异常数据块进行数据恢复。
12.根据权利要求10所述的数据恢复方法,其特征在于,所述更新后的第一校验块是基于如下步骤确定的:
对所述第二分区校验码和所述第二条带的原始的第二校验块进行异或计算,得到所述更新后的第一校验块。
13.根据权利要求12所述的数据恢复方法,其特征在于,所述根据所述第二条带的原始的第二校验块以及所述更新后的第一校验块,获取所述第二分区校验码,包括:
将所述第二条带的原始的第二校验块与所述更新后的第一校验块进行异或计算,得到所述第二分区校验码。
14.根据权利要求1-13任一项所述的数据恢复方法,其特征在于,所述第一分区校验码是基于如下步骤获取的:
对于每一所述条带组,获取所述第一条带的第一分区中各数据块的落盘位置;
根据所述第一分区中各数据块的落盘位置,以及所述第一分区中的各数据块,获取所述第一分区校验码。
15.根据权利要求14所述的数据恢复方法,其特征在于,所述根据所述第一分区中各数据块的落盘位置,以及所述第一分区中的各数据块,获取所述第一分区校验码,包括:
获取所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置;
对所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置,以及所述第一分区中各数据块的落盘位置和所述第一分区中的各数据块进行编码,得到所述第一分区校验码。
16.根据权利要求15所述的数据恢复方法,其特征在于,所述第一分区校验码的编码方程如下:
;
其中,为所述第一条带中的数据块数量,A为所述第一条带的条带编号;/>为所述第一条带的第一分区校验码;/>为所述第一条带的原始的第二校验块的落盘位置;/>为所述第一条带的原始的第一校验块的落盘位置;/>为所述第一条带的第一分区中各数据块的落盘位置;/>为所述第一条带的第一分区中的各数据块;/>为异或操作。
17.根据权利要求1-13任一项所述的数据恢复方法,其特征在于,所述第二分区校验码是基于如下步骤获取的:
对于每一所述条带组,获取所述第一条带的第二分区中各数据块的落盘位置;
根据所述第二分区中各数据块的落盘位置,以及所述第二分区中的各数据块,获取所述第二分区校验码。
18.根据权利要求17所述的数据恢复方法,其特征在于,所述根据所述第二分区中各数据块的落盘位置,以及所述第二分区中的各数据块,获取所述第二分区校验码,包括:
获取所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置;
对所述第一条带的原始的第一校验块和所述第一条带的原始的第二校验块分别对应的落盘位置,以及所述第二分区中各数据块的落盘位置和所述第二分区中的各数据块进行编码,得到所述第二分区校验码。
19.根据权利要求18所述的数据恢复方法,其特征在于,所述第二分区校验码的编码方程如下:
;
其中,为所述第一条带中的数据块数量,A为所述第一条带的条带编号;/>为所述第一条带的第二分区校验码;/>为所述第一条带的原始的第二校验块的落盘位置;/>为所述第一条带的原始的第一校验块的落盘位置;/>为所述第一条带的第二分区中各数据块的落盘位置;/>为所述第一条带的第二分区中的各数据块;/>为异或操作。
20.一种数据恢复装置,其特征在于,包括:
获取模块,用于在目标磁盘阵列中存在任一异常磁盘的情况下,获取所述异常磁盘中异常数据块的落盘位置;
读取模块,用于根据所述异常数据块的落盘位置,在所述目标磁盘阵列的正常磁盘中,读取目标数据块以及目标校验块;
恢复模块,用于根据所述目标数据块以及所述目标校验块,对所述异常磁盘进行数据恢复;
其中,所述正常磁盘为所述目标磁盘阵列中除所述异常磁盘之外的磁盘;
所述目标校验块包括所述目标磁盘阵列的每一条带组中第一条带的更新后的第一校验块或每一所述条带组中第二条带的更新后的第二校验块;所述更新后的第二校验块是根据第一分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述更新后的第一校验块是根据第二分区校验码和所述第二条带的原始的第二校验块进行更新得到的;所述第一分区校验码是根据所述第一条带的第一分区中的数据块进行编码得到的,所述第二分区校验码是根据所述第一条带的第二分区中的数据块进行编码得到的。
21.一种数据恢复系统,其特征在于,包括目标磁盘阵列和磁盘控制器;
所述磁盘控制器与所述目标磁盘阵列连接;
所述磁盘控制器用于执行如权利要求1至19任一项所述数据恢复方法。
22.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至19任一项所述数据恢复方法。
23.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至19任一项所述数据恢复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310747986.8A CN116501553B (zh) | 2023-06-25 | 2023-06-25 | 数据恢复方法、装置、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310747986.8A CN116501553B (zh) | 2023-06-25 | 2023-06-25 | 数据恢复方法、装置、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116501553A true CN116501553A (zh) | 2023-07-28 |
CN116501553B CN116501553B (zh) | 2023-09-19 |
Family
ID=87320489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310747986.8A Active CN116501553B (zh) | 2023-06-25 | 2023-06-25 | 数据恢复方法、装置、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501553B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312054A (zh) * | 2023-10-30 | 2023-12-29 | 广州鼎甲计算机科技有限公司 | 磁盘阵列的目标数据恢复方法、装置和计算机设备 |
CN117312054B (zh) * | 2023-10-30 | 2024-05-14 | 广州鼎甲计算机科技有限公司 | 磁盘阵列的目标数据恢复方法、装置和计算机设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033716A (zh) * | 2010-12-01 | 2011-04-27 | 北京同有飞骥科技股份有限公司 | 一种双磁盘容错的节能型磁盘阵列的构建方法 |
CN102520883A (zh) * | 2011-12-12 | 2012-06-27 | 杭州华三通信技术有限公司 | 一种数据存取方法及其装置 |
CN108089892A (zh) * | 2017-12-13 | 2018-05-29 | 深圳市创维软件有限公司 | 一种系统安全启动的方法、装置、机顶盒及存储介质 |
CN111930552A (zh) * | 2020-06-17 | 2020-11-13 | 深圳佰维存储科技股份有限公司 | 坏块数据的恢复方法、装置、存储介质及电子设备 |
CN114090345A (zh) * | 2022-01-21 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种磁盘阵列数据恢复方法、系统、存储介质及设备 |
CN114116297A (zh) * | 2022-01-27 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种数据编码方法、装置、设备及介质 |
CN114153651A (zh) * | 2022-02-09 | 2022-03-08 | 苏州浪潮智能科技有限公司 | 一种数据编码方法、装置、设备及介质 |
US11314594B2 (en) * | 2020-03-09 | 2022-04-26 | EMC IP Holding Company LLC | Method, device and computer program product for recovering data |
CN114610525A (zh) * | 2022-03-18 | 2022-06-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种用于磁盘阵列的数据更新方法、系统及存储介质 |
WO2022127289A1 (zh) * | 2020-12-18 | 2022-06-23 | 苏州浪潮智能科技有限公司 | 基于高斯消元进行校验恢复的方法、系统、设备及介质 |
CN114756402A (zh) * | 2022-04-15 | 2022-07-15 | 山东云海国创云计算装备产业创新中心有限公司 | Raid组更新数据时保障数据安全的方法、系统、设备及介质 |
CN115080303A (zh) * | 2022-07-26 | 2022-09-20 | 苏州浪潮智能科技有限公司 | Raid6磁盘阵列的编码方法、解码方法、装置及介质 |
-
2023
- 2023-06-25 CN CN202310747986.8A patent/CN116501553B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033716A (zh) * | 2010-12-01 | 2011-04-27 | 北京同有飞骥科技股份有限公司 | 一种双磁盘容错的节能型磁盘阵列的构建方法 |
CN102520883A (zh) * | 2011-12-12 | 2012-06-27 | 杭州华三通信技术有限公司 | 一种数据存取方法及其装置 |
CN108089892A (zh) * | 2017-12-13 | 2018-05-29 | 深圳市创维软件有限公司 | 一种系统安全启动的方法、装置、机顶盒及存储介质 |
US11314594B2 (en) * | 2020-03-09 | 2022-04-26 | EMC IP Holding Company LLC | Method, device and computer program product for recovering data |
CN111930552A (zh) * | 2020-06-17 | 2020-11-13 | 深圳佰维存储科技股份有限公司 | 坏块数据的恢复方法、装置、存储介质及电子设备 |
WO2022127289A1 (zh) * | 2020-12-18 | 2022-06-23 | 苏州浪潮智能科技有限公司 | 基于高斯消元进行校验恢复的方法、系统、设备及介质 |
CN114090345A (zh) * | 2022-01-21 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种磁盘阵列数据恢复方法、系统、存储介质及设备 |
CN114116297A (zh) * | 2022-01-27 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种数据编码方法、装置、设备及介质 |
CN114153651A (zh) * | 2022-02-09 | 2022-03-08 | 苏州浪潮智能科技有限公司 | 一种数据编码方法、装置、设备及介质 |
CN114610525A (zh) * | 2022-03-18 | 2022-06-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种用于磁盘阵列的数据更新方法、系统及存储介质 |
CN114756402A (zh) * | 2022-04-15 | 2022-07-15 | 山东云海国创云计算装备产业创新中心有限公司 | Raid组更新数据时保障数据安全的方法、系统、设备及介质 |
CN115080303A (zh) * | 2022-07-26 | 2022-09-20 | 苏州浪潮智能科技有限公司 | Raid6磁盘阵列的编码方法、解码方法、装置及介质 |
Non-Patent Citations (1)
Title |
---|
李清;: "RAID5磁盘阵列数据恢复", 中国新通信, no. 10 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312054A (zh) * | 2023-10-30 | 2023-12-29 | 广州鼎甲计算机科技有限公司 | 磁盘阵列的目标数据恢复方法、装置和计算机设备 |
CN117312054B (zh) * | 2023-10-30 | 2024-05-14 | 广州鼎甲计算机科技有限公司 | 磁盘阵列的目标数据恢复方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116501553B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vajha et al. | Clay codes: Moulding {MDS} codes to yield an {MSR} code | |
CN108170555B (zh) | 一种数据恢复方法及设备 | |
CN109643258B (zh) | 使用高速率最小存储再生擦除代码的多节点修复 | |
CN111149093B (zh) | 分布式存储系统的数据编码、解码及修复方法 | |
US10048999B2 (en) | Method and apparatus for optimizing recovery of single-disk failure | |
US20140310571A1 (en) | Local Erasure Codes for Data Storage | |
CN115080303B (zh) | Raid6磁盘阵列的编码方法、解码方法、装置及介质 | |
CN102520890B (zh) | 基于gpu的rs-draid系统及存储设备数据控制方法 | |
CN106874140B (zh) | 数据存储方法及装置 | |
CN108347306B (zh) | 分布式存储系统中类局部重构码编码及节点故障修复方法 | |
US20120198195A1 (en) | Data storage system and method | |
CN114816837B (zh) | 一种纠删码融合方法、系统、电子设备及存储介质 | |
WO2023151290A1 (zh) | 一种数据编码方法、装置、设备及介质 | |
CN114610525A (zh) | 一种用于磁盘阵列的数据更新方法、系统及存储介质 | |
CN110895497B (zh) | 一种分布式存储中降低纠删码修复的方法及装置 | |
CN104268031B (zh) | 一种用于磁盘阵列存储系统中固态硬盘的擦除码配置方法 | |
CN111459710A (zh) | 感知热度与风险的纠删码内存恢复方法、设备及内存系统 | |
CN114546272A (zh) | 快速通用的raid降级为raid5的方法、系统、设备和存储介质 | |
US20150278020A1 (en) | Storage control apparatus, recording medium having stored therein storage control program and storage control method | |
CN116501553B (zh) | 数据恢复方法、装置、系统、电子设备及存储介质 | |
CN116501537A (zh) | 磁盘阵列切换方法、系统、电子设备及存储介质 | |
CN116450048A (zh) | Raid6磁盘阵列降级为raid5磁盘阵列的方法 | |
CN115167787B (zh) | 一种数据转存方法、系统、设备及计算机可读存储介质 | |
CN115269258A (zh) | 一种数据恢复的方法和系统 | |
CN114756175A (zh) | 一种用于磁盘阵列的解码方法、系统、设备及介质 |
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 |