CN114328083B - 一种wdt监控方法、装置及介质 - Google Patents
一种wdt监控方法、装置及介质 Download PDFInfo
- Publication number
- CN114328083B CN114328083B CN202111447218.8A CN202111447218A CN114328083B CN 114328083 B CN114328083 B CN 114328083B CN 202111447218 A CN202111447218 A CN 202111447218A CN 114328083 B CN114328083 B CN 114328083B
- Authority
- CN
- China
- Prior art keywords
- thread
- monitoring
- wdt
- monitored
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 176
- 238000000034 method Methods 0.000 title claims abstract description 102
- 230000008569 process Effects 0.000 claims abstract description 49
- 238000012806 monitoring device Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 10
- 230000000903 blocking effect Effects 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 abstract description 22
- 230000007246 mechanism Effects 0.000 abstract description 13
- 230000036541 health Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种WDT监控方法、装置及介质,包括:读取监控配置文件中的配置信息以确定待监控线程,判断数据库中是否存在与各待监控线程对应的当前运行数据,若各待监控线程对应的当前运行数据均存在于数据库中,则确定各线程运行正常,控制WDT更新时间,否则,确定有线程运行异常,则控制WDT复位软件系统,进而实现各线程和进程的正常运行。由此可见,本发明提供的技术方案,依赖数据库中各待监控线程的当前运行数据是否均存在以确定是否有线程运行异常不会出现数据堵塞的情况,避免基于Linux系统的管道机制实现对WDT时间的更新时,管道因信息堵塞导致WDT无法及时更新,提高WDT监控进程的灵活性和可靠性。
Description
技术领域
本申请涉及监测技术领域,特别是涉及一种WDT监控方法、装置及介质。
背景技术
底板管理控制器(baseboard management controller,简称BMC)为服务器中的关键部件,为用户提供丰富的服务器管理接口和故障监控及恢复方法,是一个围绕智能平台管理接口(Intelligent Platform Management Interface,简称IPMI)规范实现的多进程多线程的服务器管理子系统。作为用户监控和管理服务器的重要部件,其软件系统的健壮性极为重要,一般在软件系统中都存在基于硬件看门狗定时器(watchdog timer,简称WDT)的软件监控机制,当软件运行阻塞或故障时,WDT可以通过复位软件系统的方法进行恢复,当软件运行正常时,需要软件系统通过相关寄存器对WDT的时间进行更新。
目前,WDT监控机制采用基于Linux系统的管道机制实现对WDT时间的更新,软件中的各线程和进程通过Linux系统管道将自身的健康状态信息发送至WDT监控进程,WDT监控进程确定获取到所有进程和线程的健康状态信息且健康状态为正常时,WDT监控进程对硬件WDT进行一次时间更新。当某个进程或线程未通过管道发送对应的健康状态信息或健康状态为异常时,WDT监控进程不更新WDT的时间,并控制硬件WDT进入倒计时,当WDT倒计时结束,则触发软件系统复位进行恢复。采用基于Linux系统的管道机制实现对WDT时间的更新时,需要依赖Linux系统管道的特性,当通过管道发送WDT时间更新需求的线程和进程较多时,即需要监控的线程和进程较多时,或某个线程向管道发送消息比较频繁时,若WDT监控进程无法及时从管道中读取消息进行处理,会造成管道中过多导致线程发送信息失败的情况,进而WDT无法及时更新,甚至导致BMC的意外重启,降低WDT时间更新的灵活性和可靠性。
由此可见,如何及时对WDT时间进行更新,提高WDT监控进程的灵活性和可靠性,使BMC系统正常运行,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种WDT监控方法、装置及介质,通过判断数据库中是否存在各待监控线程的对应的当前运行数据,进而确定各待监控线程是否运行异常,以便于确定是否控制WDT更新时间,提高WDT监控进程的灵活性和可靠性。
为解决上述技术问题,本申请提供一种WDT监控方法,包括:
读取监控配置文件中的配置信息以确定待监控线程;
判断数据库中是否存在与各所述待监控线程对应的当前运行数据;
若各所述待监控线程对应的所述当前运行数据均存在于所述数据库中,则控制WDT更新时间,若否,控制所述WDT复位软件系统。
优选地,所述当前运行数据为所述待监控线程依据所述配置信息中的监控条件运行并存储于所述数据库的数据。
优选地,在控制所述WDT复位软件系统之前还包括:
获取所述数据库中目标监控线程的最后运行数据;其中,所述目标监控线程为所述数据库中不存在所述当前运行数据的所述待监控线程;
将所述最后运行数据存储于日志中,并控制报警装置发出报警信号。
优选地,在控制所述WDT复位软件系统之后还包括:
判断所述数据库中是否恢复所述目标监控线程对应的所述当前运行数据;
若恢复,将所述目标监控线程的所述当前运行数据存储于所述日志中。
优选地,所述读取监控配置文件中的配置信息以确定待监控线程包括:
将所述配置信息与各运行线程的属性信息进行匹配;
判断各所述属性信息是否存在于所述配置信息中,若存在,则确定所述运行线程为待监控线程。
优选地,所述WDT监控方法还包括:
通过预设命令更新所述监控配置文件中的所述配置信息。
为了解决上述技术问题,本申请还提供了一种WDT监控装置,包括:
读取模块,用于读取监控配置文件中的配置信息以确定待监控线程;
判断模块,用于判断数据库中是否存在与各所述待监控线程对应的当前运行数据,若各所述待监控线程对应的所述当前运行数据均存在于所述数据库中,则调用第一控制模块,若否,调用第二控制模块;
所述第一控制模块,用于控制WDT更新时间;
所述第二控制模块,用于控制所述WDT复位软件系统。
为了解决上述技术问题,本申请还提供了一种WDT监控装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如所述的WDT监控方法的步骤。
为了解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的WDT监控方法的步骤。
本申请所提供的WDT监控方法,包括:读取监控配置文件中的配置信息,根据该配置信息确定待监控线程,判断数据库中是否存在与各待监控线程对应的当前运行数据,若各待监控线程对应的当前运行数据均存在于数据库中,则确定各线程运行正常,控制WDT更新时间,否则,确定有线程运行异常,则控制WDT复位软件系统,进而实现各线程和进程的正常运行。目前,采用基于Linux系统的管道机制实现对WDT时间的更新时,Linux系统管道容易因信息堵塞,导致硬件WDT无法及时更新。由此可见,本发明提供的技术方案,通过判断数据库中是否存在各待监控线程的当前运行数据,以确定是否有线程运行异常,进而确定是否控制硬件WDT进入倒计时以复位软件系统,依赖数据库中各待监控线程的当前运行数据是否均存在以确定是否有线程运行异常不会出现数据堵塞的情况,进而可以及时更新WDT时间,提高WDT监控进程的灵活性和可靠性。
此外,本申请还提供一种WDT监控装置及介质,与上述WDT监控方法相对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的WDT监控方法的流程图;
图2为本发明实施例提供的WDT监控装置的结构图;
图3为本发明另一实施例提供的WDT监控装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种WDT监控方法、装置及介质,依赖于读取数据库中各待监控线程对应的当前运行数据,通过判断是否能获取到所有待监控线程的当前运行数据,进而确定各待监控线程是否运行正常,以便于控制WDT是否更新时间,依赖数据库进行数据获取,避免数据堵塞导致WDT时间更新不及时,提高WDT监控进程的灵活性和可靠性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
BMC是服务器中一个围绕IPMI规范实现的多进程多线程的服务器管理子系统,BMC中软件系统的健壮性影响着整个BMC的运行,软件系统一般依赖于WDT的软件监控机制,当软件系统阻塞或故障时,WDT可以通过复位软件系统的方法进行恢复,当软件运行正常时,需要软件系统通过相关寄存器对WDT的时间进行更新。
目前,WDT监控机制可以采用基于Linux系统的管道机制实现对WDT时间的更新,软件中的各线程和进程通过Linux系统管道将自身的健康状态信息发送至WDT监控进程,WDT监控进程确定获取到所有进程和线程的健康状态信息且健康状态为正常时,WDT监控进程对硬件WDT进行一次时间更新。当某个进程或线程未通过管道发送对应的健康状态信息或健康状态为异常时,WDT监控进程不更新WDT的时间,并控制硬件WDT进入倒计时,当WDT倒计时结束,则触发软件系统复位进行恢复。因此,该方法依赖Linux系统管道的特性,当通过管道发送WDT时间更新需求的线程和进程较多时,即需要监控的线程和进程较多时,或某个线程向管道发送消息比较频繁时,若WDT监控进程无法及时从管道中读取消息进行处理,会造成管道中过多导致线程发送信息失败的情况,进而WDT无法及时更新,甚至导致BMC的意外重启,降低WDT时间更新的灵活性和可靠性。
此外,还可以通过将各进程的启动信息等注册到WDT监控进程中,并依据Linux内核映射proc信息中的相关进程信息判断各注册进程是否存在,若均存在,则硬件WDT进行一次时间更新,若某个进程异常退出,则停止硬件WDT时间更新,且硬件WDT进入倒计时,实现软件系统复位恢复。这种方式的监控粒度较大,即仅通过判断各进程是否存在以判断是否更新硬件WDT时间,仅监控了进程的运行健康状态,无法准确判定具体什么原因导致的进程异常。
由此,为了提高WDT监控进程的灵活性和可靠性,使BMC系统正常运行,本发明提供了一种WDT监控方法,BMC中的WDT监控线读取配置文件中的配置信息,依据该配置信息确定待监控线程,判断数据库中是否存在各待监控线程对应的当前运行数据,若均存在,则确定各待监控线程运行正常,控制WDT更新时间,若否,则确定有待监控线程运行异常,控制WDT复位软件系统,进而实现BMC中和进程和线程正常运行。
图1为本发明实施例提供的WDT监控方法的流程图,如图1所示,该方法包括:
S10:读取监控配置文件中的配置信息以确定待监控线程。
在具体实施例中,BMC读取配置文件中的配置信息,依据该配置信息确定待监控线程,其中,数据库可以是Redis数据库,也可以是其他数据库,对此本发明不作限定,以下描述将以Redis数据库为例进行说明。在具体实施中,BMC启动运行后,BMC中的各进程和线程均处于运行中,其中一个线程为WDT监控线程,用于监控待监控线程是否处于正常运行状态。WDT监控线程读取配置文件中的配置信息进而确定BMC中其他线程中哪些线程为待监控线程,由于进程由多个线程组成,且一个线程只能属于一个进程,因此配置信息包括各待监控线程对应的进程名,线程名,Redis数据库键名,过期时间以及监控条件等信息,需要说明的是,配置信息除了以上信息还可以包括待监控线程的其他信息,对此本发明不做限定。此外,还需要说明的是,配置文件中的配置信息为用户依据实际需求进行设定,WDT监控线程通过读取配合文件中的配置信息即可确定BMC运行后的待监控线程。
S11:判断数据库中是否存在与各待监控线程对应的当前运行数据,若各待监控线程对应的当前运行数据均存在于数据库中,进入步骤S12,若否,进入步骤S13。
S12:控制WDT更新时间。
S13:控制WDT复位软件系统。
确定待监控线程后,判断Redis数据库中是否存在各待监控线程对应的当前运行数据是否均存在于Redis数据库中,若均存在,则确定各监控线程运行正常,则控制WDT更新时间,若所有的待监控线程中,有一个或几个待监控线程的当前运行数据不存在于Redis数据库中,则确定这些待监控线程运行异常,控制WDT复位软件系统,以便于重启软件系统,尝试排除这些待监控线程运行异常的问题。需要说明的是,在WDT复位软件系统前,控制线程获取Redis数据库中未存在当前数据对应的待监控线程运行得到的最后一次运行数据,并将该数据存储于日志中,以便工作人员查看。还需要说明的是,当软件系统重启后,BMC中的监控线程重新获取数据库中的数据,判断重启前未获取到当前数据对应的待监控线程是否恢复当前数据,若恢复,将恢复的当前数据存储于日志中,以便于工作人员查看。
在具体实施中,BMC启动运行后,除了监控线程,其余的线程获取配置文件中的配置信息,依据配置信息确定自己是否为待监控线程,确定为待监控线程后,依据配置信息中的配置条件设定执行指令,根据执行指令执行获取当前运行数据,并将当前运行数据存储于Redis数据库中。
可以理解的是,配置文件中的配置信息代表着BMC中需要监控的线程的相关信息,且该配置信息可以有用户自行设定,当然了,也可以依据用户的实际需求进行增加和删除待监控线程的数量。
本申请实施例所提供的WDT监控方法,包括:读取监控配置文件中的配置信息,根据该配置信息确定待监控线程,判断数据库中是否存在与各待监控线程对应的当前运行数据,若各待监控线程对应的当前运行数据均存在于数据库中,则确定各线程运行正常,控制WDT更新时间,否则,确定有线程运行异常,则控制WDT复位软件系统,进而实现各线程和进程的正常运行。目前,采用基于Linux系统的管道机制实现对WDT时间的更新时,Linux系统管道容易因信息堵塞,导致WDT无法及时更新。由此可见,本发明提供的技术方案,通过判断数据库中是否存在各待监控线程的当前运行数据,以确定是否有线程运行异常,进而确定是否控制WDT进入倒计时以复位软件系统,依赖数据库中各待监控线程的当前运行数据是否均存在以确定是否有线程运行异常不会出现数据堵塞的情况,进而可以及时更新WDT时间,提高WDT监控进程的灵活性和可靠性。
在具体实施例中,BMC启动运行后,监控线程读取配置文件中的配置信息以确定待监控线程,除监控线程外的其他线程同样读取配置文件中的配置信息,通过与配置信息进行匹配确定自身是否为待监控线程。其中,配置信息包括进程名,线程名,Redis数据库键名,过期时间和监控条件。需要说明的是,除了这些信息,配置信息中还可以包括其他信息,对此本发明不作限定。为了便于理解,下面将举例说明。
表1为本发明实施例提供的配置信息表,如表1所示,每个线程包括进程名,线程名,Redis数据库键名,过期时间和监控条件,对于配置文件的文件命名以及存储配置信息的方式,本发明不作限定,此处配置信息以表格为例进行说明。由于一个线程只属于一个进程,因此,进程名和线程名都可以唯一表征某个线程,进程名为需要监控进程的名称,例如,实现IPMI协议的IPMIMain,实现KVM的Adviser,实现部件监控的CompMonitor,实现web接口的spx和lighttpd等,线程名为需要监控的线程的名称,例如,实现sensor监控的SensorMonitor等线程,Redis数据库键名为依据监控条件运行后的数据所使用的名称,对于Redis数据库键名的命名可以是依据进程名和线程名进行设定,也可以依据用户自己的习惯和喜好进行设定,对此本发明不作限定,表格以“进程名:线程名”为Redis数据库键名为例进行说明。过期时间为设置redis键值时设定的该键的超时时间,依据具体的线程执行一次的时间来设定,例如,风扇监控线程执行一次时间为3s,则可以将该线程的过期时间设定为5s。需要说明的是,线程的过期时间一定大于该线程执行一次的时间,否则会出现该线程过期被删除,例如,若风扇监控线程执行一次时间为3s,而该线程的过期时间为2s,则该线程执行2秒后就会被删除。
监控条件包括监控行号,监控函数名称,监控代码文件名,监控阻塞状态,不监控,监控IO交互等,对于监控条件的数量可以依据实际业务需求进行增加或减少,对此本发明不作限定。当确定待监控线程后,依据各待监控线程对应的监控条件设定监控指令,例如,若监控条件为监控行号,则将该待监控线程监控点执行的代码行号记录到Redis数据库中,例如,监控点为代码第3行,则将行号3记录至Redis数据库中,此外,键名称按照配置文件中的记录的键名称进行记录,同时依据配置文件中的过期时间设定好该待监控线程的过期时间。若监控条件为监控函数名称,则在该线程调用的每个函数开始的部分,将该函数名记录到Redis数据库中并设定好超时时间。若监控条件为监控文件名,则在每个函数开始判断数据库中的文件名与函数所在文件是否一致,若不一致则更新文件名和内容,同时设定好过期时间。若监控条件为监控阻塞状态,则针对获取互斥阻塞以及读取管道阻塞的地方进行监控,并将需要执行的操作记录到数据库中。若监控条件为监控IO操作,则在该线程与实际硬件进行交互的部分将监控的硬件信息记录到Redis数据库中并设定好过期时间。若监控条件为不监控,则该线程不更新Redis数据库对应的当前运行数据。需要说明的是,监控条件可以是一个,也可以是多个,当然也可以依据所有的监控条件进行运行监控,对此本发明不作限定。
表1本发明实施例提供的配置信息表
依据配置信息,确定待监控线程后,各待监控线程根据监控条件运行,并将当前运行结果存放于Redis数据库中,值得注意的是,各待监控线程一直处于运行过程中时,没运行一次都将当前的最新运行数据存储于Redis数据库中,以便于监控线程进行监控。
本发明实施例所提供的WDT监控方法,通过读取配置文件中的配置信息确定待监控线程,并判断数据库中是否存在各待监控线程的当前运行数据,若存在,则可以确定各线程运行正常,控制WDT更新想时间,否则,确定有线程运行异常,控制WDT复位软件系统,进而实现各线程和进程的正常运行,避免采用基于Linux系统的管道机制实现对WDT时间的更新时,Linux系统管道因信息堵塞,导致WDT无法及时更新,提高WDT监控进程的灵活性和可靠性。此外,依据监控条件设定监控指令,并将执行该监控指令的结果存储至数据库以便于监控线程监控,使得监控粒度更大,即监控的更全面,用户可以依据监控指令的执行结果可以快速获取具体哪个进程的哪个线程执行的哪个文件代码的哪个函数的哪一行代码出现了问题,便于用户及时获取线程运行异常的原因,提高监控效率和可靠性。
在具体实施中,当控制线程确定待监控线程中有线程的当前数据不在数据库中后,确定有待监控线程运行异常,则将数据库中没有当前运行数据的待监控线程运行的最后一次数据保存至日志,并控制报警装置发出报警装置,以便于工作人员查看。其中,保存在日志中的信息依据监控条件运行后的行号,函数名,文件名等信息,当然还可以包括该监控信息的进程名,线程名,数据库键名等信息,对于记录在日志中的信息,主要包括进程名或线程名,以及依据监控条件运行的结果,其他信息本发明不作限定。
本发明实施例所提供的WDT监控方法,当控制线程判断出数据库中有待监控线程的当前数据不存在于数据库中时,确定该待监控线程运行异常,将该待监控线程运行的最后一次数据存储于日志中,以便于及时通知工作人员进行查看,进而保证BMC的各进程和线程运行正常,提高WDT监控进程的灵活性和可靠性。
在上述实施例的基础上,当有待监控线程的当前运行数据不存在数据库中时,确定待监控线程运行异常,通过控制WDT复位软件系统,重启各软件系统后,重新运行各线程,此时重新获取各待监控线程的当前运行数据,查看运行异常的线程是否恢复正常,若恢复正常,将对应的监控线程产生的最新的当前运行数据存储至日志,以便提醒用户各线程已恢复正常。
本发明实施例所提供的WDT监控方法,在WDT复位软件系统后,各监控线程重新运行后,将软件复位前运行异常的待监控线程的当前运行数据存储至日志,以便用户查看以提醒用户各待监控线程已恢复正常,提高了用户体验感,同时提高提高WDT监控进程的可靠性。
在具体实施例中,BMC启动运行后,各线程和进行正常运行,将各线程中其中一个线程作为WDT监控线程,其余线程为被监控线程,对于选取哪个线程作为WDT监控线程,本发明不作限定。被监控线程通过读取配置文件中的配置信息,与各配置信息进行匹配,确定自身线程是否为最终的被监控线程,即WDT监控线程最终要监控的待监控线程。匹配时,可以依据进程名,线程名是否相同等方式进行确定,当匹配线程发现自身的属性信息存在与配置文件中时,则确定该线程为待监控线程。
确定待监控线程后,依据配置信息中的监控条件,设定对应的监控指令,并依据该指令执行获取对应的当前运行数据,且将各自的当前运行数据存储至数据库中以,以便于WDT监控线程判断各待监控线程是否运行正常,进而确定是否需要控制WDT复位软件系统。
本发明实施例所提供的WDT监控方法,将各待监控线程的当前运行数据存储至数据库中,WDT监控线程通过读取数据库中各待监控线程的当前运行数据判断各待监控线程是否运行异常,进而确定是否需要控制WDT复位软件系统,由此可见,依赖数据库中各待监控线程的当前运行数据是否均存在以确定是否有线程运行异常不会出现数据堵塞的情况,进而可以及时更新WDT时间,提高WDT监控进程的灵活性和可靠性。
在实施中,配置文件中各线程的配置信息可以依旧用户的实际需求进行修改,可以增加新的线程属性信息至配置文件中以增加待监控线程的数量,当然也可以通过删除一个或多个配置文件中待监控线程的配置信息以减少监控线程的数量。需要说明的是,用户可以通过预设协议对配置文件进行管理,例如,为用户提供ipmi命令或restful接口对配置文件中的配置信息进行更新。
本发明实施例所提供的WDT监控方法,可以依据用户的实际需求对配置文件进行管理,进而对BMC的各进程和线程进行监控,提高监控各进程和线程灵活性的同时,提高WDT监控进程的灵活性和可靠性。
在上述实施例中,对于WDT监控方法进行了详细描述,本申请还提供WDT监控装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件结构的角度。
图2为本发明实施例提供的WDT监控装置的结构图,如图2所示,该装置包括:
读取模块10,用于读取监控配置文件中的配置信息以确定待监控线程。
判断模块11,用于判断数据库中是否存在与各待监控线程对应的当前运行数据,若各待监控线程对应的当前运行数据均存在于数据库中,则调用第一控制模块,若否,调用第二控制模块;
第一控制模块12,用于控制WDT更新时间。
第二控制模块13,用于控制WDT复位软件系统。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例所提供的WDT监控装置,包括:读取监控配置文件中的配置信息,根据该配置信息确定待监控线程,判断数据库中是否存在与各待监控线程对应的当前运行数据,若各待监控线程对应的当前运行数据均存在于数据库中,则确定各线程运行正常,控制WDT更新时间,否则,确定有线程运行异常,则控制WDT复位软件系统,进而实现各线程和进程的正常运行。目前,采用基于Linux系统的管道机制实现对WDT时间的更新时,Linux系统管道容易因信息堵塞,导致硬件WDT无法及时更新。由此可见,本发明提供的技术方案,通过判断数据库中是否存在各待监控线程的当前运行数据,以确定是否有线程运行异常,进而确定是否控制硬件WDT进入倒计时以复位软件系统,依赖数据库中各待监控线程的当前运行数据是否均存在以确定是否有线程运行异常不会出现数据堵塞的情况,进而可以及时更新WDT时间,提高WDT监控进程的灵活性和可靠性。
图3为本发明另一实施例提供的WDT监控装置的结构图,如图3所示,WDT监控装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例所提到的WDT监控方法的步骤。
本实施例提供的WDT监控装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(Digital Signal Processing,简称DSP)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)、可编程逻辑阵列(ProgrammableLogic Array,简称PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(Central Processing Unit,简称CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(GraphicsProcessing Unit,简称GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,简称AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的WDT监控方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于WDT监控装置等。
在一些实施例中,WDT监控装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图3中示出的结构并不构成对WDT监控装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的WDT监控装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:WDT监控方法。
本发明实施例所提供的WDT监控装置,依赖数据库中各待监控线程的当前运行数据是否均存在以确定是否有线程运行异常不会出现数据堵塞的情况,避免基于Linux系统的管道机制实现对WDT时间的更新时,管道因信息堵塞导致WDT无法及时更新,提高WDT监控进程的灵活性和可靠性。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种WDT监控方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (5)
1.一种WDT监控方法,其特征在于,包括:
读取监控配置文件中的配置信息以确定待监控线程;其中,所述配置信息包括:各所述待监控线程对应的进程名、线程名、Redis数据库键名、过期时间以及监控条件;
判断数据库中是否存在与各所述待监控线程对应的当前运行数据;所述当前运行数据为所述待监控线程依据所述配置信息中的所述监控条件运行并存储于所述数据库的数据;其中,所述监控条件包括:监控行号、监控函数名称、监控代码文件名、监控阻塞状态、不监控和/或监控IO交互;
若各所述待监控线程对应的所述当前运行数据均存在于所述数据库中,则控制WDT更新时间,若否,控制WDT复位软件系统;
在控制所述WDT复位软件系统之前还包括:
获取所述数据库中目标监控线程的最后运行数据;其中,所述目标监控线程为所述数据库中不存在所述当前运行数据的所述待监控线程;
将所述最后运行数据存储于日志中,并控制报警装置发出报警信号;
在控制所述WDT复位软件系统之后还包括:
判断所述数据库中是否恢复所述目标监控线程对应的所述当前运行数据;
若恢复,将所述目标监控线程的所述当前运行数据存储于所述日志中;
所述读取监控配置文件中的配置信息以确定待监控线程包括:
将所述配置信息与各运行线程的属性信息进行匹配;
判断各所述属性信息是否存在于所述配置信息中,若存在,则确定所述运行线程为待监控线程。
2.根据权利要求1所述的WDT监控方法,其特征在于,还包括:
通过预设命令更新所述监控配置文件中的所述配置信息。
3.一种WDT监控装置,其特征在于,用于实现权利要求1或2所述的WDT监控方法,包括:
读取模块,用于读取监控配置文件中的配置信息以确定待监控线程;其中,所述配置信息包括:各所述待监控线程对应的进程名、线程名、Redis数据库键名、过期时间以及监控条件;
判断模块,用于判断数据库中是否存在与各所述待监控线程对应的当前运行数据,若各所述待监控线程对应的所述当前运行数据均存在于所述数据库中,则调用第一控制模块,若否,调用第二控制模块;所述当前运行数据为所述待监控线程依据所述配置信息中的所述监控条件运行并存储于所述数据库的数据;其中,所述监控条件包括:监控行号、监控函数名称、监控代码文件名、监控阻塞状态、不监控和/或监控IO交互;
所述第一控制模块,用于控制WDT更新时间;
所述第二控制模块,用于控制WDT复位软件系统;
其中,在控制所述WDT复位软件系统之前还包括:
获取所述数据库中目标监控线程的最后运行数据;其中,所述目标监控线程为所述数据库中不存在所述当前运行数据的所述待监控线程;
将所述最后运行数据存储于日志中,并控制报警装置发出报警信号;
在控制所述WDT复位软件系统之后还包括:
判断所述数据库中是否恢复所述目标监控线程对应的所述当前运行数据;
若恢复,将所述目标监控线程的所述当前运行数据存储于所述日志中;
所述读取监控配置文件中的配置信息以确定待监控线程包括:
将所述配置信息与各运行线程的属性信息进行匹配;
判断各所述属性信息是否存在于所述配置信息中,若存在,则确定所述运行线程为待监控线程。
4.一种WDT监控装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1或2所述的WDT监控方法的步骤。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1或2所述的WDT监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111447218.8A CN114328083B (zh) | 2021-11-30 | 2021-11-30 | 一种wdt监控方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111447218.8A CN114328083B (zh) | 2021-11-30 | 2021-11-30 | 一种wdt监控方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114328083A CN114328083A (zh) | 2022-04-12 |
CN114328083B true CN114328083B (zh) | 2023-11-14 |
Family
ID=81049663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111447218.8A Active CN114328083B (zh) | 2021-11-30 | 2021-11-30 | 一种wdt监控方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328083B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375435A (zh) * | 2016-08-31 | 2017-02-01 | 福建天晴数码有限公司 | Web线程超时监控的方法及其系统 |
CN106940671A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种集群中任务线程运行的监控方法、装置及系统 |
CN108710544A (zh) * | 2018-03-20 | 2018-10-26 | 青岛海信网络科技股份有限公司 | 一种数据库系统的进程监控方法及轨道交通综合监控系统 |
CN108829557A (zh) * | 2018-05-10 | 2018-11-16 | 北京搜狐新媒体信息技术有限公司 | 一种基于OpenTSDB数据库的服务器性能监控数据分析方法及系统 |
CN108984366A (zh) * | 2018-06-29 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 终端的监控处理方法、装置及设备 |
CN109298962A (zh) * | 2018-09-03 | 2019-02-01 | 中国平安人寿保险股份有限公司 | 定时任务的监控方法、计算机可读存储介质和终端设备 |
WO2020233077A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 系统服务的监控方法、装置、设备及存储介质 |
-
2021
- 2021-11-30 CN CN202111447218.8A patent/CN114328083B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106940671A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种集群中任务线程运行的监控方法、装置及系统 |
CN106375435A (zh) * | 2016-08-31 | 2017-02-01 | 福建天晴数码有限公司 | Web线程超时监控的方法及其系统 |
CN108710544A (zh) * | 2018-03-20 | 2018-10-26 | 青岛海信网络科技股份有限公司 | 一种数据库系统的进程监控方法及轨道交通综合监控系统 |
CN108829557A (zh) * | 2018-05-10 | 2018-11-16 | 北京搜狐新媒体信息技术有限公司 | 一种基于OpenTSDB数据库的服务器性能监控数据分析方法及系统 |
CN108984366A (zh) * | 2018-06-29 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 终端的监控处理方法、装置及设备 |
CN109298962A (zh) * | 2018-09-03 | 2019-02-01 | 中国平安人寿保险股份有限公司 | 定时任务的监控方法、计算机可读存储介质和终端设备 |
WO2020233077A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 系统服务的监控方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114328083A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10871985B2 (en) | Displaying media files between changes in states of an application client | |
US8108734B2 (en) | Intelligent rolling upgrade for data storage systems | |
JP5440273B2 (ja) | スナップショット管理方法、スナップショット管理装置、及びプログラム | |
US7721153B2 (en) | System, method and program product for recovering from a failure | |
WO2018095107A1 (zh) | 一种bios程序的异常处理方法及装置 | |
JP5183542B2 (ja) | 計算機システム及び設定管理方法 | |
CN111641716B (zh) | 参数服务器的自愈方法、参数服务器及参数服务系统 | |
CN111949368A (zh) | 应用程序控制方法及装置 | |
US20110179173A1 (en) | Conditional dependency in a computing cluster | |
CN112035285A (zh) | 基于高通平台的硬件看门狗电路系统及其监控方法 | |
TWI518680B (zh) | 維護電腦系統之檔案系統的方法 | |
US20050114867A1 (en) | Program reactivation using triggering | |
TWI764454B (zh) | 韌體損壞恢復技術 | |
CN113641537A (zh) | 一种服务器的启动系统,方法及介质 | |
CN114328083B (zh) | 一种wdt监控方法、装置及介质 | |
CN115454515A (zh) | 系统处理方法、装置、电子设备 | |
CN114860322A (zh) | 一种基板管理控制器、控制方法及电子设备 | |
CN115421859A (zh) | 配置文件的动态加载方法、装置、计算机设备及存储介质 | |
CN114741119A (zh) | 系统的启动方法、装置、计算机设备和存储介质 | |
WO2008048581A1 (en) | A processing device operation initialization system | |
CN114860292A (zh) | 终端设备固件升级控制方法、装置、计算机设备及介质 | |
CN110740382B (zh) | 避免电视机非期望自动重启方法、装置、电视机及介质 | |
JP2018092571A (ja) | 電子装置、再起動方法およびプログラム | |
CN117240711B (zh) | 一种集群管理工具配置文件自动更新方法、装置及设备 | |
CN115712442A (zh) | 一种bios带外统一升级方法、装置、设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |