CN110795269A - 一种数据恢复验证方法、装置及设备 - Google Patents

一种数据恢复验证方法、装置及设备 Download PDF

Info

Publication number
CN110795269A
CN110795269A CN201810874861.0A CN201810874861A CN110795269A CN 110795269 A CN110795269 A CN 110795269A CN 201810874861 A CN201810874861 A CN 201810874861A CN 110795269 A CN110795269 A CN 110795269A
Authority
CN
China
Prior art keywords
check
data
block
data block
blocks
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
CN201810874861.0A
Other languages
English (en)
Other versions
CN110795269B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810874861.0A priority Critical patent/CN110795269B/zh
Publication of CN110795269A publication Critical patent/CN110795269A/zh
Application granted granted Critical
Publication of CN110795269B publication Critical patent/CN110795269B/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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本申请公开了一种数据恢复验证方法、装置及设备。方法包括:在EC编码存入数据的过程中,确定数据块/校验块的参考校验码;若数据块/校验块丢失,则执行数据恢复操作,并确定恢复后的该数据块/校验块的验证校验码;对比参考校验码和验证校验码,若两者一致,则确定已正确恢复数据块/校验块,若两者不一致,则确定恢复失败。

Description

一种数据恢复验证方法、装置及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据恢复验证方法、装置及设备。
背景技术
纠删码(erasure coding,EC)是一种数据保护方法,它将数据分割成片段,把冗余数据块扩展、编码,并将其存储在不同的位置,比如磁盘、存储节点或者其它地理位置。
不同于多副本冗余方式的同一份数据会有多份保存在存储介质上,EC编码的数据块和校验块都只有1份。如果丢失1个或多个数据块或者校验块,则需要通过未丢失的多个数据块和校验块进行EC解码Decode来恢复丢失的数据块或校验块。但是整个恢复过程中有可能出现数据损坏,比如从存储介质读取数据、内存操作、网络传输、EC编解码等。而一旦出现数据损坏,如果不及时发现和纠正,那么随着更多的丢失、复制操作,最后有可能再也恢复不出正确的数据了。
因此,需要提供更可靠的方案。
发明内容
本说明书实施例提供一种数据恢复验证方法、装置及设备,用以提供一种更加可靠的数据恢复验证方案,以便在确定数据恢复失败后,及时进行数据重恢复。
本说明书实施例还提供一种数据恢复验证方法,包括:
获取已恢复的数据块/校验块对应的参考校验码,所述参考校验码为基于丢失前的所述数据块/所述校验块中的数据确定的;
基于所述数据块/所述校验块中的数据,确定所述数据块/所述校验块的验证校验码;
若所述验证校验码和所述参考校验码一致,则确定所述数据块/所述校验块被正确恢复。
本说明书实施例还提供一种数据恢复验证装置,包括:
获取模块,用于获取已恢复的数据块/校验块对应的参考校验码,所述参考校验码为基于丢失前的所述数据块/所述校验块中的数据确定的;
确定模块,用于基于所述数据块/所述校验块中的数据,确定所述数据块/所述校验块的验证校验码;
验证模块,用于若所述验证校验码和所述参考校验码一致,则确定所述数据块/所述校验块被正确恢复。
本说明书实施例还提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取已恢复的数据块/校验块对应的参考校验码,所述参考校验码为基于丢失前的所述数据块/所述校验块中的数据确定的;
基于所述数据块/所述校验块中的数据,确定所述数据块/所述校验块的验证校验码;
若所述验证校验码和所述参考校验码一致,则确定所述数据块/所述校验块被正确恢复。
本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取已恢复的数据块/校验块对应的参考校验码,所述参考校验码为基于丢失前的所述数据块/所述校验块中的数据确定的;
基于恢复后的所述数据块/所述校验块中的数据,确定所述数据块/所述校验块的验证校验码;
若所述验证校验码和所述参考校验码一致,则确定所述数据块/所述校验块被正确恢复。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过在EC编码的过程中,计算数据块/校验块的校验码,作为参考校验码;若数据块/校验块丢失,则执行EC解码以恢复数据块/校验块,并重计算恢复的数据块/校验块的校验码,作为验证校验码;对比参考校验码和验证校验码,若两者一致,则确定已正确恢复数据块/校验块,若两者不一致,则确定恢复失败。与现有技术相比,能有效验证数据恢复的正确性;而且,仅需要在EC编码和解码时,各计算一遍数据块/校验块的校验码,对系统性能的影响较低。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本说明书提供的一种应用场景的示意图;
图1b为本说明书提供的另一种应用场景的示意图;
图2为本说明书一实施例提供的一种数据恢复验证方法的流程示意图;
图3为本说明书一实施例提供的恢复校验块部分的第一种实现方式的流程示意图;
图4为本说明书一实施例提供的恢复校验块部分的第二种实现方式的流程示意图;
图5为本说明书一实施例提供的一种数据恢复验证装置的结构示意图;
图6为本说明书一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
正如背景技术部分陈述的,分布式系统的存储规模正在变得越来越大;而分布式系统中的设备错误也是一个不容忽视的问题。因此数据的存储成本与可靠性都是分布式系统设计时需要考虑的因素。EC可以在保证与其同样的数据可靠性的前提下,最小化系统的存储开销。而在EC数据恢复过程中有可能出现数据损坏,因此,需要对恢复的数据进行验证,以确定是否正确恢复原数据。现有技术中提出了如下方案:通过EC编码/解码恢复数据后,再次执行EC编码/解码,将两次得到的数据进行对比,以确定是否正常恢复元数据;这种方案对系统性能有较大响应,对CPU造成更大的压力。
基于此,本发明提供一种数据恢复验证方法,通过在EC编码的过程中,计算数据块/校验块的校验码,作为参考校验码;若数据块/校验块丢失,则执行EC解码以恢复数据块/校验块,并重计算恢复的数据块/校验块的校验码,作为验证校验码;对比参考校验码和验证校验码,若两者一致,则确定已正确恢复数据块/校验块,若两者不一致,则确定恢复失败。与现有技术相比,能有效验证数据恢复的正确性;而且,仅需要在EC编码和解码时,各计算一遍数据块/校验块的校验码,对系统性能的影响较低。
下面对本发明的应用场景进行示例性说明。
参见图1,在一个应用场景中,系统包括:
接收外部输入的数据流(用户数据),将用户数据以条带stripe的结构存入容器Chunk中。
一个条带包括多个数据块和校验块,本文以EC 4+2为例,即条带包括4个数据块和2个校验块。数据写入过程可以为:预先从4个数据块选出一个数据块(例如:D4)为其增加一CRC区,一般情况下,一个条带中仅有一个数据块有CRC区;然后,在EC编码的过程中,计算数据块的校验码,并作为参考校验码存入D4中;然后,进一步地编码得到校验块。
数据块包括填充区和描述数据;由于EC本身的特点,需要完整的条带才能进行编解码,因此在条带未填满时,在用户数据之后在填充区进行填充;描述数据包括循环冗余校验CRC区,用于存放数据块的参考校验码。
在检测到某数据块丢失时,基于未丢失的数据块、校验块进行EC编码,恢复该数据块,并再次计算该数据块对应的校验码,作为验证校验码。
从D4中读取该数据块对应的参考校验码,并将其与验证校验码进行对比,若两者一致,则确定该数据块被正确恢复。
参见图1b,在另一应用场景中,系统还包括:元数据库;
与上一应用场景的不同之处在于,本应用场景在EC编码的过程中,可计算数据块和校验块的校验码,作为参考校验码;然后,将参考校验码作为元数据存入元数据库中,而不在数据块中增加CRC区。
在检测到某数据块丢失时,基于未丢失的数据块、校验块进行EC编码,恢复该数据块,并再次计算该数据块对应的校验码,作为验证校验码。
从元数据库中读取该数据块对应的参考校验码,并将其与验证校验码进行对比,若两者一致,则确定该数据块被正确恢复。
基于此,可优化上一应用场景中的由于校验码和校验块的依赖关系,引起的校验块没有校验码的问题。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本说明书一实施例提供的一种数据恢复验证方法的流程示意图,参见图2,该方法具体可以包括如下步骤:
步骤220、获取已恢复的数据块/校验块对应的参考校验码,所述参考校验码为基于丢失前的所述数据块/所述校验块中的数据确定的;
步骤240、基于所述数据块/所述校验块中的数据,确定所述数据块/所述校验块的验证校验码;
需要说明的是,对于同一数据块或校验块,优选使用相同的数据为输入计算其参考校验码和验证校验码;具体计算方法可采用现有的CRC32算法等,此处不做限定。
步骤260、若所述验证校验码和所述参考校验码一致,则确定所述数据块/所述校验块被正确恢复。
需要说明的是,步骤220-步骤260的第一种实现方式可以包括如下部分:
第一部分、存取参考校验码;具体地:
确定同一条带上各数据块的参考校验码;将各数据块的参考校验码存入所述条带中的目标数据块的循环冗余校验CRC区,进而在需要时可从目标数据块的CRC区中读取数据块的参考校验码。其中,目标数据块可以是条带中的任意一个数据块,例如条带中的最后一个数据块。
结合图1a,假设条带上的目标数据块为D4,则第一部分可以示例为:在EC编码过程中,计算每个数据块D1-D4的校验码,并存入D4的CRC区中;然后,可基于各数据块的标识从D4的CRC区中读取出该数据块的校验码。其中,计算各数据块的校验码的实现方式可以示例为:
从D1-D4和P1-P2中选出除本数据块之外的预定数量的数据块和/或校验块,并将其数据作为CRC2算法的输入,得到本数据块的参考校验码,以此类推,得到每个数据块的参考校验码;其中,所述预设数量与所述条带上的数据块的数量相同。
第二部分、恢复数据块;具体地:
由于一般情况下属于同一条带的数据块和校验块被存放至不同的设备中,当检测到某设备出现问题时,可确定是哪个数据块或校验块丢失。
若丢失的数据块为目标数据块D4,则从未丢失的数据块和校验块中选出预设数量的数据块或校验块,该预设数量与条带中的数据块数量相同;然后,通过EC编码,得到恢复后的D4。
若丢失的数据块为D1-D3中的任意一个,假设为D2,由于D4的CRC区中包括D2的参考校验码,因此,为了精准恢复D2,需要读取所述条带上包含所述目标数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;然后,对读取的数据块和/或校验块进行纠删码EC编码处理,得到恢复后的D2。
优选的,为提供恢复精度,恢复数据块时选出的数据块和/或校验块与计算该数据块的参考校验码时选出的数据块和/或校验块相同。
第三部分、确定恢复的数据块的验证校验码;具体地:
若恢复的数据块为目标数据块D4,由于D4的CRC区中存有各数据块的参考校验码,因此,为了提高计算精度,需要先重置D4的CRC区中的指定位的数据,所述指定位的数据包括D4的参考校验码;
然后,基于重置后的所述目标数据块中的数据,确定所述目标数据块的验证校验码。不难理解的是,在重置之前,还需要先将D4的参考校验码读出来,并作为一个变量进行保存。其中,需重置的指定位的数据与计算D4的参考校验码使用的数据相对应,例如:
若计算D4的参考校验码时未使用CRC区中的D1-D3的参考校验码,则需重置的指定位的数据为D4的参考校验码;若计算D4的参考校验码时使用了D1-D3的参考校验码中的一个或多个,则需重置的指定位的数据为使用的参考检验码+D4的参考校验码;
其中,重置方式可以具体为:将指定位的数据置零或置为其他预设数据。
若恢复的数据块为D1-D3中的任意一个,假设为D2,则可直接基于D2中的数据或者第一部分时计算参考校验码时输入的数据,得到其验证校验码。
第四部分、对比参考校验码和验证校验码;具体地:
首先,从D4的CRC区中读出丢失的数据块的参考校验码;然后,将参考校验码和第三部分计算的验证校验码进行对比,若两者一致,则确定该数据块已正确恢复;若两者不一致,则确定恢复失败。
可选的,在确定恢复失败之后,本实现方式还包括:重恢复和重验证部分;具体地:
将第二部分中读取的用于EC编码的数据块和/或校验块中的一个或多个替换为该条带上丢失的数据块之外的且未读取的数据块或校验块;例如:丢失的数据块为D4时,第一次恢复可读取D1-D3和P1以进行EC编码,第二次恢复可将P1替换为P2,进而,可基于替换后的数据块或校验块进行重EC编码,得到第二次恢复的D4。进一步地,基于上述第三部分和第四部分中记载的内容,重新计算D4的验证校验码,以完成重验证。
若重验证依然不通过,则以此类推继续替换读取的数据块或校验块,直至验证通过;或者,没有可替换的数据块或校验块为止并报错,以通知D4无法正确恢复。
基于上述第一部分至第四部分,本实现方式还进一步包括,恢复校验块部分;结合图3,具体地:
步骤320、读取所述条带上包含所述目标数据块且不包含假想丢失数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;
其中,所述假想丢失数据块为所述条带上的实际未丢失而假设丢失的数据块。
步骤340、对读取的数据块和/或校验块进行EC编码,获取假想丢失数据块,并计算该假想丢失数据块的验证校验码;
步骤360、从所述目标数据块的CRC区中读取该假想丢失数据块的参考验证码;
步骤380、若该假想丢失数据块的验证校验码和参考验证码一致,则基于读取的数据块和/或校验块进行EC编码处理,得到恢复后的校验块。
不难理解的是,由于本实现方式中,校验块和校验码存在依赖关系,校验块是没有校验码的。因此,在丢失校验块时,实际上是无法直接验证恢复的校验块是否正确。针对这种情况,基于步骤320-步骤380,先从未读取且未丢失的数据块或校验块中选出一个数据块或校验块(假设为D1);然后,假想D1丢失了,并使用读取的数据块或校验块恢复D1,以及验证是否正确恢复,若是,则使用读取的数据块或校验块恢复丢失的校验块作为输入,以此来保证作为输出的恢复的校验块的正确性。
步骤220-步骤260的第二种实现方式可以包括如下部分:
第一部分、存取参考校验码;具体地:
基于同一条带上的各数据块和校验块中的数据,确定各数据块和校验块的参考校验码;将各数据块和校验块的参考校验码作为元数据存入元数据库,并建立参考校验码和数据块、参考校验码和校验块之间的关联关系。
结合图1a,第一部分可以示例为:在EC编码过程中,为每个数据块D1-D4和校验块P1-P2计算出一个校验码,并作为元数据存入元数据库中;然后,可基于丢失的数据块/校验块的标识,结合参考校验码和数据块、参考校验码和校验块之间的关联关系,从元数据库中读取出该数据块/校验块的参考校验码。
第二部分、恢复数据块/校验块;具体地:
由于一般情况下属于同一条带的数据块、校验块被存放至不同的设备中,当检测到某设备出现问题时,可确定是哪个数据块或校验块丢失。
而无论丢失是哪个一个或多个数据块或校验块丢失,都可从未丢失的数据块和校验块中选出预定数量的数据块或校验块,该预设数量与条带中的数据块数量相同;然后,基于选出的数据块或校验块进行EC编码,恢复丢失的数据块或校验块。
第三部分、确定恢复的数据块的验证校验码;具体地:
基于恢复的数据块或校验块中的数据,通过CRC32算法计算其校验码,作为验证校验码。
第四部分、对比参考校验码和验证校验码;具体地:
首先,从元数据库读出丢失的数据块或校验块的参考校验码;然后,将参考校验码和第三部分计算的验证校验码进行对比,若两者一致,则确定该数据块或校验块已正确恢复;若两者不一致,则确定恢复失败。
可选的,在确定恢复失败之后,本实现方式也可包括:重恢复和重验证部分;由于该部分与第二部分至第四部分相似,故,简要说明如下:
将读取的数据块和/或校验块中的一个或多个替换为所述条带上丢失的数据块/所述校验块之外的且未读取的数据块或校验块;对读取的数据块和/或校验块进行重EC编码处理,获取恢复后的数据块/所述校验块。
需要说明的是,步骤220-步骤260的第三种实现方式可以包括如下部分:
第一部分、存取参考校验码;具体地:
基于同一条带上所有数据块中的数据,确定一参考校验码;将所述参考校验码存入所述条带中的目标数据块的CRC区。
结合图1a,第一部分可以示例为:在EC编码过程中,基于D1-D4中的全部数据计算出一个校验码,并作为参考校验码存入D4的CRC区中;后续读取时,可基于条带中任一数据块的标识或条带的标识从D4的CRC区中读取出该参考校验码。
第二部分、恢复数据块;具体地:
由于一般情况下属于同一条带的数据块和校验块被存放至不同的设备中,当检测到某设备出现问题时,可确定是哪个数据块丢失。
而由于D4的CRC区中的参考校验码为基于所有数据块计算的校验码,因此,无论丢失的数据块是D4还是D1-D3中的任一个,为实现精准恢复,可读取所述条带上包含所有未丢失的数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;然后,对读取的数据块和/或校验块进行EC编码处理,得到恢复后的数据块。
第三部分、确定恢复的数据块的验证校验码;具体地:
同样的,由于D4的CRC区中的参考校验码为基于所有数据块计算的校验码,因此,为了提高计算精度,需要重置所述目标数据块的CRC区中的指定位的数据,所述指定位的数据包括所述条带上所有数据块的参考校验码;然后,基于所述条带上的重置后D4和其他数据块中的数据,确定一验证校验码。不难理解的是,在进行重置之前,还需要先将指定位的参考校验码读出来,并作为一个变量进行保存。
其中,重置方式可以具体为:将指定位的数据置零或置为其他预设数据。
第四部分、对比参考校验码和验证校验码;具体地:
首先,从D4的CRC区中读出所有数据块对应的参考校验码,作为丢失的数据块的参考校验码;然后,将参考校验码和第三部分计算出的验证校验码进行对比,若两者一致,则确定该数据块已正确恢复;若两者不一致,则确定恢复失败。
基于上述第一部分至第四部分,本实现方式还进一步包括,恢复校验块部分;结合图4,具体地:
步骤420、读取所述条带上包含所有未丢失的数据块且不包含假想丢失数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;
其中,所述假想丢失数据块为所述条带上的实际未丢失而假设丢失的数据块。
步骤440、对读取的数据块和/或校验块进行EC编码,获取假想丢失数据块,并计算所有数据块的验证校验码;
步骤460、从所述目标数据块的CRC区中读取所有数据块的参考验证码;
步骤480、若验证校验码和参考验证码一致,则基于读取的数据块和/或校验块进行EC编码处理,得到恢复后的校验块。
不难理解的是,由于本实现方式中,校验块和校验码存在依赖关系,校验块是没有校验码的。因此,在丢失校验块时,实际上是无法直接验证恢复的校验块是否正确。针对这种情况,基于步骤420-步骤480,先假设一个实际未丢失的数据块丢失(假想丢失数据块)了,然后,使用读取的数据块或校验块恢复假想丢失数据块,并使用恢复的假想丢失数据块的数据和其他数据块的数据计算一验证校验码,以验证是否正确恢复,若是,则使用读取的数据块或校验块恢复丢失的校验块作为输入,以此来保证作为输出的恢复的校验块的正确性。
步骤220-步骤260的第四种实现方式可以包括如下部分:
第一部分、存取参考校验码;具体地:
基于同一条带上的所有数据块和校验块中的数据,确定一参考校验码;将所述参考校验码作为元数据存入元数据库,并建立参考校验码和所述条带之间的关联关系。
结合图1a,第一部分可以示例为:在EC编码过程中,基于数据块D1-D4和校验块P1-P2的全部数据计算出一个参考校验码,并作为元数据存入元数据库中;然后,可基于丢失的数据块/校验块的标识或条带的标识从元数据库中读取出该参考校验码。
第二部分、恢复数据块/校验块;具体地:
由于一般情况下属于同一条带的数据块、校验块被存放至不同的设备中,当检测到某设备出现问题时,可确定是哪个数据块或校验块丢失。
而无论丢失是哪个一个或多个数据块或校验块丢失,都可从未丢失的数据块和校验块中选出预定数量的数据块或校验块并读取,该预设数量与条带中的数据块数量相同;然后,基于读取的数据块或校验块进行EC编码,恢复丢失的数据块或校验块。
第三部分、确定恢复的数据块的验证校验码;具体地:
基于恢复的数据块或校验块中的数据和其他未丢失的数据块和校验块中的数据,通过CRC32算法计算其校验码,作为验证校验码。
第四部分、对比参考校验码和验证校验码;具体地:
首先,从元数据库读出参考校验码;然后,将参考校验码和第三部分计算的验证校验码进行对比,若两者一致,则确定该数据块或校验块已正确恢复;若两者不一致,则确定恢复失败。
可见,本实施例通过在EC编码的过程中,计算数据块/校验块的校验码,作为参考校验码;若数据块/校验块丢失,则执行EC解码以恢复数据块/校验块,并重计算恢复的数据块/校验块的校验码,作为验证校验码;对比参考校验码和验证校验码,若两者一致,则确定已正确恢复数据块/校验块,若两者不一致,则确定恢复失败。与现有技术相比,能有效验证数据恢复的正确性;而且,仅需要在EC编码和解码时,各计算一遍数据块/校验块的校验码,对系统性能的影响较低。
另外,对于上述方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。
图5为本说明书一实施例提供的一种数据恢复验证装置的结构示意图,参见图5,该装置具体可以包括:获取模块51、确定模块52和验证模块53,其中:
获取模块51,用于获取已恢复的数据块/校验块对应的参考校验码,所述参考校验码为基于丢失前的所述数据块/所述校验块中的数据确定的;
确定模块52,用于基于所述数据块/所述校验块中的数据,确定所述数据块/所述校验块的验证校验码;
验证模块53,用于若所述验证校验码和所述参考校验码一致,则确定所述数据块/所述校验块被正确恢复。
可选的,装置还包括:
第一检验码存入模块,用于确定同一条带上各数据块的参考校验码;将各数据块的参考校验码存入所述条带中的目标数据块的循环冗余校验CRC区。
可选的,所述数据块为所述目标数据块;相应地,确定模块52,具体用于:
重置所述目标数据块的CRC区中指定位的数据,所述指定位的数据包括所述目标数据块的参考校验码;
基于重置后的所述目标数据块中的数据,确定所述目标数据块的验证校验码。
可选的,所述数据块为所述条带中目标数据块之外的数据块,所述装置还包括:
第一数据块恢复模块,用于读取所述条带上包含所述目标数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;对读取的数据块和/或校验块进行纠删码EC编码处理,得到恢复后的数据块。
可选的,装置还包括:
第一校验块恢复模块,用于读取所述条带上包含所述目标数据块且不包含假想丢失数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;对读取的数据块和/或校验块进行EC编码,获取假想丢失数据块,并计算该假想丢失数据块的验证校验码;从所述目标数据块的CRC区中读取该假想丢失数据块的参考验证码;若该假想丢失数据块的验证校验码和参考验证码一致,则基于读取的数据块和/或校验块进行EC编码处理,得到恢复后的校验块。
可选的,装置还包括:
数据块重恢复模块,用于若所述验证校验码和所述参考校验码不一致,则将读取的数据块和/或校验块中的一个或多个替换为所述条带上所述数据块/所述所述校验块之外的且未读取的数据块或校验块;对读取的数据块和/或校验块进行重EC编码处理,获取恢复后的述数据块/所述所述校验块。
可选的,装置还包括:
第二校验码存入模块,用于基于同一条带上的各数据块和校验块中的数据,确定各数据块和校验块的参考校验码;将各数据块和校验块的参考校验码作为元数据存入元数据库,并建立参考校验码和数据块、参考校验码和校验块之间的关联关系。
可选的,获取模块51,具体用于:
从所述目标数据块的CRC区中读取所述数据块的参考校验码;或者,
从所述元数据库中读取所述数据块/所述校验块的参考校验码。
可选的,所述装置还包括:
第三校验码存入模块,用于基于同一条带上所有数据块中的数据,确定一参考校验码;将所述参考校验码存入所述条带中的目标数据块的CRC区。
可选的,所述数据块为所述目标数据块;相应地,确定模块52,具体用于:
重置所述目标数据块的CRC区中指定位的数据,所述指定位的数据包括所述条带上所有数据块的参考校验码;
基于重置后的所述条带上所有数据块中的数据,确定一验证校验码。
可选的,所述数据块为所述条带中目标数据块之外的数据块,则所述装置还包括:
第二数据块恢复模块,用于读取所述条带上包含所有未丢失的数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;对读取的数据块和/或校验块进行EC编码处理,得到恢复后的数据块。
可选的,所述装置还包括:
第二校验块恢复模块,用于读取所述条带上包含所有未丢失的数据块且不包含假想丢失数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;对读取的数据块和/或校验块进行EC编码,获取假想丢失数据块,并计算所有数据块的验证校验码;从所述目标数据块的CRC区中读取所有数据块的参考验证码;若验证校验码和参考验证码一致,则基于读取的数据块和/或校验块进行EC编码处理,得到恢复后的校验块。
可选的,所述装置还包括:
第四校验码存入模块,用于基于同一条带上的所有数据块和校验块中的数据,确定一参考校验码;将所述参考校验码作为元数据存入元数据库,并建立参考校验码和所述条带之间的关联关系。
可选的,所述获取模块51,具体用于:
从所述目标数据块的CRC区中读取所述参考校验码,作为所述数据块对应的参考校验码;或者,
从所述元数据库中读取所述参考校验码,作为所述数据块/所述校验块对应的参考校验码。
可见,本实施例通过在EC编码的过程中,计算数据块/校验块的校验码,作为参考校验码;若数据块/校验块丢失,则执行EC解码以恢复数据块/校验块,并重计算恢复的数据块/校验块的校验码,作为验证校验码;对比参考校验码和验证校验码,若两者一致,则确定已正确恢复数据块/校验块,若两者不一致,则确定恢复失败。与现有技术相比,能有效验证数据恢复的正确性;而且,仅需要在EC编码和解码时,各计算一遍数据块/校验块的校验码,对系统性能的影响较低。
另外,对于上述装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。而且应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
图6为本说明书一实施例提供的一种电子设备的结构示意图,参见图6,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据恢复验证装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
获取已恢复的数据块/校验块对应的参考校验码,所述参考校验码为基于丢失前的所述数据块/所述校验块中的数据确定的;
基于所述数据块/所述校验块中的数据,确定所述数据块/所述校验块的验证校验码;
若所述验证校验码和所述参考校验码一致,则确定所述数据块/所述校验块被正确恢复。
上述如本申请图5所示实施例揭示的数据恢复验证装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
数据恢复验证装置还可执行图2-4的方法,并实现管理者节点执行的方法。
基于相同的发明创造,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行图2-4对应的实施例提供的数据恢复验证方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (18)

