Resource scheduling method, device, computer program product and computer readable storage medium

By identifying the target resource types of workloads in the container orchestration platform and performing multi-dimensional resource status scoring, the problem of uneven resource scheduling in the container orchestration platform is solved, achieving more efficient resource utilization and stability.

CN122173223APending Publication Date: 2026-06-09CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
Filing Date
2026-02-10
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

In existing technologies, the resource scheduling methods of container orchestration platforms suffer from a single resource scheduling dimension and a lack of dynamic perception of workload resource preferences, leading to problems such as uneven load on cluster nodes and local resource bottlenecks. Moreover, existing solutions are difficult to meet real-time scheduling requirements.

Method used

By dynamically identifying the target resource type of the workload to be scheduled, and performing node screening and balancing scoring based on multi-dimensional resource status, candidate nodes are determined by combining the resource requirements, allocable capacity, and load of computing, network, and storage types, and scoring and final scheduling are performed based on load balancing indicators.

Benefits of technology

It significantly improves the targeting and global balance of scheduling decisions, effectively avoids node overload and resource fragmentation, and enhances the stability and throughput performance of container clusters in diverse business scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122173223A_ABST
    Figure CN122173223A_ABST
Patent Text Reader

Abstract

The application provides a resource scheduling method and device, a computer program product and a computer readable storage medium. The method comprises: obtaining a to-be-scheduled workload by a scheduler; determining a plurality of candidate nodes based on a first resource requirement of each resource type of the to-be-scheduled workload, a first allocable resource amount of each resource type of each node in a node cluster, and a total resource load on each node; determining, for each resource type, an average predicted resource usage of the resource type in the node cluster if the to-be-scheduled workload is scheduled to each candidate node, and determining a target resource type of the to-be-scheduled workload based on the average predicted resource usage; determining a load balancing index if the to-be-scheduled workload is scheduled to each candidate node based on the target resource type, and scoring each candidate node based on the load balancing index; determining a target node from the plurality of candidate nodes based on the scoring result, and scheduling the to-be-scheduled workload to the target node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to cloud computing technology, and more particularly to a resource scheduling method, device, computer program product, and computer-readable storage medium. Background Technology

[0002] In container orchestration platforms (such as Kubernetes), schedulers typically distribute workloads (Pods) across suitable nodes to improve cluster resource utilization and operational efficiency. Currently, related technologies fall into two categories: First, scheduling methods based on host health assessment, which use external indicator models to filter nodes, but introduce additional data collection overhead and are susceptible to fluctuations in physical host status, resulting in poor reliability. Second, batch scheduling methods based on optimization algorithms such as genetic algorithms, while capable of global optimization, suffer from complex system architectures and time-consuming optimization processes, making them unsuitable for real-time scheduling. In other words, these solutions generally suffer from a single resource scheduling dimension, lack of dynamic awareness of workload resource preferences, and insufficient consideration of the collaborative balancing of multiple resource types (computing, network, storage), easily leading to uneven cluster node load and local resource bottlenecks. Therefore, there is an urgent need for a solution that can intelligently identify workload types and perform fine-grained load balancing scheduling based on multi-dimensional resource status. Summary of the Invention

[0003] This application provides a resource scheduling method, device, computer program product, and computer-readable storage medium. By dynamically identifying the target resource type of the workload to be scheduled and performing node screening and balanced scoring based on multi-dimensional resource indicators, it realizes intelligent and refined resource scheduling of container clusters.

[0004] The technical solution of this application embodiment is implemented as follows: This application provides a resource scheduling method, the method comprising: Obtain the workload to be scheduled through the scheduler in the container orchestration platform; Based on the first resource requirement of the workload to be scheduled for each resource type, the first allocatable resource amount of each resource type of each node in the node cluster managed by the container orchestration platform, and the total resource load on each node, multiple candidate nodes are determined from the node cluster; wherein, the resource type includes computing type, network type, and storage type. For each of the resource types, determine the average predicted resource utilization rate of the resource type in the node cluster after scheduling the workload to be scheduled to each of the candidate nodes, and determine the target resource type of the workload to be scheduled based on the average predicted resource utilization rate. Based on the target resource type, determine the load balancing index when scheduling the workload to be scheduled to each candidate node, and score each candidate node based on the load balancing index to obtain a score result. Based on the scoring results, a target node is determined from the multiple candidate nodes, and the workload to be scheduled is dispatched to the target node.

[0005] In the above scheme, the determination of multiple candidate nodes from the node cluster based on the first resource requirement of the workload to be scheduled for each resource type, the first allocatable resource amount of each node for each resource type in the node cluster managed by the container orchestration platform, and the total resource load on each node includes: For each resource type of each node, the predicted resource occupancy of the node in the resource type is determined based on the first resource requirement of the workload to be scheduled for the resource type and the total resource load on the node. For each resource type of each node, if the predicted resource occupancy of the resource type is less than or equal to the first allocable resource amount of the resource type, the node is determined as the candidate node.

[0006] In the above scheme, determining the average predicted resource utilization of the resource type in the node cluster after scheduling the workload to be scheduled to each of the candidate nodes, and determining the target resource type of the workload to be scheduled based on the average predicted resource utilization, includes: For each resource type of each candidate node, based on the first resource demand, the total resource load, and the first allocable resource quantity, a first predicted resource utilization rate of the resource type of the candidate node is determined if the workload to be scheduled is scheduled to the candidate node. For each of the resource types, a first average predicted resource utilization rate of the candidate nodes is determined based on the first predicted resource utilization rate corresponding to all the candidate nodes and the number of nodes in the node cluster. The resource type corresponding to the target average predicted resource utilization rate among the multiple first average predicted resource utilization rates is determined as the target resource type of the workload to be scheduled.

[0007] In the above scheme, determining the load balancing metrics based on the target resource type when scheduling the workload to be scheduled to each of the candidate nodes includes: For each candidate node, a resource scheduling index associated with the target resource type is obtained; wherein, the resource scheduling index associated with the computing type is computing unit resources and memory resources, the resource scheduling index associated with the network type includes computing unit resources, memory resources and network resources, and the resource scheduling index associated with the storage type includes computing unit resources, memory resources, network resources and storage space resources; For each candidate node, the load balancing metric is determined based on the resource scheduling metric.

[0008] In the above scheme, determining the load balancing index based on the resource scheduling index includes: For each candidate node, the current resource utilization rate of the candidate node's resource scheduling indicator is determined based on the current used resource amount of the candidate node's resource scheduling indicator and the second allocable resource amount of the candidate node's resource scheduling indicator. For each candidate node, a second predicted resource utilization rate of the resource scheduling metric is determined if the workload to be scheduled is scheduled to the candidate node, and based on the current resource utilization rate, the second predicted resource utilization rate and the number of nodes in the node cluster, a second average resource utilization rate of the resource scheduling metric on the node cluster is determined if the scheduling is successful. For each candidate node, based on the second resource requirement of the resource scheduling index for the workload to be scheduled and the second allocable resource amount of the resource scheduling index of the candidate node, the resource utilization increment of the resource scheduling index after scheduling is determined. For each candidate node, a load balancing metric is determined based on the number of nodes, the current resource utilization rate, the second average resource utilization rate, and the resource utilization rate increment; wherein, the load balancing metric represents the degree of resource scheduling metric utilization balance in the node cluster after scheduling the workload to be scheduled to the candidate node.

[0009] In the above scheme, determining the second predicted resource utilization rate of the resource scheduling indicator when scheduling the workload to be scheduled to the candidate node includes: For each candidate node, based on the current used resources and the second resource requirement of the scheduled workload for the resource scheduling index, the predicted resource usage if the scheduled workload is scheduled to the candidate node is determined. For each candidate node, the second predicted resource utilization rate is determined based on the predicted resource usage and the second allocatable resource amount.

[0010] In the above scheme, the step of scoring each candidate node based on the load balancing metric to obtain a scoring result includes: For each candidate node, the scoring result is determined based on the candidate node's load balancing metric, the maximum value of the load balancing metric among all candidate nodes, the minimum value of the load balancing metric among all candidate nodes, and the target value.

[0011] This application provides a resource scheduling device, the device comprising: The acquisition unit is used to acquire the workload to be scheduled through the scheduler in the container orchestration platform; The processing unit is configured to determine multiple candidate nodes from the node cluster based on the first resource requirement of the workload to be scheduled for each resource type, the first allocatable resource amount of each resource type of each node in the node cluster managed by the container orchestration platform, and the total resource load on each node; wherein the resource types include computing type, network type, and storage type. The processing unit is further configured to, for each resource type, determine the average predicted resource utilization rate of the resource type in the node cluster after scheduling the workload to be scheduled to each candidate node, and determine the target resource type of the workload to be scheduled based on the average predicted resource utilization rate. The determining unit is configured to determine, based on the target resource type, a load balancing index when scheduling the workload to be scheduled to each of the candidate nodes, and to score each of the candidate nodes based on the load balancing index to obtain a scoring result. The scheduling unit is used to determine the target node from the multiple candidate nodes based on the scoring results, and to schedule the workload to be scheduled to the target node.

[0012] This application embodiment provides a resource scheduling device, the device comprising: Memory is used to store executable instructions or computer programs. The processor, when executing computer-executable instructions or computer programs stored in the memory, implements the method provided in the embodiments of this application.

[0013] This application provides a computer program product, including a computer program or computer executable instructions, which, when executed by a processor, implement the method provided in this application.

[0014] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the method provided in this application when executed by a processor.

[0015] The embodiments of this application have the following beneficial effects: First, pre-selection filtering is performed by combining resource demand, node allocable resources, and existing load to ensure that candidate nodes have available capacity in multiple resource types such as computing, network, and storage. Then, by predicting the average utilization rate of various resources in the cluster after scheduling, the most sensitive resource type for the workload (i.e., the target resource type) is automatically identified, enabling the scheduling strategy to focus on key resource dimensions. Subsequently, based on the scheduling indicators associated with the target resource type, the cluster load balancing degree after scheduling each candidate node is calculated and scored accordingly, ultimately selecting the optimal node for binding. This scheme significantly improves the targeting, global balance, and resource utilization efficiency of scheduling decisions, effectively avoids node overload and resource fragmentation, and enhances the stability and throughput performance of container clusters in diverse business scenarios. Attached Figure Description

[0016] Figure 1 This is a first flowchart illustrating the resource scheduling method provided in this application embodiment; Figure 2 This is a second flowchart illustrating the resource scheduling method provided in the embodiments of this application; Figure 3 This is a schematic diagram of the scheduling process in the resource scheduling method provided in the embodiments of this application; Figure 4 This is a schematic diagram of the structure of the resource scheduling device provided in the embodiments of this application; Figure 5 This is a schematic diagram of the structure of the resource scheduling device provided in the embodiments of this application.

[0017] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation

[0018] 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. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0019] It should be noted that the first related technology proposes an application scheduling method that combines a host health assessment model with a container orchestration platform (such as Kubernetes (K8s)). Specifically, this method constructs an assessment model and defines relevant metrics, registers the metrics to the system with plugins and updates them periodically, and constructs a custom scheduler based on the scheduling status and quality of nodes to determine the optimal node. However, although this method can determine the scheduling status and quality of nodes by constructing a host assessment model and thus select the optimal node, the scheme incurs additional overhead by collecting and calculating node metrics to construct a custom host health model. At the same time, the external physical resource metrics it relies on are easily affected by the host status, resulting in poor reliability. Related technology 2 proposes a container scheduling system and a container batch scheduling method. Specifically, it obtains the user configuration information of each Pod in the target container group through a rendering engine, renders a preset application template to obtain a resource file containing scheduling configuration information, then determines the initial scheduling result of the target Pod set through a batch scheduler, and then uses a genetic algorithm to perform at least one round of optimization to obtain the target scheduling node. However, this method introduces a rendering engine, a batch scheduler, and a genetic algorithm, which makes the system architecture complex and increases the maintenance difficulty and understanding cost. The results of the genetic algorithm are uncertain, and the optimization process may be time-consuming, making it difficult to meet real-time requirements.

[0020] Based on this, embodiments of this application provide a resource scheduling method, referring to... Figure 1 As shown, this method, applied to resource scheduling equipment, can specifically include the following steps: Step 101: Obtain the workload to be scheduled through the scheduler in the container orchestration platform.

[0021] In this embodiment, a container orchestration platform refers to a system used for the automated deployment, scaling, and management of containerized applications. A built-in scheduler determines which node a scheduled workload (Pod) will run on. Specifically, the container orchestration platform can be Kubernetes (K8s), which runs within a resource scheduling device. The scheduler is the component in the container orchestration platform responsible for deciding the Pod scheduling location, such as kube-scheduler in K8s. A scheduled workload refers to a Pod that needs to be scheduled to run on a cluster node. These Pods are typically created using configuration files (such as YAML files) or application programming interfaces (APIs) that define Kubernetes resource objects and enter a scheduling queue to await scheduling. The scheduler in the container orchestration platform can select a Pod from the queue of waiting Pods as the current scheduled object (i.e., the scheduled workload).

[0022] Step 102: Based on the first resource requirement of each resource type for the workload to be scheduled, the first allocatable resource amount of each resource type of each node in the node cluster managed by the container orchestration platform, and the total resource load on each node, determine multiple candidate nodes from the node cluster.

[0023] Resource types include computing type, network type, and storage type.

[0024] In this embodiment, resource types include computing types (including computing unit resources and memory resources), network types (including computing unit resources, memory resources, and network resources), and storage types (including computing unit resources, memory resources, network resources, and storage space resources). The first resource demand refers to the amount of a certain resource type (such as computing unit resources, memory resources, storage space resources, and network resources) requested by the workload to be scheduled, that is, the amount of resources that the workload to be scheduled hopes to obtain from the node. The first allocable resource amount refers to the maximum amount of a certain type of resource on the node. The total resource load refers to the amount of resources already occupied on the node. The candidate node refers to the set of nodes in the node cluster that meet the basic resource conditions after preliminary screening. For each node and resource type in the node cluster, the initial resource requirement and total resource load can be calculated first. Then, the calculation result is compared with the initial allocable resource quantity. Based on the comparison result, it is determined whether the node is a candidate node. In this way, 1. Pre-selection filtering: quickly eliminate nodes with insufficient resources or excessive load, reducing the amount of subsequent calculations; 2. Type awareness: consider multiple resource types to ensure that nodes can meet the Pod's requirements in terms of computing, network, storage, etc.; 3. Reliability improvement: avoid scheduling workloads to nodes that are about to be overloaded, and improve the scheduling success rate.

[0025] In one feasible implementation, computing unit resources can refer to the central processing unit (CPU), network resources can refer to network bandwidth, and storage space resources can refer to disks.

[0026] Step 103: For each resource type, determine the average predicted resource utilization rate of the resource type in the node cluster after scheduling the workload to be scheduled to each candidate node, and determine the target resource type of the workload to be scheduled based on the average predicted resource utilization rate.

[0027] In this embodiment, the average predicted resource utilization rate refers to the predicted utilization rate of a candidate node on a certain resource type after assuming the workload to be scheduled is scheduled to that node, and then the average utilization rate of the node cluster on that resource type is obtained by averaging across all candidate nodes. The target resource type refers to the resource type that has the greatest impact on the scheduling of the workload to be scheduled, that is, the type of resource with the highest average predicted resource utilization rate after scheduling. For each resource type, the average predicted resource utilization rate of that resource type in the cluster is calculated if the workload to be scheduled is scheduled to each candidate node, and then the average predicted resource utilization rates of various resource types are compared, and the resource type corresponding to the highest average predicted resource utilization rate is selected as the target resource type. In this way, 1. Type identification is automated: the resource tendency of the workload to be scheduled is dynamically identified through resource utilization rate without manual labeling; 2. Scheduling is targeted: the subsequent scoring strategy can focus on the most critical resource type (i.e., the target resource type) for the workload to be scheduled, so as to achieve fine-grained scheduling.

[0028] Step 104: Based on the target resource type, determine the load balancing index when scheduling the workload to be scheduled to each candidate node, and score each candidate node based on the load balancing index to obtain the score result.

[0029] In this embodiment, the load balancing metric refers to the degree of balance of the node cluster across the target resource type after scheduling the workload to be scheduled to a candidate node, and is usually calculated based on variance or standard deviation. The scoring result refers to the node score calculated based on the load balancing metric; the higher the score, the more balanced the node cluster is after scheduling to that candidate node. For the target resource type (such as disk resources corresponding to storage-type workloads to be scheduled), the load balancing metric of that type of resource in the node cluster is calculated after scheduling the workload to be scheduled to each candidate node, and the smaller the load balancing metric, the more balanced the cluster is. Then, the score of each candidate node is calculated based on the load balancing metric. In this way, 1. Balance-oriented: scheduling is performed with the overall load balance of the node cluster as the goal, avoiding hot nodes; 2. Categorized scoring: different key resources are used for scoring different resource types, making scheduling more accurate.

[0030] Step 105: Determine the target node from multiple candidate nodes based on the scoring results, and schedule the workload to be scheduled to the target node.

[0031] In this embodiment, the target node refers to the candidate node with the highest score, i.e., the node that, after scheduling, can make the node cluster most balanced in terms of target resource type. Scheduling refers to binding the workload to be scheduled to the target node, and the creation and startup of the workload to be scheduled is completed by components such as kubelet. The scores of all candidate nodes are compared, and the candidate node with the highest score is selected as the final selected target node. Then, the scheduling binding is performed, that is, the scheduler sends a binding instruction to the API server to set the nodeName field of the workload to be scheduled to the name of the target node, thereby completing the scheduling. Subsequently, the subsequent components of the node cluster will be responsible for actually starting the workload to be scheduled on the target node. In this way, through balanced scheduling, the overall resource utilization is improved and the risk of local overload is reduced.

[0032] The resource scheduling method provided in this application first performs pre-selection filtering by combining resource demand, available node resources, and existing load to ensure that candidate nodes have available capacity in multiple resource types such as computing, network, and storage. Then, by predicting the average utilization rate of various resources in the cluster after scheduling, it automatically identifies the resource type most sensitive to the workload (i.e., the target resource type), enabling the scheduling strategy to focus on key resource dimensions. Subsequently, based on the scheduling indicators associated with the target resource type, it calculates the cluster load balancing degree after scheduling each candidate node, scores it accordingly, and finally selects the optimal node for binding. This scheme significantly improves the targeting, global balance, and resource utilization efficiency of scheduling decisions, effectively avoids node overload and resource fragmentation, and enhances the stability and throughput performance of container clusters in diverse business scenarios.

[0033] Based on the foregoing embodiments, this application provides yet another resource scheduling method, referring to... Figure 2 As shown, this method, applied to resource scheduling equipment, can specifically include the following steps: Step 201: Obtain the workload to be scheduled through the scheduler in the container orchestration platform.

[0034] Step 202: For each resource type of each node, based on the first resource requirement of the workload to be scheduled for the resource type and the total resource load on the node, determine the predicted resource occupancy of the node for the resource type.

[0035] Resource types include computing type, network type, and storage type.

[0036] In the embodiments of the present application, the predicted resource occupancy refers to the total resource occupancy that a node is expected to reach for a certain resource type after assuming that the workload to be scheduled is scheduled to a certain node; for each node in the node cluster, and then for each resource type (computing type, network type, storage type) in the node, the following calculations are performed: Predicted resource occupancy = total resource load of this type of resource on the node ( )+ the first resource demand of the workload to be scheduled for this type of resource ( ), where i is the resource number, representing various types of resources such as computing unit resources, memory resources, etc., J is the node label, and 0 < j < n, where n is the number of nodes in the node cluster; in this way, 1. Simulate scheduling impact: Before actually performing scheduling, pre-calculate the impact of the scheduling behavior on the resource status of each node, so that the decision-making process changes from being based on the current state to being based on the predicted state; 2. Refined evaluation: Independently evaluate the nodes in multiple dimensions (computing type, network type, storage type) to ensure that the resource capabilities of each node can meet the requirements and avoid node overload after scheduling due to a single resource shortcoming.

[0037] Step 203: For each resource type of each node, if the predicted resource occupancy of the resource type is less than or equal to the first allocable resource amount of the resource type, determine the node as a candidate node.

[0038] In the embodiments of the present application, each node and each of its resource types are checked, that is, if the predicted resource occupancy ≤ the first allocable resource amount ( )(that is ), or, if the predicted resource occupancy ≤ the first allocable resource amount * target threshold (for example, when the target threshold is set to 85%, ), that is, determine the node as a candidate node; it should be noted that the screening logic is that a node must meet the above conditions for all its resource types to be determined as a candidate node. If the predicted occupancy of any one type of resource exceeds the first allocable resource amount (for example, the predicted memory resource usage exceeds the available memory resources of the node), then the node is eliminated; in this way, 1. Ensure scheduling feasibility: Fundamentally ensure that the selected candidate nodes have the ability to carry the workload to be scheduled at the resource level, avoiding scheduling failures or causing node crashes; 2. Actively prevent overload: Through pre-calculation and threshold control, actively exclude nodes with too high load rates or resource tensions from the candidate set, improving the stability and reliability of the cluster; 3. Improve scheduling efficiency: Quickly filter out nodes that obviously do not meet the conditions in the preselection stage, greatly reducing the number of nodes that need to enter the subsequent complex preference scoring stage, and improving the efficiency of the overall scheduling decision.

[0039] Step 204: For each resource type of each candidate node, based on the first resource demand, total resource load, and first allocable resource quantity, determine the first predicted resource utilization rate of the candidate node's resource type after scheduling the workload to be scheduled to the candidate node.

[0040] In this embodiment, the first predicted resource utilization rate refers to the percentage of resource usage of a candidate node on a specific resource type, predicted during the pre-selection phase after the workload to be scheduled is assigned to that candidate node. It represents the full load of the node's resources after scheduling, i.e., the predicted resource occupancy rate after scheduling. For each resource type (computing type, network type, storage type) of each candidate node, the first predicted resource utilization rate is calculated separately. = Total resource load / (First allocable resource quantity - First resource demand quantity) (i.e.) Thus, 1. Quantifying the impact of scheduling: Transforming the impact of scheduling decisions on individual nodes into specific and comparable percentage values, providing accurate data input for subsequent cluster-level analysis; 2. Multi-dimensional perspective: Generating a snapshot of the future state of each candidate node in three dimensions: computing type, network type, and storage type, fully depicting the comprehensive resource profile of the node.

[0041] Step 205: For each resource type, determine the first average predicted resource utilization rate of the candidate nodes based on the first predicted resource utilization rate of all candidate nodes and the number of nodes in the node cluster.

[0042] In this embodiment of the application, the first average predicted resource utilization rate ( This is a calculation method for a specific resource type (such as compute unit resources). It involves summing the first predicted resource utilization rates of all candidate nodes after scheduling, then dividing by the number of nodes in the node cluster. The average value represents the predicted average load level of the entire node cluster on that resource type, assuming the current scheduling is completed. For each resource type (compute, network, storage): the first predicted resource utilization rates of all candidate nodes on that resource type are summed, and then the sum is divided by the number of nodes in the node cluster. The specific formula is as follows: Thus, 1. Macro trend insight: from predicting individual nodes to predicting the resource load trend of the entire node cluster, it helps to determine which type of resources will be mainly affected by this scheduling.

[0043] Step 206: Determine the resource type corresponding to the target average predicted resource utilization rate among multiple first average predicted resource utilization rates, which is the target resource type of the workload to be scheduled.

[0044] In this embodiment, the target average predicted resource utilization rate refers to the highest value among the first average predicted resource utilization rates of the three resource types: computing type, network type, and storage type. The target resource type is the resource type corresponding to the target average predicted resource utilization rate, which is identified as the resource type most sensitive to, most dependent on, or most consumed by the workload to be scheduled. The three first average predicted resource utilization rates (first average resource utilization rate of computing type, first average resource utilization rate of network type, and first average resource utilization rate of storage type) calculated by all candidate nodes are compared. The resource type represented by the largest value is selected as the target resource type for the workload to be scheduled. This enables intelligent classification: without requiring manual user specification, the device automatically and dynamically identifies the workload to be scheduled as "compute-intensive," "network-intensive," or "storage-intensive" through simulated calculations, demonstrating a high degree of intelligence.

[0045] Step 207: For each candidate node, obtain the resource scheduling indicators associated with the target resource type.

[0046] Among them, the resource scheduling indicators associated with computing type are computing unit resources and memory resources; the resource scheduling indicators associated with network type include computing unit resources, memory resources, and network resources; and the resource scheduling indicators associated with storage type include computing unit resources, memory resources, network resources, and storage space resources.

[0047] In this embodiment, resource scheduling metrics refer to the underlying physical resource items that need to be specifically considered and calculated when performing the final load balancing score. They are a concretization of the target resource type, connecting the scheduling decision logic from the abstract type level to the specific, measurable resource layer. Based on the determined target resource type, the resource scheduling metric set for each candidate node is obtained through the Kubernetes metrics-server component. Specifically, if the target resource type is computing, the resource scheduling metrics can be computing unit resources and memory resources; if the target resource type is network, the resource scheduling metrics can be computing unit resources, memory resources, and network resources; if the target resource type is storage, the resource scheduling metrics can be computing unit resources, memory resources, network resources, and storage space resources.

[0048] Step 208: For each candidate node, determine the load balancing metrics based on resource scheduling metrics.

[0049] In this embodiment, for each candidate node, a value that comprehensively reflects the load balancing status of the cluster after scheduling is calculated based on a determined set of resource scheduling indicators (e.g., for storage-type workloads to be scheduled, indicators include unit resources, memory resources, network resources, and storage space). This achieves the following: 1. Provides a quantitative basis for decision-making: transforms the abstract goal of balance into a concrete and comparable value, making node selection more informed; 2. Provides comprehensive multi-dimensional evaluation: since resource scheduling indicators may include multiple resource dimensions, this indicator can comprehensively reflect the balance status of multiple resource dimensions, avoiding a singular focus on a single resource; 3. Guides towards global optimization: by selecting the node that optimizes this indicator (e.g., minimizes variance), scheduling decisions are directed towards a more balanced cluster load, improving overall resource utilization and system stability.

[0050] It should be noted that step 208 can be achieved in the following way: Step 208A1: For each candidate node, determine the current resource utilization rate of the candidate node's resource scheduling index based on the current used resource amount of the candidate node's resource scheduling index and the second allocable resource amount of the candidate node's resource scheduling index.

[0051] In this embodiment of the application, the current amount of resources used ( The first refers to the amount of resources currently occupied on a candidate node for a specific resource scheduling indicator (such as computing unit resources, memory resources, etc.); the second refers to the amount of allocable resources (…). This refers to the maximum resource quantity of specific resource scheduling indicators on a node, such as the total disk space of the node; current resource utilization rate ( This refers to the percentage of currently used resources relative to the second most available resources on a candidate node, representing a specific resource scheduling metric. Current resource utilization can be expressed by the formula... The calculations are as follows: For each candidate node, its current resource utilization is calculated for each determined resource scheduling metric. For example, for a storage-type workload to be scheduled, the current resource utilization of the candidate node in terms of computing unit resources, memory resources, network resources, and storage space resources (such as disk) needs to be calculated. This allows the scheduler to know the real-time pressure of each candidate node on each type of resource and avoids scheduling tasks on resources that are already heavily loaded.

[0052] Step 208A2: For each candidate node, determine the second predicted resource utilization rate of the resource scheduling metric when scheduling the workload to be scheduled to the candidate node.

[0053] In this application embodiment, the second predicted resource utilization rate ( This refers to the percentage of resource utilization of a candidate node based on a certain resource scheduling index, assuming that the workload to be scheduled is scheduled to a certain candidate node. In other words, it is the predicted load rate of each candidate node based on a specific resource index after the workload to be scheduled is scheduled to each candidate node. The second predicted resource utilization rate of a candidate node can be calculated based on the current amount of resources used, the second resource demand and the second allocable resource amount of the workload to be scheduled for the resource scheduling index.

[0054] It should be noted that step 208A2 can be achieved through the following steps: Step 208a1: For each candidate node, based on the current used resources and the second resource requirement of the scheduling workload for the resource scheduling index, determine the predicted resource usage if the scheduling workload is scheduled to the candidate node.

[0055] In this embodiment of the application, the second resource requirement ( This refers to the amount of workloads requesting a specific resource scheduling metric (such as disk space); predicted resource usage. This refers to the prediction of the absolute amount of resources (e.g., disk usage in GB) that a candidate node will occupy on a given resource scheduling metric (such as storage space) during the optimization and scoring phase. Assuming the workload to be scheduled is assigned to a candidate node, the specific formula for predicting resource usage for each candidate node's resource scheduling metric is as follows: .

[0056] Step 208a2: For each candidate node, determine the second predicted resource utilization rate based on the predicted resource usage and the second allocable resource amount.

[0057] In this embodiment of the application, it can be specifically described by formula The system calculates the predicted load rate of each candidate node on specific resource metrics after scheduling. This achieves two goals: 1. Standardizing resource status: unifying different nodes and different total resources (e.g., one node has 1TB of disk and another has 2TB) onto a percentage scale of 0% to 100%, making the resource load status between nodes comparable; 2. Preparing data for cluster-level computing: the generated percentage data is the direct input for the next step of calculating the cluster average utilization and utilization variance, and is the key transformation connecting node status and cluster equilibrium status.

[0058] Step 208A3: Based on the current resource utilization rate, the second predicted resource utilization rate, and the number of nodes in the node cluster, determine the second average resource utilization rate of the resource scheduling index on the node cluster after scheduling.

[0059] In this embodiment, the second average resource utilization rate refers to the predicted average utilization rate of the entire node cluster on a certain resource scheduling metric after scheduling is completed. It is the average of the predicted utilization rates of all nodes on that metric. The second average predicted resource utilization rate can be used as follows: It can be expressed as a formula, and specifically it can be expressed as a formula. The second average predicted resource utilization rate was calculated.

[0060] It should be noted that it can also be done through formulas. The third average predicted resource utilization rate was calculated when the workload to be scheduled was not scheduled to the candidate node. Then, the second average predicted resource utilization rate and the third average predicted resource utilization rate can be compared, that is, the predicted resource utilization rate before scheduling can be compared with the predicted resource utilization rate after scheduling, so as to obtain the change in the predicted resource utilization rate before and after scheduling.

[0061] Step 208A4: For each candidate node, based on the second resource requirement of the resource scheduling index of the workload to be scheduled and the second allocable resource amount of the resource scheduling index of the candidate node, determine the resource utilization increment of the resource scheduling index after scheduling.

[0062] In this embodiment of the application, the incremental resource utilization rate ( This refers to the percentage increase in the utilization of a candidate node for a given resource scheduling metric, assuming that the workload to be scheduled is reassigned to that node. It measures the additional load pressure this scheduling imposes on the candidate node. For each resource scheduling metric of each candidate node, a calculation formula is used... The incremental resource utilization is calculated; thus, the direct cost of scheduling is quantified: it clearly and directly measures how much of the load on a specific resource of a candidate node will be increased by the action of scheduling the workload to be scheduled to this candidate node. This is the core indicator for evaluating the impact of scheduling decisions on a single node.

[0063] Step 208A5: For each candidate node, determine the load balancing metrics based on the number of nodes, current resource utilization, second average resource utilization, and resource utilization increment.

[0064] Among them, the load balancing index represents the degree of balance in the use of resource scheduling indicators in the node cluster after scheduling the workload to be scheduled to the candidate node.

[0065] In this embodiment of the application, for each candidate node, mathematical operations can be performed on the number of nodes, the current resource utilization rate, the second average resource utilization rate, and the resource utilization rate increment to obtain the load balancing index. Specifically, it can be obtained through the formula... The load balancing metrics were calculated.

[0066] Step 209: For each candidate node, determine the scoring result based on the candidate node's load balancing metric, the maximum value among all candidate nodes' load balancing metrics, the minimum value among all candidate nodes' load balancing metrics, and the target value.

[0067] In this embodiment, for each candidate node, mathematical operations can be performed on the candidate node's load balancing metric, the maximum value among all candidate nodes' load balancing metrics, the minimum value among all candidate nodes' load balancing metrics, and a target value. The target value can be set to 1. Specifically, this can be achieved through the formula... The score of the candidate node is calculated.

[0068] Step 210: Determine the target node from multiple candidate nodes based on the scoring results, and schedule the workload to be scheduled to the target node.

[0069] It should be noted that this application (1) addresses the problem of few scheduling indicators and simple strategies in Kubernetes by introducing multiple resource indicators, that is, classifying different Pods according to the type determination method, so that the optimal scheduling strategy can be more accurate; (2) it uses an optimal scheduling algorithm based on pod resource type, that is, for different types of Pods, priority scheduling is performed according to their key resource requirements. This method can not only meet the specific resource requirements of different Pods, but also fully consider the load burden of a single node, effectively avoiding the situation where some nodes are overloaded while other nodes are idle; (3) it improves resource utilization efficiency: this application can schedule Pods according to different resource types, avoiding the performance bottleneck of a single node and making more reasonable use of cluster resources; (4) it meets diverse business needs: this application can use different scheduling methods for different types of Pods, adapting to complex and ever-changing actual application scenarios, that is, whether it is a heavy task with high resource requirements or a lightweight small service, a suitable scheduling strategy can be found, providing more accurate and efficient resource allocation and scheduling for different types of business needs.

[0070] In other embodiments of this application, the workload-type-based load balancing scheduling process is referenced. Figure 3As shown, specifically: First, the Kubernetes cluster creates a workload to be scheduled via a YAML file or API call, specifying the selected scheduler during creation, and then adds it to the waiting scheduling queue. If a custom scheduler is selected, the required node resources are obtained according to the scheduler rules. The scheduler (kube-scheduler) selects Pods from the queue and executes a "pre-selection-optimization-binding" scheduling strategy: In the pre-selection phase, nodes that do not meet the conditions are first filtered (i.e., candidate nodes are determined), including node selector matching and taint tolerance checks, and then Pods are classified by type. In the optimization phase, nodes that meet the conditions are scored to select the most suitable node for deploying Pods (i.e., the target node). This optimization scheduling strategy focuses on load balancing of key indicators, and the key indicators are obtained in real time from the metrics-server component in the node cluster. Then, a scientific and reasonable decision on Pod scheduling is made by comprehensively considering multiple factors.

[0071] It should be noted that the descriptions of the same steps and contents as in other embodiments in this embodiment can be found in the descriptions in other embodiments, and will not be repeated here.

[0072] The resource scheduling method provided in this application first performs pre-selection filtering by combining resource demand, available node resources, and existing load to ensure that candidate nodes have available capacity in multiple resource types such as computing, network, and storage. Then, by predicting the average utilization rate of various resources in the cluster after scheduling, it automatically identifies the resource type most sensitive to the workload (i.e., the target resource type), enabling the scheduling strategy to focus on key resource dimensions. Subsequently, based on the scheduling indicators associated with the target resource type, it calculates the cluster load balancing degree after scheduling each candidate node, scores it accordingly, and finally selects the optimal node for binding. This scheme significantly improves the targeting, global balance, and resource utilization efficiency of scheduling decisions, effectively avoids node overload and resource fragmentation, and enhances the stability and throughput performance of container clusters in diverse business scenarios.

[0073] Based on the foregoing embodiments, this application provides a resource scheduling device that can be applied to... Figure 1 and Figure 2 In the resource scheduling method provided in the corresponding embodiment, refer to Figure 4 As shown, the resource scheduling device 3 may include: an acquisition unit 31, a processing unit 32, a determination unit 33, and a scheduling unit 34, wherein: The acquisition unit 31 is used to acquire the workload to be scheduled through the scheduler in the container orchestration platform; Processing unit 32 is used to determine multiple candidate nodes from the node cluster based on the first resource requirement of each resource type for the workload to be scheduled, the first allocable resource amount of each resource type of each node in the node cluster managed by the container orchestration platform, and the total resource load on each node; wherein, the resource types include computing type, network type and storage type. The processing unit 32 is also used to determine, for each resource type, the average predicted resource utilization rate of the resource type in the node cluster after scheduling the workload to be scheduled to each candidate node, and to determine the target resource type of the workload to be scheduled based on the average predicted resource utilization rate. The determining unit 33 is used to determine the load balancing index when scheduling the workload to be scheduled to each candidate node based on the target resource type, and to score each candidate node based on the load balancing index to obtain a score result. The scheduling unit 34 is used to determine the target node from multiple candidate nodes based on the scoring results and schedule the workload to be scheduled to the target node.

[0074] In other embodiments of this application, the processing unit 32 is further configured to perform the following steps: For each resource type of each node, the predicted resource occupancy of the node in the resource type is determined based on the first resource requirement of the workload to be scheduled for the resource type and the total resource load on the node. For each resource type of each node, if the predicted resource occupancy of the resource type is less than or equal to the first allocable resource amount of the resource type, the node is determined as a candidate node.

[0075] In other embodiments of this application, the processing unit 32 is further configured to perform the following steps: For each resource type of each candidate node, based on the first resource demand, total resource load, and first allocable resource quantity, determine the first predicted resource utilization rate of the resource type of the candidate node after scheduling the workload to be scheduled to the candidate node; For each resource type, the first average predicted resource utilization rate of the candidate nodes is determined based on the first predicted resource utilization rate of all candidate nodes and the number of nodes in the node cluster. Determine the resource type corresponding to the target average predicted resource utilization rate among multiple first average predicted resource utilization rates, and use it as the target resource type for the workload to be scheduled.

[0076] In other embodiments of this application, the processing unit 32 is further configured to perform the following steps: For each candidate node, obtain the resource scheduling indicators associated with the target resource type; among them, the resource scheduling indicators associated with the computing type are computing unit resources and memory resources, the resource scheduling indicators associated with the network type include computing unit resources, memory resources and network resources, and the resource scheduling indicators associated with the storage type include computing unit resources, memory resources, network resources and storage space resources. For each candidate node, load balancing metrics are determined based on resource scheduling metrics.

[0077] In other embodiments of this application, the processing unit 32 is further configured to perform the following steps: For each candidate node, the current resource utilization rate of the candidate node's resource scheduling index is determined based on the current used resource amount of the candidate node's resource scheduling index and the second allocable resource amount of the candidate node's resource scheduling index. For each candidate node, determine the second predicted resource utilization rate of the resource scheduling metric if the workload to be scheduled is to be scheduled to the candidate node, and determine the second average resource utilization rate of the resource scheduling metric on the node cluster if the workload is scheduled after scheduling based on the current resource utilization rate, the second predicted resource utilization rate and the number of nodes in the node cluster. For each candidate node, based on the second resource requirement of the resource scheduling index of the workload to be scheduled and the second allocable resource amount of the resource scheduling index of the candidate node, determine the resource utilization increment of the resource scheduling index after scheduling. For each candidate node, a load balancing metric is determined based on the number of nodes, the current resource utilization rate, the second average resource utilization rate, and the resource utilization rate increment. The load balancing metric represents the degree of resource scheduling balance in the node cluster after scheduling the workload to be scheduled to the candidate node.

[0078] In other embodiments of this application, the processing unit 32 is further configured to perform the following steps: For each candidate node, based on the current used resources and the second resource requirement of the scheduling workload for the resource scheduling index, the predicted resource usage if the scheduling workload is scheduled to the candidate node is determined. For each candidate node, a second predicted resource utilization rate is determined based on the predicted resource usage and the second allocable resource amount.

[0079] In other embodiments of this application, the determining unit 33 is further configured to perform the following steps: For each candidate node, the scoring result is determined based on the candidate node's load balancing metric, the maximum value of all candidate node load balancing metrics, the minimum value of all candidate node load balancing metrics, and the target value.

[0080] It should be noted that the specific implementation process of the steps performed by each module in the embodiments of this application can be referred to Figure 1 and Figure 2 The implementation process of the resource scheduling method provided in the corresponding embodiment will not be described in detail here.

[0081] The resource scheduling device provided in this application first performs pre-selection filtering by combining resource demand, available node resources, and existing load to ensure that candidate nodes have available capacity in various resources such as computing, network, and storage. Then, by predicting the average utilization rate of various resources in the cluster after scheduling, it automatically identifies the resource type most sensitive to the workload (i.e., the target resource type), enabling the scheduling strategy to focus on key resource dimensions. Subsequently, based on the scheduling indicators associated with the target resource type, it calculates the cluster load balancing degree after scheduling each candidate node, scores it accordingly, and finally selects the optimal node for binding. This solution significantly improves the targeting, global balance, and resource utilization efficiency of scheduling decisions, effectively avoids node overload and resource fragmentation, and enhances the stability and throughput performance of container clusters in diverse business scenarios.

[0082] Based on the foregoing embodiments, embodiments of this application provide a resource scheduling device that can be applied to... Figure 1 and Figure 2 In the resource scheduling method provided in the corresponding embodiment, refer to Figure 5 As shown, the resource scheduling device 4 may include: a processor 41, a memory 42, and a communication bus 43, wherein: Communication bus 43 is used to realize the communication connection between processor 41 and memory 42; Processor 41 is used to execute the resource scheduler in memory 42 to perform the following steps: Obtain the workload to be scheduled through the scheduler in the container orchestration platform; Based on the first resource requirement of the workload to be scheduled for each resource type, the first allocatable resource quantity of each resource type of each node in the node cluster managed by the container orchestration platform, and the total resource load on each node, multiple candidate nodes are determined from the node cluster; where the resource types include compute type, network type, and storage type. For each resource type, determine the average predicted resource utilization of the resource type in the node cluster after scheduling the workload to be scheduled to each candidate node, and determine the target resource type of the workload to be scheduled based on the average predicted resource utilization. Based on the target resource type, determine the load balancing index when scheduling the workload to be scheduled to each candidate node, and score each candidate node based on the load balancing index to obtain the score result. The target node is determined from multiple candidate nodes based on the scoring results, and the workload to be scheduled is dispatched to the target node.

[0083] In other embodiments of this application, the processor 41 is used to execute the resource scheduler in the memory 42 to determine multiple candidate nodes from the node cluster based on the first resource requirement of the workload to be scheduled for each resource type, the first allocable resource amount of each node for each resource type in the node cluster managed by the container orchestration platform, and the total resource load on each node, in order to implement the following steps: For each resource type of each node, the predicted resource occupancy of the node in the resource type is determined based on the first resource requirement of the workload to be scheduled for the resource type and the total resource load on the node. For each resource type of each node, if the predicted resource occupancy of the resource type is less than or equal to the first allocable resource amount of the resource type, the node is determined as a candidate node.

[0084] In other embodiments of this application, the processor 41 is used to execute the resource scheduler in the memory 42 to determine the average predicted resource utilization of the resource type in the node cluster after scheduling the workload to be scheduled to each candidate node, and to determine the target resource type of the workload to be scheduled based on the average predicted resource utilization, so as to implement the following steps: For each resource type of each candidate node, based on the first resource demand, total resource load, and first allocable resource quantity, determine the first predicted resource utilization rate of the resource type of the candidate node after scheduling the workload to be scheduled to the candidate node; For each resource type, the first average predicted resource utilization rate of the candidate nodes is determined based on the first predicted resource utilization rate of all candidate nodes and the number of nodes in the node cluster. Determine the resource type corresponding to the target average predicted resource utilization rate among multiple first average predicted resource utilization rates, and use it as the target resource type for the workload to be scheduled.

[0085] In other embodiments of this application, the processor 41 is used to execute the resource scheduler in the memory 42 to determine the load balancing metrics based on the target resource type when scheduling the workload to be scheduled to each candidate node, in order to implement the following steps: For each candidate node, obtain the resource scheduling indicators associated with the target resource type; among them, the resource scheduling indicators associated with the computing type are computing unit resources and memory resources, the resource scheduling indicators associated with the network type include computing unit resources, memory resources and network resources, and the resource scheduling indicators associated with the storage type include computing unit resources, memory resources, network resources and storage space resources. For each candidate node, load balancing metrics are determined based on resource scheduling metrics.

[0086] In other embodiments of this application, the processor 41 is used to execute the resource scheduler in the memory 42 to determine load balancing metrics based on resource scheduling metrics, in order to implement the following steps: For each candidate node, the current resource utilization rate of the candidate node's resource scheduling index is determined based on the current used resource amount of the candidate node's resource scheduling index and the second allocable resource amount of the candidate node's resource scheduling index. For each candidate node, determine the second predicted resource utilization rate of the resource scheduling metric if the workload to be scheduled is to be scheduled to the candidate node, and determine the second average resource utilization rate of the resource scheduling metric on the node cluster if the workload is scheduled after scheduling based on the current resource utilization rate, the second predicted resource utilization rate and the number of nodes in the node cluster. For each candidate node, based on the second resource requirement of the resource scheduling index of the workload to be scheduled and the second allocable resource amount of the resource scheduling index of the candidate node, determine the resource utilization increment of the resource scheduling index after scheduling. For each candidate node, a load balancing metric is determined based on the number of nodes, the current resource utilization rate, the second average resource utilization rate, and the resource utilization rate increment. The load balancing metric represents the degree of resource scheduling balance in the node cluster after scheduling the workload to be scheduled to the candidate node.

[0087] In other embodiments of this application, the processor 41 is used to execute the resource scheduler in the memory 42 to determine the second predicted resource utilization rate of the resource scheduling metric when scheduling the workload to be scheduled to a candidate node, in order to implement the following steps: For each candidate node, based on the current used resources and the second resource requirement of the scheduling workload for the resource scheduling index, the predicted resource usage if the scheduling workload is scheduled to the candidate node is determined. For each candidate node, a second predicted resource utilization rate is determined based on the predicted resource usage and the second allocable resource amount.

[0088] In other embodiments of this application, the processor 41 is used to execute the resource scheduler in the memory 42 to score each candidate node based on load balancing metrics to obtain a scoring result, thereby implementing the following steps: For each candidate node, the scoring result is determined based on the candidate node's load balancing metric, the maximum value of all candidate node load balancing metrics, the minimum value of all candidate node load balancing metrics, and the target value.

[0089] It should be noted that a detailed description of the steps performed by the processor can be found in [reference needed]. Figure 1 and Figure 2The implementation process of the resource scheduling method provided in the corresponding embodiment will not be described in detail here.

[0090] The resource scheduling device provided in this application first performs pre-selection filtering based on resource demand, available node resources, and existing load to ensure that candidate nodes have available capacity in various resources such as computing, network, and storage. Then, by predicting the average utilization rate of various resources in the cluster after scheduling, it automatically identifies the resource type most sensitive to the workload (i.e., the target resource type), enabling the scheduling strategy to focus on key resource dimensions. Subsequently, based on the scheduling indicators associated with the target resource type, it calculates the cluster load balancing degree after scheduling each candidate node, scores it accordingly, and finally selects the optimal node for binding. This solution significantly improves the targeting, global balance, and resource utilization efficiency of scheduling decisions, effectively avoids node overload and resource fragmentation, and enhances the stability and throughput performance of container clusters in diverse business scenarios.

[0091] Based on the foregoing embodiments, this application provides a computer program product, including a computer program, which implements [the following] when executed by a processor. Figure 1 and Figure 2 The steps in the resource scheduling method provided in the corresponding embodiment.

[0092] Based on the foregoing embodiments, this application provides a computer-readable storage medium storing one or more programs that can be executed by one or more processors to achieve... Figure 1 and Figure 2 The steps in the resource scheduling method provided in the corresponding embodiment.

[0093] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.

Claims

1. A resource scheduling method, characterized in that, The method includes: Obtain the workload to be scheduled through the scheduler in the container orchestration platform; Based on the first resource requirement of the workload to be scheduled for each resource type, the first allocatable resource amount of each resource type of each node in the node cluster managed by the container orchestration platform, and the total resource load on each node, multiple candidate nodes are determined from the node cluster; wherein, the resource type includes computing type, network type, and storage type. For each of the resource types, determine the average predicted resource utilization rate of the resource type in the node cluster after scheduling the workload to be scheduled to each of the candidate nodes, and determine the target resource type of the workload to be scheduled based on the average predicted resource utilization rate. Based on the target resource type, determine the load balancing index when scheduling the workload to be scheduled to each candidate node, and score each candidate node based on the load balancing index to obtain a score result. Based on the scoring results, a target node is determined from the multiple candidate nodes, and the workload to be scheduled is dispatched to the target node.

2. The method according to claim 1, characterized in that, Based on the first resource requirement of the workload to be scheduled for each resource type, the first allocatable resource amount of each resource type on each node in the node cluster managed by the container orchestration platform, and the total resource load on each node, multiple candidate nodes are determined from the node cluster, including: For each resource type of each node, the predicted resource occupancy of the node in the resource type is determined based on the first resource requirement of the workload to be scheduled for the resource type and the total resource load on the node. For each resource type of each node, if the predicted resource occupancy of the resource type is less than or equal to the first allocable resource amount of the resource type, the node is determined as the candidate node.

3. The method according to claim 1 or 2, characterized in that, The step of determining the average predicted resource utilization of the resource type in the node cluster after scheduling the workload to be scheduled to each of the candidate nodes, and determining the target resource type of the workload to be scheduled based on the average predicted resource utilization, includes: For each resource type of each candidate node, based on the first resource demand, the total resource load, and the first allocable resource quantity, a first predicted resource utilization rate of the resource type of the candidate node is determined if the workload to be scheduled is scheduled to the candidate node. For each of the resource types, a first average predicted resource utilization rate of the candidate nodes is determined based on the first predicted resource utilization rate corresponding to all the candidate nodes and the number of nodes in the node cluster. The resource type corresponding to the target average predicted resource utilization rate among the multiple first average predicted resource utilization rates is determined as the target resource type of the workload to be scheduled.

4. The method according to claim 1, characterized in that, The step of determining the load balancing metrics based on the target resource type when scheduling the workload to be scheduled to each of the candidate nodes includes: For each candidate node, a resource scheduling index associated with the target resource type is obtained; wherein, the resource scheduling index associated with the computing type is computing unit resources and memory resources, the resource scheduling index associated with the network type includes computing unit resources, memory resources and network resources, and the resource scheduling index associated with the storage type includes computing unit resources, memory resources, network resources and storage space resources; For each candidate node, the load balancing metric is determined based on the resource scheduling metric.

5. The method according to claim 4, characterized in that, Determining the load balancing metrics based on the resource scheduling metrics includes: For each candidate node, the current resource utilization rate of the candidate node's resource scheduling indicator is determined based on the current used resource amount of the candidate node's resource scheduling indicator and the second allocable resource amount of the candidate node's resource scheduling indicator. For each candidate node, a second predicted resource utilization rate of the resource scheduling metric is determined if the workload to be scheduled is scheduled to the candidate node, and based on the current resource utilization rate, the second predicted resource utilization rate and the number of nodes in the node cluster, a second average resource utilization rate of the resource scheduling metric on the node cluster is determined if the scheduling is successful. For each candidate node, based on the second resource requirement of the resource scheduling index for the workload to be scheduled and the second allocable resource amount of the resource scheduling index of the candidate node, the resource utilization increment of the resource scheduling index after scheduling is determined. For each candidate node, a load balancing metric is determined based on the number of nodes, the current resource utilization rate, the second average resource utilization rate, and the resource utilization rate increment; wherein, the load balancing metric represents the degree of resource scheduling metric utilization balance in the node cluster after scheduling the workload to be scheduled to the candidate node.

6. The method according to claim 5, characterized in that, The determination of the second predicted resource utilization rate of the resource scheduling metric when scheduling the workload to be scheduled to the candidate node includes: For each candidate node, based on the current used resources and the second resource requirement of the scheduled workload for the resource scheduling index, the predicted resource usage if the scheduled workload is scheduled to the candidate node is determined. For each candidate node, the second predicted resource utilization rate is determined based on the predicted resource usage and the second allocatable resource amount.

7. The method according to claim 1, characterized in that, The step of scoring each candidate node based on the load balancing metric to obtain a scoring result includes: For each candidate node, the scoring result is determined based on the candidate node's load balancing metric, the maximum value of the load balancing metric among all candidate nodes, the minimum value of the load balancing metric among all candidate nodes, and the target value.

8. A resource scheduling device, characterized in that, The resource scheduling device includes: Memory is used to store executable instructions or computer programs. A processor, when executing computer-executable instructions or computer programs stored in the memory, implements the method according to any one of claims 1 to 7.

9. A computer program product, comprising a computer program, characterized in that, The computer program, when executed by a processor, implements the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores one or more programs that can be executed by one or more processors to implement the method of any one of claims 1 to 7.