CN114817908A - 一种双机热备软件的自我隔离方法、系统、终端及介质 - Google Patents

一种双机热备软件的自我隔离方法、系统、终端及介质 Download PDF

Info

Publication number
CN114817908A
CN114817908A CN202210403749.5A CN202210403749A CN114817908A CN 114817908 A CN114817908 A CN 114817908A CN 202210403749 A CN202210403749 A CN 202210403749A CN 114817908 A CN114817908 A CN 114817908A
Authority
CN
China
Prior art keywords
self
isolation
node
standby
active node
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
Application number
CN202210403749.5A
Other languages
English (en)
Inventor
段武杰
钟彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Linx Technology Co ltd
Original Assignee
Beijing Linx Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Linx Technology Co ltd filed Critical Beijing Linx Technology Co ltd
Priority to CN202210403749.5A priority Critical patent/CN114817908A/zh
Publication of CN114817908A publication Critical patent/CN114817908A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请涉及一种双机热备软件的自我隔离方法、系统、终端及介质,所述方法包括以下步骤:当所述活动节点执行目标任务时,获取所述活动节点上的检测参数,对所述检测参数进行分析,得到分析结果;当所述分析结果为所述检测参数异常时,通过所述活动节点生成自我隔离信号,并将所述自我隔离信号发送至所述备用节点;基于所述自我隔离信号进行所述活动节点的自我隔离操作;基于所述自我隔离信号或者预设的启动条件启用所述备用节点,通过所述备用节点继续执行所述目标任务。本申请具有在不损坏服务器文件的条件下,提高隔离可靠性的效果。

Description

一种双机热备软件的自我隔离方法、系统、终端及介质
技术领域
本申请涉及双机热备的技术领域,尤其是涉及一种双机热备软件的自我隔离方法、系统、终端及介质。
背景技术
高可用性HA(Highly Available)集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,分为活动节点及备用节点。通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点节点。双机热备是高可用性集群的一种应用形式,该集群只有两个节点,一个是活动节点,另一个是备用节点。
当活动节点出现故障宕机时,需要将业务迁移到备用节点上运行。正常来讲,当双机热备探测到活动节点故障时,备用节点需要确保活动节点上的业务已停止,才能将业务转移到备用节点上运行。双机热备发指令将故障的活动节点重启(或关闭),强制将故障活动节点上的业务停止,并将资源释放的操作叫“隔离”。
目前,常用的隔离方法包括硬件隔离和软件隔离,硬件隔离可以通过服务器的BMC(Baseboard Management Controller, 板基管理控制器)模块,或者是第三方智能电源开关来控制实现。软件隔离是双机热备直接通过网络向故障节点的主板操作系统发送隔离命令(reboot/poweroff)来实现。
针对上述中的相关技术,发明人认为,硬件隔离是通过BMC或智能电源是直接通过控制电源来隔离故障节点,这存在损坏服务器文件系统的可能性;而因为双机热备是向服务器操作系统发隔离命令,这种在应用层的软件隔离方法在系统出现故障、或者资源负载很高的时候,很可能无法接收到隔离命令,导致隔离失败,可靠性欠缺。
发明内容
为了在不损坏服务器文件的条件下,提高隔离的可靠性,本申请提供一种双机热备软件的自我隔离方法、系统、终端及介质。
第一方面,本申请提供一种双机热备软件的自我隔离方法,采用如下的技术方案:
一种双机热备软件的自我隔离方法,应用于两个双机热备服务器,分别为活动节点和备用节点,所述方法包括以下步骤:
当所述活动节点执行目标任务时,获取所述活动节点上的检测参数,对所述检测参数进行分析,得到分析结果;
当所述分析结果为所述检测参数异常时,通过所述活动节点生成自我隔离信号,并将所述自我隔离信号发送至所述备用节点;
基于所述自我隔离信号进行所述活动节点的自我隔离操作;
基于所述自我隔离信号或者预设的启动条件启用所述备用节点,通过所述备用节点继续执行所述目标任务。
通过采用上述技术方案,获取活动节点上的检测参数,通过检测参数来分析活动节点是否异常,当活动节点异常时,主动生成自我隔离信号,并且根据自我隔离信号自动执行自我隔离操作,相较于现有技术中的轮询监控模式,本申请中的活动节点能够主动上报自我隔离信号,并自动进行自我隔离操作,减少了由于系统故障而无法接收隔离指令的可能性;同时根据自我隔离信号启用备用节点,以便迁移目标任务至备用节点继续执行,本申请无需添加任何硬件隔离设备,从而在不损坏服务器文件的条件下,提高了隔离的可靠性。
可选的,所述获取所述活动节点上的检测参数并进行分析包括以下步骤:
判断所述检测参数是否达到预设的报错要求;
若所述检测参数达到报错要求,则确定所述检测参数异常;
若所述检测参数未达到报错要求,则确定所述检测参数异常。
通过采用上述技术方案,获取检测参数是否异常,从而能够得知活动节点是否异常,较为方便。
可选的,所述基于所述自我隔离信号进行所述活动节点的自我隔离操作包括以下步骤:
杀死所述活动节点的目标任务进程;
将所述活动节点中的内存数据进行回写保存;
重新启动所述活动节点,将所述活动节点作为新的备用节点。
通过采用上述技术方案,活动节点杀死目标任务进程,能够减少目标任务执行失败或者执行错误的可能性;将内存数据进行回写保存,能够减少运行数据损坏或者丢失的可能性。
可选的,所述将所述活动节点中的内存数据进行回写保存之前,还包括以下步骤:
为所述活动节点配置内核线程,通过运行所述内核线程能够对所述活动节点中的内存数据进行回写保存;
基于所述分析结果判断是否运行所述内核线程;
当所述检测参数正常时,不运行所述内核线程;
当所述检测参数异常时,运行所述内核线程。
通过采用上述技术方案,当检测参数异常时,能够自动运行内核线程,来对活动节点中的内存数据进行回写保存,并与备用节点共享运行数据,从而利于备用节点继续执行目标任务。
可选的,所述基于所述自我隔离信号或者预设的启动条件启用所述备用节点,通过所述备用节点继续执行所述目标任务包括以下步骤:
判断所述备用节点是否接收到所述自我隔离信号;
若通过所述备用节点接收到所述自我隔离信号,则启用所述备用节点,将所述备用节点作为新的活动节点,并继续执行所述目标任务;
若通过所述备用节点未接收到所述自我隔离信号,则根据预设的启动条件启用所述备用节点。
通过采用上述技术方案,在活动节点未接收到自我隔离信号时,根据预设的启动条件来启用备用节点继续执行目标任务,具有高可用性。
可选的,所述根据预设的启动条件启用所述备用节点包括以下步骤:
当所述活动节点执行目标任务时,通过所述备用节点向所述活动节点发送询问请求;
获取所述活动节点的反馈信号,基于所述反馈信号启用所述备用节点。
可选的,所述获取所述活动节点的反馈信号,基于所述反馈信号启用所述备用节点包括以下步骤:
获取所述活动节点的反馈信号,判断所述反馈信号是否正常;
若所述反馈信号正常,则确定所述活动节点未处于自我隔离状态,不启用所述备用节点;
若所述反馈信号异常,则确定所述活动节点处于自我隔离状态,启用所述备用节点,将所述备用节点作为新的活动节点,并继续执行所述目标任务。
通过采用上述技术方案,当获取到反馈信号错误或者未接收到反馈信号时,备用节点自动启用,作为新的活动节点继续执行目标任务,减少了由于反馈信号发送不到位导致的严重后果,使得双机热备系统具有高可用性。
第二方面,本申请还提供一种双机热备软件的自我隔离系统,采用如下的技术方案:
一种双机热备软件的自我隔离系统,包括获取模块、信号生成模块、自我隔离模块和控制模块,所述信号生成模块与所述获取模块连接,所述自我隔离模块与所述信号生成模块连接,所述控制模块与所述自我隔离模块连接;
所述获取模块,用于当所述活动节点执行目标任务时,获取所述活动节点上的检测参数,对所述检测参数进行分析,得到分析结果;
所述信号生成模块,用于当所述分析结果为所述检测参数异常时,通过所述活动节点生成自我隔离信号,并将所述自我隔离信号发送至所述备用节点;
所述自我隔离模块,用于基于所述自我隔离信号进行所述活动节点的自我隔离操作;
所述控制模块,用于基于所述自我隔离信号或者预设的启动条件启用所述备用节点,通过所述备用节点继续执行所述目标任务。
通过采用上述技术方案,获取模块获取活动节点上的检测参数,通过检测参数来分析活动节点是否异常,当活动节点异常时,信号生成模块主动生成自我隔离信号,并且自我隔离模块根据自我隔离信号自动执行自我隔离操作,相较于现有技术中的轮询监控模式,本申请中的活动节点能够主动上报自我隔离信号,并自动进行自我隔离操作,减少了由于系统故障而无法接收隔离指令的可能性;同时控制模块根据自我隔离信号启用备用节点,以便迁移目标任务至备用节点继续执行,本申请无需添加任何硬件隔离设备,从而在不损坏服务器文件的条件下,提高了隔离的可靠性。
第三方面,本申请提供一种终端设备,采用如下的技术方案:
一种终端设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,所述处理器加载并执行计算机程序时,采用了上述的一种双机热备软件的自我隔离方法。
通过采用上述技术方案,通过将上述的一种双机热备软件的自我隔离方法生成计算机程序,并存储于存储器中,以被处理器加载并执行,从而,根据存储器及处理器制作终端设备,方便使用。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,采用了上述的一种双机热备软件的自我隔离方法。
通过采用上述技术方案,通过将上述的一种双机热备软件的自我隔离方法生成计算机程序,并存储于计算机可读存储介质中,以被处理器加载并执行,通过计算机可读存储介质,方便计算机程序的可读及存储。
附图说明
图1是本申请实施例一种双机热备软件的自我隔离方法的整体流程示意图。
图2是本申请实施例一种双机热备软件的自我隔离方法中步骤S201-步骤S203的流程示意图。
图3是是本申请实施例一种双机热备软件的自我隔离方法中步骤S301-步骤S303的流程示意图。
图4是是本申请实施例一种双机热备软件的自我隔离方法中步骤S401-步骤S403的流程示意图。
图5是是本申请实施例一种双机热备软件的自我隔离方法中步骤S501-步骤S503的流程示意图。
图6是是本申请实施例一种双机热备软件的自我隔离方法中步骤S601-步骤S602的流程示意图。
图7是是本申请实施例一种双机热备软件的自我隔离方法中步骤S701-步骤S703的流程示意图。
图8是本申请实施例一种双机热备软件的自我隔离系统的模块连接示意图。
附图标记说明:
1、获取模块;2、信号生成模块;3、自我隔离模块;4、控制模块。
具体实施方式
以下结合附图对本申请作进一步详细说明。
本申请实施例设置两个双机热备服务器:活动节点和备用节点,且活动节点和备用节点上都部署有双机热备软件。
本申请实施例公开一种双机热备软件的自我隔离方法,参照图1,包括以下步骤:
S101、当活动节点执行目标任务时,获取活动节点上的检测参数,对检测参数进行分析,得到分析结果;
S102、当分析结果为检测参数异常时,通过活动节点生成自我隔离信号,并将自我隔离信号发送至备用节点;
S103、基于自我隔离信号进行活动节点的自我隔离操作;
S104、基于自我隔离信号或者预设的启动条件启用备用节点,通过备用节点继续执行目标任务。
步骤S101,在双机热备服务器运行时,活动节点执行目标任务,备用节点处于备用状态,在活动节点和备用节点上都设置有检测参数。例如,设置的检测参数为panic_on_oops。
其中,panic和oops的区别为:当内核遇到严重错误的时候,内核发生panic(崩溃),双机热备系统会立马死机;oops是内核遇到错误时发出的提示“声音”,oops有时候会触发panic,有时候不会,在oops触发panic时,可以通过杀死当前进程的方法,来使双机热备系统继续运行。
参照图2,步骤S101包括以下步骤:
S201、判断检测参数是否达到预设的报错要求;
S202、若检测参数达到报错要求,则确定检测参数异常;
S203、若检测参数未达到报错要求,则确定检测参数异常。
具体地,可以在/proc/sys/kernel/panic_on_oops查看检测参数panic_on_oops的值,设置检测参数panic_on_oops为0时,出现了oops(错误),若此时oops发生在中断上下文,这时候造成的panic是硬件panic,会直接死机;若错误只是发生在进程上下文,这时候造成的panic是软件panic,此时系统有可能出现问题,如果不做处理继续执行后续任务,很可能造成内核硬件panic导致整个系统都不可用。本申请仅针对oops导致的软件panic进行处理。
具体地,当在/proc/sys/kernel/panic_on_oops查看到检测参数panic_on_oops为0时,触发panic,确定检测参数达到报错要求,检测参数异常;当查看到检测参数panic_on_oops不为0时,确定检测参数未达到报错要求,检测参数正常。
更具体地,panic_on_oops的值在内核编译的时候配置,也可以使用系统控制修改。
步骤S102,当检测参数异常时,为了安全起见,此时确定活动节点出现问题,活动节点直接生成自我隔离信号,活动节点准备进行自我隔离操作,并将自我隔离信号发送至备用节点,以便备用节点接管目标任务。
步骤S103,在活动节点生成自我隔离信号后,活动节点开始进行自我隔离操作,参照图3,具体包括以下步骤:
S301、杀死活动节点的目标任务进程;
S302、将活动节点中的内存数据进行回写保存;
S303、重新启动活动节点,将活动节点作为新的备用节点。
具体地,在活动节点生成自我隔离信号之后,首先,立即杀死当前活动节点的目标任务,以减少由于系统错误导致任务执行失败或者出错。同时,将活动节点中的内存数据进行回写保存,减少运行数据的丢失或者损坏,以便将运行数据同步至备用节点。将内存数据回写保存之后,重启活动节点,进行自我隔离,并将重启后的活动节点作为新的备用节点备用。
更具体地,参照图4,将活动节点中的内存数据进行回写保存,是通过以下步骤实现的:
S401、为活动节点配置内核线程,通过运行内核线程能够对活动节点中的内存数据进行回写保存;
S402、基于分析结果判断是否运行内核线程;
S403、当检测参数正常时,不运行内核线程;
S404、当检测参数异常时,运行内核线程。
本申请的一个实施例中,在活动节点和备用节点上都配置有内核线程,为内核线程配置最高优先级,同时屏蔽了任务中断。内核线程的功能是利用内核的Swap机制将内存数据刷盘,对内存数据进行回写处理。
当活动节点的检测参数正常时,确定活动节点未出现错误,内核线程处于休眠状态;当活动节点的检测参数异常时,确定活动节点出现错误,无论该错误发生是发生在中断上下文还是线程上下文,都运行内核线程,对活动节点内部的内存数据进行回写保存。
步骤S104,在活动节点进行自我隔离后,基于自我隔离信号或者预设的启动条件启用备用节点,通过备用节点继续执行目标任务,参照图5,具体包括以下步骤:
S501、判断备用节点是否接收到自我隔离信号;
S502、若通过备用节点接收到自我隔离信号,则启用备用节点,将备用节点作为新的活动节点,并继续执行目标任务;
S503、若通过备用节点未接收到自我隔离信号,则根据预设的启动条件启用备用节点。
具体地,活动节点在生成自我隔离信号后,通过网络将自我隔离信号发送至备用节点,此时如果备用节点接收到自我隔离信号,则可以直接启用备用节点,由于处于双机热备系统中,备用节点能够通过存储网络,与活动节点进行存储数据共享,以此来同步两个节点上的数据,此时备用节点作为新的活动节点。
但由于活动节点出现错误,在未知错误状态时,不确定自我隔离信号是否发送至备用节点,因此,在备用节点未接收到自我隔离信号时,需要不断的向活动节点发送询问请求,以得知活动节点的工作状态。参照图6,具体包括以下步骤:
S601、当活动节点执行目标任务时,通过备用节点向活动节点发送询问请求;
S602、获取活动节点的反馈信号,基于反馈信号启用备用节点。
具体地,当双机热备系统运行时,备用节点持续向活动节点发送询问请求,并获取活动节点的反馈信号,根据反馈信号来确定是否启用备用节点。参照图7,具体包括以下步骤:
S701、获取活动节点的反馈信号,判断反馈信号是否正常;
S702、若反馈信号正常,则确定活动节点未处于自我隔离状态,不启用备用节点;
S703、若反馈信号异常,则确定活动节点处于自我隔离状态,启用备用节点,将备用节点作为新的活动节点,并继续执行目标任务。
当备用节点获取到活动节点的反馈信号为正常时,确定活动节点处于正常运行状态,未发生自我隔离,此时不启用备用节点;当备用节点获取到活动节点的反馈信号异常,包括反馈信号错误以及未接收到反馈信号,确定活动节点处于自我隔离状态,此时启用备用节点,将备用节点作为新的活动节点,在原活动节点重启后,新的活动节点与新的备用节点加入进双机热备集群,新的活动节点继续执行目标任务,系统正常运行。
本申请实施例一种双机热备软件的自我隔离方法的实施原理为:获取活动节点上的检测参数,通过检测参数来分析活动节点是否异常,当活动节点异常时,主动生成自我隔离信号,并且根据自我隔离信号自动执行自我隔离操作,相较于现有技术中的轮询监控模式,本申请中的活动节点能够主动上报自我隔离信号,并自动进行自我隔离操作,减少了由于系统故障而无法接收隔离指令的可能性;同时根据自我隔离信号启用备用节点,以便迁移目标任务至备用节点继续执行,本申请无需添加任何硬件隔离设备,从而在不损坏服务器文件的条件下,提高了隔离的可靠性。
本申请实施例还公开一种双机热备软件的自我隔离系统,参照图8,包括获取模块1、信号生成模块2、自我隔离模块3和控制模块4,信号生成模块2与获取模块1连接,自我隔离模块3与信号生成模块2连接,控制模块4与自我隔离模块3连接。
其中,获取模块1用于当活动节点执行目标任务时,获取活动节点上的检测参数,对检测参数进行分析,得到分析结果。
具体地,在双机热备服务器运行时,活动节点执行目标任务,备用节点处于备用状态,获取模块1为活动节点和备用节点上设置检测参数。例如,获取模块1设置的检测参数为panic_on_oops。
panic和oops的区别为:当内核遇到严重错误的时候,内核发生panic(崩溃),双机热备系统会立马死机;oops是内核遇到错误时发出的提示“声音”,oops有时候会触发panic,有时候不会,在oops触发panic时,可以通过杀死当前进程的方法,来使双机热备系统继续运行。
具体地,可以在/proc/sys/kernel/panic_on_oops查看检测参数panic_on_oops的值,设置检测参数panic_on_oops为0时,出现了oops(错误),若此时oops发生在中断上下文,这时候造成的panic是硬件panic,会直接死机;若错误只是发生在进程上下文,这时候造成的panic是软件panic,此时系统有可能出现问题,如果不做处理继续执行后续任务,很可能造成内核硬件panic导致整个系统都不可用。本申请仅针对oops导致的软件panic进行处理。
具体地,当获取模块1在/proc/sys/kernel/panic_on_oops查看到检测参数panic_on_oops为0时,触发panic,确定检测参数达到报错要求,获得检测参数异常的分析结果;当查看到检测参数panic_on_oops不为0时,确定检测参数未达到报错要求,获得检测参数正常的分析结果。
更具体地,panic_on_oops的值在内核编译的时候配置,也可以使用系统控制修改。
其中,信号生成模块2用于当分析结果为检测参数异常时,通过活动节点生成自我隔离信号,并将自我隔离信号发送至备用节点。
当检测参数异常时,为了安全起见,确定活动节点出现问题,信号生成模块2通过活动节点生成自我隔离信号,活动节点准备进行自我隔离操作。同时,信号生成模块2将自我隔离信号发送至备用节点,以便备用节点接管目标任务。
其中,自我隔离模块3用于基于自我隔离信号进行活动节点的自我隔离操作。
具体地,在活动节点生成自我隔离信号之后,自我隔离模块3立即杀死当前活动节点的目标任务进程,以减少由于系统错误导致目标任务执行失败或者出错。同时,自我隔离模块3将活动节点中的内存数据进行回写保存,减少运行数据的丢失或者损坏,以便将运行数据同步至备用节点。将内存数据回写保存之后,自我隔离模块3重启活动节点,并将重启后的活动节点作为新的备用节点备用。
自我隔离模块3将活动节点中的内存数据进行回写保存,是通过以下方法实现的:
在活动节点和备用节点上都配置有内核线程,为内核线程配置最高优先级,同时屏蔽了任务中断。内核线程的功能是利用内核的Swap机制将内存数据刷盘,对内存数据进行回写处理。
当活动节点的检测参数正常时,确定活动节点未出现错误,内核线程处于休眠状态;当活动节点的检测参数异常时,确定活动节点出现错误,无论该错误发生是发生在中断上下文还是线程上下文,自我隔离模块3都运行内核线程,对活动节点内部的内存数据进行回写保存。
其中,控制模块4用于基于自我隔离信号或者预设的启动条件启用备用节点,通过备用节点继续执行目标任务。
具体地,活动节点在生成自我隔离信号后,通过网络将自我隔离信号发送至备用节点,此时如果备用节点接收到自我隔离信号,则控制模块4可以直接启用备用节点。由于处于双机热备系统中,备用节点能够通过存储网络,与活动节点进行存储数据共享,以此来同步两个节点上的数据,此时控制模块4切换备用节点作为新的活动节点。
但由于活动节点出现错误,在未知错误状态时,不确定自我隔离信号是否发送至备用节点,因此,在备用节点未接收到自我隔离信号时,需要不断的向活动节点发送询问请求,以得知活动节点的工作状态。
更具体地,当双机热备系统运行时,控制模块4控制备用节点持续向活动节点发送询问请求,并获取活动节点的反馈信号,根据反馈信号来确定是否启用备用节点。
更具体地,当备用节点获取到活动节点的反馈信号为正常时,确定活动节点处于正常运行状态,未发生自我隔离,此时控制模块4不启用备用节点;当备用节点获取到活动节点的反馈信号异常,包括反馈信号错误以及未接收到反馈信号,确定活动节点处于自我隔离状态,此时控制模块4启用备用节点,将备用节点作为新的活动节点。在原活动节点重启后,新的活动节点与新的备用节点加入双机热备集群,新的活动节点继续执行目标任务,系统正常运行。
本申请实施例一种双机热备软件的自我隔离系统的实施原理为:获取模块1获取活动节点上的检测参数,通过检测参数来分析活动节点是否异常,当活动节点异常时,信号生成模块2主动生成自我隔离信号,并且自我隔离模块3根据自我隔离信号自动执行自我隔离操作,相较于现有技术中的轮询监控模式,本申请中的活动节点能够主动上报自我隔离信号,并自动进行自我隔离操作,减少了由于系统故障而无法接收隔离指令的可能性;同时控制模块4根据自我隔离信号启用备用节点,以便迁移目标任务至备用节点继续执行,本申请无需添加任何硬件隔离设备,从而在不损坏服务器文件的条件下,提高了隔离的可靠性。
本申请实施例还公开一种终端设备,包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,其中,处理器执行计算机程序时,采用了上述实施例中的一种双机热备软件的自我隔离方法。
其中,终端设备可以采用台式电脑、笔记本电脑或者云端服务器等计算机设备,并且,终端设备包括但不限于处理器以及存储器,例如,终端设备还可以包括输入输出设备、网络接入设备以及总线等。
其中,处理器可以采用中央处理单元(CPU),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本申请对此不做限制。
其中,存储器可以为终端设备的内部存储单元,例如,终端设备的硬盘或者内存,也可以为终端设备的外部存储设备,例如,终端设备上配备的插接式硬盘、智能存储卡(SMC)、安全数字卡(SD)或者闪存卡(FC)等,并且,存储器还可以为终端设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及终端设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本申请对此不做限制。
其中,通过本终端设备,将上述实施例中的一种双机热备软件的自我隔离方法存储于终端设备的存储器中,并且,被加载并执行于终端设备的处理器上,方便使用。
本申请实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例中的一种双机热备软件的自我隔离方法。
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
其中,通过本计算机可读存储介质,将上述实施例中的一种双机热备软件的自我隔离方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。

