[发明专利]一种通过重构文件记录优化NTFS文件系统速度的方法在审
申请号: | 202111479157.3 | 申请日: | 2021-12-06 |
公开(公告)号: | CN114168558A | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 郑衡 | 申请(专利权)人: | 成都傲梅科技有限公司 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/11;G06F16/172 |
代理公司: | 成都嘉企源知识产权代理有限公司 51246 | 代理人: | 何朝友 |
地址: | 610000 四川省成都市锦江区*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 文件 记录 优化 ntfs 文件系统 速度 方法 | ||
1.一种通过重构文件记录优化NTFS文件系统速度的方法,其特征在于:包括以下步骤:
分区选择步骤:用户选择需要优化的分区;
文件系统判断步骤:根据用户选择的分区,读取分区前512个字符,通过读取的512个字符判断当前分区是否为NTFS文件系统;如果是,则继续进行,如果不是,则结束;
文件分析步骤:分析MFT中的文件记录;
文件优化步骤:对选中分区中的文件进行优化,完成优化后结束;
文件系统判断步骤中,判断具体包括以下步骤:
步骤S1:根据选择的分区,获取分区的卷名,使用获取的分区卷名创建句柄;
步骤S2:通过DeviceIoControl使用FSCTL_GET_VOLUME_BITMAP控制代码获取bitmnap信息并得到分区总的簇数量;
步骤S3:通过DeviceIoControl使用FSCTL_GET_NTFS_VOLUME_DATA控制代码获取NTFS信息,记录MFT文件在分区中的几个开始与结束位置;
步骤S4:读取分区的前512个字节到buffer中,从第4个字节往后7个字节,判断是否等于0x202020205346544E,如果相等,则为NTFS文件系统并获取分区的相关基本信息,如果不相等,则结束操作;
步骤S5:通过ReadFi le根据MFT的起始位置和MFT每一条记录的大小读取MFT自身的记录;根据步骤S3获得的MFT文件开始位置,从开始位置依次读取MFT中每条NTFS文件记录的大小的数据供后续分析使用;
步骤S6:计算MFT中最大的节点数;计算方式为,MFT数据的大小除以MFT中每一条记录的大小,然后用最大节点数分配一个数组InodeArray来保存根据MFT每一条记录分析后得到的文件信息,将已经分析了的MFT文件记录保存到数组的第1个位置;并建立树型表,用于保存在分区中储存位置大于1的文件和文件夹
步骤S7:从第二个节点开始依次读取MFT每条记录的数据,重复步骤S5,分析每一个节点,直到最大节点数;
步骤S8:遍历树型表,将每个数据中的父目录与InodeArray数组中的父节点对应,用于后续拼出文件的完整路径。
2.根据权利要求1所述的一种通过重构文件记录优化NTFS文件系统速度的方法,其特征在于:所述文件分析步骤包括以下步骤:
MFT记录判断步骤:根据步骤S5中读取的MFT文件记录;判断读取的MFT记录是否到达最大记录;如果是,则完成分析,如果不是,则继续进行;
文件修复步骤:根据读出的NTFS文件记录头中的更新数组修改NTFS文件记录第一个扇区的最后两个字节和第二个扇区的最后两个字节;
文件头信息判断步骤:分析NTFS文件记录头,根据NTFS文件头信息中的flag标志位进行判断,如果flag标志位不为1,则该条记录未使用,退出分析;如果flag标志位为1,则该条记录正在在使用,记录该文件记录头的节点编号并进行此条NTFS文件属性分析;
根据NTFS文件头信息中的flag标志位进行判断,如果flag标志位等于2,则此文件记录代表目录,目录需要保存到分配的InodeArray数组中,用于后续拼出需要优化的文件的完整路径使用。
3.根据权利要求2所述的一种通过重构文件记录优化NTFS文件系统速度的方法,其特征在于:所述属性包括常驻属性和非常驻属性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都傲梅科技有限公司,未经成都傲梅科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111479157.3/1.html,转载请声明来源钻瓜专利网。