Scheduling method, device and equipment of computing node and computer storage medium

By building service clusters and selecting the cluster with the highest service capacity value for deployment, the problem of improper resource scheduling in the cloud platform's hybrid resource pool was solved, achieving efficient resource utilization and efficient completion of business requirements.

CN118796439BActive Publication Date: 2026-01-27CHINA MOBILE GROUP ANHUI +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202410277125.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-03-12
Publication Date
2026-01-27
Estimated Expiration
2044-03-12

AI Technical Summary

Technical Problem

In existing technologies, the large-scale hybrid resource pools of cloud platforms cannot meet the normal usage needs of users in terms of resource scheduling, which may lead to resource waste.

Method used

By acquiring business configuration requirements, a service cluster is built, and the service cluster with the highest service capability value is selected for deployment. The corresponding computing nodes are scheduled, the service capability is evaluated using a service evaluation model, and the computing nodes that meet the requirements are selected.

Benefits of technology

This improved resource utilization, avoided resource waste, and enhanced the efficiency of the service cluster in fulfilling user business needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118796439B_ABST
    Figure CN118796439B_ABST
Patent Text Reader

Abstract

The application discloses a scheduling method and device of a computing node, equipment and a computer storage medium. The method comprises the following steps: obtaining a plurality of computing nodes corresponding to a cluster creation request in the case that the cluster creation request is obtained, wherein the cluster creation request comprises service configuration requirement information; constructing at least one first service cluster according to the service configuration requirement information based on the plurality of computing nodes, wherein the first service cluster comprises the computing nodes; obtaining a service capability value of the at least one first service cluster; selecting a second service cluster with a service capability value meeting a target service capability value from the at least one first service cluster as the second service cluster; and scheduling the computing nodes in the second service cluster according to the computing nodes in the second service cluster. The constructed service cluster can efficiently complete the service requirement, the problem of resource waste is avoided, and the utilization rate of resources is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of computer technology, and in particular relates to a method, apparatus, device and computer storage medium for scheduling computing nodes. Background Technology

[0002] As applications increasingly migrate to the cloud, their demands on the computing power provided by cloud platforms are also rising. In this context, the traditional virtualized computing nodes offered by cloud platforms are insufficient to meet business needs in terms of computing performance. To compensate for the performance limitations of single virtualized computing nodes, cloud platforms provide bare-metal servers as a fundamental computing resource. Bare-metal servers and virtualized computing nodes together form a hybrid resource pool. Utilizing bare-metal servers, the cloud platform can provide near-native computing capabilities to businesses. Currently, the cloud platform's large-scale hybrid resource pool deployment manages tens of thousands of virtualized computing nodes and tens of thousands of bare-metal servers. As the cloud platform's scale gradually expands, the number of virtualized computing nodes and bare-metal servers is also increasing, and their respective product characteristics are becoming more pronounced.

[0003] In existing technologies, for resource scheduling scenarios involving large-scale hybrid resource pools, a single scheduling module is typically used to uniformly schedule virtualized computing nodes and bare metal servers. However, this method of resource scheduling may not meet the normal usage needs of users and may also lead to resource waste. Summary of the Invention

[0004] This application provides a method, apparatus, device, and computer storage medium for scheduling computing nodes. It accurately constructs service clusters based on business configuration requirements and selects the service cluster with the highest service capacity value for deployment, scheduling the corresponding computing nodes. This ensures that the constructed service clusters can efficiently complete business requirements, avoids resource waste, and improves resource utilization.

[0005] In a first aspect, embodiments of this application provide a method for scheduling computing nodes, comprising:

[0006] Upon receiving a cluster creation request, retrieve multiple compute nodes corresponding to the cluster creation request. The cluster creation request includes business configuration requirements information.

[0007] Based on multiple computing nodes, at least one first service cluster is constructed according to business configuration requirements. The first service cluster includes computing nodes.

[0008] Obtain the service capability value of at least one first service cluster;

[0009] Select a second service cluster from at least one first service cluster whose service capability value meets the target service capability value;

[0010] Schedule computing nodes in the second service cluster.

[0011] In one possible implementation, the cluster creation request further includes node configuration requirement information; obtaining multiple compute nodes corresponding to the cluster creation request, including:

[0012] Select multiple computing nodes from the preset computing nodes that correspond to the node configuration requirements.

[0013] In one possible implementation, multiple computing nodes corresponding to node configuration requirement information are selected from a preset pool of computing nodes, including:

[0014] Based on the node configuration requirements information, a compute node filtering message is generated, which includes the node configuration requirements information.

[0015] Upon detecting a compute node filtering message, select multiple compute nodes from the preset compute nodes that correspond to the node configuration requirement information in the compute node filtering message.

[0016] In one possible implementation, obtaining the service capability value of at least one first service cluster includes:

[0017] Obtain historical operational data and historical service configuration requirements for each service in at least one first service cluster;

[0018] Detect whether the historical running data of each service in each first service cluster meets the historical service configuration requirements, and obtain the detection results. The detection results include the number of target services whose historical running data meets the historical service configuration requirements.

[0019] Determine the ratio of the number of target services in each first service cluster to the total number of services in each first service cluster. The ratio represents the success rate of each first service cluster.

[0020] Select a third service cluster from at least one first service cluster, whose success rate is greater than a first preset value;

[0021] Select target historical operational data from the historical operational data of the third service cluster that meets the historical business configuration requirements;

