一种软件监控方法、装置、设备及存储介质与流程

文档序号:27490014发布日期:2021-11-22 14:09阅读:100来源:国知局
一种软件监控方法、装置、设备及存储介质与流程

1.本发明实施例涉及软件设计技术领域,尤其涉及一种软件监控方法、装置、设备及存储介质。


背景技术:

2.嵌入式计算机软件开发领域中,常用到看门狗(watchdog)对某一个或某一组软件的运行状态进行监控。
3.看门狗在初始状态下通过某种规则运行起来,达到特定的约束条件后激活看门狗报警,如某一组件长时间不去“feed

dog”,则触发看门狗的报警机制,实现监控和识别系统中状态异常组件的作用;
4.看门狗技术分为软狗和硬狗,从原理上看,无论软硬狗,都是定期的通过一个信号来重置看门狗组件,让它在未达到触发条件之前,强制回到初始状态,从而使看门狗重新按照规则进行监控。
5.但是,如果看门狗本身出了问题,则可视为它不再具备继续监控其他组件的能力,但系统内没有组件能够监控看门狗的状态,也就不能了解看门狗是否能够正常工作,这种情况下的设计,我们称之为非高可用的看门狗设计。
6.为了解决看门狗机制的非高可用问题,通常的解决办法有:增加额外的看门狗硬件芯片或者使用二级看门狗软件来监控一级看门狗。其中,看门狗硬件芯片造价高,在成本上相对于软件存在着劣势,并占用芯片引脚,增加了电路设计上的复杂度。而二级看门狗软件仍然存在着失效的概率,本质上并未解决特殊工况下看门狗失效的问题。


技术实现要素:

7.本发明提供一种软件监控方法、装置、设备及存储介质,以实现对系统运行软件的实时监控。
8.第一方面,本发明实施例提供了一种软件监控方法,包括:
9.运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程,所述第一监控进程用于监控被监控软件及所述第二监控进程,所述第二监控进程用于监控所述第一监控进程;
10.当所述第二监控进程监控到所述第一监控进程异常时,由所述第二监控进程监控所述被监控软件,同时基于所述初始监控软件创建新的第一监控进程。
11.可选的,该方法还包括:
12.当所述第一监控进程监控到所述第二监控进程异常时,基于所述初始监控软件创建新的第二监控进程。
13.可选的,在运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程之后,还包括:
14.所述第一监控进程根据所述被监控软件形成注册信息表发送至所述第二监控进
程。
15.可选的,在基于所述初始监控软件创建新的第一监控进程之后,还包括:
16.所述第二监控进程将所述注册信息表发送至新的第一监控进程。
17.可选的,该方法还包括:
18.当所述第一监控进程监控到所述被监控软件异常时,触发报警机制。
19.可选的,该方法还包括:
20.当所述第二监控进程监控到所述被监控软件异常时,触发报警机制。
21.第二方面,本发明实施例还提供了一种软件监控装置,该装置包括:
22.监控进程运行模块,用于运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程,所述第一监控进程用于监控被监控软件及所述第二监控进程,所述第二监控进程用于监控所述第一监控进程;
23.第一异常处理模块,用于当所述第二监控进程监控到所述第一监控进程异常时,由所述第二监控进程监控所述被监控软件,同时基于所述初始监控软件创建新的第一监控进程。
24.第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所述的软件监控方法。
25.第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明任意实施例所述的软件监控方法。
26.本发明通过运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程,第一监控进程用于监控被监控软件及第二监控进程,第二监控进程用于监控第一监控进程,当第二监控进程监控到第一监控进程异常时,由第二监控进程监控被监控软件,同时基于初始监控软件创建新的第一监控进程,解决了目前监控软件的非高可用问题,在不增加硬件成本的前提下,实现了对系统运行软件的实时监控,通过在监控机制异常情况下的监控恢复机制,达到监控软件高可用的目的。
附图说明
27.图1是本发明实施例一提供的一种软件监控方法的流程图;
28.图2a本发明实施例一提供的一种软件监控方法的第一种原理示意图;
29.图2b本发明实施例一提供的一种软件监控方法的第二种原理示意图;
30.图2c本发明实施例一提供的一种软件监控方法的第三种原理示意图;
31.图2d本发明实施例一提供的一种软件监控方法的第四种原理示意图;
32.图2e本发明实施例一提供的一种软件监控方法的第五种原理示意图;
33.图2f本发明实施例一提供的一种软件监控方法的第六种原理示意图;
34.图3是本发明实施例二提供的一种软件监控装置的结构框图;
35.图4是本发明实施例三提供的一种计算机设备的结构框图。
具体实施方式
36.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构,此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
37.实施例一
38.图1为本发明实施例一提供的一种软件监控方法的流程图,本实施例可适用于对系统运行软件进行实时监控的情况,该方法可以由软件监控装置来执行,该装置可以通过软件和/或硬件实现。
39.如图1所示,该方法具体包括如下步骤:
40.步骤110、运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程。
41.其中,初始监控软件可以理解为监控软件的初始代码程序,即还未运行的监控软件。
42.具体的,可以对初始监控软件同时开启两个进程,赋予不同的运行参数,分别作为第一监控进程和第二监控进程,实现不同的监控作用。在本实施例中,第一监控进程用于监控被监控软件及第二监控进程,第二监控进程用于监控第一监控进程。第一监控进程可以理解为一级看门狗,第二监控软件可以理解为二级看门狗。区别于其它二级看门狗软件,本实施例中的第一监控进程和第二监控进程可以相互监控,也就是说,任意一个监控进程在工作时也都在被监控,这样,任一监控进程发生异常时,都可以及时被发现,从而进行相应的处理。
43.可选的,在运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程之后,第一监控进程根据被监控软件形成注册信息表发送至第二监控进程。
44.示例性的,图2a本发明实施例一提供的一种软件监控方法的第一种原理示意图。如图2a所示,运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程后,第一监控进程可以确定系统中的被监控软件,并形成注册信息表后发送至第二监控进程,同时,第一监控进程也监控第二监控进程的运行状态。在第一监控进程运行正常时,第二监控进程可以只用于监控第一监控进程。
45.可选的,当第一监控进程监控到被监控软件异常时,触发报警机制。
46.示例性的,图2b本发明实施例一提供的一种软件监控方法的第二种原理示意图。如图2b所示,当第一监控进程运行正常时,会对系统中各被监控软件进行实时监控,此时被监控软件2运行异常,就可以触发第一监控进程的报警机制。
47.步骤120、当第二监控进程监控到第一监控进程异常时,由第二监控进程监控被监控软件,同时基于初始监控软件创建新的第一监控进程。
48.具体的,当第一监控进程异常时,可以由第二监控进程监控到,此时可以第二监控进程接替第一监控进程对各被监控软件进行监控,同时,可以基于初始监控软件创建新的第一监控进程,以替换运行异常的第一监控进程。在实际应用中,可以使用fork指令实现监控新进程的创建操作。
49.示例性的,图2c本发明实施例一提供的一种软件监控方法的第三种原理示意图,
图2d本发明实施例一提供的一种软件监控方法的第四种原理示意图。如图2c所示,当第一监控进程异常时,可以由第二监控进程监控到,此时会实现图2d所示操作,第二监控进程接替第一监控进程对各被监控软件进行监控,同时,可以基于初始监控软件创建新的第一监控进程,以替换第一监控进程运行异常的进程。在实际应用中,可以使用fork指令实现新的第一监控进程的创建操作。当新的第一监控进程可以正常运行后,新的第一监控进程会继续监控各被监控软件及第二监控进程,第二监控进程只监控新的第一监控进程,即图2a所示的状态。
50.可选的,当第二监控进程监控到被监控软件异常时,触发报警机制。
51.示例性的,如图2d所示的监控状态,此时由第二监控进程对系统中各被监控软件进行实时监控,当某个被监控软件运行异常时,就会触发第二监控进程的报警机制进行异常报警。
52.本实施例的技术方案,通过运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程,第一监控进程用于监控被监控软件及第二监控进程,第二监控进程用于监控第一监控进程,当第二监控进程监控到第一监控进程异常时,由第二监控进程监控被监控软件,同时基于初始监控软件创建新的第一监控进程,解决了目前监控软件的非高可用问题,在不增加硬件成本的前提下,实现了对系统运行软件的实时监控,通过在监控机制异常情况下的监控恢复机制,达到监控软件高可用的目的。
53.在上述技术方案的基础上,本实施例提供的软件监控方法还可以包括以下步骤:
54.步骤140、第二监控进程将注册信息表发送至新的第一监控进程。
55.具体的,在创建新的第一监控进程后,新的第一监控进程没有各被监控软件的注册信息,因此第二监控进程可以重新将注册信息表发送至新的第一监控,这样新的第一监控进程就可以恢复正常的监控操作了。
56.步骤150、当第一监控进程监控到第二监控进程异常时,基于初始监控软件创建新的第二监控进程。
57.示例性的,图2e本发明实施例一提供的一种软件监控方法的第五种原理示意图,图2f本发明实施例一提供的一种软件监控方法的第六种原理示意图。如图2e所示,当第二监控进程运行异常时,可以由第一监控进程监控到,此时会实现图2f所示操作,可以基于初始监控软件创建新的第二监控进程,以替换运行异常的第二监控进程。
58.实施例二
59.本发明实施例所提供的软件监控装置可执行本发明任意实施例所提供的软件监控方法,具备执行方法相应的功能模块和有益效果。图3是本发明实施例二提供的一种软件监控装置的结构框图,如图3所示,该装置包括:监控进程运行模块210和第一异常处理模块220。
60.监控进程运行模块210,用于运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程,所述第一监控进程用于监控被监控软件及所述第二监控进程,所述第二监控进程用于监控所述第一监控进程。
61.第一异常处理模块220,用于当所述第二监控进程监控到所述第一监控进程异常时,由所述第二监控进程监控所述被监控软件,同时基于所述初始监控软件创建新的第一监控进程。
62.本实施例的技术方案,通过运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程,第一监控进程用于监控被监控软件及第二监控进程,第二监控进程用于监控第一监控进程,当第二监控进程监控到第一监控进程异常时,由第二监控进程监控被监控软件,同时基于初始监控软件创建新的第一监控进程,解决了目前监控软件的非高可用问题,在不增加硬件成本的前提下,实现了对系统运行软件的实时监控,通过在监控机制异常情况下的监控恢复机制,达到监控软件高可用的目的。
63.可选的,该装置还包括:
64.第二异常处理模块,用于当所述第一监控进程监控到所述第二监控进程异常时,基于所述初始监控软件创建新的第二监控进程。
65.可选的,该装置还包括:
66.第一注册信息复制模块,用于在运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程之后,所述第一监控进程根据所述被监控软件形成注册信息表发送至所述第二监控进程。
67.可选的,该装置还包括:
68.第二注册信息复制模块,用于在基于所述初始监控软件创建新的第一监控进程之后,所述第二监控进程将所述注册信息表重新发送至所述第一监控进程。
69.可选的,该装置还包括:
70.第一报警模块,用于当所述第一监控进程监控到所述被监控软件异常时,触发报警机制。
71.可选的,该装置还包括:
72.第二报警模块,用于当所述第二监控进程监控到所述被监控软件异常时,触发报警机制。
73.实施例三
74.图4为本发明实施例三提供的一种计算机设备的结构框图,如图4所示,该计算机设备包括处理器310、存储器320、输入装置330和输出装置340;计算机设备中处理器310的数量可以是一个或多个,图4中以一个处理器310为例;计算机设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图4中以通过总线连接为例。
75.存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的软件监控方法对应的程序指令/模块(例如,软件监控装置中的监控进程运行模块210和第一异常处理模块220)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的软件监控方法。
76.存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
77.输入装置330可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。
78.实施例四
79.本发明实施例四还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种软件监控方法,该方法包括:
80.运行初始监控软件并进行进程复制,得到第一监控进程和第二监控进程,所述第一监控进程用于监控被监控软件及所述第二监控进程,所述第二监控进程用于监控所述第一监控进程;
81.当所述第二监控进程监控到所述第一监控进程异常时,由所述第二监控进程监控所述被监控软件,同时基于所述初始监控软件创建新的第一监控进程。
82.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的软件监控方法中的相关操作。
83.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
84.值得注意的是,上述软件监控装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
85.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1