A method, device and storage medium for optimizing cloud resource utilization

By periodically evaluating and optimizing cloud resource allocation through business migration, the problem of resource fragmentation in the cloud resource pool has been solved, and the utilization rate of cloud resources has been improved.

CN119946059BActive Publication Date: 2025-11-18CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411987440.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-11-18
Estimated Expiration
2044-12-31

AI Technical Summary

Technical Problem

The fragmentation of resources in the cloud resource pool due to mismatch between peak and off-peak business conditions leads to low overall resource utilization.

Method used

By periodically assessing the cloud resource utilization of target servers, services on servers with high utilization are migrated to servers with low utilization, and idle servers are set to energy-saving mode to optimize resource allocation.

Benefits of technology

Maximize the release of idle resources and significantly improve the utilization rate of cloud resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119946059B_ABST
    Figure CN119946059B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of big data, and discloses a method and device for optimizing cloud resource utilization and a storage medium, the method comprising the following steps: evaluating utilization rates of target cloud resources included in each target server in a target resource pool according to a preset first period; based on the evaluation result of the utilization rates, performing the following operation on each first target server and each second target server in the target resource pool: migrating at least one target service running on each first target server to at least one second target server, and running the target service by using the target cloud resources on the second target server until at least one first target server is idle, wherein the utilization rate of the target cloud resources in the first target server is higher than the utilization rate of the target cloud resources in the second target server; and setting the at least one idle first target server to an energy-saving state, so that the utilization rate of the cloud resources is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of big data technology, and provides a method, apparatus and storage medium for optimizing cloud resource utilization. Background Technology

[0002] A cloud resource pool typically refers to a collection of server storage space and database resources within a cloud computing environment. It's a virtual environment that can automatically adjust to specific business needs during implementation. The elastic scaling capabilities of a cloud resource pool help enterprises rapidly expand their business capabilities to meet current market demands. The benefits of a cloud resource pool include availability, scalability, reliability, and portability.

[0003] However, the mismatch between business peaks and troughs and business resources can lead to the generation of a large number of resource fragments. Since a large number of fragmented resources cannot run new businesses, the overall resource utilization of the cloud resource pool will be low. Summary of the Invention

[0004] This application provides a method, apparatus, and storage medium for optimizing cloud resource utilization, thereby improving cloud resource utilization.

[0005] The specific technical solution provided in this application is as follows:

[0006] In a first aspect, embodiments of this application provide a method for optimizing cloud resource utilization, including:

[0007] The utilization rate of target cloud resources included in each target server in the target resource pool is evaluated according to the preset first cycle, wherein the target cloud resources are used to run at least one target service.

[0008] Based on the utilization assessment results, the following operations are performed on each first target server and each second target server in the target resource pool: at least one target service running on each first target server is migrated to at least one second target server, and the target service is run using the target cloud resources on the second target server until at least one first target server is idle, wherein the utilization rate of the target cloud resources in the first target server is higher than the utilization rate of the target cloud resources in the second target server.

[0009] Set at least one unloaded primary target server to power-saving mode.

[0010] Optionally, before evaluating the utilization rate of the target cloud resources included in each target server in the target resource pool according to a preset first cycle, the following steps are also included:

[0011] Based on the resource request issued by the computing device, multiple first alternative servers that can satisfy the resource request are determined from the pre-selected servers of the matching target resource pool. The resource request corresponds one-to-one with the target service.

[0012] The cloud resource utilization rate of each first candidate server is calculated according to the preset second cycle, and multiple second candidate servers are determined from multiple first candidate servers based on the utilization rate.

[0013] Calculate the energy efficiency value of each second candidate server, and determine at least one target server from multiple second candidate servers based on the energy efficiency value;

[0014] The target cloud resources included in the target server are used to run the target business corresponding to the resource request.

[0015] Optionally, based on the resource request issued by the computing device, a plurality of first alternative servers capable of satisfying the resource request are determined from each pre-selected server in the matching target resource pool, including:

[0016] The resource request issued by the computing device is parsed to determine the target resource pool that matches the resource request and the resource request amount included in the resource request;

[0017] Compare whether the available quota of available resources included in each pre-selected server is greater than the resource request quota. The available quota of available resources of the pre-selected server is configured with a resource over-sale threshold.

[0018] If the available quota is greater than the resource request quota, then cloud resources equal to the resource request quota are allocated from the available resources, and the allocated cloud resources are determined as the target cloud resources. In addition, the pre-selected server is determined as the first alternative server that can satisfy the resource request.

[0019] Optionally, cloud resources, including central processing unit (CPU), memory, disk, network, and energy efficiency values, are used to determine utilization in the following ways:

[0020] CPU utilization is determined based on the maximum CPU utilization within a preset time unit and the average CPU utilization within a preset time period.

[0021] Memory utilization is determined based on the maximum utilization rate of memory within a preset time unit and the average utilization rate of memory within a preset time period.

[0022] Disk utilization is determined based on the maximum disk utilization within a preset time unit and the average disk utilization within a preset time period.

[0023] Network utilization is determined based on the maximum utilization rate of the network within a preset time unit and the average utilization rate of the network within a preset time period.

[0024] The energy efficiency value is determined based on the actual power consumption of the first alternative server and the number of CPU cores included in the first alternative server.

[0025] Utilization is determined based on CPU utilization, memory utilization, disk utilization, network utilization, and energy efficiency.

[0026] Optionally, after using the target cloud resources included in the target server to run the target service corresponding to the resource request, it also includes:

[0027] During the first forecast period, obtain the actual resource amount required by the target service during operation. Based on the actual resource amount and the target cloud resource amount, determine the rate of change of the target cloud resource amount during the first forecast period. Adjust the target cloud resource amount based on the rate of change during the first forecast period. Here, the actual resource amount represents the maximum or minimum value of the target cloud resource amount within the resource oversupply threshold range; and / or

[0028] If the utilization rate of the target cloud resources exceeds the utilization alarm threshold during the second prediction period, an alarm will be issued.

[0029] Optionally, the utilization rate of the target cloud resources included in each target server in the target resource pool is evaluated according to a preset first period, including:

[0030] According to the preset first cycle, obtain the utilization rate of the target cloud resources included in each target server in the target resource pool:

[0031] Compare the values ​​of each utilization rate with the preset utilization rate threshold;

[0032] The target server with a utilization rate greater than the preset utilization rate threshold is identified as the first target server, and the target server with a utilization rate less than the preset utilization rate threshold is identified as the second target server.

[0033] Optionally, at least one target service running on each of the first target servers is migrated to at least one second target server, and the target service is run using the target cloud resources on the second target server until at least one first target server is idle, including:

[0034] Each target service corresponding to at least one target service on each first target server is migrated out until at least one first target server is idle.

[0035] Allocate target cloud resources for each target service within the available resources of at least one second target server, and use the allocated target cloud resources to run each migrated target service.

[0036] Secondly, embodiments of this application also provide an apparatus for optimizing cloud resource utilization, comprising:

[0037] An evaluation unit is used to evaluate the utilization rate of target cloud resources included in each target server in the target resource pool according to a preset first cycle, wherein the target cloud resources are used to run at least one target service.

[0038] The migration unit is used to perform the following operations on each first target server and each second target server in the target resource pool based on the results of utilization assessment: migrate at least one target service running on each first target server to at least one second target server, and use the target cloud resources on the second target server to run the target service until at least one first target server is idle, wherein the utilization rate of the target cloud resources in the first target server is higher than the utilization rate of the target cloud resources in the second target server.

[0039] The setting unit is used to set at least one unloaded first target server to an energy-saving state.

[0040] Optionally, before evaluating the utilization rate of the target cloud resources included in each target server in the target resource pool according to a preset first cycle, the following steps are also included:

[0041] Based on the resource request issued by the computing device, multiple first alternative servers that can satisfy the resource request are determined from the pre-selected servers of the matching target resource pool. The resource request corresponds one-to-one with the target service.

[0042] The cloud resource utilization rate of each first candidate server is calculated according to the preset second cycle, and multiple second candidate servers are determined from multiple first candidate servers based on the utilization rate.

[0043] Calculate the energy efficiency value of each second candidate server, and determine at least one target server from multiple second candidate servers based on the energy efficiency value;

[0044] The target cloud resources included in the target server are used to run the target business corresponding to the resource request.

[0045] Optionally, based on the resource request issued by the computing device, a plurality of first alternative servers capable of satisfying the resource request are determined from each pre-selected server in the matching target resource pool, including:

[0046] The resource request issued by the computing device is parsed to determine the target resource pool that matches the resource request and the resource request amount included in the resource request;

[0047] Compare whether the available quota of available resources included in each pre-selected server is greater than the resource request quota. The available quota of available resources of the pre-selected server is configured with a resource over-sale threshold.

[0048] If the available quota is greater than the resource request quota, then cloud resources equal to the resource request quota are allocated from the available resources, and the allocated cloud resources are determined as the target cloud resources. In addition, the pre-selected server is determined as the first alternative server that can satisfy the resource request.

[0049] Optionally, cloud resources, including central processing unit (CPU), memory, disk, network, and energy efficiency values, are used to determine utilization in the following ways:

[0050] CPU utilization is determined based on the maximum CPU utilization within a preset time unit and the average CPU utilization within a preset time period.

[0051] Memory utilization is determined based on the maximum utilization rate of memory within a preset time unit and the average utilization rate of memory within a preset time period.

[0052] Disk utilization is determined based on the maximum disk utilization within a preset time unit and the average disk utilization within a preset time period.

[0053] Network utilization is determined based on the maximum utilization rate of the network within a preset time unit and the average utilization rate of the network within a preset time period.

[0054] The energy efficiency value is determined based on the actual power consumption of the first alternative server and the number of CPU cores included in the first alternative server.

[0055] Utilization is determined based on CPU utilization, memory utilization, disk utilization, network utilization, and energy efficiency.

[0056] Optionally, after using the target cloud resources included in the target server to run the target service corresponding to the resource request, it also includes:

[0057] During the first prediction period, obtain the actual resource quota required by the target business during operation. The actual resource quota represents the maximum or minimum value of the target cloud resource quota within the resource over-selling threshold range.

[0058] Based on the actual resource quota and the target cloud resource quota, determine the quota change rate of the target cloud resource in the first prediction period, and adjust the quota of the target cloud resource based on the quota change rate in the second prediction period, wherein the second prediction period is after the first prediction period.

[0059] If the utilization rate of the target cloud resources exceeds the utilization alarm threshold during the second prediction period, the adjusted quota of the target cloud resources will be adjusted again.

[0060] Optionally, the utilization rate of the target cloud resources included in each target server in the target resource pool is evaluated according to a preset first cycle. The evaluation unit is used for:

[0061] According to the preset first cycle, obtain the utilization rate of the target cloud resources included in each target server in the target resource pool:

[0062] Compare the values ​​of each utilization rate with the preset utilization rate threshold;

[0063] The target server with a utilization rate greater than the preset utilization rate threshold is identified as the first target server, and the target server with a utilization rate less than the preset utilization rate threshold is identified as the second target server.

[0064] Optionally, at least one target service running on each of the first target servers is migrated to at least one second target server, and the target service is run using the target cloud resources on the second target server until at least one first target server is idle. The migration unit is used for:

[0065] Each target service corresponding to at least one target service on each first target server is migrated out until at least one first target server is idle.

[0066] Allocate target cloud resources for each target service within the available resources of at least one second target server, and use the allocated target cloud resources to run each migrated target service.

[0067] Thirdly, a management server includes:

[0068] Memory, used to store executable instructions;

[0069] A processor for reading and executing executable instructions stored in memory to implement the method as described in any of the first aspects.

[0070] Fourthly, a computer-readable storage medium, when instructions in the storage medium are executed by a processor, enables the processor to perform the method described in any of the first aspects above.

[0071] The beneficial effects of this application are as follows:

[0072] In summary, the embodiments of this application provide a method, apparatus, and storage medium for optimizing cloud resource utilization. The method includes: evaluating the utilization rate of target cloud resources included in each target server in a target resource pool according to a preset first cycle, wherein the target cloud resources are used to run at least one target service; based on the utilization rate evaluation results, performing the following operations on each first target server and each second target server in the target resource pool: migrating at least one target service running on each first target server to at least one second target server, and using the target cloud resources on the second target server to run the target service until at least one first target server is idle, wherein the utilization rate of the target cloud resources in the first target server is higher than the utilization rate of the target cloud resources in the second target server; and setting the idle at least one first target server to an energy-saving state. The above method can maximize the release of idle cloud resources and greatly improve the utilization rate of cloud resources.

[0073] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings. Attached Figure Description

[0074] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0075] Figure 1 This is a schematic diagram of a system architecture for optimizing cloud resource utilization in an embodiment of this application;

[0076] Figure 2 This is a schematic diagram of a process for optimizing cloud resource utilization in an embodiment of this application;

[0077] Figure 3 This is a schematic diagram of a process for determining a target server in an embodiment of this application;

[0078] Figure 4 This is a schematic diagram of a process for determining a first alternative server in an embodiment of this application;

[0079] Figure 5 This is a schematic diagram of a process for adjusting the quota of a target cloud resource in an embodiment of this application;

[0080] Figure 6 This is a schematic diagram of a process for evaluating the utilization rate of target cloud resources in an embodiment of this application;

[0081] Figure 7 This is a schematic diagram illustrating a process for migrating a target service according to an embodiment of this application;

[0082] Figure 8 This is a schematic diagram of the logical architecture of a device for optimizing cloud resource utilization according to an embodiment of this application;

[0083] Figure 9 This is a schematic diagram of the physical architecture of a management server in an embodiment of this application. Detailed Implementation

[0084] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings of the embodiments of this application. Obviously, the described embodiments are only some embodiments of the technical solutions of this application, and not all embodiments. Based on the embodiments recorded in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the technical solutions of this application.

[0085] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in sequences other than those illustrated or described herein.

[0086] The preferred embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0087] See Figure 1 As shown in the embodiments of this application, the system includes at least one management server and a target resource pool. Figure 1 In a target resource pool, there are usually multiple servers. The CPU, memory, disk, network, and energy efficiency of each server are collectively referred to as resources. When a target service requests resources from the target resource pool, the management server can allocate resources based on the distribution of available resources across the servers, thereby enabling the target service to run.

[0088] In this embodiment of the application, a method for optimizing cloud resource utilization is implemented mainly on the management server side, which will be described in detail below.

[0089] See Figure 2 As shown in the embodiments of this application, a specific process for optimizing cloud resource utilization is as follows:

[0090] Step 201: Evaluate the utilization rate of the target cloud resources included in each target server in the target resource pool according to the preset first cycle, wherein the target cloud resources are used to run at least one target service.

[0091] Given the large number of target servers in the target resource pool, and the different target cloud resources included in each target server, and considering that the target cloud resources running at least one target service are typically used as monitoring targets for easier utilization statistics, the utilization rate of the target cloud resources will be periodically evaluated during implementation. For example, the utilization rate of the target cloud resources included in each target server will be evaluated according to a preset first period.

[0092] It should be noted that, see reference Figure 3 As shown, before evaluating the utilization rate of the target cloud resources included in each target server in the target resource pool according to the preset first cycle, the following steps are also included:

[0093] Step 101: Based on the resource request issued by the computing device, determine multiple first alternative servers that can satisfy the resource request from each pre-selected server in the matching target resource pool, wherein the resource request corresponds one-to-one with the target service.

[0094] During implementation, when a computing device wants to run a target service, it generates a resource request and sends it to the management server. The management server then allocates resources to the target service based on the resource request. Upon receiving the resource request, the management server first finds a matching resource pool from multiple resource pools, i.e., the target resource pool. The resource pool matching process is not detailed here.

[0095] After determining the target resource pool, it is necessary to select multiple first-selection servers from the multiple pre-selected servers included in the target resource pool. This involves determining the resource details of the multiple pre-selected servers included in the target resource pool. (See [link to relevant documentation]). Figure 4 As shown, it includes:

[0096] Step 1011: Parse the resource request issued by the computing device to determine the target resource pool that matches the resource request and the resource request amount included in the resource request.

[0097] During implementation, in order to determine which resource pool is the target resource pool and the amount of resources required by the target service represented by the resource application request, after receiving the resource application request from the computing device, the resource application request is first parsed, and then the target resource pool that matches the resource application request is determined according to the nature of the required resources after parsing, that is, from which resource pool should resources be allocated to the target service.

[0098] After determining the target resource pool, the resource request amount included in the resource request is then determined based on the parsed required resource amount.

[0099] Step 1012: Compare whether the available quota of available resources included in each pre-selected server is greater than the resource request quota. The available quota of available resources of the pre-selected server is configured with a resource over-sale threshold.

[0100] Considering that the available resources of the pre-selected servers are configured with a resource over-sale threshold, meaning that when the peaks and troughs of business resource configuration and resource consumption are too large, the amount of CPU resources virtually allocated by the resource over-sale strategy will be twice or more than the actual CPU resources, the implementation process involves first determining the available resource quota of each pre-selected server in the target resource pool, and then comparing whether the available resource quota of each pre-selected server exceeds the resource request quota. In other words, it is determined step by step whether the resources on each pre-selected server can meet the usage requirements of the target business.

[0101] Step 1013: If the available quota is greater than the resource request quota, then allocate cloud resources equal to the resource request quota from the available resources, and determine the allocated cloud resources as the target cloud resources, and determine the pre-selected server as the first alternative server that can satisfy the resource request request.

[0102] During implementation, if the resources included in the pre-selected server are greater than (or equal to) the above resource application request, it means that the available resources in the pre-selected server can meet the operational needs of the target business. That is, cloud resources equal to the resource application amount are allocated from the available resources for the target business to use, and the allocated cloud resources running the target business are determined as the target cloud resources. The pre-selected server is then determined as the first alternative server that can meet the resource application request.

[0103] If the resources included in the pre-selected servers are less than the resource request requested above, it means that the available resources in the pre-selected servers are insufficient to meet the operational needs of the target business. In this case, the pre-selected server will not be selected as the first alternative server that can meet the resource request, and is thus eliminated. Further, multiple first alternative servers are selected from the target resource pool using the above method.

[0104] Step 102: Calculate the cloud resource utilization rate of each first candidate server according to the preset second cycle, and determine multiple second candidate servers from multiple first candidate servers based on each utilization rate.

[0105] First, it should be noted that the preset time interval for the second period can be the same as or different from the time interval for the first period mentioned above. That is, in the process of allocating target cloud resources to the target business, the cloud resource utilization rate calculated using the same time interval as the first period in the monitoring process, or a different time interval, can be used. The calculation process for the cloud resource utilization rate remains the same.

[0106] During implementation, after identifying multiple first-selection servers, these servers are further filtered based on cloud resource utilization to obtain multiple second-selection servers. For example, the cloud resource utilization of each first-selection server is calculated according to a preset second cycle. Servers with lower cloud resource utilization rates indicate that they offer more available cloud resources. This green evaluation method further identifies better servers; for instance, only first-selection servers with cloud resource utilization rates below 60% are selected as second-selection servers.

[0107] The following describes the specific calculation process for the utilization rate of the aforementioned cloud resources. Cloud resources include the central processing unit (CPU), memory, disk, network, and energy efficiency rating. The utilization rate is determined using the following methods:

[0108] During implementation, first set a preset unit time (e.g., one day) and a preset time period (e.g., one month).

[0109] (1) Determine the CPU utilization rate based on the maximum value of CPU utilization rate within a preset time unit and the average value of CPU utilization rate within a preset time period.

[0110] For the CPU metric, the CPU utilization rate over n preset time units will be obtained first. And from the above utilization rate Filter out the maximum value Then, the first average value Umax is calculated according to formula (1).

[0111]

[0112] Regarding the CPU metric, the CPU utilization rate over a preset time period will also be obtained. Then, the second average value U is calculated according to formula (2). avg .

[0113]

[0114] The above first average value U max Second average Uavg The CPU utilization rate can be determined by comparing it with preset thresholds.

[0115] (2) Determine the memory utilization rate based on the maximum value of memory utilization rate within a preset time unit and the average value of memory utilization rate within a preset time period.

[0116] Regarding the memory metric, we will first obtain the memory utilization rate over n preset time units. And from the above utilization rate Filter out the maximum value Then, the third average value Umax is calculated according to the above formula (1).

[0117] Regarding the memory metric, the memory utilization rate over a preset time period will also be obtained. Then, the fourth average value U is calculated according to the above formula (2). avg .

[0118] The third average value U mentioned above max and the fourth average U avg The memory utilization rate can be determined by comparing it with preset thresholds.

[0119] (3) Determine disk utilization based on the maximum value of disk utilization within a preset time unit and the average value of disk utilization within a preset time period.

[0120] Regarding the disk metric, the disk utilization rate over n preset time units will be obtained first. And from the above utilization rate Filter out the maximum value Then, the fifth average value Umax is calculated according to the above formula (1).

[0121] Regarding the disk metric, the disk utilization rate within a preset time period will also be obtained. Then, the sixth average value U is calculated according to the above formula (2). avg .

[0122] The fifth average value U mentioned above max and the sixth average U avg The disk utilization rate can be determined by comparing it with preset thresholds.

[0123] It should be noted that the disk utilization mentioned above includes read and write operations on the disk.

[0124] (4) Determine the network utilization rate based on the maximum value of the network utilization rate within a preset time unit and the average value of the network utilization rate within a preset time period.

[0125] For the network metric, the network utilization rate of the disk within n preset time units will be obtained first. And from the above utilization rate Filter out the maximum value Then, the seventh average value Umax is calculated according to the above formula (1).

[0126] Regarding the network metric, the network utilization rate within a preset time period will also be obtained. Then, the eighth average value U is calculated according to the above formula (2). avg .

[0127] The seventh average value U mentioned above max and the eighth average U avg The network utilization rate can be determined by comparing it with preset thresholds.

[0128] It should be noted that the network utilization mentioned above includes both uplink and downlink data transmission.

[0129] (5) Determine the energy efficiency value based on the actual power of the first alternative server and the number of CPU cores included in the first alternative server.

[0130] During the calculation process, the actual power u of the first alternative server is first obtained. t The number of CPU cores P included in the first alternative server t Then, the energy efficiency value is determined according to formula (3).

[0131]

[0132] (6) Determine the utilization rate based on CPU utilization, memory utilization, disk utilization, network utilization and energy efficiency value.

[0133] During the calculation process, after obtaining the CPU utilization, memory utilization, disk utilization, network utilization, and energy efficiency values, the CPU utilization, memory utilization, disk utilization, network utilization, and energy efficiency values ​​are further normalized. Finally, the sum of the normalized values ​​is calculated to obtain the final utilization rate.

[0134] In the implementation process, a batch of servers, namely multiple second-selection servers, are first determined from the first-selection servers based on the green assessment results of utilization.

[0135] Step 103: Calculate the energy efficiency value of each second candidate server, and determine at least one target server from the multiple second candidate servers based on the energy efficiency value.

[0136] In order to improve the utilization rate of cloud resources, after determining multiple second alternative servers, the energy efficiency value of each second alternative server is calculated. The energy efficiency value of the second alternative server can be calculated by the above formula (3).

[0137] After obtaining the energy efficiency values ​​of each of the second-choice servers, at least one target server is selected from the multiple second-choice servers in descending order of energy efficiency. It should be noted that the specific number of target servers needs to be determined based on the amount of available resources required by the resource request. For example, if there are three second-choice servers, and the resources on any one of them can meet the resource request requirements, then the second-choice server with the highest energy efficiency value is selected. As another example, if there are two second-choice servers, and the resources on either one are insufficient to meet the resource request requirements, then both of the aforementioned second-choice servers need to provide cloud resources, and both of these second-choice servers should be selected as target servers.

[0138] Step 104: Utilize the target cloud resources included in the target server to run the target service corresponding to the resource request.

[0139] During implementation, once the target server is identified and the available resources on the target server are used to allocate target cloud resources for the target service corresponding to the resource request, the target service can be run using the target cloud resources.

[0140] However, considering that the target cloud resources allocated to the resource application request may become incompatible as the target business is actually running, it is necessary to monitor the target business that is already running in real time.

[0141] See Figure 5 As shown, after utilizing the target cloud resources included in the target server to run the target service corresponding to the resource request, it also includes:

[0142] Step 105: Obtain the actual resource amount required by the target service during operation within the first prediction period. Based on the actual resource amount and the target cloud resource amount, determine the target cloud resource amount change rate within the first prediction period, and adjust the target cloud resource amount based on the amount change rate within the first prediction period. Here, the actual resource amount represents the maximum or minimum value of the target cloud resource amount within the resource over-sale threshold range; and / or

[0143] In the specific implementation process, a first prediction period (e.g., one month) is set in advance, and the actual amount of resources required by the target business during operation is obtained within the first prediction period. That is, the maximum or minimum amount of target cloud resources within the resource over-selling threshold range of the target business during the first prediction period is obtained.

[0144] After obtaining the actual resource quota, the difference between the actual resource quota and the target cloud resource quota is calculated, and the rate of change of the quota difference in the first prediction period is obtained. The rate of change of the quota represents the fluctuation range of the target cloud resources required by the target business.

[0145] To make the target cloud resource allocation for the target business more accurate, the allocation of the target cloud resources will be adjusted according to the rate of change of the allocation during the implementation process. That is, the allocation of the target cloud resources will be increased according to the rate of increase of the rate of change of the allocation, or the allocation of the target cloud resources will be decreased accordingly according to the rate of decrease of the rate of change of the allocation.

[0146] Step 106: If the utilization rate of the target cloud resources exceeds the utilization alarm threshold during the second prediction period, an alarm will be issued.

[0147] Meanwhile, considering the large number of target services running simultaneously in the target resource pool, in order to achieve comprehensive monitoring of the target services, a periodic second prediction period can be pre-set. During this second prediction period, after obtaining the utilization rate of the target cloud resources, the utilization rate of each target cloud resource is compared with the utilization alarm threshold. When the utilization rate of the target cloud resources exceeds the utilization alarm threshold, an alarm is issued to prompt the management server to handle the situation in a timely manner, such as adding resources to the corresponding target server.

[0148] Step 202: Based on the utilization assessment results, perform the following operations on each first target server and each second target server in the target resource pool: migrate at least one target service running on each first target server to at least one second target server, and use the target cloud resources on the second target server to run the target service until at least one first target server is idle, wherein the utilization rate of the target cloud resources in the first target server is higher than the utilization rate of the target cloud resources in the second target server.

[0149] Considering that there are a large number of target servers running target services in the target resource pool at the same time, in order to improve the utilization rate of the target servers, that is, to complete more target services with fewer servers as much as possible, the target servers that are already running target services will be evaluated as a whole in this embodiment of the application.

[0150] The above-mentioned evaluation assesses the utilization rate of target cloud resources included in each target server within the target resource pool according to the preset first cycle. (See reference...) Figure 6 As shown, it includes:

[0151] Step 2011: Obtain the utilization rate of the target cloud resources included in each target server in the target resource pool according to the preset first cycle.

[0152] During implementation, a first cycle will be pre-set to cyclically calculate the utilization rate of the aforementioned target cloud resources. This involves first identifying each target server included in the target resource pool, and then calculating the utilization rate of the target cloud resources included in each target server according to the first cycle. It should be noted that the calculation process for the utilization rate of the target cloud resources is the same as above, and will not be repeated here.

[0153] Step 2012: Compare the values ​​of each utilization rate with the preset utilization rate threshold.

[0154] During implementation, after calculating multiple utilization rates, the size of each utilization rate is compared with the preset utilization rate threshold. The preset utilization rate threshold is usually an empirical value determined based on historical experience to distinguish the utilization status of the target server.

[0155] Step 2013: The target server with a utilization rate greater than the preset utilization rate threshold is identified as the first target server, and the target server with a utilization rate less than the preset utilization rate threshold is identified as the second target server.

[0156] During implementation, after comparing each utilization rate with a preset utilization threshold, the target server corresponding to the utilization rate greater than the preset threshold is determined as the first target server, and the target server corresponding to the utilization rate less than the preset threshold is determined as the second target server. For example, if the preset utilization threshold is 5, the target server with a utilization rate greater than 5 (e.g., a utilization rate of 6-8) is determined as the first target server, which has a relatively high utilization rate and fewer idle resources; the target server with a utilization rate less than 5 (e.g., a utilization rate of 1-4) is determined as the second target server, which has a relatively low utilization rate and more idle resources.

[0157] The above involves migrating at least one target service running on each of the first target servers to at least one second target server, and utilizing the target cloud resources on the second target server to run the target service until at least one of the first target servers is idle. (See also...) Figure 7 As shown, it includes:

[0158] Step 2021: Migrate each target service from the target cloud resources corresponding to at least one target service on each first target server until at least one first target server is idle.

[0159] After identifying several primary target servers with high utilization rates, in order to free up more primary target servers, the implementation process involves first determining the target cloud resources corresponding to the target services on the primary target servers, and then migrating each target service from the target cloud resources. This migration operation will leave several primary target servers idle.

[0160] It should be noted that if the target service being migrated from the first target server cannot find a matching target cloud resource on the second target server, the migration operation is cancelled. In this case, the target service on the first target server remains running. Obviously, the first target server cannot be idle in this situation.

[0161] Step 2022: Allocate target cloud resources for each target service in the available resources of at least one second target server, and use the allocated target cloud resources to run each migrated target service.

[0162] Considering that the second target server has more available resources, in order to enable the aforementioned migrated target services to continue running, for each target service, target cloud resources are allocated from the available resources of the second target server for the migrated target service. The newly allocated target cloud resources need to meet the resource usage quota of the target service, and then the migrated target service is run using the newly allocated target cloud resources.

[0163] Step 203: Set at least one unloaded first target server to power-saving mode.

[0164] During implementation, to further optimize cloud resource utilization, the first target servers without any target services running will be set to energy-saving mode. This means setting each of the aforementioned first target servers that are already idle to standby or shutdown. During implementation, each first target server can be initially set to standby, and after a period of time, if it is determined that the first target server is still idle, it can be set to shutdown.

[0165] Based on the same inventive concept, see [reference] Figure 8 As shown in the figure, this application provides an apparatus for optimizing cloud resource utilization, comprising:

[0166] Evaluation unit 801 is used to evaluate the utilization rate of target cloud resources included in each target server in the target resource pool according to a preset first cycle, wherein the target cloud resources are used to run at least one target service.

[0167] Migration unit 802 is used to perform the following operations on each first target server and each second target server in the target resource pool based on the results of utilization assessment: migrate at least one target service running on each first target server to at least one second target server, and use the target cloud resources on the second target server to run the target service until at least one first target server is idle, wherein the utilization rate of the target cloud resources in the first target server is higher than the utilization rate of the target cloud resources in the second target server.

[0168] Setting unit 803 is used to set at least one unloaded first target server to an energy-saving state.

[0169] Optionally, before evaluating the utilization rate of the target cloud resources included in each target server in the target resource pool according to a preset first cycle, the following steps are also included:

[0170] Based on the resource request issued by the computing device, multiple first alternative servers that can satisfy the resource request are determined from the pre-selected servers of the matching target resource pool. The resource request corresponds one-to-one with the target service.

[0171] The cloud resource utilization rate of each first candidate server is calculated according to the preset second cycle, and multiple second candidate servers are determined from multiple first candidate servers based on the utilization rate.

[0172] Calculate the energy efficiency value of each second candidate server, and determine at least one target server from multiple second candidate servers based on the energy efficiency value;

[0173] The target cloud resources included in the target server are used to run the target business corresponding to the resource request.

[0174] Optionally, based on the resource request issued by the computing device, a plurality of first alternative servers capable of satisfying the resource request are determined from each pre-selected server in the matching target resource pool, including:

[0175] The resource request issued by the computing device is parsed to determine the target resource pool that matches the resource request and the resource request amount included in the resource request;

[0176] Compare whether the available quota of available resources included in each pre-selected server is greater than the resource request quota. The available quota of available resources of the pre-selected server is configured with a resource over-sale threshold.

[0177] If the available quota is greater than the resource request quota, then cloud resources equal to the resource request quota are allocated from the available resources, and the allocated cloud resources are determined as the target cloud resources. In addition, the pre-selected server is determined as the first alternative server that can satisfy the resource request.

[0178] Optionally, cloud resources, including central processing unit (CPU), memory, disk, network, and energy efficiency values, are used to determine utilization in the following ways:

[0179] CPU utilization is determined based on the maximum CPU utilization within a preset time unit and the average CPU utilization within a preset time period.

[0180] Memory utilization is determined based on the maximum utilization rate of memory within a preset time unit and the average utilization rate of memory within a preset time period.

[0181] Disk utilization is determined based on the maximum disk utilization within a preset time unit and the average disk utilization within a preset time period.

[0182] Network utilization is determined based on the maximum utilization rate of the network within a preset time unit and the average utilization rate of the network within a preset time period.

[0183] The energy efficiency value is determined based on the actual power consumption of the first alternative server and the number of CPU cores included in the first alternative server.

[0184] Utilization is determined based on CPU utilization, memory utilization, disk utilization, network utilization, and energy efficiency.

[0185] Optionally, after using the target cloud resources included in the target server to run the target service corresponding to the resource request, it also includes:

[0186] During the first forecast period, obtain the actual resource amount required by the target service during operation. Based on the actual resource amount and the target cloud resource amount, determine the rate of change of the target cloud resource amount during the first forecast period. Adjust the target cloud resource amount based on the rate of change during the first forecast period. Here, the actual resource amount represents the maximum or minimum value of the target cloud resource amount within the resource oversupply threshold range; and / or

[0187] If the utilization rate of the target cloud resources exceeds the utilization alarm threshold during the second prediction period, an alarm will be issued.

[0188] Optionally, the utilization rate of the target cloud resources included in each target server in the target resource pool is evaluated according to a preset first cycle. The evaluation unit 801 is used for:

[0189] According to the preset first cycle, obtain the utilization rate of the target cloud resources included in each target server in the target resource pool:

[0190] Compare the values ​​of each utilization rate with the preset utilization rate threshold;

[0191] The target server with a utilization rate greater than the preset utilization rate threshold is identified as the first target server, and the target server with a utilization rate less than the preset utilization rate threshold is identified as the second target server.

[0192] Optionally, at least one target service running on each of the first target servers is migrated to at least one second target server, and the target service is run using the target cloud resources on the second target server until at least one first target server is idle. The migration unit 802 is used for:

[0193] Each target service corresponding to at least one target service on each first target server is migrated out until at least one first target server is idle.

[0194] Allocate target cloud resources for each target service within the available resources of at least one second target server, and use the allocated target cloud resources to run each migrated target service.

[0195] Based on the same inventive concept, see [reference] Figure 9 As shown, this application embodiment provides a management server, including: a memory 901 for storing executable instructions; and a processor 902 for reading and executing the executable instructions stored in the memory, and executing any of the methods described in the first aspect above.

[0196] Based on the same inventive concept, embodiments of this application provide a computer-readable storage medium that, when the instructions in the storage medium are executed by a processor, enables the processor to perform the method described in any of the first aspects above.

[0197] In summary, the embodiments of this application provide a method, apparatus, and storage medium for optimizing cloud resource utilization. The method includes: evaluating the utilization rate of target cloud resources included in each target server in a target resource pool according to a preset first cycle, wherein the target cloud resources are used to run at least one target service; based on the utilization rate evaluation results, performing the following operations on each first target server and each second target server in the target resource pool: migrating at least one target service running on each first target server to at least one second target server, and using the target cloud resources on the second target server to run the target service until at least one first target server is idle, wherein the utilization rate of the target cloud resources in the first target server is higher than the utilization rate of the target cloud resources in the second target server; and setting the idle at least one first target server to an energy-saving state. The above method can maximize the release of idle cloud resources and greatly improve the utilization rate of cloud resources.

[0198] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program product systems. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product system implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0199] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program product systems according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0200] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0201] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0202] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A method for optimizing cloud resource utilization, characterized in that, The method includes: Based on the resource request issued by the computing device, multiple first candidate servers that can satisfy the resource request are determined from each pre-selected server in the matching target resource pool. The cloud resource utilization rate of each first candidate server is calculated according to a preset second period. Based on each utilization rate, multiple second candidate servers are determined from the multiple first candidate servers. The energy efficiency value of each second candidate server is calculated. Based on the energy efficiency value, at least one target server is determined from the multiple second candidate servers. The target cloud resources included in the target server are used to run the target service corresponding to the resource request. The utilization rate of the target cloud resources included in each target server in the target resource pool is obtained according to a preset first period. The utilization rate is compared with a preset utilization rate threshold. The target server with the utilization rate greater than the preset utilization rate threshold is determined as the first target server, and the target server with the utilization rate less than the preset utilization rate threshold is determined as the second target server. Based on the utilization assessment results, at least one of the target services running on each of the first target servers is migrated to at least one of the second target servers, and the target services are run using the target cloud resources on the second target servers until at least one of the first target servers is idle, wherein the utilization rate of the target cloud resources in the first target servers is higher than the utilization rate of the target cloud resources in the second target servers. Set at least one of the first target servers that is not in use to a power-saving state.

2. The method as described in claim 1, characterized in that, The resource request issued by the computing device determines multiple first alternative servers that can satisfy the resource request from each pre-selected server in the matching target resource pool, including: The resource request issued by the computing device is parsed to determine the target resource pool that matches the resource request and the resource request amount included in the resource request; Each of the pre-selected servers compares whether the available quota of available resources is greater than the resource request quota, wherein the available quota of available resources of the pre-selected server is configured with a resource over-sale threshold. If the available quota is greater than the resource application quota, then cloud resources equal to the resource application quota are allocated from the available resources, and the allocated cloud resources are determined as the target cloud resources. In addition, the pre-selected server is determined as the first alternative server that can satisfy the resource application request.

3. The method as described in claim 1, characterized in that, The cloud resources include central processing unit (CPU), memory, disk, network, and energy efficiency values, and their utilization rate is determined in the following ways: CPU utilization is determined based on the maximum utilization of the CPU within a preset time unit and the average utilization of the CPU within a preset time period. The memory utilization rate is determined based on the maximum value of the memory utilization rate within a preset time unit and the average value of the memory utilization rate within a preset time period. Disk utilization is determined based on the maximum utilization of the disk within a preset time unit and the average utilization of the disk within a preset time period; The network utilization rate is determined based on the maximum utilization rate of the network within a preset time unit and the average utilization rate of the network within a preset time period. The energy efficiency value is determined based on the actual power of the first candidate server and the number of CPU cores included in the first candidate server. The utilization rate is determined based on the CPU utilization rate, the memory utilization rate, the disk utilization rate, the network utilization rate, and the energy efficiency value.

4. The method as described in claim 1, characterized in that, After using the target cloud resources included in the target server to run the target service corresponding to the resource request, the method further includes: During the first prediction period, the actual resource quota required by the target service during operation is obtained. Based on the actual resource quota and the quota of the target cloud resources, the quota change rate of the target cloud resources during the first prediction period is determined. The quota of the target cloud resources is then adjusted based on the quota change rate during the first prediction period. Here, the actual resource quota represents the maximum or minimum value of the target cloud resources quota within the resource oversupply threshold range for the target service; and / or If the adjusted utilization rate of the target cloud resource exceeds the utilization alarm threshold during the second prediction period, an alarm will be issued.

5. The method as described in claim 2, characterized in that, The step of migrating at least one target service running on each of the first target servers to at least one second target server, and using the target cloud resources on the second target server to run the target service, until at least one of the first target servers is idle, includes: Each of the target services corresponding to at least one of the target services on each of the first target servers is migrated out until at least one of the first target servers is idle. In at least one of the available resources of the second target server, target cloud resources are allocated for each of the target services, and the allocated target cloud resources are used to run each of the migrated target services.

6. An apparatus for optimizing cloud resource utilization, characterized in that, include: An evaluation unit is configured to, based on a resource request issued by a computing device, determine multiple first candidate servers from each pre-selected server in a matching target resource pool that can satisfy the resource request, calculate the cloud resource utilization rate of each of the first candidate servers according to a preset second period, determine multiple second candidate servers from the multiple first candidate servers based on each utilization rate, calculate the energy efficiency value of each of the second candidate servers, determine at least one target server from the multiple second candidate servers based on the energy efficiency value, run the target service corresponding to the resource request using the target cloud resources included in the target server, and obtain the utilization rate of the target cloud resources included in each target server in the target resource pool according to a preset first period: compare each utilization rate with a preset utilization rate threshold, determine the target server corresponding to the utilization rate greater than the preset utilization rate threshold as the first target server, and determine the target server corresponding to the utilization rate less than the preset utilization rate threshold as the second target server; A migration unit is configured to migrate at least one target service running on each of the first target servers to at least one second target server based on the results of utilization assessment, and to run the target service using the target cloud resources on the second target server until at least one of the first target servers is idle, wherein the utilization rate of the target cloud resources in the first target server is higher than the utilization rate of the target cloud resources in the second target server. A setting unit is used to set at least one of the first target servers that is not in use to an energy-saving state.

7. A management server, characterized in that, include: Memory, used to store executable instructions; A processor for reading and executing executable instructions stored in the memory to implement the method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, When the instructions in the storage medium are executed by the processor, the processor is able to perform the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Cloud resource management method and device, storage medium and electronic equipment

    CN115118731A

  • Allocation and migration of cloud resources in a distributed cloud system

    US20150163157A1