CN103034552A - 一种在软件系统中实现软件看门狗的方法 - Google Patents

一种在软件系统中实现软件看门狗的方法 Download PDF

Info

Publication number
CN103034552A
CN103034552A CN2012105285287A CN201210528528A CN103034552A CN 103034552 A CN103034552 A CN 103034552A CN 2012105285287 A CN2012105285287 A CN 2012105285287A CN 201210528528 A CN201210528528 A CN 201210528528A CN 103034552 A CN103034552 A CN 103034552A
Authority
CN
China
Prior art keywords
tcp
monitored
monitoring process
monitoring
software systems
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
CN2012105285287A
Other languages
English (en)
Other versions
CN103034552B (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.)
Taicang T&W Electronics Co Ltd
Original Assignee
Taicang T&W Electronics 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 Taicang T&W Electronics Co Ltd filed Critical Taicang T&W Electronics Co Ltd
Priority to CN201210528528.7A priority Critical patent/CN103034552B/zh
Publication of CN103034552A publication Critical patent/CN103034552A/zh
Application granted granted Critical
Publication of CN103034552B publication Critical patent/CN103034552B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种监视软件系统稳定性的方法,尤其涉及一种在软件系统中实现软件看门狗的方法,该方法包括:创建TCP连接,收被监控进程的TCP连接请求,被监控进程通过TCP连接向监控进程发送本进程信息,监控进程监听与所有被监控进程之间TCP连接状态,当被监控进程异常退出后,断开相应的TCP连接,判断对应的被监控进程已经异常退出,重启被监控进程,使软件系统恢复正常。本发明的作用是:采用了该发明的软件系统中利用TCP连接来监控系统状态的方法,能够在软件系统的进程真正异常退出时自动恢复,极大提高了软件系统的稳定性,且由于使用标准的TCP连接,实现非常简单可靠。

Description

一种在软件系统中实现软件看门狗的方法
技术领域
本发明涉及一种监视软件系统稳定性的方法,尤其涉及一种在软件系统中实现软件看门狗的方法。
背景技术
在软件系统中,为了保证软件系统的稳定性,需要通过软件看门狗实现对整个软件系统的监视。大多数情况下,软件看门狗的实现方式都是各进程定时向监控进程发送心跳消息,证明自己处于正常运行状态。当监控进程发现某个进程在很长时间内没有发送心跳消息后,就以此断定该进程已经僵死,并重启整个系统,使系统恢复正常。但采用这种逻辑会导致监控进程做出错误的判断,因为有可能某个进程由于正常的运行非常繁忙而根本没有时间向监控进程发送心跳消息,在这种情况下,监控进程会错误认为正常运行的进程异常退出,造成不必要的故障恢复。
发明内容
本发明的目的在于提供一种在软件系统中实现软件看门狗的方法,解决了现有的用于软件系统的看门狗荣誉判断错误,导致不必要的故障恢复的问题。
为解决上述问题,本发明所采取的技术方案是:
一种在软件系统中实现软件看门狗的方法,包括以下步骤
软件系统启动后首先启动监控进程,监控进程创建TCP连接并等待连接请求;
被监控进程启动后自动建立到监控进程的TCP连接,监控进程接收被监控进程的TCP连接请求;
被监控进程通过TCP连接向监控进程发送本进程信息,监控进程接收进程信息,并保存进程信息和TCP连接的对应关系;
监控进程监听与所有被监控进程之间TCP连接状态,当被监控进程异常退出后,断开相应的TCP连接;
监控进程据TCP连接的断开判断对应的被监控进程已经异常退出;
被监控进程异常退出,TCP连接断开后,监控进程根据TCP连接查询到异常退出的进程信息,重启被监控进程,使软件系统恢复正常。
更进一步的技术方案是上述软件系统启动后,监控进程创建TCP连接套接字,并在监听该套接字,等待其他进程的连接请求。
更进一步的技术方案是上述被监控进程启动后创建TCP套接字,并建立到监控进程的TCP连接,监控进程接收被监控进程的TCP连接请求,建立一条监控进程和被监控进程之间的TCP连接。
更进一步的技术方案是上述被监控进程通过TCP连接向监控进程发送本进程信息,包括启动命令和启动参数,监控进程接收接收集成消息,并将进程信息和TCP连接的对应关系保存到一张关系表中。
更进一步的技术方案是上述被监控进程异常退出,TCP连接断开后,监控进程的根据TCP连接和进程信息对应关系表获取异常退出进程的进程信息,然后重启被监控进程,使软件系统恢复正常。
采用上述技术方案所产生的有益效果在于:采用了该发明的软件系统中利用TCP连接来监控系统状态的方法,能够在软件系统的进程真正异常退出时自动恢复,极大提高了软件系统的稳定性,且由于使用标准的TCP连接,实现非常简单可靠。
附图说明
图1是本发明一个实施例的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明一种在软件系统中实现软件看门狗的方法的一个实施例:一种在软件系统中实现软件看门狗的方法,包括以下步骤
软件系统启动后首先启动监控进程,监控进程创建TCP连接并等待连接请求;
被监控进程启动后自动建立到监控进程的TCP连接,监控进程接收被监控进程的TCP连接请求;
被监控进程通过TCP连接向监控进程发送本进程信息,监控进程接收进程信息,并保存进程信息和TCP连接的对应关系;
监控进程监听与所有被监控进程之间TCP连接状态,当被监控进程异常退出后,断开相应的TCP连接;
监控进程据TCP连接的断开判断对应的被监控进程已经异常退出;
被监控进程异常退出,TCP连接断开后,监控进程根据TCP连接查询到异常退出的进程信息,重启被监控进程,使软件系统恢复正常。
根据本发明一种在软件系统中实现软件看门狗的方法的一个优选实施例,软件系统启动后,监控进程创建TCP连接套接字,并在监听该套接字,等待其他进程的连接请求。
根据本发明一种在软件系统中实现软件看门狗的方法的另一个优选实施例,被监控进程启动后创建TCP套接字,并建立到监控进程的TCP连接,监控进程接收被监控进程的TCP连接请求,建立一条监控进程和被监控进程之间的TCP连接。
根据本发明一种在软件系统中实现软件看门狗的方法的另一个优选实施例,被监控进程通过TCP连接向监控进程发送本进程信息,包括启动命令和启动参数,监控进程接收接收集成消息,并将进程信息和TCP连接的对应关系保存到一张关系表中。
根据本发明一种在软件系统中实现软件看门狗的方法的另一个优选实施例,被监控进程异常退出,TCP连接断开后,监控进程的根据TCP连接和进程信息对应关系表获取异常退出进程的进程信息,然后重启被监控进程,使软件系统恢复正常。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开、附图和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

Claims (5)

1.一种在软件系统中实现软件看门狗的方法,其特征在于:包括以下步骤
软件系统启动后首先启动监控进程,监控进程创建TCP连接并等待连接请求;
被监控进程启动后自动建立到监控进程的TCP连接,监控进程接收被监控进程的TCP连接请求;
被监控进程通过TCP连接向监控进程发送本进程信息,监控进程接收进程信息,并保存进程信息和TCP连接的对应关系;
监控进程监听与所有被监控进程之间TCP连接状态,当被监控进程异常退出后,断开相应的TCP连接;
监控进程据TCP连接的断开判断对应的被监控进程已经异常退出;
被监控进程异常退出,TCP连接断开后,监控进程根据TCP连接查询到异常退出的进程信息,重启被监控进程,使软件系统恢复正常。
2.根据权利要求1所述的一种在软件系统中实现软件看门狗的方法,其特征在于:所述软件系统启动后,监控进程创建TCP连接套接字,并在监听该套接字,等待其他进程的连接请求。
3.根据权利要求1所述的一种在软件系统中实现软件看门狗的方法,其特征在于:所述被监控进程启动后创建TCP套接字,并建立到监控进程的TCP连接,监控进程接收被监控进程的TCP连接请求,建立一条监控进程和被监控进程之间的TCP连接。
4.根据权利要求1所述的一种在软件系统中实现软件看门狗的方法,其特征在于:所述被监控进程通过TCP连接向监控进程发送本进程信息,包括启动命令和启动参数,监控进程接收接收集成消息,并将进程信息和TCP连接的对应关系保存到一张关系表中。
5.根据权利要求1所述的一种在软件系统中实现软件看门狗的方法,其特征在于:所述被监控进程异常退出,TCP连接断开后,监控进程的根据TCP连接和进程信息对应关系表获取异常退出进程的进程信息,然后重启被监控进程,使软件系统恢复正常。
CN201210528528.7A 2012-12-11 2012-12-11 一种在软件系统中实现软件看门狗的方法 Active CN103034552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210528528.7A CN103034552B (zh) 2012-12-11 2012-12-11 一种在软件系统中实现软件看门狗的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210528528.7A CN103034552B (zh) 2012-12-11 2012-12-11 一种在软件系统中实现软件看门狗的方法

Publications (2)

Publication Number Publication Date
CN103034552A true CN103034552A (zh) 2013-04-10
CN103034552B CN103034552B (zh) 2015-11-25

Family

ID=48021475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210528528.7A Active CN103034552B (zh) 2012-12-11 2012-12-11 一种在软件系统中实现软件看门狗的方法

Country Status (1)

Country Link
CN (1) CN103034552B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809400A (zh) * 2015-04-28 2015-07-29 联动优势科技有限公司 一种进程保护的方法及装置
CN106371927A (zh) * 2016-09-09 2017-02-01 深圳创维数字技术有限公司 一种Linux守护进程的实现方法及系统
CN108762886A (zh) * 2018-05-08 2018-11-06 烽火通信科技股份有限公司 虚拟机的故障检测恢复方法及系统
CN110308943A (zh) * 2018-03-20 2019-10-08 腾讯科技(深圳)有限公司 程序运行方法、装置、计算设备以及存储介质
CN112749038A (zh) * 2021-01-26 2021-05-04 北京中电兴发科技有限公司 一种在软件系统中实现软件看门狗的方法及系统
CN112769652A (zh) * 2021-01-14 2021-05-07 苏州浪潮智能科技有限公司 一种节点服务监控方法、装置、设备及介质
CN114285771A (zh) * 2021-12-30 2022-04-05 阿里巴巴(中国)有限公司 一种tcp连接的连接状态追踪方法及装置
CN115220993A (zh) * 2022-04-20 2022-10-21 广州汽车集团股份有限公司 进程监控方法、装置、车辆及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085426A1 (en) * 2004-10-14 2006-04-20 Sanjay Verma Oplogging for online recovery in direct connection client server systems
CN101901168A (zh) * 2010-06-29 2010-12-01 深圳市景阳科技股份有限公司 一种看门狗复位系统及其复位方法
CN102622291A (zh) * 2012-03-13 2012-08-01 苏州阔地网络科技有限公司 一种进程的监控方法及系统
CN102722419A (zh) * 2012-05-15 2012-10-10 太仓市同维电子有限公司 一种监视保障系统可靠性的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085426A1 (en) * 2004-10-14 2006-04-20 Sanjay Verma Oplogging for online recovery in direct connection client server systems
CN101901168A (zh) * 2010-06-29 2010-12-01 深圳市景阳科技股份有限公司 一种看门狗复位系统及其复位方法
CN102622291A (zh) * 2012-03-13 2012-08-01 苏州阔地网络科技有限公司 一种进程的监控方法及系统
CN102722419A (zh) * 2012-05-15 2012-10-10 太仓市同维电子有限公司 一种监视保障系统可靠性的方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809400A (zh) * 2015-04-28 2015-07-29 联动优势科技有限公司 一种进程保护的方法及装置
CN106371927A (zh) * 2016-09-09 2017-02-01 深圳创维数字技术有限公司 一种Linux守护进程的实现方法及系统
CN110308943A (zh) * 2018-03-20 2019-10-08 腾讯科技(深圳)有限公司 程序运行方法、装置、计算设备以及存储介质
CN110308943B (zh) * 2018-03-20 2021-10-19 腾讯科技(深圳)有限公司 程序运行方法、装置、计算设备以及存储介质
CN108762886A (zh) * 2018-05-08 2018-11-06 烽火通信科技股份有限公司 虚拟机的故障检测恢复方法及系统
CN108762886B (zh) * 2018-05-08 2020-12-01 烽火通信科技股份有限公司 虚拟机的故障检测恢复方法及系统
CN112769652A (zh) * 2021-01-14 2021-05-07 苏州浪潮智能科技有限公司 一种节点服务监控方法、装置、设备及介质
CN112749038A (zh) * 2021-01-26 2021-05-04 北京中电兴发科技有限公司 一种在软件系统中实现软件看门狗的方法及系统
CN112749038B (zh) * 2021-01-26 2023-03-10 北京中电兴发科技有限公司 一种在软件系统中实现软件看门狗的方法及系统
CN114285771A (zh) * 2021-12-30 2022-04-05 阿里巴巴(中国)有限公司 一种tcp连接的连接状态追踪方法及装置
CN114285771B (zh) * 2021-12-30 2024-02-06 阿里巴巴(中国)有限公司 一种tcp连接的连接状态追踪方法及装置
CN115220993A (zh) * 2022-04-20 2022-10-21 广州汽车集团股份有限公司 进程监控方法、装置、车辆及存储介质
CN115220993B (zh) * 2022-04-20 2024-03-12 广州汽车集团股份有限公司 进程监控方法、装置、车辆及存储介质

