A reliable radar data transmission method

By adopting reliable protocol packet header and multiple transmission mechanisms in radar data transmission, the problems of slow TCP protocol speed and poor UDP protocol reliability are solved, efficient and reliable transmission of radar data is achieved, and the real-time requirements of radar data are met.

CN117439713BActive Publication Date: 2025-07-08INST OF ELECTRONICS & INFORMATION ENG OF UESTC IN GUANGDONG
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202311385268.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-23
Publication Date
2025-07-08
Estimated Expiration
2043-10-23

AI Technical Summary

Technical Problem

The existing radar data transmission methods are slower when using the TCP protocol, while the UDP protocol is poor in reliability and are prone to packet loss when network congestion, which cannot guarantee the integrity and real-timeness of data.

Method used

The UDP protocol based on Ethernet is adopted to design a reliable protocol header, and combine subcontracting functions, multiple retransmission mechanisms, traffic control and congestion control to ensure the reliability and real-timeness of data packets.

Benefits of technology

It realizes reliable transmission of radar data frames, reduces transmission delay, improves transmission efficiency, and meets the real-time communication needs of radar data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117439713B_ABST
    Figure CN117439713B_ABST
Patent Text Reader

Abstract

The present invention belongs to the technical field of radar data transmission, and specifically provides a reliable radar data transmission method to reduce the transmission waiting delay during the radar data transmission process and execute the packet loss retransmission function when a packet loss phenomenon occurs. The present invention adopts the UDP protocol in Ethernet, designs a reliable protocol header and a packet splitting function on this basis, and combines multiple retransmission mechanisms, flow control, and congestion control, enabling the sending end to detect the packet loss phenomenon, with high transmission efficiency, ensuring the reliability of data packets and the real-time nature of transmission. In summary, on the basis of the reliability of radar data frames, the present invention reduces the transmission delay of radar data frames, reduces the impact of the small packet accumulation mechanism and the delayed ACK mechanism on the transmission waiting delay during the transmission process, and shortens the data transmission time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of radar data transmission, and specifically provides a method for reliable radar data transmission. Background Art

[0002] Currently, radar data transmission usually uses the TCP protocol or the UDP protocol for transmission. The transmission speed of the TCP protocol is slow and not suitable for scenarios with strong real-time requirements; while the transmission reliability of the UDP protocol is poor, and data packet loss often occurs. For example, a UDP data transmission method, a UDP data transmission device, a storage medium, and an electronic device proposed in a patent document with the publication number CN116074252A, in which the receiving end sends a packet loss message to the sending end every time it reads M packets of data from the second buffer; however, this method does not predict the network condition, and there will be too many packet losses when the network is congested. Another example is a UDP data transmission method and its related devices proposed in a patent document with the publication number CN115695577A. This method encapsulates a TCP header on the UDP data packet to obtain a TCP data packet after encapsulating the UDP data packet, and then uses the established TCP channel to transmit the TCP data packet; however, this method cannot retransmit data when packet loss occurs and cannot guarantee data integrity. Another example is a reliable one-to-many data transmission method based on UDP proposed in a patent document with the publication number CN116073957A. In this method, a status bitmap sbmp is established, and the status bitmap sbmp is used to judge whether the data block has been sent completely; however, this method does not consider the receiving ability of the receiving end and the network status during data transmission, which will affect the data transmission speed. Summary of the Invention

[0003] The purpose of the present invention is to provide a method for reliable radar data transmission, which is used to reduce the transmission waiting delay during the radar data transmission process and perform a packet loss retransmission function when packet loss occurs. On the basis of the reliability of radar data frame data, the present invention reduces the transmission delay of radar data frames, reduces the influence of the small packet accumulation mechanism and the delayed ACK mechanism on the transmission waiting delay during the transmission process, and shortens the data transmission time.

[0004] To achieve the above purpose, the technical solution adopted by the present invention is as follows:

[0005] A method for reliable radar data transmission includes: data sending and data receiving, and the specific steps are as follows:

[0006] Step A. Data sending;

[0007] Step A1. The data delivered by the application layer enters the data packet splitting module, where the data packet splitting function is executed, and a reliable protocol header is added to each data packet. Then, it is determined whether to put it into the send queue based on the remote window value. Finally, data transmission is performed in the send queue.

[0008] Step A2. Start the send - end network listening thread to listen for the packet received in the network. Parse the packet according to the reliable protocol header and determine the packet type.

[0009] If the packet type is an ACK packet, update the ACK queue according to the packet information. After the ACK queue is updated, update the send queue, and remove the already - confirmed sent data packet from the snd_una linked list; and perform the fast re - transmission function according to the confirmation of the ACK packet.

[0010] If the packet type is a window - reply packet, update the receiver window value according to the received information.

[0011] Step A3. Start the send - end timeout re - transmission thread. For each data packet sent in the send queue, start a timer, and set the timer time to RTO. If the ACK packet for this data packet is not received within RTO, perform the timeout re - transmission function and update the RTO parameter of this data packet to 1.5 times; if the ACK packet for this data packet is received within RTO, delete the timer and remove this data packet from the send queue.

[0012] Step A4. Perform the congestion control function every time an ACK packet is received.

[0013] Step B. Data reception.

[0014] Step B1. Start the receive - end network listening thread to listen for the packet received in the network; Parse the packet according to the Cmd parameter in the reliable protocol header and determine the packet type.

[0015] If the packet type is a data packet, put the received data packet into the receive queue, perform the data packet combination function, and reply with an ACK packet.

[0016] If the packet type is a window - probe packet, reply with a window - reply packet.

[0017] Step B2. After the data is received in the receive queue, perform the data packet combination function.

[0018] Further, in the data packet splitting module of step A1, first calculate the number of bytes and the number of split packets of the data block, then perform reverse splitting and put them into the waiting send linked list; determine whether the receiver window is available according to the remote window value. When the receiver window value is greater than or equal to the sending requirement, it is determined that the receiver window is available, put the data block into the send queue, and execute the sending. Otherwise, execute the waiting.

[0019] Further, the reliable protocol packet header in step A1 includes: Identi parameter, Cmd parameter, Frg parameter, Wnd parameter, una parameter, sn parameter, ts parameter, len parameter; among them, the Identi parameter represents that this data packet is a special RUDP data packet, and the subsequent processing of the data packet is effective when the Identi parameters of the sender and the receiver are equal; the Cmd parameter represents the type of this data packet, which are: data data packet, ACK data packet, window probe message packet, window reply message packet in sequence; the Frg parameter represents the fragment packet sequence number, Wnd represents the receiver window value, una represents the sequence number of the packet to be received, sn represents the sequence number of this data packet, ts represents the time stamp of this data packet, and the len parameter represents the length of this data packet; the data segment represents the data data.

[0020] Further, the fast retransmission in step A2 is specifically: after receiving an ACK message packet, add 1 to the fastack parameter of all data packets that have not received ACK, and traverse the entire send queue, and perform the retransmission function on all data packets that have not received ACK and whose fastack parameter is equal to 3.

[0021] Further, in step A3, the RTO is updated according to the RTT parameter calculated from the received ACK message packet. The update method is:

[0022] Sample the time of RTT and perform weighted average to calculate the smoothed RTT value; calculate the round-trip time RTT according to the ts time stamp of each received ACK message packet n , and then calculate the smoothed round-trip time SRTT n and the smoothed variance DevRTT n ;

[0023] When calculating for the first time, the RTO1 is updated as follows:

[0024] SRTT1 = RTT1

[0025] DevRTT1 = RTT1 / 2

[0026] RTO1 = μ × SRTT1 + δ × DevRTT1

[0027] Obtain the latest RTT according to the time stamp of the newly received ACK data packet n , and calculate the subsequent RTOn is:

[0028] SRTT n = SRTT n-1 + α × (RTT n - SRTT n-1 )

[0029] DevRTT n = (1 - β) × DevRTT n-1 + β × (|RTT n - SRTT n |)

[0030] RTO n = μ × SRTT n + δ × DevRTT n

[0031] where α = 0.125, β = 0.25, μ = 1, δ = 4; RTT n , SRTT n , DevRTT n respectively represent the round-trip time, smoothed round-trip time, and smoothed variance at the nth update moment.

[0032] Furthermore, the congestion control function in step A4 is:

[0033] The congestion window value at the nth update moment is denoted as cwnd n , and the corresponding slow start threshold is denoted as ssthresh n , and the number of packets received by the receiver during the period when the sender receives two consecutive ACK packets is denoted as ACKcount n ;

[0034] The slow start mode is enabled at the start of transmission, and cwnd n is updated to:

[0035] cwnd n = cwnd n-1 + ACKcount n

[0036] When the congestion window value is greater than the slow start threshold, the congestion avoidance growth mode is enabled, and cwnd n is updated to:

[0037] cwnd n = cwnd n-1 + ACKcount n / cwnd n-1

[0038] When packet retransmission occurs, the congestion occurrence algorithm is enabled:

[0039] When timeout retransmission occurs, ssthresh n and cwnd n are updated to:

[0040] ssthresh n = cwnd n-1 / 2

[0041] cwnd n = 1

[0042] When fast retransmission occurs, ssthresh n and cwnd n are updated to:

[0043] cwnd n = cwnd n-1 / 2

[0044] ssthresh n = cwnd n

[0045] cwnd n+1 = ssthresh n + 3.

[0046] Based on the above technical solutions, the beneficial effects of the present invention are as follows:

[0047] The present invention provides a method for reliable transmission of radar data. The UDP protocol in Ethernet is adopted. On this basis, a reliable protocol packet header and a packet splitting function are designed, and combined with multiple retransmission mechanisms, flow control, and congestion control, so that the sender can detect the packet loss phenomenon, and the transmission efficiency is high, ensuring the reliability of the data packet and the real-time nature of the transmission; in summary, the present invention can ensure the reliability of the radar data frame and reduce the total transmission time. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Figure 1 is a schematic flow chart of the method for reliable transmission of radar data in the present invention.

[0049] Figure 2 is a schematic diagram of the reliable protocol packet header in the present invention.

[0050] Figure 3 is a diagram of the sender queue model in the present invention.

[0051] Figure 4 is a schematic flow chart of fast retransmission in the present invention.

[0052] Figure 5 is a schematic flow chart of timeout retransmission in the present invention.

[0053] Figure 6 This is the receiving queue model diagram in the present invention.

[0054] Figure 7 This is the schematic diagram of the test system for radar data transmission in the present invention. Specific implementation manners

[0055] To make the objectives, technical solutions and beneficial effects of the present invention more clear and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments.

[0056] This embodiment provides a method for reliable radar data transmission. Based on the UDP protocol in Ethernet, first, a reliable protocol header and a packet splitting function are designed to enable the sending end to detect packet loss. Secondly, multiple retransmission mechanisms are used to ensure the reliable transmission of radar data frames and reduce the total transmission time. Finally, flow control and congestion control mechanisms are implemented to increase the packet sending efficiency.

[0057] Specifically, the method for reliable radar data transmission includes data sending and data receiving. As Figure 1 shown, it specifically includes the following steps:

[0058] Step A. Data sending;

[0059] Step A1. The data delivered by the application layer enters the data packet splitting module, the data packet splitting function is executed, and a reliable protocol header is added to each data packet. Then, it is judged whether to put it into the sending queue according to the remote window value. Finally, data sending is executed in the sending queue;

[0060] In the data packet splitting module, first, the number of bytes and the number of packet splits of the data block are calculated, and then reverse packet splitting is performed and put into the waiting sending linked list; it is judged whether the receiving party window is available according to the remote window value. When the receiving party window value is greater than or equal to the sending requirement, it is determined that the receiving party window is available, the data block is put into the sending queue, and sending is executed. Otherwise, waiting is executed;

[0061] The reliable protocol header is as Figure 2As shown, it successively includes: Identi parameter, Cmd parameter, Frg parameter, Wnd parameter, una parameter, sn parameter, ts parameter, len parameter; among them, the Identi parameter represents that this data packet is a special data packet for RUDP (Reliable UDP). When the Identi parameters of the sender and the receiver are equal, the subsequent processing of the data packet is effective; the Cmd parameter represents the type of this data packet, and there are four types of data packets: data packet, ACK packet, window probe message packet, window reply message packet; the Frg parameter represents the fragment packet sequence number, Wnd represents the receiver window value, una represents the sequence number of the packet to be received, sn represents the sequence number of this data packet, ts represents the timestamp of this data packet, and the len parameter represents the length of this data packet; the data segment represents data data;

