软件看门狗自我恢复方法

文档序号:6572953阅读:672来源:国知局
专利名称:软件看门狗自我恢复方法
技术领域
本发明涉及软件看门狗监控技术,特别涉及软件看门狗的自我恢复方法。
背景技术
在需要高可靠性保证的多进程服务器系统中, 一般都会设置软件看门 狗来监控各服务器进程,确保服务器进程在出现异常时能够自我恢复。一
般软件看门狗通过进程的方式实现,如中国专利公开号CN1547125,
公开日
为2004年11月17日,名为《一种基于共享内存的看门狗实现方法》中公 开了一种软件看门狗,它每隔一段时间,即定时对所监控服务器进程的运 行状态和用户发出的请求进行一次检测,并根据检测的结果来执行相应的 动作。但是,在现有技术中没有考虑到软件看门狗自身的可靠性问题,一 旦软件看门狗自身出现异常,则系统的可靠性就无法得到保证。

发明内容
本发明所要解决的技术问题是,针对目前软件看门狗缺乏对自身可靠 性保证的问题,提供一种软件看门狗自我恢复方法。
本发明解决所述技术问题采用的技术方案是,软件看门狗自我恢复方 法,实现步骤如下
a. 设置母看门狗;
b. 母看门狗创建子看门狗并定时监控子看门狗;
c. 子看门狗定时监控系统进程和母看门狗;
d. 子看门狗检测母看门狗是否为正常状态,若是,则返回步骤c;若 否,则子看门狗升级为母看门狗,并返回步骤b;
e. 母看门狗检测子看门狗是否正常退出,若是,则母看门狗也退出; 若否,则返回步骤b。
本发明的有益效果是,确保软件看门狗在自身异常时能够快速恢复, 有效地确保了软件看门狗自身的可靠性,从而使软件看门狗监控的系统的 可靠性得到保证。
以下结合具体实施方式
和附图,对本发明作进一步说明。