1.一种数据恢复验证方法,包括:
获取已恢复的数据块/校验块对应的参考校验码,所述参考校验码为基于丢失前的所述数据块/所述校验块中的数据确定的;
基于所述数据块/所述校验块中的数据,确定所述数据块/所述校验块的验证校验码;
若所述验证校验码和所述参考校验码一致,则确定所述数据块/所述校验块被正确恢复。
2.根据权利要求1所述的方法,其中,获取已恢复的数据块对应的参考校验码之前,所述方法还包括:
确定同一条带上各数据块的参考校验码;
将各数据块的参考校验码存入所述条带中的目标数据块的循环冗余校验CRC区。
3.根据权利要求2所述的方法,其中,所述数据块为所述目标数据块;
其中,基于所述数据块中的数据,确定所述数据块的验证校验码包括:
重置所述目标数据块的CRC区中指定位的数据,所述指定位的数据包括所述目标数据块的参考校验码;
基于重置后的所述目标数据块中的数据,确定所述目标数据块的验证校验码。
4.根据权利要求2所述的方法,其中,所述数据块为所述条带中目标数据块之外的数据块,则在获取已恢复的数据块对应的参考校验码之前,所述方法还包括:
读取所述条带上包含所述目标数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;
对读取的数据块和/或校验块进行纠删码EC编码处理,得到恢复后的数据块。
5.根据权利要求2所述的方法,其中,在获取已恢复的校验块对应的参考校验码之前,还包括:
读取所述条带上包含所述目标数据块且不包含假想丢失数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;
对读取的数据块和/或校验块进行EC编码,获取假想丢失数据块,并计算该假想丢失数据块的验证校验码;
从所述目标数据块的CRC区中读取该假想丢失数据块的参考验证码;
若该假想丢失数据块的验证校验码和参考验证码一致,则基于读取的数据块和/或校验块进行EC编码处理,得到恢复后的校验块。
6.根据权利要求4或5所述的方法,其中,若所述验证校验码和所述参考校验码不一致,则所述方法还包括:
将读取的数据块和/或校验块中的一个或多个替换为所述条带上所述数据块/所述所述校验块之外的且未读取的数据块或校验块;
对读取的数据块和/或校验块进行EC编码处理,获取恢复后的数据块/校验块。
7.根据权利要求1所述的方法,其中,在获取已恢复的校验块对应的参考校验码之前,所述方法还包括:
基于同一条带上的各数据块和校验块中的数据,确定各数据块和校验块的参考校验码;
将各数据块和校验块的参考校验码作为元数据存入元数据库,并建立参考校验码和数据块、参考校验码和校验块之间的关联关系。
8.根据权利要求2或7所述的方法,其中,所述获取已恢复的数据块/校验块对应的参考校验码包括:
从所述目标数据块的CRC区中读取所述数据块的参考校验码;
或者,
从所述元数据库中读取所述数据块/所述校验块的参考校验码。
9.根据权利要求1所述的方法,其中,获取已恢复的数据块对应的参考校验码之前,所述方法还包括:
基于同一条带上所有数据块中的数据,确定一参考校验码;
将所述参考校验码存入所述条带中的目标数据块的CRC区。
10.根据权利要求9所述的方法,其中,基于恢复后的所述数据块中的数据,确定所述数据块的验证校验码包括:
重置所述目标数据块的CRC区中指定位的数据,所述指定位的数据包括所述条带上所有数据块的参考校验码;
基于重置后的所述条带上所有数据块中的数据,确定一验证校验码。
11.根据权利要求9所述的方法,其中,在获取已恢复的数据块对应的参考校验码之前,所述方法还包括:
读取所述条带上包含所有未丢失的数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;
对读取的数据块和/或校验块进行EC编码处理,得到恢复后的数据块。
12.根据权利要求9所述的方法,其中,在获取已恢复的校验块对应的参考校验码之前,所述方法还包括:
读取所述条带上包含所有未丢失的数据块且不包含假想丢失数据块的预设数量的数据块和/或校验块,所述预设数量与所述条带上的数据块的数量相同;
对读取的数据块和/或校验块进行EC编码,获取假想丢失数据块,并计算所有数据块的验证校验码;
从所述目标数据块的CRC区中读取所有数据块的参考验证码;
若验证校验码和参考验证码一致,则基于读取的数据块和/或校验块进行EC编码处理,得到恢复后的校验块。
13.根据权利要求1所述的方法,其中,在获取已恢复的校验块对应的参考校验码之前,所述方法还包括:
基于同一条带上的所有数据块和校验块中的数据,确定一参考校验码;
将所述参考校验码作为元数据存入元数据库,并建立参考校验码和所述条带之间的关联关系。
14.根据权利要求13所述的方法,其中,获取已恢复的数据块/校验块对应的参考校验码之前,所述方法还包括:
读取所述数据块/校验块所属条带上的所述数据块/所述校验块之外的预定数量的数据块和/或校验块,所述预定数量与所述条带上的数据块的数量相同;
基于读取的数据块和/或校验块进行EC编码处理,获取恢复后的数据块/校验块。
15.根据权利要求9或13所述的方法,其中,获取已恢复的数据块/校验块对应的参考校验码包括:
从所述目标数据块的CRC区中读取所述参考校验码,作为所述数据块对应的参考校验码;
或者,
从所述元数据库中读取所述参考校验码,作为所述数据块/所述校验块对应的参考校验码。
16.一种数据恢复验证装置,包括:
获取模块,用于获取已恢复的数据块/校验块对应的参考校验码,所述参考校验码为基于丢失前的所述数据块/所述校验块中的数据确定的;
确定模块,用于基于所述数据块/所述校验块中的数据,确定所述数据块/所述校验块的验证校验码;
验证模块,用于若所述验证校验码和所述参考校验码一致,则确定所述数据块/所述校验块被正确恢复。
17.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1-15任一项所述的方法。
18.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行如权利要求1-15中任一项所述的方法。
CN201810874861.0A 2018-08-03 2018-08-03 一种数据恢复验证方法、装置及设备 Active CN110795269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810874861.0A CN110795269B (zh) 2018-08-03 2018-08-03 一种数据恢复验证方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810874861.0A CN110795269B (zh) 2018-08-03 2018-08-03 一种数据恢复验证方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110795269A true CN110795269A (zh) 2020-02-14
CN110795269B CN110795269B (zh) 2023-05-26

