CN109582500B - 数据恢复方法、装置、计算机设备及存储介质 - Google Patents

数据恢复方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN109582500B
CN109582500B CN201811431446.4A CN201811431446A CN109582500B CN 109582500 B CN109582500 B CN 109582500B CN 201811431446 A CN201811431446 A CN 201811431446A CN 109582500 B CN109582500 B CN 109582500B
Authority
CN
China
Prior art keywords
information
file
metadata
data block
recovery
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
CN201811431446.4A
Other languages
English (en)
Other versions
CN109582500A (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.)
Wondershare Technology Co ltd
Original Assignee
Wondershare Technology 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 Wondershare Technology Co ltd filed Critical Wondershare Technology Co ltd
Priority to CN201811431446.4A priority Critical patent/CN109582500B/zh
Publication of CN109582500A publication Critical patent/CN109582500A/zh
Application granted granted Critical
Publication of CN109582500B publication Critical patent/CN109582500B/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/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
    • G06F11/1458Management of the backup or restore process

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了数据恢复方法、装置、计算机设备及存储介质。方法包括:对监测点数据块进行遍历以获取得到文件元数据恢复信息,对用户所反馈的文件恢复选择信息中是否包含选定文件进行判断,若文件恢复选择信息中包含选定文件则获取与选定文件相对应的第一文件属性信息并进行恢复处理以得到恢复数据信息,若文件恢复选择信息中不包含选定文件则对存储卷中所有的数据块进行遍历得到完整数据恢复信息,获取与用户所反馈的目标恢复文件相对应的第二文件属性信息并进行恢复处理以得到恢复数据信息。通过综合应用上述数据恢复方法,实现了对用户所删除的文件进行快速恢复,大幅提高了数据恢复的效率。

Description

数据恢复方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据恢复方法、装置、计算机设备及存储介质。
背景技术
数据恢复(Data recovery)是指通过技术手段,将保存在台式机硬盘、笔记本硬盘、服务器硬盘、存储磁带库、移动硬盘、U盘、数码存储卡、Mp3等存储设备上丢失的电子数据进行抢救和恢复的技术。
苹果文件系统(Apple File System,简称APFS)是苹果公司发布的新的文件系统,替代目前所使用的HFS+文件系统。苹果文件系统(APFS)适用于目前市面上所使用的大多数使用macOS作为操作系统的电脑及使用iOS作为操作系统的手机。该系统针对闪存和固态硬盘存储进行了优化,主要关注读写速度与空间利用优化。
由于目前苹果文件系统的使用量较大,用户对苹果文件系统在数据误删后进行快速恢复的服务需求量较大,然而由于苹果文件系统内部的数据遍历、读写算法并不公开。导致无法利用或参考现有的文件系统恢复技术对苹果文件系统在数据误删后进行快速恢复,对苹果文件系统中的数据进行恢复的速度较慢,耗费了用户大量时间,因而无法满足用户的需求。因此,现有的数据恢复方法存在数据恢复效率不高的问题。
发明内容
本发明实施例提供了一种数据恢复方法、装置、计算机设备及存储介质,旨在解决现有现有技术方法中的数据恢复方法存在数据恢复效率不高的问题。
第一方面,本发明实施例提供了一种数据恢复方法,其包括:
若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息;
获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户;
若接收到用户根据所述文件元数据恢复信息所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断;
若所述文件恢复选择信息中包含选定文件,获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,根据所述第一文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息;
若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户;
接收用户根据完整元数据恢复信息所反馈的目标恢复文件,获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,根据所述第二文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。
第二方面,本发明实施例提供了一种数据恢复装置,其包括:
目录元数据信息获取单元,用于若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息;
数据恢复信息发送单元,用于获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户;
选择信息判断单元,用于若接收到用户根据所述文件元数据恢复信息所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断;
第一恢复处理单元,用于若所述文件恢复选择信息中包含选定文件,获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,根据所述第一文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息;
数据块遍历单元,用于若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户;
第二恢复处理单元,用于接收用户根据完整元数据恢复信息所反馈的目标恢复文件,获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,根据所述第二文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的数据恢复方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的数据恢复方法。
本发明实施例提供了一种数据恢复方法、装置、计算机设备及存储介质。通过对监测点数据块进行遍历以获取得到文件元数据恢复信息,对用户所反馈的文件恢复选择信息中是否包含选定文件进行判断,若文件恢复选择信息中包含选定文件则获取与选定文件相对应的第一文件属性信息并进行恢复处理以得到恢复数据信息,若文件恢复选择信息中不包含选定文件则对存储卷中所有的数据块进行遍历得到完整数据恢复信息,获取与用户所反馈的目标恢复文件相对应的第二文件属性信息并进行恢复处理以得到恢复数据信息。通过综合应用上述数据恢复方法,实现了对用户所删除的文件进行快速恢复,大幅提高了数据恢复的效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据恢复方法的流程示意图;
图2为本发明实施例提供的数据恢复方法的子流程示意图;
图3为本发明实施例提供的数据恢复方法的另一子流程示意图;
图4为本发明实施例提供的数据恢复方法的另一子流程示意图;
图5为本发明实施例提供的数据恢复方法的另一子流程示意图;
图6为本发明实施例提供的数据恢复装置的示意性框图;
图7为本发明实施例提供的数据恢复装置的子单元示意性框图;
图8为本发明实施例提供的数据恢复装置的另一子单元示意性框图;
图9为本发明实施例提供的数据恢复装置的另一子单元示意性框图;
图10为本发明实施例提供的数据恢复装置的另一子单元示意性框图;
图11为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本发明实施例提供的数据恢复方法的流程示意图。该数据恢复方法应用于用户终端中,用户终端即是用于执行所述数据恢复方法以实现对台式机硬盘、笔记本硬盘、服务器硬盘、存储磁带库、移动硬盘、U盘、数码存储卡、Mp3等存储设备上的电子数据进行恢复的终端设备,例如台式电脑、笔记本电脑、平板电脑或手机等。
如图1所示,该方法包括步骤S110~S160。
S110、若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息。
若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息。存储卷即是存储设备中所包含的子存储空间,一个存储设备中可包含一个或多个存储卷,用户从存储设备中选择一个或多个所需进行数据恢复的存储卷。
例如,存储设备为一块电脑硬盘,电脑硬盘中的存储卷包括为“C:”、“D:”、“E:”和“F:”,其中“D:”即是该存储设备中的一个存储卷。
存储卷中包含若干个数据块,每一个数据块(一般为4096字节(Byte)大小)均是一个微型的Key-Value型数据块,监测点数据块(Checkpoint Supperblock,简称CSB)是数据块中的一种,也即是对存储卷中文件状态进行记录的数据块。苹果文件系统(APFS)具有一种创新的“备份”功能,又名磁盘快照,即记录某一时刻存储卷中的文件状态,因此通过频繁地对存储卷中的数据进行备份,即可生成监测点数据块以对磁盘中文件状态的信息进行记录。
每一个监测点数据块(CSB)中均包含一个用于记录元数据树的数据字段,元数据树为B-Tree数据结构或数据链表结构,以B-Tree数据结构为例,一个元数据树中包含一个根节点、多个子节点及叶子节点,元数据树中的每一个叶子节点均包含一个记录对应文件节点元数据块(Volume Checkpoint Supperblock,简称VSCB)的指向信息,通过指向信息即可获取叶子节点所对应指向的文件节点元数据块,文件节点元数据块也是数据块中的一种,每一个文件节点元数据块中包含多个文件节点元数据列表。
例如,某一监测点数据块(CSB)中所包含的信息如表1中所示。
Figure GDA0002968914770000051
表1
在一实施例中,如图2所示,步骤S110包括子步骤S111和S112。
S111、获取所述存储卷中主数据块的主数据块链表信息,根据所述主数据块链表信息获取存储卷中所有监测点数据块。
获取所述存储卷中主数据块的主数据块链表信息,根据所述主数据块链表信息获取存储卷中所有监测点数据块。具体的,存储卷中还包括主数据块(Main SupperBlock,简称MSB),主数据块也是数据块中的一种,其功能类似于监测点数据块(CSB),从用户所选择的存储卷中所打开的第一个数据块即是主数据块(MSB),主数据块中还包括主数据块链表信息,主数据块链表信息即是一个双向链表信息,由于主数据块是双向链表的头部结构,主数据块链表信息的尾部结构即记录下一监测点数据块的指向信息,因此通过主数据块链表信息即可获取对应的下一个监测点数据块(CSB),每一个监测点数据块中还包含对应的数据链表信息,通过逐层获取对应监测点数据块的数据链表信息即可获取到所有监测点数据块。
在一实施例中,如图3所示,步骤S111包括子步骤S1111、S1112、S1113和S1114。
S1111、根据主数据链表信息获取对应的一个监测点数据块。
根据主数据链表信息获取对应的一个监测点数据块,具体的,主数据块链表信息的尾部结构即记录对应监测点数据块的指向信息,因此通过主数据块链表信息即可获取对应的一个监测点数据块(CSB)。
S1112、判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部。
判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部。通过对数据链表信息中所包含的指向信息进行判断即可对监测点数据块的数据链表信息是否指向链表尾部进行判断,具体的,若数据链表信息中不包含记录任一监测点数据块的指向信息,也即是该数据链表信息指向链表尾部,而不指向其他监测点数据块;若数据链表信息中包含记录下一监测点数据块的指向信息,则该数据链表信息不是指向链表尾部。
S1113、若当前所获取的监测点数据块中的数据链表信息不是指向链表尾部,获取该数据链表信息对应的一个监测点数据块,并执行所述判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部的步骤。
若当前所获取的监测点数据块中的数据链表信息不是指向链表尾部,则获取该数据链表信息对应的一个监测点数据块,也即是获取该数据链表信息中指向信息所记录的下一个监测点数据块,并执行上述S1112的步骤。
S1114、若当前所获取的监测点数据块中的数据链表信息是指向链表尾部,停止获取下一个监测点数据块,将所获取的所有监测点数据块进行输出。
若当前所获取的监测点数据块中的数据链表信息是指向链表尾部,则表明当前监测点数据块为该存储卷中最后一个监测点数据块,停止获取下一个监测点数据块,将所获取的所有监测点数据块进行输出即可得到该存储卷中所有监测点数据块。
S112、对每一监测点数据块中的元数据树进行遍历获取包含文件节点元数据列表的文件节点元数据块以得到目录元数据信息。
对每一监测点数据块中的元数据树进行遍历获取包含文件节点元数据列表的文件节点元数据块以得到目录元数据信息。具体的,每一个监测点数据块中均包含一个用于记录元数据树的信息,元数据树中的每一个叶子节点均包含一个记录对应文件节点元数据块的指向信息,每一个文件节点元数据块中包含多个文件节点元数据列表,文件节点元数据列表中包含多条数据块信息,数据块信息即是用于存储对文件元数据数据块的信息进行记录的信息。通过对每一监测点数据块中的元数据树进行遍历即可获取所有监测点数据块中所包含的文件节点元数据块记得到目录元数据信息。
S120、获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户。
获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户。具体的,每一个文件节点元数据块(VCSB)中均包含一个用于记录数据树的数据字段,数据树为B-Tree数据结构或数据链表结构,以B-Tree数据结构为例,一个数据树中包含一个根节点、多个子节点及叶子节点,数据树中的每一个叶子节点均包含一个记录对应文件节点元数据列表的指向信息,通过指向信息即可获取叶子节点所对应指向的文件节点元数据列表。
例如,某一文件节点元数据块(VCSB)中所包含的信息如表2中所示。
Figure GDA0002968914770000071
表2
具体的,通过对所有文件节点元数据块中的数据树进行遍历即可获取得到文件节点元数据块对应包含的多个文件节点元数据列表,每一个文件节点元数据列表中均包含多条数据块信息,每一条数据块信息中均记录了一个数据块编码(数据块ID),存储卷中每一个数据块均对应一个数据块编码信息,通过数据块编码即可获取存储卷中与该数据块编码对应的文件元数据数据块。文件元数据数据块也是数据块中的一种,每一个文件元数据数据块中均包含多条文件元数据信息,每一条文件元数据信息中均记载了文件名称、文件大小、文件修改时间、文件路径、文件存储位置等与文件或文件夹相关的信息。其中,文件大小即是该文件的大小信息,用字节(Byte)表示,文件修改时间即是对该文件进行最后一次修改的时间信息,文件路径即是记录该文件或文件夹的上级文件夹的信息,文件存储位置即是记录存储该文件具体内容的存储位置。
例如,某一文件元数据信息中所包含的信息如表3所示。
Figure GDA0002968914770000081
在一实施例中,如图4所示,步骤S120包括子步骤S121、S122和S123。
S121、对所有所述文件节点元数据块中文件节点元数据列表的数据树进行遍历以获取每一文件节点元数据列表中所包含的多条数据块信息。
对所有所述文件节点元数据块中文件节点元数据列表的数据树进行遍历以获取每一文件节点元数据列表中所包含的多条数据块信息。通过对所有文件节点元数据块中的数据树进行遍历即可获取得到文件节点元数据块对应包含的多个文件节点元数据列表,每一个文件节点元数据列表中均包含多条数据块信息,因此即可获取得到所有所述文件节点元数据块中所包含的数据块信息。
S122、根据所有所述数据块信息中的数据块编码获取存储卷中所对应存储的文件元数据数据块。
根据所有所述数据块信息中的数据块编码获取存储卷中所对应存储的文件元数据数据块。数据块信息中的包含相应数据块编码,通过数据块编码与存储卷中的数据块进行匹配,即可获取得到对应的文件元数据数据块。
S123、对所有所述文件元数据数据块中的文件元数据信息进行整合以得到文件元数据恢复信息。
对所有所述文件元数据数据块中的文件元数据信息进行整合以得到文件元数据恢复信息。文件元数据信息的文件路径中记录对应文件或文件夹的上级文件夹的信息,通过对所有所述文件元数据数据块中的文件元数据信息进行整合,即可最终得到每一个文件完整的文件路径信息,获取每一个文件完整的文件路径信息、文件名称及文件存储位置即可最终得到文件元数据恢复信息。
例如,表3中“229214.arj”文件的文件路径为“\D27”,也即是文件夹“\D27”中包含文件名称为“229214.arj”的文件,文件夹“\D27”的文件路径为“\2018”,文件夹“\2018”的文件路径为“D:”,则最终整合得到“229214.arj”文件完整的文件路径信息为“D:\2018\D27”。
S130、若接收到用户根据所述文件元数据恢复信息所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断。
若接收到用户根据所述文件元数据恢复信息所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断。用户获取到所述文件元数据恢复信息后,即可从所述文件元数据恢复信息中选择相应的文件得到文件恢复选择信息,获取用户所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断。具体的,若用户未在文件元数据恢复信息中找到其所需要进行恢复的文件,则可反馈不包含选定文件的文件恢复选择信息;若用户在文件元数据恢复信息中找到所需进行恢复的文件,则反馈包含相应选定文件的文件恢复选择信息。
S140、若所述文件恢复选择信息中包含选定文件,获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,根据所述第一文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。
若所述文件恢复选择信息中包含选定文件,获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,根据所述第一文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。具体的,选定文件中可包含一个文件或多个文件,则可根据选定文件获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,第一文件属性信息中包括文件名称、文件大小、文件修改时间及文件存储位置等信息,通过第一文件属性信息中的文件存储位置信息即可对存储卷中所存储的相应数据进行恢复,得到恢复数据信息。
S150、若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户。
若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户。若文件恢复选择信息中不包含选定文件,也即是文件元数据恢复信息中并不包含用户所需要进行恢复的文件,则需要对存储卷中所包含的所有数据块进行遍历,由于存储卷中还包含游离的文件元数据数据块,通过存储卷中所有监测点数据块所获取得到的文件元数据数据块并不是该存储卷中所有的文件元数据数据块,因此,若通过对所有监测点数据块进行遍历获取得到的文件元数据恢复信息中并不包含用户所需要进行恢复的文件,则可通过对存储卷中所有的数据块进行遍历以得到更加完整的完整元数据恢复信息。
在一实施例中,如图5所示,步骤S150包括子步骤S151、S152、S153、S154、S155和S156。
S151、获取所述存储卷中主数据块的数据块数量信息。
获取所述存储卷中主数据块(MSB)的数据块数量信息。主数据块(MSB)中还记载了存储卷中所包含所有数据块的数量信息,也即是数据块数量信息。
S152、获取所述存储卷中的一个数据块,根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块。
获取所述存储卷中的一个数据块,根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块。存储卷中每一个数据块均对应一个数据块编码信息,根据数据块数量信息及数据块的数据块编码信息即可判断该数据块是否是终止数据块,终止数据块也即是存储卷中所存储的最后一个数据块,终止数据块中仅包含终止信息而不包含具体的数据信息。具体的,若数据块数量信息大于数据块的数据块编码信息,则相应的判断结果为数据块不是终止数据块;若数据块数量信息等于数据块的数据块编码信息,则相应的判断结果为数据块是终止数据块。
S153、若当前所获取的数据块不是终止数据块,判断当前所获取的数据块是否为文件节点元数据块。
若当前所获取的数据块不是终止数据块,判断当前所获取的数据块是否为文件节点元数据块。具体的,每一个文件节点元数据块(VSCB)中均包含多个文件节点元数据列表,通过对数据块中是否包含文件节点元数据列表进行判断即可得到该数据块是否是文件节点元数据块的判断结果。
S154、若当前所获取的数据块不是文件节点元数据块,获取下一数据块并执行所述根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块的步骤。
若数据块判断结果为数据块不是文件节点元数据块,获取下一数据块并执行所述S152的步骤。
S155、若当前所获取的数据块为文件节点元数据块,获取该文件节点元数据块的文件元数据信息并进行存储,获取下一数据块并执行所述根据所述数据块数量信息判断当前所获取的数据块是否是为终止数据块的步骤。
若当前所获取的数据块是文件节点元数据块,获取该文件节点元数据块的文件元数据信息并进行存储,获取下一数据块并执行所述S152的步骤。具体的,对文件节点元数据块中所包含的文件元数据信息进行获取的方法同所述S120的步骤,在此不做赘述。
S156、若当前所获取的数据块为终止数据块,将所存储的文件元数据信息作为完整元数据恢复信息。
若当前所获取的数据块为终止数据块,将所存储的文件元数据信息作为完整元数据恢复信息,即可实现通过对存储卷中所有的数据块进行遍历获取得到更加完整的完整元数据恢复信息。
S160、接收用户根据完整元数据恢复信息所反馈的目标恢复文件,获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,根据所述第二文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。
接收用户根据完整元数据恢复信息所反馈的目标恢复文件,获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,根据所述第二文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。具体的,可根据用户所反馈的目标恢复文件获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,第二文件属性信息中包括文件名称、文件大小、文件修改时间及文件存储位置等信息,通过第二文件属性信息中的文件存储位置信息即可对存储卷中所存储的相应数据进行恢复,得到恢复数据信息。
通过对监测点数据块进行遍历以获取得到文件元数据恢复信息,对用户所反馈的文件恢复选择信息中是否包含选定文件进行判断,若文件恢复选择信息中包含选定文件则获取与选定文件相对应的第一文件属性信息并进行恢复处理以得到恢复数据信息,若文件恢复选择信息中不包含选定文件则对存储卷中所有的数据块进行遍历得到完整数据恢复信息,获取与用户所反馈的目标恢复文件相对应的第二文件属性信息并进行恢复处理以得到恢复数据信息。通过对上述数据恢复方法的综合应用,实现了对用户所删除的文件进行快速恢复,大幅提高了数据恢复的效率。
本发明实施例还提供一种数据恢复装置,该数据恢复装置用于执行前述数据恢复方法的任一实施例。具体地,请参阅图6,图6是本发明实施例提供的数据恢复装置的示意性框图。该数据恢复装置可以配置于管理服务器中。
如图6所示,数据恢复装置100包括目录元数据信息获取单元110、数据恢复信息发送单元120、选择信息判断单元130、第一恢复处理单元140、数据块遍历单元150和第二恢复处理单元160。
目录元数据信息获取单元110,用于若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息。
若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息。存储卷即是存储设备中所包含的子存储空间,一个存储设备中可包含一个或多个存储卷,用户从存储设备中选择一个或多个所需进行数据恢复的存储卷。
存储卷中包含若干个数据块,每一个数据块(一般为4096字节(Byte)大小)均是一个微型的Key-Value型数据块,监测点数据块(Checkpoint Supperblock,简称CSB)是数据块中的一种,也即是对存储卷中文件状态进行记录的数据块。苹果文件系统(APFS)具有一种创新的“备份”功能,又名磁盘快照,即记录某一时刻存储卷中的文件状态,因此通过频繁地对存储卷中的数据进行备份,即可生成监测点数据块以对磁盘中文件状态的信息进行记录。
每一个监测点数据块(CSB)中均包含一个用于记录元数据树的数据字段,元数据树为B-Tree数据结构或数据链表结构,以B-Tree数据结构为例,一个元数据树中包含一个根节点、多个子节点及叶子节点,元数据树中的每一个叶子节点均包含一个记录对应文件节点元数据块(Volume Checkpoint Supperblock,简称VSCB)的指向信息,通过指向信息即可获取叶子节点所对应指向的文件节点元数据块,文件节点元数据块也是数据块中的一种,每一个文件节点元数据块中包含多个文件节点元数据列表。
其他发明实施例中,如图7所示,所述目录元数据信息获取单元110包括子单元:监测点数据块获取单元111和监测点数据块遍历单元112。
监测点数据块获取单元111,用于获取所述存储卷中主数据块的主数据块链表信息,根据所述主数据块链表信息获取存储卷中所有监测点数据块。
获取所述存储卷中主数据块的主数据块链表信息,根据所述主数据块链表信息获取存储卷中所有监测点数据块。具体的,存储卷中还包括主数据块(Main SupperBlock,简称MSB),主数据块也是数据块中的一种,其功能类似于监测点数据块(CSB),从用户所选择的存储卷中所打开的第一个数据块即是主数据块(MSB),主数据块中还包括主数据块链表信息,主数据块链表信息即是一个双向链表信息,由于主数据块是双向链表的头部结构,主数据块链表信息的尾部结构即记录下一监测点数据块的指向信息,因此通过主数据块链表信息即可获取对应的下一个监测点数据块(CSB),每一个监测点数据块中还包含对应的数据链表信息,通过逐层获取对应监测点数据块的数据链表信息即可获取到所有监测点数据块。
其他发明实施例中,如图8所示,所述监测点数据块获取单元111包括子单元:第一数据块获取单元1111、指向判断单元1112、第二数据块获取单元1113和监测点数据块输出单元1114。
第一数据块获取单元1111,用于根据主数据链表信息获取对应的一个监测点数据块。
根据主数据链表信息获取对应的一个监测点数据块,具体的,主数据块链表信息的尾部结构即记录对应监测点数据块的指向信息,因此通过主数据块链表信息即可获取对应的一个监测点数据块(CSB)。
指向判断单元1112,用于判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部。
判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部。通过对数据链表信息中所包含的指向信息进行判断即可对监测点数据块的数据链表信息是否指向链表尾部进行判断,具体的,若数据链表信息中不包含记录任一监测点数据块的指向信息,也即是该数据链表信息指向链表尾部,而不指向其他监测点数据块;若数据链表信息中包含记录下一监测点数据块的指向信息,则该数据链表信息不是指向链表尾部。
第二数据块获取单元1113,用于若当前所获取的监测点数据块中的数据链表信息不是指向链表尾部,获取该数据链表信息对应的一个监测点数据块,并执行所述判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部的步骤。
若当前所获取的监测点数据块中的数据链表信息不是指向链表尾部,则获取该数据链表信息对应的一个监测点数据块,也即是获取该数据链表信息中指向信息所记录的下一个监测点数据块,并返回所述指向判断单元1112进行执行。
监测点数据块输出单元1114,用于若当前所获取的监测点数据块中的数据链表信息是指向链表尾部,停止获取下一个监测点数据块,将所获取的所有监测点数据块进行输出。
若当前所获取的监测点数据块中的数据链表信息是指向链表尾部,则表明当前监测点数据块为该存储卷中最后一个监测点数据块,停止获取下一个监测点数据块,将所获取的所有监测点数据块进行输出即可得到该存储卷中所有监测点数据块。
监测点数据块遍历单元112,用于对每一监测点数据块中的元数据树进行遍历获取包含文件节点元数据列表的文件节点元数据块以得到目录元数据信息。
对每一监测点数据块中的元数据树进行遍历获取包含文件节点元数据列表的文件节点元数据块以得到目录元数据信息。具体的,每一个监测点数据块中均包含一个用于记录元数据树的信息,元数据树中的每一个叶子节点均包含一个记录对应文件节点元数据块的指向信息,每一个文件节点元数据块中包含多个文件节点元数据列表,文件节点元数据列表中包含多条数据块信息,数据块信息即是用于存储对文件元数据数据块的信息进行记录的信息。通过对每一监测点数据块中的元数据树进行遍历即可获取所有监测点数据块中所包含的文件节点元数据块记得到目录元数据信息。
数据恢复信息发送单元120,用于获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户。
获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户。具体的,每一个文件节点元数据块(VCSB)中均包含一个用于记录数据树的数据字段,数据树为B-Tree数据结构或数据链表结构,以B-Tree数据结构为例,一个数据树中包含一个根节点、多个子节点及叶子节点,数据树中的每一个叶子节点均包含一个记录对应文件节点元数据列表的指向信息,通过指向信息即可获取叶子节点所对应指向的文件节点元数据列表。
具体的,通过对所有文件节点元数据块中的数据树进行遍历即可获取得到文件节点元数据块对应包含的多个文件节点元数据列表,每一个文件节点元数据列表中均包含多条数据块信息,每一条数据块信息中均记录了一个数据块编码(数据块ID),存储卷中每一个数据块均对应一个数据块编码信息,通过数据块编码即可获取存储卷中与该数据块编码对应的文件元数据数据块。文件元数据数据块也是数据块中的一种,每一个文件元数据数据块中均包含多条文件元数据信息,每一条文件元数据信息中均记载了文件名称、文件大小、文件修改时间、文件路径、文件存储位置等与文件或文件夹相关的信息。其中,文件大小即是该文件的大小信息,用字节(Byte)表示,文件修改时间即是对该文件进行最后一次修改的时间信息,文件路径即是记录该文件或文件夹的上级文件夹的信息,文件存储位置即是记录存储该文件具体内容的存储位置。
其他发明实施例中,如图9所示,所述数据恢复信息发送单元120包括子单元:数据块信息获取单元121、元数据数据块获取单元122和元数据信息整合单元123。
数据块信息获取单元121,用于对所有所述文件节点元数据块中文件节点元数据列表的数据树进行遍历以获取每一文件节点元数据列表中所包含的多条数据块信息。
对所有所述文件节点元数据块中文件节点元数据列表的数据树进行遍历以获取每一文件节点元数据列表中所包含的多条数据块信息。通过对所有文件节点元数据块中的数据树进行遍历即可获取得到文件节点元数据块对应包含的多个文件节点元数据列表,每一个文件节点元数据列表中均包含多条数据块信息,因此即可获取得到所有所述文件节点元数据块中所包含的数据块信息。
元数据数据块获取单元122,用于根据所有所述数据块信息中的数据块编码获取存储卷中所对应存储的文件元数据数据块。
根据所有所述数据块信息中的数据块编码获取存储卷中所对应存储的文件元数据数据块。数据块信息中的包含相应数据块编码,通过数据块编码与存储卷中的数据块进行匹配,即可获取得到对应的文件元数据数据块。
元数据信息整合单元123,用于对所有所述文件元数据数据块中的文件元数据信息进行整合以得到文件元数据恢复信息。
对所有所述文件元数据数据块中的文件元数据信息进行整合以得到文件元数据恢复信息。文件元数据信息的文件路径中记录对应文件或文件夹的上级文件夹的信息,通过对所有所述文件元数据数据块中的文件元数据信息进行整合,即可最终得到每一个文件完整的文件路径信息,获取每一个文件完整的文件路径信息、文件名称及文件存储位置即可最终得到文件元数据恢复信息。
选择信息判断单元130,用于若接收到用户根据所述文件元数据恢复信息所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断。
若接收到用户根据所述文件元数据恢复信息所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断。用户获取到所述文件元数据恢复信息后,即可从所述文件元数据恢复信息中选择相应的文件得到文件恢复选择信息,获取用户所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断。具体的,若用户未在文件元数据恢复信息中找到其所需要进行恢复的文件,则可反馈不包含选定文件的文件恢复选择信息;若用户在文件元数据恢复信息中找到所需进行恢复的文件,则可反馈包含相应选定文件的文件恢复选择信息。
第一恢复处理单元140,用于若所述文件恢复选择信息中包含选定文件,获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,根据所述第一文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。
若所述文件恢复选择信息中包含选定文件,获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,根据所述第一文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。具体的,选定文件中可包含一个文件或多个文件,则可根据选定文件获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,第一文件属性信息中包括文件名称、文件大小、文件修改时间及文件存储位置等信息,通过第一文件属性信息中的文件存储位置信息即可对存储卷中所存储的相应数据进行恢复,得到恢复数据信息。
数据块遍历单元150,用于若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户。
若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户。若文件恢复选择信息中不包含选定文件,也即是文件元数据恢复信息中并不包含用户所需要进行恢复的文件,则需要对存储卷中所包含的所有数据块进行遍历,由于存储卷中还包含游离的文件元数据数据块,通过存储卷中所有监测点数据块所获取得到的文件元数据数据块并不是该存储卷中所有的文件元数据数据块,因此,若通过对所有监测点数据块进行遍历获取得到的文件元数据恢复信息中并不包含用户所需要进行恢复的文件,则可通过对存储卷中所有的数据块进行遍历以得到更加完整的完整元数据恢复信息。
其他发明实施例中,如图10所示,所述数据块遍历单元150包括子单元:数量信息获取单元151、数据块数量判断单元152、数据块判断单元153、数据块获取单元154、信息存储单元155和信息输出单元156。
数量信息获取单元151,用于获取所述存储卷中主数据块的数据块数量信息。
获取所述存储卷中主数据块(MSB)的数据块数量信息。主数据块(MSB)中还记载了存储卷中所包含所有数据块的数量信息,也即是数据块数量信息。
数据块数量判断单元152,用于获取所述存储卷中的一个数据块,根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块。
获取所述存储卷中的一个数据块,根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块。存储卷中每一个数据块均对应一个数据块编码信息,根据数据块数量信息及数据块的数据块编码信息即可判断该数据块是否是终止数据块,终止数据块也即是存储卷中所存储的最后一个数据块,终止数据块中仅包含终止信息而不包含具体的数据信息。具体的,若数据块数量信息大于数据块的数据块编码信息,则相应的判断结果为数据块不是终止数据块;若数据块数量信息等于数据块的数据块编码信息,则相应的判断结果为数据块是终止数据块。
数据块判断单元153,用于若当前所获取的数据块不是终止数据块,判断当前所获取的数据块是否为文件节点元数据块。
若当前所获取的数据块不是终止数据块,判断当前所获取的数据块是否为文件节点元数据块。具体的,每一个文件节点元数据块(VSCB)中均包含多个文件节点元数据列表,通过对数据块中是否包含文件节点元数据列表进行判断即可得到该数据块是否是文件节点元数据块的数据块判断结果。
数据块获取单元154,若当前所获取的数据块不是文件节点元数据块,获取下一数据块并执行所述根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块的步骤。
若数据块判断结果为数据块不是文件节点元数据块,获取下一数据块并返回数据块数量判断单元152进行执行。
信息存储单元155,用于若当前所获取的数据块为文件节点元数据块,获取该文件节点元数据块的文件元数据信息并进行存储,获取下一数据块并执行所述根据所述数据块数量信息判断当前所获取的数据块是否是为终止数据块的步骤。
若当前所获取的数据块是文件节点元数据块,获取该文件节点元数据块的文件元数据信息并进行存储,获取下一数据块并返回数据块数量判断单元152进行执行。具体的,对文件节点元数据块中所包含的文件元数据信息进行获取的方法同所述数据恢复信息发送单元120中所执行的方法,在此不做赘述。
信息输出单元156,用于若当前所获取的数据块为终止数据块,将所存储的文件元数据信息作为完整元数据恢复信息。
若当前所获取的数据块为终止数据块,将所存储的文件元数据信息作为完整元数据恢复信息,即可实现通过对存储卷中所有的数据块进行遍历获取得到更加完整的完整元数据恢复信息。
第二恢复处理单元160,用于接收用户根据完整元数据恢复信息所反馈的目标恢复文件,获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,根据所述第二文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。
接收用户根据完整元数据恢复信息所反馈的目标恢复文件,获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,根据所述第二文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。具体的,可根据用户所反馈的目标恢复文件获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,第二文件属性信息中包括文件名称、文件大小、文件修改时间及文件存储位置等信息,通过第二文件属性信息中的文件存储位置信息即可对存储卷中所存储的相应数据进行恢复,得到恢复数据信息。
通过对监测点数据块进行遍历以获取得到文件元数据恢复信息,对用户所反馈的文件恢复选择信息中是否包含选定文件进行判断,若文件恢复选择信息中包含选定文件则获取与选定文件相对应的第一文件属性信息并进行恢复处理以得到恢复数据信息,若文件恢复选择信息中不包含选定文件则对存储卷中所有的数据块进行遍历得到完整数据恢复信息,获取与用户所反馈的目标恢复文件相对应的第二文件属性信息并进行恢复处理以得到恢复数据信息。通过对上述数据恢复方法的综合应用,实现了对用户所删除的文件进行快速恢复,大幅提高了数据恢复的效率。
上述数据恢复装置可以实现为计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。
请参阅图11,图11是本发明实施例提供的计算机设备的示意性框图。
参阅图11,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行数据恢复方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行数据恢复方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息;获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户;若接收到用户根据所述文件元数据恢复信息所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断;若所述文件恢复选择信息中包含选定文件,获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,根据所述第一文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息;若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户;接收用户根据完整元数据恢复信息所反馈的目标恢复文件,获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,根据所述第二文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。
在一实施例中,处理器502在执行若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息的步骤时,执行如下操作:获取所述存储卷中主数据块的主数据块链表信息,根据所述主数据块链表信息获取存储卷中所有监测点数据块;对每一监测点数据块中的元数据树进行遍历获取包含文件节点元数据列表的文件节点元数据块以得到目录元数据信息。
在一实施例中,处理器502在执行获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户的步骤时,执行如下操作:对所有所述文件节点元数据块中文件节点元数据列表的数据树进行遍历以获取每一文件节点元数据列表中所包含的多条数据块信息;根据所有所述数据块信息中的数据块编码获取存储卷中所对应存储的文件元数据数据块;对所有所述文件元数据数据块中的文件元数据信息进行整合以得到文件元数据恢复信息。
在一实施例中,处理器502在执行若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户的步骤时,执行如下操作:获取所述存储卷中主数据块的数据块数量信息;获取所述存储卷中的一个数据块,根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块;若当前所获取的数据块不是终止数据块,判断当前所获取的数据块是否为文件节点元数据块;若当前所获取的数据块不是文件节点元数据块,获取下一数据块并执行所述根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块的步骤;若当前所获取的数据块为文件节点元数据块,获取该文件节点元数据块的文件元数据信息并进行存储,获取下一数据块并执行所述根据所述数据块数量信息判断当前所获取的数据块是否是为终止数据块的步骤;若当前所获取的数据块为终止数据块,将所存储的文件元数据信息作为完整元数据恢复信息。
在一实施例中,处理器502在执行获取所述存储卷中主数据块的主数据块链表信息,根据所述主数据块链表信息获取存储卷中所有监测点数据块的步骤时,执行如下操作:根据主数据链表信息获取对应的一个监测点数据块;判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部;若当前所获取的监测点数据块中的数据链表信息不是指向链表尾部,获取该数据链表信息对应的一个监测点数据块,并执行所述判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部的步骤;若当前所获取的监测点数据块中的数据链表信息是指向链表尾部,停止获取下一个监测点数据块,将所获取的所有监测点数据块进行输出。
本领域技术人员可以理解,图11中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现以下步骤:若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息;获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户;若接收到用户根据所述文件元数据恢复信息所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断;若所述文件恢复选择信息中包含选定文件,获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,根据所述第一文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息;若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户;接收用户根据完整元数据恢复信息所反馈的目标恢复文件,获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,根据所述第二文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。
在一实施例中,所述若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息的步骤,包括:获取所述存储卷中主数据块的主数据块链表信息,根据所述主数据块链表信息获取存储卷中所有监测点数据块;对每一监测点数据块中的元数据树进行遍历获取包含文件节点元数据列表的文件节点元数据块以得到目录元数据信息。
在一实施例中,所述获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户的步骤,包括:对所有所述文件节点元数据块中文件节点元数据列表的数据树进行遍历以获取每一文件节点元数据列表中所包含的多条数据块信息;根据所有所述数据块信息中的数据块编码获取存储卷中所对应存储的文件元数据数据块;对所有所述文件元数据数据块中的文件元数据信息进行整合以得到文件元数据恢复信息。
在一实施例中,所述若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户的步骤,包括:获取所述存储卷中主数据块的数据块数量信息;获取所述存储卷中的一个数据块,根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块;若当前所获取的数据块不是终止数据块,判断当前所获取的数据块是否为文件节点元数据块;若当前所获取的数据块不是文件节点元数据块,获取下一数据块并执行所述根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块的步骤;若当前所获取的数据块为文件节点元数据块,获取该文件节点元数据块的文件元数据信息并进行存储,获取下一数据块并执行所述根据所述数据块数量信息判断当前所获取的数据块是否是为终止数据块的步骤;若当前所获取的数据块为终止数据块,将所存储的文件元数据信息作为完整元数据恢复信息。
在一实施例中,所述获取所述存储卷中主数据块的主数据块链表信息,根据所述主数据块链表信息获取存储卷中所有监测点数据块的步骤,包括:根据主数据链表信息获取对应的一个监测点数据块;判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部;若当前所获取的监测点数据块中的数据链表信息不是指向链表尾部,获取该数据链表信息对应的一个监测点数据块,并执行所述判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部的步骤;若当前所获取的监测点数据块中的数据链表信息是指向链表尾部,停止获取下一个监测点数据块,将所获取的所有监测点数据块进行输出。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据恢复方法,其特征在于,包括:
若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息;
获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户;
若接收到用户根据所述文件元数据恢复信息所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断;
若所述文件恢复选择信息中包含选定文件,获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,根据所述第一文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息;
若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户;
接收用户根据完整元数据恢复信息所反馈的目标恢复文件,获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,根据所述第二文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。
2.根据权利要求1所述的数据恢复方法,其特征在于,所述对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息,包括:
获取所述存储卷中主数据块的主数据块链表信息,根据所述主数据块链表信息获取存储卷中所有监测点数据块;
对每一监测点数据块中的元数据树进行遍历获取包含文件节点元数据列表的文件节点元数据块以得到目录元数据信息。
3.根据权利要求2所述的数据恢复方法,其特征在于,所述获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息,包括:
对所有所述文件节点元数据块中文件节点元数据列表的数据树进行遍历以获取每一文件节点元数据列表中所包含的多条数据块信息;
根据所有所述数据块信息中的数据块编码获取存储卷中所对应存储的文件元数据数据块;
对所有所述文件元数据数据块中的文件元数据信息进行整合以得到文件元数据恢复信息。
4.根据权利要求2所述的数据恢复方法,其特征在于,所述对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息,包括:
获取所述存储卷中主数据块的数据块数量信息;
获取所述存储卷中的一个数据块,根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块;
若当前所获取的数据块不是终止数据块,判断当前所获取的数据块是否为文件节点元数据块;
若当前所获取的数据块不是文件节点元数据块,获取下一数据块并执行所述根据所述数据块数量信息判断当前所获取的数据块是否为终止数据块的步骤;
若当前所获取的数据块为文件节点元数据块,获取该文件节点元数据块的文件元数据信息并进行存储,获取下一数据块并执行所述根据所述数据块数量信息判断当前所获取的数据块是否是为终止数据块的步骤;
若当前所获取的数据块为终止数据块,将所存储的文件元数据信息作为完整元数据恢复信息。
5.根据权利要求2所述的数据恢复方法,其特征在于,所述根据所述主数据块链表信息获取存储卷中所有监测点数据块,包括:
根据主数据链表信息获取对应的一个监测点数据块;
判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部;
若当前所获取的监测点数据块中的数据链表信息不是指向链表尾部,获取该数据链表信息对应的一个监测点数据块,并执行所述判断当前所获取的监测点数据块中的数据链表信息是否指向链表尾部的步骤;
若当前所获取的监测点数据块中的数据链表信息是指向链表尾部,停止获取下一个监测点数据块,将所获取的所有监测点数据块进行输出。
6.一种数据恢复装置,其特征在于,包括:
目录元数据信息获取单元,用于若接收到用户所选择的存储卷,对所述存储卷中的监测点数据块进行遍历以获取目录元数据信息;
数据恢复信息发送单元,用于获取所述目录元数据信息中包含的文件节点元数据块的文件元数据信息以整合得到文件元数据恢复信息并发送至所述用户;
选择信息判断单元,用于若接收到用户根据所述文件元数据恢复信息所反馈的文件恢复选择信息,对所述文件恢复选择信息中是否包含选定文件进行判断;
第一恢复处理单元,用于若所述文件恢复选择信息中包含选定文件,获取文件元数据恢复信息中与所述选定文件相对应的第一文件属性信息,根据所述第一文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息;
数据块遍历单元,用于若所述文件恢复选择信息中不包含选定文件,对所述存储卷中所有的数据块进行遍历以得到完整元数据恢复信息并发送至所述用户;
第二恢复处理单元,用于接收用户根据完整元数据恢复信息所反馈的目标恢复文件,获取完整元数据恢复信息中与所述目标恢复文件相对应的第二文件属性信息,根据所述第二文件属性信息对存储卷中所存储的相应数据进行恢复以得到恢复数据信息。
7.根据权利要求6所述的数据恢复装置,其特征在于,所述目录元数据信息获取单元,包括:
监测点数据块获取单元,用于获取所述存储卷中主数据块的主数据块链表信息,根据所述主数据块链表信息获取存储卷中所有监测点数据块;
监测点数据块遍历单元,用于对每一监测点数据块中的元数据树进行遍历获取包含文件节点元数据列表的文件节点元数据块以得到目录元数据信息。
8.根据权利要求7所述的数据恢复装置,其特征在于,所述数据恢复信息发送单元,包括:
数据块信息获取单元,用于对所有所述文件节点元数据块中文件节点元数据列表的数据树进行遍历以获取每一文件节点元数据列表中所包含的多条数据块信息;
元数据数据块获取单元,用于根据所有所述数据块信息中的数据块编码获取存储卷中所对应存储的文件元数据数据块;
元数据信息整合单元,用于对所有所述文件元数据数据块中的文件元数据信息进行整合以得到文件元数据恢复信息。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的数据恢复方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至5任一项所述的数据恢复方法。
CN201811431446.4A 2018-11-26 2018-11-26 数据恢复方法、装置、计算机设备及存储介质 Active CN109582500B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811431446.4A CN109582500B (zh) 2018-11-26 2018-11-26 数据恢复方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811431446.4A CN109582500B (zh) 2018-11-26 2018-11-26 数据恢复方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN109582500A CN109582500A (zh) 2019-04-05
CN109582500B true CN109582500B (zh) 2021-09-03

