[发明专利]恢复ext文件系统中已删除文件的方法及装置有效
申请号: | 201510543386.5 | 申请日: | 2015-08-28 |
公开(公告)号: | CN105204959B | 公开(公告)日: | 2018-11-30 |
发明(设计)人: | 李明浩;刘洪杰;朱瑞贤 | 申请(专利权)人: | 小米科技有限责任公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F17/30 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 100085 北京市海淀区清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 恢复 ext 文件系统 删除 文件 方法 装置 | ||
本公开提供一种恢复ext文件系统中已删除文件的方法及装置,其中,上述方法包括:确定已删除文件所在的目标分区;读取所述目标分区的超级块,获取日志文件记载的日志信息;从所述日志信息中获取已删除文件的文件名对应的目标索引节点号;根据所述目标索引节点号获取已删除文件的数据,恢复所述已删除文件。本公开中,在文件被删除后,操作系统未对已删除文件所在目标分区上的其他文件进行过长时间IO操作的情况下,利用ext3/ext4文件系统属于日志型文件系统的特性,通过读取目标分区超级块中的日志文件记录的已删除文件的inode信息,根据目标分区的数据结构,快速恢复已删除文件,减少数据损失,提高系统稳定性,提升用户体验。
技术领域
本公开涉及计算机通信技术领域,尤其涉及一种恢复ext文件系统中已删除文件的方法及装置。
背景技术
Android(安卓)系统,是一个以Linux为基础的开源移动设备操作系统,主要用于智能手机、平板电脑等智能设备中。Android系统中的分区可以采用ext3/ext4版本的ext文件系统进行文件管理。
在Android系统中,有些软件会产生一些应用数据,长时间使用后这些无用数据和垃圾会导致设备性能下降。用户可能会使用一些清理文件的Android安装包(AndroidPackage,APK)或者是系统自带的清除App数据的操作来执行文件系统中删除文件的操作,以提高设备性能。然而,在实际操作中,用户可能会误删除联系人或短信等信息,并且在重启了机器之后才发现误删除了重要信息,此种情况下,想要采用相关技术找回之前的误删除文件的数据会非常困难。
发明内容
有鉴于此,本公开提供一种恢复ext文件系统中已删除文件的方法及装置,以解决相关技术中用户终端无法快速恢复误删除文件数据的问题。
根据本公开实施例的第一方面,提供了一种恢复ext文件系统中已删除文件的方法,所述方法包括:
确定已删除文件所在的目标分区;
读取所述目标分区的超级块,获取日志文件记载的日志信息;
从所述日志信息中获取已删除文件的文件名对应的目标索引节点号;
根据所述目标索引节点号获取已删除文件的数据,恢复所述已删除文件。
可选地,所述读取所述目标分区的超级块,获取日志文件记载的日志信息,包括:
读取所述目标分区的超级块,获得日志文件对应的第一索引节点号;
根据所述第一索引节点号,获取存储日志文件元数据的第一索引节点;
读取所述第一索引节点的信息,获取所述日志文件所占用数据块的第一数据块标识;
读取所述第一数据块标识对应数据块中的数据,获取日志文件。
可选地,所述从日志信息中获取已删除文件的文件名对应的目标索引节点号,包括:
遍历所述日志文件中的目录信息,所述目录信息包括文件名与索引节点号的对应关系;
根据已删除文件的文件名,从所述目录信息中匹配对应的目标索引节点号。
可选地,所述根据目标索引节点号获取已删除文件的数据,恢复所述已删除文件,包括:
从所述目标索引节点号对应的索引节点信息中,获取所述已删除文件所占用数据块的目标数据块标识;
依据所述目标数据块标识读取目标数据块的数据;
保存所述目标数据块的数据,恢复所述已删除文件。
可选地,在所述读取所述目标分区的超级块,获取日志文件之前,还包括:
卸载所述目标分区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于小米科技有限责任公司,未经小米科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510543386.5/2.html,转载请声明来源钻瓜专利网。