一种支持追加写和共享读的文件存储方式的制作方法

文档序号:6493976阅读:220来源:国知局
一种支持追加写和共享读的文件存储方式的制作方法
【专利摘要】本发明涉及一种支持追加写和共享读的文件存储方式,属于数据存储和备份【技术领域】。一个完整的文件由状态文件,信息文件和数据文件构成。在追加写数据时,标记状态文件,修改数据文件,在写操作结束后,提交写操作。在追加写文件时,支持读取已提交的文件内容。数据文件分块存储,并对每块数据进行校验。本发明简化了备份过程中对存储的操作,增加了备份安全性和可靠性,更可以有效缩短恢复窗口。
【专利说明】一种支持追加写和共享读的文件存储方式
【技术领域】
[0001]本发明属于数据存储和备份【技术领域】,具体涉及支持追加写和共享读的文件存储方式。
【背景技术】
[0002]随着信息化水平的不断提高,数据信息逐渐成为企业赖以生存的基础,数据丢失所造成的损失也日益严重。传统的数据复制、备份、恢复等数据保护技术虽然能够对数据实现一定程度的保护,但是这些方法的恢复点目标和恢复时间目标太长,对于一些关键的信息系统来说是无法接受的。因此备份系统中,需要将数据恢复窗口的时间越短越好,以便可以尽快恢复关键系统的运行。
[0003]随着需要保护的数据的不断增加,进行一次数据备份所需要的时间也越来越长,同样,如何缩短恢复窗口时间,甚至实现零恢复窗口,是数据备份系统中需要面对的问题。
[0004]现有技术中,需要先对文件进行备份,在数据丢失后,再通过恢复文件来恢复系统。这种方式需要等待恢复窗口结束,在一些较大的系统中,恢复窗口可能会花费非常长的时间。
[0005]为了缩短恢复窗口,可以采用边备份边恢复的模型。在此模型中如果使用常规的文件存储方式,在出现系统断电,程序崩溃,空间不足,网络不通等异常后,需要重新发起整个备份与恢复流程。

【发明内容】

[0006]本发明的目的在于克服上述现有技术中的不足,提出了一种追加写和共享读的文件存储方式,可以有效支持边备份边恢复的模型,简化逻辑,提高备份与恢复的安全性与可靠性。
[0007]本发明所涉及的追加写和共享读的文件存储方式,其主要技术步骤包括:
[0008](I)创建一个新文件,实际是创建一个与文件同名的目录,目录下存在3种类型的文件,状态文件,数据文件和信息文件。
[0009]状态文件记录文件可读取大小,文件属性,文件名,数据文件分块信息等内容。
[0010]数据文件存储文件内容,以固定大小分块存储。
[0011]信息文件在追加写文件时使用,记录写之前数据文件的校验值,在回滚文件时进行校验。
[0012](2)追加写文件时,写入文件数据,提交数据。可以多次写操作后一起提交。
[0013](3)读文件时,只能读取已提交部分的数据内容。
[0014]与现有技术相比,本发明具有以下优点:
[0015]1、写操作异常后,在下次写操作时,自动对文件进行回滚,保证文件内容的准确性。
[0016]2、读文件时只能读取已提交部分的文件内容,确保读取的文件数据都是可用的。[0017]3、可以支持多用户同时读取文件。
[0018]4、文件数据分块存储。
[0019]5、文件数据加入校验,提高数据可靠性。
【专利附图】

【附图说明】
[0020]图1是文件存储结构图
[0021]图2是一次追加文件操作流程图
[0022]图3是一次写文件操作流程图
[0023]图4是回滚文件流程图
[0024]图5是提交写数据流程图
[0025]图6是读文件流程图
[0026]具体实施方法
[0027]下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0028]1.创建文件时,创建如图1类似的文件结构,构造初始状态文件和信息文件。
[0029](I)状态文件为一个uft-8编码的xml文件,名称为S,状态文件格式如下:
[0030]
〈ROOT〉
〈!一文件状态,O为正常,I为写开始,2为写结束-->
<STATE>0</STATE>
<!--次写操作累计的文件大小,在提交时,会将加入到DATASIZE中-->
<ADDSIZE>0</ADDSIZE>
〈!--文件被操作时,记录文件原始信息,以供回滚-->
〈ORIGINAL〉
<!一当文件进行操作时,记录一些原始文件数据一>
〈SRCDATA〉
<FILFE1ST〉
[0031]
【权利要求】
1.一种支持追加写和共享读的文件存储方式,其特征在于,包括如下步骤: 步骤一:创建新文件,实际意义即创建一个与文件同名的目录,目录下存在3种类型的文件,状态文件、数据文件和信息文件; 所述状态文件记录文件可读取大小、文件属性、文件名、数据文件分块信息等内容; 所述数据文件存储文件内容,以固定大小分块存储; 所述信息文件在追加写文件时使用,记录写之前数据文件的校验值,在回滚文件时进行校验; 步骤二:追加写文件,在所述步骤一创建的文件中追加写入文件数据后,提交数据; 所述追加写文件时可以多次进行写操作后一起提交数据; 步骤三:读文件,在追加写文件的同时支持读取已提交的数据内容。
2.权利要求1中所述方式的步骤二的追加写文件,其特征主要包括如下步骤: (1)检测当前文件状态,如果文件为非正常状态,则进入步骤(2),否则进入步骤(3); (2)回滚数据文件; (3)计算数据块信息,并将当前数据文件校验值记录到信息文件; (4)标记状态文件为写开始状态; (5)写入文件内容; (6)标记状态文件为写结束状态; (7)提交本次写操作,更新状态文件数据块,文件大小等信息,并标记状态文件为正常状态。
3.权利要求2中所述的步骤(2)中的回滚数据文件,其特征主要包括如下步骤: (1)标记状态文件为写文件状态; (2)将数据文件截取到已提交位置; (3)重新写入数据文件校验值; (4)标记状态文件为可操作状态。
4.权利要求1所述方式的步骤三中的读文件,其特征主要包括如下步骤: (1)当用户读文件时,先判断文件读写是否超过文件可读位置,如果超过则进入步骤(2),否则进行步骤(3); (2)自动修正读取长度; (3)返回数据。
【文档编号】G06F3/06GK103902227SQ201210580147
【公开日】2014年7月2日 申请日期:2012年12月28日 优先权日:2012年12月28日
【发明者】谢亮 申请人:南京壹进制信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1