Assembly configuration method and apparatus, storage medium, and program product

CN119917159BActive Publication Date: 2026-09-25INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202412000086.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2026-09-25
Estimated Expiration
2044-12-30

AI Technical Summary

Technical Problem

然而,现有技术中提供的BIOS的配置方式由于使用不同场景下的配置工具时,需独立开发不同场景下配置工具中所有处理逻辑的代码,所导致耗费较多的开发资源的技术问题

Benefits of technology

[0011]在本申请实施例中,通过目标配置工具获取目标功能选项集合,其中,目标配置工具是基于目标固件程序运行的第一配置工具,或基于目标操作系统运行的第二配置工具,或基于目标带外管理控制器运行的第三配置工具,目标功能选项集合是目标账号通过目标配置工具为目标组件选定的功能选项集合,目标组件是基本输入/输出系统。然后,在接收到对目标服务器的重启指令的情况下,获取目标组件对应的历史功能选项集合,其中,目标服务器用于运行目标组件。接着,在目标功能选项集合中被目标选项标识所标识的第一功能选项与历史功能选项集合中被目标选项标识所标识的第二功能选项不一致的情况下,按照的第一功能选项的选项值配置目标组件中与目标选项标识匹配的目标功能。换言之,采用本申请实施例,一方面,通过提不论是基于固件程序运行的BIOS Setup,还是基于操作系统运行的带内工具,或是基于带外管理控制器运行的带外工具,都能共享同一套配置逻辑。换言之,开发人员只需在一处实现逻辑,即可覆盖所有配置场景,显著降低了代码开发和维护的复杂度,减少了开发资源的耗费。另一方面,通过目标配置工具获取目标功能选项集合,并在服务器重启后自动检查与历史功能选项集合的一致性,确保了配置的一致性和可靠性。在检测到配置差异时,系统能够自动按照用户最新的选择进行配置,避免了因场景切换导致的配置混乱,提高了服务器在不同使用场景下的稳定性和安全性。又一方面,通过统一配置逻辑和自动检测配置差异,还简化了设备的维护和升级过程。系统管理员可以快速识别和修正配置问题,缩短了维护时间,降低了维护成本,同时也减少了因配置错误导致的潜在服务中断时间。综上所述,采用本申请实施例,通过实现了统一配置逻辑、增强配置一致性与可靠性、增强系统自适应能力和提高维护升级效率的技术效果,解决了现有技术中开发资源消耗较多的技术问题。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119917159B_ABST
    Figure CN119917159B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a component configuration method and device, a storage medium and a program product, and relate to the field of computers. The method comprises: obtaining a target function option set by a target configuration tool, wherein the target configuration tool is a first configuration tool based on a target firmware program, a second configuration tool based on a target operating system, or a third configuration tool based on a target out-of-band management controller; in the case that a restart instruction for a target server is received, obtaining a historical function option set corresponding to a target component; in the case that a first function option identified by a target option identifier in the target function option set is inconsistent with a second function option identified by the target option identifier in the historical function option set, configuring a target function matched with the target option identifier in the target component according to an option value of the first function option. The technical problem of consuming many development resources is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computers, specifically to a method and apparatus for configuring components, a storage medium, and a program product. Background Technology

[0002] In current computer systems, the Basic Input / Output System (BIOS), a firmware component, acts as a bridge between hardware and software, undertaking critical tasks such as hardware initialization, self-test, and operating system loading. With the increasing complexity of servers and computing devices, the number of BIOS configuration options has grown exponentially. While this change has given users more ability to customize hardware behavior, it has also brought configuration challenges. Users often need a deep understanding of the function of each option to correctly adjust it to meet the needs of specific application scenarios.

[0003] Currently, to simplify user operations, the common configuration method is to provide linked options independently in different scenarios, such as the BIOS Setup interface, in-band tools, and out-of-band tools. This means that modifying one option automatically adjusts other related options. However, the existing BIOS configuration methods suffer from the technical problem of consuming significant development resources because each scenario's configuration tool requires independent development of code for all processing logic, resulting in substantial development costs.

[0004] Therefore, existing technologies have technical problems that consume a lot of development resources. Summary of the Invention

[0005] This application provides a component configuration method and apparatus, storage medium and program product, to at least solve the technical problem that the component configuration methods provided in the related art require a lot of development resources.

[0006] According to one embodiment of this application, a component configuration method is provided, comprising: obtaining a target function option set through a target configuration tool, wherein the target configuration tool is a first configuration tool running based on a target firmware program, or a second configuration tool running based on a target operating system, or a third configuration tool running based on a target out-of-band management controller, the target function option set is a set of function options selected by a target account for a target component through the target configuration tool, and the target component is a basic input / output system; upon receiving a restart command for a target server, obtaining a historical function option set corresponding to the target component, wherein the target server is used to run the target component; and if a first function option identified by a target option identifier in the target function option set is inconsistent with a second function option identified by a target option identifier in the historical function option set, configuring a target function in the target component that matches the target option identifier according to the option value of the first function option.

[0007] According to another embodiment of this application, a component configuration apparatus is provided, comprising: a first acquisition unit, configured to acquire a target function option set through a target configuration tool, wherein the target configuration tool is a first configuration tool running based on a target firmware program, or a second configuration tool running based on a target operating system, or a third configuration tool running based on a target out-of-band management controller, the target function option set being a set of function options selected by a target account for a target component through the target configuration tool, and the target component being a basic input / output system; a second acquisition unit, configured to acquire a historical function option set corresponding to the target component upon receiving a restart instruction for a target server, wherein the target server is used to run the target component; and a configuration unit, configured to configure a target function in the target component that matches the target option identifier according to the option value of the first function option when the first function option identified by the target option identifier in the target function option set is inconsistent with the second function option identified by the target option identifier in the historical function option set.

[0008] According to yet another embodiment of this application, a computer-readable storage medium is also provided, wherein a computer program is stored therein, and the computer program is configured to perform the steps in any of the above method embodiments when it is run.

[0009] According to yet another embodiment of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0010] According to yet another embodiment of this application, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps of the methods described in various embodiments of this application.

[0011] In this embodiment, a target function option set is obtained through a target configuration tool. This target configuration tool can be a first configuration tool running on the target firmware, a second configuration tool running on the target operating system, or a third configuration tool running on the target out-of-band management controller. The target function option set is the set of function options selected by the target account for the target component through the target configuration tool. The target component is a basic input / output system. Then, upon receiving a restart command for the target server, a historical function option set corresponding to the target component is obtained. The target server is used to run the target component. Next, if the first function option identified by the target option identifier in the target function option set is inconsistent with the second function option identified by the target option identifier in the historical function option set, the target function in the target component matching the target option identifier is configured according to the option value of the first function option. In other words, by adopting this embodiment, on the one hand, regardless of whether it is a BIOS Setup running on firmware, an in-band tool running on the operating system, or an out-of-band tool running on an out-of-band management controller, the same set of configuration logic can be shared. In other words, developers only need to implement the logic in one place to cover all configuration scenarios, significantly reducing the complexity of code development and maintenance, and reducing the consumption of development resources. On the other hand, by obtaining the target function option set through the target configuration tool and automatically checking its consistency with the historical function option set after the server restarts, configuration consistency and reliability are ensured. When configuration differences are detected, the system can automatically configure according to the user's latest selection, avoiding configuration chaos caused by scenario switching and improving the stability and security of the server under different usage scenarios. Furthermore, by unifying configuration logic and automatically detecting configuration differences, the maintenance and upgrade process of the device is simplified. System administrators can quickly identify and correct configuration problems, shorten maintenance time, reduce maintenance costs, and also reduce potential service interruption time caused by configuration errors. In summary, by adopting the embodiments of this application, the technical effects of achieving unified configuration logic, enhancing configuration consistency and reliability, enhancing system adaptability, and improving maintenance and upgrade efficiency are achieved, solving the technical problem of high development resource consumption in the prior art. Attached Figure Description

[0012] Figure 1 This is a flowchart of a component configuration method according to an embodiment of this application;

[0013] Figure 2This is a schematic diagram of a component configuration method according to an embodiment of this application;

[0014] Figure 3 This is a flowchart of a component configuration method according to an embodiment of this application;

[0015] Figure 4 This is a structural block diagram of a component configuration device according to an embodiment of this application. Detailed Implementation

[0016] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples.

[0017] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0018] As an optional solution, the configuration method for the above components involves the following specific steps: Figure 1 The following are included:

[0019] S102, obtain the target function option set through the target configuration tool, wherein the target configuration tool is a first configuration tool running based on the target firmware program, or a second configuration tool running based on the target operating system, or a third configuration tool running based on the target out-of-band management controller, and the target function option set is the set of function options selected by the target account for the target component through the target configuration tool, and the target component is the basic input / output system.

[0020] Optionally, the configuration methods of the above components can be applied, but are not limited to, configuration scenarios for the server's Basic Input / Output System (BIOS) functions.

[0021] It should be noted that the aforementioned target configuration tools refer to tools used to configure the target component (BIOS). These can be a first configuration tool running on the BIOS, a second configuration tool running on the target operating system, or a third configuration tool running on the target out-of-band management controller. These tools allow users to configure the server's BIOS from different operating environments.

[0022] Furthermore, the first configuration tool mentioned above may be used, but is not limited to, to instruct the BIOS Setup interface tool provided by the BIOS; the second configuration tool mentioned above may be used, but is not limited to, to instruct in-band tools, such as the System Configuration Engine (SCE); and the third configuration tool mentioned above may be used, but is not limited to, to instruct out-of-band tools, such as Postman.

[0023] Optionally, the target firmware program is the firmware program of the target server, the target operating system is the operating system of the target server, and the target out-of-band management controller is the out-of-band management controller of the target server.

[0024] It should be noted that the aforementioned set of target function options is a set of function options selected by the target account (such as an IT administrator or automated configuration software) through the target configuration tool, designed to configure the target component (BIOS). These options may include boot order, security settings, processor speed, etc.

[0025] S104, upon receiving a restart command for the target server, obtain the set of historical function options corresponding to the target component, wherein the target server is used to run the target component.

[0026] It should be noted that the above restart command can be, but is not limited to, a command triggered automatically by the user or the system, requiring the target server to restart. After restarting, the system will reread and apply the BIOS configuration.

[0027] Optionally, the aforementioned set of historical feature options can be a set of feature options recorded in the target component (BIOS) during a previous boot or configuration cycle on the target server. This set is used to compare with the target feature option set after a server restart to detect whether a configuration change has occurred.

[0028] S106, if the first function option identified by the target option identifier in the target function option set is inconsistent with the second function option identified by the target option identifier in the historical function option set, configure the target function in the target component that matches the target option identifier according to the option value of the first function option.

[0029] It should be noted that the target option identifier mentioned above is a marker used to uniquely identify the target functional option. The target option identifier can be the name of the configuration option, a GUID, or other unique identifier to ensure that the system can accurately identify and track the status of the configuration option.

[0030] Alternatively, as an optional example, the above steps can be illustrated by, but not limited to, the following examples:

[0031] S1, user Admin123 selected the Secure Boot feature in BIOS Setup, set the CPU performance mode to high performance, then saved the configuration and restarted the server.

[0032] S2. After the server restarts, the BIOS reads the currently configured function option set F1 during the startup phase and records its CRC value. At the same time, the BIOS reads the historical function option set F0 stored in non-volatile memory and compares the CRC values ​​of the two sets.

[0033] S3 detected an inconsistency in the CRC values ​​of the Secure Boot and CPU Performance Mode options, indicating that these options have been modified. BIOS then configured Secure Boot and Performance Mode according to the newly set values.

[0034] Alternatively, as another alternative example, the above steps can also be illustrated by the following examples, but not limited to:

[0035] S1, in the operating system, Admin123 uses SCE software to select to update the BIOS to the latest version and enable the Wake-on-LAN function, save the configuration and restart the server.

[0036] S2, after the server restarts, the BIOS reads the currently set function option set F2 and compares it with the CRC value of the historical function option set.

[0037] S3, the BIOS version and the CRC value of the Wake-on-LAN option are not consistent. The BIOS will automatically apply the new BIOS version and enable the Wake-on-LAN function.

[0038] Alternatively, as yet another example, the above steps can be illustrated by the following examples, but not limited to:

[0039] S1, via the BMC management controller, Admin123 remotely resets the server and adjusts the fan speed using the Redfish API, then saves the configuration and restarts the server.

[0040] S2, After the server restarts, the BIOS reads the currently set set of function options F3 and compares its CRC value with the historical set of function options.

[0041] S3, the CRC value of the fan speed and BMC firmware version option is not consistent. The BIOS allows the BMC to adjust the fan speed and update the BMC firmware version.

[0042] It should be noted that the above examples are optional examples provided to facilitate the explanation of the configuration methods of the above components, and there are no limitations on the specific implementation of the configuration methods of the above components.

[0043] In this embodiment, a target function option set is obtained through a target configuration tool. This target configuration tool can be a first configuration tool running on the target firmware, a second configuration tool running on the target operating system, or a third configuration tool running on the target out-of-band management controller. The target function option set is the set of function options selected by the target account for the target component through the target configuration tool. The target component is a basic input / output system. Then, upon receiving a restart command for the target server, a historical function option set corresponding to the target component is obtained. The target server is used to run the target component. Next, if the first function option identified by the target option identifier in the target function option set is inconsistent with the second function option identified by the target option identifier in the historical function option set, the target function in the target component matching the target option identifier is configured according to the option value of the first function option. In other words, by adopting this embodiment, on the one hand, regardless of whether it is a BIOS Setup running on firmware, an in-band tool running on the operating system, or an out-of-band tool running on an out-of-band management controller, the same set of configuration logic can be shared. In other words, developers only need to implement the logic in one place to cover all configuration scenarios, significantly reducing the complexity of code development and maintenance, and reducing the consumption of development resources. On the other hand, by obtaining the target function option set through the target configuration tool and automatically checking its consistency with the historical function option set after the server restarts, configuration consistency and reliability are ensured. When configuration differences are detected, the system can automatically configure according to the user's latest selection, avoiding configuration chaos caused by scenario switching and improving the stability and security of the server under different usage scenarios. Furthermore, by unifying configuration logic and automatically detecting configuration differences, the maintenance and upgrade process of the device is simplified. System administrators can quickly identify and correct configuration problems, shorten maintenance time, reduce maintenance costs, and also reduce potential service interruption time caused by configuration errors. In summary, by adopting the embodiments of this application, the technical effects of achieving unified configuration logic, enhancing configuration consistency and reliability, enhancing system adaptability, and improving maintenance and upgrade efficiency are achieved, solving the technical problem of high development resource consumption in the prior art.

[0044] As an optional approach, after obtaining the set of historical function options corresponding to the target component, the following is also included:

[0045] The i-th subset of the historical function option set is determined as the current historical subset, and the i-th subset of the target function option set is determined as the current target subset. The following steps are then performed:

[0046] If the j-th target function option in the current target subset is inconsistent with the j-th historical function option in the current historical subset, the j-th target function option is determined as the first function option, and the j-th historical function option is determined as the second function option. The option identifier corresponding to the j-th historical function option is the same as the option identifier corresponding to the j-th target function option.

[0047] Optionally, in this embodiment, the historical function option set and the target function option set can each be divided into N subsets, each containing a set of related function options. Grouping options in this way helps to manage and compare configuration options more efficiently. For example, in server BIOS configuration, the historical function option set may contain subsets related to security, boot, processor, network, etc., and each subset contains multiple function options related to that topic.

[0048] It should be noted that in this embodiment, if the values ​​of the j-th target function option and the j-th historical function option are found to be inconsistent during the comparison process, then these two options will be determined as the first function option (i.e., the target function option) and the second function option (i.e., the historical function option), respectively, indicating that the configuration has been changed.

[0049] The set of historical function options includes N subsets, the set of target function options includes N subsets, the current historical subset includes M function options, and the current target subset includes M function options. N is a positive integer, M is a positive integer, i is less than or equal to N and i is a positive integer, and j is less than or equal to M and j is a positive integer.

[0050] Alternatively, as an optional example, the above steps can be illustrated by, but not limited to, the following examples:

[0051] Assume that during the previous server startup, the BIOS was configured with four subsets: Security, Boot, Processor, and Network. Each subset contained multiple options; for example, the Security subset might contain 10 options such as password protection and Secure Boot. Upon server restart, the target feature option set will be read. If the target option identifier (e.g., option name) is the same as the historical option identifier, but the option value has changed (e.g., Secure Boot was disabled in the previous round but is enabled in this round), then the option has changed. The specific steps include:

[0052] S1, determine the safe subset in the historical function option set as the current historical subset (i=1).

[0053] S2, determine the safety subset in the target function option set as the current target subset (i=1).

[0054] S3, compare the safe start options (j=2) in the current target subset with the safe start options at the same position in the current history subset.

[0055] S4. The value of the Secure Boot option is inconsistent. It is determined that the Secure Boot option is the first function option in the target function option set, and the corresponding option in the previous configuration is the second function option.

[0056] S5, according to the option value of the first function option (i.e., in the target function option set), enables and updates the secure boot function in the BIOS.

[0057] It should be noted that the above examples are optional examples provided to facilitate the explanation of the configuration methods of the above components, and there are no limitations on the specific implementation of the configuration methods of the above components.

[0058] By employing the embodiments of this application, on the one hand, by dividing the set of functional options into multiple subsets, the configuration differences between these subsets can be processed in parallel or in stages, thereby improving the efficiency of configuration processing. This significantly reduces the time required for configuration comparison and processing, shortens the waiting time after server restarts, and enhances user experience and overall system performance.

[0059] As an optional approach, before determining the j-th target function option as the first function option and the j-th historical function option as the second function option, the following steps are also included:

[0060] S1, compare the target check code of the j-th target function option with the historical check code of the j-th historical function option.

[0061] It should be noted that the target check code mentioned above is a code calculated for each target function option (i.e., the configuration item selected by the user in the target configuration tool) to verify data integrity. It is usually generated using the Cyclic Redundancy Check (CRC) algorithm or other verification algorithms.

[0062] Optionally, the aforementioned historical checksum corresponds to the target checksum and is a checksum calculated when storing each historical function option (i.e., the configuration item saved in the previous round of startup or configuration on the server), used to verify whether the configuration has not been modified after a restart.

[0063] S2, if the target check code and the historical check code are inconsistent, determine that the j-th target function option and the j-th historical function option are inconsistent.

[0064] In other words, after the server restarts and reads the target feature option set, it compares the target checksum of each target feature option with the historical checksum of the corresponding historical feature option. If the two do not match, it indicates that the option or its related configuration may have been modified.

[0065] By using the embodiments of this application, the comparison of the verification code can more accurately determine the actual changes in the configuration options, reducing the risk of system instability or performance degradation caused by misoperation or unexpected configuration modifications.

[0066] As an optional approach, before determining the i-th subset of the historical feature option set as the current historical subset and determining the i-th subset of the target feature option set as the current target subset, the following steps are also included:

[0067] S1. Based on the functional information of the w target function options in the target function option set, classify the w target function options to obtain N target subsets.

[0068] Optionally, w here represents the total number of target feature options, which is a positive integer representing the number of all feature options obtained through the target configuration tool. These options may originate from BIOS Setup, tools within the operating system, or out-of-band management controllers.

[0069] Furthermore, the aforementioned functional information is data describing the specific function and purpose of the target option, such as the option's description, default value, and range of possible values, used to guide the classification of options. For example, functional information may include details such as the name, description, and whether it is a security-related option for each option; for instance, the description of the Secure Boot option is to enable or disable the Secure Boot function to ensure the security of the system during boot.

[0070] S2 generates check codes for each target function option in the q-th subset of N target subsets, resulting in the q-th target check code set, where q is less than or equal to N and q is a positive integer.

[0071] It should be noted that in this embodiment, each option has a unique variable name and variable GUID. During classification, these options can be categorized according to their variable names and GUIDs to avoid confusion in the configuration data.

[0072] By employing the embodiments of this application, target function options are categorized based on functional information to form N target subsets. This helps organize a large number of configuration options into logically related groups, facilitating management and subsequent change detection. This categorization mechanism makes configuration management more orderly, thereby improving the configuration efficiency and accuracy of components.

[0073] As an optional approach, before obtaining the target feature option set through the target configuration tool, the following steps are also included:

[0074] S1, retrieve the P historical function options corresponding to the target component.

[0075] It should be noted that P refers to the total number of historical function options stored in the BIOS, which is a positive integer. These P historical function options are records of the previous BIOS configuration process, used for configuration comparison during server restarts. For example, during the last server startup, the BIOS was configured with P=200 function options through BIOS Setup, operating system tools, or out-of-band management controllers, including Secure Boot, processor performance modes, etc.

[0076] S2, classify the P historical function options according to their respective function information to obtain N historical subsets, where the function information is used to indicate the function represented by the historical function option.

[0077] Optionally, the aforementioned functional information describes the function and characteristics of each historical functional option, including but not limited to the option type, function description, default value, and current value, to guide the classification of historical functional options. For example, the functional information may include details such as the type of the secure boot option (security setting category), function description (ensuring security during system boot), default value (disabled), and current value (enabled).

[0078] In other words, based on their respective functional information, the P historical functional options are categorized and processed to obtain N historical subsets. Each historical subset contains a group of functional options with similar or related functions, which helps the system manage and compare historical configuration information more efficiently.

[0079] S3 generates check codes for each historical function option in the q-th subset of N historical subsets, resulting in the q-th check code set, where q is less than or equal to N and q is a positive integer.

[0080] It should be noted that the aforementioned historical checksum set is generated for each historical feature option in the q-th subset (where q is a positive integer less than or equal to N) of N historical subsets. These checksums are used to quickly detect whether configuration options have changed when the server restarts.

[0081] S4, store the N sets of historical check codes corresponding to the N historical subsets into the non-volatile space of the target component.

[0082] Optionally, the aforementioned non-volatile space is a storage area within the BIOS that retains data even during power outages. It is used to store information that needs to remain valid after a server restart, such as historical function option values ​​and checksum sets.

[0083] By employing the embodiments of this application, generating and storing a historical checksum set can significantly optimize the configuration change detection process. Each time the target configuration tool is restarted or used, the system can directly compare the checksums of the stored historical checksum set with those of the newly generated target function option set to quickly determine whether the configuration has changed, without needing to read and compare each historical configuration option individually. This optimization reduces the computational load during the detection process and improves the configuration efficiency of the components.

[0084] As an optional approach, before configuring the target function in the target component that matches the target option identifier according to the option value of the first function option, the following is also included:

[0085] S1, when a first linked function option is identified that has a linkage relationship with the first function option, the linkage relationship between the first function option and the first linked function option is indicated through the target prompt interface. The prompt interface displays a remove control for removing the first linked function option, an add control for adding a second linked function option to the first function option, and a modify control for modifying the first linked function option. The option value of the function option that has a linkage relationship with the first function option will be automatically adjusted to an option value that matches the option value of the first function option.

[0086] It should be noted that the aforementioned first linked function option is a function option that is linked to the first function option (i.e., the option that the user directly modifies). This means that its option value will be automatically adjusted according to the modification of the first function option to ensure the consistency and functionality of the configuration. For example, if the first function option is to enable Secure Boot, the first linked function option might be UEFI boot and digital signature verification, because these options usually need to be used in conjunction with Secure Boot.

[0087] Optionally, the target prompt interface is displayed after a configuration change is detected. It informs the user of the interaction between options and provides user-operable controls to allow the user to adjust the linked options according to their needs. For example, the prompt interface might display: "You have enabled Secure Boot. This will automatically enable UEFI boot and digital signature verification. If you do not wish these features to be enabled, please use the controls at the bottom of the interface to make adjustments."

[0088] Furthermore, the aforementioned remove, add, and modify controls are used to remove, add, and modify functional options that are linked to the first functional option, respectively. Users can use these controls to fine-tune the linked options. For example, in the target prompt interface, a user can click the "Remove UEFI Boot" button to cancel its linkage with Secure Boot; click the "Add Protection" button to create a linkage between protection and Secure Boot; or adjust the value of the digital signature verification option to suit specific application scenarios.

[0089] For example, the above-mentioned prompt interface may include, but is not limited to, the following: Figure 2 As shown, the prompt interface displays a prompt message 202 that prompts the user to start the Secure Start function and modify the linked options, as well as a removal control 204 for removing linked options, an addition control 206 for adding other linked options to the Secure Start function, and a modification control 208 for modifying the option values ​​of linked options.

[0090] It should be noted that the above examples are optional examples provided to facilitate the explanation of the configuration methods of the above components, and there are no limitations on the specific implementation of the configuration methods of the above components.

[0091] S2-1, Upon receiving an option removal instruction triggered by the removal control, restore the option value of the first linked option to the historical option value.

[0092] S2-2, Upon receiving an option addition instruction triggered by adding a control, add a linkage relationship between the first function option and the second linkage function option.

[0093] S2-3, upon receiving an option modification instruction triggered by the modification control, modify the option value of the first linkage function option to the target value carried in the option modification instruction.

[0094] It should be noted that the option removal, option addition, and option modification commands are triggered by the user by clicking on the target prompt interface to remove, add, or modify controls, and are used to adjust the linkage relationship. For example, clicking "Remove Control" triggers the option removal command, and the system will cancel the linkage between UEFI boot and Secure Boot; clicking "Add Control" triggers the option addition command, and the system will create the linkage between Secure Boot and Security Protection; clicking "Modify Control" triggers the option modification command, and the system will adjust the option value of digital signature verification.

[0095] S4. If the countdown information displayed in the target prompt interface reaches the target threshold and no option removal command, option addition command, or option modification command has been received, stop displaying the target prompt interface.

[0096] Optionally, the system will display a countdown timer in the target prompt interface to limit the user's operation time. If the user does not perform any operation before the countdown ends (i.e., the target threshold is reached), the system will default to the configuration of the first function option and close the target prompt interface.

[0097] Alternatively, as an optional example, the above steps can be illustrated by, but not limited to, the following examples:

[0098] S1. When the administrator changes the Secure Boot option to the enabled state in the BIOS Setup interface or through tools such as SCE, the BIOS detects the linkage between Secure Boot and password protection and network access control, and pops up a prompt box in the interface to display the linkage between Secure Boot and password protection and network access control, as well as the removal, addition and modification of controls.

[0099] S2. After observing the linkage between password protection and Secure Start in the prompt box, the administrator decides to remove the linkage of password protection and clicks "Remove Linkage Control". BlOS receives the option removal command, restores the password protection option value to its historical value (e.g., the off state during the last configuration), and cancels its linkage with Secure Start.

[0100] S3. Next, the administrator decided to add hard drive encryption as a linked function option for Secure Boot. By clicking "Add Other Linked Option Controls," the administrator selected the hard drive encryption function and set its linkage with Secure Boot. The system automatically added the hard drive encryption option to the Secure Boot linked list.

[0101] S4, the administrator also decided to modify the default option values ​​for network access control by clicking the "Modify Default Password" control and entering a new network access password. BlOS received the option modification instruction and adjusted the default password value for network access control to the newly entered password value.

[0102] Throughout the process, if the user does not trigger any of the above controls, the prompt box will remain displayed, and a 5-second countdown will begin. If the administrator does not perform any operation before the countdown ends, BlOS will automatically close the prompt box after the countdown ends and continue configuration, ensuring that "Secure Boot" is enabled, and adjusting the disk encryption and network access control option values ​​according to the modified linkage. If the administrator performs any of the above operations, the countdown will stop until the administrator manually closes the prompt box to confirm the operation is complete.

