Data sending method and device, data receiving method and device, electronic equipment and storage medium

By converting satellite observation data into a set format and compressing and sending it, the problem of excessive use of observation data transmission resources in satellite positioning systems is solved, and more efficient data transmission and recovery is achieved.

CN119276341APending Publication Date: 2025-01-07SHANGHAI HUACE NAVIGATION TECH
View PDF 0 Cites 1 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

During the positioning process based on satellite positioning systems, the full amount of observation data issuance leads to excessive use of transmission resources and excessive traffic consumption, resulting in bandwidth and performance challenges.

Method used

Convert the observation data of multiple satellites into target data in the set format. The corresponding data length and position of each satellite in the set format are fixed, and then compressed and sent. The receiving end recognizes the target data of each satellite through the set format. Observe data to reduce resource usage and transmission resource consumption.

Benefits of technology

It reduces the usage of transmission resources and traffic consumption, improves data transmission efficiency, and facilitates data recovery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119276341A_ABST
    Figure CN119276341A_ABST
Patent Text Reader

Abstract

The invention provides a data sending method and device, a data receiving method and device, electronic equipment and a storage medium, and relates to the technical field of satellites. The observation data of multiple satellites are converted into the target data in the set format, and the data length and position corresponding to each satellite in the set format are fixed, so that a receiving end can identify the observation data of each satellite through the target data in the set format, and the observation data of each satellite does not need to occupy extra resources for marking; and moreover, the target data is compressed and then sent, so that the occupation of transmission resources can be further reduced, and the flow consumption is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of satellite technology, and in particular to a data sending method, receiving method, device, electronic device and storage medium. Background Art

[0002] The positioning process based on the satellite positioning system involves the sending of observation data. Currently, the full amount of observation data is sent, but the volume of observation data is generally large, which occupies more transmission resources and consumes too much traffic. This poses a great challenge to the bandwidth and performance of ground network transmission and satellite broadcast transmission. Summary of the invention

[0003] The purpose of the embodiments of the present application is to provide a data sending method, receiving method, device, electronic device and storage medium, so as to improve the problem that sending the full amount of observation data in the existing method will cause excessive transmission resource occupation and excessive traffic consumption.

[0004] In a first aspect, an embodiment of the present application provides a data sending method, the method comprising:

[0005] Obtain observation data from multiple satellites;

[0006] Converting the observation data of the plurality of satellites into target data in a set format, wherein the data length and position corresponding to each satellite in the set format are fixed;

[0007] The target data is compressed and then sent.

[0008] In the above implementation process, since the observation data of multiple satellites are converted into target data of a set format, the data length and position corresponding to each satellite in the set format are fixed, so the receiving end can identify the observation data of each satellite through the target data of the set format, so that the observation data of each satellite does not need to occupy additional resources for marking, thereby reducing resource occupation, and the target data is compressed and sent, which can further reduce the occupation of transmission resources and reduce traffic consumption.

[0009] Optionally, converting the observation data of the plurality of satellites into target data in a set format includes:

[0010] Acquire initial target data in a set format, wherein the data at the position corresponding to each satellite in the initial target data is empty;

[0011] The observation data of each satellite is mapped to a corresponding position in the initial target data, and the data length of the observation data of each satellite is converted to the data length of the corresponding position in the initial target data to obtain target data in a set format.

[0012] In the above implementation process, the observation data of each satellite is mapped to the corresponding position of the initial target data, and the data length at the corresponding position in the initial target data is maintained, so that the conversion of data in a set format can be quickly achieved.

[0013] Optionally, converting the data length of the observation data of each satellite into the data length at a corresponding position in the initial target data includes:

[0014] If the data length at the corresponding position is greater than the data length of the observation data of the satellite, the observation data of the satellite is padded at the corresponding position to reach the data length at the corresponding position, so that the receiving end can easily recover the observation data of each satellite.

[0015] Optionally, if the data length at the corresponding position is greater than the data length of the observation data of the satellite, padding the observation data of the satellite at the corresponding position to reach the data length at the corresponding position includes:

[0016] If the data length at the corresponding position is greater than the data length of the observation data of the satellite, the tail of the observation data of the satellite at the corresponding position is padded with zeros to reach the data length at the corresponding position.

[0017] In the above implementation process, because the compression algorithm recognizes and summarizes repetitive patterns, a large section of zeros is obviously the easiest repetitive pattern to recognize, and the amount of information is extremely low, so the method of filling with zeros will not have much impact on the compression rate of the compression algorithm, and can save transmission resources.

[0018] Optionally, the target data in the set format further includes a data header, the data header includes a navigation system identifier, at least two navigation system identifiers correspond to different set formats, and the data lengths and / or positions corresponding to the respective satellites in the different set formats are different;

[0019] The navigation system identifier is used to instruct the receiving end to select and use the corresponding set format to perform data conversion after data decompression according to the navigation system identifier.

[0020] In the above implementation process, different setting formats can be set for different navigation systems, which can adapt to the relevant requirements of different navigation systems and has higher flexibility.

[0021] Optionally, the target data in the set format also includes a check code, and the check code is used to instruct the receiving end to perform data check, thereby ensuring reliable transmission of data.

[0022] Optionally, the compressing the target data and then sending it comprises:

[0023] Determine a key frame, wherein the key frame refers to the historical target data sent previously;

[0024] Calculating differential data between the target data and the key frame;

[0025] The differential data is transmitted.

[0026] In the above implementation process, since the differential data is the difference data between the target data and the key frame, transmitting only the differential data can greatly reduce the amount of data transmission and further save transmission resources.

[0027] Optionally, the key frame refers to historical target data corresponding to observation data obtained for the first time, or the key frame refers to historical target data sent last time.

[0028] Optionally, determining the key frame includes:

[0029] The key frame is determined according to the change in the number of satellites observed within the set time. Therefore, the key frame can be dynamically determined according to the change in the number of satellites, and the dynamic selection of the key frame can be realized, which can adapt to the rapid changes in satellite observation data, thereby reducing the large amount of differential data caused by the rapid change in the number of satellites.

[0030] Optionally, determining a key frame according to a change in the number of satellites observed within a set time includes:

[0031] If the change in the number of satellites is that the number of changes in the number of satellites is greater than the set number of times, the i-th last historical target data sent before the current is selected as the key frame; if the change in the number of satellites is that the number of changes in the number of satellites is less than the set number of times, the j-th last historical target data sent before the current is selected as the key frame, where i and j are integers greater than or equal to 1, and i is less than j.

[0032] In the above implementation process, the key frames are dynamically determined according to the number of changes in the number of satellites, which can adapt to the rapid changes in satellite observation data, thereby reducing the large amount of differential data caused by the rapid changes in the number of satellites.

[0033] Optionally, the target data in the set format also includes identification information of key frames, and the identification information is used to instruct the receiving end to determine the key frames when decompressing the data to restore the corresponding target data. This makes it easier for the receiving end to know the changes of the key frames in time and then accurately restore the target data.

[0034] In a second aspect, an embodiment of the present application provides a data receiving method, the method comprising:

[0035] Receive compressed data;

[0036] Decompressing the compressed data to obtain target data in a set format, wherein the data length and position corresponding to each satellite in the set format are fixed;

[0037] The target data is converted into observation data of multiple satellites.

[0038] In a third aspect, an embodiment of the present application provides a data sending device, the device comprising:

[0039] A data acquisition module, used to acquire observation data of multiple satellites;

[0040] A data conversion module, used for converting the observation data of the plurality of satellites into target data in a set format, wherein the data length and position corresponding to each satellite in the set format are fixed;

[0041] The data sending module is used for compressing the target data and then sending it.

[0042] In a fourth aspect, an embodiment of the present application provides a data receiving device, the device comprising:

[0043] A data receiving module, used for receiving compressed data;

[0044] A data decompression module, used for decompressing the compressed data to obtain target data in a set format, wherein the data length and position corresponding to each satellite in the set format are fixed;

[0045] The data recovery module is used to convert the target data into observation data of multiple satellites.

[0046] In a fifth aspect, an embodiment of the present application provides an electronic device, comprising a processor and a memory, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the steps in the method provided in the first aspect or the second aspect are executed.

[0047] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method provided in the first aspect or the second aspect are performed.

[0048] In a seventh aspect, an embodiment of the present application provides a computer program product, comprising computer program instructions, which, when read and executed by a processor, execute the steps of the method provided in the first aspect or the second aspect above.

[0049] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the embodiments of the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments of the present application will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0051] Figure 1 A flowchart of a data sending method provided in an embodiment of the present application;

[0052] Figure 2 A schematic diagram of observation data provided in an embodiment of the present application;

[0053] Figure 3 A schematic diagram of a setting format provided in an embodiment of the present application;

[0054] Figure 4 A schematic diagram of another setting format provided in an embodiment of the present application;

[0055] Figure 5 A schematic diagram of data conversion provided in an embodiment of the present application;

[0056] Figure 6 A schematic diagram of target data in a set format provided in an embodiment of the present application;

[0057] Figure 7 A schematic diagram of differential data calculation provided in an embodiment of the present application;

[0058] Figure 8 A flowchart of a data receiving method provided in an embodiment of the present application;

[0059] Fig. 9 A structural block diagram of a data sending device provided in an embodiment of the present application;

[0060] Fig.10 A structural block diagram of a data receiving device provided in an embodiment of the present application;

[0061] Fig.11 A schematic diagram of the structure of an electronic device for executing a data sending method or a data receiving method provided in an embodiment of the present application. DETAILED DESCRIPTION

[0062] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the accompanying drawings in the embodiments of the present application.

[0063] It should be noted that the terms "system" and "network" in the embodiments of the present invention can be used interchangeably. "Multiple" means two or more. In view of this, in the embodiments of the present invention, "multiple" can also be understood as "at least two". "And / or" describes the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / ", unless otherwise specified, generally indicates that the previously associated objects are in an "or" relationship.

[0064] The embodiment of the present application provides a data transmission method, which converts the observation data of multiple satellites into target data of a set format. The data length and position corresponding to each satellite in the set format are fixed, so the receiving end can identify the observation data of each satellite through the target data of the set format, so that the observation data of each satellite does not need to occupy additional resources for marking, which reduces resource occupation, and the target data is compressed and sent, which can further reduce the occupation of transmission resources and reduce traffic consumption. And when the receiving end decompresses the data, it is also convenient to quickly recover multiple observation data of the same satellite through the set format.

[0065] Please refer to Figure 1 , Figure 1 A flowchart of a data sending method provided in an embodiment of the present application, the method comprising the following steps:

[0066] Step S110: Acquire observation data of multiple satellites.

[0067] The observation data may refer to GNSS (Global Navigation Satellite System) data of multiple epochs, including original observation data and correction data.

[0068] The executor of the data sending method of this scheme may be a server, which may receive observation data of each satellite from a ground station. After converting the observation data into target data, the server compresses the target data and sends it to the receiving end.

[0069] The receiving end can be a user end, such as a smart phone, tablet computer, portable computer, desktop computer, wearable device, virtual reality device, smart home, etc., or other receiving devices, such as vehicle-mounted equipment, unmanned aerial vehicle, etc.

[0070] The multiple satellites may refer to multiple satellites in a satellite navigation system, and the satellite navigation system may be GPS (Global Positioning System), BDS (BeiDou Navigation Satellite System), GLONASS (Global Navigation Satellite System), GALILEO (Galileo Satellite Navigation System), etc. The observation data of the multiple satellites may be obtained through a monitoring station, and the monitoring station may be a reference station in the navigation system. The monitoring station may send the observation data to a server, so that the server may obtain the observation data of the multiple satellites.

[0071] The observation data here can be the data obtained from one observation, which can also be called a frame of data. The original observation data in the observation data is the original measurement data obtained from the satellite or other measurement equipment without any processing or correction. In the field of satellite navigation and positioning, the original observation data usually includes but is not limited to: pseudo-range observation values, carrier phase observation values, Doppler frequency shift, signal strength, timestamp, satellite configuration information, etc. Correction data refers to a series of correction values ​​made to the original observation data in order to improve positioning accuracy, usually including but not limited to: satellite orbit correction data, satellite clock correction data, multipath correction data, etc.

[0072] Step S120: converting the observation data of multiple satellites into target data in a set format.

[0073] Understandably, the observation data obtained by the server from the monitoring sites are generally arranged in a dynamic length and dynamic position, such as Figure 2 As shown, the observation data obtained includes observation data of N satellites, but the data length of the observation data of each satellite is inconsistent, and the data length of the observation data of the same satellite obtained by the server each time may not be fixed, but may change dynamically. The arrangement of the observation data of these multiple satellites is also random. For example, the observation data of satellite 1 is in front of the observation data of satellite 3, but in the next observation data obtained by the server, the observation data of satellite 1 may be behind the observation data of satellite 3, so the position of the observation data of each satellite also changes dynamically.

[0074] If data is subsequently transmitted using differential compression in order to reduce the amount of data transmission, this dynamic arrangement cannot meet the conditions for calculating differences when the observed satellites change, because there is no way to know whether the data at the same position in two frames of data (the observation data obtained from one observation is counted as one frame of data) represents the same meaning.

[0075] Therefore, in order to improve the above problems, the present solution converts the observation data of multiple satellites into target data of a set format, and the data length and position corresponding to each satellite in the set format are fixed.

[0076] In this solution, the setting format can be called DCTP (Differential data Compact Transmission Protocol) format. Figure 3 As shown, in this setting format, the data length and position of multiple satellites in the satellite navigation system can be fixed, for example, the position of satellite 1 is in the first position, the data length is m1, and this position is used to place the observation data of satellite 1, the position of satellite 2 is in the second position, the data length is m2, and this position is used to place the observation data of satellite 2, until the last position is used to place the observation data of satellite N. The arrangement order of the positions of the satellites here is only an example. In actual applications, the positions of the satellites can also be arranged in other arrangement orders, such as satellite N in the first position and satellite 1 in the last position.

[0077] Satellite i (i ranges from 1 to N) represents the identification of the satellite in the satellite navigation system. In the set format, the data length of each satellite can be the same or different. For example, the above-mentioned m1 and m2 can be the same or different, depending on the settings in the actual application.

[0078] When converting the observation data of multiple satellites into target data of a set format, the observation data of multiple satellites can be arranged according to the position and data length of each satellite in the set format. For example, in the observation data, the observation data of satellite 1 is placed in the first position, the observation data of satellite 3 is placed in the third position, and the observation data of satellite 4 is placed in the fourth position, and the data length in the set format is maintained, so that data conversion can be achieved.

[0079] In this way, the observation data of multiple satellites are arranged in a set format in the converted target data, so that when it is subsequently compressed and sent to the receiving end, no additional resources are required to index the observation data of each satellite, thereby saving transmission resources.

[0080] The receiving end may be pre-configured with a set format, which indicates the data length and position corresponding to each satellite in the satellite navigation system, so that the receiving end can quickly recover multiple observation data of the same satellite after decompressing the data.

[0081] Step S130: compress the target data and then send it.

[0082] Compression here can be performed by selecting some compression methods, such as zlib compression method, Huffman coding method, Bzip2 compression method, etc.

[0083] The server may send the compressed data obtained after compressing the target data to the receiving end. Since the data volume can be further reduced after the target data is compressed, the transmission resources can be further reduced.

[0084] Exemplarily, in this solution, after obtaining the observation data of one observation, the server may convert and compress the data and send it to the receiving end. Alternatively, after obtaining the observation data of multiple observations, the server may convert the observation data of each observation into target data of a corresponding set format, and then compress the target data into a file and send it to the receiving end.

[0085] In the above implementation process, since the observation data of multiple satellites are converted into target data of a set format, the data length and position corresponding to each satellite in the set format are fixed, so the receiving end can identify the observation data of each satellite through the target data of the set format, so that the observation data of each satellite does not need to occupy additional resources for marking, thereby reducing resource occupation, and the target data is compressed and sent, which can further reduce the occupation of transmission resources and reduce traffic consumption.

[0086] In some embodiments, in the implementation method of converting the observation data of multiple satellites into target data of a set format, initial target data of the set format can be first obtained, the data at the position corresponding to each satellite in the initial target data is empty, and then the observation data of each satellite is mapped to the corresponding position in the initial target data, and the data length of the observation data of each satellite is converted into the data length at the corresponding position in the initial target data to obtain the target data of the set format.

[0087] like Figure 4 As shown, the initial target data indicates the position and data length of each satellite. At this time, there is no observation data in the initial target data, and the data length of each satellite corresponds to m1-mN respectively.

[0088] When performing data conversion, the observation data of each satellite can be mapped to the corresponding position of the initial target data. For example, the observation data of satellite 1 in the observation data is mapped to the position of satellite 1 in the initial target data, and the observation data of satellite 3 in the observation data is mapped to the position of satellite 3 in the initial target data. The observation data of the remaining satellites are also mapped in a similar manner. If there is no observation data of satellite 2 in the observation data, the observation data corresponding to satellite 2 in the initial target data is left empty, or it can be filled with 0. Since the filling method of 0 will not have much impact on the compression algorithm and compression rate, even if it is filled with 0, it will not affect the occupancy of transmission resources too much.

