CN111382007B - 一种数据恢复方法、装置及电子设备 - Google Patents

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

Info

Publication number
CN111382007B
CN111382007B CN201811624073.2A CN201811624073A CN111382007B CN 111382007 B CN111382007 B CN 111382007B CN 201811624073 A CN201811624073 A CN 201811624073A CN 111382007 B CN111382007 B CN 111382007B
Authority
CN
China
Prior art keywords
disk
data
disk block
block
block group
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
CN201811624073.2A
Other languages
English (en)
Other versions
CN111382007A (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.)
Shenzhen Ipanel TV Inc
Original Assignee
Shenzhen Ipanel TV Inc
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 Shenzhen Ipanel TV Inc filed Critical Shenzhen Ipanel TV Inc
Priority to CN201811624073.2A priority Critical patent/CN111382007B/zh
Publication of CN111382007A publication Critical patent/CN111382007A/zh
Application granted granted Critical
Publication of CN111382007B publication Critical patent/CN111382007B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明提供了一种数据恢复方法、装置及电子设备,本发明实施例中获取待修复磁盘块组的磁盘块组信息以及第一数据恢复指令,根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。通过本发明,不需要手动进行数据恢复,节省人力。

Description

一种数据恢复方法、装置及电子设备
技术领域
本发明涉及数据处理领域,更具体的说,涉及一种数据恢复方法、装置及电子设备。
背景技术
在向磁盘块中写入数据时,可能会出现由于磁盘块不在线,而导致部分数据未能成功写入磁盘块的情况而导致数据丢失的情况。
现有技术中,当出现部分数据未能成功写入磁盘块的情况而导致数据丢失的情况时,需要人工手动进行数据恢复,浪费人力。
发明内容
有鉴于此,本发明提供一种数据恢复方法、装置及电子设备,以解决当出现部分数据未能成功写入磁盘块的情况而导致数据丢失的情况时,需要人工手动进行数据恢复,浪费人力的问题。
为解决上述技术问题,本发明采用了如下技术方案:
一种数据恢复方法,包括:
获取待修复磁盘块组的磁盘块组信息;所述磁盘块组信息包括待修复磁盘块组中每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系;所有的所述磁盘数据组成磁盘写入数据;所述磁盘写入数据包括m份原始数据以及将所述m份原始数据进行数据编码处理得到的n份编码数据;所述待修复磁盘块组中损坏磁盘块的数量小于n;m、n均为正整数;
获取第一数据恢复指令;所述第一数据恢复指令用于对所述待修复磁盘块组中未成功写入磁盘数据的第一损坏磁盘块进行数据修复;所述第一数据恢复指令包括所述待修复磁盘块组中每一磁盘块对应的数据写入结果;
根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;
根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;所述磁盘数据包括所述第一磁盘数据和所述第二磁盘数据;
根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
优选地,根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据,包括:
将对应的数据写入结果为成功的磁盘块作为所述第一未损坏磁盘块;
根据所述磁盘块组信息中的每一磁盘块的磁盘信息,从所述第一未损坏磁盘块中获取成功写入的第一磁盘数据。
优选地,根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据,包括:
对所述成功写入的第一磁盘数据进行解码操作,得到待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据。
优选地,根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中,包括:
将对应的数据写入结果为失败的磁盘块作为所述第一损坏磁盘块;
根据每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
优选地,还包括:
获取第二数据恢复指令;所述第二数据恢复指令用于对所述待修复磁盘块组中未能成功读取数据的第二损坏磁盘块进行数据修复;
基于所述第二数据恢复指令和所述磁盘块组信息,从所述待修复磁盘块组中能成功读取数据的第二未损坏磁盘块中获取成功读取的第三磁盘数据;
基于所述成功读取的第三磁盘数据,解析得到待修复磁盘块组中的第二损坏磁盘块应写入的第四磁盘数据;
根据所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
优选地,根据所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中,包括:
发送候选磁盘块请求;所述候选磁盘块请求用于获取第二损坏磁盘块对应的候选磁盘块;
接收与所述候选磁盘块请求对应的候选信息;所述候选信息包括第二损坏磁盘块对应的候选磁盘块;
根据所述候选信息以及所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
一种数据恢复装置,包括:
信息获取模块,用于获取待修复磁盘块组的磁盘块组信息;所述磁盘块组信息包括待修复磁盘块组中每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系;所有的所述磁盘数据组成磁盘写入数据;所述磁盘写入数据包括m份原始数据以及将所述m份原始数据进行数据编码处理得到的n份编码数据;所述待修复磁盘块组中损坏磁盘块的数量小于n;m、n均为正整数;
第一指令获取模块,用于获取第一数据恢复指令;所述第一数据恢复指令用于对所述待修复磁盘块组中未成功写入磁盘数据的第一损坏磁盘块进行数据修复;所述第一数据恢复指令包括所述待修复磁盘块组中每一磁盘块对应的数据写入结果;
第一数据获取模块,用于根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;
第一数据解析模块,用于根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;所述磁盘数据包括所述第一磁盘数据和所述第二磁盘数据;
第一数据写入模块,用于根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
优选地,所述第一数据获取模块包括:
第一磁盘块确定子模块,用于将对应的数据写入结果为成功的磁盘块作为所述第一未损坏磁盘块;
数据获取子模块,用于根据所述磁盘块组信息中的每一磁盘块的磁盘信息,从所述第一未损坏磁盘块中获取成功写入的第一磁盘数据。
优选地,所述第一数据解析模块包括:
解码子模块,用于对所述成功写入的第一磁盘数据进行解码操作,得到待修复磁盘块组中损坏磁盘块应写入的第二磁盘数据。
优选地,所述第一数据写入模块包括:
第二磁盘块确定子模块,用于将对应的数据写入结果为失败的磁盘块作为所述第一损坏磁盘块;
第一数据写入子模块,用于根据每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
优选地,还包括:
第二指令获取模块,用于获取第二数据恢复指令;所述第二数据恢复指令用于对所述待修复磁盘块组中未能成功读取数据的第二损坏磁盘块进行数据修复;
第二数据获取模块,用于基于所述第二数据恢复指令和所述磁盘块组信息,从所述待修复磁盘块组中能成功读取数据的第二未损坏磁盘块中获取成功读取的第三磁盘数据;
第二数据解析模块,用于基于所述成功读取的第三磁盘数据,解析得到待修复磁盘块组中的第二损坏磁盘块应写入的第四磁盘数据;
第二数据写入模块,用于根据所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
优选地,所述第二数据写入模块包括:
请求发送子模块,用于发送候选磁盘块请求;所述候选磁盘块请求用于获取第二损坏磁盘块对应的候选磁盘块;
信息接收子模块,用于接收与所述候选磁盘块请求对应的候选信息;所述候选信息包括第二损坏磁盘块对应的候选磁盘块;
第二数据写入子模块,用于根据所述候选信息以及所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
一种电子设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
获取待修复磁盘块组的磁盘块组信息;所述磁盘块组信息包括待修复磁盘块组中每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系;所有的所述磁盘数据组成磁盘写入数据;所述磁盘写入数据包括m份原始数据以及将所述m份原始数据进行数据编码处理得到的n份编码数据;所述待修复磁盘块组中损坏磁盘块的数量小于n;m、n均为正整数;
获取第一数据恢复指令;所述第一数据恢复指令用于对所述待修复磁盘块组中未成功写入磁盘数据的第一损坏磁盘块进行数据修复;所述第一数据恢复指令包括所述待修复磁盘块组中每一磁盘块对应的数据写入结果;
根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;
根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;所述磁盘数据包括所述第一磁盘数据和所述第二磁盘数据;
根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
相较于现有技术,本发明具有以下有益效果:
本发明提供了一种数据恢复方法、装置及电子设备,本发明实施例中获取待修复磁盘块组的磁盘块组信息以及第一数据恢复指令,根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。通过本发明,不需要手动进行数据恢复,节省人力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据恢复系统的结构示意图;
图2为本发明实施例提供的一种数据恢复方法的方法流程图;
图3为本发明实施例提供的另一种数据恢复方法的方法流程图;
图4为本发明实施例提供的再一种数据恢复方法的方法流程图;
图5为本发明实施例提供的又一种数据恢复方法的方法流程图;
图6为本发明实施例提供的第五种数据恢复方法的方法流程图;
图7为本发明实施例提供的一种数据恢复装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据恢复方法,该数据恢复方法可以应用于数据恢复系统中的数据修复模块,现对数据恢复系统进行介绍。
本系统对数据的存储方式采取m+n的纠删码EC(Erasure Codes)编码制的方式。纠删码编码制可以通过对数据进行分块,然后计算出校验数据,使得各个部分的数据产生关联性。当一部分数据块丢失时,可以通过剩余的数据块和校验块计算出丢失的数据块。m是指原始数据的份数,n是指由原始数据编码得到的编码数据的份数,这两个值由用户在系统安装的时候指定,但是m和n需要满足0<m<255,0<n<255,通常为8+4/6+3/4+2。m+n份数据在丢失不超过n份数据的情况下,剩下的数据都能通过解码的方式还原出m+n份数据从而得到原始数据。在该存储系统中,一份数据是指的一个磁盘块上存储的数据。磁盘块大小同样由用户在系统安装时指定,通常为1M,2M,4M或8M。
参照图1,本系统分为用户模块101、数据处理模块102、数据管理模块104、数据修复模块105、磁盘模块103和消息队列模块106。
其中,数据处理模块102、数据管理模块104和数据修复模块105可以为单独的服务器,本实施例中的数据恢复方法可以应用于数据修复模块105。消息队列模块106可以设置在数据管理模块104对应的服务器中。
下面分别介绍各个模块的作用以及他们之间的关系:
1、磁盘模块103一般而言,本实施例有多台服务器,而一台服务器存在多块磁盘,而磁盘模块103运行在这多台服务器上,和磁盘是一一对应的关系。磁盘模块103会将磁盘按照设定的大小如1MB、2MB或4MB将磁盘分块,并生成一串全局唯一的序列号用以表示该磁盘,然后将该序列号发送给数据管理模块104,向数据管理模块104请求一个数字编号作为该磁盘的标识符did,而每个磁盘块按照在磁盘中的顺序,依次以0开始的自然数编号作为磁盘块的编号bidx。磁盘模块103在发现磁盘出现坏块的情况时会将磁盘信息(did)和已损坏的磁盘块信息(bidx)发到消息队列模块106中。
2、消息队列模块104103
消息队列模块以消息的形式保存和管理磁盘模块和数据管理模块104发送的信息,并在数据管理模块104和数据修复模块105处理完消息后,删除处理过的消息,如果处理失败则依旧保存消息。
3、数据管理模块104
数据管理模块104根据系统设置的编码方案对所有磁盘的一部分磁盘块进行分组得到磁盘块组。数据管理模块104会预先保留一部分磁盘块用来替换之前已损坏的磁盘块。数据管理模块104对每一个磁盘块组选取一个独一无二的数字作为它的编号lbid,并标记这磁盘块组是否已经使用,而根据这个lbid可以查询到磁盘块组中所有的磁盘块的did和bidx。
当数据处理模块102来请求一个新的磁盘组块来写的时候,数据管理模块104会在没有使用的磁盘块组中随机找一个交给数据处理模块102,并标记为已使用。数据管理模块102会定期查询消息队列模块106查看是否有没有处理的磁盘坏块的信息,如果有则会取出消息,在已使用的磁盘块组中查找该磁盘块,并将该磁盘块组的数字编号(lbid)和已损坏磁盘块的信息(磁盘块所在的磁盘did和bidx)发送到消息队列模块106中。
4、数据修复模块105
数据修复模块105用来处理存储系统中数据恢复的问题的模块。它会定期向消息队列模块106查询是否存在需要处理数据恢复的消息,如果存在则处理。
5、用户模块101
用户模块101是请求读数据和写数据的模块,一般理解为用户。
6、数据处理模块102
数据处理模块102是处理用户模块101读写数据的请求的模块,根据用户模块101的读写请求,向数据管理模块102查询和请求磁盘模块103的信息。
在收到写数据请求时,该数据处理模块102判断是写入新的磁盘块组还是接着以前已经写过但没有写满的磁盘块组继续写。
如果是写入新的磁盘组,则向数据管理模块104请求一个新的磁盘块组,数据管理模块104回复新的磁盘块组各个磁盘模块103的信息。数据处理模块102先对用户模块101需要写入的数据编码,将m份数据编码成m+n份,不足的部分补0,根据数据管理模块104回复的信息向磁盘模块103发出写磁盘的请求:
如果写入磁盘块个数<m时,认为写入的数据不完整,向用户模块101回复写失败;
如果不小于m但不是m+n时,认为写入的数据部分完整,向用户模块101汇报写成功,并向数据管理模块104汇报该磁盘块组数据写入部分完整需要进行数据恢复;
如果写入磁盘等于m+n时,认为写入的数据完整,写入成功。
如果是接着写,则需要先读出原来磁盘组的数据,再接着写入,按照新写入的方式写磁盘。
在收到读数据请求时,会向数据管理模块104查询要读的数据所在磁盘块组的各个磁盘模块103的信息。当数据处理模块102得到了这些信息后,就会访问相应的磁盘模块103读取相应的数据。读取会优先读取m份原始数据,当原始数据读取失败时,会读取m份原始数据或编码数据,再解码出原始数据出来,如果读取失败,则返回用户模块101读取失败。
该系统的数据丢失存在两种情况:
1.在用户模块101向系统写入数据时,数据处理模块102向磁盘写入的数据部分完整时,需要进行数据恢复;
2.在系统使用过程中,磁盘出现硬件损坏,磁盘模块103无法从磁盘中读取数据,需要进行数据恢复。
现对两种情况分别进行介绍:
1、第一种情况,参照图2,数据恢复方法可以包括:
S11、获取待修复磁盘块组的磁盘块组信息;
其中,所述磁盘块组信息包括待修复磁盘块组中每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系;所有的所述磁盘数据组成磁盘写入数据;所述磁盘写入数据包括m份原始数据以及将所述m份原始数据进行数据编码处理得到的n份编码数据;所述待修复磁盘块组中损坏磁盘块的数量小于n;m、n均为正整数。
其中,磁盘块组信息可以从消息队列模块106中获取,具体的,数据处理模块102向数据管理模块104和用户模块101汇报数据写入成功,同时向数据管理模块104汇报每个数据块,即磁盘数据是否写入成功,通过为每个磁盘数据提供一个标志flag,如果写入成功汇报flag为1,写入失败flag为0。数据管理模块104根据数据处理模块102汇报的信息,向消息队列模块106发送所需要修复磁盘块组的lbid。
数据修复模块105从消息队列模块106中所需要修复的磁盘块组lbid后,数据修复模块105向数据管理模块102请求该lbid的相关信息,包括每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系。
待修复磁盘块组中每一磁盘块的磁盘信息是指每一磁盘块的编号bidx、所在的磁盘的标识符did以及所在的磁盘块组的编号lbid。
待修复磁盘块组中共有m+n个磁盘块,预先设置每一磁盘块存储的磁盘数据,进而即可生成每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系。
需要说明的是,m+n份数据在丢失不超过n份数据的情况下,剩下的数据都能通过解码的方式还原出m+n份数据从而得到原始数据。进而要求述待修复磁盘块组中损坏磁盘块的数量小于n。
S12、获取第一数据恢复指令;
具体的,本实施例对应的情形为:数据写入部分完成是在数据处理模块102向磁盘写入数据时,由于部分磁盘模块103不在线等原因导致写入的数据不小于m份但小于m+n份数据,数据处理模块102只写入部分完整的数据,需要进行数据恢复。
其中,所述第一数据恢复指令用于对所述待修复磁盘块组中未成功写入磁盘数据的第一损坏磁盘块进行数据修复。
所述第一数据恢复指令包括所述待修复磁盘块组中每一磁盘块对应的数据写入结果。
其中,第一数据恢复指令由数据管理模块104发送,每一磁盘块对应的数据写入结果可以是数据管理模块104从数据处理模块102中获取,再添加到第一数据恢复指令中去。
此外,第一数据恢复指令由数据管理模块104发送,数据写入结果可以是数据修复模块105从数据处理模块102中直接获取。
S13、根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;
其中,第一未损坏磁盘块即为待修复磁盘块组中成功写有数据的磁盘块,第一损坏磁盘块即为待修复磁盘块组中未成功写有数据的磁盘块。
S14、根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;
可选的,在本实施例的基础上,步骤S14可以包括:
对所述成功写入的第一磁盘数据进行解码操作,得到待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据。
具体的,在第一磁盘数据中随机选择m份数据,通过m份数据以及这m份数据在m+n份数据中的位置通过EC(纠删码)解码算法得到m+n份的全部的数据。例如,在4+2的情况下,原始数据分别为第1,2,3,4份数据,而编码数据为第5,6份数据,这六份数据只写成功了5份数据,假设第3份数据没有写成功,则S14是数据修复模块根据第1,2,4,5,6份数据中随机4份数据,一般会选择第1,2,4,5份数据,根据EC解码算法解码出第3,6份数据,这样就可以得到6份全部数据,然后选取没有写入的第3份数据,这样就得到应写入的第二磁盘数据。
S15、根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
本发明实施例中,获取待修复磁盘块组的磁盘块组信息以及第一数据恢复指令,根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。通过本发明,不需要手动进行数据恢复,节省人力。
另外,本发明实施例采用编码制的方式,减少了存储空间,节约了成本。
可选的,在上述任一实施例的基础上,参照图3,步骤S13可以包括:
S21、将对应的数据写入结果为成功的磁盘块作为所述第一未损坏磁盘块;
具体的,写入成功汇报flag为1,写入失败flag为0,此处只需要查找flag为1的磁盘块即可。
S22、根据所述磁盘块组信息中的每一磁盘块的磁盘信息,从所述第一未损坏磁盘块中获取成功写入的第一磁盘数据。
具体的,由于每一磁盘块的磁盘信息中包括每一磁盘块的编号bidx、所在的磁盘的标识符did以及所在的磁盘块组的编号lbid。进而可以依据第一未损坏磁盘块的磁盘信息,定位该该第一未损坏磁盘块,并从该第一未损坏磁盘块中获取数据。
可选的,在本实施例的基础上,参照图4,步骤S14可以包括:
S31、将对应的数据写入结果为失败的磁盘块作为所述第一损坏磁盘块;
具体的,写入成功汇报flag为1,写入失败flag为0,此处只需要查找flag为0的磁盘块即可。
S32、根据每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
具体的,由于已经解析得到第一损坏磁盘的应写入的第二磁盘数据,根据第一损坏磁盘的磁盘信息可以定位到该磁盘块,根据每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系,可以从解析得到的第一损坏磁盘的应写入的磁盘数据中获取到每一第一损坏磁盘块应写入的第二磁盘数据,并进行写入即可。
此后,数据修复模块105向数据管理模块104汇报,lbid以及该lbid下各个磁盘模块的flag。如果全部写入成功则处理成功,通知消息队列模块106删除掉该消息;如果处理失败,则消息重新回到消息队列模块106中,等待下次查询及处理。
本实施例中,通过从第一未损坏磁盘块中获取成功写入的第一磁盘数据,并将对第一磁盘数据解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中,保证了损坏磁盘块的数据的正常写入。
2、第二种情况,参照图5,数据恢复方法可以包括:
S41、获取第二数据恢复指令;
其中,所述第二数据恢复指令用于对所述待修复磁盘块组中未能成功读取数据的第二损坏磁盘块进行数据修复。
具体的,本实施例对应的情形为:磁盘模块103发现磁盘损坏是在磁盘在读写数据的是发现磁盘的某一部分无法进行读写,从而发现磁盘损坏的,此时是需要进行数据恢复的。
S42、基于所述第二数据恢复指令和所述磁盘块组信息,从所述待修复磁盘块组中能成功读取数据的第二未损坏磁盘块中获取成功读取的第三磁盘数据;
S43、基于所述成功读取的磁盘数据,解析得到待修复磁盘块组中的第二损坏磁盘块应写入的第四磁盘数据;
需要说明的是,本实施例中步骤S42和S43的具体解释说明,请参照步骤S13和S43的具体解释说明,在此不再赘述。
S44、根据所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
具体的,在上述内容中已经介绍,数据管理模块104会预先保留一部分磁盘块用来替换之前已损坏的磁盘块。本实施例中,将应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
可选的,在本实施例的基础上,参照图6,步骤S44可以包括:
S51、发送候选磁盘块请求;所述候选磁盘块请求用于获取第二损坏磁盘块对应的候选磁盘块;
S52、接收与所述候选磁盘块请求对应的候选信息;所述候选信息包括损坏磁盘块对应的候选磁盘块;
根据所述候选信息以及所述磁盘块组信息,将所述应写入的磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
S53、根据所述候选信息以及所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
具体的,数据修复模块105向数据管理模块104请求事先预留的磁盘块的did和bidx,数据修复模块105向这个候选磁盘块中写入解码出来的数据。
此后,数据修复模块105向数据管理模块104汇报相应的处理结果包括处理结果、处理的lbid、已损坏的did和bidx,替换的did和bidx。如果处理成功,数据管理模块104会将lbid中已损坏的did和bidx替换成新的did和bidx,回复给数据修复模块105的处理结果。
数据修复模块105得到数据管理模块104的处理结果。如果处理成功,通知消息队列模块106删除掉该消息;如果处理失败,则消息重新回到消息队列模块106中,等待下次查询及处理。
本实施例中,当出现磁盘块损坏时,自动为它替换新的磁盘块,提高了用户体验。
可选的,在上述数据恢复方法的实施例的基础上,本发明的另一实施例提供了一种数据恢复装置,参照图5,可以包括:
信息获取模块11,用于获取待修复磁盘块组的磁盘块组信息;所述磁盘块组信息包括待修复磁盘块组中每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系;所有的所述磁盘数据组成磁盘写入数据;所述磁盘写入数据包括m份原始数据以及将所述m份原始数据进行数据编码处理得到的n份编码数据;所述待修复磁盘块组中损坏磁盘块的数量小于n;m、n均为正整数;
第一指令获取模块12,用于获取第一数据恢复指令;所述第一数据恢复指令用于对所述待修复磁盘块组中未成功写入磁盘数据的第一损坏磁盘块进行数据修复;所述第一数据恢复指令包括所述待修复磁盘块组中每一磁盘块对应的数据写入结果;
第一数据获取模块13,用于根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;
第一数据解析模块14,用于根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;所述磁盘数据包括所述第一磁盘数据和所述第二磁盘数据;
第一数据写入模块15,用于根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
进一步,所述第一数据解析模块包括:
解码子模块,用于对所述成功写入的第一磁盘数据进行解码操作,得到待修复磁盘块组中损坏磁盘块应写入的第二磁盘数据。
本发明实施例中,获取待修复磁盘块组的磁盘块组信息以及第一数据恢复指令,根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。通过本发明,不需要手动进行数据恢复,节省人力。
需要说明的是,本实施例中的各个模块和子模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
可选的,在上述任一数据恢复装置的实施例的基础上,所述第一数据获取模块包括:
第一磁盘块确定子模块,用于将对应的数据写入结果为成功的磁盘块作为所述第一未损坏磁盘块;
数据获取子模块,用于根据所述磁盘块组信息中的每一磁盘块的磁盘信息,从所述第一未损坏磁盘块中获取成功写入的第一磁盘数据。
进一步,所述第一数据写入模块包括:
第二磁盘块确定子模块,用于将对应的数据写入结果为失败的磁盘块作为所述第一损坏磁盘块;
第一数据写入子模块,用于根据每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
本实施例中,通过从第一未损坏磁盘块中获取成功写入的第一磁盘数据,并将对第一磁盘数据解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中,保证了损坏磁盘块的数据的正常写入。
需要说明的是,本实施例中的各个模块和子模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
可选的,在上述任一数据恢复装置的实施例的基础上,还包括:
第二指令获取模块,用于获取第二数据恢复指令;所述第二数据恢复指令用于对所述待修复磁盘块组中未能成功读取数据的第二损坏磁盘块进行数据修复;
第二数据获取模块,用于基于所述第二数据恢复指令和所述磁盘块组信息,从所述待修复磁盘块组中能成功读取数据的第二未损坏磁盘块中获取成功读取的第三磁盘数据;
第二数据解析模块,用于基于所述成功读取的第三磁盘数据,解析得到待修复磁盘块组中的第二损坏磁盘块应写入的第四磁盘数据;
第二数据写入模块,用于根据所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
进一步,所述第二数据写入模块包括:
请求发送子模块,用于发送候选磁盘块请求;所述候选磁盘块请求用于获取第二损坏磁盘块对应的候选磁盘块;
信息接收子模块,用于接收与所述候选磁盘块请求对应的候选信息;所述候选信息包括第二损坏磁盘块对应的候选磁盘块;
第二数据写入子模块,用于根据所述候选信息以及所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
本实施例中,当出现磁盘块损坏时,自动为它替换新的磁盘块,提高了用户体验。
需要说明的是,本实施例中的各个模块和子模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
可选的,在上述数据恢复方法及装置的实施例的基础上,本发明的另一实施例提供了一种电子设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
获取待修复磁盘块组的磁盘块组信息;所述磁盘块组信息包括待修复磁盘块组中每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系;所有的所述磁盘数据组成磁盘写入数据;所述磁盘写入数据包括m份原始数据以及将所述m份原始数据进行数据编码处理得到的n份编码数据;所述待修复磁盘块组中损坏磁盘块的数量小于n;m、n均为正整数;
获取第一数据恢复指令;所述第一数据恢复指令用于对所述待修复磁盘块组中未成功写入磁盘数据的第一损坏磁盘块进行数据修复;所述第一数据恢复指令包括所述待修复磁盘块组中每一磁盘块对应的数据写入结果;
根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;
根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;所述磁盘数据包括所述第一磁盘数据和所述第二磁盘数据;
根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
本发明实施例中,获取待修复磁盘块组的磁盘块组信息以及第一数据恢复指令,根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。通过本发明,不需要手动进行数据恢复,节省人力。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种数据恢复方法,其特征在于,包括:
获取待修复磁盘块组的磁盘块组信息;所述磁盘块组信息包括待修复磁盘块组中每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系;所有的所述磁盘数据组成磁盘写入数据;所述磁盘写入数据包括m份原始数据以及将所述m份原始数据进行数据编码处理得到的n份编码数据;所述待修复磁盘块组中损坏磁盘块的数量小于n;m、n均为正整数;
获取第一数据恢复指令;所述第一数据恢复指令用于对所述待修复磁盘块组中未成功写入磁盘数据的第一损坏磁盘块进行数据修复;所述第一数据恢复指令包括所述待修复磁盘块组中每一磁盘块对应的数据写入结果;
根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;
根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;所述磁盘数据包括所述第一磁盘数据和所述第二磁盘数据;
根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中;
还包括:
获取第二数据恢复指令;所述第二数据恢复指令用于对所述待修复磁盘块组中未能成功读取数据的第二损坏磁盘块进行数据修复;
基于所述第二数据恢复指令和所述磁盘块组信息,从所述待修复磁盘块组中能成功读取数据的第二未损坏磁盘块中获取成功读取的第三磁盘数据;
基于所述成功读取的第三磁盘数据,解析得到待修复磁盘块组中的第二损坏磁盘块应写入的第四磁盘数据;
根据所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
2.根据权利要求1所述的数据恢复方法,其特征在于,根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据,包括:
将对应的数据写入结果为成功的磁盘块作为所述第一未损坏磁盘块;
根据所述磁盘块组信息中的每一磁盘块的磁盘信息,从所述第一未损坏磁盘块中获取成功写入的第一磁盘数据。
3.根据权利要求1所述的数据恢复方法,其特征在于,根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据,包括:
对所述成功写入的第一磁盘数据进行解码操作,得到待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据。
4.根据权利要求1所述的数据恢复方法,其特征在于,根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中,包括:
将对应的数据写入结果为失败的磁盘块作为所述第一损坏磁盘块;
根据每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
5.根据权利要求1所述的数据恢复方法,其特征在于,根据所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中,包括:
发送候选磁盘块请求;所述候选磁盘块请求用于获取第二损坏磁盘块对应的候选磁盘块;
接收与所述候选磁盘块请求对应的候选信息;所述候选信息包括第二损坏磁盘块对应的候选磁盘块;
根据所述候选信息以及所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
6.一种数据恢复装置,其特征在于,包括:
信息获取模块,用于获取待修复磁盘块组的磁盘块组信息;所述磁盘块组信息包括待修复磁盘块组中每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系;所有的所述磁盘数据组成磁盘写入数据;所述磁盘写入数据包括m份原始数据以及将所述m份原始数据进行数据编码处理得到的n份编码数据;所述待修复磁盘块组中损坏磁盘块的数量小于n;m、n均为正整数;
第一指令获取模块,用于获取第一数据恢复指令;所述第一数据恢复指令用于对所述待修复磁盘块组中未成功写入磁盘数据的第一损坏磁盘块进行数据修复;所述第一数据恢复指令包括所述待修复磁盘块组中每一磁盘块对应的数据写入结果;
第一数据获取模块,用于根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;
第一数据解析模块,用于根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;所述磁盘数据包括所述第一磁盘数据和所述第二磁盘数据;
第一数据写入模块,用于根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中;
还包括:
第二指令获取模块,用于获取第二数据恢复指令;所述第二数据恢复指令用于对所述待修复磁盘块组中未能成功读取数据的第二损坏磁盘块进行数据修复;
第二数据获取模块,用于基于所述第二数据恢复指令和所述磁盘块组信息,从所述待修复磁盘块组中能成功读取数据的第二未损坏磁盘块中获取成功读取的第三磁盘数据;
第二数据解析模块,用于基于所述成功读取的第三磁盘数据,解析得到待修复磁盘块组中的第二损坏磁盘块应写入的第四磁盘数据;
第二数据写入模块,用于根据所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
7.根据权利要求6所述的数据恢复装置,其特征在于,所述第一数据获取模块包括:
第一磁盘块确定子模块,用于将对应的数据写入结果为成功的磁盘块作为所述第一未损坏磁盘块;
数据获取子模块,用于根据所述磁盘块组信息中的每一磁盘块的磁盘信息,从所述第一未损坏磁盘块中获取成功写入的第一磁盘数据。
8.根据权利要求6所述的数据恢复装置,其特征在于,所述第一数据解析模块包括:
解码子模块,用于对所述成功写入的第一磁盘数据进行解码操作,得到待修复磁盘块组中损坏磁盘块应写入的第二磁盘数据。
9.根据权利要求6所述的数据恢复装置,其特征在于,所述第一数据写入模块包括:
第二磁盘块确定子模块,用于将对应的数据写入结果为失败的磁盘块作为所述第一损坏磁盘块;
第一数据写入子模块,用于根据每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中。
10.根据权利要求6所述的数据恢复装置,其特征在于,所述第二数据写入模块包括:
请求发送子模块,用于发送候选磁盘块请求;所述候选磁盘块请求用于获取第二损坏磁盘块对应的候选磁盘块;
信息接收子模块,用于接收与所述候选磁盘块请求对应的候选信息;所述候选信息包括第二损坏磁盘块对应的候选磁盘块;
第二数据写入子模块,用于根据所述候选信息以及所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
11.一种电子设备,其特征在于,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
获取待修复磁盘块组的磁盘块组信息;所述磁盘块组信息包括待修复磁盘块组中每一磁盘块的磁盘信息、每一磁盘块与每一磁盘块应写入的磁盘数据的对应关系;所有的所述磁盘数据组成磁盘写入数据;所述磁盘写入数据包括m份原始数据以及将所述m份原始数据进行数据编码处理得到的n份编码数据;所述待修复磁盘块组中损坏磁盘块的数量小于n;m、n均为正整数;
获取第一数据恢复指令;所述第一数据恢复指令用于对所述待修复磁盘块组中未成功写入磁盘数据的第一损坏磁盘块进行数据修复;所述第一数据恢复指令包括所述待修复磁盘块组中每一磁盘块对应的数据写入结果;
根据所述磁盘块组信息和所述第一数据恢复指令,从所述待修复磁盘块组中成功写入磁盘数据的第一未损坏磁盘块中获取成功写入的第一磁盘数据;
根据所述成功写入的第一磁盘数据,解析得到所述待修复磁盘块组中第一损坏磁盘块应写入的第二磁盘数据;所述磁盘数据包括所述第一磁盘数据和所述第二磁盘数据;
根据所述磁盘块组信息以及所述第一数据恢复指令,将解析得到的第二磁盘数据写入到相应的第一损坏磁盘块中;
获取第二数据恢复指令;所述第二数据恢复指令用于对所述待修复磁盘块组中未能成功读取数据的第二损坏磁盘块进行数据修复;
基于所述第二数据恢复指令和所述磁盘块组信息,从所述待修复磁盘块组中能成功读取数据的第二未损坏磁盘块中获取成功读取的第三磁盘数据;
基于所述成功读取的第三磁盘数据,解析得到待修复磁盘块组中的第二损坏磁盘块应写入的第四磁盘数据;
根据所述磁盘块组信息,将所述应写入的第四磁盘数据写入到与第二损坏磁盘块对应的候选磁盘块中。
CN201811624073.2A 2018-12-28 2018-12-28 一种数据恢复方法、装置及电子设备 Active CN111382007B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811624073.2A CN111382007B (zh) 2018-12-28 2018-12-28 一种数据恢复方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811624073.2A CN111382007B (zh) 2018-12-28 2018-12-28 一种数据恢复方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111382007A CN111382007A (zh) 2020-07-07
CN111382007B true CN111382007B (zh) 2024-04-30

Family

ID=71222369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811624073.2A Active CN111382007B (zh) 2018-12-28 2018-12-28 一种数据恢复方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111382007B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965858B (zh) * 2021-03-04 2023-07-18 电信科学技术第五研究所有限公司 一种组网分布式存储数据冲突处理的实现方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508733A (zh) * 2011-09-22 2012-06-20 杭州华三通信技术有限公司 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
CN103617009A (zh) * 2013-12-10 2014-03-05 北京奇虎科技有限公司 一种开机启动中通过缓存向磁盘写数据的方法和装置
CN103823637A (zh) * 2013-11-29 2014-05-28 华为技术有限公司 一种数据处理方法及设备
CN104615380A (zh) * 2015-01-13 2015-05-13 浪潮电子信息产业股份有限公司 一种基于分组编码的磁盘阵列构建方法
CN106776130A (zh) * 2016-11-30 2017-05-31 华为技术有限公司 一种日志恢复方法、存储装置和存储节点
CN108170555A (zh) * 2017-12-21 2018-06-15 浙江大华技术股份有限公司 一种数据恢复方法及设备
CN109002253A (zh) * 2017-06-06 2018-12-14 杭州海康威视数字技术股份有限公司 一种损坏条带的处理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624866B (zh) * 2012-01-13 2014-08-20 北京大学深圳研究生院 一种存储数据的方法、装置及分布式网络存储系统
CN102708019B (zh) * 2012-04-28 2014-12-03 华为技术有限公司 一种硬盘数据恢复方法、装置及系统
US9727278B2 (en) * 2013-06-13 2017-08-08 Netapp, Inc. System and methods for mitigating write emulation on a disk device using cache memory
US9552261B2 (en) * 2014-01-31 2017-01-24 International Business Machines Corporation Recovering data from microslices in a dispersed storage network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508733A (zh) * 2011-09-22 2012-06-20 杭州华三通信技术有限公司 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
CN103823637A (zh) * 2013-11-29 2014-05-28 华为技术有限公司 一种数据处理方法及设备
CN103617009A (zh) * 2013-12-10 2014-03-05 北京奇虎科技有限公司 一种开机启动中通过缓存向磁盘写数据的方法和装置
CN104615380A (zh) * 2015-01-13 2015-05-13 浪潮电子信息产业股份有限公司 一种基于分组编码的磁盘阵列构建方法
CN106776130A (zh) * 2016-11-30 2017-05-31 华为技术有限公司 一种日志恢复方法、存储装置和存储节点
CN109002253A (zh) * 2017-06-06 2018-12-14 杭州海康威视数字技术股份有限公司 一种损坏条带的处理方法及装置
CN108170555A (zh) * 2017-12-21 2018-06-15 浙江大华技术股份有限公司 一种数据恢复方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ProCode:A Proactive Erasure Coding Scheme for Cloud Storage Systems;P.Li等;《2016 IEEE 35th Symposium on Reliable Distributed Systems(SRDS)》;20161222;219-228 *
纠删码存储系统中数据修复方法综述;杨松霖等;《计算机科学与探索》;20170621;第11卷(第10期);1531-1544 *

