一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种NTFS文件格式化参数分析方法、终端设备及存储介质与流程

2022-04-07 04:18:57 来源:中国专利 TAG:

一种ntfs文件格式化参数分析方法、终端设备及存储介质
技术领域
1.本发明涉及文件技术领域,尤其涉及一种ntfs文件格式化参数分析方法、终端设备及存储介质。


背景技术:

2.ntfs文件系统被格式化后,当前的数据恢复技术主要依靠被格式化后分区的参数进行相应的数据恢复。由于,格式化参数容易被修改且分区空间也容易被重新分配。因此,当前恢复技术在一些情况下,无法较好的保证恢复结果的准确性。传统采用格式化后参数作为ntfs文件系统格式化恢复参数,格式化参数被修改、分区空间重新分配以及分区交错等情况下,会导致恢复的文件数据或者文件索引定位出错,从而使得恢复效果不准确。


技术实现要素:

3.为了解决上述问题,本发明提出了一种ntfs文件格式化参数分析方法、终端设备及存储介质。
4.具体方案如下:
5.一种ntfs文件格式化参数分析方法,包括以下步骤:
6.s1:逐扇区在被格式化的分区中查找mft文件记录,并对查找到的mft文件记录进行解析,将解析结果加入到第一集合内;
7.s2:逐扇区在被格式化的分区中查找索引缓冲区记录,并对查找到的索引缓冲区记录进行解析,将解析结果加入到第二集合内;
8.s3:初始化设定序号i=1、分区起始扇区为0,第二集合中元素个数m,簇大小为被格式化的分区的簇大小;
9.s4:判断i≥m是否成立,如果是,结束;否则,进入s5;
10.s5:判断第一集合中是否存在一元素,使得该元素的文件mft号与第二集合中第i个元素的文件mft号相等,如果存在,设定该元素为元素j,进入s6;如果不存在,令i自加1后,返回s4;
11.s6:判断第一集合中的元素j对应的链表元素个数是否等于1,如果是,进入s7;否则,令i自加1后,返回s4;
12.s7:在第一集合中查找所有满足父目录mft号与第二集合中第i个元素的父目录mft号相等的元素,如果查找结果不为空,进入s8;如果查找结果为空,令i自加1后,返回s4;
13.s8:针对查找结果中的任意元素,判断是否均满足该元素的文件mft号与第二集合中第i个元素的子目录索引链表中的一链表元素的文件mft号相同,如果均满足,进入s9;如果存在有元素不满足的情况,令i自加1后,返回s4;
14.s9:判断第一集合中是否存在一元素,使得该元素的物理大小大于512,且簇链表不为空,如果存在,进入s10;如果不存在,结束;
15.s10:根据步骤s9中判断存在的第一集合中元素对应的物理大小和簇链表中所有
链表元素所占的簇数据的和,更新簇大小的值;
16.s11:根据第二集合中第i个元素对应的索引缓冲区头所在的扇区号、第一集合中元素j对应的簇起始和更新后的簇大小,更新分区起始扇区的值。
17.进一步的,步骤s1中查找mft文件记录时,判断查找到的数据块是否属于mft文件记录块的方法为:
18.按照ntfs文件记录的结构对数据块databuff进行解析,以获得mft标识mftmagic、文件记录时间长度filerecordreallenth以及文件记录分配长度filerecordalloclenth;当同时满足以下三个条件时,则判断数据块databuff属于mft文件记录块;
19.条件一:databuff[30]等于databuff[1022],且databuff[31]等于databuff[1023];其中databuff[i]表示数据块databuff中的第i个字节,i为1-1024之间的整数;
[0020]
条件二:mft标识mftmagic为file;
[0021]
条件三:文件记录时间长度filerecordreallenth小于或等于文件记录分配长度filerecordalloclenth,且文件记录分配长度filerecordalloclenth等于1024。
[0022]
进一步的,步骤s2中查找索引缓冲区记录时,判断查找到的数据块是否属于索引缓冲区记录的方法为:
[0023]
对数据块进行解析,以获得索引标识indexmagic、索引项大小indexlenth、索引分配大小indexalloclenth以及索引填充值indexalign,只有同时满足以下两个条件时,才判断数据块属于索引缓冲区记录:
[0024]
条件一:索引标识indexmagic等于indx,且索引填充值indexalign等于0;
[0025]
条件二:索引项大小indexlenth小于或等于索引分配大小indexalloclenth,且索引分配大小indexalloclenth与24相加后的结果为512的倍数。
[0026]
进一步的,步骤s10中簇大小的更新公式为:簇大小为第一集合中元素对应的物理大小与簇链表中所有链表元素所占的簇数据的和的比值。
[0027]
进一步的,步骤s11中分区起始扇区partitionstartsector的更新公式为:表示
[0028]
partitionstartsector=indexheadersector
ii-clusersectornumber*cstart
clistfj0
[0029]
其中,indexheadersector
ii
表示第二集合i中第i个元素对应的索引缓冲区头所在的扇区号,clusersectornumber表示更新后的簇大小,cstart
clistfj0
表示第一集合中元素j对应的簇起始。
[0030]
一种ntfs文件格式化参数分析终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
[0031]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
[0032]
本发明采用如上技术方案,通过对格式化后的mft记录进行综合假设验证分析,基于mft记录中的总簇数和物理占用大小确定簇大小,基于文件多级索引结合假设验证分析确定分区起始扇区。本实施例方法能够较为准确的获得ntfs数据恢复所需的格式化参数,可为后续的ntfs数据恢复提供关键技术支撑,提升恢复准确性。
附图说明
[0033]
图1所示为本发明实施例一的流程图。
具体实施方式
[0034]
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
[0035]
现结合附图和具体实施方式对本发明进一步说明。
[0036]
实施例一:
[0037]
本发明实施例提供了一种ntfs文件格式化参数分析方法,如图1所示,所述方法包括以下步骤:
[0038]
s1:逐扇区在被格式化的分区中查找mft文件记录,并对查找到的mft文件记录进行解析,将解析结果加入到第一集合f内。
[0039]
该实施例中查找mft文件记录时,判断查找到的数据块是否属于mft文件记录块的方法为:
[0040]
按照ntfs文件记录的结构对数据块databuff进行解析,以获得mft标识mftmagic、文件记录时间长度filerecordreallenth以及文件记录分配长度filerecordalloclenth;当同时满足以下三个条件时,则判断数据块databuff属于mft文件记录块;
[0041]
条件一:databuff[30]等于databuff[1022],且databuff[31]等于databuff[1023];其中databuff[i]表示数据块databuff中的第i个字节,i为1-1024之间的整数;
[0042]
条件二:mft标识mftmagic为file;
[0043]
条件三:文件记录时间长度filerecordreallenth小于或等于文件记录分配长度filerecordalloclenth,且文件记录分配长度filerecordalloclenth等于1024。
[0044]
第一集合f用于存储文件或文件夹的元数据信息,集合内的各元素均包括:文件名filename、簇链表clist(链表中每个元素包含:簇起始cstart以及簇数目cnumber)、物理大小pfilesize、文件mft号filemftnumber、父目录mft号parentmftnumber。其中如果是文件clist中的数据来源于0x80属性的解析结果,文件夹来源于0xa0属性的解析结果。
[0045]
s2:逐扇区在被格式化的分区中查找索引缓冲区记录,并对查找到的索引缓冲区记录进行解析,将解析结果加入到第二集合i内。
[0046]
该实施例中查找索引缓冲区记录时,判断查找到的数据块是否属于索引缓冲区记录的方法为:
[0047]
对数据块进行解析,以获得索引标识indexmagic、索引项大小indexlenth、索引分配大小indexalloclenth以及索引填充值indexalign,只有同时满足以下两个条件时,才判断数据块属于索引缓冲区记录:
[0048]
条件一:索引标识indexmagic等于indx,且索引填充值indexalign等于0;
[0049]
条件二:索引项大小indexlenth小于或等于索引分配大小indexalloclenth,且索引分配大小indexalloclenth与24相加后的结果为512的倍数。
[0050]
第二集合i用于存储ntfs文件索引缓冲区索引信息,集合中各元素均包括:文件的父目录mft号parentmftnumber、索引缓冲区头所在的扇区号indexheadersector以及子目
录索引链表childindexlist(链表中每个元素包含:文件名称filename、文件mft号filemftnumber)。
[0051]
需要说明的是,索引缓冲区头所在的扇区号indexheadersector等于被搜索扇区的位置。
[0052]
s3:初始化设定序号i=1、分区起始扇区partitionstartsector为0,第二集合i中元素个数m,簇大小clusersectornumber为被格式化的分区的簇大小。
[0053]
被格式化的分区的簇大小通过解析该分区的dbr获得。
[0054]
s4:判断i≥m是否成立,如果是,结束;否则,进入s5。
[0055]
s5:判断第一集合f中是否存在一元素,使得该元素的文件mft号与第二集合i中第i个元素的文件mft号相等,如果存在,设定该元素为元素j,进入s6;如果不存在,令i自加1后,返回s4。
[0056]
s6:判断第一集合f中的元素j对应的链表元素个数是否等于1,如果是,进入s7;否则,令i自加1后,返回s4。
[0057]
s7:在第一集合f中查找所有满足父目录mft号与第二集合i中第i个元素的父目录mft号相等的元素,如果查找结果不为空,进入s8;如果查找结果为空,令i自加1后,返回s4。
[0058]
s8:针对查找结果中的任意元素,判断是否均满足该元素的文件mft号与第二集合i中第i个元素的子目录索引链表中的一链表元素的文件mft号相同,如果均满足,进入s9;如果存在有元素不满足的情况,令i自加1后,返回s4。
[0059]
s9:判断第一集合f中是否存在一元素,使得该元素的物理大小大于512,且簇链表不为空,如果存在,进入s10;如果不存在,结束。
[0060]
s10:根据步骤s9中判断存在的第一集合f中元素对应的物理大小和簇链表中所有链表元素所占的簇数据的和,更新簇大小clusersectornumber的值。
[0061]
该实施例中具体为:簇大小为第一集合f中元素对应的物理大小与簇链表中所有链表元素所占的簇数据的和的比值。
[0062]
s11:根据第二集合i中第i个元素对应的索引缓冲区头所在的扇区号indexheadersector
ii
、第一集合f中元素j对应的簇起始cstart
clistfj0
和更新后的簇大小clusersectornumber,更新分区起始扇区的值partitionstartsector。
[0063]
该实施例中具体为:
[0064]
partitionstartsector=indexheadersector
ii-clusersectornumber*cstart
clistfj0
[0065]
本发明实施例通过对格式化后的mft记录进行综合假设验证分析,基于mft记录中的总簇数和物理占用大小确定簇大小,基于文件多级索引结合假设验证分析确定分区起始扇区。本实施例方法能够较为准确的获得ntfs数据恢复所需的格式化参数,可为后续的ntfs数据恢复提供关键技术支撑,提升恢复准确性。
[0066]
实施例二:
[0067]
本发明还提供一种ntfs文件格式化参数分析终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
[0068]
进一步地,作为一个可执行方案,所述ntfs文件格式化参数分析终端设备可以是
桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述ntfs文件格式化参数分析终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述ntfs文件格式化参数分析终端设备的组成结构仅仅是ntfs文件格式化参数分析终端设备的示例,并不构成对ntfs文件格式化参数分析终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述ntfs文件格式化参数分析终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
[0069]
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述ntfs文件格式化参数分析终端设备的控制中心,利用各种接口和线路连接整个ntfs文件格式化参数分析终端设备的各个部分。
[0070]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述ntfs文件格式化参数分析终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0071]
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
[0072]
所述ntfs文件格式化参数分析终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)以及软件分发介质等。
[0073]
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献