[0103] It should be noted that the above examples are optional examples provided to facilitate the explanation of the configuration methods of the above components, and there are no limitations on the specific implementation of the configuration methods of the above components.

[0104] By employing the embodiments of this application, on the one hand, the target prompt interface intuitively displays the correlation between the first functional option and the first linked functional option with a linkage relationship to the user, allowing the user to clearly see which options will automatically adjust. This visual display method reduces the difficulty for users to understand complex configuration linkage relationships and improves the user experience. On the other hand, users are allowed to actively control the linkage relationship of the configuration by removing, adding, and modifying controls in the prompt interface. In other words, users can dynamically adjust the relationship between configuration items according to the needs of actual application scenarios, enhancing the flexibility of configuration and adapting to diverse business needs. Furthermore, a countdown mechanism is introduced, that is, when the countdown information reaches the target threshold and the user does not intervene within the countdown, the system automatically stops displaying the prompt interface and continues the configuration process. This avoids unnecessary user waiting time and improves the configuration efficiency of components. Moreover, by allowing users to modify the linkage relationship in the prompt interface, configuration errors and conflicts can be reduced. Users can promptly adjust linkage configurations that are not suitable for the current scenario, avoiding system performance degradation or functional abnormalities caused by improper configuration.

[0105] As an optional approach, after configuring the target function in the target component that matches the target option identifier according to the option value of the first function option, the following is also included:

[0106] S1, obtain the difference information between the current configuration state and the historical configuration state of the target component;

[0107] S2, Generate a configuration change log based on the difference information. The configuration change log includes, but is not limited to, the name of the changed function option, the option value before and after the change, the change time, and the change user identification information.

[0108] S3 stores the configuration change logs in the non-volatile storage area of ​​the target component or in the system log of the target server to facilitate subsequent troubleshooting and system maintenance.

[0109] In this embodiment, after the server BIOS configuration is changed, the system will further process the configuration change information to generate and store a configuration change log. The specific steps are as follows:

[0110] S1, Obtain Difference Information: After the target feature option set is applied, automatically compare the current configuration state of the target component (BlOS) with its historical configuration state, and collect the difference information of all changed feature options, including option name, option value before and after the change, change time, etc. For example: record that the Secure Startup feature changes from disabled to enabled, the change time is 10:30 in a certain month of a certain year, and the user who changed is admin.

[0111] S2, Generate Configuration Change Log: Based on the collected discrepancy information, generate a detailed configuration change log. The log includes the name of the changed feature option, the option value before and after the change, the change time, and the user's identification information. For example, a record in the configuration change log might be: "At 10:30:00 on a certain month of a certain year, the admin user modified the Secure Startup feature, changing it from disabled to enabled."

[0112] S3, Store Logs: Store configuration change logs in the non-volatile storage area of ​​the target component (BIOS) or in the system log of the target server, ensuring that these log information can still be accessed even after a power outage or restart.

[0113] By employing the embodiments of this application, on the one hand, when a server malfunctions or experiences an anomaly, maintenance personnel can view the configuration change logs to understand the recent BIOS configuration changes, quickly locate the root cause of potential problems, and thus improve the efficiency of troubleshooting and repair. On the other hand, the stored configuration change logs provide IT administrators with a basis for configuration management, helping them understand the evolution of configurations, optimize configuration strategies, and avoid problems caused by configuration conflicts or unreasonable configurations.

[0114] As an optional solution, the configuration methods for the above components also include:

[0115] S1, based on a machine learning model, performs intelligent analysis on the set of target function options and predicts the potential impact of configuration changes on system performance.

[0116] S2, The predicted performance impact report of the configuration change and the recommended optimization configuration suggestions are displayed on the prompt interface.

[0117] For example, the above steps can be implemented, but are not limited to, through the following methods:

[0118] S1. After obtaining the target function option set, intelligent analysis of configuration changes is performed using a machine learning model. The specific steps are as follows:

[0119] Model Training: Using a large amount of historical configuration data and corresponding system performance metrics, a machine learning model is trained to predict system performance based on configuration options. For example, model training might be based on data from the past 1000 configuration changes, including configuration options, system response time before and after the changes, CPU utilization, and other performance metrics.

[0120] Configuration Analysis: After the target feature option set is obtained, a trained machine learning model is used to analyze the potential impact of configuration changes on system performance, such as improving or decreasing response speed, or increasing or decreasing CPU utilization. For example, if the target feature option set includes switching the CPU performance mode from balanced to high performance, it is predicted that this will result in a 10% increase in CPU utilization.

[0121] Displaying analysis results: The system displays a report on the predicted performance impact of configuration changes, along with optimized configuration recommendations generated based on the predictions, on the prompt interface or other relevant user-facing interfaces. For example, the interface might display: "We detected that you have set the CPU performance mode to high performance, which will cause a 10% increase in CPU usage. We recommend that you also improve your cooling system to avoid overheating."

[0122] By employing the embodiments of this application, users can understand the potential performance impact before configuration changes through machine learning model analysis, which helps in making more reasonable configuration decisions. The system provides optimized configuration suggestions based on prediction results, guiding users on how to balance configuration requirements and system performance, avoiding performance degradation or resource waste caused by improper configuration. The intelligent analysis of machine learning reduces user guesswork regarding configuration consequences, improves configuration efficiency and accuracy, and avoids repeated adjustments and testing.

