一种看门狗监测方法、系统及设备和存储介质与流程

文档序号:17318770发布日期:2019-04-05 21:25阅读:198来源:国知局
一种看门狗监测方法、系统及设备和存储介质与流程

本发明涉及计算机技术领域,更具体地说,涉及一种看门狗监测方法、系统及设备和一种计算机可读存储介质。



背景技术:

目前嵌入式系统中,一般都会设立看门狗,通常的看门狗一般只监测一个程序,多个程序就要使用多个看门狗,消耗的资源较多。而遇到程序挂死时,就会将整个系统重启,有些没有问题的模块也会同时重启,造成了资源的浪费。若有与其他外围设备或上位机通讯,还会造成短暂的通讯异常。另外,即使是不重启系统只是重启程序,也会造成关键信息的丢失,这样对排查问题产生了一定的阻碍。

因此,如何在程序挂死时采取相应的措施减少资源的浪费,并有利于后续的问题排查是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种看门狗监测方法、系统及设备和一种计算机可读存储介质,在程序挂死时采取相应的措施减少资源的浪费,并有利于后续的问题排查。

为实现上述目的,本发明提供了一种看门狗监测方法,包括:

监测目标系统中是否存在异常崩溃程序;其中,所述目标系统包括多个程序,每个所述程序包括多个线程和/或多个进程;

若存在,则根据所述异常崩溃程序的识别号获取对应的配置信息;

根据所述配置信息保存所述异常崩溃程序的数据,并根据所述配置信息判断所述异常崩溃程序是否需要重启;

若是,则重启所述异常崩溃程序。

其中,所述监测目标系统中是否存在异常崩溃程序之前,还包括:

接收所述目标系统中每个程序的注册信息,并为每个所述程序分配唯一的识别号。

其中,所述监测目标系统中是否存在异常崩溃程序,包括:

根据所述目标系统中程序的识别号,获取所述程序对应的喂狗周期;

判断所述程序是否按所述喂狗周期清除对应的时间标志位;

若否,则将所述程序作为异常崩溃程序。

其中,所述根据所述异常崩溃程序的识别号获取对应的配置信息,包括:

根据所述异常崩溃程序的识别号通过信息输入接口获取所述配置信息。

其中,所述根据所述异常崩溃程序的识别号获取对应的配置信息,包括:

根据所述异常崩溃程序的识别号通过数据库中的映射关系表获取所述配置信息。

其中,所述重启所述异常崩溃程序之后,还包括:

开启所述异常崩溃程序对应的重启倒计时,当所述重启倒计时结束时,判断所述异常崩溃程序是否重启成功;

若否,则根据所述配置信息执行对应的操作。

其中,所述对应的操作包括:

重新重启所述异常崩溃程序直至重启成功,或重启所述目标系统,或重新重启所述异常崩溃程序直至重启次数达到预设值。

为实现上述目的,本发明提供了一种看门狗监测系统,包括:

监测模块,用于监测目标系统中是否存在异常崩溃程序;其中,所述目标系统包括多个程序,每个所述程序包括多个线程和/或多个进程;

获取模块,用于当所述目标系统中存在异常崩溃程序时,根据所述异常崩溃程序的识别号获取对应的配置信息;

保存模块,用于根据所述配置信息保存所述异常崩溃程序的数据,并根据所述配置信息判断所述异常崩溃程序是否需要重启;

重启模块,用于当所述异常崩溃程序需要重启时,重启所述异常崩溃程序。

为实现上述目的,本发明提供了一种看门狗监测设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述看门狗监测方法的步骤。

为实现上述目的,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述看门狗监测方法。

通过以上方案可知,本发明提供的一种看门狗监测方法包括:监测目标系统中是否存在异常崩溃程序;其中,所述目标系统包括多个程序,每个所述程序包括多个线程和/或多个进程;若存在,则根据所述异常崩溃程序的识别号获取对应的配置信息;根据所述配置信息保存所述异常崩溃程序的数据,并根据所述配置信息判断所述异常崩溃程序是否需要重启;若是,则重启所述异常崩溃程序。

本发明提供的一种看门狗监测方法,可以统一管理整个目标系统的各个程序,使他们不互相影响,还可以通过为每个程序设置不同的配置信息,改善现有技术中的看门狗只能重启系统这一单一操作,使系统更加灵活可控。可以配置不重启系统,只重启异常崩溃程序,可以减少对其他正常程序的影响,同时减少了资源的消耗。其次,由于单独重启异常崩溃程序速度的速度远远大于重启整个系统,在实际使用过程中重启时间一般可以忽略不计,所以对系统的正常使用影响也最小。另外,还可以通过配置信息配置程序挂死时需要保存的数据,尽可能的保留现场,有利于后续问题的排查定位。本发明还公开了一种看门狗监测系统及设备和一种计算机可读存储介质,同样能实现上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种看门狗监测方法的流程图;

图2为本发明实施例公开的另一种看门狗监测方法的流程图;

图3为本发明实施例公开的又一种看门狗监测方法的流程图;

图4为本发明实施例公开的一种看门狗监测系统的结构图;

图5为本发明实施例公开的一种看门狗监测设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种看门狗监测方法,在程序挂死时采取相应的措施减少资源的浪费,并有利于后续的问题排查。

参见图1,本发明实施例公开的一种看门狗监测方法的流程图,如图1所示,包括:

s101:监测目标系统中是否存在异常崩溃程序;其中,所述目标系统包括多个程序,每个所述程序包括多个线程和/或多个进程;若存在,则进入s102;若不存在,则继续监测目标系统;

在具体实施中,目标系统可以是常见的嵌入式系统,当然也可以是其他系统,在此不作具体限定。该目标系统内包括多个程序,一个进程或一个线程可作为一个程序,看门狗可通过不同程序的不同喂狗周期,实现多个程序的统一管理。

可以理解的是,目标系统启动后,所有的程序在看门狗内进行注册,即向看门狗发送该程序的注册信息,看门狗会为每个程序分配唯一确定的识别号,此步骤建立在所有的程序都与其标识号建立的一一映射的关系的基础上。

需要说明的是,看门狗实际为一种计时程序,即此步骤可以具体包括:

根据所述目标系统中程序的识别号,获取所述程序对应的喂狗周期;

判断所述程序是否按所述喂狗周期清除对应的时间标志位;

若否,则将所述程序作为异常崩溃程序。

也就是说,每个程序在注册时都有一个喂狗时间,该程序按喂狗时间定时喂狗,即清除看门狗内该程序对应的时间标识位,表明该程序处于激活状态,若该程序没有在规定时间内喂狗,则看门狗将该程序确定为异常崩溃程序。

s102:根据所述异常崩溃程序的识别号获取对应的配置信息;

可以理解的是,每个程序都对应着一个配置信息,可以根据程序的唯一的识别号获取此配置信息。具体的,可以通过多种方式获取,例如,在该程序挂死时,用户可以选择需要保存的数据和该程序是否需要重启,并通过信息输入接口手动输入配置信息。又如,可以预先为每个程序设置该配置信息,并建立识别号与配置信息的映射关系表,在某一程序挂死时直接调用该配置信息。再如,可以将目标系统内的程序按预设规则进行分类,同一类别的程序对应同一配置信息,在某一程序挂死时可以通过其识别号查询其所属类别对应的配置信息。上述只是对获取配置信息的简单示例,任何其他方式都在本实施例的保护范围内。

s103:根据所述配置信息保存所述异常崩溃程序的数据,并根据所述配置信息判断所述异常崩溃程序是否需要重启;若是,则进入s104;若否,则保存现场,不执行重启操作;

