Task scheduling method, system and device based on cloud computing and storage medium
By initializing task priorities and dynamically adjusting scheduling strategies in the cloud computing environment, combining machine learning and reinforcement learning to optimize task allocation, the problem of inefficient task scheduling in cloud computing is solved, and efficient resource utilization and rapid response are achieved.
Patent Information
- Application Number
- CN202510556979.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-29
- Publication Date
- 2025-08-15
AI Technical Summary
The existing cloud computing task scheduling methods cannot flexibly respond to multitasking, high concurrency and dynamic resource changes, resulting in inefficient task execution, waste of resources and degradation of system performance, especially in multi-tenant, multi-tasking and large-scale distributed computing scenarios.
By initializing task priority based on task resource requirements, type and timeliness requirements, determining scheduling strategies based on task metadata and computing resource information, and obtaining load fluctuations and task demand changes information in real time, dynamically adjusting task scheduling strategies, and using machine learning and reinforcement learning to optimize task allocation and resource utilization.
It improves task execution efficiency and system resource utilization, ensures timely processing of high-priority tasks, reduces resource waste, and improves the flexibility and response speed of the cloud computing platform.
Smart Images

Figure CN120492108A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a task scheduling method, system, device, and storage medium based on cloud computing. Background Art
[0002] With the widespread adoption and growth of cloud computing technology, cloud computing platforms have become the core infrastructure for processing large-scale data and tasks. In cloud computing environments, task scheduling is a key factor in ensuring efficient resource utilization and improving system performance. As the scale of cloud computing services continues to expand, the complexity of task scheduling also increases, especially in multi-tenant, multi-task, and large-scale distributed computing scenarios.
[0003] Currently, task scheduling methods in cloud computing are primarily categorized into static and dynamic scheduling. Static scheduling methods typically allocate resources based on fixed rules, while dynamic scheduling methods rely on real-time load monitoring to adjust allocation strategies. However, these methods often struggle to cope with complex resource fluctuations and changes in task resource requirements, and are unable to adaptively adjust task scheduling and allocation during execution, resulting in inefficient task execution and wasted system resources. Summary of the Invention
[0004] The main purpose of the embodiments of the present application is to propose a task scheduling method, system, device and storage medium based on cloud computing, aiming to improve task execution efficiency and system resource utilization.
[0005] To achieve the above objectives, an embodiment of the present application provides a method for scheduling tasks based on cloud computing, including the following steps:
[0006] Initialize task priorities based on task resource requirements, task types, and task timeliness requirements;
[0007] Determine a task scheduling strategy based on task metadata and computing resource information, wherein the task metadata includes task priority and task resource requirements, and the task scheduling strategy is used to characterize the task scheduling order and task allocation objects;
[0008] Perform task scheduling according to the task scheduling strategy and obtain load fluctuation information and task demand change information of each computing node;
[0009] The task scheduling strategy is adjusted according to the load fluctuation information and the task demand change information, and the step of scheduling tasks according to the task scheduling strategy is repeated.
[0010] In some embodiments, the task metadata further includes task timeliness requirements, the computing resource information includes computing node characteristics and computing node load conditions, and determining the task scheduling strategy based on the task metadata and computing resource information includes the following steps:
[0011] Determining the matching degree between the task and the computing node according to the computing node characteristics, the task resource requirements and the task timeliness requirements;
[0012] Determine the task allocation object according to the matching degree and the load of the computing node;
[0013] A task scheduling strategy is determined according to the task priority and the task allocation object.
[0014] In some embodiments, determining the task allocation object according to the matching degree and the computing node load includes the following steps:
[0015] Selecting computing nodes whose matching degree with the task is greater than a first expected threshold to determine an object set;
[0016] The resource usage ratio of each computing node in the object set is determined according to the computing node load, and the computing nodes in the object set whose resource usage ratio is less than a second expected threshold are determined as task allocation objects.
[0017] In some embodiments, the cloud computing-based task scheduling method further includes the following steps:
[0018] Monitoring the execution of tasks in computing nodes, and determining whether the computing nodes meet the resource requirements of the unexecuted portions of the tasks based on the execution status;
[0019] When the computing node cannot meet the resource demand of the unexecuted part of the task, resource expansion is performed on the computing node or collaborative scheduling is performed on the unexecuted part of the task.
[0020] In some embodiments, the step of obtaining load fluctuation information and task demand change information of each computing node includes the following steps:
[0021] Collect historical task execution status, node load data, and resource consumption data;
[0022] The task execution status, the node load data and the resource consumption data are input into a prediction model trained based on a machine learning algorithm to obtain task demand change information and load fluctuation information of each computing node.
[0023] In some embodiments, adjusting the task scheduling strategy according to the load fluctuation information and the task demand change information includes the following steps:
[0024] Determining an adjustment strategy based on the load fluctuation information and the task demand change information according to a preset optimization goal, wherein the optimization goal includes at least one of reducing task completion time, improving resource utilization, or reducing computing node response time;
[0025] The task scheduling strategy is adjusted according to the adjustment strategy.
[0026] In some embodiments, the cloud computing-based task scheduling method further includes the following steps:
[0027] Obtain the expected completion time of the real-time task and the running status of the assigned computing node;
[0028] Determining a predicted completion time of the real-time task based on the operating status and the task resource requirements of the real-time task;
[0029] When the predicted completion time exceeds the expected completion time limit, a targeted adjustment operation is performed on the real-time task, and the targeted adjustment operation includes at least one of increasing the priority of the real-time task and reallocating the computing node of the real-time task.
[0030] To achieve the above objectives, another aspect of the present application provides a cloud computing-based task scheduling system, including:
[0031] The first module is used to initialize the task priority according to the task resource requirements, task type and task timeliness requirements;
[0032] The second module is used to determine a task scheduling strategy based on task metadata and computing resource information, wherein the task metadata includes task priority and task resource requirements, and the task scheduling strategy is used to characterize the task scheduling order and task allocation objects;
[0033] The third module is used to schedule tasks according to the task scheduling strategy and obtain load fluctuation information and task demand change information of each computing node;
[0034] The fourth module is used to adjust the task scheduling strategy according to the load fluctuation information and the task demand change information, and repeatedly execute the step of scheduling tasks according to the task scheduling strategy.
[0035] To achieve the above-mentioned purpose, another aspect of an embodiment of the present application proposes an electronic device, which includes a memory, a processor, a program stored on the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory. When the program is executed by the processor, the method described in the above embodiment is implemented.
[0036] To achieve the above-mentioned purpose, another aspect of an embodiment of the present application proposes a storage medium, which is a computer-readable storage medium used for computer-readable storage. The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the method described in the above embodiment.
[0037] The cloud computing-based task scheduling method, system, device and storage medium proposed in the present application first initialize the task priority according to the task resource requirement, task type and task time requirement, determine the task scheduling strategy according to the task metadata and computing resource information, the task metadata includes the task priority and task resource requirement, and the task scheduling strategy is used to characterize the task scheduling order and task allocation object, then perform task scheduling according to the task scheduling strategy, and obtain the load fluctuation information and task demand change information of each computing node, adjust the task scheduling strategy according to the load fluctuation information and task demand change information, and repeat the steps of scheduling tasks according to the task scheduling strategy, so as to realize adaptive adjustment of task scheduling and allocation based on load changes and task demand changes during the task execution process, thereby improving task execution efficiency and system resource utilization. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] Figure 1 This is a flowchart of a cloud computing-based task scheduling method provided by an embodiment of the present application;
[0039] Figure 2 yes Figure 1 Flowchart of step S102 in FIG.
[0040] Figure 3 yes Figure 2 Flowchart of step S202 in FIG.
[0041] Figure 4 is a flowchart of a cloud computing-based task scheduling method provided by another embodiment of the present application;
[0042] Figure 5 yes Figure 1 Flowchart of step S103 in FIG.
[0043] Figure 6 yes Figure 1 Flowchart of step S104 in FIG.
[0044] Figure 7 is a flowchart of a cloud computing-based task scheduling method provided by another embodiment of the present application;
[0045] Figure 8 This is a schematic diagram of a task scheduling system based on cloud computing provided by an embodiment of the present application;
[0046] Figure 9 Schematic diagram of the hardware structure of the electronic device provided in the embodiment of the present application;
[0047] Figure 10 This is a schematic diagram of the priority initialization calculation concept provided by an embodiment of the present application;
[0048] Figure 11 This is an overall flowchart of task scheduling provided by an embodiment of the present application;
[0049] Figure 12 This is a schematic diagram of resource allocation optimization based on resource load monitoring provided by an embodiment of the present application;
[0050] Figure 13 This is a schematic diagram of a real-time dynamic task scheduling strategy optimization process based on machine learning provided by an embodiment of the present application;
[0051] Figure 14 This is a schematic diagram of the optimization process of the global task scheduling strategy provided in an embodiment of the present application. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0053] It should be noted that although the system is divided into functional modules and the flowcharts illustrate a logical sequence, in some cases, the steps shown or described may be performed in a different order than the module division in the system or the order in the flowcharts. The terms "first," "second," and so on in the specification, claims, and drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or precedence.
[0054] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application pertains. The terms used herein are for the purpose of describing the embodiments of this application only and are not intended to limit this application.
[0055] First, let’s analyze some of the terms used in this application:
[0056] Cloud computing is an Internet-based computing method that provides computing, storage, network and other resources through virtualization technology, and provides users with efficient and flexible computing services on a pay-as-you-go basis.
[0057] Machine Learning (ML) is an artificial intelligence technology that uses data to analyze and implement relevant task requirements, such as predicting task resource requirements and optimizing task scheduling.
[0058] Reinforcement learning (RL) is a machine learning method based on trial-and-error exploration and reward-feedback mechanism, which enables the system to autonomously optimize the model to adapt to the dynamic computing environment.
[0059] Load Balancing: Load balancing is a cloud computing node management technology that monitors the usage of computing nodes in real time and distributes computing tasks to different computing nodes to avoid overloading of certain nodes and improve system stability.
[0060] Task Priority: Task priority is a parameter used to determine the order in which tasks are scheduled. Usually, tasks with higher priorities are scheduled earlier, allowing them to be executed faster.
[0061] Cross-Platform Scheduling: Cross-platform scheduling refers to allocating tasks between different computing platforms (such as CPU, GPU, FPGA, and edge computing) to fully utilize heterogeneous computing nodes and optimize overall computing efficiency.
[0062] Real-time tasks refer to computing tasks with strict time requirements, such as financial transactions, video stream processing, user interaction tasks, etc., which need to be completed in a very short time.
[0063] Resource Pool: A resource pool refers to the collection of all available computing nodes in a cloud computing environment, including computing, storage, bandwidth, etc., to support global optimization and dynamic allocation of task scheduling.
[0064] Task Migration,Task migration refers to the transfer of tasks from one computing node to another when system resources are limited or overloaded, in order to optimize resource utilization and reduce execution delays.
[0065] With the widespread adoption and growth of cloud computing technology, cloud computing platforms have become the core infrastructure for processing large-scale data and tasks. In cloud computing environments, task scheduling is a key factor in ensuring efficient resource utilization and improving system performance. As the scale of cloud computing services continues to expand, the complexity of task scheduling also increases, especially in multi-tenant, multi-task, and large-scale distributed computing scenarios.
[0066] Currently, task scheduling methods in cloud computing are mainly divided into two categories: static scheduling and dynamic scheduling. Static scheduling methods usually allocate resources according to fixed rules, while dynamic scheduling methods rely on real-time load monitoring. However, these methods often lack the flexibility to cope with the complexities of multi-tasking, high concurrency, and dynamic resource changes.
[0067] Related cloud computing task scheduling methods generally rely on static priority assignment rules or simple task type classifications (e.g., user interaction tasks, background computing tasks, etc.). These methods often fail to fully consider the specific resource requirements, timeliness requirements, and interactions between tasks. For example, traditional scheduling methods often use the same priority assignment rules for both compute-intensive and memory-intensive tasks. This "one-size-fits-all" strategy cannot adapt to real-time changes or specific needs of tasks, resulting in inefficient task scheduling. In high-load or high-concurrency scenarios, static task priority assignment may cause low-priority tasks to be delayed or even wait for a long time, seriously affecting the overall system performance and user experience. Furthermore, related technologies generally fail to fully consider the dynamic characteristics of tasks. For example, some tasks may suddenly increase their demand for computing resources during execution or experience delayed responses due to network congestion. Traditional scheduling methods lack a response mechanism to these dynamic changes, which not only limits the rational utilization of resources but also prevents high-priority tasks from obtaining sufficient resources when the load is too high, thereby increasing task latency and system response time.
[0068] Most task scheduling methods in related technologies are optimized for a single platform (e.g., relying solely on CPU computing resources) and lack effective scheduling for multiple computing platforms (such as GPUs, FPGAs, and edge computing). In a multi-platform cloud computing environment, each platform has different computing capabilities, resource requirements, and task processing efficiency. Therefore, if the scheduling system fails to fully utilize the advantages of different platforms, it may lead to resource waste or computing task delays. Related scheduling methods are generally unable to uniformly schedule resources across multiple computing platforms. Tasks are often fixedly assigned to a certain type of computing platform, thus limiting the performance and flexibility of cloud computing systems. For example, when GPU-intensive tasks and edge computing tasks are performed simultaneously, traditional scheduling methods may fail to reasonably allocate tasks based on the computing characteristics and resource requirements of the platforms, resulting in resource overload on some platforms and underutilization of resources on other platforms. Furthermore, due to the lack of integration in resource scheduling between different platforms, the system cannot achieve cross-platform load balancing, significantly reducing the resource utilization and task processing efficiency of the cloud computing platform.
[0069] The load in a cloud computing environment is often dynamic, especially during periods of high concurrency or peak load, when the number of tasks and resource requirements may experience sudden surges. Most scheduling methods in related technologies use static or preset scheduling strategies, which are difficult to cope with rapid changes in load. For example, during peak load, the system may not be able to make timely adjustments, resulting in uneven resource allocation, with some nodes being overloaded while others are idle or operating inefficiently, seriously affecting the performance and response speed of the system. In addition, adjustments in scheduling methods in related technologies are usually based on preset load monitoring data or static load thresholds, and do not dynamically respond to real-time resource consumption and task requirements. In the case of large load fluctuations, static scheduling strategies may result in long waiting times for tasks or waste of resources. The inability to adjust scheduling strategies in real time means that cloud computing systems often cannot respond quickly when faced with sudden load fluctuations, resulting in delayed task processing and reduced overall system efficiency.
[0070] In cloud computing environments, many tasks, especially high-real-time tasks (such as user interaction, financial transactions, and video streaming processing), must be completed within strict time limits. Prioritized task scheduling methods, particularly those based on static priorities or simple load monitoring, often fail to meet the response time requirements of these tasks. Due to the slow response speed of the scheduling mechanism itself or untimely task priority adjustments, these high-real-time tasks cannot be completed within the specified timeframe. Especially under high concurrency or heavy loads, the efficiency of real-time task scheduling further decreases, significantly increasing task waiting times and significantly impacting the system's real-time processing capabilities. Delayed responses and uneven resource allocation in traditional methods prevent high-priority tasks from being processed promptly, leading to significant task delays and resource waste. Prioritized scheduling responses for real-time tasks in prioritizing these tasks are insufficiently agile, failing to effectively improve task scheduling response speeds, further limiting the efficiency and reliability of cloud computing platforms.
[0071] Based on this, the embodiments of the present application provide a cloud computing-based task scheduling method, system, device and storage medium, aiming to improve task execution efficiency and system resource utilization.
[0072] The cloud computing-based task scheduling method, system, device and storage medium provided in the embodiments of the present application are specifically illustrated through the following embodiments. First, the cloud computing-based task scheduling method in the embodiments of the present application is described.
[0073] The cloud computing-based task scheduling method provided in the embodiment of the present application relates to the field of computer technology. The cloud computing-based task scheduling method provided in the embodiment of the present application can be applied to a terminal or to a server. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, etc.; the server can be configured as an independent physical server, or as a server cluster or distributed system composed of multiple physical servers, or as a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
[0074] The present application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. The present application can also be practiced in distributed computing environments in which tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media, including storage devices.
[0075] Figure 1 This is an optional flowchart of the cloud computing-based task scheduling method provided in an embodiment of the present application. Figure 1 The method may include but is not limited to steps S101 to S104.
[0076] Step S101, initializing task priority according to task resource requirements, task type and task timeliness requirements;
[0077] Step S102: determining a task scheduling strategy based on the task metadata and computing resource information, wherein the task metadata includes task priority and task resource requirements, and the task scheduling strategy is used to characterize the task scheduling order and task allocation objects;
[0078] Step S103: perform task scheduling according to the task scheduling strategy, and obtain load fluctuation information and task demand change information of each computing node;
[0079] Step S104 , adjusting the task scheduling strategy according to the load fluctuation information and the task demand change information, and repeating the step of scheduling tasks according to the task scheduling strategy.
[0080] In step S101 of some embodiments, the task resource requirement refers to the resource requirement required to complete the task, including but not limited to computing requirements, storage requirements, bandwidth requirements, memory requirements, etc. The task type can be defined by classification labels based on the characteristics of the computing nodes in the resource pool. For example, the task type can be a user interaction task, a background computing task, a periodic task, etc., and can also be divided into real-time tasks or non-real-time tasks based on the urgency of the task. The task timeliness requirement refers to the timeliness requirement for completing the task, which is used to characterize the urgency of the task. Please refer to the task in Figure 10The schematic diagram of the priority initialization calculation concept shown in the figure shows that the embodiment of the present application can combine multiple factors such as user needs, resource requirements, and timeliness to perform priority evaluation and calculation. Specifically, after receiving the task, the task priority is initialized according to the task resource requirements, task type and task timeliness requirements. The priority calculation formula includes the task type weight item, the resource requirement weight item and the task timeliness item. The value of the task type weight item is determined based on the task type. For example, the value of the task type weight item of a real-time task is greater than that of a non-real-time task; the value of the resource requirement weight item is determined based on the task resource requirement. The more resources (such as computing, storage and other resources) required for the task, the greater the value of the resource requirement weight item and the higher the priority; the value of the task timeliness item is determined according to the task timeliness requirement. The higher the task timeliness requirement, that is, the faster the task is required to be completed, the higher the value of the task timeliness item and the higher the priority. The embodiment of the present application initializes the task priority in combination with the task resource requirement, task type and task timeliness requirements, which can improve the response speed of real-time tasks, and give priority to scheduling complex tasks, thereby improving task execution efficiency.
[0081] In step S102 of some embodiments, task metadata refers to various characteristics of the task, which may include but are not limited to task priority, task resource requirements, and task timeliness requirements. Computing resource information refers to the available resource information of various computing nodes. Various computing nodes can refer to different computing platforms or processing units within the same platform. Computing resource information may include but is not limited to computing node characteristics and computing node load conditions. Computing node characteristics refer to the performance characteristics of computing nodes, such as storage nodes, computing nodes, or interactive nodes capable of receiving a large number of requests. The task scheduling strategy is used to characterize the task scheduling order and task assignment targets. The task scheduling order refers to the order in which tasks are issued at the distribution end and the order in which they are executed in the computing nodes. The task scheduling order is determined based on the task priority, and the task assignment target refers to the computing node suitable for processing the task. This embodiment can use a load balancing algorithm (such as weighted round-robin, shortest task first, optimal resource allocation, etc.) to reasonably allocate tasks to each platform node based on task metadata and computing resource information. The load balancing algorithm considers the current load of each platform, the priority of the task, and the required resources to ensure balanced task scheduling. Furthermore, embodiments of the present application can also evaluate the complexity, resource usage, and timeliness of each task based on task metadata. This process is not only a classification of task types, but also an accurate measurement of the actual requirements of the task in a specific computing environment. For example, for a task that requires a large amount of storage space and high bandwidth, the task analysis module will evaluate its requirements for network and disk I / O, and consider the availability of current system resources to predict bottlenecks that may be encountered during the execution of the task. The task scheduling strategy is further determined in combination with the evaluation information.
[0082] In steps S103 and S104 of some embodiments, after performing task scheduling according to the task scheduling strategy to send the task to the corresponding computing node for execution, the system can obtain the load fluctuation information and task demand change information of each computing node in real time. The load fluctuation information and task demand change information of each computing node can be directly obtained based on the summary of monitoring information of each computing node, and can be further combined with a prediction model based on machine learning to predict the monitoring information of the computing node. By predicting the load fluctuation information and task demand change information in advance, the task scheduling strategy can be adjusted in a timely manner based on the load fluctuation information and task demand change information, and then the new task scheduling strategy can be used to schedule tasks, so that the priority and computing node allocation can be flexibly adjusted according to the changes in task demand, thereby improving task execution efficiency and reducing resource waste.
[0083] See also Figure 2 In some embodiments, step S102 may include but is not limited to steps S201 to S203:
[0084] Step S201, determining the matching degree between the task and the computing node based on the computing node characteristics, task resource requirements and task timeliness requirements;
[0085] Step S202: determining the task assignment object based on the matching degree and the computing node load;
[0086] Step S203: determining a task scheduling strategy based on the task priority and the task assignment object.
[0087] In this embodiment, the following factors are considered when selecting a node to execute a task:
[0088] Load situation: The system will analyze the current load situation of each platform and select computing platforms with lower resource utilization to allocate tasks to avoid resource overload.
[0089] Resource requirement matching: Tasks are assigned to the most appropriate computing platform based on their computing and storage requirements. For example, if a task requires high parallel computing, the system prioritizes a GPU platform; if a task requires high real-time performance, an edge computing platform may be a better choice.
[0090] Time limit matching: For low-latency tasks, edge computing platforms may be given priority because they have lower network transmission latency and are more suitable for real-time data processing.
[0091] The overall matching degree between tasks and compute nodes is determined by combining resource demand matching and time limit matching. Based on this matching degree and the load of the compute nodes, compute nodes with lower loads and matching requirements are selected as task assignment targets. The task scheduling strategy is further determined based on the task priority. The task scheduling strategy determines when to schedule tasks and to whom they are assigned.
[0092] See also Figure 3 In some embodiments, step S202 may include but is not limited to steps S301 to S302:
[0093] Step S301, selecting computing nodes whose matching degree with the task is greater than a first expected threshold, and determining an object set;
[0094] Step S302 : determining the resource usage ratio of each computing node in the object set according to the computing node load, and determining the computing node whose resource usage ratio in the object set is less than a second expected threshold as a task allocation object.
[0095] When determining the task allocation object, the embodiment of the present application selects computing nodes whose matching degree with the task is greater than the first expected threshold to form an object set, and the object set includes multiple computing nodes that match the task requirements. Then, the resource usage ratio of each computing node in the object set is determined according to the load situation of the computing node, and the computing nodes in the object set whose resource usage ratio is less than the second expected threshold are determined as task allocation objects. The computing nodes whose resource usage ratio is less than the second expected threshold indicate that the computing nodes have not reached a resource bottleneck. In the process of real-time monitoring of computing nodes, if the resource usage ratio of the task allocation object exceeds the second expected threshold, the computing nodes whose resource usage ratio is less than the second expected threshold are reselected from the object set as new task allocation objects to achieve rapid migration of task execution nodes.
[0096] For example, when a platform's resource usage approaches saturation or a resource bottleneck emerges, the system issues a load warning, notifying the task scheduling system to perform necessary resource migrations. The system can adjust resource allocation strategies based on real-time load and task requirements to ensure smooth execution without resource overload. For example, if a GPU node is overloaded, the system can automatically migrate computing tasks to other idle GPU nodes, or transfer tasks to CPU nodes with similar computing power.
[0097] See also Figure 4 In some embodiments, the cloud computing-based task scheduling method of the embodiment of the present application may further include but is not limited to steps S401 to S402:
[0098] Step S401: monitor the execution status of the task in the computing node, and determine whether the computing node meets the resource requirements of the unexecuted part of the task based on the execution status;
[0099] Step S402: When the computing node cannot meet the resource demand of the unexecuted portion of the task, resources are expanded for the computing node or the unexecuted portion of the task is collaboratively scheduled.
[0100] In this embodiment, the execution status of the task in the computing node is monitored, and whether the computing node meets the resource requirements of the unexecuted part of the task is determined based on the execution status and the real-time load of the computing node. If the computing node cannot meet the resource requirements of the unexecuted part of the task, the resources of the computing node are expanded or the unexecuted part of the task is collaboratively scheduled.
[0101] Specifically, cross-platform scheduling allows for resource sharing and collaboration. For example, if a task requires a large amount of memory resources but currently has insufficient memory, the system can forward some of the memory requests to other platforms or nodes for collaborative scheduling of memory resources, preventing memory bottlenecks from impacting task execution. This resource sharing mechanism ensures efficient resource flow between platforms, avoiding task delays caused by resource saturation on a single platform.
[0102] If the computing platform cannot meet the resource requirements of a task, additional cloud resources can be used for expansion. For example, on the cloud platform, additional computing nodes can be automatically added based on real-time demand to meet sudden computing needs. Cross-platform resource expansion can effectively cope with load peaks and fluctuating task requirements, improving system resilience and flexibility.
[0103] See also Figure 5 In some embodiments, obtaining the load fluctuation information and task demand change information of each computing node in step S103 may include but is not limited to steps S501 to S502:
[0104] Step S501: Collect task execution status, node load data, and resource consumption data in historical time;
[0105] Step S502 : Input the task execution status, node load data, and resource consumption data into a prediction model trained based on a machine learning algorithm to obtain task demand change information and load fluctuation information of each computing node.
[0106] In this embodiment, a machine learning algorithm is used to predict task demand changes and load fluctuations of each computing node. The decision-making basis of the machine learning algorithm comes from real-time collected and monitored data, including the following:
[0107] Task execution status: This includes information such as the current execution progress of the task, resources occupied, task delays, and completion time forecasts. This information can reflect the health of the task and whether it needs priority adjustment or resource allocation.
[0108] Node load data: Real-time monitoring of the load of each computing node (such as CPU, GPU, and FPGA nodes). This includes the processing capacity of each node, currently used resources, task queue status, and load balancing between nodes.
[0109] Resource consumption data: The system continuously tracks the consumption of computing resources, storage resources, network bandwidth, and other resources by each task. Especially for tasks with high resource consumption, the system can evaluate their impact on other tasks in real time.
[0110] Prediction models based on machine learning algorithms are mainly used to analyze data collected during system operation, extract patterns from historical data, and predict changes in task resource requirements and fluctuations in computing node load.
[0111] See also Figure 6 In some embodiments, step S104 may include but is not limited to steps S601 to S602:
[0112] Step S601: determining an adjustment strategy based on load fluctuation information and task demand change information according to a preset optimization goal, wherein the optimization goal includes at least one of reducing task completion time, improving resource utilization, or reducing computing node response time;
[0113] Step S602: Adjust the task scheduling strategy according to the adjustment strategy.
[0114] In this embodiment, the task scheduling strategy can be adjusted in conjunction with a reinforcement learning algorithm. Reinforcement learning primarily uses the interaction between the agent and the environment to automatically adjust the task scheduling strategy. The reinforcement learning module autonomously decides how to adjust scheduling decisions such as task priority, task resource allocation, and task migration based on load fluctuations and changes in task requirements. For example, during peak load or system load changes, the reinforcement learning module can analyze the current environment (such as task execution status, resource usage, task queue length, etc.) in real time and make decisions based on reward mechanisms (such as task completion time and resource utilization). The system adjusts the task scheduling strategy in real time based on these decisions. For example, if certain tasks are in a state of resource competition, the system may prioritize the resource usage of high-priority tasks and reduce the resource allocation of low-priority tasks to ensure timely completion of high-priority tasks. For example, when the system is under high load, the agent will automatically adjust the scheduling order of low-priority tasks or delay their execution based on the current task queue, load status, and task timeliness, thereby providing more resources for high-priority tasks (such as real-time tasks).
[0115] In reinforcement learning algorithms, a reward mechanism is defined to evaluate whether the optimization goal is achieved. The reward mechanism includes at least one of the following factors:
[0116] Timeliness of task completion: the speed and accuracy with which tasks are completed on time.
[0117] Resource utilization: the efficiency of resource allocation, avoiding idle or overloaded resources as much as possible.
[0118] Response time: The speed at which the system responds to high-real-time tasks.
[0119] The reinforcement learning algorithm continuously adjusts the task scheduling strategy based on the optimization goal according to the feedback of the reward mechanism to achieve the optimal goal of task scheduling.
[0120] See also Figure 7 In some embodiments, the cloud computing-based task scheduling method of the application embodiment may also include but is not limited to steps S701 to S703:
[0121] Step S701: Obtain the expected completion time limit of the real-time task and the operating status of the assigned computing node;
[0122] Step S702, determining the predicted completion time of the real-time task based on the running status and the task resource requirements of the real-time task;
[0123] Step S703 , when the predicted completion time exceeds the expected completion time limit, performing targeted adjustment operations on the real-time task, the targeted adjustment operations including at least one of increasing the priority of the real-time task and reallocating the computing nodes of the real-time task.
[0124] In this embodiment, real-time tasks are tracked in a targeted manner, and the scheduling priority and resource allocation of real-time tasks are adjusted in a timely manner to improve the response speed and execution efficiency of real-time tasks in a complex execution environment so that they can be completed within the expected completion time limit.
[0125] Specifically, the expected completion time limit of the real-time task and the operating status of the assigned computing node are obtained, and the predicted completion time of the real-time task is determined based on the operating status and the task resource requirements of the real-time task. Specifically, an artificial intelligence algorithm can be used to construct a task completion time prediction model, and the task resource requirements of the real-time task and the operating status of the computing node (including the execution progress of the real-time task and the current available resources of the computing node) are input into the task completion time prediction model to obtain the predicted completion time of the real-time task. In the case that the predicted completion time exceeds the expected completion time limit, a targeted adjustment operation is performed on the real-time task, and the targeted adjustment operation includes at least one of increasing the priority of the real-time task and reallocating the computing node of the real-time task. The adjusted computing node can be an idle computing node, or a computing node configured to reserve real-time tasks.
[0126] Please refer to the following Figure 11 The overall flow chart of task scheduling is used to illustrate several implementation levels of the cloud computing-based task scheduling method of an embodiment of the present application.
[0127] First, task reception and priority division are intelligently performed.
[0128] During the implementation of the present invention, the task first enters the task queue of the task scheduling system. Whenever a task is submitted to the system, the system will perform a detailed analysis of the key features of each task and make a preliminary assessment based on the type of task, timeliness requirements, and resource requirements. The characteristics of the task include but are not limited to computing requirements, storage requirements, bandwidth requirements, execution time limit, task type, and other aspects. For example, some tasks may require high-performance computing resources (such as GPU or FPGA), while other tasks may have higher requirements for storage and bandwidth (such as data backup tasks or big data processing tasks). In addition, the timeliness of the task will also affect the initial allocation of its priority. For example, user interaction tasks usually require faster response times, while background processing tasks can be executed when the load is lighter. Specifically as follows:
[0129] First, a detailed analysis of the multi-dimensional requirements of the task is performed. Information such as the task's computing requirements, storage requirements, bandwidth requirements, task deadlines, and priority is extracted and stored as task metadata. The system then evaluates the complexity, resource usage, and timeliness of each task based on this metadata. This process not only categorizes task types but also accurately measures the actual requirements of the task in a specific computing environment. For example, for a task that requires a large amount of storage space and high bandwidth, the task analysis module will evaluate its requirements for network and disk I / O, and consider the current availability of system resources to predict bottlenecks that may be encountered during the execution of the task.
[0130] Based on the above multi-dimensional requirements of the task, the system dynamically assigns a preliminary task priority to each task.
[0131] This embodiment employs an intelligent prioritization mechanism, relying on comprehensive task demand analysis and real-time load conditions to dynamically and flexibly adjust task priorities. During task execution, the system continuously monitors the execution status of each task, including its real-time resource requirements, task execution progress, and potential blockages or delays. If the system detects resource contention or delays during task execution, it dynamically adjusts the task's priority to ensure that high-priority tasks are not affected and reduces the execution weight of low-priority tasks. In one example, when the system is experiencing peak load, some low-priority tasks may be delayed due to resource contention. The system automatically assesses the resource requirements and timeliness requirements of tasks during peak load. If certain low-priority tasks suddenly become more urgent (for example, because system resources are heavily utilized, requiring a faster response), the system dynamically increases the priority of these tasks based on the results of real-time data analysis to ensure they are processed in a timely manner. In another example, the system can make intelligent adjustments based on the actual needs of the task. For example, if a task has high bandwidth requirements and sufficient network resources are currently available, the system may increase the priority of the task to ensure that the task has sufficient network bandwidth. Similarly, if a task has high storage requirements and the current disk I / O pressure is low, the system will dynamically optimize resource allocation based on this information and increase the priority of the corresponding task.
[0132] The intelligent priority division and adjustment mechanism of the present invention is based on a dynamic scheduling algorithm that not only considers the initial priority of the task, but also adaptively adjusts the priority based on the load and resource requirements of the task.
[0133] Second, cross-platform resource scheduling and load monitoring.
[0134] During the implementation of the present invention, after the task priority is successfully assigned, intelligent cross-platform resource scheduling will be performed based on the resource requirement type of the task (such as computing power, storage space, bandwidth requirements, etc.) and platform characteristics. This scheduling process involves the resource coordination of multiple computing platforms, including but not limited to traditional central processing units (CPUs), graphics processing units (GPUs), programmable logic devices (FPGAs), and edge computing platforms. Each computing platform has different processing capabilities and characteristics. Therefore, the scheduling of tasks is intelligently selected and allocated based on the resource status of each platform and the specific needs of the task. Figure 1 The task scheduling system framework, shown in Figure 1, illustrates the entire process from task receipt to scheduling, prioritization, and resource allocation. The system intelligently assigns tasks to appropriate computing platforms based on their resource requirements and priorities, maximizing resource utilization. The specific concepts for task scheduling strategy decisions and adjustments are as follows:
[0135] The cross-platform resource scheduling mechanism of this embodiment is based on an in-depth analysis of multi-platform characteristics and task requirements, and achieves optimal resource allocation through task resource requirement analysis, platform resource evaluation and selection, and multi-platform task scheduling. Task resource requirement analysis is specifically that after the task is received and prioritized, the system analyzes the resource requirements of the task in detail through the task analysis module, including but not limited to computing power (such as the number of CPU cores, GPU computing power, FPGA configurable logic unit), storage requirements (such as disk I / O, memory), network bandwidth requirements, etc., and matches the task type with the appropriate computing platform based on the above requirements. For example, computing-intensive tasks (such as deep learning training) will give priority to GPU or FPGA platforms for processing; storage-intensive tasks may be assigned to system nodes with higher storage throughput. Platform resource evaluation and selection is specifically that the system evaluates the resource availability of different computing platforms by monitoring the resource status of each platform in real time (such as the utilization rate of CPU, GPU, FPGA, the remaining amount of storage space, the idle capacity of bandwidth, etc.). Platform resource selection is based on load, task matching, and latency requirements. Based on each platform's current load, tasks can be assigned to computing platforms with lower resource utilization to avoid resource overload. Tasks are assigned to the most suitable computing platforms based on their computing and storage requirements. For example, GPU platforms are preferred for tasks with high parallel computing requirements, while edge computing platforms are selected for tasks with high real-time performance requirements. For low-latency tasks, edge computing platforms are preferred, as they offer lower network transmission latency and are more suitable for real-time data processing. Task scheduling is no longer limited to a single platform; tasks may utilize resources across multiple computing platforms during execution. For example, a deep learning task may perform large-scale parallel computing on a GPU, which in turn requires significant memory bandwidth. The system can dynamically switch resources during task execution to ensure successful task completion. Cross-platform task scheduling not only improves resource utilization but also reduces the risk of a single platform carrying too many tasks, thereby improving overall system efficiency.
[0136] Based on load monitoring and dynamic resource adjustment scheduling strategy, such as Figure 12 The resource load monitoring system tracks the resource usage of each platform node in real time and automatically adjusts the resource allocation of tasks based on real-time feedback data. The system can achieve dynamic adjustment of load and resources through the following mechanisms:
[0137] Real-time resource monitoring: The system continuously monitors the computing resources, storage space, and bandwidth usage of each platform, collecting data in real time. The monitored data includes CPU / GPU / FPGA utilization (used to measure the usage of computing resources on each platform), memory / storage / bandwidth usage (used to determine whether the storage resources of each platform are sufficient and whether task migration or resource expansion is needed), and load trend analysis (predicting future load trends of each platform through historical load data).
[0138] Load warning and resource scheduling strategy: When the resource usage of a platform is close to saturation or a resource bottleneck occurs, the system will issue a load warning and notify the task scheduling system to perform necessary resource migration. The system can adjust the resource allocation strategy according to the real-time load and task requirements to ensure that the task is executed smoothly without being overloaded by resources. For example, please refer to Figure 12 ,If the load of a GPU node is too high, the system can automatically migrate the ,computing tasks to other idle GPU nodes, or transfer the tasks to ,CPU nodes with similar computing power.
[0139] Intelligent resource optimization. The resource load monitoring system not only provides real-time monitoring data but also automatically optimizes resource allocation based on the collected data and task requirements. Using machine learning models, the system continuously learns from historical task execution data and predicts changes in task resource requirements, thereby optimizing task allocation. For example, if a task has historically required more computing resources under high load conditions, the system will pre-allocate more resources to similar tasks to avoid resource shortages during task execution.
[0140] The system uses a global load balancing and resource sharing mechanism to make task scheduling strategy decisions. To avoid situations where some platforms are overloaded while other platforms have idle resources, this embodiment adopts a global load balancing strategy. The core of this strategy is to evenly distribute tasks across multiple computing platforms based on task requirements and resource availability, so that the resources of all platforms are reasonably utilized. Using load balancing algorithms (such as weighted round-robin, shortest task first, optimal resource allocation, etc.), tasks are reasonably allocated to each platform node considering the current load of each platform, the priority of the task, and the required resources, thereby improving the balance of task scheduling.
[0141] Cross-platform scheduling also allows for resource sharing and collaboration. For example, if a task requires a large amount of memory resources but currently has insufficient memory, the system can forward some of the memory requests to other platforms or nodes for collaborative memory resource scheduling, preventing memory bottlenecks from impacting task execution. This resource sharing mechanism ensures efficient resource flow between platforms, avoiding task delays caused by resource saturation on a single platform.
[0142] If the current computing platform cannot meet the resource requirements of a task, additional cloud resources can be used for expansion. For example, on the cloud platform, the system can automatically expand more computing nodes based on real-time demand to meet sudden computing needs. Cross-platform resource expansion can effectively cope with load peaks and fluctuating task requirements, improving system resilience and flexibility.
[0143] Third, real-time dynamic task scheduling strategy adjustment based on machine learning and reinforcement learning.
[0144] Please refer to Figure 13 Schematic diagram of the real-time dynamic task scheduling strategy optimization process based on machine learning is shown. This embodiment aims to improve the system's adaptability to dynamic loads and task demand fluctuations by introducing a scheduling strategy adjustment mechanism based on machine learning (ML) and reinforcement learning (RL). Traditional scheduling methods often rely on static strategies or simple load monitoring, and are unable to flexibly respond to complex and dynamically changing environments. By introducing machine learning and reinforcement learning, the scheduling strategy can be adjusted in real time and intelligently, the execution process of tasks can be optimized, resource utilization efficiency can be maximized, and the processing capacity of the system can be improved. The real-time dynamic task scheduling strategy optimization process based on machine learning and reinforcement learning is as follows:
[0145] The decision-making basis of the machine learning algorithm comes from real-time collected and monitored data, including task execution status, node load data, and resource consumption data. By collecting and analyzing these data in real time, the system can evaluate the current load status, task resource requirements, and task priority in real time, providing comprehensive support for scheduling decisions. The prediction model obtained by training the machine learning algorithm is mainly used in this invention to analyze the data collected during system operation, extract patterns from historical data, and predict changes in task resource requirements and load fluctuations. The main functions of the prediction model are as follows:
[0146] Load forecasting and resource demand forecasting use machine learning algorithms (such as regression analysis and time series forecasting) to predict load changes and resource requirements that occur during task execution. By analyzing historical task data, the model can learn the relationship between task type and load changes and predict resource consumption trends during task execution. This allows for proactive adjustments to task scheduling and resource allocation, resulting in more efficient utilization of computing resources. For example, some tasks may have low computing resource requirements in the early stages of execution, but experience a surge in demand later in the task. Machine learning models can predict this change and reserve sufficient resources for the task in advance.
[0147] Task queuing and scheduling pattern recognition: By learning from historical scheduling data, the system can identify task queuing and scheduling patterns under different load conditions. For example, under high load conditions, some tasks may wait for a long time, affecting the overall system response speed. Machine learning models can analyze these patterns and subsequently adjust the current scheduling strategy based on the identified patterns, reducing task wait times and optimizing resource allocation.
[0148] The optimization process of task scheduling strategies can be implemented using reinforcement learning algorithms. Reinforcement learning algorithms automatically adjust task scheduling strategies through the interaction between the agent and the environment. The reinforcement learning module autonomously decides how to adjust scheduling decisions, such as task priority, task resource allocation, and task migration, based on real-time load and task demand changes. The core functions of reinforcement learning are as follows:
[0149] Real-time decision-making and policy adjustments. During peak loads or system load fluctuations, the reinforcement learning module analyzes the current environment (such as task execution status, resource usage, and task queue length) in real time and makes decisions based on reward mechanisms (such as task completion time and resource utilization). The system adjusts task scheduling policies in real time based on these decisions. For example, if certain tasks are in a resource competition situation, the system may prioritize increasing the resource usage of high-priority tasks and reducing the resource allocation of low-priority tasks to ensure timely completion of high-priority tasks.
[0150] Task priority adjustment: Reinforcement learning agents can autonomously adjust task priorities by repeatedly learning from feedback during task execution. For example, when the system is under high load, the agent will automatically adjust the scheduling order of low-priority tasks or delay their execution based on the current task queue, load status, and task timeliness, thereby providing more resources for high-priority tasks (such as real-time tasks).
[0151] Resource allocation and task migration decisions: The reinforcement learning agent can determine whether to migrate tasks or reallocate resources. For example, during periods of high load, the system might migrate compute-intensive tasks from more heavily loaded nodes to less loaded ones, or offload some tasks to edge computing platforms to avoid overcrowding of central computing resources. The reinforcement learning module analyzes the real-time status of task execution and resource contention between tasks to make optimal resource allocation and task migration decisions.
[0152] The reinforcement learning module optimizes system performance by defining a reward mechanism. The reward mechanism includes task completion timeliness, resource utilization, and response time. The reinforcement learning model continuously adjusts its strategy based on the feedback of the reward mechanism to achieve the optimal goal of task scheduling.
[0153] In summary, the overall process of dynamic optimization of task scheduling strategy is as follows:
[0154] S11, when the system receives a task for the first time, based on the task type, resource requirements and priority, the system assigns the task to the appropriate platform node and starts execution.
[0155] S12, during the task execution process, the system monitors the task status, resource consumption and node load in real time, and the data is continuously fed back to the scheduling module.
[0156] In step S13, the system uses the reinforcement learning module to adjust its strategy based on real-time monitoring data. For example, when the load is high, the system will prioritize high-priority tasks and adjust the resource allocation strategy for the tasks.
[0157] S14, reinforcement learning continuously interacts with the environment (task execution status, resource load, etc.), adjusts the scheduling strategy, and optimizes based on feedback. Each feedback is used by the system to update the strategy, gradually improving the scheduling efficiency and responsiveness.
[0158] This embodiment combines machine learning and reinforcement learning technologies to intelligently optimize task scheduling based on system load, task resource requirements, and real-time feedback data. An adaptive learning algorithm is used to automatically adjust the scheduling strategy by analyzing historical scheduling data and providing feedback from real-time monitoring data. Based on the historical performance of tasks and real-time feedback, the system dynamically optimizes resource allocation to minimize task delays and maximize resource utilization efficiency. This adaptive scheduling mechanism enables the system to respond quickly and efficiently to dynamic loads and complex task requirements, significantly improving the system's overall processing power and task execution efficiency.
[0159] Fourth, a quick response mechanism for scheduling real-time tasks.
[0160] In cloud computing platforms, it is crucial to process a scheduling response mechanism for high real-time tasks, especially for tasks with very strict time requirements (such as financial transactions, video stream processing, online games, real-time data analysis, etc.). Real-time tasks are often required to be completed within a specific time, and have very high requirements on the system's response speed, resource allocation, task processing efficiency, etc. If the scheduling strategy for high real-time tasks is improperly designed, it may cause task timeouts, fierce resource competition, or overall system performance degradation. In order to solve this problem, the embodiment designs a kind of intelligent and efficient high real-time task scheduling response mechanism, which can give priority to the processing of high real-time tasks when the system load increases or resources are limited, and ensure that the tasks can be completed on time.
[0161] During task scheduling, system load fluctuations, dynamic changes in task priorities, and resource contention and scheduling conflicts can all affect the responsiveness of real-time tasks. Under high load, system resources may be insufficient, leading to task delays. Task priorities can also change during task execution, causing real-time tasks to have lower priority. When multiple tasks compete for limited computing resources, the system must ensure that high-priority tasks receive the resources they need first.
[0162] To address the above challenges, this embodiment adopts a dynamic priority adjustment and resource allocation strategy to ensure that high-real-time tasks can still be prioritized during peak load periods. The system implements this mechanism through the following levels:
[0163] The system dynamically adjusts the priority of critical real-time tasks based on their urgency, deadline, and current system load. For critical real-time tasks approaching their deadline, the system automatically increases their priority to ensure they receive priority. For example, if a financial transaction task is nearing its deadline but is competing for resources with other tasks, the system may increase its priority and adjust its resource allocation strategy to ensure the task is completed in the shortest possible time.
[0164] The system continuously adjusts its scheduling strategy by monitoring the execution status, computing resource requirements, and latency of high-priority tasks in real time. As system load increases, the task scheduler prioritizes high-priority tasks based on their timeliness. If a node's load becomes excessive, the system dynamically adjusts the execution order of tasks, migrating high-priority tasks to less-loaded nodes to avoid system overload.
[0165] To ensure timely completion of critical real-time tasks, the system provides a resource reservation mechanism. By preserving computing, storage, and network resources for these tasks, the system can quickly schedule and allocate sufficient resources during peak loads, avoiding resource contention. Furthermore, the system dynamically adjusts resource allocation strategies to ensure that critical real-time tasks are completed in the shortest possible time, minimizing latency.
[0166] Based on the task scheduling timeliness analysis, the scheduling of real-time tasks is adjusted as follows:
[0167] For each critical real-time task, the system calculates the estimated execution time in real time upon task initiation and determines whether resource allocation strategies need to be adjusted based on the current load. If the system load is high, the system predicts whether the task can be completed within the specified timeframe and dynamically adjusts the scheduling strategy based on the prediction. For example, if the system determines that current resources are insufficient to complete a task on time, it will immediately adjust resource allocation or increase the task's priority to ensure timely completion.
[0168] For latency-sensitive, high-performance real-time tasks, the system features automatic delay compensation. When task delays reach a certain threshold, the system automatically adjusts the task execution schedule, prioritizing resources for delayed tasks to ensure timely completion. For example, in a video streaming scenario, if task processing is delayed, the system adjusts the execution order of rendering or encoding tasks to ensure real-time playback of the video stream is not affected.
[0169] The system performs multi-level scheduling on real-time tasks, ensuring that high-real-time tasks are processed in a timely manner. High-real-time tasks are divided into several different levels according to their timeliness requirements and are scheduled according to the following rules:
[0170] The highest-priority tasks have the most stringent time constraints. The system prioritizes resource allocation for these tasks, ensuring optimal scheduling even during peak load periods. The system reserves resources for these tasks and prioritizes their completion at all times. For high-priority tasks with relatively loose time constraints, the system dynamically adjusts resources based on current resource availability to ensure they are completed within a reasonable timeframe and avoid timeouts. For low-priority tasks, the system postpones their scheduling during periods of high load to ensure resource availability for high-priority tasks.
[0171] Furthermore, in order to continuously optimize the scheduling strategy, this embodiment also includes a real-time feedback and optimization mechanism. The system will feed back data on the task execution process to the scheduling system based on the execution results of each high-real-time task (such as actual execution time, resource consumption, completion timeliness, etc.). This data will serve as a learning basis, and the system will iteratively optimize the scheduling strategy by analyzing the feedback data. In this way, the system can continuously improve the scheduling decisions of high-real-time tasks over time to cope with more diverse load fluctuations and task requirements in the future.
[0172] The high-real-time task scheduling response mechanism of this embodiment uses dynamic priority adjustment, resource reservation, real-time load monitoring, and multi-level scheduling strategies to prioritize and promptly complete high-real-time tasks even when system load fluctuates or resources are limited. The system can intelligently assess the timeliness, resource requirements, and latency of tasks, dynamically adjust scheduling strategies, reduce task latency, improve the timeliness of task execution, and efficiently complete high-real-time tasks. This flexible and efficient scheduling response mechanism improves the cloud computing platform's ability to handle real-time tasks, enabling the platform to maintain efficient and stable task scheduling performance under various load conditions.
[0173] Fifth, global optimization scheduling and resource allocation.
[0174] In complex cloud computing environments, task scheduling isn't just about assigning tasks to individual computing nodes; it also involves optimizing overall resource utilization, avoiding local resource bottlenecks, and ensuring efficient execution of all tasks. Traditional local scheduling methods often only consider the resource status and task requirements of a single node, ignoring the coordination of global resource allocation. This can easily lead to overloading of some nodes while underutilizing the resources of other nodes, thereby reducing the overall efficiency of the system. This embodiment proposes a global optimization scheduling strategy that aims to intelligently coordinate and optimize all tasks and resources from a global perspective to improve overall scheduling efficiency and ensure efficient and stable system operation under varying load conditions.
[0175] The global optimization scheduling strategy dynamically adjusts task allocation and execution paths based on the overall system load and resource usage. It not only considers task type and timeliness, but also comprehensively considers resource competition between tasks, task dependencies, and their impact on system resources. Global resource scheduling enables efficient resource allocation under varying load and resource conditions. By monitoring each stage of task execution and adjusting the scheduling strategy based on real-time feedback, we prevent excessive resource usage by a single task, which could delay the execution of other tasks. The core of the global optimization scheduling strategy is to avoid resource bottlenecks and improve the system's task processing capabilities through intelligent resource allocation and task migration.
[0176] The global optimization scheduling strategy mainly includes two parts: global resource monitoring and global scheduling decision-making. Please refer to Figure 14 The optimization process of the global task scheduling strategy shown in Figure 2 is described as follows:
[0177] For global load analysis and task scheduling decisions, please refer to Figure 11 The system can evaluate the resource status of each node and the execution requirements of tasks, intelligently determining which tasks can be executed efficiently under the current resource conditions and which tasks need to be migrated to other computing nodes. Global load analysis not only considers computing resources, but also includes storage, memory, network bandwidth and other resources to ensure that each type of resource is properly allocated within the system.
[0178] For resource bottleneck detection and dynamic adjustment, please refer to Figure 12 When the system detects a node experiencing a computing bottleneck, excessive memory pressure, insufficient network bandwidth, or other issues, it immediately adjusts its scheduling strategy. For example, if a task encounters a computing bottleneck while executing on a node, the system will evaluate the current load and resource usage and automatically decide to migrate the task to a node with greater computing power. Through intelligent scheduling and load balancing, the system ensures that tasks are successfully completed within the appropriate resource environment.
[0179] For multi-level resource allocation strategies, please refer to Figure 10and Figure 13 , at different stages of task execution, preliminary resource allocation is carried out according to the resource requirements and priority of the task, and how to adjust resource allocation in real time during task execution in combination with machine learning to ensure that the task is completed on time.
[0180] Please refer to Figure 12 When the system detects that a task is consuming excessive resources, impacting other tasks, it automatically migrates the task to a less-loaded node to ensure system load balancing. Task migration is more than just a simple transfer; it also considers the task's execution status, resource requirements, and the potential overhead incurred during the migration process. Through appropriate task migration, the system can reduce the chances of overloading certain nodes while leaving other nodes idle, thereby improving overall resource utilization.
[0181] For load balancing and resource pool management, please refer to Figure 14 From a global perspective, the system coordinates the resources of each node to avoid excessive use of computing or storage resources on a particular node while also preventing idle resources on other nodes. Load balancing algorithms (such as weighted round-robin, shortest task first, and maximum resource utilization first) can intelligently assign tasks to the most appropriate nodes based on factors such as task resource requirements, priority, and execution time.
[0182] With unified resource pool management, the system aggregates all compute nodes, storage nodes, and network resources into a unified resource pool. Through centralized management and intelligent scheduling, the system can flexibly allocate resources to each node based on task requirements and node load. This unified resource pool management not only improves resource utilization but also enhances system flexibility and scalability. During peak load periods, the system can dynamically adjust resource allocation and reduce resource bottlenecks.
[0183] The system uses historical scheduling data and real-time monitoring data to predict resource overloads. When the system detects that the usage of certain nodes or resource types is approaching or reaching a bottleneck, it uses intelligent algorithms to predict and take proactive measures. For example, if a node's computing resources are about to reach a bottleneck, the system may adjust the priority of tasks or migrate tasks to nodes with lower loads.
[0184] When multiple tasks are executed in parallel, resource competition between them is inevitable. To address this issue, this embodiment uses a globally optimized scheduling strategy to ensure that each task receives the appropriate resources based on its priority and resource requirements. If multiple tasks conflict over the same resource, the system dynamically adjusts the execution order of the tasks or provides temporary resource expansion for some tasks, minimizing the impact of resource competition on task execution.
[0185] To continuously optimize scheduling strategies and improve resource utilization efficiency, this embodiment also employs an adaptive optimization mechanism. The system collects feedback data during task execution and analyzes the effectiveness of task execution and the rationality of resource allocation. By analyzing historical scheduling data, the system can optimize scheduling strategies and improve task execution efficiency. For example, the system can adjust the scheduling strategy and resource allocation method for future tasks based on data such as task execution duration, resource consumption, and completion time, ensuring that future tasks can be executed more efficiently.
[0186] The global optimization scheduling and resource allocation mechanism of this embodiment addresses the resource bottleneck problem in traditional task scheduling methods through a global perspective and dynamic scheduling strategies. By intelligently optimizing task allocation, task migration, load balancing, and resource sharing, the system is able to maintain efficient and stable task scheduling performance under varying load conditions. This global optimization scheduling mechanism not only improves system resource utilization but also enhances task execution efficiency, avoiding task delays or failures caused by local resource overloads, ensuring that the system can operate efficiently in a multi-task, multi-load environment.
[0187] Sixth, scheduling result feedback and system optimization.
[0188] The optimization of the task scheduling system not only depends on the initial task allocation strategy, but also needs to be continuously adjusted and improved according to the real-time status of task execution. Based on this, this embodiment proposes a system optimization mechanism based on scheduling result feedback. This mechanism monitors the task execution status (including task completion time, resource consumption, delay and other indicators) in real time and collects relevant data. It adopts a feedback loop mechanism to continuously evaluate the effect of the current scheduling strategy, automatically adjust task priority and resource allocation strategy to optimize task execution efficiency and system load. Through this feedback mechanism, the system can automatically adjust the scheduling strategy under different load conditions and changes in task requirements to achieve efficient resource allocation, improve task scheduling performance, and ultimately improve the stability and responsiveness of the system.
[0189] The scheduling feedback mechanism continuously evaluates the effectiveness of the current scheduling strategy by collecting key task execution data, such as execution time, resource consumption, task completion, and latency. This feedback data is not only used to understand the real-time effects of task scheduling, but also to reversely optimize the scheduling algorithm, allowing the system to dynamically adjust and gradually improve the accuracy of task scheduling during execution. Specifically, the feedback mechanism works through the following steps:
[0190] Data collection and real-time monitoring include task execution time (the difference between the actual execution time of a task and the expected execution time), resource consumption (the actual consumption of computing, storage, bandwidth and other resources during the execution of the task), task delay (the delay time experienced by the task during execution, especially the response delay of high-priority tasks), task completion (whether the task is completed on time, whether there are any timeouts or partial failures), and resource utilization (the resource utilization of each node during task execution, as well as the load status of each computing node).
[0191] Performance evaluation and feedback analysis: The evaluation goal is to check whether resources are allocated appropriately, whether tasks are completed on time, and whether there are bottlenecks in the scheduling system. For example, if the system finds that a task is taking longer than expected or experiencing significant delays, the evaluation mechanism will automatically determine whether this is due to uneven resource allocation or an unreasonable scheduling sequence, and will adjust the strategy promptly. The evaluation results help the system identify key factors affecting task execution and provide data support for optimized scheduling.
[0192] Specifically, the scheduling feedback mechanism is used for scheduling optimization based on machine learning, decision optimization based on reinforcement learning, and iterative optimization of scheduling results.
[0193] The scheduling optimization based on machine learning is described as follows:
[0194] Historical data learning and strategy optimization, Figure 13 This demonstration demonstrates how a machine learning algorithm continuously optimizes scheduling strategies by learning from historical task execution data. The system analyzes task execution patterns to identify resource demand relationships, timeliness requirements, and load fluctuation characteristics between tasks. For example, the system can identify that certain tasks require additional computing resources under specific conditions or exhibit longer execution delays during peak load periods. Based on these patterns, the machine learning model adjusts the scheduling strategy, predicts task resource requirements, and improves the accuracy of resource allocation.
[0195] Real-time data feedback and adaptive adjustments. By monitoring delays and resource consumption during task execution and predicting task demand and load fluctuations, the system can promptly detect anomalies and automatically adjust task priorities, allocating more resources or migrating tasks to less-loaded nodes to ensure timely task completion. This adaptive adjustment mechanism enables the system to continuously optimize scheduling strategies based on actual operating conditions, avoiding manual intervention and improving the automation and intelligence of scheduling decisions.
[0196] The decision optimization based on reinforcement learning is described as follows:
[0197] The reward mechanism and scheduling strategy are iterative. At each stage of task scheduling, the system evaluates the effectiveness of the current scheduling strategy and applies rewards or penalties. The system's goal is to maximize task execution efficiency, resource utilization, and responsiveness. For example, if the system successfully allocates sufficient resources to a high-priority task under high load, ensuring that the task is completed on time, the system will provide a reward, prompting the reinforcement learning algorithm to adjust its scheduling strategy so that future scheduling decisions are more efficient.
[0198] Multi-strategy selection and optimization: Reinforcement learning algorithms automatically select the most appropriate scheduling strategy based on varying load conditions, task requirements, and system status. During peak load periods, the system may choose a strategy that favors resource expansion and task migration; during periods of idle resources, it may select a lightweight scheduling strategy to improve system responsiveness. Through continuous training and optimization of the reinforcement learning model, the system gradually learns to make optimal scheduling decisions in different scenarios.
[0199] The iterative optimization of the scheduling results is described as follows:
[0200] By continuously collecting task execution results, the system can continuously iterate and optimize the scheduling strategy. After each task execution, the system compares the actual results with the expected results, evaluates the effectiveness of the strategy, and makes adjustments based on the feedback. The following is an implementation description of the iterative optimization of scheduling results:
[0201] Feedback Data Collection and Analysis: The system first collects all relevant data during task execution, including execution time, resource consumption, task delays, etc. The system uses this data to evaluate the current scheduling strategy, determine whether the scheduling strategy has achieved the expected goals, and whether there are any problems such as uneven resource allocation and task delays.
[0202] Strategy Adjustment and Optimization: Based on feedback data, the system adjusts the scheduling strategy, such as adjusting task priorities, task migration rules, resource allocation ratios, etc. After each adjustment, the system executes the task again and collects new feedback data to continue optimizing the strategy.
[0203] Model updates and continuous improvement: The system continuously improves scheduling decisions through continuous learning and optimization. As tasks are continuously executed, the system's scheduling model will become increasingly accurate, better adapting to different tasks and load conditions, and improving overall task scheduling performance.
[0204] Scheduling result feedback and system optimization mechanisms are core components of the present invention. By monitoring the task execution process in real time, collecting feedback data, and implementing optimization algorithms based on machine learning and reinforcement learning, the scheduling strategy can self-adjust and continuously improve. This mechanism not only optimizes resource allocation and improves task execution efficiency, but also allows the system to maintain efficient and stable operation despite changes in load and task requirements.
[0205] See also Figure 8 The present application also provides a cloud computing-based task scheduling system, which can implement the above-mentioned cloud computing-based task scheduling method, including:
[0206] The first module is used to initialize the task priority according to the task resource requirements, task type and task timeliness requirements;
[0207] The second module is used to determine the task scheduling strategy based on the task metadata and computing resource information, wherein the task metadata includes the task priority and task resource requirements, and the task scheduling strategy is used to characterize the task scheduling order and task allocation objects;
[0208] The third module is used to schedule tasks according to the task scheduling strategy and obtain the load fluctuation information and task demand change information of each computing node;
[0209] The fourth module is used to adjust the task scheduling strategy according to the load fluctuation information and the task demand change information, and repeatedly execute the steps of scheduling tasks according to the task scheduling strategy.
[0210] It can be understood that the contents of the above-mentioned cloud computing-based task scheduling method embodiments are applicable to the present system embodiments, the functions specifically implemented by the present system embodiments are the same as those of the above-mentioned cloud computing-based task scheduling method embodiments, and the beneficial effects achieved are also the same as those achieved by the above-mentioned cloud computing-based task scheduling method embodiments.
[0211] The present application also provides an electronic device comprising: a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for enabling communication between the processor and the memory. When the program is executed by the processor, the aforementioned cloud computing-based task scheduling method is implemented. The electronic device can be any intelligent terminal, including a tablet computer and an in-vehicle computer.
[0212] See also Figure 9 , Figure 9 The hardware structure of an electronic device according to another embodiment is shown. The electronic device includes:
[0213] The processor 901 can be implemented as a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application.
[0214] The memory 902 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 902 can store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 902 and is called by the processor 901 to execute the cloud computing-based task scheduling method of the embodiments of this application.
[0215] Input / output interface 903, used to implement information input and output;
[0216] Communication interface 904, used to implement communication interaction between this device and other devices, which can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WiFi, Bluetooth, etc.);
[0217] Bus 905 , which transmits information between various components of the device (e.g., processor 901 , memory 902 , input / output interface 903 , and communication interface 904 );
[0218] The processor 901 , the memory 902 , the input / output interface 903 and the communication interface 904 are connected to each other in communication within the device via a bus 905 .
[0219] An embodiment of the present application also provides a storage medium, which is a computer-readable storage medium used for computer-readable storage. The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the above-mentioned cloud computing-based task scheduling method.
[0220] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0221] The embodiments described in the embodiments of this application are intended to more clearly illustrate the technical solutions of the embodiments of this application and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0222] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.
[0223] The system embodiment described above is merely illustrative. The units described as separate components may or may not be physically separate, i.e., they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of this embodiment.
[0224] Those skilled in the art will appreciate that all or some of the steps in the methods, systems, and functional modules / units in the devices disclosed above may be implemented as software, firmware, hardware, or appropriate combinations thereof.
[0225] In the several embodiments provided in this application, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For example, the division of the above units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of systems or units, which can be electrical, mechanical or other forms.
[0226] The units described above as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0227] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0228] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes multiple instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes various media that can store programs, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0229] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but are not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and essence of the present invention should be within the scope of the present invention.
Claims
1. A task scheduling method based on cloud computing, characterized in that: The following steps are involved: Initialize task priorities based on task resource requirements, task types, and task timeliness requirements; Determine a task scheduling strategy based on task metadata and computing resource information, wherein the task metadata includes task priority and task resource requirements, and the task scheduling strategy is used to characterize the task scheduling order and task allocation objects; Perform task scheduling according to the task scheduling strategy and obtain load fluctuation information and task demand change information of each computing node; The task scheduling strategy is adjusted according to the load fluctuation information and the task demand change information, and the step of scheduling tasks according to the task scheduling strategy is repeated.
2. The task scheduling method based on cloud computing according to claim 1, characterized in that: The task metadata also includes task timeliness requirements, and the computing resource information includes computing node characteristics and computing node load conditions. Determining the task scheduling strategy based on the task metadata and computing resource information includes the following steps: Determining the matching degree between the task and the computing node according to the computing node characteristics, the task resource requirements and the task timeliness requirements; Determine the task allocation object according to the matching degree and the load of the computing node; A task scheduling strategy is determined according to the task priority and the task allocation object.
3. The task scheduling method based on cloud computing according to claim 2, characterized in that: Determining the task allocation object according to the matching degree and the computing node load includes the following steps: Selecting computing nodes whose matching degree with the task is greater than a first expected threshold to determine an object set; The resource usage ratio of each computing node in the object set is determined according to the computing node load, and the computing nodes in the object set whose resource usage ratio is less than a second expected threshold are determined as task allocation objects.
4. The method for task scheduling based on cloud computing according to claim 1, characterized in that: The task scheduling method based on cloud computing further includes the following steps: Monitoring the execution of tasks in computing nodes, and determining whether the computing nodes meet the resource requirements of the unexecuted portions of the tasks based on the execution status; When the computing node cannot meet the resource demand of the unexecuted part of the task, resource expansion is performed on the computing node or collaborative scheduling is performed on the unexecuted part of the task.
5. The task scheduling method based on cloud computing according to claim 1, characterized in that: The step of obtaining load fluctuation information and task demand change information of each computing node includes the following steps: Collect historical task execution status, node load data, and resource consumption data; The task execution status, the node load data and the resource consumption data are input into a prediction model trained based on a machine learning algorithm to obtain task demand change information and load fluctuation information of each computing node.
6. The task scheduling method based on cloud computing according to claim 1, characterized in that: The adjusting the task scheduling strategy according to the load fluctuation information and the task demand change information comprises the following steps: Determining an adjustment strategy based on the load fluctuation information and the task demand change information according to a preset optimization goal, wherein the optimization goal includes at least one of reducing task completion time, improving resource utilization, or reducing computing node response time; The task scheduling strategy is adjusted according to the adjustment strategy.
7. The task scheduling method based on cloud computing according to claim 1, characterized in that: The task scheduling method based on cloud computing further includes the following steps: Obtain the expected completion time of the real-time task and the running status of the assigned computing node; Determining a predicted completion time of the real-time task based on the operating status and the task resource requirements of the real-time task; When the predicted completion time exceeds the expected completion time limit, a targeted adjustment operation is performed on the real-time task, and the targeted adjustment operation includes at least one of increasing the priority of the real-time task and reallocating the computing node of the real-time task.
8. A task scheduling system based on cloud computing, characterized in that: include: The first module is used to initialize the task priority according to the task resource requirements, task type and task timeliness requirements; The second module is used to determine a task scheduling strategy based on task metadata and computing resource information, wherein the task metadata includes task priority and task resource requirements, and the task scheduling strategy is used to characterize the task scheduling order and task allocation objects; The third module is used to schedule tasks according to the task scheduling strategy and obtain load fluctuation information and task demand change information of each computing node; The fourth module is used to adjust the task scheduling strategy according to the load fluctuation information and the task demand change information, and repeatedly execute the step of scheduling tasks according to the task scheduling strategy.
9. An electronic device, characterized in that: The electronic device includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for implementing connection and communication between the processor and the memory. When the program is executed by the processor, the steps of the method described in any one of claims 1 to 7 are implemented.
10. A storage medium, which is a computer-readable storage medium and is used for computer-readable storage, characterized in that: The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps of any one of claims 1 to 7.
Citation Information
Cited By
Image data desensitization method and device
CN120671195A
Image data desensitization method and apparatus
CN120671195B
Server test method and device, storage medium and computer program product
CN120687266A
A server testing method, device, storage medium and computer program product
CN120687266B
Computing power resource allocation method and device, nonvolatile storage medium and electronic equipment
CN120723477A
