CN101295271B - 软件看门狗自我恢复方法 - Google Patents
软件看门狗自我恢复方法 Download PDFInfo
- Publication number
- CN101295271B CN101295271B CN2007100490068A CN200710049006A CN101295271B CN 101295271 B CN101295271 B CN 101295271B CN 2007100490068 A CN2007100490068 A CN 2007100490068A CN 200710049006 A CN200710049006 A CN 200710049006A CN 101295271 B CN101295271 B CN 101295271B
- Authority
- CN
- China
- Prior art keywords
- house dog
- sub
- female
- watchdog
- count value
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
软件看门狗自我恢复方法,涉及软件看门狗监控技术,特别涉及软件看门狗的自我恢复方法。本发明针对目前软件看门狗缺乏对自身可靠性保证的问题,公开了一种软件看门狗的自我恢复方法。本发明的软件看门狗自我恢复方法,实现步骤如下:a.设置母看门狗;b.母看门狗创建子看门狗并定时监控子看门狗;c.子看门狗定时监控系统进程和母看门狗;d.子看门狗检测母看门狗是否为正常状态,若是,则返回步骤c;若否,则子看门狗升级为母看门狗,并返回步骤b;e.母看门狗检测子看门狗是否正常退出,若是,则母看门狗也退出;若否,则返回步骤b。本发明的有益效果是,确保软件看门狗在自身异常时能够快速恢复,确保了软件看门狗自身的可靠性。
Description
技术领域
本发明涉及软件看门狗监控技术,特别涉及软件看门狗的自我恢复方法。
背景技术
在需要高可靠性保证的多进程服务器系统中,一般都会设置软件看门狗来监控各服务器进程,确保服务器进程在出现异常时能够自我恢复。一般软件看门狗通过进程的方式实现,如中国专利公开号CN1547125,公开日为2004年11月17日,名为《一种基于共享内存的看门狗实现方法》中公开了一种软件看门狗,它每隔一段时间,即定时对所监控服务器进程的运行状态和用户发出的请求进行一次检测,并根据检测的结果来执行相应的动作。但是,在现有技术中没有考虑到软件看门狗自身的可靠性问题,一旦软件看门狗自身出现异常,则系统的可靠性就无法得到保证。
发明内容
本发明所要解决的技术问题是,针对目前软件看门狗缺乏对自身可靠性保证的问题,提供一种软件看门狗自我恢复方法。
本发明解决所述技术问题采用的技术方案是,软件看门狗自我恢复方法,实现步骤如下:
a.设置母看门狗;
b.母看门狗创建子看门狗并定时监控子看门狗;
c.子看门狗定时监控系统进程和母看门狗;
d.子看门狗检测母看门狗是否为正常状态,若是,则返回步骤c;若否,则子看门狗升级为母看门狗,并返回步骤b;
e.母看门狗检测子看门狗是否正常退出,若是,则母看门狗也退出;若否,则返回步骤b。
本发明的有益效果是,确保软件看门狗在自身异常时能够快速恢复,有效地确保了软件看门狗自身的可靠性,从而使软件看门狗监控的系统的可靠性得到保证。
以下结合具体实施方式和附图,对本发明作进一步说明。
附图说明
图1是本发明具体实施方式的原理框图。
图2是本发明具体实施方式的母看门狗的工作流程图。
图3是本发明具体实施方式的子看门狗的工作流程图。
具体实施方式
本发明的软件看门狗自我恢复方法,应用到多进程服务器系统中,如图1所示,多进程服务器系统中设置两个定时运行的看门狗进程,根据看门狗的功能划分为母看门狗和子看门狗,子看门狗由母看门狗创建,母看门狗定时监控子看门狗,确保系统中子看门狗的存在,当检测到子看门狗为非正常退出即子看门狗死掉,则重新创建一个子看门狗;子看门狗在正常情况下完成对系统中服务器进程的监控工作,确保服务器的可靠性,同时定时监控母看门狗,当子看门狗检测到母看门狗为非正常状态即母看门狗死掉时,子看门狗升级为母看门狗,执行母看门狗的工作,并重新创建一个子看门狗去完成子看门狗的工作。
母看门狗和子看门狗相互的监控是通过各自的状态文件来实现的。双方都是写自己的状态文件,读对方的状态文件。由于母看门狗和子看门狗都是定时运行,母看门狗设置母看门狗计数值,母看门狗计数值记录在母看门狗状态文件中,子看门狗设置子看门狗计数值,子看门狗计数值记录在子看门狗状态文件中;子看门狗和母看门狗每次运行后将其计数值加1;母看门狗和子看门狗双方以读取到的对方的计数值和本地记录的对方上次的计数值作比较,根据比较结果判断对方是否正常工作,若本次读取到的对方的计数值和本地记录值不相同,则表明对方运行正常;若本次读取到的对方的计数值和上次记录值相同,则判断为发生异常,启动相应的状态检测处理:
母看门狗监控子看门狗时:母看门狗检测子看门狗是否正常退出,若是,则母看门狗也退出,母看门狗的退出以子看门狗的正常退出为依据,子看门狗在收到用户退出请求时设置正常退出标志后再退出;若否,则母看门狗重新创建一个子看门狗并定时监控该子看门狗;
子看门狗监控母看门狗时:子看门狗检测母看门狗是否为正常状态,若是,则子看门狗继续工作;若否,则子看门狗升级为母看门狗,执行母看门狗的工作,并重新创建一个子看门狗去完成子看门狗的工作。
母看门狗的具体工作流程如图2所示,初始化母看门狗计数值为0,创建子看门狗并初始化子看门狗计数值为-1,则母看门狗首次记录到的子看门狗计数值为-1,即此时本地记录值为-1;此时,母看门狗运行了一次,则母看门狗计数值加1,母看门狗计数值变为1,等待一个定时运行的时间间隔后,从子看门狗的状态文件中读取子看门狗计数值(子看门狗计数值的初始设置为0,参见图2)并和本地记录值(此时本地记录值为-1)比较:不相等,则记录此时读取的子看门狗计数值为本地记录值,即此时本地记录值变为0;此时,母看门狗运行了一次,则母看门狗计数值加1,母看门狗计数值变为2;若从子看门狗的状态文件中读取到的子看门狗计数值和本地记录值相等,则启动状态检测处理,母看门狗检测子看门狗状态,判断子看门狗是否正常退出,若是,则母看门狗也退出,若否,则重新创建一个子看门狗并定时监控该子看门狗。
子看门狗的具体工作流程如图3所示,初始化子看门狗的计数值为0,初始化母看门狗计数值为-1,则子看门狗首次记录到的母看门狗计数值为-1,即此时本地记录值为-1;检测用户要求,判断用户是否要退出,若是,则子看门狗设置正常退出标志后,退出运行;若否,则从母看门狗的状态文件中读取母看门狗计数值(假设此时读取到的计数值为1)并和本地记录值(此时本地记录值为-1)作比较:不相等,则记录此时读取的母看门狗计数值为本地记录值,即此时本地记录值变为1;此时,子看门狗运行了一次,则子看门狗计数值加1,子看门狗计数值变为2。子看门狗监控服务器进程,等待一个定时运行的时间间隔后,返回到检测用户要求流程,判断用户是否要退出,若是,则子看门狗设置正常退出标志后,退出运行;若否,则从母看门狗的状态文件中读取母看门狗计数值作比较,判断是否相等:若从母看门狗的状态文件中读取到的母看门狗计数值和本地记录值相等,则启动状态检测处理,判断母看门狗是否为正常状态,若是,则子看门狗计数值加1,继续监控多进程服务器系统;若否,则子看门狗升级为母看门狗,并重新创建一个子看门狗去完成子看门狗的工作。
Claims (6)
1.软件看门狗自我恢复方法,其特征是,实现步骤如下:
a.设置母看门狗;
b.母看门狗创建子看门狗并定时监控子看门狗;
c.子看门狗定时监控系统进程和母看门狗;
d.子看门狗检测母看门狗是否为正常状态,若是,则返回步骤c;若否,则子看门狗升级为母看门狗,并返回步骤b;
e.母看门狗检测子看门狗是否正常退出,若是,则母看门狗也退出;若否,则返回步骤b。
2.如权利要求1所述的软件看门狗自我恢复方法,其特征是,所述母看门狗设置母看门狗计数值,所述子看门狗设置子看门狗计数值,子看门狗和母看门狗每次运行后将其计数值加1。
3.如权利要求2所述的软件看门狗自我恢复方法,其特征是,所述母看门狗计数值记录在母看门狗状态文件中;子看门狗计数值记录在子看门狗状态文件中。
4.如权利要求2或3所述的软件看门狗自我恢复方法,其特征是,母看门狗和子看门狗每次运行时,双方分别将读取到的对方当前的计数值和本地记录的对方上次的计数值相比较,若两个计数值相同,则判断为发现异常,启动相应的状态检测处理,进入步骤d或步骤e;若两次计数值不相同,则表明对方运行正常。
5.如权利要求4所述的软件看门狗自我恢复方法,其特征是,所述步骤e中,子看门狗正常退出为在收到用户退出请求时设置正常退出标志后退出。
6.如权利要求1、2或3所述的软件看门狗自我恢复方法,其特征是,所述步骤e中,子看门狗正常退出为在收到用户退出请求时设置正常退出标志后退出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100490068A CN101295271B (zh) | 2007-04-29 | 2007-04-29 | 软件看门狗自我恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100490068A CN101295271B (zh) | 2007-04-29 | 2007-04-29 | 软件看门狗自我恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101295271A CN101295271A (zh) | 2008-10-29 |
CN101295271B true CN101295271B (zh) | 2010-11-03 |
Family
ID=40065567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100490068A Active CN101295271B (zh) | 2007-04-29 | 2007-04-29 | 软件看门狗自我恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101295271B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389223B (zh) * | 2014-09-04 | 2018-09-28 | 上海福网信息科技有限公司 | 一种系统自检式看门狗 |
CN104486122A (zh) * | 2014-12-17 | 2015-04-01 | 上海斐讯数据通信技术有限公司 | 基于看门狗的路由器异常恢复系统及方法 |
CN104636212A (zh) * | 2014-12-29 | 2015-05-20 | 漳州科能电器有限公司 | 一种嵌入式操作系统看门狗实现方法 |
CN105824738A (zh) * | 2016-04-04 | 2016-08-03 | 合肥博雷电子信息技术有限公司 | 一种用于计算机本体及软件系统监测模块的硬件看门狗装置 |
CN106354596A (zh) * | 2016-09-26 | 2017-01-25 | 积成电子股份有限公司 | 一种检验外部看门狗芯片是否正常工作的方法 |
CN110727529A (zh) * | 2019-09-06 | 2020-01-24 | 深圳市智微智能科技开发有限公司 | 一种看门狗复位方法及其系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638510A (en) * | 1992-11-11 | 1997-06-10 | Nissan Motor Co., Ltd. | Multiplexed system with watch dog timers |
CN1815449A (zh) * | 2005-02-01 | 2006-08-09 | 艾默生网络能源有限公司 | 看门狗控制方法 |
-
2007
- 2007-04-29 CN CN2007100490068A patent/CN101295271B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638510A (en) * | 1992-11-11 | 1997-06-10 | Nissan Motor Co., Ltd. | Multiplexed system with watch dog timers |
CN1815449A (zh) * | 2005-02-01 | 2006-08-09 | 艾默生网络能源有限公司 | 看门狗控制方法 |
Non-Patent Citations (2)
Title |
---|
JP特开平11-175360A 1999.07.02 |
张国梁,侯国莲.单片机自恢复的实用方法.现代电力.1996,13(2),24-28. * |
Also Published As
Publication number | Publication date |
---|---|
CN101295271A (zh) | 2008-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101295271B (zh) | 软件看门狗自我恢复方法 | |
CN101833489B (zh) | 一种文件实时监控和智能备份的方法 | |
CN101236515B (zh) | 多核系统单核异常的恢复方法 | |
CN105204952B (zh) | 一种多核操作系统容错管理方法 | |
CN101105793A (zh) | 数据仓库中的数据处理方法及系统 | |
CN103761182A (zh) | 一种死锁检测方法及装置 | |
CN102404603B (zh) | 机顶盒上的usb设备插拔的检测方法及系统 | |
CN102629224A (zh) | 一种基于云平台的一体化数据容灾方法及其装置 | |
CN101788936B (zh) | 移动终端运行时快照备份、恢复方法及装置 | |
CN105468475A (zh) | 数据库的备份方法及备份装置 | |
CN102779094A (zh) | 终端和软件异常测试方法 | |
CN108108374B (zh) | 一种数据仓库的存储方法及装置 | |
CN101916224A (zh) | 测试进程异常检测方法以及自动化测试控制装置 | |
CN102231161A (zh) | 数据库同步验证及监控方法 | |
CN101639803A (zh) | 多线程应用系统的异常处理方法和异常处理装置 | |
CN102799212B (zh) | 用于多核多处理器并行系统的全局时钟系统及其使用方法 | |
CN105512171A (zh) | 数据库同步的方法及装置 | |
CN101673230A (zh) | 一种使用u盘自动备份和恢复嵌入式系统配置数据的方法 | |
CN102854857A (zh) | 一种汽车装配线的工位状态检测系统及方法 | |
CN106897133A (zh) | 一种基于pbs作业调度管理集群负载的实现方法 | |
CN108445857B (zh) | 一种scada系统的1+n冗余机制设计方法 | |
CN103902401B (zh) | 基于监控的虚拟机容错方法及装置 | |
CN107291589A (zh) | 在机器人操作系统中提升系统可靠性的方法 | |
CN103178977A (zh) | 计算机系统及计算机系统的开机管理方法 | |
CN102681650B (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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Assignee: Beijing Maipu Huaxin Information Technology Co., Ltd. Assignor: Maipu Communication Technologies Co., Ltd. Contract record no.: 2012510000057 Denomination of invention: Software watchdog self-restoring method Granted publication date: 20101103 License type: Exclusive License Open date: 20081029 Record date: 20120618 |