一种冗余固件切换方法、装置、设备及存储介质与流程

文档序号:24872556发布日期:2021-04-30 12:45阅读:62来源:国知局
一种冗余固件切换方法、装置、设备及存储介质与流程

本申请涉及服务器领域,特别是涉及一种冗余固件切换方法、装置、设备及存储介质。



背景技术:

在对服务器中的主板及其他重要板卡的设计中,为了提高产品可靠性,均会针对关键部件进行冗余设计,其作用是增加一套以上完成相同功能的功能通道、工作元件或部件,以保证当该部分出现故障时,系统或设备仍能正常工作。

目前设计的服务器中,对固件同样进行了冗余的设计,主板上电后由cpu以特定顺序对当前运行的各个固件进行校验,当存在校验异常的固件时,向可编程逻辑器件发送固件切换信号,当前cpu在向可编程逻辑器件发送固件切换信号后,将停止对未校验固件的校验操作,但由于cpu自身的误触发,可能导致可编程逻辑器件收到多个固件的固件切换信号,因此当前往往会造成可编程逻辑器件将正常运行的固件切换为冗余固件的情况,难以确保固件切换的准确性以及固件切换过程的整体效率。

由此可见,提供一种冗余固件切换方法,以相对确保固件切换的准确性以及固件切换过程的整体效率,是本领域技术人员需要解决的问题。



技术实现要素:

本申请的目的是提供一种冗余固件切换方法,以相对确保固件切换的准确性以及固件切换过程的整体效率。

为解决上述技术问题,本申请提供一种冗余固件切换方法,应用于可编程逻辑器件,包括:

获取cpu的固件校验状态信号;

判断固件校验状态信号中是否存在一个以上的固件切换信号;

若是,则根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号;

将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电。

优选地,在获取cpu的固件校验状态信号之前,方法还包括:

获取cpu的上电状态信息;

根据cpu的上电状态信息判断cpu是否完成上电;

若是,则执行获取cpu的固件校验状态信号的步骤。

优选地,在将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电之前,方法还包括:

获取由bmc传入的cpu的固件校验状态信号;其中,bmc与cpu建立有通信关系;

判断固件校验状态信号中是否存在目标固件切换信号;

若是,则执行将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电的步骤。

优选地,当固件校验状态信号中不存在目标固件切换信号时,方法还包括:

将目标固件切换信号记录至日志。

优选地,可编程逻辑器件包括cpld。

优选地,固件校验状态信号包括scp固件校验状态信号以及bios固件校验状态信号。

此外,本申请还提供一种冗余固件切换装置,应用于可编程逻辑器件,包括:

状态信息获取模块,用于获取cpu的固件校验状态信号;

信号判断模块,用于判断固件校验状态信号中是否存在一个以上的固件切换信号,若是,则执行顺序获取模块;

顺序获取模块,用于根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号;

冗余切换模块,用于将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电。

优选地,装置还包括:

cpu信息获取模块,用于获取cpu的上电状态信息;

上电判断模块,用于根据cpu的上电状态信息判断cpu是否完成上电,若是,则调用状态信息获取模块。

此外,本申请还提供一种冗余固件切换设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述的冗余固件切换方法的步骤。

此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的冗余固件切换方法的步骤。

本申请所提供的冗余固件切换方法,应用于可编程逻辑器件,首先获取cpu的固件校验状态信号,并判断固件校验状态信号中是否存在一个以上的固件切换信号,若存在一个以上的固件切换信号,则根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号,进而将目标固件切换信号对应的目标固件切换为相应的冗余固件,并控制主板重新上电。由于本方法根据cpu的固件校验顺序仅对cpu最先产生的目标固件切换信号进行响应,即对目标固件切换信号对应的目标固件进行冗余固件的切换并控制主板重新上电,因此能够在因cpu误触发而向可编程逻辑器件发起多个固件的固件切换信号时,避免可编程逻辑器件将正常运行的固件切换为冗余固件的情况产生,进而确保了固件切换的准确性以及固件切换过程的整体效率。此外,本申请还提供一种冗余固件切换装置、设备及存储介质,有益效果同上所述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的一种冗余固件切换方法的流程图;

图2为本申请实施例公开的一种冗余固件切换装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。

目前设计的服务器中,对固件进行了冗余的设计,主板上电后由cpu以特定顺序对当前运行的各个固件进行校验,当存在校验异常的固件时,向可编程逻辑器件发送固件切换信号,当前cpu在向可编程逻辑器件发送固件切换信号后,将停止对未校验固件的校验操作,但由于cpu自身的误触发,可能导致可编程逻辑器件收到多个固件的固件切换信号,因此当前往往会造成可编程逻辑器件将正常运行的固件切换为冗余固件的情况,难以确保固件切换的准确性以及固件切换过程的整体效率。

为此,本申请的核心是提供一种冗余固件切换方法,以相对确保固件切换的准确性以及固件切换过程的整体效率。

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。

请参见图1所示,本申请实施例公开了一种冗余固件切换方法,应用于可编程逻辑器件,包括:

步骤s10:获取cpu的固件校验状态信号。

需要说明的是,本实施例中的cpu(centralprocessingunit,中央处理器)指的是计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。本实施例的执行主体为分别与cpu以及运行有固件的元器件连接的可编程逻辑器件,可编程逻辑器件是一种通用集成电路,可编程逻辑器件的逻辑功能按照用户对可编程逻辑器件的编程来决定的。本实施例中,cpu会以特定顺序对当前各个元器件中的运行的固件进行校验,进而生成表征固件运行状态的固件校验状态信号,并进一步提供给可编程逻辑器件。可编程逻辑器件的作用是响应cpu对固件进行校验后产生的固件切换信号,进而对相应元器件进行冗余固件的切换。

步骤s11:判断固件校验状态信号中是否存在一个以上的固件切换信号,若是,则执行步骤s12。

由于考虑到cpu在生成某一固件的固件切换信号,并向可编程逻辑器件发送固件切换信号后,将停止对未校验固件的校验操作,因此当cpu的固件校验状态信号中存在一个以上的固件切换信号时,则说明cpu存在信号误触发情况。

本步骤在获取到cpu的固件校验状态信号之后,进一步判断固件校验状态信号中是否存在一个以上的固件切换信号,以此判定cpu是否存在误触发固件切换信号的情况。

步骤s12:根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号。

当固件校验状态信号中存在一个以上的固件切换信号,即判定cpu存在误触发固件切换信号的情况时,本步骤进一步根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号,也就是根据cpu对固件进行校验的顺序,获取到各个固件切换信号中最先生成的目标固件切换信息,目的是在后续步骤中仅对该目标固件切换信息进行响应。

步骤s13:将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电。

在根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号之后,本步骤进一步将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电,以此对异常固件进行冗余固件的切换。

本申请所提供的冗余固件切换方法,应用于可编程逻辑器件,首先获取cpu的固件校验状态信号,并判断固件校验状态信号中是否存在一个以上的固件切换信号,若存在一个以上的固件切换信号,则根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号,进而将目标固件切换信号对应的目标固件切换为相应的冗余固件,并控制主板重新上电。由于本方法根据cpu的固件校验顺序仅对cpu最先产生的目标固件切换信号进行响应,即对目标固件切换信号对应的目标固件进行冗余固件的切换并控制主板重新上电,因此能够在因cpu误触发而向可编程逻辑器件发起多个固件的固件切换信号时,避免可编程逻辑器件将正常运行的固件切换为冗余固件的情况产生,进而确保了固件切换的准确性以及固件切换过程的整体效率。

在上述实施例的基础上,作为一种优选的实施方式,在获取cpu的固件校验状态信号之前,方法还包括:

获取cpu的上电状态信息;

根据cpu的上电状态信息判断cpu是否完成上电;

若是,则执行获取cpu的固件校验状态信号的步骤。

需要说明的是,由于考虑到在cpu未上电完成时,往往会产生一定的脉冲信号,而脉冲信号可能与固件校验状态信号的脉冲一致,进而导致可编程逻辑器件将cpu上电过程中产生的脉冲信号作为固件校验状态信号进行获取,难以确保固件切换的准确性,因此本实施方式在获取cpu的固件校验状态信号之前,首先获取cpu的上电状态信息,进而根据cpu的上电状态信息判断cpu是否完成上电,当cpu处于完成上电的状态时,进一步执行获取cpu的固件校验状态信号的步骤,以此避免了在cpu上电过程中产生的脉冲信号对可编程逻辑器件获取的固件校验状态信号的影响,本实施方式进一步确保了可编程逻辑器件所获取的固件校验状态信号的可靠性,进而确保了固件切换的准确性。

在上述实施例的基础上,作为一种优选的实施方式,在将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电之前,方法还包括:

获取由bmc传入的cpu的固件校验状态信号;其中,bmc与cpu建立有通信关系;

判断固件校验状态信号中是否存在目标固件切换信号;

若是,则执行将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电的步骤。

需要说明的是,在本实施方式中,可编程逻辑器件进一步连接有bmc(baseboardmanagementcontroller,基板管理控制器),bmc与cpu建立有通信关系,并且bmc同样获取cpu的固件校验状态信号,进而在将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电之前,可编程逻辑器件获取由bmc传入的cpu的固件校验状态信号,进而判断固件校验状态信号中是否存在目标固件切换信号,也就是通过bmc的途径再次获取cpu的固件校验状态信号,并判断通过bmc的途径获取的固件校验状态信号中是否存在目标固件切换信号,进而当通过bmc的途径获取的固件校验状态信号中同样存在目标固件切换信号时,执行将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电的步骤。本实施方式进一步提高了固件切换的准确性。

