WO2018049652A1 - Data retransmission method and device - Google Patents

Data retransmission method and device Download PDF

Info

Publication number
WO2018049652A1
WO2018049652A1 PCT/CN2016/099223 CN2016099223W WO2018049652A1 WO 2018049652 A1 WO2018049652 A1 WO 2018049652A1 CN 2016099223 W CN2016099223 W CN 2016099223W WO 2018049652 A1 WO2018049652 A1 WO 2018049652A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
sending
sent
sequence number
receiving
Prior art date
Application number
PCT/CN2016/099223
Other languages
French (fr)
Chinese (zh)
Inventor
薛冰
杨小虎
尤中乾
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to CN201680076291.XA priority Critical patent/CN108476097B/en
Priority to PCT/CN2016/099223 priority patent/WO2018049652A1/en
Publication of WO2018049652A1 publication Critical patent/WO2018049652A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems

Definitions

  • Determining, according to the second sending indication, that the first data packet sent by the first time is lost including: determining, according to a left end number and a right end number of the current sliding window, that the serial number is located in the current sliding window The first packet is lost.
  • the determining module is configured to: determine, according to the received serial number discontinuity of the data packet sent by the sending end, that the first data packet sent by the first time is lost, The serial number of the first data packet is the missing serial number.
  • the receiving module when receiving the second sending indication sent by the sending end, is specifically configured to: receive a second ping packet sent by the sending end, where the second ping packet includes a current sliding window. Left end number and right end number;
  • the data retransmission device provided in this embodiment is configured to determine that the data packet sent by the transmitting end is not sent by the transmitting end, and then sent to the transmitting end to indicate that the Nth transmission is not received.
  • the lost message of the data packet, and the data packet sent by the receiving and transmitting end according to the lost message, and the received data packet is the data packet sent by the transmitting end for the N+1th time.
  • the number of times of the lost data packet can be determined, and the lost message is sent to the sender to notify the data packet that the number of times of the transmission is not received, so that the sender sends the data packet again after receiving the lost message. Guaranteed number According to the continuity of transmission, the data transmission delay is reduced and the transmission bandwidth is increased.
  • the sending module is further configured to: before the receiving module receives the first lost message sent by the receiving end, send a first sending indication to the receiving end, where the A sending indication is used to indicate that the first data packet sent by the Nth time has been transmitted.
  • the first sending indication includes a first sequence number of the data packet sent by the Nth time, where the first sequence number is used to indicate that the data packet whose Nth transmission sequence number is less than or equal to the first sequence number has been sent. .
  • the first sending indication includes a number of sending times N and a first sequence number, where the number of sending times N and the first sequence number are used to indicate that the sequence number of the Nth transmission is less than or equal to the data packet of the first sequence number has been sent. .
  • the receiving module is further configured to: before the transmitting module sends the first sending indication to the receiving end, receive a second lost message sent by the receiving end, where the second lost message is used to indicate that Receiving the first data packet sent by the N-1th time;
  • the receiving module when receiving the first lost message sent by the receiving end, is specifically configured to: receive a negative response message sent by the receiving end, where the negative response message includes a sequence number of the first data packet. The previous serial number;
  • the device further includes:
  • the receiving module is further configured to receive a third lost message sent by the receiving end, where the third lost message is used to indicate that the data packet is not received;
  • the sending module is further configured to send, according to the third lost message, a second sending indication to the receiving end, where the second sending indication is used to indicate that the first data packet that is sent the first time is sent.
  • the sending module is configured to send a second ping packet to the receiving end, where the second ping packet is sent to the receiving end according to the third lost message.
  • the left end serial number and the right end serial number of the current sliding window are included; the left end serial number and the right end serial number of the current sliding window product are used to indicate that the first data packet in the current sliding window has been sent.
  • an adjusting module configured to: after the sending, by the sending module, send the first data packet sent by the N+1th time to the receiving end according to the first lost message, adjust according to the sequence number of the first data packet Current sliding window; the N+1 is the maximum number of transmissions.
  • the data retransmission device receives the lost message sent by the receiving end to indicate that the Nth transmitted data packet is not received, and then sends the data packet again according to the lost message.
  • the transmitting end sends the data packet again after receiving the lost message, thereby ensuring continuity of data transmission, reducing data transmission delay, and improving transmission bandwidth. Guaranteed continuity of data transmission, reduced data transmission delay, and improved transmission bandwidth
  • Embodiment 3 is a flowchart of Embodiment 3 of a data retransmission method according to the present invention.
  • Embodiment 4 is a flowchart of Embodiment 4 of a data retransmission method according to the present invention.
  • Embodiment 5 is a flowchart of Embodiment 5 of a data retransmission method according to the present invention.
  • Embodiment 6 is a flowchart of Embodiment 6 of a data retransmission method according to the present invention.
  • Embodiment 7 is a flowchart of Embodiment 7 of a data retransmission method according to the present invention.
  • Embodiment 8 is a flowchart of Embodiment 8 of a data retransmission method according to the present invention.
  • FIG. 9 is a schematic diagram of a structure of a data packet according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of an application of a data retransmission method according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of an application of a data retransmission method according to an embodiment of the present invention.
  • FIG. 12 is a schematic diagram of an application of a data retransmission method according to an embodiment of the present invention.
  • Embodiment 13 is a schematic structural diagram of Embodiment 1 of a data retransmission apparatus according to the present invention.
  • Embodiment 2 of a data retransmission apparatus according to the present invention
  • FIG. 15 is a schematic structural diagram of Embodiment 1 of a data retransmission system according to the present invention.
  • the data retransmission method provided by the embodiments of the present invention can be applied to a drone.
  • the following transmitting end can be a drone, and the receiving end can be a control device for controlling the drone.
  • the control device can include a remote controller and The ground station, the ground station can be a smart phone or a tablet computer, and the following data packet can be a picture taken by the camera device in the drone.
  • Embodiment 1 is a flowchart of Embodiment 1 of a data retransmission method according to the present invention. As shown in FIG. 1, the method in this embodiment may include:
  • S103 Receive a data packet that is sent by the sending end to the N+1th time, where the data packet sent by the N+1th time is a data packet sent by the sending end according to the lost message.
  • the executor of this embodiment is a receiving end, and the receiving end may determine that the data packet sent by the transmitting end is lost for the Nth time, and the N is an integer greater than or equal to 1, that is, the receiving end may determine that the sending end sends the sending end.
  • the sent packet is lost and it can also be determined that the lost packet was sent by the sender several times. Then, it is required to notify the sending end that the data packet receiving end sent by the sending end is not received, and the transmitting end needs to send the data packet again, that is, in this embodiment, the receiving end sends a lost message to the sending end, and the lost message is used.
  • the receiving end does not receive the data packet sent by the transmitting end for the Nth time, and then the receiving end can receive the data packet that is sent by the sending end according to the lost message, and the data packet is the data packet sent by the transmitting end for the N+1th time.
  • the data retransmission method provided in this embodiment is determined by not determining that the data packet sent by the transmitting end is sent by the transmitting end (i.e., N times), and then sending the sending end to indicate that the Nth sending is not received.
  • the lost message of the data packet, and the data packet sent by the receiving and transmitting end according to the lost message, and the received data packet is the data packet sent by the transmitting end for the N+1th time.
  • the number of times of the lost data packet can be determined, and the lost message is sent to the sender to notify the data packet that the number of times of the transmission is not received, so that the sender sends the data packet again after receiving the lost message.
  • the continuity of data transmission is guaranteed, the data transmission delay is reduced, and the transmission bandwidth is improved.
  • Embodiment 2 is a flowchart of Embodiment 2 of a data retransmission method according to the present invention. As shown in FIG. 2, the method in this embodiment may include:
  • S201 Receive a lost message sent by the receiving end, where the lost message is used to indicate that the data packet sent by the Nth time is not received, and N is an integer greater than or equal to 1.
  • the execution body of this embodiment is a transmitting end, and the transmitting end receives the lost message sent by the receiving end, and the transmitting end can determine that the receiving end does not receive the data packet sent by the sending end according to the received lost message, and the unreceived data packet is the transmitting end.
  • the data packet sent in the Nth time is then sent to the receiving end again, and the data packet sent again is the data packet sent by the N+1th time, so that the receiving end can receive the data packet transmitted by the N+1th time.
  • the data retransmission method provided in this embodiment receives the lost message sent by the receiving end to indicate that the Nth transmitted data packet is not received, and then sends the data packet again according to the lost message.
  • the transmitting end sends the data packet again after receiving the lost message, thereby ensuring continuity of data transmission, reducing data transmission delay, and improving transmission bandwidth.
  • FIG. 3 is a flowchart of Embodiment 3 of the data retransmission method of the present invention. As shown in FIG. 3, in this embodiment, N is greater than or equal to 2, and the method in this embodiment may include:
  • the sending end sends a sending indication to the receiving end.
  • the sending indication is used to indicate that the data packet sent by the Nth time has been sent.
  • N is an integer greater than or equal to 2.
  • the transmitting end after transmitting the data packet sent by the Nth time to the receiving end, the transmitting end sends the sending indication to the receiving end; correspondingly, the receiving end receives the sending indication sent by the sending end.
  • the sending end may carry the sending indication in a data packet and send the signal to the receiving end.
  • the receiving end determines, according to the sending indication, that the data packet sent by the Nth time is lost.
  • the receiving end after receiving the transmission indication, the receiving end has not received the data packet so far, and then determines, according to the sending indication, that the data packet sent by the transmitting end is lost for the Nth time, that is, the Nth time of the transmitting end is not received.
  • the packet sent after receiving the transmission indication, the receiving end has not received the data packet so far, and then determines, according to the sending indication, that the data packet sent by the transmitting end is lost for the Nth time, that is, the Nth time of the transmitting end is not received.
  • the foregoing sending indication includes a first sequence number of the data packet sent by the Nth time, where the first sequence number is used to indicate that the sequence number of the Nth transmission is less than or equal to the number
  • the receiving end determines, according to the first sequence number in the sending indication, that the sequence number sent by the Nth time is less than or equal to the first number.
  • the data packet of the serial number is lost, that is, the receiving end determines, according to the first sequence number, that the data packet whose sequence number sent by the transmitting end is less than or equal to the first sequence number sent by the transmitting end is determined, and the receiving end determines that the data packet is not received. Therefore, the receiving end determines the Nth.
  • the packet sent with the sequence number less than or equal to the first sequence number is lost.
  • the sending indication may include multiple fields, where a first field of the multiple field indicates a sequence number of the data packet sent for the second time, and a second field indicates a sequence number of the data packet sent for the third time.
  • the N-1 field may be filled with a value indicating the sequence number of the data packet transmitted by the N+1th time, and the positions of the other fields are invalid. If the sending indication is carried in the data packet transmission, the structure for transmitting the indication may be as shown in Table 1, and the multiple fields in the sending indication are the fields (including the fifth bit field) after the fifth bit field in Table 1.
  • the foregoing sending indication includes sending The number of times N and the first sequence number, the first sequence number and the number of transmissions N are used to indicate that the data packet whose sequence number of the Nth transmission is less than or equal to the first sequence number has been sent; correspondingly, the sender end is not received.
  • the receiving end is according to the first The sequence number and the number of transmissions N determine that the data transmission end of the Nth transmission sequence number less than or equal to the first sequence number has been transmitted, and the receiving end determines that it has not been received, and therefore, the receiving end determines that the data packet is lost.
  • the sending indication may include a sending times field and a sequence number field, and determining, according to the number of the sending times field and the serial number field, which data packet is sent in the first few times, so in this embodiment, the number of times of sending may be filled in the field.
  • the receiving end sends a lost message to the sending end.
  • the lost message is used to indicate that the data packet sent by the Nth time is not received.
  • the sending end sends, according to the lost message, the data packet sent by the N+1th time to the receiving end.
  • the sending end indicates that the data packet sent by the Nth transmission to the receiving end is sent by sending the indication; and then the receiving end does not receive the data packet, and determines that the data packet sent by the Nth time has been lost, and The sender sends a lost message; the sender sends the packet again after receiving the lost message, ensuring continuity of data transmission, reducing data transmission delay, and improving transmission bandwidth.
  • N is greater than or equal to 2
  • the method in this embodiment may include:
  • the receiving end sends a first lost message to the sending end.
  • the first lost message is used to indicate that the data packet sent by the (N-1)th transmission is not received.
  • the receiving end may determine that the data packet sent by the N-1th time is lost, and then send the first lost message to the transmitting end.
  • the S401 For a specific implementation process of the S401, refer to the related description in the foregoing embodiment or the following embodiments, and details are not described herein again.
  • the sending end sends, according to the first lost message, the data packet sent by the Nth time to the receiving end.
  • the transmitting end determines, according to the first lost message, that the data packet sent by the N-1th time is lost, and then sends the data packet to the receiving end again, and the data packet sent this time is called the data packet sent by the Nth time. .
  • the sending end determines that the message sent by the receiving end to indicate that the Nth transmitted data packet has been received or lost is not received within the preset time, the sending end sends a ping packet to the receiving end.
  • the ping packet includes a sending indication.
  • the message sent by the receiving end to indicate that the data packet sent by the Nth time has been received is not received within the preset time, and the receiving message is not received.
  • the sending end sends a ping packet to the receiving end, and the ping packet carries a sending indication.
  • the sending indication refer to the related description in the embodiment shown in FIG. 3, and details are not described herein again.
  • the receiving end determines, according to the sending indication, that the data packet sent by the Nth time is lost.
  • the receiving end sends a second lost message to the sending end.
  • the sending end sends, according to the second lost message, the data packet sent by the N+1th time to the receiving end.
  • the sending end sends an indication to the receiving end through the ping packet, to indicate to the receiving end that the data packet sent by the Nth time has been sent; and then the receiving end determines the Nth sending time when the data packet is not received.
  • the data packet has been lost, and the lost message is sent to the sending end; the transmitting end sends the data packet again after receiving the lost message, which ensures the continuity of data transmission, reduces the data transmission delay, and improves the transmission bandwidth.
  • FIG. 5 is a flowchart of Embodiment 5 of a data retransmission method according to the present invention. As shown in FIG. 5, this embodiment is shown in FIG. Taking N equal to 1 as an example, the method in this embodiment may include:
  • the receiving end determines, according to the discontinuous sequence number of the data packet sent by the receiving end, that the data packet sent by the first time is lost.
  • the sequence number of the lost data packet is a missing sequence number.
  • the sending end sequentially sends a data packet to the receiving end according to the serial number of the data packet, and each data packet carries the serial number of the data packet.
  • the receiving end receives the data packet sent by the transmitting end, and when the receiving end receives the data packet, but the serial number of the data packet received in sequence is not continuous, according to which it can be determined that the data packet corresponding to the missing serial number is lost.
  • the receiving end receives the data packet with sequence numbers 2 and 3, and can determine that the data packet with the sequence number 1 is lost; for example, the receiving end receives the data packet with the sequence number 1, 2, and 4, and accordingly, the sequence number is determined to be 3 packets are lost.
  • the receiving end of the embodiment needs to send a lost message to the sending end, and the lost message is used to indicate that the first sent data packet is lost.
  • the receiving end sending the lost message to the sending end may include S502.
  • the receiving end sends a negative response message to the sending end.
  • the negative response message includes a previous sequence number of the sequence number of the data packet, and the previous sequence number of the sequence number of the data packet is used by the sender to determine that the data packet is lost for the first time.
  • the sequence number of the lost data packet is a missing sequence number
  • the data packet receiving end corresponding to the previous sequence number of the missing sequence number is received, so the negative response message sent by the receiving end to the sending end includes the The previous sequence number of the sequence number of the lost data packet, for example, the sequence number of the lost data packet is 3, and the sequence number included in the negative response message is 2.
  • the sending end sends the second transmitted data packet to the receiving end according to the negative response message.
  • the sender determines that the first sent data packet has been lost according to the previous sequence number of the lost data packet in the negative acknowledgement message, for example, in the negative acknowledgement message. If the previous sequence number of the lost data packet is 2, the sender determines that the data packet with sequence number 3 has been lost according to the sequence number 2, and then sends the data packet to the receiving end again. The data packet sent this time is the second time. The packet sent.
  • the sending end changes the left end number of the current sliding window to the previous serial number of the lost serial number of the data packet according to the previous serial number of the lost serial number of the data packet.
  • the sending end may determine that the previous sequence number and the data packet corresponding to the previous sequence number have been successfully received according to the previous sequence number of the lost data packet in the negative response message. Therefore, the left end number of the current sliding window is changed to the previous serial number of the missing serial number of the data packet. For example, if the previous serial number of the serial number of the lost data packet is 3, the transmitting end of the embodiment changes the left end serial number of the current sliding window to 3.
  • the receiving end may determine that the data packet sent by the first time is lost, and then send a negative acknowledgement message to the sending end; the transmitting end sends the data packet again after receiving the negative acknowledgement message. , to ensure the continuity of data transmission, reduce the data transmission delay, and improve the transmission bandwidth.
  • FIG. 6 is a flowchart of Embodiment 6 of the data retransmission method of the present invention. As shown in FIG. 6 , in this embodiment, N is equal to 1. The method in this embodiment may include:
  • the sending end sends a data packet to the receiving end according to the sliding window.
  • the first lost message is used to indicate that a data packet has not been received.
  • the transmitting end sends a data packet to the receiving end according to the sliding window, and when the receiving end does not receive any data packet within the preset time, the receiving end sends the first lost message to the sending end.
  • the sending end sends a first sending indication to the receiving end according to the first lost message.
  • the first sending indication is used to indicate that the data packet sent for the first time has been sent.
  • the receiving end determines, according to the first sending indication, that the data packet sent by the first time is lost.
  • the transmitting end after receiving the first lost message, determines that all the transmitted data packets are lost according to the first lost message, and then sends a first sending indication to the receiving end, where the first sending indication is used to indicate the first time. Which packets were sent, that is, lost packets. After receiving the first sending indication, the receiving end may determine that the first sent data packet is lost.
  • a feasible implementation manner of the S603 is: the sending end sends a ping packet to the receiving end, where the ping packet includes a left end number and a right end serial number of the current sliding window; and a left end serial number of the current sliding window product And the right end sequence number is used to indicate that the data packet in the current sliding window has been sent.
  • a feasible implementation manner of S604 is: determining, according to the left end number and the right end number of the current sliding window, that the data packet whose serial number is located in the current sliding window is lost. For example, the left end of the current sliding window included in the ping packet is 0, and the right end is 2, and the receiving end is determined according to the left end number is 0, the right end number is 2, and the sequence number is 1 and the sequence number 2 is lost.
  • the receiving end sends a second lost message to the sending end.
  • the second lost message is used to indicate that the first transmitted data packet is not received.
  • the sending end sends, according to the second lost message, the data packet sent for the second time to the receiving end.
  • FIG. 7 is a flowchart of Embodiment 7 of the data retransmission method of the present invention. As shown in FIG. 7, the method in this embodiment may include:
  • the receiving end determines that the first data packet sent by the sending end is lost.
  • the N is an integer greater than or equal to 1;
  • the receiving end sends a lost message to the sending end.
  • the lost message is used to indicate that the first data packet sent by the Nth time is not received.
  • the sending end sends the second data packet to the receiving end.
  • the second data packet carries a sequence number of the second data packet, a left end sequence number and a right end sequence number of the current sliding window.
  • the sending end sends, according to the lost message, the first data packet sent by the N+1th time to the receiving end.
  • the receiving end sends the data packet to the sending end.
  • the end sends an acknowledgement response message.
  • the acknowledgement response message is used to indicate that a data packet corresponding to the sequence number before the sequence number of the second data packet in the current sliding window has been received.
  • the sequence number of the second data packet is equal to the right end number of the current sliding window, it is indicated that all the data packet sending ends in the current sliding window are sent to the receiving end, and the left end number of the current sliding window is within the right end serial number.
  • the receiving end sends an acknowledgement response message to the sender, and the current sliding window of the sender is notified by the acknowledgement response message. All packets in the port have been received.
  • the sending end receives the confirmation response message to update the current sliding window, for example, changing the left end number of the current sliding window to the serial number of the second data packet.
  • the data retransmission method provided in this embodiment ensures the continuity of data transmission, reduces the data transmission delay, improves the transmission bandwidth, and enables the receiving end to receive all the data packets in the current sliding window.
  • the acknowledgment response message is sent to the sender to ensure that the data transmission sequence is not disturbed.
  • FIG. 8 is a flowchart of Embodiment 8 of the data retransmission method of the present invention. As shown in FIG. 8, the method in this embodiment may include:
  • the receiving end determines that the first data packet sent by the sending end is lost.
  • the N is an integer greater than or equal to 1;
  • the sending end sends the second data packet to the receiving end.
  • N+1 is the maximum number of transmissions of the first data packet
  • the sending end considers that the first data packet sent by the N+1th transmission has been received, and after receiving the second data packet sent by the transmitting end, the receiving end sends an acknowledgement response message to the transmitting end, and acknowledges the response message by The sender notifies the data packet corresponding to the sequence number before the sequence number of the second data packet has been received.
  • the sender adjusts the current sliding window after receiving the confirmation response message.
  • the data packet sent by the (N+1)th time carries the number of times of sending the data packet N+1, so that the receiving end receives the N+1th transmission. After the data packet is described, it can be determined that the data packet is sent by the sender at the N+1th time.
  • the structure of the data packet with sequence number 1 includes: 1 (number of data packets), 0 (first transmission, no retransmission, so the number of retransmissions is 0), 0 (the first packet sent by the current sliding window)
  • the serial number (which is 1) minus 1), 1 (the serial number of the data packet sent by the current sliding window), and none (the data packet currently not retransmitted);
  • the structure of the data packet with the serial number 2 includes: 2, 0, 0 2, no;
  • the structure of the data packet with sequence number 3 includes: 3, 0, 0, 3, and none;
  • the structure of the data packet with sequence number 4 includes: 4, 0, 0, 4, and none;
  • the structure of the data packet includes: 5, 0, 0, 5, and none.
  • the receiving end receives the data packet with the sequence number of 1, 4, and the receiving end determines that the data packet with the sequence number 2 and 3 is lost according to the discontinuity of the sequence number of 1, 4, and the receiving end sends the data packet with the acknowledgement sequence number 1 to the transmitting end.
  • the 0th retransmission (ie, the first transmission) is a message whose sequence number is 1, 2 is not received; after receiving the message, the sender retransmits the data packet with the sequence number 1 to the receiving end (referred to as 1.1) And the data packet with sequence number 2 (referred to as 2.1), the structure of the data packet of 1.1 includes: 1, 1 (the first retransmission of the data packet with sequence number 1), 0, 2, 1 (the first time at this time) The serial number of the retransmitted data packet is 1), and the structure of the data packet of 2.1 includes: 2, 1 (the first retransmission of the data packet with sequence number 2), 0, 2, 2 (the first retransmission at this time) The serial number of the data packet is 2).
  • the continuity of data transmission is ensured, the defect of continuously retransmitting the first data packet before the acknowledgement response message of the first data packet is not received is avoided, and the data transmission delay is reduced, and the transmission bandwidth is improved.
  • the structure of the ping packet includes: None, none, 0, 2, 1 (the sequence number of the first retransmission packet is 1). After receiving the ping packet, the receiving end determines that the data packet with the sequence number 1 of the first retransmission is not received according to the ping packet, and the receiving end sends the data packet with the acknowledgment sequence number 0 to the transmitting end and the first packet.
  • the message of the sequence number 1 of the secondary retransmission (that is, the second transmission) is not received; after receiving the message, the transmitting end retransmits the data packet of sequence number 1 (referred to as 1.2), data of 1.2 to the receiving end.
  • the sending module 120 is configured to send, to the sending end, a first lost message, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received;
  • the receiving module 130 is configured to receive, by the sending end, the first data packet sent by the N+1th time, where the first data packet sent by the N+1th time is sent by the sending end according to the first lost message. The first packet.
  • the determining module 110 is specifically configured to: determine, according to the first sending indication, that the first data packet sent by the Nth time is lost.
  • the first sending indication includes a first sequence number of the data packet sent by the Nth time, where the first sequence number is used to indicate that the data packet whose Nth transmission sequence number is less than or equal to the first sequence number has been sent. ;
  • the determining module 110 is specifically configured to: determine, according to the first sequence number, that the first sequence sent by the Nth time is less than or equal to the first packet loss of the first sequence number.
  • the determining module 110 is configured to: when the receiving module 130 does not receive the first data packet, determine, according to the first serial number and the number of transmissions N, that the sequence number of the Nth transmission is less than or equal to The data packet of the first serial number is lost.
  • the receiving module 130 is specifically configured to: receive the first ping packet sent by the sending end, where the first ping packet includes the first sending indication.
  • the determining module 110 is specifically configured to: determine, according to the received serial number discontinuity of the data packet sent by the sending end, that the first data packet sent by the first time is lost, The sequence number of the first data packet is a missing sequence number.
  • the determining module 110 is specifically configured to: determine, according to the second sending indication, that the first data packet sent by the first time is lost.
  • the receiving module 130 when receiving the second sending indication sent by the sending end, is specifically configured to: receive a second ping packet sent by the sending end, where the second ping packet includes a current sliding window. The left end number and the right end number;
  • the determining module 110 is specifically configured to: according to the left end number and the right end serial number of the current sliding window, determine that the first data packet whose serial number is located in the current sliding window is lost.
  • the sending module 120 is further configured to: after the receiving module 130 receives the first data packet sent by the sending end of the N+1th time, when the sequence number of the second data packet is equal to the current sliding window And the first acknowledgement message is sent to the sending end, and the first acknowledgement response message is used to indicate that the data packet corresponding to the right end number of the current sliding window has been received. A data packet corresponding to the sequence number preceding the sequence number of the second data packet in the current sliding window has been received.
  • the first data packet sent by the (N+1)th time carries the number of transmissions N+1 of the first data packet.
  • the sending module 120 is further configured to send a second acknowledgement response message to the sending end, where the second acknowledgement response message is used to indicate that the data packet corresponding to the sequence number before the sequence number of the third data packet has been received.
  • the device in this embodiment may be used to perform the technical solution executed by the receiving end in the foregoing method embodiments of the present invention.
  • the implementation principle and technical effects are similar, and details are not described herein again.
  • the sending module 220 is configured to send, according to the first lost message, the first data packet that is sent by the N+1th time to the receiving end.
  • the first sending indication includes a number of sending times N and a first sequence number, where the number of sending times N and the first sequence number are used to indicate that the sequence number of the Nth transmission is less than or equal to the data packet of the first sequence number has been sent. .
  • the receiving module 210 is further configured to receive, after the sending module 220 sends the first sending indication to the receiving end, a second lost message sent by the receiving end, where the second lost message is used. Instructing that the first data packet of the N-1th transmission is not received;
  • the sending module 220 is further configured to send, according to the second lost message, the first data packet sent by the Nth time to the receiving end;
  • the device further includes: a change module 230, wherein the change module 230 is configured to change the left end number of the current sliding window to the front of the first data packet according to the previous serial number of the first data packet A serial number.
  • the receiving module 210 is further configured to receive a third lost message sent by the receiving end, where the third lost message is used to indicate that the data packet is not received;
  • the sending module 220 is configured to send a second ping packet to the receiving end, where the second ping packet is sent to the receiving end according to the third lost message.
  • the packet includes a left end number and a right end number of the current sliding window; the left end number and the right end number of the current sliding window are used to indicate that the first data packet in the current sliding window has been sent.
  • the apparatus in this embodiment further includes: an adjustment module 240, configured to send, by the sending module 220, the N+1th transmission to the receiving end according to the first lost message.
  • an adjustment module 240 configured to send, by the sending module 220, the N+1th transmission to the receiving end according to the first lost message. After the first data packet is described, the current sliding window is adjusted according to the sequence number of the first data packet; and the N+1 is the maximum number of transmissions.
  • the device in this embodiment may be used to perform the technical solution executed by the sending end in the foregoing method embodiments, and the implementation principle and technical effects are similar, and details are not described herein again.
  • FIG. 15 is a schematic structural diagram of Embodiment 1 of the data retransmission system of the present invention.
  • the system of this embodiment may include: a control device 10 and a drone 20.
  • the transceiver 21 of the drone 20 can communicate with the transceiver 11 of the control device 10, and the mounting table 22 of the drone is equipped with the imaging device 23, and the rotary wing 24 of the drone can change the steering so that the imaging device 23 can take a picture.
  • the drone 20 can transmit the picture captured by the imaging device 23 to the transceiver 11 of the control device 10 via the transceiver 21.
  • FIG. 15 is from one side of the drone 20. Two rotating wings of the drone 20 are shown, but the drone 20 can have four rotating wings.
  • control device 10 can execute the technical solution executed by the receiving end, and the drone 20 can execute the technical solution executed by the transmitting end.
  • the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed.
  • the foregoing storage medium includes: read-only memory (English: Read-Only Memory, ROM for short), random access memory (English: Random Access Memory, RAM), disk or A variety of media such as optical discs that can store program code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

Provided in an embodiment of the invention are a data retransmission method and device. The method comprises: determining that a data packet transmitted by a transmitting end at the nth time is lost, where N is an integer greater than or equal to 1; transmitting a packet lost message to the transmitting end, the packet lost message being used to indicate failure of reception of the data packet transmitted at the nth time; and receiving a data packet transmitted by the transmitting end at the N+1th time, wherein the data packet transmitted at the N+1th time is a data packet transmitted by the transmitting end according to the packet lost message. The invention ensures continuity of data transmission, thereby reducing data transmission delay, and increasing a transmission bandwidth.

Description

数据重传方法和装置Data retransmission method and device 技术领域Technical field
本发明实施例涉及通信技术领域,尤其涉及一种数据重传方法和装置。The embodiments of the present invention relate to the field of communications technologies, and in particular, to a data retransmission method and apparatus.
背景技术Background technique
在无人机领域,需要将天空端的相机图像实时传输到地面端,图像主要通过Wi-Fi网络进行传输。目前,数据传输基本上是基于传输控制协议(英文:Transmission Control Protocol,简称:TCP)、或者类用户数据报协议(英文:User Datagram Protocol,简称:UDP)协议,通过滑动窗口和网络拥塞机制,实现了可靠的数据传输,具体地,发送端向接收端发送携带有包序号的数据包,当接收端发现序号不连续时,会向发送端发送否定应答消息(英文:Negative Acknowledgment,简称:NAK),发送端只要收到NAK,就会重传对应的包,若发送端未接收到该重传包的确认应答消息(英文:Acknowledgement,简称:ACK),则发送端会根据重传间隔连续重传对应的包,在连续重传的情况下,导致数据包传输的时延成倍的增加。而Wi-Fi网络是容易受到干扰,有可能出现丢包的现象,如果在上述重传的机制上出现多次重传,会导致图像传输延时,而且传输带宽下降。In the field of drones, it is necessary to transmit the camera image of the sky end to the ground end in real time, and the image is mainly transmitted through the Wi-Fi network. At present, the data transmission is basically based on a Transmission Control Protocol (English: Transmission Control Protocol, TCP for short) or a User Datagram Protocol (UDP) protocol, through a sliding window and a network congestion mechanism. A reliable data transmission is implemented. Specifically, the transmitting end sends a data packet carrying the packet sequence number to the receiving end. When the receiving end finds that the sequence number is not continuous, it sends a negative response message to the sending end (English: Negative Acknowledgment, referred to as NAK) If the sender receives the NAK, it will retransmit the corresponding packet. If the sender does not receive the acknowledgment response message (English: Acknowledgement, ACK for short), the sender will continue according to the retransmission interval. The corresponding packet is retransmitted, and in the case of continuous retransmission, the delay of the packet transmission is multiplied. Wi-Fi networks are susceptible to interference, and packet loss may occur. If multiple retransmissions occur on the retransmission mechanism described above, image transmission delays may occur, and transmission bandwidth may decrease.
发明内容Summary of the invention
本发明实施例提供一种数据重传方法和装置,用于保证数据传输的连续性,降低数据传输延时,提高传输带宽。Embodiments of the present invention provide a data retransmission method and apparatus, which are used to ensure continuity of data transmission, reduce data transmission delay, and improve transmission bandwidth.
第一方面,本发明实施例提供一种数据重传方法,包括:In a first aspect, an embodiment of the present invention provides a data retransmission method, including:
确定发送端第N次发送的第一数据包丢失,所述N为大于或等于1的整数;Determining, by the sending end, that the first data packet sent by the Nth time is lost, and the N is an integer greater than or equal to 1;
向所述发送端发送第一丢失消息,所述第一丢失消息用于指示未接收到所述第N次发送的第一数据包;Sending a first lost message to the sending end, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received;
接收发送端第N+1次发送的第一数据包,其中,所述第N+1次发送的第一数据包为所述发送端根据所述第一丢失消息发送的第一数据包。 And receiving, by the sending end, the first data packet sent by the N+1th time, where the first data packet sent by the N+1th time is the first data packet sent by the sending end according to the first lost message.
可选地,当N≥2时,确定发送端第N次发送的第一数据包丢失,包括:Optionally, when N≥2, determining that the first data packet sent by the sending end is lost, including:
接收所述发送端发送的第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送;Receiving, by the sending end, a first sending indication, where the first sending indication is used to indicate that the first data packet sent by the Nth time has been sent;
根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失。Determining, according to the first sending indication, that the first data packet sent by the Nth time is lost.
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;Optionally, the first sending indication includes a first sequence number of the data packet sent by the Nth time, where the first sequence number is used to indicate that the data packet whose Nth transmission sequence number is less than or equal to the first sequence number has been sent. ;
根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失,包括:在未接收到所述第一数据包时,根据所述第一序号,确定第N次发送的序号小于或等于所述第一序号的第一数据包丢失。Determining, according to the first sending indication, that the first data packet sent by the Nth time is lost, including: determining, when the first data packet is not received, determining, according to the first sequence number, an Nth transmission The first data packet whose sequence number is less than or equal to the first serial number is lost.
可选地,所述第一发送指示包括发送次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;Optionally, the first sending indication includes a number of sending times N and a first sequence number, where the first sequence number and the number of sending times N are used to indicate that the sequence number of the Nth transmission is less than or equal to the data packet of the first sequence number. Has been sent;
根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失,包括:根据所述第一序号和所述发送次数N,确定第N次发送的序号小于或等于所述第一序号数据包丢失。Determining, according to the first sending indication, that the first data packet sent by the Nth time is lost, including: determining, according to the first sequence number and the number of sending times N, that the sequence number of the Nth transmission is less than or equal to The first serial number packet is lost.
可选地,所述接收所述发送端发送的第一发送指示之前,还包括:Optionally, before the receiving the first sending indication sent by the sending end, the method further includes:
向所述发送端发送第二丢失消息,所述第二丢失消息用于指示未接收到所述第N-1次发送的第一数据包;Transmitting, to the sending end, a second lost message, where the second lost message is used to indicate that the first data packet sent by the (N-1)th transmission is not received;
所述接收所述发送端发送的第一发送指示,包括:接收所述发送端发送的第一ping包,所述第一ping包中包括所述第一发送指示。The receiving the first sending indication sent by the sending end includes: receiving a first ping packet sent by the sending end, where the first ping packet includes the first sending indication.
可选地,当N=1时,确定发送端第N次发送的第一数据包丢失,包括:Optionally, when N=1, determining that the first data packet sent by the sending end is the Nth time, including:
根据接收的所述发送端发送的数据包的序号不连续,确定第一次发送的所述第一数据包丢失,所述第一数据包的序号为缺失的序号。And determining, according to the received sequence number of the data packet sent by the sending end, that the first data packet sent by the first time is lost, and the sequence number of the first data packet is a missing sequence number.
可选地,所述向发送端发送第一丢失消息,包括:向所述发送端发送否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号,所述第一数据包的序号的前一个序号用于所述发送端确定第1次发送的所述第一数据包丢失。Optionally, the sending the first lost message to the sending end includes: sending a negative response message to the sending end, where the negative response message includes a previous serial number of the sequence number of the first data packet, where the first The previous sequence number of the sequence number of the data packet is used by the sender to determine the first data packet loss sent for the first time.
可选地,当N=1时,确定发送端第N次发送的第一数据包丢失,包括:Optionally, when N=1, determining that the first data packet sent by the sending end is the Nth time, including:
当在预设时间内未接收到数据包时,向所述发送端发送第三丢失消息, 所述第三丢失消息用于指示未接收到数据包;When the data packet is not received within the preset time, the third lost message is sent to the sending end, The third lost message is used to indicate that the data packet is not received;
接收所述发送端发送的第二发送指示,所述第二发送指示用于指示所述发送端已发送第1次发送的所述第一数据包;Receiving, by the sending end, a second sending indication, where the second sending indication is used to indicate that the sending end has sent the first data packet that is sent for the first time;
根据所述第二发送指示确定所述第1次发送的第一数据包丢失。Determining, according to the second sending instruction, that the first data packet sent by the first time is lost.
可选地,接收所述发送端发送的第二发送指示,包括:接收所述发送端发送的第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;Optionally, receiving the second sending indication sent by the sending end, including: receiving a second ping packet sent by the sending end, where the second ping packet includes a left end serial number and a right end serial number of the current sliding window;
所述根据所述第二发送指示确定所述第1次发送的第一数据包丢失,包括:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述第一数据包丢失。Determining, according to the second sending indication, that the first data packet sent by the first time is lost, including: determining, according to a left end number and a right end number of the current sliding window, that the serial number is located in the current sliding window The first packet is lost.
可选地,所述接收所述发送端第N+1次发送的所述第一数据包之前,还包括:Optionally, before the receiving, by the sending end, the first data packet sent by the sending end of the N+1th time, the method further includes:
接收所述发送端发送的第二数据包,所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号;Receiving a second data packet sent by the sending end, where the second data packet carries a sequence number of the second data packet, a left end serial number and a right end serial number of the current sliding window;
所述接收所述发送端第N+1次发送的所述第一数据包之后,还包括:After the receiving, by the sending end, the first data packet sent by the N+1th time, the method further includes:
当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,向所述发送端发送第一确认应答消息,所述第一确认应答消息用于指示所述当前滑动窗口内所述第二数据包的序号之前的序号对应的数据包已接收。When the sequence number of the second data packet is equal to the right end number of the current sliding window, and the data packet corresponding to the right end number of the current sliding window to the right end serial number has been received, send the first to the sending end. And confirming the response message, where the first acknowledgement response message is used to indicate that the data packet corresponding to the sequence number before the sequence number of the second data packet in the current sliding window has been received.
可选地,所述第N+1次发送的所述第一数据包中携带有所述第一数据包的发送次数N+1。Optionally, the first data packet sent by the (N+1)th time carries the number of transmissions N+1 of the first data packet.
可选地,若所述N+1为最大发送次数,所述向发送端发送第一丢失消息之后,还包括:Optionally, if the N+1 is the maximum number of transmissions, after the sending the first lost message to the sending end, the method further includes:
接收所述发送端发送的第三数据包,所述第三数据包携带所述第三数据包的序号;Receiving a third data packet sent by the sending end, where the third data packet carries a sequence number of the third data packet;
向所述发送端发送第二确认应答消息,所述第二确认应答消息用于指示已接收到所述第三数据包的序号之前的序号对应的数据包。And sending, by the sending end, a second acknowledgement response message, where the second acknowledgement response message is used to indicate that the data packet corresponding to the sequence number before the sequence number of the third data packet has been received.
本实施例提供的数据重传方法,通过确定未接收到发送端发送的数据包是发送端第几(即N)次发送的,然后向发送端发送用于指示未接收到该第N次发送的数据包的丢失消息,以及接收发送端根据丢失消息发送的数据包, 接收的数据包为发送端第N+1次发送的数据包。由于本实施例中可以确定丢失的数据包的发送次数,并向发送端发送丢失消息以通知未接收到该发送次数的数据包,以使发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。The data retransmission method provided in this embodiment is determined by not determining that the data packet sent by the transmitting end is sent by the transmitting end (i.e., N times), and then sending the sending end to indicate that the Nth sending is not received. The lost message of the packet, and the packet sent by the receiving end according to the lost message, The received data packet is the data packet sent by the sender at the N+1th time. In this embodiment, the number of times of the lost data packet can be determined, and the lost message is sent to the sender to notify the data packet that the number of times of the transmission is not received, so that the sender sends the data packet again after receiving the lost message. The continuity of data transmission is guaranteed, the data transmission delay is reduced, and the transmission bandwidth is improved.
第二方面,本发明实施例提供一种数据重传方法,包括:In a second aspect, an embodiment of the present invention provides a data retransmission method, including:
接收接收端发送的第一丢失消息,所述第一丢失消息用于指示未接收到第N次发送的第一数据包,所述N为大于或等于1的整数;Receiving a first lost message sent by the receiving end, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received, where the N is an integer greater than or equal to 1;
根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包。And sending, according to the first lost message, the first data packet sent by the N+1th time to the receiving end.
可选地,当N≥2时,所述接收所述接收端发送的第一丢失消息之前,包括:Optionally, when N≥2, before receiving the first lost message sent by the receiving end, the method includes:
向所述接收端发送第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送。Sending, by the receiving end, a first sending indication, where the first sending indication is used to indicate that the first data packet sent by the Nth time has been sent.
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。Optionally, the first sending indication includes a first sequence number of the data packet sent by the Nth time, where the first sequence number is used to indicate that the data packet whose Nth transmission sequence number is less than or equal to the first sequence number has been sent. .
可选地,所述第一发送指示包括发送次数N和第一序号,所述发送次数N和第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。Optionally, the first sending indication includes a number of sending times N and a first sequence number, where the number of sending times N and the first sequence number are used to indicate that the sequence number of the Nth transmission is less than or equal to the data packet of the first sequence number has been sent. .
可选地,所述向所述接收端发送第一发送指示之前,还包括:Optionally, before the sending the first sending indication to the receiving end, the method further includes:
接收所述接收端发送的第二丢失消息,所述第二丢失消息用于指示未接收到第N-1次发送的所述第一数据包;Receiving a second lost message sent by the receiving end, where the second lost message is used to indicate that the first data packet that is not received by the N-1th transmission is received;
根据所述第二丢失消息,向所述接收端发送第N次发送的第一数据包;Transmitting, according to the second lost message, the first data packet sent by the Nth time to the receiving end;
所述向所述接收端发送第一发送指示,包括:Sending the first sending indication to the receiving end, including:
当确定在预设时间内未接收到所述接收端发送的用于指示所述第N次发送的第一数据包已接收或丢失的消息时,向所述接收端发送所述第一ping包,所述第一ping包中包括所述第一发送指示。When it is determined that the message sent by the receiving end to indicate that the first data packet sent by the Nth transmission has been received or lost is received within a preset time, sending the first ping packet to the receiving end The first ping packet includes the first sending indication.
可选地,所述接收接收端发送的第一丢失消息,包括:接收所述接收端发送的否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号; Optionally, the receiving, by the receiving end, the first lost message, comprising: receiving a negative response message sent by the receiving end, where the negative response message includes a previous sequence number of the sequence number of the first data packet;
所述方法,还包括:The method further includes:
根据所述第一数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为所述第一数据包的序号的前一个序号。And changing, according to the previous serial number of the sequence number of the first data packet, the left end number of the current sliding window to the previous serial number of the serial number of the first data packet.
可选地,所述接收接收端发送的第一丢失消息之前,还包括:Optionally, before the receiving the first lost message sent by the receiving end, the method further includes:
根据滑动窗口向所述接收端发送数据包;Transmitting a data packet to the receiving end according to a sliding window;
接收所述接收端发送的第三丢失消息,所述第三丢失消息用于指示未接收到数据包;Receiving, by the receiving end, a third lost message, where the third lost message is used to indicate that the data packet is not received;
根据所述第三丢失消息向所述接收端发送第二发送指示,所述第二发送指示用于指示已发送第1次发送的所述第一数据包。And sending, by the third lost message, a second sending indication to the receiving end, where the second sending indication is used to indicate that the first data packet that is sent the first time is sent.
可选地,根据所述第三丢失消息向所述接收端发送第二发送指示,包括:向所述接收端发送第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的第一数据包已发送。Optionally, sending the second sending indication to the receiving end according to the third lost message, including: sending a second ping packet to the receiving end, where the second ping packet includes a left end sequence number of the current sliding window, and The right end serial number; the left end serial number and the right end serial number of the current sliding window product are used to indicate that the first data packet in the current sliding window has been sent.
可选地,所述N+1为最大发送次数,所述根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包之后,还包括:Optionally, the N+1 is a maximum number of transmissions, and after the sending, by the first sending message, the first data packet sent by the N+1th time according to the first lost message, the method further includes:
根据所述第一数据包的序号,调整当前滑动窗口。Adjusting the current sliding window according to the sequence number of the first data packet.
本实施例提供的数据重传方法,通过接收接收端发送的用于指示未接收到第N次发送的数据包的丢失消息,然后根据丢失消息再次发送数据包。由于本实施例中发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。The data retransmission method provided in this embodiment receives the lost message sent by the receiving end to indicate that the Nth transmitted data packet is not received, and then sends the data packet again according to the lost message. In this embodiment, the transmitting end sends the data packet again after receiving the lost message, thereby ensuring continuity of data transmission, reducing data transmission delay, and improving transmission bandwidth.
第三方面,本发明实施例提供一种数据重传装置,包括:In a third aspect, an embodiment of the present invention provides a data retransmission device, including:
确定模块,用于确定发送端第N次发送的第一数据包丢失,所述N为大于或等于1的整数;a determining module, configured to determine, by the sending end, the first data packet sent by the Nth time, where the N is an integer greater than or equal to 1;
发送模块,用于向所述发送端发送第一丢失消息,所述第一丢失消息用于指示未接收到所述第N次发送的第一数据包;a sending module, configured to send a first lost message to the sending end, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received;
接收模块,用于接收发送端第N+1次发送的第一数据包,其中,所述第N+1次发送的第一数据包为所述发送端根据所述第一丢失消息发送的第一数据包。a receiving module, configured to receive, by the sending end, the first data packet sent by the N+1th time, where the first data packet sent by the N+1th time is sent by the sending end according to the first lost message A packet of data.
可选地,当N≥2时,所述接收模块,还用于接收所述发送端发送的第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送; Optionally, when N≥2, the receiving module is further configured to receive a first sending indication sent by the sending end, where the first sending indication is used to indicate the first data packet sent by the Nth time Has been sent;
所述确定模块,具体用于:根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失。The determining module is specifically configured to: determine, according to the first sending indication, that the first data packet sent by the Nth time is lost.
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;Optionally, the first sending indication includes a first sequence number of the data packet sent by the Nth time, where the first sequence number is used to indicate that the data packet whose Nth transmission sequence number is less than or equal to the first sequence number has been sent. ;
所述确定模块,具体用于:在所述接收模块未接收到所述第一数据包时,根据所述第一序号,确定第N次发送的序号小于或等于所述第一序号的第一数据包丢失。The determining module is configured to: when the receiving module does not receive the first data packet, determine, according to the first serial number, that the sequence number of the Nth transmission is less than or equal to the first sequence number The packet is lost.
可选地,所述第一发送指示包括发送次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;Optionally, the first sending indication includes a number of sending times N and a first sequence number, where the first sequence number and the number of sending times N are used to indicate that the sequence number of the Nth transmission is less than or equal to the data packet of the first sequence number. Has been sent;
所述确定模块,具体用于:根据所述第一序号和所述发送次数N,确定第N次发送的序号小于或等于所述第一序号的数据包丢失。The determining module is specifically configured to: determine, according to the first serial number and the number of transmissions N, that the sequence number sent by the Nth time is less than or equal to the data packet loss of the first sequence number.
可选地,所述发送模块,还用于在所述接收模块接收所述发送端发送的第一发送指示之前,向所述发送端发送第二丢失消息,所述第二丢失消息用于指示未接收到所述第N-1次发送的第一数据包;Optionally, the sending module is further configured to: before the receiving module receives the first sending indication sent by the sending end, send a second lost message to the sending end, where the second lost message is used to indicate Not receiving the first data packet sent by the N-1th time;
所述接收模块在接收所述发送端发送的第一发送指示时,具体用于:接收所述发送端发送的第一ping包,所述第一ping包中包括所述第一发送指示。The receiving module, when receiving the first sending indication sent by the sending end, is specifically configured to: receive the first ping packet sent by the sending end, where the first ping packet includes the first sending indication.
可选地,当N=1时,所述确定模块,具体用于:根据接收的所述发送端发送的数据包的序号不连续,确定第一次发送的所述第一数据包丢失,所述第一数据包的序号为缺失的序号。Optionally, the determining module is configured to: determine, according to the received serial number discontinuity of the data packet sent by the sending end, that the first data packet sent by the first time is lost, The serial number of the first data packet is the missing serial number.
可选地,所述发送模块在向发送端发送第一丢失消息时,具体用于包括:向所述发送端发送否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号,所述第一数据包的序号的前一个序号用于所述发送端确定第1次发送的所述第一数据包丢失。Optionally, when the sending module sends the first lost message to the sending end, the sending module specifically includes: sending a negative response message to the sending end, where the negative response message includes a sequence number of the first data packet. a sequence number, the previous sequence number of the sequence number of the first data packet is used by the sender to determine the first data packet loss sent for the first time.
可选地,当N=1时,所述发送模块,还用于当在预设时间内未接收到数据包时,向所述发送端发送第三丢失消息,所述第三丢失消息用于指示未接收到数据包;Optionally, when N=1, the sending module is further configured to: when a data packet is not received within a preset time, send a third lost message to the sending end, where the third lost message is used. Indicates that no data packet has been received;
所述接收模块,还用于接收所述发送端发送的第二发送指示,所述第二发送指示用于指示所述发送端已发送第1次发送的所述第一数据包; The receiving module is further configured to receive a second sending indication sent by the sending end, where the second sending indication is used to indicate that the sending end has sent the first data packet that is sent for the first time;
所述确定模块,具体用于:根据所述第二发送指示确定所述第1次发送的第一数据包丢失。The determining module is specifically configured to: determine, according to the second sending indication, that the first data packet sent by the first time is lost.
可选地,所述接收模块在接收所述发送端发送的第二发送指示时,具体用于:接收所述发送端发送的第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;Optionally, the receiving module, when receiving the second sending indication sent by the sending end, is specifically configured to: receive a second ping packet sent by the sending end, where the second ping packet includes a current sliding window. Left end number and right end number;
所述确定模块,具体用于:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述第一数据包丢失。The determining module is specifically configured to: determine, according to the left end number and the right end serial number of the current sliding window, that the first data packet whose serial number is located in the current sliding window is lost.
可选地,所述接收模块,还用于在接收所述发送端第N+1次发送的所述第一数据包之前,接收所述发送端发送的第二数据包,所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号;Optionally, the receiving module is further configured to: before receiving the first data packet sent by the sending end by the N+1th, receive the second data packet sent by the sending end, where the second data is The packet carries the serial number of the second data packet, the left end serial number and the right end serial number of the current sliding window;
所述发送模块,还用于在所述接收模块接收所述发送端第N+1次发送的所述第一数据包之后,当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,向所述发送端发送第一确认应答消息,所述第一确认应答消息用于指示所述当前滑动窗口内所述第二数据包的序号之前的序号对应的数据包已接收。The sending module is further configured to: after the receiving module receives the first data packet sent by the sending end of the N+1th time, when the sequence number of the second data packet is equal to the right end of the current sliding window a sequence number, and the data packet corresponding to the right end of the current sliding window is received, and the first acknowledgement response message is sent to the sending end, where the first acknowledgement response message is used to indicate the current The data packet corresponding to the sequence number before the serial number of the second data packet in the sliding window has been received.
可选地,所述第N+1次发送的所述第一数据包中携带有所述第一数据包的发送次数N+1。Optionally, the first data packet sent by the (N+1)th time carries the number of transmissions N+1 of the first data packet.
可选地,若所述N+1为最大发送次数,所述接收模块还用于在所述发送模块向发送端发送第一丢失消息之后,接收所述发送端发送的第三数据包,所述第三数据包携带所述第三数据包的序号;Optionally, if the N+1 is the maximum number of transmissions, the receiving module is further configured to: after the sending module sends the first lost message to the sending end, receive the third data packet sent by the sending end, where The third data packet carries the sequence number of the third data packet;
所述发送模块还用于向所述发送端发送第二确认应答消息,所述第二确认应答消息用于指示已接收到所述第三数据包的序号之前的序号对应的数据包。The sending module is further configured to send a second acknowledgment response message to the sending end, where the second acknowledgment response message is used to indicate that the data packet corresponding to the sequence number before the sequence number of the third data packet has been received.
本实施例提供的数据重传装置,通过确定未接收到发送端发送的数据包是发送端第几(即N)次发送的,然后向发送端发送用于指示未接收到该第N次发送的数据包的丢失消息,以及接收发送端根据丢失消息发送的数据包,接收的数据包为发送端第N+1次发送的数据包。由于本实施例中可以确定丢失的数据包的发送次数,并向发送端发送丢失消息以通知未接收到该发送次数的数据包,以使发送端在接收到丢失消息后再次发送该数据包,保证了数 据传输的连续性,降低了数据传输延时,提高了传输带宽。The data retransmission device provided in this embodiment is configured to determine that the data packet sent by the transmitting end is not sent by the transmitting end, and then sent to the transmitting end to indicate that the Nth transmission is not received. The lost message of the data packet, and the data packet sent by the receiving and transmitting end according to the lost message, and the received data packet is the data packet sent by the transmitting end for the N+1th time. In this embodiment, the number of times of the lost data packet can be determined, and the lost message is sent to the sender to notify the data packet that the number of times of the transmission is not received, so that the sender sends the data packet again after receiving the lost message. Guaranteed number According to the continuity of transmission, the data transmission delay is reduced and the transmission bandwidth is increased.
第四方面,本发明实施例提供一种数据重传装置,包括:In a fourth aspect, an embodiment of the present invention provides a data retransmission device, including:
接收模块,用于接收接收端发送的第一丢失消息,所述第一丢失消息用于指示未接收到第N次发送的第一数据包,所述N为大于或等于1的整数;a receiving module, configured to receive a first lost message sent by the receiving end, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received, where the N is an integer greater than or equal to 1;
发送模块,用于根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包。And a sending module, configured to send, according to the first lost message, the first data packet sent by the N+1th time to the receiving end.
可选地,当N≥2时,所述发送模块,还用于在所述接收模块接收所述接收端发送的第一丢失消息之前,向所述接收端发送第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送。Optionally, the sending module is further configured to: before the receiving module receives the first lost message sent by the receiving end, send a first sending indication to the receiving end, where the A sending indication is used to indicate that the first data packet sent by the Nth time has been transmitted.
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。Optionally, the first sending indication includes a first sequence number of the data packet sent by the Nth time, where the first sequence number is used to indicate that the data packet whose Nth transmission sequence number is less than or equal to the first sequence number has been sent. .
可选地,所述第一发送指示包括发送次数N和第一序号,所述发送次数N和第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。Optionally, the first sending indication includes a number of sending times N and a first sequence number, where the number of sending times N and the first sequence number are used to indicate that the sequence number of the Nth transmission is less than or equal to the data packet of the first sequence number has been sent. .
可选地,所述接收模块还用于在所述发送模块向所述接收端发送第一发送指示之前,接收所述接收端发送的第二丢失消息,所述第二丢失消息用于指示未接收到第N-1次发送的所述第一数据包;Optionally, the receiving module is further configured to: before the transmitting module sends the first sending indication to the receiving end, receive a second lost message sent by the receiving end, where the second lost message is used to indicate that Receiving the first data packet sent by the N-1th time;
所述发送模块,还用于根据所述第二丢失消息,向所述接收端发送第N次发送的第一数据包;The sending module is further configured to send, according to the second lost message, the first data packet sent by the Nth time to the receiving end;
所述发送模块在向所述接收端发送第一发送指示时,具体用于:当确定在预设时间内未接收到所述接收端发送的用于指示所述第N次发送的第一数据包已接收或丢失的消息时,向所述接收端发送所述第一ping包,所述第一ping包中包括所述第一发送指示。When the sending module sends the first sending indication to the receiving end, the sending module is specifically configured to: when it is determined that the first data sent by the receiving end to indicate the Nth sending is not received within a preset time When the packet has received or lost, the first ping packet is sent to the receiving end, and the first ping packet includes the first sending indication.
可选地,所述接收模块在接收接收端发送的第一丢失消息时,具体用于:接收所述接收端发送的否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号;Optionally, the receiving module, when receiving the first lost message sent by the receiving end, is specifically configured to: receive a negative response message sent by the receiving end, where the negative response message includes a sequence number of the first data packet. The previous serial number;
所述装置,还包括:The device further includes:
变更模块,用于根据所述第一数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为所述第一数据包的序号的前一个序号。 The change module is configured to change the left end number of the current sliding window to the previous serial number of the first data packet according to the previous serial number of the first data packet.
可选地,所述发送模块,还用于在所述接收模块接收接收端发送的第一丢失消息之前,根据滑动窗口向所述接收端发送数据包;Optionally, the sending module is further configured to: before the receiving module receives the first lost message sent by the receiving end, send the data packet to the receiving end according to the sliding window;
所述接收模块,还用于接收所述接收端发送的第三丢失消息,所述第三丢失消息用于指示未接收到数据包;The receiving module is further configured to receive a third lost message sent by the receiving end, where the third lost message is used to indicate that the data packet is not received;
所述发送模块,还用于根据所述第三丢失消息向所述接收端发送第二发送指示,所述第二发送指示用于指示已发送第1次发送的所述第一数据包。The sending module is further configured to send, according to the third lost message, a second sending indication to the receiving end, where the second sending indication is used to indicate that the first data packet that is sent the first time is sent.
可选地,所述发送模块,在根据所述第三丢失消息向所述接收端发送第二发送指示时,具体用于:向所述接收端发送第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的第一数据包已发送。Optionally, the sending module is configured to send a second ping packet to the receiving end, where the second ping packet is sent to the receiving end according to the third lost message. The left end serial number and the right end serial number of the current sliding window are included; the left end serial number and the right end serial number of the current sliding window product are used to indicate that the first data packet in the current sliding window has been sent.
可选地,所述装置还包括:Optionally, the device further includes:
调整模块,用于在所述发送模块根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包之后,根据所述第一数据包的序号,调整当前滑动窗口;所述N+1为最大发送次数。And an adjusting module, configured to: after the sending, by the sending module, send the first data packet sent by the N+1th time to the receiving end according to the first lost message, adjust according to the sequence number of the first data packet Current sliding window; the N+1 is the maximum number of transmissions.
本发明实施例提供的数据重传装置,通过接收接收端发送的用于指示未接收到第N次发送的数据包的丢失消息,然后根据丢失消息再次发送数据包。由于本实施例中发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽The data retransmission device provided by the embodiment of the present invention receives the lost message sent by the receiving end to indicate that the Nth transmitted data packet is not received, and then sends the data packet again according to the lost message. In this embodiment, the transmitting end sends the data packet again after receiving the lost message, thereby ensuring continuity of data transmission, reducing data transmission delay, and improving transmission bandwidth. Guaranteed continuity of data transmission, reduced data transmission delay, and improved transmission bandwidth
附图说明DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are some embodiments of the present invention, Those skilled in the art can also obtain other drawings based on these drawings without paying any creative work.
图1为本发明数据重传方法实施例一的流程图;1 is a flowchart of Embodiment 1 of a data retransmission method according to the present invention;
图2为本发明数据重传方法实施例二的流程图;2 is a flowchart of Embodiment 2 of a data retransmission method according to the present invention;
图3为本发明数据重传方法实施例三的流程图;3 is a flowchart of Embodiment 3 of a data retransmission method according to the present invention;
图4为本发明数据重传方法实施例四的流程图;4 is a flowchart of Embodiment 4 of a data retransmission method according to the present invention;
图5为本发明数据重传方法实施例五的流程图; 5 is a flowchart of Embodiment 5 of a data retransmission method according to the present invention;
图6为本发明数据重传方法实施例六的流程图;6 is a flowchart of Embodiment 6 of a data retransmission method according to the present invention;
图7为本发明数据重传方法实施例七的流程图;7 is a flowchart of Embodiment 7 of a data retransmission method according to the present invention;
图8为本发明数据重传方法实施例八的流程图;8 is a flowchart of Embodiment 8 of a data retransmission method according to the present invention;
图9为本发明实施例提供一种数据包的结构体的示意图;FIG. 9 is a schematic diagram of a structure of a data packet according to an embodiment of the present invention;
图10为本发明一实施例提供的数据重传方法的一种应用示意图;FIG. 10 is a schematic diagram of an application of a data retransmission method according to an embodiment of the present invention;
图11为本发明一实施例提供的数据重传方法的一种应用示意图;FIG. 11 is a schematic diagram of an application of a data retransmission method according to an embodiment of the present invention;
图12为本发明一实施例提供的数据重传方法的一种应用示意图;FIG. 12 is a schematic diagram of an application of a data retransmission method according to an embodiment of the present invention;
图13为本发明数据重传装置实施例一的结构示意图;13 is a schematic structural diagram of Embodiment 1 of a data retransmission apparatus according to the present invention;
图14为本发明数据重传装置实施例二的结构示意图;14 is a schematic structural diagram of Embodiment 2 of a data retransmission apparatus according to the present invention;
图15为本发明数据重传系统实施例一的结构示意图。FIG. 15 is a schematic structural diagram of Embodiment 1 of a data retransmission system according to the present invention.
具体实施方式detailed description
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the drawings in the embodiments of the present invention. It is a partial embodiment of the invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
本发明各实施例提供的数据重传方法可以应用于无人机中,下述的发送端可以是无人机,接收端可以是控制无人机的控制装置,例如控制装置可以包括遥控器和地面站,地面站可以是智能手机、平板电脑,下述的数据包可以是无人机中的摄像装置拍摄到的画面。The data retransmission method provided by the embodiments of the present invention can be applied to a drone. The following transmitting end can be a drone, and the receiving end can be a control device for controlling the drone. For example, the control device can include a remote controller and The ground station, the ground station can be a smart phone or a tablet computer, and the following data packet can be a picture taken by the camera device in the drone.
图1为本发明数据重传方法实施例一的流程图,如图1所示,本实施例的方法可以包括:1 is a flowchart of Embodiment 1 of a data retransmission method according to the present invention. As shown in FIG. 1, the method in this embodiment may include:
S101、确定发送端第N次发送的数据包丢失。S101. Determine that the data packet sent by the sender at the Nth time is lost.
S102、向所述发送端发送丢失消息,所述丢失消息用于指示未接收到所述第N次发送的数据包。S102. Send a lost message to the sending end, where the lost message is used to indicate that the data packet sent by the Nth time is not received.
S103、接收发送端第N+1次发送的数据包,其中,所述第N+1次发送的数据包为所述发送端根据所述丢失消息发送的数据包。S103. Receive a data packet that is sent by the sending end to the N+1th time, where the data packet sent by the N+1th time is a data packet sent by the sending end according to the lost message.
本实施例的执行主体为接收端,接收端可以确定发送端第N次发送的数据包丢失,所述N为大于或等于1的整数,也就是接收端可以确定发送端发 送的数据包丢失而且还可以确定这次丢失的数据包是发送端第几次发送的。然后需要向发送端通知该发送端第N次发送的数据包接收端未接收到,并且需要发送端再次发送数据包,也就是本实施例中接收端向发送端发送丢失消息,该丢失消息用于指示接收端未接收到发送端第N次发送的数据包,然后接收端可以接收发送端根据丢失消息重新发送的数据包,该数据包是发送端第N+1次发送的数据包。The executor of this embodiment is a receiving end, and the receiving end may determine that the data packet sent by the transmitting end is lost for the Nth time, and the N is an integer greater than or equal to 1, that is, the receiving end may determine that the sending end sends the sending end. The sent packet is lost and it can also be determined that the lost packet was sent by the sender several times. Then, it is required to notify the sending end that the data packet receiving end sent by the sending end is not received, and the transmitting end needs to send the data packet again, that is, in this embodiment, the receiving end sends a lost message to the sending end, and the lost message is used. The receiving end does not receive the data packet sent by the transmitting end for the Nth time, and then the receiving end can receive the data packet that is sent by the sending end according to the lost message, and the data packet is the data packet sent by the transmitting end for the N+1th time.
本实施例提供的数据重传方法,通过确定未接收到发送端发送的数据包是发送端第几(即N)次发送的,然后向发送端发送用于指示未接收到该第N次发送的数据包的丢失消息,以及接收发送端根据丢失消息发送的数据包,接收的数据包为发送端第N+1次发送的数据包。由于本实施例中可以确定丢失的数据包的发送次数,并向发送端发送丢失消息以通知未接收到该发送次数的数据包,以使发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。The data retransmission method provided in this embodiment is determined by not determining that the data packet sent by the transmitting end is sent by the transmitting end (i.e., N times), and then sending the sending end to indicate that the Nth sending is not received. The lost message of the data packet, and the data packet sent by the receiving and transmitting end according to the lost message, and the received data packet is the data packet sent by the transmitting end for the N+1th time. In this embodiment, the number of times of the lost data packet can be determined, and the lost message is sent to the sender to notify the data packet that the number of times of the transmission is not received, so that the sender sends the data packet again after receiving the lost message. The continuity of data transmission is guaranteed, the data transmission delay is reduced, and the transmission bandwidth is improved.
图2为本发明数据重传方法实施例二的流程图,如图2所示,本实施例的方法可以包括:2 is a flowchart of Embodiment 2 of a data retransmission method according to the present invention. As shown in FIG. 2, the method in this embodiment may include:
S201、接收接收端发送的丢失消息,所述丢失消息用于指示未接收到第N次发送的数据包,N为大于或等于1的整数。S201: Receive a lost message sent by the receiving end, where the lost message is used to indicate that the data packet sent by the Nth time is not received, and N is an integer greater than or equal to 1.
S202、根据所述丢失消息,向所述接收端发送第N+1次发送的所述数据包。S202. Send, according to the lost message, the data packet sent by the N+1th time to the receiving end.
本实施例的执行主体为发送端,发送端接收接收端发送的丢失消息,发送端根据接收的丢失消息可以确定接收端未接收到发送端发送的数据包,而且未接收的数据包为发送端第N次发送的数据包,然后向接收端再次发送数据包,该再次发送的数据包为第N+1次发送的数据包,以便接收端能接收第N+1次发送的数据包。The execution body of this embodiment is a transmitting end, and the transmitting end receives the lost message sent by the receiving end, and the transmitting end can determine that the receiving end does not receive the data packet sent by the sending end according to the received lost message, and the unreceived data packet is the transmitting end. The data packet sent in the Nth time is then sent to the receiving end again, and the data packet sent again is the data packet sent by the N+1th time, so that the receiving end can receive the data packet transmitted by the N+1th time.
本实施例提供的数据重传方法,通过接收接收端发送的用于指示未接收到第N次发送的数据包的丢失消息,然后根据丢失消息再次发送数据包。由于本实施例中发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。The data retransmission method provided in this embodiment receives the lost message sent by the receiving end to indicate that the Nth transmitted data packet is not received, and then sends the data packet again according to the lost message. In this embodiment, the transmitting end sends the data packet again after receiving the lost message, thereby ensuring continuity of data transmission, reducing data transmission delay, and improving transmission bandwidth.
图3为本发明数据重传方法实施例三的流程图,如图3所示,本实施例以N为大于或等于2为例,本实施例的方法可以包括: FIG. 3 is a flowchart of Embodiment 3 of the data retransmission method of the present invention. As shown in FIG. 3, in this embodiment, N is greater than or equal to 2, and the method in this embodiment may include:
S301、发送端向接收端发送发送指示。S301. The sending end sends a sending indication to the receiving end.
所述发送指示用于指示第N次发送的所述数据包已发送。N为大于或等于2的整数。The sending indication is used to indicate that the data packet sent by the Nth time has been sent. N is an integer greater than or equal to 2.
本实施例中,发送端在向接收端发送第N次发送的数据包之后,向接收端发送所述发送指示;相应地,接收端接收发送端发送的发送指示。可选地,发送端可以将发送指示携带在一数据包中发送给接收端。In this embodiment, after transmitting the data packet sent by the Nth time to the receiving end, the transmitting end sends the sending indication to the receiving end; correspondingly, the receiving end receives the sending indication sent by the sending end. Optionally, the sending end may carry the sending indication in a data packet and send the signal to the receiving end.
S302、接收端根据所述发送指示,确定所述第N次发送的所述数据包丢失。S302. The receiving end determines, according to the sending indication, that the data packet sent by the Nth time is lost.
本实施例中,接收端接收发送指示后,并且到目前为止还未接收到该数据包,然后根据发送指示,确定发送端第N次发送的数据包丢失,即未接收到发送端第N次发送的数据包。In this embodiment, after receiving the transmission indication, the receiving end has not received the data packet so far, and then determines, according to the sending indication, that the data packet sent by the transmitting end is lost for the Nth time, that is, the Nth time of the transmitting end is not received. The packet sent.
在S301和S302的一种可行的实现方式中,上述的发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;对应地,接收端在未接收到序号小于或等于第一序号的数据包时,根据发送指示中的第一序号,确定第N次发送的序号小于或等于第一序号的数据包丢失,也就是接收端根据第一序号确定发送端已发送第N次发送的序号小于或等于第一序号的数据包,而且接收端确定未接收到,因此,接收端确定第N次发送的序号小于或等于第一序号的数据包丢失。可选地,发送指示可以包括多个字段,该多个字段中的第一个字段表示第二次发送的数据包的序号,第二个字段表示第三次发送的数据包的序号,以此类推,因此本实施例中可以在第N-1个字段填上数值,该数值表示第N+1次发送的数据包的序号,而其它字段的位置为无效。若发送指示携带在数据包发送,则发送指示的结构体可以如表1所示,发送指示中的多个字段为表1中的第五位字段之后的字段(包括第五位字段)。In a possible implementation manner of S301 and S302, the foregoing sending indication includes a first sequence number of the data packet sent by the Nth time, where the first sequence number is used to indicate that the sequence number of the Nth transmission is less than or equal to the number Correspondingly, when the receiving end does not receive the data packet whose sequence number is less than or equal to the first sequence number, the receiving end determines, according to the first sequence number in the sending indication, that the sequence number sent by the Nth time is less than or equal to the first number. The data packet of the serial number is lost, that is, the receiving end determines, according to the first sequence number, that the data packet whose sequence number sent by the transmitting end is less than or equal to the first sequence number sent by the transmitting end is determined, and the receiving end determines that the data packet is not received. Therefore, the receiving end determines the Nth. The packet sent with the sequence number less than or equal to the first sequence number is lost. Optionally, the sending indication may include multiple fields, where a first field of the multiple field indicates a sequence number of the data packet sent for the second time, and a second field indicates a sequence number of the data packet sent for the third time. In the embodiment, the N-1 field may be filled with a value indicating the sequence number of the data packet transmitted by the N+1th time, and the positions of the other fields are invalid. If the sending indication is carried in the data packet transmission, the structure for transmitting the indication may be as shown in Table 1, and the multiple fields in the sending indication are the fields (including the fifth bit field) after the fifth bit field in Table 1.
表1Table 1
Figure PCTCN2016099223-appb-000001
Figure PCTCN2016099223-appb-000001
在S301和S302的另一种可行的实现方式中,上述的发送指示包括发送 次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;对应地,发送端在未接收到序号小于或等于第一序号的数据包时,根据发送指示中的第一序号和发送次数N,确定第N次发送的序号小于或等于第一序号的数据包丢失,也就是接收端根据第一序号和发送次数N确定第N次发送的序号小于或等于第一序号的数据包发送端已发送,而且接收端确定未接收到,因此,接收端确定数据包丢失。可选地,发送指示可以包括发送次数字段和序号字段,根据发送次数字段和序号字段中的数值共同决定第几次发送的哪个数据包已发送,因此本实施例中可以在发送次数字段中填上数值N,在序号字段上填上第一序号。若发送指示携带在数据包发送,则发送指示的结构体可以如表2所示,发送指示中的发送次数字段为表2中的第二位字段,序号字段为表2中的第五位字段。In another feasible implementation manner of S301 and S302, the foregoing sending indication includes sending The number of times N and the first sequence number, the first sequence number and the number of transmissions N are used to indicate that the data packet whose sequence number of the Nth transmission is less than or equal to the first sequence number has been sent; correspondingly, the sender end is not received. When the data packet whose sequence number is less than or equal to the first sequence number, according to the first sequence number and the number of transmission times N in the sending indication, it is determined that the data packet whose Nth transmission sequence number is less than or equal to the first sequence number is lost, that is, the receiving end is according to the first The sequence number and the number of transmissions N determine that the data transmission end of the Nth transmission sequence number less than or equal to the first sequence number has been transmitted, and the receiving end determines that it has not been received, and therefore, the receiving end determines that the data packet is lost. Optionally, the sending indication may include a sending times field and a sequence number field, and determining, according to the number of the sending times field and the serial number field, which data packet is sent in the first few times, so in this embodiment, the number of times of sending may be filled in the field. The upper value N, the first serial number is added to the serial number field. If the sending indication is carried in the data packet transmission, the structure for sending the indication may be as shown in Table 2. The number of transmission times in the transmission indication is the second bit field in Table 2, and the sequence number field is the fifth bit field in Table 2. .
表2Table 2
Figure PCTCN2016099223-appb-000002
Figure PCTCN2016099223-appb-000002
S303、接收端向所述发送端发送丢失消息。S303. The receiving end sends a lost message to the sending end.
所述丢失消息用于指示未接收到所述第N次发送的数据包。The lost message is used to indicate that the data packet sent by the Nth time is not received.
S304、发送端根据所述丢失消息,向所述接收端发送第N+1次发送的数据包。S304. The sending end sends, according to the lost message, the data packet sent by the N+1th time to the receiving end.
本实施例中,S303和S304的具体实现过程可以参见图1或图2所示实施例中的相关描述,此处不再赘述。For the specific implementation process of S303 and S304 in this embodiment, refer to the related description in the embodiment shown in FIG. 1 or FIG. 2, and details are not described herein again.
本实施例提供的数据重传方法,发送端通过发送指示向接收端指示第N次发送的数据包已发送;然后接收端未接收数据包时确定第N次发送的数据包已丢失,并向发送端发送丢失消息;发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。In the data retransmission method provided by the embodiment, the sending end indicates that the data packet sent by the Nth transmission to the receiving end is sent by sending the indication; and then the receiving end does not receive the data packet, and determines that the data packet sent by the Nth time has been lost, and The sender sends a lost message; the sender sends the packet again after receiving the lost message, ensuring continuity of data transmission, reducing data transmission delay, and improving transmission bandwidth.
图4为本发明数据重传方法实施例四的流程图,如图4所示,本实施例以N大于或等于2为例,本实施例的方法可以包括:4 is a flowchart of Embodiment 4 of the data retransmission method of the present invention. As shown in FIG. 4, in this embodiment, N is greater than or equal to 2, and the method in this embodiment may include:
S401、接收端向发送端发送第一丢失消息。 S401. The receiving end sends a first lost message to the sending end.
所述第一丢失消息用于指示未接收到所述第N-1次发送的数据包。The first lost message is used to indicate that the data packet sent by the (N-1)th transmission is not received.
本实施例中,接收端可以确定第N-1次发送的数据包丢失,然后向发送端发送第一丢失消息。其中,S401的具体实现过程可以参见上述实施例或下述实施例中的相关描述,此处不再赘述。In this embodiment, the receiving end may determine that the data packet sent by the N-1th time is lost, and then send the first lost message to the transmitting end. For a specific implementation process of the S401, refer to the related description in the foregoing embodiment or the following embodiments, and details are not described herein again.
S402、发送端根据所述第一丢失消息,向所述接收端发送第N次发送的数据包。S402. The sending end sends, according to the first lost message, the data packet sent by the Nth time to the receiving end.
本实施例中,发送端根据第一丢失消息,确定第N-1次发送的数据包丢失,然后再次向接收端发送数据包,这次的发送的数据包称为第N次发送的数据包。In this embodiment, the transmitting end determines, according to the first lost message, that the data packet sent by the N-1th time is lost, and then sends the data packet to the receiving end again, and the data packet sent this time is called the data packet sent by the Nth time. .
S403、当所述发送端确定在预设时间内未接收到接收端发送的用于指示第N次发送的数据包已接收或丢失的消息时,向所述接收端发送ping包。S403. When the sending end determines that the message sent by the receiving end to indicate that the Nth transmitted data packet has been received or lost is not received within the preset time, the sending end sends a ping packet to the receiving end.
所述ping包中包括发送指示。The ping packet includes a sending indication.
本实施例中,当发送端发送第N次发送的数据包之后,在预设时间内未接收到接收端发送的用于指示第N次发送的数据包已接收的消息,也没有接收到接收端发送的用于指示第N次发送的数据包已丢失的消息时,发送端向接收端发送ping包,而且该ping包中携带有发送指示。发送指示的相关描述可以参见图3所示实施例中的相关描述,此处不再赘述。In this embodiment, after the transmitting end sends the data packet sent by the Nth time, the message sent by the receiving end to indicate that the data packet sent by the Nth time has been received is not received within the preset time, and the receiving message is not received. When the terminal sends a message indicating that the data packet sent by the Nth time has been lost, the sending end sends a ping packet to the receiving end, and the ping packet carries a sending indication. For a description of the sending indication, refer to the related description in the embodiment shown in FIG. 3, and details are not described herein again.
S404、接收端根据所述发送指示,确定所述第N次发送的所述数据包丢失。S404. The receiving end determines, according to the sending indication, that the data packet sent by the Nth time is lost.
S405、接收端向所述发送端发送第二丢失消息。S405. The receiving end sends a second lost message to the sending end.
S406、发送端根据所述第二丢失消息,向所述接收端发送第N+1次发送的所述数据包。S406. The sending end sends, according to the second lost message, the data packet sent by the N+1th time to the receiving end.
本实施例中,S404-S406的具体实现过程可以参见图3所示实施例中的相关描述,此处不再赘述。For the specific implementation process of the S404-S406 in this embodiment, refer to the related description in the embodiment shown in FIG. 3, and details are not described herein again.
本实施例提供的数据重传方法,发送端通过ping包向接收端发送指示,以向接收端指示第N次发送的数据包已发送;然后接收端未接收数据包时确定第N次发送的数据包已丢失,并向发送端发送丢失消息;发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。In the data retransmission method provided by the embodiment, the sending end sends an indication to the receiving end through the ping packet, to indicate to the receiving end that the data packet sent by the Nth time has been sent; and then the receiving end determines the Nth sending time when the data packet is not received. The data packet has been lost, and the lost message is sent to the sending end; the transmitting end sends the data packet again after receiving the lost message, which ensures the continuity of data transmission, reduces the data transmission delay, and improves the transmission bandwidth.
图5为本发明数据重传方法实施例五的流程图,如图5所示,本实施例 以N等于1为例,本实施例的方法可以包括:FIG. 5 is a flowchart of Embodiment 5 of a data retransmission method according to the present invention. As shown in FIG. 5, this embodiment is shown in FIG. Taking N equal to 1 as an example, the method in this embodiment may include:
S501、接收端根据接收的发送端发送的数据包的序号不连续,确定第一次发送的数据包丢失。S501. The receiving end determines, according to the discontinuous sequence number of the data packet sent by the receiving end, that the data packet sent by the first time is lost.
所述丢失的数据包的序号为缺失的序号。The sequence number of the lost data packet is a missing sequence number.
本实施例中,发送端根据数据包的序号依次向接收端发送数据包,每个数据包中携带有该数据包的序号。相应地,接收端会接收到发送端发送的数据包,当接收端接收了数据包,但是按顺序接收到的数据包的序号不连续,据此可以确定缺失的序号对应的数据包丢失。例如:接收端接收了序号为2、3的数据包,据此可以确定序号为1的数据包丢失;例如:接收端接收了序号为1、2、4的数据包,据此可以确定序号为3的数据包丢失。In this embodiment, the sending end sequentially sends a data packet to the receiving end according to the serial number of the data packet, and each data packet carries the serial number of the data packet. Correspondingly, the receiving end receives the data packet sent by the transmitting end, and when the receiving end receives the data packet, but the serial number of the data packet received in sequence is not continuous, according to which it can be determined that the data packet corresponding to the missing serial number is lost. For example, the receiving end receives the data packet with sequence numbers 2 and 3, and can determine that the data packet with the sequence number 1 is lost; for example, the receiving end receives the data packet with the sequence number 1, 2, and 4, and accordingly, the sequence number is determined to be 3 packets are lost.
然后本实施例的接收端需要向发送端发送丢失消息,丢失消息用于指示第一次发送的数据包丢失,在一种可行的实现方式中,接收端向发送端发送丢失消息可以包括S502。Then, the receiving end of the embodiment needs to send a lost message to the sending end, and the lost message is used to indicate that the first sent data packet is lost. In a feasible implementation manner, the receiving end sending the lost message to the sending end may include S502.
S502、接收端向所述发送端发送否定应答消息。S502. The receiving end sends a negative response message to the sending end.
所述否定应答消息包括所述数据包的序号的前一个序号,所述数据包的序号的前一个序号用于所述发送端确定第1次发送的所述数据包丢失。The negative response message includes a previous sequence number of the sequence number of the data packet, and the previous sequence number of the sequence number of the data packet is used by the sender to determine that the data packet is lost for the first time.
本实施例中,丢失的数据包的序号为缺失的序号,而缺失的序号的前一个序号对应的数据包接收端是接收到的,因此接收端向发送端发送的否定应答消息中包括有该丢失的数据包的序号的前一个序号,例如:丢失的数据包的序号为3,则否定应答消息中包括的序号为2。In this embodiment, the sequence number of the lost data packet is a missing sequence number, and the data packet receiving end corresponding to the previous sequence number of the missing sequence number is received, so the negative response message sent by the receiving end to the sending end includes the The previous sequence number of the sequence number of the lost data packet, for example, the sequence number of the lost data packet is 3, and the sequence number included in the negative response message is 2.
S503、发送端根据否定应答消息,向接收端发送第二次发送的数据包。S503. The sending end sends the second transmitted data packet to the receiving end according to the negative response message.
本实施例中,发送端接收上述的否定应答消息后,根据否定应答消息中的丢失的数据包的序号的前一个序号,确定第一次发送的数据包已丢失,例如:否定应答消息中的丢失的数据包的序号的前一个序号为2,则发送端根据序号为2确定序号为3的数据包已丢失,然后向接收端再次发送该数据包,这次发送的数据包为第二次发送的数据包。In this embodiment, after receiving the negative acknowledgement message, the sender determines that the first sent data packet has been lost according to the previous sequence number of the lost data packet in the negative acknowledgement message, for example, in the negative acknowledgement message. If the previous sequence number of the lost data packet is 2, the sender determines that the data packet with sequence number 3 has been lost according to the sequence number 2, and then sends the data packet to the receiving end again. The data packet sent this time is the second time. The packet sent.
S504、发送端根据丢失的所述数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为丢失的所述数据包的序号的前一个序号。S504. The sending end changes the left end number of the current sliding window to the previous serial number of the lost serial number of the data packet according to the previous serial number of the lost serial number of the data packet.
本实施例中,发送端根据否定应答消息中的丢失的数据包的序号的前一个序号,可以确定该前一个序号以及之前的序号对应的数据包已成功接收, 因此,将当前滑动窗口的左端序号变更为丢失的该数据包的序号的前一个序号。例如:丢失的数据包的序号的前一个序号为3,则本实施例的发送端将当前滑动窗口的左端序号变更为3。In this embodiment, the sending end may determine that the previous sequence number and the data packet corresponding to the previous sequence number have been successfully received according to the previous sequence number of the lost data packet in the negative response message. Therefore, the left end number of the current sliding window is changed to the previous serial number of the missing serial number of the data packet. For example, if the previous serial number of the serial number of the lost data packet is 3, the transmitting end of the embodiment changes the left end serial number of the current sliding window to 3.
本实施例提供的数据重传方法,通过上述方案,接收端可以确定第一次发送的数据包丢失,然后向发送端发送否定应答消息;发送端在接收到否定应答消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。The data retransmission method provided in this embodiment, by using the foregoing solution, the receiving end may determine that the data packet sent by the first time is lost, and then send a negative acknowledgement message to the sending end; the transmitting end sends the data packet again after receiving the negative acknowledgement message. , to ensure the continuity of data transmission, reduce the data transmission delay, and improve the transmission bandwidth.
图6为本发明数据重传方法实施例六的流程图,如图6所示,本实施例以N等于1为例,本实施例的方法可以包括:FIG. 6 is a flowchart of Embodiment 6 of the data retransmission method of the present invention. As shown in FIG. 6 , in this embodiment, N is equal to 1. The method in this embodiment may include:
S601、发送端根据滑动窗口向接收端发送数据包。S601. The sending end sends a data packet to the receiving end according to the sliding window.
S602、当在预设时间内未接收到数据包时,接收端向所述发送端发送第一丢失消息。S602. When the data packet is not received within the preset time, the receiving end sends the first lost message to the sending end.
所述第一丢失消息用于指示未接收到数据包。The first lost message is used to indicate that a data packet has not been received.
本实施例中,发送端根据滑动窗口向接收端发送数据包,而接收端在预设时间内未接收到任何数据包时,接收端向发送端发送第一丢失消息。In this embodiment, the transmitting end sends a data packet to the receiving end according to the sliding window, and when the receiving end does not receive any data packet within the preset time, the receiving end sends the first lost message to the sending end.
S603、发送端根据所述第一丢失消息向所述接收端发送第一发送指示。S603. The sending end sends a first sending indication to the receiving end according to the first lost message.
所述第一发送指示用于指示已发送第一次发送的所述数据包。The first sending indication is used to indicate that the data packet sent for the first time has been sent.
S604、接收端根据所述第一发送指示确定所述第一次发送的数据包丢失。S604. The receiving end determines, according to the first sending indication, that the data packet sent by the first time is lost.
本实施例中,发送端接收到第一丢失消息后,根据第一丢失消息确定所有已发送的数据包丢失,然后向接收端发送第一发送指示,该第一发送指示用于指示第一次发送了哪些数据包,即丢失的数据包。接收端接收到第一发送指示后,可以确定第一次发送的数据包丢失。In this embodiment, after receiving the first lost message, the transmitting end determines that all the transmitted data packets are lost according to the first lost message, and then sends a first sending indication to the receiving end, where the first sending indication is used to indicate the first time. Which packets were sent, that is, lost packets. After receiving the first sending indication, the receiving end may determine that the first sent data packet is lost.
可选地,S603的一种可行的实现方式为:发送端向所述接收端发送ping包,所述ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的数据包已发送。相应地,S604的一种可行的实现方式为:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述数据包丢失。例如:ping包中包括的当前滑动窗口的左端序号为0、右端序号为2,接收端根据左端序号为0、右端序号为2确定序号为1以及序号为2的数据包丢失。Optionally, a feasible implementation manner of the S603 is: the sending end sends a ping packet to the receiving end, where the ping packet includes a left end number and a right end serial number of the current sliding window; and a left end serial number of the current sliding window product And the right end sequence number is used to indicate that the data packet in the current sliding window has been sent. Correspondingly, a feasible implementation manner of S604 is: determining, according to the left end number and the right end number of the current sliding window, that the data packet whose serial number is located in the current sliding window is lost. For example, the left end of the current sliding window included in the ping packet is 0, and the right end is 2, and the receiving end is determined according to the left end number is 0, the right end number is 2, and the sequence number is 1 and the sequence number 2 is lost.
S605、接收端向所述发送端发送第二丢失消息。 S605. The receiving end sends a second lost message to the sending end.
所述第二丢失消息用于指示未接收到所述第一次发送的数据包。The second lost message is used to indicate that the first transmitted data packet is not received.
S606、发送端根据所述第二丢失消息,向所述接收端发送第二次发送的所述数据包。S606. The sending end sends, according to the second lost message, the data packet sent for the second time to the receiving end.
本实施例中,S605和S606的具体实现过程可以参见图1或图2所示实施例中的相关描述,此处不再赘述。For the specific implementation process of S605 and S606 in this embodiment, refer to the related description in the embodiment shown in FIG. 1 or FIG. 2, and details are not described herein again.
图7为本发明数据重传方法实施例七的流程图,如图7所示,本实施例的方法可以包括:FIG. 7 is a flowchart of Embodiment 7 of the data retransmission method of the present invention. As shown in FIG. 7, the method in this embodiment may include:
S701、接收端确定发送端第N次发送的第一数据包丢失。S701. The receiving end determines that the first data packet sent by the sending end is lost.
所述N为大于或等于1的整数;The N is an integer greater than or equal to 1;
S702、接收端向所述发送端发送丢失消息。S702. The receiving end sends a lost message to the sending end.
所述丢失消息用于指示未接收到所述第N次发送的第一数据包。The lost message is used to indicate that the first data packet sent by the Nth time is not received.
本实施例中,S701和S702的具体实现过程可以参见上述各实施例中的相关描述,此处不再赘述。For the specific implementation process of S701 and S702 in this embodiment, reference may be made to related descriptions in the foregoing embodiments, and details are not described herein again.
S703、发送端向接收端发送第二数据包。S703. The sending end sends the second data packet to the receiving end.
所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号。The second data packet carries a sequence number of the second data packet, a left end sequence number and a right end sequence number of the current sliding window.
S704、发送端根据丢失消息,向所述接收端发送第N+1次发送的第一数据包。S704. The sending end sends, according to the lost message, the first data packet sent by the N+1th time to the receiving end.
S704的具体实现过程可以参见上述各实施例中的相关描述,此处不再赘述。For the specific implementation process of S704, refer to related descriptions in the foregoing embodiments, and details are not described herein again.
需要说明的是,S703与S704的执行顺序不分先后。It should be noted that the execution order of S703 and S704 is in no particular order.
S705、当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,接收端向所述发送端发送确认应答消息。S705. When the sequence number of the second data packet is equal to the right end number of the current sliding window, and the data packet corresponding to the left end serial number of the current sliding window to the right end serial number has been received, the receiving end sends the data packet to the sending end. The end sends an acknowledgement response message.
所述确认应答消息用于指示所述当前滑动窗口内所述第二数据包的序号之前的序号对应的数据包已接收。The acknowledgement response message is used to indicate that a data packet corresponding to the sequence number before the sequence number of the second data packet in the current sliding window has been received.
本实施例中,当第二数据包的序号等于当前滑动窗口的右端序号时,说明当前滑动窗口内的所有数据包发送端均向接收端发送了,而且当前滑动窗口左端序号到右端序号内的所有序号对应的数据包均由接收端接收到时,接收端向发送端发送确认应答消息,通过确认应答消息告知发送端当前滑动窗 口内所有的数据包均已接收。可选地,发送端接收到该确认应答消息更新当前滑动窗口,例如:将当前滑动窗口的左端序号更改为第二数据包的序号。In this embodiment, when the sequence number of the second data packet is equal to the right end number of the current sliding window, it is indicated that all the data packet sending ends in the current sliding window are sent to the receiving end, and the left end number of the current sliding window is within the right end serial number. When all the data packets corresponding to the sequence number are received by the receiving end, the receiving end sends an acknowledgement response message to the sender, and the current sliding window of the sender is notified by the acknowledgement response message. All packets in the port have been received. Optionally, the sending end receives the confirmation response message to update the current sliding window, for example, changing the left end number of the current sliding window to the serial number of the second data packet.
本实施例提供的数据重传方法,通过上述方案,保证了数据传输的连续性,而且降低了数据传输延时,提高了传输带宽,而且使得接收端接收了当前滑动窗口内全部数据包后,再向发送端发送确认应答消息,保证了数据传输顺序不会被打乱。The data retransmission method provided in this embodiment ensures the continuity of data transmission, reduces the data transmission delay, improves the transmission bandwidth, and enables the receiving end to receive all the data packets in the current sliding window. The acknowledgment response message is sent to the sender to ensure that the data transmission sequence is not disturbed.
图8为本发明数据重传方法实施例八的流程图,如图8所示,本实施例的方法可以包括:FIG. 8 is a flowchart of Embodiment 8 of the data retransmission method of the present invention. As shown in FIG. 8, the method in this embodiment may include:
S801、接收端确定发送端第N次发送的第一数据包丢失。S801. The receiving end determines that the first data packet sent by the sending end is lost.
所述N为大于或等于1的整数;The N is an integer greater than or equal to 1;
S802、接收端向所述发送端发送丢失消息。S802. The receiving end sends a lost message to the sending end.
所述丢失消息用于指示未接收到所述第N次发送的第一数据包。The lost message is used to indicate that the first data packet sent by the Nth time is not received.
本实施例中,S801和S802的具体实现过程可以参见上述各实施例中的相关描述,此处不再赘述。For the specific implementation process of S801 and S802 in this embodiment, refer to related descriptions in the foregoing embodiments, and details are not described herein again.
S803、发送端向接收端发送第二数据包。S803. The sending end sends the second data packet to the receiving end.
所述第二数据包携带所述第二数据包的序号。The second data packet carries a sequence number of the second data packet.
S804、发送端根据所述丢失消息,向所述接收端发送第N+1次发送的第一数据包。S804. The sending end sends, according to the lost message, the first data packet sent by the N+1th time to the receiving end.
本实施例中,S804的具体实现过程可以参见上述各实施例中的相关描述,此处不再赘述。For the specific implementation process of the S804 in this embodiment, refer to the related description in the foregoing embodiments, and details are not described herein again.
其中,S803和S804的执行顺序不分先后。Among them, the execution order of S803 and S804 is in no particular order.
S805、若所述N+1为最大发送次数,则接收端向所述发送端发送确认应答消息。S805. If the N+1 is the maximum number of transmissions, the receiving end sends an acknowledgement response message to the sending end.
所述确认应答消息用于指示已接收到所述第二数据包的序号之前的序号对应的数据包。The acknowledgement response message is used to indicate that the data packet corresponding to the sequence number before the sequence number of the second data packet has been received.
本实施例中,如果N+1为第一数据包的最大发送次数,表示无论接收端是否接收到第N+1次发送的第一数据包,发送端也不会再次发送第一数据包,因此,接收端认为已接收到第N+1次发送的第一数据包,在接收端接收到发送端发送的第二数据包后,接收端向发送端发送确认应答消息,通过确认应答消息向发送端通知第二数据包的序号之前的序号对应的数据包已接收。可 选地,发送端接收到确认应答消息后调整当前滑动窗口。In this embodiment, if N+1 is the maximum number of transmissions of the first data packet, it means that the sender does not send the first data packet again, regardless of whether the receiving end receives the first data packet sent by the N+1th time. Therefore, the receiving end considers that the first data packet sent by the N+1th transmission has been received, and after receiving the second data packet sent by the transmitting end, the receiving end sends an acknowledgement response message to the transmitting end, and acknowledges the response message by The sender notifies the data packet corresponding to the sequence number before the sequence number of the second data packet has been received. Can Alternatively, the sender adjusts the current sliding window after receiving the confirmation response message.
S806、若所述N+1为最大发送次数,则发送端根据所述第一数据包的序号,调整当前滑动窗口。S806. If the N+1 is the maximum number of transmissions, the sending end adjusts the current sliding window according to the sequence number of the first data packet.
本实施例中,发送端向接收端发送第N+1次发送的第一数据包后,如果N+1为第一数据包的最大发送次数,发送端不会再次发送第一数据包,因此发送端认为接收端已接收到第N+1次发送的第一数据包,然后根据第一数据包的序号调整当前滑动窗口,例如将当前滑动窗口的左端序号更改为第一数据包的序号。In this embodiment, after the sending end sends the first data packet sent by the N+1th to the receiving end, if the N+1 is the maximum number of times of sending the first data packet, the sending end does not send the first data packet again. The sender considers that the receiving end has received the first data packet sent by the N+1th time, and then adjusts the current sliding window according to the sequence number of the first data packet, for example, changing the left end number of the current sliding window to the sequence number of the first data packet.
S805与S806的执行顺序不分先后。The execution order of S805 and S806 is in no particular order.
本实施例提供的数据重传方法,通过上述方案,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽;而且存在最大发送次数的限制,可以容忍部分数据的丢失,提高了整体数据传输效率。The data retransmission method provided in this embodiment ensures the continuity of data transmission, reduces the delay of data transmission, and improves the transmission bandwidth through the above solution; and the limitation of the maximum number of transmissions can tolerate loss of part of data and improve The overall data transmission efficiency.
可选地,在上述各实施例中,所述第N+1次发送的数据包中携带有所述数据包的发送次数N+1,以使接收端接收到第N+1次发送的所述数据包后,可以确定该数据包是发送端第N+1次发送的。Optionally, in the foregoing embodiments, the data packet sent by the (N+1)th time carries the number of times of sending the data packet N+1, so that the receiving end receives the N+1th transmission. After the data packet is described, it can be determined that the data packet is sent by the sender at the N+1th time.
可选地,上述的发送次数可以用重传次数来表示,即发送次数等于重传次数+1,例如重传次数为1,表示发送次数为2。Optionally, the number of times of sending may be represented by the number of retransmissions, that is, the number of transmissions is equal to the number of retransmissions +1, for example, the number of retransmissions is 1, indicating that the number of transmissions is 2.
需要说明的是,当前滑动窗口是指当前传输的最多数据包量,而且当前滑动窗口内的数据包是已发送的但还未被确认接收的数据包;左端序号是指当前滑动窗口内第一个发送的数据包的序号减1,也就是当前最近已经确认接收的数据包的序号;右端序号是指当前滑动窗口内最晚发送的数据包的序号。It should be noted that the current sliding window refers to the maximum amount of data packets currently transmitted, and the data packet in the current sliding window is a data packet that has been sent but has not been confirmed to be received; the left end serial number refers to the first in the current sliding window. The serial number of the transmitted data packet is decremented by 1, that is, the serial number of the currently received data packet has been confirmed; the right end serial number is the serial number of the latest data packet sent in the current sliding window.
图9为本发明实施例提供一种数据包的结构体的示意图,如图9所示,最大重传次数为2(即最大发送次数为3),该结构体包括:数据包的序号、数据包的重传次数、当前滑动窗口的左端序号、右端序号、第1次重传的数据包的序号。FIG. 9 is a schematic diagram of a structure of a data packet according to an embodiment of the present invention. As shown in FIG. 9 , the maximum number of retransmissions is 2 (that is, the maximum number of transmissions is 3), and the structure includes: a sequence number and data of a data packet. The number of retransmissions of the packet, the left end number of the current sliding window, the right end number, and the serial number of the first retransmitted data packet.
图10为本发明一实施例提供的数据重传方法的一种应用示意图,如图10,本实施例基于如图9所示的结构体进行描述。FIG. 10 is a schematic diagram of an application of a data retransmission method according to an embodiment of the present invention. As shown in FIG. 10, the embodiment is described based on the structure shown in FIG. 9.
本实施例的滑动窗口为5进行举例说明,发送端根据滑动窗口为5依次向接收端发送序号为1的数据包、序号为2的数据包、序号为3的数据包、 序号为4的数据、序号为5的数据包。序号为1的数据包的结构体包括:1(数据包的序号)、0(第一次发送,没有重传,所以重传次数为0)、0(当前滑动窗口第一个发送的数据包的序号(为1)减1)、1(当前滑动窗口发送的数据包的序号)、无(当前没有重发的数据包);序号为2的数据包的结构体包括:2、0、0、2、无;序号为3的数据包的结构体包括:3、0、0、3、无;序号为4的数据包的结构体包括:4、0、0、4、无;序号为5的数据包的结构体包括:5、0、0、5、无。接收端接收到序号为1、4的数据包,接收端根据1、4序号的不连续,确定序号为2、3的数据包丢失,接收端向发送端发送确认序号为1的数据包已接收以及第0次重传(即第1次发送)的序号为2、3的数据包未接收到的消息;发送端接收到该消息后,向接收端重传序号为2的数据包(简称2.1)以及重传序号为3的数据包(简称3.1),2.1的数据包的结构体包括:2、1(序号为2的数据包第1次重传)、1(接收端已接收到序号为1的数据包,当前滑动窗口进行了调整)、5(当前滑动窗口已发送到的数据包的序号)、2(此时第1次重传的数据包的序号为2);3.1的数据包的结构体包括:3、1(序号为3的数据包第1次重传)、1、5(当前滑动窗口已发送到的数据包的序号)、3(此时第1次重传的数据包的序号为3);然后发送端根据滑动窗口为5继续发送序号为6的数据包,序号为6的数据包的结构体为:6、0、1、6、3(此时第1次重传的数据包的序号为3)。接收端接收到3.1的数据包,而没有接收到2.1的数据包,接收端继续向发送端发送确认序号为1的数据包已接收以及第1次重传(即第2次发送)的序号为2的数据包未接收到的消息;发送端接收到该消息后,向接收端重传序号为2的数据包(简称2.2),2.2的数据包的结构体包括:2、2(序号为2的数据包第2次重传)、1(接收端已接收到序号为1的数据包,当前滑动窗口进行了调整)、6(当前滑动窗口已发送到的数据包的序号)、3(此时第1次重传的数据包的序号为3)。接收端接收到序号为6的数据包以及2.2的数据包,然后向发送端发送确认序号为6的数据包已接收的消息,发送端接收该消息后,确定序号为6之前的对应的数据包均已接收,然后调整当前滑动窗口,继续发送后续的数据,例如发送序号为7的数据包。The sliding window of the embodiment is exemplified by 5, and the transmitting end sequentially sends a data packet with sequence number 1, a data packet with sequence number 2, and a data packet with sequence number 3 to the receiving end according to the sliding window of 5. The data with sequence number 4 and the data packet with sequence number 5. The structure of the data packet with sequence number 1 includes: 1 (number of data packets), 0 (first transmission, no retransmission, so the number of retransmissions is 0), 0 (the first packet sent by the current sliding window) The serial number (which is 1) minus 1), 1 (the serial number of the data packet sent by the current sliding window), and none (the data packet currently not retransmitted); the structure of the data packet with the serial number 2 includes: 2, 0, 0 2, no; the structure of the data packet with sequence number 3 includes: 3, 0, 0, 3, and none; the structure of the data packet with sequence number 4 includes: 4, 0, 0, 4, and none; The structure of the data packet includes: 5, 0, 0, 5, and none. The receiving end receives the data packet with the sequence number of 1, 4, and the receiving end determines that the data packet with the sequence number 2 and 3 is lost according to the discontinuity of the sequence number of 1, 4, and the receiving end sends the data packet with the acknowledgement sequence number 1 to the transmitting end. And the 0th retransmission (that is, the first transmission) the message whose sequence number is 2 or 3 is not received; after receiving the message, the sender retransmits the data packet of sequence number 2 to the receiving end (referred to as 2.1) And retransmitting the data packet of sequence number 3 (referred to as 3.1), and the structure of the data packet of 2.1 includes: 2, 1 (the first retransmission of the data packet with sequence number 2), 1 (the serial number received by the receiving end is 1 data packet, the current sliding window is adjusted), 5 (the serial number of the data packet to which the current sliding window has been sent), 2 (the serial number of the first retransmitted data packet is 2); The structure includes: 3, 1 (the first retransmission of the data packet with sequence number 3), 1, 5 (the sequence number of the data packet to which the current sliding window has been sent), and 3 (the data of the first retransmission at this time) The sequence number of the packet is 3); then the sender continues to send the data packet with sequence number 6 according to the sliding window of 5. The structure of the data packet with sequence number 6 is: 6, 0. 1,6,3 (case No. 1st retransmission data packet is 3). When the receiving end receives the data packet of 3.1 and does not receive the data packet of 2.1, the receiving end continues to send to the transmitting end that the data packet with the acknowledgement sequence number 1 has been received and the sequence number of the first retransmission (ie, the second transmission) is The message received by the data packet of 2; after receiving the message, the transmitting end retransmits the data packet of sequence number 2 (referred to as 2.2) to the receiving end, and the structure of the data packet of 2.2 includes: 2, 2 (the serial number is 2) The second retransmission of the data packet), 1 (the receiving end has received the data packet with sequence number 1, the current sliding window has been adjusted), 6 (the serial number of the data packet to which the current sliding window has been sent), 3 (this The serial number of the data packet retransmitted for the first time is 3). The receiving end receives the data packet with the sequence number of 6 and the data packet of 2.2, and then sends the message that the data packet with the sequence number 6 is received to the transmitting end, and after receiving the message, the transmitting end determines the corresponding data packet with the sequence number 6 All have been received, then adjust the current sliding window, continue to send subsequent data, such as sending a serial number 7 packet.
根据本发明实施例,保证了数据传输的连续性,避免了在未接收第一数据包的确认应答消息之前连续重传第一数据包的缺陷,而且降低了数据传输 延时,提高了传输带宽。According to the embodiment of the present invention, the continuity of data transmission is ensured, the defect of continuously retransmitting the first data packet before the acknowledgement response message of the first data packet is not received is avoided, and the data transmission is reduced. Delay, increasing the transmission bandwidth.
图11为本发明一实施例提供的数据重传方法的一种应用示意图,如图11,本实施例基于如图9所示的结构体进行描述。FIG. 11 is a schematic diagram of an application of a data retransmission method according to an embodiment of the present invention. As shown in FIG. 11, the embodiment is described based on the structure shown in FIG. 9.
本实施例的滑动窗口为2进行举例说明,发送端根据滑动窗口为2依次向接收端发送序号为1的数据包、序号为2的数据包。序号为1的数据包的结构体包括:1(数据包的序号)、0(第一次发送,没有重传,所以重传次数为0)、0(当前滑动窗口第一个发送的数据包的序号(为1)减1)、1(当前滑动窗口发送的数据包的序号)、无(当前没有重发的数据包);序号为2的数据包的结构体包括:2、0、0、2、无。接收端在预设时间内未接收到任何数据包,则可以确定数据包丢失,接收端向发送端发送确认序号为0的数据包(不存在)已接收的消息;发送端接收到该消息后,可以确定接收端未接收到任何数据包,然后向接收端发送ping包,ping包的结构体包括:无(ping包不分配序号)、无(当前没有重传)、0(当前滑动窗口的第一个数据包的序号减1)、2(当前滑动窗口已发送到的数据包的序号)、无(当前没有重发)。接收端接收到ping包后,根据ping包中的0和2,确定第1次发送的序号为1以及2的数据包未接收到,接收端向发送端发送确认序号为0的数据包已接收以及第0次重传(即第1次发送)的序号为1、2的数据包未接收到的消息;发送端接收到该消息后,向接收端重传序号为1的数据包(简称1.1)和序号为2的数据包(简称2.1),1.1的数据包的结构体包括:1、1(序号为1的数据包第1次重传)、0、2、1(此时第1次重传的数据包的序号为1),2.1的数据包的结构体包括:2、1(序号为2的数据包第1次重传)、0、2、2(此时第1次重传的数据包的序号为2)。接收端接收到1.1的数据包以及2.1的数据包,然后向发送端发送确认序号为2的数据包已接收的消息,发送端接收该消息后,确定序号为2之前的对应的数据包均已接收。The sliding window of this embodiment is exemplified. The transmitting end sequentially sends a data packet of sequence number 1 and a data packet of sequence number 2 to the receiving end according to the sliding window of 2. The structure of the data packet with sequence number 1 includes: 1 (number of data packets), 0 (first transmission, no retransmission, so the number of retransmissions is 0), 0 (the first packet sent by the current sliding window) The serial number (which is 1) minus 1), 1 (the serial number of the data packet sent by the current sliding window), and none (the data packet currently not retransmitted); the structure of the data packet with the serial number 2 includes: 2, 0, 0 2, no. If the receiving end does not receive any data packet within the preset time, it may determine that the data packet is lost, and the receiving end sends a message to the transmitting end that the data packet with the sequence number of 0 (not present) has been received; after receiving the message, the transmitting end receives the message. It can be determined that the receiving end does not receive any data packet, and then sends a ping packet to the receiving end. The structure of the ping packet includes: no (the ping packet does not allocate a sequence number), none (currently no retransmission), 0 (the current sliding window The sequence number of the first packet is decremented by 1), 2 (the sequence number of the packet to which the current sliding window has been sent), and none (currently no retransmission). After receiving the ping packet, the receiving end determines, according to 0 and 2 in the ping packet, that the data packet with the sequence number 1 and 2 sent in the first transmission is not received, and the receiving end sends the data packet with the acknowledgement sequence number 0 to the transmitting end. And the 0th retransmission (ie, the first transmission) is a message whose sequence number is 1, 2 is not received; after receiving the message, the sender retransmits the data packet with the sequence number 1 to the receiving end (referred to as 1.1) And the data packet with sequence number 2 (referred to as 2.1), the structure of the data packet of 1.1 includes: 1, 1 (the first retransmission of the data packet with sequence number 1), 0, 2, 1 (the first time at this time) The serial number of the retransmitted data packet is 1), and the structure of the data packet of 2.1 includes: 2, 1 (the first retransmission of the data packet with sequence number 2), 0, 2, 2 (the first retransmission at this time) The serial number of the data packet is 2). The receiving end receives the data packet of 1.1 and the data packet of 2.1, and then sends a message to the sending end that the data packet with the sequence number 2 is received. After receiving the message, the transmitting end determines that the corresponding data packet before the sequence number 2 has been receive.
根据本发明实施例,保证了数据传输的连续性,避免了在未接收第一数据包的确认应答消息之前连续重传第一数据包的缺陷,而且降低了数据传输延时,提高了传输带宽。According to the embodiment of the present invention, the continuity of data transmission is ensured, the defect of continuously retransmitting the first data packet before the acknowledgement response message of the first data packet is not received is avoided, and the data transmission delay is reduced, and the transmission bandwidth is improved. .
图12为本发明一实施例提供的数据重传方法的一种应用示意图,如图12,本实施例基于如图9所示的结构体进行描述。 FIG. 12 is a schematic diagram of an application of a data retransmission method according to an embodiment of the present invention. As shown in FIG. 12, the embodiment is described based on the structure shown in FIG. 9.
本实施例的滑动窗口为2、最大发送次数为3进行举例说明,发送端根据滑动窗口为2依次向接收端发送序号为1的数据包、序号为2的数据包。序号为1的数据包的结构体包括:1、0、0、1、无;序号为2的数据包的结构体包括:2、0、0、2、无。序号为1的数据包丢失,接收端接收了序号为2的数据包,接收端向发送端发送确认序号为0的数据包(不存在)已接收以及序号为1的数据包未接收的消息;发送端接收到该消息后,向接收端重传序号为1的数据包(简称1.1),1.1的数据包的结构体包括:1、1、0、2、1。接收端未接收到1.1的数据包,接收端暂时不向发送端发送任何消息,而发送端在预设时间内未接收到任何消息时,向接收端发送ping包,ping包的结构体包括:无、无、0、2、1(第1次重传的数据包的序号为1)。接收端接收到ping包后,根据ping包中的1,确定第1次重传的序号为1的数据包未接收到,接收端向发送端发送确认序号为0的数据包已接收以及第1次重传(即第2次发送)的序号为1的数据包未接收到的消息;发送端接收到该消息后,向接收端重传序号为1的数据包(简称1.2),1.2的数据包的结构体包括:1、2(序号为1的数据包第2次重传)、0、2、1(此时第1次重传的数据包的序号为1),由于最大重传次数为2,因此此处可以无需包括第2次重传的数据包的序号。然后发送端可以认为序号为1的数据包已接收,调整当前滑动窗口,继续向接收端发送序号为3的数据包,序号为3的数据包的结构体包括:3、0、1、3、无(当前滑动窗口内没有重传)。对于接收端来说,仍没有接收到1.2的数据包,而接收到了序号为3的数据包,由于最大重传次数为2,无论其是否接收到1.2的数据包,发送端也不会再发送1.3的数据包,因此,接收端默认接收到1.2的数据包,并向发送端发送确认序号为3的数据包已接收的消息,以使发送端根据该消息确定序号为3之前的数据包均已接收。In the embodiment, the sliding window is 2, and the maximum number of transmissions is 3. For example, the transmitting end sequentially sends a data packet of sequence number 1 and a data packet of sequence number 2 to the receiving end according to the sliding window of 2. The structure of the data packet with sequence number 1 includes: 1, 0, 0, 1, and none; the structure of the data packet with sequence number 2 includes: 2, 0, 0, 2, and none. The data packet with sequence number 1 is lost, and the receiving end receives the data packet with sequence number 2, and the receiving end sends a message to the transmitting end that the data packet with the confirmation sequence number 0 (not present) has been received and the data packet with sequence number 1 has not been received; After receiving the message, the transmitting end retransmits the data packet with the sequence number 1 (referred to as 1.1) to the receiving end, and the structure of the data packet of 1.1 includes: 1, 1, 0, 2, 1. The receiving end does not receive the data packet of 1.1. The receiving end does not send any message to the sending end temporarily. When the sending end does not receive any message within the preset time, the sending end sends a ping packet to the receiving end. The structure of the ping packet includes: None, none, 0, 2, 1 (the sequence number of the first retransmission packet is 1). After receiving the ping packet, the receiving end determines that the data packet with the sequence number 1 of the first retransmission is not received according to the ping packet, and the receiving end sends the data packet with the acknowledgment sequence number 0 to the transmitting end and the first packet. The message of the sequence number 1 of the secondary retransmission (that is, the second transmission) is not received; after receiving the message, the transmitting end retransmits the data packet of sequence number 1 (referred to as 1.2), data of 1.2 to the receiving end. The structure of the packet includes: 1, 2 (the second retransmission of the data packet with sequence number 1), 0, 2, and 1 (the sequence number of the data packet retransmitted for the first time is 1), due to the maximum number of retransmissions. It is 2, so the sequence number of the packet including the second retransmission can be omitted here. Then, the sender can consider that the data packet with sequence number 1 has been received, adjust the current sliding window, and continue to send the data packet with sequence number 3 to the receiving end, and the structure of the data packet with sequence number 3 includes: 3, 0, 1, 3, None (no retransmissions in the current sliding window). For the receiving end, the data packet of 1.2 is still not received, and the data packet with sequence number 3 is received. Since the maximum number of retransmissions is 2, the sender will not send any data packet regardless of whether it receives 1.2 packets. The data packet of 1.3, therefore, the receiving end receives the data packet of 1.2 by default, and sends a message to the sending end that the data packet with the sequence number 3 is received, so that the sending end determines the data packet before the sequence number 3 according to the message. Received.
根据本发明实施例,保证了数据传输的连续性,避免了在未接收第一数据包的确认应答消息之前连续重传第一数据包的缺陷,而且降低了数据传输延时,提高了传输带宽。According to the embodiment of the present invention, the continuity of data transmission is ensured, the defect of continuously retransmitting the first data packet before the acknowledgement response message of the first data packet is not received is avoided, and the data transmission delay is reduced, and the transmission bandwidth is improved. .
图13为本发明数据重传装置实施例一的结构示意图,如图13所示,本实施例的装置可以包括:确定模块110、发送模块120和接收模块130,其中,FIG. 13 is a schematic structural diagram of Embodiment 1 of a data retransmission apparatus according to the present invention. As shown in FIG. 13, the apparatus in this embodiment may include: a determining module 110, a sending module 120, and a receiving module 130, where
确定模块110,用于确定发送端第N次发送的第一数据包丢失,所述N 为大于或等于1的整数;a determining module 110, configured to determine, by the sending end, that the first data packet sent by the Nth end is lost, the N An integer greater than or equal to 1;
发送模块120,用于向所述发送端发送第一丢失消息,所述第一丢失消息用于指示未接收到所述第N次发送的第一数据包;The sending module 120 is configured to send, to the sending end, a first lost message, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received;
接收模块130,用于接收发送端第N+1次发送的第一数据包,其中,所述第N+1次发送的第一数据包为所述发送端根据所述第一丢失消息发送的第一数据包。The receiving module 130 is configured to receive, by the sending end, the first data packet sent by the N+1th time, where the first data packet sent by the N+1th time is sent by the sending end according to the first lost message. The first packet.
可选地,当N≥2时,所述接收模块130,还用于接收所述发送端发送的第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送;Optionally, when N≥2, the receiving module 130 is further configured to receive a first sending indication sent by the sending end, where the first sending indication is used to indicate the first data sent by the Nth time The package has been sent;
所述确定模块110,具体用于:根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失。The determining module 110 is specifically configured to: determine, according to the first sending indication, that the first data packet sent by the Nth time is lost.
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;Optionally, the first sending indication includes a first sequence number of the data packet sent by the Nth time, where the first sequence number is used to indicate that the data packet whose Nth transmission sequence number is less than or equal to the first sequence number has been sent. ;
所述确定模块110,具体用于:根据所述第一序号,确定第N次发送的序号小于或等于所述第一序号的第一数据包丢失。The determining module 110 is specifically configured to: determine, according to the first sequence number, that the first sequence sent by the Nth time is less than or equal to the first packet loss of the first sequence number.
可选地,所述第一发送指示包括发送次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;Optionally, the first sending indication includes a number of sending times N and a first sequence number, where the first sequence number and the number of sending times N are used to indicate that the sequence number of the Nth transmission is less than or equal to the data packet of the first sequence number. Has been sent;
所述确定模块110,具体用于:在所述接收模块130未接收到所述第一数据包时,根据所述第一序号和所述发送次数N,确定第N次发送的序号小于或等于所述第一序号的数据包丢失。The determining module 110 is configured to: when the receiving module 130 does not receive the first data packet, determine, according to the first serial number and the number of transmissions N, that the sequence number of the Nth transmission is less than or equal to The data packet of the first serial number is lost.
可选地,所述发送模块120,还用于在所述接收模块130接收所述发送端发送的第一发送指示之前,向所述发送端发送第二丢失消息,所述第二丢失消息用于指示未接收到所述第N-1次发送的第一数据包;Optionally, the sending module 120 is further configured to: before the receiving module 130 receives the first sending indication sent by the sending end, send a second lost message to the sending end, where the second lost message is used by the receiving module The first data packet indicating that the N-1th transmission is not received;
所述接收模块130在接收所述发送端发送的第一发送指示时,具体用于:接收所述发送端发送的第一ping包,所述第一ping包中包括所述第一发送指示。When receiving the first sending indication sent by the sending end, the receiving module 130 is specifically configured to: receive the first ping packet sent by the sending end, where the first ping packet includes the first sending indication.
可选地,当N=1时,所述确定模块110,具体用于:根据接收的所述发送端发送的数据包的序号不连续,确定第一次发送的所述第一数据包丢失, 所述第一数据包的序号为缺失的序号。Optionally, when N=1, the determining module 110 is specifically configured to: determine, according to the received serial number discontinuity of the data packet sent by the sending end, that the first data packet sent by the first time is lost, The sequence number of the first data packet is a missing sequence number.
可选地,所述发送模块120在向发送端发送第一丢失消息时,具体用于包括:向所述发送端发送否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号,所述第一数据包的序号的前一个序号用于所述发送端确定第1次发送的所述第一数据包丢失。Optionally, when the transmitting module 120 sends the first lost message to the sending end, the sending module 120 is specifically configured to: send a negative response message to the sending end, where the negative response message includes a sequence number of the first data packet. The previous serial number, the previous serial number of the sequence number of the first data packet is used by the transmitting end to determine that the first data packet is sent for the first time.
可选地,当N=1时,所述发送模块120,还用于当在预设时间内未接收到数据包时,向所述发送端发送第三丢失消息,所述第三丢失消息用于指示未接收到数据包;Optionally, when N=1, the sending module 120 is further configured to: when a data packet is not received within a preset time, send a third lost message to the sending end, where the third lost message is used. Indicates that no data packet has been received;
所述接收模块130,还用于接收所述发送端发送的第二发送指示,所述第二发送指示用于指示所述发送端已发送第1次发送的所述第一数据包;The receiving module 130 is further configured to receive a second sending indication sent by the sending end, where the second sending indication is used to indicate that the sending end has sent the first data packet that is sent for the first time;
所述确定模块110,具体用于:根据所述第二发送指示确定所述第1次发送的第一数据包丢失。The determining module 110 is specifically configured to: determine, according to the second sending indication, that the first data packet sent by the first time is lost.
可选地,所述接收模块130在接收所述发送端发送的第二发送指示时,具体用于:接收所述发送端发送的第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;Optionally, when receiving the second sending indication sent by the sending end, the receiving module 130 is specifically configured to: receive a second ping packet sent by the sending end, where the second ping packet includes a current sliding window. The left end number and the right end number;
所述确定模块110,具体用于:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述第一数据包丢失。The determining module 110 is specifically configured to: according to the left end number and the right end serial number of the current sliding window, determine that the first data packet whose serial number is located in the current sliding window is lost.
可选地,所述接收模块130,还用于在接收所述发送端第N+1次发送的所述第一数据包之前,接收所述发送端发送的第二数据包,所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号;Optionally, the receiving module 130 is further configured to: before receiving the first data packet sent by the sending end of the N+1th time, receive the second data packet sent by the sending end, where the second The data packet carries the sequence number of the second data packet, the left end sequence number and the right end sequence number of the current sliding window;
所述发送模块120,还用于在所述接收模块130接收所述发送端第N+1次发送的所述第一数据包之后,当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,向所述发送端发送第一确认应答消息,所述第一确认应答消息用于指示所述当前滑动窗口内所述第二数据包的序号之前的序号对应的数据包已接收。The sending module 120 is further configured to: after the receiving module 130 receives the first data packet sent by the sending end of the N+1th time, when the sequence number of the second data packet is equal to the current sliding window And the first acknowledgement message is sent to the sending end, and the first acknowledgement response message is used to indicate that the data packet corresponding to the right end number of the current sliding window has been received. A data packet corresponding to the sequence number preceding the sequence number of the second data packet in the current sliding window has been received.
可选地,所述第N+1次发送的所述第一数据包中携带有所述第一数据包的发送次数N+1。Optionally, the first data packet sent by the (N+1)th time carries the number of transmissions N+1 of the first data packet.
可选地,若所述N+1为最大发送次数,所述接收模块130还用于在所述发送模块120向发送端发送第一丢失消息之后,接收所述发送端发送的第三 数据包,所述第三数据包携带所述第三数据包的序号;Optionally, if the N+1 is the maximum number of transmissions, the receiving module 130 is further configured to: after the sending module 120 sends the first lost message to the sending end, receive the third sent by the sending end. a data packet, where the third data packet carries a sequence number of the third data packet;
所述发送模块120还用于向所述发送端发送第二确认应答消息,所述第二确认应答消息用于指示已接收到所述第三数据包的序号之前的序号对应的数据包。The sending module 120 is further configured to send a second acknowledgement response message to the sending end, where the second acknowledgement response message is used to indicate that the data packet corresponding to the sequence number before the sequence number of the third data packet has been received.
本实施例的装置,可以用于执行本发明上述各方法实施例中接收端所执行的技术方案,其实现原理和技术效果类似,此处不再赘述。The device in this embodiment may be used to perform the technical solution executed by the receiving end in the foregoing method embodiments of the present invention. The implementation principle and technical effects are similar, and details are not described herein again.
图14为本发明数据重传装置实施例二的结构示意图,如图14所示,本实施例的装置可以包括:接收模块210和发送模块220,其中,FIG. 14 is a schematic structural diagram of Embodiment 2 of a data retransmission apparatus according to the present invention. As shown in FIG. 14, the apparatus in this embodiment may include: a receiving module 210 and a sending module 220, where
接收模块210,用于接收接收端发送的第一丢失消息,所述第一丢失消息用于指示未接收到第N次发送的第一数据包,所述N为大于或等于1的整数;The receiving module 210 is configured to receive a first lost message sent by the receiving end, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received, where the N is an integer greater than or equal to 1;
发送模块220,用于根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包。The sending module 220 is configured to send, according to the first lost message, the first data packet that is sent by the N+1th time to the receiving end.
可选地,当N≥2时,所述发送模块220,还用于在所述接收模块210接收所述接收端发送的第一丢失消息之前,向所述接收端发送第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送。Optionally, when N≥2, the sending module 220 is further configured to: before the receiving module 210 receives the first lost message sent by the receiving end, send a first sending indication to the receiving end, where The first sending indication is used to indicate that the first data packet sent by the Nth time has been sent.
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。Optionally, the first sending indication includes a first sequence number of the data packet sent by the Nth time, where the first sequence number is used to indicate that the data packet whose Nth transmission sequence number is less than or equal to the first sequence number has been sent. .
可选地,所述第一发送指示包括发送次数N和第一序号,所述发送次数N和第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。Optionally, the first sending indication includes a number of sending times N and a first sequence number, where the number of sending times N and the first sequence number are used to indicate that the sequence number of the Nth transmission is less than or equal to the data packet of the first sequence number has been sent. .
可选地,所述接收模块210还用于在所述发送模块220向所述接收端发送第一发送指示之前,接收所述接收端发送的第二丢失消息,所述第二丢失消息用于指示未接收到第N-1次发送的所述第一数据包;Optionally, the receiving module 210 is further configured to receive, after the sending module 220 sends the first sending indication to the receiving end, a second lost message sent by the receiving end, where the second lost message is used. Instructing that the first data packet of the N-1th transmission is not received;
所述发送模块220,还用于根据所述第二丢失消息,向所述接收端发送第N次发送的第一数据包;The sending module 220 is further configured to send, according to the second lost message, the first data packet sent by the Nth time to the receiving end;
所述发送模块220在向所述接收端发送第一发送指示时,具体用于:当确定在预设时间内未接收到所述接收端发送的用于指示所述第N次发送的第一数据包已接收或丢失的消息时,向所述接收端发送所述第一ping包,所述 第一ping包中包括所述第一发送指示。When the sending module 220 sends the first sending indication to the receiving end, the sending module 220 is specifically configured to: when it is determined that the first sending of the Nth sending is not received by the receiving end, Sending the first ping packet to the receiving end when the data packet has received or lost the message, The first sending indication is included in the first ping packet.
可选地,所述接收模块210在接收接收端发送的第一丢失消息时,具体用于:接收所述接收端发送的否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号;Optionally, when receiving the first lost message sent by the receiving end, the receiving module 210 is specifically configured to: receive a negative response message sent by the receiving end, where the negative response message includes a sequence number of the first data packet. The previous serial number;
所述装置,还包括:变更模块230;变更模块230,用于根据所述第一数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为所述第一数据包的序号的前一个序号。The device further includes: a change module 230, wherein the change module 230 is configured to change the left end number of the current sliding window to the front of the first data packet according to the previous serial number of the first data packet A serial number.
可选地,所述发送模块220,还用于在所述接收模块210接收接收端发送的第一丢失消息之前,根据滑动窗口向所述接收端发送数据包;Optionally, the sending module 220 is further configured to: before the receiving module 210 receives the first lost message sent by the receiving end, send the data packet to the receiving end according to the sliding window;
所述接收模块210,还用于接收所述接收端发送的第三丢失消息,所述第三丢失消息用于指示未接收到数据包;The receiving module 210 is further configured to receive a third lost message sent by the receiving end, where the third lost message is used to indicate that the data packet is not received;
所述发送模块220,还用于根据所述第三丢失消息向所述接收端发送第二发送指示,所述第二发送指示用于指示已发送第1次发送的所述第一数据包。The sending module 220 is further configured to send, according to the third lost message, a second sending indication to the receiving end, where the second sending indication is used to indicate that the first data packet sent by the first sending is sent.
可选地,所述发送模块220,在根据所述第三丢失消息向所述接收端发送第二发送指示时,具体用于:向所述接收端发送第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的第一数据包已发送。Optionally, the sending module 220 is configured to send a second ping packet to the receiving end, where the second ping packet is sent to the receiving end according to the third lost message. The packet includes a left end number and a right end number of the current sliding window; the left end number and the right end number of the current sliding window are used to indicate that the first data packet in the current sliding window has been sent.
可选地,本实施例的装置还包括:调整模块240;调整模块240,用于在所述发送模块220根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包之后,根据所述第一数据包的序号,调整当前滑动窗口;所述N+1为最大发送次数。Optionally, the apparatus in this embodiment further includes: an adjustment module 240, configured to send, by the sending module 220, the N+1th transmission to the receiving end according to the first lost message. After the first data packet is described, the current sliding window is adjusted according to the sequence number of the first data packet; and the N+1 is the maximum number of transmissions.
本实施例的装置,可以用于执行上述各方法实施例中发送端所执行的技术方案,其实现原理和技术效果类似,此处不再赘述。The device in this embodiment may be used to perform the technical solution executed by the sending end in the foregoing method embodiments, and the implementation principle and technical effects are similar, and details are not described herein again.
图15为本发明数据重传系统实施例一的结构示意图,如图15所示,本实施例的系统可以包括:控制装置10和无人机20。无人机20的收发器21可以与控制装置10的收发器11进行通信,无人机的搭载台22搭载有摄像装置23,无人机中的旋转翼24可以改变转向使得摄像装置23可以拍摄到不同的画面;无人机20可以通过收发器21将摄像装置23拍摄到的画面发送给控制装置10的收发器11。需要说明的是,图15从无人机20的一个侧面方向 示出了无人机20的两个旋转翼,但无人机20可以具有四个旋转翼。FIG. 15 is a schematic structural diagram of Embodiment 1 of the data retransmission system of the present invention. As shown in FIG. 15, the system of this embodiment may include: a control device 10 and a drone 20. The transceiver 21 of the drone 20 can communicate with the transceiver 11 of the control device 10, and the mounting table 22 of the drone is equipped with the imaging device 23, and the rotary wing 24 of the drone can change the steering so that the imaging device 23 can take a picture. To a different screen, the drone 20 can transmit the picture captured by the imaging device 23 to the transceiver 11 of the control device 10 via the transceiver 21. It should be noted that FIG. 15 is from one side of the drone 20. Two rotating wings of the drone 20 are shown, but the drone 20 can have four rotating wings.
需要说明的是,控制装置10可以执行上述接收端执行的技术方案,无人机20可以执行上述发送端执行的技术方案。It should be noted that the control device 10 can execute the technical solution executed by the receiving end, and the drone 20 can execute the technical solution executed by the transmitting end.
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读内存(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。A person skilled in the art can understand that all or part of the steps of implementing the above method embodiments may be completed by using hardware related to the program instructions. The foregoing program may be stored in a computer readable storage medium, and the program is executed when executed. The foregoing storage medium includes: read-only memory (English: Read-Only Memory, ROM for short), random access memory (English: Random Access Memory, RAM), disk or A variety of media such as optical discs that can store program code.
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。 Finally, it should be noted that the above embodiments are merely illustrative of the technical solutions of the present invention, and are not intended to be limiting; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art will understand that The technical solutions described in the foregoing embodiments may be modified, or some or all of the technical features may be equivalently replaced; and the modifications or substitutions do not deviate from the technical solutions of the embodiments of the present invention. range.

Claims (42)

  1. 一种数据重传方法,其特征在于,包括:A data retransmission method, comprising:
    确定发送端第N次发送的第一数据包丢失,所述N为大于或等于1的整数;Determining, by the sending end, that the first data packet sent by the Nth time is lost, and the N is an integer greater than or equal to 1;
    向所述发送端发送第一丢失消息,所述第一丢失消息用于指示未接收到所述第N次发送的第一数据包;Sending a first lost message to the sending end, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received;
    接收发送端第N+1次发送的第一数据包,其中,所述第N+1次发送的第一数据包为所述发送端根据所述第一丢失消息发送的第一数据包。And receiving, by the sending end, the first data packet sent by the N+1th time, where the first data packet sent by the N+1th time is the first data packet sent by the sending end according to the first lost message.
  2. 根据权利要求1所述的方法,其特征在于,当N≥2时,确定发送端第N次发送的第一数据包丢失,包括:The method according to claim 1, wherein when N ≥ 2, determining that the first data packet sent by the transmitting end is lost for the Nth time comprises:
    接收所述发送端发送的第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送;Receiving, by the sending end, a first sending indication, where the first sending indication is used to indicate that the first data packet sent by the Nth time has been sent;
    根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失。Determining, according to the first sending indication, that the first data packet sent by the Nth time is lost.
  3. 根据权利要求2所述的方法,其特征在于,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;The method according to claim 2, wherein the first transmission indication comprises a first sequence number of the data packet sent by the Nth time, and the first sequence number is used to indicate that the sequence number of the Nth transmission is less than or equal to The data packet of the first serial number has been sent;
    根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失,包括:在未接收到所述第一数据包时,根据所述第一序号,确定第N次发送的序号小于或等于所述第一序号的第一数据包丢失。Determining, according to the first sending indication, that the first data packet sent by the Nth time is lost, including: determining, when the first data packet is not received, determining, according to the first sequence number, an Nth transmission The first data packet whose sequence number is less than or equal to the first serial number is lost.
  4. 根据权利要求2所述的方法,其特征在于,所述第一发送指示包括发送次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;The method according to claim 2, wherein the first transmission indication comprises a number of transmissions N and a first sequence number, and the first sequence number and the number of transmissions N are used to indicate that the sequence number of the Nth transmission is less than or a data packet equal to the first serial number has been sent;
    根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失,包括:根据所述第一序号和所述发送次数N,确定第N次发送的序号小于或等于所述第一序号数据包丢失。Determining, according to the first sending indication, that the first data packet sent by the Nth time is lost, including: determining, according to the first sequence number and the number of sending times N, that the sequence number of the Nth transmission is less than or equal to The first serial number packet is lost.
  5. 根据权利要求2-4任意一项所述的方法,其特征在于,所述接收所述发送端发送的第一发送指示之前,还包括:The method according to any one of claims 2-4, wherein before the receiving the first sending indication sent by the sending end, the method further includes:
    向所述发送端发送第二丢失消息,所述第二丢失消息用于指示未接收到所述第N-1次发送的第一数据包;Transmitting, to the sending end, a second lost message, where the second lost message is used to indicate that the first data packet sent by the (N-1)th transmission is not received;
    所述接收所述发送端发送的第一发送指示,包括:接收所述发送端发送 的第一ping包,所述第一ping包中包括所述第一发送指示。Receiving the first sending indication sent by the sending end, comprising: receiving, sending, by the sending end The first ping packet includes the first sending indication in the first ping packet.
  6. 根据权利要求1所述的方法,其特征在于,当N=1时,确定发送端第N次发送的第一数据包丢失,包括:The method according to claim 1, wherein when N=1, determining that the first data packet sent by the transmitting end is lost, including:
    根据接收的所述发送端发送的数据包的序号不连续,确定第一次发送的所述第一数据包丢失,所述第一数据包的序号为缺失的序号。And determining, according to the received sequence number of the data packet sent by the sending end, that the first data packet sent by the first time is lost, and the sequence number of the first data packet is a missing sequence number.
  7. 根据权利要求6所述的方法,其特征在于,所述向发送端发送第一丢失消息,包括:向所述发送端发送否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号,所述第一数据包的序号的前一个序号用于所述发送端确定第1次发送的所述第一数据包丢失。The method according to claim 6, wherein the sending the first lost message to the transmitting end comprises: sending a negative response message to the sending end, where the negative response message includes a sequence number of the first data packet The previous serial number, the previous serial number of the serial number of the first data packet is used by the transmitting end to determine that the first data packet is sent for the first time.
  8. 根据权利要求1所述的方法,其特征在于,当N=1时,确定发送端第N次发送的第一数据包丢失,包括:The method according to claim 1, wherein when N=1, determining that the first data packet sent by the transmitting end is lost, including:
    当在预设时间内未接收到数据包时,向所述发送端发送第三丢失消息,所述第三丢失消息用于指示未接收到数据包;When the data packet is not received within the preset time, sending a third lost message to the sending end, where the third lost message is used to indicate that the data packet is not received;
    接收所述发送端发送的第二发送指示,所述第二发送指示用于指示所述发送端已发送第1次发送的所述第一数据包;Receiving, by the sending end, a second sending indication, where the second sending indication is used to indicate that the sending end has sent the first data packet that is sent for the first time;
    根据所述第二发送指示确定所述第1次发送的第一数据包丢失。Determining, according to the second sending instruction, that the first data packet sent by the first time is lost.
  9. 根据权利要求8所述的方法,其特征在于,接收所述发送端发送的第二发送指示,包括:接收所述发送端发送的第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;The method according to claim 8, wherein receiving the second sending indication sent by the sending end comprises: receiving a second ping packet sent by the sending end, where the second ping packet includes a current sliding window The left end number and the right end number;
    所述根据所述第二发送指示确定所述第1次发送的第一数据包丢失,包括:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述第一数据包丢失。Determining, according to the second sending indication, that the first data packet sent by the first time is lost, including: determining, according to a left end number and a right end number of the current sliding window, that the serial number is located in the current sliding window The first packet is lost.
  10. 根据权利要求1-9任意一项所述的方法,其特征在于,所述接收所述发送端第N+1次发送的所述第一数据包之前,还包括:The method according to any one of claims 1-9, wherein before receiving the first data packet sent by the transmitting end by the N+1th time, the method further includes:
    接收所述发送端发送的第二数据包,所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号;Receiving a second data packet sent by the sending end, where the second data packet carries a sequence number of the second data packet, a left end serial number and a right end serial number of the current sliding window;
    所述接收所述发送端第N+1次发送的所述第一数据包之后,还包括:After the receiving, by the sending end, the first data packet sent by the N+1th time, the method further includes:
    当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,向所述发送端发送第一确认应答消息,所述第一确认应答消息用于指示所述当前滑动 窗口内所述第二数据包的序号之前的序号对应的数据包已接收。When the sequence number of the second data packet is equal to the right end number of the current sliding window, and the data packet corresponding to the right end number of the current sliding window to the right end serial number has been received, send the first to the sending end. Confirming a response message, the first confirmation response message is used to indicate the current slip The data packet corresponding to the sequence number before the sequence number of the second data packet in the window has been received.
  11. 根据权利要求1-10任意一项所述的方法,其特征在于,所述第N+1次发送的所述第一数据包中携带有所述第一数据包的发送次数N+1。The method according to any one of claims 1 to 10, wherein the first data packet sent by the (N+1)th time carries the number of transmissions N+1 of the first data packet.
  12. 根据权利要求1-11任意一项所述的方法,其特征在于,若所述N+1为最大发送次数,所述向发送端发送第一丢失消息之后,还包括:The method according to any one of claims 1 to 11, wherein, if the N+1 is the maximum number of transmissions, after the sending the first lost message to the transmitting end, the method further includes:
    接收所述发送端发送的第三数据包,所述第三数据包携带所述第三数据包的序号;Receiving a third data packet sent by the sending end, where the third data packet carries a sequence number of the third data packet;
    向所述发送端发送第二确认应答消息,所述第二确认应答消息用于指示已接收到所述第三数据包的序号之前的序号对应的数据包。And sending, by the sending end, a second acknowledgement response message, where the second acknowledgement response message is used to indicate that the data packet corresponding to the sequence number before the sequence number of the third data packet has been received.
  13. 一种数据重传方法,其特征在于,包括:A data retransmission method, comprising:
    接收接收端发送的第一丢失消息,所述第一丢失消息用于指示未接收到第N次发送的第一数据包,所述N为大于或等于1的整数;Receiving a first lost message sent by the receiving end, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received, where the N is an integer greater than or equal to 1;
    根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包。And sending, according to the first lost message, the first data packet sent by the N+1th time to the receiving end.
  14. 根据权利要求13所述的方法,其特征在于,当N≥2时,所述接收所述接收端发送的第一丢失消息之前,包括:The method according to claim 13, wherein when N≥2, the receiving the first lost message sent by the receiving end comprises:
    向所述接收端发送第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送。Sending, by the receiving end, a first sending indication, where the first sending indication is used to indicate that the first data packet sent by the Nth time has been sent.
  15. 根据权利要求14所述的方法,其特征在于,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。The method according to claim 14, wherein the first transmission indication comprises a first sequence number of the data packet transmitted by the Nth time, and the first sequence number is used to indicate that the sequence number of the Nth transmission is less than or equal to The data packet of the first serial number has been sent.
  16. 根据权利要求14所述的方法,其特征在于,所述第一发送指示包括发送次数N和第一序号,所述发送次数N和第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。The method according to claim 14, wherein the first transmission indication comprises a number of transmissions N and a first sequence number, and the number of transmissions N and the first sequence number are used to indicate that the sequence number of the Nth transmission is less than or equal to The data packet of the first serial number has been sent.
  17. 根据权利要求14-16任意一项所述的方法,其特征在于,所述向所述接收端发送第一发送指示之前,还包括:The method according to any one of claims 14-16, wherein before the sending the first sending indication to the receiving end, the method further includes:
    接收所述接收端发送的第二丢失消息,所述第二丢失消息用于指示未接收到第N-1次发送的所述第一数据包;Receiving a second lost message sent by the receiving end, where the second lost message is used to indicate that the first data packet that is not received by the N-1th transmission is received;
    根据所述第二丢失消息,向所述接收端发送第N次发送的第一数据包;Transmitting, according to the second lost message, the first data packet sent by the Nth time to the receiving end;
    所述向所述接收端发送第一发送指示,包括: Sending the first sending indication to the receiving end, including:
    当确定在预设时间内未接收到所述接收端发送的用于指示所述第N次发送的第一数据包已接收或丢失的消息时,向所述接收端发送所述第一ping包,所述第一ping包中包括所述第一发送指示。When it is determined that the message sent by the receiving end to indicate that the first data packet sent by the Nth transmission has been received or lost is received within a preset time, sending the first ping packet to the receiving end The first ping packet includes the first sending indication.
  18. 根据权利要求13所述的方法,其特征在于,所述接收接收端发送的第一丢失消息,包括:接收所述接收端发送的否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号;The method according to claim 13, wherein the receiving the first lost message sent by the receiving end comprises: receiving a negative response message sent by the receiving end, where the negative response message includes the first data packet The previous serial number of the serial number;
    所述方法,还包括:The method further includes:
    根据所述第一数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为所述第一数据包的序号的前一个序号。And changing, according to the previous serial number of the sequence number of the first data packet, the left end number of the current sliding window to the previous serial number of the serial number of the first data packet.
  19. 根据权利要求13所述的方法,其特征在于,所述接收接收端发送的第一丢失消息之前,还包括:The method according to claim 13, wherein before receiving the first lost message sent by the receiving end, the method further includes:
    根据滑动窗口向所述接收端发送数据包;Transmitting a data packet to the receiving end according to a sliding window;
    接收所述接收端发送的第三丢失消息,所述第三丢失消息用于指示未接收到数据包;Receiving, by the receiving end, a third lost message, where the third lost message is used to indicate that the data packet is not received;
    根据所述第三丢失消息向所述接收端发送第二发送指示,所述第二发送指示用于指示已发送第1次发送的所述第一数据包。And sending, by the third lost message, a second sending indication to the receiving end, where the second sending indication is used to indicate that the first data packet that is sent the first time is sent.
  20. 根据权利要求19所述的方法,其特征在于,根据所述第三丢失消息向所述接收端发送第二发送指示,包括:向所述接收端发送第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的第一数据包已发送。The method according to claim 19, wherein the sending the second sending indication to the receiving end according to the third lost message comprises: sending a second ping packet to the receiving end, the second ping packet The left end serial number and the right end serial number of the current sliding window are included; the left end serial number and the right end serial number of the current sliding window product are used to indicate that the first data packet in the current sliding window has been sent.
  21. 根据权利要求13-20任意一项所述的方法,其特征在于,所述N+1为最大发送次数,所述根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包之后,还包括:The method according to any one of claims 13 to 20, wherein the N+1 is the maximum number of transmissions, and the sending the N+1th transmission to the receiving end according to the first lost message After the first data packet, the method further includes:
    根据所述第一数据包的序号,调整当前滑动窗口。Adjusting the current sliding window according to the sequence number of the first data packet.
  22. 一种数据重传装置,其特征在于,包括:A data retransmission device, comprising:
    确定模块,用于确定发送端第N次发送的第一数据包丢失,所述N为大于或等于1的整数;a determining module, configured to determine, by the sending end, the first data packet sent by the Nth time, where the N is an integer greater than or equal to 1;
    发送模块,用于向所述发送端发送第一丢失消息,所述第一丢失消息用于指示未接收到所述第N次发送的第一数据包; a sending module, configured to send a first lost message to the sending end, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received;
    接收模块,用于接收发送端第N+1次发送的第一数据包,其中,所述第N+1次发送的第一数据包为所述发送端根据所述第一丢失消息发送的第一数据包。a receiving module, configured to receive, by the sending end, the first data packet sent by the N+1th time, where the first data packet sent by the N+1th time is sent by the sending end according to the first lost message A packet of data.
  23. 根据权利要求22所述的装置,其特征在于,当N≥2时,所述接收模块,还用于接收所述发送端发送的第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送;The device according to claim 22, wherein, when N≥2, the receiving module is further configured to receive a first sending indication sent by the sending end, where the first sending indication is used to indicate the Nth The first data packet sent once is sent;
    所述确定模块,具体用于:根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失。The determining module is specifically configured to: determine, according to the first sending indication, that the first data packet sent by the Nth time is lost.
  24. 根据权利要求23所述的装置,其特征在于,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;The apparatus according to claim 23, wherein the first transmission indication comprises a first sequence number of the data packet transmitted by the Nth time, and the first sequence number is used to indicate that the sequence number of the Nth transmission is less than or equal to The data packet of the first serial number has been sent;
    所述确定模块,具体用于:在所述接收模块未接收到所述第一数据包时,根据所述第一序号,确定第N次发送的序号小于或等于所述第一序号的第一数据包丢失。The determining module is configured to: when the receiving module does not receive the first data packet, determine, according to the first serial number, that the sequence number of the Nth transmission is less than or equal to the first sequence number The packet is lost.
  25. 根据权利要求23所述的装置,其特征在于,所述第一发送指示包括发送次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;The apparatus according to claim 23, wherein the first transmission indication comprises a number of transmissions N and a first sequence number, and the first sequence number and the number of transmissions N are used to indicate that the sequence number of the Nth transmission is less than or a data packet equal to the first serial number has been sent;
    所述确定模块,具体用于:根据所述第一序号和所述发送次数N,确定第N次发送的序号小于或等于所述第一序号的数据包丢失。The determining module is specifically configured to: determine, according to the first serial number and the number of transmissions N, that the sequence number sent by the Nth time is less than or equal to the data packet loss of the first sequence number.
  26. 根据权利要求23-25任意一项所述的装置,其特征在于,所述发送模块,还用于在所述接收模块接收所述发送端发送的第一发送指示之前,向所述发送端发送第二丢失消息,所述第二丢失消息用于指示未接收到所述第N-1次发送的第一数据包;The device according to any one of claims 23-25, wherein the sending module is further configured to send, to the sending end, before the receiving module receives the first sending indication sent by the sending end a second lost message, where the second lost message is used to indicate that the first data packet that is not received by the (N-1)th transmission is received;
    所述接收模块在接收所述发送端发送的第一发送指示时,具体用于:接收所述发送端发送的第一ping包,所述第一ping包中包括所述第一发送指示。The receiving module, when receiving the first sending indication sent by the sending end, is specifically configured to: receive the first ping packet sent by the sending end, where the first ping packet includes the first sending indication.
  27. 根据权利要求22所述的装置,其特征在于,当N=1时,所述确定模块,具体用于:根据接收的所述发送端发送的数据包的序号不连续,确定第一次发送的所述第一数据包丢失,所述第一数据包的序号为缺失的序号。The apparatus according to claim 22, wherein, when N=1, the determining module is configured to: determine, according to the received sequence number of the data packet sent by the sending end, that the first sending is performed The first data packet is lost, and the sequence number of the first data packet is a missing serial number.
  28. 根据权利要求27所述的装置,其特征在于,所述发送模块在向发送端发送第一丢失消息时,具体用于包括:向所述发送端发送否定应答消息, 所述否定应答消息包括所述第一数据包的序号的前一个序号,所述第一数据包的序号的前一个序号用于所述发送端确定第1次发送的所述第一数据包丢失。The device according to claim 27, wherein the sending module, when transmitting the first lost message to the sending end, is specifically configured to: send a negative response message to the sending end, The negative response message includes a previous sequence number of the sequence number of the first data packet, and the previous sequence number of the sequence number of the first data packet is used by the sender to determine that the first data packet is sent for the first time. .
  29. 根据权利要求22所述的装置,其特征在于,当N=1时,所述发送模块,还用于当在预设时间内未接收到数据包时,向所述发送端发送第三丢失消息,所述第三丢失消息用于指示未接收到数据包;The device according to claim 22, wherein, when N=1, the sending module is further configured to: when the data packet is not received within a preset time, send a third lost message to the sending end. The third lost message is used to indicate that the data packet is not received;
    所述接收模块,还用于接收所述发送端发送的第二发送指示,所述第二发送指示用于指示所述发送端已发送第1次发送的所述第一数据包;The receiving module is further configured to receive a second sending indication sent by the sending end, where the second sending indication is used to indicate that the sending end has sent the first data packet that is sent for the first time;
    所述确定模块,具体用于:根据所述第二发送指示确定所述第1次发送的第一数据包丢失。The determining module is specifically configured to: determine, according to the second sending indication, that the first data packet sent by the first time is lost.
  30. 根据权利要求29所述的装置,其特征在于,所述接收模块在接收所述发送端发送的第二发送指示时,具体用于:接收所述发送端发送的第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;The device according to claim 29, wherein the receiving module, when receiving the second sending indication sent by the sending end, is specifically configured to: receive a second ping packet sent by the sending end, where the The second ping packet includes the left end serial number and the right end serial number of the current sliding window;
    所述确定模块,具体用于:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述第一数据包丢失。The determining module is specifically configured to: determine, according to the left end number and the right end serial number of the current sliding window, that the first data packet whose serial number is located in the current sliding window is lost.
  31. 根据权利要求22-30任意一项所述的装置,其特征在于,所述接收模块,还用于在接收所述发送端第N+1次发送的所述第一数据包之前,接收所述发送端发送的第二数据包,所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号;The device according to any one of claims 22-30, wherein the receiving module is further configured to receive the first data packet sent by the transmitting end before the N+1th transmission. a second data packet sent by the sending end, where the second data packet carries a sequence number of the second data packet, a left end serial number and a right end serial number of the current sliding window;
    所述发送模块,还用于在所述接收模块接收所述发送端第N+1次发送的所述第一数据包之后,当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,向所述发送端发送第一确认应答消息,所述第一确认应答消息用于指示所述当前滑动窗口内所述第二数据包的序号之前的序号对应的数据包已接收。The sending module is further configured to: after the receiving module receives the first data packet sent by the sending end of the N+1th time, when the sequence number of the second data packet is equal to the right end of the current sliding window a sequence number, and the data packet corresponding to the right end of the current sliding window is received, and the first acknowledgement response message is sent to the sending end, where the first acknowledgement response message is used to indicate the current The data packet corresponding to the sequence number before the serial number of the second data packet in the sliding window has been received.
  32. 根据权利要求22-31任意一项所述的装置,其特征在于,所述第N+1次发送的所述第一数据包中携带有所述第一数据包的发送次数N+1。The device according to any one of claims 22 to 31, wherein the first data packet sent by the (N+1)th time carries the number of transmissions N+1 of the first data packet.
  33. 根据权利要求22-32任意一项所述的装置,其特征在于,若所述N+1为最大发送次数,所述接收模块还用于在所述发送模块向发送端发送第一丢失消息之后,接收所述发送端发送的第三数据包,所述第三数据包携带所述 第三数据包的序号;The device according to any one of claims 22 to 32, wherein, if the N+1 is the maximum number of transmissions, the receiving module is further configured to: after the sending module sends the first lost message to the sending end, Receiving a third data packet sent by the sending end, where the third data packet carries the The serial number of the third data packet;
    所述发送模块还用于向所述发送端发送第二确认应答消息,所述第二确认应答消息用于指示已接收到所述第三数据包的序号之前的序号对应的数据包。The sending module is further configured to send a second acknowledgment response message to the sending end, where the second acknowledgment response message is used to indicate that the data packet corresponding to the sequence number before the sequence number of the third data packet has been received.
  34. 一种数据重传装置,其特征在于,包括:A data retransmission device, comprising:
    接收模块,用于接收接收端发送的第一丢失消息,所述第一丢失消息用于指示未接收到第N次发送的第一数据包,所述N为大于或等于1的整数;a receiving module, configured to receive a first lost message sent by the receiving end, where the first lost message is used to indicate that the first data packet sent by the Nth time is not received, where the N is an integer greater than or equal to 1;
    发送模块,用于根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包。And a sending module, configured to send, according to the first lost message, the first data packet sent by the N+1th time to the receiving end.
  35. 根据权利要求34所述的装置,其特征在于,当N≥2时,所述发送模块,还用于在所述接收模块接收所述接收端发送的第一丢失消息之前,向所述接收端发送第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送。The device according to claim 34, wherein, when N≥2, the sending module is further configured to: before the receiving module receives the first lost message sent by the receiving end, to the receiving end Sending a first sending indication, where the first sending indication is used to indicate that the first data packet sent by the Nth time has been sent.
  36. 根据权利要求35所述的装置,其特征在于,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。The apparatus according to claim 35, wherein the first transmission indication comprises a first sequence number of the data packet transmitted by the Nth time, and the first sequence number is used to indicate that the sequence number of the Nth transmission is less than or equal to The data packet of the first serial number has been sent.
  37. 根据权利要求35所述的装置,其特征在于,所述第一发送指示包括发送次数N和第一序号,所述发送次数N和第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。The apparatus according to claim 35, wherein the first transmission indication comprises a number of transmissions N and a first sequence number, and the number of transmissions N and the first sequence number are used to indicate that the sequence number of the Nth transmission is less than or equal to The data packet of the first serial number has been sent.
  38. 根据权利要求35-37任意一项所述的装置,其特征在于,所述接收模块还用于在所述发送模块向所述接收端发送第一发送指示之前,接收所述接收端发送的第二丢失消息,所述第二丢失消息用于指示未接收到第N-1次发送的所述第一数据包;The device according to any one of claims 35 to 37, wherein the receiving module is further configured to: before the sending module sends the first sending indication to the receiving end, receive the first sending by the receiving end a second lost message, the second lost message is used to indicate that the first data packet that is not received by the N-1th transmission is received;
    所述发送模块,还用于根据所述第二丢失消息,向所述接收端发送第N次发送的第一数据包;The sending module is further configured to send, according to the second lost message, the first data packet sent by the Nth time to the receiving end;
    所述发送模块在向所述接收端发送第一发送指示时,具体用于:当确定在预设时间内未接收到所述接收端发送的用于指示所述第N次发送的第一数据包已接收或丢失的消息时,向所述接收端发送所述第一ping包,所述第一ping包中包括所述第一发送指示。When the sending module sends the first sending indication to the receiving end, the sending module is specifically configured to: when it is determined that the first data sent by the receiving end to indicate the Nth sending is not received within a preset time When the packet has received or lost, the first ping packet is sent to the receiving end, and the first ping packet includes the first sending indication.
  39. 根据权利要求34所述的装置,其特征在于,所述接收模块在接收接 收端发送的第一丢失消息时,具体用于:接收所述接收端发送的否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号;The device according to claim 34, wherein said receiving module is receiving When the first lost message is sent by the receiving end, it is specifically used to: receive a negative response message sent by the receiving end, where the negative response message includes a previous serial number of the sequence number of the first data packet;
    所述装置,还包括:The device further includes:
    变更模块,用于根据所述第一数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为所述第一数据包的序号的前一个序号。The change module is configured to change the left end number of the current sliding window to the previous serial number of the first data packet according to the previous serial number of the first data packet.
  40. 根据权利要求34所述的装置,其特征在于,所述发送模块,还用于在所述接收模块接收接收端发送的第一丢失消息之前,根据滑动窗口向所述接收端发送数据包;The device according to claim 34, wherein the sending module is further configured to: before the receiving module receives the first lost message sent by the receiving end, send the data packet to the receiving end according to the sliding window;
    所述接收模块,还用于接收所述接收端发送的第三丢失消息,所述第三丢失消息用于指示未接收到数据包;The receiving module is further configured to receive a third lost message sent by the receiving end, where the third lost message is used to indicate that the data packet is not received;
    所述发送模块,还用于根据所述第三丢失消息向所述接收端发送第二发送指示,所述第二发送指示用于指示已发送第1次发送的所述第一数据包。The sending module is further configured to send, according to the third lost message, a second sending indication to the receiving end, where the second sending indication is used to indicate that the first data packet that is sent the first time is sent.
  41. 根据权利要求40所述的装置,其特征在于,所述发送模块,在根据所述第三丢失消息向所述接收端发送第二发送指示时,具体用于:向所述接收端发送第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的第一数据包已发送。The device according to claim 40, wherein the sending module is configured to: send a second to the receiving end when sending a second sending indication to the receiving end according to the third lost message a ping packet, where the second ping packet includes a left end number and a right end number of the current sliding window; the left end number and the right end number of the current sliding window are used to indicate that the first data packet in the current sliding window has been sent.
  42. 根据权利要求34-41任意一项所述的装置,其特征在于,还包括:The device according to any one of claims 34 to 41, further comprising:
    调整模块,用于在所述发送模块根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包之后,根据所述第一数据包的序号,调整当前滑动窗口;所述N+1为最大发送次数。 And an adjusting module, configured to: after the sending, by the sending module, send the first data packet sent by the N+1th time to the receiving end according to the first lost message, adjust according to the sequence number of the first data packet Current sliding window; the N+1 is the maximum number of transmissions.
PCT/CN2016/099223 2016-09-18 2016-09-18 Data retransmission method and device WO2018049652A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680076291.XA CN108476097B (en) 2016-09-18 2016-09-18 Data retransmission method and device
PCT/CN2016/099223 WO2018049652A1 (en) 2016-09-18 2016-09-18 Data retransmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/099223 WO2018049652A1 (en) 2016-09-18 2016-09-18 Data retransmission method and device

Publications (1)

Publication Number Publication Date
WO2018049652A1 true WO2018049652A1 (en) 2018-03-22

Family

ID=61618610

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/099223 WO2018049652A1 (en) 2016-09-18 2016-09-18 Data retransmission method and device

Country Status (2)

Country Link
CN (1) CN108476097B (en)
WO (1) WO2018049652A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110649994A (en) * 2019-09-27 2020-01-03 北京奇艺世纪科技有限公司 Data transmission control method, related device and storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111641480B (en) * 2020-05-22 2023-08-25 广东小天才科技有限公司 Control method for TCP retransmission times, terminal equipment and storage medium
CN114040440B (en) * 2021-11-09 2022-06-28 北京泰利斯达科技有限公司 Wireless transmission method, device, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111252A (en) * 2009-12-25 2011-06-29 中兴通讯股份有限公司 Hybrid automatic repeat request-based repeat resource distribution method
CN102480346A (en) * 2010-11-26 2012-05-30 中国科学院声学研究所 Reliable network data transmission method
CN103269260A (en) * 2013-06-03 2013-08-28 腾讯科技(深圳)有限公司 Data transmission method, data receiving terminal, data sending terminal and data transmission system
CN104518853A (en) * 2013-09-27 2015-04-15 北京新媒传信科技有限公司 Data retransmission method, receiving end and system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301079A (en) * 2004-12-22 2015-01-21 艾利森电话股份有限公司 Method for controlling data stream through repeated confirmation
US8634400B2 (en) * 2005-09-15 2014-01-21 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving status report comprising received status of packet data in a mobile communication system
CN101047484B (en) * 2006-06-21 2010-10-13 华为技术有限公司 Transmission layer retransmission method and system
CN101771518B (en) * 2008-12-29 2013-06-12 电信科学技术研究院 Method, device and system for sending status report
CN101800632A (en) * 2009-02-09 2010-08-11 中兴通讯股份有限公司 Lost packet compensation method and device under user datagram protocol transmission mode
CN102611537B (en) * 2011-01-25 2015-09-09 华为技术有限公司 A kind of repeating method of packet and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111252A (en) * 2009-12-25 2011-06-29 中兴通讯股份有限公司 Hybrid automatic repeat request-based repeat resource distribution method
CN102480346A (en) * 2010-11-26 2012-05-30 中国科学院声学研究所 Reliable network data transmission method
CN103269260A (en) * 2013-06-03 2013-08-28 腾讯科技(深圳)有限公司 Data transmission method, data receiving terminal, data sending terminal and data transmission system
CN104518853A (en) * 2013-09-27 2015-04-15 北京新媒传信科技有限公司 Data retransmission method, receiving end and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110649994A (en) * 2019-09-27 2020-01-03 北京奇艺世纪科技有限公司 Data transmission control method, related device and storage medium

Also Published As

Publication number Publication date
CN108476097B (en) 2021-08-03
CN108476097A (en) 2018-08-31

Similar Documents

Publication Publication Date Title
US11641387B2 (en) Timely delivery of real-time media problem when TCP must be used
US10430374B2 (en) Selective acknowledgement of RDMA packets
US11477130B2 (en) Transmission control method and apparatus
EP1568180B1 (en) A method for enhancing transmission quality of streaming media
US10009445B2 (en) Avoiding unwanted TCP retransmissions using optimistic window adjustments
WO2016033948A1 (en) Transmission window traffic control method and terminal
US11888960B2 (en) Packet processing method and apparatus
JP2023507077A (en) Communication device and communication method for multilink block acknowledgment
WO2018049652A1 (en) Data retransmission method and device
EP3273632B1 (en) A method and apparatus for unsolicited block acknowledgements
US10524175B2 (en) Data transmission method and network device
JP5832335B2 (en) Communication apparatus and communication system
US10630568B2 (en) Transmission control protocol timestamp rewriting
WO2016145964A1 (en) Method for requesting packet loss retransmission, receiving apparatus and sending apparatus
EP3664398A1 (en) Network equipment and method for delivering data packets
JP2006191368A (en) Network transmission device
US20210273889A1 (en) Communication control apparatus, method, program, and non-transitory computer readable recording medium
WO2019179792A1 (en) Application notifications from network for throughput and flow control adaptation
US11612010B2 (en) System and method for ultra low latency wireless media streaming
US9356999B2 (en) System and method for changing channels for guaranteed reliability communications
EP3389206B1 (en) Multipath error correction
JP2008283523A (en) Data transmitter, data transmitting method, and data transmission program
KR101396785B1 (en) Method for performing tcp functions in network equipmment
JP2018142850A (en) Communication device, communication method, and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16916032

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16916032

Country of ref document: EP

Kind code of ref document: A1