A data transmission method and a data transmission system for a ground penetrating radar system

By segmenting data into blocks in the ground-penetrating radar system and employing a custom data transmission protocol and AES encryption, the problems of low transmission efficiency and unreliability are solved, achieving efficient data compression and error correction, and ensuring reliable data transmission.

CN120128305BActive Publication Date: 2025-12-30ANDESPACE
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510421809.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-07
Publication Date
2025-12-30
Estimated Expiration
2045-04-07

AI Technical Summary

Technical Problem

Existing ground-penetrating radar (GPR) systems suffer from low transmission efficiency, limited range, and unreliable data transmission due to the inability of existing data encapsulation and protocols to effectively compress and correct errors.

Method used

The client segments radar data into data blocks of the same size, transmits them over the network, and serializes and encrypts them using a custom data transmission protocol. The server performs packet verification and retransmission requests, and processes the data using the AES encryption algorithm and the Protobuf data exchange format.

Benefits of technology

It improved the transmission efficiency of ground-penetrating radar data, achieved effective data compression and error correction, and ensured the reliable transmission of radar data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120128305B_ABST
    Figure CN120128305B_ABST
Patent Text Reader

Abstract

The application provides a data transmission method and a data transmission system for a ground penetrating radar system, comprising the following steps: S1, a client divides collected radar data into data blocks of the same size; S2, the client performs serialization processing and packaging on the data blocks of the radar data, and encapsulates the data blocks into binary data packets; S3, the client transmits the data packets to a server through network transmission; S4, the server checks the received data packets, and if there is error data, the client is notified to retransmit; until the check is passed, the process jumps to S5; S5, the server analyzes the received data packets to obtain complete original radar data. The application can not only effectively improve the transmission efficiency of ground penetrating radar data, but also efficiently realize effective compression and error correction mechanism of radar data through the optimized design of the data transmission protocol, thereby effectively ensuring the reliable transmission of radar data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a data transmission method, more particularly to a data transmission method for a ground-penetrating radar system, and further to a data transmission system employing the data transmission method for the ground-penetrating radar system. Background Technology

[0002] Ground-penetrating radar (GPR), used for geological exploration, is an instrument that uses electromagnetic waves to penetrate the ground and detect underground structures. It is widely used in geological exploration, underground pipeline inspection, and construction engineering. One of the key technologies in GPR systems is how to achieve data transmission.

[0003] In traditional ground-penetrating radar (GPR) systems, data transmission is typically achieved via dedicated radar data links. This existing method suffers from low transmission efficiency and limited transmission distance. To overcome these limitations, network-based radar solutions have been increasingly introduced in recent years. These solutions utilize high-speed networks for data transmission, enabling higher transmission rates and longer distances. However, existing data transmission methods, with their encapsulation processes and protocols, cannot effectively compress and correct radar data, nor guarantee reliable transmission. Therefore, a new data transmission method and protocol specifically designed for GPR systems are needed. Summary of the Invention

[0004] The technical problem to be solved by this invention is to provide a data transmission method for ground-penetrating radar (GPR) systems, aiming to improve the transmission efficiency of GPR data and efficiently implement effective compression and error correction mechanisms for radar data, thereby improving the reliability of radar data transmission. Furthermore, a data transmission system employing this data transmission method for GPR systems is also provided.

[0005] To address this, the present invention provides a data transmission method for a ground-penetrating radar system, comprising the following steps:

[0006] Step S1: The client segments the collected radar data into data blocks of the same size.

[0007] Step S2: The client serializes and packages the radar data blocks into binary data packets.

[0008] Step S3: The client transmits the binary data packet to the server via network transmission;

[0009] Step S4: The server verifies the received data packet. If an error occurs, the server notifies the client to retransmit the data. Once the verification passes, the process proceeds to step S5.

[0010] Step S5: The server parses the received data packets to obtain the complete raw radar data;

[0011] Step S2 includes the following sub-steps:

[0012] Step S201: Define an object Packet; the process of defining the object Packet includes defining the attribute data for storing radar data blocks; defining a serialization method serialize, which is used to serialize the data blocks into byte arrays; and defining a deserialization method deserialize, which is used to deserialize the byte arrays into data blocks.

