CN117234606B - Bios配置数据的同步方法及装置 - Google Patents
Bios配置数据的同步方法及装置 Download PDFInfo
- Publication number
- CN117234606B CN117234606B CN202311514240.9A CN202311514240A CN117234606B CN 117234606 B CN117234606 B CN 117234606B CN 202311514240 A CN202311514240 A CN 202311514240A CN 117234606 B CN117234606 B CN 117234606B
- Authority
- CN
- China
- Prior art keywords
- instruction
- parameter
- firmware
- execution
- control instruction
- 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
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
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种BIOS配置数据的同步方法及装置,其中,该方法包括:响应于获取指令,从预设路径下获取预设指令集,其中,预设指令集中的默认指令至少包括以下之一:环境配置工具的环境配置指令,处理器固件更新工具的固件更新指令;向目标对象发送第一提示信息之后,获取目标对象基于第一提示信息输入的控制指令;基于控制指令和默认指令的比较结果将控制指令所对应的配置数据同步至基板管理控制器。通过本申请,解决了面向Ampere平台,无法将修改的BIOS配置数据实时同步给BMC的技术问题。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种BIOS配置数据的同步方法及装置。
背景技术
在服务器的BIOS管理过程中,可以通过SCE工具和AFU工具等工具来完成不同的功能。SCE工具用来在OS下导出/修改BIOS的配置选项,如Intel平台的SMI(SystemManagement Interrupt,系统管理中断)技术可以支持其在使用SCE工具修改时触发一些功能。在Ampere平台上, AFU工具用来更新BIOS固件及SCP固件。不过当前Ampere平台还没有SMI及类似技术,仅支持SCE工具修改选项,无法支持在修改时触发某些功能。
随着技术的日益发展,各互联网厂商为满足更多的需求,对BIOS配置的实时修改需求日益增多。以BIOS 配置选项中的System Debug Level举例,BIOS和BMC两者之间需要对System Debug Level进行实时同步。BIOS启动时,会优先读取BMC存储的System DebugLevel设定并设置,如果使用Intel平台上SCE工具修改该选项则可以同时通过SMI技术将该选项值同步给BMC,以达到BMC端和BIOS的设定一致的目的。但是Ampere平台上SCE工具修改该选项时并没有相关技术可以传递给BMC,这会导致BMC端的System Debug Level未能及时更新。对于Ampere平台来说,虽然已使用SCE工具BIOS的System Debug Level,但是系统重启后,BIOS从BMC读取到的还是此前的值,导致SCE工具修改的值无法生效,此问题表象就是在OS中使用SCE工具修改System Debug Level选项无法生效。
而当前技术为了解决此问题,会在Intel平台上基于SMI技术直接修改BIOS代码,但是这种方式提高了代码的泄露风险,易引发版本质量问题,甚至要新发版本,这都会大大增加研发测试的工作量。若修改量很大,当前将脚本传递到远端设备进行修改的远端修改方式也存在延迟或者修改不完全等情况导致修改失败。
因此,相关技术中,面向Ampere平台,存在无法将修改的BIOS配置数据实时同步给BMC的技术问题。
针对相关技术中,面向Ampere平台,无法将修改的BIOS配置数据实时同步给BMC的技术问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种BIOS配置数据的同步方法及装置,以至少解决相关技术中面向Ampere平台,无法将修改的BIOS配置数据实时同步给BMC的技术问题。
根据本申请的一个实施例,提供了一种BIOS配置数据的同步方法,包括:响应于获取指令,从预设路径下获取预设指令集,其中,所述预设指令集中的默认指令至少包括以下之一:环境配置工具的环境配置指令,处理器固件更新工具的固件更新指令;向目标对象发送第一提示信息之后,获取所述目标对象基于所述第一提示信息输入的控制指令;基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器。
在一个示例性实施例中,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器,包括:对所述控制指令的执行参数和所述默认指令的执行参数进行比较,得到所述控制指令和所述默认指令的比较结果;在确定所述控制指令和所述默认指令的比较结果用于指示所述控制指令合法的情况下,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器。
在一个示例性实施例中,所述方法还包括:在确定所述控制指令和所述默认指令的比较结果用于指示所述控制指令不合法的情况下,停止执行所述控制指令;向所述目标对象发送第二提示信息,其中,所述第二提示信息用于提示所述目标对象所述控制指令不合法,以及提示所述目标对象输入新的控制指令。
在一个示例性实施例中,对所述控制指令的执行参数和所述默认指令的执行参数进行比较,得到所述控制指令和所述默认指令的比较结果,包括:对所述控制指令进行顺次解析,得到所述控制指令中的所有执行参数,其中,所述所有执行参数至少包括:第一执行参数,第二执行参数和第三执行参数,所述第一执行参数最先解析得到的执行参数,所述第二执行参数为所述第一执行参数之后解析得到的执行参数,所述第三执行参数为所述第二执行参数之后解析得到的执行参数;在确定所述第一执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型属于预设参数类型,则确定所述比较结果用于指示所述控制指令合法;其中,所述预设参数类型为所述默认指令的首个执行参数的参数类型,所述预设参数类型至少包括以下之一:所述环境配置指令的参数类型,所述固件更新指令的参数类型。
在一个示例性实施例中,在对所述控制指令进行顺次解析,得到所述控制指令中的所有执行参数之后,所述方法还包括:在确定所述第一执行参数为空值的情况下,确定所述比较结果用于指示所述控制指令不合法,停止执行所述控制指令;和/或,在确定所述第一执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型不属于预设参数类型,则确定所述比较结果用于指示所述控制指令不合法,停止执行所述控制指令。
在一个示例性实施例中,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器,包括:在确定所述默认指令包括环境配置指令的情况下,对所述第二执行参数和第一预设参数进行比较;其中,所述第一预设参数表示所述环境配置指令的非首个执行参数;如果确定所述比较的结果用于指示所述第二执行参数与第一预设参数一致,则从配置数据库内获取所述控制指令指示同步的主板配置文件,并将所述主板配置文件确定为所述控制指令对应的配置数据,将所述配置数据发送至所述基板管理控制器;在确定所述环境配置指令的首个执行参数用于指示导出所述配置数据的情况下,基于所述配置数据生成通知消息,并将所述通知消息发送至所述目标对象。
在一个示例性实施例中,在基于所述配置数据生成通知消息,并将所述通知消息发送至所述目标对象之后,所述方法还包括:在接收到所述目标对象发送的修改指令的情况下,解析所述修改指令,得到修改后的配置数据;根据所述目标对象输入的导入数据将所述修改后的配置数据导入至所述配置数据库;在确定所述导入至所述配置数据库的导入结果为导入成功的情况下,将所述修改后的配置数据同步至所述基板管理控制器;在确定所述导入至所述配置数据库的导入结果为导入失败的情况下,向所述目标对象发送第三提示信息,其中,所述第三提示信息用于提示所述目标对象所述导入结果为导入失败,以及提示所述目标对象输入新的控制指令;其中,所述根据所述目标对象输入的导入数据将所述修改后的配置数据导入至所述配置数据库,包括:对所述目标对象输入的导入指令进行解析,得到所述导入指令中的首个执行参数和所述导入指令中的非首个执行参数,其中,所述导入指令中的非首个执行参数为所述导入指令中的首个执行参数之后解析得到的执行参数;在确定所述导入指令中的首个执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型与环境配置指令的参数类型一致,确定所述导入指令合法;对所述导入指令中的非首个执行参数和所述第一预设参数进行比较;如果确定所述比较的结果用于指示所述第二执行参数与第一预设参数一致,则将所述修改后的配置数据导入至所述配置数据库。
在一个示例性实施例中,将所述修改后的配置数据同步至所述基板管理控制器,包括:从所述修改后的配置数据中获取用于表示系统错误级别的第一级别;在确定所述第一级别与备份数据中的用于表示系统错误级别的第二级别不一致的情况下,将所述修改后的配置数据同步至所述基板管理控制器;其中,所述备份数据是通过对导出的配置数据进行备份得到的;和/或,从所述修改后的配置数据中获取用于表示系统安全模式的第一模式;在确定所述第一模式与备份数据中的用于表示系统安全模式第二模式不一致的情况下,将所述备份数据同步至所述基板管理控制器。
在一个示例性实施例中,将所述修改后的配置数据导入至所述配置数据库,包括:对所述第三执行参数和第二预设参数进行比较;其中,所述第二预设参数表示所述环境配置指令的非首个执行参数,且所述第二预设参数的参数顺序晚于所述第一预设参数;如果确定所述比较的结果用于指示所述第三执行参数与所述第二预设参数一致,则将所述修改后的配置数据导入至所述配置数据库。
在一个示例性实施例中,所述方法还包括:在确定所述默认指令包括固件更新指令的情况下,对所述第二执行参数和第三预设参数进行比较;其中,所述第三预设参数表示所述固件更新指令的非首个执行参数;如果确定所述比较的结果用于指示所述第二执行参数与第三预设参数一致,则从配置数据库内获取所述控制指令指示更新的固件配置文件,并将所述固件配置文件确定为所述控制指令对应的配置数据,将所述配置数据发送至所述基板管理控制器;在确定所述固件更新指令的首个执行参数用于指示更新所述配置数据的情况下,根据所述固件更新指令对所述基板管理控制器的固件进行更新。
在一个示例性实施例中,根据所述固件更新指令对所述基板管理控制器的固件进行更新,包括:对所述第三执行参数和第四预设参数进行比较;其中,所述第四预设参数表示所述环境配置指令的非首个执行参数,且所述第四预设参数的参数顺序晚于所述第三预设参数;如果确定所述比较的结果用于指示所述第三执行参数与所述第四预设参数一致,根据所述固件更新指令对所述基板管理控制器的固件进行更新。
在一个示例性实施例中,根据所述固件更新指令对所述基板管理控制器的固件进行更新,包括:根据所述目标对象的备份操作对所述基板管理控制器进行数据备份;在对所述基板管理控制器进行数据备份之后,确定出所述固件更新指令所指示的所述基板管理控制器中的待更新部件;通过调用所述处理器固件更新工具,以使所述处理器固件更新工具使用所述配置数据对所述待更新部件进行更新。
在一个示例性实施例中,所述方法还包括:根据所述固件更新指令对所述基本输入输出系统的固件进行更新,包括:根据所述第一执行参数中的参数值确定出所述第一执行参数对应的固件文件格式;在确定所述固件文件格式为二进制映像文件的情况下,如果确定所述基本输入输出系统已经连接上驱动硬盘,则通过控制所述驱动硬盘使用所述固件配置文件对所述基本输入输出系统的固件进行更新;其中,所述驱动硬盘存储有所述固件配置文件。
在一个示例性实施例中,所述方法还包括:根据所述固件更新指令对所述基本输入输出系统的固件进行更新,包括:根据所述第一执行参数中的参数值确定出所述第一执行参数对应的固件文件格式;在确定所述固件文件格式为统一的可扩展固件接口标准的固件更新文件格式的情况下,确定出所述目标对象在可视化界面所选择的更新方式;在确定所述更新方式为全局更新的情况下,根据所述固件更新指令对所述基本输入输出系统的所有固件进行更新;在确定所述更新方式为部分更新的情况下,从所述固件更新指令中确定出所述基本输入输出系统的待更新的目标固件,并对所述目标固件进行更新;在确定所述基本输入输出系统的固件更新完成之后,对所述基本输入输出系统进行重启,以使更新生效。
根据本申请的另一个实施例,提供了一种BIOS配置数据的同步装置,包括:第一获取模块,用于响应于获取指令,从预设路径下获取预设指令集,其中,所述预设指令集中的默认指令至少包括以下之一:环境配置工具的环境配置指令,处理器固件更新工具的固件更新指令;第二获取模块,用于向目标对象发送第一提示信息之后,获取所述目标对象基于所述第一提示信息输入的控制指令;数据同步模块,用于基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,实现将所需的工具的指令全部封装起来,得到预设指令集,随后根据获取指令从预设指令集中获取包括环境配置工具的环境配置指令,处理器固件更新工具的固件更新指令的默认指令,如果接收到目标对象输入的控制指令,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器,本申请通过预先封装所需工具的代码,可以集成所需工具的所有功能,从而在OS下修改BIOS配置数据时,使用所需工具的代码将BIOS配置数据实时同步给BMC,因此,可以解决面向Ampere平台,无法将修改的BIOS配置数据实时同步给BMC的技术问题,达到将修改的BIOS配置数据实时同步给BMC的目的。
附图说明
图1是根据本申请实施例的一种BIOS配置数据的同步方法的服务器设备的硬件结构框图;
图2是根据本申请实施例的一种BIOS配置数据的同步方法的流程图;
图3是根据本申请实施例的一种BIOS配置数据的同步过程的结构原理图;
图4是根据本申请实施例的一种BIOS配置数据的同步原理示意图;
图5是根据本申请实施例的一种BIOS配置数据的同步方法的流程示意图;
图6是根据本申请实施例的一种BIOS配置数据的同步装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
接下来,对本申请中的技术术语进行说明:
BIOS:Basic Input Output System,基本输入输出系统,是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。其中,BIOS需要遵循Smbios(System Management BIOS)这一主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。
UEFI: Unified Extensible Firmware Interface,统一可扩展固件接口。其中,UEFI启动阶段包括Runtime,Runtime时控制权完全交给了OS,保留RuntimeServices交给OS使用。
SCE:Setup Control Environment,是一种命令行工具,用于在Linux OS中修改BIOS配置选项,例如包括配置操作系统、安装必要的软件、设置网络连接、配置系统参数等。
AFU:Arm Firmware Update,在各种系统下更新BIOS的工具, Arm架构是一种广泛应用于嵌入式系统和移动设备的处理器架构,它的固件控制了设备的基本功能和操作。当需要更新设备的固件时,可以进行Arm Firmware Update来安装新的固件版本,以修复漏洞、改进性能或添加新功能。
BMC:Baseboard Manager Controller,基板管理控制器,是一个独立的系统,不依赖与系统上的其它硬件(比如CPU、内存等),也不依赖与BIOS、OS等(但是BMC可以与BIOS和OS交互,这样可以起到更好的平台管理作用,OS下有系统管理软件可以与BMC协同工作以达到更好的管理效果)。
IPMI:Intelligent Platform Management Interface,智能平台管理接口。它是由Intel、DELL、HP及NEC于1998年共同提出,同时,由IPMI论坛创建了IPMI标准依赖,并已经得到了170 多家供应商的支,这使得其逐渐成为了一个完整地包括服务器和其他系统(如存储设备、网络和通信设备)的硬件管理规范。
SCP:Ampere平台Altra/AltraMax系列CPU中独有的固件,其存放于一颗单独的芯片上,用于CPU的上下电管理等。
System Debug Level:用于控制BIOS启动日志输出等级的选项,设置不同等级时,BIOS启动日志输出等级会随之不同。
Security Mode:BMC的安全模式,开启后带内除了可以发送特定的IPMI命令外,其它带内指令会被屏蔽。
本申请实施例中所提供的方法实施例可以在服务器设备或者类似的运算装置中执行。以运行在服务器设备上为例,图1是本申请实施例的一种BIOS配置数据的同步方法的服务器设备的硬件结构框图。如图1所示,服务器设备可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述服务器设备还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器设备的结构造成限定。例如,服务器设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的BIOS配置数据的同步方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器设备的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种BIOS配置数据的同步方法,图2是根据本申请实施例BIOS配置数据的同步方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,响应于获取指令,从预设路径下获取预设指令集,其中,所述预设指令集中的默认指令至少包括以下之一:环境配置工具的环境配置指令,处理器固件更新工具的固件更新指令;
步骤S204,向目标对象发送第一提示信息之后,获取所述目标对象基于所述第一提示信息输入的控制指令;
步骤S206,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器。
通过上述步骤,实现将所需的工具的指令全部封装起来,得到预设指令集,随后根据获取指令从预设指令集中获取包括环境配置工具的环境配置指令,处理器固件更新工具的固件更新指令的默认指令,如果接收到目标对象输入的控制指令,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器,本申请通过预先封装所需工具的代码,可以集成所需工具的所有功能,从而在OS下修改BIOS配置数据时,使用所需工具的代码将BIOS配置数据实时同步给BMC,因此,可以解决面向Ampere平台,无法将修改的BIOS配置数据实时同步给BMC的技术问题,达到将修改的BIOS配置数据实时同步给BMC的目的。
可选的,上述步骤的执行主体可以为服务器、终端等,但不限于此。
需要说明的是,在执行上述步骤S202之前,还需要预先生成预设指令集,具体是由人工事先将环境配置工具和处理器固件更新工具所支持的功能指令都封装到一起来生成预设指令集(例如封装至如图3所示的软件工具)。可选的,对于封装过程,可以理解为将这两个工具的功能指令都集成到一个软件开发工具包需要调用的库内,然后通过库的路径(即预设路径)调用这些功能指令。
在本实施例中,如图3所示,集成有环境配置工具和处理器固件更新工具所支持的功能指令的软件工具运行在OS(Operating system,操作系统)上,可以分别与BIOS,BMC进行交互,其中,软件工具与BIOS交互实现固件更新或BIOS配置更新,软件工具与BMC之间可以同步IPMI等协议使得OS与BMC之间可以协同工作。
可选的,在一个示例性实施例中,对于上述步骤S206中基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器的实现过程,具体包括如下步骤:步骤S11,对所述控制指令的执行参数和所述默认指令的执行参数进行比较,得到所述控制指令和所述默认指令的比较结果;步骤S12,在确定所述控制指令和所述默认指令的比较结果用于指示所述控制指令合法的情况下,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器。
可选的,在一个示例性实施例中,在上述步骤S206中,还包括:步骤S13,在确定所述控制指令和所述默认指令的比较结果用于指示所述控制指令不合法的情况下,停止执行所述控制指令;步骤S14,向所述目标对象发送第二提示信息,其中,所述第二提示信息用于提示所述目标对象所述控制指令不合法,以及提示所述目标对象输入新的控制指令。
可选的,步骤S11至步骤S12的执行顺序,步骤S13至步骤S14的执行顺序是可以互换的,即可以先执行步骤S13至步骤S14,然后再执行S11至步骤S12,本申请对此不作限制。
可选的,在一个示例性实施例中,针对上述步骤S11中对所述控制指令的执行参数和所述默认指令的执行参数进行比较,得到所述控制指令和所述默认指令的比较结果的技术方案,可以进一步包括以下步骤:步骤S21,对所述控制指令进行顺次解析,得到所述控制指令中的所有执行参数,其中,所述所有执行参数至少包括:第一执行参数,第二执行参数和第三执行参数,所述第一执行参数最先解析得到的执行参数,所述第二执行参数为所述第一执行参数之后解析得到的执行参数,所述第三执行参数为所述第二执行参数之后解析得到的执行参数;步骤S22,在确定所述第一执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型属于预设参数类型,则确定所述比较结果用于指示所述控制指令合法;其中,所述预设参数类型为所述默认指令的首个执行参数的参数类型,所述预设参数类型至少包括以下之一:所述环境配置指令的参数类型,所述固件更新指令的参数类型。
可选地,上述第一执行参数,第二执行参数和第三执行参数可以为相邻的参数,也可以不相邻,本申请对此不作限制。
可选的,在一个示例性实施例中,在对所述控制指令进行顺次解析,得到所述控制指令中的所有执行参数之后,进一步提出了以下技术方案:在确定所述第一执行参数为空值的情况下,确定所述比较结果用于指示所述控制指令不合法,停止执行所述控制指令;和/或,在确定所述第一执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型不属于预设参数类型,则确定所述比较结果用于指示所述控制指令不合法,停止执行所述控制指令。
可选的,在一个示例性实施例中,进一步提出了基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器的实现步骤,具体包括:步骤S31,在确定所述默认指令包括环境配置指令的情况下,对所述第二执行参数和第一预设参数进行比较;其中,所述第一预设参数表示所述环境配置指令的非首个执行参数;步骤S32,如果确定所述比较的结果用于指示所述第二执行参数与第一预设参数一致,则从配置数据库内获取所述控制指令指示同步的主板配置文件,并将所述主板配置文件确定为所述控制指令对应的配置数据,将所述配置数据发送至所述基板管理控制器;步骤S33,在确定所述环境配置指令的首个执行参数用于指示导出所述配置数据的情况下,基于所述配置数据生成通知消息,并将所述通知消息发送至所述目标对象。
可选的,在一个示例性实施例中,在基于所述配置数据生成通知消息,并将所述通知消息发送至所述目标对象之后,还可以在接收到所述目标对象发送的修改指令的情况下,解析所述修改指令,得到修改后的配置数据;根据所述目标对象输入的导入数据将所述修改后的配置数据导入至所述配置数据库;在确定所述导入至所述配置数据库的导入结果为导入成功的情况下,将所述修改后的配置数据同步至所述基板管理控制器;在确定所述导入至所述配置数据库的导入结果为导入失败的情况下,向所述目标对象发送第三提示信息,其中,所述第三提示信息用于提示所述目标对象所述导入结果为导入失败,以及提示所述目标对象输入新的控制指令;其中,所述根据所述目标对象输入的导入数据将所述修改后的配置数据导入至所述配置数据库,包括:对所述目标对象输入的导入指令进行解析,得到所述导入指令中的首个执行参数和所述导入指令中的非首个执行参数,其中,所述导入指令中的非首个执行参数为所述导入指令中的首个执行参数之后解析得到的执行参数;在确定所述导入指令中的首个执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型与环境配置指令的参数类型一致,确定所述导入指令合法;对所述导入指令中的非首个执行参数和所述第一预设参数进行比较;如果确定所述比较的结果用于指示所述第二执行参数与第一预设参数一致,则将所述修改后的配置数据导入至所述配置数据库。
可选的,在一个实施例中,还可以从所述修改后的配置数据中获取用于表示系统错误级别的第一级别以及用于表示系统安全模式的第一模式;在确定所述第一级别与备份数据中的用于表示系统错误级别的第二级别一致,且确定所述第一模式与备份数据中的用于表示系统安全模式的第二模式任一项不成立的情况下,将所述修改后的配置数据同步至所述基板管理控制器;其中,所述备份数据是通过对导出的配置数据进行备份得到的。
可选的,在一个实施例中,在确定所述第一级别与备份数据中的用于表示系统错误级别的第二级别一致,且确定所述第一模式与备份数据中的用于表示系统安全模式的第二模式一致均成立的情况下,将所述备份数据同步至所述基板管理控制器。
其中,需要说明的是,对于上述第一级别和第二级别的比较过程,可以通过不同级别的标志值来比较,例如级别对应的标志值可以包含00,01,若第一级别和第二级别的标志值均为00,则表示第一级别和第二级别一致。对于第一模式和第二模式的比较过程可以参照第一级别,第二级别的比较过程,本申请不再赘述。
可选的,在一个示例性实施例中,进一步提出了将所述修改后的配置数据同步至所述基板管理控制器的具体实现过程,包括:从所述修改后的配置数据中获取用于表示系统错误级别的第一级别;在确定所述第一级别与备份数据中的用于表示系统错误级别的第二级别不一致的情况下,将所述修改后的配置数据同步至所述基板管理控制器;其中,所述备份数据是通过对导出的配置数据进行备份得到的;和/或,从所述修改后的配置数据中获取用于表示系统安全模式的第一模式;在确定所述第一模式与备份数据中的用于表示系统安全模式第二模式不一致的情况下,将所述备份数据同步至所述基板管理控制器。
可选的,在一个示例性实施例中,对于将所述修改后的配置数据导入至所述配置数据库的实现过程,具体包括:对所述第三执行参数和第二预设参数进行比较;其中,所述第二预设参数表示所述环境配置指令的非首个执行参数,且所述第二预设参数的参数顺序晚于所述第一预设参数;如果确定所述比较的结果用于指示所述第三执行参数与所述第二预设参数一致,则将所述修改后的配置数据导入至所述配置数据库。
可选的,如果确定所述比较的结果用于指示所述第三执行参数与所述第二预设参数不一致,则不将所述修改后的配置数据导入至所述配置数据库,即不对所述配置数据库进行更新。
可选的,在一个示例性实施例中,步骤S11中除了包括步骤S21至步骤S23之外,还可以实现以下技术方案:步骤S41,在确定所述默认指令包括固件更新指令的情况下,对所述第二执行参数和第三预设参数进行比较;其中,所述第三预设参数表示所述固件更新指令的非首个执行参数;步骤S42,如果确定所述比较的结果用于指示所述第二执行参数与第三预设参数一致,则从配置数据库内获取所述控制指令指示更新的固件配置文件,并将所述固件配置文件确定为所述控制指令对应的配置数据,将所述配置数据发送至所述基板管理控制器;步骤S43,在确定所述固件更新指令的首个执行参数用于指示更新所述配置数据的情况下,根据所述固件更新指令对所述基板管理控制器的固件进行更新。
可选的,在一个示例性实施例中,对于步骤S43中根据所述固件更新指令对所述基板管理控制器的固件进行更新的过程,可以包括以下实现步骤:对所述第三执行参数和第四预设参数进行比较;其中,所述第四预设参数表示所述环境配置指令的非首个执行参数,且所述第四预设参数的参数顺序晚于所述第三预设参数;如果确定所述比较的结果用于指示所述第三执行参数与所述第四预设参数一致,根据所述固件更新指令对所述基板管理控制器的固件进行更新。
可选的,在一个示例性实施例中,还提出了其他根据所述固件更新指令对所述基板管理控制器的固件进行更新的方案,具体包括:根据所述目标对象的备份操作对所述基板管理控制器进行数据备份;在对所述基板管理控制器进行数据备份之后,确定出所述固件更新指令所指示的所述基板管理控制器中的待更新部件;通过调用所述处理器固件更新工具,以使所述处理器固件更新工具使用所述配置数据对所述待更新部件进行更新。
可选的,在一个示例性实施例中,进一步提出了一种根据所述固件更新指令对所述基本输入输出系统的固件进行更新的技术方案,具体包括:根据所述第一执行参数中的参数值确定出所述第一执行参数对应的固件文件格式;在确定所述固件文件格式为二进制映像文件的情况下,如果确定所述基本输入输出系统已经连接上驱动硬盘,则通过控制所述驱动硬盘使用所述固件配置文件对所述基本输入输出系统的固件进行更新;其中,所述驱动硬盘存储有所述固件配置文件。
通过本实施例,在固件文件格式为二进制映像文件时,可以直接对基本输入输出系统的固件进行整体更新,提高了固件更新效率。
可选的,在一个示例性实施例中,还提出了其他根据所述固件更新指令对所述基本输入输出系统的固件进行更新的实现方法,具体步骤包括:根据所述第一执行参数中的参数值确定出所述第一执行参数对应的固件文件格式;在确定所述固件文件格式为统一的可扩展固件接口标准的固件更新文件格式的情况下,确定出所述目标对象在可视化界面所选择的更新方式;在确定所述更新方式为全局更新的情况下,根据所述固件更新指令对所述基本输入输出系统的所有固件进行更新;在确定所述更新方式为部分更新的情况下,从所述固件更新指令中确定出所述基本输入输出系统的待更新的目标固件,并对所述目标固件进行更新;在确定所述基本输入输出系统的固件更新完成之后,对所述基本输入输出系统进行重启,以使更新生效。
通过本实施例,针对统一的可扩展固件接口标准的固件更新文件格式的固件文件,除了可以实现整体更新,还可以针对个别部件进行单独更新,可以适用于不同更新需求,进一步提高了固件更新的可靠性。
可选的,在一个实施例中,如图4所示,还可以从功能角度来分析BIOS配置数据的同步过程,即,提出用于实现指令处理的指令处理层,用于实现不同工具的指令的调用的工具调用层,以及对配置数据进行存储的数据存储层(可以理解为上述配置数据库)。在指令处理层中,基于“指令指示模块”向用户发送提示信息,在接收到用户输入的控制指令后,基于“指令解析模块”对控制指令进行解析,得到不同执行参数,然后基于“指令传递模块”将执行参数发送至工具调用层。在工具调用层提供了可以调用的SCE工具,AFU工具,以及IPMI工具,以便根据执行参数调用相应的工具实现功能。工具执行功能时修改的数据可以同步存储至数据存储层内,数据存储层内存储有原始配置数据和修改后的配置数据。
可选的,在一个实施例中,结合图5所提供的方案对BIOS配置数据的同步方法进行进一步说明,如图5所示,具体步骤如下:
需要说明的是,还需进行准备工作,即先汇总SCE工具及AFU工具所支持的功能指令(即上述默认指令)。
例如SCE工具支持的以下指令(可以理解为上述环境配置指令):
(1)导出BIOS配置文件到xx.txt文件:SCE /o /s xx.txt;
(2)导入BIOS配置文件xx.txt:SCE /i /s xx.txt。
以及AFU工具支持的以下指令(可以理解为上述固件更新指令):
(1)保存配置更新BIOS固件(CAP格式):AFU xx.CAP /capsule;
(2)不保存配置更新BIOS固件(CAP格式):AFU xx.CAP /capsule /n;
(3)保存更新BIOS固件(IMG格式):AFU xx.IMG /fullfw;
(4)不保存更新BIOS固件(IMG格式):AFU xx.IMG /fullfw /n。
其中,BIOS固件的IMG格式和CAP格式是两种常见的固件文件格式,用于固件更新和升级,具体的:
1. IMG格式(Image格式):IMG格式是一种常见的固件文件格式,它是一种完整的二进制映像文件,包含了整个固件的数据。IMG格式的固件文件可以直接在BIOS中进行更新,通常通过USB驱动器或光盘进行安装。IMG格式的固件文件可以包含多个组件,如BIOS代码、驱动程序和其他配置文件。
2. CAP格式(Capsule格式):CAP格式是一种采用UEFI(统一的可扩展固件接口)标准的固件更新文件格式。CAP格式的文件是一种封装格式,它将BIOS固件分成多个部分,并提供了校验和验证功能。CAP格式的固件文件可以通过UEFI固件更新工具进行安装,通常通过操作系统或UEFI界面进行更新。CAP格式的固件文件可以有更高的安全性,允许固件的部分更新,而不是整个固件的更新。
总的来说,IMG格式是一种传统的固件文件格式,可直接在BIOS中进行更新,而CAP格式是一种基于UEFI标准的固件更新文件格式,具有更高的安全性和更灵活的更新方式。
步骤S401,运行如图3所示软件工具,如果用户输入-h指令,向用户发送BiosFirmware Update及Bios Configuration Management的提示,Bios Firmware Update表示AFU工具所支持的指令提示,Bios Configuration Management表示SCE工具所支持的指令提示;
步骤S402,用户根据提示输入指令A;
步骤S403,软件工具判断A指令是否合法,若不合法则执行步骤S404,若合法,则执行步骤S405;
步骤S404,提示指令无效,并退出程序;
步骤S405,在用户根据提示输入正确指令B后,截取B指令第2个参数得到Str1(/s或/capsule或/fullfw);
步骤S406,解析Str1,若Str1为/s,则执行步骤S412,若Str1为/fullfw,则执行步骤S407,若Str1为/capsule则执行步骤S408;
步骤S407,Str1为/fullfw,则表示用户要进行BIOS固件更新,执行步骤S409;
步骤S408,Str1为/capsule,则表示用户要进行BIOS固件更新,执行步骤S409;
步骤S409,调用AFU工具并传入参数进行BIOS固件更新;
步骤S410,判断是否更新成功,若更新失败,则执行步骤S411,若更新成功,则执行步骤S412;
步骤S411,输出更新失败的提示;
步骤S412,直接退出;
步骤S413,Str1为/s,表示用户要进行BIOS配置的导出操作或修改操作,则执行步骤S414;
步骤S414,导出/修改IOS配置文件;
步骤S415,调用SCE工具,并传入B指令中用于实现导出的执行参数;
步骤S416,导出BIOS配置文件,得到BIOS_1.txt文件(即图中的Mod.txt),并备份得到BIOS_1_Orn.txt(即图中的Orn.txt);
本步骤中,若只执行导出,则导出配置文件后,直接退出,若要修改,则继续执行以下步骤。
步骤S417,用户修改BIOS_1.txt中的配置选项值;
步骤S418,在修改完成后,获取用户输入的BIOS配置指令C,截取判断配置指令C的参数用于实现修改后,调用SCE工具,将BIOS_1.txt文件导入配置。若导入失败,则根据提示检查指令并重新输入正确指令,若导入成功,则继续执行步骤S417;
步骤S419,解析BIOS_1_Orn.txt文件中的System Debug Level及Security Mode,的值得到SDL_0和SM_0;
步骤S420,解析修改后的BIOS_1.txt文件中的System Debug Level及SecurityMode,的值得到SDL_1和SM_1;
步骤S421,分别比较 SDL_1与SDL_0,以及比较SM_1与SM_0,若相同,则执行步骤S422,若SDL_1与SDL_0不一致,或SM_1与SM_0不一致,则执行步骤S423;
步骤S422,执行退出;
步骤S423,如果SDL_1与SDL_0不一致,则调用Ipmitool将System Debug Level值SDL1传递给BMC。如果SM_1与SM_0不一致,则调用Ipmitool将System Debug Level值SDL1传递给BMC,以达到实时同步的功能;继续执行步骤S422。
通过以上实施例,可以同时支持SCE工具和AFU工具的功能,在不修改BIOS代码的前提下,使用SCE工具和AFU工具将BIOS配置选项实时传递给BMC,实现BIOS与BMC的配置选项的实时同步,解决了Ampere平台在OS下无法通过BIOS同步配置选项的痛点,同时无需BIOS本身代码,减少了代码存在漏洞而引起安全问题的概率,且无需不改变工具的原有指令,降低了研发维护的难度,提高了测试的便利性,提高了客户的使用体验感。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种BIOS配置数据的同步装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的一种BIOS配置数据的同步装置的结构示意图,如图6所示,该装置包括:
第一获取模块52,用于响应于获取指令,从预设路径下获取预设指令集,其中,所述预设指令集中的默认指令至少包括以下之一:环境配置工具的环境配置指令,处理器固件更新工具的固件更新指令;
第二获取模块54,用于向目标对象发送第一提示信息之后,获取所述目标对象基于所述第一提示信息输入的控制指令;
数据同步模块56,用于基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器。
通过上述装置,实现将所需的工具的指令全部封装起来,得到预设指令集,随后根据获取指令从预设指令集中获取包括环境配置工具的环境配置指令,处理器固件更新工具的固件更新指令的默认指令,如果接收到目标对象输入的控制指令,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器,本申请通过预先封装所需工具的代码,可以集成所需工具的所有功能,从而在OS下修改BIOS配置数据时,使用所需工具的代码将BIOS配置数据实时同步给BMC,因此,可以解决面向Ampere平台,无法将修改的BIOS配置数据实时同步给BMC的技术问题,达到将修改的BIOS配置数据实时同步给BMC的目的。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于实现如下步骤:步骤S11,对所述控制指令的执行参数和所述默认指令的执行参数进行比较,得到所述控制指令和所述默认指令的比较结果;步骤S12,在确定所述控制指令和所述默认指令的比较结果用于指示所述控制指令合法的情况下,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于实现其他步骤:步骤S13,在确定所述控制指令和所述默认指令的比较结果用于指示所述控制指令不合法的情况下,停止执行所述控制指令;步骤S14,向所述目标对象发送第二提示信息,其中,所述第二提示信息用于提示所述目标对象所述控制指令不合法,以及提示所述目标对象输入新的控制指令。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于:对所述控制指令进行顺次解析,得到所述控制指令中的所有执行参数,其中,所述所有执行参数至少包括:第一执行参数,第二执行参数和第三执行参数,所述第一执行参数最先解析得到的执行参数,所述第二执行参数为所述第一执行参数之后解析得到的执行参数,所述第三执行参数为所述第二执行参数之后解析得到的执行参数;在确定所述第一执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型属于预设参数类型,则确定所述比较结果用于指示所述控制指令合法;其中,所述预设参数类型为所述默认指令的首个执行参数的参数类型,所述预设参数类型至少包括以下之一:所述环境配置指令的参数类型,所述固件更新指令的参数类型。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于实现以下技术方案:在确定所述第一执行参数为空值的情况下,确定所述比较结果用于指示所述控制指令不合法,停止执行所述控制指令;和/或,在确定所述第一执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型不属于预设参数类型,则确定所述比较结果用于指示所述控制指令不合法,停止执行所述控制指令。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于:在确定所述默认指令包括环境配置指令的情况下,对所述第二执行参数和第一预设参数进行比较;其中,所述第一预设参数表示所述环境配置指令的非首个执行参数;如果确定所述比较的结果用于指示所述第二执行参数与第一预设参数一致,则从配置数据库内获取所述控制指令指示同步的主板配置文件,并将所述主板配置文件确定为所述控制指令对应的配置数据,将所述配置数据发送至所述基板管理控制器;在确定所述环境配置指令的首个执行参数用于指示导出所述配置数据的情况下,基于所述配置数据生成通知消息,并将所述通知消息发送至所述目标对象。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于:在基于所述配置数据生成通知消息,并将所述通知消息发送至所述目标对象之后,在接收到所述目标对象发送的修改指令的情况下,解析所述修改指令,得到修改后的配置数据;根据所述目标对象输入的导入数据将所述修改后的配置数据导入至所述配置数据库;在确定所述导入至所述配置数据库的导入结果为导入成功的情况下,将所述修改后的配置数据同步至所述基板管理控制器;在确定所述导入至所述配置数据库的导入结果为导入失败的情况下,向所述目标对象发送第三提示信息,其中,所述第三提示信息用于提示所述目标对象所述导入结果为导入失败,以及提示所述目标对象输入新的控制指令;其中,所述根据所述目标对象输入的导入数据将所述修改后的配置数据导入至所述配置数据库,包括:对所述目标对象输入的导入指令进行解析,得到所述导入指令中的首个执行参数和所述导入指令中的非首个执行参数,其中,所述导入指令中的非首个执行参数为所述导入指令中的首个执行参数之后解析得到的执行参数;在确定所述导入指令中的首个执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型与环境配置指令的参数类型一致,确定所述导入指令合法;对所述导入指令中的非首个执行参数和所述第一预设参数进行比较;如果确定所述比较的结果用于指示所述第二执行参数与第一预设参数一致,则将所述修改后的配置数据导入至所述配置数据库。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于:从所述修改后的配置数据中获取用于表示系统错误级别的第一级别以及用于表示系统安全模式的第一模式;在确定所述第一级别与备份数据中的用于表示系统错误级别的第二级别一致,且确定所述第一模式与备份数据中的用于表示系统安全模式的第二模式任一项不成立的情况下,将所述修改后的配置数据同步至所述基板管理控制器;其中,所述备份数据是通过对导出的配置数据进行备份得到的。
可选的,在一个实施例中,上述数据同步模块56,还用于:在确定所述第一级别与备份数据中的用于表示系统错误级别的第二级别一致,且确定所述第一模式与备份数据中的用于表示系统安全模式的第二模式一致均成立的情况下,将所述备份数据同步至所述基板管理控制器。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于:从所述修改后的配置数据中获取用于表示系统错误级别的第一级别;在确定所述第一级别与备份数据中的用于表示系统错误级别的第二级别不一致的情况下,将所述修改后的配置数据同步至所述基板管理控制器;其中,所述备份数据是通过对导出的配置数据进行备份得到的;和/或,从所述修改后的配置数据中获取用于表示系统安全模式的第一模式;在确定所述第一模式与备份数据中的用于表示系统安全模式第二模式不一致的情况下,将所述备份数据同步至所述基板管理控制器。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于:对所述第三执行参数和第二预设参数进行比较;其中,所述第二预设参数表示所述环境配置指令的非首个执行参数,且所述第二预设参数的参数顺序晚于所述第一预设参数;如果确定所述比较的结果用于指示所述第三执行参数与所述第二预设参数一致,则将所述修改后的配置数据导入至所述配置数据库。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于实现以下技术方案:步骤S41,在确定所述默认指令包括固件更新指令的情况下,对所述第二执行参数和第三预设参数进行比较;其中,所述第三预设参数表示所述固件更新指令的非首个执行参数;步骤S42,如果确定所述比较的结果用于指示所述第二执行参数与第三预设参数一致,则从配置数据库内获取所述控制指令指示更新的固件配置文件,并将所述固件配置文件确定为所述控制指令对应的配置数据,将所述配置数据发送至所述基板管理控制器;步骤S43,在确定所述固件更新指令的首个执行参数用于指示更新所述配置数据的情况下,根据所述固件更新指令对所述基板管理控制器的固件进行更新。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于实现以下步骤:对所述第三执行参数和第四预设参数进行比较;其中,所述第四预设参数表示所述环境配置指令的非首个执行参数,且所述第四预设参数的参数顺序晚于所述第三预设参数;如果确定所述比较的结果用于指示所述第三执行参数与所述第四预设参数一致,根据所述固件更新指令对所述基板管理控制器的固件进行更新。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于:根据所述目标对象的备份操作对所述基板管理控制器进行数据备份;在对所述基板管理控制器进行数据备份之后,确定出所述固件更新指令所指示的所述基板管理控制器中的待更新部件;通过调用所述处理器固件更新工具,以使所述处理器固件更新工具使用所述配置数据对所述待更新部件进行更新。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于:根据所述第一执行参数中的参数值确定出所述第一执行参数对应的固件文件格式;在确定所述固件文件格式为二进制映像文件的情况下,如果确定所述基本输入输出系统已经连接上驱动硬盘,则通过控制所述驱动硬盘使用所述固件配置文件对所述基本输入输出系统的固件进行更新;其中,所述驱动硬盘存储有所述固件配置文件。
可选的,在一个示例性实施例中,上述数据同步模块56,还用于:根据所述第一执行参数中的参数值确定出所述第一执行参数对应的固件文件格式;在确定所述固件文件格式为统一的可扩展固件接口标准的固件更新文件格式的情况下,确定出所述目标对象在可视化界面所选择的更新方式;在确定所述更新方式为全局更新的情况下,根据所述固件更新指令对所述基本输入输出系统的所有固件进行更新;在确定所述更新方式为部分更新的情况下,从所述固件更新指令中确定出所述基本输入输出系统的待更新的目标固件,并对所述目标固件进行更新;在确定所述基本输入输出系统的固件更新完成之后,对所述基本输入输出系统进行重启,以使更新生效。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种BIOS配置数据的同步方法,其特征在于,
包括:
响应于获取指令,从预设路径下获取预设指令集,其中,所述预设指令集中的默认指令至少包括以下之一:环境配置工具的环境配置指令,处理器固件更新工具的固件更新指令;
向目标对象发送第一提示信息之后,获取所述目标对象基于所述第一提示信息输入的控制指令;
基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器;
基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器,包括:
对所述控制指令的执行参数和所述默认指令的执行参数进行比较,得到所述控制指令和所述默认指令的比较结果;
在确定所述控制指令和所述默认指令的比较结果用于指示所述控制指令合法的情况下,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器;
对所述控制指令的执行参数和所述默认指令的执行参数进行比较,得到所述控制指令和所述默认指令的比较结果,包括:
对所述控制指令进行顺次解析,得到所述控制指令中的所有执行参数,其中,所述所有执行参数至少包括:第一执行参数,第二执行参数和第三执行参数,所述第一执行参数最先解析得到的执行参数,所述第二执行参数为所述第一执行参数之后解析得到的执行参数,所述第三执行参数为所述第二执行参数之后解析得到的执行参数;
在确定所述第一执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型属于预设参数类型,则确定所述比较结果用于指示所述控制指令合法;其中,所述预设参数类型为所述默认指令的首个执行参数的参数类型,所述预设参数类型至少包括以下之一:所述环境配置指令的参数类型,所述固件更新指令的参数类型;
在对所述控制指令进行顺次解析,得到所述控制指令中的所有执行参数之后,所述方法还包括:
在确定所述第一执行参数为空值的情况下,确定所述比较结果用于指示所述控制指令不合法,停止执行所述控制指令;
和/或,在确定所述第一执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型不属于预设参数类型,则确定所述比较结果用于指示所述控制指令不合法,停止执行所述控制指令;
基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器,包括:
在确定所述默认指令包括环境配置指令的情况下,对所述第二执行参数和第一预设参数进行比较;其中,所述第一预设参数表示所述环境配置指令的非首个执行参数;
如果确定所述比较的结果用于指示所述第二执行参数与第一预设参数一致,则从配置数据库内获取所述控制指令指示同步的主板配置文件,并将所述主板配置文件确定为所述控制指令对应的配置数据,将所述配置数据发送至所述基板管理控制器;
在确定所述环境配置指令的首个执行参数用于指示导出所述配置数据的情况下,基于所述配置数据生成通知消息,并将所述通知消息发送至所述目标对象。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
在确定所述控制指令和所述默认指令的比较结果用于指示所述控制指令不合法的情况下,停止执行所述控制指令;
向所述目标对象发送第二提示信息,其中,所述第二提示信息用于提示所述目标对象所述控制指令不合法,以及提示所述目标对象输入新的控制指令。
3.根据权利要求1所述的方法,其特征在于,
在基于所述配置数据生成通知消息,并将所述通知消息发送至所述目标对象之后,所述方法还包括:
在接收到所述目标对象发送的修改指令的情况下,解析所述修改指令,得到修改后的配置数据;
根据所述目标对象输入的导入数据将所述修改后的配置数据导入至所述配置数据库;
在确定所述导入至所述配置数据库的导入结果为导入成功的情况下,将所述修改后的配置数据同步至所述基板管理控制器;
在确定所述导入至所述配置数据库的导入结果为导入失败的情况下,向所述目标对象发送第三提示信息,其中,所述第三提示信息用于提示所述目标对象所述导入结果为导入失败,以及提示所述目标对象输入新的控制指令;
其中,所述根据所述目标对象输入的导入数据将所述修改后的配置数据导入至所述配置数据库,包括:
对所述目标对象输入的导入指令进行解析,得到所述导入指令中的首个执行参数和所述导入指令中的非首个执行参数,其中,所述导入指令中的非首个执行参数为所述导入指令中的首个执行参数之后解析得到的执行参数;
在确定所述导入指令中的首个执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型与环境配置指令的参数类型一致,确定所述导入指令合法;
对所述导入指令中的非首个执行参数和所述第一预设参数进行比较;
如果确定所述比较的结果用于指示所述第二执行参数与第一预设参数一致,则将所述修改后的配置数据导入至所述配置数据库。
4.根据权利要求3所述的方法,其特征在于,
将所述修改后的配置数据同步至所述基板管理控制器,包括:
从所述修改后的配置数据中获取用于表示系统错误级别的第一级别;
在确定所述第一级别与备份数据中的用于表示系统错误级别的第二级别不一致的情况下,将所述修改后的配置数据同步至所述基板管理控制器;其中,所述备份数据是通过对导出的配置数据进行备份得到的;
和/或,从所述修改后的配置数据中获取用于表示系统安全模式的第一模式;在确定所述第一模式与备份数据中的用于表示系统安全模式第二模式不一致的情况下,将所述备份数据同步至所述基板管理控制器。
5.根据权利要求3所述的方法,其特征在于,
将所述修改后的配置数据导入至所述配置数据库,包括:
对所述第三执行参数和第二预设参数进行比较;其中,所述第二预设参数表示所述环境配置指令的非首个执行参数,且所述第二预设参数的参数顺序晚于所述第一预设参数;
如果确定所述比较的结果用于指示所述第三执行参数与所述第二预设参数一致,则将所述修改后的配置数据导入至所述配置数据库。
6.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
在确定所述默认指令包括固件更新指令的情况下,对所述第二执行参数和第三预设参数进行比较;其中,所述第三预设参数表示所述固件更新指令的非首个执行参数;
如果确定所述比较的结果用于指示所述第二执行参数与第三预设参数一致,则从配置数据库内获取所述控制指令指示更新的固件配置文件,并将所述固件配置文件确定为所述控制指令对应的配置数据,将所述配置数据发送至所述基板管理控制器;
在确定所述固件更新指令的首个执行参数用于指示更新所述配置数据的情况下,根据所述固件更新指令对所述基板管理控制器的固件进行更新。
7.根据权利要求6所述的方法,其特征在于,
根据所述固件更新指令对所述基板管理控制器的固件进行更新,包括:
对所述第三执行参数和第四预设参数进行比较;其中,所述第四预设参数表示所述环境配置指令的非首个执行参数,且所述第四预设参数的参数顺序晚于所述第三预设参数;
如果确定所述比较的结果用于指示所述第三执行参数与所述第四预设参数一致,根据所述固件更新指令对所述基板管理控制器的固件进行更新。
8.根据权利要求6或7所述的方法,其特征在于,
根据所述固件更新指令对所述基板管理控制器的固件进行更新,包括:
根据所述目标对象的备份操作对所述基板管理控制器进行数据备份;
在对所述基板管理控制器进行数据备份之后,确定出所述固件更新指令所指示的所述基板管理控制器中的待更新部件;
通过调用所述处理器固件更新工具,以使所述处理器固件更新工具使用所述配置数据对所述待更新部件进行更新。
9.根据权利要求6所述的方法,其特征在于,
所述方法还包括:
根据所述固件更新指令对基本输入输出系统的固件进行更新,包括:
根据所述第一执行参数中的参数值确定出所述第一执行参数对应的固件文件格式;
在确定所述固件文件格式为二进制映像文件的情况下,如果确定所述基本输入输出系统已经连接上驱动硬盘,则通过控制所述驱动硬盘使用所述固件配置文件对所述基本输入输出系统的固件进行更新;其中,所述驱动硬盘存储有所述固件配置文件。
10.根据权利要求6所述的方法,其特征在于,
所述方法还包括:
根据所述固件更新指令对基本输入输出系统的固件进行更新,包括:
根据所述第一执行参数中的参数值确定出所述第一执行参数对应的固件文件格式;
在确定所述固件文件格式为统一的可扩展固件接口标准的固件更新文件格式的情况下,
确定出所述目标对象在可视化界面所选择的更新方式;
在确定所述更新方式为全局更新的情况下,根据所述固件更新指令对所述基本输入输出系统的所有固件进行更新;
在确定所述更新方式为部分更新的情况下,从所述固件更新指令中确定出所述基本输入输出系统的待更新的目标固件,并对所述目标固件进行更新;
在确定所述基本输入输出系统的固件更新完成之后,对所述基本输入输出系统进行重启,以使更新生效。
11.一种BIOS配置数据的同步装置,其特征在于,
包括:
第一获取模块,用于响应于获取指令,从预设路径下获取预设指令集,其中,所述预设指令集中的默认指令至少包括以下之一:环境配置工具的环境配置指令,处理器固件更新工具的固件更新指令;
第二获取模块,用于向目标对象发送第一提示信息之后,获取所述目标对象基于所述第一提示信息输入的控制指令;
数据同步模块,用于基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器
所述数据同步模块,还用于对所述控制指令的执行参数和所述默认指令的执行参数进行比较,得到所述控制指令和所述默认指令的比较结果;在确定所述控制指令和所述默认指令的比较结果用于指示所述控制指令合法的情况下,基于所述控制指令和所述默认指令的比较结果将所述控制指令所对应的配置数据同步至基板管理控制器;
所述数据同步模块,还用于对所述控制指令进行顺次解析,得到所述控制指令中的所有执行参数,其中,所述所有执行参数至少包括:第一执行参数,第二执行参数和第三执行参数,所述第一执行参数最先解析得到的执行参数,所述第二执行参数为所述第一执行参数之后解析得到的执行参数,所述第三执行参数为所述第二执行参数之后解析得到的执行参数;在确定所述第一执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型属于预设参数类型,则确定所述比较结果用于指示所述控制指令合法;其中,所述预设参数类型为所述默认指令的首个执行参数的参数类型,所述预设参数类型至少包括以下之一:所述环境配置指令的参数类型,所述固件更新指令的参数类型;
所述数据同步模块,还用于在确定所述第一执行参数为空值的情况下,确定所述比较结果用于指示所述控制指令不合法,停止执行所述控制指令;和/或,在确定所述第一执行参数不为空值的情况下,如果确定所述第一执行参数的参数类型不属于预设参数类型,则确定所述比较结果用于指示所述控制指令不合法,停止执行所述控制指令;
所述数据同步模块,还用于在确定所述默认指令包括环境配置指令的情况下,对所述第二执行参数和第一预设参数进行比较;其中,所述第一预设参数表示所述环境配置指令的非首个执行参数;如果确定所述比较的结果用于指示所述第二执行参数与第一预设参数一致,则从配置数据库内获取所述控制指令指示同步的主板配置文件,并将所述主板配置文件确定为所述控制指令对应的配置数据,将所述配置数据发送至所述基板管理控制器;在确定所述环境配置指令的首个执行参数用于指示导出所述配置数据的情况下,基于所述配置数据生成通知消息,并将所述通知消息发送至所述目标对象。
12.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至10任一项中所述的方法的步骤。
13.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现所述权利要求1至10任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311514240.9A CN117234606B (zh) | 2023-11-14 | 2023-11-14 | Bios配置数据的同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311514240.9A CN117234606B (zh) | 2023-11-14 | 2023-11-14 | Bios配置数据的同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117234606A CN117234606A (zh) | 2023-12-15 |
CN117234606B true CN117234606B (zh) | 2024-02-09 |
Family
ID=89084645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311514240.9A Active CN117234606B (zh) | 2023-11-14 | 2023-11-14 | Bios配置数据的同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234606B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527397A (zh) * | 2020-11-19 | 2021-03-19 | 宁畅信息产业(北京)有限公司 | 基本输入输出系统选项的修改方法、装置和计算机设备 |
CN115525349A (zh) * | 2022-09-29 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种bios界面同步bmc设置的方法、系统、设备、介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI685793B (zh) * | 2018-09-20 | 2020-02-21 | 神雲科技股份有限公司 | 同步方法 |
-
2023
- 2023-11-14 CN CN202311514240.9A patent/CN117234606B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527397A (zh) * | 2020-11-19 | 2021-03-19 | 宁畅信息产业(北京)有限公司 | 基本输入输出系统选项的修改方法、装置和计算机设备 |
CN115525349A (zh) * | 2022-09-29 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种bios界面同步bmc设置的方法、系统、设备、介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117234606A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996374B2 (en) | Deployment and installation of updates in a virtual environment | |
EP2831722B1 (en) | Method and system for verifying proper operation of a computing device after a system change | |
WO2019062635A1 (zh) | 升级方法和装置 | |
TWI533216B (zh) | 作業系統更新方法 | |
US10983877B1 (en) | Backup monitoring with automatic verification | |
US20200379742A1 (en) | Validation of configurations of factory installations | |
WO2021169124A1 (zh) | 安装软件包至目标主机的方法、装置和计算机设备 | |
US11379212B2 (en) | Systems and methods for disaggregating system firmware configuration data into a management subsystem for seamless updates | |
CN107844306B (zh) | 应用程序的修复方法、装置、存储介质及终端 | |
US10353729B1 (en) | Managing service dependencies across virtual machines in a development environment | |
CN108958785B (zh) | 一种应用程序升级方法及装置 | |
CN111708553A (zh) | 一种后台更新桌面镜像的终端及系统 | |
CN117234606B (zh) | Bios配置数据的同步方法及装置 | |
CN110399151A (zh) | 一种固件更新方法、装置、设备及介质 | |
US11640290B2 (en) | Pushing a firmware update patch to a computing device via an out-of-band path | |
WO2024113995A1 (zh) | 一种bmc异构升级方法、系统、设备及可读存储介质 | |
CN116915603A (zh) | Ota升级方法、装置及电子设备 | |
CN108595292B (zh) | 一种系统的优化方法、移动终端及计算机存储介质 | |
CN113900934A (zh) | 多镜像混合刷新测试方法、系统、终端及存储介质 | |
CN112035295A (zh) | 一种虚拟机崩溃事件处理方法、系统、终端及存储介质 | |
CN118445001B (zh) | 基于插件开发框架的异构系统集成方法、装置及设备 | |
CN117931649B (zh) | 一种操作系统死锁复位的测试方法及计算设备 | |
CN114610415B (zh) | 一种程序启动方法、系统、存储介质及电子设备 | |
CN117234544B (zh) | 服务器设备进行系统恢复的方法和装置 | |
TW201327139A (zh) | 節點置換處理方法與使用其之伺服器系統 |
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 |