[发明专利]一种HFS+文件系统数据恢复方法及装置有效
申请号: | 201110293363.5 | 申请日: | 2011-09-29 |
公开(公告)号: | CN102289526A | 公开(公告)日: | 2011-12-21 |
发明(设计)人: | 范佳填 | 申请(专利权)人: | 深圳市万兴软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F11/14 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 郭伟刚 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 hfs 文件系统 数据 恢复 方法 装置 | ||
技术领域
本发明涉及计算机应用技术领域,更具体地说,涉及一种HFS+文件系统数据恢复方法及装置。
背景技术
分层文件系统(Hierarchical File System,HFS)是苹果机的Mac操作系统所使用的一种文件系统,Mac操作系统早期使用HFS文件系统,HFS+是HFS的升级版本,在HFS的基础上做了一些重要的改进,HFS+卷的组织结构如图1所示。
其中包括:保留区域(Reservide),该区域数据为全0;卷头(Volume Header),每个HFS+卷都必须有一个卷头,卷头内存储着各种与卷相关的信息,如卷建立的日期和时间,卷内的文件数量等,还有卷的其他重要结构的存储位置;备份卷头(Alternate Volume Header),卷头的备份;分配文件(Alternate File),用来描述一个分配快是被占用还是空闲;域溢出文件(Extents Overflow File),多于8个域的文件信息,超出的部分保存在这里;目录文件(Catalog File),用来描述卷内的文件和目录层次结构,它存储着卷内所有文件和目录的重要信息,目录文件的B-树(B-tree)结构可以快速而有效地在一个层次很多的大目录中寻找目标文件;属性文件(Attributes File),用来保存文件或目录的附加信息;启动文件(Startup File)。
苹果机用B-tree结构来对数据进行管理,用它作为索引,通过这个索引就可以找到我们需要的文件。B-tree是一种多路搜索树,它必须满足:1、定义任意非叶子节点最多只有M个儿子,且M>2;2、根节点的儿子数为[2,M];3、除根节点以外的非叶子节点的儿子数为[M/2,M];4、每个节点存放至少M/2-1(取上整)和至多M-1个关键字(至少2个关键字);5、非叶子节点的关键字个数=指向儿子的指针个数-1;6、非叶子节点的关键字:K[1],K[2],...K[M-1];且K[i]<K[i+1];7、非叶子节点的指针:P[1],P[2],...,P[M];其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于K[M-1]的子树,其他P[i]指向关键字属于(K[i-1],K[i])的子树;8、所有叶子节点位于同一层。
B-tree文件被分割成固定大小的“节点(Node)”每个节点中都包含相应的档案项。每个档案项由一个关键字(key)和一些数据组成。HFS+文件中,共有4种节点:头节点,图节点,索引节点和叶节点。其中,索引节点和叶节点如图2所示,索引节点用于索引其他的索引节点,或者索引叶节点,叶节点用于查找数据,节点的每个记录项的内容格式是什么,要看这个节点是子节点还是叶子节点,且是属于目录文件还是域溢出文件等等。
B-tree文件中的头节点是B-tree的第一个节点,每棵B-tree有一个唯一的头节点,结构如图3所示,它包含B-tree中如何找到其他节点的信息,其中包括:节点描述(Node Descriptor)、B-树头记录(B-tree Header Record)、用户数据记录(User Data Record)、B-树地图记录(B-tree Map Record)、偏移至空余空间(Offset to Free Space)、偏移至记录2(Offset to Record 2)、偏移至记录1(Offset to Record 1)、偏移至记录0(Offset to Record 0)。
现有的苹果机系统中,当本来是HFS+文件系统分区被重新分区,或被重新格式化,或者分区表损坏无法识别分区,或者无法识别是什么格式的文件系统时,采用目前的各种数据恢复软件均无法恢复之前HFS+文件系统中的文件,因此会导致用户丢失重要文件信息。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种HFS+文件系统数据恢复方法及装置,采用该方法及装置可恢复存储介质中的HFS+格式文件。
本发明解决其技术问题所采用的技术方案是:
构造一种HFS+文件系统数据恢复方法,其中,包括以下步骤:
A、以扇区为单位对存储介质中的文件进行扫描;
B、从被扫描文件中查找卷头,如果查找到所述卷头,执行步骤C,否则执行步骤A,扫描下一扇区;
C、根据头节点的节点描述符中的各字段和头档案中的各字段,从所查找到的所述卷头所对应的目录文件中查找头节点,如果查找到头节点,则执行步骤F,否则执行步骤D;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市万兴软件有限公司,未经深圳市万兴软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110293363.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置