首页 / 专利库 / 图形技术 / 逐行扫描 / 一种FAT文件系统及其处理方法

一种FAT文件系统及其处理方法

阅读:237发布:2024-02-15

专利汇可以提供一种FAT文件系统及其处理方法专利检索,专利查询,专利分析的服务。并且本 发明 提供一种FAT文件系统及其处理方法,其中,该方法包括下列步骤:步骤A:对要删除的文件做删除标记,同时清除与要删除的文件对应的FAT表项;步骤B:记录该删除文件的 位置 、以及该文件对应的条目数目,并从该文件逐步搜索到根目录的末尾,记录末尾文件的位置及其条目数目;步骤C:判断末尾文件对应的条目数目是否等于所述删除文件对应的条目数目,在末尾文件对应的条目数目等于所述删除文件对应的条目数目时,用该末尾文件的条目 覆盖 该删除文件的条目,并将原末尾文件处的条目内容全部置零,将其对应的标记置可用标记。本发明的FAT文件系统及其处理方法,能够重新利用被删除文件名所占的空间,避免因文件被删除造成的浪费。,下面是一种FAT文件系统及其处理方法专利的具体信息内容。

1.一种FAT文件系统的处理方法,其特征在于,包括下列步骤:
步骤A:对要删除的文件做删除标记,同时清除与要删除的文件对应的 FAT表项;
步骤B:记录所述要删除的文件的位置、以及该文件对应的条目数目,并 从该文件逐步搜索到根目录的末尾,记录末尾文件的位置及其条目数目;
步骤C:判断所述末尾文件对应的条目数目是否等于所述要删除的文件对 应的条目数目,在所述末尾文件对应的条目数目等于所述要删除的文件对应的 条目数目时,用所述末尾文件的条目覆盖所述要删除的文件的条目,并将原末 尾文件处的条目内容全部置零,并置可用标记。
2.如权利要求1所述的FAT文件系统的处理方法,其特征在于,在所述 步骤A之前,进一步包括下列步骤:
预先设置一个存储模,存储与各个条目相对应的标记,FAT文件系统在 扫描根目录时,可以根据各个标记得知相应的条目是否可用。
3.如权利要求2所述的FAT文件系统的处理方法,其特征在于,所述存 储模块中存储的标记的数目与根目录下的条目数目相一致。
4.如权利要求2所述的FAT文件系统的处理方法,其特征在于,在步骤 C中,如果所述末尾文件对应的条目数目不等于所述要删除的文件对应的条目 数目时,执行下列步骤:
扫描并定位所述要删除的文件后的第一个为不可用标记的条目位置,将从 该不可用标记的条目一直到末尾文件相应的条目逐个向前移动该要删除的文 件对应的条目所占的空间,以覆盖前面的条目。
5.一种FAT文件系统,其特征在于,包括查询单元、分析单元、执行单 元,其中:
所述查询单元,用于查询并记录要删除的文件的位置和要删除的文件对应 的条目数目,以及查询并记录末尾文件的位置及其条目数目,并将查询结果发 送至分析单元;
分析单元,用于将查询单元发送来的要删除的文件对应的条目数目和末尾 文件对应的条目数目进行比较,在所述末尾文件对应的条目数目等于所述要删 除的文件对应的条目数目时,通知执行单元用所述末尾文件的条目覆盖所述要 删除的文件的条目;
执行单元,用于根据分析单元发送来的通知用所述末尾文件的条目覆盖所 述要删除的文件的条目,并将原末尾文件处的条目内容全部置零,并置可用标 记。
6.如权利要求5所述的FAT文件系统,其特征在于,所述查询单元中, 进一步包括存储模块,用于存储根目录下表示各个条目是否可用的标记。
7.如权利要求6所述的FAT文件系统,其特征在于,所述存储模块中存 储的标记的数目与根目录下的条目数目相一致。
8.如权利要求6所述的FAT文件系统,其特征在于,所述分析单元,进 一步用于在所述末尾文件对应的条目数目不等于所述要删除的文件对应的条 目数目时,通知执行单元将所述要删除的文件后的第一个为不可用标记的条目 一直到末尾文件相应的的条目逐个向前移动所述要删除的文件对应的条目所 占的空间,以覆盖前面的条目。

