CN103067209A - 一种心跳模块自检测方法 - Google Patents

一种心跳模块自检测方法 Download PDF

Info

Publication number
CN103067209A
CN103067209A CN2013100289905A CN201310028990A CN103067209A CN 103067209 A CN103067209 A CN 103067209A CN 2013100289905 A CN2013100289905 A CN 2013100289905A CN 201310028990 A CN201310028990 A CN 201310028990A CN 103067209 A CN103067209 A CN 103067209A
Authority
CN
China
Prior art keywords
heartbeat
time
detection
poll
overtime
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.)
Granted
Application number
CN2013100289905A
Other languages
English (en)
Other versions
CN103067209B (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.)
Changzhi Langchao Yunhaiyun Computing Technology Co ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201310028990.5A priority Critical patent/CN103067209B/zh
Publication of CN103067209A publication Critical patent/CN103067209A/zh
Application granted granted Critical
Publication of CN103067209B publication Critical patent/CN103067209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种心跳模块自检测方法,其具体检测步骤包括:发送心跳流程:发送心跳流程以心跳时间间隔为频率定时发送;检测心跳超时流程:用于检查某个节点或某个心跳媒介是否出现故障,进行业务报警;所述检测心跳超时流程的执行频率大于发送心跳流程的执行频率,且这两个流程对两个轮询进行互检,当某个轮询出现异常时,将重新启动该轮询,并更新下一次异常检测时间,所述两个流程应用于高可用集群中。该一种心跳模块自检测方法和现有技术相比,能够解决因轮询失效无法实时提供业务状态并及时进行业务报警的问题,解决了心跳发送异常问题;提高了节点和媒介状态检测的可靠性。

Description