Claims (10)

1.一种双机热备软件的自我隔离方法,应用于两个双机热备服务器,分别为活动节点和备用节点,其特征在于,所述方法包括以下步骤:
当所述活动节点执行目标任务时,获取所述活动节点上的检测参数,对所述检测参数进行分析,得到分析结果;
当所述分析结果为所述检测参数异常时,通过所述活动节点生成自我隔离信号,并将所述自我隔离信号发送至所述备用节点;
基于所述自我隔离信号进行所述活动节点的自我隔离操作;
基于所述自我隔离信号或者预设的启动条件启用所述备用节点,通过所述备用节点继续执行所述目标任务。
2.根据权利要求1所述的一种双机热备软件的自我隔离方法,其特征在于,所述获取所述活动节点上的检测参数并进行分析包括以下步骤:
判断所述检测参数是否达到预设的报错要求;
若所述检测参数达到报错要求,则确定所述检测参数异常;
若所述检测参数未达到报错要求,则确定所述检测参数异常。
3.根据权利要求1所述的一种双机热备软件的自我隔离方法,其特征在于,所述基于所述自我隔离信号进行所述活动节点的自我隔离操作包括以下步骤:
杀死所述活动节点的目标任务进程;
将所述活动节点中的内存数据进行回写保存;
重新启动所述活动节点,将所述活动节点作为新的备用节点。
4.根据权利要求3所述的一种双机热备软件的自我隔离方法,其特征在于,所述将所述活动节点中的内存数据进行回写保存之前,还包括以下步骤:
为所述活动节点配置内核线程,通过运行所述内核线程能够对所述活动节点中的内存数据进行回写保存;
基于所述分析结果判断是否运行所述内核线程;
当所述检测参数正常时,不运行所述内核线程;
当所述检测参数异常时,运行所述内核线程。
5.根据权利要求1所述的一种双机热备软件的自我隔离方法,其特征在于,所述基于所述自我隔离信号或者预设的启动条件启用所述备用节点,通过所述备用节点继续执行所述目标任务包括以下步骤:
判断所述备用节点是否接收到所述自我隔离信号;
若通过所述备用节点接收到所述自我隔离信号,则启用所述备用节点,将所述备用节点作为新的活动节点,并继续执行所述目标任务;
若通过所述备用节点未接收到所述自我隔离信号,则根据预设的启动条件启用所述备用节点。
6.根据权利要求5所述的一种双机热备软件的自我隔离方法,其特征在于,所述根据预设的启动条件启用所述备用节点包括以下步骤:
当所述活动节点执行目标任务时,通过所述备用节点向所述活动节点发送询问请求;
获取所述活动节点的反馈信号,基于所述反馈信号启用所述备用节点。
7.根据权利要求1所述的一种双机热备软件的自我隔离方法,其特征在于,所述获取所述活动节点的反馈信号,基于所述反馈信号启用所述备用节点包括以下步骤:
获取所述活动节点的反馈信号,判断所述反馈信号是否正常;
若所述反馈信号正常,则确定所述活动节点未处于自我隔离状态,不启用所述备用节点;
若所述反馈信号异常,则确定所述活动节点处于自我隔离状态,启用所述备用节点,将所述备用节点作为新的活动节点,并继续执行所述目标任务。
8.一种双机热备软件的自我隔离系统,其特征在于,包括获取模块(1)、信号生成模块(2)、自我隔离模块(3)和控制模块(4),所述信号生成模块(2)与所述获取模块(1)连接,所述自我隔离模块(3)与所述信号生成模块(2)连接,所述控制模块(4)与所述自我隔离模块(3)连接;
所述获取模块(1),用于当所述活动节点执行目标任务时,获取所述活动节点上的检测参数,对所述检测参数进行分析,得到分析结果;
所述信号生成模块(2),用于当所述分析结果为所述检测参数异常时,通过所述活动节点生成自我隔离信号,并将所述自我隔离信号发送至所述备用节点;
所述自我隔离模块(3),用于基于所述自我隔离信号进行所述活动节点的自我隔离操作;
所述控制模块(4),用于基于所述自我隔离信号或者预设的启动条件启用所述备用节点,通过所述备用节点继续执行所述目标任务。
9.一种终端设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,所述处理器加载并执行计算机程序时,采用了权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1-7中任一项所述的方法。
CN202210403749.5A 2022-04-18 2022-04-18 一种双机热备软件的自我隔离方法、系统、终端及介质 Pending CN114817908A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210403749.5A CN114817908A (zh) 2022-04-18 2022-04-18 一种双机热备软件的自我隔离方法、系统、终端及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210403749.5A CN114817908A (zh) 2022-04-18 2022-04-18 一种双机热备软件的自我隔离方法、系统、终端及介质