[0062] The sending queue is a queue composed of a linked list and is sorted by the packet sequence number, as Figure 3 shown. The descriptions of each component are as follows: snd_nxt represents the pointer of the linked list of data packets to be sent, and its parameter value represents the number of the next data packet to be sent; snd_una represents the pointer of the linked list of data packets that have been sent but not received ACK, and its parameter value represents the smallest number of the data packets that have not received ACK; the data packets generated after the data block passes through the packet splitting module will be judged whether to join the snd_nxt pointer of the sending queue according to the receiver window value. After joining the snd_nxt pointer of the sending queue, they wait to be sent. The data packets that have been sent will be moved to the snd_una pointer to wait for ACK, and the data that has received ACK in snd_una will be removed;

[0063] Step A2. Start the network listening thread at the sending end, listen to the message packets received in the network, parse the message packets according to the reliable protocol header, and judge the type of the message packets;

[0064] If the message packet type is an ACK message packet, update the ACK queue according to the message packet information. After the ACK queue is updated, update the sending queue, and remove the sent data packets that have been confirmed from the snd_una linked list; and execute the fast retransmission function according to the confirmation of the ACK message packet;

[0065] The fast retransmission process is as Figure 4 shown. Among them, one thread checks whether there is a need to send data packets in RUDP, and another thread continuously listens to ACK message packets; after receiving an ACK message packet, add 1 to the fastack parameter of all data packets that have not received ACK, and traverse the entire sending queue, and execute the retransmission function for all data packets that have not received ACK and whose fastack parameter is equal to 3;

[0066] If the message packet type is a window reply message packet, update the receiver window value according to the received information;

[0067] Step A3. Start the timeout retransmission thread at the sender. For each data packet sent from the sending queue, start a timer with the timer time set to RTO. If the ACK packet of this data packet is not received within RTO, perform the timeout retransmission function and update the RTO parameter of this data packet to 1.5 times; if the ACK packet of this data packet is received within RTO, delete the timer and remove this data packet from the sending queue, as Figure 5 shown;

[0068] RTO is updated according to the RTT parameter calculated from the received ACK packet. The update method is as follows:

[0069] Sample the time of RTT and perform weighted average to calculate the smoothed RTT value, which is continuously updated according to the network conditions; calculate the round-trip time RTT based on the ts timestamp of each received ACK packet n , and then calculate the smoothed round-trip time SRTT n and the smoothed variance DevRTT n ;

[0070] When calculating for the first time, RTO1 is updated as follows:

[0071] SRTT1 = RTT1(1 - 1)

[0072] DevRTT1 = RTT1 / 2(1 - 2)

[0073] RTO1 = μ × SRTT1 + δ × DevRTT1(1 - 3)

[0074] Obtain the latest RTT based on the timestamp of the newly received ACK data packet n , and calculate RTO n subsequently as:

[0075] SRTT n = SRTT n-1 + α × (RTT n - SRTT n-1 )(1 - 4)

[0076] DevRTT n = (1 - β) × DevRTT n-1 + β × (|RTT n - SRTT n |)(1 - 5)

[0077] RTO n = μ × SRTT n + δ × DevRTT n (1 - 6)

[0078] Among them, α = 0.125, β = 0.25, μ = 1, δ = 4;

[0079] In the present invention, selective repeat is adopted for fast retransmission and timeout retransmission. Taking timeout retransmission as an example, specifically: an sn parameter is added to the reliable protocol header, and an ACK queue is added at the sender side to accurately identify the data packets for which ACKs have not been received; then, according to the ACK situation in the ACK queue, the data packets for which ACKs have not been received within the timeout are screened out for retransmission;

[0080] Step A4. Execute the congestion control function every time an ACK packet is received;

