Unmanned system cluster distributed task cooperative scheduling method and system

By building task dependencies through distributed agent modules and DAG graphs, a priority scheduling method for UAVs with heterogeneous resources and power consumption awareness is designed. This solves the problems of poor adaptability, low efficiency and imperfect fault tolerance mechanism in UAV cluster scheduling, and achieves efficient and robust task scheduling and energy efficiency optimization.

CN120669715APending Publication Date: 2025-09-19EAST CHINA INST OF COMPUTING TECH +1
View PDF 0 Cites 5 Cited by

Patent Information

Application Number
CN202510708850.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-29
Publication Date
2025-09-19

AI Technical Summary

Technical Problem

Existing drone swarm scheduling solutions have problems such as poor adaptability, low efficiency, imperfect fault tolerance mechanism and insufficient energy consumption optimization when facing complex tasks. Especially in large-scale drone swarms, centralized scheduling can easily become a bottleneck, making it difficult to optimize resource utilization and cope with dynamic environments.

Method used

Distributed agent modules and DAG graphs are used to construct task dependencies, and a priority scheduling method for UAVs with heterogeneous resources and power consumption awareness is designed. Through unified management of the ground station and distributed monitoring and scheduling agent modules, task allocation and monitoring are realized, the task allocation plan is dynamically adjusted, and a fault-tolerant mechanism and energy efficiency optimization are provided.

Benefits of technology

It improves the scheduling efficiency and system robustness of drone clusters in complex mission scenarios, optimizes resource utilization, reduces energy consumption, and enhances adaptability and fault tolerance to dynamic environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120669715A_ABST
    Figure CN120669715A_ABST
Patent Text Reader

Abstract

The invention relates to an unmanned system cluster distributed task cooperative scheduling method and system. The system comprises a ground station general control scheduling module, an unmanned aerial vehicle cluster and a distributed monitoring and scheduling agent module. The method comprises the following steps: calculating the static priority of each task in a DAG task graph; tasks with high priorities are scheduled firstly; sequentially selecting a node with the minimum power consumption perception completion time EA-EFT from all the unmanned aerial vehicles, and allocating a task to the node; each monitoring scheduling node monitors the task execution progress in real time; and after the node fails, task allocation is stopped, the tasks are rescheduled according to the priorities of the tasks, the optimal allocation nodes of the tasks are recalculated based on an EA-EFT model, and a recommendation mechanism is triggered to take over the tasks of the failed nodes after each scheduling fails. The problems that an unmanned aerial vehicle cluster scheduling scheme is poor in adaptability, low in efficiency and incomplete in fault-tolerant mechanism are solved, and the scheduling efficiency, the system robustness and the energy efficiency of an unmanned aerial vehicle cluster in a complex task scene are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a drone cluster management technology, and in particular to a drone cluster task allocation and execution method based on task dependency (DAG graph) and distributed scheduling. Background Art

[0002] With the rapid development of drone technology, drone swarms are increasingly being used in logistics and transportation, agricultural monitoring, environmental surveying, disaster relief, and reconnaissance. Drone swarms collaborate to accomplish complex tasks, offering high flexibility and scalability. However, achieving efficient task scheduling and distributed management within drone swarms to address the challenges of mission complexity and swarm scalability remains a key research topic.

[0003] UAV cluster task scheduling involves dividing complex tasks into multiple subtasks and assigning these subtasks to different UAV nodes for execution. Unlike traditional centralized computing scheduling, UAV cluster task scheduling has the following characteristics: (1) Task dependency: Complex tasks usually have multi-layer dependencies, which are expressed in the form of DAG (directed acyclic graph). The execution order of tasks is constrained by the completion of the previous tasks, and the dependencies between tasks need to be comprehensively considered during the scheduling process. (2) Resource heterogeneity: The various UAVs in the UAV cluster form a heterogeneous computing environment due to different hardware configurations (such as computing power, memory, battery capacity, etc.) and network bandwidth. Task scheduling needs to optimize the allocation of resources based on the resource characteristics of different UAVs. (3) Dynamicity and uncertainty: UAVs may face dynamically changing environments (such as node failures, communication interruptions, and changes in task requirements) during task execution, and the scheduling scheme needs to have dynamic adjustment capabilities and fault tolerance mechanisms. (4) Energy efficiency constraints: The endurance of UAVs is limited by battery capacity. Task scheduling not only needs to ensure that tasks are completed on time, but also needs to minimize energy consumption and extend the endurance of UAVs.

[0004] Due to the shortcomings of current technology, existing UAV cluster scheduling solutions mainly adopt centralized scheduling, centralized monitoring or simple distributed scheduling. However, when faced with complex task requirements, they have the following technical limitations: (1) Bottlenecks of centralized scheduling: Centralized scheduling models usually rely on the global task allocation and management of all UAVs by the ground station. Although they can generate better scheduling solutions, when the scale of the UAV cluster expands, the computing and communication capabilities of the ground station easily become bottlenecks, resulting in a decrease in task scheduling efficiency. Centralized scheduling has poor adaptability to dynamic environments and is difficult to respond to emergencies such as UAV failure or task changes in a timely manner. (2) Lack of optimized scheduling mechanism for complex tasks: Current task scheduling methods have limited processing capabilities for task dependencies (DAG graphs) and are difficult to optimize resource utilization while ensuring task completion time. Existing scheduling algorithms (such as first-come, first-served FCFS or earliest completion time priority EFT algorithms) show low efficiency in heterogeneous UAV clusters and do not fully consider the balance between task execution time, communication overhead and UAV resources. (3) Imperfect fault-tolerance mechanism: UAVs may fail during long-term operation due to battery exhaustion, hardware failure, or communication interruption. Existing scheduling models are mostly single-point fault recovery (such as task reallocation), which fails to effectively deal with multi-node failures in distributed environments. For distributed management scenarios, there is a lack of a robust recommendation mechanism to handle the failure of scheduling nodes. (4) Insufficient energy consumption optimization: Existing scheduling methods usually use task completion time (Makespan) as the optimization target, ignoring the optimization of UAV energy consumption. As a result, some UAVs are unable to complete subsequent tasks due to premature battery exhaustion, reducing the overall efficiency of the system. Summary of the Invention

