Data Processing Method, Apparatus, Electronic Device, Storage Medium, and Program Product

通过在BIOS和BMC之间传递标识符和加密数据,解决了BIOS带外刷新导致的开机时间延长和异常问题,实现了灵活、安全的BIOS配置和升级过程。

CN119902810BActive Publication Date: 2025-07-08INSPUR (SHANDONG) COMPUTER TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510376566.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-28
Publication Date
2025-07-08
Estimated Expiration
2045-03-28

AI Technical Summary

Technical Problem

In the prior art, the BIOS out-of-band refresh operation will extend the boot time in scenarios where the original equipment manufacturer parameters are not required to be retained, and may cause boot exceptions when the BIOS version is updated.

Method used

By passing identifiers between the BIOS and the substrate management controller, it is determined whether to retain the target device manufacturer parameters, if retained, stored to the BMC for use on the next startup, otherwise the BIOS is configured directly based on the default parameters, adding encrypted data transmission to ensure data security and integrity.

Benefits of technology

The BIOS configuration process is optimized, the startup time is shortened, and the settings item leakage is prevented through encrypted data transmission, achieving flexible retention and secure upgrade of OEM projects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119902810B_ABST
    Figure CN119902810B_ABST
Patent Text Reader

Abstract

The present disclosure provides a data processing method, apparatus, electronic device, storage medium, and program product, which are applied to the field of computer technology. The method includes: starting the Basic Input / Output System (BIOS), and if a first identifier obtained from the Baseboard Management Controller (BMC) indicates that the target device manufacturer parameters are to be retained, sending the target device manufacturer parameters and a second identifier to the baseboard management controller; restarting the Basic Input / Output System again, and if a second identifier obtained from the baseboard management controller indicates that the target device manufacturer parameters are to be retained, obtaining the target device manufacturer parameters from the baseboard management controller; configuring the Basic Input / Output System based on the target device manufacturer parameters. In this way, the boot time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters can be reduced by adding the step of obtaining the identifier.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technologies, and in particular, to a data processing method, apparatus, electronic device, storage medium, and program product. Background Art

[0002] In the prior art, the original equipment manufacturer (OEM) parameters of the Basic Input Output System (BIOS) are stored in a Non-Volatile Random Access Memory (NVRAM). In the scenario of out-of-band BIOS version update, the stored OEM parameters are obtained from the Baseboard Management Controller (BMC) each time the device is powered on, and the BIOS is configured based on the obtained OEM parameters. However, in the scenario where the OEM parameters do not need to be retained, this acquisition operation will prolong the boot time. Summary of the Invention

[0003] The present disclosure provides a data processing method, apparatus, electronic device, storage medium, and program product to at least solve the above technical problems existing in the prior art.

[0004] According to a first aspect of the present disclosure, a data processing method is provided, which is applied to a Basic Input Output System. The method includes:

[0005] When starting the Basic Input Output System, if a first identifier obtained from the Baseboard Management Controller indicates that the target OEM parameters are to be retained, then the target OEM parameters and a second identifier are sent to the Baseboard Management Controller;

[0006] When restarting the Basic Input Output System, if a second identifier obtained from the Baseboard Management Controller indicates that the target OEM parameters are to be retained, then the target OEM parameters are obtained from the Baseboard Management Controller;

[0007] Based on the target OEM parameters, configure the Basic Input Output System.

[0008] In the above solution, after configuring the Basic Input Output System, the method further includes:

[0009] Send a third identifier to the Baseboard Management Controller;

[0010] The third identifier is used to indicate whether to retain the first original equipment manufacturer parameters or the target OEM parameters.

[0011] In the above solution, the method further includes:

[0012] If a first identifier obtained from a baseboard management controller indicates that the target device manufacturer parameters are not to be retained, send a second identifier to the baseboard management controller;

[0013] The second identifier is used to indicate that the first original equipment manufacturer parameters are to be retained.

[0014] In the above solution, the method further includes:

[0015] If a second identifier obtained from the baseboard management controller indicates that the target device manufacturer parameters are not to be retained, configure the basic input / output system based on the first original equipment manufacturer parameters.

[0016] In the above solution, the step of sending the target device manufacturer parameters and the second identifier to the baseboard management controller includes:

[0017] Call a first interface to obtain the target device manufacturer parameters stored in a first memory, encrypt the target device manufacturer parameters to obtain first encrypted data;

[0018] Determine that the value of the second identifier is a first preset value; when the value of the second identifier is the first preset value, it indicates that the target device manufacturer parameters are to be retained; when the value of the second identifier is a second preset value, it indicates that the first original equipment manufacturer parameters are to be retained;

[0019] Use the first encrypted data as the data header and the target device manufacturer parameters as the data body, and the data header and data body form second original equipment manufacturer parameters;

[0020] Send the second original equipment manufacturer parameters and the second identifier to the baseboard management controller.

[0021] In the above solution, the step of encrypting the target device manufacturer parameters to obtain first encrypted data includes:

[0022] Encrypt the version of the target device manufacturer parameters, the target device manufacturer parameters, and a first string based on an algorithm function to obtain first encrypted data.

[0023] In the above solution, the step of, if a second identifier obtained from the baseboard management controller indicates that the target device manufacturer parameters are to be retained, obtaining the target device manufacturer parameters from the baseboard management controller includes:

[0024] Obtain a second identifier from the baseboard management controller;

[0025] If a second identifier obtained from the baseboard management controller indicates that the target device manufacturer parameters are to be retained, obtain first encrypted data from the baseboard management controller;

[0026] Based on the first comparison result of the first encrypted data and the second encrypted data, confirm whether the target device manufacturer parameters are obtained from the baseboard management controller;

[0027] Wherein, the second encrypted data is obtained based on the current original equipment manufacturer parameters of the basic input / output system.

[0028] In the above solution, the step of confirming whether the target device manufacturer parameters are obtained from the baseboard management controller based on the first comparison result of the first encrypted data and the second encrypted data includes:

[0029] In response to the first encrypted data and the second encrypted data being the same, continue to start the basic input / output system.

[0030] In the above solution, the step of confirming whether the target device manufacturer parameters are obtained from the baseboard management controller based on the first comparison result of the first encrypted data and the second encrypted data includes one of the following:

[0031] In response to the first encrypted data and the second encrypted data being different but having the same version, obtain the target device manufacturer parameters from the baseboard management controller;

[0032] In response to the first encrypted data and the second encrypted data being different and having different versions, compare the items corresponding to the current original equipment manufacturer parameters and the items corresponding to the target device manufacturer parameters to obtain a second comparison result;

[0033] In response to the second comparison result indicating that a first item exists in the target device manufacturer parameters but does not exist in the current original equipment manufacturer parameters, send a first warning message to the baseboard management controller;

[0034] In response to the second comparison result including that the items corresponding to the current original equipment manufacturer parameters and the items corresponding to the target device manufacturer parameters are the same, or the items corresponding to the current original equipment manufacturer parameters are greater than the items corresponding to the target device manufacturer parameters, obtain the target device manufacturer parameters from the baseboard management controller;

[0035] Write the target device manufacturer parameters into the first memory.

[0036] According to a second aspect of the present disclosure, there is provided a data processing method applied to a baseboard management controller, the method including:

[0037] In response to the startup of the basic input / output system, send a first identifier to the basic input / output system;

[0038] In response to the first identifier indicating the retention of the target device manufacturer parameters, receive the target device manufacturer parameters and the second identifier transmitted by the basic input / output system, and store the target device manufacturer parameters in the second memory;

[0039] In response to the substrate input / output system restarting again, send the second identifier to the substrate input / output system;

[0040] In response to the second identifier indicating the retention of the target device manufacturer parameters, send the target device manufacturer parameters to the basic input / output system;

[0041] The target device manufacturer parameters are used to configure the basic input / output system.

[0042] In the above solution, the method further includes:

[0043] Receive a third identifier sent by the basic input / output system;

[0044] The third identifier is used to indicate the retention of the first original equipment manufacturer parameters or the retention of the target device manufacturer parameters.

[0045] In the above solution, the receiving the target device manufacturer parameters and the second identifier transmitted by the basic input / output system includes:

[0046] Receive the second original equipment manufacturer parameters with the first encrypted data as the data header and the target device manufacturer parameters as the data body transmitted and sent by the basic input / output system;

[0047] Receive the second identifier.

[0048] In the above solution, the sending the target device manufacturer parameters to the basic input / output system includes:

[0049] Send the first encrypted data;

[0050] In response to the basic input / output system confirming that the target device manufacturer parameters are obtained from the baseboard management controller based on the first encrypted data, send the target device manufacturer parameters.

[0051] In the above solution, the first encrypted data is used to compare with the second encrypted data to obtain a first comparison result;

[0052] The first comparison result is used for the basic input / output system to confirm whether the target device manufacturer parameters are obtained.

[0053] According to the third aspect of the present disclosure, a data processing method is provided, including:

[0054] The basic input / output system is started, and the baseboard management controller sends a first identifier to the basic input / output system;

[0055] In response to the first identifier indicating that the target device manufacturer parameters are to be reserved, the basic input / output system sends the target device manufacturer parameters and a second identifier to the baseboard management controller;

[0056] The basic input / output system is started again, and the baseboard management controller sends the second identifier to the basic input / output system;

[0057] In response to the second identifier indicating that the target device manufacturer parameters are to be reserved, the target device manufacturer parameters are obtained from the baseboard management controller;

[0058] Based on the target device manufacturer parameters, the basic input / output system is configured.

[0059] According to a fourth aspect of the present disclosure, there is provided an electronic device, including:

[0060] At least one processor; and

[0061] A memory communicatively connected to the at least one processor; wherein,

[0062] The memory stores instructions executable by the at least one processor, and when the instructions are executed by the at least one processor, the at least one processor is enabled to execute the method described in the present disclosure.

[0063] According to a fifth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to execute the method described in the present disclosure.

[0064] According to a sixth aspect of the present disclosure, there is provided a computer program product including a computer program which, when executed by a processor, implements the method described in the present disclosure.

[0065] The data processing method provided by the present disclosure starts the Basic Input / Output System (BIOS). If a first identifier obtained from the Baseboard Management Controller (BMC) indicates that the target device manufacturer parameters are to be retained, the target device manufacturer parameters and a second identifier are sent to the BMC. The BIOS is started again. If a second identifier obtained from the BMC indicates that the target device manufacturer parameters are to be retained, the target device manufacturer parameters are obtained from the BMC. The BIOS is configured based on the target device manufacturer parameters. It is determined whether to retain the target device manufacturer parameters based on the identifier obtained from the BMC after each startup of the BIOS. If retention is determined, the current target device manufacturer parameters of the BIOS are stored in the BMC for configuration based on the target device manufacturer parameters during the next startup. If retention is not determined, the BIOS is configured directly based on the default target device manufacturer parameters. In this way, the startup time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced by adding the step of obtaining the identifier.

[0066] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0067] By referring to the drawings and reading the following detailed description, the above and other objects, features, and advantages of the exemplary embodiments of the present disclosure will become easily understood. In the drawings, several embodiments of the present disclosure are shown in an exemplary and non-limiting manner, where:

[0068] In the drawings, the same or corresponding reference numerals represent the same or corresponding parts.

[0069] Figure 1 FIG. 1 shows a first alternative flowchart of the data processing method provided by the embodiment of the present disclosure;

[0070] Figure 2 FIG. 2 shows a second alternative flowchart of the data processing method provided by the embodiment of the present disclosure;

[0071] Figure 3 FIG. 3 shows a third alternative flowchart of the data processing method provided by the embodiment of the present disclosure;

[0072] Figure 4 FIG. 4 shows a fourth alternative flowchart of the data processing method provided by the embodiment of the present disclosure;

[0073] Figure 5 FIG. 5 shows a fifth alternative flowchart of the data processing method provided by the embodiment of the present disclosure;

[0074] Figure 6 Shows the sixth alternative flowchart of the data processing method provided by the embodiments of the present disclosure;

[0075] Figure 7 Shows the seventh alternative flowchart of the data processing method provided by the embodiments of the present disclosure;

[0076] Figure 8 Shows the eighth alternative flowchart of the data processing method provided by the embodiments of the present disclosure;

[0077] Figure 9 Shows the ninth alternative flowchart of the data processing method provided by the embodiments of the present disclosure;

[0078] Figure 10 Shows the first alternative structural diagram of the data processing device provided by the embodiments of the present disclosure;

[0079] Figure 11 Shows the second alternative structural diagram of the data processing device provided by the embodiments of the present disclosure;

[0080] Figure 12 Shows the composition structural diagram of an electronic device according to an embodiment of the present disclosure. Detailed implementation manners

[0081] To make the objectives, features, and advantages of the present disclosure more obvious and understandable, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present disclosure. Apparently, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative efforts shall fall within the protection scope of the present disclosure.

[0082] In the following description, "some embodiments" are involved, which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.

[0083] In the following description, the terms "first / second" only distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first / second" can be interchanged with a specific order or sequence when allowed, so that the embodiments of the present disclosure described here can be implemented in an order other than that illustrated or described here.

[0084] Unless otherwise defined, all technical and scientific terms used in this disclosure have the same meaning as commonly understood by those of ordinary skill in the technical field to which this disclosure belongs. The terms used in this disclosure are for the purpose of describing embodiments of this disclosure only and are not intended to limit this disclosure.

[0085] It should be understood that in various embodiments of this disclosure, the magnitude of the serial numbers of each implementation process does not imply the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of this disclosure.

[0086] During the R & D stage of server products and after mass supply, in case of some firmware problems or compatibility with new components, or even when patching the Central Processing Unit (CPU), the BIOS needs to be updated. Additionally, during the R & D and testing stage, the self-test of the BIOS needs to cover the compatibility between the previous and current versions and support upgrade / downgrade and parallel flashing.

[0087] BIOS flashing of the server is divided into in-band flashing and out-of-band flashing. In-band flashing refers to the operation of the BIOS self-flashing in a specific environment. Out-of-band flashing can be implemented by the BMC side or by using a burner for flashing, etc. The embodiments of this disclosure aim to solve the problem of in-band BIOS flashing.

[0088] In-band BIOS flashing needs to be implemented to directly flash the BIOS in the environments of Basic Input Output System Setup (BIOS Setup), Linux operating system (Linux), and Unified Extensible Firmware Interface shell (UEFI shell). There are corresponding update items under Setup. When executed in Linux, the refresh tool needs to be used to grant administrator privileges. In Linux, the root user or superuser do (sudo) can be used to elevate to administrator privileges. After the BIOS update operation, customers often do not want their Original Equipment Manufacturer (OEM) settings to be changed, but rather hope that the customized items can be retained after the update.

[0089] In the prior art, in-band BIOS flashing includes directly flashing the BIOS in the BIOS Setup, Linux, and UEFI shell environments. The BIOS Setup project settings are stored in a region at a fixed offset in the ROM. This region is the NVRAM, which stores all the project variables visible to the BIOS setup. When flashing the BIOS version, this region is skipped during the erase-write-update process to ensure that the project settings of the updated version remain unchanged.

[0090] This method is applicable when the platform initialization (PI) remains unchanged and there are no added or deleted items in the BIOS setup, and it is often applicable to the stage when the product is nearly mature or in mass production, only involving upgrades to solve some BIOS bug changes. However, if it involves, for example, platform initial code related to the CPU manufacturer, the microcode of the CPU, and FW updates of some underlying drivers, and there are some added or deleted items between the new version and the old version, and there are changes in the BIOS ROM layout, there will be problems in refreshing and retaining the NVRAM area of the BIOS. If the NVRAM area is skipped according to the offset of the old version, it may cause the device to fail to boot or abnormal booting, resulting in unpredictable impacts.

[0091] In view of the deficiencies in the related art, embodiments of the present disclosure provide a data processing method to at least solve some or all of the above technical problems. The embodiments of the present disclosure are designed based on the hardware communication protocol between the BIOS and the BMC, including but not limited to interfaces such as ipmi and redfish, and perform corresponding operations in combination with relevant operations selected by the user.

[0092] Figure 1 The first optional flowchart of the data processing method provided by the embodiments of the present disclosure is shown, and will be described according to each step.

[0093] Step S101, start the basic input / output system. If the first identifier obtained from the baseboard management controller indicates that the target device manufacturer parameters are to be retained, then send the target device manufacturer parameters and the second identifier to the baseboard management controller.

[0094] In some embodiments, when the electronic device is powered on, the BIOS is started, and the first identifier sent by the BMC is received. Among them, the first identifier is used to indicate retaining the first original device manufacturer parameters or the target device manufacturer parameters; the first original device manufacturer parameters include the default original device manufacturer parameters of the BIOS; the target device manufacturer parameters include the current original device manufacturer parameters of the BIOS, that is, when the BIOS is started this time, the original device manufacturer parameters stored in the first memory of the BIOS.