Publications (1)

Publication Number Publication Date
CN114817908A true CN114817908A (zh) 2022-07-29

Family

ID=82536895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210403749.5A Pending CN114817908A (zh) 2022-04-18 2022-04-18 一种双机热备软件的自我隔离方法、系统、终端及介质

Country Status (1)

Country Link
CN (1) CN114817908A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727629A (zh) * 2008-10-10 2010-06-09 北京资和信担保有限公司 自组织分布式金融业务系统
CN106027647A (zh) * 2016-05-20 2016-10-12 云南云电同方科技有限公司 Lxpfs集群分布式文件存储系统
CN109376530A (zh) * 2018-10-12 2019-02-22 北京凝思软件股份有限公司 基于标记的进程强制行为控制方法和系统
RU2019122434A (ru) * 2019-07-17 2021-01-18 Акционерное общество "Лаборатория Касперского" Система и способ устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины
CN112540874A (zh) * 2020-12-08 2021-03-23 广东小天才科技有限公司 智能设备死机日志采集方法、系统、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727629A (zh) * 2008-10-10 2010-06-09 北京资和信担保有限公司 自组织分布式金融业务系统
CN106027647A (zh) * 2016-05-20 2016-10-12 云南云电同方科技有限公司 Lxpfs集群分布式文件存储系统
CN109376530A (zh) * 2018-10-12 2019-02-22 北京凝思软件股份有限公司 基于标记的进程强制行为控制方法和系统
RU2019122434A (ru) * 2019-07-17 2021-01-18 Акционерное общество "Лаборатория Касперского" Система и способ устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины
CN112540874A (zh) * 2020-12-08 2021-03-23 广东小天才科技有限公司 智能设备死机日志采集方法、系统、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
崔嵩等: "变电站SCADA系统双机热备的研究与实现", 《可编程控制器与工厂自动化》 *
康: "自动化技术、计算机技术", 《中国无线电电子学文摘》 *
康超: "双机热备技术在民航通信中的研究应用", 《硅谷》 *