[0013] Step S202: Call the serialization method serialize to convert the data block into a byte array, then encrypt this byte array using the AES encryption algorithm, and store the encrypted byte array in a predefined data transmission protocol; define a byte type variable version in the protocol header of the data transmission protocol to store the protocol version; define a byte type variable magic to store the protocol magic number; define a short type variable server to store the protocol service number; and define an int type variable length to store the data length;

[0014] Step S203: Create a buffer of type ByteBuf, and write the variables version, magic, server, length, and the encrypted byte array into the buffer byteBuf in sequence; write the data packet sequence number of the radar data into the field of the variable server as the order of the radar data, and use it for the server to determine whether the radar data is lost.

[0015] A further improvement of the present invention is that step S1 includes the following sub-steps:

[0016] Step S101: During the radar data acquisition process, when the accumulated radar data reaches a preset threshold, the current radar data is divided into a separate block. Similarly, all the acquired radar data is divided into data blocks of the same size and arranged in order of acquisition time.

[0017] Step S102: The data blocks in step S101 are sequentially numbered without repetition, and these numbers are used as the protocol service number corresponding to the variable server.

[0018] A further improvement of the present invention is that, in step S2, before serializing and packaging the data blocks of radar data, a data transmission protocol for the ground-penetrating radar system is first defined; the data transmission protocol includes a protocol header and a protocol body, the protocol header adopts an 8-byte fixed-length protocol header, which includes a 1-byte protocol version number, a 1-byte protocol magic number, a 2-byte protocol service number, and a 4-byte protocol length; the radar data is encoded according to the data structure defined by the data exchange format Protobuf, and this is used as the protocol body.

[0019] A further improvement of the present invention is that, in step S201, the serialization method serialize and the deserialization method deserialize perform data serialization and deserialization operations by calling the API interface provided by the data exchange format Protobuf, respectively.

[0020] A further improvement of the present invention is that step S3 includes the following sub-steps:

[0021] Step S301: Set up a buffer to store the sent data packets in the buffer, and pre-set a time threshold T1. The minimum value of the time threshold T1 is RTT+T2, where RTT is the round-trip time delay of data transmission and T2 is the pre-set data transmission timeout.

[0022] Step S302: Set a time threshold T1 as the valid time for each data packet in the buffer. When the time of a data packet exceeds the time threshold T1, the data packet is automatically deleted from the buffer.

[0023] In step S303, if the client receives a retransmission request from the server within the time corresponding to the time threshold T1, it retrieves the data packet with the corresponding sequence number from the buffer, retransmits the data packet to the server, and resets the validity time of the data packet to the time threshold T1.

[0024] A further improvement of the present invention is that, in step S303, if the client receives a retransmission request from the server during the transmission of the data packet, it is determined that there is a data packet that needs to be retransmitted. The client parses the retransmission request, obtains the sequence number of the data packet corresponding to the retransmission request, and retrieves the data packet with the corresponding sequence number from the buffer to realize the data packet retransmission.

[0025] A further improvement of the present invention is that step S4 includes the following sub-steps:

[0026] In step S401, the server decodes the received data packet. The decoding process is as follows: First, for the data in the buffer byteBuf received by the server, skip the first two bytes, and then obtain the 3rd and 4th bytes to obtain the variable 'server' defined in the data transmission protocol, thus obtaining the data block sequence number of the radar data; then, read the following four bytes of data, obtain the variable 'length' defined in the data transmission protocol, thus obtaining the length of the data packet; finally, read the bytes of data of length 'length' to obtain the encrypted radar data.

[0027] In step S402, the server finds the missing data packet sequence number based on the sequence numbers of the data packets that have been received in sequence, and delays the next sequence number of the missing data packet by a data transmission timeout T2. If the server still has not received the data packet with the missing sequence number, the server initiates a retransmission request to the client, and sets the variable server to the missing data packet sequence number in the retransmission request to identify the data packet that needs to be retransmitted by the client.

[0028] A further improvement of the present invention is that the data transmission timeout T2 is preset to 10~12ms.

