CN114238495A - 数据库主备集群切换方法、装置、计算机设备及存储介质 - Google Patents
数据库主备集群切换方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114238495A CN114238495A CN202111414521.8A CN202111414521A CN114238495A CN 114238495 A CN114238495 A CN 114238495A CN 202111414521 A CN202111414521 A CN 202111414521A CN 114238495 A CN114238495 A CN 114238495A
- Authority
- CN
- China
- Prior art keywords
- cluster
- main
- standby
- main cluster
- availability
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Abstract
本申请涉及一种数据库主备集群切换方法、装置、计算机设备、存储介质和计算机程序产品,通过增量数据底层自同步方式,将主集群中的数据同步至备集群,以使主集群和备集群中存储的高效准确同步,再周期性周期性探测所述主集群的可用性,当发现主集群不可用时,自动将后端应用服务切换至备集群,确保能够正常支持后端应用服务;另外,还继续保持对主集群可用性的监控,一旦发现主集群恢复可用时,再次将后端应用服务切换回主集群。整个过程中,通过自动同步、持续监测以及自动切换的方式实现数据库主备集群的自动切换,无需用户手动操作,给用户带来便捷。
Description
技术领域
本申请涉及大数据资源调度技术领域,特别是涉及一种数据库主备集群切换方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着科学技术的发展,数字化和信息化广泛应用于实际生产生活中给人们带来了巨大的便捷。
数字化和信息化的推广应用伴随着产生了大量的数据,这些数据一般采用数据库的方式来进行存储以便后续进行进一步的分析与处理。目前很多场景下会采用分布式数据库集群的方式来存储,并且数据库集群中会设置备份数据库来确保数据的安全,即当侦测到主数据库集群出现异常上将链接至备份数据库集群,以确保系统的正常运行。
常规的数据库主备集群切换一般是采用Haproxy方案,具体来说,通过Haproxy里的监听器转发来实现同时链接多个分布式数据库集群,这样方式虽然通用且可以实现数据库主备集群切换,但是Haproxy方案无法实现主备自动切换。
发明内容
基于此,有必要针对上述技术问题,提供一种能够自动切换的数据库主备集群切换方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种数据库主备集群切换方法。所述方法包括:
通过增量数据底层自同步方式,将主集群中的数据同步至备集群;
周期性探测所述主集群的可用性;
当所述主集群不可用时,自动将后端应用服务切换至所述备集群;
持续探测所述主集群可用性,当所述主集群恢复可用时,将所述后端应用服务切换回所述主集群。
在其中一个实施例中,所述将主集群中的数据同步至备集群之前,还包括:
初始化主集群和备集群,启动所述主集群和所述备集群的复制功能;
对所述主集群和所述备集群分配不同的znode节点,以连接至相同的ZK集群;
在所述主集群和所述备集群上配置相同结构的表和列簇。
在其中一个实施例中,所述在所述主集群和所述备集群上配置相同结构的表和列簇包括:
将所述主集群上创建表和创建列簇的语句导出,得到导出语句;
将所述导出语句写入所述备集群,并控制所述备集群执行所述导出语句对应的任务。
在其中一个实施例中,所述初始化主集群和备集群,启动所述主集群和所述备集群的复制功能包括:
获取主集群和备集群的配置参数;
在所述主集群以及所述备集群中添加所述配置参数,以启动所述主集群和所述备集群的复制功能
在其中一个实施例中,所述周期性探测所述主集群的可用性包括:
通过接口API(Application Programming Interface,应用程序编程接口)向所述主集群周期性发送请求;
接收所述主集群探测反馈消息;
根据探测反馈消息与预设自定义数据表,探测所述主集群的可用性。
在其中一个实施例中,所述根据探测反馈消息与预设自定义数据表,探测所述主集群的可用性包括:
提取探测反馈消息中携带的响应code以及响应数据Json串;
判断所述响应code是否为预设正确字符;
若否,则表明所述主集群不可用;
若是,则判断所述响应数据Json串是否符合预设标准;若是,则判定所述主集群可用,若否,则判定所述主集群不可用。
第二方面,本申请还提供了一种数据库主备集群切换装置。所述装置包括:
同步模块,用于将通过增量数据底层自同步方式,主集群中的数据同步至备集群;
探测模块,用于周期性探测所述主集群的可用性;
切换模块,用于当所述主集群不可用时,自动将后端应用服务切换至所述备集群;
恢复模块,用于持续探测所述主集群可用性,当所述主集群恢复可用时,将所述后端应用服务切换回所述主集群。
在其中一个实施例中,上述数据库主备集群切换装置还包括初始化模块,用于初始化主集群和备集群,启动所述主集群和所述备集群的复制功能;对所述主集群和所述备集群分配不同的znode节点,以连接至相同的ZK集群;在所述主集群和所述备集群上配置相同结构的表和列簇。
在其中一个实施例中,所述初始化模块还用于将所述主集群上创建表和创建列簇的语句导出,得到导出语句;将所述导出语句写入所述备集群,并控制所述备集群执行所述导出语句对应的任务。
在其中一个实施例中,所述初始化模块还用于获取主集群和备集群的配置参数;在所述主集群以及所述备集群中添加所述配置参数,以启动所述主集群和所述备集群的复制功能。
在其中一个实施例中,所述探测模块还用于通过接口API向所述主集群周期性发送请求;接收所述主集群探测反馈消息;根据探测反馈消息与预设自定义数据表,探测所述主集群的可用性。
在其中一个实施例中,所述探测模块还用于提取探测反馈消息中携带的响应code以及响应数据Json串;判断所述响应code是否为预设正确字符;若否,则表明所述主集群不可用;若是,则判断所述响应数据Json串是否符合预设标准;若是,则判定所述主集群可用,若否,则判定所述主集群不可用。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
通过增量数据底层自同步方式,将主集群中的数据同步至备集群;
周期性探测所述主集群的可用性;
当所述主集群不可用时,自动将后端应用服务切换至所述备集群;
持续探测所述主集群可用性,当所述主集群恢复可用时,将所述后端应用服务切换回所述主集群。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
通过增量数据底层自同步方式,将主集群中的数据同步至备集群;
周期性探测所述主集群的可用性;
当所述主集群不可用时,自动将后端应用服务切换至所述备集群;
持续探测所述主集群可用性,当所述主集群恢复可用时,将所述后端应用服务切换回所述主集群。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
通过增量数据底层自同步方式,将主集群中的数据同步至备集群;
周期性探测所述主集群的可用性;
当所述主集群不可用时,自动将后端应用服务切换至所述备集群;
持续探测所述主集群可用性,当所述主集群恢复可用时,将所述后端应用服务切换回所述主集群。
上述数据库主备集群切换方法、装置、计算机设备、存储介质和计算机程序产品,通过增量数据底层自同步方式,将主集群中的数据同步至备集群,以使主集群和备集群中存储的高效准确同步,再周期性周期性探测所述主集群的可用性,当发现主集群不可用时,自动将后端应用服务切换至备集群,确保能够正常支持后端应用服务;另外,还继续保持对主集群可用性的监控,一旦发现主集群恢复可用时,再次将后端应用服务切换回主集群。整个过程中,通过自动同步、持续监测以及自动切换的方式实现数据库主备集群的自动切换,无需用户手动操作,给用户带来便捷。
附图说明
图1为一个实施例中数据库主备集群切换方法的应用环境图;
图2为一个实施例中数据库主备集群切换方法的流程示意图;
图3为另一个实施例中数据库主备集群切换方法的流程示意图;
图4为又一个实施例中数据库主备集群切换方法的流程示意图;
图5为一个实施例中S400的子流程示意图;
图6为一个实施例中数据库主备集群切换装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据库主备集群切换方法,可以应用于如图1所示的应用环境中。其中,源系统分别与主集群(HBase集群1)和备集群(HBase集群2)连接,主集群和备集群分别可以给外部应用查询的应用AP提供数据支持与服务,源系统将主集群中的数据同步至备集群;周期性探测主集群的可用性;当主集群不可用时,自动将后端应用服务切换至备集群;持续探测主集群可用性,当主集群恢复可用时,将后端应用服务切换回主集群。
在一个实施例中,如图2所示,提供了一种数据库主备集群切换方法,包括以下步骤:
S200:通过增量数据底层自同步方式,将主集群中的数据同步至备集群。
主集群和备集群都可以给后端应用服务提供数据支持,一般情况下是由主集群来提供数据支持与服务的,主集群在提供数据支持与服务过程中会产生一些相关的数据,例如查询日志之类的,这些新增的数据都需要同步至备集群中,以便在后续某个时刻切换至备集群时,同样能够提供正常的数据支持与服务。进一步的,在这里,主集群和备集群之间通过增量数据底层自同步的方式来进行数据同步,这样避免存在主备集群中数据存在自同步时间差,确保主备集群中数据的高度同步。
S400:周期性探测主集群的可用性。
周期性是指每间隔一定的时间就探测一次,例如可以每隔30秒,1分钟等,具体的间隔时间可以根据实际情况的需要进行设定。通过周期性探测的方式检测主集群的可用性可以快速侦测到主集群的异常情况。非必要的,周期性探测可以是通过特定的接口周期性的向主集群发送请求,并且接收主集群针对请求反馈的数据,分析这部分反馈的数据来识别主集群的可用性。
S600:当主集群不可用时,自动将后端应用服务切换至备集群。
当主集群出现异常,变得不可用时,为了确保后端应用服务能够正常进行,此时自动将后端应用服务切换至备集群。具体来说,这个切换过程可以理解为关闭主集群、并启用备集群的过程,具体可以源系统可以发送一个启停功能指令到后端,并且告知后端新的接入接口/地址,该新的接入接口/地址即与备集群对应,后端应用服务执行启停动作,按照新的接入接口/地址,重新接入至备集群上,之后由备集群来给后端应用服务提供数据支持与服务。进一步的,如图3所示,当主集群可用时,持续由主集群为后端应用服务提供数据支持,返回S400周期性探测主集群的可用性步骤。
S800:持续探测主集群可用性,当主集群恢复可用时,将后端应用服务切换回主集群。
在后端应用服务切换至备集群之后,源系统继续保持对主集群的探测,这个探测过程同样可以是周期性的,探测频率同样可以与S400中的一致,当探测到主集群恢复可用时,再将后端应用服务切换回主集群,继续由主集群提供数据支持与服务。
上述数据库主备集群切换方法,通过增量数据底层自同步方式,将主集群中的数据同步至备集群,以使主集群和备集群中存储的高效准确同步,再周期性周期性探测所述主集群的可用性,当发现主集群不可用时,自动将后端应用服务切换至备集群,确保能够正常支持后端应用服务;另外,还继续保持对主集群可用性的监控,一旦发现主集群恢复可用时,再次将后端应用服务切换回主集群。整个过程中,通过自动同步、持续监测以及自动切换的方式实现数据库主备集群的自动切换,无需用户手动操作,给用户带来便捷。
如图4所示,在其中一个实施例中,S200之前,还包括:
S120:初始化主集群和备集群,启动主集群和备集群的复制功能。
分别初始化主集群和备集群,以启动这两个集群的复制功能。具体来说,可以获取两个集群的必要配置参数,基于必要配置参数执行初始化动作,并且启动两个集群的复制功能。配置参数具体可以从集群发布的官方文档中获得,在主集群以及所述备集群中添加配置参数,以启动主集群和所述备集群的复制功能。
以HBase为例,启用HBase的Replication(复制)机制,主集群和备集群进行必要配置,确保两个集群在hbase-site.xml中均开启了复制功能。具体可以主集群和备集群中添加必要的配置文件,配置文件添加然后重启服务。配置文件的添加是为了开启主备集群的主从复制功能,添加了这些配置文件,主备集群就知晓需要执行复制操作。在实际应用中,启用HBase的Replication机制,主集群和备集群需要完成必要的配置,以确保两个集群在hbase-site.xml中均开启了复制功能,在集群A(主集群)添加(配置文件添加然后重启服务);在配置文件hbase-site.xm中添加:<property>;<name>hbase.replication</name>;<value>true</value>;</property>;在集群B(备集群)添加(配置文件添加然后重启服务):在配置文件hbase-site.xm添加:<property>;<name>hbase.replication</name>;<value>true</value>;</property>。S140:对主集群和备集群分配不同的znode节点,以连接至相同的ZK集群。
主备集群在需共用同一个ZK集群时,就必须要指向不同的znode节点,例如主集群hbase-site.xml中的zookeeper.znode.parent=/apps/hbase1;备集群hbase-site.xml中的zookeeper.znode.parent=/apps/hbase2。具体来说,ZK即ZooKeeper,它是一个经典的分布式数据一致性解决方案,致力于为分布式应用提供一个高性能、高可用,且具有严格顺序访问控制能力的分布式协调服务。分布式应用程序可以基于ZooKeeper实现数据发布与订阅、负载均衡、命名服务、分布式协调与通知、集群管理、Leader选举、分布式锁、分布式队列等功能。
S160:在主集群和备集群上配置相同结构的表和列簇。
为了确保后续主集群和备集群数据能够有效且高效同步,需要在主集群和备集群上配置相同结构的表和列簇。具体来说,可以在主集群和从集群上采用相同的创建命令来创建相同结构的表和列簇。进一步的,可以先在主集群上创建表和列簇,为了确保主备集群中表和列簇结构相同,可以将主集群上创建表和列簇的语句导出,将导出的语句写入至备集群中,然后再到备集群上执行该语句,即确保在主备集群上配置相同结构的表和列簇。
如图5所示,在其中一个实施例中,S400包括:
S420:通过接口API向主集群周期性发送请求;
S440:接收主集群探测反馈消息;
S460:根据探测反馈消息与预设自定义数据表,探测主集群的可用性。
在应用层面,通过接口API的方式定时向主备两个集群发送请求进行探测集群的可用性。具体来说,API需要扫描集群(HBase)中的所有业务表。源系统在发送周期性发送请求之后,接收主集群反馈消息,基于该反馈消息与预设自定义数据表来探测主集群的可用性。具体来说,是判断探测反馈消息是否符合预设自定义数据表对应的参数,若符合,则表明主集群是可用的;若存在差异,则表明主集群是不可用的,其实需要添加一个启停进程,切换至备集群。预设自定义数据表是预先设定的,其是与业务表对应的,其可以采用更加丰富和多样的数据,以充分验证、检测主集群的可用性。
进一步,根据探测反馈消息与预设自定义数据表,探测主集群的可用性包括:提取探测反馈消息中携带的响应code以及响应数据Json串;判断响应code是否为预设正确字符;若否,则表明主集群不可用;若否,则判断响应数据Json串是否符合预设标准;若是,则判定主集群可用,若否,则判定主集群不可用。
预设正确字符是预先设定的,其可以为具体的数字字符,例如200或404等。在发现主集群不可用之后,依旧可以继续在一定时间(例如半小时)内继续发送请求至主集群,以判断主集群是否已经恢复可用状态,一旦发现主集群回复可用状态,即将后端应用服务切换至主集群。
为详细说明上述实施例中主备集群自动切换的过程,下面将采用具体应用实例详细说明:
1)、主备集群可用性探测方式:在应用层面,通过接口API的方式定时往主备两个集群发送请求进行探测集群的可用性。(API:扫描HBase中的所有业务表)。
2)、主备集群可用性探测周期:每隔一分钟对主备集群进行接口探测一次。
3)、判定HBase可用性:当请求发送成功并且响应code为200或者404、响应data数据Json串符合标准,则判定HBase正常;当请求发送成功,响应code为500、响应data的Json串异常,并且在接下来的五分钟内循环发送请求后响应code依然为500,则判定为HBase异常,需主备切换。
4)、主备切换方式:a)自动切换:自动Stop主HBase应用AP服务,Start备应用服务。b)手动切换:手动Stop主HBase应用AP服务,Start备应用服务。这里需要说明的是,通常情况下,采用自动切换的方式;当发生一些极端不可控的因素,则手动切换应用服务。
5)、主备切换后主HBase判定方式、周期:主备应用AP切换成功后,依然通过API接口方式探测主HBase的可用性。当主HBase接口探测并且响应code为200或者404,并且在接下来的半个小时内循环发送请求后响应code依然是200或者404,则判定主HBase恢复正常,停止备用AP服务,启动主AP服。
6)、用户体验提示:主备应用AP切换期间,部分查询交易可能会失败,为提高用户体验,当响应数据code为500时候,则给出“数据同步中,请稍后重试…”提示。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据库主备集群切换方法的数据库主备集群切换装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据库主备集群切换装置实施例中的具体限定可以参见上文中对于数据库主备集群切换方法的限定,在此不再赘述。
如图6所示,本申请还提供了一种数据库主备集群切换装置。装置包括:
同步模块200,用于通过增量数据底层自同步方式,将主集群中的数据同步至备集群;
探测模块400,用于周期性探测主集群的可用性;
切换模块600,用于当主集群不可用时,自动将后端应用服务切换至备集群;
恢复模块800,用于持续探测主集群可用性,当主集群恢复可用时,将后端应用服务切换回主集群。
上述数据库主备集群切换装置,通过增量数据底层自同步方式,将主集群中的数据同步至备集群,以使主集群和备集群中存储的高效准确同步,再周期性周期性探测所述主集群的可用性,当发现主集群不可用时,自动将后端应用服务切换至备集群,确保能够正常支持后端应用服务;另外,还继续保持对主集群可用性的监控,一旦发现主集群恢复可用时,再次将后端应用服务切换回主集群。整个过程中,通过自动同步、持续监测以及自动切换的方式实现数据库主备集群的自动切换,无需用户手动操作,给用户带来便捷。
在其中一个实施例中,上述数据库主备集群切换装置还包括初始化模块,用于初始化主集群和备集群,启动主集群和备集群的复制功能;对主集群和备集群分配不同的znode节点,以连接至相同的ZK集群;在主集群和备集群上配置相同结构的表和列簇。
在其中一个实施例中,初始化模块还用于将主集群上创建表和创建列簇的语句导出,得到导出语句;将导出语句写入备集群,并控制备集群执行导出语句对应的任务。
在其中一个实施例中,初始化模块还用于获取主集群和备集群的配置参数;在主集群以及所述备集群中添加配置参数,以启动所述主集群和所述备集群的复制功能。
在其中一个实施例中,探测模块400还用于通过接口API向主集群周期性发送请求;接收主集群探测反馈消息;根据探测反馈消息与预设自定义数据表,探测主集群的可用性。
在其中一个实施例中,探测模块400还用于提取探测反馈消息中携带的响应code以及响应数据Json串;判断响应code是否为预设正确字符;若否,则表明主集群不可用;若否,则判断响应数据Json串是否符合预设标准;若是,则判定主集群可用,若否,则判定主集群不可用。
在实际应用中,本申请数据库主备集群切换方法与装置能有效的保障分布式数据库集群生产运维的稳定性。无人化值守,极大的减小了运维人员的工作强度和降低了失误率。同时也为分布式数据库提供了跨域备份的效果,为数据安全提供了双保险。
上述数据库主备集群切换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储XX数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库主备集群切换方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
通过增量数据底层自同步方式,将主集群中的数据同步至备集群;
周期性探测主集群的可用性;
当主集群不可用时,自动将后端应用服务切换至备集群;
持续探测主集群可用性,当主集群恢复可用时,将后端应用服务切换回主集群。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
初始化主集群和备集群,启动主集群和备集群的复制功能;对主集群和备集群分配不同的znode节点,以连接至相同的ZK集群;在主集群和备集群上配置相同结构的表和列簇。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将主集群上创建表和创建列簇的语句导出,得到导出语句;将导出语句写入备集群,并控制备集群执行导出语句对应的任务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取主集群和备集群的配置参数;在所述主集群以及所述备集群中添加所述配置参数,以启动所述主集群和所述备集群的复制功能。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过接口API向主集群周期性发送请求;接收主集群探测反馈消息;根据探测反馈消息与预设自定义数据表,探测主集群的可用性。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
提取探测反馈消息中携带的响应code以及响应数据Json串;判断响应code是否为预设正确字符;若否,则表明主集群不可用;若否,则判断响应数据Json串是否符合预设标准;若是,则判定主集群可用,若否,则判定主集群不可用。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
通过增量数据底层自同步方式,将主集群中的数据同步至备集群;
周期性探测主集群的可用性;
当主集群不可用时,自动将后端应用服务切换至备集群;
持续探测主集群可用性,当主集群恢复可用时,将后端应用服务切换回主集群。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
初始化主集群和备集群,启动主集群和备集群的复制功能;对主集群和备集群分配不同的znode节点,以连接至相同的ZK集群;在主集群和备集群上配置相同结构的表和列簇。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将主集群上创建表和创建列簇的语句导出,得到导出语句;将导出语句写入备集群,并控制备集群执行导出语句对应的任务。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取主集群和备集群的配置参数;在所述主集群以及所述备集群中添加所述配置参数,以启动所述主集群和所述备集群的复制功能。在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过接口API向主集群周期性发送请求;接收主集群探测反馈消息;根据探测反馈消息与预设自定义数据表,探测主集群的可用性。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
提取探测反馈消息中携带的响应code以及响应数据Json串;判断响应code是否为预设正确字符;若否,则表明主集群不可用;若否,则判断响应数据Json串是否符合预设标准;若是,则判定主集群可用,若否,则判定主集群不可用。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
通过增量数据底层自同步方式,将主集群中的数据同步至备集群;
周期性探测主集群的可用性;
当主集群不可用时,自动将后端应用服务切换至备集群;
持续探测主集群可用性,当主集群恢复可用时,将后端应用服务切换回主集群。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
初始化主集群和备集群,启动主集群和备集群的复制功能;对主集群和备集群分配不同的znode节点,以连接至相同的ZK集群;在主集群和备集群上配置相同结构的表和列簇。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将主集群上创建表和创建列簇的语句导出,得到导出语句;将导出语句写入备集群,并控制备集群执行导出语句对应的任务。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取主集群和备集群的配置参数;在所述主集群以及所述备集群中添加所述配置参数,以启动所述主集群和所述备集群的复制功能。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过接口API向主集群周期性发送请求;接收主集群探测反馈消息;根据探测反馈消息与预设自定义数据表,探测主集群的可用性。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
提取探测反馈消息中携带的响应code以及响应数据Json串;判断响应code是否为预设正确字符;若否,则表明主集群不可用;若否,则判断响应数据Json串是否符合预设标准;若是,则判定主集群可用,若否,则判定主集群不可用。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种数据库主备集群切换方法,其特征在于,所述方法包括:
通过增量数据底层自同步方式,将主集群中的数据同步至备集群;
周期性探测所述主集群的可用性;
当所述主集群不可用时,自动将后端应用服务切换至所述备集群;
持续探测所述主集群可用性,当所述主集群恢复可用时,将所述后端应用服务切换回所述主集群。
2.根据权利要求1所述的方法,其特征在于,所述将主集群中的数据同步至备集群之前,还包括:
初始化主集群和备集群,启动所述主集群和所述备集群的复制功能;
对所述主集群和所述备集群分配不同的znode节点,以连接至相同的ZK集群;
在所述主集群和所述备集群上配置相同结构的表和列簇。
3.根据权利要求2所述的方法,其特征在于,所述在所述主集群和所述备集群上配置相同结构的表和列簇包括:
将所述主集群上创建表和创建列簇的语句导出,得到导出语句;
将所述导出语句写入所述备集群,并控制所述备集群执行所述导出语句对应的任务。
4.根据权利要求2所述的方法,其特征在于,所述初始化主集群和备集群,启动所述主集群和所述备集群的复制功能包括:
获取主集群和备集群的配置参数;
在所述主集群以及所述备集群中添加所述配置参数,以启动所述主集群和所述备集群的复制功能。
5.根据权利要求1所述的方法,其特征在于,所述周期性探测所述主集群的可用性包括:
通过接口API向所述主集群周期性发送请求;
接收所述主集群探测反馈消息;
根据探测反馈消息与预设自定义数据表,探测所述主集群的可用性。
6.根据权利要求5所述的方法,其特征在于,所述根据探测反馈消息与预设自定义数据表,探测所述主集群的可用性包括:
提取探测反馈消息中携带的响应code以及响应数据Json串;
判断所述响应code是否为预设正确字符;
若否,则表明所述主集群不可用;
若是,则判断所述响应数据Json串是否符合预设标准;若是,则判定所述主集群可用,若否,则判定所述主集群不可用。
7.一种数据库主备集群切换装置,其特征在于,所述装置包括:
同步模块,用于通过增量数据底层自同步方式,将主集群中的数据同步至备集群;
探测模块,用于周期性探测所述主集群的可用性;
切换模块,用于当所述主集群不可用时,自动将后端应用服务切换至所述备集群;
恢复模块,用于持续探测所述主集群可用性,当所述主集群恢复可用时,将所述后端应用服务切换回所述主集群。
8.根据权利要求7所述的装置,其特征在于,还包括初始化模块,用于初始化主集群和备集群,启动所述主集群和所述备集群的复制功能;对所述主集群和所述备集群分配不同的znode节点,以连接至相同的ZK集群;在所述主集群和所述备集群上配置相同结构的表和列簇。
9.根据权利要求8所述的装置,其特征在于,所述初始化模块还用于将所述主集群上创建表和创建列簇的语句导出,得到导出语句;将所述导出语句写入所述备集群,并控制所述备集群执行所述导出语句对应的任务。
10.根据权利要求8所述的装置,其特征在于,所述初始化模块还用于获取主集群和备集群的配置参数;在所述主集群以及所述备集群中添加所述配置参数,以启动所述主集群和所述备集群的复制功能。
11.根据权利要求7所述的装置,其特征在于,所述探测模块还用于通过接口API向所述主集群周期性发送请求;接收所述主集群探测反馈消息;根据探测反馈消息与预设自定义数据表,探测所述主集群的可用性。
12.根据权利要求11所述的装置,其特征在于,所述探测模块还用于提取探测反馈消息中携带的响应code以及响应数据Json串;判断所述响应code是否为预设正确字符;若否,则表明所述主集群不可用;若是,则判断所述响应数据Json串是否符合预设标准;若是,则判定所述主集群可用,若否,则判定所述主集群不可用。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111414521.8A CN114238495A (zh) | 2021-11-25 | 2021-11-25 | 数据库主备集群切换方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111414521.8A CN114238495A (zh) | 2021-11-25 | 2021-11-25 | 数据库主备集群切换方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238495A true CN114238495A (zh) | 2022-03-25 |
Family
ID=80751317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111414521.8A Pending CN114238495A (zh) | 2021-11-25 | 2021-11-25 | 数据库主备集群切换方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238495A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361269A (zh) * | 2022-07-08 | 2022-11-18 | 福建新大陆通信科技股份有限公司 | 一种应急广播设备热备份方法 |
CN117349088A (zh) * | 2023-12-04 | 2024-01-05 | 深圳市科力锐科技有限公司 | 数据库增量回切方法、装置、设备及存储介质 |
WO2024083259A1 (zh) * | 2022-10-21 | 2024-04-25 | 中移(苏州)软件技术有限公司 | 主备数据库集群及选主方法、计算设备及存储介质 |
-
2021
- 2021-11-25 CN CN202111414521.8A patent/CN114238495A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361269A (zh) * | 2022-07-08 | 2022-11-18 | 福建新大陆通信科技股份有限公司 | 一种应急广播设备热备份方法 |
CN115361269B (zh) * | 2022-07-08 | 2023-05-30 | 福建新大陆通信科技股份有限公司 | 一种应急广播设备热备份方法 |
WO2024083259A1 (zh) * | 2022-10-21 | 2024-04-25 | 中移(苏州)软件技术有限公司 | 主备数据库集群及选主方法、计算设备及存储介质 |
CN117349088A (zh) * | 2023-12-04 | 2024-01-05 | 深圳市科力锐科技有限公司 | 数据库增量回切方法、装置、设备及存储介质 |
CN117349088B (zh) * | 2023-12-04 | 2024-04-02 | 深圳市科力锐科技有限公司 | 数据库增量回切方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114238495A (zh) | 数据库主备集群切换方法、装置、计算机设备及存储介质 | |
TWI689181B (zh) | 資料處理方法和系統 | |
US8301600B1 (en) | Failover recovery in a distributed data store | |
EP2342655B1 (en) | Quorum based transactionally consistent membership management in distributed storage systems | |
US9189348B2 (en) | High availability database management system and database management method using same | |
EP3528431B1 (en) | Paxos protocol-based methods and apparatuses for online capacity expansion of distributed consistency system | |
CN109753511B (zh) | 一种大数据平台的跨地域实时同步方法及系统 | |
CN112654978A (zh) | 分布式异构存储系统中数据一致性实时检查的方法、设备和系统 | |
CN112596951A (zh) | 一种nas数据容灾方法、装置、设备及存储介质 | |
CN114610532A (zh) | 数据库处理方法以及装置 | |
CN112015591A (zh) | 一种日志管理方法、服务器和数据库系统 | |
JP2023546897A (ja) | オブジェクト処理方法、装置、及びコンピュータ機器 | |
CN112037873B (zh) | 一种基于集群选主和共识机制的单点优化方法 | |
CN113190620A (zh) | Redis集群之间数据的同步方法、装置、设备及存储介质 | |
CN105007172A (zh) | 一种hdfs高可用性方案的实现方法 | |
EP3349416B1 (en) | Relationship chain processing method and system, and storage medium | |
CN116389233A (zh) | 容器云管理平台主备切换系统、方法、装置和计算机设备 | |
US11042454B1 (en) | Restoration of a data source | |
US10728323B2 (en) | Method and apparatus for operating infrastructure layer in cloud computing architecture | |
CN116303789A (zh) | 多分片多副本数据库并行同步方法、装置及可读介质 | |
CN116192616A (zh) | 基于微服务的电力备调系统处理方法、装置和计算机设备 | |
CN115174596A (zh) | 一种设备远程复制方法、装置以及介质 | |
CN113535430A (zh) | 应用数据读写分离方法、装置、计算机设备和存储介质 | |
CN116974983A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
US9747166B2 (en) | Self healing cluster of a content management system |
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 |