Also Published As

Publication number Publication date
CN111382007A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
US11537659B2 (en) Method for reading and writing data and distributed storage system
US10725692B2 (en) Data storage method and apparatus
CN110502365B (zh) 数据存储及恢复的方法、装置及计算机设备
CN103944981B (zh) 一种基于纠删码技术改进的云存储系统及实现方法
US9983941B2 (en) Method and apparatus for recovering data
EP2908254A1 (en) Data redundancy implementation method and device
US8065557B2 (en) Apparatus for managing data backup
CN106788468B (zh) 一种纠删码更新方法及装置,电子设备
CN105635252A (zh) 一种Hadoop分布式文件系统HDFS纠删码冗余备份策略
CN111382007B (zh) 一种数据恢复方法、装置及电子设备
CN111459399A (zh) 一种数据写入方法、数据读取方法及装置
CN102314322A (zh) 一种基于raid阵列的数据处理方法和设备
CN108614749B (zh) 一种数据处理方法及装置
CN112463434B (zh) 一种基于纠删码的数据重构方法、装置、设备及存储介质
CN105117303A (zh) 一种数据恢复的方法及设备
CN106911793B (zh) I/o优化的分布式存储数据修复方法
CN115686382A (zh) 一种数据存储及读取方法
CN111176880A (zh) 磁盘分配方法、装置和可读存储介质
CN115470082A (zh) Oracle数据库的日志断点和日志文本数据采集方法
CN111381769B (zh) 一种分布式数据存储方法及系统
CN112463444A (zh) 一种数据不一致修复方法及相关装置
CN111736778A (zh) 数据更新方法、装置、系统和电子设备
CN104025056B (zh) 一种数据恢复的方法及设备
CN104239182A (zh) 一种集群文件系统脑裂处理方法和装置
CN110058784B (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