技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种多活数据库数据同步状态恢复的方法与流程  >  正文

一种多活数据库数据同步状态恢复的方法与流程

  • 国知局
  • 2024-09-14 15:10:29

本发明涉及数据库,尤其涉及一种多活数据库数据同步状态恢复的方法。

背景技术:

1、异地多活:在多个地域同时构建完整的应用系统,每个应用系统只负责部分数据分区的业务,一旦发生故障,可以将异常区域的业务快速切换至正常的区域,恢复业务。

2、数据库多活:在异地多活的场景下,每个地域都建立独立的业务数据库,多个数据库之间进行数据同步,保持数据一致,实现多地域的冗余备份,不同地域的数据库要同时支持写入,但是每个地域的数据库只允许写入按特定规则分区的数据,避免双写冲突造成同步失败。

3、数据库多活架构:一是网状,多个地域之间的数据库两两之间进行数据双向同步,这样的架构虽然简单,但是建立的同步链路非常多,对网络要求更高,维护起来非常困难;二是星状,在多个地域的数据库之中再选出一个主数据中心,与其它数据库之间进行双向同步,这时只对主数据中心的可用性要求更高,但是由于存在了主中心的概念,结构会变得更复杂,故障恢复中需要考虑的问题也会更多,因此需要设计一种多活数据库数据同步状态恢复的方法来解决上述问题。

技术实现思路

1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

2、鉴于上述现有一种多活数据库数据同步状态恢复的方法存在的问题,提出了本发明。

3、因此,本发明目的是提供一种多活数据库数据同步状态恢复的方法,其适用于解决由于存在了主中心的概念,结构会变得更复杂,故障恢复中需要考虑的问题也会更多的问题。

4、为解决上述技术问题,本发明提供如下技术方案:一种多活数据库数据同步状态恢复的方法,所述方法包括以下步骤:

5、s1:在数据双向同步过程中,为数据打标,避免数据环回同步的时候,同时写入数据在源数据库中对应的同步点位;

6、s2:在中心节点崩溃后,进行链路重建时,搜索新中心中来源于源叶子节点数据库的数据中最新的同步点位;

7、s3:使用上述同步点位+1为起点,重建同步链路,完成中心节点的迁移。

8、作为本发明所述一种多活数据库数据同步状态恢复的方法的一种优选方案,其中:为了在数据同步的目标节点中记录同步点位,又要避免产生大量的临时数据,通过写入临时数据的方式的方式来使用事务日志记录数据的来源和同步的点位。

9、作为本发明所述一种多活数据库数据同步状态恢复的方法的一种优选方案,其中:在数据同步服务中记录同步位点包括以下步骤:

10、步骤一:从来源数据库中按事务抽取数据;

11、步骤二:在事务开始将数据来源和同步点位写入目标节点的系统表;

12、步骤三:在事务末尾将写入的数据从目标节点的系统表删除;

13、步骤四:当需要抽取数据的时候,从binlog中读取日志事件时,即可以收到附加的信息。

14、作为本发明所述一种多活数据库数据同步状态恢复的方法的一种优选方案,其中:在星状架构的异地多活数据库集群中,中心节点作为各个叶子节点之间数据同步的桥梁,一条数据从一个叶子节点同步到另外一个为候选中心节点的叶子节点时,需要经过2次同步,第一次同步是从源叶子节点同步到中心节点,同步成功后记录同步成功的点位p,第二次同步是从中心节点同步到目标叶子节点。

15、作为本发明所述一种多活数据库数据同步状态恢复的方法的一种优选方案,其中:若崩溃的是中心节点,应避免丢失叶子节点的数据,因为跨地域同步中原需要提供数据来源标签,避免数据环回同步问题,所以在这个数据来源标签中再附加同步点位。

16、作为本发明所述一种多活数据库数据同步状态恢复的方法的一种优选方案,其中:一旦需要进行中心节点的切换,建立同步链路时,根据新的中心节点中记录的最新数据点位重建同步链路。

17、作为本发明所述一种多活数据库数据同步状态恢复的方法的一种优选方案,其中:在同步数据中附加同步点位减少叶子节点的数据丢失包括以下步骤:

18、步骤一:创建同步链路;

19、步骤二:获取同步点位;

20、步骤三:监听binlog;

21、步骤四:抽取;

22、步骤五:写入;

23、步骤六:抽取y到x之间的数据;

24、步骤七:抽取;

25、步骤八:写入。

26、作为本发明所述一种多活数据库数据同步状态恢复的方法的一种优选方案,其中:在所述步骤四到步骤五的过程中,未写入成功的数据不会记录其同步点位,所以p(y)<p(x),从而保证叶子节点数据不会丢失。

27、作为本发明所述一种多活数据库数据同步状态恢复的方法的一种优选方案,其中:在所述步骤二中,搜索来源大于a的最大点位,来源=a,点位=p(y),p(y)<p(x)。

28、作为本发明所述一种多活数据库数据同步状态恢复的方法的一种优选方案,其中:在所述步骤四中,数据=y,来源=a,点位=p(y),在所述步骤七中,数据=x,来源=a,点位=p(x),在所述步骤八中,数据=x,来源=a,点位=p(x)。

29、本发明的有益效果:相对于普通的双向同步工具而言,本发明可以在多活数据库集群中心节点崩溃的时候,避免叶子节点数据的丢失,通过在同步数据中附加同步点位的方式,减少不必要的数据丢失,因为跨地域同步中原本就需要提供数据来源标签,避免数据环回同步问题,所以在这个数据来源标签中再附加同步点位,一旦需要进行中心节点的切换,建立同步链路时,根据新的中心节点中记录的最新数据点位重建同步链路即可。

技术特征:

1.一种多活数据库数据同步状态恢复的方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的一种多活数据库数据同步状态恢复的方法,其特征在于:为了在数据同步的目标节点中记录同步点位,又要避免产生大量的临时数据,通过写入临时数据的方式的方式来使用事务日志记录数据的来源和同步的点位。

3.根据权利要求2所述的一种多活数据库数据同步状态恢复的方法,其特征在于:在数据同步服务中记录同步位点包括以下步骤:

4.根据权利要求1所述的一种多活数据库数据同步状态恢复的方法,其特征在于:在星状架构的异地多活数据库集群中,中心节点作为各个叶子节点之间数据同步的桥梁,一条数据从一个叶子节点同步到另外一个为候选中心节点的叶子节点时,需要经过2次同步,第一次同步是从源叶子节点同步到中心节点,同步成功后记录同步成功的点位p,第二次同步是从中心节点同步到目标叶子节点。

5.根据权利要求4所述的一种多活数据库数据同步状态恢复的方法,其特征在于:若崩溃的是中心节点,应避免丢失叶子节点的数据,因为跨地域同步中原需要提供数据来源标签,避免数据环回同步问题,所以在这个数据来源标签中再附加同步点位。

6.根据权利要求5所述的一种多活数据库数据同步状态恢复的方法,其特征在于:一旦需要进行中心节点的切换,建立同步链路时,根据新的中心节点中记录的最新数据点位重建同步链路。

7.根据权利要求1所述的一种多活数据库数据同步状态恢复的方法,其特征在于:在同步数据中附加同步点位减少叶子节点的数据丢失包括以下步骤:

8.根据权利要求7所述的一种多活数据库数据同步状态恢复的方法,其特征在于:在所述步骤四到步骤五的过程中,未写入成功的数据不会记录其同步点位,所以p(y)<p(x),从而保证叶子节点数据不会丢失。

9.根据权利要求7所述的一种多活数据库数据同步状态恢复的方法,其特征在于:在所述步骤二中,搜索来源大于a的最大点位,来源=a,点位=p(y),p(y)<p(x)。

10.根据权利要求1所述的一种多活数据库数据同步状态恢复的方法,其特征在于:在所述步骤四中,数据=y,来源=a,点位=p(y),在所述步骤七中,数据=x,来源=a,点位=p(x),在所述步骤八中,数据=x,来源=a,点位=p(x)。

技术总结本发明公开了一种多活数据库数据同步状态恢复的方法,所述方法包括以下步骤:S1:在数据双向同步过程中,为数据打标,避免数据环回同步的时候,同时写入数据在源数据库中对应的同步点位;S2:在中心节点崩溃后,进行链路重建时,搜索新中心中来源于源叶子节点数据库的数据中最新的同步点位;S3:使用上述同步点位+1为起点,重建同步链路,完成中心节点的迁移。本发明可以在多活数据库集群中心节点崩溃的时候,避免叶子节点数据的丢失。技术研发人员:唐律,廖少波受保护的技术使用者:天翼云科技有限公司技术研发日:技术公布日:2024/9/12

本文地址:https://www.jishuxx.com/zhuanli/20240914/297230.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。