Method and device for upgrading computing nodes

By obtaining upgrade strategies and tenant information and selecting appropriate computing nodes for upgrade, the impact of computing node upgrades on tenant services is resolved, the impact on tenant services in the event of a failure is reduced, and the user experience is improved.

CN113407295BActive Publication Date: 2025-09-05HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010182436.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-03-16
Publication Date
2025-09-05
Estimated Expiration
2040-03-16

AI Technical Summary

Technical Problem

In the prior art, tenant information is ignored during computing node upgrades, resulting in failures that affect tenant services, especially high-level tenant services, and degrade user experience.

Method used

By obtaining the upgrade strategy and tenant information, M computing nodes to be upgraded are determined. The allocation and level of tenant VMs are considered to avoid upgrading VMs of the same tenants or high-level tenants in the same batch, ensuring that the impact on tenant business is reduced during the upgrade process.

Benefits of technology

When a failure occurs during a compute node upgrade, the impact on tenant services, especially high-level tenant services, is reduced, improving user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113407295B_ABST
    Figure CN113407295B_ABST
Patent Text Reader

Abstract

The present application provides a method and apparatus for upgrading computing nodes. The method comprises: obtaining an upgrade policy and tenant information; determining, based on the upgrade policy and the tenant information, M computing nodes to be upgraded from N computing nodes to be upgraded, where N is a positive integer greater than or equal to 2, and M is a positive integer greater than or equal to 1 and less than N; and performing an upgrade operation on the M computing nodes to be upgraded. The method and apparatus for upgrading computing nodes provided herein can reduce the impact on tenant services in the event of a computing node upgrade failure.
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 particularly, to a method and apparatus for upgrading a computing node. Background Art

[0002] As the scale of public clouds continues to expand, the number of tenants and computing nodes (eg, physical hosts or virtual machines) that carry tenant services also increases accordingly. In existing technologies, the business needs of different tenants can be met by upgrading computing nodes.

[0003] The traditional upgrade method is to upgrade computing nodes in batches based on the resource type of the computing nodes. The process of batch upgrade is to group the computing nodes according to the resource type of the computing nodes (for example, compute-intensive or network-enhanced), and then perform upgrade operations on each group of computing nodes in turn. For example, by performing batch upgrades based on the resource type of the computing nodes, a group of computing nodes to be upgraded with a resource type of network-enhanced is obtained, and then the computing nodes to be upgraded are upgraded. Based on the above scheme, if a computing node upgrade fails, it will affect the use of computing nodes of a certain resource type, and further affect the business of tenants assigned to computing nodes of that resource type.

[0004] Therefore, there is an urgent need for a method for upgrading computing nodes that can reduce the impact on tenant services in the event of a failure during the computing node upgrade. Summary of the Invention

[0005] The present application provides a method and apparatus for computing node upgrade, which can reduce the impact on tenant services in the event of a computing node upgrade failure.

[0006] In a first aspect, a method for upgrading a computing node is provided, the method comprising:

[0007] Obtain upgrade strategies and tenant information;

[0008] Determine, according to the upgrade policy and the tenant information, M computing nodes to be upgraded from the N computing nodes to be upgraded, where N is a positive integer greater than or equal to 2, and M is a positive integer greater than or equal to 1 and less than N;

[0009] Perform an upgrade operation on the M computing nodes to be upgraded.

[0010] Based on the above solution, when performing the upgrade operation on the computing node to be upgraded, the tenant information included in the computing node to be upgraded is taken into account. In the event of a failure in the computing node upgrade, the impact on the tenant's business can be reduced.

[0011] In conjunction with the first aspect, in certain implementations of the first aspect, the upgrade policy includes a first threshold and a second threshold, the first threshold and the second threshold are positive integers, the first threshold is less than the second threshold, and the second threshold is less than the number of VMs allocated to the same tenant by the N computing nodes to be upgraded, the tenant information includes VM allocation information, and the VM allocation information is used to indicate the number of VMs allocated to the same tenant by each of the N computing nodes to be upgraded.

[0012] Determining M computing nodes to be upgraded from the N computing nodes to be upgraded based on the upgrade policy and the tenant information includes:

[0013] Determine, based on the first threshold and the VM allocation information, K candidate computing nodes from the N computing nodes to be upgraded, where K is a positive integer less than or equal to N and greater than or equal to M, and the number of VMs allocated to the same tenant by each of the K candidate computing nodes is less than or equal to the first threshold;

[0014] According to the second threshold, the M computing nodes to be upgraded are determined from the K candidate computing nodes, and the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold.

[0015] This solution can minimize the chances that most or even all VMs assigned to a tenant will be upgraded in the same batch, minimizing the impact on the tenant's business if a compute node upgrade fails.

[0016] In conjunction with the first aspect, in certain implementations of the first aspect, the upgrade strategy further includes a third threshold value, the third threshold value is a positive integer, the third threshold value is less than or equal to the maximum level assigned to the tenant in the N computing nodes to be upgraded, the tenant information further includes tenant level information, the tenant level information is used to indicate the level of the tenant included in each of the N computing nodes to be upgraded.

[0017] Determining K candidate computing nodes from the N computing nodes to be upgraded according to the first threshold and the VM allocation information includes:

[0018] Determine, based on the first threshold and the VM allocation information, Q candidate computing nodes from the N computing nodes to be upgraded, where Q is a positive integer less than or equal to N and greater than or equal to M, and the number of VMs allocated to the same tenant by each of the Q candidate computing nodes is equal to the first threshold;

[0019] Based on the third threshold and the tenant level information, the K candidate computing nodes are determined from the Q candidate computing nodes, where K is a positive integer less than or equal to Q and greater than or equal to M, and the level of the tenant included in each computing node to be upgraded in the K candidate computing nodes is less than or equal to the third threshold.

[0020] Based on the above solution, it is possible to avoid the VMs of high-level tenants from being upgraded at the same time. In the event of a failure during the upgrade of a computing node, the impact on the services of high-level tenants can be reduced.

[0021] In combination with the first aspect, in some implementations of the first aspect, the upgrade strategy further includes the number of computing nodes to be upgraded, and the number of nodes to be upgraded is equal to M.

[0022] In conjunction with the first aspect, in certain implementations of the first aspect, before determining the M computing nodes to be upgraded from the K candidate computing nodes based on the second threshold, the method further includes:

[0023] Sort the K candidate computing nodes according to the number of tenant VMs included in each candidate computing node to obtain an orchestration list;

[0024] Determining the M computing nodes to be upgraded from the K candidate computing nodes according to the second threshold includes:

[0025] In the orchestration list, the M computing nodes to be upgraded are determined from the K candidate computing nodes in order, and the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold.

[0026] Based on the above solution, it can be ensured that when the upgrade operation is performed on the M computing nodes to be upgraded, the M computing nodes to be upgraded include a large number of tenant VMs.

[0027] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes:

[0028] An upgrade operation is performed on the computing nodes to be upgraded among the N computing nodes to be upgraded except the M computing nodes to be upgraded.

[0029] In a second aspect, two computing node upgrade devices are provided, the devices comprising:

[0030] An acquisition unit, used to obtain upgrade policies and tenant information;

[0031] a processing unit, configured to determine, based on the upgrade policy and the tenant information, M computing nodes to be upgraded from the N computing nodes to be upgraded, where N is a positive integer greater than or equal to 2, and M is a positive integer greater than or equal to 1 and less than N;

[0032] The processing unit is further configured to perform an upgrade operation on the M computing nodes to be upgraded.

[0033] Based on the above solution, when performing the upgrade operation on the computing node to be upgraded, the tenant information included in the computing node to be upgraded is taken into account. In the event of a failure in the computing node upgrade, the impact on the tenant's business can be reduced.

[0034] In conjunction with the second aspect, in certain implementations of the second aspect, the upgrade policy includes a first threshold and a second threshold, the first threshold and the second threshold are positive integers, the first threshold is less than the second threshold, and the second threshold is less than the number of VMs allocated to the same tenant by the N computing nodes to be upgraded, the tenant information includes VM allocation information, and the VM allocation information is used to indicate the number of VMs allocated to the same tenant by each of the N computing nodes to be upgraded.

[0035] The processing unit is also used to:

[0036] Determine, based on the first threshold and the VM allocation information, K candidate computing nodes from the N computing nodes to be upgraded, where K is a positive integer less than or equal to N and greater than or equal to M, and the number of VMs allocated to the same tenant by each of the K candidate computing nodes is less than or equal to the first threshold;

[0037] According to the second threshold, the M computing nodes to be upgraded are determined from the K candidate computing nodes, and the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold.

[0038] This solution can minimize the chances that most or even all VMs assigned to a tenant will be upgraded in the same batch, minimizing the impact on the tenant's business if a compute node upgrade fails.

[0039] In conjunction with the second aspect, in certain implementations of the second aspect, the upgrade strategy further includes a third threshold value, the third threshold value is a positive integer, the third threshold value is less than or equal to the maximum level assigned to the tenant in the N computing nodes to be upgraded, the tenant information further includes tenant level information, the tenant level information is used to indicate the level of the tenant included in each of the N computing nodes to be upgraded.

[0040] The processing unit is also used to:

[0041] Determine, based on the first threshold and the VM allocation information, Q candidate computing nodes from the N computing nodes to be upgraded, where Q is a positive integer less than or equal to N and greater than or equal to M, and the number of VMs allocated to the same tenant by each of the Q candidate computing nodes is equal to the first threshold;

[0042] Based on the third threshold and the tenant level information, the K candidate computing nodes are determined from the Q candidate computing nodes, where K is a positive integer less than or equal to Q and greater than or equal to M, and the level of the tenant included in each computing node to be upgraded in the K candidate computing nodes is less than or equal to the third threshold.

[0043] Based on the above solution, it is possible to avoid the VMs of high-level tenants from being upgraded at the same time. In the event of a failure during the upgrade of a computing node, the impact on the services of high-level tenants can be reduced.

[0044] In combination with the second aspect, in some implementations of the second aspect, the upgrade strategy further includes the number of computing nodes to be upgraded, and the number of nodes to be upgraded is equal to M.

[0045] In conjunction with the second aspect, in certain implementations of the second aspect, before determining the M computing nodes to be upgraded from the K candidate computing nodes based on the second threshold, the processing unit is further configured to:

[0046] Sort the K candidate computing nodes according to the number of tenant VMs included in each candidate computing node to obtain an orchestration list;

[0047] Determine the M computing nodes to be upgraded from the K candidate computing nodes according to the second threshold, and the processing unit is further configured to:

[0048] In the orchestration list, the M computing nodes to be upgraded are determined from the K candidate computing nodes in order, and the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold.

[0049] Based on the above solution, it can be ensured that when the upgrade operation is performed on the M computing nodes to be upgraded, the M computing nodes to be upgraded include a large number of tenant VMs.

[0050] In conjunction with the second aspect, in some implementations of the second aspect, the processing unit is further configured to:

[0051] An upgrade operation is performed on the computing nodes to be upgraded among the N computing nodes to be upgraded except the M computing nodes to be upgraded.

[0052] In a third aspect, a device for upgrading a computing node is provided, characterized in that it is used to execute the method in the above-mentioned first aspect or any possible implementation of the first aspect. Specifically, the device includes a module for executing the method in the above-mentioned first aspect or any possible implementation of the first aspect.

[0053] In a fourth aspect, embodiments of the present application provide a device for upgrading a computing node, comprising: a memory and a processor. The memory is configured to store instructions, and the processor is configured to execute the instructions stored in the memory, wherein when the processor executes the instructions stored in the memory, the execution causes the processor to perform the method of the first aspect or any possible implementation of the first aspect.

[0054] In a fifth aspect, an embodiment of the present application provides a computer-readable medium for storing a computer program, wherein the computer program includes instructions for executing the method in the first aspect or any possible implementation of the first aspect.

[0055] In a sixth aspect, an embodiment of the present application further provides a computer program product comprising instructions, which, when run on a computer, enables the computer to execute the method in the first aspect or any possible implementation of the first aspect.

[0056] In the seventh aspect, a chip is provided, comprising at least one processor and an interface; the at least one processor is used to call and run a computer program so that the chip is used to execute the method in the above-mentioned first aspect or any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] Figure 1 Schematic diagram of a cloud system 100 applicable to an embodiment of the present application.

[0058] Figure 2 It is a schematic flowchart of a method 200 for upgrading a computing node provided in an embodiment of the present application.

[0059] Figure 3 It is a schematic block diagram of a method 200 for upgrading a computing node provided in an embodiment of the present application.

[0060] Figure 4 It is a schematic block diagram of a method 200 for upgrading a computing node provided in an embodiment of the present application.

[0061] Figure 5 It is a schematic block diagram of an apparatus 500 for upgrading a computing node according to an embodiment of the present application.

[0062] Figure 6 It is a schematic block diagram of a computing node upgrade device 600 according to an embodiment of the present application. DETAILED DESCRIPTION

[0063] The method and apparatus for computing node upgrade provided in the embodiment of the present application can be applied to a computer, which includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a (Central Processing Unit, CPU), a memory management unit (Memory Management Unit, MMU) and memory (also known as main memory). The operating system can be any one or more computer operating systems that implement business processing through a process (Process), for example, a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system or a Windows operating system. The application layer includes applications such as a browser, an address book, a word processing software, and an instant messaging software. Furthermore, in the embodiment of the present application, the computer can be a handheld device such as a smart phone, or a terminal device such as a personal computer. This application is not particularly limited, as long as it can process data according to the method for compressing data according to the embodiment of the present application by running a program that records the code of the method for compressing data according to the embodiment of the present application. The execution subject of the method for compressing data according to the embodiment of the present application can be a computer device, or a functional module in a computer device that can call a program and execute a program.

[0064] In addition, various aspects or features of the present application can be implemented as methods, devices or products using standard programming and / or engineering techniques. The term "product" as used in this application covers computer programs that can be accessed from any computer-readable device, carrier or medium. For example, computer-readable media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks or tapes, etc.), optical disks (e.g., compact discs (CDs), digital versatile discs (DVDs), etc.), smart cards and flash memory devices (e.g., erasable programmable read-only memories (EPROMs), cards, sticks or key drives, etc.). In addition, the various storage media described herein may represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing and / or carrying instructions and / or data.

[0065] To facilitate understanding, the relevant terms involved in the embodiments of this application are first briefly introduced.

[0066] 1. Public Cloud

[0067] A public cloud typically refers to a cloud service provided by a third-party provider for users to use. Public clouds are typically accessible via the internet. The core attribute of a public cloud is shared resource services.

[0068] 2. Tenants

[0069] In the field of cloud computing, a tenant refers to an account that rents public cloud resources. A tenant is sometimes also called a cloud tenant.

[0070] 3. Users

[0071] A user is a sub-account created by a tenant under their account. A user has some of the tenant's permissions. Additionally, tenants can set permissions for resources and operations as needed.

[0072] 4. User Group

[0073] User groups: Multiple users can be grouped together, and tenant operations on user groups will be applied to every user in the group.

[0074] 5. Tenant Virtual Machine (VMware, VM)

[0075] A tenant virtual machine (VMware, VM), namely a tenant VM, refers to a VM allocated to a tenant.

[0076] The technical solution in this application will be described below with reference to the accompanying drawings.

[0077] The traditional computing node upgrade method first groups the computing nodes according to their resource types (for example, compute-intensive or network-enhanced). Then, the upgrade operation is performed on each group of computing nodes in turn. Based on the above scheme, tenant information is ignored when grouping computing nodes. In this case, it may happen that the computing nodes in each group contain most or all tenant VMs of certain tenant businesses. In addition, it may also happen that the computing nodes in each group contain most or all tenant VMs of certain high-level tenant businesses. When a computing node upgrade fails, it may cause a large number of computing nodes to fail, thereby affecting tenant businesses and reducing the user experience.

[0078] In order to solve the above problems, the present application provides a method and apparatus for computing node upgrade, which can reduce the impact on tenant services in the event of a computing node upgrade failure.

[0079] Figure 1 A schematic diagram of a cloud system 100 applicable to an embodiment of the present application is shown.

[0080] like Figure 1 As shown, the system 100 includes: at least two computing nodes 110 and a management area node 120. The computing node 110 is in communication connection with the management area node 120.

[0081] Specifically, in the embodiment of the present application, a communication interface is provided in the computing node 110, and a communication interface is provided in the management area node 120, so that the computing node 110 and the management area node 120 can communicate through the communication interface.

[0082] In an embodiment of the present application, the computing node 110 and the management area node 120 can be configured in the same physical device. In this case, as an example and not a limitation, the system 100 can also include a bus, the computing node 110 can be connected to the bus via a communication interface, and the management area node 120 can be connected to the bus via a communication interface, so that the computing node 110 and the management area node 120 can achieve communication connection through the bus.

[0083] By way of example and not limitation, the bus may include a data bus.

[0084] Optionally, the bus may also include a power bus, a control bus, a status signal bus, etc. In this case, the communication interface of the computing node 110 may be a communication interface between components within the computer device. Similarly, the communication interface of the management area node 120 may be a communication interface between components within the computer device.

[0085] In an embodiment of the present application, the computing node 110 and the management area node 120 may be configured in different devices. In this case, the computing node 110 and the management area node 120 may be connected to each other via a wired or wireless communication method. For example, a communication cable (e.g., an optical fiber or a copper wire, etc.) may be provided between the computing node 110 and the management area node 120 (specifically, between the communication interface of the computing node 110 and the communication interface of the management area node 120) to achieve a wired communication connection between the computing node 110 and the management area node 120. In this case, the communication interface of the computing node 110 may be a communication interface of a computer device for communicating with an external device. Similarly, the communication interface of the management area node 120 may be a communication interface of a computer device for communicating with an external device.

[0086] In addition, in an embodiment of the present application, multiple computing nodes 110 can be configured in the same physical device (for example, a server), or multiple computing nodes 110 can also be configured independently, which is not particularly limited in the present application.

[0087] It should be noted that in an embodiment of the present application, the computing nodes 110 configured in the same physical device can be connected through a bus (for example, a PCIE bus), that is, signaling or data transmission between the computing nodes 110 in the same physical device can be achieved through the bus.

[0088] In addition, the computing nodes 110 configured in different physical devices can communicate in the following manner: that is, a transceiver (for transmitting information or signals) connected to the computing node 110 can be configured in each physical device, and the transceivers in each physical device can be connected by a transmission cable to implement signaling or data transmission between the computing nodes 110 configured in different physical devices. Alternatively, the transceivers in each physical device can also communicate wirelessly.

[0089] Next, the functions and structures of the above components are described.

[0090] 1. Compute Node 110

[0091] The computing node 110 may include one or more virtual machines 130. The one or more virtual machines 130 may be allocated to tenants to meet the tenants' business needs. Figure 1 As shown, each computing node 110 includes two virtual machines.

[0092] In the embodiment of the present application, the computing node 110 may be a physical computing node. That is, in the embodiment of the present application, the computing node 110 may be a computer device having a processor. As an example and not a limitation, the processor may be a central processing unit (CPU).

[0093] In addition, the computing node 110 may also include components such as a bus, a transceiver, and a memory.

[0094] Among them, the memory may include a memory controller and a storage unit (or storage medium). The storage unit, which may also be called a storage space, is a medium for storing a certain discontinuous physical quantity. As an example and not a limitation, the storage unit may be a memory chip, and the material of the storage unit may be a semiconductor, a magnetic core, a magnetic drum, a magnetic tape, a laser disc, or other mature materials in the art. The type of the storage unit may be a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, or other mature storage medium types in the art. The storage controller is used to assign a physical address to the storage unit, access the storage unit according to the physical address, and perform data storage operations in the storage unit.

[0095] 2. Management Area Node 120

[0096] The management area node 120 can update business services by upgrading the computing node 110.

[0097] The management area node 120 is similar to the computing node 110. The management area node 120 may be a computer device having a processor. Here, in order to avoid redundancy, its detailed description is omitted.

[0098] In the embodiment of the present application, the management area node 120 may include one or more virtual machines.

[0099] In one implementation, the management zone node 120 includes multiple virtual machines, each of which can deploy different service software. For example, a management zone node includes three virtual machines: virtual machine 1, virtual machine 2, and virtual machine 3. Virtual machine 1 can deploy computer management services, virtual machine 2 can deploy upgrade services, and virtual machine 3 can deploy identity authentication services.

[0100] In another achievable manner, the management zone node 120 includes only one virtual machine, and different service software can be deployed on the virtual machine. For example, a management zone node includes one virtual machine, and computer management services, upgrade services, and identity authentication services can be deployed on the virtual machine.

[0101] Furthermore, in the embodiment of the present application, the management area node 120 and the computing node 110 can be configured independently, that is, the management area node 120 and the computing node 110 can be configured in different physical nodes.

[0102] Alternatively, in an embodiment of the present application, the management area node 120 may also be jointly configured with one or more computing nodes 110, that is, the management area node 120 and one or more computing nodes 110 may be configured in the same physical node.

