Upgrading method of server management system, product, equipment and medium

By distinguishing between parallel and serial upgrade firmware and performing parallel or serial upgrades according to resource usage, the problem of low server version upgrade efficiency is solved, achieving a more efficient upgrade process and a better user experience.

CN120010890AActive Publication Date: 2025-05-16INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
CN202510496633.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-21
Publication Date
2025-05-16
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 the operation of server services and reduces user experience.

Method used

By obtaining the server version upgrade request sent by the client, determine the firmware to be upgraded in the current server, and distinguish between parallel upgrade firmware and serial upgrade firmware. According to the firmware version upgrade file package and the current server resource usage, parallel upgrade firmware is upgraded in parallel and serial upgrade firmware is upgraded in serial.

Benefits of technology

It improves the efficiency of server version upgrade, shortens the upgrade time, reduces the impact on server business operation, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120010890A_ABST
    Figure CN120010890A_ABST
Patent Text Reader

Abstract

The invention discloses an upgrading method of a server management system, a product, equipment and a medium, and relates to the technical field of computers, a server version upgrading request sent by a client is acquired, each piece of firmware to be upgraded in a current server is determined according to the server version upgrading request, and the firmware to be upgraded is upgraded according to the determined firmware to be upgraded. Determining each parallel upgrading firmware capable of being upgraded in parallel and each serial upgrading firmware capable of being upgraded in serial from each firmware to be upgraded, and performing parallel upgrading on the version of each parallel upgrading firmware according to a firmware version upgrading file package in the server version upgrading request in combination with the resource use condition of the current server. And performing serial upgrading on the version of each serial upgrading firmware. According to the method, parallel upgrading can be carried out on the multiple parallel upgrading firmware in the server, the problems that upgrading efficiency is low, time is long, server service operation is affected and user experience is reduced are solved, server version upgrading efficiency is improved, upgrading time is shortened, normal service operation is guaranteed, and user experience is improved.
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 a server management system, as software functions are continuously updated and improved, the server needs to be upgraded to obtain better performance and functions. In the server upgrade method in the related art, only one firmware version can be upgraded at a time, that is, the firmware of the server is upgraded serially, which has low upgrade efficiency and long upgrade time, resulting in long service interruption time, affecting the operation of server services and reducing the user experience.

[0003] In view of this, how to improve the version upgrade efficiency of the server, shorten the upgrade time, effectively ensure the normal operation of the business, and improve the 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, a computer program product, an electronic device and a 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] The present application provides a method for upgrading a server management system, comprising: Obtaining a server version upgrade request sent by a 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; Determine each parallel upgrade firmware and each serial upgrade firmware from each 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.

[0006] The present application also provides an upgrade device for a server management system, comprising: 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; A first determination module, used to determine each firmware to be upgraded in the current server according to the server version upgrade request; A second determination module is used to determine each parallel upgrade firmware and each serial upgrade firmware from each firmware to be upgraded; The upgrade module is used to perform parallel upgrades on the versions of various parallel upgrade firmwares and serial upgrades on the versions of various serial upgrade firmwares according to the firmware version upgrade file package and the resource usage of the current server.

[0007] 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.

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

[0009] 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.

[0010] It can be seen from the above technical solution that the beneficial effects of the present invention are: 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 firmwares to be upgraded in the current server according to the server version upgrade request, and then determines the various parallel upgrade firmwares that can be upgraded in parallel and the various serial upgrade firmwares that cannot be upgraded in parallel from the various firmwares 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 firmwares 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

[0011] 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 paying any creative work.

[0012] Figure 1 A flow chart of a method for upgrading a server management system provided in an embodiment of the present application; Figure 2A schematic diagram of the connection relationship between a firmware and a baseboard management controller provided in an embodiment of the present application; Figure 3 A schematic diagram of the structure of an upgrade scheduling module provided in an embodiment of the present application; Figure 4 A schematic diagram of an upgrade structure of a server management system provided in an embodiment of the present application; Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application; Figure 6 A schematic diagram of the structure of a computer-readable storage medium provided in an embodiment of the present application. DETAILED DESCRIPTION

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

[0014] It should be noted that, in the description of this application, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes 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 specific order or sequence.

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

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

[0017] 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 flow of the method for upgrading a server management system. Figure 1 , the method includes the following S110 to S140.

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

[0019] It should be noted that the method in the present application can be applied to the BMC (Baseboard Management Controller) in the server. When the user needs to upgrade the version of the server, the server version upgrade request can be input 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. Among them, the server version upgrade request may include a firmware version upgrade file package, and the firmware version upgrade file package includes the upgrade packages 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.

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

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

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

[0023] Some of the firmware to be upgraded will not conflict during the upgrade process, so these firmware to be upgraded can be upgraded in parallel at the same time, and some of the firmware to be upgraded will conflict during the upgrade process, so these firmware to be upgraded cannot be upgraded at the same time. Among the firmware to be upgraded, the firmware to be upgraded that can be upgraded in parallel without conflict is determined as parallel upgrade firmware, and the firmware that cannot be upgraded at the same time is determined as serial upgrade firmware. That is, it is determined which firmware can be upgraded in parallel with each other and which firmware needs to be upgraded serially with each other.

[0024] 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 resource usage of the current server.

[0025] After determining the parallel upgrade firmwares that can be upgraded in parallel and the serial upgrade firmwares that need to be upgraded in series, the versions of the parallel upgrade firmwares can be upgraded in parallel according to the firmware packages corresponding to each parallel upgrade firmware in the acquired firmware version upgrade file package combined with the resource usage of the current server, and the versions of the serial upgrade firmwares can be upgraded in series 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 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.

[0026] In one implementation, the process of determining each firmware to be upgraded in the current server according to the server version upgrade request in S120 may include: Get the header information of the firmware version upgrade file package; the header information includes server information and each firmware version information; Match the current server according to the server information; 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; Determine each firmware to be upgraded whose current version information is inconsistent with the firmware version information.

[0027] It can be understood 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 that the user wants to upgrade is the current server. If the match is successful, it means that the current server is the server that 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 System Control Manager) CPLD firmware, BP (Backplane Board) The new version numbers corresponding to the CPLD firmware and the fan board CPLD firmware respectively can be used to obtain the current version numbers corresponding to these firmwares in the server, and then compare the current version number with the version number of the corresponding firmware in the firmware version information. If the two are consistent, it means that the firmware in the server does not need to be upgraded. If the two are inconsistent, it means that the firmware in the server needs to be upgraded, and the firmware is used as the firmware to be upgraded. In this way, the various firmware to be upgraded in the current server are determined.

[0028] In one embodiment, the server information in the present application may include a server model and a server machine serial number list; 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 (Serial Number, SN) list.

[0029] Then, the above process of matching the current server according to the server information may include: Match the current server model with the server model, and 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; 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 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.

[0030] 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 each serial number 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.

[0031] In one implementation, the header information of the firmware version upgrade file package in the present application may also include the version offset addresses of different firmwares; the method may also include: 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.

[0032] It should be noted that in order to accurately obtain the firmware upgrade packages 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 according to the version offset address.

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

[0034] In one implementation, the process of determining each parallel upgrade firmware and each serial upgrade firmware from each firmware to be upgraded in S130 may include: According to the logical connection relationship between each firmware to be upgraded and the baseboard management controller, each parallel upgrade firmware and each serial upgrade firmware are determined.

[0035] It should be noted that in the embodiment of the present application, it is possible to determine which firmwares to be upgraded are parallel upgrade firmwares that can be upgraded in parallel, and which firmwares to be upgraded are serial upgrade firmwares 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, each parallel upgrade firmware and each serial upgrade firmware can be determined from each firmware to be upgraded based on the logical connection relationship between each firmware to be upgraded and the baseboard management controller.

[0036] Furthermore, the process of determining each parallel upgrade firmware and each serial upgrade firmware according to the logical connection relationship between each firmware to be upgraded and the baseboard management controller may include: For the non-serial communication protocol controller components 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; Treat each firmware to be upgraded connected to the same non-serial communication protocol controller component as a serial upgrade firmware; 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; Using each firmware to be upgraded connected to the serial communication protocol controller component via the same bus as the serial upgrade firmware; 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.

[0037] 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, for example, SPI (Serial Peripheral Interface) controller components, JTAG (Joint Test Action Group) controller components, etc.

[0038] 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 In J1, it can be seen that 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 parallel upgrade firmware. JTAG0 and JTAG1 provide upgrade drivers for MB CPLD and SCMCPLD respectively. If there are two or more firmwares to be upgraded connected to the same non-serial communication protocol controller component, for example, for the flash memory on the BMC, the upper BMC flash memory is hung 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 In S0), it can be determined that the firmware BMC1 and BMC2 are in series to upgrade the firmware. 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 SPI 1) is connected to the same SPI 1 ( Figure 2 In the S1 in the figure), 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 BMC1 and BMC2 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.

[0039] 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 the figure is connected to the I2C controller component through bus1 (b1). Since the fan board CPLD and BP CPLD are connected to the I2C controller component through different buses, the fan board CPLD and BP CPLD can be upgraded in parallel, so the fan board CPLD and BP CPLD upgrade their firmware in parallel. In addition, if there are two or more firmwares to be upgraded connected to the I2C controller component through the same bus, any firmware to be upgraded under each bus and any firmware to be upgraded under other buses upgrade their firmware in parallel, and the firmwares to be upgraded connected to the I2C controller component through the same bus upgrade their firmware in series.

[0040] 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 other firmware to be upgraded connected to different non-serial communication protocol controller components are also upgraded in parallel with each other.

[0041] 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 in combination with the resource usage of the current server may include: Get the current resource usage of the 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; According to the number of firmwares to be upgraded and the firmware upgrade priority, the current upgrade firmware is determined from the currently remaining parallel upgrade firmwares and serial upgrade firmwares; 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.

[0042] It should be noted that in order to ensure the normal operation of the server business and maintain the stability of the server, 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. to obtain the current resource utilization rate of the BMC. In the present application, the mapping relationship between the resource utilization rate and the load level can be pre-set, and the mapping relationship between the 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 the resource utilization rate and the load level, and the mapping relationship between the load level and the number of upgraded firmware. Then, the current upgrade firmware is further determined from the remaining firmware to be upgraded according to the number of firmwares to be upgraded this time 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, in the case that the current upgrade firmware is multiple parallel upgrade firmwares that can be upgraded in parallel, the versions of each current upgrade firmware are upgraded in parallel, and in the case that the current upgrade firmware is only one, the current upgrade firmware is upgraded separately.

[0043] Among them, the header information of the firmware version upgrade file package in the present application may also include a firmware upgrade priority, which can be customized by the user, that is, the user specifies the priority of each firmware upgrade, and the firmware upgrade priority is attached to the header information of the firmware version upgrade file package, and sent to the server through the server version upgrade request sent by the client. In addition, the server side can also preset the default priority of 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 priority of the firmware upgrade preset in the server can be obtained, and the default priority of the firmware upgrade can be used as the firmware upgrade priority for the subsequent selection of the current upgrade firmware, so as to better ensure the efficiency of the firmware upgrade, which is conducive to higher stability of business operation. Among them, the priority of MB CPLD and SCM CPLD can be higher than the priority of fan version CPLD and BP CPLD.

[0044] In one embodiment, the current upgrade firmware is determined from the currently remaining parallel upgrade firmware and the serial upgrade firmware according to the number of firmwares to be upgraded and the firmware upgrade priority, including: When the number of firmwares to be upgraded this time is greater than or equal to 2 and less than the total number of firmwares to be upgraded in parallel, the current upgrade firmwares that are consistent with the number of firmwares to be upgraded this time are determined from the remaining firmwares to be upgraded in parallel according to the firmware upgrade priority; If the number of firmwares to be upgraded this time is greater than or equal to the total number of firmwares to be upgraded in parallel, all remaining firmwares to be upgraded in parallel will be used as the current firmware to be upgraded; When the number of firmware to be upgraded this time is 1, the current upgraded firmware is determined from the currently remaining parallel upgraded firmware and serial upgraded firmware according to the firmware upgrade priority.

[0045] 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 parallel upgraded firmware, 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 each current upgrade firmware in parallel according to the firmware upgrade packages corresponding to each current upgrade firmware in the firmware version upgrade file package.

[0046] When the number of firmware to be upgraded this time is greater than or equal to the number of firmware to be upgraded in parallel, all the remaining firmware to be 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.

[0047] 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.

[0048] In one implementation, the process of determining the load level and the number of firmware upgrades corresponding to the load level according to the current resource usage rate may include: The current resource usage rate is less than the first preset value, the load level is level 0, and the number of firmware to be upgraded this time is the 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 to be 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 this time 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 this time is 0; among which: 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.

