CN103902227B - 一种支持追加写和共享读的文件存储方式 - Google Patents

一种支持追加写和共享读的文件存储方式 Download PDF

Info

Publication number
CN103902227B
CN103902227B CN201210580147.3A CN201210580147A CN103902227B CN 103902227 B CN103902227 B CN 103902227B CN 201210580147 A CN201210580147 A CN 201210580147A CN 103902227 B CN103902227 B CN 103902227B
Authority
CN
China
Prior art keywords
file
data
write
read
state
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.)
Active
Application number
CN201210580147.3A
Other languages
English (en)
Other versions
CN103902227A (zh
Inventor
谢亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aerospace One System Jiangsu Information Technology Co ltd
Original Assignee
Nanjing Basic Information Technology Ltd By Share Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Basic Information Technology Ltd By Share Ltd filed Critical Nanjing Basic Information Technology Ltd By Share Ltd
Priority to CN201210580147.3A priority Critical patent/CN103902227B/zh
Publication of CN103902227A publication Critical patent/CN103902227A/zh
Application granted granted Critical
Publication of CN103902227B publication Critical patent/CN103902227B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种支持追加写和共享读的文件存储方式,属于数据存储和备份技术领域。一个完整的文件由状态文件,信息文件和数据文件构成。在追加写数据时,标记状态文件,修改数据文件,在写操作结束后,提交写操作。在追加写文件时,支持读取已提交的文件内容。数据文件分块存储,并对每块数据进行校验。本发明简化了备份过程中对存储的操作,增加了备份安全性和可靠性,更可以有效缩短恢复窗口。

Description

一种支持追加写和共享读的文件存储方式
技术领域
本发明属于数据存储和备份技术领域,具体涉及支持追加写和共享读的文件存储方式。
背景技术
随着信息化水平的不断提高,数据信息逐渐成为企业赖以生存的基础,数据丢失所造成的损失也日益严重。传统的数据复制、备份、恢复等数据保护技术虽然能够对数据实现一定程度的保护,但是这些方法的恢复点目标和恢复时间目标太长,对于一些关键的信息系统来说是无法接受的。因此备份系统中,需要将数据恢复窗口的时间越短越好,以便可以尽快恢复关键系统的运行。
随着需要保护的数据的不断增加,进行一次数据备份所需要的时间也越来越长,同样,如何缩短恢复窗口时间,甚至实现零恢复窗口,是数据备份系统中需要面对的问题。
现有技术中,需要先对文件进行备份,在数据丢失后,再通过恢复文件来恢复系统。这种方式需要等待恢复窗口结束,在一些较大的系统中,恢复窗口可能会花费非常长的时间。
为了缩短恢复窗口,可以采用边备份边恢复的模型。在此模型中如果使用常规的文件存储方式,在出现系统断电,程序崩溃,空间不足,网络不通等异常后,需要重新发起整个备份与恢复流程。
发明内容
本发明的目的在于克服上述现有技术中的不足,提出了一种追加写和共享读的文件存储方式,可以有效支持边备份边恢复的模型,简化逻辑,提高备份与恢复的安全性与可靠性。
本发明所涉及的追加写和共享读的文件存储方式,其主要技术步骤包括:
(1)创建新文件,实际创建一个与文件同名的目录,此目录对使用者透明,使用者可直接视为一个文件。目录下存在3种类型的文件,状态文件、数据文件和信息文件;
所述状态文件记录文件基本属性(时间、大小)、数据分块信息、校验算法、文件状态,回滚标识等内容;
所述数据文件存储文件内容,以固定大小分块存储,不同文件可以使用不同的块大小;
所述信息文件在追加写文件时使用,记录写之前数据文件的校验值,在回滚文件时进行校验,可自由选择检验算法;
(2)追加写文件,在所述步骤一创建的文件中追加写入文件数据后,提交数据;
所述追加写操作,支持任意长度的写操作叠加,只要最终提交即可生效;
(3)读文件,在追加写文件的同时支持读取已提交的数据内容,读取文件与读取普通文件类似,支持并发随机读操作。
与现有技术相比,本发明具有以下优点:
1、写操作异常后,在下次写操作时,自动对文件进行回滚,保证文件内容的准确性。
2、读文件时只能读取已提交部分的文件内容,确保读取的文件数据都是可用的。
3、可以支持多用户同时读取文件。
4、文件数据分块存储。
5、文件数据加入校验,提高数据可靠性。
附图说明
图1是文件存储结构图
图2是一次追加文件操作流程图
图3是一次写文件操作流程图
图4是回滚文件流程图
图5是提交写数据流程图
图6是读文件流程图
具体实施方法
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
1.创建文件时,创建如图1类似的文件结构,构造初始状态文件和信息文件。
(1)状态文件为一个uft-8编码的xml文件,名称为S,状态文件格式如下:
<ROOT>
<!--文件状态,0为正常,1为写开始,2为写结束-->
<STATE>0</STATE>
<!--一次写操作累计的文件大小,在提交时,会将加入到DATASIZE中-->
<ADDSIZE>0</ADDSIZE>
<!--文件被操作时,记录文件原始信息,以供回滚-->
<ORIGINAL>
<!--当文件进行操作时,记录一些原始文件数据-->
<SRCDATA>
<FILELIST>
<FILE>
<!--文件名,new=1时表示新块,回滚时需要删除整块-->
<NAME NEW=’0’>D1</NAME>
<!--记录的文件块信息,单位byte-->
<PART>
<POS>100</POS>
<LEN>10</LEN>
</PART>
</FILE>
<FILE>
<NAME NEW=’1’>D2</NAME>
</FILE>
</FILELIST>
</SRCDATA>
</ORIGINAL>
<!--文件当前的状态,大小,时间等信息-->
<CURRENT>
<FILETM>
<!--创建时间-->
<CREATE>1985-05-05 12:35:21</CREATE>
<!--修改时间-->
<MODIFY>1985-05-06 12:35:21</MODIFY>
</FILETM>
<!--文件大小-->
<DATASIZE>34584900</DATASIZE>
<!--块数目-->
<PARTNUM>5</PARTNUM>
<!--每块数据校验位长度-->
<PARTCHECKSIZE>2</PARTCHECKSIZE>
<!--每块数据校验方法,1表示奇偶校验,2表示crc16,3表示crc32...-->
<PARTCHECKTYPE>0</PARTCHECKTYPE>
<!--块大小,单位MB,不含校验位-->
<PARTSIZE>64</PARTSIZE>
<!--最后一块信息-->
<LASTPART>
<ID>5</ID>
<!--最后一块大小,单位byte,不含校验位-->
<SIZE>15746</SIZE>
</LASTPART>
</CURRENT>
</ROOT>
(2)初始信息文件为一空白文件,名称为I。
(3)数据文件名称类似于D0,D1,D2…
2.追加文件时,如图2所示,按照“写文件->提交”的逻辑来确保文件的完整性,可以支持多次写入文件后再进行一次提交。
3.一次写文件流程如图3所示,开始写之前先要占用状态文件,占用状态文件通过独占写共享读的打开文件方式来实现。如果占用状态文件失败,则表示文件正在被其他用户操作,直接返回失败。
占用状态文件成功后,检测当前文件状态,如果不为正常状态,则说明文件需要进行回滚,回滚成功后才能继续写文件操作。
写文件前,先记录当前文件块的校验值,再标记状态文件为写开始,写完后状态文件标记为写结束,同时释放状态文件。
一次写文件结束后,可以继续跟着进行下一次写操作或进行提交操作。
一次提交最多只能提交一块数据大小,可以支持多次写操作叠加后一起提交。
4.回滚流程如图4所示,回滚时截断未提交部分的数据内容,同时重新写入校验值。回滚操作只有在写文件时才会进行,读文件时不需要进行回滚操作。
回滚时,需要处理跨块回滚的情形,此时需要删除新块,并处理旧数据块。
5.数据提交流程如图5所示,占用状态文件并计算写入校验值,同时更新文件信息(文件大小,文件修改时间,文件块信息等),最后释放状态文件。
6.读文件流程如图6所示,读文件时只能读取已提交文件数据内容,在追加写文件的同时支持读取已提交的内容。如果需要读取的数据内容超过已提交长度,自动对读取位置进行修正,确保读取的数据均为已提交的文件内容。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定。

Claims (3)

1.一种支持追加写和共享读的文件存储方式,其特征在于,包括如下步骤:
步骤一:创建新文件,实际意义即创建一个与文件同名的目录,目录下存在3种类型的文件,状态文件、数据文件和信息文件;
所述状态文件记录文件可读取大小、文件属性、文件名、数据分块信息、校验算法、文件状态等内容;
所述数据文件存储文件内容,以固定大小分块存储;
所述信息文件在追加写文件时使用,记录写之前数据文件的校验值,在回滚文件时进行校验;
步骤二:追加写文件,在所述步骤一创建的文件中追加写入文件数据后,提交数据;
所述追加写文件时可以多次进行写操作后一起提交数据;
所述追加写文件,主要包括如下步骤:
(1)检测当前文件状态,如果文件为非正常状态,则进入步骤(2),否则进入步骤(3);
(2)回滚数据文件;
(3)计算数据块信息,并将当前数据文件校验值记录到信息文件;
(4)标记状态文件为写开始状态;
(5)写入文件内容;
(6)标记状态文件为写结束状态;
(7)提交本次写操作,更新状态文件数据块,文件大小等信息,并标记状态文件为正常状态。
步骤三:读文件,在追加写文件的同时支持读取已提交的数据内容;
2.权利要求1中所述的步骤二中的回滚数据文件,其特征主要包括如下步骤:
(1)标记状态文件为写文件状态;
(2)将数据文件截取到已提交位置;
(3)重新写入数据文件校验值;
(4)标记状态文件为可操作状态。
3.权利要求1所述方式的步骤三中的读文件,其特征主要包括如下步骤:
(1)当用户读文件时,先判断文件读写是否超过文件可读位置,如果超过则进入步骤(2),否则进行步骤(3);
(2)自动修正读取长度;
(3)向客户端返回数据。
CN201210580147.3A 2012-12-28 2012-12-28 一种支持追加写和共享读的文件存储方式 Active CN103902227B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210580147.3A CN103902227B (zh) 2012-12-28 2012-12-28 一种支持追加写和共享读的文件存储方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210580147.3A CN103902227B (zh) 2012-12-28 2012-12-28 一种支持追加写和共享读的文件存储方式

Publications (2)

Publication Number Publication Date
CN103902227A CN103902227A (zh) 2014-07-02
CN103902227B true CN103902227B (zh) 2017-06-06

Family

ID=50993577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210580147.3A Active CN103902227B (zh) 2012-12-28 2012-12-28 一种支持追加写和共享读的文件存储方式

Country Status (1)

Country Link
CN (1) CN103902227B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653393B (zh) * 2014-11-11 2018-09-21 南京壹进制信息技术股份有限公司 一种基于usn日志方式进行海量文件备份的方法
CN105302488B (zh) * 2015-10-27 2018-05-01 浪潮(北京)电子信息产业有限公司 一种存储系统的数据写入方法及系统
CN111124280A (zh) * 2019-11-29 2020-05-08 浪潮电子信息产业股份有限公司 一种数据追加写入方法、装置及电子设备和存储介质
CN116781762B (zh) * 2023-08-24 2023-10-27 四川科瑞软件有限责任公司 云计算数据存储方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132415A (zh) * 2006-08-21 2008-02-27 索尼株式会社 记录系统和方法、信息处理装置和控制方法、记录控制装置和方法
CN102193878A (zh) * 2010-03-17 2011-09-21 索尼公司 存储装置和存储系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4088899B2 (ja) * 2004-11-17 2008-05-21 ソニー株式会社 記録再生装置および記録再生方法、並びにプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132415A (zh) * 2006-08-21 2008-02-27 索尼株式会社 记录系统和方法、信息处理装置和控制方法、记录控制装置和方法
CN102193878A (zh) * 2010-03-17 2011-09-21 索尼公司 存储装置和存储系统

Also Published As

Publication number Publication date
CN103902227A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
CN102662607B (zh) 一种raid6级别混合磁盘阵列及其性能加速和可靠性提高方法
US7487289B2 (en) Apparatus and method for detecting disk write omissions
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US7103811B2 (en) Mechanisms for detecting silent errors in streaming media devices
JP5047308B2 (ja) データセキュリティのための不揮発性ディスクキャッシュ
US6701455B1 (en) Remote copy system with data integrity
CN102411523B (zh) 文件备份存储方法、装置及其文件系统备份方法
US8554733B2 (en) Disaster recovery method, disaster recovery system, remote copy method and storage system
US20090228744A1 (en) Method and system for cache-based dropped write protection in data storage systems
CN105302667B (zh) 基于集群架构的高可靠性数据备份与恢复方法
CN102955720A (zh) 一种提高ext文件系统稳定性的方法
CN102792276A (zh) 闪速复制级联中的缓冲磁盘
US7020805B2 (en) Efficient mechanisms for detecting phantom write errors
CN103902227B (zh) 一种支持追加写和共享读的文件存储方式
CN110399247B (zh) 一种数据恢复方法、装置、设备及计算机可读存储介质
US20090313498A1 (en) Control method and storage device
US7000083B2 (en) Resynchronization of count key data with its corresponding meta data
JP2006172320A (ja) データ複製制御装置
CN108874312B (zh) 数据存储方法以及存储设备
US20060047872A1 (en) Storage system has the function of preventing drive write error
CN116501264B (zh) 一种数据存储方法、装置、系统、设备及可读存储介质
CN106933707B (zh) 基于raid技术的数据存储设备数据恢复方法及系统
CN103412802B (zh) 容灾数据文件访问控制列表备份的方法及装置
US20190354433A1 (en) Parity log with by-pass
CN111190874B (zh) 一种分布式存储的高可靠数据日志模块及其构建方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Guanghua Road, Baixia District Nanjing city Jiangsu province 210014 No. 166 East Midlands Building 5 layer

Applicant after: NANJING UNARY INFORMATION TECHNOLOGY Inc.,Ltd.

Address before: Guanghua Road, Baixia District Nanjing city Jiangsu province 210014 No. 166 East Midlands Building 5 layer

Applicant before: Nanjing Unary Information Technology Co.,Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 210014 Five Floors East of Delan Building, 166 Guanghua Road, Baixia District, Nanjing City, Jiangsu Province

Patentee after: NANJING UNARY INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 210014 Five Floors East of Delan Building, 166 Guanghua Road, Baixia District, Nanjing City, Jiangsu Province

Patentee before: NANJING UNARY INFORMATION TECHNOLOGY Inc.,Ltd.

CP01 Change in the name or title of a patent holder
CP03 Change of name, title or address

Address after: Building 1, 6th Floor, Changfeng Building, No.14 Xinghuo Road, Research and Innovation Park, Jiangbei New District, Nanjing City, Jiangsu Province, 210000

Patentee after: Aerospace One System (Jiangsu) Information Technology Co.,Ltd.

Address before: 210014 Five Floors East of Delan Building, 166 Guanghua Road, Baixia District, Nanjing City, Jiangsu Province

Patentee before: NANJING UNARY INFORMATION TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address