Family

ID=65924640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811431446.4A Active CN109582500B (zh) 2018-11-26 2018-11-26 数据恢复方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN109582500B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297729B (zh) * 2019-07-02 2023-03-28 四川效率源信息安全技术股份有限公司 一种基于区间块来恢复apfs中被损坏数据及被删除数据的方法
CN110309019B (zh) * 2019-07-02 2022-11-04 四川效率源信息安全技术股份有限公司 一种快速恢复并提取apfs中删除文件的方法
CN110704372B (zh) * 2019-09-27 2022-05-20 厦门市美亚柏科信息股份有限公司 数据恢复方法和装置
CN110659254B (zh) * 2019-09-27 2022-04-22 浪潮电子信息产业股份有限公司 一种已删除文件恢复方法、装置、设备及可读存储介质
CN111597075B (zh) * 2020-05-11 2023-04-07 成都艾勃科技有限公司 一种从被硬件加密的数据存储设备上恢复数据的方法
CN111858468B (zh) * 2020-07-22 2023-01-10 苏州浪潮智能科技有限公司 分布式文件系统元数据校验方法、系统、终端及存储介质
CN112328552A (zh) * 2020-11-05 2021-02-05 深圳壹账通智能科技有限公司 底层数据管理方法、系统及计算机可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5561798A (en) * 1993-03-15 1996-10-01 International Business Machines Corporation Computer program product and program storage device for improving data recovery performance
CN101561773A (zh) * 2009-06-03 2009-10-21 成都市华为赛门铁克科技有限公司 一种磁盘数据恢复方法及装置
WO2009140157A2 (en) * 2008-05-15 2009-11-19 Board Of Governors Of Higher Education, State Of Rhode Island And Providence Plantations Systems and methods for recovering information from nand gate array memory systems
CN102289526A (zh) * 2011-09-29 2011-12-21 深圳市万兴软件有限公司 一种hfs+文件系统数据恢复方法及装置
US8099627B1 (en) * 2005-06-28 2012-01-17 Symantec Operating Corporation Persistent images of distributed shared memory segments and in-memory checkpoints
CN104199967A (zh) * 2014-09-22 2014-12-10 广东欧珀移动通信有限公司 一种手机文件的恢复方法及装置
CN105204959A (zh) * 2015-08-28 2015-12-30 小米科技有限责任公司 恢复ext文件系统中已删除文件的方法及装置
CN105868396A (zh) * 2016-04-19 2016-08-17 上海交通大学 内存文件系统的多版本控制方法
CN106354582A (zh) * 2016-08-18 2017-01-25 无锡华云数据技术服务有限公司 一种连续数据保护方法
CN108062357A (zh) * 2017-11-28 2018-05-22 厦门市美亚柏科信息股份有限公司 F2fs文件系统的删除文件恢复方法及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5561798A (en) * 1993-03-15 1996-10-01 International Business Machines Corporation Computer program product and program storage device for improving data recovery performance
US8099627B1 (en) * 2005-06-28 2012-01-17 Symantec Operating Corporation Persistent images of distributed shared memory segments and in-memory checkpoints
WO2009140157A2 (en) * 2008-05-15 2009-11-19 Board Of Governors Of Higher Education, State Of Rhode Island And Providence Plantations Systems and methods for recovering information from nand gate array memory systems
CN101561773A (zh) * 2009-06-03 2009-10-21 成都市华为赛门铁克科技有限公司 一种磁盘数据恢复方法及装置
CN102289526A (zh) * 2011-09-29 2011-12-21 深圳市万兴软件有限公司 一种hfs+文件系统数据恢复方法及装置
CN104199967A (zh) * 2014-09-22 2014-12-10 广东欧珀移动通信有限公司 一种手机文件的恢复方法及装置
CN105204959A (zh) * 2015-08-28 2015-12-30 小米科技有限责任公司 恢复ext文件系统中已删除文件的方法及装置
CN105868396A (zh) * 2016-04-19 2016-08-17 上海交通大学 内存文件系统的多版本控制方法
CN106354582A (zh) * 2016-08-18 2017-01-25 无锡华云数据技术服务有限公司 一种连续数据保护方法
CN108062357A (zh) * 2017-11-28 2018-05-22 厦门市美亚柏科信息股份有限公司 F2fs文件系统的删除文件恢复方法及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Forensic APFS File Recovery;Jonas plum等;《ARES 2018: Proceedings of the 13th International Conference on Availability, Reliability and SecurityAugust 2018》;20180831;1-10 *
初探苹果机下的数据恢复技术;罗竞等;《全国第20届计算机技术与应用学术会议(CACIS-2009)暨全国第一届安全关键技术与应用学术会议论文集(下册)》;20090717;946-949 *

