Task set scheduling method and device, storage medium and electronic equipment
By obtaining task description information and node status information, dynamically scheduling tasks in distributed computing systems, the problem of low task scheduling flexibility in the prior art is solved, and the flexibility and adaptability of task allocation are achieved.
Patent Information
- Application Number
- CN202411838065.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2044-12-12
AI Technical Summary
In existing distributed computing systems, task scheduling flexibility is low, and task allocation plans cannot be dynamically adjusted to adapt to changes in network state and computing resources.
By obtaining the task description information of the object task collection and the node status information of the calculation node, the candidate task scheduling scheme is determined based on the task scheduling constraints and the node scheduling constraints, and the target task scheduling scheme is selected according to the scheme evaluation index, and dynamically schedule the object tasks to the optimal computing node.
It realizes the flexibility and adaptability of task scheduling, and can dynamically adjust the task allocation plan according to actual conditions, improving the stability and efficiency of the system.
Smart Images

Figure CN119718579A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computers, and in particular to a method and device for scheduling a task set, a storage medium, and an electronic device. Background Art
[0002] With the continuous development of information technology, distributed computing through multiple computing devices has been widely used, and current computing resources are increasingly distributed at different levels and locations, such as edge computing nodes, fog computing nodes, and cloud computing centers. These nodes not only have obvious distribution differences in geographical location, but also in computing power, storage capacity, network bandwidth, and energy consumption characteristics. There are also significant differences.
[0003] However, in current distributed computing, computing tasks are usually assigned to computing nodes based on static task scheduling rules. The task allocation scheme cannot be changed dynamically according to actual conditions, and the changes in network status and computing resources cannot be adapted. In the face of changes in network status and computing resources, it is impossible to flexibly make dynamic changes to the task scheduling scheme according to the new environment and the characteristics of the task itself. In other words, in the existing technology, there is a technical problem of low flexibility in task scheduling.
[0004] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0005] The embodiments of the present application provide a method and device for scheduling a task set, a storage medium, and an electronic device to at least solve the technical problem of unstable operation of an application when deployed on a cloud platform instance in the current related technology.
[0006] According to one aspect of an embodiment of the present application, a method for scheduling a task set is provided, comprising: when at least one object task in the object task set meets a scheduling condition, obtaining a task description information set matching the object task set, wherein the task description information set includes task description information of each of the multiple object tasks; obtaining a node status information set matching a computing node set, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of the multiple computing nodes, and the multiple computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes; and scheduling the task description information set according to the task description information of each of the multiple object tasks. When at least one candidate task scheduling scheme is determined based on the task scheduling constraints indicated by the description information and the node scheduling constraints indicated by the node operation status information of each of the multiple computing nodes, a scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme is determined, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes assigned to each of the multiple object tasks in the object task set; according to the scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes, a target task scheduling scheme is determined from the at least one candidate task scheduling scheme, and according to the target task scheduling scheme, at least one object task in the object task set is scheduled to the target computing node indicated by the target task scheduling scheme.
[0007] According to another aspect of an embodiment of the present application, a scheduling device for a task set is also provided, including: a first acquisition unit, used to acquire a task description information set matching the object task set when at least one object task in the object task set meets a scheduling condition, wherein the task description information set includes task description information of each of the multiple object tasks; a second acquisition unit, used to acquire a node status information set matching the computing node set, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of the multiple computing nodes, and the multiple computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes; a first determination unit, used to According to the task scheduling constraints indicated by the task description information of each of the multiple object tasks and the node scheduling constraints indicated by the node operation status information of each of the multiple computing nodes, when at least one candidate task scheduling scheme is determined, a scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme is determined respectively, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes assigned to each of the multiple object tasks in the object task set; the scheduling unit determines a target task scheduling scheme from at least one candidate task scheduling scheme according to the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, and schedules at least one object task in the object task set to the target computing node indicated by the target task scheduling scheme according to the target task scheduling scheme.
[0008] Optionally, the scheduling device of the above-mentioned task set also includes: a second determination unit, which is used to determine at least one candidate scheduling scheme based on the fog computing node subset and the edge computing node subset when, in a reference task scheduling scheme determined according to the edge computing node subset, the performance load parameter of the edge computing node in the edge computing node subset is greater than or equal to the performance load threshold, wherein in the candidate scheduling scheme, the bandwidth parameter required for the object task assigned to the fog computing node is greater than or equal to the bandwidth threshold, the node scheduling constraint includes the node performance constraint, and the task scheduling constraint includes the task bandwidth requirement condition; in a reference task scheduling scheme determined according to the edge computing node subset, when the performance load parameter of the edge computing node in the edge computing node subset is greater than or equal to the performance load threshold, determine at least one candidate scheduling scheme based on the cloud computing node subset and the edge computing node subset, wherein in the candidate scheduling scheme, the computing amount parameter corresponding to the object task assigned to the cloud computing node is greater than or equal to the computing amount threshold, the node scheduling constraint includes the node performance constraint, and the task scheduling constraint includes the task computing amount condition.
[0009] Optionally, the above-mentioned scheduling unit is also used to obtain a set of candidate task scheduling schemes determined by the previous round of genetic algorithm; determine the scheme evaluation index corresponding to each candidate task scheduling scheme in the candidate task scheduling scheme set, wherein the scheme evaluation index is determined according to the task fitness corresponding to each object task in the corresponding candidate task scheduling scheme, and the task fitness is determined according to at least one task operation description parameter of each object task, and the task operation description parameter includes at least one of the following: task execution time, task data transmission time, task execution resource consumption, the ratio between node load and processing capacity, task data volume, task calculation complexity, and task time node; when the current number of iterations does not meet the iteration number condition, determine the current scheduling scheme subset from the candidate task scheduling scheme set according to the sorting result of the scheme evaluation index corresponding to each candidate task scheduling scheme; perform a genetic update operation on the current scheduling scheme subset to obtain the candidate task scheduling scheme set corresponding to the current round; when the current number of iterations meets the iteration number condition, determine the target task scheduling scheme from the candidate task scheduling scheme set according to the sorting result of the scheme evaluation index.
[0010] Optionally, the first determination unit is also used to: obtain a set of candidate task scheduling schemes determined by the previous round of genetic algorithm; determine the scheme evaluation index corresponding to each candidate task scheduling scheme in the candidate task scheduling scheme set, wherein the scheme evaluation index is determined according to the task fitness corresponding to each object task in the corresponding candidate task scheduling scheme, and the task fitness is determined according to at least one task operation description parameter of each object task, and the task operation description parameter includes at least one of the following: task execution time, task data transmission time, task execution resource consumption, the ratio between node load and processing capacity, task data volume, task calculation complexity, and task time node; when the current number of iterations does not meet the iteration number condition, determine the current scheduling scheme subset from the candidate task scheduling scheme set according to the sorting result of the scheme evaluation index corresponding to each candidate task scheduling scheme; perform a genetic update operation on the current scheduling scheme subset to obtain the candidate task scheduling scheme set corresponding to the current round; when the current number of iterations meets the iteration number condition, determine the target task scheduling scheme from the candidate task scheduling scheme set according to the sorting result of the scheme evaluation index.
[0011] Optionally, the above-mentioned traffic scheduling device also includes an energy consumption determination unit, which is used to use the difference between the maximum power consumption of the computing node and the idle power consumption of the computing node as the first reference parameter; use the ratio of the processor utilization of the computing node to a value of 100 as the second reference parameter; use the product of the first reference parameter and the second reference parameter as the third reference parameter; and determine the sum of the idle power consumption and the third reference parameter of the computing node as the predicted energy consumption parameter of the computing node.
[0012] Optionally, the scheduling device of the above-mentioned task set also includes a third determination unit, which is used to: determine that the first object task meets the scheduling conditions when there is a newly added first object task in the object task set; determine that the second object task meets the scheduling conditions when the node operation status information of the second computing node corresponding to the second object task in the object task set indicates that the node status of the second computing node meets the target status conditions; determine that the third object task meets the scheduling conditions when the task description information of the third object task in the object task set is updated, wherein the updated task description information includes at least one of the following: task priority, task timeliness, task calculation amount, and task evaluation weight.
[0013] Optionally, the scheduling device of the above-mentioned task set also includes a reference scheduling unit, which is used to schedule at least one object task running in at least one first reference computing node to at least one second reference computing node when the node operation status information of at least one first reference computing node in the computing node set indicates that the energy consumption parameter of the first reference computing node is greater than or equal to the energy consumption threshold, wherein the energy consumption parameter of the second reference computing node is lower than the energy consumption parameter of the first reference computing node; and to schedule at least one object task running in at least one third reference computing node to at least one fourth reference computing node when the node operation status information of at least one third reference computing node in the computing node set indicates that the performance load parameter of the third reference computing node is greater than or equal to the performance load threshold.
[0014] According to another aspect of the embodiments of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the above-mentioned traffic scheduling method when running.
[0015] According to another aspect of the embodiment of the present application, a computer program product or a computer program is provided, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the above traffic scheduling method.
[0016] According to another aspect of an embodiment of the present application, there is further provided an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to execute the traffic scheduling method through the computer program.
[0017] In an embodiment of the present application, first, when at least one object task in the object task set meets the scheduling condition, a task description information set matching the object task set is obtained, wherein the task description information set includes task description information of each of the multiple object tasks; then, a node status information set matching the computing node set is obtained, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of the multiple computing nodes, and the multiple computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes; then, according to the tasks indicated by the task description information of each of the multiple object tasks, The method comprises the following steps: according to the scheduling constraint conditions, and the node scheduling constraint conditions indicated by the node operation status information of each of the multiple computing nodes, when at least one candidate task scheduling scheme is determined, the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme is determined, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes assigned to each of the multiple object tasks in the object task set; and further, according to the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, the target task scheduling scheme is determined from the at least one candidate task scheduling scheme, and according to the target task scheduling scheme, at least one object task in the object task set is scheduled to the target computing node indicated by the target task scheduling scheme. Thus, when the object task meets the preset scheduling conditions, the technical effect of being able to flexibly change the scheduling scheme of the object task dynamically according to the own characteristics of the object task and the node characteristics of the computing node is achieved, and the technical problem of low flexibility of task scheduling existing in the prior art is solved. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0019] Figure 1 It is a hardware structure block diagram of a server device according to an optional task set scheduling method of an embodiment of the present application;
[0020] Figure 2 is a flowchart of an optional method for scheduling a task set according to an embodiment of the present application;
[0021] Figure 3 is a flowchart of another optional method for scheduling a task set according to an embodiment of the present application;
[0022] Figure 4 is a flowchart of another optional method for scheduling a task set according to an embodiment of the present application;
[0023] Figure 5 is a schematic diagram of the structure of an optional scheduling device for a task set according to an embodiment of the present application;
[0024] Figure 6 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0025] In order to enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this application.
[0026] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0027] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 1 is a hardware structure block diagram of a server device of a data processing method in a memory in an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned server device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.
[0028] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the traffic scheduling method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories can be connected to the server device 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.
[0029] The transmission device 106 is used to receive or send data via a network. The above-mentioned specific examples of the network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (Radio Frequency, referred to as RF) module, which is used to communicate with the Internet wirelessly.
[0030] In the above implementation, when at least one object task in the object task set meets the scheduling condition, a task description information set matching the object task set can be obtained, wherein the task description information set includes task description information of each of the multiple object tasks; and then a node status information set matching the computing node set can be obtained, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of the multiple computing nodes, and the multiple computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes; and then, according to the tasks indicated by the task description information of each of the multiple object tasks, The method comprises the following steps: according to the scheduling constraint conditions, and the node scheduling constraint conditions indicated by the node operation status information of each of the multiple computing nodes, when at least one candidate task scheduling scheme is determined, the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme is determined, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes assigned to each of the multiple object tasks in the object task set; and further, according to the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, the target task scheduling scheme is determined from the at least one candidate task scheduling scheme, and according to the target task scheduling scheme, at least one object task in the object task set is scheduled to the target computing node indicated by the target task scheduling scheme. Thus, when the object task meets the preset scheduling conditions, the technical effect of being able to flexibly change the scheduling scheme of the object task dynamically according to the own characteristics of the object task and the node characteristics of the computing node is achieved, and the technical problem of low flexibility of task scheduling existing in the prior art is solved.
[0031] As an optional implementation, Figure 2 As shown, the scheduling method of the above task set includes:
[0032] S202, when at least one object task in the object task set meets the scheduling condition, obtaining a task description information set matching the object task set, wherein the task description information set includes respective task description information of a plurality of object tasks;
[0033] S204, obtaining a node status information set matching the computing node set, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of the plurality of computing nodes, and the plurality of computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes;
[0034] S206, when at least one candidate task scheduling scheme is determined according to the task scheduling constraint conditions indicated by the task description information of each of the plurality of object tasks and the node scheduling constraint conditions indicated by the node operation status information of each of the plurality of computing nodes, respectively determine a scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes allocated to each of the plurality of object tasks in the object task set;
[0035] S208, determining a target task scheduling scheme from at least one candidate task scheduling scheme according to a scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes, and scheduling at least one object task in the object task set to a target computing node indicated by the target task scheduling scheme according to the target task scheduling scheme.
[0036] It should be noted that in the above step S202, the above scheduling condition may be a change in the number of object tasks in the above object set, such as an increase or decrease, or a change in the computing node executing the object task, etc., which is not specifically limited here.
[0037] For example, when there is a newly added object task in the above object task set, the newly added object task meets the scheduling conditions. For another example, when a task in the object task set is deleted from the object task set due to completion of execution, the other object tasks in the object task set meet the traffic scheduling conditions. For another example, when the computing node responsible for executing a certain object task changes, such as network fluctuations or no response, the object task corresponding to the node meets the scheduling conditions.
[0038] It can be understood that the above-mentioned computing node set includes three types of computing nodes, namely edge computing nodes, fog computing nodes, and cloud computing nodes. Each node constitutes a corresponding computing node subset. It should be noted that the number of nodes in each node subset can be one or more or zero, and no specific limitation is made here.
[0039] It should be noted that the above-mentioned edge computing nodes are located at the edge of the computing network, close to users or data sources, and are used to provide fast data transmission, processing, computing and storage services. Thereby reducing delays and improving response speed. The above-mentioned cloud computing nodes are usually cloud computing data centers, which can provide powerful computing and storage capabilities. Cloud computing nodes are responsible for permanently storing useful data processed by edge computing nodes. At the same time, analysis tasks that edge computing nodes cannot handle and processing tasks of comprehensive global information can be scheduled to cloud computing nodes. The above-mentioned fog computing node is an intermediate node between edge computing nodes and cloud computing nodes, providing a layered architecture to achieve the connection between local resources and cloud resources. Fog computing nodes are closer to data sources than cloud computing nodes and have better real-time performance.
[0040] Optionally, the above-mentioned task description information is used to describe the task characteristics of the corresponding object task, such as the computational complexity, data transmission requirements, real-time requirements, storage requirements, etc. of the object task; the above-mentioned node operation status information is used to describe the node characteristics of the corresponding computing node, such as CPU utilization, memory utilization, network latency, etc., as well as the network status information corresponding to the node, such as bandwidth utilization, packet loss rate, etc., which are not specifically limited here.
[0041] Furthermore, after obtaining the task description information through the above step S202 and the node operation information through the above step S204, execute step S206. When at least one candidate task scheduling scheme is determined based on the task scheduling constraints indicated by the task description information of each of the multiple object tasks and the node scheduling constraints indicated by the node operation status information of each of the multiple computing nodes, determine the scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes.
[0042] Specifically, in the above step S206, at least one candidate task scheduling scheme is determined according to the task scheduling constraints indicated by the task description information of each of the multiple object tasks and the node scheduling constraints indicated by the node operation status information of each of the multiple computing nodes, including:
[0043] Repeat the following steps until the object task set is traversed:
[0044] S206-1, acquiring an object task from the object task set according to the first order as the current object task;
[0045] S206-2, sequentially obtaining a computing node from the computing node set according to the second order as the current computing node;
[0046] S206-3, determining the task matching degree that matches the current computing node according to the task description information of the current object task and the node operation status description information of the current computing node, wherein the task matching degree is determined according to at least one task operation description parameter, and the task operation description parameter includes at least one of the following: task execution time, task data transmission time, task execution resource consumption, the ratio between node load and processing capacity, task data volume, task calculation complexity, and task time node;
[0047] S206-4, determining a candidate computing node matching the current object task from the multiple computing nodes according to the ranking results of the task matching degrees of the multiple computing nodes;
[0048] S206 - 5 , when the traversal of the object task set is completed, a candidate task scheduling scheme is determined according to the multiple object tasks and the candidate computing nodes that match them respectively.
[0049] It can be understood that the above steps S206-1 to S206-4 are loop steps executed on the object task set, and the termination condition of the loop execution is that the above object task set is traversed completely. Then, after the loop is terminated, the above step S206-5 is executed.
[0050] It should be noted that the first order may be an order determined by the user according to a certain rule or randomly, such as sorting by the time when the tasks are generated, or sorting by the amount of data of the tasks, which is not specifically limited here.
[0051] Specifically, assuming that there are object tasks A, B, and C at present, the first order can be determined according to multiple rules, such as sorting by the amount of remaining data to be processed. If object task A has the largest amount of remaining data to be processed, then object task A is determined as the first current object task obtained according to the first order, and object tasks B and object task C have the same amount of remaining data to be processed, then the object tasks are further sorted according to their generation time. Assuming that the generation time of object task B is later than that of object task C, then object task B is determined as the second current object task obtained according to the first order, and object task C is determined as the third current object task obtained according to the first order.
[0052] Similarly, the second order mentioned above can also be an order determined by the user according to actual needs or a random order. For example, the order is first divided according to the node type, for example, edge computing nodes are prioritized, fog nodes are second, and cloud nodes are last, and further sorted according to the order of different subsets in each node subset, for example, according to the data processing volume per unit time of the node.
[0053] Therefore, after the current object task and the current computing node are determined, step S206-3 is executed to determine the task matching degree that matches the current computing node based on the task description information of the current object task and the node operation status description information of the current computing node.
[0054] It should be noted that the above-mentioned task matching degree is determined by at least one task operation description parameter, and the task operation description parameter includes at least one of the following: task execution time, task data transmission time, task execution resource consumption, the ratio between node load and processing power, task data volume, task calculation complexity, and task time node. The above-mentioned task description parameters are provided by the task description information and the node operation status information. For example, the task description information provides the task data volume, task calculation complexity, and task time node, and the node operation status description information of the current task in the current computing node provides the task execution time of the current object task on the current computing node, the task data transmission time, and other task operation description parameters.
[0055] Specifically, assuming that there is a current object task A and a current computing node A, the following calculation is performed to obtain the task matching degree between the current object task A and the current computing node A:
[0056]
[0057] Among them, F is the task matching degree, a i is the preset weight, T1 is the task execution time, T2 is the task data transmission time, E1 is the task execution resource consumption, L / P is the ratio between node load and processing capacity, D is the task data volume, C is the task calculation complexity, and T3 is the task time node.
[0058] It can be understood that the task execution time refers to the time required for the current object task A to be executed in the current computing node A, the task data transmission time is the time consumed for the current object task A to be transmitted to the current computing node A, the task execution resource consumption is the total energy consumption consumed by the current object task A, including the energy consumption required for the current object task A to be transmitted to the current computing node A and the energy consumption required for the current object task A to be executed on the current computing node A, etc. The task time node is the task deadline of the current object task A.
[0059] Furthermore, after calculating the task matching degree F between the current object task A and the current computing node A, obtain the next computing node of the current computing node A from the computing node set in the second order as the new current computing node, and calculate the task matching degree between the current computing node A and the new current computing node.
[0060] It should be noted that the termination condition for obtaining a computing node as the current computing node from the computing node set in the second order can be that a certain number of computing nodes have been obtained without having to obtain all the computing nodes in sequence from the computing node set. For example, when the edge computing nodes are determined to be priority type nodes and are sorted, it is set that after the edge computing nodes are obtained in sequence according to the second order, fog computing nodes and cloud computing nodes will no longer be obtained.
[0061] Furthermore, based on the task matching degree between the current object task A and multiple current computing nodes, they can be sorted from small to large according to the matching degree values, so that the above-mentioned step S206-4 can be executed, and based on the sorting results of the task matching degrees of each of the multiple computing nodes, the candidate computing node that matches the current object task is determined from the multiple computing nodes; specifically, the current computing node with the smallest task matching degree value is determined as the candidate computing node for the current object task A.
[0062] As an optional implementation, assuming that the candidate computing node corresponding to the current object task A is the current computing node C, the current computing node C is deleted from the computing node set, and then the next object task of the current object task A is obtained from the object task set in the first order as the new current object task, and a computing node is obtained from the updated computing node set in turn in the second order as the current computing node to obtain the candidate computing node corresponding to the current object task of this round.
[0063] It can be understood that after the above steps S206-1 to S206-4 complete the traversal of the object task set, the candidate computing nodes corresponding to each object task in the object task set have been obtained, and the candidate computing nodes corresponding to different object tasks are also different. Therefore, step S206-5 is executed to determine the candidate task scheduling scheme based on multiple object tasks and their respective matching candidate computing nodes after the traversal of the object task set is completed.
[0064] As another optional implementation, the above-mentioned determination of at least one candidate task scheduling scheme based on the task scheduling constraints indicated by the task description information of each of the multiple object tasks and the node scheduling constraints indicated by the node operation status information of each of the multiple computing nodes can also be implemented in the following manner.
[0065] Specifically, at least one object task in the object task set that is not assigned a computing node is first determined as the object task subset to be assigned, and at least one computing node in the computing node set that is not executing the object task is determined as the computing node subset to be assigned. Thereafter, the following steps are repeated until the object task subset to be assigned is traversed:
[0066] S1, obtaining an object task from the subset of object tasks to be assigned according to the first order as the current object task;
[0067] S2, sequentially obtaining a computing node from the subset of computing nodes to be allocated according to the second order as the current computing node;
[0068] S3, determining the task matching degree that matches the current computing node according to the task description information of the current object task and the node operation status description information of the current computing node, wherein the task matching degree is determined according to at least one task operation description parameter, and the task operation description parameter includes at least one of the following: task execution time, task data transmission time, task execution resource consumption, the ratio between node load and processing capacity, task data volume, task calculation complexity, and task time node;
[0069] S4, determining a candidate computing node matching the current object task from the multiple computing nodes according to the ranking results of the task matching degrees of the multiple computing nodes;
[0070] S5, after completing the traversal of the subset of object tasks to be assigned, determining a candidate task scheduling scheme according to the multiple object tasks and their respective matching candidate computing nodes.
[0071] The following is a further example, assuming that there are object tasks A and object tasks B that are not assigned computing nodes in the object task set, and computing nodes A, B, and C that have not executed the object tasks in the computing node set, and the current object task is obtained in the first order, and the current computing node is obtained in the second order. It is assumed that the first order is task objects A and B, and the second order is computing nodes A, B, and C. At this time, the task object A first obtained is used as the current object task of this round of loops, and computing node A is used as the current computing node of this round of loops. After that, step S3 is executed to determine the task matching degree that matches the current computing node A. The task matching degree can be obtained by the task matching degree calculation formula in the above embodiment:
[0072]
[0073] Afterwards, after calculating the task matching degree F between the current object task A and the current computing node A, obtain the next computing node B of the current computing node A from the subset of computing nodes to be assigned in the second order as the new current computing node, and calculate the task matching degree between the current computing node A and the current computing node B, repeat the above steps to calculate the task matching degree between the current object task A and multiple computing nodes.
[0074] Thus, the above step S4 can be executed to determine the candidate computing node matching the current object task from the multiple computing nodes according to the sorting results of the task matching degrees of the multiple computing nodes; specifically, the current computing node with the smallest task matching degree value is determined as the candidate computing node for the current object task A.
[0075] Then, step S5 is executed to determine a candidate task scheduling scheme based on multiple object tasks and their respective matching candidate computing nodes after traversing the subset of object tasks to be assigned.
[0076] As an optional implementation, when at least one candidate task scheduling scheme is determined based on the task scheduling constraints indicated by the task description information of each of multiple object tasks and the node scheduling constraints indicated by the node operation status information of each of multiple computing nodes, a scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme is determined respectively.
[0077] It should be noted that the above scheme evaluation index may be a result of weighted summation of task matching degrees corresponding to a plurality of different object tasks.
[0078] For example, the current task scheduling scheme is to schedule object task A to computing node A, and the corresponding task matching degree is F1, and to schedule object task B to computing node B, and the corresponding task matching degree is F2. Further, F1 and F2 are weighted and summed, and the weights can be assigned according to the priority of the tasks. For example, if the priority of object task A is higher than that of object task B, F1 is assigned a higher weight value relative to F2.
[0079] Optionally, in the above step S208, determining a target task scheduling scheme from at least one candidate task scheduling scheme according to a scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes includes:
[0080] S208-1, obtaining a set of candidate task scheduling solutions determined by the previous round of genetic algorithm;
[0081] S208-2, respectively determining a scheme evaluation index corresponding to each candidate task scheduling scheme in the candidate task scheduling scheme set, wherein the scheme evaluation index is determined according to the task fitness corresponding to each object task in the corresponding candidate task scheduling scheme, and the task fitness is determined according to at least one task operation description parameter of each object task, and the task operation description parameter includes at least one of the following: task execution time, task data transmission time, task execution resource consumption, ratio between node load and processing capacity, task data volume, task calculation complexity, and task time node;
[0082] S208-3, when the current number of iterations does not meet the iteration number condition, determine a current scheduling solution subset from the candidate task scheduling solution set according to the ranking results of the solution evaluation indexes corresponding to the candidate task scheduling solutions; perform a genetic update operation on the current scheduling solution subset to obtain a candidate task scheduling solution set corresponding to the current round;
[0083] S208-4, when the current number of iterations meets the iteration number condition, a target task scheduling solution is determined from the set of candidate task scheduling solutions according to the sorting result of the solution evaluation index.
[0084] It should be noted that the above steps S208-1 to S208-4 are the iterative calculation process of the genetic algorithm, wherein in the above step S208-1, the first round of the genetic algorithm obtains the candidate task scheduling scheme obtained by the above step S206, and uses the node allocation scheme corresponding to each object task in the task scheduling scheme as a gene, and iterates the genetic algorithm through gene crossover and gene mutation. The following is a specific explanation of the first round of the genetic algorithm.
[0085] Assume that there is currently a candidate task scheduling scheme A. In candidate task scheduling scheme A, object task A is assigned to computing node A, and object task B is assigned to object node B. At this time, the candidate task scheduling scheme set obtained in step S208-1 only includes candidate task scheduling scheme A.
[0086] Afterwards, the above step S208-2 is executed to respectively determine the scheme evaluation index corresponding to each candidate task scheduling scheme in the candidate task scheduling scheme set, and in the first round of the genetic algorithm, the scheme evaluation index of the candidate task scheduling scheme A is determined.
[0087] Furthermore, when the preset number of iterations of the genetic algorithm is not met, step S208-3 is executed. When the current number of iterations does not meet the number of iterations, a current scheduling scheme subset is determined from the candidate task scheduling scheme set according to the sorting results of the scheme evaluation indexes corresponding to each of the candidate task scheduling schemes; a genetic update operation is performed on the current scheduling scheme subset to obtain a set of candidate task scheduling schemes corresponding to the current round.
[0088] Specifically, the candidate task scheduling scheme A is taken as an individual, and the two allocation situations of assigning the object task A to the computing node A and assigning the object task B to the object node B are taken as the gene of the individual, and the gene mutation is performed. For example, the gene of assigning the object task A to the computing node A is mutated to assigning the object task A to the computing node C, and the gene of assigning the object task B to the object node B is mutated to assigning to the computing node D, thereby obtaining a new individual candidate task scheduling scheme B. In the candidate task scheduling scheme B, the object task A is assigned to the computing node C, the object task B is assigned to the object node D, and the candidate task scheduling scheme B is added to the candidate task scheduling scheme set. It can be understood that in the second round of the genetic algorithm, the candidate task scheduling scheme set obtained by the above step S208-1 includes the candidate task scheduling scheme A and the candidate task scheduling scheme B.
[0089] It should be noted that when there are multiple candidate task scheduling schemes in the candidate task scheduling scheme set, that is, when there are multiple individuals in this round of genetic algorithm, the above genetic update operation can also be a gene crossover operation, which is illustrated below by taking the second round of genetic algorithm as an example.
[0090] In the second round of genetic algorithm, there are two individuals, candidate task scheduling scheme A and candidate task scheduling scheme B. Candidate task scheduling scheme A has two genes, namely, assigning object task A to computing node A and assigning object task B to object node B. Candidate task scheduling scheme B has two genes, namely, assigning object task A to computing node C and assigning object task B to object node D. Gene crossover operation is performed on the two individuals, for example, the genes corresponding to task object A are exchanged to obtain two new individuals, candidate task scheduling scheme C and candidate task scheduling scheme D. Candidate task scheduling scheme C has two genes, namely, assigning object task A to computing node C and assigning object task B to object node B. Candidate task scheduling scheme D has two genes, namely, assigning object task A to computing node A and assigning object task B to object node D. The above two new individuals are then added to the task scheduling scheme set for the next round of genetic algorithm calculation. It is understandable that, when there are multiple candidate task scheduling schemes in the above candidate task scheduling scheme set, gene crossover and gene mutation can be used at the same time, and no specific limitation is made here.
[0091] When the preset number of iterations of the genetic algorithm is met, step S208-4 is executed, and when the current number of iterations meets the number of iterations, the target task scheduling scheme is determined from the candidate task scheduling scheme set according to the sorting result of the scheme evaluation index. Specifically, the candidate task scheduling scheme with the lowest scheme evaluation index is used as the target task scheduling scheme.
[0092] Further, after the target task scheduling scheme is determined, at least one object task in the object task set is scheduled to a target computing node indicated by the target task scheduling scheme according to the target task scheduling scheme.
[0093] Through the embodiments provided by the present application, in the embodiments of the present application, first, when at least one object task in the object task set meets the scheduling condition, a task description information set matching the object task set is obtained, wherein the task description information set includes task description information of each of the multiple object tasks; and then a node status information set matching the computing node set is obtained, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of the multiple computing nodes, and the multiple computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes; then, according to the task description information of each of the multiple object tasks, According to the indicated task scheduling constraint conditions and the node scheduling constraint conditions indicated by the node operation status information of each of the multiple computing nodes, when at least one candidate task scheduling scheme is determined, the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme is determined respectively, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes assigned to each of the multiple object tasks in the object task set; and further, according to the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, a target task scheduling scheme is determined from at least one candidate task scheduling scheme, and according to the target task scheduling scheme, at least one object task in the object task set is scheduled to the target computing node indicated by the target task scheduling scheme. Thus, when the object task meets the preset scheduling conditions, the technical effect of being able to flexibly change the scheduling scheme of the object task dynamically according to the own characteristics of the object task and the node characteristics of the computing node is achieved, and the technical problem of low flexibility of task scheduling existing in the prior art is solved.
[0094] In an optional implementation, after obtaining the node status information set matching the computing node set, at least one of the following is further included:
[0095] S1, in a reference task scheduling scheme determined according to an edge computing node subset, when a performance load parameter of an edge computing node in the edge computing node subset is greater than or equal to a performance load threshold, determine at least one candidate scheduling scheme according to the fog computing node subset and the edge computing node subset, wherein in the candidate scheduling scheme, a bandwidth parameter required by an object task to which the fog computing node is allocated is greater than or equal to a bandwidth threshold, the node scheduling constraint condition includes a node performance constraint condition, and the task scheduling constraint condition includes a task bandwidth requirement condition;
[0096] S2. In a reference task scheduling scheme determined according to an edge computing node subset, when a performance load parameter of an edge computing node in the edge computing node subset is greater than or equal to a performance load threshold, determine at least one candidate scheduling scheme based on the cloud computing node subset and the edge computing node subset, wherein in the candidate scheduling scheme, a computing amount parameter corresponding to an object task assigned to a cloud computing node is greater than or equal to the computing amount threshold, the node scheduling constraint condition includes a node performance constraint condition, and the task scheduling constraint condition includes a task computing amount condition.
[0097] It should be noted that in the above steps S1 to S2, the reference task scheduling scheme determined based on the edge computing node subset refers to assigning the object task to the edge computing node only, while the fog computing node and the cloud computing node do not participate in the task allocation. In this case, when the performance load parameter of an edge computing node is greater than or equal to the performance load threshold, the object task in the computing node needs to be scheduled to other computing nodes. The scheduling method can be scheduling to other edge computing nodes, or scheduling to fog nodes or cloud nodes according to the task characteristics.
[0098] Specifically, for example, when the bandwidth demand of the object task is large, the object task is scheduled to a fog computing node. It should be noted that the scheduling method can be to schedule the entire object task to a fog computing node, or to schedule one or more subtasks in the object task to one or more fog computing nodes. No specific limitation is made here.
[0099] For example, when the computing demand of the object task is large and the object task has a high tolerance for delay, the object task can be scheduled to a cloud computing node. Similarly, the scheduling method can be to schedule the entire object task to a cloud computing node, or to schedule one or more subtasks in the object task to one or more cloud computing nodes. No specific limitation is made here.
[0100] Through the above-mentioned implementation manner of the present application, in the reference task scheduling scheme determined according to the edge computing node subset, when the performance load parameter of the edge computing node in the edge computing node subset is greater than or equal to the performance load threshold, at least one candidate scheduling scheme is determined from the fog computing node subset and the edge computing node subset, and / or at least one candidate scheduling scheme is determined from the cloud computing node subset and the edge computing node subset, so that the fog computing nodes and the cloud computing nodes can supplement the edge computing nodes.
[0101] In an optional implementation manner, determining the resource consumption of the task execution includes:
[0102] S1, taking the difference between the highest energy consumption parameter of the computing node and the idle energy consumption parameter of the computing node as the first reference parameter;
[0103] S2, taking the ratio of the processor utilization of the computing node to a value of one hundred as a second reference parameter;
[0104] S3, taking the product of the first reference parameter and the second reference parameter as the third reference parameter;
[0105] S4, determining the sum of the idle energy consumption parameter of the computing node and the third reference parameter as the predicted energy consumption parameter of the computing node.
[0106] It should be noted that the process of obtaining the predicted energy consumption parameters of the computing node through the above steps S1 to S4 can be implemented by the following mathematical model:
[0107]
[0108] The above-mentioned E2 is the predicted energy consumption parameter of the computing node, which is used to predict the power consumption generated by the execution of the object task on the computing node. P1 is the idle energy consumption parameter of the computing node, which is used to describe the power consumption generated by the computing node when it is idle. P2 is the maximum energy consumption parameter, which is used to describe the power consumption of the computing node under full load. U is the processor utilization (CPU utilization) of the computing node.
[0109] It is worth noting that the above-mentioned predicted energy consumption parameter E2 is part of the above-mentioned task execution resource consumption. The above-mentioned task execution resource consumption can also include the energy consumption generated during the task object scheduling process. In actual application, other energy consumption can be ignored, and only the predicted energy consumption parameter is regarded as the task execution resource consumption, and subsequent calculations are performed, without specific limitations here.
[0110] In an optional implementation manner, before obtaining the task description information set matching the object task set, at least one of the following is included:
[0111] S1, when there is a newly added first object task in the object task set, determining that the first object task meets the scheduling condition;
[0112] S2, when the node running status information of the second computing node corresponding to the second object task in the object task set indicates that the node status of the second computing node meets the target status condition, determining that the second object task meets the scheduling condition;
[0113] S3, when the task description information of the third object task in the object task set is updated, determine that the third object task meets the scheduling conditions, wherein the updated task description information includes at least one of the following: task priority, task timeliness, task computation amount, and task evaluation weight.
[0114] In the above steps S1 to S3, in step S1, when there is a newly added first object task in the object task set, determining that the first object task meets the scheduling condition can refer to the description of the above step S202, which will not be repeated here.
[0115] It should be noted that in the above step S2, the node state meets the target state condition when the energy consumption parameter generated by the node during operation exceeds the preset threshold or the load parameter exceeds the preset threshold.
[0116] To further illustrate, for example, when the power consumption generated by the second computing node when running the second object task exceeds the preset power consumption threshold, the node operation status information of the second computing node at this time indicates that the node state of the second computing node meets the target state condition. For another example, when the CPU utilization of the second computing node exceeds the preset CPU utilization threshold when the second computing node runs the second object task, the node operation status information of the second computing node at this time indicates that the node state of the second computing node meets the target state condition.
[0117] It is understandable that in the above step S3, when the task description information of the third object task, such as the task priority, task timeliness, task computation amount, task evaluation weight, etc., changes, it is determined that the third object task meets the scheduling condition.
[0118] For example, when the task validity period of the third object task changes, it is determined that the third object task meets the scheduling conditions and triggers the rescheduling of the task set, that is, triggering the execution of the above steps S202 to S208. The execution process of the above steps S202 to S208 refers to the detailed description in the previous embodiment and will not be repeated here.
[0119] For another example, when the evaluation weight of one or more tasks of the third object task changes, it is determined that the third object task meets the scheduling condition and triggers the rescheduling of the task set. It should be noted that the above task evaluation weight is a in the following formula: i :
[0120]
[0121] In an optional implementation, the above-mentioned scheduling at least one object task in the object task set to the target computing node indicated by the target task scheduling scheme according to the target task scheduling scheme includes at least one of the following:
[0122] S1, when the node running status information of at least one first reference computing node in the computing node set indicates that the energy consumption parameter of the first reference computing node is greater than or equal to the energy consumption threshold, scheduling at least one object task running in the at least one first reference computing node to at least one second reference computing node, wherein the energy consumption parameter of the second reference computing node is lower than the energy consumption parameter of the first reference computing node;
[0123] S2. When the node operation status information of at least one third reference computing node in the computing node set indicates that the performance load parameter of the third reference computing node is greater than or equal to the performance load threshold, at least one object task running in at least one third reference computing node is scheduled to at least one fourth reference computing node, wherein the energy consumption parameter of the fourth reference computing node is lower than the energy consumption parameter of the third reference computing node.
[0124] It should be noted that in the above step S1, for example, when the power consumption generated by the third reference computing node when running the object task exceeds the preset power consumption threshold, the node operation status information of the first reference computing node indicates that the energy consumption parameter of the first reference computing node is greater than the energy consumption threshold, and at least one object task running in the first reference computing node is scheduled to at least one second reference computing node.
[0125] In the above step S2, for example, when the CPU utilization of the first reference computing node exceeds the preset CPU utilization threshold when the node is running an object task, the node operation status information of the third reference computing node indicates that the performance load parameter of the third reference computing node is greater than the performance load threshold, and at least one object task running in the third reference computing node is scheduled to at least one second reference computing node.
[0126] The following combination Figure 3 to Figure 4 The scheduling method for a complete set of tasks is explained.
[0127] First, a lightweight monitoring agent is installed in all computing nodes, including edge computing nodes, fog computing nodes, and cloud computing nodes. The monitoring agent is responsible for collecting the node's computing resource status (such as CPU utilization, memory usage, storage space), network status (such as bandwidth utilization, latency), and energy consumption data (such as power consumption) in real time.
[0128] Steps S302 to S304 are the process of classifying the object tasks when there are new object tasks to be assigned. First, when there are new object tasks to be executed, execute Figure 3Step S302 in the task reception and feature extraction. Specifically, the system receives the task to be scheduled and extracts key features of the task, such as the computing requirements of the object task (such as the required CPU resources and GPU resources), storage requirements (such as hard disk space), and real-time requirements (such as response time and task priority), data transmission requirements (such as network bandwidth), etc.
[0129] Then, step S304 is executed, resource status monitoring and data collection. Specifically, the monitoring agent on each computing node collects current resource status data, such as CPU utilization, memory usage, energy consumption data, etc., and sends it to the central control server.
[0130] Step S306, intelligent matching, this step can be for the central control server to use machine learning algorithms (such as support vector machines, decision trees, etc.) to analyze and match task features and resource characteristics, and select the most suitable computing node to perform the task, specifically extracting the priority of the task, the current load of the node, the real-time requirements of the task, and the energy consumption characteristics of the node through the machine learning algorithm to ensure that each task can be efficiently executed in the optimal environment. It is also possible to further determine the computing node of the object task by calculating the task matching degree F according to the calculation method of the task matching degree F in some of the aforementioned embodiments of this application. The specific method refers to the aforementioned embodiment and will not be repeated here.
[0131] Then, step S308 is executed, task allocation. According to the output of the intelligent matching algorithm in step S306, the system allocates the object task to the best computing node. At this time, the system will consider the priority of the task, the current load of the node, the real-time requirements of the task, and the energy consumption characteristics of the node to ensure that each task can be efficiently executed in the optimal environment. Then step S309 is executed to execute the task.
[0132] Step S310, feedback collection and adjustment, the system monitors the running information of the object task and makes adjustments according to the monitored running information, including allocating the object task to other computing nodes or allocating some subtasks in the object task to one or more other computing nodes.
[0133] Step S312, prepare to receive the next task.
[0134] Steps S402 to S412 are to dynamically generate a scheduling strategy by monitoring the status of computing nodes.
[0135] Step S402: real-time monitoring: Specifically, the monitoring agents deployed on computing nodes at each layer, including edge computing nodes, fog computing nodes, and cloud computing nodes, collect network status and resource load conditions in real time and transmit the data to the central control server.
[0136] Step S404, dynamic scheduling strategy generation. Specifically, the central control server generates a dynamic scheduling strategy based on real-time monitoring data using a hierarchical scheduling algorithm to determine the best execution location of the task. The hierarchical scheduling algorithm may first assign tasks to edge computing nodes, and after the edge computing nodes are assigned, use fog computing nodes to assign tasks, and after the fog computing nodes are assigned, use cloud computing nodes to assign tasks.
[0137] Specifically, the execution level of the task is determined according to the different characteristics of the task, such as delay sensitivity. For example, when there are multiple tasks with low delay tolerance, the system will give priority to allocating the above tasks to the edge computing nodes. When the edge computing nodes are allocated, the fog computing nodes are used to allocate the above tasks, and finally the cloud computing nodes are considered.
[0138] Step S406, task migration / load balancing, specifically, according to the scheduling strategy, if a node is overloaded or the network is poor, the task is automatically migrated to other nodes. For example, some tasks with high real-time requirements are migrated from cloud computing nodes to edge computing nodes with lower latency, or computing-intensive tasks are migrated from edge computing nodes to cloud computing nodes with stronger computing capabilities.
[0139] Specifically, for example, when the bandwidth demand of the object task is large, the object task is scheduled to a fog computing node. It should be noted that the scheduling method can be to schedule the entire object task to a fog computing node, or to schedule one or more subtasks in the object task to one or more fog computing nodes. No specific limitation is made here.
[0140] For example, when the computing demand of the object task is large and the object task has a high tolerance for delay, the object task can be scheduled to a cloud computing node. Similarly, the scheduling method can be to schedule the entire object task to a cloud computing node, or to schedule one or more subtasks in the object task to one or more cloud computing nodes. No specific limitation is made here.
[0141] It should be noted that when tasks need to be migrated, the system uses incremental migration technology to ensure that the tasks are not interrupted during the migration process. After the task migration is completed, the system automatically adjusts the execution of the task on the new node to ensure load balancing of all computing nodes.
[0142] Step S408, task execution.
[0143] Step S410, monitoring and feedback. Specifically, the task status is reported to the central control server in real time. The central control server adjusts the scheduling strategy of subsequent tasks according to the feedback data, and determines whether it is necessary to continue the scheduling of the task object according to the feedback result, that is, executes step S412. If the judgment result of step S412 is yes, it returns to step S402 and continues real-time monitoring. If the judgment result is no, the process ends.
[0144] In addition, the scheduling strategy can be optimized according to energy consumption.
[0145] Specifically, the system deploys energy consumption monitoring tools on each computing node to collect energy consumption data (such as power consumption, temperature changes, etc.) of the node in real time. These data are sent to the central server through an encrypted channel for analysis.
[0146] Furthermore, the system uses historical energy consumption data to build an energy consumption model based on real-time data and historical data in the central control server to predict the energy consumption of different tasks on different nodes. When scheduling tasks, the node with the lowest energy consumption is selected for task execution.
[0147] At the same time, the system uses an energy-aware scheduling algorithm to comprehensively consider the execution efficiency and energy consumption of tasks and select the optimal task scheduling strategy. In energy-sensitive environments, such as mobile computing devices or green data centers, the system will prioritize assigning tasks to nodes with lower energy consumption.
[0148] If the energy consumption of a node is too high, the system will dynamically adjust the execution location of the task based on real-time energy consumption monitoring data and migrate it to a node with lower energy consumption to optimize the overall system energy consumption.
[0149] It should be noted that the system's optimization of the scheduling strategy for the object task is a continuous and adaptive process, which is described in detail below.
[0150] First, the system continuously monitors the performance indicators of task execution (such as task completion time, resource utilization, network latency, etc.), and these data are transmitted to the central control server in real time.
[0151] Furthermore, the central control server uses reinforcement learning algorithms to continuously train and optimize the scheduling strategy model based on historical data and real-time feedback. The model can predict the effects of different scheduling strategies and select the optimal strategy to execute based on the prediction results.
[0152] Therefore, whenever a task execution ends or the system state changes, the system will evaluate the effectiveness of the current scheduling strategy and dynamically adjust the task scheduling strategy based on the output of the reinforcement learning model to ensure that the system always selects the best task scheduling solution.
[0153] Finally, the system forms an adaptive optimization closed loop, which continuously optimizes the task scheduling strategy and improves system performance and stability through continuous monitoring, feedback, learning and adjustment.
[0154] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0155] According to another aspect of the embodiment of the present application, a task set scheduling device for implementing the above task set scheduling method is also provided. Figure 5 As shown, the device comprises:
[0156] A first acquisition unit 502 is used to acquire a task description information set matching the object task set when at least one object task in the object task set meets the scheduling condition, wherein the task description information set includes task description information of each of the plurality of object tasks;
[0157] A second acquisition unit 504 is used to acquire a node status information set matching the computing node set, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of the plurality of computing nodes, and the plurality of computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes;
[0158] A first determining unit 506 is used to determine a scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes, respectively, when at least one candidate task scheduling scheme is determined according to the task scheduling constraint conditions indicated by the task description information of each of the plurality of object tasks and the node scheduling constraint conditions indicated by the node operation status information of each of the plurality of computing nodes, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes allocated to each of the plurality of object tasks in the object task set;
[0159] The scheduling unit 508 is used to determine a target task scheduling scheme from at least one candidate task scheduling scheme according to a scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes, and schedule at least one object task in the object task set to a target computing node indicated by the target task scheduling scheme according to the target task scheduling scheme.
[0160] Optionally, the scheduling device of the above-mentioned task set also includes: a second determination unit, which is used to determine at least one candidate scheduling scheme based on the fog computing node subset and the edge computing node subset when, in a reference task scheduling scheme determined according to the edge computing node subset, the performance load parameter of the edge computing node in the edge computing node subset is greater than or equal to the performance load threshold, wherein in the candidate scheduling scheme, the bandwidth parameter required for the object task assigned to the fog computing node is greater than or equal to the bandwidth threshold, the node scheduling constraint includes the node performance constraint, and the task scheduling constraint includes the task bandwidth requirement condition; in a reference task scheduling scheme determined according to the edge computing node subset, when the performance load parameter of the edge computing node in the edge computing node subset is greater than or equal to the performance load threshold, determine at least one candidate scheduling scheme based on the cloud computing node subset and the edge computing node subset, wherein in the candidate scheduling scheme, the computing amount parameter corresponding to the object task assigned to the cloud computing node is greater than or equal to the computing amount threshold, the node scheduling constraint includes the node performance constraint, and the task scheduling constraint includes the task computing amount condition.
[0161] Optionally, the above-mentioned scheduling unit 508 is also used to obtain a set of candidate task scheduling schemes determined by the previous round of genetic algorithm; determine the scheme evaluation index corresponding to each candidate task scheduling scheme in the candidate task scheduling scheme set, wherein the scheme evaluation index is determined according to the task fitness corresponding to each object task in the corresponding candidate task scheduling scheme, and the task fitness is determined according to at least one task operation description parameter of each object task, and the task operation description parameter includes at least one of the following: task execution time, task data transmission time, task execution resource consumption, the ratio between node load and processing capacity, task data volume, task calculation complexity, and task time node; when the current number of iterations does not meet the iteration number condition, determine the current scheduling scheme subset from the candidate task scheduling scheme set according to the sorting result of the scheme evaluation index corresponding to each candidate task scheduling scheme; perform a genetic update operation on the current scheduling scheme subset to obtain the candidate task scheduling scheme set corresponding to the current round; when the current number of iterations meets the iteration number condition, determine the target task scheduling scheme from the candidate task scheduling scheme set according to the sorting result of the scheme evaluation index.
[0162] Optionally, the first determination unit 506 is also used to: obtain a set of candidate task scheduling schemes determined by the previous round of genetic algorithm; respectively determine the scheme evaluation index corresponding to each candidate task scheduling scheme in the set of candidate task scheduling schemes, wherein the scheme evaluation index is determined according to the task fitness corresponding to each object task in the corresponding candidate task scheduling scheme, and the task fitness is determined according to at least one task operation description parameter of each object task, and the task operation description parameter includes at least one of the following: task execution time, task data transmission time, task execution resource consumption, the ratio between node load and processing capacity, task data volume, task calculation complexity, and task time node; when the current number of iterations does not meet the iteration number condition, determine the current scheduling scheme subset from the candidate task scheduling scheme set according to the sorting result of the scheme evaluation index corresponding to each candidate task scheduling scheme; perform a genetic update operation on the current scheduling scheme subset to obtain the candidate task scheduling scheme set corresponding to the current round; when the current number of iterations meets the iteration number condition, determine the target task scheduling scheme from the candidate task scheduling scheme set according to the sorting result of the scheme evaluation index.
[0163] Optionally, the above-mentioned traffic scheduling device also includes an energy consumption determination unit, which is used to use the difference between the maximum power consumption of the computing node and the idle power consumption of the computing node as the first reference parameter; use the ratio of the processor utilization of the computing node to a value of 100 as the second reference parameter; use the product of the first reference parameter and the second reference parameter as the third reference parameter; and determine the sum of the idle power consumption and the third reference parameter of the computing node as the predicted energy consumption parameter of the computing node.
[0164] Optionally, the scheduling device of the above-mentioned task set also includes a third determination unit, which is used to: determine that the first object task meets the scheduling conditions when there is a newly added first object task in the object task set; determine that the second object task meets the scheduling conditions when the node operation status information of the second computing node corresponding to the second object task in the object task set indicates that the node status of the second computing node meets the target status conditions; determine that the third object task meets the scheduling conditions when the task description information of the third object task in the object task set is updated, wherein the updated task description information includes at least one of the following: task priority, task timeliness, task calculation amount, and task evaluation weight.
[0165] Optionally, the scheduling device of the above-mentioned task set also includes a reference scheduling unit, which is used to schedule at least one object task running in at least one first reference computing node to at least one second reference computing node when the node operation status information of at least one first reference computing node in the computing node set indicates that the energy consumption parameter of the first reference computing node is greater than or equal to the energy consumption threshold, wherein the energy consumption parameter of the second reference computing node is lower than the energy consumption parameter of the first reference computing node; and to schedule at least one object task running in at least one third reference computing node to at least one fourth reference computing node when the node operation status information of at least one third reference computing node in the computing node set indicates that the performance load parameter of the third reference computing node is greater than or equal to the performance load threshold.
[0166] According to another aspect of the embodiment of the present application, an electronic device for implementing a scheduling method for a task set is also provided. The electronic device may be Figure 1 The terminal device or server shown in the figure. This embodiment is described by taking the electronic device as a mobile phone or a computer as an example. Figure 6 As shown, the electronic device includes a memory 602 and a processor 604. The memory 602 stores a computer program, and the processor 604 is configured to execute the steps in any of the above method embodiments through the computer program.
[0167] Optionally, in this embodiment, the electronic device may be located in at least one network device among a plurality of network devices of a computer network.
[0168] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:
[0169] S1, when at least one object task in the object task set meets the scheduling condition, obtaining a task description information set matching the object task set, wherein the task description information set includes respective task description information of a plurality of object tasks;
[0170] S2, obtaining a node status information set matching the computing node set, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of the multiple computing nodes, and the multiple computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes;
[0171] S3, when at least one candidate task scheduling scheme is determined according to the task scheduling constraint conditions indicated by the task description information of each of the plurality of object tasks and the node scheduling constraint conditions indicated by the node operation status information of each of the plurality of computing nodes, respectively determine a scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes allocated to each of the plurality of object tasks in the object task set;
[0172] S4, determining a target task scheduling scheme from at least one candidate task scheduling scheme according to a scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes, and scheduling at least one object task in the object task set to a target computing node indicated by the target task scheduling scheme according to the target task scheduling scheme.
[0173] Alternatively, a person skilled in the art may understand that: Figure 5 The structure shown is for illustration only, and the electronic device may also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, a mobile Internet device (Mobile Internet Devices, MID), a PAD, or other terminal devices. Figure 5 The structure of the electronic device is not limited. Figure 5 More or fewer components (such as network interfaces, etc.) as shown in, or with Figure 5 Different configurations shown.
[0174] Among them, the memory 602 can be used to store software programs and modules, such as the program instructions / modules corresponding to the method and device for scheduling the task set in the embodiment of the present application. The processor 604 executes various functional applications and data processing by running the software programs and modules stored in the memory 602, that is, realizing the above-mentioned method for scheduling the task set. The memory 602 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 602 may further include a memory remotely arranged relative to the processor 604, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 602 can be specifically, but not limited to, used to store information such as page elements and page styles. As an example, such as Figure 6As shown, the memory 602 may include, but is not limited to, the first acquisition unit 502, the second acquisition unit 504, the first determination unit 506, and the scheduling unit 508 in the scheduling device for the task set. In addition, other module units in the scheduling device for the task set may also be included but are not limited to, which will not be repeated in this example.
[0175] Optionally, the transmission device 606 is used to receive or send data via a network. Specific examples of the network may include wired networks and wireless networks. In one example, the transmission device 606 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 606 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0176] In addition, the electronic device further includes: a display 608 for displaying the target page; and a connection bus 610 for connecting various module components in the electronic device.
[0177] In other embodiments, the terminal device or server may be a node in a distributed system, wherein the distributed system may be a blockchain system, and the blockchain system may be a distributed system formed by connecting the multiple nodes through network communication. The nodes may form a point-to-point network, and any form of computing device, such as a server, terminal or other electronic device, may become a node in the blockchain system by joining the point-to-point network.
[0178] According to one aspect of the present application, a computer-readable storage medium is provided, and a processor of a computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the method provided in the above various optional implementations;
[0179] Optionally, in this embodiment, the computer-readable storage medium may be configured to store a computer program for performing the following steps:
[0180] S1, when at least one object task in the object task set meets the scheduling condition, obtaining a task description information set matching the object task set, wherein the task description information set includes respective task description information of a plurality of object tasks;
[0181] S2, obtaining a node status information set matching the computing node set, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of the multiple computing nodes, and the multiple computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes;
[0182] S3, when at least one candidate task scheduling scheme is determined according to the task scheduling constraint conditions indicated by the task description information of each of the plurality of object tasks and the node scheduling constraint conditions indicated by the node operation status information of each of the plurality of computing nodes, respectively determine a scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes allocated to each of the plurality of object tasks in the object task set;
[0183] S4, determining a target task scheduling scheme from at least one candidate task scheduling scheme according to a scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes, and scheduling at least one object task in the object task set to a target computing node indicated by the target task scheduling scheme according to the target task scheduling scheme.
[0184] Optionally, in the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories), or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.
[0185] Optionally, in this embodiment, a person of ordinary skill in the art may understand that all or part of the steps in the various methods of the above embodiments may be completed by instructing hardware related to the terminal device through a program, and the program may be stored in a computer-readable storage medium, and the storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc.
[0186] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above 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, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which can be personal computers, servers or network devices, etc.) to execute all or part of the steps of the methods of each embodiment of the present application.
[0187] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0188] In the several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only schematic, for example, the division of units is only a logical function division, and there may be other division methods in actual implementation, for example, 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 units or modules, which can be electrical or other forms.
[0189] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0190] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0191] The above are only preferred implementations of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A method for scheduling a task set, characterized in that: include: When at least one object task in the object task set meets the scheduling condition, a task description information set matching the object task set is obtained, wherein the task description information set includes respective task description information of a plurality of object tasks; Acquire a node status information set matching a computing node set, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of a plurality of computing nodes, and the plurality of computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes; In the case where at least one candidate task scheduling scheme is determined according to the task scheduling constraint conditions indicated by the task description information of each of the plurality of object tasks and the node scheduling constraint conditions indicated by the node operation status information of each of the plurality of computing nodes, respectively determining a scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes allocated to each of the plurality of object tasks in the object task set; According to the scheme evaluation index corresponding to each of at least one of the candidate task scheduling schemes, a target task scheduling scheme is determined from at least one of the candidate task scheduling schemes, and according to the target task scheduling scheme, at least one of the object tasks in the object task set is scheduled to the target computing node indicated by the target task scheduling scheme.
2. The method according to claim 1, characterized in that After obtaining the node status information set matching the computing node set, at least one of the following is also included: In a reference task scheduling scheme determined according to the edge computing node subset, when a performance load parameter of the edge computing node in the edge computing node subset is greater than or equal to a performance load threshold, at least one candidate scheduling scheme is determined based on the fog computing node subset and the edge computing node subset, wherein in the candidate scheduling scheme, a bandwidth parameter required by the object task to which the fog computing node is allocated is greater than or equal to a bandwidth threshold, the node scheduling constraint condition includes a node performance constraint condition, and the task scheduling constraint condition includes a task bandwidth requirement condition; In a reference task scheduling scheme determined according to the edge computing node subset, when a performance load parameter of the edge computing node in the edge computing node subset is greater than or equal to the performance load threshold, at least one candidate scheduling scheme is determined based on the cloud computing node subset and the edge computing node subset, wherein in the candidate scheduling scheme, a computing amount parameter corresponding to the object task assigned to the cloud computing node is greater than or equal to the computing amount threshold, the node scheduling constraint includes the node performance constraint, and the task scheduling constraint includes a task computing amount condition.
3. The method according to claim 2, characterized in that Determining a target task scheduling scheme from at least one of the candidate task scheduling schemes according to the scheme evaluation index corresponding to each of the at least one of the candidate task scheduling schemes includes: Obtain the set of candidate task scheduling solutions determined by the previous round of genetic algorithm; Determine the scheme evaluation index corresponding to each of the candidate task scheduling schemes in the candidate task scheduling scheme set respectively, wherein the scheme evaluation index is determined according to the task fitness corresponding to each of the object tasks in the corresponding candidate task scheduling scheme, and the task fitness is determined according to at least one task operation description parameter of each of the object tasks, and the task operation description parameter includes at least one of the following: task execution time, task data transmission time, task execution resource consumption, ratio between node load and processing capacity, task data volume, task calculation complexity, and task time node; When the current number of iterations does not meet the iteration number condition, a current scheduling scheme subset is determined from the candidate task scheduling scheme set according to the ranking results of the scheme evaluation indexes corresponding to each of the candidate task scheduling schemes; a genetic update operation is performed on the current scheduling scheme subset to obtain the candidate task scheduling scheme set corresponding to the current round; In the case that the current number of iterations satisfies the iteration number condition, the target task scheduling scheme is determined from the set of candidate task scheduling schemes according to the sorting result of the scheme evaluation index.
4. The method according to claim 1, characterized in that: Determining at least one candidate task scheduling scheme according to the task scheduling constraints indicated by the task description information of each of the plurality of object tasks and the node scheduling constraints indicated by the node operation status information of each of the plurality of computing nodes, including: And repeat the following steps until the object task set is traversed: Acquire one of the object tasks from the object task set in a first order as the current object task; Sequentially acquiring one of the computing nodes from the computing node set in a second order as a current computing node; According to the task description information of the current object task and the node operation status description information of the current computing node, determine the task matching degree that matches the current computing node, wherein the task matching degree is determined according to at least one task operation description parameter, and the task operation description parameter includes at least one of the following: task execution time, task data transmission time, task execution resource consumption, the ratio between node load and processing capacity, task data volume, task calculation complexity, and task time node; Determining a candidate computing node matching the current object task from the plurality of computing nodes according to the ranking results of the task matching degrees of the plurality of computing nodes; When the traversal of the object task set is completed, the candidate task scheduling scheme is determined according to the plurality of object tasks and the candidate computing nodes matched respectively.
5. The method according to any one of claims 3 or 4, characterized in that Determining the resource consumption of the task execution includes: taking the difference between the maximum power consumption of the computing node and the idle power consumption of the computing node as a first reference parameter; taking a ratio of the processor utilization of the computing node to a value of 100 as a second reference parameter; taking the product of the first reference parameter and the second reference parameter as a third reference parameter; The sum of the idle power consumption of the computing node and the third reference parameter is determined as the predicted energy consumption parameter of the computing node.
6. The method according to any one of claims 1 to 4, characterized in that Before obtaining the task description information set matching the object task set, at least one of the following is included: In a case where there is a newly added first object task in the object task set, determining that the first object task meets the scheduling condition; When the node running status information of the second computing node corresponding to the second object task in the object task set indicates that the node status of the second computing node meets the target status condition, determining that the second object task meets the scheduling condition; When the task description information of the third object task in the object task set is updated, it is determined that the third object task meets the scheduling condition, wherein the updated task description information includes at least one of the following: task priority, task timeliness, task calculation amount, and task evaluation weight.
7. The method according to any one of claims 1 to 4, characterized in that Scheduling at least one of the target tasks in the target task set to the target computing node indicated by the target task scheduling scheme according to the target task scheduling scheme includes at least one of the following: When the node operation status information of at least one first reference computing node in the computing node set indicates that the energy consumption parameter of the first reference computing node is greater than or equal to the energy consumption threshold, scheduling at least one of the object tasks running in at least one of the first reference computing nodes to at least one second reference computing node, wherein the energy consumption parameter of the second reference computing node is lower than the energy consumption parameter of the first reference computing node; When the node operation status information of at least one third reference computing node in the computing node set indicates that the performance load parameter of the third reference computing node is greater than or equal to the performance load threshold, at least one of the object tasks running in at least one of the third reference computing nodes is scheduled to at least one fourth reference computing node, wherein the energy consumption parameter of the fourth reference computing node is lower than the energy consumption parameter of the third reference computing node.
8. A task set scheduling device, characterized in that: include: A first acquisition unit is used to acquire a task description information set matching the object task set when at least one object task in the object task set meets the scheduling condition, wherein the task description information set includes task description information of each of the plurality of object tasks; a second acquisition unit, configured to acquire a node status information set matching a computing node set, wherein the computing node set includes an edge computing node subset, a fog computing node subset, and a cloud computing node subset, and the node status information set includes node operation status information of each of a plurality of computing nodes, and the plurality of computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes; A first determining unit is used to determine a scheme evaluation index corresponding to each of at least one candidate task scheduling schemes, respectively, when at least one candidate task scheduling scheme is determined according to the task scheduling constraint conditions indicated by the task description information of each of the plurality of object tasks and the node scheduling constraint conditions indicated by the node operation status information of each of the plurality of computing nodes, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes allocated to each of the plurality of object tasks in the object task set; A scheduling unit is used to determine a target task scheduling scheme from at least one of the candidate task scheduling schemes according to the scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes, and schedule at least one of the object tasks in the object task set to a target computing node indicated by the target task scheduling scheme according to the target task scheduling scheme.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored program, wherein the program is executed by a processor to perform the method described in any one of claims 1 to 7.
10. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to execute the method according to any one of claims 1 to 7 through the computer program.
Citation Information
Patent Citations
Real-time task scheduling method and device for multi-station fusion architecture
CN112398917A
Task allocation method and device, storage medium and electronic equipment
CN112506669A
Task scheduling method and device for fog computing and storage medium
CN115964144A
Computing power distribution strategy optimization method and device, equipment and storage medium
CN116909728A
Task scheduling method and device, computer equipment and storage medium
CN117971436A
Cited By
Server scheduling method, device, equipment, medium and computer program product
CN120371542A
Server scheduling method, device, equipment, medium and computer program product
CN120371542B