CN117909117A - 故障修复方法、装置、非易失性存储介质及计算机设备 - Google Patents
故障修复方法、装置、非易失性存储介质及计算机设备 Download PDFInfo
- Publication number
- CN117909117A CN117909117A CN202410077449.1A CN202410077449A CN117909117A CN 117909117 A CN117909117 A CN 117909117A CN 202410077449 A CN202410077449 A CN 202410077449A CN 117909117 A CN117909117 A CN 117909117A
- Authority
- CN
- China
- Prior art keywords
- node
- target node
- initial
- initial slave
- monitoring
- 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 56
- 238000012544 monitoring process Methods 0.000 claims abstract description 96
- 230000004044 response Effects 0.000 claims abstract description 80
- 230000036541 health Effects 0.000 claims abstract description 69
- 230000003862 health status Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 9
- 238000005067 remediation Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 230000002085 persistent effect Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 238000011084 recovery Methods 0.000 description 22
- 238000001514 detection method Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 6
- 230000002688 persistence Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000010076 replication Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Abstract
本发明公开了一种故障修复方法、装置、非易失性存储介质及计算机设备。其中,该方法包括:监测目标节点的健康状态,其中,目标节点为分布式数据库集群中的初始主节点,分布式数据库集群还包括初始从节点;在目标节点的健康状态为故障状态的情况下,将目标节点标记为不可用状态;发送切换请求信息至初始从节点的监测组件,其中,切换请求信息携带有描述目标节点为不可用状态的信息,初始从节点的监测组件用于监测初始从节点的健康状态;接收初始从节点返回的切换响应信息,根据切换响应信息将目标节点配置为新主节点的从节点,其中,新主节点从初始从节点中选举产生。本发明解决了分布式数据库集群中主节点出现故障导致服务不可用的技术问题。
Description
技术领域
本发明涉及系统运维领域,具体而言,涉及一种故障修复方法、装置、非易失性存储介质及计算机设备。
背景技术
分布式数据库集群的部署方案通常采用主从复制的方式,主从复制通过将主节点的数据复制到多个从节点实现读写分离和负载均衡,但主节点故障时需要手动切换,存在一定的延迟和数据一致性问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种故障修复方法、装置、非易失性存储介质及计算机设备,以至少解决分布式数据库集群中主节点出现故障导致服务不可用的技术问题。
根据本发明实施例的一个方面,提供了一种故障修复方法,包括:监测目标节点的健康状态,其中,所述目标节点为分布式数据库集群中的初始主节点,所述分布式数据库集群还包括与所述目标节点对应的初始从节点;在所述目标节点的健康状态为故障状态的情况下,将所述目标节点标记为不可用状态;发送切换请求信息至所述初始从节点的监测组件,其中,所述切换请求信息携带有描述所述目标节点为不可用状态的信息,所述初始从节点的监测组件用于监测所述初始从节点的健康状态;接收所述初始从节点返回的切换响应信息,根据所述切换响应信息将所述目标节点配置为新主节点的从节点,其中,所述新主节点从所述初始从节点中选举产生。
可选地,所述将所述目标节点标记为不可用状态之前,所述方法还包括:监测所述目标节点的网络连通响应状况和/或资源使用状况;在通过监测发现所述目标节点出现以下状况中的至少之一时,确定所述目标节点的健康状态为故障状态:所述网络连通响应状况为所述目标节点未在预定时间内响应,所述资源使用状况为所述目标节点的资源使用异常。
可选地,所述新主节点通过如下方式从所述初始从节点中选举产生:所述初始从节点的监测组件分别测试各自对应的初始从节点的以下选举条件:网络连通响应状况,数据一致性,资源使用状况,其中,所述数据一致性用于描述初始从节点中存储的数据与所述目标节点存储的数据的一致程度;根据所述初始从节点各自的选举条件,确定所述初始从节点中的每个节点在所述选举条件中各个选举条件下的第一排名;根据所述选举条件各自的权重值和所述第一排名,确定所述初始从节点各自对应的第二排名;根据所述第二排名,从所述初始从节点中确定所述新主节点。
可选地,所述方法还包括:将所述目标节点的数据持久化至所述分布式数据库集群之外的独立存储设备,其中,所述初始从节点的监测组件通过比较所述独立存储设备中存储的所述目标节点的数据与所述初始从节点中存储的数据确定所述初始从节点各自的数据一致性。
可选地,所述接收所述初始从节点返回的切换响应信息,根据所述切换响应信息将所述目标节点配置为新主节点的从节点,其中,所述新主节点从所述初始从节点中选举产生,包括:接收所述切换响应信息之后,监测所述目标节点的健康状态;在所述目标节点的健康状态从所述故障状态恢复为正常状态后,将所述目标节点配置为所述新主节点的从节点。
可选地,接收所述切换响应信息之后,监测所述目标节点的健康状态,包括:接收所述切换响应信息之后,监测所述目标节点的网络连通响应状况和/或资源使用状况;在所述网络连通响应状况和所述资源使用状况出现以下状况时,将所述目标节点的健康状态标记为存疑状态:所述网络连通响应状况为所述目标节点在预定时间内响应,所述资源使用状况为所述目标节点的资源使用正常;接收所述新主节点发送的更新数据,根据所述更新数据更新所述目标节点中的数据;监测所述目标节点中存储的数据与所述更新数据的一致程度,在所述目标节点中存储的数据与所述更新数据的一致程度大于一致性阈值的情况下,将所述目标节点的健康状态从所述存疑状态更新为正常状态。
可选地,所述方法还包括:获取所述目标节点的健康状态和所述初始从节点的健康状态;根据所述目标节点的健康状态和所述初始从节点的健康状态,确定所述目标节点和所述初始从节点中健康状态为正常状态的节点总数;在所述节点总数小于数量阈值的情况下,发出告警信息。
根据本发明实施例的另一方面,还提供了一种故障修复装置,包括:监测模块,用于监测目标节点的健康状态,其中,所述目标节点为分布式数据库集群中的初始主节点,所述分布式数据库集群还包括与所述目标节点对应的初始从节点;标记模块,用于在所述目标节点的健康状态为故障状态的情况下,将所述目标节点标记为不可用状态;发送模块,用于发送切换请求信息至所述初始从节点的监测组件,其中,所述切换请求信息携带有描述所述目标节点为不可用状态的信息,所述初始从节点的监测组件用于监测所述初始从节点的健康状态;配置模块,用于接收所述初始从节点返回的切换响应信息,根据所述切换响应信息将所述目标节点配置为新主节点的从节点,其中,所述新主节点从所述初始从节点中选举产生。
根据本发明实施例的又一方面,还提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述任意一项所述故障修复方法。
根据本发明实施例的再一方面,还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器用于存储程序,所述处理器用于运行所述存储器存储的程序,其中,所述程序运行时执行上述任意一项所述故障修复方法。
在本发明实施例中,通过监测目标节点的健康状态,其中,目标节点为分布式数据库集群中的初始主节点,分布式数据库集群还包括与目标节点对应的初始从节点;在目标节点的健康状态为故障状态的情况下,将目标节点标记为不可用状态;发送切换请求信息至初始从节点的监测组件,其中,切换请求信息携带有描述目标节点为不可用状态的信息,初始从节点的监测组件用于监测初始从节点的健康状态;接收初始从节点返回的切换响应信息,根据切换响应信息将目标节点配置为新主节点的从节点,其中,新主节点从初始从节点中选举产生,达到了及时发现故障主节点并将其替换掉的目的,从而实现了保障分布式数据库集群中主节点出现故障也不会影响系统正常运行的技术效果,进而解决了分布式数据库集群中主节点出现故障导致服务不可用的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现故障修复方法的计算机终端的硬件结构框图;
图2是根据本发明实施例提供的故障修复方法的流程示意图;
图3是根据本发明可选实施例提供的分布式数据库集群的节点拓扑结构示意图;
图4是根据本发明可选实施例提供的节点故障切换的流程示意图;
图5是根据本发明可选实施例提供的故障检测与恢复组件监测集群的示意图;
图6是根据本发明实施例提供的故障修复装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种故障修复的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现故障修复方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中采用处理器102a、处理器102b,……,处理器102n来示出)处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的故障修复方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的故障修复方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10的用户界面进行交互。
分布式数据库集群的部署方案通常采用主从复制的方式,主从复制通过将主节点的数据复制到多个从节点实现读写分离和负载均衡,但主节点故障时需要手动切换,存在一定的延迟和数据一致性问题。
图2是根据本发明实施例提供的故障修复方法的流程示意图,如图2所示,该方法包括如下步骤:
步骤S202,监测目标节点的健康状态,其中,目标节点为分布式数据库集群中的初始主节点,分布式数据库集群还包括与目标节点对应的初始从节点。
其中,分布式数据库集群可以为Redis,Redis是一种开源的高性能键值存储系统,被广泛应用于缓存、会话管理和消息队列等场景。然而,传统的单机Redis在面对高并发和大规模数据存储时存在性能瓶颈和单点故障的风险。本方法提供了一种高可用Redis集群部署方案,旨在解决传统方案中存在的问题。本发明的核心思想是利用Redis的Cluster模式和本发明提供的自动故障检测与恢复机制,实现高可用性和自动化的故障处理。需要说明的是,目标节点为初始主节点,初始从节点可以为目标节点的从节点,初始从节点可以从目标节点中复制数据。
可选地,检测目标节点的健康状态的工作可以由部署在目标节点上的故障检测与恢复组件完成。本发明可以在分布式数据库集群的各个节点上均部署故障检测与恢复组件,实现对节点状态的额外监控,及时获知各个节点的状态信息,尽快完成对节点故障的检测和恢复动作的执行,避免节点长时间宕机导致服务不可用。
图3是根据本发明可选实施例提供的分布式数据库集群的节点拓扑结构示意图,如图3所示,其中分布式数据库集群可以包括三个主节点和六个从节点,其中,每个节点都部署了故障检测与恢复组件、集群管理组件以及持久化组件。
步骤S204,在目标节点的健康状态为故障状态的情况下,将目标节点标记为不可用状态。
故障检测与恢复组件发现目标节点的健康状态出现问题之后,可以将目标节点标记为不可用状态,并将目标节点的状态传递给其他节点,例如可以传递给目标节点对应的初始从节点上的故障检测与恢复组件,初始从节点上的故障检测与恢复组件可以告知初始从节点停止从目标节点复制数据,以及控制初始从节点尽快执行恢复工作,选举出可以替代目标节点的新的主节点。
将目标节点标记为不可用状态之前,上述方法还包括如下步骤:监测目标节点的网络连通响应状况和/或资源使用状况;在通过监测发现目标节点出现以下状况中的至少之一时,确定目标节点的健康状态为故障状态:网络连通响应状况为目标节点未在预定时间内响应,资源使用状况为目标节点的资源使用异常。故障检测与恢复组件可以通过监测网络连通响应状况和/或资源使用状况,第一时间得知目标节点的健康状态,而不需要等待目标节点自身通过自监测来发现故障,使得对目标节点的健康状态的监测速率可以提升,尽快开启节点恢复工作,避免影响分布式数据库集群提供服务。
步骤S206,发送切换请求信息至初始从节点的监测组件,其中,切换请求信息携带有描述目标节点为不可用状态的信息,初始从节点的监测组件用于监测初始从节点的健康状态。其中,初始从节点的监测组件可以为上述的故障检测与恢复组件。
步骤S208,接收初始从节点返回的切换响应信息,根据切换响应信息将目标节点配置为新主节点的从节点,其中,新主节点从初始从节点中选举产生。通过主从节点的切换,可以在原来的集群中选举出新的主节点,原有的其他初始从节点与新的主节点建立主从关系,并正常为用户提供数据库服务,因此不会出现服务中断的现象,大大提高了用户体验。初始主节点可以先下线清洗恢复,待其恢复后,作为新主节点的从节点被重新配置到该集群中,保证该集群的总节点数目不会下降。
作为一种可选的实施例,接收初始从节点返回的切换响应信息,根据切换响应信息将目标节点配置为新主节点的从节点,其中,新主节点从初始从节点中选举产生,包括:接收切换响应信息之后,监测目标节点的健康状态;在目标节点的健康状态从故障状态恢复为正常状态后,将目标节点配置为新主节点的从节点。
图4是根据本发明可选实施例提供的节点故障切换的流程示意图,如图4所示,当初始主节点发生故障时,集群管理组件可以根据选举策略在集群中选择一个新的主节点,并将其他节点重新配置为新主节点的从节点。存在对应关系的主节点和从节点即为一个集群。
作为一种可选的实施例,接收切换响应信息之后,监测目标节点的健康状态,包括以下步骤:接收切换响应信息之后,监测目标节点的网络连通响应状况和/或资源使用状况;在网络连通响应状况和资源使用状况出现以下状况时,将目标节点的健康状态标记为存疑状态:网络连通响应状况为目标节点在预定时间内响应,资源使用状况为目标节点的资源使用正常;接收新主节点发送的更新数据,根据更新数据更新目标节点中的数据;监测目标节点中存储的数据与更新数据的一致程度,在目标节点中存储的数据与更新数据的一致程度大于一致性阈值的情况下,将目标节点的健康状态从存疑状态更新为正常状态。
目标节点的恢复过程可以包括上述可选实施例提供的多个阶段,由于新主节点和其他初始从节点已经可以为用户提供正常的分布式数据库集群的服务了,因此目标节点的恢复过程可以循序渐进,首先对目标节点进行重启恢复,然后监测目标节点之前出现的故障问题是否还是存在,例如监测目标节点的网络连通响应状况和/或资源使用状况。当目标节点之前出现的故障问题不存在之后,也不能保证目标节点一定是恢复正常了,因此先标记为存疑状态,等待进一步验证。之后,让目标节点执行从节点的常规任务,然后监测从节点是否能够正确完成从节点常规任务,如果可以的话,则证明目标节点的健康状态完全恢复正常,可以将其加入到原集群中作为一个从节点来执行工作了,如果不能完成从节点的常规任务,则对其再次进行重启恢复,并重新执行本可选实施例中给出恢复验证工作。
作为一种可选的实施例,上述方法还包括如下步骤:获取目标节点的健康状态和初始从节点的健康状态;根据目标节点的健康状态和初始从节点的健康状态,确定目标节点和初始从节点中健康状态为正常状态的节点总数;在节点总数小于数量阈值的情况下,发出告警信息。例如,可以规定一个集群中至少应该具有1个主节点和2个从节点,即总共3个节点,如果集群中的正常状态下的节点总数小于3个,那么发出告警信息,因为此时若再出现节点故障,那么该集群就无法维持服务了。
作为一种可选的实施例,新主节点通过如下方式从初始从节点中选举产生:初始从节点的监测组件分别测试各自对应的初始从节点的以下选举条件:网络连通响应状况,数据一致性,资源使用状况,其中,数据一致性用于描述初始从节点中存储的数据与目标节点存储的数据的一致程度;根据初始从节点各自的选举条件,确定初始从节点中的每个节点在选举条件中各个选举条件下的第一排名;根据选举条件各自的权重值和第一排名,确定初始从节点各自对应的第二排名;根据第二排名,从初始从节点中确定新主节点。
其中,每个节点对应于各个选举条件,可以存在多个第一排名,例如,一个节点可以在网络连通响应状况中排第一名,数据一致性中排第二名,资源使用状况中排第三名,排名越靠前表明其在该选举条件下的条件越好。若某个初始从节点在各项选举条件下的第一排名都是第一名,那么理所当然可以选举其为新主节点,但是这种情况比较少,因此可以基于本可选实施例,基于选举条件各自的权重值来确定初始从节点各自的第二排名,第二排名即为初始从节点之间的总排名,选举条件各自的权重值可以根据各个选举条件对应主节点执行功能的重要性来预先确定。根据选举条件各自的权重值和第一排名以确定初始从节点各自对应的第二排名时,可以先根据第一排名为多个初始从节点的选举条件进行赋分,初始从节点在第一排名越靠前的选举条件中得分越高,然后根据权重值和赋分,可以得到一个初始从节点对应的综合得分;比较各个初始从节点的综合得分,将多个初始从节点按照得分从高到低进行排名,即可得到多个初始从节点的第二排名。
作为一种可选的实施例,上述方法还包括:将目标节点的数据持久化至分布式数据库集群之外的独立存储设备,其中,初始从节点的监测组件通过比较独立存储设备中存储的目标节点的数据与初始从节点中存储的数据确定初始从节点各自的数据一致性。
上述步骤中,通过监测目标节点的健康状态,其中,目标节点为分布式数据库集群中的初始主节点,分布式数据库集群还包括与目标节点对应的初始从节点;在目标节点的健康状态为故障状态的情况下,将目标节点标记为不可用状态;发送切换请求信息至初始从节点的监测组件,其中,切换请求信息携带有描述目标节点为不可用状态的信息,初始从节点的监测组件用于监测初始从节点的健康状态;接收初始从节点返回的切换响应信息,根据切换响应信息将目标节点配置为新主节点的从节点,其中,新主节点从初始从节点中选举产生,达到了及时发现故障主节点并将其替换掉的目的,从而实现了保障分布式数据库集群中主节点出现故障也不会影响系统正常运行的技术效果,进而解决了分布式数据库集群中主节点出现故障导致服务不可用的技术问题。
图5是根据本发明可选实施例提供的故障检测与恢复组件监测集群的示意图,如图5所示,故障检测与恢复组件可以通过如下步骤收集节点的性能指标和状态信息,并根据预设的阈值进行实时监测,以及一旦超过阈值或发生异常,报警系统将发送报警信息给管理员,以便及时处理。
步骤一:集群拓扑规划
根据需求和负载情况,确定集群规模和节点数量,将Redis节点分布在多个物理或虚拟机上,形成一个具有高可用性和负载均衡的集群。
步骤二:故障检测与恢复机制
在每个节点上部署故障检测与恢复组件,用于监控节点的健康状态。当节点发生故障时,故障检测组件能够自动检测并将故障节点标记为不可用状态。
步骤三:自动故障切换
一旦节点被标记为不可用状态,集群管理组件将自动进行故障切换。该组件根据一定的选举策略选出新的主节点,并将其他从节点重新配置为从属于新主节点的副本。这样可以实现快速的故障恢复,减少服务中断时间。
步骤四:持久化机制
为了保证数据的持久性,采用持久化机制对Redis数据进行定期或实时备份。可以选择将备份数据存储在独立的存储设备上,以防止节点故障导致数据丢失。
步骤五:监控与报警系统
部署监控与报警系统,用于实时监测Redis集群的运行状态和性能指标。一旦发现异常或超过阈值,系统将及时发送报警信息,方便管理员及时处理。
本可选实施例可以提供如下技术效果:1、提供了一种高可用Redis集群部署方案,能够有效提高系统的可用性和性能。2、自动化的故障检测与恢复机制能够快速响应节点故障,减少服务中断时间。3、配备持久化机制,确保数据的持久性和可靠性。4、监控与报警系统能够实时监测集群的运行状态,提前预警并解决潜在问题。5、本发明的方案灵活可扩展,适用于不同规模和负载的应用场景。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的故障修复方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
根据本发明实施例,还提供了一种用于实施上述故障修复方法的故障修复装置,图6是根据本发明实施例提供的故障修复装置的结构框图,如图6所示,该故障修复装置包括:监测模块62,标记模块64,发送模块66和配置模块68,下面对该故障修复装置进行说明。
监测模块62,用于监测目标节点的健康状态,其中,目标节点为分布式数据库集群中的初始主节点,分布式数据库集群还包括与目标节点对应的初始从节点;
标记模块64,连接于上述监测模块62,用于在目标节点的健康状态为故障状态的情况下,将目标节点标记为不可用状态;
发送模块66,连接于上述标记模块64,用于发送切换请求信息至初始从节点的监测组件,其中,切换请求信息携带有描述目标节点为不可用状态的信息,初始从节点的监测组件用于监测初始从节点的健康状态;
配置模块68,连接于上述发送模块66,用于接收初始从节点返回的切换响应信息,根据切换响应信息将目标节点配置为新主节点的从节点,其中,新主节点从初始从节点中选举产生。
此处需要说明的是,上述监测模块62,标记模块64,发送模块66和配置模块68对应于实施例中的步骤S202至步骤S208,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例提供的计算机终端10中。
本发明的实施例可以提供一种计算机设备,可选地,在本实施例中,上述计算机设备可以位于计算机网络的多个网络设备中的至少一个网络设备。该计算机设备包括存储器和处理器。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的故障修复方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的故障修复方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:监测目标节点的健康状态,其中,目标节点为分布式数据库集群中的初始主节点,分布式数据库集群还包括与目标节点对应的初始从节点;在目标节点的健康状态为故障状态的情况下,将目标节点标记为不可用状态;发送切换请求信息至初始从节点的监测组件,其中,切换请求信息携带有描述目标节点为不可用状态的信息,初始从节点的监测组件用于监测初始从节点的健康状态;接收初始从节点返回的切换响应信息,根据切换响应信息将目标节点配置为新主节点的从节点,其中,新主节点从初始从节点中选举产生。
可选的,上述处理器还可以执行如下步骤的程序代码:将目标节点标记为不可用状态之前,方法还包括:监测目标节点的网络连通响应状况和/或资源使用状况;在通过监测发现目标节点出现以下状况中的至少之一时,确定目标节点的健康状态为故障状态:网络连通响应状况为目标节点未在预定时间内响应,资源使用状况为目标节点的资源使用异常。
可选的,上述处理器还可以执行如下步骤的程序代码:新主节点通过如下方式从初始从节点中选举产生:初始从节点的监测组件分别测试各自对应的初始从节点的以下选举条件:网络连通响应状况,数据一致性,资源使用状况,其中,数据一致性用于描述初始从节点中存储的数据与目标节点存储的数据的一致程度;根据初始从节点各自的选举条件,确定初始从节点中的每个节点在选举条件中各个选举条件下的第一排名;根据选举条件各自的权重值和第一排名,确定初始从节点各自对应的第二排名;根据第二排名,从初始从节点中确定新主节点。
可选的,上述处理器还可以执行如下步骤的程序代码:方法还包括:将目标节点的数据持久化至分布式数据库集群之外的独立存储设备,其中,初始从节点的监测组件通过比较独立存储设备中存储的目标节点的数据与初始从节点中存储的数据确定初始从节点各自的数据一致性。
可选的,上述处理器还可以执行如下步骤的程序代码:接收初始从节点返回的切换响应信息,根据切换响应信息将目标节点配置为新主节点的从节点,其中,新主节点从初始从节点中选举产生,包括:接收切换响应信息之后,监测目标节点的健康状态;在目标节点的健康状态从故障状态恢复为正常状态后,将目标节点配置为新主节点的从节点。
可选的,上述处理器还可以执行如下步骤的程序代码:接收切换响应信息之后,监测目标节点的健康状态,包括:接收切换响应信息之后,监测目标节点的网络连通响应状况和/或资源使用状况;在网络连通响应状况和资源使用状况出现以下状况时,将目标节点的健康状态标记为存疑状态:网络连通响应状况为目标节点在预定时间内响应,资源使用状况为目标节点的资源使用正常;接收新主节点发送的更新数据,根据更新数据更新目标节点中的数据;监测目标节点中存储的数据与更新数据的一致程度,在目标节点中存储的数据与更新数据的一致程度大于一致性阈值的情况下,将目标节点的健康状态从存疑状态更新为正常状态。
可选的,上述处理器还可以执行如下步骤的程序代码:获取目标节点的健康状态和初始从节点的健康状态;根据目标节点的健康状态和初始从节点的健康状态,确定目标节点和初始从节点中健康状态为正常状态的节点总数;在节点总数小于数量阈值的情况下,发出告警信息。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一非易失性存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种非易失性存储介质。可选地,在本实施例中,上述非易失性存储介质可以用于保存上述实施例所提供的故障修复方法所执行的程序代码。
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:监测目标节点的健康状态,其中,目标节点为分布式数据库集群中的初始主节点,分布式数据库集群还包括与目标节点对应的初始从节点;在目标节点的健康状态为故障状态的情况下,将目标节点标记为不可用状态;发送切换请求信息至初始从节点的监测组件,其中,切换请求信息携带有描述目标节点为不可用状态的信息,初始从节点的监测组件用于监测初始从节点的健康状态;接收初始从节点返回的切换响应信息,根据切换响应信息将目标节点配置为新主节点的从节点,其中,新主节点从初始从节点中选举产生。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:将目标节点标记为不可用状态之前,方法还包括:监测目标节点的网络连通响应状况和/或资源使用状况;在通过监测发现目标节点出现以下状况中的至少之一时,确定目标节点的健康状态为故障状态:网络连通响应状况为目标节点未在预定时间内响应,资源使用状况为目标节点的资源使用异常。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:新主节点通过如下方式从初始从节点中选举产生:初始从节点的监测组件分别测试各自对应的初始从节点的以下选举条件:网络连通响应状况,数据一致性,资源使用状况,其中,数据一致性用于描述初始从节点中存储的数据与目标节点存储的数据的一致程度;根据初始从节点各自的选举条件,确定初始从节点中的每个节点在选举条件中各个选举条件下的第一排名;根据选举条件各自的权重值和第一排名,确定初始从节点各自对应的第二排名;根据第二排名,从初始从节点中确定新主节点。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:将目标节点的数据持久化至分布式数据库集群之外的独立存储设备,其中,初始从节点的监测组件通过比较独立存储设备中存储的目标节点的数据与初始从节点中存储的数据确定初始从节点各自的数据一致性。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:接收初始从节点返回的切换响应信息,根据切换响应信息将目标节点配置为新主节点的从节点,其中,新主节点从初始从节点中选举产生,包括:接收切换响应信息之后,监测目标节点的健康状态;在目标节点的健康状态从故障状态恢复为正常状态后,将目标节点配置为新主节点的从节点。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:接收切换响应信息之后,监测目标节点的健康状态,包括:接收切换响应信息之后,监测目标节点的网络连通响应状况和/或资源使用状况;在网络连通响应状况和资源使用状况出现以下状况时,将目标节点的健康状态标记为存疑状态:网络连通响应状况为目标节点在预定时间内响应,资源使用状况为目标节点的资源使用正常;接收新主节点发送的更新数据,根据更新数据更新目标节点中的数据;监测目标节点中存储的数据与更新数据的一致程度,在目标节点中存储的数据与更新数据的一致程度大于一致性阈值的情况下,将目标节点的健康状态从存疑状态更新为正常状态。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:获取目标节点的健康状态和初始从节点的健康状态;根据目标节点的健康状态和初始从节点的健康状态,确定目标节点和初始从节点中健康状态为正常状态的节点总数;在节点总数小于数量阈值的情况下,发出告警信息。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种故障修复方法,其特征在于,包括:
监测目标节点的健康状态,其中,所述目标节点为分布式数据库集群中的初始主节点,所述分布式数据库集群还包括与所述目标节点对应的初始从节点;
在所述目标节点的健康状态为故障状态的情况下,将所述目标节点标记为不可用状态;
发送切换请求信息至所述初始从节点的监测组件,其中,所述切换请求信息携带有描述所述目标节点为不可用状态的信息,所述初始从节点的监测组件用于监测所述初始从节点的健康状态;
接收所述初始从节点返回的切换响应信息,根据所述切换响应信息将所述目标节点配置为新主节点的从节点,其中,所述新主节点从所述初始从节点中选举产生。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标节点标记为不可用状态之前,所述方法还包括:
监测所述目标节点的网络连通响应状况和/或资源使用状况;
在通过监测发现所述目标节点出现以下状况中的至少之一时,确定所述目标节点的健康状态为故障状态:所述网络连通响应状况为所述目标节点未在预定时间内响应,所述资源使用状况为所述目标节点的资源使用异常。
3.根据权利要求1所述的方法,其特征在于,所述新主节点通过如下方式从所述初始从节点中选举产生:
所述初始从节点的监测组件分别测试各自对应的初始从节点的以下选举条件:网络连通响应状况,数据一致性,资源使用状况,其中,所述数据一致性用于描述初始从节点中存储的数据与所述目标节点存储的数据的一致程度;
根据所述初始从节点各自的选举条件,确定所述初始从节点中的每个节点在所述选举条件中各个选举条件下的第一排名;
根据所述选举条件各自的权重值和所述第一排名,确定所述初始从节点各自对应的第二排名;
根据所述第二排名,从所述初始从节点中确定所述新主节点。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:将所述目标节点的数据持久化至所述分布式数据库集群之外的独立存储设备,其中,所述初始从节点的监测组件通过比较所述独立存储设备中存储的所述目标节点的数据与所述初始从节点中存储的数据确定所述初始从节点各自的数据一致性。
5.根据权利要求1所述的方法,其特征在于,所述接收所述初始从节点返回的切换响应信息,根据所述切换响应信息将所述目标节点配置为新主节点的从节点,其中,所述新主节点从所述初始从节点中选举产生,包括:
接收所述切换响应信息之后,监测所述目标节点的健康状态;
在所述目标节点的健康状态从所述故障状态恢复为正常状态后,将所述目标节点配置为所述新主节点的从节点。
6.根据权利要求5所述的方法,其特征在于,接收所述切换响应信息之后,监测所述目标节点的健康状态,包括:
接收所述切换响应信息之后,监测所述目标节点的网络连通响应状况和/或资源使用状况;
在所述网络连通响应状况和所述资源使用状况出现以下状况时,将所述目标节点的健康状态标记为存疑状态:所述网络连通响应状况为所述目标节点在预定时间内响应,所述资源使用状况为所述目标节点的资源使用正常;
接收所述新主节点发送的更新数据,根据所述更新数据更新所述目标节点中的数据;
监测所述目标节点中存储的数据与所述更新数据的一致程度,在所述目标节点中存储的数据与所述更新数据的一致程度大于一致性阈值的情况下,将所述目标节点的健康状态从所述存疑状态更新为正常状态。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述方法还包括:
获取所述目标节点的健康状态和所述初始从节点的健康状态;
根据所述目标节点的健康状态和所述初始从节点的健康状态,确定所述目标节点和所述初始从节点中健康状态为正常状态的节点总数;
在所述节点总数小于数量阈值的情况下,发出告警信息。
8.一种故障修复装置,其特征在于,包括:
监测模块,用于监测目标节点的健康状态,其中,所述目标节点为分布式数据库集群中的初始主节点,所述分布式数据库集群还包括与所述目标节点对应的初始从节点;
标记模块,用于在所述目标节点的健康状态为故障状态的情况下,将所述目标节点标记为不可用状态;
发送模块,用于发送切换请求信息至所述初始从节点的监测组件,其中,所述切换请求信息携带有描述所述目标节点为不可用状态的信息,所述初始从节点的监测组件用于监测所述初始从节点的健康状态;
配置模块,用于接收所述初始从节点返回的切换响应信息,根据所述切换响应信息将所述目标节点配置为新主节点的从节点,其中,所述新主节点从所述初始从节点中选举产生。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述故障修复方法。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器用于存储程序,所述处理器用于运行所述存储器存储的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述故障修复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410077449.1A CN117909117A (zh) | 2024-01-18 | 2024-01-18 | 故障修复方法、装置、非易失性存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410077449.1A CN117909117A (zh) | 2024-01-18 | 2024-01-18 | 故障修复方法、装置、非易失性存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117909117A true CN117909117A (zh) | 2024-04-19 |
Family
ID=90683552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410077449.1A Pending CN117909117A (zh) | 2024-01-18 | 2024-01-18 | 故障修复方法、装置、非易失性存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117909117A (zh) |
-
2024
- 2024-01-18 CN CN202410077449.1A patent/CN117909117A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10592330B2 (en) | Systems and methods for automatic replacement and repair of communications network devices | |
CN109495312B (zh) | 基于仲裁盘和双链路的高可用集群的实现方法和系统 | |
JP2003114811A (ja) | 自動障害復旧方法及びシステム並びに装置とプログラム | |
JP7341244B2 (ja) | クラスタ管理方法、装置、およびシステム | |
CN104036043A (zh) | 一种mysql高可用的方法及管理节点 | |
CN103490914A (zh) | 一种网络应用设备多机热备的切换系统及方法 | |
JP2006134164A (ja) | ストレージシステムの管理方法 | |
CN111897697A (zh) | 服务器硬件故障修复方法和装置 | |
CN108243031B (zh) | 一种双机热备的实现方法及装置 | |
CN106878096B (zh) | Vnf状态检测通告方法、装置以及系统 | |
CN111309515B (zh) | 一种容灾控制方法、装置及系统 | |
CN117909117A (zh) | 故障修复方法、装置、非易失性存储介质及计算机设备 | |
CN112269693B (zh) | 一种节点自协调方法、装置和计算机可读存储介质 | |
CN116668269A (zh) | 一种用于双活数据中心的仲裁方法、装置及系统 | |
CN110287066B (zh) | 一种服务器分区迁移方法及相关装置 | |
CN107783855B (zh) | 虚拟网元的故障自愈控制装置及方法 | |
CN112564968B (zh) | 故障处理方法、装置及存储介质 | |
CN115499296B (zh) | 一种云桌面热备管理方法、装置及系统 | |
CN116506327B (zh) | 物理节点监测方法、装置、计算机设备及存储介质 | |
CN110955556B (zh) | 数据库恢复方法及装置、存储介质、数据库系统 | |
CN117632559A (zh) | 故障磁盘修复方法、装置、存储介质及电子设备 | |
CN117714276A (zh) | Redis集群部署方法、装置、存储介质和电子设备 | |
Yen-Jen et al. | Implementation of a High Available Database on Virtualizing Cloud Platform | |
CN116893833A (zh) | 远程升级复杂可编程逻辑器件操作系统、方法及介质 | |
CN116126457A (zh) | 容器迁移方法和服务器集群 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |