CN112579364B - 一种基于qnx6fs文件系统的删除文件深度恢复方法和装置 - Google Patents

一种基于qnx6fs文件系统的删除文件深度恢复方法和装置 Download PDF

Info

Publication number
CN112579364B
CN112579364B CN202011615705.6A CN202011615705A CN112579364B CN 112579364 B CN112579364 B CN 112579364B CN 202011615705 A CN202011615705 A CN 202011615705A CN 112579364 B CN112579364 B CN 112579364B
Authority
CN
China
Prior art keywords
file
inode
block
directory
data
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
Application number
CN202011615705.6A
Other languages
English (en)
Other versions
CN112579364A (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 CN202011615705.6A priority Critical patent/CN112579364B/zh
Publication of CN112579364A publication Critical patent/CN112579364A/zh
Application granted granted Critical
Publication of CN112579364B publication Critical patent/CN112579364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • 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/17Details of further file system functions

Landscapes

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

Abstract

本发明给出了一种基于QNX6FS文件系统的删除文件深度恢复方法和装置,包括在删除文件深度恢复阶段通过遍历分区的残留区中的数据块,查找潜在可能的目录项信息,再通过可能的目录项信息进一步确认该目录项下对应的inode是否有效,通过上述双重认证的方式确认疑似删除文件目录项的合法性,从而最终提取出被删除文件的所有信息;在删除文件目录结构恢复阶段,通过已恢复文件所在数据块的父目录的inode查找数据块兄弟节点的inode并对两者的inode进行比对的方式,上述提取出的被删除文件的目录结构进行恢复,从而完善删除文件深度恢复的结果,获得删除文件恢复后的目录结构。本发明弥补了目前QNX6FS文件系统无文件恢复功能的缺憾,具有一定的首创性和实用性。

Description

一种基于QNX6FS文件系统的删除文件深度恢复方法和装置
技术领域
本发明涉及汽车取证安全技术领域,尤其是一种基于QNX6FS文件系统的删除文件深度恢复方法和装置。
背景技术
QNX6FS文件系统(亦称Power-Safefilesystem)是黑莓公司为旗下QNX操作系统定制的一种可靠磁盘文件系统。QNX操作系统是一款遵循POSIX规范的类Unix系统,其QNX6FS文件系统的设计上也参照了许多Unix文件系统的特性,即也有“块”、“节点”、“目录”等概念。QNX6FS文件系统于QNX 6.4.0版本被引入,从6.4.1版本起作为默认文件系统使用。QNX6FS文件系统面世至今已约10年,应用十分广泛,然而与之相关的文件删除恢复研究和技术目前还教少人研究。
QNX是一款面向嵌入式领域的实时操作系统,被广泛应用于核电站、航天飞机、工业控制等领域,据统计其在车用市场的占有率约达75%。近年来,与汽车相关的案件日渐增多,取证领域对汽车电子数据取证的需求越来越强烈,而车载文件系统数据的提取和恢复则是汽车电子数据取证的基础。因此,研究QNX6FS文件系统对于汽车取证具有重要意义。目前市面上尚无针对QNX6FS文件系统文件删除恢复的相关软件,针对这个问题,本文提出了一种QNX6FS文件系统删除文件的恢复方法,在恢复的过程中通过全局搜索未分配簇中可能被认为是inode的数据块来进行数据恢复。通过实际编码测试,采用该恢复方法可以较大程度地恢复未被覆盖的删除文件内容。
发明内容
本发明提出了一种基于QNX6FS文件系统的删除文件深度恢复方法和装置,以解决上文提到的现有技术的缺陷。
在第一个方面,本发明提出了一种基于QNX6FS文件系统的删除文件深度恢复方法,该方法包括以下步骤:
S1:解析QNX6FS文件系统一个分区中的所有文件信息,获取所有正常目录下inode号为0的目录项,并通过读取超级块获取当前文件系统的块大小、当前分区的块数量和目录项的大小;
S2:取所述分区下的一个属于残留区的数据块Bi,利用所述当前文件系统的块大小除以所述目录项的大小得到所述数据块Bi中的目录项数量,在所述数据块Bi上读取长度为一个所述目录项的大小的数据并判断所述数据是否为一个有效的目录项,若是,则在所述数据中读取inode号;
S3:根据所述inode号读取对应的inode,并根据所述inode中各字段的特性判断所述inode是否有效,若是,则根据所述inode的结构恢复所述inode所指向的文件的具体内容,得到已恢复文件。
以上方法通过遍历分区的残留区中的数据块,查找潜在可能的目录项信息,再通过可能的目录项信息进一步确认该目录项下对应的inode是否有效,通过上述双重认证的方式确认疑似删除文件目录项的合法性,从而最终提取出被删除文件的所有信息。本方法弥补了目前QNX6FS文件系统无文件恢复功能的缺憾,具有一定的首创性和实用性。
在具体的实施例中,所述步骤S2的具体步骤包括:
获取所述分区中残留区的区域范围集合DBU={B1,B2,...,BU},其中B1,B2,...,BU表示属于残留区的数据块,针对所述集合DBU={B1,B2,...,BU}中的任意未处理的数据块Bi进行如下步骤,直至处理完所述集合DBU中的所有元素:
S201:在所述数据块Bi上读取一个以所述目录项的大小为长度的数据;
S202:判断所述数据是否为一个有效的目录项,若是,则在所述数据中读取inode号、短文件名长度、短文件名和block_num,并跳转至步骤S3,若否,则执行步骤S203;
S203:若读取次数达到所述目录项数量,则对所述集合DBU中未处理的数据块执行所述步骤S201-S202,否则,在所述数据块Bi上读取下一个以所述目录项的大小为长度的数据,并跳转至步骤S202。
在具体的实施例中,所述步骤S3中根据所述inode的结构恢复所述inode所指向的文件的具体内容,具体包括:
将所述数据中包括所述inode号、短文件名长度、短文件名和block_num在内的具体内容写入数据Ri,将所述数据Ri作为已恢复文件写入集合RC,当处理完所述集合DBU,得到包含所有已恢复文件的集合RC={R1,R2,R3,…,RN}。
在具体的实施例中,在所述步骤S3中,若所述inode无效,则跳转至所述步骤S2。
在具体的实施例中,所述判断所述数据是否为一个有效的目录项,具体方法包括:
判断所述数据中短文件名长度是否与短文件名所占用空间相匹配,若是,则所述数据是一个有效的目录项。
在具体的实施例中,所述根据所述inode中各字段的特性判断所述inode是否有效的具体方法包括判断是否同时满足以下条件:
所述inode中的UID和GID包含在所述分区中所有能正常解析的文件的inode中的UID和GID构成的集合中;
所述inode中的文件时间中包括创建时间、访问时间和修改时间在内的所有时间值都不早于1970年1月1日;
所述inode中的文件类型数值与所述inode对应的文件的类型相符;
所述inode中的块指针满足:数组大小为16、默认值为0xFFFF且从低下标处开始使用;
所述inode中的块指针深度大于0、且小于或等于5;
所述inode中的保留区域为全0的数组;
若同时满足以上所有所述条件,则所述inode有效,否则所述inode无效。
在第二个方面,本发明提出了一种基于QNX6FS文件系统的删除文件目录结构恢复方法,该方法包括以下步骤:
A1:利用如第一个方面所述的方法得到已恢复文件,通过读取所述已恢复文件中的block_num获取所述已恢复文件的所在块号,并判断所述所在块号对应的块是否存在父节点inode号,若是,则将所述已恢复文件中的inode号与所述分区中能正常解析的目录文件中的inode号进行比对,若比对相等,则认为所述已恢复文件为所述目录文件的子文件,若比对不相等,则跳转至步骤A2;
A2:将所述已恢复文件中的短文件名与所述正常目录下inode号为0的目录项中的短文件名进行比对,若比对相等,则将所述目录项加入集合HC;
A3:根据所述集合HC中目录项的个数以及各目录项所在块的所有目录项的inode号与所述已恢复文件所在块的所有目录项的inode号的相等对数,获取所述已恢复文件的父目录。
以上方法通过已恢复文件所在数据块的父目录的inode查找数据块兄弟节点的inode并对两者的inode进行比对的方式,尽可能地对第一个方面中得到的已恢复文件的目录结构进行恢复,从而完善删除文件深度恢复的结果,获得删除文件恢复后的目录结构。本方法弥补了目前QNX6FS文件系统无文件恢复功能的缺憾,具有一定的首创性和实用性。
在具体的实施例中,所述判断所述所在块号对应的块是否存在父节点inode号的步骤具体包括:
判断所述已恢复文件中的block_num是否为其父目录数据块的第一个数据块,若是,则所述所在块号对应的块存在父节点inode号,若否,则不存在。
在具体的实施例中,所述步骤A3的具体步骤包括:
若所述集合HC为空则跳转至步骤A1;
若所述集合HC中仅有一个目录项元素,则将所述已恢复文件记为所述集合HC中的目录项元素的父目录的子文件,并跳转至步骤A1;
若所述集合HC中有多个目录项元素,则针对所述集合HC中的各个目录项元素执行如下操作:
将目录项元素所在块的所有目录项的inode号与所述已恢复文件所在块的所有目录项的inode号进行对比,统计两两相等的inode号的对数;对所述各个目录项元素执行完所述操作后,将所述两两相等的inode号的对数最多的目录项元素的父目录记为所述已恢复文件的父目录,并跳转至步骤A1。
根据本发明的第三方面,提出了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理器执行时实施上述方法。
根据本发明的第四方面,提出了一种基于QNX6FS文件系统的删除文件深度恢复装置,该装置包括:
文件信息解析单元:配置用于解析QNX6FS文件系统一个分区中的所有文件信息,获取所有正常目录下inode号为0的目录项,并通过读取超级块获取当前文件系统的块大小、当前分区的块数量和目录项的大小;
inode号读取单元:配置用于取所述分区下的一个属于残留区的数据块Bi,利用所述当前文件系统的块大小除以所述目录项的大小得到所述数据块Bi中的目录项数量,在所述数据块Bi上读取长度为一个所述目录项的大小的数据并判断所述数据是否为一个有效的目录项,若是,则在所述数据中读取inode号;
删除文件恢复单元:配置用于根据所述inode号读取对应的inode,并根据所述inode中各字段的特性判断所述inode是否有效,若是,则根据所述inode的结构恢复所述inode所指向的文件的具体内容,得到已恢复文件。
根据本发明的第五方面,提出了一种基于QNX6FS文件系统的删除文件目录结构恢复装置,该装置包括:
inode号比对单元:配置用于利用如权利要求11中所述的装置得到已恢复文件,通过读取所述已恢复文件中的block_num获取所述已恢复文件的所在块号,并判断所述所在块号对应的块是否存在父节点inode号,若是,则将所述已恢复文件中的inode号与所述分区中能正常解析的目录文件中的inode号进行比对,若比对相等,则认为所述已恢复文件为所述目录文件的子文件,若比对不相等,则跳转至短文件名比对单元;
短文件名比对单元:配置用于将所述已恢复文件中的短文件名与所述正常目录下inode号为0的目录项中的短文件名进行比对,若比对相等,则将所述目录项加入集合HC;
已恢复文件的父目录获取单元:配置用于根据所述集合HC中目录项的个数以及各目录项所在块的所有目录项的inode号与所述已恢复文件所在块的所有目录项的inode号的相等对数,获取所述已恢复文件的父目录。
本发明在删除文件深度恢复阶段通过遍历分区的残留区中的数据块,查找潜在可能的目录项信息,再通过可能的目录项信息进一步确认该目录项下对应的inode是否有效,通过上述双重认证的方式确认疑似删除文件目录项的合法性,从而最终提取出被删除文件的所有信息;在删除文件目录结构恢复阶段,通过已恢复文件所在数据块的父目录的inode查找数据块兄弟节点的inode并对两者的inode进行比对的方式,尽可能地对第一个方面中得到的已恢复文件的目录结构进行恢复,从而完善删除文件深度恢复的结果,获得删除文件恢复后的目录结构。本发明弥补了目前QNX6FS文件系统无文件恢复功能的缺憾,具有一定的首创性和实用性。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是本发明的一个实施例的一种基于QNX6FS文件系统的删除文件深度恢复方法的流程图;
图3是本发明的一个实施例的一种基于QNX6FS文件系统的删除文件目录结构恢复方法的流程图;
图4是本发明的一个具体的实施例的删除前磁盘文件情况图;
图5是本发明的一个具体的实施例的QNX6FS文件系统正常解析的结果图;
图6是本发明的一个具体的实施例的QNX6FS文件系统删除文件恢复结果图;
图7是本发明的一个实施例的一种基于QNX6FS文件系统的删除文件深度恢复装置的框架图;
图8是本发明的一个实施例的一种基于QNX6FS文件系统的删除文件目录结构恢复装置的框架图;
图9是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的一种基于QNX6FS文件系统的删除文件深度恢复方法的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种应用,例如数据处理类应用、数据可视化类应用、网页浏览器应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上展示的inode号提供支持的后台信息处理服务器。后台信息处理服务器可以对获取的inode号进行处理,并生成处理结果(例如已恢复文件)。
需要说明的是,本申请实施例所提供的方法可以由服务器105执行,也可以由终端设备101、102、103执行,相应的装置一般设置于服务器105中,也可以设置于终端设备101、102、103中。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
根据本发明的一个实施例的一种基于QNX6FS文件系统的删除文件深度恢复方法,图2示出了根据本发明的实施例的一种基于QNX6FS文件系统的删除文件深度恢复方法的流程图。如图2所示,该方法包括以下步骤:
S201:解析QNX6FS文件系统一个分区中的所有文件信息,获取所有正常目录下inode号为0的目录项,并通过读取超级块获取当前文件系统的块大小、当前分区的块数量和目录项的大小。
S202:取所述分区下的一个属于残留区的数据块Bi,利用所述当前文件系统的块大小除以所述目录项的大小得到所述数据块Bi中的目录项数量,在所述数据块Bi上读取长度为一个所述目录项的大小的数据并判断所述数据是否为一个有效的目录项,若是,则在所述数据中读取inode号。
在具体的实施例中,所述步骤S202的具体步骤包括:
获取所述分区中残留区的区域范围集合DBU={B1,B2,...,BU},其中B1,B2,...,BU表示属于残留区的数据块,针对所述集合DBU={B1,B2,...,BU}中的任意未处理的数据块Bi进行如下步骤,直至处理完所述集合DBU中的所有元素:
S2021:在所述数据块Bi上读取一个以所述目录项的大小为长度的数据;
S2022:判断所述数据是否为一个有效的目录项,若是,则在所述数据中读取inode号、短文件名长度、短文件名和block_num,并跳转至步骤S203,若否,则执行步骤S2023;
S2023:若读取次数达到所述目录项数量,则对所述集合DBU中未处理的数据块执行所述步骤S2021-S2022,否则,在所述数据块Bi上读取下一个以所述目录项的大小为长度的数据,并跳转至步骤S2022。
在具体的实施例中,所述判断所述数据是否为一个有效的目录项,具体方法包括:
判断所述数据中短文件名长度是否与短文件名所占用空间相匹配,若是,则所述数据是一个有效的目录项。
S203:根据所述inode号读取对应的inode,并根据所述inode中各字段的特性判断所述inode是否有效,若是,则根据所述inode的结构恢复所述inode所指向的文件的具体内容,得到已恢复文件。
在具体的实施例中,所述步骤S203中根据所述inode的结构恢复所述inode所指向的文件的具体内容,具体包括:
将所述数据中包括所述inode号、短文件名长度、短文件名和block_num在内的具体内容写入数据Ri,将所述数据Ri作为已恢复文件写入集合RC,当处理完所述集合DBU,得到包含所有已恢复文件的集合RC={R1,R2,R3,…,RN}。
在具体的实施例中,在所述步骤S203中,若所述inode无效,则跳转至所述步骤S202。
在具体的实施例中,所述根据所述inode中各字段的特性判断所述inode是否有效的具体方法包括判断是否同时满足以下条件:
所述inode中的UID和GID包含在所述分区中所有能正常解析的文件的inode中的UID和GID构成的集合中;
所述inode中的文件时间中包括创建时间、访问时间和修改时间在内的所有时间值都不早于1970年1月1日;
所述inode中的文件类型数值与所述inode对应的文件的类型相符;
所述inode中的块指针满足:数组大小为16、默认值为0xFFFF且从低下标处开始使用;
所述inode中的块指针深度大于0、且小于或等于5;
所述inode中的保留区域为全0的数组;
若同时满足以上所有所述条件,则所述inode有效,否则所述inode无效。
根据本发明的一个实施例的一种基于QNX6FS文件系统的删除文件目录结构恢复方法,图3示出了根据本发明的实施例的一种基于QNX6FS文件系统的删除文件目录结构恢复方法的流程图。如图3所示,该方法包括以下步骤:
S301:利用如第一个方面所述的方法得到已恢复文件,通过读取所述已恢复文件中的block_num获取所述已恢复文件的所在块号,并判断所述所在块号对应的块是否存在父节点inode号,若是,则将所述已恢复文件中的inode号与所述分区中能正常解析的目录文件中的inode号进行比对,若比对相等,则认为所述已恢复文件为所述目录文件的子文件,若比对不相等,则跳转至步骤S302。
在具体的实施例中,所述判断所述所在块号对应的块是否存在父节点inode号的步骤具体包括:
判断所述已恢复文件中的block_num是否为其父目录数据块的第一个数据块,若是,则所述所在块号对应的块存在父节点inode号,若否,则不存在。
S302:将所述已恢复文件中的短文件名与所述正常目录下inode号为0的目录项中的短文件名进行比对,若比对相等,则将所述目录项加入集合HC。
S303:根据所述集合HC中目录项的个数以及各目录项所在块的所有目录项的inode号与所述已恢复文件所在块的所有目录项的inode号的相等对数,获取所述已恢复文件的父目录。
在具体的实施例中,所述步骤S303的具体步骤包括:
若所述集合HC为空则跳转至步骤S301;
若所述集合HC中仅有一个目录项元素,则将所述已恢复文件记为所述集合HC中的目录项元素的父目录的子文件,并跳转至步骤S301;
若所述集合HC中有多个目录项元素,则针对所述集合HC中的各个目录项元素执行如下操作:
将目录项元素所在块的所有目录项的inode号与所述已恢复文件所在块的所有目录项的inode号进行对比,统计两两相等的inode号的对数;对所述各个目录项元素执行完所述操作后,将所述两两相等的inode号的对数最多的目录项元素的父目录记为所述已恢复文件的父目录,并跳转至步骤S301。
下面通过一个完整的QNX6FS文件系统的删除文件深度恢复和删除文件目录结构恢复流程来具体阐述本申请的方案,具体流程如下:
首先进行如下概念假设:
1)假设DC={D1,D2,D3,…,DN}表示一个文件在分区中占用的区域范围集合,该集合中的元素按对应区域在文件中的偏移从小到大排序;其中,集合中的每个元素Di包含两个属性:file_start_block(文件数据起始块偏移)、file_block_count(文件数据占用的块数);由于,文件可能存在碎片,因此一个文件占用的区域范围可能是一个集合,如果没有碎片则列表只有一个元素;
2)假设文件A的区域范围集合为DCA,对于磁盘中的块B(块号为N),如果在集合DCA中存在有一个元素DCi,满足条件(DCi->file_start_block)<=N<=(DCi->file_start_block+DCi->file_block_count),那么块B属于文件A,即磁盘的第N个块属于文件A;
3)假设FC={F1,F2,F3,…,FN}表示分区正常数据块下inode_num为0的目录项集合;其中,集合中的每个元素Fi包含属性说明如下:file_name_len(短文件名长度)、file_name(短文件名)、parent_inode_num(父节点inode号);
4)假设RC={R1,R2,R3,…,RN}表示已恢复文件的集合;其中,集合中的每个元素Ri包含恢复相关属性说明如下:inode_num(inode号)、file_name_len(短文件名长度)、file_name(短文件名)、block_num(所在块号);
5)假设文件A为目录J下的子文件,那么目录J的区域范围集合DCJ中必有一个块Bi包含文件A目录项数据,文件A对应的区域范围集合DCA必在其所在分区;
根据以上概念假设,具体的QNX6FS文件系统的删除文件深度恢复和删除文件目录结构恢复流程如下:
S401:解析当前分区文件系统所有文件信息,获取每个正常目录下inode_num为0的目录项集合FC,同时获取该分区残留区的区域范围集合DBU;读取superblock,获取当前文件系统的块大小,记为CUR_VOL_BLK_SIZE,获取当前分区的块数量,记为CUR_VOL_BLK_CNT;目录项的大小记为CUR_DENTRY_SIZE=32Byte;一个块中的目录项数量记为CUR_BLK_DENTRY_CNT;
S402:对于该分区下的所有数据块Bi且有Bi属于DBU,那么对某个给定的Bi有:
CUR_BLK_DENTRY_CNT=CUR_VOL_BLK_SIZE/CUR_DENTRY_SIZE,在Bi上进行CUR_BLK_DENTRY_CNT次数据读取,每次读取CUR_DENTRY_SIZE的数据长度;并根据[附注1]判断读取的数据是否为一个有效的目录项;若是,则先读取目录项内容,保存文件的inode_num、file_name_len、file_name和block_num,并跳转至步骤S403;否则,继续读取Bi的下一个目录项长度,直到处理完集合DBU并获得已恢复文件集合RC,此时可跳转至步骤S405进行文件目录结构恢复;
S403:根据inode_num读取该文件的inode数据;并根据[附注2]判断inode数据是否有效,若有效则跳转至步骤S404;否则跳转至步骤S402;
S404:根据读取的inode结构可进一步读取文件的具体内容;由于文件在分区中可以以多个分散的数据块进行存储,所以最终的提取结果需多次更新DC中的元素Di,直至文件所有内容提取完成;若文件提取完成,则跳转至步骤S402进行下一文件的恢复;
S405:对RC中的某元素Ri,首先读取其block_num,再根据[附注3]通过block_num判断所在块是否存在其父节点inode_num,若存在,则将该inode号与已正常解析的目录文件inode号进行比对,若匹配相等,则认为Ri为该目录文件的子文件;否则跳转至步骤S406,直到处理完集合RC,算法结束;
S406:将Ri的file_name与FC中元素Fi的file_name进行比对,若相等,则将当前Fi加入集合HC,否则读取下一个Fi进行比较,直到匹配完整个FC,跳转到步骤S407;
S407:判断集合HC是否为空,若为空则跳转到步骤S405,若HC中仅有一个元素,则认为Ri为Hi的父目录的子文件,跳转到步骤S405,若HC中有多个元素,则读取Ri所在块的所有目录项的inode号与Hi所在块所有目录项的inode号进行匹配,最终选出匹配相等的对数最多的Hi,那么Ri为该Hi的父目录的子文件,然后再跳转到步骤S405。
上述流程中的附注如下:
[附注1]判断该数据的file_name_len所标示长度是否与file_name所占用空间相匹配,若是,则该数据是有效的目录项,若否,则该数据不是有效的目录项;
[附注2]判断是否同时满足以下条件:
所述inode中的UID和GID包含在所述分区中所有能正常解析的文件的inode中的UID和GID构成的集合中;
所述inode中的文件时间中包括创建时间、访问时间和修改时间在内的所有时间值都不早于1970年1月1日;
所述inode中的文件类型数值与所述inode对应的文件的类型相符;
所述inode中的块指针满足:数组大小为16、默认值为0xFFFF且从低下标处开始使用;
所述inode中的块指针深度大于0、且小于或等于5;
所述inode中的保留区域为全0的数组;
若同时满足以上所有所述条件,则所述inode有效,否则所述inode无效;
[附注3]判断Ri中的block_num是否为其父目录数据块的第一个数据块,若是,则所述所在块号对应的块存在父节点inode_num,若否,则不存在。
下面利用具体的实施例来验证本申请的方案的有效性,验证过程如下:
1)在QNX系统下新建QNX6FS测试分区,挂载为hd1-qnx6;
2)往测试分区拷贝若干测试数据,如图4中所示的数据;
3)删除图4中方框选中区域的文件,并正常解析文件系统,解析结果如图5所示;
4)采用本申请的方案对整个磁盘进行深度恢复,恢复效果如图6所示。
图6示出了本发明的一个具体的实施例的QNX6FS文件系统删除文件恢复结果图与图4比较,说明本申请的方案能简单高效地实现对QNX6FS文件系统删除文件的深度恢复,并同时恢复文件的目录结构。
图7示出了本发明的一个实施例的一种基于QNX6FS文件系统的删除文件深度恢复装置的框架图。该装置包括文件信息解析单元701、inode号读取单元702和删除文件恢复单元703。
在具体的实施例中,文件信息解析单元701被配置用于解析QNX6FS文件系统一个分区中的所有文件信息,获取所有正常目录下inode号为0的目录项,并通过读取超级块获取当前文件系统的块大小、当前分区的块数量和目录项的大小;inode号读取单元702被配置用于取所述分区下的一个属于残留区的数据块Bi,利用所述当前文件系统的块大小除以所述目录项的大小得到所述数据块Bi中的目录项数量,在所述数据块Bi上读取长度为一个所述目录项的大小的数据并判断所述数据是否为一个有效的目录项,若是,则在所述数据中读取inode号;删除文件恢复单元703被配置用于根据所述inode号读取对应的inode,并根据所述inode中各字段的特性判断所述inode是否有效,若是,则根据所述inode的结构恢复所述inode所指向的文件的具体内容,得到已恢复文件。本装置通过遍历分区的残留区中的数据块,查找潜在可能的目录项信息,再通过可能的目录项信息进一步确认该目录项下对应的inode是否有效,通过上述双重认证的方式确认疑似删除文件目录项的合法性,从而最终提取出被删除文件的所有信息。弥补了目前QNX6FS文件系统无文件恢复功能的缺憾,具有一定的首创性和实用性。
图8示出了本发明的一个实施例的一种基于QNX6FS文件系统的删除文件目录结构恢复装置的框架图。该装置包括inode号比对单元801、短文件名比对单元802和已恢复文件的父目录获取单元803。
在具体的实施例中,inode号比对单元801被配置用于利用如权利要求11中所述的装置得到已恢复文件,通过读取所述已恢复文件中的block_num获取所述已恢复文件的所在块号,并判断所述所在块号对应的块是否存在父节点inode号,若是,则将所述已恢复文件中的inode号与所述分区中能正常解析的目录文件中的inode号进行比对,若比对相等,则认为所述已恢复文件为所述目录文件的子文件,若比对不相等,则跳转至短文件名比对单元;短文件名比对单元802被配置用于将所述已恢复文件中的短文件名与所述正常目录下inode号为0的目录项中的短文件名进行比对,若比对相等,则将所述目录项加入集合HC;已恢复文件的父目录获取单元803被配置用于根据所述集合HC中目录项的个数以及各目录项所在块的所有目录项的inode号与所述已恢复文件所在块的所有目录项的inode号的相等对数,获取所述已恢复文件的父目录。本装置通过已恢复文件所在数据块的父目录的inode查找数据块兄弟节点的inode并对两者的inode进行比对的方式,尽可能地对第一个方面中得到的已恢复文件的目录结构进行恢复,从而完善删除文件深度恢复的结果,获得删除文件恢复后的目录结构。弥补了目前QNX6FS文件系统无文件恢复功能的缺憾,具有一定的首创性和实用性。
下面参考图9,其示出了适于用来实现本申请实施例的电子设备的计算机系统900的结构示意图。图9示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,且这些单元的名称在某种情况下并不构成对该单元本身的限定。
本发明的实施例还涉及一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理器执行时实施上文中的方法。该计算机程序包含用于执行流程图所示的方法的程序代码。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。
本发明在删除文件深度恢复阶段通过遍历分区的残留区中的数据块,查找潜在可能的目录项信息,再通过可能的目录项信息进一步确认该目录项下对应的inode是否有效,通过上述双重认证的方式确认疑似删除文件目录项的合法性,从而最终提取出被删除文件的所有信息;在删除文件目录结构恢复阶段,通过已恢复文件所在数据块的父目录的inode查找数据块兄弟节点的inode并对两者的inode进行比对的方式,上述提取出的被删除文件的目录结构进行恢复,从而完善删除文件深度恢复的结果,获得删除文件恢复后的目录结构。本发明弥补了目前QNX6FS文件系统无文件恢复功能的缺憾,具有一定的首创性和实用性。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种基于QNX6FS文件系统的删除文件深度恢复方法,其特征在于,包括以下步骤:
S1:解析QNX6FS文件系统一个分区中的所有文件信息,获取所有正常目录下inode号为0的目录项,并通过读取超级块获取当前文件系统的块大小、当前分区的块数量和目录项的大小;
S2:取所述分区下的一个属于残留区的数据块Bi,利用所述当前文件系统的块大小除以所述目录项的大小得到所述数据块Bi中的目录项数量,在所述数据块Bi上读取长度为一个所述目录项的大小的数据并判断所述数据是否为一个有效的目录项,若是,则在所述数据中读取inode号;
所述步骤S2的具体步骤包括:
获取所述分区中残留区的区域范围集合DBU={B1,B2,..., BU },其中B1,B2,..., BU表示属于残留区的数据块,针对所述集合DBU={B1,B2,..., BU}中的任意未处理的数据块Bi进行如下步骤,直至处理完所述集合DBU中的所有元素:
S201:在所述数据块Bi上读取一个以所述目录项的大小为长度的数据;
S202:判断所述数据是否为一个有效的目录项,若是,则在所述数据中读取inode号、短文件名长度、短文件名和block_num,并跳转至步骤S3,若否,则执行步骤S203;
S203:若读取次数达到所述目录项数量,则对所述集合DBU中未处理的数据块执行所述步骤S201-S202,否则,在所述数据块Bi上读取下一个以所述目录项的大小为长度的数据,并跳转至步骤S202;
S3:根据步骤S2中获取的所述inode号读取对应的inode,并根据所述inode中各字段的特性判断所述inode是否有效,若是,则根据所述inode的结构恢复所述inode所指向的文件的具体内容,得到已恢复文件;
所述步骤S3中根据所述inode的结构恢复所述inode所指向的文件的具体内容,具体包括:
将所述数据中包括所述inode号、短文件名长度、短文件名和block_num在内的具体内容写入数据Ri,将所述数据Ri作为已恢复文件写入集合RC,当处理完所述集合DBU,得到包含所有已恢复文件的集合RC={R1, R2, R3, …, RN}。
2.根据权利要求1所述的方法,其特征在于,在所述步骤S3中,若所述inode无效,则跳转至所述步骤S2。
3.根据权利要求1所述的方法,其特征在于,所述判断所述数据是否为一个有效的目录项,具体方法包括:
判断所述数据中短文件名长度是否与短文件名所占用空间相匹配,若是,则所述数据是一个有效的目录项。
4.根据权利要求1所述的方法,其特征在于,所述根据所述inode中各字段的特性判断所述inode是否有效的具体方法包括判断是否同时满足以下条件:
所述inode中的UID和GID包含在所述分区中所有能正常解析的文件的inode中的UID和GID构成的集合中;
所述inode中的文件时间中包括创建时间、访问时间和修改时间在内的所有时间值都不早于1970年1月1日;
所述inode中的文件类型数值与所述inode对应的文件的类型相符;
所述inode中的块指针满足:数组大小为16、默认值为0xFFFF且从低下标处开始使用;
所述inode中的块指针深度大于0、且小于或等于5;
所述inode中的保留区域为全0的数组;
若同时满足以上所有所述条件,则所述inode有效,否则所述inode无效。
5.一种基于QNX6FS文件系统的删除文件目录结构恢复方法,其特征在于,包括以下步骤:
A1:利用如权利要求1-4中任一项所述的方法得到已恢复文件,通过读取所述已恢复文件中的block_num获取所述已恢复文件的所在块号,并判断所述所在块号对应的块是否存在父节点inode号,若是,则将所述已恢复文件中的inode号与所述分区中能正常解析的目录文件中的inode号进行比对,若比对相等,则认为所述已恢复文件为所述目录文件的子文件,若比对不相等,则跳转至步骤A2;
A2:将所述已恢复文件中的短文件名与所述正常目录下inode号为0的目录项中的短文件名进行比对,若比对相等,则将所述目录项加入集合HC;
A3:根据所述集合HC中目录项的个数以及各目录项所在块的所有目录项的inode号与所述已恢复文件所在块的所有目录项的inode号的相等对数,获取所述已恢复文件的父目录。
6.根据权利要求5所述的方法,其特征在于,所述判断所述所在块号对应的块是否存在父节点inode号的步骤具体包括:
判断所述已恢复文件中的block_num是否为其父目录数据块的第一个数据块,若是,则所述所在块号对应的块存在父节点inode号,若否,则不存在。
7.根据权利要求5所述的方法,其特征在于,所述步骤A3的具体步骤包括:
若所述集合HC为空则跳转至步骤A1;
若所述集合HC中仅有一个目录项元素,则将所述已恢复文件记为所述集合HC中的目录项元素的父目录的子文件,并跳转至步骤A1;
若所述集合HC中有多个目录项元素,则针对所述集合HC中的各个目录项元素执行如下操作:
将目录项元素所在块的所有目录项的inode号与所述已恢复文件所在块的所有目录项的inode号进行对比,统计两两相等的inode号的对数;对所述各个目录项元素执行完所述操作后,将所述两两相等的inode号的对数最多的目录项元素的父目录记为所述已恢复文件的父目录,并跳转至步骤A1。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被计算机处理器执行时实施权利要求1至7中任一项所述的方法。
9.一种基于QNX6FS文件系统的删除文件深度恢复装置,其特征在于,包括:
文件信息解析单元:配置用于解析QNX6FS文件系统一个分区中的所有文件信息,获取所有正常目录下inode号为0的目录项,并通过读取超级块获取当前文件系统的块大小、当前分区的块数量和目录项的大小;
inode号读取单元:配置用于取所述分区下的一个属于残留区的数据块Bi,利用所述当前文件系统的块大小除以所述目录项的大小得到所述数据块Bi中的目录项数量,在所述数据块Bi上读取长度为一个所述目录项的大小的数据并判断所述数据是否为一个有效的目录项,若是,则在所述数据中读取inode号;
所述inode号读取单元具体包括:获取所述分区中残留区的区域范围集合DBU={B1,B2,..., BU },其中B1,B2,..., BU表示属于残留区的数据块,针对所述集合DBU={B1,B2,...,BU}中的任意未处理的数据块Bi进行如下步骤,直至处理完所述集合DBU中的所有元素:
S201:在所述数据块Bi上读取一个以所述目录项的大小为长度的数据;
S202:判断所述数据是否为一个有效的目录项,若是,则在所述数据中读取inode号、短文件名长度、短文件名和block_num,并跳转至步骤S3,若否,则执行步骤S203;
S203:若读取次数达到所述目录项数量,则对所述集合DBU中未处理的数据块执行所述步骤S201-S202,否则,在所述数据块Bi上读取下一个以所述目录项的大小为长度的数据,并跳转至步骤S202;删除文件恢复单元:配置用于根据inode号读取单元中获取的所述inode号读取对应的inode,并根据所述inode中各字段的特性判断所述inode是否有效,若是,则根据所述inode的结构恢复所述inode所指向的文件的具体内容,得到已恢复文件;
所述删除文件恢复单元中根据所述inode的结构恢复所述inode所指向的文件的具体内容,具体包括:
将所述数据中包括所述inode号、短文件名长度、短文件名和block_num在内的具体内容写入数据Ri,将所述数据Ri作为已恢复文件写入集合RC,当处理完所述集合DBU,得到包含所有已恢复文件的集合RC={R1, R2, R3, …, RN}。
10.一种基于QNX6FS文件系统的删除文件目录结构恢复装置,其特征在于,包括:
inode号比对单元:配置用于利用如权利要求9中所述的装置得到已恢复文件,通过读取所述已恢复文件中的block_num获取所述已恢复文件的所在块号,并判断所述所在块号对应的块是否存在父节点inode号,若是,则将所述已恢复文件中的inode号与所述分区中能正常解析的目录文件中的inode号进行比对,若比对相等,则认为所述已恢复文件为所述目录文件的子文件,若比对不相等,则跳转至短文件名比对单元;
短文件名比对单元:配置用于将所述已恢复文件中的短文件名与所述正常目录下inode号为0的目录项中的短文件名进行比对,若比对相等,则将所述目录项加入集合HC;
已恢复文件的父目录获取单元:配置用于根据所述集合HC中目录项的个数以及各目录项所在块的所有目录项的inode号与所述已恢复文件所在块的所有目录项的inode号的相等对数,获取所述已恢复文件的父目录。
CN202011615705.6A 2020-12-30 2020-12-30 一种基于qnx6fs文件系统的删除文件深度恢复方法和装置 Active CN112579364B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011615705.6A CN112579364B (zh) 2020-12-30 2020-12-30 一种基于qnx6fs文件系统的删除文件深度恢复方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011615705.6A CN112579364B (zh) 2020-12-30 2020-12-30 一种基于qnx6fs文件系统的删除文件深度恢复方法和装置

