Data processing method and device in on-orbit control program of spacecraft

By using the packet identification to subscribe to and decoding remote test data in the track control program of the space aircraft, the real -time and resource limits of the data processing of remote test data processing in the orbit autonomous operation is solved, and efficient remote test data processing and real -time operation are realized.

CN119357194APending Publication Date: 2025-01-24BEIJING INST OF CONTROL ENG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411603076.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-11
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

While meeting the requirements of real-time and limited computing resources, processing large amounts of telemetry data is an urgent technical problem that needs to be solved, especially when realizing autonomous operation of space vehicles in orbit.

Method used

Through the use of packaging in the rail control program, the subscription request is initiated, the remote test dictionary table is updated, the specified remote measurement data in the remote test package is received and the remote test data table is recorded for direct use of the track control program.

Benefits of technology

It reduces the scale of real-time processing of telemetry data on orbit, achieves real-time reception of telemetry packets and decoding of telemetry data values ​​under the condition of limited on-board computer resources, and avoids time-consuming decoding processing during the operation of on-orbit control programs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119357194A_ABST
    Figure CN119357194A_ABST
Patent Text Reader

Abstract

The invention discloses a data processing method and device in an on-orbit control program of a spacecraft, and belongs to the technical field of on-orbit operation of spacecrafts. The method comprises the following steps: updating a telemetering dictionary table based on a subscription request initiated by an on-orbit control program by using a packet identifier and a telemetering quantity defined by the on-orbit control program for a telemetering packet; the subscription request is used for requesting to forward a telemetering packet corresponding to the packet identifier; the telemetering dictionary table is used for recording subscription information of the telemetering packet by the on-orbit control program; receiving a telemetering packet forwarded in the current telemetering period, and decoding the corresponding telemetering quantity from the telemetering packet by using the decoding function of each telemetering quantity in the telemetering dictionary table; and recording the telemetering data value obtained by decoding into a telemetering data pool table, so that the on-orbit control program obtains the telemetering data value of the telemetering quantity required to be used from the telemetering data pool table during operation. According to the method, the real-time performance of the processing process of receiving the telemetering packet and decoding the telemetering quantity to obtain the telemetering data value under the condition that the space-borne computer resources are limited can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of on-orbit operation of spacecraft, and in particular to a method and device for processing data in an on-orbit control program of a spacecraft. Background Art

[0002] At present, the on-orbit operation and on-orbit mission operations of spacecraft mainly rely on ground manual operations, which monitor the status of spacecraft through downlink telemetry data and control spacecraft through uplink remote control commands. This requires a lot of manual operations and the guarantee of continuous measurement and control arcs.

[0003] In order to realize status monitoring, the process of processing telemetry data on the ground is as follows: first, according to the encoding method of the aircraft telemetry original code data, the corresponding byte data of the telemetry parameter is extracted from the specified position in the telemetry original code data (called original code addressing); then the obtained byte data is brought into a specific conversion formula for calculation (called original code processing), so as to obtain the engineering value data of the corresponding telemetry physical quantity.

[0004] However, if the space vehicle is required to operate autonomously in orbit, how to process a large amount of telemetry data while meeting the requirements of real-time and limited computing resources is a technical problem that needs to be solved urgently. Summary of the invention

[0005] The present invention provides a method and device for processing data in an on-orbit control program of a spacecraft.

[0006] The technical solution is as follows:

[0007] In one aspect, a method for processing on-orbit data of a spacecraft is provided, the method comprising:

[0008] Based on the subscription request initiated by the on-orbit control program using the package identifier and the telemetry quantity defined by the on-orbit control program for the telemetry package, the telemetry dictionary table is updated; the subscription request is used to subscribe to the telemetry package containing the telemetry quantity required by the own program, so as to request to forward the telemetry package corresponding to the package identifier in each telemetry cycle; the telemetry dictionary table is used to record the subscription information of the on-orbit control program for the telemetry package and the telemetry quantity; the subscription information at least includes the package identifier, the defined telemetry quantity and the decoding function corresponding to the telemetry quantity;

[0009] Receive a telemetry packet forwarded in the current telemetry period, use the packet identifier of the telemetry packet to index in the telemetry dictionary table, and obtain target subscription information related to the packet identifier;

[0010] Using the decoding function of each telemetry quantity in the target subscription information, the corresponding telemetry quantity is decoded from the telemetry package to obtain the telemetry data value of each telemetry quantity;

[0011] The telemetry data value of each telemetry quantity obtained by decoding is recorded in the telemetry data pool table, so that the on-orbit control program can obtain the telemetry data value of the telemetry quantity required to be used from the telemetry data pool table during operation.

[0012] In another aspect, an on-orbit data processing device for a spacecraft is provided, the device comprising:

[0013] An updating unit is used to update a telemetry dictionary table based on a subscription request initiated by an on-orbit control program using a package identifier and a telemetry quantity defined by the on-orbit control program for a telemetry package; the subscription request is used to subscribe to a telemetry package in which a telemetry quantity required by the program itself is located, so as to request to forward the telemetry package corresponding to the package identifier in each telemetry cycle; the telemetry dictionary table is used to record subscription information of the on-orbit control program for the telemetry package and the telemetry quantity; the subscription information at least includes a package identifier, a defined telemetry quantity, and a decoding function corresponding to the telemetry quantity;