Also Published As

Publication number Publication date
CN109582500A (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
CN109582500B (zh) 数据恢复方法、装置、计算机设备及存储介质
US8682867B2 (en) Deleted data recovery in data storage systems
US10430284B2 (en) Creating a full backup image from incremental backups
US9430546B2 (en) Systems and methods for managing delta version chains
US9195668B2 (en) Log access method storage control apparatus, archive system, and method of operation
US9633065B2 (en) Efficient data rehydration
EP2147437B1 (en) Seeding replication
US20150293817A1 (en) Secure Relational File System With Version Control, Deduplication, And Error Correction
WO2017049965A1 (zh) 数据备份的方法和数据处理系统
CN104281533B (zh) 一种存储数据的方法及装置
US8949187B1 (en) Systems and methods for creating and managing backups based on health information
US10146633B2 (en) Data recovery from multiple data backup technologies
CN111090645A (zh) 基于云存储的数据传输方法、装置及计算机设备
US20140244583A1 (en) Method of Processing File changes and Electronic Device Thereof
US10606712B2 (en) Metadata recovery for de-duplicated data
US9442966B2 (en) Extending the recovery and reporting ranges of objects
US11210183B2 (en) Memory health tracking for differentiated data recovery configurations
CN101542480A (zh) 组合日志/非日志文件系统
CN109582501B (zh) 文件恢复方法、装置、计算机设备及存储介质
US9020902B1 (en) Reducing head and tail duplication in stored data
CN109299051A (zh) 一种性能数据文件管理方法及相关装置
JP6113816B1 (ja) 情報処理システム、情報処理装置、及びプログラム
TW201227268A (en) Data backup system and data backup and retrival method
CN114924914B (zh) 磁盘分区表信息备份、恢复方法及系统
US20190065065A1 (en) Data protection method and storage server

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