Task set scheduling method and device, storage medium and electronic equipment

By acquiring task and node information and combining it with a genetic algorithm to optimize the task scheduling scheme, the problem of low task scheduling flexibility in distributed computing is solved. Dynamic allocation of tasks on edge, fog and cloud nodes is realized, improving task execution efficiency and resource utilization.

CN119718579BActive Publication Date: 2026-07-24HUNAN HAPPLY SUNSHINE INTERACTIVE ENTERTAINMENT MEDIA CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUNAN HAPPLY SUNSHINE INTERACTIVE ENTERTAINMENT MEDIA CO LTD
Filing Date
2024-12-12
Publication Date
2026-07-24

Smart Images

  • Figure CN119718579B_ABST
    Figure CN119718579B_ABST
Patent Text Reader

Abstract

The application discloses a task set scheduling method and device, a storage medium and an electronic device. The method comprises the following steps: in the case that at least one candidate task scheduling scheme is determined according to task scheduling constraint conditions indicated by task description information of a plurality of object tasks and node scheduling constraint conditions indicated by node running state information of a plurality of computing nodes, a scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme is determined; a target task scheduling scheme is determined from the 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 at least one object task in the object task set is scheduled to a target computing node indicated by the target task scheduling scheme. The application solves the technical problem of low task scheduling flexibility in the related art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computers, and more specifically, to a method and apparatus for scheduling a set of tasks, a storage medium, and an electronic device. Background Technology

[0002] With the continuous development of information technology, distributed computing through multiple computing devices has been widely used. Furthermore, current computing resources are increasingly distributed across different levels and locations, such as edge computing nodes, fog computing nodes, and cloud computing centers. These nodes not only have significant differences in geographical distribution but also in computing power, storage capacity, network bandwidth, and energy consumption characteristics.

[0003] However, in current distributed computing, computing tasks are usually allocated to computing nodes based on static task scheduling rules. This makes it impossible to dynamically change the task allocation scheme according to the actual situation, and it cannot adapt to changes in network status and computing resources. When faced with changes in network status and computing resources, it is impossible to flexibly change the task scheduling scheme according to the new environment and the characteristics of the task itself. In other words, there is a technical problem of low task scheduling flexibility in the existing technology.

[0004] There is currently no effective solution to the above problems. Summary of the Invention

[0005] This application provides a method and apparatus for scheduling a set of tasks, a storage medium, and an electronic device, to at least solve the technical problem of unstable operation of applications deployed on cloud platform instances in the current related technologies.

[0006] According to one aspect of the embodiments of this application, a scheduling method for a task set is provided, comprising: when at least one object task in the object task set satisfies 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 a subset of edge computing nodes, a subset of fog computing nodes, and a subset of cloud computing nodes, and the node status information set includes node running status information of each of the multiple computing nodes, the multiple computing nodes including edge computing nodes, fog computing nodes, and cloud computing nodes; and scheduling the task description information according to the task description information of each of the multiple object tasks. Given the task scheduling constraints indicated by the description information and the node scheduling constraints indicated by the node running status information of multiple computing nodes, and considering at least one candidate task scheduling scheme, a scheme evaluation index is determined for each of the at least one candidate task scheduling schemes. The candidate task scheduling scheme is used to indicate the candidate computing nodes allocated to each of the multiple object tasks in the object task set. Based on the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, a target task scheduling scheme is determined from the at least one candidate task scheduling scheme. Then, based on 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 the embodiments of this application, a scheduling apparatus for a task set is also provided, comprising: a first acquisition unit, configured to acquire a task description information set matching the object task set when at least one object task in the object task set satisfies scheduling conditions, wherein the task description information set includes task description information of each of the multiple 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 a subset of edge computing nodes, a subset of fog computing nodes, and a subset of cloud computing nodes, and the node status information set includes node running status information of each of the multiple computing nodes, the multiple computing nodes including edge computing nodes, fog computing nodes, and cloud computing nodes; and a first determination unit, configured to... Based on the task scheduling constraints indicated by the task description information of multiple object tasks and the node scheduling constraints indicated by the node running status information of 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. The candidate task scheduling scheme is used to indicate the candidate computing nodes allocated to each of the multiple object tasks in the object task set. Based on the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, the scheduling unit determines the target task scheduling scheme from 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 for the aforementioned task set further includes: a second determining unit, configured to, in a reference task scheduling scheme determined based on a subset of edge computing nodes, determine at least one candidate scheduling scheme based on a subset of fog computing nodes and a subset of edge computing nodes, wherein, in the candidate scheduling scheme, the bandwidth parameter required by the object task allocated to the fog computing node is greater than or equal to the bandwidth threshold, the node scheduling constraints include node performance constraints, and the task scheduling constraints include task bandwidth requirements; and, in a reference task scheduling scheme determined based on a subset of edge computing nodes, determine at least one candidate scheduling scheme based on a subset of cloud computing nodes and a subset of edge computing nodes, wherein, in the candidate scheduling scheme, the computational quantity parameter corresponding to the object task allocated to the cloud computing node is greater than or equal to the computational quantity threshold, the node scheduling constraints include node performance constraints, and the task scheduling constraints include task computational quantity requirements.

[0009] Optionally, the scheduling unit is further configured to: obtain the 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 set of candidate task scheduling schemes, wherein the scheme evaluation index is determined based on the task fitness corresponding to each object task in the corresponding candidate task scheduling scheme, and the task fitness is determined based on at least one task execution description parameter of each object task, the task execution description parameter including 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 computational complexity, and task time node; if the current iteration number does not meet the iteration number condition, determine the current scheduling scheme subset from the set of candidate task scheduling schemes based on the ranking 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 set of candidate task scheduling schemes corresponding to the current round; if the current iteration number meets the iteration number condition, determine the target task scheduling scheme from the set of candidate task scheduling schemes based on the ranking result of the scheme evaluation index.

[0010] Optionally, the first determining unit is further configured to: obtain the 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 set of candidate task scheduling schemes, wherein the scheme evaluation index is determined based on the task fitness corresponding to each object task in the corresponding candidate task scheduling scheme, and the task fitness is determined based on at least one task running description parameter of each object task, the task running description parameter including 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 computational complexity, task time node; if the current iteration number does not meet the iteration number condition, determine the current scheduling scheme subset from the set of candidate task scheduling schemes based on the ranking 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 set of candidate task scheduling schemes corresponding to the current round; if the current iteration number meets the iteration number condition, determine the target task scheduling scheme from the set of candidate task scheduling schemes based on the ranking result of the scheme evaluation index.

[0011] Optionally, the above-mentioned traffic scheduling device further includes an energy consumption determination unit, which is used to take 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; take the ratio of the processor utilization of the computing node to a value of one hundred as a second reference parameter; take the product of the first reference parameter and the second reference parameter as a third reference parameter; and determine the sum of the idle power consumption of the computing node and the third reference parameter as the predicted energy consumption parameter of the computing node.

[0012] Optionally, the scheduling device for the above-mentioned task set further includes a third determining unit, configured to: determine that the first object task satisfies the scheduling conditions when there is a newly added first object task in the object task set; determine that the second object task satisfies the scheduling conditions 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 satisfies the target status conditions; and determine that the third object task satisfies 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 computation amount, and task evaluation weight.

[0013] Optionally, the scheduling device for the task set further includes a reference scheduling unit, configured 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 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, 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 running 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, wherein the energy consumption parameter of the fourth reference computing node is lower than the energy consumption parameter of the third reference computing node.

[0014] According to another aspect of the embodiments of this application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer-readable storage medium, and the computer program is configured to execute the above-described traffic scheduling method at runtime.

[0015] According to another aspect of the embodiments of this application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the traffic scheduling method described above.

[0016] According to another aspect of the embodiments of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to execute the above-described traffic scheduling method through the computer program.

[0017] In this embodiment, firstly, if at least one object task in the object task set satisfies the scheduling conditions, a task description information set matching the object task set is obtained, wherein the task description information set includes task description information for 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 a subset of edge computing nodes, a subset of fog computing nodes, and a subset of cloud computing nodes, and the node status information set includes node running status information for each of the multiple computing nodes, including edge computing nodes, fog computing nodes, and cloud computing nodes; subsequently, the task is executed according to the task description information of each of the multiple object tasks. Based on scheduling constraints and node scheduling constraints indicated by the node running status information of multiple computing nodes, at least one candidate task scheduling scheme is determined. Then, a scheme evaluation index is determined for each of the at least one candidate task scheduling schemes. The candidate task scheduling scheme indicates the candidate computing nodes allocated to each of the multiple object tasks in the object task set. Further, based on the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, a target task scheduling scheme is determined from the at least one candidate task scheduling scheme. Then, 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. This achieves the technical effect of dynamically changing the scheduling scheme of object tasks based on their own characteristics and the node characteristics of computing nodes when the object task meets the preset scheduling conditions, solving the technical problem of low task scheduling flexibility in the prior art. Attached Figure Description

[0018] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0019] Figure 1 This is a hardware structure block diagram of a server device for an optional task set scheduling method according to an embodiment of this application;

[0020] Figure 2 This is a flowchart of an optional task set scheduling method according to an embodiment of this application;

[0021] Figure 3 This is a flowchart of another optional task set scheduling method according to an embodiment of this application;

[0022] Figure 4 This is a flowchart of another optional task set scheduling method according to an embodiment of this application;

[0023] Figure 5 This is a schematic diagram of the structure of an optional task set scheduling device according to an embodiment of this application;

[0024] Figure 6 This is a schematic diagram of the structure of an optional electronic device according to an embodiment of this application. Detailed Implementation

[0025] 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 with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0026] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0027] The methods and embodiments provided in this application can be executed on a server device or a similar computing device. Taking running on a server device as an example, Figure 1 This is a hardware structure block diagram of a server device for a data processing method in memory according to an embodiment of this application. For example... Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. The server device may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that… Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the server equipment described above. For example, the server equipment may also include components that are more... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0028] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the traffic scheduling method in this embodiment. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thus implementing the above-described method. The memory 104 may include high-speed random access memory and 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 memory remotely located relative to the processor 102, and these remote memories can be connected to server devices via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0029] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider for the server device. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module used for wireless communication with the Internet.

[0030] In the above implementation, if at least one object task in the object task set satisfies the scheduling conditions, a task description information set matching the object task set can be obtained first. This task description information set includes task description information for each of the multiple object tasks. Then, a node status information set matching the computing node set can be obtained. This computing node set includes a subset of edge computing nodes, a subset of fog computing nodes, and a subset of cloud computing nodes. The node status information set includes node running status information for each of the multiple computing nodes, including edge computing nodes, fog computing nodes, and cloud computing nodes. Afterward, the task is executed according to the task description information of each of the multiple object tasks. Based on scheduling constraints and node scheduling constraints indicated by the node running status information of multiple computing nodes, at least one candidate task scheduling scheme is determined. Then, a scheme evaluation index is determined for each of the at least one candidate task scheduling schemes. The candidate task scheduling scheme indicates the candidate computing nodes allocated to each of the multiple object tasks in the object task set. Further, based on the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, a target task scheduling scheme is determined from the at least one candidate task scheduling scheme. Then, 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. This achieves the technical effect of dynamically changing the scheduling scheme of object tasks based on their own characteristics and the node characteristics of computing nodes when the object task meets the preset scheduling conditions, solving the technical problem of low task scheduling flexibility in the prior art.

[0031] As an optional implementation method, such as Figure 2 As shown, the scheduling methods for the above task set include:

[0032] S202, if at least one object task in the object task set satisfies the scheduling condition, obtain a set of task description information matching the object task set, wherein the set of task description information includes task description information of each of the multiple object tasks.

[0033] S204, Obtain a set of node status information that matches the set of computing nodes, wherein the set of computing nodes includes a subset of edge computing nodes, a subset of fog computing nodes, and a subset of cloud computing nodes, and the set of node status information includes the node running status information of each of the multiple computing nodes, including edge computing nodes, fog computing nodes, and cloud computing nodes.

[0034] 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 running status information of each of the multiple computing nodes, 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 allocated to each of the multiple object tasks in the object task set.

[0035] S208, based on the scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes, determine the target task scheduling scheme from the at least one candidate task scheduling schemes, and schedule 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.

[0036] It should be noted that in step S202 above, the scheduling condition can be a change in the number of object tasks in the 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 a new object task is added to the aforementioned object task set, the new object task satisfies the scheduling conditions. Similarly, when a task is removed from the object task set due to completion or other reasons, the remaining object tasks in the set satisfy the traffic scheduling conditions. Furthermore, when the computing node responsible for executing a certain object task changes, such as due to network fluctuations or unresponsiveness, the object task corresponding to that node satisfies the scheduling conditions.

[0038] It is understandable that the above set of computing nodes includes three types of computing nodes: edge computing nodes, fog computing nodes, and cloud computing nodes. Each type of node constitutes a corresponding subset of computing nodes. It should be noted that the number of nodes in each subset can be one or more, or zero, without any specific limitation.

[0039] It should be noted that the aforementioned 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, computation, and storage services. This reduces latency and improves response speed. The aforementioned cloud computing nodes are typically cloud data centers, providing powerful computing and storage capabilities. Cloud computing nodes are responsible for permanently storing useful data processed by edge computing nodes, and can schedule analytical tasks and tasks involving the processing of comprehensive global information that edge computing nodes cannot handle to cloud computing nodes. The aforementioned fog computing nodes are intermediate nodes between edge computing nodes and cloud computing nodes, providing a layered architecture that connects local and cloud resources. Fog computing nodes are closer to the data source than cloud computing nodes and have better real-time performance.