[0123] Optionally, but not limited to, it can be done through, for example Figure 3 The following example illustrates the overall configuration method for the above components:

[0124] S302, Initialize historical configuration: Obtain P historical function options of the target BIOS component, classify them into N historical subsets according to function information, calculate the CRC check code of each subset, and store them in the BIOS non-volatile space (NVRAM).

[0125] S304, Target Configuration Acquisition: Obtain the target function option set through target configuration tools (such as BIOS Setup, SCE, BMC's Redfish APl), classify w options, and generate N target subsets and CRC checksum sets.

[0126] S306, Restart and History Read: A set of options for reading history when the server restarts.

[0127] S308, Classification and Comparison: Compare the historical subset with the target subset in sequence. For all options (M options) in the i-th subset, compare the option value with the CRC checksum.

[0128] S310, Configuration Change Detection: When the target value of the j-th option is found to be inconsistent with the historical value, confirm the configuration update.

[0129] S312, Linkage Prompt and Management: For detected configuration changes, check whether there is a linkage relationship, prompt linkage options through a graphical interface, provide removal, addition, and modification functions, and automatically apply the configuration when there is no operation after the countdown ends.

[0130] S314, Configuration Application: Update the BlOS function according to the target value, record the change log, and complete the configuration process.

[0131] This embodiment also provides a component configuration device for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0132] Figure 4 This is a structural block diagram of a component configuration apparatus according to embodiments of this application, such as... Figure 4 As shown, the device includes:

[0133] The first acquisition unit 402 is used to acquire a target function option set through a target configuration tool, wherein the target configuration tool is a first configuration tool running based on the target firmware program, or a second configuration tool running based on the target operating system, or a third configuration tool running based on the target out-of-band management controller, and the target function option set is a set of function options selected by the target account for the target component through the target configuration tool, and the target component is a basic input / output system;

[0134] The second acquisition unit 404 is used to acquire the set of historical function options corresponding to the target component when a restart instruction is received for the target server, wherein the target server is used to run the target component;

[0135] Configuration unit 406 is used to configure the target function in the target component that matches the target option identifier according to the option value of the first function option when the first function option identified by the target option identifier in the target function option set is inconsistent with the second function option identified by the target option identifier in the historical function option set. As an optional solution,

[0136] Optionally, in this embodiment, the above-mentioned device further includes: a first determining unit, configured to determine the i-th subset in the historical function option set as the current historical subset, and determine the i-th subset in the target function option set as the current target subset, and perform the following steps: if the j-th target function option in the current target subset and the j-th historical function option in the current historical subset are inconsistent, determine the j-th target function option as the first function option and determine the j-th historical function option as the second function option, wherein the option identifier corresponding to the j-th historical function option is the same as the option identifier corresponding to the j-th target function option; wherein the historical function option set includes N subsets, the target function option set includes N subsets, the current historical subset includes M function options, the current target subset includes M function options, N is a positive integer, M is a positive integer, i is less than or equal to N and i is a positive integer, j is less than or equal to M and j is a positive integer.

[0137] Optionally, in this embodiment, the above-mentioned device further includes: a comparison unit, configured to compare the target check code of the j-th target function option with the historical check code of the j-th historical function option; and a second determination unit, configured to determine that the j-th target function option and the j-th historical function option are inconsistent if the target check code and the historical check code are inconsistent.

[0138] Optionally, in this embodiment, the above-mentioned device further includes: a first classification unit, configured to classify the w target function options according to the function information of the w target function options in the target function option set to obtain N target subsets; and a first generation unit, configured to generate a check code for each target function option in the qth subset of the N target subsets to obtain the qth target check code set, wherein q is less than or equal to N and q is a positive integer.

[0139] Optionally, in this embodiment, the above-mentioned device further includes: a third acquisition unit, configured to acquire P historical function options corresponding to the target component; a second classification unit, configured to classify the P historical function options according to the function information corresponding to each of the P historical function options to obtain N historical subsets, wherein the function information is used to indicate the function represented by the historical function option; a second generation unit, configured to generate a check code for each historical function option in the q-th subset of the N historical subsets to obtain the q-th check code set, wherein q is less than or equal to N and q is a positive integer; and a storage unit, configured to store the N historical check code sets corresponding to the N historical subsets into the non-volatile space of the target component.

[0140] Optionally, in this embodiment, the above-mentioned device further includes: a prompting unit, configured to, when a first linked function option with a linkage relationship is determined, prompt the linkage relationship between the first function option and the first linked function option through a target prompting interface, and display a remove control for removing the first linked function option, an add control for adding a second linked function option to the first function option, and a modify control for modifying the first linked function option in the prompting interface, wherein the option value of the function option with a linkage relationship with the first function option will be automatically adjusted to an option value that matches the option value of the first function option; and a removal unit, configured to, upon receiving a prompting interface, prompt the first function option for removing the first linked function option. In the absence of an option removal command triggered by a control, the option value of the first linked option is restored to its historical value; the add unit is used to add a linkage relationship between the first function option and the second linked function option when an option add command triggered by an add control is received; the modify unit is used to modify the option value of the first linked function option to the target value carried in the option modification command when an option modification command triggered by a modify control is received; the display unit is used to stop displaying the target prompt interface when the countdown information displayed in the target prompt interface reaches the target threshold and no option removal command, option add command, or option modification command has been received.

[0141] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.

[0142] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0143] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0144] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when run.

[0145] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0146] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0147] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0148] Embodiments of this application also provide a computer program product, including a non-volatile computer-readable storage medium storing the computer program product, wherein the computer program, when executed by a processor, implements the steps of the methods described in various embodiments of this application.