[0014] An indexing unit, used to receive a telemetry packet forwarded in the current telemetry period, and use the packet identifier of the telemetry packet to index in the telemetry dictionary table to obtain target subscription information related to the packet identifier;

[0015] A decoding unit, configured to decode the corresponding telemetry quantity from the telemetry packet using a decoding function of each telemetry quantity in the target subscription information, and obtain a telemetry data value of each telemetry quantity;

[0016] The recording unit is used to record the telemetry data value of each telemetry quantity obtained by decoding into the telemetry data pool table, so that the on-orbit control program can obtain the telemetry data value of the telemetry quantity required to be used from the telemetry data pool table when running.

[0017] In another aspect, there is provided an onboard computer of a spacecraft, comprising: a mission operation device, an on-orbit control device, and an on-orbit data processing device as described above;

[0018] The on-orbit control device is used to initiate a subscription request to the on-orbit control device using the packet identifier;

[0019] The task running device is used to run the original task and receive the subscription request of the on-orbit control device, and forward the telemetry packet with the packet identifier carried by the subscription request to the on-orbit data processing device in each telemetry cycle.

[0020] On the other hand, a computer device is provided, which includes a memory and a processor, wherein the memory is used to store computer programs, and the processor is used to execute the computer programs stored in the memory to implement the steps of the above-mentioned method for in-orbit data processing of a spacecraft.

[0021] On the other hand, a computer-readable storage medium is provided, wherein a computer program is stored in the storage medium, and when the computer program is executed by a processor, the steps of the above-mentioned method for on-orbit data processing of a spacecraft are implemented.

[0022] On the other hand, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the steps of the above-mentioned method for on-orbit data processing of a spacecraft.

[0023] The technical solution provided by the present invention can at least bring the following beneficial effects:

[0024] The on-orbit control program only subscribes to the telemetry packages containing the required telemetry quantities, so there is no need to forward all telemetry packages in the telemetry cycle. It only needs to forward and process the subscribed telemetry packages, and define and decode the telemetry quantities required to be used in the telemetry packages. The precise operation greatly reduces the scale of on-orbit real-time processing of telemetry data, and updates the telemetry data values ​​decoded in real time to the telemetry data pool table, which can be directly looked up by the on-orbit control program when it is running, avoiding time-consuming decoding processing during the operation of the on-orbit control program; thereby realizing the real-time processing of receiving telemetry packages and decoding telemetry quantities to obtain telemetry data values ​​under the condition of limited on-board computer resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0026] Figure 1 It is a schematic diagram of a virtual architecture of a satellite-borne computer for realizing autonomous operation on orbit provided by an embodiment of the present invention;

[0027] Figure 2 This is a flow chart of an on-orbit data processing method for a spacecraft provided by one embodiment of the present invention;

[0028] Figure 3 It is a structural diagram of an on-orbit data processing device for a spacecraft provided by one embodiment of the present invention;

[0029] Figure 4 It is a hardware architecture diagram of a computer device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0030] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0031] Please refer to Figure 1 , which is a schematic diagram of the onboard computer architecture for achieving on-orbit autonomous operation. An on-orbit control program is formed for the status monitoring based on downlink telemetry data and the control based on uplink remote control commands performed by ground personnel. There can be multiple on-orbit control programs, and multiple on-orbit control programs are stored in the on-board memory. By adding an engine to the on-board software, the task running device in the on-board software is used to run the original task normally. When on-orbit autonomous operation is required, the engine creates a virtual machine, and creates a coroutine in the virtual machine to run the on-orbit control program, thereby achieving on-orbit autonomous control.

[0032] The onboard software has a control cycle, and the on-orbit control program has a scheduling cycle, and the scheduling cycle is N times the control cycle, where N is a positive integer. In each control cycle, the onboard software needs to run the original task, and a fixed time is allocated to the engine in the remaining time after the original task is completed to run the on-orbit control program. In other words, an on-orbit control program is scheduled once in each scheduling cycle, and the scheduling point is located within the fixed time allocated for each control cycle. Since the on-orbit control program needs to use the telemetry data obtained by the task running device as input data, but the amount of telemetry data is huge, after the on-orbit control program uses a large amount of telemetry data as input data, it needs to parse the required telemetry data from a large amount of telemetry data, which takes a lot of time, and the fixed time allocated to the on-orbit control program in the control cycle is short. If the analysis of the telemetry data takes up a lot of time, the rapid operation of the on-orbit control program cannot be guaranteed.

[0033] Based on this, considering that the on-orbit control program runs within a fixed time in each scheduling cycle, it can be considered that before the on-orbit control program runs, the background processes the telemetry data in advance to parse out the telemetry data value of the telemetry quantity required by the on-orbit control program, avoiding processing the data in the on-orbit control program. In addition, since the on-orbit control program has its own required telemetry quantity, and not all telemetry data include the telemetry quantity, it is possible to determine the package identifier of the telemetry package where the telemetry quantity is located, and the on-orbit control program uses the package identifier to initiate a subscription to the task running device, so that the task running device only forwards the telemetry package with the subscribed package identifier, without forwarding all telemetry packages, thereby reducing the amount of data processing.

