一种指定位置的数据库集群的恢复方法及系统与流程

文档序号:16781161发布日期:2019-02-01 19:08阅读:346来源:国知局
本发明涉及数据库集群
技术领域
:,具体是涉及一种指定位置的数据库集群的恢复方法及系统。
背景技术
::在涉及数据高可用的领域,数据库集群一直作为基础组件存在着不可替代的作用。在数据库集群中的某个节点出现问题不可用以后,整个系统依然能够作为整体对外提供数据库服务。传统的数据库集群方式的运行如图1所示:三台数据库作为一个集群整体对外提供数据一致性,上面连着负载均衡设备对上层的用户统一提供服务。一般来说,数据库对外提供服务是以表为单位进行增删改查的服务。如果人为误删或是恶意删除了某些重要的数据表,数据库集群里的其它节点会马上同步该操作,这样很快造成整个数据库集群中部分数据的丢失,最终会因为数据的丢失而造成系统服务的不可用。因此如果数据库集群如果能恢复到一个指定的状态即位置,而此时数据库系统的状态又是好的,这将十分有用。目前在mariadb数据库集群中,可以借助percona的xtrabackup系列工具集来完成完全恢复和不完全恢复。完全恢复通过全量备份去做恢复,不完全恢复则是在完全恢复的基础上通过增量备份去做恢复。两种恢复都是基于物理备份的恢复,恢复的粒度相对较大。且即使仅需恢复某一人为误删操作,都需要将所有全量备份或增量备份全部恢复,恢复效率较低。尤其在库比较多并且数据量大的情况下,恢复速度的快慢就更加影响生产环境的业务可用性,影响业务运行。技术实现要素:本发明的目的是为了克服上述
背景技术
:的不足,提供一种指定位置的数据库集群的恢复方法及系统,实现指定位置的数据库集群恢复。本发明提供一种指定位置的数据库集群的恢复方法,包括以下步骤:在设定时间点建立数据库集群的快照集;开启数据库集群其中一个数据库节点的级联复制功能,并在该数据库节点上挂载一个新的数据库节点,作为该数据库节点的子节点;在子节点上启动dispatcher日志分发解析服务,dispatcher日志分发解析服务用于从该数据库节点捕获数据变更事件和辅助映射信息,将捕获到的数据变更事件和辅助映射信息打包成dispatcher解析日志;对快照集恢复全量备份,和dispatcher解析日志一起打包形成恢复集;采用用户指定的恢复位置标记,回放所述恢复集,完成恢复位置标记对应的dispatcher解析日志的数据库恢复。在上述方案的基础上,采用xtrabackup工具集生成快照集;采用xtrabackup工具集对快照集恢复全量备份。在上述方案的基础上,该方法还包括以下步骤,将捕获到的数据变更事件和辅助映射信息打包成dispatcher解析日志时,按顺序打包dispatcher解析日志并在dispatcher解析日志中添加全局事务标识符;采用用户指定的恢复位置标记,回放所述恢复集时,所述恢复位置标记即为全局事务标识符和时间戳。在上述方案的基础上,所述数据变更事件包括:数据表的插入、更新、删除和刷新。在上述方案的基础上,所述辅助映射信息包括数据库中各数据表的排序和表内和表间映射关系。本发明还提供一种指定位置的数据库集群的恢复系统,包括:快照集创建模块,其用于在设定时间点建立数据库集群的快照集;子节点创建模块,其用于开启数据库集群其中一个数据库节点的级联复制功能,并在该数据库节点上挂载一个新的数据库节点,作为该数据库节点的子节点;日志分发解析模块,其用于在子节点上启动dispatcher日志分发解析服务,dispatcher日志分发解析服务用于从该数据库节点捕获数据变更事件和辅助映射信息,将捕获到的数据变更事件和辅助映射信息打包成dispatcher解析日志;恢复处理模块,其用于对快照集恢复全量备份,和dispatcher解析日志一起打包形成恢复集;采用用户指定的恢复位置标记,回放所述恢复集,完成恢复位置标记对应的dispatcher解析日志的数据库恢复。在上述方案的基础上,所述快照集创建模块采用xtrabackup工具集生成快照集;所述恢复处理模块采用xtrabackup工具集对快照集恢复全量备份。在上述方案的基础上,所述日志分发解析模块还用于:将捕获到的数据变更事件和辅助映射信息打包成dispatcher解析日志时,按顺序打包dispatcher解析日志并在dispatcher解析日志中添加全局事务标识符;采用用户指定的恢复位置标记,回放所述恢复集时,所述恢复位置标记即为全局事务标识符和时间戳。在上述方案的基础上,所述数据变更事件包括:数据表的插入、更新、删除和刷新。在上述方案的基础上,所述辅助映射信息包括数据库中各数据表的排序和表内和表间映射关系。与现有技术相比,本发明的优点如下:1)进行用户指定位置的恢复时,无需将所有全量备份或增量备份全部恢复,可精准的恢复用户指定位置的数据表,恢复效率高,减轻数据库资源消耗负担。2)通过额外的节点来收集解析日志做恢复集,在很大程度上减少因意外删除表等情况下造成数据库的不可用时间。附图说明图1是
背景技术
:中传统的数据库集群方式的数据库集群框图;图2是本发明实施例的指定位置的数据库集群的恢复方法的数据库集群框图。具体实施方式下面结合附图及具体实施例对本发明作进一步的详细描述。实施例1:本发明实施例提供一种指定位置的数据库集群的恢复方法,采用与存储引擎无关的分类解析日志文件代替传统的预写日志文件,能够确保解析日志被按照库表为单位进行存储,并在恢复过程中能够针对丢失数据的库表文件所需的辅助信息。本发明实施例的数据库拓扑图如图2所示:在三节点的数据库集群中,将其中一台数据库设置成级联复制,挂载一台新的数据库节点,即图2中标识为sql的节点。该节点上启动一个dispatcher日志分发解析服务,用于从它的父节点数据库解析日志并按照约定的格式存储。将快照集与解析日志关联,形成恢复集。根据形成的恢复集,将数据库恢复到指定位置。其中解析的日志格式如下:query_logdtable_mapinsert/delete/update_row_event/othersxid采用本发明实施例进行用户指定位置的恢复时,无需将所有全量备份或增量备份全部恢复,可精准的恢复用户指定位置的数据表,恢复效率高,减轻数据库资源消耗负担。实施例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解析日志中添加全局事务标识符;采用用户指定的恢复位置标记,回放所述恢复集时,所述恢复位置标记即为全局事务标识符和时间戳,实现通过恢复位置标记快速精准定位待回复的数据表。作为优选的实施方式,所述辅助映射信息包括数据库中各数据表的排序和表内和表间映射关系。实现恢复过程中能够保存丢失数据的库表文件所需的辅助映射信息,快速精准定位待回复的数据表。本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。说明书中未详细描述的内容为本领域技术人员公知的现有技术。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1