Computing node upgrading method and system, computing node, program product and storage medium

By obtaining installation packages during inactive periods of computing nodes and automatically upgrading, the problem of time-consuming and business interruption of computing node software upgrades in large data centers is solved, and an efficient and low-cost upgrade process is achieved.

CN119645445APending Publication Date: 2025-03-18CHINA UNIONPAY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411206561.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

The upgrade of computing node software in large data centers has many problems such as long upgrade time, high hardware cost, low degree of automation and business interruption, and it is difficult to maximize the impact of business.

Method used

Obtain the installation package during the inactive period of the computing node and determine the startup time by monitoring the startup process. If it is less than the threshold, the automatic upgrade process will be started and the required installation package will be obtained according to the upgrade list for upgrading.

Benefits of technology

By performing pre-download and automated upgrades during low load periods, the impact of upgrades on the business is reduced, upgrade efficiency is improved, and hardware and labor costs are reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119645445A_ABST
    Figure CN119645445A_ABST
Patent Text Reader

Abstract

The invention provides a computing node upgrading method, which comprises the following steps of: acquiring an installation package in an inactive period of a computing node; determining the starting duration of the computing node by monitoring the starting process of the computing node; under the condition that the starting duration is smaller than a starting duration threshold value, starting an automatic upgrading process; and calling the required installation package according to the upgrading task in the upgrading list so as to upgrade the computing node. The invention further provides a computing node upgrading system, a program product and the like.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and more specifically, to computing node upgrade technology. Background Art

[0002] With the rapid development of cloud computing technology, the number of servers in data centers, especially X86 servers, has increased rapidly, reaching tens of thousands or even hundreds of thousands, and the number of servers in large database centers has even reached millions. A server is a type of computer that runs faster, has a higher load, and is more expensive than an ordinary computer. It has high-speed CPU computing power, long-term reliable operation, strong I / O external data throughput, and better scalability. According to the services provided by the server, generally speaking, the server has the ability to respond to service requests, provide services, and guarantee services. According to the purpose, these servers are mostly used as computing nodes or computing nodes of cloud platforms, container platforms, database platforms, big data platforms, etc.

[0003] If there are defects or vulnerabilities in the software on the computing nodes, it will affect the service quality or pose a security risk. These software mainly include hardware drivers, firmware versions, operating systems, and virtualization software deployed at the upper layer, resource isolation software, cloud computing base, high-level network services, etc. However, the upgrade of some software requires restarting the server, and the application switching, inspection or transaction verification of the server is required before and after the restart. When the server scale is large, the cost of upgrading the computing node software is high and has an additional impact on the application.

[0004] The traditional upgrade method is to upgrade computing nodes in batches based on the resource type of the computing nodes, switch the services on the servers to the backup servers or migrate them to redundant servers in turn according to the batch strategy, then complete the upgrade and restart the servers, and finally perform business cutback or virtual machine migration. This batch upgrade solution has many disadvantages, such as long upgrade time, high hardware cost, low automation, and the upgrade process will cause business application interruption.

[0005] There is an urgent need for a computing node software upgrade method that is suitable for large-scale data centers and can minimize business impact, so as to solve the difficulties and pain points in the operation and maintenance of large data centers. Summary of the invention

[0006] According to some embodiments of the present application, a computing node upgrade method is provided, the method comprising: obtaining an installation package during an inactive period of the computing node; determining the startup duration of the computing node by monitoring the startup process of the computing node; starting an automatic upgrade process when the startup duration is less than a startup duration threshold; obtaining the required installation package according to the upgrade tasks in the upgrade list, and upgrading the computing node.

[0007] The computing node upgrade method described herein optionally or additionally determines the inactive period of the computing node through the following process: calculating the load value of the computing node in the previous period; calculating the current load value of the computing node; if the current load value is less than the comparison value of the load value in the previous period, and each of the current processor usage, memory usage, disk IO usage, and bandwidth usage of the computing node is less than a usage threshold set therefor, then it is determined that the computing node is currently in an inactive period; wherein the load value is related to the processor usage, memory usage, disk IO usage, and bandwidth usage.

[0008] In the computing node upgrade method, optionally or additionally, the comparison value in the load value of the previous period includes an average value of the load values ​​of the computing node at multiple moments in the previous period.

[0009] The computing node upgrade method may optionally or additionally determine the startup duration of the computing node by monitoring the startup process of the computing node, including: recording in a first log recording mode and a second log recording mode respectively during the self-check process of the computing node startup to generate a first log and a second log; determining whether the computing node is started normally based on the first log and the second log being the same; when it is determined that the computing node is started normally, determining the startup duration of the computing node respectively by the first mode and the second mode, and taking the largest startup duration among the determined startup durations as the startup duration of the computing node.

[0010] In the computing node upgrade method, optionally or additionally, the upgrade list is configured to include software to be upgraded, wherein the software to be upgraded is arranged according to priority.

[0011] The computing node upgrade method may optionally or additionally further include performing a software version and availability check after the upgrade is completed.

[0012] According to another aspect of the present application, a computing node upgrade system is provided. The system includes: a pre-download module, which is used to obtain an installation package during the inactive period of the computing node; a trigger module, which is used to determine the startup duration of the computing node by monitoring the startup process of the computing node, and start the automatic upgrade when the startup duration is less than the startup duration threshold; a list management module, which is used to configure an upgrade list of software to be upgraded, wherein the software to be upgraded in the upgrade list is arranged according to priority; and an upgrade module, which upgrades the computing node according to the upgrade list after the automatic upgrade is started.

[0013] The computing node upgrade system described above may, optionally or additionally, have the pre-download module determine the inactive period of the computing node according to the following process: calculating the load value of the computing node in the previous period; calculating the current load value of the computing load; if the current load value is less than a comparison value of the load value in the previous period, and each of the current processor usage, memory usage, disk IO usage, and bandwidth usage of the computing node is less than a usage threshold set therefor, then it is determined that the computing node is currently in an inactive period; wherein the load value is related to the processor usage, memory usage, disk IO usage, and bandwidth usage.

[0014] The computing node upgrade system may, optionally or additionally, comprise a comparison value of the load value of the previous period including an average value of the load values ​​of the computing node at multiple moments in the previous period.

[0015] The computing node upgrade system may, optionally or additionally, have a trigger module configured to determine the startup duration of the computing node through the following process: recording in a first log recording mode and a second log recording mode respectively during the self-check process of the computing node startup to generate a first log and a second log; determining whether the computing node is started normally based on the first log and the second log being identical; and determining the startup duration of the computing node by the first method and the second method respectively when it is determined that the computing node is started normally, and using the largest of the determined startup durations as the startup duration of the computing node.

[0016] The computing node upgrade system may further include a checking module for checking the software version and availability after the upgrade is completed.

[0017] According to another aspect of the present application, a computing node is also provided. The computing node includes a memory and a processor, wherein the memory stores instructions, and the processor implements any one of the above methods when executing the instructions.

[0018] The present application also provides a program product, wherein the program product includes program instructions, and when the instructions are executed, any one of the method examples described above is implemented.

[0019] The present application also provides a non-temporary storage medium having program instructions stored thereon, wherein the instructions implement any one of the method examples described above when executed.

[0020] In the above examples, the software to be upgraded is the basic software. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The following will describe the embodiments of the present application in detail with reference to the accompanying drawings so that the present application can be more fully understood, wherein:

[0022] Figure 1 A schematic diagram of the structure of the computing node 10 is shown;

[0023] Figure 2 A brief diagram of some structures in the cloud platform;

[0024] Figure 3 is a flowchart of a computing node upgrade method according to an example of the present application;

[0025] Figure 4 is a flow chart of a method for determining an inactive period of a computing node;

[0026] Figure 5 According to the example of this application Figure 3 A flowchart of a specific example of step S302;

[0027] Figure 6 is a flow chart of an automatic upgrade process according to an example of the present application;

[0028] Figure 7 is a structural diagram of a computing node upgrade system according to an embodiment of the present application;

[0029] Figure 8 is a schematic diagram of a computing node upgrade process according to a specific example of the present application;

[0030] Fig. 9 It is a schematic diagram of the post-upgrade inspection process according to a specific example of the present application. DETAILED DESCRIPTION

[0031] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the following will be combined with the accompanying drawings to describe the implementation methods of the present application more clearly and completely. It should be noted that the described implementation methods are only partial implementation methods of the technical solutions of the present application, not all. All other implementation methods obtained by ordinary technicians in this field based on the implementation methods recorded in the application documents without paying creative work are covered by the protection scope of the present application.

[0032] A computing node may be a processing node in a cloud platform or a communication system, and may be a computer, such as a server. A computing node includes hardware, an operating system running on the hardware, and an application system running on the hardware and the operating system. The methods, systems, etc. according to the examples of this application may be applied to computing nodes.

[0033] Figure 1 FIG. 1 shows a schematic diagram of the structure of a computing node 10, in which the computing node 10 is a server. Figure 1As shown, the computing node 10 includes a processor 100, a memory 101, a disk 102, and a communication interface 104. The processor 100 is a central processing unit CPU.

[0034] Figure 2 The partial structure of the cloud platform is briefly illustrated, specifically, a computing node 10 and a cloud storage device 12 are illustrated. The computing node 10 can communicate with other computing nodes in the cloud platform to process data. The computing node 10 also communicates with the cloud storage device 12. In each example of the present application, the cloud storage device 12 stores a variety of installation packages or other data for the computing node 10.

[0035] Figure 3 is a flowchart of a computing node upgrade method according to an example of the present application. The method may be, for example, Figure 1 In step S300, during the inactive period of the computing node, for example, from the cloud storage device 12 (see Figure 2 ) downloads the installation package. If the computing node is a new device, when it is put into use for the first time, the downloaded installation package is used for the initial installation. After the computing node is put into use, the installation package can be used to upgrade the installed software (such as basic software). In some cases, the installation package can be an installation package for new software for the computing node that has been put into use. In step S302, the startup duration of the computing node is determined by monitoring the startup process of the computing node. If the determined startup duration is less than the startup duration threshold, proceed to step S304 to start the automatic upgrade process. In this example, "less than" includes "equal to", and in actual applications, "less than" may not include "equal to". If the determined startup duration is greater than the startup duration threshold, no upgrade is performed and monitoring continues. In step S305, the required installation package is obtained according to the upgrade task in the upgrade list, and the computing node is upgraded. It should be noted that if the installation package has not been downloaded, the installation package can be downloaded from, for example, a cloud storage.

[0036] The upgrade list is pre-configured to the computing node, and includes basic software to be newly installed and to be upgraded in the computing node, wherein the basic software to be upgraded is arranged according to priority. According to an example of the present application, in step S300, when downloading the installation package, the installation package can be downloaded according to the priority order listed in the upgrade list.

[0037] like Figure 3 The method shown is not executed in the order described above. For example, step S300 can be executed during the entire process of the computing node 10. In some examples, after the automatic upgrade process is triggered in step S304, the computing node enters the automatic upgrade process, at which time the computing node can execute step S300 again.

[0038] According to some examples of this application, Figure 4 The process shown determines that the computing node is inactive. It should be noted that if the computing node is put into use for the first time, the installation package can be downloaded directly from the cloud storage device. After the computing node is put into use, it can be executed Figure 4 The method shown.

[0039] like Figure 4 As shown, in step S400, the load value of the computing node in the previous period is calculated. According to the example of this application. The "period" used to calculate the load can be set as needed, such as a few days. In the example of this application, the period is a week, and the previous period usually refers to the period before the current period (such as this week) (the week before this week, that is, the previous week). In this example, L cpu Indicates the utilization rate of the computing node processor, expressed in L io Indicates the server disk IO usage, in L m Indicates the usage of server memory, expressed in L n Indicates the server network bandwidth usage; k cpu , k m , k io , k n Indicates the weight coefficient of processor, memory, disk IO and network bandwidth. According to the example of this application, during the operation of the computing node, the above usage rate can be recorded in a preset manner to determine the computing node load value. Specifically, each t i The utilization of the processor, memory, disk IO and network bandwidth at time t is calculated according to formula (1) i The load value of the computing node at the moment:

[0040] SL(S ti ) = k cpu L cpu (S ti )+k m L m (S ti )+k io L io (S ti )+k n L n (S ti ) (1)

[0041] Where 1≤i, i is an integer, SL(S ti ) indicates t i The load value at the moment;

[0042] Among them, k cpu +k m +k io +k n =1, for example kcpu , k m , k io , k n Each has a value of 0.25.

[0043] When the previous period is the previous week, the load values ​​of the computing nodes at different times of the previous week have been calculated according to formula (1).

[0044] In step S402, the current load value of the computing node is calculated. The current load value is calculated according to the current collected utilization rate of the processor, memory, disk IO and network bandwidth of the computing node, and the current load value SL (S now ).

[0045] In step S404, the calculated current load value is compared with the comparison value in the load value of the previous period to determine whether the current load value is less than the comparison value in the load value of the previous period. As an example, the comparison value in the load value of the previous period is the average value SL (S avg ), can be calculated according to formula (2):

[0046]

[0047] As an alternative, the comparison value of the load values ​​in the previous period may also be other values, such as the minimum value of the load values ​​in the previous period, the average value of the load values ​​at some moments in the previous period, the median of the load values ​​in the previous period, etc.

[0048] If the comparison result is that the calculated current load value is smaller than the comparison value in the load value of the previous period, the process proceeds to step S406. Otherwise, the process proceeds to step S404.

[0049] In step S406, the current load value SL (S now ) is less than the usage threshold set for the processor, the usage of the disk IO is less than the usage threshold set for it, the usage of the memory is less than the usage threshold set for it, and the network bandwidth usage is less than the usage threshold set for it. Only when it is judged that each usage is less than the usage threshold set for it, proceed to step S408. Otherwise, continue to step S406.

[0050] In step S408, it is determined that the current period is an inactive period, and an installation package is downloaded from the cloud storage. The downloaded installation package is usually the latest one.

[0051] Figure 5 According to the example of this application Figure 3 A flowchart of a specific example of step S302. Figure 5As shown, in step S500, the computing node is started, and the first log recording mode and the second log recording mode are used to record, and the first log and the second log are generated. The first log recording mode is, for example, recording in / var / log / messages after the system is started, and the second log recording mode is, for example, recording in / var / log / boot.log. In step S502, it is determined whether the computing node is normally started according to the first log and the second log. For example, it is determined whether the date record of the first log is consistent with the date record of the second log. If they are consistent, it is determined that the computer is normally started, and the process proceeds to step S504. If they are inconsistent, it proceeds to step S503 to start the exception handling process. In step S504, the startup duration of the computing node is determined respectively by the first mode and the second mode, and the largest startup duration of the determined startup durations is used as the startup duration of the computing node. For example, the startup duration of the computing node is checked in the first mode and the second mode respectively, the startup duration checked in the first mode is T1, and the startup duration checked in the second mode is T2, and the one with the larger value (longer startup duration) of T1 and T2 is used as the startup duration of the computing node. The first mode and the second mode can be implemented by programming, for example, the first mode is a mode of several seconds, and the second mode determines the startup duration according to the startup end time and the startup start time.

[0052] In a specific example, the startup time of a computing node can be checked by the first method, which can be achieved by the following core instructions:

[0053] [root@HOST1~]#second_time=$(cat / proc / uptime|awk-F.'{print$1}'}#Server startup seconds

[0054] [root@HOST1~]#min_time=$second_time / 60#Server startup minutes

[0055] The second method to check the startup time of the computing node can be achieved through the following core instructions:

[0056] [root@H4022206]#current_time=$date+"%Y%m%d%H:%M"#Current system time

[0057] [root@H4022206]#bootup_time=$who-b|awk"{print$3,$4}";#System startup time

[0058] [root@H4022206]#time_diff=$current_time-$bootup_time#The number of minutes obtained by subtracting the system startup time from the system current time, that is, the server running time

[0059] According to some examples of the present application, the startup duration threshold is 5 minutes. If the determined startup duration is less than the startup duration threshold, the automatic upgrade process of the computing node can be started. Specifically, when the startup duration is less than 5 minutes, the automatic upgrade process of the computing node is called. If the call is successful, the automatic upgrade process is entered. If the call fails, an exception is handled and a log record of the failure can be recorded.

