WO2022083371A1 - 一种数据传输方法和装置 - Google Patents

一种数据传输方法和装置 Download PDF

Info

Publication number
WO2022083371A1
WO2022083371A1 PCT/CN2021/118934 CN2021118934W WO2022083371A1 WO 2022083371 A1 WO2022083371 A1 WO 2022083371A1 CN 2021118934 W CN2021118934 W CN 2021118934W WO 2022083371 A1 WO2022083371 A1 WO 2022083371A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
tail
backup
tail data
length
Prior art date
Application number
PCT/CN2021/118934
Other languages
English (en)
French (fr)
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 华为技术有限公司
Publication of WO2022083371A1 publication Critical patent/WO2022083371A1/zh

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/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a data transmission method and apparatus.
  • the sender sends the data to be sent to the receiver, and after receiving the data, the receiver returns corresponding acknowledgment (ACKnowledge, ACK) information to the sender.
  • ACK acknowledgment
  • the data can be transmitted in a reliable manner, such as transmission control protocol (transmission control protocol, TCP).
  • transmission control protocol transmission control protocol
  • the transmission in the reliable manner also often has the problem of loss of the original tail data. Therefore, the sender needs to use a data retransmission technology to retransmit the lost tail data to the receiver.
  • the traditional TCP scheme and the probe timeout (probe timeout, PTO) scheme are mainly included.
  • the TCP scheme mainly adopts fast recovery (fast recovery, FR) or timeout retransmission (retransmission timeout, RTO) for data retransmission.
  • fast recovery fast recovery
  • RTO timeout retransmission
  • the sender receives enough ACK information
  • the FR is used to retransmit the data
  • the sender does not receive any duplicate acknowledgment (DUPlicate ACKnowledge, DUP ACK) information
  • the RTO is used to retransmit the data.
  • the present application provides a data transmission method and apparatus for reducing the delay of retransmission of tail data caused by loss of tail data, so as to improve the overall data transmission efficiency.
  • an embodiment of the present invention provides a data transmission method, which is applicable to a data sending end.
  • the method includes the following steps: obtaining tail data of target data; encoding the tail data to obtain backup data, where the backup data is used to restore part of the lost tail data; sending the tail data and the backup data .
  • the data sender encodes and protects the tail data of the acquired target data, and obtains the backup data of the tail data. Therefore, the method can avoid the loss of tail data during the transmission process of the target data, and if the target data is lost, the lost data can also be retrieved by backing up the data.
  • backup data indication information is generated, where the backup indication information is used to indicate at least one of the following: the position of the backup data in the tail data, the encoding method of the encoding, the tail data length information, the start position of the tail data being encoded.
  • the data sending end also generates backup data indication information, so that the data receiving end can know the position of the tail data in the target data, the data encoding method of the data end, and the tail data through the backup data indication information.
  • the length of the data and the starting position of the encoded tail data so as to realize the recovery of the lost tail data by backing up the data.
  • the method further includes: sending the backup data indication information, the tail data and the backup data in the same sending period.
  • the tail data, the backup data, and the backup data indication information are sent to the data receiving end in the same sending cycle, and this method can avoid that the data receiving end cannot accurately transmit the data due to different sending cycle times of each data
  • the backup data and the backup data indication information corresponding to the received tail data are determined, so that the lost tail data cannot be effectively recovered.
  • the obtaining the tail data of the target data includes: obtaining the tail data of the target data according to the tail identifier carried in the target data, and the tail identifier is used to identify the tail data; Or, obtain the tail data of the target data according to the calculated starting position of the tail data; or obtain the tail data of the target data according to the predetermined length information of the tail data.
  • the data sender can flexibly determine the position and length information of the tail data of the target data in different ways, and then accurately obtain the tail data of the target data.
  • obtaining the tail data of the target data according to the tail identifier carried in the target data includes: when a bit in the target data is a start bit indicated by the tail identifier, The tail data is obtained according to the start bit indicated by the tail flag; wherein, the length of the tail data is from the start bit indicated by the tail flag to the end bit of the target data.
  • the data sender can directly determine the tail data in the target data according to the tail identifier carried in the target data, and then quickly and accurately obtain the tail data of the target data.
  • obtaining the tail data of the target data according to the calculated starting position of the tail data includes: determining the tail data in the target data according to the congestion window and/or link state information The length of the tail data; according to the length of the tail data and the end position of the target data, the starting position of the tail data is obtained.
  • the data sender determines the length of the transmission tail data according to the actual network congestion window and/or link state, thereby avoiding network congestion and data loss during data transmission, thereby improving data transmission efficiency.
  • obtaining the tail data of the target data according to the predetermined length information of the tail data includes: when a bit in the target data is a start bit indicated by the length information, The tail data is obtained according to the start bit indicated by the length information; wherein, the length of the tail data is from the start bit indicated by the length information to the end bit of the target data.
  • the data sender can quickly and accurately obtain the tail data in the target data according to the predetermined tail data length information.
  • the method further includes: receiving confirmation ACK information fed back by the data receiving end, where the ACK information indicates that the data receiving end is in the It is determined that all the tail data has been successfully received, or the ACK information indicates that the data receiving end determines that the tail data has been successfully restored based on the backup data.
  • the data sender can know that the data receiver has received the complete tail data by receiving the confirmation ACK information fed back by the data receiver, thereby preventing the data sender from retransmitting data to the data receiver. cause additional overhead.
  • the method further includes: receiving selective acknowledgment SACK information fed back by the data receiving end, where the SACK information is used to indicate the The data receiving end receives the backup data, and the tail data is lost and the lost tail data cannot be restored by the backup data.
  • the data sending end can know that the data receiving end has not received the complete tail data by receiving the SACK information fed back by the data receiving end, and the data sending end needs to retransmit the lost data to the data receiving end again. So that the receiving end can receive all the target data.
  • an embodiment of the present invention provides a data transmission method, which is suitable for a data receiving end.
  • the method includes the following steps: receiving tail data and backup data; wherein, the backup data is obtained by encoding the tail data, and is used to restore the lost part of the tail data; when it is determined that there is data loss in the tail data, according to The backup data restores the lost tail data.
  • the data receiving end determines that the tail data of the target data is lost, it can directly restore the lost tail data through the backup data, without the need for the data sending end to retransmit the lost tail data to the data receiving end, thereby reducing the need for The additional transmission delay and overhead caused by retransmission are eliminated.
  • the method further includes: receiving the tail data and the backup data and backup data indication information in the same receiving cycle; wherein the backup data indication information is used to indicate the backup data The position in the tail data and the encoding method of the encoding.
  • the data receiving end receives the tail data, the backup data, and the backup data indication information in the same receiving cycle. This method can avoid that the data receiving end cannot accurately determine due to the different receiving cycle times of each data.
  • the received tail data corresponds to the backup data and the backup data indication information, so that the lost tail data cannot be effectively recovered.
  • the determining that the tail data has data loss includes: when the length of the received tail data is less than a predetermined length of the tail data, determining that the received tail data has data loss;
  • the backup data indication information also includes length information for indicating the length of the original tail data, and when the length of the received tail data is less than the length indicated by the length information, it is determined that the received tail data exists. data lost.
  • the data receiving end can determine whether the tail data sent by the receiving data sending end is lost, so as to avoid the situation that the tail data of the target data is lost without knowing it.
  • the recovering the lost tail data according to the backup data includes: indicating the position of the backup data in the tail data according to the received tail data and the backup data indication information, Determine the location where the backup data is located; acquire the backup data at the determined location; and perform a decoding process on the acquired backup data according to the decoding mode corresponding to the encoding mode of the encoding included in the backup data indication information Decoding is performed to obtain the lost tail data.
  • the data receiving end determines the backup data corresponding to the lost data and the encoding mode of the data sending end according to the backup data indication information, and then determines the corresponding decoding mode, effectively decodes the backup data, so as to obtain accurate data. Missing tail data.
  • the method further includes: after determining that the tail data has been successfully received in its entirety, or determining that part of the tail data is lost, but based on When the backup data has been successfully restored, send a confirmation ACK message to the data sender; or when it is determined that the backup data has been successfully received, there is tail data loss, and the lost data cannot be restored by the backup data, send the data to the data sender.
  • the sender sends a selective acknowledgment SACK message.
  • the data receiving end returns corresponding information to the data transmitting end according to the situation of receiving the tail data, so that the data transmitting end knows the receiving end of the data receiving the tail data, so as to stop transmitting the data, or perform retransmission loss manipulation of data.
  • the present application provides a data transmission device, which has the function of implementing the method described in the first aspect or any possible design of the first aspect, or has the function of implementing the second aspect or the first aspect.
  • This function can be implemented by hardware or by executing corresponding software by hardware.
  • the hardware or software includes one or more modules corresponding to the above functions. For example, it includes a communication unit and a processing unit.
  • the embodiments of the present application further provide a computer storage medium, where a software program is stored in the storage medium, and when the software program is read and executed by one or more processors, the above-mentioned first aspect or any of the above-mentioned software programs can be implemented.
  • the embodiments of the present application also provide a computer program product containing instructions, which, when run on a computer, enables the computer to execute the method provided by the above-mentioned first aspect or any one of the designs, or to execute the above-mentioned second aspect or any of the methods provided by the design.
  • an embodiment of the present application provides a chip system, where the chip system includes a processor for supporting a device to implement the functions involved in the first aspect above, or supporting a device to implement the functions involved in the second aspect above .
  • the chip system further includes a memory for storing necessary program instructions and data.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • the present application provides a chip system, the chip system includes a processor and an interface, the interface is used to obtain a program or an instruction, and the processor is used to call the program or instruction to implement or support a device to implement the first
  • the functions involved in one aspect or the second aspect eg, determining or processing at least one of the data and information involved in the above methods.
  • the chip system further includes a memory for storing necessary program instructions and data of the terminal device.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • FIG. 1 is a schematic diagram of a tail data provided by an embodiment of the present application.
  • FIG. 2A is a schematic diagram of a communication system architecture provided by an embodiment of the present application.
  • 2B is a schematic diagram of an architecture of a communication system in a multicast scenario provided by an embodiment of the present application
  • 2C is a schematic diagram of an architecture of a communication system in a multicast scenario provided by an embodiment of the present application
  • FIG. 3 is a schematic flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of an original TCP message format provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a format of a coded protected TCP message provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a backup message format according to an embodiment of the present application.
  • FIG. 7 is a schematic diagram of tail data and backup data provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a data transmission device according to an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a data transmission device according to an embodiment of the present application.
  • the data sending end needs to send a segment of transmission data to the data receiving end, specifically, all the data between the start position and the end position of the data to be transmitted in this segment.
  • the data is represented as the data to be transmitted, wherein the tail data of the data to be transmitted refers to the data from the end position of the segment of data to any position A in the segment of data.
  • the position of the position A on the data to be transmitted may depend on the length information of the tail data, or the length information of the tail data may be determined according to the position A, and the length of the tail data may also be determined according to the actual network congestion window and/or transmission.
  • the link state information of the data is determined.
  • the backup data involved in the embodiment of the present application refers to the repeated storage of the same data.
  • the backup data can be used to perform data analysis on the lost data. recover. For example, redundant data, using network coding to generate additional data for recovering lost protected data.
  • the backup data generation method or the backup data format may be set according to the actual situation, which is not specifically limited in this application.
  • the data encoding involved in the embodiments of the present application refers to processing the data through a coding method, so that the encoded data is less prone to data damage or loss during transmission, and the transmission efficiency of the data is improved.
  • the encoding method refers to a method of converting a file in a certain video format into a file in another video format through a specific compression technology, and the encoding method may not be specifically limited in this embodiment of the present application.
  • the congestion window involved in the embodiment of the present application specifically refers to setting a window structure at the sending end, dynamically adjusting the size of the window according to the congestion situation of the network, and the sending end can only send data whose size is smaller than the sliding window and the congestion window.
  • This window set by the sender is the congestion window.
  • Setting the network congestion window is mainly used to avoid data loss due to network congestion during data transmission and out-of-order data received by the receiver.
  • the communication system applied in the embodiments of this application may include one or more data sending ends and one or more data receiving ends.
  • one sender can transmit data to one or more receivers.
  • Multiple senders can also transmit data for one receiver at the same time.
  • a sender can also transmit data for multiple receivers at the same time.
  • the data transmission method provided in this application can be applied to various communication systems, for example, the Internet of Things (Internet of Things, IoT), Narrow Band Internet of Things (NB-IoT), Long Term Evolution ( long term evolution, LTE), it can also be the fifth generation (5G) communication system, it can also be a hybrid architecture of LTE and 5G, it can also be a 5G new radio (NR) system, and new technologies emerging in future communication development. communication systems, etc.
  • the 5G communication system described in this application may include at least one of a non-standalone (NSA) 5G communication system and an independent (standalone, SA) 5G communication system.
  • the communication system may also be a public land mobile network (PLMN) network, a device-to-device (D2D) network, a machine-to-machine (M2M) network, or other networks.
  • PLMN public land mobile network
  • D2D device-to-device
  • M2M machine-to-machine
  • the data sender can directly transmit data to the data receiver through the network transmission link, such as Figure 2A; in the case of long-distance transmission, the communication system may also include one or more intermediate nodes, data The sender can transmit data to the data receiver through one or more intermediate nodes, and the embodiments of the present application can be used in a multicast scenario or a unicast scenario.
  • the architecture of the communication system in the unicast scenario is shown in FIG. 2B
  • the architecture of the communication system in the multicast scenario is illustrated in FIG. 2C . It should be understood that FIG. 2B and FIG.
  • the data sending end may be a network device, a terminal device, another device that sends data, or an encoder.
  • the data receiving end can be a terminal device, or can also be other devices that receive data, or can also be a decoder.
  • the intermediate node may be a transmission device such as a routing node, a forwarding node, and a relay node, or may also be an encoder.
  • the sending end and the receiving end involved in the embodiments of this application may be terminal devices or network devices, which are not limited in this application.
  • the terminal device is an entity on the user side for receiving or transmitting signals.
  • the terminal device may be a device that provides voice and data connectivity to the user, for example, a handheld device with a wireless connection function, a vehicle-mounted device, and the like.
  • the terminal device may also be other processing device connected to the wireless modem.
  • Terminal devices can communicate with one or more core networks through a radio access network (RAN).
  • RAN radio access network
  • Terminal equipment may also be referred to as wireless terminal, subscriber unit, subscriber station, mobile station, mobile station, remote station, access point , remote terminal, access terminal, user terminal, user agent, user device, or user equipment, etc.
  • Terminal devices may be mobile terminals, such as mobile phones (or “cellular" phones) and computers with mobile terminals, for example, may be portable, pocket-sized, hand-held, computer-built, or vehicle-mounted mobile devices, which are associated with wireless The access network exchanges language and data.
  • the terminal device may also be a personal communication service (PCS) phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (personal digital assistant, PDA), and other equipment.
  • Common terminal devices include, for example: mobile phones, tablet computers, notebook computers, PDAs, mobile internet devices (MIDs), wearable devices, such as smart watches, smart bracelets, pedometers, etc. The example is not limited to this.
  • the terminal device involved in the embodiment of the present application may also be a terminal device appearing in a future evolved PLMN, etc., which is not limited in the embodiment of the present application.
  • the terminal device may also be a terminal device in the IoT system.
  • IoT is an important part of the future development of information technology. Interconnection, the intelligent network of the interconnection of things and things.
  • the IoT technology can achieve massive connections, deep coverage, and power saving of terminals through, for example, a narrow band (narrow band, NB) technology.
  • NB narrow band
  • the terminal device may also include sensors such as smart printers, train detectors, and gas stations, and the main functions include collecting data (part of terminal devices), receiving control information and downlink data of network devices, and sending electromagnetic waves. , to transmit uplink data to the network device.
  • sensors such as smart printers, train detectors, and gas stations
  • the main functions include collecting data (part of terminal devices), receiving control information and downlink data of network devices, and sending electromagnetic waves. , to transmit uplink data to the network device.
  • the network device involved in the embodiments of this application is an entity on the network side that is used to transmit or receive signals.
  • the network device in this embodiment of the present application may be a device in a wireless network, for example, a RAN node that accesses a terminal to the wireless network.
  • the network device may be an evolved base station (evolutional Node B, eNB or e-NodeB) in LTE, or a new radio controller (NR controller), or a gNode B (gNB) in the 5G system.
  • eNB evolved base station
  • NR controller new radio controller
  • gNode B gNode B
  • a network device can cover one or more cells.
  • the network architecture and service scenarios described in the embodiments of the present application are for the purpose of illustrating the technical solutions of the embodiments of the present application more clearly, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application.
  • the evolution of the architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
  • the existing reliable data transmission such as TCP
  • TCP timeout retransmission technology
  • the traditional TCP scheme and the detection timeout PTO scheme are mainly included.
  • the TCP scheme mainly uses fast recovery FR or timeout retransmission RTO to retransmit data.
  • the sender receives enough ACK information, it uses FR to retransmit the data; when the sender does not receive any duplicate acknowledgment DUP ACK information, it uses RTO to retransmit the data.
  • tail data Due to the loss of tail data, the sender cannot receive enough ACKs returned by the receiver, so FR and early retransmission ER cannot be triggered for retransmission, and only RTO can be used for retransmission, that is, the timer timeout is used to trigger tail data. Retransmission, which will cause the overtime transmission delay of the tail data, making the overall data transmission delay longer.
  • the PTO scheme uses the detection timer PTO at the tail to avoid triggering RTO, and uses the tail packet loss detection TLP technology to set the PTO, so that the tail retransmission delay is stable within the range of max(2*RTT, 10ms).
  • the sequence corresponding to the lost data packet is not the highest sequence, the tail data transmission delay caused by the PTO scheme is also relatively large.
  • a data transmission method provided by the embodiment of the present application can be applied to the network architecture of the above-mentioned FIGS. 2A-2C, and the method can be used to reduce the delay of retransmission of the tail data caused by the loss of the tail data, so as to reduce the delay of the retransmission of tail data. Improve the overall data transmission efficiency.
  • This method is used to transmit the tail data, so as to realize the efficient transmission of the tail data.
  • the data sender obtains the tail data of the target data, and then encodes the tail data to obtain backup data, wherein the backup data is used to restore the lost part of the tail data; the data sender combines the tail data with the backup data. The data is sent to the data receiver.
  • the data receiving end receives the tail data and the backup data; when the data receiving end determines that there is data loss in the tail data, it restores the lost tail data according to the backup data. Therefore, the above method encodes and protects the tail data of the data, and obtains the backup data of the tail data at the same time, so that when the tail data is lost during the data transmission process, the backup data can be used for recovery, so that the data receiving end can receive enough data Therefore, the method can reduce the delay of retransmission of the tail data caused by the loss of the tail data, thereby improving the transmission efficiency of the overall data.
  • FIG. 3 is an implementation flowchart of a data transmission method provided by an embodiment of the present application.
  • the method can be applied to the communication system architecture shown in FIG. 2A or FIG. 2B or FIG. 2C , and of course can also be applied to other communication system architectures, which is not limited in this application.
  • the tail data to be sent may be encoded and protected at the data sending end, or there may be an intermediate node between the data sending end and the data receiving end to encode and protect the tail data sent by the data sending end. No specific limitation is made.
  • the method may include the following processing flow.
  • S301 The data sending end obtains the tail data of the target data.
  • the data sending end obtains the tail data of the target data, including the following three implementation manners, which are specifically described as follows:
  • the data sender obtains the tail data of the target data according to the tail identifier carried in the target data, and the tail identifier is used to identify the tail data.
  • the data sender obtains the tail data of the target data according to the tail identifier carried in the target data, including:
  • the tail data is obtained according to the start bit indicated by the tail mark; wherein, the length of the tail data is from the start bit indicated by the tail mark to the end bit of the target data.
  • the sequence numbers corresponding to the bits of the target data are 1, 2, 3, 4, and 5, where "1" is the sequence number corresponding to the last bit of the target data, and "5" is the sequence number corresponding to the start bit of the target data; if the data is sent The end determines that the start bit indicated by the tail flag is the bit corresponding to the sequence number "3", then the data sending end determines that the tail data is the bit of the sequence number "1" to "3".
  • the data sender obtains the tail data of the target data according to the calculated starting position of the tail data.
  • the data sender can determine the length of the tail data in the target data according to the congestion window and/or the link state information; and obtain the start position of the tail data according to the length of the tail data and the end position of the target data.
  • the data sender calculates the length of the tail data to be transmitted according to the congestion window and/or link state information through the congestion control algorithm carried by the transmission protocol. Then, the data sender determines the start position of the tail data in the target data according to the calculated length of the tail data and the end position of the target data, and then obtains the data from the start position to the end position of the target data.
  • the data sending end obtains the tail data of the target data according to the predetermined length information of the tail data. Specifically, when the bit in the target data is the start bit indicated by the length information, the data sending end can obtain the tail data according to the start bit indicated by the length information; wherein, the length of the tail data is from the start bit indicated by the length information to End bit of target data.
  • the sequence numbers corresponding to the bits of the target data are 1, 2, 3, 4, and 5, where "1" is the sequence number corresponding to the last bit of the target data, and "5" is the sequence number corresponding to the start bit of the target data;
  • the length information of the tail data indicates that the start bit of the tail data in the target data is the bit corresponding to the serial number "3", then the data sender determines the length of the tail data to be the serial number "1" according to the preset length information of the tail data. ⁇ bits corresponding to "3".
  • the data transmission in the embodiments of the present application involves a set of general transmission protocols, and the methods in the embodiments of the present application may be implemented on modified TCP or other transmission protocols with tail data boundaries.
  • the application can submit the target data to be transmitted to the data sending end through the interface.
  • the data sending end encodes the tail data to obtain backup data, and the backup data is used to restore part of the lost tail data.
  • the data sending end obtains the tail data of the target data; when the tail data is encoded to obtain backup data, the data sending end also generates backup data indication information.
  • the backup indication information is used to indicate at least one of the following: the position of the backup data in the tail data, the encoding method of encoding, the length information of the data, and the encoded starting position of the tail data.
  • the data sending end can select different bit groups in the valid tail data, and the bits contained between any two groups of bit groups are different; perform for any one bit group: for at least one bit group included in the bit group.
  • the data bits on the bits are operated to obtain a corresponding backup data.
  • the data sending end sends the tail data and the backup data to the data receiving end; the data receiving end receives the tail data and the backup data; wherein, the backup data is obtained by encoding the tail data, and is used to restore the lost part of the tail data.
  • tail data sent by the data sender to the data receiver is the actual tail data
  • the tail data received by the data receiver and sent by the data sender is valid tail data.
  • the amount of effective tail data received by the data receiver is not necessarily equal to the actual amount of tail data actually sent by the data sender.
  • the amount of valid tail data received by the data receiver is equal to the actual amount of tail data sent by the data sender, or the actual tail data sent by the data sender is lost during transmission, resulting in the effective amount of tail data received by the data receiver. Less than the actual amount of tail data sent by the data sender.
  • the data sending end sends the backup data indication information, the tail data and the backup data to the data receiving end within the same sending period.
  • the data receiving end receives the tail data and the backup data, and the backup data indication information in the same receiving period; wherein, the backup data indication information is used to indicate the position of the backup data in the tail data and the encoding method of coding.
  • tail data received by the data receiving end is encoded tail data
  • the data receiving end determines that the received tail data and backup data are encoded tail data and backup data.
  • TCP is used as an example, and the tail data is in the form of a message for specific description.
  • other protocol data is also applicable, and they only need to protect the same attributes, which are not specifically limited in the embodiment of the present application.
  • the data receiving end can determine that the received tail data and backup data are encoded tail data and backup data in the following manner:
  • TCP Modify the TCP interface to obtain the end information of the target data.
  • the original TCP packet format is shown in Figure 4.
  • Reserved in Figure 4 represents three bits, and NS(NONCE) represents an arbitrary or non-repetitive random value that is used only once.
  • CWR Congestion Window Reduce
  • ECE ECE Echo
  • URG User Agent
  • Urgent indicates that the emergency (The urgent pointer) flag is valid.
  • ACK Acknowledgment
  • PSH Push
  • RST Reset
  • SYN Synchronize
  • SYN Synchronize Sequence Numbers
  • the encoded-protected message is shown in FIG. 5 .
  • the encoded-protected message has two differences: 1. Reserved The last bit is changed from “0" to "1", indicating that the message is a message protected by encoding. 2. After the header and before the payload, a 16-bit packet length needs to be added. The packet length is used to indicate the real effective data length of the message. Because the encoding requires the same length of the message, if the payload payload is not enough, the length needs to be supplemented. Therefore, the packet length Packet length can be used to distinguish valid data and supplementary data.
  • a backup message (such as a redundant message) is shown in FIG. 6 .
  • the special format of the backup message includes the following four points: 1. Select Reserved, the first position (the highest position) is 1, indicating that it is a backup message. 2. The window size is used to describe the encoding method. Because the backup message does not involve congestion control, some bits can be selected to indicate the encoding length, and the remaining bits are used to indicate the encoding method. 3. Sequence Number Sequence Number indicates the starting position of encoding. Since backup messages do not require ack, Sequence Number can be used for other purposes. 4. The payload of the message is the calculation result of encoding the protected data, and the packet length of other messages also participates in the encoding calculation.
  • the data receiving end when the data receiving end receives the backup message (data), it can know the encoding start position and encoding method. As long as the data receiving end receives enough protected messages (data), it can decode the payload of the lost message. Payload and packet length packet length, so that the real effective information can be restored.
  • the data receiving end can determine whether to receive the complete message sent by the data sending end according to the encoded length information.
  • the data receiving end can know the encoding length and encoding method according to the original window size. For example: the first 10 bits of the original window size window size can be used to represent the encoding length of 0-1024, and the remaining 6 bits can be used to describe the encoding method.
  • the data receiving end determines that there is data loss in the tail data, including the following two implementations, which are specifically as follows:
  • the data receiving end determines that there is data loss in the received tail data.
  • the backup data indication information also includes length information for indicating the length of the original tail data.
  • the received tail data is determined. There is data loss.
  • the data receiving end recovers the lost tail data according to the backup data, including: indicating the position of the backup data in the tail data according to the received tail data and the backup data indication information, and determining the position of the backup data; Obtain the backup data at the determined position; decode the obtained backup data according to the decoding mode corresponding to the encoding mode of the encoding contained in the backup data indication information to obtain the lost tail data.
  • S305 The data sending end sends response information to the data receiving end.
  • the data receiving end returns a response message to the data sending end according to the condition of receiving the tail data and the condition of recovering the lost data. Specifically, the following situations are included:
  • the first case After the data receiving end receives the tail data sent by the data sending end and determines that all the tail data sent by the data sending end has been successfully received, the data receiving end sends an ACK message to the data sending end.
  • the data sender receives the acknowledgment ACK information fed back by the data receiver, and the ACK information indicates that the data receiver has successfully received all the tail data sent by the data sender.
  • Case 2 When the data receiver determines that part of the tail data is lost, but the backup data has been successfully restored, it sends an ACK message to the data sender.
  • the data sender receives the acknowledgment ACK information fed back by the data receiver.
  • the ACK information indicates that the data receiver determines that when the tail data sent by the data sender is lost, and successfully restores the lost tail data based on the backup data.
  • the third case When the data receiver determines that the backup data has been successfully received, and the tail data sent by the data sender is lost, but the lost data cannot be recovered by the backup data, it sends a selective acknowledgement SACK to the data sender. information.
  • the data sender receives the SACK information, and the SACK information is used to indicate that the data receiver has received the backup data, and the tail data is lost and the lost tail data cannot be restored by the backup data.
  • the data sender retransmits the lost data to the data receiver according to the SACK information.
  • the data receiving end determines to receive all the tail data, it stops the transmission between the data sending end and the data receiving end.
  • the present application provides an embodiment of realizing tail data transmission by using interleaved coding, please refer to FIG. 7:
  • a702 As shown in Figure 7, assuming that there are 13 data at the tail (13 is taken to illustrate asymmetric interleaving) to be sent (if the bandwidth is fully utilized, the congestion window is 125KB and the remaining 25KB), and 3 backup data are generated.
  • a703 The interleaved XOR code is used, and the three backup data are (They are interleaved asymmetrically, each with a different encoding length).
  • a704 When the data receiving end determines that the backup data is not lost, it can recover any lost packets of three (or less than three) consecutive data. Using XOR coding, the decoding speed can be ignored (less than 1ms).
  • a705 When the data receiving end determines that the tail data 11, 12, and 13 of the target data are arbitrarily lost, or all of them are lost, the method in this embodiment of the present application can save 1 RTO or PTO+1 additional retransmission.
  • a706 When the data receiving end determines that the backup data is received, but the tail data of the lost target data cannot be recovered, the method in this embodiment of the present application can save one RTO or PTO retransmission.
  • the data sending end encodes and protects the tail data of the target data and generates backup data, so as to prevent the loss of the tail data during the transmission process. If the tail data is partially lost during the transmission process , the data receiving end can restore the lost data according to the backup data.
  • This method does not require the data sending end to retransmit the data, which not only reduces the extra overhead caused by retransmission of lost data, but also greatly reduces the delay at the end, improving the The transmission efficiency of the target data.
  • the embodiments of the present application provide a data transmission method, which is used to transmit tail data, so as to realize efficient transmission of tail data.
  • the data sender obtains the tail data of the target data, and then encodes the tail data to obtain backup data, wherein the backup data is used to restore the lost part of the tail data; the data sender combines the tail data with the backup data.
  • the data is sent to the data receiver.
  • the data receiving end receives the tail data and the backup data; when the data receiving end determines that there is data loss in the tail data, it restores the lost tail data according to the backup data.
  • the above method encodes and protects the tail data of the data, and at the same time obtains the backup data of the tail data, so that when the tail data is lost during the data transmission process, it can be restored through the backup data, so that the data receiving end can receive enough data Therefore, the method can reduce the delay of retransmission of the tail data caused by the loss of the tail data, thereby improving the transmission efficiency of the overall data.
  • an embodiment of the present application further provides a data transmission device, which may have a structure as shown in FIG. 8 and have the behavior function of the data sending end in the above method embodiments.
  • the apparatus 800 may include a communication unit 801 and a processing unit 802, and each unit will be described in detail below.
  • the communication unit 801 is used to obtain the tail data of the target data; the processing unit 802 is used to encode the tail data to obtain backup data, and the backup data is used to restore the lost part of the tail data; the communication unit 801 is also used to send Tail data and backup data.
  • the processing unit 802 is further configured to generate backup data indication information, and the backup indication information is used to indicate at least one of the following: the position of the backup data in the tail data, the encoding method of the encoding, the length information of the data, The starting position where the tail data is encoded.
  • the communication unit 801 sends the backup data indication information, the tail data and the backup data in the same sending cycle.
  • the communication unit 801 when acquiring the tail data of the target data, is specifically used to obtain the tail data of the target data according to the tail mark carried in the target data, and the tail mark is used to identify the tail data; The starting position of the obtained tail data is obtained, and the tail data of the target data is obtained; or the tail data of the target data is obtained according to the predetermined length information of the tail data.
  • the communication unit 801 when acquiring the tail data of the target data according to the tail mark carried in the target data, is specifically used for when the bit in the target data is the start bit indicated by the tail mark, according to the tail mark.
  • the start bit indicated by the flag obtains the tail data; wherein, the length of the tail data is from the start bit indicated by the tail flag to the end bit of the target data.
  • the communication unit 801 when acquiring the tail data of the target data according to the starting position of the tail data obtained by calculation, is specifically used to determine the tail part in the target data according to the congestion window and/or the link state information.
  • the length of the data; according to the length of the tail data and the end position of the target data, the starting position of the tail data is obtained.
  • the communication unit 801 when acquiring the tail data of the target data according to the length information of the predetermined tail data, is specifically used for when the bit in the target data is the start bit indicated by the length information, according to the length.
  • the start bit indicated by the information obtains the tail data; wherein, the length of the tail data is from the start bit indicated by the length information to the end bit of the target data.
  • the communication unit 801 is further configured to: after sending the tail data and the backup data, receive confirmation ACK information fed back by the data receiving end, where the ACK information is that the data receiving end determines that all the tail data has been successfully received, Or the ACK information is for the data receiving end to determine that the tail data is successfully restored based on the backup data.
  • the communication unit 801 is further configured to: after sending the tail data and the backup data, receive selective acknowledgment SACK information fed back by the data receiving end, where the SACK information is used to indicate that the data receiving end has received the backup data, and The tail data is lost and the lost tail data cannot be restored by the backup data.
  • an embodiment of the present application further provides a data transmission device, which may have a structure as shown in FIG. 9 and have the behavior function of the data receiving end in the above method embodiments.
  • the apparatus 900 may include a communication unit 901 and a processing unit 902 , and each unit will be described in detail below.
  • the communication unit 901 is used to receive the tail data and the backup data; wherein, the backup data is obtained by encoding the tail data, and is used to restore the lost part of the tail data; the processing unit 902 is used to determine that the tail data exists when data is lost , and recover the lost tail data according to the backup data.
  • the communication unit 901 receives the tail data and the backup data in the same receiving cycle, and the backup data indication information; wherein, the backup data indication information is used to indicate the position of the backup data in the tail data and the encoding method of the encoding .
  • the processing unit 902 when determining that the tail data has data loss, is specifically used to determine that the received tail data has data loss when the length of the received tail data is less than the length of the pre-agreed tail data; or
  • the backup data indication information also includes length information for indicating the length of the original tail data. When the length of the received tail data is less than the length indicated by the length information, it is determined that the received tail data has data loss.
  • the processing unit 902 when recovering the lost tail data according to the backup data, is specifically used to indicate the position of the backup data in the tail data according to the received tail data and the backup data indication information, and determine the backup data. Obtain the backup data at the determined position; decode the obtained backup data according to the decoding mode corresponding to the encoding mode of the encoding contained in the backup data indication information to obtain the lost tail data.
  • the communication unit 901 is further configured to, after receiving the tail data and the backup data, determine that all the tail data has been successfully received, or determine that part of the tail data is lost, but when the backup data has been successfully restored, send the data to the data.
  • the sender sends an acknowledgment ACK message; or when it is determined that the backup data has been successfully received, there is tail data loss, and the lost data cannot be recovered by the backup data, it sends a selective acknowledgment SACK message to the data sender.
  • an embodiment of the present application also provides a data transmission device, the device may have a structure as shown in FIG. 10 , and the transmission device acts as a data sending end.
  • the data transmission device 1000 shown in FIG. 10 may include at least one processor 1002, and the at least one processor 1002 is configured to be coupled with a memory, and read and execute instructions in the memory to implement the data sending end in the method provided by the embodiment of the present application steps involved.
  • the apparatus 1000 may further include a transceiver 1001 for supporting the apparatus 1000 to receive or send signaling or data.
  • the transceiver 1001 in the device 1000 can be used to implement the functions of the above-mentioned communication unit 801.
  • the transceiver 1001 can be used by the device 1000 to perform the steps shown in S301, S303, and S305 in the data transmission method shown in FIG. 3,
  • the processor 1002 can be used to implement the functions of the above-mentioned processing unit 802.
  • the processor 1002 can be used by the apparatus 1000 to execute the steps shown in S302 in the data transmission method shown in FIG. 3 .
  • the apparatus 1000 may further include a memory 1004 in which computer programs and instructions are stored, and the memory 1004 may be coupled with the processor 1002 and/or the transceiver 1001 to support the processor 1002 to call the computer programs and instructions in the memory 1004
  • the memory 1004 may also be used to store the data involved in the method embodiment of the present application, for example, to store the necessary data to support the transceiver 1001 to realize interaction. Data, instructions, and/or configuration information necessary for the storage device 1000 to execute the methods described in the embodiments of the present application.
  • An embodiment of the present application further provides a data transmission device, the device may have a structure as shown in FIG. 11 , and the transmission device acts as a data receiving end.
  • the data transmission device 1100 shown in FIG. 11 may include at least one processor 1102, and the at least one processor 1102 is configured to be coupled with the memory, and read and execute the instructions in the memory, so as to realize the data receiving end in the method provided by the embodiment of the present application steps involved.
  • the apparatus 1100 may further include a transceiver 1101 for supporting the apparatus 1100 to receive or send signaling or data.
  • the transceiver 1101 in the device 1100 can be used to implement the functions of the above-mentioned communication unit 901.
  • the transceiver 1101 can be used by the device 1100 to perform the steps shown in S301 and S303 and S305 in the data transmission method shown in FIG. 3
  • the processor 1102 can be used to implement the functions of the above-mentioned processing unit 902.
  • the processor 1102 can be used by the device 1100 to execute the steps shown in S304 in the data transmission method shown in FIG. 3 .
  • the apparatus 1100 may further include a memory 1104 in which computer programs and instructions are stored, and the memory 1104 may be coupled with the processor 1102 and/or the transceiver 1101 to support the processor 1102 to call the computer programs and instructions in the memory 1104
  • the memory 1104 can also be used to store the data involved in the method embodiment of the present application, for example, used to store the necessary support for the transceiver 1101 to realize interaction Data, instructions, and/or configuration information necessary for the storage device 1100 to execute the methods described in the embodiments of the present application.
  • the embodiments of the present application further provide a computer-readable storage medium, on which some instructions are stored.
  • the computer can complete the above method embodiments and method implementations.
  • the computer-readable storage medium is not limited, for example, it may be RAM (random-access memory, random access memory), ROM (read-only memory, read-only memory), etc.
  • the present application also provides a computer program product, which, when invoked and executed by a computer, can complete the method embodiments and the methods involved in any possible designs of the above method embodiments.
  • the present application further provides a chip, which may include a processor and an interface circuit, and is used to implement the above method embodiments and any possible implementation manners of the method embodiments.
  • a chip which may include a processor and an interface circuit, and is used to implement the above method embodiments and any possible implementation manners of the method embodiments.
  • method where "coupled” means that two components are directly or indirectly bonded to each other, which may be fixed or movable, and which may allow flow of fluids, electricity, electrical signals, or other types of signals between two components. communication between the components.
  • the embodiments of the present application provide a data transmission method, which is used to transmit tail data, so as to realize efficient transmission of tail data.
  • the data sender obtains the tail data of the target data, and then encodes the tail data to obtain backup data, wherein the backup data is used to restore the lost part of the tail data; the data sender combines the tail data with the backup data.
  • the data is sent to the data receiver.
  • the data receiving end receives the tail data and the backup data; when the data receiving end determines that there is data loss in the tail data, it restores the lost tail data according to the backup data.
  • the above method encodes and protects the tail data of the data, and at the same time obtains the backup data of the tail data, so that when the tail data is lost during the data transmission process, it can be restored through the backup data, so that the data receiving end can receive enough data Therefore, the method can reduce the delay of retransmission of the tail data caused by the loss of the tail data, thereby improving the transmission efficiency of the overall data.
  • Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
  • a storage medium can be any available medium that a computer can access.
  • computer readable media may include RAM, ROM, electrically erasable programmable read only memory (EEPROM), compact disc read-Only memory (CD- ROM) or other optical disk storage, magnetic disk storage media, or other magnetic storage devices, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and that can be accessed by a computer. also. Any connection can be appropriately made into a computer-readable medium.
  • RAM random access memory
  • ROM read only memory
  • EEPROM electrically erasable programmable read only memory
  • CD- ROM compact disc read-Only memory
  • Any connection can be appropriately made into a computer-readable medium.
  • disks and discs include compact discs (CDs), laser discs, optical discs, digital video discs (DVDs), floppy disks, and Blu-ray discs, wherein Disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

一种数据传输方法和装置,涉及通信技术领域。该方法包括:数据发送端获取目标数据的尾部数据,对尾部数据进行编码,得到备份数据;备份数据用于对丢失的部分尾部数据进行恢复;数据发送端将尾部数据和备份数据发送给数据接收端。数据接收端接收尾部数据和备份数据,确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。该方法通过对目标数据的尾部数据进行编码保护,同时得到尾部数据的备份数据,从而数据传输过程中,发生尾部数据丢失时,可以通过备份数据进行恢复,使得数据接收端能够接收到足够的ACK信息,以减少尾部数据丢失而产生重传尾部数据的时延,从而可提高整体数据的传输效率。

Description

一种数据传输方法和装置
相关申请的交叉引用
本申请要求在2020年10月19日提交中国专利局、申请号为202011119358.8、申请名称为“一种数据传输方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法和装置。
背景技术
在通信网络中,发送端将待发送的数据发送给接收端,所述接收端在接收到该数据后,会向所述发送端返回相应的确认(ACKnowledge,ACK)信息。在数据传输过程中,为了保证所述接收端能接收到完整的该数据,可通过可靠的方式进行传输,例如传输控制协议transmission control protocol,TCP)进行数据的传输。然而,通过所述可靠的方式传输也往往会存在原始尾部数据丢失的问题,因此,所述发送端需要使用重新传输数据的技术向所述接收端重传丢失的尾部数据。
在现有重新传输数据的技术中,主要包括传统的TCP方案和探测超时(probe timeout,PTO)方案。其中,所述TCP方案主要采用快速恢复(fast recovery,FR)或超时重传(retransmission timeout,RTO)进行数据重传。当发送端接收到足够多的ACK信息时,则采用所述FR重新传输数据;当发送端没有接收任何重复确认(DUPlicate ACKnowledge,DUP ACK)信息时,则采用所述RTO重新传输数据。由于尾部数据的丢失,所述发送端不能接收到接收端返回的足够多ACK,导致无法触发FR和早期重传(early retransmission,ER)进行重传,只能采用RTO进行重传,即依靠计时器超时来触发进行原始尾部数据重传,从而将造成原始尾部数据的超时传输时延,使得整体数据传输的时延较长。
发明内容
本申请提供一种数据传输方法和装置,用于减少尾部数据丢失而产生的重传尾部数据的时延,以提高整体数据的传输效率。
第一方面,本发明实施例提供一种数据传输方法,该方法适用于数据发送端。该方法包括以下步骤:获取目标数据的尾部数据;对所述尾部数据进行编码,得到备份数据,所述备份数据用于对丢失的部分尾部数据进行恢复;发送所述尾部数据和所述备份数据。
通过该设计,数据发送端针对获取的目标数据的尾部数据,对尾部数据进行编码保护,以及得到尾部数据的备份数据。因此,该方法可以避免目标数据在传输过程中出现尾部数据的丢失,并且若目标数据发生丢失时,通过备份数据也可以重新获得丢失的数据。
在一个可能的设计中,生成备份数据指示信息,所述备份指示信息用于指示以下至少一项:所述备份数据在所述尾部数据中的位置、所述编码的编码方式、所述尾部数据的长度信息、所述尾部数据被编码的起始位置。
通过该设计,数据发送端还生成备份数据指示信息,以便数据接收端可以通过备份数据指示信息,获知尾部数据位于目标数据中的位置,以及所述数据端进行数据编码的方式,以及所述尾部数据的长度、尾部数据被编码的起始位置,进而实现通过备份数据对丢失尾部数据的恢复。
在一个可能的设计中,所述方法还包括:在同一发送周期内发送所述备份数据指示信息、所述尾部数据和所述备份数据。
通过该设计,所述尾部数据、备份数据,以及备份数据指示信息在同一发送周期内发送给数据接收端,该方法可以避免因各数据的发送周期时间不同,导致所述数据接收端无法准确的确定接收的尾部数据所对应备份数据和备份数据指示信息,进而无法实现对丢失的尾部数据进行有效的恢复。
在一个可能的设计中,所述获取目标数据的尾部数据,包括:根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据,所述尾部标识用于识别所述尾部数据;或,根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据;或根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据。
通过该设计,数据发送端可通过不同的方式,灵活的确定目标数据的尾部数据的位置和长度信息,进而准确的获取目标数据的尾部数据。
在一个可能的设计中,所述根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据,包括:所述目标数据中的比特为所述尾部标识指示的起始比特时,根据所述尾部标识指示的起始比特获取所述尾部数据;其中,所述尾部数据的长度为所述尾部标识指示的起始比特至所述目标数据的结束比特。
通过该设计,数据发送端可以直接根据目标数据中携带的尾部标识确定目标数据中的尾部数据,进而快速且准确的获取所述目标数据的尾部数据。
在一个可能的设计中,所述根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据,包括:根据拥塞窗口和/或链路状态信息,确定所述目标数据中尾部数据的长度;根据所述尾部数据的长度和所述目标数据的末尾位置,获取所述尾部数据的起始位置。
通过该设计,数据发送端根据实际的网络拥塞窗口和/或链路状态,确定传输尾部数据的长度,进而在传输数据时,避免网络拥塞而丢失数据,从而可提高数据的传输效率。
在一个可能的设计中,所述根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据,包括:所述目标数据中的比特为所述长度信息指示的起始比特时,根据所述长度信息指示的起始比特获取所述尾部数据;其中,所述尾部数据的长度为所述长度信息指示的起始比特至所述目标数据的结束比特。
通过该设计,数据发送端可以根据预定的尾部数据长度信息,快速且准确的获取目标数据中的尾部数据。
在一个可能的设计中,所述发送所述尾部数据、所述备份数据之后,所述方法还包括:接收所述数据接收端反馈的确认ACK信息,所述ACK信息为所述数据接收端在确定所述尾部数据已全部被成功接收,或所述ACK信息为所述数据接收端在确定基于所述备份数据成功将所述尾部数据恢复。
通过该设计,数据发送端通过接收数据接收端反馈的确认ACK信息,可知所述数据接收端已接收到完整的尾部数据,从而避免所述数据发送端再次向所述数据接收端重传数据而造成额外开销。
在一个可能的设计中,所述发送所述尾部数据、所述备份数据之后,所述方法还包括:接收所述数据接收端反馈的选择性确认SACK信息,所述SACK信息用于指示所述数据接收端接收到所述备份数据,以及尾部数据丢失且丢失的尾部数据无法被所述备份数据恢复。
通过该设计,数据发送端通过接收数据接收端反馈的SACK信息,可知所述数据接收端没有接收到完整的尾部数据,需要所述数据发送端再次向所述数据接收端重传丢失的数据,使得所述接收端能接收到全部的目标数据。
第二方面,本发明实施例提供一种数据传输方法,该方法适用于数据接收端。该方法包括以下步骤:接收尾部数据、备份数据;其中,所述备份数据是对尾部数据进行编码得到的,用于对丢失的部分尾部数据进行恢复;确定所述尾部数据存在数据丢失时,根据所述备份数据对丢失尾部数据进行恢复。
通过该设计,数据接收端在确定目标数据的尾部数据发生丢失时,可以直接通过备份数据对丢失的尾部数据进行恢复,无需数据发送端再次向所述数据接收端重传丢失尾部数据,从而减少了重传而造成的额外传输时延以及开销。
在一个可能的设计中,所述方法还包括:在同一接收周期内接收所述尾部数据和所述备份数据,以及备份数据指示信息;其中,所述备份数据指示信息用于指示所述备份数据在所述尾部数据中的位置和所述编码的编码方式。
通过该设计,数据接收端在同一接收周期内接收所述尾部数据、备份数据,以及备份数据指示信息,该方法可以避免因各数据的接收周期时间不同,导致所述数据接收端无法准确的确定接收的尾部数据所对应备份数据和备份数据指示信息,进而无法实现对丢失的尾部数据进行有效的恢复。
在一个可能的设计中,所述确定所述尾部数据存在数据丢失,包括:在接收的所述尾部数据的长度小于预先约定的尾部数据的长度时,确定接收的所述尾部数据存在数据丢失;或者备份数据指示信息中还包含用于指示所述原始尾部数据的长度的长度信息,当在接收的所述尾部数据的长度小于所述长度信息指示的长度时,确定接收的所述尾部数据存在数据丢失。
通过该设计,数据接收端可以确定接收数据发送端发送的尾部数据是否发生丢失,从而可以避免目标数据的尾部数据丢失而不知的情况。
在一个可能的设计中,所述根据所述备份数据对丢失的尾部数据进行恢复,包括:根据接收的所述尾部数据以及备份数据指示信息指示所述备份数据在所述尾部数据中的位置,确定所述备份数据所在的位置;在确定的所述位置处获取所述备份数据;根据所述备份数据指示信息中包含的所述编码的编码方式对应的解码方式,对获取的所述备份数据进行解码,得到所述丢失尾部数据。
通过该设计,数据接收端根据备份数据指示信息,确定丢失数据所对应的备份数据,以及数据发送端编码方式,进而确定对应的解码方式,有效的对所述备份数据进行解码,从而得到准确的已丢失的尾部数据。
在一个可能的设计中,所述接收所述尾部数据、所述备份数据之后,所述方法还包括:在确定所述尾部数据已全部被成功接收,或者确定丢失部分所述尾部数据、但基于所述备份数据已成功恢复时,向数据发送端发送确认ACK信息;或者在确定所述备份数据已被成功接收,且存在尾部数据丢失、丢失的数据无法被所述备份数据恢复时,向数据发送端发送选择性确认SACK信息。
通过该设计,数据接收端根据接收到尾部数据的情况,向数据发送端返回相应的信息,使得所述数据发送端获知数据接收端接收尾部数据的情况,以便停止传输数据,或执行重传丢失数据的操作。
第三方面,本申请提供一种数据传输装置,该装置具有实现上述第一方面或上述第一方面的任意一种可能的设计中所述方法的功能,或具有实现上述第二方面或上述第二方面的任意一种可能的设计中所述方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。比如包括通信单元和处理单元。
第四方面,本申请实施例中还提供一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述第一方面或其中任意一种设计提供的方法,或实现上述第二方面或其中任意一种设计提供的方法。
第五方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或其中任一种设计提供的方法,或执行上述第二方面或其中任一种设计提供的方法。
第六方面,本申请实施例提供了一种芯片***,该芯片***包括处理器,用于支持设备实现上述第一方面中所涉及的功能,或支持设备实现上述第二方面中所涉及的功能。在一种可能的设计中,所述芯片***还包括存储器,所述存储器,用于保存必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包含芯片和其他分立器件。
第七方面,本申请提供了一种芯片***,该芯片***包括处理器和接口,所述接口用于获取程序或指令,所述处理器用于调用所述程序或指令以实现或者支持设备实现第一方面或第二方面所涉及的功能,例如,确定或处理上述方法中所涉及的数据和信息中的至少一种。
在一种可能的设计中,所述芯片***还包括存储器,所述存储器,用于保存终端设备必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包括芯片和其他分立器件。
上述第三方面至第七方面中可以达到的技术效果,可以参照上述第一方面或第二方面中任意一种设计可以达到的技术效果说明,这里不再重复赘述。
附图说明
图1为本申请实施例提供的一种尾部数据的示意图;
图2A为本申请实施例提供的一种通信***架构的示意图;
图2B为本申请实施例提供的一种组播场景下通信***的架构的示意图;
图2C为本申请实施例提供的一种组播场景下通信***的架构的示意图;
图3为本申请实施例提供的一种数据传输方法的流程示意图;
图4为本申请实施例提供的一种原始的TCP报文格式的示意图;
图5为本申请实施例提供的一种被编码保护TCP报文格式的示意图;
图6为本申请实施例提供的一种备份报文格式的示意图;
图7为本申请实施例提供的一种尾部数据和备份数据的示意图;
图8为本申请实施例提供的一种数据传输装置的结构示意图;
图9为本申请实施例提供的一种数据传输装置的结构示意图;
图10为本申请实施例提供的一种数据传输设备的结构示意图;
图11为本申请实施例提供的一种数据传输设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、本申请实施例涉及的尾部数据,如图1所示,数据发送端需要向数据接收端发送一段传输数据,具体的,该段待传输数据的起始位置至结尾位置之间的所有数据表示为所述待传输数据,其中,所述待传输数据的尾部数据是指从该段数据的结尾位置至该段数据中任意一个位置A之间的数据。所述位置A在所述待传输数据上的位置可取决于尾部数据长度信息,或者可根据所述位置A确定尾部数据长度信息,所述尾部数据长度还可以根据实际网络拥塞窗口和/或传输数据的链路状态信息而确定。
2)、本申请实施例涉及的备份数据,指的是对同一数据的重复存储,在本申请实施例中数据传输过程中发生数据丢失时,所述备份数据可以被用于对丢失的数据进行恢复。例如冗余数据,利用网络编码产生额外数据,用于恢复丢失的被保护数据。其中,备份数据生成方式或者备份数据格式可根据实际情况进行设定,本申请不做具体限定。
3)、本申请实施例涉及的数据编码,指的是通过一种编码方式,对数据进行处理,进而使得编码后的数据在传输过程中不易发生数据损坏或丢失,且提高了数据的传输效率。其中,编码方式是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式,本申请实施例中对编码方式可不做具体限定。
4)、本申请实施例涉及的拥塞窗口,具体指在发送端设置一个窗口结构,根据网络的拥塞情况,动态调整该窗口大小,发送端只能发送大小小于滑动窗口和拥塞窗口的数据,在发送端设置的这个窗口就是拥塞窗口。设置网络拥塞窗口主要用于避免数据传输过程中,由于网络拥塞,造成数据的丢失,以及接收端接收数据的失序。
5)、本申请实施例涉及的多个,是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
本申请实施例应用的通信***可以包括一个或多个数据发送端,以及一个或多个数据接收端。其中,一个发送端可以向一个或多个接收端传输数据。多个发送端也可以同时为一个接收端传输数据。一个发送端也可以同时为多个接收端传输数据。比如,本申请提供的数据传输方法可以应用于各类通信***中,例如,可以是物联网(internet of things,IoT)、窄带物联网(narrow band internet of things,NB-IoT)、长期演进(long term evolution,LTE),也可以是第五代(5G)通信***,还可以是LTE与5G混合架构、也可以是5G新无线(new radio,NR)***以及未来通信发展中出现的新的通信***等。本申请所述的5G通信***可以包括非独立组网(non-standalone,NSA)的5G通信***、独立组网(standalone,SA) 的5G通信***中的至少一种。通信***还可以是公共陆地移动网络(public land mobile network,PLMN)网络、设备到设备(device-to-device,D2D)网络、机器到机器(machine to machine,M2M)网络或者其他网络。
在短距离传输情况下,数据发送端可以直接通过网络传输链路向数据接收端传输数据,例如图2A;在远距离传输情况下,该通信***中还可以包括一个或多个中间节点,数据发送端可以通过一个或多个中间节点向数据接收端传输数据,且本申请实施例可以用于组播场景,也可以应用于单播场景。例如,单播场景下通信***的架构如图2B所示,多播场景下通信***的架构如图2C所示。应理解,图2B和图2C仅是示例性说明,并不对通信***中发送端、中间节点、接收端的数量以及连接关系进行具体限定。示例性的,数据发送端可以是网络设备,也可以是终端设备,也可以是其他发送数据的设备,或者也可以是编码器。数据接收端可以是终端设备,或者也可以是其他接收数据的设备,或者也可以是译码器。中间节点可以是路由节点、转发节点、中继节点等传输设备,或者也可以是编码器。
本申请实施例中涉及的发送端和接收端可以是终端设备,也可以是网络设备,本申请对此不做限定。
其中,终端设备是用户侧的一种用于接收或发射信号的实体。终端设备可以是一种向用户提供语音、数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。终端设备也可以是连接到无线调制解调器的其他处理设备。终端设备可以通过无线接入网(radio access network,RAN)与一个或多个核心网进行通信。终端设备也可以称为无线终端、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、接入点(access point)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user device)、或用户装备(user equipment)等等。终端设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言、数据。例如,终端设备还可以是个人通信业务(personal communication service,PCS)电话、无绳电话、会话发起协议(session initiation protocol,SIP)话机、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、等设备。常见的终端设备例如包括:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,例如智能手表、智能手环、计步器等,但本申请实施例不限于此。本申请实施例中涉及的终端设备还可以是未来演进的PLMN中出现的终端设备等,本申请实施例对此并不限定。
此外,在本申请实施例中,终端设备还可以是IoT***中的终端设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。在本申请实施例中,IoT技术可以通过例如窄带(narrow band,NB)技术,做到海量连接,深度覆盖,终端省电。
此外,在本申请实施例中,终端设备还可以包括智能打印机、火车探测器、加油站等传感器,主要功能包括收集数据(部分终端设备)、接收网络设备的控制信息与下行数据,并发送电磁波,向网络设备传输上行数据。
本申请实施例中所涉及的网络设备,是网络侧的一种用于发射或接收信号的实体。本 申请实施例中的网络设备可以是无线网络中的设备,例如将终端接入到无线网络的RAN节点。例如,网络设备可以是LTE中的演进型基站(evolutional Node B,eNB或e-NodeB),还可以是新无线控制器(new radio controller,NR controller),可以是5G***中的gNode B(gNB),可以是集中式网元(centralized unit,CU),可以是新无线基站,可以是射频拉远模块,可以是微基站,可以是中继(relay),可以是分布式网元(distributed unit,DU),可以是家庭基站,可以是传输接收点(transmission reception point,TRP)或传输点(transmission point,TP)或者任何其它无线接入设备,但本申请实施例不限于此。网络设备可以覆盖1个或多个小区。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在现有的数据可靠传输中(例如TCP),往往会存在尾部数据丢失的问题,很容易增大传输延迟,因此,如何解决尾部的丢包问题,对于提升完成小流的传输效率,降低整体任务的完成时间有着较大的意义。在现有的数据的尾部数据的重传技术中,主要包括传统的TCP方案和探测超时PTO方案。其中,TCP方案主要采用快速恢复FR或超时重传RTO进行数据重传。当发送端接收到足够多的ACK信息时,则采用FR重新传输数据;当发送端没有接收任何重复确认DUP ACK信息时,则采用RTO重新传输数据。由于尾部数据的丢失,发送端不能接收到接收端返回的足够多ACK,导致无法触发FR和早期重传ER进行重传,只能采用RTO进行重传,即依靠计时器超时来触发进行尾部数据重传,从而将造成尾部数据的超时传输时延,使得整体数据传输的时延较长。
其中,PTO方案利用尾部的探测定时器PTO来避免触发RTO,并采用尾部丢包探测TLP技术设置PTO,使得尾部重传时延稳定在max(2*RTT,10ms)的范围之内,然而,当丢失数据包所对应序列为非最高序列时,PTO方案所造成的尾部数据传输时延也相对较大。
有鉴于此,本申请实施例提供的一种数据传输方法,可以适用于上述图2A-2C的网络架构中,该方法可以用于减少尾部数据丢失而产生的重传尾部数据的时延,以提高整体数据的传输效率。该方法用于对尾部数据进行传输,以实现尾部数据的高效传输。在该方法中,数据发送端获取目标数据的尾部数据,然后,对尾部数据进行编码,得到备份数据,其中,备份数据用于对丢失的部分尾部数据进行恢复;数据发送端将尾部数据和备份数据发送给数据接收端。数据接收端接收尾部数据和备份数据;数据接收端确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。因此,上述方法通过对数据的尾部数据进行编码保护,同时得到尾部数据的备份数据,从而当数据传输过程中,发生尾部数据丢失时,可以通过备份数据进行恢复,使得数据接收端能够接收到足够的ACK信息,因此,该方法可以减少尾部数据丢失而产生的重传尾部数据的时延,从而提高整体数据的传输效率。
下面结合附图对本申请实施例提供的方法进行具体说明。
请参考图3,其为本申请实施例提供的一种数据传输方法的实施流程图。该方法可以应用于图2A或图2B或图2C所示的通信***架构中,当然也可应用于除此之外的通信***架构,本申请对此不做限定。并且在上述通信***中,在数据发送端可以对待发送的尾 部数据进行编码保护,或者数据发送端和数据接收端之间也可以存在中间节点对数据发送端发送的尾部数据进行编码保护,本申请不做具体限定。参阅图3所示,该方法可包括如下处理流程。
S301:数据发送端获取目标数据的尾部数据。
在一种实施方式中,数据发送端获取目标数据的尾部数据,包括以下三种实现方式,具体如下所述:
在第一种实现方式中,数据发送端根据目标数据中携带的尾部标识,获取目标数据的尾部数据,尾部标识用于识别尾部数据。
具体的,数据发送端根据目标数据中携带的尾部标识,获取目标数据的尾部数据,包括:
目标数据中的比特为尾部标识指示的起始比特时,根据尾部标识指示的起始比特获取尾部数据;其中,尾部数据的长度为尾部标识指示的起始比特至目标数据的结束比特。例如:目标数据的比特对应的序号为1、2、3、4、5,其中,“1”为目标数据末尾比特对应的序号,“5”为目标数据起始比特对应的序号;若数据发送端确定尾部标识指示的起始比特为序号“3”对应的比特,那么数据发送端确定尾部数据为序号“1”~“3”的比特。
在第二种实现方式中,数据发送端根据计算得到的尾部数据的起始位置,获取目标数据的尾部数据。具体的,数据发送端可以根据拥塞窗口和/或链路状态信息,确定目标数据中尾部数据的长度;根据尾部数据的长度和目标数据的末尾位置,获取尾部数据的起始位置。例如:数据发送端根据拥塞窗口和/链路状态信息,通过传输协议带有的拥塞控制算法,计算出待传输的尾部数据的长度。然后,数据发送端根据计算得到的尾部数据的长度和目标数据的末尾位置,确定尾部数据在目标数据中的起始位置,进而获取起始位置至目标数据的末尾位置之间的数据。
在第三种实现方式中,数据发送端根据预定的尾部数据的长度信息,获取目标数据的尾部数据。具体的,数据发送端可以在目标数据中的比特为长度信息指示的起始比特时,根据长度信息指示的起始比特获取尾部数据;其中,尾部数据的长度为长度信息指示的起始比特至目标数据的结束比特。例如:目标数据的比特对应的序号为1、2、3、4、5,其中,“1”为目标数据末尾比特对应的序号,“5”为目标数据起始比特对应的序号;若预设的尾部数据的长度信息指示尾部数据在目标数据中的起始比特为序号“3”对应的比特,那么数据发送端根据预设的尾部数据的长度信息,确定尾部数据的长度为序号“1”~“3”对应的比特。
需要注意的是,本申请实施例数据传输涉及到一套通用的传输协议,可以在修改后的TCP或者其他的有尾部数据边界的传输协议上进行实现本申请实施例的方法。在传输协议的数据发送端与数据接收端建立连接之后,应用可以通过接口向数据发送端提交待传输的目标数据。
S302:数据发送端对尾部数据进行编码,得到备份数据,备份数据用于对丢失的部分尾部数据进行恢复。
在一种实施方式中,数据发送端获取目标数据的尾部数据;对尾部数据进行编码,得到备份数据时,在数据发送端还生成备份数据指示信息。
可选的,备份指示信息用于指示以下至少一项:备份数据在尾部数据中的位置、编码的编码方式、数据的长度信息、尾部数据被编码的起始位置。
示例性的,数据发送端可以在有效尾部数据中选取不同比特位组,任意两组比特位组 之间包含的比特位不相同;针对任意一个比特位组执行:对比特位组包括的至少一个比特位上的数据比特进行运算,得到一个对应的备份数据。
S303:数据发送端向数据接收端发送尾部数据和备份数据;数据接收端接收尾部数据、备份数据;其中,备份数据是对尾部数据进行编码得到的,用于对丢失的部分尾部数据进行恢复。
需要注意的是,数据发送端向数据接收端发送的尾部数据为实际尾部数据,数据接收端接收数据发送端发送的尾部数据为有效尾部数据。数据接收端接收得到的有效尾部数据量与数据发送端实际发送的实际尾部数据量不一定相等。
例如,数据接收端接收得到的有效尾部数据量等于数据发送端发送的实际尾部数据量,或者数据发送端发送的实际尾部数据在传输过程中发生丢失,导致数据接收端接收得到的有效尾部数据量小于数据发送端发送的实际尾部数据量。
在一种实施方式中,数据发送端在同一发送周期内向数据接收端发送备份数据指示信息、尾部数据和备份数据。以及数据接收端在同一接收周期内接收尾部数据和备份数据,以及备份数据指示信息;其中,备份数据指示信息用于指示备份数据在尾部数据中的位置和编码的编码方式。
在一种实施方式中,数据接收端接收到的尾部数据为编码后的尾部数据之后,确定数据接收端确定接收到的尾部数据和备份数据为编码后的尾部数据和备份数据。
在本申请实施例中以TCP为例,且尾部数据以报文形式为例做具体说明,但是其他协议数据也适用,它们只需保护相同的属性就行,本申请实施例不做具体限定。
示例性的,请参考图4-图6,数据接收端可以通过以下方式实现确定接收到的尾部数据和备份数据为编码后的尾部数据和备份数据:
修改TCP的接口,能够获得目标数据的结尾信息。TCP的格式为:Void send(int sockfd,char*data,int size,int flags=MsgEnd),其中data是数据缓存,size是数据长度,flags是传输的标识。我们只需增加flag=MsgEnd的类别,来说明提交的是目标数据的结尾。
原始的TCP报文格式如图4所示,图4中记载的Reserved表示三位,NS(NONCE)表示一个只被使用一次的任意或非重复的随机数值。CWR(Congestion Window Reduce)表示拥塞窗口减少标志被发送主机设置,用来表明它接收到了设置ECE标志的TCP包,数据发送端通过降低发送窗口的大小来降低发送速率。ECE(ECN Echo)表示在TCP3次握手时表明一个TCP端是具备ECN功能的,并且表明接收到的TCP包的IP头部的ECN被设置为11。URG(Urgent)表示紧急(The urgent pointer)标志有效。ACK(Acknowledgment)表示确定的TCP包,取值为1则表示Acknowledgment Number字段有效,取值0则不是确认包。PSH(Push)表示数据发送端缓存中已经没有待发送的数据。RST(Reset)用于常在发生异常或者错误的时候会触发复位TCP连接。SYN(Synchronize)表示同步序列编号(Synchronize Sequence Numbers)有效。FIN(Finish)标志用于结束一个TCP会话,但对应端口仍处于开放状态,准备接收后续数据。
需要注意的是,图4中的Options是可选的,它后面就是paylaod(有效负载)。通常TCP是没有Options的,本申请实施例中的被编码保护报文(数据)和备份报文(数据)都没有options。
在本申请实施例中,被编码保护后的报文如图5所示,根据图5中描述,与原始报文相比,被编码保护后的报文具体存在两点不同:1、Reserved的最后一位置由“0”更改成“1”, 表示该报文是被编码保护的报文。2、报头后,有效负载Payload前,需要增加16bit的packet length,该packet length用于说明报文真正有效的数据长度。因为编码需要报文等长,若有效负载payload不够,则需要补足长度,因此,数据包长度Packet length可以用来区分有效数据和补足数据。
在本申请实施例中,备份报文(例如冗余报文)如图6所示,根据图5中描述,备份报文的特殊格式包括以下四点:1、选用Reserved,第一位置(最高位置)为1,表示是备份报文。2、将窗口大小Window Size用于说明编码方式,因为备份报文不涉及拥塞控制,因此,可以选择部分位用于说明编码长度,剩下的部分位用于说明编码的方式。3、序列号Sequence Number表示编码起始的位置。由于备份报文不需要ack,因此Sequence Number可以用来做其他用处。4、报文的有效负载payload为对被保护数据编码的计算结果,其余报文的数据包长度Packet length也参与到编码计算。
因此,数据接收端接收到备份报文(数据),可知编码起始位置和编码方式,只要数据接收端接收到足够的被保护报文(数据),就可以解码出丢失的报文的有效负载payload和数据包长度packet length,从而可以还原出真正的有效信息。数据接收端可以根据编码的长度信息,确定是否接收到数据发送端发送的完整的报文。数据接收端可以根据原窗口大小window size,可知编码长度和编码的方式。例如:原窗口大小window size的前10位可以用于表示0-1024的编码长度,剩下6bit可用于说明编码的方式。
需要注意是,这里的原窗口大小的作用与备份数据指示信息的作用可等同。
S304:数据接收端确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。
在一种实施方式中,数据接收端确定尾部数据存在数据丢失,包括以下两种实现方式,具体如下所述:
在第一种实现方式中,数据接收端在接收的尾部数据的长度小于预先约定的尾部数据的长度时,确定接收的尾部数据存在数据丢失。
在第二种实现方式中,备份数据指示信息中还包含用于指示原始尾部数据的长度的长度信息,当数据接收端接收的尾部数据的长度小于长度信息指示的长度时,确定接收的尾部数据存在数据丢失。
在一种实施方式中,数据接收端根据备份数据对丢失的尾部数据进行恢复,包括:根据接收的尾部数据以及备份数据指示信息指示备份数据在尾部数据中的位置,确定备份数据所在的位置;在确定的位置处获取备份数据;根据备份数据指示信息中包含的编码的编码方式对应的解码方式,对获取的备份数据进行解码,得到丢失的尾部数据。
S305:数据发送端向数据接收端发送响应信息。
在一种实施方式中,数据接收端根据接收到尾部数据情况,以及对丢失后的数据进行恢复的情况,向数据发送端返回响应消息。具体包括以下几种情况:
第一种情况:当数据接收端接收到数据发送端发送的尾部数据之后,确定数据发送端发送的尾部数据已全部被成功接收,则数据接收端向数据发送端发送确认ACK信息。
数据发送端接收数据接收端反馈的确认ACK信息,ACK信息表示数据接收端已成功全部接收数据发送端发送的尾部数据。
第二种情况:数据接收端确定丢失部分尾部数据、但基于备份数据已成功恢复时,向数据发送端发送确认ACK信息。
数据发送端接收数据接收端反馈的确认ACK信息,ACK信息表示数据接收端确定数据发送端发送的尾部数据发生丢失时,并基于备份数据成功将丢失的尾部数据恢复。
第三种情况:数据接收端确定备份数据已被成功接收,且接收到数据发送端发送的尾部数据发生丢失,但丢失的数据无法被备份数据恢复时,则向数据发送端发送选择性确认SACK信息。
数据发送端接收SACK信息,SACK信息用于指示数据接收端接收到备份数据,以及尾部数据丢失且丢失的尾部数据无法被备份数据恢复。数据发送端根据SACK信息,向数据接收端重输丢失的数据。当数据接收端确定接收到全部的尾部数据,则停止数据发送端与数据接收端之间的传输。
需要注意的是,若数据接收端确定备份数据已被成功接收,且接收到数据发送端发送的尾部数据发生丢失,但丢失的数据无法被备份数据恢复时,则使用传统的FR、RTO、PTO方法,该部分本申请不再具体赘述。
基于上述的实施例提供的一种数据传输方法,本申请给出一个利用交织编码实现尾部数据传输的实施例,请参考图7:
a701:假如数据发送端侧向数据接收端发送目标数据150KB的消息,带宽100Mbps,RTT的传输时间以10ms为例,那么完成传输时间最小为(150KB*8/100Mbps)+10ms=22ms+10ms=22ms。
a702:如图7所示,假设尾部有13(取13是为了说明不对称交织)个数据要发送(假如带宽充分利用,拥塞窗口为125KB,剩下的25KB),生成3个备份数据。
a703:采用交织异或码,3个备份数据为
Figure PCTCN2021118934-appb-000001
Figure PCTCN2021118934-appb-000002
(它们不对称交织,每个编码长度不同)。
a704:当数据接收端确定备份数据无丢失时,可以恢复任意连续3个(或少于3个)数据的丢包。采用异或编码,解码速度可以忽略(小于1ms)。
a705:当数据接收端确定目标数据的尾部数据11、12、13任意丢失,或者全部丢失时,本申请实施例方法可节省1个RTO或者PTO+1次额外重传。
a706:当数据接收端确定接收到备份数据,但是丢失的目标数据的尾部数据不可被恢复,则本申请实施例方法可节省1个RTO或PTO重传。
通过以上描述可知,本申请实施例中数据发送端通过对目标数据的尾部数据进行编码保护和生成备份数据,防止尾部数据在传输过程中发生丢失,若尾部数据在传输过程中发生部分数据的丢失,数据接收端可以根据备份数据对丢失的数据进行恢复,这种方式不需要数据发送端重传数据,从而不仅减少了重传丢失数据造成的额外开销,也可大大减少尾部的延迟,提高了目标数据的传输效率。
综上所述,本申请实施例提供了一种数据传输方法,该方法用于对尾部数据进行传输,以实现尾部数据的高效传输。在该方法中,数据发送端获取目标数据的尾部数据,然后,对尾部数据进行编码,得到备份数据,其中,备份数据用于对丢失的部分尾部数据进行恢复;数据发送端将尾部数据和备份数据发送给数据接收端。数据接收端接收尾部数据和备份数据;数据接收端确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。因此,上述方法通过对数据的尾部数据进行编码保护,同时得到尾部数据的备份数据,从而当数据传输过程中,发生尾部数据丢失时,可以通过备份数据进行恢复,使得数据接收端能够接收到足够的ACK信息,因此,该方法可以减少尾部数据丢失而产生的重传尾部数据的时延,从而提高整体数据的传输效率。
基于同一技术构思,本申请实施例还提供一种数据传输装置,该装置可以具有如图8所示的结构,且具有上述方法实施例中数据发送端的行为功能。如图8所示,该装置800可包括通信单元801以及处理单元802,下面对各单元进行具体的介绍。
通信单元801,用于获取目标数据的尾部数据;处理单元802,用于对尾部数据进行编码,得到备份数据,备份数据用于对丢失的部分尾部数据进行恢复;通信单元801,还用于发送尾部数据和备份数据。
一种可能的设计中,处理单元802,还用于生成备份数据指示信息,备份指示信息用于指示以下至少一项:备份数据在尾部数据中的位置、编码的编码方式、数据的长度信息、尾部数据被编码的起始位置。
一种可能的设计中,通信单元801在同一发送周期内发送备份数据指示信息、尾部数据和备份数据。
一种可能的设计中,通信单元801,在获取目标数据的尾部数据时,具体用于根据目标数据中携带的尾部标识,获取目标数据的尾部数据,尾部标识用于识别尾部数据;或根据计算得到的尾部数据的起始位置,获取目标数据的尾部数据;或根据预定的尾部数据的长度信息,获取目标数据的尾部数据。
一种可能的设计中,通信单元801,在根据目标数据中携带的尾部标识,获取目标数据的尾部数据时,具体用于在目标数据中的比特为尾部标识指示的起始比特时,根据尾部标识指示的起始比特获取尾部数据;其中,尾部数据的长度为尾部标识指示的起始比特至目标数据的结束比特。
一种可能的设计中,通信单元801,在根据计算得到的尾部数据的起始位置,获取目标数据的尾部数据时,具体用于根据拥塞窗口和/或链路状态信息,确定目标数据中尾部数据的长度;根据尾部数据的长度和目标数据的末尾位置,获取尾部数据的起始位置。
一种可能的设计中,通信单元801,在根据预定的尾部数据的长度信息,获取目标数据的尾部数据时,具体用于在目标数据中的比特为长度信息指示的起始比特时,根据长度信息指示的起始比特获取尾部数据;其中,尾部数据的长度为长度信息指示的起始比特至目标数据的结束比特。
一种可能的设计中,通信单元801,还用于:在发送尾部数据、备份数据之后,接收数据接收端反馈的确认ACK信息,ACK信息为数据接收端在确定尾部数据已全部被成功接收,或ACK信息为数据接收端在确定基于备份数据成功将尾部数据恢复。
一种可能的设计中,通信单元801,还用于:在发送尾部数据、备份数据之后,接收数据接收端反馈的选择性确认SACK信息,SACK信息用于指示数据接收端接收到备份数据,以及尾部数据丢失且丢失的尾部数据无法被备份数据恢复。
基于同一技术构思,本申请实施例还提供一种数据传输装置,该装置可以具有如图9所示的结构,且具有上述方法实施例中数据接收端的行为功能。如图9所示,该装置900可包括通信单元901以及处理单元902,下面对各单元进行具体的介绍。
通信单元901,用于接收尾部数据、备份数据;其中,备份数据是对尾部数据进行编码得到的,用于对丢失的部分尾部数据进行恢复;处理单元902,用于确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。
一种可能的设计中,通信单元901在同一接收周期内接收尾部数据和备份数据,以及备份数据指示信息;其中,备份数据指示信息用于指示备份数据在尾部数据中的位置和编 码的编码方式。
一种可能的设计中,处理单元902,在确定尾部数据存在数据丢失时,具体用于在接收的尾部数据的长度小于预先约定的尾部数据的长度时,确定接收的尾部数据存在数据丢失;或者备份数据指示信息中还包含用于指示原始尾部数据的长度的长度信息,当在接收的尾部数据的长度小于长度信息指示的长度时,确定接收的尾部数据存在数据丢失。
一种可能的设计中,处理单元902,在根据备份数据对丢失的尾部数据进行恢复时,具体用于根据接收的尾部数据以及备份数据指示信息指示备份数据在尾部数据中的位置,确定备份数据所在的位置;在确定的位置处获取备份数据;根据备份数据指示信息中包含的编码的编码方式对应的解码方式,对获取的备份数据进行解码,得到丢失尾部数据。
一种可能的设计中,通信单元901,还用于在接收尾部数据、备份数据之后,确定尾部数据已全部被成功接收,或者确定丢失部分尾部数据、但基于备份数据已成功恢复时,向数据发送端发送确认ACK信息;或者在确定备份数据已被成功接收,且存在尾部数据丢失、丢失的数据无法被备份数据恢复时,向数据发送端发送选择性确认SACK信息。
此外,本申请实施例还提供一种数据传输设备,该设备可以具有如图10所示的结构,该传输设备作为数据发送端。如图10所示的数据传输设备1000可以包括至少一个处理器1002,至少一个处理器1002用于与存储器耦合,读取并执行存储器中的指令以实现本申请实施例提供的方法中数据发送端涉及的步骤。可选的,该装置1000还可以包括收发器1001,用于支持装置1000进行信令或者数据的接收或发送。装置1000中的收发器1001,可用于实现上述通信单元801所具有的功能,例如,收发器1001可用于装置1000执行如图3所示的数据传输方法中的S301和S303、S305所示步骤,处理器1002可用于实现上述处理单元802所具有的功能,例如,处理器1002可用于装置1000执行如图3所示的数据传输方法中的S302所示步骤。可选的,装置1000还可以包括存储器1004,其中存储有计算机程序、指令,存储器1004可以与处理器1002和/或收发器1001耦合,用于支持处理器1002调用存储器1004中的计算机程序、指令以实现本申请实施例提供的方法中数据发送端涉及的步骤;另外,存储器1004还可以用于存储本申请方法实施例所涉及的数据,例如,用于存储支持收发器1001实现交互所必须的数据、指令,和/或,用于存储装置1000执行本申请实施例所述方法所必须的配置信息。
本申请实施例还提供一种数据传输设备,该设备可以具有如图11所示的结构,该传输设备作为数据接收端。如图11所示的数据传输设备1100可以包括至少一个处理器1102,至少一个处理器1102用于与存储器耦合,读取并执行存储器中的指令以实现本申请实施例提供的方法中数据接收端涉及的步骤。可选的,该装置1100还可以包括收发器1101,用于支持装置1100进行信令或者数据的接收或发送。装置1100中的收发器1101,可用于实现上述通信单元901所具有的功能,例如,收发器1101可用于装置1100执行如图3所示的数据传输方法中的S301和S303、S305所示步骤,处理器1102可用于实现上述处理单元902所具有的功能,例如,处理器1102可用于装置1100执行如图3所示的数据传输方法中的S304所示步骤。可选的,装置1100还可以包括存储器1104,其中存储有计算机程序、指令,存储器1104可以与处理器1102和/或收发器1101耦合,用于支持处理器1102调用存储器1104中的计算机程序、指令以实现本申请实施例提供的方法中数据接收端涉及的步骤;另外,存储器1104还可以用于存储本申请方法实施例所涉及的数据,例如,用于存储支持收发器1101实现交互所必须的数据、指令,和/或,用于存储装置1100执行本申 请实施例所述方法所必须的配置信息。
基于与上述方法实施例相同构思,本申请实施例还提供了一种计算机可读存储介质,其上存储有一些指令,这些指令被计算机调用执行时,可以使得计算机完成上述方法实施例、方法实施例的任意一种可能的设计中所涉及的方法。本申请实施例中,对计算机可读存储介质不做限定,例如,可以是RAM(random-access memory,随机存取存储器)、ROM(read-only memory,只读存储器)等。
基于与上述方法实施例相同构思,本申请还提供一种计算机程序产品,该计算机程序产品在被计算机调用执行时可以完成方法实施例以及上述方法实施例任意可能的设计中所涉及的方法。
基于与上述方法实施例相同构思,本申请还提供一种芯片,该芯片可以包括处理器以及接口电路,用于完成上述方法实施例、方法实施例的任意一种可能的实现方式中所涉及的方法,其中,“耦合”是指两个部件彼此直接或间接地结合,这种结合可以是固定的或可移动性的,这种结合可以允许流动液、电、电信号或其它类型信号在两个部件之间进行通信。
综上所述,本申请实施例提供了一种数据传输方法,该方法用于对尾部数据进行传输,以实现尾部数据的高效传输。在该方法中,数据发送端获取目标数据的尾部数据,然后,对尾部数据进行编码,得到备份数据,其中,备份数据用于对丢失的部分尾部数据进行恢复;数据发送端将尾部数据和备份数据发送给数据接收端。数据接收端接收尾部数据和备份数据;数据接收端确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。因此,上述方法通过对数据的尾部数据进行编码保护,同时得到尾部数据的备份数据,从而当数据传输过程中,发生尾部数据丢失时,可以通过备份数据进行恢复,使得数据接收端能够接收到足够的ACK信息,因此,该方法可以减少尾部数据丢失而产生的重传尾部数据的时延,从而提高整体数据的传输效率。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请实施例可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、电可擦可编程只读存储器(electrically erasable programmable read only memory,EEPROM)、只读光盘(compact disc read-Only memory,CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(digital subscriber line,DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本申请实施例所使用的,盘(disk)和碟(disc)包括压缩光碟(compact disc,CD)、激光碟、光碟、数字通用光碟(digital video disc,DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (31)

  1. 一种数据传输方法,其特征在于,应用于数据发送端,所述方法包括:
    获取目标数据的尾部数据;
    对所述尾部数据进行编码,得到备份数据,所述备份数据用于对丢失的部分尾部数据进行恢复;
    发送所述尾部数据和所述备份数据。
  2. 如权利要求1所述的方法,其特征在于,所述方法还包括:
    生成备份数据指示信息,所述备份指示信息用于指示以下至少一项:所述备份数据在所述尾部数据中的位置、所述编码的编码方式、所述数据的长度信息、所述尾部数据被编码的起始位置。
  3. 如权利要求1或2所述的方法,其特征在于,所述方法还包括:
    在同一发送周期内发送所述备份数据指示信息、所述尾部数据和所述备份数据。
  4. 如权利要求1所述的方法,其特征在于,所述获取目标数据的尾部数据,包括:
    根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据,所述尾部标识用于识别所述尾部数据;或,
    根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据;或,
    根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据。
  5. 如权利要求4所述的方法,其特征在于,所述根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据,包括:
    所述目标数据中的比特为所述尾部标识指示的起始比特时,根据所述尾部标识指示的起始比特获取所述尾部数据;
    其中,所述尾部数据的长度为所述尾部标识指示的起始比特至所述目标数据的结束比特。
  6. 如权利要求4所述的方法,其特征在于,所述根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据,包括:
    根据拥塞窗口和/或链路状态信息,确定所述目标数据中尾部数据的长度;
    根据所述尾部数据的长度和所述目标数据的末尾位置,获取所述尾部数据的起始位置。
  7. 如权利要求4所述的方法,其特征在于,所述根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据,包括:
    所述目标数据中的比特为所述长度信息指示的起始比特时,根据所述长度信息指示的起始比特获取所述尾部数据;
    其中,所述尾部数据的长度为所述长度信息指示的起始比特至所述目标数据的结束比特。
  8. 如权利要求1-7中任一项所述的方法,其特征在于,所述发送所述尾部数据、所述备份数据之后,所述方法还包括:
    接收所述数据接收端反馈的确认ACK信息,所述ACK信息为所述数据接收端在确定所述尾部数据已全部被成功接收,或所述ACK信息为所述数据接收端在确定基于所述备份数据成功将所述尾部数据恢复。
  9. 如权利要求1-7任一项所述的方法,其特征在于,所述发送所述尾部数据、所述备 份数据之后,所述方法还包括:
    接收所述数据接收端反馈的选择性确认SACK信息,所述SACK信息用于指示所述数据接收端接收到所述备份数据,以及尾部数据丢失且丢失的尾部数据无法被所述备份数据恢复。
  10. 一种数据传输方法,其特征在于,应用于数据接收端,所述方法包括:
    接收尾部数据、备份数据;其中,所述备份数据是对尾部数据进行编码得到的,用于对丢失的部分尾部数据进行恢复;
    确定所述尾部数据存在数据丢失时,根据所述备份数据对丢失尾部数据进行恢复。
  11. 如权利要求10所述的方法,其特征在于,所述方法还包括:
    在同一接收周期内接收所述尾部数据和所述备份数据,以及备份数据指示信息;
    其中,所述备份数据指示信息用于指示所述备份数据在所述尾部数据中的位置和所述编码的编码方式。
  12. 如权利要求10所述的方法,其特征在于,所述确定所述尾部数据存在数据丢失,包括:
    在接收的所述尾部数据的长度小于预先约定的尾部数据的长度时,确定接收的所述尾部数据存在数据丢失;或者
    备份数据指示信息中还包含用于指示所述原始尾部数据的长度的长度信息,当在接收的所述尾部数据的长度小于所述长度信息指示的长度时,确定接收的所述尾部数据存在数据丢失。
  13. 如权利要求10-12中任一项所述的方法,其特征在于,所述根据所述备份数据对丢失的尾部数据进行恢复,包括:
    根据接收的所述尾部数据以及备份数据指示信息指示所述备份数据在所述尾部数据中的位置,确定所述备份数据所在的位置;
    在确定的所述位置处获取所述备份数据;
    根据所述备份数据指示信息中包含的所述编码的编码方式对应的解码方式,对获取的所述备份数据进行解码,得到所述丢失尾部数据。
  14. 如权利要求10-13中任一项所述的方法,其特征在于,所述接收所述尾部数据、所述备份数据之后,所述方法还包括:
    在确定所述尾部数据已全部被成功接收,或者确定丢失部分所述尾部数据、但基于所述备份数据已成功恢复时,向数据发送端发送确认ACK信息;或者
    在确定所述备份数据已被成功接收,且存在尾部数据丢失、丢失的数据无法被所述备份数据恢复时,向数据发送端发送选择性确认SACK信息。
  15. 一种数据传输装置,其特征在于,该装置应用于数据发送端,包括:
    通信单元,用于获取目标数据的尾部数据;
    处理单元,用于对所述尾部数据进行编码,得到备份数据,所述备份数据用于对丢失的部分尾部数据进行恢复;
    所述通信单元,还用于发送所述尾部数据和所述备份数据。
  16. 如权利要求15所述的装置,其特征在于,
    所述处理单元,还用于生成备份数据指示信息,所述备份指示信息用于指示以下至少一项:所述备份数据在所述尾部数据中的位置、所述编码的编码方式、所述数据的长度信 息、所述尾部数据被编码的起始位置。
  17. 如权利要求15或16所述的装置,其特征在于,所述通信单元在同一发送周期内发送所述备份数据指示信息、所述尾部数据和所述备份数据。
  18. 如权利要求15所述的装置,其特征在于,所述通信单元,在获取目标数据的尾部数据时,具体用于:
    根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据,所述尾部标识用于识别所述尾部数据;或,
    根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据;或,
    根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据。
  19. 如权利要求18所述的装置,其特征在于,所述通信单元,在根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据时,具体用于:
    所述目标数据中的比特为所述尾部标识指示的起始比特时,根据所述尾部标识指示的起始比特获取所述尾部数据;
    其中,所述尾部数据的长度为所述尾部标识指示的起始比特至所述目标数据的结束比特。
  20. 如权利要求18所述的装置,其特征在于,所述通信单元,在根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据时,具体用于:
    根据拥塞窗口和/或链路状态信息,确定所述目标数据中尾部数据的长度;
    根据所述尾部数据的长度和所述目标数据的末尾位置,获取所述尾部数据的起始位置。
  21. 如权利要求18所述的装置,其特征在于,所述通信单元,在根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据时,具体用于:
    所述目标数据中的比特为所述长度信息指示的起始比特时,根据所述长度信息指示的起始比特获取所述尾部数据;
    其中,所述尾部数据的长度为所述长度信息指示的起始比特至所述目标数据的结束比特。
  22. 如权利要求15-21中任一项所述的装置,其特征在于,所述通信单元,还用于:在发送所述尾部数据、所述备份数据之后,接收所述数据接收端反馈的确认ACK信息,所述ACK信息为所述数据接收端在确定所述尾部数据已全部被成功接收,或所述ACK信息为所述数据接收端在确定基于所述备份数据成功将所述尾部数据恢复。
  23. 如权利要求15-21任一项所述的装置,其特征在于,所述通信单元,还用于:在发送所述尾部数据、所述备份数据之后,接收所述数据接收端反馈的选择性确认SACK信息,所述SACK信息用于指示所述数据接收端接收到所述备份数据,以及尾部数据丢失且丢失的尾部数据无法被所述备份数据恢复。
  24. 一种数据传输装置,其特征在于,该装置应用于数据接收端,包括:
    通信单元,用于接收尾部数据、备份数据;其中,所述备份数据是对尾部数据进行编码得到的,用于对丢失的部分尾部数据进行恢复;
    处理单元,用于确定所述尾部数据存在数据丢失时,根据所述备份数据对丢失尾部数据进行恢复。
  25. 如权利要求24所述的装置,其特征在于,所述通信单元在同一接收周期内接收所述尾部数据和所述备份数据,以及备份数据指示信息;
    其中,所述备份数据指示信息用于指示所述备份数据在所述尾部数据中的位置和所述编码的编码方式。
  26. 如权利要求24所述的装置,其特征在于,所述处理单元,在确定所述尾部数据存在数据丢失时,具体用于:
    在接收的所述尾部数据的长度小于预先约定的尾部数据的长度时,确定接收的所述尾部数据存在数据丢失;或者
    备份数据指示信息中还包含用于指示所述原始尾部数据的长度的长度信息,当在接收的所述尾部数据的长度小于所述长度信息指示的长度时,确定接收的所述尾部数据存在数据丢失。
  27. 如权利要求24-26中任一项所述的装置,其特征在于,所述处理单元,在根据所述备份数据对丢失的尾部数据进行恢复时,具体用于:
    根据接收的所述尾部数据以及备份数据指示信息指示所述备份数据在所述尾部数据中的位置,确定所述备份数据所在的位置;
    在确定的所述位置处获取所述备份数据;
    根据所述备份数据指示信息中包含的所述编码的编码方式对应的解码方式,对获取的所述备份数据进行解码,得到所述丢失尾部数据。
  28. 如权利要求24-27中任一项所述的装置,其特征在于,所述通信单元,还用于:在接收所述尾部数据、所述备份数据之后,
    在确定所述尾部数据已全部被成功接收,或者确定丢失部分所述尾部数据、但基于所述备份数据已成功恢复时,向数据发送端发送确认ACK信息;或者
    在确定所述备份数据已被成功接收,且存在尾部数据丢失、丢失的数据无法被所述备份数据恢复时,向数据发送端发送选择性确认SACK信息。
  29. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至9任一项所述的方法,或执行如权利要求10至14任一项所述的方法。
  30. 一种数据传输装置,其特征在于,包括:处理器和存储器;
    所述存储器用于存储计算机程序;
    所述处理器用于执行所述存储器存储的计算机程序,使得所述通信装置执行如权利要求1至9任一项所述的方法,或执行如权利要求10至14中任一项所述的方法。
  31. 一种数据传输装置,其特征在于,包括至少一个处理器和接口,所述至少一个处理器用于执行计算机程序,使得所述通信装置执行如权利要求1至9中任一项所述的方法,或执行如权利要求10至14中任一项所述的方法。
PCT/CN2021/118934 2020-10-19 2021-09-17 一种数据传输方法和装置 WO2022083371A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011119358.8 2020-10-19
CN202011119358.8A CN114389758A (zh) 2020-10-19 2020-10-19 一种数据传输方法和装置

Publications (1)

Publication Number Publication Date
WO2022083371A1 true WO2022083371A1 (zh) 2022-04-28

Family

ID=81193451

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/118934 WO2022083371A1 (zh) 2020-10-19 2021-09-17 一种数据传输方法和装置

Country Status (2)

Country Link
CN (1) CN114389758A (zh)
WO (1) WO2022083371A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579083B (zh) * 2022-05-09 2022-08-05 上海擎昆信息科技有限公司 一种基于矢量处理器的数据处理装置和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104410927A (zh) * 2014-11-27 2015-03-11 江苏辰汉电子科技有限公司 删除信道中视频传输丢包低冗余度补偿方法
CN104580171A (zh) * 2014-12-24 2015-04-29 北京高森明晨信息科技有限公司 Tcp协议的传输方法、装置和***
CN104967502A (zh) * 2015-02-03 2015-10-07 深圳市腾讯计算机***有限公司 数据发送方法和装置、数据接收方法和装置
US20170230310A1 (en) * 2014-12-12 2017-08-10 Hitachi, Ltd. Communication device, communication device system, and communication method
CN110855400A (zh) * 2019-11-29 2020-02-28 江苏方天电力技术有限公司 基于纠错码的自适应丢包恢复方法、计算设备及存储介质
CN111414277A (zh) * 2020-03-06 2020-07-14 网易(杭州)网络有限公司 数据恢复方法、装置、电子设备和介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104410927A (zh) * 2014-11-27 2015-03-11 江苏辰汉电子科技有限公司 删除信道中视频传输丢包低冗余度补偿方法
US20170230310A1 (en) * 2014-12-12 2017-08-10 Hitachi, Ltd. Communication device, communication device system, and communication method
CN104580171A (zh) * 2014-12-24 2015-04-29 北京高森明晨信息科技有限公司 Tcp协议的传输方法、装置和***
CN104967502A (zh) * 2015-02-03 2015-10-07 深圳市腾讯计算机***有限公司 数据发送方法和装置、数据接收方法和装置
CN110855400A (zh) * 2019-11-29 2020-02-28 江苏方天电力技术有限公司 基于纠错码的自适应丢包恢复方法、计算设备及存储介质
CN111414277A (zh) * 2020-03-06 2020-07-14 网易(杭州)网络有限公司 数据恢复方法、装置、电子设备和介质

Also Published As

Publication number Publication date
CN114389758A (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
JP6522855B2 (ja) パケット送信方法およびユーザ機器
US8832515B2 (en) Block acknowledgement mechanism including sequence number acknowledgement and retry bit
US10567310B2 (en) Real-time data communication over internet of things network
CN102217258B (zh) 探测处理方法、数据发送端、数据接收端以及通信***
JP5215413B2 (ja) 再送プロトコルのためのステータス報告
CN112436994B (zh) 一种数据传输方法及电子设备
WO2013135196A1 (zh) 数据包传输方法及***、发送端设备与接收端设备
JP6806411B2 (ja) コネクションレス伝送における同期維持のためのシステムおよび方法
JP6640363B2 (ja) 可変長のブロック確認応答のためのシステムおよび方法
US6553032B1 (en) Packeting timeout spoofing in a wireless data communications network
CN111770428B (zh) 一种无线设备的监听方法
TWI358922B (en) Method and apparatus of default timer configuratio
CN107104902B (zh) 一种rdma数据传输的方法、相关装置与***
WO2015066836A1 (zh) 视频业务数据传输方法、数据接收装置和数据发送装置
WO2018228477A1 (zh) 通信方法、网络设备和终端
CN108886713B (zh) 一种数据传输方法、数据接收设备及数据发送设备
CN108173851B (zh) 一种用于空间信息网络的高效多媒体传输方法
CN114979839A (zh) 一种传输控制协议代理方法及通信装置
WO2017185353A1 (zh) 一种传输控制协议tcp报文的传输方法、设备及***
WO2022083371A1 (zh) 一种数据传输方法和装置
US20030137948A1 (en) Retransmission control in wireless packet data networks
WO2016154831A1 (zh) 一种实现传输控制协议tcp传输的方法及装置
TWI826994B (zh) 一種實體層控制資訊的傳輸方法和裝置
WO2018218996A1 (zh) 数据包传输方法及设备
WO2017067224A1 (zh) 一种报文处理方法及装置

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: 21881790

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: 21881790

Country of ref document: EP

Kind code of ref document: A1