具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的设备系统监控方法,可以应用于如图1所示的应用环境中。其中,图1中的目标设备100可以是任何领域的设备或终端,例如,目标设备100是变电站的一种电力设备,本申请实施例对目标设备的类型不作限定。目标设备100中包括多个处理器1001和一个硬件看门狗1002,各处理器1001均与硬件看门狗1002连接。其中,各个处理器1001可以为相同的处理器,也可以为不同的处理器,例如,处理器1001为中央处理器(CentralProcessing Unit/Processor,CPU)、图形处理器(Graphics Processing Unit,GPU)、现场可编程门列式(Field Programmable Gate Array,FPFA)、微控制单元(MicrocontrollerUnit,MCU)等,本申请实施例对处理器的类型不作限定。对于硬件看门狗1002的实现结构本申请实施例也不作限定。基于图1,硬件看门狗1002可根据处理器1输出的控制信号对各处理器1001进行复位操作。
相关技术中,在通过硬件看门狗对设备系统进行监控时,硬件看门狗可对设备系统的处理器进行监控,监控时需在固定的时间间隔内对硬件看门狗进行刷狗操作,例如,以处理器为CPU为例,设固定时间间隔为1.6秒,那么就是在每隔1.6秒对CPU执行一次刷狗操作,如果刷狗的操作时间间隔大于1.6秒,硬件看门狗则会通过操作CPU的复位管脚,对CPU进行复位操作。
然而,对于多CPU的对称多处理(Asymmetric Multi-Processing,AMP)系统架构,运行硬件看门狗的刷狗程序只能实现监控一个CPU中的单个核心,对于该CPU中的其他核心的运行状态以及其他CPU中核心的运行状态均无法得知,一旦其他核心的程序出现异常,硬件看门狗无法对出现异常的核心对应的处理器进行复位,不能有效地对整个系统进行复位操作。例如,在220KV变电站的主变系统中,大多数要求系统实现主变保护的双重化保护系统,确保保护系统的安全性,稳定性,这使得在电力领域的设备系统中通常存在两套甚至更多的独立的CPU,每个CPU或存在一个核心或存在多个核心,如此,利用相关技术中的硬件看门狗电路对电力设备系统进行监控时,将无法同时监控该设备系统中的各CPU中所有核心的运行,就不能有效地对多CPU的设备系统进行监控,导致存在无法对整个设备系统进行复位操作的缺陷。
基于此,本申请实施例提供一种基于双CPU多核系统的看门狗控制方法及系统,能够实现对该设备系统的整个系统进行复位操作,从而有效的对多处理器的设备系统进行监控。
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请提供的一种设备系统监控方法,其执行主体可以为处理器,也可以为设备系统监控装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为处理器的部分或者全部。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
在一个实施例中,如图2所示,提供了一种设备系统监控方法,本实施例涉及的是对目标设备系统中各处理器中核心的虚拟看门狗数据进行分析,若各处理器中存在未执行预设的刷狗操作的核心,向硬件看门狗发送控制信号,以指示硬件看门狗对各处理器进行复位操作的具体过程;该实施例包括以下步骤:
S201,获取目标设备系统中各处理器中核心的虚拟看门狗数据,虚拟看门狗数据表征各处理器中核心的虚拟看门狗刷新状态。
其中,处理器以CPU为例,CPU核心又称为内核,其是CPU最重要的组成部分。通常,CPU所有的计算、接受/存储命令、处理数据都由核心执行来完成的。不同的CPU(不同系列或同一系列)都会有不同的核心类型,且无论哪种类型的CPU核心都具有固定的逻辑结构,以及一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元。
本申请实施例中所提及的CPU其类型包括但不仅限于多CPU单核、单CPU多核或多CPU多核。
请参见图3所示,图3示意出一种双CPU多核的情况,两个CPU分别称为CPU1、CPU2,且CPU1和CPU2均三个核心:810_1核、860核、810_0核。为了方便说明,将CPU1中的810_0核称为主核心,基于此,在获取CPU1和CPU2中所有核的虚拟看门狗数据时由主核心来执行,即,本申请实施例提供的设备系统监控方法中所有步骤可看做是主核心来执行。需要说明的是,将CPU1中的810_0核作为主核心,只是一种示例,实际应用,也可以结合实际情况,将CPU的其他核心作为主核心,本申请实施例对主核心的选取不作限定。
看门狗从本质上来说就是一个定时器电路,一般有一个输入和一个输出,其中输入叫做喂狗,输出一般连接到另外一个部分的复位端,例如,输出可以连接到单片机的复位端,如此,通过看门狗电路可以定期的查看单片机内部的情况,一旦单片机内部程序运行发生错误就向单片机发出复位/重启信号。
本申请实施例中的虚拟看门狗指的是通过程序实现的看门狗电路功能的仿实物的虚拟的看门狗,而虚拟看门狗数据表示的是虚拟看门狗在执行了刷新操作后的状态数据,其可以用来表征各处理器中核心的刷新状态。本申请实施例中通过设置虚拟看门狗,获取虚拟看门狗数据有利于监控目标设备系统中各处理器中核心的运行状态是否正常。
对于目标设备系统中的每个处理器中的每个核心,均需要预先建立虚拟看门狗。所以在获取目标设备系统中各处理器中核心的虚拟看门狗数据时,需要获取到所有处理器中每个核心的虚拟看门狗数据。
示例地,获取虚拟看门狗数据的方式可以是主核心向其他核心发送指示信息,以使其他核心反馈各自的虚拟看门狗数据;也可以是,其他核心按照预设程序主动向主核心发送各自的虚拟看门狗数据,本申请实施例对此不作限定。
例如,请继续参见上述图3,需要CPU1中的810_0核获取CPU1和CPU2中所有核心的虚拟看门狗数据,获取时,可以是CPU1中的810_0核分别向CPU1的810_1核、CPU1的860核、CPU2的810_0核、CPU2的810_1核、CPU2的860核这五个核发送指示信息,该五个核在接收到指示信息后,向CPU1中的810_0核反馈自身的虚拟看门狗数据,从而使得CPU1中的810_0核获取到所有核心的虚拟看门狗数据,可以理解的是,所有的核心包括CPU1中810_0核本身的虚拟看门狗数据。
S202,对各处理器中核心的虚拟看门狗数据进行分析。
看门狗电路是可以对处理器的运行状态进行监控,而监控的目的是为了保证处理器中各核心的程序运行出现异常时及时得到复位。实际应用时,可通过刷狗操作实现监控的目的,例如,处理器各核心定时对看门狗电路发送一个信号,该信号可以使看门狗电路执行刷狗操作,该刷狗操作是否按时执行表示着处理器核心的运行状态是否正常。
因此,基于各处理器中核心的虚拟看门狗数据,主核心需要对所有核心的虚拟看门狗数据进行分析,以根据虚拟看门狗的数据的分析结果确定各处理器各核心的刷狗操作状态,通过刷狗操作状态可以得知各处理器各核心的运行状态。
一种实施例,主核心在对所有核心的虚拟看门狗数据进行分析时,可以是通过预先训练的神经网络模型实现,例如,将所有核心的虚拟看门狗数据作为预先训练的神经网络模型的输入,经过神经网络模型后可直接输出每个核心的刷狗操作状态和运行状态。
另一种实施例中,主核心在对所有核心的虚拟看门狗数据进行分析时,可是通过虚拟看门数据中的数据信息来判断,例如,若虚拟看门数据中的数据信息存在已执行刷狗操作的标志位,则表示对应核心执行了刷狗操作,否则表示该核心未执行刷狗操作,而执行刷狗操作表示着该核心运行正常。由此,以此方式依次对每个核心的虚拟看门数据中的数据信息进行判断,可确定出各处理器中每个核心的运行状态。
S203,若各处理器中存在未执行预设的刷狗操作的核心,向硬件看门狗发送控制信号,控制信号用于指示硬件看门狗对各处理器进行复位操作。
经过上述分析,若处理器核心的虚拟看门狗未执行上述刷狗操作,则表示处理器的该核心存在程序运行异常,此时,需要对处理器进行复位。需要注意的是,对于多处理器多核心的设备系统,为了保证设备系统整体正常运行,一旦存在一个核心的程序运行异常,则需要对所有处理器同时进行复位。
针对此,本申请实施例中,可通过与各处理器同时连接的单独的硬件看门狗电路实现上述复位操作。
具体地,在上述主核心分析到各处理器中存在未执行预设的刷狗操作的核心,即需向该硬件看门狗发送控制信号,该控制信号用以指示硬件看门狗对设备系统中的对各处理器同时进行复位操作,也即,一旦主核心向硬件看门狗发出控制信号,就预示着设备系统的运行程序崩溃,该设备系统需要重新启动,这样,可以准确快速地对该设备系统的运行状态进行监控。
例如,请继续参见图3,CPU1的810_0核对获取到的各处理器各核心的虚拟看门狗数据进行分析,分析后发现CPU2中的860核没有执行刷狗操作,CPU1中的810_1核、860核、810_0核和CPU2中的810_0核、810_1核均执行了刷狗操作,那么表示各处理器中存在未执行预设的刷狗操作的核心,然后,CPU1的810_0核会向硬件看门狗发送控制信号,硬件看门狗接收到该控制信号后,会同时对CPU1和CPU2执行复位操作。
本实施例提供的设备系统监控方法,通过目标设备系统中各处理器主核心获取各处理器中核心的虚拟看门狗数据,并对各处理器中核心的虚拟看门狗数据进行分析,若各处理器中存在未执行预设的刷狗操作的核心,则向硬件看门狗发送控制信号,以指示硬件看门狗对各处理器进行复位操作。该方法中,因虚拟看门狗数据可以表征各处理器各核心的运行状态,所以对各处理器中的每个核心的虚拟看门狗数据综合进行分析后,可根据分析结果确定出目标设备系统中是否存在运行异常的核心,且在设备系统中存在运行异常的核心时,会通过硬件看门狗对目标设备系统中所有处理器均进行复位操作,实现对整个目标设备系统进行复位操作,从而有效地对多处理器的设备系统进行监控。
对于前面实施例中各处理器的核心的虚拟看门狗数据,下面通过一种实施例对此进行详细说明。则一个实施例中,如图4所示,各处理器的核心的虚拟看门狗数据的生成过程包括以下步骤:
S401,各处理器的核心分别在各自所属处理器的共享内存中创建对应的虚拟看门狗数据结构;虚拟看门狗数据结构包括虚拟看门狗使能标志、虚拟看门狗超时时间和踢狗标志。
本实施例可以是在上述获取目标设备系统中各处理器中核心的虚拟看门狗数据之前进行,即需要预先针对各处理器中的各核心分别创建对应的虚拟看门狗。
具体地,以单个核心来说,在对每个核心创建对应的虚拟看门狗时,是在该核心所属处理器的共享内存中创建该核心的虚拟看门狗的。例如,请参见图5所示,CPU1中的860核所属处理器就是该CPU1,而CPU2中的860核所属处理器就是CPU2。
其中,共享内存指的针对每个处理器预先创建的一块内存区域,该共享内存针对该处理器的所有核心来说是共享。例如,图5中CPU1中的共享内存对于CPU1中的810_1核、860核、810_0核三个核心来说都是可以访问的;CPU2中的共享内存对于CPU2中的810_1核、860核、810_0核三个核心来说都是可以访问的。但是,需要注意的是,CPU1中核心是不能访问CPU2中的的共享内存,且CPU2中核心是不能访问CPU1中的的共享内存。
在对处理器中创建共享内存时,可在处理器中的双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR)中创建的一块区域,将该区域作为对应处理器的共享内存。
在共享内存中,对每个核心创建对应的虚拟看门狗时,以虚拟看门狗数据结构的方式来创建,该虚拟看门狗数据结构包括使能标志、超时时间和踢狗标志。
其中,虚拟看门狗数据结构的使能标志表示系统的运行状态,虚拟看门狗初始化时,把虚拟看门狗使能标志赋为使能状态,即系统正常运行状态,若系统运行状态异常,此时虚拟看门狗使能标志为不使能状态。虚拟看门狗数据结构的超时时间表示虚拟看门狗在规定时间没有进行踢狗操作的时间,若超过此时间未执行踢狗操作,虚拟看门狗数据结构的使能标志变为不使能,且表示所属核心的程序运行崩溃。虚拟看门狗数据结构的踢狗标志表示在虚拟看门狗数据结构的超时时间内,处理器核心会向该核心的虚拟看门狗发送一个信号,令虚拟看门狗执行踢狗操作。
以上述方式对每个核心均创建对应的虚拟看门狗数据结构。
S402,根据各虚拟看门狗数据结构,各处理器的核心对对应的虚拟看门狗执行刷狗操作,得到各处理器的核心的虚拟看门狗数据。
在执行刷狗操作时,各处理器中的每个核心各自对各自的虚拟看门狗执行刷狗操作。
可选地,刷狗操作包括各处理器的核心分别使能对应的虚拟看门狗,并根据预设的间隔时间对对应的虚拟看门狗输出踢狗信号。
对于每个核心,请参见图6,以CPU1的860核为例,CPU1的860核的虚拟看门狗为虚拟看门狗12,那么在固定的时间间隔中,CPU1的860核对虚拟看门狗12执行刷狗操作。具体地,CPU1的860核可以通过使能虚拟看门狗12,每隔预设时间间隔,向虚拟看门狗12输出踢狗信号,虚拟看门狗12在接收到该踢狗信号之后,会将踢狗标志进行更新,例如,未接收到该踢狗信号之前踢狗标志为0,接收到该踢狗信号之后,踢狗标志更新为1。另外,在CPU1的860核使能虚拟看门狗12后,虚拟看门狗12中的使能标志也需要进行更新,例如,未使能之前,虚拟看门狗12中的使能标志为空,使能之后,虚拟看门狗12的使能标志更新为1。但需要注意的是,若CPU1的860核未在固定的时间间隔内执行刷狗操作,即未对虚拟看门狗12进行使能,则虚拟看门狗12中的使能标志不更新。
其中,上述预设的时间间隔可根据实际需求而设定,一种实施例,可以把预设的间隔时间设置成1.6s,刷狗操作就是各处理器的各核心在虚拟看门狗使能的状态下需要在1.6s内输出踢狗信号,本申请实施例对预设的时间间隔的具体数值不作限定。
例如,上述CPU1的860核使能虚拟看门狗12时,需每隔1.6s内对虚拟看门狗12输出踢狗信号,表示CPU1的860核正常运行,一旦没有按照该1.6s对虚拟看门狗12输出踢狗信号,表示CPU1的860核运行异常,此时,需要虚拟看门狗12中的虚拟看门狗超时时间会更新为未按照1.6s输出踢狗信号的超时时间,当然也可以不显示具体时间,以超时标志来显示CPU1的860核未按照固定时间间隔对虚拟看门狗12输出踢狗信号,本申请实施例对此也不作限定。
本实施例提供的设备系统监控方法,通过各处理器的核心分别在各自所属处理器的共享内存中创建对应的虚拟看门狗数据结构,根据各虚拟看门狗数据结构,各处理器的核心对对应的虚拟看门狗执行刷狗操作,得到各处理器的核心的虚拟看门狗数据,其中,虚拟看门狗数据结构包括虚拟看门狗使能标志、虚拟看门狗超时时间和踢狗标志,刷狗操作包括各处理器的核心分别使能对应的虚拟看门狗,并根据预设的间隔时间对对应的虚拟看门狗输出踢狗信号。该方法中,各核心分别在各自所属处理器的共享内存中创建对应的虚拟看门狗数据结构,各处理器的核心对对应的虚拟看门狗执行刷狗操作,可以得到各处理器各核心的虚拟看门狗数据,因虚拟看门狗数据可以表征各处理器各核心程序的运行状态,因此在各处理器的每个核心中均创建虚拟看门狗数据结构是可以有效地对整个设备系统中的每个核心进行监控。
基于前述任一个实施例,在一个实施例中,如图7所示,上述S201中的获取目标设备系统中各处理器中核心的虚拟看门狗数据包括以下步骤:
S601,在所属处理器的共享内存中,获取所属处理器中核心的第一虚拟看门狗数据,并接收除所属处理器以外的其他处理器中核心传输的其他处理器中核心的第二虚拟看门狗数据;其他处理器包括至少一个处理器。
主核心获取所属处理器各核心的虚拟看门狗数据,把从所属处理器中获取的数据称为第一虚拟看门狗数据,该第一虚拟看门狗数据中既包括主核心对应的虚拟看门狗数据,也包括所属处理器中处主核心以外的其他核心的虚拟看门狗数据,例如,上述图6中,主核心为CPU1中的810_0核,那么主核心的所属处理器就是CPU1,则这里的第一虚拟看门狗数据既包括810_0核对应的虚拟看门狗13的虚拟看门狗数据,也包括CPU1中的810_1核对应的虚拟看门狗11的虚拟看门狗数据,以及860核对应的虚拟看门狗12的虚拟看门狗数据。
主核心接收除了所属处理器之外的其他处理器中各核心的虚拟看门狗数据,把从其他处理器中接收到的所有虚拟看门狗数据称为第二虚拟看门狗数据。这的其他处理器可以是一个处理器,也可以是多个处理器,本申请实施例对此不作限定。
以其他处理器为一个处理器,且为图6中的CPU2为例,图6中,CPU1为上述主核心的所属处理器,CPU2就是除该所属处理器以外的其他处理器。那么主核心(CPU1中的810_0核)接收到第二虚拟看门狗数据中包括的是CPU2中的810_1核对应的虚拟看门狗21的虚拟看门狗数据、CPU2中的860核对应的虚拟看门狗22的虚拟看门狗数据,以及CPU2中的810_0核对应的虚拟看门狗23的虚拟看门狗数据。
一种实施例,CPU1的810_0核接收CPU2中810_1核、860核和810_0核的虚拟看门狗数据的方式可以是CPU2通过GMAC千兆以太网的方式传输给CPU1的810_0核。
另一种实施例,CPU1的810_0核接收CPU2中810_1核、860核和810_0核的虚拟看门狗数据的方式可以是CPU2通过串行外设接口(Serial PeripheralInterface,SPI)的方式传输给CPU1的810_0核。
S602,根据第一虚拟看门狗数据和第二虚拟看门狗数据,得到目标设备系统中各处理器中核心的虚拟看门狗数据。
根据上述得到的第一虚拟看门狗数据和第二看门狗数据,就可以得到目标设备系统中各处理器各核心的虚拟看门狗数据。
例如,请继续参见图5,CPU1的810_0核从CPU1的共享内存中获取CPU1中810_1核、860核和810_0核的第一虚拟看门狗数据,CPU1的810_0核接收CPU2中810_1核、860核和810_0核的第二虚拟看门狗数据,第一看门狗数据和第二虚拟看门狗数据即为该设备系统中CPU1和CPU2的虚拟看门狗数据。
本申请实施例中涉及的第一虚拟看门狗数据以及第二虚拟看门狗数据中的第一、第二只是用于对不同的数据进行区分,不进行其他信息的限定。
本实施例提供的设备系统监控方法,通过在所属处理器的共享内存中,获取所属处理器中核心的第一虚拟看门狗数据,并接收除所属处理器以外的其他处理器中核心传输的其他处理器中核心的第二虚拟看门狗数据,然后根据第一虚拟看门狗数据和第二虚拟看门狗数据,得到目标设备系统中各处理器中核心的虚拟看门狗数据。该方法中,主核心获取所属处理器的各核心的虚拟看门狗数据,并接收其他各处理器各核心的虚拟看门狗数据,由此主核心可以得到目标设备系统中各处理器各核心的虚拟看门狗数据,虚拟看门狗数据表示核心程序的运行状态,因此得到目标设备系统中各处理器各核心的虚拟看门狗数据,可以实现对多处理器的整个目标设备系统进行监控的目的。
前面针对目标设备系统中存在运行异常的核心的情况进行了说明,实际应用时,还存在目标设备系统不存在运行异常的核心,即所有核心均正常的情况,针对此情况,下面通过一个实施例进行说明,该实施例包括:若各处理器中核心均已执行刷狗操作,向硬件看门狗发送刷新信号,刷新信号用于对硬件看门狗进行刷新操作。
存在未执行刷狗操作的核心表示各处理器各核心存在运行异常的核心;而各核心均已执行刷狗操作,表示各处理器中各核心不存在运行异常的核心。具体地,请继续参见图3,如果CPU1中的810_1核、860核、810_0核和CPU2中的810_1核、860核、810_0核均执行了刷狗操作,那么认为CPU1和CPU2中各核心均已执行刷狗操作,则向硬件看门狗发送刷新信号。其中,刷新信号是在目标设备系统的各处理器各核心程序运行正常的状态下,对硬件看门狗进行刷新操作。如此,在所有核心都正常的情况,主核心仍对硬件看门狗发送刷新信号,可保证硬件看门狗正常运行,对目标设备系统继续进行监控。
如图8所示,在一个实施例中,还提供一种设备系统监控方法,本实施例以处理器是CPU,目标设备系统中包括CPU1和CPU2,且CPU1和CPU2中均包括多个核心为例,该实施例包括:
S701,CPU1中各核心在CPU1的共享内存中创建各自对应的虚拟看门狗数据结构,CPU2中各核心在CPU2的共享内存中创建各自对应的虚拟看门狗数据结构。
其中,虚拟看门狗数据结构包括虚拟看门狗使能标志、虚拟看门狗超时时间和踢狗标志。
S702,主核心根据各虚拟看门狗数据结构,CPU1中各核心和CPU2中各核心对各自对应的虚拟看门狗执行刷狗操作,得到各核心的虚拟看门狗数据。
S703,主核心获取CPU1中各核心的第一虚拟看门狗数据,并接收CPU2中各核心传输的第二虚拟看门狗数据。
S704,主核心根据第一虚拟看门狗数据和第二虚拟看门狗数据,对CPU1和CPU2中的各核心的虚拟看门狗数据进行分析。
S705,若存在未执行预设的刷狗操作的核心,主核心向硬件看门狗发送控制信号,以指示硬件看门狗对CPU1和CPU2均进行复位操作。
S706,若各核心均已执行刷狗操作,主核心向硬件看门狗发送刷新信号,以对硬件看门狗进行刷新操作。
本实施例提供的设备系统监控方法中各步骤,其实现原理和技术效果与前面各设备系统监控方法实施例中类似,在此不再赘述。
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例中的流程图至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
另外,本申请实施例还提供了一种设备系统监控系统,请参见图9所示,该系统包括:目标设备系统的多个处理器和硬件看门狗,每个处理器包括至少一个核心;多个处理器中目标处理器与硬件看门狗连接;目标处理器中的目标核心,用于获取各所述处理器中核心的虚拟看门狗数据,并在各处理器中存在未执行预设的刷狗操作的核心时,向硬件看门狗发送控制信号,控制信号用于指示硬件看门狗对各处理器进行复位操作。
在一个实施例中,每个处理器中预先构建一共享内存,共享内存中用于存储对应处理器中核心的虚拟看门狗数据。
本实施例提供的设备系统监控系统中各步骤,其实现原理和技术效果与前面各设备系统监控系统实施例中类似,在此不再赘述。
另外,本申请实施例还提供了一种设备系统监控装置,如图10所示,在一个实施例中,该设备系统监控装置900包括:获取模块901、分析模块902和复位模块903,其中:
获取模块901,用于获取目标设备系统中各处理器中核心的虚拟看门狗数据,虚拟看门狗数据表征各处理器中核心的虚拟看门狗刷新状态;
分析模块902,用于对各处理器中核心的虚拟看门狗数据进行分析;
复位模块903,若若各处理器中存在未执行预设的刷狗操作的核心,向硬件看门狗发送控制信号,控制信号用于指示硬件看门狗对各处理器进行复位操作。
在其中一个实施例中,还提供了一种设备系统监控装置,该装置包括:
创建模块,用于分别在各自所属处理器的共享内存中创建对应的虚拟看门狗数据结构;虚拟看门狗数据结构包括虚拟看门狗使能标志、虚拟看门狗超时时间和踢狗标志;
数据生成模块,用于根据各虚拟看门狗数据结构,对对应的虚拟看门狗执行刷狗操作,得到各处理器的核心的虚拟看门狗数据。
在其中一个实施例中,上述刷狗操作包括各处理器的核心分别使能对应的虚拟看门狗,并根据预设的间隔时间对对应的虚拟看门狗输出踢狗信号。
在其中一个实施例中,上述获取模块901包括:
获取单元,用于在所属处理器的共享内存中,获取所属处理器中核心的第一虚拟看门狗数据,并接收除所属处理器以外的其他处理器中核心传输的其他处理器中核心的第二虚拟看门狗数据;其他处理器包括至少一个处理器;
确定单元,用于根据第一虚拟看门狗数据和第二虚拟看门狗数据,得到目标设备系统中各处理器中核心的虚拟看门狗数据。
在其中一个实施例中,还提供了一种设备系统监控装置,该装置还包括:
刷新模块,用于若各处理器中核心均已执行刷狗操作,向硬件看门狗发送刷新信号,刷新信号用于对硬件看门狗进行刷新操作。
关于设备系统监控装置的具体限定可以参见上文中对于设备系统监控方法的限定,在此不再赘述。上述设备系统监控装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种设备系统监控方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取目标设备系统中各处理器中核心的虚拟看门狗数据,虚拟看门狗数据表征各处理器中核心的虚拟看门狗刷新状态;
对各处理器中核心的虚拟看门狗数据进行分析;
若各处理器中存在未执行预设的刷狗操作的核心,向硬件看门狗发送控制信号,控制信号用于指示硬件看门狗对各处理器进行复位操作。
在一个实施例中,该处理器执行计算机程序时实现以下步骤:
分别在各自所属处理器的共享内存中创建对应的虚拟看门狗数据结构;虚拟看门狗数据结构包括虚拟看门狗使能标志、虚拟看门狗超时时间和踢狗标志;
根据各虚拟看门狗数据结构,对对应的虚拟看门狗执行刷狗操作,得到各处理器的核心的虚拟看门狗数据。
在一个实施例中,刷狗操作包括各处理器的核心分别使能对应的虚拟看门狗,并根据预设的间隔时间对对应的虚拟看门狗输出踢狗信号。
在一个实施例中,该处理器执行计算机程序时实现以下步骤:
在所属处理器的共享内存中,获取所属处理器中核心的第一虚拟看门狗数据,并接收除所属处理器以外的其他处理器中核心传输的其他处理器中核心的第二虚拟看门狗数据;其他处理器包括至少一个处理器;
根据第一虚拟看门狗数据和第二虚拟看门狗数据,得到目标设备系统中各处理器中核心的虚拟看门狗数据。
在一个实施例中,该处理器执行计算机程序时实现以下步骤:
若各处理器中核心均已执行刷狗操作,向硬件看门狗发送刷新信号,刷新信号用于对硬件看门狗进行刷新操作。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取目标设备系统中各处理器中核心的虚拟看门狗数据,虚拟看门狗数据表征各处理器中核心的虚拟看门狗刷新状态;
对各处理器中核心的虚拟看门狗数据进行分析;
若各处理器中存在未执行预设的刷狗操作的核心,向硬件看门狗发送控制信号,控制信号用于指示硬件看门狗对各处理器进行复位操作。
在一个实施例中,该计算机程序被处理器执行时实现以下步骤:
分别在各自所属处理器的共享内存中创建对应的虚拟看门狗数据结构;虚拟看门狗数据结构包括虚拟看门狗使能标志、虚拟看门狗超时时间和踢狗标志;
根据各虚拟看门狗数据结构,对对应的虚拟看门狗执行刷狗操作,得到各处理器的核心的虚拟看门狗数据。
在一个实施例中,刷狗操作包括各处理器的核心分别使能对应的虚拟看门狗,并根据预设的间隔时间对对应的虚拟看门狗输出踢狗信号。
在一个实施例中,该计算机程序被处理器执行时实现以下步骤:
在所属处理器的共享内存中,获取所属处理器中核心的第一虚拟看门狗数据,并接收除所属处理器以外的其他处理器中核心传输的其他处理器中核心的第二虚拟看门狗数据;其他处理器包括至少一个处理器;
根据第一虚拟看门狗数据和第二虚拟看门狗数据,得到目标设备系统中各处理器中核心的虚拟看门狗数据。
在一个实施例中,该计算机程序被处理器执行时实现以下步骤:
若各处理器中核心均已执行刷狗操作,向硬件看门狗发送刷新信号,刷新信号用于对硬件看门狗进行刷新操作。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。