一种针对NTFS文件系统进行快速文件排除的方法及系统技术方案

技术编号:32974601 阅读:19 留言:0更新日期:2022-04-09 11:49
本发明专利技术公开了一种针对NTFS文件系统进行快速文件排除的方法和系统,该方法包括:加载文件删除列表;初始化目标卷元文件$MFT;逐条解析$MFT中的文件记录,生成文件记录列表;对照文件记录列表的记录项,删除具有删除标志的文件或者文件夹在$MFT对应的文件记录;在$ObjId、$Reparse文件的Index数据中,删除被删除文件或者文件夹的Index信息,重新排列Index数据并保存;更新$MFT的$Bitmap;更新目标卷的$Bitmap。通过建立文件记录列表对所有文件或者文件夹进行记录,并对待删除的文件或者文件夹标注删除标记,提高了删除效率,缩短了备份磁盘的时间。磁盘的时间。磁盘的时间。

【技术实现步骤摘要】
一种针对NTFS文件系统进行快速文件排除的方法及系统


[0001]本专利技术属于磁盘备份
,尤其涉及一种在NTFS文件系统下快速排除文件的方法及系统。

技术介绍

[0002]NTFS英文全称New Technology File System,中文名叫新技术文件系统,是WindowsNT环境的文件系统。NTFS是Windows NT家族(如Windows 2000、Windows XP、Windows Vista、Windows 7和windows 8.1等)的限制级专用的文件系统。NTFS提供长文件名、数据保护和恢复,并通过目录和文件许可实现安全性。NTFS支持大硬盘和在多个硬盘上存储文件。NTFS提供内置安全性特征,它控制文件的隶属关系和访问。从DOS或其他操作系统上不能直接访问NTFS分区上的文件。
[0003]NTFS文件系统中现有删除文件一般流程如下:
[0004]1、在父目录中找到文件对应的Index Record(IR),得到文件的File record number(FRN)。
[0005]2、删除该IR,调整Index Record的排序,保存Index record。
[0006]3、把文件占用的File Record释放(标记为未使用),保存File Record.
[0007]4、把文件占用的控件释放,根据文件的属性的dataruns设置$Bitmap对应数据位,保存$Bitmap。
[0008]5、调整$ObjId等记录文件信息的元文件。$ObjId保存的Item也是用B*树排序保存,删除也要重新排序调整后保存。
[0009]而在进行磁盘备份时,要对无需备份的文件或者文件夹进行排除。Windows系统API删除文件或者文件夹都要走上面的一般流程,删除一个就要执行一遍上面一般流程,如果需要删除的文件或者文件夹较多就会消耗大量的时间和系统资源,使得整个备份的时间也增加。

技术实现思路

[0010]有鉴于此,本专利技术提供一种针对NTFS文件系统进行快速文件排除的方法及系统,在备份前将需要删除的文件或者文件夹统一删除,无需为每一个待删除的文件或者文件夹都走一遍删除流程,减少文件删除的时间。
[0011]为解决以上技术问题,本专利技术提供一种针对NTFS文件系统进行快速文件排除的方法,包括:
[0012]加载文件删除列表,并以读写方式打开并锁定需要进行备份的目标卷的卷影副本;
[0013]初始化目标卷元文件$MFT,获取$MFT的$Data的数据块列表$MFT

DataRuns以及获取$MFT的$Bitmap;
[0014]逐条解析$MFT中的文件记录,形成文件记录列表,所述文件记录列表的记录项数
量与文件记录的数量一致;在文件记录列表中记录文件或者文件夹的基本信息,所述基本信息包括文件的删除标志、其父目录的文件记录号,文件夹的删除标志、子项删除标志、其父目录的文件记录号、该文件夹的名称;
[0015]对照文件记录列表的记录项,删除具有删除标志的文件或者文件夹在$MFT对应的文件记录;对于具有子项删除标志的记录项,则加载此文件夹的Index数据,把具有删除标志的子项对应的Index项删除,并重新排列未删除的子项后保存index数据;
[0016]在$ObjId、$Reparse文件的Index数据中,删除被删除文件或者文件夹的Index信息,重新排列Index数据并保存;
[0017]更新$MFT的$Bitmap;
[0018]更新目标卷的$Bitmap。
[0019]作为一种改进,所述逐条解析$MFT中的文件记录,形成文件记录列表,并在文件记录列表中填写文件或者文件夹的基本信息包括:
[0020]查阅$MFT中已使用的文件记录的文件记录头并生成文件记录列表,所述文件记录列表的记录项数量与已使用的文件记录的数量一致;
[0021]解析已使用的文件记录中所有0X30属性得到文件或文件夹的名称以及其父目录的名称,把文件的父目录文件记录号记录到对应的记录项中,把文件夹的名称和其父目录的文件记录号记录到对应的记录项中;
[0022]将文件或者文件的名称与其父目录的名称组成文件或者文件夹的全路径,通过全路径与文件删除列表对比判断文件或者文件夹是否需要删除;把待删除的文件或者文件夹在文件记录列表对应的记录项中设置删除标志,并且在待删除文件或者文件夹对应的父目录记录项中设置子项删除标志。
[0023]作为一种改进,利用$MFT中的$Bitmap判断文件记录是否被使用。
[0024]作为一种优选,若文件或者文件夹占用两个或者两个以上的文件记录,则将其基本信息填写到文件记录列表中与其基准文件记录号对应的记录项中。
[0025]作为一种改进,若文件存在多个0X30属性,对每个0x30中的文件名组装全路径,对比文件删除列表,需要删除的0X30属性建立排除列表。
[0026]作为一种改进,在解析已使用的文件记录中所有0X30属性时,若文件或者文件夹的0X30属性中指向的该文件或者文件夹的父目录的文件记录还未分析,则跳转至该父目录对应的文件记录进行解析。
[0027]作为一种改进,所述对具有删除标志的文件或者文件夹进行删除时,若文件或者文件夹的所有0X30属性需要删除,则删除该文件或者文件夹相关的所有文件记录,释放对应文件记录占用的文件记录及存储空间;若文件或者文件夹仅部分0X30属性需要删除,则删除该文件或者文件夹需要删除的0X30属性。
[0028]作为一种改进,根据B*Tree算法重新排列未删除的子项。
[0029]本专利技术还提供一种针对NTFS文件系统进行快速文件排除的系统,包括:
[0030]文件记录列表创建模块,文件记录列表创建模块,用于通过解析$MFT中的文件记录创建文件记录列表,并在文件记录列表中记录文件或者文件夹的基本信息;所述基本信息包括文件的删除标志、其父目录的文件记录号,文件夹的删除标志、子项删除标志、其父目录的文件记录号、该文件夹的名称;
[0031]删除模块,用于遍历文件记录列表,删除带有删除标志的文件或者文件夹,修改卷位图释放文件或文件夹占用空间;
[0032]Index数据管理模块,用于调整有子项删除标志的文件记录的Index,删除所有具有删除标志的子项相关的的Index信息,并重新排列Index数据。
[0033]作为一种改进,还包括:
[0034]$Bitmap更新模块,用于更新$MFT及目标卷的$Bitmap。
[0035]本专利技术的有益之处在于:具有上述步骤的针对NTFS文件系统进行快速文件排除的方法以及具有上述结构的系统,通过建立文件记录列表对所有文件或者文件夹进行记录,并对待删除的文件或者文件夹标注删除标记,从而进行统一的删除操作,无需为每一个待删除的文件或者文件夹都单独走一次删除流程,提高了删除效率,缩短了备份磁盘的时间。...

【技术保护点】

【技术特征摘要】
1.一种针对NTFS文件系统进行快速文件排除的方法,其特征在于包括:加载文件删除列表,并以读写方式打开并锁定需要进行备份的目标卷的卷影副本;初始化目标卷元文件$MFT,获取$MFT的$Data的数据块列表$MFT

DataRuns以及获取$MFT的$Bitmap;逐条解析$MFT中的文件记录,生成文件记录列表;在文件记录列表中记录文件或者文件夹的基本信息,所述基本信息包括文件的删除标志、其父目录的文件记录号,文件夹的删除标志、子项删除标志、其父目录的文件记录号、该文件夹的名称;对照文件记录列表的记录项,删除具有删除标志的文件或者文件夹在$MFT对应的文件记录;对于具有子项删除标志的记录项,则加载此文件夹的Index数据,把具有删除标志的子项对应的Index项删除,并重新排列未删除的子项后保存index数据;在$ObjId、$Reparse文件的Index数据中,删除被删除文件或者文件夹的Index信息,重新排列Index数据并保存;更新$MFT的$Bitmap;更新目标卷的$Bitmap。2.根据权利要求1所述的一种针对NTFS文件系统进行快速文件排除的方法,其特征在于所述逐条解析$MFT中的文件记录,形成文件记录列表,并在文件记录列表中填写文件或者文件夹的基本信息包括:查阅$MFT中已使用的文件记录的文件记录头并生成文件记录列表,所述文件记录列表的记录项数量与已使用的文件记录的数量一致;解析已使用的文件记录中所有0X30属性得到文件或文件夹的名称以及其父目录的名称,把文件的父目录文件记录号记录到对应的记录项中,把文件夹的名称和其父目录的文件记录号记录到对应的记录项中;将文件或者文件的名称与其父目录的名称组成文件或者文件夹的全路径,通过全路径与文件删除列表对比判断文件或者文件夹是否需要删除;把待删除的文件或者文件夹在文件记录列表对应的记录项中设置删除标志,并且在待删除文件或者文件夹对应的父目录记录项中设置子项删除标志。3.根据权利要求2所述的一种针对NTFS文件系统进行快速文件排除的方法,其特征在于:利用$MFT的$Bitmap判断文件记录是否被使用。4.根据权利要求2所述的一种针对NTFS文件系...

【专利技术属性】
技术研发人员:韦家鹏
申请(专利权)人:成都易我科技开发有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1