[0022] Obtain the configuration parameters of the computing nodes in the target's historical runtime data;

[0023] By utilizing the relationship information between configuration parameters and observations, the observed values ​​of configuration parameters for each of the first service clusters in at least one first service cluster are determined;

[0024] The target posterior probability distribution of each first service cluster is determined based on the obtained joint prior probability distribution and observations. The target posterior probability distribution is the posterior probability distribution of the service capability value of the service cluster.

[0025] Based on the target posterior probability distribution of each first service cluster, the service capability value of each first service cluster is determined, and the service capability value is the mean of the target posterior probability distribution.

[0026] In one possible implementation embodiment, before determining the observed values ​​of the configuration parameters for each of the at least one first service cluster using the relationship information between the configuration parameters and the observed values, the method further includes:

[0027] The configuration parameters of each of the first service clusters in at least one first service cluster are input into the service evaluation model, which includes the relationship information between the configuration parameters and the observations and the joint prior probability distribution.

[0028] In one possible implementation, before inputting the configuration parameters of each of the at least one first service cluster into the service evaluation model, the method further includes:

[0029] Retrieve the configuration parameters of the preset service cluster;

[0030] Input the configuration parameters of the preset service cluster into the initial service evaluation model, and use the relationship information between the initial configuration parameters and the observed values ​​in the initial service evaluation model to determine the sample observed values ​​of the configuration parameters of the preset service cluster.

[0031] Based on the initial joint prior probability distribution and sample observations in the initial service evaluation model, the sample posterior probability distribution of the preset service cluster is determined. The sample posterior probability distribution is the posterior probability distribution of the sample service capability value.

[0032] Based on the posterior probability distribution of the sample service cluster, the sample service capability value of the preset service cluster is determined. The sample service capability value is the mean of the posterior probability distribution of the sample.

[0033] The relationship between the initial configuration parameters and the observed values, as well as the initial joint prior probability distribution, are updated. If the difference between the sample service capability value and the actual service capability value is less than the second preset value, a service evaluation model is obtained.

[0034] Secondly, embodiments of this application provide a scheduling device for computing nodes, comprising:

[0035] The acquisition module is used to acquire multiple compute nodes corresponding to the cluster creation request when a cluster creation request is received. The cluster creation request includes business configuration requirement information.

[0036] The building module is used to build at least one first service cluster based on multiple computing nodes and according to business configuration requirements. The first service cluster includes computing nodes.

[0037] The acquisition module is also used to acquire the service capability values ​​of at least one first service cluster;

[0038] The selection module is used to select a second service cluster whose service capability value meets the target service capability value from at least one first service cluster.

[0039] The scheduling module is used to schedule computing nodes in the second service cluster.

[0040] Thirdly, embodiments of this application provide an electronic device, the device comprising:

[0041] Processor and memory storing computer program instructions;

[0042] The scheduling method on the computing node that implements any of the above when the processor executes computer program instructions.

[0043] Fourthly, embodiments of this application provide a computer storage medium on which computer program instructions are stored, and when the computer program instructions are executed by a processor, a scheduling method for computing nodes that implements any of the above-mentioned methods is provided.

[0044] Fifthly, embodiments of this application provide a computer program product, characterized in that, when the instructions in the computer program product are executed by the processor of an electronic device, the electronic device is able to execute the scheduling method of the computing node described above.

[0045] This application discloses a method, apparatus, device, and computer storage medium for scheduling computing nodes. The method includes: upon receiving a cluster creation request, acquiring multiple computing nodes corresponding to the cluster creation request, wherein the cluster creation request includes business configuration requirement information; constructing at least one first service cluster based on the multiple computing nodes and according to the business configuration requirement information, wherein the first service cluster includes computing nodes; acquiring the service capability value of the at least one first service cluster; selecting a second service cluster from the at least one first service cluster whose service capability value meets a target service capability value; and scheduling the computing nodes in the second service cluster according to the computing nodes in the second service cluster. In this way, service clusters are accurately constructed based on business configuration requirement information, and the service cluster with the highest service capability value is selected for deployment, with corresponding computing nodes scheduled. This ensures that the constructed service cluster can efficiently fulfill business requirements, avoids resource waste, and improves resource utilization. Attached Figure Description

[0046] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0047] Figure 1 This is a schematic diagram of the structure of a computing node scheduling system provided in one embodiment of this application;

[0048] Figure 2 This is a flowchart illustrating a computing node scheduling method provided in another embodiment of this application;

[0049] Figure 3 This is a flowchart illustrating a computing node scheduling method provided in another embodiment of this application;

[0050] Figure 4 This is a flowchart illustrating a computing node scheduling method provided in another embodiment of this application;

[0051] Figure 5 This is a schematic diagram of the structure of a computing node scheduling device provided in another embodiment of this application;

[0052] Figure 6 This is a schematic diagram of the structure of an electronic device provided in another embodiment of this application. Detailed Implementation

[0053] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0054] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, 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. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0055] As applications increasingly migrate to the cloud, their demands on the computing power provided by cloud platforms are also rising. In this context, the traditional virtualized computing nodes offered by cloud platforms are insufficient to meet business needs in terms of computing performance. To compensate for the performance limitations of single virtualized computing nodes, cloud platforms provide bare-metal servers as a fundamental computing resource. Bare-metal servers and virtualized computing nodes together form a hybrid resource pool. Utilizing bare-metal servers, the cloud platform can provide near-native computing capabilities to businesses. Currently, the cloud platform's large-scale hybrid resource pool deployment manages tens of thousands of virtualized computing nodes and tens of thousands of bare-metal servers. As the cloud platform's scale gradually expands, the number of virtualized computing nodes and bare-metal servers is also increasing, and their respective product characteristics are becoming more pronounced.

[0056] In existing technologies, for resource scheduling scenarios involving large-scale hybrid resource pools, a single scheduling module is typically used to uniformly schedule virtualized computing nodes and bare metal servers. However, this method of resource scheduling may not meet the normal usage needs of users and may also lead to resource waste.

[0057] To address the problems of existing technologies, embodiments of this application provide a method, apparatus, device, and computer storage medium for scheduling computing nodes. This method is applied to a computing node scheduling system, such as... Figure 1As shown, the computing node scheduling system 10 includes a cloud platform 11 and a hybrid resource pool 12. The hybrid resource pool 12 includes computing nodes, which may include, but are not limited to, bare metal servers and virtualized computing nodes, providing users with various infrastructure resources including network, servers, storage, and application software. The cloud platform 11 includes a node pre-deployment module 111, a service evaluation module 112, and a node scheduling module 113. The node pre-deployment module is used to filter computing nodes and build service clusters; based on the configuration requirements uploaded by the user and the configuration and load of each computing node in the hybrid resource pool, it selects computing nodes from the hybrid resource pool and pre-builds multiple service clusters to provide services to the user based on the selected computing nodes. The service evaluation module 112 is used to evaluate the service capability value of the service clusters; it obtains historical operating data of each computing node in the pre-service cluster and user business requirements, analyzes and calculates the success rate of each service cluster in fulfilling user requirements, and completes the service performance evaluation of each service cluster. The node deployment module 113 is used to schedule computing nodes according to the service capability value of the service clusters; based on the evaluation results output by the service evaluation module 112, it schedules computing nodes from the hybrid resource pool to deploy service clusters.

[0058] The scheduling method for computing nodes provided in the embodiments of this application will be introduced first below.

[0059] Figure 2 A flowchart illustrating a computing node scheduling method provided in one embodiment of this application is shown.

[0060] like Figure 2 As shown, the scheduling method for computing nodes provided in this application includes the following steps.

[0061] S210. If a cluster creation request is obtained, obtain multiple compute nodes corresponding to the cluster creation request. The cluster creation request includes business configuration requirement information.

[0062] Here, compute nodes refer to server resources. A compute node is a compute node capable of meeting the business configuration requirements. Upon receiving a cluster creation request, the node identifiers of multiple compute nodes corresponding to the cluster creation request are obtained. The cluster creation request may include requests generated when a business request is received.

[0063] In some embodiments, the service configuration requirements are pre-defined by the user. These may include, but are not limited to, functional requirements and service requirements. Functional requirements may include the functions that the constructed cluster can provide (e.g., video rendering, editing, content generation, etc.), while service requirements may include the user's requirements for computing power, latency, network, and priority of each function in the constructed service cluster.

[0064] S220. Based on multiple computing nodes, construct at least one first service cluster according to business configuration requirements information. The first service cluster includes computing nodes.

[0065] In some embodiments, the node pre-deployment module, based on the node identifiers of multiple computing nodes and the configuration parameters of each computing node, determines the computing nodes required to meet the business configuration requirements according to a cluster adaptive algorithm, and pre-constructs multiple sets of first service clusters based on these computing nodes. The configuration parameters of the computing nodes may include: the number of CPU cores, disk performance metrics (IOPS, specifically including disk read / write performance, disk rotation speed, average access time, etc.), disk response time, disk throughput, and memory resource size. The module acquires these configuration parameters (CPU core count, disk performance metrics (IOPS), disk response time, disk throughput, and memory resource size) and pre-constructs multiple sets of first service clusters to meet the business configuration requirements.

[0066] As an example, the following three sets of first service clusters that meet the business configuration requirements are constructed respectively: First service cluster a: including virtual computing node a, virtual computing node b and virtual computing node c; First service cluster b: including bare metal server d, bare metal server e and virtual computing node c; First service cluster c: including virtual computing node a, virtual computing node b and bare metal server d.

[0067] S230, Obtain the service capability value of at least one first service cluster.

[0068] In some embodiments, the node pre-deployment module constructs at least one first service cluster based on the node identifiers of multiple computing nodes and according to business configuration requirements, and sends the node identifiers of the computing nodes corresponding to each first service cluster to the service evaluation module.

[0069] In some embodiments, the node pre-deployment module can send the node identifier of the computing node corresponding to each first service cluster to the service evaluation module so that the service evaluation module can evaluate the performance of each first service cluster and obtain the service capability value of at least one first service cluster.

[0070] S240. Select a second service cluster from at least one first service cluster whose service capability value meets the target service capability value.

[0071] In some embodiments, the target service capability value may be the highest service capability value among at least one first service cluster. Service capability values ​​are compared among at least one first service cluster, and a second service cluster with the highest service capability value is selected from the at least one first service cluster.

[0072] In some embodiments, the target service capability value can be multiple service capability values ​​with higher service capability values ​​from at least one first service cluster. The target service capability value may include a preset number of service capability values. This preset number may be pre-set. Alternatively, multiple service clusters with higher service capability values ​​can be selected from at least one first service cluster. A second service cluster is then selected from these multiple service clusters with higher service capability values ​​based on preset information. As an example, the preset information may be cluster load conditions or the compatibility between cluster combinations, etc. The preset information is not limited here and is simply pre-set information.

[0073] S250, schedule the computing nodes in the second service cluster.

[0074] In some embodiments, computing nodes in the second service cluster are scheduled from the hybrid resource pool according to the node identifier of the computing nodes in the second service cluster to perform service cluster deployment, thereby completing service resource scheduling.

[0075] In this way, service clusters are accurately constructed based on business configuration requirements, and the service cluster with the highest service capacity value is selected for deployment. The corresponding computing nodes are scheduled, thereby ensuring that the constructed service clusters can efficiently complete business requirements, avoiding resource waste and improving resource utilization.

[0076] Based on this, in some embodiments, such as Figure 3 As shown, the cluster creation request also includes node configuration requirements; the above S210 may include S211:

[0077] S211. Select multiple computing nodes from the preset computing nodes that correspond to the node configuration requirement information.

[0078] In some embodiments, node configuration requirements may include, but are not limited to, the type of compute node (e.g., a virtualized compute node or a bare metal server), operating system type, CPU, memory, hard disk specifications, and other custom information.

[0079] In some embodiments, the preset computing nodes include all computing nodes in the hybrid resource pool, and multiple computing nodes corresponding to the node configuration requirement information can be selected from the preset computing nodes according to the node identifier.

[0080] In this way, selecting computing nodes that meet the node configuration requirements does not require considering all computing nodes in the hybrid resource pool. This not only reduces the processing pressure but also allows for accurate scheduling of computing nodes that meet business needs from the hybrid resource pool.

[0081] Based on this, in some embodiments, the above-mentioned S211 may include:

[0082] Based on the node configuration requirements information, a compute node filtering message is generated, which includes the node configuration requirements information.

[0083] Upon detecting a compute node filtering message, select multiple compute nodes from the preset compute nodes that correspond to the node configuration requirement information in the compute node filtering message.

[0084] In some embodiments, the cloud platform can determine the types of computing nodes required to build the first service cluster, as well as the quantity of each type of computing node, based on node configuration requirements. It then generates corresponding computing node filtering messages based on the type and quantity. These messages primarily include node configuration requirements. The cloud platform can then create a message queue and add the generated computing node filtering messages to it. Utilizing the message queue's routing proxy mechanism, each computing node filtering message is forwarded to the node filtering module within the cloud platform. The node filtering module, based on node identifiers, selects multiple computing nodes from a preset pool that correspond to the node configuration requirements information in the computing node filtering messages.

[0085] As an example, suppose the cloud platform determines, based on node configuration requirements, that the compute nodes needed to build the first service cluster are bare metal servers. The cloud platform can then generate a corresponding bare metal server filtering message and add a bare metal message queue to this message, which can receive routing information. The generated bare metal server filtering message is added to the bare metal message queue, and using the message queue's routing proxy mechanism, the message is forwarded to the bare metal filtering module listening to the bare metal message queue. The bare metal filtering module, based on the node identifier, selects multiple bare metal servers from a preset set of compute nodes that correspond to the node configuration requirements information in the bare metal server filtering message.

[0086] In this way, whenever a compute node filtering message is detected, the corresponding compute nodes can be selected according to the user's needs, thereby building the service cluster required by the user.

[0087] Based on this, in some embodiments, such as Figure 4 As shown, the above-mentioned S230 may further include:

[0088] S221. Obtain historical operational data and historical service configuration requirements for each service in at least one first service cluster;

[0089] S222. Detect whether the historical running data of each service in each first service cluster meets the historical service configuration requirements, and obtain the detection results. The detection results include the number of target services whose historical running data meets the historical service configuration requirements.

[0090] S223. Determine the ratio of the number of target services in each first service cluster to the total number of services in each first service cluster. The ratio represents the success rate of each first service cluster.

[0091] S224. Select a third service cluster from at least one first service cluster, where the success rate is greater than a first preset value;

[0092] S225. Select target historical operating data from the historical operating data of the third service cluster that meets the historical business configuration requirements;

[0093] S226. Obtain the configuration parameters of the computing nodes in the target's historical running data;

[0094] S227. Using the relationship information between configuration parameters and observations, determine the observations of the configuration parameters of each first service cluster in at least one first service cluster;

[0095] S228. Determine the target posterior probability distribution for each first service cluster based on the obtained joint prior probability distribution and observations. The target posterior probability distribution is the posterior probability distribution of the service capability value of the service cluster.

[0096] S229. Based on the target posterior probability distribution of each first service cluster, determine the service capability value of each first service cluster. The service capability value is the mean of the target posterior probability distribution.

[0097] In some embodiments, the service evaluation module acquires historical operational data of at least one computing node corresponding to a first service cluster. This historical operational data includes historical computing capacity data and historical storage capacity data of the computing node. Specifically, the computing capacity data can be further refined using the following dimensions: CPU MIPS (millions of instructions per second), GPU FLOPS (floating-point operations per second), and the number of serverless computing function triggers per second. Historical storage capacity data can be further refined using the following dimensions: IOPS (input / output operations per second), the number of times storage resources can be accessed per second, and the time required for a single storage operation.

[0098] In some embodiments, the service evaluation module parses the historical service configuration requirement information uploaded by the user to determine the user's historical service configuration requirement information. Based on this information, the module then identifies configuration parameters that have a significant impact on the service evaluation of the first service cluster from historical operational data. For example, if the service evaluation module determines that the user's primary service requirement is a need for computing power based on the historical service configuration requirement information, the service performance evaluation module can further determine the computing power data as the configuration parameter used for the evaluation.

[0099] In some embodiments, the process by which the service evaluation module determines the user's main business needs may include: detecting whether the historical operating data of a first service cluster meets the historical business configuration requirements, determining the proportion of historical operating data that meets the historical business configuration requirements, and obtaining the success rate of the first service cluster; selecting a third service cluster from at least one first service cluster with a success rate greater than a first preset value; selecting target historical operating data from the historical operating data of the third service cluster that meets the historical business configuration requirements; obtaining the configuration parameters of the computing nodes in the target historical operating data, and determining the configuration parameters of the computing nodes in the target historical operating data as the configuration parameters used for evaluation.

[0100] In some embodiments, the relationship between configuration parameters and observed values ​​is predetermined. After obtaining the observed values ​​of the configuration parameters of the first service cluster, the joint prior probability distribution of the observed values ​​and service capability values ​​is acquired. Based on the acquired joint prior probability distribution and observed values, the target posterior probability distribution of the first service cluster is determined, and then the mean of the target posterior probability distribution of the service capability values ​​is determined. The mean of this posterior probability distribution represents the service capability value of the first service cluster.

[0101] In this way, by calculating the service capability value through the configuration parameters of the service cluster with a high success rate, the obtained service capability value better reflects whether the service cluster can meet business needs.

[0102] Based on this, in some embodiments, prior to S227 above, the method may further include:

[0103] The configuration parameters of each of the first service clusters in at least one first service cluster are input into the service evaluation model, which includes the relationship information between the configuration parameters and the observations and the joint prior probability distribution.

[0104] In some embodiments, the service performance evaluation module includes a service evaluation model, which is trained using a large number of training samples. The service evaluation model takes configuration parameters as input and outputs the service completion rate (service capability value) of the first service cluster for the user's business needs.

[0105] In some embodiments, a service evaluation model is established through machine learning to predict the service performance of the first service cluster. A data-driven machine learning approach is used to establish the service evaluation model. For example, stochastic statistical methods such as vector machines and Gaussian regression, as well as deep learning methods such as long short-term memory neural networks, random forests, simulated annealing, and particle swarm analysis can be used to establish the service evaluation model. This application focuses on a detailed description of the Gaussian regression model. A service evaluation model based on Gaussian Process Regression (GPR) is used. Gaussian processes have advantages such as strong generalization ability and adaptive hyperparameter acquisition, enabling dynamic behavior modeling and prediction of any linear or nonlinear system, and providing confidence intervals for the prediction results.

[0106] In this way, the service evaluation model trained with a large number of samples can accurately determine the service capability value of at least one first service cluster.

[0107] Based on this, in some embodiments, before inputting the configuration parameters of each of the at least one first service cluster into the service evaluation model, the method may further include:

[0108] Retrieve the configuration parameters of the preset service cluster;

[0109] Input the configuration parameters of the preset service cluster into the initial service evaluation model, and use the relationship information between the initial configuration parameters and the observed values ​​in the initial service evaluation model to determine the sample observed values ​​of the configuration parameters of the preset service cluster.

[0110] Based on the initial joint prior probability distribution and sample observations in the initial service evaluation model, the sample posterior probability distribution of the preset service cluster is determined. The sample posterior probability distribution is the posterior probability distribution of the sample service capability value.

[0111] Based on the posterior probability distribution of the sample service cluster, the sample service capability value of the preset service cluster is determined. The sample service capability value is the mean of the posterior probability distribution of the sample.

[0112] The relationship between the initial configuration parameters and the observed values, as well as the initial joint prior probability distribution, are updated. If the difference between the sample service capability value and the actual service capability value is less than the second preset value, a service evaluation model is obtained.

[0113] In some embodiments, an initial service evaluation model is trained based on the configuration parameters of a preset service cluster to obtain a trained service evaluation model.

[0114] In some embodiments, the service evaluation module acquires in real time the status information and business operation data of each computing node corresponding to each first service cluster within the hybrid resource pool. The business operation data of the computing nodes corresponding to the same first service cluster are input into the service evaluation model, and the service capability value of each constructed first service cluster can be determined through the trained service evaluation model.

[0115] As an example, the relationship between configuration parameters and observations can be a noisy regression model as shown in Equation (1), which is as follows:

[0116] Y = f(X) + ξ (1)

[0117] Where Y is the observed value, f(X) is the fundamental function, ξ is Gaussian noise, and X represents the configuration parameter. The prior distribution of the observed values ​​is:

[0118] The joint prior distribution of the observed value Y and the service capability value y is as follows:

[0119]

[0120] Where, K(X,X)=(k ij ) is a symmetric positive definite covariance matrix, k ij The configuration parameter x is measured using a squared exponential kernel function k. i and x j The correlation between them is shown in the following formula (2) by the squared exponential kernel function:

[0121]

[0122] Where p1 and p2 are adjustable, K(x*,X)=K(X,x*)T is the covariance matrix between the test set x* and the training set X, K(x*,x*) is the covariance matrix of the test set itself, and In is an n-dimensional identity matrix. The posterior distribution of the predicted value y is calculated as follows:

[0123]

[0124] in, Mean vector This represents the predicted mean of the Gaussian process regression model, corresponding to the point prediction output. for The variance is calculated, thus obtaining a service capacity prediction result with probabilistic distribution significance. The relationship information between configuration parameters and observed values, as well as the parameters in the joint prior probability distribution, are updated. If the difference between the service capacity prediction result and the actual service capacity value is less than a second preset value, a service evaluation model is obtained.

[0125] In this way, by training the service evaluation model with real-time data, the resulting service evaluation model becomes more realistic and more accurate in obtaining the service capability value of the service cluster.

[0126] In the embodiments provided in this application, the cloud platform obtains a cluster creation request from a user requesting the scheduling of computing nodes from a hybrid resource pool to build a service cluster. The cluster creation request includes business configuration requirement information and node configuration requirement information. Based on the node configuration requirement information, the cloud platform determines the type of computing node, generates a corresponding computing node filtering message based on the computing node type, and sends the computing node filtering message to both the virtualization computing node filtering module and the bare metal server filtering module. These two node filtering modules then filter computing nodes from the hybrid resource pool. Based on the computing nodes filtered by the two node filtering modules, the computing node pre-deployment module pre-builds multiple first service clusters according to the user-uploaded business configuration requirement information, and sends the computing node identifiers corresponding to each first service cluster to the service evaluation module. The service evaluation module, based on the received computing node identifiers corresponding to the first service clusters, obtains the historical operating data and historical business configuration requirement information of each computing node corresponding to each first service cluster, analyzes and calculates the success rate of each first service cluster in fulfilling the user's requirements, and thus completes the service performance evaluation of each first service cluster. Then, the node scheduling module can schedule the computing node with the highest service capability value from the hybrid resource pool based on the service capability value, and deploy the service cluster to complete the service resource scheduling.

[0127] In the embodiments provided in this application, after receiving a cluster creation request, the cloud platform first selects some computing nodes that can be used to build the first service cluster from the hybrid resource pool based on node configuration requirements and through a node filtering module. Then, based on the node pre-deployment module, multiple first service clusters are pre-built according to the user-uploaded business configuration requirements, and the computing node identifiers corresponding to each first service cluster are sent to the service evaluation module to obtain the service capability value of the first service cluster. The computing nodes corresponding to the first service cluster with the highest service capability value are then scheduled from the hybrid resource pool for service cluster deployment, thereby completing service resource scheduling. The service cluster constructed in this way is the service cluster with the highest efficiency evaluation for fulfilling user business needs, thus ensuring that the constructed service cluster can efficiently fulfill user business needs; it also avoids the problem of wasted cloud platform resources due to the inability to accurately schedule computing nodes from the resource pool that meet user business needs.

[0128] The embodiments provided in this application can greatly improve the scheduling problem of cloud hosts and computing nodes (bare metal servers and virtualized computing nodes) in large-scale hybrid resource pools. On the one hand, it reduces the difficulty of building service clusters, and on the other hand, it improves the service efficiency of service clusters in fulfilling user business needs, thus greatly enhancing the user experience.

[0129] Based on the computing node scheduling method provided in the above embodiments, this application also provides specific implementations of a computing node scheduling device. Please refer to the following embodiments.

[0130] See Figure 5 The computing node scheduling device 300 provided in this application embodiment includes:

[0131] The acquisition module 310 is used to acquire multiple computing nodes corresponding to the cluster creation request when a cluster creation request is acquired. The cluster creation request includes business configuration requirement information.

[0132] Module 320 is used to build at least one first service cluster based on multiple computing nodes and according to business configuration requirements. The first service cluster includes computing nodes.

[0133] The acquisition module 310 is also used to acquire the service capability value of at least one first service cluster;

[0134] The selection module 330 is used to select a second service cluster whose service capability value meets the target service capability value from at least one first service cluster;

[0135] The scheduling module 340 is used to schedule computing nodes in the second service cluster.

[0136] Based on this, in some embodiments, the cluster creation request also includes node configuration requirement information; the acquisition module 310 includes:

[0137] The filtering submodule is used to filter multiple computing nodes that correspond to the node configuration requirements from the preset computing nodes.

[0138] Based on this, in some embodiments, the filtering submodule may include:

[0139] The generation unit is used to generate a computing node filtering message based on the node configuration requirement information. The computing node filtering message includes the node configuration requirement information.

[0140] The filtering unit is used to filter multiple computing nodes corresponding to the node configuration requirement information in the computing node filtering message from a preset computing node when a computing node filtering message is detected.

[0141] Based on this, in some embodiments, the device 300 may further include:

[0142] The acquisition module 310 is also used to acquire historical operating data and historical service configuration requirement information of each service in at least one first service cluster before acquiring the service capability value of at least one first service cluster.

[0143] The detection module is used to detect whether the historical running data of each service in each first service cluster meets the historical service configuration requirements and obtain the detection results. The detection results include the number of target services whose historical running data meets the historical service configuration requirements.

[0144] The determination module is used to determine the ratio of the number of target services in each first service cluster to the total number of services in each first service cluster. The ratio represents the success rate of each first service cluster.

[0145] The selection module 330 is also used to select a third service cluster from at least one first service cluster with a success rate greater than a first preset value;

[0146] The selection module 330 is also used to select target historical operating data from the historical operating data of the third service cluster that meets the historical business configuration requirements.

[0147] The acquisition module 310 is also used to acquire the configuration parameters of the computing nodes in the target historical running data;

[0148] The determination module is also used to determine the observed values ​​of the configuration parameters of each first service cluster in at least one first service cluster by utilizing the relationship information between the configuration parameters and the observed values;

[0149] The determination module is also used to determine the target posterior probability distribution of each first service cluster based on the obtained joint prior probability distribution and observations. The target posterior probability distribution is the posterior probability distribution of the service capability value of the service cluster.

[0150] The determination module is also used to determine the service capability value of each first service cluster based on the target posterior probability distribution of each first service cluster. The service capability value is the mean of the target posterior probability distribution.

[0151] Based on this, in some embodiments, the device 300 may further include:

[0152] Before determining the observed values ​​of the configuration parameters of each first service cluster in at least one first service cluster using the relationship information between the configuration parameters and the observed values, the configuration parameters of each first service cluster in at least one first service cluster are input into the service evaluation model, which includes the relationship information between the configuration parameters and the observed values ​​and the joint prior probability distribution.

[0153] Based on this, in some embodiments, the device 300 may further include:

[0154] The acquisition module 310 is also used to acquire the configuration parameters of a preset service cluster before inputting the configuration parameters of each of the first service clusters in at least one first service cluster into the service evaluation model.

[0155] The determination module is also used to input the configuration parameters of the preset service cluster into the initial service evaluation model, and use the relationship information between the initial configuration parameters and the observations in the initial service evaluation model to determine the sample observations of the configuration parameters of the preset service cluster.

[0156] The determination module is also used to determine the sample posterior probability distribution of the preset service cluster based on the initial joint prior probability distribution and sample observations in the initial service evaluation model. The sample posterior probability distribution is the posterior probability distribution of the sample service capability value.

[0157] The determination module is also used to determine the sample service capability value of the preset service cluster based on the sample posterior probability distribution of the preset service cluster. The sample service capability value is the mean of the sample posterior probability distribution.

[0158] The determination module is also used to update the relationship information between the initial configuration parameters and the observed values ​​and the initial joint prior probability distribution. When the difference between the sample service capability value and the actual service capability value is less than the second preset value, a service evaluation model is obtained.

[0159] Each module of the computing node scheduling device provided in this application embodiment can realize the functions of each step of the computing node scheduling method provided above, and can achieve its corresponding technical effects. For the sake of brevity, it will not be described in detail here.

[0160] Based on the same inventive concept, embodiments of this application also provide an electronic device.

[0161] Figure 6 A schematic diagram of the hardware structure of the electronic device provided in an embodiment of this application is shown.

[0162] An electronic device may include a processor 401 and a memory 402 storing computer program instructions.

[0163] Specifically, the processor 401 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0164] Memory 402 may include mass storage for data or instructions. For example, and not limitingly, memory 402 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 402 may include removable or non-removable (or fixed) media. Where appropriate, memory 402 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 402 is non-volatile solid-state memory.

[0165] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to one aspect of this disclosure.

[0166] The processor 401 implements any of the computing node scheduling methods in the above embodiments by reading and executing computer program instructions stored in the memory 402.

[0167] In one example, the electronic device may also include a communication interface 403 and a bus 410. For example, Figure 6 As shown, the processor 401, memory 402, and communication interface 403 are connected through bus 410 and complete communication with each other.

[0168] The communication interface 403 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0169] Bus 410 includes hardware, software, or both, that couples components of an electronic device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Linear Predictive Coding (LPC) bus, a memory bus, a MicroChannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (Peripheral Component Interconnect-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local Bus (VESA Local Bus, VLB) bus, or other suitable buses, or a combination of two or more of these. Where appropriate, bus 410 may include one or more buses. Although specific buses are described and illustrated in the embodiments of this application, this application contemplates any suitable bus or interconnect. The electronic device can execute the computing node scheduling method in the embodiments of the present invention, thereby implementing the computing node scheduling method described above.

[0170] Furthermore, in conjunction with the computing node scheduling methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the computing node scheduling methods in the above embodiments.

[0171] This application also provides a computer program product, wherein the instructions in the computer program product, when executed by the processor of an electronic device, cause the electronic device to perform various processes implementing any of the above-described embodiments of the scheduling method for computing nodes.

[0172] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0173] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, read-only memory (ROM), flash memory, erasable read-only memory (EROM), floppy disks, compact disc read-only memory (CD-ROM), optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0174] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0175] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in 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, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0176] The above are merely specific embodiments of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A method for scheduling computing nodes, characterized in that, include: Upon receiving a cluster creation request, obtain multiple compute nodes corresponding to the cluster creation request, wherein the cluster creation request includes business configuration requirement information; Based on the plurality of computing nodes, at least one first service cluster is constructed according to the business configuration requirements information, and each first service cluster includes at least one of the computing nodes; Obtain the service capability value of the at least one first service cluster; Select a second service cluster from the at least one first service cluster whose service capability value meets the target service capability value; Schedule the computing nodes in the second service cluster; Obtaining the service capability value of the at least one first service cluster includes: Obtain historical operational data and historical service configuration requirements for each service in at least one first service cluster; Detect whether the historical operation data of each service in each of the first service clusters meets the historical service configuration requirements information, and obtain the detection result. The detection result includes the number of target services whose historical operation data meets the historical service configuration requirements information. Determine the ratio of the number of target services in each first service cluster to the total number of services in each first service cluster, wherein the ratio characterizes the success rate of each first service cluster; From the at least one first service cluster, select a third service cluster whose success rate is greater than a first preset value; Select target historical operational data from the historical operational data of the third service cluster that meets the historical business configuration requirements; Obtain the configuration parameters of the computing nodes in the target historical running data; The observed values ​​of the configuration parameters of each of the at least one first service clusters are determined by using the relationship information between the configuration parameters and the observed values, wherein the relationship information between the configuration parameters and the observed values ​​is a noisy regression function; The target posterior probability distribution of each first service cluster is determined based on the joint prior probability distribution of the obtained observations and service capability values ​​and the observations, wherein the target posterior probability distribution is the posterior probability distribution of the service capability values ​​of the service cluster. Based on the target posterior probability distribution of each first service cluster, the service capability value of each first service cluster is determined, wherein the service capability value is the mean of the target posterior probability distribution.

2. The scheduling method for computing nodes according to claim 1, characterized in that, The cluster creation request also includes node configuration requirements information; The step of obtaining the multiple compute nodes corresponding to the cluster creation request includes: From the preset computing nodes, select the plurality of computing nodes that correspond to the node configuration requirement information.

3. The scheduling method for computing nodes according to claim 2, characterized in that, The step of selecting the plurality of computing nodes corresponding to the node configuration requirement information from the preset computing nodes includes: Based on the node configuration requirement information, a compute node filtering message is generated, and the compute node filtering message includes the node configuration requirement information. Upon detecting the computing node filtering message, select from the preset computing nodes the plurality of computing nodes corresponding to the node configuration requirement information in the computing node filtering message.

4. The scheduling method for computing nodes according to claim 1, characterized in that, Before determining the observed values ​​of the configuration parameters for each of the at least one first service clusters in the first service cluster using the relationship information between the configuration parameters and the observed values, the method further includes: The configuration parameters of each of the at least one first service clusters are input into the service evaluation model, which includes the relationship information between the configuration parameters and the observations and the joint prior probability distribution.

5. The scheduling method for computing nodes according to claim 4, characterized in that, Before inputting the configuration parameters of each of the at least one first service cluster into the service evaluation model, the method further includes: Retrieve the configuration parameters of the preset service cluster; The configuration parameters of the preset service cluster are input into the initial service evaluation model, and the sample observations of the configuration parameters of the preset service cluster are determined by using the relationship information between the initial configuration parameters and the observations in the initial service evaluation model. Based on the initial joint prior probability distribution in the initial service evaluation model and the sample observations, the sample posterior probability distribution of the preset service cluster is determined, where the sample posterior probability distribution is the posterior probability distribution of the sample service capability values. Based on the sample posterior probability distribution of the preset service cluster, the sample service capability value of the preset service cluster is determined, wherein the sample service capability value is the mean of the sample posterior probability distribution. The relationship information between the initial configuration parameters and the observed values, and the initial joint prior probability distribution are updated. When the difference between the sample service capability value and the actual service capability value is less than a second preset value, the service evaluation model is obtained.

6. A scheduling device for computing nodes, characterized in that, include: The acquisition module is used to acquire a cluster creation request and multiple computing nodes corresponding to the cluster creation request. The cluster creation request includes business configuration requirement information. The construction module is used to construct at least one first service cluster based on the plurality of computing nodes and according to the business configuration requirements information, wherein each first service cluster includes at least one of the computing nodes; The acquisition module is also used to acquire the service capability value of the at least one first service cluster; The selection module is used to select a second service cluster whose service capability value meets the target service capability value from the at least one first service cluster; The scheduling module is used to schedule the computing nodes in the second service cluster; The acquisition module is also used to acquire historical operating data and historical service configuration requirements information for each service in the at least one first service cluster; The detection module is used to detect whether the historical operation data of each service in each of the first service clusters meets the historical service configuration requirements information, and to obtain the detection result. The detection result includes the number of target services whose historical operation data meets the historical service configuration requirements information. The determining module is used to determine the ratio of the number of target services in each first service cluster to the total number of services in each first service cluster, the ratio representing the success rate of each first service cluster; The selection module is further configured to select the third service cluster whose success rate is greater than a first preset value from the at least one first service cluster; The selection module is also used to select target historical operating data from the historical operating data of the third service cluster that meets the historical business configuration requirements. The acquisition module is also used to acquire the configuration parameters of the computing nodes in the target historical running data; The determining module is further configured to determine the observed values ​​of the configuration parameters of each of the at least one first service clusters in the first service clusters by utilizing the relationship information between the configuration parameters and the observed values, wherein the relationship information between the configuration parameters and the observed values ​​is a noisy regression function; The determining module is further configured to determine the target posterior probability distribution of each of the first service clusters based on the joint prior probability distribution of the acquired observations and service capability values ​​and the observations, wherein the target posterior probability distribution is the posterior probability distribution of the service capability values ​​of the service clusters. The determining module is further configured to determine the service capability value of each first service cluster based on the target posterior probability distribution of each first service cluster, wherein the service capability value is the mean of the target posterior probability distribution.

7. An electronic device, characterized in that, The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the computing node scheduling method as described in any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the scheduling method for computing nodes as described in any one of claims 1-5.

9. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device is able to perform the scheduling method for computing nodes as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Data resource allocation method and device based on cloud computing

    CN115242662A