一种心跳模块自检测方法
技术领域
本发明涉及高可用集群系统中多节点消息通信的方法,具体的说是一种心跳模块自检测方法。
背景技术
高可用集群系统是指能够保证业务24小时不中断,在系统发生问题或者应用软件发生问题时,能够快速恢复业务,尽可能将宕机时间控制在分钟级别的系统。高可用集群系统由下至上主要包括以下几个模块:心跳模块、资源监控模块、资源管理模块、分布式控制台模块和web服务模块。
其中,心跳模块负责多节点的信息传输,是整个系统的核心,是信息交换的枢纽。该模块的可靠性和稳定性直接影响整个系统的实时效应,即实时提供业务状态并及时进行业务预警。面对多节点多媒介的信息传输,要求可进行多播和广播、传输速率快、信息量大且不遗漏、资源开销少。心跳模块一般采用glib库中main event loop轮询机制进行消息发送,以及节点和媒介的状态检测。但由于该机制复杂度高,封装性强,调用时程序中的某个错误可能使得该轮询在某个运行点失效,从而导致心跳模块无法正常工作,甚至使高可用集群系统瘫痪。同时高可用集群系统要求保证业务7×24小时不间断运行,对可靠性,稳定性要求极高,一旦出现轮询失效,对企业将是巨大的损失。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种心跳模块自检测方法。
本发明的技术方案是按以下方式实现的,该一种心跳模块自检测方法,其具体检测步骤包括:
发送心跳流程:发送心跳流程以心跳时间间隔为频率定时发送;
检测心跳超时流程:用于检查某个节点或某个心跳媒介是否出现故障,进行业务报警;
所述检测心跳超时流程的执行频率大于发送心跳流程的执行频率,且这两个流程对两个轮询进行互检,当某个轮询出现异常时,将重新启动该轮询,并更新下一次异常检测时间,所述两个流程应用于高可用集群中。
所述发送心跳流程的详细步骤为:
步骤1、获取系统自开机以来的当前时间;
步骤2、检测心跳超时检测流程是否正常,若正常则进入步骤6,若不正常则进入步骤3;
步骤3、移除心跳超时检测轮询;
步骤4、重新根据心跳超时检测时间间隔添加新的超时检测轮询;
步骤5、更新超时检测时间;
步骤6、更新心跳发送时间;
步骤7、创建心跳信息并放到发送队列里等待发送。
所述步骤2的检测心跳超时检测流程为:通过比较心跳超时时间与步骤1测量的当前时间差值来确定心跳超时检测轮询是否异常,如果差值为正数,则表示正常,反之异常。
所述步骤5的详细过程为:超时检测时间更新为当前时间与超时检测时间间隔×4之和,表明再经过更新后的超时检测时间进行超时检测轮询的异常检测。
所述步骤6的详细过程为:心跳发送时间更新为当前时间与心跳发送时间间隔×2之和,表明再经过更新后的心跳发送时间进行心跳发送轮询的异常检测。
所述检测心跳超时流程的详细步骤为:
步骤1:获取系统自开机以来的当前时间;
步骤2、检测心跳发送检测流程是否正常,若正常则进入步骤6,若不正常则进入步骤3;
步骤3、移除心跳发送轮询;
步骤4、重新根据心跳发送时间间隔添加新的心跳发送轮询;
步骤5、更新心跳发送时间;
步骤6、更新超时检测时间;
步骤7、继续进行节点状态检测和心跳媒介的检测,并将检测结果反馈集群各节点。
所述步骤2的检测发送心跳流程是否正确过程为:通过比较心跳发送时间与当前时间差值来确定检测心跳发送检测流程是否正常,如果是正数,表明心跳发送轮询正常;如果为非正数,则为异常。
所述步骤5的详细过程为:心跳发送时间更新为当前时间与心跳发送时间间隔×2之和,表明再经过更新后的心跳发送时间进行心跳发送轮询的异常检测。
所述步骤6的详细过程为:超时检测时间更新为当前时间与超时检测时间间隔×4之和,表明再经过更新后的超时检测时间进行超时检测轮询的异常检测。
本发明与现有技术相比所产生的有益效果是:
本发明的一种心跳模块自检测方法该心跳模块自检测方法应用于高可用集群,能够解决因轮询失效无法实时提供业务状态并及时进行业务报警的问题,解决了心跳发送异常问题;提高了节点和媒介状态检测的可靠性,及时发现故障,第一时间进行业务资源切换。
附图说明
附图1是本发明的发送心跳流程示意图。
附图2是本发明的检测心跳超时流程示意图。
具体实施方式
下面结合附图对本发明的一种心跳模块自检测方法作以下详细说明。
一种心跳模块自检测方法,其具体检测步骤包括两个流程的互检:发送心跳流程和检测心跳超时流程,这两个流程都是通过main event loop机制实现的。发送心跳流程以心跳时间间隔为频率定时发送,如果该流程轮询失效,集群中所有节点将收不到该节点的消息,误判该节点为死亡节点。检测心跳超时流程,用于检查某个节点或某个心跳媒介是否出现故障,进行业务报警,如果该轮询失效,则无法通知集群故障,集群将不可操作。检测心跳超时流程的执行频率要大于发送心跳流程,以便及时发现故障,第一时间进行业务资源切换,保证集群业务高可用。
附图1是应用于高可用集群系统中心跳模块的发送心跳流程图,下面对各个步骤进行详细描述。
步骤101:获取系统自开机以来的当前时间,单位为毫秒。
步骤201:检测心跳超时检测流程是否正确:通过比较心跳超时时间与当前时间差值,如果非正,表明心跳超时检测轮询异常,执行步骤301;否则正常,执行步骤601。
步骤301:移除心跳超时检测轮询。
步骤401:根据心跳超时检测时间间隔添加新的超时检测轮询。
步骤501:超时检测时间更新,更新为当前时间与超时检测时间间隔×4之和,这里的×4是个经验值。表明再经过更新后的超时检测时间进行超时检测轮询的异常检测。
步骤601:心跳发送时间更新,更新为当前时间与心跳发送时间间隔×2之和,这里的×2是个经验值。表明再经过更新后的心跳发送时间进行心跳发送轮询的异常检测。
步骤701:创建心跳信息并放到发送队列里等待发送。
附图2是应用于高可用集群系统中心跳模块的检测心跳超时流程图,下面对该流程各个步骤进行详细描述。
步骤101:获取系统自开机以来的当前时间,单位为毫秒。
步骤201:检测发送心跳流程是否正确:通过比较心跳发送时间与当前时间差值,如果非正,表明心跳发送轮询异常,执行步骤301;否则正常,执行步骤601。
步骤301:移除心跳定时发送轮询。
步骤401:根据心跳发送时间间隔添加新的心跳发送轮询。
步骤501:心跳发送时间更新,更新为当前时间与心跳发送时间间隔×2之和,这里的×2是个经验值。表明再经过更新后的心跳发送时间进行心跳发送轮询的异常检测。
步骤601:超时检测时间更新,更新为当前时间与超时检测时间间隔×4之和,这里的×4是个经验值。表明再经过更新后的超时检测时间进行超时检测轮询的异常检测。
步骤701:继续进行节点状态检测和心跳媒介的检测,并将检测结果反馈集群各节点。
通过发送心跳流程和检测心跳超时流程对两个轮询进行互检,当某个轮询出现异常时,将重新启动该轮询,并更新下一次异常检测时间,从而实现了心跳模块的自检测方法。
至此,已经完整实现了心跳模块自检测方法,该方法与传统的集群心跳模块管理方法相比,增加了自检测流程,对两个重要的轮询:心跳发送轮询和心跳超时检测轮询添加互检机制,保证在消息量大,传输速率快的情况下,心跳模块的可用性、可靠性和稳定性,从而为集群的高可用提供有利保障。
除说明书所述的技术特征外,均为本专业技术人员的公知技术。

