CN103034552A - 一种在软件***中实现软件看门狗的方法 - Google Patents
一种在软件***中实现软件看门狗的方法 Download PDFInfo
- 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
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连接和进程信息对应关系表获取异常退出进程的进程信息,然后重启被监控进程,使软件***恢复正常。
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)
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)
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 | 太仓市同维电子有限公司 | 一种监视保障***可靠性的方法 |
-
2012
- 2012-12-11 CN CN201210528528.7A patent/CN103034552B/zh active Active
Patent Citations (4)
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)
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) | 一种软件***故障自恢复方法及其使用的软件看门狗*** | |
CN111385107B (zh) | 一种服务器的主备切换处理方法及装置 | |
CN102394791A (zh) | 宕机恢复方法和*** | |
CN102047643B (zh) | 用于在服务器故障的事件中能使客户端应用更快恢复的方法 | |
CN102394914A (zh) | 集群脑裂处理方法和装置 | |
CN102957623B (zh) | 一种边界网关协议邻居的维护方法和设备 | |
US10037253B2 (en) | Fault handling methods in a home service system, and associated household appliances and servers | |
CN109391691A (zh) | 一种单节点故障下nas服务的恢复方法及相关装置 | |
CN102487342A (zh) | 虚拟互联网协议地址绑定控制装置及方法 | |
CN116699964A (zh) | 一种工业过程控制器冗余运行方法和*** | |
CN104410687A (zh) | 一种基于管道的多组进程间数据传递方法 | |
CN102571465A (zh) | 服务器异常告警***及方法 | |
CN103746842A (zh) | 一种检测线卡故障重起的方法及*** | |
CN104539493A (zh) | 基于usb接口实现的智能终端对智能家电的管控***及其实现方法 | |
JP2016066303A (ja) | サーバ装置、冗長構成サーバシステム、情報引継プログラム及び情報引継方法 | |
CN103139036A (zh) | 电子设备及其信息处理方法 | |
CN102752365B (zh) | 信息处理的方法与装置 | |
CN105553735A (zh) | 一种堆叠***故障处理方法、设备及堆叠*** | |
CN104660992A (zh) | 视频掉线重连***和方法 | |
JP5077153B2 (ja) | リング型ネットワークシステム及びリング型ネットワークシステムの復旧方法 | |
CN103441872A (zh) | 一种用户侧设备的故障恢复方法、装置和通信*** | |
CN108254694A (zh) | 一种电池工作数据采集方法、***及存储介质 | |
CN102546233A (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 |