Cloud computing resource scheduling method and device, equipment, medium and program product
By optimizing the resource allocation of the cloud resource pool through quantitative evaluation and Pearson correlation coefficient clustering algorithm, the problem of resource imbalance in cloud computing is solved, and the balanced allocation and utilization of resources are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-25
- Publication Date
- 2026-04-03
AI Technical Summary
Existing cloud computing resource scheduling schemes fail to coordinate and allocate resources from the perspective of the entire cloud resource pool, resulting in unreasonable and unbalanced resource allocation and low resource utilization efficiency.
By acquiring cloud resource pool status data, using a cloud resource assessment model for quantitative evaluation, abstracting host resources and virtual machine requirements into vector groups, and employing a Pearson correlation coefficient clustering algorithm for iterative optimization, the target correlation relationship is obtained, and resource optimization scheduling is performed based on this.
It achieves balanced allocation of cloud resources, improves resource utilization and stable operation of the cloud platform, and enhances resource usage efficiency.
Smart Images

Figure CN121785780A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, and in particular to a cloud computing resource scheduling method, apparatus, equipment, medium and program product. Background Technology
[0002] Cloud computing resources are a collection of IT infrastructure delivered remotely over a network, supporting on-demand elastic scaling. They encompass various resources such as computing, storage, networking, and databases, allowing for efficient and flexible use without requiring user-built maintenance. Current cloud resource scheduling solutions mostly operate on a single dimension, such as CPU or memory allocation, failing to consider the overall cloud resource pool. This results in unreasonable and unbalanced resource allocation on hosts in cloud scenarios, leading to low resource utilization efficiency. Summary of the Invention
[0003] This application provides a cloud computing resource scheduling method and apparatus that can solve the problem of low resource utilization efficiency in the present invention.
[0004] To solve the above-mentioned technical problems, this application is implemented as follows:
[0005] In a first aspect, embodiments of this application provide a cloud computing resource scheduling method, the method comprising:
[0006] Obtain cloud resource pool status data, and based on the cloud resource pool status data, quantitatively evaluate the resource imbalance status of the cloud resource pool through a cloud resource evaluation model, and output the resource imbalance quantification result. The parameters of the cloud resource evaluation model include at least one of resource utilization rate, resource deviation rate, host fragmentation rate, host allocation rate, and resource utilization balance.
[0007] The host machine's resource-related indicators in the cloud resource pool status data are abstracted into resource vector groups, and the virtual machine's demand-related indicators in the original indicator data are abstracted into demand vector groups.
[0008] Using the quantification results of resource imbalance as the optimization direction, the Pearson correlation coefficient clustering algorithm is used to iteratively optimize the clustering of the relationship between the demand vector group and the resource vector group to obtain the target relationship.
[0009] Resource optimization scheduling is performed based on the aforementioned target relationships.
[0010] Secondly, embodiments of this application provide a cloud computing resource scheduling device, the device comprising:
[0011] The acquisition module is used to acquire cloud resource pool status data, and based on the cloud resource pool status data, to quantitatively evaluate the resource imbalance status of the cloud resource pool through a cloud resource evaluation model, and output the resource imbalance quantification result. The parameters of the cloud resource evaluation model include at least one of resource utilization rate, resource deviation rate, host fragmentation rate, host allocation rate and resource utilization balance.
[0012] The abstract module is used to abstract the host machine's resource-related indicators in the cloud resource pool status data into resource vector groups, and to abstract the virtual machine's demand-related indicators in the original indicator data into demand vector groups.
[0013] The clustering module is used to take the resource imbalance quantification results as the optimization direction, and uses the Pearson correlation coefficient clustering algorithm to iteratively optimize the clustering of the correlation between the demand vector group and the resource vector group to obtain the target correlation.
[0014] The scheduling module is used to perform resource optimization scheduling based on the target association relationship.
[0015] Thirdly, embodiments of this application provide an electronic device, including a processor and a memory, wherein the memory stores a program or instructions that can run on the processor, and the program or instructions, when executed by the processor, implement the steps of the cloud computing resource scheduling method as described in the first aspect.
[0016] Fourthly, embodiments of this application provide a readable storage medium on which a program or instructions are stored, and when the program or instructions are executed by a processor, they implement the steps of the cloud computing resource scheduling method as described in the first aspect.
[0017] In this embodiment, cloud resource pool status data is acquired, and based on this data, a cloud resource assessment model is used to quantitatively evaluate the resource imbalance status of the cloud resource pool, outputting a resource imbalance quantification result. The parameters of the cloud resource assessment model include at least one of resource utilization rate, resource deviation rate, host fragmentation rate, host allocation rate, and resource utilization balance. The host machine resource-related indicators in the cloud resource pool status data are abstracted into resource vector groups, and the virtual machine demand-related indicators in the original indicator data are abstracted into demand vector groups. Using the resource imbalance quantification result as an optimization direction, a Pearson correlation coefficient clustering algorithm is used to iteratively optimize the clustering of the correlation between the demand vector groups and the resource vector groups to obtain the target correlation. Resource optimization scheduling is then performed based on the target correlation. Thus, by quantitatively evaluating the resource imbalance status through multiple indicators, and combining this with the Pearson correlation coefficient clustering algorithm to optimize the correlation between virtual machines and the host machine and perform scheduling, balanced allocation of cloud resources, improved utilization, and stable operation of the cloud platform are achieved, thereby improving resource utilization efficiency. Attached Figure Description
[0018] Figure 1 A flowchart illustrating the cloud computing resource scheduling method provided in this application embodiment;
[0019] Figure 2 This is a schematic diagram of host resource fragmentation provided in an embodiment of this application;
[0020] Figure 3 This is a schematic diagram illustrating the uneven virtual machine allocation provided in an embodiment of this application.
[0021] Figure 4 A schematic diagram illustrating the iterative process of the k-means algorithm based on the Pearson correlation coefficient provided in this application embodiment;
[0022] Figure 5 This is an architecture diagram of a cloud computing resource scheduling scheme provided in an embodiment of this application;
[0023] Figure 6 This is a schematic diagram of the structure of the resource scheduling device provided in the embodiments of this application;
[0024] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0025] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0026] This application provides a cloud computing resource scheduling method, apparatus, device, medium, and program product. The embodiments of this application will be described in detail below with reference to the accompanying drawings and specific embodiments and application scenarios.
[0027] Please see Figure 1 , Figure 1 A flowchart illustrating a cloud computing resource scheduling method provided in this application embodiment is shown in the figure. The method includes:
[0028] Step 110: Obtain cloud resource pool status data. Based on the cloud resource pool status data, quantitatively evaluate the resource imbalance status of the cloud resource pool through a cloud resource evaluation model, and output the resource imbalance quantification result. The parameters of the cloud resource evaluation model include at least one of resource utilization rate, resource deviation rate, host fragmentation rate, host allocation rate, and resource utilization balance.
[0029] In this step, the aforementioned cloud resource pool status data refers to comprehensive data related to resources, equipment, and operational status generated during the operation of the cloud resource pool. Its scope is broad, including hardware operating parameters, resource usage, cloud platform operational status, network element distribution information, and related alarm information. This data serves as the basis for subsequent resource assessment and scheduling, and can comprehensively reflect the real-time operational status of the cloud resource pool.
[0030] The aforementioned cloud resource assessment model is a mathematical model used to quantitatively assess the resource imbalance state within a cloud resource pool. Through the calculation and analysis of specific parameters, it transforms the abstract problem of resource imbalance into quantifiable results, providing a clear direction for resource scheduling optimization. The quantitative results of this resource imbalance are specific data output by the cloud resource assessment model after analyzing and calculating the cloud resource pool's status data. These results can accurately reflect the degree, type, and key influencing factors of resource imbalance within the cloud resource pool, such as excessively high fragmentation rates in a certain region or resource deviation rates exceeding reasonable ranges for some hosts. This provides clear optimization targets for subsequent resource scheduling.
[0031] You can refer to this. Figure 2 Resource imbalance generally refers to the uneven distribution of virtualized resources within a cloud resource pool. There are four main types of resources: CPU resources, memory resources, storage resources, and network resources (primarily bandwidth resources). Based on the different resource dimensions, resource imbalance can be divided into two scenarios: fragmented resource imbalance and virtual machine allocation imbalance.
[0032] In this context, resource fragmentation imbalance is generally viewed from the perspective of a single host. There is no standard definition of host fragmentation in the industry. The fragmented resources mentioned in this article refer to idle, unusable host resources when a host cannot deploy virtual machines of a specified specification (the specified specification is generally a commonly used specification that is specified on demand by VNF network elements or based on resource pool-level calculations, and the specification coverage is not less than 80%). As can be clearly seen from the diagram below, when at least one resource within a host is unavailable for allocation, while other resources remain but are also unusable due to their interrelationships, this is considered a closed resource, also known as resource fragmentation.
[0033] Uneven virtual machine allocation, from the perspective of high availability (HA) or resource pools, generally refers to an uneven distribution of virtual machines within a host group or resource pool. Most virtual machines are concentrated on a few hosts, while a smaller number are distributed across other hosts. As shown in the diagram below, resources are more concentrated on hosts 1, 2, and 3, while virtual machines on hosts 4 and 5 use fewer resources. Figure 3 .
[0034] Step 120: Abstract the host machine's resource-related indicators in the cloud resource pool status data into resource vector groups, and abstract the virtual machine's demand-related indicators in the original indicator data into demand vector groups;
[0035] The aforementioned resource vector group is a set of vectors formed by abstracting and organizing the host machine's resource-related indicators from the cloud resource pool status data. These host machine resource-related indicators refer to various data that reflect the host machine's resource supply capacity, including but not limited to CPU-related parameters, memory-related parameters, storage-related parameters, and bandwidth-related parameters. These indicators can be integrated into vector form according to preset rules, facilitating subsequent association and matching calculations through algorithms.
[0036] The aforementioned demand vector set is a set of vectors formed by abstracting and organizing the demand-related indicators of virtual machines from the cloud resource pool status data. The demand-related indicators of virtual machines can be understood as various resource data required by the virtual machine during operation, including but not limited to the number of CPU cores, memory capacity, storage space, and bandwidth required for the virtual machine to run. By integrating these demand indicators into vector form, they can be accurately matched with the resource vector set of the host machine.
[0037] After acquiring and quantitatively evaluating the cloud resource pool status data, key indicators in the status data can be abstracted. For host machine resource-related indicators, they can be filtered and organized according to the evaluation focus and scheduling requirements to form resource vector groups. For example, indicators such as total physical cores, number of idle cores, bandwidth usage, and memory usage can be abstracted, or indicators such as total NUMA cores, remaining storage space, and huge page configuration information can be abstracted. The specific indicator selection can be determined based on the actual configuration of the resource pool and business needs.
[0038] Simultaneously, the relevant indicators for virtual machine requirements are screened and organized to form a requirement vector group. For example, indicators such as the number of CPU cores, memory capacity, bandwidth, and storage requirements required for virtual machine operation can be abstracted, or indicators such as virtual machine security group requirements and affinity requirements can be abstracted to ensure that the requirement vector group can comprehensively reflect the resource requirement characteristics of virtual machines.
[0039] Step 130: Using the resource imbalance quantification result as the optimization direction, the Pearson correlation coefficient clustering algorithm is used to iteratively optimize the clustering of the correlation between the demand vector group and the resource vector group to obtain the target correlation.
[0040] In this step, the Pearson correlation coefficient clustering algorithm is an optimization algorithm that combines the advantages of Pearson correlation coefficient and clustering algorithms. The Pearson correlation coefficient measures the strength of the correlation between the virtual machine demand vector and the host machine resource vector; the closer the absolute value of the correlation coefficient is to 1, the higher the fit between the two. The clustering algorithm is used to group and optimize the two types of vectors, finding the optimal vector association relationship through iterative calculation, thereby achieving precise resource matching. The aforementioned target association relationship refers to the optimal matching relationship between the virtual machine demand vector and the host machine resource vector determined after iterative optimization using the Pearson correlation coefficient clustering algorithm. This relationship can match the virtual machine's resource demand with the host machine's resource supply, providing a direct basis for resource optimization scheduling.
[0041] Step 140: Perform resource optimization scheduling based on the target association relationship.
[0042] The aforementioned resource optimization scheduling refers to a series of operations that adjust the deployment of virtual machines in the cloud resource pool based on target correlation. Its core purpose is to achieve balanced resource allocation, reduce resource waste, improve resource utilization, and ensure the stable operation of business.
[0043] In the cloud computing resource scheduling method implemented in this application, the resource imbalance status is evaluated by multiple indicators, and the clustering algorithm based on Pearson correlation coefficient is used to optimize the relationship between virtual machines and host machines and perform scheduling, thereby achieving balanced allocation of cloud resources, improved utilization, and stable operation of the cloud platform, thus improving resource utilization efficiency.
[0044] Optionally, the k-means clustering algorithm using Pearson correlation coefficient to iteratively optimize the clustering of the correlation between the demand vector group and the resource vector group includes:
[0045] The resource vector group and the demand vector group are determined to be multiple samples, and a preset number of samples are randomly selected as the initial cluster centers;
[0046] Repeat the first operation until the cluster centers converge, and determine the association relationship between the resource vector group and the demand vector group corresponding to the cluster centers after convergence as the target association relationship;
[0047] The first operation includes:
[0048] The correlation between the demand vector and the resource vector is obtained by using the Pearson correlation coefficient. Based on the correlation, the logical distance from each sample to each cluster center is obtained. Samples that meet the resource usage threshold are assigned to the cluster center with the closest logical distance.
[0049] The cluster centers are updated based on the resource utilization balance.
[0050] The aforementioned samples refer to individual data units obtained after splitting the resource vector group and demand vector group. Each sample carries specific resource supply or demand information. Each sample in the resource vector group corresponds to the resource supply characteristics of a host machine, and each sample in the demand vector group corresponds to the resource demand characteristics of a virtual machine. These samples are the basic data units for clustering algorithms to group and optimize.
[0051] The initial cluster centers mentioned above are the baseline points set when the clustering algorithm starts, and can be used as a reference for the initial sample grouping. Representative samples can be selected from all samples, and subsequent clustering processes will iteratively adjust around these baseline points until a stable clustering result is formed. Cluster center convergence means that during the iteration process, the position changes of the cluster centers reach a preset stable condition and no longer move significantly. Reaching convergence indicates that the clustering result has approached optimality, and further iteration cannot significantly improve the matching accuracy. At this point, iteration can be stopped and the final association relationship can be determined.
[0052] The first operation described above is the core execution unit in the iterative process of the clustering algorithm. It includes two key actions: sample association calculation and cluster center update, and can serve as the process for achieving cluster optimization. Each iteration can execute the first operation completely once, gradually approaching the optimal matching result by continuously adjusting the sample affiliation and cluster center position.
[0053] The aforementioned correlation refers to the degree of fit between the virtual machine demand vector and the host machine resource vector, calculated using the Pearson correlation coefficient. This indicator ranges from -1 to 1; the closer the absolute value is to 1, the stronger the fit between the demand and resource vectors; the closer it is to 0, the weaker the fit. Logical distance, derived from correlation transformation, measures the difference between a sample and its cluster center. Stronger correlation and closer logical distance indicate a higher degree of matching between the sample and the cluster center; conversely, greater logical distance indicates a lower degree of matching. Its core function is to provide a quantitative basis for sample allocation. The aforementioned resource usage threshold is a pre-set resource constraint standard used to screen qualified samples, ensuring that the allocated resource usage does not exceed safe or reasonable limits. This threshold can be flexibly set according to resource type, business needs, etc., covering the upper limit or reasonable range of usage for various resources such as CPU, memory, storage, and bandwidth.
[0054] In this implementation, the aforementioned target correlation is the optimal matching relationship between each virtual machine requirement sample and the host machine resource sample, determined after the cluster centers converge. This relationship maximizes the satisfaction of virtual machine resource requirements while ensuring balanced utilization of host machine resources, serving as the direct basis for subsequent resource optimization scheduling. To solve the above data model, a k-means clustering algorithm based on the improved Pearson correlation coefficient (Kcabip) is used. The k-means algorithm is an iterative solution method based on sample set partitioning. Its core task is to find the k optimal centroids and assign them to the nearest or most similar clusters. The Pearson correlation coefficient is generally used to measure the correlation between two variables. The closer the absolute value of the correlation coefficient is to 1, the stronger the correlation; the closer the correlation coefficient is to 0, the weaker the correlation. By combining the Pearson correlation coefficient with the k-means clustering algorithm, the correlation between host resources and virtual resources can be fully utilized for optimized resource scheduling.
[0055] In some alternative implementations, the correlation between the virtual machine resource demand vector V and the host resource vector H can be calculated using the Pearson correlation coefficient:
[0056] (1)
[0057] Then define the logical distance from the virtual machine to the host:
[0058] (2)
[0059] Furthermore, the k-means clustering scheduling algorithm based on the Pearson correlation coefficient can be described as follows:
[0060] 1. Initialize cluster centers by randomly selecting k samples as initial cluster centers, ensuring that the distance between them is as far as possible; simultaneously, input the set of virtual machines within the resource pool. The collection of hosts within the resource pool And usage thresholds for various resource types;
[0061] 2. Use the formula Calculate the distance between each sample and each cluster center, record it in a temporary one-dimensional array TA[T], and assign each sample to the nearest cluster center;
[0062] 3. Use the formula:
[0063] ;
[0064] Calculate the new cluster centers and move to the mean of the samples at these cluster centers;
[0065] 4. Repeat steps 2-3 until the cluster centers no longer move.
[0066] You can refer to this. Figure 4 This is a schematic diagram of the iterative process simulated by the entire algorithm, showing the cluster distribution after each iteration.
[0067] In the cloud computing resource scheduling method implemented in this application, by determining the sample and the initial cluster center, iteratively calculating the vector correlation and logical distance to allocate the sample, and updating the cluster center according to the resource utilization balance until convergence, the precise optimization of the relationship between the virtual machine and the host machine is achieved, providing reliable support for resource balance scheduling.
[0068] Optionally, the resource utilization rate is the ratio of the amount of resources used to the total stock of resources;
[0069] The resource deviation rate is the difference between the maximum and minimum utilization rates of various resources on the same host.
[0070] The host fragmentation rate is the ratio of the number of hosts in the cloud resource pool that cannot deploy a preset virtual machine to the total number of hosts in the cloud resource pool.
[0071] The host allocation rate is the ratio of the number of hosts that already host business virtual machines to the total number of hosts in the cloud resource pool.
[0072] The aforementioned preset virtual machines can be understood as standard virtual machines used to determine whether a host has resource fragmentation, and their specifications can serve as the core basis for determining whether the host can be deployed. The specifications of the aforementioned preset virtual machines can be flexibly determined according to the actual application scenario to ensure that the judgment result meets the actual usage requirements of the resource pool.
[0073] The core of resource utilization calculation is to obtain the amount of resources used and the total amount of resources in stock, and calculate the ratio between the two, which can quickly reflect the status of resource use.
[0074] The core of calculating the resource deviation rate is to obtain the utilization rate of various resources on the same host, filter out the maximum and minimum utilization rates, and calculate the difference between the two.
[0075] The core of calculating host fragmentation rate is to count the number of hosts in the cloud resource pool that cannot deploy preset virtual machines and the total number of hosts in the resource pool, and then calculate the ratio between the two. This can accurately measure the severity of resource fragmentation in the resource pool and provide data support for the governance of resource fragmentation.
[0076] The core of host allocation rate calculation is to count the number of hosts that are already hosting business virtual machines in the cloud resource pool and the total number of hosts in the resource pool, and calculate the ratio between the two. This can intuitively reflect the deployment saturation of hosts in the resource pool and provide key data for assessing uneven virtual machine allocation.
[0077] For example, the above resource utilization rate (RU): (1) Ru represents the resources already used, and Rt represents the total resources.
[0078] Resource deviation rate (RD): (2) RUmax represents the maximum resource utilization on the host, and RUmin represents the minimum resource utilization on the host.
[0079] Host fragmentation rate (HFR): (3), where Hnd is the number of hosts in a resource pool that cannot deploy virtual machines, and Ht is the total number of hosts in a resource pool.
[0080] Host allocation rate: (4), where Hvm represents the number of hosts that have already hosted business virtual machines, and Ht is the total number of hosts in a resource pool.
[0081] In the cloud computing resource scheduling method implemented in this application, the resource imbalance state in the cloud resource pool can be transformed into quantifiable specific data through the explicit definition and calculation logic of the above four parameters. This provides more accurate and reliable parameter support for the effective operation of the cloud resource evaluation model, ensuring that the quantitative evaluation results of resource imbalance are true and effective.
[0082] Optionally, the method for obtaining the resource utilization equilibrium degree is as follows:
[0083] Obtain the utilization rate of various resources for each host that is in the open state, obtain the first ratio of each resource utilization rate to the average utilization rate of all types of resources of the host in the open state, and obtain the maximum value among the average values of the first ratio.
[0084] Obtain the sum of squares of the differences between the utilization rates of each type of resource and the average utilization rate of all types of resources on the corresponding host;
[0085] Obtain the product of the total number of hosts and the number of resource types, and obtain the square root of the quotient of the sum of squares and the product;
[0086] The second ratio is obtained by taking the maximum value of the mean of the first ratio and the square root value, and the second ratio is determined as the resource utilization balance degree.
[0087] The aforementioned "enabled" hosts are physical hosts that are running and capable of supporting virtual machine services or providing resource supply. They are the core objects of resource utilization statistics and balance calculations. The enabled status of a host can be determined by a real-time monitoring system. As long as a host can respond to resource scheduling commands and has the ability to allocate resources, it can be considered to be in the enabled state, and its relevant resource data will be included in the balance calculation.
[0088] The resource utilization rates mentioned above refer to the actual usage ratios of different types of resources on an active host, serving as the foundational data for calculating resource utilization balance. Resource types can be flexibly selected based on the cloud resource pool configuration and business needs. For example, they can include CPU resource utilization, memory resource utilization, storage resource utilization, and bandwidth resource utilization. Alternatively, some core resource types can be selected based on the actual scenario, such as only calculating the utilization rates of CPU, memory, and bandwidth. The specific selection must ensure a comprehensive reflection of the host's resource usage status.
[0089] The average utilization rate of all the above resource types refers to the arithmetic mean of the utilization rates of various resources on a single, powered-on host. It can be used to measure the average level of resource usage on a single host and serves as a benchmark for comparing differences in resource usage within a single host. Its calculation must be based on the actual resource types counted for that host to ensure that the average value accurately reflects the overall resource usage of that host.
[0090] The first ratio mentioned above refers to the ratio of the utilization rate of a certain type of resource on a single powered-on host to the average utilization rate of all types of resources on that host. It is used to quantify the degree of deviation of a certain type of resource from the average utilization level within a single host. The closer the ratio is to 1, the closer the utilization level of that type of resource is to the overall average level of the host; the farther the ratio deviates from 1, the greater the difference between the utilization of that type of resource and the overall average level.
[0091] The total number of hosts mentioned above refers to the total number of physical hosts in the cloud resource pool participating in the resource balancing assessment. The scope of the statistics can be flexibly determined according to the assessment needs. For example, it can include all physical hosts in the resource pool, regardless of whether they are in an active state; or it can only count the number of hosts that are in an active state. The specific statistical method must be consistent with the overall scope of the resource assessment to ensure data consistency.
[0092] The above-mentioned number of resource types refers to the total number of resource types selected when calculating the resource utilization balance. The number can be flexibly set according to the core resource composition of the resource pool. For example, it can be set to 4 types, namely CPU, memory, storage and bandwidth; or it can be set to 3 types, namely CPU, memory and bandwidth. The specific number should correspond to the statistical range of the utilization rate of each type of resource.
[0093] The second ratio mentioned above refers to the ratio of the square root of the sum of the squares of the maximum value and the difference in the mean of the first ratio to the quotient of the product of the total number of hosts and the number of resource types. This ratio is directly used as the final result of the resource utilization balance and is a comprehensive quantitative indicator that integrates the resource differences within hosts and the resource differences between hosts.
[0094] For example, the resource utilization balance degree can be calculated using the following formula:
[0095]
[0096] In the formula Pn represents the total number of computing hosts in the resource pool; Pn indicates whether host i is powered on. When host i is running, Pn is 1, and when it is powered off, Pn is 0; T represents the number of types of resources in the resource pool. For example, if only CPU, memory, storage, and bandwidth resources are considered, then T=4. This represents the variance of the host's resource utilization, where This represents the resource utilization (e.g., bandwidth utilization) in the t-th dimension on host n. This represents the average resource utilization rate on host n; Indicates the resource balance rate. This represents the maximum utilization rate of host resources. Assuming that the resource utilization rate is highest in dimension t, a larger resource balance rate indicates that the resource utilization rate in dimension t is close to the average. This approach is more effective in limiting the over-utilization of resources in a particular dimension.
[0097] In the cloud computing resource scheduling method of this application, the resource utilization balance is determined by obtaining the relevant ratios, sums of squares and square roots of various resource utilization rates, thereby achieving accurate quantification of the overall resource balance level of the resource pool and providing a scientific basis for resource optimization decisions.
[0098] Optionally, the execution resource optimization scheduling includes:
[0099] Perform dynamic migration using at least one of the following strategies: single virtual machine migration, batch migration of virtual machines within a single host, batch migration of virtual machines within a single network element, batch migration of virtual machines within multiple network elements, and batch migration of virtual machines within a single host group.
[0100] The triggering conditions for dynamic migration include at least one of the following: configuration threshold triggering, network element instantiation triggering, network element decommissioning triggering, and manual triggering.
[0101] The aforementioned dynamic migration is the core execution action of resource optimization scheduling. It refers to the operation of migrating a virtual machine from its original deployment host to a target host while maintaining its running state and ensuring uninterrupted service. The migration process is imperceptible to end users, minimizing the impact of scheduling on service operations. Its migration speed is mainly related to the virtual machine's memory size and memory refresh rate, and stability can be further improved through batch planning and idle-time execution.
[0102] The aforementioned single virtual machine migration refers to a migration strategy executed independently for a single virtual machine, suitable for scenarios with localized resource imbalances. This strategy focuses on the resource supply and demand adaptation problem of a single virtual machine, without needing to coordinate with other virtual machines. It is flexible in operation, has a small impact, and can quickly adjust the resource load of a specific host.
[0103] The aforementioned batch migration of virtual machines within a single host refers to a strategy of centrally migrating multiple virtual machines on the same host. This is suitable for scenarios where a single host experiences excessive resource load, high fragmentation, or requires a complete power-down and hibernation. Batch migration can alleviate resource pressure on the target host in one go, avoiding operational redundancy caused by multiple individual migrations and improving scheduling efficiency.
[0104] The aforementioned batch migration of virtual machines for a single network element refers to a strategy of centrally executing the migration of all or some virtual machines belonging to the same network element. A network element is a logical unit that carries specific business functions, and its subordinate virtual machines usually have business relevance. Adopting this strategy can ensure the integrity and continuity of network element services and can be applied to scenarios where the host resources of the network element are insufficient or where resource imbalances are caused by the expansion of network element services.
[0105] The aforementioned batch migration of virtual machines across multiple network elements refers to a strategy of uniformly planning and centrally executing the migration of virtual machines belonging to multiple related or unrelated network elements. This approach is suitable for scenarios where the overall resource distribution at the resource pool level is uneven. Through batch scheduling across network elements, the host load of the entire resource pool can be balanced in a coordinated manner, achieving global resource optimization.
[0106] The aforementioned batch migration of virtual machines within a single host group refers to a strategy of centrally executing the migration of multiple virtual machines within the same host group. A host group is a resource collection consisting of multiple hosts, used to coordinate and manage virtual machine deployments. This strategy can optimize resource allocation within the host group, avoid excessive concentration of virtual machines on a few hosts, and ensure resource redundancy and high availability of services within the host group.
[0107] The aforementioned threshold triggering refers to pre-setting quantitative thresholds related to resources. When the cloud resource assessment model detects that the indicator data reaches or exceeds these thresholds, dynamic migration is automatically triggered. The threshold settings can accurately match early warning standards for resource imbalances, achieving automated and intelligent scheduling. Network element instantiation triggering can be understood as triggering dynamic migration during the deployment of new network elements or the creation of virtual machine instances. This method can proactively avoid resource imbalances caused by newly deployed virtual machines, ensuring that resource allocation is coordinated with existing resource distribution when new services are integrated, reducing resource fragmentation and centralized deployment issues from the source.
[0108] Network element decommissioning triggers dynamic migration after an old network element is taken offline or a virtual machine is deregistered and its resources are released. After a network element is decommissioned, some host resources may be idle or resource distribution may be unbalanced. This triggering method allows for timely adjustments to the deployment of remaining virtual machines, rebalancing resource load and preventing resource waste.
[0109] Manual triggering refers to a dynamic migration triggering method initiated proactively by maintenance personnel based on resource monitoring data, business needs, or operation and maintenance plans. This method offers flexibility and autonomy, and can address sudden resource imbalances or coordinate with specific operation and maintenance operations (such as host maintenance or capacity expansion) for scheduling.
[0110] In the cloud computing resource scheduling method of this application, resource optimization scheduling is performed by combining multiple dynamic migration strategies with multiple triggering conditions, so as to achieve flexible adaptation and efficient implementation of scheduling methods, ensuring business stability while improving resource balancing efficiency.
[0111] Optionally, obtaining cloud resource pool status data includes:
[0112] Collect the raw indicator data of the cloud resource pool, and process the raw indicator data into static data and dynamic data;
[0113] The static and dynamic data are associated according to their hierarchical structure, business attributes, and time dimension to obtain associated data.
[0114] The associated data is determined to be cloud resource pool status data.
[0115] The above-mentioned raw indicator data for the cloud resource pool needs to be collected. The collection method can be flexibly selected according to the architecture and configuration of the resource pool. For example, various raw data of the Hypervisor layer can be directly collected through the northbound interface provided by the Virtual Resource Management (VRM); the operational data of hardware devices, cloud platforms, and virtual machines can be collected through the real-time monitoring system deployed in the resource pool; or the overall configuration and operational information of the resource pool can be obtained from the data center management platform. The scope of the collected raw indicator data must comprehensively cover the key characteristics of the resource pool to ensure the integrity of subsequent data processing and correlation.
[0116] Subsequently, the collected raw indicator data is categorized into static and dynamic data. The categorization criteria can be determined based on the frequency of data changes or flexibly combined with business needs. For example, static data may include long-term stable information such as the total number of hosts in the resource pool, the total number of physical cores on each host, the specifications and configurations of virtual machines, the composition structure of host groups, and the fixed relationships between network elements and virtual machines. Dynamic data may include real-time changing information such as host CPU utilization, memory usage, bandwidth usage, virtual machine running status, and alarm information. Furthermore, static data may also include fixed attribute information such as the deployment location of racks and micro-modules, and the security group configuration of virtual machines; dynamic data may also include real-time updated information such as the amount of idle resources on hosts and fluctuations in virtual machine resource usage. This categorization process makes the data structure clearer and facilitates subsequent correlation operations.
[0117] After data classification, static and dynamic data can be correlated in multiple dimensions to form structured correlated data. The correlation process can take into account hierarchical classification, business attributes, and time dimensions to ensure the comprehensiveness and logical consistency of data correlation.
[0118] In terms of hierarchical association, data binding can be performed according to the hierarchical relationship between resource pools, host groups, hosts, and virtual machines. For example, the static configuration data of a host group can be associated with the static configuration data and dynamic operation data of all hosts in that group, and then the data of each host can be associated with the data of the virtual machines deployed on it, forming a complete hierarchical data chain from the resource pool to the virtual machines; alternatively, the overall configuration data of the resource pool can be associated with the static data of each rack and micro-module, and then combined with the dynamic operation data of the hosts to construct the association data between the physical architecture and the operating status of the resource pool.
[0119] Regarding business attribute association, data can be bound based on its corresponding business function or relationship. For example, static configuration data of all virtual machines belonging to the same network element can be associated with dynamic operation data to ensure the integrity of network element business data; virtual machine data with affinity or anti-affinity relationships can also be associated, and virtual machine security group configuration data can be associated with corresponding host resource data to provide data support for considering business constraints in subsequent scheduling.
[0120] In terms of time-dimensional correlation, the main focus is on time-series integration of dynamic data. For example, dynamic data such as CPU utilization and memory usage of a host can be correlated at the time granularity of minutes, hours, or days to form time-series data on resource usage changes; dynamic running data of virtual machines can also be correlated with runtime data of network element services to capture the correspondence between peak service periods and peak resource usage, providing a basis for intelligent prediction and scheduling timing selection.
[0121] Through the above multi-dimensional association, the isolation between static and dynamic data, data at different levels, and data from different business operations can be eliminated, forming logically coherent and informationally complete related data.
[0122] The associated data formed after classification and multi-dimensional correlation can comprehensively integrate the static configuration information and dynamic operation data of the cloud resource pool. It can reflect the resource distribution, supply and demand characteristics and operation status of the resource pool relatively completely and accurately. It can meet the needs of subsequent cloud resource evaluation model quantitative analysis and intelligent scheduling decision-making. Therefore, the associated data can be directly identified as cloud resource pool status data.
[0123] This status data can provide an accurate data source for calculating indicators such as resource utilization and resource deviation rate. It can also provide a structured basis for the abstraction of virtual machine demand vectors and host resource vectors. It is the core foundation for data flow and decision execution in the entire technical solution, ensuring that subsequent resource assessment and optimization scheduling can be carried out based on comprehensive and reliable data.
[0124] In some alternative implementations, the resource scheduling method of the application implementation can be as follows: Figure 5 It comprises four key systems: real-time monitoring, metric collection, intelligent scheduling, and intelligent prediction, with intelligent scheduling being the core component of the entire solution. The overall solution architecture diagram is as follows:
[0125] 1. Real-time monitoring: The system will monitor the hardware devices (including hosts, storage, network, and security devices), cloud platform operation status, network element distribution, alarm information, etc. of the cloud resource pool in real time, and draw the online topology of the cloud resource pool based on this information to facilitate unified management by maintenance personnel.
[0126] 2. Metrics Collection: Key raw metrics information of the Hypervisor layer is collected through the northbound interface provided by VIM, mainly divided into four dimensions, as shown in the table below:
[0127] Dimension Key raw indicator information resource pool DC-related information, resource pool-related information, rack / micro-module information, etc. host group HA information, HA host information, resource isolation information, etc. host Total physical cores, virtual machine cores, idle cores, total NUMA cores / core usage, total NUMA memory / memory usage, total bandwidth / bandwidth usage, huge page configuration, etc. virtual machine Virtual machine information, virtual machine security groups, virtual machine specification information, affinity / anti-affinity relationships, etc.
[0128] The collected data will be processed and divided into static data and dynamic data, and the data will be correlated.
[0129] 3. Intelligent Scheduling: The system uses algorithms to calculate the optimal migration path. Migration strategies support five types: single virtual machine migration, batch migration of virtual machines within a single host, batch migration of virtual machines within a single network element, batch migration of virtual machines across multiple network elements, and batch migration of virtual machines within a single HA instance. Triggering conditions are divided into three types: scheduling can be triggered by configuring thresholds, by configuring network element instantiation / decommissioning, or by manual execution. The main scheduling steps are as follows:
[0130] Data abstraction: Based on the HA host group dimension, various metrics and other information of the host machine and network element virtual machine are abstracted into two vector groups.
[0131] Optimal clustering: Iterative optimal clustering is performed based on the k-means algorithm with Pearson correlation coefficient. When convergence is achieved, a one-to-one association has been established between the virtual machine and the host.
[0132] Dynamic migration: During off-peak hours, online hot migration is performed based on the correspondence between virtual machines and hosts. Virtual machines are dynamically migrated and adjusted in batches, with each virtual machine's hot migration taking 1-5 minutes (the hot migration speed is mainly related to the virtual machine's memory size and memory refresh rate).
[0133] Resource reclamation: Empty hosts with no virtual machines running services are put into hibernation or powered down. During power-down, associated alarms are handled to ensure a smooth process. Simultaneously, junk resources in the resource pool are automatically released.
[0134] Note: During the entire scheduling process, some special cases also need to be considered: virtual machine affinity and anti-affinity, resource redundancy of resource pools, and virtual machine CPU core binding, etc.
[0135] 4. Intelligent Prediction: Based on real-time monitoring and collected data, the system analyzes indicators such as deviation rate, host idle ratio, and resource utilization rate to make intelligent predictions. For example, it provides intelligent warnings when resource fragmentation occurs or when a business peak is about to arrive, reminding maintenance personnel to pay attention and take appropriate actions in a timely manner.
[0136] Please see Figure 6 , Figure 6A schematic diagram of a cloud computing resource scheduling device 600 provided in this application embodiment. As shown in the figure, the cloud computing resource scheduling device 600 includes:
[0137] The acquisition module 610 is used to acquire cloud resource pool status data, and based on the cloud resource pool status data, to quantitatively evaluate the resource imbalance status of the cloud resource pool through a cloud resource evaluation model, and output the resource imbalance quantification result. The parameters of the cloud resource evaluation model include at least one of resource utilization rate, resource deviation rate, host fragmentation rate, host allocation rate and resource utilization balance.
[0138] Abstraction module 620 is used to abstract the host machine's resource-related indicators in the cloud resource pool status data into resource vector groups, and to abstract the virtual machine's demand-related indicators in the original indicator data into demand vector groups.
[0139] Clustering module 630 is used to take the resource imbalance quantification result as the optimization direction, and use the Pearson correlation coefficient clustering algorithm to iteratively optimize the clustering of the correlation between the demand vector group and the resource vector group to obtain the target correlation.
[0140] The scheduling module 640 is used to perform resource optimization scheduling based on the target association relationship.
[0141] Optionally, the clustering module 630 can also be used for;
[0142] The resource vector group and the demand vector group are determined to be multiple samples, and a preset number of samples are randomly selected as the initial cluster centers;
[0143] Repeat the first operation until the cluster centers converge, and determine the association relationship between the resource vector group and the demand vector group corresponding to the cluster centers after convergence as the target association relationship;
[0144] The first operation includes:
[0145] The correlation between the demand vector and the resource vector is obtained by using the Pearson correlation coefficient. Based on the correlation, the logical distance from each sample to each cluster center is obtained. Samples that meet the resource usage threshold are assigned to the cluster center with the closest logical distance.
[0146] The cluster centers are updated based on the resource utilization balance.
[0147] Optionally, the resource utilization rate is the ratio of the amount of resources used to the total stock of resources;
[0148] The resource deviation rate is the difference between the maximum and minimum utilization rates of various resources on the same host.
[0149] The host fragmentation rate is the ratio of the number of hosts in the cloud resource pool that cannot deploy a preset virtual machine to the total number of hosts in the cloud resource pool.
[0150] The host allocation rate is the ratio of the number of hosts that already host business virtual machines to the total number of hosts in the cloud resource pool.
[0151] Optionally, the acquisition module 610 can also be used for:
[0152] Obtain the utilization rate of various resources for each host that is in the open state, obtain the first ratio of each resource utilization rate to the average utilization rate of all types of resources of the host in the open state, and obtain the maximum value among the average values of the first ratio.
[0153] Obtain the sum of squares of the differences between the utilization rates of each type of resource and the average utilization rate of all types of resources on the corresponding host;
[0154] Obtain the product of the total number of hosts and the number of resource types, and obtain the square root of the quotient of the sum of squares and the product;
[0155] The second ratio is obtained by taking the maximum value of the mean of the first ratio and the square root value, and the second ratio is determined as the resource utilization balance degree.
[0156] Optionally, the acquisition module 610 can also be used for:
[0157] Collect the raw indicator data of the cloud resource pool, and process the raw indicator data into static data and dynamic data;
[0158] The static and dynamic data are associated according to their hierarchical structure, business attributes, and time dimension to obtain associated data.
[0159] The associated data is determined to be cloud resource pool status data.
[0160] The cloud computing resource scheduling device in this application embodiment can be an electronic device, such as an electronic device with an operating system, or a component in an electronic device, such as an integrated circuit or a chip.
[0161] The resource scheduling device provided in this application embodiment can achieve... Figure 1 The various processes implemented in the method embodiments shown achieve the same technical effects, and will not be described again here to avoid repetition.
[0162] For details, see Figure 7 As shown in the figure, this application embodiment also provides an electronic device, including a bus 701, a transceiver 702, an antenna 703, a bus interface 704, a processor 705, and a memory 706.
[0163] Processor 705, used for:
[0164] Obtain cloud resource pool status data, and based on the cloud resource pool status data, quantitatively evaluate the resource imbalance status of the cloud resource pool through a cloud resource evaluation model, and output the resource imbalance quantification result. The parameters of the cloud resource evaluation model include at least one of resource utilization rate, resource deviation rate, host fragmentation rate, host allocation rate, and resource utilization balance.
[0165] The host machine's resource-related indicators in the cloud resource pool status data are abstracted into resource vector groups, and the virtual machine's demand-related indicators in the original indicator data are abstracted into demand vector groups.
[0166] Using the quantification results of resource imbalance as the optimization direction, the Pearson correlation coefficient clustering algorithm is used to iteratively optimize the clustering of the relationship between the demand vector group and the resource vector group to obtain the target relationship.
[0167] Resource optimization scheduling is performed based on the aforementioned target relationships.
[0168] exist Figure 7 In this document, a bus architecture (represented by bus 701) is used. Bus 701 can include any number of interconnected buses and bridges, linking various circuits including one or more processors represented by processor 705 and memory represented by memory 706. Bus 701 can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. Bus interface 704 provides an interface between bus 701 and transceiver 702. Transceiver 702 can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by processor 705 is transmitted over a wireless medium via antenna 703, which further receives data and transmits data to processor 705.
[0169] Processor 705 manages bus 701 and general processing, and also provides various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. Memory 706 can be used to store data used by processor 705 during operation.
[0170] Alternatively, the processor 705 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a complex programmable logic device (CPLD).
[0171] Optionally, the processor 705 is specifically used for:
[0172] The resource vector group and the demand vector group are determined to be multiple samples, and a preset number of samples are randomly selected as the initial cluster centers;
[0173] Repeat the first operation until the cluster centers converge, and determine the association relationship between the resource vector group and the demand vector group corresponding to the cluster centers after convergence as the target association relationship;
[0174] The first operation includes:
[0175] The correlation between the demand vector and the resource vector is obtained by using the Pearson correlation coefficient. Based on the correlation, the logical distance from each sample to each cluster center is obtained. Samples that meet the resource usage threshold are assigned to the cluster center with the closest logical distance.
[0176] The cluster centers are updated based on the resource utilization balance.
[0177] Optionally, the resource utilization rate is the ratio of the amount of resources used to the total stock of resources;
[0178] The resource deviation rate is the difference between the maximum and minimum utilization rates of various resources on the same host.
[0179] The host fragmentation rate is the ratio of the number of hosts in the cloud resource pool that cannot deploy a preset virtual machine to the total number of hosts in the cloud resource pool.
[0180] The host allocation rate is the ratio of the number of hosts that already host business virtual machines to the total number of hosts in the cloud resource pool.
[0181] Optionally, the processor 705 is specifically used for:
[0182] Obtain the utilization rate of various resources for each host that is in the open state, obtain the first ratio of each resource utilization rate to the average utilization rate of all types of resources of the host in the open state, and obtain the maximum value among the average values of the first ratio.
[0183] Obtain the sum of squares of the differences between the utilization rates of each type of resource and the average utilization rate of all types of resources on the corresponding host;
[0184] Obtain the product of the total number of hosts and the number of resource types, and obtain the square root of the quotient of the sum of squares and the product;
[0185] The second ratio is obtained by taking the maximum value of the mean of the first ratio and the square root value, and the second ratio is determined as the resource utilization balance degree.
[0186] Optionally, the processor 705 is specifically used for:
[0187] Perform dynamic migration using at least one of the following strategies: single virtual machine migration, batch migration of virtual machines within a single host, batch migration of virtual machines within a single network element, batch migration of virtual machines within multiple network elements, and batch migration of virtual machines within a single host group.
[0188] The triggering conditions for dynamic migration include at least one of the following: configuration threshold triggering, network element instantiation triggering, network element decommissioning triggering, and manual triggering.
[0189] Optionally, the processor 705 is specifically used for:
[0190] Collect the raw indicator data of the cloud resource pool, and process the raw indicator data into static data and dynamic data;
[0191] The static and dynamic data are associated according to their hierarchical structure, business attributes, and time dimension to obtain associated data.
[0192] The associated data is determined to be cloud resource pool status data.
[0193] It should be noted that the electronic device provided in this application embodiment is a device capable of executing the above-described cloud computing resource scheduling method. Therefore, all implementation methods in the above-described cloud computing resource scheduling method embodiments are applicable to this electronic device and can achieve the same or similar beneficial effects. To avoid repetition, this embodiment will not elaborate further.
[0194] This invention also provides an electronic device, including: a processor, a memory, and a program stored in the memory and executable on the processor. When the program is executed by the processor, it implements the various processes of the above-described cloud computing resource scheduling method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0195] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, this computer program implements the various processes of the above-described cloud computing resource scheduling method embodiments and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.
[0196] This application also provides a computer program product, including computer instructions. When executed by a processor, the computer instructions implement the various processes of the above-described resource scheduling method embodiments and achieve the same technical effects. To avoid repetition, they will not be described again here.
[0197] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0198] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0199] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A cloud computing resource scheduling method, characterized in that, The method includes: Obtain cloud resource pool status data, and based on the cloud resource pool status data, quantitatively evaluate the resource imbalance status of the cloud resource pool through a cloud resource evaluation model, and output the resource imbalance quantification result. The parameters of the cloud resource evaluation model include at least one of resource utilization rate, resource deviation rate, host fragmentation rate, host allocation rate, and resource utilization balance. The host machine's resource-related indicators in the cloud resource pool status data are abstracted into resource vector groups, and the virtual machine's demand-related indicators in the original indicator data are abstracted into demand vector groups. Using the quantification results of resource imbalance as the optimization direction, the Pearson correlation coefficient clustering algorithm is used to iteratively optimize the clustering of the relationship between the demand vector group and the resource vector group to obtain the target relationship. Resource optimization scheduling is performed based on the aforementioned target relationships.
2. The method according to claim 1, characterized in that, The clustering algorithm using Pearson correlation coefficient to iteratively optimize the clustering of the correlation between the demand vector group and the resource vector group includes: The resource vector group and the demand vector group are determined to be multiple samples, and a preset number of samples are randomly selected as the initial cluster centers; Repeat the first operation until the cluster centers converge, and determine the association relationship between the resource vector group and the demand vector group corresponding to the cluster centers after convergence as the target association relationship; The first operation includes: The correlation between the demand vector and the resource vector is obtained by using the Pearson correlation coefficient. Based on the correlation, the logical distance from each sample to each cluster center is obtained. Samples that meet the resource usage threshold are assigned to the cluster center with the closest logical distance. The cluster centers are updated based on the resource utilization balance.
3. The method according to claim 1, characterized in that, The resource utilization rate is the ratio of the amount of resources used to the total amount of resources in stock. The resource deviation rate is the difference between the maximum and minimum utilization rates of various resources on the same host. The host fragmentation rate is the ratio of the number of hosts in the cloud resource pool that cannot deploy a preset virtual machine to the total number of hosts in the cloud resource pool. The host allocation rate is the ratio of the number of hosts that already host business virtual machines to the total number of hosts in the cloud resource pool.
4. The method according to any one of claims 1 to 3, characterized in that, The method for obtaining the resource utilization balance is as follows: Obtain the utilization rate of various resources for each host that is in the open state, obtain the first ratio of each resource utilization rate to the average utilization rate of all types of resources of the host in the open state, and obtain the maximum value among the average values of the first ratio. Obtain the sum of squares of the differences between the utilization rates of each type of resource and the average utilization rate of all types of resources on the corresponding host; Obtain the product of the total number of hosts and the number of resource types, and obtain the square root of the quotient of the sum of squares and the product; The second ratio is obtained by taking the maximum value of the mean of the first ratio and the square root value, and the second ratio is determined as the resource utilization balance degree.
5. The method according to any one of claims 1 to 3, characterized in that, The optimized scheduling of execution resources includes: Perform dynamic migration using at least one of the following strategies: single virtual machine migration, batch migration of virtual machines within a single host, batch migration of virtual machines within a single network element, batch migration of virtual machines within multiple network elements, and batch migration of virtual machines within a single host group. The triggering conditions for dynamic migration include at least one of the following: configuration threshold triggering, network element instantiation triggering, network element decommissioning triggering, and manual triggering.
6. The method according to claim 5, characterized in that, The acquisition of cloud resource pool status data includes: Collect the raw indicator data of the cloud resource pool, and process the raw indicator data into static data and dynamic data; The static and dynamic data are associated according to their hierarchical structure, business attributes, and time dimension to obtain associated data. The associated data is determined to be cloud resource pool status data.
7. A cloud computing resource scheduling device, characterized in that, include: The acquisition module is used to acquire cloud resource pool status data, and based on the cloud resource pool status data, to quantitatively evaluate the resource imbalance status of the cloud resource pool through a cloud resource evaluation model, and output the resource imbalance quantification result. The parameters of the cloud resource evaluation model include at least one of resource utilization rate, resource deviation rate, host fragmentation rate, host allocation rate and resource utilization balance. The abstract module is used to abstract the host machine's resource-related indicators in the cloud resource pool status data into resource vector groups, and to abstract the virtual machine's demand-related indicators in the original indicator data into demand vector groups. The clustering module is used to take the resource imbalance quantification results as the optimization direction, and uses the Pearson correlation coefficient clustering algorithm to iteratively optimize the clustering of the correlation between the demand vector group and the resource vector group to obtain the target correlation. The scheduling module is used to perform resource optimization scheduling based on the target association relationship.
8. An electronic device, characterized in that, include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the cloud computing resource scheduling method as described in any one of claims 1 to 3.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the cloud computing resource scheduling method as described in any one of claims 1 to 6.
10. A computer program product, characterized in that, It includes computer instructions that, when executed by a processor, implement the steps of the cloud computing resource scheduling method as described in any one of claims 1 to 6.