CN101866305B - 支持数据查询和快速恢复的连续数据保护方法及系统 - Google Patents
支持数据查询和快速恢复的连续数据保护方法及系统 Download PDFInfo
- Publication number
- CN101866305B CN101866305B CN 201010184912 CN201010184912A CN101866305B CN 101866305 B CN101866305 B CN 101866305B CN 201010184912 CN201010184912 CN 201010184912 CN 201010184912 A CN201010184912 A CN 201010184912A CN 101866305 B CN101866305 B CN 101866305B
- Authority
- CN
- China
- Prior art keywords
- cdp
- recovery
- data
- file
- module
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机安全中的灾难恢复技术领域,尤其涉及一种支持交互式数据查询和快速恢复的文件级连续数据保护方法及系统。本发明方法包括CDP主机和CDP服务器之间的初始化与CDP备份、CDP服务器与CDP主机配合进行受保护对象在任意时间点的文件系统视图快速查询、CDP服务器与CDP主机配合进行任意时间段任意文件的修改记录查询、CDP服务器与CDP主机配合进行任意时间点任意文件集的快速恢复,本发明系统包括CDP代理模块、快速恢复代理模块、扩展文件树管理模块、操作索引日志模块、数据存储模块、查询模块、恢复模块。本发明大大优化了查询与恢复时进行数据搜索的效率,优化了连续数据保护方案的整体性能。
Description
技术领域
本发明涉及计算机安全中的灾难恢复技术领域,尤其涉及一种支持交互式数据查询和快速恢复的文件级连续数据保护方法及系统。
背景技术
身处21世纪的今天,计算机的使用已经深入到我们生活的方方面面,数据备份已成为包含数据可用性、法规遵从、数据发现和数据安全性风险管理战略的中心,数据备份技术也成为了研究热点。
容灾备份是信息系统能够安全得到保障的基本要求,传统容灾备份方式得到的是在时间上离散的数据版本,而连续数据保护(Continuous Data Protection,CPD)这种新型的容灾方式可以跟踪用户的每一个操作,因而可以再现出用户数据在受保护期间内的任意数据状态。
所谓连续数据保护是指一种连续捕获和保存数据变化,并将变化后的数据独立于初始数据进行保存的方法,而且该方法可以实现过去任意一个时间点的数据恢复。连续数据保护系统可能基于块、文件或应用,并且为数量无限的可变恢复点提供精细的可恢复对象。
因此,所有的连续数据保护解决方案都应当具备以下几个基本的特性:数据的改变受到连续的捕获和跟踪;所有的数据改变都存储在一个与主存储地点不同的独立地点中;恢复点目标是任意的,而且不需要在实际恢复之前事先定义。所以,连续数据保护可以提供更快的数据检索、更强的数据保护和更高的业务连续性能力,而与传统的备份解决方案相比,连续数据保护的总体成本和复杂性都要低。
相对传统方式而言,连续数据保护实现了更好的数据恢复点目标(Recovery PointObjective,RPO)和恢复时间目标(Recovery Time Objective,RTO)。
目前国际市场上连续数据保护产品,有各种不同的缺陷。基于硬件的产品成本高,而且无法提供文件级别的保护,使用不够方便;基于软件的产品功能不齐,特别是缺乏良好的交互体验,无法提供良好的查询功能来帮助用户进行方便的恢复时间定位;数据组织方式也有缺陷,恢复效率不高。
发明内容
本发明的目的是提供一种支持交互式数据查询和快速恢复的文件级连续数据保护方法及系统,以合理的数据组织方式,对连续数据保护的备份数据进行管理和操作,使得在灾难发生、原始数据受损后,用户能够方便的查询受保护的数据在各个时间点的状态以确定回复目标时间点,并以高效的数据组织方法进行快速的数据恢复。
为达到上述目的,本发明采用如下的技术方案:
支持交互式数据查询和快速恢复的文件级连续数据保护方法运行于CDP主机端和CDP服务器端之间,包括以下步骤:
CDP主机和CDP服务器之间的初始化与CDP备份,该步骤进一步包括以下子步骤:
①初始化网络连接,CDP主机向CDP服务器建立网络连接;
②CDP主机通过CDP代理向CDP服务器发送初始化命令,以及受保护对象的逻辑状态;
③CDP主机通过CDP代理向CDP服务器发送受保护对象的物理内容;
④CDP主机通过CDP代理向CDP服务器发送截获到的针对受保护对象进行的操作,所述操作包括操作对象、操作类型、操作时间与操作内容;
CDP服务器与CDP主机配合进行受保护对象在任意时间点的文件系统视图快速查询,该步骤进一步包括以下子步骤:
①用户通过快速恢复代理指定要查询的时间点,CDP主机通过快速恢复代理将用户指定的查询时间点发送到CDP服务器;
②查询模块对扩展文件树进行遍历,对每个节点进行状态判断,结果为“未建立”、“已建立”或“已删除”中的一种;
③查询模块查询状态为“已建立”的节点所对应的索引日志,判断其当时的文件名/文件夹名和其他相关属性,建立起一个受保护对象在指定时间点的逻辑状态视图;
④CDP服务器将查询到的视图发送给快速恢复代理,快速恢复代理用文件树视图的形式显示给用户;
CDP服务器与CDP主机配合进行任意时间段任意文件的修改记录查询,该步骤进一步包括以下子步骤:
①用户通过快速恢复代理指定要查询的受保护对象和要查询的时间段,CDP主机通过快速恢复代理将用户指定的查询对象和时间段信息发送到CDP服务器;
②扩展文件树遍历,找到查询对象所对应的节点,判断其在指定时间段内是否存在,若不存在则将错误信息返回给快速恢复代理;
③索引日志遍历,查询模块查询对应节点所的索引日志,抽取时间符合要求的记录项,形成要查询的操作记录;
④CDP服务器将查询到的操作记录发送给快速恢复代理,快速恢复代理将其显示给用户:
CDP服务器与CDP主机配合进行任意时间点任意文件集的快速恢复,该步骤进一步包括以下子步骤:
①用户进行多次数据查询后,指定要恢复的时间点与要恢复的对象集合,CDP主机通过快速恢复代理将之发送给CDP服务器;
②查找对应节点信息,逐个处理要恢复的对象集合中的对象,先进行扩展文件树遍历,找到对象集中的对象所对应的节点,并抽取其索引日志;
③数据版本计算,遍历索引日志,通过版本合成算法计算出要恢复到指定时间点所需的最小数据量与这些数据片段的存储位置;
④CDP服务器将恢复数据以及控制信息发送给快速恢复代理,快速恢复代理将这些数据写入受保护对象,进行实际的恢复。
CDP服务器端根据CDP代理截获到的操作数据,动态维护一个包含文件/目录的各种属性以及是否已删除等信息的扩展文件树,并为每个文件/目录节点维护一个包含所有操作记录的索引日志。
CDP服务器端在实际存储CDP代理截获到的操作数据时,使用专用的空间分配方法,根据每个受保护对象的权值动态维护与分配空间。
用户进行任意时间点的文件系统视图快速查询时,CDP服务器端能够根据用户指定的数据视图查询时间点、查询时间段和查询对象,通过对扩展文件树和索引日志的操作,快速的完成查询作业,生成相应数据视图并显示给用户。
用户进行任意时间点任意文件集的高效率恢复操作时,CDP服务器端能够根据用户指定的恢复对象和恢复时间,通过对扩展文件树和索引日志的操作,快速的完成的数据版本与所需最小数据量的计算。
支持交互式数据查询和快速恢复的文件级连续数据保护系统,包括:
运行于CDP主机端的模块和运行于CDP服务器端的模块,其中CDP主机端模块包括CDP代理模块、快速恢复代理模块,CDP服务器端模块包括扩展文件树管理模块、操作索引日志模块、数据存储模块、查询模块、恢复模块;
CDP代理模块,用于将受保护区域的文件系统结构及数据内容发送至CDP服务器,并能截获受保护区域的所有操作,发送到CDP服务器存储起来;
快速恢复代理模块,用于根据CDP服务器端数据与相关的时间信息、位置信息,将其恢复到目标位置上;
扩展文件树管理模块,接收CDP代理模块发送过来的受保护区域的初始状态信息、以及CDP代理模块截获的操作信息,并根据所述初始状态信息建立扩展文件树,根据所述操作信息进行同步的更新修改,从而使扩展文件树与受保护区域的状态同步;
操作索引日志模块,用于为每个受保护的文件和目录建立操作操作数据的日志,该日志采用索引方式实现;
数据存储模块,用于根据专门的空间分配算法为每个受保护的文件和文件夹分配空间来存储其上进行的操作;
查询模块,用于完成任意时间点的文件系统视图快速查询、任意时间段任意文件的修改记录查询;
恢复模块,用于支持用户进行任意时间点任意文件集的高效率恢复,负责快速组织出用户指定的时间点、指定对象的状态与数据,并将恢复到用户指定的目标位置。
用户指定要查询的时间点的子模块;
对扩展文件树进行遍历,将每个节点的新建时间、删除时间与用户指定的查询时间进行比较,从而对该节点进行状态判断,结果可能为未建立、已建立或已删除的子模块;
对于已建立的节点,查询其对应的索引日志中的属性修改记录表,判断其当时的文件名/文件夹名的子模块;
将扩展文件树中的节点遍历一遍后,最终建立起受保护对象在用户指定查询时间点上的逻辑状态视图的子模块。
用户指定受保护对象中的某个文件/文件夹为查询目标,并指定要查询的时间段的子模块;
遍历扩展文件树,找到该节点,并取出其索引日志的子模块;
将处于指定时间段中的日志项取出,建立起指定对象在指定时间段的操作记录表的子模块。
所述扩展文件树管理模块中,扩展文件树以XML文件的形式保存在磁盘中。
本发明具有以下优点和积极效果:
1)相对于传统的连续数据保护方案,本发明中独立设计的扩展文件树可以将用户的备份数据进行逻辑上的即时整合,使之与用户的受保护数据在逻辑状态上同步,同时又蕴含用户数据的以往状态,为快速的交互式数据状态查询与快速恢复奠定基础。
2)本发明中索引日志的使用,将文件级连续数据保护的备份数据与其操作对象进行逻辑上的绑定,大大优化了查询与恢复时进行数据搜索的效率,优化了连续数据保护方案的整体性能。
3)在扩展文件树与索引日志基础上专门设计的任意时间点的文件系统视图快速查询方法、任意时间段任意文件的修改记录查询方法,实现了高效的交互式数据查询,改善了连续数据保护方案的查询功能与用户体验。
4)在扩展文件树与索引日志基础上专门设计的任意时间点任意文件集的高效率恢复算法,实现了一种利用正向连续数据保护操作日志与现存数据版本进行状态回滚的恢复方法,在数据恢复的版本生成速度和数据传输量两方面进行了优化,同传统连续数据保护方案相比,提升了连续数据保护方案的整体性能。
附图说明
图1是本发明提供的支持交互式数据查询和快速恢复的文件级CDP保护方法流程图。
图2是本发明提供的支持交互式数据查询和快速恢复的文件级CDP保护系统模块结构图。
图3是本发明提供的扩展文件树与索引日志结构图。
图4是本发明提供的任意时间点的文件系统视图快速查询示意图。
图5是本发明提供的任意时间段任意文件的修改记录查询示意图。
图6是本发明提供的任意文件集任意时间点的高效率恢复优化方法流程图。
图7是本发明提供的任意文件集任意时间点的高效率恢复优化方法实例图。
具体实施方式
下面以具体实施例结合附图对本发明作进一步说明:
首先介绍本发明提出的支持交互式数据查询和快速恢复的文件级CDP保护方法:
参见图1所示的本发明提供的支持交互式数据查询和快速恢复的文件级CDP保护方法运行流程图。该方法运行于CDP主机和CDP服务器之间,其中CDP主机上运行有如下模块,即CDP代理、快速恢复代理;CDP服务器具备元数据管理功能与操作数据存储管理的功能,其上运行有如下模块,即扩展文件树管理模块、索引日志模块、查询模块、恢复模块、数据存储模块。
下面结合附图1详细描述本发明所提供的方法的流程图:
本发明提供的支持交互式数据查询和快速恢复的文件级CDP保护方法包括以下步骤:
1、CDP主机和CDP服务器之间的初始化与CDP备份,该步骤进一步包括以下子步骤:
①初始化网络连接,CDP主机向CDP服务器建立网络连接;
②CDP主机通过CDP代理向CDP服务器发送初始化命令,以及受保护对象的逻辑状态;
③CDP主机通过CDP代理向CDP服务器发送受保护对象的物理内容;
④CDP主机通过CDP代理向CDP服务器发送截获到的针对受保护对象进行的操作,所述操作包括操作对象、操作类型、操作时间与操作内容;
2、CDP服务器与CDP主机配合进行受保护对象在任意时间点的文件系统视图快速查询,该步骤进一步包括以下子步骤:
①用户通过快速恢复代理指定要查询的时间点,CDP主机通过快速恢复代理将用户指定的查询时间点发送到CDP服务器;
②查询模块对扩展文件树进行遍历,对每个节点进行状态判断,结果为“未建立”、“已建立”或“已删除”中的一种;
③查询模块查询状态为“已建立”的节点所对应的索引日志,判断其当时的文件名/文件夹名和其他相关属性,建立起一个受保护对象在指定时间点的逻辑状态视图;
④CDP服务器将查询到的视图发送给快速恢复代理,快速恢复代理用文件树视图的形式显示给用户;
3、CDP服务器与CDP主机配合进行任意时间段任意文件的修改记录查询,该步骤进一步包括以下子步骤:
①用户通过快速恢复代理指定要查询的受保护对象和要查询的时间段,CDP主机通过快速恢复代理将用户指定的查询对象和时间段信息发送到CDP服务器;
②扩展文件树遍历,找到查询对象所对应的节点,判断其在指定时间段内是否存在,若不存在则将错误信息返回给快速恢复代理;
③索引日志遍历,查询模块查询对应节点所的索引日志,抽取时间符合要求的记录项,形成要查询的操作记录;
④CDP服务器将查询到的操作记录发送给快速恢复代理,快速恢复代理将其显示给用户;
4、CDP服务器与CDP主机配合进行任意时间点任意文件集的快速恢复,该步骤进一步包括以下子步骤:
①用户进行多次数据查询后,指定要恢复的时间点与要恢复的对象集合,CDP主机通过快速恢复代理将之发送给CDP服务器;
②查找对应节点信息,逐个处理要恢复的对象集合中的对象,先进行扩展文件树遍历,找到对象集中的对象所对应的节点,并抽取其索引日志;
③数据版本计算,遍历索引日志,通过版本合成算法计算出要恢复到指定时间点所需的最小数据量与这些数据片段的存储位置;
④CDP服务器将恢复数据以及控制信息发送给快速恢复代理,快速恢复代理将这些数据写入受保护对象,进行实际的恢复。
上述所述的方法中,CDP服务器端能够根据CDP代理截获到的操作数据,动态的维护一个包含文件/目录的各种属性以及是否已删除等信息的扩展文件树,并为每个文件/目录节点维护一个包含所有操作记录的索引日志,从而使扩展文件树与用户主机上受保护对象的状态保持一致,同时又包含以往状态信息与历史上所有操作的信息,从而支持快速的交互式数据查询操作恢复操作;
上述所述的方法中,CDP服务器端在实际存储CDP代理截获到的操作数据时,使用专用的空间分配方法,根据每个受保护对象的权值动态的维护与分配空间,从而使得每个对象的操作数据尽可能的集中存储而非离散存储,从而提高快速恢复时的数据存取效率,更好的支持快速恢复操作;
上述所述的方法中,用户进行任意时间点的文件系统视图快速查询时,CDP服务器端能够根据用户指定的数据视图查询时间点、查询时间段和查询对象,通过对扩展文件树和索引日志的操作,快速的完成查询作业,生成相应数据视图并显示给用户;
上述所述的方法中,用户进行任意时间点任意文件集的高效率恢复操作时,CDP服务器端能够根据用户指定的恢复对象和恢复时间,通过对扩展文件树和索引日志的操作,快速的完成的数据版本与所需最小数据量的计算,从而使恢复操作在时间效率与传输数据量方面都达到最优化。
下面介绍本发明提出的支持交互式数据查询和快速恢复的文件级连续数据保护系统:
如图2所示,本系统分为运行于CDP主机端的模块和运行于CDP服务器端的模块,其中CDP主机端模块包括CDP代理模块、快速恢复代理模块,CDP服务器端模块包括扩展文件树管理模块、操作索引日志模块、数据存储模块、查询模块、恢复模块,下面结合附图2逐一对上述模块予以介绍:
①CDP代理模块:用于将受保护区域的文件系统结构及数据内容发送至CDP服务器,并能截获受保护区域的所有操作,发送到CDP服务器存储起来;
②快速恢复代理模块:用于根据CDP服务器端数据与相关的时间信息、位置信息,将其恢复到目标位置上;
③扩展文件树管理模块:接收CDP代理模块发送过来的受保护区域的初始状态信息、以及CDP代理模块截获的操作信息,并根据所述初始状态信息建立扩展文件树,根据所述操作信息进行同步的更新修改,从而使扩展文件树与受保护区域的状态同步;
其中,扩展文件树可以以XML文件的形式保存在磁盘中;
有了扩展文件树,CDP服务器可在对数据进行备份的同时,更新扩展文件树,使其与用户受保护数据在逻辑状态上同步,同时有包含着以往的状态信息,为快速的进行交互式数据状态查询奠定了基础;
④操作索引日志模块:用于为每个受保护的文件和目录建立操作操作数据的日志,该日志采用索引方式实现;
每个索引日志在内存中表现为动态申请的内存块,同时同步到磁盘中。索引日志改变了连续数据保护的备份数据进行聚集存储的方法,而采用不同对象的操作数据离散存储、相同对象的操作数据聚集存储的方式,将数据对象与该数据对象上的操作进行了绑定,从而优化了数据查询和数据恢复过程中进行数据搜索的速度;
⑤数据存储模块:用于根据专门的空间分配算法为每个受保护的文件和文件夹分配空间来存储其上进行的操作;
该专门的空间分配算法根据每个文件和文件夹的操作频率,为每个文件和文件夹赋予不同的优先级,再根据优先级来分配预留空间,将每个文件和文件夹的操作数据尽可能的连续存储,从而提高恢复时的数据存取效率,实现快速恢复;
⑥查询模块:用于完成任意时间点的文件系统视图快速查询、任意时间段任意文件的修改记录查询;
⑦恢复模块:用于支持用户进行任意时间点任意文件集的高效率恢复,负责快速组织出用户指定的时间点、指定对象的状态与数据,并将恢复到用户指定的目标位置。
查询模块进一步包括以下子模块:
用户指定要查询的时间点的子模块;
对扩展文件树进行遍历,将每个节点的新建时间、删除时间与用户指定的查询时间进行比较,从而对该节点进行状态判断,结果可能为未建立、已建立或已删除的子模块;
对于已建立的节点,查询其对应的索引日志中的属性修改记录表,判断其当时的文件名/文件夹名的子模块;
将扩展文件树中的节点遍历一遍后,最终建立起受保护对象在用户指定查询时间点上的逻辑状态视图的子模块;
查询模块还可以包括以下子模块:
用户指定受保护对象中的某个文件/文件夹为查询目标,并指定要查询的时间段的子模块;
遍历扩展文件树,找到该节点,并取出其索引日志的子模块;
将处于指定时间段中的日志项取出,建立起指定对象在指定时间段的操作记录表的子模块;
本发明中涉及的扩展文件树和索引日志是该发明中的核心数据结构,扩展文件树与受保护对象的逻辑状态同步,同时又包含着以往的数据状态,扩展文件树与索引日志的使用使快速的交互式数据状态查询和快速的数据恢复得以实现,为任意时间点的文件系统视图快速查询、任意时间段任意文件的修改记录查询、任意时间点任意文件集的高效率恢复提供了良好的支持,是本文提出的连续数据保护方法得以实现的基础。
下面结合附图3详细描述本发明专门设计的扩展文件树、索引日志结构。
1、扩展文件树
扩展文件树在备份过程中与用户的受保护数据保持同步,同时包含着以往的逻辑状态信息,是连续数据保护系统中服务器端的核心数据结构。
扩展文件树包含两种节点,一种为目录节点,一种为文件节点,二者的数据结构分别如表1、表2所示:
表1 目录节点结构
字段名 | 属性 | 描述(目录) |
ID | 4字节 | 节点实体的编号 |
brother | 4字节 | 指针,指向下一个兄弟目录 |
First-SubDir | 4字节 | 指针,指向首个子目录 |
First-SubFile | 4字节 | 指针,指向首个子文件 |
Modify-Number | 4字节 | 修改次数,初始化为0 |
Modify-DirBlock | 4字节 | 属性块号/包含文件名修改操作 |
Filename | String | 相对文件名 |
Delete-Time | 8字节 | 删除时间(优化删除查找) |
表2 文件节点结构
字段名 | 属性 | 描述(文件) |
ID | 4字节 | 节点实体的编号 |
brother | 4字节 | 指针,指向下一个兄弟文件 |
Modify-DirNum | 4字节 | 修改次数(初始化为0) |
Modify-FileNum | 4字节 | 修改次数(初始化为0) |
Modify-DirBlock | 4字节 | 属性块号/包含文件名修改操作, |
Modify-FileBlock | 4字节 | 修改日志操作记录,初始=DirBlock |
Filename | String | 相对文件名 |
Delete-Time | 8字节 | 节点删除时间(优化删除查找),初始化为0 |
在用户执行删除操作时,服务器在扩展文件树中并不删除节点,而是将“删除时间”属性进行修改。因此,依据“删除时间”属性,可将两种节点都分为两种状态:已删除的节点和依然存在的节点。通过这种方法,扩展文件树不仅维护了受保护对象的同步状态,同时又包含已有状态。
若要在没有扩展文件树的情况下进行任意时间点数据状态的查询,则需将所有备份下来的操作数据顺序遍历并进行版本重组后,产生出对应时间点的完整数据版本才能得到查询结果。而在扩展文件树的支持下,只需对扩展文件树中的节点进行遍历即可得到查询结果,大大提高了查询的效率。
2、索引日志
每个索引日志分为两部分:属性修改记录表和内容修改记录表。
属性修改记录表中,每个记录为24字节,如表3所示:
表3 属性修改记录表的记录块结构
字段名 | 属性 | 描述(文件) |
Opration-Type | 4字节 | {重命名,创建,删除,属性修改} |
Modify-length | 4字节 | 数据的修改长度 |
CDP-Position | 8字节 | 修改数据的存储位置 |
Modify_Time | 8字节 | 修改时间 |
内容修改记录表中,每个操作用32个字节表示,如表4所示:
表4 内容修改记录表的记录块结构
字段名 | 属性 | 描述(文件) |
Position-pointer | 8字节 | 被保护文件中发生写操作的位置 |
Modify-length | 4字节 | 数据的修改长度 |
Operate-Tyep | 4字节 | 操作类型 |
CDP-Position | 8字节 | 修改数据的存储位置 |
Modify_Time | 8字节 | 修改时间 |
在交互式数据查询与数据恢复的过程中,系统常常需要对某一对象的操作数据进行遍历搜索。在传统的连续数据保护数据组织方式中,不同对象的操作数据是统一存储的,这就意味着针对任何一个特定对象进行的搜索都需要遍历CDP服务器存储的所有操作数据。
采用索引日志之后,可将每个操作与其目标文件/目录关联起来,使得每次搜索所要遍历的数据范围大大缩小,提高了搜索速度;同时索引日志可将每个对象的常用信息以及经常使用的操作日志常驻内存,从而进一步提高了交互式数据查询和快速恢复的效率。
为了实现本发明提出的支持交互式数据查询和快速恢复的文件级CDP保护系统,下面分别介绍用于实现查询模块的交互式数据查询方法、用于恢复模块的快速恢复方法:
本系统提供了两种交互式数据查询方式,即受保护对象在任意时间点的文件系统视图快速查询和任意时间段任意文件的修改记录查询。通过交互式数据查询,用户可以方便快速的看到自己的受保护数据在任意时间点的状态、任意时间段的操作记录,更容易确定所需的恢复目标时间点,大大提升了用户的使用体验。
1、受保护对象在任意时间点的文件系统视图快速查询,如图4所示:
①用户指定要查询的时间点;
②查询模块首先对扩展文件树进行遍历,将每个节点的新建时间、删除时间与用户指定的查询时间进行比较,从而对该节点进行状态判断,结果可能为未建立、已建立或已删除;
③对于已建立的节点,查询其对应的索引日志中的属性修改记录表(该表常驻内存),判断其当时的文件名/文件夹名;
④重复步骤②③,将扩展文件树中的节点遍历一遍后,最终建立起受保护对象在用户指定查询时间点上的逻辑状态视图;
2、任意时间段任意文件的修改记录查询,如图5所示:
①用户指定受保护对象中的某个文件/文件夹为查询目标,并指定要查询的时间段;
②查询模块遍历扩展文件树,找到该节点,并取出其索引日志;
③将处于指定时间段中的日志项取出,建立起指定对象在指定时间段的操作记录表;
为了实现本发明提出的支持交互式数据查询和快速恢复的文件级CDP保护系统,下面介绍用于恢复模块的快速恢复算法:
传统的文件级连续数据保护方法中,通常有两种逻辑实现方法:一种是基版本+正向日志,另一种是镜像版本+反向日志。
基版本+正向日志:在实现恢复操作时,通常是将需要的操作在基版本上进行重做以得到目标时间点对应的数据版本。基版本与正向操作日志都是存储在服务器上的,而将操作数据在基版本上重做的过程既可以在服务器上进行,也可以在客户端上进行。无论在哪端进行,所需的网络数据传输量都大于要恢复对象的原始大小,而且在版本重组的过程中需要对所有操作数据进行处理,因而时间复杂度、空间复杂度、网络传输数据量都很高。
镜像版本+反向日志:在实现恢复操作时,是利用反向日志对镜像版本进行状态回滚以得到目标版本。
为了解决传统的连续数据保护方法实现恢复操作时速度慢、数据传输量大的缺陷,本发明提出了一种基于正向日志对恢复目标对象进行“回滚”的恢复方式,使传输数据量与需要处理的数据量都优化至最小。
对于任一指定对象,数据组织和恢复算法如下:
①遍历扩展文件树,找到对应节点,取出其索引日志中的内容修改部分;
②对索引日志进行筛选,取出内容修改部分的操作;
③以指定时间点为分割点,将筛选后的日志分割为两半,并根据每个日志项中修改操作的偏移量和长度建立两个链表,如图6、7所示,链表1中包含的操作数据,再加上初始化数据,包含了要恢复的节点的最初状态以及从初始化时间点到恢复目标时间点的所有操作,可以完全确定要恢复的节点在恢复目标时间点的内容;链表2决定了执行恢复操作所需要的最小数据集,因为恢复目标版本是经过这些操作后变为目前版本,链表2表示了该对象的内容中,哪些部分在指定时间点版本与当前版本不同,因而在恢复过程中需要修改,而其余部分的当前状态与恢复目标时间点的状态一致,无需改动。链表2可以大大优化恢复操作所需传输的数据量,链表1与链表2结合查询可以优化恢复操作的数据查询时间;
④恢复模块对链表1进行倒序遍历,对每个操作,判断其偏移量和长度所示范围是否属于链表2,将属于的部分(表示需要修改)数据取出,连同偏移量和长度发送至快速恢复代理,同时将该段从链表2中删去(链表2中为还需进行修改才能实现恢复的部分,此段已找到最终数据,因而删去);若不属于(表示无需修改),则直接忽略此日志项;
⑤根据以上①~④步骤,对每个要恢复的对象进行恢复。恢复操作的响应时间为恢复第一个对象时步骤①~③的操作时间,整个恢复窗口的长度取决于需要网络传输的总数据量,该恢复算法已经将网络传输的数据量减少到最小,因而该恢复方法十分迅速;
下面详细本系统的工作流程:
1、CDP主机通过CDP代理向CDP服务器端发送CDP保护请求,CDP服务器对其进行身份认证,并建立数据连接;
2、CDP主机通过CDP代理发送受保护对象的初始化信息,包括受保护对象的逻辑状态和物理内容。CDP服务器接收相关信息进行存储,并根据受保护对象的逻辑状态建立扩展文件树以及索引日志;
3、CDP代理将受保护区域的操作截获并发送到CDP服务器端。CDP服务器接收后,根据操作的元数据更新扩展文件树和索引日志,并将操作内容交给数据存储模块进行存储;
4、数据存储模块根据专门的空间分配算法为操作数据分配空间进行存储。该算法在分配空间时,根据文件的权值保留不同大小的预留空间,某个受保护对象的操作越频繁,则权值越大,预留空间也越大。这种分配算法可以尽可能的保证每个受保护对象的操作数据集中存储而非离散存储,可以有效的提高恢复时的读取数据的效率。存储成功后,将存储信息返回给CDP服务器。CDP服务器将相关信息写入索引日志;
5、当系统发生故障,或其他原因导致用户需要进行恢复时,快速恢复代理端开始工作,将用户的查询信息交给CDP服务器。CDP服务器查询模块结合扩展文件树和索引日志进行查询,帮助用户确定要恢复的时间点;
6、用户通过交互式数据查询确定要恢复的时间点和要恢复的对象集之后,快速恢复代理将这些恢复指令信息交给CDP服务器,进行恢复操作;
7、CDP服务器以要恢复的对象集中的单个对象为单位,使用前文所述的快速恢复算法进行数据恢复。
本发明与传统的连续保护方案相比,传统连续数据保护方案若要实现任意时间点的试图查询与操作记录查询,要将所有操作数据进行重组,得到完整的数据版本才能得出查询结果,而扩展文件树的使用,使得数据查询无需进行版本重组,只需对扩展文件树进行遍历即可生成用户数据在任意时间点的逻辑视图,从而提供快速方便的交互式视图查询功能;未采用索引日志时,所有的备份数据集中存储,即使某次查询或恢复操作只需对某一个文件的操作数据进行搜索,也要遍历所有备份数据,效率低下,而使用索引日志将操作,数据离散存储,使之与确定的操作对象进行绑定之后,使得查询与恢复操作中每一次数据搜索都提高效率上的提高,从而优化了连续数据保护方案的整体性能。
Claims (5)
1.一种支持交互式数据查询和快速恢复的文件级连续数据保护方法,其特征在于:
该方法运行于CDP主机端和CDP服务器端之间,其中CDP主机上运行有CDP代理、快速恢复代理,快速恢复代理用于根据CDP服务器端数据与相关的时间信息、位置信息,将其恢复到目标位置上;包括以下步骤:
CDP主机和CDP服务器之间的网络连接初始化与CDP备份,该步骤进一步包括以下子步骤:
①初始化网络连接,CDP主机向CDP服务器建立网络连接;
②CDP主机通过CDP代理向CDP服务器发送初始化命令,以及受保护对象的逻辑状态;
③CDP主机通过CDP代理向CDP服务器发送受保护对象的物理内容;
④CDP主机通过CDP代理向CDP服务器发送截获到的针对受保护对象进行的操作数据,所述操作数据包括操作对象、操作类型、操作时间与操作内容;CDP服务器端根据CDP代理截获到操作数据,动态维护一个包含文件或目录的各种属性以及是否已删除信息的扩展文件树,并为每个文件或目录节点维护一个包含所有操作记录的索引日志;CDP服务器端在实际存储CDP代理发送的操作数据时,根据每个受保护对象的权值动态维护与分配空间;
CDP服务器与CDP主机配合进行受保护对象在任意时间点的文件系统视图快速查询,该步骤进一步包括以下子步骤:
①用户通过快速恢复代理指定要查询的时间点,CDP主机通过快速恢复代理将用户指定的查询时间点发送到CDP服务器;
②查询模块对扩展文件树进行遍历,对每个节点进行状态判断,结果为“未建立”、“已建立”或“已删除”中的一种;
③查询模块查询状态为“已建立”的节点所对应的索引日志,判断其当时的文件名或文件夹名属性和其他相关属性,建立起一个受保护对象在指定时间点的逻辑状态视图;
④CDP服务器将查询到的逻辑状态视图发送给快速恢复代理,快速恢复代理用文件树视图的形式显示给用户;
CDP服务器与CDP主机配合进行任意时间段任意文件的修改记录查询,该步骤进一步包括以下子步骤:
①用户通过快速恢复代理指定要查询的受保护对象和要查询的时间段,CDP主机通过快速恢复代理将用户指定要查询的受保护对象和时间段信息发送到CDP服务器;
②扩展文件树遍历,找到查询对象所对应的节点,判断其在指定时间段内是否存在,若不存在则将错误信息返回给快速恢复代理;
③索引日志遍历,查询模块查询对应节点所的索引日志,抽取时间符合要求的记录项, 形成要查询的操作记录;
④CDP服务器将查询到的操作记录发送给快速恢复代理,快速恢复代理将其显示给用户;
CDP服务器与CDP主机配合进行任意时间点任意文件集的快速恢复,该步骤进一步包括以下子步骤:
①用户进行多次数据查询后,指定要恢复的时间点与要恢复的对象集合,CDP主机通过快速恢复代理将之发送给CDP服务器;
②查找对应节点信息,逐个处理要恢复的对象集合中的受保护对象,先进行扩展文件树遍历,找到对象集合中的受保护对象所对应的节点,并抽取其索引日志;
③数据版本计算,遍历索引日志,通过版本合成算法计算出要恢复到指定时间点所需的最小数据量与恢复所需的最小量的操作数据的存储位置;
④CDP服务器将恢复数据以及控制信息发送给快速恢复代理,快速恢复代理将这些数据写入受保护对象,进行实际的恢复。
2.根据权利要求1所述的支持交互式数据查询和快速恢复的文件级连续数据保护方法,其特征在于:CDP服务器与CDP主机配合进行受保护对象在任意时间点的文件系统视图快速查询的子步骤③,实现方式为,
用户进行任意时间点的文件系统视图快速查询时,CDP服务器端根据用户指定的数据视图查询时间点、查询时间段和查询对象,通过对扩展文件树和索引日志的操作,快速的完成查询作业,生成相应逻辑状态视图并显示给用户。
3.根据权利要求1所述的支持交互式数据查询和快速恢复的文件级连续数据保护方法,其特征在于:CDP服务器与CDP主机配合进行任意时间点任意文件集的快速恢复的子步骤③,实现方式为,
用户进行任意时间点任意文件集的高效率恢复操作时,CDP服务器端根据用户指定的恢复对象和恢复时间,通过对扩展文件树和索引日志的操作,利用版本合成算法计算出要恢复到指定时间点所需的最小数据量与恢复所需的最小量的操作数据的存储位置。
4.一种支持交互式数据查询和快速恢复的文件级连续数据保护系统,其特征在于,包括:
运行于CDP主机端的模块和运行于CDP服务器端的模块,其中运行于CDP主机端的模块包括CDP代理模块、快速恢复代理模块,运行于CDP服务器端的模块包括扩展文件树管理模块、操作索引日志模块、数据存储模块、查询模块、恢复模块;
CDP代理模块,用于将受保护区域的文件系统结构及数据内容发送至CDP服务器,并能截获受保护区域的所有操作数据,发送到CDP服务器存储起来;
快速恢复代理模块,用于根据CDP服务器端存储的操作数据与相关的时间信息、位置信息,将其恢复到目标位置上;
扩展文件树管理模块,接收CDP代理模块发送过来的受保护区域的文件系统结构及数据内容、以及CDP代理模块截获的操作数据,并根据所述受保护区域的文件系统结构建立扩展文件树,根据所述操作数据进行同步的更新修改,从而使扩展文件树与受保护区域的状态同步;
操作索引日志模块,用于为每个受保护的文件和目录建立操作数据的日志,该日志采用索引方式实现;
数据存储模块,用于为每个受保护的文件和目录分配空间来存储其上进行的操作数据;
查询模块,用于完成任意时间点的文件系统视图快速查询、任意时间段任意文件的修改记录查询;
恢复模块,用于支持用户进行任意时间点任意文件集的高效率恢复,负责快速组织出用户指定的时间点、指定对象的状态与数据,并将恢复到用户指定的目标位置;
所述查询模块进一步包括以下子模块:
用户指定要查询的时间点的子模块;
对扩展文件树进行遍历,将每个节点的新建时间、删除时间与用户指定的查询时间进行比较,从而对该节点进行状态判断,该节点的状态为未建立、已建立或已删除中的一种;
对于已建立的节点,查询其对应的索引日志中的属性修改记录表,判断其当时的文件名或文件夹名的子模块;
将扩展文件树中的节点遍历一遍后,最终建立起受保护对象在用户指定查询时间点上的逻辑状态视图的子模块;
或者,所述查询模块进一步包括以下子模块:
用户指定受保护对象中的某个文件或目录为查询目标,并指定要查询的时间段的子模块;
遍历扩展文件树,找到该节点,并取出其索引日志的子模块;
将处于指定时间段中的日志项取出,建立起指定对象在指定时间段的操作记录表的子模块。
5.根据权利要求4所述的支持交互式数据查询和快速恢复的文件级连续数据保护系统,其特征在于:
所述扩展文件树管理模块中,扩展文件树以XML文件的形式保存在磁盘中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010184912 CN101866305B (zh) | 2010-05-21 | 2010-05-21 | 支持数据查询和快速恢复的连续数据保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010184912 CN101866305B (zh) | 2010-05-21 | 2010-05-21 | 支持数据查询和快速恢复的连续数据保护方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101866305A CN101866305A (zh) | 2010-10-20 |
CN101866305B true CN101866305B (zh) | 2013-03-06 |
Family
ID=42958038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010184912 Expired - Fee Related CN101866305B (zh) | 2010-05-21 | 2010-05-21 | 支持数据查询和快速恢复的连续数据保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101866305B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567419B (zh) * | 2010-12-31 | 2014-07-16 | 中国银联股份有限公司 | 基于树结构的海量数据存储装置及方法 |
CN102193845B (zh) * | 2011-05-30 | 2012-12-19 | 华中科技大学 | 一种数据恢复方法 |
US9542279B2 (en) * | 2011-11-07 | 2017-01-10 | Sap Se | Shadow paging based log segment directory |
CN103200169A (zh) * | 2013-01-30 | 2013-07-10 | 中国科学院自动化研究所 | 一种基于Proxy代理的用户数据保护方法及其系统 |
CN104765651B (zh) * | 2014-01-06 | 2019-02-26 | 中国移动通信集团福建有限公司 | 一种数据处理方法和装置 |
CN105320577B (zh) * | 2014-06-11 | 2018-09-04 | 中国移动通信集团公司 | 一种数据备份和恢复方法、系统及装置 |
CN104239443B (zh) * | 2014-09-01 | 2018-07-06 | 上海英方软件股份有限公司 | 一种序列化数据操作日志的存储方法 |
CN104765659A (zh) * | 2015-04-30 | 2015-07-08 | 北京奇虎科技有限公司 | 应用于数据库的数据恢复方法及装置 |
CN104866435B (zh) * | 2015-06-06 | 2018-05-15 | 成都云祺科技有限公司 | 一种连续数据保护方法 |
CN105373452B (zh) * | 2015-12-11 | 2019-02-01 | 上海爱数信息技术股份有限公司 | 一种数据备份方法 |
CN105930234A (zh) * | 2016-05-25 | 2016-09-07 | 华中科技大学 | 一种基于溯源信息的数据重建系统及方法 |
CN106211235A (zh) * | 2016-06-16 | 2016-12-07 | 中国科学技术大学 | 一种无线网络中的小包数据传输方法及系统 |
CN107943807B (zh) * | 2016-10-13 | 2020-06-16 | 华为技术有限公司 | 一种数据处理方法及存储设备 |
CN106776121B (zh) * | 2016-11-23 | 2020-08-18 | 中国工商银行股份有限公司 | 一种数据灾备装置、系统及方法 |
CN106776120A (zh) * | 2016-11-24 | 2017-05-31 | 珠海市魅族科技有限公司 | 数据恢复的方法及装置 |
US10747719B2 (en) * | 2017-09-22 | 2020-08-18 | Microsoft Technology Licensing, Llc | File system point-in-time restore using recycle bin and version history |
CN108282361A (zh) * | 2017-12-28 | 2018-07-13 | 贵阳忆联网络有限公司 | 一种数据灾难预防系统及方法 |
CN109753381B (zh) * | 2018-11-09 | 2023-12-26 | 深圳供电局有限公司 | 一种基于对象存储的持续数据保护方法 |
CN110415128A (zh) * | 2019-06-21 | 2019-11-05 | 中国平安财产保险股份有限公司 | 保单信息管理方法、装置、设备及计算机可读存储介质 |
CN111611258B (zh) * | 2020-05-27 | 2023-09-19 | 杭州海康威视系统技术有限公司 | 流数据的恢复方法和存储设备 |
CN113434339B (zh) * | 2021-06-29 | 2023-07-18 | 方心科技股份有限公司 | 一种智能计算中心基于组合循环备份的数据加密传输系统与方法 |
CN113468196B (zh) * | 2021-07-19 | 2024-04-05 | 京东科技控股股份有限公司 | 用于处理数据的方法、装置、系统、服务器和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286127A (zh) * | 2008-05-08 | 2008-10-15 | 华中科技大学 | 一种多叉日志存储的连续数据保护和恢复方法 |
US7631159B1 (en) * | 2007-03-30 | 2009-12-08 | Symantec Operating Corporation | Faster recovery mechanism of validated continuous data protection (CDP) time image |
CN101668048A (zh) * | 2009-09-28 | 2010-03-10 | 武汉大学 | 支持任意时间数据访问和修改的数据保护方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877360B2 (en) * | 2008-01-15 | 2011-01-25 | International Business Machines Corporation | Recovery point identification in CDP environments |
-
2010
- 2010-05-21 CN CN 201010184912 patent/CN101866305B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7631159B1 (en) * | 2007-03-30 | 2009-12-08 | Symantec Operating Corporation | Faster recovery mechanism of validated continuous data protection (CDP) time image |
CN101286127A (zh) * | 2008-05-08 | 2008-10-15 | 华中科技大学 | 一种多叉日志存储的连续数据保护和恢复方法 |
CN101668048A (zh) * | 2009-09-28 | 2010-03-10 | 武汉大学 | 支持任意时间数据访问和修改的数据保护方法及系统 |
Non-Patent Citations (2)
Title |
---|
王德军等.容灾系统研究.《计算机工程》.2005,第31卷(第6期),43-45,113. * |
生拥宏等.差量存储的集中式文件级连续数据保护方法.《计算机科学与探索》.2009,第3卷(第4期),413-422. * |
Also Published As
Publication number | Publication date |
---|---|
CN101866305A (zh) | 2010-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101866305B (zh) | 支持数据查询和快速恢复的连续数据保护方法及系统 | |
US11704290B2 (en) | Methods, devices and systems for maintaining consistency of metadata and data across data centers | |
KR102444036B1 (ko) | 클라이언트 동기화 업데이트들의 효율적인 관리 | |
US11755415B2 (en) | Variable data replication for storage implementing data backup | |
US9710535B2 (en) | Object storage system with local transaction logs, a distributed namespace, and optimized support for user directories | |
EP2342634B1 (en) | Partition management in a partitioned, scalable, and available structured storage | |
CN102521269B (zh) | 一种基于索引的计算机连续数据保护方法 | |
US20170123931A1 (en) | Object Storage System with a Distributed Namespace and Snapshot and Cloning Features | |
CN105787093B (zh) | 一种基于LSM-Tree结构的日志文件系统的构建方法 | |
CN104133882A (zh) | 一种基于hdfs的小文件处理方法 | |
KR20220137632A (ko) | 데이터 관리 시스템 및 제어 방법 | |
CN103002027A (zh) | 基于键值对系统实现树形目录结构的数据存储系统及方法 | |
CN102012933A (zh) | 分布式文件系统及利用其存储数据和提供服务的方法 | |
US9002906B1 (en) | System and method for handling large transactions in a storage virtualization system | |
CN100424699C (zh) | 一种属性可扩展的对象文件系统 | |
KR20090063733A (ko) | 다중 복제를 지원하는 분산 파일 시스템에서 데이터 서버의복구 방법 및 그에 적당한 메타데이터 스토리지 및 저장방법 | |
CN103049574B (zh) | 实现文件动态副本的键值文件系统及方法 | |
CN111917834A (zh) | 一种数据同步方法、装置、存储介质及计算机设备 | |
CN108319645A (zh) | 一种异构存储环境下多版本文件视图管理方法和装置 | |
CN114925073A (zh) | 支持灵活动态分片的分布式数据库架构及其实现方法 | |
US12045199B1 (en) | Lightweight filesystem for remote storage caching | |
CN117873967B (zh) | 分布式文件系统的数据管理方法、装置、设备及存储介质 | |
CN114491111B (zh) | 一种用于图片存储的分布式元数据系统 | |
Junping | Analysis of key technologies of distributed file system based on big data [J] | |
Norvag et al. | Write optimized object-oriented database systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130306 Termination date: 20160521 |
|
CF01 | Termination of patent right due to non-payment of annual fee |