A data-aware dependent task offloading method based on cloud-edge collaboration
By constructing a directed acyclic graph model and cloud-edge collaboration, the task offloading scheme is optimized, which solves the problem of insufficient resource utilization in existing technologies and achieves the reduction of task completion latency and efficient utilization of system resources.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- UNIV OF ELECTRONICS SCI & TECH OF CHINA
- Filing Date
- 2026-04-30
- Publication Date
- 2026-07-21
AI Technical Summary
Existing task offloading technologies fail to fully utilize cloud edge server resources, making it difficult to achieve global view optimization and high resource utilization, resulting in long task completion delays.
By constructing a directed acyclic graph model, combining the computing power and network status of cloud edge servers, task priorities and unloading schemes are formulated, the task unloading process is optimized, and cloud edge collaborative resources are utilized.
It reduces task completion latency, improves system resource utilization and processing capacity, and optimizes the task unloading process.
Smart Images

Figure CN122431748A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of dependency task unloading technology, and particularly relates to a data-aware dependency task unloading method based on cloud-edge collaboration. Background Technology
[0002] Dependency offloading is a computational offloading technique that addresses task dependencies. It aims to migrate computational tasks from mobile devices to edge servers or the cloud while maintaining the dependencies between tasks, thereby reducing processing latency and cost. This technology is widely used in computationally intensive or latency-sensitive mobile applications, such as augmented reality (AR), image processing, and facial recognition.
[0003] Current mainstream task dependency analysis techniques model the dependencies between tasks within the same application as a Directed Acyclic Graph (DAG) and obtain task offloading schemes by analyzing the DAG. However, existing dependency task offloading techniques are mostly "short-sighted," designing offloading methods only from a local view of the current task execution rather than a global view of the entire application execution. This makes it difficult to truly reduce the overall application completion latency, especially when the data transmission volume of dependent edges is large. As mobile applications become increasingly complex, the upload (s-data) / download (d-data) traffic during execution will increase exponentially, rendering traditional methods inapplicable. Therefore, some works propose "far-sighted" dependency task offloading techniques that consider the application's global view to address the limitation of traditional methods in obtaining globally optimal solutions.
[0004] However, existing "far-sighted" task offloading technologies are all based on empirical design and lack reliable mathematical model support. Furthermore, most of these technologies fail to fully utilize cloud server and edge server resources to balance task load, treating cloud servers merely as supplementary components to edge servers and ignoring their complementarity. This makes it difficult to meet the high demands for task execution efficiency and resource utilization in practical applications. Therefore, it is urgent to establish a mathematical model that supports "far-sighted" task offloading technology, and based on this model, propose a "far-sighted" task offloading method that can fully utilize cloud and edge service resources. Summary of the Invention
[0005] The purpose of this invention is to provide a data-aware dependency task offloading method based on cloud-edge collaboration, in order to solve the technical problem in the prior art that it fails to fully utilize cloud-edge resources and the global view of the entire application to design an offloading scheme, thereby achieving application latency reduction and system resource optimization.
[0006] To solve the above-mentioned technical problems, the specific technical solution of the present invention is as follows:
[0007] A data-aware dependency task unloading method based on cloud-edge collaboration includes:
[0008] Step A: Application Data Preprocessing: The scheduler receives the application, obtains the application parameters, constructs a directed acyclic graph based on the application parameters, and puts the application parameters and its directed acyclic graph information into the scheduler's cache pool.
[0009] Specifically, a scheduler located on a specific edge server senses and collects network status information in real time, consisting of computing power, load, and network transmission rate. Upon receiving a task request from a mobile device, it preprocesses the application data and stores it in a cache pool. Admission control is implemented by judging the cache pool overflow status. For admitted applications, the scheduler extracts their deadline constraints and task characteristic parameters, including task size, data size, logical predecessor and successor sets, and inter-task transmission volume. Subsequently, a DAG model is constructed based on the dependencies between tasks, where node weights are mapped to task computation overhead and edge weights are mapped to inter-task communication overhead. Finally, the DAG model undergoes boundary state enhancement processing by introducing virtual start nodes and virtual end nodes with zero computation overhead. All original nodes with zero in-degree point to the start node, and all original nodes with zero out-degree point to the end node. At the same time, the output edge weight of the start node and the input edge weight of the end node are configured as the overall uplink upload data volume and downlink download data volume of the application, respectively, thereby constructing an application model that includes the entire lifecycle transmission cost.
[0010] Step A1: The mobile device submits the applications that need to be uninstalled to the scheduler.
[0011] The scheduler resides on a specific edge server. It is responsible for receiving applications submitted by mobile devices, processing the application data, and placing it into a cache pool. It is also responsible for collecting network status information (processing capacity, load, network transmission rate, etc. of edge and cloud servers) and generating scheduling plans for applications in the cache pool.
[0012] Step A2: The scheduler determines whether to accept the application.
[0013] Specifically, if the cache pool in the scheduler is not full, it will receive the relevant data from the application and continue to perform subsequent operations; otherwise, the scheduler will abandon the application and notify the mobile device to submit it again.
[0014] Step A3: The scheduler obtains application parameters.
[0015] Application parameters include the application's deadline, the total number of tasks, the data size of each task, the predecessor and successor sets of each task, and the amount of data transferred between tasks.
[0016] Specifically, use Indicates the first The submitted application, its deadline is... express, The The data size of each task is used express The The predecessor and successor sets of each task are respectively used as... and express, The The first task and the first Data size transferred between tasks express.
[0017] Step A4: The scheduler constructs a Directed Acyclic Graph (DAG) based on the application parameters. This includes:
[0018] Step A41: The scheduler establishes the topology of the directed acyclic graph based on the dependencies between tasks.
[0019] Specifically, no. Applications The directed acyclic graph is represented as ,in, Indicates the first A set of nodes for an application; Indicates the first A set of directed edges for each application.
[0020] , Indicates the first The first application The node corresponding to the node. Applications The One task; Represents the total number of nodes, corresponding to the th Applications The total number of tasks.
[0021] , For from the first The first application Nodes To the Nodes A directed edge, representing the first... Applications The Task With the Task There is a dependency relationship.
[0022] Step A42: Configure the weights of nodes and the weights of directed edges in the directed acyclic graph.
[0023] Specifically, for the first Applications , will the Nodes The weight is set to the first Data size of each task Directed edge The weight is set to the first Applications The The first task and the first Data size transferred between tasks .
[0024] Step A5: Improve the directed acyclic graph by adding a start node and an end node to represent the start and end states of the application.
[0025] Specifically, for the first Applications ,use and They represent the first The start and end nodes of each application. (The first...) The starting node of an application Set as the predecessor of all nodes without predecessors in a directed acyclic graph, the first... The end node of an application is set to the successor of all nodes without successors in the directed acyclic graph.
[0026] Then, and The weights are all set to 0. Finally, The weight of the output edge is set to the total uplink data volume of the application. The weights of the input edges are set to the total downlink download data volume.
[0027] Step A6: Place the application parameters and their directed acyclic graph information into the scheduler's cache pool.
[0028] Step B: Unload the prediction process: Select the most urgent application, calculate the task allocation priority, select a server based on the task priority, calculate the time scale for the server to execute the task, and select the server that can minimize the task's time scale to add to the prediction server set corresponding to that task.
[0029] Specifically, firstly, the scheduler polls the cache pool status in real time and extracts the most urgent applications to be processed based on the principle of proximity to the deadline when the cache pool is not empty. Then, the priority allocation phase begins. By collecting real-time computing power data from the edge and cloud server clusters, the average computing power and average transmission power are calculated. Based on these average values and the logical topology between tasks, the priority weight of each task is calculated. The task priority incorporates the task's own computational load overhead and the maximum communication and priority costs on all subsequent task paths, forming an initial scheduling queue. Next, the initial scheduling queue is reversed to generate a reversed scheduling queue, and the task at the head of the queue is extracted sequentially for server selection decisions. During the server selection process, [the following steps are taken]. For each candidate server, the scheduler calculates the timescale for executing the current task by combining the server's computing speed, load, and link transmission rate. This timescale is composed of the sum of the actual execution time of the task on the current server and its estimated average output data transmission latency in the prediction environment. The estimated average output data transmission latency includes the cross-node communication latency between the current task and all its successor tasks in the prediction server set. Finally, the scheduler iterates through all candidate servers and compares the calculated timescales. The server that minimizes the timescale is selected as the prediction execution server for the current task and stored in the prediction server set corresponding to that task. This process continues until the prediction server selection for all tasks in the inverted scheduling queue is completed.
[0030] Step B1: Determine if the cache pool is empty. If it is not empty, retrieve the most urgent application (i.e., the application with the closest deadline) for scheduling. Otherwise, continue with step B1.
[0031] Step B2: Assign priorities to the tasks of the applications retrieved in Step B1, specifically including:
[0032] Step B21: The scheduler obtains the current computing power of the cloud server and edge server, and calculates the average computing power and average transmission power of all servers at this time.
[0033] The average computing power and average transmission capacity of all servers are calculated as follows:
[0034]
[0035]
[0036] in, This represents the average computing power of all servers. This refers to the total number of cloud servers and edge servers. For the first One server Computational power; This represents the average transmission capacity of all servers. This represents the total number of communication links between servers. For the first One server With the One server Data transfer rate between them.
[0037] Step B22: Calculate the priority of tasks in the application.
[0038] The priority of tasks in the application is calculated as follows:
[0039]
[0040] in, Indicates the first The first application Task Priority; It is the first The first application Task The next task; Indicates the first The first application Task The priority of subsequent tasks; Indicates the first The first application Task The maximum value among all successor tasks; Indicates the first The first application The first task and the first Task The amount of data transferred between subsequent tasks; Indicates the first The first application Data size for each task.
[0041] Step B23: Place tasks into the scheduler's scheduling queue according to their priority and wait for the scheduler to schedule them.
[0042] Step B3: Copy the tasks to a new reverse scheduling queue in reverse order of the scheduling queue.
[0043] Step B4: Retrieve the head task of the reverse scheduling queue. If the reverse scheduling queue is empty, proceed to step B1; otherwise, proceed to step B5.
[0044] Step B5: Select an unvisited server from all servers. Simultaneously, the scheduler obtains the current computing power and load of the selected server, and the current network communication status between the servers.
[0045] Step B6: Based on the obtained environmental parameters, including the computing power, average transmission capacity, and queue waiting latency of each server, calculate the time scale for the selected server to execute the current task. The calculation method is as follows:
[0046]
[0047] in, Indicates execution of the first The first application Task Time scale; Indicates the first The first application Task The execution time is calculated as . Indicates the first The first application Task The sum of the estimated average output data transmission delays is calculated as follows:
[0048]
[0049] in, Indicates the first The first application Task The next task, Indicates the first The first application Task The total number of prediction servers for all subsequent tasks; Indicates the first The first application Task The next task A set of prediction servers. Indicates the first The first application Task and its successor tasks The data transmission delay between them is calculated as follows:
[0050]
[0051] in, Indicates the first The first application The first task and the first The amount of data transferred between successor tasks of a task.
[0052] Step B7: Temporarily store the calculated timescale. If all servers have been traversed, compare the stored timescales and select the server that minimizes the task's timescale to add to the prediction server set corresponding to that task, then proceed to step B4. Otherwise, proceed to step B5.
[0053] Step C: Task unloading process: When the prediction server set for the task is not empty and the scheduling queue is not empty, schedule the task, calculate the total latency of the task, select the server that can minimize the total latency of the task and add it to the candidate server set for the current task, and allocate the task through a multi-level conflict resolution mechanism.
[0054] Specifically, firstly, when the set of prediction servers for the task is not empty and the scheduling queue is not empty, the scheduler extracts the task to be processed from the head of the queue and obtains the computing power, current load, and link communication status of each server in real time. Then, for each server, the scheduler calculates the total latency of the task execution. This latency is the sum of the task completion time and the estimated average output transmission latency, minus the application start time offset. The completion time is the sum of the execution latency and the start time. The start time depends on the queue latency of the task in the target server's waiting queue (i.e., the sum of the computational overhead of the preceding tasks in the queue) and the latest time required for the completion of all preceding tasks and data transmission. The scheduler first determines the maximum value between the available servers; then, it filters out the server set that minimizes the total latency criterion and constructs a candidate server set; finally, it allocates tasks through a multi-level conflict resolution mechanism: if a candidate server is unique, it is directly assigned to that server's queue; if not unique, it first determines whether there is a predecessor task already assigned to a candidate server and whether the dependency edge is on the critical path of the directed acyclic graph. If so, it performs local allocation to eliminate transmission overhead; if still not determined, it assigns the task to the tail of the waiting queue of the server with the shortest idle time among the candidate servers, thereby achieving optimized scheduling that balances current execution efficiency with the impact of subsequent tasks.
[0055] Step C1: Determine if the scheduling queue is empty and if the prediction server set is empty. If both the scheduling queue and the prediction server set are not empty, retrieve the task at the head of the scheduling queue and schedule it; otherwise, continue with step C1.
[0056] Step C2: Select a server that has not been traversed from all servers. Simultaneously, the scheduler obtains the current computing power and load of the selected server, and the current network communication status between the servers.
[0057] Step C3: Based on the obtained environmental parameters, calculate the total latency for the selected server to execute the current task. The calculation method is as follows:
[0058]
[0059] in, Indicates execution of the first The first application Task The full delay; Indicates the first Applications The start time. Indicates the first The first application Task The completion time is expressed as:
[0060]
[0061] in, Indicates the first The first application Task The start time is calculated using the following formula:
[0062]
[0063] in, Indicates the first The first application Task The precursor mission; Indicates the first The first application Task The start time of the precursor mission; Indicates the first The first application The precursor task and the first task Data transmission delay for each task; Indicates the first The first application The time it takes for a task to become the head of the server's wait queue is represented as:
[0064]
[0065] in, Indicates the first The first application Task On the server The queue delay from the tail to the head in a waiting queue, i.e., the time it takes for the tasks preceding it to complete, represents the queue waiting delay. If we use a set... Indicates server The waiting queue contains tasks The preceding tasks, then the first The first application Task The queue waiting delay is calculated as follows:
[0066]
[0067] in, Indicates server The waiting queue contains tasks The preceding tasks; Indicates task The data size.
[0068] Step C4: Temporarily store the calculated total latency. If all servers have been traversed, compare the temporary total latencies, select the server that minimizes the total latency of the task, add it to the candidate server set for the current task, and proceed to step C5. Otherwise, proceed to step C3.
[0069] Step C5: Determine if the candidate server is unique. If it is unique, assign the current task to the tail of the candidate server's waiting queue and execute it, then proceed to step C1. Otherwise, proceed to step C6.
[0070] Step C6: Determine if the predecessor task of the current task has been assigned to a candidate server, and if the edge between the current task and its predecessor task lies on the critical path of the directed acyclic graph. If so, assign the current task to the tail of the waiting queue of that candidate server and execute step C1. Otherwise, execute step C7.
[0071] Step C7: Assign the task to the tail of the waiting queue of the candidate server with the shortest idle time, and wait for execution. Then execute step C1.
[0072] Compared with the prior art, the present invention has the following beneficial technical effects:
[0073] (1) Based on the solution of the present invention, the edge server can automatically formulate an uninstallation plan for the user device based on the application data uploaded by the user device in real time. The user device only needs to receive the processing result, which reduces the workload of the user device and improves the system efficiency.
[0074] (2) In the process of task dependency analysis, by assigning priority to tasks, the uninstallation of the entire application is transformed into the uninstallation of each task directly, without destroying the dependency relationship between tasks, thus optimizing the uninstallation process.
[0075] (3) When formulating the task unloading scheme, the total delay of the task is used as the medium, and the execution of a single task is linked to the completion status of the entire application, so that the proposed method can simplify the unloading process while reducing the completion delay of the entire application.
[0076] (4) In terms of system architecture, it will make full use of cloud server and edge server resources, which can handle a variety of complex applications and improve the system's processing power and robustness. Attached Figure Description
[0077] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0078] Figure 1 This is a schematic diagram of a cloud edge system model in an embodiment of the present invention.
[0079] Figure 2 This is a schematic diagram of the application uninstallation process in an embodiment of the present invention.
[0080] Figure 3 This is a schematic diagram illustrating the application submission and preprocessing principles in an embodiment of the present invention.
[0081] Figure 4 This is a schematic diagram illustrating the principle of the unloading prediction process in an embodiment of the present invention.
[0082] Figure 5 This is a schematic diagram illustrating the principle of the task unloading process in an embodiment of the present invention. Detailed Implementation
[0083] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0084] This invention proposes a data-aware dependency task offloading method based on cloud-edge collaboration, addressing the "short-sightedness" and insufficient system resource utilization problems of existing dependency task offloading techniques. The method's implementation includes an offloading prediction process and a task offloading process. In the offloading prediction process, firstly, based on the application's deadline, the most urgent application is selected from the cache pool, the priority of each task within the application is calculated, and tasks are saved to the scheduling queue in descending order of priority. Then, the environmental parameters of the current cloud edge system are obtained, including the computing power, communication capabilities, and waiting queue latency of each server. Finally, based on the obtained environmental parameters, and following the reverse order of the scheduling queue, the server that minimizes the time scale for each task is selected and added to the set of predicted servers that may execute it in the future. In the task offloading process, firstly, the environmental parameters of the current cloud edge system are obtained, including the computing power, communication capabilities, and waiting queue latency of each server. Then, based on the obtained environmental parameters and the set of predicted servers for each task, the server that minimizes its estimated total latency is selected for execution for each task in the scheduling queue.
[0085] This embodiment is... Figure 1 The method is implemented in an edge computing environment, which is an airport. The edge server is located near the airport, while the cloud server is farther away. Mobile devices can be represented as airport cameras or passengers' mobile phones, laptops, etc. Cameras need to offload applications with dependent tasks, such as image processing and facial recognition. Passengers' devices need to offload applications with dependent tasks, such as virtual reality. An edge server is placed at the airport's network access point, and a scheduler is deployed on it to handle offloading requests from the access point. This method includes three parts: application submission and preprocessing, offloading prediction, and task offloading. These are described in detail below with reference to the accompanying diagrams.
[0086] See Figure 2-3 The application submission and preprocessing process includes:
[0087] Step S11: Submit the application containing dependent tasks:
[0088] Mobile devices submit applications that need to be uninstalled to the edge server. For example, when airport cameras need to perform facial recognition on passengers, they first break down the facial recognition application into multiple dependent tasks (such as image preprocessing, face detection, face alignment, feature extraction, etc.). Then, they submit the facial recognition application data to the scheduler located at the airport network access point. This data includes the application start time, the application deadline, the data size of each task, and the dependencies between tasks.
[0089] Step S12: Preprocess the submitted application data
[0090] After receiving the face recognition application data sent by the camera, the scheduler builds a directed acyclic graph (DAG) for it and puts the DAG and other data into the cache pool for processing.
[0091] The unloading prediction process in this embodiment is described in [reference needed]. Figure 4 It includes:
[0092] Step S21: Prioritize tasks:
[0093] Based on the application's deadline, the scheduler selects the most urgent application from its cache pool for processing. Let's assume this application... Deadline The application meets the requirements. Extract it, and then calculate the unload priority of all its tasks. The tasks are then saved to the scheduler's scheduling queue Q in descending order of priority, awaiting scheduling.
[0094] Step S22: The scheduler obtains the computing power, communication capabilities, and waiting queue latency of each server in the current cloud edge system by interacting with all servers in the system.
[0095] Step S23: Based on the obtained environmental parameters, the scheduler retrieves a task from the tail of the scheduling queue Q in reverse order. Then iterate through all servers and estimate the task. On the server The size of the time scale of the execution Finally, choose the option that minimizes the task. The server that sets the time scale is added to the set of prediction servers that may perform it in the future. until Q is empty.
[0096] The task unloading process in this embodiment is described in [reference]. Figure 5 It includes:
[0097] Step S31: Before officially unloading the task, the scheduler needs to interact with other servers again to obtain the current environment parameters of the cloud edge system.
[0098] Step S32: Select one head task from Q each time. Then iterate through all servers and select the most suitable server to execute it according to the following four steps until Q is empty. (1) The task can be minimized. Full delay The server will become a candidate edge server. (2) If the task If there is only one candidate server, then it will be used as the task. The execution server. (3) If the task There are multiple candidate servers, and one of the candidate servers contains one of its predecessors, and this predecessor is related to the task. The edge is located at If the server is on the critical path of a directed acyclic graph, then this server is considered as the task. The execution server. (4) If none of the candidate servers meet (3), and the candidate servers include both cloud servers and edge servers, then the edge server is selected with priority over the cloud server. The edge server with the shortest idle time is selected as the execution server. The execution server.
[0099] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A data-aware dependency task unloading method based on cloud-edge collaboration, characterized in that, The method includes the following steps: Step A: Application data preprocessing: The scheduler receives the application, obtains the application parameters, constructs a directed acyclic graph based on the application parameters, and puts the application parameters and its directed acyclic graph information into the scheduler's cache pool; Step B: Unload the prediction process: Select the most urgent application, calculate the task allocation priority, select the server according to the task priority, calculate the time scale of the server to execute the task, and select the server that can minimize the time scale of the task to add to the prediction server set corresponding to the task. Step C: Task unloading process: When the prediction server set for the task is not empty and the scheduling queue is not empty, schedule the task, calculate the total latency of the task, select the server that can minimize the total latency of the task and add it to the candidate server set for the current task, and allocate the task through a multi-level conflict resolution mechanism.
2. The data-aware dependency task offloading method based on cloud-edge collaboration according to claim 1, characterized in that, Step A includes the following steps: Step A1: The mobile device submits the applications that need to be uninstalled to the scheduler; Step A2: The scheduler determines whether to receive the application; Step A3: The scheduler obtains application parameters; application parameters include the application's deadline, total number of tasks, data size of each task, predecessor and successor sets of each task, and data transfer size between tasks; Step A4: The scheduler constructs a directed acyclic graph based on the application parameters; Step A5: Improve the directed acyclic graph by adding a start node and an end node to represent the start and end states of the application. Step A6: Place the application parameters and their directed acyclic graph information into the scheduler's cache pool.
3. The data-aware dependency task offloading method based on cloud-edge collaboration according to claim 1, characterized in that, Step B includes the following steps: Step B1: Determine if the cache pool is empty. If it is not empty, retrieve the most urgent application for scheduling and processing; otherwise, continue to execute Step B1. Step B2: Assign priorities to the tasks of the applications retrieved in Step B1; Step B3: Copy the tasks to a new reverse scheduling queue in reverse order of the scheduling queue; Step B4: Retrieve the head task of the reverse scheduling queue. If the reverse scheduling queue is empty, proceed to step B1; otherwise, proceed to step B5. Step B5: Select an unvisited server from all servers; at the same time, the scheduler obtains the current computing power and load of the selected server, and obtains the current network communication status between the servers. Step B6: Based on the obtained environmental parameters, including the computing power, average transmission capacity, and queue waiting latency of each server, calculate the time scale for the selected server to execute the current task. Step B7: Temporarily store the calculated time scale. If all servers have been traversed, compare the temporary time scales, select the server that minimizes the task's time scale, add it to the prediction server set corresponding to the task, and execute step B4. Otherwise, proceed to step B5.
4. The data-aware dependency task offloading method based on cloud-edge collaboration according to claim 1, characterized in that, Step C includes the following steps: Step C1: Determine if the scheduling queue is empty and if the prediction server set is empty. If both the scheduling queue and the prediction server set are not empty, retrieve the task at the head of the scheduling queue and schedule it; otherwise, continue with step C1. Step C2: Select an unvisited server from all servers; simultaneously, the scheduler obtains the current computing power and load of the selected server, and the current network communication status between the servers; Step C3: Based on the obtained environmental parameters, calculate the total latency for the selected server to execute the current task; Step C4: Temporarily store the calculated total latency; if all servers have been traversed, compare the temporary total latency, select the server that minimizes the total latency of the task, add it to the candidate server set for the current task, and proceed to step C5. Otherwise, proceed to step C3. Step C5: Determine if the candidate server is unique. If it is unique, assign the current task to the tail of the waiting queue of that candidate server and wait for execution, and then execute step C1; otherwise, execute step C6. Step C6: Determine whether the predecessor task of the current task has been assigned to a candidate server, and whether the edge between the current task and the predecessor task is located on the critical path of the directed acyclic graph. If so, assign the current task to the tail of the waiting queue of the candidate server and wait for execution, and execute step C1; otherwise, execute step C7. Step C7: Assign the task to the tail of the waiting queue of the candidate server with the shortest idle time, and wait for execution; Then proceed to step C1.
5. The data-aware dependency task offloading method based on cloud-edge collaboration according to claim 3, characterized in that, Step B2 includes the following steps: Step B21: The scheduler obtains the current computing power of the cloud server and edge server, and calculates the average computing power and average transmission power of all servers at this time; Step B22: Calculate the priority of tasks in the application; Step B23: Place tasks into the scheduler's scheduling queue according to their priority and wait for the scheduler to schedule them.
6. The data-aware dependency task offloading method based on cloud-edge collaboration according to claim 5, characterized in that, The average computing power and average transmission capacity of all servers are calculated as follows: in, This represents the average computing power of all servers. This refers to the total number of cloud servers and edge servers. For the first One server Computational power; This represents the average transmission capacity of all servers. This represents the total number of communication links between servers. For the first One server With the One server Data transfer rate between them.
7. The data-aware dependency task offloading method based on cloud-edge collaboration according to claim 6, characterized in that, The priority of tasks in the application is calculated as follows: in, Indicates the first The first application Task Priority; It is the first The first application One task; It is the first The first application Task The next task; It is the first The end node of an application; Indicates the first The first application Task The priority of subsequent tasks; Indicates the first The first application Task The maximum value among all successor tasks; Indicates the first The first application The first task and the first Task The amount of data transferred between subsequent tasks; Indicates the first The first application Data size for each task.
8. The data-aware dependency task offloading method based on cloud-edge collaboration according to claim 7, characterized in that, In step B6, the time scale for the selected server to execute the current task is calculated as follows: in, Indicates execution of the first The first application Task Time scale; Indicates the first The first application Task The execution time is calculated as ; Indicates the first The first application Task The sum of the estimated average output data transmission delays is calculated as follows: in, Indicates the first The first application Task The next task, Indicates the first The first application Task The total number of prediction servers for all subsequent tasks; Indicates the first The first application Task The next task A set of prediction servers; Indicates the first The first application Task and its successor tasks The data transmission delay between them is calculated as follows: in, Indicates the first The first application The first task and the first The amount of data transferred between successor tasks of a task.
9. The data-aware dependency task offloading method based on cloud-edge collaboration according to claim 8, characterized in that, The total latency for the selected server to execute the current task is calculated as follows: in, Indicates execution of the first The first application Task The full delay; Indicates the first Applications The start time; Indicates the first The first application Task The completion time is expressed as: in, Indicates the first The first application Task The start time is calculated using the following formula: in, Indicates the first The first application Task The precursor mission; Indicates the first The starting node of an application; Indicates the first Applications The The precursor set of a task; Indicates the first The first application Task The start time of the precursor mission; Indicates the first The first application The precursor task and the first task Data transmission delay for each task; Indicates the first The first application The time it takes for a task to become the head of the server's wait queue is represented as: in, Indicates the first The first application Task On the server The queue delay from the tail to the head in the waiting queue is the time delay for the tasks ahead of it to complete, which represents the queue waiting delay.