CN103092849A - 文件系统簇管理方法 - Google Patents
文件系统簇管理方法 Download PDFInfo
- Publication number
- CN103092849A CN103092849A CN2011103360999A CN201110336099A CN103092849A CN 103092849 A CN103092849 A CN 103092849A CN 2011103360999 A CN2011103360999 A CN 2011103360999A CN 201110336099 A CN201110336099 A CN 201110336099A CN 103092849 A CN103092849 A CN 103092849A
- Authority
- CN
- China
- Prior art keywords
- bunch
- file
- information
- numbering
- prevariety
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种文件系统簇管理方法,包括:将文件系统的分区中每一个簇划分为信息区和数据区,所述信息区包括文件信息和簇信息,簇信息包括文件的第一个簇的编号、每个簇在文件中上一个簇的编号和下一个簇的编号;创建文件,为文件分配第一个簇(a),在分配的该第一个簇(a)的信息区写入文件信息和簇信息;当写入文件时,在所述第一个簇(a)的数据区写入数据,在所述第一个簇(a)写满后文件还未写完时,分配下一个簇并更新簇信息,直至文件写完;当读取文件时,依次扫描分区内的每一个簇,直至找到所述文件的第一个簇(a)。当分区中的文件信息丢失时,可以通过读取每个簇记录的信息来恢复文件。
Description
技术领域
本发明涉及文件系统,具体而言,涉及一种文件系统簇管理方法。
背景技术
按照现有的磁盘分区标准,硬盘通常被划分成多个主分区和扩展分区。文件系统用来管理每个分区的存储空间,并提供文件操作的接口给用户使用。
通常的文件系统存储空间管理方法如图1所示。一个分区被划分成关键信息区和数据区两部分。数据区以大小都为S的簇为单位进行存储空间管理,簇用来记录存入到文件中的数据。关键信息区中记录了分区中的文件信息和簇的使用信息。关键信息区中记录的信息通常包括:
·文件信息,包括:创建时间,文件大小,文件属性等。
·簇信息,包括:每个文件的第一个簇的编号,文件中的每个簇的上一个簇的编号和下一个簇的编号。如果这个簇是文件的第一个簇,则其上一个簇的编号记为0;如果这个簇是文件的最后一个簇,则其下一个簇的编号记为0。其中,m为数据区的第一个簇,n为数据区的最后一个簇。m和n的计算方法如下:如果数据区的第一个簇在分区中的偏移为M个字节,分区总大小为N个字节,文件系统根据分区的大小计算出关键区占用的空间M。如果每个簇大小为S,则m=M/S,n=N/S。
特别地,DVR(数字录像机)需要记录大量的视音频数据到硬盘上,并且通常工作在较恶劣的环境中,如震动较强烈,经常异常断电。在这样的工作环境和工作负荷下,磁盘经常产生坏道等异常情况,这可能造成磁盘分区关键信息区中关键信息的丢失和损坏。
在关键信息区内内信息丢失或损坏的情况下,因为无法找到相关的文件信息和簇信息,将无法从磁盘上读取任何数据,即使数据还存在于磁盘上。所以,当硬盘发生损坏时,如何从硬盘中读取尽可能多的数据成为DVR厂商亟需解决的问题。
发明内容
针对在磁盘发生坏道和异常断电情况下导致的文件丢失或文件无法读取的情况,本发明提供了一种文件系统簇管理方法,对文件系统中的硬盘分区的存储空间进行管理,所述文件系统簇管理方法包括:将文件系统的分区中每一个簇划分为信息区和数据区,所述信息区包括文件信息和簇信息,簇信息包括文件的第一个簇的编号、每个簇在文件中上一个簇的编号和下一个簇的编号;创建文件,为文件分配第一个簇a,在分配的该第一个簇a的信息区写入文件信息和簇信息;当写入文件时,在所述第一个簇a的数据区写入数据,在所述第一个簇a写满后文件还未写完时,分配下一个簇并更新簇信息,直至文件写完;当读取文件时,依次扫描分区内的每一个簇,直至找到所述文件的第一个簇a。
通过本发明,由于将一个分区内的每个簇中记录了该簇的上一个簇和下一个簇的信息,从而即使当分区中的关键信息区中的某些关键数据丢失或损坏时,可以通过每个簇中包含的信息来读取该分区中的文件,数据安全性高。
附图说明
图1为常用的文件系统存储空间管理方法中的一个分区的示意图;
图2为本发明的文件系统簇管理方法中的一个簇的示意图;
图3为在本发明的文件系统簇管理方法中,写入文件时分配一个新簇的流程图;
图4为在本发明的文件系统簇管理方法中,找到一个文件的所有簇的流程图。
具体实施方式
本发明主要思想是在文件写入过程中在每个簇写入关键信息,从每个簇读取关键信息来恢复文件信息和数据。在文件写入过程中在每个簇写入关键信息是指当某个文件分配到某一个簇或文件信息更新时,将相关的信息写入到这个簇中。
本发明的文件系统簇管理方法中,硬盘被分区后,在每个分区建立文件系统。将分区划分为关键信息区和数据区,关键信息区与图1的含义相同,而数据区与图1的现有技术不同。图2显示了本发明的文件系统簇管理方法中的一个簇的示意图,如图所示,一个簇又划分为两部分:信息区和数据区,信息区划分1K字节,数据区为1K-2M字节。划分原则为信息区只占整个簇的一小部分,并留有一定的空间进行扩展。
数据区记录存入到文件中的数据。
信息区记录的信息包括:
·文件信息,包括:创建时间,文件大小,文件属性等。优选地,还可能包括一些业务信息,可以随业务变化进行扩展,如录像的通道号,录像时银行卡的卡号等。
·簇信息,包括:每个文件的第一个簇编号,每个簇在文件中的上一个簇的编号和下一个簇的编号。如果这个簇是文件的第一个簇,则其上一个簇的编号记为0;如果这个簇是文件的最后一个簇,则其下一个簇的编号记为0。
如图3所示,在文件写入时,在信息区写入关键信息,包括:
11)一个文件A被创建以后,在写入数据之前,首先给文件A分配第一个簇(这个簇的簇编号为a);在簇a的信息区写入文件A的文件信息(包括创建时间,文件大小,文件属性等)和簇信息(对于第一个分配的簇a,其上一个簇的编号和下一个簇的编号都是0)。
12)假定文件A当前分配的簇的编号为b,如果簇b被写满之后,要继续在文件中追加数据,则为文件A分配一个新簇c。并且修改簇b的簇信息(其下一个簇的编号修改为c),同时写入簇c的簇信息(其上一个簇的编号是b,下一个簇的编号是0)。
13)文件关闭时,更新第一个簇a的文件信息(包括文件大小,文件属性等)。
读取文件时,从信息区中读取关键信息来读取一个磁盘的所有的文件信息和数据(m,n的意义与图1所示相同)的流程,包括:
21)从簇m开始,依次扫描分区内的每一个簇。设正在扫描的簇的簇号为a,a=m。
22)如果a>=n,扫描结束。如果簇信息无效,(簇信息有CRC校验,在写入簇信息的同时写入CRC校验和。如果写入簇信息过程中出错,例如在异常断电或磁盘坏道时可能发生发生该情况,则读取簇信息时,CRC校验会出错,可确定簇信息无效),a=a+1,重新执行步骤22)。如果簇信息有效,进入步骤23)。
23)如果簇a的上一个簇的编号不是0,进入步骤24)。如果簇a的上一个簇的编号是0,则簇a是一个文件的开始。执行已知一个文件A的第一个簇a来恢复文件A的流程(其在下文中详述)。
24)a=a+1,重新执行步骤22)。
如图4所示,已知一个文件A的第一个簇a来恢复文件A的流程包括:
31)读取簇a的信息区,从信息区中可以得到该文件A的文件信息和簇a的下一个簇的编号(为b)。
32)如果b=0,已经找到这个文件的所有的簇,文件结束。否则a=b,回到步骤31)。
现以一个500G的分区为例,来说明在文件系统上如何进行簇管理。
1)设定簇大小S=2M,n=500G/2M=250K。
关键信息点用1000个簇,数据区的开始簇号m=1000。
2)在每个簇的开始,划分出一个1K的空间作为信息区,用来存储文件信息。以DVR存储为例,文件信息中记录的数据可以包括开始时间,结束时间,文件大小、通道号等数据。
3)写入文件时分配一个新簇的流程如上步骤11)至步骤13)所示。
4)根据一个文件的第一个簇a找到这个文件的所有的簇的流程如上步骤21)至步骤24)所示。
本发明尤其适用于嵌入式系统中的硬盘分区的存储空间的管理。
Claims (10)
1.一种文件系统簇管理方法,其特征在于,包括:
将文件系统的分区中每一个簇划分为信息区和数据区,所述信息区包括文件信息和簇信息,簇信息包括文件的第一个簇的编号、每个簇在文件中上一个簇的编号和下一个簇的编号;
创建文件,为文件分配第一个簇(a),在分配的该第一个簇(a)的信息区写入文件信息和簇信息;
当写入文件时,在所述第一个簇(a)的数据区写入数据,在所述第一个簇(a)写满后文件还未写完时,分配下一个簇并更新簇信息,直至文件写完;
当读取文件时,依次扫描分区内的每一个簇,直至找到所述文件的第一个簇(a)。
2.根据权利要求1所述的文件系统簇管理方法,其特征在于,还包括:当文件关闭时,更新所述第一个簇(a)的文件信息。
3.根据权利要求1所述的文件系统簇管理方法,其特征在于,
当创建文件时,在所述第一个簇(a)的簇信息中,上一个簇的编号和下一个簇的编号都为0。
4.根据权利要求1所述的文件系统簇管理方法,其特征在于,当写入文件时,更新簇信息包括:
将刚写满的簇的下一个簇的编号设定为新分配的簇的编号;
将新分配的簇的上一个簇的编号设定为刚写满的簇的编号;以及
将新分配的簇的下一个簇的编号设定为0。
5.根据权利要求4所述的文件系统簇管理方法,其特征在于,还包括:当创建文件时,在写入簇信息时还写入簇信息的CRC校验和,以及当写入文件时,更新簇信息时还写入簇信息的CRC校验和。
6.根据权利要求1所述的文件系统簇管理方法,其特征在于,
当读取文件时,如果扫描的当前簇的簇信息无效,则扫描当前簇的下一个簇。
7.根据权利要求6所述的文件系统簇管理方法,其特征在于,
当读取文件时,如果扫描的当前簇的簇信息的CRC校验和出错,则扫描当前簇的下一个簇。
8.根据权利要求1所述的文件系统簇管理方法,其特征在于,
当读取文件时,如果扫描的当前簇的簇信息中记录的上一个簇的编号不是0,则继续扫描当前簇的下一个簇。
9.根据权利要求1所述的文件系统簇管理方法,其特征在于,
当读取文件时,如果扫描的当前簇的簇信息中上一个簇的编号是0,则当前簇为文件的第一个簇。
10.根据权利要求9所述的文件系统簇管理方法,其特征在于,还包括:
1)读取当前簇的信息区,得到文件信息和簇信息中当前簇的下一个簇的编号;
2)如果所述当前簇的下一个簇的编号为0,则文件结束;
3)如果所述当前簇的下一个簇的编号不为0,则设定下一个簇为当前簇,返回1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103360999A CN103092849A (zh) | 2011-10-28 | 2011-10-28 | 文件系统簇管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103360999A CN103092849A (zh) | 2011-10-28 | 2011-10-28 | 文件系统簇管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103092849A true CN103092849A (zh) | 2013-05-08 |
Family
ID=48205432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103360999A Pending CN103092849A (zh) | 2011-10-28 | 2011-10-28 | 文件系统簇管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092849A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345477A (zh) * | 2013-06-18 | 2013-10-09 | 任沙浦 | 一种用于监控设备的数据存储方法 |
CN104951569A (zh) * | 2015-07-21 | 2015-09-30 | 成都傅立叶电子科技有限公司 | 文件系统以及采用该文件系统的文件管理方法 |
CN105573862A (zh) * | 2015-12-11 | 2016-05-11 | 浙江大华技术股份有限公司 | 一种恢复文件系统的方法和设备 |
CN107357528A (zh) * | 2017-06-29 | 2017-11-17 | 长沙伟确科技发展有限公司 | 一种基于flash的文件系统 |
CN107644056A (zh) * | 2017-08-04 | 2018-01-30 | 武汉烽火众智数字技术有限责任公司 | 一种文件存储方法、装置及系统 |
CN108763531A (zh) * | 2018-05-31 | 2018-11-06 | 深圳市易甲文技术有限公司 | 一种mdvr文件存储系统及其运行方法 |
CN113806803A (zh) * | 2021-09-17 | 2021-12-17 | 厦门服云信息科技有限公司 | 一种数据存储方法、系统、终端设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6012063A (en) * | 1998-03-04 | 2000-01-04 | Starfish Software, Inc. | Block file system for minimal incremental data transfer between computing devices |
CN1296583A (zh) * | 1999-02-17 | 2001-05-23 | 松下电器产业株式会社 | 数字数据记录再生方法和数字数据记录再生装置 |
CN1508795A (zh) * | 2002-12-13 | 2004-06-30 | 康佳集团股份有限公司 | 摄录设备硬盘的数据存储方法 |
CN1705934A (zh) * | 2002-10-17 | 2005-12-07 | 松下电器产业株式会社 | 文件更新设备 |
CN1776687A (zh) * | 2005-12-16 | 2006-05-24 | 北京中星微电子有限公司 | Fat文件系统中文件分割的方法及其装置 |
CN101529395A (zh) * | 2006-08-31 | 2009-09-09 | 夏普株式会社 | 文件系统 |
CN102096698A (zh) * | 2010-12-14 | 2011-06-15 | 青岛海信网络科技股份有限公司 | 一种视频数据存储格式、存储方法及检索方法 |
CN102136290A (zh) * | 2011-04-21 | 2011-07-27 | 北京联合大学 | 一种嵌入式实时视频文件存储方法 |
-
2011
- 2011-10-28 CN CN2011103360999A patent/CN103092849A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6012063A (en) * | 1998-03-04 | 2000-01-04 | Starfish Software, Inc. | Block file system for minimal incremental data transfer between computing devices |
CN1296583A (zh) * | 1999-02-17 | 2001-05-23 | 松下电器产业株式会社 | 数字数据记录再生方法和数字数据记录再生装置 |
CN1705934A (zh) * | 2002-10-17 | 2005-12-07 | 松下电器产业株式会社 | 文件更新设备 |
CN1508795A (zh) * | 2002-12-13 | 2004-06-30 | 康佳集团股份有限公司 | 摄录设备硬盘的数据存储方法 |
CN1776687A (zh) * | 2005-12-16 | 2006-05-24 | 北京中星微电子有限公司 | Fat文件系统中文件分割的方法及其装置 |
CN101529395A (zh) * | 2006-08-31 | 2009-09-09 | 夏普株式会社 | 文件系统 |
CN102096698A (zh) * | 2010-12-14 | 2011-06-15 | 青岛海信网络科技股份有限公司 | 一种视频数据存储格式、存储方法及检索方法 |
CN102136290A (zh) * | 2011-04-21 | 2011-07-27 | 北京联合大学 | 一种嵌入式实时视频文件存储方法 |
Non-Patent Citations (2)
Title |
---|
续继俊: "3种FAT格式中簇链地址的计算方法研究", 《科技情报开发与经济》, vol. 20, no. 13, 31 December 2010 (2010-12-31) * |
苏云成等: "硬盘分区数据文件的寻簇链计算", 《电脑知识与技术》, vol. 5, no. 22, 31 August 2009 (2009-08-31) * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345477A (zh) * | 2013-06-18 | 2013-10-09 | 任沙浦 | 一种用于监控设备的数据存储方法 |
CN104951569A (zh) * | 2015-07-21 | 2015-09-30 | 成都傅立叶电子科技有限公司 | 文件系统以及采用该文件系统的文件管理方法 |
CN105573862A (zh) * | 2015-12-11 | 2016-05-11 | 浙江大华技术股份有限公司 | 一种恢复文件系统的方法和设备 |
CN105573862B (zh) * | 2015-12-11 | 2021-02-02 | 浙江大华技术股份有限公司 | 一种恢复文件系统的方法和设备 |
CN107357528A (zh) * | 2017-06-29 | 2017-11-17 | 长沙伟确科技发展有限公司 | 一种基于flash的文件系统 |
CN107644056A (zh) * | 2017-08-04 | 2018-01-30 | 武汉烽火众智数字技术有限责任公司 | 一种文件存储方法、装置及系统 |
CN108763531A (zh) * | 2018-05-31 | 2018-11-06 | 深圳市易甲文技术有限公司 | 一种mdvr文件存储系统及其运行方法 |
CN108763531B (zh) * | 2018-05-31 | 2021-08-27 | 深圳市易甲文技术有限公司 | 一种mdvr文件存储系统及其运行方法 |
CN113806803A (zh) * | 2021-09-17 | 2021-12-17 | 厦门服云信息科技有限公司 | 一种数据存储方法、系统、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092849A (zh) | 文件系统簇管理方法 | |
CN103049222B (zh) | 一种raid5的写io优化处理方法 | |
CN100578470C (zh) | 基于裸设备的音视频数据存取方法和装置 | |
CN103927251B (zh) | 一种嵌入式系统的日志管理方法 | |
CN102033786B (zh) | 一种对象存储系统中修复副本一致性的方法 | |
CN101916173B (zh) | 一种基于raid的数据读写方法及其系统 | |
US20160188227A1 (en) | Method and apparatus for writing data into solid state disk | |
CN102136290A (zh) | 一种嵌入式实时视频文件存储方法 | |
CN101527142B (zh) | 一种磁盘冗余阵列中数据的读写方法和设备 | |
CN104063187B (zh) | 适用于安防应用的硬盘文件系统及其运行方法 | |
CN102096561B (zh) | 分层数据存储处理方法、装置以及存储设备 | |
JP2017079053A (ja) | ストレージジャーナリングを改善する方法およびシステム | |
CN108334277B (zh) | 一种日志写入及同步方法、装置、系统、计算机存储介质 | |
CN104268088A (zh) | 车载dvr硬盘数据存储方法 | |
CN103019890A (zh) | 一种块级别的磁盘数据保护系统及其方法 | |
CN104238962A (zh) | 向缓存中写入数据的方法及装置 | |
CN101782875A (zh) | 存储设备和数据存储方法 | |
CN104239438A (zh) | 基于分离存储的文件信息存储方法和文件信息读写方法 | |
CN113495889B (zh) | 一种分布式对象存储方法、装置、电子设备及存储介质 | |
CN103713973A (zh) | 一种基于hdd和ssd的混合存储备份方法及系统 | |
CN104166601A (zh) | 一种存储数据的备份方法和装置 | |
CN100383881C (zh) | 一种嵌入式设备中硬盘关键信息区的保护方法 | |
CN113608701A (zh) | 一种存储系统中数据管理方法和固态硬盘 | |
CN101364163B (zh) | 一种逻辑卷创建系统及其方法 | |
US9710504B2 (en) | Data processing and writing method and related apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130508 |
|
RJ01 | Rejection of invention patent application after publication |