图l是本发明具体实施方式
的原理框图。 图2是本发明具体实施方式
的母看门狗的工作流程图。 图3是本发明具体实施方式
的子看门狗的工作流程图。
具体实施例方式
本发明的软件看门狗自我恢复方法,应用到多进程服务器系统中,如 图1所示,多进程服务器系统中设置两个定时运行的看门狗进程,根据看 门狗的功能划分为母看门狗和子看门狗,子看门狗由母看门狗创建,母看 门狗定时监控子看门狗,确保系统中子看门狗的存在,当检测到子看门狗
为非正常退出即子看门狗死掉,则重新创建一个子看门狗;子看门狗在正 常情况下完成对系统中服务器进程的监控工作,确保服务器的可靠性,同 时定时监控母看门狗,当子看门狗检测到母看门狗为非正常状态即母看门 狗死掉时,子看门狗升级为母看门狗,执行母看门狗的工作,并重新创建 一个子看门狗去完成子看门狗的工作。
母看门狗和子看门狗相互的监控是通过各自的状态文件来实现的。双 方都是写自己的状态文件,读对方的状态文件。由于母看门狗和子看门狗 都是定时运行,母看门狗设置母看门狗计数值,母看门狗计数值记录在母 看门狗状态文件中,子看门狗设置子看门狗计数值,子看门狗计数值记录 在子看门狗状态文件中;子看门狗和母看门狗每次运行后将其计数值加1; 母看门狗和子看门狗双方以读取到的对方的计数值和本地记录的对方上次 的计数值作比较,根据比较结果判断对方是否正常工作,若本次读取到的 对方的计数值和本地记录值不相同,则表明对方运行正常;若本次读取到 的对方的计数值和上次记录值相同,则判断为发生异常,启动相应的状态 检测处理
母看门狗监控子看门狗时母看门狗检测子看门狗是否正常退出,若 是,则母看门狗也退出,母看门狗的退出以子看门狗的正常退出为依据, 子看门狗在收到用户退出请求时设置正常退出标志后再退出;若否,则母 看门狗重新创建一个子看门狗并定时监控该子看门狗;
子看门狗监控母看门狗时子看门狗检测母看门狗是否为正常状态, 若是,则子看门狗继续工作;若否,则子看门狗升级为母看门狗,执行母 看门狗的工作,并重新创建一个子看门狗去完成子看门狗的工作。母看门狗的具体工作流程如图2所示,初始化母看门狗计数值为0,创 建子看门狗并初始化子看门狗计数值为-1,则母看门狗首次记录到的子看
门狗计数值为-1,即此时本地记录值为-l;此时,母看门狗运行了一次, 则母看门狗计数值加l,母看门狗计数值变为l,等待一个定时运行的时间 间隔后,从子看门狗的状态文件中读取子看门狗计数值(子看门狗计数值 的初始设置为0,参见图2)并和本地记录值(此时本地记录值为-1)比较: 不相等,则记录此时读取的子看门狗计数值为本地记录值,即此时本地记 录值变为0;此时,母看门狗运行了一次,则母看门狗计数值加l,母看门 狗计数值变为2;若从子看门狗的状态文件中读取到的子看门狗计数值和本 地记录值相等,则启动状态检测处理,母看门狗检测子看门狗状态,判断 子看门狗是否正常退出,若是,则母看门狗也退出,若否,则重新创建一 个子看门狗并定时监控该子看门狗。
子看门狗的具体工作流程如图3所示,初始化子看门狗的计数值为0, 初始化母看门狗计数值为-1,则子看门狗首次记录到的母看门狗计数值为 -1,即此时本地记录值为-l;检测用户要求,判断用户是否要退出,若是, 则子看门狗设置正常退出标志后,退出运行;若否,则从母看门狗的状态 文件中读取母看门狗计数值(假设此时读取到的计数值为1)并和本地记录 值(此时本地记录值为-l)作比较不相等,则记录此时读取的母看门狗 计数值为本地记录值,即此时本地记录值变为l;此时,子看门狗运行了一 次,则子看门狗计数值加l,子看门狗计数值变为2。子看门狗监控服务器 进程,等待一个定时运行的时间间隔后,返回到检测用户要求流程,判断 用户是否要退出,若是,则子看门狗设置正常退出标志后,退出运行;若 否,则从母看门狗的状态文件中读取母看门狗计数值作比较,判断是否相 等若从母看门狗的状态文件中读取到的母看门狗计数值和本地记录值相 等,则启动状态检测处理,判断母看门狗是否为正常状态,若是,则子看 门狗计数值加1,继续监控多进程服务器系统;若否,则子看门狗升级为母 看门狗,并重新创建一个子看门狗去完成子看门狗的工作。
权利要求
1.软件看门狗自我恢复方法,其特征是,实现步骤如下a.设置母看门狗;b.母看门狗创建子看门狗并定时监控子看门狗;c.子看门狗定时监控系统进程和母看门狗;d.子看门狗检测母看门狗是否为正常状态,若是,则返回步骤c;若否,则子看门狗升级为母看门狗,并返回步骤b;e.母看门狗检测子看门狗是否正常退出,若是,则母看门狗也退出;若否,则返回步骤b。
2. 如权利要求l所述的软件看门狗自我恢复方法,其特征是,所述母 看门狗设置母看门狗计数值,所述子看门狗设置子看门狗计数值,子看门 狗和母看门狗每次运行后将其计数值加1。
3. 如权利要求2所述的软件看门狗自我恢复方,其特征是,所述母看 门狗计数值记录在母看门狗状态文件中;子看门狗计数值记录在子看门狗 状态文件中。
4. 如权利要求2或3所述的软件看门狗自我恢复方法,其特征是,母 看门狗和子看门狗每次运行时,双方分别将读取到的对方当前的计数值和 本地记录的对方上次的计数值相比较,若两个计数值相同,则判断为发现 异常,启动相应的状态检测处理,进入步骤d或步骤e;若两次计数值不相 同,则表明对方运行正常。
5. 如权利要求4所述的软件看门狗自我恢复方法,其特征是,所述步 骤e中,子看门狗正常退出为在收到用户退出请求时设置正常退出标志后 退出。
6. 如权利要求l、 2或3所述的软件看门狗自我恢复方法,其特征是, 所述步骤e中,子看门狗正常退出为在收到用户退出请求时设置正常退出 标志后退出。
全文摘要
软件看门狗自我恢复方法,涉及软件看门狗监控技术,特别涉及软件看门狗的自我恢复方法。本发明针对目前软件看门狗缺乏对自身可靠性保证的问题,公开了一种软件看门狗的自我恢复方法。本发明的软件看门狗自我恢复方法,实现步骤如下a.设置母看门狗;b.母看门狗创建子看门狗并定时监控子看门狗;c.子看门狗定时监控系统进程和母看门狗;d.子看门狗检测母看门狗是否为正常状态,若是,则返回步骤c;若否,则子看门狗升级为母看门狗,并返回步骤b;e.母看门狗检测子看门狗是否正常退出,若是,则母看门狗也退出;若否,则返回步骤b。本发明的有益效果是,确保软件看门狗在自身异常时能够快速恢复,确保了软件看门狗自身的可靠性。
文档编号G06F11/00GK101295271SQ20071004900
公开日2008年10月29日 申请日期2007年4月29日 优先权日2007年4月29日
发明者程常清 申请人:迈普(四川)通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1