本技术实施例涉及计算机领域,具体而言,涉及一种程序启动方法、装置、服务器及非易失性存储介质。
背景技术:
1、在相关技术中,bios程序的启动过程通常只需要standby电压即可启动,并且在启动过程中,其他设备无法监控到bios程序的启动过程中是否存在异常,导致在bios启动失败时,无法快速准确确定bios具体是在哪一步发生故障导致启动失败。
技术实现思路
1、本技术实施例提供了一种程序启动方法、装置、服务器及非易失性存储介质,以至少解决相关技术中bios程序的启动过程独立运行导致在bios程序启动故障时无法快速准确定位发生故障的具体阶段的问题。
2、根据本技术的一个实施例,提供了一种程序启动方法,包括:基板管理控制器向处理器发送启动指示信息,其中,基板管理控制器中存储有目标程序的镜像文件,启动指示信息用于指示处理器依据镜像文件启动目标程序;在处理器启动目标程序的启动过程中,接收处理器发送的第一验证信息,其中,第一验证信息用于确定目标程序的启动过程中是否存在故障;在确定启动过程中不存在故障的情况下,发送镜像文件到处理器,直到处理器完成启动过程。
3、在一些示例性实施例中,启动过程包括多个启动阶段,第一验证信息为处理器完成第一启动阶段后生成的验证信息,第一启动阶段为多个启动阶段中除最后一个启动阶段外的任意启动阶段,并且不同的启动阶段对应的第一验证信息不同。
4、在一些示例性实施例中,接收处理器发送的第一验证信息后,程序启动方法还包括:确定与第一启动阶段对应的第二验证信息,其中,第二验证信息为预存储在基板管理控制器中的验证信息;比较第一验证信息和第二验证信息,并在第一验证信息和第二验证信息一致的情况下,确定第一启动阶段无故障。
5、在一些示例性实施例中,发送镜像文件到处理器包括:在确定第一启动阶段无故障后,向处理器发送第二启动阶段对应的镜像文件,其中,第二启动阶段为多个启动阶段中启动顺序在第一启动阶段之后并且与第一启动阶段相邻的启动阶段。
6、在一些示例性实施例中,在确定第一启动阶段无故障后,程序启动方法还包括:生成与第一启动阶段对应的第一日志文件,其中,第一日志文件用于记载第一启动阶段启动成功。
7、在一些示例性实施例中,比较第一验证信息和第二验证信息之后,程序启动方法还包括:在第一验证信息与第二验证信息不一致的情况下,确定第一启动阶段启动失败;生成与第一启动阶段对应的第二日志文件,其中,第二日志文件用于记载第一启动阶段的标识信息,以及第一启动阶段对应的第一验证信息和第二验证信息;发送第二日志文件至目标设备,其中,目标设备用于确定目标程序是否启动成功。
8、在一些示例性实施例中,基板管理控制器向处理器发送启动指示信息包括:确定目标开关的开关状态,其中,开关状态包括第一状态和第二状态,第一状态用于指示由基板管理控制器和处理器共同完成目标程序的启动过程,第二状态用于指示由处理器单独完成目标程序的启动过程;依据开关状态向处理器发送启动指示信息。
9、在一些示例性实施例中,依据开关状态向处理器发送启动指示信息包括:在确定开关状态为第一状态的情况下,基板管理控制器向处理器发送启动指示信息;在确定开关状态为第二状态的情况下,不向处理器发送启动指示信息,并在处理器独立完成目标程序的启动过程的情况下,接收处理器发送的第一验证信息;依据第一验证信息生成第三日志文件,其中,第三日志文件用于记载启动过程的过程信息。
10、在一些示例性实施例中,基板管理控制器向处理器发送启动指示信息前,程序启动方法还包括:获取目标程序的镜像文件;获取第二验证信息,以及第二验证信息和启动阶段的对应关系,并将第二验证信息存储到镜像文件的预设字节位中。
11、根据本技术的另一个实施例,提供了一种程序启动方法,包括:处理器接收基板管理控制器发送的启动指示信息,其中,基板管理控制器中存储有目标程序的镜像文件,启动指示信息用于指示处理器依据镜像文件启动目标程序;在处理器启动目标程序的启动过程中,向基板管理控制器发送第一验证信息,其中,第一验证信息用于指示目标程序的启动过程中是否存在故障;接收基板管理控制器依据第一验证信息发送的镜像文件,并依据镜像文件完成启动过程。
12、在一些示例性实施例中,启动过程包括多个启动阶段,第一验证信息为处理器完成第一启动阶段后生成的验证信息,第一启动阶段为多个启动阶段中除最后一个启动阶段外的任意启动阶段,并且不同的启动阶段对应的第一验证信息不同。
13、在一些示例性实施例中,基板管理控制器中存储有与第一启动阶段对应的第二验证信息,并在第一验证信息与第二验证信息一致的情况下,确定第一启动阶段无故障。
14、在一些示例性实施例中,处理器接收基板管理控制器发送的启动指示信息前,程序启动方法还包括:确定目标开关的开关状态,其中,开关状态包括第一状态和第二状态,第一状态用于指示由基板管理控制器和处理器共同完成目标程序的启动过程,第二状态用于指示由处理器单独完成目标程序的启动过程;在确定开关状态为第一状态的情况下,接收基板管理控制器发送的启动指示信息;在确定开关状态为第二状态的情况下,直接执行目标程序的启动过程。
15、在一些示例性实施例中,直接执行目标程序的启动过程包括:在完成任意一个启动阶段后,向基板管理控制器发送第一验证信息,并继续执行启动过程,直到完成全部启动阶段。
16、根据本技术的又一个实施例,提供了一种服务器,包括:基板管理控制器,处理器,目标开关,其中,基板管理控制器,用于存储目标程序的镜像文件;处理器,用于完成目标程序的启动过程;目标开关的开关状态包括第一状态和第二状态,第一状态用于指示由基板管理控制器和处理器共同完成目标程序的启动过程,第二状态用于指示由处理器单独完成目标程序的启动过程;基板管理控制器,还用于在开关状态为第一状态的情况下,向处理器发送启动指示信息,其中,启动指示信息用于指示处理器依据镜像文件启动目标程序;在处理器启动目标程序的启动过程中,接收处理器发送的第一验证信息,其中,第一验证信息用于指示目标程序的启动过程中是否存在故障;在依据第一验证信息确定目标程序的启动过程中不存在故障的情况下,发送镜像文件到处理器,直到处理器完成启动过程。
17、在一些示例性实施例中,在开关状态为第二状态的情况下,处理器独立完成目标程序的启动过程,并在启动过程中向基板管理控制器发送第一验证信息;基板管理控制器,用于依据第一验证信息生成用于记载启动过程的过程信息的日志文件。
18、在一些示例性实施例中,基板管理控制器中包括存储模块,存储模块用于存储目标程序的镜像文件,以及在目标程序的镜像文件的预设字节位中存储第二验证信息,其中,第二验证信息用于与第一验证信息共同指示启动过程是否存在故障。
19、在一些示例性实施例中,在开关状态为第一状态的情况下,基板管理控制器还用于依据第一验证信息和第二验证信息生成用于记载启动过程是否故障的日志文件。
20、在一些示例性实施例中,服务器中还包括警报装置,其中,警报装置,与基板管理控制器连接,在基板管理控制器确定目标程序的启动过程中存在故障后,警报装置用于在目标程序的控制下生成警报信息。
21、在一些示例性实施例中,基板管理控制器和处理器之间通过有线通信链路连接。
22、根据本技术的另一个实施例,提供了一种程序启动装置,包括: 第一处理模块,用于向处理器发送启动指示信息,其中,基板管理控制器中存储有目标程序的镜像文件,启动指示信息用于指示处理器依据镜像文件启动目标程序;第二处理模块,用于在处理器启动目标程序的启动过程中,接收处理器发送的第一验证信息,其中,第一验证信息用于确定目标程序的启动过程中是否存在故障;第三处理模块,用于在依据第一验证信息确定启动过程中不存在故障的情况下,发送镜像文件到处理器,直到处理器完成启动过程。
23、根据本技术的又一个实施例,还提供了一种非易失性存储介质,非易失性存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
24、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
25、通过本技术,由于在目标程序的启动过程中,处理器需要发送用于确定启动过程是否存在故障的第一验证信息到基板管理控制器,并接收基板管理控制器确定无故障后发送的镜像文件,之后根据镜像文件继续执行启动过程,因此,可以解决相关技术中bios程序的启动过程独立运行导致在bios程序启动故障时无法快速准确定位发生故障的具体阶段的问题,达到在bios程序启动故障时快速定位故障阶段的效果。