文件分配系统中的文件名生成方法及生成装置制造方法及图纸

技术编号:2918822 阅读:193 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种文件分配系统中的文件名生成方法及生成装置,其中,该方法包括:数字确定步骤,利用当前目录下现有文件名的存储信息确定一第一数值,所述第一数值与当前目录下已有短文件名的数字部分的数值相比为唯一;字符确定步骤,根据8.3命名规则,选择满足条件的至少一个字符作为短文件名的字符部分;短文件名确定步骤,将确定的所述字符和所述第一数值用字符“~”连接后作为新文件的短文件名的name字段的内容。本发明专利技术直接通过当前目录下现有文件名的存储信息确定一唯一的数值作为新文件的短文件名的name字段数字部分,即可保证短文件名的唯一性,无需对逐一对比目录下的文件名,实现了简单,快速的文件名生成。

【技术实现步骤摘要】

本专利技术涉及FAT(File Allocation Table,文件分配表)系统,特别是文件分配系统中的文件名生成方法及生成装置
技术介绍
FAT文件系统是微软定义的一种管理磁盘数据空间的文件系统,通过FAT表来管理整个磁盘空间,目前包括FAT12、FAT16和FAT32这3种文件系统,来满足不同存储空间范围的空间管理,FAT12、FAT16和FAT32这3种文件系统中FAT表中的基本单位分别为12个bit,16个bit或32个bit。在FAT文件系统中,定义了一个根目录区(Root Directory Region),用于存储根目录下的数据项。在FAT文件系统中,根目录区的基本存储单位为条目(entry),其结构如图1所示,包括以下字段Name(文件或目录的名字)、Ext(扩展名)、Attr(属性)、Case、Time_ms(时间)、Create time(创建时间)、Create date(创建日期)、Accessdate(最近一次访问日期)、Start cluster HI(文件或目录对应数据区的起始簇的高位)、Modify time(最近一次修改时间)、Modify date(最近一次修改日期)、Startcluster LO(文件或目录对应数据区的起始簇的低位)及File size(文件大小)。每一个文件都对应一个entry项,一个entry项占32个byte,根目录区就是所有entry项的罗列,如果entry到了结束,即没有下一个有效的entry了,FAT通过将entry的byte0置零来表示entry的结束。从目录区的entry结构可发现,传统的FAT在文件、目录名字的长度上是有限制的,名字为8个字符,扩展名为3个字符,即常说的8.3命名规则。FAT为了实现对名字超过8个字符的文件名的支持,通过扩展了entry的定义来支持,在本专利技术中,为方便描述,将其命名为长文件名。FAT通过在常规文件entry的前面依次设置扩展entry项来存储长文件名,扩展entry如图2所示。在上述的方案中,对于名字超过8个字符的文件或目录,FAT文件系统要存储其文件名或目录名,首先要根据名字的长度计算需要多少个扩展的entry项,然后去申请entry数目,然后根据算法生成长文件名对应的短文件名。短文件名通常是长文件名的“前几个字符”+“~”+“数字”构成,如“The quick brown fox.exe”对应的短文件名为“Thequi~1.fox”,如果又有一个名称类似的长文件名,如“The quick brown foxl.exe”,则相应的短文件名为“Thequi~2.fox”。从以上的描述可以发现,FAT文件系统中,长文件名的存储采用短文件名结合长文件名的方案实现,短文件名存在的意义就是为了系统兼容,同时保存文件的长度、存储位置等信息,长文件名采用unicode编码,仅仅用于存储文件名而已。因此,要存储一个长文件名,其中必不可少的一个步骤,就是生成该长文件名对应的短文件名,且一个目录下所有的短文件名不能相同。上述的长文件名的存储方案将导致以下问题一个目录下存放很多的文件名类似的长文件名,如DISC050301.jpg、DISC050302.jpg、DISC050303.jpg、DISC050304.jpg、…,这样的文件名有一个共性,就是名称大部分类似,只有小部分不同。上述的几个文件名在FAT中会按照长文件名规范存储,其对应的短文件名为DISC05~1.jpg、DISC05~2.jpg、DISC05~3.jpg、DISC05~4.jpg、…。而为了生成短文件名且要保证短文件名不重名,在创建新文件时,FAT要遍历当前目录下的所有文件的文件名,以此确保文件不重名,当目录下的文件非常多时,这个过程将耗费相当多的时间。
技术实现思路
本专利技术的目的是提供一种文件分配系统中的文件名生成方法及生成装置,加快文件名的生成速度,提高系统效率。为了实现上述目的,本专利技术提供了一种文件分配系统中的文件名生成方法,包括数字确定步骤,利用当前目录下现有文件名的存储信息确定一第一数值,所述第一数值与当前目录下已有短文件名的数字部分的数值相比为唯一; 字符确定步骤,根据8.3命名规则,选择满足条件的至少一个字符作为短文件名的字符部分;短文件名确定步骤,将确定的所述字符和所述第一数值用字符“~”连接后作为新文件的短文件名的name字段的内容。上述的方法,其中,所述字符为长文件名中最前面的一个或多个字符。上述的方法,其中,所述当前目录下现有文件名的存储信息为创建新文件的当前目录下现有文件名已占用的条目数目,所述第一数值为创建新文件的当前目录下现有文件名已占用的条目数目加1后的结果。上述的方法,其中,所述当前目录下现有文件名的存储信息为创建新文件的当前目录下现有文件名的数目,所述第一数值为创建新文件的当前目录下现有文件名的数目加1后的结果。上述的方法,其中,所述当前目录下现有文件名的存储信息为当前扇区ID及该扇区已使用条目数目,所述第一数值为以当前扇区的ID作为开头,结合当前扇区已使用的条目数目所形成的数字加1后的数值,所述当前扇区已使用的条目数目为2位,不足两位则补0。为了更好的实现上述目的,本专利技术还公开了一种文件分配系统中的文件名生成装置,包括数字确定模块,用于利用当前目录下现有文件名的存储信息确定一第一数值,所述第一数值与当前目录下已有短文件名的数字部分的数值相比为唯一;字符确定模块,用于根据8.3命名规则,选择满足条件的至少一个字符作为短文件名的字符部分;短文件名确定模块,用于将确定的所述字符和所述第一数值用字符“~”连接后作为新文件的短文件名的name字段的内容。上述的装置,其中,所述字符为长文件名中最前面的一个或多个字符。上述的装置,其中,所述当前目录下现有文件名的存储信息为创建新文件的当前目录下现有文件名已占用的条目数目,所述第一数值为创建新文件的当前目录下现有文件名已占用的条目数目加1后的结果。上述的装置,其中,所述当前目录下现有文件名的存储信息为创建新文件的当前目录下现有文件名的数目,所述第一数值为创建新文件的当前目录下现有文件名的数目加1后的结果。上述的装置,其中,所述当前目录下现有文件名的存储信息为当前扇区ID及该扇区已使用条目数目,所述第一数值为以当前扇区的ID作为开头,结合当前扇区已使用的条目数目所形成的数字加1后的数值,所述当前扇区已使用的条目数目为2位,不足两位则补0。本专利技术直接通过当前目录下现有文件名的存储信息(如当前目录已使用条目数目、当前扇区已有文件名数目、当前目录最后条目所在扇区ID和该扇区已使用条目数目等)确定一唯一的数值作为新文件的短文件名的name字段数字部分,即可保证短文件名的唯一性,无需对逐一对比目录下的文件名,实现简单,快速。附图说明图1为根目录区中条目的结构示意图;图2为扩展条目的结构示意图;图3为本专利技术的方法的流程示意图;图4为本专利技术的装置的结构示意图;图5为目录的簇链表的示意图。具体实施例方式本专利技术的文件分配系统中的文件名生成方法及生成装置,按照现有的“字符部分”+“~”+“数字部分”的短文件名生成规则,在创建新文件的短文件名时,根据当前目录下现有文件名的存储信息确定一本文档来自技高网
...

【技术保护点】
一种文件分配系统中的文件名生成方法,其特征在于,包括:数字确定步骤,利用当前目录下现有文件名的存储信息确定一第一数值,所述第一数值与当前目录下已有短文件名的数字部分的数值相比为唯一;字符确定步骤,根据8.3命名规则,选择满足 条件的至少一个字符作为短文件名的字符部分;短文件名确定步骤,将确定的所述字符部分和所述第一数值用字符“~”连接后作为新文件的短文件名的name字段的内容。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙丰强
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

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

1