An upgrade method, product, device and medium for a server management system

By separating parallel and serial upgrade firmware in the server and performing hierarchical upgrades based on resource usage, the problem of low efficiency of server version upgrade is solved, and an efficient upgrade process is achieved.

CN120010890BActive Publication Date: 2025-08-05INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510496633.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-21
Publication Date
2025-08-05
Estimated Expiration
2045-04-21

AI Technical Summary

Technical Problem

In the prior art, the server version upgrade efficiency is low and the upgrade time is long, which affects business operation and reduces user experience.

Method used

By obtaining the client's server version upgrade request, determine the firmware to be upgraded, and divide it into parallel upgrade and serial upgrade firmware, and perform parallel or serial upgrade according to resource usage.

Benefits of technology

It improves the efficiency of server version upgrade, shortens the upgrade time, ensures the normal operation of the business and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120010890B_ABST
    Figure CN120010890B_ABST
Patent Text Reader

Abstract

The present application discloses an upgrade method, product, device and medium for a server management system, which relates to the field of computer technology. The method obtains a server version upgrade request sent by a client, determines each firmware to be upgraded in the current server according to the server version upgrade request, determines each parallel upgrade firmware that can be upgraded in parallel and each serial upgrade firmware that can be upgraded in series from each firmware to be upgraded, and performs parallel upgrades on each parallel upgrade firmware version and serial upgrades on each serial upgrade firmware version according to the firmware version upgrade file package in the server version upgrade request combined with the resource usage of the current server. The present application can perform parallel upgrades on multiple parallel upgrade firmwares in a server, solve the problems of low upgrade efficiency, long time, impact on server business operation, and reduced user experience, improve server version upgrade efficiency, shorten upgrade time, ensure normal business operation, and improve user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to an upgrade method, product, device, and medium for a server management system. Background Art

[0002] In server management systems, as software functionality is continuously updated and improved, server upgrades are necessary to achieve better performance and functionality. Conventional server upgrades typically involve upgrading only one firmware version at a time, meaning each firmware version is upgraded serially. This results in low upgrade efficiency and a long upgrade time, leading to extended service interruptions, impacting server operations, and reducing the user experience.

[0003] In view of this, how to improve the efficiency of server version upgrades, shorten the upgrade time, effectively ensure the normal operation of services, and improve user experience has become a problem that technical personnel in this field need to solve. Summary of the Invention

[0004] The present application provides an upgrade method, computer program product, electronic device and computer-readable storage medium for a server management system, so as to at least solve the problems in the related art of low server version upgrade efficiency, long upgrade time, impact on server business operation and reduced user experience.

[0005] This application provides a method for upgrading a server management system, comprising:

[0006] Obtain the server version upgrade request sent by the client; the server version upgrade request includes the firmware version upgrade file package;

[0007] Determine each firmware to be upgraded in the current server according to the server version upgrade request;

[0008] Determine each parallel upgrade firmware and each serial upgrade firmware from each firmware to be upgraded;

[0009] According to the firmware version upgrade file package and the current server resource usage, each parallel upgrade firmware version is upgraded in parallel, and each serial upgrade firmware version is upgraded in series.

[0010] The present application also provides an upgrade device for a server management system, comprising:

[0011] An acquisition module is used to acquire a server version upgrade request sent by a client; the server version upgrade request includes a firmware version upgrade file package;

[0012] A first determining module is used to determine each firmware to be upgraded in the current server according to the server version upgrade request;

[0013] A second determining module is used to determine each parallel upgrade firmware and each serial upgrade firmware from each firmware to be upgraded;

[0014] The upgrade module is used to perform parallel upgrades on the versions of the parallel-upgraded firmware and serial upgrades on the versions of the serial-upgraded firmware according to the firmware version upgrade file package and the resource usage of the current server.

[0015] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned server management system upgrade methods when executing the computer program.

[0016] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned server management system upgrade methods are implemented.

[0017] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned server management system upgrade methods when executed by a processor.

[0018] It can be seen from the above technical solution that the beneficial effects of the present invention are:

[0019] During the upgrade process of the server management system, this application obtains the server version upgrade request sent by the client, and determines the various firmware to be upgraded in the current server according to the server version upgrade request, and then determines the various parallel upgrade firmware that can be upgraded in parallel and the various serial upgrade firmware that cannot be upgraded in parallel from the various firmware to be upgraded, and then performs parallel upgrades on the versions of the various parallel upgrade firmwares and serial upgrades on the versions of the various serial upgrade firmwares according to the firmware version upgrade file package in the server version upgrade request and the resource usage of the current server. Since this application can realize the parallel upgrade of multiple firmware that can be upgraded in parallel in the server, it can solve the problems of low server version upgrade efficiency, long upgrade time, impact on server business operation, and reduced user experience in the related technology, and achieve the technical effect of improving the server version upgrade efficiency, shortening the upgrade time, effectively ensuring the normal operation of the business, and improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0021] Figure 1 A flowchart of a method for upgrading a server management system provided in an embodiment of the present application;

[0022] Figure 2 A schematic diagram of the connection relationship between firmware and a baseboard management controller provided in an embodiment of the present application;

[0023] Figure 3 A schematic diagram of the structure of an upgrade scheduling module provided in an embodiment of the present application;

[0024] Figure 4 A schematic diagram of an upgrade structure of a server management system provided in an embodiment of the present application;

[0025] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application;

[0026] Figure 6 A schematic diagram of the structure of a computer-readable storage medium provided in an embodiment of the present application. DETAILED DESCRIPTION

[0027] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

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

[0029] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0030] In conjunction with the specific application environment architecture or specific hardware architecture on which the execution of the upgrade method of the server management system depends, the specific application environment architecture or specific hardware architecture is described herein.

[0031] The embodiment of the present application provides a method for upgrading a server management system. The method is described in detail in conjunction with the execution process of the method for upgrading a server management system. Figure 1 , the method includes the following S110 to S140.

[0032] S110: Obtain a server version upgrade request sent by the client; the server version upgrade request includes a firmware version upgrade file package.

[0033] It should be noted that the method in this application can be applied to the BMC (Baseboard Management Controller) in the server. When the user needs to upgrade the server version, the user can input the server version upgrade request through the client. The client sends the server version upgrade request to the server to be upgraded, and the current server will receive the server version upgrade request sent by the client. The server version upgrade request may include a firmware version upgrade file package, and the firmware version upgrade file package includes the upgrade package of each firmware that the user wants to upgrade. The firmware version upgrade file package can be set by the user in advance according to actual needs. When the user sends the server version upgrade request to the client, the firmware version upgrade file package can be attached to the server version upgrade request and sent to the current server at the same time.

[0034] S120: Determine each firmware to be upgraded in the current server according to the server version upgrade request.

[0035] It is understandable that the BMC of the current server can determine the firmware to be upgraded that needs to be upgraded from the current server according to the server version upgrade request sent by the client.

[0036] S130: Determine each parallel upgrade firmware and each serial upgrade firmware from each firmware to be upgraded.

[0037] Some of the firmware to be upgraded will not conflict during the upgrade process and can therefore be upgraded simultaneously. However, some of the firmware to be upgraded will conflict during the upgrade process and cannot therefore be upgraded simultaneously. Among the firmware to be upgraded, those that can be upgraded in parallel without conflict are identified as parallel upgrade firmware, while those that cannot be upgraded simultaneously are identified as serial upgrade firmware. In other words, it is determined which firmware can be upgraded in parallel and which require serial upgrade.

[0038] S140: performing parallel upgrades on the versions of the parallel-upgraded firmware and serial upgrades on the versions of the serial-upgraded firmware according to the firmware version upgrade file package and the current resource usage of the server.

[0039] After determining the various parallel upgrade firmwares that can be upgraded in parallel and the various serial upgrade firmwares that need to be upgraded serially, the versions of the various parallel upgrade firmwares can be upgraded in parallel according to the firmware packages corresponding to each parallel upgrade firmware in the obtained firmware version upgrade file package combined with the resource usage of the current server, and the versions of the various serial upgrade firmwares can be upgraded serially according to the firmware packages corresponding to each serial upgrade firmware in the firmware version upgrade file package combined with the resource usage of the current server, thereby achieving an overall upgrade of the server version. Since the present application can fully utilize the resources of the current server to upgrade the versions of the various parallel upgrade firmwares in parallel during the upgrade process, the present application can improve the efficiency of server version upgrades, shorten the upgrade time, reduce the impact on server business operations, and improve the user experience.

[0040] In one embodiment, the process of determining the firmware to be upgraded in the current server according to the server version upgrade request in S120 may include:

[0041] Get the header information of the firmware version upgrade file package; the header information includes server information and each firmware version information;

[0042] Match the current server according to server information;

[0043] If the match is successful, the firmware version information in the header information is compared with the current version information of the corresponding firmware in the current server;

[0044] Determine each firmware to be upgraded whose current version information is inconsistent with the firmware version information.

[0045] It is understandable that the header information of the firmware version upgrade file package in the present application may include server information and each firmware version information. In order to ensure the security and reliability of the server version upgrade, the current server can be matched according to the server information in the firmware version upgrade file package to determine whether the server to which the user wants to upgrade is the current server. If the match is successful, it means that the current server is the server to which the user wants to upgrade, and the firmware version upgrade file package is valid for the current server. At this time, the firmware version information (such as the firmware version number) in the header information can be compared with the current version information of each firmware in the current server. For example, the firmware version information includes BMC firmware, BIOS (Basic Input Output System) firmware, MB (Mother Board) CPLD (Complex Programmable Logic Device) firmware, SCM (System Controller Managerment) CPLD firmware, BP (Backplane Board) The new version numbers of the CPLD firmware and the fan board CPLD firmware are obtained. The current version numbers of the firmware in the server can be obtained. Then, the current version numbers are compared with the version numbers of the corresponding firmware in the firmware version information. If the two are consistent, the firmware in the server does not need to be upgraded. If the two are inconsistent, the firmware in the server needs to be upgraded. The firmware is identified as the firmware to be upgraded. In this way, the firmware to be upgraded in the current server is determined.

[0046] In one embodiment, the server information in this application may include a list of server models and server machine serial numbers; wherein the user may pre-fill in the server model of the server to be upgraded and fill in the serial number of the server into the server serial number (SN) list.

[0047] Then, the above process of matching the current server according to the server information may include:

[0048] Match the current server model with the server model. If the current server model is consistent with the server model, determine the machine serial numbers corresponding to the server model from the server machine serial number list.

[0049] The machine serial number of the current server is matched with each machine serial number determined from the server machine serial number list. If there is a machine serial number in the machine serial number list that is consistent with the machine serial number of the current server, the match is successful.

[0050] It should be noted that, in the embodiment of the present application, when determining whether the current server is the server that the user wants to upgrade, the server information in the header information of the firmware version upgrade file package can be matched with the server information of the current server. For example, the model of the current server can be obtained, and the model of the current server can be matched with the server model in the header information. If the two are consistent, the serial number of the current server is further compared with the serial numbers corresponding to the server model in the server machine serial number list. If there is a serial number that is consistent with the serial number of the current server, the match is successful, indicating that the server is the server that the user needs to upgrade.

[0051] In one embodiment, the header information of the firmware version upgrade file package in the present application may further include the version offset address of different firmware; the method may further include:

[0052] According to the version offset addresses of different firmwares, a firmware upgrade package corresponding to each firmware to be upgraded is determined from the firmware version upgrade file package.

[0053] It should be noted that in order to accurately obtain the firmware upgrade package corresponding to each firmware to be upgraded from the firmware version upgrade file package sent by the client, the header information of the firmware version upgrade file package in this application can also include the version offset addresses of different firmwares. According to the version offset addresses of the different firmwares, the firmware upgrade packages corresponding to each firmware to be upgraded can be determined one by one from the entire firmware version upgrade file package. For example, the version offset addresses of the different firmwares can be AB for firmware 1, C to D for firmware 2, etc., so that the firmware upgrade package corresponding to the firmware to be upgraded can be accurately obtained based on the version offset addresses.

[0054] After determining the firmware upgrade package corresponding to each firmware to be upgraded, the versions of each parallel upgraded firmware can be upgraded in parallel according to the firmware upgrade package corresponding to each parallel upgraded firmware and the resource usage of the current server; the versions of each serial upgraded firmware can be upgraded serially in sequence according to the firmware upgrade package corresponding to each serial upgraded firmware and the resource usage of the current server, thereby ensuring the accuracy of the upgrade of each firmware version.

[0055] In one embodiment, the process of determining the parallel upgrade firmware and the serial upgrade firmware from the firmware to be upgraded in S130 may include:

[0056] According to the logical connection relationship between each firmware to be upgraded and the baseboard management controller, each firmware to be upgraded in parallel and each firmware to be upgraded in series are determined.

[0057] It should be noted that in the embodiments of the present application, it is possible to determine which firmware to be upgraded are parallel upgrade firmware that can be upgraded in parallel, and which firmware to be upgraded are serial upgrade firmware that cannot be upgraded in parallel, based on the underlying logical link of the BMC in the server. In actual applications, each firmware in the server is logically connected to the corresponding controller component in the baseboard management controller (BMC). Therefore, based on the logical connection relationship between each firmware to be upgraded and the baseboard management controller, each parallel upgrade firmware and each serial upgrade firmware can be determined from each firmware to be upgraded.

[0058] Furthermore, the process of determining each firmware to be upgraded in parallel and each firmware to be upgraded in series based on the logical connection relationship between each firmware to be upgraded and the baseboard management controller may include:

[0059] For the non-serial communication protocol controller component on the baseboard management controller, according to the logical connection relationship between each firmware to be upgraded and the baseboard connection controller, each firmware to be upgraded connected to each different non-serial communication protocol controller component is used as a parallel upgrade firmware;

[0060] Treat each firmware to be upgraded connected to the same non-serial communication protocol controller component as a serial upgrade firmware;

[0061] For a serial communication protocol controller component on a baseboard management controller, each firmware to be upgraded connected to the serial communication protocol controller component via different buses is used as a parallel upgrade firmware;

[0062] Using each firmware to be upgraded connected to the serial communication protocol controller component via the same bus as the serial upgrade firmware;

[0063] The firmware to be upgraded connected to the non-serial communication protocol controller component and the firmware to be upgraded connected to the serial communication protocol controller component are upgraded in parallel with each other.

[0064] It should be noted that in this application, other control components on the BMC that are not serial communication protocol I2C controller components are collectively referred to as non-serial communication protocol controller components, that is, controller components that are not I2C controller components, such as SPI (Serial Peripheral Interface) controller components, JTAG (Joint Test Action Group) controller components, etc.

[0065] In this application, for each non-serial communication protocol controller component on the BMC, if each determined firmware to be upgraded is connected to a different non-serial communication protocol controller component on the BMC, for example Figure 2 MB CPLD in Figure 2 M3 in the BMC) is connected to JTAG0 ( Figure 2 J0 in the SCM CPLD ( Figure 2 S3 in the BMC) is connected to JTAG1 ( Figure 2 On J1 in the figure, it can be seen that the MB CPLD and SCM CPLD are connected to two different non-serial communication protocol controller components JTAG0 and JTAG1 on the BMC. Therefore, the firmware MB CPLD and SCM CPLD are upgraded in parallel. JTAG0 and JTAG1 provide upgrade drivers for the MB CPLD and SCMCPLD respectively. If there are two or more firmware to be upgraded connected to the same non-serial communication protocol controller component, for example, in the case of flash memory on the BMC, the upper BMC flash memory is mounted under the same SPI controller component, such as Figure 2 Medium Firmware BMC1 ( Figure 2 B1) and BMC2 ( Figure 2 B2 in) through MUX ( Figure 2 M0 in) is connected to the same SPI0 ( Figure 2 S0 in), it can be determined that the firmware BMC1 and BMC2 are serially upgraded. Switching the BMC flash memory requires CPLD control, that is, during the upgrade process, the BMC flash memory needs to be selected by CPLD, and then the SPI0 upgrade driver is called to upgrade the firmware. Similarly, the firmware BIOS1 ( Figure 2 BI1) and BIOS2 ( Figure 2 BI2 in) is connected to the same SPI 1 ( Figure 2 In S1), firmware BIOS1 and BIOS2 are connected in series to upgrade the firmware. During the upgrade process, the BIOS flash memory is first selected through the CPLD, and then the corresponding SPI 1 upgrade driver is called. Of course, since the firmware BMC1 and BMC2 are connected to the same SPI0 through MUX, the firmware BIOS1 and BIOS2 are connected through another MUX ( Figure 2 If M1 in the serial communication protocol controller is connected to the same SPI 1, it can be determined that a BMC in BMC1 and BMC2, a BIOS in BIOS1 and BIOS2, and firmware separately connected to other non-serial communication protocol controller components are upgrading firmware in parallel with each other. For example, a BMC in BMC1 and BMC2, a BIOS in BIOS1 and BIOS2, an MBCPLD, and an SCM CPLD are upgrading firmware in parallel with each other.

[0066] For the serial communication protocol I2C controller component in the BMC, since the I2C controller component can select the firmware connected to the bus according to the bus number (also known as the bus number) carried in the instruction, thereby controlling the firmware, for each firmware connected to the I2C controller component, if each firmware is connected to the I2C controller component through a different bus, then these firmwares connected to the I2C controller component through different buses can be upgraded in parallel. However, if there are two or more firmwares connected to the I2C controller component through the same bus, then these firmwares connected to the I2C controller component through the same bus cannot be upgraded in parallel and can only be upgraded serially. Figure 2 As shown, the fan board CPLD ( Figure 2 F1 in) through bus0 ( Figure 2 b0 in the I2C Controller Component ( Figure 2 I in), BPCPLD ( Figure 2 F2 in Figure 1 is connected to the I2C controller assembly via bus 1 (b1). Since the fan board CPLD and BP CPLD are connected to the I2C controller assembly via different buses, they can be upgraded in parallel. Therefore, the fan board CPLD and BP CPLD upgrade their firmware in parallel. Furthermore, if two or more firmware to be upgraded are connected to the I2C controller assembly via the same bus, any firmware to be upgraded on each bus will upgrade in parallel with any firmware to be upgraded on any other bus. However, each firmware to be upgraded on the same bus will upgrade its firmware in series with the other firmware to be upgraded.

[0067] Of course, since the firmware to be upgraded connected to the I2C controller components through different buses are upgraded in parallel with each other, the firmware to be upgraded connected to the I2C controller components through different buses and the other firmware to be upgraded connected to different non-serial communication protocol controller components are also upgraded in parallel with each other.

[0068] In one embodiment, the process of performing parallel upgrades on the versions of the parallel-upgraded firmware and serial upgrades on the versions of the serial-upgraded firmware in S140 according to the firmware version upgrade file package and the current resource usage of the server may include:

[0069] Get the current resource usage of the baseboard management controller in the current server;

[0070] Determine the load level and the number of firmware upgrades corresponding to the load level based on the current resource usage;

[0071] Determine the current upgrade firmware from the remaining parallel upgrade firmware and serial upgrade firmware according to the number of firmwares to be upgraded and the firmware upgrade priority;

[0072] The current upgrade firmware is upgraded accordingly according to the firmware upgrade package corresponding to the current upgrade firmware in the firmware version upgrade file package.

[0073] It should be noted that in order to ensure the normal operation of server services and maintain server stability, in the embodiment of the present application, during the process of upgrading the version of the firmware to be upgraded, the current resource utilization rate of the BMC can be obtained, for example, by obtaining the CPU (Central Processing Unit) utilization rate, memory utilization rate, and network bandwidth utilization rate, etc. The current resource utilization rate of the BMC can be obtained. In the present application, a mapping relationship between resource utilization rate and load level can be pre-set, and a mapping relationship between load level and the number of upgraded firmware can be pre-set. Therefore, after determining the current resource utilization rate, the number of upgraded firmware for the current upgrade can be further determined based on the current resource utilization rate combined with the pre-set mapping relationship between resource utilization rate and load level, and the mapping relationship between load level and the number of upgraded firmware. Then, the current upgrade firmware is further determined from the remaining firmware to be upgraded based on the number of firmwares to be upgraded and the firmware upgrade priority, and the current upgrade firmware is upgraded accordingly according to the firmware upgrade package corresponding to the current upgrade firmware in the firmware version file package. That is, if the current upgrade firmware is a plurality of parallel upgrade firmwares that can be upgraded in parallel, the versions of each current upgrade firmware are upgraded in parallel; if there is only one current upgrade firmware, the current upgrade firmware is upgraded separately.

[0074] The header information of the firmware version upgrade file package in this application may also include a firmware upgrade priority. The firmware upgrade priority can be customized by the user, that is, the user specifies the priority of each firmware upgrade and sends the firmware upgrade priority to the server via the server version upgrade request sent by the client in the header information of the firmware version upgrade file package. In addition, the server side can also preset a default priority for the firmware upgrade. In the process of obtaining the firmware upgrade priority, the server can obtain the firmware upgrade priority by reading the header information of the firmware version upgrade file package and check whether the firmware upgrade priority in the header information is empty. If it is not empty, the firmware upgrade priority in the header information is directly used. If the firmware upgrade priority in the header information is empty, it means that the user has not set the priority. At this time, the default firmware upgrade priority preset in the server can be obtained and used as the firmware upgrade default priority for subsequent selection of the current firmware upgrade, thereby better ensuring the efficiency of the firmware upgrade and helping to better ensure the stability of business operations. The priority of the MB CPLD and SCM CPLD can be higher than the priority of the fan version CPLD and BP CPLD.

[0075] In one embodiment, the determining of the current upgrade firmware from the currently remaining parallel upgrade firmware and serial upgrade firmware based on the number of firmware upgrades and the firmware upgrade priority includes:

[0076] If the number of firmwares to be upgraded is greater than or equal to 2 and less than the total number of firmwares to be upgraded in parallel, the current firmware to be upgraded that matches the number of firmwares to be upgraded in this case is determined from the remaining firmwares to be upgraded in parallel according to the firmware upgrade priority.

[0077] If the number of firmwares being upgraded is greater than or equal to the total number of firmwares being upgraded in parallel, all remaining firmwares being upgraded in parallel will be used as the current firmware being upgraded.

[0078] When the number of firmware to be upgraded this time is 1, the current upgraded firmware is determined from the remaining parallel upgraded firmware and serial upgraded firmware according to the firmware upgrade priority.

[0079] It should be noted that in this application, when it is determined that the number of firmware to be upgraded this time is 2 or more, and the number of firmware to be upgraded this time is less than the total number of firmware to be upgraded in parallel, the number of firmware to be upgraded this time (for example, Figure 2 MB CPLD and SCM CPLD in the firmware version upgrade file package), and then upgrade the versions of the current upgrade firmware in parallel according to the firmware upgrade packages corresponding to each current upgrade firmware in the firmware version upgrade file package.

[0080] If the number of firmware being upgraded this time is greater than or equal to the number of firmware being upgraded in parallel, all the remaining firmware being upgraded in parallel can be directly used as the current upgrade firmware, and then the versions of each current upgrade firmware can be upgraded in parallel according to the firmware upgrade packages corresponding to each current upgrade firmware in the firmware version upgrade file package.

[0081] If the number of firmware to be upgraded this time is determined to be 1, the current upgrade firmware can be determined from all the remaining parallel upgrade firmware and all the remaining serial upgrade firmware according to the firmware upgrade priority, and then the version of the current upgrade firmware can be upgraded in parallel according to the firmware upgrade packages corresponding to the current upgrade firmware in the firmware version upgrade file package.

[0082] In one embodiment, the process of determining the load level and the number of firmware upgrades corresponding to the load level based on the current resource usage may include:

[0083] The current resource usage is less than the first preset value, the load level is level 0, and the number of firmware to be upgraded is the maximum preset threshold;

[0084] The current resource usage rate is greater than the first preset value and less than or equal to the second preset value, the load level is level 1, and the number of firmware to be upgraded is greater than the minimum preset threshold and less than the maximum preset threshold;

[0085] The current resource usage rate is greater than the second preset value and less than or equal to the third preset value, the load level is level 2, and the number of firmware to be upgraded is the minimum preset threshold;

[0086] The current resource usage is greater than the third preset value, the load level is level 3, and the number of firmware to be upgraded is 0; where:

[0087] The first preset value is smaller than the second preset value and smaller than the third preset value, and the maximum preset threshold is larger than the minimum preset threshold.

[0088] It is understood that in this application, when the current resource utilization rate is less than a first preset value (e.g., 70%), the corresponding load level is level 0, indicating that the BMC has sufficient remaining resources. A maximum preset threshold (e.g., 6) can be pre-set for the number of firmware that can be upgraded in parallel during a single upgrade (i.e., the concurrent number). When the load level is determined to be level 0, the number of firmware to be upgraded is determined to be the maximum preset threshold. When the current resource utilization rate is determined to be greater than the first preset value and less than the second preset value (e.g., 85%), the load level is determined to be level 1. At this time, to ensure normal business operation, the number of firmware to be upgraded is less than the maximum preset threshold, for example, half of the maximum preset threshold, thereby improving the efficiency of firmware version upgrades while ensuring normal business operation. When the current resource utilization rate is determined to be greater than the second preset threshold and less than or equal to the third preset value (e.g., 95%), the corresponding load level is level 2, indicating that there are relatively few remaining resources. To ensure normal business operation, the number of firmware to be upgraded can be determined to be the minimum preset threshold (e.g., 1). When it is determined that the current resource utilization rate is greater than the third preset value and the load level is level 3, it means that the resource utilization rate has reached the maximum limit and the firmware upgrade task cannot be performed. It is determined that the corresponding number of firmware to be upgraded this time is 0, that is, the firmware version upgrade task will not be performed this time. After the preset time interval, the above-mentioned steps of obtaining the current resource utilization rate of the baseboard management controller can be re-executed to start the next upgrade confirmation, and determine the new current resource utilization rate and the new number of firmware to be upgraded this time. According to the new number of firmware to be upgraded this time and the firmware upgrade priority, the new current upgrade firmware is determined, and the corresponding firmware upgrade is performed until all the firmware to be upgraded are upgraded, and the server version upgrade operation is ended.

[0089] In actual application, after determining each parallel upgrade firmware and each serial upgrade firmware, such as Figure 3 As shown, the upgrade tasks corresponding to each parallel upgrade firmware and each serial upgrade firmware can be placed in the task queue management module of the upgrade scheduling module, and the current upgrade firmware can be determined by the resource allocation module based on the current resource utilization rate combined with the priority scheduling module, and then the version of the current upgrade firmware can be upgraded through the parallel control module.

[0090] In one embodiment, after determining the firmware to be upgraded in the current server according to the server version upgrade request, the method further includes:

[0091] Back up the firmware packages corresponding to the current versions of the firmware to be upgraded.

[0092] It should be noted that a rollback mechanism can also be provided in the present application, that is, before upgrading each firmware to be upgraded, the firmware package corresponding to the current version of each firmware to be upgraded can be backed up, so that when the firmware version needs to be restored, the corresponding firmware version can be restored according to the backed-up firmware package to better meet user needs.

[0093] It is understandable that the firmware upgrade status can be detected during the firmware upgrade process. If it is determined that the current firmware upgrade fails, the current firmware version can be restored based on the backed up firmware package corresponding to the current firmware upgrade.

[0094] Alternatively, during the use process after the firmware upgrade is completed, the status of each firmware can be monitored regularly. When it is determined that the upgraded firmware has failed, the version of the failed firmware can be restored based on the backed up firmware package corresponding to the failed firmware.

[0095] Alternatively, during server use, if a system crash is detected, each firmware version can be restored based on the backup firmware packages corresponding to the last upgraded firmware, quickly restoring to the previous version to restore the server system to normal operation and reduce the impact on the business.

[0096] Of course, in actual applications, a rollback mechanism can also be triggered by manual commands. For example, a user can input the specified firmware information to be rolled back through an IPMI (Intelligent Platform Management Interface) command. The server obtains the backed-up firmware package corresponding to the firmware information specified in the IPMI command, and then restores the firmware version based on the firmware package. In this way, if the system cannot restore the firmware version, the firmware version can be restored by manually inputting the command, thereby improving system reliability.

[0097] It should also be noted that in actual applications, a primary alarm can be issued if an upgrade anomaly is detected (e.g., abnormal upgrade progress (e.g., current step, completion percentage)) or an upgrade failure (e.g., firmware verification failure, write failure). Alternatively, device status can be monitored and a secondary alarm can be issued if an abnormality is detected. Alternatively, an alarm can be issued if abnormal BMC controller usage or system component temperatures are detected. Alternatively, an alarm can be triggered if resource usage, temperature, voltage, or current exceed corresponding thresholds. Alternatively, an alarm can be issued if a network or power outage is detected. This allows personnel to promptly identify device anomalies and perform maintenance immediately, better ensuring the normal operation of server services.

[0098] Among them, the device status may include the usage of CPU, memory, storage, or network status (such as connection stability, bandwidth usage), power status (such as battery level, power supply stability, etc.), and device resources (such as insufficient memory, insufficient storage space).

[0099] It can be seen that during the upgrade process of the server management system, the present application obtains the server version upgrade request sent by the client, and determines the various firmware to be upgraded in the current server according to the server version upgrade request, and then determines the various parallel upgrade firmware that can be upgraded in parallel and the various serial upgrade firmware that cannot be upgraded in parallel from the various firmware to be upgraded, and then performs parallel upgrades on the versions of the various parallel upgrade firmwares and serial upgrades on the versions of the various serial upgrade firmwares according to the firmware version upgrade file package in the server version upgrade request and the resource usage of the current server. Since the present application can realize the parallel upgrade of multiple firmware that can be upgraded in parallel in the server, it can solve the problems of low server version upgrade efficiency, long upgrade time, impact on server business operation, and reduced user experience in the related technology, and achieve the technical effect of improving the server version upgrade efficiency, shortening the upgrade time, effectively ensuring the normal operation of the business, and improving the user experience.

[0100] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0101] The embodiment of the present application also provides an upgrade device for a server management system, please refer to Figure 4 The device comprises:

[0102] The acquisition module 11 is used to acquire the server version upgrade request sent by the client; the server version upgrade request includes a firmware version upgrade file package;

[0103] A first determining module 12 is configured to determine each firmware to be upgraded in the current server according to the server version upgrade request;

[0104] The second determining module 13 is used to determine each parallel upgrade firmware and each serial upgrade firmware from each firmware to be upgraded;

[0105] The upgrade module 14 is configured to perform parallel upgrades on the versions of the parallel-upgraded firmware and serial upgrades on the versions of the serial-upgraded firmware according to the firmware version upgrade file package and the resource usage of the current server.

[0106] In one embodiment, the first determining module 12 includes:

[0107] The first acquiring unit is configured to acquire header information of a firmware version upgrade file package; the header information includes server information and information of each firmware version;

[0108] A matching unit, used to match the current server according to the server information;

[0109] a comparing unit, configured to compare the firmware version information in the header information with the current version information of the corresponding firmware in the current server if a match is successful;

[0110] The first determining unit is configured to determine each firmware to be upgraded whose current version information is inconsistent with the firmware version information.

[0111] In one embodiment, the server information includes a list of server machine models and server machine serial numbers;

[0112] Matching unit, including:

[0113] The first matching subunit is configured to match the model of the current server with the server model, and if the model of the current server is consistent with the server model, determine the machine serial numbers corresponding to the server model from the server machine serial number list;

[0114] The second matching subunit is used to match the machine serial number of the current server with each machine serial number determined from the server machine serial number list. If there is a machine serial number in the machine serial number list that is consistent with the machine serial number of the current server, the match is successful.

[0115] In one embodiment, the header information further includes version offset addresses of different firmware; the apparatus further includes:

[0116] The third determining module is configured to determine, from the firmware version upgrade file package, a firmware upgrade package corresponding to each firmware to be upgraded according to the version offset addresses of different firmwares.

[0117] In one embodiment, the upgrade module 14 includes:

[0118] The first upgrading unit is configured to upgrade the versions of the parallel upgraded firmware in parallel according to the firmware upgrade packages corresponding to each parallel upgraded firmware and the resource usage of the current server;

[0119] The second upgrading unit is configured to sequentially upgrade the versions of the serial upgrading firmware according to the firmware upgrading packages corresponding to each serial upgrading firmware and the resource usage of the current server.

[0120] In one embodiment, the second determining module 13 is configured to:

[0121] According to the logical connection relationship between each firmware to be upgraded and the baseboard management controller, each firmware to be upgraded in parallel and each firmware to be upgraded in series are determined.

[0122] In one embodiment, the second determining module 13 includes:

[0123] a second determining unit configured to, for the non-serial communication protocol controller component on the baseboard management controller, determine, based on the logical connection relationship between each firmware to be upgraded and the baseboard connection controller, each firmware to be upgraded connected to each different non-serial communication protocol controller component as a parallel upgrade firmware;

[0124] a third determining unit, configured to determine each firmware to be upgraded connected to the same non-serial communication protocol controller component as a serial upgrade firmware;

[0125] a fourth determining unit configured to, for a serial communication protocol controller component on a baseboard management controller, use each firmware to be upgraded that is connected to the serial communication protocol controller component via different buses as a parallel upgrade firmware;

[0126] a fifth determining unit, configured to use each firmware to be upgraded connected to the serial communication protocol controller component via the same bus as the serial upgrade firmware;

[0127] The firmware to be upgraded connected to the non-serial communication protocol controller component and the firmware to be upgraded connected to the serial communication protocol controller component are upgraded in parallel with each other.

[0128] In one embodiment, the upgrade module 14 includes:

[0129] A second acquiring unit is configured to acquire a current resource usage rate of a baseboard management controller in a current server;

[0130] A sixth determining unit, configured to determine a load level and a number of firmware upgrades corresponding to the load level according to the current resource usage rate;

[0131] a seventh determining unit, configured to determine the current upgrade firmware from the currently remaining parallel upgrade firmware and the serial upgrade firmware according to the number of firmware to be upgraded and the firmware upgrade priority;

[0132] The third upgrading unit is configured to upgrade the current upgrading firmware according to the firmware upgrading package corresponding to the current upgrading firmware in the firmware version upgrading file package.

[0133] In one embodiment, the seventh determining unit includes:

[0134] an eighth determining unit, configured to determine, if the number of firmware to be upgraded currently is greater than or equal to 2 and less than the total number of firmware to be upgraded concurrently, the current upgraded firmware that matches the number of firmware to be upgraded currently from the currently remaining concurrently upgraded firmware according to the firmware upgrade priority;

[0135] A ninth determining unit, configured to, when the number of firmware to be upgraded currently is greater than or equal to the total number of firmware to be upgraded in parallel, use all currently remaining firmware to be upgraded in parallel as the current firmware to be upgraded;

[0136] The tenth determining unit is configured to determine the current upgrade firmware from the remaining parallel upgrade firmware and serial upgrade firmware according to the firmware upgrade priority when the number of the currently upgraded firmware is 1.

[0137] In one embodiment, the sixth determining unit includes:

[0138] an eleventh determining unit, configured to: provide a current resource usage rate that is less than a first preset value, a load level that is level 0, and a number of firmware to be upgraded that is a maximum preset threshold;

[0139] a twelfth determining unit configured to: cause a current resource usage rate to be greater than a first preset value and less than or equal to a second preset value, cause a load level to be level 1, and cause the number of firmware to be upgraded to be greater than a minimum preset threshold and less than a maximum preset threshold;

[0140] A thirteenth determining unit is configured to: a current resource usage rate greater than a second preset value and less than or equal to a third preset value, a load level of level 2, and a number of firmware to be upgraded this time being a minimum preset threshold;

[0141] The fourteenth determining unit is configured to: a current resource usage rate greater than a third preset value, a load level of level 3, and a number of firmware to be upgraded this time of 0; wherein:

[0142] The first preset value is smaller than the second preset value and smaller than the third preset value, and the maximum preset threshold is larger than the minimum preset threshold.

[0143] In one embodiment, it further includes:

[0144] The backup module is used to back up the firmware packages corresponding to the current versions of the firmware to be upgraded.

[0145] In one embodiment, it further includes:

[0146] A recovery module is used to restore the version of the current upgrade firmware according to the backed-up firmware package corresponding to the current upgrade firmware when the current upgrade firmware fails to upgrade;

[0147] Alternatively, in the event that the upgraded firmware fails, the version of the failed firmware is restored according to the backed-up firmware package corresponding to the failed firmware.

[0148] For the description of the features in the embodiment corresponding to the upgrade device of the server management system, please refer to the relevant description of the embodiment corresponding to the upgrade device method of the server management system mentioned above, which will not be repeated here.

[0149] Please refer to Figure 5 An embodiment of the present application also provides an electronic device, including a memory 20 and a processor 21, wherein the memory 20 stores a computer program, and the processor 21 is configured to run the computer program to execute the steps in any of the above-mentioned server management system upgrade method embodiments.

[0150] Please refer to Figure 6 An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium 30 stores a computer program 31, wherein the computer program 31 is configured to execute the steps of any of the above-mentioned server management system upgrade method embodiments when running.

[0151] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0152] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned server management system upgrade method embodiments are implemented.

[0153] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps in any of the above-mentioned server management system upgrade method embodiments.

[0154] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may 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.

[0155] The above is a detailed introduction to the upgrade method, computer program product, electronic device and computer-readable storage medium of a server management system provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core idea of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. A method for upgrading a server management system, characterized in that: include: Get the server version upgrade request sent by the client; The server version upgrade request includes a firmware version upgrade file package; Determine each firmware to be upgraded in the current server according to the server version upgrade request; Determining each parallel upgrade firmware and each serial upgrade firmware from each of the firmware to be upgraded; According to the firmware version upgrade file package and the current server resource usage, each parallel upgrade firmware version is upgraded in parallel, and each serial upgrade firmware version is upgraded in series; wherein: The step of determining each parallel upgrade firmware and each serial upgrade firmware from each firmware to be upgraded includes: All controller components on the baseboard management controller that are not serial communication protocol I2C controller components are used as non-serial communication protocol controller components; the non-serial communication protocol controller components include SPI0, SPI1, JTAG0 and JTAG1; the firmware to be upgraded includes: BMC1 and BMC2 connected to SPI0, BIOS1 and BIOS2 connected to the JTAG controller component, MB CPLD connected to JTAG0, SCM CPLD connected to JTAG1, fan board CPLD connected to the I2C controller component via bus 0, and BP CPLD connected to the I2C controller component via bus 1; For each non-serial communication protocol controller component on the baseboard management controller, if each firmware to be upgraded is connected to a different non-serial communication protocol controller component, then the firmware to be upgraded is determined to be parallel upgrade firmware; if two or more firmware to be upgraded are connected to the same non-serial communication protocol controller component, then the two or more firmware to be upgraded are determined to be serial upgrade firmware; For the serial communication protocol controller component on the baseboard management controller, each firmware to be upgraded connected to the serial communication protocol controller component through different buses is regarded as parallel upgrade firmware; each firmware to be upgraded connected to the serial communication protocol controller component through the same bus is regarded as serial upgrade firmware; if there are two or more firmware to be upgraded connected to the serial communication protocol controller component through the same bus, any firmware to be upgraded under each bus and any firmware to be upgraded under other buses are mutually regarded as parallel upgrade firmware; Any firmware to be upgraded connected to the serial communication protocol controller component via the same bus, and any firmware to be upgraded connected to the serial communication protocol controller component via the same other bus are mutually upgraded firmware; any firmware to be upgraded connected to the same non-serial communication protocol controller component, and any firmware to be upgraded connected to the same other non-serial communication protocol controller component are mutually upgraded firmware; Among them, any BMC in BMC1 and BMC2, any BIOS in BIOS1 and BIOS2, MB CPLD, SCMCPLD, fan board CPLD, and BP CPLD can upgrade firmware in parallel; BMC1 and BMC2 can upgrade firmware in series, and BIOS1 and BIOS2 can upgrade firmware in series.

2. The method for upgrading the server management system according to claim 1, characterized in that: The step of determining each firmware to be upgraded in the current server according to the server version upgrade request includes: Obtaining header information of the firmware version upgrade file package; the header information includes server information and each firmware version information; Matching the current server according to the server information; If the match is successful, comparing the firmware version information in the header information with the current version information of the corresponding firmware in the current server; Determine each firmware to be upgraded whose current version information is inconsistent with the firmware version information.

3. The method for upgrading the server management system according to claim 2, wherein: The server information includes a list of server models and server machine serial numbers; The matching the current server according to the server information includes: Matching the model of the current server with the server model, and if the model of the current server is consistent with the server model, determining each machine serial number corresponding to the server model from the server machine serial number list; The machine serial number of the current server is matched with each of the machine serial numbers determined from the server machine serial number list. If there is a machine serial number that is consistent with the machine serial number of the current server among the machine serial numbers determined from the server machine serial number list, the match is successful.

4. The method for upgrading the server management system according to claim 2, wherein: The header information also includes version offset addresses of different firmware; and the method further includes: A firmware upgrade package corresponding to each of the firmware to be upgraded is determined from the firmware version upgrade file package according to the version offset addresses of the different firmwares.

5. The method for upgrading the server management system according to claim 4, characterized in that: The step of performing parallel upgrading of the versions of the parallel-upgraded firmware and serial upgrading of the versions of the serial-upgraded firmware according to the firmware version upgrade file package in combination with the resource usage of the current server includes: Parallel upgrading of the versions of the parallel upgraded firmwares according to the firmware upgrade packages corresponding to each parallel upgraded firmware and the resource usage of the current server; The versions of the serial upgrade firmware are serially upgraded in sequence according to the firmware upgrade package corresponding to each serial upgrade firmware and the resource usage of the current server.

6. The method for upgrading a server management system according to any one of claims 1 to 5, characterized in that: The step of performing parallel upgrading of the versions of the parallel-upgraded firmware and serial upgrading of the versions of the serial-upgraded firmware according to the firmware version upgrade file package in combination with the resource usage of the current server includes: Obtaining a current resource usage rate of a baseboard management controller in the current server; Determine the load level and the number of firmware to be upgraded corresponding to the load level according to the current resource usage rate; Determining the current upgrade firmware from the remaining parallel upgrade firmware and the serial upgrade firmware according to the number of firmware to be upgraded and the firmware upgrade priority; The current upgrade firmware is upgraded accordingly according to the firmware upgrade package corresponding to the current upgrade firmware in the firmware version upgrade file package.

7. The method for upgrading the server management system according to claim 6, characterized in that: The step of determining the current upgrade firmware from the currently remaining parallel upgrade firmware and the serial upgrade firmware according to the number of firmwares being upgraded and the firmware upgrade priority includes: When the number of firmware to be upgraded this time is greater than or equal to 2 and less than the total number of firmware to be upgraded in parallel, determining the current upgrade firmware that matches the number of firmware to be upgraded this time from the currently remaining firmware to be upgraded in parallel according to the firmware upgrade priority; In the case that the number of firmwares being upgraded this time is greater than or equal to the total number of firmwares being upgraded in parallel, all the remaining firmwares being upgraded in parallel are used as the current firmwares being upgraded; When the number of firmware to be upgraded this time is 1, the current upgraded firmware is determined from the remaining parallel upgraded firmware and the serial upgraded firmware according to the firmware upgrade priority.

8. The method for upgrading the server management system according to claim 6, wherein: The determining of the load level and the number of firmware to be upgraded corresponding to the load level according to the current resource usage rate includes: The current resource usage rate is less than a first preset value, the load level is level 0, and the number of firmware to be upgraded this time is a maximum preset threshold; The current resource usage rate is greater than the first preset value and less than or equal to the second preset value, the load level is level 1, and the number of firmware upgraded this time is greater than the minimum preset threshold and less than the maximum preset threshold; The current resource usage rate is greater than the second preset value and less than or equal to the third preset value, the load level is level 2, and the number of firmware to be upgraded is the minimum preset threshold; The current resource usage rate is greater than the third preset value, the load level is level 3, and the number of firmware to be upgraded is 0; wherein: The first preset value is smaller than the second preset value and smaller than the third preset value, and the maximum preset threshold is larger than the minimum preset threshold.

9. The method for upgrading the server management system according to claim 6, wherein: After determining the firmware to be upgraded in the current server according to the server version upgrade request, the method further includes: Back up the firmware packages corresponding to the current versions of the firmware to be upgraded.

10. The method for upgrading the server management system according to claim 9, characterized in that: Also includes: In the event that the current upgrade firmware fails to be upgraded, restoring the version of the current upgrade firmware according to the backed-up firmware package corresponding to the current upgrade firmware; Alternatively, in the event that the upgraded firmware fails, the version of the failed firmware is restored according to the backed-up firmware package corresponding to the failed firmware.

11. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method for upgrading the server management system according to any one of claims 1 to 10 are implemented.

12. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the method for upgrading the server management system according to any one of claims 1 to 10 when executing the computer program.

13. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method for upgrading the server management system according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Firmware upgrading method and device

    CN116841585A