[0040] Optionally, the task description information described above is used to describe the task characteristics of the corresponding object task, such as the computational complexity, data transmission requirements, real-time requirements, and storage requirements of the object task. The node running status information described above is used to describe the node characteristics of the corresponding computing node, such as CPU utilization, memory utilization, and network latency, as well as the network status information corresponding to the node, such as bandwidth utilization and packet loss rate, which are not specifically limited here.

[0041] Furthermore, after obtaining task description information through step S202 and node running information through step S204, step S206 is executed. Based on the task scheduling constraints indicated by the task description information of multiple object tasks and the node scheduling constraints indicated by the node running status information of multiple computing nodes, at least one candidate task scheduling scheme is determined, and the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme is determined.

[0042] Specifically, in step S206 above, 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 running status information of each of the multiple computing nodes, including:

[0043] And repeat the following steps until the object task set has been traversed:

[0044] S206-1, Obtain an object task from the object task set in the first order as the current object task;

[0045] S206-2, Obtain a computing node from the computing node set in the second order as the current computing node;

[0046] S206-3, Based on the task description information of the current object task and the node running status description information of the current computing node, determine the task matching degree that matches the current computing node. The task matching degree is determined based on at least one task running description parameter, which 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 computational complexity, and task time node.

[0047] S206-4, Based on the ranking results of the task matching degree of each of the multiple computing nodes, determine the candidate computing nodes that match the task of the current object from the multiple computing nodes;

[0048] S206-5, after completing the traversal of the object task set, determine the candidate task scheduling scheme based on multiple object tasks and their respective matching candidate computing nodes.

[0049] It is understandable that steps S206-1 to S206-4 above are loop steps executed on the object task set, and the termination condition for the loop is that the object task set has been traversed. Then, after the loop terminates, step S206-5 above is executed.

[0050] It should be noted that the first order mentioned above can be an order determined by the user according to some rule or randomly, such as sorting by the time the task was generated or by the amount of data in the task, and no specific limitation is made here.

[0051] Specifically, assuming there are currently object tasks A, B, and C, the first order can be determined according to various rules, such as sorting by the amount of data remaining to be processed. If object task A has the most data remaining to be processed, then object task A is determined as the first current object task obtained according to the first order. If object tasks B and C have the same amount of data remaining to be processed, then the order is further determined according to the generation time of the object tasks. 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 can be divided according to the node type, such as edge computing nodes first, fog nodes second, and cloud nodes last. Furthermore, it can be sorted according to the order of different subsets in each node subset, such as according to the amount of data processed per unit time of the node.

[0053] Therefore, after determining the current object task and the current computing node, step S206-3 is executed to determine the task matching degree with the current computing node based on the task description information of the current object task and the node running status description information of the current computing node.

[0054] It should be noted that the above task matching degree is determined by at least one task execution description parameter, which 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 computational complexity, and task time node. The above task description parameters are provided by task description information and node running status information. For example, the task description information provides task data volume, task computational complexity, and task time node, while the node running status description information of the current task in the current computing node provides task execution time, task data transmission time, and other task execution description parameters of the current object task on the current computing node.

[0055] Specifically, assuming there exists 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] Where F is the task matching degree, a i With preset weights, 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 computational complexity, and T3 is the task time node.

[0058] It is understandable that task execution time refers to the time required for the current object task A to execute in the current computing node A, task data transmission time is the time consumed for the current object task A to transmit to the current computing node A, 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 transmit to the current computing node A and the energy consumption required for the current object task A to execute on the current computing node A, etc., and 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, a next computing node of the current computing node A is obtained from the computing node set in the second order as the new current computing node, and the task matching degree between the current computing node A and the new current computing node is calculated.

[0060] It should be noted that the termination condition for obtaining one computing node from the computing node set in the second order as the current computing node can be that a certain number of computing nodes have been obtained without having to obtain all computing nodes from the computing node set in sequence. For example, if edge computing nodes are determined to be the priority type of nodes and sorted, it can be set that after obtaining edge computing nodes in the second order, fog computing nodes and cloud computing nodes will no longer be obtained.

[0061] Furthermore, after determining the task matching degree between the current object task A and multiple current computing nodes, the matching degree values ​​can be sorted from smallest to largest, thereby executing the above step S206-4. Based on the sorting results of the task matching degrees of each of the multiple computing nodes, candidate computing nodes that match the current object task are 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 removed from the computing node set. 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 the second order as the current computing node, so as to obtain the candidate computing node corresponding to the current object task in this round.

[0063] It is understandable that after steps S206-1 to S206-4 have completed 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, and after completing the traversal of the object task set, a candidate task scheduling scheme is determined based on multiple object tasks and their respective matching candidate computing nodes.

[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 running status information of each of the multiple computing nodes can also be implemented in the following way.

[0065] Specifically, firstly, at least one object task in the object task set that has not been assigned a compute node is identified as a subset of object tasks to be assigned, and at least one compute node in the compute node set that has not executed an object task is identified as a subset of compute nodes to be assigned. Then, the following steps are repeated until the subset of object tasks to be assigned has been traversed:

[0066] S1, Obtain an object task from the subset of unassigned object tasks in the first order as the current object task;

[0067] S2, obtain one computing node from the subset of computing nodes to be allocated in the second order as the current computing node;

[0068] S3. Based on the task description information of the current object task and the node running status description information of the current computing node, determine the task matching degree that matches the current computing node. The task matching degree is determined based on at least one task running description parameter, which 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 computational complexity, and task time node.

[0069] S4. Based on the ranking results of the task matching degree of each of the multiple computing nodes, determine the candidate computing nodes that match the task of the current object from the multiple computing nodes.

[0070] S5: After traversing the subset of objects to be assigned, determine the candidate task scheduling scheme based on multiple object tasks and their respective matching candidate computing nodes.

[0071] The following example further illustrates this. Assume the object task set contains object tasks A and B without assigned computing nodes, and the computing node set contains computing nodes A, B, and C that have not executed object tasks. The current object task is obtained in a first order, and the current computing node is obtained in a second order. Assume the first order is task objects A and B, and the second order is computing nodes A, B, and C. At this point, the first obtained task object A is taken as the current object task in this loop, and computing node A is taken as the current computing node in this loop. Then, step S3 is executed to determine the task matching degree with the current computing node A. The task matching degree can be obtained using the task matching degree calculation formula in the above embodiment:

[0072]

[0073] After calculating the task matching degree F between the current object task A and the current computing node A, the next computing node B of the current computing node A is obtained from the subset of computing nodes to be assigned in the second order as the new current computing node, and the task matching degree between the current computing node A and the current computing node B is calculated. The above steps are repeated to calculate the task matching degree between the current object task A and multiple computing nodes.

[0074] Thus, step S4 above can be executed, and candidate computing nodes that match the current object task can be determined from multiple computing nodes according to the sorting results of the task matching degree of each of the multiple computing nodes; specifically, the current computing node with the smallest task matching degree value is determined as the candidate computing node of the current object task A.

[0075] Then, step S5 is executed. After traversing the subset of objects to be assigned, a candidate task scheduling scheme is determined based on multiple object tasks and their respective matching candidate computing nodes.

[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 the multiple object tasks and the node scheduling constraints indicated by the node running 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.

[0077] It should be noted that the above evaluation index can be the result of a weighted sum of the task matching degrees corresponding to multiple different object tasks.

[0078] For example, the current task scheduling scheme schedules task A to compute node A, with a task matching degree of F1, and task B to compute node B, with a task matching degree of F2. Further, F1 and F2 are weighted and summed. The weights can be assigned based on task priority; for example, if task A has a higher priority than task B, then F1 is assigned a higher weight than F2.

[0079] Optionally, in step S208 above, determining the target task scheduling scheme from at least one candidate task scheduling scheme based on the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme includes:

[0080] S208-1, Obtain the set of candidate task scheduling schemes determined by the previous round of genetic algorithm;

[0081] S208-2, determine the scheme evaluation index corresponding to each candidate task scheduling scheme in the candidate task scheduling scheme set. The scheme evaluation index is determined based on the task fitness of each object task in the corresponding candidate task scheduling scheme. The task fitness is determined based on at least one task running description parameter of each object task. The task running 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 computational complexity, and task time node.

[0082] S208-3, If the current iteration number does not meet the iteration number condition, determine the current scheduling scheme subset from the candidate task scheduling scheme set according to the ranking results 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;

[0083] S208-4, if the current iteration number meets the iteration number condition, determine the target task scheduling scheme from the candidate task scheduling scheme set according to the ranking result of the scheme evaluation index.

[0084] It should be noted that steps S208-1 to S208-4 above are the iterative calculation process of the genetic algorithm. In step S208-1 above, the first round of the genetic algorithm obtains the candidate task scheduling scheme obtained through step S206 above, and takes the node allocation scheme corresponding to each object task in the task scheduling scheme as the gene. The genetic algorithm iterates through gene crossover and gene mutation. The first round of the genetic algorithm will be explained in detail below.

[0085] Suppose there is 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 set of candidate task scheduling schemes obtained in step S208-1 contains only candidate task scheduling scheme A.

[0086] Next, execute step S208-2 above to determine the scheme evaluation index corresponding to each candidate task scheduling scheme in the candidate task scheduling scheme set. In the first round of the genetic algorithm, the scheme evaluation index of candidate task scheduling scheme A is determined.

[0087] Furthermore, if the preset iteration number condition of the genetic algorithm is not met, step S208-3 is executed. If the current iteration number does not meet the iteration number condition, the current scheduling scheme subset is determined from the candidate task scheduling scheme set according to the ranking results of the scheme evaluation index corresponding to each candidate task scheduling scheme. Genetic update operation is performed on the current scheduling scheme subset to obtain the candidate task scheduling scheme set corresponding to the current round.

[0088] Specifically, candidate task scheduling scheme A is treated as an individual. The two possible assignments—assigning task A to computing node A and assigning task B to object node B—are considered as genes for this individual. Gene mutation is then performed; for example, the gene assigning task A to computing node A mutates to assigning task A to computing node C, and the gene assigning task B to object node B mutates to assigning task B to computing node D, thus obtaining a new individual, candidate task scheduling scheme B. In candidate task scheduling scheme B, task A is assigned to computing node C, and task B is assigned to object node D. Candidate task scheduling scheme B is then 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 through the above step S208-1 includes candidate task scheduling scheme A and candidate task scheduling scheme B.

[0089] It should be noted that this applies when there are multiple candidate task scheduling schemes in the candidate task scheduling scheme set, i.e., when there are multiple individuals in this round of the genetic algorithm. The above genetic update operation can also be a gene crossover operation, which will be illustrated below using the second round of the genetic algorithm as an example.

[0090] In the second round of the 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: one assigning task A to computing node A and the other assigning task B to object node B. Candidate task scheduling scheme B has two genes: one assigning task A to computing node C and the other assigning task B to object node D. Gene crossover is performed on the two individuals; for example, the genes corresponding to task A are swapped, resulting in two new individuals: candidate task scheduling scheme C and candidate task scheduling scheme D. Candidate task scheduling scheme C has two genes: one assigning task A to computing node C and the other assigning task B to object node B. Candidate task scheduling scheme D has two genes: one assigning task A to computing node A and the other assigning task B to object node D. These two new individuals are then added to the task scheduling scheme set for the next round of genetic algorithm computation. It is understandable that when there are multiple candidate task scheduling schemes in the above set of candidate task scheduling schemes, gene crossover and gene mutation can be used simultaneously, without specific limitations.

[0091] If the preset iteration count condition of the genetic algorithm is met, step S208-4 is executed. Given that the current iteration count meets the iteration count condition, the target task scheduling scheme is determined from the candidate task scheduling scheme set based on the ranking results of the scheme evaluation index. Specifically, the candidate task scheduling scheme with the lowest scheme evaluation index can be selected as the target task scheduling scheme.

[0092] Furthermore, after determining 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, according to the target task scheduling scheme.

[0093] In the embodiments provided in this application, firstly, when at least one object task in the object task set satisfies the scheduling conditions, 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 a subset of edge computing nodes, a subset of fog computing nodes, and a subset of cloud computing nodes, and the node status information set includes node running status information of each of the multiple computing nodes, including edge computing nodes, fog computing nodes, and cloud computing nodes; subsequently, based on the task description information of each of the multiple object tasks... Given the indicated task scheduling constraints and the node scheduling constraints indicated by the node running status information of multiple computing nodes, at least one candidate task scheduling scheme is determined. Then, a scheme evaluation index is determined for each of the at least one candidate task scheduling schemes. The candidate task scheduling scheme indicates the candidate computing nodes allocated to each of the multiple object tasks in the object task set. Furthermore, based on the scheme evaluation indices corresponding to each of the at least one candidate task scheduling scheme, a target task scheduling scheme is determined from the at least one candidate task scheduling scheme. Then, 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. This achieves the technical effect of dynamically changing the scheduling scheme of object tasks based on their own characteristics and the node characteristics of computing nodes when the object task meets the preset scheduling conditions, solving the technical problem of low task scheduling flexibility in the prior art.

[0094] In one alternative implementation, after obtaining the set of node state information matching the set of computing nodes, at least one of the following is further included:

[0095] S1, in the reference task scheduling scheme determined based on the edge computing node subset, if 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 based on the fog computing node subset and the edge computing node subset. In the candidate scheduling scheme, the bandwidth parameter required by the object task allocated to the fog computing node is greater than or equal to the bandwidth threshold. The node scheduling constraints include node performance constraints, and the task scheduling constraints include task bandwidth requirements.

[0096] S2, in the reference task scheduling scheme determined based on the edge computing node subset, if 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 based on the cloud computing node subset and the edge computing node subset. In the candidate scheduling scheme, the computational quantity parameter corresponding to the object task allocated to the cloud computing node is greater than or equal to the computational quantity threshold. The node scheduling constraints include node performance constraints, and the task scheduling constraints include task computational quantity conditions.

[0097] It should be noted that in steps S1 and S2 above, the reference task scheduling scheme determined based on the subset of edge computing nodes refers to allocating only object tasks to edge computing nodes, while fog computing nodes and cloud computing nodes do not participate in 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 tasks in that computing node need to be scheduled to other computing nodes. The scheduling method can be to schedule them to other edge computing nodes, or, based on the task characteristics, to fog nodes or cloud nodes.

[0098] Specifically, for example, when the bandwidth requirement of an object task is high, the object task can be 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 of the object task to one or more fog computing nodes. No specific limitation is made here.

[0099] For example, when the computational demand of an object task is large and the object task has a high tolerance for latency, 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 of the object task to one or more cloud computing nodes. No specific limitation is made here.

[0100] Through the above-described embodiments of this application, in the reference task scheduling scheme determined based on the edge computing node subset, if 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 based on the fog computing node subset and the edge computing node subset, and / or at least one candidate scheduling scheme is determined based on the cloud computing node subset and the edge computing node subset, so that the fog computing nodes and cloud computing nodes can supplement the edge computing nodes.

[0101] In one optional implementation, determining the resource consumption for the task execution includes:

[0102] S1, the difference between the highest energy consumption parameter of the computing node and the idle energy consumption parameter of the computing node is used as the first reference parameter;

[0103] S2, the ratio of the processor utilization of the computing node to the value of one hundred is used as the second reference parameter;

[0104] S3, the product of the first reference parameter and the second reference parameter is used as the third reference parameter;

[0105] S4, the sum of the idle energy consumption parameters of the computing node and the third reference parameter is determined 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 nodes through steps S1 to S4 above can be implemented using the following mathematical model:

[0107]

[0108] E2 is the predicted energy consumption parameter of the computing node, used to predict the power consumption generated by the target task when it is executed on the computing node. P1 is the idle energy consumption parameter of the computing node, used to describe the power consumption generated by the computing node when it is idle. P2 is the maximum energy consumption parameter, 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 predicted energy consumption parameter E2 is part of the resource consumption of the task execution. The resource consumption of the task execution may also include the energy consumption generated during the task object scheduling process. In practical applications, other energy consumption can be ignored, and only the predicted energy consumption parameter is regarded as the resource consumption of the task execution and then calculated. No specific limitations are made here.

[0110] In one optional implementation, before obtaining the set of task description information matching the object task set, at least one of the following is included:

[0111] S1, if there is a newly added first object task in the object task set, determine that the first object task meets the scheduling conditions;

[0112] S2, based on the node running status information of the second computing node corresponding to the second object task in the object task set, indicating that the node status of the second computing node meets the target status conditions, determine that the second object task meets the scheduling conditions.

[0113] S3, if 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 steps S1 to S3 above, the situation in step S1 where a new first object task exists in the object task set, and the determination that the first object task meets the scheduling conditions, can be referred to the explanation of step S202 above, and will not be repeated here.

[0115] It should be noted that in step S2 above, the node state meeting the target state condition can be either the energy consumption parameters generated by the node during operation exceeding the preset threshold, or the load parameters exceeding the preset threshold.

[0116] To further illustrate, for example, when the power consumption of the second computing node exceeds a preset power consumption threshold while running the second object task, the node's running status information indicates that the node's state meets the target state condition. Similarly, when the CPU utilization of the second computing node exceeds a preset CPU utilization threshold while running the second object task, the node's running status information indicates that the node's state meets the target state condition.

[0117] It is understandable that in step S3 above, when the task description information of the third object task, such as task priority, task timeliness, task computation amount, and task evaluation weight, changes, it is determined that the third object task meets the scheduling conditions. An example is provided below.

[0118] For example, when the time limit 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 is described in detail in the foregoing embodiments, and will not be repeated here.

[0119] For example, when the evaluation weights of one or more tasks in the third object task change, it is determined that the third object task meets the scheduling conditions, and a rescheduling of the task set is triggered. It should be noted that the aforementioned task evaluation weights are 'a' in the formula above. i :

[0120]

[0121] In one optional implementation, the process of scheduling at least one object task from 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, if 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, at least one object task running in at least one first reference computing node is scheduled 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, if the node running 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 step S1 above, for example, when the power consumption generated by the third reference computing node when running an object task exceeds a preset power consumption threshold, the node running 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 step S2 above, for example, when the CPU utilization of the first reference computing node exceeds the preset CPU utilization threshold while the first reference computing node is running an object task, the node running 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 Figures 3 to 4 The scheduling method for a complete set of tasks is explained.

[0127] First, install a lightweight monitoring agent on all computing nodes, including edge computing nodes, fog computing nodes, and cloud computing nodes. The monitoring agent is responsible for collecting real-time data on the nodes' computing resource status (such as CPU utilization, memory usage, and storage space), network status (such as bandwidth utilization and latency), and energy consumption data (such as power consumption).

[0128] Steps S302 to S304 describe the process of classifying object tasks when new object tasks need to be assigned. First, when a new object task needs to be run, the following steps are executed: Figure 3Step S302 involves task reception and feature extraction. Specifically, the system receives tasks to be scheduled and extracts key features of the tasks, such as the computational requirements (e.g., required CPU resources, GPU resources), storage requirements (e.g., hard disk space), real-time requirements (e.g., response time, task priority), and data transmission requirements (e.g., network bandwidth).

[0129] Next, step S304, resource status monitoring and data collection, is executed. Specifically, the monitoring agents on each computing node collect current resource status data, such as CPU utilization, memory usage, and energy consumption data, and send them to the central control server.

[0130] Step S306, intelligent matching, involves the central control server using machine learning algorithms (such as support vector machines, decision trees, etc.) to analyze and match task characteristics and resource features, selecting the most suitable computing node for task execution. Specifically, machine learning algorithms extract features such as task priority, node current load, task real-time requirements, and node energy consumption characteristics to ensure that each task can be executed efficiently in an optimal environment. Alternatively, the computing node for the target task can be further determined by calculating the task matching degree F according to the calculation method in some of the aforementioned embodiments of this application. The specific method is described in the aforementioned embodiments and will not be repeated here.

[0131] Then, step S308, task allocation, is executed. Based on the output of the intelligent matching algorithm in step S306, the system allocates the task to the best computing node. At this time, the system considers the task priority, 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 executed efficiently in the optimal environment. Then, step S309, task execution, is executed.

[0132] Step S310, Feedback Collection and Adjustment: The system monitors the running information of the object task and makes adjustments based on the monitored running information, including assigning the object task to other computing nodes or assigning 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 involve dynamically generating the scheduling strategy by monitoring the status of the computing nodes.

[0135] Step S402, Real-time monitoring. Specifically, monitoring agents deployed on each layer of computing nodes, including edge computing nodes, fog computing nodes, and cloud computing nodes, collect network status and resource load information 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 optimal execution location of tasks. The hierarchical scheduling algorithm can first allocate tasks to edge computing nodes, then use fog computing nodes to allocate tasks after all edge computing nodes have been allocated, and finally use cloud computing nodes to allocate tasks after all fog computing nodes have been allocated.

[0137] Specifically, the execution level of a task is determined based on its different characteristics, such as latency sensitivity. For example, when there are multiple tasks with low latency tolerance, the system will prioritize assigning these tasks to edge computing nodes. After the edge computing nodes are allocated, fog computing nodes will be used to allocate the tasks, and finally cloud computing nodes will be considered.

[0138] Step S406, Task Migration / Load Balancing, specifically involves automatically migrating tasks to other nodes if a node is overloaded or has poor network performance, based on the scheduling strategy. For example, tasks with high real-time requirements can be migrated from cloud computing nodes to edge computing nodes with lower latency, or computationally intensive tasks can be migrated from edge computing nodes to cloud computing nodes with stronger computing capabilities.

[0139] Specifically, for example, when the bandwidth requirement of an object task is high, the object task can be 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 of the object task to one or more fog computing nodes. No specific limitation is made here.

[0140] For example, when the computational demand of an object task is large and the object task has a high tolerance for latency, 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 of 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 complete, the system automatically adjusts the execution of the task on the new node to ensure load balancing across 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 for subsequent tasks based on the feedback data, and determines whether to continue scheduling of task objects based on the feedback results, i.e., executes step S412. If the determination result of step S412 is yes, it returns to step S402 to continue real-time monitoring; if the determination result is no, the process ends.

[0144] In addition, scheduling strategies can be optimized based on energy consumption.

[0145] Specifically, the system deploys energy consumption monitoring tools on each computing node to collect energy consumption data (such as power consumption and temperature changes) in real time. This data is then sent to the central server for analysis via an encrypted channel.

[0146] Furthermore, the system uses historical energy consumption data. The central control server builds an energy consumption model based on real-time and historical data to predict the energy consumption of different tasks on different nodes. During task scheduling, the node with the lowest energy consumption is selected for task execution.

[0147] Meanwhile, the system uses an energy-aware scheduling algorithm to comprehensively consider task execution efficiency and energy consumption, selecting 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 certain 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 in order to optimize the overall system energy consumption.

[0149] It should be noted that the optimization of the system's scheduling strategy for object tasks is a continuous and adaptive process, which will be explained in detail below.

[0150] First, the system continuously monitors the performance metrics of task execution (such as task completion time, resource utilization, network latency, etc.), and this data is 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. This 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 finishes execution or the system state changes, the system evaluates the effectiveness of the current scheduling strategy and dynamically adjusts the task scheduling strategy based on the output of the reinforcement learning model, ensuring that the system always selects the best task scheduling scheme.

[0153] Finally, the system forms an adaptive optimization closed loop, continuously optimizing the task scheduling strategy and improving system performance and stability through continuous monitoring, feedback, learning and adjustment.

[0154] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0155] According to another aspect of the embodiments of this application, a scheduling apparatus for a task set for implementing the scheduling method for the task set described above is also provided. For example... Figure 5 As shown, the device includes:

[0156] The first acquisition unit 502 is used to acquire a set of task description information that matches the set of object tasks when at least one object task in the set of object tasks meets the scheduling conditions. The set of task description information includes task description information of each of the multiple object tasks.

[0157] The second acquisition unit 504 is used to acquire a set of node status information that matches the set of computing nodes. The set of computing nodes includes a subset of edge computing nodes, a subset of fog computing nodes, and a subset of cloud computing nodes. The set of node status information includes the node running status information of each of the multiple computing nodes, including edge computing nodes, fog computing nodes, and cloud computing nodes.

[0158] The first determining unit 506 is used to determine the scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes 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 running status information of each of the multiple computing nodes. The candidate task scheduling scheme is used to indicate the candidate computing nodes allocated to each of the multiple object tasks in the object task set.

[0159] The scheduling unit 508 is used to determine the 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 to schedule 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.

[0160] Optionally, the scheduling device for the aforementioned task set further includes: a second determining unit, configured to, in a reference task scheduling scheme determined based on a subset of edge computing nodes, determine at least one candidate scheduling scheme based on a subset of fog computing nodes and a subset of edge computing nodes, wherein, in the candidate scheduling scheme, the bandwidth parameter required by the object task allocated to the fog computing node is greater than or equal to the bandwidth threshold, the node scheduling constraints include node performance constraints, and the task scheduling constraints include task bandwidth requirements; and, in a reference task scheduling scheme determined based on a subset of edge computing nodes, determine at least one candidate scheduling scheme based on a subset of cloud computing nodes and a subset of edge computing nodes, wherein, in the candidate scheduling scheme, the computational quantity parameter corresponding to the object task allocated to the cloud computing node is greater than or equal to the computational quantity threshold, the node scheduling constraints include node performance constraints, and the task scheduling constraints include task computational quantity requirements.

[0161] Optionally, the scheduling unit 508 is further configured to: obtain the 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 set of candidate task scheduling schemes, wherein the scheme evaluation index is determined based on the task fitness corresponding to each object task in the corresponding candidate task scheduling scheme, and the task fitness is determined based on at least one task running description parameter of each object task, the task running description parameter including 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 computational complexity, task time node; if the current iteration number does not meet the iteration number condition, determine the current scheduling scheme subset from the set of candidate task scheduling schemes according to the ranking 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 set of candidate task scheduling schemes corresponding to the current round; if the current iteration number meets the iteration number condition, determine the target task scheduling scheme from the set of candidate task scheduling schemes according to the ranking result of the scheme evaluation index.

[0162] Optionally, the first determining unit 506 is further configured to: obtain the 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 set of candidate task scheduling schemes, wherein the scheme evaluation index is determined based on the task fitness corresponding to each object task in the corresponding candidate task scheduling scheme, and the task fitness is determined based on at least one task running description parameter of each object task, the task running description parameter including 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 computational complexity, task time node; if the current iteration number does not meet the iteration number condition, determine the current scheduling scheme subset from the set of candidate task scheduling schemes according to the ranking 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 set of candidate task scheduling schemes corresponding to the current round; if the current iteration number meets the iteration number condition, determine the target task scheduling scheme from the set of candidate task scheduling schemes according to the ranking result of the scheme evaluation index.

[0163] Optionally, the above-mentioned traffic scheduling device further includes an energy consumption determination unit, which is used to take 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; take the ratio of the processor utilization of the computing node to a value of one hundred as a second reference parameter; take the product of the first reference parameter and the second reference parameter as a third reference parameter; and determine the sum of the idle power consumption of the computing node and the third reference parameter as the predicted energy consumption parameter of the computing node.

[0164] Optionally, the scheduling device for the above-mentioned task set further includes a third determining unit, configured to: determine that the first object task satisfies the scheduling conditions when there is a newly added first object task in the object task set; determine that the second object task satisfies the scheduling conditions 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 satisfies the target status conditions; and determine that the third object task satisfies 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 computation amount, and task evaluation weight.

[0165] Optionally, the scheduling device for the task set further includes a reference scheduling unit, configured 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 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, 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 running 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, wherein the energy consumption parameter of the fourth reference computing node is lower than the energy consumption parameter of the third reference computing node.

[0166] According to another aspect of the embodiments of this application, an electronic device for implementing a scheduling method for a task set is also provided, the electronic device being... Figure 1 The terminal device or server shown. This embodiment uses a mobile phone or computer as an example for illustration. 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 via the computer program.

[0167] Optionally, in this embodiment, the aforementioned electronic device may be located in at least one of a plurality of network devices in a computer network.

[0168] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:

[0169] S1, if at least one object task in the object task set satisfies the scheduling condition, obtain a set of task description information that matches the object task set, wherein the set of task description information includes task description information of each of the multiple object tasks.

[0170] S2, obtain the set of node status information that matches the set of computing nodes, wherein the set of computing nodes includes a subset of edge computing nodes, a subset of fog computing nodes and a subset of cloud computing nodes, and the set of node status information includes the node running status information of each of the multiple computing nodes, including edge computing nodes, fog computing nodes and cloud computing nodes.

[0171] S3, 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 running status information of each of the multiple computing nodes, 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 allocated to each of the multiple object tasks in the object task set.

[0172] S4. Based on the scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes, determine the target task scheduling scheme from the at least one candidate task scheduling schemes, and schedule 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.

[0173] Alternatively, as those skilled in the art will understand, Figure 5 The structure shown is for illustrative purposes only. Electronic devices can also be smartphones (such as Android phones, iOS phones, etc.), tablets, PDAs, mobile internet devices (MIDs), PADs, and other terminal devices. Figure 5 This does not limit the structure of the aforementioned electronic devices. For example, the electronic device may also include components that are more... Figure 5 The more or fewer components shown (such as network interfaces, etc.), or having the same Figure 5 The different configurations shown.

[0174] The memory 602 can be used to store software programs and modules, such as the program instructions / modules corresponding to the task set scheduling method and apparatus in this embodiment. The processor 604 executes various functional applications and data processing by running the software programs and modules stored in the memory 602, thereby implementing the task set scheduling method described above. The memory 602 may include high-speed random access memory and may also include 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 memory remotely located relative to the processor 604, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Specifically, the memory 602 may be used, but is not limited to, 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 of the task set scheduling device. Furthermore, it may include, but is not limited to, other module units of the task set scheduling device, which will not be elaborated further in this example.

[0175] Optionally, the transmission device 606 described above is used to receive or send data via a network. Specific examples of the network described above may include wired networks and wireless networks. In one example, the transmission device 606 includes a Network Interface Controller (NIC), which can be connected to other network devices and a router via a network cable to communicate with the Internet or a local area network. In another example, the transmission device 606 is a radio frequency (RF) module, used for wireless communication with the Internet.

[0176] In addition, the aforementioned electronic device also includes: a display 608 for displaying the target page; and a connection bus 610 for connecting the various module components in the aforementioned electronic device.

[0177] In other embodiments, the aforementioned terminal device or server can be a node in a distributed system, wherein the distributed system can be a blockchain system, which is a distributed system formed by connecting multiple nodes through network communication. The nodes can form a point-to-point network, and any form of computing device, such as a server, terminal, or other electronic device, can become a node in the blockchain system by joining this point-to-point network.

[0178] According to one aspect of this application, a computer-readable storage medium is provided, wherein a processor of a computer device reads computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, causing the computer device to perform the methods provided in the various optional implementations described above;

[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, if at least one object task in the object task set satisfies the scheduling condition, obtain a set of task description information that matches the object task set, wherein the set of task description information includes task description information of each of the multiple object tasks.

[0181] S2, obtain the set of node status information that matches the set of computing nodes, wherein the set of computing nodes includes a subset of edge computing nodes, a subset of fog computing nodes and a subset of cloud computing nodes, and the set of node status information includes the node running status information of each of the multiple computing nodes, including edge computing nodes, fog computing nodes and cloud computing nodes.

[0182] S3, 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 running status information of each of the multiple computing nodes, 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 allocated to each of the multiple object tasks in the object task set.

[0183] S4. Based on the scheme evaluation index corresponding to each of the at least one candidate task scheduling schemes, determine the target task scheduling scheme from the at least one candidate task scheduling schemes, and schedule 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.

[0184] Optionally, in embodiments of this application, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0185] Optionally, in this embodiment, those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0186] If the integrated units in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in the aforementioned computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, 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. This computer software product is stored in a storage medium and includes several instructions to cause one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods of the various embodiments of this application.

