一种文件系统数据的管理方法及系统技术方案

技术编号:6878766 阅读:237 留言:0更新日期:2012-04-11 18:40
本发明专利技术适用于存储技术领域,提供了一种文件系统数据的管理方法及系统,所述方法包括下述步骤:递归枚举源文件夹,计算所有文件夹和文件的目录及子目录数据需要的扇区总数;根据所有文件夹和文件的目录数据需要的扇区总数将目标磁盘的数据区分成目录数据区与文件数据区,并获取文件数据区的扇区起始偏移地址信息;将所有目录及子目录数据写入目标磁盘数据区中的目录数据区,将所有文件数据写入目标磁盘数据区中的文件数据区;根据目录数据和文件数据的写入地址,更新文件系统的两个文件分配表。本发明专利技术实施例实现将文件数据和目录数据分开存储,有效简化处理计算程序。

【技术实现步骤摘要】

本专利技术属于存储
,尤其涉及一种文件系统数据的管理方法及系统
技术介绍
常见的文件系统有文件分配表(File Allocation Table,FAT)文件系统和新技术文件系统(New Technology File System, NTFS)等,其中被存储卡所常用的是由微软公司建立的FAT文件系统,包括FAT12、FAT16和FAT32文件系统。FAT文件系统通常由主引导记录和若干FAT分区组成,存储卡上通常只有一个FAT 分区,其中,该FAT分区由引导扇区(BPB)、FAT表、根目录区(FDT)以及数据区组成。引导扇区(BPB)是FAT分区的第一个扇区,即逻辑扇区0,主要用于记录整个FAT 文件系统中相关的参数设置,例如每扇区字节数、每簇扇区数、每个FAT的扇区数、扇区总数、根目录项数等等参数。FAT表记录了文件系统中的组织关系,尤为重要,所以有两个FAT表,FATl表和 FAT2表,但其内容完全一致,该表各表项共同记录了存储基本单元簇的链表索引结构,即每个文件的起始簇及其后续链接的各个簇号;并表明哪些是可用(FREE)的空簇。其中,簇为 FAT分区中文件数据的最小存储单位,文件长度若不足一个簇,也要占用一个簇的空间;若长度不止一个簇,则通过由链表所指引的簇号,将文件数据存储到数据区中的多个簇的空间。根目录区(FDT)记录了文件系统根目录的内容,包括每个文件和文件夹的名称、 大小、起始位置、创建时间、修改时间等基本内容。文件系统中的每个文件都在目录表中有记载。目录和文件均表现为一个文件项,并通过文件项的属性字节加以区分。数据区,实际的文件数据和目录及子目录数据存储的区域,占用大部分存储空间, 数据区以簇为存储单位,通过文件的链表组织起来,数据的读写都是被动的。FAT系统以簇为基本单位存放文件数据,每个簇有N个扇区,每个文件有M个簇,每簇的扇区数N与磁盘的总容量大小有关,文件占用的簇M多少与文件大小有关。刚格式化好的文件系统,往里面拷贝文件,簇的占用顺序是以源文件的目录层次来存放的,即在数据区,目录数据和文件数据掺杂在一起存放,如图1及2所示,这种存放模式将数据区分成很多碎片,在保护文件时计算复杂。文件夹的内容可能是分层次的,文件夹下面有文件夹和文件,存放这些数据的时候如果掺杂在一起,就要分很多片段来处理,如图2所述,文件数据区和目录数据掺在在一起,分成的片段较多,在图2中数据区被分成六个片段,在存储器中,数据的保护是以地址范围为依据,在此情况下,六个片段则形成六个保护范围,在保护文件时计算较复杂。
技术实现思路
本专利技术的目的在于提供一种文件系统数据的管理方法,旨在解决现有技术提供的系统文件中,目录数据和文件数据的存放不规则无层次,将数据区分成很多碎片,不利于保护文件的问题。本专利技术是这样实现的,一种文件系统数据的管理方法,所述方法包括下述步骤递归枚举源文件夹,计算所有文件夹和文件的目录及子目录数据需要的扇区总数;根据所有文件夹和文件的目录数据需要的扇区总数将目标磁盘的数据区分成目录数据区与文件数据区,并获取文件数据区的扇区起始偏移地址信息;将所有目录及子目录数据写入目标磁盘数据区中的目录数据区,将所有文件数据写入目标磁盘数据区中的文件数据区;根据目录数据和文件数据的写入地址,更新文件系统的两个文件分配表。本专利技术实施例的另一目的在于提供一种文件系统数据的管理系统,所述系统包括扇区总数计算模块,用于递归枚举源文件夹,计算所有文件夹和文件的目录及子目录数据需要的扇区总数;数据区划分模块,用于根据所述扇区总数计算模块计算得到的所有文件夹和文件的目录数据需要的扇区总数将目标磁盘的数据区分成目录数据区与文件数据区;扇区起始偏移地址信息获取模块,用于获取文件数据区的扇区起始偏移地址信息;写入模块,用于根据所述数据区划分模块对数据区的划分,将所有目录及子目录数据写入目标磁盘数据区中的目录数据区,将所有文件数据写入目标磁盘数据区中的文件数据区;以及更新模块,用于根据目录数据和文件数据的写入地址,更新文件系统的两个文件分配表。在本专利技术实施例中,递归枚举源文件夹,计算所有文件夹和文件的目录及子目录数据需要的扇区总数;根据所有文件夹和文件的目录数据需要的扇区总数将目标磁盘的数据区分成目录数据区与文件数据区,并获取文件数据区的扇区起始偏移地址信息;将所有目录及子目录数据写入目标磁盘数据区中的目录数据区,将所有文件数据写入目标磁盘数据区中的文件数据区;根据目录数据和文件数据的写入地址,更新文件系统的两个文件分配表,从而实现将文件数据和目录数据分开存储,有效简化处理计算程序。附图说明图1是现有技术提供的文件系统的分区示意图;图2是现有技术提供的文件系统分区数据存放示意图;图3是本专利技术实施例提供的文件系统数据的管理方法的实现流程图;图4是本专利技术第二实施例提供的文件系统数据的管理方法的实现流程图;图5是本专利技术实施例提供的文件系统的分区示意图;图6是本专利技术实施例提供的文件系统分区数据存放示意图;图7是本专利技术实施例提供的文件系统数据的管理系统的结构框图。具体实施方式为了使本专利技术的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在本专利技术实施例中,递归枚举源文件夹,计算所有文件夹和文件的目录及子目录数据需要的扇区总数;根据所有文件夹和文件的目录数据需要的扇区总数将目标磁盘的数据区分成目录数据区与文件数据区,并获取文件数据区的扇区起始偏移地址信息;将所有目录及子目录数据写入目标磁盘数据区中的目录数据区,将所有文件数据写入目标磁盘数据区中的文件数据区;根据目录数据和文件数据的写入地址,更新文件系统的两个文件分配表,从而实现将文件数据和目录数据分开存储,有效简化处理计算程序。本专利技术实施例的目的在于提供一种文件系统数据的管理方法,其特征在于,所述方法包括下述步骤递归枚举源文件夹,计算所有文件夹和文件的目录及子目录数据需要的扇区总数;根据所有文件夹和文件的目录数据需要的扇区总数将目标磁盘的数据区分成目录数据区与文件数据区,并获取文件数据区的扇区起始偏移地址信息;将所有目录及子目录数据写入目标磁盘数据区中的目录数据区,将所有文件数据写入目标磁盘数据区中的文件数据区;根据目录数据和文件数据的写入地址,更新文件系统的两个文件分配表。进一步地,所述目录数据区的空间大于或等于所有文件夹和文件的目录数据需要的扇区总数。进一步地,写入目标磁盘数据区中目录数据区和文件数据区的数据存放的地址连续。本专利技术实施例的另一目的在于提供一种文件系统数据的管理系统,其特征在于, 所述系统包括扇区总数计算模块,用于递归枚举源文件夹,计算所有文件夹和文件的目录及子目录数据需要的扇区总数;数据区划分模块,用于根据所述扇区总数计算模块计算得到的所有文件夹和文件的目录数据需要的扇区总数将目标磁盘的数据区分成目录数据区与文件数据区;扇区起始偏移地址信息获取模块,用于获取文件数据区的扇区起始偏移地址信息;写入模块,用于根据所述数据区划分模块对数据区的划分,将所有目录及子目录数据写入目标磁盘数据区中的目录数据区,将所有文件数据写入目标磁盘数据区中的文件数据区;以及更本文档来自技高网
...

【技术保护点】
1.一种文件系统数据的管理方法,其特征在于,所述方法包括下述步骤:递归枚举源文件夹,计算所有文件夹和文件的目录及子目录数据需要的扇区总数;根据所有文件夹和文件的目录数据需要的扇区总数将目标磁盘的数据区分成目录数据区与文件数据区,并获取文件数据区的扇区起始偏移地址信息;将所有目录及子目录数据写入目标磁盘数据区中的目录数据区,将所有文件数据写入目标磁盘数据区中的文件数据区;根据目录数据和文件数据的写入地址,更新文件系统的两个文件分配表。

【技术特征摘要】

【专利技术属性】
技术研发人员:豆威
申请(专利权)人:深圳市江波龙电子有限公司
类型:发明
国别省市:94

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

1