[0005] To address the challenges of existing drone swarm scheduling schemes, which suffer from poor adaptability, low efficiency, and imperfect fault-tolerance mechanisms, a distributed task collaborative scheduling method and system for unmanned system clusters are proposed. This approach aims to optimize heterogeneous performance and power-aware task scheduling for drone swarms, introduce a distributed agent module, and build a dynamic fault-tolerance mechanism to address these technical issues and improve the scheduling efficiency, system robustness, and energy efficiency of drone swarms in complex mission scenarios.

[0006] The technical solution of the present invention is:

[0007] A method for collaborative scheduling of distributed tasks in an unmanned system cluster, comprising the following steps:

[0008] Step 1. Calculate the priority of the task: For each task in the DAG task graph, calculate its static priority; for the UAV terminated task without subsequent tasks, the priority calculation starts from the terminated task and calculates the priority of all tasks in reverse along the DAG graph according to the static priority calculation method;

[0009] Step 2: Task priority sorting: Sort all tasks in descending order according to the static priority calculation value, and schedule tasks with higher priority first;

[0010] Step 3: Task collaborative scheduling

[0011] Step 3.1, Task Assignment: Initialize the current idle time of each UAV, assign tasks one by one according to the order of task priority, select the node with the minimum power consumption perceived completion time EA-EFT among all UAVs, and assign the task to this node; after the task assignment is completed, generate a scheduling allocation table; the ground station sends the task assignment instructions to the corresponding distributed monitoring and scheduling agent module based on the generated scheduling allocation table;

[0012] Step 3.2, Distributed Monitoring and Scheduling Agent Module: Each monitoring and scheduling node binds distributed tasks according to the ground station's instructions. The monitoring and scheduling node monitors the task execution progress in real time and periodically reports the task progress and cluster status to the ground station. After the execution is completed, the monitoring and scheduling node sends a task completion notification to the ground station. The ground station records the task completion status and releases resources.

[0013] Step 3.3, UAV node fault handling mechanism: Execute node fault handling: stop the tasks assigned to the faulty node, update the status of unfinished tasks on the faulty node, reschedule tasks according to the priority of the tasks, recalculate the optimal assignment node for the tasks based on the EA-EFT model, select the node with the smallest EA-EFT and assign it, update the cluster status, and the ground station records the fault handling process and the adjusted task progress; monitor scheduling node fault handling: each scheduling node sends a heartbeat signal regularly, and the recommendation mechanism is triggered after failure. The required recommendation priority rules are determined according to the actual situation, and the nodes with high priority are selected and notified to all UAVs and ground stations; the newly selected scheduling node takes over the tasks of the failed node, and updates and synchronizes them.

[0014] Furthermore, step 1 is specifically as follows:

[0015] For each task in the DAG task graph, calculate its static priority rank_u, the formula is as follows:

[0016] rank_u(T i )=w i +max(rank_u(T j )+c ij ×E Comm _factor)

[0017] Among them, w i :Task T i The average execution time of rank_u(T j ): Task T jPriority; c ij :From Task T i To Task T j The average communication overhead of E Comm _factor is the weight coefficient of communication power consumption, which is used to balance the impact of task calculation and communication power consumption;

[0018] For the UAV that has no subsequent tasks to terminate the task, rank_u(T i )=w i ; Task priority calculation starts from the terminated task in sequence, and the priorities of all tasks are calculated in reverse along the DAG graph according to the calculation method of rank_u.

[0019] Furthermore, step 3.1 is specifically as follows:

[0020] Initialize the current idle time AvailableTime of each UAV i ], which indicates the earliest time that the UAV can receive the task; tasks are assigned one by one according to the task priority rank_u, and the following factors are considered when assigning: Computational overhead: the execution time ET (T i ,UAV j ); Communication overhead: If a task depends on other tasks, its predecessor task T m With the current task T i The communication overhead c mi Among them, UAV i represents drone i;

[0021] Calculate the earliest completion time:

[0022] EFT(T i ,UAV j )=max(AvailableTime[UAV j ],ACT(T i ))+ET(T i ,UAV j )

[0023] Among them, EFT(T i ,UAV j ): Task T i In UAV j The earliest completion time on ACT(T i ): The earliest start time after all predecessor tasks of the task are completed; pred: a function that maps a task to its predecessor task set; T m :Represents a task, T m ∈pred(T i): Task T m Belongs to T i Precursor task set; AFT: Precursor task T m The task completion time depends on which drone the task is running on;

[0024] Calculate the power-aware completion time EA-EFT:

[0025] EA-EFT(T i ,UAV j )=EFT(T i ,UAV j )+β×Energy(T ii ,UAV j )

[0026] Among them, β is a coefficient used to weigh the power consumption perception weight; Energy(T i ,UAV j ) is task T i In UAV j Total power consumption on the network: computing power consumption + communication power consumption; Energy (T i ,UAV j ) is calculated as follows:

[0027] Energy(T i ,UAV j )=P_compute(UAV j )×ET(T i ,UAV j )+(P_transmit(UAV j )+

[0028] P_receive(UAV k ))×T_comm(T i ,UAV j ,UAV k )

[0029] P_compute(UAV j ):UAV j Calculation power (W); P_transmit (UAV j ) and P_receive(UAV k ):respectively the power of the drone sending and receiving data (W); T_comm(T i ,UAV j ,UAV k ): Task T i Communication time (s);

[0030] Select the best node: For task T i , select the node UAV with the minimum EA-EFT among all UAVs j , and assign the task to the node;

[0031] Update status: Update UAV j AvailableTime:

[0032] AvailableTime[UAV j ]=EFT(T i ,UAV j )

[0033] Update the actual completion time of the task AFT(T i )=EFT(T i ,UAV j );

[0034] After the task allocation is completed, a scheduling allocation table is generated;

[0035] Ground station task allocation: The ground station sends task allocation instructions to the corresponding distributed monitoring and scheduling agent module based on the generated scheduling allocation table; each instruction includes: task ID; execution node; task dependency.

[0036] Furthermore, step 3.2 is specifically as follows:

[0037] Distributed task binding: Each monitoring and scheduling node binds tasks to specific drone execution nodes according to the ground station's instructions. If the task's pre-dependencies are not completed, the task enters the waiting queue.

[0038] Task status monitoring and progress update: The monitoring scheduling node monitors the task execution progress in real time and updates the task status: Task status: waiting, in progress, completed, failed; Task progress: current execution time / estimated total time; Task progress update: When a task is completed, the DAG task progress is updated to trigger the execution of subsequent tasks;

[0039] Cluster status report: The monitoring and scheduling node periodically reports the task progress and cluster status to the ground station: current task execution status; UAV resource usage; fault node status;

[0040] Task completion notification: When the monitoring scheduling node detects that all DAG tasks have been completed, it sends a task completion notification to the ground station; the ground station records the task completion status and releases resources.

[0041] Furthermore, step 3.3 is specifically as follows:

[0042] Perform node failure handling:

[0043] If a drone execution node fails, the system needs to dynamically adjust the task allocation plan to ensure the integrity of the DAG task dependencies and the optimal utilization of cluster resources. The monitoring and scheduling node takes the following steps:

[0044] Stop assigning tasks to the failed node: When the monitoring and scheduling node detects that a drone node has failed, it stops assigning new tasks to the node. If the failed node is currently executing tasks, it marks these tasks as "incomplete" and triggers the reallocation logic.

[0045] Task status update: restore the unfinished tasks on the faulty node from the "in progress" state to the "waiting" state; update the dependency relationships of related tasks and recalculate the earliest executable time ACT (T i ); After the task status is updated, the subsequent tasks that depend on this task are triggered to re-queue and wait;

[0046] Rescheduling tasks: According to the priority rank_u of the task, the affected tasks are selected from the tasks in the "waiting" state for rescheduling;

[0047] Based on the EA-EFT model, the optimal allocation nodes of the tasks are recalculated. The specific process is as follows: For each task, calculate its earliest completion time EA-EFT (T i ,UAV j ); Considering the computing power consumption, communication power consumption and task dependency, select the node with the smallest EA-EFT; assign the task to the new node and update the earliest start time ACT (T i ) and the earliest completion time EFT(T i );

[0048] Update cluster status: The agent module collects cluster status in real time, updates the task allocation plan, and synchronizes the adjustment results to the ground station; the ground station records the fault handling process and the adjusted task progress;

[0049] Monitoring and scheduling node fault handling:

[0050] If a monitoring and scheduling node fails, the system selects a new monitoring and scheduling node through a distributed recommendation mechanism:

[0051] Fault detection: Each scheduling node regularly sends heartbeat signals to the worker nodes it manages and other scheduling nodes. If a scheduling node fails to send a heartbeat within a set time, it is marked as failed. The failure information is broadcast to the entire cluster by the node that detects the failure.

[0052] Recommendation trigger: The node that detects a fault in the cluster broadcasts a "recommendation start" message to all nodes; all drones participate in the recommendation and broadcast their own status information, including: remaining resources (CPU, memory, bandwidth, battery remaining); current load, number of tasks and estimated completion time; communication quality, and communication delay with other drones;

[0053] Recommendation rules: During the recommendation process, each drone determines the candidate node according to the following priority rules: Resource priority: select the drone with the most remaining resources; Load priority: when resources are the same, select the drone with the lightest current mission load; Communication priority: when resources and load are the same, give priority to the node with the lowest communication delay; Unique identifier priority: if all conditions are the same, select the drone with the smallest node ID unique identifier;

[0054] Recommendation process: Candidate node broadcast: After receiving the recommendation message, each drone calculates its own priority; if it has the highest priority, it broadcasts the message "I am a candidate node"; Determine the result: All nodes determine the winning node based on the broadcast candidate message; if there is a conflict, re-comparison is carried out according to the priority rules to ensure uniqueness; Recommendation completed: The final selected node broadcasts the "recommendation completed" message to notify all drones and ground stations;

[0055] Task takeover: The newly selected scheduling node takes over the tasks of the failed node. The specific steps are as follows: Task status synchronization: The new node obtains the task DAG and task progress information of the failed node from the ground station; If the ground station cannot provide complete status, the new node directly obtains the real-time task status from the UAV managed by the failed node; UAV rebinding: The UAV managed by the failed node is bound to the new scheduling node and reports the current status and task progress to it; Task reallocation: The new scheduling node adjusts the allocation of unfinished tasks based on task priority and UAV resource status; All scheduling is still based on the EA-EFT model, which comprehensively calculates the execution time and energy consumption of the task; State synchronization: The new node synchronizes the updated task allocation plan and node status to the ground station and other UAVs to ensure global consistency.

[0056] A distributed task collaborative scheduling system for unmanned system clusters includes a ground station master control scheduling module, a drone cluster consisting of n drones, and a distributed monitoring and scheduling agent module consisting of m agents. The system adopts a distributed architecture, with the ground station master control scheduling module centrally managing task scheduling and monitoring. The distributed monitoring and scheduling agent module is responsible for the allocation and execution monitoring of specific tasks, as follows:

[0057] Ground station master control and scheduling module: task scheduling, global scheduling, status monitoring, fault handling, and task progress status reporting; input: DAG task description file, UAV cluster status; output: initial task scheduling plan, task allocation instructions;

[0058] Drone swarm: consists of n drones, m of which are selected to run the distributed monitoring and scheduling agent module. Each drone node is responsible for: receiving task assignments, executing tasks on the drone, and sending drone resource status information and task execution status;

[0059] Distributed monitoring and scheduling agent module: Run m agents on m drones as the middle layer of task management; the ground station specifies each agent i Responsible for monitoring and scheduling i drones, making Functions: task allocation, task status monitoring, fault node rescheduling, recommendation mechanism, and communication with ground stations.

