CN117271227A - 数据库集群主节点切换方法、系统及管控平台 - Google Patents
数据库集群主节点切换方法、系统及管控平台 Download PDFInfo
- Publication number
- CN117271227A CN117271227A CN202311016380.3A CN202311016380A CN117271227A CN 117271227 A CN117271227 A CN 117271227A CN 202311016380 A CN202311016380 A CN 202311016380A CN 117271227 A CN117271227 A CN 117271227A
- Authority
- CN
- China
- Prior art keywords
- database cluster
- master node
- node
- switching
- master
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000009471 action Effects 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 9
- 230000002159 abnormal effect Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 17
- 238000011084 recovery Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000010076 replication Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供数据库集群主节点切换方法、系统及管控平台,属于集群管控领域。所述数据库集群主节点切换方法,包括:实时获取数据库集群主节点的运行信息;基于数据库集群主节点的运行信息,根据主节点切换触发条件确定当前是否需要进行数据库集群主节点切换;在确定需要进行数据库集群主节点切换的情况下,根据选取策略从多个数据库集群备节点中选出数据库集群候选主节点;执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点。本发明通过实时判断数据库集群主节点的运行信息是否满足触发条件,当满足触发条件时,自动触发实现主备切换。通过实时检测以及自动切换这两个进程,保障了整个分布式集群的高可用性。
Description
技术领域
本发明涉及集群管控领域,具体地涉及一种数据库集群主节点切换方法、一种数据库集群主节点切换系统、一种管控平台以及一种计算机可读存储介质。
背景技术
在数据库集群领域中,关系型数据库主要通过主备双副本实现高可用方式,主库的实时数据通过wal日志同步到备库,当主实例异常时,通过pg_ctl promot命令执行主备切换,备库升级为主库,继续提供服务。
在现有集群主备切换技术中,通常存在运维步骤多,切换效率低的问题。
发明内容
为了解决上述技术缺陷,本发明提供数据库集群主节点切换方法、系统及管控平台,所述数据库集群主节点切换方法通过实时判断数据库主节点是否满足触发条件,以及当满足触发条件时自动触发主备切换,保证整个集群的高可用。
本发明第一个方面提供一种数据库集群主节点切换方法,包括:
实时获取数据库集群主节点的运行信息;
基于数据库集群主节点的运行信息,根据主节点切换触发条件确定当前是否需要进行数据库集群主节点切换;
在确定需要进行数据库集群主节点切换的情况下,根据选取策略从多个数据库集群备节点中选出数据库集群候选主节点;
执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点数据库集群主节点数据库集群主节点数据库集群主节点数据库集群主节点数据库集群主节点数据库集群候选主节点数据库集群候选主节点数据库集群主节点数据库集群候选主节点。
在本发明实施例中,所述数据库集群主节点的运行信息包括:用户指令、主节点心跳信息以及主节点状态信息。
在本发明实施例中,所述主节点切换触发条件包括多个触发子条件,多个触发子条件包括:
第一触发子条件:用户发出主备切换的用户指令;
第二触发子条件:在基于主节点心跳信息得到心跳丢失的次数超过第一预设阈值时,管控平台查询查询到的主节点状态信息为异常状态的次数超过第二预设阈值;
第三触发子条件:数据库集群主节点上报的主节点状态信息为异常状态的次数超过第二预设阈值;
当数据库集群主节点的运行信息满足主节点切换触发条件中的任意一个触发子条件时,确定当前需要进行数据库集群主节点切换。
在本发明实施例中,所述异常状态包括:数据库主节点无法ping通网络、数据库主节点主进程不存在以及数据库主节点无法写入。
在本发明实施例中,所述选取策略包括:
第一选取子策略:选取多个数据库集群备节点中恢复时间最短的数据库集群备节点为数据库集群候选主节点;
第二选取子策略:选取多个数据库集群备节点中执行事件最多的数据库集群备节点为数据库集群候选主节点;
第三选取子策略:选取多个数据库集群备节点中与数据库主节点相同地域、相同局域网络或相同平面的数据库集群备节点为数据库集群候选主节点;
其中,所述第一选取子策略的优先级大于第二选取子策略的优先级大于第三选取子策略的优先级。
在本发明实施例中,所述执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点,包括:
将数据库集群主节点的节点状态以及数据库集群候选主节点的节点状态更新为节点倒换状态;
锁定数据库集群主节点;
将数据库集群候选主节点的节点信息更新至管控平台中并存储;
采用promote的方式将数据库集群候选主节点升主处理,得到新的数据库集群主节点;将旧的数据库集群主节点降备处理,得到新的数据库集群备节点。
在本发明实施例中,所述方法还包括:
在得到新的数据库集群主节点后,修改数据库集群中所有节点的路由信息,并存储所述路由信息;
更新数据库集群中其他数据库集群备节点的指向配置文件;
在得到新的数据库集群备节点后,更新新的数据库集群备节点的节点状态;
解锁数据库集群主节点。
本发明第二个方面提供一种数据库集群主节点切换系统,包括:
获取模块,用于实时获取数据库集群主节点的运行信息;
判断模块,用于基于数据库集群主节点的运行信息,根据主节点切换触发条件确定当前是否需要进行数据库集群主节点切换;
选取模块,用于在确定需要进行数据库集群主节点切换的情况下,根据选取策略从多个数据库集群备节点中选出数据库集群候选主节点;
主备切换模块,用于执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点。
本发明第三个方面提供一种数据库管控平台,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在存储器中,并被配置为由处理器执行以实现如上所述的数据库集群主节点切换方法。
本发明第四个方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上所述的数据库集群主节点切换方法。
本发明通过实时判断数据库集群主节点的运行信息是否满足主节点切换触发条件,当满足主节点触发条件时,根据选取策略从多个数据库集群备节点中选出取数据库集群候选主节点,自动执行主备切换,通过实时判断是否满足触发条件能快速判断出主节点异常,当满足触发条件时,自动执行主备切换,快速更换处于异常状态的主节点;通过快速判断主节点异常以及快速切换主节点,解决了现有技术中主备切换运维步骤多,切换效率低的问题。数据库管控平台通过设置实时检测主节点异常状态是否触发条件以及自动切换主备节点这两个进程,即可实现数据库集群主节点的自动切换,保障了整个分布式集群的高可用性。
本发明技术方案的其它特征和优点将在下文的具体实施方式部分予以详细说明。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例提供的一种数据库集群主节点切换方法的流程图;
图2是本发明实施例提供的一种数据库集群主节点切换系统的结构框图。
具体实施方式
为了使本发明实施例中的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在实现本发明的过程中,发明人发现现有集群主备切换技术中,通常存在运维步骤多,切换效率低的问题。
针对上述问题,本发明实施例中提供了一种数据库集群主节点切换方法,包括:实时获取数据库集群主节点的运行信息;
基于数据库集群主节点的运行信息,根据主节点切换触发条件确定当前是否需要进行数据库集群主节点切换;
在确定需要进行数据库集群主节点切换的情况下,根据选取策略从多个数据库集群备节点中选出数据库集群候选主节点;
执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点。本发明通过实时判断数据库集群主节点的运行信息是否满足主节点切换触发条件,当满足主节点触发条件时,根据选取策略从多个数据库集群备节点中选出取数据库集群候选主节点,自动执行主备切换,通过实时判断是否满足触发条件能快速判断出主节点异常,当满足触发条件时,自动执行主备切换,快速更换处于异常状态的主节点;通过快速判断主节点异常以及快速切换主节点,解决了现有技术中主备切换运维步骤多,切换效率低的问题。数据库集群主节点通过实时检测以及自动切换这两个进程,保障了整个分布式集群的高可用性,降低RTO时间,提升数据库集群整体RTO效率。
图1是本发明实施例提供的一种数据库集群主节点切换方法的流程图。如图1所示,本实施例提供的一种数据库集群主节点切换方法,包括以下步骤:
S1.实时获取数据库集群主节点的运行信息;
S2.基于数据库集群主节点的运行信息,根据主节点切换触发条件确定当前是否需要进行数据库集群主节点切换;
S3.在确定需要进行数据库集群主节点切换的情况下,根据选取策略从多个数据库集群备节点中选出数据库集群候选主节点;
S4.执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点。
在步骤S1中,所述数据库集群主节点的运行信息包括用户指令、主节点心跳信息以及主节点状态信息。
在步骤S2中,所述主节点切换触发条件包括:
第一触发子条件:用户发出主备切换的用户指令;
第二触发子条件:在基于主节点心跳信息得到心跳丢失的次数超过第一预设阈值时,管控平台查询到的主节点状态信息为异常状态的次数超过第二预设阈值;
第三触发子条件:数据库集群主节点上报的主节点状态信息为异常状态的次数超过第二预设阈值;
当数据库集群主节点的运行信息满足主节点切换触发条件中的任意一个触发子条件时,管控平台控制数据库集群主节点触发主备切换动作。
当获取到用户指令,且用户指令具体为主备切换指令时,数据库集群主节点触发主备切换动作。管控平台接收数据库集群主节点的心跳信息,当接收到主节点心跳信息表示数据库集群主节点的心跳丢失超过第一预设阈值时,管控平台主动查询数据库集群主节点的主节点状态信息,当主节点状态信息为异常状态的次数超过第二预设阈值时,管控平台控制数据库集群主节点触发主备切换动作。当数据库集群主节点发生状态异常主动上报给管控平台时,上报异常状态的次数超过第二预设阈值时,管控平台控制数据库集群主节点触发主备切换动作。进一步的,所述异常状态包括:数据库主节点无法ping通网络、数据库主节点主进程不存在以及数据库主节点无法写入。第一预设阈值以及第二预设阈值均通过配置文件中设定,具体为配置文件中指定的重试次数。
在步骤S3中,所述选取策略包括:
第一选取子策略:选取多个数据库集群备节点中恢复时间最短的数据库集群备节点为数据库集群候选主节点;
第二选取子策略:选取多个数据库集群备节点中执行事件最多的数据库集群备节点为数据库集群候选主节点;
第三选取子策略:选取多个数据库集群备节点中与数据库主节点相同地域、相同局域网络或相同平面的数据库集群备节点为数据库集群候选主节点;
其中,所述第一选取子策略的优先级大于第二选取子策略的优先级大于第三选取子策略的优先级。
在步骤S4中,所述执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点,包括:
将数据库集群主节点的节点状态以及数据库集群候选主节点的节点状态更新为节点倒换状态;
锁定数据库集群主节点;
将数据库集群候选主节点的节点信息更新至管控平台中并存储;
采用promote的方式将数据库集群候选主节点升主处理,得到新的数据库集群主节点;将数据库集群主节点降备处理,得到新的数据库集群备节点。
在步骤S4中,在得到新的数据库集群主节点后,所述方法还包括:
修改数据库集群中所有节点的路由信息,并存储所述路由信息;
更新数据库集群中其他数据库集群备节点的指向配置文件;
在得到新的数据库集群备节点后,所述方法还包括:
更新新的数据库集群备节点的节点状态;
解锁数据库集群主节点。
在步骤S4中,所述方法还包括:在锁定数据库集群主节点后,停止数据库集群主节点。在锁定数据库集群主节点后,需要停止数据库集群主节点运行,以保证第一数据库直接点严重故障时也能切换成功。
在一具体实施例中,步骤S4的具体流程为:
1.更新对应的数据库集群主节点的节点状态以及数据库集群候选主节点主备节点状态为节点倒换状态。
2.锁定数据库集群主节点,如果锁定失败直接返回,进行下一步操作。
3.停止数据库集群主节点,如果失败直接返回,进行下一步操作。
4.将数据库集群候选主节点的节点信息更新至管控平台中并存储。更新管控平台内存中倒换节点所指向的新的数据库集群主节点以及其他节点流复制的信息。
5.采用promote的方式将数据库集群候选主节点升主处理。数据库节点采用promote的方式升主,如果使用了VIP,同时修改VIP挂载的实际ip和port为新主节点ip和port信息。
6.修改数据库集群中所有节点的路由信息,并存储所述路由信息。修改所有节点的路由信息,将数据库集群主节点的ip和port更改为新的数据库集群主节点的ip和port,同时将路由信息记录到ETCD中储存,各agent可以根据此记录补全刷新agent的local路由信息。
7.更新数据库集群中其他数据库集群备节点的指向配置文件。管控中心下发更新其他备机流复制指向配置文件(recovery.conf)。
8.更新新的数据库集群备节点的节点状态。将数据库集群主节点进行降备,即将其新增配置文件recovery.conf文件,并指向新的数据库集群主节点。
9.解锁数据库集群主节点。
图2是本发明实施例提供的一种数据库集群主节点切换系统的结构框图。如图2所示,本实施例提供的一种数据库集群主节点切换系统,包括:获取模块,用于实时获取数据库集群主节点的运行信息;判断模块,用于基于数据库集群主节点的运行信息,根据主节点切换触发条件确定当前是否需要进行数据库集群主节点切换;选取模块,用于在确定需要进行数据库集群主节点切换的情况下,根据选取策略从多个数据库集群备节点中选出数据库集群候选主节点;主备切换模块,用于执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点。
该数据库集群主节点切换系统通过数据库集群主节点切换方法实现主备节点切换,完成数据恢复及主节点故障转移。具体的,该数据库集群主节点切换方法如下:
S1.实时获取数据库集群主节点的运行信息;
S2.基于数据库集群主节点的运行信息,根据主节点切换触发条件确定当前是否需要进行数据库集群主节点切换;
S3.在确定需要进行数据库集群主节点切换的情况下,根据选取策略从多个数据库集群备节点中选出数据库集群候选主节点;
S4.执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点。
在步骤S1中,所述数据库集群主节点的运行信息包括用户指令、主节点心跳信息以及主节点状态信息。
在步骤S2中,所述主节点切换触发条件包括:
第一触发子条件:用户发出主备切换的用户指令;
第二触发子条件:在基于主节点心跳信息得到心跳丢失的次数超过第一预设阈值时,管控平台查询到的主节点状态信息为异常状态的次数超过第二预设阈值;
第三触发子条件:数据库集群主节点上报的主节点状态信息为异常状态的次数超过第二预设阈值;
当数据库集群主节点的运行信息满足主节点切换触发条件中的任意一个触发子条件时,管控平台控制数据库集群主节点触发主备切换动作。
当获取到用户指令,且用户指令具体为主备切换指令时,数据库集群主节点触发主备切换动作。管控平台接收数据库集群主节点的心跳信息,当接收到主节点心跳信息表示数据库集群主节点的心跳丢失超过第一预设阈值时,管控平台主动查询数据库集群主节点的主节点状态信息,当主节点状态信息为异常状态的次数超过第二预设阈值时,管控平台控制数据库集群主节点触发主备切换动作。当数据库集群主节点发生状态异常主动上报给管控平台时,上报异常状态的次数超过第二预设阈值时,管控平台控制数据库集群主节点触发主备切换动作。进一步的,所述异常状态包括:数据库主节点无法ping通网络、数据库主节点主进程不存在以及数据库主节点无法写入。第一预设阈值以及第二预设阈值均通过配置文件中设定,具体为配置文件中指定的重试次数。
在步骤S3中,所述选取策略包括:
第一选取子策略:选取多个数据库集群备节点中恢复时间最短的数据库集群备节点为数据库集群候选主节点;
第二选取子策略:选取多个数据库集群备节点中执行事件最多的数据库集群备节点为数据库集群候选主节点;
第三选取子策略:选取多个数据库集群备节点中与数据库主节点相同地域、相同局域网络或相同平面的数据库集群备节点为数据库集群候选主节点;
其中,所述第一选取子策略的优先级大于第二选取子策略的优先级大于第三选取子策略的优先级。
在步骤S4中,所述执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点,包括:
将数据库集群主节点的节点状态以及数据库集群候选主节点的节点状态更新为节点倒换状态;
锁定数据库集群主节点;
将数据库集群候选主节点的节点信息更新至管控平台中并存储;
采用promote的方式将数据库集群候选主节点升主处理,得到新的数据库集群主节点;将数据库集群主节点降备处理,得到新的数据库集群备节点。
在步骤S4中,在得到新的数据库集群主节点后,所述方法还包括:
修改数据库集群中所有节点的路由信息,并存储所述路由信息;
更新数据库集群中其他数据库集群备节点的指向配置文件;
在得到新的数据库集群备节点后,所述方法还包括:
更新新的数据库集群备节点的节点状态;
解锁数据库集群主节点。
在步骤S4中,所述方法还包括:在锁定数据库集群主节点后,停止数据库集群主节点。在锁定数据库集群主节点后,需要停止数据库集群主节点运行,以保证第一数据库直接点严重故障时也能切换成功。
在一具体实施例中,步骤S4的具体流程为:
1.更新对应的数据库集群主节点的节点状态以及数据库集群候选主节点主备节点状态为节点倒换状态。
2.锁定数据库集群主节点,如果锁定失败直接返回,进行下一步操作。
3.停止数据库集群主节点,如果失败直接返回,进行下一步操作。
4.将数据库集群候选主节点的节点信息更新至管控平台中并存储。更新管控平台内存中倒换节点所指向的新的数据库集群主节点以及其他节点流复制的信息。
5.采用promote的方式将数据库集群候选主节点升主处理。数据库节点采用promote的方式升主,如果使用了VIP,同时修改VIP挂载的实际ip和port为新主节点ip和port信息。
6.修改数据库集群中所有节点的路由信息,并存储所述路由信息。修改所有节点的路由信息,将数据库集群主节点的ip和port更改为新的数据库集群主节点的ip和port,同时将路由信息记录到ETCD中储存,各agent可以根据此记录补全刷新agent的local路由信息。
7.更新数据库集群中其他数据库集群备节点的指向配置文件。管控中心下发更新其他备机流复制指向配置文件(recovery.conf)。
8.更新新的数据库集群备节点的节点状态。将数据库集群主节点进行降备,即将其新增配置文件recovery.conf文件,并指向新的数据库集群主节点。
9.解锁数据库集群主节点。。
本实施例提供的数据库集群为CERDB数据库,数据库集群的元信息存储在Confdb中,由管控平台(以下简称Center)接受用户(以下简称DBA)从WeB界面对集群及其节点的操作,通过Agent与数据库节点会话和执行定时任务。集群状态信息和Confdb的状态信息选用了etcd来存储,etcd采用奇数节点部署(默认是3个),这样基于Raft算法的etcd自身实现了分布式强一致性,规避了单点故障导致的数据不一致。Center通过抢占etcd锁来选master,master负责仲裁CERDB的数据库节点主从切换。CERDB的数据库节点通过agent定期上报心跳和db状态到center。CERDB节点可以配置一主多从,主从切换完成后,主降备会加入原备机所在的平面。
本发明第三个方面提供一种数据库管控平台,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在存储器中,并被配置为由处理器执行以实现如上所述的数据库集群主节点切换方法。
本发明第四个方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上所述的数据库集群主节点切换方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据库集群主节点切换方法,其特征在于,包括:
实时获取数据库集群主节点的运行信息;
基于数据库集群主节点的运行信息,根据主节点切换触发条件确定当前是否需要进行数据库集群主节点切换;
在确定需要进行数据库集群主节点切换的情况下,根据选取策略从多个数据库集群备节点中选出数据库集群候选主节点;
执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点。
2.根据权利要求1所述的数据库集群主节点切换方法,其特征在于,所述数据库集群主节点的运行信息包括:用户指令、主节点心跳信息以及主节点状态信息。
3.根据权利要求2所述的数据库集群主节点切换方法,其特征在于,所述主节点切换触发条件包括多个触发子条件,多个触发子条件包括:
第一触发子条件:用户发出主备切换的用户指令;
第二触发子条件:在基于主节点心跳信息得到心跳丢失的次数超过第一预设阈值时,管控平台查询到的主节点状态信息为异常状态的次数超过第二预设阈值;
第三触发子条件:数据库集群主节点上报的主节点状态信息为异常状态的次数超过第二预设阈值;
当数据库集群主节点的运行信息满足主节点切换触发条件中的任意一个触发子条件时,确定当前需要进行数据库集群主节点切换。
4.根据权利要求3所述的数据库集群主节点切换方法,其特征在于,所述异常状态包括:数据库主节点无法ping通网络、数据库主节点主进程不存在以及数据库主节点无法写入。
5.根据权利要求1所述的数据库集群主节点切换方法,其特征在于,所述选取策略包括:
第一选取子策略:选取多个数据库集群备节点中恢复时间最短的数据库集群备节点为数据库集群候选主节点;
第二选取子策略:选取多个数据库集群备节点中执行事件最多的数据库集群备节点为数据库集群候选主节点;
第三选取子策略:选取多个数据库集群备节点中与数据库主节点相同地域、相同局域网络或相同平面的数据库集群备节点为数据库集群候选主节点;
其中,所述第一选取子策略的优先级大于第二选取子策略的优先级大于第三选取子策略的优先级。
6.根据权利要求1所述的数据库集群主节点切换方法,其特征在于,所述执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点,包括:
将数据库集群主节点的节点状态以及数据库集群候选主节点的节点状态更新为节点倒换状态;
锁定数据库集群主节点;
将数据库集群候选主节点的节点信息更新至管控平台中并存储;
将数据库集群候选主节点升主处理,得到新的数据库集群主节点,将旧的数据库集群主节点降备处理,得到新的数据库集群备节点。
7.根据权利要求6所述的数据库集群主节点切换方法,其特征在于,所述方法还包括:
在得到新的数据库集群主节点后,修改数据库集群中所有节点的路由信息,并存储所述路由信息;
更新数据库集群中其他数据库集群备节点的指向配置文件;
在得到新的数据库集群备节点后,更新新的数据库集群备节点的节点状态;
解锁数据库集群主节点。
8.一种数据库集群主节点切换系统,其特征在于,包括:
获取模块,用于实时获取数据库集群主节点的运行信息;
判断模块,用于基于数据库集群主节点的运行信息,根据主节点切换触发条件确定当前是否需要进行数据库集群主节点切换;
选取模块,用于在确定需要进行数据库集群主节点切换的情况下,根据选取策略从多个数据库集群备节点中选出数据库集群候选主节点;
主备切换模块,用于执行数据库集群主节点切换动作,将数据库集群候选主节点作为新的数据库集群主节点。
9.一种数据库管控平台,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在存储器中,并被配置为由处理器执行以实现权利要求1至权利要求7任一项所述的数据库集群主节点切换方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现权利要求1至权利要求7任一项所述的数据库集群主节点切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311016380.3A CN117271227A (zh) | 2023-08-11 | 2023-08-11 | 数据库集群主节点切换方法、系统及管控平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311016380.3A CN117271227A (zh) | 2023-08-11 | 2023-08-11 | 数据库集群主节点切换方法、系统及管控平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117271227A true CN117271227A (zh) | 2023-12-22 |
Family
ID=89201616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311016380.3A Pending CN117271227A (zh) | 2023-08-11 | 2023-08-11 | 数据库集群主节点切换方法、系统及管控平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271227A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118138588A (zh) * | 2024-05-08 | 2024-06-04 | 北京城建智控科技股份有限公司 | 云主机高可用系统和云平台 |
-
2023
- 2023-08-11 CN CN202311016380.3A patent/CN117271227A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118138588A (zh) * | 2024-05-08 | 2024-06-04 | 北京城建智控科技股份有限公司 | 云主机高可用系统和云平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017177941A1 (zh) | 主备数据库切换方法和装置 | |
CN109729129A (zh) | 存储集群的配置修改方法、存储集群及计算机系统 | |
WO2021136422A1 (zh) | 状态管理方法、主备应用服务器的切换方法及电子设备 | |
CN109726046B (zh) | 机房切换方法及切换装置 | |
US10038593B2 (en) | Method and system for recovering virtual network | |
CN106062717A (zh) | 一种分布式存储复制系统和方法 | |
JP2005209201A (ja) | 高可用性クラスタにおけるノード管理 | |
GB2484086A (en) | Reliability and performance modes in a distributed storage system | |
CN110532278B (zh) | 声明式的MySQL数据库系统高可用方法 | |
CN103795553A (zh) | 基于监控的主、备服务器切换 | |
US20130346790A1 (en) | Non-disruptive controller replacement in network storage systems | |
CN108183971B (zh) | 一种分布式系统中的节点选举方法 | |
TWI677797B (zh) | 主備資料庫的管理方法、系統及其設備 | |
CN108173971A (zh) | 一种基于主备切换的MooseFS高可用方法及系统 | |
CN117271227A (zh) | 数据库集群主节点切换方法、系统及管控平台 | |
CN112118130B (zh) | 自适应的分布式缓存主备状态信息切换方法及装置 | |
CN110611603B (zh) | 一种集群网卡监控方法及装置 | |
CN112434008A (zh) | 分布式数据库升级方法、设备及介质 | |
CN107046474B (zh) | 一种服务集群 | |
CN102301368B (zh) | 用于保持数据完整性的设备 | |
CN114328033A (zh) | 保持高可用设备组业务配置一致性的方法及装置 | |
CN104794026B (zh) | 一种集群实例多数据源绑定的故障转移方法 | |
CN116185697B (zh) | 容器集群管理方法、装置、系统、电子设备及存储介质 | |
CN111897626A (zh) | 一种面向云计算场景的虚拟机高可靠系统和实现方法 | |
CN107181608A (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 |