说明书全文

技术领域

发明涉及计算机技术领域,特别涉及一种FAT文件系统及其处理方法

背景技术

文件分配表(File Allocation Table,FAT)文件系统是微软定义的一种管 理磁盘数据空间的文件系统,创建于70年代末80年代初,起初用于MS-DOS 操作系统,只将其定位为一种简单的文件系统,只适合于软盘管理,而当时的 软盘也不过1M的存储范围而已。随着新技术的不断发展,磁盘存储空间不断 变大,最初的FAT设计已不能满足需要,因此微软在原有基础上对FAT进行 了扩展,即现在的FAT12、FAT16、以及FAT32文件系统,这三种文件系统已 基本满足不同存储空间范围的空间管理了。
对于一个空白的磁盘数据区,可以认为是一连续的空白数据区,用户可 以直接在该空白数据区上读写数据。而FAT文件系统,就是在该空白磁盘空 间上做了一些定义规划,以方便使用磁盘空间。在定义了FAT文件系统之后, 所有对磁盘空间的直接读写对用户而言是禁止的,只对FAT文件系统开放, 用户对磁盘的操作通过FAT文件系统定义的接口来实现,例如打开文件、读 写文件、关闭文件等操作。
现有的FAT文件系统包含4部分:参数区、FAT表、目录区以及数据区。 FAT文件系统中规定了对磁盘读写操作的基本单位为512个字节,通常称为一 个块(block),在block的基础上又定义了簇(Cluster)的概念,一个簇会包 含1个或多个block,在参数区中说明具体包含的数目。其中,block是读写磁 盘的最小单位。
其中,参数区,主要用于记录整个FAT文件系统中相关的参数设置。例 如:一个簇包含几个block,一个FAT表由多少个block构成,一个文件系统 包含多少个FAT表等。此外,在参数区中可能会保留几个block作为其它用途。
FAT表,用于对FAT文件系统的磁盘空间进行管理。FAT表中基本表项 可以为12个bit,16个bit或32个bit,即所谓的FAT12、FAT16、FAT32。FAT 表中一个基本表项对应于数据区的一个簇,简单地说,就是将磁盘划分为数据 区和标记区,FAT表就是做标记的地方。实际上FAT表构造一个单向链表结 构,对每一FAT表项而言,其可以包含两类信息,一是其为第几个表项,可 通过FAT表项的索引值得知,例如从零开始;二是该表项里存储的相应数据, FAT文件系统将该数据的值定义为下一个FAT表项的索引值。这样就形成了 一个单项链表,链表结束处FAT表项的值为零。
目录区,用于存储根目录下的文件名,FAT文件系统定义了根目录最多存 储512个短文件名。目录区中的基本存储单位为条目(Entry)。一个短文件名 对应一个条目,一个条目占32个字节(Byte),根目录下共有512个条目,共 32个块(Block)。每一个条目中都包含指向的数据区的起始簇和文件大小, 通过起始簇就可以再通过FAT表索引数据区,以此读取整个文件的内容。
其中:name,为文件或目录的名字;Ext,为扩展名;Attr,为属性字段; Time_ms,为时间字段;Create time,为创建时间;Create date,为创建日期; Access date,为最近一次访问日期;Start cluster HI,为文件或目录对应数据区 的起始簇的高位;Modify time,为最近一次修改时间;Modify date,为最近一 次修改日期;Start cluster LO,为文件或目录对应数据区的起始簇的低位;Filc size,为文件大小等。
如果到了目录区的末尾条目,即没有下一个可用的目录了,可以通过从末 尾条目的下一个条目的全部字节置零来表示条目的结束。
数据区,其以簇为存储单位,通过文件的链表组织起来。其中的数据的读 写都是被动的,FAT表指向哪就读哪。
在FAT文件系统中删除文件时,采用置标记的方式。以一个短文件名为 例,一个短文件名在FAT16的根目录里是由32个字节来存储的,当删除一个 文件时Windows的通常做法是将要删除的文件名的第一个字节改为0xE5,这 样文件系统在浏览时若遇到这样标记过的文件项就会跳过,不作显示,但实际 上这32个字节还放在那里,那么就少了一个文件存放了。
因此,现有的FAT文件系统存在以下问题:在现有的FAT文件系统中删 除文件时只是对文件名做了删除标记,但是并不清除该文件名,这样文件虽然 被删除,但是文件名仍占用着存储空间,由于对磁盘根目录的频繁写入、删除 文件,会导致根目录下可创建的文件数目大大减小,就会出现磁盘剩余大量空 间,但根目录却无法继续创建新文件。

发明内容

本发明的目的在于,提供一种FAT文件系统,能够重新利用被删除文件 名所占的空间,避免因文件被删除后,表示该文件名的条目依旧存在,而造成 的浪费。
本发明的另一目的在于,提供一种FAT文件系统的处理方法,能够重新 利用被删除文件名所占的空间,避免因文件被删除后,表示该文件名的条目依 旧存在,而造成的浪费。
本发明的FAT文件系统的处理方法,包括下列步骤:
步骤A:对要删除的文件做删除标记,同时清除与要删除的文件对应的 FAT表项;
步骤B:记录所述要删除的文件的位置、以及该文件对应的条目数目,并 从该文件逐步搜索到根目录的末尾,记录末尾文件的位置及其条目数目;
步骤C:判断所述末尾文件对应的条目数目是否等于所述要删除的文件对 应的条目数目,在所述末尾文件对应的条目数目等于所述要删除的文件对应的 条目数目时,用所述末尾文件的条目覆盖所述要删除的文件的条目,并将原末 尾文件处的条目内容全部置零,并置可用标记;否则,返回步骤C。
其中,在所述步骤A之前,进一步包括下列步骤:
预先定义一个存储模块,存储与各个条目相对应的标记,FAT文件系统在 扫描根目录时,可以根据各个标记得知相应的条目是否可用。
其中,所述存储模块中存储的标记的数目与根目录下的条目数目相一致。
在步骤C中,如果所述末尾文件对应的条目数目不等于所述要删除的文 件对应的条目数目时,可以执行下列步骤:
扫描并定位所述要删除的文件后的第一个为不可用标记的条目位置,将从 该不可用标记的条目一直到末尾文件相应的条目逐个向前移动该要删除的文 件对应的条目所占的空间,以覆盖前面的条目。
本发明的FAT文件系统,包括查询单元、分析单元、执行单元,其中: 所述查询单元,用于查询并记录要删除的文件的位置和要删除的文件对应的条 目数目,以及查询并记录末尾文件的位置及其条目数目,并将查询结果发送至 分析单元;分析单元,用于将查询单元发送来的要删除的文件对应的条目数目 和末尾文件对应的条目数目进行比较,在所述末尾文件对应的条目数目等于所 述要删除的文件对应的条目数目时,通知执行单元用所述末尾文件的条目覆盖 所述要删除的文件的条目;执行单元,用于根据分析单元发送来的通知用所述 末尾文件的条目覆盖所述要删除的文件的条目,并将原末尾文件处的条目内容 全部置零,并置可用标记。
其中,所述查询单元中,可以进一步包括存储模块,用于存储根目录下表 示各个条目是否可用的标记。
所述存储模块中存储的标记的数目与根目录下的条目数目相一致。
所述分析单元,可以进一步用于在所述末尾文件对应的条目数目不等于所 述要删除的文件对应的条目数目时,通知执行单元将所述要删除的文件后的第 一个为不可用标记的条目一直到末尾文件相应的的条目逐个向前移动所述要 删除的文件对应的条目所占的空间,以覆盖前面的条目。
本发明的有益效果是:依照本发明的FAT文件系统及其处理方法,通过 重新利用被删除文件名所占的空间,避免因文件被删除后,表示该文件名的条 目依旧存在,而造成的浪费。
附图说明
图1为本发明的FAT文件系统的处理方法流程图
图2为本发明的FAT文件系统的结构示意图。

具体实施方式

以下,参考图1~2详细描述本发明的FAT文件系统及其处理方法。
如图1所示,为本发明的FAT文件系统的处理方法流程图,包括下列步 骤:
步骤100:对要删除的文件做删除标记,同时清除与要删除的文件对应的 FAT表项。
其中,在步骤100中,对要删除的文件做删除标记,包括下列步骤:
步骤11:在删除文件时,首先搜索该文件对应的条目,例如可以通过比 较该文件相应的条目(Entry)中的文件名来找到该文件;
步骤12:在该条目的第一个字节(Byte)置特定标记,即删除标记,例 如0xE5。
此外,在步骤100之前,进一步包括下列步骤:预先定义一个存储模块, 存储与各个条目相对应的标记,FAT文件系统在扫描根目录时,可以根据各个 标记得知相应的条目是否可用。
在具体实现时,该存储模块可以为一个大小与根目录下的条目数目相一致 的数组。例如,对于只有512个条目项的FAT16文件系统而言,可以建立一 个数组bool bEntry[512],用于存储与各个条目相对应的标记。
步骤200:记录该文件的位置、以及该文件对应的条目数目,并从该文件 逐步搜索到根目录的末尾,记录末尾文件的位置及其条目数目;
其中:末尾文件的条目以后的内容全为零。
其中,可以用x1表示删除文件的位置,用y1表示该文件对应的条目数目; 用x2表示末尾文件的位置,用y2表示末尾文件对应的条目数目。在现有的 FAT文件系统中规定,一个短文件名对应的条目数目为1,一个长文件名对应 的条目数目至少为2。
步骤300:判断y2是否等于y1,在y2等于y1时,用x2处的条目覆盖 x1处的条目,并将原x2处的条目内容全部置零,将其置可用标记。
这里,判断y1是否等于y2的目的在于:判断末尾文件与删除文件是否都 是短文件名,或者是否是具有相同条目数目的长文件名。如果两个文件相应的 条目数目不一致,则会出现不能替换或造成浪费的问题。例如:如果末尾文件 的文件名为3个条目的长文件名,而删除文件的文件名为1个条目的短文件名, 此时,会出现不能替换的问题,反之会造成浪费的问题。
因此,为了解决上述问题,基于如上所述,在步骤300中,如果y2不等 于y1时,可以执行下列步骤:
扫描并定位该删除文件后的第一个为不可用标记的条目位置,将从该不可 用标记的条目一直到末尾文件相应的条目逐个向前移动该删除文件对应的条 目所占的空间,以覆盖前面的条目。
例如,该删除文件对应的条目数目为2,则从该不可用标记的条目一直到 末尾文件相应的条目逐个向前移动2个条目,以覆盖前面的条目。
下面,对本发明的FAT文件系统进行描述,如图2所示,在该FAT文件 系统中包括:执行单元、查询单元、分析单元。其中:
查询单元,用于查询并记录删除文件的位置x1和删除文件对应的条目数 目y1,以及查询并记录末尾文件的位置及其条目数目,并将查询结果发送至 分析单元;
其中,在查询单元中,包括存储模块,用于存储根目录下表示各个条目是 否可用的标记。
例如,对于只有512个条目的FAT16文件系统而言,该存储模块可以存 储与512个条目相应的512个标记。
分析单元,用于将查询单元发送来的删除文件对应的条目数目y1和末尾 文件对应的条目数目y2进行比较,在比较结果为y1等于y2时,通知执行单 元用x2处的条目覆盖x1处的条目;
执行单元,用于根据分析单元发送来的通知用x2处的条目覆盖x1处的条 目,并将原x2处的条目内容全部置零,将其对应的标记置可用标记。
此外,分析单元,可以进一步用于在比较结果为y1不等于y2时,通知执 行单元将该删除文件后的第一个为不可用标记的条目一直到末尾文件相应的 条目逐个向前移动该删除文件对应的条目所占的空间,以覆盖前面的条目。
综上所述,依照本发明的FAT文件系统的处理方法,能够重新利用被删 除文件名所占的空间,避免因文件被删除后,表示该文件名的条目依旧存在, 而造成的浪费。
以上是为了使本领域普通技术人员理解本发明,而对本发明所进行的详细 描述,但可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其 它的变化和修改,这些变化和修改均在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