Claims (9)

1.一种心跳模块自检测方法,其特征在于:其具体检测步骤包括:
发送心跳流程:发送心跳流程以心跳时间间隔为频率定时发送;
检测心跳超时流程:用于检查某个节点或某个心跳媒介是否出现故障,进行业务报警;
所述检测心跳超时流程的执行频率大于发送心跳流程的执行频率,且这两个流程对两个轮询进行互检,当某个轮询出现异常时,将重新启动该轮询,并更新下一次异常检测时间,所述两个流程应用于高可用集群中。
2.根据权利要求1所述的一种心跳模块自检测方法,其特征在于:所述发送心跳流程的详细步骤为:
步骤1、获取系统自开机以来的当前时间;
步骤2、检测心跳超时检测流程是否正常,若正常则进入步骤6,若不正常则进入步骤3;
步骤3、移除心跳超时检测轮询;
步骤4、重新根据心跳超时检测时间间隔添加新的超时检测轮询;
步骤5、更新超时检测时间;
步骤6、更新心跳发送时间;
步骤7、创建心跳信息并放到发送队列里等待发送。
3.根据权利要求2所述的一种心跳模块自检测方法,其特征在于:所述步骤2的检测心跳超时检测流程为:通过比较心跳超时时间与步骤1测量的当前时间差值来确定心跳超时检测轮询是否异常,如果差值为正数,则表示正常,反之异常。
4.根据权利要求2所述的一种心跳模块自检测方法,其特征在于:所述步骤5的详细过程为:超时检测时间更新为当前时间与超时检测时间间隔×4之和,表明再经过更新后的超时检测时间进行超时检测轮询的异常检测。
5.根据权利要求2所述的一种心跳模块自检测方法,其特征在于:所述步骤6的详细过程为:心跳发送时间更新为当前时间与心跳发送时间间隔×2之和,表明再经过更新后的心跳发送时间进行心跳发送轮询的异常检测。
6.根据权利要求1所述的一种心跳模块自检测方法,其特征在于:所述检测心跳超时流程的详细步骤为:
步骤1:获取系统自开机以来的当前时间;
步骤2、检测心跳发送检测流程是否正常,若正常则进入步骤6,若不正常则进入步骤3;
步骤3、移除心跳发送轮询;
步骤4、重新根据心跳发送时间间隔添加新的心跳发送轮询;
步骤5、更新心跳发送时间;
步骤6、更新超时检测时间;
步骤7、继续进行节点状态检测和心跳媒介的检测,并将检测结果反馈集群各节点。
7.根据权利要求6所述的一种心跳模块自检测方法,其特征在于:所述步骤2的检测发送心跳流程是否正确过程为:通过比较心跳发送时间与当前时间差值来确定检测心跳发送检测流程是否正常,如果是正数,表明心跳发送轮询正常;如果为非正数,则为异常。
8.根据权利要求6所述的一种心跳模块自检测方法,其特征在于:所述步骤5的详细过程为:心跳发送时间更新为当前时间与心跳发送时间间隔×2之和,表明再经过更新后的心跳发送时间进行心跳发送轮询的异常检测。
9.根据权利要求6所述的一种心跳模块自检测方法,其特征在于:所述步骤6的详细过程为:超时检测时间更新为当前时间与超时检测时间间隔×4之和,表明再经过更新后的超时检测时间进行超时检测轮询的异常检测。
CN201310028990.5A 2013-01-25 2013-01-25 一种心跳模块自检测方法 Active CN103067209B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310028990.5A CN103067209B (zh) 2013-01-25 2013-01-25 一种心跳模块自检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310028990.5A CN103067209B (zh) 2013-01-25 2013-01-25 一种心跳模块自检测方法

