短文件名文件系统中实现支持长文件名的系统结构及方法

文档序号:6459683阅读:163来源:国知局

专利名称::短文件名文件系统中实现支持长文件名的系统结构及方法
技术领域
:本发明涉及计算机文件系统领域,特别涉及计算机文件系统文件管理
技术领域
,具体是指一种短文件名文件系统中实现支持长文件名的系统结构及方法。
背景技术
:FAT16文件系统中,当磁盘被格式化后,根目录的大小和位置就已经确定下来了位置紧跟FAT2(即第二个FAT表)之后,大小通常为32个扇区。FAT16文件系统把目录(文件夹)当作一个特殊的文件来处理,FAT16分区中所有的文件夹(目录)文件,可以看作是一个存放其他文件(文件夹)入口参数的数据表,因此目录文件也就是一个简单的二维表文件。其具体存储方式是系统以32个字节为单位分配给一个FAT16目录项,这32个字节以确定的偏移来定义本目录下的一个文件(或文件夹)的属性。这32个字节的具体定义见下表1所示。表l<table>tableseeoriginaldocumentpage4</column></row><table>其中表1的前三项详细解释如下:(1)对于短文件名,系统将文件名分成两部分进行存储,即主文件名+扩展名。0x0~0x7字节记录文件的主文件名,0x8-0xA记录文件的扩展名,取文件名中的ASCII码值。不记录主文件名与扩展名之间的".",主文件名不足8个字符以空白符(20H)填充,扩展名不足3个字符同样以空白符(20H)填充。(2)0xB的属性字段可以看作系统将0xB的一个字节分成8位,用其中的一位代表某种属性的有或无。这样,一个字节中的8位每位取不同的值就能反映各个属性的不同取值了。如00000101就表示这是个文件,属性是只读、系统。以上是FAT16对短文件名的支持实现方式。目前很多操作系统中FAT16分区也可以支持不超过255个字符的长文件名,其实现方式如下长文件名依然是记录在目录项中的。为了低版本的操作系统或程序能正确读取长文件名文件,系统自动为所有长文件名文件创建了一个对应的短文件名,使对应数据既可以用长文件名寻址,也可以用短文件名寻址。不支持长文件名的OS或程序会忽略它认为不合法的长文件名字段,而支持长文件名的OS或程序则会以长文件名为显式项来记录和编辑,并隐藏起短文件名。长文件名的实现有赖于目录项偏移为OxB的属性字节,当此字节的属性为只读、隐藏、系统、巻标,即其值为OFH时,不支持长文件名的操作系统会认为其不合法而忽略其存在。这正是长文件名存在的依据。将目录项的OxB置为OF,其他就任由系统定义了。操作系统一般支持不超过255个字符的长文件名。操作系统将长文件名以13个字符为单位进行切割,每一组占据一个目录项,所以一个长文件名目录需要多个目录项。长文件名中的字符采用Unicode形式编码,每个字符占据2字节的空间。其目录项定义如下表2所示。表2FAT16支持长文件名时目录项32个字节的表示定义<table>tableseeoriginaldocumentpage5</column></row><table><table>tableseeoriginaldocumentpage6</column></row><table>前面已经提到,根目录区大小为32个扇区,每个扇区一般为512个字节。而每一个目录项大小为32个字节,因此如果全部存放短文件名文件或者文件夹,根目录区一共可以存放(32扇区x512字节每扇区)+(32字节每目录项)=512个文件或者文件夹。如果要实现对长文件名的支持,每个255字符的长文件名(长文件夹名)会占用最多(255字符)+(13个字符每个表项)=20个表项,再加上与长文件名对应的一个短文件名项,一共要占用21个表项。因此极端情况下,一个FAT16文件系统的根目录下只能存放512+21=24个长文件名表项。因此按上述方法实现支持长文件名的FAT16文件系统开发中存在两个严重不足(1)根目录下保存的目录项数有限。(2)操作系统进行长文件存储和读取时的算法复杂,驱动程序开发难度大,周期长。而目前SD卡、MMC卡、mp3等设备的存储容量越来越大,4艮目录下需要存放的文件项数越来越多,长文件名的使用场合也越来越广。而FAT16作为较早出现且较容易使用的文件系统管理方式目前仍然广泛应用与手机、PDA、mp3等设备的才喿作系统中,因此如何更好更筒单的在FAT16文件系统中实现对长文件名的支持也变得尤为重要。
发明内容本发明的目的是克服了上述现有技术中的缺点,提供一种能够在短文件名文件系统中支持长文件名文件存取、方便快捷、系统结构简单、兼容性较好、工作性能稳定可靠、适用范围较为广泛的短文件名文件系统中实现支持长文件名的系统结构及方法。为了实现上述的目的,本发明的短文件名文件系统中实现支持长文件名的系统结构及方法如下该短文件名文件系统中实现对长文件名支持的系统结构,包括存储功能模块和应用功能模块,其主要特点是,所述的系统结构中还包括有长文件名与短文件名对照表,所述的应用功能模块分别与所述的存储功能模块、长文件名与短文件名对照表进行读写信息交互。该短文件名文件系统中实现对长文件名支持的系统结构中的应用功能模块包括用户界面层、软件层和驱动层,所述的存储功能模块依次通过驱动层、软件层与用户界面层进行读写信息交互,所述的软件层与所述的长文件名与短文件名对照表进4亍读写信息交互。该短文件名文件系统中实现对长文件名支持的系统结构中的长文件名与短文件名对照表为长文件名与短文件名对照文件,且该长文件名与短文件名对照文件存储于所述的存储功能模块中。该短文件名文件系统中实现对长文件名支持的系统结构中的应用功能模块中还包括长文件名索引区和短文件名索引区,所述的长文件名索引区通过短文件名索引区与所述的长文件名与短文件名对照表进行读写信息交互。该短文件名文件系统中实现对长文件名支持的系统结构中的^i文件名文件系统为FAT16文件系统。该利用上述的系统结构在短文件名文件系统中实现对长文件名支持的方法,其主要特点是,所述的方法包括长文件名文件写入处理操作和长文件名文件读取处理操作,所述的长文件名文件写入处理操作包括以下步骤(Al)应用功能模块根据用户的长文件名文件写入请求,进行长短文件名记录与转换和短文件名文件写入操作;(A2)应用功能模块进行长文件名与短文件名对照表写入更新操作;所述的长文件名文件读取处理操作包括以下步骤(Bl)应用功能模块根据用户的长文件名文件读取请求,进行长短文件名查询与转换和短文件名文件读取4喿作;(B2)应用功能模块进行长文件名显示操作。该在短文件名文件系统中实现对长文件名支持的方法中的长短文件名记录与转换和短文件名文件写入操作,包括以下步骤(Al1)应用功能模块中的软件层根据所述的长文件名文件信息,根据系统预设的转换规则将长文件名转换为对应的短文件名;(A12)软件层记录相应的长短文件名对应关系并向所述的驱动层发送相应的短文件名文件写入指令;(A13)所述的驱动层根据短文件名文件写入指令向所述的存储功能模块中写入该短文件名文件。该在短文件名文件系统中实现对长文件名支持的方法中的长文件名与短文件名对照表写入更新操作,具体为所述的软件层将所述的长短文件名对应关系保存至所述的长文件名与短文件名对照文件7中,并通过驱动层写入存储功能模块中。该在短文件名文件系统中实现对长文件名支持的方法中的长短文件名查询与转换和短文件名文件读取操作,包括以下步骤(B11)应用功能模块中的软件层根据所述的长文件名文件信息,根据所述的长文件名与短文件名对照表查询该长文件名所对应的短文件名;(B12)所述的软件层向所述的驱动层发送相应的短文件名文件读取指令;(B13)所述的驱动层根据短文件名文件读取指令从所述的存储功能模块中读取该短文件名文件。该在短文件名文件系统中实现对长文件名支持的方法中的长文件名显示操作,包括以下步骤(B22)所述的用户界面层将所述的长文件名在用户界面上进行显示。采用了该发明的短文件名文件系统中实现支持长文件名的系统结构及方法,由于其在应用功能模块和存储功能模块中共同维护了一个长文件名与短文件名对照表,并将该对照表以普通文件的方式存储在文件存储区,从而驱动层只需支持对短文件名的存:f又,而软件层将驱动层得到的短文件名信息与对应表中的信息进行对比,就能够得到短文件名对应的长文件名并在用户界面以长文件名显示出来,从而实现了短文件名文件系统中对长文件名文件存取4喿作的支持,而且方便快捷,系统结构筒单,兼容性较,工作性能稳定可靠,而且使用者在进行驱动程序开发时无需考虑长短文件名的转换和兼容,A^而大大^R高了驱动程序的开发效率,降低了驱动程序的开发难度,缩短了产品开发周期,降低了产品开发成本,适用范围较为广泛,尤其适合手机、PDA、mp3等嵌入式操作系统的应用场合。图1为本发明的短文件名文件系统中实现支持长文件名的系统结构示意图。图2文本发明的短文件名文件系统中实现支持长文件名的系统结构中的普通磁盘的组织方式逻辑示意图。具体实施例方式为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。请参阅图l和图2所示,该短文件名文件系统中实现对长文件名支持的系统结构,包括存储功能模块和应用功能模块,其中,所述的系统结构中还包括有长文件名与短文件名对照表,所述的应用功能模块分别与所述的存储功能模块、长文件名与短文件名对照表进行读写信息交互。其中,所述的应用功能模块包括用户界面层、软件层和驱动层,所述的存储功能模块依次通过驱动层、软件层与用户界面层进行读写信息交互,所述的软件层与所述的长文件名与短文件名对照表进行读写信息交互;所述的长文件名与短文件名对照表为长文件名与短文件名对照文件,且该长文件名与短文件名对照文件存储于所述的存储功能模块中。同时,所述的应用功能模块中还包括长文件名索引区和短文件名索引区,所述的长文件而且,所述的短文件名文件系统可以为FAT16文件系统,也可以为其它需要扩展存储的手机、PDA等设备中所使用的仅支持短文件名的文件系统。该利用上述的系统结构在短文件名文件系统中实现对长文件名支持的方法,包括长文件名文件写入处理操作和长文件名丈件读取处理操作,所述的长文件名文件写入处理操作包括以下步骤(Al)应用功能模块根据用户的长文件名文件写入请求,进行长短文件名记录与转换和短文件名文件写入操作;该长短文件名记录与转换和短文件名文件写入操作,包括以下步骤(a)应用功能模块中的软件层根据所述的长文件名文件信息,根据系统预设的转换规则将长文件名转换为对应的短文件名;(b)软件层记录相应的长短文件名对应关系并向所述的驱动层发送相应的短文件名文件写入指令;(c)所述的驱动层根据短文件名文件写入指令向所述的存储功能模块中写入该短文件名文件;(A2)应用功能模块进行长文件名与短文件名对照表写入更新操作,具体为所述的软件层将所述的长短文件名对应关系保存至所述的长文件名与短文件名对照文件中,并通过驱动层写入存储功能模块中;所述的长文件名文件读取处理操作包括以下步骤(B1)应用功能模块根据用户的长文件名文件读取请求,进行长短文件名查询与转换和短文件名文件读取操作;所述的长短文件名查询与转换和短文件名文件读取操作,包括以下步骤(a)应用功能模块中的软件层根据所述的长文件名文件信息,根据所述的长文件名与短文件名对照表查询该长文件名所对应的短文件名;9(b)所述的软件层向所述的驱动层发送相应的短文件名文件读取指令;(c)所述的驱动层根据短文件名文件读取指令从所述的存储功能模块中读取该短文件名文件;(B2)应用功能模块进行长文件名显示操作,包括以下步骤(a)软件层将所述的短文件名所对应的长文件名送至所述的用户界面层;(b)所述的用户界面层将所述的长文件名在用户界面上进行显示。在实际使用当中,请参阅图l所示,本发明的方法的基本思想是在软件层制作一个短文件名和长文件名的对应表,将该表以文件的方式存储起来。再请参阅图2所示,其中给出了普通磁盘的组织方式逻辑示意图前面是磁盘的各种引导信息,后面是具体的单个文件。长短文件名对照表像普通文件一样保存在文件存储区。这样驱动层只需支持对短文件名的存取,软件层将驱动层得到的短文件名信息与对应表中的信息进行对比,得到短文件名对应的长文件名并在用户界面以长文件名显示出来。这样用户看到的是长文件名,而驱动层处理的全部是短文件名,用户的需求得到了满足,FAT16根目录区可以保存512个长文件名目录项,且驱动程序开发时只需支持短文件名即可。下面将以一个例子详述本发明的具体实现过程假设用户要存储200个各种类型的文件到物理存储设备的才艮目录下。软件层接收到写入文件指令时会自动生成一份对照表,参见表3。经过软件层转换后,驱动层只需将2.mp3、3.doc、201.xls等短文件名写入物理存储设备的根目录。写入操作完成后,软件层同时将该对照表保存为"l.txt"的一份文件,再通过驱动层写入存储模块的文件存储区中。这样就完成了文件的写入操作。当用户需要读出"歌曲一我的中国心一歌手一张明敏.mp3"这个文件时,软件层首先将l.txt文件读出,才艮据该文件的对照关系查询得到"2.mp3"既是所需文件,然后软件层通过驱动层将"2.mp3"文件读出,并以"歌曲一我的中国心~~歌手一张明敏.mp3"为标题显示出来即可。表3.长短文件名对照表<table>tableseeoriginaldocumentpage10</column></row><table>通过上述描述可见,本发明较好的解决了FAT16文件系统中实现对长文件名的支持问题,尤其适用于手机、PDA、mp3等设备的开发过程。在这里需要特别指出的是,本发明的基本思想的重点在于(1)将由软件层制作长短文件名对照表,完成长短文件名转换。这种方法充分利用了软件层的功能强大灵活的特点,可以非常容易的制作该对照表以及完成短文件名到长文件名的索引(参见图2应用模块中的长文件名索引区和短文件名索引区)。(2)长短文件名对照表以文件方式存储到储蓄设备中,软件层可以随时调取、删节、填充该表(参见图2存储模块中的文件存储区部分)。(3)需要特别指出的是,前面所提到的长短文件名的转换并不局限在软件层完成。图2中由软件层、驱动层、用户界面构成的整个应用模块都可以实现对长短文件名的转换。由应用模块完成长短文件名对照表并存储在存储模块的系统结构和相应的实现方法都没有背离本发明的基本设计思想。釆用了上述的短文件名文件系统中实现支持长文件名的系统结构及方法,由于其在应用功能模块和存储功能模块中共同维护了一个长文件名与短文件名对照表,并将该对照表以普通文件的方式存储在文件存储区,从而驱动层只需支持对短文件名的存取,而软件层将驱动层得到的短文件名信息与对应表中的信息进行对比,就能够得到短文件名对应的长文件名并在用户界面以长文件名显示出来,从而实现了短文件名文件系统中对长文件名文件存取操作的支持,而且方便快捷,系统结构简单,兼容性较,工作性能稳定可靠,而且使用者在进行驱动程序开发时无需考虑长短文件名的转换和兼容,从而大大提高了驱动程序的开发效率,降低了驱动程序的开发难度,缩短了产品开发周期,降低了产品开发成本,适用范围较为广泛,尤其适合手机、PDA、mp3等嵌入式操作系统的应用场合。在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。权利要求1、一种短文件名文件系统中实现对长文件名支持的系统结构,包括存储功能模块和应用功能模块,其特征在于,所述的系统结构中还包括有长文件名与短文件名对照表,所述的应用功能模块分别与所述的存储功能模块、长文件名与短文件名对照表进行读写信息交互。2、根据权利要求1所述的短文件名文件系统中实现对长文件名支持的系统结构,其特征在于,所述的应用功能模块包括用户界面层、软件层和驱动层,所述的存储功能模块依次通过驱动层、软件层与用户界面层进行读写信息交互,所述的软件层与所述的长文件名与短文件名对照表进行读写信息交互。3、根据权利要求1所述的短文件名文件系统中实现对长文件名支持的系统结构,其特征短文件名对照文件存储于所述的存储功能模块中。4、根据权利要求1至3中任一项所述的短文件名文件系统中实现对长文件名支持的系统结构,其特征在于,所述的应用功能模块中还包括长文件名索引区和短文件名索引区,所述互。5、才艮据权利要求1所述的短文件名文件系统中实现对长文件名支持的系统结构,其特征在于,所述的短文件名文件系统为FAT16文件系统。6、一种利用权利要求1所述的系统结构在短文件名文件系统中实现对长文件名支持的方法,其特征在于,所述的方法包括长文件名文件写入处理操作和长文件名文件读取处理操作,所述的长文件名文件写入处理操作包括以下步骤(Al)应用功能模块根据用户的长文件名文件写入请求,进行长短文件名记录与转换和短文件名文件写入操作;(A2)应用功能模块进行长文件名与短文件名对照表写入更新搡作;所述的长文件名文件读取处理操作包括以下步骤(B1)应用功能模块根据用户的长文件名文件读取请求,进行长短文件名查询与转换和短文件名文件读取操作;(B2)应用功能模块进行长文件名显示操作。7、根据权利要求6所述的在短文件名文件系统中实现对长文件名支持的方法,其特征在于,所述的应用功能模块包括用户界面层、软件层和驱动层,所述的存储功能模块依次通过驱动层、软件层与用户界面层进行读写信息交互,所述的软件层与所述的长文件名与短文件名对照表进行读写信息交互,所述的长短文件名记录与转换和短文件名文件写入操作,包括以下步骤(All)应用功能模块中的软件层根据所述的长文件名文件信息,根据系统预设的转换^L则将长文件名转换为对应的短文件名;(A12)软件层记录相应的长短文件名对应关系并向所述的驱动层发送相应的短文件名文件写入指令;(A13)所述的驱动层根据短文件名文件写入指令向所述的存储功能模块中写入该短文件名文件。8、根据权利要求7所述的在短文件名文件系统中实现对长文件名支持的方法,其特征在文件名对照文件存储于所述的存储功能模块中,所述的长文件名与短文件名对照表写入更新操作,具体为所述的软件层将所述的长短文件名对应关系保存至所述的长文件名与短文件名对照文件中,并通过驱动层写入存储功能模块中。9、根据权利要求6所述的在短文件名文件系统中实现对长文件名支持的方法,其特征在于,所述的应用功能模块包括用户界面层、软件层和驱动层,所述的存储功能模块依次通过驱动层、软件层与用户界面层进行读写信息交互,所述的软件层与所述的长文件名与短文件名对照表进行读写信息交互,所述的长短文件名查询与转换和短文件名文件读取操作,包括以下步骤(Bll)应用功能模块中的软件层根据所述的长文件名文件信息,根据所述的长文件名与短文件名对照表查询该长文件名所对应的短文件名;(B12)所述的软件层向所述的驱动层发送相应的短文件名文件读取指令;(B13)所述的驱动层根据短文件名文件读取指令从所述的存储功能模块中读取该短文件名文件。10、根据权利要求9所述的在短文件名文件系统中实现对长文件名支持的方法,其特征在于,所述的长文件名显示操作,包括以下步骤(B21)软件层将所述的短文件名所对应的长文件名送至所述的用户界面层;(B22)所述的用户界面层将所述的长文件名在用户界面上进行显示。全文摘要本发明涉及一种短文件名文件系统中实现对长文件名支持的系统结构及方法,系统结构包括存储功能模块、应用功能模块、长文件名与短文件名对照表,应用功能模块分别与存储功能模块、长文件名与短文件名对照表读写信息交互。方法包括长文件名文件写入处理操作和长文件名文件读取处理操作。采用了该短文件名文件系统中实现支持长文件名的系统结构及方法,软件层将驱动层得到的短文件名信息与对应表中的信息进行对比,就能够得到短文件名对应的长文件名,从而实现了短文件名文件系统中对长文件名文件存取操作的支持,而且方便快捷,系统结构简单,兼容性较,工作性能稳定可靠,适用范围较为广泛,尤其适合手机、PDA、MP3等嵌入式操作系统的应用场合。文档编号G06F17/30GK101673261SQ20081004273公开日2010年3月17日申请日期2008年9月10日优先权日2008年9月10日发明者李振乾申请人:上海摩波彼克半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1