[0095] In some embodiments, the BIOS confirms the reserved original equipment manufacturer parameters based on the first identifier; in response to the first identifier indicating that the target equipment manufacturer parameters are to be reserved, the target equipment manufacturer parameters and the second identifier are sent to the baseboard management controller, so that the baseboard management controller stores the target equipment manufacturer parameters, and when the BIOS is started up next time, the target manufacturer parameters are transmitted to the BIOS for the BIOS to configure. The first identifier is sent by the BIOS to the BMC during the most recent startup; the most recent refers to the one before step S101.

[0096] In some embodiments, the BIOS sends the target equipment manufacturer parameters and the second identifier to the baseboard management controller, and the second identifier is used to indicate whether to reserve the first original equipment manufacturer parameters or the target equipment manufacturer parameters when the BIOS is started up next time.

[0097] In some alternative embodiments, after the BIOS sends the target equipment manufacturer parameters and the second identifier to the baseboard management controller, the target equipment manufacturer parameters stored in the first memory of the BIOS are deleted. Alternatively, the BIOS is updated and refreshed, and the system is restarted after the refresh is completed.

[0098] Step S102: Restart the basic input / output system. In response to the second identifier obtained from the baseboard management controller indicating that the target equipment manufacturer parameters are to be reserved, obtain the target equipment manufacturer parameters from the baseboard management controller.

[0099] In some embodiments, when the BIOS is restarted again, the second identifier sent by the BMC is received. In response to the second identifier obtained from the baseboard management controller indicating that the target equipment manufacturer parameters are to be reserved, obtain the target equipment manufacturer parameters from the baseboard management controller.

[0100] Step S103: Configure the basic input / output system based on the target equipment manufacturer parameters.

[0101] In some embodiments, after the BIOS receives the target equipment manufacturer parameters, the target equipment manufacturer parameters are stored in the first memory, and the BIOS is configured based on the target equipment manufacturer parameters. The specific configuration method is the same as the prior art and will not be repeated here.

[0102] Wherein, the first memory may be the NVRAM in the BIOS.

[0103] In this way, through the data processing method provided by the embodiments of the present disclosure, it is determined whether to retain the target device manufacturer parameters based on the identifier obtained from the BMC after each startup of the BIOS; if retained, the current target device manufacturer parameters of the BIOS are stored in the BMC for configuration based on the target device manufacturer parameters during the next startup; if not retained, the BIOS is directly configured based on the default original device manufacturer parameters; in this way, by adding the step of obtaining the identifier, the startup time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.

[0104] Figure 2 Fig. 2 shows a second alternative flowchart of the data processing method provided by the embodiments of the present disclosure, which will be described according to each step.

[0105] Step S201: Start the Basic Input / Output System. In response to the first identifier obtained from the Baseboard Management Controller indicating that the target device manufacturer parameters are to be retained, the target device manufacturer parameters and the second identifier are sent to the Baseboard Management Controller.

[0106] The specific step flow of step S201 is the same as that of step S101, and will not be repeated here.

[0107] Step S202: Restart the Basic Input / Output System. In response to the second identifier obtained from the Baseboard Management Controller indicating that the target device manufacturer parameters are to be retained, the target device manufacturer parameters are obtained from the Baseboard Management Controller.

[0108] The specific step flow of step S202 is the same as that of step S102, and will not be repeated here.

[0109] Step S203: Send a third identifier to the Baseboard Management Controller.

[0110] In some embodiments, the third identifier is used to indicate whether to use the first original device manufacturer parameters or the retained target device manufacturer parameters for the next configuration of the BIOS.

[0111] In this way, through the data processing method provided by the embodiments of the present disclosure, it is determined whether to retain the target device manufacturer parameters based on the identifier obtained from the BMC after each startup of the BIOS; if retained, the current target device manufacturer parameters of the BIOS are stored in the BMC for configuration based on the target device manufacturer parameters during the next startup; if not retained, the BIOS is directly configured based on the default target device manufacturer parameters; in this way, by adding the step of obtaining the identifier, the startup time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.

[0112] Figure 3The third alternative flowchart of the data processing method provided by the embodiments of the present disclosure is shown, and will be described according to each step.

[0113] Step S301: Start the basic input / output system and obtain a first identifier.

[0114] In some embodiments, when the electronic device is powered on, the BIOS is started, and the first identifier sent by the BMC is received. The electronic device may be a server.

[0115] Wherein, the first identifier is a first preset value or a second preset value; when the value of the second identifier is the first preset value, it represents retaining the target device manufacturer parameters; when the value of the second identifier is the second preset value, it represents retaining the first original equipment manufacturer parameters; in this embodiment, the value of the first identifier is the second preset value.

[0116] Step S302: In response to the first identifier obtained from the baseboard management controller indicating that the first original equipment manufacturer parameters are to be retained, send a second identifier to the baseboard management controller.

[0117] In some embodiments, the BIOS determines whether to retain the first original equipment manufacturer parameters based on the first identifier; in response to the first identifier indicating that the first original equipment manufacturer parameters are to be retained, send a second identifier to the baseboard management controller; the value of the second identifier is the second preset value.

[0118] Step S303: In response to the second identifier obtained from the baseboard management controller indicating that the first original equipment manufacturer parameters are to be retained, configure the basic input / output system based on the first original equipment manufacturer parameters.

[0119] In some embodiments, the BIOS determines whether to retain the first original equipment manufacturer parameters based on the second identifier; in response to the first identifier indicating that the first original equipment manufacturer parameters are to be retained, configure the basic input / output system based on the first original equipment manufacturer parameters. The specific configuration method can refer to the related art and will not be elaborated here.

[0120] In this way, through the data processing method provided by the embodiments of the present disclosure, it is determined whether to retain the target device manufacturer parameters according to the identifier obtained from the BMC after each startup of the BIOS; if retained, the current target device manufacturer parameters of the BIOS are stored in the BMC for configuration based on the target device manufacturer parameters during the next startup; if not retained, the BIOS is directly configured based on the default target device manufacturer parameters; in this way, the startup time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced by adding the step of obtaining the identifier.

[0121] Figure 4 FIG. 4 shows a fourth optional flowchart of the data processing method provided by the embodiments of the present disclosure, which will be described according to each step.

[0122] Step S401: Start the basic input / output system and receive a first identifier sent by the BMC.

[0123] In some embodiments, when the electronic device is powered on, the BIOS is started to receive a first identifier sent by the BMC. The first identifier is used to represent retaining the first original equipment manufacturer parameters or retaining the target equipment manufacturer parameters. If the first identifier represents retaining the first original equipment manufacturer parameters, it indicates that the BIOS is configured with the default original equipment manufacturer parameters. If the first identifier represents retaining the target equipment manufacturer parameters, it indicates that the BIOS is configured with the target equipment manufacturer parameters.

[0124] Step S402: In response to the first identifier obtained from the baseboard management controller representing retaining the target equipment manufacturer parameters, send the target equipment manufacturer parameters and a second identifier to the baseboard management controller.

[0125] In some embodiments, the BIOS calls a first interface to obtain the target equipment manufacturer parameters from a first memory. Optionally, the first interface may be an SCE interface, and the first memory may be a BIOS ROM.

[0126] In some embodiments, after the BIOS obtains the target equipment manufacturer parameters, it encrypts the target equipment manufacturer parameters and sends the encrypted target equipment manufacturer parameters and a second identifier to the BMC. The second identifier is used to represent retaining the first original equipment manufacturer parameters or retaining the target equipment manufacturer parameters. If the second identifier represents retaining the first original equipment manufacturer parameters, it indicates that the BIOS is configured with the default original equipment manufacturer parameters. If the second identifier represents retaining the target equipment manufacturer parameters, it indicates that the BIOS is configured with the target equipment manufacturer parameters.

[0127] Specifically, the BIOS may encrypt the version of the target equipment manufacturer parameters, the target equipment manufacturer parameters, and a first string based on an algorithm function to obtain first encrypted data. The first string is used to enhance the complexity of the algorithm function to prevent the encrypted data from being cracked and can be obtained based on experience, experimental results, or user input.

[0128] In some embodiments, the BIOS uses the first encrypted data as a data header and the target equipment manufacturer parameters as a data body. The data header and the data body form second original equipment manufacturer parameters, and the second original equipment manufacturer parameters and a second identifier are sent to the baseboard management controller.

[0129] Step S403: Restart the BIOS again and receive the second identifier sent by the BMC.

[0130] Step S404: In response to the second identifier obtained from the baseboard management controller indicating that the target device manufacturer parameters are to be retained, obtain the first encrypted data from the baseboard management controller.

