Firmware upgrading method and computing equipment
By filtering the appropriate first firmware package among multiple firmware packages and generating a firmware upgrade process, the problem of frequent restart and upgrade failure of the equipment to be upgraded during the firmware upgrade process is solved, and the success rate and efficiency of firmware upgrades are improved.
Patent Information
- Application Number
- CN202411965036.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-04-18
AI Technical Summary
The prior art causes the equipment to be upgraded to be frequently restarted during the firmware upgrade process, and the upgrade failure rate is high, resulting in low firmware upgrade efficiency.
By filtering out the appropriate first firmware packages from multiple firmware packages and generating a firmware upgrade process based on the configuration information, the equipment to be upgraded is controlled to perform firmware upgrade processing in the optimal upgrade order.
Reduces the number of restarts of the equipment to be upgraded during the firmware upgrade process, and improves the success rate and efficiency of firmware upgrades.
Smart Images

Figure CN119847565A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the technical field of computing devices, and more particularly to a firmware upgrade method and a computing device. Background Art
[0002] During the equipment operation and maintenance process, the firmware in the device to be upgraded needs to be upgraded to ensure the hardware performance, security and reliability of the device to be upgraded during operation. For example, the device to be upgraded may be a server.
[0003] In the related art, a user can pre-customize a memory boot system image and a customized task image corresponding to the firmware. During the firmware upgrade process, the baseboard management controller in the device to be upgraded can be controlled to load the customized memory boot system image on the device to be upgraded, so that the device to be upgraded can enter the target operating system and execute the customized task image under the target operating system to implement the upgrade processing of each firmware in the device to be upgraded.
[0004] However, in the process of firmware upgrade using this method, the device to be upgraded needs to be frequently restarted, and the firmware upgrade failure is prone to occur, resulting in low firmware upgrade efficiency of the device to be upgraded. Summary of the invention
[0005] The embodiments of the present application provide a firmware upgrade method and a computing device, which are beneficial to improving the firmware upgrade efficiency of the device to be upgraded.
[0006] In a first aspect, an embodiment of the present application provides a firmware upgrade method, the method comprising:
[0007] Determine, among the multiple firmware packages, multiple first firmware packages corresponding to the multiple firmware in the device to be upgraded;
[0008] Determine, according to the upgrade information of the multiple firmware in the configuration information, the firmware upgrade process corresponding to the multiple first firmware packages, the configuration information includes the upgrade information of the multiple preset firmware, the multiple preset firmware includes the multiple firmware;
[0009] According to the firmware upgrade process and the multiple first firmware packages, a firmware upgrade process is performed on the device to be upgraded.
[0010] In the above technical scheme, multiple first firmware packages that are compatible with multiple firmware of the device to be upgraded can be screened out from multiple firmware packages to avoid the phenomenon that the firmware upgrade fails during the firmware upgrade process of the device to be upgraded due to the mismatch between the firmware package and the firmware; the corresponding firmware upgrade process can be flexibly configured for the device to be upgraded based on the configuration information, so as to control the firmware upgrade process of multiple firmware in the device to be upgraded through the firmware upgrade process, so as to reduce or avoid the situation that each device to be upgraded is restarted multiple times during the firmware upgrade, resulting in a long firmware upgrade time or firmware upgrade failure, which is beneficial to improving the success rate of the firmware upgrade, and further beneficial to improving the firmware upgrade efficiency of the device to be upgraded.
[0011] In a possible implementation, determining firmware upgrade processes corresponding to multiple first firmware packages according to upgrade information of multiple firmware in configuration information includes:
[0012] Determining an optimal upgrade sequence of the plurality of first firmware packages according to the upgrade information of the plurality of firmware in the configuration information;
[0013] A firmware upgrade process is generated according to the optimal upgrade sequence and the plurality of first firmware packages.
[0014] In the above technical scheme, based on the upgrade information of multiple firmware in the configuration information, the optimal upgrade order of multiple first firmware packages can be quickly determined, and a firmware upgrade process can be generated based on the optimal upgrade order and multiple first firmware packages, so as to better guide the firmware upgrade processing process of the device to be upgraded based on the firmware upgrade process, so as to reduce or avoid the situation where the device to be upgraded needs to be repeatedly restarted or the upgrade fails when upgrading multiple firmware due to unreasonable upgrade order, which is beneficial to shorten the upgrade processing time of multiple firmwares, improve the upgrade success rate of each firmware during firmware upgrade processing, and thus help to improve the firmware upgrade efficiency of the device to be upgraded.
[0015] In a possible implementation, a firmware upgrade process is generated according to the optimal upgrade sequence and the plurality of first firmware packages, including:
[0016] Determine the upgrade environment information of each firmware according to the upgrade information of each firmware in the configuration information;
[0017] A firmware upgrade process is generated according to the optimal upgrade sequence, the upgrade environment information of each firmware package, and the plurality of first firmware packages.
[0018] In the above technical scheme, a firmware upgrade process with richer information can be generated by combining the optimal upgrade sequence, the upgrade environment information of each firmware package and multiple first firmware packages, so that the firmware upgrade processing process of the device to be upgraded can be better guided based on the rich firmware upgrade process, so as to reduce or avoid the situation where the device to be upgraded needs to be repeatedly restarted or the upgrade fails when upgrading multiple firmwares due to an unreasonable upgrade sequence, which is beneficial to shorten the upgrade processing time of multiple firmwares, improve the upgrade success rate of each firmware during the firmware upgrade process, and thus help to improve the firmware upgrade efficiency of the device to be upgraded.
[0019] In a possible implementation, determining, from among multiple firmware packages, multiple first firmware packages corresponding to multiple firmware in the device to be upgraded includes:
[0020] Obtain first device information of the device to be upgraded;
[0021] Obtaining second device information corresponding to each firmware package;
[0022] A plurality of first firmware packages are determined from the plurality of firmware packages according to the first device information and the second device information corresponding to each firmware package.
[0023] In the above technical scheme, multiple first firmware packages can be screened and processed through device information to quickly determine multiple first firmware packages that are adapted to the device to be upgraded among the multiple firmware packages, thereby improving the matching efficiency between the device to be upgraded and the multiple first firmware packages, and further facilitating improving the firmware upgrade efficiency of the device to be upgraded.
[0024] In a possible implementation, determining multiple first firmware packages from multiple firmware packages according to the first device information and the second device information corresponding to each firmware package includes:
[0025] Determine a plurality of second firmware packages from the plurality of firmware packages according to the first device information and the second device information corresponding to each firmware package, wherein the second device information corresponding to the second firmware packages is the same as the first device information;
[0026] Obtaining first firmware information of each firmware in the device to be upgraded and second firmware information corresponding to each second firmware package;
[0027] According to the first firmware information of each firmware and the second firmware information corresponding to each second firmware package, a plurality of first firmware packages are determined in the plurality of second firmware packages.
[0028] In the above technical scheme, multiple second firmware packages that meet the matching requirements can be preliminarily screened out from multiple firmware packages through the first device information of the device to be upgraded and the second device information of each firmware package, and then the multiple second firmware packages are further fine-screened based on the first firmware information of each firmware in the device to be upgraded and the second firmware information of each second firmware package, so as to more accurately match the multiple first firmware packages adapted to the firmware in the device to be upgraded, which is conducive to improving the accuracy of matching of the multiple first firmware packages; and, the screening process is performed by grading, which is conducive to reducing the number of matches of firmware packages during fine screening and reducing resource consumption during fine screening of the device to be upgraded.
[0029] In a possible implementation, the method further includes:
[0030] Obtain multiple historical firmware upgrade data of multiple historical upgrade devices;
[0031] Generate configuration information based on multiple historical firmware upgrade data.
[0032] In the above technical solution, configuration information can be generated based on multiple historical firmware upgrade data, so as to quickly configure an adaptive firmware upgrade process for the device to be upgraded based on the configuration information, which is conducive to saving the matching time of the firmware upgrade process and improving the firmware upgrade efficiency of the device to be upgraded.
[0033] In a possible implementation, generating the configuration information according to a plurality of historical firmware upgrade data includes:
[0034] Determine, according to the plurality of historical firmware upgrade data, the association relationship between the plurality of preset firmwares during the firmware upgrade process, and the upgrade environment information of each preset firmware;
[0035] Determine the optimal sequence of the multiple preset firmwares in the firmware upgrade process according to the association relationship and the upgrade environment information of each preset firmware;
[0036] The configuration information is generated according to the optimal sequence, or the configuration information is generated according to the optimal sequence and the upgrade environment information of each preset firmware.
[0037] In the above technical scheme, based on multiple historical firmware upgrade data, the association relationship between multiple preset firmware during the firmware upgrade process and the upgrade environment information of each preset firmware can be determined, and the optimal order of multiple preset firmware can be comprehensively determined in combination with the association relationship and the upgrade environment information of each preset firmware, which is conducive to improving the accuracy of determining the optimal order, and further conducive to improving the accuracy of configuration information generated based on the optimal order.
[0038] In a possible implementation, the upgrade environment information includes a device status of a device to be upgraded during a firmware upgrade process, and / or a firmware upgrade type.
[0039] In the above technical scheme, the device status and / or firmware upgrade type of the device to be upgraded during the firmware upgrade process can be indicated based on the upgrade environment information, so as to provide a more suitable environment for the firmware upgrade process of the device to be upgraded based on the upgrade environment information, reduce or avoid the occurrence of firmware upgrade failures of the device to be upgraded, and help improve the firmware upgrade efficiency of the device to be upgraded.
[0040] In a possible implementation, according to the firmware upgrade process and the plurality of first firmware packages, performing firmware upgrade processing on the device to be upgraded includes:
[0041] According to the multiple first firmware packages, the device to be upgraded is controlled to perform firmware upgrade processing on the multiple firmware according to the optimal upgrade sequence of the multiple first firmware packages in the firmware upgrade process.
[0042] In the above technical scheme, the optimal upgrade order of multiple first firmware packages is indicated through the firmware upgrade process, and the device to be upgraded is controlled to perform firmware upgrade processing on multiple firmware according to the optimal upgrade order, so as to reduce or avoid the situation where the device to be upgraded needs to be repeatedly restarted or the firmware upgrade fails when upgrading multiple firmware due to an unreasonable upgrade order, which is conducive to shortening the upgrade processing time of multiple firmwares and improving the firmware upgrade efficiency.
[0043] In a possible implementation, the method further includes:
[0044] Send multiple historical firmware upgrade data of multiple historical upgrade devices;
[0045] Configuration information is received, where the configuration information is generated based on a plurality of historical firmware upgrade data.
[0046] In the above technical scheme, multiple historical firmware upgrade data of multiple historical upgrade devices can be sent to a service device (deployed with a data center platform), and configuration information sent by the service device can be received. By transferring the process of generating configuration information to the service device, it is possible to avoid the situation where the process of generating configuration information occupies more resources of the device to be upgraded, resulting in a decrease in the firmware upgrade efficiency of the device to be upgraded.
[0047] In a second aspect, an embodiment of the present application provides a firmware upgrade method, the method comprising:
[0048] Receiving multiple historical firmware upgrade data of multiple historical upgrade devices;
[0049] Generate configuration information based on multiple historical firmware upgrade data;
[0050] Send configuration information, which is used for firmware upgrade processing of the device to be upgraded.
[0051] In the above technical solution, the service device (deployed with a data center platform) can receive multiple historical firmware upgrade data sent by the firmware upgrade device, and generate configuration information based on the multiple historical firmware upgrade data, and send the configuration information to the firmware upgrade device, so that the firmware upgrade device can quickly configure an adaptive firmware upgrade process for the device to be upgraded based on the configuration information, which is conducive to saving the matching time of the firmware upgrade process and improving the firmware upgrade efficiency of the device to be upgraded.
[0052] In a possible implementation, configuration information is generated according to a plurality of historical firmware upgrade data, including:
[0053] Determine, according to the plurality of historical firmware upgrade data, the association relationship between the plurality of preset firmwares during the firmware upgrade process, and the upgrade environment information of each preset firmware;
[0054] Determine the optimal sequence of the multiple preset firmwares in the firmware upgrade process according to the association relationship and the upgrade environment information of each preset firmware;
[0055] The configuration information is generated according to the optimal sequence, or the configuration information is generated according to the optimal sequence and the upgrade environment information of each preset firmware.
[0056] In a possible implementation, the upgrade environment information includes a device status of a device to be upgraded during a firmware upgrade process, and / or a firmware upgrade type.
[0057] In a third aspect, an embodiment of the present application provides a firmware upgrade device, including:
[0058] A determination module, used to determine, from among the multiple firmware packages, multiple first firmware packages corresponding to the multiple firmware in the device to be upgraded;
[0059] The determination module is further used to determine the firmware upgrade process corresponding to the plurality of first firmware packages according to the upgrade information of the plurality of firmware in the configuration information, wherein the configuration information includes the upgrade information of the plurality of preset firmware, and the plurality of preset firmware includes the plurality of firmware;
[0060] The upgrade module is used to perform firmware upgrade processing on the device to be upgraded according to the firmware upgrade process and multiple first firmware packages.
[0061] The firmware upgrade device provided in the embodiment of the present application can execute the technical solution as described in any one of the first aspects, and its beneficial effects are similar, which will not be repeated here.
[0062] In a possible implementation, the determination module is specifically used for:
[0063] Determining an optimal upgrade sequence of the plurality of first firmware packages according to the upgrade information of the plurality of firmware in the configuration information;
[0064] A firmware upgrade process is generated according to the optimal upgrade sequence and the plurality of first firmware packages.
[0065] In a possible implementation, the determination module is specifically used for:
[0066] Determine the upgrade environment information of each firmware according to the upgrade information of each firmware in the configuration information;
[0067] A firmware upgrade process is generated according to the optimal upgrade sequence, the upgrade environment information of each firmware package, and the plurality of first firmware packages.
[0068] In a possible implementation, the determination module is specifically used for:
[0069] Obtain first device information of the device to be upgraded;
[0070] Obtaining second device information corresponding to each firmware package;
[0071] A plurality of first firmware packages are determined from the plurality of firmware packages according to the first device information and the second device information corresponding to each firmware package.
[0072] In a possible implementation, the determination module is specifically used for:
[0073] Determine a plurality of second firmware packages from the plurality of firmware packages according to the first device information and the second device information corresponding to each firmware package, wherein the second device information corresponding to the second firmware packages is the same as the first device information;
[0074] Obtaining first firmware information of each firmware in the device to be upgraded and second firmware information corresponding to each second firmware package;
[0075] According to the first firmware information of each firmware and the second firmware information corresponding to each second firmware package, a plurality of first firmware packages are determined in the plurality of second firmware packages.
[0076] In a possible implementation, the firmware upgrade device further includes:
[0077] A transceiver module, used for obtaining multiple historical firmware upgrade data of multiple historical upgrade devices;
[0078] The generation module is used to generate configuration information according to multiple historical firmware upgrade data.
[0079] In a possible implementation, the generation module is specifically used for:
[0080] Determine, according to the plurality of historical firmware upgrade data, the association relationship between the plurality of preset firmwares during the firmware upgrade process, and the upgrade environment information of each preset firmware;
[0081] Determine the optimal sequence of the multiple preset firmwares in the firmware upgrade process according to the association relationship and the upgrade environment information of each preset firmware;
[0082] The configuration information is generated according to the optimal sequence, or the configuration information is generated according to the optimal sequence and the upgrade environment information of each preset firmware.
[0083] In a possible implementation, the upgrade environment information includes a device status of a device to be upgraded during a firmware upgrade process, and / or a firmware upgrade type.
[0084] In a possible implementation, the upgrade module is specifically used to:
[0085] According to the multiple first firmware packages, the device to be upgraded is controlled to perform firmware upgrade processing on the multiple firmware according to the optimal upgrade sequence of the multiple first firmware packages in the firmware upgrade process.
[0086] In a possible implementation, the transceiver module is further configured to:
[0087] Send multiple historical firmware upgrade data of multiple historical upgrade devices;
[0088] Configuration information is received, where the configuration information is generated based on a plurality of historical firmware upgrade data.
[0089] In a fourth aspect, an embodiment of the present application provides a firmware upgrade device, including:
[0090] A transceiver module, used for receiving multiple historical firmware upgrade data of multiple historical upgrade devices;
[0091] A generation module, used for generating configuration information according to a plurality of historical firmware upgrade data;
[0092] The transceiver module is also used to send configuration information, and the configuration information is used for firmware upgrade processing of the device to be upgraded.
[0093] The firmware upgrade device provided in the embodiment of the present application can execute the technical solution as described in any one of the second aspects, and its beneficial effects are similar, which will not be repeated here.
[0094] In a possible implementation, the generation module is specifically used for:
[0095] Determine, according to the plurality of historical firmware upgrade data, the association relationship between the plurality of preset firmwares during the firmware upgrade process, and the upgrade environment information of each preset firmware;
[0096] Determine the optimal sequence of the multiple preset firmwares in the firmware upgrade process according to the association relationship and the upgrade environment information of each preset firmware;
[0097] The configuration information is generated according to the optimal sequence, or the configuration information is generated according to the optimal sequence and the upgrade environment information of each preset firmware.
[0098] In a possible implementation, the upgrade environment information includes a device status of a device to be upgraded during a firmware upgrade process, and / or a firmware upgrade type.
[0099] In a fifth aspect, an embodiment of the present application provides a computing device, including: a processor and a memory; the processor and the memory are coupled;
[0100] The memory is used to store program instructions;
[0101] The processor is used to execute program instructions to perform the method as described in any one of the first aspects.
[0102] The computing device provided in the embodiment of the present application can execute the technical solution as described in any one of the first aspects, and its beneficial effects are similar, which will not be repeated here.
[0103] In a sixth aspect, an embodiment of the present application provides a computing device, including: a processor and a memory; the processor and the memory are coupled;
[0104] The memory is used to store program instructions;
[0105] The processor is used to execute program instructions to perform the method as described in any one of the second aspects.
[0106] The computing device provided in the embodiment of the present application can execute the technical solution as described in any one of the second aspects, and its beneficial effects are similar and will not be repeated here.
[0107] In a seventh aspect, an embodiment of the present application provides a chip, and the chip is used to implement the method as described in any one of the first aspects.
[0108] The chip provided in the embodiment of the present application can execute the technical solution as described in any one of the first aspects, and its beneficial effects are similar, which will not be repeated here.
[0109] In an eighth aspect, an embodiment of the present application provides a chip, and the chip is used to implement the method as described in any one of the second aspects.
[0110] The chip provided in the embodiment of the present application can execute the technical solution as described in any one of the second aspects, and its beneficial effects are similar, which will not be repeated here.
[0111] In a ninth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a computer, a method as described in any one of the first aspects is implemented.
[0112] The computer-readable storage medium provided in the embodiment of the present application can execute the technical solution as described in any one of the first aspects, and its beneficial effects are similar and will not be repeated here.
[0113] In a tenth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a computer, a method as described in any one of the second aspects is implemented.
[0114] The computer-readable storage medium provided in the embodiment of the present application can execute the technical solution as described in any one of the second aspects, and its beneficial effects are similar, which will not be repeated here.
[0115] In an eleventh aspect, an embodiment of the present application provides a computer program product, including a computer program, and when the computer program is executed by a processor, it implements the method described in any one of the first aspects.
[0116] The computer program product provided in the embodiment of the present application can execute the technical solution as described in any one of the first aspects, and its beneficial effects are similar and will not be repeated here.
[0117] In a twelfth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the method described in any one of the second aspects.
[0118] The computer program product provided in the embodiment of the present application can execute the technical solution as described in any one of the second aspects, and its beneficial effects are similar and will not be repeated here.
[0119] The firmware upgrade method and computing device provided in the embodiments of the present application can screen out multiple first firmware packages that are compatible with multiple firmware of the device to be upgraded from multiple firmware packages, thereby avoiding the phenomenon that the firmware upgrade fails due to the mismatch between the firmware package and the firmware during the firmware upgrade process of the device to be upgraded; the corresponding firmware upgrade process can be flexibly configured for the device to be upgraded based on the configuration information, and the firmware upgrade process of multiple firmware in the device to be upgraded can be controlled through the firmware upgrade process, so as to reduce or avoid the situation that the firmware upgrade time is long or the firmware upgrade fails due to multiple restarts of the device to be upgraded during the firmware upgrade, which is beneficial to improving the success rate of the firmware upgrade, and further beneficial to improving the firmware upgrade efficiency of the device to be upgraded. BRIEF DESCRIPTION OF THE DRAWINGS
[0120] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0121] Figure 1AOne of the architectural diagrams of the firmware upgrade system provided in the embodiment of the present application;
[0122] Figure 1B The second schematic diagram of the architecture of the firmware upgrade system provided in the embodiment of the present application;
[0123] Figure 2 One of the flowcharts of the firmware upgrade method provided in the embodiment of the present application;
[0124] Figure 3 The second flowchart of the firmware upgrade method provided in the embodiment of the present application;
[0125] Figure 4 The third flowchart of the firmware upgrade method provided in the embodiment of the present application;
[0126] Figure 5 A fourth flowchart of the firmware upgrade method provided in an embodiment of the present application;
[0127] Figure 6 One of the structural schematic diagrams of the firmware upgrade device provided in the embodiment of the present application;
[0128] Figure 7 The second structural diagram of the firmware upgrade device provided in the embodiment of the present application;
[0129] Figure 8 The third structural diagram of the firmware upgrade device provided in the embodiment of the present application;
[0130] Fig. 9 A schematic diagram of the hardware structure of a computing device provided in an embodiment of the present application.
[0131] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0132] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the embodiments of the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the embodiments of the present application as detailed in the appended claims.
[0133] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.
[0134] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards, and corresponding operation entrances shall be provided for users to choose to authorize or refuse.
[0135] It should be noted that, in the embodiments of the present application, the term "at least one" refers to one or more, and "more than two" refers to two or more.
[0136] In order to facilitate understanding of the firmware upgrade method provided in the embodiment of the present application, first, the architecture of the firmware upgrade system involved in the embodiment of the present application is introduced.
[0137] Figure 1A This is one of the schematic diagrams of the architecture of the firmware upgrade system provided in the embodiment of the present application. Figure 1A The firmware upgrade system may include a firmware upgrade device and a device to be upgraded, and the device to be upgraded may include multiple firmwares. The firmware upgrade device may be used to perform firmware upgrade on the device to be upgraded. For example, the firmware upgrade device may implement firmware upgrade processing on the device to be upgraded based on a customized memory boot system image and a customized task image corresponding to the firmware.
[0138] However, in the process of performing firmware upgrade on the device to be upgraded based on the firmware upgrade device, the following problems may occur:
[0139] (1) During the firmware upgrade process, the device to be upgraded needs to be restarted frequently to make the upgraded firmware take effect, resulting in a long firmware upgrade time;
[0140] (2) The customized memory boot system image and the customized task image corresponding to the firmware are usually applicable to certain devices to be upgraded and certain firmware in the devices to be upgraded in fixed scenarios. For scenarios other than these fixed scenarios, when the customized memory boot system image and the customized task image corresponding to the firmware are used to upgrade the firmware of the device to be upgraded, the upgrade may fail;
[0141] (3) When multiple firmware need to be upgraded in batches, firmware upgrade failures may occur frequently.
[0142] Under the influence of the above problems, the firmware upgrade efficiency of the firmware upgrade device on the device to be upgraded is low.
[0143] In order to solve the above problems, the present application embodiment provides a firmware upgrade system. The firmware upgrade system can be as follows: Figure 1B shown. Figure 1B This is the second schematic diagram of the architecture of the firmware upgrade system provided in the embodiment of the present application. Figure 1B The firmware upgrade system may include a firmware upgrade device, multiple devices to be upgraded, and a data center platform, wherein each device to be upgraded may include multiple firmware.
[0144] The data center platform can be used to obtain multiple historical firmware upgrade data generated by multiple historical upgrade devices during the firmware upgrade process sent by the firmware upgrade device, and perform data processing and data analysis on the multiple historical firmware upgrade data to obtain upgrade information of multiple preset firmwares, and generate configuration information based on the upgrade information of multiple preset firmwares.
[0145] The data center platform can receive multiple historical firmware upgrade data of multiple historical upgrade devices sent by the firmware upgrade device in real time or periodically, and update the previously generated configuration information in real time or periodically.
[0146] In some embodiments, the data center platform can train a learning model through multiple historical firmware upgrade data to perform the process of generating configuration information through the learning model. It should be noted that the process of generating configuration information will be Figure 3 The details are described in the embodiments and will not be described again here.
[0147] In some embodiments, Figure 1B In the firmware upgrade system shown, the data center platform can be deployed in the firmware upgrade device, and the firmware upgrade device or the data center platform deployed in the firmware upgrade device performs the above process of generating configuration information. The data center platform can also be deployed in other computing devices besides the firmware upgrade device.
[0148] Exemplarily, the firmware upgrade device and other computing devices may be independent physical servers, or a server cluster consisting of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN) and big data and artificial intelligence platforms, and may also be smart phones, smart watches, tablet computers, laptops, smart car devices, desktop computers, portable laptops, or virtual reality / augmented reality / mixed reality devices, etc.
[0149] The firmware upgrade method provided in the embodiment of the present application can be applied to Figure 1B In the firmware upgrade device, the firmware upgrade device can match the corresponding multiple first firmware packages with the multiple firmwares of each device to be upgraded in the multiple firmware packages according to the actual situation of each device to be upgraded, and flexibly configure the firmware upgrade process corresponding to the multiple first firmware packages for each device to be upgraded based on the upgrade information of each firmware in the configuration information, and perform firmware upgrade processing on each device to be upgraded through the firmware upgrade process corresponding to each device to be upgraded and the multiple first firmware packages.
[0150] In this method, the firmware upgrade device can flexibly configure corresponding firmware upgrade processes for different devices to be upgraded based on the configuration information, so as to optimize the upgrade order of each firmware of the device to be upgraded through the firmware upgrade process, so as to reduce or avoid the situation where each device to be upgraded has multiple restarts during the firmware upgrade, resulting in a long firmware upgrade time or firmware upgrade failure, which is conducive to improving the success rate of the firmware upgrade, and further to improving the firmware upgrade efficiency of the device to be upgraded. In addition, the method can flexibly configure corresponding firmware upgrade processes for different devices to be upgraded based on the configuration information, so that the method can be applied to different firmware upgrade scenarios of multiple devices to be upgraded, which is conducive to improving the flexibility of firmware upgrade. For example, the method can realize independent firmware upgrade processing for different devices in a complex device cluster.
[0151] It should be noted that the firmware upgrade method provided in the embodiment of the present application can be applied to firmware upgrade scenarios in any field, and the embodiment of the present application does not limit the application scenario of the firmware upgrade method. For example, the firmware upgrade method can be applied to the firmware upgrade processing scenario of the server.
[0152] The technical solution of the present application is described in detail with specific embodiments below. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0153] Figure 2 This is one of the flowcharts of the firmware upgrade method provided in the embodiment of the present application. It should be noted that the firmware upgrade method can be executed by a computing device, for example, the computing device can be Figure 1B The firmware upgrade device in the embodiment; the firmware upgrade method can also be executed by a firmware upgrade device in a computing device, and the firmware upgrade device can be implemented by software or by a combination of software and hardware, which is not limited in the embodiments of the present application.
[0154] See also Figure 2 , the method may specifically include the following steps:
[0155] S201. Determine, among multiple firmware packages, multiple first firmware packages corresponding to multiple firmware in a device to be upgraded.
[0156] Exemplarily, the device to be upgraded may be a server.
[0157] The multiple firmware packages may be firmware packages corresponding to multiple preset firmwares. The multiple preset firmwares may include multiple firmwares of devices to be upgraded (eg, servers). The firmware packages may be used to perform firmware upgrade processing on the preset firmwares.
[0158] Exemplarily, the plurality of preset firmware may include: Artificial Intelligence (AI) module firmware, Intelligent Baseboard Management Controller (iBMC) firmware, Complex Programmable Logic Device (CPLD) firmware, Basic Input / Output System (BIOS) firmware, Voltage Regulator Down (VRD) firmware, Power Supply Unit (PSU) firmware, Retimer firmware, Smart Provisioning (SP) firmware, Hardware Platform Management (HPM) firmware, Redundant Array of Independent Disks (RAID) firmware, Fibre Channel (FC) firmware, InfiniBand (IB) firmware, Network Interface Card (NIC) firmware, Converged Network Adapter (CNA), Host Bus Adapter (HBA) firmware, Solid State Drive (SSD) firmware, etc. StateDrive (SSD) firmware, mechanical hard disk (Hard Disk Drive, HDD), switch (Switch) firmware and service processor component (Service Processor Component, SPComponent) firmware.
[0159] Exemplarily, the AIModule firmware may include: AIModuleNPU firmware corresponding to the neural processing unit (NPU), AIModuleCDR firmware corresponding to the clock data recovery (CDR), AIModuleBMC firmware corresponding to the BMC, AIModule_SW firmware corresponding to the software (SW), AIModule_CEC firmware corresponding to the consumer electronics control (CEC), AIModule_FPGA firmware corresponding to the field programmable gate array (FPGA), AIModule_Retimer firmware corresponding to the retimer, AIModuleMCU firmware corresponding to the microcontroller unit (MCU), AIModuleNPUBoardCPLD firmware, and AIModuleBoardNPUBoardCPLD firmware.
[0160] For the same preset firmware, when the firmware information of the preset firmware is different, the firmware packages corresponding to the preset firmware may be different, that is, each preset firmware may correspond to one or more firmware packages. For example, for iBMC firmware, when the iBMC firmware is version 1 and version 2 respectively, it may correspond to firmware package 1 and firmware package 2 respectively.
[0161] When the device information of the device to be upgraded and the firmware information of each firmware in the device to be upgraded are determined, the number of first firmware packages corresponding to each firmware in the device to be upgraded may be 1. The method can filter out the first firmware package corresponding to each firmware in the device to be upgraded from multiple firmware packages according to the device information of the device to be upgraded and the firmware information of each firmware in the device to be upgraded, and obtain multiple first firmware packages, so as to match the most suitable first firmware package to each firmware of the device to be upgraded, reduce or avoid the phenomenon of firmware upgrade failure due to the mismatch between the firmware package and the firmware during the firmware upgrade process of the device to be upgraded, which is conducive to improving the success rate of firmware upgrade of the device to be upgraded and accelerating the efficiency of firmware upgrade.
[0162] S202: Determine firmware upgrade processes corresponding to the plurality of first firmware packages according to upgrade information of the plurality of firmware packages in the configuration information.
[0163] The configuration information includes upgrade information of a plurality of preset firmwares, and the plurality of preset firmwares may include a plurality of firmwares.
[0164] For any preset firmware, the upgrade information of the preset firmware can be used to indicate the upgrade order of the preset firmware among multiple preset firmwares, or the upgrade order and the upgrade environment information of the preset firmware when performing firmware upgrade processing.
[0165] When there are multiple preset firmwares, the optimal order of the multiple preset firmwares may be as follows:
[0166] (1) The upgrade order of each of the plurality of preset firmwares may be different.
[0167] Assuming that there are N preset firmwares, the optimal order of the N preset firmwares may be: preset firmware 1>preset firmware 2>...>preset firmware N, where N is a positive integer greater than 1.
[0168] (2) The upgrade order of each of the multiple preset firmwares can be the same, that is, the multiple preset firmwares can be upgraded synchronously.
[0169] (3) Among the plurality of preset firmwares, some of the preset firmwares may have a sequence, and other preset firmwares may be upgraded synchronously.
[0170] Assume that there are N preset firmwares, among which P preset firmwares are first upgraded in the following optimal order: preset firmware 1> preset firmware 2> ...> preset firmware P, and the remaining NP preset firmwares can be upgraded synchronously, where N and P are positive integers greater than 1, and P<N.
[0171] The upgrade environment information may include the device status of the device to be upgraded during the firmware upgrade process, and / or the firmware upgrade type. The method may indicate the device status and / or the firmware upgrade type of the device to be upgraded during the firmware upgrade process based on the upgrade environment information, so as to provide a more suitable environment for the firmware upgrade process of the device to be upgraded based on the upgrade environment information, reduce or avoid the occurrence of firmware upgrade failures of the device to be upgraded, and help improve the firmware upgrade efficiency of the device to be upgraded.
[0172] The device status may include the power-on status and the power-off status. It is understandable that some firmwares need to be upgraded when the device to be upgraded is in the power-off status, such as AIModuleNPU firmware and AIModuleCDR firmware; some firmwares need to be upgraded when the device to be upgraded is in the power-on status, such as Retimer firmware.
[0173] The firmware upgrade type may include an in-band upgrade type and an out-of-band upgrade type. It is understood that the in-band upgrade type means that the firmware can be upgraded through the normal communication path of the device to be upgraded, for example, the firmware is upgraded through the operating system of the device to be upgraded; the out-of-band upgrade type means that the firmware can be upgraded through other paths independent of the normal communication path of the device to be upgraded, for example, the firmware can be upgraded through the management interface or management module set in the device to be upgraded.
[0174] In some embodiments, the upgrade environment information may also include network quality requirements and transmission protocols.
[0175] The network quality requirement may be used to indicate a threshold value that the network quality of the device to be upgraded must meet during a firmware upgrade. It is understandable that if the network quality of the device to be upgraded is less than the threshold value, the firmware upgrade may fail.
[0176] For example, the network quality level classification can be shown in Table 1:
[0177] Table 1
[0178]
[0179] Assuming there are firmware 1 and firmware 2, the threshold requirements for the network quality of the upgraded device in the network quality requirements of firmware 1 and firmware 2 may be different. For example, firmware 1 is an important firmware, and the probability of firmware 1 upgrade failure needs to be reduced as much as possible to ensure that it is successfully upgraded once, and its network quality threshold can be set to level B in Table 1; firmware 2 is a common firmware, and its network quality threshold can be set to level C in Table 1.
[0180] The transfer protocol may be used to indicate a data transmission protocol during a firmware upgrade process. For example, the data transmission protocol may be a Hypertext Transfer Protocol (HTTP).
[0181] S203: Perform firmware upgrade processing on the device to be upgraded according to the firmware upgrade process and the multiple first firmware packages.
[0182] In some embodiments, based on the multiple first firmware packages, the device to be upgraded is controlled to perform firmware upgrade processing on the multiple firmware packages according to the optimal upgrade sequence of the multiple first firmware packages in the firmware upgrade process.
[0183] The method indicates the optimal upgrade sequence of multiple first firmware packages through the firmware upgrade process, and controls the device to be upgraded to perform firmware upgrade processing on multiple firmware according to the optimal upgrade sequence, so as to reduce or avoid the situation that the device to be upgraded needs to be repeatedly restarted when upgrading multiple firmware due to unreasonable upgrade sequence, which is beneficial to shortening the upgrade processing time of multiple firmware and improving the firmware upgrade efficiency; the method can also avoid the following situation: assuming that the upgrade processing process of firmware 1 needs to rely on firmware 2, when both firmware 1 and firmware 2 need to be firmware upgraded, firmware 1 is upgraded first without upgrading firmware 2, resulting in frequent failures of firmware 1 upgrade, which is beneficial to improving the upgrade success rate of multiple firmware in the device to be upgraded, thereby improving the firmware upgrade efficiency of the device to be upgraded.
[0184] The firmware upgrade process may further include upgrade environment information of each firmware, and the upgrade environment information may be used to indicate the device status and / or firmware upgrade type of multiple firmwares in the device to be upgraded during the firmware upgrade process.
[0185] In some operation and maintenance scenarios, assuming that the upgrade environment information indicates that multiple firmwares are all undergoing firmware upgrade processing in the powered-on state, the firmware upgrade device controls the multiple firmwares of the device to be upgraded based on the upgrade environment information and the optimal upgrade sequence to perform firmware upgrade processing. The device to be upgraded does not need to perform power-off and power-on operations, that is, the device to be upgraded does not need to be restarted. In this scenario, the business system currently running in the device to be upgraded will not be disturbed, thereby ensuring that the device to be upgraded continues to execute the currently processed business, so as to achieve business-based upgrades of the device to be upgraded. The firmware upgrade method provided in the embodiment of the present application is conducive to reducing the impact of the operation and maintenance time window of the device to be upgraded on the business system when the firmware upgrade is being processed, and enriches the operation and maintenance scenarios when the firmware upgrade device performs firmware upgrade processing on the device to be upgraded.
[0186] It can be understood that the number of devices to be upgraded can be one or more. When the number of devices to be upgraded is multiple, the above steps S201 to S203 can be performed on each device to be upgraded to implement the following process: according to the multiple firmwares of each device to be upgraded, multiple first firmware packages adapted for each device to be upgraded are selected, and based on the multiple firmwares and configuration information of each device to be upgraded, an adapted firmware upgrade process is configured for each device to be upgraded, and based on the firmware upgrade process and multiple first firmware packages corresponding to each device to be upgraded, each device to be upgraded is adaptively firmware upgraded, so that the method can be applicable to the firmware upgrade processing scenarios of multiple different devices to be upgraded, which is conducive to improving the flexibility of firmware upgrade.
[0187] The firmware upgrade method provided in the embodiment of the present application screens out multiple first firmware packages corresponding to multiple firmware of the device to be upgraded from multiple firmware packages, thereby avoiding the phenomenon of firmware upgrade failure due to mismatch between the firmware package and the firmware during the firmware upgrade process of the device to be upgraded; the firmware upgrade process of multiple firmware in the device to be upgraded can be controlled through the firmware upgrade process to reduce or avoid the situation where the firmware upgrade time is long or the firmware upgrade fails due to multiple restarts of each device to be upgraded during the firmware upgrade, which is beneficial to improving the success rate of the firmware upgrade, and further beneficial to improving the firmware upgrade efficiency of the device to be upgraded.
[0188] It is understandable that before configuring an adapted firmware upgrade process for each device to be upgraded based on multiple firmware and configuration information of each device to be upgraded, the configuration information needs to be generated first. Figure 3 , the process of generating configuration information is described in detail.
[0189] Figure 3 This is a flowchart of the firmware upgrade method provided in the embodiment of the present application. Figure 3 , the method may specifically include the following steps:
[0190] S301, obtaining multiple historical firmware upgrade data of multiple historical upgrade devices.
[0191] Exemplarily, the historical upgrade device may be a server that has performed a firmware upgrade process.
[0192] For any historical upgrade device, the historical upgrade device may correspond to one or more historical firmware upgrade data, and the historical firmware upgrade data may include device information of the historical upgrade device, firmware information of each firmware in the historical upgrade device, and firmware upgrade data in the historical upgrade process.
[0193] The device information may include the device identification, and the device information may also include the device model, device name, device type and device usage status.
[0194] The firmware information may include a firmware identifier, and the firmware information may also include a firmware version number and a firmware type, etc.
[0195] The firmware upgrade data may include the device status (power-on status or power-off status) of the historical upgraded device during the historical upgrade process of the firmware, the firmware upgrade type (in-band upgrade or out-of-band upgrade), the number of historical firmware upgrades, the firmware upgrade results of each firmware upgrade process, the firmware information before the upgrade, the firmware information after the upgrade, the operation and maintenance log information recorded by the operation and maintenance personnel during the upgrade process, etc.
[0196] S302: Generate configuration information according to a plurality of historical firmware upgrade data.
[0197] In some embodiments, a plurality of historical firmware upgrade data may be cleansed to filter out some historical firmware upgrade data that do not meet requirements (eg, data is missing or erroneous) to improve the accuracy of generated configuration information.
[0198] Optionally, a learning model may be trained using a plurality of historical firmware upgrade data after cleaning, so as to execute the process of generating configuration information through the learning model.
[0199] In some embodiments, step S302 may further include the following steps S3021 to S3023:
[0200] S3021. Determine, according to a plurality of historical firmware upgrade data, associations between a plurality of preset firmware during a firmware upgrade process and upgrade environment information of each preset firmware.
[0201] In some scenarios, when there are preset firmware 1 and preset firmware 2, if the upgrade process of preset firmware 1 needs to rely on preset firmware 2, it can be determined that there is an association relationship between preset firmware 1 and preset firmware 2.
[0202] In some embodiments, when there are preset firmware 1 and preset firmware 2, if the upgrade process of preset firmware 1 is independent of the upgrade process of budget firmware 2, it can be determined that preset firmware 1 and preset firmware 2 have no correlation, and preset firmware 1 and preset firmware 2 can be upgraded in parallel.
[0203] The upgrade environment information may include the device status of the device to be upgraded during the firmware upgrade process, and / or the firmware upgrade type.
[0204] In some embodiments, the firmware upgrade device may also configure corresponding upgrade environment information for each preset firmware according to upgrade requirement information of each preset firmware input by the user.
[0205] S3022: Determine the optimal sequence of the multiple preset firmwares during the firmware upgrade process according to the association relationship and the upgrade environment information of each preset firmware.
[0206] In some embodiments, the upgrade order of multiple preset firmware can be determined according to the association relationship. Assuming that preset firmware 1 depends on preset firmware 2 for upgrade processing, it is determined that the priority of preset firmware 2 is higher than the priority of preset firmware 1, which can be expressed as: preset firmware 1 < preset firmware 2.
[0207] For example, the upgrade sequence among iBMC firmware, BIOS firmware and CPLD firmware can be expressed as: BIOS firmware < CPLD firmware < iBMC firmware. Upgrading the iBMC firmware first can fix some potential BMC software faults (BUGs), which is conducive to improving the upgrade success rate of the BIOS firmware and CPLD firmware.
[0208] For example, for in-band firmware whose firmware upgrade type is in-band upgrade type, the in-band firmware needs to rely on SP firmware when performing firmware upgrade processing. The association relationship between the in-band firmware and SP firmware is: in-band firmware < SP firmware. In the process of upgrading SP firmware and in-band firmware, the SP firmware can be upgraded first to utilize the new features of the upgraded new version of SP to improve the upgrade speed and success rate of subsequent in-band firmware.
[0209] In some embodiments, the device status of multiple preset firmware during the upgrade process can be determined based on the upgrade environment information. The device status can include a first device status during the firmware upgrade and a second device status that takes effect after the firmware upgrade is successful. The upgrade order of the multiple preset firmware can be determined based on the first device status and the second device status corresponding to each preset firmware.
[0210] In order to avoid repeated restarts of the device to be upgraded, it is assumed that there are preset firmware 3 and preset firmware 4, the first device state of preset firmware 3 is the power-off state, the second device state is the power-on state, and the first device state of preset firmware 4 is the power-off state. The successful upgrade of preset firmware 4 automatically triggers the power-on state of the device to be upgraded. After the preset firmware 3 is successfully upgraded, the device to be upgraded may not be restarted for the time being, but the preset firmware 4 may be upgraded to utilize the characteristic that the preset firmware 4 automatically triggers the power-on state of the device to be upgraded, thereby automatically triggering the effectiveness of the preset firmware 3. For example, the AIModuleNPU firmware and the AIModuleCDR firmware need to be upgraded when the device state of the device to be upgraded is the power-off state, and they can only take effect after the device to be upgraded is powered on after the upgrade is successful. If you need to upgrade the AIModuleNPU firmware, AIModuleCDR firmware, and CPLD firmware (or in-band firmware), you can first power off the device to be upgraded, and then upgrade the AIModuleNPU firmware and AIModuleCDR firmware after powering off, and then upgrade the CPLD firmware, so as to use the automatic power-on feature of the CPLD firmware (or in-band firmware) after upgrading to automatically trigger the AIModuleNPU firmware and AIModuleCDR firmware to take effect, which is beneficial to saving the effectiveness time of the AIModuleNPU firmware and AIModuleCDR firmware. In this process, after the upgrade of the AIModuleNPU firmware and AIModuleCDR firmware is completed, there is no need to restart the device to be upgraded immediately, but restart it after the CPLD firmware (or in-band firmware) upgrade is completed, which is beneficial to reduce the number of restarts of the device to be upgraded.
[0211] S3023: Generate configuration information according to the optimal sequence, or generate configuration information according to the optimal sequence and the upgrade environment information of each preset firmware.
[0212] The configuration information may include upgrade information of multiple preset firmwares, and the upgrade information of each preset firmware may include the upgrade order of the preset firmware among multiple preset firmwares, or the upgrade order of the preset firmware among multiple preset firmwares and the upgrade environment information of the preset firmware when performing firmware upgrade processing, and the upgrade environment information may include the device status and / or firmware upgrade type of the device to be upgraded. For example, the configuration information may be as shown in Table 2.
[0213] Table 2
[0214]
[0215] It can be understood that in Table 2, a firmware with a smaller upgrade order is upgraded before a firmware with a larger upgrade order, and multiple firmwares with the same upgrade order can be upgraded synchronously.
[0216] The method can determine the association between multiple preset firmware during the firmware upgrade process and the upgrade environment information of each preset firmware based on multiple historical firmware upgrade data, and comprehensively determine the optimal order of multiple preset firmware in combination with the association and the upgrade environment information of each preset firmware, which is beneficial to improving the accuracy of determining the optimal order, and further beneficial to improving the accuracy of configuration information generated based on the optimal order.
[0217] The firmware upgrade method provided in the embodiment of the present application can generate configuration information based on multiple historical firmware upgrade data of multiple historical upgrade devices, so that the firmware upgrade device can quickly and easily configure an adaptive firmware upgrade process for each device to be upgraded based on the configuration information, which is beneficial to saving the matching time of the firmware upgrade process and improving the firmware upgrade efficiency of the device to be upgraded.
[0218] Figure 4 This is a flowchart of the firmware upgrade method provided in the embodiment of the present application. Figure 4 , the method may specifically include the following steps:
[0219] S401: Determine the device to be upgraded.
[0220] The firmware upgrade device may provide an interactive interface to the user, and the interactive interface may be provided with an add control, and the add control may be used to add the device to be upgraded. The user may trigger the add control in the interactive interface, and input the device information to be upgraded to the firmware upgrade device, and the firmware upgrade device may determine the device to be upgraded based on the device information.
[0221] In some embodiments, the firmware upgrade device and the device to be upgraded can communicate through an interface. After determining the device information, the firmware upgrade device can verify the connectivity with the device to be upgraded based on the interface corresponding to the device to be upgraded to determine whether the firmware upgrade device and the device to be upgraded can communicate normally; if it is determined that the firmware upgrade device and the device to be upgraded are normally connected, continue to execute subsequent steps S402 to S407; if it is determined that the firmware upgrade device and the device to be upgraded are abnormally connected, end this processing flow. By checking the connectivity between the firmware upgrade device and the device to be upgraded, the failure of the firmware upgrade due to the inability of the firmware upgrade device and the device to be upgraded to communicate normally can be avoided, which is conducive to improving the upgrade success rate of the firmware upgrade processing of the device to be upgraded.
[0222] After the device to be upgraded is determined, multiple first firmware packages corresponding to multiple firmware in the device to be upgraded may be determined by executing steps S402 to S404 as shown below.
[0223] S402: Obtain first device information of a device to be upgraded.
[0224] The first device information may include a device identification of the device to be upgraded, which may be used to identify the device to be upgraded, and may be used to indicate the production serial number, device name, device type, device specifications, manufacturer information, production date, and instructions for use of the device to be upgraded.
[0225] For example, the device identifier may be a device code.
[0226] In some embodiments, the firmware upgrade device may call an asynchronous query tool to query the first device information of the device to be upgraded. By asynchronously querying the first device information, the firmware upgrade device may continue to execute the subsequent firmware upgrade process, thereby improving the firmware upgrade efficiency of the firmware upgrade device and reducing the resource consumption of the firmware upgrade device when performing the firmware upgrade process.
[0227] S403: Obtain second device information corresponding to each firmware package.
[0228] In some embodiments, a software warehouse may be provided, which may be used to store the second device information and the second firmware information corresponding to each firmware package. The firmware upgrade device may call the software warehouse to query the second device information of each firmware package based on the identification of each firmware package.
[0229] The second device information may include a device identifier of a device to be upgraded that each firmware package is adaptable to, for example, the device identifier may be a device code.
[0230] The second firmware information may include an identifier of the firmware to which each firmware package is adaptable. For example, the identifier of the firmware may be used to identify the firmware. The firmware identifier may be used to indicate the firmware name, firmware version, device identifier of the device to be upgraded corresponding to the firmware, etc.
[0231] Optionally, the software warehouse may obtain metadata of each firmware package based on a preset metadata field, and store each firmware package correspondingly based on the metadata of each firmware package. Multiple firmware packages may be stored in the software warehouse in the form of a data table. For example, the preset metadata field may include an identifier of the firmware package, second device information, and second firmware information. The storage data table of multiple firmware packages may be as shown in Table 3:
[0232] Table 3
[0233]
[0234]
[0235] Please refer to Table 3, each firmware package can be applicable to the firmware upgrade process of the same firmware of multiple devices, for example, device 1 and device 2 both include firmware 1, and the firmware package 1 can be applicable to the firmware upgrade process of firmware 1 in device 1 and device 2. The firmware packages adapted to the same firmware in different devices may be different, for example, device 1, device 2 and device 3 all include firmware 2, wherein the firmware package adapted to firmware 2 of device 1 is firmware package 2, and the firmware package adapted to firmware 2 in device 2 and device 3 is firmware package 3.
[0236] In some embodiments, the software warehouse can provide a data interface or data access mechanism to the outside, so that the firmware upgrade device or management device can access and manage the software warehouse based on the data interface or data access mechanism. For example, the management device can add, update and delete the information of each firmware package in the software warehouse based on the data interface or data access mechanism. The software warehouse can also support functions such as online download and offline import, so that the firmware upgrade device or management device can better obtain the data of each firmware package in the software warehouse.
[0237] By setting up a software warehouse, it is possible to facilitate standardized management of multiple firmware packages and speed up the query efficiency of multiple firmware packages.
[0238] S404: Determine multiple first firmware packages from the multiple firmware packages according to the first device information and the second device information corresponding to each firmware package.
[0239] In some embodiments, for any firmware package, if the second device information of the firmware package is the same as the first device information, the firmware package can be determined as the first firmware package.
[0240] The method can filter and process multiple first firmware packages through device information to quickly determine multiple first firmware packages adapted to the device to be upgraded from the multiple firmware packages, thereby improving the matching efficiency between the device to be upgraded and the multiple first firmware packages.
[0241] In some embodiments, step S404 may further include the following steps S4041 to S4043:
[0242] S4041. Determine multiple second firmware packages from multiple firmware packages according to the first device information and the second device information corresponding to each firmware package.
[0243] The second device information corresponding to the second firmware package may be the same as the first device information. For example, if the first device information of the device to be upgraded is device 1, and the identifier of the firmware package is firmware package 2, based on the information of the software warehouse shown in Table 3, it can be determined that the second device information corresponding to firmware package 2 is device 1, and the device information of the device to be upgraded is the same as that of firmware package 2, then the firmware package can be determined as the second firmware package.
[0244] S4042: Obtain first firmware information of each firmware package in the device to be upgraded, and second firmware information corresponding to each second firmware package.
[0245] In some embodiments, the firmware upgrade device can call an asynchronous query tool to query the first firmware information of each firmware in the device to be upgraded. By asynchronously querying the first firmware information, the firmware upgrade device can continue to execute the subsequent firmware upgrade process, improve the firmware upgrade efficiency of the firmware upgrade device, and reduce the resource consumption of the firmware upgrade device when performing the firmware upgrade process.
[0246] In some embodiments, the firmware upgrade device may call a software warehouse to query the second firmware information corresponding to each second firmware package based on the identifier of each second firmware package.
[0247] S4043: Determine a plurality of first firmware packages from a plurality of second firmware packages according to the first firmware information of each firmware and the second firmware information corresponding to each second firmware package.
[0248] For any second firmware package, if the second firmware information corresponding to the second firmware package is the same as the first firmware information, the second firmware package is determined as the first firmware package; if the second firmware information corresponding to the second firmware package is different from the first firmware information, the second firmware package can be screened out.
[0249] The method can preliminarily screen out multiple second firmware packages that meet the matching requirements from multiple firmware packages through the first device information of the device to be upgraded and the second device information of each firmware package, and then further fine-screen the multiple second firmware packages based on the first firmware information of each firmware in the device to be upgraded and the second firmware information of each second firmware package, so as to more accurately match the multiple first firmware packages adapted to the firmware in the device to be upgraded, which is conducive to improving the accuracy of matching the multiple first firmware packages; and, by performing screening processing in a hierarchical manner, it is conducive to reducing the number of matching firmware packages during fine screening, and reducing resource consumption during fine screening of the device to be upgraded.
[0250] After determining the multiple first firmware packages, the firmware upgrade processes corresponding to the multiple first firmware packages may be determined by executing steps S405 and S406 as shown below.
[0251] S405: Determine an optimal upgrade sequence of the plurality of first firmware packages according to the upgrade information of the plurality of firmware packages in the configuration information.
[0252] The configuration information may include upgrade information of multiple preset firmwares, and the multiple preset firmwares may include multiple firmwares.
[0253] The upgrade order of each firmware in the firmware upgrade process of multiple firmwares can be determined according to the upgrade information of each firmware in the configuration information, and the upgrade order of each firmware can be sorted to obtain the optimal upgrade order of multiple firmwares; the optimal upgrade order of multiple firmwares is determined as the optimal upgrade order of multiple first firmware packages corresponding to the multiple firmwares.
[0254] For example, the multiple firmwares of the device to be upgraded are iBMC firmware, CPLD firmware, BIOS firmware, and PSU firmware. According to the configuration information shown in Table 2, it can be queried that the upgrade orders of the multiple firmwares are 4, 5, 6, and 8, respectively. After the multiple firmwares are sorted according to the upgrade order, it is determined that the optimal upgrade order of the multiple first firmware packages corresponding to the multiple firmwares is: iBMC firmware>CPLD firmware>BIOS firmware>PSU firmware.
[0255] S406: Generate a firmware upgrade process according to the optimal upgrade sequence and the multiple first firmware packages.
[0256] In some embodiments, after determining the optimal upgrade order, the firmware upgrade device can also determine the upgrade environment information of each firmware based on the upgrade information of each firmware in the configuration information; generate a firmware upgrade process based on the optimal upgrade order, the upgrade environment information of each firmware package and multiple first firmware packages.
[0257] The firmware upgrade device can generate a firmware upgrade process with richer information by combining the optimal upgrade sequence, the upgrade environment information of each firmware package, and multiple first firmware packages, so that the firmware upgrade device can better guide the firmware upgrade process of the device to be upgraded based on the rich firmware upgrade process. This method can facilitate the firmware upgrade device to provide a more suitable upgrade environment for the first firmware package based on the upgrade environment information of each firmware by indicating the upgrade environment information of each firmware in the firmware upgrade process; by indicating the optimal upgrade sequence of multiple first firmware packages in the firmware upgrade process, it can reduce or avoid the situation where the device to be upgraded needs to be repeatedly restarted or the upgrade fails when upgrading multiple firmwares due to unreasonable upgrade sequence, which is conducive to shortening the upgrade processing time of multiple firmwares, improving the upgrade success rate of each firmware during firmware upgrade processing, and thus improving the efficiency of firmware upgrades.
[0258] Optionally, in some embodiments, after the firmware upgrade process is generated, the firmware upgrade process may be checked to further improve the upgrade success rate of the firmware upgrade process performed on the device to be upgraded based on the firmware upgrade process.
[0259] After the firmware upgrade process is generated, a preview interface of the firmware upgrade process may also be generated so that the user can review or modify the generated firmware upgrade process based on the preset interface.
[0260] S407: According to the multiple first firmware packages, control the device to be upgraded to perform firmware upgrade processing on the multiple firmware packages according to the optimal upgrade sequence of the multiple first firmware packages in the firmware upgrade process.
[0261] Optionally, the firmware upgrade device may send a first firmware upgrade request to the device to be upgraded, so as to control the device to be upgraded to perform firmware upgrade processing through the first firmware upgrade request. The firmware upgrade device may also receive first response information corresponding to the first firmware upgrade request sent by the device to be upgraded, and the first response information may include the firmware upgrade result of the device to be upgraded.
[0262] The firmware upgrade result may include the firmware upgrade result of the device to be upgraded and the upgrade data of each firmware. The firmware upgrade result may be upgrade success or upgrade failure, and the upgrade data of each firmware may include the upgrade result of each firmware, upgrade duration, firmware information before upgrade, and firmware information after upgrade.
[0263] In some embodiments, during the firmware upgrade process of the device to be upgraded based on the first firmware upgrade request, if the firmware upgrade fails, the operation and maintenance personnel can perform fault location and fault recovery on the firmware upgrade process and generate corresponding operation and maintenance log information. The device to be upgraded can also send the operation and maintenance log information to the firmware upgrade device, and the firmware upgrade device can send the operation and maintenance log information to the data center platform.
[0264] The first firmware upgrade request may include the firmware upgrade process and multiple first firmware packages. The firmware upgrade process may include: the optimal upgrade sequence of multiple first firmware packages, or the optimal upgrade sequence of multiple first firmware packages and upgrade environment information of each firmware.
[0265] The device to be upgraded can perform firmware upgrade processing on the corresponding multiple firmware in the device to be upgraded based on the multiple first firmware packages according to the optimal upgrade sequence of the multiple first firmware packages, or the optimal upgrade sequence of the multiple first firmware packages and the upgrade environment information of each firmware.
[0266] In the above process, the firmware upgrade device can send the firmware upgrade process and multiple first firmware packages to the device to be upgraded at one time based on the first firmware upgrade request, so that the device to be upgraded can adaptively perform firmware upgrade processing on multiple firmwares based on the firmware upgrade process and multiple first firmware packages, avoiding multiple interactions between the firmware upgrade device and the device to be upgraded to save communication resources.
[0267] Optionally, assuming that the number of multiple first firmware packages is M, the firmware upgrade device can send at least one second firmware upgrade request to the device to be upgraded according to the optimal upgrade order of the M first firmware packages in the firmware upgrade process, and the second firmware upgrade request may include: N first firmware packages, or N first firmware packages and upgrade environment information of N firmwares corresponding to the N first firmware packages. The second firmware upgrade request is used to perform firmware upgrade processing on N firmwares in the device to be upgraded, and the sum of the number of first firmware packages included in at least one second firmware upgrade request is M, where N is a positive integer greater than or equal to 1, and M is a positive integer greater than or equal to N.
[0268] When the number of second firmware upgrade requests is P, where P is a positive integer greater than 1, the firmware upgrade device may further perform the following steps: receiving an i-th second response information corresponding to the i-th second firmware upgrade request sent by the device to be upgraded, and determining an i-th firmware upgrade result corresponding to the i-th second firmware upgrade request based on the i-th second response information; when it is determined that the i-th firmware upgrade result is an upgrade success, sending an i+1-th second firmware upgrade request to the device to be upgraded; wherein i is 1, 2, ..., P-1 in sequence until the P-th second response information corresponding to the P-th second firmware upgrade request is obtained, or when the i-th firmware upgrade result is an upgrade failure, ending the firmware upgrade processing flow for the device to be upgraded.
[0269] The second response information may include the firmware upgrade results and upgrade data corresponding to the N second firmware packages in the second firmware upgrade request. The firmware upgrade result may be upgrade success or upgrade failure, and the firmware upgrade data may include the firmware upgrade result, upgrade duration, firmware information before upgrade, and firmware information after upgrade.
[0270] In the above process, the firmware upgrade device can determine multiple first firmware packages in the optimal upgrade sequence for firmware upgrade processing in several times, and send the corresponding first firmware packages to the device to be upgraded in turn, so that the device to be upgraded can perform firmware upgrade processing in batches according to the optimal upgrade sequence, so as to avoid the device to be upgraded receiving a large amount of data at one time, saving resources; and, it can avoid continuing to perform firmware upgrade processing on the later upgraded firmware when the firmware upgraded earlier in the device to be upgraded fails in the upgrade processing, so that the operation and maintenance personnel can quickly discover the fault problems in the firmware upgrade processing of the device to be upgraded, and perform fault repair processing in time.
[0271] The firmware upgrade method provided in the embodiment of the present application can, after determining the device to be upgraded, screen out multiple first firmware packages corresponding to multiple firmware of the device to be upgraded from multiple firmware packages, so as to avoid the phenomenon that the firmware upgrade fails due to the mismatch between the firmware package and the firmware during the firmware upgrade process of the device to be upgraded; the firmware upgrade process of multiple firmware in the device to be upgraded can be controlled through the firmware upgrade process to reduce or avoid the situation that the firmware upgrade time is long or the firmware upgrade fails due to multiple restarts of each device to be upgraded during the firmware upgrade, which is beneficial to improving the success rate of the firmware upgrade, and further beneficial to improving the firmware upgrade efficiency of the device to be upgraded.
[0272] Figure 5 This is a flowchart of the firmware upgrade method provided in the embodiment of the present application. Figure 5 The method may be interactively executed by a firmware upgrade device and a service device, wherein a data center platform is deployed in the service device. The method may specifically include the following steps:
[0273] S501: A firmware upgrade device sends multiple historical firmware upgrade data of multiple historical upgrade devices to a service device.
[0274] Optionally, the firmware upgrade device may send a plurality of historical firmware upgrade data to the service device periodically or in real time.
[0275] For any historical upgrade device, the historical upgrade device may correspond to one or more historical firmware upgrade data, and the historical firmware upgrade data may include device information of the historical upgrade device, firmware information of each firmware in the historical upgrade device, and firmware upgrade data in the historical upgrade process.
[0276] It should be noted that the explanations of terms such as “historical upgrade device”, “device information”, “firmware information” and “firmware upgrade data” can refer to the explanations of these terms in step S301 and will not be repeated here.
[0277] S502: The service device generates configuration information according to a plurality of historical firmware upgrade data.
[0278] It should be noted that the specific execution process of the service device generating the configuration information can refer to the specific execution process of generating the configuration information in steps S3021 to S3023, which will not be repeated here.
[0279] S503: The service device sends configuration information to the firmware upgrade device.
[0280] The configuration information may be used for firmware upgrade processing of the device to be upgraded, and the firmware upgrade device may perform firmware upgrade processing on the device to be upgraded based on the configuration information.
[0281] It is understandable that the service device can continuously update the configuration information and send the updated configuration information to the firmware upgrade device in a timely manner after the update, so that the firmware upgrade device can determine the firmware upgrade process corresponding to each device to be upgraded more quickly and accurately based on the configuration information.
[0282] S504: The firmware upgrade device determines a device to be upgraded.
[0283] It should be noted that the specific execution process of step S504 can refer to the specific execution process of step S401, which will not be repeated here.
[0284] S505: The firmware upgrade device determines, from multiple firmware packages, multiple first firmware packages corresponding to multiple firmware in the device to be upgraded.
[0285] It should be noted that the specific execution process of step S505 may refer to the specific execution process of steps S402 to S404, which will not be described in detail here.
[0286] S506: The firmware upgrade device determines firmware upgrade processes corresponding to the multiple first firmware packages according to the upgrade information of the multiple firmware in the configuration information.
[0287] It should be noted that the specific execution process of step S506 can refer to the specific execution process of steps S405 and S406, which will not be repeated here.
[0288] S507: The firmware upgrade device performs firmware upgrade processing on the device to be upgraded according to the firmware upgrade process and the multiple first firmware packages.
[0289] It should be noted that the specific execution process of step S507 may refer to the specific execution process of step S203, which will not be described in detail here.
[0290] In the firmware upgrade method provided by the embodiment of the present application, the firmware upgrade device can send multiple historical firmware upgrade data of multiple historical upgrade devices to the service device, and receive the configuration information sent by these service ends. By transferring the process of generating configuration information to the service end, it is avoided that the process of generating configuration information occupies more resources, resulting in a decrease in the efficiency of the firmware upgrade of the device to be upgraded. The service device can receive multiple historical firmware upgrade data sent by the firmware upgrade device, generate configuration information based on multiple historical firmware upgrade data, and send the configuration information to the firmware upgrade device, so that the firmware upgrade device can quickly configure an adaptive firmware upgrade process for the device to be upgraded based on the configuration information, which is conducive to saving the matching time of the firmware upgrade process; the firmware upgrade device also controls the firmware upgrade processing process of multiple firmwares in the device to be upgraded through the firmware upgrade process, so as to reduce or avoid the situation that each device to be upgraded has multiple restarts during the firmware upgrade, resulting in a long firmware upgrade time or firmware upgrade failure, which is conducive to improving the success rate of the firmware upgrade, and then to improving the firmware upgrade efficiency of the device to be upgraded.
[0291] Figure 6 This is one of the structural diagrams of the firmware upgrade device provided in the embodiment of the present application. Figure 6 The firmware upgrade device 600 can be applied to the firmware upgrade device in the above embodiment, and the firmware upgrade device 600 may include:
[0292] The determination module 601 is used to determine, from among the multiple firmware packages, multiple first firmware packages corresponding to multiple firmware in the device to be upgraded;
[0293] The determination module 601 is further used to determine the firmware upgrade process corresponding to the plurality of first firmware packages according to the upgrade information of the plurality of firmware in the configuration information, wherein the configuration information includes the upgrade information of the plurality of preset firmware, and the plurality of preset firmware includes the plurality of firmware;
[0294] The upgrade module 602 is used to perform firmware upgrade processing on the device to be upgraded according to the firmware upgrade process and multiple first firmware packages.
[0295] The firmware upgrade device provided in the embodiment of the present application can execute the technical solution as described in any one of the first aspects, and its beneficial effects are similar, which will not be repeated here.
[0296] In a possible implementation, the determining module 601 is specifically configured to:
[0297] Determining an optimal upgrade sequence of the plurality of first firmware packages according to the upgrade information of the plurality of firmware in the configuration information;
[0298] A firmware upgrade process is generated according to the optimal upgrade sequence and the plurality of first firmware packages.
[0299] In a possible implementation, the determining module 601 is specifically configured to:
[0300] Determine the upgrade environment information of each firmware according to the upgrade information of each firmware in the configuration information;
[0301] A firmware upgrade process is generated according to the optimal upgrade sequence, the upgrade environment information of each firmware package, and the plurality of first firmware packages.
[0302] In a possible implementation, the determining module 601 is specifically configured to:
[0303] Obtain first device information of the device to be upgraded;
[0304] Obtaining second device information corresponding to each firmware package;
[0305] A plurality of first firmware packages are determined from the plurality of firmware packages according to the first device information and the second device information corresponding to each firmware package.
[0306] In a possible implementation, the determining module 601 is specifically configured to:
[0307] Determine a plurality of second firmware packages from the plurality of firmware packages according to the first device information and the second device information corresponding to each firmware package, wherein the second device information corresponding to the second firmware packages is the same as the first device information;
[0308] Obtaining first firmware information of each firmware in the device to be upgraded and second firmware information corresponding to each second firmware package;
[0309] According to the first firmware information of each firmware and the second firmware information corresponding to each second firmware package, a plurality of first firmware packages are determined in the plurality of second firmware packages.
[0310] The firmware upgrade device provided in the embodiment of the present application can execute the technical solution implemented by the firmware upgrade device in the above method embodiment, and its beneficial effects are similar and will not be repeated here.
[0311] Figure 7 This is a second structural diagram of the firmware upgrade device provided in the embodiment of the present application. Figure 7 ,exist Figure 6 Based on the structure of the firmware upgrade device 600 shown, the firmware upgrade device 600 may further include:
[0312] The transceiver module 603 is used to obtain multiple historical firmware upgrade data of multiple historical upgrade devices;
[0313] The generating module 604 is used to generate configuration information according to a plurality of historical firmware upgrade data.
[0314] In a possible implementation, the generating module 604 is specifically used for:
[0315] Determine, according to the plurality of historical firmware upgrade data, the association relationship between the plurality of preset firmwares during the firmware upgrade process, and the upgrade environment information of each preset firmware;
[0316] Determine the optimal sequence of the multiple preset firmwares in the firmware upgrade process according to the association relationship and the upgrade environment information of each preset firmware;
[0317] The configuration information is generated according to the optimal sequence, or the configuration information is generated according to the optimal sequence and the upgrade environment information of each preset firmware.
[0318] In a possible implementation, the upgrade environment information includes a device status of a device to be upgraded during a firmware upgrade process, and / or a firmware upgrade type.
[0319] In a possible implementation, the upgrade module 602 is specifically used to:
[0320] According to the multiple first firmware packages, the device to be upgraded is controlled to perform firmware upgrade processing on the multiple firmware according to the optimal upgrade sequence of the multiple first firmware packages in the firmware upgrade process.
[0321] In a possible implementation, the transceiver module 603 is further configured to:
[0322] Send multiple historical firmware upgrade data of multiple historical upgrade devices;
[0323] Configuration information is received, where the configuration information is generated based on a plurality of historical firmware upgrade data.
[0324] Figure 8 This is a third structural diagram of the firmware upgrade device provided in the embodiment of the present application. Figure 8 The firmware upgrade device 800 can be applied to the service device in the above embodiment, and the firmware upgrade device 800 may include:
[0325] The transceiver module 801 is used to receive multiple historical firmware upgrade data of multiple historical upgrade devices;
[0326] A generating module 802, configured to generate configuration information according to a plurality of historical firmware upgrade data;
[0327] The transceiver module 801 is also used to send configuration information, and the configuration information is used for firmware upgrade processing of the device to be upgraded.
[0328] The firmware upgrade device provided in the embodiment of the present application can execute the technical solution implemented by the service device in the above method embodiment, and its beneficial effects are similar and will not be repeated here.
[0329] In a possible implementation, the generating module 802 is specifically configured to:
[0330] Determine, according to the plurality of historical firmware upgrade data, the association relationship between the plurality of preset firmwares during the firmware upgrade process, and the upgrade environment information of each preset firmware;
[0331] Determine the optimal sequence of the multiple preset firmwares in the firmware upgrade process according to the association relationship and the upgrade environment information of each preset firmware;
[0332] The configuration information is generated according to the optimal sequence, or the configuration information is generated according to the optimal sequence and the upgrade environment information of each preset firmware.
[0333] In a possible implementation, the upgrade environment information includes a device status of a device to be upgraded during a firmware upgrade process, and / or a firmware upgrade type.
[0334] Fig. 9 A hardware structure diagram of a computing device provided in an embodiment of the present application. Fig. 9 The computing device 900 may be a firmware upgrade device or a service device in the above method embodiment, and the computing device 900 may include a processor 901 and a memory 902, and the processor 901 and the memory 902 are coupled. The processor 901 and the memory 902 may communicate; illustratively, the processor 901 and the memory 902 communicate via a communication bus 903.
[0335] The memory 902 is used to store program instructions;
[0336] The processor 901 is used to execute program instructions to perform the technical solution shown in the above method embodiment.
[0337] Optionally, the computing device 900 may further include a communication interface, which may include a transmitter and / or a receiver.
[0338] Optionally, the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application may be directly implemented as being executed by a hardware processor, or may be implemented by a combination of hardware and software modules in the processor.
[0339] A chip provided in an embodiment of the present application can implement the firmware upgrade method as described in the above embodiment, and its beneficial effects are similar and will not be repeated here.
[0340] An embodiment of the present application provides a computer-readable storage medium, on which computer-executable instructions are stored; when the computer-executable instructions are executed by a processor, they are used to implement the firmware upgrade method described in the above embodiment.
[0341] An embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the computer executes the firmware upgrade method described in the above embodiment.
[0342] All or part of the steps of the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a readable memory. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned memory (storage medium) includes: read-only memory (English: read-only memory, abbreviated: ROM), RAM, flash memory, hard disk, solid state drive, magnetic tape (English: magnetic tape), floppy disk (English: floppy disk), optical disc (English: optical disc) and any combination thereof.
[0343] The present application embodiment is described with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the present application embodiment. It should be understood that each process and / or box in the flowchart and / or block diagram and the combination of the process and / or box in the flowchart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to the processing unit of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable terminal device to produce a machine, so that the instructions executed by the processing unit of the computer or other programmable terminal device produce a device for realizing the function specified in one process or multiple processes in the flowchart and / or one box or multiple boxes in the block diagram.
[0344] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0345] These computer program instructions may also be loaded onto a computer or other programmable terminal device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0346] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the embodiments of the present application, rather than to limit them. Although the embodiments of the present application have been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein by equivalents. These modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A firmware upgrade method, characterized in that: The method comprises: Determine, among the multiple firmware packages, multiple first firmware packages corresponding to the multiple firmware in the device to be upgraded; Determining firmware upgrade processes corresponding to the plurality of first firmware packages according to upgrade information of the plurality of firmware in configuration information, the configuration information including upgrade information of a plurality of preset firmware, the plurality of preset firmware including the plurality of firmware; According to the firmware upgrade process and the multiple first firmware packages, firmware upgrade processing is performed on the device to be upgraded.
2. The method according to claim 1, characterized in that Determining, according to the upgrade information of the multiple firmwares in the configuration information, the firmware upgrade processes corresponding to the multiple first firmware packages, includes: Determining an optimal upgrade sequence of the plurality of first firmware packages according to the upgrade information of the plurality of firmware packages in the configuration information; The firmware upgrade process is generated according to the optimal upgrade sequence and the multiple first firmware packages.
3. The method according to claim 2, characterized in that Generating the firmware upgrade process according to the optimal upgrade sequence and the plurality of first firmware packages includes: Determine the upgrade environment information of each firmware according to the upgrade information of each firmware in the configuration information; The firmware upgrade process is generated according to the optimal upgrade sequence, the upgrade environment information of each firmware package, and the multiple first firmware packages.
4. The method according to any one of claims 1 to 3, characterized in that: Determining, among multiple firmware packages, multiple first firmware packages corresponding to multiple firmware in the device to be upgraded includes: Acquire first device information of the device to be upgraded; Obtaining second device information corresponding to each firmware package; The multiple first firmware packages are determined from the multiple firmware packages according to the first device information and the second device information corresponding to each firmware package.
5. The method according to claim 4, characterized in that Determining the plurality of first firmware packages from the plurality of firmware packages according to the first device information and the second device information corresponding to each firmware package includes: determining a plurality of second firmware packages from the plurality of firmware packages according to the first device information and the second device information corresponding to each of the firmware packages, wherein the second device information corresponding to the second firmware packages is the same as the first device information; Acquire first firmware information of each firmware in the device to be upgraded, and second firmware information corresponding to each second firmware package; The plurality of first firmware packages are determined from the plurality of second firmware packages according to the first firmware information of each firmware and the second firmware information corresponding to each second firmware package.
6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: Obtain multiple historical firmware upgrade data of multiple historical upgrade devices; The configuration information is generated according to the plurality of historical firmware upgrade data.
7. The method according to claim 6, characterized in that Generating the configuration information according to the plurality of historical firmware upgrade data includes: Determining, according to the plurality of historical firmware upgrade data, associations among the plurality of preset firmware during the firmware upgrade process, and upgrade environment information of each preset firmware; Determining the optimal order of the plurality of preset firmwares in the firmware upgrade process according to the association relationship and the upgrade environment information of each preset firmware; The configuration information is generated according to the optimal sequence, or the configuration information is generated according to the optimal sequence and the upgrade environment information of each preset firmware.
8. The method according to claim 3 or 7, characterized in that: The upgrade environment information includes the device status of the device to be upgraded during the firmware upgrade process, and / or the firmware upgrade type.
9. The method according to any one of claims 1 to 8, characterized in that: According to the firmware upgrade process and the multiple first firmware packages, performing firmware upgrade processing on the device to be upgraded includes: According to the multiple first firmware packages, the device to be upgraded is controlled to perform firmware upgrade processing on the multiple firmware packages according to the optimal upgrade sequence of the multiple first firmware packages in the firmware upgrade process.
10. A computing device, characterized in that include: Processor and memory; The processor is coupled to the memory; The memory is used to store program instructions; The processor is used to execute the program instructions to implement the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Firmware upgrading method and system, readable storage medium and terminal equipment
CN110875850A
Firmware upgrading method and device, equipment and storage medium
CN115129345A
Firmware upgrading method and device
CN116841585A
Firmware upgrading method and device, storage medium, electronic equipment and computer program product
CN118394388A