[0049] It can be understood that in this application, when the current resource utilization rate is less than the first preset value (for example, 70%), the corresponding load level is level 0, indicating that the remaining resources of the BMC are relatively sufficient, and the maximum preset threshold (for example, 6) of the number of firmware that can be upgraded in parallel (that is, the concurrent number) can be pre-set in a single upgrade, and when the load level is determined to be level 0, the number of firmware upgraded this time is determined to be the maximum preset threshold. When it is determined that the current resource utilization rate is greater than the first preset value and less than the second preset value (for example, 85%), the load level is determined to be level 1. At this time, in order to ensure the normal operation of the business, the number of firmware upgraded this time is less than the maximum preset threshold, for example, it can be half of the maximum preset threshold, so that the firmware version upgrade efficiency can be improved while ensuring the normal operation of the business. When it is determined that the current resource utilization rate is greater than the second preset threshold and less than or equal to the third preset value (for example, 95%), the corresponding load level is level 2, indicating that there are only a few remaining resources. In order to ensure the normal operation of the business, the corresponding number of firmware upgraded this time can be determined to be the minimum preset threshold (for example, 1). When it is determined that the current resource usage is greater than the third preset value and the load level is level 3, it means that the resource usage has reached the maximum limit and the firmware upgrade task cannot be performed. The corresponding firmware quantity for this upgrade is determined to be 0, that is, the firmware version upgrade task will not be performed this time. After a preset interval, the above-mentioned step of obtaining the current resource usage of the baseboard management controller can be re-executed to start the next upgrade confirmation, and determine the new current resource usage and the new firmware quantity for this upgrade. According to the new firmware quantity for this upgrade 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.

[0050] 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 through the resource allocation module according to 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.

[0051] 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: Back up the firmware packages corresponding to the current versions of the firmware to be upgraded.

[0052] 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.

[0053] 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 version of the current firmware upgrade can be restored according to the backed up firmware package corresponding to the current firmware upgrade.

[0054] Alternatively, during the use of the firmware after the upgrade is completed, the status of each firmware can be monitored regularly. When it is determined that the upgraded firmware has a fault, the version of the faulty firmware can be restored according to the backed-up firmware package corresponding to the faulty firmware.

[0055] Or, during the use of the server, if a system crash is detected, each firmware version can be restored according to the backed up firmware packages corresponding to the last upgraded firmware, and quickly restored to the previous version to restore the server system to normal operation and reduce the impact on the business.

[0056] Of course, in actual applications, a rollback mechanism can also be set up to be triggered by manual commands. For example, a user can input the specified rollback firmware information through an IPMI (Intelligent Platform Management Interface) command, and the server obtains the backed-up firmware package corresponding to the firmware information according to the firmware information specified in the IPMI command, and then restores the firmware version according to the firmware package, so that when the system cannot restore the firmware version, the firmware version can be restored by manually inputting instructions, thereby improving the reliability of the system.

[0057] It should also be noted that in actual applications, a first alarm can be issued when an abnormality is detected during the upgrade process (for example, an abnormality in the upgrade progress (such as the current step, completion percentage)), or when the upgrade fails (such as firmware verification failure, write failure). Or the device status is monitored, and a second alarm can be issued when the device status is abnormal. Or a corresponding alarm can be issued when an abnormal increase in the BMC controller usage rate or an overly high temperature of a system component is detected. Or a corresponding alarm mechanism can be triggered when resource usage, temperature, voltage, current, etc. are detected to exceed the corresponding threshold. Or, a corresponding alarm can be issued when a network interruption or power interruption is detected. This allows staff to promptly discover abnormalities in the equipment and perform operations and maintenance in a timely manner to better ensure the normal operation of server services.

[0058] 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 power, power supply stability, etc.), and device resources (such as insufficient memory, insufficient storage space).

[0059] It can be seen that in 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.

[0060] 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 a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method.

[0061] The embodiment of the present application also provides an upgrade device for a server management system, please refer to Figure 4 The device comprises: 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; A first determining module 12, configured to determine each firmware to be upgraded in the current server according to the server version upgrade request; The second determination module 13 is used to determine each parallel upgrade firmware and each serial upgrade firmware from each firmware to be upgraded; The upgrade module 14 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.

