Cloud resource management method and device, cluster, program product and storage medium

By allocating and recycling cloud instances in the cloud management platform, the problem of inaccurate computing resources demand by tenants is solved, the management efficiency and resource utilization of cloud services are improved, and the normal operation of tenants' business is ensured.

CN119292758APending Publication Date: 2025-01-10HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202311628795.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-07-10
Filing Date
2023-11-30
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

Among the on-demand capacity reservation products, existing cloud computing providers have inaccurate grasp of computing resource requirements and low resource allocation efficiency caused by sudden business surges, which cannot effectively meet the computing needs of tenants.

Method used

By allocating and recycling cloud instances in the resource pool according to the tenant's specification cloud instance request, ensuring the replenishment of the specification cloud instances in the resource pool, and assigning the second specification cloud instances to the tenant to improve resource utilization and Management efficiency.

Benefits of technology

It improves the management efficiency of cloud services, improves the tenant experience, reduces unnecessary resource reservations and expansion, and ensures the normal operation of the business and the rational utilization of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292758A_ABST
    Figure CN119292758A_ABST
Patent Text Reader

Abstract

The invention discloses a cloud resource management method and device, a cluster, a program product and a storage medium, and relates to the field of cloud computing. The method is applied to a cloud management platform, the cloud management platform is used for managing infrastructures providing cloud services, the infrastructures are arranged in a plurality of areas, and each area comprises at least one data center. The method comprises the following steps: firstly, according to a first specification cloud instance request of a first tenant, distributing a corresponding first specification cloud instance for the first tenant in a resource pool; and when the number of the first specification cloud instances which are not allocated in the resource pool is insufficient, recycling at least one first specification cloud instance of the first tenant. Finally, at least one second specification cloud instance is assigned to the first tenant. And the computing power resource allocation efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud computing, and in particular to a method, device, cluster, program product, and storage medium for managing cloud resources. Background Art

[0002] Cloud computing is a type of distributed computing, which means breaking down huge data computing tasks into countless small tasks through the network "cloud", and then processing these small tasks through the computing resources (also called cloud resources) provided by multiple servers, and returning the processing results to the tenants. Through cloud computing, tens of thousands of data can be processed in a very short time (a few seconds), thus realizing powerful network services. Cloud computing providers can provide tenants with on-demand capacity reservation products in cloud computing products. On-demand capacity reservation means that the tenants can flexibly specify computing resources for any time period at the hour level, and the cloud computing provider allocates computing resources according to the computing resources specified by the tenants.

[0003] Due to factors such as tenants' poor grasp of their own computing resource needs and sudden surges in tenant business, the current computing resource allocation efficiency is low. Summary of the invention

[0004] The present application provides a cloud resource management method, device, cluster, program product and storage medium, which improves the efficiency of computing resource allocation.

[0005] In order to achieve the above purpose, this application adopts the following technical solutions:

[0006] In a first aspect, a method for managing cloud resources is provided, which is applied to a cloud management platform, and the cloud management platform is used to manage the infrastructure for providing cloud services, and the infrastructure is set in multiple regions, and each region includes at least one data center. The execution subject of the method can be a management node running a cloud management platform, or a component or device (such as a processor, a chip, or a chip system, etc.) applied to the management node, or a logic module or software that can realize all or part of the management node function. The method includes: first, according to the first specification cloud instance request of the first tenant, the corresponding first specification cloud instance is allocated to the first tenant in the resource pool. Then, when the number of unallocated first specification cloud instances in the resource pool is insufficient, at least one first specification cloud instance of the first tenant is recovered. At least one second specification cloud instance is allocated to the first tenant. Among them, the type of cloud instance includes at least one of a virtual machine, a container or a physical machine, the resource pool is a collection of at least one unallocated cloud instance, and the resource pool is included in at least one data center.

[0007] In the first aspect, when the number of unallocated first-specification cloud instances in the resource pool is insufficient, at least one first-specification cloud instance of the first tenant is recovered, so as to replenish the first-specification cloud instances in the resource pool, and allocate a second-specification cloud instance to the first tenant, thereby improving the management efficiency of cloud services and taking into account the cloud service quality of the first tenant. Flexible cloud instance calls improve the utilization rate of cloud instance resources and reduce unnecessary cloud instance resource reservation and expansion. The time for allocating the second-specification cloud instance to the first tenant can be before or after the first-specification cloud instance of the first tenant is recovered, and there is no restriction here.

[0008] In combination with the first aspect, in a possible implementation, before allocating at least one second-specification cloud instance to the first tenant, the method may also include: obtaining a second-specification cloud instance selection instruction for the first tenant, the second-specification cloud instance selection instruction including at least one of the following: a creation request for a second-specification cloud instance; a backup instruction for the second-specification cloud instance, the backup instruction for the second-specification cloud instance is used to indicate that the second-specification cloud instance should be used when the number of unallocated first-specification cloud instances in the resource pool is insufficient; a first-specification condition selection instruction, the second-specification cloud instance meets the first-specification condition.

[0009] In this implementation, allocating at least one second-specification cloud instance to the first tenant is determined based on a second-specification cloud instance selection instruction of the first tenant. The allocated second-specification cloud instance can meet the needs of the first tenant, thereby improving the tenant experience.

[0010] In combination with the first aspect, in a possible implementation, before reclaiming at least one first-specification cloud instance of the first tenant, the method may also include: displaying a first prompt interface to the first tenant, the first prompt interface being used to prompt the first tenant that the first-specification cloud instance corresponding to the first tenant may be recycled.

[0011] In this implementation, the first prompt interface is used to prompt the first tenant that the first-specification cloud instance corresponding to the first tenant may be recycled, which can remind the first tenant that the allocated first-specification cloud instance may be recycled, thereby improving the tenant experience.

[0012] In combination with the first aspect, in a possible implementation, the method may also include: obtaining a first-specification cloud instance request from a second tenant; allocating a corresponding first-specification cloud instance to the second tenant in a resource pool; in this implementation, the insufficient number of first-specification cloud instances in the resource pool includes: the number of unallocated first-specification cloud instances in the resource pool is lower than the number of first-specification cloud instances requested by the second tenant.

[0013] In this implementation, when the number of unallocated first-specification cloud instances in the resource pool is lower than the number of first-specification cloud instances requested by the second tenant, at least one of the first-specification cloud instances of the first tenant is recovered to meet the computing needs of the second tenant, thereby ensuring that the second tenant's business can be handled normally.

[0014] Optionally, in this implementation, the second tenant has a higher priority than the first tenant, which ensures that the business of the second tenant with a higher priority can be processed normally.

[0015] Optionally, in this implementation, the first specification cloud instance allocated to the second tenant and at least one first specification cloud instance of the recovered first tenant belong to the same region. The first specification cloud instance of the second tenant's first specification cloud instance requesting the requested first specification cloud instance belongs to the same region and is allocated to the second tenant, thereby reducing data transmission overhead.

[0016] Optionally, in this implementation, the method may further include: obtaining a first identifier of the first tenant and a second identifier of the second tenant; and reclaiming at least one first-specification cloud instance of the first tenant, including: when the first identifier and the second identifier belong to the identifier set of the same tenant group, reclaiming at least one first-specification cloud instance of the first tenant. Cloud instance calls between tenant groups are implemented.

[0017] Optionally, in this implementation, the service response delay of the service supported by the first tenant's service is less than a first threshold, the service response delay of the service supported by the second tenant's service is less than a second threshold, and the first threshold is greater than the second threshold. This ensures that tenants with smaller service response delays can be preferentially allocated cloud implementation examples. In combination with the first aspect, in a possible implementation, the specification of the second-specification cloud instance is smaller than the first-specification cloud instance.

[0018] In this implementation, a second-specification cloud instance that is smaller than the first-specification cloud instance is allocated to the first tenant, thereby reducing resource waste.

[0019] In combination with the first aspect, in a possible implementation, the second-specification cloud instance allocated to the first tenant and the at least one first-specification cloud instance of the first tenant that is recovered belong to the same region.

[0020] In this implementation, a second-specification cloud instance that is in the same region as the first-specification cloud instance allocated to the first tenant is allocated to the first tenant, thereby reducing data transmission overhead.

[0021] In combination with the first aspect, in a possible implementation, the models of the infrastructures providing the first-specification cloud instance and the second-specification cloud instance are different.

[0022] In a second aspect, a cloud resource management device is provided, which is applied to a cloud management platform, and the cloud management platform is used to manage the infrastructure for providing cloud services, and the infrastructure is set in multiple areas, each area includes at least one data center, and the device can be a management node or a chip or system on chip in the management node. The device can implement the functions performed by the management node in the above-mentioned first aspect or the possible design of the first aspect, and the functions can be implemented by hardware, or can be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. The device includes: an allocation module, which is used to allocate a corresponding first-specification cloud instance to the first tenant in a resource pool according to a first-specification cloud instance request of the first tenant, and the type of the cloud instance includes at least one of a virtual machine, a container or a physical machine, and the resource pool is a collection of at least one unallocated cloud instance, and the resource pool is included in at least one data center; a recycling module, which is used to recycle at least one first-specification cloud instance of the first tenant when the number of unallocated first-specification cloud instances in the resource pool is insufficient; the allocation module is also used to allocate at least one second-specification cloud instance to the first tenant.

[0023] In combination with the second aspect, in a possible implementation, the device may also include an acquisition module for acquiring a second-specification cloud instance selection instruction for the first tenant before allocating at least one second-specification cloud instance to the first tenant, the second-specification cloud instance selection instruction including at least one of the following: a creation request for a second-specification cloud instance; a backup instruction for a second-specification cloud instance, the backup instruction for the second-specification cloud instance being used to indicate that the second-specification cloud instance should be used when the number of unallocated first-specification cloud instances in the resource pool is insufficient; a first-specification condition selection instruction, the second-specification cloud instance meeting the first-specification condition.

[0024] In combination with the second aspect, in a possible implementation, the device also includes a display module, which is used to display a first prompt interface to the first tenant before reclaiming at least one first-specification cloud instance of the first tenant, and the first prompt interface is used to prompt the first tenant that the first-specification cloud instance corresponding to the first tenant may be recycled.

[0025] In combination with the second aspect, in a possible implementation, the device also includes an acquisition module for obtaining a first-specification cloud instance request from the second tenant; an allocation module is also used to allocate a corresponding first-specification cloud instance to the second tenant in the resource pool; the insufficient number of first-specification cloud instances in the resource pool includes: the number of unallocated first-specification cloud instances in the resource pool is lower than the number of first-specification cloud instances requested by the second tenant.

[0026] Optionally, in this implementation, the second tenant has a higher priority than the first tenant.

[0027] Optionally, in this implementation, the first-specification cloud instance allocated to the second tenant and at least one first-specification cloud instance of the recovered first tenant belong to the same region.

[0028] Optionally, in this implementation, the acquisition module can also be used to acquire the first identifier of the first tenant and the second identifier of the second tenant; the recovery module can be specifically used to recover at least one first-specification cloud instance of the first tenant when the first identifier and the second identifier belong to the identifier set of the same tenant group. Cloud instance calls between tenant groups are implemented.

[0029] Optionally, in this implementation, the service response delay supported by the service of the first tenant is less than a first threshold, the service response delay supported by the service of the second tenant is less than a second threshold, and the first threshold is greater than the second threshold, thereby ensuring that tenants with smaller service response delays can be preferentially allocated cloud implementation examples.

[0030] In combination with the second aspect, in a possible implementation, the specification of the second-specification cloud instance is smaller than that of the first-specification cloud instance.

[0031] In combination with the second aspect, in a possible implementation, the second-specification cloud instance allocated to the first tenant and the at least one first-specification cloud instance of the first tenant that is recovered belong to the same region.

[0032] In conjunction with the second aspect, in a possible implementation, the models of the infrastructures providing the first-specification cloud instance and the second-specification cloud instance are different.

[0033] In a third aspect, the present application provides a computing device cluster, wherein the computing device cluster includes at least one computing device, each of the at least one computing device includes at least one processor and at least one memory, and the at least one memory stores computer-readable instructions; the at least one processor executes the computer-readable instructions so that the computing device cluster performs the method described in the first aspect or any possible implementation of the first aspect.

[0034] In a fourth aspect, the present application provides a computer program product comprising instructions, which, when executed by a computing device cluster, causes the computing device cluster to execute the method described in the first aspect or any possible implementation of the first aspect.

[0035] In a fifth aspect, the present application provides a computer-readable storage medium storing computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method described in the first aspect or any possible implementation of the first aspect.

[0036] Among them, the beneficial effects described in the second to fifth aspects of the present application can refer to the analysis of the beneficial effects of the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 A schematic diagram of a cloud resource management scenario provided in an embodiment of the present application;

[0038] Figure 2 A flowchart of a cloud resource management method provided in an embodiment of the present application;

[0039] Figure 3 A schematic diagram of a cloud instance allocation scenario provided in an embodiment of the present application;

[0040] Figure 4 A schematic diagram of another cloud instance allocation scenario provided in an embodiment of the present application;

[0041] Figure 5 A flowchart of another cloud resource management method provided in an embodiment of the present application;

[0042] Figure 6 A flowchart of another cloud resource management method provided in an embodiment of the present application;

[0043] Figure 7 A schematic diagram of a first prompt interface provided in an embodiment of the present application;

[0044] Figure 8 A flowchart of another cloud resource management method provided in an embodiment of the present application;

[0045] Fig. 9 A flowchart of another cloud resource management method provided in an embodiment of the present application;

[0046] Fig.10 A schematic diagram of another cloud instance allocation scenario provided in an embodiment of the present application;

[0047] Fig.11 A flowchart of another cloud resource management method provided in an embodiment of the present application;

[0048] Fig.12 A schematic diagram of another cloud instance allocation scenario provided in an embodiment of the present application;

[0049] Fig.13 A flowchart of another cloud resource management method provided in an embodiment of the present application;

[0050] Fig.14 A schematic diagram of the structure of a cloud resource management device provided in an embodiment of the present application;

[0051] Fig.15 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0052] Fig.16 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;

[0053] Fig.17 A schematic diagram of the structure of another computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION

[0054] The network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person of ordinary skill in the art can appreciate that with the evolution of the network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0055] It should be noted that the terms "first" and "second" in the specification, claims and drawings of the present application are used to distinguish different objects rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.

[0056] It should be understood that in the embodiments of the present application, "at least one (item)" refers to one or more, "multiple" refers to two or more, "at least two (items)" refers to two or three and more than three, and "and / or" is used to describe the association relationship of the associated objects, indicating that there can be three relationships. For example, "A and / or B" can represent: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one of the following (items)" or similar expressions refers to any combination of these items, including any combination of single items (items) or plural items (items). For example, at least one of a, b or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple. It should be understood that in the embodiments of the present application, "B corresponding to A" means that B is associated with A. For example, B can be determined based on A. It should also be understood that determining B based on A does not mean determining B based only on A, but B can also be determined based on A and / or other information. In addition, the "connection" in the embodiments of the present application refers to various connection modes such as direct connection or indirect connection to achieve communication between devices, and the embodiments of the present application do not impose any limitation on this.

[0057] It should be noted that the terms "first" and "second" in the specification, claims and drawings of the present application are used to distinguish different objects rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.

[0058] Before introducing the embodiments of the present application, some terms involved in the embodiments of the present application are explained.

[0059] Specifications of cloud instances: Based on the different computing needs of tenants, the specifications of cloud instances that can meet the computing needs of tenants are also different. Exemplarily, the naming convention of cloud instance specifications is: ABCD. A represents the server model running the cloud instance. Specifically, s represents general-purpose, c represents computing, and m represents memory. B represents the series number. Specifically, 1 in s1 represents the first generation of general-purpose, and 2 in s2 represents the second generation of general-purpose. C represents the size of the specification in the current series, for example: medium, large, xlarge, etc. D represents the memory-CPU ratio, expressed as a specific number. For example, 4 represents the ratio of memory to central processing unit (CPU) is 4. Assume that the specification of a cloud instance is c7.large.2, which means a second-generation computing, large-size cloud instance with a memory-to-CPU ratio of 2. The specific specifications are: CPU (core): 2, memory (GiB): 4, maximum bandwidth / base bandwidth (Gbps): 4 / 0.8, maximum packet receiving and sending capacity (10,000 PPS): 40, number of network card multi-queues: 2, maximum number of network cards: 2, and maximum number of auxiliary network cards: 16. Different cloud instance specifications can provide different amounts of computing power.

[0060] In the sale of computing resource products, as shown in Table 1, major cloud computing providers usually provide the following three purchasing methods:

[0061] Table 1

[0062] Package cycle Buy as you need Bidding Billing price Low high fluctuation Business Continuity ensure ensure No guarantee Payment flexibility Difference good good Computing resource certainty support Not supported Not supported

[0063] Among them, the package period refers to setting the purchase duration (annual or monthly) at the time of purchase and completing all payments. Pay-as-you-go means buying as you use, stopping when you are done, and paying according to the usage time after use. Spot pricing means that the price is usually very low, but there is a risk that the instance will be interrupted and recycled.

[0064] Among these three purchasing methods, the on-demand purchasing model allows users to pay for what they use. It is more flexible than the package payment model and more stable than the bidding model. It is the mainstream purchasing method chosen by many tenants. However, this purchasing model cannot guarantee the certainty of computing resources. When computing resources are scarce, creation may fail, causing business damage. Specifically, since tenants may not have an accurate grasp of their own computing resource needs, and there may be sudden surges in tenant business. At this time, the computing resources allocated on demand by cloud computing providers may not meet the tenants' business needs, resulting in adverse effects on tenant business and poor availability.

[0065] In order to solve the above technical problems, an embodiment of the present application provides a method for managing cloud resources. The method provided by the embodiment of the present application is described below in conjunction with the accompanying drawings of the specification. In the embodiment of the present application, when the number of unallocated first-specification cloud instances in the resource pool is insufficient, at least one first-specification cloud instance of the first tenant is recovered, thereby replenishing the first-specification cloud instances in the resource pool, and allocating a second-specification cloud instance to the first tenant, thereby improving the management efficiency of cloud services and taking into account the quality of cloud services for the first tenant. Flexible cloud instance calls improve the utilization rate of cloud instance resources and reduce unnecessary cloud instance resource reservations and expansions.

[0066] The embodiment of the present application provides a cloud resource management system, which is a group of interconnected computers or servers that work together to perform common tasks. Computers or servers in a cloud resource management system are usually located in different physical locations and are interconnected through a network. Cloud resource management systems are generally used to provide high availability, scalability, and fault tolerance for applications and services. In a cloud resource management system, each computer or server can be called a management node, and multiple management nodes constitute a cloud resource management system. A cloud management platform is run in the management node to manage the infrastructure (also known as a computing power cluster) that provides cloud services. The computing power nodes in the computing power cluster can be cloud servers, such as elastic cloud servers (ECS), public cloud servers, private cloud servers, hybrid cloud servers, etc.; although a cloud server is not a traditional computing power cluster (because a cloud server is not a group of interconnected physical servers), it can be considered as a virtual computing power cluster. This is because cloud servers are usually hosted on a cloud management platform, allowing multiple virtual machines to run on a single physical server. Each virtual machine is equivalent to a node, and multiple nodes constitute a computing power cluster. The computing power cluster can be set in multiple regions, and the computing power cluster in each region runs at least one data center. One or more data centers maintain a resource pool, each of which includes one or more (usually multiple) cloud instances of different specifications, which are used to provide computing services for tenants' hosts. The type of cloud instance can include at least one of a virtual machine, a container, or a physical machine, without limitation.

[0067] The following is a further introduction to the cloud resource management system in conjunction with specific scenarios. For example, the cloud resource management scenario can be as follows: Figure 1 As shown, Figure 1 The schematic diagram of the cloud resource management scenario provided by this application involves multiple hosts, a cloud resource management system 100, and a computing cluster. The host sends a computing task to the corresponding management node in the cloud resource management system 100 through the network. After receiving the computing task, the management node assigns the computing task to a computing cluster that matches the computing task. Figure 1 As shown, the management nodes in the cloud resource management system 100 include: management node 111, management node 112 and management node 113. It should be understood that Figure 1 This is only an example provided for this embodiment. The cloud resource management system 100 may include more or fewer management nodes, which is not limited in this application.

[0068] Figure 1 In the scenario shown, multiple hosts may include Figure 1 The host 1, host 2 and host 3 shown, it is worth noting that the cloud resource management system 100 can also support more or fewer hosts for data processing and access. Among them, the host, or client, tenant end, etc., can be a computer running an application, and the computer running the application can be a physical machine or a virtual machine. For example, if the computer running the application is a physical computing device, the physical computing device can be a host or a terminal (Terminal). Among them, the terminal can also be called a terminal device, a tenant device (userequipment, UE), a mobile station (mobile station, MS), a mobile terminal (mobile terminal, MT), etc. The terminal can be a mobile phone, a tablet computer, a laptop computer, a desktop computer, a virtual reality (virtual reality, VR) terminal device, an augmented reality (augmented reality, AR) terminal device, etc. The embodiments of the present application do not limit the specific technology and specific device form adopted by the host. In one possible implementation, the host can be a software module (for example, a virtual machine, a container, etc.) running on any one or more hosts in the cluster.

[0069] Figure 1 In the scenario shown, computing clusters are set up in region 1, region 2, and region 3, and run data center A, data center B, and data center C respectively. A computing cluster may include one or more computing nodes for executing computing tasks of the host.

[0070] Figure 2 The flowchart of the cloud resource management method provided by the embodiment of the present application is shown, and the method is applied to the cloud management platform. Figure 2 As shown, the method may include the following steps:

[0071] S210: Allocate a corresponding first-specification cloud instance to the first tenant in a resource pool according to the first-specification cloud instance request of the first tenant.

[0072] Among them, the first tenant is a tenant whose computing needs can be met by cloud instances of multiple specifications. For example, a 2-core 4G cloud instance and a 4-core 8G cloud instance can both meet the computing needs of tenant A, then tenant A is the first tenant. The first-specification cloud instance request can indicate the region to which the first tenant belongs and the server (that is, the computing power node in the computing power cluster) model required by the first tenant. The cloud management platform can allocate a corresponding (also called a matching) first-specification cloud instance to the first tenant in the resource pool according to the first-specification cloud instance request. In other words, the first-specification cloud instance is any cloud instance in the resource pool that meets the computing needs of the first tenant. The resource pool is a collection of at least one unallocated cloud instance, and the resource pool may be included in one or more data centers. When allocating the corresponding first-specification cloud instance to the first tenant, the first-specification cloud instance of the computing power node in the region to which the first tenant's host belongs can be preferentially allocated to the first tenant to reduce data transmission overhead.

[0073] S220: When the number of unallocated cloud instances of the first specification in the resource pool is insufficient, reclaim at least one cloud instance of the first specification of the first tenant.

[0074] When the number of unallocated first-specification cloud instances in the resource pool is insufficient, for example, Figure 3 As shown, after the first tenant is allocated the corresponding first-specification cloud instance, another tenant initiates a creation request to request the first-specification cloud instance in the resource pool, and the cloud instance allocation priority of the other tenant is higher (and / or the cloud instance specification supported by the other tenant is single, which is the first-specification cloud instance), and the number of unallocated first-specification cloud instances in the resource pool is less than the number of first-specification cloud instances requested by other tenants. At this time, the first-specification cloud instance that has been allocated to the first tenant can be recycled to meet the creation requests of other tenants. In one possible case, when the number of first-specification cloud instances in the resource pool is lower than a certain threshold, the first-specification cloud instance of the first tenant can be recycled even if no resource request from other tenants is received.

[0075] For another example, insufficient number of unallocated first-specification cloud instances in the resource pool may also refer to the situation where the number of unallocated first-specification cloud instances in the resource pool is less than the number of first-specification cloud instances that should be reserved (for example, other tenants with a higher priority for cloud instance allocation have reserved first-specification cloud instances in a certain period of time).

[0076] S230: Allocate at least one cloud instance of the second specification to the first tenant.

[0077] After the first tenant reclaims at least one first-specification cloud instance in S220, the computing service of the first tenant may be affected. Figure 4As shown, at this time, at least one second-specification cloud instance is allocated to the first tenant to ensure the normal operation of the first tenant's computing business.

[0078] The specifications of the cloud instance may represent the differences in the number and size of the hardware configuration of the cloud instance, or may represent different models of the same number or size of hardware configurations, such as a 4-core C7 model and a 4-core C6 model. When the difference in the specifications represents the number or size of the hardware configuration of the cloud instance, the specification of the second-specification cloud instance may be smaller than the first-specification cloud instance, or may be larger than the first-specification cloud instance, without limitation. Exemplarily, in order to reduce resource waste, the second-specification cloud instance that is smaller than the first-specification cloud instance may be preferentially allocated to the first tenant. For example, the first-specification cloud instance is c7.2xlarge.2, and the cloud instances that are not allocated in the resource pool and can meet the computing business of the first tenant include c7.xlarge.2 and c7.3xlarge.2. The three specifications are, from large to small, c7.3xlarge.2, c7.2xlarge.2, and c7.xlarge.2. Then the smaller-specification c7.xlarge.2 cloud instance may be allocated to the first tenant, reducing the waste of computing resources.

[0079] The server model to which the second-specification cloud instance assigned to the first tenant belongs may be the same as or different from the server model to which the first-specification cloud instance assigned to the first tenant belongs. The region to which the second-specification cloud instance assigned to the first tenant belongs may be the same as or different from the region to which the first-specification cloud instance assigned to the first tenant belongs. Exemplarily, in order to reduce data transmission overhead, a second-specification cloud instance of the same region as that of the first-specification cloud instance assigned to the first tenant may be assigned to the first tenant, and further, a second-specification cloud instance of the same data center as that of the first-specification cloud instance assigned to the first tenant may be assigned to the first tenant.

[0080] In one possible implementation, the infrastructure (also known as the server to which the cloud instance belongs) that supplies the first-specification cloud instance and the second-specification cloud instance is of different models. Exemplarily, the first-specification cloud instance is a server of the c7.3 model, and the second-specification cloud instance is a server of the c7.2 model. In another example, the first-specification cloud instance is a server of the s2 model, and the second-specification cloud instance is a server of the c7.2 model. It should be understood that the embodiments of the present application are intended to flexibly call the cloud instance resources allocated to the first tenant and the second tenant. In the specific implementation, the differences in cloud instance specifications can also have other definitions and are not limited.

[0081] In the embodiment of the present application, when the number of unallocated first-specification cloud instances in the resource pool is insufficient, at least one first-specification cloud instance of the first tenant is recovered, so as to replenish the first-specification cloud instances in the resource pool, and allocate the second-specification cloud instance to the first tenant, thereby improving the management efficiency of cloud services and taking into account the cloud service quality of the first tenant. Flexible cloud instance calling improves the utilization rate of cloud instance resources and reduces unnecessary cloud instance resource reservation and expansion.

[0082] In a possible implementation, the second-specification cloud instance may not be allocated to the first user. In this implementation, even if there is no second-specification cloud instance, the first-specification cloud instance of the first tenant may be directly reclaimed to ensure the number of first-specification cloud instances in the resource pool or to ensure the needs of other tenants for the first-specification cloud instance. In a possible implementation, if the first-specification cloud instance of the first tenant is available, the first-specification cloud instance of the first tenant may be directly reclaimed. In a possible implementation, even if the first-specification cloud instance of the first tenant is not available and there is no second-specification cloud instance allocated to each of the first tenants, the first-specification cloud instance of the first tenant may be directly reclaimed based on global considerations, even if the business of the first tenant may suffer a certain degree of loss.

[0083] In one embodiment, if Figure 5 As shown, before S230, the method may further include:

[0084] S510: Obtain a second-specification cloud instance selection instruction for the first tenant.

[0085] Among them, allocating at least one second-specification cloud instance to the first tenant can be determined based on the second-specification cloud instance selection instruction of the first tenant. In other words, the first tenant can choose which second-specification cloud instance to allocate after the first-specification cloud instance is recycled. That is, the second-specification cloud instance selection instruction indicates the second-specification cloud instance that should be allocated to the first tenant. The second-specification cloud instance selection instruction can be sent by the first tenant to the cloud management platform when there is a demand for the second-specification cloud instance. For example, the second-specification cloud instance selection instruction can be a creation request for the second-specification cloud instance, a first-specification condition selection instruction indicating the second-specification cloud instance, etc. Alternatively, the second-specification cloud instance selection instruction can also be sent by the first tenant to the cloud management platform in advance and cached by the cloud management platform. For example, the second-specification cloud instance selection instruction is a backup instruction indicating the application of the second-specification cloud instance when the unallocated first-specification cloud instance is insufficient. It should be understood that in the specific implementation, the second-specification cloud instance selection instruction can also have other designs and is not limited.

[0086] Any instruction that associates the first tenant with the second-specification cloud instance can be used to determine the feasibility of allocating the second-specification cloud instance to the first user based on actual business needs. The second-specification cloud instance selection instruction of the first tenant may not directly point to the second-specification cloud instance, but the instruction should be able to be associated with the second-specification cloud instance.

[0087] After obtaining the second-specification cloud instance selection instruction, S230 may be executed to allocate the second-specification cloud instance matching the second-specification cloud instance selection instruction to the first tenant. In other words, S230 may include:

[0088] S520: Allocate a second-specification cloud instance that matches the second-specification cloud instance selection instruction to the first tenant.

[0089] In an embodiment of the present application, allocation of at least one second-specification cloud instance to the first tenant is determined based on a second-specification cloud instance selection instruction of the first tenant. The allocated second-specification cloud instance can meet the needs of the first tenant and improve the tenant experience.

[0090] In one embodiment, if Figure 6 As shown, before S220 (reclaiming at least one first-specification cloud instance of the first tenant), the method may further include:

[0091] S610: Display a first prompt interface to the first tenant.

[0092] The first prompt interface is used to prompt the first tenant that the first-specification cloud instance corresponding to the first tenant may be recycled. The first prompt interface is generated by the cloud management platform and sent to the host of the first tenant for display. It can remind the first tenant that the first-specification cloud instance that has been allocated may be recycled, thereby improving the tenant experience. The content of the first prompt interface can be flexibly set. Exemplarily, the first prompt interface can be a pop-up window. If the first-specification cloud instance that has been allocated to the first tenant is cloud instance A, then the first prompt interface can be as follows: Figure 7 As shown, the content is "Cloud instance A may be replaced by other cloud instances that do not affect the business", or it may also be "Cloud instance A may be recycled".

[0093] In a possible implementation, the cloud management platform may send an instruction to display a first prompt interface to a terminal device. After the terminal device obtains the instruction, it may display the first prompt interface to the tenant according to the display device of the terminal. In this case, the action of the cloud management platform sending the instruction to display the prompt interface to the terminal device may be regarded as the action of the cloud management platform displaying the first prompt interface to the tenant. The executor of the action should be the rights and interests subject of the cloud management platform, such as a cloud service provider.

[0094] In one possible implementation, the cloud management platform may instruct the terminal device to obtain the content of the first prompt interface, and the terminal device displays the content of the first prompt interface to the tenant. In this implementation, the functional module in the terminal device for displaying the first prompt interface can be regarded as an extension of the cloud management platform, and the action executor for displaying the first prompt interface in the terminal device should be regarded as the equity subject of the cloud management platform, such as a cloud service provider.

[0095] It should be understood that in a specific implementation, in order to realize the prompt function of the first prompt interface, other prompt forms may also be designed, such as sound, vibration, etc., without limitation.

[0096] In one embodiment, if Figure 8 As shown, the method may also include:

[0097] S810: Obtain a cloud instance request of the first specification from the second tenant.

[0098] Among them, the cloud instance that can support the computing needs of the second tenant has a single specification, which is a first-specification cloud instance, or the second tenant's cloud instance allocation priority is higher than that of the first tenant. The second tenant requests the first-specification cloud instance in the same way as the first tenant. The first tenant and the second tenant may be the same tenants with different business needs. At this time, the "recycling" in S220 may refer to the tenant stopping the first-specification cloud instance that has been allocated to the tenant's business A from being used to execute business A, and preparing to use it to execute the tenant's business B. The first tenant and the second tenant may also be different tenants. At this time, the "recycling" in S220 may refer to the cloud management platform taking back the first-specification cloud instance allocated to the first tenant into the resource pool, preparing to use it to serve other tenants (the second tenant).

[0099] The second tenant's request for a first-specification cloud instance may be a request for a reserved cloud instance, or may be a request for a direct cloud instance request. In this embodiment, "when the number of unallocated first-specification cloud instances in the resource pool is insufficient" in S220 may refer to: the number of unallocated first-specification cloud instances in the resource pool is lower than the number of first-specification cloud instances requested by the second tenant's request for a first-specification cloud instance. At this time, S220 may be executed: reclaiming at least one of the first-specification cloud instances of the first tenant.

[0100] In one possible implementation, it may be uncertain whether the second tenant is a customer whose computing needs can only be met by the first-specification cloud instance or whether the second tenant's cloud instance allocation priority is higher than that of the first tenant. Even if there are multiple tenants that can meet the second tenant's computing needs, the first-specification cloud instance of the first tenant may be reclaimed as long as the second tenant's request for the first-specification cloud instance cannot be met.

[0101] Then execute: S820, allocate the unallocated cloud instance of the first specification in the resource pool to the second tenant.

[0102] Among them, after the first-specification cloud instance is recovered in S220, the unallocated first-specification cloud instances in the resource pool include the first-specification cloud instances recovered from the first tenant and the previously remaining first-specification cloud instances. In the specific implementation, the recovered first-specification cloud instances may be recovered from computing power nodes in multiple regions. In the case where the recovered first-specification cloud instances are recovered from multiple regions, the first-specification cloud instance in the same region as the first-specification cloud instance requested by the second tenant can be preferentially allocated to the second tenant to reduce data transmission overhead. It should be understood that although the data transmission overhead may increase, allocating the first-specification cloud instance in a different region from the first-specification cloud instance requested by the second tenant to the second tenant can also meet the computing needs of the second tenant without restriction.

[0103] In a possible implementation, the recovered first-specification cloud instance of the first tenant can also be directly allocated to the second tenant without going through the intermediate process of the resource pool. In this case, although the resource transfer of the above-mentioned first-specification cloud instance is not directly transferred from the resource pool, the action of directly allocating the first-specification cloud instance of the first tenant to the second tenant can also be regarded as allocating the unallocated first-specification cloud instance in the resource pool to the second tenant.

[0104] In a possible implementation, before reclaiming the first-specification cloud instance of the first tenant, it is possible to first determine whether the second tenant and the first tenant belong to the same tenant group based on the identifier of the first tenant and the identifier of the second tenant. If they belong to the same tenant group, at least one first-specification cloud instance of the first tenant is reclaimed to implement cloud instance scheduling within the tenant group. Specifically, the first identifier of the first tenant and the second identifier of the second tenant can be obtained; at this time, reclaiming at least one first-specification cloud instance of the first tenant may include: when the first identifier and the second identifier belong to the identifier set of the same tenant group, reclaiming at least one first-specification cloud instance of the first tenant, thereby implementing cloud instance calls between tenant groups.

[0105] Among them, the identifier of the first tenant can be carried in the first-specification cloud instance request of the first tenant, or the cloud management platform can also request the identifier of the first tenant from the first tenant, and the first tenant sends the identifier of the first tenant to the cloud management platform separately. Similarly, the identifier of the second tenant can be carried in the first-specification cloud instance request of the second tenant, or the cloud management platform can also request the identifier of the second tenant from the second tenant, and the second tenant sends the identifier of the first tenant to the cloud management platform separately. Tenant groups can be divided by the cloud management according to the business relationship between tenants. Alternatively, tenants can also agree on tenant groups by themselves and notify the cloud management platform of the composition of the tenant groups. The cloud management platform then maintains the identifiers of each tenant in the tenant group to realize cloud instance calls between tenant groups, thereby improving the utilization rate of cloud instance resources and reducing unnecessary cloud instance resource reservation and expansion.

[0106] In a possible implementation, before reclaiming the cloud instance of the first tenant, it can be confirmed whether the business of the first tenant can be hot migrated. The hot migration refers to the process of migrating data or hosts from one environment to another without interrupting business services. Hot migration can improve business continuity and flexibility and reduce downtime and cost. The types of hot migration include hot migration within a virtual machine cluster and hot migration across platforms and architectures. Hot migration within a virtual machine cluster refers to migrating a virtual machine from one physical host to another physical host within the same cluster. Hot migration across platforms and architectures refers to migrating data or hosts from one cloud service provider to another cloud service provider, or from the cloud to the local, or from the local to the cloud between different platforms or architectures. The technical principle of hot migration is to use full incremental replication technology to transfer the data of the source end to the target end in batches until the data difference between the source end and the target end is very small, then suspend the business of the source end, transfer the last part of the data to the target end, and then start the business of the target end. During the hot migration process, there will be a short downtime window, but for users, the business is always providing services. In this implementation, the first tenant's business on the first specification can be hot migrated to the cloud instance of the second specification, and then the first tenant's cloud instance of the first specification can be recovered to reduce the business impact caused by the recovery of the first user's first specification cloud history.

[0107] In another possible implementation, the service response delay of the service supported by the first tenant's service is less than the first threshold, the service response delay of the service supported by the second tenant's service is less than the second threshold, and the first threshold is greater than the second threshold. It is ensured that tenants with smaller service response delays can be preferentially allocated cloud implementation examples. In other words, the service response delay of the service supported by the first tenant is shorter, which is a service with higher continuity requirements, such as navigation service and disaster recovery service; while the service response delay of the service supported by the first tenant is longer, which is a service with lower continuity requirements, such as translation service and cloud desktop service. By reclaiming the first-specification cloud instance of the service with lower continuity requirements for use by the service with higher continuity requirements, and compensating the service with the second-specification cloud instance of the service with lower continuity requirements, the service quality of the service with higher continuity requirements is guaranteed, and the interference to the service with lower continuity requirements is reduced through the compensated second-specification cloud instance.

[0108] It should be understood that, in specific implementation, the first threshold and the second threshold can be flexibly set according to the application scenario and are not limited.

[0109] In an embodiment of the present application, when the number of unallocated first-specification cloud instances in the resource pool is lower than the number of first-specification cloud instances requested by the second tenant's first-specification cloud instance request, at least one of the first-specification cloud instances of the first tenant is recovered to meet the computing needs of the second tenant, thereby ensuring that the second tenant's business can be handled normally.

[0110] In one embodiment, if Fig. 9 As shown, the method may also include:

[0111] S910, acquiring characteristic data of multiple tenants.

[0112] Among them, based on the different agreements between cloud computing providers and tenants, different tenants usually have different cloud instance allocation priorities, and the tenant's cloud instance allocation priority can be determined based on the tenant's characteristic data. The characteristic data may include at least one of the following: computing resource guarantee level, business risk level, service level, and the number of models of adapted supply physical servers (i.e., the computing nodes mentioned above). Based on the different agreements between cloud computing providers and tenants, different tenants may have different characteristic data.

[0113] S920: Determine a cloud instance allocation priority for each tenant according to characteristic data of each tenant among the multiple tenants.

[0114] Among them, it is mentioned in S810 that the first tenant and the second tenant can be defined based on the cloud instance allocation priority. The cloud instance allocation priority of each tenant can be determined based on the tenant characteristic data. Specifically, referring to the introduction of S910, the tenant's characteristic data may include the following types of data: computing power resource guarantee level, business risk level, service level, and the number of adapted physical server models. Among them, the three types of data, computing power resource guarantee level, business risk level, and service level, are positively correlated with the tenant's cloud instance allocation priority. In other words, the higher the level of these three types of data, the higher the determined cloud instance allocation priority.

[0115] The more tenants there are, the finer the granularity of cloud instance allocation priority needs to be, so as to distinguish the cloud instance allocation priorities of different tenants with similar characteristics. In this case, the tenant's characteristic data should include more data types. Exemplarily, when determining the cloud instance allocation priority for multiple types of characteristic data, a weighted sum calculation can be performed on the multiple types of characteristic data, and the tenant's cloud instance allocation priority can be determined based on the calculation result.

[0116] In an example, tenant characteristic data includes four types of data: computing power resource guarantee level, business risk level, service level, and number of adapted physical server models. The characteristic data of tenant A is: computing power resource guarantee level: 5, business risk level: 5, service level: 3, number of adapted physical server models: 3. The weights of these four types of data are: 0.3, 0.3, 0.3, -0.1 respectively. The cloud instance allocation priority of tenant A is determined by the following formula: tenant's cloud instance allocation priority = 5×0.3+5×0.3+3×0.3+3×(-0.1)=3.6. The characteristic data of tenant B include: computing resource guarantee level: 4, business risk level: 4, service level: 3, number of compatible physical server models: 3. The weights of these four types of data are: 0.3, 0.3, 0.3, -0.1, respectively. The cloud instance allocation priority of tenant B is determined by the following formula: Tenant's cloud instance allocation priority = 4×0.3+4×0.3+3×0.3+3×(-0.1)=3.0. In this scenario, tenant B's cloud instance allocation priority is lower than tenant A. Tenant B is the first tenant and tenant A is the second tenant.

[0117] Based on the cloud instance allocation priority of each tenant determined above, tenants can be divided into two categories: first tenants and second tenants. First tenants are a type of tenant with a lower priority for cloud instance allocation, which can be called elastic tenants; second tenants are a type of tenant with a higher priority for cloud instance allocation, which can be called protection tenants. Protection tenants have lower elasticity in computing resource demand, have computing resource guarantee commitments, low flexibility (can only use one model or a few types of supplied physical servers), and high business risks. Elastic tenants have higher elasticity in computing resource demand, high flexibility (can use multiple models of supplied physical servers), real-time scheduling capabilities, and low business risks.

[0118] It should be understood that the above-mentioned calculation process of cloud instance allocation priority is only an example. In specific implementation, different calculation methods can be flexibly adopted to determine the cloud instance allocation priority of the tenant without limitation.

[0119] In the embodiment of the present application, the cloud instance allocation priority of the tenant is determined according to the characteristic data of the tenant, which can ensure that the cloud instance allocation priority of important tenants is higher.

[0120] In one embodiment, considering that there may be multiple first tenants, before executing S220: reclaiming at least one first-specification cloud instance of the first tenant. The target first tenant can also be determined based on the relocation demand (i.e., the difference between the demand for the first-specification cloud instance and the surplus of the first-specification cloud instance in the resource pool), the resource release demand speed, the cloud instance allocation priority of the first tenant, and the surplus of the first-specification cloud instance allocated by the first tenant, and the surplus of the first-specification cloud instance of the target first tenant is not less than the relocation demand, and the resource release speed is not less than the resource release demand speed. If there is one first tenant that meets the above conditions, the first tenant is determined as the target first tenant. If there are multiple first tenants that meet the above conditions, one or more first tenants with lower cloud instance allocation priorities are selected from the multiple first tenants to be determined as the target first tenants. If the surplus of the first-specification cloud instances of all first tenants is less than the relocation demand, multiple first tenants can be selected as target first tenants to jointly meet the relocation demand, which will be introduced in S111 below.

[0121] For example, Fig.10 As shown, the first-specification cloud instance required by the second tenant is a cloud instance of 10w cores of the ac6 model in region A. The surplus of the first-specification cloud instance in the resource pool is 9w cores. At this time, 1w cores of the 10w cores of the first-specification cloud instance allocated to the target first tenant are scheduled to the first tenant.

[0122] In the embodiment of the present application, the first-specification cloud instance allocated to the first tenant is scheduled for the second tenant according to the relocation demand, thereby meeting the computing needs of the second tenant with little impact on the first tenant.

[0123] In one embodiment, the target first tenant includes multiple first tenants. Fig.11 As shown, S220 (reclaiming at least one first-specification cloud instance of the first tenant) may include:

[0124] S111, reclaiming first-specification cloud instances allocated to multiple first tenants in order from low to high according to cloud instance allocation priorities, until the reclaimed first-specification cloud instances meet the relocation demand.

[0125] If a first-specification cloud instance recycled by a first tenant cannot meet the relocation demand (i.e., the difference between the demand for the first-specification cloud instance and the surplus of the first-specification cloud instance in the resource pool), multiple first-specification cloud instances of first tenants may be recycled. When recycling multiple first-specification cloud instances of first tenants, first-specification cloud instances of first tenants with a low cloud instance allocation priority (the priority determined by S920) are preferentially recycled.

[0126] For example, Fig.12 As shown, the demand for the first-specification cloud instance is requested by the second tenant's first-specification cloud instance request, which is the ac6 model with 12w cores in region A. The surplus of the first-specification cloud instance in the resource pool is 10w cores. In other words, the demand for maneuvering is 12w cores-10w cores=2w cores. The supply physical server model of the first-specification cloud instance of the target first tenant A and the target first tenant B is also the ac6 model in a certain region. The target first tenant A is allocated a first-specification cloud instance with 8w cores, and the target first tenant B is allocated a first-specification cloud instance with 7w cores. The cloud instance allocation priority of the target first tenant A is lower than that of the target first tenant B. And the recyclable first-specification cloud instance of the target first tenant A is 1w cores. At this time, the 1w cores in the first-specification cloud instance of the target first tenant A are first recovered to the second tenant, and then the 1w cores in the first-specification cloud instance of the first tenant B are recovered to the second tenant.

[0127] In the embodiment of the present application, recycling the first-specification cloud instances of multiple target first tenants can meet the demand for the first-specification cloud instances.

[0128] In one embodiment, if Fig.13 As shown, the method also includes:

[0129] S131, obtaining historical application data of multiple tenant cloud instances.

[0130] Among them, historical application data of multiple tenant cloud instances can be obtained from the database of the cloud computing provider.

[0131] S132: Determine a predicted cloud instance demand for each of the multiple tenants based on historical application data of the cloud instances of the multiple tenants.

[0132] Based on the historical application data of cloud instances, the predicted cloud instance demand of the tenants can be estimated. Exemplarily, the predicted cloud instance demand can include the cloud instance demand curve of each tenant in the next 24 hours.

[0133] S133: Allocate a cloud instance of corresponding specifications to each tenant from a resource pool according to the cloud instance allocation priorities of the multiple tenants and the predicted cloud instance demand of each tenant.

[0134] Among them, cloud instances are limited. When allocating cloud instances, cloud instances with high priority are allocated first. For example, there are 20w cores of cloud instances of ac6 model in the resource pool. Tenant A requires cloud instances of ac6 model with 12w cores, tenant B requires cloud instances of ac6 model with 8w cores, and tenant C requires cloud instances of ac6 model with 5w cores. The cloud instance allocation priorities of tenants A, B, and C are from high to low. 12w cores are allocated to the cloud instance of tenant A first, and then 18w cores are allocated to the cloud instance of tenant A. At this time, there are no unallocated cloud instances of ac6 model in the resource pool, so cloud instances of other specifications that can meet the computing needs of tenant C can be allocated to tenant C.

[0135] In one example, the predicted cloud instance demand is the cloud instance demand curve of the tenant in the next 24 hours. The predicted cloud instance at the peak of the cloud instance demand curve can be used as the number of cloud instances to be allocated for cloud instance allocation. In other words, cloud instances are allocated once every 24 hours. It should be understood that a smaller time allocation granularity (e.g., every 12 hours, etc.) can also be used to allocate corresponding cloud instances without limitation.

[0136] In an embodiment of the present application, cloud instances are allocated to tenants based on their historical application data and cloud instance allocation priorities, which can ensure that cloud instances are reasonably allocated to different tenants and that the allocated cloud instances can give priority to tenants with higher cloud instance allocation priorities.

[0137] In one embodiment, the method may further include: acquiring actual application data of the tenant's cloud instance, and adjusting the cloud instance allocated to the tenant according to the actual application data of the tenant's cloud instance.

[0138] Among them, since the actual cloud instance demand of the tenant is floating, the cloud instance allocated to the user can be adjusted based on the actual application data of the tenant's cloud instance, ensuring that the cloud instance supplied to the tenant can meet the tenant's business needs.

[0139] The above mainly introduces the scheme provided by the embodiment of the present application from the perspective of the execution logic of each step. It is understandable that, in order to realize the above functions, the service end includes a hardware structure and / or software module corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the algorithm steps of each example described in the embodiment disclosed herein, the method of the embodiment of the present application can be implemented in the form of hardware, software, or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware 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 this application.

[0140] Fig.14 A structural diagram of a cloud resource management device 1400 is shown. The device is applied to a cloud management platform. The cloud management platform is used to manage the infrastructure that provides cloud services. The infrastructure is set up in multiple areas, each area includes at least one data center, and the device can be a management node or a chip or system on chip in the management node. Fig.14 Each module in the device shown has the function of the corresponding step in the method embodiment and can achieve its corresponding technical effect. The corresponding beneficial effects of each module execution step can refer to the description of the corresponding step in the method embodiment, and will not be repeated. The function can be implemented by hardware, or by hardware executing the corresponding software. The hardware or software includes one or more modules corresponding to the above functions. For example, the cloud resource management device includes: an allocation module 141, which is used to allocate a corresponding first-specification cloud instance to the first tenant in the resource pool according to the first-specification cloud instance request of the first tenant, the type of cloud instance includes at least one of a virtual machine, a container or a physical machine, the resource pool is a collection of at least one unallocated cloud instance, and the resource pool is included in at least one data center; a recycling module 142, which is used to recycle at least one first-specification cloud instance of the first tenant when the number of unallocated first-specification cloud instances in the resource pool is insufficient; the allocation module 141 is also used to allocate at least one second-specification cloud instance to the first tenant.

[0141] Among them, each module described above can be implemented by software, or can be implemented by hardware. Exemplarily, the implementation of the allocation module 141 is introduced below by taking the allocation module 141 as an example. Similarly, the implementation of the recovery module 142 can refer to the implementation of the allocation module 141.

[0142] As an example of a software functional unit, the allocation module 141 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more. For example, the allocation module 141 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region (region) or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including a data center or multiple data centers with close geographical locations. Among them, usually a region may include multiple AZs.

[0143] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.

[0144] As an example of a hardware functional unit, the allocation module 141 may include at least one computing device, such as a server, etc. Alternatively, the allocation module 141 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.

[0145] The multiple computing devices included in the allocation module 141 can be distributed in the same region or in different regions. The multiple computing devices included in the allocation module 141 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the allocation module 141 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0146] It should be noted that, in other embodiments, the allocation module 141 can be used to execute any step in the cloud resource management method, and the recovery module 142 can be used to execute any step in the cloud resource management method. The steps that the allocation module 141 and the recovery module 142 are responsible for implementing can be specified as needed. The allocation module 141 and the recovery module 142 respectively implement different steps in the cloud resource management method to realize all the functions of the cloud resource management device.

[0147] The present application also provides a computing device 100. Fig.15 As shown, the computing device 100 includes: a bus 102, a processor 104, a memory 106, and a communication interface 108. The processor 104, the memory 106, and the communication interface 108 communicate with each other through the bus 102. The computing device 100 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 100.

[0148] The bus 102 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.15 The bus 104 is represented by only one line, but does not mean that there is only one bus or one type of bus. The bus 104 may include a path for transmitting information between various components of the computing device 100 (eg, the memory 106, the processor 104, and the communication interface 108).

[0149] The processor 104 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0150] The memory 106 may include a volatile memory, such as a random access memory (RAM). The processor 104 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0151] The memory 106 stores executable program codes, and the processor 104 executes the executable program codes to respectively implement the functions of the aforementioned modules, thereby implementing the cloud resource management method. That is, the memory 106 stores instructions for executing the cloud resource management method.

[0152] Alternatively, the memory 106 stores executable codes, and the processor 104 executes the executable codes to respectively implement the functions of the aforementioned cloud resource management device, thereby implementing the cloud resource management method. That is, the memory 106 stores instructions for executing the cloud resource management method.

[0153] The communication interface 108 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 100 and other devices or a communication network.

[0154] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0155] like Fig.16 As shown, the computing device cluster includes at least one computing device 100. The memory 106 in one or more computing devices 100 in the computing device cluster may store the same instructions for executing the cloud resource management method.

[0156] In some possible implementations, the memory 106 of one or more computing devices 100 in the computing device cluster may also store partial instructions for executing the cloud resource management method. In other words, the combination of one or more computing devices 100 may jointly execute instructions for executing the cloud resource management method.

[0157] It should be noted that the memory 106 in different computing devices 100 in the computing device cluster may store different instructions, which are respectively used to execute part of the functions of the cloud resource management apparatus. That is, the instructions stored in the memory 106 in different computing devices 100 may implement the functions of one or more of the aforementioned modules.

[0158] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig.17 A possible implementation is shown. Fig.17 As shown, two computing devices 100A and 100B are connected via a network. Specifically, the network is connected via a communication interface in each computing device. In this type of possible implementation, the memory 106 in the computing device 100A stores instructions for executing the functions of the allocation module 141. At the same time, the memory 106 in the computing device 100B stores instructions for executing the functions of the recovery module 142.

[0159] Fig.17 The connection method between the computing device clusters shown may be based on the needs of the cloud resource management method provided in the present application, so it is considered that the functions implemented by the recycling module 142 are handed over to the computing device 100B for execution.

[0160] It should be understood that Fig.17 The functions of the computing device 100A shown in FIG. 1 may also be completed by multiple computing devices 100. Similarly, the functions of the computing device 100B may also be completed by multiple computing devices 100.

[0161] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Fig.16 and Fig.17 The connection mode of the computing device cluster is different in that the memory 106 in one or more computing devices 100 in the computing device cluster may store the same instructions for executing the cloud resource management method.

[0162] In some possible implementations, the memory 106 of one or more computing devices 100 in the computing device cluster may also store partial instructions for executing the cloud resource management method. In other words, the combination of one or more computing devices 100 may jointly execute instructions for executing the cloud resource management method.

[0163] It should be noted that the memory 106 in different computing devices 100 in the computing device cluster can store different instructions for executing part of the functions of the data detection system. That is, the instructions stored in the memory 106 in different computing devices 100 can implement the functions of the cloud resource management device.

[0164] The embodiment of the present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes a cloud resource management method or a cloud resource management method.

[0165] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by the computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the cloud resource management method, or instruct the computing device to execute the cloud resource management method.

[0166] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A cloud resource management method, characterized in that: The method is applied to a cloud management platform, the cloud management platform is used to manage infrastructure for providing cloud services, the infrastructure is set up in multiple regions, each region includes at least one data center, the method includes: According to a first-specification cloud instance request of a first tenant, a corresponding first-specification cloud instance is allocated to the first tenant in a resource pool, where a type of the cloud instance includes at least one of a virtual machine, a container, or a physical machine, and the resource pool is a collection of at least one unallocated cloud instance, and the resource pool is included in at least one data center; When the number of unallocated cloud instances of the first specification in the resource pool is insufficient, reclaiming at least one cloud instance of the first specification of the first tenant; At least one cloud instance of the second specification is allocated to the first tenant.

2. The method according to claim 1, characterized in that: Before allocating at least one cloud instance of the second specification to the first tenant, the method further includes: Obtain a second-specification cloud instance selection instruction for the first tenant, where the second-specification cloud instance selection instruction includes at least one of the following: A request to create a cloud instance of the second specification; A backup instruction for a second-specification cloud instance, wherein the backup instruction for the second-specification cloud instance is used to indicate that when the number of the first-specification cloud instances that are not allocated in the resource pool is insufficient, the second-specification cloud instance is used; The first specification condition selection instruction, the second specification cloud instance meets the first specification condition.

3. The method according to any one of claims 1 to 2, characterized in that: Before reclaiming the at least one cloud instance of the first specification of the first tenant, the method further includes: A first prompt interface is displayed to the first tenant, where the first prompt interface is used to prompt the first tenant that the cloud instance of the first specification corresponding to the first tenant may be recycled.

4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: Obtain a first-specification cloud instance request from the second tenant; Allocate the first-specification cloud instance corresponding to the second tenant in the resource pool; The insufficient number of cloud instances of the first specification in the resource pool includes: the number of unallocated cloud instances of the first specification in the resource pool is lower than the number of cloud instances of the first specification requested by the cloud instances of the second tenant.

5. The method according to claim 4, characterized in that The second tenant has a higher priority than the first tenant.

6. The method according to claim 4 or 5, characterized in that: The first-specification cloud instance allocated to the second tenant and at least one first-specification cloud instance of the first tenant that is recycled belong to the same region.

7. The method according to any one of claims 4 to 6, characterized in that: The method further comprises: Before reclaiming the at least one cloud instance of the first specification of the first tenant, the method further includes: An association instruction between the first tenant and the second tenant is obtained, where the association instruction is used to indicate an association relationship between the first tenant and the second tenant.

8. The method according to any one of claims 4 to 7, characterized in that: Before reclaiming the at least one cloud instance of the first specification of the first tenant, the method further includes: Hot migration is performed on the business of the first tenant on the at least one first-specification cloud instance.

9. The method according to any one of claims 1 to 6, characterized in that: The specification of the second-specification cloud instance is smaller than that of the first-specification cloud instance.

10. The method according to any one of claims 1 to 9, characterized in that: The second-specification cloud instance allocated to the first tenant and at least one first-specification cloud instance of the first tenant that is recycled belong to the same region.

11. The method according to any one of claims 1 to 10, characterized in that: The infrastructure provided to the first-specification cloud instance and the second-specification cloud instance are of different models.

12. A cloud resource management device, characterized in that: The device is applied to a cloud management platform, and the cloud management platform is used to manage the infrastructure for providing cloud services, and the infrastructure is arranged in multiple regions, each region including at least one data center, and the device includes: an allocation module, configured to allocate a first-specification cloud instance corresponding to the first tenant in a resource pool according to a first-specification cloud instance request of the first tenant, wherein the type of the cloud instance includes at least one of a virtual machine, a container, or a physical machine, and the resource pool is a collection of at least one unallocated cloud instance, and the resource pool is included in at least one data center; A recycling module, used for recycling at least one cloud instance of the first specification of the first tenant when the number of unallocated cloud instances of the first specification in the resource pool is insufficient; The allocation module is further used to allocate at least one cloud instance of the second specification to the first tenant.

13. The device according to claim 12, characterized in that The device also includes an acquisition module; The acquisition module is used to acquire a second-specification cloud instance selection instruction of the first tenant before allocating at least one second-specification cloud instance to the first tenant, where the second-specification cloud instance selection instruction includes at least one of the following: A request to create a cloud instance of the second specification; A backup instruction for a second-specification cloud instance, wherein the backup instruction for the second-specification cloud instance is used to indicate that when the number of the first-specification cloud instances that are not allocated in the resource pool is insufficient, the second-specification cloud instance is used; The first specification condition selection instruction, the second specification cloud instance meets the first specification condition.

14. The device according to any one of claims 12 to 13, characterized in that: The device also includes a display module; The display module is used to display a first prompt interface to the first tenant before reclaiming at least one cloud instance of the first specification of the first tenant, wherein the first prompt interface is used to prompt the first tenant that the cloud instance of the first specification corresponding to the first tenant may be recycled.

15. The device according to any one of claims 12 to 14, characterized in that: The device also includes an acquisition module; The acquisition module is used to acquire a cloud instance request of the first specification from the second tenant; The allocation module is further used to allocate the corresponding first-specification cloud instance to the second tenant in the resource pool; The insufficient number of cloud instances of the first specification in the resource pool includes: the number of unallocated cloud instances of the first specification in the resource pool is lower than the number of cloud instances of the first specification requested by the cloud instances of the second tenant.

16. The device according to claim 15, characterized in that The second tenant has a higher priority than the first tenant.

17. The device according to claim 15 or 16, characterized in that The first-specification cloud instance allocated to the second tenant and at least one first-specification cloud instance of the first tenant that is recycled belong to the same region.

18. The device according to any one of claims 15 to 17, characterized in that: The acquisition module is further used to acquire an association instruction between the first tenant and the second tenant, where the association instruction is used to indicate an association relationship between the first tenant and the second tenant.

19. The device according to any one of claims 15 to 18, characterized in that: The allocation module is further used to hot migrate the business of the first tenant on the at least one first-specification cloud instance before reclaiming the at least one first-specification cloud instance of the first tenant.

20. The device according to any one of claims 12 to 19, characterized in that The specification of the second-specification cloud instance is smaller than that of the first-specification cloud instance.

21. The device according to any one of claims 12 to 20, characterized in that: The second-specification cloud instance allocated to the first tenant and at least one first-specification cloud instance of the first tenant that is recycled belong to the same region.

22. The device according to any one of claims 12 to 21, characterized in that The infrastructure provided to the first-specification cloud instance and the second-specification cloud instance are of different models.

23. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1-11.

24. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1-11.

25. A computer-readable storage medium, characterized in that: The method comprises computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 11.

Citation Information

Cited By

  • Request processing method and device, equipment and storage medium

    CN121037454A