CN109298978B - 一种指定位置的数据库集群的恢复方法及系统 - Google Patents

一种指定位置的数据库集群的恢复方法及系统 Download PDF

Info

Publication number
CN109298978B
CN109298978B CN201811358503.0A CN201811358503A CN109298978B CN 109298978 B CN109298978 B CN 109298978B CN 201811358503 A CN201811358503 A CN 201811358503A CN 109298978 B CN109298978 B CN 109298978B
Authority
CN
China
Prior art keywords
database
dispatcher
recovery
log
analysis
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
CN201811358503.0A
Other languages
English (en)
Other versions
CN109298978A (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.)
Wuhan Fiberhome Integration Technologies Co ltd
Original Assignee
Wuhan Fiberhome Integration Technologies Co 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 Wuhan Fiberhome Integration Technologies Co ltd filed Critical Wuhan Fiberhome Integration Technologies Co ltd
Priority to CN201811358503.0A priority Critical patent/CN109298978B/zh
Publication of CN109298978A publication Critical patent/CN109298978A/zh
Application granted granted Critical
Publication of CN109298978B publication Critical patent/CN109298978B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种指定位置的数据库集群的恢复方法,涉及数据库集群技术领域。本发明在设定时间点建立数据库集群的快照集;开启数据库集群其中一个数据库节点的级联复制功能,并在该数据库节点上挂载一个新的数据库节点,作为该数据库节点的子节点;在子节点上启动Dispatcher日志分发解析服务,将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志;对快照集恢复全量备份,和Dispatcher解析日志一起打包形成恢复集;采用本发明进行用户指定位置的恢复时,无需将所有全量备份或增量备份全部恢复,可精准的恢复用户指定位置的数据表,恢复效率高,减轻数据库资源消耗负担。本发明还公开了一种指定位置的数据库集群的恢复系统。

Description

一种指定位置的数据库集群的恢复方法及系统
技术领域
本发明涉及数据库集群技术领域,具体是涉及一种指定位置的数据库集群的恢复方法及系统。
背景技术
在涉及数据高可用的领域,数据库集群一直作为基础组件存在着不可替代的作用。在数据库集群中的某个节点出现问题不可用以后,整个系统依然能够作为整体对外提供数据库服务。
传统的数据库集群方式的运行如图1所示:三台数据库作为一个集群整体对外提供数据一致性,上面连着负载均衡设备对上层的用户统一提供服务。一般来说,数据库对外提供服务是以表为单位进行增删改查的服务。如果人为误删或是恶意删除了某些重要的数据表,数据库集群里的其它节点会马上同步该操作,这样很快造成整个数据库集群中部分数据的丢失,最终会因为数据的丢失而造成系统服务的不可用。因此如果数据库集群如果能恢复到一个指定的状态即位置,而此时数据库系统的状态又是好的,这将十分有用。
目前在MariaDB数据库集群中,可以借助Percona的Xtrabackup系列工具集来完成完全恢复和不完全恢复。完全恢复通过全量备份去做恢复,不完全恢复则是在完全恢复的基础上通过增量备份去做恢复。两种恢复都是基于物理备份的恢复,恢复的粒度相对较大。且即使仅需恢复某一人为误删操作,都需要将所有全量备份或增量备份全部恢复,恢复效率较低。尤其在库比较多并且数据量大的情况下,恢复速度的快慢就更加影响生产环境的业务可用性,影响业务运行。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种指定位置的数据库集群的恢复方法及系统,实现指定位置的数据库集群恢复。
本发明提供一种指定位置的数据库集群的恢复方法,包括以下步骤:
在设定时间点建立数据库集群的快照集;
开启数据库集群其中一个数据库节点的级联复制功能,并在该数据库节点上挂载一个新的数据库节点,作为该数据库节点的子节点;
在子节点上启动Dispatcher日志分发解析服务,Dispatcher日志分发解析服务用于从该数据库节点捕获数据变更事件和辅助映射信息,将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志并在Dispatcher解析日志中添加全局事务标识符;
对快照集恢复全量备份,和Dispatcher解析日志一起打包形成恢复集;
采用用户指定的恢复位置标记,回放所述恢复集,完成恢复位置标记对应的Dispatcher解析日志的数据库恢复;
所述方法还包括以下步骤,将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志时,按顺序打包Dispatcher解析日志并在Dispatcher解析日志中添加全局事务标识符;
采用用户指定的恢复位置标记,回放所述恢复集时,所述恢复位置标记即为全局事务标识符和时间戳;其中,
所述恢复位置标记为所述全局事务标识符和时间戳。
在上述方案的基础上,采用Xtrabackup工具集生成快照集;采用Xtrabackup工具集对快照集恢复全量备份。
在上述方案的基础上,所述数据变更事件包括:数据表的插入、更新、删除和刷新。
在上述方案的基础上,所述辅助映射信息包括数据库中各数据表的排序和表内和表间映射关系。
本发明还提供一种指定位置的数据库集群的恢复系统,包括:
快照集创建模块,其用于在设定时间点建立数据库集群的快照集;
子节点创建模块,其用于开启数据库集群其中一个数据库节点的级联复制功能,并在该数据库节点上挂载一个新的数据库节点,作为该数据库节点的子节点;
日志分发解析模块,其用于在子节点上启动Dispatcher日志分发解析服务,Dispatcher日志分发解析服务用于从该数据库节点捕获数据变更事件和辅助映射信息,将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志并在Dispatcher解析日志中添加全局事务标识符;
所述日志分发解析模块还用于将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志时,按顺序打包Dispatcher解析日志并在Dispatcher解析日志中添加全局事务标识符,采用用户指定的恢复位置标记,回放所述恢复集时,所述恢复位置标记即为全局事务标识符和时间戳;
恢复处理模块,其用于对快照集恢复全量备份,和Dispatcher解析日志一起打包形成恢复集;采用用户指定的恢复位置标记,回放所述恢复集,完成恢复位置标记对应的Dispatcher解析日志的数据库恢复;其中,
所述恢复位置标记为所述全局事务标识符和时间戳。
在上述方案的基础上,所述快照集创建模块采用Xtrabackup工具集生成快照集;所述恢复处理模块采用Xtrabackup工具集对快照集恢复全量备份。
在上述方案的基础上,所述数据变更事件包括:数据表的插入、更新、删除和刷新。
在上述方案的基础上,所述辅助映射信息包括数据库中各数据表的排序和表内和表间映射关系。
与现有技术相比,本发明的优点如下:
1)进行用户指定位置的恢复时,无需将所有全量备份或增量备份全部恢复,可精准的恢复用户指定位置的数据表,恢复效率高,减轻数据库资源消耗负担。
2)通过额外的节点来收集解析日志做恢复集,在很大程度上减少因意外删除表等情况下造成数据库的不可用时间。
附图说明
图1是背景技术中传统的数据库集群方式的数据库集群框图;
图2是本发明实施例的指定位置的数据库集群的恢复方法的数据库集群框图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
实施例1:
本发明实施例提供一种指定位置的数据库集群的恢复方法,采用与存储引擎无关的分类解析日志文件代替传统的预写日志文件,能够确保解析日志被按照库表为单位进行存储,并在恢复过程中能够针对丢失数据的库表文件所需的辅助信息。本发明实施例的数据库拓扑图如图2所示:
在三节点的数据库集群中,将其中一台数据库设置成级联复制,挂载一台新的数据库节点,即图2中标识为SQL的节点。该节点上启动一个Dispatcher日志分发解析服务,用于从它的父节点数据库解析日志并按照约定的格式存储。将快照集与解析日志关联,形成恢复集。根据形成的恢复集,将数据库恢复到指定位置。
其中解析的日志格式如下:
Query_log
DTable_map
Insert/Delete/Update_row_event/Others
Xid
采用本发明实施例进行用户指定位置的恢复时,无需将所有全量备份或增量备份全部恢复,可精准的恢复用户指定位置的数据表,恢复效率高,减轻数据库资源消耗负担。
实施例2:
在实施例1的基础上,本发明实施例的指定位置的数据库集群的恢复方法,具体包括以下步骤:
步骤1:建立MariaDB数据库集群节点的快照集。
快照集,一般意义上即为某个特定时间点(创建快照的时间点)给数据库做一个备份集,这样系统会对原数据库的所有数据页做个标识,完成所有相关数据的落盘动作,然后打包存储。一般的快照集为物理备份,通过Xtrabackup工具集来生成快照集。
步骤2:打开其中一个MariaDB集群节点的级联复制。
级联复制主要用于同构多个数据库之间同步数据的一种方法,通过将其中一台服务器的日志以某种方式解析并在另外的节点服务器上进行回放以获得多个数据库节点间的同步数据。
步骤3:在额外的节点上启动Dispatcher日志分发解析服务,收集分类解析日志并添加辅助信息。
Dispatcher日志分发解析服务,是一个数据库捕获变更消息的发布工具,它负责捕获数据库的每一条数据变更,将它们打包成消息日志并持久化。流过Dispatcher的解析日志会以顺序方式并添加全局事务标识符。它会持久化四种不同的事件类型:插入、更新、删除和刷新。前三种对应着相同类型的DML操作,最后一种是在Dispatcher持久化事件中的动作。源数据库中的所有变更事件,经过Dispatcher解析成不同类别的信息。它会完成跟踪事件、读取时间、从指定位置重新读取事件等功能。而对于DDL操作,Dispatcher不会记录数据日志的更改,只保存所有表的表结构信息。
步骤4:将快照集与解析日志关联,形成恢复集。
经过Dispatcher的日志分发解析服务以后,形成的日志以一种有序的方式被持久化到磁盘上。同时形成的日志保证了表内和表间有序和映射关系。然后将快照集先用Xtrabackup恢复了全量备份,加上Dispatcher解析日志打包,形成了恢复集。
步骤5:根据形成的恢复集,将数据库恢复到指定位置(具体的事务恢复点)。
将上个步骤形成的恢复集,以及指定的恢复位置标记,回放上述恢复集,即可完成指定位置的数据库恢复。
采用本发明实施例进行用户指定位置的恢复时,无需将所有全量备份或增量备份全部恢复,可精准的恢复用户指定位置的数据表,恢复效率高,减轻数据库资源消耗负担。同时,通过额外的节点来收集解析日志做恢复集,在很大程度上减少因意外删除表等情况下造成数据库的不可用时间。
实施例3:
本发明实施例还提供一种指定位置的数据库集群的恢复系统,其特征在于:
快照集创建模块,其用于在设定时间点建立数据库集群的快照集;
子节点创建模块,其用于开启数据库集群其中一个数据库节点的级联复制功能,并在该数据库节点上挂载一个新的数据库节点,作为该数据库节点的子节点;
日志分发解析模块,其用于在子节点上启动Dispatcher日志分发解析服务,Dispatcher日志分发解析服务用于从该数据库节点捕获数据变更事件和辅助映射信息,将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志;所述数据变更事件包括:数据表的插入、更新、删除和刷新。
恢复处理模块,其用于对快照集恢复全量备份,和Dispatcher解析日志一起打包形成恢复集;采用用户指定的恢复位置标记,回放所述恢复集,完成恢复位置标记对应的Dispatcher解析日志的数据库恢复。
作为优选的实施方式,所述快照集创建模块采用Xtrabackup工具集生成快照集;所述恢复处理模块采用Xtrabackup工具集对快照集恢复全量备份。Xtrabackup是由percona提供的mysql数据库备份工具,采用Xtrabackup工具集进行备份的优点是:(1)备份过程快速、可靠;(2)备份过程不会打断正在执行的事务;(3)能够基于压缩等功能节约磁盘空间和流量;(4)自动实现备份检验;(5)还原速度快。
作为优选的实施方式,所述日志分发解析模块还用于:将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志时,按顺序打包Dispatcher解析日志并在Dispatcher解析日志中添加全局事务标识符;采用用户指定的恢复位置标记,回放所述恢复集时,所述恢复位置标记即为全局事务标识符和时间戳,实现通过恢复位置标记快速精准定位待回复的数据表。
作为优选的实施方式,所述辅助映射信息包括数据库中各数据表的排序和表内和表间映射关系。实现恢复过程中能够保存丢失数据的库表文件所需的辅助映射信息,快速精准定位待回复的数据表。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。说明书中未详细描述的内容为本领域技术人员公知的现有技术。

Claims (8)

1.一种指定位置的数据库集群的恢复方法,其特征在于:
在设定时间点建立数据库集群的快照集;
开启数据库集群其中一个数据库节点的级联复制功能,并在该数据库节点上挂载一个新的数据库节点,作为该数据库节点的子节点;
在子节点上启动Dispatcher日志分发解析服务,Dispatcher日志分发解析服务用于从该数据库节点捕获数据变更事件和辅助映射信息,将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志并在Dispatcher解析日志中添加全局事务标识符;
对快照集恢复全量备份,和Dispatcher解析日志一起打包形成恢复集;
采用用户指定的恢复位置标记,回放所述恢复集,完成恢复位置标记对应的Dispatcher解析日志的数据库恢复;
所述方法还包括以下步骤,将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志时,按顺序打包Dispatcher解析日志并在Dispatcher解析日志中添加全局事务标识符;
采用用户指定的恢复位置标记,回放所述恢复集时,所述恢复位置标记即为全局事务标识符和时间戳;其中,
所述恢复位置标记为所述全局事务标识符和时间戳。
2.如权利要求1所述的方法,其特征在于:
采用Xtrabackup工具集生成快照集;采用Xtrabackup工具集对快照集恢复全量备份。
3.如权利要求1所述的方法,其特征在于:所述数据变更事件包括:数据表的插入、更新、删除和刷新。
4.如权利要求1所述的方法,其特征在于:所述辅助映射信息包括数据库中各数据表的排序和表内和表间映射关系。
5.一种指定位置的数据库集群的恢复系统,其特征在于,包括:
快照集创建模块,其用于在设定时间点建立数据库集群的快照集;
子节点创建模块,其用于开启数据库集群其中一个数据库节点的级联复制功能,并在该数据库节点上挂载一个新的数据库节点,作为该数据库节点的子节点;
日志分发解析模块,其用于在子节点上启动Dispatcher日志分发解析服务,Dispatcher日志分发解析服务用于从该数据库节点捕获数据变更事件和辅助映射信息,将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志并在Dispatcher解析日志中添加全局事务标识符;
所述日志分发解析模块还用于将捕获到的数据变更事件和辅助映射信息打包成Dispatcher解析日志时,按顺序打包Dispatcher解析日志并在Dispatcher解析日志中添加全局事务标识符,采用用户指定的恢复位置标记,回放恢复集时,所述恢复位置标记即为全局事务标识符和时间戳;
恢复处理模块,其用于对快照集恢复全量备份,和Dispatcher解析日志一起打包形成恢复集;采用用户指定的恢复位置标记,回放所述恢复集,完成恢复位置标记对应的Dispatcher解析日志的数据库恢复;其中,
所述恢复位置标记为所述全局事务标识符和时间戳。
6.如权利要求5所述的系统,其特征在于:
所述快照集创建模块采用Xtrabackup工具集生成快照集;所述恢复处理模块采用Xtrabackup工具集对快照集恢复全量备份。
7.如权利要求5所述的系统,其特征在于:所述数据变更事件包括:数据表的插入、更新、删除和刷新。
8.如权利要求5所述的系统,其特征在于:所述辅助映射信息包括数据库中各数据表的排序和表内和表间映射关系。
CN201811358503.0A 2018-11-14 2018-11-14 一种指定位置的数据库集群的恢复方法及系统 Active CN109298978B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811358503.0A CN109298978B (zh) 2018-11-14 2018-11-14 一种指定位置的数据库集群的恢复方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811358503.0A CN109298978B (zh) 2018-11-14 2018-11-14 一种指定位置的数据库集群的恢复方法及系统

Publications (2)

Publication Number Publication Date
CN109298978A CN109298978A (zh) 2019-02-01
CN109298978B true CN109298978B (zh) 2021-07-20

Family

ID=65143242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811358503.0A Active CN109298978B (zh) 2018-11-14 2018-11-14 一种指定位置的数据库集群的恢复方法及系统

Country Status (1)

Country Link
CN (1) CN109298978B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727548B (zh) * 2019-09-29 2022-03-04 上海英方软件股份有限公司 一种基于数据库dml同步的持续数据保护方法及装置
CN110727709A (zh) * 2019-10-10 2020-01-24 北京优炫软件股份有限公司 一种集群数据库系统
CN112540875B (zh) * 2020-12-11 2023-06-06 四川新网银行股份有限公司 一种基于xtrabackup的mysql数据库备份、恢复校验可用性的方法
CN112685230B (zh) * 2021-01-05 2022-03-15 浪潮云信息技术股份公司 一种分布式数据库实现指定时间点备份还原的方法
CN113672679B (zh) * 2021-07-02 2024-08-20 杭州沃趣科技股份有限公司 一种还原历史表结构的方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205053A (zh) * 2014-05-30 2015-12-30 阿里巴巴集团控股有限公司 一种数据库增量日志解析方法及系统
CN105373448A (zh) * 2015-10-27 2016-03-02 北京百度网讯科技有限公司 数据库中故障数据的恢复方法和系统
CN106815097A (zh) * 2017-01-18 2017-06-09 北京许继电气有限公司 数据库容灾系统和方法
CN107229537A (zh) * 2017-05-31 2017-10-03 广州鼎甲计算机科技有限公司 一种数据库实时备份方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046557B2 (en) * 2005-12-05 2011-10-25 Intelitrac Inc. Apparatus and method for on-demand in-memory database management platform
US9223679B1 (en) * 2014-02-25 2015-12-29 Emc Corporation Lightweight, non-intrusive, and flexible apparatus to obtain system and process state
CN104239476B (zh) * 2014-09-04 2018-09-25 上海天脉聚源文化传媒有限公司 一种数据库同步的方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205053A (zh) * 2014-05-30 2015-12-30 阿里巴巴集团控股有限公司 一种数据库增量日志解析方法及系统
CN105373448A (zh) * 2015-10-27 2016-03-02 北京百度网讯科技有限公司 数据库中故障数据的恢复方法和系统
CN106815097A (zh) * 2017-01-18 2017-06-09 北京许继电气有限公司 数据库容灾系统和方法
CN107229537A (zh) * 2017-05-31 2017-10-03 广州鼎甲计算机科技有限公司 一种数据库实时备份方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
浅谈TDCS /CTC系统数据库的容灾方案;苗长俊等;《铁道通信信号》;20121130(第11期);第57-60页 *

Also Published As

Publication number Publication date
CN109298978A (zh) 2019-02-01

Similar Documents

Publication Publication Date Title
CN109298978B (zh) 一种指定位置的数据库集群的恢复方法及系统
JP7090744B2 (ja) 分散データベースクラスタシステム、及びデータ同期方法
US11520670B2 (en) Method and apparatus for restoring data from snapshots
US9984128B2 (en) Managing site-based search configuration data
US9124612B2 (en) Multi-site clustering
CN109918349B (zh) 日志处理方法、装置、存储介质和电子装置
US10503616B2 (en) Periodic data replication
CN105843702B (zh) 一种用于数据备份的方法以及装置
CN108255647B (zh) 一种samba服务器集群下的高速数据备份方法
US20190370236A1 (en) Persistent Version Control for Data Transfer between Heterogeneous Data Stores
CN111078667B (zh) 一种数据迁移的方法以及相关装置
CN112099989A (zh) 一种Kubernetes云原生应用灾备、迁移与恢复的方法
CN114048217A (zh) 增量数据的同步方法和装置、电子设备和存储介质
CN111625396A (zh) 备份数据的校验方法、服务器及存储介质
CN114153809A (zh) 基于数据库日志并行实时增量统计的方法
CN104679893A (zh) 一种基于大数据的信息检索方法
CN107402841B (zh) 大规模分布式文件系统数据修复方法及设备
US11093465B2 (en) Object storage system with versioned meta objects
US11079960B2 (en) Object storage system with priority meta object replication
EP4022463A1 (en) Switching to eventual consistent database replica
CN116186082A (zh) 基于分布式的数据汇总方法、第一服务器和电子设备
CN111966650B (zh) 一种运维大数据共享数据表的处理方法、装置及存储介质
US11074002B2 (en) Object storage system with meta object replication
CN113076298A (zh) 分布式小文件存储系统
CN116756247B (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