[0034] Then, the virtual machine may include two virtual devices, one is an on-orbit control device for running an on-orbit control program in the foreground, and the other is an on-orbit data processing device for executing on-orbit data processing of the embodiment of the present invention in the background.

[0035] It can be understood that in the prior art, after the mission operation device obtains the telemetry data, it sends the telemetry data to the ground control end, and the ground control end generates a remote control instruction after parsing the telemetry data and sends it to the mission operation device. In the embodiment of the present invention, the mission operation device forwards the subscribed telemetry data to the on-orbit data processing device, and the on-orbit data processing device parses the telemetry data to obtain the telemetry data value of the telemetered quantity. The on-orbit control device uses the telemetry data value as the input data of the on-orbit control program, obtains the output remote control instruction by running the on-orbit control program, and then sends the remote control instruction to the mission operation device.

[0036] The specific implementation of the above concept is described below.

[0037] Please refer to Figure 2 , an embodiment of the present invention provides an on-orbit data processing method for a spacecraft, the method comprising:

[0038] Step 200, based on the subscription request initiated by the on-orbit control program using the package identifier and the telemetry quantity defined by the on-orbit control program for the telemetry package, the telemetry dictionary table is updated; the subscription request is used to subscribe to the telemetry package where the telemetry quantity required by the own program is located, so as to request to forward the telemetry package corresponding to the package identifier in each telemetry cycle; the telemetry dictionary table is used to record the subscription information of the on-orbit control program for the telemetry package and the telemetry quantity; the subscription information at least includes the package identifier, the defined telemetry quantity and the decoding function corresponding to the telemetry quantity;

[0039] Step 202, receiving a telemetry packet forwarded in the current telemetry period, using the packet identifier of the telemetry packet to index in the telemetry dictionary table, and obtaining target subscription information related to the packet identifier;

[0040] Step 204, using the decoding function of each telemetry quantity in the target subscription information, decoding the corresponding telemetry quantity from the telemetry package to obtain the telemetry data value of each telemetry quantity;

[0041] Step 206, recording the telemetry data value of each telemetry quantity obtained by decoding into the telemetry data pool table, so that the on-orbit control program can obtain the telemetry data value of the telemetry quantity required to be used from the telemetry data pool table when running.

[0042] In the embodiment of the present invention, the on-orbit control program only subscribes to the telemetry package containing the required telemetry quantity, so there is no need to forward all the telemetry packages in the telemetry cycle. It is only necessary to forward and process the subscribed telemetry package, and define and decode the required telemetry quantity in the telemetry package. The precise operation greatly reduces the scale of on-orbit real-time processing of telemetry data, and updates the telemetry data value decoded in real time to the telemetry data pool table, which can be used for direct table lookup when the on-orbit control program is running, avoiding time-consuming decoding processing during the operation of the on-orbit control program; thereby realizing the real-time processing of receiving telemetry packages and decoding telemetry quantities to obtain telemetry data values ​​under the condition of limited on-board computer resources.

[0043] Described below Figure 2 How the various steps are performed.

[0044] First, with respect to step 200 , based on the subscription request initiated by the on-orbit control program using the package identifier and the telemetry quantity defined by the on-orbit control program for the telemetry package, the telemetry dictionary table is updated.

[0045] In an embodiment of the present invention, the onboard computer includes a task running device, an on-orbit control device and an on-orbit data processing device; the task running device is used to normally run the original task, the on-orbit control device is used to run the on-orbit control program in the foreground, and the on-orbit data processing device is used to perform on-orbit data processing in the background.

[0046] The task running device can obtain telemetry data during the execution of the original task. The on-orbit control program is loaded into the virtual machine for initialization. During the initialization process, the on-orbit control program uses the package identifier to initiate a subscription request to the task running device. The subscription request is used to subscribe to the telemetry package containing the telemetry quantity required by its own program to request the task running device to forward the telemetry package corresponding to the package identifier in each telemetry cycle, and the on-orbit data processing device receives and processes the forwarded telemetry package.

[0047] In order to realize the background on-orbit data processing, it is necessary to build and maintain the telemetry dictionary table. Whenever it is detected that the on-orbit control program initiates a subscription request using the package identifier, the telemetry dictionary table is updated to update the package identifier to the telemetry dictionary table; and in addition to initiating a subscription request, the on-orbit control program also defines the telemetry quantities required by its own program in the subscribed telemetry package. When defining the telemetry quantities, it includes not only the required telemetry quantities but also the decoding functions corresponding to the telemetry quantities. The defined telemetry quantities and the decoding functions corresponding to the telemetry quantities also need to be updated to the telemetry dictionary table. Therefore, the telemetry dictionary table is used to record the subscription information of the on-orbit control program to the telemetry package. The subscription information includes at least: the package identifier, the defined telemetry quantities, and the decoding functions corresponding to the telemetry quantities.

[0048] The package identifier is the unique identifier of the telemetry package;