[0131] In some embodiments, the BIOS obtains the first encrypted data from the BMC.

[0132] Step S405: Based on the first comparison result of the first encrypted data and the second encrypted data, confirm whether to obtain the target device manufacturer parameters from the baseboard management controller.

[0133] In some embodiments, the BIOS obtains the currently stored original device manufacturer parameters in the first memory based on the first interface (i.e., the original device manufacturer parameters stored in the BIOS when restarted), and encrypts the version of the currently stored original device manufacturer parameters, the version of the currently stored original device manufacturer parameters, and the first string based on an algorithm function to obtain the second encrypted data.

[0134] In some embodiments, the BIOS compares the first encrypted data and the second encrypted data. If the first encrypted data is the same as the second encrypted data, it indicates that the currently stored original device manufacturer parameters in the BIOS are the same as the target device manufacturer parameters, and the BIOS can be directly configured based on the currently stored original device manufacturer parameters without obtaining them from the BMC.

[0135] If the first encrypted data is different from the second encrypted data, it indicates that the currently stored original device manufacturer parameters in the BIOS are different from the target device manufacturer parameters, and the second original device manufacturer parameters need to be obtained from the BMC.

[0136] Step S406: Configure the basic input / output system based on the target device manufacturer parameters.

[0137] In some embodiments, after the BIOS obtains the second original device manufacturer parameters from the BMC, it first confirms the difference between the target device manufacturer parameters in the second original device manufacturer parameters and the currently stored original device manufacturer parameters.

[0138] Specifically, the BIOS compares the version of the target device manufacturer parameters with the version of the currently stored original device manufacturer parameters. If the versions are different, it then compares the items corresponding to the currently stored original device manufacturer parameters and the items corresponding to the target device manufacturer parameters to obtain the second comparison result.

[0139] In some embodiments, the second comparison result is obtained based on the comparison results of each item between the target device manufacturer parameters and the current original equipment manufacturer parameters.

[0140] Specifically, in response to the second comparison result indicating that the first item exists in the target device manufacturer parameters but does not exist in the current original equipment manufacturer parameters, a first warning message is sent to the baseboard management controller; it is stated that this is an item deleted in this version, or that the setting of the OEM setup item does not exist in the new version (current original equipment manufacturer parameters). Then, the BIOS will record the corresponding item name and pass it to the BMC through the OEM cmd, and display the first warning message in the SEL log of the BMC web to inform the user.

[0141] Specifically, in response to the second comparison result including that the item corresponding to the current original equipment manufacturer parameters is the same as the item corresponding to the target device manufacturer parameters, or the number of items corresponding to the current original equipment manufacturer parameters is greater than the number of items corresponding to the target device manufacturer parameters, the target device manufacturer parameters are obtained from the baseboard management controller; for the case where the number of items corresponding to the current original equipment manufacturer parameters is greater than the number of items corresponding to the target device manufacturer parameters, it means that this is a newly added item in this version. Then, the target device manufacturer parameters read from the BMC do not have this item, which does not affect the user's setting because it is outside the OEM project itself, and the comparison of the next item can continue directly.

[0142] In some embodiments, the BIOS writes the target device manufacturer parameters into the first memory and performs BIOS configuration based on the target device manufacturer parameters.

[0143] In this way, through the data processing method provided by the embodiments of the present disclosure, it breaks through the limitations of the traditional method of cross-pi upgrade and iteration, where the values of items in the NVRAM area may cause downtime during addition and deletion, and the OEM items cannot be retained, and users need to manually set them again. It can be directly upgraded to the new version in one step; by adding identifiers, encrypting data, and determining version comparison, the boot time is greatly optimized; by encrypting the transmitted data, it prevents the attack and leakage of the setting items. No matter how many version iterations there are, as long as it is the BIOS firmware of the same product, the retention of the OEM setup item settings can be achieved; for which OEM setup items need to be retained, it can be user-defined, which is more flexible than the traditional method and saves at least more than 30s. The specific time depends on the number of OEM items.

[0144] Figure 5 FIG. shows the fifth optional flowchart of the data processing method provided by the embodiments of the present disclosure, and will be described according to each step.

[0145] Step S501, in response to the startup of the Basic Input / Output System (BIOS), send a first identifier to the BIOS.

[0146] In some embodiments, in response to the startup of the BIOS, the Baseboard Management Controller (BMC) sends a first identifier to the BIOS system. The first identifier was sent to the BMC after the BIOS's most recent startup.

[0147] Step S502, if the first identifier indicates that the target device manufacturer parameters are to be retained, the BMC receives the target device manufacturer parameters and a second identifier transmitted by the BIOS, and stores the target device manufacturer parameters in a second memory.

[0148] In some embodiments, the second memory is the Baseboard Management Controller Electrically Erasable Programmable Read-Only Memory (BMC EEPROM).

[0149] In some embodiments, if the BIOS needs to retain the target device manufacturer parameters for configuration, the BMC receives the target device manufacturer parameters and a second identifier sent by the BIOS. The second identifier is used to indicate whether to retain the first original equipment manufacturer parameters or the target device manufacturer parameters.

[0150] Step S503, in response to the restart of the Baseboard Input / Output System, send a second identifier to the Baseboard Input / Output System.

[0151] In some embodiments, in response to the restart of the BIOS, the BMC sends a second identifier to the BIOS.

[0152] Step S504, if the second identifier indicates that the target device manufacturer parameters are to be retained, send the target device manufacturer parameters to the BIOS.

[0153] In some embodiments, if the second identifier indicates that the BIOS is to be configured using the target device manufacturer parameters, after receiving an acquisition instruction sent by the BIOS, the BMC sends the target device manufacturer parameters to the BIOS, so that the BIOS configures the Basic Input / Output System based on the target device manufacturer parameters.

[0154] In some alternative embodiments, after the BIOS completes the configuration, the BMC receives a third identifier sent by the Basic Input / Output System; the third identifier is used to indicate whether to retain the first original equipment manufacturer parameters or the target device manufacturer parameters.

[0155] In this way, through the data processing method provided by the embodiments of the present disclosure, the BMC sends an identifier to the BIOS to determine whether the BIOS retains the target device manufacturer parameters; if so, the current target device manufacturer parameters of the BIOS are stored in the BMC for configuration based on the target device manufacturer parameters during the next startup; if not, the BIOS is configured directly based on the default target device manufacturer parameters; in this way, by adding the step of obtaining the identifier, the startup time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.

[0156] Figure 6 FIG. 6 shows a sixth alternative flowchart of the data processing method provided by the embodiments of the present disclosure, and will be described according to each step.

[0157] Step S601, in response to the startup of the Basic Input / Output System, send a first identifier to the Basic Input / Output System.

[0158] The specific step flow of step S601 is the same as that of step S501, and will not be repeated here.

[0159] Step S602, in response to the first identifier indicating that the target device manufacturer parameters are to be retained, the BMC receives the second original equipment manufacturer parameters and the second identifier transmitted by the Basic Input / Output System, and stores the target device manufacturer parameters in the second memory.

[0160] In some embodiments, if the BIOS needs to retain the target device manufacturer parameters for configuration, the BMC receives the second original equipment manufacturer parameters and the second identifier sent by the BIOS. The second identifier is used to indicate that the target device manufacturer parameters are to be retained.

[0161] Step S603, in response to the restart of the Baseboard Input / Output System, send a second identifier to the Baseboard Input / Output System.

[0162] In some embodiments, in response to the restart of the BIOS, the BMC sends a second identifier to the BIOS.

[0163] Step S604, send the first encrypted data.

[0164] In some embodiments, if the second identifier indicates that the BIOS uses the target device manufacturer parameters for configuration, after receiving the acquisition instruction sent by the BIOS, the BMC sends the first encrypted data to the BIOS.

[0165] Step S605, in response to the Basic Input / Output System confirming that the target device manufacturer parameters are obtained from the Baseboard Management Controller based on the first encrypted data, send the target device manufacturer parameters.

[0166] In some embodiments, the first encrypted data is used to be compared with the second encrypted data to obtain a first comparison result; the first comparison result is used for the Basic Input / Output System (BIOS) to confirm whether the target device manufacturer parameters are obtained. If the first comparison result indicates whether the BIOS has obtained the target device manufacturer parameters, the target device manufacturer parameters are sent.

[0167] In some alternative embodiments, after the BIOS completes configuration, the Baseboard Management Controller (BMC) receives a third identifier sent by the Basic Input / Output System; the third identifier is used to indicate retaining the first original device manufacturer parameters or retaining the target device manufacturer parameters.

[0168] In this way, through the data processing method provided by the embodiments of the present disclosure, the BMC sends an identifier to the BIOS to determine whether the BIOS retains the target device manufacturer parameters; if so, the current target device manufacturer parameters of the BIOS are stored in the BMC for configuration based on the target device manufacturer parameters during the next startup; if not, the BIOS is directly configured based on the default target device manufacturer parameters; in this way, by adding the step of obtaining the identifier, the startup time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.

[0169] Figure 7 FIG. 7 shows a seventh alternative flowchart of the data processing method provided by the embodiments of the present disclosure, and will be described according to each step.

[0170] Step S701: Start the BIOS, and the BMC sends a first identifier to the BIOS.

[0171] In some embodiments, when the electronic device is powered on, the BIOS is started, and the BMC sends a first identifier to the BIOS.

[0172] Step S702: If the first identifier indicates that the target device manufacturer parameters are to be retained, the BIOS sends the target device manufacturer parameters and a second identifier to the BMC.

[0173] In some embodiments, the BIOS confirms the retained original device manufacturer parameters based on the first identifier; if the first identifier indicates that the target device manufacturer parameters are to be retained, the BIOS sends the target device manufacturer parameters and a second identifier to the Baseboard Management Controller. So that the Baseboard Management Controller stores the target device manufacturer parameters, and when the BIOS is started next time, the target manufacturer parameters are transmitted to the BIOS for the BIOS to configure.

[0174] In some embodiments, the BIOS sends the target device manufacturer parameters and a second identifier to the baseboard management controller, and the second identifier is used to represent retaining the first original equipment manufacturer parameters or the target device manufacturer parameters when the BIOS starts up next time.

[0175] In some alternative embodiments, after the BIOS sends the target device manufacturer parameters and the second identifier to the baseboard management controller, the BIOS deletes the target device manufacturer parameters stored in the first memory of the BIOS. Alternatively, the BIOS is updated and refreshed, and the system is restarted after the refresh is completed.

[0176] Step S703: Restart the BIOS, and the BMC sends the second identifier to the BIOS.

[0177] Step S704: If the second identifier indicates retaining the target device manufacturer parameters, the BIOS obtains the target device manufacturer parameters from the BMC.

[0178] Step S705: Configure the basic input / output system based on the target device manufacturer parameters.

[0179] In some embodiments, after the BIOS receives the target device manufacturer parameters, the BIOS stores the target device manufacturer parameters in the first memory and configures the BIOS based on the target device manufacturer parameters. The specific configuration method is the same as that of the prior art and will not be repeated here.

[0180] Among them, the first memory may be the NVRAM in the BIOS.

[0181] In this way, through the data processing method provided by the embodiments of the present disclosure, it is determined whether to retain the target device manufacturer parameters according to the identifier obtained from the BMC after each startup of the BIOS; if retained, the current target device manufacturer parameters of the BIOS are stored in the BMC for configuration based on the target device manufacturer parameters during the next startup; if not retained, the BIOS is directly configured based on the default target device manufacturer parameters; in this way, by adding the step of obtaining the identifier, the startup time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.

[0182] Figure 8 The eighth alternative flowchart of the data processing method provided by the embodiments of the present disclosure is shown, and will be described according to each step.

[0183] Step S801: Start the BIOS, and the BMC sends the first identifier to the BIOS.

[0184] The first identifier is sent by the BIOS to the BMC before this startup, aiming to indicate the OEM used during this BIOS update. The first identifier can be a preset value; if the first identifier is the first preset value, it indicates to retain the target device manufacturer parameters, that is, when refreshing the BIOS next time, use the existing and configured OEM configuration BIOS. The first preset value can be "False"; when the value of the first identifier is the second preset value, it indicates to retain the first original equipment manufacturer parameters, and the second preset value can be "true".

[0185] Step S802, the BIOS confirms the configuration parameters of the BIOS based on the first identifier.

[0186] In some embodiments, if the value of the first identifier is the first preset value, it is confirmed that when refreshing the BIOS next time, use the existing and configured OEM configuration BIOS, that is, configure with the target device manufacturer parameters, and execute step S804.

[0187] In other embodiments, if the value of the first identifier is the second preset value, it is confirmed that when refreshing the BIOS next time, use the default original equipment manufacturer parameters, that is, the first original equipment manufacturer parameters for configuration, and execute step S803.

[0188] Step S803, restart the BIOS and configure based on the first original equipment manufacturer parameters stored in the first memory.

[0189] Step S804, the BIOS sends the target device manufacturer parameters and the second identifier to the BMC.

[0190] In some embodiments, the BIOS calls the first interface to obtain the target device manufacturer parameters from the first memory; optionally, the first interface can be the SCE interface; the first memory can be the BIOS ROM.

[0191] In some embodiments, after the BIOS obtains the target device manufacturer parameters, it encrypts the target device manufacturer parameters and sends the encrypted target device manufacturer parameters and the second identifier to the BMC. The second identifier is used to indicate whether to retain the first original equipment manufacturer parameters or the target device manufacturer parameters; if the second identifier indicates to retain the first original equipment manufacturer parameters, it means that the BIOS configures with the default original equipment manufacturer parameters; if the second identifier indicates to retain the target device manufacturer parameters, it means that the BIOS configures with the target device manufacturer parameters.

[0192] During specific implementation, the BIOS can encrypt the version of the target device manufacturer parameters, the target device manufacturer parameters, and the first string based on an algorithm function to obtain the first encrypted data. The first string is used to enhance the complexity of the algorithm function and prevent the encrypted data from being cracked. It can be obtained based on experience, experimental results, or user input.

[0193] Specifically, it can be calculated using the following algorithm:

[0194] Decrypt = Alg(Ver, String, "@Salt@")

[0195] Where Decrypt is the first encrypted data, which is a value of a fixed length; Alg is the called algorithm function, String is the target device manufacturer parameter, Ver is the version of the target device manufacturer parameter, and @Salt@ is the first string. Specifically, Ver is the version of the input BIOS OEM Setup item. As long as there are changes in the NVRAM area or additions or deletions to the Setup items during the release, this version number will be incremented. For the same version of the bios, only the values of the items are different, not involving additions, deletions, or changes to the NVRAM layout. It can be understood as a macroscopic determination. If Ver remains unchanged, it means that it does not involve, for example, cpu PI code, microcode, and some underlying driver firmware (Firmware, FW) updates, and there are no additions or deletions to the items before and after the update. If there are changes, only the difference in string will be involved, and it will involve some modifications to the default values of the OEM items.

[0196] Determine the second original equipment manufacturer parameter based on the first encrypted data and the target device manufacturer parameter; among them, Decrypt is sent to the BMC as the Header of String and stored in the EEPROM of the BMC together with String.

[0197] In some embodiments, the BIOS sets the value of the second identifier to the first preset value and sends it to the BMC together with the second original equipment manufacturer parameter.

[0198] Step S805, the BMC stores the second original equipment manufacturer parameter in the second memory.

[0199] Wherein, the second memory is the EEPROM.

[0200] Step S806, refresh the BIOS and restart the system.

[0201] In some embodiments, the BIOS is fully refreshed, and the system is restarted after the refresh is completed.

[0202] Step S807, the BMC sends the second identifier to the BIOS.

[0203] Step S808, the BIOS confirms the configuration parameters of the BIOS based on the second identifier.

[0204] Step S809, the BIOS obtains the first encrypted data from the BMC.

[0205] In some embodiments, the BIOS obtains the currently stored original equipment manufacturer (OEM) parameters in the first memory based on the first interface, and encrypts the version of the currently stored OEM parameters, the version of the currently stored OEM parameters, and the first string based on an algorithm function to obtain the second encrypted data.

[0206] Step S810, based on the first comparison result of the first encrypted data and the second encrypted data, confirm whether to obtain the target OEM parameters from the baseboard management controller (BMC).

[0207] In some embodiments, the BIOS compares the first encrypted data and the second encrypted data. If the first encrypted data is the same as the second encrypted data, it indicates that the currently stored OEM parameters in the BIOS are the same as the target OEM parameters, and the BIOS can be directly configured based on the currently stored OEM parameters without obtaining them from the BMC, and step S812 is executed.

[0208] If the first encrypted data is different from the second encrypted data, it indicates that the currently stored OEM parameters in the BIOS are different from the target OEM parameters, and the target OEM parameters need to be obtained from the BMC.

[0209] Step S811, the BIOS obtains the target OEM parameters from the BMC.

[0210] Step S812, configure the BIOS.

[0211] In some embodiments, the BIOS is configured based on the parameters indicated by the second identifier.

[0212] In this way, through the data processing method provided by the embodiments of the present disclosure, it breaks through the limitations of the traditional method of cross-pi upgrade iteration, where the project values in the NVRAM area may cause downtime during addition or deletion, and the OEM projects cannot be retained and need to be manually set again by the user. It can be directly upgraded to the new version in one step; by adding identifiers, encrypting data, and comparing versions for determination, the boot time is greatly optimized; by encrypting the transmitted data, it prevents the settings from being attacked and leaked. Regardless of how many version iterations there are, as long as it is the BIOS firmware of the same product, the retention of the OEM setup project settings can be achieved; for which OEM setup projects need to be retained, it can be user-defined, which is more flexible than the traditional method and saves at least more than 30s, and the specific time depends on the number of OEM projects.

[0213] Figure 9 FIG. 9 shows an alternative flowchart of the data processing method provided by an embodiment of the present disclosure, which will be described according to each step.

[0214] In some embodiments, each time the BIOS finishes booting, it sends a boot completion identifier flashflag (i.e., one of the first identifier, the second identifier, and the third identifier) to the BMC through the OEM cmd. The flashflag is mainly used to be sent from the BMC to the BIOS during the booting process. The BIOS reads the identifier. If the value is the first preset value (true), it means that this boot is the first boot after retaining the parameters of the current configuration and updating the BIOS ROM. Then the BIOS will read back the retained OEM setup items (target device manufacturer parameters) from the EEPROM of the BMC, and then assign values to the NVRAM area of the BIOS. The addition of this identifier judgment is because the operation of the BIOS reading back these target device manufacturer parameters from the BMC is relatively time-consuming. To optimize the booting duration, the embodiments of the present disclosure use the identifier to indicate whether a read-back operation is required or not, which is reflected as not requiring the BIOS to read the target device manufacturer parameters from the BMC every time it boots, but only performing the read-back after the operation of retaining the configuration upgrade. Moreover, after the booting is completed, the flashflag is set to the second preset value (false). When booting again later, the BIOS will not repeatedly read the target device manufacturer parameters from the BMC, thus shortening the booting duration.

[0215] Step S901: Boot the machine and receive the first identifier.

[0216] In some embodiments, when the electronic device boots into the system or setup, if it is selected to retain the BIOS configuration and refresh, then before executing the update of the BIOS ROM, the SCE interface will be called to obtain the OEM setup parameters from the BIOS ROM. Here, the target device manufacturer parameters are named String and transmitted to the BMC through the protocol channel between the BIOS and the BMC. Before the transmission, algorithm verification can be performed. The algorithm formula is as follows:

[0217] Decrypt = Alg(Ver, String, "@Salt@")

[0218] Among them, Decrypt is a fixed-length value of the output. As the header of the String, it is sent to the BMC together with the String and stored in the EEPROM of the BMC. Alg is the called algorithm function. Among the parameter parts: Ver is the version of the input BIOS OEMSetup item (i.e., the version of the target device manufacturer's parameters). As long as there are changes in the NVRAM area or items are added or deleted in Setup, the version number will be incremented. Parameters of the same version only involve differences in the values of the items, not additions, deletions, or changes in the nvramlayout. It can be understood as a macroscopic determination. If Ver remains unchanged, it means that it does not involve, for example, CPU PI code, microcode, and FW updates of some underlying drivers, and there are no added or deleted items in the versions before and after the update. If there are changes, it is only the difference in the String, which will involve modifications to the default values of some OEM items. Salt is the part for "salting". This is a string customized by R & D or customers to enhance the algorithm complexity and prevent cracking. And the value of the second identifier is set to true and sent to the BMC, indicating that the reserved configuration has been refreshed. If the BIOS is not refreshed while retaining the configuration, or the BIOS update operation is not executed, this operation is not required.

[0219] Step S902, perform a complete BIOS update and restart the system after the update is completed.

[0220] Step S903, power on again and read the second identifier.

[0221] When powering on again, in the early startup stage of the BIOS, the second identifier is read from the BMC. If the value read is false, it proves that there is no need to synchronize the OEM setup items and normal startup can be performed. If the value read is true, then step S904 is executed.

[0222] Step S904, determine whether to obtain the target device manufacturer's parameters.

[0223] In some embodiments, the value of the second identifier is true, which proves that the reserved configuration was refreshed during the previous startup. At this time, the value of the first encrypted data Decrypt (denoted as D1 for distinction) is read from the BMC through the OEM command, and compared with the value of the second encrypted data Decrypt calculated using the same algorithm during this startup (denoted as D2 for distinction). If D1 = D2, it proves that the versions of the OEM setup items in the BIOS before and after the reserved configuration refresh and the default values of these items are exactly the same. At this time, startup can also continue without obtaining data from the BMC. If D1 and D2 are not equal, it proves that there are changes in the version or the default values of the items, and step S905 is executed.

[0224] Step S905, obtain the target device manufacturer's parameters from the BMC.

[0225] In some embodiments, if D1 and D2 are not equal, indicating a change in the version or project default value, it is necessary to obtain the complete string. After obtaining the complete string, collect the OEM setup items for this startup. First, compare the Ver in the first encrypted data and the second encrypted data. If Ver is the same, it proves that there are only default value differences, then override copy the value of the corresponding item in the target device vendor parameters to the NVRAM of this BIOS, and then continue to start. After successful startup, check the relevant items, and it can be found that they are the project default values before the update. If Ver is different, it proves that there are major Setuplayout changes, including added or deleted items, indicating that the version updated this time is quite different from the version run last time. It may be due to relatively serious bugs or the iteration from an immature version in the early R & D stage to a mature version. If Ver is different, then there are added or deleted items. During the comparison process, there are the following three situations:

[0226] (1) If it is a newly added item in this version, then the target device vendor parameters read from the BMC do not have this item, which does not affect user settings because this item is outside the OEM project. Just continue to compare the next item;

[0227] (2) If it is an item deleted in this version (or the current version), it means that the setting of the OEM setup item no longer exists in the new version. The BIOS records the name of the deleted item and passes it to the BMC through the OEM cmd, and a warning (the first warning message) is displayed in the SEL log of the BMC web to inform the user.

[0228] (3) For other matching items, handle them in the same way as when Ver is the same.

[0229] After the above steps are completed, write to the nvram area of the BIOS ROM for permanent storage.

[0230] In this way, through the data processing method provided by the embodiments of the present disclosure, it breaks through the limitations of the traditional method for cross-pi upgrade iteration, where the addition or deletion of project values in the nvram area may cause downtime and the OEM projects cannot be retained, and users need to manually set them again. It can be directly upgraded to the new version in one step; by adding identifiers, encrypting data, and comparing versions for determination, the startup duration is greatly optimized; by encrypting the transmitted data, it prevents the attack and leakage of the setup items. Regardless of how many version iterations there are, as long as it is the BIOS firmware of the same product, the retention of OEM setup item settings can be achieved; for which OEM setup items need to be retained, it can be user-defined, which is more flexible than the traditional method and saves at least more than 30s. The specific duration depends on the number of OEM projects.

[0231] Figure 10 Figure 1 shows a first alternative structural schematic diagram of a data processing device provided by an embodiment of the present disclosure, and will be described according to each part.

[0232] In some embodiments, the data processing device 1000 is applied to a basic input / output system. The device includes: a first transmission unit 1001, a second transmission unit 1002, and a configuration unit 1003.

[0233] The first transmission unit 1001 is configured to start the basic input / output system, and if a first identifier obtained from a baseboard management controller indicates that target device manufacturer parameters are to be reserved, send the target device manufacturer parameters and a second identifier to the baseboard management controller.

[0234] The second transmission unit 1002 is configured to restart the basic input / output system, and if a second identifier obtained from the baseboard management controller indicates that target device manufacturer parameters are to be reserved, obtain the target device manufacturer parameters from the baseboard management controller.

[0235] The configuration unit 1003 is configured to configure the basic input / output system based on the target device manufacturer parameters.

[0236] After configuring the basic input / output system, the first transmission unit 1001 is further configured to send a third identifier to the baseboard management controller.

[0237] The third identifier is used to indicate that first original equipment manufacturer parameters or target device manufacturer parameters are to be reserved.

[0238] The first transmission unit 1001 is further configured to, if a first identifier obtained from the baseboard management controller indicates that first original equipment manufacturer parameters are to be reserved, send the second identifier to the baseboard management controller.

[0239] The second identifier is used to indicate that first original equipment manufacturer parameters are to be reserved.

[0240] The configuration unit 1003 is further configured to, if a second identifier obtained from the baseboard management controller indicates that first original equipment manufacturer parameters are to be reserved, configure the basic input / output system based on the first original equipment manufacturer parameters.

[0241] Specifically, the second transmission unit 1002 is configured to call a first interface to obtain target device manufacturer parameters stored in a first memory, and encrypt the target device manufacturer parameters to obtain first encrypted data.

[0242] Determine that the value of the second identifier is the first preset value; when the value of the second identifier is the first preset value, it indicates that the target device manufacturer parameters are retained; when the value of the second identifier is the second preset value, it indicates that the first original equipment manufacturer parameters are retained.

[0243] Use the first encrypted data as the data header and the target device manufacturer parameters as the data body, and the data header and data body constitute the second original equipment manufacturer parameters.

[0244] Send the second original equipment manufacturer parameters and the second identifier to the baseboard management controller.

[0245] The second transmission unit 1002 is specifically configured to encrypt the version of the target device manufacturer parameters, the target device manufacturer parameters, and the first string based on an algorithm function to obtain the first encrypted data.

[0246] The second transmission unit 1002 is specifically configured to obtain a second identifier from the baseboard management controller.

[0247] In response to the second identifier obtained from the baseboard management controller indicating that the target device manufacturer parameters are to be retained, obtain the first encrypted data from the baseboard management controller.

[0248] Based on the first comparison result of the first encrypted data and the second encrypted data, confirm whether to obtain the target device manufacturer parameters from the baseboard management controller.

[0249] Wherein, the second encrypted data is obtained based on the current original equipment manufacturer parameters of the basic input / output system.

[0250] The second transmission unit 1002 is specifically configured to, in response to the first encrypted data and the second encrypted data being the same, continue to start the basic input / output system.

[0251] The second transmission unit 1002 is specifically configured to perform one of the following:

[0252] In response to the first encrypted data and the second encrypted data being different but having the same version, obtain the target device manufacturer parameters from the baseboard management controller.

[0253] In response to the first encrypted data and the second encrypted data being different and having different versions, compare the items corresponding to the current original equipment manufacturer parameters and the items corresponding to the target device manufacturer parameters to obtain a second comparison result.

[0254] In response to the second comparison result indicating that a first item exists in the target device manufacturer parameters but does not exist in the current original equipment manufacturer parameters, send a first warning message to the baseboard management controller.

[0255] In response to the second comparison result indicating that the item corresponding to the current original equipment manufacturer parameter and the item corresponding to the target equipment manufacturer parameter are the same, or the item corresponding to the current original equipment manufacturer parameter is greater than the item corresponding to the target equipment manufacturer parameter, obtain the target equipment manufacturer parameter from the baseboard management controller;

[0256] Write the target equipment manufacturer parameter into the first memory.

[0257] Figure 11 FIG. shows a second alternative structural schematic diagram of the data processing device provided by the embodiments of the present disclosure, which will be described according to each part.

[0258] In some embodiments, the data processing device 1100 is applied to a baseboard management controller, and the device includes: a first sending unit 1101, a first receiving unit 1102, and a second sending unit 1103.

[0259] The first sending unit 1101 is configured to send a first identifier to the basic input / output system in response to the startup of the basic input / output system;

[0260] The first receiving unit 1102 is configured to receive the target equipment manufacturer parameter and a second identifier transmitted by the basic input / output system in response to the first identifier indicating the retention of the target equipment manufacturer parameter, and store the target equipment manufacturer parameter in a second memory;

[0261] The second sending unit 1103 is configured to send a second identifier to the baseboard input / output system in response to the restart of the baseboard input / output system; and send the target equipment manufacturer parameter to the basic input / output system in response to the second identifier indicating the retention of the target equipment manufacturer parameter;

[0262] The target equipment manufacturer parameter is used to configure the basic input / output system.

[0263] The first receiving unit 1102 is further configured to receive a third identifier sent by the basic input / output system;

[0264] The third identifier is used to indicate the retention of the first original equipment manufacturer parameter or the retention of the target equipment manufacturer parameter.

[0265] The first receiving unit 1102 is specifically configured to receive the second original equipment manufacturer parameter with the first encrypted data as the data header and the target equipment manufacturer parameter as the data body transmitted and sent by the basic input / output system; and receive the second identifier.

[0266] The second sending unit 1103 is specifically configured to send the first encrypted data;

[0267] In response to the basic input / output system obtaining the target device manufacturer parameter from the baseboard management controller based on the first encrypted data, the target device manufacturer parameter is sent.

[0268] In some embodiments, the first encrypted data is used to compare with the second encrypted data to obtain a first comparison result;

[0269] The first comparison result is used for the basic input / output system to confirm whether to obtain the target device manufacturer parameter.

[0270] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device and a readable storage medium.

[0271] Figure 12 A schematic block diagram of an example electronic device 800 that can be used to implement the embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, a personal digital processor, a cellular phone, a smart phone, a wearable device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0272] As Figure 12 shown, the electronic device 1200 includes a computing unit 1201, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1202 or a computer program loaded from a storage unit 1208 into a random access memory (RAM) 1203. In the RAM 1203, various programs and data required for the operation of the electronic device 1200 can also be stored. The computing unit 1201, the ROM 1202, and the RAM 1203 are connected to each other through a bus 1204. An input / output (I / O) interface 1205 is also connected to the bus 1204.

