Multi-source instruction injection method, system, medium and device based on priority scheduling
By introducing an instruction scheduling server and priority sorting mechanism into the satellite instruction system, the problem of sending efficiency of multi-source instructions is solved, and an efficient and flexible instruction sending process is realized, which meets the requirements of rapid execution of satellite tasks.
Patent Information
- Application Number
- CN202210090064.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-25
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2042-01-25
AI Technical Summary
The existing satellite instruction system lacks priority scheduling design for multi-source instructions, resulting in inefficient instruction sending and unable to meet the needs of fast and efficient task execution.
The instruction scheduling server is used to enable four instruction receiving queues, sort them from high to low according to the priority of the instructions, and dynamically insert the send queue. It supports the priority scheduling of multi-source instructions and the superuser emergency insertion function to ensure that high priority instructions are sent first.
It improves the efficiency and flexibility of satellite command betting, supports the rapid transmission of multi-source commands, and meets the fast and effective execution needs of satellite in orbit missions.
Smart Images

Figure CN114528020B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of satellite technology in aerospace technology, and in particular to a multi-source instruction injection method, system, medium and equipment based on priority scheduling. Background Art
[0002] As the observation capabilities of a certain type of satellite payload have improved, the corresponding ground station measurement and control requirements have greatly increased. To save time in the ground station measurement and control command issuance process, in addition to the conventional single instruction and instruction chain method for sending instructions, the satellite's business measurement and control has added a task-based instruction set (containing a large number of single independent instructions), and increased the capacity of the payload work instruction queue. The instructions in the instruction set must also be arranged in the order of sending according to the priority of each instruction. In addition, when the ground station instruction sending source is annotated on the payload business parameters, it must support more than one instruction sending source at the same time. This design can be used to guide the design of the ground station command sending process, so that the satellite's on-orbit mission can be carried out quickly and effectively.
[0003] Currently, most domestic satellite command injection ground systems lack detailed design for priority, and typically use single-source command injection. Patent document CN1006533537A discloses a method for remotely injecting commands from a ground station into a satellite. This method proposes an economical and applicable scheduling method for multi-source ground stations injecting commands into the same satellite. By defining information such as injection ports and source addresses, the system coordinates the sequential transmission of commands from each ground station. However, the present invention focuses on command priority scheduling in a multi-source command ground transmission system, which is less relevant to the project requirements involved in this invention.
[0004] Patent document CN103399533A discloses a satellite remote control command priority control system, which is a method for the satellite to respond to commands through a priority control strategy when two commands are sent to the ground at the same time. It has nothing to do with the ground command injection method involved in the present invention.
[0005] Patent document CN106547516A discloses a method and device for spacecraft remote control command uplink control, which uses flexible script design to implement command uplink control, breaking through traditional program coding, but is unrelated to the command priority control of the present invention. Summary of the Invention
[0006] In view of the defects in the prior art, the purpose of the present invention is to provide a multi-source instruction injection method, system, medium and device based on priority scheduling.
[0007] A multi-source instruction injection method based on priority scheduling provided by the present invention includes:
[0008] Step S1: The instruction dispatch server opens four instruction receiving queues and enters the work waiting mode. The instruction source establishes a network service connection with the instruction dispatch server and authenticates the user level to the server. After confirmation, the server returns a confirmation code and allocates an idle instruction queue to the source.
[0009] Step S2: The instruction source sends a single instruction, an instruction chain, or multiple instruction data in a single package to the server, where each instruction is identified according to a specified priority;
[0010] Step S3: After receiving multiple instructions in a single packet, the instruction dispatch server analyzes the priority of each instruction and adds them to the instruction sending queue in descending order of priority. After receiving the instructions, the instructions with the highest priority are sent to the next link first, and the instructions with the same priority are sent in the order of receipt time.
[0011] Step S4: When receiving a single instruction or instruction chain, the instruction dispatch server analyzes the priority of the single instruction in order, adds it to the instruction sending queue in descending order of priority, and sends it out one by one in order;
[0012] Step S5: When more than one instruction channel in the instruction dispatch server is working simultaneously, if one of the instruction channels completes instruction reception, the instruction sending queue starts sending instructions. Instructions received by other channels are dynamically inserted into the instruction sending queue according to their priorities. Instructions with the same priority are sorted in the order of receipt time.
[0013] Step S6: When there is already a command sending task in the command sending queue of the command scheduling server, the received super user command can be dynamically inserted into the front of the command sending queue and sent immediately after the current command process is completed;
[0014] Step S7: When there is already a command sending task in the command sending queue of the command scheduling server, the newly received non-superuser command is dynamically inserted into the command sending queue according to the priority level and the time sequence of the same priority level.
[0015] The scheduling server, as the general control scheduling of instructions, sets a sending window for each instruction received;
[0016] The instruction receiving queue is allocated to one instruction source. When the instruction source disconnects from the service link with the instruction dispatching server, the queue will be set to idle state; or when the instruction source is idle for more than 8 hours, the server will actively disconnect it and set the queue to available state;
[0017] The user levels include super users and ordinary users. The instruction source is normally an ordinary user. When emergency manual intervention is required, the instruction source can be switched to a super user.
[0018] Preferably, in step S1, when the instruction source establishes a service connection with the instruction dispatching server, if there is no idle instruction queue in the current server, then the process returns to step D1.1;
[0019] Step D1.1, return failure information to the instruction source, and return to step 1 to continue execution.
[0020] Preferably, in step S3, when a single package of multiple instructions is received, if one of the instructions fails to execute, the subsequent instructions in the package will be removed from the instruction sending queue, and the instruction source returns to step D3.1;
[0021] Step D3.1, return to step 3 and continue, waiting for the next instruction task until the instruction source is disconnected from the server.
[0022] Preferably, in step S5, the instruction scheduling server supports up to 4 instruction receiving queues working online simultaneously. If there is a demand for instruction source connection, the process returns to step D1.1.
[0023] In the instruction sending queue, the front-end pending instruction is always the highest priority instruction. When the received instruction is a single instruction or an instruction chain, the instruction sending is started when the first instruction is received; for multiple instructions in a single package, the instruction sending needs to be started after the reception is completed, and there is no sending task at present.
[0024] The instruction sending queue and the instruction scheduling server support clearing the instruction sending queue or a single instruction therein. The clearing method requires providing the instruction source address and instruction number (ALL or instruction number, package number).
[0025] A multi-source instruction injection system based on priority scheduling provided by the present invention includes:
[0026] Module M1: The instruction dispatch server opens four instruction receiving queues and enters the work waiting mode. The instruction source establishes a network service connection with the instruction dispatch server and authenticates the user level to the server. After confirmation, the server returns a confirmation code and allocates an idle instruction queue to the source.
[0027] Module M2: The command source sends a single command, a command chain, or multiple command data in a single package to the server, where each command is identified by a specified priority.
[0028] Module M3: After receiving multiple instructions in a single package, the instruction dispatch server analyzes the priority of each instruction and adds them to the instruction sending queue in descending order of priority. After receiving the instructions, the instructions with the highest priority will be sent to the next link first. Instructions with the same priority will be sent out in the order of receipt time.
[0029] Module M4: When the instruction dispatch server receives a single instruction or instruction chain, it analyzes the priority of the single instruction in sequence, adds it to the instruction sending queue in descending order of priority, and sends it out one by one in sequence;
[0030] Module M5: When more than one instruction channel in the instruction scheduling server is working simultaneously, if one of the instruction channels completes instruction reception, the instruction sending queue will start sending instructions. Instructions received by other channels will be dynamically inserted into the instruction sending queue according to their priority. Instructions with the same priority will be sorted in the order of receipt time.
[0031] Module M6: When there is a command sending task in the command sending queue of the command scheduling server, the received super user command can be dynamically inserted into the front of the command sending queue and sent immediately after the current command process is completed;
[0032] Module M7: When there are already command sending tasks in the command sending queue of the command scheduling server, the newly received non-superuser command is dynamically inserted into the command sending queue according to the priority level and the time sequence of the same priority level;
[0033] The scheduling server, as the general control scheduling of instructions, sets a sending window for each instruction received;
[0034] The instruction receiving queue is allocated to one instruction source. When the instruction source disconnects from the service link with the instruction dispatching server, the queue will be set to idle state; or when the instruction source is idle for more than 8 hours, the server will actively disconnect it and set the queue to available state;
[0035] The user levels include super users and ordinary users. The instruction source is normally an ordinary user. When emergency manual intervention is required, the instruction source can be switched to a super user.
[0036] Preferably, in the module M1, when the instruction source establishes a service connection with the instruction dispatching server, if there is no idle instruction queue in the current server, the process returns to module B1.1;
[0037] Module B1.1 returns a failure message to the instruction source and returns to module M1 to continue execution;
[0038] Preferably, in the module M3, when a single package containing multiple instructions is received, if one of the instructions fails to execute, the subsequent instructions in the package will be removed from the instruction sending queue, and the instruction source will be returned to the module B3.1;
[0039] Module B3.1 returns to module M3 and continues to wait for the next instruction task until the instruction source is disconnected from the server.
[0040] Preferably, in the module M5, the instruction dispatching server supports up to 4 instruction receiving queues working online simultaneously. If there is a demand for instruction source connection, it returns to module B1.1.
[0041] According to the present invention, a computer-readable storage medium storing a computer program is provided. When the computer program is executed by a processor, the steps of a multi-source instruction injection method based on priority scheduling are implemented.
[0042] According to the present invention, a multi-source instruction injection device based on priority scheduling includes: a controller;
[0043] The controller includes a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the steps of the multi-source instruction injection method based on priority scheduling are implemented; or the controller includes a multi-source instruction injection system based on priority scheduling.
[0044] In the instruction sending queue, the front-end pending instruction is always the highest priority instruction. When the received instruction is a single instruction or an instruction chain, the instruction sending is started when the first instruction is received; for multiple instructions in a single package, the instruction sending needs to be started after the reception is completed, and there is no sending task at present;
[0045] The instruction sending queue and the instruction scheduling server support clearing the instruction sending queue or a single instruction therein. The clearing method requires providing the instruction source address and instruction number (ALL or instruction number, package number).
[0046] Compared with the prior art, the present invention has the following beneficial effects:
[0047] 1. The present invention has good applicability. The proposed instruction injection method based on priority scheduling can be used to guide the research and development of satellite instruction injection function parts, which can improve software development efficiency.
[0048] 2. The present invention has good embeddability. The instruction scheduling service can be used as an independently running module with a multi-input, single-output design. Based on the single-input and single-output design of the existing instruction sending software, the embeddability of this design is very friendly to a certain extent.
[0049] 3. The present invention provides four instruction receiving channels in its design, and the received instructions are aggregated into the sending queue through priority sorting, which optimizes the instruction receiving and sending process to a certain extent. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Other features, objects and advantages of the present invention will become more apparent upon reading the detailed description of non-limiting embodiments with reference to the following drawings:
[0051] Figure 1This is a schematic diagram of the server response instruction source instruction application flow of the present invention.
[0052] Figure 2 Schematic diagram of the receiving instructions and internal priority sorting flow of the present invention;
[0053] Figure 3 Schematic diagram of instruction priority interpretation flow of the present invention;
[0054] Figure 4 This is a schematic diagram of the instruction sending startup flow of the present invention. DETAILED DESCRIPTION
[0055] The present invention will be described in detail below with reference to specific embodiments. The following examples will help those skilled in the art to further understand the present invention, but are not intended to limit the present invention in any form. It should be noted that, for those skilled in the art, several changes and improvements can be made without departing from the scope of the present invention. These all fall within the scope of protection of the present invention.
[0056] A multi-source instruction injection method based on priority scheduling includes: an instruction scheduling server opens an instruction receiving working channel to receive front-end instructions, and sorts the instructions by priority and pushes them into an instruction sending queue; when more than one instruction receiving channel is working simultaneously, usually no more than four, instructions of the same priority are sorted and stacked in chronological order; single instructions with high priority that need to be executed immediately are dynamically inserted into the current sending task; and user permissions are associated with instruction priorities, so that all instructions issued by super users have the highest priority and can be used in emergency situations.
[0057] like Figures 1 to 4 As shown, the design shows that the instruction scheduling server designed by the present invention sends an application in response to the instruction source instruction, receives the instruction source instruction, sorts the instruction priorities within the server, and finally sends the instruction to the next link.
[0058] The specific example of this invention applies this method to an existing instruction injection system. The existing instruction injection system has a single source and single output, lacks priority judgment, and its instruction reception and transmission run as independent processes. This example develops this method into an embeddable module and connects it to the original system's backend service input module. The specific steps are as follows:
[0059] The first step, such as Figure 1As shown in , the command source sends a request to the command dispatch server to establish a service connection. The server determines the user level and the current idle command queue status of the received request. If the user level is unknown, it returns a user error message; if there is no idle command queue, it returns a failure message. If the user is correct and there is an idle queue, the server assigns an idle queue to the command source and successfully establishes a service connection with the command source. The following example service connection request data and response information:
[0060] The second step is Figure 2 、 Figure 3 As shown, after the instruction source establishes a connection with the instruction scheduling server, the instruction source can send instructions to the server. When the server receives the instruction, when there are multiple instruction queues working at the same time, the priority of the instructions in this queue is initially judged, and then the iterative priority judgment is performed after the instruction sending queues are converged.
[0061] The third step, such as Figure 4 The instruction sending starts the workflow. According to business needs, without affecting the original instruction injection process, when only an instruction set is received, it is necessary to prioritize all instructions in the instruction set and then arrange the sending window. When only a single instruction or instructions in an instruction chain are received, there is no priority judgment for a single queue. If multiple queues are working at the same time, it is necessary to synchronize the priorities of instructions from different queues and then directly start the sending window.
[0062] In the description of this application, it should be understood that the terms "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", etc., indicating the orientation or position relationship, are based on the orientation or position relationship shown in the accompanying drawings, and are only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on this application.
[0063] The above describes specific embodiments of the present invention. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art may make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. The embodiments of this application and the features in the embodiments may be combined with each other in any manner unless there is a conflict.
Claims
1. A multi-source instruction injection method based on priority scheduling, characterized in that: include: Step S1: The instruction dispatch server opens four instruction receiving queues and enters the work waiting mode. The instruction source establishes a network service connection with the instruction dispatch server and authenticates the user level to the server. After confirmation, the server returns a confirmation code and allocates an idle instruction queue to the source. Step S2: The instruction source sends a single instruction, an instruction chain, or multiple instruction data in a single package to the server, where each instruction is identified according to a specified priority; Step S3: After receiving multiple instructions in a single packet, the instruction dispatch server analyzes the priority of each instruction and adds them to the instruction sending queue in descending order of priority. After receiving the instructions, the instructions with the highest priority are sent to the next link first, and the instructions with the same priority are sent in the order of receipt time. Step S4: When receiving a single instruction or instruction chain, the instruction dispatch server analyzes the priority of the single instruction in order, adds it to the instruction sending queue in descending order of priority, and sends it out one by one in order; Step S5: When more than one instruction channel in the instruction dispatch server is working simultaneously, if one of the instruction channels completes instruction reception, the instruction sending queue starts sending instructions. Instructions received by other channels are dynamically inserted into the instruction sending queue according to their priorities. Instructions with the same priority are sorted in the order of receipt time. Step S6: When there is already a command sending task in the command sending queue of the command scheduling server, the received super user command can be dynamically inserted into the front of the command sending queue and sent immediately after the current command process is completed; Step S7: When there is already a command sending task in the command sending queue of the command scheduling server, the newly received non-superuser command is dynamically inserted into the command sending queue according to the priority level and the time sequence of the same priority level; The instruction receiving queue is allocated one receiving queue to each instruction source.
2. The multi-source instruction injection method based on priority scheduling according to claim 1 is characterized in that: In step S1, when the instruction source establishes a service connection with the instruction dispatch server, if there is no idle instruction queue in the current server, the process returns to step D1.1; Step D1.1, return failure information to the instruction source, and return to step 1 to continue execution.
3. The multi-source instruction injection method based on priority scheduling according to claim 1 is characterized in that: In step S3, when a single packet containing multiple instructions is received, if one of the instructions fails to execute, the subsequent instructions in the packet will be removed from the instruction sending queue, and the instruction source returns to step D3.1; Step D3.1, return to step 3 and continue, waiting for the next instruction task until the instruction source is disconnected from the server.
4. The multi-source instruction injection method based on priority scheduling according to claim 2, characterized in that: In step S5, the instruction dispatching server supports up to 4 instruction receiving queues working online simultaneously. If there is a demand for instruction source connection, the process returns to step D1.
1.
5. A multi-source instruction injection system based on priority scheduling, characterized in that: include: Module M1: The instruction dispatch server opens four instruction receiving queues and enters the work waiting mode. The instruction source establishes a network service connection with the instruction dispatch server and authenticates the user level to the server. After confirmation, the server returns a confirmation code and allocates an idle instruction queue to the source. Module M2: The command source sends a single command, a command chain, or multiple command data in a single package to the server, where each command is identified by a specified priority; Module M3: After receiving multiple instructions in a single package, the instruction dispatch server analyzes the priority of each instruction and adds them to the instruction sending queue in descending order of priority. After receiving the instructions, the instructions with the highest priority will be sent to the next link first. Instructions with the same priority will be sent out in the order of receipt time. Module M4: When the instruction dispatch server receives a single instruction or instruction chain, it analyzes the priority of the single instruction in sequence, adds it to the instruction sending queue in descending order of priority, and sends it out one by one in sequence; Module M5: When more than one instruction channel in the instruction scheduling server is working simultaneously, if one of the instruction channels completes instruction reception, the instruction sending queue will start sending instructions. Instructions received by other channels will be dynamically inserted into the instruction sending queue according to their priority. Instructions with the same priority will be sorted in the order of receipt time. Module M6: When there is a command sending task in the command sending queue of the command scheduling server, the received super user command can be dynamically inserted into the front of the command sending queue and sent immediately after the current command process is completed; Module M7: When there are already command sending tasks in the command sending queue of the command scheduling server, the newly received non-superuser command is dynamically inserted into the command sending queue according to the priority level and the time sequence of the same priority level; The scheduling server, as the general control scheduling of instructions, sets a sending window for each instruction received; The instruction receiving queue is allocated one receiving queue to each instruction source. When the instruction source disconnects the service link with the instruction dispatching server, the queue will be set to idle state; Or if the command source is idle for more than 8 hours, the server will actively disconnect it and set the queue to available state; The user levels include super users and ordinary users. The instruction source is normally an ordinary user. When emergency manual intervention is required, the instruction source can be switched to a super user.
6. The multi-source instruction injection system based on priority scheduling according to claim 5 is characterized in that: In the module M1, when the instruction source establishes a service connection with the instruction dispatch server, if there is no idle instruction queue in the current server, the process returns to module B1.1; Module B1.1 returns a failure message to the instruction source and returns to module M1 to continue execution.
7. The multi-source instruction injection system based on priority scheduling according to claim 5 is characterized in that: In the module M3, when a single package containing multiple instructions is received, if one of the instructions fails to execute, the subsequent instructions in the package will be removed from the instruction sending queue, and the instruction source will be returned to the module B3.1; Module B3.1 returns to module M3 and continues to wait for the next instruction task until the instruction source is disconnected from the server.
8. The multi-source instruction injection system based on priority scheduling according to claim 6 is characterized in that: In the module M5, the instruction dispatch server supports up to 4 instruction receiving queues working online at the same time. If there is a demand for instruction source connection, it returns to module B1.
1.
9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the multi-source instruction injection method based on priority scheduling according to any one of claims 1 to 4 are implemented.
10. A multi-source instruction injection device based on priority scheduling, characterized in that: include: Controller; The controller includes the computer-readable storage medium storing the computer program according to claim 9, and when the computer program is executed by the processor, the steps of the multi-source instruction injection method based on priority scheduling according to any one of claims 1 to 4 are implemented; or, the controller includes the multi-source instruction injection system based on priority scheduling according to any one of claims 5 to 8.
Citation Information
Patent Citations
Satellite remote control instruction priority control system
CN103399533A
Spacecraft remote control instruction uplink control method and device
CN106547516A
Satellite communication system outbound resource optimization management method
CN112988354A
Instruction execution method and system, electronic equipment and storage medium
CN113672284A