Publications (2)

Publication Number Publication Date
CN103067209A true CN103067209A (zh) 2013-04-24
CN103067209B CN103067209B (zh) 2017-09-15

Family

ID=48109679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310028990.5A Active CN103067209B (zh) 2013-01-25 2013-01-25 一种心跳模块自检测方法

Country Status (1)

Country Link
CN (1) CN103067209B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103516556A (zh) * 2013-10-23 2014-01-15 北京国双科技有限公司 分布式系统及其控制方法和装置
CN105553760A (zh) * 2015-12-11 2016-05-04 中国科学院信息工程研究所 一种基于心跳的软件模块故障处理方法及系统
CN105656996A (zh) * 2015-12-25 2016-06-08 北京奇虎科技有限公司 数据节点存活的检测方法及装置
CN105703940A (zh) * 2015-12-10 2016-06-22 中国电力科学研究院 一种面向多级调度分布式并行计算的监控系统及监控方法
CN106961364A (zh) * 2017-04-24 2017-07-18 努比亚技术有限公司 心跳检测方法及应用服务器
CN109391495A (zh) * 2017-08-10 2019-02-26 阿里巴巴集团控股有限公司 发送及接收心跳消息的方法、装置、计算机可读介质及电子设备
CN109992436A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 线程阻塞检测方法及设备
CN112511368A (zh) * 2020-10-16 2021-03-16 深圳市科漫达智能管理科技有限公司 一种服务心跳监控方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100034116A1 (en) * 2008-08-08 2010-02-11 Hon Hai Precision Industry Co., Ltd. Network management systems and method for testing network devices using the same
CN102118309A (zh) * 2010-12-31 2011-07-06 中国科学院计算技术研究所 一种双机热备份方法及系统
CN102810073A (zh) * 2012-06-13 2012-12-05 天津大学 数据后台实时监控处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100034116A1 (en) * 2008-08-08 2010-02-11 Hon Hai Precision Industry Co., Ltd. Network management systems and method for testing network devices using the same
CN102118309A (zh) * 2010-12-31 2011-07-06 中国科学院计算技术研究所 一种双机热备份方法及系统
CN102810073A (zh) * 2012-06-13 2012-12-05 天津大学 数据后台实时监控处理方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103516556A (zh) * 2013-10-23 2014-01-15 北京国双科技有限公司 分布式系统及其控制方法和装置
CN105703940A (zh) * 2015-12-10 2016-06-22 中国电力科学研究院 一种面向多级调度分布式并行计算的监控系统及监控方法
CN105703940B (zh) * 2015-12-10 2021-08-20 中国电力科学研究院有限公司 一种面向多级调度分布式并行计算的监控系统及监控方法
CN105553760A (zh) * 2015-12-11 2016-05-04 中国科学院信息工程研究所 一种基于心跳的软件模块故障处理方法及系统
CN105553760B (zh) * 2015-12-11 2019-03-22 中国科学院信息工程研究所 一种基于心跳的软件模块故障处理方法及系统
CN105656996A (zh) * 2015-12-25 2016-06-08 北京奇虎科技有限公司 数据节点存活的检测方法及装置
CN105656996B (zh) * 2015-12-25 2019-03-01 北京奇虎科技有限公司 数据节点存活的检测方法及装置
CN106961364A (zh) * 2017-04-24 2017-07-18 努比亚技术有限公司 心跳检测方法及应用服务器
CN109391495A (zh) * 2017-08-10 2019-02-26 阿里巴巴集团控股有限公司 发送及接收心跳消息的方法、装置、计算机可读介质及电子设备
CN109992436A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 线程阻塞检测方法及设备
CN112511368A (zh) * 2020-10-16 2021-03-16 深圳市科漫达智能管理科技有限公司 一种服务心跳监控方法及相关装置