Also Published As

Publication number Publication date
CN103034552B (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
CN103034552A (zh) 一种在软件系统中实现软件看门狗的方法
CN101996106B (zh) 一种对软件运行状态进行监控的方法
CN101980171B (zh) 一种软件系统故障自恢复方法及其使用的软件看门狗系统
CN102394791A (zh) 宕机恢复方法和系统
CN102047643B (zh) 用于在服务器故障的事件中能使客户端应用更快恢复的方法
CN102394914A (zh) 集群脑裂处理方法和装置
CN102957623B (zh) 一种边界网关协议邻居的维护方法和设备
CN111385107B (zh) 一种服务器的主备切换处理方法及装置
CN103036719A (zh) 一种基于主备集群服务器的跨地区服务容灾方法及装置
US10037253B2 (en) Fault handling methods in a home service system, and associated household appliances and servers
CN103645975A (zh) 一种异常恢复的方法及串行总线传输装置
CN109391691A (zh) 一种单节点故障下nas服务的恢复方法及相关装置
CN102487342A (zh) 虚拟互联网协议地址绑定控制装置及方法
CN116699964A (zh) 一种工业过程控制器冗余运行方法和系统
CN104410687A (zh) 一种基于管道的多组进程间数据传递方法
CN102571465A (zh) 服务器异常告警系统及方法
CN103746842A (zh) 一种检测线卡故障重起的方法及系统
JP2016066303A (ja) サーバ装置、冗長構成サーバシステム、情報引継プログラム及び情報引継方法
CN107276832B (zh) 一种提升psu和系统通信可靠性的方法及装置
CN103139036A (zh) 电子设备及其信息处理方法
CN102752365B (zh) 信息处理的方法与装置
CN105553735A (zh) 一种堆叠系统故障处理方法、设备及堆叠系统
CN104660992A (zh) 视频掉线重连系统和方法
JP5077153B2 (ja) リング型ネットワークシステム及びリング型ネットワークシステムの復旧方法
CN103441872A (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
C14 Grant of patent or utility model
GR01 Patent grant