降低嵌入式设备创建fat文件名时间与空间开销的方法

文档序号:6553877阅读:169来源:国知局
专利名称:降低嵌入式设备创建fat文件名时间与空间开销的方法
降低嵌入式设备创建FAT文件名时间与空间开销的方法
技术领域
本发明涉及一种嵌入式技术领域,尤其涉及一种降低嵌入式设备创建FAT文件名时间与空间开销的方法。
背景技术
早期DOS的以8. 3格式文件命名方式来命名,要求文件主名不能超过8个字符、扩展名不能超过3个字符,并且不支持汉字字符。随着计算机技术的发展,记录信息的文件个数以爆炸式增长。8. 3短文件名格式已经远不能满足人们对文件命名的要求。为此,Windows 的FAT32文件系统实现了长文件名机制。FAT文件系统的原理可以简单地描述为把存储空间分块映射到一个表中,从而实现对存储空间的灵活支配。存储空间中的每一个块被称为簇,存储空间的映射表被称作FAT表。下面介绍FAT32文件系统对文件的管理。除了根目录的所有文件(子目录也作为一种特殊的文件存在)都对应一组数据作为文件来描述,被称为文件名。每个文件名由一个或者多个文件目录项组成,每个文件目录项由32个字节(一个字节有8位二进制数)构成。所谓的8. 3格式短文件名就只有一个文件目录项,每个文件目录项可以保存8个主名和3个扩展名;而长文件名是由连续的几个文件目录项组成,其中,有一个文件目录项,里面存放该长文件名所对应的短文件名,因此该目录项常被称为短目录项;剩下的其他目录项用于存放长文件名字符串,因此这些文件目录项又常被称为长目录项。每个文件名所对应的文件目录项里面有包含该文件的文件名、文件属性、文件大小、文件存储位置等信息。把文件名和该文件属性所对应的空间蔟联系在一起就可以完全把握一个文件在硬盘的存储情况,通过下面的步骤可定位出文件的所有内容(1)通过路径找到文件所在目录的簇;(2)在目录对应的空间内比对文件名,找到文件对应的文件目录项;(3)通过文件目录项确定文件的起始簇和文件大小;(4)根据FAT表内的簇链确定文件的存储空间。在长文件名机制中,为了与8. 3格式文件名兼容,一个长文件名的文件目录项的组成如下表1所示表权利要求
1.一种降低嵌入式设备创建FAT文件名时间与空间开销的方法,其特征在于,包括以下步骤步骤10、在嵌入式设备内存中定义一位示图;步骤20、截取预创建文件名的前6个字符并将其转换为大写,作为预创建文件名对应的短目录项的前6个字符;步骤30、开始扫描当前目标目录,进行新建预创建文件名的任务,在一遍扫描过程中, 同步完成以下处理步骤31、扫描遍历预创建文件名所在当前目标目录下的所有各文件名对应长目录项的项数,逐一比较预创建文件名对应长目录项的项数与所述目标目录下各文件名对应长目录项的项数是否相等;所述目标目录下的第一文件名对应长目录项的项数;不相等,则进行所述目标目录的第二个文件名对应长目录项的项数比较;相等,则进行第一文件名与所述预创建文件名的字符串比较来确定预创建文件名与第一文件名是否同名;是,则停止预创建文件的创建处理;否则进行所述目标目录的第二个文件名对应长目录项的项数比较;当所述目标目录下所有文件名根据上述方式比较完且没有存在同名情况下,转入步骤32 ;步骤32、检索与所述预创建文件名相似的各文件名,逐一根据与所述预创建文件名相似的各文件名对应的短目录项的扩展序号,对应填写所述位示图;步骤33、记录当前目标目录下第一处能存放预创建文件名的位置; 步骤34、查找所述位示图第一个值为0的空闲位,假设其空闲位是位示图中第m个字节的第η位,则预创建文件名对应的短目录项的扩展序号为m*8+n+l ;步骤35、将步骤20中预创建文件名对应的短目录项的前6个字符与所述扩展序号相结合,来产生最后的短目录项名称,并在所述步骤33的位置中写入预创建文件名的完整名字,完成该文件名的创建。
2.根据权利要求1所述的降低嵌入式设备创建FAT文件名时间与空间开销的方法,其特征在于步骤32填写所述位示图具体为逐一将各文件名对应的短目录项的扩展序号减去1,然后再除以8得到的商和余数,那么商即为横坐标,余数即为纵坐标;逐一对应填写位示图。
3.根据权利要求1所述的降低嵌入式设备创建FAT文件名时间与空间开销的方法,其特征在于步骤33中能存放预创建文件名的位置包括当前目标目录下的空白位置和当前目标目录下文件被删除后留下的位置。
全文摘要
本发明提供一种降低嵌入式设备创建FAT文件名时间与空间开销的方法,在嵌入式设备内存中定义一位示图,借助位示图,把确定预创建文件名对应的短目录的扩展序号、确定是否存在同名文件以及确定存放文件的位置三者同步进行操作,从而大大地节省了在嵌入式设备上创建FAT文件名的时间和空间。
文档编号G06F17/30GK102184213SQ20111011391
公开日2011年9月14日 申请日期2011年5月4日 优先权日2011年5月4日
发明者谢邦旺 申请人:福州瑞芯微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1