[0089] As for the data length, when constructing the initial target data of the set format, the data length of each satellite will be considered, and the data length can be set larger to accommodate the observation data. For example, the maximum length of the observation data of each satellite is considered in advance, and then the maximum length is used as the data length at the position of the satellite in the initial target data. For example, the data length at the position of satellite 1 in the initial target data is m1, and m1 can be greater than or equal to the maximum length in the historical observation data of satellite 1. If the data length of the observation data of satellite 1 this time is n1, which is less than m1, then after the observation data of satellite 1 is mapped to the position of satellite 1 in the initial target data, its data length is still remaining, and the remaining part can be empty or filled with 0, so that overall, in the initial target data, the data length of the observation data of satellite 1 is still m1. It can be understood that the conversion of the data length of the observation data of other satellites is also processed in a similar manner, and it will not be repeated here.

[0090] In some implementations, after the server converts the observation data of multiple satellites obtained this time into target data, in order to save storage resources, the server may delete the observation data of multiple satellites obtained and only retain the target data.

[0091] In some implementations, the initial target data in a set format may be constructed in real time or in advance, and specific implementation methods include:

[0092] (1) Real-time build:

[0093] It can be constructed each time data conversion is performed. For example, in one observation, the server will obtain observation data from multiple satellites. At this time, the server constructs initial target data in a set format and then performs data conversion. If there are M observations, the server will obtain observation data from multiple satellites in M ​​observations (the satellites observed each time may be different), then the server will construct initial target data in the set format M times.

[0094] (2) Pre-built:

[0095] The server may construct initial target data in a set format at the beginning. Since the initial target data in the set format indicates the corresponding positions and data lengths of all satellites in the satellite navigation system, the server may copy initial target data in a set format each time it obtains observation data from multiple satellites, and then map the observation data from multiple satellites to the copied initial target data. This eliminates the need to construct initial target data each time data is converted, thereby reducing the load on the server.

[0096] In the above implementation process, the observation data of each satellite is mapped to the corresponding position of the initial target data, and the data length at the corresponding position in the initial target data is maintained, so that the conversion of data in a set format can be quickly achieved.

[0097] Based on the above embodiment, when mapping the observation data to the initial target data, if the data length at the corresponding position is greater than the data length of the observation data of the satellite, the observation data of the satellite can be padded at the corresponding position to reach the data length at that position.

[0098] For example, the data length at the position of satellite 1 in the initial target data is m1. If the data length of the observation data of satellite 1 this time is n1, which is less than m1, then after the observation data of satellite 1 is mapped to the position of satellite 1 in the initial target data, there is still some data length left. At this time, data padding can be performed for the remaining data length so that the observation data of satellite 1 at this position reaches m1.

[0099] In some implementations, the tail of the satellite observation data may be padded with zeros at the corresponding position, and zeros may also be padded at the position where there is no satellite observation data, so as to reach the data length at the corresponding position. The specific conversion is as follows: Figure 5 shown.

[0100] Alternatively, other data may be filled in, such as the value of the last bit of the observed data. If the value of the last bit of the observed data is 1, the remaining length may be filled with 1, or the last few bits of the observed data may be filled in. For example, if there are 4 bits left in the remaining length, the last 4 bits of the observed data may be taken and filled into the remaining length.

[0101] The main purpose of designing the set format in this scheme is to fix the absolute position of the satellite in the observation data. The difference between the target data in the set format and the observation data is that the data length of each satellite is fixed, and the absolute position of each satellite navigation system and each satellite in each system is fixed. If the observation data of all satellites can be obtained, the observed data is filled in the initial target data of the set format. If it cannot be observed, it is filled with zero. Even if it is filled with zero, it will not have much impact on the compression algorithm and compression rate, because the compression algorithm is to identify and summarize repetitive patterns. A large section of zero is obviously the easiest repetitive pattern to identify, and the amount of information is very low. And if differential compression is used in the subsequent implementation, the zero filling method can also facilitate the calculation of differential data.

[0102] Of course, in actual situations, the specific data to be filled in can be flexibly set according to actual needs.

[0103] In some implementations, the target data in the set format also includes a data header, such as Figure 6 As shown, the data header includes a navigation system identifier, and at least two navigation system identifiers correspond to different setting formats. The data length and / or position corresponding to each satellite in different setting formats are different. The navigation system identifier is used to instruct the receiving end to select and use the corresponding setting format to perform data conversion after data decompression according to the navigation system identifier.

[0104] It is understandable that a dedicated setting format can be designed for each satellite navigation system, and the setting formats corresponding to different satellite navigation systems may be different. For example, the navigation system identifier corresponding to the global positioning system is a1, and its corresponding setting format is b1. In the setting format b1, its various satellites are arranged in the order of satellite numbers, and the data lengths corresponding to each satellite are the same. The navigation system identifier corresponding to the Beidou satellite navigation system is a2, and its corresponding setting format is b2. In the setting format b2, its various satellites are arranged in the order of satellite numbers, but the data lengths corresponding to each satellite are different. The setting formats of other satellite navigation systems are similar. Of course, the setting formats of some navigation systems can also be the same. For the sake of brevity, I will not go into details here.

[0105] Before the server performs data conversion, it can first identify the satellite navigation system to which the observation data of multiple satellites currently received belong, and then determine the corresponding navigation system identifier. When performing data conversion, the navigation system identifier is added to the data header of the target data. In this way, after the receiving end decompresses the data, it can determine the setting format corresponding to the navigation system identifier based on the navigation system identifier in the target data, and then select the setting format to restore the target data to observation data.

[0106] It can be understood that the setting formats corresponding to each navigation system identifier are pre-stored in the server and the receiving end, so that the server can identify the setting formats corresponding to different navigation system identifiers and perform data conversion, and the receiving end can determine the setting format corresponding to the currently received data, thereby restoring the data.

[0107] In the above implementation process, different setting formats can be set for different navigation systems, which can adapt to the relevant requirements of different navigation systems and has higher flexibility.

[0108] On the basis of the above embodiment, in order to ensure the security of data transmission, the target data in the set format may also include a check code, such as Figure 6 As shown in , the check code is used to instruct the receiving end to perform data check.

[0109] The check code can be CRC (Cyclic Redundancy Check), which can detect whether an error has occurred in the data transmission process. For example, after the server converts the observation data into the target data, it calculates the CRC value corresponding to the observation data and adds the CRC value to the check code position of the target data. After receiving the compressed target data, the receiving end first decompresses the target data and then restores the target data to the observation data according to the set format. The receiving end calculates a CRC value based on the current observation data and compares the CRC value with the CRC value in the check code in the target data. If they are inconsistent, it is considered that there is an error in the data transmission. At this time, the receiving end can return the corresponding prompt information to the server to prompt the server to retransmit, or the receiving end discards the currently received data. If they are consistent, it is considered that there is no error in the data transmission.

[0110] In some other implementations, the check code can also be a hash value, such as an MD5 value. In this method, the server can calculate the MD5 value based on the observed data and add it to the target data. The receiving end can calculate the MD5 value of the converted observed data and compare it with the MD5 value in the target data. If they are inconsistent, it is considered that the data transmission is incorrect, and a prompt message can be returned to the server or the currently received data can be discarded. If they are consistent, it is considered that there is no error in the data transmission.

[0111] In other implementations, there may be other types of check codes, such as hash values, cyclic checksums, longitudinal redundancy checks, etc. The way in which the receiving end uses these check codes to check data is similar to the above implementation. For the sake of brevity, they are not introduced in detail here.

[0112] In the above implementation process, data verification is performed through the verification code, which can reduce the possibility of data transmission errors, thereby improving the overall data transmission reliability.

[0113] In some other implementations, in actual applications, it is also possible to consider fixing the absolute position of each frequency point and each data type on each satellite. That is, when designing the initial target data of a set format, the position of each frequency point and each data type on each satellite can also be fixed. In this way, when converting the observed data into target data, each frequency point and each data type of the observation data of each satellite can be mapped to the corresponding position in the initial target data.

[0114] On the basis of the above embodiment, since the difference between the observation data of adjacent epochs is very small, in order to minimize the consumption of transmission resources when the target data is compressed and then sent, differential compression can be adopted in this scheme. The specific implementation process includes: determining the key frame, which refers to the historical target data sent before, calculating the differential data between the target data and the key frame, and then sending the differential data.

[0115] In this scheme, the observation data of each satellite is converted into target data after format conversion. When performing differential data calculation, since the observation data of the same satellite is located at the same position in the target data, the data difference of the same satellite can be directly identified and calculated through the position information, avoiding unnecessary comparison between different satellite data, ensuring the accuracy of data processing, and thus improving the efficiency of the receiving end in processing observation data.

[0116] In some implementations, the differential data between the target data and the key frame can be calculated by using an XOR method. Specifically, the target data and the binary data of the key frame are subjected to a bitwise XOR operation, and the result is regarded as the differential data. The implementation process is as follows: Figure 7 As shown. At the receiving end, by performing the same XOR operation on the received differential data and the key frame, the original target data can be accurately restored. This method not only reduces the consumption of transmission resources, but also simplifies the data recovery process.

[0117] Among them, there are several ways to determine the key frame:

[0118] (1) A key frame refers to the historical target data corresponding to the first observed data obtained.

[0119] In order to simplify the compression process and reduce the transmission burden, the key frame can refer to the historical target data corresponding to the first observed data. The key frame is used as the reference frame for the subsequent differential data calculation. The server can use a common compression algorithm to compress and send it to the receiving end. After that, when the server obtains the subsequent target data, it calculates the difference data between it and the key frame, that is, the differential data, and transmits the differential data to the receiving end. In this way, as time goes by, the server only needs to send the differential data with the key frame during the data transmission process, thereby reducing the amount of data transmission and effectively saving transmission resources.

[0120] In a series of continuous observation tasks, the target data obtained and converted in the first observation is used as the key frame, which is transmitted to the receiving end after compression. For the subsequent observation data, the target data obtained after conversion can be used as the target frame. By calculating the differential data between the target frame and the key frame, efficient encoding of data changes is achieved. Intra-frame compression is performed on the differential data corresponding to each target frame to further reduce the amount of data, and these compressed differential data are transmitted to the receiving end. This strategy not only improves the efficiency of data transmission, but also ensures the continuity and traceability of data, providing a reliable data recovery mechanism for the receiving end.

[0121] (2) A key frame refers to the historical target data sent last time.

[0122] In a dynamic satellite observation environment, the observation data is constantly changing due to the continuous movement of the satellite. However, in a short time interval, the position of the satellite changes relatively little, so the difference in observation data between adjacent epochs may not be large. In order to effectively reduce the amount of transmitted data and optimize transmission efficiency, key frames can be dynamically selected.

[0123] Specifically, a key frame may refer to the target data obtained in the previous epoch. Whenever the server obtains the target data corresponding to the new observation data, it calculates the differential data between it and the target data of the previous epoch, and transmits these differential data to the receiving end. In this way, the most recent target data can be continuously used as a key frame, thereby reducing the differences caused by time accumulation and optimizing the efficiency and accuracy of data transmission.

[0124] When the receiving end recovers the target data, it can perform an XOR operation on the differential data and the key frame. Since the key frame receiving end is the recovered target data, the receiving end can directly obtain it, thereby restoring the original target data.

[0125] (3) The key frame is determined based on the change in the number of satellites observed within a set time.

[0126] In a dynamic satellite observation environment, the observation data is constantly changing due to the continuous movement of satellites. The change of satellites can be reflected by the change of the number of satellites. If the number of satellites changes quickly, it may mean that the environment changes quickly and the difference between the observation data will be greater. In this case, in order to effectively control the amount of differential data in the data compression process, the key frame can be determined according to the change of the number of satellites.

[0127] In a specific implementation, if the change in the number of satellites is greater than the set number of changes, the i-th historical target data sent before the current one is selected as the key frame; if the change in the number of satellites is less than the set number of changes, the j-th historical target data sent before the current one is selected as the key frame, where i and j are integers greater than or equal to 1, and i is less than j.

[0128] In some implementations, the number of changes in the number of satellites may be counted by the server based on a benchmark number of satellites, and the specific number of changes may be flexibly set according to actual needs.

[0129] Take the setting of the number of times as 4 as an example. After the server obtains the observation data of multiple satellites for the first time, it records the number of satellites of the multiple satellites as K. At this time, the target data corresponding to the observation data obtained for the first time is used as the key frame. After that, after the server obtains the observation data, it compares its number of satellites with K. If they are different, the number of changes is increased by 1. If the server receives the observation data for the sixth time, the number of satellites is compared with K and is different. At this time, the number of changes is increased by 1 to 5, which is greater than the set number. At this time, the key frame can be changed, such as selecting the first historical target data before the current one as the key frame (of course, the specific selection of which historical target data as the key frame can be flexibly set). At this time, the target data closer to the current one is selected as the key frame, which can reduce the difference between the data. When the server sends the sixth target data, it will calculate the difference data between the sixth target data and the first historical target data before (for the first calculation as the first, the first here is the fifth), and then send the difference data.

[0130] If the server receives the observation data for the sixth time, and the number of satellites is different from K, the number of changes is 3 plus 1, and the number of changes is less than 4, then the server may not change the key frame, or select the second historical target data before the current one as the key frame (of course, the specific number of historical target data to be selected as the key frame can be flexibly set). At this time, the target data farther away from the current one is selected as the key frame, because in this case the difference in the observation data may not be large, so selecting the farther target data as the key frame does not have a great impact on the number of differential data. When the server sends the sixth target data, it will calculate the differential data between the sixth target data and the second historical target data before (for the first calculation as the first, the second here is the fourth), and then send the differential data.

[0131] It can be understood that after each key frame change, the recorded number of satellites can be updated, and then the newly updated number of satellites is used as a new benchmark number of satellites, and the subsequent statistical changes in the number of satellites are all counted based on this benchmark.

[0132] In addition, if the number of satellites changes equals the set number of times, the key frame can remain unchanged and not be updated.

[0133] This method can dynamically set key frames according to the number of changes, and can adapt to the rapid changes in satellite observation data, thereby reducing the large amount of differential data caused by the rapid changes in the number of satellites.

[0134] In some embodiments, if subsequent differential data needs to be compressed before being sent, different compression rates can also be selected for compression. For example, a higher compression rate is used in a low-speed change or static scenario (i.e., a scenario in which the number of satellite changes is less than a set number of times), and a lower compression rate is used in a high-speed motion scenario (i.e., a scenario in which the number of satellites changes is greater than a set number of times). Here, the compression rate is the ratio of the compressed data size to the original size.

[0135] In some other implementations, the change in the number of satellites can also be reflected by the proportion of the number of changes in the number of satellites. In this way, the key frame can be determined based on the proportion of the number of changes. The method for determining the key frame is similar to the implementation method in the above method (3). To avoid repeated description, no further details are given here.

[0136] It is understandable that there may be other ways to select key frames. For example, after obtaining the target data of the current epoch, the target data of the kth last epoch sent before the current epoch may be used as the key frame, and k may be set according to requirements.

[0137] Alternatively, after calculating differential data using previously determined key frames, if the data represented by the differential data differ greatly, the key frames are re-determined. The re-determined key frames may be different from the previously determined key frames, and the method for re-determining the key frames may be implemented in the above-mentioned manner.

[0138] Alternatively, the key frame may be updated periodically, for example, after a period of time or after a plurality of epochs, the target data of the previous epoch or the current epoch may be used as a new key frame.

[0139] Based on the above embodiment, in order to facilitate the receiving end to know the changes of key frames in time, the target data in the set format can also include identification information of the key frames, and the identification information is used to instruct the receiving end to determine the key frames when decompressing the data to restore the corresponding target data.

[0140] It can be understood that in the process of the server converting the observation data into the target data, the key frame can be determined first, and then the identification information of the key frame can be added to the data header of the target data, so that the receiving end can obtain the identification information from the data header, thereby determining the key frame, and then by performing an XOR operation on the currently received differential data and the key frame, the corresponding target data can be restored, and then the observation data can be obtained through format conversion.

[0141] In some embodiments, in order to reduce the amount of data, if the key frame has not changed, the data header of the target data may not carry the identification information of the key frame. At this time, the receiving end may assume that the key frame is the previously determined key frame. After the key frame changes, the server may add the identification information of the changed key frame to the data header of the target data, so that the receiving end can promptly detect the changes in the key frame and achieve accurate recovery of the data.

[0142] Please refer to Figure 8 , Figure 8 A flowchart of a data receiving method provided in an embodiment of the present application, the method comprising the following steps:

[0143] Step S210: receiving compressed data.

[0144] Step S220: decompress the compressed data to obtain target data in a set format.

[0145] Among them, the data length and position of each satellite in the set format are fixed. The specific implementation method of the target data in the set format here can refer to the specific implementation process in the aforementioned embodiment. For the sake of brevity of description, it will not be repeated here.

[0146] Step S230: Convert the target data into observation data of multiple satellites.

[0147] It can be understood that if the server compresses the target data using a common compression algorithm and then sends it to the receiving end, the receiving end can use the corresponding decompression algorithm to decompress the compressed data. At this time, the target data can be obtained, and then the receiving end can convert the target data into corresponding observation data according to the set format. During the conversion here, the observation data of the satellite at each position can be extracted from the target data. If the data at the position of a certain satellite is all zero or empty, it means that there is no observation data for the satellite.

[0148] If the server converts the target data into differential data before sending it, the compressed data obtained by the receiving end is differential data. At this time, the differential data can be XORed with the key frame to obtain the target data in the set format, and then converted into observation data.

[0149] If the server converts the target data into differential data, and compresses the differential data using a common compression algorithm before sending it, the compressed data obtained by the receiving end is the compressed differential data. The receiving end can first use the corresponding decompression algorithm to decompress it to obtain the differential data, and then perform an XOR operation on the differential data and the key frame to obtain the target data in a set format, which can then be converted into observation data.

[0150] It can be understood that for the convenience and brevity of description, the specific working process of this embodiment can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0151] Please refer to Fig. 9 , Fig. 9 1 is a structural block diagram of a data transmission device 300 provided in an embodiment of the present application. The device 300 may be a module, a program segment or a code on an electronic device. It should be understood that the device 300 is similar to the above Figure 1 The method embodiment corresponds to and can be executed Figure 1 The various steps involved in the method embodiment and the specific functions of the device 300 can be found in the above description. To avoid repetition, the detailed description is appropriately omitted here.

[0152] Optionally, the device 300 includes:

[0153] A data acquisition module 310 is used to acquire observation data of multiple satellites;

[0154] A data conversion module 320, configured to convert the observation data of the plurality of satellites into target data in a set format, wherein the data length and position corresponding to each satellite in the set format are fixed;

[0155] The data sending module 330 is used to compress the target data and then send it.

[0156] Optionally, the data conversion module 320 is used to obtain initial target data in a set format, in which the data at the position corresponding to each satellite in the initial target data is empty; map the observation data of each satellite to the corresponding position in the initial target data, and convert the data length of the observation data of each satellite to the data length at the corresponding position in the initial target data to obtain the target data in the set format.

[0157] Optionally, the data conversion module 320 is used to fill the observation data of the satellite at the corresponding position to reach the data length at the corresponding position if the data length at the corresponding position is greater than the data length of the observation data of the satellite.

[0158] Optionally, the data conversion module 320 is used to fill the tail of the satellite's observation data at the corresponding position with zeros if the data length at the corresponding position is greater than the data length of the satellite's observation data, so as to reach the data length at the corresponding position.

[0159] Optionally, the target data in the set format further includes a data header, the data header includes a navigation system identifier, at least two navigation system identifiers correspond to different set formats, and the data lengths and / or positions corresponding to the respective satellites in the different set formats are different;

[0160] The navigation system identifier is used to instruct the receiving end to select and use the corresponding set format to perform data conversion after data decompression according to the navigation system identifier.

[0161] Optionally, the target data in the set format further includes a check code, and the check code is used to instruct the receiving end to perform data verification.

[0162] Optionally, the data sending module 330 is used to determine a key frame, where the key frame refers to historical target data sent previously; calculate differential data between the target data and the key frame; and send the differential data.

[0163] Optionally, the key frame refers to historical target data corresponding to observation data obtained for the first time, or the key frame refers to historical target data sent last time.

[0164] Optionally, the data sending module 330 is used to determine the key frame according to the change in the number of satellites observed within a set time.

[0165] Optionally, the data sending module 330 is used to select the i-th last historical target data sent before the current as the key frame if the change in the number of satellites is that the number of changes in the number of satellites is greater than the set number of times; if the change in the number of satellites is that the number of changes in the number of satellites is less than the set number of times, then select the j-th last historical target data sent before the current as the key frame, where i and j are integers greater than or equal to 1, and i is less than j.

[0166] Optionally, the target data in the set format also includes identification information of key frames, and the identification information is used to instruct the receiving end to determine the key frames when decompressing the data to restore the corresponding target data.

[0167] Please refer to Fig.10 , Fig.10 4 is a structural block diagram of a data receiving device 400 provided in an embodiment of the present application. The device 400 may be a module, program segment or code on an electronic device. It should be understood that the device 400 is similar to the above Figure 8The method embodiment corresponds to and can be executed Figure 8 The various steps involved in the method embodiment and the specific functions of the device 400 can be found in the above description. To avoid repetition, the detailed description is appropriately omitted here.

[0168] Optionally, the device 400 includes:

[0169] A data receiving module 410, configured to receive compressed data;

[0170] A data decompression module 420 is used to decompress the compressed data to obtain target data in a set format, in which the data length and position corresponding to each satellite in the set format are fixed;

[0171] The data recovery module 430 is used to convert the target data into observation data of multiple satellites.

[0172] It should be noted that those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0173] Please refer to Fig.11 , Fig.11 A structural diagram of an electronic device for executing a data sending method or a data receiving method provided in an embodiment of the present application, the electronic device may be a server or a receiving end in the above-mentioned embodiment, and the electronic device may include: at least one processor 510, such as a CPU, at least one communication interface 520, at least one memory 530 and at least one communication bus 540. Among them, the communication bus 540 is used to realize the connection and communication between these components. Among them, the communication interface 520 of the device in the embodiment of the present application is used to communicate signaling or data with other node devices. The memory 530 can be a high-speed RAM memory, or it can be a non-volatile memory (non-volatile memory), such as at least one disk storage. The memory 530 can optionally also be at least one storage device located away from the aforementioned processor. Computer-readable instructions are stored in the memory 530. When the computer-readable instructions are executed by the processor 510, the electronic device executes the above-mentioned Figure 1 or Figure 8 The method process is shown.

[0174] Understandably, Fig.11 The structure shown is for illustration only, and the electronic device may also include Fig.11 More or fewer components as shown, or with Fig.11 Different configurations shown. Fig.11 Each component shown in the figure can be implemented by hardware, software or a combination thereof.