Publications (2)

Publication Number Publication Date
CN112579364A CN112579364A (zh) 2021-03-30
CN112579364B true CN112579364B (zh) 2022-08-05

Family

ID=75144456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011615705.6A Active CN112579364B (zh) 2020-12-30 2020-12-30 一种基于qnx6fs文件系统的删除文件深度恢复方法和装置

Country Status (1)

Country Link
CN (1) CN112579364B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742127B (zh) * 2021-09-16 2023-07-07 重庆大学 一种裸闪存文件系统的故障恢复方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653731A (zh) * 2016-02-02 2016-06-08 厦门市美亚柏科信息股份有限公司 一种jfs文件系统的删除数据恢复方法
CN110928840A (zh) * 2019-11-22 2020-03-27 无锡市同翔科技有限公司 一种qnx6文件系统读取方法
CN111400101A (zh) * 2020-03-18 2020-07-10 北京北亚宸星科技有限公司 一种jfs2文件系统数据删除时的数据恢复方法及系统
CN111897675A (zh) * 2020-06-16 2020-11-06 东南大学 一种手机端f2fs文件系统的近期删除文件恢复方法
CN112052118A (zh) * 2020-08-20 2020-12-08 厦门市美亚柏科信息股份有限公司 一种GlobalFs删除文件恢复方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100550288B1 (ko) * 2003-12-02 2006-02-08 주식회사 하우리 Ext2파일 시스템의 데이터 복구방법과 그 프로그램을기록한 기록매체
US9697228B2 (en) * 2014-04-14 2017-07-04 Vembu Technologies Private Limited Secure relational file system with version control, deduplication, and error correction
US9965361B2 (en) * 2015-10-29 2018-05-08 International Business Machines Corporation Avoiding inode number conflict during metadata restoration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653731A (zh) * 2016-02-02 2016-06-08 厦门市美亚柏科信息股份有限公司 一种jfs文件系统的删除数据恢复方法
CN110928840A (zh) * 2019-11-22 2020-03-27 无锡市同翔科技有限公司 一种qnx6文件系统读取方法
CN111400101A (zh) * 2020-03-18 2020-07-10 北京北亚宸星科技有限公司 一种jfs2文件系统数据删除时的数据恢复方法及系统
CN111897675A (zh) * 2020-06-16 2020-11-06 东南大学 一种手机端f2fs文件系统的近期删除文件恢复方法
CN112052118A (zh) * 2020-08-20 2020-12-08 厦门市美亚柏科信息股份有限公司 一种GlobalFs删除文件恢复方法和系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
关于CIR车载综合平台QNX文件系统崩溃问题的研究;刘凯峰;《铁路计算机应用》;20090222(第02期);全文 *
基于"连带效应"和"过期日志"的EXT3文件系统数据恢复方法研究;徐国天;《中国司法鉴定》;20150115(第01期);全文 *
基于孩子兄弟树的FAT32文件删除恢复算法;章华等;《计算机应用研究》;20090315(第03期);全文 *
数据恢复技术在数据恢复取证中的应用研究;万超;《福建电脑》;20170125(第01期);全文 *
谈UNIX操作系统备份及恢复策略;邱晓理;《金融电子化》;19990915(第09期);全文 *