[0149] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.

[0150] Obviously, those skilled in the art should understand that the modules or steps of this application described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, this application is not limited to any particular hardware and software combination.

[0151] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.

Claims

1. A method for configuring a component, characterized in that, include: Choose the target configuration tool from the first configuration tool that runs based on the target firmware, the second configuration tool that runs based on the target operating system, and the third configuration tool that runs based on the target out-of-band management controller; The target configuration tool obtains a set of target function options and generates a corresponding target verification code for each target function option in the set of target function options. The set of target function options is the set of function options selected by the target account for the target component through the target configuration tool. The target component is a basic input / output system. Upon receiving a restart instruction for the target server, the system retrieves a set of historical function options corresponding to the target function option set, including: determining the i-th subset of the historical function option set as the current historical subset, and determining the i-th subset of the target function option set as the current target subset, and performing the following steps: if the j-th target function option in the current target subset is inconsistent with the j-th historical function option in the current historical subset, the j-th target function option is determined as the first function option, and the j-th historical function option is determined as the second function option, wherein the option identifier corresponding to the j-th historical function option is the same as the option identifier corresponding to the j-th target function option; Obtain the historical verification code corresponding to each historical function option in the set of historical function options, wherein the target server is used to run the target component; If the target check code of the j-th target function option and the historical check code of the j-th historical function option are inconsistent, the target function in the target component that matches the target option identifier is configured according to the option value of the first function option, wherein the target option identifier is used to identify the first function option in the target function option set.

2. The component configuration method according to claim 1, characterized in that, The historical function option set includes N subsets, the target function option set includes N subsets, the current historical subset includes M function options, and the current target subset includes M function options. N is a positive integer, M is a positive integer, i is less than or equal to N and i is a positive integer, and j is less than or equal to M and j is a positive integer.

3. The configuration method of the component according to claim 1, characterized in that, Before determining the j-th target function option as the first function option and the j-th historical function option as the second function option, the method further includes: Compare the target checksum of the j-th target function option with the historical checksum of the j-th historical function option; If the target check code and the historical check code are inconsistent, it is determined that the j-th target function option and the j-th historical function option are inconsistent.

4. The component configuration method according to claim 1, characterized in that, Before determining the i-th subset in the historical function option set as the current historical subset and determining the i-th subset in the target function option set as the current target subset, the method further includes: Based on the functional information of the w target function options in the target function option set, the w target function options are classified to obtain N target subsets; Generate a check code for each target function option in the q-th subset of the N target subsets to obtain the q-th target check code set, where q is less than or equal to N and q is a positive integer.

5. The method for configuring the component according to any one of claims 1 to 4, characterized in that, Before obtaining the target feature options set through the target configuration tool, it also includes: Obtain the P historical function options corresponding to the target component; The P historical function options are classified according to their respective function information to obtain N historical subsets, wherein the function information is used to indicate the function represented by the historical function option. Generate a check code for each historical function option in the q-th subset of the N historical subsets to obtain the q-th check code set, where q is less than or equal to N and q is a positive integer; Store the N sets of historical check codes corresponding to the N historical subsets into the non-volatile space of the target component.

6. The method for configuring the component according to any one of claims 1 to 4, characterized in that, Before configuring the target function in the target component that matches the target option identifier according to the option value of the first function option, the method further includes: When a first linked function option is identified that has a linkage relationship with the first function option, the linkage relationship between the first function option and the first linked function option is indicated through a target prompt interface. The prompt interface displays a remove control for removing the first linked function option, an add control for adding a second linked function option to the first function option, and a modify control for modifying the first linked function option. The option value of the function option that has a linkage relationship with the first function option will be automatically adjusted to an option value that matches the option value of the first function option. Upon receiving an option removal instruction triggered by the removal control, the option value of the first linked function option is restored to its historical value; Upon receiving an option addition instruction triggered by the addition control, a linkage relationship is added between the first function option and the second linkage function option; Upon receiving an option modification instruction triggered by the modification control, the option value of the first linkage function option is modified to the target value carried in the option modification instruction; If the countdown information displayed in the target prompt interface reaches the target threshold, and no instruction to remove, add, or modify the option is received, the target prompt interface will stop being displayed.

7. A component configuration apparatus, characterized in that, include: The first acquisition unit is used to select a target configuration tool from a first configuration tool running based on the target firmware program, a second configuration tool running based on the target operating system, and a third configuration tool running based on the target out-of-band management controller; The target configuration tool obtains a set of target function options and generates a corresponding target verification code for each target function option in the set. The set of target function options is the set of function options selected by the target account for the target component through the target configuration tool. The target component is a basic input / output system. The second acquisition unit is configured to, upon receiving a restart instruction for the target server, acquire a set of historical function options corresponding to the target function option set, including: determining the i-th subset in the historical function option set as the current historical subset, and determining the i-th subset in the target function option set as the current target subset, and performing the following steps: if the j-th target function option in the current target subset is inconsistent with the j-th historical function option in the current historical subset, determining the j-th target function option as the first function option, and determining the j-th historical function option as the second function option, wherein the option identifier corresponding to the j-th historical function option is the same as the option identifier corresponding to the j-th target function option; acquiring the historical verification code corresponding to each historical function option in the historical function option set, wherein the target server is used to run the target component; A configuration unit is configured to configure a target function in the target component that matches the target option identifier according to the option value of the first function option when the target check code of the j-th target function option and the historical check code of the j-th historical function option are inconsistent. The target option identifier is used to identify the first function option in the target function option set.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method according to any one of claims 1 to 6.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • System BIOS function configuration method and device, equipment and storage medium

    CN117667226A