[0029] A further improvement of the present invention is that step S5 includes the following sub-steps:

[0030] Step S501: Decrypt the data packet obtained in step S401 using the AES encryption algorithm. Then, deserialize the decrypted data using the deserialization method to obtain a Packet object. Use the data in the Packet object as the block of radar data.

[0031] In step S502, the radar data obtained in step S501 is sorted according to the data packet sequence number corresponding to the variable server read in step S401, and then recombined to obtain the complete original radar data.

[0032] The present invention also provides a data transmission system for a ground-penetrating radar system, which employs the data transmission method for a ground-penetrating radar system as described above, and includes:

[0033] The data segmentation module allows the client to segment the collected radar data into data blocks of the same size.

[0034] The data encapsulation module allows the client to serialize and package radar data blocks into binary data packets.

[0035] The data transmission module allows the client to transmit binary data packets to the server via network transmission.

[0036] The data verification module verifies the received data packets. If erroneous data is found, the client is notified to retransmit. Once the verification passes, the process proceeds to step S5.

[0037] The data parsing module parses the received data packets to obtain complete raw radar data.

[0038] Compared with existing technologies, the advantages of this invention are as follows: First, the acquired radar data is segmented into data blocks of the same size. Then, according to a custom data transmission protocol for ground-penetrating radar systems, the data blocks are serialized and packaged to obtain data packets corresponding to the data transmission protocol. Finally, network transmission, verification, and parsing are performed on the data packets based on this data transmission protocol. Therefore, this invention not only effectively improves the transmission efficiency of ground-penetrating radar data but also efficiently implements effective compression and error correction mechanisms for radar data through an optimized data transmission protocol, effectively ensuring reliable transmission of radar data, thus realizing a data transmission method and system for ground-penetrating radar systems. Attached Figure Description

[0039] Figure 1 This is a schematic diagram of the workflow of one embodiment of the present invention;

[0040] Figure 2 This is a schematic diagram of the data structure of a data transmission protocol according to an embodiment of the present invention. Detailed Implementation

[0041] In the description of this invention, if directional descriptions are involved, such as "up," "down," "front," "back," "left," "right," etc., indicating the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, it is only for the convenience of describing the invention and simplifying the description, and does not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the invention. If a technical feature is referred to as "set," "fixed," "connected," or "installed" on another technical feature, it can be directly set, fixed, or connected to the other technical feature, or it can be indirectly set, fixed, connected, or installed on the other technical feature.

[0042] In the description of this invention, the term "several" means one or more; the term "multiple" means two or more; the terms "greater than," "less than," and "exceeding" are all understood to exclude the stated number; and the terms "above," "below," and "within" are all understood to include the stated number. The terms "first," "second," etc., are understood to be used only to distinguish identical or similar technical feature names, and should not be construed as implying / indicating the relative importance of the technical features, the number of technical features, or the sequential relationship between the technical features.

[0043] The preferred embodiments of the present invention will now be described in further detail with reference to the accompanying drawings.

[0044] like Figure 1 and Figure 2 As shown, this embodiment provides a data transmission method for a ground-penetrating radar system, including the following steps:

[0045] Step S1: The client segments the collected radar data into data blocks of the same size.

[0046] Step S2: The client serializes and packages the radar data blocks into binary data packets.

[0047] Step S3: The client transmits the binary data packet to the server via network transmission;

[0048] Step S4: The server verifies the received data packet. If an error occurs, the server notifies the client to retransmit the data. Once the verification passes, the process proceeds to step S5.

[0049] Step S5: The server parses the received data packets to obtain the complete raw radar data;

[0050] Step S2 includes the following sub-steps:

[0051] Step S201: Define an object Packet; the process of defining the object Packet includes defining the attribute data for storing radar data in a data block; defining a serialization method serialize for serializing the data block into a byte array; and defining a deserialization method deserialize for deserializing the byte array into a data block.

