CN102708107A - 一种追加式文件存储的方法及系统 - Google Patents
一种追加式文件存储的方法及系统 Download PDFInfo
- Publication number
- CN102708107A CN102708107A CN2011104129357A CN201110412935A CN102708107A CN 102708107 A CN102708107 A CN 102708107A CN 2011104129357 A CN2011104129357 A CN 2011104129357A CN 201110412935 A CN201110412935 A CN 201110412935A CN 102708107 A CN102708107 A CN 102708107A
- Authority
- CN
- China
- Prior art keywords
- file
- files
- blocks
- concordance list
- write
- 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
本发明提出一种追加式文件存储的方法及系统,所提出的一种追加式文件存储的方法主要通过建立存储文件的文件块进行文件存储,再由建立索引表进行文件信息检索与信息读取,所设置回收策略是为了提高磁盘利用率,用判断文件块是否有空间写入文件提高文件存储效率进行存储,最后更新索引表使索引信息总处于最新状态;本发明还提出了一种追加式文件存储的系统,由建立文件块模块、索引模块、回收模块、存储模块、更新索引模块组成来实现提高磁盘利用率的追加式文件存储并可进行随机读取文件。
Description
技术领域
本发明涉及计算机文件存储,尤其涉及一种追加式文件存储的方法及系统。
背景技术
随着计算机逐渐扩大应用领域而文件存储则成为应用最多的功能之一。对于文件存储现阶段主要利用索引结构为多级目录式,即根结点只能存储其下一级子节点的信息,如果文件存储在三级以上的节点上,读取文件时需从根节点开始逐级读取信息,这样就会增加了的读取文件的时间;其次,现有文件的存储是方式一般为非连续的,如文件大于当前有磁盘的存储空间,文件会被分割成多块存储,降低了磁盘的读写性能,当此文件被删除的时候又会产生磁盘碎片,过多的磁盘碎片会降低硬盘的工作效率,还会增加数据丢失和数据损坏的可能性。再者,现有文件存储有最小存储策略问题,即一个文件通常存放在一个或多个簇里,但至少要单独占据一个“簇”。也就是说两个文件不能存放在同一个簇中。若文件远小于一个簇时,就会造成磁盘空间的浪费,也会产生碎片,降低硬盘工作效率。那么,如何进行文件存储时既易于管理,又可以降低检索时间提高磁盘的读写效率,同时还可提高磁盘空间利用率成为急需解决的问题。
发明内容
本发明针对上述所提出的问题,发明了一种追加式文件存储的方法及系统,具体发明如下:
一种追加式文件存储的方法,包括:
建立存储文件的文件块;
根据文件块中的文件信息建立索引表,其中,
所述的文件信息包括:文件关键值、文件起始位置值;
所述索引表包括:文件关键值、文件起始位置值、文件块状态标识、文件块编号;
根据所述的建立索引表设置回收策略;
根据文件块状态标识及回收策略分析文件块是否有空间写入文件,
如果文件块空间量大于写入文件所需要空间量,则写入文件;
如果文件块空间量小于写入文件所需要空间量并且文件块空间量与写入文件所需要空间量差的绝对值小于预设阀值,则申请一个新的文件块写入文件;
根据所述写入文件更新索引表。
所述文件块状态标识,包括:
当文件块存储满时,标记为非活跃状态;
当文件块存储未满时,标记为活跃状态。
所述的设置回收策略,包括:
确定回收策略;
根据回收策略定位要回收的文件块;
判断要回收的文件块是否为非活跃状态,
如果回收的文件块为非活跃状态,则将非活跃状态文件块删除释放磁盘空间并重新写入新的文件块,更新索引表中记录文件块中文件的起始位置值与文件块的编号,
如果回收的文件块为活跃状态,则完成文件回收。
所述的确定回收策略,包括:
根据开始建立索引表的时间在预设时间内进行文件回收或按文件块状态进行文件回收。
所述的根据所述写入文件更新索引表包括:
判断写入文件是否与索引表中已存储的文件关键值匹配,
如果有相匹配,则将文件起始位置值改成写入文件位置值,
如查没有相匹配,则在索引表末端添加写入文件的文件信息;
修改文件块状态标记,
如果写入文件的文件块存储已满,则将索引表中的文件块状态标记为非活跃状态完成文件写入,
如果写入文件的文件块存储未满,则不用修改文件块状态,完成文件写入。
一种追加式文件存储的系统,包括:
建立文件块模块,用于建立存储文件的文件块;
索引模块,根据文件块中的文件信息建立索引表,其中,
所述的文件信息包括:文件关键值、文件起始位置值;
所述索引表包括:文件关键值、文件起始位置值、文件块状态标识、文件块编号;
回收模块,根据所述的建立索引表设置回收策略;
存储模块,根据文件块状态标识及回收策略分析文件块是否有空间写入文件,
如果文件块空间量大于写入文件所需要空间量,则写入文件;
如果文件块空间量小于写入文件所需要空间量并且文件块空间量与写入文件所需要空间量差的绝对值小于预设阀值,则申请一个新的文件块写入文件;
更新索引模块,根据所述写入文件更新索引表。
所述文件块状态标识,包括:
当文件块存储满时,标记为非活跃状态;
当文件块存储未满时,标记为活跃状态。
所述的回收模块,包括:
选取单元,确定回收策略;
回收子单元,根据回收策略定位要回收的文件块;
确定单元,判断要回收的文件块是否为非活跃状态,
如果回收的文件块为非活跃状态,则将非活跃状态文件块删除释放磁盘空间并重新写入新的文件块,更新索引表中记录文件块中文件的起始位置值与文件块的编号,
如果回收的文件块为活跃状态,则完成文件回收。
所述的选取单元,包括:
根据开始建立索引表的时间在预设时间内进行文件回收或按文件块状态进行文件回收。
所述的更新索引模块包括:
判断单元,判断写入文件是否与索引表中已存储的文件关键值匹配,
如果有相匹配,则将文件起始位置值改成写入文件位置值,
如查没有相匹配,则在索引表末端添加写入文件的文件信息;
修改单元,修改文件块状态标记,
如果写入文件的文件块存储已满,则将索引表中的文件块状态标记为非活跃状态完成文件写入,
如果写入文件的文件块存储未满,则不用修改文件块状态,完成文件写入。
本发明提出一种追加式文件存储的方法及系统,其方法主要通过建立存储文件的文件块进行文件存储,再由建立索引表进行文件信息检索与信息读取,所设置回收策略是为了提高磁盘利用率,用判断文件块是否有空间写入文件提高文件存储效率进行存储,最后更新索引表使索引信息总处于最新状态;本发明还提出了一种追加式文件存储的系统,由建立文件块模块、索引模块、回收模块、存储模块、更新索引模块组成来实现提高磁盘利用率的追加式文件存储并可进行随机读取文件。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种追加式文件存储的方法流程图;
图2为一种追加式文件存储的方法中设置回收策略方法流程图;
图3为一种追加式文件存储的方法中更新索引表方法流程图;
图4为一种追加式文件存储的系统结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
一种追加式文件存储的方法,如图1所示,包括:
S101建立存储文件的文件块;
S102根据文件块中的文件信息建立索引表,其中,
所述的文件信息包括:文件关键值、文件起始位置值;
所述索引表包括:文件关键值、文件起始位置值、文件块状态标识、文件块编号;
S103根据所述的建立索引表设置回收策略;
S104根据文件块状态标识及回收策略分析文件块是否有空间写入文件,
如果文件块空间量大于写入文件所需要空间量,则S105写入文件;
如果文件块空间量小于写入文件所需要空间量并且文件块空间量与写入文件所需要空间量差的绝对值小于预设阀值,则S107申请一个新的文件块写入文件;由于当有新文件写入时,旧文件不删除,所以当更新次数多的话会有一定量的磁盘空间被无效数据浪费掉,就要将这些无效数据删除,回收磁盘空间。
S105写入文件;
S106申请一个新的文件块写入文件;
S107根据所述写入文件更新索引表。
所述文件块状态标识,包括:
当文件块存储满时,标记为非活跃状态;
当文件块存储未满时,标记为活跃状态。
所述的设置回收策略,如图2所示,包括:
S201确定回收策略;
S202根据回收策略定位要回收的文件块;
S203判断要回收的文件块是否为非活跃状态,
如果回收的文件块为非活跃状态,则执行步骤S204将非活跃状态文件块删除释放磁盘空间并重新写入新的文件块,再执行步骤S205更新索引表中记录文件块中文件的起始位置值与文件块的编号,
如果回收的文件块为活跃状态,则执行步骤S206完成文件回收。
S204将非活跃状态文件块删除释放磁盘空间并重新写入新的文件块;
S205更新索引表中记录文件块中文件的起始位置值与文件块的编号;
S206完成文件回收。
所述的确定回收策略,包括:
根据开始建立索引表的时间在预设时间内进行文件回收,此策略不必遍历所有文件块;或者按文件块状态进行文件回收。根据不同业务需要进行适当的回收策略选取。
所述的根据所述写入文件更新索引表,如图3所示,包括:
S301开始更新索引表;
S302判断写入文件是否与索引表中已存储的文件关键值匹配,
如果有相匹配,则执行步骤S303将文件起始位置值改成写入文件位置值,
如查没有相匹配,则执行步骤S304在索引表末端添加写入文件的文件信息;
S303将文件起始位置值改成写入文件位置值;
S304在索引表末端添加写入文件的文件信息;
S305修改文件块状态标记,
S306判断写入文件的文件块是否已存储满,
如果写入文件的文件块存储已满,则执行步骤S307将索引表中的文件块状态标记为非活跃状态,
如果写入文件的文件块存储未满,则执行步骤S308完成文件写入;
S307将索引表中的文件块状态标记为非活跃状态;
S308完成文件写入。
一种追加式文件存储的系统,如图4所示,包括:
401建立文件块模块,用于建立存储文件的文件块;
402索引模块,根据文件块中的文件信息建立索引表,其中,
所述的文件信息包括:文件关键值、文件起始位置值;
所述索引表包括:文件关键值、文件起始位置值、文件块状态标识、文件块编号;
403回收模块,根据所述的建立索引表设置回收策略;
404存储模块,根据文件块状态判断文件块是否有空间写入文件,
如果文件块空间量大于写入文件所需要空间量,则写入文件;
如果文件块空间量小于写入文件所需要空间量并且文件块空间量与写入文件所需要空间量差的绝对值小于预设阀值,则申请一个新的文件块写入文件;
405更新索引模块,根据所述写入文件更新索引表。
所述文件块状态标识,包括:
当文件块存储满时,标记为非活跃状态;
当文件块存储未满时,标记为活跃状态。
所述的回收模块403,包括:
403-1选取单元,确定回收策略;
403-2回收子单元,根据回收策略定位要回收的文件块;
403-3确定单元,判断要回收的文件块是否为非活跃状态,
如果回收的文件块为非活跃状态,则将非活跃状态文件块删除释放磁盘空间并重新写入新的文件块,更新索引表中记录文件块中文件的起始位置值与文件块的编号,
如果回收的文件块为活跃状态,则完成文件回收。
所述的选取单元403-1,包括:
根据开始建立索引表的时间在预设时间内进行文件回收或按文件块状态进行文件回收。
所述的更新索引模块405包括:
405-1判断单元,判断写入文件是否与索引表中已存储的文件关键值匹配,
如果有相匹配,则将文件起始位置值改成写入文件位置值,
如查没有相匹配,则在索引表末端添加写入文件的文件信息;
405-2修改单元,修改文件块状态标记,
如果写入文件的文件块存储已满,则将索引表中的文件块状态标记为非活跃状态完成文件写入,
如果写入文件的文件块存储未满,则不用修改文件块状态,完成文件写入。
本发明提出一种追加式文件存储的方法及系统,所提出的一种追加式文件存储的方法主要通过建立存储文件的文件块进行文件存储,再由建立索引表进行文件信息检索与信息读取,所设置回收策略是为了提高磁盘利用率,用判断文件块是否有空间写入文件提高文件存储效率进行存储,最后更新索引表使索引信息总处于最新状态;本发明还提出了一种追加式文件存储的系统,由建立文件块模块、索引模块、回收模块、存储模块、更新索引模块组成来实现提高磁盘利用率的追加式文件存储并可进行随机读取文件。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (10)
1.一种追加式文件存储的方法,包括:
建立存储文件的文件块;
根据文件块中的文件信息建立索引表,其中,
所述的文件信息包括:文件关键值、文件起始位置值;
所述索引表包括:文件关键值、文件起始位置值、文件块状态标识、文件块编号;
根据所述的建立索引表设置回收策略;
根据文件块状态标识及回收策略分析文件块是否有空间写入文件,
如果文件块空间量大于写入文件所需要空间量,则写入文件;
如果文件块空间量小于写入文件所需要空间量并且文件块空间量与写入文件所需要空间量差的绝对值小于预设阀值,则申请一个新的文件块写入文件;
根据所述写入文件更新索引表。
2.如权利要求1所述的方法,其特征在于,所述文件块状态标识,包括:
当文件块存储满时,标记为非活跃状态;
当文件块存储未满时,标记为活跃状态。
3.如权利要求1所述的方法,其特征在于,所述的设置回收策略,包括:
确定回收策略;
根据回收策略定位要回收的文件块;
判断要回收的文件块是否为非活跃状态,
如果回收的文件块为非活跃状态,则将非活跃状态文件块删除释放磁盘空间并重新写入新的文件块,更新索引表中记录文件块中文件的起始位置值与文件块的编号,
如果回收的文件块为活跃状态,则完成文件回收。
4.如权利要求3所述的方法,其特征在于,所述的确定回收策略,包括:
根据开始建立索引表的时间在预设时间内进行文件回收或按文件块状态进行文件回收。
5.如权利要求1所述的方法,所述的根据所述写入文件更新索引表包括:
判断写入文件是否与索引表中已存储的文件关键值匹配,
如果有相匹配,则将文件起始位置值改成写入文件位置值,
如查没有相匹配,则在索引表末端添加写入文件的文件信息;
修改文件块状态标记,
如果写入文件的文件块存储已满,则将索引表中的文件块状态标记为非活跃状态完成文件写入,
如果写入文件的文件块存储未满,则不用修改文件块状态,完成文件写入。
6.一种追加式文件存储的系统,包括:
建立文件块模块,用于建立存储文件的文件块;
索引模块,根据文件块中的文件信息建立索引表,其中,
所述的文件信息包括:文件关键值、文件起始位置值;
所述索引表包括:文件关键值、文件起始位置值、文件块状态标识、文件块编号;
回收模块,根据所述的建立索引表设置回收策略;
存储模块,根据文件块状态标识及回收策略分析文件块是否有空间写入文件,
如果文件块空间量大于写入文件所需要空间量,则写入文件;
如果文件块空间量小于写入文件所需要空间量并且文件块空间量与写入文件所需要空间量差的绝对值小于预设阀值,则申请一个新的文件块写入文件;
更新索引模块,根据所述写入文件更新索引表。
7.如权利要求6所述的系统,其特征在于,所述文件块状态标识,包括:
当文件块存储满时,标记为非活跃状态;
当文件块存储未满时,标记为活跃状态。
8.如权利要求6所述的系统,其特征在于,所述的回收模块,包括:
选取单元,确定回收策略;
回收子单元,根据回收策略定位要回收的文件块;
确定单元,判断要回收的文件块是否为非活跃状态,
如果回收的文件块为非活跃状态,则将非活跃状态文件块删除释放磁盘空间并重新写入新的文件块,更新索引表中记录文件块中文件的起始位置值与文件块的编号,
如果回收的文件块为活跃状态,则完成文件回收。
9.如权利要求8所述的系统,其特征在于,所述的选取单元,包括:
根据开始建立索引表的时间在预设时间内进行文件回收或按文件块状态进行文件回收。
10.如权利要求6所述的系统,所述的更新索引模块包括:
判断单元,判断写入文件是否与索引表中已存储的文件关键值匹配,
如果有相匹配,则将文件起始位置值改成写入文件位置值,
如查没有相匹配,则在索引表末端添加写入文件的文件信息;
修改单元,修改文件块状态标记,
如果写入文件的文件块存储已满,则将索引表中的文件块状态标记为非活跃状态完成文件写入,
如果写入文件的文件块存储未满,则不用修改文件块状态,完成文件写入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104129357A CN102708107A (zh) | 2011-12-13 | 2011-12-13 | 一种追加式文件存储的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104129357A CN102708107A (zh) | 2011-12-13 | 2011-12-13 | 一种追加式文件存储的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102708107A true CN102708107A (zh) | 2012-10-03 |
Family
ID=46900901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104129357A Pending CN102708107A (zh) | 2011-12-13 | 2011-12-13 | 一种追加式文件存储的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102708107A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630688A (zh) * | 2014-10-30 | 2016-06-01 | 国际商业机器公司 | 聚集文件的存储方法和系统以及聚集文件压缩方法和系统 |
CN105808589A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 文件处理的方法和装置 |
CN110704388A (zh) * | 2018-07-10 | 2020-01-17 | 南京航空航天大学 | 基于BerkeleyDB存储管理的SETI索引实现技术 |
CN113641630A (zh) * | 2017-03-27 | 2021-11-12 | 珠海极海半导体有限公司 | 一种flash存储器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063270A (zh) * | 2010-12-28 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 一种写操作方法及装置 |
CN102117494A (zh) * | 2009-12-30 | 2011-07-06 | 新奥特(北京)视频技术有限公司 | 一种三维建模中的数据分层分块方法及装置 |
CN102136289A (zh) * | 2010-12-30 | 2011-07-27 | 华为技术有限公司 | 一种媒体内容的存储方法、读取方法、装置和系统 |
-
2011
- 2011-12-13 CN CN2011104129357A patent/CN102708107A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117494A (zh) * | 2009-12-30 | 2011-07-06 | 新奥特(北京)视频技术有限公司 | 一种三维建模中的数据分层分块方法及装置 |
CN102063270A (zh) * | 2010-12-28 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 一种写操作方法及装置 |
CN102136289A (zh) * | 2010-12-30 | 2011-07-27 | 华为技术有限公司 | 一种媒体内容的存储方法、读取方法、装置和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630688A (zh) * | 2014-10-30 | 2016-06-01 | 国际商业机器公司 | 聚集文件的存储方法和系统以及聚集文件压缩方法和系统 |
US10423580B2 (en) | 2014-10-30 | 2019-09-24 | International Business Machines Corporation | Storage and compression of an aggregation file |
CN105808589A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 文件处理的方法和装置 |
CN113641630A (zh) * | 2017-03-27 | 2021-11-12 | 珠海极海半导体有限公司 | 一种flash存储器 |
CN110704388A (zh) * | 2018-07-10 | 2020-01-17 | 南京航空航天大学 | 基于BerkeleyDB存储管理的SETI索引实现技术 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102096639B (zh) | 用于修剪在非易失性闪速介质上的数据的方法 | |
US9747298B2 (en) | Inline garbage collection for log-structured file systems | |
KR101447188B1 (ko) | 플래시 메모리에 최적화된 입출력 제어 방법 및 장치 | |
KR102310246B1 (ko) | 세컨더리 인덱스 생성 방법 및 세컨더리 인덱스 저장 장치 | |
CN101673243B (zh) | 数据储存装置与方法 | |
CN106844583B (zh) | 一种在NOR Flash上建立FAT文件系统的优化方法 | |
CN109558335B (zh) | 一种基于Nor Flash存储器的嵌入式系统的文件存储格式 | |
CN108763473A (zh) | 一种分布式存储的本地对象存储方法及装置 | |
CN103034592A (zh) | 数据处理方法和装置 | |
CN105677508A (zh) | 一种云存储中纠删码数据的修改方法及系统 | |
CN103377143A (zh) | 存储器管理方法、存储器控制器与存储器存储装置 | |
CN101876885A (zh) | 一种分配逻辑盘符的方法及设备 | |
CN102708107A (zh) | 一种追加式文件存储的方法及系统 | |
CN105653402A (zh) | 一种ssd以及用于ssd的数据恢复方法 | |
CN102024060B (zh) | 存储文件及恢复误删除文件的方法 | |
CN103430178A (zh) | 数据更新方法及装置和产品 | |
CN107229421B (zh) | 视频数据存储系统的创建、文件写入和读取方法及装置 | |
KR100954603B1 (ko) | 파일 시스템의 로그 파일 및 상기 파일 시스템의 오류 복구방법 | |
CN113190180A (zh) | 一种基于混合介质的存储装置及分布式存储系统 | |
CN105404475A (zh) | MCU片内小容量flash的存储管理系统及方法 | |
CN105630406A (zh) | 利用mram作为编辑缓存区的存储系统及编辑缓存方法 | |
CN103354926B (zh) | 存储器控制器 | |
CN112181311B (zh) | 一种循环录制方法、设备和存储介质 | |
CN101634997A (zh) | 增强基于NAND Flash的FAT文件系统稳定性的方法 | |
JP2008269520A (ja) | 記録装置及び記録方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 100080 Haidian District City, Zhongguancun, the main street, No. 1 Hailong building, room 1415, room 14 Applicant after: Beijing Antiy Electronic Installation Co., Ltd. Address before: 100084, 2B-521, bright city, No. 1, Nongda South Road, Beijing, Haidian District Applicant before: Beijing Antiy Electronic Installation Co., Ltd. |
|
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121003 |