一种实现高可用自我保护机制的方法及系统技术方案

技术编号:23890208 阅读:39 留言:0更新日期:2020-04-22 06:09
本发明专利技术公开了一种实现高可用自我保护机制的系统及方法,所述方法包括如下步骤:步骤S1,于主备服务器均设置高可用自我保护机制的守护进程,该守护进程一直保持运行,该守护进程启动之后监听端口,用于主服务器守护进程与备服务器高可用进程之间建立心跳线;步骤S2,所述主服务器的守护进程于接收到来自备服务器发送的请求以查看本机的高可用进程数据是否正常时,检测本机应用高可用的进程是否存在,输出检查结果,并返回消息至所述备服务器;步骤S3,所述备服务器通过判断与所述主服务器上的守护进程的心跳交互来确定主备服务器之间的网络通讯是否正常,以确定是否对主服务器进行接管。

A method and system to realize high availability self-protection mechanism

【技术实现步骤摘要】
一种实现高可用自我保护机制的方法及系统
本专利技术涉及计算机数据备份容灾
,特别是涉及一种实现高可用自我保护机制的方法及系统。
技术介绍
高可用,即highavailability,是对下层组件提供了容灾的机制。当组件主节点发生故障时,能够快速地、自动地将服务切换到备节点上,从而实现业务的连续性。如图1所示,目前的高可用主要由一台主服务器10和备服务器20组成,主备服务器之间高可用进程通过网络来进行信息交互,如图1所示,当主服务器10的应用高可用进程出现卡死或者崩溃退出的情况时,并且主服务器10的网络以及机器运转都正常,此时备服务器20发现与主服务器10高可用进程之间的通讯失败,由此判断主服务器10出现故障,从而备服务器20准备进行接管主服务器10,替代主服务器10提供服务。但是这种情况是由于应用高可用软件本身出现问题导致的,主服务器10此时实质上依旧在正常对外提供服务,无需切换备服务器工作,这种情况下的意外切换则是要尽量避免出现的。
技术实现思路
为克服上述现有技术存在的不足,本专利技术之目的在于提供一种实现高可用自我保护机制的方法及系统,以在主服务器应用高可用软件本身出现问题的时候,保证备服务器不出现意外接管的情况。为达上述目的,本专利技术提出一种实现高可用自我保护机制的系统,包括:主服务器,配置高可用自我保护机制的守护进程,与备服务器上的高可用进程保持心跳信息交互,所述主服务器的守护进程于接收到来自备服务器发送的请求以查看本机的高可用进程数据是否正常时,检测本机应用高可用的进程是否存在,输出检查结果,并返回消息至备服务器;备服务器,配置高可用自我保护机制的守护进程,当所述备服务器的高可用进程与所述主服务器的高可用进程之间通讯异常,通过判断其高可用进程与主服务器上的守护进程的心跳交互来确定主备服务器之间的网络通讯是否正常,以确定是否对所述主服务器进行接管。优选地,主备服务器上的守护进程一直保持运行,所述守护进程只有通过停止服务和关机才能停止,所述守护进程启动之后监听端口,用于主服务器守护进程与备服务器高可用进程之间建立心跳线。优选地,若判断结果为主备服务器之间的网络通讯正常,所述备服务器则不进行接管主服务器的行为,若判断结果为主备服务器之间的网络通讯异常,所述备服务器则进行接管行为,由所述备服务器接管所述主服务器提供对外服务。优选地,当所述主服务器的高可用进程正常时,所述主服务器与备服务器之间的心跳线未断开,所述备服务器一直向主服务器的守护进程发送表示主备服务器高可用进程心跳线连接正常的消息,所述主服务器收到该类型的消息之后,则返回表示收到所述备服务器的心跳消息给所述备服务器,所述备服务器收到消息之后,则无需考虑进行接管行为。优选地,当所述主服务器的高可用进程出现异常时,主备服务器双方的高可用进程之间的心跳线断开,所述备服务器的高可用进程判断与所述主服务器的高可用进程之间的心跳彻底断开时,通过与所述主服务器上的守护进程心跳交互来确定是否进行接管。优选地,所述备服务器的高可用进程在与主服务器的高可用进程的心跳连接达到心跳检测最大失败次数时,确定其高可用进程与所述主服务器的高可用进程之间的心跳断开。优选地,所述备服务器的高可用进程向所述主服务器的守护进程发送信息,并对发送信息的次数进行计数,所述备服务器根据计数结果判断所述备服务器与所述主服务器守护进程之间的心跳线是否断开。优选地,所述备服务器的高可用进程向所述主服务器的守护进程发送信息,并对发送信息的次数进行计数,初始值为1,每发送一次将计数进行加一;当备服务器收到来自主服务器守护进程返回的心跳信息时,将计数置为0,此时表示心跳连接是否正常的变量E置为true,否则判断所述备服务器与主服务器守护进程之间的心跳线断开,将表示心跳连接是否正常的变量E置为false,根据表示心跳连接是否正常的变量E的值来决定是否接管主服务器。优选地,当计数除以N得到的余数等于0的时候,表示发送N-1次交互信息没有得到返回,此时判断所述备服务器与主服务器守护进程之间的心跳线断开,将表示心跳连接是否正常的变量E置为false。为达到上述目的,本专利技术还提供一种实现高可用自我保护机制的方法,包括如下步骤:步骤S1,于主备服务器均设置高可用自我保护机制的守护进程,该守护进程一直保持运行,该守护进程启动之后监听端口,用于主服务器守护进程与备服务器高可用进程之间建立心跳线;步骤S2,所述主服务器的守护进程于接收到来自备服务器发送的请求以查看本机的高可用进程数据是否正常时,检测本机应用高可用的进程是否存在,输出检查结果,并返回消息至所述备服务器;步骤S3,所述备服务器通过判断与所述主服务器上的守护进程的心跳交互来确定主备服务器之间的网络通讯是否正常,以确定是否对主服务器进行接管。与现有技术相比,本专利技术一种实现高可用自我保护机制的系统及方法通过于主备服务器均设置高可用自我保护机制的守护进程,该守护进程一直保持运行,于启动之后监听端口,于主备服务器之间建立心跳线,当所述主服务器的守护进程于接收到来自备服务器发送的请求以查看本机的高可用进程数据是否正常时,检测本机应用高可用的进程是否存在,输出检查结果,并返回消息至所述备服务器,最后由所述备服务器通过判断与所述主服务器上的守护进程的心跳交互来确定主备服务器之间的网络通讯是否正常,以确定是否对主服务器进行接管,实现在主服务器应用高可用软件本身出现问题的时候,保证备服务器不出现意外接管情况的目的。附图说明图1为现有技术的高可用性架构图;图2为本专利技术一种实现高可用自我保护机制的系统的系统架构图;图3为本专利技术具体实施例的系统架构图;图4为本专利技术具体实施例备服务器的接管判断过程示意图;图5为本专利技术一种实现高可用自我保护机制的方法的步骤流程图;图6为本专利技术具体实施例中主备服务器之间高可用进程心跳线断开时备服务器的处理流程图。具体实施方式以下通过特定的具体实例并结合附图说明本专利技术的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本专利技术的其它优点与功效。本专利技术亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本专利技术的精神下进行各种修饰与变更。图2为本专利技术一种实现高可用自我保护机制的系统的系统架构图。如图2所示,本专利技术一种实现高可用自我保护机制的系统,包括:主服务器10,配置高可用自我保护机制的守护进程,与备服务器20上的高可用进程保持心跳信息交互,所述主服务器10的守护进程于接收到来自备服务器20发送的请求以查看本机的高可用进程数据是否正常时,检测本机应用高可用的进程是否存在,若检测结果为高可用进程不存在,则打印告警日志信息,说明进程已经退出,同时返回相应的消息给备服务器;若检测结果为高可用进程存在,则打印告警信息说明进程异常,同时返回相应的消息给备服务器。这里需说明的是,与现有技术相同,主备服务器的高可本文档来自技高网...

