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

文档序号:6383655阅读:2046来源:国知局
专利名称:一种在软件系统中实现软件看门狗的方法
技术领域
本发明涉及一种监视软件系统稳定性的方法,尤其涉及一种在软件系统中实现软件看门狗的方法。
背景技术
在软件系统中,为了保证软件系统的稳定性,需要通过软件看门狗实现对整个软件系统的监视。大多数情况下,软件看门狗的实现方式都是各进程定时向监控进程发送心跳消息,证明自己处于正常运行状态。当监控进程发现某个进程在很长时间内没有发送心跳消息后,就以此断定该进程已经僵死,并重启整个系统,使系统恢复正常。但采用这种逻辑会导致监控进程做出错误的判断,因为有可能某个进程由于正常的运行非常繁忙而根本没有时间向监控进程发送心跳消息,在这种情况下,监控进程会错误认为正常运行的进程异常退出,造成不必要的故障恢复。

发明内容
本发明的目的在于提供一种在软件系统中实现软件看门狗的方法,解决了现有的用于软件系统的看门狗荣誉判断错误,导致不必要的故障恢复的问题。为解决上述问题,本发明所采取的技术方案是一种在软件系统中实现软件看门狗的方法,包括以下步骤软件系统启动后首先启动监控进程,监控进程创建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连接和进程信息对应关系表获取异常退出进程的进程信息,然后重启被监控进程,使软件系统恢复正常。尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开、附图和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
权利要求
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连接和进程信息对应关系表获取异常退出进程的进程信息,然后重启被监控进程,使软件系统恢复正常。
全文摘要
本发明公开了一种监视软件系统稳定性的方法,尤其涉及一种在软件系统中实现软件看门狗的方法,该方法包括创建TCP连接,收被监控进程的TCP连接请求,被监控进程通过TCP连接向监控进程发送本进程信息,监控进程监听与所有被监控进程之间TCP连接状态,当被监控进程异常退出后,断开相应的TCP连接,判断对应的被监控进程已经异常退出,重启被监控进程,使软件系统恢复正常。本发明的作用是采用了该发明的软件系统中利用TCP连接来监控系统状态的方法,能够在软件系统的进程真正异常退出时自动恢复,极大提高了软件系统的稳定性,且由于使用标准的TCP连接,实现非常简单可靠。
文档编号G06F11/07GK103034552SQ201210528528
公开日2013年4月10日 申请日期2012年12月11日 优先权日2012年12月11日
发明者张定理 申请人:太仓市同维电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1