Family

ID=69426134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810874861.0A Active CN110795269B (zh) 2018-08-03 2018-08-03 一种数据恢复验证方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110795269B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347007A (zh) * 2020-10-14 2021-02-09 歌尔科技有限公司 闪存数据保护方法、装置、电子设备及存储介质
CN113065169A (zh) * 2021-04-20 2021-07-02 支付宝(杭州)信息技术有限公司 一种文件存证方法、装置及设备
CN114077569A (zh) * 2020-08-18 2022-02-22 富泰华工业(深圳)有限公司 压缩数据的方法及设备、解压缩数据的方法及设备
CN114237967A (zh) * 2022-02-22 2022-03-25 阿里云计算有限公司 数据重构方法以及装置
CN114579352A (zh) * 2022-04-29 2022-06-03 阿里云计算有限公司 数据重构方法以及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204238A1 (en) * 2004-03-04 2005-09-15 Fujitsu Limited Apparatus and method for judging the legitimacy of transfer data
CN103778030A (zh) * 2013-12-30 2014-05-07 上海晨思电子科技有限公司 日志子系统写入方法、错误追踪方法及处理器
CN107133120A (zh) * 2016-02-29 2017-09-05 阿里巴巴集团控股有限公司 一种文件数据的校验方法、装置
CN107219997A (zh) * 2016-03-21 2017-09-29 阿里巴巴集团控股有限公司 一种用于验证数据一致性的方法及装置
CN108170555A (zh) * 2017-12-21 2018-06-15 浙江大华技术股份有限公司 一种数据恢复方法及设备
CN108304503A (zh) * 2018-01-18 2018-07-20 阿里巴巴集团控股有限公司 一种数据的处理方法、装置及设备
US20190296916A1 (en) * 2016-12-26 2019-09-26 Alibaba Group Holding Limited Method and apparatus for verifying block data in a blockchain

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204238A1 (en) * 2004-03-04 2005-09-15 Fujitsu Limited Apparatus and method for judging the legitimacy of transfer data
CN103778030A (zh) * 2013-12-30 2014-05-07 上海晨思电子科技有限公司 日志子系统写入方法、错误追踪方法及处理器
CN107133120A (zh) * 2016-02-29 2017-09-05 阿里巴巴集团控股有限公司 一种文件数据的校验方法、装置
CN107219997A (zh) * 2016-03-21 2017-09-29 阿里巴巴集团控股有限公司 一种用于验证数据一致性的方法及装置
US20190296916A1 (en) * 2016-12-26 2019-09-26 Alibaba Group Holding Limited Method and apparatus for verifying block data in a blockchain
CN108170555A (zh) * 2017-12-21 2018-06-15 浙江大华技术股份有限公司 一种数据恢复方法及设备
CN108304503A (zh) * 2018-01-18 2018-07-20 阿里巴巴集团控股有限公司 一种数据的处理方法、装置及设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114077569A (zh) * 2020-08-18 2022-02-22 富泰华工业(深圳)有限公司 压缩数据的方法及设备、解压缩数据的方法及设备
CN114077569B (zh) * 2020-08-18 2023-07-18 富泰华工业(深圳)有限公司 压缩数据的方法及设备、解压缩数据的方法及设备
CN112347007A (zh) * 2020-10-14 2021-02-09 歌尔科技有限公司 闪存数据保护方法、装置、电子设备及存储介质
CN113065169A (zh) * 2021-04-20 2021-07-02 支付宝(杭州)信息技术有限公司 一种文件存证方法、装置及设备
CN113065169B (zh) * 2021-04-20 2023-05-09 支付宝(杭州)信息技术有限公司 一种文件存证方法、装置及设备
CN114237967A (zh) * 2022-02-22 2022-03-25 阿里云计算有限公司 数据重构方法以及装置
CN114579352A (zh) * 2022-04-29 2022-06-03 阿里云计算有限公司 数据重构方法以及装置

