Resource scheduling method and device, electronic equipment and medium

By comprehensively considering multiple performance parameters to evaluate the resource status of nodes, the problem of resource bottlenecks and unbalanced utilization in Kubernetes resource scheduling is solved, and the overall performance and stability of the container cluster are improved.

CN119248413APending Publication Date: 2025-01-03CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410989357.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-23
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

The existing Kubernetes resource scheduling technology only considers some of the performance parameters of the node, such as CPU and memory, and fails to comprehensively evaluate the node's resource status, resulting in resource bottlenecks and unbalanced resource utilization.

Method used

通过综合考虑多个性能参数,如CPU、内存、磁盘IO和网络带宽,评估节点的资源满意度和活跃度,确定目标节点以实现资源调度,避免资源瓶颈,并提高整体资源利用率和负载均衡。

Benefits of technology

More accurate resource evaluation is achieved, resource bottlenecks are avoided, and the overall performance and stability of container clusters are improved, making it more reliable and efficient.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119248413A_ABST
    Figure CN119248413A_ABST
Patent Text Reader

Abstract

The invention provides a resource scheduling method and device, electronic equipment and a medium, and relates to the technical field of computers.The method comprises the steps that based on the resource utilization rate of each node in a container cluster in a first scheduling task, the resource satisfaction degree of the container cluster in the first scheduling task is determined, the resource utilization rates are resource utilization rates corresponding to different performances in the plurality of performances; determining an activeness parameter of the container cluster in the first scheduling task based on the resource satisfaction; and determining a target node for executing the first scheduling task in the container cluster based on the activeness parameter, so that multiple performance parameters and the overall resource utilization rate of all nodes in the whole container cluster are comprehensively considered in the resource scheduling process, and the resource utilization rate and the load balancing effect in the resource scheduling process are improved. And the container cluster is more stable, reliable and efficient.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a resource scheduling method, device, electronic device and medium. Background Art

[0002] With the expansion of the Internet and the rapid development of cloud computing, virtualization technology can separate the operating system from the hardware, thereby realizing on-demand allocation of physical resources. With its excellent container deployment, operation and maintenance, and management capabilities, Kubernetes has become the most widely used container orchestration tool in the industry. Kubernetes' resource scheduling technology is a key technology in cloud computing. Kubernetes' default resource scheduling algorithm has three stages: pre-selection stage, optimization stage, and selection stage. The pre-selection stage completes the initial screening of nodes. The optimization stage calculates the scores of each pre-screened node according to the optimization strategy. The selection stage selects the node with the highest score as the target node for task scheduling.

[0003] At present, most common Kubernetes resource scheduling technologies use neural networks to train and learn the mapping relationship between node resources and node selection results, thereby achieving end-to-end node selection and resource scheduling. However, the default scheduling strategy in common Kubernetes resource scheduling technologies takes too few node performance parameters into consideration, and only considers some node performance parameters (such as CPU and memory usage), without considering other common node performance parameters. At the same time, the default scheduling strategy only considers the resource utilization of a single node, and does not consider the overall resource utilization of all nodes in the entire cluster. This will cause nodes to be prone to corresponding resource bottlenecks and the inability to deploy scheduling tasks due to the exhaustion of a single resource, which will lead to problems such as uneven resource utilization within the node. Summary of the invention

[0004] The present disclosure provides a resource scheduling method, device, electronic device and medium to solve the problems in the related art. In the process of resource scheduling, it is not limited to considering only some performance parameters of the node (such as CPU and memory usage), and multiple performance parameters can be comprehensively considered. Multiple performance parameters are used as measurement indicators to more accurately evaluate the resource status of the node and avoid the problem of corresponding resource bottlenecks in the node. At the same time, in the process of resource scheduling, not only the resource utilization of a single node is paid attention to, but also the overall resource utilization of all nodes in the entire container cluster is considered. Resources can be allocated more reasonably, the overall performance of the container cluster can be improved, and the resource utilization and load balancing effect can be improved, making the container cluster more stable, reliable and efficient.

[0005] A first aspect of the present disclosure provides a resource scheduling method, comprising: determining a resource satisfaction rate of the container cluster in the first scheduling task based on the resource utilization rate of each node in the container cluster in the first scheduling task, the resource utilization rate being the resource utilization rate corresponding to different performances among multiple performances; determining an activity parameter of the container cluster in the first scheduling task based on the resource satisfaction rate; and determining a target node in the container cluster that executes the first scheduling task based on the activity parameter.

[0006] In some embodiments of the present disclosure, determining the resource satisfaction of the container cluster in the first scheduling task based on the resource utilization of each node in the container cluster in the first scheduling task includes: determining the resource utilization corresponding to each of multiple performances of each node in the first scheduling task; determining the resource balance of each node using the resource utilization corresponding to each of the multiple performances; and determining the resource satisfaction corresponding to the container cluster based on the resource balance of each node.

[0007] In some embodiments of the present disclosure, determining the resource satisfaction level corresponding to the container cluster based on the resource balance level of each node includes: determining the resource satisfaction level corresponding to the container cluster based on the resource balance level of each node, the number of all nodes in the container cluster, and the number of all scheduled tasks.

[0008] In some embodiments of the present disclosure, the resource balance of each node is determined by utilizing the resource utilization corresponding to each performance among multiple performances, including: averaging the resource utilization corresponding to each performance to determine the mean resource utilization of each node; and determining the resource balance of each node based on the difference between the resource utilization corresponding to each performance and the mean resource utilization.

[0009] In some embodiments of the present disclosure, determining a target node for executing a first scheduling task in a container cluster based on an activity parameter includes: determining a probability value of each node in the container cluster being selected in the first scheduling task based on the activity parameter; comparing the probability value of each node being selected in the first scheduling task, and selecting a node whose probability value is the first probability value as the target node.

[0010] In some embodiments of the present disclosure, based on the activity parameter, determining the probability value of each node in the container cluster being selected in the first scheduling task includes: using the activity parameter as an input parameter in a cell attractor model, and using the cell attractor model to determine the probability value of each node in the container cluster being selected in the first scheduling task.

[0011] A second aspect of the present disclosure provides a resource scheduling device, the device comprising:

[0012] A resource balance determination unit, configured to determine a resource satisfaction level of the container cluster in the first scheduling task based on a resource utilization rate of each node in the container cluster in the first scheduling task, wherein the resource utilization rate is a resource utilization rate corresponding to different performances among the multiple performances;

[0013] A parameter determination unit, configured to determine an activity parameter of the container cluster in the first scheduling task based on resource satisfaction;

[0014] The node determination unit is used to determine a target node for executing a first scheduling task in the container cluster based on an activity parameter.

[0015] The third aspect embodiment of the present disclosure proposes an electronic device, comprising: a processor and a memory for storing a computer program that can be run on the processor, wherein the processor, when used to run the computer program, executes the method described in the first aspect embodiment of the present disclosure.

[0016] The fourth aspect embodiment of the present disclosure proposes a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable a computer to execute the method described in the first aspect embodiment of the present disclosure.

[0017] The fifth aspect embodiment of the present disclosure provides a computer program product, including a computer program, which implements the method described in the first aspect embodiment of the present disclosure when executed by a processor.

[0018] In summary, according to the resource scheduling method proposed in the present disclosure, the resource satisfaction of the container cluster in the first scheduling task is determined based on the resource utilization of each node in the container cluster in the first scheduling task, and the resource utilization is the resource utilization corresponding to different performances among multiple performances; based on the resource satisfaction, the activity parameter of the container cluster in the first scheduling task is determined; based on the activity parameter, the target node that executes the first scheduling task in the container cluster is determined, so that multiple performance parameters are comprehensively considered in the process of resource scheduling, and multiple performance parameters are used as measurement indicators to more accurately evaluate the resource status of the node and avoid the problem of corresponding resource bottlenecks in the node. At the same time, considering the overall resource utilization of all nodes in the entire container cluster during resource scheduling can more reasonably allocate resources and improve the overall performance of the container cluster, thereby improving the resource utilization and load balancing effect in the resource scheduling process, making the container cluster more stable, reliable and efficient.

[0019] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.

[0021] Figure 1 A flowchart of a resource scheduling method provided by an embodiment of the present disclosure;

[0022] Figure 2 A flowchart of a resource scheduling method provided by an embodiment of the present disclosure;

[0023] Figure 3 A flowchart of a resource scheduling method provided by an embodiment of the present disclosure;

[0024] Figure 4 A schematic diagram of a specific resource scheduling method provided by an embodiment of the present disclosure;

[0025] Figure 5 A schematic diagram of the structure of a resource scheduling device provided in an embodiment of the present disclosure;

[0026] Figure 6 A schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0027] The embodiments of the present disclosure are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions.

[0028] With the expansion of the Internet and the rapid development of cloud computing, virtualization technology can separate the operating system from the hardware, thereby realizing on-demand allocation of physical resources. Container technology represented by Docker has become the first choice of major manufacturers and developers due to its high system resource utilization, flexible application deployment, fast startup speed, high portability and other advantages. In order to better manage containers, a series of container orchestration technologies and tools have emerged, such as Docker Swarm, Kubernetes, and Marathon. Among them, Kubernetes has become the most widely used container orchestration tool in the industry with its excellent container deployment, operation and maintenance, and management capabilities.

[0029] Kubernetes' resource scheduling technology is a key technology in cloud computing. An excellent resource scheduling strategy can greatly improve the overall resource utilization of the cluster. Kubernetes' resource scheduling technology has three stages: pre-selection stage, optimization stage and selection stage. The pre-selection stage completes the initial screening of nodes. The optimization stage calculates the scores of each pre-screened node according to the optimization strategy. The selection stage selects the node with the highest score as the target node for task scheduling. With the development of deep learning technology, some researchers have also applied deep learning neural networks to Kubernetes resource scheduling. The common practice of Kubernetes resource scheduling technology based on deep learning is to train the mapping relationship between learning node resources and node selection results by designing neural networks, so as to achieve end-to-end node selection and resource scheduling. However, resource scheduling technology based on deep learning requires a lot of resources when training neural networks. At the same time, the design and optimization of optimization functions are very complicated, and in many cases, the expected effect will not be achieved.

[0030] The default optimization strategy of Kubernetes is to score candidate nodes through a set of priority functions, and select the node with the largest weighted sum of scores as the target node. Although the calculation is simple, Kubernetes' resource scheduling technology only considers the resource utilization of a single node, and does not consider the overall resource utilization of all nodes in the entire cluster. At the same time, for a single node, fewer node indicators are considered, and only the CPU and memory of the node are included in the calculation, and other performance parameters are not taken into account. This may result in some nodes having low CPU and memory utilization, but other performance parameters may reach bottlenecks, resulting in uneven resource utilization within the node, and it is easy for a single resource to be exhausted, resulting in the inability to deploy the scheduling task.

[0031] The method proposed in the present disclosure can efficiently and reliably perform resource scheduling, and can be specifically applied to complex resource scheduling scenarios in the field of Internet of Things, such as cloud computing, edge computing, intelligent transportation, intelligent manufacturing, etc., which is not limited in the embodiments of the present disclosure.

[0032] The resource scheduling method provided in this application is described in detail below with reference to the accompanying drawings.

[0033] Figure 1 A flow chart of a resource scheduling method provided by an embodiment of the present disclosure. Figure 1 As shown, the resource scheduling method includes steps 101-103.

[0034] Step 101: Determine the resource satisfaction of the container cluster in the first scheduling task based on the resource utilization of each node in the container cluster in the first scheduling task, where the resource utilization is the resource utilization corresponding to different performances among multiple performances.

[0035] In an embodiment of the present disclosure, a container cluster refers to a set of nodes (Node) running containerized applications. These nodes can be physical machines, virtual machines or cloud servers, which are connected together through a network and work together to run and manage containerized applications. In a container cluster, there are usually one or more management nodes (Master Node) and multiple worker nodes (Worker Node). The management node is responsible for the management and control of the entire cluster, including the scheduling of containers, the allocation of resources, the discovery of services, etc.; while the worker node is responsible for running the actual containerized application, and allocating resources and executing tasks according to the instructions of the management node. The container cluster can specifically be a Kubernetes cluster, a DockerSwarm cluster, an Apache Mesos cluster, a Nomad cluster, etc. The present disclosure takes the container cluster as an example of a Kubernetes cluster, which has a high degree of flexibility and scalability.

[0036] The first scheduling task refers to the process of allocating a container (Pod) to a node (Node) in the cluster to run, that is, the process of resource scheduling.

[0037] Resource utilization is the degree to which different performances of each node in the server system are used, usually expressed as the percentage of the actual usage of different performances to the total available amount. In a container cluster, these performances can include CPU, memory, disk IO, network bandwidth, etc. When executing the first scheduling task, these different performances on each node will be occupied in a certain proportion, and these proportions constitute the resource utilization of each node.

[0038] Resource satisfaction characterizes the balance of resource allocation in a container cluster. In a container cluster, there are usually multiple nodes and multiple scheduling tasks. When all scheduling tasks are scheduled to the corresponding nodes and resource allocation is completed, the present disclosure can evaluate the resource balance of the entire container cluster based on the resource utilization of each node. That is, if the resource utilization of all nodes is relatively close, it means that the resource allocation of the entire system is relatively balanced; if the resource utilization of some nodes is too high or too low, it means that the resource allocation of the entire system is not balanced enough.

[0039] Step 102: Determine an activity parameter of the container cluster in the first scheduling task based on the resource satisfaction level.

[0040] In an embodiment of the present disclosure, after obtaining the resource satisfaction of the container cluster, the resource satisfaction can be substituted into the activity parameter calculation formula to calculate the activity parameter of the container cluster in the first scheduling task. The activity parameter is used to characterize the overall performance of the container cluster under the first scheduling task.

[0041] Step 103: Determine a target node for executing the first scheduling task in the container cluster based on the activity parameter.

[0042] In an embodiment of the present disclosure, after obtaining the activity parameter, the activity parameter can be used to determine the probability value of each node in the container cluster being selected in the first scheduling task, and based on the probability value, determine the target node in the container cluster for executing the first scheduling task.

[0043] In summary, according to the resource scheduling method proposed in the present disclosure, the resource satisfaction of the container cluster in the first scheduling task is determined based on the resource utilization of each node in the container cluster in the first scheduling task, and the resource utilization is the resource utilization corresponding to different performances among multiple performances; based on the resource satisfaction, the activity parameter of the container cluster in the first scheduling task is determined; based on the activity parameter, the target node that executes the first scheduling task in the container cluster is determined, so that multiple performance parameters are comprehensively considered in the process of resource scheduling, and multiple performance parameters are used as measurement indicators to more accurately evaluate the resource status of the node and avoid the problem of corresponding resource bottlenecks in the node. At the same time, considering the overall resource utilization of all nodes in the entire container cluster during resource scheduling can more reasonably allocate resources and improve the overall performance of the container cluster, thereby improving the resource utilization and load balancing effect in the resource scheduling process, making the container cluster more stable, reliable and efficient.

[0044] As a possible implementation, Figure 2 The flowchart of a resource scheduling method shown in the figure, based on the above embodiment, determines the specific process of resource satisfaction of the container cluster in the first scheduling task based on the resource utilization rate of each node in the container cluster in the first scheduling task, including the following steps:

[0045] Step 201 : determining a resource utilization rate corresponding to each performance of each node in a plurality of performances in a first scheduling task.

[0046] In the embodiments of the present disclosure, the multiple performances of each node in the present disclosure may specifically include CPU, memory, disk IO and network bandwidth. Through the data monitoring system, the resource utilization of CPU, memory, disk IO and network bandwidth corresponding to each node in the current first scheduling task, i.e., CPU utilization, memory utilization, disk IO utilization and network bandwidth utilization, can be determined respectively.

[0047] Step 202: Determine the resource balance of each node by using the resource utilization rate corresponding to each performance among the multiple performances.

[0048] In an embodiment of the present disclosure, after obtaining the resource utilization corresponding to the different performance of each node, the resource balance of each node can be determined, specifically including: averaging the resource utilization corresponding to each performance to determine the mean resource utilization of each node; and determining the resource balance of each node based on the difference between the resource utilization corresponding to each performance and the mean resource utilization.

[0049] In an optional embodiment of the present disclosure, in order to ensure that the scheduling task can make the best decision and comprehensively consider the load balancing of node resource utilization, the present disclosure can construct a node resource balance evaluation model by taking the utilization of each node's CPU, memory, disk IO and network bandwidth as decision factors, thereby calculating the node resource balance σ ij Among them, Formula 1 is the calculation formula for the mean resource utilization rate. For each node, the mean resource utilization rate E of each node is determined by averaging the resource utilization rate corresponding to each performance. ij Formula 2 is the node resource balance evaluation model. The resource balance σ of each node is determined by the difference between the resource utilization rate corresponding to each performance and the mean resource utilization rate. ij .

[0050]

[0051] in, and They represent the resource utilization of CPU, memory, disk IO and network bandwidth in node i after task j is scheduled to node i; E ij is the average overall resource utilization after task j is scheduled to node i.

[0052] Step 203: Determine the resource satisfaction level corresponding to the container cluster based on the resource balance level of each node.

[0053] In an embodiment of the present disclosure, the resource satisfaction level corresponding to the container cluster is determined based on the resource balance degree of each node, the number of all nodes in the container cluster, and the number of all scheduled tasks.

[0054] In an optional embodiment of the present disclosure, in order to further balance the overall resource utilization of the cluster nodes, the resource balance degree σ of each node in the container cluster can be used by formula 3. ij , the resource satisfaction of the container cluster is calculated, that is, the overall resource balance satisfaction G of all nodes in the container cluster σ :

[0055]

[0056] Among them, σ ijis the resource balance of each node; N is the number of scheduled tasks, that is, N scheduled tasks request cluster resources; M is the number of nodes in the container cluster, that is, there are M nodes in the container cluster.

[0057] To further balance the overall resource utilization of cluster nodes, the cell activity parameter can be obtained by mapping the overall resource balance satisfaction of cluster nodes, that is, when determining the resource satisfaction G corresponding to the container cluster σ Afterwards, the present disclosure can use Formula 4 to calculate the activity parameter α of the container cluster in the first scheduling task:

[0058]

[0059] In summary, the present disclosure not only considers the overall utilization of container cluster node resources, but also considers the resource load balancing within a single node. The node resource balance evaluation model and the overall resource balance satisfaction of cluster nodes are designed to help avoid the situation where some node resources are overloaded while other node resources are idle, thereby improving the overall resource utilization and load balancing effect.

[0060] As a possible implementation, Figure 3 The flowchart of a resource scheduling method shown in the figure, based on the above embodiment, determines the specific process of the target node for executing the first scheduling task in the container cluster based on the activity parameter, including the following steps:

[0061] Step 301: Determine the probability value of each node in the container cluster being selected in the first scheduling task based on the activity parameter.

[0062] In an embodiment of the present disclosure, the present disclosure may regard all nodes in the container cluster as a cell as a whole, establish a cell attractor model, use the activity parameter as an input parameter in the cell attractor model, and use the cell attractor model to determine the probability value of each node in the container cluster being selected in the first scheduling task.

[0063] In an optional embodiment of the present disclosure, the cell attractor model of the present disclosure is shown in Formula 5:

[0064]

[0065] Among them, 1≤i≤M, 1≤j≤N, m ij It is the state variable that reflects the selection of node i by the jth scheduling task, and represents the possibility of selecting access node i. kj =max{m 1j ,m 2j ,...,m Mj}, where m kjIt changes dynamically with the access scale and system resource allocation. α is the activity parameter (cell activity parameter) corresponding to the cell activity A. A represents the pros and cons of the current node access scheme. Specifically, it represents the overall performance of the container cluster in the resource scheduling scenario where the entire container cluster is regarded as a cell system. It changes with the allocation of internal resources in the system and the access scale of the external scheduling task request of the system. n ij is Gaussian white noise, representing the scale change of cluster external resource allocation request tasks.

[0066] S(α) and D(α) are defined as: Among them, β is a positive real constant and γ is a positive integer.

[0067] In the present disclosure, the activity parameter α is used as feedback information of the entire cluster node system to drive the cell attractor system to stabilize and solve the equilibrium solution of formula (1). Specifically, driven by the cell attractor system, the system can search for a suitable selection scheme to maximize the system activity and temporarily stabilize the system. At this time, the noise in formula 5 can be ignored for the change in the overall state of the container cluster. The calculated activity parameter α is substituted into the nonlinear differential equation of the above equilibrium state, and the real-time state variable solution (mi, 1≤i≤M) is obtained. The probability of scheduling task j to node i is further obtained, that is, the probability value of each node being selected in the first scheduling task.

[0068] Step 302 , comparing the probability values ​​of each node being selected in the first scheduling task, and taking the node whose probability value is the first probability value as the target node.

[0069] In an embodiment of the present disclosure, the present disclosure can obtain the state vector of each node in the first scheduling task through the cell attractor model, and obtain the probability value of each node being selected according to the state vector, and by comparing the probability value of each node being selected, the node with the first probability value is used as the target node. The first probability value refers to the probability value with the largest probability value after the probability value size comparison.

[0070] In an optional embodiment of the present disclosure, after obtaining the probability value of each node being selected in the first scheduling task, the present disclosure can obtain the node with the largest probability value according to Formula 6, and use the node with the largest probability value as the target node. The largest probability value is actually the largest state variable:

[0071]

[0072] Among them, 1≤i≤M, is the target node. ij It is the state variable for selecting node i for the jth scheduling task, that is, the probability value of selecting node i for the jth scheduling task.

[0073] It should be noted that because the nodes in the container cluster are constantly allocating resources to the scheduling tasks assigned to them, the performance of each node in the container cluster is changing dynamically. At the same time, the scale of scheduling task requests outside the container cluster is also changing dynamically. The changes in both will affect the overall performance of the container cluster (represented by the cell activity A). Therefore, driven by the activity parameter, the overall performance (activity) of the container cluster system (i.e., the cell system) will tend to the maximum and reach a steady state. Only in the steady state can the corresponding state variables be obtained and the best target node can be found.

[0074] In summary, the resource scheduling method disclosed in this disclosure, based on the process and characteristics of container cluster task scheduling, proposes to apply the cell attractor model to the container cluster task scheduling scenario. By modeling the scheduling tasks and cluster node performance parameters, the cluster system tends to a steady state, thereby achieving adaptive selection of target nodes.

[0075] based on Figures 1 to 3 In the embodiment shown, the present disclosure provides a schematic diagram of a specific resource scheduling method, such as Figure 4 shown.

[0076] In the embodiment of the present disclosure, while considering the performance of some nodes, that is, the node CPU and memory usage, disk IO and network bandwidth are also added as measurement indicators to calculate the resource balance of each node under the first scheduling task. And according to the resource balance of all nodes in the container cluster, the number of all nodes and the number of all scheduling tasks, the resource satisfaction of the container cluster is calculated, and the activity parameter of the container cluster is obtained through the resource satisfaction mapping, so as to determine the target node corresponding to the first scheduling task according to the activity parameter and in combination with the cell attractor model, so as to use the target node to execute the first scheduling task.

[0077] In summary, the present invention regards the entire container cluster as a cell system and uses the cell attractor model to achieve adaptive selection of target nodes. At the same time, by designing a node resource balance evaluation model and the overall resource balance satisfaction of the cluster, the system task scheduling is dynamically regulated to achieve load balancing of resources within the node and improvement of the overall resource utilization of the cluster nodes.

[0078] Corresponding to the methods provided in the above-mentioned embodiments, the present disclosure also provides a resource scheduling device. Since the device provided in the embodiment of the present disclosure corresponds to the methods provided in the above-mentioned embodiments, the implementation method of the method is also applicable to the device provided in this embodiment and will not be described in detail in this embodiment.

[0079] Figure 5 FIG. 5 is a schematic diagram of a resource scheduling device 500 provided in an embodiment of the present disclosure. Figure 5 As shown, the resource scheduling device includes:

[0080] A resource balance determination unit 510 is used to determine a resource satisfaction level of the container cluster in the first scheduling task based on a resource utilization rate of each node in the container cluster in the first scheduling task, where the resource utilization rate is a resource utilization rate corresponding to different performances among the multiple performances;

[0081] A parameter determination unit 520, configured to determine an activity parameter of the container cluster in the first scheduling task based on resource satisfaction;

[0082] The node determination unit 530 is configured to determine a target node for executing the first scheduling task in the container cluster based on the activity parameter.

[0083] In some embodiments of the present disclosure, the resource balance determination unit 510 is used to: determine the resource utilization corresponding to each of the multiple performances of each node in the first scheduling task; determine the resource balance of each node using the resource utilization corresponding to each of the multiple performances; and determine the resource satisfaction corresponding to the container cluster based on the resource balance of each node.

[0084] In some embodiments of the present disclosure, the resource balance determination unit 510 is used to determine the resource satisfaction degree corresponding to the container cluster based on the resource balance degree of each node, the number of all nodes in the container cluster, and the number of all scheduled tasks.

[0085] In some embodiments of the present disclosure, the resource balance determination unit 510 is used to: average the resource utilization corresponding to each performance to determine the mean resource utilization of each node; and determine the resource balance of each node based on the difference between the resource utilization corresponding to each performance and the mean resource utilization.

[0086] In some embodiments of the present disclosure, the node determination unit 530 is used to: determine the probability value of each node in the container cluster being selected in the first scheduling task based on the activity parameter; compare the size of the probability value of each node being selected in the first scheduling task, and select the node with the first probability value as the target node.

[0087] In some embodiments of the present disclosure, the node determination unit 530 is used to: use the activity parameter as an input parameter in the cell attractor model, and use the cell attractor model to determine the probability value of each node in the container cluster being selected in the first scheduling task.

[0088] In summary, through the resource scheduling device, based on the resource utilization rate of each node in the container cluster in the first scheduling task, the resource satisfaction rate of the container cluster in the first scheduling task is determined, and the resource utilization rate is the resource utilization rate corresponding to different performances in multiple performances; based on the resource satisfaction rate, the activity parameter of the container cluster in the first scheduling task is determined; based on the activity parameter, the target node that executes the first scheduling task in the container cluster is determined, so as to comprehensively consider multiple performance parameters in the process of resource scheduling, use multiple performance parameters as measurement indicators, more accurately evaluate the resource status of the node, and avoid the problem of corresponding resource bottlenecks in the node. At the same time, considering the overall resource utilization rate of all nodes in the entire container cluster during the resource scheduling process can allocate resources more reasonably and improve the overall performance of the container cluster, thereby improving the resource utilization rate and load balancing effect in the resource scheduling process, making the container cluster more stable, reliable and efficient.

[0089] In the embodiments provided in the present application, the methods and devices provided in the embodiments of the present application are introduced. In order to implement the functions in the methods provided in the embodiments of the present application, the electronic device may include a hardware structure and a software module, and implement the functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. A function of the functions may be executed in the form of a hardware structure, a software module, or a hardware structure plus a software module.

[0090] Figure 6 1 is a block diagram of an electronic device 600 for implementing the resource scheduling method according to an exemplary embodiment. For example, the electronic device 600 may be a mobile phone, a computer, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0091] Reference Figure 6 The electronic device 600 may include a communication interface 601, which can interact with other devices; a processor 602, which is connected to the communication interface 601 to interact with other devices and is used to execute the method provided by one or more of the above technical solutions when running a computer program; and a memory 603, on which the computer program is stored. Specifically, the specific processing process of the processor 602 can refer to the resource scheduling method described in the above embodiment of the present disclosure.

[0092] Of course, in actual application, the various components in the electronic device 600 are coupled together through the bus system 604. It can be understood that the bus system 604 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 604 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Figure 6 Various buses are labeled as bus system 604 .

[0093] The memory 603 in the embodiment of the present application is used to store various types of data to support the operation of the electronic device 600. Examples of such data include: any computer program used to operate on the electronic device 600.

[0094] The method disclosed in the above embodiment of the present application can be applied to the processor 602, or implemented by the processor 602. The processor 602 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the processor 602. The above processor 602 may be a general processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The processor 602 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general processor may be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in the memory 603, and the processor 602 reads the information in the memory 603 and completes the steps of the above method in combination with its hardware.

[0095] In an exemplary embodiment, the electronic device 600 can be implemented by one or more application specific integrated circuits (ASIC), DSP, programmable logic device (PLD), complex programmable logic device (CPLD), field programmable gate array (FPGA), general processor, controller, microcontroller (MCU), microprocessor, or other electronic components to execute the aforementioned method.

[0096] The embodiments of the present disclosure further provide a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable a computer to execute the resource scheduling method described in the above embodiments of the present disclosure.

[0097] An embodiment of the present disclosure further provides a computer program product, including a computer program, which executes the resource scheduling method described in the above embodiment of the present disclosure when a processor executes the computer program.

[0098] An embodiment of the present disclosure also proposes a chip, which includes one or more interface circuits and one or more processors; the interface circuit is used to receive signals from a memory of an electronic device and send signals to the processor, the signals include computer instructions stored in the memory, and when the processor executes the computer instructions, the electronic device executes the resource scheduling method described in the above embodiments of the present disclosure.

[0099] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0100] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples" or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiments or examples are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.

[0101] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present invention includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present invention belong.

[0102] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processing module, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (control method), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or otherwise processing in a suitable manner if necessary, and then stored in a computer memory.

[0103] It should be understood that the various parts of the embodiments of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0104] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.

[0105] In addition, each functional unit in each embodiment of the present invention may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium. The above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0106] Although the embodiments of the present invention have been shown and described above, it is to be understood that the above embodiments are exemplary and are not to be construed as limitations of the present invention. A person skilled in the art may make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.

Claims

1. A resource scheduling method, characterized in that: The method comprises: Determine a resource satisfaction level of the container cluster in the first scheduling task based on a resource utilization rate of each node in the container cluster in the first scheduling task, where the resource utilization rate is a resource utilization rate corresponding to different performances among a plurality of performances; Based on the resource satisfaction level, determining an activity parameter of the container cluster in the first scheduling task; Based on the activity parameter, a target node for executing the first scheduling task in the container cluster is determined.

2. The method according to claim 1, characterized in that The determining, based on the resource utilization rate of each node in the container cluster in the first scheduling task, of the resource satisfaction level of the container cluster in the first scheduling task includes: Determine a resource utilization rate corresponding to each performance of each node in a plurality of performances in the first scheduling task; Determine the resource balance of each node by using the resource utilization rate corresponding to each performance among the multiple performances; Based on the resource balance degree of each node, a resource satisfaction degree corresponding to the container cluster is determined.

3. The method according to claim 2, characterized in that The determining, based on the resource balance degree of each node, the resource satisfaction degree corresponding to the container cluster includes: The resource satisfaction degree corresponding to the container cluster is determined based on the resource balance degree of each node, the number of all nodes in the container cluster, and the number of all scheduled tasks.

4. The method according to claim 2, characterized in that: Determining the resource balance of each node by using the resource utilization rate corresponding to each performance among the multiple performances includes: Averaging the resource utilization rates corresponding to each performance to determine the mean resource utilization rate of each node; The resource balance degree of each node is determined based on the difference between the resource utilization rate corresponding to each performance and the resource utilization rate average.

5. The method according to claim 1, characterized in that The determining, based on the activity parameter, a target node in the container cluster for executing the first scheduling task includes: Based on the activity parameter, determining a probability value of each node in the container cluster being selected in the first scheduling task; The probability values ​​of each node being selected in the first scheduling task are compared, and the node whose selected probability value is the first probability value is taken as the target node.

6. The method according to claim 5, characterized in that The determining, based on the activity parameter, a probability value of each node in the container cluster being selected in the first scheduling task includes: The activity parameter is used as an input parameter in a cell attractor model, and the cell attractor model is used to determine a probability value of each node in the container cluster being selected in the first scheduling task.

7. A resource scheduling device, characterized in that: The device comprises: A resource balance determination unit, configured to determine a resource satisfaction level of the container cluster in the first scheduling task based on a resource utilization rate of each node in the container cluster in the first scheduling task, wherein the resource utilization rate is a resource utilization rate corresponding to different performances among a plurality of performances; a parameter determination unit, configured to determine an activity parameter of the container cluster in the first scheduling task based on the resource satisfaction level; A node determination unit is used to determine a target node in the container cluster that executes the first scheduling task based on the activity parameter.

8. An electronic device, characterized in that: include: a processor and a memory for storing a computer program capable of being executed on the processor, Wherein, when the processor is used to run the computer program, it executes the method described in any one of claims 1 to 6.

9. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 6.

10. A computer program product, characterized in that A computer program is included which, when executed by a processor, implements the method according to any one of claims 1 to 6.