一种主、备节点间的ha实现方法、装置及存储介质

文档序号:1601219 发布日期:2020-01-07 浏览:20次 >En<

阅读说明:本技术 一种主、备节点间的ha实现方法、装置及存储介质 (HA implementation method, device and storage medium between main node and standby node ) 是由 朱骏 于 2018-06-28 设计创作,主要内容包括:本发明实施例公开了一种主、备节点间的HA实现方法、装置及存储介质,属于通讯技术领域。所述方法包括:仲裁节点监测所述仲裁节点与通信业务的主、备节点间以及所述主、备节点之间的通信情况;根据监测结果分析所述主、备节点的状态是否有效;根据所述主、备节点的状态对所述通信业务的主、备节点进行协调管理。采用本发明实施例,能够在云网络下出现主节点或备节点异常时,实现不依赖硬件通道的情况下达到快速主备倒换。(The embodiment of the invention discloses a method, a device and a storage medium for realizing HA between a main node and a standby node, belonging to the technical field of communication. The method comprises the following steps: monitoring communication conditions between the arbitration node and a main node and a standby node of a communication service and between the main node and the standby node by the arbitration node; analyzing whether the states of the main node and the standby node are effective or not according to the monitoring result; and performing coordination management on the master node and the standby node of the communication service according to the states of the master node and the standby node. By adopting the embodiment of the invention, when the master node or the standby node is abnormal in the cloud network, the rapid master-standby switching can be realized without depending on a hardware channel.)

一种主、备节点间的HA实现方法、装置及存储介质

技术领域

本发明实施例涉及通讯技术领域,尤其涉及一种主、备节点的高可靠性(HighAvailability,HA)实现方法、装置及存储介质。

背景技术

系统通信设备为了提升业务可靠性,通常采用主、备节点的形式,业务分别部署在主和备两个节点上。平时只有主节点上的业务工作,在主节点或者主节点上的业务异常时,备节点迅速转为主节点接替原主节点上的业务工作,保证业务不中断。

在现有物理网络设备(PNF)上,主、备节点通常是硬件单板(物理CPU),硬件单板离线或异常可以通过硬件通道快速感知,而云网络(VNF)下的节点(虚机或容器)异常往往没有这种感知通道。

发明内容

有鉴于此,本发明实施例的目的在于提供一种主、备设备的HA实现方法、装置及存储介质,以解决现有技术云网络下的节点异常时往往无法通过硬件通道快速感知异常实现HA的问题。

本发明实施例解决上述技术问题所采用的技术方案如下:

根据本发明实施例的第一个方面,提供一种主、备节点间的HA实现方法,包括:

仲裁节点监测所述仲裁节点与通信业务的主、备节点间以及所述主、备节点之间的通信情况;

根据监测结果分析所述主、备节点的状态是否有效;

根据所述主、备节点的状态对所述通信业务的主、备节点进行协调管理。

根据本发明实施例的第二个方面,提供一种主、备节点间的HA实现装置,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法的步骤。

根据本发明实施例的第三个方面,提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如第一方面所述的方法的步骤。

本发明实施例的主、备节点间的HA实现方法、装置及存储介质,通过监测仲裁节点与通信业务的主、备节点间以及所述主、备节点之间的通信情况判断主、备节点的状态,并根据主、备节点的状态对其进行协调管理,能够在云网络下出现主节点或备节点异常时,实现不依赖硬件通道的情况下达到快速主备倒换。

附图说明

图1为本发明实施例一提供的一种主、备节点间的HA实现方法的流程图;

图2为本发明实施例一中提供的一种主、备节点HA逻辑结构图;

图3为本发明实施例一中各节点的通信链路均正常的情况下的主、备节点倒换示意图;

图4为本发明实施例一中主、备节点之间通信链路异常时的动作示意图;

图5为本发明实施例一中主节点与备节点及仲裁节点之间通信链路异常时的动作示意图;

图6为本发明实施例一中备节点与主节点及仲裁节点之间通信链路异常时的动作示意图;

图7为本发明实施例一中三节点两两之间通信链路异常时的动作示意图;

图8为本发明实施例二提供的一种主、备节点间的HA实现装置的模块结果示意图。

本发明实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。

本发明实施例一,提供了一种主、备节点间的HA实现方法,请参阅图1,该方法流程包括:

步骤S101、仲裁节点监测该仲裁节点与通信业务的主、备节点间以及该主、备节点之间的通信情况;

步骤S102、根据监测结果分析该主、备节点的状态是否有效;

步骤S103、根据该主、备节点的状态对该通信业务的主、备节点进行协调管理。

实际应用中,主、备节点HA逻辑结构图可参阅图2。为了实现图2的HA逻辑结构,预先在某个有名节点中部署一个高可靠性辅助进程,使其成为仲裁节点。其中,有名节点是指在一个虚拟的网络系统中,该网络系统的各节点都知晓该有名节点的存在,并能够与之通信。本实施例中,高可靠性进程也可以替换成线程或其他执行实体,为方便描述统一称作HAHelp。该HAHelp用于协助通信业务完成主、备节点的选举、备节点转主节点等功能。然后在所有节点中(可以包括仲裁节点)部署一个高可靠性执行线程。该高可靠性执行线程通常位于节点的启动管理或者根进程中,也可以是单独的进程,称作HAClient。HAClient用于本节点的业务状态监控与管理。

仲裁节点利用HAHelp选出主、备HAClient,主、备HAClient所在节点即成为主、备节点。具体的,HAHelp扫描所有的备选节点,在给定时限里根据各节点的运行情况选出两个节点分别作为主节点和备节点,并记录下主、备节点的位置。

仲裁节点和选出的主、备节点保持两两间实时监控通信情况实现保活监控,一旦主节点所在节点发生异常,备节点在仲裁节点及伙伴节点的协助下完成备转主等动作。需要说明的是,本实施例中仲裁节点、主节点以及备节点之间的HA的实现是通过HAHelp以及HAClient实现的。

实际应用中,本实施例中仲裁节点对,主、备节点进行协调管理包括,当该主节点和/或备节点的状态无效时,复位该主节点和/或备节点、通知该备节点转换为主节点或重新选举主节点和/或备节点;当主节点和备节点的状态有效时,维持主节点和备节点不变。

为了简化模型,本实施例以一对主、备节点为例进行描述,但此方法同样适用于多对主、备节点的高可靠性管理,即一个仲裁节点可协调管理多对主、备节点。

在一个可行的方案中,步骤S102、据监测结果分析该主、备节点的状态是否有效,包括:

步骤S1021、若所述仲裁节点与所述主、备节点三者两两间通信链接均正常,则根据所述主、备节点的运行情况确定所述主、备节点的状态是否有效;

步骤S1022、若所述仲裁节点与所述主、备节点之间的通信链接均异常,则根据所述主节点与备节点之间的通信链路是否异常确定所述主、备节点的状态是否有效;

步骤S1023、若所述仲裁节点与主、备节点之一的通信链接正常,则根据三者相互之间的通信状态确定所述主、备节点的状态是否有效。

在一个可行的方案中,步骤S1021“若所述仲裁节点与所述主、备节点三者两两间通信链接均正常,则根据所述主、备节点的运行情况确定所述主、备节点的状态是否有效”,包括如下两种情景:

一、当接收到该主节点发送的业务异常通知,或者检测到该主节点已复位时,确定该主节点无效;

二、若接收到所述备节点发送的业务异常通知,或者检测到所述备节点已复位,确认所述备节点的状态无效。

在一个可行的方案中,执行步骤S1021之前,所述方法还包括:

所述主节点或备节点发生可自身检测的异常,向所述仲裁节点发送业务异常通知;或者

所述主节点或备节点发生异常,云网络强制复位所述主、备节点。

实际应用中,如果仲裁节点与该主、备节点之间、主节点和备节点之间的链接均正常(如图2所示),即在通信链路正常的情况下,只要主、备两个HAClient相互之间可达,即使HAHelp长时间崩溃或者不可达,当前主用HAClient依然有效。

请参阅图3,如果主节点发生可检测的异常(HAClient自身正常),此时主HAClient检测到主业务异常并主动通知HAHelp发起倒换,HAHelp复位主HAClient所在节点,然后通知备HAClient转主,这种情况需要做到快速倒换,满足不间断路由(Non—stopRouting,NSR)的要求;如果主节点发生不可检测的异常(HAClient自身异常),云网络检测到该异常后快速复位此节点,HAHelp检测到主节点复位则通知备HAClient转主。

在一个可行的方案中,步骤S1023、“若所述仲裁节点与主、备节点之间至少一条的通信链接正常,则根据三者相互之间的通信状态确定所述主、备节点的状态是否有效”,包括如下几种情景:

一、若该仲裁节点仅与该主节点之间的通信链路异常,当接收到该备节点发送的主节点不可达通知时,确定该主节点的状态无效,否则,确认该主、备节点的状态有效。

请参阅图5,此时,仲裁节点与主节点之间的通信链路异常,与备节点之间的通信链路正常。备HAClient通知HAHelp主HAClient不可达,HAHelp接到备HAClient发送的主HAClient不可达的通知后,检测原主节点是否还存在,如存在则通知云网络复位原主节点,然后通知备节点转换为主节点,并重新选举备节点。

实际应用中,当主HAClient发现HAHelp和主HAClient均不可达的情况持续预设时间后也可以复位自身节点,即主***。

二、若该仲裁节点仅与该备节点之间的通信链路异常,当接收到该主节点发送的备节点不可达通知时,确定该备节点的状态无效,否则确认该主、备节点的状态有效。

请参阅图6,此时,仲裁节点与主节点之间的通信链路异常,与备节点之间的通信链路正常,主HAClient通知HAHelp备HAClient不可达,HAHelp接到主HAClient发送的备HAClient不可达的通知后,检测原备节点是否还存在,如存在则通知云网络复位原备节点,然后重新选备。

实际应用中,当备HAClient发现HAHelp和主HAClient均不可达的情况持续预设时间后也可以复位自身节点,即备***。

三、若所述仲裁节点与所述主节点以及所述仲裁节点与所述备节点之间的通信链路均正常,当接收到所述主节点或所述备节点发送的对方节点不可达通知时,确定所述备节点的状态无效。

请参阅图4,如果仲裁节点与该主、备节点之间链接均正常,而主节点和备节点之间的通信链路异常(即通信不可达),此时主、备HAClient发现对端不可达,则向HAHelp发送主、备不可达通知并以此确认自身连通性,如发现HAHelp不可达则复位自身所在节点。HAHelp收到主、备HAClient之一的主、备不可达通知开始检测主HAClient的连通性,如果主HAClient可达则通知备HAClient复位自身节点。

结合步骤S1021的第二种情景,可以看出,本实施例中,如果HAHelp和主HAClient可达,此时无论HAHelp和备HAClient是否可达,都复位备节点(如果备节点不可达则可以要依靠云网络来复位),然后重新选举备节点。

实际应用中,如果主、备HAClient之间通信链接正常,HAHelp和主、备HAClient之一通信链接也正常,则HAHelp确认主、备节点有效,不做任何处理。

在一个可行的方案中,步骤S1022、若所述仲裁节点与所述主、备节点之间的通信链接均异常,则根据所述主节点与备节点之间的通信链路是否异常确定所述主、备节点的状态是否有效,包括:

若该仲裁节点与该主、备节点之间的通信链路均异常,若在预设时间内检测到其中一节点已复位时,则否则确认该主、备节点的状态均无效,否则复位该仲裁节点,以使云网络重新选举仲裁节点。

在该情景下,HAHelp和主、备HAClient之间均不可达,这时根据主、备HAClient之间的通信链路的分两种情况:

(一)、主、备HAClient之间不可达,请参阅图7,此时认为主、备节点均已失效,需要重新选举主节点和备节点。

这种情况下,HAHelp无法主动通知到主、备节点复位,失效节点发起***动作,即HAClient检测到HAHelp及伙伴HAClient均不可达超过预定时限时,则复位自身节点。只要其中一个HAClient正常且复位节点成功,HAHelp检测到节点复位则认为主、备节点均已失效,立刻发起重新选举,以选举新的主、备节点,并通知云网络复位另一个节点。

如果主、备HAClient皆因自身未检测到的异常无法复位自身节点,此时HAHelp无法判断主、备节点的状态,这种情况称为仲裁者(HAHelp)失效,为了防止一直无主,HAHelp需要通知云网络复位主、备节点并重新选举,但如果是HAHelp自身的通信链路问题则会出现误检的情况,为了减少误检概率,

HAHelp进行迁移,如果迁移次数达到预设值仍无法恢复与主节点或备节点的通信链路,再通知云网络进行复位。

实际应用中,HAhelp进行迁移即仲裁节点主动复位,由云网络重新选举新的仲裁节点。

(二)主、备HAClient之间可达,这种情况认为主、备节点有效,需要保持。而HAHelp由于自身连通性无法正常感知这件事情,如上文该,HAHelp迁移自身,如果主、备节点正常即可恢复通信,如果数次迁移依然如故,则强行复位主、备节点,发起重新选举。

主、备HAClient同时发生未检测到的异常,这种场景HAHelp和主、备HAClient均不可达,而主、备节点未复位自身,HAHelp发现主、备节点均存在,但无法确认通信是否连通(实际不连通),此时HAHelp自动迁移到其他节点(除主、备节点之外的节点)然后检测主、备HAClient连通性,如果依然不可达则继续迁移,迁移次数达到预设值后确认主、备HAClient异常,复位原主、备节点并选举新的主、备节点。

因此,在执行“复位该仲裁节点,以使云网络重新选举仲裁节点”之后,该方法还包括:

云网络重新选举的仲裁节点继续监测与该主、备节点之间的通信情况,若与该主、备节点之间的通信链路仍然异常,则重复执行该复位该仲裁节点,以使云网络重新选举仲裁节点的步骤,若云网络选举仲裁节点的次数达到预设值后,若云网络选的仲裁节点与该主、备节点之的通信链路仍然异常,则确认该主、备节点的状态均无效。

在一个可行的方案中,步骤“根据该主、备节点的状态对该通信业务的主、备节点进行协调管理”,包括:

当该主节点和/或备节点的状态无效时,复位该主节点和/或备节点、通知该备节点转换为主节点或重新选举主节点和/或备节点。

请参阅表1,列出了本实施例中的各节点的通信连接状态与仲裁节点协调管理主、备节点的方式的对应关系,表中T表示通信连接正常,F表示通信连接异常。

表1

本实施例的主、备节点间的HA实现方法,通过监测仲裁节点与通信业务的主、备节点间以及该主、备节点之间的通信情况判断主、备节点的状态,并根据主、备节点的状态对其进行协调管理,能够在云网络下出现主节点或备节点异常时,实现不依赖硬件通道的情况下达到快速主备倒换,并且能偶避免出现双主的情况。

在前述实施例的基础上,本发明实施例二提供了一种主、备节点间的HA实现装置,请参阅图8,所述装置包括:存储器801、处理器802及存储在所述存储器801上并可在所述处理器802上运行的计算机程序803,所述计算机程序803被所述处理器802执行时实现如实施例一所述的方法的步骤。

在前述实施例的基础上,本发明实施例三提供了一种存储介质,该存储介质包括存储的程序,在该程序运行时控制该存储介质所在设备执行如实施例一该的操作。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

以上参照附图说明了本发明实施例的优选实施例,并非因此局限本发明实施例的权利范围。本领域技术人员不脱离本发明实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本发明实施例的权利范围之内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:测量配置方法、测量方法、网络侧设备和终端

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类