[0060] Figure 6 is a flow chart of the automatic upgrade process according to the example of the present application. After the automatic upgrade process is started, Figure 6 As shown, in step S600, the software to be upgraded is checked to determine whether it meets the upgrade conditions. If it does not meet the conditions, the process proceeds to step S700. If it meets the conditions, the process proceeds to step S602. The check on the software to be upgraded may include checking whether the software to be upgraded exists. In some examples, it may also be checked whether the software to be upgraded is complete and / or whether the current computing node has the authority to perform the upgrade. In step S602, it is checked whether the installation package for upgrading the software to be upgraded has been downloaded. In the case of having been downloaded, it is further determined (step S604) whether the downloaded installation package meets the upgrade conditions, for example, whether the software version meets expectations. In the case where the detection result of step S602 is that the software has not been downloaded, the installation package may be downloaded from the cloud storage device. In some examples, once it is determined that the installation package has not been downloaded, the installation package may be executed first. Figure 4 In the process shown, the inactive period of the computing node is first determined. After the installation package is downloaded, step S604 is entered to check whether the upgrade conditions are met. According to this example, if step S604 determines that the installation package has met the upgrade conditions, the process of the software to be upgraded is checked. Otherwise, the process proceeds to the exception handling step S700. If step S604 determines that the installation package meets the upgrade conditions, check whether there is a process for the software to be upgraded, that is, whether it is in the process (step S606). If so, wait for the process to end before entering the upgrade process (step S608). If there is no process, start the upgrade process immediately (step S609).

[0061] In each example of the present application, the upgrade list of the computing node software (such as the basic software upgrade list) is pre-configured and after the list is configured to the computing node, the list content included therein can still be added, deleted, adjusted in order, started, disabled, and other operations. For example, the function of adding software to be upgraded in the upgrade list can be triggered by the user to add the software to be upgraded to the upgrade list. If the addition is unsuccessful, a prompt indicating that the operation failed is returned so that the user can understand. Deleting software to be upgraded, adjusting the priority data of software to be upgraded, enabling tasks of software to be upgraded, deactivating basic software to be upgraded in the list, etc. are all similar to the "add software to be upgraded" operation, so they will not be repeated.

[0062] Combination of the above Figures 3 to 6 The described method may be performed by a computing node, e.g. Figure 1 The computing node 10 shown. For example, in combination Figures 3 to 6 The computing node upgrade method shown is executed by the processor 100. During the execution process, the inactive period is determined by detecting the utilization rate of the processor 100, the utilization rate of the memory 101, the IO utilization rate of the disk 102, and the utilization rate of the network by the communication interface 104. The installation package is downloaded during the inactive period. In this way, by downloading the software installation package during the inactive period, the installation package can be prepared in advance during the low peak period of the computing node's business, avoiding the situation of downloading the installation package during the peak period of business during the upgrade, which helps to improve the upgrade efficiency while avoiding affecting the business processing during the peak period. In the process of executing this method, the startup status of the computing node is also monitored. In this way, it is possible to upgrade the software listed in the upgrade list when the computing node is started during the business processing process, without restarting the computing node for upgrading the software.

[0063] Figure 7 It is a structural diagram of a computing node upgrade system according to an embodiment of the present application. The upgrade system 7 includes a pre-download module 70, a trigger module 72, a list management module 74, an upgrade module 76, and according to some examples, may also include a check module 78. The pre-download module 70 is used to obtain the installation package during the inactive period of the computing node. The trigger module 72 is used to determine the startup duration of the computing node by monitoring the startup process of the computing node, and start the automatic upgrade when the determined startup duration is less than the startup duration threshold. The list management module 74 is used to configure an upgrade list of basic software to be upgraded, wherein the basic software to be upgraded in the upgrade list is arranged according to priority. After the automatic upgrade is started, the upgrade module 76 upgrades the computing node according to the upgrade list.

[0064] As an example, the pre-download module 70 is configured to determine the inactive period of the computing node according to the following process: the pre-download module 70 calculates the load value of the computing node in the previous period, calculates the current load of the computing node, and if the current load value is less than the comparison value in the load value of the previous period, and each of the current processor usage, memory usage, disk IO usage, and bandwidth usage of the computing node is less than the usage threshold set for it, it is determined that the computing node is currently in an inactive period. The load value is related to the processor usage, memory usage, disk IO usage, and bandwidth usage.

[0065] As an example, the trigger module 72 is configured to determine the startup duration of the computing node according to the following process: during the self-check process of the computing node startup, the first log recording method and the second log recording method are respectively recorded to generate a first log and a second log; based on the fact that the first log and the second log are the same, it is determined whether the computing node is started normally; when it is determined that the computing node is started normally, the startup duration of the computing node is determined by the first method and the second method respectively, and the largest startup duration among the determined startup durations is used as the startup duration of the computing node.

