CN110958151B - 保活检测方法、装置、节点、存储介质及通信系统 - Google Patents

保活检测方法、装置、节点、存储介质及通信系统 Download PDF

Info

Publication number
CN110958151B
CN110958151B CN201811126093.7A CN201811126093A CN110958151B CN 110958151 B CN110958151 B CN 110958151B CN 201811126093 A CN201811126093 A CN 201811126093A CN 110958151 B CN110958151 B CN 110958151B
Authority
CN
China
Prior art keywords
node
link
state
communication
keep
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
Application number
CN201811126093.7A
Other languages
English (en)
Other versions
CN110958151A (zh
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.)
Sino Telecom Technology Co inc
Original Assignee
Sino Telecom Technology Co inc
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 Sino Telecom Technology Co inc filed Critical Sino Telecom Technology Co inc
Priority to CN201811126093.7A priority Critical patent/CN110958151B/zh
Publication of CN110958151A publication Critical patent/CN110958151A/zh
Application granted granted Critical
Publication of CN110958151B publication Critical patent/CN110958151B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/103Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明的保活检测方法、装置、节点、存储介质及通信系统,应用于支持TIPC通信协议的具有第一节点和第二节点的通信系统;第二节点的拓扑服务端向应用程序提供拓扑订阅服务,其订阅内容包括:第一节点的服务地址端口的状态;在接收到表示第一节点进入正常宕机状态的地址撤销报文、或表示进入正常工作状态的地址发布报文时,第二节点执行对其节点名称列表的更新,包括:在其节点名称列表中删除或增加第一节点服务地址端口的端口标识;所述第二节点的拓扑服务端在侦测到所述节点名称列表的更新,生成对应通知消息至所述应用程序。本发明利用TIPC拓扑订阅服务检测节点宕机情形,且优选节点间链路,设计双向的维护报文作为心跳,简化上层应用程序设计。

Description

保活检测方法、装置、节点、存储介质及通信系统
技术领域
本发明涉及通信技术领域,尤其涉及保活检测方法、装置、节点、存储介质及通信系统。
背景技术
出于对可靠性的强烈需求,电信级设备通常会采用节点冗余、链路冗余来保障业务不会因为单点、单链路故障而中断.为防止系统控制卡故障而导致整个系统的瘫痪,大型通信设备中一般都设计有两个系统控制卡来实现1+1保护。其中一块主用系统控制卡(系统控制卡A)处于工作状态时,另一块备用系统控制卡(系统控制卡B)处于备用状态,系统控制卡A一旦出现问题,B随即接管A的工作继续整个系统的管控。
主用系统控制卡和备用系统控制卡的主备节点间的保活检测机制决定了节点倒换修复时间,直接影响着系统的可用性。在TCP/IP网络中,一般通过应用程序定时发送一个自定义的结构体即心跳包,让对端判断本节点“在线”,以确保连接的有效性。为保证系统高可用性,心跳包发送的周期一般较短,为毫秒级别。
但是,在系统中存在着大量应用任务的情况下,需要为每一个任务设计心跳检测,并且各个任务的心跳周期都需要由各自的需求决定.使上层应用设计复杂化且浪费带宽资源。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供保活检测方法、装置、节点、存储介质及通信系统,通过快速检测对象节点的宕机情形,解决现有技术的问题。
为实现上述目标及其他相关目标,本发明提供一种保活检测方法,应用于支持TIPC通信协议的通信系统;所述通信系统包含多个通信节点,所述多个通信节点包括:相互连接的第一节点及第二节点,其中,至少所述第二节点存储有节点名称列表,用于存储与所述第二节点连接的各节点的服务地址端口的端口标识,并配置有拓扑服务端;所述保活检测方法包括:所述第二节点的拓扑服务端向应用程序提供拓扑订阅服务,其订阅内容包括:第一节点的服务地址端口的状态;在接收到表示第一节点进入正常宕机状态的地址撤销报文、或表示进入正常工作状态的地址发布报文时,第二节点执行对其节点名称列表的更新,包括:在其节点名称列表中删除或增加第一节点服务地址端口的端口标识;所述第二节点的拓扑服务端在侦测到所述节点名称列表的更新,生成对应通知消息至所述应用程序。
于本发明的一实施例中,所述的保活检测方法还包括:所述第二节点发送一或多个链路状态探测报文至第一节点;根据所述第一节点对所述一或多个链路状态探测报文的响应时间,第二节点判断第一节点和第二节点间链路的链路状态为活跃状态或失效状态,以供确定第一节点是否处于故障状态。
于本发明的一实施例中,所述链路状态由TIPC通信协议定义,所述活跃状态包括:Working-Working及Working-Unknown;所述失效状态包括:Reset-Unknown以及Reset-Reset;所述根据所述第一节点对所述一或多个链路状态探测报文的响应时间,判断第一节点和第二节点间链路的链路状态为活跃状态或失效状态,包括:在发送一链路状态探测报文后,所述第二节点设置其与第一节点间链路的链路状态为Working-Unknown;若收到第一节点的响应消息,则设置所述链路的链路状态为Working-Working;若未在预定时间内收到第一节点的响应消息,则每隔第二预定时间发送所述链路状态探测报文;在发送的所述链路状态探测报文数量达到预定数量且仍未收到第一节点的响应消息时,设置所述链路的链路状态为Reset-Unknown。
于本发明的一实施例中,所述的保活检测方法包括:在设置所述链路的链路状态为Reset-Unknown之后,每隔第三预定时间发送链路状态探测报文给第一节点;其中,所述第三预定时间大于第二预定时间。
为实现上述目标及其他相关目标,本发明提供一种保活检测装置,应用于支持TIPC通信协议的通信系统;所述通信系统包含多个通信节点,所述多个通信节点包括:相互连接的第一节点及第二节点;所述保活检测装置装载于所述第二节点,其包括:应用程序、节点名称列表及拓扑服务端;所述节点名称列表,用于记载与所述第二节点连接的各节点的服务地址端口的端口标识;其中,所述第二节点在接收到表示第一节点进入正常宕机状态的地址撤销报文、或表示进入正常工作状态的地址发布报文时,所述节点名称列表会更新,所述更新包括:删除或增加关于第一节点的服务地址端口的端口标识;所述拓扑服务端,用于向建立拓扑订阅服务关系的应用程序提供拓扑订阅服务,其订阅内容包括:第一节点的服务地址端口的状态变化,以令拓扑服务端在侦测到所述节点名称列表的更新时,生成对应通知消息至所述应用程序。
于本发明的一实施例中,所述的保活检测装置还包括:通信链路检测模块,用于发送一或多个链路状态探测报文至第一节点;并根据所述第一节点对所述一或多个链路状态探测报文的响应时间,判断第一节点和第二节点间链路的链路状态为活跃状态或失效状态,以供确定第一节点是否处于故障状态。
于本发明的一实施例中,所述链路状态由TIPC通信协议定义,所述活跃状态包括:Working-Working及Working-Unknown;所述失效状态包括:Reset-Unknown以及Reset-Reset;所述根据所述第一节点对所述一或多个链路状态探测报文的响应时间,判断第一节点和第二节点间链路的链路状态为活跃状态或失效状态,包括:在发送一链路状态探测报文后,所述第二节点设置其与第一节点间链路的链路状态为Working-Unknown;若收到第一节点的响应消息,则设置所述链路的链路状态为Working-Working;若未在预定时间内收到第一节点的响应消息,则每隔第二预定时间发送所述链路状态探测报文;在发送的所述链路状态探测报文数量达到预定数量且仍未收到第一节点的响应消息时,设置所述链路的链路状态为Reset-Unknown。
于本发明的一实施例中,所述通信链路检测模块,用于在设置所述链路的链路状态为Reset-Unknown之后,每隔第三预定时间发送链路状态探测报文给第一节点;其中,所述第三预定时间大于第二预定时间。
为实现上述目标及其他相关目标,本发明提供一种通信节点,位于支持TIPC通信协议的通信系统中;所述通信系统还包括:第一节点;所述通信节点包括:通信器、存储器及处理器;所述通信器,与所述第一节点通信;所述存储器,用于存储计算机程序;所述处理器,用于运行所述计算机程序以实现所述的保活检测方法。
为实现上述目标及其他相关目标,本发明提供一种计算机存储介质,存储有计算机程序,被运行时实现所述的保活检测方法。
为实现上述目标及其他相关目标,本发明提供一种通信系统,包括:所述的通信节点;以及所述第一节点,与所述通信节点连接。
于本发明的一实施例中,所述第一节点也执行所述保活检测方法来检测通信节点的状态。
于本发明的一实施例中,所述第一节点为主用节点,所述通信节点为所述主用节点的备用节点;或者,所述通信节点为主用节点或备用节点,所述第一节点为通信系统中的业务节点;或者,所述通信节点及第一节点均为通信系统中的业务节点。
于本发明的一实施例中,所述通信系统实现于一通信设备,所述通信设备中的多个板卡分别实现所述通信节点及第一节点。
如上所述,本发明的保活检测方法、装置、节点、存储介质及通信系统,应用于支持TIPC通信协议的通信系统;所述通信系统包含多个通信节点,所述多个通信节点包括:相互连接的第一节点及第二节点,其中,至少所述第二节点存储有节点名称列表,用于存储与所述第二节点连接的各节点的服务地址端口的端口标识,并配置有拓扑服务端;所述保活检测方法包括:所述第二节点的拓扑服务端向应用程序提供拓扑订阅服务,其订阅内容包括:第一节点的服务地址端口的状态;在接收到表示第一节点进入正常宕机状态的地址撤销报文、或表示进入正常工作状态的地址发布报文时,第二节点执行对其节点名称列表的更新,包括:在其节点名称列表中删除或增加第一节点服务地址端口的端口标识;所述第二节点的拓扑服务端在侦测到所述节点名称列表的更新,生成对应通知消息至所述应用程序。
本发明基于TIPC进行保活检测方案的改进,利用TIPC具有物理拓扑发现的功能,提供上层的拓扑订阅服务;且优选的,还可利用节点间链路设计有双向的维护报文作为心跳,充分利用TIPC提供的这些特殊服务并加以适当的修改不仅可以简化上层应用设计,还可以通过避免引入大量额外的心跳包从而节省带宽资源。
附图说明
图1显示为本发明实施例中通信系统的结构示意图。
图2显示为本发明一实施例中保活检测方法的流程示意图。
图3显示为本发明又一实施例中保活检测方法的流程示意图。
图4显示为本发明实施例中TIPC链路状态迁移的示意图。
图5显示为本发明实施例中第二节点的功能模块示意图。
图6显示为本发明实施例中通信节点的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
TIPC是爱立信公司提出的一种透明进程间通信协议,主要适用于高可用(HAL)和动态集群环境,其主要支持Linux,Solaris和VxWorks三种操作系统;在可信网络环境下,TCP/IP协议的很多操作是冗余的,例如,著名的三次握手,从而导致通信效率下降,增加了应用程序的通信时间,不利于对时间响应要求比较高的应用,比如,处理集群成员节点由于重启,宕(down)机等各种原因导致的增加和减少的,通过TIPC针对可信网络环境,减少了建立通信连接的步骤和寻址目标地址的操作,这可以提高节点间信息交换的频率以及减少节点间等待的时间。
本申请利用基于TIPC通信协议的通信系统中,实现节点间利用TIPC通信协议的特定服务实现保活检测。
举例来讲,所述通信系统可以是为光通信系统,所述光通信系统可以是一个光通信网络系统(例如EPON、GPON、XPON等),当然也可以是其它类型的通信系统。
如图1所示,展示实施例中通信系统100的结构。
所述通信系统100包括多个通信节点。所述多个通信节点中可以包含构成保护组的主用节点101及其备用节点102,所述保护可以是1:1或1+1的保护方式及连接结构。
可选的,所述多个通信节点中还可包括业务节点103,与所述主用节点101及备用节点102连接。
在一实施例中,所述主用节点101和备用节点102可以是在通信系统100中的相互独立但连接的两个通信设备,当主用节点101出现故障时,可以将主用节点101所在的被保护线路切换至备用节点102所在的保护线路。
在另一实施例中,所述通信系统100可以实现于一通信设备上,例如光通信网络中的OTN设备等;所述通信设备可以是框式设备,而所述多个通信节点均能通过该通信设备中的板卡实现,在本实施例中,所述主用节点101可以是主用主控板卡,备用节点102即为该主控板卡的备用主控板卡。
需说明的是,虽然图1实施例中展示的通信系统100的系统架构是总线结构,但此仅为举例,并非以此为限。所述通信系统100也可以对应为包含多个通信设备的网络系统、或包含多个板卡的通信设备,所述通信系统100可以根据需求选用星型结构、环型结构、总线结构、分布式结构、树型结构、网状结构、或蜂窝状结构等。
所述备用节点102可以通过TIPC通信协议所规定的服务来检测所述主用节点101的状态切换,从而通知其上层应用程序这一情况,以利用备用节点102的保护线路替换主用节点101的被保护线路;需特别说明的是,主用节点101也可以通过相同方式来检测备用节点102的状态切换,通知其上层的应用程序,从而执行对应策略,具体可参考后文图2实施例中的保活检测方法。
需特别说明的是,在一些实施例中,不仅可以是在主用节点101和备用节点102间可以单向或相互进行保活检测,而且还可在主用节点101和业务节点103间、备用节点102和业务节点103间、或业务节点103间单向或相互进行保活检测,并非以上述实施例为限,也并非限于仅能应用在如图1所示的冗余保护结构的通信系统100,只要在至少存在两个通信节点的通信系统(如网络、设备)中皆能应用此保活检测方法。
所述宕机现象分为正常宕机和意外宕机。所述正常宕机,即被检测的通信节点(主用、备用或业务节点103)宕机时能有效执行进程和系统的结束、清理等流程,如系统维护或升级;而意外宕机,即被检测的通信节点(主用、备用或业务节点103)无法及时进行进程和系统的清理流程,如板卡拔出、断电、软件bug导致的crash等。
以下以多个通信节点中的一个称为第一节点(主用、备用或业务节点),另一个称为第二节点,例举第二节点用于对第一节点进行保活检测的实施例进行原理说明,当然,优选的,所述第一节点为主用节点,所述第二节点为备用节点,利于提升保护倒换的速度。
如图2所示,展示实施例中的保活检测方法的流程图,其具体包括:
步骤S201:所述第二节点的拓扑服务端向应用程序提供拓扑订阅服务,其订阅内容包括:第一节点的服务地址端口的状态。
对应第一种的正常宕机情况,可以通过TIPC通信协议保留的特殊服务地址端口{0,<Z,C,N>}结合节点名称列表(NameTable)以及拓扑服务端(TopologyServer)进程实现检测;其中,<Z,C,N>为端口地址,Z即域(Zone),表示,其为8位二进制数,即表示最多256个域;C表示簇(Cluster),C为12位二进制数;N即节点(Node),32位二进制数;{0,<Z,C,N>}是根据端口地址生成的端口标识的一种例举形式。
具体的,在本实施例中,所述第二节点上配置有拓扑服务端(TopologyServer),其订阅内容包括:第一节点的服务地址端口的状态,当然,还可包括对其它节点的服务地址端口状态的订阅。
具体的,在一实施例中,所述第一节点、第二节点及其它节点均分配有服务地址端口,例如第一节点的端口地址为例如<1.1.101>,第二节点的端口地址为例如<1.1.102>,而若共有16个其它节点(例如业务节点),则各其它节点的端口地址为例如<1.1.1>、<1.1.2>……<1.1.16>。
所述订阅关系的建立,可以是通过第二节点的上层应用程序向其拓扑服务端(TopologyServer)发送订阅请求来建立的,完成订阅之后,拓扑服务端会根据其所侦测到的订阅内容中的第一节点的服务地址端口的状态变化来通知所述应用程序;同理,若所述订阅内容中还包括其它节点的服务地址端口状态,则拓扑服务端也会根据这些服务地址端口状态的变化来通知所述应用程序。
步骤S202:在接收到表示第一节点进入正常宕机状态的地址撤销报文、或表示进入正常工作状态的地址发布报文时,第二节点执行对其节点名称列表的更新,包括:在其节点名称列表中删除或增加第一节点服务地址端口的端口标识。
所述第二节点上还存储有节点名称列表(NameTable),用于存储与所述第二节点连接的各节点的服务地址端口的端口标识,即例如前述的{0,<Z,C,N>}形式的标识。
所述节点名称列表中存储有第一节点的端口标识,在本实施例中即{0,<1.1.101>};还可以存储本地的第二节点的端口标识{0,<1.1.102>},还可存储连接第二节点的一或多个其它节点的端口标识,即例如{0,<1.1.1>},{0,<1.1.6>},{0,<1.1.8>},{0,<1.1.12>}等。
在本发明的一实施例中,所述地址撤销报文或地址发布报文,可以是在第一节点要进入正常宕机状态或重新上线前,由第一节点上的TIPC进程生成,所述正常宕机状态即例如系统维护或升级所需进行重启的短暂宕机状态。该地址撤销报文或地址发布报文可以是向第一节点连接的各个节点进行广播的报文,其内容就是让各节点撤销或增加在节点名称列表中的第一节点的端口标识{0,<1.1.101>}。
若所述第一节点进入正常宕机状态,所述第二节点在接收到该地址撤销报文后,据以删除其节点名称列表中的{0,<1.1.101>},以作为对节点名称列表的更新;或者,在第一节点从正常宕机状态恢复正常工作状态,发布地址发布报文,所述第二节点收到该地址发布报文后,在其节点名称列表中增加{0,<1.1.101>},以作为对节点名称列表的更新。
步骤S203:所述第二节点的拓扑服务端在侦测到所述节点名称列表的更新,生成对应通知消息至所述应用程序。
如前所述,由于建立订阅服务关系,所述拓扑服务端会通过应用程序接口(Socket)而与上层的应用程序通信;并且,所述拓扑服务端可以查询所述节点名称列表中的内容,并在发现更新时,生成对应该更新的端口状态变化的通知给应用程序。
举例来说,第二节点的拓扑服务端发现节点名称列表中的{0,<1.1.101>}被删除时,其发送通知给应用程序以告知第一节点进入正常宕机状态;或者,拓扑服务端发现节点名称列表中的{0,<1.1.101>}增加时,发送通知给应用程序以告知其发现第一节点进入正常工作(即相对down机的up)的情况,以供应用程序执行后续策略。
在第一节点从正常宕机到恢复的过程中,平均修复时间(MTTR)来源即为其TIPC进程的地址发布/撤销报文产生、发送、传输、及被接收等流程所消耗的时间之和,耗时极短,一般为微秒级别,在此过程中,几乎是第一节点在up或down状态切换时,即刻由TopologyServer进程进行反馈.因此,第二节点的拓扑服务器对应用程序的反馈也是微秒级别的,相较于现有技术的毫秒级别的反馈大大提升速度,且本发明的技术方案并不需要复杂的心跳机制,而避免大量心跳包的产生。
在意外宕机时,即第一节点无法及时进行进程和系统的清理流程,如软件bug导致的crash或断电等,也就没有办法发送该地址撤销或发布报文。
因此,可选的,所述保活检测方法所述还可提供另一重并行的检测机制,如图3所示,其流程具体包括:
步骤S301:所述第二节点发送一或多个链路状态探测报文至第一节点。
步骤S302:根据所述第一节点对所述一或多个链路状态探测报文的响应时间,第二节点判断第一节点和第二节点间链路的链路状态为活跃(Active)状态或失效状态,以供确定第一节点是否处于故障状态。
于本发明的一实施例中,所述链路状态由TIPC通信协议定义,所述活跃状态包括:Working-Working及Working-Unknown;所述失效状态包括:Reset-Unknown以及Reset-Reset。
如图4所示,展示实施例中的TIPC链路状态迁移图。在图中,用实线箭头A1、A2标出第一节点和第二节点间链路从活跃状态到失效状态的状态迁移,即从Working-Working、Working-Unknown、至Reset-Unknown状态的切换。
举一实例结合图4内容来讲解图3实施例的原理,在第二节点以一时间间隔t周期性向第一节点发送链路状态(linkstate)探测报文探测报文,发送后,所述第二节点设置其与第一节点间链路的链路状态为Working-Unknown;若第一节点收到后立即返回响应消息,则第二节点收到后,设置所述链路的链路状态为Working-Working,故而在此情况下Working-Unknown状态是瞬间的;若第一节点意外宕机,则可能造成第二节点未在预定时间t1内收到第一节点的响应消息,持续为Working-Unknown,在此情形发生之后,第二节点每隔第二预定时间t2发送所述链路状态探测报文,且若在发送的所述链路状态探测报文数量达到预定数量(例如连续的abort_limit个,也就是持续的abort_limit*t2的时间段)且仍未收到第一节点的响应消息时,设置所述链路的链路状态为Reset-Unknown。
可选的,在设置所述链路的链路状态为Reset-Unknown之后,每隔第三预定时间t3发送链路状态探测报文给第一节点;其中,由于已认为该链路失效,因此关注度可以降低,故所述第三预定时间t3可以大于第二预定时间t2,例如t3=4*t2,当然此为举例,并非以此为限制。
需说明的是,上述t、t1、t2、t3、abort_limit等参数均可根据实际需求加以设定,通过该些参数的设定,可以控制状态迁移的时间,一般将最大理论时间控制在500ms以内。
对应于前述方法实施例,本发明实施例中还可以提供保活检测装置。
如图5所示,展示实施例中所述保活检测装置的功能模块示意图。所述保活检测装置的原理与前述方法实施例大致相同,因此实施例间可通用的技术细节不作重复赘述。
所述保活检测装置应用于支持TIPC通信协议的通信系统(例如图1实施例中的通信系统);所述通信系统包含多个通信节点,所述多个通信节点包括:相互连接的第一节点500及第二节点501;所述保活检测装置装载于所述第二节点501,其包括:应用程序502、节点名称列表503及拓扑服务端504。
所述节点名称列表503,用于记载与所述第二节点501连接的各节点的服务地址端口的端口标识;其中,所述第二节点501在接收到表示第一节点500进入正常宕机状态的地址撤销报文、或表示进入正常工作状态的地址发布报文时,所述节点名称列表503会更新,所述更新包括:删除或增加关于第一节点500的服务地址端口的端口标识。
所述拓扑服务端504,用于向建立拓扑订阅服务关系的应用程序502提供拓扑订阅服务,其订阅内容包括:第一节点500的服务地址端口的状态变化,以令拓扑服务端504在侦测到所述节点名称列表503的更新时,生成对应通知消息至所述应用程序502。
于本发明的一实施例中,所述的保活检测装置还包括:通信链路检测模块505,用于发送一或多个链路状态探测报文至第一节点500;并根据所述第一节点500对所述一或多个链路状态探测报文的响应时间,判断第一节点500和第二节点501间链路的链路状态为活跃状态或失效状态,以供确定第一节点500是否处于故障状态,即前述的意外宕机状态。
于本发明的一实施例中,所述链路状态由TIPC通信协议定义,所述活跃状态包括:Working-Working及Working-Unknown;所述无效链路状态失效状态包括:Reset-Unknown以及Reset-Reset;所述根据所述第一节点500对所述一或多个链路状态探测报文的响应时间,判断第一节点500和第二节点501间链路的链路状态为活跃状态或失效状态,包括:在发送一链路状态探测报文后,所述第二节点501设置其与第一节点500间链路的链路状态为Working-Unknown;若收到第一节点500的响应消息,则设置所述链路的链路状态为Working-Working;若未在预定时间内收到第一节点500的响应消息,则每隔第二预定时间发送所述链路状态探测报文;在发送的所述链路状态探测报文数量达到预定数量且仍未收到第一节点500的响应消息时,设置所述链路的链路状态为Reset-Unknown。
于本发明的一实施例中,所述通信链路检测模块505,用于在设置所述链路的链路状态为Reset-Unknown之后,每隔第三预定时间发送链路状态探测报文给第一节点500;其中,所述第三预定时间大于第二预定时间。
需特别说明的是,虽然前述实施例中,例如图2~图5,都是展示实现第二节点对第一节点的保活检测,但是,在该些实施例中,并不限制第一节点也可以具有对第二节点的保活检测能力。
也就是说,在图2~图5的实施例中,所述第一节点也可以存储有拓扑服务端及节点名称列表等,拓扑服务端和第一节点上的应用程序间建立拓扑订阅服务关系,从而第一节点可以执行类似于图2实施例中的各个方法步骤来对第二节点的正常宕机状态的切换进行检测;可选的,所述第一节点也可以执行类似于图3实施例中的各个方法步骤来对第二节点的意外宕机状态的迁移进行检测,也就是说,第一节点可以与第二节点间互相保活检测,如此可以进一步增加保活检测的全面性。
如图6所示,展示本发明实施例中一通信节点600的结构,位于支持TIPC通信协议的通信系统中;所述通信系统还包括:第一节点;所述通信节点600用于实现前述实施例中的第二节点,当然,在所述第一节点同样具备对第二节点的保活检测能力的时,本实施例的通信节点600可同样用于实现所述第一节点。
所述通信节点600包括:通信器601、存储器602及处理器603。
所述通信器601,与所述第一节点通信;
所述存储器602,用于存储计算机程序;所述计算机程序中包括实现所述应用程序、拓扑服务端、及节点名称列表的部分。
所述处理器603,用于运行所述计算机程序以实现例如图2、图3等实施例中的保活检测方法,即可以实现所述保活检测方法中的各个步骤。
可选的,通信器601、处理器603及存储器602之间可以通过系统总线连接,即如图中粗线所示,系统总线可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。需说明的是,系统总线在图中虽然仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。
所述通信器601可以例如是板卡间通信的接口电路实现,或者设备间通信的有线/无线通信电路实现,或其它任何能用于节点间通信的通信电路实现。
所述处理器603可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器602可能包含随机存取存储器(RandomAccessMemory,简称RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
为实现上述目标及其他相关目标,本发明提供一种计算机存储介质,存储有计算机程序,被运行时实现所述的保活检测方法。所述存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本发明的保活检测方法、装置、节点、存储介质及通信系统,应用于支持TIPC通信协议的通信系统;所述通信系统包含多个通信节点,所述多个通信节点包括:相互连接的第一节点及第二节点,其中,至少所述第二节点存储有节点名称列表,用于存储与所述第二节点连接的各节点的服务地址端口的端口标识,并配置有拓扑服务端;所述保活检测方法包括:所述第二节点的拓扑服务端向应用程序提供拓扑订阅服务,其订阅内容包括:第一节点的服务地址端口的状态;在接收到表示第一节点进入正常宕机状态的地址撤销报文、或表示进入正常工作状态的地址发布报文时,第二节点执行对其节点名称列表的更新,包括:在其节点名称列表中删除或增加第一节点服务地址端口的端口标识;所述第二节点的拓扑服务端在侦测到所述节点名称列表的更新,生成对应通知消息至所述应用程序。
本发明基于TIPC进行保活检测方案的改进,利用TIPC具有物理拓扑发现的功能,提供上层的拓扑订阅服务;且优选的,还可利用节点间链路设计有双向的维护报文作为心跳,充分利用TIPC提供的这些特殊服务并加以适当的修改不仅可以简化上层应用设计,还可以通过避免引入大量额外的心跳包从而节省带宽资源。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (12)

1.一种保活检测方法,其特征在于,应用于支持TIPC通信协议的通信系统;所述通信系统包含多个通信节点,所述多个通信节点包括:相互连接的第一节点及第二节点,其中,至少所述第二节点存储有节点名称列表,用于存储与所述第二节点连接的各节点的服务地址端口的端口标识,并配置有拓扑服务端;所述保活检测方法包括:
所述第二节点的拓扑服务端向应用程序提供拓扑订阅服务,其订阅内容包括:第一节点的服务地址端口的状态;
在接收到表示第一节点进入正常宕机状态的地址撤销报文、或表示进入正常工作状态的地址发布报文时,第二节点执行对其节点名称列表的更新,包括:在其节点名称列表中删除或增加第一节点服务地址端口的端口标识;对应正常宕机情况,通过TIPC通信协议保留的特殊服务地址端口{0,<Z,C,N>}结合节点名称列表以及拓扑服务端进程实现检测;其中,<Z,C,N>为端口地址,Z即域;C表示簇;N即节点(Node);
所述拓扑服务端订阅内容包括:第一节点的服务地址端口的状态;
所述第二节点的拓扑服务端在侦测到所述节点名称列表的更新,生成对应通知消息至所述应用程序,以供应用程序执行后续策略;
所述第二节点发送一或多个链路状态探测报文至第一节点;
根据所述第一节点对所述一或多个链路状态探测报文的响应时间,第二节点判断第一节点和第二节点间链路的链路状态为活跃状态或失效状态,以供确定第一节点是否处于故障状态。
2.根据权利要求1所述的保活检测方法,其特征在于,所述链路状态由TIPC通信协议定义,所述活跃状态包括:Working-Working及Working-Unknown;所述失效状态包括:
Reset-Unknown以及Reset-Reset;
所述根据所述第一节点对所述一或多个链路状态探测报文的响应时间,第二节点判断第一节点和第二节点间链路的链路状态为活跃状态或失效状态,包括:
在发送一链路状态探测报文后,所述第二节点设置其与第一节点间链路的链路状态为Working-Unknown;
若收到第一节点的响应消息,则设置所述链路的链路状态为Working-Working;
若未在预定时间内收到第一节点的响应消息,则每隔第二预定时间发送所述链路状态探测报文;
在发送的所述链路状态探测报文数量达到预定数量且仍未收到第一节点的响应消息时,设置所述链路的链路状态为Reset-Unknown。
3.根据权利要求2所述的保活检测方法,其特征在于,包括:在设置所述链路的链路状态为Reset-Unknown之后,每隔第三预定时间发送链路状态探测报文给第一节点;其中,所述第三预定时间大于第二预定时间。
4.一种保活检测装置,其特征在于,应用于支持TIPC通信协议的通信系统;所述通信系统包含多个通信节点,所述多个通信节点包括:相互连接的第一节点及第二节点;所述保活检测装置装载于所述第二节点,其包括:应用程序、节点名称列表及拓扑服务端;
所述节点名称列表,用于记载与所述第二节点连接的各节点的服务地址端口的端口标识;其中,所述第二节点在接收到表示第一节点进入正常宕机状态的地址撤销报文、或表示进入正常工作状态的地址发布报文时,所述节点名称列表会更新,所述更新包括:删除或增加关于第一节点的服务地址端口的端口标识;对应正常宕机情况,通过TIPC通信协议保留的特殊服务地址端口{0,<Z,C,N>}结合节点名称列表以及拓扑服务端进程实现检测;其中,<Z,C,N>为端口地址,Z即域;C表示簇;N即节点(Node);所述拓扑服务端订阅内容包括:第一节点的服务地址端口的状态;
所述拓扑服务端,用于向建立拓扑订阅服务关系的应用程序提供拓扑订阅服务,其订阅内容包括:第一节点的服务地址端口的状态变化,以令拓扑服务端在侦测到所述节点名称列表的更新时,生成对应通知消息至所述应用程序,以供应用程序执行后续策略;
通信链路检测模块,用于发送一或多个链路状态探测报文至第一节点;并根据所述第一节点对所述一或多个链路状态探测报文的响应时间,判断第一节点和第二节点间链路的链路状态为活跃状态或失效状态,以供确定第一节点是否处于故障状态。
5.根据权利要求4所述的保活检测装置,其特征在于,所述链路状态由TIPC通信协议定义,所述活跃状态包括:Working-Working及Working-Unknown;所述失效状态包括:
Reset-Unknown以及Reset-Reset;
所述根据所述第一节点对所述一或多个链路状态探测报文的响应时间,判断第一节点和第二节点间链路的链路状态为活跃状态或失效状态,包括:
在发送一链路状态探测报文后,所述第二节点设置其与第一节点间链路的链路状态为Working-Unknown;
若收到第一节点的响应消息,则设置所述链路的链路状态为Working-Working;
若未在预定时间内收到第一节点的响应消息,则每隔第二预定时间发送所述链路状态探测报文;
在发送的所述链路状态探测报文数量达到预定数量且仍未收到第一节点的响应消息时,设置所述链路的链路状态为Reset-Unknown。
6.根据权利要求5所述的保活检测装置,其特征在于,所述通信链路检测模块,用于在设置所述链路的链路状态为Reset-Unknown之后,每隔第三预定时间发送链路状态探测报文给第一节点;其中,所述第三预定时间大于第二预定时间。
7.一种通信节点,其特征在于,位于支持TIPC通信协议的通信系统中;所述通信系统还包括:第一节点;所述通信节点包括:通信器、存储器及处理器;
所述通信器,与所述第一节点通信;
所述存储器,用于存储计算机程序;
所述处理器,用于运行所述计算机程序以实现如权利要求1至3中任一项所述的保活检测方法。
8.一种计算机存储介质,其特征在于,存储有计算机程序,被运行时实现如权利要求1至3中任一项所述的保活检测方法。
9.一种通信系统,其特征在于,包括:
如权利要求7所述的通信节点;以及
所述第一节点,与所述通信节点连接。
10.根据权利要求9所述的通信系统,其特征在于,所述第一节点也执行所述保活检测方法来检测通信节点的状态。
11.根据权利要求9所述的通信系统,其特征在于,所述第一节点为主用节点,所述通信节点为所述主用节点的备用节点;或者,所述通信节点为主用节点或备用节点,所述第一节点为通信系统中的业务节点;或者,所述通信节点及第一节点均为通信系统中的业务节点。
12.根据权利要求9所述的通信系统,其特征在于,所述通信系统实现于一通信设备,所述通信设备中的多个板卡分别实现所述通信节点及第一节点。
CN201811126093.7A 2018-09-26 2018-09-26 保活检测方法、装置、节点、存储介质及通信系统 Active CN110958151B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811126093.7A CN110958151B (zh) 2018-09-26 2018-09-26 保活检测方法、装置、节点、存储介质及通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811126093.7A CN110958151B (zh) 2018-09-26 2018-09-26 保活检测方法、装置、节点、存储介质及通信系统

Publications (2)

Publication Number Publication Date
CN110958151A CN110958151A (zh) 2020-04-03
CN110958151B true CN110958151B (zh) 2023-06-23

Family

ID=69966095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811126093.7A Active CN110958151B (zh) 2018-09-26 2018-09-26 保活检测方法、装置、节点、存储介质及通信系统

Country Status (1)

Country Link
CN (1) CN110958151B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328566A (zh) * 2021-04-25 2022-11-11 华为技术有限公司 应用保活方法、电子设备及存储介质
CN114629968B (zh) * 2022-03-03 2024-05-28 南京国电南自电网自动化有限公司 一种继电保护装置的通信保活系统及方法
CN115865729B (zh) * 2022-11-24 2024-07-12 杭州米络星科技(集团)有限公司 程序服务健康性判断方法和装置、存储介质和终端
CN115988055A (zh) * 2022-12-27 2023-04-18 北京百度网讯科技有限公司 通信方法、装置、设备以及存储介质
WO2024152326A1 (zh) * 2023-01-19 2024-07-25 Oppo广东移动通信有限公司 确定设备连接状态的方法、客户端设备和服务端设备
CN116506327B (zh) * 2023-06-26 2023-11-24 中航金网(北京)电子商务有限公司 物理节点监测方法、装置、计算机设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
CN101272341B (zh) * 2008-05-27 2011-11-09 杭州华三通信技术有限公司 分布式架构下实现硬件组播的方法、装置、分布式系统和路由设备
US9036616B2 (en) * 2013-01-25 2015-05-19 Qualcomm Incorporated Synchronizing generation and transmission of keep-alive messages
CN104052804A (zh) * 2014-06-09 2014-09-17 深圳先进技术研究院 一种不同任务拓扑间共享数据流的方法、装置及集群
CN107360012B (zh) * 2016-05-10 2020-05-05 大唐移动通信设备有限公司 一种链路状态处理方法及网络节点设备

Also Published As

Publication number Publication date
CN110958151A (zh) 2020-04-03

Similar Documents

Publication Publication Date Title
CN110958151B (zh) 保活检测方法、装置、节点、存储介质及通信系统
JP4680919B2 (ja) ネットワークノードクラスタのための冗長なルーティング機能
EP3817290B1 (en) Member change method for distributed system, and distributed system
US20130139178A1 (en) Cluster management system and method
WO2020057445A1 (zh) 一种通信系统、方法及装置
CN109309617A (zh) 容灾切换方法、相关设备及计算机存储介质
CN111585835B (zh) 一种带外管理系统的控制方法、装置和存储介质
CN116126457A (zh) 容器迁移方法和服务器集群
CN112165429A (zh) 分布式交换设备的链路聚合收敛方法和设备
WO2021254466A1 (zh) 一种配置边缘侧设备的方法、装置及系统
CN111314443A (zh) 基于分布式存储系统的节点处理方法、装置和设备及介质
CN112803998B (zh) 多总线网络跨网通信方法、装置、系统、设备和存储介质
CN108366087B (zh) 一种基于分布式文件系统的iscsi服务实现方法和装置
CN112994918B (zh) 一种设备管理方法及装置
CN104794026A (zh) 一种集群实例多数据源绑定的故障转移方法
EP1282953B1 (en) Communications system
JP2018056633A (ja) クラスタシステム、サーバ、サーバの動作方法、及びプログラム
CN114189471B (zh) 跨设备链路聚合组主备配置方法、系统、终端及存储介质
JP2009075710A (ja) 冗長化システム
CN113805788B (zh) 一种分布式存储系统及其异常处理方法和相关装置
CN111586110B (zh) 一种raft在出现点对点故障时的优化处理方法
EP0511925A2 (en) Dynamic backup and recovery of focal points in a computer network
CN112437162A (zh) 基于订阅与发布机制的无人艇信息交互方法、系统及终端
CN111064608A (zh) 消息系统的主从切换方法、装置、电子设备及存储介质
US10122588B2 (en) Ring network uplink designation

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