故障处理方法、装置、计算机设备及可读存储介质与流程

文档序号:34464528发布日期:2023-06-15 09:51阅读:36来源:国知局
故障处理方法、装置、计算机设备及可读存储介质与流程

本技术涉及服务器运维,特别是涉及一种故障处理方法、装置、计算机设备及可读存储介质。


背景技术:

1、随着数据中心规模的扩大,数据中心内部署的固件越来越多,例如,固件可以为板卡、芯片或者服务器。在固件上电启动过程中,首先会进入基本输入输出系统(basic inputoutput system,bios)。

2、通常,数据中心内固件的启动过程包含较多的阶段,存在bios故障是在所难免的。为了保证数据中心内固件能够正常启动,对数据中心内固件启动过程中bios的故障处理变得尤为重要。

3、然而,相关技术对bios故障类型的处理不够全面,导致故障处理结果的精确度较低。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种故障处理方法、装置、计算机设备及可读存储介质,能够提高故障分析结果的精确度。

2、第一方面,本技术提供了一种故障处理方法,该方法包括:

3、获取基本输入输出系统bios的当前故障类型;当前故障类型为bios的多种不同故障类型中的任一个;

4、根据预设的各故障类型对应的故障检测程序,获取当前故障类型的目标故障检测程序;

5、采用目标故障检测程序对bios进行故障处理,确定当前故障类型的故障定位结果。

6、本技术实施例中的技术方案,可以获取基本输入输出系统bios的当前故障类型,根据预设的各故障类型对应的故障检测程序,获取当前故障类型的目标故障检测程序,并采用目标故障检测程序对bios进行故障处理,确定当前故障类型的故障定位结果;该方法可以根据bios的当前故障类型调用对应的故障检测程序,进一步通过调用的故障检测程序对相应的故障进行故障处理,从而能够达到一对一的精准故障处理,使得确定的故障定位结果的精准度较高;同时,该方法避免了仅能够对特定故障类型进行故障处理的情况,可以适用于多种不同故障类型的故障处理,从而能够对bios中出现的各类故障进行处理,使得故障处理的应用场景较多;再者,该方法针对不同故障类型采用的故障检测程序不同,从而能够避免通过一种故障检测程序对多个特定故障类型进行故障处理时出现的处理误差,进一步能够提高故障处理结果的精准度。

7、在其中一个实施例中,采用目标故障检测程序对bios进行故障处理,确定当前故障类型的故障定位结果,包括:

8、采用目标故障检测程序,对bios的调试信息进行故障检测处理,得到bios中当前故障类型的故障属性信息;

9、通过调试信息和故障属性信息,对bios中的故障进行定位处理,得到故障定位结果。

10、本技术实施例中的技术方案,可以采用目标故障检测程序,对bios的调试信息进行故障检测处理,得到bios中当前故障类型的故障属性信息,并通过调试信息和故障属性信息,对bios中的故障进行定位处理,得到故障定位结果;该方法可以先对bios中的故障进行粗分析,然后将粗分析结果作为精准定位处理的参考信息,使得该方法可以在小范围内实现精准定位,提高定位处理的效果,进一步提高故障处理的效率;同时,在小范围内实现精准定位,还可以缩小定位处理的运算量,进一步缩小故障处理的运算量。

11、在其中一个实施例中,采用目标故障检测程序,对bios的调试信息进行故障检测处理,得到bios中当前故障类型的故障属性信息,包括:

12、获取当前故障类型的故障位置标识;

13、根据故障位置标识,获取bios的调试信息中的目标调试信息;

14、采用目标故障检测程序,对目标调试信息进行故障检测处理,得到故障属性信息。

15、本技术实施例中的技术方案,可以获取当前故障类型的故障位置标识,根据故障位置标识,获取bios的调试信息中的目标调试信息,并采用目标故障检测程序,对目标调试信息进行故障检测处理,得到故障属性信息;该方法可以从bios的调试信息中提取对故障检测处理有帮助的有效调试信息,从而缩小了故障检测处理的数据量,进一步提高了故障检测处理的效率。

16、在其中一个实施例中,通过调试信息和故障属性信息,对bios中的故障进行定位处理,得到故障定位结果,包括:

17、根据预设的模块信息库中各功能模块的基地址和内存大小,得到各功能模块的内存信息;

18、根据所述故障属性信息确定函数返回地址,并对于任一个功能模块,若所述函数返回地址大于所述功能模块的基地址,且小于功能模块的内存信息,则将功能模块确定为故障模块;

19、通过模块信息库和故障属性信息,确定故障模块的参考地址信息和故障模块的调用者的参考地址信息;

20、基于故障模块的参考地址信息、调用者的参考地址信息和调试信息,对bios中的故障进行定位处理,得到故障定位结果。

21、本技术实施例中的技术方案,可以根据预设的模块信息库中各功能模块的基地址和内存大小,得到各功能模块的内存信息,根据所述故障属性信息确定函数返回地址,并对于任一个功能模块,若所述函数返回地址大于所述功能模块的基地址,且小于功能模块的内存信息,则将功能模块确定为故障模块,通过模块信息库和故障属性信息,确定故障模块的参考地址信息和故障模块的调用者的参考地址信息,并基于故障模块的参考地址信息、调用者的参考地址信息和调试信息,对bios中的故障进行定位处理,得到故障定位结果;该方法可以先确定bios中的故障模块,然后基于故障模块获取故障模块的参考地址信息,并通过故障模块的参考地址信息确定故障模块的调用者的参考地址信息,然后根据故障模块的参考地址信息、调用者的参考地址信息和调试信息,对bios中的故障进行定位处理,使得最终确定的故障定位结果为故障模块的调用者的故障位置,也就是故障入口的位置,从而能够在故障修复时,根据故障入口位置快速进入修复过程,提高修复速度。

22、在其中一个实施例中,通过模块信息库和故障属性信息,确定故障模块的参考地址信息,包括:

23、从模块信息库中获取故障模块的第一程序数据库文件信息;

24、通过故障属性信息和故障模块的基地址,确定故障模块的相对虚拟地址;

25、根据故障模块的第一程序数据库文件信息和故障模块的相对虚拟地址,确定故障模块的参考地址信息。

26、本技术实施例中的技术方案,可以从模块信息库中获取故障模块的第一程序数据库文件信息,通过故障属性信息和故障模块的基地址,确定故障模块的相对虚拟地址,并根据故障模块的第一程序数据库文件信息和故障模块的相对虚拟地址,确定故障模块的参考地址信息;该方法可以通过故障模块的pdb文件信息和故障模块的相对虚拟地址,可以准确地得到故障模块的参考地址信息,以为故障定位处理做准备,在此基础上,能够进一步能够提高故障定位结果的准确性。

27、在其中一个实施例中,通过模块信息库和故障属性信息,确定故障模块的调用者的参考地址信息,包括:

28、获取调用者的第二程序数据库文件信息;

29、通过故障属性信息进行栈回溯处理,得到调用者内中断前的指令执行地址;

30、根据调用者内中断前的指令执行地址和调用者的基地址,确定调用者的相对虚拟地址;

31、根据调用者的第二程序数据库文件信息和调用者的相对虚拟地址,确定调用者的参考地址信息。

32、本技术实施例中的技术方案,可以获取调用者的第二程序数据库文件信息,通过故障属性信息进行栈回溯处理,得到调用者内中断前的指令执行地址,根据调用者内中断前的指令执行地址和调用者的基地址,确定调用者的相对虚拟地址,并根据调用者的第二程序数据库文件信息和调用者的相对虚拟地址,确定调用者的参考地址信息;该方法可以通过故障模块的调用者的pdb文件信息和故障模块的调用者的相对虚拟地址,可以准确地得到故障模块的调用者的参考地址信息,以为故障定位处理做准备,在此基础上,能够进一步能够提高故障定位结果的准确性。

33、在其中一个实施例中,故障属性信息包括故障模块的函数返回地址、中断前的指令执行地址和处理器中断前的栈顶指针的值;通过故障属性信息进行栈回溯处理,得到调用者内中断前的指令执行地址,包括:

34、获取处理器中断前的栈顶指针的值和处理器的地址偏移量之和,得到故障偏移地址;

35、检测故障偏移地址是否小于处理器的栈起始地址;

36、若小于,则通过故障偏移地址和模块信息库获取调用者内中断前的指令执行地址。

37、本技术实施例中的技术方案,可以获取处理器中断前的栈顶指针的值和处理器的地址偏移量之和,得到故障偏移地址,检测故障偏移地址是否小于处理器的栈起始地址,若小于,则通过故障偏移地址和模块信息库获取调用者内中断前的指令执行地址;该方法可以先获取故障偏移地址,然后基于故障偏移地址获取调用者内中断前的指令执行地址,从而能够以调用者内中断前的指令执行地址为参考信息,准确、快速的得到调用者的参考地址信息。

38、在其中一个实施例中,通过故障偏移地址和模块信息库获取调用者内中断前的指令执行地址,包括:

39、根据故障偏移地址在模块信息库中匹配对应的基地址;

40、若匹配成功,则判断故障偏移地址中的指令的上一个指令是否为转移指令;

41、若上一个指令为转移指令,则将故障偏移地址确定为调用者内中断前的指令执行地址。

42、本技术实施例中的技术方案,可以根据故障偏移地址在模块信息库中匹配对应的基地址,若匹配成功,则判断故障偏移地址中的指令的上一个指令是否为转移指令,若上一个指令为转移指令,则将故障偏移地址确定为调用者内中断前的指令执行地址;该方法可以基于故障偏移地址进行验证,以保证确定的调用者内中断前的指令执行地址的正确性。

43、在其中一个实施例中,基于故障模块的参考地址信息、调用者的参考地址信息和调试信息,对bios中的故障进行定位处理,得到故障定位结果,包括:

44、获取调试信息的有效调试信息标识;

45、根据有效调试信息标识、故障模块的参考地址信息和调用者的参考地址信息,对调试信息进行解析,得到故障定位结果。

46、本技术实施例中的技术方案,可以获取调试信息的有效调试信息标识,并根据有效调试信息标识、故障模块的参考地址信息和调用者的参考地址信息,对调试信息进行解析,得到故障定位结果;该方法不仅可以根据有效调试信息标识从调试信息中提取有效调试信息,以快速对bios中的故障进行定位处理,还能够对故障模块的调用者的位置进行精准定位;同时,该方法不仅可以精准定位到故障模块的调用者的位置,还可以精准定位多级调用者的位置。

47、在其中一个实施例中,方法还包括:

48、根据当前故障类型,确定故障修复策略;

49、基于故障定位结果,采用故障修复策略对bios中的故障进行修复。

50、本技术实施例中的技术方案,可以根据当前故障类型确定对应的故障修复策略,然后根

51、据当前故障类型的故障定位结果,采用故障修复策略及时对bios中的故障进行修复,极大5程度上避免了影响bios的正常运行以及固件正常启动,尽可能提高了固件的启动速度。

52、第二方面,本技术提供了一种故障处理装置,该装置包括:

53、故障类型获取模块,用于获取基本输入输出系统bios的当前故障类型;当前故障类型为bios的多种不同故障类型中的任一个;

54、检测程序获取模块,用于根据预设的各故障类型对应的故障检测程序,获取当前故障类0型的目标故障检测程序;

55、故障处理模块,用于采用目标故障检测程序对bios进行故障处理,确定当前故障类型的故障定位结果。

56、第三方面,本技术还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器

57、存储有计算机程序,处理器执行计算机程序时实现上述第一方面中任一实施例的方法的步骤。5第四方面,本技术还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计

58、算机程序,计算机程序被处理器执行时实现上述第一方面中任一实施例的方法的步骤。

59、第五方面,本技术还提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一实施例的方法的步骤。

60、上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依0照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易

61、懂,以下特举本技术的具体实施方式。

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