Also Published As

Publication number Publication date
CN112579364A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN107644075B (zh) 收集页面信息的方法和装置
CN110471709B (zh) 一种加速网页打开速度的方法、装置、介质和电子设备
CN112052120B (zh) 数据库删除数据恢复方法和装置
CN111259282A (zh) Url去重方法、装置、电子设备及计算机可读存储介质
CN112579364B (zh) 一种基于qnx6fs文件系统的删除文件深度恢复方法和装置
CN111107133A (zh) 差异包的生成方法、数据更新方法、装置和存储介质
CN109460363B (zh) 自动化测试方法、装置、电子设备及计算机可读介质
CN109697034B (zh) 一种数据写入方法、装置、电子设备及存储介质
CN111198861A (zh) 逻辑日志的处理方法、装置及电子设备
CN112748866A (zh) 一种增量索引数据的处理方法和装置
CN110990346A (zh) 基于区块链的文件数据处理方法、装置、设备及存储介质
CN111198853B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN109002710B (zh) 一种检测方法、装置及计算机可读存储介质
CN112052118B (zh) 一种GlobalFs删除文件恢复方法和系统
Engelhardt Smart speaker forensics
CN112463736B (zh) 一种用于apfs文件的恢复方法和系统
CN112631993B (zh) 一种基于jffs2文件系统的文件增删改痕迹分析方法及系统
CN110674224A (zh) 实体数据的处理方法、装置、设备及计算机可读存储介质
CN110377326B (zh) 安装包生成方法、装置、开发设备和计算机可读介质
CN111581331B (zh) 文案处理的方法、装置、电子设备及计算机可读介质
CN114296980A (zh) 一种基于受损squashfs文件系统识别检测与提取的方法和系统
CN117251146A (zh) 业务对象命名方法、装置、电子设备及可读存储介质
CN112800051A (zh) 一种PostGresSQL数据库删除记录的恢复方法和装置
CN113220371A (zh) Sdk接入方法、装置、介质及电子设备
CN117170586A (zh) 数据处理方法、装置、电子设备及存储介质

Legal Events

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