[0103] It should be understood that Figure 1 The system architecture shown is for illustrative purposes only and does not constitute any limitation to the present application. For example, the number of computing nodes 110 in the system and the number of virtual machines 130 included in each computing node can be arbitrarily changed according to actual needs.

[0104] Next, combine Figures 2 to 4 , describes in detail the method for upgrading computing nodes provided in an embodiment of the present application.

[0105] Figure 2 A schematic flow chart of a computing node upgrade method 200 provided in an embodiment of the present application is shown. The method 200 includes steps 210 to 230, which are described in detail below.

[0106] Step 210 obtains the upgrade policy and tenant information.

[0107] The upgrade policy includes a first threshold and a second threshold, where the first threshold and the second threshold are positive integers, the first threshold is less than the second threshold, and the second threshold is less than the number of VMs assigned to the same tenant on the N compute nodes to be upgraded. N is a positive integer greater than or equal to 2.

[0108] The first threshold may be understood as the maximum number of VMs of the same tenant included in each computing node in one upgrade operation, and the second threshold may be understood as the maximum number of VMs of the same tenant included in all computing nodes in one upgrade operation.

[0109] The N computing nodes to be upgraded may be computing nodes in a cloud system.

[0110] Optionally, the upgrade strategy further includes a third threshold, where the third threshold is less than or equal to the maximum level allocated to the tenant among the N computing nodes to be upgraded.

[0111] Optionally, the upgrade strategy also includes the number of computing nodes to be upgraded.

[0112] The number of computing nodes to be upgraded can be understood as the number of computing nodes included in one upgrade operation.

[0113] The tenant information includes VM allocation information, where the VM allocation information is used to indicate the number of VMs allocated to the same tenant by each of the N computing nodes to be upgraded.

[0114] Optionally, the tenant information further includes tenant level information, where the tenant level information is used to indicate the level of the tenant included in each computing node to be upgraded.

[0115] In the embodiment of the present application, the definitions of the highest level and the lowest level of the tenant level are not specifically limited.

[0116] In one implementation, a tenant with a tenant level of 1 has the highest level, a tenant with a tenant level of 2 has the next highest level, ..., and so on.

[0117] In another implementation, a tenant with tenant level N has the highest level, a tenant with tenant level N-1 has the next highest level, ..., and so on.

[0118] In an embodiment of the present application, the tenant level included in the computing node to be upgraded can be obtained by installing unified identity and access management (IAM) software in the management area node.

[0119] In an embodiment of the present application, computing management service software may be installed in the management area node, and the correspondence between the tenant and the computing node to be upgraded may be obtained from the software.

[0120] In the embodiments of the present application, there is no specific limitation on the method for determining the upgrade strategy.

[0121] In one implementation, the operation and maintenance personnel determine the upgrade strategy based on the current network conditions. For example, the operation and maintenance personnel determine the first threshold to be 1 and the second threshold to be 3 based on the current network conditions. In another example, the operation and maintenance personnel determine the first threshold to be 1, the second threshold to be 3, and the third threshold to be 6 based on the current network conditions. In another example, the operation and maintenance personnel determine the first threshold to be 1, the second threshold to be 3, and the third threshold to be 6 based on the current network conditions, and the number of computing nodes to be upgraded is 3.

[0122] In another implementation, the upgrade policy can be determined using a small-scale network automatic upgrade method. For example, the small-scale network automatic upgrade method can determine the first threshold to be equal to 1 and the second threshold to be equal to 3. For another example, the small-scale network automatic upgrade method can determine the first threshold to be 1, the second threshold to be 3, and the third threshold to be 6.

[0123] Step 220: Determine M computing nodes to be upgraded from N computing nodes to be upgraded based on the upgrade strategy and tenant information, where N is a positive integer greater than or equal to 2, and M is a positive integer greater than or equal to 1 and less than N.

[0124] In the embodiment of the present application, the number of tenant VMs included in each of the N computing nodes to be upgraded is not specifically limited. For example, the number of tenant VMs included in one of the N computing nodes to be upgraded may be 0. For another example, the number of tenant VMs included in one of the N computing nodes to be upgraded may be 1. For another example, the number of tenant VMs included in one of the N computing nodes to be upgraded may be 4.

[0125] In an embodiment of the present application, the number of tenant VMs included in each of the N computing nodes to be upgraded can be the same. The number of tenant VMs included in each of the N computing nodes to be upgraded can be different. The number of tenant VMs included in some of the N computing nodes to be upgraded is the same, and the number of tenant VMs included in some of the N computing nodes to be upgraded is the same or different.

[0126] In an embodiment of the present application, determining M computing nodes to be upgraded from N computing nodes to be upgraded based on the upgrade policy and tenant information includes:

[0127] Determine, based on the first threshold and the VM allocation information, K candidate computing nodes from the N computing nodes to be upgraded, where K is a positive integer less than or equal to N and greater than or equal to M, and the number of VMs allocated to the same tenant by each of the K candidate computing nodes is less than or equal to the first threshold;

[0128] According to the second threshold, M computing nodes to be upgraded are determined from the K candidate computing nodes, and the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold.

[0129] It should be noted that, based on the second threshold, M compute nodes to be upgraded are determined from the K candidate compute nodes, and the number of VMs allocated to the same tenant by the M compute nodes to be upgraded is less than or equal to the second threshold. This can be understood as selecting M candidate compute nodes arbitrarily or in a certain order from the K candidate compute nodes. If the number of VMs allocated to the same tenant by the selected M candidate compute nodes is less than or equal to the second threshold, these M candidate compute nodes can be determined as the M nodes to be upgraded.

[0130] In one implementable manner, M candidate computing nodes are arbitrarily selected from K candidate computing nodes.

[0131] As an example and not a limitation, the order of the K candidate computing nodes is: candidate computing node 1, candidate computing node 2, candidate computing node 3, candidate computing node 4. If M is 2, any two candidate computing nodes are selected, and at least the following conditions are included:

[0132] Group 1: candidate computing node 3, candidate computing node 2;

[0133] Group 2: candidate computing node 1, candidate computing node 3;

[0134] Group 3: candidate computing node 1, candidate computing node 4;

[0135] Group 4: candidate computing node 2, candidate computing node 3;

[0136] Group 5: candidate computing node 2, candidate computing node 4;

[0137] Group 6: candidate computing node 3, candidate computing node 4.

[0138] In one achievable manner, selecting M candidate computing nodes from the K candidate computing nodes in a certain order includes: selecting the M candidate computing nodes in sequence according to the order of the K candidate computing nodes.

[0139] As an example and not a limitation, the order of the K candidate computing nodes is: candidate computing node 1, candidate computing node 2, candidate computing node 3, candidate computing node 4. If M is 2, two candidate computing nodes are selected in sequence, including at least the following six groups:

[0140] Group 1: Candidate computing node 1, candidate computing node 2;

[0141] Group 2: candidate computing node 1, candidate computing node 3;

[0142] Group 3: candidate computing node 1, candidate computing node 4;

[0143] Group 4: candidate computing node 2, candidate computing node 3;

[0144] Group 5: candidate computing node 2, candidate computing node 4;

[0145] Group 6: candidate computing node 3, candidate computing node 4.

[0146] Optionally, in one achievable manner, M may be equal to the number of nodes to be upgraded.

[0147] Optionally, in an implementable manner, determining K candidate computing nodes from N computing nodes to be upgraded according to the first threshold and VM allocation information includes:

[0148] Determine, based on the first threshold and the VM allocation information, Q candidate computing nodes from the N computing nodes to be upgraded, where Q is a positive integer less than or equal to N and greater than or equal to M, and the number of VMs allocated to the same tenant by each of the Q candidate computing nodes is equal to the first threshold;

[0149] Based on the third threshold and tenant level information, K candidate computing nodes are determined from Q candidate computing nodes, where K is a positive integer less than or equal to Q and greater than or equal to M, and the level of the tenant included in each computing node to be upgraded in the K candidate computing nodes is less than or equal to the third threshold.

[0150] Optionally, in an implementable manner, the K candidate computing nodes are sorted according to the number of tenant VMs included in each of the K candidate computing nodes to obtain an orchestration list;

[0151] According to the second threshold, M computing nodes to be upgraded are determined from the K candidate computing nodes, including:

[0152] In the orchestration list, M computing nodes to be upgraded are determined from the K candidate computing nodes in order, and the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to a second threshold.

[0153] In the implementation of this application, the K candidate computing nodes are sorted according to the number of tenant VMs included in each of the K candidate computing nodes, and the specific method of sorting is not limited.

[0154] For example, the K candidate computing nodes may be sorted from largest to smallest according to the number of tenant VMs included in each of the K candidate computing nodes.

[0155] For another example, the K candidate computing nodes may be sorted from small to large according to the number of tenant VMs included in each of the K candidate computing nodes.

[0156] Optionally, in one achievable manner, the K candidate computing nodes are sorted from largest to smallest based on the number of tenant VMs included in each of the K candidate computing nodes. M computing nodes to be upgraded are determined from the sorted K candidate computing nodes based on a second threshold.

[0157] By way of example and not limitation, sorting the K candidate compute nodes from largest to smallest based on the number of tenant VMs included in each candidate compute node may yield the following order of candidate compute nodes included in the orchestration list: candidate compute node 4, candidate compute node 3, candidate compute node 1, candidate compute node 2. If M is 2, selecting two candidate compute nodes sequentially from the sorted K candidate compute nodes may include at least the following six situations:

[0158] Group 1: candidate computing node 4, candidate computing node 3;

[0159] Group 2: candidate computing node 4, candidate computing node 1;

[0160] Group 3: candidate computing node 4, candidate computing node 2;

[0161] Group 4: candidate computing node 3, candidate computing node 1;

[0162] Group 5: Candidate computing node 3, candidate computing node 2;

[0163] Group 6: candidate computing node 1, candidate computing node 2.

[0164] First, determine whether the number of VMs allocated to the same tenant in group 1 is less than or equal to a second threshold. If the number of VMs allocated to the same tenant in group 1 is less than or equal to the second threshold, then determine that the candidate compute nodes included in group 1 are compute nodes to be upgraded. Otherwise, the candidate compute nodes included in group 1 are not compute nodes to be upgraded.

[0165] It should be noted that if the candidate compute nodes included in the first group have been determined to be compute nodes to be upgraded, there is no need to further determine whether the candidate compute nodes included in the second group are compute nodes to be upgraded. If the candidate compute nodes included in the first group have been determined not to be compute nodes to be upgraded, it is possible to continue determining whether the number of VMs allocated to the same tenant in the second group is less than or equal to the second threshold. And so on.

[0166] Step 230: Perform an upgrade operation on the M computing nodes to be upgraded.

[0167] In an embodiment of the present application, after the upgrade operation is successfully performed on the M computing nodes to be upgraded, the upgrade operation can be paused to verify the functionality of the upgraded computing nodes in the first batch of computing nodes. For example, the functional verification includes verifying whether the communication between the virtual machine deployed on the computing node and the network is normal. For example, the functional verification also includes verifying whether a new virtual machine can be deployed on the computing node and whether the network communication of the newly deployed virtual machine is normal.

[0168] Optionally, in some implementations, the process further includes upgrading the computing nodes to be upgraded except the M computing nodes to be upgraded among the N computing nodes to be upgraded. That is, the M computing nodes to be upgraded among the N computing nodes to be upgraded are first upgraded, and then the computing nodes to be upgraded except the M computing nodes to be upgraded among the N computing nodes to be upgraded are upgraded.

[0169] In the embodiment of the present application, the manner of upgrading the computing nodes to be upgraded except the M computing nodes to be upgraded among the N computing nodes to be upgraded is not specifically limited.

[0170] In one implementation, the computing nodes to be upgraded other than the M computing nodes to be upgraded among the N computing nodes to be upgraded can be upgraded in an evenly distributed manner. The evenly distributed upgrading of the computing nodes to be upgraded other than the M computing nodes to be upgraded among the N computing nodes to be upgraded can be understood as the computing nodes to be upgraded other than the M computing nodes to be upgraded among the N computing nodes to be upgraded can be upgraded in batches, and the number of computing nodes included in each batch of upgrade operations is the same.

[0171] For example, if the N computing nodes to be upgraded include 6 computing nodes excluding the M computing nodes to be upgraded, these 6 computing nodes can be divided into 2 batches for upgrading. In this case, first upgrade any 3 computing nodes among the N computing nodes to be upgraded excluding the M computing nodes to be upgraded, and then upgrade the remaining 3 computing nodes among the N computing nodes to be upgraded excluding the M computing nodes to be upgraded. For example, if the N computing nodes to be upgraded include 6 computing nodes excluding the M computing nodes to be upgraded, these 6 computing nodes can be divided into 3 batches for upgrading. In this case, first upgrade any two of the N computing nodes to be upgraded except the M computing nodes to be upgraded, then upgrade any two of the remaining four computing nodes to be upgraded except the M computing nodes to be upgraded, and finally upgrade the remaining two of the N computing nodes to be upgraded except the M computing nodes to be upgraded.

[0172] In another possible implementation, the computing nodes to be upgraded other than the M computing nodes to be upgraded among the N computing nodes to be upgraded are upgraded according to an incremental strategy. Specifically, the computing nodes to be upgraded other than the M computing nodes to be upgraded among the N computing nodes to be upgraded can be upgraded in batches, and the incremental strategy for upgrading the nodes is k, and the difference between the number of computing nodes to be upgraded other than the M computing nodes to be upgraded among the N computing nodes to be upgraded included in the j+1th batch of upgrade operations and the number of computing nodes to be upgraded other than the M computing nodes to be upgraded among the N computing nodes to be upgraded included in the jth batch of upgrade operations is k, where j is a positive integer greater than or equal to 1.

[0173] For example, if there are 10 compute nodes to be upgraded, excluding M compute nodes, and the node upgrade increment strategy is 2, then these 10 compute nodes are upgraded in two batches. In this case, you can upgrade any four of the 10 compute nodes first, and then upgrade the remaining six of the 10 compute nodes.

[0174] For example, if the N compute nodes to be upgraded include 30 compute nodes, excluding the M compute nodes to be upgraded, and the node upgrade increment strategy is 5, these 30 compute nodes can be upgraded in three batches. In this case, first upgrade any 5 of the 30 compute nodes to be upgraded, then upgrade any 10 of the remaining 25 of the 30 compute nodes to be upgraded, and finally upgrade the remaining 15 of the 30 compute nodes to be upgraded.

[0175] The method for upgrading computing nodes provided in this application can reduce the impact on tenants' businesses when a computing node upgrade fails. Specifically, according to the method for upgrading computing nodes provided in this application, when the first batch of upgrades are performed on the computing nodes to be upgraded (i.e., when upgrading M computing nodes to be upgraded), it is possible to avoid most or even all VMs assigned to the same tenant from being in the same upgrade operation. Alternatively, it is possible to avoid VMs of high-level tenants from being in the same upgrade operation. In this case, when a computing node upgrade fails, the impact on tenants' businesses can be reduced.

[0176] For ease of understanding, the following Figure 3 Taking "the upgrade strategy includes a first threshold and a second threshold, and the tenant information includes VM allocation information" as an example, the method 200 for upgrading the computing node provided in this application is introduced.

[0177] Figure 3 A schematic block diagram of a method 200 for upgrading a computing node provided in an embodiment of the present application is shown.

[0178] like Figure 3 As shown, the cloud system includes 6 computing nodes (i.e., an example of N computing nodes to be upgraded), namely computing node 1, computing node 2, computing node 3, computing node 4, computing node 5, and computing node 6. Each computing node includes 3 tenant VMs (i.e., VM1, VM2, and VM3).

[0179] The following information can be obtained through the software installed on the computing nodes: VM2 in computing node 1 is assigned to tenant B; VM3 in computing node 2 is assigned to tenant C; VM2 in computing node 3 is assigned to tenant A; VM1 and VM3 in computing node 4 are assigned to tenant B; VM1 in computing node 5 is assigned to tenant D, VM2 is assigned to tenant A, and VM3 is assigned to tenant E; VM1 and VM3 in computing node 6 are assigned to tenant D, and VM2 is assigned to tenant A.

[0180] The upgrade strategy obtained according to the upgrade tool includes a first threshold and a second threshold, where the first threshold is 1 and the second threshold is 2. The tenant information includes VM allocation information.

[0181] According to the first threshold, computing nodes 1, 2, 3, 5, and 6 in the cloud system may be determined as candidate computing nodes (ie, one example of K candidate computing nodes).

[0182] According to the second threshold, it can be determined that computing node 1 and computing node 2 among the candidate computing nodes are the first batch of computing nodes to be upgraded (ie, one example of the M computing nodes to be upgraded).

[0183] Therefore, in the cloud system, the first batch of upgraded computing nodes include: computing node 1 and computing node 2. The non-first batch of computing nodes (i.e., an example of a computing node to be upgraded among the N computing nodes to be upgraded except the M computing nodes to be upgraded) include: computing node 3, computing node 4, computing node 5, and computing node 6.

[0184] In this case, to upgrade the computing nodes in the cloud system, you can first perform the first batch upgrade operation on computing nodes 1 and 2 in the cloud system. After the above upgrade operation is successful, the remaining computing nodes 3, 4, 5, and 6 in the cloud system can then be upgraded.

[0185] It should be noted that the method for performing the upgrade operation on the remaining computing nodes 3, 4, 5, and 6 in the cloud system is not specifically limited.

[0186] For example, computing node 3, computing node 4, computing node 5, and computing node 6 may be upgraded together. Alternatively, the four computing nodes may be upgraded in batches according to the number of nodes to be upgraded.

[0187] It should be understood that Figure 3 This is only an example and does not constitute any limitation to this application.

[0188] Optionally, the upgrade strategy includes a first threshold, a second threshold, and a third threshold. The tenant information includes VM allocation information and tenant level information.

[0189] Optionally, the upgrade strategy includes a first threshold, a second threshold, a third threshold, and the number of nodes to be upgraded. The tenant information includes VM allocation information and tenant level information.

[0190] In an embodiment of the present application, when performing the first batch of upgrade operations on the computing nodes included in the cloud system, the same tenant (for example, tenant A or tenant B) can be prevented from being in the same batch of upgrade operations. According to the method provided in an embodiment of the present application, in the event of a failure in the computing node upgrade operation, the impact on the tenant's business can be reduced.

[0191] For ease of understanding, the following Figure 3 , taking "the upgrade strategy includes a first threshold, a second threshold, a third threshold, the number of computing nodes to be upgraded, and the tenant information includes tenant level information and VM allocation information" as an example, the method 200 for upgrading computing nodes provided in this application is introduced.

[0192] Figure 3 A schematic block diagram of a method 200 for upgrading a computing node provided in an embodiment of the present application is shown.

[0193] like Figure 3 As shown, the cloud system includes 6 computing nodes (i.e., an example of N computing nodes to be upgraded), namely computing node 1, computing node 2, computing node 3, computing node 4, computing node 5, and computing node 6. Each computing node includes 3 tenant VMs (i.e., VM1, VM2, and VM3).

[0194] VM2 in compute node 1 is assigned to tenant B; VM3 in compute node 2 is assigned to tenant C; VM2 in compute node 3 is assigned to tenant A; VM1 and VM3 in compute node 4 are assigned to tenant B; VM1 in compute node 5 is assigned to tenant D, VM2 to tenant A, and VM3 to tenant E; VM1 and VM3 in compute node 6 are assigned to tenant D, and VM2 to tenant A. Tenant A and tenant C are both assigned a level of 1, while tenants B, D, and E are assigned a level of 8. It should be understood that in this embodiment of the present application, a tenant with a tenant level of 8 is considered a high-level tenant, and a tenant with a tenant level of 1 is considered a low-level tenant.

[0195] The upgrade strategy obtained through the upgrade tool includes a first threshold, a second threshold, a third threshold, and the number of nodes to be upgraded, where the first threshold is 3, the second threshold is 2, the third threshold is less than or equal to 10, and the number of computing nodes to be upgraded is 4. The tenant information includes VM allocation information and tenant level information.

[0196] According to the first threshold and the VM allocation information, it can be determined that computing node 1, computing node 2, computing node 3, computing node 4, computing node 5, and computing node 6 are all candidate computing nodes (ie, an example of Q candidate computing nodes).

[0197] Based on the third threshold and tenant level information, it can be determined from the above 6 candidate computing nodes that computing node 1, computing node 2, computing node 3, computing node 4, computing node 5, and computing node 6 are all candidate computing nodes (i.e., an example of K candidate computing nodes).

[0198] Based on the number of tenant VMs included in the six candidate compute nodes (i.e., an example of K candidate compute nodes), sorting these six candidate compute nodes from largest to smallest yields the following candidate compute nodes in the orchestration list: compute node 5, compute node 4, compute node 6, compute node 1, compute node 2, compute node 3. Alternatively, compute node 5, compute node 6, compute node 4, compute node 1, compute node 2, compute node 3. Alternatively, compute node 5, compute node 6, compute node 4, compute node 2, compute node 1, compute node 3. For the sake of brevity, these examples are not given one by one here.

[0199] Below, take "the candidate compute nodes included in the orchestration list are: compute node 5, compute node 4, compute node 6, compute node 1, compute node 2, compute node 3" as an example. In the orchestration list, selecting four candidate compute nodes in order can at least:

[0200] Group 1: compute node 5, compute node 4, compute node 6, compute node 1;

[0201] Group 2: compute node 5, compute node 4, compute node 6, compute node 2;

[0202] Group 3: Compute Node 5, Compute Node 4, Compute Node 6, Compute Node 3;

[0203] Group 4: Compute Node 5, Compute Node 6, Compute Node 1, Compute Node 2;

[0204] Group 5: Compute Node 5, Compute Node 6, Compute Node 1, Compute Node 3;

[0205] Group 6: Compute Node 5, Compute Node 1, Compute Node 2, Compute Node 3;

[0206] Group 7: Compute Node 4, Compute Node 6, Compute Node 1, Compute Node 2;

[0207] Group 8: Compute Node 4, Compute Node 6, Compute Node 1, Compute Node 3;

[0208] Group 9: Compute Node 4, Compute Node 1, Compute Node 2, Compute Node 3;

[0209] Group 10: compute node 6, compute node 1, compute node 2, compute node 3.

[0210] First, it is determined that the number of VMs allocated to tenant B by the computing nodes included in group 1 is all 3, which is greater than the second threshold value and does not meet the upgrade policy. Then, it is determined that the number of VMs allocated to tenant B by the computing nodes included in group 2 is all 3, which is greater than the second threshold value and does not meet the upgrade policy. Then, it is determined that the number of VMs allocated to tenant B by the computing nodes included in group 3 is all 3, which is greater than the second threshold value and does not meet the upgrade policy. Continue to judge the fourth group. The data and tenant levels of the VMs allocated to tenants A, B, C, D, and E by the computing nodes included in group 4 all meet the requirements of the upgrade policy. Therefore, it can be determined that the candidate computing nodes included in this group are the first batch of upgraded computing nodes (that is, an example of M computing nodes to be upgraded).

[0211] Therefore, in the cloud system, the first batch of upgraded computing nodes include: computing node 5, computing node 1, computing node 2, computing node 3. Computing nodes not in the first batch of upgraded computing nodes (i.e., an example of a computing node to be upgraded among the N computing nodes to be upgraded, excluding the M computing nodes to be upgraded) include: computing node 4 and computing node 6.

[0212] Therefore, upgrade the compute nodes that are in the first batch of upgrades first, and then upgrade the compute nodes that are not in the first batch of upgrades.

[0213] Traditional compute node upgrade methods may select any of the candidate compute nodes in Groups 1 to 3 as the first batch of upgraded compute nodes. In this case, if a failure occurs during the upgrade of these first batch of upgraded compute nodes, it will seriously affect Tenant B's business.

[0214] Traditional compute node upgrade methods might select compute nodes 4, 5, and 6 as the first batch of upgraded compute nodes. In this case, if a failure occurs during the upgrade of these first batch of upgraded compute nodes, it will seriously affect the services of high-level tenants (for example, tenant B, tenant D, and tenant E).

[0215] Compared to traditional compute node upgrades, the compute node upgrade method provided in this application can minimize the chances that most or even all VMs assigned to the same tenant will be upgraded in the same batch. This can also minimize the chances that VMs belonging to high-level tenants will be upgraded in the same batch. In the event of a compute node upgrade failure, the impact on the aforementioned tenant's services can be minimized.

[0216] It should be understood that Figure 3 This is only an example and does not constitute any limitation to this application.

[0217] The computing node upgrade method provided in this application can also be applied to scenarios where the computing nodes in a cloud system include different virtual machines. For example, the number of virtual machines included in each computing node in the cloud system is not the same.

[0218] Figure 4 A schematic block diagram of a method 200 for upgrading a computing node provided in an embodiment of the present application is shown.

[0219] like Figure 4 As shown in the figure, the cloud system includes six compute nodes (i.e., an example of N compute nodes to be upgraded), namely compute node 1, compute node 2, compute node 3, compute node 4, compute node 5, and compute node 6. Compute node 1 and compute node 4 each include three VMs, and compute node 2 includes one VM. Compute node 3 includes five VMs, and compute node 5 includes six VMs. Compute node 6 also includes two VMs. VM1 of compute node 1 is assigned to tenant A, VM2 to tenant B, and VM3 to tenant C; VM1 of compute node 2 is assigned to tenant C; VM1 and VM2 of compute node 3 are assigned to tenant A, VM3 to tenant C, and VM5 to tenant E; VM2 of compute node 4 is assigned to tenant E; VM2 of compute node 5 is assigned to tenant C, VM3 to tenant B, VM5 to tenant D, and VM6 to tenant A; and VM2 of compute node 6 is assigned to tenant A. The level of tenants A and C is 1, and the level of tenant B is 1. The level of tenants D and E is 10. It should be understood that a tenant with a tenant level of 10 is a high-level tenant, and a tenant with a tenant level of 1 is a low-level tenant.

[0220] Above, combined Figures 2 to 4 The method for upgrading computing nodes provided by the embodiment of the present application is described in detail. Figure 5 and Figure 6 The apparatus and device for upgrading computing nodes provided in the embodiments of the present application are described in detail.

[0221] Figure 5 A schematic block diagram of an apparatus 500 for upgrading a computing node according to an embodiment of the present application is shown. The apparatus 500 may correspond to (e.g., be configured in or itself be) the control node described in the above-mentioned system 100 and method 200, and each module or unit in the apparatus 500 is respectively used to perform the functions of the above-mentioned control node and each action or processing performed thereby. Detailed descriptions thereof are omitted here to avoid redundancy.

[0222] Figure 6A schematic block diagram of a device 600 for upgrading a computing node according to an embodiment of the present application is shown. The device 600 includes: a processor. Optionally, the device 600 also includes a memory and / or a transceiver, and the memory and / or the transceiver can be connected to the processor. Further optionally, the device 600 includes a bus. The processor, the memory, and the transceiver can be connected via a bus, the memory can be used to store instructions, and the processor is used to execute the instructions stored in the memory to control the transceiver to receive information or signals, so that the device 600 performs the functions of the control node in the above-mentioned system 100 and method 200, the various actions or processing procedures performed. The device 600 can correspond to (for example, be configured in or itself be) the above-mentioned control node, and each module or unit in the device 600 is respectively used to perform the functions of the above-mentioned control node and the various actions or processing procedures performed. Here, in order to avoid redundancy, its detailed description is omitted.

[0223] It should be noted that the embodiments of the present application can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiment can be completed by hardware integrated logic circuits in the processor or by software instructions. The above processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in conjunction with the embodiments of the present application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.

[0224] It is understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0225] It should be understood that the term "and / or" in this document simply describes a relationship between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the related objects are in an "or" relationship.

[0226] It should be understood that in the embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0227] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of this application.

[0228] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0229] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0230] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0231] In addition, each functional unit in the embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0232] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in the embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0233] The above description is merely a specific implementation of the embodiments of the present application, but the scope of protection of the embodiments of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the embodiments of the present application should be included in the scope of protection of the embodiments of the present application. Therefore, the scope of protection of the embodiments of the present application should be based on the scope of protection of the claims.

Claims

1. A method for upgrading a computing node, characterized in that: The method comprises: Obtaining an upgrade policy and tenant information, where the upgrade policy includes a first threshold and a second threshold, where the first threshold and the second threshold are positive integers, the first threshold is less than the second threshold, and the second threshold is less than the number of VMs allocated to the same tenant by N computing nodes to be upgraded, and the tenant information includes VM allocation information, where the VM allocation information is used to indicate the number of VMs allocated to the same tenant by each of the N computing nodes to be upgraded; Determining, according to the upgrade policy and the tenant information, M computing nodes to be upgraded from the N computing nodes to be upgraded, where N is a positive integer greater than or equal to 2, and M is a positive integer greater than or equal to 1 and less than N, wherein the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold, and the number of VMs allocated to the same tenant by each of the M computing nodes to be upgraded is less than or equal to the first threshold; Perform an upgrade operation on the M computing nodes to be upgraded.

2. The method according to claim 1, characterized in that Determining M computing nodes to be upgraded from the N computing nodes to be upgraded according to the upgrade strategy and the tenant information includes: Determine, based on the first threshold and the VM allocation information, K candidate computing nodes from the N computing nodes to be upgraded, where K is a positive integer less than or equal to N and greater than or equal to M, and the number of VMs allocated to the same tenant by each of the K candidate computing nodes is less than or equal to the first threshold; According to the second threshold, the M computing nodes to be upgraded are determined from the K candidate computing nodes, and the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold.

3. The method according to claim 2, characterized in that The upgrade strategy further includes a third threshold value, which is a positive integer and is less than or equal to a maximum level assigned to tenants in the N computing nodes to be upgraded. The tenant information further includes tenant level information, which is used to indicate the level of the tenant included in each of the N computing nodes to be upgraded. Determining K candidate computing nodes from the N computing nodes to be upgraded according to the first threshold and the VM allocation information includes: Determine, based on the first threshold and the VM allocation information, Q candidate computing nodes from the N computing nodes to be upgraded, where Q is a positive integer less than or equal to N and greater than or equal to M, and the number of VMs allocated to the same tenant by each of the Q candidate computing nodes is equal to the first threshold; According to the third threshold and the tenant level information, the K candidate computing nodes are determined from the Q candidate computing nodes, where K is a positive integer less than or equal to Q and greater than or equal to M, and the level of the tenant included in each computing node to be upgraded in the K candidate computing nodes is less than or equal to the third threshold.

4. The method according to claim 2 or 3, characterized in that The upgrade strategy also includes the number of computing nodes to be upgraded, where the number of nodes to be upgraded is equal to M.

5. The method according to claim 2 or 3, characterized in that Before determining the M computing nodes to be upgraded from the K candidate computing nodes according to the second threshold, the method further includes: Sort the K candidate computing nodes according to the number of tenant VMs included in each of the K candidate computing nodes to obtain an orchestration list; Determining the M computing nodes to be upgraded from the K candidate computing nodes according to the second threshold includes: In the orchestration list, the M computing nodes to be upgraded are determined from the K candidate computing nodes in order, and the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold.

6. The method according to any one of claims 1 to 3, characterized in that The method further comprises: An upgrade operation is performed on the computing nodes to be upgraded among the N computing nodes to be upgraded except the M computing nodes to be upgraded.

7. A device for upgrading a computing node, characterized in that: The device comprises: an acquiring unit, configured to acquire an upgrade policy and tenant information, the upgrade policy including a first threshold and a second threshold, the first threshold and the second threshold being positive integers, the first threshold being less than the second threshold, and the second threshold being less than the number of VMs allocated to the same tenant by N computing nodes to be upgraded, the tenant information including VM allocation information, the VM allocation information being used to indicate the number of VMs allocated to the same tenant by each of the N computing nodes to be upgraded; a processing unit, configured to determine, based on the upgrade policy and the tenant information, M computing nodes to be upgraded from the N computing nodes to be upgraded, where N is a positive integer greater than or equal to 2, and M is a positive integer greater than or equal to 1 and less than N, wherein the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold, and the number of VMs allocated to the same tenant by each of the M computing nodes to be upgraded is less than or equal to the first threshold; The processing unit is further configured to perform an upgrade operation on the M computing nodes to be upgraded.

8. The device according to claim 7, characterized in that The processing unit is further configured to: Determine, based on the first threshold and the VM allocation information, K candidate computing nodes from the N computing nodes to be upgraded, where K is a positive integer less than or equal to N and greater than or equal to M, and the number of VMs allocated to the same tenant by each of the K candidate computing nodes is less than or equal to the first threshold; According to the second threshold, the M computing nodes to be upgraded are determined from the K candidate computing nodes, and the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold.

9. The device according to claim 8, characterized in that The upgrade strategy further includes a third threshold value, which is a positive integer and is less than or equal to a maximum level assigned to tenants in the N computing nodes to be upgraded. The tenant information further includes tenant level information, which is used to indicate the level of the tenant included in each of the N computing nodes to be upgraded. The processing unit is further configured to: Determine, based on the first threshold and the VM allocation information, Q candidate computing nodes from the N computing nodes to be upgraded, where Q is a positive integer less than or equal to N and greater than or equal to M, and the number of VMs allocated to the same tenant by each of the Q candidate computing nodes is equal to the first threshold; According to the third threshold and the tenant level information, the K candidate computing nodes are determined from the Q candidate computing nodes, where K is a positive integer less than or equal to Q and greater than or equal to M, and the level of the tenant included in each computing node to be upgraded in the K candidate computing nodes is less than or equal to the third threshold.

10. The device according to claim 8 or 9, characterized in that The upgrade strategy also includes the number of computing nodes to be upgraded, where the number of nodes to be upgraded is equal to M.

11. The device according to claim 8 or 9, characterized in that Before determining the M computing nodes to be upgraded from the K candidate computing nodes according to the second threshold, the processing unit is further configured to: Sort the K candidate computing nodes according to the number of tenant VMs included in each of the K candidate computing nodes to obtain an orchestration list; Determine the M computing nodes to be upgraded from the K candidate computing nodes according to the second threshold, and the processing unit is further configured to: In the orchestration list, the M computing nodes to be upgraded are determined from the K candidate computing nodes in order, and the number of VMs allocated to the same tenant by the M computing nodes to be upgraded is less than or equal to the second threshold.

12. The device according to any one of claims 7 to 9, characterized in that The processing unit is further configured to: An upgrade operation is performed on the computing nodes to be upgraded among the N computing nodes to be upgraded except the M computing nodes to be upgraded.

13. A device, characterized in that include: A processor and a memory, the memory being used to store programs and data, the processor being used to call and run the program from the memory to execute the method according to any one of claims 1 to 6.

14. A computer-readable storage medium, characterized in that The invention comprises a computer program which, when being run on a computer, causes the computer to execute the method according to any one of claims 1 to 6.

15. A chip, characterized in that: The chip includes a processor and a data interface, and the processor reads instructions stored in a memory through the data interface to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method for running instance time-sharing update under multi-tenant condition

    CN102629207A

  • Method and device for upgrading single-level router to cluster router

    CN107547222A