CN116260705B - 地理信息分布式集群故障处理方法、装置、介质及设备 - Google Patents
地理信息分布式集群故障处理方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN116260705B CN116260705B CN202211649412.9A CN202211649412A CN116260705B CN 116260705 B CN116260705 B CN 116260705B CN 202211649412 A CN202211649412 A CN 202211649412A CN 116260705 B CN116260705 B CN 116260705B
- Authority
- CN
- China
- Prior art keywords
- node equipment
- fault
- node
- heartbeat
- information
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供一种地理信息分布式集群故障处理方法,服务器获取分布式集群系统的心跳检测信息,服务器通过心跳检测信息实时获取分布式集群系统的节点设备连接状态,服务器若获取到的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接,采用分布式集群系统用于地理信息服务,以增加服务节点,其次规避单点故障问题,而在单点产生故障后,若获取的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接,从而保障分布式集群系统服务的持续性。
Description
技术领域
本发明属于分布式层次集群技术领域,尤其涉及一种地理信息分布式集群故障处理方法、装置、计算机设备及介质。
背景技术
随着地理信息技术应用于自然资源、生态环境、农业农村等领域,使得地理信息服务正面临着并发数激增(同时访问服务器站点的连接数)、系统响应及容量限制等因素挑战,用户对地理信息服务的数据可靠性、服务可用性和业务稳定性等要求越来越高。
目前地理信息技术的信息系统采用通常采用水平或垂直方向来扩展信息服务的高可用,而在实际的运行过程中,若其中一个设备或软件在使用的过程中发生故障或异常,由于信息系统采用通常采用水平或垂直方向来扩展信息服务的高可用,使得某个功能组件失灵,极易使得整个信息系统因为此时的故障问题而无法对外服务,导致单一的系统高可用并无法满足复杂的实际需求。
发明内容
针对上述现有技术的不足,本发明的目的在于提供一种地理信息分布式集群故障处理方法、装置、计算机设备及介质,以解决采用水平或垂直方向来扩展信息服务的过程中,由于其中一个设备或软件发送故障,而导致整个信息系统无法对外服务的问题。
本发明提供一种地理信息分布式集群故障处理方法,包括:
获取分布式集群系统的心跳检测信息,通过心跳检测信息实时获取分布式集群系统的节点设备连接状态;
若获取的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接。
在本发明的一实施例中,所述获取分布式集群系统的心跳检测信息的步骤包括:
每个节点设备周期性发送心跳包至检测主机,所述心跳包包括设备信息;
检测主机在一个周期T结束时统计未发送心跳包的节点设备,将未发送心跳包的节点设备标记为一级故障设备;
将存在一级故障设备的设备信息输出为心跳检测信息。
在本发明的一实施例中,所述每个节点设备周期性发送心跳包至检测主机,所述心跳包包括设备信息的步骤包括:
在所述节点设备的磁盘上存储有第二心跳数据块,所述第二心跳数据块包括心跳检测数据及数据日志,所述数据日志包括节点设备的主线程运行chenksum值;
所述节点设备每单位时间向备用节点设备push第二心跳数据块,所述备用节点设备读取第二心跳数据块的block,计算block的主线程运行checksum值,校验所述主线程运行checksum值与block初始值;
读取与节点设备连接的其他设备的block值;
将第二心跳数据块的数据日志及心跳包发送至检测主机。
在本发明的一实施例中,所述获取分布式集群系统的心跳检测信息的步骤包括:
向每个节点设备周期性发送心跳包;
在一个周期T结束时统计未发送心跳包的节点设备,将未发送心跳包的节点设备标记为二级故障设备;
将存在二级故障设备的设备信息输出为网络故障信息。
在本发明的一实施例中,所述将存在二级故障设备信息的设备信息输出为网络故障信息的步骤还包括:
获取网络故障信息的节点设备信息,所述节点设备信息包括节点设备的网络地址信息;
发送关闭连接命令至网络故障节点设备;
网络故障节点设备接收到关闭连接命令,并触发onClose事件,网络故障节点设备依据onClose命令调用reconnect命令,网络故障节点设备通过reconnect命令调用createWebSocket命令,网络故障节点设备依据createWebSocket命令创建WebSocket连接。
在本发明的一实施例中,所述网络故障节点设备接收到关闭连接命令,并触发onClose事件,节点设备依据onClose命令调用reconnect命令,节点设备通过reconnect命令调用createWebSocket命令,节点设备依据createWebSocket命令创建WebSocket连接的步骤还包括:
网络故障节点设备检测WebSocket连接;
若未检测到WebSocket连接,则调用reconnect命令。
在本发明的一实施例中,所述若获取的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接的步骤还包括:
获取原有的故障节点设备的网络连接结构;
生成投票机制命令,将投票机制命令发送至仲裁节点设备,所述仲裁节点设备执行投票机制命令,所述仲裁节点设备接收原有的故障节点设备的网络连接结构的备用节点投票详情信息;
所述仲裁节点设备自投票详情信息中筛选出票数最大值;
所述仲裁节点设备将票数最大值与票数阈值进行比对;
若票数最大值大于票数阈值,则将票数最大值对应的备用节点设备替换为原有的故障节点设备,并将票数最大值对应的备用节点设备与投票详情信息中其他备用节点设备进行关联;
若所述票数最大值未超过票数阈值,则进行下一轮投票。
本发明提供一种分布式集群故障处理装置,包括:
信息获取模块,用于获取分布式集群系统的心跳检测信息及分布式集群系统的节点设备连接状态;
判断模块,用于判断节点设备连接状态;
节点接入模块,用于将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接。
本发明提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述的方法。
本发明提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述的方法。
实施本发明实施例,将至少具有如下有益效果:
本发明提供一种地理信息分布式集群故障处理方法,服务器获取分布式集群系统的心跳检测信息,服务器通过心跳检测信息实时获取分布式集群系统的节点设备连接状态,服务器若获取到的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接,采用分布式集群系统用于地理信息服务,以增加服务节点,其次规避单点故障问题,而在单点产生故障后,若获取的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接,从而保障分布式集群系统服务的持续性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明地理信息分布式集群故障处理方法的实施例一中的流程图;
图2为本发明地理信息分布式集群故障处理方法的实施例二中的流程图;
图3为本发明地理信息分布式集群故障处理方法的实施例三中的流程图;
图4为本发明地理信息分布式集群故障处理方法的实施例四中的流程图;
图5为本发明分布式集群故障处理装置的结构框图;
图6为本发明计算机设备的结构框图。
图中:
分布式集群故障处理装置100、信息获取模块101、判断模块102、节点接入模块103、计算机设备200、处理器210、存储器220。
具体实施方式
为了使本领域的技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,当元件被称为“固定于”或“设置于”另一个部件上,它可以直接在另一个部件上或者间接设置在另一个部件上;当一个部件被称为是“连接于”另一个部件,它可以是直接连接到另一个部件或间接连接至另一个部件上。
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“
水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或部件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”、“若干个”的含义是两个或两个以上,除非另有明确具体的限定。
须知,本说明书附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本申请可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本申请所能产生的功效及所能达成的目的下,均应仍落在本申请所揭示的技术内容得能涵盖的范围内。
本发明提供一种地理信息分布式集群故障处理方法,包括:
获取分布式集群系统的心跳检测信息,通过心跳检测信息实时获取分布式集群系统的节点设备连接状态;
若获取的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接。
在本实施方式中,服务器获取分布式集群系统的心跳检测信息,服务器通过心跳检测信息实时获取分布式集群系统的节点设备连接状态,服务器若获取到的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接,采用分布式集群系统用于地理信息服务,以增加服务节点,其次规避单点故障问题,而在单点产生故障后,若获取的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接,从而保障分布式集群系统服务的持续性。
实施例一:
请参考图1,在本实施方式中,服务器获取分布式集群系统的心跳检测信息,服务器通过心跳检测信息实时获取分布式集群系统的节点设备连接状态,分布式集群系统的节点设备连接状态包括正常连接状态和断开连接状态,若获取的节点设备连接状态为断开连接状态则判断为故障状态,服务器将故障状态的节点设备的备用节点设备接入分布式集群系统,并将原有的故障节点设备断开连接,使得备用节点设备接入分布式集群系统替换原有的故障节点设备工作,以保证分布式集群系统服务的持续性,避免因为单点故障而造成地理信息系统无法进行对外服务。
具体的,心跳检测信息为检测两个连接设备间的节点健康程度,即网络通断情况、设备正常情况等;每个节点设备均存在至少一台备用节点设备。
在本发明的一实施例中,所述获取分布式集群系统的心跳检测信息的步骤包括:
每个节点设备周期性发送心跳包至检测主机,所述心跳包包括设备信息;
检测主机在一个周期T结束时统计未发送心跳包的节点设备,将未发送心跳包的节点设备标记为一级故障设备;
将存在一级故障设备的设备信息输出为心跳检测信息。
在本发明的一实施例中,所述每个节点设备周期性发送心跳包至检测主机,所述心跳包包括设备信息的步骤包括:
在所述节点设备的磁盘上存储有第二心跳数据块,所述第二心跳数据块包括心跳检测数据及数据日志,所述数据日志包括节点设备的主线程运行chenksum值;
所述节点设备每单位时间向备用节点设备push第二心跳数据块,所述备用节点设备读取第二心跳数据块的block,计算block的主线程运行checksum值,校验所述主线程运行checksum值与block初始值,
读取与节点设备连接的其他设备的block值;
将第二心跳数据块的数据日志及心跳包发送至检测主机。
实施例二:
请参考图2,在本实施方式中,在所述节点设备的磁盘上存储有第二心跳数据块,所述节点设备每单位时间向备用节点设备push第二心跳数据块,所述备用节点设备读取第二心跳数据块的block,计算block的主线程运行checksum值,所述备用节点校验checksum值与block初始值,备用节点设备读取与节点设备连接的其他设备的block值,备用节点设备将第二心跳数据块的数据日志及心跳包发送至检测主机,通过备用节点设备校验checksum值与block初始值,从而使得备用节点设备对节点设备进行心跳检测后,若节点设备存在宕机或无法工作的状态下,备用节点设备能够在心跳检测后即刻替换节点设备进行工作,而采用检测主机进行心跳检测,则需要检测主机再次将替换信号发送至备用节点设备上,再由备用节点设备替换节点设备接入网络结构中,使得时间间隔十分长,不利于快速对外进行服务。
更进一步的,所述获取分布式集群系统的心跳检测信息的步骤包括:
每个节点设备周期性发送心跳包至检测主机,所述心跳包包括设备信息;
检测主机在一个周期T结束时统计未发送心跳包的节点设备,将未发送心跳包的节点设备标记为一级故障设备;
将存在一级故障设备的设备信息输出为心跳检测信息。
在本发明的一实施例中,所述每个节点设备周期性发送心跳包至检测主机,所述心跳包包括设备信息的步骤包括:
在所述节点设备的磁盘上存储有第二心跳数据块,所述第二心跳数据块包括心跳检测数据及数据日志,所述数据日志包括节点设备的主线程运行chenksum值;
所述节点设备每单位时间向备用节点设备push第二心跳数据块,所述备用节点设备读取第二心跳数据块的block,计算block的主线程运行checksum值,校验所述主线程运行checksum值与block初始值,若主线程运行checksum值与block初始值不同,则备用节点设备返回pull第二心跳数据块并开始计算节点设备的阈值时长,若备用节点在阈值时长结束后仍未接收到与block初始值一致的主线程运行checksum值,则创建同步时间的备用线程运行chenksum值;
读取与节点设备连接的其他设备的block值;
将第二心跳数据块的数据日志及心跳包发送至检测主机。
请参考图2,在本实施方式中,在所述节点设备的磁盘上存储有第二心跳数据块,所述节点设备每单位时间向备用节点设备push第二心跳数据块,所述备用节点设备读取第二心跳数据块的block,计算block的主线程运行checksum值,所述备用节点校验checksum值与block初始值,若主线程运行checksum值与block初始值不同,则备用节点设备返回pull第二心跳数据块并开始计算节点设备的阈值时长,计算阈值时长的公式为:Timelength=new heartbeat.namenode.(recheck-interval)*5+heart.beat.interval*5,若用节点在阈值时长结束后仍未接收到与block初始值一致的主线程运行checksum值,则创建同步时间的备用线程运行chenksum值;备用节点设备读取与节点设备连接的其他设备的block值,备用节点设备将第二心跳数据块的数据日志及心跳包发送至检测主机,若主线程运行checksum值与block初始值不同,则备用节点设备返回pull第二心跳数据块并开始计算节点设备的阈值时长,从而调整心跳检测的时间,若主线程运行checksum值与block初始值不同,则备用节点设备返回pull第二心跳数据块并开始计算节点设备的阈值时长,使得可以根据校验所述主线程运行checksum值与block初始值,若主线程运行checksum值与block初始值不同,则备用节点设备返回pull第二心跳数据块并开始计算节点设备的阈值时长,根据主线程运行checksum值调整阈值时长,从而使得心跳检测更加精准。
若备用节点在阈值时长结束后仍未接收到与block初始值一致的主线程运行checksum值,则创建同步时间的备用线程运行chenksum值。
现有的心跳检测为固定时间段通过服务器的主机进行检测,无法根据主线程运行checksum值进行调整,若主线程运行负载过大,则主线程进行检测的时间会产生偏差,一旦主线程运行负载过大会使得主线程在检测的过程中,主节点心跳检测反馈的时间会产生延迟,导致检测时间会产生偏差,进而导致心跳检测的结果产生异常。
其次,若主线程运行负载过小的情况下,由于主线程运行负载过小,主线程运行速度快,可能存在两个周期时间内的心跳检测时间过长,一旦两个心跳检测时间过长,如果不及时进行调整的话,导致在两个周期的时间内后一个周期时间产生故障则无法更快的获取故障,由于上一个周期与下一个周期时间相同,使得心跳检测会产生延迟,导致心跳检测检测不准影响使用。
而本方案采用备用节点设备push第二心跳数据块,通过备用节点设备校验主线程运行checksum值与block值,若主线程运行checksum值与block初始值不同,则备用节点设备返回pull第二心跳数据块并开始计算节点设备的阈值时长,从而对阈值时间进行调整,以避免主线程运行负载过大而导致心跳检测的不准确,通过备用节点设备对主线程进行监控,动态调整心跳检测的阈值时长,使得心跳检测的精准度更高。
每个节点设备周期性发送心跳包至检测主机,检测主机在一个周期T结束时统计未发送心跳包的节点设备,检测主机将未发送心跳包的节点设备标记为一级故障设备,检测主机将标记出的所有一级故障设备输出为心跳检测信息。
一级故障设备为在一个周期T内未发送心跳包的节点设备,即判断为连接故障节点设备;心跳检测信息为所有未发送心跳包的节点设备信息。
周期T为人工预设的时间段;心跳检测数据为节点设备主线程运行状态;检测主机为检测服务器;chenksum值为校验和,用于接收到得校验节点设备block值数据项的和。
在本发明的一实施例中,所述获取分布式集群系统的心跳检测信息的步骤包括:
向每个节点设备周期性发送心跳包;
在一个周期T结束时统计未发送心跳包的节点设备,将未发送心跳包的节点设备标记为二级故障设备;
将存在二级故障设备的设备信息输出为网络故障信息。
在本发明的一实施例中,所述将存在二级故障设备信息的设备信息输出为网络故障信息的步骤还包括:
获取网络故障信息的节点设备信息,所述节点设备信息包括节点设备的网络地址信息;
发送关闭连接命令至网络故障节点设备;
网络故障节点设备接收到关闭连接命令,并触发onClose事件,网络故障节点设备依据onClose命令调用reconnect命令,网络故障节点设备通过reconnect命令调用createWebSocket命令,网络故障节点设备依据createWebSocket命令创建WebSocket连接。
在本发明的一实施例中,所述网络故障节点设备接收到关闭连接命令,并触发onClose事件,节点设备依据onClose命令调用reconnect命令,节点设备通过reconnect命令调用createWebSocket命令,节点设备依据createWebSocket命令创建WebSocket连接的步骤还包括:
网络故障节点设备检测WebSocket连接;
若未检测到WebSocket连接,则调用reconnect命令。
实施例三:
请参考图3,备用节点设备向每个节点设备周期性发送心跳包,备用节点设备在一个周期T结束时统计未发送心跳包的节点设备,备用节点设备将未发送心跳包的节点设备标记为二级故障设备,即将一个周期T结束时未发送心跳包的节点设备标记为二级故障设备,备用节点设备将二级故障设备的设备信息输出为网络故障信息。
备用节点设备获取网络故障信息的节点设备信息,备用节点设备发送关闭连接命令至网络故障节点设备,网络故障节点设备接收到关闭连接命令,网络故障节点设备触发onClose事件,网络故障节点设备通过reconnect命令调用createWebSocket命令,网络故障节点设备依据createWebSocket命令创建WebSocket连接,网络故障节点设备检测WebSocket连接,若未检测到WebSocket连接,则调用reconnect命令。即通过reconnect命令创建WebSocket连接,从而使备用节点设备与网络故障节点设备进行连接,若未检测到WebSocket连接,则调用reconnect命令进行重新连接,使得网络故障节点设备不断进行重连,直到网络故障节点设备连上整个网络结构,从而不断对网络故障节点设备进行重连,以解决节点设备的网络故障问题,排除因为网络故障而导致无法对外提供服务的问题。
更进一步的,若未检测到WebSocket连接,则调用reconnect命令,此时备用节点设备启动,接管节点设备的工作,代替节点设备接入网络结构中,使备用节点设备对外提供服务,避免因为网络故障而导致节点设备无法工作,此时系统无法对外提供服务。
其中,二级故障设备的设备信息包括二级故障设备的物理地址和网络地址;onClose事件为关闭事件。
在本发明的一实施例中,所述若获取的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接的步骤还包括:
获取原有的故障节点设备的网络连接结构;
生成投票机制命令,将投票机制命令发送至仲裁节点设备,所述仲裁节点设备执行投票机制命令,所述仲裁节点设备接收原有的故障节点设备的网络连接结构的备用节点投票详情信息;
所述仲裁节点设备自投票详情信息中筛选出票数最大值;
所述仲裁节点设备将票数最大值与票数阈值进行比对;
若票数最大值大于票数阈值,则将票数最大值对应的备用节点设备替换为原有的故障节点设备,并将票数最大值对应的备用节点设备与投票详情信息中其他备用节点设备进行关联;
若所述票数最大值未超过票数阈值,则进行下一轮投票。
实施例四:
请参考图4,服务器获取分布式集群系统的心跳检测信息,通过心跳检测信息实时获取分布式集群系统的节点设备连接状态,若获取的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接,然后服务器获取原有的故障节点设备的网络连接结构,服务器依据原有的故障节点设备断开信息生成投票机制命令,将投票机制命令发送至仲裁节点设备,仲裁节点设备执行投票机制命令,仲裁节点设备依据投票机制命令接收原有的故障节点设备的网络连接结构的备用节点投票详情信息,仲裁节点设备自投票详情信息中筛选出票数最大值,并将票数最大值与票数阈值进行比对,若票数最大值大于票数阈值,则将票数最大值对应的备用节点设备替换为原有的故障节点设备,并将票数最大值对应的备用节点设备与投票详情信息中其他备用节点设备进行关联;若所述票数最大值未超过票数阈值,则进行下一轮投票,直到票数最大值大于票数阈值,从而筛选出备用节点设备替代原有的故障节点设备,以使备用节点设备代替原有的故障节点设备进行工作,避免因为原有的故障节点设备无法工作,此时系统无法对外提供服务的问题。
需要说明的是,投票详情信息为统计各个备用节点设备的投票总计,即每个备用节点设备所对应的票数信息;票数阈值为人工设定的值。
本发明提供一种分布式集群故障处理装置100,包括:
信息获取模块101,用于获取分布式集群系统的心跳检测信息及分布式集群系统的节点设备连接状态;
判断模块102,用于判断节点设备连接状态;
节点接入模块103,用于将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接。
实施例五:
请参考图5,在本实施方式中,所述分布式集群故障处理装置100通过信息获取模块101获取分布式集群系统的心跳检测信息,然后分布式集群故障处理装置通过心跳检测信息实时获取分布式集群系统的节点设备连接状态;分布式集群故障处理装置的判断模块102对节点设备连接状态进行判断,若获取的节点设备连接状态为故障状态,则将分布式集群故障处理装置的节点接入模块103工作,将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接,以使备用节点设备代替原有的故障节点设备进行工作,避免因为原有的故障节点设备无法工作,此时系统无法对外提供服务的问题。
本发明提供一种计算机设备200,包括存储器220和处理器210,所述存储器220存储有计算机程序,所述计算机程序被所述处理器210执行时,使得所述处理器210执行如上述的方法。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
请参考图6,该计算机设备包括通过终端总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质有存储操作终端,还可有存储计算机程序,该计算机程序被处理器执行时,可使得处理器实现上述的地理信息分布式集群故障处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行上述的地理信息分布式集群故障处理方法。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述的方法。
本领域普通技术人员可以理解实现上述实施例系统中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各系统的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种地理信息分布式集群故障处理方法,其特征在于,包括:
获取分布式集群系统的心跳检测信息,通过心跳检测信息实时获取分布式集群系统的节点设备连接状态;所述获取分布式集群系统的心跳检测信息的步骤包括:每个节点设备周期性发送心跳包至检测主机,所述心跳包包括设备信息;检测主机在一个周期T结束时统计未发送心跳包的节点设备,将未发送心跳包的节点设备标记为一级故障设备;将存在一级故障设备的设备信息输出为心跳检测信息;
所述每个节点设备周期性发送心跳包至检测主机,所述心跳包包括设备信息的步骤包括:在所述节点设备的磁盘上存储有第二心跳数据块,所述第二心跳数据块包括心跳检测数据及数据日志,所述数据日志包括节点设备的主线程运行chenksum值;其中,所述chenksum值为校验和,用于接收到得校验节点设备block值数据项的和;所述节点设备每单位时间向备用节点设备push第二心跳数据块,所述备用节点设备读取第二心跳数据块的block,计算block的主线程运行checksum值,校验所述主线程运行checksum值与block初始值;读取与节点设备连接的其他设备的block值;将第二心跳数据块的数据日志及心跳包发送至检测主机;
若获取的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接。
2.根据权利要求1所述的地理信息分布式集群故障处理方法,其特征在于,所述获取分布式集群系统的心跳检测信息的步骤包括:
备用节点设备向每个节点设备周期性发送心跳包;
备用节点设备在一个周期T结束时统计未发送心跳包的节点设备,备用节点设备将未发送心跳包的节点设备标记为二级故障设备;即将一个周期T结束时未发送心跳包的节点设备标记为二级故障设备;
备用节点设备将存在二级故障设备的设备信息输出为网络故障信息。
3.根据权利要求2所述的地理信息分布式集群故障处理方法,其特征在于,所述将存在二级故障设备信息的设备信息输出为网络故障信息的步骤还包括:
获取网络故障信息的节点设备信息,所述节点设备信息包括节点设备的网络地址信息;
发送关闭连接命令至网络故障节点设备;
网络故障节点设备接收到关闭连接命令,并触发onClose事件,网络故障节点设备依据onClose命令调用reconnect命令,网络故障节点设备通过reconnect命令调用createWebSocket命令,网络故障节点设备依据createWebSocket命令创建WebSocket连接。
4.根据权利要求3所述的地理信息分布式集群故障处理方法,其特征在于,所述网络故障节点设备接收到关闭连接命令,并触发onClose事件,节点设备依据onClose命令调用reconnect命令,节点设备通过reconnect命令调用createWebSocket命令,节点设备依据createWebSocket命令创建WebSocket连接的步骤还包括:
网络故障节点设备检测WebSocket连接;
若未检测到WebSocket连接,则调用reconnect命令。
5.根据权利要求1所述的地理信息分布式集群故障处理方法,其特征在于,所述若获取的节点设备连接状态为故障状态,则将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接的步骤还包括:
获取原有的故障节点设备的网络连接结构;
生成投票机制命令,将投票机制命令发送至仲裁节点设备,所述仲裁节点设备执行投票机制命令,所述仲裁节点设备接收原有的故障节点设备的网络连接结构的备用节点投票详情信息;
所述仲裁节点设备自投票详情信息中筛选出票数最大值;
所述仲裁节点设备将票数最大值与票数阈值进行比对;
若票数最大值大于票数阈值,则将票数最大值对应的备用节点设备替换为原有的故障节点设备,并将票数最大值对应的备用节点设备与投票详情信息中其他备用节点设备进行关联;
若所述票数最大值未超过票数阈值,则进行下一轮投票。
6.一种分布式集群故障处理装置,其特征在于,包括:
信息获取模块,用于获取分布式集群系统的心跳检测信息及分布式集群系统的节点设备连接状态;所述获取分布式集群系统的心跳检测信息的步骤包括:每个节点设备周期性发送心跳包至检测主机,所述心跳包包括设备信息;检测主机在一个周期T结束时统计未发送心跳包的节点设备,将未发送心跳包的节点设备标记为一级故障设备;将存在一级故障设备的设备信息输出为心跳检测信息;
所述每个节点设备周期性发送心跳包至检测主机,所述心跳包包括设备信息的步骤包括:在所述节点设备的磁盘上存储有第二心跳数据块,所述第二心跳数据块包括心跳检测数据及数据日志,所述数据日志包括节点设备的主线程运行chenksum值;其中,所述chenksum值为校验和,用于接收到得校验节点设备block值数据项的和;所述节点设备每单位时间向备用节点设备push第二心跳数据块,所述备用节点设备读取第二心跳数据块的block,计算block的主线程运行checksum值,校验所述主线程运行checksum值与block初始值;读取与节点设备连接的其他设备的block值;将第二心跳数据块的数据日志及心跳包发送至检测主机;
判断模块,用于判断节点设备连接状态;
节点接入模块,用于将故障状态的节点设备的备用节点设备接入分布式集群系统并将原有的故障节点设备断开连接。
7.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-5中所述的方法。
8.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1-5中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211649412.9A CN116260705B (zh) | 2022-12-21 | 2022-12-21 | 地理信息分布式集群故障处理方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211649412.9A CN116260705B (zh) | 2022-12-21 | 2022-12-21 | 地理信息分布式集群故障处理方法、装置、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116260705A CN116260705A (zh) | 2023-06-13 |
CN116260705B true CN116260705B (zh) | 2023-09-15 |
Family
ID=86685355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211649412.9A Active CN116260705B (zh) | 2022-12-21 | 2022-12-21 | 地理信息分布式集群故障处理方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116260705B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106301853A (zh) * | 2015-06-05 | 2017-01-04 | 华为技术有限公司 | 集群系统中节点的故障检测方法和装置 |
CN114640705A (zh) * | 2022-04-22 | 2022-06-17 | 山东恒远智能科技有限公司 | 一种大规模物联终端心跳监控方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9836368B2 (en) * | 2015-10-22 | 2017-12-05 | Netapp, Inc. | Implementing automatic switchover |
-
2022
- 2022-12-21 CN CN202211649412.9A patent/CN116260705B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106301853A (zh) * | 2015-06-05 | 2017-01-04 | 华为技术有限公司 | 集群系统中节点的故障检测方法和装置 |
CN114640705A (zh) * | 2022-04-22 | 2022-06-17 | 山东恒远智能科技有限公司 | 一种大规模物联终端心跳监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116260705A (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200159633A1 (en) | Method and apparatus for backup communication | |
CN114064333A (zh) | 一种内存故障处理方法和装置 | |
WO2019127890A1 (zh) | 漏洞扫描方法、装置、计算机设备和存储介质 | |
CN105451260B (zh) | 网络请求方法、网络波动性衡量方法及装置 | |
CN108965383B (zh) | 文件同步方法、装置、计算机设备和存储介质 | |
WO2020220646A1 (zh) | 基于分布式存储系统的数据存储方法、存储节点及介质 | |
CN111339200A (zh) | 一种基于数据库同步的数据校验方法及数据校验系统 | |
CN106375150A (zh) | 服务器的断开控制方法及装置 | |
WO2021027777A1 (zh) | 终端可信性识别方法、装置、设备与计算机可读存储介质 | |
CN110336698A (zh) | 一种故障数据分析方法、服务器及存储介质 | |
CN110351313B (zh) | 数据缓存方法、装置、设备及存储介质 | |
CN106845820A (zh) | 一种基于性能裕量的nfv系统可靠性测评方法 | |
CN103995901B (zh) | 一种确定数据节点失效的方法 | |
CN110674149B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN116260705B (zh) | 地理信息分布式集群故障处理方法、装置、介质及设备 | |
CN109324961A (zh) | 系统自动测试方法、装置、计算机设备及存储介质 | |
CN106709053A (zh) | 数据切片管理方法及系统 | |
CN106302066A (zh) | 无主从通信方法及装置 | |
CN112650629A (zh) | 区块链索引数据恢复方法、装置、设备和计算机存储介质 | |
CN103731315A (zh) | 一种服务器故障检测方法 | |
CN109857344B (zh) | 基于共享内存的心跳状态判断方法、装置和计算机设备 | |
CN112463883A (zh) | 基于大数据同步平台的可靠性监控方法、装置、设备 | |
CN111240936A (zh) | 一种数据完整性校验的方法及设备 | |
CN113821414B (zh) | 一种服务器保护方法、装置、电子设备及存储介质 | |
CN112671590B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |