CN106598637A - 节点内的部件的选择性加载以加速维护动作 - Google Patents

节点内的部件的选择性加载以加速维护动作 Download PDF

Info

Publication number
CN106598637A
CN106598637A CN201610885162.7A CN201610885162A CN106598637A CN 106598637 A CN106598637 A CN 106598637A CN 201610885162 A CN201610885162 A CN 201610885162A CN 106598637 A CN106598637 A CN 106598637A
Authority
CN
China
Prior art keywords
node
file
subset
loaded
output system
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.)
Granted
Application number
CN201610885162.7A
Other languages
English (en)
Other versions
CN106598637B (zh
Inventor
S·V·安格鲁里
G·D·卡达克
J·S·沃利
C·金
A·德霍拉凯亚
S·科查尔
G·B·普鲁厄特
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.)
Lenovo Enterprise Solutions Singapore Pte Ltd
Original Assignee
Lenovo Enterprise Solutions Singapore Pte 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 Lenovo Enterprise Solutions Singapore Pte Ltd filed Critical Lenovo Enterprise Solutions Singapore Pte Ltd
Publication of CN106598637A publication Critical patent/CN106598637A/zh
Application granted granted Critical
Publication of CN106598637B publication Critical patent/CN106598637B/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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/143Reconfiguring to eliminate the error with loss of software functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • G06F11/2242Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • 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/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

一种方法包括标识应当在节点的下次启动期间被加载的节点的部件的子集,将所标识的部件的子集的列表存储在基本输入输出系统之外的文件中,以及发起节点的启动。该方法还包括基本输入输出系统访问文件并控制节点的启动以仅加载节点的所标识的部件的子集。另一方法存储多个这样的文件,其中每个文件与节点的目标部件的维护相关联。在选择文件中的一个文件之后,基本输入输出系统可以访问所选择的文件并控制节点的启动以仅加载所选择的文件指示应当为了维护或测试目标部件的目的而被加载的部件的子集。

Description

节点内的部件的选择性加载以加速维护动作
技术领域
本发明涉及用于在诸如服务器之类的节点的启动期间加载设备的方法。
背景技术
基本输入输出系统(BIOS)或统一可扩展固件接口(UEFI)提供在启动计算机的过程期间所使用的固件。BIOS代码对系统硬件部件进行初始化和测试并且加载来自数据存储设备的启动加载程序或操作系统。作为固件,BIOS难以修改并且计算机将以相同的配置启动直到BIOS被更新。
具有包括各种各样的部件类型和特征的复杂配置的计算机可能需要相当大的时间量来启动。即使在计算机被简单地重启以加载操作系统中的额外诊断工具或者执行简单的健康和详细目录的简单检查的情况下也是如此。例如,根据芯片组供应商发布的时间,具有最大容量DIMM的八(8)个插口高端计算机系统的单个完整配置启动可能需要多达20分钟的时间。另外,I/O卡可以每个端口花费一分钟来查找出存储区域网络(SAN)上的设备,即使这样的设备可以存在或者可以不存在并且在SAN适配器本身处于讨论中的情况下可以为问题本身的部分。
发明内容
本发明的一个实施例是一种方法,其包括标识应当在节点的下次启动期间被加载的节点的部件的子集,将所标识的部件的子集的列表存储在基本输入输出系统之外的文件中,以及发起节点的启动。该方法还包括基本输入输出系统访问文件并控制节点的启动以仅加载节点的所标识的部件的子集。
本发明的另一实施例提供一种方法,其包括将多个文件存储在基本输入输出系统之外,其中每个文件与节点的目标部件的维护相关联,并且其中每个文件标识应当在节点的下次启动期间被加载的节点的部件的子集。该方法还包括选择文件中的一个文件,发起节点的启动,基本输入输出系统访问所选择的文件并控制节点的启动以仅加载所选择的文件指示的应当被加载的部件的子集。
本发明的另一实施例提供一种计算机程序产品,其包括体现在非暂态计算机可读存储介质上的程序指令,其中程序指令可由处理器运行以使处理器执行本文公开的方法中的任何方法。一种方法包括标识应当在节点的下次启动期间被加载的节点的部件的子集,将所标识的部件的子集的列表存储在基本输入输出系统之外的文件中,以及发起节点的启动。该方法还包括基本输入输出系统访问文件并控制节点的启动以仅加载节点的所标识的部件的子集。另一方法包括:将多个文件存储在基本输入输出系统之外,其中每个文件与节点的部件的维护相关联,并且其中每个文件标识应当在节点的下次启动期间被加载的节点的部件的子集;选择文件中的一个文件;发起节点的启动;以及基本输入输出系统访问所选择的文件并控制节点的启动以仅加载所选择的文件指示的应当被加载的部件的子集。
附图说明
图1是根据本发明的一个实施例的计算机的示意图。
图2是根据本发明的另一实施例的方法的流程图。
具体实施方式
本发明的一个实施例是一种方法,其包括标识在节点的下次启动期间应当被加载的节点的部件的子集,将所标识的部件的子集的列表存储在基本输入输出系统之外的文件中,以及发起节点的启动。该方法还包括基本输入输出系统访问文件并控制节点的启动以仅加载节点的所标识的部件的子集。
节点可以但不限于为个人计算机、笔记本电脑、服务器或网络交换机。节点的部件可以但不限于包括处理器、易失性存储器、非易失性存储器、数据存储设备、网络适配器、RAID(独立磁盘冗余阵列)适配器、以及各种外设。文件可以遵循任何格式,例如基于文本的描述符文件。可选地,基于文本的描述符文件可以是以超文本标记语言(HTML)、可扩展标记语言(XML)、或逗号分隔值(CSV)编写的。在另一选项中,文件可以使用在节点上运行或与基本输入输出系统通信的管理实体上的应用来编辑。文件可以被存储在与基本输入输出系统通信的管理实体的存储器中,或者被存储在节点的非易失性存储器中。系统BIOS可以使用针对可以被存储在BIOS中的文件的预定义地址来定位描述符文件。
该文件可以标识在节点的下次启动期间应当被加载的节点的任何一个或多个部件。在一个非限制性示例中,文件是以如下的HTML格式编写的描述符文件:
<deviceload>
HDD1=yes
RAID1=yes
Network2=no
</deviceload>
备选地,文件可以为标识在以维护模式启动系统时应当被加载和不应当被加载的部件的单个位图。例如,位图可以使用以下各项:
位0-精简存储器对于该启动是可以的
位1-精简CPU资源对于该启动是可以的
位2-精简PCI适配器对于该启动是可以的。
以精简配置启动节点可以大大减少停机时间和服务时间。
标识在节点的下次启动期间应当被加载的节点的部件的子集可以包括标识部件中的要被启用的一个或多个部件,标识部件中的不应当被启用(即,禁用的)的一个或多个部件,或者包括两者。在一个选项中,用户可以通过用户接口标识部件的子集,用户接口例如为生成图形用户界面的应用程序或节点的前面板上的输入设备。一个前面板输入设备可以被称为光路诊断装置。光路诊断装置包括提供与错误和设备状态有关的信息的前面板显示器,而且在本示例中可以用于选择哪些设备应当被启用或被禁用。以这种方式,单独设备可以被分配为定义的状态,例如被启用或被禁用,或者设备组可以根据预定维护模式而被统一分配以各种定义的状态。可选地,BIOS/UEFI可以存储一个或多个预定维护模式,其中每个节点标识针对设备组中的每个设备的定义的状态。经由光路诊断装置选择预定维护模式中的一个可以实现针对任何数量的设备的定义的状态。
该方法还可以包括标识在其中所标识的部件中的每个部件要在启动期间被加载的顺序,以及将该顺序存储在文件中。顺序可以以优化部件的测试或维护或者减少启动节点所必需的时间量的方式来标识。另外,部件的启动顺序可以根据在各部件之间的任何依赖关系。例如,该方法可以包括标识在所标识的部件中的两个或更多个部件之间的依赖关系,以及将该依赖关系存储在文件中。依赖关系可以指示例如部件A和部件B要被一起加载,或者部件C和部件D应当在部件E被加载之前被加载。
在另一示例中,该方法可以包括标识针对节点的每个部件的最近固件代码更新的日期,以及根据针对每个部件的最近固件代码更新的所标识的日期来自动修改文件以指示具有过期固件的部件在节点的下次启动期间不应当被加载或者改变部件被加载的顺序。
在优选实施例中,该方法还可以包括测试来自所标识的部件之中的目标部件,其中部件的子集仅包括在测试目标部件中涉及的那些部件。例如,如果作为测试的目标的部件是网络适配器,则无需加载所有存储器或数据存储设备。在另一示例中,存储器测试可以启用处理器和要被测试的存储器,但是禁用网络适配器。
另外,该方法可以允许用户在手动模式与自动模式之间进行选择以用于修改文件以标识在下次启动期间应当被加载的部件。在手动模式中,用户可以选择要被加载的每个部件,选择不应当被加载的每个部件,或者编辑应当被加载或不被加载的部件的列表。在自动模式中,文件被自动修改以标识应当被加载的部件。在一个示例中,该方法包括检测与节点的部件相关联的故障,并且自动修改文件以标识应当被加载的部件从而启用与故障相关联的部件的测试。在另一示例中,该方法包括检测节点的单独部件具有过期固件,并且自动修改文件以指示单独部件在节点的下次启动期间不应当被加载。
本发明的各种实施例可以提供以下益处:基本输入输出系统以比加载节点的所有部件所需要的时间更少的时间来加载部件的子集。
本发明的另一实施例提供一种方法,其包括将多个文件存储在基本输入输出系统之外,其中每个文件与节点的目标部件的维护相关联,并且其中每个文件标识在节点的下次启动期间应当被加载的节点的部件的子集。该方法还包括选择文件中的一个文件,发起节点的启动,基本输入输出系统访问所选择的文件并控制节点的启动以仅加载所选择的文件指示应当被加载的部件的子集。在一个选项中,该方法还可以包括接收对自动化维护模式的用户选择,以及响应于与节点的单独部件相关联的故障事件和对自动化维护模式的用户选择,自动选择与关联于故障事件的单独部件的维护相关联的文件,其中节点将以禁用对故障事件进行故障排解所不需要的部件的精简配置来启动。
本发明的另一实施例提供一种计算机程序产品,其包括被体现在非暂态计算机可读存储介质上的程序指令,其中程序指令可由处理器运行以使得处理器执行本文公开的方法中的任何方法。一种方法包括:标识在节点的下次启动期间应当被加载的节点的部件的子集,将所标识的部件的子集的列表存储在基本输入输出系统之外的文件中,发起节点的启动,以及基本输入输出系统访问文件并控制节点的启动以仅加载节点的所标识的部件的子集。另一方法包括:将多个文件存储在基本输入输出系统之外,其中每个文件与节点的部件的维护相关联,并且其中每个文件标识在节点的下次启动期间应当被加载的节点的部件的子集;选择文件中的一个文件;发起节点的启动;以及基本输入输出系统访问所选择的文件并控制节点的启动以仅加载所选择的文件指示的应当被加载的部件的子集。
前面的计算机程序产品还可以包括用于实现或发起本文描述的方法的任何一个或多个方面的计算机可读程序代码。因此,将不在计算机程序产品的上下文中重复对方法的单独的描述。
图1是能够实现本发明的方法的计算机或服务器10的示意图。计算机10包括耦合到系统总线14的处理单元12。处理单元12可以利用一个或多个处理器,一个或多个处理器中的每个处理器具有一个或多个处理器核。驱动/支持显示器18的视频适配器16也耦合到系统总线14。系统总线14经由总线桥20耦合到输入/输出(I/O)总线22。耦合到I/O总线22的I/O接口24提供与包括键盘26、鼠标28、介质托盘30(其可以包括诸如CD-ROM驱动器的存储设备、多媒体接口、等等)、打印机32、以及(一个或多个)USB端口34的各种I/O设备的通信。如所示出的,计算机10能够使用网络适配器或网络接口控制器38经由网络36与诸如管理实体40之类的其他网络设备进行通信。
硬盘驱动器接口42也耦合到系统总线14。硬盘驱动器接口42与硬盘驱动器44以接口方式连接。在优选实施例中,硬盘驱动器44与系统存储器50进行通信,系统存储器50也耦合到系统总线14。系统存储器包括计算机10中的最低层的易失性存储器。该易失性存储器可以包括其他的较高层的易失性存储器(未示出),包括但不限于高速缓存存储器、寄存器和缓冲器。填充系统存储器50的数据包括操作系统(OS)52和应用程序60。
操作系统52包括用于提供对诸如应用程序60的资源的透明用户访问的外壳54。一般地,外壳54是提供用户与操作系统之间的解释器和接口的程序。更特别地,外壳54运行被输入到命令行用户接口中的或来自文件的命令。因此,外壳54也称作命令处理器,一般是操作系统软件层次中的最高层并且用作命令解释器。外壳提供系统提示,解释通过键盘、鼠标或其他用户输入媒介输入的命令,并且将(一个或多个)解释的命令发送到操作系统的合适较低层(例如,内核56)以用于处理。注意,尽管外壳54是基于文本的面向行的用户接口,但是本发明将同样很好地支持诸如图形、语音、姿势等的其他用户接口模式。
如所描绘的,操作系统52还包括内核56,内核56包括操作系统52的较低层的功能,包括提供由操作系统52的其他部分和应用程序60需要的基本服务,包括存储器管理、处理和任务管理、磁盘管理以及鼠标和键盘管理。计算机10的系统存储器中的应用程序60可以包括但不限于用户接口模块62,其允许用户标识在节点模块62、以及部件诊断和维护逻辑模块64的下次启动期间应当被加载的节点的部件。备选地,用户接口模块62和部件诊断和维护逻辑模块64可以被实现在操作系统52内。
计算机10还包括基本输入输出系统(BIOS)模块70,其包括存储当计算机被启动时使用的BIOS逻辑的非易失性存储器。因此,BIOS负责定位针对计算机10的各个部件的固件驱动程序。根据本发明的实施例,BIOS 70还可以访问存储标识在计算机10的下次启动期间应当被加载的计算机的那些部件的一个或多个文件74的非易失性存储器72。备选地,文件74可以与BIOS 70存储在同一非易失性存储器上、由管理实体74存储、或者被存储在耦合到USB端口34的USB闪存驱动器上。
计算机10中描绘的硬件元件不旨在为穷举性的,而是为代表性的。例如,计算机10可以包括诸如磁带盒、数字多用盘(DVD)、伯努利卡盒等的备选存储器存储设备。这些变型和其他变型旨在处于本发明的范围内。
图2是根据本发明的一个实施例的方法80的流程图。在步骤82中,该方法包括标识在节点的下次启动期间应当被加载的节点的部件的子集。在步骤84中,该方法将所标识的部件的子集的列表存储在基本输入输出系统之外的文件中。步骤86包括发起节点的启动。在步骤88中,基本输入输出系统访问文件并控制节点的启动以仅加载节点的所标识的部件的子集。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻存软件、微代码、等等)或者可以全部在本文中总体上被称为“电路”、“模块”或“系统”的组合了软件和硬件方面的实施例的形式。此外,本发明的各方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有体现在其上的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以为计算机可读信号介质或计算机可读存储介质。计算机可读介质可以例如但不限于电、磁、光电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的示例(非穷举的列表)将包括以下:具有一个或多个线缆的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件的上下文中,计算机可读存储介质可以是能够包含或存储程序的任何有形介质,该程序可以被指令执行系统、装置或者器件)使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中实现了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。用于执行本发明的各方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,一种或多种编程语言包括面向对象编程语言(例如Java、Smalltalk、C++等等)和常规程序化编程语言(例如“C”编程语言或类似的编程语言)。程序代码可以全部地运行在用户的计算机上、部分地运行在用户的计算机上、作为独立软件包运行、部分地运行在用户的计算机上并且部分地运行在远程计算机上或全部地运行在远程计算机或服务器上。在后一种情形下,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到用户的计算机,或者可以(例如,通过使用互联网服务提供商的互联网)对外部计算机进行连接。
可以参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合能够通过计算机程序指令来实施。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生一种机器,使得经由计算机或其他可编程数据处理装置的处理器运行的指令创建用于实施流程图和/或一个或多个框图框中指定的功能/动作的模块。
这些计算机程序指令还可以被存储在能够引导计算机、其他可编程数据处理装置或其他器件以特定方式工作的计算机可读介质中,使得存储在计算机可读介质中的指令产生一款制品,该制品包括实施流程图和/或一个或多个框图框中指定的功能/动作的指令。
计算机程序指令还可以被下载到计算机、其他可编程数据处理装置或其他设备上以使得一系列操作步骤被执行在计算机、其他可编程装置或其他设备上从而产生计算机实现的过程,使得运行在计算机或其他可编程装置上的指令提供用于实现流程图和/或一个或多个框图框中指定的功能/动作的过程。
附图中的流程图和框图图示了根据本发明的各个实施例的系统、方法和计算机程序产品的可能实施方式的体系结构、功能和操作。在这一点上,流程图或框图中的每个框可以表示包括用于实施(一个或多个)指定的逻辑功能的一个或多个可执行指令的代码的模块、片段或部分。还应当指出,在一些备选实施方式中,框中指出的功能可以不以附图中指出的顺序发生。例如,取决于涉及的功能,连续示出的两个框实际上可以基本上同时地被运行,或各框可以有时以相反的顺序被运行。还将指出,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合能够通过执行指定功能或动作或专用硬件和计算机指令的组合的基于专用硬件的系统来实施。
本文中使用的术语仅仅是为了描述具体实施例的目的并且不旨在为对本发明的限制。如本文中使用的,单数形式的“一”、“一个”和“所述”旨在还包括复数形式,除非上下文另行清楚指示。还将理解,术语“包括”和/或“包含”当在本说明书中使用时详细列举陈述的特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个多个其他特征、整数、步骤、操作、元件、部件和/或其组的存在或增加。术语“优选地”、“优选的”、“优选”、“可选地”、“可以”和类似的术语被用于指示被引用的项、条件或步骤是本发明的可选的(而非要求的)特征。
在下面的权利要求书中的所有装置或步骤加功能元件的对应的结构、材料、动作和等价物旨在包括用于与如特别要求保护的其他要求保护的元件组合地执行功能的任何结构、材料或动作。对本发明的描述已经出于说明和描述的目的被呈现,而且不旨在为穷举的或将本发明限于所公开的形式。在不脱离本发明的范围和精神的情况下,许多修改和变型对于本领域技术人员将是显而易见的。实施例被选择并被描述以便最好地解释本发明的原理、实际应用,并且以便使得本领域其他技术人员理解本发明用于具有如适于预见到的特定用途的各种修改的各种实施例。

Claims (20)

1.一种方法,包括:
标识在节点的下次启动期间应当被加载的所述节点的部件的子集;
将所标识的部件的所述子集的列表存储在基本输入输出系统之外的文件中;
发起所述节点的启动;以及
所述基本输入输出系统访问所述文件并控制所述节点的启动以仅加载所述节点的所标识的部件的所述子集。
2.根据权利要求1所述的方法,其中标识在节点的下次启动期间应当被加载的所述节点的部件的子集包括标识部件中的要被启用的一个或多个部件和标识部件中的不应当被启用的一个或多个部件。
3.根据权利要求1所述的方法,还包括:
标识在其中所标识的所述部件中的每个部件要在启动期间被加载的顺序;以及
将所述顺序存储在所述文件中。
4.根据权利要求1所述的方法,还包括:
测试来自所标识的所述部件之中的目标部件,其中部件的所述子集仅包括在测试所述目标部件中涉及的那些部件。
5.根据权利要求1所述的方法,其中标识节点的部件的子集包括从用户接口接收对部件的选择。
6.根据权利要求1所述的方法,还包括:
检测与所述节点的部件相关联的故障;以及
自动标识应当被加载的所述部件以使得能够对与所述故障相关联的所述部件进行测试。
7.根据权利要求1所述的方法,还包括:
检测所述节点的单独部件具有过期固件;以及
自动修改所述文件以指示所述单独部件在所述节点的下次加载期间不应当被加载。
8.根据权利要求1所述的方法,其中所述基本输入输出系统以比加载所述节点的所有部件所需要的时间更少的时间来加载部件的所述子集。
9.根据权利要求1所述的方法,其中所述节点是服务器。
10.根据权利要求1所述的方法,其中所述文件是基于文本的描述符文件。
11.根据权利要求10所述的方法,其中所述基于文本的描述符文件以超文本标记语言(HTML)、可扩展标记语言(XML)或逗号分隔值(CSV)编写。
12.根据权利要求1所述的方法,其中所述文件被存储在与所述基本输入输出系统通信的管理实体的存储器中。
13.根据权利要求1所述的方法,其中所述文件能够使用在与所述基本输入输出系统通信的管理实体上运行的应用来编辑。
14.根据权利要求1所述的方法,其中部件的所述子集是从网络适配器、RAID适配器和存储器DIMM中选择的。
15.根据权利要求1所述的方法,还包括:
标识在所标识的所述部件中的两个或更多个部件之间的依赖关系;以及
将所述依赖关系存储在所述文件中。
16.根据权利要求1所述的方法,还包括:
标识针对所述节点的每个部件的最近固件代码更新的日期;以及
根据针对每个部件的所述最近固件代码更新的所标识的所述日期来自动修改所述文件以指示具有过期固件的所述部件在所述节点的下次启动期间不应当被加载或者改变所述部件被加载的顺序。
17.根据权利要求1所述的方法,其中标识在节点的下次启动期间应当被加载的所述节点的部件的子集包括使用所述节点的前面板上的输入设备。
18.一种方法,包括:
将多个文件存储在基本输入输出系统之外,其中每个文件与节点的部件的维护相关联,并且其中每个文件标识在所述节点的下次启动期间应当被加载的所述节点的部件的子集;
选择所述文件中的一个文件;
发起所述节点的启动;以及
所述基本输入输出系统访问所选择的所述文件并且控制所述节点的启动以仅加载所选择的所述文件指示应当被加载的部件的所述子集。
19.根据权利要求18所述的方法,还包括:
接收对自动化维护模式的用户选择;以及
响应于与所述节点的单独部件相关联的故障事件和对所述自动化维护模式的用户选择,自动选择与关联于所述故障事件的所述单独部件的维护相关联的所述文件,其中所述节点将以精简配置来启动,所述精简配置禁用对所述故障事件进行故障排解所不需要的部件。
20.一种计算机程序产品,包括被体现在非暂态计算机可读存储介质上的程序指令,所述程序指令能够由处理器执行以使得所述处理器执行一种方法,所述方法包括:
标识在节点的下次启动期间应当被加载的所述节点的部件的子集;
将所标识的部件的所述子集的列表存储在基本输入输出系统之外的文件中;
发起所述节点的启动;以及
所述基本输入输出系统访问所述文件并且控制所述节点的启动以仅加载所述节点的所标识的部件的所述子集。
CN201610885162.7A 2015-10-15 2016-10-10 节点内的部件的选择性加载方法 Active CN106598637B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/884,351 US9910679B2 (en) 2015-10-15 2015-10-15 Selective loading of components within a node to speed up maintenance actions
US14/884,351 2015-10-15

Publications (2)

Publication Number Publication Date
CN106598637A true CN106598637A (zh) 2017-04-26
CN106598637B CN106598637B (zh) 2020-11-03

Family

ID=58456300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610885162.7A Active CN106598637B (zh) 2015-10-15 2016-10-10 节点内的部件的选择性加载方法

Country Status (3)

Country Link
US (1) US9910679B2 (zh)
CN (1) CN106598637B (zh)
DE (1) DE102016119738A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609699A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 维护存储系统的组件的方法、电子设备和计算机程序产品
CN113282539A (zh) * 2021-05-14 2021-08-20 北京达佳互联信息技术有限公司 信息加载方法、装置、电子设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10771439B2 (en) * 2017-06-28 2020-09-08 Microsoft Technology Licensing, Llc Shielded networks for virtual machines
US10613955B2 (en) * 2017-12-28 2020-04-07 Intel Corporation Platform debug and testing with secured hardware
CN111273954A (zh) * 2018-11-19 2020-06-12 中兴通讯股份有限公司 一种加载业务的方法及装置
US11288124B2 (en) * 2019-03-30 2022-03-29 Intel Corporation Methods and apparatus for in-field mitigation of firmware failures

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161646A1 (en) * 2009-12-24 2011-06-30 Insyde Software Corp. Method for performing quick boot and general boot at bios stage
CN102792270A (zh) * 2010-03-15 2012-11-21 思科技术公司 经由bios配置概要文件的bios参数虚拟化
US20130191439A1 (en) * 2012-01-19 2013-07-25 Microsoft Corporation Managing script file dependencies and load times
US20130198504A1 (en) * 2012-01-30 2013-08-01 Fujitsu Technology Solutions Intellectual Property Gmbh Methods of configuring a bios in a computer system and computer program products
CN104065625A (zh) * 2013-03-21 2014-09-24 联想(北京)有限公司 应用试用方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353885B1 (en) * 1999-01-26 2002-03-05 Dell Usa, L.P. System and method for providing bios-level user configuration of a computer system
US6671802B1 (en) * 2000-04-13 2003-12-30 Hewlett-Packard Development Company, L.P. Performance optimization of computer system by dynamically and immediately updating a configuration setting based on detected change in preferred use
JP3707410B2 (ja) * 2001-09-17 2005-10-19 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ装置、拡張デバイスの管理方法、コンピュータプログラム
US7725701B2 (en) * 2006-03-03 2010-05-25 Hewlett-Packard Development Company, L.P. Portable device comprising a BIOS setting
US7676671B2 (en) * 2006-10-31 2010-03-09 Hewlett-Packard Development Company, L.P. System for multi-profile boot selection of an embedded device
US7873824B2 (en) * 2007-06-01 2011-01-18 Advanced Micro Devices, Inc. Method and apparatus for remote BIOS configuration control
US8239665B2 (en) * 2007-10-31 2012-08-07 Dell Products L.P. Methods, systems and media for configuring boot options
US8078865B2 (en) * 2007-11-20 2011-12-13 Dell Products L.P. Systems and methods for configuring out-of-band bios settings
US7904708B2 (en) * 2008-02-18 2011-03-08 Dell Products L.P. Remote management of UEFI BIOS settings and configuration
TWI438676B (zh) * 2011-04-20 2014-05-21 Giga Byte Tech Co Ltd 基本輸入輸出系統之觸控設定方法、電腦系統及其記錄媒體
US20130086571A1 (en) * 2011-09-30 2013-04-04 International Business Machines Corporation Dynamically Updating Firmware In A Computing System
TWI480802B (zh) * 2013-11-18 2015-04-11 Insyde Software Corp Platform system, universal extension firmware interface Basic input and output system Support for hardware configuration changes, recording media and computer program products
US9128729B1 (en) * 2014-09-08 2015-09-08 Quanta Computer Inc. System and method for automatically configuring bios performance profiles

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161646A1 (en) * 2009-12-24 2011-06-30 Insyde Software Corp. Method for performing quick boot and general boot at bios stage
CN102792270A (zh) * 2010-03-15 2012-11-21 思科技术公司 经由bios配置概要文件的bios参数虚拟化
US20130191439A1 (en) * 2012-01-19 2013-07-25 Microsoft Corporation Managing script file dependencies and load times
US20130198504A1 (en) * 2012-01-30 2013-08-01 Fujitsu Technology Solutions Intellectual Property Gmbh Methods of configuring a bios in a computer system and computer program products
CN104065625A (zh) * 2013-03-21 2014-09-24 联想(北京)有限公司 应用试用方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609699A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 维护存储系统的组件的方法、电子设备和计算机程序产品
CN110609699B (zh) * 2018-06-15 2023-10-03 伊姆西Ip控股有限责任公司 维护存储系统的组件的方法、电子设备和计算机可读介质
CN113282539A (zh) * 2021-05-14 2021-08-20 北京达佳互联信息技术有限公司 信息加载方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN106598637B (zh) 2020-11-03
US9910679B2 (en) 2018-03-06
US20170109175A1 (en) 2017-04-20
DE102016119738A1 (de) 2017-04-20

Similar Documents

Publication Publication Date Title
CN106598637A (zh) 节点内的部件的选择性加载以加速维护动作
US20220284195A1 (en) Applied Artificial Intelligence Technology for Interactively Using Narrative Analytics to Focus and Control Visualizations of Data
CN107924323B (zh) 基于依赖的容器部署
CN108073519B (zh) 测试用例生成方法和装置
US20240037020A1 (en) System and Method for Automated Software Testing
US9703686B2 (en) Software testing optimizer
CN103793324B (zh) 嵌入式软件的测试装置和测试方法以及测试场景组合方法
US8549478B2 (en) Graphical user interface input element identification
KR101971389B1 (ko) 연합 기반 메모리 관리
US9672012B2 (en) Code validation using content assist
US9740481B2 (en) Electronic device and method for memory allocation in electronic device
CN107436794A (zh) 容器图像管理系统及方法
US7921230B2 (en) USB devices pre-configuration for KVM switch
US9317258B2 (en) Dynamic validation of models using constraint targets
CN110494857A (zh) 用于减少数字内容访问权限确定的等待时间的预测性本地预缓存
US11501753B2 (en) System and method for automating natural language understanding (NLU) in skill development
CN104199767B (zh) 测试方法和装置
US9501388B2 (en) Method and system for creating reference data
US10452508B2 (en) Managing a set of tests based on other test failures
US20160283225A1 (en) Increasing accuracy of traceability links and structured data
US20150135015A1 (en) Cloud auto-test system, method and non-transitory computer readable storage medium of the same
US8447710B1 (en) Method and system for reducing links in a Bayesian network
US10248534B2 (en) Template-based methodology for validating hardware features
US20220164707A1 (en) Electronic apparatus and controlling method thereof
AU2017225058B2 (en) Common declarative representation of application content and user interaction content processed by a user experience player

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