[0060] Furthermore, the ground station master control and dispatch module is as follows:

[0061] DAG task relationship representation: DAG graph construction: UAV tasks are represented by DAG, DAG nodes represent tasks, and edges represent task dependencies; DAG task description file, which includes the following contents: node task ID; predecessor task dependency, dependent data volume; task execution time estimation; task required resources;

[0062] DAG task orchestration: The ground station uses a task analysis tool to parse the DAG graph and generate a YAML configuration file. Task priorities are constructed based on the dependencies and resource requirements of DAG node tasks. The YAML file is used as input for the scheduling and allocation algorithm.

[0063] A heterogeneous resource and energy consumption-aware scheduling and allocation method for drones generates an initial task allocation plan: Input: DAG task graph: nodes represent tasks, and edges represent dependencies between tasks; each task contains execution time estimation and resource requirements; each edge contains the amount of communication data; drone cluster resource status: computing power and remaining resources of each drone; communication overhead between drones; output: task allocation plan, drone node assigned to each task and estimated completion time.

[0064] The beneficial effects of the present invention are:

[0065] 1. Use distributed agent modules for collaborative management to overcome the bottleneck of centralized scheduling: The present invention deploys distributed monitoring and scheduling agent modules (agents) in some drones to achieve distributed management of task allocation and monitoring, overcoming the problem that in a centralized scheduling environment, when the scale of the drone cluster expands, the computing and communication capabilities of the ground station become a bottleneck.

[0066] 2. Provides a mechanism for optimizing the scheduling of complex tasks: The present invention adopts DAG (directed acyclic graph) to construct task dependencies, designs a priority scheduling and allocation method for UAV heterogeneous resources and power consumption awareness, and generates an efficient initial task allocation scheme based on task priority and UAV resource status. This overcomes the problem that existing scheduling algorithms have low efficiency in heterogeneous UAV clusters and do not fully consider the balance between task execution time, communication overhead and UAV resources.

[0067] 3. Provides a dynamic fault-tolerance mechanism: A complete set of fault-tolerance mechanisms is proposed, including task redistribution for execution node failures, a distributed recommendation mechanism for proxy node failures, and dynamic updates of task progress, ensuring the robustness of drone clusters in dynamic environments and overcoming the single point failure problem of existing scheduling models. BRIEF DESCRIPTION OF THE DRAWINGS

[0068] Figure 1 This is a flow chart of the unmanned system cluster distributed task collaborative scheduling method of the present invention;

[0069] Figure 2 This is a schematic diagram of the DAG task description file of the present invention. DETAILED DESCRIPTION

[0070] The present invention is described in detail below with reference to the accompanying drawings and specific embodiments. This embodiment is implemented based on the technical solution of the present invention, and provides a detailed implementation method and specific operation process, but the protection scope of the present invention is not limited to the following embodiments.

[0071] A method and system for collaborative scheduling of distributed tasks in unmanned system clusters, such as Figure 1 As shown, the details are as follows:

[0072] 1. System Architecture Design

[0073] The system consists of a ground station master control and scheduling module, a drone swarm consisting of n drones, and a distributed monitoring and scheduling agent module consisting of m agents. The system adopts a distributed architecture, with the ground station master control and scheduling module centrally managing task scheduling and monitoring. The distributed monitoring and scheduling agent module is responsible for allocating specific tasks and monitoring their execution, achieving efficient and robust drone swarm task scheduling and execution.

[0074] 2 Key module composition

[0075] (1) Ground station master control and dispatch module

[0076] Main functions: Task scheduling, global scheduling, status monitoring, fault handling, and task progress reporting. Input: DAG task description file (YAML format), drone cluster status. Output: Initial task scheduling plan, task assignment instructions.

[0077] (2) Drone swarms

[0078] The distributed monitoring and scheduling agent module is run on m drones in a fleet of n drones. Each drone node is responsible for: receiving task assignments, executing tasks on the drone, and sending drone resource status information and task execution status.

[0079] (3) Distributed monitoring and scheduling agent module (agent)

[0080] Run m agents on m drones as the middle layer of task management. The ground station specifies each agent i Responsible for monitoring and scheduling i drones, making Main functions: task allocation, task status monitoring, fault node rescheduling, recommendation mechanism, and communication with ground stations.

[0081] 3 Core Functional Modules and Implementation

[0082] 3.1 Ground Station Master Control and Scheduling Module

[0083] (1) DAG task relationship representation

[0084] DAG graph construction: UAV tasks are represented by DAG (directed acyclic graph), where DAG nodes represent tasks and edges represent task dependencies.