[0081] In the congestion control function, the congestion window value updated each time is denoted as cwnd n , and the corresponding slow start threshold is denoted as ssthresh n , and the number of packets received by the receiver during the period when the sender receives two adjacent ACK packets is denoted as ACKcount n ;

[0082] At the start of transmission, the slow start mode is enabled, and cwnd n is updated to:

[0083] cwnd n = cwnd n-1 + ACKcount n (1 - 7)

[0084] When the congestion window value is greater than the slow start threshold, the congestion avoidance growth mode is enabled, and cwnd n is updated to:

[0085] cwnd n = cwnd n-1 + ACKcount n / cwnd n-1 (1 - 8)

[0086] When network congestion occurs, that is, when data packet retransmission occurs, the congestion occurrence algorithm is enabled;

[0087] When timeout retransmission occurs, it represents that the network condition is poor, and ssthresh n and cwnd n are updated to:

[0088] ssthresh n = cwnd n-1 / 2 (1 - 9)

[0089] cwnd n = 1 (1 - 10)

[0090] When fast retransmission occurs, ssthresh n and cwnd n are updated to:

[0091] cwnd n = cwnd n-1 / 2 (1 - 11)

[0092] ssthresh n = cwnd n (1 - 12)

[0093] Fast retransmission indicates that the sender can receive a certain number of ACK packets, representing good network conditions, and starts the fast recovery algorithm.

[0094] cwnd n+1 = ssthresh n + 3 (1 - 13)

[0095] Step B. Data reception;

[0096] Step B1. Start the receiver network listening thread to listen for packets received in the network; parse the packets according to the Cmd parameter in the reliable protocol header to determine the packet type;

[0097] If the packet type is a data packet, put the received data packet into the receive queue, perform the data packet combining function, and reply with an ACK packet;

[0098] The RUDP receive queue is a queue composed of linked lists and sorted by packet sequence numbers. As Figure 6 shown, the descriptions of each component are as follows: rcv_nxt represents the pointer to the linked list of received but unacknowledged data packets, and its parameter value represents the sequence number of the data packet to be received; rcv_ucs represents the pointer to the linked list of acknowledged but unconsumed data packets, and its parameter value represents the sequence number of the data packet to be retrieved; in the receive queue, the received data is first placed in the linked list pointed to by the rcv_nxt pointer, then the ACK packet reply function is executed, and at the same time, the data field is moved to the linked list pointed to by the rcv_ucs pointer, and finally, it waits for the packet combining module to retrieve the data packet; to ensure the data order in data transmission, only the data packet with the sequence number equal to the parameter value of the rcv_ucs pointer is retrieved, and the parameter value of the rcv_ucs pointer is incremented by one after retrieval;

[0099] If the packet type is a window probe packet, reply with a window reply packet;

[0100] Step B2. After receiving data in the receive queue, perform the data packet combining function;

[0101] The data packet combining function is as follows: After new data is taken out from the receiving queue, the packet combining operation starts. It judges whether the system memory resources are sufficient. If sufficient, the data packets are combined according to the Frg value, and after the combination is completed, it is delivered to the application layer.

[0102] To verify the reliability and real-time performance of the radar data transmission method proposed by the present invention, in this embodiment, the data transmission reliability verification and real-time performance verification of this method are carried out based on MR3003 radar data on a general PC platform.

[0103] The test system is as Figure 7 shown. Two PC machines are configured. Among them, Node 1: (192.168.2.113), Node 2: (192.168.48.52); Node 1 is an outdoor PC node, Node 2 is an indoor PC node, the nodes are connected through Ethernet, Node 1 is directly connected to the MR3003 radar through a network cable, and different transmission protocols are used to transmit data to test the transmission delay, bandwidth, and packet loss rate.

[0104] The radar data transmission method is tested in two aspects. On the one hand, the reliability of data transmission is tested, requiring that the transmitted files are completely reliable and available, the data files are not lost and are composed in accordance with the specified file format; the size of each frame of millimeter-wave radar data is 256 Kbyte, and each frame consists of 4 files, and each file type is binary (application / octet-stream). If it is a file of other types, the file is unavailable, and file loss will occur during the data transmission process. On the other hand, the real-time performance of data transmission is tested. The MR3003 radar generates one frame of radar data every 100 ms. That is, if the transmission delay of one frame of radar data frame by the communication middleware is less than 100 ms, the next frame of radar data can be transmitted in time, which can meet the real-time communication requirements of the MR3003 millimeter-wave radar. And the total transmission time of transmitting 100M data is tested using the TCP and RUDP reliable transmission protocols, and the transmission speed of RUDP in the real-time long-term transmission scenario is tested.