[0273] Multiple components in the electronic device 1200 are connected to the I / O interface 1205, including: an input unit 1206, such as a keyboard, a mouse, etc.; an output unit 1207, such as various types of displays, speakers, etc.; a storage unit 1208, such as a disk, an optical disc, etc.; and a communication unit 1209, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 1209 allows the electronic device 1200 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0274] The computing unit 1201 may be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1201 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1201 executes the various methods and processes described above, such as the data processing method. For example, in some embodiments, the data processing method may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 1208. In some embodiments, part or all of the computer program may be loaded and / or installed onto the electronic device 1200 via the ROM 1202 and / or the communication unit 1209. When the computer program is loaded into the RAM 1203 and executed by the computing unit 1201, one or more steps of the data processing method described above may be executed. Alternatively, in other embodiments, the computing unit 1201 may be configured to execute the data processing method in any other suitable manner (e.g., by means of firmware).

[0275] The various embodiments of the systems and techniques described above in this document may be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGA), application specific integrated circuits (ASIC), application specific standard products (ASSP), systems on a chip (SOC), complex programmable logic devices (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs being executable and / or interpretable on a programmable system including at least one programmable processor, the programmable processor being a special or general-purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit the data and instructions to the storage system, the at least one input device, and the at least one output device.

[0276] The program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowchart and / or block diagram are implemented. The program code may be executed entirely on the machine, partially on the machine, executed partially on the machine as an independent software package and partially on a remote machine, or executed entirely on a remote machine or server.

[0277] In the context of this disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0278] In order to provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0279] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0280] A computer system can include a client and a server. The client and the server are generally remote from each other and typically interact through a communication network. The relationship of the client and the server is generated by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, can also be a server of a distributed system, or a server incorporating a blockchain.

[0281] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0282] As described above, this is only the specific implementation manner of this disclosure, but the protection scope of this disclosure is not limited thereto. Any person skilled in the art within the technical scope disclosed in this disclosure can easily think of changes or substitutions, which should all be covered within the protection scope of this disclosure. Therefore, the protection scope of this disclosure should be subject to the protection scope of the claims.

Claims

1. A data processing method, characterized in that, Applied to the Basic Input / Output System, the method includes: Starting the Basic Input / Output System, and if the first identifier obtained from the Baseboard Management Controller indicates that the target device manufacturer parameters are to be retained, then sending the target device manufacturer parameters and the second identifier to the Baseboard Management Controller; Restarting the Basic Input / Output System again, and if the second identifier obtained from the Baseboard Management Controller indicates that the target device manufacturer parameters are to be retained, then obtaining the target device manufacturer parameters from the Baseboard Management Controller; Configuring the Basic Input / Output System based on the target device manufacturer parameters; Wherein, the sending the target device manufacturer parameters and the second identifier to the Baseboard Management Controller includes: Invoking a first interface to obtain the target device manufacturer parameters stored in a first memory, and encrypting the target device manufacturer parameters to obtain first encrypted data; Determining that the value of the second identifier is a first preset value; when the value of the second identifier is the first preset value, it indicates that the target device manufacturer parameters are to be retained; when the value of the second identifier is a second preset value, it indicates that the first original device manufacturer parameters are to be retained; Using the first encrypted data as the data header and the target device manufacturer parameters as the data body, and the data header and the data body form the second original device manufacturer parameters; Sending the second original device manufacturer parameters and the second identifier to the Baseboard Management Controller.

2. The method according to claim 1, wherein After configuring the Basic Input / Output System, the method further includes: Sending a third identifier to the Baseboard Management Controller; The third identifier is used to indicate whether to retain the first original device manufacturer parameters or the target device manufacturer parameters.

3. The method according to claim 1, wherein The method further includes: If the first identifier obtained from the Baseboard Management Controller indicates that the first original device manufacturer parameters are to be retained, then sending the second identifier to the Baseboard Management Controller; The second identifier is used to indicate that the first original device manufacturer parameters are to be retained.

4. The method according to claim 3, wherein The method further includes: If the second identifier obtained from the Baseboard Management Controller indicates that the first original device manufacturer parameters are to be retained, then configuring the Basic Input / Output System based on the first original device manufacturer parameters.

5. The method according to claim 1, characterized in that, The encrypting the target device manufacturer parameters to obtain first encrypted data includes: Encrypting the version of the target device manufacturer parameters, the target device manufacturer parameters, and a first string based on an algorithm function to obtain first encrypted data.

6. The method according to claim 1, wherein The obtaining the target device manufacturer parameters from the Baseboard Management Controller if the second identifier obtained from the Baseboard Management Controller indicates that the target device manufacturer parameters are to be retained includes: Obtaining a second identifier from the Baseboard Management Controller; If the second identifier obtained from the Baseboard Management Controller indicates that the target device manufacturer parameters are to be retained, then obtaining first encrypted data from the Baseboard Management Controller; Based on a first comparison result between the first encrypted data and second encrypted data, confirming whether to obtain the target device manufacturer parameters from the Baseboard Management Controller; Wherein, the second encrypted data is obtained based on the current original device manufacturer parameters of the Basic Input / Output System.

7. The method according to claim 6, wherein Based on the first comparison result of the first encrypted data and the second encrypted data, confirming whether the target device manufacturer parameter is obtained from the baseboard management controller, includes: In response to the first encrypted data and the second encrypted data being the same, continue to start the basic input / output system.

8. The method according to claim 6, characterized in that, Based on the first comparison result of the first encrypted data and the second encrypted data, confirming whether the target device manufacturer parameter is obtained from the baseboard management controller, includes one of the following: In response to the first encrypted data and the second encrypted data being different but having the same version, obtain the target device manufacturer parameter from the baseboard management controller; In response to the first encrypted data and the second encrypted data being different and having different versions, compare the items corresponding to the current original equipment manufacturer parameter and the items corresponding to the target device manufacturer parameter to obtain a second comparison result; In response to the second comparison result indicating that a first item exists in the target device manufacturer parameter but does not exist in the current original equipment manufacturer parameter, send a first warning message to the baseboard management controller; In response to the second comparison result including that the items corresponding to the current original equipment manufacturer parameter and the items corresponding to the target device manufacturer parameter are the same, or the number of items corresponding to the current original equipment manufacturer parameter is greater than the number of items corresponding to the target device manufacturer parameter, obtain the target device manufacturer parameter from the baseboard management controller; Write the target device manufacturer parameter into the first memory.

9. A data processing method, characterized in that, Applied to the baseboard management controller, the method includes: In response to the start of the basic input / output system, send a first identifier to the basic input / output system; In response to the first identifier indicating to retain the target device manufacturer parameter, receive the second original equipment manufacturer parameter with the first encrypted data as the data header and the target device manufacturer parameter as the data body transmitted and sent by the basic input / output system, receive a second identifier, and store the target device manufacturer parameter in the second memory; In response to the restart of the baseboard input / output system, send a second identifier to the baseboard input / output system; In response to the second identifier indicating to retain the target device manufacturer parameter, send the target device manufacturer parameter to the basic input / output system; The target device manufacturer parameter is used to configure the basic input / output system.

10. The method according to claim 9, wherein The method further includes: Receive a third identifier sent by the basic input / output system; The third identifier is used to indicate retaining the first original equipment manufacturer parameter or retaining the target device manufacturer parameter.

11. The method according to claim 9, wherein Sending the target device manufacturer parameter to the basic input / output system includes: Send the first encrypted data; In response to the basic input / output system confirming that the target device manufacturer parameter is obtained from the baseboard management controller based on the first encrypted data, send the target device manufacturer parameter.

12. The method according to claim 11, wherein, The first encrypted data is used to compare with the second encrypted data to obtain a first comparison result; The first comparison result is used for the basic input / output system to confirm whether to obtain the target device manufacturer parameter.

13. A data processing method, characterized in that The method includes: When the basic input / output system is started, the baseboard management controller sends a first identifier to the basic input / output system; In response to the first identifier indicating that the target device manufacturer parameters are to be reserved, the basic input / output system sends the target device manufacturer parameters and a second identifier to the baseboard management controller; When the basic input / output system is started again, the baseboard management controller sends the second identifier to the basic input / output system; In response to the second identifier indicating that the target device manufacturer parameters are to be reserved, the target device manufacturer parameters are obtained from the baseboard management controller; Based on the target device manufacturer parameters, the basic input / output system is configured; Wherein, the basic input / output system sending the target device manufacturer parameters and the second identifier to the baseboard management controller includes: The basic input / output system calls a first interface to obtain the target device manufacturer parameters stored in a first memory, and encrypts the target device manufacturer parameters to obtain first encrypted data; The basic input / output system determines that the value of the second identifier is a first preset value; when the value of the second identifier is the first preset value, it indicates that the target device manufacturer parameters are to be reserved; when the value of the second identifier is a second preset value, it indicates that the first original device manufacturer parameters are to be reserved; The basic input / output system uses the first encrypted data as the data header and the target device manufacturer parameters as the data body, and the data header and the data body form second original device manufacturer parameters; The basic input / output system sends the second original device manufacturer parameters and the second identifier to the baseboard management controller.

14. A data processing device, characterized in that, Applied to the basic input / output system, the device includes: A first transmission unit, configured to start the basic input / output system, and in response to the first identifier obtained from the baseboard management controller indicating that the target device manufacturer parameters are to be reserved, send the target device manufacturer parameters and the second identifier to the baseboard management controller; A second transmission unit, configured to start the basic input / output system again, and in response to the second identifier obtained from the baseboard management controller indicating that the target device manufacturer parameters are to be reserved, obtain the target device manufacturer parameters from the baseboard management controller; A configuration unit, configured to configure the basic input / output system based on the target device manufacturer parameters; The first transmission unit is specifically configured to call a first interface to obtain the target device manufacturer parameters stored in a first memory, encrypt the target device manufacturer parameters to obtain first encrypted data; determine that the value of the second identifier is a first preset value; when the value of the second identifier is the first preset value, it indicates that the target device manufacturer parameters are to be reserved; when the value of the second identifier is a second preset value, it indicates that the first original device manufacturer parameters are to be reserved; use the first encrypted data as the data header and the target device manufacturer parameters as the data body, and the data header and the data body form second original device manufacturer parameters; send the second original device manufacturer parameters and the second identifier to the baseboard management controller.

15. A data processing device, characterized in that, Applied to the baseboard management controller, the device includes: A first sending unit, configured to send a first identifier to the basic input / output system in response to the startup of the basic input / output system; A first receiving unit, configured to, in response to the first identifier indicating that the target device manufacturer parameters are to be reserved, receive the second original device manufacturer parameters with the first encrypted data as the data header and the target device manufacturer parameters as the data body transmitted and sent by the basic input / output system, receive a second identifier, and store the target device manufacturer parameters in a second memory; A second sending unit, configured to send a second identifier to the baseboard input / output system in response to the restart of the baseboard input / output system; and in response to the second identifier indicating that the target device manufacturer parameters are to be reserved, send the target device manufacturer parameters to the basic input / output system; The target device manufacturer parameters are used to configure the basic input / output system.

16. An electronic device, characterized in that, Comprising: At least one processor; And a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method according to any one of claims 1-8; Or, execute the method according to claims 9-12; Or, execute the method according to claim 13.

17. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause a computer to execute the method according to any one of claims 1-8; Or, execute the method according to claims 9-12; Or, execute the method according to claim 13.

18. A computer program product, characterized in that, Comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1-8; Or, execute the method according to claims 9-12; Or, execute the method according to claim 13.

Citation Information

Patent Citations

  • Configuration method and device of basic input and output system

    CN119576420A