[0085] DAG task description file (yaml format, such as Figure 2 As shown in the figure, the task description file includes the following contents: node task ID; predecessor task dependency, dependent data volume; task execution time estimate; task required resources (CPU, memory, bandwidth, etc.);

[0086] (2) DAG task scheduling

[0087] The ground station uses the mission analysis tool to parse the DAG graph and generate a YAML configuration file.

[0088] Construct task priorities based on the dependencies and resource requirements of DAG node tasks.

[0089] The YAML file is used as input for the scheduling allocation algorithm.

[0090] (3) UAV heterogeneous resource and energy consumption-aware scheduling and allocation method to generate the initial task allocation plan

[0091] Input: DAG task graph: nodes represent tasks, edges represent dependencies between tasks; each task includes execution time estimates and resource requirements (CPU, memory, etc.); each edge includes the amount of communication data (transmission overhead). UAV cluster resource status: each drone's computing power (such as the number of tasks processed per second), remaining resources (CPU, memory, battery, etc.); and inter-drone communication overhead (such as transmission bandwidth and latency).

[0092] Output: task allocation plan, the drone node to which each task is assigned and the estimated completion time.

[0093] Processing process:

[0094] Step 1: Calculate the priority of the task

[0095] For each task in the DAG task graph, calculate its static priority (rank_u) using the following formula:

[0096] rank_u(T i )=w i +max(rank_u(T j )+c ij ×E Comm _factor)

[0097] Among them, w i :Task T i The average execution time (average across all drones); rank_u(T j ): Task T j Priority; c ij :From task T i To Task T j The average communication overhead of E Comm _factor is the weight coefficient of communication power consumption, which is used to balance the impact of task calculation and communication power consumption;

[0098] For the UAV that has no subsequent tasks to terminate the task, rank_u(T i )=w i The task priority calculation starts from the terminated task and calculates the priorities of all tasks in reverse along the DAG graph according to the calculation method of rank_u.

[0099] Step 2: Prioritize tasks:

[0100] Sort all tasks in descending order according to the rank_u value, and schedule tasks with higher priority first.

[0101] Step 3:

[0102] Step 3.1: Task Mapping

[0103] Initialize the current idle time of each UAV (AvailableTime[UAV i ]), which indicates the earliest time that the drone can receive the task. Tasks are assigned one by one according to the task priority rank_u, and the following factors are considered when assigning: Computational overhead: The execution time ET (T i ,UAV j ); Communication overhead: If a task depends on other tasks, its predecessor task T m With the current task T i The communication overhead c mi Among them, UAV i represents drone i;

[0104] Calculate the earliest completion time:

[0105] EFT(T i ,UAV j )=max(AvailableTime[UAV j ],ACT(T i ))+ET(T i ,UAV j )

[0106] Among them, EFT(T i ,UAV j ): Task T i In UAV j The earliest completion time on ACT(T i ): The earliest start time after all predecessor tasks of the task are completed; pred: a function that maps a task to its predecessor task set; T m :Represents a task, T m ∈pred(T i ): Task T m Belongs to T i Precursor task set; AFT: Precursor task T m The task completion time depends on which UAV the task is running on, so AFT is used to map a task to its actual completion time.

[0107] Calculate the Energy-Aware EFT (EA-EFT):

[0108] EA-EFT(T i ,UAV j )=EFT(T i ,UAV j)+β×Energy(T i ,UAV j )

[0109] Among them, β is a coefficient used to weigh the power consumption perception weight. If β is too small, the actual scheduling result depends only on the EFT item and the power consumption perception is too weak. If β is too large, the actual scheduling result is overly dependent on the power consumption of the task executed on the drone, which will cause the task to be not completed in time. Therefore, β is used to weigh the completion time of the task and the power consumption of the drone; Energy(T i ,UAV j ) is task T i In UAV j Total power consumption (computation power consumption + communication power consumption); Energy (T i ,UAV j ) is calculated as follows:

[0110] Energy(T i ,UAV j )=P_compute(UAV j )×ET(T i ,UAV j )+(P_transmit(UAV j )+P_receive(UAV k ))×T_comm(T i ,UAV j ,UAV k )

[0111] P_compute(UAV j ):UAV j Calculation power (W); P_transmit (UAV j ) and P_receive(UAV k ):respectively the power of the drone sending and receiving data (W); T_comm(T i ,UAV j ,UAV k ): Task T i Communication time (s).

[0112] Select the best node: For task T i , select the node UAV with the minimum EA-EFT among all UAVs j and assign the task to the node.

[0113] Update status: Update UAV j AvailableTime:

[0114] AvailableTime[UAV j ]=EFT(T i ,UAV j )

[0115] Update the actual completion time of the task AFT(T i )=EFT(T i ,UAV j ).

[0116] After the task allocation is completed, a scheduling allocation table is generated.

[0117] Ground station task allocation

[0118] The ground station sends the task allocation instructions to the corresponding distributed monitoring and scheduling agent module based on the generated scheduling allocation table.

[0119] Each instruction includes: task ID; execution node; task dependency.

[0120] Step 3.2 Distributed monitoring and scheduling agent module

[0121] (1) Distributed task binding

[0122] Each monitoring and scheduling node binds tasks to specific drone execution nodes according to the ground station's instructions. If the task's pre-dependencies are not completed, the task enters the waiting queue.

[0123] (2) Task status monitoring and progress update

[0124] The monitoring and scheduling node monitors task execution progress in real time and updates task status: Task status: Waiting, In Progress, Completed, Failed. Task progress: Current execution time / Estimated total time. Task progress update: When a task is completed, the DAG task progress is updated, triggering the execution of subsequent tasks.

[0125] (3) Cluster status report

[0126] The monitoring and scheduling node periodically reports the task progress and cluster status to the ground station: the current task execution status; the drone resource usage; and the fault node status.

[0127] (4) Task completion notification

[0128] When the monitoring and scheduling node detects that all DAG tasks have been completed, it sends a task completion notification to the ground station; the ground station records the task completion status and releases resources.

[0129] Step 3.3 UAV node fault handling mechanism

[0130] (1) Execute node failure handling

[0131] If a drone execution node fails, the system needs to dynamically adjust the task allocation plan to ensure the integrity of the DAG task dependencies and the optimal utilization of cluster resources. The monitoring and scheduling node takes the following steps:

[0132] i) Stop the tasks assigned to the failed node

[0133] When the monitoring and scheduling node detects that a drone node has failed, it stops assigning new tasks to that node. If the failed node is currently executing tasks, these tasks are marked as "incomplete" and the reallocation logic is triggered.

[0134] ii) Task status update

[0135] Restore the unfinished tasks on the failed node from the "in progress" state to the "waiting" state. Update the dependencies of related tasks and recalculate the earliest executable time (ACT(T)) of the unfinished tasks. i )). After the task status is updated, subsequent tasks that depend on this task are triggered to requeue and wait.

[0136] iii) Rescheduling tasks

[0137] Based on the priority of the task (rank_u), the affected tasks are selected from the tasks in the "waiting" state for rescheduling.

[0138] Based on the EA-EFT model, the optimal allocation nodes of the task are recalculated. The specific process is as follows:

[0139] For each task, calculate its earliest completion time (EA-EFT(T i ,UAV j )). Considering the computing power consumption, communication power consumption and task dependencies, select the node with the smallest EA-EFT. Assign the task to the new node and update the earliest start time of the subsequent task (ACT(T i )) and Earliest Finish Time (EFT(T i )).

[0140] iv) Update cluster status

[0141] The agent module collects cluster status in real time, updates the task allocation plan, and synchronizes the adjustment results to the ground station. The ground station records the fault handling process and the adjusted task progress.

[0142] (2) Monitoring and Scheduling Node Fault Handling

[0143] If a monitoring and scheduling node fails, the system selects a new monitoring and scheduling node through a distributed recommendation mechanism:

[0144] i) Fault Detection: Each scheduling node regularly sends heartbeat signals to the worker nodes it manages and other scheduling nodes. If a scheduling node fails to send a heartbeat within a set time, it is marked as failed. The failure information is broadcast to the entire cluster by the node that detects the failure.

[0145] ii) Recommendation triggering: A node in the cluster that detects a fault broadcasts a "recommendation start" message to all nodes. All drones participate in the recommendation and broadcast their status information, including: remaining resources (CPU, memory, bandwidth, battery level, etc.); current load, number of tasks and estimated completion time; communication quality and communication delay with other drones;

[0146] iii) Recommendation Rules: During the recommendation process, each drone determines candidate nodes based on the following priority rules: Resource Priority: Select the drone with the most remaining resources. Load Priority: When resources are the same, select the drone with the lightest current mission load. Communication Priority: When resources and load are the same, prioritize the node with the lowest communication latency. Unique Identifier Priority: If all conditions are the same, select the drone with the smallest node ID (unique identifier).

[0147] iv) Recommendation Process: Candidate Node Broadcast: After receiving the recommendation message, each drone calculates its own priority. If it has the highest priority, it broadcasts a "Candidate" message. Result Determination: All nodes determine the winning node based on the broadcasted candidate messages. If there is a conflict (multiple nodes simultaneously consider themselves candidates), they are re-compared according to the priority rules to ensure uniqueness. Recommendation Completed: The final selected node broadcasts a "Recommendation Completed" message to notify all drones and ground stations.

[0148] v) Task takeover: The newly selected scheduling node takes over the tasks of the failed node. The specific steps are as follows:

[0149] Task Status Synchronization: The new node obtains the failed node's task DAG and task progress information from the ground station. If the ground station cannot provide complete status, the new node directly obtains real-time task status from the drone managed by the failed node. (The ground station can provide scheduling, runtime, and other status information for all tasks in the cluster, serving as a backup for the scheduling agent node and used to build a global scheduling view. Therefore, after a scheduling and monitoring agent fails, the ground station has a mirror of the task execution status on the failed node (updated at regular intervals). The domain recommends a new scheduling agent by simply requesting the ground station's mirrored task status for the failed node.) Drone Rebinding: Drones managed by the failed node bind to the new scheduling node and report their current status and task progress to it. Task Reallocation: The new scheduling node adjusts the allocation of outstanding tasks based on task priority and drone resource status. All scheduling is still based on the EA-EFT model, which comprehensively calculates task execution time and energy consumption. State Synchronization: The new node synchronizes the updated task allocation plan and node status with the ground station and other drones to ensure global consistency.

[0150] The present invention focuses on solving the following problems:

[0151] (1) Optimal scheduling of complex tasks

[0152] The present invention adopts DAG (directed acyclic graph) to construct task dependencies and designs a priority scheduling and allocation method for UAV heterogeneous resources and power consumption awareness, which generates an efficient initial task allocation scheme according to task priority and UAV resource status.

[0153] (2) Collaborative management of distributed agent modules

[0154] This invention deploys distributed monitoring and scheduling agents in some drones to achieve distributed management of task allocation and monitoring. The distributed agent assists ground stations in task binding, execution monitoring, and dynamic adjustments, significantly reducing the ground station's scheduling burden and improving the system's scalability and real-time performance.

[0155] (3) Dynamic fault tolerance mechanism

[0156] A complete set of fault-tolerant mechanisms is proposed, including task redistribution for execution node failures, a distributed recommendation mechanism for proxy node failures, and dynamic update of task progress, to ensure the robustness of drone clusters in dynamic environments.

[0157] Through the above technological innovations, the present invention realizes the efficient scheduling and distributed management of drone clusters in complex mission scenarios, and has excellent task completion efficiency, system robustness and energy consumption optimization capabilities.

[0158] The present invention is applicable to the following scenarios: logistics and transportation, where multiple drones collaborate to complete multi-point delivery tasks, requiring optimization of delivery routes and task allocation; disaster relief, where drone clusters face multi-target search and rescue tasks at disaster sites and need to dynamically allocate tasks and respond to emergencies in a timely manner; agricultural monitoring, where drones collaborate to complete zoned monitoring tasks and optimize inspection energy consumption during large-scale farmland inspections; and environmental surveys, where drone clusters perform multi-region environmental data collection tasks in complex terrain and require optimization of task scheduling based on task dependencies and drone status.

[0159] The invention not only effectively solves the bottleneck problems in related technologies, but also provides new ideas for the development of drone cluster management technology, and has broad application prospects and technical value.

[0160] The above-described embodiment merely represents one embodiment of the present invention. While the description is relatively specific and detailed, it should not be construed as limiting the scope of the patent. It should be noted that a person skilled in the art would be able to make various modifications and improvements without departing from the spirit of the present invention, and these modifications and improvements fall within the scope of protection of the present invention. Therefore, the scope of protection of the patent for this invention shall be determined by the appended claims.

Claims

1. A method for collaborative scheduling of distributed tasks in an unmanned system cluster, characterized in that: The following steps are involved: Step 1. Calculate the priority of the task: For each task in the DAG task graph, calculate its static priority; For the UAV terminated tasks without subsequent tasks, the task priority calculation starts from the terminated task and calculates the priorities of all tasks in reverse along the DAG graph according to the static priority calculation method; Step 2: Task priority sorting: Sort all tasks in descending order according to the static priority calculation value, and schedule tasks with higher priority first; Step 3: Task collaborative scheduling Step 3.1, Task Assignment: Initialize the current idle time of each UAV, assign tasks one by one according to the order of task priority, select the node with the minimum power consumption perceived completion time EA-EFT among all UAVs, and assign the task to this node; after the task assignment is completed, generate a scheduling allocation table; the ground station sends the task assignment instructions to the corresponding distributed monitoring and scheduling agent module based on the generated scheduling allocation table; Step 3.2, Distributed Monitoring and Scheduling Agent Module: Each monitoring and scheduling node binds distributed tasks according to the ground station's instructions. The monitoring and scheduling node monitors the task execution progress in real time and periodically reports the task progress and cluster status to the ground station. After the execution is completed, the monitoring and scheduling node sends a task completion notification to the ground station. The ground station records the task completion status and releases resources. Step 3.3, UAV node fault handling mechanism: Execute node fault handling: stop the tasks assigned to the faulty node, update the status of unfinished tasks on the faulty node, reschedule tasks according to their priorities, recalculate the optimal node for task assignment based on the EA-EFT model, select the node with the smallest EA-EFT and assign it, update the cluster status, and the ground station records the fault handling process and the adjusted task progress; Monitoring and scheduling node fault handling: Each scheduling node sends a heartbeat signal regularly. If a node fails, the recommendation mechanism is triggered. The required recommendation priority rules are determined based on the actual situation. The node with high priority is selected and notified to all drones and ground stations. The newly selected scheduling node takes over the tasks of the failed node and performs updates and synchronization.

2. The unmanned system cluster distributed task collaborative scheduling system according to claim 1, characterized in that: Step 1 is as follows: For each task in the DAG task graph, calculate its static priority rank_u, the formula is as follows: rank_u(T i )=w i +max(rank_u(T j )+c ij ×E Comm _factor) Among them, w i :Task T i The average execution time of rank_u(T j ): Task T j Priority; c ij :From task T i To Task T j The average communication overhead of E Comm _factor is the weight coefficient of communication power consumption, which is used to balance the impact of task calculation and communication power consumption; For the UAV that has no subsequent tasks to terminate the task, rank_u(T i )=w i ; Task priority calculation starts from the terminated task in sequence, and the priorities of all tasks are calculated in reverse along the DAG graph according to the calculation method of rank_u.

3. The unmanned system cluster distributed task collaborative scheduling system according to claim 1, characterized in that: Step 3.1 is as follows: Initialize the current idle time AvailableTime of each UAV i ], which indicates the earliest time that the UAV can receive the task; tasks are assigned one by one according to the task priority rank_u, and the following factors are considered when assigning: Computational overhead: the execution time ET (T i ,UAV j ); Communication overhead: If a task depends on other tasks, its predecessor task T m With the current task T i The communication overhead c mi ; Among them, UAV i represents drone i; Calculate the earliest completion time: EFT(T i ,UAV j )=max(AvailableTime[UAV j ],ACT(T i ))+ET(T i ,UAV j ) Among them, EFT(T i ,UAV j ): Task T i In UAV j The earliest completion time on ACT(T i ): The earliest start time after all predecessor tasks of the task are completed; pred: a function that maps a task to its predecessor task set; T m :Represents a task, T m ∈pred(T i ): Task T m Belongs to T i Precursor task set; AFT: Precursor task T m The task completion time depends on which drone the task is running on; Calculate the power-aware completion time EA-EFT: EA-EFT(T i ,UAV j )=EFT(T i ,UAV j )+β×Energy(T ii ,UAV j ) Among them, β is a coefficient used to weigh the power consumption perception weight; Energy(T i ,UAV j ) is task T i In UAV j Total power consumption on the network: computing power consumption + communication power consumption; Energy (T i ,UAV j ) is calculated as follows: Energy(T i ,UAV j )=P_compute(UAV j )×ET(T i ,UAV j )+(P_transmit(UAV j )+ P_receive(UAV k ))×T_comm(T i ,UAV j ,UAV k ) P_compute(UAV j ):UAV j Calculation power (W); P_transmit (UAV j ) and P_receive(UAV k ):respectively the power of the drone sending and receiving data (W); T_comm(T i ,UAV j ,UAV k ): Task T i Communication time (s); Select the best node: For task T i , select the node UAV with the minimum EA-EFT among all UAVs j , and assign the task to the node; Update status: Update UAV j AvailableTime: AvailableTime[UAV j ]=EFT(T i ,UAV j ) Update the actual completion time of the task AFT(T i )=EFT(T i ,UAV j ); After the task allocation is completed, a scheduling allocation table is generated; Ground station task allocation: The ground station sends task allocation instructions to the corresponding distributed monitoring and scheduling agent module based on the generated scheduling allocation table; each instruction includes: task ID; execution node; task dependency.

4. The unmanned system cluster distributed task collaborative scheduling system according to claim 1, characterized in that: Step 3.2 is as follows: Distributed task binding: Each monitoring and scheduling node binds tasks to specific drone execution nodes according to the ground station's instructions. If the task's pre-dependencies are not completed, the task enters the waiting queue. Task status monitoring and progress update: The monitoring scheduling node monitors the task execution progress in real time and updates the task status: Task status: waiting, in progress, completed, failed; Task progress: current execution time / estimated total time; Task progress update: When a task is completed, the DAG task progress is updated to trigger the execution of subsequent tasks; Cluster status report: The monitoring and scheduling node periodically reports the task progress and cluster status to the ground station: current task execution status; UAV resource usage; fault node status; Task completion notification: When the monitoring scheduling node detects that all DAG tasks have been completed, it sends a task completion notification to the ground station; the ground station records the task completion status and releases resources.

5. The unmanned system cluster distributed task collaborative scheduling system according to claim 1, characterized in that: Step 3.3 is as follows: Perform node failure handling: If a drone execution node fails, the system needs to dynamically adjust the task allocation plan to ensure the integrity of the DAG task dependencies and the optimal utilization of cluster resources. The monitoring and scheduling node takes the following steps: Stop assigning tasks to faulty nodes: When the monitoring and scheduling node detects that a drone node has failed, it stops assigning new tasks to the node. If the failed node is executing tasks, these tasks are marked as "incomplete" and the reassignment logic is triggered; Task status update: restore the unfinished tasks on the faulty node from the "in progress" state to the "waiting" state; update the dependency relationships of related tasks and recalculate the earliest executable time ACT (T i ); After the task status is updated, the subsequent tasks that depend on this task are triggered to re-queue and wait; Rescheduling tasks: According to the priority rank_u of the task, the affected tasks are selected from the tasks in the "waiting" state for rescheduling; Based on the EA-EFT model, the optimal allocation nodes of the tasks are recalculated. The specific process is as follows: For each task, calculate its earliest completion time EA-EFT (T i ,UAV j ); Considering the computing power consumption, communication power consumption and task dependency, select the node with the smallest EA-EFT; assign the task to the new node and update the earliest start time ACT (T i ) and the earliest completion time EFT(T i ); Update cluster status: The agent module collects cluster status in real time, updates the task allocation plan, and synchronizes the adjustment results to the ground station; the ground station records the fault handling process and the adjusted task progress; Monitoring and scheduling node fault handling: If a monitoring and scheduling node fails, the system selects a new monitoring and scheduling node through a distributed recommendation mechanism: Fault detection: Each scheduling node regularly sends heartbeat signals to the working nodes it manages and other scheduling nodes; If a scheduling node does not send a heartbeat within the set time, it will be marked as failed; Failure information is broadcast to the entire cluster by the node that detects the failure; Recommendation trigger: The node that detects a failure in the cluster broadcasts a "recommend start" message to all nodes; All drones participate in the recommendation and broadcast their own status information, including: remaining resources (CPU, memory, bandwidth, battery remaining); current load, number of tasks and estimated completion time; communication quality, communication delay with other drones; Recommendation rules: During the recommendation process, each drone determines the candidate node according to the following priority rules: Resource priority: select the drone with the most remaining resources; Load priority: when resources are the same, select the drone with the lightest current mission load; Communication priority: when resources and load are the same, give priority to the node with the lowest communication delay; Unique identifier priority: if all conditions are the same, select the drone with the smallest node ID unique identifier; Recommendation process: Candidate node broadcast: After receiving the recommendation message, each drone calculates its own priority. If it has the highest priority, it broadcasts a "I am a candidate node" message. Result determination: All nodes determine the winning node based on the broadcasted candidate messages. If there is a conflict, they are re-compared according to the priority rules to ensure uniqueness. Recommendation completion: The final selected node broadcasts a "recommendation completed" message to notify all drones and ground stations. Task takeover: The newly selected scheduling node takes over the tasks of the failed node. The specific steps are as follows: Task status synchronization: The new node obtains the task DAG and task progress information of the failed node from the ground station; If the ground station cannot provide complete status, the new node directly obtains the real-time task status from the UAV managed by the failed node; UAV rebinding: The UAV managed by the failed node is bound to the new scheduling node and reports the current status and task progress to it; Task reallocation: The new scheduling node adjusts the allocation of unfinished tasks based on task priority and UAV resource status; All scheduling is still based on the EA-EFT model, which comprehensively calculates the execution time and energy consumption of the task; State synchronization: The new node synchronizes the updated task allocation plan and node status to the ground station and other UAVs to ensure global consistency.

6. An unmanned system cluster distributed task collaborative scheduling system, characterized by: The system includes a ground station master control and dispatch module, a drone cluster containing n drones, and a distributed monitoring and dispatch agent module containing m agents. The system adopts a distributed architecture, with the ground station master control and dispatch module centrally managing the dispatch and monitoring of tasks. The distributed monitoring and dispatch agent module is responsible for the allocation and execution monitoring of specific tasks. The details are as follows: Ground station master control and scheduling module: task scheduling, global scheduling, status monitoring, fault handling, and task progress status reporting; input: DAG task description file, UAV cluster status; Output: initial task scheduling plan, task allocation instructions; Drone swarm: consists of n drones, m of which are selected to run the distributed monitoring and scheduling agent module. Each drone node is responsible for: receiving task assignments, executing tasks on the drone, and sending drone resource status information and task execution status; Distributed monitoring and scheduling agent module: Run m agents on m drones as the middle layer of task management; the ground station specifies each agent i Responsible for monitoring and scheduling i drones, making Functions: task allocation, task status monitoring, fault node rescheduling, recommendation mechanism, and communication with ground stations.

7. The unmanned system cluster distributed task collaborative scheduling system according to claim 2, characterized in that: The main control and dispatching module of the ground station is as follows: DAG task relationship representation: DAG graph construction: UAV tasks are represented by DAG, DAG nodes represent tasks, and edges represent task dependencies; DAG task description file, the task description file includes the following content: node task ID; Dependencies between previous tasks, amount of dependent data; estimated task execution time; resources required for the task; DAG task orchestration: The ground station uses the task analysis tool to parse the DAG graph and generate a YAML configuration file; Construct task priorities based on the dependencies and resource requirements of DAG node tasks; the YAML file is used as input for the scheduling and allocation algorithm; A heterogeneous resource and energy-aware scheduling and allocation method for UAVs generates an initial task allocation plan: Input: DAG task graph: nodes represent tasks, edges represent dependencies between tasks; each task contains execution time estimation and resource requirements; each edge contains communication data volume; UAV cluster resource status: computing power and remaining resources of each UAV; communication overhead between UAVs; Output: task allocation plan, the drone node to which each task is assigned and the estimated completion time.

Citation Information

Cited By

  • Cluster inspection robot task coordination scheduling method based on Beidou short message communication

    CN121091895A

  • Cluster inspection robot task coordination and scheduling method based on big dipper short message communication

    CN121091895B

  • Task scheduling method and system for intelligent unmanned aerial vehicle scene

    CN121433920A

  • Task scheduling method and system for intelligent unmanned airport scenario

    CN121433920B

  • Heterogeneous bee colony radiation reconnaissance tool chain calling method and device based on large model, and terminal

    CN122261770A