CN115757042A - Bmc异常重启的故障定位方法、装置、电子设备及存储介质 - Google Patents

Bmc异常重启的故障定位方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115757042A
CN115757042A CN202211510743.4A CN202211510743A CN115757042A CN 115757042 A CN115757042 A CN 115757042A CN 202211510743 A CN202211510743 A CN 202211510743A CN 115757042 A CN115757042 A CN 115757042A
Authority
CN
China
Prior art keywords
preset
bmc
value
timestamp
fault
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.)
Pending
Application number
CN202211510743.4A
Other languages
English (en)
Inventor
李言
王宪臻
展晓洁
梁晨光
张昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nettrix Information Industry Beijing Co Ltd
Original Assignee
Nettrix Information Industry Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nettrix Information Industry Beijing Co Ltd filed Critical Nettrix Information Industry Beijing Co Ltd
Priority to CN202211510743.4A priority Critical patent/CN115757042A/zh
Publication of CN115757042A publication Critical patent/CN115757042A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种BMC异常重启的故障定位方法、装置、电子设备及存储介质。该方法包括:实时监测BMC***的喂狗操作,并在每次BMC***进行喂狗操作的情况下,获取当前的时间戳,然后确定预设存储位置,将获取到的时间戳存储在该预设存储位置中。在每次BMC***异常重启之后,获取重启之间存储的时间戳,并基于该重启之前的时间戳确定故障发生时间段,然后获取BMC***在该故障发生时间段内的日志信息,最后根据该日志信息对BMC***异常重启的故障进行定位。基于此,重启之后,根据重启前存储的时间戳便可以确定出故障发生的时间段,之后便能够根据该时间段***记录的日志信息对异常重启的故障进行更为准确和全面的定位。

Description