[0052] Step S202: The serialization method `serialize` is called to convert the data block into a byte array. This byte array is then encrypted using the AES encryption algorithm, and the encrypted byte array is stored in a predefined data transmission protocol. In the protocol header of the data transmission protocol, a byte variable `version` is defined to store the protocol version (1 byte); a byte variable `magic` is defined to store the protocol magic number (1 byte); a short variable `server` is defined to store the protocol service number, representing the service number multiplexed by the data transmission protocol (2 bytes); and an int variable `length` is defined to store the data length, including the total length of the protocol header and body (4 bytes).

[0053] Step S203: Create a buffer of type ByteBuf (byteBuf). Write the variables version, magic, server, length, and the encrypted byte array into the buffer byteBuf sequentially. Write the radar data packet sequence number into the field of the server variable to indicate the order of the radar data and use it on the server side to determine if radar data is lost. At this point, the radar data packaging is complete. The encrypted byte array refers to the serialized and encrypted radar data.

[0054] In step S203 of this embodiment, creating a ByteBuf type buffer (byteBuf) can be done by calling Netty's ByteBuf allocator, namely ByteBufAllocator. This ByteBuf allocator is an interface for allocating and managing ByteBuf instances. The ioBuffer() function returns memory adapted for I / O read / write and creates direct memory, obtaining memory space not managed by the JVM heap (Java Virtual Machine). Writing to the I / O buffer is more efficient. The JVM heap is a part of the Java Virtual Machine memory model used to store object instances and arrays.

[0055] In this embodiment, step S1 preferably includes the following sub-steps:

[0056] Step S101: During the radar data acquisition process, when the accumulated radar data reaches a preset threshold, the current radar data is divided into a single block. This process is repeated, dividing all acquired radar data into data blocks of the same size and arranging them sequentially according to the acquisition time. The preset threshold refers to a pre-set threshold for radar data segmentation, which can be adjusted according to actual conditions and needs. The default preset threshold is 100MB, thus enabling the radar data to be segmented into 100MB data blocks arranged sequentially according to acquisition time.

[0057] Step S102: The data blocks in step S101 are sequentially numbered without repetition, and these numbers are used as the protocol service number corresponding to the variable server.

[0058] In step S2 of this embodiment, before serializing and packaging the radar data blocks, a data transmission protocol for the ground-penetrating radar system is first defined; such as... Figure 2 As shown, the data transmission protocol includes a protocol header and a protocol body. The protocol header is an 8-byte fixed-length header, including a 1-byte protocol version number, a 1-byte protocol magic number, a 2-byte protocol service number, and a 4-byte protocol length. The radar data is encoded according to the data structure defined by the Protobuf data exchange format, and this encoded data serves as the protocol body. The protocol version number is stored in the variable `version`, representing the supported version number. The protocol magic number is stored in the variable `magic`, used for fast verification based on the magic number. The data block number is stored in the variable `server`, serving as the corresponding protocol service number. This embodiment uses a fixed-length protocol header, which not only enables fast verification based on the magic number but also allows for the reuse of different services, making the data transmission protocol for ground-penetrating radar systems easier to parse and achieving efficient and reliable data transmission. In this embodiment, the data transmission protocol uses radar data serialized using the Protobuf data exchange format (i.e., processed by calling the `serialize` method) as the protocol body. To ensure data security, the radar data is encrypted using the AES encryption algorithm.

[0059] In the data transmission protocol used in ground-penetrating radar systems, storing the protocol magic number in the second byte achieves the following technical effects: (1) Facilitates protocol identification. The magic number helps the receiver quickly identify the communication protocol type used by the data packet. After receiving the data packet, the receiver first reads the magic number in the data packet and compares it with the predefined protocol magic number to determine the type of communication protocol used. (2) Improves security. The magic number can increase the security of the communication protocol. During communication, the receiver can judge the legitimacy of the data packet based on the magic number, thereby effectively avoiding attacks from malicious data packets. (3) Improves version compatibility. The magic number can also be used to determine the version of the communication protocol, thereby achieving compatibility between different versions. The receiver can judge the protocol version used by the sender based on the magic number in order to make corresponding processing and parsing.

[0060] In step S201 of this embodiment, the serialization method serialize and the deserialization method deserialize perform data serialization and deserialization operations by calling the API interface provided by the data exchange format Protobuf, that is, by calling protobuf methods.

[0061] In this embodiment, step S3 is used to transmit the packaged data from steps S202 and S203 to the server via the network. During this process, if the client receives a request from the server indicating that data needs to be retransmitted, the client parses the request (i.e., the retransmission request), obtains the sequence number of the radar data packet that needs to be retransmitted, and retransmits the corresponding data.

[0062] Specifically, step S3 in this embodiment preferably includes the following sub-steps:

[0063] Step S301: Set up a buffer to store the sent data packets, and pre-set a time threshold T1. The minimum value of the time threshold T1 is RTT+T2, where RTT is the round-trip time delay for data transmission, and T2 is the pre-set data transmission timeout. This pre-set data transmission timeout can be customized according to actual conditions and requirements. The time threshold T1 refers to the pre-set effective time threshold for the data packet buffer, with a minimum of RTT+T2 and no maximum value, which can be set and adjusted according to actual conditions.

[0064] Step S302: Set a time threshold T1 as the valid time for each data packet in the buffer. When the time of a data packet exceeds the time threshold T1, the data packet is automatically deleted from the buffer.

[0065] In step S303, if the client receives a retransmission request from the server within the time corresponding to the time threshold T1, it retrieves the data packet with the corresponding sequence number from the buffer, retransmits the data packet to the server, and resets the validity time of the data packet to the time threshold T1.

[0066] A further improvement of the present invention is that, in step S303, if the client receives a retransmission request from the server during the transmission of the data packet, it is determined that there is a data packet that needs to be retransmitted. The client parses the retransmission request, obtains the sequence number of the data packet corresponding to the retransmission request, and retrieves the data packet with the corresponding sequence number from the buffer to realize the data packet retransmission.

[0067] It should be noted that in step S3 of this embodiment, a buffer needs to be set first, and a corresponding time threshold T1 needs to be set. The advantage of setting this buffer and its corresponding time threshold T1 is that it can effectively avoid the time consumption of re-encoding and packaging data, directly retrieve data packets from the buffer, thereby effectively improving transmission efficiency and ensuring that each data packet obtained will not have a timeout problem.

[0068] In step S4 of this embodiment, the server verifies the received data. If erroneous data is found, the server notifies the client to retransmit and returns to step S3. More specifically, step S4 of this embodiment preferably includes the following sub-steps:

[0069] In step S401, the server decodes the received data packet. The decoding process is as follows: First, for the data in the buffer byteBuf received by the server, skip the first two bytes, i.e., skip the variables version and magic defined in the data transmission protocol, and obtain the 3rd and 4th bytes of data to obtain the variable server defined in the data transmission protocol, thus obtaining the data block sequence number of the radar data; then, read the following four bytes of data, obtain the variable length defined in the data transmission protocol, and obtain the length of the data packet; finally, read the bytes of data of length length to obtain the encrypted radar data.

[0070] In step S402, the server finds the missing data packet sequence number based on the sequence numbers of the data packets that have been received in sequence, and delays the next sequence number of the missing data packet by a data transmission timeout T2. If the server still has not received the data packet with the missing sequence number, the server initiates a retransmission request to the client, and sets the variable server to the missing data packet sequence number in the retransmission request to identify the data packet that needs to be retransmitted by the client.

[0071] For example, the server receives radar data with sequence numbers 1, 2, 4, and 5 in sequence. The missing data packet has a sequence number of 3. After receiving data packet with sequence number 4, and after a data transmission timeout T2, if the server still has not received data packet with sequence number 3, the server will initiate a retransmission request to the client. In this request, the variable `server` is set to 3, indicating that the client needs to retransmit the data packet with sequence number 3. The data transmission timeout T2 described in this embodiment is preset to 10~12ms by default, but it can also be customized and adjusted according to actual conditions and needs to meet different data transmission requirements.

[0072] In this embodiment, step S5 involves the server unpacking the received data to obtain the raw radar data. Specifically, step S5 in this embodiment preferably includes the following sub-steps:

[0073] Step S501: Decrypt the data packet obtained in step S401 using the AES encryption algorithm. Then, deserialize the decrypted data using the deserialization method to obtain a Packet object. Use the data in the Packet object as the block of radar data.

[0074] In step S502, the radar data obtained in step S501 is sorted according to the data packet sequence number corresponding to the variable server read in step S401, and then recombined to obtain the complete original radar data.

[0075] This embodiment also provides a data transmission system for a ground-penetrating radar system, which employs the data transmission method for a ground-penetrating radar system as described above, and includes:

[0076] The data segmentation module allows the client to segment the collected radar data into data blocks of the same size.

[0077] The data encapsulation module allows the client to serialize and package radar data blocks into binary data packets.

[0078] The data transmission module allows the client to transmit binary data packets to the server via network transmission.

[0079] The data verification module verifies the received data packets. If erroneous data is found, the client is notified to retransmit. Once the verification passes, the process proceeds to step S5.

[0080] The data parsing module parses the received data packets to obtain complete raw radar data.

[0081] In summary, this embodiment first segments the acquired radar data into data blocks of equal size. Then, according to a custom data transmission protocol for ground-penetrating radar systems, the data blocks are serialized and packaged to obtain data packets corresponding to the data transmission protocol. Finally, based on these data packets, network transmission, verification, and parsing are performed. Therefore, this invention not only effectively improves the transmission efficiency of ground-penetrating radar data but also efficiently implements effective compression and error correction mechanisms for radar data through an optimized data transmission protocol, effectively ensuring reliable transmission of radar data, thus realizing a data transmission method and system for ground-penetrating radar systems.

[0082] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of the present invention, and all such modifications and substitutions should be considered within the scope of protection of the present invention.

Claims

1. A data transmission method for a ground penetrating radar system, characterized in that, The method comprises the following steps: Step S1, the client divides the collected radar data into data blocks of the same size; Step S2, the client serializes and packages the data blocks of the radar data, and encapsulates them into binary data packets; Step S3, the client transmits the binary data packets to the server through network transmission; Step S4, the server checks the received data packets, and if there is error data, it notifies the client to retransmit; Until the check passes, then jump to step S5; Step S5, the server analyzes the received data packets to obtain complete original radar data; The step S2 comprises the following sub-steps: Step S201, define an object Packet; the process of defining the object Packet comprises defining an attribute data for storing the data blocks of the radar data; defining a serialization method serialize, which is used to serialize the data blocks into byte arrays; and defining a deserialization method deserialize, which is used to deserialize the byte arrays into data blocks; Step S202, call the serialization method serialize to convert the data blocks into byte arrays, then encrypt the byte arrays through the AES encryption algorithm, and store the encrypted byte arrays in a pre-defined data transmission protocol; define a variable version of the byte type in the protocol header of the data transmission protocol, which is used to store the protocol version; define a variable magic of the byte type, which is used to store the protocol magic number; define a variable server of the short type, which is used to store the protocol service number; and define a variable length of the int type, which is used to store the data length; Step S203, create a ByteBuf type buffer byteBuf, and write the variable version, the variable magic, the variable server, the variable length and the encrypted byte arrays into the buffer byteBuf in sequence; write the packet sequence number of the radar data in the field of the variable server as the sequence of the radar data, and use it to determine whether the radar data is lost at the server.

2. The data transmission method for a ground penetrating radar system of claim 1, wherein, The step S1 comprises the following sub-steps: Step S101, during the collection of the radar data, when the accumulation of the radar data reaches a pre-set threshold, the current radar data is separately divided into one block, and all the collected radar data is divided into data blocks of the same size and arranged in sequence according to the collection time; Step S102, sequentially number the data blocks in step S101 without repetition, and use the number as the protocol service number corresponding to the variable server.

3. The data transmission method for a ground penetrating radar system of claim 1, wherein, The step S2, before the data block of the radar data is serialized and packed, a data transmission protocol for the ground penetrating radar system is defined; the data transmission protocol comprises a protocol header and a protocol body, the protocol header adopts a fixed-length protocol header of 8 bytes, and sequentially comprises a protocol version number of 1 byte, a protocol magic number of 1 byte, a protocol service number of 2 bytes and a protocol length of 4 bytes; the radar data is encoded according to the data structure defined by the data exchange format Protobuf, so as to be used as the protocol body.

