CN104199888A - 弹性文件系统的数据恢复方法和装置 - Google Patents

弹性文件系统的数据恢复方法和装置 Download PDF

Info

Publication number
CN104199888A
CN104199888A CN201410421666.4A CN201410421666A CN104199888A CN 104199888 A CN104199888 A CN 104199888A CN 201410421666 A CN201410421666 A CN 201410421666A CN 104199888 A CN104199888 A CN 104199888A
Authority
CN
China
Prior art keywords
list item
file
idle
node
skew
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
CN201410421666.4A
Other languages
English (en)
Other versions
CN104199888B (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.)
Xiamen Meiya Pico Information Co Ltd
Original Assignee
Xiamen Meiya Pico Information 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 Xiamen Meiya Pico Information Co Ltd filed Critical Xiamen Meiya Pico Information Co Ltd
Priority to CN201410421666.4A priority Critical patent/CN104199888B/zh
Publication of CN104199888A publication Critical patent/CN104199888A/zh
Application granted granted Critical
Publication of CN104199888B publication Critical patent/CN104199888B/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
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots

Landscapes

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

Abstract

本发明提供了一种弹性文件系统的数据恢复方法和装置,所述方法包括:读取分区偏移元数据块信息,获得主偏移元数据块信息;根据主偏移元数据块信息,获得B+树的根节点;从B+树的根节点开始遍历B+树,获得每个节点数据块中的空闲表项;根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹。本发明通过上述手段,不仅能够解决传统的签名恢复技术针对不连续文件的恢复存在着恢复不完整的问题,而且能够保证目录结构的完整性。

Description