Also Published As

Publication number Publication date
CN103067209B (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
CN103067209A (zh) 一种心跳模块自检测方法
CN105323113B (zh) 一种基于可视化技术的系统故障应急处置方法
CN110581852A (zh) 一种高效型拟态防御系统及方法
CN103019866A (zh) 基于消息队列的分布式方法和系统
CN107147540A (zh) 高可用性系统中的故障处理方法和故障处理集群
US20210397497A1 (en) Intelligent network operation platform for network fault mitigation
CN104242450B (zh) 一种配电系统中无线模块状态的监测方法
WO2013071125A1 (en) Systems and methods for automatic replacement and repair of communications network devices
CN103490919A (zh) 故障管理系统和故障管理方法
CN100571170C (zh) 一种通讯链路故障的检测及恢复方法
CN104980524A (zh) 一种weblogic连接池失效监测方法
JP2011210064A (ja) ログ情報収集システム、装置、方法及びプログラム
CN101777951B (zh) 一种数据监测的方法和系统
CN106789398A (zh) 一种媒体大数据hadoop集群监控的方法
CN105607583A (zh) 一种监控方法、装置及电源系统中的第一监控单元
CN113434327A (zh) 一种故障处理系统、方法、设备和存储介质
CN103605592A (zh) 一种分布式计算机系统故障检测机制
CN102404386A (zh) 一种保证分布式文件系统元数据服务器组的服务高可靠的方法
CN107729213B (zh) 一种后台任务监控方法及装置
CN102026042A (zh) 一种高级电信计算架构控制面的保活、自愈方法和装置
CN104796283A (zh) 一种监控报警的方法
CN109032867A (zh) 一种故障诊断方法、装置及设备
CN110224872B (zh) 一种通信方法、装置及存储介质
CN104486149A (zh) 一种用于地面测试的有限状态机方法
CN111552746A (zh) 数据同步方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180816

Address after: 250101 S06 tower, 1036, Chao Lu Road, hi tech Zone, Ji'nan, Shandong.

Patentee after: SHANDONG LANGCHAO YUNTOU INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 250014 1036 Shun Ya Road, hi tech Zone, Ji'nan, Shandong.

Patentee before: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Inspur cloud Information Technology Co.,Ltd.

Address before: 250101 S06 tower, 1036, Chao Lu Road, hi tech Zone, Ji'nan, Shandong.

Patentee before: SHANDONG LANGCHAO YUNTOU INFORMATION TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20221013

Address after: 046000 Floor 5, Changzhi Municipal Government Affairs Hall, No. 406, Taihang West Street, Changzhi, Shanxi

Patentee after: Changzhi Langchao Yunhaiyun Computing Technology Co.,Ltd.

Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee before: Inspur cloud Information Technology Co.,Ltd.

TR01 Transfer of patent right