Array server backplane automatic upgrade and bulk upgrade method, device and storage medium

By utilizing the automatic upgrade method for array server backplanes and the collaborative work of the firmware management module and BMC management module, zero-contact parallel upgrades of array server backplanes are achieved, solving the problems of low efficiency and high cost in existing technologies and improving operation and maintenance efficiency and compatibility.

CN122308876APending Publication Date: 2026-06-30SHENZHEN VIRTUAL CLUSTERS INFORMATION TECH

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN VIRTUAL CLUSTERS INFORMATION TECH
Filing Date
2026-04-10
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

In array-type servers, existing technologies suffer from low efficiency, high cost, long time and error-proneness in manual maintenance. In particular, firmware management in large-scale servers faces issues such as increased time consumption, version fragmentation and compatibility.

Method used

An automatic upgrade method for array-type server backplanes is adopted. The firmware management module and the BMC management module work together to receive upgrade commands, determine firmware version consistency, perform concurrent upgrades using the thread pool mode of the BMC management module, and generate upgrade reports, thus achieving zero-contact upgrades and parallel upgrades.

Benefits of technology

It significantly improves the efficiency of server baseboard firmware upgrades, shortens upgrade time, reduces maintenance costs, avoids human error and version fragmentation, and achieves automated batch upgrade management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122308876A_ABST
    Figure CN122308876A_ABST
Patent Text Reader

Abstract

This invention discloses an automatic and batch upgrade method, device, and storage medium for array-type server backplanes. The method is applied to array-type server systems. It receives upgrade commands from a preset timed wake-up program, determines whether the firmware version information of each backplane unit is consistent with the current firmware version information of the array-type server system. If inconsistent, a preset upgrade firmware package is downloaded to a temporary directory in the BMC management module, and the MD5 value of the upgrade firmware package is verified. The BMC management module triggers a thread pool mode to perform concurrent upgrades on each backplane unit, generating an upgrade report indicating firmware upgrade completion. The timed wake-up program is then activated, periodically sending upgrade commands to achieve zero-contact physical upgrades, facilitating maintenance / updating of the backplane firmware. Furthermore, the parallel upgrade method shortens upgrade time and significantly improves operational efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Technology Neighborhood This invention relates to the field of server operation and maintenance technology, and in particular to methods, devices and storage media for automatic and batch upgrades of array server backplanes. Background Technology

[0002] In array-based server architectures, a single chassis typically integrates dozens of blade backplanes, each requiring independent firmware programming. Relying on traditional manual programming methods necessitates disassembling and connecting programmers to each machine during production, resulting in extremely low efficiency and severely impacting delivery cycles. Furthermore, in real-world applications, upgrading the firmware of already deployed server backplanes incurs even higher labor and time costs—engineers must operate on-site, a process that is not only cumbersome and causes server service interruptions but also carries the risk of hardware damage due to operational errors.

[0003] As server scale expands, the drawbacks of manually maintaining chassis backplane versions amplify exponentially. Backplane firmware management faces the following challenges: the time required for a single upgrade increases linearly with the number of backplanes, firmware synchronization for hundreds of chassis may take several weeks to complete, manual operation is prone to missing some blade backplanes, leading to firmware fragmentation within the cluster and causing compatibility issues, cross-regional data centers require dispatching technical personnel for maintenance, significantly increasing labor costs and downtime losses. Summary of the Invention

[0004] The purpose of this invention is to address the technical problems existing in the background art by proposing a method, device, and storage medium for automatic and batch upgrades of array server backplanes.

[0005] To achieve the above-mentioned technical objectives, the technical solution adopted by the present invention is as follows: The first aspect of this invention provides a method for automatic and batch upgrades of array-type server backplanes, applied to an array-type server system. The array-type server system includes a firmware management module, a BMC management module, and multiple backplane units. The firmware management module stores firmware images and version information and is connected to the BMC management module. The BMC management module is connected to each of the multiple backplane units and is used to update the firmware of the backplane units. The method for automatic and batch upgrades of the array-type server backplane includes: S101, Receive upgrade instructions from the preset timed wake-up program; S102. Determine whether the firmware version information of each baseboard unit is consistent with the firmware version information of the current array server system. S103. If they are inconsistent, download the pre-installed upgrade firmware package to the temporary directory in the BMC management module and verify the MD5 value of the upgrade firmware package. S104. Trigger thread pool mode through BMC management module to perform concurrent upgrades on each baseboard unit; S105. Generate an upgrade report indicating that the firmware upgrade is complete, and enable the timed wake-up program, which sends upgrade commands periodically.

[0006] Optionally, the firmware management module connects to the BMC management module via a network interface. The firmware management module includes a firmware version repository and a scheduling engine. The network interface is HTTP / NFS.

[0007] Optionally, the BMC management module connects to each baseboard unit via UART serial port and I2C interface respectively, and performs firmware upgrades on each baseboard unit via I2C interface.

[0008] Optionally, before step S101, the following may also be included: S1001. Configure the network interface and serial communication parameters; S1002. Create a global upgrade lock and initialize the thread pool. S1003, Load the information data of each base plate unit.

[0009] Optionally, after step S1003, the following may also be included: S1004. Establish multiple SOL sessions; S1005. Send a version query command to the corresponding baseboard unit through each SOL session to verify the information data in step S1003.

[0010] Optionally, step S104 also includes: S1041. Determine whether the base plate unit has been successfully upgraded; S1042. If not, activate the corresponding base plate unit to perform version rollback.

[0011] Optionally, step S104 also includes: S1043. Determine whether the percentage of each base plate unit that has completed the upgrade is less than the preset value; S1044. If so, force all base plate units to re-execute the upgrade process.

[0012] Optionally, the upgrade status can be marked using the GPIO status of the baseboard unit, where a high level indicates that the upgrade is in progress, a low level indicates that the upgrade is successful, and a pulse indicates that the upgrade has failed.

[0013] A first implementation of the second aspect of the present invention provides an automatic and batch upgrade device for an array server baseboard, the automatic and batch upgrade device for an array server baseboard includes: a memory and at least one processor, the memory storing instructions, and the memory and the at least one processor being interconnected via a line; The at least one processor invokes the instructions in the memory to cause the array server backplane automatic upgrade and batch upgrade device to execute the array server backplane automatic upgrade and batch upgrade system as described in any one of the first aspects of the present invention.

[0014] A first implementation of the third aspect of the present invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements an automatic and batch upgrade system for an array-type server backplane as described in any one of the first aspects of the present invention.

[0015] Compared with the prior art, the present invention has the following beneficial technical effects: It is applied to an array server system, and by receiving upgrade instructions from a preset timed wake-up program, it determines whether the firmware version information of each baseboard unit is consistent with the firmware version information of the current array server system. If they are inconsistent, the preset upgrade firmware package is downloaded to a temporary directory in the BMC management module, and the MD5 value of the upgrade firmware package is verified. The thread pool mode is triggered through the BMC management module to perform concurrent upgrades on each baseboard unit, generate an upgrade report indicating that the firmware upgrade is complete, and enable the timed wake-up program. The timed wake-up program sends upgrade instructions periodically, realizing physical zero-contact upgrades, which facilitates maintenance / updating of baseboard firmware. Furthermore, the parallel upgrade shortens the upgrade time and significantly improves operation and maintenance efficiency. Attached Figure Description

[0016] Figure 1 This is a flowchart illustrating the automatic and batch upgrade method for array server backplanes in an embodiment of the present invention. Figure 1 ; Figure 2 This is a flowchart illustrating the automatic and batch upgrade method for array server backplanes in an embodiment of the present invention. Figure 2 ; Figure 3 This is a flowchart illustrating the automatic and batch upgrade method for array server backplanes in an embodiment of the present invention. Figure 3 ; Figure 4 This is a flowchart illustrating the automatic and batch upgrade method for array server backplanes in an embodiment of the present invention. Figure 4 ; Figure 5 This is a flowchart illustrating the automatic and batch upgrade method for array server backplanes in an embodiment of the present invention. Figure 5 ; Figure 6 This is a schematic diagram of the automatic and batch upgrade system for array-type server backplanes in an embodiment of the present invention; Figure 7This is a schematic diagram of an embodiment of the automatic upgrade and batch upgrade device for array server backplanes in this invention. Detailed Implementation

[0017] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.

[0018] For ease of understanding, the specific process of the embodiments of the present invention is described below. Please refer to [link / reference]. Figure 6 The automatic and batch upgrade method for array server backplanes in this embodiment of the invention is applied to an array server system. The array server system includes a firmware management module, a BMC management module, and multiple backplane units. The firmware management module is used to store firmware images and version information and is connected to the BMC management module. The BMC management module is connected to multiple backplane units respectively and is used to update the firmware of the backplane units. It should be noted that the firmware management module stores and manages the firmware image files and full lifecycle version information required for server operation, such as firmware version information, release time, update logs, and compatibility lists for each baseboard unit. The BMC management module works through the out-of-band management channel. As an instruction relay station and executor, it takes over the resources of the firmware management module, issues firmware update instructions to the baseboard units, and monitors the process. The baseboard unit, as the hardware carrier and signal transmission carrier of the server, integrates core computing and storage hardware such as CPU, memory, hard disk, and interface card. The firmware management module supports adding, archiving, and rolling back firmware versions. It records the person responsible and the reason for each version change to prevent the import of unauthorized versions. It pre-stores a compatibility matrix between firmware and hardware model and operating system version, and automatically verifies it before pushing firmware to BMC to prevent hardware failures caused by incompatibility. It also adopts incremental storage technology, saving only the differences between different firmware versions to reduce storage resource consumption. The stored firmware image is encrypted and digitally signed to prevent tampering or injection of malicious code. BMC verifies the legality of the signature when receiving it.

[0019] The BMC management module can simultaneously distribute the same firmware to multiple baseboard units, or push differentiated firmware based on the hardware configuration of the baseboard units. It can also monitor the firmware writing progress and verification results of each baseboard unit in real time. If the update of a unit fails, a retry mechanism is automatically triggered. If the retry fails, an alarm is recorded and the unit is isolated to avoid affecting the overall system. There is no need to start the server's main operating system. The firmware update can be completed as long as the BMC is powered on. It is suitable for fault repair scenarios where the server cannot be powered on normally. The firmware version, update status, and hardware health status of the baseboard units are fed back to the firmware management module in real time to form a closed-loop management.

[0020] Furthermore, the firmware management module connects to the BMC management module via a network interface. The firmware management module includes a firmware version repository and a scheduling engine. The network interface is HTTP / NFS.

[0021] It should be noted that the firmware management module and the BMC management module communicate with each other through two network interfaces: HTTP and NFS. The HTTP interface is commonly used for lightweight interactions such as firmware upload, version query, and command issuance based on the web, and has the characteristics of cross-platform compatibility and easy integration. The NFS interface can directly mount remote firmware repository directories, improving the efficiency of batch firmware distribution.

[0022] The firmware version repository serves as the storage medium for firmware, responsible for uniformly storing firmware image files of different device models and versions. It also needs to record metadata such as firmware version number, compatible model, release time, and verification information for version traceability and integrity verification. The scheduling engine receives firmware upgrade or rollback commands from the BMC management module, retrieves the corresponding firmware version from the firmware version repository, plans the firmware transmission path and priority, monitors the entire process of firmware distribution and flashing, and reports the results back to the BMC. It also handles resource scheduling when multiple devices are upgraded in parallel to avoid network or storage congestion.

[0023] Furthermore, the BMC management module connects to each baseboard unit via UART serial port and I2C interface respectively, and performs firmware upgrades on each baseboard unit via I2C interface.

[0024] Furthermore, the upgrade status is indicated by the GPIO status of the base unit, where a high level indicates that the upgrade is in progress, a low level indicates that the upgrade is successful, and a pulse indicates that the upgrade has failed.

[0025] See appendix Figure 1-5 The automatic and batch upgrade methods for this array server baseboard include: S101, Receive upgrade instructions from the preset timed wake-up program; Furthermore, prior to step S101, the following steps are also included: S1001. Configure the network interface and serial communication parameters; S1002. Create a global upgrade lock and initialize the thread pool. S1003, Load the information data of each base plate unit.

[0026] It should be noted that S1001-S1003 are the preliminary preparations for this firmware upgrade, setting the communication port, timeout, request header format, and authentication information to ensure that the firmware management module and BMC can stably transmit upgrade instructions and small-volume metadata, and configure the shared directory path, mount permissions, and access whitelist to ensure that large-volume firmware images can be efficiently transmitted to the BMC local cache. Configure the baud rate, data bits, stop bits, and parity bits in the serial communication parameters. Common parameters are: 115200-8-N-1. Ensure that there are no garbled characters in the transmission of commands and status information. After configuration, you need to perform a communication link test, such as sending a heartbeat packet via HTTP, attempting to mount the repository directory via NFS, and sending test commands via serial port. Only proceed to the next step after confirming that the link is working properly.

[0027] When creating a global upgrade lock, a mutual exclusion lock mechanism is used. When one of the baseboard units starts upgrading, the upgrade flag of that unit is locked. The lock is released after the upgrade is successful or fails. The global lock can also control the master switch for the entire machine upgrade, ensuring that all upgrade tasks can be paused with one click in an emergency.

[0028] The thread pool is used to support parallel upgrades of multiple baseboard units, improving the efficiency of batch upgrades; at the same time, it limits the number of concurrent threads to avoid exhausting the CPU and memory resources of the BMC. The core thread count, maximum thread count, and task queue length are set according to the number of baseboard units and the BMC hardware performance.

[0029] S1002 Create a global upgrade lock and initialize the thread pool. This is a resource management step in the upgrade process to avoid concurrency conflicts and resource overload.

[0030] Furthermore, following step S1003, the following steps are also included: S1004. Establish multiple SOL sessions; S1005. Send a version query command to the corresponding baseboard unit through each SOL session to verify the information data in step S1003.

[0031] S102. Determine whether the firmware version information of each baseboard unit is consistent with the firmware version information of the current array server system. S103. If they are inconsistent, download the pre-installed upgrade firmware package to the temporary directory in the BMC management module and verify the MD5 value of the upgrade firmware package. In this embodiment, the standard firmware version number required by the current array server system is obtained from the version repository of the firmware management module. This version number must include a model compatibility identifier to avoid cross-model version confusion. The current running firmware version number of each baseboard unit is extracted and compared. If they match, no upgrade is needed, the baseboard unit is marked as version matched, and the version information is recorded in the log. This upgrade process ends. If they do not match, an upgrade is required, the baseboard unit is marked as version mismatched, and the corresponding target firmware package path in the version repository is associated. Of course, there are other situations, such as version number anomalies. This refers to baseboard units returning empty or incorrectly formatted version numbers, which are determined as "[invalid version information]", excluded from the automatic upgrade queue, and prompting maintenance personnel to verify.

[0032] It should be added that the information of each baseboard unit needs to be complete and verified to ensure that the communication link between the firmware management module and the BMC management module is smooth and that the system base firmware version can be obtained normally.

[0033] S104. Trigger thread pool mode through BMC management module to perform concurrent upgrades on each baseboard unit; In this embodiment, the thread pool mode generates an independent upgrade task for each baseboard unit to be upgraded. The task content includes the unique identifier of the baseboard unit, the path of the target firmware package in the temporary directory, the upgrade execution instruction, the task timeout time, and the priority order. The priority order is applied to baseboard units with critical business functions. The task priority can be configured to prioritize the upgrade of non-core units, while core units are upgraded during off-peak business periods.

[0034] The thread pool starts multiple upgrade tasks simultaneously according to the preset core thread count. Tasks exceeding the core thread count enter a waiting queue. For example, if the thread pool has a core thread count of 4, then 4 base plate units will be upgraded simultaneously. The 5th and subsequent units will be queued and automatically filled in after the preceding tasks are completed.

[0035] Furthermore, step S104 also includes: S1043. Determine whether the percentage of each base plate unit that has completed the upgrade is less than the preset value; S1044. If so, force all base plate units to re-execute the upgrade process.

[0036] It should be noted that the final status of all baseboard units to be upgraded is summarized, and core data is statistically analyzed. The preset value needs to be configured according to business requirements, usually set to 90%~100%. This threshold needs to be written into the configuration file before the upgrade. If the completion rate is greater than or equal to the preset value, the batch upgrade is deemed to have met the standard, and no forced retry is required. Only the failed units are investigated. If the completion rate is less than the preset value, the upgrade is deemed to have failed the standard, and the forced full retry mechanism is triggered, and all baseboard units re-execute the upgrade process.

[0037] S105. Generate an upgrade report indicating the firmware upgrade is complete, and enable the timed wake-up program, which periodically sends upgrade commands. It's important to note that the core function of the timed wake-up program is to automate the periodic execution of firmware upgrades, avoiding repetitive manual operations and ensuring timely synchronization when new baseboard units are added or versions are updated. It supports customizable trigger cycles, with common rules depending on user or business needs. The wake-up logic involves the program automatically waking up after the scheduled time and triggering the complete upgrade process. If the server is currently experiencing high traffic, the program will automatically delay execution to avoid impacting business operations. Command sending method: After the timed wake-up, the program sends a trigger upgrade command to the firmware management module via the HTTP interface, carrying parameters such as the server serial number and target version, to start the full upgrade process.

[0038] The automatic and batch upgrade system for array-type server baseboards in this embodiment of the invention is described in detail from the perspective of unitized functional entities. The automatic and batch upgrade device for array-type server baseboards in this embodiment of the invention is described in detail from the perspective of hardware processing.

[0039] Figure 7This is a schematic diagram of an automatic and batch upgrade device for an array-type server baseboard provided in an embodiment of the present invention. This device can vary significantly due to differences in configuration or performance, and may include one or more central processing units (CPUs) 310 (e.g., one or more processors) and memory 320, and one or more storage media 330 (e.g., one or more mass storage devices) for storing application programs 333 or data 332. The memory 320 and storage media 330 can be temporary or persistent storage. The program stored in the storage media 330 may include one or more units (not shown in the diagram), each unit may include a series of instruction operations on the array-type server baseboard automatic and batch upgrade device. Furthermore, the processor 310 may be configured to communicate with the storage media 330 to execute the series of instruction operations in the storage media 330 on the array-type server baseboard automatic and batch upgrade device.

[0040] The automated upgrade and batch upgrade device based on the array server baseboard may also include one or more power supplies 340, one or more wired or wireless network interfaces 350, one or more input / output interfaces 360, and / or one or more operating systems 331, such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, etc. Those skilled in the art will understand that... Figure 7 The illustrated array server baseboard automatic upgrade and batch upgrade device structure does not constitute a limitation on communication protocol devices based on LAN projection. It may include more or fewer components than illustrated, or combine certain components, or have different component arrangements.

[0041] The present invention also provides a computer-readable storage medium, which can be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium, wherein the computer-readable storage medium stores instructions that, when the instructions are executed on a computer, cause the computer to perform the steps of the array server backplane automatic upgrade and batch upgrade system.

[0042] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0043] The above describes an automatic upgrade and batch upgrade system for array-type server baseboards, or various implementation methods, in conjunction with specific content. It is not intended that the specific implementation of this invention is limited to these descriptions. Any methods or structures similar to or identical to those of this invention, or any technical deductions or substitutions made based on the concept of this invention, should be considered within the scope of protection of this invention.

Claims

1. A method for automatic and batch upgrade of array server backplanes, characterized in that, This method is applied to an array-type server system, which includes a firmware management module, a BMC management module, and multiple baseboard units. The firmware management module stores firmware images and version information and is connected to the BMC management module. The BMC management module is connected to each of the multiple baseboard units and is used to update the firmware of the baseboard units. The automatic and batch upgrade method for the array-type server baseboard includes: S101, Receive upgrade instructions from the preset timed wake-up program; S102. Determine whether the firmware version information of each baseboard unit is consistent with the firmware version information of the current array server system. S103. If there is a discrepancy, the pre-installed upgrade firmware package will be downloaded to the temporary directory in the BMC management module, and the MD5 value of the upgrade firmware package will be verified. S104. Trigger the thread pool mode through the BMC management module to perform concurrent upgrades on each of the baseboard units; S105. Generate an upgrade report indicating that the firmware upgrade is complete, and enable the timed wake-up program, wherein the timed wake-up program sends the upgrade command periodically.

2. The method for automatic and batch upgrade of an array server backplane according to claim 1, characterized in that, The firmware management module is connected to the BMC management module via a network interface. The firmware management module includes a firmware version repository and a scheduling engine. The network interface is HTTP / NFS.

3. The method for automatic and batch upgrade of an array server backplane according to claim 2, characterized in that, The BMC management module is connected to each of the baseboard units via UART serial port and I2C interface respectively, and the BMC management module performs firmware upgrades on each of the baseboard units via I2C interface.

4. The method for automatic and batch upgrade of an array server backplane according to claim 3, characterized in that, Prior to step S101, the following is also included: S1001. Configure the network interface and serial communication parameters; S1002. Create a global upgrade lock and initialize the thread pool; S1003. Load the information data of each base plate unit.

5. The method for automatic and batch upgrade of an array server backplane according to claim 4, characterized in that, Following step S1003, the method further includes: S1004. Establish multiple SOL sessions; S1005. Send a version query command to the corresponding baseboard unit through each SOL session to verify the information data in step S1003.

6. The method for automatic and batch upgrade of an array server backplane according to claim 5, characterized in that, Step S104 further includes: S1041. Determine whether the base plate unit has been successfully upgraded; S1042. If not, then activate the corresponding base plate unit to perform version rollback.

7. The method for automatic and batch upgrade of an array server backplane according to claim 6, characterized in that, Step S104 further includes: S1043. Determine whether the percentage of each base plate unit that has completed the upgrade is less than a preset value; S1044. If so, then all the base plate units will be forced to re-execute the upgrade process.

8. The method for automatic and batch upgrade of an array server backplane according to claim 1, characterized in that, The upgrade status is indicated by the GPIO status of the baseboard unit, where a high level indicates that the upgrade is in progress, a low level indicates that the upgrade is successful, and a pulse indicates that the upgrade has failed.

9. An automatic upgrade and batch upgrade device for array-type server backplanes, characterized in that, The array server baseboard automatic upgrade and batch upgrade device includes: a memory and at least one processor, wherein the memory stores instructions, and the memory and the at least one processor are interconnected via a line; The at least one processor invokes the instructions in the memory to cause the array server backplane automatic upgrade and batch upgrade device to perform the array server backplane automatic upgrade and batch upgrade method as described in any one of claims 1-8.

10. A computer-readable storage medium storing a computer program thereon, characterized in that, When the computer program is executed by the processor, it implements the automatic and batch upgrade method for the array server backplane as described in any one of claims 1-8.