A task scheduling method, device, storage medium and equipment
By classifying and scheduling tasks in a multi-satellite environment, and deploying satellites are determined based on the execution conditions of the first task and the communication needs of the second task, the problem of poor resource utilization in the traditional single-satellite task scheduling method is solved, and more efficient satellite resource utilization and task execution efficiency are achieved.
Patent Information
- Application Number
- CN202411513311.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2044-10-28
AI Technical Summary
The traditional single-star mission scheduling method lacks overall consideration of satellite resources on multiple satellites, resulting in poor satellite resource utilization rates of multiple satellites as a whole.
By determining each subtask in the space task to be scheduled, and selecting a subtask that depends on the designated payload device from each subtask as the first task, the deployment satellite is filtered out from each satellite according to the execution conditions of the first task, and the deployment satellite is determined for each second task according to its communication needs with the first task, so as to realize the scheduling and deployment of the task.
The utilization rate of satellite resources is improved, the smooth execution of the first mission is ensured, and the efficiency of data exchange between the second mission and the first mission is improved by flexibly determining the deployment of the second mission.
Smart Images

Figure CN119047785B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of satellite technology, and in particular to a task scheduling method, device, storage medium and equipment. Background Art
[0002] As the complexity of space missions increases, scheduling of space missions becomes a key step in ensuring that satellites carry out space missions. Space missions refer to scientific, commercial, technological and other activities performed by spacecraft (such as satellites), such as Earth observation missions.
[0003] At present, the traditional single-satellite task scheduling method mainly focuses on the task allocation and execution of a single satellite, that is, scheduling space tasks based on the available status of satellite resources on a single satellite. However, this single-satellite task scheduling method lacks overall consideration of satellite resources on multiple satellites, resulting in poor overall satellite resource utilization of multiple satellites.
[0004] Based on this, this specification provides a task scheduling method, apparatus, storage medium and device. Summary of the invention
[0005] This specification provides a task scheduling method, apparatus, storage medium and device to partially solve the above-mentioned problems existing in the prior art.
[0006] This manual adopts the following technical solutions:
[0007] This specification provides a task scheduling method, the method comprising:
[0008] Determine each subtask in the space task to be scheduled;
[0009] From each subtask, select the subtask that depends on the specified payload equipment as the first task, and the other subtasks as the second task;
[0010] From the satellites, according to the execution condition of the first task, a satellite satisfying the execution condition is selected as the deployment satellite of the first task, wherein the execution condition at least includes a type of payload equipment on which the execution depends;
[0011] For each second task, determining a deployment satellite for the second task from the satellites according to communication requirements between the second task and the first task;
[0012] According to the correspondence between each subtask in the to-be-scheduled space task and each deployed satellite, the subtasks are scheduled and deployed.
[0013] Optionally, the execution conditions include deployment time requirements and computing power requirements;
[0014] The method of selecting, from among the satellites, satellites that meet the execution condition of the first task as the deployment satellites of the first task, specifically includes:
[0015] According to the type of payload equipment on which the execution of the first mission depends, satellites equipped with payloads corresponding to the type of payload equipment are selected from various satellites as candidate satellites for the first mission;
[0016] Determining, according to the deployment time requirement and computing power requirement of the first task, the compatibility of the first task with each of the candidate satellites of the first task;
[0017] According to the adaptability, the deployment satellite of the first mission is selected from the candidate satellites of the first mission.
[0018] Optionally, selecting, from among the satellites, satellites that meet the execution condition according to the execution condition of the first task as deployment satellites for the first task specifically includes:
[0019] According to the execution condition of the first task, a satellite satisfying the execution condition is selected from each satellite as a candidate satellite for the first task;
[0020] For each candidate satellite, determine a resource idle value of satellite resources on the candidate satellite;
[0021] According to the order of the resource idle values, the deployment satellite of the first mission is selected from the candidate satellites.
[0022] Optionally, before scheduling and deploying the subtasks, the method further includes:
[0023] According to the correspondence between each subtask and each deployed satellite, create a mirror injection task and a file volume creation task;
[0024] By means of the image upload task and the file volume creation task, the images of the subtasks are sequentially uploaded to the deployment satellites according to the communication windows of the deployment satellites, and the file volumes of the subtasks are created on the deployment satellites;
[0025] After the image injection task and the file volume creation task are completed, the subtasks are scheduled.
[0026] Optionally, scheduling and deploying the subtasks specifically includes:
[0027] For each deployed satellite, the subtask scheduled to the deployed satellite is used as the assigned task of the deployed satellite;
[0028] For each assigned task of the deployed satellite, the computing node corresponding to the assigned task is determined from the computing nodes on the deployed satellite through a secondary scheduling algorithm and deployed according to the type of payload equipment on which the assigned task depends and the computing power requirement of the assigned task.
[0029] Optionally, for each second task, determining a deployment satellite for the second task from the satellites according to a communication requirement between the second task and the first task specifically includes:
[0030] For each second task, determining whether there is a communication requirement between the second task and the first task;
[0031] If yes, the first task that has communication requirements with the second task is used as an associated task of the second task, and a satellite adjacent to the deployed satellite of the associated task is used as a candidate satellite for the second task; the deployed satellite of the second task is selected from the deployed satellites of the associated task and the candidate satellites of the second task;
[0032] If not, the deployment satellite of the second mission is selected from the satellites.
[0033] Optionally, selecting the deployed satellite of the second task from the deployed satellites of the associated task and the candidate satellites of the second task specifically includes:
[0034] Determine whether there is a satellite among the deployed satellites of the associated task whose satellite resources meet the computing power requirement of the second task;
[0035] If yes, the satellite whose satellite resources meet the computing power requirement of the second task among the deployed satellites of the associated task is used as the deployed satellite of the second task;
[0036] If not, a satellite that meets the computing power requirement of the second mission is selected from the candidate satellites for the second mission as the deployment satellite of the second mission.
[0037] This specification provides a task scheduling device, including:
[0038] The scheduling task module is used to determine each subtask in the space task to be scheduled;
[0039] A classification module, for selecting, from among the subtasks, a subtask that depends on a specified payload device as a first task, and selecting the other subtasks as a second task;
[0040] A first task module is used to select satellites that meet the execution conditions of the first task from various satellites as deployment satellites of the first task, wherein the execution conditions at least include a type of payload equipment on which the execution depends;
[0041] A second task module is used to determine, for each second task, a deployment satellite of the second task from the satellites according to the communication requirements of the second task and the first task;
[0042] The scheduling and deployment module is used to schedule and deploy each subtask in the space task to be scheduled according to the corresponding relationship between each subtask and each deployed satellite.
[0043] This specification provides a computer-readable storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, a task scheduling method is implemented.
[0044] The present specification provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements a task scheduling method when executing the program.
[0045] At least one of the above-mentioned technical solutions adopted in this specification can achieve the following beneficial effects: in a task scheduling method provided in this specification, each subtask in the space task to be scheduled is determined, and from each subtask, a subtask that depends on a specified payload device is selected as the first task, and other subtasks are selected as the second task. From each satellite, according to the execution condition of the first task, a satellite that meets the execution condition is screened out as the deployment satellite of the first task, and the execution condition at least includes the type of payload device on which the execution depends. For each second task, according to the communication requirements of the second task with the first task, the deployment satellite of the second task is determined from each satellite, and according to the correspondence between each subtask in the space task to be scheduled and each deployed satellite, each subtask is scheduled and deployed.
[0046] It can be seen from the above method that by taking the subtask that depends on the specified payload equipment to be executed as the first task, and selecting the deployment satellite of the first task from various satellites based on the execution conditions of the first task, the smooth execution of the first task is ensured, and then the deployment satellite of the second task is determined based on the communication requirements between the second task and the first task. It has high flexibility, and the deployment satellite of the second task is selected based on the communication requirements between the second task and the first task, thereby improving the utilization rate of satellite resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification. In the drawings:
[0048] Figure 1 A flowchart of a task scheduling method provided in this specification;
[0049] Figure 2 A schematic diagram of the satellite constellation provided in this specification;
[0050] Figure 3 A schematic diagram of a process for determining the deployment satellites of each first mission provided in this specification;
[0051] Figure 4 A schematic diagram of the deployment of the first task and the second task provided in this specification;
[0052] Figure 5 A schematic diagram of a task scheduling device provided in this specification;
[0053] Figure 6 A schematic diagram of the structure of an electronic device corresponding to a task scheduling method provided in this specification. DETAILED DESCRIPTION
[0054] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this specification.
[0055] The process of executing a task scheduling method in this specification involves data analysis and processing. Therefore, in the embodiments of this specification, the process of the task scheduling method can be executed by a server on the ground. Of course, this specification does not limit which device executes the process of the task scheduling method, for example, a personal computer and a mobile terminal. Of course, if there are idle resources in the satellite, the process of the task scheduling method can also be executed by the satellite. For the convenience of description, the following description is based on the server as the execution subject.
[0056] The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.
[0057] Figure 1 A flowchart of a task scheduling method provided in this specification includes the following steps:
[0058] S100: Determine each subtask in the spatial task to be scheduled.
[0059] In one or more embodiments of the present specification, in order to achieve the classification of each subtask in the space task to be scheduled in the subsequent steps, in this step, the server needs to determine each subtask in the space task to be scheduled.
[0060] Specifically, the server needs to determine each subtask in the spatial task to be scheduled.
[0061] It should be noted that the complexity of the space to be scheduled is relatively high. Therefore, the task to be scheduled is generally divided into multiple subtasks so that the satellite can execute each subtask in parallel, thereby improving the execution efficiency of the space task to be scheduled. At the same time, dividing the space task to be scheduled into multiple subtasks can avoid the situation where all subtasks fail to execute due to a single subtask error. Therefore, dividing the task to be scheduled into multiple subtasks improves the reliability of the smooth execution of the space task to be scheduled. Of course, since each subtask belongs to the same space task to be scheduled, data exchange may be required between the subtasks.
[0062] S102: From each subtask, select a subtask that depends on a designated payload device as a first task, and select the other subtasks as second tasks.
[0063] In one or more embodiments of the present specification, among the subtasks in the space mission to be scheduled, there are subtasks that depend on specified payload equipment to be executed, and not all satellites are necessarily equipped with the specified payload equipment. Therefore, in order to determine the deployed satellite corresponding to the subtask that depends on the specified payload equipment in subsequent steps, in this step, the server needs to treat the subtask that depends on the specified payload equipment as the first task, and other subtasks as the second task.
[0064] Specifically, the server can select the subtask that depends on the specified payload equipment from the subtasks in the space task to be scheduled as the first task, and the other subtasks as the second task. The specific content of the specified payload equipment is not limited in this specification and can be set according to actual needs.
[0065] It should be noted that payload equipment refers to instruments or devices on satellites that are used to perform tasks of the corresponding instrument type. For example, payload equipment includes optical cameras, radar sensors, communication antennas, and high-power computing equipment. Due to the high cost of payload equipment such as optical cameras and the limited size and weight of satellites, the payload equipment configurations of satellites are not completely consistent, and satellites do not carry all types of payload equipment. For example, satellites performing observation missions are generally equipped with optical cameras, and communication satellites are generally equipped with communication antennas. Therefore, in this step, the first task refers to a subtask that depends on "payload equipment that is only equipped on some satellites." In one or more embodiments of this specification, the server may, based on the equipment information of the payload equipment on each satellite, for each type of payload equipment, when the type of payload equipment is not equipped on all satellites, use the type of payload equipment as the designated payload equipment. The server may select the subtask that depends on the designated payload equipment from each subtask as the first task, and the other subtasks as the second task.
[0066] For example, it is assumed that the space task to be scheduled includes at least a data acquisition task, a first data processing task, and a second data processing task. The scheduled space task involves multiple satellites, and the multiple satellites are not all equipped with optical cameras, that is, the designated payload equipment is an optical camera. Since the data acquisition task depends on the optical camera, in this step, the server can use the data acquisition task that depends on the optical camera as the first task, and the first data processing task and the second data processing task as the second task.
[0067] S104: From each satellite, according to the execution condition of the first task, select the satellite that meets the execution condition as the deployment satellite of the first task, and the execution condition at least includes the type of payload equipment on which the execution depends.
[0068] In one or more embodiments of the present specification, in order to ensure the smooth execution of the first task, and in subsequent steps, based on the communication requirements of the second task and the first task, determine the deployment satellite of the second task. In this step, the server needs to select the satellite that meets the execution conditions of the first task from each satellite as the deployment satellite of the first task.
[0069] Specifically, the server selects satellites that meet the execution condition from among the satellites based on the execution condition of the first task as the deployment satellites of the first task, wherein the execution condition at least includes the type of payload equipment on which the execution depends.
[0070] It should be noted that in this specification, there may be multiple first tasks, and since the first task depends on a specified payload device to be executed, in order to ensure the smooth execution of the first task, the execution condition of the first task at least includes the type of payload device on which the execution depends. Thus, the server can, for each first task, based on the type of payload device on which the first task depends when executing, screen out satellites equipped with a payload corresponding to the type of payload device as deployment satellites for the first task.
[0071] Of course, there may be multiple satellites equipped with the corresponding payload of the payload equipment type that the first task depends on. In this specification, the specific method of determining the deployment satellite of the first task from the selected satellites equipped with the corresponding payload of the payload equipment type is not limited, and can be set according to actual needs. For example, randomly selected, or based on the deployment time requirements and computing power requirements of the first task, from the selected satellites equipped with the corresponding payload of the payload equipment type that the first task depends on, a satellite with a degree of adaptability greater than a preset threshold is selected as the deployment satellite of the first task. In this specification, the specific method of determining the degree of adaptability is not limited. For example, the degree of adaptability is determined by measuring the gap between each satellite equipped with the corresponding payload of the payload equipment type that the first task depends on and the deployment time requirements and computing power requirements of the first task. The smaller the gap, the higher the degree of adaptability. The deployment time requirement refers to the deployment time of the pre-planned first task, which characterizes the urgency of the deployment of the first task. The computing power requirement refers to the data processing speed required for the pre-planned first task, which characterizes the processing efficiency required for the execution of the first task. In this specification, the preset threshold can be set according to actual needs. The communication window of the deployed satellite of the first mission meets the deployment time requirement of the first mission, and the satellite resources meet the computing power requirement of the first mission, wherein the communication window refers to the time period during which the satellite communicates effectively with the ground and can reliably transmit data.
[0072] The suitability of each satellite to the first mission is measured as follows:
[0073]
[0074] in, is the weight of the time gap, is the weight of the computing power gap, and Of course, the specific methods of the time gap and computing power gap are not limited in this specification. For example, the computing power gap can be the absolute value of the difference between the satellite computing power and the computing power requirement of the first task, and the time gap can be the absolute value of the difference between the satellite communication window and the deployment time requirement of the first task.
[0075] Using the above example, the data collection task is the first task. If the computing power requirement of the first task is 100 million instructions per second (MIPS). The multiple satellites are Satellite 1 (equipped with an optical camera and a communication antenna, with a computing power of 120 MIPS), Satellite 2 (equipped with an optical camera and a communication antenna, with a computing power of 110 MIPS), and Satellite 3 (equipped with a communication antenna, with a computing power of 100 MIPS). Since the satellites equipped with the payload equipment (optical camera) that the first task depends on are Satellite 1 and Satellite 2, if there is no difference between Satellite 1 and Satellite 2 in the communication window with the ground, the adaptability of each satellite to the first task can be measured based on the difference in computing power requirements between each satellite and the first task, so that Satellite 2 with high adaptability can be selected as the deployment satellite for the first task.
[0076] S106: For each second task, determine a deployment satellite for the second task from the satellites according to communication requirements between the second task and the first task.
[0077] In one or more embodiments of the present specification, in order to determine the corresponding relationship between each subtask and the deployment between satellites in the space task to be scheduled in subsequent steps, based on the deployment satellite of the first task determined in step S104, the server can determine the deployment satellite of the second task from each satellite for each second task according to the communication requirements of the second task and the first task.
[0078] Specifically, the server may determine, for each second task, a deployment satellite for the second task from among the satellites according to the communication requirements between the second task and the first task.
[0079] It should be noted that the second task and the first task both belong to a space task, so there may be a need for data exchange between the subtasks, that is, the satellite deployed by the second task may have a communication need with the deployment satellite of the first task. Therefore, in this step, the server needs to determine the deployment satellite of the second task from each satellite based on the communication needs between the second task and the first task. Of course, the specific method of determining the deployment satellite of the second task based on the communication needs is not limited in this specification, and can be set according to actual needs. For example, when the second task has a communication need with the first task, the first task that has a communication need with the second task is used as an associated task of the second task, and it is determined whether there is an idle computing node on the deployment satellite of the associated task. If so, the deployment satellite of the associated task is used as the deployment satellite of the second task. If not, the deployment satellite of the second task is selected from other satellites that are not the deployment satellites of the associated task. Of course, in one or more embodiments of the present specification, when there is a communication demand between the second task and the first task, the first task that has a communication demand with the second task is used as an associated task of the second task to determine whether the satellite resources on the deployment satellite of the associated task meet the computing power requirements of the second task; if so, the deployment satellite of the associated task is used as the deployment satellite of the second task; if not, a satellite that meets the computing power requirements of the second task is selected from other satellites that are not the deployment satellites of the associated task as the deployment satellite of the second task. This ensures the smooth data exchange between the second task and the associated task, and when the deployment satellites determined by the second task and the associated task are the same satellite, the efficiency of data exchange between the second task and the associated task is the highest. Therefore, in the case of meeting the computing power requirements of the second task, the deployment satellite of the first task is preferentially selected as the deployment satellite of the second task, which can improve the efficiency of data exchange between the second task and the first task.
[0080] S108: Scheduling and deploying each subtask according to the correspondence between each subtask in the to-be-scheduled space task and each deployed satellite.
[0081] In one or more embodiments of the present specification, the server may schedule and deploy each subtask in the space task to be scheduled according to the correspondence between the first task and its deployed satellite determined in step S104, and according to the correspondence between the second task and its deployed satellite determined in step S106.
[0082] Specifically, the server may schedule and deploy each subtask according to the corresponding relationship between each subtask in the space task to be scheduled and each deployed satellite.
[0083] In the above method, the server determines each subtask in the space task to be scheduled, selects the subtask that depends on the specified payload equipment as the first task, and selects other subtasks as the second task, thereby realizing the classification of each subtask, and then prioritizes the deployment satellite of the first task, and then determines the deployment satellite of the second task based on the communication requirements between the second task and the first task, thereby improving the efficiency of data exchange between the second task and the first task on the basis of ensuring the smooth execution of the first task. Finally, based on the corresponding relationship between each subtask in the space task to be scheduled and each deployed satellite, the server schedules and deploys each subtask to the corresponding deployment satellite. On the basis of ensuring the smooth execution of each subtask, the effective use of satellite resources is realized.
[0084] like Figure 2 As shown, the satellite constellation is composed of multiple satellites, each satellite contains multiple computing nodes and payload equipment, and the payload equipment equipped on each satellite is not completely consistent and the computing power of each computing node is not completely consistent.
[0085] In addition, this specification provides a method for selecting a deployment satellite for the first mission from satellites that meet the execution conditions of the first mission, as follows:
[0086] In one or more embodiments of the present specification, first, the server may screen out satellites that meet the execution conditions of the first task as the selected satellites for the first task, wherein the execution conditions at least include the type of payload equipment on which the execution depends, and of course, the execution conditions may also include deployment time requirements and computing power requirements. Secondly, the server may determine the resource idle value of the satellite resources on each selected satellite. Finally, the server may screen out the deployment satellites for the first task from the selected satellites according to the order of the resource idle values. The specific method of screening the deployment satellites for the first task based on the resource idle value is not limited in the present specification, and can be set according to actual needs, such as selecting the selected satellite with the highest resource idle value as the deployment satellite for the first task, or randomly selecting the deployment satellite for the first task from the selected satellites with a resource idle value greater than the preset resource idle value.
[0087] The process of determining the resource idle value of the satellite resources on the candidate satellite is as follows:
[0088] The resource idle value represents the usage rate of the CPU usage, memory usage, GPU usage, and disk usage of the selected satellite.
[0089]
[0090] in, The resource idle value. express The remaining available resources ratio, 0 means Completely idle, the remaining available resource ratio is 1; 1 means Fully used, the remaining available resource ratio is 0. Indicates the remaining available memory resource ratio. A value of 0 indicates that the memory is completely idle, and the remaining available resource ratio is 1; A value of 1 indicates that the memory is fully used and the remaining available resource ratio is 0. express The remaining available resources ratio, 0 means Completely idle, the remaining available resource ratio is 1; 1 means Fully used, the remaining available resource ratio is 0. Indicates the remaining available disk resource ratio. A value of 0 indicates that the disk is completely idle, and the remaining available resource ratio is 1; A value of 1 indicates that the disk is fully used and the remaining available resources are 0. Resource idle value Indicates the comprehensive resource usage of the satellite. The higher the resource idle value, the more idle the satellite is. , , as well as They are the weights corresponding to CPU usage, memory usage, GPU usage, and disk usage, which can be set according to actual needs.
[0091] It should be noted that when there are multiple first tasks, since the process of "determining the deployment satellites of each first task" is equivalent to gradually allocating satellite resources on the satellite to each first task, the resource idle value of the satellite resources on the satellite will be affected in the process of sequentially determining the deployment satellites of each first task. Then, when determining the deployment satellites of each first task, the deployment priority of each first task can be set, and each first task can be deployed based on the deployment priority. In one or more embodiments of the present specification, the deployment priority of each first task is determined, and the server can determine the resource empty limit value of each satellite, and according to the deployment priority, for each first task in turn, according to the execution condition of the first task, filter out the satellite that meets the execution condition as the candidate satellite of the first task, and the execution condition at least includes the type of payload equipment on which the execution depends. Of course, the execution condition may also include deployment time requirements and computing power requirements; according to the resource idle value of each candidate satellite, the deployment satellite of the first task is selected from each candidate satellite, and the resource idle value of the deployment satellite of the first task is updated. The method for determining the deployment priority of each first task is not limited in this specification. For example, the influence range of the first task is determined according to the communication requirements between the first task and each subtask in the space task to be scheduled; the more subtasks in the space task to be scheduled that have communication requirements with the first task, the larger the influence range of the first task; the deployment priority of each first task is determined based on the size of the influence range. Alternatively, for each type of designated payload equipment, the rarity value of the designated payload equipment of this type is determined according to the number of satellites equipped with the designated payload equipment of this type, and the deployment priority of each first task is determined according to the rarity value of the designated payload equipment on which each first task depends.
[0092] In addition, this specification provides a process for selecting a deployment satellite for the first mission from among the candidate satellites based on the communication requirements between the first missions, as follows:
[0093] In one or more embodiments of the present specification, the deployment priority of each first task and the resource idle value of each satellite are determined, and the server determines the deployment satellite of each first task according to the deployment priority and the communication requirements between the first tasks.
[0094] Specifically, the server determines the resource idle value of each satellite. The server can use the first task with the highest deployment priority among the currently unassigned first tasks as the target task; use the first task with a higher deployment priority than the target task and with which there is a communication requirement as an associated task of the target task; determine whether there is a satellite that meets the execution condition of the target task among the deployed satellites of the associated task; if so, use the satellite that meets the execution condition of the target task as the deployed satellite of the target task; if not, select the satellite that meets the execution condition from each satellite as the candidate satellite for the target task, and select the deployed satellite for the target task from each candidate satellite according to the resource idle value of each candidate satellite; update the resource idle value of the deployed satellite corresponding to the target task, and continue to determine the deployed satellite of the first task with the next deployment priority until all deployed satellites of the first tasks have been determined. Figure 3 As shown, it is a schematic diagram of a process of determining the deployment satellite of each first task based on the deployment priority and in turn according to the communication requirements between the first tasks.
[0095] In addition, this specification provides that before scheduling and deploying each subtask in step S108, it is necessary to create and execute a mirror injection task and a file volume creation task according to the correspondence between each subtask in the space task to be scheduled and each deployed satellite. The details are as follows:
[0096] In one or more embodiments of the present specification, after determining the "deployment satellites corresponding to each subtask in the scheduled space task" in step S104 and step S106, the server can create an image upload task and a file volume creation task according to the deployment relationship between each subtask and each deployment satellite. According to the communication window of each deployment satellite, the image of each subtask in the image upload task is uploaded to the corresponding deployment satellite, and the file volume of each subtask in the file volume creation task is created on the corresponding deployment satellite.
[0097] It should be noted that the image upload task refers to the process of uploading software images (such as application images, etc.) from the ground to the satellite, and the file volume creation task refers to the process of creating file volumes (such as data storage volumes, etc.) on the satellite. Image upload tasks and file volume creation tasks are important components of satellite mission management and scheduling, and are used to ensure the orderly scheduling and deployment of each subtask in the scheduled space mission.
[0098] In addition, this manual provides a process for scheduling each subtask to the corresponding deployment satellite and performing secondary scheduling, as follows:
[0099] In one or more embodiments of the present specification, the server may, for each deployed satellite, schedule the subtask to the deployed satellite as the assigned task of the deployed satellite, and for each assigned task of the deployed satellite, determine the computing node corresponding to the assigned task from among the computing nodes on the deployed satellite through a secondary scheduling algorithm based on the type of payload equipment and computing power requirements on which the execution of the assigned task depends.
[0100] It should be noted that primary scheduling refers to the process of scheduling the space task to be scheduled from the ground to the deployed satellite, while secondary scheduling refers to the process of further scheduling the subtask to the computing node on the satellite on the basis of primary scheduling. The specific content of the secondary scheduling algorithm is not limited in this specification, and it can be set according to actual needs. In one or more embodiments of this specification, the secondary scheduling algorithm can be a scheduling method based on resource usage and payload equipment. For each assigned task of the deployed satellite, the server can select a computing node that meets the execution condition from each computing node on the deployed satellite according to the type of payload equipment on which the execution of the assigned task depends and the computing power requirement of the assigned task, and deploy the assigned task through the secondary scheduling algorithm. Continuing with the above example, the deployed satellite includes computing node a (computing power 120MIPS, memory 1GB, network bandwidth 100 Mbps, optical camera unavailable) and computing node b (computing power 130 MIPS, memory 1GB, network bandwidth 100 Mbps, optical camera available). The assigned task of the deployed satellite is a data acquisition task (first task). The type of payload equipment on which the execution of the first task depends and the computing power requirement of the assigned task are used to determine the computing node for deploying the first task through the secondary scheduling algorithm. In other words, the type of payload equipment on which the execution of the first task depends is an optical camera. Therefore, the computing node for deploying the first task is computing node b. Of course, if there are multiple computing nodes that meet the execution conditions of the assigned task, the computing node for deploying the first task can be selected based on the resource usage of each computing node. The method for measuring the resource usage of the computing node is not limited in this specification. For details, please refer to the calculation process of the resource idle value of the satellite, which will not be repeated here.
[0101] In the above, the secondary scheduling method selects the most suitable computing node for deployment by comprehensively evaluating the resource usage of each computing node and the specific needs of the assigned tasks, thereby further improving the execution efficiency of the space tasks to be scheduled and the utilization rate of satellite resources, and taking into account the execution conditions of the assigned tasks, which can ensure the smooth execution of the assigned tasks.
[0102] In addition, this specification provides a process for determining the deployment satellite of the second task in step S106 when the communication mode between satellites is direct communication, which is as follows:
[0103] In one or more embodiments of the present specification, satellites can communicate indirectly through communication satellites or the ground as an intermediary, or directly through laser communication or other communication methods. However, if the communication method between satellites is laser communication or other communication methods, satellites can only communicate directly when they are adjacent (i.e., the satellites' intersatellite links are not blocked by satellites). Therefore, when the second mission has a communication demand with any first mission, the deployment satellite of the second mission can only be selected from "the deployment satellite of any first mission" and "the adjacent satellite of the deployment satellite of any first mission".
[0104] Specifically, the server can determine whether there is a communication requirement between each second task and the first task. If there is a communication requirement between the second task and the first task, the first task that has a communication requirement with the second task is used as an associated task of the second task, and the satellite adjacent to the deployed satellite of the associated task is used as the candidate satellite of the second task, and the deployed satellite of the second task is selected from the deployed satellite of the associated task and the candidate satellite of the second task. If there is no communication requirement between the second task and the first task, the deployed satellite of the second task will be screened out from each satellite. Among them, there may be multiple first tasks. Therefore, when there is a communication requirement between the second task and each first task, the first task that has a communication requirement with the second task needs to be used as an associated task, and then the deployed satellite of the second task is selected from the deployed satellite and the candidate satellite of the associated task.
[0105] It should be noted that in step S106, when there is a communication demand between the second task and the first task, it can be determined whether there are satellite resources that meet the satellites of the second task among the deployed satellites of the associated tasks corresponding to the second task. If so, the satellites whose satellite resources meet the computing power requirements of the second task among the deployed satellites of the associated tasks are used as the deployed satellites of the second task, so as to improve the efficiency of data exchange between the second task and the associated tasks. Of course, when there are no satellites whose satellite resources meet the computing power requirements of the second task among the deployed satellites of the associated tasks, the distance between each candidate satellite and the deployed satellite of the first task can be selected from the candidate satellites whose distance is less than the preset distance as the deployed satellite of the second task to improve communication efficiency. At the same time, in order to reduce the construction of intersatellite links, the deployment satellite of the second task is determined preferentially from the candidate satellites that have built intersatellite links with the deployed satellite of the first task.
[0106] Using the above example, the following is a schematic diagram of scheduling and deploying each subtask in the space task to be scheduled. Assuming that the computing node a on the deployment satellite (satellite 2) of the first task meets the computing power requirements of the second task, and the second task has no dependency on the specified payload equipment, then the second task can be deployed to computing node a. For details, refer to Figure 4 .
[0107] In addition, this specification provides a process for determining the deployment satellites of each second task respectively according to the communication requirements of each second task and each first task through a simulated annealing algorithm, as follows:
[0108] In one or more embodiments of the present specification, the server may determine the initial deployment topology between the space task to be scheduled and each satellite based on the correspondence between the first task and the deployed satellite. In the initial deployment topology, the deployed satellites of each second task are adjusted with the minimum communication cost as the optimization goal. The final adjusted initial deployment topology is used as the target deployment topology, and the deployed satellites of each second task are determined respectively based on the target deployment topology. The method for calculating the communication cost is not limited in the present specification and can be set according to actual needs. For example, when the deployed satellites corresponding to two subtasks with communication requirements are not the same, the communication cost increases.
[0109] In addition, the server can also monitor the status of each deployed satellite in executing the scheduled space mission, so as to detect abnormal situations in time and improve the success rate of the deployed satellite execution.
[0110] The above is a task scheduling method provided in one or more embodiments of this specification. Based on the same idea, this specification also provides a corresponding task scheduling device, such as Figure 5 shown.
[0111] The scheduling task module 500 determines each subtask in the spatial task to be scheduled;
[0112] A classification module 501 selects, from among the subtasks, a subtask that depends on a designated payload device as a first task, and selects the other subtasks as a second task;
[0113] The first task module 502 selects, from each satellite, satellites that meet the execution condition of the first task as deployment satellites for the first task, wherein the execution condition at least includes a type of payload equipment on which the execution depends;
[0114] The second task module 503 determines, for each second task, a deployment satellite of the second task from the satellites according to the communication requirements between the second task and the first task;
[0115] The scheduling and deployment module 504 schedules and deploys each subtask according to the correspondence between each subtask in the to-be-scheduled space task and each deployed satellite.
[0116] Optionally, the first task module 502 is specifically used to select, according to the type of payload equipment on which the execution of the first task depends, satellites equipped with payloads corresponding to the payload equipment type from various satellites as candidate satellites for the first task; determine the degree of compatibility of the first task with each candidate satellite for the first task according to the deployment time requirement and computing power requirement of the first task; and select, according to the degree of compatibility, the deployed satellites for the first task from the candidate satellites for the first task.
[0117] Optionally, the first task module 502 can also be used to select satellites that meet the execution conditions of the first task from various satellites as candidate satellites for the first task; determine the resource idle value of satellite resources on each candidate satellite for each candidate satellite; and select the deployment satellite of the first task from various candidate satellites according to the order of the size of the resource idle values.
[0118] Optionally, the device also includes a preprocessing module, which is specifically used to create an image upload task and a file volume creation task according to the correspondence between each subtask and each deployed satellite; through the image upload task and the file volume creation task, according to the communication window of each deployed satellite, the image of each subtask is uploaded to each deployed satellite in turn, and the file volume of each subtask is created on each deployed satellite; after the image upload task and the file volume creation task are executed, the subtasks are scheduled.
[0119] Optionally, the scheduling and deployment module 504 is specifically used to, for each deployed satellite, schedule the subtask to the deployed satellite as the assigned task of the deployed satellite; for each assigned task of the deployed satellite, determine the computing node corresponding to the assigned task from each computing node on the deployed satellite through a secondary scheduling algorithm and deploy it according to the type of payload equipment on which the execution of the assigned task depends and the computing power requirement of the assigned task.
[0120] Optionally, the second task module 503 is specifically used to determine, for each second task, whether there is a communication need between the second task and the first task; if so, the first task that has a communication need with the second task is used as an associated task of the second task, and the satellite adjacent to the deployed satellite of the associated task is used as a candidate satellite for the second task; and the deployed satellite of the second task is selected from the deployed satellites of the associated task and the candidate satellites of the second task.
[0121] Optionally, the second task module 503 can also be used to determine whether there are satellites among the deployed satellites of the associated task whose satellite resources meet the computing power requirements of the second task; if so, the satellites among the deployed satellites of the associated task whose satellite resources meet the computing power requirements of the second task are used as the deployed satellites of the second task; if not, the candidate satellites that meet the computing power requirements of the second task are screened out from the candidate satellites of the second task as the deployed satellites of the second task.
[0122] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 Provides a task scheduling method.
[0123] This manual also provides Figure 6 The schematic structure diagram of an electronic device corresponding to a task scheduling method is shown in FIG. Figure 6 As mentioned above, at the hardware level, the device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 Of course, in addition to the software implementation, this specification does not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0124] In the 1990s, it was very clear whether the improvement of a technology was hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with hardware entity modules. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask chip manufacturers to design and make dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0125] The controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, and the memory controller may also be implemented as part of the control logic of the memory. It is also known to those skilled in the art that, in addition to implementing the controller in a purely computer-readable program code manner, the controller may be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the devices for implementing various functions included therein may also be considered as structures within the hardware component. Or even, the devices for implementing various functions may be considered as both software modules for implementing the method and structures within the hardware component.
[0126] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0127] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0128] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0129] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0130] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0131] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0132] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0133] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0134] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. 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 technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0135] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0136] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0137] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0138] The above description is only an embodiment of the present specification and is not intended to limit the present specification. For those skilled in the art, the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims of the present specification.
Claims
1. A task scheduling method, characterized in that: include: Determine each subtask in the space task to be scheduled; From each subtask, a subtask that depends on a specified payload device is selected as the first task, and other subtasks are selected as the second task, wherein the specified payload includes at least one of an optical camera, a radar sensor, a communication antenna, and a high-power computing device; From the satellites, according to the execution condition of the first task, a satellite satisfying the execution condition is selected as the deployment satellite of the first task, wherein the execution condition at least includes a type of payload equipment on which the execution depends; For each second task, according to the communication requirements of the second task and the first task, determine from the first tasks a task that has a communication requirement with the second task as an associated task of the second task, and a satellite adjacent to a deployed satellite of the associated task as a candidate satellite of the second task, and determine whether there is a satellite whose satellite resources meet the computing power requirement of the second task among the deployed satellites of the associated task; if so, use a satellite whose satellite resources meet the computing power requirement of the second task among the deployed satellites of the associated task as the deployed satellite of the second task; if not, select a candidate satellite that meets the computing power requirement of the second task from the candidate satellites of the second task as the deployed satellite of the second task; According to the correspondence between each subtask in the to-be-scheduled space task and each deployed satellite, the subtasks are scheduled and deployed.
2. The method according to claim 1, characterized in that: The execution conditions include deployment time requirements and computing power requirements; The method of selecting, from among the satellites, satellites that meet the execution condition of the first task as the deployment satellites of the first task, specifically includes: According to the type of payload equipment on which the execution of the first mission depends, satellites equipped with payloads corresponding to the type of payload equipment are selected from various satellites as candidate satellites for the first mission; Determining, according to the deployment time requirement and computing power requirement of the first task, the compatibility of the first task with each of the candidate satellites of the first task; According to the adaptability, the deployment satellite of the first mission is selected from the candidate satellites of the first mission.
3. The method according to claim 1 or 2, characterized in that: The method of selecting, from among the satellites, satellites that meet the execution condition of the first task as the deployment satellites of the first task, specifically includes: According to the execution condition of the first task, a satellite satisfying the execution condition is selected from each satellite as a candidate satellite for the first task; For each candidate satellite, determine a resource idle value of satellite resources on the candidate satellite; According to the order of the resource idle values, the deployment satellite of the first mission is selected from the candidate satellites.
4. The method according to claim 1, characterized in that: Before scheduling and deploying the subtasks, the method further includes: According to the correspondence between each subtask and each deployed satellite, create a mirror injection task and a file volume creation task; By means of the image upload task and the file volume creation task, the images of the subtasks are uploaded to the deployment satellites in sequence according to the communication windows of the deployment satellites, and the file volumes of the subtasks are created on the deployment satellites; After the image injection task and the file volume creation task are completed, the subtasks are scheduled.
5. The method according to claim 1, characterized in that: Scheduling and deploying the subtasks, specifically including: For each deployed satellite, the subtask scheduled to the deployed satellite is used as the assigned task of the deployed satellite; For each assigned task of the deployed satellite, the computing node corresponding to the assigned task is determined from the computing nodes on the deployed satellite through a secondary scheduling algorithm and deployed according to the type of payload equipment on which the assigned task depends and the computing power requirement of the assigned task.
6. A task scheduling device, characterized in that: include: The scheduling task module is used to determine each subtask in the space task to be scheduled; A classification module, configured to select, from among the subtasks, a subtask that depends on a designated payload device as a first task, and select other subtasks as second tasks, wherein the designated payload includes at least one of an optical camera, a radar sensor, a communication antenna, and a high-computing device; A first task module is used to select satellites that meet the execution conditions of the first task from various satellites as deployment satellites of the first task, wherein the execution conditions at least include a type of payload equipment on which the execution depends; A second task module is used for, for each second task, determining from the first task a task having a communication requirement with the second task according to the communication requirement between the second task and the first task, as an associated task of the second task, and a satellite adjacent to a deployed satellite of the associated task as a candidate satellite of the second task, and judging whether there is a satellite whose satellite resources meet the computing power requirement of the second task among the deployed satellites of the associated task; if so, using a satellite whose satellite resources meet the computing power requirement of the second task among the deployed satellites of the associated task as the deployed satellite of the second task; if not, selecting a candidate satellite that meets the computing power requirement of the second task from the candidate satellites of the second task as the deployed satellite of the second task; The scheduling and deployment module is used to schedule and deploy each subtask according to the corresponding relationship between each subtask in the space task to be scheduled and each deployed satellite.
7. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of claims 1 to 5 is implemented.
8. An electronic device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the method according to any one of claims 1 to 5 when executing the program.
Citation Information
Patent Citations
Multi-satellite combined observation method and system
CN105654220A
Multi-space-based computing task deployment method considering sub-task dependence and execution deadline
CN115858109A
Satellite communication wireless resource management task scheduling method, device, equipment and medium
CN116506006A