Also Published As

Publication number Publication date
CN110795269B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN110795269B (zh) 一种数据恢复验证方法、装置及设备
US7765454B2 (en) Fault tolerant memory system
US8751859B2 (en) Monitoring lost data in a storage system
US20100217752A1 (en) Data integrity validation in storage systems
US9727411B2 (en) Method and processor for writing and error tracking in a log subsystem of a file system
US9208027B2 (en) Address error detection
US20170161148A1 (en) Detection of and recovery from silent data loss in an erasure-coded storage system
CN109669800B (zh) 用于写入路径错误的高效数据恢复
US10241860B2 (en) Method of executing data scrubbing inside a smart storage device
CN112347007B (zh) 闪存数据保护方法、装置、电子设备及存储介质
KR101915351B1 (ko) 하드웨어에서 데이터프레임 세그먼트들의 라인-레이트 병합을 제공하는 고성능 판독-수정-기록 시스템
CN114780298B (zh) 文件数据处理方法、装置、计算机终端及存储介质
CN109671466B (zh) 一种阈值电压调试方法、装置及电子设备
US9189327B2 (en) Error-correcting code distribution for memory systems
US9230687B2 (en) Implementing ECC redundancy using reconfigurable logic blocks
WO2016122515A1 (en) Erasure multi-checksum error correction code
US11372720B2 (en) Systems and methods for encoding metadata
KR101512927B1 (ko) 비휘발성 메모리의 페이지 관리 방법 및 장치
CN104598330A (zh) 基于双备份的数据保存和校验方法
CN108572882B (zh) 一种数据存储的方法及存储设备
US8103933B2 (en) Method for securing data and device for implementing the same
CN110647463A (zh) 一种恢复测试断点的方法、装置、电子设备
CN114595090A (zh) 一种纠错方法及装置
US10140186B2 (en) Memory error recovery
CN113168882A (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