[0175] The present application embodiment provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the following is performed: Figure 1 or Figure 8 The method process in the method embodiment shown is executed by the electronic device.

[0176] This embodiment discloses a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions. When the program instructions are executed by a computer, the computer can perform the methods provided by the above method embodiments, for example, including:

[0177] Obtain observation data from multiple satellites;

[0178] Converting the observation data of the plurality of satellites into target data in a set format, wherein the data length and position corresponding to each satellite in the set format are fixed;

[0179] The target data is compressed and then sent.

[0180] In summary, the embodiments of the present application provide a data sending method, a receiving method, an apparatus, an electronic device and a storage medium. Since the observation data of multiple satellites are converted into target data of a set format, the data length and position corresponding to each satellite in the set format are fixed, so the receiving end can identify the observation data of each satellite through the target data of the set format, so that the observation data of each satellite does not need to occupy additional resources for marking, thereby reducing resource occupation, and the target data is compressed and sent, which can further reduce the occupation of transmission resources and reduce traffic consumption.

[0181] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.

[0182] In addition, the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0183] Furthermore, the functional modules in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.

[0184] In this document, relational terms such as first and second, etc. are used merely to distinguish one entity or operation from another entity or operation, but do not necessarily require or imply any such actual relationship or order between these entities or operations.

[0185] The above description is only an embodiment of the present application and is not intended to limit the protection scope of the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A data transmission method, characterized in that: The method comprises: Obtain observation data from multiple satellites; Converting the observation data of the plurality of satellites into target data in a set format, wherein the data length and position corresponding to each satellite in the set format are fixed; The target data is compressed and then sent.

2. The method according to claim 1, characterized in that The step of converting the observation data of the plurality of satellites into target data in a set format comprises: Acquire initial target data in a set format, wherein the data at the position corresponding to each satellite in the initial target data is empty; The observation data of each satellite is mapped to a corresponding position in the initial target data, and the data length of the observation data of each satellite is converted to the data length of the corresponding position in the initial target data to obtain target data in a set format.

3. The method according to claim 2, characterized in that The step of converting the data length of the observation data of each satellite into the data length at the corresponding position in the initial target data comprises: If the data length at the corresponding position is greater than the data length of the observation data of the satellite, the observation data of the satellite is padded at the corresponding position to reach the data length at the corresponding position.

4. The method according to claim 3, characterized in that If the data length at the corresponding position is greater than the data length of the observation data of the satellite, padding the observation data of the satellite at the corresponding position to reach the data length at the corresponding position includes: If the data length at the corresponding position is greater than the data length of the observation data of the satellite, the tail of the observation data of the satellite at the corresponding position is padded with zeros to reach the data length at the corresponding position.

5. The method according to claim 1, characterized in that The target data in the set format also includes a data header, the data header includes a navigation system identifier, at least two navigation system identifiers correspond to different set formats, and the data lengths and / or positions corresponding to the satellites in the different set formats are different; The navigation system identifier is used to instruct the receiving end to select and use the corresponding set format to perform data conversion after data decompression according to the navigation system identifier.

6. The method according to claim 1, characterized in that The target data in the set format also includes a check code, and the check code is used to instruct the receiving end to perform data verification.

7. The method according to any one of claims 1 to 6, characterized in that: The step of compressing the target data and then sending the data comprises: Determine a key frame, wherein the key frame refers to the historical target data sent previously; Calculating differential data between the target data and the key frame; The differential data is transmitted.

8. The method according to claim 7, characterized in that The key frame refers to the historical target data corresponding to the observation data obtained for the first time, or the key frame refers to the historical target data sent last time.

9. The method according to claim 7, characterized in that: The step of determining a key frame comprises: The key frame is determined according to the change in the number of satellites observed within a set time.

10. The method according to claim 9, characterized in that Determining the key frame according to the change in the number of satellites observed within a set time includes: If the change in the number of satellites is that the number of changes in the number of satellites is greater than the set number of times, the i-th last historical target data sent before the current is selected as the key frame; if the change in the number of satellites is that the number of changes in the number of satellites is less than the set number of times, the j-th last historical target data sent before the current is selected as the key frame, where i and j are integers greater than or equal to 1, and i is less than j.

11. The method according to claim 7, characterized in that The target data in the set format also includes identification information of the key frame, and the identification information is used to instruct the receiving end to determine the key frame when decompressing the data to restore the corresponding target data.

12. A data receiving method, characterized in that: The method comprises: Receive compressed data; Decompressing the compressed data to obtain target data in a set format, wherein the data length and position corresponding to each satellite in the set format are fixed; The target data is converted into observation data of multiple satellites.

13. A data sending device, characterized in that: The device comprises: A data acquisition module, used to acquire observation data of multiple satellites; A data conversion module, used for converting the observation data of the plurality of satellites into target data in a set format, wherein the data length and position corresponding to each satellite in the set format are fixed; The data sending module is used for compressing the target data and then sending it.

14. A data receiving device, characterized in that: The device comprises: A data receiving module, used for receiving compressed data; A data decompression module, used for decompressing the compressed data to obtain target data in a set format, wherein the data length and position corresponding to each satellite in the set format are fixed; The data recovery module is used to convert the target data into observation data of multiple satellites.

15. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory stores computer-readable instructions. When the computer-readable instructions are executed by the processor, the method according to any one of claims 1 to 11 or the method according to claim 12 is executed.

16. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 11 or the method according to claim 12 is executed.

17. A computer program product, characterized in that The method comprises computer program instructions, and when the computer program instructions are read and executed by a processor, the method according to any one of claims 1 to 11 or the method according to claim 12 is executed.

Citation Information

Cited By

  • Data flow control method for navigation differential data and GNSS receiver

    CN119780979A