【技术保护点】
1.一种实现高可用自我保护机制的系统,包括:/n主服务器,配置高可用自我保护机制的守护进程,与备服务器上的高可用进程保持心跳信息交互,所述主服务器的守护进程于接收到来自备服务器发送的请求以查看本机的高可用进程数据是否正常时,检测本机应用高可用的进程是否存在,输出检查结果,并返回消息至备服务器;/n备服务器,配置高可用自我保护机制的守护进程,当所述备服务器的高可用进程与所述主服务器的高可用进程之间通讯异常,所述备服务器通过判断其高可用进程与主服务器上的守护进程的心跳交互来确定主备服务器之间的网络通讯是否正常,以确定是否对所述主服务器进行接管。/n

【技术特征摘要】
1.一种实现高可用自我保护机制的系统,包括:
主服务器,配置高可用自我保护机制的守护进程,与备服务器上的高可用进程保持心跳信息交互,所述主服务器的守护进程于接收到来自备服务器发送的请求以查看本机的高可用进程数据是否正常时,检测本机应用高可用的进程是否存在,输出检查结果,并返回消息至备服务器;
备服务器,配置高可用自我保护机制的守护进程,当所述备服务器的高可用进程与所述主服务器的高可用进程之间通讯异常,所述备服务器通过判断其高可用进程与主服务器上的守护进程的心跳交互来确定主备服务器之间的网络通讯是否正常,以确定是否对所述主服务器进行接管。


2.如权利要求1所述的一种实现高可用自我保护机制的系统,其特征在于:主备服务器上的守护进程一直保持运行,所述守护进程只有通过停止服务和关机才能停止,所述守护进程启动之后监听端口,用于主服务器守护进程与备服务器高可用进程之间建立心跳线。


3.如权利要求1所述的一种实现高可用自我保护机制的系统,其特征在于:若判断结果为主备服务器之间的网络通讯正常,所述备服务器则不进行接管主服务器的行为,若判断结果为主备服务器之间的网络通讯异常,所述备服务器则进行接管行为,由所述备服务器接管所述主服务器提供对外服务。


4.如权利要求3所述的一种实现高可用自我保护机制的系统,其特征在于:当所述主服务器的高可用进程正常时,所述主服务器与备服务器之间的心跳线未断开,所述备服务器一直向主服务器的守护进程发送表示主备服务器高可用进程心跳线连接正常的消息,所述主服务器收到该类型的消息之后,则返回表示收到所述备服务器的心跳消息给所述备服务器,所述备服务器收到消息之后,则无需考虑进行接管行为。


5.如权利要求3所述的一种实现高可用自我保护机制的系统,其特征在于:当所述主服务器的高可用进程出现异常时,主备服务器双方的高可用进程之间的心跳线断开,所述备服务器的高可用进程判断与所述主服务器的高可用进程之间的心跳彻底断开时,通过与所述主服务器上的守护进程心跳交互来确定是否进行接管。

<...

【专利技术属性】
技术研发人员:唐山陈勇铨贾鑫鑫甘磊连恒
申请(专利权)人:上海英方软件股份有限公司
类型:发明
国别省市:上海;31

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

1