Firmware upgrade method and electronic device for board management controller

By sending firmware configuration requests to a message queue cloud for integrity verification and digital signature after the server is powered on, the problem of low firmware upgrade efficiency of the baseboard management controller is solved, and an efficient and reliable firmware upgrade process is achieved.

CN120950103BActive Publication Date: 2026-01-30INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511471058.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-15
Publication Date
2026-01-30
Estimated Expiration
2045-10-15

AI Technical Summary

Technical Problem

Firmware upgrades for the baseboard management controller are inefficient, and the upgrade process is prone to problems such as image corruption or configuration overwriting leading to data loss.

Method used

After the server is powered on, the firmware configuration upgrade request is sent to the message queue cloud through the baseboard management controller to obtain the firmware configuration data to be upgraded, perform integrity verification and write it into the configuration database. If it is running normally, it is digitally signed and stored in the flash memory module.

Benefits of technology

This improves the firmware upgrade efficiency of the baseboard management controller, avoids data loss due to image corruption or configuration overwriting, and ensures the reliability and integrity of the upgrade process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120950103B_ABST
    Figure CN120950103B_ABST
Patent Text Reader

Abstract

This application discloses a firmware upgrade method and electronic device for a baseboard management controller, relating to the field of server technology. After the server is powered on, the baseboard management controller sends a firmware configuration upgrade request to a message queue cloud. The message queue cloud obtains the firmware configuration data to be upgraded based on the firmware configuration upgrade request. The baseboard management controller performs integrity verification on the firmware configuration data. If the firmware configuration data is complete, it is written to the configuration database of the baseboard management controller, a restart operation is performed, and the device information after the restart is obtained. If the restarted baseboard management controller operates normally, the firmware configuration data is digitally signed to generate signed firmware configuration data, which is then synchronously sent to a flash memory module for storage. Therefore, this method solves the problem of low firmware upgrade efficiency in existing baseboard management controllers and improves the firmware upgrade efficiency of baseboard management controllers.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of servers, and particularly relates to a firmware upgrade method of a baseboard management controller and electronic equipment. BACKGROUND

[0002] With the development of artificial intelligence technology, the computing power demand of data centers is growing. As the infrastructure of computing power, the management of servers has become more difficult. As the core component of server management, the firmware upgrade and configuration management of the baseboard management controller become the key to the stable operation of the server.

[0003] In the related art, the firmware upgrade of the baseboard management controller adopts a coupled architecture, that is, user configuration data is directly embedded in a firmware image file, and the firmware upgrade is performed through the firmware image file. However, in the related art, after each firmware upgrade, the parameters need to be reconfigured, and the upgrade process is prone to data loss due to image damage or configuration coverage, resulting in low firmware upgrade efficiency of the baseboard management controller. SUMMARY

[0004] The present application provides a firmware upgrade method of a baseboard management controller and electronic equipment to at least solve the problem of low firmware upgrade efficiency of the baseboard management controller in the related art.

[0005] The present application provides a firmware upgrade method of a baseboard management controller, comprising:

[0006] In response to a power-on operation of the server, a firmware configuration upgrade request is sent to a message queue cloud to enable the message queue cloud to obtain firmware configuration data according to the firmware configuration upgrade request.

[0007] The firmware configuration data sent by the message queue cloud is received, and the integrity of the firmware configuration data is checked to generate verification information.

[0008] If the firmware configuration data in the verification information is complete, the firmware configuration data is written into a configuration database of the baseboard management controller, and device information after the baseboard management controller is restarted is obtained.

[0009] If the baseboard management controller is in normal operation in the device information, the firmware configuration data is digitally signed to generate signed firmware configuration data.

[0010] The signed firmware configuration data is sent to a flash memory module to enable the flash memory module to store the signed firmware configuration data, thereby completing the firmware upgrade of the baseboard management controller.

[0011] The present application also provides a firmware upgrade device of a baseboard management controller, comprising:

[0012] The first sending module is used to send a firmware configuration upgrade request to the message queue cloud in response to the power-on operation of the server, so that the message queue cloud can obtain firmware configuration data according to the firmware configuration upgrade request.

[0013] The first receiving module is used to receive firmware configuration data sent from the message queue cloud, perform integrity verification on the firmware configuration data, and generate verification information.

[0014] The writing module is used to write the firmware configuration data into the configuration database of the baseboard management controller if the firmware configuration data in the verification information is complete, and to obtain the device information after the baseboard management controller restarts.

[0015] The signature module is used to digitally sign the firmware configuration data and generate signed firmware configuration data if the baseboard management controller in the device information is operating normally.

[0016] The second sending module is used to send the signed firmware configuration data to the flash memory module so that the flash memory module stores the signed firmware configuration data to complete the firmware upgrade of the baseboard management controller.

[0017] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for implementing the firmware upgrade method of any of the above-described baseboard management controllers when executing the computer program.

[0018] This application also provides a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of the firmware upgrade method of any of the above-described baseboard management controllers.

[0019] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the firmware upgrade method for any of the aforementioned baseboard management controllers.

[0020] This application addresses the issue that, after the server powers on, the baseboard management controller sends a firmware configuration upgrade request to the message queue cloud. The message queue cloud retrieves the firmware configuration data to be upgraded based on the request and verifies its integrity. If the firmware configuration data is complete, it is written to the baseboard management controller's configuration database, a reboot is performed, and the device information after reboot is obtained. If the rebooted baseboard management controller operates normally, it digitally signs the firmware configuration data, generates signed firmware configuration data, and synchronously sends the signed firmware configuration data to the flash memory module for storage. Therefore, this solution addresses the technical problem of low firmware upgrade efficiency in related technologies and improves the firmware upgrade efficiency of the baseboard management controller. Attached Figure Description

[0021] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0022] Figure 1 A schematic diagram illustrating an application scenario of the firmware upgrade method for the baseboard management controller provided in this embodiment of the application;

[0023] Figure 2 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 1 ;

[0024] Figure 3 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 2 ;

[0025] Figure 4 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 3 ;

[0026] Figure 4 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 5 ;

[0027] Figure 5 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 6 ;

[0028] Figure 6 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 7 ;

[0029] Figure 7 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 8 ;

[0030] Figure 8 A schematic diagram of the firmware upgrade device for the baseboard management controller provided in an embodiment of this application;

[0031] Figure 9 A schematic diagram of the structure of the electronic device provided in this application. Detailed Implementation

[0032] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.

[0033] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.

[0034] To address the issue of low firmware upgrade efficiency in related technologies, this application proposes the following technical concept: After the server is powered on, a firmware configuration upgrade request is sent to a message queue cloud. Firmware configuration data is obtained through the message queue cloud. The baseboard management controller performs integrity verification on the firmware configuration data and generates verification information. If the firmware configuration data in the verification information is complete, the firmware configuration data is written to the configuration database of the baseboard management controller, and the device information after restart is obtained. If the device information after restart is normal, the firmware configuration data is digitally signed, and the signed firmware configuration data is sent to the flash memory module for storage, thereby improving the firmware upgrade efficiency of the baseboard management controller.

[0035] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0036] The specific application environment architecture or specific hardware architecture on which the firmware upgrade method of the baseboard management controller depends is described here.

[0037] refer to Figure 9 , Figure 1 This is a schematic diagram illustrating an application scenario of the firmware upgrade method for the baseboard management controller provided in this application embodiment. The scenario includes a baseboard management controller 101, a message queue cloud 102, and a flash memory module 103.

[0038] Specifically, after the baseboard management controller 101 is powered on, it sends a firmware configuration upgrade request to the message queue cloud 102. The message queue cloud 102 obtains the firmware configuration data according to the firmware configuration upgrade request. The baseboard management controller 101 performs integrity verification on the firmware configuration data and generates verification information. If the firmware configuration data in the verification information is complete, the firmware configuration data is written into the configuration database of the baseboard management controller 101, and the device information after the baseboard management controller 101 restarts is obtained. If the baseboard management controller 101 is running normally, the firmware configuration data is digitally signed to generate signed firmware configuration data. The baseboard management controller 101 sends the signed firmware configuration data to the flash memory module 103. The flash memory module 103 stores the signed firmware configuration data to complete the firmware upgrade of the baseboard management controller 101.

[0039] Figure 1 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 2 ,like Figure 1 As shown, embodiments of this application provide a firmware upgrade method for a baseboard management controller. The method is described in detail below:

[0040] S201: In response to the power-on operation of the server, a firmware configuration upgrade request is sent to the message queue cloud so that the message queue cloud can obtain firmware configuration data according to the firmware configuration upgrade request.

[0041] In this embodiment, the initial configuration information of the flash memory module is refreshed using a flash memory tool before the server is powered on.

[0042] Flash memory tools include, but are not limited to, open-source programmers, hardware programmers, and flash memory management tools.

[0043] The initial configuration information includes, but is not limited to, the firmware version number of the baseboard management controller when it is running normally, the functional description text of the firmware version of the baseboard management controller when it is running normally, and the type of internal device controlled by the baseboard management controller.

[0044] In this embodiment, the server's configuration information is written into the flash memory module when the server leaves the factory. In the absence of a network environment, the baseboard management controller reads the configuration information stored in the flash memory module through the SPI bus.

[0045] In this embodiment, if the baseboard management controller fails to send a firmware configuration upgrade request to the message queue cloud, it will continue to send firmware configuration upgrade requests.

[0046] In this embodiment, the firmware configuration data includes, but is not limited to, the name of the firmware to be upgraded, the version number of the firmware to be upgraded, and the function description of the firmware to be upgraded.

[0047] In this embodiment, the baseboard management controller is equipped with a proxy module for configuration file and parameter processing. The proxy module is used to handle configuration data transfer and data activation. When the proxy module runs, it establishes a connection with the message queue server in the message queue cloud and establishes a data connection with the cloud.

[0048] In this embodiment, the firmware configuration data in the message queue cloud is sent to the baseboard management controller via certificate encryption.

[0049] In this embodiment, the message queue cloud can obtain firmware configuration data of one or more baseboard management controllers, select the device serial number of the baseboard management controller, and perform certificate encryption and signing on the firmware configuration data.

[0050] S202: Receive firmware configuration data sent from the cloud message queue, perform integrity verification on the firmware configuration data, and generate verification information.

[0051] Specifically, the baseboard management controller performs certificate decryption verification on the firmware configuration data sent to the message queue cloud, parses the firmware configuration data, and determines whether it matches based on the device serial number. If it does not match, it sends a matching failure message to the message queue cloud.

[0052] In this embodiment, the baseboard management controller matches the device serial number in the firmware configuration data. If the matching fails, the firmware configuration data is discarded.

[0053] Specifically, the firmware configuration data is parsed, a verification policy is created based on the priority identifier in the parsed configuration data file, the digital certificate repository is retrieved according to the verification policy, the retrieval results are generated, the public key information for integrity verification is generated based on the retrieval results, the digital signature in the firmware configuration data is verified for integrity based on the public key information, and verification information is generated.

[0054] S203: If the firmware configuration data in the verification information is complete, the firmware configuration data is written into the configuration database of the baseboard management controller, and the device information after the baseboard management controller restarts is obtained.

[0055] Specifically, after the firmware configuration data verification is successful, the agent module of the baseboard management controller writes the configuration data into the configuration database of the baseboard management controller and performs a restart operation on the baseboard management controller.

[0056] Specifically, if the baseboard management controller fails to restart, the configuration data stored in the flash memory module is read via the SPI bus, the configuration in the baseboard management controller is overwritten, and a restart operation is performed.

[0057] S204: If the baseboard management controller in the device information is running normally, then digitally sign the firmware configuration data to generate signed firmware configuration data.

[0058] In this embodiment, the data interaction between the message queue cloud and the baseboard management controller is verified by a certificate and pushed to the message queue cloud in JSON format. The message queue cloud creates a management document for the baseboard management controller by decrypting the serial number of the baseboard management controller in the data.

[0059] In this embodiment, for the stored management documents, the message queue cloud will back up the stored management documents and overwrite the storage when a new management document appears.

[0060] Specifically, if the baseboard management controller is operating normally, the firmware configuration is hashed to generate a firmware configuration data digest to be signed. The firmware configuration data digest is encrypted using the signing private key in the digital certificate to generate an original digital signature. The original digital signature and the digital certificate are compressed to generate a signature data block. The signature data block is then concatenated with the firmware configuration data to generate the signed firmware configuration data.

[0061] S205: Send the signed firmware configuration data to the flash memory module so that the flash memory module stores the signed firmware configuration data to complete the firmware upgrade of the baseboard management controller.

[0062] Specifically, the baseboard management controller writes the signed firmware configuration data to the flash memory module via the SPI bus.

[0063] In this embodiment, if the firmware configuration data needs to be changed, the configuration parameters can be modified through the out-of-band management method of the baseboard management controller. If the changed firmware configuration data needs to be synchronized to the flash memory module, the baseboard management controller writes the changed firmware configuration data to the flash memory module through IPMI (Intelligent Platform Management Interface) commands.

[0064] Out-of-band management involves monitoring, configuring, and controlling the server through a management channel while the server is running normally, without relying on the server's main operating system.

[0065] In this embodiment, when the out-of-band management function of the baseboard management controller malfunctions, a configuration file is burned to the baseboard management controller via a fixture.

[0066] As can be seen from the above embodiments, after the server is powered on, the baseboard management controller sends a firmware configuration upgrade request to the message queue cloud. The message queue cloud obtains the firmware configuration data to be upgraded according to the firmware configuration upgrade request, and performs integrity verification on the firmware configuration data through the baseboard management controller. If the firmware configuration data is complete, the firmware configuration data is written into the configuration database of the baseboard management controller, a restart operation is performed, and the device information after the restart is obtained. If the baseboard management controller is running normally after the restart, the firmware configuration data is digitally signed to generate signed firmware configuration data, and the signed firmware configuration data is synchronously sent to the flash memory module for storage. This avoids the problem of data loss due to image corruption or configuration overwriting in related technologies and improves the firmware upgrade efficiency of the baseboard management controller.

[0067] In one embodiment of this application, step S202 includes:

[0068] S202a: Parse the firmware configuration data sent from the message queue cloud and generate a parsed configuration data file, which includes the priority identifier of the firmware configuration data.

[0069] In this embodiment, the firmware configuration data sent by the message queue cloud is encapsulated using a serialization format.

[0070] In this embodiment, the contents recorded in the firmware configuration data include, but are not limited to, firmware configuration parameters, priority identifiers, and digital signatures.

[0071] Specifically, the agent module of the baseboard management controller uses the parsing library to deserialize the firmware configuration data and performs field verification on the deserialized firmware configuration data to determine whether any key fields are missing. If no key fields are missing, the deserialized firmware configuration data is written to a structured file. The file content retains the original configuration parameters and explicitly includes priority identifiers.

[0072] S202b: Create a verification policy based on the priority identifier of the firmware configuration data.

[0073] Specifically, the agent module of the baseboard management controller reads the priority field from the parsed configuration data file and creates different priority verification strategies based on different priority identifiers.

[0074] S202c: Retrieve the digital certificate repository according to the verification policy and generate verification certificate retrieval results.

[0075] Specifically, the system connects to the certificate repository based on the environment configuration, constructs query conditions based on the parameters in the verification policy, executes the query, and then obtains the certificate list.

[0076] In this embodiment, the digital certificate repository includes, but is not limited to, a lightweight directory certificate repository, a local certificate repository, and a cloud certificate service repository.

[0077] S202d: Generate public key information for integrity verification based on the verification certificate retrieval results.

[0078] Specifically, the retrieved certificate is parsed using a cryptographic library, and the integrity and validity period of the certificate chain are verified. If the verification is successful, the public key recorded in the certificate is obtained.

[0079] S202e: Perform integrity verification on the digital signature in the firmware configuration data based on the public key information for integrity verification, and generate verification information.

[0080] Specifically, configuration parameters and digital signatures are extracted from the parsed firmware configuration data. The hash value of the firmware configuration parameters is calculated using a hash algorithm. The calculated hash value is serialized into a string. The digital signature is decrypted using the public key in the public key information to obtain the hash value. The decrypted hash value is compared with the serialized hash value to generate verification information.

[0081] As can be seen from the above embodiments, by parsing the firmware configuration data, obtaining the priority identifier in the firmware configuration data, creating a verification policy based on the priority identifier, searching the digital certificate repository according to the verification policy, obtaining verification certificates of different priorities, creating public key information for integrity verification based on the search results, using the public key information to perform integrity verification on the digital signature in the firmware configuration data, generating verification information, and using a hierarchical verification method to verify the firmware configuration data, the security of the firmware configuration data is improved.

[0082] In one embodiment of this application, step S204 includes:

[0083] S204a: If the baseboard management controller is running normally in the device information, then the firmware configuration is hashed according to the hash function to generate a firmware configuration data digest to be signed.

[0084] In this embodiment, the preferred hash function is the SHA-256 algorithm. This algorithm converts input firmware configuration data of arbitrary length into a fixed-length (256-bit) output value, thus generating a firmware configuration data digest to be signed. During the calculation process, the integrity of the firmware configuration data must be ensured. If a verification error occurs during data transmission, the firmware configuration data is retrieved again and the hash calculation is performed again.

[0085] S204b: Obtain the signature private key recorded in the digital certificate.

[0086] In this embodiment, the digital certificate is pre-stored in the device's secure storage area, and unauthorized access is prevented through hardware encryption.

[0087] Specifically, upon receiving a request, the secure storage area verifies the legitimacy of the device's unique identifier and verifies the security verification information using a key derivation algorithm. Once verification is successful, the secure storage area decrypts the digital certificate and extracts the signing private key from it.

[0088] S204c: Based on the signing private key, perform cryptographic calculations on the firmware configuration data digest to be signed to generate the original digital signature of the firmware configuration data.

[0089] Specifically, the signature algorithm is invoked to pad the firmware configuration data digest to be signed to meet the input data length requirements of the signature algorithm. The padded digest is then subjected to modular exponentiation using the private key to generate a fixed-length encrypted result, which is the original digital signature of the firmware configuration data.

[0090] S204d: Compresses the original digital signature and digital certificate of the firmware configuration data to generate a signature data block of the firmware configuration data.

[0091] Specifically, the original digital signature is concatenated with the digital certificate to generate a temporary data block, which is then compressed using a compression algorithm to generate the compressed signature data block.

[0092] S204e: Concatenate the signature data block of the firmware configuration data with the firmware configuration data to generate the signed firmware configuration data.

[0093] Specifically, a data concatenation algorithm is used to concatenate the generated signature data block with the original firmware configuration data. The signature data block is used as a prefix and concatenated at the beginning of the firmware configuration data. The length information of the signature database is recorded. After the concatenation is completed, the integrity of the concatenated data is verified.

[0094] As can be seen from the above embodiments, if the baseboard management controller is operating normally, the firmware configuration is hashed using a hash function to generate a firmware configuration data digest to be signed. The signature private key recorded in the digital certificate is obtained, and the firmware configuration data digest to be signed is encrypted to generate the original digital signature of the firmware configuration data. The original digital signature and the digital certificate are compressed to generate a signature data block. The signature data block and the firmware configuration data are concatenated to generate the signed firmware configuration data, which improves the security of the firmware configuration data.

[0095] Figure 2 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 3 ,like Figure 2 As shown, in one embodiment of this application, before step S205, the following steps are further included:

[0096] S301: Send the signed firmware configuration data to the message queue cloud so that the message queue cloud can generate a configuration archive record based on the signed firmware configuration data, store the configuration archive record, and generate a storage result.

[0097] In this embodiment, the firmware configuration data is a structured data object in JSON format, and the recorded content includes, but is not limited to, firmware version number, configuration parameter key-value pairs, and data generation timestamp.

[0098] Specifically, the message queue cloud verifies the validity of the digital signature of the firmware configuration data. If the digital signature is valid, a configuration archive record is created and the firmware configuration data is written to the configuration archive record.

[0099] In this embodiment, the content recorded in the configuration archive record includes, but is not limited to, the message queue cloud reception timestamp, message ID, and archive record identifier.

[0100] S302: If the storage result is storage failure, receive the storage result sent by the message queue cloud, and record the storage result and the signed firmware configuration data to the error log.

[0101] Specifically, after the message queue completes storage in the cloud, it generates a response message indicating the storage result. If the response message indicates storage failure, it is recorded in the error log.

[0102] In this embodiment, the error log is a structured log.

[0103] As can be seen from the above embodiments, a configuration archive record is created and stored by the message queue based on the signed firmware configuration data. If the message queue fails to store the configuration archive record in the cloud, the storage failure result is sent to the baseboard management controller. The baseboard management controller records the error log to prompt the staff to manually store the record.

[0104] Figure 3 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 4 ,like Figure 3 As shown, in one embodiment of this application, after step S203, the method further includes:

[0105] S401: If the baseboard management controller is malfunctioning in the device information, generate firmware initialization instructions.

[0106] In this embodiment, the device information includes, but is not limited to, the heartbeat signal of the baseboard management controller, error code register values, and exception entries in the system log.

[0107] In this embodiment, the firmware initialization command is a structured data packet, which records information including but not limited to the command type identifier, the target device address, and timestamp information.

[0108] S402: Send firmware initialization instructions to the flash memory module so that the flash memory module can obtain initial firmware configuration data according to the firmware initialization instructions.

[0109] In this embodiment, the baseboard management controller sends firmware initialization commands to the flash memory module via the SPI bus.

[0110] S403: Receives the initial firmware configuration data sent by the flash memory module, writes the initial firmware configuration data into the configuration database of the baseboard management controller, and generates an initialization log, which is used to optimize the generated firmware configuration data.

[0111] In this embodiment, the flash memory module sends the initial firmware configuration data to the baseboard management controller via the SPI bus.

[0112] In this embodiment, the initialization log records information including but not limited to time, data size, verification results, and abnormal events.

[0113] As can be seen from the above embodiments, when the baseboard management controller malfunctions, a firmware initialization command is generated and sent to the flash memory module. The flash memory module obtains the initial firmware configuration data according to the firmware initialization command and writes the initial firmware configuration data into the configuration database of the baseboard management controller, generates an initialization log, and performs firmware rollback of the baseboard management controller through the flash memory module to avoid the baseboard management controller from malfunctioning due to writing incorrect firmware versions.

[0114] Figure 4 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 5 ,like Figure 4 As shown, in one embodiment of this application, before step S201, the following steps are further included:

[0115] S501: Obtain device parameters for multiple servers.

[0116] In this embodiment, the server's device parameters include, but are not limited to, CPU model, number of cores, and memory capacity.

[0117] S502: Serialize the device parameters of multiple servers according to predefined encoding rules to generate parameter sequences for multiple servers.

[0118] In this embodiment, the predefined encoding rules are recorded in the form of a configuration file. The content recorded in the encoding rules includes, but is not limited to, the mapping relationship of parameter fields, data types, and serialization formats.

[0119] Specifically, the device parameters are cleaned and formatted according to the encoding rules, the processed parameters are converted into a structured text sequence, and a timestamp is added, which is the parameter sequence of multiple servers in Germany and Austria.

[0120] S503: Sends parameter sequences from multiple servers to the message queue cloud, so that the message queue cloud can generate an optimization strategy for firmware configuration data based on the parameter sequences from multiple servers. The optimization strategy for firmware configuration data is used to optimize the generated firmware configuration data.

[0121] Specifically, the serialized parameter sequence is encapsulated into a message using a message queue protocol and sent to the cloud message queue service through a secure communication channel. After receiving the parameter sequence, the cloud message queue uses an analysis engine to aggregate and analyze the parameter sequences from multiple servers, identify common patterns or anomalies, and generate optimization strategies for firmware configuration data.

[0122] As can be seen from the above embodiments, by obtaining the device parameters of multiple servers, serializing the device parameters of multiple servers according to predefined encoding rules, sending the generated parameter sequence of multiple servers to the message queue cloud, generating an optimization strategy for firmware configuration data through the parameter sequence of multiple servers, and optimizing the firmware configuration data according to the optimization strategy, the adaptability of firmware configuration data to the baseboard management controller is improved.

[0123] Figure 5 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 6 ,like Figure 5 As shown, in one embodiment of this application, after step S202, the following step is further included:

[0124] S601: Generates firmware configuration data usage frequency information based on firmware configuration data.

[0125] In this embodiment, usage frequency information is generated by using historical usage records of firmware configuration data.

[0126] Specifically, based on the set scanning interval, the log file is scanned, the number of times each firmware configuration data is accessed within a predetermined time window is counted, and a frequency information table is output through the frequency analysis engine to record the usage frequency information of the firmware configuration data.

[0127] S602: Generate a firmware configuration data usage frequency identifier list based on the firmware configuration data usage frequency information.

[0128] Specifically, a firmware configuration data usage frequency identifier list is created by setting a configurable frequency threshold and filtering all configuration data identifiers with frequency values ​​higher than the threshold from the frequency information table, and then sorting the filtering results.

[0129] S603: Generates a subset of local cached data based on the frequency identifier list used in the firmware configuration data.

[0130] In this embodiment, a subset of locally cached data is encapsulated into a separate data packet.

[0131] S604: Generate cache update instructions based on a subset of local cached data.

[0132] In this embodiment, the cache update instruction is a structured message that records, but is not limited to, the operation type, a list of data identifiers, and a data packet download link.

[0133] S605: Updates a subset of local cached data according to the cache update instruction, and stores the updated subset of local cached data in the local storage module of the edge computing node.

[0134] Specifically, verify the integrity of the cache update instruction and update it according to the type of update instruction.

[0135] For example, for a full update, the complete subset of cached data is downloaded from a preset data source; for an incremental update, only the changed data blocks are downloaded and merged into the existing cache.

[0136] S606: If the network of the baseboard management controller is abnormal, the firmware configuration data in the local cache data subset is obtained to upgrade the firmware.

[0137] Specifically, when the baseboard management controller detects a network anomaly, it automatically switches to local cache mode to perform firmware upgrades.

[0138] In this embodiment, the baseboard management controller has a built-in network monitoring module that periodically checks the connection status with the central server. Once an anomaly is triggered, a firmware configuration data request is sent to the edge computing node.

[0139] As can be seen from the above embodiments, by obtaining the usage frequency information of firmware configuration data, creating a firmware configuration data usage frequency identifier list based on the usage frequency information, generating a local cache data subset based on the firmware configuration data usage frequency identifier list, generating a cache update instruction, updating the local cache data subset through the cache update instruction, and storing the updated local cache data subset to the local storage module of the edge computing node, the configuration can be loaded from the local cache when the network is abnormal, thus improving the stability of the baseboard management controller.

[0140] Figure 6 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 7 ,like Figure 6 As shown, in one embodiment of this application, after step S205, the method further includes:

[0141] S701: Based on the upgraded firmware configuration data, generate firmware stability verification cycle and firmware stability verification indicators.

[0142] In this embodiment, the firmware stability verification cycle covers one complete workload cycle of the server.

[0143] In this embodiment, firmware stability verification metrics are used to quantify the specific parameters and thresholds for evaluating firmware stability.

[0144] In this embodiment, firmware stability verification metrics include, but are not limited to, resource health metrics, service reliability metrics, and functional correctness metrics.

[0145] S702: Collects target operating parameters of the baseboard management controller according to the firmware stability verification cycle.

[0146] Specifically, the collected target operating parameters are timestamped and preprocessed to filter communication errors and convert data of different formats into standardized units. Within each monitoring time window, the average, maximum, and minimum values ​​of the target operating parameters are calculated as representative data points for that window.

[0147] S703: Generates parameter comparison results based on the target operating parameters of the baseboard management controller and firmware stability verification indicators, and generates a firmware stability report based on the parameter comparison results.

[0148] Specifically, the parameter values ​​for each monitoring time window are compared with the thresholds set in the verification metrics to generate comparison results.

[0149] In this embodiment, the firmware stability report records, but is not limited to, an execution summary, a verification overview, and a trend analysis.

[0150] As can be seen from the above embodiments, by generating firmware stability verification cycle and firmware stability verification indicators based on the upgraded firmware configuration data, collecting target operating parameters of the baseboard management controller according to the firmware stability verification cycle, comparing the collected target operating parameters with the firmware stability verification indicators, and generating a firmware stability report, it is convenient for developers to adjust the firmware version of the baseboard management controller according to the firmware stability report.

[0151] Figure 7 A flowchart illustrating the firmware upgrade method for the baseboard management controller provided in this application embodiment. Figure 8,like Figure 7 As shown, in one embodiment of this application, before step S203, the following steps are further included:

[0152] S801: Generate firmware version comparison data based on the firmware configuration data written to the configuration database.

[0153] In this embodiment, the firmware version comparison data records firmware information before and after the firmware upgrade, and highlights the differences between different firmware versions.

[0154] S802: Based on firmware version comparison data, determine the functional difference nodes between the original firmware configuration data and the target firmware configuration data.

[0155] Specifically, the variation items are grouped using a classification algorithm, with each group corresponding to a functional difference node. The functional difference nodes are then output as a list or tree structure.

[0156] In this embodiment, node information includes, but is not limited to, node name, scope of influence, and change description.

[0157] S803: Generate a list of device operation status monitoring nodes based on functional difference nodes.

[0158] In this embodiment, the list of device operation status monitoring nodes is generated in a structured format, and the recorded content includes, but is not limited to, the unique identifier of the monitoring node, the collection frequency, the threshold conditions, and the data format.

[0159] S804: Based on the list of device operation status monitoring nodes, create a device information collection template after restarting, and obtain device information based on the collection template.

[0160] In this embodiment, the device information collection template after restarting is a script-based template.

[0161] In this embodiment, the content recorded in the device information collection template after restarting includes, but is not limited to, the collection command, collection timing, and data storage path for each monitoring node.

[0162] As can be seen from the above embodiments, by obtaining firmware configuration data before and after writing, firmware version comparison data is generated, functional differences are determined based on the comparison data, and a device operation status monitoring node list is created based on the functional differences. Based on the device operation status monitoring node list, a device information collection template after a scenario restart is used to obtain the collected device information, which facilitates the display of version differences before and after the update.

[0163] In one embodiment of this application, the method further includes the following steps before step S301:

[0164] S901: Generates a data fragmentation transmission strategy based on the size of the firmware configuration data and network bandwidth parameters.

[0165] Specifically, the fragment size, fragment quantity, and transmission timeout are calculated based on the size of the firmware configuration data and network bandwidth parameters. The data fragmentation transmission strategy is then determined based on the calculated fragment size, fragment quantity, and transmission timeout.

[0166] S902: According to the fragmented transmission strategy, the signed firmware configuration data transmission request is split into multiple sub-requests with serial numbers.

[0167] In this embodiment, sub-requests can be encapsulated as independent data packets or message queue elements, with fragmentation metadata added to the header.

[0168] The fragment metadata includes, but is not limited to, the total number of fragments, the current sequence number, and the fragment offset.

[0169] As can be seen from the above embodiments, by segmenting the firmware configuration data and formulating a segmentation transmission strategy, the firmware configuration data transmission request is split into multiple sub-requests with sequential identifiers for data transmission, thereby optimizing network bandwidth utilization and improving transmission efficiency.

[0170] Figure 8 This is a schematic diagram of the firmware upgrade device for the baseboard management controller provided in an embodiment of this application. Figure 9 As shown, embodiments of this application also provide a firmware upgrade device 90 for a baseboard management controller, including: a first sending module 901, a first receiving module 902, a writing module 903, a signature module 904, and a second sending module 905.

[0171] The first sending module 901 is used to send a firmware configuration upgrade request to the message queue cloud in response to the power-on operation of the server, so that the message queue cloud can obtain firmware configuration data according to the firmware configuration upgrade request.

[0172] The first receiving module 902 is used to receive firmware configuration data sent from the message queue cloud, perform integrity verification on the firmware configuration data, and generate verification information.

[0173] The writing module 903 is used to write the firmware configuration data into the configuration database of the baseboard management controller if the firmware configuration data in the verification information is complete, and to obtain the device information after the baseboard management controller restarts.

[0174] The signature module 904 is used to digitally sign the firmware configuration data and generate signed firmware configuration data if the baseboard management controller in the device information is operating normally.

[0175] The second sending module 905 is used to send the signed firmware configuration data to the flash memory module so that the flash memory module stores the signed firmware configuration data to complete the firmware upgrade of the baseboard management controller.

[0176] In one embodiment of this application, the first receiving module 902 includes:

[0177] The parsing unit is used to parse the firmware configuration data sent from the message queue cloud and generate a parsed configuration data file, which includes the priority identifier of the firmware configuration data.

[0178] The creation unit is used to create a verification strategy based on the priority identifier of the firmware configuration data.

[0179] The retrieval unit is used to search the digital certificate repository according to the verification strategy and generate verification certificate retrieval results.

[0180] The generation unit is used to generate public key information for integrity verification based on the verification certificate retrieval results.

[0181] The verification unit is used to perform integrity verification on the digital signature in the firmware configuration data based on the public key information for integrity verification, and generate verification information.

[0182] In one embodiment of this application, the signature module 904 includes:

[0183] The first calculation unit is used to perform hash calculation on the firmware configuration according to the hash function and generate a firmware configuration data digest to be signed if the baseboard management controller in the device information is running normally.

[0184] The acquisition unit is used to obtain the signature private key recorded in the digital certificate.

[0185] The second calculation unit is used to perform cryptographic calculations on the firmware configuration data digest to be signed based on the signing private key, and generate the original digital signature of the firmware configuration data.

[0186] The compression unit is used to compress the original digital signature and digital certificate of the firmware configuration data to generate a signature data block of the firmware configuration data.

[0187] The data splicing unit is used to splice the signature data block of the firmware configuration data with the firmware configuration data to generate the signed firmware configuration data.

[0188] In one embodiment of this application, the firmware upgrade device 90 of the baseboard management controller further includes:

[0189] The third sending module is used to send the signed firmware configuration data to the message queue cloud, so that the message queue cloud can generate a configuration archive record based on the signed firmware configuration data, store the configuration archive record, and generate a storage result.

[0190] The second receiving module is used to receive the storage result sent by the message queue cloud if the storage result is a storage failure, and record the storage result and the signed firmware configuration data to the error log.

[0191] In one embodiment of this application, the firmware upgrade device 90 of the baseboard management controller further includes:

[0192] The first generation module is used to generate firmware initialization instructions if the baseboard management controller in the device information is malfunctioning.

[0193] The fourth sending module is used to send firmware initialization instructions to the flash memory module so that the flash memory module can obtain initial firmware configuration data according to the firmware initialization instructions.

[0194] The third receiving module is used to receive the initial firmware configuration data sent by the flash memory module, write the initial firmware configuration data into the configuration database of the baseboard management controller, and generate an initialization log, wherein the initialization log is used to optimize the generated firmware configuration data.

[0195] In one embodiment of this application, the firmware upgrade device 90 of the baseboard management controller further includes:

[0196] The first acquisition module is used to acquire device parameters from multiple servers.

[0197] The serialization module is used to serialize the device parameters of multiple servers according to predefined encoding rules, generating a parameter sequence for multiple servers.

[0198] The fifth sending module is used to send the parameter sequence of multiple servers to the message queue cloud, so that the message queue cloud can generate an optimization strategy for firmware configuration data based on the parameter sequence of multiple servers. The optimization strategy for firmware configuration data is used to optimize the generated firmware configuration data.

[0199] In one embodiment of this application, the firmware upgrade device 90 of the baseboard management controller further includes:

[0200] The second generation module is used to generate usage frequency information of firmware configuration data based on firmware configuration data.

[0201] The third generation module is used to generate a list of firmware configuration data usage frequency identifiers based on the usage frequency information of the firmware configuration data.

[0202] The fourth generation module is used to generate a subset of local cached data based on the frequency identifier list used in the firmware configuration data.

[0203] The fifth generation module is used to generate cache update instructions based on a subset of local cached data.

[0204] The update module is used to update a subset of local cached data according to cache update instructions, and store the updated subset of local cached data to the local storage module of the edge computing node.

[0205] The second acquisition module is used to acquire firmware configuration data from a subset of local cached data and perform firmware upgrades if the baseboard management controller experiences a network malfunction.

[0206] In one embodiment of this application, the firmware upgrade device 90 of the baseboard management controller further includes:

[0207] The sixth generation module is used to generate firmware stability verification cycle and firmware stability verification indicators based on the firmware configuration data after the upgrade.

[0208] The acquisition module is used to acquire the target operating parameters of the baseboard management controller according to the firmware stability verification cycle.

[0209] The seventh generation module is used to generate parameter comparison results based on the target operating parameters of the baseboard management controller and the firmware stability verification indicators, and to generate a firmware stability report based on the parameter comparison results.

[0210] In one embodiment of this application, the firmware upgrade device 90 of the baseboard management controller further includes:

[0211] The eighth generation module is used to generate firmware version comparison data based on the firmware configuration data written to the configuration database.

[0212] The comparison module is used to determine the functional differences between the original firmware configuration data and the target firmware configuration data based on firmware version comparison data.

[0213] The ninth generation module is used to generate a list of device operation status monitoring nodes based on functional difference nodes.

[0214] The module is used to create a device information collection template after restarting based on the list of device operation status monitoring nodes, so as to obtain device information based on the collection template.

[0215] For a description of the features in the embodiment corresponding to the firmware upgrade device of the baseboard management controller, please refer to the relevant description in the embodiment corresponding to the firmware upgrade method of the baseboard management controller, which will not be repeated here.

[0216] Figure 9A schematic diagram of the structure of the electronic device provided in this application. Figure 10 Figure 10 As shown, the electronic device 100 provided in this embodiment includes at least one processor 1001 and a memory 1002. Optionally, the electronic device 100 further includes a communication component 1003. The processor 1001, memory 1002, and communication component 1003 are connected via a bus.

[0217] In a specific implementation, at least one processor 1001 executes computer execution instructions stored in memory 1002, causing at least one processor 1001 to execute the firmware upgrade method embodiment of the baseboard management controller described above.

[0218] The specific implementation process of processor 1001 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.

[0219] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.

[0220] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0221] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0222] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the firmware upgrade method embodiments of the aforementioned baseboard management controller when running.

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

[0224] The embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the firmware upgrade method embodiments of the baseboard management controller described above.

[0225] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the firmware upgrade method embodiments of the aforementioned baseboard management controller.

[0226] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0227] The firmware upgrade method and electronic device for a baseboard management controller provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only intended to help understand the method and core ideas of this application. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A method for firmware upgrade of a baseboard management controller, the method comprising: The method comprises the following steps: In response to the power-on operation of the server, a firmware configuration upgrade request is sent to a message queue cloud to enable the message queue cloud to obtain firmware configuration data according to the firmware configuration upgrade request; The firmware configuration data sent by the message queue cloud is received, and integrity check is performed on the firmware configuration data to generate check information; If the firmware configuration data in the check information is complete, the firmware configuration data is written into a configuration database of a baseboard management controller, and device information after the baseboard management controller is restarted is obtained; If the baseboard management controller is in normal operation in the device information, a second digital signature is generated for the firmware configuration data to generate signed firmware configuration data; The signed firmware configuration data is sent to a flash memory module to enable the flash memory module to store the signed firmware configuration data to complete firmware upgrade of the baseboard management controller. The receiving of the firmware configuration data sent by the message queue cloud and the integrity check on the firmware configuration data to generate check information comprises the following steps: The firmware configuration data sent by the message queue cloud is parsed to generate parsed configuration data files, wherein the parsed configuration data files comprise priority identifiers of the firmware configuration data; A check strategy is created according to the priority identifiers of the firmware configuration data; A digital certificate repository is retrieved according to the check strategy to generate a check certificate retrieval result; Public key information for integrity check is generated according to the check certificate retrieval result; A first digital signature in the firmware configuration data is subjected to integrity check according to the public key information for integrity check to generate check information.

2. The firmware upgrade method of a baseboard management controller according to claim 1, wherein, If the baseboard management controller is in normal operation in the device information, a second digital signature is generated for the firmware configuration data to generate signed firmware configuration data, which comprises the following steps: If the baseboard management controller is in normal operation in the device information, a hash function is used to perform hash calculation on the firmware configuration to generate firmware configuration data digest to be signed; A signature private key recorded in a digital certificate is obtained; The signature private key is used to perform encryption calculation on the firmware configuration data digest to be signed to generate a second digital signature of the firmware configuration data; The original digital signature of the firmware configuration data and the digital certificate are compressed to generate a signature data block of the firmware configuration data; The signature data block of the firmware configuration data and the firmware configuration data are spliced to generate signed firmware configuration data.

3. The method of claim 1, wherein: Before the sending of the signed firmware configuration data to the flash memory module, the following steps are further included: The signed firmware configuration data is sent to the message queue cloud to enable the message queue cloud to generate configuration archive records according to the signed firmware configuration data, and the configuration archive records are stored to generate a storage result; If the storage result is storage failure, the storage result sent by the message queue cloud is received, and the storage result and the signed firmware configuration data are recorded in an error log.

4. The firmware upgrade method of a baseboard management controller according to claim 1, wherein, If the firmware configuration data is complete in the verification information, the firmware configuration data is written into the configuration database of the baseboard management controller, and after the device information after the baseboard management controller restarts is obtained, the method further comprises: If the baseboard management controller runs abnormally in the device information, a firmware initialization instruction is generated; The firmware initialization instruction is sent to the flash memory module, so that the flash memory module obtains initial firmware configuration data according to the firmware initialization instruction; The initial firmware configuration data sent by the flash memory module is received, the initial firmware configuration data is written into the configuration database of the baseboard management controller, and an initialization log is generated, wherein the initialization log is used to optimize the generated firmware configuration data.

5. The firmware upgrade method of a baseboard management controller according to claim 1, wherein, Before the firmware configuration upgrade request is sent to the message queue cloud, the method further comprises: Obtain device parameters of multiple servers; According to the pre-defined encoding rule, the device parameters of the multiple servers are serialized to generate parameter sequences of the multiple servers; The parameter sequences of the multiple servers are sent to the message queue cloud, so that the message queue cloud generates an optimization strategy of the firmware configuration data according to the parameter sequences of the multiple servers, wherein the optimization strategy of the firmware configuration data is used to optimize the generated firmware configuration data.

6. The firmware upgrade method of a baseboard management controller according to claim 1, wherein, After receiving the firmware configuration data sent by the message queue cloud and performing integrity verification on the firmware configuration data to generate verification information, the method further comprises: According to the firmware configuration data, generate usage frequency information of the firmware configuration data; According to the usage frequency information of the firmware configuration data, generate a firmware configuration data usage frequency identification list; According to the firmware configuration data usage frequency identification list, generate a local cache data subset; According to the cache update instruction, update the local cache data subset, and store the updated local cache data subset to the local storage module of the edge computing node; If the network of the baseboard management controller is abnormal, the firmware configuration data in the local cache data subset is obtained for firmware upgrade. After sending the signed firmware configuration data to the flash memory module, the method further comprises:

7. The firmware upgrade method of a baseboard management controller according to claim 1, wherein, According to the upgraded firmware configuration data, generate a firmware stability verification period and a firmware stability verification index; According to the target running parameters of the baseboard management controller, generate a parameter comparison result according to the target running parameters of the baseboard management controller and the firmware stability verification index, and generate a firmware stability report according to the parameter comparison result. Before obtaining the device information after the baseboard management controller restarts, the method further comprises: According to the firmware configuration data written into the configuration database, generate firmware version comparison data; 8. The firmware upgrade method of the baseboard management controller according to any one of claims 1 to 7, wherein According to the firmware version comparison data, determine the functional difference nodes of the original version firmware configuration data and the target version firmware configuration data; According to the functional difference nodes, generate a device running state monitoring node list; According to the device running state monitoring node list, create a device information collection template after restart, and obtain device information based on the collection template. Comprise: ​ 9. An electronic device, comprising: ​ a memory for storing a computer program; a processor for implementing the steps of the firmware upgrade method of the baseboard management controller according to any one of claims 1 to 8 when executing the computer program.

Citation Information

Patent Citations

  • Rapid configuration and remote upgrading method and system for intelligent equipment

    CN120675877A

  • Independent component upgrade method and system, and device and medium

    WO2023040198A1