CN103544072B - 一种数据恢复的方法及装置 - Google Patents

一种数据恢复的方法及装置 Download PDF

Info

Publication number
CN103544072B
CN103544072B CN201310468368.6A CN201310468368A CN103544072B CN 103544072 B CN103544072 B CN 103544072B CN 201310468368 A CN201310468368 A CN 201310468368A CN 103544072 B CN103544072 B CN 103544072B
Authority
CN
China
Prior art keywords
disk
data
stripe cell
strip unit
storage time
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
CN201310468368.6A
Other languages
English (en)
Other versions
CN103544072A (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.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Pizhou Huiteng Jingfa Construction Co ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310468368.6A priority Critical patent/CN103544072B/zh
Publication of CN103544072A publication Critical patent/CN103544072A/zh
Priority to PCT/CN2014/080480 priority patent/WO2015051652A1/zh
Application granted granted Critical
Publication of CN103544072B publication Critical patent/CN103544072B/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/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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks

Landscapes

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

Abstract

本发明公开了一种数据恢复的方法及装置,属于计算机领域。所述方法包括:对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复,如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和第三磁盘上的第二条带单元的存储时间,如果第三磁盘上的第二条带单元的存储时间不超过第一磁盘上的第二条带单元的存储时间,则根据第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据,对第二磁盘上的第二条带单元中的数据进行恢复。所述装置包括:第一恢复模块,第一获取模块和第二恢复模块。本发明能够防止出现坏道的区域中的数据丢失。

Description

一种数据恢复的方法及装置
技术领域
本发明涉及计算机领域,特别涉及一种数据恢复的方法及装置。
背景技术
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种把多块独立的物理磁盘按特定方式组合在一起的磁盘阵列组,其数据集成度、数据备份功能、容错功能和容量相对于单个磁盘具有非常大的优势,但其也可能像单个磁盘一样出现坏道,此时系统软件需要恢复出现坏道的区域中的数据。
目前,现有技术提供了一种数据恢复的方法,可以为:系统软件对RAID中出现坏道的磁盘中的数据进行恢复,如果在对RAID中出现坏道的磁盘中的数据进行恢复的过程中,该RAID中的另一个磁盘中的某个区域也出现坏道,系统软件就无法继续恢复出现坏道的区域中的数据,为确保其他磁盘中大部分数据可以被正常访问,系统软件会自动标记出现坏道的区域,使该区域中的数据不能被访问。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
系统软件仅仅标记了出现坏道的区域以使该区域中的数据不能被访问,会导致该区域的数据丢失。
发明内容
为了防止出现坏道的区域中的数据丢失,本发明提供了一种数据恢复的方法及装置。所述技术方案如下:
第一方面,一种数据恢复的方法,所述方法包括:
一种数据恢复的方法,所述方法包括:
对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复,所述第一磁盘为RAID包括的磁盘,所述第一条带单元为所述第一磁盘中的任一条带单元;
如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和所述第三磁盘上的第二条带单元的存储时间,所述第二磁盘为所述RAID包括的除所述第一磁盘以外的一个磁盘,所述第三磁盘为所述RAID包括的除所述第一磁盘和所述第二磁盘以外的其他磁盘,所述第一磁盘上的第一条带单元与所述第二磁盘上的第二条带单元位于不同的条带,所述第一磁盘上的第二条带单元、所述第二磁盘上的第二条带单元和所述第三磁盘上的第二条带单元位于同一条带;
如果所述第三磁盘上的第二条带单元的存储时间不超过所述第一磁盘上的第二条带单元的存储时间,则根据所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据,对所述第二磁盘上的第二条带单元中的数据进行恢复。
结合第一方面,在第一方面的第一种可能的实现方式中,所述对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复之前,还包括:
获取待存储的数据、所述待存储的数据对应的条带单元以及存储时间,将所述待存储的数据和所述存储时间存储在所述待存储的数据对应的条带单元中。
结合第一方面,在第一方面的第二种可能的实现方式中,所述根据所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据,对所述第二磁盘上的第二条带单元中的数据进行恢复,包括:
对所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据进行异或运算;
将异或运算的结果确定为所述第二磁盘上的第二条带单元中恢复的数据。
结合第一方面,在第一方面的第三种可能的实现方式中,所述根据所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据,对所述第二磁盘上的第二条带单元中的数据进行恢复之后,还包括:
获取存储时间,将所述第二磁盘上的第二条带单元中恢复的数据和所述存储时间存储在所述第二磁盘上的第二条带单元中。
结合第一方面,在第一方面的第四种可能的实现方式中,所述将所述恢复的数据和所述存储时间存储在所述第二磁盘上的第二条带单元中之后,还包括:
在恢复完所述第一磁盘上的第一条带单元中的数据以及所述第二磁盘上的第二条带单元中的数据后,根据所述第二磁盘上的第二条带单元中的数据和所述第三磁盘上的第二条带单元中的数据,对所述第一磁盘上的第二条带单元中的数据进行恢复。
第二方面,一种数据恢复的装置,所述装置包括:
第一恢复模块,用于对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复,所述第一磁盘为RAID包括的磁盘,所述第一条带单元为所述第一磁盘中的任一条带单元;
第一获取模块,用于如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和所述第三磁盘上的第二条带单元的存储时间,所述第二磁盘为所述RAID包括的除所述第一磁盘以外的一个磁盘,所述第三磁盘为所述RAID包括的除所述第一磁盘和所述第二磁盘以外的其他磁盘,所述第一磁盘上的第一条带单元与所述第二磁盘上的第二条带单元位于不同的条带,所述第一磁盘上的第二条带单元、所述第二磁盘上的第二条带单元和所述第三磁盘上的第二条带单元位于同一条带;
第二恢复模块,用于如果所述第三磁盘上的第二条带单元的存储时间不超过所述第一磁盘上的第二条带单元的存储时间,则根据所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据,对所述第二磁盘上的第二条带单元中的数据进行恢复。
结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括:
存储模块,用于获取待存储的数据、所述待存储的数据对应的条带单元以及存储时间,将所述待存储的数据和所述存储时间存储在所述待存储的数据对应的条带单元中。
结合第二方面,在第二方面的第二种可能的实现方式中,所述第二恢复模块包括:
运算单元,用于对所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据进行异或运算;
确定单元,用于将异或运算的结果确定为所述第二磁盘上的第二条带单元中恢复的数据。
结合第二方面,在第二方面的第三种可能的实现方式中,所述装置还包括:
第二获取模块,用于获取存储时间,将所述第二磁盘上的第二条带单元中恢复的数据和所述存储时间存储在所述第二磁盘上的第二条带单元中。
结合第二方面,在第二方面的第四种可能的实现方式中,所述装置还包括:
第三恢复模块,用于在恢复完所述第一磁盘上的第一条带单元中的数据以及所述第二磁盘上的第二条带单元中的数据后,根据所述第二磁盘上的第二条带单元中的数据和所述第三磁盘上的第二条带单元中的数据,对所述第一磁盘上的第二条带单元中的数据进行恢复。
在本发明实施例中,对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复;如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和第三磁盘上的第二条带单元的存储时间,如果第三磁盘上的第二条带单元的存储时间不超过第一磁盘上的第二条带单元的存储时间,则根据第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据,对第二磁盘上的第二条带单元中的数据进行恢复。然后继续对第一磁盘包括的未恢复的条带单元中的数据进行恢复,可以防止出现坏道的条带单元中的数据丢失。
附图说明
图1是本发明实施例1提供的一种数据恢复的方法流程图;
图2-1是本发明实施例2提供的一种RAID示意图;
图2-2是本发明实施例2提供的一种数据恢复的方法流程图;
图3是本发明实施例3提供的一种数据恢复的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本发明实施例提供了一种数据恢复的方法,该方法包括:
步骤101:对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复,第一磁盘为RAID包括的磁盘,第一条带单元为第一磁盘中的任一条带单元;
步骤102:如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和第三磁盘上的第二条带单元的存储时间,第二磁盘为RAID包括的除第一磁盘以外的一个磁盘,第三磁盘为RAID包括的除第一磁盘和第二磁盘以外的其他磁盘,第一磁盘上的第一条带单元与第二磁盘上的第二条带单元位于不同的条带,第一磁盘上的第二条带单元、第二磁盘上的第二条带单元和第三磁盘上的第二条带单元位于同一条带;
步骤103:如果第三磁盘上的第二条带单元的存储时间不超过第一磁盘上的第二条带单元的存储时间,则根据第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据,对第二磁盘上的第二条带单元中的数据进行恢复。
进一步地,对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复之前,还包括:
获取待存储的数据、待存储的数据对应的条带单元以及存储时间,将待存储的数据和存储时间存储在待存储的数据对应的条带单元中。
优选地,根据第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据,对第二磁盘上的第二条带单元中的数据进行恢复,包括:
对第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据进行异或运算;
将异或运算的结果确定为第二磁盘上的第二条带单元中恢复的数据。
进一步地,根据第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据,对第二磁盘上的第二条带单元中的数据进行恢复之后,还包括:
获取存储时间,将第二磁盘上的第二条带单元中恢复的数据和存储时间存储在第二磁盘上的第二条带单元中。
进一步地,将恢复的数据和存储时间存储在第二磁盘上的第二条带单元中之后,还包括:
在恢复完第一磁盘上的第一条带单元中的数据以及第二磁盘上的第二条带单元中的数据后,根据第二磁盘上的第二条带单元中的数据和第三磁盘上的第二条带单元中的数据,对第一磁盘上的第二条带单元中的数据进行恢复。
在本发明实施例中,对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复;如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和第三磁盘上的第二条带单元的存储时间,如果第三磁盘上的第二条带单元的存储时间不超过第一磁盘上的第二条带单元的存储时间,则根据第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据,对第二磁盘上的第二条带单元中的数据进行恢复。然后继续对第一磁盘包括的未恢复的条带单元中的数据进行恢复,可以防止出现坏道的条带单元中的数据丢失。
实施例2
在实施例1所示的方法基础之上,本发明实施例提供了一种数据恢复的方法。该方法可以对RAID中出现坏道的条带单元中的数据进行恢复。
RAID包括至少三个磁盘,且在RAID中按条带进行分组,例如,参见图2-1所示的RAID包括磁盘1、磁盘2、磁盘3和磁盘4,以及包括条带1、条带2、条带3和条带4。条带1包括条带单元11、条带单元12、条带单元13和条带单元14,且条带单元11、条带单元12、条带单元13和条带单元14分别位于磁盘1、磁盘2、磁盘3和磁盘4上;条带2包括条带单元21、条带单元22、条带单元23和条带单元24,且条带单元21、条带单元22、条带单元23和条带单元24分别位于磁盘1、磁盘2、磁盘3和磁盘4上;条带3包括条带单元31、条带单元32、条带单元33和条带单元34,且条带单元31、条带单元32、条带单元33和条带单元34分别位于磁盘1、磁盘2、磁盘3和磁盘4上;条带4包括条带单元41、条带单元42、条带单元43和条带单元44,且条带单元41、条带单元42、条带单元43和条带单元44分别位于磁盘1、磁盘2、磁盘3和磁盘4上。
任一条带包括的条带单元分为两类,分别为条带内容单元和条带校验单元,条带内容单元的个数至少为两个,条带校验单元的个数至少为一个。其中,条带内容单元用于存储内容数据以及存储该内容数据的存储时间,条带校验单元用于存储该条带的校验数据以及存储该校验数据的存储时间,条带校验单元中存储的校验数据是对该条带包括的每个条带内容单元中存储的内容数据进行异或运算得到的。另外,需要说明的是,对于该条带包括的任一条带单元中存储的数据,可以通过对该条带包括的其他每个条带单元中存储的数据进行异或运算得到。
其中,当需要向某个条带单元中存储待存储的数据时,待存储的数据可以为内容数据或校验数据,获取当前时间作为存储待存储的数据的存储时间,将待存储的数据和获取的存储时间存储在该条带单元中。
例如,在图2-1所示的RAID中,条带单元14为条带1中的条带校验单元,条带单元11、条带单元12和条带单元13为条带1中的条带内容单元,条带单元14中存储的校验数据D14是对条带单元11中存储的内容数据D11、条带单元12中存储的内容数据D12和条带单元13中存储的内容数据D13进行异或运算得到的。另外,对于条带单元11中的数据D11,可以通过对条带单元12中存储的数据D12、条带单元13中存储的数据D13和条带单元14中存储的数据D14进行异或运算得到;对于条带单元12中的数据D12,可以通过对条带单元11中存储的数据D11、条带单元13中存储的数据D13和条带单元14中存储的数据D14进行异或运算得到;同样可以利用上述方法得到条带单元13和条带单元14中存储的数据。
同理,上述方法也同样适用于得到条带2、条带3以及条带4包括的条带单元中存储的数据。
在本发明实施例中,当RAID中的某个磁盘上的某个条带单元出现坏道时,需要通过如下流程来对该磁盘包括的每个条带单元中存储的数据进行恢复,为了便于说明将该磁盘称为第一磁盘,将当前将要恢复的条带单元称为第一条带单元。参见图2-2,该方法流程包括:
步骤201:对第一磁盘包括的第一条带单元中的数据进行恢复;
具体地,当对第一磁盘包括的第一条带单元中的数据进行恢复时,确定第一条带单元所在的条带,从RAID包括的除第一磁盘以外的其他每个磁盘中获取该条带包括的条带单元,对获取的每个条带单元中存储的数据进行异或运算,得到第一条带单元中的数据,以实现对第一条带单元中的数据进行恢复。
在此步骤之前,技术人员为该RAID接入一个热备盘,热备盘包括的条带单元与第一磁盘包括的条带单元一一对应。
进一步地,在恢复完第一磁盘中的某一条带单元中的数据时,获取该条带单元在热备盘中对应的条带单元,以及获取当前时间作为存储时间,将该条带单元恢复的数据和获取的存储时间存储在从热备盘中获取的条带单元中。
例如,磁盘1上的条带单元11出现坏道,则需要对磁盘上的条带单元11中存储的数据、条带单元21中存储的数据、条带单元31中存储的数据以及条带单元41中存储的数据进行恢复,假设,当前将要对条带单元11中存储的数据进行恢复,确定条带单元11所在的条带为条带1,从RAID包括的除磁盘1以外的磁盘2、磁盘3和磁盘4中分别获取条带1包括的条带单元12、条带单元13和条带单元14,以及分别读取条带单元12中存储的数据D12、条带单元13中存储的数据D13和条带单元14中存储的数据D14,对条带单元12中存储的数据D12、条带单元13中存储的数据D13和条带单元14中存储的数据D14按照如下公式(1)进行异或运算,将异或运算的结果作为条带单元11中的数据D11;
D11=D12xor D13xor D14……(1);
其中,在公式(1)中,xor为异或运算符号。
进一步地,在恢复完磁盘1上的条带单元11中的数据D11时,获取条带单元11在热备盘中对应的条带单元15,获取当前时间T15作为存储时间,将条带单元11恢复的数据D11和获取的存储时间T15存储在获取的条带单元15中。
其中,对第一条带单元中的数据进行恢复需要一段时间,当在恢复的过程中,发现除第一磁盘以外的其他某个磁盘上出现坏道的条带单元,且其他某个磁盘上出现坏道的条带单元与第一条带单元位于不同的条带,则可以进行后续处理。为了便于说明,将其他某个磁盘称为第二磁盘,将其他某个磁盘上出现坏道的条带单元称为第二条带单元。
例如,在本发明实施例中,在对条带单元11中的数据D11进行恢复的过程需要一段时间,当在恢复的过程中,发现除条带单元11所在的条带1以外的条带单元22出现坏道,且条带单元22是除磁盘1以外的磁盘2上的条带单元,则执行如下步骤。
步骤202:获取第三磁盘上的第二条带单元的存储时间和第一磁盘上的第二条带单元的存储时间,第三磁盘是RAID除第一磁盘和第二磁盘以外的其他磁盘,第一磁盘上的第二条带单元、第二磁盘上的第二条带单元和第三磁盘上的第二条带单元位于同一条带;
例如,在技术人员将磁盘1重新接入该RAID中之后,分别访问磁盘3上的条带单元23、磁盘4上的条带单元24和磁盘1上的条带单元21;分别读取磁盘3上的条带单元23中存储的数据D23以及存储时间T23、磁盘4上的条带单元24存储中的数据D24以及存储时间T24和磁盘1上的条带单元21中存储的数据D21以及存储时间T21。
步骤203:判断第三磁盘上的第二条带单元的存储时间是否超过第一磁盘上的第二条带单元的存储时间,如果未超过,则执行步骤204;
例如,判断磁盘3上的条带单元23的存储时间T23和磁盘4上的条带单元24的存储时间T24是否均超过磁盘1上的条带单元21的存储时间T21,如果均未超过,则说明磁盘3上的条带单元23和磁盘4上的条带单元24中存储的数据未被更新,可以通过如下步骤204并根据磁盘1上的条带单元21中存储的数据D21、磁盘3上的条带单元23中存储的数据D23和磁盘4上的条带单元24中存储的数据D24对磁盘2上的条带单元22中存储的数据进行恢复。
步骤204:根据第一磁盘上的第二条带单元中存储的数据和第三磁盘上的第二条带单元中存储的数据对第二磁盘上的第二条带单元中存储的数据进行恢复;
具体地,对获取的第一磁盘上的第二条带单元中存储的数据和第三磁盘上的第二条带单元中的存储的数据进行异或运算,得到第二磁盘上的第二条带单元中的数据,以实现对第二磁盘上的第二条带单元中的数据进行恢复。
进一步地,在恢复完第二磁盘上的第二条带单元中的数据时,获取当前时间作为存储时间,将第二磁盘上的第二条带单元恢复的数据和获取的存储时间存储在第二磁盘上的第二条带单元中。
例如,对获取的磁盘1上的条带单元21中存储的数据D21、磁盘3上的条带单元23中存储的数据D23和磁盘4上的条带单元24中存储的数据D24按照如下公式(2)进行异或运算,将异或运算的结果作为条带单元22中的数据D22;
D22=D21xor D23xor D24……(2)。
进一步地,在恢复完磁盘2上的条带单元22中的数据D22时,获取当前时间T22作为存储时间,将条带单元22恢复的数据D22和获取的存储时间T22存储在条带单元22中。
步骤205:继续对第一磁盘包括的未恢复的条带单元中的数据进行恢复。
具体地,在恢复完第二磁盘上的第二条带单元中的数据后,继续对第一磁盘包括的未恢复的条带单元中的数据进行恢复,在恢复完成后,获取该条带单元在热备盘中对应的条带单元,以及获取当前时间作为存储时间,将该条带单元恢复的数据和获取的存储时间存储在从热备盘中获取的条带单元中。当恢复完第一磁盘上所有的条带单元中的数据时,将该热备盘作为该RAID的第一磁盘,将原第一磁盘从RAID中隔离。
其中,在对第一磁盘包括的未恢复的条带单元中的数据进行恢复的过程中,如果除第一磁盘以外的其他磁盘中的一个条带单元出现坏道,该条带单元与当前恢复的条带单元位于不同的条带,则可以按照恢复第二磁盘上的第二条带单元中的数据的方法恢复该条带单元中的数据。
例如,在对磁盘1中的条带单元31中的数据进行恢复的过程中,如果磁盘3上的条带单元43出现坏道,则可以按照恢复磁盘2上的条带单元22中存储的数据的方法恢复磁盘3上的条带单元43中存储的数据。
在本发明实施例中,对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复;如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和第三磁盘上的第二条带单元的存储时间,如果第三磁盘上的第二条带单元的存储时间不超过第一磁盘上的第二条带单元的存储时间,则根据第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据,对第二磁盘上的第二条带单元中的数据进行恢复。然后继续对第一磁盘包括的未恢复的条带单元中的数据进行恢复,可以防止出现坏道的条带单元中的数据丢失。
实施例3
参见图3,本发明实施例提供了一种数据恢复的装置,该装置包括:
第一恢复模块301,用于对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复,第一磁盘为RAID包括的磁盘,第一条带单元为第一磁盘中的任一条带单元;;
第一获取模块302,用于如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和第三磁盘上的第二条带单元的存储时间,第二磁盘为RAID包括的除第一磁盘以外的一个磁盘,第三磁盘为RAID包括的除第一磁盘和第二磁盘以外的其他磁盘,第一磁盘上的第一条带单元与第二磁盘上的第二条带单元位于不同的条带,第一磁盘上的第二条带单元、第二磁盘上的第二条带单元和第三磁盘上的第二条带单元位于同一条带;
第二恢复模块303,用于如果第三磁盘上的第二条带单元的存储时间不超过第一磁盘上的第二条带单元的存储时间,则根据第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据,对第二磁盘上的第二条带单元中的数据进行恢复。
进一步地,该装置还包括:
存储模块,用于获取待存储的数据、待存储的数据对应的条带单元以及存储时间,将待存储的数据和存储时间存储在待存储的数据对应的条带单元中。
优选地,第二恢复模块303包括:
运算单元,用于对第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据进行异或运算;
确定单元,用于将异或运算的结果确定为第二磁盘上的第二条带单元中恢复的数据。
进一步地,该装置还包括:
第二获取模块,用于获取存储时间,将第二磁盘上的第二条带单元中恢复的数据和存储时间存储在第二磁盘上的第二条带单元中。
进一步地,该装置还包括:
第三恢复模块,用于在恢复完第一磁盘上的第一条带单元中的数据以及第二磁盘上的第二条带单元中的数据后,根据第二磁盘上的第二条带单元中的数据和第三磁盘上的第二条带单元中的数据,对第一磁盘上的第二条带单元中的数据进行恢复。
在本发明实施例中,对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复;如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和第三磁盘上的第二条带单元的存储时间,如果第三磁盘上的第二条带单元的存储时间不超过第一磁盘上的第二条带单元的存储时间,则根据第三磁盘上的第二条带单元中的数据和第一磁盘上的第二条带单元中的数据,对第二磁盘上的第二条带单元中的数据进行恢复。然后继续对第一磁盘包括的未恢复的条带单元中的数据进行恢复,可以防止出现坏道的条带单元中的数据丢失。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据恢复的方法,其特征在于,所述方法包括:
对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复,所述第一磁盘为独立磁盘冗余阵列RAID包括的磁盘,所述第一条带单元为所述第一磁盘中的任一条带单元;
如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和第三磁盘上的第二条带单元的存储时间,所述第二磁盘为所述RAID包括的除所述第一磁盘以外的一个磁盘,所述第三磁盘为所述RAID包括的除所述第一磁盘和所述第二磁盘以外的其他磁盘,所述第一磁盘上的第一条带单元与所述第二磁盘上的第二条带单元位于不同的条带,所述第一磁盘上的第二条带单元、所述第二磁盘上的第二条带单元和所述第三磁盘上的第二条带单元位于同一条带;
如果所述第三磁盘上的第二条带单元的存储时间不超过所述第一磁盘上的第二条带单元的存储时间,则根据所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据,对所述第二磁盘上的第二条带单元中的数据进行恢复;
继续对所述第一磁盘包括的未恢复的条带单元中的数据进行恢复,在恢复完时获取所述继续恢复的条带单元在热备盘中对应的条带单元,以及获取当前时间作为存储时间,将所述继续恢复的条带单元恢复的数据和所述时间存储在所述热备盘中所述获取的条带单元中;当恢复完所述第一磁盘上所有的条带单元中的数据时,将所述热备盘作为所述RAID的第一磁盘,将原第一磁盘从所述RAID中隔离。
2.如权利要求1所述的方法,其特征在于,所述对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复之前,还包括:
获取待存储的数据、所述待存储的数据对应的条带单元以及存储时间,将所述待存储的数据和所述存储时间存储在所述待存储的数据对应的条带单元中。
3.如权利要求1所述的方法,其特征在于,所述根据所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据,对所述第二磁盘上的第二条带单元中的数据进行恢复,包括:
对所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据进行异或运算;
将异或运算的结果确定为所述第二磁盘上的第二条带单元中恢复的数据。
4.如权利要求1或3所述的方法,其特征在于,所述根据所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据,对所述第二磁盘上的第二条带单元中的数据进行恢复之后,还包括:
获取存储时间,将所述第二磁盘上的第二条带单元中恢复的数据和所述存储时间存储在所述第二磁盘上的第二条带单元中。
5.如权利要求4所述的方法,其特征在于,所述将所述第二磁盘上的第二条带单元中恢复的数据和所述存储时间存储在所述第二磁盘上的第二条带单元中之后,还包括:
在恢复完所述第一磁盘上的第一条带单元中的数据以及所述第二磁盘上的第二条带单元中的数据后,根据所述第二磁盘上的第二条带单元中的数据和所述第三磁盘上的第二条带单元中的数据,对所述第一磁盘上的第二条带单元中的数据进行恢复。
6.一种数据恢复的装置,其特征在于,所述装置包括:
第一恢复模块,用于对出现坏道条带单元的第一磁盘包括的第一条带单元中的数据进行恢复,所述第一磁盘为独立磁盘冗余阵列RAID包括的磁盘,所述第一条带单元为所述第一磁盘中的任一条带单元;
第一获取模块,用于如果在恢复的过程中第二磁盘上的第二条带单元出现坏道,则获取第一磁盘上的第二条带单元的存储时间和第三磁盘上的第二条带单元的存储时间,所述第二磁盘为所述RAID包括的除所述第一磁盘以外的一个磁盘,所述第三磁盘为所述RAID包括的除所述第一磁盘和所述第二磁盘以外的其他磁盘,所述第一磁盘上的第一条带单元与所述第二磁盘上的第二条带单元位于不同的条带,所述第一磁盘上的第二条带单元、所述第二磁盘上的第二条带单元和所述第三磁盘上的第二条带单元位于同一条带;
第二恢复模块,用于如果所述第三磁盘上的第二条带单元的存储时间不超过所述第一磁盘上的第二条带单元的存储时间,则根据所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据,对所述第二磁盘上的第二条带单元中的数据进行恢复;
所述装置还用于继续对所述第一磁盘包括的未恢复的条带单元中的数据进行恢复,在恢复完时获取所述继续恢复的条带单元在热备盘中对应的条带单元,以及获取当前时间作为存储时间,将所述继续恢复的条带单元恢复的数据和所述时间存储在所述热备盘中所述获取的条带单元中;当恢复完所述第一磁盘上所有的条带单元中的数据时,将所述热备盘作为所述RAID的第一磁盘,将原第一磁盘从所述RAID中隔离。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
存储模块,用于获取待存储的数据、所述待存储的数据对应的条带单元以及存储时间,将所述待存储的数据和所述存储时间存储在所述待存储的数据对应的条带单元中。
8.如权利要求6所述的装置,其特征在于,所述第二恢复模块包括:
运算单元,用于对所述第三磁盘上的第二条带单元中的数据和所述第一磁盘上的第二条带单元中的数据进行异或运算;
确定单元,用于将异或运算的结果确定为所述第二磁盘上的第二条带单元中恢复的数据。
9.如权利要求6或8所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取存储时间,将所述第二磁盘上的第二条带单元中恢复的数据和所述存储时间存储在所述第二磁盘上的第二条带单元中。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
第三恢复模块,用于在恢复完所述第一磁盘上的第一条带单元中的数据以及所述第二磁盘上的第二条带单元中的数据后,根据所述第二磁盘上的第二条带单元中的数据和所述第三磁盘上的第二条带单元中的数据,对所述第一磁盘上的第二条带单元中的数据进行恢复。
CN201310468368.6A 2013-10-09 2013-10-09 一种数据恢复的方法及装置 Active CN103544072B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310468368.6A CN103544072B (zh) 2013-10-09 2013-10-09 一种数据恢复的方法及装置
PCT/CN2014/080480 WO2015051652A1 (zh) 2013-10-09 2014-06-23 一种数据恢复的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310468368.6A CN103544072B (zh) 2013-10-09 2013-10-09 一种数据恢复的方法及装置

Publications (2)

Publication Number Publication Date
CN103544072A CN103544072A (zh) 2014-01-29
CN103544072B true CN103544072B (zh) 2017-01-18

Family

ID=49967547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310468368.6A Active CN103544072B (zh) 2013-10-09 2013-10-09 一种数据恢复的方法及装置

Country Status (2)

Country Link
CN (1) CN103544072B (zh)
WO (1) WO2015051652A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544072B (zh) * 2013-10-09 2017-01-18 华为技术有限公司 一种数据恢复的方法及装置
CN111813609B (zh) * 2020-07-23 2021-10-15 深圳大普微电子科技有限公司 一种存储介质中数据恢复方法、数据恢复系统及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504623A (zh) * 2009-03-20 2009-08-12 杭州华三通信技术有限公司 独立磁盘冗余阵列构建方法及装置
CN102081559A (zh) * 2011-01-11 2011-06-01 成都市华为赛门铁克科技有限公司 一种独立磁盘冗余阵列的数据恢复方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0612482D0 (en) * 2006-06-23 2006-08-02 Ibm Apparatus and method for controlling raid array rebuild
US20080104445A1 (en) * 2006-10-31 2008-05-01 Hewlett-Packard Development Company, L.P. Raid array
CN102043685A (zh) * 2010-12-31 2011-05-04 成都市华为赛门铁克科技有限公司 独立磁盘冗余阵列系统及其数据恢复方法
CN103544072B (zh) * 2013-10-09 2017-01-18 华为技术有限公司 一种数据恢复的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504623A (zh) * 2009-03-20 2009-08-12 杭州华三通信技术有限公司 独立磁盘冗余阵列构建方法及装置
CN102081559A (zh) * 2011-01-11 2011-06-01 成都市华为赛门铁克科技有限公司 一种独立磁盘冗余阵列的数据恢复方法和装置

Also Published As

Publication number Publication date
CN103544072A (zh) 2014-01-29
WO2015051652A1 (zh) 2015-04-16

Similar Documents

Publication Publication Date Title
CN103729442B (zh) 记录事务日志的方法和数据库引擎
CN103049222B (zh) 一种raid5的写io优化处理方法
CN107704196A (zh) 区块链数据存储系统和方法
CN104583930B (zh) 数据迁移的方法、控制器和数据迁移装置
CN104461390A (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
CN106021031B (zh) 一种btrfs文件系统的删除数据恢复方法和装置
CN102831222A (zh) 一种基于重复数据删除的差量压缩方法
CN103198122B (zh) 重启内存数据库的方法和装置
CN106547641A (zh) 一种基于卷的cdp备份方法
CN106776147A (zh) 一种差异数据备份方法和差异数据备份装置
CN103019623B (zh) 存储盘处理方法及装置
CN104850504B (zh) 一种加速基于xor的raid‑6编解码过程的方程并行计算方法
CN104050057B (zh) 一种历史感知的数据去重碎片消除方法与系统
CN106250496A (zh) 一种日志文件中的数据收集的方法及系统
CN111930552B (zh) 坏块数据的恢复方法、装置、存储介质及电子设备
CN102023902A (zh) 一种磁盘阵列重建方法
CN106897338A (zh) 一种针对数据库的数据修改请求处理方法及装置
CN110209357A (zh) 提高ssd大文件写性能的方法、装置、计算机设备及存储介质
CN103544072B (zh) 一种数据恢复的方法及装置
CN103744751B (zh) 存储设备配置信息连续优化备份系统及其使用方法
CN114610542B (zh) 数据恢复方法、装置、可读存储介质及电子设备
CN108874314A (zh) 一种独立冗余磁盘阵列的重构方法及装置
CN116382582A (zh) 一种raid重映射方法、系统、设备以及存储介质
CN105094711B (zh) 一种实现写时复制文件系统的方法及装置
CN104461373B (zh) 一种raid数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191212

Address after: 221300 Tushan street, Tushan Town, Pizhou City, Xuzhou City, Jiangsu Province

Patentee after: Pizhou Huiteng Jingfa Construction Co.,Ltd.

Address before: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20191212

Address after: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.