BMC异常重启的故障定位方法、装置、电子设备及存储介质
技术领域
本申请实施例涉及故障监测技术领域,尤其涉及一种BMC异常重启的故障定位方法、装置、电子设备及存储介质。
背景技术
基板管理控制(BMC,Baseboard Management Controller)***是一个运行在BMC芯片上的Linux操作***,由于该***具有较高的复杂度,因此,在日常运行时,发生故障的几率也是比较大的。
为了避免BMC***发生故障时持续无法工作的情况,通常会在BMC芯片上设置硬件看门狗(Watch dog)机制,在BMC***内核中设置对硬件看门狗进行定时喂狗,如果BMC***出现故障或者错误,就会影响到上述定时喂狗操作,无法进行定时喂狗,此时,硬件看门狗就会触发中断,以便于从硬件层面重启BMC***,以打破BMC***发生故障时持续无法工作的情况,使BMC***恢复正常。
目前,为了确定BMC***异常重启的原因,通常对硬件看门狗的状态进行监测,在监测到看门狗触发中断之后,且在BMC***异常重启之前进行特定进程异常信息的收集,等待重启成功后,再基于收集到的异常信息对导致***异常重启的故障原因进行定位。但是,这种方式只能针对特定应用进程,无法基于整个BMC***进行故障定位,而且触发中断与BMC***异常重启之间的时间间隔较短,可能无法完整采集特定进程的异常信息,从而导致故障定位不准确甚至是无法定位故障的问题。
发明内容
本申请实施例提供一种BMC异常重启的故障定位方法、装置、电子设备及存储介质,以提高故障定位的准确性。
第一方面,本申请实施例提供了一种BMC异常重启的故障定位方法,所述方法包括:
监测BMC***的喂狗操作,并在每次所述BMC***进行喂狗操作的情况下,获取当前的时间戳;
确定预设存储位置,并将获取的时间戳存储在所述预设存储位置;
在每次所述BMC***异常重启之后,获取重启之前存储的时间戳;
基于所述重启之前存储的时间戳确定故障发生时间段,并获取BMC***在所述故障发生时间段内的日志信息;
根据所述故障发生时间段内的日志信息对BMC***异常重启的故障进行定位。
可选的,所述确定预设存储位置,包括:
获取预设缓存标识位的值,若所述预设缓存标识位的值为第一预设值,将预先申请的内存空间中的第一缓存区设置为预设存储位置;
若所述预设缓存标识位的值为第二预设值,将预先申请的内存空间中的第二缓存区设置为预设存储位置。
上述技术方案中,引入双缓存区以及预设缓存标识位,可以实现通过预设缓存标识位识别将要存入的缓存区,保证某一故障发生前的喂狗的时间戳不被故障后的喂狗时间戳覆盖。
可选的,所述方法还包括:
在每次所述BMC***异常重启之后,更新所述预设缓存标识位的值。
上述实施例中,将BMC***异常重启设置为更新预设缓存标识位的触发机制,便可以实现重启前后的时间戳独立存储,重启后的时间戳存储时不会覆盖重启前存储的时间戳。
可选的,所述在每次所述BMC***异常重启之后,更新所述预设缓存标识位的值,包括:
在每次所述BMC***异常重启之后,确定当前所述预设缓存标识位的值。
若当前所述预设缓存标识位的值为第一预设值,将所述预设缓存标识位的值更新为第二预设值;
若当前所述预设缓存标识位的值为第二预设值,将所述预设缓存标识位的值更新为第一预设值。
上述实施例中,重启后,利用第一预设值和第二预设值的转变,实现对预设缓存标识位的更新。
可选的,在所述确定预设存储位置之前,所述方法还包括:
判断当前是否为首次对时间戳进行存储,在是首次的情况下,清空预先申请的内存空间中的第一缓存区、第二缓存区以及其对应的偏移指针,并初始化预设缓存标识位的值。
上述实施例中,避免了首次存储时,缓存区以及偏移指针可能存在的无效数据对存储过程的影响。
可选的,所述方法还包括:
在接收到时间戳读取请求的情况下,获取预设缓存标识位当前的值;
若所述预设缓存标识位当前的值为第一预设值,从预先申请的内存空间中的第一缓存区读取时间戳;
若所述预设缓存标识位当前的值为第二预设值,从预先申请的内存空间中的第二缓存区读取时间戳;
将读取到的时间戳以文件的形式存储在预先创建的文件目录中。
上述实施例中,利用预设缓存标识位当前的值便可以从相应的缓存区中读取到当前存储的时间戳信息,以文件形式的方式存储可以便于展示给应用层,供应用层进行操作。
可选的,所述方法还包括:
在每次所述BMC***异常重启之后,将预先创建的文件目录中的文件转存到非易失性内存中。
上述实施例中,避免时间戳数据在失电时损失掉,提高了时间戳存储的可靠性。
第二方面,本申请实施例还提供了一种BMC异常重启的故障定位装置,该BMC异常重启的故障定位装置包括:
时间戳获取模块,用于监测BMC***的喂狗操作,并在每次所述BMC***进行喂狗操作的情况下,获取当前的时间戳;
存储模块,用于确定预设存储位置,并将获取的时间戳存储在所述预设存储位置;
时间戳读取模块,用于在每次所述BMC***异常重启之后,获取重启之前存储的时间戳;
日志获取模块,用于基于所述重启之前存储的时间戳确定故障发生时间段,并获取BMC***在所述故障发生时间段内的日志信息;
故障定位模块,用于根据所述故障发生时间段内的日志信息对BMC***异常重启的故障进行定位。
第三方面,本申请实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本申请任一实施例提供的BMC异常重启的故障定位方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请任一实施例提供的BMC异常重启的故障定位方法。
本申请实施例的技术方案中,实时监测BMC***的喂狗操作,并在每次BMC***进行喂狗操作的情况下,获取当前的时间戳,然后确定预设存储位置,将获取到的时间戳存储在该预设存储位置中。在每次BMC***异常重启之后,获取重启之间存储的时间戳,并基于该重启之前的时间戳确定故障发生时间段,然后获取BMC***在该故障发生时间段内的日志信息,最后根据该日志信息对BMC***异常重启的故障进行定位。基于此,在BMC***正常运行时,会定时执行喂狗操作,但是出现故障之后可能会停止喂狗,此时便不会出现能够保存的时间戳,那么重启之后,根据重启前存储的时间戳便可以确定出故障发生的时间段,之后便能够根据该时间段***记录的日志信息对异常重启的故障进行更为准确和全面的定位。
附图说明
图1为本申请实施例一提供的BMC异常重启的故障定位方法的流程示意图;
图2为本申请的实施例二提供的一种BMC异常重启的故障定位流程示意图;
图3为本申请实施例三提供的一种BMC异常重启的故障定位装置的结构示意图;
图4为本申请实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图1为本申请实施例一提供的BMC异常重启的故障定位方法的流程示意图,本实施例可适用于BMC异常重启的故障定位的场景。该方法可以由BMC异常重启的故障定位装置来执行,该装置可采用硬件和/或软件的方式实现,并一般可以集成在具有数据运算能力的计算机等电子设备中,具体包括如下步骤:
步骤101、监测BMC***的喂狗操作,并在每次BMC***进行喂狗操作的情况下,获取当前的时间戳。
由于BMC***正常运行时,会周期性的执行喂狗操作,该喂狗操作通常是向看门狗***发送喂狗指令,因此,本实施例可以监测BMC***是否发出该喂狗指令,若监测到发出喂狗指令,则判定BMC***在执行喂狗操作。
具体的,可以通过检测BMC***发往看门狗***的所有信息来实现,每检测到BMC***发出了发送目标为看门狗***的信息时,解析该信息,并判断解析结果中是否包含喂狗指令,若包含,则可以判定出监测到发出喂狗指令。
通过上述手段,检测到BMC***执行喂狗操作时,便可以获取此时的时间戳,即获取检测到BMC***执行喂狗操作时的时间戳。需要说明的是,时间戳的格式可以为“年/月/日/时/分/秒/毫秒”,在一个具体的例子中,时间戳可以为“2022/10/11/08/24/35/65”。
步骤102、确定预设存储位置,并将获取的时间戳存储在预设存储位置。
本步骤中,预设存储位置位于预先从BMC***的预留内存中划分出的内存空间中,为了实现重启前后的时间戳独立存储,避免重启后的时间戳,因重启后用于缓存的偏移指针的重置,覆盖存储在重启前时间戳的存储位置上,而导致重启前时间戳丢失的情况,可以将划分出的内存空间设置为双缓存结构。
具体的,即在该内存空间中设置第一缓存区和第二缓存区,并分别给第一缓存区和第二缓存区设置对应的预设值,然后设置预设缓存标识位,用来存储该预设值。通过对预设缓存标识位的值的识别,来判断当前将时间戳存储的位置,并通过修改预设缓存标识位的值,来改变当前将时间戳存储的位置。
基于上述预先的设置,本步骤确定预设存储位置时,可以先获取预设缓存标识位的值,若预设缓存标识位的值为第一预设值,将预先申请的内存空间中的第一缓存区设置为预设存储位置;若预设缓存标识位的值为第二预设值,将预先申请的内存空间中的第二缓存区设置为预设存储位置。
在一个具体的例子中,第一预设值可以为“0”,第二预设值可以为“1”,第一缓存区的标识为第一预设值,第二缓存区的标识为第二预设值。在确定预设存储位置时,首先获取预设缓存标识位中的值,然后判断该值为“1”还是“0”,若为“1”即第二预设值,那么预设存储位置则为第二缓存区,若为“0”即第一预设值,那么预设存储位置则为第一缓存区。
需要说明的是,在确定预设存储位置之前,判断当前是否为首次对时间戳进行存储,在是首次的情况下,清空预先申请的内存空间中的第一缓存区、第二缓存区以及其对应的偏移指针,并初始化预设缓存标识位的值。
具体的,可以对每次存储操作可以进行日志记录,每次确定预设存储位置之前,可以先根据该日志记录确定本次是否为首次存储,若存在相关的日志记录,则并非为首次存储,此时直接执行确定预设存储位置的步骤即可。
若不存在相关的日志记录,则为首次存储,此时便可以先清空第一缓存区、第二缓存区、相应的偏移指针以及将预设缓存标识位初始化为第一预设值或者第二预设值。然后再执行确定预设存储位置的步骤。
本步骤中,在确定好预设存储位置之后,将获取的时间戳存储在该预设存储位置即可。需要说明的是,由于每个缓存区中都会有多个存储位,确定具体的存储位可以依靠偏移指针来获取,该存储过程可以参考在缓存区依靠偏移指针存储数据的相关技术,此处不再赘述。
进一步地,在每次BMC***异常重启之后,更新预设缓存标识位的值。通常为将第一预设值更新为第二预设值或者将第二预设值更新为第一预设值。
基于上述更新操作,重启前后存储时间戳时,确定的预设存储位置便分别为第一缓存区和第二缓存区。比如,重启前确定的预设存储位置为第一缓存区,重启后对预设缓存标识位的值进行了更新,将第一预设值更新为了第二预设值,重启后确定的预设存储位置便为第二缓存区,实现了重启前后确定的预设存储位置是不同的。
具体的更新过程可以为,在每次BMC***异常重启之后,确定当前预设缓存标识位的值;若当前预设缓存标识位的值为第一预设值,将预设缓存标识位的值更新为第二预设值;若当前预设缓存标识位的值为第二预设值,将预设缓存标识位的值更新为第一预设值。
在一个具体的例子中,异常重启之后,确定当前预设缓存标识位的值为“1”,说明重启之前确定的预设存储位置为第二缓存区,此时将“1”更新为“0”,此后确定的预设存储位置便为第一缓存区。
需要说明的是,该更新的发生时刻可以为发生在重启之后及重启后首次执行喂狗操作之前的时间段内的任意时刻。
为了避免断电后上述缓存区中的数据丢失,本实施例还可以在每次BMC***异常重启之后,将预先创建的文件目录中的文件转存到非易失性内存中。由于非易失性内存不会收到断电的影响,即断电后存储的数据不会丢失,经过此操作之后,存储的时间戳便不会因***掉电而丢失或者损坏,后续基于该时间戳进行故障定位便可以随时进行,为以后的综合分析提供了便利。
需要说明的是,上述预先创建的文件目录中的文件是经过读取操作之后得到的。由于本实施例采用的是双缓存区的方式存储时间戳的,因此,读取时,需要根据预设缓存标识位中的值来确定读取的位置。
具体的,在接收到时间戳读取请求的情况下,获取预设缓存标识位当前的值;若预设缓存标识位当前的值为第一预设值,从预先申请的内存空间中的第一缓存区读取时间戳;若预设缓存标识位当前的值为第二预设值,从预先申请的内存空间中的第二缓存区读取时间戳;将读取到的时间戳以文件的形式存储在预先创建的文件目录中。
其中,时间戳读取请求可以是周期性的进行生成和发送,以便于将缓存区中的时间戳读取到文件中,再配合前述的转存操作(即将文件转存至非易失性内存中),提高了时间戳存储的可靠性。
另外,为了避免对缓存区中的时间戳进行重复的读取,每次读取时,可以记录读取到的缓存区的具***置,下次读取可以从该具***置的下一存储地址开始读取即可。
具体的,在读取到时间戳之后,记录读取的缓存区对应的预设缓存标识位的值以及最末尾的读取地址,下一次进行读取时,先判断当前预设缓存标识位的值与前次记录的值是否一致,若一致,则从最末尾的读取地址的下一地址开始读取,若不一致,则从对应的缓存区读取所有的时间戳即可。
进一步地,时间戳读取请求也可以是由用户层发出,用户可以根据需求在用户层中进行时间戳读取请求的生成和发出,然后从该文件目录中读取相应的文件即可得到读取的时间戳。
需要说明的是,文件中存储的内容除了时间戳之外,还可以包括读取位置(比如是第一缓存区还是第二缓存区)以及读取位置发生变化之前存储的时间戳的数量,即每次***重启之前以及前次重启之后,这一器件存储的时间戳的数量。
步骤103、在每次BMC***异常重启之后,获取重启之前存储的时间戳,并基于重启之前存储的时间戳确定故障发生时间段,并获取BMC***在故障发生时间段内的日志信息。
本步骤中,确定故障发生时间段时,可以将重启之前最新的时间戳作为故障发生时间段的起始时刻,将当前时刻作为故障发生时间段的终止时刻,起始时刻和终止时刻构成该故障发生时间段。
进一步地,有时故障发生之后,累计一段时间才会导致无法进行喂狗操作,上述确定的故障发生时间段可能不会包含故障发生的时刻。因此,本实施例可以预先设置一个宽容时间,然后将前述起始时刻前移该宽容时间,得到新的起始时刻,利用该新的起始时刻和终止时刻构成该故障发生时间段。
在一个具体的例子中,宽容时间可以为20秒,最新的时间戳对应的时刻为2022年10月31日8点30分25秒,前移该宽容时间后,新的起始时刻便为2022年10月31日8点30分5秒。
在确定好故障发生时间段之后,便可以获取BMC***在故障发生时间段内的日志信息。需要说明的是,每个日志都会有相应的日志时间,可以将属于该故障发生时间段内的所有的日志时间对应的日志进行筛选,从而得到故障发生时间段内的日志信息。
步骤104、根据故障发生时间段内的日志信息对BMC***异常重启的故障进行定位。
本步骤中,便是根据日志信息来进行故障定位,需要说明的是,该定位的具体过程可以参考相关技术,此处不再赘述。
本申请实施例的技术方案中,实时监测BMC***的喂狗操作,并在每次BMC***进行喂狗操作的情况下,获取当前的时间戳,然后确定预设存储位置,将获取到的时间戳存储在该预设存储位置中。在每次BMC***异常重启之后,获取重启之间存储的时间戳,并基于该重启之前的时间戳确定故障发生时间段,然后获取BMC***在该故障发生时间段内的日志信息,最后根据该日志信息对BMC***异常重启的故障进行定位。基于此,在BMC***正常运行时,会定时执行喂狗操作,但是出现故障之后可能会停止喂狗,此时便不会出现能够保存的时间戳,那么重启之后,根据重启前存储的时间戳便可以确定出故障发生的时间段,之后便能够根据该时间段***记录的日志信息对异常重启的故障进行更为准确和全面的定位。
实施例二
图2为本申请的实施例二提供的一种BMC异常重启的故障定位流程示意图。如图2所示,本实施例提供的BMC异常重启的故障定位过程可以包括:
步骤201、***初次启动时,在预留预留内存中划分出预设大小的内存空间,并将该内存空间设置为双缓存结构。
步骤202、***运行过程中,按照预设的时间周期进行喂狗操作,并对喂狗操作进行监测。
步骤203、在每次BMC***进行喂狗操作的情况下,获取当前的时间戳。
步骤204、获取预设缓存标识位的值,判断该值是否为第一预设值。
步骤205、若预设缓存标识位的值为第一预设值,将预先申请的内存空间中的第一缓存区设置为预设存储位置。
步骤206、若预设缓存标识位的值为第二预设值,将预先申请的内存空间中的第二缓存区设置为预设存储位置。
步骤207、将获取的时间戳存储在预设存储位置。
步骤208、在每次BMC***异常重启之后,确定当前预设缓存标识位的值是否为第一预设值。
步骤209、若当前预设缓存标识位的值为第一预设值,将预设缓存标识位的值更新为第二预设值。
步骤210、若当前预设缓存标识位的值为第二预设值,将预设缓存标识位的值更新为第一预设值。
步骤211、在每次BMC***异常重启之后,获取重启之前存储的时间戳。
步骤212、基于重启之前存储的时间戳确定故障发生时间段。
步骤213、获取BMC***在故障发生时间段内的日志信息。
步骤214、根据故障发生时间段内的日志信息对BMC***异常重启的故障进行定位。
本实施例的方案,在BMC***正常运行时,会定时执行喂狗操作,但是出现故障之后可能会停止喂狗,此时便不会出现能够保存的时间戳,那么重启之后,根据重启前存储的时间戳便可以确定出故障发生的时间段,之后便能够根据该时间段***记录的日志信息对异常重启的故障进行更为准确和全面的定位。
实施例三
图3为本申请实施例三提供的一种BMC异常重启的故障定位装置的结构示意图。本申请实施例所提供的BMC异常重启的故障定位装置可执行本申请任意实施例所提供的BMC异常重启的故障定位方法,具备执行方法相应的功能模块和有益效果。该装置可采用软件和/或硬件的方式实现,如图3所示,BMC异常重启的故障定位装置具体包括:时间戳获取模块301、存储模块302、时间戳读取模块303、日志获取模块304、故障定位模块305。
其中,时间戳获取模块,用于监测BMC***的喂狗操作,并在每次BMC***进行喂狗操作的情况下,获取当前的时间戳;
存储模块,用于确定预设存储位置,并将获取的时间戳存储在预设存储位置;
时间戳读取模块,用于在每次BMC***异常重启之后,获取重启之前存储的时间戳;
日志获取模块,用于基于重启之前存储的时间戳确定故障发生时间段,并获取BMC***在故障发生时间段内的日志信息;
故障定位模块,用于根据故障发生时间段内的日志信息对BMC***异常重启的故障进行定位。
本申请实施例的技术方案中,在BMC***正常运行时,会定时执行喂狗操作,但是出现故障之后可能会停止喂狗,此时便不会出现能够保存的时间戳,那么重启之后,根据重启前存储的时间戳便可以确定出故障发生的时间段,之后便能够根据该时间段***记录的日志信息对异常重启的故障进行更为准确和全面的定位。
进一步的,存储模块包括:
第一存储单元,用于获取预设缓存标识位的值,若预设缓存标识位的值为第一预设值,将预先申请的内存空间中的第一缓存区设置为预设存储位置;
第二存储单元,用于若预设缓存标识位的值为第二预设值,将预先申请的内存空间中的第二缓存区设置为预设存储位置。
进一步地,装置还包括:
标识位更新模块,用于在每次BMC***异常重启之后,更新预设缓存标识位的值。
进一步地,标识位更新模块包括:
标志位值确定单元,用于在每次BMC***异常重启之后,确定当前预设缓存标识位的值;
第一更新单元,用于若当前预设缓存标识位的值为第一预设值,将预设缓存标识位的值更新为第二预设值;
第二更新单元,用于若当前预设缓存标识位的值为第二预设值,将预设缓存标识位的值更新为第一预设值。
进一步地,装置还包括:
初始化模块,用于判断当前是否为首次对时间戳进行存储,在是首次的情况下,清空预先申请的内存空间中的第一缓存区、第二缓存区以及其对应的偏移指针,并初始化预设缓存标识位的值。
进一步地,装置还包括:
标识位值获取模块,用于在接收到时间戳读取请求的情况下,获取预设缓存标识位当前的值;
第一读取模块,用于若预设缓存标识位当前的值为第一预设值,从预先申请的内存空间中的第一缓存区读取时间戳;
第二读取模块,用于若预设缓存标识位当前的值为第二预设值,从预先申请的内存空间中的第二缓存区读取时间戳;
文件存储模块,用于将读取到的时间戳以文件的形式存储在预先创建的文件目录中。
进一步地,装置还包括:
转存模块,用于在每次BMC***异常重启之后,将预先创建的文件目录中的文件转存到非易失性内存中。
实施例四
图4为本申请实施例四提供的一种电子设备的结构示意图,如图4所示,该电子设备包括处理器410、存储器420、输入装置430和输出装置440;电子设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;电子设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的BMC异常重启的故障定位方法对应的程序指令/模块(例如,BMC异常重启的故障定位装置中的时间戳获取模块301、存储模块302、时间戳读取模块303、日志获取模块304、故障定位模块305)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的BMC异常重启的故障定位方法:
监测BMC***的喂狗操作,并在每次BMC***进行喂狗操作的情况下,获取当前的时间戳;
确定预设存储位置,并将获取的时间戳存储在预设存储位置;
在每次BMC***异常重启之后,获取重启之前存储的时间戳,并基于重启之前存储的时间戳确定故障发生时间段,并获取BMC***在故障发生时间段内的日志信息;
根据故障发生时间段内的日志信息对BMC***异常重启的故障进行定位。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例五
本申请实施例五还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种BMC异常重启的故障定位方法,该方法包括:
监测BMC***的喂狗操作,并在每次BMC***进行喂狗操作的情况下,获取当前的时间戳;
确定预设存储位置,并将获取的时间戳存储在预设存储位置;
在每次BMC***异常重启之后,获取重启之前存储的时间戳,并基于重启之前存储的时间戳确定故障发生时间段,并获取BMC***在故障发生时间段内的日志信息;
根据故障发生时间段内的日志信息对BMC***异常重启的故障进行定位。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本申请任意实施例所提供的BMC异常重启的故障定位方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (10)

1.一种BMC异常重启的故障定位方法,其特征在于,所述方法包括:
监测BMC***的喂狗操作,并在每次所述BMC***进行喂狗操作的情况下,获取当前的时间戳;
确定预设存储位置,并将获取的时间戳存储在所述预设存储位置;
在每次所述BMC***异常重启之后,获取重启之前存储的时间戳,并基于所述重启之前存储的时间戳确定故障发生时间段,并获取BMC***在所述故障发生时间段内的日志信息;
根据所述故障发生时间段内的日志信息对BMC***异常重启的故障进行定位。
2.根据权利要求1所述的方法,其特征在于,所述确定预设存储位置,包括:
获取预设缓存标识位的值,若所述预设缓存标识位的值为第一预设值,将预先申请的内存空间中的第一缓存区设置为预设存储位置;
若所述预设缓存标识位的值为第二预设值,将预先申请的内存空间中的第二缓存区设置为预设存储位置。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在每次所述BMC***异常重启之后,更新所述预设缓存标识位的值。
4.根据权利要求3所述的方法,其特征在于,所述在每次所述BMC***异常重启之后,更新所述预设缓存标识位的值,包括:
在每次所述BMC***异常重启之后,确定当前所述预设缓存标识位的值;
若当前所述预设缓存标识位的值为第一预设值,将所述预设缓存标识位的值更新为第二预设值;
若当前所述预设缓存标识位的值为第二预设值,将所述预设缓存标识位的值更新为第一预设值。
5.根据权利要求1所述的方法,其特征在于,在所述确定预设存储位置之前,所述方法还包括:
判断当前是否为首次对时间戳进行存储,在是首次的情况下,清空预先申请的内存空间中的第一缓存区、第二缓存区以及其对应的偏移指针,并初始化预设缓存标识位的值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到时间戳读取请求的情况下,获取预设缓存标识位当前的值;
若所述预设缓存标识位当前的值为第一预设值,从预先申请的内存空间中的第一缓存区读取时间戳;
若所述预设缓存标识位当前的值为第二预设值,从预先申请的内存空间中的第二缓存区读取时间戳;
将读取到的时间戳以文件的形式存储在预先创建的文件目录中。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在每次所述BMC***异常重启之后,将预先创建的文件目录中的文件转存到非易失性内存中。
8.一种BMC异常重启的故障定位装置,其特征在于,所述装置包括:
时间戳获取模块,用于监测BMC***的喂狗操作,并在每次所述BMC***进行喂狗操作的情况下,获取当前的时间戳;
存储模块,用于确定预设存储位置,并将获取的时间戳存储在所述预设存储位置;
时间戳读取模块,用于在每次所述BMC***异常重启之后,获取重启之前存储的时间戳;
日志获取模块,用于基于所述重启之前存储的时间戳确定故障发生时间段,并获取BMC***在所述故障发生时间段内的日志信息;
故障定位模块,用于根据所述故障发生时间段内的日志信息对BMC***异常重启的故障进行定位。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的BMC异常重启的故障定位方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的BMC异常重启的故障定位方法。
CN202211510743.4A 2022-11-29 2022-11-29 Bmc异常重启的故障定位方法、装置、电子设备及存储介质 Pending CN115757042A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211510743.4A CN115757042A (zh) 2022-11-29 2022-11-29 Bmc异常重启的故障定位方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211510743.4A CN115757042A (zh) 2022-11-29 2022-11-29 Bmc异常重启的故障定位方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115757042A true CN115757042A (zh) 2023-03-07

Family

ID=85340232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211510743.4A Pending CN115757042A (zh) 2022-11-29 2022-11-29 Bmc异常重启的故障定位方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115757042A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290164A (zh) * 2023-11-22 2023-12-26 荣耀终端有限公司 重启时的信息记录方法、电子设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290164A (zh) * 2023-11-22 2023-12-26 荣耀终端有限公司 重启时的信息记录方法、电子设备及可读存储介质
CN117290164B (zh) * 2023-11-22 2024-05-10 荣耀终端有限公司 重启时的信息记录方法、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN111290918B (zh) 服务器运行状态监控方法、装置及计算机可读存储介质
CN108363659B (zh) 一种处理电子设备异常的方法及装置
EP3355197B1 (en) Fault processing method, related apparatus, and computer
CN112506702B (zh) 数据中心容灾方法、装置、设备及存储介质
CN110895488B (zh) 任务调度方法及装置
CN109413164B (zh) 一种访问服务恢复方法、装置、设备及可读存储介质
CN101329631A (zh) 一种嵌入式***自动检测和恢复启动的方法及装置
CN115757042A (zh) Bmc异常重启的故障定位方法、装置、电子设备及存储介质
CN110413432B (zh) 一种信息处理方法、电子设备及存储介质
CN111324423A (zh) 容器内进程的监控方法、装置、存储介质和计算机设备
CN111796954A (zh) 基于jvm的看门狗的控制方法、装置、设备及存储介质
CN109586989B (zh) 一种状态检查方法、装置及集群***
CN115658113A (zh) 服务器自启动方法、装置、可读存储介质及电子设备
CN114020526A (zh) 一种固件升级方法、装置及计算机存储介质
CN110895486A (zh) 分布式任务调度***
US20190272218A1 (en) Computer and control method thereof
CN110505177B (zh) 一种信息收集***、终端设备及远程主机
CN113138791A (zh) 基于嵌入式***的升级处理方法、装置及电子设备
CN115114117B (zh) 数据记录方法和数据记录装置
CN107396389B (zh) 一种无线接入设备异常重启时间诊断方法及***
CN114257492B (zh) 智能网卡的故障处理方法、装置、计算机设备和介质
CN112650613B (zh) 一种错误信息处理方法、装置、电子设备及存储介质
CN113961395A (zh) 芯片化保护装置的即插即用方法以及控制装置
US6446067B2 (en) Information processing unit, information processing system, method of correcting abnormality of christian calendar year in information processing unit, and computer readable record medium having christian calendar year abnormality correction program recorded therein
CN113064750A (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