CN109753381B - 一种基于对象存储的持续数据保护方法 - Google Patents
一种基于对象存储的持续数据保护方法 Download PDFInfo
- Publication number
- CN109753381B CN109753381B CN201811333072.2A CN201811333072A CN109753381B CN 109753381 B CN109753381 B CN 109753381B CN 201811333072 A CN201811333072 A CN 201811333072A CN 109753381 B CN109753381 B CN 109753381B
- Authority
- CN
- China
- Prior art keywords
- file
- bucket
- version number
- version
- recovery
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000011084 recovery Methods 0.000 claims abstract description 59
- 238000012986 modification Methods 0.000 claims abstract description 23
- 230000004048 modification Effects 0.000 claims abstract description 23
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 239000000725 suspension Substances 0.000 claims description 4
- 230000002085 persistent effect Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于对象存储的持续数据保护方法,该方法包括如下步骤:S1、对象存储系统记录任一存储对象的变更操作,同时在存储系统变更日志中至少记录对象名称、当前版本号和修改时间;S2、接收应用系统发送的请求恢复到的恢复时间点以及需要恢复的对象对应的存储系统;S3、根据所述对应的存储系统、恢复时间点以及所述变更日志确定需要恢复的对象以及每一所述需要恢复对象对应的文件;S4、根据所述需要恢复的对象以及每一所述恢复对象对应的文件将所有需要恢复的对象恢复到对应的版本。本发明能够实现多对象的某一时间点的恢复,提高了恢复效率,减小RTO值。
Description
技术领域
本发明涉及文件恢复技术领域,尤其涉及一种基于对象存储的持续数据保护方法。
背景技术
在对象存储上,目前常用的是传统的基于快照的数据备份恢复技术,基本处理步骤如下:1、根据用户请求或预先配置好的备份规则产生快照,例如应用系统配置在每晚上打快照,以便在故障时可以恢复到上周末,或者在应用系统升级前请求产生一个快照,以便在升级失败时,将数据恢复到升级前的快照版本。2、在打完快照之后,第一次修改该对象时,将老版本的对象拷贝到备份节点或设备,作为快照对象。3、在做数据恢复时,指定恢复到哪一个快照点。4、读取对应的快照信息,用快照对象覆盖当前对象以实现对象恢复。
持续数据保护技术(Continuous Data Protection,CDP)起源于传统存储的备份功能,与对象存储CDP接近的是传统NAS存储上文件级CDP技术。其技术是通过捕捉文件系统数据或者元数据的变化事件(比如创建、修改、删除等),并及时将文件的变动通过日志记录下来,以便将来实现任意时间点的文件恢复。
具体步骤如下:1、应用系统发起文件变更操作;2、CDP代理软件捕获对应的文件上的操作,将文件修改前数据通过日志记录到备份设备(NAS)上;3、恢复时通过恢复时间点读取日志,并利用日志中的数据可以将文件恢复到对应修改前的版本。执行完恢复时间点之后的所有日志即可完成数据恢复。
对象多版本技术虽然提供了单个对象的保护能力,但是无法提供多个对象的保护,应用系统在异常时,可能需要恢复所有相关的对象到某个时间节点,同时要求效率尽可能的高。
发明内容
本发明所要解决的技术问题在于,提供一种基于对象存储的持续数据保护方法,该方法通过在存储变更日志中记录对象名称、修改时间以及当前的版本编号,可快速找到要求恢复到的恢复时间点之后的修改对象,然后利用对象的多版本恢复可实现所有变更对象的恢复,提高了系统恢复效率
为了解决上述技术问题,本发明提供一种基于对象存储的持续数据保护方法,包括如下步骤:
S1、对象存储系统记录任一存储对象的变更操作,同时在存储系统变更日志中至少记录对象名称、当前版本号和修改时间;
S2、接收应用系统发送的请求恢复到的恢复时间点以及需要恢复的对象对应的存储系统;
S3、根据所述对应的存储系统、恢复时间点以及所述变更日志确定需要恢复的对象以及每一所述需要恢复对象对应的恢复文件;
S4、根据所述需要恢复的对象以及每一所述需要恢复对象对应的恢复文件将所有需要恢复的对象恢复到对应的版本。
其中,所述步骤S1之前还包括:
开启所述对象存储系统的多版本功能。
其中,所述对象存储系统为桶,所述桶包括对应的桶对象索引、桶变更日志以及对应的对象版本数据。
其中,所述桶对象索引的每一个对象索引记录该对象当前的所有版本号及每一版本号对应的文件名;
所述对象版本数据中存储所述桶中的每一个对象的对应的文件名对应的文件。
其中,所述步骤S1具体包括:
当任一对象发生变更操作时,在所述对象版本数据中生成新文件,所述新文件对应一新生成的版本号和文件名;
在所述变更记录中记录所述产生更改操作的对象名、所述新文件对应的版本号及文件修改时间;
在所述桶对象索引中的该对象索引记录中添加所述文件对应的版本号以及对应的文件名。
其中,所述步骤S3具体包括:
将所述需要恢复的对象对应的桶设置为挂起状态;
获取所述桶的所述变更日志中在恢复时间点之后进行变更操作的对象,将所述获取的对象确定为需要恢复的对象;
获取每一所述需要恢复的对象在恢复时间点之前的最新版本号,将所述最新版本号确定为该需要恢复对象对应的恢复版本号;
根据所述恢复版本号,从所述桶对象索引中获取与所述对象的恢复版本号对应的文件名;
根据所述文件名,从所述对象版本数据中获取与所述文件名对应的文件。
其中,所述步骤S4具体包括:
若恢复时间点之前存在与所述恢复版本号相对应的文件,则拷贝所述文件,依据所述对象当前的版本编号顺序给所述拷贝文件进行新的版本号;
在所述桶对象索引中的所述对象索引中添加所述对象的拷贝文件的新的版本号以及对应的文件名,
在所述桶变更日志中,增加所述拷贝文件的对象名、版本号以及修改时间。
其中,所述步骤S4具体包括:
若恢复时间点之前不存在与所述版本编号相对应的版本文件,则为所述对象创建一个新版本,该创建的新版本携带删除标记。
其中,所述变更操作具体包括:
创建对象数据、修改对象数据或删除对象数据。
其中,所述方法还包括:
当所有对象完成数据恢复后,将所述桶恢复为正常状态,使得应用系统能读写桶数据。
本发明实施例的有益效果在于:本发明通过在存储变更日志中记录对象名称、版本编号以及修改时间,当应用系统需要恢复时,可以根据变更日志迅速找到恢复时间点之后变更的所有对象,根据更变的对象以及恢复时间点,从而获得需要恢复的版本号以及对应的文件,从而完成所有对象的恢复。本发明能够实现多对象的任意时间的恢复,提高了恢复效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种基于对象存储的持续数据保护方法的流程示意图。
图2是本发明的一种基于对象存储的持续数据保护方法的数据写入时,存储系统存储的示意图。
图3是本发明的一种基于对象存储的持续数据保护方法的数据恢复的示意图。
具体实施方式
以下各实施例的说明是参考附图,用以示例本发明可以用以实施的特定实施例。
请参照图1所示,本发明实施例一提供一种基于对象存储的持续数据保护方法,该方法包括如下步骤:
S1、对象存储系统记录任一存储对象的变更操作,同时在存储系统变更日志中至少记录对象名称、当前版本号和修改时间。
其中,为了实现对象的多版本技术,在步骤S1之前还应该开始存储系统的多版本功能。
具体地,对象存储是一种替代NAS的存储方案,由亚马逊在2006年提出,S3接口是目前对象存储的事实标准,基于HTTP/HTTPS协议。可以非常方便的从网络上访问对象存储系统,支持海量文件,写入是以整个对象为粒度。
具体地,多版本技术即在原始的对象上复制出多个对象,然后在每一个对象上进行操作,从而解决冲突问题。
具体地,对象指的是应用系统的一个文件。
具体地,所述变更操作具体包括:创建对象数据、修改对象数据或删除对象数据。
具体地,所述存储系统指的是桶(bucket),桶是对象存储数据的容器,用户在创建桶之后,可以向其写入对象。一个用户可以创建多个桶。其中,桶包括对应的桶对象索引、桶变更日志以及对应的对象版本数据。所述桶对象索引中记录了所述桶存储的每一对象的对象索引,每一对象索引记录了该对象的当前所有的版本号以及每一版本号对应的文件名。所述对象版本数据中存储桶中的每一个对象对应的文件名对应的文件。
当任一对象发生变更操作时,在所述对象版本数据中生成新文件,所述新文件对应一版本号和文件名;在所述变更记录中记录所述产生更改操作的对象名、所述新文件对应的版本号及文件修改时间;在所述桶对象索引中的该对象索引记录中添加所述文件对应的版本号以及对应的文件名。
S2、接收应用系统发送的请求恢复到的恢复时间点以及需要恢复的对象对应的存储系统。
其中,应用系统可以根据应用日志或者存储系统的审计日志确定恢复时间点。
S3、根据所述对应的存储系统、恢复时间点以及所述变更日志确定需要恢复的对象以及每一所述需要恢复对象对应的恢复文件。
其中,步骤S3具体包括:
将所述需要恢复的对象对应的桶设置为挂起状态;
获取所述桶的所述变更日志中在恢复时间点之后进行变更操作的对象,将所述获取的对象确定为需要恢复的对象;
获取每一所述需要恢复的对象在恢复时间点之前的最新版本号,将所述最新版本号确定为该需要恢复对象对应的恢复版本号;
根据所述恢复版本号,从所述桶对象索引中获取与所述对象的恢复版本号对应的文件名;
根据所述文件名,从所述对象数据版本中获取与所述文件名对应的文件。
S4、根据所述需要恢复的对象以及每一所述恢复对象对应的恢复文件将所有需要恢复的对象恢复到对应的版本。
其中,在完成了存储系统的数据恢复之后,为了使得应用系统能够读取存储系统中的数据,在步骤S4之后,还包括:将所述桶恢复为正常状态,使得应用系统能读写桶数据。
若恢复时间点之前存在与所述恢复版本编号相对应的版本文件,则拷贝所述版本文件,依据所述对象现有的版本编号顺序给所述拷贝文件进行新的版本编号;在所述桶对象索引中的所述对象索引中添加所述对象的拷贝文件的新的版本号以及对应的文件名,在所述桶变更日志中,增加所述拷贝文件的对象名、版本号以及修改时间。
若恢复时间点之前不存在与所述版本编号相对应的版本文件,则为所述对象创建一个新版本,该创建的新版本携带删除标记。
其中,在完成了所有对象的数据恢复之后,还应该将存储系统设置为正常状态,以使得应用系统可以读取桶数据。
本发明实施例通过在存储变更日志中记录对象名称、版本号以及修改时间,当应用系统需要恢复时,可以根据变更日志迅速找到恢复时间点之后变更的所有对象,根据更变的对象以及恢复时间点,从而获得需要恢复的版本号以及对应的文件,从而完成所有对象的恢复。本发明能够实现多对象的某一时间点的恢复,减小了恢复时间目标值(RTO),提高了恢复效率。
实施例二、采用本发明的方法实现存储桶级别的CDP。
如图2所示,在初始状态时,桶2中存在对象A和对象B两个对象,在桶对象索引4中存在对象A索引和对象B索引,对象A索引中A存在两个版本号V2和V1,其中版本V2对应文件名D2,版本V1对应文件名D1,对象B索引中B存在两个版本号V2和V1,其中,版本V2对应文件名D2,版本V1对应文件名D1,在对象版本数据5中,对象A存在两个文件,分别为与文件名D1对应的文件A.D1和与文件名D2对应的文件A.D2,对象B存在两个文件,分别为与文件名D1对应的文件B.D1和与文件名D2对应的文件B.D2,在桶变更日志3中,对象A存在两条变更记录,分别为:对象A,版本V1,修改时间2018.7.1,对象A,版本V2,修改时间2018.7.2,对象B存在两条变更记录,分别为:对象B,版本V1,修改时间2018.7.3,对象B,版本V2,修改时间:2018.7.4。开启桶的多版本功能,假设在2018年7月4日应用系统2修改对象A,则在对象版本数据中生成新的文件A.D3,在桶变更日志中增加新的记录:对象A,版本V3,修改时间2018.7.4,其中文件A.D3的对应的版本编号为V3,对应的文件名为D3。在桶对象索引中的A对象索引增加版本记录V3以及对应的文件名D3,当记录完之后,返回修改成功信息。
如图3所示,当应用系统1出现数据异常时,应用系统1确定其需要恢复的数据对应的桶以及恢复到的恢复时间点,然后将对应的桶信息以及恢复时间点信息发送给桶2,并将对应的桶2设置为挂起状态,避免应用系统1在恢复期间修改数据,假设恢复时间点为2018.7.3,则在桶变更日志中找到2018.7.3之后发生变更的所有对象,其中,对象A于2018.7.4产生新的版本V3,对象B于2018.7.4产生新的版本V2,由于应用系统要恢复到2018.7.3,根据修改对象,可知需要恢复A和B两个对象,从桶变更日志3可知,对象A在2018.7.3之前最新的版本编号为V2,B在2018.7.3之前最新的版本编号为V1,因而A应该恢复的版本编号为V2,B应该恢复的版本编号为V1,从桶索引记录的对象A索引记录中可知,版本V2对应的文件名为D2,从对象版本数据中可知,A对象文件名D2对应的文件为A.D2,同样地可知,对象B的版本V1对应的文件为B.D1,拷贝A.D2,由于在此之前,对象A的版本编号为V3,因而将对象A拷贝后的版本编号修改为V4,由于V2对应的文件名为D2,因而V4对应的文件名为D2,同样地,拷贝B.D1,将对象B拷贝后的版本编号修改为V3,V3对应的文件名为D1,同时在桶对象索引中,对象A索引中添加版本编号V4以及对应文件名D2,同样地,在桶对象索引4中,在对象B索引中添加版本编号V3以及对应的文件名D1。在桶变更日志中3,添加对象A,版本V4,修改时间2018.08.30,对象B,版本V3,修改时间2018.08.30。
当所有相关桶完成数据恢复后,将桶恢复为正常状态,应用系统可读写桶数据。
本发明还实现用户级别的CDP。在对象存储中,一个用户可创建一个或多个桶,用户级别的CDP可确保用户的多个桶的数据都恢复到同一时间点。
具体实施步骤如下:
1、开启用户的CDP功能;
2、将用户创建的所有桶均开启多版本功能;
3、当需要对用户进行CDP恢复时,挂起所述用户,禁止来自该用户的任何请求,然后采用前述的实现桶级别的CDP的方法对用户的每一个桶进行恢复。
4、当完成所有桶数据恢复后,取消用户挂起,重新接受用户请求,恢复应用系统。
需要说明的是,在本实施例中并不对桶的操作进行恢复,仅恢复桶内的对象,如果恢复的时间点在创建桶之前,则恢复后桶内的对象均是删除状态,但是并不会删除这个桶,同样地,如果同被用户删除,则不恢复该桶的对象。
有关本实施例的工作原理以及所带来的有益效果请参照本发明实施例一的说明,此处不再赘述。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (4)
1.一种基于对象存储的持续数据保护方法,其特征在于,包括如下步骤:
S1、对象存储系统记录任一存储对象的变更操作,同时在桶变更日志中记录对象名称、当前版本号和修改时间;所述对象存储系统为桶,所述桶包括对应的桶对象索引、桶变更日志以及对象版本数据;所述桶对象索引的每一个对象索引对应记录每一个对象当前的所有版本号及每一个版本号的文件名;所述对象版本数据中存储所述桶中的每一个对象的每一个版本号的文件名所对应的文件;
当任一对象发生变更操作时,在所述对象版本数据中生成新文件,所述新文件对应一新生成的版本号和文件名;
在变更记录中记录产生更改操作的对象名、所述新文件对应的版本号及文件修改时间;
在所述桶对象索引中的该对象索引记录中添加文件对应的版本号以及对应的文件名;
S2、接收应用系统发送的请求恢复到的恢复时间点以及需要恢复的对象所对应的存储系统;
S3、根据所述需要恢复的对象所对应的存储系统、恢复时间点以及所述桶变更日志确定需要恢复的对象及其恢复文件;其中,将所述需要恢复的对象对应的桶设置为挂起状态,并获取对应的桶的桶变更日志中在恢复时间点之后进行变更操作的所有对象,将获取的该所有对象确定为需要恢复的对象;对于每一个需要恢复的对象,获取其在恢复时间点之前的最新版本号,将所述最新版本号确定为恢复版本号;根据所述恢复版本号,从对应的桶的桶对象索引中获取与所述恢复版本号对应的文件名;根据对应的文件名从对应的桶的对象版本数据中获取与文件名对应的恢复文件;从而得到每一所述需要恢复的对象的恢复文件;
S4、根据所述需要恢复的对象以及每一所述需要恢复对象对应的恢复文件将所有需要恢复的对象恢复到对应的版本;若恢复时间点之前存在与所述恢复版本号相对应的文件,则拷贝对应的文件,依据对象当前的版本编号顺序给拷贝文件编排新的版本号;在所述桶对象索引中的对象索引中添加对象的拷贝文件的新的版本号以及对应的文件名,在所述桶变更日志中,增加所述拷贝文件的对象名、版本号以及修改时间;若恢复时间点之前不存在与所述版本编号相对应的版本文件,则为对象创建一个新版本,创建的新版本携带删除标记。
2.根据权利要求1所述的持续数据保护方法,其特征在于,所述S1之前还包括:
开启所述对象存储系统的多版本功能。
3.根据权利要求2所述的持续数据保护方法,其特征在于,所述变更操作具体包括:
创建对象数据、修改对象数据或删除对象数据。
4.根据权利要求3所述的持续数据保护方法,其特征在于,所述方法还包括:
当所有对象完成数据恢复后,将所述桶恢复为正常状态,使得应用系统能读写桶数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811333072.2A CN109753381B (zh) | 2018-11-09 | 2018-11-09 | 一种基于对象存储的持续数据保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811333072.2A CN109753381B (zh) | 2018-11-09 | 2018-11-09 | 一种基于对象存储的持续数据保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753381A CN109753381A (zh) | 2019-05-14 |
CN109753381B true CN109753381B (zh) | 2023-12-26 |
Family
ID=66402590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811333072.2A Active CN109753381B (zh) | 2018-11-09 | 2018-11-09 | 一种基于对象存储的持续数据保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753381B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795408A (zh) * | 2019-10-28 | 2020-02-14 | 柏科数据技术(深圳)股份有限公司 | 基于对象存储的数据处理方法、装置、服务器和存储介质 |
CN114077517A (zh) * | 2020-08-13 | 2022-02-22 | 华为技术有限公司 | 数据处理的方法、设备及系统 |
CN112764973B (zh) * | 2021-01-28 | 2022-08-19 | 重庆紫光华山智安科技有限公司 | 数据容灾方法、装置、电子设备和可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866305A (zh) * | 2010-05-21 | 2010-10-20 | 武汉大学 | 支持数据查询和快速恢复的连续数据保护方法及系统 |
CN106126375A (zh) * | 2016-06-24 | 2016-11-16 | 北京工业大学 | 一种基于Hash的YAFFS2文件各版本恢复方法 |
CN106484906A (zh) * | 2016-10-21 | 2017-03-08 | 焦点科技股份有限公司 | 一种分布式对象存储系统闪回方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078585B2 (en) * | 2006-06-29 | 2011-12-13 | Emc Corporation | Reactive file recovery based on file naming and access information |
-
2018
- 2018-11-09 CN CN201811333072.2A patent/CN109753381B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866305A (zh) * | 2010-05-21 | 2010-10-20 | 武汉大学 | 支持数据查询和快速恢复的连续数据保护方法及系统 |
CN106126375A (zh) * | 2016-06-24 | 2016-11-16 | 北京工业大学 | 一种基于Hash的YAFFS2文件各版本恢复方法 |
CN106484906A (zh) * | 2016-10-21 | 2017-03-08 | 焦点科技股份有限公司 | 一种分布式对象存储系统闪回方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109753381A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740974B2 (en) | Restoring a database using a fully hydrated backup | |
JP6309103B2 (ja) | スナップショットおよびクローンの複製 | |
EP3796174B1 (en) | Restoring a database using a fully hydrated backup | |
US11372725B2 (en) | Fast and optimized restore using delta information | |
US11579986B2 (en) | Data query method and apparatus | |
CN109753381B (zh) | 一种基于对象存储的持续数据保护方法 | |
CN108255638B (zh) | 一种快照回滚方法及装置 | |
US11422727B2 (en) | Restoring a storage system using file relocation metadata | |
CN112800019A (zh) | 基于Hadoop分布式文件系统的数据备份方法及系统 | |
US11669545B2 (en) | Any point in time replication to the cloud | |
US11620056B2 (en) | Snapshots for any point in time replication | |
CN113821490A (zh) | 一种数据同步方法及装置 | |
CN113821176A (zh) | 一种数据迁移的处理方法、装置及存储介质 | |
CN116909480A (zh) | 一种优化列举用户量的方法、系统、设备和存储介质 | |
CN111913832A (zh) | 一种数据备份方法和数据备份设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |