一种基于集群的城市级容灾方法、装置、电子设备及介质制造方法及图纸

技术编号:30731402 阅读:23 留言:0更新日期:2021-11-10 11:33
本发明专利技术实施例公开了一种基于集群的城市级容灾方法、装置、电子设备及介质。集群包括第一城市的一个主节点和至少两个从节点,及第二城市的一个从节点,第二城市的从节点配置有至少三个异步复制节点,该方法包括:根据预设的状态获取时间周期,基于MySQL Router向集群中的任一节点发送探活信息,得到节点的当前状态;根据节点的当前状态,判断第一城市是否发生城市级灾难,若是,则将第二城市的从节点作为目标主节点;将异步复制节点添加至集群,构建目标主节点和异步复制节点的新集群,由新集群对第一城市提供服务。实现了将集群的异地只读节点作为新的主节点,在城市级灾难时迅速切换并组成新集群对外提供服务,保证数据库的高可用性。可用性。可用性。

【技术实现步骤摘要】
一种基于集群的城市级容灾方法、装置、电子设备及介质


[0001]本专利技术实施例涉及数据库技术,尤其涉及一种基于集群的城市级容灾方法、装置、电子设备及介质。

技术介绍

[0002]MySQL是一种关系型数据库管理系统,在互联网金融行业被广泛使用,很多基于MySQL原生主从复制架构的高可用实现方案也随之诞生。例如,在一座城市中部署一个主节点和多个从节点,从节点对主节点的数据进行复制。
[0003]现有技术中,当A城市中所有节点均异常时,只能通过B城市的异地备份来恢复数据。但是异地备份需要对恢复的数据进行验证,整个过程花费的时间很长,且在备份过程中A城市的服务是不可用的。若B城市没有备份,则A城市的数据只能丢失。现有技术无法快速应对城市级灾难,数据库的可用性和容灾水平较低。

技术实现思路

[0004]本专利技术实施例提供一种基于集群的城市级容灾方法、装置、电子设备及介质,以提高数据库对城市级灾难的容灾水平。
[0005]第一方面,本专利技术实施例提供了一种基于集群的城市级容灾方法,所述集群包括第一城市的一个主节点和至少两个从节点,还包括第二城市的一个从节点,所述第二城市的从节点配置有至少三个异步复制节点,该方法包括:
[0006]根据预设的状态获取时间周期,基于MySQL Router向集群中的任一节点发送探活信息,得到节点的当前状态;
[0007]根据所述节点的当前状态,判断所述第一城市是否发生城市级灾难,若是,则将所述第二城市的从节点作为目标主节点;
[0008]将所述异步复制节点添加至集群中,构建所述目标主节点和所述异步复制节点的新集群,由所述新集群对所述第一城市提供服务。
[0009]第二方面,本专利技术实施例还提供了一种基于集群的城市级容灾装置,所述集群包括第一城市的一个主节点和至少两个从节点,还包括第二城市的一个从节点,所述第二城市的从节点配置有至少三个异步复制节点,该装置包括:
[0010]状态获取模块,用于根据预设的状态获取时间周期,基于MySQL Router向集群中的任一节点发送探活信息,得到节点的当前状态;
[0011]主节点确定模块,用于根据所述节点的当前状态,判断所述第一城市是否发生城市级灾难,若是,则将所述第二城市的从节点作为目标主节点;
[0012]新集群确定模块,用于将所述异步复制节点添加至集群中,构建所述目标主节点和所述异步复制节点的新集群,由所述新集群对所述第一城市提供服务。
[0013]第三方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术任意
实施例所述的基于集群的城市级容灾方法。
[0014]第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本专利技术任意实施例所述的基于集群的城市级容灾方法。
[0015]本专利技术实施例通过设置第一城市中的主节点和从节点,以及第二城市中的从节点,将两个不同城市的节点设置在同一集群中。实时或定时获取第一城市中所有节点的当前状态,根据当前状态判断第一城市是否发生城市级灾难,若是,则将第二城市的从节点作为新集群的目标主节点,并根据第二城市中的异步复制节点构建新集群。使第一城市的节点全部瘫痪时,可以由第二城市进行异地服务,保证了数据库的高可用性。解决了现有技术中,当第一城市发生城市级灾难时,数据丢失的问题,通过快速切换主节点,减少了数据备份的时间,提高城市级容灾的效率,提升数据库对于城市级灾难的容灾水平。
附图说明
[0016]图1是本专利技术实施例一中的一种基于集群的城市级容灾方法的流程示意图;
[0017]图2是本专利技术实施例二中的一种基于集群的城市级容灾装置的结构框图;
[0018]图3是本专利技术实施例三中的一种基于集群的城市级容灾设备的结构示意图。
具体实施方式
[0019]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0020]实施例一
[0021]图1为本专利技术实施例一所提供的一种基于集群的城市级容灾方法的流程示意图,本实施例可适用于城市的数据库服务器发生城市级灾难的情况,该方法可以由一种基于集群的城市级容灾装置来执行。如图1所示,该方法具体包括如下步骤:
[0022]步骤110、根据预设的状态获取时间周期,基于MySQL Router向集群中的任一节点发送探活信息,得到节点的当前状态。
[0023]其中,一个城市的IDC(Internet Data Center,互联网数据中心)可以部署多个节点,包括一个主节点和多个从节点。主节点可以接收用户在应用程序上的操作数据,从节点可以对主节点接收的数据进行复制同步。将一个城市中的主节点和从节点均部署在一个集群中,该集群中还可以包括另一个城市的节点,另一个城市的节点为该集群的从节点。主节点所在的城市为第一城市,另一个城市为第二城市,集群中的主节点为第一城市的节点,从节点包括第一城市的节点和第二城市的节点。主节点的数量为一个,第一城市的从节点数量为至少两个,第二城市的从节点数量为一个。在第二城市除了部署集群的从节点,还可以为该从节点部署多个异步复制节点,本实施例中,异步复制节点为至少三个。异步复制节点可以异步复制第二城市从节点的数据,异步复制节点不属于第一城市主节点所在的集群中。各节点获取数据的数据库系统为MySQL数据库系统,MySQL Router是MySQL官方提供一个轻量级中间件,它可以为应用程序和后端的MySQL服务器提供透明路由。MySQL Router可以定时向各个节点发送探活信息,以获取各个节点的当前状态。例如,可以预先设置状态获
取的时间周期,根据状态获取时间周期,MySQL Router定时向集群中各个节点发送探活信息,各节点可以根据探活信息向MySQL Router进行状态反馈,从而得到节点的当前状态。
[0024]本实施例中,可选的,集群为InnoDB Cluster,集群包括第一城市的一个主节点和三个从节点,还包括第二城市的一个从节点。
[0025]具体的,本专利技术实施例中的集群为MySQL的InnoDB Cluster集群,集群中的每个节点都是组复制的成员,可以在InnoDB Cluster内复制数据,并且具有内置的故障转移功能。MySQL Router可以根据集群部署信息自动生成配置,将客户端应用程序透明地连接到主节点。如果主节点意外故障,群集将自动重新配置。在默认的单主模式下,InnoDB Cluster具有单个读写主节点,从节点为只读节点。若从节点变为主节点,则从节点由只读节点变为读写节点。MySQL Router可以检测到这种情况并将客户端应用程序的数据自动转发到新的主节点。本实施例中的集群共有五本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于集群的城市级容灾方法,其特征在于,所述集群包括第一城市的一个主节点和至少两个从节点,还包括第二城市的一个从节点,所述第二城市的从节点配置有至少三个异步复制节点,所述方法包括:根据预设的状态获取时间周期,基于MySQL Router向集群中的任一节点发送探活信息,得到节点的当前状态;根据所述节点的当前状态,判断所述第一城市是否发生城市级灾难,若是,则将所述第二城市的从节点作为目标主节点;将所述异步复制节点添加至集群中,构建所述目标主节点和所述异步复制节点的新集群,由所述新集群对所述第一城市提供服务。2.根据权利要求1所述的方法,其特征在于,所述集群为InnoDB Cluster,所述集群包括第一城市的一个主节点和三个从节点,还包括第二城市的一个从节点。3.根据权利要求1所述的方法,其特征在于,根据所述节点的当前状态,判断所述第一城市是否发生城市级灾难,包括:根据集群中任一节点的当前状态,判断所述第一城市的主节点和从节点是否均为异常;若是,则确定所述第一城市发生城市级灾难。4.根据权利要求1所述的方法,其特征在于,将所述第二城市的从节点作为目标主节点,包括:响应于用户发出的主节点设置指令,确定所述第二城市的从节点为目标主节点;其中,所述主节点设置指令为set Primary Node()指令。5.根据权利要求1所述的方法,其特征在于,将所述异步复制节点添加至集群中,包括:响应于用户的从节点添加指令,将至少三个异步复制节点添加至集群中,作为所述目标主节点的从节点;其中,所述从节点添加指令为addInstance()指令。6.根据权利要求1所述的方法,其特征在于,在构建所述目标主节点和所述异步复制节点的新集群之后,还包括:根据预设...

【专利技术属性】
技术研发人员:唐友鑫古毅伟
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1