弹性文件系统的数据恢复方法和装置
技术领域
本发明涉及数据存储技术领域,特别地,涉及一种弹性文件系统的数据恢复方法和装置。
背景技术
随着尖端技术的不断发展,传统的文件系统(如微软的NTFS)架构已经无法满足现有的需求,弹性文件系统(REFS,Resilient File System)作为微软最新推出的文件系统,凭借其高度的可靠性和巨大的容量性开始被逐步的应用到微软新版的操作系统上。
对于系统使用过程中因误操作或者恶意操作而导致的数据丢失问题,传统的数据恢复工具无法满足要求,以R-Studio为例,只能为FAT、NTFS、NTFS5(Windows 2000系统)和Ext2FS(Linux系统)等分区的磁盘提供数据维护方案。针对REFS系统的数据恢复问题,一般是通过文件签名恢复的方法来恢复被删除的数据,其缺点是,对于不连续的碎片文件,可能会出现文件恢复不完整的问题。
发明内容
本发明提供一种弹性文件系统的数据恢复方法,用于解决现有技术对于不连续的碎片文件无法完整恢复的问题。
本发明还提供了一种弹性文件系统的数据恢复装置,以保证上述方法在实际中的应用。
为了解决上述问题,本发明公开了一种弹性文件系统的数据恢复方法,包括:读取分区偏移元数据块信息,获得主偏移元数据块信息;根据主偏移元数据块信息,获得B+树的根节点;从B+树的根节点开始遍历B+树,获得每个节点数据块中的空闲表项;根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹。
优选的,所述获得每个节点数据块中的空闲表项的方法具体包括:从1作为当前表项的表项偏移开始,直至当前节点数据块的最大表项偏移作为当前表项的偏移,判断当前表项与表项列表中的所有表项是否有交叉,若否,则将当前表项作为空闲表项。
优选的,所述表项之间是否有交叉的判断方法具体为:若EntryOffset+EntrySize≤EntryOffseti或EntryOffseti+EntrySizei≤EntryOffset,则表示当前表项与第i个表项不交叉;否则,表示当前表项与第i个表项有交叉;其中,EntryOffset表示当前表项的偏移,EntrySize表示当前表项的大小;EntryOffseti表示第i个表项的偏移,EntrySizei表示第i个表项的大小。
优选的,根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹,具体包括:若所述空闲表项的大小等于0x38且空闲表项所在的节点为索引节点,或者,所述空闲表项的值大小等于0x18且空闲表项内容包括有文件元信息或文件夹元信息,则获取该节点的子节点块号,解析并恢复该子节点块中的文件和/或文件夹。
优选的,根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹,具体包括:若所述空闲表项的值大小不等于0x18且空闲表项内容包括有文件元信息,则根据文件结构信息,解析并恢复被删除的文件,同时记录该文件的父文件夹标识符;和/或,若所述空闲表项的值大小不等于0x18且空闲表项内容包括有文件夹元信息,则根据文件夹结构信息,解析并恢复被删除的文件夹,同时记录该文件夹标识符及其父文件夹标识符。
依据本发明的另一优选实施例,还公开了一种弹性文件系统的数据恢复装置,包括:根节点获取单元,用于读取分区偏移元数据块信息,获得主偏移元数据块信息;以及根据主偏移元数据块信息,获得B+树的根节点;空闲表项获取单元,用于从B+树的根节点开始遍历B+树,获得每个节点数据块中的空闲表项;数据恢复单元,用于根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹。
优选的,所述空闲表项获取单元获得每个节点数据块中的空闲表项的方法具体包括:从1作为当前表项的表项偏移开始,直至当前节点数据块的最大表项偏移作为当前表项的偏移,判断当前表项与表项列表中的所有表项是否有交叉,若否,则将当前表项作为空闲表项。
优选的,判断表项之间是否有交叉的方法具体为:若EntryOffset+EntrySize≤EntryOffseti或EntryOffseti+EntrySizei≤EntryOffset,则表示当前表项与第i个表项不交叉;否则,表示当前表项与第i个表项有交叉;其中,EntryOffset表示当前表项的偏移,EntrySize表示当前表项的大小;EntryOffseti表示第i个表项的偏移,EntrySizei表示第i个表项的大小。
优选的,所述数据恢复单元具体包括:子节点恢复子单元,用于当所述空闲表项的大小等于0x38且空闲表项所在的节点为索引节点,或者,所述空闲表项的值大小等于0x18且空闲表项内容包括有文件元信息或文件夹元信息时,获取该节点的子节点块号,解析并恢复该子节点块中的文件和/或文件夹。
优选的,所述数据恢复单元具体包括:文件恢复子单元,用于当所述空闲表项的值大小不等于0x18且空闲表项内容包括有文件元信息时,根据文件结构信息解析并恢复被删除的文件,同时记录该文件的父文件夹标识符;和/或,文件夹恢复子单元,用于当所述空闲表项的值大小不等于0x18且空闲表项内容包括有文件夹元信息时,根据文件夹结构信息解析并恢复被删除的文件夹,同时记录该文件夹标识符及其父文件夹标识符。
与现有技术相比,本发明具有以下优点:
本发明实施例基于对REFS存储结构的研究,提出了一种基于B+树结构的元数据信息恢复方法,通过在B+树中查找因数据删除形成的空闲表项(解决通过表项偏移列表无法获得空闲表项的问题),并根据该空闲表项中的内容信息,解析出表项数据,不仅能够解决传统的签名恢复技术针对不连续文件的恢复存在着恢复不完整的问题,而且能够保证目录结构的完整性。为由于误操作或者恶意操作而导致的REFS数据的丢失提供了解决方案。经实验验证,当一个文件被删除后如果不往REFS分区中写入数据,被删除的文件可以100%的被恢复。
附图说明
图1-1为弹性文件系统的组成结构示意图;
图1-2为弹性文件系统数据块中的表结构示意图;
图2为本发明弹性文件系统的数据恢复方法一实施例的流程图;
图3-1为图2所示的方法实施例中步骤S103的具体实现流程;
图3-2为图2所示的方法实施例中步骤S104的具体实现流程;
图4为本发明弹性文件系统的数据恢复装置一实施例的结构示意图;
图5-1为REFS系统下Logs文件夹在删除前的列表示意图;
图5-2为图5-1所示的Logs文件夹被删除后用R-Studio工具的恢复效果示意图;
图5-3为图5-1所示的Logs文件夹被删除后用图4所示的数据恢复装置的恢复效果示意图。
具体实施方式
在结合附图和具体实施方式对本发明作进一步详细的说明之前,首先说明弹性文件系统的存储结构。
弹性文件系统(REFS)由卷头、POMB(分区偏移元数据块)、MOMB(主偏移元数据块)和B+树(B+树用于描述文件信息、文件夹结构和位置信息)组成。如图1-1所示。REFS分配存储空间的基础单位为块,每个块都有编号,从0开始且大小为32个扇区,MOMB、B+树的每个节点都是一个块。其中:
卷头在第0块,用于存储扇区大小、卷大小等相关的信息;
POMB固定存储在第30个块中,用于存储MOMB所在的块号以及备份的MOMB块号等信息;
MOMB块用于存储指向B+树的指针信息。
REFS系统每个块由一个块头和一系列的表组成。其中,表的结构由四部分组成:分别为表头、表项偏移表描述、表项偏移表以及各个表项。如图1-2所示。表头可以用于存储块的索引信息;表项偏移表描述用于描述表项偏移表的位置以及大小等;表项偏移列表主要用于描述各个表项的位置偏移EntryOffset;各个表项可以存储文件信息或者块索引。
每个表项由三部分的组成:表项头部、表项ID和表项的值。
表项头部包含了如下六部分信息:表项大小EntrySize,用于描述整个表项的大小;表项ID偏移IDOffset;表项ID的大小IDSize;表项标志EntryFlags;值偏移ValueOffset;值大小ValueSize。其中表项的ID值作为B+树的关键字使用。
REFS系统将文件的元信息存储在一个如图1-2所示的表中,文件的属性分布在各个表的表项中存储。当文件被删除后,存储这些文件元信息的表项会变成没有任何表项偏移指向的空闲表项。一个文件被删除之后,包含这个文件元信息的表项标志位EntryFlags将发生变化,但是,这些表项中存储的与删除文件相关的元信息却完整的被保留下来。
参照图2,示出了本发明弹性文件系统的数据恢复方法一实施例的流程,包括以下步骤:
步骤S101:读取分区偏移元数据块POMB信息,获得主偏移元数据块MOMB信息;
步骤S102:根据主偏移元数据块MOMB信息,获得B+树的根节点;
步骤S103:从B+树的根节点开始遍历B+树,获得每个节点数据块中的空闲表项;
步骤S104:根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹。
本发明的下述各实施例将通过对比的方法获取相应的空闲表项,并且脱离表项偏移列表实现对所有空闲表项的遍历,进而根据空闲表项包括的内容(即文件或文件夹删除后被完整保留下来的相关元信息)恢复出相应的文件或文件夹。
文件或文件夹被删除后,文件或文件夹的元信息所在的表项变成了空闲表项,但是其元信息却完整的保留下来;正常的流程解析B+树中的表项无法获取到这些空闲的表项信息。如图3-1所示,在本方法实施例的一个优选实施例中,采用以下流程实现获取这些空闲表项(即步骤S103)这一关键步骤。
在本优选实施例中,假设ES={E1,E2,....,En}表示一个表中所有表项的列表。其中,每个列表中的元素Ei包含两个属性:表项偏移EntryOffseti以及表项大小EntrySizei。其中,表项偏移EntryOffset都相对于“表项偏移表描述”的开始位置。
本优选实施例的步骤S103具体包括:
步骤S103-1:从表项偏移表描述中获取相应的表项偏移列表OffsetTable以及最大的表项偏移MaxEntryOffset;
步骤S103-2:遍历OffsetTable,针对列表中的每个EntryOffseti元素获取对应的EntrySizei并生成元素Ei加入到ES列表中;
在REFS系统中,偏移EntryOffseti处的往后四个字节即为EntrySizei的值。
步骤S103-3:将当前表项偏移CurrentOffset设置为1;
步骤S103-4:判断CurrentOffset是否大于等于MaxEntryOffset,若是,则结束空闲表项获取流程,转步骤S104;否则转步骤S103-5;
步骤S103-5:获取当前表项偏移CurrentOffset所对应的表项长度CurrentSize,并将这两个属性(CurrentOffset和CurrentSize)作为当前表项CE的属性值;
从偏移CurrentOffset往后的四个字节表示表项长度;
步骤S103-6:判断表项列表ES中是否存在着与当前表项CE交叉的元素;若不存在,则转步骤S103-11;否则转步骤S103-7;
在本优选时候说了中,元素交叉的判断方法为:当元素Ei和元素Ej满足EntryOffseti+EntrySizei≤EntryOffsetj或者EntryOffsetj+EntrySizej≤EntryOffseti条件时,则元素Ei和元素Ej不交叉。否则,元素Ei和元素Ej交叉。
步骤S103-7:从ES中选取与CE交叉且表项偏移最小的元素Emin
步骤S103-8:判断EntryOffsetmin是否等于CurrentOffset,若是,转步骤S103-10;否则,转步骤S103-9;
步骤S103-9:CurrentOffset=CurrentOffset+1,转步骤S103-4;
步骤S103-10:CurrentOffset=EntryOffsetmin+EntrySizemin,转步骤S103-4;
步骤S103-11:将偏移为CurrentOffset,大小为CurrentSize的当前表项作为空闲表项,记录到相关表格中,作为步骤S104恢复被删除的文件或文件夹的基础;
步骤S103-12:CurrentOffset=CurrentOffset+CurrentSize,步骤S103-4。
如图3-2所示,在本方法实施例的另一个优选实施例中,对于步骤S103获得的空闲表项,采用如下流程进行处理,以恢复被删除的文件或文件夹:
步骤S104-1:判断空闲表项的EntrySize是否等于0x38,并且空闲块所在节点为索引节点;若是,转步骤S104-8;否则,转步骤S104-2;
步骤S104-2:判断该空闲表项是否存储了文件元信息;若是,转步骤S104-6;否则,转步骤S104-3;
在本优选实施例中,具体的判断方法为:获取表项ID,判断表项ID的前四个字节是否为0x30000100,若是,则该空闲表项存储了文件元信息。
步骤S104-3:判断该空闲表项是否存储了文件夹信息;若是,转步骤S104-4;否则,结束对该空闲表项的数据恢复流程;
在本优选实施例中,(具体的判断方法为:获取表项ID,判断表项ID的前四个字节是否为0x30000200,如果是,则该表项存储了文件夹元信息;
步骤S104-4:判断表项的ValueSize是否等于24(即0x18);若是,转步骤S104-8;否则,转步骤S104-5;
步骤S104-5:根据文件夹结构信息,解析相应的表项数据,恢复出相应的文件夹,同时记录相应的该文件夹标识符DirID及其父文件夹标识符ParentDirID;然后,结束对该空闲表项的数据恢复流程;
其中,ParentDirID为空闲表项所在块从偏移24往后的8个字节。
步骤S104-6:判断该空闲表项的ValueSize是否等于24;若是,转步骤S104-8;否则,转步骤S104-7;
步骤S104-7:根据文件结构信息,解析相应的表项数据,恢复出相应的文件,同时记录相应的ParentDirID;然后,结束对该空闲表项的数据恢复流程;
其中,ParentDirID为空闲表项所在块从偏移24往后的8个字节。
步骤S104-8:获取相应的子节点块号SubBlockNumber,并解析并恢复相应子节点块上的文件/文件夹;然后,结束对该空闲表项的数据恢复流程;
其中,子块号为从偏移ValueOffset往后的8个字节。
对于前述的各方法实施例,为了描述简单,故将其都表述为一系列的动作组合,但是本领域的技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明,某些步骤可以采用其他顺序或同时执行;其次,本领域技术人员也应该知悉,上述方法实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参照图4,示出了本发明弹性文件系统的数据恢复装置一实施例的结构示意图,包括:
根节点获取单元41,用于读取分区偏移元数据块信息,获得主偏移元数据块信息;以及根据主偏移元数据块信息,获得B+树的根节点;
空闲表项获取单元42,用于从B+树的根节点开始遍历B+树,获得每个节点数据块中的空闲表项;
其中,空闲表项获取单元42获得每个节点数据块中的空闲表项的方法具体包括:从1作为当前表项的表项偏移开始,直至当前节点数据块的最大表项偏移作为当前表项的偏移,判断当前表项与表项列表中的所有表项是否有交叉,若否,则将当前表项作为空闲表项。
上述判断表项之间是否有交叉的方法具体为:
若EntryOffset+EntrySize≤EntryOffseti或EntryOffseti+EntrySizei≤EntryOffset成立;则表示当前表项与第i个表项不交叉;否则,表示当前表项与第i个表项有交叉;
其中,EntryOffset表示当前表项的偏移,EntrySize表示当前表项的大小;EntryOffseti表示第i个表项的偏移,EntrySizei表示第i个表项的大小。
数据恢复单元43,用于根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹。
在本优选实施例中,数据恢复单元43具体包括:
子节点恢复子单元43-1,用于当所述空闲表项的大小等于0x38且空闲表项所在的节点为索引节点,或者,所述空闲表项的值大小等于0x18且空闲表项内容包括有文件元信息或文件夹元信息时,获取该节点的子节点块号,解析并恢复该子节点块中的文件和/或文件夹。
文件恢复子单元43-2,用于当所述空闲表项的值大小不等于0x18且空闲表项内容包括有文件元信息时,根据文件结构信息解析并恢复被删除的文件,同时记录该文件的父文件夹标识符;
文件夹恢复子单元43-3,用于当所述空闲表项的值大小不等于0x18且空闲表项内容包括有文件夹元信息时,根据文件夹结构信息解析并恢复被删除的文件夹,同时记录该文件夹标识符及其父文件夹标识符。
为了验证本发明弹性文件系统的数据恢复装置的效果,做了如下对比试验:
首先,新建一个REFS的格式的分区P,拷贝一些文件/文件夹到P分区的Root文件夹下(参加图5-1);
其次,以“Shift+Delete”方式删除Logs文件夹后,用R-Studio恢复,其数据恢复效果如图5-2所示,可以看出,Logs文件夹下的子文件夹BPA和MeasuredBoot没有被恢复出来。
最后,采用本发明的数据恢复装置进行恢复,其结果如图5-3所示,可以看出,Logs文件夹下的所有子文件夹及其文件都被成功恢复。
需要说明的是,上述装置或系统实施例属于优选实施例,所涉及的单元和模块并不一定是本发明所必须的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于本发明的装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种弹性文件系统的数据恢复方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种弹性文件系统的数据恢复方法,其特征在于,包括:
读取分区偏移元数据块信息,获得主偏移元数据块信息;
根据主偏移元数据块信息,获得B+树的根节点;
从B+树的根节点开始遍历B+树,获得每个节点数据块中的空闲表项;
根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹。
2.如权利要求1所述的方法,其特征在于,所述获得每个节点数据块中的空闲表项的方法具体包括:
从1作为当前表项的表项偏移开始,直至当前节点数据块的最大表项偏移作为当前表项的偏移,判断当前表项与表项列表中的所有表项是否有交叉,若否,则将当前表项作为空闲表项。
3.如权利要求2所述的方法,其特征在于,所述表项之间是否有交叉的判断方法具体为:
若EntryOffset+EntrySize≤EntryOffseti
或EntryOffseti+EntrySizei≤EntryOffset,
则表示当前表项与第i个表项不交叉;否则,表示当前表项与第i个表项有交叉;
其中,EntryOffset表示当前表项的偏移,EntrySize表示当前表项的大小;EntryOffseti表示第i个表项的偏移,EntrySizei表示第i个表项的大小。
4.如权利要求1所述的方法,其特征在于,根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹,具体包括:
若所述空闲表项的大小等于0x38且空闲表项所在的节点为索引节点,或者,所述空闲表项的值大小等于0x18且空闲表项内容包括有文件元信息或文件夹元信息,则获取该节点的子节点块号,解析并恢复该子节点块中的文件和/或文件夹。
5.如权利要求1所述的方法,其特征在于,根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹,具体包括:
若所述空闲表项的值大小不等于0x18且空闲表项内容包括有文件元信息,则根据文件结构信息,解析并恢复被删除的文件,同时记录该文件的父文件夹标识符;
和/或,
若所述空闲表项的值大小不等于0x18且空闲表项内容包括有文件夹元信息,则根据文件夹结构信息,解析并恢复被删除的文件夹,同时记录该文件夹标识符及其父文件夹标识符。
6.一种弹性文件系统数据恢复装置,其特征在于,包括:
根节点获取单元,用于读取分区偏移元数据块信息,获得主偏移元数据块信息;以及根据主偏移元数据块信息,获得B+树的根节点;
空闲表项获取单元,用于从B+树的根节点开始遍历B+树,获得每个节点数据块中的空闲表项;
数据恢复单元,用于根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹。
7.如权利要求6所述的装置,其特征在于,所述空闲表项获取单元获得每个节点数据块中的空闲表项的方法具体包括:
从1作为当前表项的表项偏移开始,直至当前节点数据块的最大表项偏移作为当前表项的偏移,判断当前表项与表项列表中的所有表项是否有交叉,若否,则将当前表项作为空闲表项。
8.如权利要求7所述的装置,其特征在于,判断表项之间是否有交叉的方法具体为:
若EntryOffset+EntrySize≤EntryOffseti
或EntryOffseti+EntrySizei≤EntryOffset,
则表示当前表项与第i个表项不交叉;否则,表示当前表项与第i个表项有交叉;
其中,EntryOffset表示当前表项的偏移,EntrySize表示当前表项的大小;EntryOffseti表示第i个表项的偏移,EntrySizei表示第i个表项的大小。
9.如权利要求6所述的装置,其特征在于,所述数据恢复单元具体包括:
子节点恢复子单元,用于当所述空闲表项的大小等于0x38且空闲表项所在的节点为索引节点,或者,所述空闲表项的值大小等于0x18且空闲表项内容包括有文件元信息或文件夹元信息时,获取该节点的子节点块号,解析并恢复该子节点块中的文件和/或文件夹。
10.如权利要求6所述的装置,其特征在于,所述数据恢复单元具体包括:
文件恢复子单元,用于当所述空闲表项的值大小不等于0x18且空闲表项内容包括有文件元信息时,根据文件结构信息解析并恢复被删除的文件,同时记录该文件的父文件夹标识符;
和/或,
文件夹恢复子单元,用于当所述空闲表项的值大小不等于0x18且空闲表项内容包括有文件夹元信息时,根据文件夹结构信息解析并恢复被删除的文件夹,同时记录该文件夹标识符及其父文件夹标识符。
CN201410421666.4A 2014-08-25 2014-08-25 弹性文件系统的数据恢复方法和装置 Active CN104199888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410421666.4A CN104199888B (zh) 2014-08-25 2014-08-25 弹性文件系统的数据恢复方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410421666.4A CN104199888B (zh) 2014-08-25 2014-08-25 弹性文件系统的数据恢复方法和装置

Publications (2)

Publication Number Publication Date
CN104199888A true CN104199888A (zh) 2014-12-10
CN104199888B CN104199888B (zh) 2017-08-01

Family

ID=52085181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410421666.4A Active CN104199888B (zh) 2014-08-25 2014-08-25 弹性文件系统的数据恢复方法和装置

Country Status (1)

Country Link
CN (1) CN104199888B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017071509A1 (zh) * 2015-10-26 2017-05-04 华为技术有限公司 文件系统目录树修复方法和装置
CN107707385A (zh) * 2017-09-18 2018-02-16 贵州白山云科技有限公司 一种数据上报方法及系统
CN108021472A (zh) * 2017-11-28 2018-05-11 厦门市美亚柏科信息股份有限公司 ReFS文件系统的格式化恢复方法及存储介质
CN108108394A (zh) * 2017-11-28 2018-06-01 厦门市美亚柏科信息股份有限公司 Apfs文件系统的压缩文件恢复方法及存储介质
CN110058969A (zh) * 2019-04-18 2019-07-26 腾讯科技(深圳)有限公司 一种数据恢复方法及装置
US10489240B2 (en) 2015-09-25 2019-11-26 Microsoft Technology Licensing, Llc Efficient detection of corrupt data
CN110704372A (zh) * 2019-09-27 2020-01-17 厦门市美亚柏科信息股份有限公司 数据恢复方法和装置
WO2020119143A1 (zh) * 2018-12-10 2020-06-18 厦门市美亚柏科信息股份有限公司 一种数据库删除记录的恢复方法及系统
CN112380174A (zh) * 2020-12-01 2021-02-19 厦门市美亚柏科信息股份有限公司 含删除文件的xfs文件系统解析方法、终端设备及存储介质
CN112463736A (zh) * 2020-12-11 2021-03-09 厦门市美亚柏科信息股份有限公司 一种用于apfs文件的恢复方法和系统
WO2021056798A1 (zh) * 2019-09-29 2021-04-01 苏州浪潮智能科技有限公司 一种元数据修复方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065667A1 (en) * 2006-09-11 2008-03-13 Hopkins Donald F Transaction oriented resilient file system
CN101777016A (zh) * 2010-02-08 2010-07-14 北京同有飞骥科技有限公司 一种连续数据保护系统的快照存储和数据恢复方法
CN103092726A (zh) * 2013-01-16 2013-05-08 厦门市美亚柏科信息股份有限公司 注册表删除数据的恢复方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065667A1 (en) * 2006-09-11 2008-03-13 Hopkins Donald F Transaction oriented resilient file system
CN101777016A (zh) * 2010-02-08 2010-07-14 北京同有飞骥科技有限公司 一种连续数据保护系统的快照存储和数据恢复方法
CN103092726A (zh) * 2013-01-16 2013-05-08 厦门市美亚柏科信息股份有限公司 注册表删除数据的恢复方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙巧燕,孙巧榆: ""利用日志文件恢复损坏的数据库"", 《电脑学习》 *
沙晶,钱伟: ""微软复合文档结构分析及文件恢复"", 《中国司法鉴定》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489240B2 (en) 2015-09-25 2019-11-26 Microsoft Technology Licensing, Llc Efficient detection of corrupt data
US10817469B2 (en) 2015-10-26 2020-10-27 Huawei Technologies Co., Ltd. Method and apparatus for repairing file system directory tree
WO2017071509A1 (zh) * 2015-10-26 2017-05-04 华为技术有限公司 文件系统目录树修复方法和装置
CN107707385A (zh) * 2017-09-18 2018-02-16 贵州白山云科技有限公司 一种数据上报方法及系统
US11483383B2 (en) 2017-09-18 2022-10-25 Guizhou Baishancloud Technology Co., Ltd. Data reporting method and system
CN108021472A (zh) * 2017-11-28 2018-05-11 厦门市美亚柏科信息股份有限公司 ReFS文件系统的格式化恢复方法及存储介质
CN108108394A (zh) * 2017-11-28 2018-06-01 厦门市美亚柏科信息股份有限公司 Apfs文件系统的压缩文件恢复方法及存储介质
CN108108394B (zh) * 2017-11-28 2020-10-09 厦门市美亚柏科信息股份有限公司 Apfs文件系统的压缩文件恢复方法及存储介质
WO2020119143A1 (zh) * 2018-12-10 2020-06-18 厦门市美亚柏科信息股份有限公司 一种数据库删除记录的恢复方法及系统
CN110058969A (zh) * 2019-04-18 2019-07-26 腾讯科技(深圳)有限公司 一种数据恢复方法及装置
CN110058969B (zh) * 2019-04-18 2023-02-28 腾讯科技(深圳)有限公司 一种数据恢复方法及装置
CN110704372B (zh) * 2019-09-27 2022-05-20 厦门市美亚柏科信息股份有限公司 数据恢复方法和装置
CN110704372A (zh) * 2019-09-27 2020-01-17 厦门市美亚柏科信息股份有限公司 数据恢复方法和装置
WO2021056798A1 (zh) * 2019-09-29 2021-04-01 苏州浪潮智能科技有限公司 一种元数据修复方法、装置、设备及存储介质
CN112380174A (zh) * 2020-12-01 2021-02-19 厦门市美亚柏科信息股份有限公司 含删除文件的xfs文件系统解析方法、终端设备及存储介质
CN112380174B (zh) * 2020-12-01 2022-07-15 厦门市美亚柏科信息股份有限公司 含删除文件的xfs文件系统解析方法、终端设备及存储介质
CN112463736A (zh) * 2020-12-11 2021-03-09 厦门市美亚柏科信息股份有限公司 一种用于apfs文件的恢复方法和系统
CN112463736B (zh) * 2020-12-11 2022-05-20 厦门市美亚柏科信息股份有限公司 一种用于apfs文件的恢复方法和系统

Also Published As

Publication number Publication date
CN104199888B (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
CN104199888A (zh) 弹性文件系统的数据恢复方法和装置
US10146643B2 (en) Database recovery and index rebuilds
US8250033B1 (en) Replication of a data set using differential snapshots
TWI630494B (zh) 用於原子儲存作業之系統、裝置及方法
CN104714755B (zh) 一种快照管理方法及装置
CN104978151B (zh) 基于应用感知的重复数据删除存储系统中的数据重构方法
US8626717B2 (en) Database backup and restore with integrated index reorganization
JP5500309B2 (ja) ストレージ装置
WO2017041654A1 (zh) 用于分布式存储系统的写入数据、获取数据的方法和设备
CN102915278A (zh) 重复数据删除方法
CN107357920B (zh) 一种增量式的多副本数据同步方法及系统
WO2015034827A1 (en) Replication of snapshots and clones
CN107544873A (zh) 一种存放备份数据的备份系统和方法
CN104641365A (zh) 在文件存储系统中使用检查点管理去复制的系统和方法
CN102306168B (zh) 日志操作方法、装置及文件系统
JP2011086241A (ja) データベースの複製を生成する装置及び方法
US10496612B2 (en) Method for reliable and efficient filesystem metadata conversion
CN104965835B (zh) 一种分布式文件系统的文件读写方法及装置
US11663160B2 (en) Recovering the metadata of data backed up in cloud object storage
CN111125298A (zh) 重建ntfs文件目录树的方法、设备及存储介质
CN111176901B (zh) 一种hdfs删除文件恢复方法、终端设备及存储介质
CN113419897A (zh) 一种文件处理方法、装置、电子设备及其存储介质
KR101670473B1 (ko) MySQL InnoDB 데이터베이스에서 삭제된 데이터를 복원하는 방법
CN103177112A (zh) 一种备份文件浏览系统
US20190108104A1 (en) System and method for managing storage transaction requests

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant