一种fat格式文件系统中加速打开/关闭文件的方法技术方案

技术编号:3803674 阅读:379 留言:0更新日期:2012-04-11 18:40
一种fat格式文件系统中加速打开/关闭文件的方法,包括以下步骤:(1).打开文件,系统根据参数判断该文件是否需要读取fat链表信息,如果是,则系统先读取fat链表信息,再对文件进行操作,然后转入步骤(2);否则,直接对文件进行操作,然后转入步骤(3);(2).系统根据参数判断该文件是否需要刷新目录项信息,如果是,则系统先刷新目录项信息,然后转入步骤(3);否则,直接转入步骤(3);(3).关闭文件。本发明专利技术有效提高了fat格式文件系统的文件打开/关闭的速度,从而提高操作效率。

【技术实现步骤摘要】

本专利技术涉及。
技术介绍
嵌入式系统中,由于某些功能的特性以及设计思想,要求对于某些文件的打开操 作具有相当高的频繁度,或是要求同时打开很多个文件,但由于系统对于这些操作的时间 有一定的限制,如果超出该时间限制,则会令操作失败,因此,需要一种快速的打开文件的 方法来解决这类问题。对于一个fat(File Allocation Table,文件分配表)文件,它是由文件的目录项、 fat链表以及文件内容组成。现有的fat文件系统中打开文件的方法,包括如下步骤通过 文件的目录项找到它的簇链的第一个位置,然后读取整条簇链信息(fat链表信息),最后 可以根据需要找到簇链中对应的文件内容。对于这个过程,时间主要都耗在了簇链读取的 过程中,尤其是当该磁盘已经被使用了相当长的一段时间,fat表中存在许多碎片,并且文 件内容比较大时,读取一条簇链信息可能需要跨越十几个乃至几十个扇区。因此,对于某些 操作是严重耗时的,例如,系统需要打开数目众多的文件;频繁打开文件,检验该文件是否 存在;获取文件的创建时间,修改时间或是最后访问时间;获取文件大小的信息等。现有的fat文件关闭方法,需要最后将fat链表信息逐个写入,并且同时刷新文件 的目录项信息,以保证文件簇链信息的完整性。对于多数系统文件,这样的操作既多余又耗 时,因为多数系统文件是用来记录一些固定的结构信息或是少量的配置信息的,这些文件 的大小以及文件目录项信息是固定不变的。
技术实现思路
本专利技术的目的是提供,意在 提高fat格式文件系统的文件打开、关闭的速度,从而提高操作效率。本专利技术的技术方案可以通过以下的技术措施来实现,一种fat格式文件系统中加 速打开/关闭文件的方法,包括以下步骤(1).打开文件,系统根据参数判断该文件是否需要读取fat链表信息,如果是,则 系统先读取fat链表信息,再对文件进行操作,然后转入步骤(2);否则,直接对文件进行操 作,然后转入步骤⑶;(2).系统根据参数判断该文件是否需要刷新目录项信息,如果是,则系统先刷新 目录项信息,然后转入步骤(3);否则,直接转入步骤(3);(3).关闭文件。上述参数为文件打开函数中的参数,即分别定义“加速打开文件_不读取fat链表 信息”、“加速关闭文件_不刷新目录项信息”为文件打开函数的两个参数,可以将上述其中 一个参数预先传入到文件打开函数中,即当用户打开文件,对文件打开函数进行调入时,便 传入相应参数,从而实现加速打开、关闭文件的目的。本专利技术所述的步骤(1)中,系统先读取fat链表信息,再对文件进行的操作一般为 读写操作;系统不读取fat链表信息,而直接对文件进行的操作一般为与文件内容无关的 操作。因此,当打开文件时,当前并不需要用到该文件的簇链信息,而仅仅是为了找到这 个文件的相关信息,进行例如检验文件是否存在,获取文件的创建时间、修改时间、最后访 问时间,获取文件大小,获取文件属性信息等与文件内容无关的操作,则适合采用加速打开 文件的方法,即系统不读取fat链表信息,直接对文件进行操作。当以后需要使用时,再将 这部分fat链表信息读取出来。文件的目录项信息包括文件名称、文件创建时间、修改时间、最后访问时间、文件 属性、文件长度等。对于某些文件,如果文件的修改时间、最后访问时间等信息是不重要的, 并且文件的名称没有发生任何变化,那么关闭这个文件时,目录项信息是不需要刷新的,即 适合采用本专利技术所述步骤2中的加速关闭文件的方法。文件的fat链表是记录文件大小(长度)的一个链表,而文件的目录项信息中包 括一个上述的文件长度的记录项,因此,文件的fat链表和目录项信息总是相互联系的,即 目录项信息中记录的文件长度与fat链表中记录的文件长度必须一致。本专利技术还可以作如下改进,当对文件完成读写操作后,文件大小没有发生变化,每 次在关闭此类文件的时候,将不再需要刷新fat链表信息和目录项信息。因此,本专利技术所 述的步骤(2)中,系统可以根据参数同时判断文件是否需要刷新fat链表信息和目录项信 息,如果是,则系统同时刷新fat链表信息和目录项信息,然后转入步骤(3);否则,在不刷 新fat链表信息和目录项信息的情况下直接转入步骤(3)。相应地,可以定义“加速关闭文 件_不刷新fat链表信息和目录项信息”为文件打开函数的第三个参数,将该参数预先传入 到文件打开函数中后,系统则在不刷新fat链表信息和目录项信息的情况下直接将文件关 闭。与现有技术相比,本专利技术的优点是(1).本专利技术的fat格式文件系统中加速打开/关闭文件的方法,对于提高操作效 率有显著效果。采用本专利技术的方法后,打开文件时不需要读取fat链表信息,在某些操作上 会节约相当可观的时间,如频繁打开文件,检验该文件是否存在;获取文件的创建时间, 修改时间或者最后访问时间等;获取文件大小的信息。同理,关闭文件时也可以相应缩短文 件的操作流程,即可以不刷新fat链表信息、不刷新目录项信息而直接关闭文件,大大节约 了操作时间。需要说明的是,文件打开或关闭的时间是与文件的大小成正比的,因此,如果 所要操作的文件是比较大的,那么节约的时间将会是相当可观的。(2).本专利技术的fat格式文件系统中加速打开/关闭文件的方法,该加速方法是可 配置的,增强了使用本方法的灵活性用户打开文件的时候,只需要配置相应的打开方式, 即将相应的参数预先传入到文件打开函数中,就可以任意选择自己需要的特性加速打开 文件_不读fat链表信息、加速关闭文件_不刷新目录项信息、加速关闭文件_不刷新fat 链表信息和目录项信息。以上这三种方式也可以与正常打开/关闭文件的方法混合使用。下面为分别应用本专利技术与现有技术进行打开、关闭文件的对比实例,进一步说明 本专利技术的有益效果实例1 打开一个大小为IOM的文件,并进行检查这个文件是否存在的操作。用普通的打开方式,需要耗时为52毫秒;而使用本专利技术的加速打开方式,需要耗时仅为5毫秒。实例2 用手机开机打开一个大小为IOOk的文件,并进行修改这个文件内容的操 作,但文件大小不变。使用普通关闭文件方式,需要耗时为882毫秒;而使用本专利技术的加速 关闭文件方式,即不刷新fat链表、不刷新目录项,需要耗时仅为356毫秒。以上对比实例充分证明了本专利技术的加速打开/关闭文件的方法可以有效节省操 作时间,从而提高操作效率。附图说明图1是本专利技术实施例1的流程图;图2是本专利技术实施例2的流程图。具体实施例方式实施例1本专利技术的具体实施方式如图1所示,一种fat格式文件系统中加速打开/关闭文 件的方法,包括以下步骤(1).打开文件,系统根据参数判断该文件是否需要读取fat链表信息,如果是,则 系统先读取fat链表信息,再对文件进行操作,然后转入步骤(2);否则,直接对文件进行操 作,然后转入步骤⑶;(2).系统根据参数判断该文件是否需要刷新目录项信息,如果是,则系统先刷新 目录项信息,然后转入步骤(3);否则,直接转入步骤(3);(3).关闭文件。本专利技术的参数为文件打开函数中的参数,即分别定义“加速打开文件_不读取fat 链表信息”、“加速关闭文件_不刷新目录项信息”为文件打开函数的两个参数,并将上述其 中一个参数预先传入到文件打开函数中,即当用户打开文件,对文件打开函数进行调入时,本文档来自技高网...

【技术保护点】
一种fat格式文件系统中加速打开/关闭文件的方法,其特征在于包括以下步骤:(1).打开文件,系统根据参数判断该文件是否需要读取fat链表信息,如果是,则系统先读取fat链表信息,再对文件进行操作,然后转入步骤(2);否则,直接对文件进行操作,然后转入步骤(3);(2).系统根据参数判断该文件是否需要刷新目录项信息,如果是,则系统先刷新目录项信息,然后转入步骤(3);否则,直接转入步骤(3);(3).关闭文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐晶范敬才胡胜发
申请(专利权)人:安凯广州微电子技术有限公司
类型:发明
国别省市:81[中国|广州]

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

1