WO2018049652A1 - 数据重传方法和装置 - Google Patents

数据重传方法和装置 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
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CN2016/099223
Other languages
English (en)
French (fr)
Inventor
薛冰
杨小虎
尤中乾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI Technology Co Ltd
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 SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Priority to CN201680076291.XA priority Critical patent/CN108476097B/zh
Priority to PCT/CN2016/099223 priority patent/WO2018049652A1/zh
Publication of WO2018049652A1 publication Critical patent/WO2018049652A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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

本发明实施例提供一种数据重传方法和装置,此方法包括:确定发送端第N次发送的数据包丢失,所述N为大于或等于1的整数;向所述发送端发送丢失消息,所述丢失消息用于指示未接收到所述第N次发送的数据包;接收发送端第N+1次发送的数据包,其中,所述第N+1次发送的数据包为所述发送端根据所述丢失消息发送的数据包。从而保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。

Description

数据重传方法和装置 技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据重传方法和装置。
背景技术
在无人机领域,需要将天空端的相机图像实时传输到地面端,图像主要通过Wi-Fi网络进行传输。目前,数据传输基本上是基于传输控制协议(英文:Transmission Control Protocol,简称:TCP)、或者类用户数据报协议(英文:User Datagram Protocol,简称:UDP)协议,通过滑动窗口和网络拥塞机制,实现了可靠的数据传输,具体地,发送端向接收端发送携带有包序号的数据包,当接收端发现序号不连续时,会向发送端发送否定应答消息(英文:Negative Acknowledgment,简称:NAK),发送端只要收到NAK,就会重传对应的包,若发送端未接收到该重传包的确认应答消息(英文:Acknowledgement,简称:ACK),则发送端会根据重传间隔连续重传对应的包,在连续重传的情况下,导致数据包传输的时延成倍的增加。而Wi-Fi网络是容易受到干扰,有可能出现丢包的现象,如果在上述重传的机制上出现多次重传,会导致图像传输延时,而且传输带宽下降。
发明内容
本发明实施例提供一种数据重传方法和装置,用于保证数据传输的连续性,降低数据传输延时,提高传输带宽。
第一方面,本发明实施例提供一种数据重传方法,包括:
确定发送端第N次发送的第一数据包丢失,所述N为大于或等于1的整数;
向所述发送端发送第一丢失消息,所述第一丢失消息用于指示未接收到所述第N次发送的第一数据包;
接收发送端第N+1次发送的第一数据包,其中,所述第N+1次发送的第一数据包为所述发送端根据所述第一丢失消息发送的第一数据包。
可选地,当N≥2时,确定发送端第N次发送的第一数据包丢失,包括:
接收所述发送端发送的第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送;
根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失。
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;
根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失,包括:在未接收到所述第一数据包时,根据所述第一序号,确定第N次发送的序号小于或等于所述第一序号的第一数据包丢失。
可选地,所述第一发送指示包括发送次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;
根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失,包括:根据所述第一序号和所述发送次数N,确定第N次发送的序号小于或等于所述第一序号数据包丢失。
可选地,所述接收所述发送端发送的第一发送指示之前,还包括:
向所述发送端发送第二丢失消息,所述第二丢失消息用于指示未接收到所述第N-1次发送的第一数据包;
所述接收所述发送端发送的第一发送指示,包括:接收所述发送端发送的第一ping包,所述第一ping包中包括所述第一发送指示。
可选地,当N=1时,确定发送端第N次发送的第一数据包丢失,包括:
根据接收的所述发送端发送的数据包的序号不连续,确定第一次发送的所述第一数据包丢失,所述第一数据包的序号为缺失的序号。
可选地,所述向发送端发送第一丢失消息,包括:向所述发送端发送否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号,所述第一数据包的序号的前一个序号用于所述发送端确定第1次发送的所述第一数据包丢失。
可选地,当N=1时,确定发送端第N次发送的第一数据包丢失,包括:
当在预设时间内未接收到数据包时,向所述发送端发送第三丢失消息, 所述第三丢失消息用于指示未接收到数据包;
接收所述发送端发送的第二发送指示,所述第二发送指示用于指示所述发送端已发送第1次发送的所述第一数据包;
根据所述第二发送指示确定所述第1次发送的第一数据包丢失。
可选地,接收所述发送端发送的第二发送指示,包括:接收所述发送端发送的第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;
所述根据所述第二发送指示确定所述第1次发送的第一数据包丢失,包括:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述第一数据包丢失。
可选地,所述接收所述发送端第N+1次发送的所述第一数据包之前,还包括:
接收所述发送端发送的第二数据包,所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号;
所述接收所述发送端第N+1次发送的所述第一数据包之后,还包括:
当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,向所述发送端发送第一确认应答消息,所述第一确认应答消息用于指示所述当前滑动窗口内所述第二数据包的序号之前的序号对应的数据包已接收。
可选地,所述第N+1次发送的所述第一数据包中携带有所述第一数据包的发送次数N+1。
可选地,若所述N+1为最大发送次数,所述向发送端发送第一丢失消息之后,还包括:
接收所述发送端发送的第三数据包,所述第三数据包携带所述第三数据包的序号;
向所述发送端发送第二确认应答消息,所述第二确认应答消息用于指示已接收到所述第三数据包的序号之前的序号对应的数据包。
本实施例提供的数据重传方法,通过确定未接收到发送端发送的数据包是发送端第几(即N)次发送的,然后向发送端发送用于指示未接收到该第N次发送的数据包的丢失消息,以及接收发送端根据丢失消息发送的数据包, 接收的数据包为发送端第N+1次发送的数据包。由于本实施例中可以确定丢失的数据包的发送次数,并向发送端发送丢失消息以通知未接收到该发送次数的数据包,以使发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。
第二方面,本发明实施例提供一种数据重传方法,包括:
接收接收端发送的第一丢失消息,所述第一丢失消息用于指示未接收到第N次发送的第一数据包,所述N为大于或等于1的整数;
根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包。
可选地,当N≥2时,所述接收所述接收端发送的第一丢失消息之前,包括:
向所述接收端发送第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送。
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。
可选地,所述第一发送指示包括发送次数N和第一序号,所述发送次数N和第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。
可选地,所述向所述接收端发送第一发送指示之前,还包括:
接收所述接收端发送的第二丢失消息,所述第二丢失消息用于指示未接收到第N-1次发送的所述第一数据包;
根据所述第二丢失消息,向所述接收端发送第N次发送的第一数据包;
所述向所述接收端发送第一发送指示,包括:
当确定在预设时间内未接收到所述接收端发送的用于指示所述第N次发送的第一数据包已接收或丢失的消息时,向所述接收端发送所述第一ping包,所述第一ping包中包括所述第一发送指示。
可选地,所述接收接收端发送的第一丢失消息,包括:接收所述接收端发送的否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号;
所述方法,还包括:
根据所述第一数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为所述第一数据包的序号的前一个序号。
可选地,所述接收接收端发送的第一丢失消息之前,还包括:
根据滑动窗口向所述接收端发送数据包;
接收所述接收端发送的第三丢失消息,所述第三丢失消息用于指示未接收到数据包;
根据所述第三丢失消息向所述接收端发送第二发送指示,所述第二发送指示用于指示已发送第1次发送的所述第一数据包。
可选地,根据所述第三丢失消息向所述接收端发送第二发送指示,包括:向所述接收端发送第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的第一数据包已发送。
可选地,所述N+1为最大发送次数,所述根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包之后,还包括:
根据所述第一数据包的序号,调整当前滑动窗口。
本实施例提供的数据重传方法,通过接收接收端发送的用于指示未接收到第N次发送的数据包的丢失消息,然后根据丢失消息再次发送数据包。由于本实施例中发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。
第三方面,本发明实施例提供一种数据重传装置,包括:
确定模块,用于确定发送端第N次发送的第一数据包丢失,所述N为大于或等于1的整数;
发送模块,用于向所述发送端发送第一丢失消息,所述第一丢失消息用于指示未接收到所述第N次发送的第一数据包;
接收模块,用于接收发送端第N+1次发送的第一数据包,其中,所述第N+1次发送的第一数据包为所述发送端根据所述第一丢失消息发送的第一数据包。
可选地,当N≥2时,所述接收模块,还用于接收所述发送端发送的第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送;
所述确定模块,具体用于:根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失。
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;
所述确定模块,具体用于:在所述接收模块未接收到所述第一数据包时,根据所述第一序号,确定第N次发送的序号小于或等于所述第一序号的第一数据包丢失。
可选地,所述第一发送指示包括发送次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;
所述确定模块,具体用于:根据所述第一序号和所述发送次数N,确定第N次发送的序号小于或等于所述第一序号的数据包丢失。
可选地,所述发送模块,还用于在所述接收模块接收所述发送端发送的第一发送指示之前,向所述发送端发送第二丢失消息,所述第二丢失消息用于指示未接收到所述第N-1次发送的第一数据包;
所述接收模块在接收所述发送端发送的第一发送指示时,具体用于:接收所述发送端发送的第一ping包,所述第一ping包中包括所述第一发送指示。
可选地,当N=1时,所述确定模块,具体用于:根据接收的所述发送端发送的数据包的序号不连续,确定第一次发送的所述第一数据包丢失,所述第一数据包的序号为缺失的序号。
可选地,所述发送模块在向发送端发送第一丢失消息时,具体用于包括:向所述发送端发送否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号,所述第一数据包的序号的前一个序号用于所述发送端确定第1次发送的所述第一数据包丢失。
可选地,当N=1时,所述发送模块,还用于当在预设时间内未接收到数据包时,向所述发送端发送第三丢失消息,所述第三丢失消息用于指示未接收到数据包;
所述接收模块,还用于接收所述发送端发送的第二发送指示,所述第二发送指示用于指示所述发送端已发送第1次发送的所述第一数据包;
所述确定模块,具体用于:根据所述第二发送指示确定所述第1次发送的第一数据包丢失。
可选地,所述接收模块在接收所述发送端发送的第二发送指示时,具体用于:接收所述发送端发送的第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;
所述确定模块,具体用于:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述第一数据包丢失。
可选地,所述接收模块,还用于在接收所述发送端第N+1次发送的所述第一数据包之前,接收所述发送端发送的第二数据包,所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号;
所述发送模块,还用于在所述接收模块接收所述发送端第N+1次发送的所述第一数据包之后,当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,向所述发送端发送第一确认应答消息,所述第一确认应答消息用于指示所述当前滑动窗口内所述第二数据包的序号之前的序号对应的数据包已接收。
可选地,所述第N+1次发送的所述第一数据包中携带有所述第一数据包的发送次数N+1。
可选地,若所述N+1为最大发送次数,所述接收模块还用于在所述发送模块向发送端发送第一丢失消息之后,接收所述发送端发送的第三数据包,所述第三数据包携带所述第三数据包的序号;
所述发送模块还用于向所述发送端发送第二确认应答消息,所述第二确认应答消息用于指示已接收到所述第三数据包的序号之前的序号对应的数据包。
本实施例提供的数据重传装置,通过确定未接收到发送端发送的数据包是发送端第几(即N)次发送的,然后向发送端发送用于指示未接收到该第N次发送的数据包的丢失消息,以及接收发送端根据丢失消息发送的数据包,接收的数据包为发送端第N+1次发送的数据包。由于本实施例中可以确定丢失的数据包的发送次数,并向发送端发送丢失消息以通知未接收到该发送次数的数据包,以使发送端在接收到丢失消息后再次发送该数据包,保证了数 据传输的连续性,降低了数据传输延时,提高了传输带宽。
第四方面,本发明实施例提供一种数据重传装置,包括:
接收模块,用于接收接收端发送的第一丢失消息,所述第一丢失消息用于指示未接收到第N次发送的第一数据包,所述N为大于或等于1的整数;
发送模块,用于根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包。
可选地,当N≥2时,所述发送模块,还用于在所述接收模块接收所述接收端发送的第一丢失消息之前,向所述接收端发送第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送。
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。
可选地,所述第一发送指示包括发送次数N和第一序号,所述发送次数N和第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。
可选地,所述接收模块还用于在所述发送模块向所述接收端发送第一发送指示之前,接收所述接收端发送的第二丢失消息,所述第二丢失消息用于指示未接收到第N-1次发送的所述第一数据包;
所述发送模块,还用于根据所述第二丢失消息,向所述接收端发送第N次发送的第一数据包;
所述发送模块在向所述接收端发送第一发送指示时,具体用于:当确定在预设时间内未接收到所述接收端发送的用于指示所述第N次发送的第一数据包已接收或丢失的消息时,向所述接收端发送所述第一ping包,所述第一ping包中包括所述第一发送指示。
可选地,所述接收模块在接收接收端发送的第一丢失消息时,具体用于:接收所述接收端发送的否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号;
所述装置,还包括:
变更模块,用于根据所述第一数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为所述第一数据包的序号的前一个序号。
可选地,所述发送模块,还用于在所述接收模块接收接收端发送的第一丢失消息之前,根据滑动窗口向所述接收端发送数据包;
所述接收模块,还用于接收所述接收端发送的第三丢失消息,所述第三丢失消息用于指示未接收到数据包;
所述发送模块,还用于根据所述第三丢失消息向所述接收端发送第二发送指示,所述第二发送指示用于指示已发送第1次发送的所述第一数据包。
可选地,所述发送模块,在根据所述第三丢失消息向所述接收端发送第二发送指示时,具体用于:向所述接收端发送第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的第一数据包已发送。
可选地,所述装置还包括:
调整模块,用于在所述发送模块根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包之后,根据所述第一数据包的序号,调整当前滑动窗口;所述N+1为最大发送次数。
本发明实施例提供的数据重传装置,通过接收接收端发送的用于指示未接收到第N次发送的数据包的丢失消息,然后根据丢失消息再次发送数据包。由于本实施例中发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据重传方法实施例一的流程图;
图2为本发明数据重传方法实施例二的流程图;
图3为本发明数据重传方法实施例三的流程图;
图4为本发明数据重传方法实施例四的流程图;
图5为本发明数据重传方法实施例五的流程图;
图6为本发明数据重传方法实施例六的流程图;
图7为本发明数据重传方法实施例七的流程图;
图8为本发明数据重传方法实施例八的流程图;
图9为本发明实施例提供一种数据包的结构体的示意图;
图10为本发明一实施例提供的数据重传方法的一种应用示意图;
图11为本发明一实施例提供的数据重传方法的一种应用示意图;
图12为本发明一实施例提供的数据重传方法的一种应用示意图;
图13为本发明数据重传装置实施例一的结构示意图;
图14为本发明数据重传装置实施例二的结构示意图;
图15为本发明数据重传系统实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明各实施例提供的数据重传方法可以应用于无人机中,下述的发送端可以是无人机,接收端可以是控制无人机的控制装置,例如控制装置可以包括遥控器和地面站,地面站可以是智能手机、平板电脑,下述的数据包可以是无人机中的摄像装置拍摄到的画面。
图1为本发明数据重传方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
S101、确定发送端第N次发送的数据包丢失。
S102、向所述发送端发送丢失消息,所述丢失消息用于指示未接收到所述第N次发送的数据包。
S103、接收发送端第N+1次发送的数据包,其中,所述第N+1次发送的数据包为所述发送端根据所述丢失消息发送的数据包。
本实施例的执行主体为接收端,接收端可以确定发送端第N次发送的数据包丢失,所述N为大于或等于1的整数,也就是接收端可以确定发送端发 送的数据包丢失而且还可以确定这次丢失的数据包是发送端第几次发送的。然后需要向发送端通知该发送端第N次发送的数据包接收端未接收到,并且需要发送端再次发送数据包,也就是本实施例中接收端向发送端发送丢失消息,该丢失消息用于指示接收端未接收到发送端第N次发送的数据包,然后接收端可以接收发送端根据丢失消息重新发送的数据包,该数据包是发送端第N+1次发送的数据包。
本实施例提供的数据重传方法,通过确定未接收到发送端发送的数据包是发送端第几(即N)次发送的,然后向发送端发送用于指示未接收到该第N次发送的数据包的丢失消息,以及接收发送端根据丢失消息发送的数据包,接收的数据包为发送端第N+1次发送的数据包。由于本实施例中可以确定丢失的数据包的发送次数,并向发送端发送丢失消息以通知未接收到该发送次数的数据包,以使发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。
图2为本发明数据重传方法实施例二的流程图,如图2所示,本实施例的方法可以包括:
S201、接收接收端发送的丢失消息,所述丢失消息用于指示未接收到第N次发送的数据包,N为大于或等于1的整数。
S202、根据所述丢失消息,向所述接收端发送第N+1次发送的所述数据包。
本实施例的执行主体为发送端,发送端接收接收端发送的丢失消息,发送端根据接收的丢失消息可以确定接收端未接收到发送端发送的数据包,而且未接收的数据包为发送端第N次发送的数据包,然后向接收端再次发送数据包,该再次发送的数据包为第N+1次发送的数据包,以便接收端能接收第N+1次发送的数据包。
本实施例提供的数据重传方法,通过接收接收端发送的用于指示未接收到第N次发送的数据包的丢失消息,然后根据丢失消息再次发送数据包。由于本实施例中发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。
图3为本发明数据重传方法实施例三的流程图,如图3所示,本实施例以N为大于或等于2为例,本实施例的方法可以包括:
S301、发送端向接收端发送发送指示。
所述发送指示用于指示第N次发送的所述数据包已发送。N为大于或等于2的整数。
本实施例中,发送端在向接收端发送第N次发送的数据包之后,向接收端发送所述发送指示;相应地,接收端接收发送端发送的发送指示。可选地,发送端可以将发送指示携带在一数据包中发送给接收端。
S302、接收端根据所述发送指示,确定所述第N次发送的所述数据包丢失。
本实施例中,接收端接收发送指示后,并且到目前为止还未接收到该数据包,然后根据发送指示,确定发送端第N次发送的数据包丢失,即未接收到发送端第N次发送的数据包。
在S301和S302的一种可行的实现方式中,上述的发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;对应地,接收端在未接收到序号小于或等于第一序号的数据包时,根据发送指示中的第一序号,确定第N次发送的序号小于或等于第一序号的数据包丢失,也就是接收端根据第一序号确定发送端已发送第N次发送的序号小于或等于第一序号的数据包,而且接收端确定未接收到,因此,接收端确定第N次发送的序号小于或等于第一序号的数据包丢失。可选地,发送指示可以包括多个字段,该多个字段中的第一个字段表示第二次发送的数据包的序号,第二个字段表示第三次发送的数据包的序号,以此类推,因此本实施例中可以在第N-1个字段填上数值,该数值表示第N+1次发送的数据包的序号,而其它字段的位置为无效。若发送指示携带在数据包发送,则发送指示的结构体可以如表1所示,发送指示中的多个字段为表1中的第五位字段之后的字段(包括第五位字段)。
表1
Figure PCTCN2016099223-appb-000001
在S301和S302的另一种可行的实现方式中,上述的发送指示包括发送 次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;对应地,发送端在未接收到序号小于或等于第一序号的数据包时,根据发送指示中的第一序号和发送次数N,确定第N次发送的序号小于或等于第一序号的数据包丢失,也就是接收端根据第一序号和发送次数N确定第N次发送的序号小于或等于第一序号的数据包发送端已发送,而且接收端确定未接收到,因此,接收端确定数据包丢失。可选地,发送指示可以包括发送次数字段和序号字段,根据发送次数字段和序号字段中的数值共同决定第几次发送的哪个数据包已发送,因此本实施例中可以在发送次数字段中填上数值N,在序号字段上填上第一序号。若发送指示携带在数据包发送,则发送指示的结构体可以如表2所示,发送指示中的发送次数字段为表2中的第二位字段,序号字段为表2中的第五位字段。
表2
Figure PCTCN2016099223-appb-000002
S303、接收端向所述发送端发送丢失消息。
所述丢失消息用于指示未接收到所述第N次发送的数据包。
S304、发送端根据所述丢失消息,向所述接收端发送第N+1次发送的数据包。
本实施例中,S303和S304的具体实现过程可以参见图1或图2所示实施例中的相关描述,此处不再赘述。
本实施例提供的数据重传方法,发送端通过发送指示向接收端指示第N次发送的数据包已发送;然后接收端未接收数据包时确定第N次发送的数据包已丢失,并向发送端发送丢失消息;发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。
图4为本发明数据重传方法实施例四的流程图,如图4所示,本实施例以N大于或等于2为例,本实施例的方法可以包括:
S401、接收端向发送端发送第一丢失消息。
所述第一丢失消息用于指示未接收到所述第N-1次发送的数据包。
本实施例中,接收端可以确定第N-1次发送的数据包丢失,然后向发送端发送第一丢失消息。其中,S401的具体实现过程可以参见上述实施例或下述实施例中的相关描述,此处不再赘述。
S402、发送端根据所述第一丢失消息,向所述接收端发送第N次发送的数据包。
本实施例中,发送端根据第一丢失消息,确定第N-1次发送的数据包丢失,然后再次向接收端发送数据包,这次的发送的数据包称为第N次发送的数据包。
S403、当所述发送端确定在预设时间内未接收到接收端发送的用于指示第N次发送的数据包已接收或丢失的消息时,向所述接收端发送ping包。
所述ping包中包括发送指示。
本实施例中,当发送端发送第N次发送的数据包之后,在预设时间内未接收到接收端发送的用于指示第N次发送的数据包已接收的消息,也没有接收到接收端发送的用于指示第N次发送的数据包已丢失的消息时,发送端向接收端发送ping包,而且该ping包中携带有发送指示。发送指示的相关描述可以参见图3所示实施例中的相关描述,此处不再赘述。
S404、接收端根据所述发送指示,确定所述第N次发送的所述数据包丢失。
S405、接收端向所述发送端发送第二丢失消息。
S406、发送端根据所述第二丢失消息,向所述接收端发送第N+1次发送的所述数据包。
本实施例中,S404-S406的具体实现过程可以参见图3所示实施例中的相关描述,此处不再赘述。
本实施例提供的数据重传方法,发送端通过ping包向接收端发送指示,以向接收端指示第N次发送的数据包已发送;然后接收端未接收数据包时确定第N次发送的数据包已丢失,并向发送端发送丢失消息;发送端在接收到丢失消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。
图5为本发明数据重传方法实施例五的流程图,如图5所示,本实施例 以N等于1为例,本实施例的方法可以包括:
S501、接收端根据接收的发送端发送的数据包的序号不连续,确定第一次发送的数据包丢失。
所述丢失的数据包的序号为缺失的序号。
本实施例中,发送端根据数据包的序号依次向接收端发送数据包,每个数据包中携带有该数据包的序号。相应地,接收端会接收到发送端发送的数据包,当接收端接收了数据包,但是按顺序接收到的数据包的序号不连续,据此可以确定缺失的序号对应的数据包丢失。例如:接收端接收了序号为2、3的数据包,据此可以确定序号为1的数据包丢失;例如:接收端接收了序号为1、2、4的数据包,据此可以确定序号为3的数据包丢失。
然后本实施例的接收端需要向发送端发送丢失消息,丢失消息用于指示第一次发送的数据包丢失,在一种可行的实现方式中,接收端向发送端发送丢失消息可以包括S502。
S502、接收端向所述发送端发送否定应答消息。
所述否定应答消息包括所述数据包的序号的前一个序号,所述数据包的序号的前一个序号用于所述发送端确定第1次发送的所述数据包丢失。
本实施例中,丢失的数据包的序号为缺失的序号,而缺失的序号的前一个序号对应的数据包接收端是接收到的,因此接收端向发送端发送的否定应答消息中包括有该丢失的数据包的序号的前一个序号,例如:丢失的数据包的序号为3,则否定应答消息中包括的序号为2。
S503、发送端根据否定应答消息,向接收端发送第二次发送的数据包。
本实施例中,发送端接收上述的否定应答消息后,根据否定应答消息中的丢失的数据包的序号的前一个序号,确定第一次发送的数据包已丢失,例如:否定应答消息中的丢失的数据包的序号的前一个序号为2,则发送端根据序号为2确定序号为3的数据包已丢失,然后向接收端再次发送该数据包,这次发送的数据包为第二次发送的数据包。
S504、发送端根据丢失的所述数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为丢失的所述数据包的序号的前一个序号。
本实施例中,发送端根据否定应答消息中的丢失的数据包的序号的前一个序号,可以确定该前一个序号以及之前的序号对应的数据包已成功接收, 因此,将当前滑动窗口的左端序号变更为丢失的该数据包的序号的前一个序号。例如:丢失的数据包的序号的前一个序号为3,则本实施例的发送端将当前滑动窗口的左端序号变更为3。
本实施例提供的数据重传方法,通过上述方案,接收端可以确定第一次发送的数据包丢失,然后向发送端发送否定应答消息;发送端在接收到否定应答消息后再次发送该数据包,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽。
图6为本发明数据重传方法实施例六的流程图,如图6所示,本实施例以N等于1为例,本实施例的方法可以包括:
S601、发送端根据滑动窗口向接收端发送数据包。
S602、当在预设时间内未接收到数据包时,接收端向所述发送端发送第一丢失消息。
所述第一丢失消息用于指示未接收到数据包。
本实施例中,发送端根据滑动窗口向接收端发送数据包,而接收端在预设时间内未接收到任何数据包时,接收端向发送端发送第一丢失消息。
S603、发送端根据所述第一丢失消息向所述接收端发送第一发送指示。
所述第一发送指示用于指示已发送第一次发送的所述数据包。
S604、接收端根据所述第一发送指示确定所述第一次发送的数据包丢失。
本实施例中,发送端接收到第一丢失消息后,根据第一丢失消息确定所有已发送的数据包丢失,然后向接收端发送第一发送指示,该第一发送指示用于指示第一次发送了哪些数据包,即丢失的数据包。接收端接收到第一发送指示后,可以确定第一次发送的数据包丢失。
可选地,S603的一种可行的实现方式为:发送端向所述接收端发送ping包,所述ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的数据包已发送。相应地,S604的一种可行的实现方式为:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述数据包丢失。例如:ping包中包括的当前滑动窗口的左端序号为0、右端序号为2,接收端根据左端序号为0、右端序号为2确定序号为1以及序号为2的数据包丢失。
S605、接收端向所述发送端发送第二丢失消息。
所述第二丢失消息用于指示未接收到所述第一次发送的数据包。
S606、发送端根据所述第二丢失消息,向所述接收端发送第二次发送的所述数据包。
本实施例中,S605和S606的具体实现过程可以参见图1或图2所示实施例中的相关描述,此处不再赘述。
图7为本发明数据重传方法实施例七的流程图,如图7所示,本实施例的方法可以包括:
S701、接收端确定发送端第N次发送的第一数据包丢失。
所述N为大于或等于1的整数;
S702、接收端向所述发送端发送丢失消息。
所述丢失消息用于指示未接收到所述第N次发送的第一数据包。
本实施例中,S701和S702的具体实现过程可以参见上述各实施例中的相关描述,此处不再赘述。
S703、发送端向接收端发送第二数据包。
所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号。
S704、发送端根据丢失消息,向所述接收端发送第N+1次发送的第一数据包。
S704的具体实现过程可以参见上述各实施例中的相关描述,此处不再赘述。
需要说明的是,S703与S704的执行顺序不分先后。
S705、当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,接收端向所述发送端发送确认应答消息。
所述确认应答消息用于指示所述当前滑动窗口内所述第二数据包的序号之前的序号对应的数据包已接收。
本实施例中,当第二数据包的序号等于当前滑动窗口的右端序号时,说明当前滑动窗口内的所有数据包发送端均向接收端发送了,而且当前滑动窗口左端序号到右端序号内的所有序号对应的数据包均由接收端接收到时,接收端向发送端发送确认应答消息,通过确认应答消息告知发送端当前滑动窗 口内所有的数据包均已接收。可选地,发送端接收到该确认应答消息更新当前滑动窗口,例如:将当前滑动窗口的左端序号更改为第二数据包的序号。
本实施例提供的数据重传方法,通过上述方案,保证了数据传输的连续性,而且降低了数据传输延时,提高了传输带宽,而且使得接收端接收了当前滑动窗口内全部数据包后,再向发送端发送确认应答消息,保证了数据传输顺序不会被打乱。
图8为本发明数据重传方法实施例八的流程图,如图8所示,本实施例的方法可以包括:
S801、接收端确定发送端第N次发送的第一数据包丢失。
所述N为大于或等于1的整数;
S802、接收端向所述发送端发送丢失消息。
所述丢失消息用于指示未接收到所述第N次发送的第一数据包。
本实施例中,S801和S802的具体实现过程可以参见上述各实施例中的相关描述,此处不再赘述。
S803、发送端向接收端发送第二数据包。
所述第二数据包携带所述第二数据包的序号。
S804、发送端根据所述丢失消息,向所述接收端发送第N+1次发送的第一数据包。
本实施例中,S804的具体实现过程可以参见上述各实施例中的相关描述,此处不再赘述。
其中,S803和S804的执行顺序不分先后。
S805、若所述N+1为最大发送次数,则接收端向所述发送端发送确认应答消息。
所述确认应答消息用于指示已接收到所述第二数据包的序号之前的序号对应的数据包。
本实施例中,如果N+1为第一数据包的最大发送次数,表示无论接收端是否接收到第N+1次发送的第一数据包,发送端也不会再次发送第一数据包,因此,接收端认为已接收到第N+1次发送的第一数据包,在接收端接收到发送端发送的第二数据包后,接收端向发送端发送确认应答消息,通过确认应答消息向发送端通知第二数据包的序号之前的序号对应的数据包已接收。可 选地,发送端接收到确认应答消息后调整当前滑动窗口。
S806、若所述N+1为最大发送次数,则发送端根据所述第一数据包的序号,调整当前滑动窗口。
本实施例中,发送端向接收端发送第N+1次发送的第一数据包后,如果N+1为第一数据包的最大发送次数,发送端不会再次发送第一数据包,因此发送端认为接收端已接收到第N+1次发送的第一数据包,然后根据第一数据包的序号调整当前滑动窗口,例如将当前滑动窗口的左端序号更改为第一数据包的序号。
S805与S806的执行顺序不分先后。
本实施例提供的数据重传方法,通过上述方案,保证了数据传输的连续性,降低了数据传输延时,提高了传输带宽;而且存在最大发送次数的限制,可以容忍部分数据的丢失,提高了整体数据传输效率。
可选地,在上述各实施例中,所述第N+1次发送的数据包中携带有所述数据包的发送次数N+1,以使接收端接收到第N+1次发送的所述数据包后,可以确定该数据包是发送端第N+1次发送的。
可选地,上述的发送次数可以用重传次数来表示,即发送次数等于重传次数+1,例如重传次数为1,表示发送次数为2。
需要说明的是,当前滑动窗口是指当前传输的最多数据包量,而且当前滑动窗口内的数据包是已发送的但还未被确认接收的数据包;左端序号是指当前滑动窗口内第一个发送的数据包的序号减1,也就是当前最近已经确认接收的数据包的序号;右端序号是指当前滑动窗口内最晚发送的数据包的序号。
图9为本发明实施例提供一种数据包的结构体的示意图,如图9所示,最大重传次数为2(即最大发送次数为3),该结构体包括:数据包的序号、数据包的重传次数、当前滑动窗口的左端序号、右端序号、第1次重传的数据包的序号。
图10为本发明一实施例提供的数据重传方法的一种应用示意图,如图10,本实施例基于如图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的数据包。
根据本发明实施例,保证了数据传输的连续性,避免了在未接收第一数据包的确认应答消息之前连续重传第一数据包的缺陷,而且降低了数据传输 延时,提高了传输带宽。
图11为本发明一实施例提供的数据重传方法的一种应用示意图,如图11,本实施例基于如图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之前的对应的数据包均已接收。
根据本发明实施例,保证了数据传输的连续性,避免了在未接收第一数据包的确认应答消息之前连续重传第一数据包的缺陷,而且降低了数据传输延时,提高了传输带宽。
图12为本发明一实施例提供的数据重传方法的一种应用示意图,如图12,本实施例基于如图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之前的数据包均已接收。
根据本发明实施例,保证了数据传输的连续性,避免了在未接收第一数据包的确认应答消息之前连续重传第一数据包的缺陷,而且降低了数据传输延时,提高了传输带宽。
图13为本发明数据重传装置实施例一的结构示意图,如图13所示,本实施例的装置可以包括:确定模块110、发送模块120和接收模块130,其中,
确定模块110,用于确定发送端第N次发送的第一数据包丢失,所述N 为大于或等于1的整数;
发送模块120,用于向所述发送端发送第一丢失消息,所述第一丢失消息用于指示未接收到所述第N次发送的第一数据包;
接收模块130,用于接收发送端第N+1次发送的第一数据包,其中,所述第N+1次发送的第一数据包为所述发送端根据所述第一丢失消息发送的第一数据包。
可选地,当N≥2时,所述接收模块130,还用于接收所述发送端发送的第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送;
所述确定模块110,具体用于:根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失。
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;
所述确定模块110,具体用于:根据所述第一序号,确定第N次发送的序号小于或等于所述第一序号的第一数据包丢失。
可选地,所述第一发送指示包括发送次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;
所述确定模块110,具体用于:在所述接收模块130未接收到所述第一数据包时,根据所述第一序号和所述发送次数N,确定第N次发送的序号小于或等于所述第一序号的数据包丢失。
可选地,所述发送模块120,还用于在所述接收模块130接收所述发送端发送的第一发送指示之前,向所述发送端发送第二丢失消息,所述第二丢失消息用于指示未接收到所述第N-1次发送的第一数据包;
所述接收模块130在接收所述发送端发送的第一发送指示时,具体用于:接收所述发送端发送的第一ping包,所述第一ping包中包括所述第一发送指示。
可选地,当N=1时,所述确定模块110,具体用于:根据接收的所述发送端发送的数据包的序号不连续,确定第一次发送的所述第一数据包丢失, 所述第一数据包的序号为缺失的序号。
可选地,所述发送模块120在向发送端发送第一丢失消息时,具体用于包括:向所述发送端发送否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号,所述第一数据包的序号的前一个序号用于所述发送端确定第1次发送的所述第一数据包丢失。
可选地,当N=1时,所述发送模块120,还用于当在预设时间内未接收到数据包时,向所述发送端发送第三丢失消息,所述第三丢失消息用于指示未接收到数据包;
所述接收模块130,还用于接收所述发送端发送的第二发送指示,所述第二发送指示用于指示所述发送端已发送第1次发送的所述第一数据包;
所述确定模块110,具体用于:根据所述第二发送指示确定所述第1次发送的第一数据包丢失。
可选地,所述接收模块130在接收所述发送端发送的第二发送指示时,具体用于:接收所述发送端发送的第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;
所述确定模块110,具体用于:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述第一数据包丢失。
可选地,所述接收模块130,还用于在接收所述发送端第N+1次发送的所述第一数据包之前,接收所述发送端发送的第二数据包,所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号;
所述发送模块120,还用于在所述接收模块130接收所述发送端第N+1次发送的所述第一数据包之后,当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,向所述发送端发送第一确认应答消息,所述第一确认应答消息用于指示所述当前滑动窗口内所述第二数据包的序号之前的序号对应的数据包已接收。
可选地,所述第N+1次发送的所述第一数据包中携带有所述第一数据包的发送次数N+1。
可选地,若所述N+1为最大发送次数,所述接收模块130还用于在所述发送模块120向发送端发送第一丢失消息之后,接收所述发送端发送的第三 数据包,所述第三数据包携带所述第三数据包的序号;
所述发送模块120还用于向所述发送端发送第二确认应答消息,所述第二确认应答消息用于指示已接收到所述第三数据包的序号之前的序号对应的数据包。
本实施例的装置,可以用于执行本发明上述各方法实施例中接收端所执行的技术方案,其实现原理和技术效果类似,此处不再赘述。
图14为本发明数据重传装置实施例二的结构示意图,如图14所示,本实施例的装置可以包括:接收模块210和发送模块220,其中,
接收模块210,用于接收接收端发送的第一丢失消息,所述第一丢失消息用于指示未接收到第N次发送的第一数据包,所述N为大于或等于1的整数;
发送模块220,用于根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包。
可选地,当N≥2时,所述发送模块220,还用于在所述接收模块210接收所述接收端发送的第一丢失消息之前,向所述接收端发送第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送。
可选地,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。
可选地,所述第一发送指示包括发送次数N和第一序号,所述发送次数N和第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。
可选地,所述接收模块210还用于在所述发送模块220向所述接收端发送第一发送指示之前,接收所述接收端发送的第二丢失消息,所述第二丢失消息用于指示未接收到第N-1次发送的所述第一数据包;
所述发送模块220,还用于根据所述第二丢失消息,向所述接收端发送第N次发送的第一数据包;
所述发送模块220在向所述接收端发送第一发送指示时,具体用于:当确定在预设时间内未接收到所述接收端发送的用于指示所述第N次发送的第一数据包已接收或丢失的消息时,向所述接收端发送所述第一ping包,所述 第一ping包中包括所述第一发送指示。
可选地,所述接收模块210在接收接收端发送的第一丢失消息时,具体用于:接收所述接收端发送的否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号;
所述装置,还包括:变更模块230;变更模块230,用于根据所述第一数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为所述第一数据包的序号的前一个序号。
可选地,所述发送模块220,还用于在所述接收模块210接收接收端发送的第一丢失消息之前,根据滑动窗口向所述接收端发送数据包;
所述接收模块210,还用于接收所述接收端发送的第三丢失消息,所述第三丢失消息用于指示未接收到数据包;
所述发送模块220,还用于根据所述第三丢失消息向所述接收端发送第二发送指示,所述第二发送指示用于指示已发送第1次发送的所述第一数据包。
可选地,所述发送模块220,在根据所述第三丢失消息向所述接收端发送第二发送指示时,具体用于:向所述接收端发送第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的第一数据包已发送。
可选地,本实施例的装置还包括:调整模块240;调整模块240,用于在所述发送模块220根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包之后,根据所述第一数据包的序号,调整当前滑动窗口;所述N+1为最大发送次数。
本实施例的装置,可以用于执行上述各方法实施例中发送端所执行的技术方案,其实现原理和技术效果类似,此处不再赘述。
图15为本发明数据重传系统实施例一的结构示意图,如图15所示,本实施例的系统可以包括:控制装置10和无人机20。无人机20的收发器21可以与控制装置10的收发器11进行通信,无人机的搭载台22搭载有摄像装置23,无人机中的旋转翼24可以改变转向使得摄像装置23可以拍摄到不同的画面;无人机20可以通过收发器21将摄像装置23拍摄到的画面发送给控制装置10的收发器11。需要说明的是,图15从无人机20的一个侧面方向 示出了无人机20的两个旋转翼,但无人机20可以具有四个旋转翼。
需要说明的是,控制装置10可以执行上述接收端执行的技术方案,无人机20可以执行上述发送端执行的技术方案。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读内存(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (42)

  1. 一种数据重传方法,其特征在于,包括:
    确定发送端第N次发送的第一数据包丢失,所述N为大于或等于1的整数;
    向所述发送端发送第一丢失消息,所述第一丢失消息用于指示未接收到所述第N次发送的第一数据包;
    接收发送端第N+1次发送的第一数据包,其中,所述第N+1次发送的第一数据包为所述发送端根据所述第一丢失消息发送的第一数据包。
  2. 根据权利要求1所述的方法,其特征在于,当N≥2时,确定发送端第N次发送的第一数据包丢失,包括:
    接收所述发送端发送的第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送;
    根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失。
  3. 根据权利要求2所述的方法,其特征在于,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;
    根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失,包括:在未接收到所述第一数据包时,根据所述第一序号,确定第N次发送的序号小于或等于所述第一序号的第一数据包丢失。
  4. 根据权利要求2所述的方法,其特征在于,所述第一发送指示包括发送次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;
    根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失,包括:根据所述第一序号和所述发送次数N,确定第N次发送的序号小于或等于所述第一序号数据包丢失。
  5. 根据权利要求2-4任意一项所述的方法,其特征在于,所述接收所述发送端发送的第一发送指示之前,还包括:
    向所述发送端发送第二丢失消息,所述第二丢失消息用于指示未接收到所述第N-1次发送的第一数据包;
    所述接收所述发送端发送的第一发送指示,包括:接收所述发送端发送 的第一ping包,所述第一ping包中包括所述第一发送指示。
  6. 根据权利要求1所述的方法,其特征在于,当N=1时,确定发送端第N次发送的第一数据包丢失,包括:
    根据接收的所述发送端发送的数据包的序号不连续,确定第一次发送的所述第一数据包丢失,所述第一数据包的序号为缺失的序号。
  7. 根据权利要求6所述的方法,其特征在于,所述向发送端发送第一丢失消息,包括:向所述发送端发送否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号,所述第一数据包的序号的前一个序号用于所述发送端确定第1次发送的所述第一数据包丢失。
  8. 根据权利要求1所述的方法,其特征在于,当N=1时,确定发送端第N次发送的第一数据包丢失,包括:
    当在预设时间内未接收到数据包时,向所述发送端发送第三丢失消息,所述第三丢失消息用于指示未接收到数据包;
    接收所述发送端发送的第二发送指示,所述第二发送指示用于指示所述发送端已发送第1次发送的所述第一数据包;
    根据所述第二发送指示确定所述第1次发送的第一数据包丢失。
  9. 根据权利要求8所述的方法,其特征在于,接收所述发送端发送的第二发送指示,包括:接收所述发送端发送的第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;
    所述根据所述第二发送指示确定所述第1次发送的第一数据包丢失,包括:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述第一数据包丢失。
  10. 根据权利要求1-9任意一项所述的方法,其特征在于,所述接收所述发送端第N+1次发送的所述第一数据包之前,还包括:
    接收所述发送端发送的第二数据包,所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号;
    所述接收所述发送端第N+1次发送的所述第一数据包之后,还包括:
    当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,向所述发送端发送第一确认应答消息,所述第一确认应答消息用于指示所述当前滑动 窗口内所述第二数据包的序号之前的序号对应的数据包已接收。
  11. 根据权利要求1-10任意一项所述的方法,其特征在于,所述第N+1次发送的所述第一数据包中携带有所述第一数据包的发送次数N+1。
  12. 根据权利要求1-11任意一项所述的方法,其特征在于,若所述N+1为最大发送次数,所述向发送端发送第一丢失消息之后,还包括:
    接收所述发送端发送的第三数据包,所述第三数据包携带所述第三数据包的序号;
    向所述发送端发送第二确认应答消息,所述第二确认应答消息用于指示已接收到所述第三数据包的序号之前的序号对应的数据包。
  13. 一种数据重传方法,其特征在于,包括:
    接收接收端发送的第一丢失消息,所述第一丢失消息用于指示未接收到第N次发送的第一数据包,所述N为大于或等于1的整数;
    根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包。
  14. 根据权利要求13所述的方法,其特征在于,当N≥2时,所述接收所述接收端发送的第一丢失消息之前,包括:
    向所述接收端发送第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送。
  15. 根据权利要求14所述的方法,其特征在于,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。
  16. 根据权利要求14所述的方法,其特征在于,所述第一发送指示包括发送次数N和第一序号,所述发送次数N和第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。
  17. 根据权利要求14-16任意一项所述的方法,其特征在于,所述向所述接收端发送第一发送指示之前,还包括:
    接收所述接收端发送的第二丢失消息,所述第二丢失消息用于指示未接收到第N-1次发送的所述第一数据包;
    根据所述第二丢失消息,向所述接收端发送第N次发送的第一数据包;
    所述向所述接收端发送第一发送指示,包括:
    当确定在预设时间内未接收到所述接收端发送的用于指示所述第N次发送的第一数据包已接收或丢失的消息时,向所述接收端发送所述第一ping包,所述第一ping包中包括所述第一发送指示。
  18. 根据权利要求13所述的方法,其特征在于,所述接收接收端发送的第一丢失消息,包括:接收所述接收端发送的否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号;
    所述方法,还包括:
    根据所述第一数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为所述第一数据包的序号的前一个序号。
  19. 根据权利要求13所述的方法,其特征在于,所述接收接收端发送的第一丢失消息之前,还包括:
    根据滑动窗口向所述接收端发送数据包;
    接收所述接收端发送的第三丢失消息,所述第三丢失消息用于指示未接收到数据包;
    根据所述第三丢失消息向所述接收端发送第二发送指示,所述第二发送指示用于指示已发送第1次发送的所述第一数据包。
  20. 根据权利要求19所述的方法,其特征在于,根据所述第三丢失消息向所述接收端发送第二发送指示,包括:向所述接收端发送第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的第一数据包已发送。
  21. 根据权利要求13-20任意一项所述的方法,其特征在于,所述N+1为最大发送次数,所述根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包之后,还包括:
    根据所述第一数据包的序号,调整当前滑动窗口。
  22. 一种数据重传装置,其特征在于,包括:
    确定模块,用于确定发送端第N次发送的第一数据包丢失,所述N为大于或等于1的整数;
    发送模块,用于向所述发送端发送第一丢失消息,所述第一丢失消息用于指示未接收到所述第N次发送的第一数据包;
    接收模块,用于接收发送端第N+1次发送的第一数据包,其中,所述第N+1次发送的第一数据包为所述发送端根据所述第一丢失消息发送的第一数据包。
  23. 根据权利要求22所述的装置,其特征在于,当N≥2时,所述接收模块,还用于接收所述发送端发送的第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送;
    所述确定模块,具体用于:根据所述第一发送指示,确定所述第N次发送的所述第一数据包丢失。
  24. 根据权利要求23所述的装置,其特征在于,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;
    所述确定模块,具体用于:在所述接收模块未接收到所述第一数据包时,根据所述第一序号,确定第N次发送的序号小于或等于所述第一序号的第一数据包丢失。
  25. 根据权利要求23所述的装置,其特征在于,所述第一发送指示包括发送次数N和第一序号,所述第一序号和所述发送次数N用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送;
    所述确定模块,具体用于:根据所述第一序号和所述发送次数N,确定第N次发送的序号小于或等于所述第一序号的数据包丢失。
  26. 根据权利要求23-25任意一项所述的装置,其特征在于,所述发送模块,还用于在所述接收模块接收所述发送端发送的第一发送指示之前,向所述发送端发送第二丢失消息,所述第二丢失消息用于指示未接收到所述第N-1次发送的第一数据包;
    所述接收模块在接收所述发送端发送的第一发送指示时,具体用于:接收所述发送端发送的第一ping包,所述第一ping包中包括所述第一发送指示。
  27. 根据权利要求22所述的装置,其特征在于,当N=1时,所述确定模块,具体用于:根据接收的所述发送端发送的数据包的序号不连续,确定第一次发送的所述第一数据包丢失,所述第一数据包的序号为缺失的序号。
  28. 根据权利要求27所述的装置,其特征在于,所述发送模块在向发送端发送第一丢失消息时,具体用于包括:向所述发送端发送否定应答消息, 所述否定应答消息包括所述第一数据包的序号的前一个序号,所述第一数据包的序号的前一个序号用于所述发送端确定第1次发送的所述第一数据包丢失。
  29. 根据权利要求22所述的装置,其特征在于,当N=1时,所述发送模块,还用于当在预设时间内未接收到数据包时,向所述发送端发送第三丢失消息,所述第三丢失消息用于指示未接收到数据包;
    所述接收模块,还用于接收所述发送端发送的第二发送指示,所述第二发送指示用于指示所述发送端已发送第1次发送的所述第一数据包;
    所述确定模块,具体用于:根据所述第二发送指示确定所述第1次发送的第一数据包丢失。
  30. 根据权利要求29所述的装置,其特征在于,所述接收模块在接收所述发送端发送的第二发送指示时,具体用于:接收所述发送端发送的第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;
    所述确定模块,具体用于:根据所述当前滑动窗口的左端序号和右端序号,确定序号位于所述当前滑动窗口内的所述第一数据包丢失。
  31. 根据权利要求22-30任意一项所述的装置,其特征在于,所述接收模块,还用于在接收所述发送端第N+1次发送的所述第一数据包之前,接收所述发送端发送的第二数据包,所述第二数据包携带所述第二数据包的序号、当前滑动窗口的左端序号和右端序号;
    所述发送模块,还用于在所述接收模块接收所述发送端第N+1次发送的所述第一数据包之后,当所述第二数据包的序号等于所述当前滑动窗口的右端序号,且所述当前滑动窗口的左端序号到所述右端序号对应的数据包均已接收时,向所述发送端发送第一确认应答消息,所述第一确认应答消息用于指示所述当前滑动窗口内所述第二数据包的序号之前的序号对应的数据包已接收。
  32. 根据权利要求22-31任意一项所述的装置,其特征在于,所述第N+1次发送的所述第一数据包中携带有所述第一数据包的发送次数N+1。
  33. 根据权利要求22-32任意一项所述的装置,其特征在于,若所述N+1为最大发送次数,所述接收模块还用于在所述发送模块向发送端发送第一丢失消息之后,接收所述发送端发送的第三数据包,所述第三数据包携带所述 第三数据包的序号;
    所述发送模块还用于向所述发送端发送第二确认应答消息,所述第二确认应答消息用于指示已接收到所述第三数据包的序号之前的序号对应的数据包。
  34. 一种数据重传装置,其特征在于,包括:
    接收模块,用于接收接收端发送的第一丢失消息,所述第一丢失消息用于指示未接收到第N次发送的第一数据包,所述N为大于或等于1的整数;
    发送模块,用于根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包。
  35. 根据权利要求34所述的装置,其特征在于,当N≥2时,所述发送模块,还用于在所述接收模块接收所述接收端发送的第一丢失消息之前,向所述接收端发送第一发送指示,所述第一发送指示用于指示第N次发送的所述第一数据包已发送。
  36. 根据权利要求35所述的装置,其特征在于,所述第一发送指示包括第N次发送的数据包的第一序号,所述第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。
  37. 根据权利要求35所述的装置,其特征在于,所述第一发送指示包括发送次数N和第一序号,所述发送次数N和第一序号用于指示第N次发送的序号小于或等于所述第一序号的数据包已发送。
  38. 根据权利要求35-37任意一项所述的装置,其特征在于,所述接收模块还用于在所述发送模块向所述接收端发送第一发送指示之前,接收所述接收端发送的第二丢失消息,所述第二丢失消息用于指示未接收到第N-1次发送的所述第一数据包;
    所述发送模块,还用于根据所述第二丢失消息,向所述接收端发送第N次发送的第一数据包;
    所述发送模块在向所述接收端发送第一发送指示时,具体用于:当确定在预设时间内未接收到所述接收端发送的用于指示所述第N次发送的第一数据包已接收或丢失的消息时,向所述接收端发送所述第一ping包,所述第一ping包中包括所述第一发送指示。
  39. 根据权利要求34所述的装置,其特征在于,所述接收模块在接收接 收端发送的第一丢失消息时,具体用于:接收所述接收端发送的否定应答消息,所述否定应答消息包括所述第一数据包的序号的前一个序号;
    所述装置,还包括:
    变更模块,用于根据所述第一数据包的序号的前一个序号,将当前滑动窗口的左端序号变更为所述第一数据包的序号的前一个序号。
  40. 根据权利要求34所述的装置,其特征在于,所述发送模块,还用于在所述接收模块接收接收端发送的第一丢失消息之前,根据滑动窗口向所述接收端发送数据包;
    所述接收模块,还用于接收所述接收端发送的第三丢失消息,所述第三丢失消息用于指示未接收到数据包;
    所述发送模块,还用于根据所述第三丢失消息向所述接收端发送第二发送指示,所述第二发送指示用于指示已发送第1次发送的所述第一数据包。
  41. 根据权利要求40所述的装置,其特征在于,所述发送模块,在根据所述第三丢失消息向所述接收端发送第二发送指示时,具体用于:向所述接收端发送第二ping包,所述第二ping包中包括当前滑动窗口的左端序号和右端序号;所述当前滑动窗品的左端序号和右端序号用于指示所述当前滑动窗口内的第一数据包已发送。
  42. 根据权利要求34-41任意一项所述的装置,其特征在于,还包括:
    调整模块,用于在所述发送模块根据所述第一丢失消息,向所述接收端发送第N+1次发送的所述第一数据包之后,根据所述第一数据包的序号,调整当前滑动窗口;所述N+1为最大发送次数。
PCT/CN2016/099223 2016-09-18 2016-09-18 数据重传方法和装置 Ceased WO2018049652A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680076291.XA CN108476097B (zh) 2016-09-18 2016-09-18 数据重传方法和装置
PCT/CN2016/099223 WO2018049652A1 (zh) 2016-09-18 2016-09-18 数据重传方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/099223 WO2018049652A1 (zh) 2016-09-18 2016-09-18 数据重传方法和装置

Publications (1)

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

Family

ID=61618610

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/099223 Ceased WO2018049652A1 (zh) 2016-09-18 2016-09-18 数据重传方法和装置

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110649994A (zh) * 2019-09-27 2020-01-03 北京奇艺世纪科技有限公司 数据传输控制方法及相关设备、存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111641480B (zh) * 2020-05-22 2023-08-25 广东小天才科技有限公司 一种tcp重传次数的控制方法及终端设备、存储介质
CN114040440B (zh) * 2021-11-09 2022-06-28 北京泰利斯达科技有限公司 无线传输方法、装置、设备以及存储介质
CN119096589A (zh) * 2024-06-21 2024-12-06 上海移远通信技术股份有限公司 通信方法和通信设备
CN119653422A (zh) * 2024-12-10 2025-03-18 武汉智慧地铁科技有限公司 基于网络隧道技术的车地无线重传方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111252A (zh) * 2009-12-25 2011-06-29 中兴通讯股份有限公司 基于混合自动重传请求的重传资源分配方法
CN102480346A (zh) * 2010-11-26 2012-05-30 中国科学院声学研究所 一种网络数据可靠传输方法
CN103269260A (zh) * 2013-06-03 2013-08-28 腾讯科技(深圳)有限公司 数据传输方法、数据接收端、数据发送端和数据传输系统
CN104518853A (zh) * 2013-09-27 2015-04-15 北京新媒传信科技有限公司 一种数据重传的方法、接收端及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301079A (zh) * 2004-12-22 2015-01-21 艾利森电话股份有限公司 使用重复确认的数据流控制
WO2007032649A1 (en) * 2005-09-15 2007-03-22 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 (zh) * 2006-06-21 2010-10-13 华为技术有限公司 一种传输层重传方法和系统
CN101771518B (zh) * 2008-12-29 2013-06-12 电信科学技术研究院 一种发送状态报告的方法、装置及系统
CN101800632A (zh) * 2009-02-09 2010-08-11 中兴通讯股份有限公司 用户数据报协议传输模式下丢包补偿方法与装置
CN102611537B (zh) * 2011-01-25 2015-09-09 华为技术有限公司 一种数据包的重传方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111252A (zh) * 2009-12-25 2011-06-29 中兴通讯股份有限公司 基于混合自动重传请求的重传资源分配方法
CN102480346A (zh) * 2010-11-26 2012-05-30 中国科学院声学研究所 一种网络数据可靠传输方法
CN103269260A (zh) * 2013-06-03 2013-08-28 腾讯科技(深圳)有限公司 数据传输方法、数据接收端、数据发送端和数据传输系统
CN104518853A (zh) * 2013-09-27 2015-04-15 北京新媒传信科技有限公司 一种数据重传的方法、接收端及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110649994A (zh) * 2019-09-27 2020-01-03 北京奇艺世纪科技有限公司 数据传输控制方法及相关设备、存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
US11641387B2 (en) Timely delivery of real-time media problem when TCP must be used
US11477130B2 (en) Transmission control method and apparatus
US10430374B2 (en) Selective acknowledgement of RDMA packets
JP2023507077A (ja) マルチリンクブロック確認応答のための通信デバイスおよび通信方法
WO2018049652A1 (zh) 数据重传方法和装置
EP1568180B1 (en) A method for enhancing transmission quality of streaming media
US10009445B2 (en) Avoiding unwanted TCP retransmissions using optimistic window adjustments
CN109194450B (zh) 天地一体化网络通信的snack-p应答系统及方法、无线通信系统
US11888960B2 (en) Packet processing method and apparatus
CN104202414A (zh) 基于udp的可靠传输方法
CN103905328A (zh) 一种数据传输控制系统、方法及相关装置
WO2016033948A1 (zh) 一种发送窗口流量控制方法和终端
JP5832335B2 (ja) 通信装置および通信システム
EP3273632B1 (en) A method and apparatus for unsolicited block acknowledgements
CN103647625A (zh) 一种基于链路的数据可靠传输方法
US20210273889A1 (en) Communication control apparatus, method, program, and non-transitory computer readable recording medium
EP3891949B1 (en) Network equipment and method for delivering data packets
EP3383092A1 (en) Method of transmitting data and network equipment
US10630568B2 (en) Transmission control protocol timestamp rewriting
WO2016145964A1 (zh) 一种实现丢包请求重传的方法、接收装置和发送装置
US20160248554A1 (en) Mobile communication system
CN115776358A (zh) 一种报文传输方法及装置
US9356999B2 (en) System and method for changing channels for guaranteed reliability communications
EP3389206B1 (en) Multipath error correction
JP2006191368A (ja) ネットワーク伝送装置

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