在具体实施中,每个程序的配置信息存储了在该程序挂死时需要存储哪些数据和是否需要重启。其中,该数据可以包括与该程序相关联的数据库表、系统文件、系统目前的运行状态(如cpu占用率、内存使用率、全局结构体变量等)和设备关键数据(如电压、告警量等)。若根据配置信息该程序不需要重启操作,则不执行重启操作,进入s101继续监测目标系统内的其他程序是否存在挂死现象。

s104:重启所述异常崩溃程序。

本发明实施例提供的一种看门狗监测方法,可以统一管理整个目标系统的各个程序,使他们不互相影响,还可以通过为每个程序设置不同的配置信息,改善现有技术中的看门狗只能重启系统这一单一操作,使系统更加灵活可控。可以配置不重启系统,只重启异常崩溃程序,可以减少对其他正常程序的影响,同时减少了资源的消耗。其次,由于单独重启异常崩溃程序速度的速度远远大于重启整个系统,在实际使用过程中重启时间一般可以忽略不计,所以对系统的正常使用影响也最小。另外,还可以通过配置信息配置程序挂死时需要保存的数据,尽可能的保留现场,有利于后续问题的排查定位。

本发明实施例公开了一种看门狗监测方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

参见图2,本发明实施例提供的另一种看门狗监测方法的流程图,如图2所示,包括:

s201:监测目标系统中是否存在异常崩溃程序;其中,所述目标系统包括多个程序,每个所述程序包括多个线程和/或多个进程;若存在,则进入s202;若不存在,则继续监测目标系统;

s202:根据所述异常崩溃程序的识别号获取对应的配置信息;

s203:根据所述配置信息保存所述异常崩溃程序的数据,并根据所述配置信息判断所述异常崩溃程序是否需要重启;若是,则进入s204;若否,则保存现场,不执行重启操作;

s204:重启所述异常崩溃程序;

s205:开启所述异常崩溃程序对应的重启倒计时,当所述重启倒计时结束时,判断所述异常崩溃程序是否重启成功;若是,则进入s201;若否,则进入s206;

s206:根据所述配置信息执行对应的操作。

在具体实施中,配置信息中还可以包括每个程序的重启倒计时,当然,该重启倒计时也可以存储在其他的位置,在此不作具体限定。重启异常崩溃程序后,看门狗开启重启倒计时,当重启倒计时结束时,异常崩溃程序重启成功则继续监测目标系统内的其他程序是否存在挂死现象,重启失败则根据配置信息执行对应的操作。

可以理解的是,配置信息内对应的操作同样可以通过上述实施例介绍的方式进行获取。此处对应的操作可以包括重新重启所述异常崩溃程序直至重启成功、重启所述目标系统、重新重启所述异常崩溃程序直至重启次数达到预设值等。上述只是对对应操作的简单示例,其他用户可选的操作都在本实施例的保护范围内。

下面介绍一种具体的看门狗监测方法,参见图3,本发明实施例提供的又一种看门狗监测方法的流程图,如图3所示,包括:

s311:接收目标系统中每个程序的注册信息,并为每个所述程序分配唯一的识别号;

s312:根据所述目标系统中程序的识别号,获取所述程序对应的喂狗周期;

s313:判断所述程序是否按所述喂狗周期清除对应的时间标志位;若否,则将所述程序作为异常崩溃程序,并进入s302;若是,则进入s312;

s302:根据所述异常崩溃程序的识别号通过信息输入接口获取所述配置信息;

s303:根据所述配置信息保存所述异常崩溃程序的数据,并根据所述配置信息判断所述异常崩溃程序是否需要重启;若是,则进入s304;若否,则保存现场,不执行重启操作;

s304:重启所述异常崩溃程序;

s305:开启所述异常崩溃程序对应的重启倒计时,当所述重启倒计时结束时,判断所述异常崩溃程序是否重启成功;若是,则进入s312;若否,则进入s306;

s306:根据所述配置信息重新重启所述异常崩溃程序直至重启次数达到预设值。

下面对本发明实施例提供的一种看门狗监测系统进行介绍,下文描述的一种看门狗监测系统与上文描述的一种看门狗监测方法可以相互参照。