[0062] In one implementation, the first determining module 12 includes: The first acquisition unit is used to acquire the header information of the firmware version upgrade file package; the header information includes server information and each firmware version information; A matching unit, used for matching the current server according to the server information; A comparison 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 when the match is successful; The first determining unit is used to determine each firmware to be upgraded whose current version information is inconsistent with the firmware version information.

[0063] In one embodiment, the server information includes a list of server machine models and server machine serial numbers; Matching unit, comprising: A first matching subunit is used to match the model of the current server with the model of the server, and when the model of the current server is consistent with the model of the server, determine each machine serial number corresponding to the server model from the server machine serial number list; 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 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.

[0064] In one embodiment, the header information further includes version offset addresses of different firmware; the device further includes: The third determining module is used to determine the firmware upgrade packages corresponding to each firmware to be upgraded from the firmware version upgrade file package according to the version offset addresses of different firmware.

[0065] In one embodiment, the upgrade module 14 includes: A first upgrading unit, configured to upgrade the versions of the parallel upgrading firmware in parallel according to the firmware upgrading packages respectively corresponding to each parallel upgrading firmware and in combination with the resource usage of the current server; The second upgrade unit is used to sequentially upgrade the versions of the serial upgrade firmware according to the firmware upgrade packages corresponding to each serial upgrade firmware and the resource usage of the current server.

[0066] In one implementation, the second determining module 13 is configured to: According to the logical connection relationship between each firmware to be upgraded and the baseboard management controller, each parallel upgrade firmware and each serial upgrade firmware are determined.

[0067] In one implementation, the second determining module 13 includes: A second determining unit is used for, 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, taking each firmware to be upgraded connected to each different non-serial communication protocol controller component as the parallel upgrade firmware; A third determining unit is used to use each firmware to be upgraded connected to the same non-serial communication protocol controller component as a serial upgrade firmware; A fourth determining unit is used for, for the serial communication protocol controller component on the baseboard management controller, using each firmware to be upgraded that is connected to the serial communication protocol controller component through different buses as a parallel upgrade firmware; 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; 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.

[0068] In one embodiment, the upgrade module 14 includes: A second acquisition unit, used to acquire a current resource usage rate of a baseboard management controller in a current server; A sixth determining unit, configured to determine a load level and a number of firmware to be upgraded corresponding to the load level according to the current resource usage rate; A seventh determination 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; The third upgrading unit is used to upgrade the current upgrading firmware accordingly according to the firmware upgrading package corresponding to the current upgrading firmware in the firmware version upgrading file package.

[0069] In one implementation, the seventh determining unit includes: an eighth determining unit, configured to determine, when the number of firmwares to be upgraded this time is greater than or equal to 2 and less than the total number of firmwares to be upgraded in parallel, the current upgraded firmwares that are consistent with the number of firmwares to be upgraded this time from the currently remaining firmwares to be upgraded in parallel according to the firmware upgrade priority; A ninth determining unit, configured to use all currently remaining parallel upgrade firmware as current upgrade firmware when the number of firmware to be upgraded this time is greater than or equal to the total number of firmware to be upgraded in parallel; The tenth determining unit is configured to determine the current upgrading firmware from the currently remaining parallel upgrading firmware and the serial upgrading firmware according to the firmware upgrading priority when the number of the currently upgraded firmware is 1.

[0070] In one implementation, the sixth determining unit includes: 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; A twelfth determining unit, configured to: a current resource usage rate greater than a first preset value and less than or equal to a second preset value, a load level of level 1, and a number of firmware upgrades greater than a minimum preset threshold and less than a maximum preset threshold; A thirteenth determining unit, configured to: a current resource usage rate is greater than a second preset value and less than or equal to a third preset value, a load level is level 2, and the number of firmware to be upgraded this time is a minimum preset threshold; The fourteenth determining unit is used for the current resource usage rate being greater than the third preset value, the load level being level 3, and the number of firmware to be upgraded this time being 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.

[0071] In one embodiment, it further includes: The backup module is used to back up the firmware packages corresponding to the current versions of the firmware to be upgraded.

[0072] In one embodiment, it further includes: A recovery module, 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; Or, 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.

[0073] 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.

[0074] Please refer to Figure 5An embodiment of the present application further 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.

[0075] Please refer to Figure 6 An embodiment of the present application further provides a computer-readable storage medium, in which a computer program 31 is stored, 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.

[0076] 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.

[0077] 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.

[0078] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, the non-volatile computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, implementing the steps in any of the above-mentioned server management system upgrade method embodiments.

[0079] 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 composition and steps of each example have been generally described in the above description according to function. 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 to be beyond the scope of this application.

[0080] The above is a detailed introduction to a server management system upgrade method, computer program product, electronic device and computer-readable storage medium 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; Determine 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 resource usage of the current server, each parallel upgrade firmware version is upgraded in parallel, and each serial upgrade firmware version is upgraded 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, characterized in that: 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 machine model of the current server with the machine model of the server, and if the machine model of the current server is consistent with the machine model of the server, determining each machine serial number corresponding to the machine 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, characterized in that: The header information also includes version offset addresses of different firmware; the method also includes: According to the version offset addresses of the different firmwares, a firmware upgrade package corresponding to each of the firmware to be upgraded is determined from the firmware version upgrade file package.

5. The method for upgrading the server management system according to claim 4, characterized in that: The method of performing parallel upgrading of each parallel upgraded firmware version according to the firmware version upgrade file package and combining the resource usage of the current server, and performing serial upgrading of each serial upgraded firmware version, includes: Parallel upgrading of the versions of each parallel upgrade firmware according to the firmware upgrade package corresponding to each parallel upgrade 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 packages respectively corresponding to each serial upgrade firmware and the resource usage of the current server.

6. The method for upgrading the server management system according to claim 1, characterized in that: The step of determining each parallel upgrade firmware and each serial upgrade firmware from each firmware to be upgraded includes: According to the logical connection relationship between each firmware to be upgraded and the baseboard management controller, each parallel upgrade firmware and each serial upgrade firmware are determined.

7. The method for upgrading the server management system according to claim 6, characterized in that: The step of determining each parallel upgrade firmware and each serial upgrade firmware according to the logical connection relationship between each firmware to be upgraded and the baseboard management controller includes: For the non-serial communication protocol controller components 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; Treat each firmware to be upgraded connected to the same non-serial communication protocol controller component as a serial upgrade firmware; 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; Using each firmware to be upgraded connected to the serial communication protocol controller component via the same bus as the serial upgrade firmware; 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.

8. The method for upgrading a server management system according to any one of claims 1 to 7, characterized in that: The method of performing parallel upgrading of each parallel upgraded firmware version according to the firmware version upgrade file package and combining the resource usage of the current server, and performing serial upgrading of each serial upgraded firmware version, 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; Determine the current upgrade firmware from the currently remaining parallel upgrade firmware and the serial upgrade firmware according to the number of firmwares being upgraded this time 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.

9. The method for upgrading the server management system according to claim 8, 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 the currently upgraded firmware and the firmware upgrade priority includes: When the number of firmwares to be upgraded this time is greater than or equal to 2 and less than the total number of firmwares to be upgraded in parallel, determine the current upgrade firmwares that are consistent with the number of firmwares to be upgraded this time from the currently remaining firmwares to be upgraded in parallel according to the firmware upgrade priority; When the number of firmwares to be upgraded this time is greater than or equal to the total number of firmwares to be upgraded in parallel, all the remaining firmwares to be upgraded in parallel are used as the current firmwares to be upgraded; When the number of firmware to be upgraded this time is 1, the current upgrade firmware is determined from the remaining parallel upgrade firmware and the serial upgrade firmware according to the firmware upgrade priority.

10. The method for upgrading the server management system according to claim 8, characterized in that: The determining 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 the first preset value, the load level is level 0, and the number of firmware to be upgraded this time is the 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 upgraded this time 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 this time 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.

11. The method for upgrading the server management system according to claim 8, characterized in that: 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.

12. The method for upgrading the server management system according to claim 11, characterized in that: Also includes: In the case 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; Or, 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.

13. 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 12 are implemented.

14. 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 12 when executing the computer program.

15. 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 12.

Citation Information

Patent Citations

  • Firmware upgrading method and system, storage medium and equipment

    CN113918197A

  • BMC firmware upgrading method and device and storage medium

    CN116541039A

  • Server firmware version monitoring method and device, electronic equipment and storage medium

    CN116680148A

  • Server upgrading method and device based on cluster awareness

    CN116700761A

  • Firmware version upgrading method and device

    CN116760815A

Cited By

  • Initialized firmware upgrading method and device, controller and storage medium

    CN120371365A