CN104239443B - 一种序列化数据操作日志的存储方法 - Google Patents
一种序列化数据操作日志的存储方法 Download PDFInfo
- Publication number
- CN104239443B CN104239443B CN201410440009.4A CN201410440009A CN104239443B CN 104239443 B CN104239443 B CN 104239443B CN 201410440009 A CN201410440009 A CN 201410440009A CN 104239443 B CN104239443 B CN 104239443B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- class
- file system
- subindex
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
Abstract
本发明涉及一种序列化数据操作日志的存储方法。该方法包括:1)备份文件系统的原始数据;2)对文件系统的操作进行分类,包括A类操作和B类操作,其中A类操作是对文件系统结构没有影响的操作,B类操作是对文件系统结构有影响的操作;3)建立存储结构,包括主索引和数据分片,主索引记录每一份所述数据分片涉及的时间范围,数据分片包括子索引文件、快速索引文件、数据文件和对象列表文件;4)将A类操作和B类操作存储于所述存储结构中。数据恢复时首先查找某个时间点的日志,然后将文件系统的数据恢复到该时间点。本发明能够减少日志查询及数据恢复过程中的磁盘访问,有效提高数据恢复效率。
Description
技术领域
本发明属于计算机数据容灾和备份领域,具体涉及一种文件系统的序列化操作日志的存储方法。
背景技术
传统的数据容灾和备份技术,是对本地文件系统上的关键数据,进行定期的完全或增量备份。随着备份技术的发展,出现了一种叫做连续数据变化保护的技术(CDP)。
CDP技术的核心在于将文件系统的任何变化按顺序记录下来,这不仅包括文件的修改,还包括创建删除及目录结构变化等,我们称之为序列化操作日志。在被保护数据损坏的时候,用户可以浏览数据操作日志,选定一个合适的时间点,将数据恢复到那一时间点。
序列化操作日志记录的内容繁杂,有各类操作,针对不同的对象,内容长短不一。用户在恢复数据前需要浏览日志,人们经常是先指定一个大概时间,选择关心的文件或者目录,然后逐条查看附近日志,再选定一个操作作为恢复点;另外,在恢复及查看日志时,需要追溯被选对象在过去时间里的名称变化。日志是海量的,要满足上述针对日志的操作,需要精心组织数据,当前的CDP技术基本上采用的是数据库。数据库虽然功能强大,但它不会针对CDP需求作特殊优化,带来的是额外的运行时开销且不是最好的性能,另外部署数据库本身也需要成本。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提出了一种序列化操作日志的存储方法,能够通过新的存储结构减少日志查询及数据恢复过程中的磁盘访问,提高数据恢复效率。
为实现上述目的,本发明采用的技术方案如下:
一种文件系统序列化数据操作日志的存储方法,其步骤包括:
1)备份文件系统的原始数据;
2)对文件系统的操作进行分类,包括A类操作和B类操作,其中A类操作是对文件系统结构没有影响的操作,B类操作是对文件系统结构有影响的操作;
3)建立存储结构,所述存储结构包括主索引和数据分片,所述主索引记录每一份所述数据分片涉及的时间范围,所述数据分片包括子索引文件、快速索引文件、数据文件和对象列表文件,每一个子索引文件对应一份数据文件以及一份对象列表文件;
4)将文件系统的A类操作和B类操作存储于所述存储结构中,其中子索引文件存储所有操作的摘要,数据文件存储A类操作的数据,对象列表文件存储对象名称(路径)及ID;快速索引文件记录B类操作的摘要信息。
进一步地,步骤2)所述A类操作包括:写文件操作,设置文件、目录的属性的操作;所述B类操作包括:对文件、目录、软链接、硬链接的创建操作、删除操作、移动操作。
进一步地,步骤4)所述摘要的内容包含:操作类型,操作对象的ID,操作时间,操作数据长度,以及数据在数据文件中的位置。这里的操作对象指的是操作所涉及的文件、目录、软硬链接等。
一种采用上述存储方法的数据恢复方法,其步骤包括:
1)采用上述方法存储文件系统的序列化操作日志;
2)根据主索引文件查找某时间点的数据分片,根据数据分片中的快速索引文件定位子索引的数据范围,再从子索引中定位日志摘要;或者跳过快速索引,直接在子索引中定位日志摘要;
3)根据步骤2)中查找到的某个时间点的日志,将文件系统的数据恢复到该时间点。
进一步地,在内存中存有所述主索引文件的备份,以加快查找速度。
进一步地,在查找特定对象的日志或者要恢复特定对象的数据时,进行日志过滤。每组数据分片的对象列表文件都有适当的尺寸以便能完全加载到内存中,在内存中形成一个对象及ID的相互映射关系。在处理日志之前,先根据过滤条件,对对象的ID作包含或排除的标记,接下来处理日志就可以根据日志摘要中的ID判断这条日志是否有用,避免对每条摘要做对象名称匹配,以减少CPU占用。
本发明的序列化操作日志的存储方法和数据恢复方法通过精心设计存储结构,减少了日志查询及数据恢复过程中的磁盘访问,减少了日志过滤过程中的匹配次数,能够有效提高数据恢复效率;同时也摆脱了庞大的数据库,成本低廉。
附图说明
图1是本发明方法的步骤流程图。
图2是本发明建立的存储结构示意图。
图3是实施例中每条日志的存储流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
图1是本发明方法的步骤流程图,其中步骤S1~S4实现序列化操作日志的存储,S5进一步实现日志的查询及数据恢复。具体说明如下:
S1:备份文件系统的原始数据
S2:对文件系统的操作进行分类
A类操作:写文件操作和设置文件、目录属性操作;
B类操作:对文件系统结构有影响的操作,包括对文件、目录、软链接、硬链接的创建、删除、移动操作。
S3:建立存储结构
该存储结构如图2所示,包括以下部分:
主索引,主索引文件只有一份,它记录每一份“数据分片”涉及的时间范围。
数据分片,包括子索引、快速索引、数据、对象列表,每一个子索引文件对应一份数据文件以及一份对象列表文件。
S4:将文件系统的操作存储于存储结构中
其中,子索引文件存储所有操作的摘要,摘要的内容包含:操作类型,操作对象的ID,操作时间,操作数据长度,以及数据在数据文件中的位置;数据文件只存储A类操作的数据;对象列表文件存储对象名称(路径)及ID,ID在每个对象列表文件内是唯一的;快速索引文件记录B类操作的摘要信息。
记录日志时,按照其产生顺序依次处理。每条日志具体的存储如图3所示,步骤如下:
1、在当前数据分片的对象列表中根据对象名称查找其ID,如果没有就创建一个新ID,并写入对象列表文件。
2、生成操作摘要信息,写入当前数据分片的子索引文件。
3、如果是A类操作,将操作数据写入当前数据分片的数据文件。
4、如果是B类操作,将摘要信息写入当前数据分片的快速索引文件,摘要中的数据位置改为此摘要在子索引文件中的位置。
5、如果当前数据分片的操作数量过多或者对象列表文件的大小过大,则创建新的数据分片,并将当前数据分片涉及的时间范围记入主索引。
经过以上5步,就完成了一条日志的存储。
S5:日志查询及数据恢复
在查找某个时间点的日志时,可以从主索引文件中找到相关的数据分片,主索引文件并不大,在内存中可存有备份,以加快速度。再用数据分片中的快速索引文件定位子索引的数据范围,最后从子索引中定位日志摘要,或者跳过快速索引,直接在子索引中定位。
在查找特定对象的日志或者要恢复特定对象的数据时,都涉及到日志过滤。采用这种存储结构,日志过滤变得简单高效。每组数据分片的对象列表文件都有适当的尺寸以便能完全加载到内存中,在内存中形成一个对象及ID的相互映射关系。在处理日志之前,先根据过滤条件,对对象的ID作包含或排除的标记,接下来处理日志就可以根据日志摘要中的ID判断这条日志是否有用,避免匹配。
数据分片的快速索引文件记录了对象名称的历史,在追溯对象的历史名称时,只要扫描快速索引即可。
下面提供一个具体应用实例。
假设/home/work/a目录的数据处于被保护状态,a中有文件b1、b2,经历操作如下:
1、时间t1,写b2,偏移:10,长度:1
2、时间t2,重命名b1为c
3、时间t3,删除b2
首先备份/home/work/a目录的数据
操作1发生后,首先为/home/work/a/b2生成新的ID(假定ID是5),然后生成摘要数据<<时间:t1><操作:写><ID:5><偏移:10><长度:1>>,接下来记录写操作的数据,完成。
操作2发生后,首先为/home/work/a/b1生成新的ID(6),为/home/work/a/c生成新ID(7);然后生成摘要数据<<时间:t2><操作:重命名><源ID:6><目标ID:7>>,然后写入子索引及快速索引,完成。
操作3发生后,不用生成新ID,直接生成索引数据<<时间:t3><操作:删除><ID:5>>,完成。
如果要恢复b2被删除(操作3)以前的数据,首先要根据删除操作的大概时间点,列出日志,操作人员根据日志选定操作3以确定恢复点,然后把/home/work/a目录的原始数据备份复制一份,接下来从操作1到操作2依次执行,应用到原始数据的复本,得到想要的数据。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
Claims (3)
1.一种文件系统的数据恢复方法,其步骤包括:
1)采用以下方法存储文件系统的序列化操作日志;
1.1)备份文件系统的原始数据;
1.2)对文件系统的操作进行分类,包括A类操作和B类操作,其中A类操作是对文件系统结构没有影响的操作,B类操作是对文件系统结构有影响的操作;
1.3)建立存储结构,所述存储结构包括主索引和数据分片,所述主索引记录每一份所述数据分片涉及的时间范围,所述数据分片包括子索引文件、快速索引文件、数据文件和对象列表文件,每一个子索引文件对应一份数据文件以及一份对象列表文件;
1.4)将文件系统的A类操作和B类操作存储于所述存储结构中,其中子索引文件存储日志摘要,即所有操作的摘要,摘要的内容包含:操作类型,操作对象的ID,操作时间,操作数据长度,以及数据在数据文件中的位置;数据文件存储A类操作的数据;对象列表文件存储对象名称及ID;快速索引文件记录B类操作的摘要和此摘要在子索引文件中的位置;
2)根据主索引文件查找某时间点的数据分片,根据数据分片中的快速索引文件定位子索引的数据范围,再从子索引中定位日志摘要;或者跳过快速索引,直接在子索引中定位日志摘要;在内存中存有所述主索引文件的备份,以加快查找速度;
3)根据步骤2)中查找到的某个时间点及该时间点之前的日志摘要,将文件系统的数据恢复到该时间点;在查找特定对象的日志或者要恢复特定对象的数据时,进行日志过滤,其方法是:将每组数据分片的对象列表文件设置适当的尺寸以便能完全加载到内存中,在内存中形成一个对象及ID的相互映射关系,在处理日志之前,先根据过滤条件,对对象的ID作包含或排除的标记;在处理日志时,根据日志摘要中的ID判断这条日志是否有用,以避免对每条摘要做对象名称匹配,以减少CPU占用。
2.如权利要求1所述的方法,其特征在于:步骤1.2)所述A类操作包括:写文件操作,设置文件、目录的属性的操作;所述B类操作包括:对文件、目录、软链接、硬链接的创建操作、删除操作、移动操作。
3.如权利要求1所述的方法,其特征在于:步骤1.4)按照日志产生顺序依次进行处理,每条日志的存储步骤包括:
a)在当前数据分片的对象列表中根据对象名称查找其ID,如果没有就创建一个新ID,并写入对象列表文件;
b)生成操作摘要信息,写入当前数据分片的子索引文件;
c)如果是A类操作,将操作数据写入当前数据分片的数据文件;
d)如果是B类操作,将摘要信息写入当前数据分片的快速索引文件,摘要中的数据位置改为此摘要在子索引文件中的位置;
e)如果当前数据分片的操作数量过多或者对象列表文件的大小过大,则创建新的数据分片,并将当前数据分片涉及的时间范围记入主索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410440009.4A CN104239443B (zh) | 2014-09-01 | 2014-09-01 | 一种序列化数据操作日志的存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410440009.4A CN104239443B (zh) | 2014-09-01 | 2014-09-01 | 一种序列化数据操作日志的存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104239443A CN104239443A (zh) | 2014-12-24 |
CN104239443B true CN104239443B (zh) | 2018-07-06 |
Family
ID=52227502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410440009.4A Active CN104239443B (zh) | 2014-09-01 | 2014-09-01 | 一种序列化数据操作日志的存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104239443B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765659A (zh) * | 2015-04-30 | 2015-07-08 | 北京奇虎科技有限公司 | 应用于数据库的数据恢复方法及装置 |
CN105530299B (zh) * | 2015-12-12 | 2019-04-23 | 天津南大通用数据技术股份有限公司 | 目录服务日志的实现方法 |
CN107391309B (zh) * | 2017-07-28 | 2022-06-10 | Tcl移动通信科技(宁波)有限公司 | 移动终端及其恢复出厂预配置处理方法、及存储介质 |
CN108089977B (zh) * | 2017-11-28 | 2020-07-31 | 维沃移动通信有限公司 | 一种应用程序的异常处理方法、装置及移动终端 |
CN108984686B (zh) * | 2018-07-02 | 2021-03-30 | 中国电子科技集团公司第五十二研究所 | 一种基于日志合并的分布式文件系统索引方法和装置 |
CN110232047B (zh) * | 2018-07-16 | 2021-03-23 | 苏州浩辰软件股份有限公司 | Cad文件的时间线管理系统、方法、计算机可读存储介质及计算机终端 |
CN108920215A (zh) * | 2018-07-18 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种通过initramfs收集系统日志的方法 |
CN109194720A (zh) * | 2018-08-15 | 2019-01-11 | 京信通信系统(中国)有限公司 | 主备机数据同步方法、装置和计算机设备 |
CN109388628A (zh) * | 2018-08-28 | 2019-02-26 | 平安科技(深圳)有限公司 | 系统日志查询方法、装置、计算机设备及存储介质 |
CN111008183B (zh) * | 2019-11-19 | 2023-09-15 | 武汉极意网络科技有限公司 | 一种用于业务风控日志数据的存储方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436207A (zh) * | 2008-12-16 | 2009-05-20 | 浪潮通信信息系统有限公司 | 一种基于日志快照的数据恢复和同步方法 |
CN101866305A (zh) * | 2010-05-21 | 2010-10-20 | 武汉大学 | 支持数据查询和快速恢复的连续数据保护方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7325159B2 (en) * | 2004-02-04 | 2008-01-29 | Network Appliance, Inc. | Method and system for data recovery in a continuous data protection system |
US20090037482A1 (en) * | 2007-08-01 | 2009-02-05 | Hitachi, Ltd. | Method and apparatus for achieving consistency of files in continuous data protection |
CN101576834B (zh) * | 2009-05-08 | 2012-05-30 | 西安蓝海本立信息科技有限公司 | 基于时间戳建立数据视图的连续数据保护系统及方法 |
-
2014
- 2014-09-01 CN CN201410440009.4A patent/CN104239443B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436207A (zh) * | 2008-12-16 | 2009-05-20 | 浪潮通信信息系统有限公司 | 一种基于日志快照的数据恢复和同步方法 |
CN101866305A (zh) * | 2010-05-21 | 2010-10-20 | 武汉大学 | 支持数据查询和快速恢复的连续数据保护方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104239443A (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239443B (zh) | 一种序列化数据操作日志的存储方法 | |
CN103229147B (zh) | 用于去重存储系统内的合成备份的方法和系统 | |
KR101644125B1 (ko) | 비휘발성 메모리를 이용한 로깅 최적화 장치 및 방법 | |
CN104040481B (zh) | 用于融合、存储和检索增量式备份数据的方法和系统 | |
JP5656563B2 (ja) | 文書管理システム、文書管理システムの制御方法、プログラム | |
CN107391306B (zh) | 一种异构数据库备份文件恢复方法 | |
CN104137103B (zh) | 用于智能数据归档的方法、系统及其存储介质 | |
WO2013051129A1 (ja) | 格納データの重複排除方法、格納データの重複排除装置、及び重複排除プログラム | |
CN107003935A (zh) | 优化数据库去重 | |
CN107111628A (zh) | 在存储器优化表上的列储存库索引的有效维持 | |
CN103577329B (zh) | 一种快照管理方法和装置 | |
CN103279532B (zh) | 多集合元素去重并标识所属集合的过滤系统及其方法 | |
CN102541757B (zh) | 写缓存方法、缓存同步方法和装置 | |
CN102663076B (zh) | 文件数据处理方法 | |
JP2008541225A5 (zh) | ||
CN106777270A (zh) | 一种基于提交点时间线同步的异构数据库复制并行执行系统及方法 | |
CN110263014A (zh) | 面向时序型数据的区块链存储系统及方法 | |
CN104714858A (zh) | 数据备份方法及装置、数据恢复方法及装置 | |
CN102033930A (zh) | 分布式内存数据库系统 | |
CN106951375A (zh) | 在存储系统中删除快照卷的方法及装置 | |
KR20150122533A (ko) | 세컨더리 인덱스 생성 방법 및 세컨더리 인덱스 저장 장치 | |
CN103617277A (zh) | 一种还原误删除的数据表内容的方法 | |
CN107016123A (zh) | 文件管理方法及终端设备 | |
US10852998B2 (en) | Sub-cluster recovery using a partition group index | |
JP2006018796A (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 | ||
CB02 | Change of applicant information |
Address after: 201114, Shanghai, Minhang District, Kam Kam Road, 2049 lane, Vanke VMO Garden Plaza, room 38, room 615 Applicant after: INFORMATION2 SOFTWARE (SHANGHAI) LTD. Address before: 201114, Shanghai, Minhang District, Kam Kam Road, 2049 lane, Vanke VMO Garden Plaza, room 38, room 615 Applicant before: INFORMATION2 SOFTWARE (SHANGHAI) LTD. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |