一种文件组织方法技术

技术编号:2828806 阅读:282 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种文件组织的方法,所述的方法包括如下步骤:a.建立模拟文件的文件夹,b.在所述的文件夹下建立一个记录文件信息数据的信息子文件,并在所述文件夹下建立一个以上的内容子文件,所述的内容子文件用来存储所述文件的内容数据。对于按照本发明专利技术技术方案组织的超过2GB的大文件,FAT文件系统也能够支持,并且对大文件的操作效率与操作小文件一样。

【技术实现步骤摘要】

本专利技术属于数据存储
,尤其涉及大容量文件的存储和读写操作技术。
技术介绍
随着科学技术的日益进步,数据存储设备容量越来越大,其中存储的文件 也越来越大,因此,对于存储设备中文件的管理系统也需要支持日益增大的文 件需求。文件系统是操作系统用于明确》兹盘或分区上的文件的方法和数据结构,现有的FAT (File Allocation Table文件分配表)文件系统和Ext2文件系统是广泛 使用的两种文件系统,这两种文件系统提供的文件支持打开、关闭、读、写、 定位等操作。如上所述,存储容量的增大也导致所要存^:的文件的日益增大,但是现有的FAT文件系统最大支持的文件大小为2G,对超过2G的文件不能支持。虽然 Ext2文件系统支持大于2G的文件,但是对于这种大文件读写定位的操作效率 没有对小于2G的文件的操:作快。因此,有必要提供一种技术方案,能够支持大文件并且能够高效的操作。
技术实现思路
本专利技术的目的在于提供,旨在解决现有大容量文件的存 储问题。本专利技术是这样实现的, 一种文件组织的方法,所述的方法包括如下步骤 一种文件组织的方法,所述的方法包括如下步骤a、建立模拟文件的文件夹,b、在所述的文件夹下建立一个记录文件信息 数据的信息子文件,并在所述文件夹下建立r个以上的内容子文件,所述的内 容子文件用来存储所述文件的内容数据。 '.所述记录文件信息数据的信息子文件为INFO.inf文件,所记录的信息数据 包括所述文件的标志、子文件的个数和每个子文件的大小。所述INFO.inf文件还可以记录文件创建时间和/或修改时间。所述文件标志用来检验符合本规格的大文件是否存在。所述内容子文件的后缀为.dat。所述的内容子文件的个数4艮据所述文件大小来定。所述文件为大小超过2GB的文件。在步骤b后还包括对所述文件的读、写、打开或者定位操作步骤。 对所述文件的读、写、打开或者定位操作转化为对所述子文件的操作。 对所述文件的揭:作采用FAT文件系统或者Ext2文件系统。 所述写才乘作包括以下步骤(1) 根据大文件句柄提供的子文件的信息,判断当前的内容子文件是否能 够写入全部内容,如果是,转步骤(2),否则转步骤(3);(2) 直接写入到当前的内容子文件中,返回写成功;(3) 将要写入的内容分成两部分, 一部分写入当前的内容子文件,同时新 建一个内容子文件,将另一部分数据写入,返回写成功。所述读操作包括以下步骤(1) 判断文件能否满足当前要读的内容大小,满足转步骤(3),否则转步骤(2);(2) 调整要读的内容大小为文件实际能提供的内容大小,然后转步骤(3);(3) 通过大文件句柄中包含的当前子文件的句柄转换为对小文件的读取数 据,按照文件索引值依次读取子文件数据,直到满足要读的文件大小;然后返 回i卖耳又成功。所述定位操作包^以下步骤(1) 将大文件指针的位置拆分转换成子文件的位置,利用大文件当前的位 置对子文件的大小进行取商和取余的运算得到对于子文件的索引值和对于子文件的位置;(2) 利用小文件的定位操作,根据大文件句柄记录的子文件的信息以及步 骤(l)得到子文件的信息,打开相应的子文件进行定位操作。本专利技术克服现有技术的不足,采用文件夹模拟大文件,该文件夹包括记录 大文件信息数据的INFO.inf文件,以及记录大文件的内容数据的一系列的.dat 文件,对于按照本专利技术技术方案组织的超过2G的大文件,FAT文件系统也能 够支持,并且对大文件的操作效率与操作小文件 一样。附图说明图l是本发朋实施例提供的大文件结构图2是本专利技术实施例所述的打开大文件的操作的流程图3是本专利技术实施例所述的对大文件写操作的流程图4是本专利技术实施例所述从大文件读数据流程图5是本专利技术实施例所述的对大文件进行定位操作的流程图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明,白,以下结合附图及实 施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例中使用文件夹模拟大文件,在此文件夹下建立一系列的内容 子文件来记录大丈件的内容数据,同时在文件夹下建立一个特歹朱的信息子文件 来记录该大文件的信息数据,包括大文件的标志、子文件的个凄t、每个子文件 的大小等信息,等价于文件的目录项,同时为用户提供统一操作大文件的操作接口,这些接口最终会转换为对小文件的操作。而对于小文件的操作既可以采用FAT文件系统也可以采用Ext2文件系统或者其他《件系统,只要支持对小 文件操作的文件系统都可以,这样能保证大文件系统的扩平台使用。本专利技术实施例所指的大文件是指文件大小超过FAT文件系统支持的最大 2GB大小的文件,这种文件在视频录制的方面应用的非常多,具体应用本专利技术 技术方案时,对于大小不到2GB的文件,也同样可以采用本专利技术实施例提供的 组织方法。本专利技术实施例所述的大文件的结构如图1所示,图1中外围的虚线部分表 示是用一个文件夹模拟的大文件,包括记录大文件的信息数据的INFO.inf文件, 以及记录大文件的内容数据的一系列的.dat文件,如01.dat、 02.dat、 03.dat、04.dat.......,这些.dat文件即为上文所述的内容子文件,内容子文件的大小是自定义的一个值,除了最后一个.dat文件有可能不是这个大小,其余的.dat文件 都是必须是这个大小。大文件的组成规则如下1、大文件是文件夹;2 、该文件夹中包含唯一的INFO.inf文件和至少 一个后缀为.dat的文件;3、 INFO.inf文件记录以下内容 一是自定义的大文件标志,用于检验是否 是本规格的大文件;二是dat文件的大小;三是大文件中子文件的个数;此外, 还可以包括一些文件创建时间、修改时间等其他的项;4、 后缀为.dat的文件是真正记录大文件内容数据的文件,而.dat文件的个 数^f艮据大文件的大小而定。本实施例的大文件也提供了对按照上述规则和组织方法組成的大文件的操 作接口,包括一般文件系统为子文件提供的常用的操作接口,例如打开、读、 写、文件指针定位和关闭文件等基本的文件操作,对大文件的读写操作将转化 为对子文件的读写操作。打开操作的流程如图2所示,具体包括如下的步骤1.1通过文件夹下的rNFO.inf文件中的标志来判断是否是符合本规;格的大文件,检验符合本规格的大文件是否存在,如果存在转1.2,否则转1.3; 1.2打开文件,辨用Malbc分配句柄空间,返回一个大文件.句柄; 1.3判断文件不存在原因,'如果是文件夹存在,不符合本大文件规格,'转1.4(例如,和本大文件同名的文件夹存在,但是该文件夹下面没有INFO.inf文件,或者没有任何.dat文件),否则转1.5;1.4要打开的文件不是本规格的大文件,打开失败,返回空的句柄;1.5根据打开标签决定打开方式,如果是只读方式打开,转1.6,如果是可写的方式打开,转1.7;1.6只读方式打开一个不存在的文件,打开失败,返回空的句柄;1.7可写的方式打开一个不存在的文件,则创建此文件;创建文件时,首先创建文件夹,然后分别创建INFO.inf和.dat文件,并写入INFO.inf文件的内容,返回大文件句柄。创建成功后,转步骤1.2。其中,大文件句柄包含当前子文件的本文档来自技高网...

