CN116700809B - 服务器预启动功能自适应支持方法、装置 - Google Patents

服务器预启动功能自适应支持方法、装置 Download PDF

Info

Publication number
CN116700809B
CN116700809B CN202310955447.3A CN202310955447A CN116700809B CN 116700809 B CN116700809 B CN 116700809B CN 202310955447 A CN202310955447 A CN 202310955447A CN 116700809 B CN116700809 B CN 116700809B
Authority
CN
China
Prior art keywords
target
network card
port
value
card device
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
Application number
CN202310955447.3A
Other languages
English (en)
Other versions
CN116700809A (zh
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 CN202310955447.3A priority Critical patent/CN116700809B/zh
Publication of CN116700809A publication Critical patent/CN116700809A/zh
Application granted granted Critical
Publication of CN116700809B publication Critical patent/CN116700809B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及计算机技术领域,公开了服务器预启动功能自适应支持方法、装置,方法包括:在获取到目标指示信息的情况下,遍历网卡设备库内的各个网卡设备,目标指示信息用于表征目标对象对预启动执行环境的开关功能存在自定义需求;从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标网卡设备的目标端口;对目标端口的预启动执行环境执行开启功能,对目标网卡中除了目标端口之外的参考端口的预启动执行环境执行关闭功能;将自定义需求编译为版本文件并烧录至基本输入输出***的只读存储器内,使得加载只读存储器后执行预启动执行环境对应的开关功能。解决当前整个设置规程繁琐,不方便,不能对客户网卡PXE的需求做定制的问题。

Description

服务器预启动功能自适应支持方法、装置
技术领域
本公开涉及计算机技术领域,具体涉及服务器预启动功能自适应支持方法、装置。
背景技术
当前BIOS(Base Input/Output System,基本输入输出***)在对网卡进行初始化处理后,会在BIOS Setup(安装)窗口为每个网卡端口建立一个启动项,也会有专门的功能键,来引导出所有启动项,或者所有网卡端口的启动项,来供用户做出网卡端口PXE(Preboot eXecution Environment,预启动执行环境)启动功能的开关处理;
在这种功能处理的情况下,如果客户想要关闭某个网卡某些端口的PXE功能,需要开机进BIOS Setup界面到相应的窗口,把对应网卡端口的启动项关掉,或者把对应的专门控制网卡端口PXE的功能设置项关掉,然后保存设置、重启机器,来达到目的,或者需要机器启动到OS(Operating System,操作***)或者UEFI(Unified Extensible FirmwareInterface,统一可扩展固件接口)shell以后执行shell脚本来控制。
但是上述关闭端口的PXE功能的相关技术中存在整个设置规程繁琐,不方便;不能对客户网卡PXE的需求做定制处理,不利于客户需求的达成。
发明内容
有鉴于此,本公开提供了一种服务器预启动功能自适应支持方法、装置,以解决相关技术中存在整个设置规程繁琐,不方便;不能对客户网卡PXE的需求做定制处理,不利于客户需求的达成的问题。
第一方面,本公开提供了一种服务器预启动功能自适应支持方法,该方法包括:
在获取到目标指示信息的情况下,遍历网卡设备库内的各个网卡设备,其中,目标指示信息用于表征目标对象对预启动执行环境的开关功能存在自定义需求;
从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标网卡设备的目标端口;
对目标端口的预启动执行环境执行开启功能,对目标网卡中除了目标端口之外的参考端口的预启动执行环境执行关闭功能;
将自定义需求编译为版本文件并烧录至基本输入输出***的只读存储器内,使得加载只读存储器后执行预启动执行环境对应的开关功能。
在本公开实施例中,可以根据目标对象对预启动执行环境的开关功能的自定义需求,从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标端口,然后对选取出的目标端口执行预启动执行环境的开启功能,对目标网卡中除了目标端口之外的其他参考端口执行预启动执行环境的关闭功能,然后将目标对象的自定义需求烧录至基本输入输出***的只读存储器内,进而自适应地实现目标对象对网卡PXE功能的定制需求,改善了功能的实现方式,摒弃了相关技术设置规程繁琐,不方便的缺陷,满足客户需求,提高了客户满意度。
在一种可选的实施方式中,在遍历网卡设备库内的各个网卡设备之前,方法还包括:
获取多个预设设备;
根据预设设备的配置空间内的寄存器的目标值,确定预设设备是否为网卡设备;
在确定预设设备为网卡设备的情况下,由预设设备生成网卡设备库。
在本公开实施例中,根据寄存器的目标值确定预设设备中哪些是网卡设备,进而得到网卡设备库,便于从网卡设备库中选取出目标网卡设备。
在一种可选的实施方式中,在从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标网卡设备的目标端口之前,方法还包括:
在获取到由多个信号值组成的指令信息的情况下,根据指令信息确定对应的拓扑种类;
根据拓扑种类确定目标设计图。
在本公开实施例中,根据当前下发的指令信息得到硬件拓扑的拓扑种类,进而根据拓扑种类确定目标设计图,这样就可以根据目标设计图确定出网卡端口等信息。
在一种可选的实施方式中,从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标网卡设备的目标端口,包括:
根据目标设计图和自定义需求,从各个网卡设备中获得目标网卡设备;
根据目标设计图和自定义需求从目标网卡设备的多个端口中选取出目标端口。
在本公开实施例中,通过目标设计图和自定义需求相结合的方式,确定出更准确的目标网卡设备和目标端口。
在一种可选的实施方式中,根据目标设计图和自定义需求,从各个网卡设备中获得目标网卡设备,包括:
根据目标设计图,按照深度优先遍历的方式,从各个网卡设备中获得与自定义需求相对应的目标网卡设备。
在本公开实施例中,可以按照深度优先遍历的方式,从多个网卡设备中选取出与自定义需求相对应的目标网卡设备,减少了过去旧有的方式中需要重复开发版本、脚本、和维护代码分支的人力成本,减少出错概率。
在一种可选的实施方式中,在从各个网卡设备中获得与自定义需求相对应的目标网卡设备之后,所以方法还包括:
获取历史全局变量数值,其中,历史全局变量数值用于表示网卡设备库中已被遍历到的网卡设备的数量;
对目标网卡设备的序号增加预设数值;
基于历史全局变量数值和预设数值,得到目标网卡设备对应的全局变量数值。
在本公开实施例中,通过对网卡设备的全局变量数值进行不断更换,以达到实时的目的,便于根据客户自定义需求找到准确的目标网卡设备。
在一种可选的实施方式中,根据目标设计图和自定义需求,从各个网卡设备中获得目标网卡设备,包括:
根据目标设计图,获取各个网卡设备的总线数值和设备数值;
根据总线数值、设备数值以及自定义需求,获取目标网卡设备。
在本公开实施例中,基于各个网卡设备的总线数值和设备数值,得到满足客户自定义需求的目标网卡设备,提高客户满意度。
在一种可选的实施方式中,根据总线数值和设备数值以及自定义需求,获取目标网卡设备,包括:
比较各个网卡设备的总线数值,对总线数值按照预设顺序进行排序,得到第一排序结果;
在存在任意预设数量个参考网卡设备的总线数值的数值相同的情况,比较参考网卡设备的设备数值;
根据设备数值对参考网卡设备进行排序,得到第二排序结果;
根据自定义需求、第一排序结果以及第二排序结果,获取目标网卡设备。
在本公开实施例中,基于总线数值的第一排序结果和基于设备数值的第二排序结果,得到满足客户自定义需求的目标网卡设备,提高客户满意度。
在一种可选的实施方式中,根据目标设计图和自定义需求从目标网卡设备的多个端口中选取出目标端口,包括:
根据目标设计图,获取目标网卡设备的各个端口的端口号;
根据自定义需求和端口号,从多个端口中选取出目标端口。
在本公开实施例中,只需要根据目标设计图,确定出目标网卡设备的各个端口的端口号,即可得到满足客户自定义需求的目标端口,省去了旧有方式的繁琐,减少出错概率,提升了基本输入输出***代码的健壮性和竞争力。
在一种可选的实施方式中,根据目标设计图和自定义需求从目标网卡设备的多个端口中选取出目标端口,包括:
根据目标设计图,获取目标网卡设备的各个端口当前所处于的位置数值;
根据自定义需求和位置数值,从多个端口中选取出目标端口。
在本公开实施例中,只需要根据目标设计图,确定出各个端口当前所处于的位置数值,即可得到满足客户自定义需求的目标端口,省去了旧有方式的繁琐,减少出错概率,提升了基本输入输出***代码的健壮性和竞争力。
在一种可选的实施方式中,方法还包括:
在基本输入输出***场景下自适应支持预启动执行环境开关功能时,根据自定义需求、第一排序结果以及第二排序结果,获取目标网卡设备;
根据位置数值对端口进行排序,并根据自定义需求获取目标端口。
在本公开实施例中,在基本输入输出***场景下也可实现服务器预启动功能自适应支持需求,适应了各种各样的定制需求,改善了开关功能的实现方式。
在一种可选的实施方式中,方法还包括:
在操作***场景下自适应支持预启动执行环境开关功能时,根据自定义需求、第一排序结果以及第二排序结果,获取目标网卡设备;
根据位置数值对端口进行排序,并根据自定义需求获取目标端口。
在本公开实施例中,在操作***场景下也可实现服务器预启动功能自适应支持需求,适应了各种各样的定制需求,改善了开关功能的实现方式。
在一种可选的实施方式中,根据目标设计图和自定义需求从目标网卡设备的多个端口中选取出目标端口,包括:
根据目标设计图,获取目标网卡设备的各个端口当前所处于的位置数值;
根据位置数值,生成第一排列;
获取目标对象对各个端口进行识别排序的自定义需求;
根据自定义需求,调整第一排列,得到第二排列;
从第二排列中选取出目标端口。
在本公开实施例中,根据各个端口当前所处于的位置数值和目标对象(即客户)对端口设定的识别序号,去排列各个端口的位置,进而可以根据客户的指定选取出目标端口,实现客户的多样化需求。
在一种可选的实施方式中,从各个网卡设备内选取出自定义需求对应的目标网卡设备,包括:
根据自定义需求确定目标总线数值;
获取各个网卡设备对应的预设总线数值范围,其中,预设总线数值范围之间相互不重合;
利用目标总线数值匹配预设总线数值范围;
在目标总线数值落入目标总线数值范围内的情况下,将目标总线数值范围对应的网卡设备作为目标总线数值对应的目标网卡设备,其中,目标总线数值范围包含于预设总线数值范围中。
在本公开实施例中,利用自定义需求确定的目标总线数值,去匹配各个网卡设备对应的预设总线数值范围,落入哪个预设总线数值范围,即将该网卡设备作为目标总线数值对应的目标网卡设备,在更节约流程和时间的前提下,实现支持预启动执行环境开关需求功能。
在一种可选的实施方式中,将目标总线数值范围对应的网卡设备作为目标总线数值对应的目标网卡设备之后,方法还包括:
根据目标网卡设备确定对应的目标端口;
根据目标端口确定存放处理器的插槽。
在本公开实施例中,基于目标网卡设备确定出的目标端口,即可找到对应的存放处理器(即CPU)的插槽,完成整个芯片建构框架的设计。
在一种可选的实施方式中,目标网卡设备的个数为多个、目标端口的个数为多个。
在本公开实施例中,还适用于多网卡的多个端口的支持预启动执行环境开关功能的需求,实现多样化。
在一种可选的实施方式中,对目标端口的预启动执行环境执行开启功能,包括:
利用随选只读存储器驱动文件对目标端口的预启动执行环境执行开启功能。
第二方面,本公开提供了一种服务器预启动功能自适应支持装置,该装置包括:
遍历模块,用于在获取到目标指示信息的情况下,遍历网卡设备库内的各个网卡设备,其中,目标指示信息用于表征目标对象对预启动执行环境的开关功能存在自定义需求;
选取模块,用于从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标网卡设备的目标端口;
执行模块,用于对目标端口的预启动执行环境执行开启功能,对目标网卡中除了目标端口之外的参考端口的预启动执行环境执行关闭功能;
烧录模块,用于将自定义需求编译为版本文件并烧录至基本输入输出***的只读存储器内,使得加载只读存储器后执行预启动执行环境对应的开关功能。
第三方面,本公开提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的服务器预启动功能自适应支持方法。
第四方面,本公开提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的服务器预启动功能自适应支持方法。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开实施例的服务器预启动功能自适应支持方法的流程示意图;
图2是根据本公开实施例的服务器预启动功能自适应支持的硬件示意图;
图3是根据本公开实施例的服务器预启动功能自适应支持的功能实现流程示意图;
图4是根据本公开实施例的功能实现中关于BIOS代码功能实现的流程示意图;
图5是根据本公开实施例的服务器预启动功能自适应支持装置的结构框图;
图6是本公开实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
当前BIOS对网卡进行初始化处理后,如果客户想要关闭某个网卡某些端口的PXE功能,通常需要开机进BIOS Setup界面到相应的窗口,把对应网卡端口的启动项关掉,或者把对应的专门控制网卡端口PXE的功能设置项关掉,然后保存设置、重启机器,来达到目的,或者通过撰写shell脚本的方式控制开关。
但是相关技术存在较多的缺陷:一是这种方式需要进到BIOS窗口界面进行设置,或者需要开机启动到OS或者UEFI Shell环境后,再执行脚本进行设置,这对客户机器部署,或者机器出厂前在工厂做功能检验,都不方便,尤其是对批量机器进行控制时,弊端更是显而易见的;二是这种方式不能对客户网卡PXE的需求做定制处理,比如在客户提出需求后,不能根据客户需求对BIOS定制处理,依旧还是需要进入BIOS setup窗口界面设置,或者需要通过脚本来实现,不利于客户需求的达成;三是当用户的网卡配置发生变化,比如增减网卡数量、改变原网卡所在的插槽位置时,原脚本或者BIOS setup窗口界面设置可能会不适用,需要重新开发脚本,或者改变BIOS setup窗口界面设置。
为了解决上述问题,根据本公开实施例,提供了一种服务器预启动功能自适应支持方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种服务器预启动功能自适应支持方法,图1是根据本公开实施例的服务器预启动功能自适应支持方法的流程图,如图1所示,该方法可以应用于基本输入输出***侧,该方法流程包括如下步骤:
步骤S101,在获取到目标指示信息的情况下,遍历网卡设备库内的各个网卡设备,其中,目标指示信息用于表征目标对象对预启动执行环境的开关功能存在自定义需求。
可选地,在本公开实施例中,在基本输入输出***接收到来自目标对象的目标指示信息的情况下,确定目标对象存在对预启动执行环境的开关功能的自定义需求时,遍历挨个扫描网卡设备库内存储的各个网卡设备。
可以理解的是,这里的目标对象可以为客户,该自定义需求可以是目标对象提出的对PXE定制需求的功能要求,比如第一个枚举到的网卡的第一个端口(如Port0)支持PXE,其它网卡和端口不支持PXE。
步骤S102,从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标网卡设备的目标端口。
可选地,根据自定义需求从网卡设备库内的多个网卡设备中选取出目标网卡设备,然后从目标网卡设备的多个端口中选取出目标端口。
步骤S103,对目标端口的预启动执行环境执行开启功能,对目标网卡中除了目标端口之外的参考端口的预启动执行环境执行关闭功能。
可选地,根据自定义需求可以确定对目标端口以及除了目标端口外的其他参考端口执行的PXE开关功能。具体地,对目标端口的PXE执行开启功能,对参考端口的PXE执行关闭功能。
可以了解的是,目标端口和参考端口都是目标网卡设备内的端口。
步骤S104,将自定义需求编译为版本文件并烧录至基本输入输出***的只读存储器内,使得加载只读存储器后执行预启动执行环境对应的开关功能。
可选地,将自定义需求编译基本输入输出***,得到新的版本文件,烧录到机器上的基本输入输出***的只读存储器(即rom)上,开机启动,即可加载只读存储器,实现对应的预启动执行环境对应的开关功能。
在本公开实施例中,可以根据目标对象对预启动执行环境的开关功能的自定义需求,从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标端口,然后对选取出的目标端口执行预启动执行环境的开启功能,对目标网卡中除了目标端口之外的其他参考端口执行预启动执行环境的关闭功能,然后将目标对象的自定义需求烧录至基本输入输出***的只读存储器内,进而自适应地实现目标对象对网卡PXE功能的定制需求,改善了功能的实现方式,摒弃了相关技术设置规程繁琐,不方便的缺陷,满足客户需求,提高了客户满意度。
在一些可选的实施方式中,在遍历网卡设备库内的各个网卡设备之前,方法还包括:
获取多个预设设备;
根据预设设备的配置空间内的寄存器的目标值,确定预设设备是否为网卡设备;
在确定预设设备为网卡设备的情况下,由预设设备生成网卡设备库。
可选地,BIOS在遍历各个网卡设备的时候,需要读取每个预设设备(即PCIE设备)的配置空间内的寄存器的目标值,比如目标值为1时,代表该预设设备是网卡设备,目标值为0时,代表该预设设备不是网卡设备等。然后在确定预设设备为网卡设备的情况下,根据多个预设设备生成网卡设备库。
在本公开实施例中,根据寄存器的目标值确定预设设备中哪些是网卡设备,进而得到网卡设备库,便于从网卡设备库中选取出目标网卡设备。
在一些可选的实施方式中,在从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标网卡设备的目标端口之前,方法还包括:
在获取到由多个信号值组成的指令信息的情况下,根据指令信息确定对应的拓扑种类;
根据拓扑种类确定目标设计图。
可选地,在本公开实施例中,由于网卡设备以及网卡设备的各个端口的设置情况均是由硬件拓扑决定的,所以对于本公开实施例来说,需要先确定由硬件拓扑确定的设计图,再由设计图选取出目标网卡设备以及目标端口。
进一步地,在基本输入输出***接收到由多个信号值(比如01110)组成的指令信息的情况下,根据指令信息确定对应的拓扑种类(比如拓扑种类为1),然后基于拓扑种类与设计图之间的对应关系,比如一种拓扑种类对应一种设计图,然后确定出当前对应的目标设计图。
在本公开实施例中,根据当前下发的指令信息得到硬件拓扑的拓扑种类,进而根据拓扑种类确定目标设计图,这样就可以根据目标设计图确定出网卡端口等信息。
在一些可选的实施方式中,从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标网卡设备的目标端口,包括:
根据目标设计图和自定义需求,从各个网卡设备中获得目标网卡设备;
根据目标设计图和自定义需求从目标网卡设备的多个端口中选取出目标端口。
可选地,根据目标设计图可以确定出各个网卡设备的处理器插槽、网卡设备的位置等,再由自定义需求进一步确定出目标网卡设备;同样,根据目标设计图可以确定出目标网卡内各个端口的排列情况、具***置等,再由自定义需求进一步确定出目标端口。
在本公开实施例中,通过目标设计图和自定义需求相结合的方式,确定出更准确的目标网卡设备和目标端口。
在一些可选的实施方式中,根据目标设计图和自定义需求,从各个网卡设备中获得目标网卡设备,包括:
根据目标设计图,按照深度优先遍历的方式,从各个网卡设备中获得与自定义需求相对应的目标网卡设备。
可选地,在本公开实施例中,在遍历多个网卡设备时,采用深度优先遍历的方式遍历网卡设备。可以选取第一个遍历到的网卡设备,首先访问该网卡设备,然后再以这个网卡设备的邻接网卡设备作为初始节点,反它的第一个邻接网卡设备。也即是,每次都在访问完当前网卡设备后,首先访问当前网卡设备的第一个邻接网卡设备。依照这种方式在从多个网卡设备中选取目标网卡设备时,同时结合自定义需求,进而找到准确的目标网卡设备。
在本公开实施例中,可以按照深度优先遍历的方式,从多个网卡设备中选取出与自定义需求相对应的目标网卡设备,减少了过去旧有的方式中需要重复开发版本、脚本、和维护代码分支的人力成本,减少出错概率。
在一些可选的实施方式中,在从各个网卡设备中获得与自定义需求相对应的目标网卡设备之后,所以方法还包括:
获取历史全局变量数值,其中,历史全局变量数值用于表示网卡设备库中已被遍历到的网卡设备的数量;
对目标网卡设备的序号增加预设数值;
基于历史全局变量数值和预设数值,得到目标网卡设备对应的全局变量数值。
可选地,在本公开实施例中,对被遍历扫描到的网卡设备用全局变量等方式记录,比如从0开始,每枚举到一个网卡设备,对应的全局变量的值加1。
具体地,由于全局变量的数值是累加的,所以在获取到目标网卡设备时,需要先获取到历史全局变量数值,比如是数值3,然后基于历史全局变量数值3增加预设数值(如1),进而得到数值4,该数值4即是目标网卡设备对应的全局变量数值。
在本公开实施例中,通过对网卡设备的全局变量数值进行不断更换,以达到实时的目的,便于根据客户自定义需求找到准确的目标网卡设备。
在一些可选的实施方式中,根据目标设计图和自定义需求,从各个网卡设备中获得目标网卡设备,包括:
根据目标设计图,获取各个网卡设备的总线数值和设备数值;
根据总线数值、设备数值以及自定义需求,获取目标网卡设备。
可选地,在确定了目标设计图之后,可以得到各个网卡设备的总线数值和设备数值,记录下这些总线数值和设备数值并基于总线数值和设备数值对网卡设备进行排序,再根据自定义需求从排序后的网卡设备中选取出符合自定义需求的目标网卡设备。
在本公开实施例中,基于各个网卡设备的总线数值和设备数值,得到满足客户自定义需求的目标网卡设备,提高客户满意度。
在一些可选的实施方式中,根据总线数值和设备数值以及自定义需求,获取目标网卡设备,包括:
比较各个网卡设备的总线数值,对总线数值按照预设顺序进行排序,得到第一排序结果;
在存在任意预设数量个参考网卡设备的总线数值的数值相同的情况,比较参考网卡设备的设备数值;
根据设备数值对参考网卡设备进行排序,得到第二排序结果;
根据自定义需求、第一排序结果以及第二排序结果,获取目标网卡设备。
可选地,将总线数值和设备数值由小到大,排第几,就是第几个被扫描到的网卡设备。具体的比较方式为:先比较各个网卡设备的总线数值,对总线数值按照预设顺序进行排序,得到第一排序结果;在出现任意预设数量个,比如任意两个网卡设备之间的总线数值相同时,将这两个网卡设备称为参考网卡设备,并再比较它们的设备数值,利用设备数值再对这些参考网卡设备进行排序,得到第二排序结果。
再根据第一排序结果、第二排序结果以及客户的自定义需求,从多个网卡设备中选取出目标网卡设备。
在本公开实施例中,基于总线数值的第一排序结果和基于设备数值的第二排序结果,得到满足客户自定义需求的目标网卡设备,提高客户满意度。
在一些可选的实施方式中,根据目标设计图和自定义需求从目标网卡设备的多个端口中选取出目标端口,包括:
根据目标设计图,获取目标网卡设备的各个端口的端口号;
根据自定义需求和端口号,从多个端口中选取出目标端口。
可选地,在确定了目标设计图之后,可以得到各个网卡设备内包含的各个端口的端口号,然后获取自定义需求,比如自定义需求是第一个枚举到的网卡的第一个端口(如Port0)支持PXE,其它网卡和端口不支持PXE,这时找到第一个枚举到的目标网卡设备之后,找到端口号为0的目标端口(对应Port0),进行随选只读存储器驱动文件的加载,对其它的网卡和端口都跳过加载随选只读存储器驱动文件的处理,这样就实现了第一个枚举到的网卡的Port0可以支持PXE,其它网卡和端口都不支持PXE的功能。
在本公开实施例中,只需要根据目标设计图,确定出目标网卡设备的各个端口的端口号,即可得到满足客户自定义需求的目标端口,省去了旧有方式的繁琐,减少出错概率,提升了基本输入输出***代码的健壮性和竞争力。
在一些可选的实施方式中,根据目标设计图和自定义需求从目标网卡设备的多个端口中选取出目标端口,包括:
根据目标设计图,获取目标网卡设备的各个端口当前所处于的位置数值;
根据自定义需求和位置数值,从多个端口中选取出目标端口。
可选地,在确定了目标设计图之后,可以得到各个网卡设备内包含的各个端口当前所处于的位置数值,比如端口号从0开始计数,这样端口N(可以是0/1/2/3等数值)对应位置数值也能够得到。
如果客户固定要求某个插槽上的目标网卡设备,对其第N个端口的PXE功能进行支持,这时根据各个端口的位置数值,选取出第N个的端口为目标端口。
在本公开实施例中,只需要根据目标设计图,确定出各个端口当前所处于的位置数值,即可得到满足客户自定义需求的目标端口,省去了旧有方式的繁琐,减少出错概率,提升了基本输入输出***代码的健壮性和竞争力。
在一些可选的实施方式中,方法还包括:
在基本输入输出***场景下自适应支持预启动执行环境开关功能时,根据自定义需求和第二排序结果,获取目标网卡设备;
根据位置数值对端口进行排序,并根据自定义需求获取目标端口。
可选地,本公开实施例是在基本输入输出***初始化场景下,按照枚举顺序将排在第M的网卡第N个端口进行支持PXE功能的处理。这时,根据目标设计图,识别出哪个插槽,对应的是哪个网卡设备CPU的哪个端口,再按照CPU编号和端口编号由小到大的顺序,即CPU0 端口0、1、2……CPU1 端口0、1、2……CPUn 端口0、1、2……的顺序,看各个网卡设备的网卡在所有的插槽中排第几位,所以插槽的排位也就是总线数值或设备数值的排位。因为BIOS给各个网卡设备分配总线数值和设备数值的时候,也是按照这个顺序,因此,基于上述实施例比较总线数值和设备数值,并基于自定义需求、第一排序结果以及第二排序结果来确定目标网卡设备的内容,得到目标网卡设备。
同时,由于各个网卡设备的端口按照从小到大的顺序排列,这里的从小到大排列是基于端口的位置数值确定的,所以在根据自定义需求获取目标端口时,需要根据各个端口的位置数值对所有端口进行排序,并根据自定义需求将第N个端口作为目标端口,进行加载随选只读存储器驱动文件的处理。
在本公开实施例中,在基本输入输出***场景下也可实现服务器预启动功能自适应支持需求,适应了各种各样的定制需求,改善了开关功能的实现方式。
在一些可选的实施方式中,方法还包括:
在操作***场景下自适应支持预启动执行环境开关功能时,根据自定义需求、第一排序结果以及第二排序结果,获取目标网卡设备;
根据位置数值对端口进行排序,并根据自定义需求获取目标端口。
可选地,本公开实施例是在操作***场景下,按照枚举顺序将排在第M的网卡第N个端口进行支持PXE功能的处理。这时,根据目标设计图,识别出哪个插槽,对应的是哪个网卡设备CPU的哪个端口,再按照CPU编号和端口编号由小到大的顺序,即CPU0 端口0、1、2……CPU1 端口0、1、2……CPUn 端口0、1、2……的顺序,看各个网卡设备的网卡在所有的插槽中排第几位,所以插槽的排位也就是总线数值或设备数值的排位。因为BIOS给各个网卡设备分配总线数值和设备数值的时候,也是按照这个顺序,因此,基于上述实施例比较总线数值和设备数值,并基于自定义需求、第一排序结果以及第二排序结果来确定目标网卡设备的内容,得到目标网卡设备。
同时,由于各个网卡设备的端口按照从小到大的顺序排列,这里的从小到大排列是基于端口的位置数值确定的,所以在根据自定义需求获取目标端口时,需要根据各个端口的位置数值对所有端口进行排序,并根据自定义需求将第N个端口作为目标端口,对其进行加载随选只读存储器驱动文件的处理。
在本公开实施例中,在操作***场景下也可实现服务器预启动功能自适应支持需求,适应了各种各样的定制需求,改善了开关功能的实现方式。
在一些可选的实施方式中,根据目标设计图和自定义需求从目标网卡设备的多个端口中选取出目标端口,包括:
根据目标设计图,获取目标网卡设备的各个端口当前所处于的位置数值;
根据位置数值,生成第一排列;
获取目标对象对各个端口进行识别排序的自定义需求;
根据自定义需求,调整第一排列,得到第二排列;
从第二排列中选取出目标端口。
可选地,在本公开实施例中,如果客户指定某个插槽上的网卡设备的某个端口进行PXE开关功能的自定义需求,同时指定了该端口的枚举/识别顺序,比如首个被识别到的,第N个被识别到的等,这时可以根据客户指定的识别顺序,设置各个端口的具体排序。
具体地,根据目标设计图,获取目标网卡设备的各个端口当前所处于的位置数值,根据位置数值,生成第一排列,可以通过调整第一排序的方式,比如不按端口0、1、2……的顺序,进行开发改成按照端口1、0、2……等顺序的第二排列,来凑成客户要求的这个识别序号的自定义需求,在从这个第二排列中选取出目标端口,再对该目标端口进行加载随选只读存储器驱动文件的处理。
在本公开实施例中,根据各个端口当前所处于的位置数值和目标对象(即客户)对端口设定的识别序号,去排列各个端口的位置,进而可以根据客户的指定选取出目标端口,实现客户的多样化需求。
在一些可选的实施方式中,从各个网卡设备内选取出自定义需求对应的目标网卡设备,包括:
根据自定义需求确定目标总线数值;
获取各个网卡设备对应的预设总线数值范围,其中,预设总线数值范围之间相互不重合;
利用目标总线数值匹配预设总线数值范围;
在目标总线数值落入目标总线数值范围内的情况下,将目标总线数值范围对应的网卡设备作为目标总线数值对应的目标网卡设备,其中,目标总线数值范围包含于预设总线数值范围中。
可选地,根据Intel的芯片框架设计,可以基于总线这个特征来从多个网卡设备中选取出目标网卡设备。
具体地,在本公开实施例中,首先对各个网卡设备预先设置预设总线数值范围,这些预设总线数值范围之间区间不相互重合。
根据自定义需求确定目标总线数值,然后将目标总线数值去匹配预设总线数值范围,确定目标总线数值所落入的目标总线数值范围,将该目标总线数值范围对应的网卡设备作为目标总线数值对应的网卡设备,并将之称为目标网卡设备。
在本公开实施例中,利用自定义需求确定的目标总线数值,去匹配各个网卡设备对应的预设总线数值范围,落入哪个预设总线数值范围,即将该网卡设备作为目标总线数值对应的目标网卡设备,在更节约流程和时间的前提下,实现支持预启动执行环境开关需求功能。
在一些可选的实施方式中,将目标总线数值范围对应的网卡设备作为目标总线数值对应的目标网卡设备之后,方法还包括:
根据目标网卡设备确定对应的目标端口;
根据目标端口确定存放处理器的插槽。
可选地,在每个网卡设备(即图2中的PCIE设备)的CPU的端口上均引出来的有插槽,这时为了确定各个网卡设备的插槽位置,可以通过确定端口的方式确定引出来的插槽。又由于端口是由网卡设备确定的,所以在本公开实施例中,根据目标网卡设备确定出满足自定义需求的目标端口之后,根据目标端口即可确定对应的存放CPU的插槽。
另外,需要说明的是,对于任一网卡设备来说,其对应的各个端口的存放CPU的插槽都可以得到。
同时,图2中还包含PCH(Platform Controller Hub,集成南桥),在PCH上也接有图2中的PCIE设备,在其CPU的端口上引出来的也有插槽。
PCH随着平台发展可被去掉,另外,BIOS芯片数量也可能有两个等。
在本公开实施例中,基于目标网卡设备确定出的目标端口,即可找到对应的存放处理器(即CPU)的插槽,完成整个芯片建构框架的设计。
在一些可选的实施方式中,目标网卡设备的个数为多个、目标端口的个数为多个。
可选地,在上述实施例中,是以目标网卡设备为唯一一个,目标端口也为唯一一个的情况下展开的自适应支持PXE开关功能的描述,在本公开实施例中,可以针对多个目标网卡设备多个目标端口支持PXE的开关功能的自定义需求,通过上述各个实施例的方式来筛选出多个满足自定义需求的目标网卡设备和多个目标端口。
在本公开实施例中,还适用于多网卡的多个端口的支持预启动执行环境开关功能的需求,实现多样化。
在一些可选的实施方式中,对目标端口的预启动执行环境执行开启功能,包括:
利用随选只读存储器驱动文件对目标端口的预启动执行环境执行开启功能。
可选地,BIOS在枚举网卡设备的处理中,会为每个带有随选只读存储器驱动文件的设备,进行加载只读存储器的处理,网卡的PXE功能就是由它的随选只读存储器驱动文件来支持的。
基于上述各个实施例,本公开实施例可以将上述各个实施例中对应的支持PXE的开关功能的方法进行叠加复用,比如选取上述多个实施例的方法进行复合设计,进而实现支持PXE的开关功能的自定义需求。
在一些可选的实施方式中,如图3所示,图3是根据本公开实施例的服务器预启动功能自适应支持的功能实现流程示意图,具体流程步骤为:
接收客户的自定义需求;
分析该自定义需求;
确定是否需要调整硬件拓扑;
若需要,则调整硬件拓扑,然后基于自定义需求,生成BIOS代码,编译出新的版本文件,烧录到机器上的BIOS的随选只读存储器驱动文件上;否则直接基于自定义需求,生成BIOS代码,编译出新的版本文件,烧录到机器上的BIOS的随选只读存储器驱动文件上;
实现服务器预启动功能自适应支持需求。
在一些可选的实施方式中,如图4所示,图4是根据本公开实施例的功能实现中关于BIOS代码功能实现的流程示意图,具体包括如下步骤:
BIOS开始处理;
初始化PCIE设备(即预设设备),从中选出网卡设备以及网卡设备和各个端口的初始化顺序;
根据自定义需求筛选出目标网卡设备和目标端口;
判断这些目标网卡设备和目标端口是否支持PXE的开关功能;
若是,则加载随选只读存储器驱动文件,然后处理结束;否则,直接处理结束。
在本实施例中还提供了一种服务器预启动功能自适应支持装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种服务器预启动功能自适应支持装置,如图5所示,包括:
遍历模块501,用于在获取到目标指示信息的情况下,遍历网卡设备库内的各个网卡设备,其中,目标指示信息用于表征目标对象对预启动执行环境的开关功能存在自定义需求;
选取模块502,用于从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标网卡设备的目标端口;
执行模块503,用于对目标端口的预启动执行环境执行开启功能,对目标网卡中除了目标端口之外的参考端口的预启动执行环境执行关闭功能;
烧录模块504,用于将自定义需求编译为版本文件并烧录至基本输入输出***的只读存储器内,使得加载只读存储器后执行预启动执行环境对应的开关功能。
在一些可选的实施方式中,该装置还包括:
第一获取模块,用于在遍历网卡设备库内的各个网卡设备之前,获取多个预设设备;
第一确定模块,用于根据预设设备的配置空间内的寄存器的目标值,确定预设设备是否为网卡设备;
生成模块,用于在确定预设设备为网卡设备的情况下,由预设设备生成网卡设备库。
在一些可选的实施方式中,该装置还包括:
第二确定模块,用于在从各个网卡设备内选取出自定义需求对应的目标网卡设备和目标网卡设备的目标端口之前,在获取到由多个信号值组成的指令信息的情况下,根据指令信息确定对应的拓扑种类;
第三确定模块,用于根据拓扑种类确定目标设计图。
在一些可选的实施方式中,选取模块502包括:
第一获取单元,用于根据目标设计图和自定义需求,从各个网卡设备中获得目标网卡设备;
选取单元,用于根据目标设计图和自定义需求从目标网卡设备的多个端口中选取出目标端口。
在一些可选的实施方式中,第一获取单元包括:
第一获取子模块,用于根据目标设计图,按照深度优先遍历的方式,从各个网卡设备中获得与自定义需求相对应的目标网卡设备。
在一些可选的实施方式中,第一获取单元包括:
第二获取子模块,用于在从各个网卡设备中获得与自定义需求相对应的目标网卡设备之后,获取历史全局变量数值,其中,历史全局变量数值用于表示网卡设备库中已被遍历到的网卡设备的数量;
增加子模块,用于对目标网卡设备的序号增加预设数值;
第一得到子模块,用于基于历史全局变量数值和预设数值,得到目标网卡设备对应的全局变量数值。
在一些可选的实施方式中,第一获取单元包括:
第三获取子模块,用于根据目标设计图,获取各个网卡设备的总线数值和设备数值;
第四获取子模块,用于根据总线数值、设备数值以及自定义需求,获取目标网卡设备。
在一些可选的实施方式中,第四获取子模块包括:
第一排序子单元,用于比较各个网卡设备的总线数值,对总线数值按照预设顺序进行排序,得到第一排序结果;
比较子单元,用于在存在任意预设数量个参考网卡设备的总线数值的数值相同的情况,比较参考网卡设备的设备数值;
第二排序子单元,用于根据设备数值对参考网卡设备进行排序,得到第二排序结果;
获取子单元,用于根据自定义需求、第一排序结果以及第二排序结果,获取目标网卡设备。
在一些可选的实施方式中,选取单元包括:
第五获取子模块,用于根据目标设计图,获取目标网卡设备的各个端口的端口号;
第一选取子模块,用于根据自定义需求和端口号,从多个端口中选取出目标端口。
在一些可选的实施方式中,选取单元包括:
第六获取子模块,用于根据目标设计图,获取目标网卡设备的各个端口当前所处于的位置数值;
第二选取子模块,用于根据自定义需求和位置数值,从多个端口中选取出目标端口。
在一些可选的实施方式中,该装置还包括:
第二获取模块,用于在基本输入输出***场景下自适应支持预启动执行环境开关功能时,根据自定义需求、第一排序结果以及第二排序结果,获取目标网卡设备;
第三获取模块,用于根据位置数值对端口进行排序,并根据自定义需求获取目标端口。
在一些可选的实施方式中,该装置还包括:
第四获取模块,用于在操作***场景下自适应支持预启动执行环境开关功能时,根据自定义需求、第一排序结果以及第二排序结果,获取目标网卡设备;
第五获取模块,用于根据位置数值对端口进行排序,并根据自定义需求获取目标端口。
在一些可选的实施方式中,选取单元包括:
第七获取子模块,用于根据目标设计图,获取目标网卡设备的各个端口当前所处于的位置数值;
生成子模块,用于根据位置数值,生成第一排列;
第八获取子模块,用于获取目标对象对各个端口进行识别排序的自定义需求;
第二得到子模块,用于根据自定义需求,调整第一排列,得到第二排列;
第三选取子模块,用于从第二排列中选取出目标端口。
在一些可选的实施方式中,选取模块502包括:
第一确定单元,用于根据自定义需求确定目标总线数值;
第二获取单元,用于获取各个网卡设备对应的预设总线数值范围,其中,预设总线数值范围之间相互不重合;
匹配单元,用于利用目标总线数值匹配预设总线数值范围;
设置单元,用于在目标总线数值落入目标总线数值范围内的情况下,将目标总线数值范围对应的网卡设备作为目标总线数值对应的目标网卡设备,其中,目标总线数值范围包含于预设总线数值范围中。
在一些可选的实施方式中,选取模块502包括:
第二确定单元,用于在将目标总线数值范围对应的网卡设备作为目标总线数值对应的目标网卡设备之后,根据目标网卡设备确定对应的目标端口;
第三确定单元,用于根据目标端口确定存放处理器的插槽。
在一些可选的实施方式中,目标网卡设备的个数为多个、目标端口的个数为多个。
在一些可选的实施方式中,对目标端口的预启动执行环境执行开启功能,包括:利用随选只读存储器驱动文件对目标端口的预启动执行环境执行开启功能。
本实施例中的服务器预启动功能自适应支持装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本公开实施例还提供一种计算机设备,具有上述图5所示的服务器预启动功能自适应支持装置。
请参阅图6,图6是本公开可选实施例提供的一种计算机设备的结构示意图,如图6所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图6中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本公开实施例还提供了一种计算机可读存储介质,上述根据本公开实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (18)

1.一种服务器预启动功能自适应支持方法,其特征在于,所述方法包括:
在获取到目标指示信息的情况下,遍历网卡设备库内的各个网卡设备,其中,所述目标指示信息用于表征目标对象对预启动执行环境的开关功能存在自定义需求;
在获取到由多个信号值组成的指令信息的情况下,根据所述指令信息确定对应的拓扑种类;
根据所述拓扑种类确定目标设计图;从所述各个网卡设备内选取出所述自定义需求对应的目标网卡设备和所述目标网卡设备的目标端口,其中,所述从所述各个网卡设备内选取出所述自定义需求对应的目标网卡设备和所述目标网卡设备的目标端口,包括:根据所述目标设计图和所述自定义需求,从所述各个网卡设备中获得所述目标网卡设备;根据所述目标设计图和所述自定义需求从所述目标网卡设备的多个端口中选取出所述目标端口;
对所述目标端口的所述预启动执行环境执行开启功能,对所述目标网卡中除了所述目标端口之外的参考端口的所述预启动执行环境执行关闭功能;
将所述自定义需求编译为版本文件并烧录至基本输入输出***的只读存储器内,使得加载所述只读存储器后执行所述预启动执行环境对应的开关功能。
2.根据权利要求1所述的方法,其特征在于,在遍历网卡设备库内的各个网卡设备之前,所述方法还包括:
获取多个预设设备;
根据所述预设设备的配置空间内的寄存器的目标值,确定所述预设设备是否为网卡设备;
在确定所述预设设备为所述网卡设备的情况下,由所述预设设备生成所述网卡设备库。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标设计图和所述自定义需求,从所述各个网卡设备中获得所述目标网卡设备,包括:
根据所述目标设计图,按照深度优先遍历的方式,从所述各个网卡设备中获得与所述自定义需求相对应的所述目标网卡设备。
4.根据权利要求3所述的方法,其特征在于,在所述从所述各个网卡设备中获得与所述自定义需求相对应的所述目标网卡设备之后,所以方法还包括:
获取历史全局变量数值,其中,所述历史全局变量数值用于表示所述网卡设备库中已被遍历到的网卡设备的数量;
对所述目标网卡设备的序号增加预设数值;
基于所述历史全局变量数值和所述预设数值,得到所述目标网卡设备对应的全局变量数值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标设计图和所述自定义需求,从所述各个网卡设备中获得所述目标网卡设备,包括:
根据所述目标设计图,获取各个所述网卡设备的总线数值和设备数值;
根据所述总线数值、所述设备数值以及所述自定义需求,获取所述目标网卡设备。
6.根据权利要求5所述的方法,其特征在于,所述根据所述总线数值和所述设备数值以及所述自定义需求,获取所述目标网卡设备,包括:
比较各个所述网卡设备的所述总线数值,对所述总线数值按照预设顺序进行排序,得到第一排序结果;
在存在任意预设数量个参考网卡设备的总线数值的数值相同的情况,比较所述参考网卡设备的所述设备数值;
根据所述设备数值对所述参考网卡设备进行排序,得到第二排序结果;
根据所述自定义需求、所述第一排序结果以及所述第二排序结果,获取所述目标网卡设备。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标设计图和所述自定义需求从所述目标网卡设备的多个端口中选取出所述目标端口,包括:
根据所述目标设计图,获取所述目标网卡设备的各个端口的端口号;
根据所述自定义需求和所述端口号,从多个端口中选取出所述目标端口。
8.根据权利要求6所述的方法,其特征在于,所述根据所述目标设计图和所述自定义需求从所述目标网卡设备的多个端口中选取出所述目标端口,包括:
根据所述目标设计图,获取所述目标网卡设备的各个端口当前所处于的位置数值;
根据所述自定义需求和所述位置数值,从多个端口中选取出所述目标端口。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在基本输入输出***场景下自适应支持预启动执行环境开关功能时,根据所述自定义需求、所述第一排序结果以及所述第二排序结果,获取所述目标网卡设备;
根据所述位置数值对所述端口进行排序,并根据所述自定义需求获取所述目标端口。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在操作***场景下自适应支持预启动执行环境开关功能时,根据所述自定义需求、所述第一排序结果以及所述第二排序结果,获取所述目标网卡设备;
根据所述位置数值对所述端口进行排序,并根据所述自定义需求获取所述目标端口。
11.根据权利要求6所述的方法,其特征在于,所述根据所述目标设计图和所述自定义需求从所述目标网卡设备的多个端口中选取出所述目标端口,包括:
根据所述目标设计图,获取所述目标网卡设备的各个端口当前所处于的位置数值;
根据所述位置数值,生成第一排列;
获取所述目标对象对各个所述端口进行识别排序的所述自定义需求;
根据所述自定义需求,调整所述第一排列,得到第二排列;
从所述第二排列中选取出所述目标端口。
12.根据权利要求1所述的方法,其特征在于,所述从所述各个网卡设备内选取出所述自定义需求对应的目标网卡设备,包括:
根据所述自定义需求确定目标总线数值;
获取各个所述网卡设备对应的预设总线数值范围,其中,所述预设总线数值范围之间相互不重合;
利用所述目标总线数值匹配所述预设总线数值范围;
在所述目标总线数值落入目标总线数值范围内的情况下,将所述目标总线数值范围对应的网卡设备作为所述目标总线数值对应的所述目标网卡设备,其中,所述目标总线数值范围包含于所述预设总线数值范围中。
13.根据权利要求12所述的方法,其特征在于,在所述将所述目标总线数值范围对应的网卡设备作为所述目标总线数值对应的所述目标网卡设备之后,所述方法还包括:
根据所述目标网卡设备确定对应的所述目标端口;
根据所述目标端口确定存放处理器的插槽。
14.根据权利要求1至13任一项所述的方法,其特征在于,所述目标网卡设备的个数为多个、所述目标端口的个数为多个。
15.根据权利要求1至13任一项所述的方法,其特征在于,所述对所述目标端口的所述预启动执行环境执行开启功能,包括:
利用随选只读存储器驱动文件对所述目标端口的所述预启动执行环境执行开启功能。
16.一种服务器预启动功能自适应支持装置,其特征在于,所述装置包括:
遍历模块,用于在获取到目标指示信息的情况下,遍历网卡设备库内的各个网卡设备,其中,所述目标指示信息用于表征目标对象对预启动执行环境的开关功能存在自定义需求;
第二确定模块,用于在获取到由多个信号值组成的指令信息的情况下,根据所述指令信息确定对应的拓扑种类;
第三确定模块,用于根据所述拓扑种类确定目标设计图;
选取模块,用于从所述各个网卡设备内选取出所述自定义需求对应的目标网卡设备和所述目标网卡设备的目标端口,其中,所述选取模块包括:第一获取单元,用于根据所述目标设计图和所述自定义需求,从所述各个网卡设备中获得所述目标网卡设备;选取单元,用于根据所述目标设计图和所述自定义需求从所述目标网卡设备的多个端口中选取出所述目标端口;
执行模块,用于对所述目标端口的所述预启动执行环境执行开启功能,对所述目标网卡中除了所述目标端口之外的参考端口的所述预启动执行环境执行关闭功能;
烧录模块,用于将所述自定义需求编译为版本文件并烧录至基本输入输出***的只读存储器内,使得加载所述只读存储器后执行所述预启动执行环境对应的开关功能。
17.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至15中任一项所述的服务器预启动功能自适应支持方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至15中任一项所述的服务器预启动功能自适应支持方法。
CN202310955447.3A 2023-08-01 2023-08-01 服务器预启动功能自适应支持方法、装置 Active CN116700809B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310955447.3A CN116700809B (zh) 2023-08-01 2023-08-01 服务器预启动功能自适应支持方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310955447.3A CN116700809B (zh) 2023-08-01 2023-08-01 服务器预启动功能自适应支持方法、装置

Publications (2)

Publication Number Publication Date
CN116700809A CN116700809A (zh) 2023-09-05
CN116700809B true CN116700809B (zh) 2023-11-03

Family

ID=87843603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310955447.3A Active CN116700809B (zh) 2023-08-01 2023-08-01 服务器预启动功能自适应支持方法、装置

Country Status (1)

Country Link
CN (1) CN116700809B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117785311B (zh) * 2024-02-27 2024-05-07 苏州元脑智能科技有限公司 服务器的启动方法和装置、存储介质及电子装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190279A (zh) * 2021-04-01 2021-07-30 山东英信计算机技术有限公司 一种预启动功能控制方法、***及介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190279A (zh) * 2021-04-01 2021-07-30 山东英信计算机技术有限公司 一种预启动功能控制方法、***及介质

Also Published As

Publication number Publication date
CN116700809A (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
CN116700809B (zh) 服务器预启动功能自适应支持方法、装置
US7216223B2 (en) Configuring multi-thread status
CN107368343B (zh) 一种基于安卓***的终端开机方法、终端及存储介质
CN111124508A (zh) 一种调整网卡pxe启动顺序的方法和装置
CN113867743B (zh) 网络操作***加载烧录方法、装置、电子设备及存储介质
CN116009899B (zh) 操作***的镜像制作方法、装置、电子设备及存储介质
CN115357262A (zh) 一种驱动器固件批量升级的方法
CN113190279B (zh) 一种预启动功能控制方法、***及介质
CN113918197A (zh) 一种固件升级方法、***、存储介质及设备
CN112162794B (zh) 一种单板启动方法、装置、单板以及网络设备
CN115664953B (zh) 一种外接设备的资源分配方法及相关装置
CN116886524A (zh) 一种预启动执行环境功能的配置方法、装置及服务器
JPH0756627B2 (ja) データ処理システムを構成する方法及び装置
CN110928753A (zh) 浏览器控制台日志输出的控制方法、装置、计算机设备及计算机可读存储介质
CN102455919A (zh) 基本输入输出***自动最佳化设定方法
CN113553110A (zh) 一种服务器的硬件基线自动化修正方法、装置及***
KR100556874B1 (ko) 이동 통신단말기의 부팅 시간 단축 방법
CN108958823A (zh) 修改基本输入输出***设定值的方法
CN114598755B (zh) 网络协议启动顺序控制方法、装置、设备和存储介质
CN109408307B (zh) 一种自动化并行测试bmc保留配置升级功能的方法
JP5066946B2 (ja) Os種別自動特定装置、os自動起動装置、プロセッサシステム、os種別自動特定方法、os自動起動方法、プログラム、及び記憶媒体
CN114116033B (zh) 一种服务器配置修改方法和装置
CN114416185B (zh) 一种网口排序方法、装置、设备和存储介质
CN114546502B (zh) 一种基于白名单创建启动项的方法、装置及可读存储介质
CN117950738B (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