Dynamic task scheduling method and device, server and storage medium
Through the dynamic computing task priority, resource requirements and efficiency improvement points, the intelligent arrangement of the task queue is realized, the problem of low task execution efficiency in the RPA system is solved, and the resource utilization rate and task processing efficiency are improved.
Patent Information
- Application Number
- CN202411435949.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2025-01-21
AI Technical Summary
The existing RPA system relies on static scheduling strategies, resulting in inefficient execution during task processing and lack of effective task scheduling and priority management.
By calculating the task priority, resource demand information and current working status information of each task to be executed, efficiency improvement points are generated and the task queue is dynamically arranged to achieve intelligent and dynamic allocation of resources.
It effectively improves overall resource utilization, ensures timely processing of high-priority tasks, avoids delays in key tasks, and optimizes resource allocation in complex environments to improve task execution efficiency.
Smart Images

Figure CN119336466A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing, and in particular to a method, device, server and storage medium for dynamically scheduling tasks. Background Art
[0002] In RPA implementations, companies often run multiple automation tasks simultaneously, which may have different resource requirements and priorities.
[0003] Existing RPA systems mostly rely on static scheduling strategies and lack effective task scheduling and priority management, which will lead to low execution efficiency when processing tasks. A new technical means is needed to solve the above technical problems. Summary of the invention
[0004] The main purpose of the present invention is to solve the technical problem that conventional task scheduling methods may result in low execution efficiency during task processing.
[0005] A first aspect of the present invention provides a method for dynamic scheduling of tasks, the method comprising:
[0006] Calculate the task priority of each task to be executed to obtain a priority set, calculate the resource requirement information of each task to be executed to obtain a resource requirement information set, and collect current working status information;
[0007] Generate an efficiency improvement point for each of the tasks to be executed according to the current working state information and the task type of the tasks to be executed, and obtain an efficiency improvement point information set;
[0008] According to the priority set, the efficiency improvement point information set and the resource requirement information set, the tasks to be executed are dynamically arranged to obtain a task queue, and the task queue is processed.
[0009] Optionally, in a first implementation manner of the first aspect of the present invention, the step of determining the efficiency improvement point of the task to be performed according to the current working state information and the task type of the task to be performed includes:
[0010] Using the current working state information and the task type of the task to be performed as model input parameters;
[0011] The model input parameters are input into a pre-trained neural network model to obtain a set of efficiency improvement point information output by the neural network model.
[0012] Optionally, in a second implementation of the first aspect of the present invention, before the step of using the current working state information and the task type of the task to be executed as model input parameters, the method further includes:
[0013] Use the preset historical scheduling data as a training set;
[0014] According to the training set, a model training operation is performed on the initial neural network model to obtain the neural network model.
[0015] Optionally, in a third implementation of the first aspect of the present invention, the step of calculating the task priority of each task to be executed to obtain a priority set includes:
[0016] Acquire task information of the task to be executed to obtain a task information set, wherein the task information includes a task type information subset, a business influence index subset, and a resource requirement information subset;
[0017] According to the task information set, weights are assigned to the tasks to be executed to obtain a priority set.
[0018] Optionally, in a fourth implementation manner of the first aspect of the present invention, the step of acquiring task information associated with the to-be-performed task to obtain a task information set includes:
[0019] Obtaining the task type associated with the task to be executed, obtaining a task type subset, and calling the prediction model to calculate the business impact index of the task to be executed, obtaining a business impact index subset, and calculating the resource requirement information of the task to be executed, obtaining a resource requirement information subset;
[0020] The task type information subset, the business influence index subset and the resource requirement information subset are combined to obtain the task information set.
[0021] Optionally, in a fifth implementation of the first aspect of the present invention, the step of calculating the task priority of each task to be executed to obtain a priority set includes:
[0022] Detecting whether the number of tasks to be executed is greater than a preset number;
[0023] When the number of tasks is greater than the preset number, the task priority of each task to be executed is calculated to obtain a priority set.
[0024] Optionally, in a sixth implementation of the first aspect of the present invention, after the step of detecting whether the number of tasks to be executed is greater than a preset number, the method further includes:
[0025] When the number of tasks is less than or equal to the preset number, the tasks to be executed are directly processed.
[0026] A second aspect of the present invention provides a task dynamic scheduling device, comprising a memory and a processor, wherein the processor is used to execute program instructions stored in the memory so that the task dynamic scheduling device performs the above-mentioned task dynamic scheduling method.
[0027] A third aspect of the present invention provides a server, characterized in that it includes a memory and a processor, and the processor is used to execute program instructions stored in the memory so that the server performs the above-mentioned dynamic scheduling method of tasks.
[0028] A fourth aspect of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores instructions, which, when executed on a computer, enable the computer to execute the above-mentioned dynamic scheduling method for tasks.
[0029] In an embodiment of the present invention, the task priority of each task to be executed is calculated to obtain a priority set, and the resource requirement information of each task to be executed is calculated to obtain a resource requirement information set, and the current working state information is collected; according to the current working state information and the task type of the task to be executed, the efficiency improvement point of each task to be executed is generated to obtain an efficiency improvement point information set; according to the priority set, the efficiency improvement point information set and the resource requirement information set, the tasks to be executed are dynamically arranged to obtain a task queue, and the task queue is processed. By dynamically calculating the resource requirement information of each task and generating the efficiency improvement point of the task based on the real-time working state information and the task type, the intelligent dynamic allocation of resources can be realized, and the overall resource utilization rate is effectively improved. Based on factors such as the task type and the real-time working state, the priority set is calculated and the task queue is flexibly arranged. When a high-priority task appears, the task order can be automatically adjusted to avoid the delay of key tasks. By calculating the efficiency improvement point information, it is also possible to evaluate which tasks can improve the execution efficiency through specific resource allocation and priority improvement in a complex environment. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 A schematic diagram of an embodiment of a method for dynamically scheduling tasks in an embodiment of the present invention;
[0031] Figure 2 1 is a schematic diagram of a specific embodiment of step 102 of the method for dynamic scheduling of tasks in an embodiment of the present invention;
[0032] Figure 3 A schematic diagram of a specific embodiment of step 101 of the method for dynamic scheduling of tasks in an embodiment of the present invention;
[0033] Figure 4 A schematic diagram of an embodiment of a dynamic scheduling device for tasks in an embodiment of the present invention;
[0034] Figure 5 FIG. 1 is a schematic diagram of an embodiment of a server in an embodiment of the present invention. DETAILED DESCRIPTION
[0035] The embodiment of the present invention provides a method, device, server and storage medium for dynamic scheduling of tasks.
[0036] The embodiments disclosed in the present invention will be described in more detail below with reference to the accompanying drawings. Although certain embodiments disclosed in the present invention are shown in the accompanying drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present invention. It should be understood that the drawings and embodiments disclosed in the present invention are only for exemplary purposes and are not intended to limit the scope of protection disclosed in the present invention.
[0037] In the description of the embodiments disclosed in the present invention, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0038] The terms involved in the dynamic scheduling method of tasks include but are not limited to:
[0039] Task priority: refers to a parameter that determines the order in which tasks are executed in a multi-tasking environment. High-priority tasks are usually executed first. Task priority can be determined based on factors such as task importance, urgency, and resource requirements.
[0040] Resource requirement information: refers to the demand for system resources during the execution of a task. Resources may include CPU, memory, network bandwidth, etc. Accurately obtaining the resource requirement information of a task helps to make reasonable resource allocation and ensure efficient execution of the task.
[0041] Current working status information: refers to the current operating status or resource usage of the scheduling device, including CPU usage, memory usage, network bandwidth and other indicators. This information is used to evaluate whether the system can accept new tasks or continue to execute existing tasks.
[0042] Efficiency improvement points: refers to specific aspects or opportunities for improvement when the system can optimize scheduling strategies or resource allocation to improve efficiency when scheduling tasks. By analyzing historical data or real-time feedback, the dynamic scheduling equipment of tasks can identify which factors affect the execution efficiency of tasks and optimize them accordingly.
[0043] Task type: refers to the classification criteria for different tasks, such as the function of the task, execution time, or dependence on system resources. Different types of tasks may have different priorities, resource requirements, and influence, so they need special treatment during scheduling.
[0044] Neural network model: A machine learning model that simulates the neuron structure of the human brain and is used to process complex computing tasks. In this scheduling method, the neural network model is used to predict the efficiency improvement points of the task, that is, to optimize the scheduling decision by learning historical data.
[0045] Historical scheduling data: refers to the data related to past task scheduling and execution, including task execution time, resource usage, priority, and system performance. By analyzing this data, the system can optimize future scheduling strategies and improve scheduling efficiency.
[0046] Dynamic Scheduling Algorithm: An algorithm used to dynamically adjust the order of task execution and resource allocation based on real-time data and changing system status. The algorithm can adapt to different task requirements and scheduling equipment status.
[0047] For ease of understanding, the specific process of the embodiment of the present invention is described below. Figure 1 , an embodiment of the dynamic scheduling method of tasks in the embodiment of the present invention includes:
[0048] 101. Calculate the task priority of each task to be executed to obtain a priority set, calculate the resource requirement information of each task to be executed to obtain a resource requirement information set, and collect current working status information;
[0049] Specifically, collect relevant information of each task to be executed, including task type, task urgency, impact on business, etc.
[0050] Based on the collected task information, each task is assigned a weight to calculate the priority. The priority can be based on indicators such as the urgency of the task's impact on the business, the time window for task completion, or the importance of the task.
[0051] The priority calculation results of all tasks are aggregated to form a priority set, which is used to sort and schedule tasks.
[0052] Analyze the resources required for each task to be executed, such as CPU, memory, storage, network bandwidth, etc.
[0053] The resource requirements of each task are quantified and recorded to obtain a set of resource requirement information so that resources can be reasonably allocated in subsequent scheduling.
[0054] Collect the working status information of the current system, including the resource utilization rate of the current system (such as CPU load, memory occupancy, network bandwidth, etc.), task queue status (such as task waiting queue length), and other information.
[0055] Optionally, it is detected whether the number of tasks to be executed is greater than a preset number; when the number of tasks is greater than the preset number, the task priority of each task to be executed is calculated to obtain a priority set. By detecting whether the number of tasks to be executed is greater than the preset number, the processing strategy can be automatically adjusted when the number of tasks is large. When the number of tasks is too large, the step of calculating the task priority can ensure that more important and urgent tasks are processed first when resources are limited, thereby improving scheduling efficiency.
[0056] Optionally, when the number of tasks is less than or equal to the preset number, the tasks to be executed are directly processed. When the number of tasks is less than or equal to the preset value, the tasks are directly processed without calculating the priority, which can simplify the process and reduce unnecessary computing overhead. When the load is low, there is no need to perform complex priority sorting steps, and the tasks can be directly executed, which improves the task processing speed.
[0057] 102. Generate an efficiency improvement point for each of the tasks to be executed according to the current working state information and the task type of the tasks to be executed, and obtain an efficiency improvement point information set;
[0058] Specifically, the current working state information and the task type of the task to be executed are input as input parameters into a pre-trained neural network model.
[0059] The neural network model will calculate based on the input parameters and output the efficiency improvement point information for each task to be executed. The efficiency improvement point refers to the opportunity to improve the efficiency of task execution through optimization during the operation process. In this embodiment, the efficiency improvement point can be reflected in the following aspects:
[0060] By analyzing historical scheduling data, machine learning algorithms can identify which scheduling strategies perform poorly in certain situations, thereby optimizing scheduling decisions, reducing task waiting time, and increasing the processing speed of high-priority tasks.
[0061] Through historical data learning and real-time feedback, the resource requirements of tasks can be predicted, and resource waste can be reduced or bottlenecks caused by insufficient resources can be avoided through more accurate allocation.
[0062] It can adjust the priority of tasks in real time according to the execution status, delay and system resource status of tasks to ensure that the most needed tasks can be processed in time. It is through feedback mechanism and real-time monitoring that the efficiency of task execution is improved.
[0063] By resolving resource conflicts, the delay or rescheduling time caused by abnormal events can be reduced, thereby improving the overall task execution efficiency.
[0064] Collect the efficiency improvement point information of all tasks to be executed to form an efficiency improvement point information set.
[0065] Based on the priority set, resource requirement information set and efficiency improvement point information set, all tasks to be executed are arranged according to certain rules.
[0066] A task queue is generated based on the comprehensive results. Tasks with high priority and significant efficiency improvement points will be placed at the front of the queue so that these tasks can be executed first under available resources.
[0067] 103. Dynamically arrange the tasks to be executed according to the priority set, the efficiency improvement point information set and the resource requirement information set to obtain a task queue, and process the task queue.
[0068] Specifically, tasks are executed one by one according to the generated task queue. During the execution process, system resources are dynamically allocated according to the resource requirements of the tasks.
[0069] During the task execution process, dynamic adjustments can be made according to the real-time status of the task's dynamic scheduling device, such as adjusting the task priority or reallocating resources, to further improve the overall scheduling efficiency of the system.
[0070] Optionally, in a specific scenario, the dynamic scheduling device of the task includes five parts: a task priority definition module, a resource manager, a dynamic scheduling algorithm, a task queue management system, and a performance monitoring module.
[0071] The task priority definition module assigns a priority to each task to ensure that high-priority tasks are executed first. Priority is calculated through data collection, weight allocation and weighted algorithm, and the priority can be adjusted in real time, supporting manual intervention and graphical interface operation.
[0072] The resource manager is responsible for monitoring and allocating system resources of the dynamic scheduling device of tasks to ensure the rational use of resources. It includes resource monitoring, resource scheduling, allocation and manual adjustment functions to prevent resource conflicts and optimize resource utilization efficiency.
[0073] The dynamic scheduling algorithm dynamically schedules tasks according to task priority and resource conditions, uses priority queues and machine learning models to optimize scheduling decisions, ensures efficient resource utilization, and quickly handles exceptions and conflicts.
[0074] The task queue management system manages the task queue to ensure that tasks are executed in order of priority. It supports concurrency, security, task dependency management and failure handling, and provides task queue status monitoring and logging.
[0075] The performance monitoring module monitors system performance indicators in real time, collects data and stores it in a time series database, performs statistical analysis and anomaly detection, sets alarm thresholds, and provides visualization and regular report generation through a dashboard.
[0076] In an embodiment of the present invention, the task priority of each task to be executed is calculated to obtain a priority set, and the resource requirement information of each task to be executed is calculated to obtain a resource requirement information set, and the current working state information is collected; according to the current working state information and the task type of the task to be executed, the efficiency improvement point of each task to be executed is generated to obtain an efficiency improvement point information set; according to the priority set, the efficiency improvement point information set and the resource requirement information set, the tasks to be executed are dynamically arranged to obtain a task queue, and the task queue is processed. By dynamically calculating the resource requirement information of each task and generating the efficiency improvement point of the task based on the real-time working state information and the task type, the intelligent dynamic allocation of resources can be realized, and the overall resource utilization rate is effectively improved. Based on factors such as the task type and the real-time working state, the priority set is calculated and the task queue is flexibly arranged. When a high-priority task appears, the task order can be automatically adjusted to avoid the delay of key tasks. By calculating the efficiency improvement point information, it is also possible to evaluate which tasks can improve the execution efficiency through specific resource allocation and priority improvement in a complex environment.
[0077] In traditional task scheduling methods, scheduling strategies usually rely on static rules or simple priority mechanisms, which are difficult to cope with complex real-time system environments, especially scenarios where the system status is constantly changing. In large-scale, multi-task systems, these traditional methods often find it difficult to find the optimal task execution order, resulting in resource waste or system performance degradation. In order to solve the above technical problems, the present invention proposes an optional embodiment.
[0078] Reference Figure 2 , Figure 2 FIG. 1 is a schematic diagram of a specific embodiment of step 102 of the method for dynamically scheduling tasks in an embodiment of the present invention. Step 102 also includes the following specific implementation methods:
[0079] 1021. Using the current working state information and the task type of the task to be executed as model input parameters;
[0080] Specifically, the dynamic scheduling device of the task collects the current working status information, including CPU usage, memory usage, task queue status, etc., and also obtains the type information of each task to be executed, such as the computational complexity and execution time of the task.
[0081] The collected current work status information and task types are used as input parameters of the model. The model is a pre-trained neural network model that has been trained with historical scheduling data and can predict the optimal execution time or efficiency improvement point for each task.
[0082] Optionally, the preset historical scheduling data is used as a training set; according to the training set, a model training operation is performed on the initial neural network model to obtain the neural network model. Among them, by using the preset historical scheduling data to train the initial neural network model, the model can learn the rules and characteristics of the task scheduling process. The training operation based on historical data can also improve the model's ability to recognize different task types and system states, thereby enhancing the accuracy and adaptability of task scheduling. By training the neural network model, it can dynamically generate the optimal scheduling strategy under a variety of complex system states.
[0083] 1022. Input the model input parameters into a pre-trained neural network model to obtain a set of efficiency improvement point information output by the neural network model.
[0084] Specifically, after processing the input parameters, the neural network model outputs a set of efficiency improvement point information, which is used to optimize the scheduling order of tasks to improve task execution efficiency and system resource utilization.
[0085] Based on the efficiency improvement point information output by the neural network and combined with other information such as task priority and resource requirements, the task queue is dynamically rearranged to achieve optimal scheduling.
[0086] In an optional embodiment of the present invention, the efficiency improvement point of the task is automatically determined by a neural network model, avoiding the inflexibility of manually setting scheduling rules, making the scheduling process more intelligent and efficient. The neural network model can dynamically adapt to the complex environment of the system by analyzing the working status and task type of the dynamic scheduling device of the current task, so that the real-time load of the dynamic scheduling device of the task is fully considered when scheduling the task. Scheduling tasks according to the efficiency improvement point can improve the task processing efficiency of the dynamic scheduling device of the task, reduce the waste of resources of the dynamic scheduling device of the task, and thus improve the performance of the overall task.
[0087] In traditional task scheduling methods, simple priority sorting is usually performed based on the type of task or resource requirements, while ignoring the impact of the task on the business and the working status of the system. This method may perform well when the task volume is small or the task type is relatively simple, but when the task volume is large, the task type is complex, and the business importance is high, the traditional scheduling method is often difficult to meet the needs, which may lead to unreasonable resource allocation, delays in key tasks, and other problems. In order to solve the above technical problems, the present invention proposes an optional embodiment.
[0088] Reference Figure 3 , Figure 3 FIG. 1 is a schematic diagram of a specific embodiment of step 101 of the method for dynamically scheduling tasks in an embodiment of the present invention. Step 101 also includes the following specific implementation methods:
[0089] 1011. Acquire task information of the task to be executed to obtain a task information set, wherein the task information includes a task type information subset, a business influence index subset, and a resource requirement information subset;
[0090] Specifically, detailed task information of each task to be executed is collected. Task information includes the following subsets:
[0091] Task type information subset: indicates the type of each task, such as compute-intensive tasks, IO-intensive tasks, etc.
[0092] Business impact index subset: Indicates the impact of the task on the business, measured by business importance or urgency.
[0093] Resource requirement information subset: refers to the resources required for task execution, including CPU, memory, network bandwidth, etc.
[0094] 1012. According to the task information set, assign weights to the tasks to be executed to obtain a priority set.
[0095] Specifically, after collecting task information, corresponding weights are assigned to the tasks according to their different attributes. For example, tasks with higher business impact indexes can be assigned higher weights to ensure that these tasks are executed first.
[0096] After the weight allocation is completed, the tasks are prioritized according to the weights to form a priority set, which will be used for subsequent task scheduling decisions.
[0097] In an optional embodiment of the present invention, by collecting and weighting information such as task type, business impact, and resource demand, tasks can be classified and prioritized in a more detailed manner. This improves scheduling flexibility. In the task scheduling process, tasks with high business impact index and reasonable resource demand are prioritized, thereby improving overall operating efficiency.
[0098] In traditional task scheduling methods, the priority of tasks is usually determined only based on the resource requirements or task types of the tasks. Although this method can meet the system scheduling requirements to a certain extent, it is easy to cause problems such as delayed processing of key tasks or unreasonable resource allocation in complex business scenarios. For example, when the resource requirements of a task are low, the traditional method may underestimate the importance of the task to the business, causing it to be at a disadvantage in the priority sorting, thereby affecting the overall operation of the business. In order to solve the above technical problems, the present invention proposes an optional embodiment.
[0099] Step 1011 also includes the following specific implementations:
[0100] 10111. Obtain the task type associated with the task to be executed to obtain a task type subset, and call the prediction model to calculate the business influence index of the task to be executed to obtain a business influence index subset, and calculate the resource requirement information of the task to be executed to obtain a resource requirement information subset;
[0101] Specifically, the task type of each task to be executed is obtained. The task type may refer to the characteristics of the task, such as computationally intensive, IO intensive, delay sensitive, etc. By analyzing the type of the task, the task can be preliminarily classified and processed.
[0102] Use a pre-built prediction model to calculate the business impact index of each task. The business impact index measures the impact of a task on the entire business system. Tasks with higher impact indexes are usually related to the core of the business and require higher priority. By calling the prediction model, the importance of the task can be accurately assessed.
[0103] Analyze the resources required for each task, such as CPU, memory, network bandwidth, etc., and form a subset of resource requirement information. This subset helps to consider the reasonable allocation of resources when scheduling tasks and avoid resource overload or idleness.
[0104] 10112. Merge the task type information subset, the business impact index subset, and the resource requirement information subset to obtain the task information set.
[0105] In an optional embodiment of the present invention, the task priority can be calculated more accurately by combining the task type, business influence index and resource demand information. Compared with the method of prioritizing based solely on a certain indicator (such as resource demand), it can more comprehensively consider multiple factors of the task, thereby achieving a more scientific priority allocation.
[0106] Reference Figure 4 , the embodiment of the present disclosure provides a task dynamic scheduling device 400, including a task dynamic scheduling device body, and a task dynamic scheduling device 405. The task dynamic scheduling device 405 includes a processor (processor) 404 and a memory (memory) 401 storing program instructions. Optionally, the device may also include a communication interface (Communication Interface) 402 and a bus 403. Among them, the processor 404, the communication interface 402, and the memory 401 can complete mutual communication through the bus 403. The communication interface 402 can be used for information transmission. The processor 404 can call the program instructions in the memory 401 to execute the task dynamic scheduling method of the above embodiment. In addition, the logic instructions in the above-mentioned memory 401 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. The memory 401, as a computer-readable storage medium, can be used to store software programs, computer executable programs, such as program instructions / modules corresponding to the method in the embodiment of the present disclosure. The processor 404 executes the functional application and data processing by running the program instructions / modules stored in the memory 401, that is, the dynamic scheduling method of the task in the above embodiment is realized. The memory 401 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 401 may include a high-speed random access memory and may also include a non-volatile memory.
[0107] Reference Figure 5 , the embodiment of the present disclosure provides a server 500, including a processor (processor) 504 and a memory (memory) 501 storing program instructions. Optionally, the server may also include a communication interface (CommunicationInterface) 502 and a bus 503. Among them, the processor 504, the communication interface 502, and the memory 501 can communicate with each other through the bus 503. The communication interface 502 can be used for information transmission. The processor 504 can call the program instructions in the memory 501 to execute the dynamic scheduling method of the task of the above embodiment.
[0108] In addition, the logic instructions in the above-mentioned memory 501 can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product. The memory 501, as a computer-readable storage medium, can be used to store software programs, computer executable programs, such as program instructions / modules corresponding to the method in the embodiment of the present disclosure. The processor 504 executes functional applications and data processing by running the program instructions / modules stored in the memory 501, that is, the dynamic scheduling method of tasks in the above-mentioned embodiment is implemented. The memory 501 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 501 may include a high-speed random access memory and may also include a non-volatile memory.
[0109] The technical solution of the embodiment of the present disclosure can be embodied in the form of a software product, which is stored in a storage medium and includes one or more instructions for enabling a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in the embodiment of the present disclosure. The aforementioned storage medium may be a non-transient storage medium, including: 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, and other media that can store program codes, or a transient storage medium.
[0110] The above description and the accompanying drawings fully illustrate the embodiments of the present disclosure so that those skilled in the art can practice them. Other embodiments may include structural, logical, electrical, process and other changes. The embodiments represent only possible changes. Unless explicitly required, separate components and functions are optional, and the order of operation may vary. The parts and features of some embodiments may be included in or replace the parts and features of other embodiments. Moreover, the words used in this application are only used to describe the embodiments and are not used to limit the claims. As used in the description of the embodiments and the claims, unless the context clearly indicates, the singular forms of "a", "an" and "the" are intended to include plural forms as well. Similarly, the term "and / or" as used in this application refers to any and all possible combinations of listings containing one or more associated ones. In addition, when used in the present application, the term "comprise" and its variants "comprises" and / or comprising refer to the presence of stated features, wholes, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or groups thereof. In the absence of further restrictions, the elements defined by the sentence "comprising a ..." do not exclude the presence of other identical elements in the process, method or device comprising the elements. In this article, each embodiment may focus on the differences from other embodiments, and the same and similar parts between the various embodiments may refer to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method part disclosed in the embodiments, then the relevant parts can refer to the description of the method part.
[0111] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. The technicians may use different methods for each specific application to implement the described functions, but such implementations should not be considered to exceed the scope of the embodiments of the present disclosure. The technicians may clearly understand that, for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above may refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here.
[0112] In the embodiments disclosed herein, the disclosed methods and products (including but not limited to devices, equipment, etc.) can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units can be only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to implement this embodiment. In addition, each functional unit in the embodiment of the present disclosure may be integrated in a processing unit, or each unit may exist physically alone, or two or more units may be integrated in one unit.
[0113] The flowchart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to the embodiment of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. In some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. In the description corresponding to the flowchart and the block diagram in the accompanying drawings, the operations or steps corresponding to different boxes can also occur in a different order from the order disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. Each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified functions or actions, or may be implemented by a combination of dedicated hardware and computer instructions.
Claims
1. A method for dynamic scheduling of tasks, characterized in that: The dynamic scheduling method of the task includes: Calculate the task priority of each task to be executed to obtain a priority set, calculate the resource requirement information of each task to be executed to obtain a resource requirement information set, and collect current working status information; Generate an efficiency improvement point for each of the tasks to be executed according to the current working state information and the task type of the tasks to be executed, and obtain an efficiency improvement point information set; According to the priority set, the efficiency improvement point information set and the resource requirement information set, the tasks to be executed are dynamically arranged to obtain a task queue, and the task queue is processed.
2. The method for dynamic scheduling of tasks according to claim 1, characterized in that: The step of determining the efficiency improvement point of the task to be executed according to the current working state information and the task type of the task to be executed comprises: Using the current working state information and the task type of the task to be performed as model input parameters; The model input parameters are input into a pre-trained neural network model to obtain a set of efficiency improvement point information output by the neural network model.
3. The method for dynamic scheduling of tasks according to claim 2, characterized in that: Before the step of using the current working state information and the task type of the task to be executed as model input parameters, the method further includes: Use the preset historical scheduling data as a training set; According to the training set, a model training operation is performed on the initial neural network model to obtain the neural network model.
4. The method for dynamic scheduling of tasks according to claim 1, characterized in that: The step of calculating the task priority of each task to be executed to obtain a priority set comprises: Acquire task information of the task to be executed to obtain a task information set, wherein the task information includes a task type information subset, a business influence index subset, and a resource requirement information subset; According to the task information set, weights are assigned to the tasks to be executed to obtain a priority set.
5. The method for dynamic scheduling of tasks according to claim 4, characterized in that: The step of obtaining the task information associated with the task to be executed to obtain a task information set includes: Obtaining the task type associated with the task to be executed, obtaining a task type subset, and calling the prediction model to calculate the business impact index of the task to be executed, obtaining a business impact index subset, and calculating the resource requirement information of the task to be executed, obtaining a resource requirement information subset; The task type information subset, the business influence index subset and the resource requirement information subset are combined to obtain the task information set.
6. The method for dynamic scheduling of tasks according to claim 1, characterized in that: The step of calculating the task priority of each task to be executed to obtain a priority set comprises: Detecting whether the number of tasks to be executed is greater than a preset number; When the number of tasks is greater than the preset number, the task priority of each task to be executed is calculated to obtain a priority set.
7. The method for dynamic scheduling of tasks according to claim 1, characterized in that: After the step of detecting whether the number of tasks to be executed is greater than a preset number, the method further includes: When the number of tasks is less than or equal to the preset number, the tasks to be executed are directly processed.
8. A dynamic scheduling device for tasks, characterized in that: It comprises a memory and a processor, wherein the processor is used to execute program instructions stored in the memory to implement the dynamic scheduling method of tasks described in any one of claims 1 to 7.
9. A server, characterized in that: It comprises a memory and a processor, wherein the processor is used to execute program instructions stored in the memory to implement the dynamic scheduling method of tasks described in any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for dynamically scheduling tasks according to any one of claims 1 to 7 is implemented.
Citation Information
Cited By
Server device control method and device and medium
CN119576589A
A control method, device and medium for a server device
CN119576589B
Instruction scheduling method, computer program product, electronic equipment and medium
CN120010928A
An instruction scheduling method, a computer program product, an electronic device, and a medium
CN120010928B
Task planning method and device for unmanned cluster
CN120806467A