更进一步的,作为一种优选的实施方式,当固件校验状态信号中不存在目标固件切换信号时,方法还包括:

将目标固件切换信号记录至日志。

需要说明的是,在本实施方式中,在当判定通过bmc的途径获取的固件校验状态信号中不存在目标固件切换信号时,不执行将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电的操作,而进一步将目标固件切换信号记录至日志,进而技术人员能够通过日志获悉可编程逻辑器件未响应的目标固件切换信号,并能够以人为方式判定是否需要根据目标固件切换信号对相应的固件进行切换,进一步确保了固件切换的准确性。

更进一步的,作为一种优选的实施方式,可编程逻辑器件包括cpld。

需要说明的是,本实施方式的重点在于可编程逻辑器件为cpld。cpld(complexprogrammablelogicdevice)是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,具有较高的逻辑控制的灵活性以及可靠性,能够进一步确保冗余固件切换的可靠性。

在上述一系列实施例的基础上,作为一种优选的实施方式,固件校验状态信号包括scp固件校验状态信号以及bios固件校验状态信号。

需要说明的是,scp(systemcontrolprocessor)为系统控制处理器,bios(basicinputoutputsystem)为基本输入输出系统,本实施方式中固件校验状态信号包括scp固件校验状态信号以及bios固件校验状态信号,能够相对确保对于scp固件以及bios固件进行冗余固件切换过程的准确性以及固件切换过程的整体效率。

请参见图2所示,本申请实施例提供了一种冗余固件切换装置,应用于可编程逻辑器件,包括:

状态信息获取模块10,用于获取cpu的固件校验状态信号;

信号判断模块11,用于判断固件校验状态信号中是否存在一个以上的固件切换信号,若是,则执行顺序获取模块12;

顺序获取模块12,用于根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号;

冗余切换模块13,用于将目标固件切换信号对应的目标固件切换为相应的冗余固件并控制主板重新上电。

此外,作为一种优选的实施方式,装置还包括:

cpu信息获取模块,用于获取cpu的上电状态信息;

上电判断模块,用于根据cpu的上电状态信息判断cpu是否完成上电,若是,则调用状态信息获取模块。

本申请所提供的冗余固件切换装置,应用于可编程逻辑器件,首先获取cpu的固件校验状态信号,并判断固件校验状态信号中是否存在一个以上的固件切换信号,若存在一个以上的固件切换信号,则根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号,进而将目标固件切换信号对应的目标固件切换为相应的冗余固件,并控制主板重新上电。由于本装置根据cpu的固件校验顺序仅对cpu最先产生的目标固件切换信号进行响应,即对目标固件切换信号对应的目标固件进行冗余固件的切换并控制主板重新上电,因此能够在因cpu误触发而向可编程逻辑器件发起多个固件的固件切换信号时,避免可编程逻辑器件将正常运行的固件切换为冗余固件的情况产生,进而确保了固件切换的准确性以及固件切换过程的整体效率。

此外,本申请还提供一种冗余固件切换设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述的冗余固件切换方法的步骤。

本申请所提供的冗余固件切换设备,首先获取cpu的固件校验状态信号,并判断固件校验状态信号中是否存在一个以上的固件切换信号,若存在一个以上的固件切换信号,则根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号,进而将目标固件切换信号对应的目标固件切换为相应的冗余固件,并控制主板重新上电。由于本设备根据cpu的固件校验顺序仅对cpu最先产生的目标固件切换信号进行响应,即对目标固件切换信号对应的目标固件进行冗余固件的切换并控制主板重新上电,因此能够在因cpu误触发而向可编程逻辑器件发起多个固件的固件切换信号时,避免可编程逻辑器件将正常运行的固件切换为冗余固件的情况产生,进而确保了固件切换的准确性以及固件切换过程的整体效率。

此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的冗余固件切换方法的步骤。

本申请所提供的计算机可读存储介质,应用于可编程逻辑器件,首先获取cpu的固件校验状态信号,并判断固件校验状态信号中是否存在一个以上的固件切换信号,若存在一个以上的固件切换信号,则根据cpu的固件校验顺序获取固件切换信号中最先产生的目标固件切换信号,进而将目标固件切换信号对应的目标固件切换为相应的冗余固件,并控制主板重新上电。由于本计算机可读存储介质根据cpu的固件校验顺序仅对cpu最先产生的目标固件切换信号进行响应,即对目标固件切换信号对应的目标固件进行冗余固件的切换并控制主板重新上电,因此能够在因cpu误触发而向可编程逻辑器件发起多个固件的固件切换信号时,避免可编程逻辑器件将正常运行的固件切换为冗余固件的情况产生,进而确保了固件切换的准确性以及固件切换过程的整体效率。

以上对本申请所提供的一种冗余固件切换方法、装置、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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