CN115543460A - 服务器主板的初始化方法及装置 - Google Patents

服务器主板的初始化方法及装置 Download PDF

Info

Publication number
CN115543460A
CN115543460A CN202211214744.4A CN202211214744A CN115543460A CN 115543460 A CN115543460 A CN 115543460A CN 202211214744 A CN202211214744 A CN 202211214744A CN 115543460 A CN115543460 A CN 115543460A
Authority
CN
China
Prior art keywords
target
configuration file
server
mainboard
configuration
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
CN202211214744.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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211214744.4A priority Critical patent/CN115543460A/zh
Publication of CN115543460A publication Critical patent/CN115543460A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Abstract

本申请实施例提供了一种服务器主板的初始化方法及装置,其中,该方法包括:确定服务器系统上的目标服务器主板待初始化,其中,服务器系统上部署了多个服务器主板,多个服务器主板包括目标服务器主板;从具有对应关系的主板类型和主板配置文件中查找目标服务器主板所属于的目标主板类型对应的目标配置文件,其中,主板配置文件用于实现仅在属于主板类型的服务器主板上包括的初始化配置;根据目标配置文件和通用配置文件对目标服务器主板进行初始化。通过本申请,至少可以解决相关技术中存在的服务器主板的配置文件的配置效率较低等问题,达到提高服务器主板的配置文件的配置效率效率的效果。

Description

服务器主板的初始化方法及装置
技术领域
本申请实施例涉及服务器领域,具体而言,涉及一种服务器主板的初始化方法及装置。
背景技术
众所周知,服务器是整个网络系统和计算平台的核心,许多重要的数据都保存在服务器上,随着客户群体的功能需求,市面上的服务器的功能也就越来越多样化,通过对服务器内不同的服务器主板进行个性化的硬件设计,可以使得服务器能够满足客户的功能需求,比如不同的服务器主板为了突出其不同的功能特性,通过更改链路使之设计更加合理,从而实现服务器的功能。在这种情况下,为了适应服务器主板的个性化设计,对于实现服务器主板初始化的配置文件也需要个性化的设定,因此就需要为个性化设定的服务器主板发布一版新的配置文件来适配,从而保证服务器的启动和基本操作功能。这样就需要对每一款服务器主板都必须设计一版配置文件,这无疑增加了为服务器主板配置配置文件的工作量。
发明内容
本申请实施例提供了一种服务器主板的初始化方法及装置,以至少解决相关技术中服务器主板的配置文件的配置效率较低的问题。
根据本申请的一个实施例,提供了一种服务器主板的初始化方法,包括:确定服务器系统上的目标服务器主板待初始化,其中,所述服务器系统上部署了多个服务器主板,所述多个服务器主板包括所述目标服务器主板;从具有对应关系的主板类型和主板配置文件中查找所述目标服务器主板所属于的目标主板类型对应的目标配置文件,其中,所述主板配置文件用于实现仅在属于所述主板类型的服务器主板上包括的初始化配置;根据所述目标配置文件和通用配置文件对所述目标服务器主板进行初始化,其中,所述通用配置文件用于实现所述多个服务器主板上均包括的初始化配置。
可选的,所述从具有对应关系的主板类型和主板配置文件中查找所述目标服务器主板所属于的目标主板类型对应的目标配置文件,包括:确定所述目标服务器主板所属于的目标主板类型;从具有对应关系的主板类型和配置文件标识中查找所述目标主板类型对应的目标标识;从配置文件集合中调用携带了所述目标标识的配置文件作为所述目标配置文件。
可选的,所述确定所述目标服务器主板所属于的目标主板类型,包括:调用所述目标服务器主板的通用输入输出端口GPIO;读取所述GPIO输出的端口电平;将所述端口电平转换为目标字符串作为所述目标主板类型。
可选的,所述从具有对应关系的主板类型和配置文件标识中查找所述目标主板类型对应的目标标识,包括:从具有对应关系的字符串和移位值中获取所述目标字符串对应的目标移位值;对所述目标字符串进行与所述目标移位值匹配的移位运算,得到所述目标标识。
可选的,在所述从配置文件集合中调用携带了所述目标标识的配置文件作为所述目标配置文件之前,所述方法还包括:运行调取脚本APCB_DATA_BOARD_DIR_LIST_SDL引用所述配置文件集合。
可选的,所述根据所述目标配置文件和通用配置文件对所述目标服务器主板进行初始化,包括:根据所述目标配置文件对所述通用配置文件进行更新,得到参考配置文件,其中,所述参考配置文件用于实现所述目标服务器主板上包括的初始化配置;使用所述参考配置文件初始化所述目标服务器主板。
可选的,所述根据所述目标配置文件对所述通用配置文件进行更新,得到参考配置文件,包括:识别所述目标配置文件中携带的接口调取指令,其中,所述接口调取指令用于执行调取所述目标服务器主板上部署的目标硬件所对应的目标接口的操作;将所述接口调取指令和所述通用配置文件中存储的与所述目标硬件对应的初始化配置进行对应存储,得到所述参考配置文件。
可选的,所述识别所述目标配置文件中携带的接口调取指令,包括:从第一子文件中提取所述目标接口的通用调取代码,并从第二子文件中提取所述目标接口对应的注解信息,其中,所述目标配置文件包括所述第一子文件和所述第二子文件;将所述注解信息添加到所述通用调取代码的目标位置,得到所述接口调取指令。
可选的,所述根据所述目标配置文件对所述通用配置文件进行更新,得到参考配置文件,包括:提取所述目标配置文件中存储的目标硬件的目标配置信息,其中,所述目标配置信息用于指示所述目标硬件的初始化参数;将所述通用配置文件中存储的所述目标硬件的初始配置信息替换为所述目标配置信息,得到所述参考配置文件。
根据本申请的另一个实施例,提供了一种服务器主板的初始化装置,包括:确定模块,用于确定服务器系统上的目标服务器主板待初始化,其中,所述服务器系统上部署了多个服务器主板,所述多个服务器主板包括所述目标服务器主板;查找模块,用于从具有对应关系的主板类型和主板配置文件中查找所述目标服务器主板所属于的目标主板类型对应的目标配置文件,其中,所述主板配置文件用于实现仅在属于所述主板类型的服务器主板上包括的初始化配置;初始化模块,用于根据所述目标配置文件和通用配置文件对所述目标服务器主板进行初始化,其中,所述通用配置文件用于实现所述多个服务器主板上均包括的初始化配置。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,服务器系统上部署了多个服务器主板,通过配置用于实现多个服务器主板上均包括的初始化配置的通用配置文件,以及配置用于实现属于对应主板类型的服务器主板上包括的初始化配置的目标配置文件,从而在确定服务器系统上多个服务器主板中的目标服务器主板待初始化后,就能够通过目标主板类型查找到对应的目标配置文件,进而可以通过目标配置文件和通用配置文件对目标服务器主板的初始化,因此,在为服务器主板配置配置文件时,不需要对多个服务器主板上均包括的初始化配置的进行重复配置,只需要为每个主板类型的服务器主板配置仅属于该主板类型的服务器主板的初始化配置,减少了为服务器主板配置配置文件时的工作量,从而在保证对服务器主板初始化功能的前提下,提高了为服务器主板配置配置文件的配置效率,由于在配置的过程中工作量的减少了,从而减少了配置好的配置文件出现错误的概率,进而能够实现使用该配置文件能够避免出现对服务器主板进行初始化时初始化错位的现象,从而还可以保证使用配置文件对服务器主板进行初始化时的成功率,因此,至少可以解决相关技术中存在的服务器主板的配置文件的配置效率较低等问题,达到提高服务器主板的配置文件的配置效率效率的效果。
附图说明
图1是本申请实施例的一种服务器主板的初始化方法的移动终端的硬件结构框图;
图2是根据本申请实施例的服务器主板的初始化方法流程图;
图3是根据本申请实施例的一种可选的配置文件的配置流程图;
图4是根据本申请实施例的一种可选的配置文件集合示意图;
图5是根据本申请实施例的一种可选的服务器主板的初始化流程图;
图6是根据本申请实施例的服务器主板的初始化装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种服务器主板的初始化方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的服务器主板的初始化方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述服务器系统的服务器主板的初始化方法,图2是根据本申请实施例的服务器主板的初始化方法流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定服务器系统上的目标服务器主板待初始化,其中,所述服务器系统上部署了多个服务器主板,所述多个服务器主板包括所述目标服务器主板;
步骤S204,从具有对应关系的主板类型和主板配置文件中查找所述目标服务器主板所属于的目标主板类型对应的目标配置文件,其中,所述主板配置文件用于实现仅在属于所述主板类型的服务器主板上包括的初始化配置;
步骤S206,根据所述目标配置文件和通用配置文件对所述目标服务器主板进行初始化,其中,所述通用配置文件用于实现所述多个服务器主板上均包括的初始化配置。
服务器系统上部署了多个服务器主板,通过配置用于实现多个服务器主板上均包括的初始化配置的通用配置文件,以及配置用于实现属于对应主板类型的服务器主板上包括的初始化配置的目标配置文件,从而在确定服务器系统上多个服务器主板中的目标服务器主板待初始化后,就能够通过目标主板类型查找到对应的目标配置文件,进而可以通过目标配置文件和通用配置文件对目标服务器主板的初始化,因此,在为服务器主板配置配置文件时,不需要对多个服务器主板上均包括的初始化配置的进行重复配置,只需要为每个主板类型的服务器主板配置仅属于该主板类型的服务器主板的初始化配置,减少了为服务器主板配置配置文件时的工作量,从而在保证对服务器主板初始化功能的前提下,提高了为服务器主板配置配置文件的配置效率,由于在配置的过程中工作量的减少了,从而减少了配置好的配置文件出现错误的概率,进而能够实现使用该配置文件能够避免出现对服务器主板进行初始化时初始化错位的现象,从而还可以保证使用配置文件对服务器主板进行初始化时的成功率,因此,至少可以解决相关技术中存在的服务器主板的配置文件的配置效率较低等问题,达到提高服务器主板的配置文件的配置效率效率的效果。
其中,上述步骤的执行主体可以为服务器系统上的处理器(该处理器用于控制服务器系统上部署的多个服务器主板进行初始化),每个服务器主板上的处理器(该处理器用于控制当前服务器主板进行初始化)等,但不限于此。
步骤S202和步骤S204的执行顺序是可以互换的,即可以先执行步骤S204,然后再执行S202。
在上述步骤S202提供的技术方案中,目标服务器主板可以是根据服务器系统中配置的服务器主板的初始化状态确定的,比如,设置多个服务器主板中的各个服务器主板的初始化时序,进而根据该初始化时序确定出待初始化的目标服务器主板。
可选地,在本实施例中,目标服务器主板还可以是根据服务器主板的上电信息确定的,比如,在接收到服务器主板的上电信息后,将该服务器主板确定为目标服务器主板。
可选地,在本实施例中,初始化可以是对服务器主板执行启动操作,或者还可以是对服务器主板赋予工作的初始值。
在上述步骤S204提供的技术方案中,主板类型可以是根据服务器主板的上电信息确定的,比如,在服务主板上电时,服务器主板上的输入输出端口会产生对应的电平信号,从而根据各个端口的电平信号确定出服务器主板的主板类型;主板类型还可以是通过对服务器主板上部署的硬件信息确定,比如,不同类型的主板上面部署的硬件的种类是不同的,从而根据服务器主板上部署的硬件的确定出服务器主板的主板类型。
可选地,在本实施例中,初始化配置可以但不限于包括主板上部署的硬件进行初始化的初始化参数系统配置数据、开机后自检程序和系统自启动程序等等。
可选地,在本实施例中,配置文件可以但不限于是BIOS(Basic Input/OutputSystem,基本输入输出系统)文件、UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)文件。
在上述步骤S206提供的技术方案中,根据目标配置文件和通用配置文件对目标服务器主板进行初始化的方式可以是对目标服务器主板依次运行通用配置文件以及目标配置文件,还可以是使用目标配置文件对通用配置文件进行更新,从而得到更新后的参考配置文件,并运行参考配置文件,从而对目标服务器进行初始化,或者还可以是对目标配置文件和通用配置文件进行合并从而得到更新后的参考配置文件,并运行参考配置文件,从而对目标服务器进行初始化。比如,通用配置文件和目标配置中存储的初始化配置参数种类相同,但是配置参数取值不同,因此,通过使用目标配置文件对通用配置文件进行更新,或者,通用配置文件和目标配置中存储的初始化配置参数种类不同,因此可以对目标配置文件和通用配置文件进行合并。
上述方法可应用与对服务器系统中部署的多个服务器主板进行初始化操作,这些服务器主板可以是不同类型的服务器主板,但是不同主板的配置文件中,部分功能或者初始化配置是完全可以公用的,因此上述方法中通过将通用的初始化配置配置问通用配置文件,并根据每个服务器主板的特殊功能配置对应的目标配置文件,从而满足初始化需求。图3是根据本申请实施例的一种可选的配置文件的配置流程图,如图3所示,至少包括如下步骤:
S301,在服务器系统中定义common文件(该文件用于存储通用配置文件)以及CRB文件(该文件用于存储与每个业务主板的),其中,CRB文件的数量是与服务器系统上配置的服务器主板的主板了类型对应的,即每个服务器主板唯一对应一个CRB文件。
S302,通过对多个服务器主板进行初始化需要用到的初始化配置进行分析,从而找到仅属于该主板类型的初始化配置,比如BMC(Baseboard Management Controller,基板管理控制器)lane(通道、接口)分配的方法,仅属于该主板的初始化配置为如何调取BMClane,因此,根据该需求创建ApcbData_<SOC>_GID_0x3000_Type_Token<Class>.c文件,在该文件中存储提取目标接口(对应的lane)的通用调取代码。
S303,创建ApcbCustomizedBoardDefinitions.h文件,该文件中对BMC Lane进行不同的定义,即,bat文件中包括本文件夹中需要生效的.h和.c文件,.h文件中对BMC Lane进行不同的定义,.c中对.h中定义的BMC lane进行调用。
S304,创建SetApcbDataFileList.bat文件,该文件用于指示调取的配置文件的文件类型,将属于主板上的同一个应将的“.h”文件和“.c”文件都包括在内。
S305,将每组对应的“.bat”,“.c”“.h”文件添加到对应的CRB文件中。
S306,在为每个目标配置文件配置好CRB文件后,为了方便调取,需要为每个CRB文件配置目标标识,该目标标识用于在CRB文件调用时区分不同的服务器主板,该目标标识可以是对用于指示主板类型的目标字符串使用目标移位值进行移位处理后得到的,目标字符串是通过对上电的服务器主板上GPIO(General-purpose input/output,通用输入输出端口)端口的电平值进行识别得到的,由于主板了类型不同,上电时的GPIO端口上采集到的电平值也不同,从而得到目标字符串,并且通过目标移位值进行移位,使得目标字符串转换为服务器程序能够识别到的目标标识。
在上述实施例中,可以使用一版BIOS ROM,来为不同服务器主板进行初始化,一些common的功能可直接共用无需再耗费人力维护,开发的代码也会变得更具有阅读性。另外,一个发布版本也可使测试项目变得更简洁,减少测试部门对发布版本的测试项目,可以投入更多精力在bug测试验证上。
在上述实施例中,common文件存储在配置文件集合中,在对主板进行初始化时,可以从配置文件集合中提取目标配置文件和通用配置文件,图4是根据本申请实施例的一种可选的配置文件集合示意图,如图4所示,展示了配置文件集合的前端界面,,每个类型的服务器主板都对应着一个CRB文件,该CRB文件中又包括了不同类型的“.bat”,“.c”“.h”文件,每组对应的“.bat”,“.c”“.h”文件与主板上的一个硬件对应,用于实现该硬件的特殊初始化配置,同时,在该配置文件集合中还存储了common文件(通用配置文件),进而在未主板进行初始化时,可以从该配置文件集合中提取通用配置文件以及对应的目标配置文件。
作为一种可选的实施例,所述从具有对应关系的主板类型和主板配置文件中查找所述目标服务器主板所属于的目标主板类型对应的目标配置文件,包括:
确定所述目标服务器主板所属于的目标主板类型;
从具有对应关系的主板类型和配置文件标识中查找所述目标主板类型对应的目标标识;
从配置文件集合中调用携带了所述目标标识的配置文件作为所述目标配置文件。
可选地,在本实施例中,目标主板类型可以是根据目标服务器主板的上电信息确定的,或者还可以根据目标服务器主板上部署的硬件的硬件信息确定的,比如,不同类型的服务器主板上电时,服务器主板特定端口采集到的电平值是不同的,根据采集到的电平值,从而确定出对应的主板类型,或者,不同类型的服务器主板上配置的硬件是不同的,通过对服务器主板上配置的硬件的硬件信息进行识别,从而确定出服务器主板的主板类型。
可选地,在本实施例中,从具有对应关系的主板类型和配置文件中查找目标主板类型对应的目标标识的方式可以但不限于包括直接查找和间接查找的方式,比如,对应关系中可以存储了与目标主板类型唯一对应的目标标识,进而能够直接确定出与目标主板类型对应的目标标识,或者对应关系中还可以是用于指示主板类型的字符串(该字符串可以但不限于是根据服务器主板上电时,根据服务器主板上的端口的电平值确定的,由于不同主板类型的服务器主板在上电时的端口电平值不同,因此,根据端口的电平值确定的字符串能够指示该服务器主板的主板类型)与移位信息的对应关系,该移位信息用于对字符串进行移位运算,即将二进制的字符串的各数位进行左右移位的运算,从而将字符串转换为与服务器中程序能够识别到的信息,通过使用使用移位信息对字符串进行移位运算,从而得到目标标识。
通过以上步骤,通过建立主板类型和目标标识的对应关系,进而在确定了服务器主板的主板类型后,通过该对应关系找到目标标识,进而将携带有目标标识的配置文件作为目标配置文件,从而提高了配置文件提取的准确率。
作为一种可选的实施例,所述确定所述目标服务器主板所属于的目标主板类型,包括:
调用所述目标服务器主板的通用输入输出端口GPIO;
读取所述GPIO输出的端口电平;
将所述端口电平转换为目标字符串作为所述目标主板类型。
可选地,在本实施例中,服务器主板上配置有多个GPIO(General-purpose input/output,通用输入输出端口),在服务器上电时,不同主板类型的服务器主板上采集到的GPIO值是不同的,进而,根据该GPIO值能够确定到该服务器主板的主板类型。
可选地,在本实施例中,端口电平和字符值具有对应关系,不同的端口电平对应不同的字符值,进而能够通过字符串体现出服务器主板的主板类型,比如,当端口中有电平值时,对应字符“1”,当端口没有电平时,对应字符位“0”,从而能够得到“0”、“1”组成的字符串,从而通过该字符串可以准确的确定对应的主板类型。
通过以上步骤,由于不同服务器主板上配置的硬件不同,因此在主板进行上电时的端口电平也是不同的,进而根据端口电平转换后的字符串能够唯一指代一个主板类型的服务器主板,提高了确定服务器主板的主板类型的准确率。
作为一种可选的实施例,所述从具有对应关系的主板类型和配置文件标识中查找所述目标主板类型对应的目标标识,包括:
从具有对应关系的字符串和移位值中获取所述目标字符串对应的目标移位值;
对所述目标字符串进行与所述目标移位值匹配的移位运算,得到所述目标标识。
可选地,在本实施例中,移位运算用于将用于指示主板类型的目标字符串转换为目标格式的目标标识,该目标格式是与服务器系统的程序代码匹配的数据格式,进而该目标标识能够被服务器系统所识别到。
通过以上步骤,通过构建字符串和移位值的对应关系,在每次确定出指示主板类型的目标字符串后,都能够找到对应的目标移位值,进而使用目标移位值进行移位,从而将字符串转换为能够被服务器程序识别的目标标识。
作为一种可选的实施例,在所述从配置文件集合中调用携带了所述目标标识的配置文件作为所述目标配置文件之前,所述方法还包括:
运行调取脚本APCB_DATA_BOARD_DIR_LIST_SDL引用所述配置文件集合。
可选地,在本实施例中,配置文件集合中存储了通用配置文件以及与每个主板类型的服务器主板对应的目标配置文件。
可选地,在本实施例中,调取脚本APCB_DATA_BOARD_DIR_LIST_SDL的作用是为每个进行初始化操作的服务器主板从配置文件集合中调取通用配置文件以及目标配置文件,由于配置文件集合是为服务器系统上部署的多个服务器主板配置的,也就是说每个服务器主板都能够使用该配置文件集合,因此,通过调取脚本从而实现配置文件集合能够被服务器系统上的全部配置文件所调用。
通过以上步骤,由于服务器系统上配置了多个服务器主板,并且配置文件集合是为服务器系统上全部服务器主板配置的,因此,该配置文件集合可以但不限于存储在服务器系统中的一个公共位置,或者存储在服务器系统中的某一个服务器主板中,通过设置调取脚本,从而实现配置文件集合能够被每一个服务器主板所调用,从而对于通用配置文件,可以被每个服务器主板所调取,从而实现在服务器的前期部署阶段不需要为灭个服务器主板重复配置相同的内容,从而降低研发人员对服务器主板配置配置文件的工作量。
作为一种可选的实施例,所述根据所述目标配置文件和通用配置文件对所述目标服务器主板进行初始化,包括:
根据所述目标配置文件对所述通用配置文件进行更新,得到参考配置文件,其中,所述参考配置文件用于实现所述目标服务器主板上包括的初始化配置;
使用所述参考配置文件初始化所述目标服务器主板。
可选地,在本实施例中,对通用配置文件进行更新可以但不限于包括为修改通用配置文件中存储的配置内容,或者增加通用配置文件中的配置内容,比如,当目标配置文件中可以存储了通用配置文件中存储了目标类型的配置内容,若通用配置文件中不存在目标类型的配置内容时,就需要将目标配置文件中的配置内容添加到通用配置文件中,若通用配置文件中存在目标类型的配置内容,只是与目标配置文件中存储的配置内容的取值不同时,则可以使用目标配置文件中存储的配置内容覆盖通用配置文件中相应的配置内容或者对响应的配置内容进行更改,从而实现根据目标配置文件对通用配置文件进行更新。
通过上述步骤,在为每个服务器主板调取到通用配置文件和目标配置文件后,由于通用配置文件中存储的是每个服务器主板均包括的初始化配置,目标配置文件中存储的是该服务器主板特有的初始化配置,通过使用目标配置文件对通用配置文件进行更新,从而使得更新得到的参考配置文件再包括不同服务器主板的通用的初始化配置的前提下,还包括该服务器主板的特有的初始化配置,从而满足个性化设计的服务主板配置适配的配置文件的目的,实现在保证对服务器主板初始化的效率的前提下,简化配置流程,降低研发人员配置配置文件时的工作量。
作为一种可选的实施例,所述根据所述目标配置文件对所述通用配置文件进行更新,得到参考配置文件,包括:
识别所述目标配置文件中携带的接口调取指令,其中,所述接口调取指令用于执行调取所述目标服务器主板上部署的目标硬件所对应的目标接口的操作;
将所述接口调取指令和所述通用配置文件中存储的与所述目标硬件对应的初始化配置进行对应存储,得到所述参考配置文件。
可选地,在本实施例中,目标配置文件中可以是直接存储了接口调取指令,或者还可以是存储了用于生成接口调取指令的目标文件,通过识别目标配置文件中的目标文件,并根据目标文件生成响应的接口调取指令。
可选地,在本实施例中,目标硬件可以但不限于是用于实现该目标服务器主板的个性化设定功能的硬件,可以但不限于包括BMC(Baseboard Management Controller,基板管理控制器),显卡等等。
通过以上内容,由于服务器主板功能的个性化设定,因此可以通过对服务器主板上的部署的配置文件进行设计(更改配置文件的位置或者配置文件的类型),从而满足服务器主板的功能,因此不同类型的服务器主板上面的各个硬件的接口信息是不同的,通过为服务器主板配置接口调取指令存储在目标配置文件中,从而实现对服务器主板上硬件接口的准确调取,进而保证对服务器主板的初始化的准确性。
作为一种可选的实施例,所述识别所述目标配置文件中携带的接口调取指令,包括:
从第一子文件中提取所述目标接口的通用调取代码,并从第二子文件中提取所述目标接口对应的注解信息,其中,所述目标配置文件包括所述第一子文件和所述第二子文件;
将所述注解信息添加到所述通用调取代码的目标位置,得到所述接口调取指令。
可选地,在本实施例中,第一子文件可以是源文件,即文件扩展名为“.c”的配置文件,第二子文件可以是头文件,即文件扩展名为“.h”的配置文件,源文件用于存储实现目标功能的变量、数组、函数等等,头文件用于存储对源文件中存储的内容的声明信息。
通过上述实施例,通过设置第一子文件和第二子文件,并在第一子文件中存储了对目标接口的通用调取代码,并在第二子文件中存储对目标接口的注解信息,进而使得配置文件更加清晰简洁,不但可以避免配置配置文件是出错,还能够便于后期的代码维护。
作为一种可选的实施例,所述根据所述目标配置文件对所述通用配置文件进行更新,得到参考配置文件,包括:
提取所述目标配置文件中存储的目标硬件的目标配置信息,其中,所述目标配置信息用于指示所述目标硬件的初始化参数;
将所述通用配置文件中存储的所述目标硬件的初始配置信息替换为所述目标配置信息,得到所述参考配置文件。
可选地,在本实施例中,目标配置文件中可以但不限于存储的是目标配置信息或者还可以是存储的是用于生成目标配置信息的一个或者多个文件,根据该文件从而生成目标配置信息,比如,目标配置文件中存储了源文件(文件扩展名为“.c”的文件)和头文件(文件扩展名为“.h”的),进而通过源文件和头文件,从而生成了目标配置信息。
通过上述步骤,通用配置文件中存储了与目标配置文件中不同的配置信息,在目标配置文件中存储了仅适用于目标服务器主板的目标配置信息,也就是说,在配置配置文件时,对于多数服务器主板通用的配置信息是不会重复配置的,仅需要配置少数不通用的配置信息,从而避免了配置配置文件时的重复工作,提高对配置文件的配置效率。
图5是根据本申请实施例的一种可选的服务器主板的初始化流程图,如图5所示,至少包括如下步骤:
S501,在服务器上电或者主板上电时,确定需要对主板执行初始化的操作,此时通过sdltokenAPCB_DATA_BOARD_DIR_LIST_SDL运行调取脚本,该调取脚本使得为服务器系统上部署的服务器主板配置的配置文件(common文件和CRB文件)能够被引用,其中,common文件用于存储通用配置文件,CRB文件用于存储目标配置文件。
S502,在服务器主板上电时,获取服务器主板上报的GPUO值,通过多个GPIO值组成了一个字符串,通过该字符串能够唯一指示一个主板类型。
S503,在Common文件夹的ApcbData_GN_GID_0x1704_Type_BoardIdGettingMethod.c文件中,对GPIO结构体进行赋值,根据ID_APCB_MAPPING table确定与GPIO字符串对应的目标移位值
S504,使用该移位值对GPIO字符串进行移位运算,从而得到目标标识。
S505,从配置文件集合中确定出携带该目标标识的目标配置文件。
S506,使用目标配置文件和通用配置文件对服务器主板进行初始化。
在上述实施例中,改变了过去初始化时无法动态获取GPIO,只可对硬件设定写死的方式,开发了主板类型的动态识别并初始化硬件的新途径,节省开发和测试人力,维护起来也更加简洁方便。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种服务器主板的初始化装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的服务器主板的初始化装置的结构框图,如图6所示,该装置包括:确定模块62,用于确定服务器系统上的目标服务器主板待初始化,其中,所述服务器系统上部署了多个服务器主板,所述多个服务器主板包括所述目标服务器主板;查找模块64,用于从具有对应关系的主板类型和主板配置文件中查找所述目标服务器主板所属于的目标主板类型对应的目标配置文件,其中,所述主板配置文件用于实现仅在属于所述主板类型的服务器主板上包括的初始化配置;初始化模块66,用于根据所述目标配置文件和通用配置文件对所述目标服务器主板进行初始化,其中,所述通用配置文件用于实现所述多个服务器主板上均包括的初始化配置。
通过上述步骤,服务器系统上部署了多个服务器主板,通过配置用于实现多个服务器主板上均包括的初始化配置的通用配置文件,以及配置用于实现属于对应主板类型的服务器主板上包括的初始化配置的目标配置文件,从而在确定服务器系统上多个服务器主板中的目标服务器主板待初始化后,就能够通过目标主板类型查找到对应的目标配置文件,进而可以通过目标配置文件和通用配置文件对目标服务器主板的初始化,因此,在为服务器主板配置配置文件时,不需要对多个服务器主板上均包括的初始化配置的进行重复配置,只需要为每个主板类型的服务器主板配置仅属于该主板类型的服务器主板的初始化配置,减少了为服务器主板配置配置文件时的工作量,从而在保证对服务器主板初始化功能的前提下,提高了为服务器主板配置配置文件的配置效率,由于在配置的过程中工作量的减少了,从而减少了配置好的配置文件出现错误的概率,进而能够实现使用该配置文件能够避免出现对服务器主板进行初始化时初始化错位的现象,从而还可以保证使用配置文件对服务器主板进行初始化时的成功率,因此,至少可以解决相关技术中存在的服务器主板的配置文件的配置效率较低等问题,达到提高服务器主板的配置文件的配置效率效率的效果。
可选的,所述查找模块,包括:确定单元,用于确定所述目标服务器主板所属于的目标主板类型;查找单元,用于从具有对应关系的主板类型和配置文件标识中查找所述目标主板类型对应的目标标识;调用单元,用于从配置文件集合中调用携带了所述目标标识的配置文件作为所述目标配置文件。
可选的,所述确定单元,用于:调用所述目标服务器主板的通用输入输出端口GPIO;读取所述GPIO输出的端口电平;将所述端口电平转换为目标字符串作为所述目标主板类型。
可选的,所述确定单元,用于:从具有对应关系的字符串和移位值中获取所述目标字符串对应的目标移位值;对所述目标字符串进行与所述目标移位值匹配的移位运算,得到所述目标标识。
可选的,所述装置还包括:运行模块,用于在所述从配置文件集合中调用携带了所述目标标识的配置文件作为所述目标配置文件之前,运行调取脚本APCB_DATA_BOARD_DIR_LIST_SDL引用所述配置文件集合。
可选的,所述初始化模块,包括:更新单元,用于根据所述目标配置文件对所述通用配置文件进行更新,得到参考配置文件,其中,所述参考配置文件用于实现所述目标服务器主板上包括的初始化配置;初始化单元,用于使用所述参考配置文件初始化所述目标服务器主板。
可选的,所述更新单元,用于:识别所述目标配置文件中携带的接口调取指令,其中,所述接口调取指令用于执行调取所述目标服务器主板上部署的目标硬件所对应的目标接口的操作;将所述接口调取指令和所述通用配置文件中存储的与所述目标硬件对应的初始化配置进行对应存储,得到所述参考配置文件。
可选的,所述更新单元,用于:从第一子文件中提取所述目标接口的通用调取代码,并从第二子文件中提取所述目标接口对应的注解信息,其中,所述目标配置文件包括所述第一子文件和所述第二子文件;将所述注解信息添加到所述通用调取代码的目标位置,得到所述接口调取指令。
可选的,所述更新单元,用于:提取所述目标配置文件中存储的目标硬件的目标配置信息,其中,所述目标配置信息用于指示所述目标硬件的初始化参数;将所述通用配置文件中存储的所述目标硬件的初始配置信息替换为所述目标配置信息,得到所述参考配置文件。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种服务器主板的初始化方法,其特征在于,包括:
确定服务器系统上的目标服务器主板待初始化,其中,所述服务器系统上部署了多个服务器主板,所述多个服务器主板包括所述目标服务器主板;
从具有对应关系的主板类型和主板配置文件中查找所述目标服务器主板所属于的目标主板类型对应的目标配置文件,其中,所述主板配置文件用于实现仅在属于所述主板类型的服务器主板上包括的初始化配置;
根据所述目标配置文件和通用配置文件对所述目标服务器主板进行初始化,其中,所述通用配置文件用于实现所述多个服务器主板上均包括的初始化配置。
2.根据权利要求1所述的方法,其特征在于,所述从具有对应关系的主板类型和主板配置文件中查找所述目标服务器主板所属于的目标主板类型对应的目标配置文件,包括:
确定所述目标服务器主板所属于的目标主板类型;
从具有对应关系的主板类型和配置文件标识中查找所述目标主板类型对应的目标标识;
从配置文件集合中调用携带了所述目标标识的配置文件作为所述目标配置文件。
3.根据权利要求2所述的方法,其特征在于,所述确定所述目标服务器主板所属于的目标主板类型,包括:
调用所述目标服务器主板的通用输入输出端口GPIO;
读取所述GPIO输出的端口电平;
将所述端口电平转换为目标字符串作为所述目标主板类型。
4.根据权利要求3所述的方法,其特征在于,所述从具有对应关系的主板类型和配置文件标识中查找所述目标主板类型对应的目标标识,包括:
从具有对应关系的字符串和移位值中获取所述目标字符串对应的目标移位值;
对所述目标字符串进行与所述目标移位值匹配的移位运算,得到所述目标标识。
5.根据权利要求2所述的方法,其特征在于,在所述从配置文件集合中调用携带了所述目标标识的配置文件作为所述目标配置文件之前,所述方法还包括:
运行调取脚本APCB_DATA_BOARD_DIR_LIST_SDL引用所述配置文件集合。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标配置文件和通用配置文件对所述目标服务器主板进行初始化,包括:
根据所述目标配置文件对所述通用配置文件进行更新,得到参考配置文件,其中,所述参考配置文件用于实现所述目标服务器主板上包括的初始化配置;
使用所述参考配置文件初始化所述目标服务器主板。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标配置文件对所述通用配置文件进行更新,得到参考配置文件,包括:
识别所述目标配置文件中携带的接口调取指令,其中,所述接口调取指令用于执行调取所述目标服务器主板上部署的目标硬件所对应的目标接口的操作;
将所述接口调取指令和所述通用配置文件中存储的与所述目标硬件对应的初始化配置进行对应存储,得到所述参考配置文件。
8.根据权利要求7所述的方法,其特征在于,所述识别所述目标配置文件中携带的接口调取指令,包括:
从第一子文件中提取所述目标接口的通用调取代码,并从第二子文件中提取所述目标接口对应的注解信息,其中,所述目标配置文件包括所述第一子文件和所述第二子文件;
将所述注解信息添加到所述通用调取代码的目标位置,得到所述接口调取指令。
9.根据权利要求6所述的方法,其特征在于,所述根据所述目标配置文件对所述通用配置文件进行更新,得到参考配置文件,包括:
提取所述目标配置文件中存储的目标硬件的目标配置信息,其中,所述目标配置信息用于指示所述目标硬件的初始化参数;
将所述通用配置文件中存储的所述目标硬件的初始配置信息替换为所述目标配置信息,得到所述参考配置文件。
10.一种服务器主板的初始化装置,其特征在于,包括:
确定模块,用于确定服务器系统上的目标服务器主板待初始化,其中,所述服务器系统上部署了多个服务器主板,所述多个服务器主板包括所述目标服务器主板;
查找模块,用于从具有对应关系的主板类型和主板配置文件中查找所述目标服务器主板所属于的目标主板类型对应的目标配置文件,其中,所述主板配置文件用于实现仅在属于所述主板类型的服务器主板上包括的初始化配置;
初始化模块,用于根据所述目标配置文件和通用配置文件对所述目标服务器主板进行初始化,其中,所述通用配置文件用于实现所述多个服务器主板上均包括的初始化配置。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至9任一项中所述的方法的步骤。
12.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至9任一项中所述的方法的步骤。
CN202211214744.4A 2022-09-30 2022-09-30 服务器主板的初始化方法及装置 Pending CN115543460A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211214744.4A CN115543460A (zh) 2022-09-30 2022-09-30 服务器主板的初始化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211214744.4A CN115543460A (zh) 2022-09-30 2022-09-30 服务器主板的初始化方法及装置

Publications (1)

Publication Number Publication Date
CN115543460A true CN115543460A (zh) 2022-12-30

Family

ID=84731791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211214744.4A Pending CN115543460A (zh) 2022-09-30 2022-09-30 服务器主板的初始化方法及装置

Country Status (1)

Country Link
CN (1) CN115543460A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737641A (zh) * 2023-06-26 2023-09-12 合芯科技有限公司 连接装置、四路服务器、四路服务器的初始化方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737641A (zh) * 2023-06-26 2023-09-12 合芯科技有限公司 连接装置、四路服务器、四路服务器的初始化方法及装置

Similar Documents

Publication Publication Date Title
CN115114219B (zh) 一种pci-e拓扑方法、装置、设备及存储介质
CN112463256A (zh) 确定配置文件的方法、系统、电子设备及存储介质
CN115543460A (zh) 服务器主板的初始化方法及装置
CN115185550A (zh) 服务部署方法、装置、计算机设备及存储介质
CN109669678A (zh) 模板引擎整合方法、装置、电子设备及存储介质
CN111459510A (zh) 跨网络操作系统的安装方法、装置、电子设备及介质
US20050273755A1 (en) Scripting engine for network communication software
CN114745452B (zh) 设备管理方法、装置及电子设备
US20190196794A1 (en) Visual programming method, system and terminal device
CN114356379A (zh) 基于备份的服务升级方法、装置、设备及存储介质
CN115134236A (zh) 一种智能网卡管理的方法、装置、设备及可读介质
CN111488286B (zh) 一种Android模块独立开发的方法及装置
CN110109698B (zh) 按键板配置方法、装置、计算机设备及可读存储介质
CN109359384B (zh) 一种将丝印标识调入印刷电路板的方法及装置
CN113703339A (zh) 一种自动驾驶仿真方法、装置、设备及存储介质
CN114116544B (zh) 插槽信息的获取方法、装置、设备及存储介质
CN113760809B (zh) 一种gpio接口的配置方法、系统、装置及可读存储介质
CN110647546A (zh) 第三方规则引擎生成方法及装置
CN113329103B (zh) 执行用于网络设备的命令的方法和装置
CN113064617B (zh) 一种进行smbios信息更新的方法、系统及存储介质
CN112612514B (zh) 程序开发方法和装置、存储介质及电子装置
CN115544968B (zh) 一种兼容多项目设备树的方法、系统、设备和存储介质
EP4191407A1 (en) Method and device for generating and registering ui service package and loading ui service
CN107256163B (zh) 一种实现节点管理的方法及装置
CN117032770A (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