Disclosure of Invention
The invention provides a PCM/FM code stream transmission method of a carrier rocket telemetry system, which is used for solving the defects of high packet loss rate and poor transmission reliability in the prior art.
The invention provides a PCM/FM code stream transmission method of a carrier rocket telemetry system, which is applied to a telemetry data communication system, wherein the telemetry data communication system comprises a ground detection system and a data analysis system, and the method comprises the following steps:
the ground detection system fills code stream data into a to-be-transmitted buffer area in a blocking manner, and fills the data blocks in the to-be-transmitted buffer area into a transmitted buffer area after transmitting the data blocks in the to-be-transmitted buffer area to the data analysis system; if a retransmission command sent by the data analysis system is received, sending a corresponding data block in the sent buffer zone to the data analysis system based on a packet loss sequence number in the retransmission command;
the data analysis system receives the data block sent by the ground detection system, fills the data block into a receiving buffer area, and modifies the mark of the corresponding position of the currently received data block in the mark buffer area as occupied; and after receiving the preset number of data blocks, determining a packet loss sequence number based on the marks of each position in the mark buffer area, and sending a retransmission command containing the packet loss sequence number to the ground detection system.
According to the PCM/FM code stream transmission method of the carrier rocket telemetry system, the transmitted buffer area is a two-dimensional array, the buffer area to be transmitted is a one-dimensional array containing counting digits, the size of the transmitted buffer area is determined based on the size of a single complete data packet of the PCM/FM code stream and the maximum data length transmitted by an application layer, and the size of the buffer area to be transmitted is determined based on the number of columns of the transmitted buffer area; the size of the receiving buffer is determined based on the size of the transmitted buffer, and the size of the tag buffer is determined based on the number of lines of the receiving buffer.
According to the PCM/FM code stream transmission method of the launch vehicle telemetry system provided by the invention, the ground detection system fills code stream data into a buffer to be transmitted in blocks, and fills the data blocks in the buffer to be transmitted into the transmitted buffer after transmitting the data blocks in the buffer to be transmitted to the data analysis system, specifically comprising:
the ground detection system fills counting bits of the buffer area to be transmitted based on the value of the current counter, and fills the current data block of the code stream data into the buffer area to be transmitted;
After the ground detection system sends the data blocks in the buffer area to be sent to the data analysis system, determining a line to be written in the buffer area to be sent based on the value of the counting bits in the buffer area to be sent, filling the data blocks except the counting bits in the buffer area to be sent into the line to be written in the buffer area to be sent, and adding 1 to the value of the counter.
According to the PCM/FM code stream transmission method of the launch vehicle telemetry system provided by the invention, each time a preset number of data blocks are received, a packet loss sequence number is determined based on marks of each position in the mark buffer area, and a retransmission command containing the packet loss sequence number is sent to the ground detection system, and the method specifically comprises the following steps:
after receiving a preset number of data blocks, the data analysis system determines an end bit based on a position corresponding to a value of a digit in the currently received data block in the tag buffer, and determines a start bit based on the end bit and the preset number;
determining whether packet loss exists or not based on the marks from the start bit to the end bit in the mark buffer area;
and if the packet loss exists, the data analysis system determines a packet loss sequence number based on the positions of the idle marks from the start position to the end position in the mark buffer area, and sends a retransmission command containing the packet loss sequence number to the ground detection system.
According to the PCM/FM code stream transmission method of the launch vehicle telemetry system provided by the present invention, the determining whether there is a packet loss based on the marks from the start bit to the end bit in the mark buffer area further includes:
and if no packet loss exists, integrating corresponding data blocks in the receiving buffer area based on the preset number of marks taking the ending bit as the ending position in the mark buffer area to obtain integrated code stream data, sending the integrated code stream data to a data analysis program for data analysis, and setting the preset number of marks taking the ending bit as the ending position in the mark buffer area as idle.
The invention provides a PCM/FM code stream transmission method of a carrier rocket telemetry system, which further comprises the following steps:
and determining a survival time value of an IP data packet sent by the ground detection system to the data analysis system based on the complexity degree of a data transmission network between the ground detection system and the data analysis system.
The invention provides a PCM/FM code stream transmission method of a carrier rocket telemetry system, which further comprises the following steps:
and setting a maximum transmission unit of a router in a data transmission network between the ground detection system, the data analysis system and the ground detection system based on the maximum byte number of the data frames supported by the link layer.
The invention also provides a PCM/FM code stream transmission method of the carrier rocket telemetry system, which is applied to a ground detection system and comprises the following steps:
the ground detection system fills code stream data blocks into a buffer area to be transmitted, and transmits the data blocks in the buffer area to be transmitted to the data analysis system;
filling the data blocks in the buffer area to be transmitted into the transmitted buffer area;
if a retransmission command sent by the data analysis system is received, sending a corresponding data block in the sent buffer zone to the data analysis system based on a packet loss sequence number in the retransmission command; the packet loss sequence number is determined based on marks of all positions in a mark cache area after the data analysis system receives a preset number of data blocks each time; the mark in the mark buffer area is obtained by modifying the mark at the corresponding position of the currently received data block into occupied position after the data analysis system receives the data block sent by the ground detection system and fills the data block into the receiving buffer area.
The invention also provides a PCM/FM code stream transmission method of the carrier rocket telemetry system, which is applied to a data analysis system and comprises the following steps:
Receiving a data block sent by a ground detection system and filling the data block into a receiving buffer area;
modifying the mark of the corresponding position of the currently received data block in the mark buffer area as occupied;
after receiving a preset number of data blocks, determining a packet loss sequence number based on marks of each position in the mark buffer area, and sending a retransmission command containing the packet loss sequence number to the ground detection system so that the ground detection system can send corresponding data blocks in the sent buffer area to the data analysis system based on the packet loss sequence number in the retransmission command; the data in the transmitted buffer area is obtained by filling the code stream data into the buffer area to be transmitted in blocks by the ground detection system, and filling the data blocks in the buffer area to be transmitted into the transmitted buffer area after the data blocks in the buffer area to be transmitted are transmitted to the data analysis system.
The invention provides a PCM/FM code stream transmission method of a carrier rocket telemetry system, which further comprises the following steps:
subscribing the topic messages of each topic type published by the data parsing program based on the subscription end proxy;
based on a publishing end proxy, combining the topic types subscribed by a display terminal, screening topic messages corresponding to the display terminal from topic messages of all topic types subscribed by the subscribing end proxy, and sending the topic messages corresponding to the display platform to the display terminal;
The subscription end proxy and the release end proxy are the service end, and the data analysis program and the display terminal are the client.
The invention also provides an electronic device comprising a memory, a processor and a computer program stored on the memory and operable on the processor, wherein the processor implements any of the launch vehicle telemetry PCM/FM code stream transmission methods described above when executing the program.
The invention also provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements a launch vehicle telemetry PCM/FM code stream transmission method as described in any one of the above.
The invention also provides a computer program product comprising a computer program which when executed by a processor implements a launch vehicle telemetry PCM/FM code stream transmission method as described in any one of the above.
According to the PCM/FM code stream transmission method of the carrier rocket telemetry system, code stream data are filled into a to-be-transmitted buffer area in a blocking mode through a ground detection system, after data blocks in the to-be-transmitted buffer area are transmitted to a data analysis system, the data blocks in the to-be-transmitted buffer area are filled into a transmitted buffer area, the data analysis system receives the data blocks transmitted by the ground detection system and fills the data blocks into a receiving buffer area, and marks of positions corresponding to the currently received data blocks in a marking buffer area are modified to be occupied; after receiving a preset number of data blocks, determining a packet loss sequence number based on the marks of each position in the mark buffer area, and sending a retransmission command containing the packet loss sequence number to a ground detection system, wherein the ground detection system can establish a network connection specially used for carrying out lost data retransmission by using TCP after receiving the retransmission command sent by the data analysis system, and sends corresponding data blocks in the sent buffer area to the data analysis system based on the packet loss sequence number in the retransmission command, so that the reliability of PCM/FM code stream transmission of the carrier rocket telemetry system is improved.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is apparent that the described embodiments are some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Fig. 1 is a schematic flow chart of a PCM/FM code stream transmission method of a launch vehicle telemetry system according to the present invention, the method being applied to a telemetry data communication system including a ground detection system and a data analysis system, as shown in fig. 1, the method comprising:
step 110, the ground detection system fills the code stream data into a buffer area to be transmitted in blocks, and fills the data blocks in the buffer area to be transmitted into a transmitted buffer area after transmitting the data blocks in the buffer area to be transmitted to the data analysis system; if a retransmission command sent by the data analysis system is received, sending a corresponding data block in the sent buffer zone to the data analysis system based on a packet loss sequence number in the retransmission command;
step 120, the data analysis system receives the data block sent by the ground detection system and fills the data block into a receiving buffer area, and modifies the mark of the corresponding position of the currently received data block in the mark buffer area as occupied; and after receiving the preset number of data blocks, determining a packet loss sequence number based on the marks of each position in the mark buffer area, and sending a retransmission command containing the packet loss sequence number to the ground detection system.
Specifically, the telemetry data communication system comprises a ground detection system and a data analysis system, and when the ground detection system receives the PCM/FM code stream data issued by the carrier rocket telemetry system, the PCM/FM code stream data is sent to the data analysis system by using a UDP protocol through a transmission network for data analysis. In general, the ground detection system directly transmits the PCM/FM code stream data of the whole packet to the data analysis system for 15872 bytes at a time, the data packet is relatively large, and when the network environment is relatively poor, the data is very easy to be lost, so that the data analysis system cannot receive the PCM/FM code stream data of the whole packet. In order to improve the reliability of data transmission, the ground detection system opens up two buffer areas locally, including a buffer area to be transmitted and a buffer area transmitted. After receiving code stream data sent by a carrier rocket telemetry system, the ground detection system blocks the code stream data, sequentially fills data blocks obtained by the blocking into a buffer area to be sent, and sends the data blocks in the buffer area to be sent to the data analysis system after the filling is finished. The size of the buffer area to be sent is adapted to the size of the data block obtained after the code stream data is segmented. After the data block is sent, the ground detection system transfers the data block in the buffer area to be sent to the sent buffer area. Here, the transmitted buffer may be a two-dimensional array in which one data block may be stored per line, the entire transmitted buffer may store a plurality of data blocks, and each data block stored may be distinguished by an array index (i.e., the number of lines).
Two buffers are also opened up locally in the data analysis system, including a receive buffer and a tag buffer. The data analysis system can continuously receive the data blocks sent by the ground detection system, and each time one data block sent by the ground detection system is received, the data block is filled into the receiving buffer area. The size of the receiving buffer area can be consistent with the size of the transmitted buffer area of the ground detection system, and when the data analysis system fills the data block into the receiving buffer area, the position of the data block in the receiving buffer area can be consistent with the position of the data block in the transmitted buffer area of the ground detection system. And after the data block is filled, modifying the mark of the corresponding position of the currently received data block in the mark buffer area into occupied position. The size of the tag buffer area is consistent with the number of lines of the receiving buffer area, wherein a tag (may be a BOOL type, 1 indicates occupied, and 0 indicates idle) for marking whether each line in the receiving buffer area is filled with a data block may be stored, and if the tag at the i-th position is occupied, it indicates that the i-th line in the receiving buffer area is filled with a data block. After the data block is filled into the receiving buffer area, the data analysis system can modify the mark corresponding to the line number in the mark buffer area into occupied mark according to the line number of the current filling line of the receiving buffer area.
However, when the network environment is poor, there may be a packet loss phenomenon, that is, the data block data analysis system sent by the ground detection system may not receive the packet loss phenomenon, for which, after receiving the preset number of data blocks, the data analysis system may determine the packet loss sequence number based on the marks of each position in the mark buffer area, and send a retransmission command containing the packet loss sequence number to the ground detection system. The predetermined number may be determined based on the number of columns in the receiving buffer and the size of the data packet of the single complete PCM/FM stream (i.e. 15872 bytes), and the product between the predetermined number and the number of columns in the receiving buffer is equal to the size of the data packet of the single complete PCM/FM stream. After receiving the preset number of data blocks, the marks at each position in the mark buffer area can indicate whether each row in the receiving buffer area has data blocks, and based on the marks at each position in the mark buffer area, whether the continuously received preset number of data blocks are segmented by a complete code stream data packet can be judged, so that whether the packet is lost is judged, and the packet loss sequence number under the packet loss condition is determined. If the packet loss phenomenon exists, a retransmission command containing the packet loss sequence number can be sent to a ground detection system. When the ground detection system receives a retransmission command sent by the data analysis system, the data block of the row corresponding to the sequence number is taken out from the sent data buffer area according to the packet loss sequence number in the retransmission command, the data block which is currently sent is firstly paused to be sent, the data block which is taken out from the sent data buffer area according to the packet loss sequence number is preferentially sent to the data analysis system based on special TCP connection, and then the paused data block is resumed to be sent, so that the transmission reliability of the PCM/FM code stream is improved.
According to the method provided by the embodiment of the invention, the data blocks of the code stream are filled into the buffer area to be transmitted through the ground detection system, after the data blocks in the buffer area to be transmitted are transmitted to the data analysis system, the data blocks in the buffer area to be transmitted are filled into the transmitted buffer area, the data analysis system receives the data blocks transmitted by the ground detection system and is filled into the receiving buffer area, and the mark of the corresponding position of the currently received data blocks in the marking buffer area is modified to be occupied; after receiving a preset number of data blocks, determining a packet loss sequence number based on the marks of each position in the mark buffer area, and sending a retransmission command containing the packet loss sequence number to a ground detection system, wherein the ground detection system can establish a network connection specially used for carrying out lost data retransmission by using TCP after receiving the retransmission command sent by the data analysis system, and sends corresponding data blocks in the sent buffer area to the data analysis system based on the packet loss sequence number in the retransmission command, so that the reliability of PCM/FM code stream transmission of the carrier rocket telemetry system is improved.
Based on the above embodiment, the transmitted buffer area is a two-dimensional array, the to-be-transmitted buffer area is a one-dimensional array including count bits, the size of the transmitted buffer area is determined based on the size of a data packet of a single complete PCM/FM code stream and the maximum data length transmitted by an application layer, and the size of the to-be-transmitted buffer area is determined based on the number of columns of the transmitted buffer area; the size of the receiving buffer is determined based on the size of the transmitted buffer, and the size of the tag buffer is determined based on the number of lines of the receiving buffer.
Specifically, as shown in fig. 2, a complete PCM-FM code stream is a packet composed of 15872 (248×64) bytes of data, and the size of the two-dimension packet of the transmitted buffer can be determined based on the packet size of the single complete PCM/FM code stream in combination with the maximum data length that can be transmitted by the application layer (e.g., 1472 bytes, which can be determined according to the maximum transmission unit). For setting the number of columns of the transmitted buffer area, in order to make the program more convenient to form a PCM code stream frame, reduce the difficulty of implementation and improve the development efficiency, the number of columns of the transmitted buffer area can be set to 992, so that the complete PCM/FM code stream is uniformly stored in the transmitted buffer area, and the size of a single transmitted data block is not more than the maximum data length which can be transmitted by an application layer. The number of lines of the transmitted buffer may be selected 256. The buffer area to be transmitted is a one-dimensional array containing counting bits, and the size of the buffer area to be transmitted can be determined according to the number of columns of the buffer area to be transmitted. For example, when the size of the transmitted buffer is 256×992, the size of the buffer to be transmitted may be 993 (i.e., 992 bits data+1 bits count bits). In addition, the first bit of the buffer to be transmitted may be set as a count bit. A schematic diagram of the transmitted buffer and the buffer to be transmitted is shown in fig. 3. In addition, the size of the receiving buffer area may be determined based on the size of the transmitted buffer area, and specifically, the size of the receiving buffer area may be set to be consistent with the size of the transmitted buffer area, and the size of the tag buffer area may be determined based on the number of lines of the receiving buffer area, and may be consistent with the number of lines of the receiving buffer area.
Based on any of the above embodiments, the ground detection system fills the code stream data into a to-be-transmitted buffer, and fills the data block in the to-be-transmitted buffer into a transmitted buffer after transmitting the data block in the to-be-transmitted buffer to the data analysis system, which specifically includes:
the ground detection system fills counting bits of the buffer area to be transmitted based on the value of the current counter, and fills the current data block of the code stream data into the buffer area to be transmitted;
after the ground detection system sends the data blocks in the buffer area to be sent to the data analysis system, determining a line to be written in the buffer area to be sent based on the value of the counting bits in the buffer area to be sent, filling the data blocks except the counting bits in the buffer area to be sent into the line to be written in the buffer area to be sent, and adding 1 to the value of the counter.
Specifically, the ground detection system maintains an unsigned char type variable as a counter of the number of transmissions, with an initial value of 0. The ground detection system fills the count bits of the buffer to be transmitted based on the value of the current counter, and fills the current data block (e.g., 992 bytes) of the code stream data into other areas of the buffer to be transmitted. After the data block is filled, the data block (993 bytes) in the buffer to be sent is sent to the data analysis system by using the UDP protocol. Then, the current counter value is used as the row number subscript of the transmitted buffer, the data blocks (992 bytes) except the counting bit in the buffer to be transmitted are filled into the row to be written corresponding to the row number subscript in the transmitted buffer, and the counter value is increased by 1. In addition, since the counter is an unsigned char type variable, the value range of which is 0 to 255 corresponds exactly to the line number index of the transmitted buffer, the transmitted buffer is just full of data when the value of the counter reaches 255, the counter becomes 0 after being added with 1 again, and the data starts to be written into the transmitted buffer from the position of the initial index of 0 for cyclic utilization.
Based on any one of the above embodiments, each time a predetermined number of data blocks are received, determining a packet loss sequence number based on the marks of each position in the mark buffer, and sending a retransmission command including the packet loss sequence number to the ground detection system, where the method specifically includes:
after receiving a preset number of data blocks, the data analysis system determines an end bit based on a position corresponding to a value of a digit in the currently received data block in the mark buffer, and determines a start bit based on the end bit and the preset number;
determining whether packet loss exists or not based on the marks from the start bit to the end bit in the mark buffer area;
and if the packet loss exists, the data analysis system determines a packet loss sequence number based on the positions of the idle marks from the start position to the end position in the mark buffer area, and sends a retransmission command containing the packet loss sequence number to the ground detection system.
Specifically, after each time the data analysis system receives a predetermined number (e.g., 16) of data blocks from the buffer to be transmitted and fills the buffer to be received, it can be determined whether the predetermined number of data blocks form a complete PCM/FM code stream. The method specifically can determine the end bit based on the position corresponding to the value of the counting bit in the current latest received data block in the mark buffer area, determine the start bit based on the end bit and the preset number, and determine whether the preset number of data blocks form a complete PCM/FM code stream or not and whether packet loss exists based on the marks from the start bit to the end bit in the mark buffer area. The receiving buffer area is sequentially filled when the data block is filled, and the filled line number is consistent with the count bit value in the data block, so that the corresponding range of the PCM/FM code stream data which is currently being received and is not yet assembled in the marking buffer area can be determined based on the position corresponding to the count bit value in the data block which is currently received. Here, the position of the last data block of the PCM/FM stream data, which is not yet assembled, in the tag buffer, i.e. the end bit, may be determined based on the value of the count bit in the currently most recently received data block. For example, if the value of the count bit in the current most recently received data block is M (the value range of the count bit is [0, 255 ]), and the preset number is 16, then M-M%15 can be determined as the end bit. Assuming that the value of the count bit in the current latest received data block is 31, the data block is just the last data block of the PCM/FM code stream data which is not assembled yet, and the end bit is 31. Then, based on the end bit and the preset number, the start bit, that is, 15 positions forward from the end bit, that is, the start bit, is determined, and 16 marks are provided from the start bit to the end bit.
The PCM/FM stream data consists of a predetermined number of data blocks, and only when the flag of the data block corresponding to the assembled PCM/FM stream data in the flag buffer is set to be idle, the flag of the received data block corresponding to the unassembled PCM/FM stream data in the flag buffer is set to be occupied. Therefore, if the marks from the start bit to the end bit have free marks, which indicates that the line in the receiving buffer corresponding to the position of the free mark is not filled with the data block, the data analysis system does not receive the data block, so that it can be determined that there is a packet loss situation for the PCM/FM code stream data of the currently received unfinished assembly. At this time, the positions of the idle marks may be recorded, and the positions of the idle marks may be used as packet loss sequence numbers, so as to send a retransmission command including the packet loss sequence numbers to the ground detection system. If the start bit to the end bit in the mark buffer have free marks, the positions corresponding to the free marks are recorded, and the number of the free marks is counted. If the number of the idle marks is N, a buffer area can be created, the size of the buffer area is N+1 characters, the first value of the buffer area stores the number N of the idle marks, the following N character spaces sequentially store the positions of the idle marks, the buffer area can be fully filled with data and then can be sent to a ground detection system, and after receiving the retransmitted data block to be fully filled to obtain a complete PCM/FM code stream, the data is processed according to the complete data packet.
Based on any of the foregoing embodiments, the determining whether there is a packet loss based on the tag from the start bit to the end bit in the tag buffer further includes:
and if no packet loss exists, integrating corresponding data blocks in the receiving buffer area based on the preset number of marks taking the ending bit as the ending position in the mark buffer area to obtain integrated code stream data, sending the integrated code stream data to a data analysis program for data analysis, and setting the preset number of marks taking the ending bit as the ending position in the mark buffer area as idle.
Specifically, if there is no packet loss, that is, the received preset number of data blocks form a complete PCM/FM code stream data packet, so that based on a preset number of continuous marks in the mark buffer area with the end bit as the end position, the data blocks of the corresponding rows of the continuous marks are obtained from the receiving buffer area, the obtained data blocks are integrated to obtain integrated code stream data, and the integrated code stream data is sent to the data analysis program for data analysis. Then, a preset number of consecutive marks in the mark buffer with the end bit as the end position are set to be free.
Based on any of the above embodiments, the method further comprises:
and determining a survival time value of an IP data packet sent by the ground detection system to the data analysis system based on the complexity degree of a data transmission network between the ground detection system and the data analysis system.
Specifically, the TTL (Time-To-Live) is a field of the IP packet header, and the packet TTL lifecycle ensures that a packet is not forwarded endlessly. As IP packets pass through routers, each router reduces the TTL of the packet. When the TTL of an IP packet reaches 0, the IP packet is discarded. Therefore, the number of times of forwarding the IP data packet in the network can be reduced by reducing the TTL of the IP data packet, so that the network bandwidth pressure is reduced, the packet loss probability is reduced, and the reliability of data transmission is further improved. Wherein the time-to-live value of the IP packet sent by the ground detection system to the data analysis system may be determined based on the complexity of the data transmission network between the ground detection system and the data analysis system. The lower the complexity of the data transmission network between the ground detection system and the data analysis system, the fewer routers that pass through in the data transmission path, the smaller the TTL can be set. In addition, if the data analysis system determines that packet loss exists based on the marks of each position in the mark buffer area after receiving the preset number of data blocks, the life time value of the IP data packet sent to the data analysis system by the ground detection system can be continuously reduced so as to adapt to the change of network conditions and ensure the transmission reliability of PCM/FM code stream data.
Based on any of the above embodiments, the method further comprises:
and setting a maximum transmission unit of a router in a data transmission network between the ground detection system, the data analysis system and the ground detection system based on the maximum byte number of the data frames supported by the link layer.
Specifically, if the data is relatively large in the network transmission process, the sender IP layer needs to carry out fragmentation for transmission, and the receiver IP layer needs to carry out data reorganization, because UDP is an unreliable transmission protocol, if fragmentation is lost, the reorganization is failed, and the UDP data packet is discarded. In order to avoid packet loss caused by such a situation, a ground detection system, a data analysis system, and a maximum transmission unit of a router in a data transmission network between the ground detection system and the data analysis system may be set based on the maximum number of bytes of a data frame supported by the link layer. The maximum byte number of the data frame supported by the link layer is 1500 bytes (excluding the data frame head and the data frame tail), so that the maximum transmission unit of the router in the data transmission network between the ground detection system, the data analysis system and the ground detection system and the data analysis system can be set to 1500, the maximum data length which can be transmitted by the application layer is enlarged to 1472 bytes, the fragmentation recombination is avoided to the maximum extent, and the data transmission reliability is improved.
Based on any of the above embodiments, fig. 4 is a second flow chart of a PCM/FM code stream transmission method of a launch vehicle telemetry system according to the present invention, as shown in fig. 4, the method includes:
step 410, the ground detection system fills the code stream data into the buffer area to be transmitted in blocks, and transmits the data blocks in the buffer area to be transmitted to the data analysis system;
step 420, filling the data block in the buffer area to be transmitted into the transmitted buffer area;
step 430, if a retransmission command sent by the data analysis system is received, sending a corresponding data block in the sent buffer to the data analysis system based on a packet loss sequence number in the retransmission command; the packet loss sequence number is determined based on marks of all positions in a mark cache area after the data analysis system receives a preset number of data blocks each time; the mark in the mark buffer area is obtained by modifying the mark at the corresponding position of the currently received data block into occupied position after the data analysis system receives the data block sent by the ground detection system and fills the data block into the receiving buffer area.
Based on any of the above embodiments, the buffer to be sent is a two-dimensional array, the buffer to be sent is a one-dimensional array including a count bit, the size of the buffer to be sent is determined based on the packet size of a single complete PCM/FM code stream and the maximum data length transmitted by an application layer, and the size of the buffer to be sent is determined based on the number of columns of the buffer to be sent.
Based on any of the foregoing embodiments, the ground detection system fills code stream data into a buffer to be sent in blocks, and fills the data blocks in the buffer to be sent into the sent buffer after sending the data blocks in the buffer to be sent to the data analysis system, where the method specifically includes:
the ground detection system fills counting bits of the buffer area to be transmitted based on the value of the current counter, and fills the current data block of the code stream data into the buffer area to be transmitted;
after the ground detection system sends the data blocks in the buffer area to be sent to the data analysis system, determining a line to be written in the buffer area to be sent based on the value of the counting bits in the buffer area to be sent, filling the data blocks except the counting bits in the buffer area to be sent into the line to be written in the buffer area to be sent, and adding 1 to the value of the counter.
Based on any of the above embodiments, fig. 5 is a third flow chart of a PCM/FM code stream transmission method of a launch vehicle telemetry system according to the present invention, as shown in fig. 5, the method includes:
step 510, receiving a data block sent by a ground detection system and filling the data block into a receiving buffer;
Step 520, modifying the mark of the corresponding position of the currently received data block in the mark buffer area as occupied;
step 530, determining a packet loss sequence number based on the marks of each position in the mark buffer area after receiving a preset number of data blocks, and sending a retransmission command containing the packet loss sequence number to the ground detection system, so that the ground detection system sends corresponding data blocks in the sent buffer area to the data analysis system based on the packet loss sequence number in the retransmission command; the data in the transmitted buffer area is obtained by filling the code stream data into the buffer area to be transmitted in blocks by the ground detection system, and filling the data blocks in the buffer area to be transmitted into the transmitted buffer area after the data blocks in the buffer area to be transmitted are transmitted to the data analysis system.
Based on any one of the above embodiments, each time a predetermined number of data blocks are received, determining a packet loss sequence number based on the marks of each position in the mark buffer, and sending a retransmission command including the packet loss sequence number to the ground detection system, where the method specifically includes:
after receiving a preset number of data blocks, the data analysis system determines an end bit based on a position corresponding to a value of a digit in the currently received data block in the mark buffer, and determines a start bit based on the end bit and the preset number;
Determining whether packet loss exists or not based on the marks from the start bit to the end bit in the mark buffer area;
and if the packet loss exists, the data analysis system determines a packet loss sequence number based on the positions of the idle marks from the start position to the end position in the mark buffer area, and sends a retransmission command containing the packet loss sequence number to the ground detection system.
Based on any of the foregoing embodiments, the determining whether there is a packet loss based on the tag from the start bit to the end bit in the tag buffer further includes:
and if no packet loss exists, integrating corresponding data blocks in the receiving buffer area based on the preset number of marks taking the ending bit as the ending position in the mark buffer area to obtain integrated code stream data, sending the integrated code stream data to a data analysis program for data analysis, and setting the preset number of marks taking the ending bit as the ending position in the mark buffer area as idle.
Based on any of the above embodiments, the method further comprises:
subscribing the topic messages of each topic type published by the data parsing program based on the subscription end proxy;
based on a publishing end proxy, combining the topic types subscribed by a display terminal, screening topic messages corresponding to the display terminal from topic messages of all topic types subscribed by the subscribing end proxy, and sending the topic messages corresponding to the display platform to the display terminal;
The subscription end proxy and the release end proxy are the service end, and the data analysis program and the display terminal are the client.
Specifically, in order to facilitate the dynamic addition of display terminals and the dynamic control of display information, an agent supporting publish-subscribe may be selected for implementation. The agent is divided into two ports, namely a subscription end agent and a release end agent, wherein the subscription end agent is used for subscribing the topic messages of each topic type published by the data analysis program, and the release end agent is used for publishing the messages subscribed by the subscription end agent to the display terminal. The subscription terminal proxy subscribes to all topic messages of topic types published by the data analysis program; the display terminal can subscribe topic types to the publisher proxy, the publisher proxy records topic types subscribed by each display terminal, and when the subscriber proxy subscribes to topic messages of each topic type, the publisher proxy forwards the topic messages of each topic type to the display terminal subscribed to the corresponding topic type.
It should be noted that the subscription end proxy and the publishing end proxy are the service end, and the data analysis program and the display terminal are the client end, so that the dynamic addition of the data analysis program and the display terminal can be realized.
Fig. 6 is a schematic structural diagram of an electronic device according to the present invention, and as shown in fig. 6, the electronic device may include: processor 610, memory 620, communication interface (Communications Interface) 630, and communication bus 640, wherein processor 610, memory 620, and communication interface 630 communicate with each other via communication bus 640. Processor 610 may invoke logic instructions in memory 620 to perform a launch vehicle telemetry system PCM/FM code stream transmission method that is applied to a surface detection system, the method comprising: the ground detection system fills code stream data blocks into a buffer area to be transmitted, and transmits the data blocks in the buffer area to be transmitted to the data analysis system; filling the data blocks in the buffer area to be transmitted into the transmitted buffer area; if a retransmission command sent by the data analysis system is received, sending a corresponding data block in the sent buffer zone to the data analysis system based on a packet loss sequence number in the retransmission command; the packet loss sequence number is determined based on marks of all positions in a mark cache area after the data analysis system receives a preset number of data blocks each time; the mark in the mark buffer area is obtained by modifying the mark at the corresponding position of the currently received data block into occupied position after the data analysis system receives the data block sent by the ground detection system and fills the data block into the receiving buffer area.
Processor 610 may also invoke logic instructions in memory 620 to perform a launch vehicle telemetry system PCM/FM code stream transmission method that is applied to a data analysis system, the method comprising: receiving a data block sent by a ground detection system and filling the data block into a receiving buffer area; modifying the mark of the corresponding position of the currently received data block in the mark buffer area as occupied; each time after receiving a preset number of data blocks, determining a packet loss sequence number based on the marks of each position in the mark buffer area, and sending a retransmission command containing the packet loss sequence number to the ground detection system so that the ground detection system can send corresponding data blocks in the sent buffer area to the data analysis system based on the packet loss sequence number in the retransmission command; the data in the transmitted buffer area is obtained by filling the code stream data into the buffer area to be transmitted in blocks by the ground detection system, and filling the data blocks in the buffer area to be transmitted into the transmitted buffer area after the data blocks in the buffer area to be transmitted are transmitted to the data analysis system.
Further, the logic instructions in the memory 620 described above may be implemented in the form of software functional units and may be stored in a computer readable storage medium when sold or used as a stand alone product. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
In another aspect, the present invention also provides a computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions which, when executed by a computer, enable the computer to perform the launch vehicle telemetry PCM/FM code stream transmission method provided by the methods described above, the method being applied to a ground detection system, the method comprising: the ground detection system fills code stream data blocks into a buffer area to be transmitted, and transmits the data blocks in the buffer area to be transmitted to the data analysis system; filling the data blocks in the buffer area to be transmitted into the transmitted buffer area; if a retransmission command sent by the data analysis system is received, sending a corresponding data block in the sent buffer zone to the data analysis system based on a packet loss sequence number in the retransmission command; the packet loss sequence number is determined based on marks of all positions in a mark cache area after the data analysis system receives a preset number of data blocks each time; the mark in the mark buffer area is obtained by modifying the mark at the corresponding position of the currently received data block into occupied position after the data analysis system receives the data block sent by the ground detection system and fills the data block into the receiving buffer area.
The computer can also execute the PCM/FM code stream transmission method of the carrier rocket telemetry system provided by the methods, the method is applied to a data analysis system, and the method comprises the following steps: receiving a data block sent by a ground detection system and filling the data block into a receiving buffer area; modifying the mark of the corresponding position of the currently received data block in the mark buffer area as occupied; each time after receiving a preset number of data blocks, determining a packet loss sequence number based on the marks of each position in the mark buffer area, and sending a retransmission command containing the packet loss sequence number to the ground detection system so that the ground detection system can send corresponding data blocks in the sent buffer area to the data analysis system based on the packet loss sequence number in the retransmission command; the data in the transmitted buffer area is obtained by filling the code stream data into the buffer area to be transmitted in blocks by the ground detection system, and filling the data blocks in the buffer area to be transmitted into the transmitted buffer area after the data blocks in the buffer area to be transmitted are transmitted to the data analysis system.
In yet another aspect, the present invention also provides a non-transitory computer readable storage medium having stored thereon a computer program which when executed by a processor is implemented to perform the launch vehicle telemetry PCM/FM code stream transmission method provided above, the method being applied to a ground detection system, the method comprising: the ground detection system fills code stream data blocks into a buffer area to be transmitted, and transmits the data blocks in the buffer area to be transmitted to the data analysis system; filling the data blocks in the buffer area to be transmitted into the transmitted buffer area; if a retransmission command sent by the data analysis system is received, sending a corresponding data block in the sent buffer zone to the data analysis system based on a packet loss sequence number in the retransmission command; the packet loss sequence number is determined based on marks of all positions in a mark cache area after the data analysis system receives a preset number of data blocks each time; the mark in the mark buffer area is obtained by modifying the mark at the corresponding position of the currently received data block into occupied position after the data analysis system receives the data block sent by the ground detection system and fills the data block into the receiving buffer area.
The computer program when executed by the processor is further implemented to perform the above-mentioned each provided launch vehicle telemetry system PCM/FM code stream transmission method, the method being applied to a data analysis system, the method comprising: receiving a data block sent by a ground detection system and filling the data block into a receiving buffer area; modifying the mark of the corresponding position of the currently received data block in the mark buffer area as occupied; each time after receiving a preset number of data blocks, determining a packet loss sequence number based on the marks of each position in the mark buffer area, and sending a retransmission command containing the packet loss sequence number to the ground detection system so that the ground detection system can send corresponding data blocks in the sent buffer area to the data analysis system based on the packet loss sequence number in the retransmission command; the data in the transmitted buffer area is obtained by filling the code stream data into the buffer area to be transmitted in blocks by the ground detection system, and filling the data blocks in the buffer area to be transmitted into the transmitted buffer area after the data blocks in the buffer area to be transmitted are transmitted to the data analysis system.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.