Similar Documents

Publication Publication Date Title
US9146839B2 (en) Method for pre-testing software compatibility and system thereof
US9582373B2 (en) Methods and systems to hot-swap a virtual machine
JP5089380B2 (ja) 仮想マシン・コンピュータ・プログラムの動的マイグレーション
US8245077B2 (en) Failover method and computer system
CN109656742B (zh) 一种节点异常处理方法、装置及存储介质
JP2004295738A (ja) 耐障害計算機システム、プログラム並列実行方法およびプログラム
US20180150345A1 (en) Serializing machine check exceptions for predictive failure analysis
WO2018095107A1 (zh) 一种bios程序的异常处理方法及装置
US9210059B2 (en) Cluster system
CN110109782B (zh) 一种故障PCIe设备的更换方法、装置及系统
US20150046748A1 (en) Information processing device and virtual machine control method
CN109976886B (zh) 内核远程切换方法及装置
CN114816022A (zh) 一种服务器电源异常监控方法、系统及存储介质
JP6599725B2 (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
JP5285045B2 (ja) 仮想環境における故障復旧方法及びサーバ及びプログラム
CN114817908A (zh) 一种双机热备软件的自我隔离方法、系统、终端及介质
CN112685803A (zh) 热备状态切换方法、装置、设备和存储介质
CN107783855B (zh) 虚拟网元的故障自愈控制装置及方法
CN112380083B (zh) 一种bmc主备切换稳定性测试方法和系统
CN116991637B (zh) 嵌入式系统的运行控制方法及装置、电子设备及存储介质
CN114750774B (zh) 安全监测方法和汽车
US11422877B2 (en) Information processing apparatus, method, and non-transitory computer-readable storage medium for storing control program of information processing apparatus
US20180225201A1 (en) Preserving volatile memory across a computer system disruption
US20220206823A1 (en) Information processing method and electronic apparatus
TW201327139A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220729

RJ01 Rejection of invention patent application after publication