[0187] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0188] In the several embodiments provided in this application, it should be understood that the disclosed client can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or the indirect coupling or communication connection of units or modules may be electrical or other forms.

[0189] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0190] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0191] The above are merely preferred embodiments of this application. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A method for scheduling a set of tasks, characterized in that, include: If at least one object task in the object task set satisfies the scheduling conditions, a set of task description information matching the object task set is obtained, wherein the set of task description information includes task description information of each of the multiple object tasks. Obtain a set of node status information that matches the set of computing nodes, wherein the set of computing nodes includes a subset of edge computing nodes, a subset of fog computing nodes, and a subset of cloud computing nodes, and the set of node status information includes node running status information of each of the multiple computing nodes, wherein the multiple computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes. Traverse the target task subset in the object task set, determine the current object task from the target task subset, and determine the current computing node from the target node subset in the computing node set, wherein there is at least one object task in the target task subset that has not been assigned a computing node, and there is at least one computing node in the target node subset that has not been assigned an object task. Determine the parameter weights corresponding to each task execution description parameter. The task execution description parameters include task execution time, task data transmission time, task execution resource consumption, the ratio between node load and processing capacity, task data volume, task computational complexity, and task time node. The task execution time is the time required for the current object task to execute in the current computing node. The task data transmission time is the time consumed by the current object task to transmit data to the current computing node. The task execution resource consumption is the total energy consumption of the current object task. The task time node is the task deadline of the current object task. The product of each task execution description parameter and its corresponding parameter weight is determined as a candidate coefficient, and the sum of all the candidate coefficients is determined as the task matching degree between the current object task and the current computing node. Based on the task matching degree of each of the multiple computing nodes, a candidate computing node that matches the task of the current object is determined from the multiple computing nodes; Having completed traversing the subset of target tasks, at least one candidate task scheduling scheme is determined based on the multiple object tasks and their respective matched candidate computing nodes. Each candidate task scheduling scheme is determined to have a corresponding scheme evaluation index, wherein the candidate task scheduling scheme is used to indicate the candidate computing nodes allocated to each of the multiple object tasks in the object task set, and the scheme evaluation index is the result of a weighted sum of the task matching degrees corresponding to multiple different object tasks; Based on the evaluation index corresponding to each of the at least one candidate task scheduling scheme, a target task scheduling scheme is determined from the at least one candidate task scheduling scheme, and based on 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.

2. The method according to claim 1, characterized in that, After obtaining the set of node state information that matches the set of computing nodes, at least one of the following is also included: In the reference task scheduling scheme determined based on the subset of edge computing nodes, if the performance load parameter of the edge computing node in the subset of edge computing nodes is greater than or equal to the performance load threshold, at least one candidate scheduling scheme is determined based on the subset of fog computing nodes and the subset of edge computing nodes. In the candidate scheduling scheme, the bandwidth parameter required for the object task allocated to the fog computing node is greater than or equal to the bandwidth threshold. The node scheduling constraints include node performance constraints, and the task scheduling constraints include task bandwidth requirements. In the reference task scheduling scheme determined based on the subset of edge computing nodes, if the performance load parameter of the edge computing node in the subset of edge computing nodes is greater than or equal to the performance load threshold, at least one candidate scheduling scheme is determined based on the subset of cloud computing nodes and the subset of edge computing nodes. In the candidate scheduling scheme, the computational quantity parameter corresponding to the object task allocated to the cloud computing node is greater than or equal to the computational quantity threshold. The node scheduling constraints include the node performance constraints, and the task scheduling constraints include the task computational quantity conditions.

3. The method according to claim 2, characterized in that, The step of determining the target task scheduling scheme from at least one candidate task scheduling scheme based on the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme includes: Obtain the set of candidate task scheduling schemes determined by the previous round of genetic algorithm; Each candidate task scheduling scheme in the candidate task scheduling scheme set is determined according to its corresponding scheme evaluation index. The scheme evaluation index is determined based on the task fitness of each object task in the corresponding candidate task scheduling scheme. The task fitness is determined based on at least one task execution description parameter of each object task. The task execution 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 computational complexity, and task time node. If the current iteration number does not meet the iteration number condition, a subset of the current scheduling schemes is determined from the set of candidate task scheduling schemes based on the ranking results of the scheme evaluation indices corresponding to each of the candidate task scheduling schemes; a genetic update operation is performed on the subset of the current scheduling schemes to obtain the set of candidate task scheduling schemes corresponding to the current round. If the current iteration number satisfies the iteration number condition, the target task scheduling scheme is determined from the candidate task scheduling scheme set according to the ranking result of the scheme evaluation index.

4. The method according to claim 1, characterized in that, Determining the resource consumption of the task execution includes: The difference between the highest power consumption of the computing node and the idle power consumption of the computing node is used as the first reference parameter; The ratio of the processor utilization of the computing node to the value of one hundred is used as the second reference parameter; The product of the first reference parameter and the second reference parameter is used as the 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.

5. The method according to any one of claims 1 to 3, characterized in that, Before obtaining the set of task description information that matches the object task set, at least one of the following is included: If a new first object task is added to the object task set, it is determined that the first object task satisfies the scheduling condition. 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, and thus the second object task is determined to meet the scheduling condition. If the task description information of the third object task in the set of object tasks is updated, it is determined that the third object task satisfies the scheduling condition, wherein the updated task description information includes at least one of the following: task priority, task timeliness, task computation amount, and task evaluation weight.

6. The method according to any one of claims 1 to 3, characterized in that, After scheduling at least one of the object tasks in the object task set to the target computing node indicated by the target task scheduling scheme according to the target task scheduling scheme, the step includes at least one of the following: If the node running status information of at least one first reference computing node in the set of computing nodes indicates that the energy consumption parameter of the first reference computing node is greater than or equal to the energy consumption threshold, at least one object task running in at least one first reference computing node is scheduled 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. If the node running status information of at least one third reference computing node in the set of computing nodes 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 shall be 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.

7. A scheduling device for a set of tasks, characterized in that, include: The first acquisition unit is used to acquire a set of task description information that matches the set of object tasks when at least one object task in the set of object tasks meets the scheduling conditions, wherein the set of task description information includes task description information of each of the multiple object tasks. The second acquisition unit is used to acquire a set of node status information that matches the set of computing nodes. The set of computing nodes includes a subset of edge computing nodes, a subset of fog computing nodes, and a subset of cloud computing nodes. The set of node status information includes node running status information of multiple computing nodes. The multiple computing nodes include edge computing nodes, fog computing nodes, and cloud computing nodes. The first determining unit is configured to traverse the target task subset in the object task set, determine the current object task from the target task subset, and determine the current computing node from the target node subset in the computing node set, wherein the target task subset contains at least one object task without an assigned computing node, and the target node subset contains at least one computing node without an assigned object task; and determine the parameter weights corresponding to each task execution description parameter, wherein the task execution description parameters include task execution time, task data transmission time, task execution resource consumption, the ratio between node load and processing capacity, task data volume, task computational complexity, and task time node, wherein the task execution time is the time required for the current object task to execute in the current computing node, and the task data transmission time is the time consumed by the current object task to transmit data to the current computing node. The task execution resource consumption is the total energy consumption of the current object task, and the task time node is the task deadline of the current object task; the product of each task running description parameter and its corresponding parameter weight is determined as a candidate coefficient, and the sum of all the candidate coefficients is determined as the task matching degree between the current object task and the current computing node; based on the task matching degrees of the multiple computing nodes, a candidate computing node matching the current object task is determined from the multiple computing nodes; after traversing the target task subset, at least one candidate task scheduling scheme is determined based on the multiple object tasks and their respective matching candidate computing nodes; a scheme evaluation index is determined for 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 multiple object tasks in the object task set; The scheduling unit is configured to determine a target task scheduling scheme from at least one candidate task scheduling scheme based on the scheme evaluation index corresponding to each of the at least one candidate task scheduling scheme, and schedule 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.

8. 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 according to any one of claims 1 to 6.

9. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to execute the method described in any one of claims 1 to 6 through the computer program.