看门狗检测方法、设备及存储介质与流程

文档序号:34849600发布日期:2023-07-22 13:47阅读:29来源:国知局
看门狗检测方法、设备及存储介质与流程

本技术涉及通信领域,尤其涉及一种看门狗检测方法、设备及存储介质。


背景技术:

1、看门狗,又称watchdog timer,从本质上来讲就是一个定时器。在实际应用中,看门狗可以包括软件看门狗和硬件看门狗。不论是软件看门狗,还是硬件看门狗,目前的实现场景中,一般有一个输入一个输出。其中,输入叫做喂狗(kicking the dog或者servicethe dog),输出一般用于在其检测的业务进程或硬件出现异常时,对相应的业务进程或硬件进行复位,以使其检测的业务进程或硬件恢复正常。

2、以软件看门狗为例,虽然目前的软件看门狗可以对其检测的业务进程进行恢复,但在实际应用中,由于不可控因素的干扰,软件看门狗有可能无法成功复位其检测的业务进程,甚至软件看门狗失效,从而影响设备的正常使用。


技术实现思路

1、为了解决上述技术问题,本技术提供一种看门狗检测方法、设备及存储介质,旨在实现上层的软件看门狗与下层的软件看门狗之间的交互,从而能够由上层的软件看门狗触发下层的软件看门狗进行复位,使得出现异常的业务进程无论上层的软件看门狗是否失效,均能够恢复正常,进而保证设备能够正常使用。

2、第一方面,本技术提供一种看门狗检测方法。该方法包括:在系统服务进程启动的过程中,初始化系统服务看门狗,系统服务看门狗用于检测应用程序框架层中的系统服务进程是否正常;系统服务进程按照预设周期检测自身是否在正常运行;在正常运行时,系统服务进程向系统服务看门狗发送第一喂狗信息,系统服务看门狗向位于内核层的卡死检测看门狗发送第二喂狗信息;在未正常运行时,系统服务看门狗停止向卡死检测看门狗发送第二喂狗信息,并对系统服务进程执行复位操作。

3、示例性的,位于应用程序框架层的系统服务看门狗可以看作是位于上层的软件看门狗。

4、示例性的,位于内核层的卡死检测看门狗可以看作是位于下层的软件看门狗。

5、示例性的,位于上层的软件看门狗执行复位操作时比位于下层的软件看门狗执行复位操作时对电子设备的影响小。

6、由此,本技术提供的看门狗检测方法,通过设置系统服务看门狗在其检测的系统服务进程正常运行时,向卡死检测看门狗发送第二喂狗信息,而在系统服务进程未正常运行时,停止向卡死检测看门狗发送第二喂狗信息,从而实现了上层的软件看门狗与下层的软件看门狗之间的交互,进而能够由上层的软件看门狗触发下层的软件看门狗进行复位,使得出现异常的业务进程无论上层的软件看门狗是否失效,均能够恢复正常,进而保证设备能够正常使用。

7、根据第一方面,系统服务进程中运行有关键服务;系统服务进程按照预设周期检测自身是否在正常运行,包括:系统服务进程按照预设周期检测关键服务是否正常运行;在关键服务正常运行时,确定系统服务进程在正常运行;在关键服务未正常运行时,确定系统服务进程未正常运行。

8、示例性的,在系统服务进程启动时,android服务会被注册和启动各种关键服务,例如ams、wms等。

9、示例性的,由于这些关键服务是运行在系统服务进程,因此如果这些关键服务正常运行,则说明系统服务进程是正常运行的。故而,本技术提供的看门狗检测方法,在异常时长小于时长阈值,例如系统关键任务超时检测看门狗对应的2个检测周期时,优先使用系统关键任务超时检测看门狗执行复位,即由本层的软件看门狗对其检测的业务进程进行复位,在异常时长不小于时长阈值时通知卡死检测看门狗,即下层的软件看门狗执行复位,从而使得复位操作能够尽可能小的影响电子设备的工作,进一步保证用户体验根据系统服务进行中运行的关键服务便可以准确的确定系统服务进程是否在正常运行。

10、根据第一方面,或者以上第一方面的任意一种实现方式,在正常运行时,系统服务进程向系统服务看门狗发送第一喂狗信息,系统服务看门狗向位于内核层的卡死检测看门狗发送第二喂狗信息,包括:在正常运行时,系统服务进程向系统服务看门狗发送第一喂狗信息;在正常运行且到达卡死检测看门狗相对于系统服务看门狗的喂狗周期时,系统服务看门狗向位于内核层的卡死检测看门狗发送第二喂狗信息。

11、示例性的,在系统服务进程正常运行时,系统服务看门狗向卡死检测看门狗发送的第二喂狗信息可以是在系统服务看门狗接收到第一喂狗信息后发送给卡死检测看门狗的,也可以是在到达卡死检测看门狗相对于系统服务看门狗的喂狗周期时才发送给卡死检测看门狗。

12、根据第一方面,或者以上第一方面的任意一种实现方式,在未正常运行时,系统服务看门狗停止向卡死检测看门狗发送第二喂狗信息,并对系统服务进程执行复位操作,包括:在未正常运行时,系统服务看门狗确定系统服务进程未正常运行的异常时长;系统服务看门狗根据异常时长和系统服务进程相对于系统服务看门狗的喂狗周期,确定异常次数;在异常次数大于n个喂狗周期,且系统服务看门狗没有接收到系统服务进程发送的第一喂狗信息时,停止向卡死检测看门狗发送第二喂狗信息,并对系统服务进程执行复位操作;其中,n为大于0的整数。

13、由此,本技术提供的看门狗检测方法,通过设置系统服务看门狗在连续多个(如3个)喂狗周期,或者说检测周期内没有接收到系统服务进程发送的第一喂狗信息时,再对系统服务进程执行复位操作,从而避免了频繁的对系统服务进程执行复位操作,即重启,降低用户使用电子设备的影响,保障了用户体验。

14、根据第一方面,或者以上第一方面的任意一种实现方式,在异常次数大于n个喂狗周期,且系统服务看门狗没有接收到系统服务进程发送的第一喂狗信息时,停止向卡死检测看门狗发送第二喂狗信息,并对系统服务进程执行复位操作,包括:在异常次数大于n个喂狗周期,且系统服务看门狗没有接收到系统服务进程发送的第一喂狗信息时,停止向卡死检测看门狗发送第二喂狗信息,并触发狗叫;在n+m个喂狗周期,且系统服务看门狗没有接收到系统服务进程发送的第一喂狗信息时,对系统服务进程执行复位操作;其中,m为大于0的整数。

15、由此,本技术提供的看门狗检测方法,通过设置在n个喂狗周期内没有接收到系统服务进程发送的第一喂狗信息时,先触发狗叫,在(n+m)个喂狗周期内没有接收到系统服务进程发送的第一喂狗信息时,再执行狗咬,从而避免了系统服务进程发送了第一喂狗信息,但因为某些原因,如外在因素的干扰导致第一喂狗信息没有及时到达系统服务看门狗,进而导致系统服务看门狗误以为系统服务进程出现异常,而对系统服务进程执行复位操作,进而降低用户使用电子设备的影响,保障了用户体验。

16、根据第一方面,或者以上第一方面的任意一种实现方式,在触发狗叫之后,方法还包括:系统服务看门狗抓取日常日志。

17、示例性的,系统服务看门狗可以通过预先编译好的dump逻辑抓取异常日志。

18、由此,本技术提供的看门狗检测方法,通抓取异常日志,从而能够便于运维人员对系统进行维护测试,并且精准定位异常问题。

19、根据第一方面,或者以上第一方面的任意一种实现方式,在未正常运行时,系统服务看门狗停止向卡死检测看门狗发送第二喂狗信息,并对系统服务进程执行复位操作之后,方法还包括:在复位成功后,系统服务看门狗向卡死检测看门狗发送第二喂狗信息。

20、由此,本技术提供的看门狗检测方法,在上层的软件看门狗执行复位操作成功后,及时向下层的卡死检测卡门狗发送第二喂狗信息,从而能够避免下层卡死检测看门狗执行复位操作,降低用户使用电子设备的影响,保障了用户体验。

21、根据第一方面,或者以上第一方面的任意一种实现方式,系统服务看门狗向位于内核层的卡死检测看门狗发送第二喂狗信息,包括:系统服务看门狗将第二喂狗信息发送至内核层中预先封装的公共节点,公共节点用于决策是否由卡死检测看门狗执行复位操作;其中,公共节点在未接收到第二喂狗信息时,根据设策略,确定是否执行复位操作;在确定执行复位操作时,通知卡死检测看门狗执行复位操作。

22、由此,本技术提供的看门狗检测方法,预先封装能够决策在上层的软件看门狗无法成功复位出现异常的业务进程时,是否由下层的软件看门狗执行复位的公共节点,由公共节点统一对接收上层不同软件看门狗发送的标识上层的软件看门狗检测的业务进程/业务进程执行的动作的状态标记,在未接收到第二喂狗信息时,通过根据预设策略进行分析决策,在确定需要由卡死检测看门狗执行复位时才通知卡死检测看门狗执行复位,使得本技术中的分层分级的恢复方案更加合理。

23、第二方面,本技术提供一种电子设备,包括:一个或多个处理器、存储器,以及一个或多个计算机程序;其中,所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得电子设备执行第一方面或第一方面的任意可能的实现方式中的方法的指令。

24、第三方面,本技术提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。

25、第四方面,本技术提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。

26、第五方面,本技术提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。

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