Prioritization scheduling method and system for on-orbit data processing tasks
By introducing priority attributes and topology sorting scheduling algorithms into the DAG task model, and combining them with parallel execution of multiple processing units, the problem of insufficient task priority management in existing technologies is solved, enabling timely response to critical tasks and efficient processing of multiple tasks, thereby improving the system's adaptability and overall performance.
Patent Information
- Application Number
- CN202511694618.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-18
- Publication Date
- 2026-03-03
- Estimated Expiration
- 2045-11-18
AI Technical Summary
Existing on-orbit data processing task scheduling methods fail to effectively manage task priorities, which may lead to delays in the execution of critical or urgent tasks, affecting the overall task response efficiency and service quality of the system, and lacking dynamic adjustment capabilities.
Priority attributes are introduced into the traditional DAG task model. A topology sorting scheduling algorithm that takes into account both task dependencies and priorities is designed. Combined with a multi-processing unit parallel execution mechanism, task priorities are dynamically adjusted to ensure timely response and resource allocation for high-priority tasks.
It enhances the scientific rigor and real-time performance of on-orbit mission execution, ensures priority response to critical tasks and efficient parallel processing of multiple tasks, significantly improves the overall system throughput and service quality, and adapts to changes in complex multi-tasking environments.
Smart Images

Figure CN121144051B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to satellite on-orbit data processing, task scheduling, and distributed computing, and particularly to a priority scheduling method and system for on-orbit data processing tasks. Background Technology
[0002] Existing on-orbit data processing task scheduling methods are mostly based on Directed Acyclic Graphs (DAGs) to describe task dependencies, employing conventional algorithms such as static or dynamic topological sorting and earliest start time for scheduling and allocation. These methods are relatively mature in task modeling and dependency management, supporting basic parallel processing and resource allocation. However, in most scenarios, task priority is often not fully considered, and scheduling decisions mainly rely on the order of dependencies between tasks or resource availability. This makes it difficult to achieve scientifically reasonable priority guarantees for critical or urgent tasks, impacting the overall task response efficiency and service quality of the system.
[0003] Existing on-orbit data processing scheduling technologies are typically based on task DAGs, constructing the scheduling order by analyzing the dependencies between tasks. The system first divides the observation or remote sensing data processing flow into several basic task nodes and establishes data and control dependencies between tasks. The scheduling process generally includes steps such as task decomposition, dependency resolution, topology sorting, resource allocation, and task execution. Commonly used scheduling strategies include algorithms based on earliest start time (EST), shortest path first, and optimal resource allocation. During scheduling, a task is only scheduled after all predecessor tasks have been completed, and the system dynamically allocates tasks to each processing unit based on the current resource status and task queue. This type of method can support a certain level of parallel processing and system throughput, but it mainly relies on dependencies and resource status as the basis for scheduling, lacking differentiation of the importance and urgency of different tasks.
[0004] Existing on-orbit data processing task scheduling methods have several shortcomings. First, traditional scheduling methods primarily rely on task dependencies and resource availability for sorting and allocation, failing to systematically consider the priority differences between tasks. This can lead to delays in critical or urgent tasks in multi-tasking environments. Second, existing topology sorting and scheduling strategies struggle to dynamically adjust task processing order based on actual business needs, impacting the scientific rigor and flexibility of overall task response. Furthermore, the lack of a dedicated scheduling mechanism for task priorities hinders the effective guarantee of real-time performance and system service quality for high-priority tasks, limiting the scheduling optimization capabilities of on-orbit distributed processing systems. In short, existing on-orbit data processing scheduling methods generally lack effective management and dynamic guarantee mechanisms for task priorities.
[0005] It should be noted that the information disclosed in the background section above is only for understanding the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0006] The main objective of this invention is to overcome the deficiencies in the aforementioned background technology and provide a priority scheduling method and system for on-orbit data processing tasks. In a resource-constrained and dynamically changing on-orbit heterogeneous computing environment, this invention achieves an efficient and adaptive balance between ensuring high system throughput and prioritizing critical task response in task scheduling.
[0007] To achieve the above objectives, the present invention adopts the following technical solution:
[0008] A priority scheduling method for on-orbit data processing tasks includes the following steps:
[0009] S1. Construct a DAG model for the on-orbit data processing task, decompose the macro task into multiple sub-tasks, define the dependencies between sub-tasks, and assign attribute information, including priority, to each sub-task node.
[0010] S2. Set or dynamically adjust the priority of each subtask based on the task's business category, processing latency requirements, or external instructions;
[0011] S3. Maintain a schedulable task queue, which contains all child task nodes whose predecessor tasks have been completed and meet the scheduling conditions;
[0012] S4. Based on the schedulable task queue, calculate the scheduling priority index of each task, sort them from high to low priority, and select the optimal computing resources for task allocation;
[0013] S5. During task execution, dynamically adjust task priority based on task waiting time or external instructions to avoid starvation of low-priority tasks;
[0014] S6. Based on the actual number of schedulable tasks, multiple processing units can execute multiple high-priority tasks in parallel when needed, thereby improving system throughput;
[0015] S7. After the task is completed, update the dependency state of the successor node, add the new schedulable task to the queue, and execute the scheduling process in a loop.
[0016] Furthermore, the DAG modeling described in step S1 includes:
[0017] The macro-level task is broken down into multiple sub-tasks according to function, and the dependencies between sub-tasks are represented by directed edges;
[0018] Define attributes for each subtask node, including computational workload, input data size, and priority;
[0019] The priority can be numerical or hierarchical, used to indicate the importance or urgency of a task;
[0020] Calculate the earliest start time and earliest finish time of a node based on its set of direct predecessors;
[0021] For nodes with parallelization potential, their execution speedup is estimated based on their parallelizability ratio and parallelism degree.
[0022] Furthermore, the priority setting in step S2 includes:
[0023] Priority is determined based on at least one of the following factors: importance of the business category, processing delay requirements, or ground instructions.
[0024] Each factor is mapped to a numerical priority using a weighting factor;
[0025] It supports dynamically updating priorities based on system status or external commands during task execution.
[0026] Furthermore, the dynamic update priority includes:
[0027] Adjust the priority of nodes by increasing or decreasing them according to ground control commands or changes in mission status;
[0028] Within each scheduling cycle, a compensation item is added to the priority based on the task waiting time to increase the scheduling chance of long-waiting tasks.
[0029] Furthermore, the scheduling priority index mentioned in step S4 is calculated as follows:
[0030] Scheduling priority metrics are calculated based on task priority and estimated execution time. Tasks with higher priority and shorter execution time have higher priority metrics.
[0031] The estimated execution time includes computation time and data transmission time;
[0032] Scheduled tasks are sorted in descending order of priority.
[0033] Furthermore, the resource allocation described in step S4 includes:
[0034] Calculate the estimated completion time for each schedulable task on each available computing resource, which depends on the earliest start time of the task and the idle state of the resources;
[0035] Select resources that minimize the estimated completion time for task allocation;
[0036] Update the idle time of this resource to the task completion time.
[0037] Furthermore, the dynamic priority adjustment in step S5 includes:
[0038] When the waiting time of a task in the ready queue exceeds the threshold, its priority weight is increased according to the waiting time.
[0039] The priority increase is controlled by a time weighting factor to avoid starvation of low-priority tasks.
[0040] Furthermore, the parallel execution of the multiple processing units in step S6 includes:
[0041] Within each scheduling cycle, multiple high-priority tasks are selected from the schedulable queue and assigned to multiple available processing units;
[0042] Each processing unit executes its assigned tasks in parallel, improving system throughput and the efficiency of high-priority task completion.
[0043] Furthermore, the queue update described in step S7 includes:
[0044] After the task is completed, update the in-degree information of its successor nodes;
[0045] Add newly generated nodes with an in-degree of zero to the schedulable queue;
[0046] Recalculate and sort the scheduling priority metrics for all tasks in the queue to reflect the latest priority status.
[0047] A priority scheduling system for on-orbit data processing tasks, comprising:
[0048] The DAG modeling module is used to decompose a macro task into multiple sub-tasks and establish dependencies, defining attribute information, including priority, for each sub-task node.
[0049] The priority management module is used to set or dynamically adjust the priority of each subtask based on the task business category, processing latency requirements, or external instructions.
[0050] The schedulable queue maintenance module is used to maintain a schedulable task queue containing all subtask nodes that have completed their predecessor tasks and meet the scheduling conditions.
[0051] The priority scheduling module is used to calculate the scheduling priority index of each task based on the schedulable task queue, sort them from high to low priority, and select the optimal computing resources for task allocation.
[0052] The dynamic adjustment module is used to dynamically adjust the task priority based on the task waiting time or external instructions during task execution.
[0053] The multi-processor parallel execution module is used to support the parallel execution of multiple high-priority tasks by multiple processing units.
[0054] The queue update module is used to update the dependency state of successor nodes after a task is completed and to add new schedulable tasks to the queue.
[0055] The modules work together to achieve a priority-driven scheduling process that is executed cyclically.
[0056] The present invention has the following beneficial effects:
[0057] This invention proposes a priority scheduling method and system for on-orbit data processing tasks. Targeting on-orbit remote sensing or observation data processing tasks, it introduces priority attributes into the task model and combines a task-priority-oriented DAG model construction and scheduling method to rationally model the on-orbit task process, assign priority attributes, and implement parallel priority scheduling. This not only improves the scientific nature and real-time performance of on-orbit task execution and ensures scheduling optimization and efficient processing in a multi-task environment, but also achieves priority response for critical tasks and efficient parallel processing of multiple tasks.
[0058] To effectively adapt to the needs of satellite on-orbit multi-task data processing scenarios, this invention focuses on solving three key technical problems: First, based on the traditional DAG task model, an extensible priority attribute is defined for each task node to achieve fine-grained management of multi-task priorities; second, a topology sorting algorithm that takes into account both task dependencies and priorities is designed, so that high-priority tasks can obtain resource allocation and scheduling execution opportunities first while satisfying dependencies; third, the scheduling method is ensured to dynamically adapt to the diverse and real-time task requirements of the on-orbit system, improving the execution timeliness of key tasks and the overall service quality of the system.
[0059] The significant innovative contributions and advantages of this invention are mainly reflected in three aspects: First, in the design of the DAG task model, a priority attribute is innovatively introduced into each task node in the traditional DAG task modeling framework. This priority can be flexibly set according to the task's business needs, urgency, importance, or external instructions, and it also supports dynamic adjustment during system operation. This design enables the task scheduling system to perform detailed management and priority guarantee for critical tasks, high-value tasks, or tasks requiring real-time processing, breaking through the limitations of existing scheduling methods that only rely on task dependencies, and improving the system's adaptability and scientific scheduling level in multi-task and complex environments. Second, in the development of the scheduling algorithm, a topology sorting scheduling algorithm that takes into account both task dependencies and priority attributes is proposed for the DAG task model. In the scheduling process, the system first sorts all schedulable (without predecessor dependencies) task nodes according to priority, always prioritizing... First, high-priority tasks are scheduled, and the priority ranking is continuously and dynamically maintained during task execution and queue updates. This ensures that while meeting task dependency constraints, high-priority tasks can achieve faster scheduling response and resource allocation, effectively guaranteeing the timely completion of important tasks and improving the scientific nature and efficiency of overall task processing. Second, in terms of constructing a multi-task parallel scheduling mechanism, this scheduling method is particularly suitable for on-orbit data processing scenarios with multiple processing units running in parallel. The scheduling algorithm not only supports multiple high-priority tasks being simultaneously assigned to different processing units for concurrent execution, but also dynamically adjusts task priorities based on actual task progress and system status, achieving adaptive optimization of the scheduling scheme. Through this mechanism, the system can always guarantee the priority processing and resource allocation of high-priority tasks in complex environments with limited resources and dynamically changing tasks, significantly improving the overall system throughput and service quality, and meeting the high requirements of real-time performance and reliability for actual on-orbit tasks.
[0060] Compared to existing technologies that primarily rely on DAG task dependencies and conventional topology sorting for task scheduling, this invention exhibits significant advantages: it systematically introduces priority attributes into the task scheduling process and implements priority-driven scheduling optimization, significantly improving scheduling flexibility and task response efficiency; by setting and dynamically adjusting priorities for each task node, the system can flexibly adjust the task execution order based on actual business needs, task urgency, and external changes, ensuring priority processing and resource allocation for critical tasks in complex multi-tasking environments; simultaneously, the priority topology sorting scheduling algorithm proposed in this invention is compatible with parallel processing of multiple processing units, significantly improving the completion time of high-priority tasks and the overall system throughput while ensuring the correctness of dependencies. Compared to traditional scheduling methods based solely on dependencies or resource idle states, this invention better meets the actual needs of on-orbit distributed processing systems for high real-time performance, task differentiation, and service quality, further enhancing the system's intelligence level and application adaptability.
[0061] Other beneficial effects of the embodiments of the present invention will be further described below. Attached Figure Description
[0062] Figure 1 This is a flowchart illustrating the overall process of prioritizing the on-orbit data processing task scheduling method of the present invention.
[0063] Figure 2 This is a schematic diagram of the technical route of the on-orbit data processing task priority scheduling method according to an embodiment of the present invention.
[0064] Figure 3 This is a DAG model for remote sensing data processing according to an embodiment of the present invention. Detailed Implementation
[0065] The embodiments of the present invention will be described in detail below. It should be emphasized that the following description is merely exemplary and not intended to limit the scope and application of the present invention.
[0066] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of embodiments of the present invention, "a plurality of" means two or more, unless otherwise explicitly specified.
[0067] This invention aims to address the shortcomings of existing on-orbit data processing task scheduling methods, such as the lack of effective priority management and insufficient response to critical tasks. It seeks to improve the scientific rigor, real-time performance, and system service quality of on-orbit task execution in multi-task environments. The invention proposes introducing a priority attribute into sub-task nodes within the traditional DAG task model, which can be dynamically adjusted based on business needs, latency requirements, and external instructions. A topology sorting scheduling algorithm that balances task dependencies and priorities is designed, and combined with a multi-processing unit parallel execution mechanism, it achieves priority response to critical tasks and efficient parallel processing of multiple tasks. This scheme prioritizes resource allocation for high-priority tasks, avoids starvation for low-priority tasks, and significantly improves the overall system throughput and adaptability to diverse on-orbit tasks.
[0068] See Figure 1 This invention provides a priority scheduling method for on-orbit data processing tasks, comprising the following steps:
[0069] Step S1. Construct a DAG model for the on-orbit data processing task, decompose the macro task into multiple subtasks, define the dependencies between subtasks, and assign attribute information, including priority, to each subtask node.
[0070] In some embodiments, the DAG modeling in step S1 includes: dividing the macro task into multiple subtasks according to function, and representing the dependencies between subtasks through directed edges; defining attributes for each subtask node, including computational workload, input data size, and priority; the priority is numerical or hierarchical, used to represent the importance or urgency of the task; calculating the earliest start time and earliest finish time of the node based on the set of its direct predecessors; and estimating the execution speedup ratio of nodes with parallelization potential based on their parallelizability ratio and parallelism degree.
[0071] Step S2. Set or dynamically adjust the priority of each subtask according to the task business category, processing latency requirements, or external instructions.
[0072] In some embodiments, the priority setting in step S2 includes: comprehensively determining the priority based on at least one of the factors of business category importance, processing latency requirements, or ground instructions; mapping each factor to a numerical priority through a weighting factor; and supporting dynamic updating of the priority based on system status or external instructions during task execution.
[0073] In some embodiments, the dynamic priority update includes: adjusting the node priority by increasing or decreasing it according to ground control instructions or changes in mission status; and adding a compensation item to the priority based on the mission waiting time within each scheduling cycle to increase the scheduling opportunities for long-waiting tasks.
[0074] Step S3. Maintain a schedulable task queue, which contains all child task nodes whose predecessor tasks have been completed and meet the scheduling conditions.
[0075] Step S4. Based on the schedulable task queue, calculate the scheduling priority index of each task, sort them from high to low priority, and select the optimal computing resources for task allocation.
[0076] In some embodiments, the scheduling priority index in step S4 is calculated as follows: the scheduling priority index is calculated based on the task priority and the estimated execution time. The higher the priority and the shorter the execution time, the higher the priority index of the task. The estimated execution time includes the computation time and the data transmission time. The schedulable tasks are sorted in descending order of priority index.
[0077] In some embodiments, the resource allocation in step S4 includes: calculating the estimated completion time for each schedulable task on each available computing resource, the time depending on the earliest start time of the task and the idle state of the resource; selecting the resource that minimizes the estimated completion time for task allocation; and updating the idle time of the resource to the task completion time.
[0078] The optimal computing resources can be determined based on the scheduling objectives, and can cover dimensions such as task completion time, energy consumption, and reliability.
[0079] Step S5. During task execution, dynamically adjust task priority based on task waiting time or external instructions to avoid starvation of low-priority tasks.
[0080] In some embodiments, the dynamic priority adjustment in step S5 includes: when the waiting time of a task in the ready queue exceeds a threshold, increasing its priority weight by the waiting time; and controlling the priority increase by a time weight factor to avoid starvation of low-priority tasks.
[0081] Step S6. Based on the actual number of schedulable tasks, the multi-processing unit executes multiple high-priority tasks in parallel when needed to improve system throughput.
[0082] In some embodiments, the parallel execution of multiple processing units in step S6 includes: selecting multiple high-priority tasks from the schedulable queue and assigning them to multiple available processing units within each scheduling cycle; each processing unit executes the assigned tasks in parallel to improve system throughput and the efficiency of high-priority task completion.
[0083] Step S7. After the task is completed, update the dependency state of the successor node, add the new schedulable task to the queue, and execute the scheduling process in a loop.
[0084] In some embodiments, the queue update in step S7 includes: after a task is completed, updating the in-degree information of its successor node; adding newly generated nodes with an in-degree of zero to the schedulable queue; recalculating and sorting the scheduling priority indicators of all tasks in the queue to reflect the latest priority status.
[0085] This invention also provides a priority scheduling system for on-orbit data processing tasks, comprising:
[0086] The DAG modeling module is used to decompose a macro task into multiple sub-tasks and establish dependencies, defining attribute information, including priority, for each sub-task node.
[0087] The priority management module is used to set or dynamically adjust the priority of each subtask based on the task business category, processing latency requirements, or external instructions.
[0088] The schedulable queue maintenance module is used to maintain a schedulable task queue containing all subtask nodes that have completed their predecessor tasks and meet the scheduling conditions.
[0089] The priority scheduling module is used to calculate the scheduling priority index of each task based on the schedulable task queue, sort them from high to low priority, and select the optimal computing resources for task allocation.
[0090] The dynamic adjustment module is used to dynamically adjust the task priority based on the task waiting time or external instructions during task execution.
[0091] The multi-processor parallel execution module is used to support the parallel execution of multiple high-priority tasks by multiple processing units.
[0092] The queue update module is used to update the dependency state of successor nodes after a task is completed and to add new schedulable tasks to the queue.
[0093] The modules work together to achieve a priority-driven scheduling process that is executed cyclically.
[0094] The main technical advantages of this invention are as follows: First, it innovatively introduces a priority attribute into each sub-task node in the traditional DAG task model. This attribute can be flexibly set and dynamically adjusted according to the importance of the business category, processing latency requirements, and external instructions, realizing fine-grained management of multi-task priorities and breaking through the limitations of existing technologies that rely solely on task dependency scheduling. Second, it designs a topology sorting scheduling algorithm that takes into account both task dependencies and priorities. By calculating a scheduling priority index that combines task priorities with estimated execution times, it ensures that high-priority tasks receive priority resource allocation and execution while satisfying dependency constraints, guaranteeing real-time response for critical tasks. Third, it supports the parallel execution of multiple high-priority tasks by multiple processing units, while introducing a dynamic priority compensation mechanism based on task waiting time, which improves the overall system throughput and avoids starvation of low-priority tasks. Fourth, the overall solution can dynamically adapt to the diverse and real-time task requirements of on-orbit systems, significantly improving resource utilization, critical task assurance capabilities, and the system's adaptability and intelligence in complex multi-task environments, better meeting the service quality requirements of on-orbit distributed data processing.
[0095] The following further describes specific embodiments of the present invention and examples of its algorithm implementation.
[0096] For satellite on-orbit multi-task data processing scenarios, this invention proposes a DAG model construction and scheduling method based on task priority. By rationally modeling the on-orbit task flow, assigning priority attributes, and implementing parallel priority scheduling, it achieves prioritized response to critical tasks and efficient parallel processing of multiple tasks. Its technical approach is as follows: Figure 2 As shown. The method specifically includes the following design:
[0097] 1. DAG modeling and node attribute definition for on-orbit missions
[0098] On-orbit remote sensing data processing tasks typically involve multiple complex and computationally intensive subtasks. Traditional sequential execution not only fails to fully utilize heterogeneous onboard resources but also struggles to balance the timeliness and priority requirements of different tasks. Therefore, this invention first models the entire on-orbit processing flow using a Directed Acyclic Graph (DAG). For example... Figure 3 As shown, the system breaks down macro-level tasks into multiple sub-tasks based on business functions and algorithm flows. For example, cloud detection is refined into three steps: "data preprocessing," "Fmask cloud layer estimation," and "cloud mask construction." Geometric correction is divided into "data loading and RPC reading," "pixel resampling based on the RFM model," and "corrected pixel merging." Image classification can be broken down into "feature extraction and data preprocessing," "feature distance calculation," "sample sorting," and "result prediction." The sub-tasks have temporal constraints and may also have parallel execution relationships. Therefore, the system defines the dependencies between sub-tasks using directed edges, forming an overall DAG structure. The DAG model not only accurately describes the parallel characteristics of remote sensing data processing tasks and the dependencies between sub-tasks but is also easy to implement on real-world heterogeneous platforms, facilitating resource scheduling modeling and algorithm design.
[0099] Formally, the system models the on-orbit mission as an ordered binary tuple. The set of nodes This represents the decomposed subtasks, each node. Associate several attributes: calculate workload (e.g., the number of floating-point operations to be performed), the size of the input data. and priority Priority can be set as a numerical or hierarchical type according to business needs, for example... These correspond to "high," "medium," and "low" priorities, respectively, or can be dynamically adjusted based on ground instructions and real-time mission status. Edge set Indicates the dependencies between tasks, if , then it means Only when It can only be executed after it is completed.
[0100] To support subsequent priority-driven scheduling, the system defines several computational metrics for each node. Let the node... The calculation time is Data transmission or preparation time is Then its Earliest Start Time (EST) and Earliest Finish Time (EFT) are calculated as follows: If node The direct predecessor set is ,but
[0101] For a source node with an in-degree of zero, At that time If the task has parallelization potential (such as cloud estimation, pixel resampling, or feature distance calculation), it can be further parallelized. Decomposed into parallel and serial parts, by setting the degree of parallelism Approximate acceleration ratio ,Right now in Represents a node The parallelizability ratio is determined. This model allows the system to estimate the execution time of each node at different parallel granularities while constructing the DAG, providing a basis for subsequent resource allocation.
[0102] A "priority" field has also been specifically introduced in the node attributes. Priority is used to describe the importance or urgency of a task in the overall process. Priority can be determined based on three factors: (1) the importance of the business category, for example, target detection tasks in emergency scenarios have a higher priority than regular imaging tasks; (2) the processing latency requirements of the node itself, such as steps with high real-time requirements have a higher priority; and (3) external instructions or system status, such as the ground system dynamically adjusting task priorities according to current application needs. In order to achieve more accurate dynamic scheduling, the system can map these factors into numerical priorities using formulas, such as:
[0103] Among them, service delay instructions These represent the weighting factors for business importance, latency requirements, and ground commands, respectively. These are the corresponding weight coefficients. In this way, each node of the DAG model not only reflects the order and parallel relationships between tasks, but also provides quantified priority information in the node attributes, providing reliable data support for subsequent priority-based resource scheduling algorithms.
[0104] 2. Design of Priority-Aware Parallel Scheduling Algorithm
[0105] In priority-aware parallel scheduling algorithms, the system needs to maintain DAG constraints while considering task urgency; therefore, the entire scheduling process is designed as a dynamic "priority topology sorting." Specifically, at runtime... The scheduler maintains a set of nodes with a current in-degree of zero. These nodes are subtasks whose predecessor tasks have all been completed and can be executed immediately. Each node in The system not only records its static priority It also calculates its estimated execution time. (Including computation time and data transmission time), thus defining a scheduling priority metric:
[0106] in To avoid small constants with a denominator of zero, according to... All schedulable nodes are sorted from largest to smallest, with high-priority tasks and those with short estimated execution times placed at the front of the queue. This strategy balances task importance and resource utilization, allowing high-priority tasks to be processed faster while short tasks can quickly release resources.
[0107] The scheduler selects target processing units for each node according to the sorted order. Assume there are a total of [number missing] nodes in the system. Available computing resources, each resource The current idle time is For candidate tasks and resources Its estimated completion time can be expressed as
[0108] in For the task At the earliest start time of the current moment, In order to have resources The estimated execution time of the task. The scheduler selects the appropriate time for each task to be assigned. Minimal resources ,Right now When a task After being allocated and started, update the idle time of the resource. At the same time, the task from Remove from the middle and dynamically check all successor nodes; for each successor node If all its predecessors are completed, then add it. The next round of scheduling will still be based on the updated [system / mechanism]. This is done in conjunction with the resource status, forming a real-time updated and continuously executed loop.
[0109] To prevent high-priority tasks from occupying resources for extended periods and causing starvation of low-priority tasks, the scheduler can also employ a dynamic priority promotion mechanism. When a task... Waiting time in the ready queue When the threshold is exceeded, the system can adjust its actual scheduling weight:
[0110] in This is a time-weighted factor. In this way, as the waiting time increases, the overall performance index of low-priority tasks will gradually improve, ensuring they are executed within a reasonable timeframe.
[0111] Through this priority-aware parallel scheduling framework, the system can dynamically allocate heterogeneous computing resources to tasks in real time according to their priority sequence while ensuring DAG dependency constraints. It also updates the ready queue and resource status immediately after task completion, continuously iterating scheduling decisions. This strategy ensures rapid response for critical tasks while also considering resource utilization and overall system throughput, making it a core mechanism for achieving efficient collaboration and priority management in on-orbit data processing environments.
[0112] 3. Supports dynamic adjustment and parallel execution of multiple processing units.
[0113] To support the system's adaptability during operation, this invention introduces a "dynamic adjustment" and "parallel execution of multiple processing units" mechanism on top of the priority scheduling framework. Firstly, dynamic adjustment is reflected in the real-time updating of task node priorities. When the ground control center issues new operational instructions or the task status changes, the scheduling system will adjust the priorities of the corresponding nodes according to a predefined strategy. This can be adjusted by raising or lowering the node's speed. For example, a real-time adjustment function can be set to adjust the speed of the node's speed. Priority at time The update is in Driven by instruction or state changes, positive values indicate increased priority, and negative values indicate decreased priority. The system receives these changes in real time and immediately updates the weights of each node in the task queue to ensure that subsequent scheduling decisions reflect the latest task urgency. On the other hand, if a task waits for too long, to avoid starvation, priority can be allocated according to the wait time within each scheduling cycle. Add a compensation item to the priority level ,in A coefficient used to control the compensation rate.
[0114] Secondly, to fully utilize the multiple processing units of the onboard heterogeneous computing platform, this invention supports the simultaneous selection of multiple high-priority nodes from the ready queue in each scheduling cycle, and their allocation to multiple computing resources for parallel execution. Let the number of currently available processing units in the system be... In a given scheduling round, the set of schedulable nodes is... Center front Individual Tasks sorted in descending order of value will be assigned to different processing units. For each candidate task... and processing unit The earliest completion time will still be used. Choose appropriate resources based on the principle of solving This allows for the optimal allocation of tasks. In this way, a single scheduling round can launch up to [number missing] tasks simultaneously. The parallel execution of multiple tasks by multiple processing units effectively improves system throughput and the completion efficiency of high-priority tasks.
[0115] When a task is completed, the scheduler immediately updates the in-degree of all its successor nodes and adds all newly emerging nodes with an in-degree of zero that meet the schedulable condition to the scheduler. Because priorities can change dynamically over time or with system commands, the scheduling queue is recalculated at the start of each new cycle. The system sorts tasks to ensure that the highest priority task node is always scheduled first. This combination of dynamic adjustment and parallel execution by multiple processing units enables the scheduling system to respond quickly to changes in external demands, while improving the overall system efficiency and real-time support capabilities for critical tasks.
[0116] Technical effects and application scenarios:
[0117] This priority-aware DAG parallel scheduling method is designed for multi-task, multi-device on-orbit data processing environments, and its technical advantages are reflected in several aspects. First, from an application perspective, image data acquired by remote sensing satellites needs to undergo complex processes such as cloud detection, geometric correction, image classification, and target detection before it can be transformed into useful information. These tasks are not only large in data volume and computationally intensive, but also require extremely high real-time processing capabilities in scenarios such as emergency monitoring and target tracking. Decomposing tasks into DAGs and adopting priority-aware parallel scheduling can be widely applied to distributed scenarios such as satellite on-orbit remote sensing data processing, emergency observation task issuance, and data analysis for space science experiments. For example, when a satellite needs to quickly generate disaster area images after a natural disaster, the system can assign the highest priority to this remote sensing task, allowing it to be executed first in the scheduling queue, ensuring the timely return of critical data.
[0118] Secondly, from a technical perspective, priority-aware scheduling significantly improves the efficiency of high-priority tasks and the overall system throughput. Let the total number of tasks completed by the system within the scheduling time window T be... Then the system throughput can be expressed as After adopting parallel scheduling of multiple processing units, This will significantly improve performance as the number of parallelizable tasks and resources increases; while the priority mechanism guarantees the completion time of critical tasks. Significantly shortened. To measure the importance and effectiveness of scheduling strategies for different tasks, a weighted average completion time can be defined: in For the task Priority coefficients. Compared with traditional no-priority scheduling, the priority-aware method can effectively reduce the weight contribution of high-priority tasks in WCT, thereby improving the system's ability to guarantee critical tasks.
[0119] Furthermore, the algorithm's parallel execution capability allows multiple high-priority tasks to run simultaneously in different processing units, which not only shortens the turnaround time of critical tasks but also ensures the steady progress of low-priority tasks, avoiding starvation. In addition, by dynamically adjusting node priorities, the scheduler can respond in real time to ground control commands or changes in task status. For example, in disaster monitoring, it can prioritize the latest issued observation tasks, or during scientific experiments, it can prioritize the analysis of specific experimental data, thereby achieving adaptive evolution of the scheduling strategy.
[0120] In summary, the priority-aware DAG parallel scheduling method of the present invention has significant technical benefits in scenarios such as satellite on-orbit remote sensing data processing, emergency task distribution, and scientific experimental data analysis: it improves the scientific nature and real-time performance of task processing by prioritizing the execution of high-priority tasks and the parallel operation of multiple processing units, optimizes the overall resource utilization, and provides a scalable scheduling framework for on-orbit data processing.
[0121] In summary, this invention proposes a priority scheduling method and system for on-orbit data processing tasks. The key innovative contributions and significant advantages of this invention include:
[0122] (1) Priority attribute expansion and dynamic management of DAG task model
[0123] This invention innovatively introduces a priority attribute to each task node within the traditional DAG (Directed Acyclic Graph) task modeling framework. Priorities can be flexibly set based on task requirements, urgency, importance, or external instructions, and can also be dynamically adjusted during system operation. This design enables the task scheduling system to provide detailed management and priority assurance for critical, high-value, or real-time tasks, overcoming the limitations of existing scheduling methods that rely solely on task dependencies. It enhances the system's adaptability and scientific scheduling capabilities in multi-task, complex environments.
[0124] (2) Priority-driven topology sorting scheduling method
[0125] For DAG task models, this invention proposes a topology sorting scheduling algorithm that considers both task dependencies and priority attributes. In the scheduling process, the system first sorts all schedulable (without predecessor dependencies) task nodes by priority, always prioritizing the scheduling of high-priority tasks, and continuously and dynamically maintains the priority ranking during task execution and queue updates. This method ensures that while satisfying task dependency constraints, high-priority tasks receive faster scheduling responses and resource allocation, effectively guaranteeing the timely completion of important tasks and improving the overall scientific nature and efficiency of task processing.
[0126] (3) Efficient priority scheduling mechanism in multi-task parallel environment
[0127] The scheduling method of this invention is particularly suitable for on-orbit data processing scenarios involving multiple processing units operating in parallel. The scheduling algorithm not only supports the simultaneous allocation of multiple high-priority tasks to different processing units for concurrent execution, but also dynamically adjusts task priorities based on actual task progress and system status, achieving adaptive optimization of the scheduling scheme. Through this mechanism, the system can consistently ensure priority processing and resource allocation for high-priority tasks in complex environments with limited resources and dynamically changing tasks, significantly improving overall system throughput and service quality, and meeting the high real-time and reliability requirements of actual on-orbit tasks.
[0128] Compared to existing technologies that primarily rely on DAG task dependencies and conventional topology sorting for task scheduling, this invention systematically introduces priority attributes into the task scheduling process and implements priority-driven scheduling optimization, significantly improving scheduling flexibility and task response efficiency. By setting and dynamically adjusting priorities for each task node, the system can flexibly adjust the task execution order based on actual business needs, task urgency, and external changes, ensuring priority processing and resource allocation for critical tasks in complex multi-tasking environments. Simultaneously, the priority topology sorting scheduling algorithm proposed in this invention is compatible with parallel processing by multiple processing units, significantly improving the completion time of high-priority tasks and the overall system throughput while ensuring the correctness of dependencies. Compared to traditional scheduling methods based solely on dependencies or resource idle states, this invention better meets the actual needs of on-orbit distributed processing systems for high real-time performance, task differentiation, and service quality, enhancing the system's intelligence and application adaptability.
[0129] The above description provides a further detailed explanation of the present invention in conjunction with specific / preferred embodiments, and it should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various substitutions or modifications can be made to these described embodiments without departing from the concept of the present invention, and all such substitutions or modifications should be considered within the scope of protection of the present invention. In the description of this specification, the reference to terms such as "an embodiment," "some embodiments," "preferred embodiment," "example," "specific example," or "some examples," etc., indicates that the specific features, structures, materials, or characteristics described in connection with that embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in any suitable manner in one or more embodiments or examples. Without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification and the features of different embodiments or examples. Although the embodiments of the present invention and their advantages have been described in detail, it should be understood that various changes, substitutions, and modifications can be made herein without departing from the scope of protection of the patent application.
Claims
1. A method for priority scheduling of on-orbit data processing tasks, characterized in that, The method comprises the following steps: S1. Constructing a DAG model of on-orbit data processing tasks, decomposing macro tasks into multiple subtasks, defining the dependency relationship between subtasks, and assigning attribute information including priority to each subtask node; S2. Setting or dynamically adjusting the priority of each subtask according to the task business category, processing time delay requirement or external instruction; the priority setting comprises: comprehensively determining the priority according to at least one of the business category importance, processing time delay requirement or ground instruction; mapping each factor to a numerical priority through a weighting factor; supporting dynamic updating of the priority according to the system state or external instruction during task execution; the dynamic updating of the priority comprises: increasing or decreasing the node priority according to the ground control instruction or task state change; S3. Maintaining a schedulable task queue, which contains all subtask nodes whose predecessor tasks have been completed and meet the scheduling conditions; S4. Based on the schedulable task queue, a scheduling priority index of each task is calculated, sorted in descending order of priority, and the optimal computing resource is selected for task allocation; the calculation method of the scheduling priority index is: based on the priority and estimated execution time of the task, the higher the priority and the shorter the execution time, the higher the priority index of the task; the estimated execution time includes calculation time and data transmission time; the schedulable tasks are sorted in descending order of priority index; wherein at the running time , the scheduler maintains a set of nodes with zero in-degree , for each node in , record its static priority , calculate its estimated execution time , and thus define the scheduling priority index : wherein is a small constant to avoid a zero denominator; S5. During task execution, dynamically adjusting the task priority according to the task waiting time or external instruction to avoid low-priority task starvation; S6. Based on the actual number of schedulable tasks, multiple processing units execute multiple high-priority tasks in parallel when needed to improve system throughput; S7. Updating the dependency state of the successor node after the task is completed, and adding new schedulable tasks to the queue to circulate the scheduling process.
2. The priority scheduling method for on-orbit data processing tasks as described in claim 1, characterized in that, The DAG modeling in step S1 comprises: Splitting the macro task into multiple subtasks according to function, and representing the dependency relationship between subtasks through directed edges; Defining the attributes of each subtask node, including calculation workload, input data size and priority; The priority is numerical or hierarchical, used to represent the importance or urgency of the task; Calculating the earliest start time and earliest completion time of the node according to its direct predecessor set; For nodes with parallelization potential, estimate their execution speedup ratio according to their parallelizable proportion and parallelism degree.
3. The priority scheduling method for on-orbit data processing tasks as described in claim 1, characterized in that, The dynamic updating of the priority further comprises: In each scheduling period, add a compensation term to the priority according to the task waiting time to improve the scheduling opportunity of long-waiting tasks.
4. The priority scheduling method for on-orbit data processing tasks as described in claim 1, characterized in that, Step S4 comprises: Calculating the expected completion time of each schedulable task on each available computing resource, which depends on the earliest start time of the task and the idle state of the resource; Selecting the resource that minimizes the expected completion time for task allocation; Updating the idle time of the resource to the task completion time.
5. The priority scheduling method for on-orbit data processing tasks as described in claim 1, characterized in that, The dynamic priority adjustment in step S5 comprises: When the waiting time of a task in the ready queue exceeds a threshold, increase its priority weight according to the waiting time; Control the priority improvement amplitude through a time weight factor to avoid low-priority task starvation.
6. The priority scheduling method for on-orbit data processing tasks as described in claim 1, characterized in that, The parallel execution of multiple processing units in step S6 comprises: In each scheduling period, select multiple high-priority tasks from the schedulable queue and allocate them to multiple available processing units; Each processing unit executes the allocated tasks in parallel to improve system throughput and high-priority task completion efficiency.
7. The method of claim 1, wherein the step of prioritizing the data processing tasks comprises: The queue updating in step S7 comprises: After the task is completed, update the in-degree information of its successor node; Add the newly generated node with in-degree zero to the schedulable queue; Recalculating the scheduling priority indicators of all tasks in the queue and sorting to reflect the latest priority state.
8. A priority scheduling system for in-orbit data processing tasks, characterized by, Comprise: A DAG modeling module for decomposing macro tasks into subtasks and establishing dependency relationships, defining attributes including priority for each subtask node; A priority management module for setting and dynamically adjusting task priority; Priority setting includes: determining priority according to at least one of business category importance, processing time delay requirement or ground instruction; mapping each factor to a numerical priority through a weighting factor; supporting dynamic updating of priority during task execution according to system state or external instruction; the dynamic updating of priority includes: increasing or decreasing the priority of the node according to the ground control instruction or the change of the task state; The scheduler module is used for maintaining a schedulable task queue, calculating a scheduling priority index, and performing task sequencing and resource allocation; the scheduling priority index is calculated based on the priority of a task and an estimated execution time, and the higher the priority and the shorter the execution time of a task, the higher the priority index of the task; the estimated execution time comprises a calculation time and a data transmission time; the schedulable tasks are sequenced in descending order of the priority index; wherein at a running time , the scheduler maintains a set of nodes with a current in-degree of zero , for each node in the set , records a static priority of the node , calculates an estimated execution time of the node , and thereby defines the scheduling priority index : wherein is a tiny constant to avoid a zero denominator A dynamic adjustment module for adjusting task priority according to waiting time or external instruction; A multi-processing unit execution module for parallel execution of multiple high-priority tasks; A queue updating module for updating dependency state and schedulable task queue after task completion.
Citation Information
Patent Citations
Multi-DAG satellite edge task scheduling and task unloading method and system
CN119917244A
Parallel task fine-grained dynamic priority scheduling strategy based on DAG model on multi-core platform
CN120256047A