弹性文件系统的数据恢复方法和装置制造方法及图纸

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

【技术实现步骤摘要】
弹性文件系统的数据恢复方法和装置
本专利技术涉及数据存储
,特别地,涉及一种弹性文件系统的数据恢复方法和装置。
技术介绍
随着尖端技术的不断发展,传统的文件系统(如微软的NTFS)架构已经无法满足现有的需求,弹性文件系统(REFS,ResilientFileSystem)作为微软最新推出的文件系统,凭借其高度的可靠性和巨大的容量性开始被逐步的应用到微软新版的操作系统上。对于系统使用过程中因误操作或者恶意操作而导致的数据丢失问题,传统的数据恢复工具无法满足要求,以R-Studio为例,只能为FAT、NTFS、NTFS5(Windows2000系统)和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系统每个块由一个块头和一系列的表组成。其中,表的结构由四部分本文档来自技高网...
弹性文件系统的数据恢复方法和装置

【技术保护点】
一种弹性文件系统的数据恢复方法,其特征在于,包括:读取分区偏移元数据块信息,获得主偏移元数据块信息;根据主偏移元数据块信息,获得B+树的根节点;从B+树的根节点开始遍历B+树,获得每个节点数据块中的空闲表项;根据每个节点数据块中空闲表项包括的内容恢复被删除的文件或文件夹。

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

【专利技术属性】
技术研发人员:沈长达钱镜洁林艺滨
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1