参见图4,本发明实施例提供的一种看门狗监测系统的结构图,如图4所示,包括:

监测模块401,用于监测目标系统中是否存在异常崩溃程序;其中,所述目标系统包括多个程序,每个所述程序包括多个线程和/或多个进程;

获取模块402,用于当所述目标系统中存在异常崩溃程序时,根据所述异常崩溃程序的识别号获取对应的配置信息;

保存模块403,用于根据所述配置信息保存所述异常崩溃程序的数据,并根据所述配置信息判断所述异常崩溃程序是否需要重启;

重启模块404,用于当所述异常崩溃程序需要重启时,重启所述异常崩溃程序。

本发明实施例提供的一种看门狗监测系统,可以统一管理整个目标系统的各个程序,使他们不互相影响,还可以通过为每个程序设置不同的配置信息,改善现有技术中的看门狗只能重启系统这一单一操作,使系统更加灵活可控。可以配置不重启系统,只重启异常崩溃程序,可以减少对其他正常程序的影响,同时减少了资源的消耗。其次,由于单独重启异常崩溃程序速度的速度远远大于重启整个系统,在实际使用过程中重启时间一般可以忽略不计,所以对系统的正常使用影响也最小。另外,还可以通过配置信息配置程序挂死时需要保存的数据,尽可能的保留现场,有利于后续问题的排查定位。

在上述实施例的基础上,作为优选实施方式,还包括:

分配模块,用于接收所述目标系统中每个程序的注册信息,并为每个所述程序分配唯一的识别号。

在上述实施例的基础上,作为优选实施方式,所述监测模块401包括:

获取单元,用于根据所述目标系统中程序的识别号,获取所述程序对应的喂狗周期;

判断单元,用于判断所述程序是否按所述喂狗周期清除对应的时间标志位;若否,则启动确定单元的工作流程;

所述确定单元,用于将所述程序作为异常崩溃程序。

在上述实施例的基础上,作为优选实施方式,获取模块402具体为当所述目标系统中存在异常崩溃程序时,根据所述异常崩溃程序的识别号通过信息输入接口获取所述配置信息的模块。

在上述实施例的基础上,作为优选实施方式,获取模块402具体为当所述目标系统中存在异常崩溃程序时,根据所述异常崩溃程序的识别号通过数据库中的映射关系表获取所述配置信息的模块。

在上述实施例的基础上,作为优选实施方式,还包括:

倒计时模块,用于开启所述异常崩溃程序对应的重启倒计时,当所述重启倒计时结束时,判断所述异常崩溃程序是否重启成功;若否,则启动执行模块的工作流程;

所述执行模块,用于根据所述配置信息执行对应的操作。

在上述实施例的基础上,作为优选实施方式,所述执行模块具体为重新重启所述异常崩溃程序直至重启成功,或重启所述目标系统,或重新重启所述异常崩溃程序直至重启次数达到预设值的模块。

本申请还提供了一种看门狗监测设备,参见图5,本发明实施例提供的一种看门狗监测设备的结构图,如图5所示,包括:

存储器501,用于存储计算机程序;

处理器502,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。当然所述看门狗监测设备还可以包括各种网络接口,电源等组件。

本发明实施例提供的一种看门狗监测设备,可以统一管理整个目标系统的各个程序,使他们不互相影响,还可以通过为每个程序设置不同的配置信息,改善现有技术中的看门狗只能重启系统这一单一操作,使系统更加灵活可控。可以配置不重启系统,只重启异常崩溃程序,可以减少对其他正常程序的影响,同时减少了资源的消耗。其次,由于单独重启异常崩溃程序速度的速度远远大于重启整个系统,在实际使用过程中重启时间一般可以忽略不计,所以对系统的正常使用影响也最小。另外,还可以通过配置信息配置程序挂死时需要保存的数据,尽可能的保留现场,有利于后续问题的排查定位。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1