[0049] The defined telemetry is the telemetry required to be used by the on-orbit control program for multiple telemetry in the telemetry package; for example, if the telemetry package includes 10 telemetry, and the on-orbit control program needs to use 3 of them, then only the 3 telemetry are defined; the subscription information includes the telemetry name of the defined telemetry;

[0050] The decoding function corresponding to the telemetry quantity is used to parse the corresponding telemetry quantity from the telemetry package to obtain the telemetry data value of the corresponding telemetry quantity. Since different telemetry quantities have different decoding methods, the decoding function of the telemetry quantity is recorded in the telemetry dictionary table in advance to facilitate the decoding of the telemetry quantity in the telemetry package.

[0051] Since the package identifiers of telemetry packages subscribed by different on-orbit control programs may be the same or different, and the package identifiers of telemetry packages subscribed by the same on-orbit control program may be one or more, for ease of management, group management is performed according to the package identifier in the telemetry dictionary table.

[0052] In one embodiment of the present invention, based on the subscription request initiated by the on-orbit control program using the package identifier and the telemetry quantity defined by the on-orbit control program for the telemetry package, updating the telemetry dictionary table may specifically include:

[0053] A1: Based on the subscription request initiated by the current on-orbit control program using the package identifier, determine whether the package identifier exists in the telemetry dictionary table; if so, execute A2; if not, execute A3;

[0054] A2: It indicates that another on-orbit control program has subscribed to the telemetry package corresponding to the package identifier. Then, the subtable corresponding to the package identifier is further searched to see whether there is a telemetry value defined by the current on-orbit control program for the telemetry package, and the non-existent telemetry value and its decoding function are added to the subtable corresponding to the package identifier.

[0055] A3: Indicates that the telemetry package corresponding to the package identifier is subscribed for the first time, the package identifier is added to the telemetry dictionary table, and the telemetry quantity and its decoding function defined by the current on-orbit control program for the telemetry package are added to the subtable corresponding to the package identifier; wherein the telemetry quantity and its decoding function defined by the current on-orbit control program are obtained from the current on-orbit control program.

[0056] In this way, the telemetry dictionary table stores subscription information of multiple on-orbit control programs subscribing to telemetry packages.

[0057] Next, step 202, "receive the telemetry packet forwarded in the current telemetry cycle, use the packet identifier of the telemetry packet to index in the telemetry dictionary table, and obtain the target subscription information related to the packet identifier" and step 204, "use the decoding function of each telemetry quantity in the target subscription information to decode the corresponding telemetry quantity from the telemetry packet to obtain the telemetry data value of each telemetry quantity" are explained at the same time.

[0058] Since the task running device will obtain a large amount of telemetry data in each telemetry cycle, there are unsubscribed telemetry packages in these telemetry data. In order to reduce the amount of data processing, the task running device only needs to forward the subscribed telemetry packages to the on-orbit data processing device, and there is no need to forward all the telemetry packets in the telemetry cycle. In this way, the telemetry packets received by the on-orbit data processing device are all telemetry packets required by the on-orbit control program.

[0059] For the telemetry package forwarded in the current telemetry cycle, the package identifier of the telemetry package can be extracted according to the telemetry package format. Since the telemetry package is a subscribed telemetry package, its package identifier exists in the telemetry dictionary table. By using the package identifier of the telemetry package to index in the telemetry dictionary table, the target subscription information related to the package identifier can be obtained.

[0060] Among them, the target subscription information includes the telemetry quantity and its decoding function defined by the on-orbit control program. It can be understood that if multiple on-orbit control programs subscribe to the telemetry package with the package identifier, then the telemetry quantity defined in the target subscription information is the union of the telemetry quantities defined by the multiple on-orbit control programs. For example, the telemetry quantity defined by on-orbit control program 1 for the telemetry package with the package identifier pkid_1 is telemetry quantity name_1, the telemetry quantity defined by on-orbit telecontrol program 2 for the telemetry package with the package identifier pkid_1 is telemetry quantity name_1 and telemetry quantity name_2, and the telemetry quantity defined by on-orbit telecontrol program 3 for the telemetry package with the package identifier pkid_1 is telemetry quantity name_2 and telemetry quantity name_3, then the target subscription information includes telemetry quantity name_1, telemetry quantity name_2 and telemetry quantity name_3.

[0061] In this way, the decoding function of each telemetry quantity in the target subscription information can be used to decode the corresponding telemetry quantity from the telemetry package to obtain the telemetry data value of each telemetry quantity.

[0062] In one embodiment of the present invention, in order to ensure the accuracy of the telemetry data value decoded subsequently, the telemetry package can be verified in advance, and the verification methods for different telemetry packages are different. Therefore, the subscription information recorded in the telemetry dictionary table also includes the verification function of the telemetry package corresponding to the package identifier.

[0063] Then, after obtaining the target subscription information related to the package identifier, before using the decoding function of each telemetry quantity in the target subscription information to decode the corresponding telemetry quantity from the telemetry package, it can also include: using the verification function corresponding to the package identifier in the target subscription information to perform data verification on the telemetry package; if the verification is correct, executing the decoding function of each telemetry quantity in the target subscription information to decode the corresponding telemetry quantity from the telemetry package; if the verification is incorrect, discarding the telemetry package.

[0064] Furthermore, in order to facilitate the subsequent use of the original telemetry packet, a telemetry packet data flow table can be established to record the correspondence between the packet identifier and the forwarded telemetry packet original binary data flow. That is, when the verification is correct, the telemetry packet is further stored in the telemetry packet data flow table.

[0065] Finally, for step 206, the telemetry data value of each telemetry quantity obtained by decoding is recorded in the telemetry data pool table, so that the on-orbit control program can obtain the telemetry data value of the telemetry quantity required to be used from the telemetry data pool table when running.

[0066] The on-orbit control program needs to use the telemetry data value of the telemetry measurement as input when running. In order to ensure that the input data can be obtained when the on-orbit control program is running, the on-orbit data processing device needs to decode the telemetry data value of the telemetry measurement in advance and store it for use.

[0067] In the embodiment of the present invention, the correspondence between the telemetry quantity and its telemetry data value is dynamically recorded by establishing and maintaining a telemetry data pool table, wherein the telemetry data value recorded in the telemetry data pool table is a real-time data value.

[0068] In the initial state, the telemetry data value of the telemetry quantity in the telemetry data pool table is a predefined initial value, which can be obtained from the on-orbit control program. For a telemetry quantity, whenever the telemetry data value of the telemetry quantity is decoded, the telemetry data value is updated to the telemetry data pool table to replace the telemetry data value before the update.

[0069] In this way, the telemetry data pool table records the telemetry data values ​​of all telemetry quantities defined by on-orbit control programs. When each on-orbit control program is running, it can directly obtain the telemetry data value of the required telemetry quantity from the telemetry data pool table without decoding during operation, thereby quickly generating remote control instructions.

[0070] Taking into account the situation that a telemetry value may not be used by an on-orbit control program during its operation, that is, if a telemetry value is no longer used by any on-orbit control program, the relevant information of the telemetry value in the telemetry dictionary table and the telemetry data pool table can be deleted to avoid subsequent decoding and calculation of the telemetry value.

[0071] In case that multiple on-orbit control programs repeatedly subscribe to telemetry packages and the required telemetry quantities are the same, in order to avoid repeated calculations, the telemetry dictionary table also records the information of the coroutine of the on-orbit control program that subscribes to the telemetry package, and the telemetry dictionary table and the telemetry data pool table also record the information of the coroutine of the on-orbit control program that defines the telemetry quantity;

[0072] Then, when it is determined that the target on-orbit control program no longer uses the target telemetry quantity, the information of the coroutine of the target on-orbit control program recorded in the telemetry dictionary table and the telemetry data pool table for the target telemetry quantity is deleted; if after the deletion, there is no coroutine of the on-orbit control program that uses the target telemetry quantity in the telemetry dictionary table and the telemetry data pool table for the target telemetry quantity, then the relevant information of the target telemetry quantity in the telemetry dictionary table and the telemetry data pool table is deleted.

[0073] When it is determined that the target on-orbit control program no longer uses the target telemetry package, the information of the coroutine where the target on-orbit control program is located recorded for the package identifier of the target telemetry package in the telemetry dictionary table and the telemetry data pool table is deleted; if after the deletion, the coroutine where the on-orbit control program subscribes to the target telemetry package does not exist for the package identifier of the target telemetry package in the telemetry dictionary table, then the subscription information related to the package identifier of the target telemetry package in the telemetry dictionary is deleted, and the related information of the telemetry quantity defined in the target telemetry package in the telemetry data pool table is deleted.

[0074] Please refer to Table 1, Table 2, and Table 3, which are respectively a preferred telemetry dictionary table, a telemetry data pool table, and a telemetry packet data flow table in an embodiment of the present invention.

[0075] Table 1:

[0076]

[0077] Table 2:

[0078]

[0079] Table 3:

[0080]

[0081] The above three tables are all described by "key-value pairs". Table 1 Telemetry Dictionary Table is used to describe the objective relationship between telemetry packages and telemetry quantities. Table 2 Telemetry Data Pool Table is used to record the correspondence between decoded telemetry quantities and their telemetry data values. Table 3 Telemetry Package Data Stream Table is used to record the correspondence between telemetry packages and the original binary data streams of telemetry packages. Among them, in the description method of "[]=VALUE" key-value pairs, [] is used to represent the key, and the right side of the equal sign represents the value. The value can also be a subtable or a certain numeric value or string. In the on-orbit real-time processing of telemetry packages, the establishment, maintenance and use of the three tables are the core key.

[0082] According to the telemetry dictionary table above, the telemetry dictionary table uses a package ID as a group and manages the subscription information of multiple package IDs. Each subtable corresponding to a package ID includes three members:

[0083] The first member is the information sub-table of the coroutine that subscribes to the telemetry package, and the first member includes the information of the coroutine of each on-orbit control program that subscribes to the telemetry package;

[0084] The second member is the telemetry subtable defined in the telemetry package, which includes the name of each telemetry required to be used in the telemetry package and the decoding function of the telemetry, and in the subtable of each defined telemetry name, it also includes the information of the coroutine where each on-orbit control program defining the telemetry is located;

[0085] The third member is the verification function of the telemetry package.

[0086] In this way, the telemetry dictionary table can realize the verification and decoding of the telemetry packet.

[0087] According to the telemetry data pool table above, the telemetry data pool table is grouped and managed according to the telemetry quantity. Each sub-table corresponding to each telemetry quantity includes two members:

[0088] The first member is an information subtable defining the coroutine of the telemetry quantity, and the first member includes information defining the coroutine of each on-orbit control program of the telemetry quantity;

[0089] The second member is the package identifier of the telemetry package in which the telemetry quantity is located;

[0090] The third member is the telemetry data value for that telemetry quantity.

[0091] Each time a new telemetry data value of the telemetry quantity is obtained through decoding, the new telemetry data value is updated to the third member.

[0092] It can be known from the above telemetry package data flow table that the telemetry package data flow table includes the original binary data flow of each subscribed telemetry package.

[0093] In the embodiment of the present invention, only the telemetry package where the telemetry quantity is defined is subscribed, only the subscribed telemetry package is forwarded and processed, and the original code addressing and original code processing are performed on the telemetry quantity defined in the telemetry package. The precise operation greatly reduces the scale of real-time processing of telemetry data on orbit; by processing the verification of the telemetry package and the real-time decoding of the telemetry data value in the background when the on-orbit control program is not scheduled to run, it is only necessary to look up the table to obtain the telemetry data value when the on-orbit control program is running in the foreground, avoiding the time-consuming decoding process during the operation of the on-orbit control program; thereby realizing the real-time processing of the process of receiving the telemetry package and decoding the telemetry quantity to obtain the telemetry data value under the condition of limited onboard computer resources. In addition, the functions of telemetry package subscription, defined telemetry quantity, telemetry data value decoding of telemetry quantity and telemetry quantity release involved in the embodiment of the present invention separate the telemetry package verification and telemetry quantity decoding process related to the data protocol, and have excellent versatility, which can be applied to various types of spacecraft.

[0094] Please refer to Figure 3 The embodiment of the present invention provides an on-orbit data processing device for a spacecraft, the device comprising:

[0095] The updating unit 300 is used to update the telemetry dictionary table based on the subscription request initiated by the on-orbit control program using the package identifier and the telemetry quantity defined by the on-orbit control program for the telemetry package; the subscription request is used to subscribe to the telemetry package where the telemetry quantity required by the own program is located, so as to request to forward the telemetry package corresponding to the package identifier in each telemetry cycle; the telemetry dictionary table is used to record the subscription information of the on-orbit control program for the telemetry package and the telemetry quantity; the subscription information at least includes the package identifier, the defined telemetry quantity and the decoding function corresponding to the telemetry quantity;

[0096] An indexing unit 302 is used to receive a telemetry packet forwarded in the current telemetry period, and use a packet identifier of the telemetry packet to perform an index in a telemetry dictionary table to obtain target subscription information related to the packet identifier;

[0097] A decoding unit 304 is used to decode the corresponding telemetry quantity from the telemetry packet using a decoding function of each telemetry quantity in the target subscription information to obtain a telemetry data value of each telemetry quantity;

[0098] The recording unit 306 is used to record the telemetry data value of each telemetry quantity obtained by decoding into the telemetry data pool table, so that the on-orbit control program can obtain the telemetry data value of the telemetry quantity required to be used from the telemetry data pool table when running.

[0099] In one embodiment of the present invention, group management is performed according to the package identifier in the telemetry dictionary table, and each package identifier in the telemetry dictionary table corresponds to a sub-table, and other subscription information related to the package identifier is recorded in the sub-table;

[0100] The updating unit is specifically used to perform the following operations:

[0101] A1: Based on the subscription request initiated by the current on-orbit control program using the package identifier, determine whether the package identifier exists in the telemetry dictionary table; if so, execute A2; if not, execute A3;

[0102] A2: It indicates that another on-orbit control program has subscribed to the telemetry package corresponding to the package identifier. Then, the subtable corresponding to the package identifier is further searched to see whether there is a telemetry value defined by the current on-orbit control program for the telemetry package, and the non-existent telemetry value and its decoding function are added to the subtable corresponding to the package identifier.

[0103] A3: Indicates that the telemetry package corresponding to the package identifier is subscribed for the first time, the package identifier is added to the telemetry dictionary table, and the telemetry quantity and its decoding function defined by the current on-orbit control program for the telemetry package are added to the subtable corresponding to the package identifier; wherein the telemetry quantity and its decoding function defined by the current on-orbit control program are obtained from the current on-orbit control program.

[0104] In one embodiment of the present invention, the subscription information recorded in the telemetry dictionary table also includes a verification function of the telemetry package corresponding to the package identifier;

[0105] The device also includes: a verification unit, which is used to perform data verification on the telemetry package using the verification function corresponding to the package identifier in the target subscription information. If the verification is correct, a decoding function using each telemetry value in the target subscription information is executed to decode the corresponding telemetry value from the telemetry package. If the verification is incorrect, the telemetry package is discarded.

[0106] In one embodiment of the present invention, the recording unit is further used to: if the verification is correct, store the telemetry packet in a telemetry packet data flow table; the telemetry packet data flow table is used to record the correspondence between the packet identifier and the original binary data flow of the forwarded telemetry packet.

[0107] In one embodiment of the present invention, the telemetry dictionary table also records information about the coroutine of the on-orbit control program that subscribes to the telemetry package, and the telemetry dictionary table and the telemetry data pool table also record information about the coroutine of the on-orbit control program that defines the telemetry quantity;

[0108] The update also provides:

[0109] When it is determined that the target on-orbit control program no longer uses the target telemetry quantity, the information of the coroutine of the target on-orbit control program recorded in the telemetry dictionary table and the telemetry data pool table for the target telemetry quantity is deleted; if after the deletion, the coroutine of the on-orbit control program using the target telemetry quantity does not exist in the telemetry dictionary table and the telemetry data pool table for the target telemetry quantity, then the relevant information of the target telemetry quantity in the telemetry dictionary table and the telemetry data pool table is deleted;

[0110] When it is determined that the target on-orbit control program no longer uses the target telemetry package, the information of the coroutine where the target on-orbit control program is located recorded for the package identifier of the target telemetry package in the telemetry dictionary table and the telemetry data pool table is deleted; if after the deletion, the coroutine where the on-orbit control program subscribes to the target telemetry package does not exist for the package identifier of the target telemetry package in the telemetry dictionary table, then the subscription information related to the package identifier of the target telemetry package in the telemetry dictionary table is deleted, and the related information of the telemetry quantity in the target telemetry package in the telemetry data pool table is deleted.

[0111] The present invention also provides a spacecraft onboard computer, please refer to Figure 1 (The on-orbit control device and the on-orbit data processing device are located in the virtual machine, Figure 1 ), including: a mission operation device, an on-orbit control device and an on-orbit data processing device as described above;

[0112] The on-orbit control device is used to initiate a subscription request to the on-orbit control device using the packet identifier;

[0113] The task running device is used to run the original task and receive the subscription request of the on-orbit control device, and forward the telemetry packet with the packet identifier carried by the subscription request to the on-orbit data processing device in each telemetry cycle.

[0114] It should be noted that: the on-orbit data processing device for a spacecraft provided in the above embodiment is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the on-orbit data processing device for a spacecraft provided in the above embodiment and the on-orbit data processing method embodiment for a spacecraft belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0115] The embodiment of the present application also provides a computer device, please refer to Figure 4The computer device includes a processor and a memory, in which at least one instruction, at least one program, a code set or an instruction set is stored, and the at least one instruction, at least one program, a code set or an instruction set is loaded and executed by the processor to implement the on-orbit data processing method of the spacecraft provided in the above-mentioned method embodiments.

[0116] An embodiment of the present application also provides a computer-readable storage medium, on which is stored at least one instruction, at least one program, code set or instruction set, and the at least one instruction, at least one program, code set or instruction set is loaded and executed by a processor to implement the on-orbit data processing method for a spacecraft provided in the above-mentioned method embodiments.

[0117] An embodiment of the present application also provides a computer program product, which includes a computer program. A processor of a computer device reads the computer program from a computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the on-orbit data processing method for a space vehicle described in any of the above embodiments.

[0118] For the convenience of description, the above system or device is described by dividing it into various modules or units according to its functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0119] It can be known from the description of the above implementation methods that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be essentially or partly contributed to the prior art in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments of the present application or certain parts of the embodiments.

[0120] Finally, it should be noted that, in this article, relational terms such as first, second, third and fourth are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article 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, article or device. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0121] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A method for processing on-orbit data of a spacecraft, characterized in that: The method comprises: Based on the subscription request initiated by the on-orbit control program using the package identifier and the telemetry quantity defined by the on-orbit control program for the telemetry package, the telemetry dictionary table is updated; the subscription request is used to subscribe to the telemetry package containing the telemetry quantity required by the own program, so as to request to forward the telemetry package corresponding to the package identifier in each telemetry cycle; the telemetry dictionary table is used to record the subscription information of the on-orbit control program for the telemetry package and the telemetry quantity; the subscription information at least includes the package identifier, the defined telemetry quantity and the decoding function corresponding to the telemetry quantity; Receive a telemetry packet forwarded in the current telemetry period, use the packet identifier of the telemetry packet to index in the telemetry dictionary table, and obtain target subscription information related to the packet identifier; Using the decoding function of each telemetry quantity in the target subscription information, the corresponding telemetry quantity is decoded from the telemetry package to obtain the telemetry data value of each telemetry quantity; The telemetry data value of each telemetry quantity obtained by decoding is recorded in the telemetry data pool table, so that the on-orbit control program can obtain the telemetry data value of the telemetry quantity required to be used from the telemetry data pool table during operation.

2. The method according to claim 1, characterized in that In the telemetry dictionary table, group management is performed according to the package ID. Each package ID in the telemetry dictionary table corresponds to a sub-table, which records other subscription information related to the package ID. The updating of the telemetry dictionary table based on the subscription request initiated by the on-orbit control program using the package identifier and the telemetry quantity defined by the on-orbit control program for the telemetry package includes: A1: Based on the subscription request initiated by the current on-orbit control program using the package identifier, determine whether the package identifier exists in the telemetry dictionary table; if so, execute A2; if not, execute A3; A2: It indicates that another on-orbit control program has subscribed to the telemetry package corresponding to the package identifier. Then, the subtable corresponding to the package identifier is further searched to see whether there is a telemetry value defined by the current on-orbit control program for the telemetry package, and the non-existent telemetry value and its decoding function are added to the subtable corresponding to the package identifier. A3: Indicates that the telemetry package corresponding to the package identifier is subscribed for the first time, the package identifier is added to the telemetry dictionary table, and the telemetry quantity and its decoding function defined by the current on-orbit control program for the telemetry package are added to the subtable corresponding to the package identifier; wherein the telemetry quantity and its decoding function defined by the current on-orbit control program are obtained from the current on-orbit control program.

3. The method according to claim 1, characterized in that The subscription information recorded in the telemetry dictionary table also includes the verification function of the telemetry package corresponding to the package identifier; After obtaining the target subscription information related to the package identifier and before decoding the corresponding telemetry quantity from the telemetry package, it also includes: performing data verification on the telemetry package using the verification function corresponding to the package identifier in the target subscription information; if the verification is correct, executing the decoding function using each telemetry quantity in the target subscription information to decode the corresponding telemetry quantity from the telemetry package; if the verification is incorrect, discarding the telemetry package.

4. The method according to claim 3, characterized in that Also includes: If the verification is correct, the telemetry packet is stored in the telemetry packet data flow table; The telemetry packet data flow table is used to record the corresponding relationship between the packet identifier and the original binary data flow of the forwarded telemetry packet.

5. The method according to any one of claims 1 to 4, characterized in that: The telemetry dictionary table also records the information of the coroutine of the on-orbit control program that subscribes to the telemetry package, and the telemetry dictionary table and the telemetry data pool table also record the information of the coroutine of the on-orbit control program that defines the telemetry quantity; The method further includes: when it is determined that the target on-orbit control program no longer uses the target telemetry quantity, deleting the information of the coroutine of the target on-orbit control program recorded in the telemetry dictionary table and the telemetry data pool table for the target telemetry quantity; if after the deletion, the coroutine of the on-orbit control program using the target telemetry quantity does not exist in the telemetry dictionary table and the telemetry data pool table for the target telemetry quantity, then deleting the relevant information of the target telemetry quantity in the telemetry dictionary table and the telemetry data pool table; When it is determined that the target on-orbit control program no longer uses the target telemetry package, the information of the coroutine where the target on-orbit control program is located recorded for the package identifier of the target telemetry package in the telemetry dictionary table and the telemetry data pool table is deleted; if after the deletion, the coroutine where the on-orbit control program subscribes to the target telemetry package does not exist for the package identifier of the target telemetry package in the telemetry dictionary table, then the subscription information related to the package identifier of the target telemetry package in the telemetry dictionary table is deleted, and the related information of the telemetry quantity in the target telemetry package in the telemetry data pool table is deleted.

6. An on-orbit data processing device for a spacecraft, characterized in that: The device comprises: An updating unit is used to update a telemetry dictionary table based on a subscription request initiated by an on-orbit control program using a package identifier and a telemetry quantity defined by the on-orbit control program for a telemetry package; the subscription request is used to subscribe to a telemetry package in which a telemetry quantity required by the program itself is located, so as to request to forward the telemetry package corresponding to the package identifier in each telemetry cycle; the telemetry dictionary table is used to record subscription information of the on-orbit control program for the telemetry package and the telemetry quantity; the subscription information at least includes a package identifier, a defined telemetry quantity, and a decoding function corresponding to the telemetry quantity; An indexing unit, used to receive a telemetry packet forwarded in the current telemetry period, and use the packet identifier of the telemetry packet to index in the telemetry dictionary table to obtain target subscription information related to the packet identifier; A decoding unit, configured to decode the corresponding telemetry quantity from the telemetry packet using a decoding function of each telemetry quantity in the target subscription information, and obtain a telemetry data value of each telemetry quantity; The recording unit is used to record the telemetry data value of each telemetry quantity obtained by decoding into the telemetry data pool table, so that the on-orbit control program can obtain the telemetry data value of the telemetry quantity required to be used from the telemetry data pool table when running.

7. A spacecraft onboard computer, characterized in that: include: A mission operation device, an on-orbit control device and an on-orbit data processing device as described in right 6; The on-orbit control device is used to initiate a subscription request to the on-orbit control device using the packet identifier; The task running device is used to run the original task and receive the subscription request from the on-orbit control device, and forward the telemetry packet with the packet identifier carried by the subscription request to the on-orbit data processing device in each telemetry cycle.

8. A computer device, characterized in that: The computer device includes a memory and a processor, the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to implement the steps of any one of the methods described in claims 1-5.

9. 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 steps of the method described in any one of claims 1 to 5 are implemented.

10. A computer program product, characterized in that The method comprises a computer program, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 5.