[0105] For the reliability test, the TCP / UDP / RUDP three transmission protocols are used respectively under different network conditions. The data range for transmission is from 1M to 16M, with a total of 5 groups. Each group is tested 100 times, and the number of received files and the number of available files in the receiving end are counted. For the real-time test, the TCP / RUDP two transmission protocols are used respectively under different network environments to test the transmission of 100MByte radar data frames. By conducting experiments in different network environments, the packet loss rate during data transmission is affected. The packet loss rate range is 0% - 18%, divided into 7 groups. Each group's packet loss rate range is tested 100 times. To ensure a 0% packet loss rate for data transmission within the node, and to ensure a low packet loss rate for data transmission when testing in places with good network environments such as rooftops or laboratories, and a higher packet loss rate for transmission can be obtained when testing in places with poor network environments such as elevators. The test parameters include packet loss rate and used bandwidth.

[0106] The test results are as follows:

[0107] In the reliability test, when comparing the UDP protocol and the RUDP protocol of the present invention, packet loss occurs during the transmission process. When only using the UDP protocol, not only will data loss occur, but the available data that has been received may become unavailable due to factors such as misaligned sorting order. When using the reliable transmission method in the RUDP designed by the present invention, the receiving end can finally receive the radar data frames with the complete data volume, and all data is available data, indicating that the reliable transmission module meets the basic requirements of reliable transmission of the communication middleware.

[0108] In the real-time test, as shown in Table 1, the transmission time and average consumed bandwidth consumed when using the TCP protocol and the RUDP protocol respectively during the radar data transmission with a packet loss rate of 0% - 18% are recorded. It can be seen from the table that when the packet loss rate is relatively low, the average consumed bandwidth and the required transmission time of using the TCP protocol and the RUDP protocol are basically the same. When the packet loss rate is relatively high, the transmission time of using the RDUP protocol is about 5% less than that of using the TCP protocol, but the average consumed bandwidth is larger. And when using the RDUP protocol, the transmission time of each radar data frame is less than its generation time, meeting the radar data frame transmission rate requirements.

[0109] Table 1

[0110]

[0111]

[0112] The above are only specific embodiments of the present invention. Any feature disclosed in this specification, unless specifically described, can be replaced by other equivalent or alternative features with similar purposes; all disclosed features, or all steps in any method or process, except for mutually exclusive features and / or steps, can be combined in any manner.

Claims