【技术保护点】
一种文件组织的方法,其特征在于,所述的方法包括如下步骤:a、建立模拟文件的文件夹,b、在所述的文件夹下建立一个记录文件信息数据的信息子文件,并在所述文件夹下建立一个以上的内容子文件,所述的内容子文件用来存储所述文件的内容数据 。

【技术特征摘要】
1、一种文件组织的方法,其特征在于,所述的方法包括如下步骤a、建立模拟文件的文件夹,b、在所述的文件夹下建立一个记录文件信息数据的信息子文件,并在所述文件夹下建立一个以上的内容子文件,所述的内容子文件用来存储所述文件的内容数据。2、 根据权利要求1所述的方法,其特征在于,所述记录文件信息数据的信 息子文件为INFO.inf文件,所记录的信息数据包括所述文件的标志、子文件的 个数和每个子文件的大小。3、 根据权利要求2所述的方法,其特征在于,所述INFO.inf文件还可以 记录文件创建时间和/或#~改时间。4、 根据权利要求2所述的方法,其特征在于,所述文件标志用来检验符合 本规格的大文件是否存在。5、 根据权利要求1所述的方法,其特征在于,所述内容子文件的后缀为.dat。6、 根据权利要求1所述的方法,其特征在于,所述的内容子文件的个数根 据所述文件大小来定。7、 根据权利要求1所述的方法,其特征在于,所述文件为大小超过2GB 的文件。8、 根据权利要求1所述的方法,其特征在于,在步骤b后还包括对所述文 件的读、写、打开或者定位4喿作步骤。9、 根据权利要求8所述的方法,其特征在于,对所述文件的读、写、打开 或者定位操作转化为对所述子文件的操作。10、 根据权利要求8所述的方法,其特征在于,对所述文件的操...

【专利技术属性】
技术研发人员:尹本清
申请(专利权)人:深圳市同洲电子股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1