CN105095025B - 恢复ext文件系统中已删除文件的方法及装置 - Google Patents
恢复ext文件系统中已删除文件的方法及装置 Download PDFInfo
- Publication number
- CN105095025B CN105095025B CN201510543388.4A CN201510543388A CN105095025B CN 105095025 B CN105095025 B CN 105095025B CN 201510543388 A CN201510543388 A CN 201510543388A CN 105095025 B CN105095025 B CN 105095025B
- Authority
- CN
- China
- Prior art keywords
- inode
- target
- deleted document
- identified
- deleted
- 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
Links
Abstract
本公开提供一种恢复ext文件系统中已删除文件的方法及装置,其中,上述方法包括:获取已删除文件所在的目标分区;通过所述目标分区中标识为2的索引节点inode,查找所述已删除文件对应的目标索引节点inode;从所述目标inode中,获取所述已删除文件所占用数据块的目标数据块标识;依据所述目标数据块标识读取目标数据块的数据;保存所述目标数据块的数据,恢复所述已删除文件。采用本公开提供的恢复ext文件系统中已删除文件的方法,利用目标分区中标识为2的索引节点inode可以快速查找到已删除文件对应的inode标识,从而快速恢复误删除文件,帮助用户减少数据损失,提高系统稳定性,提升用户体验。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种恢复ext文件系统中已删除文件的方法及装置。
背景技术
Android(安卓)系统,是一个以Linux为基础的开源移动设备操作系统,主要用于智能手机和平板电脑。Android系统中的分区一般采用ext2/ext3/ext4等多个版本的ext文件系统。在Android系统中,用户可能会使用一些清理文件的Android安装包(AndroidPackage,APK)或者是系统自带的清除App数据的操作来执行文件系统中删除文件的操作,以提高设备性能。
但是如果用户无意做了清除联系人或短信等操作,要想找回之前的误删除数据,采用相关技术恢复上述误删除文件非常困难。
发明内容
有鉴于此,本公开提供一种恢复ext文件系统中已删除文件的方法及装置,以解决相关技术中用户终端无法快速恢复误删除文件数据的问题。
根据本公开实施例的第一方面,提供了一种恢复ext文件系统中已删除文件的方法,所述方法包括:
获取已删除文件所在的目标分区;
通过所述目标分区中标识为2的索引节点inode,查找所述已删除文件对应的目标索引节点inode;
从所述目标inode中,获取所述已删除文件所占用数据块的目标数据块标识;
依据所述目标数据块标识读取目标数据块的数据;
保存所述目标数据块的数据,恢复所述已删除文件。
可选地,在所述通过标识为2的inode,查找所述已删除文件对应的目标inode之前,还包括:
卸载所述目标分区。
可选地,在所述通过标识为2的inode,查找所述已删除文件对应的目标inode之前,还包括:
备份所述目标分区。
可选地,通过标识为2的inode,在所述目标分区中查找所述已删除文件对应的目标inode,包括:
获取标识为2的inode,所述标识为2的inode中包括:所述目标分区中各个文件与inode标识的对应关系;
依据已删除文件的文件名,从所述标识为2的inode中获取已删除文件的文件名对应的目标inode标识;
通过所述目标inode标识获取所述目标inode。
可选地,通过标识为2的inode,在所述目标分区中查找所述已删除文件对应的目标inode,包括:
获取标识为2的inode,所述标识为2的inode中包括:所述目标分区下各个文件名、inode标识、当前状态信息的对应关系;
依据所述已删除文件的文件名,从所述标识为2的inode查找已删除文件的文件名对应的第一inode标识;
依据所述第一inode标识,判断对应的当前状态信息是否为已删除状态;
若所述第一inode标识对应的当前状态信息为已删除状态,则确定所述第一inode标识为所述目标inode标识;
若所述第一inode标识对应的当前状态信息为未删除状态,则结束当前任务和/或发出错误提示信息。
可选地,所述获取已删除文件所在的目标分区,包括:
根据所述已删除文件的根路径,由文件挂载信息中得到与所述根路径对应的分区,为所述已删除文件所在的目标分区。
可选地,在所述获取已删除文件所在的目标分区之前,还包括:
接收恢复已删除文件的操作指令。
根据本公开实施例的第二方面,提供了一种恢复ext文件系统中已删除文件的装置,所述装置包括:
分区获取模块,用于获取已删除文件所在的目标分区;
inode查找模块,用于通过所述目标分区中标识为2的索引节点inode,查找所述已删除文件对应的目标索引节点inode;
数据块标识查找模块,用于从所述目标inode中,获取所述已删除文件所占用数据块的目标数据块标识;
数据读取模块,用于依据所述目标数据块标识读取目标数据块的数据;
恢复模块,用于保存所述目标数据块的数据,恢复所述已删除文件。
可选的,所述装置还包括:
卸载模块,用于卸载所述目标分区。
可选的,所述装置还包括:
备份模块,用于备份所述目标分区。
可选的,所述inode查找模块包括:
第一inode获取子模块,用于获取标识为2的inode,所述标识为2的inode中包括:所述目标分区中各个文件与inode标识的对应关系;
inode标识获取子模块,用于依据已删除文件的文件名,从所述标识为2的inode中获取所述已删除文件的文件名对应的目标inode标识;
第二inode获取子模块,通过所述目标inode标识获取所述目标inode。
可选的,所述inode查找模块包括:
第三inode获取子模块,用于获取标识为2的inode,所述标识为2的inode中包括:所述目标分区下各个文件名、inode标识、当前状态信息的对应关系;
第一inode标识获取子模块,用于依据所述已删除文件的文件名,从所述标识为2的inode查找所述已删除文件的文件名对应的第一inode标识;
判断子模块,用于依据所述第一inode标识,判断对应的所述当前状态信息是否为已删除状态;
目标inode标识确定子模块,用于在所述第一inode标识对应的当前状态信息为已删除状态的情况下,确定所述第一inode标识为所述目标inode标识;
结束子模块,用于在所述第一inode标识对应的当前状态信息为未删除状态的情况下,结束当前任务和/或发出错误提示信息。
可选的,所述分区获取模块用于根据所述已删除文件的根路径,由文件挂载信息中得到与所述根路径对应的分区,为所述已删除文件所在的目标分区。
可选的,所述装置还包括:
指令接收模块,用于接收恢复已删除文件的操作指令。
根据本公开实施例的第三方面,提供了一种用户终端,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
获取已删除文件所在的目标分区;
通过所述目标分区中标识为2的索引节点inode,查找所述已删除文件对应的目标索引节点inode;
从所述目标inode中,获取所述已删除文件所占用数据块的目标数据块标识;
依据所述目标数据块标识读取目标数据块的数据;
保存所述目标数据块的数据,恢复所述已删除文件。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例中,当用户误删除文件后要求恢复误删除文件时,利用目标分区中标识为2的inode包含的文件名与inode标识的对应关系,获取已删除文件对应inode的标识,之后根据上述inode的标识找到对应的目标inode,从目标inode中查找已删除文件所占用数据块的目标数据块标识,最后从目标数据块标识对应的数据块中读取并保存数据,恢复已删除文件。可见,采用本公开提供的恢复ext文件系统中已删除文件的方法,利用目标分区中标识为2的索引节点inode可以快速查找到已删除文件对应的inode标识,从而快速恢复误删除文件,帮助用户减少数据损失,提高系统稳定性,提升用户体验。
本公开中,在确定目标分区之后卸载目标分区,使文件系统无法再对目标分区中的文件执行任何操作,可以防止后续对目标分区中文件的操作造成已删除文件数据被损坏比如数据被覆盖导致永久消失,帮助用户减少数据损失,提高系统稳定性。
本公开中,对目标分区进行备份,可以防止后续在目标分区中读取inode节点信息时意外造成目标分区数据的破坏,减少用户的数据损失,进一步提高系统稳定性。
本公开中,增加了根据标识为2的inode中包含的文件名对应的当前状态信息,进一步确定用户输入的要求恢复文件的文件名是否正确的步骤,如果用户输入的文件名不正确可以及时发出错误提示信息,以便用户输入正确的已删除文件的文件名,提升了用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是相关技术根据一示例性实施例示出的文件数据定位过程的示意图;
图2是本公开示出的ext文件系统的分区布局示意图;
图3是本公开根据一示例性实施例示出的一种恢复ext文件系统中已删除文件的方法的流程图;
图4是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的方法的流程图;
图5是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的方法的流程图;
图6是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的方法的流程图;
图7是本公开根据一示例性实施例示出的一种恢复ext文件系统中已删除文件的装置框图;
图8是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的装置框图;
图9是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的装置框图;
图10是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的装置框图;
图11是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的装置框图;
图12是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的装置框图;
图13是本公开根据一示例性实施例示出的一种用于恢复ext文件系统中已删除文件的装置的一结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在以linux系统为基础的Android系统中,数据是以数据块的形式保存在磁盘或分区上,操作系统通过文件系统来管理这些数据。也就是说,文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即文件系统是操作系统在磁盘或分区上组织文件的方法。ext2/ext3/ext4等版本的ext文件系统是Android系统中应用最为广泛的文件系统。
Android手机或平板电脑中可以包括多个分区,如用于存放用户数据比如联系人、短信、设置、安装的应用程序的userdata分区;用于存放底层应用、硬件驱动等的system分区等。各个分区都可以通过一个文件系统来管理该分区中的文件,例如,本公开中使用ext文件系统进行文件管理。
在实际使用中,用户可能会无意间删除了自己本不想删除的文件,例如,用户误删除了自己Android手机中的联系人信息、短信等,可以采用本公开提供的恢复ext文件系统中已删除文件的方法恢复上述误删除信息。
在介绍本公开实施例之前,首先了解文件在Android系统中是如何存储和定位的。
参照图1是相关技术根据一示例性实施例示出的文件数据定位过程的示意图;在操作系统中,文件系统是采用一种层次化的形式表示的,所有的文件和子目录都是通过查找其父目录项来定位的,在目录文件directory的目录项中通过匹配文件名可以找到对应的索引节点标识,通过查找索引节点表inode table获取索引节点标识对应的inode,最后根据inode找到文件数据所在的block,就可以找到文件在分区中的位置。
文件数据的定位与文件系统所管理分区的布局密切相关。参照图2示出的ext文件系统的分区布局示意图;ext文件系统管理的分区被划分成一个个大小相同的数据块block,每个数据块的大小可以是1024、2048或4096个字节。其中,第一个数据块称为引导块,一般保留做引导扇区使用。从第二个数据块开始,ext文件系统将剩余的数据块划分到不同的块组中。最后一个块组除外,其余每个块组大小相同。文件系统会试图将相同文件的数据块保存在同一个块组中,并且尽量保证文件在分区中的连续性,从而提高文件读写时的性能。
每个块组都包含一些重要的元数据信息,如图2所示,以编号为0的块组为例,块组0可以包含以下内容:超级块superblock、组描述符表group descriptor table、数据块位图block bitmap、索引节点位图inode bitmap、索引节点表inode table、数据块datablocks。其中,超级块用于存储文件系统全局的配置参数和动态信息,上述配置参数可以包括文件系统中的每个数据块(block)的大小,总的块数和inode数等参数;上述动态信息,比如可以是当前空闲块数和inode数。数据块位图,用于标识该块组中各个数据块的占用情况,即数据块是否空闲。索引节点位图,用于标识该块组中各个索引节点的占用情况,即索引节点是否空闲。索引节点表,用于存放所有索引节点,例如,图2所示的n个inode。数据块,用于实际存储文件数据,例如,图2所示的n个block。
操作系统加载一个文件的过程为:假设一个文件名对应的inode标识为3,则可以在inode表中查找到inode-3的信息,inode中包括:文件占用数据块的数据块标识,假设inode-3中记载了文件占用数据块的标识为2、3,则操作系统可以根据上述数据块标识从分区的数据块中查找并读取block-2、block-3的数据,加载到系统内存中,如图2所示。
本公开实施例的应用场景是:文件在ext文件系统中已删除并且没有任何进程打开该文件,而且用户在删除文件之后没有重启机器,但对文件系统缓存有过刷新操作。也就是说上述删除文件操作为普通的删除文件操作。在普通的删除文件操作中,操作系统并不会逐一清除保存该文件数据块的内容,而只会释放该文件所占用的索引节点和数据块,即在索引节点位图中和数据块位图中将相应的标识位设置为空闲状态。因此,在上述情况下,可以通过找到文件对应的索引节点标识,由所述索引节点标识查找到相应的数据块,从分区中将已删除的文件恢复。
图3是本公开根据一示例性实施例示出的恢复ext文件系统中已删除文件的方法的流程图,可以包括以下步骤:
在步骤11中,获取已删除文件所在的目标分区;
在步骤12中,通过所述目标分区中标识为2的索引节点inode,查找所述已删除文件对应的目标索引节点inode;
对于ext3/ext4系列的文件系统,一个分区中标识为2的inode包含了该分区的目录文件directory。目录文件是一系列目录项dirent的列表。每个目录项至少包括两部分:所包含文件的文件名,以及该文件名对应的inode标识。在获知已删除文件的文件名的情况下,可以通过已删除文件的文件名在标识为2的inode中查到已删除文件对应inode的标识。之后根据已删除文件对应inode的标识在索引节点表中找到已删除文件对应的目标inode。目标inode中存储了上述已删除文件的元信息,比如,文件的字节数、文件的创建时间、文件占用数据块的标识等信息。
在步骤13中,从所述目标inode中,获取所述已删除文件所占用数据块的目标数据块标识;
在步骤14中,依据所述目标数据块标识读取目标数据块的数据;
在步骤15中,保存所述目标数据块的数据,恢复所述已删除文件。
本公开实施例中,当用户误删除文件后要求恢复误删除文件时,利用目标分区中标识为2的inode包含的文件名与inode标识的对应关系,获取已删除文件对应inode的标识,之后根据上述inode的标识找到对应的目标inode,从目标inode中查找已删除文件所占用数据块的目标数据块标识,最后从目标数据块标识对应的数据块中读取并保存数据,恢复已删除文件。可见,采用本公开提供的恢复ext文件系统中已删除文件的方法,利用目标分区中标识为2的索引节点inode可以快速查找到已删除文件对应的inode标识,从而快速恢复误删除文件,帮助用户减少数据损失,提高系统稳定性,提升用户体验。
图4是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的方法的流程图,在图3所示实施例的基础上,在步骤11和步骤12之间,还可以包括以下步骤:
在步骤101中,卸载目标分区;
假设步骤11确定已删除文件所在的数据分区为userdata分区,一般从用户发现误删除文件到请求恢复已删除文件之间的时间间隔很短,如果此间用户打开了userdata分区中的文件,可能会导致已删除文件的文件数据被损坏。因此,本公开实施中,在确定目标分区之后卸载目标分区,使文件系统无法再对目标分区中的文件执行任何操作,可以防止后续对目标分区中文件的操作造成已删除文件数据被损坏比如数据被覆盖导致永久消失,帮助用户减少数据损失,提高系统稳定性。
进一步地,还可以包括:
在步骤102中,备份所述目标分区。对目标分区进行备份,可以防止后续步骤13在目标分区中读取inode节点信息时意外造成目标分区数据的破坏,进一步提高系统稳定性。
在本公开的一实施例中,上述步骤11可以为:根据所述已删除文件的根路径,在文件挂载信息中查找到与所述根路径对应的分区,为所述已删除文件所在的目标分区。具体过程如下:
每一个文件都有其对应的路径,假设本实施例中误删除文件的路径为:/data/local/tmp/mytest.txt,其根路径为/data。
根据上述根路径,读取文件挂载信息/proc/mounts文件(Proc/mounts中记录了当前系统所安装的文件系统信息),文件挂载信息中记录了根路径与分区设备的对应关系,如下:
/dev/block/platform/msm_sdcc.1/by-name/userdata/data ext4rw,seclabel,nosuid,nodev,relatime,discard,noauto_da_alloc,data=ordered 00
可知,与根路径/data对应的目标分区就是/dev/block/platform/msm_sdcc.1/by-name/userdata。
图5是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的方法的流程图,在图3所示实施例的基础上,步骤12可以包括以下步骤:
在步骤121中,获取标识为2的inode,所述标识为2的inode中包括:所述目标分区中各个文件与inode标识的对应关系;
在步骤122中,依据所述已删除文件的文件名,从所述标识为2的inode中获取所述已删除文件的文件名对应的目标inode标识;
比如,标识为2的inode中包含的一个目录项如表一所示:
表一
从表一可知,contacts2.db是误删除文件的文件名,对应的目标inode的标识为1742。
在步骤123中,通过所述目标inode标识获取所述目标inode。
如上述图2所示,索引节点表中存储了所有的inode,根据上述inode标识1742,在索引节点表中找到目标inode,即inode-1742。Inode-1742中包含了已删除文件contacts2.db的文件数据占用的数据块的标识,即目标数据块标识。
在后续步骤中,根据目标inode-1742中包括的目标数据块标识从图2所示的数据块中读取对应标识的目标数据块的数据并保存,恢复已删除文件contacts2.db的数据。
图6是本公开根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的方法的流程图,在图3所示实施例的基础上,步骤12可以包括以下步骤:
在步骤124中,获取标识为2的inode,所述标识为2的inode中包括:所述目标分区下各个文件名、inode标识、当前状态信息的对应关系;
比如,标识为2的inode中包含的一个目录项如以下表二所示:
表二
在步骤125中,依据所述已删除文件的文件名,从所述标识为2的inode中查找所述已删除文件的文件名对应的第一inode标识;
比如,通过查找表二可知,文件名contacts2.db对应的inode标识为1742。本实施例中,1742即为第一inode标识。
在步骤126中,依据所述第一inode标识,判断对应的当前状态信息是否为已删除状态;若是,执行步骤127;若否,执行步骤128;
如上,判断inode标识1742对应的当前状态信息,从上述表二可知,1742对应的当前状态信息为“deleted”,即表明名称为contacts2.db的文件当前处于已删除状态。
在步骤127中,确定所述第一inode标识为所述目标inode标识;
即,若步骤126的判断结果为:所述第一inode标识对应的当前状态信息为已删除状态,表明上述文件名对应的文件确实处于删除状态,则确定上述第一inode标识为所述目标inode标识。
在步骤128中,结束当前任务和/或发出错误提示信息。
即,若步骤126的判断结果为:所述第一inode标识对应的当前状态信息为未删除状态,表明上述文件名对应的文件没有被删除,说明用户输入的要求恢复文件的文件名可能是错误的,操作系统可以结束当前任务、或者发出错误提示信息,或者在结束任务的同时发出错误提示信息。
本公开实施例中,增加了根据标识为2的inode中包含的文件名对应的当前状态信息,进一步确定用户输入的要求恢复文件的文件名是否正确的步骤,如果用户输入的文件名不正确可以及时发出错误提示信息,以便用户输入正确的已删除文件的文件名,提升了用户体验。
另外,在步骤11获取已删除文件所在的目标分区之前,还可以接收恢复已删除文件的操作指令,所述操作指令可以包括:已删除文件的文件名。例如,用户可能在自己的Android手机中删除了多个文件,本公开在实现时可以提供为一个恢复文件工具,该工具可以为用户提供一个删除文件列表,以供用户自己选择要恢复哪个文件。当用户选择了待恢复的文件时,相当于接收到了恢复该文件的操作指令。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员用该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
与前述应用功能实现方法实施例相对应,本公开还提供了应用功能实现装置及相应的终端的实施例。
图7是本公开根据一示例性实施例示出的一种恢复ext文件系统中已删除文件的装置框图,该装置包括:
分区获取模块21,被配置为获取已删除文件所在的目标分区;
在本公开的另一实施例中,分区获取模块21可以被配置为根据所述已删除文件的根路径,由文件挂载信息中得到与所述根路径对应的分区,为所述已删除文件所在的目标分区。
inode查找模块22,被配置为通过所述目标分区中标识为2的索引节点inode,查找所述已删除文件对应的目标索引节点inode;
数据块标识查找模块23,被配置为从所述目标inode中,获取所述已删除文件所占用数据块的目标数据块标识;
数据读取模块24,被配置为依据所述目标数据块标识读取目标数据块的数据;
恢复模块25,被配置为保存所述目标数据块的数据,恢复所述已删除文件。
图8是根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的装置框图,在图7所述装置实施例的基础上,该装置还包括:
卸载模块26,被配置为卸载所述目标分区。
图9是根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的装置框图,在图8所述装置实施例的基础上,该装置还包括:
备份模块27,被配置为备份所述目标分区。
图10是根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的装置框图,在图7所述装置实施例的基础上,inode查找模块22可以包括:
第一inode获取子模块221,被配置为获取标识为2的inode,所述标识为2的inode中包括:所述目标分区中各个文件与inode标识的对应关系;
inode标识获取子模块222,被配置为依据已删除文件的文件名,从所述标识为2的inode中获取所述已删除文件的文件名对应的目标inode标识;
第二inode获取子模块223,通过所述目标inode标识获取所述目标inode。
图11是根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的装置框图,在图7所述装置实施例的基础上,inode查找模块22可以包括:
第三inode获取子模块224,被配置为获取标识为2的inode,所述标识为2的inode中包括:所述目标分区下各个文件名、inode标识、当前状态信息的对应关系;
第一inode标识获取子模块225,被配置为依据所述已删除文件的文件名,从所述标识为2的inode查找所述已删除文件的文件名对应的第一inode标识;
判断子模块226,被配置为依据所述第一inode标识,判断对应的所述当前状态信息是否为已删除状态;
目标inode标识确定子模块227,被配置为在所述第一inode标识对应的当前状态信息为已删除状态的情况下,确定所述第一inode标识为所述目标inode标识;
结束子模块228,被配置为在所述第一inode标识对应的当前状态信息为未删除状态的情况下,结束当前任务和/或发出错误提示信息。
图12是根据一示例性实施例示出的另一种恢复ext文件系统中已删除文件的装置框图,在图7所述装置实施例的基础,本公开装置还可以包括:
指令接收模块28,被配置为接收恢复已删除文件的操作指令。
相应的,本公开实施例提供了一种用户终端,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
获取已删除文件所在的目标分区;
通过所述目标分区中标识为2的索引节点inode,查找所述已删除文件对应的目标索引节点inode;
从所述目标inode中,获取所述已删除文件所占用数据块的目标数据块标识;
依据所述目标数据块标识读取目标数据块的数据;
保存所述目标数据块的数据,恢复所述已删除文件。
图13是根据一示例性实施例示出的一种用于恢复ext文件系统中已删除文件的装置1300的一结构示意图。例如,装置1300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理,可穿戴设备如智能手表、智能眼镜、智能手环、智能跑鞋等。
参照图13,装置1300可以包括以下一个或多个组件:处理组件1302,存储器1304,电源组件1306,多媒体组件1308,音频组件1310,输入/输出(I/O)的接口1312,传感器组件1314,以及通信组件1316。
处理组件1302通常控制装置1300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件1302可以包括一个或多个处理器1320来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1302可以包括一个或多个模块,便于处理组件1302和其他组件之间的交互。例如,处理部件1302可以包括多媒体模块,以方便多媒体组件1308和处理组件1302之间的交互。
存储器1304被配置为存储各种类型的数据以支持在设备1300的操作。这些数据的示例包括用于在装置1300上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件1306为装置1300的各种组件提供电力。电力组件1306可以包括电源管理系统,一个或多个电源,及其他与为装置1300生成、管理和分配电力相关联的组件。
多媒体组件1308包括在所述装置1300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1308包括一个前置摄像头和/或后置摄像头。当设备1300处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1310被配置为输出和/或输入音频信号。例如,音频组件1310包括一个麦克风(MIC),当装置1300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1304或经由通信组件1316发送。在一些实施例中,音频组件1310还包括一个扬声器,用于输出音频信号。
I/O接口1312为处理组件1302和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1314包括一个或多个传感器,用于为装置1300提供各个方面的状态评估。例如,传感器组件1314可以检测到设备1300的打开/关闭状态,组件的相对定位,例如所述组件为装置1300的显示器和小键盘,传感器组件1314还可以检测装置1300或装置1300一个组件的位置改变,用户与装置1300接触的存在或不存在,装置1300方位或加速/减速和装置1300的温度变化。传感器组件1314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1314还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1316被配置为便于装置1300和其他设备之间有线或无线方式的通信。装置1300可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件1316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件1316还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置1300可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种恢复ext文件系统中已删除文件的方法,其特征在于,所述方法包括:
接收恢复已删除文件的操作指令,所述操作指令由预设恢复文件工具在用户触发下发出;
获取已删除文件所在的目标分区;
通过所述目标分区中标识为2的索引节点inode,查找所述已删除文件对应的目标索引节点inode;
从所述目标inode中,获取所述已删除文件所占用数据块的目标数据块标识;
依据所述目标数据块标识读取目标数据块的数据;
保存所述目标数据块的数据,恢复所述已删除文件。
2.根据权利要求1所述的方法,其特征在于,在所述通过标识为2的inode,查找所述已删除文件对应的目标inode之前,还包括:
卸载所述目标分区。
3.根据权利要求2所述的方法,其特征在于,在所述通过标识为2的inode,查找所述已删除文件对应的目标inode之前,还包括:
备份所述目标分区。
4.根据权利要求1所述的方法,其特征在于,通过标识为2的inode,在所述目标分区中查找所述已删除文件对应的目标inode,包括:
获取标识为2的inode,所述标识为2的inode中包括:所述目标分区中各个文件与inode标识的对应关系;
依据已删除文件的文件名,从所述标识为2的inode中获取已删除文件的文件名对应的目标inode标识;
通过所述目标inode标识获取所述目标inode。
5.根据权利要求1所述的方法,其特征在于,通过标识为2的inode,在所述目标分区中查找所述已删除文件对应的目标inode,包括:
获取标识为2的inode,所述标识为2的inode中包括:所述目标分区下各个文件名、inode标识、当前状态信息的对应关系;
依据所述已删除文件的文件名,从所述标识为2的inode查找已删除文件的文件名对应的第一inode标识;
依据所述第一inode标识,判断对应的当前状态信息是否为已删除状态;
若所述第一inode标识对应的当前状态信息为已删除状态,则确定所述第一inode标识为所述目标inode标识;
若所述第一inode标识对应的当前状态信息为未删除状态,则结束当前任务和/或发出错误提示信息。
6.根据权利要求1所述的方法,其特征在于,所述获取已删除文件所在的目标分区,包括:
根据所述已删除文件的根路径,由文件挂载信息中得到与所述根路径对应的分区,为所述已删除文件所在的目标分区。
7.一种恢复ext文件系统中已删除文件的装置,其特征在于,所述装置包括:
指令接收模块,用于接收恢复已删除文件的操作指令,所述操作指令由预设恢复文件工具在用户触发下发出;
分区获取模块,用于获取已删除文件所在的目标分区;
inode查找模块,用于通过所述目标分区中标识为2的索引节点inode,查找所述已删除文件对应的目标索引节点inode;
数据块标识查找模块,用于从所述目标inode中,获取所述已删除文件所占用数据块的目标数据块标识;
数据读取模块,用于依据所述目标数据块标识读取目标数据块的数据;
恢复模块,用于保存所述目标数据块的数据,恢复所述已删除文件。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
卸载模块,用于卸载所述目标分区。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
备份模块,用于备份所述目标分区。
10.根据权利要求7所述的装置,其特征在于,所述inode查找模块包括:
第一inode获取子模块,用于获取标识为2的inode,所述标识为2的inode中包括:所述目标分区中各个文件与inode标识的对应关系;
inode标识获取子模块,用于依据已删除文件的文件名,从所述标识为2的inode中获取所述已删除文件的文件名对应的目标inode标识;
第二inode获取子模块,通过所述目标inode标识获取所述目标inode。
11.根据权利要求7所述的装置,其特征在于,所述inode查找模块包括:
第三inode获取子模块,用于获取标识为2的inode,所述标识为2的inode中包括:所述目标分区下各个文件名、inode标识、当前状态信息的对应关系;
第一inode标识获取子模块,用于依据所述已删除文件的文件名,从所述标识为2的inode查找所述已删除文件的文件名对应的第一inode标识;
判断子模块,用于依据所述第一inode标识,判断对应的所述当前状态信息是否为已删除状态;
目标inode标识确定子模块,用于在所述第一inode标识对应的当前状态信息为已删除状态的情况下,确定所述第一inode标识为所述目标inode标识;
结束子模块,用于在所述第一inode标识对应的当前状态信息为未删除状态的情况下,结束当前任务和/或发出错误提示信息。
12.根据权利要求7所述的装置,其特征在于,所述分区获取模块用于根据所述已删除文件的根路径,由文件挂载信息中得到与所述根路径对应的分区,为所述已删除文件所在的目标分区。
13.一种用户终端,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
接收恢复已删除文件的操作指令,所述操作指令由预设恢复文件工具在用户触发下发出;
获取已删除文件所在的目标分区;
通过所述目标分区中标识为2的索引节点inode,查找所述已删除文件对应的目标索引节点inode;
从所述目标inode中,获取所述已删除文件所占用数据块的目标数据块标识;
依据所述目标数据块标识读取目标数据块的数据;
保存所述目标数据块的数据,恢复所述已删除文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510543388.4A CN105095025B (zh) | 2015-08-28 | 2015-08-28 | 恢复ext文件系统中已删除文件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510543388.4A CN105095025B (zh) | 2015-08-28 | 2015-08-28 | 恢复ext文件系统中已删除文件的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105095025A CN105095025A (zh) | 2015-11-25 |
CN105095025B true CN105095025B (zh) | 2018-11-02 |
Family
ID=54575523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510543388.4A Active CN105095025B (zh) | 2015-08-28 | 2015-08-28 | 恢复ext文件系统中已删除文件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095025B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783776B (zh) * | 2016-08-26 | 2021-10-15 | 斑马智行网络(香港)有限公司 | 固件升级包的处理方法及装置、电子设备 |
CN107451239A (zh) * | 2017-07-26 | 2017-12-08 | 深圳Tcl新技术有限公司 | Linux终端及其文件索引方法、计算机可读存储介质 |
CN109408473A (zh) * | 2018-10-30 | 2019-03-01 | 深圳市理奥网络技术有限公司 | 一种防止文件误删的方法、装置、设备以及存储介质 |
CN109857589B (zh) * | 2018-12-21 | 2021-11-23 | 厦门市美亚柏科信息股份有限公司 | 一种删除文件的恢复方法、装置及存储介质 |
CN113360078A (zh) * | 2020-03-05 | 2021-09-07 | 浙江宇视科技有限公司 | 一种存储方法、装置、电子设备和存储介质 |
CN112052118B (zh) * | 2020-08-20 | 2022-08-23 | 厦门市美亚柏科信息股份有限公司 | 一种GlobalFs删除文件恢复方法和系统 |
CN112286725A (zh) * | 2020-10-28 | 2021-01-29 | 联想(北京)有限公司 | 数据处理方法、装置及电子设备 |
CN115098447A (zh) * | 2022-07-18 | 2022-09-23 | 重庆紫光华山智安科技有限公司 | 文件恢复方法、装置、电子设备及可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100430902C (zh) * | 2006-12-13 | 2008-11-05 | 天津理工大学 | 一种支持边服务边恢复的分布式实时数据库故障恢复方法 |
CN101526965B (zh) * | 2009-04-29 | 2011-01-05 | 成都市华为赛门铁克科技有限公司 | 一种磁盘文件的索引节点定位方法和装置 |
CN101924607B (zh) * | 2010-08-27 | 2013-01-23 | 华为终端有限公司 | 基于固件空中传输技术的固件处理方法、装置及系统 |
CN102331957B (zh) * | 2011-09-28 | 2013-08-28 | 华为技术有限公司 | 文件备份的方法及装置 |
CN102799503B (zh) * | 2012-08-08 | 2015-06-10 | 浪潮(北京)电子信息产业有限公司 | 一种应用于大量小文件的恢复方法 |
CN104572394B (zh) * | 2013-10-29 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 进程监控方法及装置 |
CN104714861A (zh) * | 2013-12-16 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 场景恢复数据保存方法、应用运行方法、装置及系统 |
CN104143069B (zh) * | 2014-08-04 | 2017-09-29 | 上海斐讯数据通信技术有限公司 | 一种保护系统文件的方法及系统 |
CN104199750B (zh) * | 2014-08-26 | 2017-07-28 | 上海天脉聚源文化传媒有限公司 | 一种linux系统的文件恢复方法及装置 |
-
2015
- 2015-08-28 CN CN201510543388.4A patent/CN105095025B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105095025A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095025B (zh) | 恢复ext文件系统中已删除文件的方法及装置 | |
CN105204959B (zh) | 恢复ext文件系统中已删除文件的方法及装置 | |
JP7181958B2 (ja) | ファイル処理方法及びモバイル端末 | |
CN105488112B (zh) | 信息推送方法及装置 | |
KR101656633B1 (ko) | 파일 백업 방법, 장치, 프로그램 및 기록매체 | |
US8713079B2 (en) | Method, apparatus and computer program product for providing metadata entry | |
KR20170076553A (ko) | 프라이버시 보호를 제공하는 단말 장치 및 그 동작 방법 | |
RU2645282C2 (ru) | Способ и устройство для вызова по облачным визиткам | |
US20090003797A1 (en) | Method, Apparatus and Computer Program Product for Providing Content Tagging | |
EP2811399B1 (en) | Method and terminal for starting music application | |
CN106126272A (zh) | 文件系统卸载方法及装置 | |
CN105208177B (zh) | 通讯录更新方法及装置 | |
CN104615546A (zh) | 文件数据管理方法及装置 | |
CN105183586A (zh) | Ext文件系统的误删除文件恢复方法和装置、智能设备 | |
CN111258952B (zh) | 一种数据存储控制方法、装置及存储介质 | |
CN105045686B (zh) | 文件恢复方法及装置 | |
WO2013017918A1 (en) | Contact video generation system | |
CN108702551A (zh) | 用于提供视频的概要信息的方法和装置 | |
CN105183829A (zh) | 一种图片分类方法和装置 | |
CN106919679B (zh) | 应用于分布式文件系统的日志重演方法、装置及终端 | |
CN105095026A (zh) | Ext文件系统的超级块修复方法和装置、智能设备 | |
US20100100531A1 (en) | Electronic device and method for managing medias | |
CN111290882B (zh) | 数据文件备份方法、数据文件备份装置及电子设备 | |
CN113918661A (zh) | 知识图谱生成方法、装置和电子设备 | |
CN105488119A (zh) | 进程查找方法和装置 |
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 |