[0066] The list management module 74 is configured to manage the upgrade list of the basic software of the computing node. Specifically, the list management module 74 can be used to add the function of the software to be upgraded in the upgrade list under the user's operation to add the software to be upgraded to the upgrade list. If the addition is unsuccessful, a prompt indicating that the operation failed is returned so that the user can understand. Deleting the software to be upgraded, adjusting the priority data of the software to be upgraded, enabling the task of the software to be upgraded, deactivating the basic software to be upgraded in the list, etc. are all similar to the "add software to be upgraded" operation, and will not be repeated here.

[0067] Figure 7 The computing node upgrade system shown can be used to perform the above combined Figures 3 to 6 For example, the pre-download module 70 executes step S300, and Figure 4 In the process shown in FIG. 1 , the trigger module 72 executes step S302 and step S304, and Figure 5 In the process shown in FIG. 1 , the upgrade module 76 executes step S305 and combines Figure 6 The checking module 78 is used to check the software version and the availability of the upgraded software after the upgrade is completed. If the checking result is abnormal, the abnormality handling process can be called.

[0068] The present application also provides a schematic diagram of a computing node. The computing node includes a memory and a processor, the memory stores instructions, and when the processor executes the instructions, it can implement any of the examples described above in conjunction with the accompanying drawings. The computing node is, for example, Figure 1In the computing node 10 shown, instructions are stored on a disk 102 , for example, and can be read and executed by a processor 100 . During the reading process, the instructions may also be stored from the disk to the memory 101 .

[0069] Figure 7 The computing node upgrade system shown can be implemented in, for example, Figure 1 In the computing node 10 shown. For example, the computing node upgrade system can be implemented as a software module through program instructions, and these software modules implemented by program instructions can be stored in the computing node 10 and executed by the processor of the computing node 10. In another example, the computing node upgrade system can be implemented in a single-end processor through program instructions, and the processor is set in the computing node 10 or connected to the computing node 10, thereby realizing automatic upgrade of the computing node 10.

[0070] Figure 8 is a process diagram of a computing node upgrade method according to the present application, which consists of Figure 7 Please refer to the following computer upgrade system. Figure 7 and Figure 8 .

[0071] After the method starts to execute, in step S801, the physical node startup time is checked. The physical node here is the computing node. Specifically, the physical node startup time is checked according to the above Figure 5The described process monitors the startup of the computing node and determines the startup duration. In step S802, the determined startup duration is compared with the startup duration threshold. In this example, the startup duration threshold is 5 minutes. If the comparison result is that the startup duration is less than the threshold, then proceed to step S804, otherwise continue to step S801. In step S804, check the software to be upgraded. For example, the software to be upgraded is listed on the upgrade list, and the upgrade list indicates that the software to be upgraded is A. Then first check whether the software to be upgraded exists (step S806) on the physical node. In some examples, it is also checked whether the physical node has the authority to upgrade software A. If the check passes, proceed to step S808, otherwise proceed to exception handling step S1000. In step S808, check the version of the installation package used to upgrade the software. In step S810, determine whether the upgrade requirements are met based on the version and other information. If the upgrade requirements are met, proceed to step S812, otherwise proceed to exception handling step S1000. In step S812, check the process status of the software to be upgraded. For example, check the process status of software A to be upgraded. If the software to be upgraded currently has a process, stop the process of upgrading the software, such as step S814. If the detection result of step S812 is that there is no process, go to step S816 to enter the software upgrade process. After step S814, it will be checked again (step S815) whether there is still a process for the software to be upgraded. There is a certain time interval between this check and the check of step S812. If the check result shows that there is no process, go to step S816, otherwise go to step S1000. In step S818, determine whether the upgrade is successful. If the judgment result of S818 is successful, call (step S820) the check module to check whether the upgraded software is successfully installed. If the judgment result is successful installation, it ends; otherwise, go to exception handling step S1000. If step S818 indicates that the software upgrade is unsuccessful, go to exception handling step S1000. It should be noted that the judgment of whether the upgrade is successful in step S818 is mainly to determine whether the upgrade process is completed.

[0072] also, Figure 8 After the method shown is started, the pre-download module 70 determines the inactive period of the computing node and downloads the pre-download module 70 from the cloud storage 12 ( Figure 2 ) download (step S830) the installation package. Specifically, the process can be performed Figure 4 If there is any failure in the process, that is, any exception, then the process proceeds to the exception handling step S1000. Otherwise, the downloaded installation package is provided so that the required installation package can be called from the downloaded installation package during the upgrade process from the trigger module 72 to the upgrade module 76.

[0073] Fig. 9FIG. 1 is a schematic diagram of a post-upgrade inspection process according to a specific example of the present application. Fig. 9 As shown, after the start step, the detection module 78 (see Figure 7 ) reads (step S900) the upgrade list, which is managed by the list management module 74. The software to be upgraded on the computing node is listed in the list according to the upgrade priority. In step S902, it is determined whether the reading is successful. If the reading is successful, it proceeds to step S904, otherwise, it returns to step S900. In step S904, the software upgrade result in the upgrade list is checked to determine whether the software upgrade is successful through the upgrade record (step S906). If the upgrade is successful, it proceeds to step S908. If the check result in step S906 is that the upgrade fails, it proceeds to step S980 to notify the upgrade failure. In step S908, the upgraded software version is checked to determine whether the software version is the target version, that is, whether it meets expectations (step S909). If the upgraded software version meets expectations, the software status is further checked (step S910). If the upgraded software version does not meet expectations, it proceeds to step S980. In step S910, the software status is checked and it is determined (step S912) whether the software status is normal, which may include whether the software can be run normally, whether the upgraded software is complete, etc. If the checking result of step S912 is that the software status is normal, the process ends, otherwise, the process proceeds to step S980. In step S980, a notification of upgrade failure is issued.

[0074] The present application also provides a program product, which includes instructions, which, when executed, implement any one of the computing node upgrade methods described above. The present application also provides a non-transitory storage medium, which stores program instructions, which, when executed, implement any one of the computing node upgrade methods described above.

[0075] When executing the upgrade method according to the example of the present application, or using the upgrade system according to the example of the present application to upgrade the software (such as basic software) of the computing node (such as a server):

[0076] 1. By configuring the upgrade list, list the software to be upgraded and set the priority for it, so that when the upgrade module is started, it will be upgraded according to the priority in the list. Not only that, when the pre-download module is downloading, it can also be downloaded according to the priority listed in the list. This is to upgrade the most important software first.

[0077] 2. By checking the business processing of the computing nodes, the inactive period (off-peak period of business processing) is determined. During this period, the installation package is pre-downloaded, which effectively improves the utilization of network resources, reduces the risk of business interruption, reduces the impact on business peak periods, avoids a decline in user experience, and ensures the smooth progress of the update or installation process.

[0078] 3. By monitoring the startup status of computing nodes, every restart opportunity of computing nodes can be effectively utilized, including all restart opportunities of computing nodes such as downtime, hardware maintenance, drills, tamping, resource exhaustion, etc., to realize software upgrades of computing nodes, effectively solving the problem of fixed and inflexible upgrade time of existing upgrade solutions.

[0079] 4. Take advantage of every opportunity to restart the computing nodes to spread the upgrade of basic software throughout daily operations. This allows the basic software version to be upgraded or bugs to be fixed without the need to arrange a special upgrade window or additional migration or switching arrangements. Compared with the existing batch upgrade solution, this reduces labor costs, application anomalies and business interruptions caused by upgrades, and helps ensure stable business operations.

[0080] 5. According to the various solutions of this application, there is no need to add redundant servers for computing node upgrades, which can achieve the effect of not increasing hardware costs during computing node upgrades, and has good economic efficiency.

[0081] 6. Use the self-test results, logs, startup duration, and startup time of the computing nodes to conduct a comprehensive assessment to avoid false positives and missed positives caused by using a single method.

[0082] According to the various methods of the examples in this application, it can be used to upgrade the basic software of large-scale computing nodes such as cloud platforms, container platforms, database platforms, and big database platforms, including hardware drivers, firmware versions, operating systems, and upper-layer deployed virtualization software, resource isolation software, cloud computing bases, high-level network services, etc., and has a wide range of applicability.

[0083] Although specific embodiments of the present application have been shown and described in detail to illustrate the principles of the present application, it should be understood that the present application may be implemented in other ways without departing from such principles. For example, the technical features of the various embodiments / examples / examples of the present application may be combined with each other to form new implementation methods.

Claims

1. A computing node upgrade method, characterized in that: The method comprises: During an inactive period of the computing node, obtaining an installation package; Determining the startup duration of the computing node by monitoring the startup process of the computing node; When the startup time is less than the startup time threshold, starting the automatic upgrade process; Obtain the required installation package according to the upgrade task in the upgrade list to upgrade the computing node.

2. The method according to claim 1, characterized in that The inactive period of the computing node is determined by the following process: Calculating the load value of the computing node in the previous period; Calculating a current load value of the computing node; If the current load value is less than the comparison value in the load value of the previous period, and the current processor usage, memory usage, disk IO usage, and bandwidth usage of the computing node are respectively less than the processor usage threshold, the memory usage threshold, the disk IO usage threshold, and the bandwidth usage threshold, it is determined that the computing node is in an inactive period; The load value is related to the processor usage, memory usage, disk IO usage, and bandwidth usage.

3. The method according to claim 2, characterized in that: The comparison value in the load value of the previous period includes an average value of the load values ​​of the computing node at multiple moments in the previous period.

4. The method according to claim 1, characterized in that: Determining the startup duration of the computing node by monitoring the startup process of the computing node includes: During the self-check process started by the computing node, recording is performed in a first log recording mode and a second log recording mode respectively to generate a first log and a second log; Determine whether the computing node is powered on normally according to the first log and the second log; When it is determined that the computing node is started normally, the startup duration of the computing node is determined by the first method and the second method respectively, and the longest startup duration among the determined startup durations is used as the startup duration of the computing node.

5. The method according to claim 4, characterized in that The upgrade list is configured to include software to be upgraded, wherein the software to be upgraded is arranged according to priority.

6. The method according to claims 1 to 5, characterized in that It also includes checking the software version and availability after the upgrade is completed.

7. A computing node upgrade system, characterized in that: The system comprises: A pre-download module, used to obtain the installation package during the inactive period of the computing node; A trigger module, configured to determine the startup duration of the computing node by monitoring the startup process of the computing node, and start automatic upgrade when the startup duration is less than a startup duration threshold; A list management module, used to configure an upgrade list of basic software to be upgraded, wherein the basic software to be upgraded in the upgrade list is arranged according to priority; An upgrade module is used to upgrade according to the upgrade list after the automatic upgrade is started.

8. The system according to claim 7, characterized in that The pre-download module determines the inactive period of the computing node according to the following process: Calculating the load value of the computing node in the previous period; Calculating a current load value of the calculation load; If the current load value is less than the comparison value in the load value of the previous period, and the current processor usage, memory usage, disk IO usage, and bandwidth usage of the computing node are respectively less than the processor usage threshold, the memory usage threshold, the disk IO usage threshold, and the bandwidth usage threshold, it is determined that the computing node is in an inactive period; The load value is related to the processor usage, memory usage, disk IO usage, and bandwidth usage.

9. The system according to claim 8, characterized in that The comparison value in the load value of the previous period includes an average value of the load values ​​of the computing node at multiple moments in the previous period.

10. The system according to claim 8, characterized in that The trigger module is configured to determine the startup duration of the computing node through the following process: During the self-check process started by the computing node, recording is performed in a first log recording mode and a second log recording mode respectively to generate a first log and a second log; Determine whether the computing node is powered on normally according to the first log and the second log; When it is determined that the computing node is started normally, the startup duration of the computing node is checked by the first method and the second method respectively, and the longest startup duration among the determined startup durations is used as the startup duration of the computing node.

11. The system according to claim 10, characterized in that The upgrade list is configured to include software to be upgraded, wherein the software to be upgraded is arranged according to priority.

12. The system according to any one of claims 7 to 11, characterized in that The system also includes a checking module, which is used to check the software version and availability after the upgrade is completed.

13. A computing node, characterized in that: The computing node includes a memory and a processor, the memory stores instructions, and the processor implements the method according to any one of claims 1 to 6 when executing the instructions.

14. A program product, characterized in that The program product comprises program instructions, which implement the method according to any one of claims 1 to 6 when executed.

15. A non-transitory storage medium, characterized in that: The storage medium stores program instructions, which implement the method according to any one of claims 1 to 6 when executed.