1. A reliable radar data transmission method, comprising: Data sending and data receiving, the specific steps are as follows: Step A. Data sending; Step A1. The application layer delivers data into the data packet splitting module, which executes the data packet splitting function, adds a reliable protocol header to each data packet, then determines whether to put it into the sending queue according to the remote window value, and finally performs data sending in the sending queue; Step A2. Start the sending end network listening thread to listen for the packet received in the network, parse the packet according to the reliable protocol header, and determine the packet type; If the packet type is an ACK packet, update the ACK queue according to the packet information, update the sending queue after the ACK queue is updated, and remove the already confirmed sent data packet from the snd_una linked list; and perform the fast retransmission function according to the confirmation of the ACK packet; If the packet type is a window reply packet, update the receiver window value according to the received information; Step A3. Start the sending end timeout retransmission thread. For each data packet sent in the sending queue, start a timer, and set the timer time to RTO. If the ACK packet of this data packet is not received within RTO, perform the timeout retransmission function, and update the RTO parameter of this data packet to 1.5 times; If the ACK packet of this data packet is received within RTO, delete the timer and remove this data packet from the sending queue; RTO is updated according to the RTT parameter calculated from the received ACK packet. The update method is: Sample the RTT time and perform weighted averaging to calculate the smoothed RTT value; calculate the round-trip time RTT based on the ts timestamp of each received ACK packet n , and then calculate the smoothed round-trip time SRTT n and the smoothed variance DevRTT n ; When calculating for the first time, RTO1 is updated as follows: SRTT1 = RTT1 DevRTT1 = RTT1 / 2 RTO1 = μ×SRTT1 + δ×DevRTT1 Obtain the latest RTT based on the timestamp of the newly received ACK packet n , and subsequently calculate the RTO n which is SRTT n = SRTT n-1 + α × (RTT n - SRTT n-1 ) DevRTT n = (1 - β) × DevRTT n-1 + β × (|RTT n - SRTT n |) RTO n = μ × SRTT n + δ × DevRTT n Among them, α = 0.125, β = 0.25, μ = 1, μ = 4; RTT n , SRTT n , DevRTT n respectively represent the round-trip time, smoothed round-trip time, and smoothed variance at the nth update moment; Step A4. Perform the congestion control function every time an ACK packet is received; the congestion control function is: The congestion window value at the nth update moment is denoted as cwnd n , and the corresponding slow start threshold is denoted as ssthresh n , and the number of packets received by the receiver during the period when the sender receives two consecutive ACK packets is denoted as ACKcount n ; Enable slow start mode at the beginning of transmission, cwnd n Update to: cwnd n = cwnd n-1 + ACKcount n When the congestion window value is greater than the slow start threshold, enable the congestion avoidance growth mode, and update cwnd n to: cwnd n = cwnd n-1 + ACKcount n / cwnd n-1 When data packet retransmission occurs, enable the congestion occurrence algorithm: When a timeout retransmission occurs, ssthresh n and cwnd n are updated to: ssthresh n = cwnd n-1 / 2 cwnd n = 1 When fast retransmission occurs, ssthresh n and cwnd n are updated to: cwnd n = cwnd n-1 / 2 ssthresh n = cwnd n cwnd n+1 = ssthresh n + 3; Step B. Data receiving; Step B1. Start the receiving end network listening thread to listen for the packet received in the network; parse the packet according to the Cmd parameter in the reliable protocol header to determine the packet type; If the packet type is a data packet, put the received data packet into the receiving queue, perform the data packet combining function, and reply with an ACK packet; If the packet type is a window probe packet, reply with a window reply packet; Step B2. After data is received in the receiving queue, perform the data packet combining function.

2. The radar data reliable transmission method according to claim 1, characterized in that, In the data packet splitting module of Step A1, first calculate the number of bytes and the number of split packets of the data block, then perform reverse splitting and put them into the waiting sending linked list; determine whether the receiver window is available according to the remote window value. When the receiver window value is greater than or equal to the sending requirement, it is determined that the receiver window is available, put the data block into the sending queue, and perform sending, otherwise, perform waiting.

3. The radar data reliable transmission method according to claim 1, characterized in that, The reliable protocol packet header in step A1 includes: Identi parameter, Cmd parameter, Frg parameter, Wnd parameter, una parameter, sn parameter, ts parameter, len parameter; among them, the Identi parameter represents that this data packet is a special RUDP data packet, and the subsequent processing of the data packet is valid when the Identi parameters of the sender and the receiver are equal; the Cmd parameter represents the type of this data packet, which are in turn: data data packet, ACK data packet, window probe message packet, window reply message packet; the Frg parameter represents the fragment packet sequence number, Wnd represents the receiver window value, una represents the sequence number of the packet to be received, sn represents the sequence number of this data packet, ts represents the timestamp of this data packet, and the len parameter represents the length of this data packet; the data segment represents the data.

4. The reliable radar data transmission method according to claim 1, characterized in that The fast retransmission in step A2 is specifically as follows: after receiving an ACK message packet, increment the fastack parameter of all data packets for which ACK has not been received by 1, and traverse the entire sending queue, and perform the retransmission function on all data packets for which the fastack parameter is equal to 3 and for which ACK has not been received.

Citation Information

Patent Citations

  • UDP (User Datagram Protocol) data transmission method and related equipment

    CN115695577A

  • Reliable one-to-many data transmission method based on UDP

    CN116073957A

  • UDP data transmission method and UDP data transmission device

    CN116074252A