Hierarchical task scheduling method and related device suitable for low earth orbit satellite
By employing hierarchical optimization and distributed scheduling mechanisms, combined with iterative calculation formulas, the task allocation strategy for low Earth orbit satellites was optimized, addressing the scheduling challenges brought about by the expansion of Starlink's scale and link instability, thereby improving the system's scheduling accuracy and task processing efficiency.
Patent Information
- Application Number
- CN202510070889.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-16
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2045-01-16
AI Technical Summary
Existing low Earth orbit satellite mission scheduling methods face scalability and performance challenges as Starlink scales up and inter-satellite and satellite-to-ground links become unstable. Centralized control struggles to optimize global decision-making, while distributed decision-making struggles to determine the optimal solution.
A hierarchical optimization and distributed scheduling mechanism is adopted. The task allocation strategy of container, server and satellite layers is optimized by iterative calculation formula. Combined with the load and constraints of each layer of the system, the scheduling strategy is dynamically adjusted to realize task offloading decision.
It improves the accuracy and adaptability of the scheduling strategy for low Earth orbit satellite systems, optimizes mission processing capabilities, and ensures efficient operation of the system under dynamic conditions.
Smart Images

Figure CN119997100B_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of this application relate to the field of satellite communication technology, and in particular to a hierarchical mission scheduling method and related equipment suitable for low Earth orbit satellites. Background Technology
[0002] In recent years, the rapid development of Low Earth Orbit (LEO) satellites has led to significant achievements in global internet access services. For example, the existing Starlink network has deployed over 4,000 LEO satellites, providing internet service to more than 2.3 million users in areas with limited infrastructure. These satellites aim to better support the development of various internet applications such as Artificial Intelligence (AI), Computer Vision (CV), and Natural Language Processing (NLP), thereby driving the increasing demand for computing on LEO platforms.
[0003] However, as Starlink continues to expand, centralized control for mission scheduling may face challenges in terms of complexity and scalability. Furthermore, due to the instability of inter-satellite communication and satellite-to-ground station links, as well as bandwidth limitations, frequent interactions between different satellites and with ground stations to optimize global decision-making become extremely difficult, which to some extent restricts the performance of fully distributed decision-making. Therefore, researching hierarchical mission scheduling strategies for low-Earth orbit satellites is of significant importance and value. Summary of the Invention
[0004] In view of this, the purpose of one or more embodiments of this application is to provide a hierarchical mission scheduling method and related equipment suitable for low Earth orbit satellites, so as to solve the problems mentioned in the background art.
[0005] To achieve the above objectives, one or more embodiments of this application provide a hierarchical mission scheduling method suitable for low Earth orbit satellites. This includes:
[0006] A first allocation strategy is obtained based on the current scheduling strategy and the pending task information of the container, and an intermediate scheduling strategy is obtained based on the current scheduling strategy, the pending task information of the container and the pending task information of the server.
[0007] A second allocation strategy is obtained based on the intermediate scheduling strategy and the server's pending task information, and the first operator is updated based on the first allocation strategy, the second allocation strategy, and the server's pending task information.
[0008] A third allocation strategy is obtained based on the first operator, the second operator, and the server's pending task information, and the second operator is updated based on the server's pending task information and the third allocation strategy.
[0009] The scheduling strategy is updated based on the second allocation strategy, the third allocation strategy, and the server's pending task information.
[0010] Optionally, the first allocation strategy is obtained by performing the following steps:
[0011] The current task allocation strategy for the container is determined based on the current scheduling strategy;
[0012] Based on the container's current task allocation strategy and the container's pending task information, the first allocation strategy is obtained by iteratively calculating the following formula until the result converges; the first allocation strategy indicates the optimal target unloading container for any task, and the container is deployed on the server.
[0013]
[0014] Where k represents the iteration number, γ represents the parameter used to control the step size or learning rate in the iterative calculation, which is used to adjust the update magnitude of the variables in each iteration to ensure that the iterative process can stably converge to the optimal solution or close to the optimal solution, a represents the state variable in the optimization process, and F i L represents the offloading advantage factor of the i-th satellite. o Q represents the workload of the container. o This represents the queue of tasks to be processed in the container, where i represents the satellite index, m represents the task index, and o represents the container index.
[0015] Optionally, the intermediate scheduling strategy is obtained by performing the following steps:
[0016] Based on the current scheduling strategy, the pending task information of the container, and the pending task information of the server, the intermediate scheduling strategy is obtained by iteratively calculating using the following formula until the result converges.
[0017]
[0018] Where, η s This indicates the current scheduling policy. This represents fixed information about the tasks pending on server s. γ' represents the task information to be processed in container o under the first allocation strategy, and γ′ represents the parameter used to control the update step size and the terms related to the task information in the iterative calculation.
[0019] Optionally, the second allocation strategy is obtained by performing the following steps:
[0020] The current task allocation strategy of the server is determined based on the current scheduling strategy;
[0021] Based on the server's current task allocation strategy, the intermediate scheduling strategy, and the server's pending task information, the second allocation strategy is obtained by iteratively calculating the following formula until the result converges; the second allocation strategy indicates the optimal target offloading server for any task.
[0022]
[0023] Where, η s Indicates the intermediate scheduling strategy, Q s This represents the server's queue of pending tasks, μ represents the first operator, and L... s (Q s ) represents the load of server s.
[0024] Optionally, the first operator is obtained by performing the following steps:
[0025] Based on the first allocation strategy, the second allocation strategy, and the server's pending task information, the first operator is obtained by iterative calculation using the following formula until the result converges.
[0026]
[0027] in, This represents the fixed information of the tasks to be processed under the top-level strategy.
[0028] Optionally, the third allocation strategy is obtained by performing the following steps:
[0029] Determine the top-level task allocation strategy based on the current scheduling strategy;
[0030] Based on the top-level task allocation strategy, the first operator, the second operator, and the server's pending task information, the third allocation strategy is obtained by iteratively calculating using the following formula until the result converges.
[0031]
[0032] Where γ″ represents the parameter used to control the update step size in the iterative calculation, and λ represents the second operator.
[0033] Optionally, the second operator is obtained by performing the following steps:
[0034] Based on the server's pending task information and the third allocation strategy, the second operator is obtained by iteratively calculating the following formula until the result converges;
[0035]
[0036] Here, p represents a constraint parameter that is related to the load of the server cluster.
[0037] Based on the same inventive concept, one or more embodiments of this application also provide a hierarchical mission scheduling device suitable for low Earth orbit satellites, comprising:
[0038] The first calculation module 11 is configured to obtain a first allocation strategy based on the current scheduling strategy and the pending task information of the container, and to obtain an intermediate scheduling strategy based on the current scheduling strategy, the pending task information of the container and the pending task information of the server.
[0039] The second calculation module 12 is configured to obtain a second allocation strategy based on the intermediate scheduling strategy and the server's pending task information, and update the first operator based on the first allocation strategy, the second allocation strategy, and the server's pending task information.
[0040] The third calculation module 13 is configured to obtain a third allocation strategy based on the first operator, the second operator and the server's pending task information, and update the second operator based on the server's pending task information and the third allocation strategy.
[0041] The fourth calculation module 14 is configured to obtain an updated scheduling strategy based on the second allocation strategy, the third allocation strategy, and the server's pending task information.
[0042] Based on the same inventive concept, one or more embodiments of this application also provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the hierarchical mission scheduling method for low Earth orbit satellites as described in any of the preceding claims.
[0043] Based on the same inventive concept, one or more embodiments of this application also provide a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute any of the hierarchical task scheduling methods for low Earth orbit satellites described above.
[0044] As can be seen from the above description, the hierarchical task scheduling method for low Earth orbit satellites provided in one or more embodiments of this application obtains a first allocation strategy based on the current scheduling strategy and the pending task information of the container, and obtains an intermediate scheduling strategy based on the current scheduling strategy, the pending task information of the container, and the pending task information of the server; obtains a second allocation strategy based on the intermediate scheduling strategy and the pending task information of the server, and updates a first operator based on the first allocation strategy, the second allocation strategy, and the pending task information of the server; obtains a third allocation strategy based on the first operator, the second operator, and the pending task information of the server, and updates a second operator based on the pending task information of the server and the third allocation strategy; and obtains an updated scheduling strategy based on the second allocation strategy, the third allocation strategy, and the pending task information of the server.
[0045] This application proposes a hierarchical task scheduling method suitable for low Earth orbit satellites, integrating a hierarchical optimization mechanism and a distributed scheduling mechanism. The hierarchical optimization mechanism dynamically adjusts the scheduling strategy based on the load and constraints of each layer of the system, improving the accuracy of the scheduling strategy and further enhancing the system's adaptability and task processing capabilities. The distributed scheduling mechanism refers to the process of allocating and scheduling computing tasks among multiple computing nodes. This scheduling mechanism allows each node to dynamically adjust task offloading decisions based on real-time network conditions, resource availability, and task priority and requirements.
[0046] The hierarchical task scheduling apparatus, electronic device, and computer-readable storage medium provided in this application can all implement the steps of the hierarchical task scheduling method for low Earth orbit satellites described above, and therefore also possess the beneficial effects of the hierarchical task scheduling method for low Earth orbit satellites described above. Attached Figure Description
[0047] To more clearly illustrate the technical solutions in one or more embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only one or more embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0048] Figure 1 This is a flowchart illustrating a hierarchical mission scheduling method for low Earth orbit satellites, applicable to one or more embodiments of this application.
[0049] Figure 2 This is a schematic diagram of a hierarchical mission scheduling device for low Earth orbit satellites according to one or more embodiments of this application;
[0050] Figure 3 This is a schematic diagram of the hardware structure of an electronic device according to one or more embodiments of this application. Detailed Implementation
[0051] To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.
[0052] It should be noted that, unless otherwise defined, the technical or scientific terms used in one or more embodiments of this application should have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms "first," "second," and similar terms used in one or more embodiments of this application do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed following the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0053] As described in the background section, currently, due to the continuous expansion of Starlink's scale and the instability and limited bandwidth of inter-satellite and satellite-to-ground links, it is impossible to rely solely on centralized or fully distributed methods for task scheduling. The former leads to poor scalability, while the latter results in poor performance due to the difficulty in determining the optimal solution.
[0054] To address the aforementioned issues, this application proposes a hierarchical optimization and distributed scheduling mechanism to offload computational tasks based on specific circumstances. When the hierarchical scheduling framework is optimized across different layers, the scheduling strategy of the upper layer needs to consider the resource status and arithmetic constraints of the lower layer, while the task allocation strategy of the lower layer needs to be fed back to the upper layer to guide future strategy adjustments. Complementing the hierarchical optimization is the distributed scheduling mechanism. Distributed scheduling refers to the process of allocating and scheduling computational tasks among multiple computing nodes. This scheduling mechanism allows a single node to dynamically adjust task offloading decisions based on real-time network conditions, resource availability, and task priorities and requirements.
[0055] For details, please refer to Figure 1 The hierarchical mission scheduling method for low Earth orbit satellites according to one or more embodiments of this application includes the following steps:
[0056] Step S101: Obtain a first allocation strategy based on the current scheduling strategy and the pending task information of the container, and obtain an intermediate scheduling strategy based on the current scheduling strategy, the pending task information of the container and the pending task information of the server.
[0057] Step S102: Obtain the second allocation strategy based on the above intermediate scheduling strategy and the server's pending task information, and update the first operator based on the above first allocation strategy, the above second allocation strategy, and the server's pending task information.
[0058] Step S103: Obtain a third allocation strategy based on the first operator, the second operator, and the server's pending task information, and update the second operator based on the server's pending task information and the third allocation strategy.
[0059] Step S104: Obtain the updated scheduling strategy based on the second allocation strategy, the third allocation strategy, and the pending task information of the server.
[0060] The method proposed in this application is to calculate the lower-level task allocation strategy based on the existing overall scheduling strategy, combined with the resource status and arithmetic constraints of the lower level, and update the overall scheduling strategy based on the lower-level task allocation strategy.
[0061] To achieve layered optimization, this application divides the low Earth orbit satellite system into three layers: a satellite layer, a server layer, and a container layer. The server layer consists of multiple servers that handle the offloading tasks from the satellites in the satellite layer. Containers can be viewed as computing resources for the servers, used to execute tasks on their respective servers. The servers provide underlying hardware and operating system support for the containers, while the containers encapsulate the application and its runtime environment together, forming a modular computing unit.
[0062] The purpose of step S101 is to determine the optimal task allocation strategy at the container level based on the current scheduling strategy and the container load information.
[0063] The current scheduling strategy described above represents the overall scheduling strategy for the low Earth orbit satellite system, including the satellite layer, server layer, and container layer. Combining this current scheduling strategy with the pending task information for the containers yields the first allocation strategy for the container layer.
[0064] Specifically, the information on tasks to be processed may include the task queue, the execution time c(m) of the task on the satellite, and other relevant information. i The execution time c(m) of the task on the server e The estimated transmission delay of the raw data from the satellite to the server for the mission. Satellite execution accuracy a i Server execution accuracy as The number of tasks currently being processed by the container, Q o .
[0065] In the embodiments of this application, the first allocation strategy described above is obtained by iteratively calculating the following formula until the result is obtained.
[0066]
[0067] Where k represents the iteration number, γ represents the parameter used to control the step size or learning rate in the iterative calculation, which is used to adjust the update magnitude of the variables in each iteration to ensure that the iterative process can stably converge to the optimal solution or close to the optimal solution, and a represents the state variable in the optimization process, a(k)=(y(k),μ(k),γ(k),λ(k)), which includes the decision variables at the current iteration round and the Lagrange multipliers λ, γ, μ, and F. i L represents the offloading advantage factor of the i-th satellite. o Q represents the workload of the container. o The container represents the queue of tasks to be processed, where i represents the satellite index, m represents the task index, and o represents the container index. The state variables in the optimization process of this application may include the state variables of the satellite and server models. In some embodiments of this application, inference accuracy is used to represent the state variables. That is, the state variables of this application may include: a i , representing model m i On satellite n i The inference accuracy on, and a s , representing the inference accuracy of the server-side model.
[0068] L() is an expression related to the Lagrange function. This indicates that the m-th task of the i-th satellite is unloaded to the o-th container of the s-th server. This means do not uninstall.
[0069] Understandable, the first allocation strategy It is a model derived from the Lagrangian function and related constraints for calculating the optimal task allocation strategy for the container layer, which takes into account the offloading advantage F and the relevant information of the tasks to be processed.
[0070] After obtaining the first allocation strategy of the container layer, the scheduling strategy can be optimized based on the first allocation strategy to obtain the intermediate scheduling strategy.
[0071] In the embodiments of this application, the first allocation strategy described above can be used. The fixed parameters or decision information of the server layer (which can be regarded as the fixed optimizer of the server layer) are iteratively calculated according to the following formula until the calculation results converge to obtain the intermediate scheduling strategy;
[0072]
[0073] Where, η s This represents the current scheduling policy. An intermediate scheduling policy can be obtained through iterative calculation based on this policy. This represents the fixed information of the tasks to be processed by server s, namely the fixed parameters or decision information of the server layer (which can be regarded as the fixed optimizer of the server layer). γ' represents the task information to be processed in container o under the first allocation strategy, and γ′ represents the parameter used to control the update step size and the terms related to the task information in the iterative calculation.
[0074] It is a quantity used to calculate the correlation between the number of tasks to be executed on server s and the second allocation strategy. It is a quantity used to calculate the number of tasks to be executed on container o and the correlation with the first allocation strategy.
[0075] The above calculations effectively coordinate local decisions with global strategies, ensuring that the low Earth orbit satellite system continuously optimizes its mission allocation strategy, improves the system's computational efficiency, and responds to minor changes in the system.
[0076] The second allocation strategy at the server layer will be determined based on the above results. In embodiments of this application, the container may calculate the first allocation strategy and the intermediate scheduling strategy and send the calculation results to the target server so that the server can calculate the second allocation strategy; or any calculation module may calculate the first allocation strategy and the intermediate scheduling strategy and send them to the second calculation module for subsequent calculations; or the same calculation module may execute all the above calculations.
[0077] Step S102 is used to determine the optimal task unloading decision for the server.
[0078] The second allocation strategy in step S102 needs to be determined based on the intermediate scheduling strategy in step S101, the server's current task allocation strategy, and the server's pending task information. The pending tasks of the server are determined based on the pending tasks of the containers on that server.
[0079] In the embodiments of this application, the above-mentioned second allocation strategy is obtained by iteratively calculating the following formula until the result is obtained.
[0080]
[0081] Where, η s Indicates the intermediate scheduling strategy, Q s This represents the server's queue of pending tasks, μ represents the first operator, and L... s (Q sThe first operator () represents the load on server s. It can be a Lagrange multiplier used to decouple decisions between the satellite and server layers, and is a parameter related to server load balancing scheduling used in the optimization process. s (Q s The number of tasks Q currently being processed by server s s Related.
[0082] This indicates that the m-th task of the i-th satellite is offloaded to the s-th server. This means do not uninstall. L s (Q s ): The workload function of server s, relative to the number of tasks Q currently being processed by server s. s Related, used to measure server load.
[0083] It is understandable that the model of the second allocation strategy is derived based on the Lagrangian function and related constraints. It takes into account the overall load of the server layer and the coordination relationship with the decisions of the satellite layer and the container layer, and is used to calculate the optimal task allocation strategy of the server layer.
[0084] The first operator mentioned above is updated after each calculation. In the embodiments of this application, the fixed information of the tasks to be processed on the server and the fixed information of the tasks to be processed under the top-level policy can be sent to the load balancer scheduler or the preset calculation module for calculation.
[0085] The first operator is iteratively calculated using the following formula until the result converges.
[0086]
[0087] in, g represents fixed information about the tasks to be processed under the top-level strategy. s This indicates the load status of server s under the second allocation strategy. Q s G represents the queue of pending tasks on server s. S This indicates the load status of server cluster S under the second allocation strategy. Q S This shows the queue of tasks to be processed in server cluster S.
[0088] Step S102 calculates the second allocation strategy for the server layer based on the first operator, and then updates the first operator based on the latest pending task information of the server layer and satellite layer data to optimize the task allocation strategy of the server layer, thereby further optimizing the system's task allocation strategy. Step S102 effectively realizes the dynamic optimization and allocation of server layer tasks.
[0089] Step S103 generates the optimal allocation strategy for each task, based on the third allocation strategy for calculating the satellite layer, derived from the Lagrangian function and relevant constraints. Step S103 considers the satellite's own pending tasks and the coordination relationship with decisions made at the satellite layer and container layer, in order to achieve the overall optimization goal of task scheduling.
[0090] The aforementioned third allocation strategy is derived based on the top-level task allocation strategy, the first operator, the second operator, and the server's pending task information. Specifically, the third allocation strategy can be obtained by iteratively calculating using the following formula until the result converges.
[0091]
[0092] Where γ″ represents the parameter used to control the update step size in the iterative calculation, λ represents the second operator, which can be a Lagrange multiplier whose value is related to the third allocation strategy of the satellite layer and the second allocation strategy of the server layer. This indicates that the m-th task of the i-th satellite is offloaded to the server. This means do not uninstall.
[0093] The second operator above is calculated iteratively using the following formula until the result converges.
[0094]
[0095] Here, p represents a constraint parameter that is related to the load of the server cluster. In the embodiments of this application, this constraint parameter can be set to the maximum allowable load of the server cluster, etc.
[0096] The update of this second operator can be calculated by the load balancer scheduler or other preset calculation modules.
[0097] Step S104 involves updating the overall scheduling strategy of the system based on the previously obtained allocation strategy. This calculation can be performed by the load balancer scheduler or other preset calculation modules.
[0098] It is understandable that this method can be executed by any device, equipment, platform, or cluster of devices with computing and processing capabilities.
[0099] Based on the above, this application proposes a hierarchical task scheduling method suitable for low Earth orbit satellites, integrating a hierarchical optimization mechanism and a distributed scheduling mechanism. The hierarchical optimization mechanism dynamically adjusts the scheduling strategy based on the load and constraints of each layer of the system, improving the accuracy of the scheduling strategy and further enhancing the system's adaptability and task processing capabilities. The distributed scheduling mechanism refers to the process of allocating and scheduling computing tasks among multiple computing nodes. This scheduling mechanism allows each node to dynamically adjust task offloading decisions based on real-time network conditions, resource availability, and task priority and requirements.
[0100] In other words, this application achieves dynamic task scheduling through collaboration between different levels of the system, ensuring that the system can make timely adjustments under constantly changing task and load conditions, thereby optimizing overall performance.
[0101] It should be noted that the methods of one or more embodiments of this application can be executed by a single device, such as a computer or server. The methods of this embodiment can also be applied in a distributed scenario, where multiple devices cooperate to complete the process. In such a distributed scenario, one of these devices may execute only one or more steps of the methods of one or more embodiments of this application, and the multiple devices will interact with each other to complete the method described.
[0102] It should be noted that the above description describes specific embodiments of this application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims may be performed in a different order than that shown in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0103] Based on the same inventive concept, and corresponding to any of the methods in the above embodiments, this application also provides a hierarchical mission scheduling device suitable for low Earth orbit satellites. For example... Figure 2 As shown, the device includes:
[0104] The first calculation module 11 is configured to obtain a first allocation strategy based on the current scheduling strategy and the pending task information of the container, and to obtain an intermediate scheduling strategy based on the current scheduling strategy, the pending task information of the container and the pending task information of the server.
[0105] The second calculation module 12 is configured to obtain a second allocation strategy based on the intermediate scheduling strategy and the server's pending task information, and update the first operator based on the first allocation strategy, the second allocation strategy, and the server's pending task information.
[0106] The third calculation module 13 is configured to obtain a third allocation strategy based on the first operator, the second operator and the server's pending task information, and update the second operator based on the server's pending task information and the third allocation strategy.
[0107] The fourth calculation module 14 is configured to obtain an updated scheduling strategy based on the second allocation strategy, the third allocation strategy, and the server's pending task information.
[0108] For ease of description, the above apparatus is described in terms of its functions, divided into various modules. Of course, when implementing one or more embodiments of this application, the functions of each module can be implemented in one or more software and / or hardware.
[0109] The apparatus described above is used to implement the corresponding methods in the foregoing embodiments and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0110] Figure 3 This embodiment illustrates a more specific hardware structure of an electronic device, which may include a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, memory 1020, input / output interface 1030, and communication interface 1040 are interconnected internally via the bus 1050.
[0111] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application.
[0112] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 can store the operating system and other applications. When the technical solutions provided in the embodiments of this application are implemented by software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.
[0113] The input / output interface 1030 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components within the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touchscreens, microphones, various sensors, etc., while output devices may include displays, speakers, vibrators, indicator lights, etc.
[0114] The communication interface 1040 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0115] Bus 1050 includes a pathway for transmitting information between various components of the device, such as processor 1010, memory 1020, input / output interface 1030, and communication interface 1040.
[0116] It should be noted that although the above-described device only shows the processor 1010, memory 1020, input / output interface 1030, communication interface 1040, and bus 1050, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of this application, and not necessarily all the components shown in the figures.
[0117] The electronic devices described above are used to implement the corresponding methods in the foregoing embodiments and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0118] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0119] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this disclosure (including the claims) is limited to these examples; within the framework of this disclosure, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of one or more embodiments of this application as described above, which are not provided in detail for the sake of brevity.
[0120] Additionally, to simplify the description and discussion, and to avoid obscuring one or more embodiments of this application, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. Furthermore, the apparatus may be illustrated in block diagram form to avoid obscuring one or more embodiments of this application, and this also takes into account the fact that the details of implementation of these block diagram apparatuses are highly dependent on the platform on which one or more embodiments of this application will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuits) have been set forth to describe exemplary embodiments of this disclosure, it will be apparent to those skilled in the art that one or more embodiments of this application may be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.
[0121] Although this disclosure has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.
[0122] One or more embodiments of this application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this application should be included within the protection scope of this disclosure.
Claims
1. A hierarchical mission scheduling method suitable for low Earth orbit satellites, characterized in that, The low Earth orbit satellite system is divided into three layers: the satellite layer, the server layer, and the container layer; the server layer includes multiple servers, which are used to handle the task of unloading satellites in the satellite layer; Containers can be viewed as computing resources for servers, used to execute tasks on the corresponding servers. Servers provide underlying hardware and operating system support for containers, while containers encapsulate applications and their runtime environments together, forming a modular computing unit. The method includes: A first allocation strategy is obtained based on the current scheduling strategy and the pending task information of the container. An intermediate scheduling strategy is obtained based on the current scheduling strategy, the pending task information of the container, and the pending task information of the server. The first allocation strategy is the container layer allocation strategy. The current scheduling strategy represents the overall scheduling strategy for the low Earth orbit satellite system, including the satellite layer, server layer, and container layer. The pending task information includes the pending task queue, the execution duration of the task on the satellite, the execution duration of the task on the server, the estimated transmission delay of the raw data of the task from the satellite to the server, the execution accuracy of the satellite, the execution accuracy of the server, and the number of tasks currently being processed by the container. A second allocation strategy is obtained based on the intermediate scheduling strategy and the server's pending task information, and the first operator is updated based on the first allocation strategy, the second allocation strategy, and the server's pending task information. The second allocation strategy is the server-layer allocation strategy. A third allocation strategy is obtained based on the first operator, the second operator, and the server's pending task information. The second operator is then updated based on the server's pending task information and the third allocation strategy. The third allocation strategy is the satellite layer allocation strategy. The first operator is a Lagrange multiplier used to decouple the decisions of the satellite layer and the server layer. The second operator is a Lagrange multiplier, and the value of the second operator is related to the third allocation strategy and the second allocation strategy. The overall scheduling strategy is updated based on the second allocation strategy, the third allocation strategy, and the server's pending task information.
2. The method according to claim 1, characterized in that, The first allocation strategy is obtained by performing the following steps: The current task allocation strategy for the container is determined based on the current scheduling strategy; Based on the container's current task allocation strategy and the container's pending task information, the first allocation strategy is obtained by iteratively calculating the following formula until the result converges; the first allocation strategy indicates the optimal target unloading container for any task, and the container is deployed on the server. in, Indicates the iteration order, This represents a parameter used in iterative computation to control the step size or learning rate. It adjusts the magnitude of variable updates in each iteration to ensure that the iterative process can stably converge to the optimal solution or close to the optimal solution. This represents the state variables during the optimization process. It includes the decision variables and Lagrange multipliers for the current iteration round. , , , This represents the offloading advantage factor of the i-th satellite. Indicates the workload of the container. This represents the container's queue of pending tasks. Indicates satellite index, Indicates the task index. Indicates the container index. It is an expression related to the Lagrange function. Indicates the first allocation strategy. This indicates that the m-th task of the i-th satellite is offloaded to the o-th container of the s-th server. This indicates that you will not uninstall.
3. The method according to claim 2, characterized in that, The intermediate scheduling strategy is obtained by performing the following steps: Based on the current scheduling strategy, the pending task information of the container, and the pending task information of the server, the intermediate scheduling strategy is obtained by iteratively calculating using the following formula until the result converges. ; in, This indicates the current scheduling policy. This represents fixed information about the tasks pending on server s. This represents the pending task information for container o under the first allocation strategy. This represents the parameters used in iterative computation to control the update step size and terms related to task information. This represents the correlation between the number of tasks to be executed on server s and the second allocation strategy. This represents the correlation between the number of tasks to be executed on container o and the first allocation strategy.
4. The method according to claim 3, characterized in that, The second allocation strategy is obtained by performing the following steps: The current task allocation strategy of the server is determined based on the current scheduling strategy; Based on the server's current task allocation strategy, the intermediate scheduling strategy, and the server's pending task information, the second allocation strategy is obtained by iteratively calculating the following formula until the result converges; the second allocation strategy indicates the optimal target offloading server for any task. ; in, Indicates the intermediate scheduling strategy. This represents the server's queue of pending tasks. Indicates the first operator, This indicates the load on server s. This indicates that the m-th task of the i-th satellite is offloaded to the s-th server, and this indicates that the task is not offloaded. The model of the second allocation strategy is derived based on the Lagrangian function and related constraints. It takes into account the overall load of the server layer and the coordination relationship with the decisions of the satellite layer and the container layer, and is used to calculate the optimal task allocation strategy of the server layer.
5. The method according to claim 4, characterized in that, The first operator is obtained by performing the following steps: Based on the first allocation strategy, the second allocation strategy, and the server's pending task information, the first operator is obtained by iterative calculation using the following formula until the result converges. ; in, This represents fixed information about the tasks to be processed under the top-level strategy. This indicates the load status of server s under the second allocation strategy. , This represents the queue of tasks to be processed on server s. This indicates the load status of server cluster S under the second allocation strategy. , This represents the queue of tasks to be processed in server cluster S.
6. The method according to claim 5, characterized in that, The third allocation strategy is obtained by performing the following steps: Determine the top-level task allocation strategy based on the current scheduling strategy; Based on the top-level task allocation strategy, the first operator, the second operator, and the server's pending task information, the third allocation strategy is obtained by iteratively calculating using the following formula until the result converges. ; in, This represents the parameter used to control the update step size in iterative computation. This represents the second operator, which is a Lagrange multiplier whose value is related to the third allocation strategy of the satellite layer and the second allocation strategy of the server layer. This indicates that the m-th task of the i-th satellite is offloaded to the server. This means do not uninstall.
7. The method according to claim 6, characterized in that, The second operator is obtained by performing the following steps: Based on the server's pending task information and the third allocation strategy, the second operator is obtained by iteratively calculating the following formula until the result converges; ; in, This represents a constraint parameter that is related to the load of the server cluster.
8. A hierarchical mission scheduling device suitable for low Earth orbit satellites, characterized in that, The low Earth orbit satellite system is divided into three layers: the satellite layer, the server layer, and the container layer; the server layer includes multiple servers, which are used to handle the task of unloading satellites in the satellite layer; Containers can be viewed as computing resources for servers, used to execute tasks on the corresponding servers. Servers provide underlying hardware and operating system support for containers, while containers encapsulate applications and their runtime environments together, forming a modular computing unit. The device includes: The first computing module is configured to obtain a first allocation strategy based on the current scheduling strategy and the pending task information of the container, and to obtain an intermediate scheduling strategy based on the current scheduling strategy, the pending task information of the container and the pending task information of the server. The first allocation strategy is the container layer allocation strategy. The current scheduling strategy represents the overall scheduling strategy for the low Earth orbit satellite system, including the satellite layer, the server layer and the container layer. The pending task information includes the pending task queue, the execution time of the task on the satellite, the execution time of the task on the server, the estimated transmission delay of the raw data of the task from the satellite to the server, the execution accuracy of the satellite, the execution accuracy of the server and the number of tasks currently being processed by the container. The second calculation module is configured to obtain a second allocation strategy based on the intermediate scheduling strategy and the server's pending task information, and update the first operator based on the first allocation strategy, the second allocation strategy and the server's pending task information, wherein the second allocation strategy is the server-layer allocation strategy. The third calculation module is configured to obtain a third allocation strategy based on the first operator, the second operator, and the server's pending task information, and update the second operator based on the server's pending task information and the third allocation strategy. The third allocation strategy is the satellite layer allocation strategy. The first operator is a Lagrange multiplier used to decouple the decisions of the satellite layer and the server layer. The second operator is a Lagrange multiplier, and the value of the second operator is related to the third allocation strategy and the second allocation strategy. The fourth calculation module is configured to obtain an updated overall scheduling strategy based on the second allocation strategy, the third allocation strategy, and the server's pending task information.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method as described in any one of claims 1 to 7.
10. A non-transitory computer-readable storage medium, characterized in that, The non-transitory computer-readable storage medium stores computer instructions for causing the computer to perform the method of any one of claims 1 to 7.
Citation Information
Patent Citations
Multi-satellite task scheduling planning method based on improved teaching optimization method
CN112668930A
Satellite service resource scheduling method, system, device and storage medium
CN113312154A