CN101853275A - 一种fat文件系统的数据管理方法和系统 - Google Patents
一种fat文件系统的数据管理方法和系统 Download PDFInfo
- Publication number
- CN101853275A CN101853275A CN201010168693A CN201010168693A CN101853275A CN 101853275 A CN101853275 A CN 101853275A CN 201010168693 A CN201010168693 A CN 201010168693A CN 201010168693 A CN201010168693 A CN 201010168693A CN 101853275 A CN101853275 A CN 101853275A
- Authority
- CN
- China
- Prior art keywords
- fat
- data
- bunch
- file
- root directory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013523 data management Methods 0.000 title claims abstract description 20
- 230000006378 damage Effects 0.000 claims description 21
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000011989 factory acceptance test Methods 0.000 description 196
- 238000012949 factory acceptance testing Methods 0.000 description 196
- 239000003925 fat Substances 0.000 description 196
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 239000012467 final product Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Abstract
本发明提供了一种FAT文件系统的数据管理方法和系统,所述FAT文件系统包括保留扇区、FAT区、根目录区、数据区,其特征在于,所述方法包括:当数据区的簇中存储的文件数据被修改时,向对应簇的预留存储空间记录该簇的属性信息。通过本发明,在系统出现错误时,数据能够得到有效的恢复,即在数据丢失后通过属性信息查找并组合相应的簇,重建原数据文件。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种FAT文件系统的数据管理方法和系统。
背景技术
FAT文件系统是目前应用于各种平台的最简单的文件系统,其包括保留扇区、FAT区、根目录区、数据区。FAT文件系统的特点在于位于FAT区的文件分配表(FAT,File Allocation Table),FAT表的作用是记录硬盘中有关文件如何被分散存储在不同簇的信息,它是记录硬盘内簇的使用情况的详细数据表。该表记录的目的是为了实现文件的链式存储,因为硬盘必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号,对一个文件的最后一个簇,则要指明本簇无后继簇。这些信息都是由FAT表来保存的。
如果文件分配表损坏或者丢失的话,那最直接的后果将是文件数据的丢失,虽然这在理论上数据并没有丢失,但是由于FAT表损坏了,就好比索引丢失,系统自然就无法识别出存储在硬盘内的数据。因此,FAT表的损坏意味着文件内容的丢失。由于FAT表记录了磁盘数据文件的存储链表,对于数据的读取而言是极其重要的,通常,会对FAT文件系统中的FAT表创建一份备份,即FAT表2。如果目前使用的FAT表损坏,可用第二个进行覆盖修复。
此外,FAT表2与FAT表1的内容通常是即时同步的,也就是说如果通过正常的系统读写对FAT表1做了更改,那么FAT表2也同样被更新。从这个角度来看,同步更新的备份FAT表的可靠性也得不到有效的保证。例如当磁盘发生错误或者受到病毒的破坏时,可以对FAT操作进行文件恢复。比较理想的情况是,知道FAT表1被破坏,并且FAT表2完好,可以用FAT表2覆盖FAT表1,从而达到修复的目的。但是很多情况下并不是这样,由于两个FAT表的内容是即时同步的,因此经常两个表都被破坏掉。现有技术对于数据管理依然存在隐患。
根目录区是在根目录中存储文件和目录信息的目录表,记录根目录下每个文件(目录)的起始单元、文件属性等。定位文件位置时,操作系统根据根目录区的起始单元,结合FAT表就可以知道文件在硬盘中的具体位置和大小了。
鉴于FAT区和根目录区的重要作用,如果这两个区域中任何一个发生损坏,文件数据的查找和恢复都将无法进行,也就相当于文件的丢失。
因此,目前需要本领域技术人员解决的问题就是:怎样对FAT文件系统中的数据进行管理,在系统出现错误时,数据能够得到有效的恢复。
发明内容
本发明所要解决的技术问题是提供一种FAT文件系统的数据管理方法和系统,实现对FAT文件系统中的数据进行有效管理,在系统出现错误时,数据能够得到恢复。
为了解决上述问题,本发明公开了一种FAT文件系统的数据管理方法,所述FAT文件系统包括保留扇区、FAT区、根目录区、数据区,所述方法包括:当数据区的簇中存储的文件数据被修改时,向对应簇的预留存储空间记录该簇的属性信息。
优选的,所述簇的属性信息包括:归属文件的标识、归属文件簇链中的位置。
优选的,所述方法还包括:当修改FAT区时,将FAT区的数据更新至备份区。
优选的,所述方法还包括:当修改根目录区时,将根目录区的数据更新至所述备份区。
优选的,所述备份区的数据更新为同步更新或根据预置更新条件进行更新。
优选的,当FAT区和/或根目录区损坏或丢失时,启用备份区的FAT区和/或根目录区的数据。
优选的,所述备份区位于数据区的预留空间内。
优选的,所述方法还包括:将与预置时间相对应的各个FAT表的更新信息记录在FAT表日志中。
优选的,当FAT区和备份区存储的FAT表损坏或丢失时,根据所述簇的属性信息或FAT表日志重建FAT表。
此外,本发明还公开了一种FAT文件系统的数据管理系统,所述FAT文件系统包括保留扇区、FAT区、根目录区、数据区,其特征在于,所述数据管理系统包括:属性记录单元,用于当数据区的簇中存储的文件数据被修改时,向对应簇的预留存储空间记录该簇的属性信息。
优选的,所述簇的属性信息包括:归属文件的标识、归属文件簇链中的位置。
优选的,所述系统还包括:备份FAT区更新单元,用于当修改FAT区时,将FAT区的数据更新至备份区。
优选的,所述系统还包括:备份根目录区更新单元,用于当修改根目录区时,将根目录区的数据更新至所述备份区。
优选的,所述系统还包括:备份启用单元,用于当FAT区和/或根目录区损坏或丢失时,启用备份区的FAT区和/或根目录区的数据。
优选的,所述备份区位于数据区的预留空间内。
优选的,所述系统还包括:FAT表日志单元,用于在FAT表日志中记录与预置时间相对应的各个FAT表的更新信息。
优选的,所述系统还包括:FAT表重建单元,用于当FAT区和备份区存储的FAT表损坏或丢失时,根据簇的属性信息或FAT表日志重建FAT表。
与现有技术相比,本发明具有以下优点:
本发明在数据区各个簇的预留空间中添加的簇的属性信息,在FAT区和备份区域存储的FAT表均发生损坏或丢失时,能够根据簇的属性信息重建FAT表,即在数据丢失后通过属性信息查找并组合相应的簇,重建原数据文件。
进一步,本发明对FAT区域、根目录区域进行了备份,当FAT区域或根目录区域被修改时,更新备份的数据。保证了在FAT区域和/或根目录区损坏或丢失时,能够使用备份区进行操作处理,提高了系统的稳定性。
此外,本发明还建立了FAT表日志,记录了与预置时间相对应的各个FAT表的更新,则在FAT区和备份区存储的FAT表损坏或丢失时,可以由FAT表日志记录的信息进行FAT表的恢复,以及在系统还原时提供参考的数据。
总之,本发明在系统出现错误时,能够使丢失的数据得到有效的恢复,提高了系统的稳定性和可靠性。
附图说明
图1是本发明一种FAT文件系统的数据管理方法实施例的流程图;
图2是本发明一种FAT文件系统的数据管理系统实施例的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。簇是操作系统所使用的逻辑概念,而不是磁盘的物理特性。
一个FAT文件系统包括四个不同的部分:
保留扇区,位于最开始的位置。第一个保留扇区是引导区(分区启动记录)。它包括一个称为基本输入输出参数块的区域(包括一些基本的文件系统信息尤其是它的类型和其它指向其它扇区的指针),通常包括操作系统的启动调用代码。保留扇区的总数记录在引导扇区中的一个参数中。引导扇区中的重要信息可以被DOS和OS/2中称为驱动器参数块的操作系统结构访问。
FAT区,包含有两份文件分配表,它是分区信息的映射表,指示簇是如何存储的,即,用来表示磁盘空间的分配信息。
根目录区,它是在根目录中存储文件和目录信息的目录表。在早期的FAT版本中它永远紧随FAT区之后,在FAT32下它可以存在分区中的任何位置。FAT16文件系统的根目录区是固定区域、固定大小的,是从FAT区之后紧接着的32个扇区,最多保存512个目录项,作为系统区的一部分。FAT32的根目录区不再是固定区域、固定大小,可看作是数据区的一部分。因为根目录已改为根目录文件,采用与子目录文件相同的管理方式,一般情况下从第二簇开始使用,大小视需要增加,因此根目录下的文件数目不再受到最多512个的限制。
数据区,这是实际的文件和目录数据存储的区域,它占据了分区的绝大部分。通过简单地在FAT表中添加文件链接的个数可以任意增加文件大小和子目录个数(只要有空簇存在)。然而,需要注意的是每个簇只能被一个文件占有。
根据上述FAT文件系统,提出了本发明一种FAT文件系统的数据管理方法实施例,如图1所示,其包括:
步骤101,在数据区各个簇的预留存储空间中记录对应簇的属性信息;
为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍,如果文件实际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。除了存储文件数据,本发明实施例对于数据区的每一个簇还要预留一个存储空间,用于存储该簇的属性信息。
进一步,所述簇的属性信息包括:归属文件的标识、归属文件簇链中的位置。
在每一个簇中,预留一定字节的空间,前一段字节用来记录归属文件标识,一般可以是归属文件的名称,后一段字节用来记录在归属文件簇链中的位置。在本发明实施例中,一个簇的存储空间为32K,在数据区中,存储有大小为310K的文件a.txt和大小为630K的文件b.txt,则文件a.txt占用10个簇,文件b.txt占用20个簇。
如表1所示,为本发明实施例的目录结构表。目录中记录了每个文件的文件名,开始簇,大小,创建日期、修改日期、文件的读写属性等。表2所示为本发明实施例的FAT表。
文件名 | 起始簇号 | 文件大小 | 创建日期 | 修改时间 | 读写属性 | … |
a.txt | 10 | 310K | 2009.3.710:23 | 2009.8.816:30 | 隐藏 | … |
b.txt | 20 | 630K | 2009.9.1718:20 | 2009.9.1718:50 | 只读 | … |
… | … | … | … | … | … | … |
表1
簇号 | … | 10 | 11 | … | 18 | 19 | 20 | 21 | … | 38 | 39 | … |
目录 | … | 11 | 12 | … | 19 | FF | 21 | 22 | … | 39 | FF | … |
表2
例如文件a.txt,根据表1中目录项中指定的a.txt的起始簇号10,然后找到表2中FAT表的10号簇,上面记录的是11,因此确定该文件存储的下一个簇为11号簇,找到FAT表的11号簇,上面记录的是12,就能确定下一个存储文件的簇是12号簇……直到指到第19簇,其指向是FF,因此,表示文件a.txt在第19号簇中存储结束。文件b.txt的存储与此类似,其占用簇的簇号依次为20、21、22……39。
根据本发明实施例,在数据区各个簇的预留存储空间中记录对应簇的属性信息,如表3所示,为本发明实施例簇中存储信息的映射表。
簇号 | 存储数据 | 属性信息 |
… | … | … |
10号簇 | a.txt数据 | a.txt,1 |
11号簇 | a.txt数据 | a.txt,2 |
12号簇 | a.txt数据 | a.txt,3 |
… | … | … |
19号簇 | a.txt数据 | a.txt,10 |
… | … | … |
20号簇 | b.txt数据 | b.txt,1 |
21号簇 | b.txt数据 | b.txt,2 |
… | … | … |
39号簇 | b.txt数据 | b.txt,20 |
… | … | … |
表3
在10至19号簇中的预留空间中,分别记录的对应簇的属性信息为:
a.txt,1;a.txt,2;a.txt,3……a.txt,10。
在20至39号簇中的预留空间中,分别记录的对应簇的属性信息为:
b.txt,1;b.txt,2;b.txt,3……b.txt,20。
步骤102,当簇中存储的文件数据被修改时,更新对应簇的属性信息。
属性信息和簇中存储的文件是相对应的,因此,当簇中的文件数据发生变化时,就需要及时的对该簇的属性信息进行更新。
例如在本实施例中,删除文件a.txt,则在10至19号簇的存储数据的空间中删除a.txt的数据,其各个簇中记录的簇的属性信息清空。然后在数据区中写入大小为930K的文件c.txt。如表4所示,为本发明实施例文件数据被修改后的目录结构表。
文件名 | 起始簇号 | 文件大小 | 创建日期 | 修改时间 | 读写属性 | … |
b.txt | 20 | 630K | 2009.9.1718:20 | 2009.9.1718:50 | 只读 | … |
c.txt | 10 | 930K | 2009.9.1812:45 | 2009.9.1816:20 | 隐藏 | … |
… | … | … | … | … | … | … |
表4
如表5所示,为本发明实施例文件数据被修改后的FAT表;表6为本发明实施例文件数据被修改后,簇中存储信息的映射表。文件c.txt占用30个簇,依次为10至19号簇,40至59号簇。
簇号 | … | 10 | 11 | … | 19 | 20 | 21 | … | 39 | 40 | 41 | … | 59 | … |
目录 | … | 11 | 12 | … | FF | 21 | 22 | … | FF | 41 | 42 | … | FF | … |
表5
簇号 | 存储数据 | 属性信息 |
… | … | … |
10号簇 | c.txt数据 | c.txt,1 |
11号簇 | c.txt数据 | c.txt,2 |
… | … | … |
19号簇 | c.txt数据 | c.txt,10 |
… | … | … |
20号簇 | b.txt数据 | b.txt,1 |
21号簇 | b.txt数据 | b.txt,2 |
… | … | … |
簇号 | 存储数据 | 属性信息 |
39号簇 | b.txt数据 | b.txt,20 |
40号簇 | c.txt数据 | c.txt,11 |
41号簇 | c.txt数据 | c.txt,12 |
… | … | … |
59号簇 | c.txt数据 | c.txt,30 |
… | … | … |
表6
在10至19号簇中的预留空间中,分别记录的对应簇的属性信息为:
c.txt,1;c.txt,2;c.txt,3……c.txt,10;
在40至59号簇中的预留空间中,分别记录的对应簇的属性信息为:
c.txt,11;c.txt,12;c.txt,13……c.txt,30。
因此,本发明实施例不仅能够通过FAT表查找到每一个存储文件的在各个簇中的分配关系,还能够根据簇的属性信息将各个簇中存储的数据组成对应的文件。
在本发明的一个优选实施例中,所述方法还包括:当修改FAT区时,将FAT区的数据更新至备份区。
由于FAT表记录了磁盘数据文件的存储链表,对于数据的读取是极其重要的,如果FAT表损坏了,就好比索引丢失,系统无法读出存储在硬盘内的数据。因此,在FAT区中会对的FAT表创建一份备份FAT表2。但是仅有两份FAT表,系统的可靠性也不强。由于两个FAT表的内容是即时同步的,如果FAT表2也损坏,或者整个FAT区都发生损坏,则系统无法根据FAT表进行数据文件的索引。
因此,本发明实施例将FAT区的数据存储在一个备份区,备份数据为与FAT区相同的两个FAT表,即对FAT表进行了二次备份,备份的FAT表1和FAT表2。当数据区中发生文件数据的删除、写入等操作,需要对FAT区的FAT表进行修改时,则对备份区的两个备份FAT表1和FAT表2进行更新,用修改后FAT表的数据覆盖备份的当前FAT表的数据。
根据本发明上述实施例,备份区原来存储的FAT表的数据如表2所述,记录了文件a.txt和文件b.txt在数据区中簇的占用情况,以及每个已经占用的簇连接的下一个簇的簇号。当文件数据发生修改时,即删除文件a.txt,写入文件c.txt,则FAT区中的FAT表进行修改,如表5所示,记录了文件c.txt和文件b.txt在数据区中簇的占用情况,以及每个已经占用的簇连接的下一个簇的簇号。当需要对进行备份数据的更新时,则将备份区中存储的如表2所示的FAT表更新为由表5所示的FAT表,并且存储两份备份的FAT表,FAT表1的备份和FAT表2的备份。
进一步,所述方法还包括:当修改根目录区时,将根目录区的数据更新至所述备份区。
FAT文件系统的任一文件(包括文件夹),均需从根目录寻址来找到。可以这样认为,目录存储结构的入口就是根目录。由于FAT文件系统根据根目录来寻址其他文件(包括文件夹),故而根目录的位置必须在磁盘存取数据之前得以确定。FAT32将根目录等同于普通的文件。这样根目录便没有了FAT16中512个目录项的限制,不够用的时候增加簇链,分配空簇即可。而且,根目录的位置也不再硬性地固定了,可以存储在分区内可寻址的任意簇内,不过通常根目录是最早建立的(格式化就生成了)目录表。所以,我们看到的情况基本上都是根目录首簇占簇区顺序上的第1个簇。
由于根目录十分重要,因此如果它发生损坏或者丢失,就不能正常的读取数据文件,本发明实施例对根目录区进行备份,当修改根目录区时,将根目录区的数据同步更新至所述备份区。例如,系统释放了某些文件的存储空间,在相应的根目录区的根目录中删除了对应目录项,则备份的根目录数据也相应的删除所述目录项。
优选的,所述备份区的数据更新为同步更新或根据预置更新条件进行更新。
由于一旦有文件的读写操作,FAT表就会更新数据,以便能够正确的标识各个文件的簇链,而根目录区也会根据系统的某些操作发生变动。备份区的不定时更新会导致备份数据与原区域的数据的不一致,丧失备份的意义。因此,在FAT区或根目录区进行修改操作时,就可以对备份区的数据进行同步更新,以确保备份的内容能够和当前的存储的文件状态相一致。
此外,还可以按照设置的更新条件对所述备份区的数据进行更新。备份区的更新是非常重要的,但是也是相当耗时的。而费时的原因在于,每次更新时,磁盘读取头都必须回到原FAT区或者根目录区的初始逻辑磁道处。所以可以设置更新备份区的条件,减少对存储介质的磨损,提高使用寿命。例如设置定时更新,可以利用定时器来确定备份区的更新时间,每隔一定时间(例如每隔一小时)来检验FAT区或者根目录区是否发生的修改,如果是,则将FAT区或者根目录区的数据更新至备份区。还可以设置在CPU的使用率为20%以下,并且FAT区或者根目录区发生的修改的时候,对备份区的数据进行更新,以充分利用资源。
优选的,当FAT区和/或根目录区损坏或丢失时,启用备份区域的FAT区和/或根目录区的数据信息。由于备份区存储了FAT区和/或根目录区的备份数据,因此当FAT区和/或根目录区损坏或丢失时,可以将备份区存储的相应数据覆盖到原FAT区和/或根目录区,则FAT区和/或根目录区的数据得到恢复。此外,还可以直接利用备份区的数据进行操作处理,即将备份区代替FAT区和/或根目录区,通过本发明实施例,使由于FAT区和/或根目录区发生错误而丢失的文件数据得到有效的恢复,提高了系统的可靠性。
优选的,所述备份区位于数据区的预留空间内。由于数据区的存储空间比较大,因此,可以在数据区中预留一份空间,专门存储备份数据。该备份区在一般情况下处于锁定状态,只在需要更新的时候对其存储的备份数据进行更新,因此,在数据区中对存储的文件数据进行读、写、删除等操作时,不会对该备份区产生影响,确保了备份数据的稳定性。
在本发明的一个优选实施例中,所述方法还包括:将与预置时间相对应的各个FAT表的更新信息记录在FAT表日志中。
FAT表日志的内容是根据预置时间进行记录的。由于FAT表经常会更新,以记录文件数据在簇中的存储情况,如果每当FAT表更新时,FAT表日志都要记录一次更新信息,则存储的数据量是很庞大的。因此需要设置时间,使FAT表日志只记录与预置时间相对应的各个FAT表的更新信息。例如,记录每个月30号下午六点,当前月份5号、15号、25号晚上八点,以及当天某几个时刻(如上午九点、中午12点、下午四点)的FAT表更新信息。可以设定距离时间越远,记录FAT表更新信息的间隔越长。则该方法不仅能够保证FAT表日志信息的有效性,而且减少了日志记录的信息量,节省了存储空间。
此外,所记录的更新信息可以是更新后的一份完整的FAT表,则日志记录了各个预置时间的FAT表;在比较理想的情况下,记录的更新信息可以是对比前一次更新记录的变化信息,例如增加的或修改的信息,则根据更新前后之间的变化信息就能够得出对应时间的完整FAT表。
进一步,当FAT区和备份区存储的FAT表损坏或丢失时,根据簇的属性信息或FAT表日志重建FAT表。
由于簇的属性信息记录的是对应簇的归属文件的标识、归属文件簇链中的位置。FAT表记录的是文件所占用簇的情况,以及簇的连接关系。通过上述属性信息就可以得出文件是由那些簇构成的,以及每一个簇的位置,即可以建立当前的FAT表。例如当磁盘发生错误或者受到病毒的破坏时,FAT区和备份存储的FAT表都被破坏掉时,就可以跟据所述属性信息重建FAT表,在数据丢失时得到有效的恢复。此外,FAT表日志也记录了与预置时间相对应的各个FAT表的更新信息记录,则从上述更新信息中就可以得出当前FAT表或者以前某个时间点的FAT表,进行FAT表的恢复,还能在系统还原时给我们提供一个还原点,为我们找出文件系统崩溃的原因,将数据的损失降到最低。
如图2所示,为本发明一种FAT文件系统的数据管理系统实施例的结构图,所述FAT文件系统包括保留扇区201、FAT区202、根目录区203、数据区204,所述数据管理系统包括:
属性记录单元211,用于当数据区的簇中存储的文件数据被修改时,向对应簇的预留存储空间记录该簇的属性信息。
优选的,所述簇的属性信息包括:归属文件的标识、归属文件簇链中的位置。
为了保证FAT区数据的可靠性,所述数据管理系统还包括:备份FAT区更新单元212,用于当修改FAT区时,将FAT区的数据更新至备份区22。
此外,为了保证根目录区数据的可靠性,所述数据管理系统还包括:备份根目录区更新单元213,用于当修改根目录区时,将根目录区的数据更新至所述备份区22。
在本发明的实施例中,所述备份区22位于数据区的预留空间,其包括:备份FAT区221和备份根目录区222。备份FAT区221接收备份FAT区更新单元212输入的更新数据,备份根目录区222接收备份根目录区更新单元213输入的更新数据。
进一步,所述备份区的数据更新为同步更新或根据预置更新条件进行更新。
优选的,所述数据管理系统还包括:备份启用单元214,用于当FAT区和/或根目录区损坏或丢失时,启用备份区的FAT区和/或根目录区的数据。所述备份启用单元214可以在FAT区和/或根目录区损坏或丢失时,将备份区存储的相应数据覆盖到原FAT区和/或根目录区;此外,所述备份启用单元214还可以将操作程序切换到备份区22,直接利用备份区进行操作系统的处理。
在本发明的一个优选实施例中,所述系统还包括:
FAT表日志单元215,用于在FAT表日志中记录与预置时间相对应的各个FAT表的更新信息。它与FAT区相连,能够根据FAT区中FAT表的更新情况记录相应的信息。
优选的,所述系统还包括:FAT表重建单元216,用于当FAT区和备份区存储的FAT表损坏或丢失时,根据簇的属性信息或FAT表日志重建FAT表。FAT表重建单元216从FAT文件系统的数据区204获得簇的属性信息,或者从FAT表日志单元215中获得FAT表日志信息,根据该信息建立FAT表,然后将重建的FAT表数据输入到FAT区中,将系统丢失的数据得以恢复。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种FAT文件系统的数据管理方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (17)
1.一种FAT文件系统的数据管理方法,所述FAT文件系统包括保留扇区、FAT区、根目录区、数据区,其特征在于,所述方法包括:
当数据区的簇中存储的文件数据被修改时,向对应簇的预留存储空间记录该簇的属性信息。
2.根据权利要求1所述的数据管理方法,其特征在于,所述簇的属性信息包括:
归属文件的标识、归属文件簇链中的位置。
3.根据权利要求1所述的数据管理方法,其特征在于,所述方法还包括:
当修改FAT区时,将FAT区的数据更新至备份区。
4.根据权利要求3所述的数据管理方法,其特征在于,所述方法还包括:
当修改根目录区时,将根目录区的数据更新至所述备份区。
5.根据权利要求4所述的数据管理方法,其特征在于,所述备份区的数据更新为同步更新或根据预置更新条件进行更新。
6.根据权利要求5所述的数据管理方法,其特征在于:
当FAT区和/或根目录区损坏或丢失时,启用备份区的FAT区和/或根目录区的数据。
7.根据权利要求5所述的数据管理方法,其特征在于:所述备份区位于数据区的预留空间内。
8.根据权利要求4所述的数据管理方法,其特征在于,所述方法还包括:
将与预置时间相对应的各个FAT表的更新信息记录在FAT表日志中。
9.根据权利要求8所述的数据管理方法,其特征在于:
当FAT区和备份区存储的FAT表损坏或丢失时,根据所述簇的属性信息或FAT表日志重建FAT表。
10.一种FAT文件系统的数据管理系统,所述FAT文件系统包括保留扇区、FAT区、根目录区、数据区,其特征在于,所述数据管理系统包括:
属性记录单元,用于当数据区的簇中存储的文件数据被修改时,向对应簇的预留存储空间记录该簇的属性信息。
11.根据权利要求10所述的数据管理系统,其特征在于,所述簇的属性信息包括:归属文件的标识、归属文件簇链中的位置。
12.根据权利要求10所述的数据管理系统,其特征在于,所述系统还包括:
备份FAT区更新单元,用于当修改FAT区时,将FAT区的数据更新至备份区。
13.根据权利要求12所述的数据管理系统,其特征在于,所述系统还包括:
备份根目录区更新单元,用于当修改根目录区时,将根目录区的数据更新至所述备份区。
14.根据权利要求13所述的数据管理系统,其特征在于,所述系统还包括:
备份启用单元,用于当FAT区和/或根目录区损坏或丢失时,启用备份区的FAT区和/或根目录区的数据。
15.根据权利要求13所述的数据管理系统,其特征在于:所述备份区位于数据区的预留空间内。
16.根据权利要求13所述的数据管理系统,其特征在于,所述系统还包括:
FAT表日志单元,用于在FAT表日志中记录与预置时间相对应的各个FAT表的更新信息。
17.根据权利要求16所述的数据管理系统,其特征在于,所述系统还包括:
FAT表重建单元,用于当FAT区和备份区存储的FAT表损坏或丢失时,根据簇的属性信息或FAT表日志重建FAT表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010168693A CN101853275A (zh) | 2010-05-05 | 2010-05-05 | 一种fat文件系统的数据管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010168693A CN101853275A (zh) | 2010-05-05 | 2010-05-05 | 一种fat文件系统的数据管理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101853275A true CN101853275A (zh) | 2010-10-06 |
Family
ID=42804767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010168693A Pending CN101853275A (zh) | 2010-05-05 | 2010-05-05 | 一种fat文件系统的数据管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101853275A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014214A (zh) * | 2010-12-23 | 2011-04-13 | 广东欧珀移动通信有限公司 | 一种手持终端开关机及其存储卡识别方法 |
CN102841894A (zh) * | 2011-06-22 | 2012-12-26 | 比亚迪股份有限公司 | 一种文件分配表的数据存储方法 |
CN103188661A (zh) * | 2011-12-28 | 2013-07-03 | 希姆通信息技术(上海)有限公司 | 恢复通信终端内部文件系统的方法及通信终端 |
CN103345477A (zh) * | 2013-06-18 | 2013-10-09 | 任沙浦 | 一种用于监控设备的数据存储方法 |
CN106024046A (zh) * | 2016-05-24 | 2016-10-12 | 深圳市硅格半导体股份有限公司 | 数据存储方法及装置 |
CN110286859A (zh) * | 2019-06-28 | 2019-09-27 | 中国海洋大学 | 基于fat文件系统的数据存储方法及装置 |
CN112667171A (zh) * | 2021-01-14 | 2021-04-16 | 武汉极目智能技术有限公司 | 一种基于磁盘裸写的循环覆盖文件系统及读写方法 |
CN112800007A (zh) * | 2021-01-28 | 2021-05-14 | 上海华元创信软件有限公司 | 适用于fat32文件系统的目录项扩展方法和系统 |
CN113190505A (zh) * | 2021-04-15 | 2021-07-30 | 网宿科技股份有限公司 | 一种元数据管理方法、文件存储系统及服务器 |
CN114327292A (zh) * | 2021-12-31 | 2022-04-12 | 上海移为通信技术股份有限公司 | 文件管理方法、系统、电子设备和存储介质 |
CN116661698A (zh) * | 2023-06-16 | 2023-08-29 | 浙江清环智慧科技有限公司 | 一种窨井排水监测设备中存储器的管理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254881A (zh) * | 1998-10-30 | 2000-05-31 | 索尼公司 | 分层管理文件装置和录放方法及含该装置的电子装置 |
CN1705934A (zh) * | 2002-10-17 | 2005-12-07 | 松下电器产业株式会社 | 文件更新设备 |
US20080172426A1 (en) * | 2007-01-16 | 2008-07-17 | Microsoft Corporation | Storage system format for transaction safe file system |
CN101515276A (zh) * | 2008-12-29 | 2009-08-26 | 北京握奇数据系统有限公司 | 一种文件数据写操作的方法、文件数据恢复方法及系统 |
-
2010
- 2010-05-05 CN CN201010168693A patent/CN101853275A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254881A (zh) * | 1998-10-30 | 2000-05-31 | 索尼公司 | 分层管理文件装置和录放方法及含该装置的电子装置 |
CN1705934A (zh) * | 2002-10-17 | 2005-12-07 | 松下电器产业株式会社 | 文件更新设备 |
US20080172426A1 (en) * | 2007-01-16 | 2008-07-17 | Microsoft Corporation | Storage system format for transaction safe file system |
CN101515276A (zh) * | 2008-12-29 | 2009-08-26 | 北京握奇数据系统有限公司 | 一种文件数据写操作的方法、文件数据恢复方法及系统 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014214A (zh) * | 2010-12-23 | 2011-04-13 | 广东欧珀移动通信有限公司 | 一种手持终端开关机及其存储卡识别方法 |
CN102841894A (zh) * | 2011-06-22 | 2012-12-26 | 比亚迪股份有限公司 | 一种文件分配表的数据存储方法 |
CN103188661A (zh) * | 2011-12-28 | 2013-07-03 | 希姆通信息技术(上海)有限公司 | 恢复通信终端内部文件系统的方法及通信终端 |
CN103345477A (zh) * | 2013-06-18 | 2013-10-09 | 任沙浦 | 一种用于监控设备的数据存储方法 |
CN106024046A (zh) * | 2016-05-24 | 2016-10-12 | 深圳市硅格半导体股份有限公司 | 数据存储方法及装置 |
CN106024046B (zh) * | 2016-05-24 | 2019-09-20 | 深圳市硅格半导体有限公司 | 数据存储方法及装置 |
CN110286859A (zh) * | 2019-06-28 | 2019-09-27 | 中国海洋大学 | 基于fat文件系统的数据存储方法及装置 |
CN110286859B (zh) * | 2019-06-28 | 2020-04-14 | 中国海洋大学 | 基于fat文件系统的数据存储方法及装置 |
CN112667171A (zh) * | 2021-01-14 | 2021-04-16 | 武汉极目智能技术有限公司 | 一种基于磁盘裸写的循环覆盖文件系统及读写方法 |
CN112800007A (zh) * | 2021-01-28 | 2021-05-14 | 上海华元创信软件有限公司 | 适用于fat32文件系统的目录项扩展方法和系统 |
CN112800007B (zh) * | 2021-01-28 | 2022-06-14 | 上海华元创信软件有限公司 | 适用于fat32文件系统的目录项扩展方法和系统 |
CN113190505A (zh) * | 2021-04-15 | 2021-07-30 | 网宿科技股份有限公司 | 一种元数据管理方法、文件存储系统及服务器 |
CN114327292A (zh) * | 2021-12-31 | 2022-04-12 | 上海移为通信技术股份有限公司 | 文件管理方法、系统、电子设备和存储介质 |
CN114327292B (zh) * | 2021-12-31 | 2024-02-02 | 上海移为通信技术股份有限公司 | 文件管理方法、系统、电子设备和存储介质 |
CN116661698A (zh) * | 2023-06-16 | 2023-08-29 | 浙江清环智慧科技有限公司 | 一种窨井排水监测设备中存储器的管理方法及装置 |
CN116661698B (zh) * | 2023-06-16 | 2024-02-13 | 浙江清环智慧科技有限公司 | 一种窨井排水监测设备中存储器的管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101853275A (zh) | 一种fat文件系统的数据管理方法和系统 | |
US8028006B2 (en) | Method and apparatus for exchanging sub-hierarchical structures within a hierarchical file system | |
US8156165B2 (en) | Transaction-safe FAT files system | |
US8838541B2 (en) | Data processing apparatus and method of processing data | |
US7363540B2 (en) | Transaction-safe FAT file system improvements | |
EP1739535B1 (en) | File system storing transaction records in flash-like media | |
US7694105B2 (en) | Data storage systems that implement sector sets | |
US7809777B2 (en) | File system having deferred verification of data integrity | |
US8150851B2 (en) | Data processing apparatus and method of processing data | |
EP1744247B1 (en) | Optimized startup verification of file system integrity | |
US7702659B2 (en) | Robust, self-maintaining file system | |
US8818950B2 (en) | Method and apparatus for localized protected imaging of a file system | |
US20070061540A1 (en) | Data storage system using segmentable virtual volumes | |
PL182609B1 (pl) | Sposób realizacji dostępu do danych zapamiętanych w systemie komputerowym | |
US20140129524A1 (en) | Restoring method and computer system | |
CN101763426B (zh) | 一种实现文件分配表文件系统可靠性的方法和装置 | |
KR100775141B1 (ko) | 저널링이 적용된 fat 파일 시스템의 구현 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160606 Address after: 519031 Guangdong city of Zhuhai province Hengqin Baohua Road No. 6, room 105 -478 Applicant after: GUANGDONG ZHONGXING ELECTRONICS CO., LTD. Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16 Applicant before: Beijing Vimicro Corporation |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101006 |