Data processing method and apparatus, electronic device, storage medium, and program product
Patent Information
- Application Number
- PCT/CN2025/129141
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-28
- Filing Date
- 2025-10-22
- Publication Date
- 2026-10-01
Smart Images

Figure CN2025129141_01102026_PF_FP_ABST
Abstract
Description
Data processing methods, apparatuses, electronic devices, storage media and software products
[0001] This application claims priority to Chinese Patent Application No. 202510376566.2, filed on March 28, 2025, entitled “Data Processing Method, Apparatus, Electronic Device, Storage Medium and Program Product”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of computer technology, and in particular to a data processing method, apparatus, electronic device, storage medium, or program product. Background Technology
[0003] In the prior art, the original equipment manufacturer (OEM) parameters of the Basic Input Output System (BIOS) are stored in non-volatile random access memory (NVRAM). In the case of out-of-band BIOS updates, the stored OEM parameters are obtained from the Baseboard Management Controller (BMC) each time the system is powered on, and the system is configured based on the obtained OEM parameters. However, in scenarios where it is not necessary to retain the OEM parameters, the acquisition operation will prolong the boot time. Summary of the Invention
[0004] This disclosure provides a data processing method, apparatus, electronic device, storage medium, and program product to at least solve the above-mentioned technical problems existing in the prior art.
[0005] According to a first aspect of this disclosure, a data processing method is provided, applied to a basic input / output system, the method comprising:
[0006] Upon activating the basic input / output system, in response to a first identifier obtained from the baseboard management controller representing a retained target device manufacturer parameter, the target device manufacturer parameter and a second identifier are sent to the baseboard management controller.
[0007] When the basic input / output system is restarted, in response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters, the target device manufacturer parameters are obtained from the baseboard management controller.
[0008] Configure the basic input / output system based on the target device manufacturer parameters.
[0009] In the above scheme, after configuring the basic input / output system, the method further includes:
[0010] Send a third identifier to the baseboard management controller;
[0011] The third identifier is used to indicate whether to retain the parameters of the first original equipment manufacturer or to retain the parameters of the target equipment manufacturer.
[0012] The method in the above scheme further includes:
[0013] In response to the first identifier obtained from the baseboard management controller indicating that the target device manufacturer parameters are not retained, a second identifier is sent to the baseboard management controller;
[0014] The second identifier is used to indicate that the parameters of the first original equipment manufacturer are retained.
[0015] The method in the above scheme further includes:
[0016] In response to a second identifier obtained from the baseboard management controller indicating that the target device manufacturer parameters are not retained, the basic input / output system is configured based on the first original equipment manufacturer parameters.
[0017] In the above scheme, sending the target device manufacturer parameters and the second identifier to the baseboard management controller includes:
[0018] Call the first interface to obtain the target device manufacturer parameters stored in the first memory, encrypt the target device manufacturer parameters to obtain the first encrypted data;
[0019] The value of the second identifier is determined to be a first preset value; when the value of the second identifier is the first preset value, it indicates that the target equipment 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.
[0020] The first encrypted data is used as the data header, and the target device manufacturer parameters are used as the data body. The data header and the data body constitute the second original equipment manufacturer parameters.
[0021] Send the second original equipment manufacturer parameter and the second identifier to the baseboard management controller.
[0022] In the above scheme, encrypting the target device manufacturer parameters to obtain the first encrypted data includes:
[0023] The algorithm function is used to encrypt the version of the target device manufacturer parameter, the target device manufacturer parameter, and the first string to obtain the first encrypted data.
[0024] In the above scheme, the step of obtaining the target device manufacturer parameters from the baseboard management controller in response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters includes:
[0025] Obtain the second identifier from the substrate management controller;
[0026] In response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters, the first encrypted data is obtained from the baseboard management controller;
[0027] 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;
[0028] The second encrypted data is obtained based on the current original equipment manufacturer (OEM) parameters of the basic input / output system.
[0029] In the above scheme, 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:
[0030] If the first encrypted data and the second encrypted data are the same, then the basic input / output system continues to start.
[0031] In the above scheme, the confirmation of 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:
[0032] If the first encrypted data and the second encrypted data are different but have the same version, the target device manufacturer parameters are obtained from the baseboard management controller.
[0033] In response to the fact that the first encrypted data and the second encrypted data are different and have different versions, the items corresponding to the parameters of the current original equipment manufacturer are compared with the items corresponding to the parameters of the target equipment manufacturer to obtain a second comparison result;
[0034] In response to the second comparison result indicating that the first item exists in the target equipment manufacturer parameters but not in the current original equipment manufacturer parameters, a first alarm message is sent to the board management controller;
[0035] In response to the second comparison result including the items corresponding to the current original equipment manufacturer (OEM) parameters being the same as the items corresponding to the target equipment manufacturer (OEM) parameters, or the items corresponding to the current OEM parameters being greater than the items corresponding to the target equipment manufacturer (OEM) parameters, the target equipment manufacturer (OEM) parameters are obtained from the baseboard management controller.
[0036] Write the target device manufacturer parameters into the first memory.
[0037] According to a second aspect of this disclosure, a data processing method is provided, applied to a substrate management controller, the method comprising:
[0038] In response to the startup of the basic input / output system, a first identifier is sent to the basic input / output system;
[0039] In response to the first identifier representing the retention of target device manufacturer parameters, the target device manufacturer parameters and the second identifier transmitted by the basic input / output system are received, and the target device manufacturer parameters are stored in the second memory;
[0040] In response to the restart of the substrate input / output system, a second identifier is sent to the substrate input / output system;
[0041] In response to the second identifier indicating that the target device manufacturer parameter is retained, the target device manufacturer parameter is sent to the basic input / output system;
[0042] The target device manufacturer parameters are used to configure the basic input / output system.
[0043] The method in the above scheme further includes:
[0044] Receives a third identifier sent by the basic input / output system;
[0045] The third identifier is used to indicate whether to retain the parameters of the first original equipment manufacturer or to retain the parameters of the target equipment manufacturer.
[0046] In the above scheme, the target device manufacturer parameters and second identifier transmitted by the basic input / output system include:
[0047] Receives second original equipment manufacturer parameters transmitted by the basic input / output system, with the first encrypted data as the data header and the target equipment manufacturer parameters as the data body;
[0048] Receive the second identifier.
[0049] In the above scheme, sending the target device manufacturer parameters to the basic input / output system includes:
[0050] Send the first encrypted data;
[0051] In response to the basic input / output system obtaining the target device manufacturer parameters from the baseboard management controller based on the first encrypted data confirmation, the target device manufacturer parameters are sent.
[0052] In the above scheme, the first encrypted data is used to compare with the second encrypted data to obtain a first comparison result;
[0053] The first comparison result is used by the basic input / output system to confirm whether the target device manufacturer parameters have been obtained.
[0054] According to a third aspect of this disclosure, a data processing method is provided, comprising:
[0055] Upon activating the Basic Input / Output System (PIOS), the Baseboard Management Controller (BMC) sends a first identifier to the PIOS.
[0056] In response to the first identifier representing the retained target device manufacturer parameter, the basic input / output system sends the target device manufacturer parameter and the second identifier to the board management controller;
[0057] When the basic input / output system is restarted, the baseboard management controller sends a second identifier to the basic input / output system.
[0058] In response to the second identifier indicating that the target device manufacturer parameter is retained, the target device manufacturer parameter is obtained from the baseboard management controller;
[0059] Configure the basic input / output system based on the target device manufacturer parameters.
[0060] According to a fourth aspect of this disclosure, an electronic device is provided, comprising:
[0061] At least one processor; and
[0062] A memory communicatively connected to the at least one processor; wherein,
[0063] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the methods described in this disclosure.
[0064] According to a fifth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions for causing the computer to perform the methods described in this disclosure.
[0065] According to a first aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the methods described in this disclosure.
[0066] The data processing method provided in this disclosure involves starting the Basic Input / Output System (BIOS), and in response to a first identifier obtained from the Baseboard Management Controller (BMC) indicating that target device manufacturer (DMC) parameters are to be retained, sending the DMC parameters and a second identifier to the BMC; restarting the BIOS again, and in response to the second identifier obtained from the BMC indicating that DMC parameters are to be retained, obtaining the DMC parameters from the BMC; and configuring the BIOS based on the DMC parameters. Each time the BIOS boots, an identifier obtained from the BMC determines whether to retain the DMC parameters; if retained, the current DMC parameters are stored in the BMC for configuration on the next boot; if not retained, the BIOS is configured directly based on the default DMC parameters. Thus, by adding an identifier acquisition step, the boot time in scenarios where BIOS configuration is directly based on default DMC parameters is reduced.
[0067] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0068] The above and other objects, features, and advantages of this disclosure will become readily apparent from the following detailed description of exemplary embodiments, taken in conjunction with the accompanying drawings. Several embodiments of this disclosure are illustrated in the drawings by way of example and not limitation, in which:
[0069] In the accompanying drawings, the same or corresponding reference numerals indicate the same or corresponding parts.
[0070] Figure 1 illustrates a first optional flowchart of the data processing method provided in an embodiment of this disclosure;
[0071] Figure 2 illustrates a second optional flowchart of the data processing method provided in an embodiment of this disclosure;
[0072] Figure 3 illustrates a third optional flowchart of the data processing method provided in an embodiment of this disclosure;
[0073] Figure 4 illustrates a fourth optional flowchart of the data processing method provided in this embodiment of the present disclosure;
[0074] Figure 5 illustrates a fifth optional flowchart of the data processing method provided in this embodiment of the present disclosure;
[0075] Figure 6 illustrates a sixth optional flowchart of the data processing method provided in this embodiment of the present disclosure;
[0076] Figure 7 illustrates a seventh optional flowchart of the data processing method provided in this embodiment of the present disclosure;
[0077] Figure 8 illustrates an eighth optional flowchart of the data processing method provided in this embodiment of the present disclosure;
[0078] Figure 9 illustrates a ninth optional flowchart of the data processing method provided in this embodiment of the present disclosure;
[0079] Figure 10 shows a schematic diagram of a first optional structure of the data processing apparatus provided in an embodiment of the present disclosure;
[0080] Figure 11 shows a schematic diagram of a second optional structure of the data processing apparatus provided in an embodiment of the present disclosure;
[0081] Figure 12 shows a schematic diagram of the composition structure of an electronic device according to an embodiment of the present disclosure. Detailed Implementation
[0082] To make the objectives, features, and advantages of this disclosure more apparent and understandable, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort are within the scope of protection of this disclosure.
[0083] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0084] In the following description, the terms "first" and "second" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first" and "second" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this disclosure described herein can be implemented in an order other than that illustrated or described herein.
[0085] Unless otherwise defined, all technical and scientific terms used in this disclosure have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. The terminology used in this disclosure is for the purpose of describing embodiments of this disclosure only and is not intended to be limiting of this disclosure.
[0086] It should be understood that in the various embodiments of this disclosure, the sequence number of each implementation process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this disclosure.
[0087] During the server product development phase and after mass production, if firmware issues, compatibility with new components, or upgrades to the Central Processing Unit (CPU) patch are encountered, the BIOS needs to be updated. In addition, during the development and testing phase, the BIOS itself needs to cover compatibility with previous and subsequent versions and needs to support upgrades, downgrades, and parallel updates.
[0088] Server BIOS updates are divided into in-band updates and out-of-band updates. In-band updates refer to the BIOS self-refreshing operation under specific conditions. Out-of-band updates can be performed by the BMC or by flashing with a programmer. The embodiments disclosed in this disclosure aim to solve the problem of BIOS in-band updates.
[0089] In-band BIOS flashing requires the ability to perform direct flashing within a Basic Input Output System Setup (BIOS Setup), Linux operating system, or Unified Extensible Firmware Interface shell (UEFI shell) environment. The Setup directory contains corresponding update options. When executing the update under Linux, administrator privileges are required using the flashing tool. In Linux, this can be achieved using the root user or by executing the update with `superuser do` or `sudo` to elevate privileges to administrator level. After updating the BIOS, customers often do not want their Original Equipment Manufacturer (OEM) settings to be changed; instead, they want customized settings to be retained.
[0090] In existing technologies, BIOS in-band flashing includes direct flashing of the BIOS within BIOS Setup, Linux, and UEFI shell environments. The BIOS Setup settings are stored in a fixed offset area of ROM, specifically NVRAM, which contains all the variable information visible to the BIOS Setup. During BIOS update, this area is skipped when erasing and writing the updated version, thus ensuring that the settings remain unchanged in the updated version.
[0091] This method is suitable for situations where the Platform Initialization (PI) remains unchanged and the BIOS setup has no added or deleted items. It is often applicable to products that are nearing or already in mass production and only involve upgrades to fix minor BIOS bugs. However, if it involves platform initialization code related to the CPU manufacturer, CPU microcode, or updates to low-level driver firmware, where there are additions or deletions between the new and old versions, or changes to the BIOS ROM layout, then refreshing the NVRAM area of the BIOS will present problems. If the NVRAM area is skipped according to the old version's offset, it may cause boot failure or abnormal booting, leading to unpredictable consequences.
[0092] To address the deficiencies in related technologies, this disclosure provides a data processing method to at least solve some or all of the aforementioned technical problems. This disclosure is based on a hardware communication protocol design for BIOS and BMC, including but not limited to interfaces such as IPMI and Redfish, and performs corresponding operations in conjunction with user-selected actions.
[0093] Figure 1 shows a schematic diagram of a first optional flow of the data processing method provided in the embodiments of this disclosure, which will be described step by step.
[0094] Step S101: Start the basic input / output system. In response to the first identifier obtained from the board management controller representing the retained target device manufacturer parameter, send the target device manufacturer parameter and the second identifier to the board management controller.
[0095] In some embodiments, the electronic device powers on, initiates the BIOS, and receives a first identifier sent by the BMC. The first identifier indicates whether to retain a first original equipment manufacturer (OEM) parameter or a target device manufacturer (DEM) parameter; the first OEM parameter includes the BIOS's default OEM parameter; the target DEM parameter includes the BIOS's current OEM parameter, i.e., the OEM parameter stored in the BIOS's first memory at the time of BIOS startup.
[0096] In some embodiments, the BIOS identifies retained original equipment manufacturer (OOEM) parameters based on a first identifier; in response to the first identifier indicating that a target OOEM parameter is retained, the target OOEM parameter and a second identifier are sent to the baseboard management controller (BMC). This allows the BMC to store the target OOEM parameter and, upon the next BIOS startup, transmit the target OOEM parameter to the BIOS for BIOS configuration. The first identifier is the one sent by the BIOS to the BMC during its most recent startup; "most recent" refers to the startup prior to step S101.
[0097] In some embodiments, the BIOS sends a target device manufacturer parameter and a second identifier to the baseboard management controller, the second identifier being used to indicate whether to retain the first original equipment manufacturer parameter or retain the target device manufacturer parameter upon the next BIOS startup.
[0098] In some alternative embodiments, after the BIOS sends the target device manufacturer parameters and the second identifier to the baseboard management controller, it deletes the target device manufacturer parameters stored in the BIOS's first memory. Alternatively, the BIOS is updated and flashed, and the system is restarted after the flash is complete.
[0099] Step S102: Restart the basic input / output system. In response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters, obtain the target device manufacturer parameters from the baseboard management controller.
[0100] In some embodiments, the BIOS is restarted to receive a second identifier sent by the BMC. In response to the second identifier obtained from the baseboard management controller indicating the retention of target device manufacturer parameters, the target device manufacturer parameters are obtained from the baseboard management controller.
[0101] Step S103: Configure the basic input / output system based on the target device manufacturer parameters.
[0102] In some embodiments, after receiving the target device manufacturer parameters, the BIOS stores the target device manufacturer parameters in a first memory and configures the BIOS based on the target device manufacturer parameters. The specific configuration method is the same as in the prior art and will not be repeated here.
[0103] The first memory may be NVRAM in the BIOS.
[0104] Thus, through the data processing method provided in this embodiment, the identifier obtained from the BMC after each BIOS startup determines whether to retain the target device manufacturer parameters; if retained, the current target device manufacturer parameters of the BIOS are stored in the BMC so that configuration is performed based on the target device manufacturer parameters at the next startup; if not retained, BIOS configuration is performed directly based on the default original device manufacturer parameters; thus, by adding the step of obtaining the identifier, the boot time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.
[0105] Figure 2 illustrates a second optional flowchart of the data processing method provided in this embodiment of the present disclosure, which will be described step by step.
[0106] Step S201: Start the basic input / output system. In response to the first identifier obtained from the baseboard management controller representing the retained target device manufacturer parameter, send the target device manufacturer parameter and the second identifier to the baseboard management controller.
[0107] The specific steps of step S201 are the same as those of step S101, and will not be repeated here.
[0108] Step S202: Restart the basic input / output system and, in response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters, obtain the target device manufacturer parameters from the baseboard management controller.
[0109] The specific steps of step S202 are the same as those of step S102, and will not be repeated here.
[0110] Step S203: Send a third identifier to the substrate management controller.
[0111] In some embodiments, the third identifier is used to indicate whether the first original equipment manufacturer (OEM) parameters or the target OEM parameters are retained during the next BIOS configuration.
[0112] Thus, through the data processing method provided in this embodiment, the identifier obtained from the BMC after each BIOS startup determines whether to retain the target device manufacturer parameters; if retained, the current target device manufacturer parameters of the BIOS are stored in the BMC so that configuration is performed based on the target device manufacturer parameters at the next startup; if not retained, the BIOS is configured directly based on the default target device manufacturer parameters; thus, by adding the step of obtaining the identifier, the boot time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.
[0113] Figure 3 illustrates a third optional flowchart of the data processing method provided in the embodiments of this disclosure, which will be described according to each step.
[0114] Step S301: Start the basic input / output system and obtain the first identifier.
[0115] In some embodiments, the electronic device powers on, initiates the BIOS, and receives a first identifier sent by the BMC. The electronic device may be a server.
[0116] Wherein, the first identifier is a first preset value or a second preset value; wherein, 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; in this embodiment, the value of the first identifier is the second preset value.
[0117] In step S302, in response to the first identifier obtained from the board management controller indicating that the first original equipment manufacturer parameter is retained, a second identifier is sent to the board management controller.
[0118] In some embodiments, the BIOS determines whether to retain the first original equipment manufacturer (OEM) parameter based on a first identifier; in response to the first identifier indicating that the first OEM parameter is retained, it sends a second identifier to the board management controller; the value of the second identifier is a second preset value.
[0119] In step S303, in response to the second identifier obtained from the baseboard management controller indicating that the first original equipment manufacturer (OEM) parameters are retained, the basic input / output system is configured based on the first OEM parameters.
[0120] In some embodiments, the BIOS determines whether to retain the first original equipment manufacturer (OEM) parameters based on a second identifier; in response to the first identifier indicating that the first OEM parameters are retained, the BIOS configures the basic input / output system based on the first OEM parameters. Specific configuration methods can be found in related technologies and will not be elaborated here.
[0121] Thus, through the data processing method provided in this embodiment, the identifier obtained from the BMC after each BIOS startup determines whether to retain the target device manufacturer parameters; if retained, the current target device manufacturer parameters of the BIOS are stored in the BMC so that configuration is performed based on the target device manufacturer parameters at the next startup; if not retained, the BIOS is configured directly based on the default target device manufacturer parameters; thus, by adding the step of obtaining the identifier, the boot time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.
[0122] Figure 4 illustrates a fourth optional flowchart of the data processing method provided in the embodiments of this disclosure, which will be described according to each step.
[0123] Step S401: Start the basic input / output system and receive the first identifier sent by the BMC.
[0124] In some embodiments, the electronic device powers on, initiates the BIOS, and receives a first identifier sent by the BMC. The first identifier indicates whether to retain the first original equipment manufacturer (OEM) parameters or the target device manufacturer (DEM) parameters. If the first identifier indicates that the first OEM parameters are retained, the BIOS is configured using the default OEM parameters; if the first identifier indicates that the target device manufacturer (DEM) parameters are retained, the BIOS is configured using the DEM parameters.
[0125] In step S402, in response to the first identifier obtained from the substrate management controller representing the retained target device manufacturer parameter, the target device manufacturer parameter and the second identifier are sent to the substrate management controller.
[0126] In some embodiments, the BIOS calls a first interface to obtain target device manufacturer parameters from a first memory; optionally, the first interface may be an SCE interface; the first memory may be a BIOS ROM.
[0127] In some embodiments, after obtaining the target device manufacturer parameters, the BIOS encrypts the target device manufacturer parameters and sends the encrypted target device manufacturer parameters and a second identifier to the BMC. The second identifier indicates whether to retain the first original equipment manufacturer (OEM) parameters or the target device manufacturer parameters; if the second identifier indicates that the first OEM parameters are retained, it means that the BIOS uses the default OEM parameters for configuration; if the second identifier indicates that the target device manufacturer parameters are retained, it means that the BIOS uses the target device manufacturer parameters for configuration.
[0128] In practice, the BIOS can encrypt the version of the target device manufacturer parameter, the target device manufacturer parameter, 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 and prevent the encrypted data from being cracked. It can be obtained based on experience, experimental results, or user input.
[0129] In some embodiments, the BIOS uses the first encrypted data as a header and the target device manufacturer parameter as a body, the header and body constituting a second original equipment manufacturer parameter; and sends the second original equipment manufacturer parameter and the second identifier to the baseboard management controller.
[0130] Step S403: Restart the BIOS and receive the second identifier sent by the BMC.
[0131] In step S404, in response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters, the first encrypted data is obtained from the baseboard management controller.
[0132] In some embodiments, the BIOS obtains the first encrypted data from the BMC.
[0133] Step S405: 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.
[0134] In some embodiments, the BIOS obtains the current original equipment manufacturer (OEM) parameters stored in the first memory (i.e., the OEM parameters stored in the BIOS upon restart) based on the first interface, and encrypts the version of the current OEM parameters, the version of the current OEM parameters, and the first string based on an algorithm function to obtain second encrypted data.
[0135] 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 means that the current original equipment manufacturer (OEM) parameters in the BIOS are the same as the target OEM parameters. The BIOS can be configured directly based on the current OEM parameters without needing to obtain them from the BMC.
[0136] If the first encrypted data is different from the second encrypted data, it means that the current original equipment manufacturer (OEM) parameters in the BIOS are different from the target OEM parameters, and the second OEM parameters need to be obtained from the BMC.
[0137] Step S406: Configure the basic input / output system based on the target device manufacturer parameters.
[0138] In some embodiments, after the BIOS obtains the second original equipment manufacturer (OEM) parameters from the BMC, it first confirms the difference between the target OEM parameters in the second OEM parameters and the current OEM parameters.
[0139] In practice, the BIOS compares the version of the target device manufacturer's parameters with the version of the current original device manufacturer's parameters. If the versions are different, it compares the items corresponding to the current original device manufacturer's parameters with the items corresponding to the target device manufacturer's parameters to obtain a second comparison result.
[0140] In some embodiments, the second comparison result is obtained based on the comparison of each item in the target equipment manufacturer parameters with the current original equipment manufacturer parameters.
[0141] Specifically, in response to the second comparison result indicating that the first item exists in the target device manufacturer parameters but not in the current original equipment manufacturer parameters, a first alarm message is sent to the board management controller. This indicates that the item was 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). The BIOS will record the corresponding item name and pass it to the BMC via the OEM cmd. The first alarm message will be displayed in the SEL log of the BMC web to inform the user.
[0142] Specifically, in response to the second comparison result, if the items corresponding to the current original equipment manufacturer (OEM) parameters are the same as the items corresponding to the target equipment manufacturer (OEM) parameters, or if the number of items corresponding to the current OEM parameters is greater than the number of items corresponding to the target equipment manufacturer (OEM) parameters, then the target equipment manufacturer (OEM) parameters are obtained from the baseboard management controller. If the number of items corresponding to the current OEM parameters is greater than the number of items corresponding to the target equipment manufacturer (OEM) parameters, it indicates that this is a newly added item in this version. In this case, the target equipment manufacturer (OEM) parameters read from the BMC do not contain this item. This does not affect the user settings, because it is outside the OEM items. The comparison can continue to the next item.
[0143] 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.
[0144] Thus, the data processing method provided in this disclosure overcomes the limitations of traditional cross-pi upgrade iterations, where adding or deleting NVRAM area item values may cause system crashes, OEM items cannot be retained, and users need to manually reconfigure them. It allows for a direct, one-step upgrade to the new version. By adding identifiers, encrypting data, and comparing versions, boot time is significantly optimized. Encrypting transmitted data prevents attacks that could leak settings. Regardless of the version iteration, as long as it's the same product's BIOS firmware, OEM setup item settings can be retained. Users can customize which OEM setup items to retain, offering greater flexibility than traditional methods and saving at least 30 seconds, the specific time depending on the number of OEM items.
[0145] Figure 5 illustrates a fifth optional flowchart of the data processing method provided in this embodiment of the present disclosure, which will be described step by step.
[0146] Step S501: In response to the startup of the basic input / output system, a first identifier is sent to the basic input / output system.
[0147] In some embodiments, in response to a BIOS boot, the BMC sends a first identifier to the BIOS system. This first identifier is the one sent to the BMC after the BIOS's most recent boot.
[0148] In step S502, in response to the first identifier representing the retained target device manufacturer parameter, the BMC receives the target device manufacturer parameter and the second identifier transmitted by the basic input / output system, and stores the target device manufacturer parameter in the second memory.
[0149] In some embodiments, the second memory is a Baseboard Management Controller Electrically Erasable Programmable Read-Only Memory (BMC EEPROM).
[0150] 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 device manufacturer parameters or to retain the target device manufacturer parameters.
[0151] In step S503, in response to the restart of the substrate input / output system, a second identifier is sent to the substrate input / output system.
[0152] In some embodiments, in response to a BIOS reboot, the BMC sends a second identifier to the BIOS.
[0153] Step S504: In response to the second identifier indicating that the target device manufacturer parameter is retained, the target device manufacturer parameter is sent to the basic input / output system.
[0154] In some embodiments, if the second identifier indicates that the BIOS is configured using target device manufacturer parameters, then after receiving an acquisition instruction from 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.
[0155] In some alternative embodiments, after the BIOS completes 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 (OEM) parameters or to retain the target OEM parameters.
[0156] Thus, through the data processing method provided in this embodiment, the BMC sends an identifier to the BIOS to determine whether the BIOS retains the target device manufacturer parameters; if retained, the current target device manufacturer parameters of the BIOS are stored in the BMC so that configuration is performed based on the target device manufacturer parameters on the next boot; if not retained, the BIOS is configured directly based on the default target device manufacturer parameters; thus, by adding the step of obtaining the identifier, the boot time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.
[0157] Figure 6 illustrates a sixth optional flowchart of the data processing method provided in this disclosure embodiment, which will be described according to each step.
[0158] Step S601: In response to the startup of the basic input / output system, a first identifier is sent to the basic input / output system.
[0159] The specific steps of step S601 are the same as those of step S501, and will not be repeated here.
[0160] In step S602, in response to the first identifier representing the retained target device manufacturer parameter, the BMC receives the second original device manufacturer parameter and the second identifier transmitted by the basic input / output system, and stores the target device manufacturer parameter in the second memory.
[0161] In some embodiments, if the BIOS needs to retain target device manufacturer parameters for configuration, the BMC receives a second original device manufacturer parameter and a second identifier sent by the BIOS. The second identifier is used to indicate that the target device manufacturer parameters are retained.
[0162] In step S603, in response to the restart of the substrate input / output system, a second identifier is sent to the substrate input / output system.
[0163] In some embodiments, in response to a BIOS reboot, the BMC sends a second identifier to the BIOS.
[0164] Step S604: Send the first encrypted data.
[0165] In some embodiments, if the second identifier indicates that the BIOS is configured using parameters from the target device manufacturer, the BMC sends the first encrypted data to the BIOS after receiving the acquisition instruction from the BIOS.
[0166] Step S605: In response to the basic input / output system obtaining the target device manufacturer parameters from the baseboard management controller based on the first encrypted data confirmation, the target device manufacturer parameters are sent.
[0167] In some embodiments, the first encrypted data is compared with the second encrypted data to obtain a first comparison result; the first comparison result is used by the Basic Input / Output System (BIOS) to confirm whether to acquire the target device manufacturer parameters. If the first comparison result indicates that the BIOS confirms whether to acquire the target device manufacturer parameters, then the target device manufacturer parameters are sent.
[0168] In some alternative embodiments, after the BIOS completes 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 (OEM) parameters or to retain the target OEM parameters.
[0169] Thus, through the data processing method provided in this embodiment, the BMC sends an identifier to the BIOS to determine whether the BIOS retains the target device manufacturer parameters; if retained, the current target device manufacturer parameters of the BIOS are stored in the BMC so that configuration is performed based on the target device manufacturer parameters on the next boot; if not retained, the BIOS is configured directly based on the default target device manufacturer parameters; thus, by adding the step of obtaining the identifier, the boot time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.
[0170] Figure 7 illustrates a seventh optional flowchart of the data processing method provided in this disclosure embodiment, which will be described according to each step.
[0171] Step S701: Start the BIOS, and the BMC sends the first identifier to the BIOS.
[0172] In some embodiments, when an electronic device is powered on and the BIOS is started, the BMC sends a first identifier to the BIOS.
[0173] In step S702, in response to the first identifier representing the retained target device manufacturer parameter, the BIOS sends the target device manufacturer parameter and the second identifier to the BMC.
[0174] In some embodiments, the BIOS identifies retained original equipment manufacturer (OEM) parameters based on a first identifier; in response to the first identifier indicating that target OEM parameters are retained, the target OEM parameters and a second identifier are sent to the baseboard management controller. This allows the baseboard management controller to store the target OEM parameters and, upon the next BIOS startup, transmit the target OEM parameters to the BIOS for BIOS configuration.
[0175] In some embodiments, the BIOS sends a target device manufacturer parameter and a second identifier to the baseboard management controller, the second identifier being used to indicate whether to retain the first original equipment manufacturer parameter or retain the target device manufacturer parameter upon the next BIOS startup.
[0176] In some alternative embodiments, after the BIOS sends the target device manufacturer parameters and the second identifier to the baseboard management controller, it deletes the target device manufacturer parameters stored in the BIOS's first memory. Alternatively, the BIOS is updated and flashed, and the system is restarted after the flash is complete.
[0177] Step S703: Reboot the BIOS. The BMC sends a second identifier to the BIOS.
[0178] In step S704, the BIOS, in response to the second identifier indicating that the target device manufacturer parameter is retained, obtains the target device manufacturer parameter from the BMC.
[0179] Step S705: Configure the basic input / output system based on the target device manufacturer parameters.
[0180] In some embodiments, after receiving the target device manufacturer parameters, the BIOS stores the target device manufacturer parameters in a first memory and configures the BIOS based on the target device manufacturer parameters. The specific configuration method is the same as in the prior art and will not be repeated here.
[0181] The first memory may be NVRAM in the BIOS.
[0182] Thus, through the data processing method provided in this embodiment, the identifier obtained from the BMC after each BIOS startup determines whether to retain the target device manufacturer parameters; if retained, the current target device manufacturer parameters of the BIOS are stored in the BMC so that configuration is performed based on the target device manufacturer parameters at the next startup; if not retained, the BIOS is configured directly based on the default target device manufacturer parameters; thus, by adding the step of obtaining the identifier, the boot time in the scenario of directly configuring the BIOS based on the default target device manufacturer parameters is reduced.
[0183] Figure 8 shows an eighth optional flowchart of the data processing method provided in the embodiments of this disclosure, which will be described according to each step.
[0184] Step S801: Start the BIOS, and the BMC sends the first identifier to the BIOS.
[0185] The first identifier is sent by the BIOS to the BMC before this boot, and is intended to indicate the OEM used during this BIOS flash. The first identifier can be a preset value; if the first identifier is a first preset value, it indicates that the target device manufacturer parameters are retained, that is, the existing, configured OEM will be used to configure the BIOS in the next BIOS flash, and the first preset value can be "False"; if the value of the first identifier is a second preset value, it indicates that the first original equipment manufacturer parameters are retained, and the second preset value can be "true".
[0186] In step S802, the BIOS confirms the BIOS configuration parameters based on the first identifier.
[0187] In some embodiments, if the value of the first identifier is a first preset value, it is confirmed that the existing, configured OEM configuration BIOS, i.e., the target device manufacturer parameters, will be used for configuration during the next BIOS refresh, and step S804 is executed.
[0188] In other embodiments, if the value of the first identifier is a second preset value, then it is confirmed that the default original equipment manufacturer (OEM) parameters, i.e. the first OEM parameters, will be used for configuration during the next BIOS update, and step S803 will be executed.
[0189] Step S803: Reboot the BIOS and configure it based on the parameters of the first original equipment manufacturer stored in the first memory.
[0190] In step S804, the BIOS sends the target device manufacturer parameters and the second identifier to the BMC.
[0191] In some embodiments, the BIOS calls a first interface to obtain target device manufacturer parameters from a first memory; optionally, the first interface may be an SCE interface; the first memory may be a BIOS ROM.
[0192] In some embodiments, after obtaining the target device manufacturer parameters, the BIOS encrypts the target device manufacturer parameters and sends the encrypted target device manufacturer parameters and a second identifier to the BMC. The second identifier indicates whether to retain the first original equipment manufacturer (OEM) parameters or the target device manufacturer parameters; if the second identifier indicates that the first OEM parameters are retained, it means that the BIOS uses the default OEM parameters for configuration; if the second identifier indicates that the target device manufacturer parameters are retained, it means that the BIOS uses the target device manufacturer parameters for configuration.
[0193] In practice, the BIOS can encrypt the version of the target device manufacturer parameter, the target device manufacturer parameter, 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 and prevent the encrypted data from being cracked. It can be obtained based on experience, experimental results, or user input.
[0194] Specifically, it can be calculated using the following algorithm: Decrypt = Alg(Ver, String, "@Salt@")
[0195] Here, Decrypt is the first encrypted data, a fixed-length value; 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. This version number will accumulate whenever there are changes to the NVRAM area or additions / removals of Setup items in the release. For BIOS versions of the same type, only the values of the items differ, without any additions / removals or changes to the NVRAM layout. It can be understood as a macro-level judgment. If Ver remains unchanged, it means that there are no updates to things like CPU PI code, microcode, or some low-level driver firmware (FW), and there are no additions / removals of items between the versions before and after the update. If there are changes, it is only a difference in the string, which may involve modifications to some default values of OEM items.
[0196] The second original equipment manufacturer (OEM) parameters are determined based on the first encrypted data and the target device manufacturer parameters; wherein, Decrypt, as the header of String, is sent to BMC along with String and stored in BMC's EEPROM.
[0197] In some embodiments, the BIOS sets the value of the second identifier to a first preset value and sends it to the BMC along with the second original equipment manufacturer (OEM) parameter.
[0198] In step S805, BMC stores the second original equipment manufacturer (OEM) parameters into the second memory.
[0199] The second memory is an EEPROM.
[0200] Step S806: Flash the BIOS and restart the system.
[0201] In some embodiments, a complete BIOS update is performed, followed by a system reboot after the update is complete.
[0202] In step S807, the BMC sends a second identifier to the BIOS.
[0203] In step S808, the BIOS confirms the BIOS configuration parameters based on the second identifier.
[0204] In step S809, the BIOS obtains the first encrypted data from the BMC.
[0205] In some embodiments, the BIOS obtains the current original equipment manufacturer (OEM) parameters stored in the first memory based on the first interface, and encrypts the version of the current OEM parameters, the version of the current OEM parameters, and the first string based on an algorithm function to obtain second encrypted data.
[0206] Step S810: 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.
[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 means that the current original equipment manufacturer (OEM) parameters in the BIOS are the same as the target OEM parameters. The BIOS can be configured directly based on the current OEM parameters without needing to obtain them from the BMC. Step S812 is then executed.
[0208] If the first encrypted data is different from the second encrypted data, it means that the current original device manufacturer parameters in the BIOS are different from the target device manufacturer parameters, and the target device manufacturer parameters need to be obtained from the BMC.
[0209] Step S811: The BIOS obtains the target device manufacturer parameters from the BMC.
[0210] Step S812: Configure BIOS.
[0211] In some embodiments, the BIOS is configured based on parameters indicated by a second identifier.
[0212] Thus, the data processing method provided in this disclosure overcomes the limitations of traditional cross-pi upgrade iterations, where adding or deleting NVRAM area item values may cause system crashes, OEM items cannot be retained, and users need to manually reconfigure them. It allows for a direct, one-step upgrade to the new version. By adding identifiers, encrypting data, and comparing versions, boot time is significantly optimized. Encrypting transmitted data prevents attacks that could leak settings. Regardless of the version iteration, as long as it's the same product's BIOS firmware, OEM setup item settings can be retained. Users can customize which OEM setup items to retain, offering greater flexibility than traditional methods and saving at least 30 seconds, the specific time depending on the number of OEM items.
[0213] Figure 9 illustrates a ninth optional flowchart of the data processing method provided in this disclosure embodiment, which will be described step by step.
[0214] In some embodiments, after each boot, the BIOS sends a boot completion identifier flashflag (i.e., one of the first, second, and third identifiers) to the BMC via the OEM cmd. The flashflag is primarily used by the BMC to send the identifier to the BIOS during the boot process. The BIOS reads the identifier; if the value is a first preset value (true), it indicates that this boot is the first boot after retaining the current configuration parameters and updating the BIOS ROM. In this case, the BIOS reads back the retained OEM setup items (target device manufacturer parameters) from the BMC's EEPROM and then assigns values to the BIOS's NVRAM area. This identifier is added because the operation of the BIOS reading back these target device manufacturer parameters from the BMC is relatively time-consuming. To optimize boot time, this embodiment uses identifiers to indicate whether a readback operation is required or not. This means that the BIOS does not need to read the target device manufacturer parameters from the BMC every boot; it only reads them back after the configuration upgrade operation. Furthermore, after boot, the flashflag is set to the second preset value (false). Subsequent boots will not require the BIOS to repeatedly read the target device manufacturer parameters from the BMC, thus shortening boot time.
[0215] Step S901: Power on and receive the first identifier.
[0216] In some embodiments, when an electronic device powers on and enters the system or setup, if the BIOS configuration is retained during the flash, the SCE interface is called before updating the BIOS ROM to retrieve the OEM setup parameters from the BIOS ROM. These target device manufacturer parameters are named String and transmitted to the BMC via the protocol channel between the BIOS and BMC. Before transmission, an algorithm verification can be performed, with the following formula: Decrypt = Alg(Ver, String, "@Salt@").
[0217] Decrypt outputs a fixed-length value, which is sent to the BMC along with the String header and stored in the BMC's EEPROM. Alg is the called algorithm function, with the following parameters: Ver is the version of the input BIOS OEM Setup item (i.e., the version of the target device manufacturer's parameters). Whenever there are changes to the NVRAM area or additions / removals of Setup items, the version number is incremented. Parameters of the same version only differ in item values, not in additions / removals or changes to the NVRAM layout. This can be understood as a macro-level determination. If Ver remains unchanged, it means there are no updates to things like CPU PI code, microcode, or some low-level driver firmware, and there are no additions / removals of items between the versions before and after the update. If there are changes, they are only differences in the String, involving modifications to some OEM item default values. Salt is the "salting" part, a custom string created by R&D or the customer to enhance algorithm complexity and prevent cracking. The second identifier is set to true and sent to the BMC, indicating that a configuration-preserving refresh has been performed. This operation is unnecessary if the configuration is not preserved during the BIOS refresh, or if no BIOS update operation has been performed.
[0218] Step S902: Perform a full BIOS update and flash. After the flash is complete, restart the system.
[0219] Step S903: Power on again and read the second identifier.
[0220] Upon restarting, the BIOS reads the second identifier from the BMC during the early boot phase. If the value read is false, it means there is no need to synchronize the OEM setup project, and normal startup is sufficient. If the value read is true, then step S904 is executed.
[0221] Step S904: Determine whether to obtain the target device manufacturer parameters.
[0222] In some embodiments, the value of the second identifier is true, indicating that the reserved configuration was refreshed during the previous boot. At this time, the value of the first encrypted data Decrypt (denoted as D1) is read from the BMC via the OEM command and compared with the value of the second encrypted data Decrypt (denoted as D2) calculated using the same algorithm for this boot. If D1 = D2, it means that the version 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, the boot can continue without retrieving data from the BMC. If D1 and D2 are not equal, it means that there has been a change in the version or the default value of the item, and step S905 is executed.
[0223] Step S905: Obtain the target device manufacturer parameters from the BMC.
[0224] In some embodiments, if D1 and D2 are not equal, it indicates a change in version or project default values. In this case, the complete string needs to be obtained. After obtaining the complete string, the OEM setup items for this startup are collected. First, the Ver values in the first and second encrypted data are compared. If Ver values are the same, it indicates only a difference in default values. The corresponding item values from the target device vendor parameters are then overridden and copied to the NVRAM of the current BIOS. The startup continues, and after successful boot, checking the relevant items reveals the default values from before the update. If Ver values are different, it indicates a significant change in the setup layout, with items added or removed. This suggests a large difference between the updated version and the previous version, potentially indicating a serious bug or an iteration from an early, immature version to a more mature version during development. If Ver values are different, then items have been added or removed. During the comparison process, the following three scenarios exist:
[0225] (1) If it is a new item added in this version, then the target device supplier parameters read from BMC do not include this item. This does not affect the user settings, because this item is outside the OEM items. Just continue to the next item for comparison.
[0226] (2) If the item was deleted in this version (or the current version), it means that the OEM setup item setting no longer exists in the new version. The BIOS records the name of the deleted item and passes it to the BMC via the OEM cmd. The warning (first alarm message) is displayed in the SEL log of the BMC web to inform the user.
[0227] (3) Other matching items are handled in the same way as Ver.
[0228] After completing the above steps, the data will be permanently saved to the NVRAM area of the BIOS ROM.
[0229] Thus, the data processing method provided in this disclosure overcomes the limitations of traditional cross-pi upgrades and iterations, where adding or deleting NVRAM area item values may cause system crashes, OEM items cannot be retained, and users need to manually reconfigure them. It allows for a direct, one-step upgrade to the new version. By adding identifiers, encrypting data, and comparing versions, boot time is significantly optimized. Encrypting transmitted data prevents attacks that could leak settings. Regardless of the version iteration, as long as it's the same product's BIOS firmware, OEM setup item settings can be retained. Users can customize which OEM setup items to retain, offering greater flexibility than traditional methods and saving at least 30 seconds, the specific time depending on the number of OEM items.
[0230] Figure 10 shows a schematic diagram of a first optional structure of the data processing apparatus provided in an embodiment of the present disclosure, which will be described in terms of each part.
[0231] In some embodiments, the data processing device 1000 is applied to a basic input / output system, and the device includes: a first transmission unit 1001, a second transmission unit 1002, and a configuration unit 1003.
[0232] The first transmission unit 1001 is used to start the basic input / output system and, in response to a first identifier obtained from the baseboard management controller representing a retained target device manufacturer parameter, sends the target device manufacturer parameter and the second identifier to the baseboard management controller.
[0233] The second transmission unit 1002 is used to restart the basic input / output system, and in response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters, obtain the target device manufacturer parameters from the baseboard management controller;
[0234] The configuration unit 1003 is used to configure the basic input / output system based on the target device manufacturer parameters.
[0235] The first transmission unit 1001, after configuring the basic input / output system, is further configured to send a third identifier to the baseboard management controller;
[0236] The third identifier is used to indicate whether to retain the parameters of the first original equipment manufacturer or to retain the parameters of the target equipment manufacturer.
[0237] The first transmission unit 1001 is further configured to send a second identifier to the substrate management controller in response to the first identifier obtained from the substrate management controller indicating that the first original equipment manufacturer parameter is retained.
[0238] The second identifier is used to indicate that the parameters of the first original equipment manufacturer are retained.
[0239] The configuration unit 1003 is further configured to configure the basic input / output system based on the first original equipment manufacturer (OEM) parameter in response to a second identifier obtained from the baseboard management controller indicating that the first OEM parameter is retained.
[0240] The second transmission unit 1002 is specifically used to call the first interface to obtain the target device manufacturer parameters stored in the first memory, encrypt the target device manufacturer parameters, and obtain the first encrypted data;
[0241] The value of the second identifier is determined to be a first preset value; when the value of the second identifier is the first preset value, it indicates that the target equipment 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.
[0242] The first encrypted data is used as the data header, and the target device manufacturer parameters are used as the data body. The data header and the data body constitute the second original equipment manufacturer parameters.
[0243] Send the second original equipment manufacturer parameter and the second identifier to the baseboard management controller.
[0244] The second transmission unit 1002 is specifically used to encrypt the version of the target device manufacturer parameter, the target device manufacturer parameter and the first string based on the algorithm function to obtain the first encrypted data.
[0245] The second transmission unit 1002 is specifically used to obtain the second identifier from the baseboard management controller;
[0246] In response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters, the first encrypted data is obtained from the baseboard management controller;
[0247] 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;
[0248] The second encrypted data is obtained based on the current original equipment manufacturer (OEM) parameters of the basic input / output system.
[0249] The second transmission unit 1002 is specifically used to continue starting the basic input / output system in response to the first encrypted data and the second encrypted data being the same.
[0250] The second transmission unit 1002 is specifically used for one of the following:
[0251] If the first encrypted data and the second encrypted data are different but have the same version, the target device manufacturer parameters are obtained from the baseboard management controller.
[0252] In response to the fact that the first encrypted data and the second encrypted data are different and have different versions, the items corresponding to the parameters of the current original equipment manufacturer are compared with the items corresponding to the parameters of the target equipment manufacturer to obtain a second comparison result;
[0253] In response to the second comparison result indicating that the first item exists in the target equipment manufacturer parameters but not in the current original equipment manufacturer parameters, a first alarm message is sent to the board management controller;
[0254] In response to the second comparison result including the items corresponding to the current original equipment manufacturer (OEM) parameters being the same as the items corresponding to the target equipment manufacturer (OEM) parameters, or the items corresponding to the current OEM parameters being greater than the items corresponding to the target equipment manufacturer (OEM) parameters, the target equipment manufacturer (OEM) parameters are obtained from the baseboard management controller.
[0255] Write the target device manufacturer parameters into the first memory.
[0256] Figure 11 shows a schematic diagram of a second alternative structure of the data processing apparatus provided in an embodiment of the present disclosure, which will be described in terms of each part.
[0257] In some embodiments, the data processing device 1100 is applied to a substrate management controller, the device including: a first transmitting unit 1101, a first receiving unit 1102 and a second transmitting unit 1103.
[0258] The first sending unit 1101 is configured to send a first identifier to the basic input / output system in response to the basic input / output system starting up;
[0259] The first receiving unit 1102 is configured to receive the target device manufacturer parameters and the second identifier transmitted by the basic input / output system in response to the first identifier representing the retention of the target device manufacturer parameters, and store the target device manufacturer parameters in the second memory;
[0260] The second sending unit 1103 is configured to send a second identifier to the substrate input / output system in response to the substrate input / output system restarting; and to send the target device manufacturer parameters to the basic input / output system in response to the second identifier indicating that the target device manufacturer parameters are retained.
[0261] The target device manufacturer parameters are used to configure the basic input / output system.
[0262] The first receiving unit 1102 is also used to receive a third identifier sent by the basic input / output system;
[0263] The third identifier is used to indicate whether to retain the parameters of the first original equipment manufacturer or to retain the parameters of the target equipment manufacturer.
[0264] The first receiving unit 1102 is specifically used to receive the second original equipment manufacturer parameters transmitted by the basic input / output system, which have the first encrypted data as the data header and the target equipment manufacturer parameters as the data body; and to receive the second identifier.
[0265] The second sending unit 1103 is specifically used to send the first encrypted data;
[0266] In response to the basic input / output system obtaining the target device manufacturer parameters from the baseboard management controller based on the first encrypted data confirmation, the target device manufacturer parameters are sent.
[0267] In some embodiments, the first encrypted data is used to compare with the second encrypted data to obtain a first comparison result;
[0268] The first comparison result is used by the basic input / output system to confirm whether the target device manufacturer parameters have been obtained.
[0269] According to embodiments of this disclosure, this disclosure also provides an electronic device and a readable storage medium.
[0270] Figure 12 illustrates a schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0271] As shown in Figure 12, 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. The RAM 1203 may also store various programs and data required for the operation of the electronic device 1200. The computing unit 1201, ROM 1202, and RAM 1203 are interconnected via a bus 1204. An input / output (I / O) interface 1205 is also connected to the bus 1204.
[0272] Multiple components in electronic device 1200 are connected to I / O interface 1205, including: input unit 1206, such as keyboard, mouse, etc.; output unit 1207, such as various types of displays, speakers, etc.; storage unit 1208, such as disk, optical disk, etc.; and communication unit 1209, such as network card, modem, wireless transceiver, etc. Communication unit 1209 allows electronic device 1200 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0273] The computing unit 1201 can be a variety of 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 special-purpose 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 performs the various methods and processes described above, such as data processing methods. For example, in some embodiments, the data processing method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 1208. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 1200 via ROM 1202 and / or communication unit 1209. When the computer program is loaded into RAM 1203 and executed by the computing unit 1201, one or more steps of the data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 1201 may be configured to perform data processing methods by any other suitable means (e.g., by means of firmware).
[0274] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0275] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0276] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction 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 be, 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 machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0277] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, 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 sound input, voice input, or tactile input).
[0278] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0279] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0280] It should be understood that the various forms of processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0281] The above description is merely a specific embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.
Claims
1. A data processing method, characterized in that, Applied to a basic input / output system, the method includes: Upon activating the basic input / output system, in response to a first identifier obtained from the baseboard management controller representing a retained target device manufacturer parameter, the target device manufacturer parameter and a second identifier are sent to the baseboard management controller. When the basic input / output system is restarted, in response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters, the target device manufacturer parameters are obtained from the baseboard management controller. Configure the basic input / output system based on the target device manufacturer parameters.
2. The method according to claim 1, characterized in that, After configuring the basic input / output system, the method further includes: Send a third identifier to the board management controller; The third identifier is used to indicate whether to retain the parameters of the first original equipment manufacturer or to retain the parameters of the target equipment manufacturer.
3. The method according to claim 1, characterized in that, The method further includes: In response to the first identifier obtained from the baseboard management controller indicating that the first original equipment manufacturer parameters are retained, a second identifier is sent to the baseboard management controller; The second identifier is used to indicate that the parameters of the first original equipment manufacturer are retained.
4. The method according to claim 3, characterized in that, The method further includes: In response to the second identifier obtained from the baseboard management controller indicating that the first original equipment manufacturer (OEM) parameters are retained, the basic input / output system is configured based on the first OEM parameters.
5. The method according to claim 1, characterized in that, Sending the target device manufacturer parameters and the second identifier to the baseboard management controller includes: Call the first interface to obtain the target device manufacturer parameters stored in the first memory, encrypt the target device manufacturer parameters to obtain the first encrypted data; The value of the second identifier is determined to be a first preset value; when the value of the second identifier is the first preset value, it indicates that the target equipment 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. The first encrypted data is used as the data header, and the target device manufacturer parameters are used as the data body. The data header and the data body constitute the second original equipment manufacturer parameters. Send the second original equipment manufacturer parameter and the second identifier to the baseboard management controller.
6. The method according to claim 5, characterized in that, The encryption of the target device manufacturer parameters to obtain the first encrypted data includes: The algorithm function is used to encrypt the version of the target device manufacturer parameter, the target device manufacturer parameter, and the first string to obtain the first encrypted data.
7. The method according to claim 1, characterized in that, The step of obtaining the target device manufacturer parameters from the baseboard management controller in response to a second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters includes: Obtain the second identifier from the substrate management controller; In response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters, the first encrypted data is obtained from the baseboard management controller; 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; The second encrypted data is obtained based on the current original equipment manufacturer (OEM) parameters of the basic input / output system.
8. The method according to claim 7, characterized in that, The confirmation of 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: If the first encrypted data and the second encrypted data are the same, then the basic input / output system continues to start.
9. The method according to claim 7, characterized in that, The determination of 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: If the first encrypted data and the second encrypted data are different but have the same version, the target device manufacturer parameters are obtained from the baseboard management controller. In response to the fact that the first encrypted data and the second encrypted data are different and have different versions, the items corresponding to the parameters of the current original equipment manufacturer are compared with the items corresponding to the parameters of the target equipment manufacturer to obtain a second comparison result; In response to the second comparison result indicating that the first item exists in the target equipment manufacturer parameters but not in the current original equipment manufacturer parameters, a first alarm message is sent to the board management controller; In response to the second comparison result including the same items corresponding to the current original equipment manufacturer (OEM) parameters and the same items corresponding to the target equipment manufacturer (OEM) parameters, or the number of items corresponding to the current OEM parameters is greater than the number of items corresponding to the target equipment manufacturer (OEM) parameters, the target equipment manufacturer (OEM) parameters are obtained from the baseboard management controller. Write the target device manufacturer parameters into the first memory.
10. A data processing method, characterized in that, Applied to a baseboard management controller, the method includes: In response to the startup of the basic input / output system, a first identifier is sent to the basic input / output system; In response to the first identifier representing the retention of target device manufacturer parameters, the target device manufacturer parameters and the second identifier transmitted by the basic input / output system are received, and the target device manufacturer parameters are stored in the second memory; In response to the restart of the substrate input / output system, a second identifier is sent to the substrate input / output system; In response to the second identifier indicating that the target device manufacturer parameter is retained, the target device manufacturer parameter is sent to the basic input / output system; The target device manufacturer parameters are used to configure the basic input / output system.
11. The method according to claim 10, characterized in that, The method further includes: Receives a third identifier sent by the basic input / output system; The third identifier is used to indicate whether to retain the parameters of the first original equipment manufacturer or to retain the parameters of the target equipment manufacturer.
12. The method according to claim 10, characterized in that, The target device manufacturer parameters and second identifier transmitted by the basic input / output system include: Receives second original equipment manufacturer parameters transmitted by the basic input / output system, with the first encrypted data as the data header and the target equipment manufacturer parameters as the data body; Receive the second identifier.
13. The method according to claim 10, characterized in that, Sending the target device manufacturer parameters to the basic input / output system includes: Send the first encrypted data; In response to the basic input / output system obtaining the target device manufacturer parameters from the baseboard management controller based on the first encrypted data confirmation, the target device manufacturer parameters are sent.
14. The method according to claim 13, characterized in that, 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 by the basic input / output system to confirm whether the target device manufacturer parameters have been obtained.
15. A data processing method, characterized in that, The method includes: Upon activating the Basic Input / Output System (PIOS), the Baseboard Management Controller (BMC) sends a first identifier to the PIOS. In response to the first identifier representing the retained target device manufacturer parameter, the basic input / output system sends the target device manufacturer parameter and the second identifier to the board management controller; When the basic input / output system is restarted, the baseboard management controller sends a second identifier to the basic input / output system. In response to the second identifier indicating that the target device manufacturer parameter is retained, the target device manufacturer parameter is obtained from the baseboard management controller; Configure the basic input / output system based on the target device manufacturer parameters.
16. A data processing apparatus, characterized in that, The device, applied to a basic input / output system, includes: The first transmission unit is configured to start the basic input / output system and, in response to a first identifier obtained from the baseboard management controller representing a retained target device manufacturer parameter, send the target device manufacturer parameter and the second identifier to the baseboard management controller. The second transmission unit is used to restart the basic input / output system and, in response to the second identifier obtained from the baseboard management controller representing the retained target device manufacturer parameters, obtain the target device manufacturer parameters from the baseboard management controller. A configuration unit is used to configure the basic input / output system based on the target device manufacturer parameters.
17. A data processing apparatus, characterized in that, The device, applied to a substrate management controller, includes: The first transmitting unit is configured to send a first identifier to the basic input / output system in response to the basic input / output system starting up; The first receiving unit is configured to, in response to the first identifier representing the retention of the target device manufacturer parameter, receive the target device manufacturer parameter and the second identifier transmitted by the basic input / output system, and store the target device manufacturer parameter in the second memory; The second transmitting unit is configured to send a second identifier to the substrate input / output system in response to the substrate input / output system restarting; and to send the target device manufacturer parameters to the basic input / output system in response to the second identifier indicating that the target device manufacturer parameters are retained. The target device manufacturer parameters are used to configure the basic input / output system.
18. An electronic device, characterized in that, include: 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, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-9; Alternatively, the method described in any one of claims 10-14 may be performed; Alternatively, the method of claim 15 may be performed.
19. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-9; Alternatively, the method described in any one of claims 10-14 may be performed; Alternatively, the method of claim 15 may be performed.
20. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method according to any one of claims 1-9; Alternatively, the method described in any one of claims 10-14 may be performed; Alternatively, the method of claim 15 may be performed.