4. The data transmission method for a ground penetrating radar system of claim 1, wherein, In the step S201, the serialization method serialize and the deserialization method deserialize respectively execute the serialization and deserialization operations of the data by calling the API interface provided by the data exchange format Protobuf.

5. The data transmission method for a ground penetrating radar system according to any one of claims 1 to 4, characterized in that, The step S3 comprises the following sub-steps: Step S301, a buffer is set, the sent data packet is saved in the buffer, and a time threshold T1 is set in advance, the minimum value of the time threshold T1 is RTT+T2, wherein RTT is the round-trip delay of data transmission, and T2 is the pre-set data transmission timeout time; Step S302, each data packet in the buffer is set with the time threshold T1 as the valid time, and when the time of the data packet exceeds the time threshold T1, the data packet is automatically deleted from the buffer; Step S303, within the time corresponding to the time threshold T1, if the client receives the retransmission request of the server, the data packet corresponding to the serial number is taken from the buffer, the data packet is retransmitted to the server, and the valid time of the data packet is reset to the time threshold T1.

6. The data transmission method for a ground penetrating radar system of claim 5, wherein, In the step S303, during the transmission of the data packet, if the client receives the retransmission request from the server, it is judged that there is a data packet to be retransmitted, the client analyzes the retransmission request to obtain the serial number of the data packet corresponding to the retransmission request, and takes the data packet corresponding to the serial number from the buffer to realize the retransmission of the data packet.

7. The data transmission method for a ground penetrating radar system according to any one of claims 1 to 4, characterized in that, The step S4 comprises the following sub-steps: Step S401, the server decodes the received data packet, the decoding process is that, first, the data of the buffer byteBuf received by the server is decoded, the first two bytes are skipped, the data of the third and fourth bytes is obtained, so as to obtain the variable server defined in the data transmission protocol, and the serial number of the data block of the radar data is obtained; then, the data of the subsequent four bytes is read, the variable length defined in the data transmission protocol is obtained, and the length of the data packet is obtained; finally, the byte data with the length of length is read, and the encrypted radar data is obtained; Step S402, the server finds the missing data packet serial number according to the serial numbers of the data packets that have been received in sequence, delays for the data transmission timeout time T2 based on the next serial number of the missing data packet serial number, and if the server still does not receive the data of the missing data packet serial number, initiates a retransmission request to the client, and sets the variable server to the missing data packet serial number in the retransmission request, so as to identify the data packet that needs to be retransmitted by the client.

8. The data transmission method for a ground penetrating radar system of claim 7, wherein, The data transmission timeout time T2 is preset as 10-12 ms.

9. The data transmission method for a ground penetrating radar system of claim 7, wherein, The step S5 comprises the following sub-steps: Step S501, the data packet obtained in step S401 is decrypted by an AES encryption algorithm, the decrypted data is deserialized by calling a deserialization method deserialize, a Packet object is obtained, and radar data is taken as the data data in the Packet object for block division; Step S502, for the radar data obtained in step S501, according to the data packet sequence number corresponding to the variable server read in step S401, the radar data is sequentially sorted according to the data packet sequence number, and then recombined to obtain complete original radar data.

10. A data transmission system for a ground penetrating radar system, characterized in that, The data transmission method for the ground penetrating radar system comprises the following steps: A data segmentation module is arranged, and the client segments the collected radar data into data blocks of the same size; A data encapsulation module is arranged, and the client serializes and packages the data blocks of the radar data to encapsulate the data blocks into binary data packets; A data transmission module is arranged, and the client transmits the binary data packets to the server through network transmission; A data verification module is arranged, and the server verifies the received data packets, notifies the client to retransmit if there is error data, and jumps to step S5 until the verification is passed; A data exchange format is arranged, and the server analyzes the received data packets to obtain complete original radar data.

Citation Information

Patent Citations

  • Data serialization method for Internet of Things equipment communication

    CN110830164A

  • KR20240164281A