WO2022199558A1 - 一种数据传输方法、相关装置以及设备 - Google Patents

一种数据传输方法、相关装置以及设备 Download PDF

Info

Publication number
WO2022199558A1
WO2022199558A1 PCT/CN2022/082137 CN2022082137W WO2022199558A1 WO 2022199558 A1 WO2022199558 A1 WO 2022199558A1 CN 2022082137 W CN2022082137 W CN 2022082137W WO 2022199558 A1 WO2022199558 A1 WO 2022199558A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
packet
message
message data
encapsulated
Prior art date
Application number
PCT/CN2022/082137
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 华为技术有限公司
Priority to EP22774215.2A priority Critical patent/EP4304134A1/en
Publication of WO2022199558A1 publication Critical patent/WO2022199558A1/zh
Priority to US18/370,563 priority patent/US20240014958A1/en

Links

Images

Classifications

    • 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/0044Arrangements for allocating sub-channels of the transmission path allocation of payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • 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
    • 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
    • H04L1/1642Formats specially adapted for sequence numbers
    • 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
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders

Definitions

  • the embodiments of the present application relate to the field of communications, and in particular, to a data transmission method, related apparatus, and device.
  • 5G 5th generation mobile networks
  • 5G is in Business applications (5G to Business, 5G toB) include but are not limited to security monitoring, industrial manufacturing, power grids, smart medical care and smart education.
  • the 5G communication standard can meet the real-time and stability requirements of industrial communication, and promote the application innovation of industrial technology.
  • technical challenges such as bandwidth, delay, slicing, and edge-cloud collaboration that need to be overcome.
  • network, and edge layers have the ability to collaborate to realize the intelligence in the field of industrial manufacturing.
  • industrial scenarios are especially sensitive to network reliability, delay, and jitter. Therefore, how to solve these problems at the network level determines whether 5G can be commercialized on a large scale in the industrial manufacturing field.
  • WIFI wireless-Fidelity
  • the present application provides a data transmission method, a related device, and a device. After the receiving end device unpacks the encapsulated message data, it can be determined that the obtained message data is sent according to the transmission order according to the included message sequence number. It is ensured that the data is sent in the order of transmission, thereby improving the reliability of data transmission. Secondly, the sending end device sends the encapsulated packet data through multiple communication links, so the data transmission delay can be reduced.
  • a first aspect of the present application provides a data transmission method, and the method can be executed by a receiving end device, or can also be executed by a chip configured in the receiving end device, which is not limited in this application.
  • the receiving end device first receives multiple encapsulated packet data sent by the transmitting end device through the communication link, and the multiple encapsulated packet data is obtained by encapsulating multiple packet data according to the transmission order, and Each encapsulated packet data includes packet data and a packet sequence number.
  • the packet sequence number indicates the order of the corresponding encapsulated packet data in multiple encapsulated packet data.
  • Each encapsulated packet data The order of the multiple encapsulated packet data is consistent with the transmission order.
  • the multiple encapsulated packet data is unpacked to obtain multiple packet data and the packet sequence numbers of the multiple packet data, and the transmission order is determined according to the packet sequence numbers of the multiple packet data, and finally according to the transmission sequence.
  • the receiving end after the receiving end unpacks the encapsulated message data, it can be determined by the included message sequence number that the obtained message data is sent according to the transmission order, ensuring that the data is sent according to the transmission order. This improves the reliability of data transmission.
  • the encapsulated packet data further includes indication information, and the indication information is used to indicate the target packet loss processing strategy. Therefore, the receiving end device receives the data sent by the transmitting end device through the communication link. Before multiple encapsulated packet data, the receiving end device also needs to send a confirmation message to the transmitting end device, the confirmation message indicating that the receiving end device supports the target packet loss processing policy.
  • the sending end device can also encapsulate the indication information indicating the target packet loss processing strategy during the encapsulation process based on the acknowledgment message. Therefore,
  • the encapsulated packet data can include indication information, so that when the receiving end device determines that packet loss occurs, it can perform packet loss processing based on the target packet loss processing policy indicated by the indication information, thereby ensuring that data can be transmitted in an orderly manner, and further. Improve the reliability of data transmission.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is adjacent message data.
  • the receiving end device can unpack a plurality of encapsulated packet data to obtain the second packet data and the packet sequence number of the second packet data, and then determine according to the packet sequence number of the second packet data
  • the second packet data is sent after the first packet data. If the receiving end device can determine that the first packet data has been sent, the first packet data and the second packet data are adjacent packet data. , so that the second packet data can be sent, and at this time, the second packet data is sent according to the transmission order.
  • the receiving end device after the receiving end device unpacks the encapsulated packet data, it can wait for the packet data included in the encapsulated packet data, and determine the transmission order according to the packet sequence number of the packet data, When the previous message data of the message data has been sent, it can be determined that no packets are lost at this time, so the message data can be sent continuously, and the data transmission at this time is sequence-preserving, thereby improving the reliability of data transmission. sex.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is non-adjacent message data.
  • the multiple encapsulated packet data received by the receiving end device include non-adjacent packet data, that is, packet loss occurs in the process of data transmission this time.
  • the packet loss processing strategy performs packet loss processing, thereby improving the diversity and feasibility of this solution.
  • the receiving end device performs unpacking processing on a plurality of encapsulated packet data to obtain the second packet data and a report of the second packet data.
  • the message sequence number of the second message data is determined, and the second message data is determined to be sent after the first message data according to the message sequence number of the second message data. If it is determined that the first message data has been sent The message data is non-adjacent message data. If the second message data is directly sent, the order may be out of order. Therefore, the second message data needs to be cached. Based on this, the receiving end device further unpacks the multiple encapsulated packet data.
  • the packet sequence number of the third packet data Indicates that the order of the third message data in the plurality of encapsulated message data is after the order of the first message data in the plurality of encapsulated message data, and the third message data and the first message data
  • the multiple encapsulated packet data is adjacent packet data, that is, the third packet data is the next packet data of the first packet data, and the receiving end device sends the third packet data at this time.
  • the receiving end device caches the packet data (ie, the second packet data) whose transmission sequence indicated by the packet sequence number is wrong. Since the sending end device will send multiple encapsulated packet data from multiple communication links, if the multiple encapsulated packet data received on another communication link is unpacked, the packet data can be obtained.
  • the message data in the correct transmission order indicated by the message serial number that is, the third message data
  • the message data in the correct transmission order indicated by the message serial number can be sent, and the order of data transmission can be guaranteed to meet the requirement of order preservation. , thus ensuring the reliability of data transmission.
  • the receiving end device unpacks multiple encapsulated packet data to obtain second packet data.
  • the target packet loss processing strategy includes the first packet loss processing strategy, and then according to the packet sequence number of the second packet data, it is determined that the second packet data is sent after the first packet data, because The first packet data and the second packet data are non-adjacent packet data. If the second packet data is directly sent, the order may be out of order. Therefore, if it is determined that the first packet data has been sent, The first packet loss processing strategy needs to be implemented.
  • the receiving end device buffers the second packet data, and if the buffering time of the second packet data is greater than the first time threshold, the receiving end device sends the second packet data. If the receiving end device can receive the encapsulated packet data including the third packet data from another communication link within the first time threshold, the third packet is obtained by unpacking the encapsulated packet data. message data, and send the third message data.
  • the first time threshold may be the minimum value (for example, 10 milliseconds (ms)) that can be tolerated by the services corresponding to the multiple packet data, or the first time threshold may also be the value set by the multiple packet data.
  • the maximum value for example, 1 second (s) that the corresponding service can tolerate in the cache, which is not limited in this embodiment.
  • the missing packet data (for example, the third packet data) can be optionally discarded upon subsequent arrivals Or forwarding to reduce the delay caused by buffering the packet data, thereby reducing the delay of data transmission.
  • the first time threshold is the maximum value that can be tolerated by the services corresponding to the multiple packet data, so that the receiving end device can wait as much as possible for the arrival of the missing packet data (for example, the third packet data), It can ensure the order of data transmission and the reliability of data transmission.
  • the receiving end device unpacks multiple encapsulated packet data to obtain second packet data.
  • the target packet loss processing strategy includes the second packet loss processing strategy, and then according to the packet sequence number of the second packet data, it is determined that the second packet data is sent after the first packet data, because The first packet data and the second packet data are non-adjacent packet data. If the second packet data is directly sent, the order may be out of order. Therefore, if it is determined that the first packet data has been sent, The second packet loss processing strategy needs to be implemented.
  • the receiving end device determines a first time point at which the first encapsulated packet data is received and a second time point at which the second encapsulated packet data is received, and the first encapsulated packet data includes the first The packet data, the second encapsulated packet data includes the second packet data, and when the difference between the first time point and the second time point is greater than the second time threshold, the receiving end device sends the second packet data.
  • the transmission time interval of multiple data packets to 10ms to transmit packet data, and use 13ms as the second time threshold. If two adjacent encapsulated packet data are received If the time interval is greater than 13ms, there may be problems with the data transmission link or operation.
  • the target packet loss processing strategy may also include a first packet loss processing strategy and a second packet loss processing strategy, that is, data transmission is processed based on jitter and delay, or jitter and sequence preservation, and no further processing is performed here. Repeat.
  • some services have higher requirements on jitter time, that is, it is expected that multiple data packets can be transmitted within a certain time interval.
  • jitter time based on this, when the time interval between two adjacent encapsulated packet data is greater than the second time threshold, even if the packet data obtained from unpacking is in the incorrect transmission order, it will still be sent. It is guaranteed that some services with high jitter time requirements can be guaranteed, thereby improving the flexibility and feasibility of data transmission.
  • the receiving end device unpacks multiple encapsulated packet data to obtain second packet data.
  • file sequence number and target packet loss processing strategy the target packet loss processing strategy includes a third packet loss processing strategy, and then according to the packet sequence number of the second packet data, it is determined that the second packet data is sent after the first packet data, because The first packet data and the second packet data are non-adjacent packet data. If the second packet data is directly sent, the order may be out of order. Therefore, if it is determined that the first packet data has been sent, A third packet loss processing strategy needs to be implemented.
  • the receiving end device buffers the data of the second packet, and when the receiving end device does not obtain the third packet data within the two-way link delay RTT threshold, it sends data request information to the transmitting end device, and the data request information carries the first packet.
  • the message sequence number of the three-packet data, the data request information is used to instruct the sender device to determine the third message data according to the message sequence number of the third message data, and send the third message to the receiver device through the target communication link data, the target communication link is the communication link with the smallest RTT, and the RTT threshold is determined according to the RTT of the target communication link.
  • the receiving end device unpacks multiple encapsulated packet data obtained by other communication links after sending the data request information, if the third packet data can be obtained, it does not wait for the transmitting end.
  • the device retransmits the third packet data, but directly sends the third packet data obtained by unpacking.
  • the receiving end device fails to obtain the third packet data through unpacking processing after sending the data request information, it needs to wait for the transmitting end device to retransmit the third packet data, and then send it again.
  • the above two situations may occur, and how the receiving end device acquires the third packet data is not specifically limited.
  • the target packet loss processing policy may further include a combination of at least one of the first packet loss processing policy, the second packet loss processing policy, and the third packet loss processing policy, which will not be described further herein.
  • the RTT threshold before the RTT threshold has not yet received the packets of the encapsulated packet data sent by other communication links, by actively requesting data from the sender device for information, that is, a re-request for packet loss is performed, and the packet with the smallest RTT is re-requested.
  • the communication link receives the resent packet data, which can reduce the buffer waiting time and the possibility of packet loss, so as to optimize the balance between packet loss and delay, improve the efficiency of data transmission, and reduce the delay of data transmission. And can ensure the reliability of data transmission.
  • the receiving end device detects the RTT of each communication link to determine the RTT of each communication link, and then assigns the RTT of each communication link to the communication link with the smallest RTT
  • the target communication link is determined, and the RTT threshold is determined according to the RTT of the target communication link.
  • the time of 1/2 of the RTT of the target communication link is determined as the RTT threshold.
  • the RTT threshold may be 1/3 of the RTT of the target communication link. Flexible requirements.
  • the sender can retransmit the data with the communication link with the smallest RTT after determining the packet data of the lost packets, thereby reducing the buffering waiting time. Further to reduce the delay of data transmission.
  • the receiving end device can receive multiple encapsulated original packet data and multiple redundant data sent by the transmitting end device through the original communication link, wherein the original packet data is The message data that has not been copied, the original communication link is the communication link that sends the original data message, and the redundant data is to group multiple message data according to preset conditions, and to group multiple messages belonging to the same group.
  • the data is generated by forward coding error correction (forward error correction, FEC) coding, and the multiple encapsulated original packet data belonging to the same group and the redundant data corresponding to each group include the same group identifier.
  • FEC forward error correction
  • the multiple message data that has not been copied is the most complete and has a lower error rate
  • FEC encoding such multiple message data can generate redundant data with higher accuracy
  • the most accurate and error-free data can be obtained when the redundant data is used to repair the message data subsequently, and the reliability of the data transmission can be further ensured.
  • the first packet data, the second packet data and the third packet data are all original packet data
  • the first packet data, the second packet data and the third packet data are all original packet data
  • the three-packet data includes the same group identifier, and redundant data including the same group identifier as the first packet data, the second packet data, and the third packet data is the target redundant data.
  • the receiving end device Based on the occurrence of packet loss, unpacks multiple encapsulated packet data to obtain the second packet data, the packet sequence number of the second packet data, and the target packet loss processing policy, where the target The packet loss processing strategy includes a fourth packet loss processing strategy, and then the second packet data is determined to be sent after the first packet data according to the packet sequence number of the second packet data.
  • the receiving end device obtains the first packet data from the FEC buffer queue, and then performs repair processing through the first packet data, the second packet data and the target redundant data to obtain the third packet data, and the receiving end device obtains the third packet data. Send the third message data.
  • the receiving end device can obtain the third packet data by unpacking multiple encapsulated packet data obtained from other communication links when performing the repair processing, it will not continue the repair processing, but The third packet data obtained by unpacking is directly sent. Secondly, if the receiving end device fails to obtain the third packet data through the unpacking processing when performing the repair processing, it needs to wait for the repair processing to obtain the third packet data, and then send it. In practical applications, the above two Any situation may occur, and the method for acquiring the third packet data sent by the receiving end device is not specifically limited.
  • the first message data, the second message data and the third message data are all original message data, that is, the target redundant data is based on the first message data, the second message data and the When the third message data is generated, the message data is repaired through redundant data with higher accuracy, so that the most accurate and error-free third message data can be obtained, which further ensures the reliability of data transmission.
  • the second aspect of the present application provides another data transmission method, and the method can be executed by the sending end device, or can also be executed by a chip configured in the sending end device, which is not limited in this application.
  • the sending end device obtains a plurality of message data according to the transmission order, and then encapsulates the plurality of message data according to the transmission order to obtain a plurality of encapsulated message data, and each encapsulated message data includes a message
  • the data and the message sequence number, and the message sequence number indicates the order of the corresponding encapsulated message data in the multiple encapsulated message data, and the order of each encapsulated message data is in the multiple encapsulated message data.
  • the order in the data is consistent with the transmission order, and then multiple encapsulated packet data are sent to the receiving end device according to the transmission order through N communication links, where N is an integer greater than or equal to 2.
  • the sending end device can send the encapsulated packet data through multiple communication links, which can improve the data transmission efficiency, and thus can reduce the data transmission delay.
  • each encapsulated packet data further includes indication information, where the indication information is used to indicate the target packet loss processing strategy, so the sending end device needs to receive the confirmation sent by the receiving end device message, wherein the acknowledgment message indicates that the receiving end device supports the target packet loss processing policy.
  • the sending end device can also encapsulate the indication information indicating the target packet loss processing strategy during the encapsulation process based on the acknowledgment message. Therefore, In the case of packet loss at the receiving end device, packet loss processing can be performed based on the target packet loss processing policy indicated by the indication information, thereby ensuring that data can be transmitted in an orderly manner, thereby improving the reliability of data transmission.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is adjacent message data.
  • the multiple encapsulated packet data includes the first packet data and the second packet data, and are adjacent packet data, that is, it can be determined that the receiving end device has received multiple packets according to the transmission order.
  • the encapsulated packet data that is, no packet loss occurs, makes the data transmission continued by the receiving end device in an order-preserving manner, thereby improving the reliability of data transmission.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is non-adjacent message data.
  • the receiving end device since the first packet data and the second packet data are non-adjacent packet data, it can be determined that packet loss occurs in the process of sending multiple encapsulated packet data to the receiving end device In some cases, the receiving end device needs to perform packet loss processing based on the packet loss processing policy, thereby improving the diversity and feasibility of this solution.
  • the target packet loss processing policy includes a first packet loss processing policy.
  • the first packet loss processing strategy is that the receiving end device buffers the second packet data, and when the buffering time of the second packet data is greater than the first time threshold, the receiving end device sends the second packet data.
  • the receiving end device in the case of packet loss, can perform packet loss processing through the target packet loss processing policy included in the encapsulated packet data, thereby improving the feasibility of the solution. Secondly, the device at the receiving end can ensure the order preservation of data transmission and ensure the reliability of data transmission.
  • the target packet loss processing policy includes a second packet loss processing policy.
  • the second packet loss processing strategy is that the receiving end device determines a first time point at which the first encapsulated packet data is received and a second time point at which the second encapsulated packet data is received. The latter packet data includes the first packet data, and the second encapsulated packet data includes the second packet data. If the difference between the first time point and the second time point is greater than the second time threshold, the receiving end device sends the second packet data. Two message data.
  • the receiving end device in the case of packet loss, can perform packet loss processing through the target packet loss processing policy included in the encapsulated packet data, thereby improving the feasibility of the solution. Secondly, it enables the receiving end device to improve the flexibility and feasibility of data transmission.
  • the target packet loss processing policy includes a third packet loss processing policy.
  • the third packet loss processing strategy is that the receiving end device caches the second packet data, and if the receiving end device does not obtain the third packet data within the two-way link delay RTT threshold, it sends data request information to the transmitting end device.
  • the data request information carries the message sequence number of the third message data, and the data request information is used to instruct the sending end device to determine the third message data according to the message sequence number of the third message data, and send the data to the receiver through the target communication link.
  • the end device sends the third packet data, the target communication link is the communication link with the smallest RTT, and the RTT threshold is determined according to the RTT of the target communication link, and then the receiving end device obtains the third packet data, and sends the third packet. message data.
  • the receiving end device in the case of packet loss, can perform packet loss processing through the target packet loss processing policy included in the encapsulated packet data, thereby improving the feasibility of the solution. Secondly, it enables the receiving end device to reduce the buffer waiting time and the possibility of packet loss, so as to optimize the balance between packet loss and delay, improve the efficiency of data transmission, reduce the delay of data transmission, and ensure the reliability of data transmission. sex.
  • the sending end device may also receive data request information sent by the receiving end device, and determine the third packet data according to the packet sequence number of the third packet data, and finally pass the target communication link The channel sends the third packet data to the receiving end device.
  • the lost packet data is sent through the communication link with the smallest RTT, thereby improving the efficiency of data transmission and reducing the delay of data transmission.
  • the sending end device may further group multiple packet data according to preset conditions, and perform forward coding and error correction FEC encoding on multiple packet data belonging to the same group, Redundant data corresponding to each group is generated, multiple packet data in each group are adjacent, and multiple packet data belonging to the same group and redundant data corresponding to each group include the same group identifier. Based on this, the sending end device encapsulates multiple packet data according to the transmission order, and obtains multiple encapsulated packet data. The multiple encapsulated packet data belonging to the same group and the redundant data corresponding to each packet include the same Group ID. Then, a plurality of message data are copied, and the plurality of copied message data are encapsulated according to the transmission order, so as to obtain a plurality of encapsulated and copied message data.
  • the multiple pieces of packet data are multiple original packet data
  • the multiple encapsulated packet data are multiple encapsulated original packet data
  • the N communication chains The communication link in which multiple encapsulated original packet data are sent in the road is the original communication link.
  • the sending end device can send multiple encapsulated original message data to the receiving end device according to the transmission order through the original communication link, and after the multiple encapsulated original message data including the same group identifier are sent, The redundant data including the same grouping identifier is sent to the receiving end device, and a plurality of encapsulated and replicated message data are sent to the receiving end device according to the transmission order through (N-1) communication links.
  • multiple communication links are selected to send the encapsulated packet data, so that when a packet loss occurs in one or several communication links, the required packet data can be obtained through other communication links to ensure data transmission. reliability.
  • the target packet loss processing policy includes a fourth packet loss processing policy.
  • the fourth packet loss processing strategy is that the receiving end device obtains the first packet data from the FEC buffer queue, and then performs repair processing through the first packet data, the second packet data and the target redundant data to obtain the third packet loss. Is the message data?
  • the first message data, the second message data, and the third message data are all original message data, and the first message data, the second message data, and the third message data include the same
  • the redundant data with the same grouping identifier as the first packet data, the second packet data and the third packet data is the target redundant data, and then the third packet data is sent.
  • the receiving end device can repair the message data through the redundant data with high accuracy, and can obtain the most accurate third message data, and further to ensure the reliability of data transmission.
  • a third aspect of the present application provides another data transmission method, and the method may be executed by a transmitting end device, or may also be executed by a chip configured in the transmitting end device, which is not limited in this application.
  • the sending end device first receives a confirmation message sent by the receiving end device, the confirmation message indicating that the receiving end device supports the target packet loss processing strategy.
  • each encapsulated packet data includes packet data, packet data serial number and indication information, and the message serial number indicates the order of the corresponding encapsulated message data in the multiple encapsulated message data, and the order of each encapsulated message data is in the multiple encapsulated message data.
  • the order in is consistent with the transmission order, and the indication information is used to indicate the target packet loss processing strategy.
  • multiple encapsulated packet data are sent to the receiving end device according to the transmission order through N communication links, where N is greater than or equal to An integer of 2.
  • the sending end device can send the encapsulated packet data through multiple communication links, which can improve the data transmission efficiency, and thus can reduce the data transmission delay.
  • the acknowledgment message can indicate that the receiving end device supports the target packet loss processing strategy
  • the sending end device can also encapsulate the indication information indicating the target packet loss processing strategy based on the acknowledgment message during the encapsulation process.
  • packet loss processing can be performed based on the target packet loss processing policy indicated by the indication information, thereby ensuring that data can be transmitted in an orderly manner, thereby improving the reliability of data transmission.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is adjacent message data.
  • the multiple encapsulated packet data includes the first packet data and the second packet data, and are adjacent packet data, that is, it can be determined that the receiving end device has received multiple packets according to the transmission order.
  • the encapsulated packet data that is, no packet loss occurs, makes the data transmission continued by the receiving end device in an order-preserving manner, thereby improving the reliability of data transmission.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is non-adjacent message data.
  • the receiving end device since the first packet data and the second packet data are non-adjacent packet data, it can be determined that packet loss occurs in the process of sending multiple encapsulated packet data to the receiving end device In some cases, the receiving end device needs to perform packet loss processing based on the packet loss processing policy, thereby improving the diversity and feasibility of this solution.
  • the target packet loss processing policy includes a first packet loss processing policy.
  • the first packet loss processing strategy is that the receiving end device buffers the second packet data, and when the buffering time of the second packet data is greater than the first time threshold, the receiving end device sends the second packet data.
  • the receiving end device in the case of packet loss, can perform packet loss processing through the target packet loss processing policy included in the encapsulated packet data, thereby improving the feasibility of the solution. Secondly, the device at the receiving end can ensure the order preservation of data transmission and ensure the reliability of data transmission.
  • the target packet loss processing policy includes a second packet loss processing policy.
  • the second packet loss processing strategy is that the receiving end device determines a first time point at which the first encapsulated packet data is received and a second time point at which the second encapsulated packet data is received. The latter packet data includes the first packet data, and the second encapsulated packet data includes the second packet data. If the difference between the first time point and the second time point is greater than the second time threshold, the receiving end device sends the second packet data. Two message data.
  • the receiving end device in the case of packet loss, can perform packet loss processing through the target packet loss processing policy included in the encapsulated packet data, thereby improving the feasibility of the solution. Secondly, it enables the receiving end device to improve the flexibility and feasibility of data transmission.
  • the target packet loss processing policy includes a third packet loss processing policy.
  • the third packet loss processing strategy is that the receiving end device caches the second packet data, and if the receiving end device does not obtain the third packet data within the two-way link delay RTT threshold, it sends data request information to the transmitting end device.
  • the data request information carries the message sequence number of the third message data, and the data request information is used to instruct the sending end device to determine the third message data according to the message sequence number of the third message data, and send the data to the receiver through the target communication link.
  • the end device sends the third packet data, the target communication link is the communication link with the smallest RTT, and the RTT threshold is determined according to the RTT of the target communication link, and then the receiving end device obtains the third packet data, and sends the third packet. message data.
  • the receiving end device in the case of packet loss, can perform packet loss processing through the target packet loss processing policy included in the encapsulated packet data, thereby improving the feasibility of the solution. Secondly, it enables the receiving end device to reduce the buffer waiting time and the possibility of packet loss, so as to optimize the balance between packet loss and delay, improve the efficiency of data transmission, reduce the delay of data transmission, and ensure the reliability of data transmission. sex.
  • the sending end device may also receive data request information sent by the receiving end device, and determine the third packet data according to the packet sequence number of the third packet data, and finally pass the target communication link The channel sends the third packet data to the receiving end device.
  • the lost packet data is sent through the communication link with the smallest RTT, thereby improving the efficiency of data transmission and reducing the delay of data transmission.
  • the sending end device may further group multiple packet data according to preset conditions, and perform forward coding and error correction FEC encoding on multiple packet data belonging to the same group, Redundant data corresponding to each group is generated, multiple packet data in each group are adjacent, and multiple packet data belonging to the same group and redundant data corresponding to each group include the same group identifier. Based on this, the sending end device encapsulates multiple packet data according to the transmission order, and obtains multiple encapsulated packet data. The multiple encapsulated packet data belonging to the same group and the redundant data corresponding to each packet include the same Group ID. Then, a plurality of message data are copied, and the plurality of copied message data are encapsulated according to the transmission order, so as to obtain a plurality of encapsulated and copied message data.
  • the multiple pieces of packet data are multiple original packet data
  • the multiple encapsulated packet data are multiple encapsulated original packet data
  • the N communication chains The communication link in which multiple encapsulated original packet data are sent in the road is the original communication link.
  • the sending end device can send multiple encapsulated original message data to the receiving end device according to the transmission order through the original communication link, and after the multiple encapsulated original message data including the same group identifier are sent, The redundant data including the same grouping identifier is sent to the receiving end device, and a plurality of encapsulated and replicated message data are sent to the receiving end device according to the transmission order through (N-1) communication links.
  • multiple communication links are selected to send the encapsulated packet data, so that when a packet loss occurs in one or several communication links, the required packet data can be obtained through other communication links to ensure data transmission. reliability.
  • the target packet loss processing policy includes a fourth packet loss processing policy.
  • the fourth packet loss processing strategy is that the receiving end device obtains the first packet data from the FEC buffer queue, and then performs repair processing through the first packet data, the second packet data and the target redundant data to obtain the third packet loss. Is the message data?
  • the first message data, the second message data, and the third message data are all original message data, and the first message data, the second message data, and the third message data include the same
  • the redundant data with the same grouping identifier as the first packet data, the second packet data and the third packet data is the target redundant data, and then the third packet data is sent.
  • the receiving end device can repair the message data through the redundant data with high accuracy, and can obtain the most accurate third message data, and further to ensure the reliability of data transmission.
  • a fourth aspect of the present application provides a data transmission device, comprising:
  • the communication module is used to receive multiple encapsulated packet data sent by the sending end device through the communication link, wherein the multiple encapsulated packet data is obtained by encapsulating multiple packet data according to the transmission order.
  • the encapsulated message data includes the message data and the message sequence number.
  • the message sequence number indicates the order of the corresponding encapsulated message data in the multiple encapsulated message data.
  • the order of each encapsulated message data is in The order in the multiple encapsulated message data is consistent with the transmission order;
  • the processing module is used for unpacking the multiple encapsulated packet data to obtain multiple packet data and packet serial numbers of multiple packet data;
  • the processing module is also used to determine the transmission order according to the message sequence numbers of the multiple message data
  • the communication module is also used for sending a plurality of message data according to the transmission order.
  • the encapsulated packet data further includes indication information, where the indication information is used to indicate a target packet loss processing policy
  • the communication module is further configured to send an acknowledgment message to the sender device before receiving multiple encapsulated packet data sent by the sender device through the communication link, wherein the acknowledgment message indicates that the receiver device supports the target packet loss processing strategy.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is adjacent message data;
  • a processing module which is specifically configured to perform unpacking processing on a plurality of encapsulated packet data to obtain the second packet data and the packet sequence number of the second packet data;
  • a processing module specifically configured to determine that the second message data is sent after the first message data according to the message sequence number of the second message data
  • the communication module is specifically configured to send the second message data if it is determined that the first message data has been sent.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is non-adjacent message data.
  • the processing module is specifically configured to perform unpacking processing on a plurality of encapsulated packet data to obtain the second packet data and the packet sequence number of the second packet data;
  • a processing module specifically configured to determine that the second message data is sent after the first message data according to the message sequence number of the second message data
  • a communication module specifically configured to cache the second message data if it is determined that the first message data has been sent
  • the order of the encapsulated packet data is after the order of the first packet data in the multiple encapsulated packet data, and the third packet data and the first packet data are in multiple encapsulated packets.
  • the data is adjacent message data;
  • the processing module is specifically configured to perform unpacking processing on a plurality of encapsulated packet data to obtain second packet data, a packet sequence number of the second packet data, and a destination a packet loss processing policy, wherein the target packet loss processing policy includes a first packet loss processing policy;
  • a processing module specifically configured to determine that the second message data is sent after the first message data according to the message sequence number of the second message data
  • a communication module specifically configured to execute the first packet loss processing strategy if it is determined that the first packet data has been sent
  • the second packet data is sent.
  • the processing module is specifically configured to perform unpacking processing on a plurality of encapsulated packet data to obtain second packet data, a packet sequence number of the second packet data, and a destination a packet loss processing policy, wherein the target packet loss processing policy includes a second packet loss processing policy;
  • a processing module specifically configured to determine that the second message data is sent after the first message data according to the message sequence number of the second message data
  • a communication module specifically configured to execute the second packet loss processing strategy if it is determined that the first packet data has been sent
  • the second packet data is sent.
  • the processing module is specifically configured to perform unpacking processing on a plurality of encapsulated packet data to obtain second packet data, a packet sequence number of the second packet data, and a destination a packet loss processing strategy, wherein the target packet loss processing strategy includes a third packet loss processing strategy;
  • a processing module specifically configured to determine that the second message data is sent after the first message data according to the message sequence number of the second message data
  • a communication module specifically configured to execute the third packet loss processing strategy if it is determined that the first packet data has been sent
  • the data request information is sent to the sender device, wherein the data request information carries the packet sequence number of the third packet data, and the data request information is used to indicate
  • the sending end device determines the third message data according to the message sequence number of the third message data, and sends the third message data to the receiving end device through the target communication link, where the target communication link is the communication link with the smallest RTT, and
  • the RTT threshold is determined based on the RTT of the target communication link;
  • the receiving end device obtains the third packet data, and sends the third packet data.
  • the processing module is further configured to detect the RTT of each communication link to determine the RTT of each communication link;
  • the processing module is also used to determine the communication link with the smallest RTT among the RTTs of each communication link as the target communication link;
  • the processing module is further configured to determine the RTT threshold according to the RTT of the target communication link.
  • the communication module is specifically configured to receive multiple encapsulated original packet data and multiple redundant data sent by the sending end device through the original communication link, wherein the original packet The data is the message data that has not been copied, the original communication link is the communication link that sends the original data message, and the redundant data is the grouping of multiple message data according to preset conditions, and the The message data is generated by performing forward coding and error correction FEC coding, and the multiple encapsulated original message data belonging to the same group and the redundant data corresponding to each group include the same group identifier.
  • the first packet data, the second packet data and the third packet data are all original packet data, and the first packet data, the second packet data and the third packet data are all original packet data.
  • the three-packet data includes the same grouping identifier, and redundant data that includes the same grouping identifier as the first packet data, the second packet data, and the third packet data is the target redundant data;
  • the processing module is specifically configured to perform unpacking processing on a plurality of encapsulated packet data to obtain second packet data, a packet sequence number of the second packet data, and a target packet loss processing strategy, wherein the target packet loss processing strategy Including the fourth packet loss processing strategy;
  • a processing module specifically configured to determine that the second message data is sent after the first message data according to the message sequence number of the second message data
  • the communication module is specifically configured to execute the fourth packet loss processing strategy if it is determined that the first packet data has been sent and the first packet data is buffered in the FEC buffer queue;
  • the third message data is obtained by performing repair processing on the first message data, the second message data and the target redundant data;
  • a fifth aspect of the present application provides another data transmission device, comprising:
  • the communication module is used to obtain a plurality of message data according to the transmission order
  • the processing module is used to encapsulate a plurality of packet data according to the transmission order to obtain a plurality of encapsulated packet data, wherein each encapsulated packet data includes packet data and a packet sequence number, and the packet sequence number indicates the corresponding
  • the order of the encapsulated message data in the multiple encapsulated message data, and the order of each encapsulated message data in the multiple encapsulated message data is consistent with the transmission order;
  • the communication module is further configured to send a plurality of encapsulated packet data to the receiving end device according to the transmission order through the N communication links, N ⁇ 2.
  • each encapsulated packet data further includes indication information, where the indication information is used to indicate a target packet loss processing policy
  • the communication module is further configured to receive an acknowledgment message sent by the receiving end device before encapsulating a plurality of message data according to the transmission order to obtain a plurality of encapsulated message data, wherein the acknowledgment message indicates that the receiving end device supports the target packet loss processing Strategy.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is adjacent message data.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is non-adjacent message data.
  • the target packet loss processing policy includes a first packet loss processing policy
  • the first packet loss processing strategy is that the receiving end device caches the second packet data
  • the receiving end device sends the second packet data.
  • the target packet loss processing policy includes a second packet loss processing policy
  • the second packet loss processing strategy is for the receiving end device to determine the first time point at which the first encapsulated packet data is received and the second time point at which the second encapsulated packet data is received, wherein the first encapsulated packet data is The message data includes the first message data, and the second encapsulated message data includes the second message data;
  • the receiving end device sends the second packet data.
  • the target packet loss processing policy includes a third packet loss processing policy
  • the third packet loss processing strategy is that the receiving end device caches the second packet data
  • the receiving end device If the receiving end device does not obtain the third packet data within the two-way link delay RTT threshold, it sends data request information to the transmitting end device, wherein the data request information carries the packet serial number of the third packet data, the data request information It is used to instruct the sending end device to determine the third message data according to the message sequence number of the third message data, and send the third message data to the receiving end device through the target communication link.
  • the target communication link is the communication link with the smallest RTT. route, and the RTT threshold is determined according to the RTT of the target communication link;
  • the receiving end device obtains the third packet data, and sends the third packet data.
  • the communication module is further configured to receive data request information sent by the receiving end device;
  • the processing module is further configured to determine the third message data according to the message sequence number of the third message data,
  • the communication module is further configured to send the third message data to the receiving end device through the target communication link.
  • the processing module is further configured to group multiple packet data according to preset conditions, and perform forward coding and error correction FEC encoding on multiple packet data belonging to the same group , generate redundant data corresponding to each group, wherein the multiple message data in each group are adjacent, and the multiple message data belonging to the same group and the redundant data corresponding to each group include the same group identification;
  • the processing module is specifically used to encapsulate a plurality of packet data according to the transmission order to obtain a plurality of encapsulated packet data, wherein the multiple encapsulated packet data belonging to the same group and the redundant data corresponding to each group include: the same group ID;
  • a plurality of message data are copied, and the plurality of copied message data are encapsulated according to the transmission order to obtain a plurality of encapsulated and copied message data.
  • the multiple pieces of packet data are multiple original packet data
  • the multiple encapsulated packet data are multiple encapsulated original packet data
  • the N communication chains The communication link for sending multiple encapsulated original message data in the road is the original communication link
  • the communication module is specifically used to send multiple encapsulated original packet data to the receiving end device according to the transmission order through the original communication link, and after the multiple encapsulated original packet data including the same group identifier is sent, send the packet to the receiving end device.
  • the receiving end device sends redundant data including the same group identification;
  • the target packet loss processing strategy includes a fourth packet loss processing strategy
  • the fourth packet loss processing strategy is that when the receiving end device obtains the second packet data and the target redundant data, and the first packet data has been sent, and the receiving end device does not obtain the third packet data, the FEC cache queue
  • the first message data is obtained in the
  • the message data includes the same grouping identifier, and redundant data including the same grouping identifier as the first message data, the second message data and the third message data is the target redundant data;
  • the receiving end device performs repair processing on the first message data, the second message data and the target redundant data, obtains the third message data, and sends the third message data.
  • a sixth aspect of the present application provides another data transmission device, comprising:
  • a communication module configured to receive a confirmation message sent by the receiving end device, wherein the confirmation message indicates that the receiving end device supports the target packet loss processing strategy
  • the communication module is also used to obtain a plurality of message data according to the transmission order;
  • the processing module is used to encapsulate a plurality of message data according to the transmission order, and obtain a plurality of encapsulated message data, wherein each encapsulated message data includes message data, message serial number and indication information, message serial number Indicates the order of the corresponding encapsulated packet data in multiple encapsulated packet data, and the order of each encapsulated packet data in the multiple encapsulated packet data is consistent with the transmission order, indicating The information is used to indicate the target packet loss processing strategy;
  • the communication module is further configured to send a plurality of encapsulated packet data to the receiving end device according to the transmission order through the N communication links, N ⁇ 2.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is adjacent message data.
  • the plurality of encapsulated packet data includes first packet data and second packet data, and the packet sequence number of the first packet data indicates that the first packet data is in the The order of the multiple encapsulated packet data is prior to the order of the second packet data in the multiple encapsulated packet data, and the first packet data and the second packet data are in the multiple encapsulated packet data.
  • the message data is non-adjacent message data.
  • the target packet loss processing policy includes a first packet loss processing policy
  • the first packet loss processing strategy is that the receiving end device caches the second packet data
  • the receiving end device sends the second packet data.
  • the target packet loss processing policy includes a second packet loss processing policy
  • the second packet loss processing strategy is for the receiving end device to determine the first time point at which the first encapsulated packet data is received and the second time point at which the second encapsulated packet data is received, wherein the first encapsulated packet data is The message data includes the first message data, and the second encapsulated message data includes the second message data;
  • the receiving end device sends the second packet data.
  • the target packet loss processing strategy includes a third packet loss processing strategy
  • the third packet loss processing strategy is that the receiving end device caches the second packet data
  • the receiving end device If the receiving end device does not obtain the third packet data within the two-way link delay RTT threshold, it sends data request information to the transmitting end device, wherein the data request information carries the packet serial number of the third packet data, the data request information It is used to instruct the sending end device to determine the third message data according to the message sequence number of the third message data, and send the third message data to the receiving end device through the target communication link.
  • the target communication link is the communication link with the smallest RTT. route, and the RTT threshold is determined according to the RTT of the target communication link;
  • the receiving end device obtains the third packet data, and sends the third packet data.
  • the communication module is further configured to receive data request information sent by the receiving end device;
  • the processing module is further configured to determine the third message data according to the message sequence number of the third message data
  • the communication module is further configured to send the third message data to the receiving end device through the target communication link.
  • the processing module is further configured to group multiple packet data according to preset conditions, and perform forward coding and error correction FEC encoding on multiple packet data belonging to the same group , generate redundant data corresponding to each group, wherein the multiple message data in each group are adjacent, and the multiple message data belonging to the same group and the redundant data corresponding to each group include the same group identification;
  • the processing module is specifically used to encapsulate a plurality of packet data according to the transmission order to obtain a plurality of encapsulated packet data, wherein the multiple encapsulated packet data belonging to the same group and the redundant data corresponding to each group include: the same group ID;
  • a plurality of message data are copied, and the plurality of copied message data are encapsulated according to the transmission order to obtain a plurality of encapsulated and copied message data.
  • the multiple pieces of packet data are multiple original packet data
  • the multiple encapsulated packet data are multiple encapsulated original packet data
  • the N communication chains The communication link for sending multiple encapsulated original message data in the road is the original communication link
  • the communication module is specifically used to send multiple encapsulated original packet data to the receiving end device according to the transmission order through the original communication link, and after the multiple encapsulated original packet data including the same group identifier is sent, send the packet to the receiving end device.
  • the receiving end device sends redundant data including the same group identification;
  • the target packet loss processing strategy includes a fourth packet loss processing strategy
  • the fourth packet loss processing strategy is that when the receiving end device obtains the second packet data and the target redundant data, and the first packet data has been sent, and the receiving end device does not obtain the third packet data, the FEC cache queue
  • the first message data is obtained in the
  • the message data includes the same grouping identifier, and redundant data including the same grouping identifier as the first message data, the second message data and the third message data is the target redundant data;
  • the receiving end device performs repair processing on the first message data, the second message data and the target redundant data, obtains the third message data, and sends the third message data.
  • a seventh aspect of the present application provides a transmitter device, including a processor.
  • the processor is coupled to the memory and can be used to execute instructions in the memory to implement the method in any one of the possible implementations of the first aspect above.
  • the sending end device further includes a memory.
  • the sending end device further includes a communication interface, the processor is coupled to the communication interface, the communication interface is used for inputting and/or outputting information, and the information includes at least one of instructions and data.
  • the transmitting end device is a chip or a chip system configured in the receiving end device.
  • the communication interface may be an input/output interface, an interface circuit, an output circuit, an input circuit, a pin or a related circuit, etc.
  • the processor may also be embodied as a processing circuit or a logic circuit.
  • An eighth aspect of the present application provides a receiving end device, including a processor.
  • the processor is coupled to the memory and can be used to execute the instructions in the memory to implement the method in any possible implementation manner of the second aspect above, or to implement the method in any possible implementation manner of the third aspect above .
  • the receiving end device further includes a memory.
  • the receiving end device further includes a communication interface, the processor is coupled to the communication interface, the communication interface is used for inputting and/or outputting information, and the information includes at least one of instructions and data.
  • the receiving end device is a chip or a chip system configured in the receiving end device.
  • the communication interface may be an input/output interface, an interface circuit, an output circuit, an input circuit, a pin or a related circuit, etc.
  • the processor may also be embodied as a processing circuit or a logic circuit.
  • the memory can be a non-transitory memory, such as a read only memory (ROM), which can be integrated with the processor on the same chip, or can be separately set in different On the chip, the embodiment of the present application does not limit the type of the memory and the setting manner of the memory and the processor.
  • ROM read only memory
  • sending a message may be a process of outputting a message from the processor
  • receiving a message may be a process of inputting a received message to the processor.
  • the information output by the processing can be output to the transmitter, and the input information received by the processor can be from the receiver.
  • the transmitter and the receiver may be collectively referred to as a transceiver.
  • a ninth aspect of the present application provides a processor, including: an input circuit, an output circuit, and a processing circuit.
  • the processing circuit is configured to receive a signal through the input circuit and transmit a signal through the output circuit, so that the processor executes the method in any of the possible implementation manners of the first aspect, or executes the second The method in any one of the possible implementations of the aspect, or the method in any one of the possible implementations of the third aspect above is performed.
  • the above-mentioned processor may be a chip
  • the input circuit may be an input pin
  • the output circuit may be an output pin
  • the processing circuit may be a transistor, a gate circuit, a flip-flop, and various logic circuits.
  • the input signal received by the input circuit may be received and input by, for example, but not limited to, a receiver
  • the signal output by the output circuit may be, for example, but not limited to, output to and transmitted by a transmitter
  • the circuit can be the same circuit that acts as an input circuit and an output circuit at different times.
  • the embodiments of the present application do not limit the specific implementation manners of the processor and various circuits.
  • a tenth aspect of the present application provides a communication system, including a sending end device and a receiving end device, the sending end device executes the method in any of the possible implementation manners of the first aspect above, and the receiving end device executes the method in the second aspect above.
  • the method in any one of the possible implementations, or the method in any one of the possible implementations of the third aspect above.
  • An eleventh aspect of the present application provides a computer program product, the computer program product comprising: a computer program (also referred to as code, or instructions), which, when the computer program is run, causes a computer to execute the above-mentioned first
  • a computer program also referred to as code, or instructions
  • the method in any possible implementation manner of the aspect, or, performing the method in any one possible implementation manner of the foregoing second aspect, or performing the method in any one possible implementation manner of the foregoing third aspect.
  • a twelfth aspect of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program (which may also be referred to as code, or instructions) that, when executed on a computer, causes the computer to execute the above-mentioned
  • a computer program which may also be referred to as code, or instructions
  • a thirteenth aspect of the present application provides a non-volatile computer-readable storage medium, where the non-volatile computer-readable storage medium stores a computer program (also referred to as code, or instruction) when the non-volatile computer-readable storage medium is stored in a computer
  • a computer program also referred to as code, or instruction
  • a fourteenth aspect of 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 receiving end
  • the device implements the functions involved in the first aspect, or implements the functions involved in the second aspect, or implements the functions involved in the third aspect.
  • the chip system further includes a memory, and the memory is used to save necessary program instructions and data of the receiving end 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 system framework in an embodiment of the application.
  • FIG. 2 is a schematic diagram of an application scenario in an embodiment of the present application.
  • FIG. 3 is a schematic diagram of an interaction flow of a method for data transmission in an embodiment of the present application.
  • FIG. 4 is a schematic diagram of an embodiment of obtaining a plurality of message data according to the transmission order in the embodiment of the present application;
  • FIG. 5 is a schematic diagram of an embodiment of encapsulating message data in an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another embodiment of encapsulating packet data in an embodiment of the present application.
  • FIG. 7 is a schematic diagram of an embodiment of sending multiple encapsulated message data through multiple communication links in an embodiment of the present application
  • FIG. 8 is a schematic diagram of another interaction flow of the method for data transmission in the embodiment of the present application.
  • FIG. 9 is a schematic diagram of another interaction flow of the method for data transmission in the embodiment of the present application.
  • FIG. 10 is a schematic diagram of another interaction flow of the method for data transmission in the embodiment of the present application.
  • FIG. 11 is a schematic diagram of another interaction flow of the data transmission method in the embodiment of the present application.
  • FIG. 12 is a schematic diagram of another interaction flow of the data transmission method in the embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a data transmission device in an embodiment of the present application.
  • FIG. 14 is another schematic structural diagram of the data transmission apparatus in the embodiment of the present application.
  • 15 is another schematic structural diagram of the data transmission device in the embodiment of the present application.
  • FIG. 16 is a schematic structural diagram of a network device according to an embodiment of the present application.
  • 5GtoB includes but is not limited to security monitoring, industrial manufacturing, power grid , smart healthcare and smart education.
  • the 5G communication standard can meet the real-time and stability requirements of industrial communication, and promote the application innovation of industrial technology.
  • technical challenges such as bandwidth, delay, slicing, and edge-cloud collaboration that need to be overcome.
  • WIFI connection or 5G connection is used to solve the problem of network connectivity, so that data transmission can be performed in the scenario of wireless network connection.
  • the wireless network connection is greatly affected by the environment and weather interference, in the industrial production environment, the delay, jitter and reliability of the network connection cannot be guaranteed.
  • Data transmission in the wireless network will increase the delay of data transmission and reduce the reliability of data transmission. Therefore, how to reduce the delay of data transmission in wireless network connection and improve the reliability of data transmission is an urgent problem to be solved.
  • FIG. 1 is a schematic diagram of the system framework in this embodiment of the present application.
  • network device 1 and network device 2 A communication system is formed with the terminal equipment 1 to the terminal equipment 3, wherein the network equipment 1 is the sending end equipment, and the network equipment 2 is the receiving end equipment.
  • the network device 1 sends multiple data packets to the network device 2, and the network device 2 needs to send multiple data packets to the terminal device 1 to the terminal device 3 after receiving the multiple packet data sent by the network device 1. message data.
  • the terminal device 2 and the terminal device 3 can also form a communication system. Therefore, in the communication system, the network device 2 can send multiple data packets to the terminal device 2, and the terminal device 2 needs to receive the data sent by the network device 2.
  • terminal device 2 needs to send multiple packet data to terminal device 3 .
  • the types and numbers of network devices and terminal devices included in the aforementioned communication system, and the connection relationship between the network devices and the terminal devices are not limited to this.
  • LTE long term evolution
  • FDD frequency division duplex
  • TDD LTE Time division duplex
  • UMTS universal mobile telecommunication system
  • the communication system includes a receiving end device and a transmitting end device, and the receiving end device and the transmitting end device are network devices, and the network device can be any device with a wireless transceiver function or a chip that can be provided in the device.
  • the network equipment includes but is not limited to: evolved Node B (evolved Node B, eNB), radio network controller (Radio Network Controller, RNC), Node B (Node B, NB), base station controller (Base Station Controller, BSC), base transceiver station (Base Transceiver Station, BTS), home base station (for example, Home evolved NodeB, or Home Node B, HNB), baseband unit (BaseBand Unit, BBU), Wireless Fidelity (Wireless Fidelity, WIFI) system Access point (AP), wireless relay node, wireless backhaul node, transmission point (TP) or transmit and receive point (TRP), etc., can also be used in 5G, 6G and even future systems.
  • RNC Radio Network Controller
  • Node B Node B
  • BSC Base Station Controller
  • BTS base transceiver station
  • BTS home base station
  • home base station for example, Home evolved NodeB, or Home Node B, HNB
  • baseband unit BaseBand Unit, BBU
  • NR NR
  • gNB transmission point
  • TRP transmission point
  • TP transmission point
  • one or a group including multiple antenna panels
  • BBU baseband unit
  • DU distributed unit
  • DU picocell
  • Femtocell femtocell
  • V2X vehicle to everything
  • RSU roadside unit
  • the device for realizing the functions of the receiving end device and the transmitting end device may be a network device, or a device capable of supporting the receiving end device and the transmitting end device to realize the function, such as a chip system, the The apparatus may be installed in both the receiver device and the transmitter device.
  • terminal equipment in the communication system may also be referred to as user equipment (UE), access terminal, subscriber unit, subscriber station, mobile station, mobile station, remote station, remote terminal, mobile device, user Terminal, terminal, wireless communication device, user agent or user equipment.
  • UE user equipment
  • the terminal device in the embodiment of the present application may also be a mobile phone (mobile phone), a tablet computer (Pad), a computer with a wireless transceiver function, a virtual reality (Virtual Reality, VR) terminal device, an augmented reality (Augmented Reality, AR) Terminal equipment, wireless terminals in industrial control, wireless terminals in self driving, wireless terminals in remote medical, wireless terminals in smart grid, transportation security Wireless terminals in (transportation safety), wireless terminals in smart cities, wireless terminals in smart homes, and so on.
  • a mobile phone mobile phone
  • a tablet computer Pad
  • a computer with a wireless transceiver function a virtual reality (Virtual Reality, VR) terminal device
  • an augmented reality (Augmented Reality, AR) Terminal equipment wireless terminals in industrial control, wireless terminals in self driving, wireless terminals in remote medical, wireless terminals in smart grid, transportation security Wireless terminals in (transportation safety), wireless terminals in smart cities, wireless terminals in smart homes, and so on.
  • FIG. 2 is a schematic diagram of an application scenario in this embodiment of the present application.
  • network device A1 and network device B1 are sender devices, and network devices A2 and the network device B2 are receiver devices, the network device A1 and the network device A2 are connected by 5G, and the network device B1 and the network device B2 are connected by WIFI.
  • Data can be transmitted through the 5G communication link and the WIFI communication link, that is, through the communication link between the network device A1 and the network device A2, and the communication link between the network device B1 and the network device B2. .
  • the communication link can be selected for transmission according to the actual situation. For example, when a user in an industrial scenario needs to conduct PC business, because the PC is more flexible and easy to carry, the 5G communication link can be used at this time.
  • the packet data corresponding to the PC service is transmitted through the channel, that is, the packet data corresponding to the PC service is transmitted through the communication link between the network device A1 and the network device A2.
  • the message data required for the video surveillance service can be transmitted through the WIFI communication link, that is, through the network device B1 and the network device B2.
  • the communication link between them transmits the message data required by the video surveillance service. It should be understood that in different 5GtoB scenarios, when transmitting the same industrial control traffic, or the same production and office business, only the physical communication links between each network device are different, but the data transmitted are the same.
  • the sender device can copy the packet data and transmit data together on the two 5G communication links.
  • the two 5G communication links can be communication links of different operators, or communication links of different network standards (such as Non-Standalone (NSA) and Standalone (SA) ).
  • the receiving end device can receive industrial control traffic from two 5G communication links, and sort and deduplicate it.
  • packet loss occurs, use the packet loss processing strategy encapsulated by the sending end device to process the lost data or out-of-order data , so that the requirements of data transmission reliability can be met earlier in different scenarios.
  • the above only introduces the scenarios applied to 5GtoB, and there are many application scenarios of this solution, and the embodiments of this application do not list the application scenarios exhaustively.
  • FIG. 3 is a schematic diagram of an interaction flow of the data transmission method in the embodiment of the present application. As shown in FIG. 3, in the case of no packet loss, the data transmission method is specific. Include the following steps.
  • the sending end device obtains a plurality of packet data according to the transmission order.
  • the sending end device can obtain a plurality of packet data according to the transmission order.
  • a plurality of message data as message data 1, message data 2, message data 3 and message data 4 as an example, please refer to FIG. A schematic diagram of an embodiment of obtaining a plurality of message data in sequence, as shown in Figure 4, A1 indicates message data 1, A2 indicates message data 2, A3 indicates message data 3, and A4 indicates message data 4. It can be seen from this Message data 1 is first transmitted to the sender device, followed by message data 2, followed by message data 3 and message data 4. At this time, the transmission order is message data 1, message data 2, message data 3 and The message data 4 are transmitted in sequence. It should be understood that the foregoing examples are only used to understand the present solution, and the specific quantity and transmission order of the multiple packet data need to be flexibly determined according to the actual situation.
  • the sending end device encapsulates multiple packet data according to the transmission order, and obtains multiple encapsulated packet data.
  • the sending end device first needs to select a communication link to transmit multiple packet data, and then encapsulate multiple packet data in turn according to the transmission order in step S301 to obtain multiple encapsulated packet data.
  • each encapsulated packet data includes packet data and a packet sequence number, the packet sequence number indicates the order of the corresponding encapsulated packet data in the multiple encapsulated packet data, and each encapsulated packet The order of the data in the multiple encapsulated packet data is consistent with the transmission order.
  • the sending end device will first Encapsulate the message data 1 to obtain the encapsulated message data 1.
  • the encapsulated message data 1 includes the message data 1 and the message sequence number.
  • the message sequence number can be "1"
  • the message sequence number is "1"
  • the sender device encapsulates the packet data 2 to obtain the encapsulated packet data 2.
  • the encapsulated packet data 2 includes the packet data 2 and the packet sequence number, and the packet sequence number can be "2".
  • the packet sequence number “2” indicates that the sequence of the encapsulated packet data 2 is 2 among multiple encapsulated packet data.
  • the encapsulated message data 3 can be obtained in a similar manner.
  • the encapsulated message data 3 includes the message data 3 and the message sequence number.
  • the message sequence number can be "3", and the message sequence number "3" indicates the encapsulation.
  • the sequence of the subsequent packet data 3 in the multiple encapsulated packet data is 3.
  • the encapsulated message data 4 can be obtained again in a similar manner.
  • the encapsulated message data 4 includes the message data 4 and the message sequence number.
  • the message sequence number can be "4", and the message sequence number "4" indicates that the encapsulated message
  • the order of the packet data 4 in multiple encapsulated packet data is 4. It should be understood that the foregoing examples are only used to understand this solution, and the packet sequence numbers may not be consecutive numbers, as long as the indicated order is consistent with the transmission order.
  • the sending end device also needs to match the traffic for which packet data replication is enabled, and the specific matching method may be a routing method or a measurement method.
  • the routing method is to route directly to an interface and measure the corresponding traffic.
  • the measurement method is to match the traffic to be protected through an access control list (ACL), and the access control list can include IP, interface (port), network data exchange rules (protocol), virtual local area network (virtual local area network) , VLAN) and message authentication code (message authentication code, MAC) and other information.
  • ACL access control list
  • the sending end device also needs to copy multiple message data, and transmit multiple copied message data according to the selection and different communication links, and then encapsulate multiple copied message data according to the transmission order. A plurality of encapsulated and replicated packet data are obtained.
  • the specific manner is similar to that described above, and will not be repeated here.
  • the sending end device adds a reassembly header in the middle of the tunnel header, and the reassembly header includes the packet sequence number or other parameter information, so that each encapsulated packet data includes the packet data and the packet sequence number, or, the sending end device
  • the reassembly header includes the packet sequence number or other parameter information, so that each encapsulated packet data includes the packet data and the packet sequence number.
  • IP internet protocol
  • Payload payload
  • the specific packaging method is not limited herein.
  • the encapsulated packet data may also include indication information, packet type information, time stamp information, and some other fields (for example, fields that identify active and standby).
  • the indication information is used to indicate the target packet loss processing strategy, and the target packet loss processing strategy includes at least one of the first packet loss processing strategy, the second packet loss processing strategy, the third packet loss processing strategy and the fourth packet loss processing strategy The combination.
  • the message type indicates whether the message data is the original message data or the copied message data, and the original message data is the unreplicated message data.
  • the intermediate network is usually the wireless network of a certain operator
  • the transmitting end device of the internal wireless network and the receiving end device that sends the transmission data to the wireless network of a certain operator need a tunnel Technical realization.
  • a virtual private network (VPN) tunnel is established on the intermediate network, and the VPN tunnel in this embodiment is used to open up a network transmission channel between the internal wireless network and the wireless network of a certain operator , in order to plan the internal network conveniently, the VPN tunnel in this embodiment is also used to encapsulate the packet data, so that the encapsulated packet data can include other information such as the packet sequence number.
  • VPN virtual private network
  • extended tunnel encapsulation is used to encapsulate packet data, that is, the sender device adds a packet sequence number or other parameters in the middle of the tunnel header.
  • this embodiment is based on generic routing encapsulation (GRE), and uses GRE to extend the encapsulation so that the encapsulated packet data includes the packet sequence number.
  • GRE generic routing encapsulation
  • FIG. 5 which is an implementation of the present application.
  • the unencapsulated packet data B1 includes the output network protocol B1, the GRE header B2 and the internal extension packet B3.
  • the GRE extension encapsulation method can be A reassembly header is added to the GRE header, and the reassembly header includes the packet sequence number, that is, the encapsulated packet data includes the output network protocol B1, the GRE header B2, the reassembly header B4 including the packet sequence number, and the internal extension packet B3.
  • the GRE extended encapsulation manner shown in FIG. 5 can enable the encapsulated packet data to carry more parameter information to support more flexibility and data processing and transmission.
  • FIG. 6 is a schematic diagram of another embodiment of encapsulating packet data in this embodiment of the application. As shown in FIG.
  • the message data C1 includes the network protocol header C1 and the load C2, and the reassembly header is added through the network protocol header C1 and the load C2, and the reassembly header includes the message sequence number, that is, the encapsulated message data includes the network protocol header C1, including The reassembly header C3 of the message sequence number and the payload C2.
  • the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links, N ⁇ 2.
  • the sending end device sends the multiple encapsulated packet data obtained in step S302 to the receiving end device through N communication links according to the transmission order. It should be understood that sending multiple encapsulated packet data according to the transmission order does not indicate that the multiple packet data is completely encapsulated and then sent, but after encapsulating the encapsulated packet data in the transmission order, you can pass the encapsulated packet data.
  • the communication link sends the encapsulated packet data to the receiving end device.
  • the encapsulated replicated message data and the encapsulated message data can be sent to the receiving end device at the same time, or they can be sent to the receiving end device in a sequential order, so the data sent to the receiving end device Timing This scheme is not limited.
  • FIG. 7 is an embodiment of sending multiple encapsulated packet data through multiple communication links in this embodiment of the present application.
  • the schematic diagram, as shown in FIG. 7, can be seen from FIG. 4, the transmission order is message data 1, message data 2, message data 3 and message data 4 are sequentially transmitted, and the communication link D5 and the communication link D10 are physical carry different communication links.
  • the sending end device encapsulates the message data 1, it can obtain D1 (encapsulated message data 1), and after obtaining D1, it sends D1 to the receiving end device through the communication link D5.
  • D2 (the encapsulated message data 2) can be obtained, and the D2 is sent to the receiving end device through the communication link D5.
  • the packet data 3 is encapsulated to obtain D3 (encapsulated packet data 3), and the D3 is sent to the receiving end device through the communication link D5.
  • the packet data 4 is encapsulated to obtain D4 (encapsulated packet data 4), and the D4 is sent to the receiving end device through the communication link D5.
  • the sending end device can also copy the message data 1, and encapsulate the copied message data 1 to obtain D6 (encapsulated and copied message data 1), and pass the communication link D10 Send D6 to the receiving device.
  • the duplicated message data 3 is encapsulated to obtain D8 (encapsulated duplicated message data 3), and D8 is sent to the receiving end device through the communication link D10.
  • the duplicated message data 4 is encapsulated to obtain D9 (encapsulated duplicated message data 4), and D9 is sent to the receiving end device through the communication link D10.
  • the message data that has not been copied is the original message data. Therefore, in this embodiment, the communication link for transmitting the encapsulated original message data is defined as the original communication link.
  • the receiving end device can receive multiple encapsulated packet data sent by the transmitting end device through the communication link, and the multiple encapsulated packet data The data are all contiguous. It should be understood that, in practical applications, the receiving end device may receive all the encapsulated packet data through only one communication link, or may receive all the encapsulated packet data through multiple communication links. The number of data received by the receiving end device through a specific communication link is not limited here.
  • the receiving end device unpacks the multiple encapsulated packet data to obtain multiple packet data and packet serial numbers of the multiple packet data.
  • the receiving end device can receive multiple encapsulated packet data through step S303, and the multiple encapsulated packet data are adjacent to each other. That is, no packet loss occurs at this time, so the receiving end device unpacks multiple encapsulated packet data to obtain multiple packet data and packet sequence numbers of multiple packet data.
  • the receiving end device can sequentially receive the encapsulated message data 1 through the communication link D5, Packet data 2 after encapsulation, packet data 3 after encapsulation, and packet data 4 after encapsulation.
  • the receiving end device unpacks the encapsulated packet data 1
  • the packet data 1 and the packet sequence number "1" can be obtained.
  • the packet data 2 and the packet sequence number "2" can be obtained.
  • the receiving end device unpacks the encapsulated packet data 3
  • the packet data 3 and the packet sequence number "3" can be obtained.
  • the receiving end device unpacks the encapsulated packet data 3 and the packet sequence number "3" can be obtained.
  • adjacent encapsulated packet data may be received through different communication links.
  • the encapsulated packet data of the data it is determined that the packet data is repeated, and the encapsulated packet data including the packet data is directly discarded, so as to reduce the data cache space.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data.
  • step S304 since the packet sequence number "1" indicates that the sequence of the encapsulated packet data 1 in multiple encapsulated packet data is 1, that is, the packet data. 1 is 1 in the order of multiple message data, so it can be determined that message data 1 is the first transmitted data.
  • the message sequence number "2" indicates that the order of the encapsulated message data 2 in multiple encapsulated message data is 2, that is, the order of message data 2 in multiple message data is 2, so It can be determined that the message data 2 is the second transmitted data.
  • the message sequence number "3" indicates that the order of the encapsulated message data 3 in multiple encapsulated message data is 3, that is, the order of the message data 3 in multiple message data is 3, so the message can be determined.
  • Data 3 is the third transmitted data.
  • the message sequence number "4" indicates that the order of the encapsulated message data 4 in multiple encapsulated message data is 4, that is, the order of the message data 4 in multiple message data is 4, so the message can be determined.
  • Data 4 is the fourth transmitted data.
  • the receiving end device sends a plurality of message data according to the transmission order.
  • the receiving end device since the receiving end device can determine the transmission order of each message data through step S305, it sends a plurality of message data according to the transmission order determined in step S305. Specifically, the receiving end device can send a plurality of message data to a terminal device corresponding to a service provided by the plurality of message data, so as to provide a service required by the terminal device. Secondly, the receiving end device can also send a plurality of packet data to the routing conversion device, so that the routing conversion device can provide services or other information through the packet data. There are no restrictions.
  • the receiving end device sends the message data 1 after obtaining the message data 1 and determining that the message data 1 is the first transmitted data.
  • the receiving end device obtains the message data 2 and determines that the message data 2 is the second transmitted data, and determines that the first transmitted data (ie, the message data 1) has been sent, it sends the message. data 2.
  • the receiving end device sends the message data 3 after obtaining the message data 3 and determining that the message data 3 is the data of the third transmission, and determining that the second transmitted data (ie, the message data 2) has been sent.
  • the receiving end device After the receiving end device obtains the message data 4 and determines that the message data 4 is the fourth transmitted data, and determines that the third transmitted data (ie, the message data 3 ) has been sent, it sends the message data 4 .
  • the purpose of sending a plurality of message data according to the transmission order can be achieved, so as to meet the requirements of ensuring the order of data transmission in various scenarios, thereby ensuring the reliability of data transmission.
  • the encapsulated packet data can also include indication information, packet type information, time stamp information, and other information. field.
  • the indication information is used to indicate the target packet loss processing policy, and the target packet loss processing policy includes at least one of the first packet loss processing policy, the second packet loss processing policy, the third packet loss processing policy and the fourth packet loss processing policy The combination. Therefore, when packet loss occurs, the receiving end device can perform packet loss processing through the target packet loss processing strategy indicated by the indication information.
  • the target packet loss processing strategy can include a combination of at least one of different packet loss processing strategies, the following are respectively
  • the packet loss processing strategy includes the first packet loss processing strategy
  • the packet loss processing strategy includes the second packet loss processing strategy
  • the packet loss processing strategy includes the third packet loss processing strategy
  • the packet loss processing strategy includes the fourth packet loss processing strategy. It is introduced that, in practical applications, the target packet loss processing strategy may also include a combination of at least one of the foregoing packet loss processing strategies. Therefore, all possible implementations are not exhaustive in this embodiment.
  • the target packet loss processing strategy includes the first packet loss processing strategy.
  • FIG. 8 is a schematic diagram of another interaction flow of the data transmission method in the embodiment of the present application.
  • a data transmission method includes the following steps.
  • the sending end device sends configuration information to the receiving end device.
  • the sending end device since the sending end device cannot know the packet loss processing policy supported by the receiving end device, the sending end device needs to send configuration information to the receiving end device, and the configuration information includes the first packet loss processing policy and the second packet loss processing policy.
  • a packet processing strategy, a third packet loss processing strategy, and a fourth packet loss processing strategy since the sending end device cannot know the packet loss processing policy supported by the receiving end device, the sending end device needs to send configuration information to the receiving end device, and the configuration information includes the first packet loss processing policy and the second packet loss processing policy.
  • a packet processing strategy, a third packet loss processing strategy, and a fourth packet loss processing strategy since the sending end device cannot know the packet loss processing policy supported by the receiving end device, the sending end device needs to send configuration information to the receiving end device, and the configuration information includes the first packet loss processing policy and the second packet loss processing policy.
  • the receiving end device sends confirmation information to the sending end device.
  • the receiving end device can receive the configuration information sent by the sending end device through step S801, because the configuration information includes the first packet loss processing strategy, the second packet loss processing strategy, the third packet loss processing strategy, and the third packet loss processing strategy.
  • Four packet loss handling strategies If the receiving end device can support the first packet loss handling strategy, the receiving end device generates confirmation information indicating that the receiving end device supports the first packet loss handling strategy, and sends the confirmation to the sending end device. information.
  • the target packet loss processing policy includes the first packet loss processing policy as an example for illustration, and in practical applications, the target packet loss processing policy may include a combination of various different packet loss processing policies, so it is confirmed that The information can also indicate a variety of different packet loss handling strategies, which are defined here.
  • the sending end device obtains a plurality of packet data according to the transmission order.
  • step S301 the manner in which the sending end device obtains a plurality of packet data according to the transmission order is similar to step S301, and details are not described herein again.
  • the sending end device encapsulates a plurality of packet data according to the transmission order, and obtains a plurality of encapsulated packet data.
  • the sending end device may receive the confirmation information sent by the receiving end device through step S802, and thus determine that the receiving end device supports the first packet loss processing policy. Therefore, the sending end device encapsulates multiple packet data according to the transmission order to obtain multiple encapsulated packet data.
  • each encapsulated packet data includes packet data, packet serial number and indication information, and the indication information It is used to indicate the target packet loss processing policy, and the target packet loss processing policy includes the first packet loss processing policy.
  • the sending end device encapsulates multiple packet data according to the transmission order, and the method for obtaining multiple encapsulated packet data is similar to step S302, that is, the reassembly header can include the packet sequence number, and can also include a message indicating the first packet loss processing strategy. Instruction information, details are not repeated here.
  • the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through the N communication links.
  • step S303 the manner in which the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links is similar to step S303, and details are not repeated here.
  • the encapsulated multiple packet data includes the first packet data and the second packet data, and the packet sequence number of the first packet data indicates the multiple encapsulated packet data of the first packet data.
  • the order in the message data is prior to the order of the second message data in the multiple encapsulated message data, and the first message data and the second message data are different in the multiple encapsulated message data.
  • adjacent message data, and the message sequence number of the third message data indicates that the order of the third message data in the plurality of encapsulated message data is after the first message data in the plurality of encapsulated message data
  • the sequence of the packet data and the third packet data and the first packet data are adjacent packet data in the multiple encapsulated packet data as an example to be introduced as an example.
  • the receiving end device unpacks the multiple encapsulated packet data to obtain second packet data, a packet sequence number of the second packet data, and a target packet loss processing policy, where the target packet loss processing policy includes the first packet loss processing policy. Packet loss handling policy.
  • the receiving end device since the encapsulated packet data also includes the target packet loss processing policy, the receiving end device unpacks multiple encapsulated packet data to obtain the second packet data.
  • the packet sequence number of the packet data and the target packet loss processing policy, and the target packet loss processing policy includes the first packet loss processing policy.
  • the specific manner in which the receiving end device performs the unpacking processing is similar to step S304, and details are not repeated here.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data. Since the first packet data and the second packet data are non-adjacent packet data in multiple encapsulated packet data, the receiving end device may determine that a packet loss situation occurs. And after unpacking to obtain the second message data and the message sequence number, the receiving end device can determine that the second message data is sent after the first message data according to the message sequence number of the second message data.
  • the sender device will send the encapsulated messages to the receiver device in turn.
  • Data encapsulated packet data 2, encapsulated packet data 3, and encapsulated packet data 4. If the encapsulated packet data 1 is the first packet data, and the packet sequence number of the packet data 1 is "1", the packet sequence number "1" indicates that the encapsulated packet data 1 is in multiple encapsulated packets.
  • the order of the data is 1, that is, the message data 1 is the first transmitted data.
  • the encapsulated message data 3 is the second message data, and the message sequence number of the message data 3 is "3", and the message sequence number "3" indicates that the encapsulated message data 3 is in multiple packages after encapsulation.
  • the order of the message data is 3, that is, the message data 3 is the third transmitted data, that is, it needs to be transmitted after the message data 1.
  • the receiving end device executes the first packet loss processing policy.
  • step S807 it can be known from step S807 that since the second packet data needs to be sent after the first packet data, if the first packet data has already been sent, it can be determined that packet loss occurs, and the receiving end device needs to Execute the first packet loss processing policy.
  • step S807 because after it can be determined that the message data 1 is the first transmitted data according to the message sequence number "1" of the message data 1, the receiving end device can Send message data 1. Then the receiving end device receives the encapsulated message data 3, and unpacks the encapsulated message data 3 to obtain the message data 3 and the message sequence number "3". According to the message sequence number of the message data 3 "3" can determine that the message data 3 is the third transmitted data.
  • the assumed transmission order is that the packet data 1 to the packet data 4 are transmitted in sequence, so it can be determined that a packet loss occurs, and the lost packet is the encapsulated packet data 2 (the third packet data ), therefore it can be determined that the packet data 2 is lost, and the receiving end device executes the first packet loss processing strategy.
  • the receiving end device buffers the second packet data.
  • the receiving end device in order to ensure that multiple packet data can be sent in the transmission order, in the case of packet loss, the receiving end device cannot send the second packet data, that is, it needs to cache the second packet data. message data.
  • the receiving end device sends the second packet data.
  • the first time threshold can be the minimum value that can be buffered by the services corresponding to the multiple packet data, or the first time threshold can also be the buffer value that can be tolerated by the services corresponding to the multiple packet data.
  • the maximum value is not limited in this embodiment.
  • the receiving end device can obtain the third packet by unpacking the encapsulated packet data received by other communication links data, since the third message data and the first message data are adjacent message data, the third message data is directly sent at this time, and the second message data is obtained from the cache, and then the second message data is sent. .
  • the second packet data will be sent directly to reduce the waiting time of the data buffer and the delay of data transmission.
  • the maximum buffer value that the services corresponding to multiple packet data can tolerate is 1s
  • the second packet data will also be sent directly.
  • the waiting time of the data buffer is reduced, but the third packet data may be obtained from other communication links within 1s, thereby ensuring that the data transmission is still in order, thereby ensuring the reliability of the data transmission.
  • the target packet loss processing strategy includes the second packet loss processing strategy.
  • FIG. 9 is a schematic diagram of another interaction flow of the data transmission method in the embodiment of the present application.
  • another data transmission method includes the following steps.
  • the sending end device sends configuration information to the receiving end device.
  • the sending end device since the sending end device cannot know the packet loss processing policy supported by the receiving end device, the sending end device needs to send configuration information to the receiving end device, and the configuration information includes the second packet loss processing policy, the second drop A packet processing strategy, a third packet loss processing strategy, and a fourth packet loss processing strategy.
  • the receiving end device sends confirmation information to the sending end device.
  • the receiving end device can receive the configuration information sent by the transmitting end device through step S901, because the configuration information includes the second packet loss processing strategy, the second packet loss processing strategy, the third packet loss processing strategy and the third packet loss processing strategy.
  • the configuration information includes the second packet loss processing strategy, the second packet loss processing strategy, the third packet loss processing strategy and the third packet loss processing strategy.
  • Four packet loss handling strategies If the receiving end device can support the second packet loss handling strategy, the receiving end device generates confirmation information indicating that the receiving end device supports the second packet loss handling strategy, and sends the confirmation to the sending end device. information.
  • the target packet loss processing policy includes the second packet loss processing policy as an example for illustration, and in practical applications, the target packet loss processing policy may include a combination of a variety of different packet loss processing policies, so it is confirmed that The information can also indicate a variety of different packet loss handling strategies, which are defined here.
  • the sending end device obtains a plurality of message data according to the transmission order.
  • step S301 the manner in which the sending end device obtains a plurality of packet data according to the transmission order is similar to step S301, and details are not described herein again.
  • the sending end device encapsulates multiple packet data according to the transmission order to obtain multiple encapsulated packet data.
  • the sending end device may receive the confirmation information sent by the receiving end device through step S902, and thus determine that the receiving end device supports the second packet loss processing policy. Therefore, the sending end device encapsulates multiple packet data according to the transmission order to obtain multiple encapsulated packet data.
  • each encapsulated packet data includes packet data, packet serial number and indication information, and the indication information It is used to indicate the target packet loss processing policy, and the target packet loss processing policy includes the second packet loss processing policy.
  • the sending end device encapsulates multiple packet data according to the transmission order, and the method for obtaining multiple encapsulated packet data is similar to step S302, that is, the reassembly header can include the packet sequence number, and can also include a message indicating the second packet loss processing strategy. Instruction information, details are not repeated here.
  • the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links.
  • step S303 the manner in which the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links is similar to step S303, and details are not repeated here.
  • the encapsulated multiple packet data includes the first packet data and the second packet data, and the packet sequence number of the first packet data indicates the multiple encapsulated packet data of the first packet data.
  • the order in the message data is prior to the order of the second message data in the multiple encapsulated message data, and the first message data and the second message data are different in the multiple encapsulated message data.
  • adjacent message data, and the message sequence number of the third message data indicates that the order of the third message data in the plurality of encapsulated message data is after the first message data in the plurality of encapsulated message data
  • the sequence of the packet data and the third packet data and the first packet data are adjacent packet data in the multiple encapsulated packet data as an example to be introduced as an example.
  • the receiving end device unpacks the multiple encapsulated packet data to obtain second packet data, a packet sequence number of the second packet data, and a target packet loss processing strategy, where the target packet loss processing strategy includes the second packet loss processing strategy. Packet loss handling policy.
  • the receiving end device since the encapsulated packet data also includes the target packet loss processing policy, the receiving end device unpacks multiple encapsulated packet data to obtain the second packet data.
  • the packet sequence number of the packet data and the target packet loss processing policy, and the target packet loss processing policy includes the second packet loss processing policy.
  • the specific manner in which the receiving end device performs the unpacking processing is similar to step S304, and details are not described herein again.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data. Since the first packet data and the second packet data are non-adjacent packet data in multiple encapsulated packet data, the receiving end device may determine that a packet loss situation occurs. And after unpacking to obtain the second message data and the message sequence number, the receiving end device can determine that the second message data is sent after the first message data according to the message sequence number of the second message data.
  • the specific manner of determining the transmission order is similar to that of step S807, which is not repeated here.
  • step S907 it can be known from step S907 that since the second packet data needs to be sent after the first packet data, if the first packet data has already been sent, it can be determined that packet loss occurs, and the receiving end device needs to Execute the second packet loss processing policy.
  • the specific manner in which the first packet data has been sent and the specific manner for judging the occurrence of packet loss are similar to step S808, and are not repeated here.
  • the receiving end device determines a first time point at which the first encapsulated packet data is received and a second time point at which the second encapsulated packet data is received.
  • the receiving end device determines the first packet data after receiving the first encapsulation. A point in time and a second point in time when the second encapsulated packet data is received, wherein the first encapsulated packet data includes the first packet data, and the second encapsulated packet data includes the second packet data.
  • the first encapsulated packet data is received at the 50th ms, it can be determined that the first time point is the 50th ms, and the second encapsulated packet data is received at the 65th ms. It may be determined that the second time point is the 65th ms.
  • the receiving end device sends the second packet data.
  • the receiving end device sends the second packet data. And after sending the second packet data, if the third packet data is obtained subsequently, it will not be sent, but will be directly discarded.
  • the second time threshold is determined according to the tolerable jitter time of multiple packet data. For example, for a scanning service in industrial control traffic, the scanning service is a fixed 10ms of packet data. If a packet is received If the next packet data is not received within 13ms after the data, it means that there is a problem with the scanning service. At this time, it can be determined that the jitter time cannot exceed 3ms, that is, the time interval between each packet cannot exceed 13ms. Based on this, the second time threshold is 13ms, and the description is based on the example of step S909. Since the first time point is the 50th ms and the second time point is the 65th ms, the first time point and the second time can be calculated. The difference between the points is 15ms, which is greater than 13ms. At this time, the receiving end device will directly send the second packet data, and discard the third packet data after obtaining the third packet data subsequently.
  • the target packet loss processing strategy includes a third packet loss processing strategy.
  • FIG. 10 is a schematic diagram of another interaction flow of the data transmission method in the embodiment of the present application. As shown in FIG. 10, in the case of packet loss, another data transmission method includes the following steps.
  • the sending end device sends configuration information to the receiving end device.
  • the sending end device since the sending end device cannot know the packet loss processing policy supported by the receiving end device, the sending end device needs to send configuration information to the receiving end device, and the configuration information includes the third packet loss processing policy, the third A packet processing strategy, a third packet loss processing strategy, and a fourth packet loss processing strategy.
  • the receiving end device sends confirmation information to the sending end device.
  • the receiving end device can receive the configuration information sent by the transmitting end device through step S1001, because the configuration information includes the third packet loss processing strategy, the third packet loss processing strategy, the third packet loss processing strategy and the third packet loss processing strategy.
  • the receiving end device If the receiving end device can support the third packet loss handling strategy, the receiving end device generates confirmation information indicating that the receiving end device supports the third packet loss handling strategy, and sends the confirmation to the sending end device. information.
  • the target packet loss processing policy includes the third packet loss processing policy as an example for illustration, and in practical applications, the target packet loss processing policy may include a combination of a variety of different packet loss processing policies, so it is confirmed that The information can also indicate a variety of different packet loss handling strategies, which are defined here.
  • the sending end device obtains a plurality of packet data according to the transmission order.
  • step S301 the manner in which the sending end device obtains a plurality of packet data according to the transmission order is similar to step S301, and details are not described herein again.
  • the sending end device encapsulates a plurality of packet data according to the transmission order, and obtains a plurality of encapsulated packet data.
  • the sending end device may receive the confirmation information sent by the receiving end device through step S1002, and thus determine that the receiving end device supports the third packet loss processing strategy. Therefore, the sending end device encapsulates multiple packet data according to the transmission order to obtain multiple encapsulated packet data.
  • each encapsulated packet data includes packet data, packet serial number and indication information, and the indication information It is used to indicate the target packet loss processing policy, and the target packet loss processing policy includes the third packet loss processing policy.
  • the sending end device encapsulates multiple packet data according to the transmission order, and the method for obtaining multiple encapsulated packet data is similar to step S302, that is, the reassembly header can include the packet sequence number, and can also include a third packet loss processing strategy. Instruction information, details are not repeated here.
  • the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links.
  • step S303 the manner in which the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links is similar to step S303, and details are not repeated here.
  • the encapsulated multiple packet data includes the first packet data and the second packet data, and the packet sequence number of the first packet data indicates the multiple encapsulated packet data of the first packet data.
  • the order in the message data is prior to the order of the second message data in the multiple encapsulated message data, and the first message data and the second message data are different in the multiple encapsulated message data.
  • adjacent message data, and the message sequence number of the third message data indicates that the order of the third message data in the plurality of encapsulated message data is after the first message data in the plurality of encapsulated message data
  • the sequence of the packet data and the third packet data and the first packet data are adjacent packet data in the multiple encapsulated packet data as an example to be introduced as an example.
  • the receiving end device unpacks the multiple encapsulated packet data to obtain second packet data, a packet sequence number of the second packet data, and a target packet loss processing strategy, where the target packet loss processing strategy includes the third Packet loss handling policy.
  • the receiving end device since the encapsulated packet data also includes the target packet loss processing policy, the receiving end device unpacks multiple encapsulated packet data to obtain the second packet data.
  • the packet sequence number of the packet data and the target packet loss processing policy, and the target packet loss processing policy includes a third packet loss processing policy.
  • the specific manner in which the receiving end device performs the unpacking processing is similar to step S304, and details are not repeated here.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data. Since the first packet data and the second packet data are non-adjacent packet data in multiple encapsulated packet data, the receiving end device may determine that a packet loss situation occurs. And after unpacking to obtain the second message data and the message sequence number, the receiving end device can determine that the second message data is sent after the first message data according to the message sequence number of the second message data.
  • the specific manner of determining the transmission order is similar to that of step S807, which is not repeated here.
  • the receiving end device executes a third packet loss processing strategy
  • step S1007 it can be known from step S1007 that since the second packet data needs to be sent after the first packet data, if the first packet data has already been sent, it can be determined that packet loss occurs, and the receiving end device needs to Execute the third packet loss processing strategy.
  • the specific manner in which the first packet data has been sent and the specific manner for judging the occurrence of packet loss are similar to step S808, and are not repeated here.
  • the receiving end device buffers the second packet data.
  • step S809 the manner in which the receiving end device caches the second packet data is similar to step S809, and details are not described herein again.
  • the receiving end device detects the bidirectional link delay RTT of each communication link to determine the RTT of each communication link.
  • the receiving end device detects the bidirectional link delay RTT of each communication link to determine the RTT of each communication link.
  • the receiving end device obtains the instruction for the third packet loss processing strategy, it can detect the bidirectional link delay of each communication link within a predetermined period, that is, it is not necessary to perform this step S when it is determined that packet loss occurs.
  • the receiving end device determines the communication link with the smallest RTT among the RTTs of each communication link as the target communication link.
  • the receiving end device can determine the RTT of each communication link through step S1010, the communication link with the smallest RTT among the RTTs of each communication link is the communication link with the fastest data transmission, At this time, the communication link with the smallest RTT is determined as the target communication link.
  • the receiving end device determines the RTT threshold according to the RTT of the target communication link.
  • the receiving end device determines the RTT threshold according to the RTT of the target communication link. Specifically, the time of 1/2 of the RTT of the target communication link is determined as the RTT threshold, and in practical applications, the RTT threshold may be 1/3 of the RTT of the target communication link, etc.
  • the specific need is based on business requirements. Flexible restrictions.
  • the receiving end device if it does not obtain the third packet data within the RTT threshold, it is to obtain the third packet data from other communication links. Then, actively send data request information to the sending end device, where the data request information carries the packet sequence number of the third packet data. Based on this, after receiving the data request information sent by the receiving end device, the sending end device can determine the third packet data according to the packet sequence number of the third packet data, and send the third packet to the receiving end device through the target communication link. text data. After the sender determines the data of the third packet, it can retransmit the data through the communication link with the smallest RTT, so that the buffering waiting time can be reduced, and the delay of data transmission can be further reduced.
  • the third packet loss processing strategy can be executed together with the aforementioned first packet loss processing strategy to reduce buffer waiting and ensure that data transmission is sequence-preserving, so as to achieve an optimal balance between packet loss and delay.
  • the receiving end device acquires the third packet data, and sends the third packet data.
  • the receiving end device acquires the third packet data, and sends the third packet data. Specifically, if the receiving end device can obtain the third packet data by unpacking multiple encapsulated packet data obtained from other communication links after sending the data request information, it does not wait for the sending end device. The third packet data is retransmitted, but the third packet data obtained by unpacking is directly sent. Secondly, if the receiving end device fails to obtain the third packet data through unpacking processing after sending the data request information, it needs to wait for the transmitting end device to retransmit the third packet data, and then send it again. In practical applications , the above two situations may occur, and how the receiving end device acquires the third packet data is not specifically limited.
  • the target packet loss processing strategy includes a fourth packet loss processing strategy.
  • FIG. 11 is a schematic diagram of another interaction flow of the data transmission method in the embodiment of the present application. As shown in FIG. 11 , in the case of packet loss, another data transmission method includes the following steps.
  • the sending end device sends configuration information to the receiving end device.
  • the sending end device since the sending end device cannot know the packet loss processing policy supported by the receiving end device, the sending end device needs to send configuration information to the receiving end device, and the configuration information includes the fourth packet loss processing policy, the fourth drop A packet processing strategy, a fourth packet loss processing strategy, and a fourth packet loss processing strategy.
  • the receiving end device sends confirmation information to the sending end device.
  • the receiving end device can receive the configuration information sent by the transmitting end device through step S1101, because the configuration information includes the fourth packet loss processing strategy, the fourth packet loss processing strategy, the fourth packet loss processing strategy and the third packet loss processing strategy.
  • the configuration information includes the fourth packet loss processing strategy, the fourth packet loss processing strategy, the fourth packet loss processing strategy and the third packet loss processing strategy.
  • Four packet loss handling strategies If the receiving end device can support the fourth packet loss handling strategy, the receiving end device generates confirmation information indicating that the receiving end device supports the fourth packet loss handling strategy, and sends the confirmation to the sending end device. information.
  • the target packet loss processing strategy including the fourth packet loss processing strategy is used as an example for description in this embodiment, and in practical applications, the target packet loss processing strategy may include a combination of a variety of different packet loss processing strategies, so it is confirmed that The information can also indicate a variety of different packet loss handling strategies, which are defined here.
  • the sending end device obtains a plurality of message data according to the transmission order.
  • step S301 the manner in which the sending end device obtains a plurality of packet data according to the transmission order is similar to step S301, and details are not described herein again.
  • the transmitting end device groups multiple packet data according to preset conditions, and performs forward coding and error correction FEC encoding on multiple packet data belonging to the same group to generate redundant data corresponding to each group.
  • the sending end device groups multiple packet data according to preset conditions, and performs forward coding and error correction FEC encoding on multiple packet data belonging to the same group to generate redundant data corresponding to each group.
  • the multiple packet data in each group are adjacent, and the multiple packet data belonging to the same group and the redundant data corresponding to each group include the same group identifier.
  • FEC is a channel coding algorithm that recovers lost data packets by adding redundant data. That is, the sending end device performs FEC encoding on multiple packet data to generate redundant parity data packets (that is, redundant data corresponding to each packet). Multiple packet data and redundant data can be combined and called FEC data block, and the ratio of the number of multiple message data and redundant data is fixed.
  • the FEC codec algorithm includes, but is not limited to, the Reeds-Solomon (reeds-solomon, RS) codec algorithm, the Raptor codec algorithm, and the Tornado codec algorithm.
  • the redundancy should be set according to the packet loss rate (PLR).
  • the sending end device encapsulates a plurality of packet data according to the transmission order, and obtains a plurality of encapsulated packet data.
  • the sending end device may receive the confirmation information sent by the receiving end device through step S1102, and thus determine that the receiving end device supports the fourth packet loss processing strategy. Therefore, the sending end device encapsulates multiple packet data according to the transmission order to obtain multiple encapsulated packet data.
  • each encapsulated packet data includes packet data, packet serial number and indication information, and the indication information It is used to indicate the target packet loss processing policy, and the target packet loss processing policy includes a fourth packet loss processing policy.
  • the multiple encapsulated packet data belonging to the same group and the redundant data corresponding to each group also include the same group identifier.
  • the sending end device can also duplicate a plurality of message data, and encapsulate the plurality of duplicated message data according to the transmission order, so as to obtain a plurality of encapsulated and duplicated message data.
  • the manner of duplicating multiple message data is similar to the manner introduced in step S302, and details are not described herein again.
  • the sending end device encapsulates multiple packet data according to the transmission order, and obtains multiple encapsulated packet data in a manner similar to step S302, that is, the reassembly header can include the packet sequence number, and can also include an indication of the fourth packet loss
  • the reassembly header can include the packet sequence number, and can also include an indication of the fourth packet loss.
  • the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links.
  • the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links. Specifically, the sending end device sends multiple encapsulated original message data to the receiving end device according to the transmission order through the original communication link, and after the multiple encapsulated original message data including the same group identifier is sent, it also sends Redundant data including the same group identification is sent to the receiving device. Secondly, the sending end device sends a plurality of encapsulated and replicated message data to the receiving end device through (N-1) communication links according to the transmission order.
  • the encapsulated multiple packet data includes the first packet data and the second packet data, and the packet sequence number of the first packet data indicates the multiple encapsulated packet data of the first packet data.
  • the order in the message data is prior to the order of the second message data in the multiple encapsulated message data, and the first message data and the second message data are different in the multiple encapsulated message data. neighbor packet data.
  • the message sequence number of the third message data indicates that the order of the third message data in the plurality of encapsulated message data is after the order of the first message data in the plurality of encapsulated message data, and the order of the first message data in the plurality of encapsulated message data
  • the third packet data and the first packet data are adjacent packet data in the multiple encapsulated packet data.
  • the first message data, the second message data and the third message data are all original message data, and the first message data, the second message data and the third message data include the same grouping identifier,
  • redundant data including the same grouping identifier as the first packet data, the second packet data, and the third packet data is described as the target redundant data as an example.
  • the receiving end device unpacks the multiple encapsulated packet data to obtain second packet data, a packet sequence number of the second packet data, and a target packet loss processing strategy, where the target packet loss processing strategy includes the fourth Packet loss handling policy.
  • the transmitting end device since the encapsulated packet data also includes the target packet loss processing policy, and after the multiple encapsulated original packet data including the same packet identifier are sent, the transmitting end device will also send a message to the receiving end.
  • the device sends redundant data including the same packet identifier, so the receiving end device can receive multiple encapsulated original packet data and multiple redundant data sent by the sending end device through the original communication link.
  • the receiving end device unpacks the multiple encapsulated packet data, and can obtain the second packet data, the packet sequence number of the second packet data, and the target packet loss processing policy, and the target packet loss processing policy Including the fourth packet loss processing strategy.
  • the specific manner in which the receiving end device performs the unpacking processing is similar to step S304, and details are not repeated here.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data. Since the first packet data and the second packet data are non-adjacent packet data in multiple encapsulated packet data, the receiving end device may determine that a packet loss situation occurs. And after unpacking to obtain the second message data and the message sequence number, the receiving end device can determine that the second message data is sent after the first message data according to the message sequence number of the second message data.
  • the specific manner of determining the transmission order is similar to that of step S807, which is not repeated here.
  • the receiving end device executes the fourth packet loss processing strategy.
  • the target packet loss processing policy since the receiving end device can also obtain the target packet loss processing policy when unpacking to obtain the first packet data, the target packet loss processing policy includes the fourth packet loss processing policy. Even if the first packet data is sent in the correct transmission order, based on the fourth packet loss processing policy, the receiving end device will cache the first packet data in the FEC buffer queue. Based on this, since the second packet data needs to be sent after the first packet data, if the first packet data has already been sent, it can be determined that packet loss occurs, and the receiving end device needs to implement the third packet loss processing strategy .
  • the specific manner in which the first packet data has been sent and the specific manner for judging the occurrence of packet loss are similar to step S808, and are not repeated here.
  • the receiving end device obtains the first packet data from the FEC buffer queue.
  • the receiving end device obtains the first packet data from the FEC buffer queue.
  • the FEC cache queue can be set to a preset number threshold, that is, when the number of packet data buffered in the FEC cache queue is greater than the preset number threshold, the packet data in the first order will be discarded to ensure subsequent packet data. Can be cached, but does not occupy too much cache resources.
  • the receiving end device performs repair processing on the first message data, the second message data and the target redundant data to obtain third message data.
  • the third packet data is lost packet data
  • the first packet data, the second packet data, the third packet data and the target redundant data include the same packet
  • the identifier, that is, the target redundant data is obtained by the sending end device performing FEC encoding on multiple packet data including the same group identifier.
  • the receiving end device can perform repair processing through the first packet data, the second packet data and the target redundant data to obtain the third packet data.
  • the FEC codec algorithm includes, but is not limited to, the RS codec algorithm, the Raptor codec algorithm, and the Tornado codec algorithm.
  • the receiving end device can obtain the third packet data by unpacking multiple encapsulated packet data obtained from other communication links when performing the repair processing, the repair processing is not continued, but It is the third packet data obtained by directly sending the unpacking.
  • the receiving end device fails to obtain the third packet data through the unpacking processing when performing the repair processing, it needs to wait for the repair processing to obtain the third packet data, and then send it.
  • the method for acquiring the third packet data sent by the receiving end device is not specifically limited.
  • the receiving end device sends the third packet data.
  • the receiving end device sends the third packet data obtained in step S1111.
  • FIG. 12 is a schematic diagram of another interaction flow of the data transmission method in the embodiment of the present application. As shown in FIG. 12 , in the case of packet loss, another data transmission method includes the following steps.
  • the sending end device obtains a plurality of message data according to the transmission order.
  • step S301 the manner in which the sending end device obtains a plurality of packet data according to the transmission order is similar to step S301, and details are not described herein again.
  • the sending end device encapsulates multiple packet data according to the transmission order, and obtains multiple encapsulated packet data.
  • the sending end device encapsulates multiple packet data according to the transmission order, and the manner of obtaining multiple encapsulated packet data is similar to step S302, and details are not described herein again.
  • the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links.
  • step S303 the manner in which the sending end device sends a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links is similar to step S303, and details are not repeated here.
  • the encapsulated multiple packet data includes the first packet data and the second packet data, and the packet sequence number of the first packet data indicates the multiple encapsulated packet data of the first packet data.
  • the order in the message data is prior to the order of the second message data in the multiple encapsulated message data, and the first message data and the second message data are different in the multiple encapsulated message data.
  • adjacent message data, and the message sequence number of the third message data indicates that the order of the third message data in the plurality of encapsulated message data is after the first message data in the plurality of encapsulated message data
  • the sequence of the packet data and the third packet data and the first packet data are adjacent packet data in the multiple encapsulated packet data as an example to be introduced as an example.
  • the receiving end device unpacks the multiple encapsulated packet data to obtain the second packet data and the packet serial number of the second packet data.
  • the receiving end device unpacks a plurality of encapsulated packet data, and can obtain the second packet data, the packet sequence number of the second packet data, and the target packet loss processing policy.
  • the specific manner in which the receiving end device performs the unpacking processing is similar to step S304, and details are not repeated here.
  • the receiving end device determines the transmission order according to the packet sequence numbers of the multiple packet data.
  • step S1007 it can be known from step S1007 that since the second packet data needs to be sent after the first packet data, if the first packet data has already been sent, it can be determined that packet loss occurs, and the receiving end device needs to Execute the third packet loss processing strategy.
  • the specific manner in which the first packet data has been sent and the specific manner for judging the occurrence of packet loss are similar to step S808, and are not repeated here.
  • the receiving end device buffers the second packet data.
  • the second packet data since the second packet data needs to be sent after the first packet data, if the first packet data has already been sent, it can be determined that packet loss occurs. In order to ensure that multiple packets can be sent in the transmission order Therefore, in the case of packet loss, the receiving end device cannot send the second packet data, that is, the second packet data needs to be buffered.
  • the receiving end device unpacks the multiple encapsulated packet data to obtain the third packet data and the packet serial number of the third packet data.
  • the receiving end device obtains the third packet data and the packet sequence number of the third packet data by unpacking the encapsulated packet data received by other communication links.
  • the data and the first message data are adjacent message data, and the message sequence number of the third message data indicates that the third message data needs to be sent after the first message data. At this time, it can be determined that the correct transmission sequence is received. message data.
  • the receiving end device sends the third packet data.
  • the receiving end device sends the third packet data obtained in step S1208.
  • the data transmission apparatus includes corresponding hardware structures and/or software modules for executing each function.
  • the present application can be implemented in hardware or a combination of hardware and computer software with reference to the modules and algorithm steps S of the examples described in the embodiments disclosed herein. Whether a function is performed by hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each particular application, but such implementations should not be considered beyond the scope of this application.
  • the data transmission apparatus may be divided into functional modules based on the foregoing method examples.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware, and can also be implemented in the form of software function modules. It should be noted that, the division of modules in the embodiments of the present application is schematic, and is only a logical function division, and there may be other division manners in actual implementation.
  • FIG. 13 is a schematic structural diagram of the data transmission device in the embodiment of the application, as shown in the figure.
  • the data transmission device 1300 includes:
  • the communication module 1301 is configured to receive multiple encapsulated packet data sent by the sending end device through the communication link, wherein the multiple encapsulated packet data is obtained by encapsulating multiple packet data according to the transmission order, and each The encapsulated message data includes the message data and the message sequence number.
  • the message sequence number indicates the order of the corresponding encapsulated message data in the multiple encapsulated message data, and the order of each encapsulated message data.
  • the order in the multiple encapsulated packet data is consistent with the transmission order; for the specific implementation, please refer to the detailed description of step S303 in the embodiment shown in FIG. 3 , or the detailed description of step S805 in the embodiment shown in FIG. 8 , or The detailed description of step S905 in the embodiment shown in FIG.
  • step S1005 in the embodiment shown in FIG. 10
  • step S1106 in the embodiment shown in FIG. 11
  • step S1106 in the embodiment shown in FIG. 12
  • S1203 The detailed description of S1203 will not be repeated here.
  • the processing module 1302 is configured to perform unpacking processing on a plurality of encapsulated message data to obtain a plurality of message data and message serial numbers of the plurality of message data; for the specific implementation method, please refer to the steps in the embodiment shown in FIG. 3
  • the detailed description of step S1107 in the illustrated embodiment or the detailed description of step S1204 in the embodiment shown in FIG. 12 will not be repeated here.
  • the processing module 1302 is further configured to determine the transmission order according to the message sequence numbers of multiple message data; for the specific implementation, please refer to the detailed description of step S305 in the embodiment shown in FIG. 3 , or the step S807 in the embodiment shown in FIG. The detailed description, or the detailed description of step S907 in the embodiment shown in FIG. 9 , or the detailed description of step S1007 in the embodiment shown in FIG. 10 , or the detailed description of step S1108 in the embodiment shown in FIG. 11 , or the detailed description of step S1108 in the embodiment shown in FIG. The detailed description of step S1205 in the embodiment will not be repeated here.
  • the communication module 1301 is further configured to send a plurality of message data according to the transmission order.
  • step S306 in the embodiment shown in FIG. 3
  • steps S808 to S810 in the embodiment shown in FIG. 8
  • steps S908 to S910 in the embodiment shown in FIG. 9 .
  • steps S1008 to S1014 in the embodiment shown in FIG. 10
  • steps S1109 to S1113 in the embodiment shown in FIG. The detailed description will not be repeated here.
  • the encapsulated packet data further includes indication information, wherein, the indication information is used to indicate the target packet loss processing strategy;
  • the communication module 1301 is further configured to send an acknowledgment message to the sender device before receiving multiple encapsulated packet data sent by the sender device through the communication link, wherein the acknowledgment message indicates that the receiver device supports the target packet loss processing policy .
  • the acknowledgment message indicates that the receiver device supports the target packet loss processing policy .
  • step S802 in the embodiment shown in FIG. 8 or the detailed description of step S902 in the embodiment shown in FIG. 9
  • the detailed description of step S1002 in the embodiment shown in FIG. 10 or the detailed description of step S1002 in the embodiment shown in FIG.
  • the detailed description of step S1102 in the exemplary embodiment will not be repeated here.
  • the multiple encapsulated packet data includes the first The message data and the second message data, and the message sequence number of the first message data indicates that the order of the first message data in the plurality of encapsulated message data precedes the second message data in the plurality of encapsulated message data.
  • the order in the message data, and the first message data and the second message data are adjacent message data in a plurality of encapsulated message data;
  • the processing module 1302 is specifically configured to perform unpacking processing on a plurality of encapsulated message data to obtain the second message data and the message sequence number of the second message data; for the specific implementation, please refer to the embodiment shown in FIG. 3 .
  • the detailed description of step S304 will not be repeated here.
  • the processing module 1302 is specifically configured to determine, according to the packet sequence number of the second packet data, that the second packet data is to be sent after the first packet data; for a specific implementation method, please refer to the detailed description of step S305 in the embodiment shown in FIG. 3 , It will not be repeated here.
  • the communication module 1301 is specifically configured to send the second message data if it is determined that the first message data has been sent.
  • step S306 in the embodiment shown in FIG. 3 , which will not be repeated here.
  • the multiple encapsulated packet data includes the first The message data and the second message data, and the message sequence number of the first message data indicates that the order of the first message data in the plurality of encapsulated message data precedes the second message data in the plurality of encapsulated message data.
  • the order in the packet data, and the first packet data and the second packet data are non-adjacent packet data in the multiple encapsulated packet data.
  • the processing module 1302 is specifically configured to The subsequent message data is unpacked to obtain the second message data and the message sequence number of the second message data; for the specific implementation method, please refer to the detailed description of step S1204 in the embodiment shown in FIG. 12 , which will not be repeated here. .
  • the processing module 1302 is specifically configured to determine, according to the packet sequence number of the second packet data, that the second packet data is to be sent after the first packet data; for a specific implementation method, please refer to the detailed description of step S1205 in the embodiment shown in FIG. 12 , It will not be repeated here.
  • the communication module 1301 is specifically configured to cache the second message data if it is determined that the first message data has been sent; for a specific implementation method, please refer to the detailed description of step S1206 in the embodiment shown in FIG. 12 , which will not be repeated here.
  • the order of the encapsulated packet data is after the order of the first packet data in the multiple encapsulated packet data, and the third packet data and the first packet data are in multiple encapsulated packets.
  • the data is adjacent message data; for a specific implementation, please refer to the detailed description of step S1207 in the embodiment shown in FIG. 12 , and details are not repeated here.
  • step S1208 in the embodiment shown in FIG. 12 , which will not be repeated here.
  • the processing module 1302 is specifically configured to The obtained packet data is unpacked to obtain the second packet data, the packet sequence number of the second packet data, and the target packet loss processing strategy, wherein the target packet loss processing strategy includes the first packet loss processing strategy; the specific implementation For the method, please refer to the detailed description of step S806 in the embodiment shown in FIG. 8 , which will not be repeated here.
  • the processing module 1302 is specifically configured to determine, according to the packet sequence number of the second packet data, that the second packet data is sent after the first packet data; for a specific implementation method, please refer to the detailed description of step S807 in the embodiment shown in FIG. 8 , It will not be repeated here.
  • the communication module 1301 is specifically configured to execute the first packet loss processing strategy if it is determined that the first packet data has been sent; for the specific implementation, please refer to the detailed description of step S808 in the embodiment shown in FIG. 8 , here No longer.
  • the second packet data is cached; for a specific implementation manner, please refer to the detailed description of step S809 in the embodiment shown in FIG. 8 , which will not be repeated here.
  • step S810 in the embodiment shown in FIG. 8 , which will not be repeated here.
  • the processing module 1302 is specifically configured to The obtained packet data is unpacked to obtain the second packet data, the packet sequence number of the second packet data, and the target packet loss processing strategy, wherein the target packet loss processing strategy includes the second packet loss processing strategy; the specific implementation For the method, please refer to the detailed description of step S906 in the embodiment shown in FIG. 9 , which will not be repeated here.
  • the processing module 1302 is specifically configured to determine, according to the packet sequence number of the second packet data, that the second packet data is sent after the first packet data; for a specific implementation method, please refer to the detailed description of step S907 in the embodiment shown in FIG. 9 , It will not be repeated here.
  • the communication module 1301 is specifically configured to execute the second packet loss processing strategy if it is determined that the first packet data has been sent; for the specific implementation, please refer to the detailed description of step S908 in the embodiment shown in FIG. 9 , here No longer.
  • step S909 determining a first time point of receiving the first encapsulated message data and a second time point of receiving the second encapsulated message data, wherein the first encapsulated message data includes the first message data
  • the packet data after the second encapsulation includes the second packet data; for a specific implementation method, please refer to the detailed description of step S909 in the embodiment shown in FIG. 9 , and details are not repeated here.
  • step S910 in the embodiment shown in FIG. 9 , which will not be repeated here.
  • the processing module 1302 is specifically configured to The obtained packet data is unpacked to obtain the second packet data, the packet sequence number of the second packet data, and the target packet loss processing strategy, wherein the target packet loss processing strategy includes a third packet loss processing strategy; the specific implementation For the method, please refer to the detailed description of step S1006 in the embodiment shown in FIG. 10 , which will not be repeated here.
  • the processing module 1302 is specifically configured to determine, according to the packet sequence number of the second packet data, that the second packet data is to be sent after the first packet data; for a specific implementation method, please refer to the detailed description of step S1007 in the embodiment shown in FIG. 10 , It will not be repeated here.
  • the communication module 1301 is specifically configured to execute the third packet loss processing strategy if it is determined that the first packet data has been sent; for the specific implementation, please refer to the detailed description of step S1008 in the embodiment shown in FIG. 10 , here No longer.
  • the second packet data is cached; for a specific implementation manner, please refer to the detailed description of step S1009 in the embodiment shown in FIG. 10 , which will not be repeated here.
  • the data request information is sent to the sender device, wherein the data request information carries the packet sequence number of the third packet data, and the data request information is used to indicate
  • the sending end device determines the third message data according to the message sequence number of the third message data, and sends the third message data to the receiving end device through the target communication link, where the target communication link is the communication link with the smallest RTT, and
  • the RTT threshold is determined according to the RTT of the target communication link; for the specific implementation, please refer to the detailed description of step S1013 in the embodiment shown in FIG. 10 , and details are not repeated here.
  • the receiving end device obtains the third packet data, and sends the third packet data.
  • step S1014 in the embodiment shown in FIG. 10 , which will not be repeated here.
  • the processing module 1302 is further configured to detect each communication
  • the RTT of the link is determined to determine the RTT of each communication link; for the specific implementation, please refer to the detailed description of step S1010 in the embodiment shown in FIG. 10 , and details are not repeated here.
  • the processing module 1302 is further configured to determine the communication link with the smallest RTT in the RTT of each communication link as the target communication link; for the specific implementation, please refer to the detailed description of step S1011 in the embodiment shown in FIG. Repeat.
  • the processing module 1302 is further configured to determine the RTT threshold according to the RTT of the target communication link.
  • the RTT threshold for a specific implementation manner, please refer to the detailed description of step S1012 in the embodiment shown in FIG. 10 , which will not be repeated here.
  • the communication module 1301 is specifically configured to pass the original communication chain Receives multiple encapsulated original packet data and multiple redundant data sent by the sending end device, wherein the original packet data is the unreplicated packet data, and the original communication link is the communication for sending the original data packet Link, redundant data is generated by grouping multiple packet data according to preset conditions, and performing forward coding and error correction FEC encoding on multiple packet data belonging to the same group, and belongs to multiple encapsulations of the same group.
  • the original packet data and the redundant data corresponding to each packet include the same packet identifier.
  • step S1106 please refer to the detailed description of step S1106 in the embodiment shown in FIG. 11 , which will not be repeated here.
  • the first packet data, the second packet data And the third message data is the original message data, and the first message data, the second message data and the third message data include the same grouping identifier, and the first message data, the second message data And the redundant data that the third message data includes the same grouping identifier is the target redundant data;
  • the processing module 1302 is specifically configured to perform unpacking processing on a plurality of encapsulated packet data to obtain second packet data, a packet sequence number of the second packet data, and a target packet loss processing strategy, wherein the target packet loss processing
  • the strategy includes a fourth packet loss processing strategy; for a specific implementation method, please refer to the detailed description of step S1107 in the embodiment shown in FIG. 11 , which will not be repeated here.
  • the processing module 1302 is specifically configured to determine, according to the packet sequence number of the second packet data, that the second packet data is to be sent after the first packet data; for a specific implementation method, please refer to the detailed description of step S1108 in the embodiment shown in FIG. 11 , It will not be repeated here.
  • the communication module 1301 is specifically configured to, if it is determined that the first packet data has been sent and the first packet data is buffered in the FEC buffer queue, the receiving end device executes the fourth packet loss processing strategy; for the specific implementation, please refer to FIG. 11 The detailed description of step S1109 in the illustrated embodiment will not be repeated here.
  • the first packet data is obtained from the FEC buffer queue; for the specific implementation, please refer to the detailed description of step S1110 in the embodiment shown in FIG. 11 , and details are not repeated here.
  • the third message data is obtained by performing repair processing on the first message data, the second message data and the target redundant data; for the specific implementation method, please refer to the detailed description of step S1111 in the embodiment shown in FIG. 11 , which is not repeated here. Repeat.
  • step S1112 in the embodiment shown in FIG. 11 , which will not be repeated here.
  • FIG. 14 is another schematic structural diagram of the data transmission device in the embodiment of the application. As shown in the figure, The data transmission device 1400 includes:
  • the communication module 1401 is used to obtain a plurality of message data according to the transmission order; for a specific implementation method, please refer to the detailed description of step S301 in the embodiment shown in FIG. 3 , which will not be repeated here.
  • the processing module 1402 is configured to encapsulate a plurality of message data according to the transmission order to obtain a plurality of encapsulated message data, wherein each encapsulated message data includes message data and a message sequence number, and the message sequence number indicates the corresponding
  • the order of the encapsulated message data in multiple encapsulated message data, the order of each encapsulated message data in the multiple encapsulated message data is consistent with the transmission order; the specific implementation method Please refer to the detailed description of step S302 in the embodiment shown in FIG. 3 , or the detailed description of step S804 in the embodiment shown in FIG. 8 , or the detailed description of step S904 in the embodiment shown in FIG. 9 , or the embodiment shown in FIG. 10 .
  • the detailed description of step S1004 in FIG. 11 , or the detailed description of step S1104 in the embodiment shown in FIG. 11 , or the detailed description of step S1202 in the embodiment shown in FIG. 12 will not be repeated here.
  • the communication module 1401 is further configured to send a plurality of encapsulated packet data to the receiving end device according to the transmission order through N communication links, N ⁇ 2.
  • N communication links N ⁇ 2.
  • step S303 in the embodiment shown in FIG. 3
  • step S805 in the embodiment shown in FIG. 8
  • step S905 in the embodiment shown in FIG. 9
  • step S905 in the embodiment shown in FIG.
  • the detailed description of step S1005 in the embodiment shown in FIG. 11 or the detailed description of step S1105 in the embodiment shown in FIG. 11
  • step S1203 in the embodiment shown in FIG. 12 is omitted here.
  • each encapsulated packet data further includes indication information, where the indication information is used to indicate a target packet loss processing policy
  • the communication module 1401 is further configured to encapsulate a plurality of message data according to the transmission order, and before obtaining a plurality of encapsulated message data, receive a confirmation message sent by the receiving end device, wherein the confirmation message indicates that the receiving end device supports the target packet loss processing strategy.
  • step S802 in the embodiment shown in FIG. 8 or the detailed description of step S902 in the embodiment shown in FIG. 9
  • step S1002 in the embodiment shown in FIG. 10 or the detailed description of step S1002 in the embodiment shown in FIG.
  • the detailed description of step S1102 in the exemplary embodiment will not be repeated here.
  • the multiple encapsulated packet data includes the first The message data and the second message data, and the message sequence number of the first message data indicates that the order of the first message data in the plurality of encapsulated message data precedes the second message data in the plurality of encapsulated message data.
  • the order in the packet data, and the first packet data and the second packet data are adjacent packet data in a plurality of encapsulated packet data.
  • the multiple encapsulated packet data includes the first The message data and the second message data, and the message sequence number of the first message data indicates that the order of the first message data in the plurality of encapsulated message data precedes the second message data in the plurality of encapsulated message data.
  • the order in the packet data, and the first packet data and the second packet data are non-adjacent packet data in the multiple encapsulated packet data.
  • the target packet loss processing policy includes the first packet loss processing Strategy
  • the first packet loss processing strategy is that the receiving end device caches the second packet data
  • the receiving end device sends the second packet data.
  • the first packet loss processing strategy please refer to the detailed description of steps S806 to S810 in the embodiment shown in FIG. 8 , and details are not repeated here.
  • the target packet loss processing policy includes the second packet loss processing Strategy
  • the second packet loss processing strategy is for the receiving end device to determine the first time point at which the first encapsulated packet data is received and the second time point at which the second encapsulated packet data is received, wherein the first encapsulated packet data is The message data includes the first message data, and the second encapsulated message data includes the second message data;
  • the receiving end device sends the second packet data.
  • the second packet loss processing policy please refer to the detailed descriptions of steps S906 to S910 in the embodiment shown in FIG. 9 , which will not be repeated here.
  • the target packet loss processing strategy includes a third packet loss processing Strategy
  • the third packet loss processing strategy is that the receiving end device caches the second packet data
  • the receiving end device If the receiving end device does not obtain the third packet data within the two-way link delay RTT threshold, it sends data request information to the transmitting end device, wherein the data request information carries the packet serial number of the third packet data, the data request information It is used to instruct the sending end device to determine the third message data according to the message sequence number of the third message data, and send the third message data to the receiving end device through the target communication link.
  • the target communication link is the communication link with the smallest RTT. route, and the RTT threshold is determined according to the RTT of the target communication link;
  • the receiving end device obtains the third packet data, and sends the third packet data.
  • the third packet loss processing strategy please refer to the detailed description of steps S1006 to S1014 in the embodiment shown in FIG. 10 , which will not be repeated here.
  • the communication module 1401 is further configured to receive data request information sent by the receiving end device; for a specific implementation method, please refer to the detailed description of step S1013 in the embodiment shown in FIG. 10 , which will not be repeated here.
  • the processing module 1402 is further configured to determine the third packet data according to the packet serial number of the third packet data.
  • the processing module 1402 is further configured to determine the third packet data according to the packet serial number of the third packet data.
  • the communication module 1401 is further configured to send the third message data to the receiving end device through the target communication link.
  • the target communication link For a specific implementation manner, please refer to the detailed description of step S1014 in the embodiment shown in FIG. 10 , which will not be repeated here.
  • the processing module 1402 is further configured to, according to preset conditions Group multiple packet data, and perform forward coding and error correction FEC encoding on multiple packet data belonging to the same group to generate redundant data corresponding to each group, wherein multiple packets in each group are The data are adjacent, and the multiple packet data belonging to the same group and the redundant data corresponding to each group include the same group identifier; for the specific implementation, please refer to the detailed description of step S1104 in the embodiment shown in FIG. 11 . It is not repeated here.
  • the processing module 1402 is specifically configured to encapsulate multiple packet data according to the transmission order to obtain multiple encapsulated packet data, wherein multiple encapsulated packet data belonging to the same group and redundant data corresponding to each packet Including the same grouping identifier; for a specific implementation manner, please refer to the detailed description of step S1105 in the embodiment shown in FIG. 11 , which will not be repeated here.
  • a plurality of message data are copied, and the plurality of copied message data are encapsulated according to the transmission order to obtain a plurality of encapsulated and copied message data.
  • step S1105 please refer to the detailed description of step S1105 in the embodiment shown in FIG. 11 , which will not be repeated here.
  • the multiple packet data is multiple original packets data
  • the multiple encapsulated packet data are multiple encapsulated original packet data
  • the communication link that sends the multiple encapsulated original packet data in the N communication links is the original communication link
  • the communication module 1401 is specifically configured to send multiple encapsulated original message data to the receiving end device according to the transmission order through the original communication link, and after the multiple encapsulated original message data including the same grouping identifier is sent, Send redundant data including the same group identifier to the receiving end device; for a specific implementation, please refer to the detailed description of step S1106 in the embodiment shown in FIG. 11 , and details are not repeated here.
  • step S1106 Send a plurality of encapsulated and replicated message data to the receiving end device through (N-1) communication links according to the transmission sequence.
  • the target packet loss processing strategy includes a fourth packet loss processing Strategy
  • the fourth packet loss processing strategy is that when the receiving end device obtains the second packet data and the target redundant data, and the first packet data has been sent, and the receiving end device does not obtain the third packet data, the FEC cache queue
  • the first message data is obtained in the
  • the message data includes the same grouping identifier, and redundant data including the same grouping identifier as the first message data, the second message data and the third message data is the target redundant data;
  • the receiving end device performs repair processing on the first message data, the second message data and the target redundant data, obtains the third message data, and sends the third message data.
  • the fourth packet loss processing strategy please refer to the detailed descriptions of steps S1007 to S1112 in the embodiment shown in FIG. 11 , which will not be repeated here.
  • FIG. 15 is another schematic structural diagram of the data transmission device in the embodiment of the application. As shown in the figure, The data transmission device 1500 includes:
  • the communication module 1501 is configured to receive an acknowledgment message sent by the receiver device, wherein the acknowledgment message indicates that the receiver device supports the target packet loss processing strategy; for a specific implementation, please refer to the detailed description of step S802 in the embodiment shown in FIG. The detailed description of step S902 in the embodiment shown in FIG. 9 , or the detailed description of step S1002 in the embodiment shown in FIG. 10 , or the detailed description of step S1102 in the embodiment shown in FIG. 11 will not be repeated here.
  • the communication module 1501 is further configured to obtain a plurality of message data according to the transmission order; for a specific implementation method, please refer to the detailed description of step S301 in the embodiment shown in FIG. 3 , which will not be repeated here.
  • the processing module 1502 is configured to encapsulate a plurality of message data according to the transmission order to obtain a plurality of encapsulated message data, wherein each encapsulated message data includes message data, message serial number and indication information, and the message
  • the sequence number indicates the order of the corresponding encapsulated message data in the multiple encapsulated message data, and the order of each encapsulated message data in the multiple encapsulated message data is consistent with the transmission order.
  • the indication information is used to indicate the target packet loss processing strategy; for the specific implementation, please refer to the detailed description of step S302 in the embodiment shown in FIG. 3 , or the detailed description of step S804 in the embodiment shown in FIG. 8 , or the embodiment shown in FIG. 9 .
  • step S904 in the embodiment shown in FIG. 10 or the detailed description of step S1004 in the embodiment shown in FIG. 10 , or the detailed description of step S1104 in the embodiment shown in FIG. 11 , or the detailed description of step S1202 in the embodiment shown in FIG. 12 , this It is not repeated here.
  • the communication module 1501 is further configured to send a plurality of encapsulated packet data to the receiving end device according to the transmission order through the N communication links, N ⁇ 2.
  • N the number of communication links
  • the detailed description of step S1005 in the embodiment shown in FIG. 11 or the detailed description of step S1105 in the embodiment shown in FIG. 11 , or the detailed description of step S1203 in the embodiment shown in FIG. 12 is omitted here.
  • the multiple encapsulated packet data includes first packet data and second packet data
  • the message sequence number of the first message data indicates that the order of the first message data in the plurality of encapsulated message data precedes the order of the second message data in the plurality of encapsulated message data
  • the first message The first packet data and the second packet data are adjacent packet data in a plurality of encapsulated packet data.
  • the multiple encapsulated packet data includes first packet data and second packet data
  • the message sequence number of the first message data indicates that the order of the first message data in the plurality of encapsulated message data precedes the order of the second message data in the plurality of encapsulated message data
  • the first message The first packet data and the second packet data are non-adjacent packet data in the multiple encapsulated packet data.
  • the target packet loss processing policy includes a first packet loss processing policy
  • the first packet loss processing strategy is that the receiving end device caches the second packet data
  • the receiving end device sends the second packet data.
  • the first packet loss processing strategy please refer to the detailed description of steps S806 to S810 in the embodiment shown in FIG. 8 , and details are not repeated here.
  • the target packet loss processing policy includes a second packet loss processing policy
  • the second packet loss processing strategy is for the receiving end device to determine the first time point at which the first encapsulated packet data is received and the second time point at which the second encapsulated packet data is received, wherein the first encapsulated packet data is The message data includes the first message data, and the second encapsulated message data includes the second message data;
  • the receiving end device sends the second packet data.
  • the second packet loss processing policy please refer to the detailed descriptions of steps S906 to S910 in the embodiment shown in FIG. 9 , which will not be repeated here.
  • the target packet loss processing policy includes a third packet loss processing policy
  • the third packet loss processing strategy is that the receiving end device caches the second packet data
  • the receiving end device If the receiving end device does not obtain the third packet data within the two-way link delay RTT threshold, it sends data request information to the transmitting end device, wherein the data request information carries the packet serial number of the third packet data, the data request information It is used to instruct the sending end device to determine the third message data according to the message sequence number of the third message data, and send the third message data to the receiving end device through the target communication link.
  • the target communication link is the communication link with the smallest RTT. route, and the RTT threshold is determined according to the RTT of the target communication link;
  • the receiving end device obtains the third packet data, and sends the third packet data.
  • the third packet loss processing strategy please refer to the detailed description of steps S1006 to S1014 in the embodiment shown in FIG. 10 , which will not be repeated here.
  • the communication module 1501 is further configured to receive data request information sent by the receiving end device; Referring to the detailed description of step S1013 in the embodiment shown in FIG. 10 , details are not repeated here.
  • the processing module 1502 is further configured to determine the third message data according to the message sequence number of the third message data; for the specific implementation, please refer to the detailed description of step S1013 in the embodiment shown in FIG. 10 , which will not be repeated here.
  • the communication module 1501 is further configured to send the third message data to the receiving end device through the target communication link.
  • the target communication link For a specific implementation manner, please refer to the detailed description of step S1014 in the embodiment shown in FIG. 10 , which will not be repeated here.
  • the processing module 1502 is further configured to group a plurality of packet data according to preset conditions, and Perform forward coding and error correction FEC coding on multiple message data belonging to the same group, and generate redundant data corresponding to each group, wherein multiple message data in each group are adjacent and belong to the same group.
  • the multiple packet data of 1 and the redundant data corresponding to each group include the same group identifier; for the specific implementation method, please refer to the detailed description of step S1104 in the embodiment shown in FIG. 11 , which will not be repeated here.
  • the processing module 1502 is specifically configured to encapsulate multiple packet data according to the transmission order to obtain multiple encapsulated packet data, wherein multiple encapsulated packet data belonging to the same group and redundant data corresponding to each packet Including the same grouping identifier; for a specific implementation manner, please refer to the detailed description of step S1105 in the embodiment shown in FIG. 11 , which will not be repeated here.
  • a plurality of message data are copied, and the plurality of copied message data are encapsulated according to the transmission order to obtain a plurality of encapsulated and copied message data.
  • step S1105 please refer to the detailed description of step S1105 in the embodiment shown in FIG. 11 , which will not be repeated here.
  • the multiple packet data is multiple original packet data
  • multiple encapsulated packets are The data is a plurality of encapsulated original message data
  • the communication link for sending the plurality of encapsulated original message data among the N communication links is the original communication link
  • the communication module 1501 is specifically configured to send multiple encapsulated original message data to the receiving end device according to the transmission order through the original communication link, and after the multiple encapsulated original message data including the same grouping identifier is sent, Send redundant data including the same group identifier to the receiving end device; for a specific implementation, please refer to the detailed description of step S1106 in the embodiment shown in FIG. 11 , and details are not repeated here.
  • step S1106 Send a plurality of encapsulated and replicated message data to the receiving end device through (N-1) communication links according to the transmission sequence.
  • the target packet loss processing strategy includes a fourth packet loss processing strategy
  • the fourth packet loss processing strategy is that when the receiving end device obtains the second packet data and the target redundant data, and the first packet data has been sent, and the receiving end device does not obtain the third packet data, the FEC cache queue
  • the first message data is obtained in the
  • the message data includes the same grouping identifier, and redundant data including the same grouping identifier as the first message data, the second message data and the third message data is the target redundant data;
  • the receiving end device performs repair processing on the first message data, the second message data and the target redundant data, obtains the third message data, and sends the third message data.
  • the fourth packet loss processing strategy please refer to the detailed descriptions of steps S1007 to S1112 in the embodiment shown in FIG. 11 , which will not be repeated here.
  • FIG. 16 is a schematic diagram of a specific logical structure of the network device 1600 involved in the above embodiments provided for the embodiment of the present application.
  • the network device 1600 may include but is not limited to a processor 1601 , a communication port 1602 , a memory 1603, the bus 1604, in the embodiment of the present application, the processor 1601 is used to control and process the actions of the network device 1600, and the processor 1601 is also used to execute the instructions stored in the memory 1603 to control the communication port 1602 to send signals and / or receive signals.
  • the network device 1600 may correspond to the receiving end device or the transmitting end device in the above method embodiments, and may be used to execute various steps and/or processes performed by the receiving end device or the transmitting end device in the above method embodiments.
  • memory 1603 may include read-only memory and random access memory and provide instructions and data to processor 1601 .
  • a portion of memory 1603 may also include non-volatile random access memory.
  • the memory 1603 can be a separate device or can be integrated in the processor 1601 .
  • the communication port 1602 may include a transmitter and a receiver.
  • the communication port 1602 may further include an antenna, and the number of the antenna may be one or more.
  • the processor 1601, the communication port 1602 and the memory 1603 may be devices integrated on different chips.
  • the processor 160 and the memory 1603 may be integrated in the baseband chip, and the communication port 1602 may be integrated in the radio frequency chip.
  • the processor 1601, the communication port 1602 and the memory 1603 may also be devices integrated on the same chip. This application does not limit this.
  • the network device 1600 corresponds to the receiving end device in the foregoing method embodiment.
  • the modules in the embodiment shown in FIG. 13 such as the communication module 1301, the processing module 1302 and other modules are implemented in software
  • the communication module 1301 and the processing module 1302 can be stored in this embodiment.
  • the processor 1601 runs the processing module 1302
  • the communication port 1602 runs the communication module 1301, so as to execute the functions of the communication module 1301 and the processing module 1302 in the above embodiment.
  • the network device 1600 corresponds to the sending end device in the foregoing method embodiment.
  • the modules in the embodiment shown in FIG. 14, such as the communication module 1401, the processing module 1402 and other modules are implemented in software
  • the communication module 1401 and the processing module 1402 can be stored in this embodiment.
  • the processing module 1402 is run by the processor 1601
  • the communication module 1401 is run by the communication port 1602, so as to execute the functions of the communication module 1401 and the processing module 1402 in the above embodiment.
  • the network device 1600 corresponds to the sending end device in the foregoing method embodiment.
  • the modules in the embodiment shown in FIG. 15, such as the communication module 1501, the processing module 1502 and other modules are implemented in software
  • the communication module 1501 and the processing module 1502 can be stored in this embodiment.
  • the processing module 1502 is run by the processor 1601
  • the communication module 1501 is run by the communication port 1602, so as to execute the functions of the modules in the above embodiments.
  • the processor 1601 may be a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It may implement or execute the various exemplary logical blocks, modules and circuits described in connection with this disclosure.
  • the processor may also be a combination that implements computing functions, such as a combination comprising one or more microprocessors, a combination of a digital signal processor and a microprocessor, and the like.
  • An embodiment of the present application provides a receiving end device, including at least one processor, where the at least one processor is configured to execute a computer program stored in a memory, so that the sending end device executes the receiving end device in any of the above method embodiments method performed.
  • An embodiment of the present application provides a sending end device, including at least one processor, where the at least one processor is configured to execute a computer program stored in a memory, so that the sending end device executes the sending end device in any of the foregoing method embodiments method performed.
  • An embodiment of the present application provides a communication system, including a sending end device and a receiving end device, the sending end device executes the method executed by the receiving end device in any of the above method embodiments, and the receiving end device executes the sending end device in any of the above method embodiments. method performed by the end device.
  • An embodiment of the present application provides a computer program product, where the computer program product includes: a computer program (also referred to as code, or an instruction), when the computer program is run, the computer executes any of the foregoing method embodiments.
  • a computer program also referred to as code, or an instruction
  • the present application further provides a data transmission apparatus, including at least one processor, where the at least one processor is configured to execute a computer program stored in a memory, so that the data transmission apparatus executes the receiving end device in any of the above method embodiments and/or the method performed by the sender device.
  • the above data transmission device may be one or more chips.
  • the data transmission device may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), or a system on chip (SoC). It can be a central processing unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), or a microcontroller (microcontroller). unit, MCU), it can also be a programmable logic device (PLD) or other integrated chips.
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • SoC system on chip
  • SoC system on chip
  • SoC system on chip
  • MCU microcontroller
  • MCU programmable logic device
  • PLD programmable logic device
  • the embodiments of the present application also provide a data transmission device, which includes a processor and a communication interface.
  • the communication interface is coupled with the processor.
  • the communication interface is used to input and/or output information.
  • the information includes at least one of instructions and data.
  • the processor is configured to execute a computer program, so that the data transmission apparatus executes the method executed by the receiving end device and/or the sending end device in any of the above method embodiments.
  • the embodiments of the present application also provide a data transmission device, which includes a processor and a communication interface.
  • the communication interface is coupled with the processor.
  • the communication interface is used to input and/or output information.
  • the information includes at least one of instructions and data.
  • the processor is configured to execute a computer program, so that the data transmission apparatus executes the method executed by the receiving end device and/or the sending end device in any of the above method embodiments.
  • Embodiments of the present application also provide a data transmission device, including a processor and a memory.
  • the memory is used to store a computer program
  • the processor is used to call and run the computer program from the memory, so that the data transmission apparatus executes the receiving end device and/or the sending end device in any of the above method embodiments. method performed.
  • each step of the above-mentioned method can be completed by a hardware integrated logic circuit in a processor or an instruction in the form of software.
  • the steps of the methods disclosed in conjunction with the embodiments of the present application may be directly embodied as executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • the software modules may be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other storage media mature in the art.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware. To avoid repetition, detailed description is omitted here.
  • the processor in this embodiment of the present application may be an integrated circuit chip, which has a signal processing capability.
  • each step of the above method embodiments may be completed by a hardware integrated logic circuit in a processor or an instruction in the form of software.
  • the aforementioned processors may be general purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components .
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs field programmable gate arrays
  • the methods, steps, and logic block diagrams disclosed in the embodiments of this application can be implemented or executed.
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the steps of the method disclosed in conjunction with the embodiments of the present application may be directly embodied as executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor.
  • the software modules may be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other storage media mature in the art.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
  • the memory in this embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically programmable Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory may be random access memory (RAM), which acts as an external cache.
  • RAM random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous DRAM
  • SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous link dynamic random access memory
  • direct rambus RAM direct rambus RAM
  • the present application also provides a computer program product, the computer program product includes: computer program code, when the computer program code is run on a computer, the computer is made to execute FIG. 3 , FIG. 8 , Methods performed by each unit in the embodiment shown in FIG. 9 , FIG. 10 , FIG. 11 and FIG. 12 .
  • the present application also provides a computer-readable storage medium, where the computer-readable storage medium stores program codes, and when the program codes are run on a computer, the computer is made to execute FIG. 3 , and FIG. 8, FIG. 9, FIG. 10, FIG. 11 and FIG. 12 in the embodiment shown in the method performed by each unit.
  • the modules in the above-mentioned device embodiments correspond to the units in the method embodiments completely, and the corresponding modules or units perform corresponding steps. Other steps may be performed by a processing unit (processor). For functions of specific units, reference may be made to corresponding method embodiments.
  • the number of processors may be one or more.
  • a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
  • an application running on a computing device and the computing device may be components.
  • One or more components may reside within a process and/or thread of execution, and a component may be localized on one computer and/or distributed between 2 or more computers.
  • these components can execute from various computer readable media having various data structures stored thereon.
  • a component may, for example, be based on a signal having one or more data packets (eg, data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet interacting with other systems via signals) Communicate through local and/or remote processes.
  • data packets eg, data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet interacting with other systems via signals
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本申请实施例公开了一种数据传输方法、相关装置以及设备,该方法应用于通信领域,用于提升数据传输的可靠性,并降低数据传输时延。本申请实施例方法中,发送端设备按照传输次序得到多个报文数据,再按照传输次序封装多个报文数据,得到N个封装后的报文数据,并通过多条通信链路按照传输次序向接收端设备发送多个封装后的报文数据,由此接收端设备能够通过通信链路接收发送端设备发送的多个封装后的报文数据,并对多个封装后的报文数据进行拆包处理,得到多个报文数据以及多个报文数据的报文序号,再根据多个报文数据的报文序号确定传输次序,并按照传输次序发送多个报文数据,N≥2。

Description

一种数据传输方法、相关装置以及设备
本申请要求于2021年03月22日提交中国专利局、申请号为202110303162.2、发明名称为“一种数据传输方法、相关装置以及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及通信领域,尤其涉及一种数据传输方法、相关装置以及设备。
背景技术
随着通信技术的发展,人们对高数据速率和用户体验的需求日益增长,因此人们对了解周边人或事物,并与周边人或事物通信的邻近服务的需求逐渐增加。基于此,无线通信技术大多数的应用场景在于物与物通信领域,而小部分的应用场景在于人与物通信,而在第五代移动通信技术(5th generation mobile networks,5G)下,5G在业务领域的应用(5G to Business,5GtoB)包括但不限于安防监控、工业制造、电力电网、智慧医疗和智慧教育等。5G通信标准能够满足工业通信实时性以及稳定性需求,推动了工业技术的应用创新,但目前仍有带宽、时延、切片、边云协同等技术层面的多种挑战需要攻克,使得应用、平台、网络、边缘各层次具备能力,协同实现工业制造领域的智能化。以工业领域为例,在工业场景中尤其对网络的可靠性、时延、抖动更加敏感,因此从网络层面如何解决这些问题决定5G能否在工业制造领域规模化商用的关键。
目前,对于部分不满足或者不方便部署有线连接的场景,使用无线保真网络(Wireless-Fidelity,WIFI)连接或者使用5G连接,解决网络连通性的问题,使得能够在无线网络连接的场景下进行数据传输。
然而,由于无线网络连接受环境以及天气干扰影响较大,因此在工业生产环境下,网络连接的时延、抖动以及可靠性均无法得到保障,因此在无法保障时延、抖动以及可靠性的网络中进行数据传输,会提升数据传输的时延并且降低数据传输的可靠性,因此如何提高在无线网络连接中降低数据传输的时延,且提升数据传输的可靠性是一个亟待解决的问题。
发明内容
本申请提供了一种数据传输方法、相关装置以及设备,由于接收端设备对封装后的报文数据进行拆包后,通过所包括的报文序号能够确定得到的报文数据按照传输次序发送,保证数据是按照传输次序发送的,由此提升数据传输的可靠性。其次,发送端设备通过多条通信链路发送封装后的报文数据,因此可以降低数据传输时延。
本申请的第一方面提供了一种数据传输方法,该方法可以由接收端设备执行,或者也可以由配置于接收端设备中的芯片执行,本申请对此不作限定。在该方法中,接收端设备先通过通信链路接收发送端设备发送的多个封装后的报文数据,多个封装后的报文数据是按照传输次序封装多个报文数据得到的,且每个封装后的报文数据包括报文数据以及报文序号,报文序号指示对应的封装后的报文数据在多个封装后的报文数据中的次序,每个封装后的报文数据的次序在多个封装后的报文数据中的次序与传输次序一致。然后对多个封 装后的报文数据进行拆包处理,得到多个报文数据以及多个报文数据的报文序号,并且根据多个报文数据的报文序号确定传输次序,最后按照传输次序发送多个报文数据。
在该实施方式中,由于接收端对封装后的报文数据进行拆包后,通过所包括的报文序号能够确定得到的报文数据按照传输次序发送,保证数据是按照传输次序发送的,由此提升数据传输的可靠性。
在本申请的一种可选实施方式中,封装后的报文数据还包括指示信息,该指示信息用于指示目标丢包处理策略,因此在接收端设备通过通信链路接收发送端设备发送的多个封装后的报文数据之前,接收端设备还需要向发送端设备发送确认消息,该确认消息指示接收端设备支持目标丢包处理策略。
在该实施方式中,由于确认消息能够指示接收端设备支持目标丢包处理策略,因此发送端设备能够基于确认消息,在进行封装的过程中还能够封装指示目标丢包处理策略的指示信息,因此封装后的报文数据能够包括指示信息,使得接收端设备在确定出现丢包时,能够基于指示信息所指示的目标丢包处理策略进行丢包处理,由此保证数据能够有序传输,进一步地提高数据传输的可靠性。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是相邻的报文数据。基于此,接收端设备能够对多个封装后的报文数据进行拆包处理,得到第二报文数据以及第二报文数据的报文序号,然后根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送,若此时接收端设备能够确定第一报文数据已被发送,由于第一报文数据与第二报文数据是相邻的报文数据,从而能够发送第二报文数据,并且此时是按照传输次序发送第二报文数据的。
在该实施方式中,接收端设备对封装后的报文数据进行拆包处理后,能够等到封装后的报文数据中包括的报文数据,并通过报文数据的报文序号确定传输次序,在该报文数据的前一个报文数据已被发送时,能够确定此时未丢包,因此可以继续发送该报文数据,且此时数据传输是保序的,从而提升了数据传输的可靠性。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据。
在该实施方式中,接收端设备所接收到的多个封装后的报文数据中包括不相邻的报文数据,即此次数据传输的过程中出现了丢包情况,需要此时需要基于丢包处理策略进行丢包处理,由此提升了本方案的多样性以及可行性。
在本申请的一种可选实施方式中,基于出现丢包的情况,接收端设备对多个封装后的报文数据进行拆包处理,得到第二报文数据以及第二报文数据的报文序号,且根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送,若确定第一报文数据已被发送,由于第一报文数据与第二报文数据是不相邻的报文数据,若直接对第二报文数据进 行发送会有乱序的可能性,因此需要缓存第二报文数据。基于此,接收端设备再对多个封装后的报文数据进行拆包处理,若能够得到第三报文数据以及第三报文数据的报文序号,且第三报文数据的报文序号指示第三报文数据在多个封装后的报文数据中的次序后于第一报文数据在多个封装后的报文数据中的次序,且第三报文数据与第一报文数据在多个封装后的报文数据中是相邻的报文数据,即第三报文数据为第一报文数据的后一个报文数据,此时接收端设备发送第三报文数据。
在该实施方式中,接收端设备将报文序号所指示的传输顺序错误的报文数据(即第二报文数据)进行缓存。由于发送端设备会从多条通信链路发送多个封装后的报文数据,因此若对另一通信链路上接收到的多个封装后的报文数据进行拆包处理后,能够得到报文序号所指示的传输顺序正确的报文数据(即第三报文数据),即能够发送报文序号所指示的传输顺序正确的报文数据,且能够保证数据传输的顺序,达成保序需求,从而保证了数据传输的可靠性。
在本申请的一种可选实施方式中,基于出现丢包的情况,接收端设备对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,该目标丢包处理策略包括第一丢包处理策略,然后根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送,由于第一报文数据与第二报文数据是不相邻的报文数据,若直接对第二报文数据进行发送会有乱序的可能性,因此若确定第一报文数据已被发送,需要执行第一丢包处理策略。具体地,接收端设备缓存第二报文数据,若第二报文数据的缓存时间大于第一时间阈值,则接收端设备发送第二报文数据。若在第一时间阈值内接收端设备可以从另外的通信链路接收到包括第三报文数据的封装后的报文数据,即对该封装后的报文数据进行拆包后得到第三报文数据,并发送第三报文数据。可选地,第一时间阈值可以为多个报文数据所对应的业务所能容忍缓存的最小值(例如10毫秒(ms)),或,第一时间阈值还可以为多个报文数据所对应的业务所能容忍缓存的最大值(例如1秒(s)),本实施例中不对此进行限定。
在该实施方式中,在第一时间阈值为多个报文数据所对应的业务所能容忍缓存的最小值时,缺失的报文数据(例如第三报文数据)可选择在后续到达时丢弃或者转发,以减少缓存报文数据所增加的时延,从而降低数据传输的时延。其次,在第一时间阈值为多个报文数据所对应的业务所能容忍缓存的最大值时,以便接收端设备尽可能的等待缺失的报文数据(例如第三报文数据)的到达,能够保证数据传输的保序,而保证数据传输的可靠性。
在本申请的一种可选实施方式中,基于出现丢包的情况,接收端设备对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,该目标丢包处理策略包括第二丢包处理策略,然后根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送,由于第一报文数据与第二报文数据是不相邻的报文数据,若直接对第二报文数据进行发送会有乱序的可能性,因此若确定第一报文数据已被发送,需要执行第二丢包处理策略。具体地,接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,第一封装后的报文数据包括第一报文数据,第二封装后的报文数据包括第二报文数据,当第一时间点与第二 时间点之差大于第二时间阈值时,接收端设备发送第二报文数据。例如,在进行抖动要求高的业务室,设定多个数据包的传输时间间隔为10ms传输报文数据,以13ms作为第二时间阈值,若接收到两个相邻封装后的报文数据的时间间隔大于13ms,可能出现数据传输的链路或者操作有问题,此时不考虑传输次序而直接对后一个报文数据进行发送。应理解,目标丢包处理策略还可以包括第一丢包处理策略以及第二丢包处理策略,也就是基于抖动与时延,或者抖动与保序共同对数据传输进行处理,在此不进行进一步赘述。
在该实施方式中,部分业务对抖动时间要求较高,即希望多个数据包能够在一定时间间隔之内传输。基于此对抖动时间进行考虑,在两个相邻封装后的报文数据的时间间隔大于第二时间阈值时,即使拆包得到的为传输顺序不正确的报文数据,也会进行发送,从而保证对抖动时间要求较高的部分业务能够得到保证,由此提升数据传输的灵活性以及可行性。
在本申请的一种可选实施方式中,基于出现丢包的情况,接收端设备对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,该目标丢包处理策略包括第三丢包处理策略,然后根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送,由于第一报文数据与第二报文数据是不相邻的报文数据,若直接对第二报文数据进行发送会有乱序的可能性,因此若确定第一报文数据已被发送,需要执行第三丢包处理策略。具体地,接收端设备缓存第二报文数据,当接收端设备在双向链路时延RTT阈值内未得到第三报文数据时,向发送端设备发送数据请求信息,该数据请求信息携带第三报文数据的报文序号,数据请求信息用于指示发送端设备根据第三报文数据的报文序号确定第三报文数据,并通过目标通信链路向接收端设备发送第三报文数据,目标通信链路为RTT最小的通信链路,且RTT阈值是根据目标通信链路的RTT确定的。基于此,若接收端设备在发送完数据请求信息后,通过对其他通信链路获取的多个封装后的报文数据进行拆包处理,若能够得到第三报文数据,则不等待发送端设备重传第三报文数据,而是直接发送拆包所获取的第三报文数据。其次,若接收端设备在发送完数据请求信息后,未能通过拆包处理得到第三报文数据,则需要等待发送端设备重传第三报文数据,然后再进行发送,在实际应用中,上述两种情况都可能发生,具体不对接收端设备如何获取第三报文数据进行限定。应理解,目标丢包处理策略还可以包括第一丢包处理策略,第二丢包处理策略以及第三丢包处理策略中至少一种的组合,在此不进行进一步赘述。
在该实施方式中,在RTT阈值还未收到其他通信链路发送封装后的报文数据的报文,通过主动向发送端设备数据请求信息,即进行丢包重请求,并且通过RTT最小的通信链路接收重新发送的报文数据,由此能够减少缓存等待时间和丢包的可能性,以使得丢包和时延的优化平衡,提升数据传输的效率,以降低数据传输的时延,且能够保证数据传输的可靠性。
在本申请的一种可选实施方式中,接收端设备检测每条通信链路的RTT,以确定每条通信链路的RTT,然后将每条通信链路的RTT中RTT最小的通信链路确定为目标通信链路,并根据目标通信链路的RTT确定RTT阈值。本实施例中,将目标通信链路的RTT的1/2的 时间确定为RTT阈值,在实际应用中,RTT阈值可以为目标通信链路的RTT的1/3的时间等,具体需要根据业务需求灵活限定。
在该实施方式中,通过确定RTT最小的通信链路,由此使得发送端在确定了丢包的报文数据后,以RTT最小的通信链路进行数据重传,从而能够减少缓存等待时间,进一步地以降低数据传输的时延。
在本申请的一种可选实施方式中,接收端设备能够通过原始通信链路接收发送端设备发送的多个封装后的原始报文数据以及多个冗余数据,其中,原始报文数据为未进行复制的报文数据,原始通信链路为发送原始数据报文的通信链路,冗余数据是根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错(forward error correction,FEC)编码生成的,且属于同一分组的多个封装后的原始报文数据以及每个分组对应的冗余数据包括相同的分组标识。
在该实施方式中,由于未被进行复制的多个报文数据是最完整且错误率较低的,因此对这样的多个报文数据进行FEC编码能够生成准确度较高的冗余数据,能够使得后续采用该冗余数据进行报文数据修复时,得到最准确无误的数据,进一步地保证数据传输的可靠性。
在本申请的一种可选实施方式中,第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,且第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识,且与第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识的冗余数据为目标冗余数据。基于出现丢包的情况,接收端设备对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,其中,目标丢包处理策略包括第四丢包处理策略,然后根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送。基于此,若确定第一报文数据已被发送,且第一报文数据被缓存于FEC缓存队列,由于第一报文数据与第二报文数据是不相邻的报文数据,若直接对第二报文数据进行发送会有乱序的可能性,因此需要执行第四丢包处理策略。具体地,接收端设备从FEC缓存队列中获取第一报文数据,然后通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据,接收端设备发送第三报文数据。基于此,若接收端设备在进行修复处理时通过对其他通信链路获取的多个封装后的报文数据进行拆包处理,能够得到第三报文数据,则不继续进行修复处理,而是直接发送拆包所获取的第三报文数据。其次,若接收端设备进行修复处理时,未能通过拆包处理得到第三报文数据,则需要等待进行修复处理得到第三报文数据,然后再进行发送,在实际应用中,上述两种情况都可能发生,具体不对接收端设备所发送的第三报文数据的获取方式进行限定。
在该实施方式中,由于第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,即目标冗余数据是根据第一报文数据,第二报文数据以及第三报文数据生成的,通过准确度较高的冗余数据进行报文数据的修复,能够得到最准确无误的第三报文数据,进一步地保证数据传输的可靠性。
本申请的第二方面提供了另一种数据传输方法,该方法可以由发送端设备执行,或者也可以由配置于发送端设备中的芯片执行,本申请对此不作限定。在该方法中,发送端设 备按照传输次序得到多个报文数据,然后按照传输次序封装多个报文数据,得到多个封装后的报文数据,每个封装后的报文数据包括报文数据以及报文序号,且报文序号指示对应的封装后的报文数据在多个封装后的报文数据中的次序,每个封装后的报文数据的次序在多个封装后的报文数据中的次序与传输次序一致,然后通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据,其中N为大于或等于2的整数。
在该实施方式中,发送端设备能够通过多条通信链路发送封装后的报文数据,能够提升数据传输效率,因此可以降低数据传输时延。
在本申请的一种可选实施方式中,每个封装后的报文数据还包括指示信息,其中,指示信息用于指示目标丢包处理策略,因此发送端设备需要接收接收端设备发送的确认消息,其中,确认消息指示接收端设备支持目标丢包处理策略。
在该实施方式中,由于确认消息能够指示接收端设备支持目标丢包处理策略,因此发送端设备能够基于确认消息,在进行封装的过程中还能够封装指示目标丢包处理策略的指示信息,因此在接收端设备出现丢包的情况下,能够基于指示信息所指示的目标丢包处理策略进行丢包处理,由此保证数据能够有序传输,由此提高数据传输的可靠性。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是相邻的报文数据。
在该实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,并且是相邻的报文数据,即能够确定接收端设备是按照传输次序接收到多个封装后的报文数据,即未出现丢包,使得接收端设备继续进行的数据传输是保序的,从而提升了数据传输的可靠性。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据。
在该实施方式中,由于第一报文数据与第二报文数据是不相邻的报文数据,因此可以确定向接收端设备发送多个封装后的报文数据的过程中出现了丢包情况,需要接收端设备需要基于丢包处理策略进行丢包处理,由此提升了本方案的多样性以及可行性。
在本申请的一种可选实施方式中,目标丢包处理策略包括第一丢包处理策略。具体地,第一丢包处理策略为接收端设备缓存第二报文数据,并且在第二报文数据的缓存时间大于第一时间阈值时,接收端设备发送第二报文数据。
在该实施方式中,在出现丢包的情况下,接收端设备能够通过封装后的报文数据中所包括的目标丢包处理策略,进行丢包处理,由此提升本方案的可行性。其次,使得接收端设备能够保证数据传输的保序,而保证数据传输的可靠性。
在本申请的一种可选实施方式中,目标丢包处理策略包括第二丢包处理策略。具体地,第二丢包处理策略为接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收 到第二封装后的报文数据的第二时间点,该第一封装后的报文数据包括第一报文数据,第二封装后的报文数据包括第二报文数据,若第一时间点与第二时间点之差大于第二时间阈值,接收端设备发送第二报文数据。
在该实施方式中,在出现丢包的情况下,接收端设备能够通过封装后的报文数据中所包括的目标丢包处理策略,进行丢包处理,由此提升本方案的可行性。其次,使得接收端设备能够提升数据传输的灵活性以及可行性。
在本申请的一种可选实施方式中,目标丢包处理策略包括第三丢包处理策略。具体地,第三丢包处理策略为接收端设备缓存第二报文数据,若接收端设备在双向链路时延RTT阈值内未得到第三报文数据,则向发送端设备发送数据请求信息,该数据请求信息携带第三报文数据的报文序号,数据请求信息用于指示发送端设备根据第三报文数据的报文序号确定第三报文数据,并通过目标通信链路向接收端设备发送第三报文数据,目标通信链路为RTT最小的通信链路,且RTT阈值是根据目标通信链路的RTT确定的,然后接收端设备获取第三报文数据,并发送第三报文数据。
在该实施方式中,在出现丢包的情况下,接收端设备能够通过封装后的报文数据中所包括的目标丢包处理策略,进行丢包处理,由此提升本方案的可行性。其次,使得接收端设备能够减少缓存等待时间和丢包的可能性,以使得丢包和时延的优化平衡,提升数据传输的效率,以降低数据传输的时延,且能够保证数据传输的可靠性。
在本申请的一种可选实施方式中,发送端设备还可以接收接收端设备发送的数据请求信息,并且根据第三报文数据的报文序号确定第三报文数据,最后通过目标通信链路向接收端设备发送第三报文数据。
在该实施方式中,通过RTT最小的通信链路发送丢失的报文数据,由此提升数据传输的效率,以降低数据传输的时延。
在本申请的一种可选实施方式中,发送端设备还可以根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据,每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识。基于此,发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据包括相同的分组标识。然后对多个报文数据进行复制,并按照传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。
在该实施方式中,通过对多个报文数据复制多份,得到报文数据所包括的信息类似的数据,并选择多条通信链路进行发送,由此提升奔放的可行性。
在本申请的一种可选实施方式中,多个报文数据为多个原始报文数据,且多个封装后的报文数据为多个封装后的原始报文数据,且N条通信链路中发送多个封装后的原始报文数据的通信链路为原始通信链路。基于此,发送端设备能够通过原始通信链路按照传输次序向接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,向接收端设备发送包括相同的分组标识的冗余数据,并且通过(N-1)条通信链路按照传输次序向接收端设备发送多个封装后的复制后的报文数据。
在该实施方式中,选择多条通信链路发送封装后的报文数据,能够在某一条或几条通信链路出现丢包时,通过其他通信链路得到所需报文数据,保证数据传输的可靠性。
在本申请的一种可选实施方式中,目标丢包处理策略包括第四丢包处理策略。具体地,第四丢包处理策略为接收端设备从FEC缓存队列中获取第一报文数据,然后通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据吗,第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,且第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识,且与第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识的冗余数据为目标冗余数据,再发送第三报文数据。
在该实施方式中,在出现丢包的情况下,由于第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,即目标冗余数据是根据第一报文数据,第二报文数据以及第三报文数据生成的,因此接收端设备能够通过准确度较高的冗余数据进行报文数据的修复,能够得到最准确无误的第三报文数据,进一步地保证数据传输的可靠性。
本申请的第三方面提供了另一种数据传输方法,该方法可以由发送端设备执行,或者也可以由配置于发送端设备中的芯片执行,本申请对此不作限定。在该方法中,发送端设备先接收接收端设备发送的确认消息,该确认消息指示接收端设备支持目标丢包处理策略。然后发送端设备按照传输次序得到多个报文数据,再按照传输次序封装多个报文数据,得到多个封装后的报文数据,每个封装后的报文数据包括报文数据、报文序号以及指示信息,且报文序号指示对应的封装后的报文数据在多个封装后的报文数据中的次序,每个封装后的报文数据的次序在多个封装后的报文数据中的次序与传输次序一致,而指示信息用于指示目标丢包处理策略,最后通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据,其中N为大于或等于2的整数。
在该实施方式中,发送端设备能够通过多条通信链路发送封装后的报文数据,能够提升数据传输效率,因此可以降低数据传输时延。其次,由于确认消息能够指示接收端设备支持目标丢包处理策略,因此发送端设备能够基于确认消息,在进行封装的过程中还能够封装指示目标丢包处理策略的指示信息,因此在接收端设备出现丢包的情况下,能够基于指示信息所指示的目标丢包处理策略进行丢包处理,由此保证数据能够有序传输,由此提高数据传输的可靠性。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是相邻的报文数据。
在该实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,并且是相邻的报文数据,即能够确定接收端设备是按照传输次序接收到多个封装后的报文数据,即未出现丢包,使得接收端设备继续进行的数据传输是保序的,从而提升了数据传输的可靠性。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序 先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据。
在该实施方式中,由于第一报文数据与第二报文数据是不相邻的报文数据,因此可以确定向接收端设备发送多个封装后的报文数据的过程中出现了丢包情况,需要接收端设备需要基于丢包处理策略进行丢包处理,由此提升了本方案的多样性以及可行性。
在本申请的一种可选实施方式中,目标丢包处理策略包括第一丢包处理策略。具体地,第一丢包处理策略为接收端设备缓存第二报文数据,并且在第二报文数据的缓存时间大于第一时间阈值时,接收端设备发送第二报文数据。
在该实施方式中,在出现丢包的情况下,接收端设备能够通过封装后的报文数据中所包括的目标丢包处理策略,进行丢包处理,由此提升本方案的可行性。其次,使得接收端设备能够保证数据传输的保序,而保证数据传输的可靠性。
在本申请的一种可选实施方式中,目标丢包处理策略包括第二丢包处理策略。具体地,第二丢包处理策略为接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,该第一封装后的报文数据包括第一报文数据,第二封装后的报文数据包括第二报文数据,若第一时间点与第二时间点之差大于第二时间阈值,接收端设备发送第二报文数据。
在该实施方式中,在出现丢包的情况下,接收端设备能够通过封装后的报文数据中所包括的目标丢包处理策略,进行丢包处理,由此提升本方案的可行性。其次,使得接收端设备能够提升数据传输的灵活性以及可行性。
在本申请的一种可选实施方式中,目标丢包处理策略包括第三丢包处理策略。具体地,第三丢包处理策略为接收端设备缓存第二报文数据,若接收端设备在双向链路时延RTT阈值内未得到第三报文数据,则向发送端设备发送数据请求信息,该数据请求信息携带第三报文数据的报文序号,数据请求信息用于指示发送端设备根据第三报文数据的报文序号确定第三报文数据,并通过目标通信链路向接收端设备发送第三报文数据,目标通信链路为RTT最小的通信链路,且RTT阈值是根据目标通信链路的RTT确定的,然后接收端设备获取第三报文数据,并发送第三报文数据。
在该实施方式中,在出现丢包的情况下,接收端设备能够通过封装后的报文数据中所包括的目标丢包处理策略,进行丢包处理,由此提升本方案的可行性。其次,使得接收端设备能够减少缓存等待时间和丢包的可能性,以使得丢包和时延的优化平衡,提升数据传输的效率,以降低数据传输的时延,且能够保证数据传输的可靠性。
在本申请的一种可选实施方式中,发送端设备还可以接收接收端设备发送的数据请求信息,并且根据第三报文数据的报文序号确定第三报文数据,最后通过目标通信链路向接收端设备发送第三报文数据。
在该实施方式中,通过RTT最小的通信链路发送丢失的报文数据,由此提升数据传输的效率,以降低数据传输的时延。
在本申请的一种可选实施方式中,发送端设备还可以根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对 应的冗余数据,每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识。基于此,发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据包括相同的分组标识。然后对多个报文数据进行复制,并按照传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。
在该实施方式中,通过对多个报文数据复制多份,得到报文数据所包括的信息类似的数据,并选择多条通信链路进行发送,由此提升奔放的可行性。
在本申请的一种可选实施方式中,多个报文数据为多个原始报文数据,且多个封装后的报文数据为多个封装后的原始报文数据,且N条通信链路中发送多个封装后的原始报文数据的通信链路为原始通信链路。基于此,发送端设备能够通过原始通信链路按照传输次序向接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,向接收端设备发送包括相同的分组标识的冗余数据,并且通过(N-1)条通信链路按照传输次序向接收端设备发送多个封装后的复制后的报文数据。
在该实施方式中,选择多条通信链路发送封装后的报文数据,能够在某一条或几条通信链路出现丢包时,通过其他通信链路得到所需报文数据,保证数据传输的可靠性。
在本申请的一种可选实施方式中,目标丢包处理策略包括第四丢包处理策略。具体地,第四丢包处理策略为接收端设备从FEC缓存队列中获取第一报文数据,然后通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据吗,第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,且第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识,且与第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识的冗余数据为目标冗余数据,再发送第三报文数据。
在该实施方式中,在出现丢包的情况下,由于第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,即目标冗余数据是根据第一报文数据,第二报文数据以及第三报文数据生成的,因此接收端设备能够通过准确度较高的冗余数据进行报文数据的修复,能够得到最准确无误的第三报文数据,进一步地保证数据传输的可靠性。
本申请的第四方面提供了一种数据传输装置,包括:
通信模块,用于通过通信链路接收发送端设备发送的多个封装后的报文数据,其中,多个封装后的报文数据是按照传输次序封装多个报文数据得到的,每个封装后的报文数据包括报文数据以及报文序号,报文序号指示对应的封装后的报文数据在多个封装后的报文数据中的次序,每个封装后的报文数据的次序在多个封装后的报文数据中的次序与传输次序一致;
处理模块,用于对多个封装后的报文数据进行拆包处理,得到多个报文数据以及多个报文数据的报文序号;
处理模块,还用于根据多个报文数据的报文序号确定传输次序;
通信模块,还用于按照传输次序发送多个报文数据。
在本申请的一种可选实施方式中,封装后的报文数据还包括指示信息,其中,指示信息用于指示目标丢包处理策略;
通信模块,还用于在通过通信链路接收发送端设备发送的多个封装后的报文数据之前,向发送端设备发送确认消息,其中,确认消息指示接收端设备支持目标丢包处理策略。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是相邻的报文数据;
处理模块,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据以及第二报文数据的报文序号;
处理模块,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;
通信模块,具体用于若确定第一报文数据已被发送,则发送第二报文数据。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据。
在本申请的一种可选实施方式中,处理模块,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据以及第二报文数据的报文序号;
处理模块,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;
通信模块,具体用于若确定第一报文数据已被发送,则缓存第二报文数据;
对多个封装后的报文数据进行拆包处理,得到第三报文数据以及第三报文数据的报文序号,其中,第三报文数据的报文序号指示第三报文数据在多个封装后的报文数据中的次序后于第一报文数据在多个封装后的报文数据中的次序,且第三报文数据与第一报文数据在多个封装后的报文数据中是相邻的报文数据;
发送第三报文数据。
在本申请的一种可选实施方式中,处理模块,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,其中,目标丢包处理策略包括第一丢包处理策略;
处理模块,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;
通信模块,具体用于若确定第一报文数据已被发送,则接收端设备执行第一丢包处理策略;
缓存第二报文数据;
若第二报文数据的缓存时间大于第一时间阈值,则发送第二报文数据。
在本申请的一种可选实施方式中,处理模块,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,其中,目标丢包处理策略包括第二丢包处理策略;
处理模块,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;
通信模块,具体用于若确定第一报文数据已被发送,则接收端设备执行第二丢包处理策略;
确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,第一封装后的报文数据包括第一报文数据,第二封装后的报文数据包括第二报文数据;
若第一时间点与第二时间点之差大于第二时间阈值,则发送第二报文数据。
在本申请的一种可选实施方式中,处理模块,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,其中,目标丢包处理策略包括第三丢包处理策略;
处理模块,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;
通信模块,具体用于若确定第一报文数据已被发送,则接收端设备执行第三丢包处理策略;
缓存第二报文数据;
若在双向链路时延RTT阈值内未得到第三报文数据,则向发送端设备发送数据请求信息,其中,数据请求信息携带第三报文数据的报文序号,数据请求信息用于指示发送端设备根据第三报文数据的报文序号确定第三报文数据,并通过目标通信链路向接收端设备发送第三报文数据,目标通信链路为RTT最小的通信链路,且RTT阈值是根据目标通信链路的RTT确定的;
接收端设备获取第三报文数据,并发送第三报文数据。
在本申请的一种可选实施方式中,处理模块,还用于检测每条通信链路的RTT,以确定每条通信链路的RTT;
处理模块,还用于将每条通信链路的RTT中RTT最小的通信链路确定为目标通信链路;
处理模块,还用于根据目标通信链路的RTT确定RTT阈值。
在本申请的一种可选实施方式中,通信模块,具体用于通过原始通信链路接收发送端设备发送的多个封装后的原始报文数据以及多个冗余数据,其中,原始报文数据为未进行复制的报文数据,原始通信链路为发送原始数据报文的通信链路,冗余数据是根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码生成的,且属于同一分组的多个封装后的原始报文数据以及每个分组对应的冗余数据包括相同的分组标识。
在本申请的一种可选实施方式中,第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,且第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识,且与第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
处理模块,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据,第 二报文数据的报文序号以及目标丢包处理策略,其中,目标丢包处理策略包括第四丢包处理策略;
处理模块,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;
通信模块,具体用于若确定第一报文数据已被发送,且第一报文数据被缓存于FEC缓存队列,则接收端设备执行第四丢包处理策略;
从FEC缓存队列中获取第一报文数据;
通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据;
发送第三报文数据。
本申请的第五方面提供了另一种数据传输装置,包括:
通信模块,用于按照传输次序得到多个报文数据;
处理模块,用于按照传输次序封装多个报文数据,得到多个封装后的报文数据,其中,每个封装后的报文数据包括报文数据以及报文序号,报文序号指示对应的封装后的报文数据在多个封装后的报文数据中的次序,每个封装后的报文数据的次序在多个封装后的报文数据中的次序与传输次序一致;
通信模块,还用于通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据,N≥2。
在本申请的一种可选实施方式中,每个封装后的报文数据还包括指示信息,其中,指示信息用于指示目标丢包处理策略;
通信模块,还用于在按照传输次序封装多个报文数据,得到多个封装后的报文数据之前,接收接收端设备发送的确认消息,其中,确认消息指示接收端设备支持目标丢包处理策略。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是相邻的报文数据。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据。
在本申请的一种可选实施方式中,目标丢包处理策略包括第一丢包处理策略;
第一丢包处理策略为接收端设备缓存第二报文数据;
若第二报文数据的缓存时间大于第一时间阈值,则接收端设备发送第二报文数据。
在本申请的一种可选实施方式中,目标丢包处理策略包括第二丢包处理策略;
第二丢包处理策略为接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,第一封装后的报文数据包括第一报文 数据,第二封装后的报文数据包括第二报文数据;
若第一时间点与第二时间点之差大于第二时间阈值,则接收端设备发送第二报文数据。
在本申请的一种可选实施方式中,其特征在于,目标丢包处理策略包括第三丢包处理策略;
第三丢包处理策略为接收端设备缓存第二报文数据;
若接收端设备在双向链路时延RTT阈值内未得到第三报文数据,则向发送端设备发送数据请求信息,其中,数据请求信息携带第三报文数据的报文序号,数据请求信息用于指示发送端设备根据第三报文数据的报文序号确定第三报文数据,并通过目标通信链路向接收端设备发送第三报文数据,目标通信链路为RTT最小的通信链路,且RTT阈值是根据目标通信链路的RTT确定的;
接收端设备获取第三报文数据,并发送第三报文数据。
在本申请的一种可选实施方式中,通信模块,还用于接收接收端设备发送的数据请求信息;
处理模块,还用于根据第三报文数据的报文序号确定第三报文数据,
通信模块,还用于通过目标通信链路向接收端设备发送第三报文数据。
在本申请的一种可选实施方式中,处理模块,还用于根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据,其中,每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识;
处理模块,具体用于按照传输次序封装多个报文数据,得到多个封装后的报文数据,其中,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据包括相同的分组标识;
对多个报文数据进行复制,并按照传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。
在本申请的一种可选实施方式中,多个报文数据为多个原始报文数据,且多个封装后的报文数据为多个封装后的原始报文数据,且N条通信链路中发送多个封装后的原始报文数据的通信链路为原始通信链路;
通信模块,具体用于通过原始通信链路按照传输次序向接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,向接收端设备发送包括相同的分组标识的冗余数据;
通过(N-1)条通信链路按照传输次序向接收端设备发送多个封装后的复制后的报文数据。
在本申请的一种可选实施方式中,目标丢包处理策略包括第四丢包处理策略;
第四丢包处理策略为当接收端设备得到第二报文数据以及目标冗余数据,且第一报文数据已被发送,且接收端设备未得到第三报文数据,则从FEC缓存队列中获取第一报文数据,其中,第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,且第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识,且与第一报文数据,第二 报文数据以及第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
接收端设备通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据,并发送第三报文数据。
本申请的第六方面提供了另一种数据传输装置,包括:
通信模块,用于接收接收端设备发送的确认消息,其中,确认消息指示接收端设备支持目标丢包处理策略;
通信模块,还用于按照传输次序得到多个报文数据;
处理模块,用于按照传输次序封装多个报文数据,得到多个封装后的报文数据,其中,每个封装后的报文数据包括报文数据、报文序号以及指示信息,报文序号指示对应的封装后的报文数据在多个封装后的报文数据中的次序,每个封装后的报文数据的次序在多个封装后的报文数据中的次序与传输次序一致,指示信息用于指示目标丢包处理策略;
通信模块,还用于通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据,N≥2。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是相邻的报文数据。
在本申请的一种可选实施方式中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据。
在本申请的一种可选实施方式中,目标丢包处理策略包括第一丢包处理策略;
第一丢包处理策略为接收端设备缓存第二报文数据;
若第二报文数据的缓存时间大于第一时间阈值,则接收端设备发送第二报文数据。
在本申请的一种可选实施方式中,目标丢包处理策略包括第二丢包处理策略;
第二丢包处理策略为接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,第一封装后的报文数据包括第一报文数据,第二封装后的报文数据包括第二报文数据;
若第一时间点与第二时间点之差大于第二时间阈值,则接收端设备发送第二报文数据。
在本申请的一种可选实施方式中,目标丢包处理策略包括第三丢包处理策略;
第三丢包处理策略为接收端设备缓存第二报文数据;
若接收端设备在双向链路时延RTT阈值内未得到第三报文数据,则向发送端设备发送数据请求信息,其中,数据请求信息携带第三报文数据的报文序号,数据请求信息用于指示发送端设备根据第三报文数据的报文序号确定第三报文数据,并通过目标通信链路向接收端设备发送第三报文数据,目标通信链路为RTT最小的通信链路,且RTT阈值是根据目标通信链路的RTT确定的;
接收端设备获取第三报文数据,并发送第三报文数据。
在本申请的一种可选实施方式中,通信模块,还用于接收接收端设备发送的数据请求信息;
处理模块,还用于根据第三报文数据的报文序号确定第三报文数据;
通信模块,还用于通过目标通信链路向接收端设备发送第三报文数据。
在本申请的一种可选实施方式中,处理模块,还用于根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据,其中,每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识;
处理模块,具体用于按照传输次序封装多个报文数据,得到多个封装后的报文数据,其中,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据包括相同的分组标识;
对多个报文数据进行复制,并按照传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。
在本申请的一种可选实施方式中,多个报文数据为多个原始报文数据,且多个封装后的报文数据为多个封装后的原始报文数据,且N条通信链路中发送多个封装后的原始报文数据的通信链路为原始通信链路;
通信模块,具体用于通过原始通信链路按照传输次序向接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,向接收端设备发送包括相同的分组标识的冗余数据;
通过(N-1)条通信链路按照传输次序向接收端设备发送多个封装后的复制后的报文数据。
在本申请的一种可选实施方式中,目标丢包处理策略包括第四丢包处理策略;
第四丢包处理策略为当接收端设备得到第二报文数据以及目标冗余数据,且第一报文数据已被发送,且接收端设备未得到第三报文数据,则从FEC缓存队列中获取第一报文数据,其中,第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,且第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识,且与第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
接收端设备通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据,并发送第三报文数据。
本申请的第七方面提供了一种发送端设备,包括处理器。该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面中任一种可能实现方式中的方法。可选地,该发送端设备还包括存储器。可选地,该发送端设备还包括通信接口,处理器与通信接口耦合,所述通信接口用于输入和/或输出信息,所述信息包括指令和数据中的至少一项。
在另一种实现方式中,该发送端设备为配置于接收端设备中的芯片或芯片系统。当该发送端设备为配置于接收端设备或发送端设备中的芯片或芯片系统时,所述通信接口可以是输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等。所述处理器也可以体现为处理电路或逻辑电路。
本申请的第八方面提供了一种接收端设备,包括处理器。该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第二方面中任一种可能实现方式中的方法,或,以实现上述第三方面中任一种可能实现方式中的方法。可选地,该接收端设备还包括存储器。可选地,该接收端设备还包括通信接口,处理器与通信接口耦合,所述通信接口用于输入和/或输出信息,所述信息包括指令和数据中的至少一项。
在另一种实现方式中,该接收端设备为配置于接收端设备中的芯片或芯片系统。当该接收端设备为配置于接收端设备或接收端设备中的芯片或芯片系统时,所述通信接口可以是输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等。所述处理器也可以体现为处理电路或逻辑电路。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的信息交互过程,例如发送消息可以为从处理器输出消息的过程,接收消息可以为向处理器输入接收到的消息的过程。具体地,处理输出的信息可以输出给发射器,处理器接收的输入信息可以来自接收器。其中,发射器和接收器可以统称为收发器。
本申请的第九方面提供了一种处理器,包括:输入电路、输出电路和处理电路。所述处理电路用于通过所述输入电路接收信号,并通过所述输出电路发射信号,使得所述处理器执行上述第一方面中任一种可能实现方式中的方法,或,执行上述第二方面中任一种可能实现方式中的方法,或,执行上述第三方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
本申请的第十方面提供了一种通信系统,包括发送端设备以及接收端设备,发送端设备执行上述第一方面中任一种可能实现方式中的方法,接收端设备执行上述第二方面中任一种可能实现方式中的方法,或,执行上述第三方面中任一种可能实现方式中的方法。
本申请的第十一方面提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法,或,执行上述第二方面中任一种可能实现方式中的方法,或,执行上述第三方面中任一种可能实现方式中的方法。
本申请的第十二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法,或,执行上述第二方面中任一种可能实现方式中的方法,或,执行上述第三方面中任一种可能实现方式中的方法。
本申请的第十三方面提供了一种非易失性计算机可读存储介质,所述非易失性计算机 可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法,或,执行上述第二方面中任一种可能实现方式中的方法,或,执行上述第三方面中任一种可能实现方式中的方法。
本申请的第十四方面提供了一种芯片系统,该芯片系统包括处理器和接口,所述接口用于得到程序或指令,所述处理器用于调用所述程序或指令以实现或者支持接收端设备实现第一方面所涉及的功能,或,实现第二方面所涉及的功能,或,实现第三方面所涉及的功能。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存接收端设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
需要说明的是,本申请第四方面至第十四方面的实施方式所带来的有益效果可以参照第一方面至第三方面的实施方式进行理解,因此没有重复赘述。
附图说明
图1为本申请实施例中系统框架的一个示意图;
图2为本申请实施例中应用场景的一个示意图;
图3为本申请实施例中数据传输的方法一个交互流程示意图;
图4为本申请实施例中按照传输次序得到多个报文数据的一个实施例示意图;
图5为本申请实施例中对报文数据进行封装的一个实施例示意图;
图6为本申请实施例中对报文数据进行封装的另一实施例示意图;
图7为本申请实施例中通过多条通信链路发送多个封装后的报文数据的一个实施例示意图;
图8为本申请实施例中数据传输的方法另一交互流程示意图;
图9为本申请实施例中数据传输的方法另一交互流程示意图;
图10为本申请实施例中数据传输的方法另一交互流程示意图;
图11为本申请实施例中数据传输的方法另一交互流程示意图;
图12为本申请实施例中数据传输的方法另一交互流程示意图;
图13为本申请实施例中数据传输装置一个结构示意图;
图14为本申请实施例中数据传输装置另一结构示意图;
图15为本申请实施例中数据传输装置又一结构示意图;
图16为本申请实施例网络设备的一个结构示意图。
具体实施方式
为了使本申请的上述目的、技术方案和优点更易于理解,下文提供了详细的描述。所述详细的描述通过使用方框图、流程图和/或示例提出了设备和/或过程的各种实施例。由于这些方框图、流程图和/或示例包含一个或多个功能和/或操作,所以本领域内人员将理解可以通过许多硬件、软件、固件或它们的任意组合单独和/或共同实施这些方框图、流程图或示例内的每个功能和/或操作。本申请的说明书和权利要求书及附图中的术语“第一”、 “第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤S或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤S或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤S或单元。
随着通信技术的发展,人们对高数据速率和用户体验的需求日益增长,因此人们对了解周边人或事物,并与周边人或事物通信的邻近服务的需求逐渐增加。基于此,无线通信技术大多数的应用场景在于物与物通信领域,而小部分的应用场景在于人与物通信,而在5G场景中,即5GtoB包括但不限于安防监控、工业制造、电力电网、智慧医疗和智慧教育等。5G通信标准能够满足工业通信实时性以及稳定性需求,推动了工业技术的应用创新,但目前仍有带宽、时延、切片、边云协同等技术层面的多种挑战需要攻克。目前,对于部分不满足或者不方便部署有线连接的场景,使用WIFI连接或者使用5G连接,解决网络连通性的问题,使得能够在无线网络连接的场景下进行数据传输。然而,由于无线网络连接受环境以及天气干扰影响较大,因此在工业生产环境下,网络连接的时延、抖动以及可靠性均无法得到保障,因此在无法保障时延、抖动以及可靠性的网络中进行数据传输,会提升数据传输的时延并且降低数据传输的可靠性,因此如何提高在无线网络连接中降低数据传输的时延,且提升数据传输的可靠性是一个亟待解决的问题。
为了解决上述问题,本申请实施例提供了一种数据传输方法、相关装置以及设备,为了便于理解,首先对本申请实施例所使用的通信系统的系统架构进行描述。本申请可以通过多个网络设备以及一个或多个终端设备组成一个通信系统,基于此,图1为本申请实施例中系统框架的一个示意图,如图1所示,网络设备1,网络设备2与终端设备1到终端设备3组成一个通信系统,其中网络设备1为发送端设备,网络设备2为接收端设备。在该通信系统中,由网络设备1向网络设备2发送多个报文数据,网络设备2需要在接收到网络设备1发送的多个报文数据后,向终端设备1到终端设备3发送多个报文数据。此外,终端设备2与终端设备3也可以组成一个通信系统,因此,在该通信系统中,网络设备2可以向终端设备2发送多个报文数据,终端设备2则需要接收网络设备2发送的多个报文数据,而在终端设备2与终端设备3组成的通信系统中,终端设备2在接收网络设备2发送的多个报文数据后,需要向终端设备3发送多个报文数据。在本申请实施例中,前述通信系统包含的网络设备以及终端设备的类型、数量,以及网络设备以及终端设备之间的连接关系不限于此。
应理解,本申请实施例所提供的的数据传输方法可以应用于各种通信系统,例如:长期演进(long term evolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)、通用移动通信系统(universal mobile telecommunication system,UMTS)。随着通信系统的不断发展,本申请的技术方案应用于5G系统或新无线(new radio,NR),还可应用于未来网络,如6G系统甚至未来系统等,具体此处不做限定。
应理解,该通信系统中包括接收端设备和发送端设备,且接收端设备和发送端设备为网络设备,而网络设备可以是任意一种具有无线收发功能的设备或可设置于该设备的芯片,该网络设备包括但不限于:演进型节点B(evolved Node B,eNB)、无线网络控制器(Radio Network Controller,RNC)、节点B(Node B,NB)、基站控制器(Base Station Controller,BSC)、基站收发台(Base Transceiver Station,BTS)、家庭基站(例如,Home evolved NodeB,或Home Node B,HNB)、基带单元(BaseBand Unit,BBU),无线保真(Wireless Fidelity,WIFI)系统中的接入点(Access Point,AP)、无线中继节点、无线回传节点、传输点(transmission point,TP)或者发送接收点(TRP)等,还可以为5G、6G甚至未来系统中使用的设备,如NR,系统中的gNB,或,传输点(TRP或TP),5G系统中的基站的一个或一组(包括多个天线面板)天线面板,或者,还可以为构成gNB或传输点的网络节点,如基带单元(BBU),或,分布式单元(distributed unit,DU),或微微基站(Picocell),或毫微微基站(Femtocell),或,车联网(vehicle to everything,V2X)或者智能驾驶场景中的路侧单元(road side unit,RSU)等。
本申请公开的实施例中,用于实现接收端设备和发送端设备的功能的装置可以是网络设备,也可以是能够支持接收端设备和发送端设备实现该功能的装置,例如芯片系统,该装置可以被安装在接收端设备和发送端设备中。
还应理解,该通信系统中的终端设备也可以称为用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的实施例中的终端设备还可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
为了进一步地理解本方案,下面以应用于5GtoB的场景作为介绍,图2为本申请实施例中应用场景的一个示意图,如图所示,网络设备A1与网络设备B1为发送端设备,网络设备A2与网络设备B2为接收端设备,网络设备A1与网络设备A2之间为5G连接,而网络设备B1与网络设备B2之间为WIFI连接。基于此,由于在各类企业中有工业控制流量,也有生产和办公业务(例如个人计算机(personal computer,PC)业务与视频监控业务),那么对于可靠性要求很高的工业控制流量而言,可以通过5G的通信链路以及WIFI的通信链路共同传输数据,即通过网络设备A1与网络设备A2之间的通信链路,以及网络设备B1与网络设备B2之间的通信链路进行传输数据。其次,对于生产和办公业务而言,可以根据实际情况选择通信链路进行传输,例如,在处于工业场景的用户需要进行PC业务时,由于PC较为灵活便于携带,此时可以通过5G的通信链路传输PC业务对应的报文数据,即通过网络设备A1与网络设备A2之间的通信链路传输PC业务对应的报文数据。然而,在布线不方便的工业场景中,例如工业厂房等地进行视频监控业务,此时可以通过WIFI的通信链路 传输视频监控业务所需的报文数据,即通过网络设备B1与网络设备B2之间的通信链路传输视频监控业务所需的报文数据。应理解,在不同的5GtoB场景下,传输同一工业控制流量,或同一生产和办公业务时,每个网络设备之间只是物理承载的通信链路不同,但是传输的数据均相同。
基于此,由于5G专线场景E2E通信链路可用性需要大于4个9,因此对工业控制流量而言,发送端设备可以通过对报文数据进行复制,在两条5G的通信链路上共同传输数据,两条5G的通信链路可以为不同运营商的通信链路,也可以为不同网络制式的通信链路(例如非独立组网(Non-Standalone,NSA)与独立组网(Standalone,SA))。接收端设备能够从两条5G的通信链路接收到工业控制流量,并进行排序去重,在发生丢包是,用发送端设备封装的丢包处理策略对丢失的数据或者乱序数据进行处理,由此能够早不同场景下满足数据传输可靠性的需求。上面仅对应用于5GtoB的场景进行介绍,而本方案的应用场景还有很多,本申请的实施例对应用场景不进行穷举。
下面将从方法的角度对本申请实施例提供的方案进行介绍,在进行数据传输的过程中,可能会丢包或未丢包的情况,为了更好的理解本方案,先对进行数据传输的过程中未丢包的情况进行介绍,请参阅图3,图3为本申请实施例中数据传输的方法一个交互流程示意图,如图3所示,在未丢包的情况下,数据传输的方法具体包括如下步骤。
S301、发送端设备按照传输次序得到多个报文数据。
本实施例中,发送端设备能够按照传输次序得到多个报文数据。示例性地,以多个报文数据为报文数据1,报文数据2,报文数据3以及报文数据4作为示例尽心说明,请参阅图4,图4为本申请实施例中按照传输次序得到多个报文数据的一个实施例示意图,如图4所示,A1指示报文数据1,A2指示报文数据2,A3指示报文数据3,A4指示报文数据4,由此可知报文数据1先传输至发送端设备,然后依次为报文数据2,以报文数据3以及报文数据4,此时传输次序为报文数据1,报文数据2,报文数据3以及报文数据4依次传输。应理解,前述示例仅用于理解本方案,多个报文数据的具体数量以及传输次序需要根据实际情况灵活确定。
S302、发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据。
本实施例中,发送端设备首先需要选择一个通信链路传输多个报文数据,然后按照步骤S301中的传输次序依次封装多个报文数据,得到多个封装后的报文数据。且每个封装后的报文数据包括报文数据以及报文序号,报文序号指示对应的封装后的报文数据在多个封装后的报文数据中的次序,每个封装后的报文数据的次序在多个封装后的报文数据中的次序与传输次序一致。
示例性地,以图4所示出的实施例为基础进行说明,由于传输次序为报文数据1,报文数据2,报文数据3以及报文数据4依次传输,那么发送端设备将先对报文数据1进行封装,得到封装后的报文数据1,封装后的报文数据1包括报文数据1以及报文序号,报文序号可以为“1”,且报文序号“1”指示封装后的报文数据1在多个封装后的报文数据的次序为1。同理可知,发送端设备再对对报文数据2进行封装,得到封装后的报文数据2,封装后的报文数据2包括报文数据2以及报文序号,报文序号可以为“2”,且报文序号“2” 指示封装后的报文数据2在多个封装后的报文数据的次序为2。其次,通过类似方式可以得到封装后的报文数据3,封装后的报文数据3包括报文数据3以及报文序号,报文序号可以为“3”,且报文序号“3”指示封装后的报文数据3在多个封装后的报文数据的次序为3。再次通过类似方式可以得到封装后的报文数据4,封装后的报文数据4包括报文数据4以及报文序号,报文序号可以为“4”,且报文序号“4”指示封装后的报文数据4在多个封装后的报文数据的次序为4。应理解,前述示例仅用于理解本方案,报文序号可以不为连续的数字,只要指示的次序与传输次序一致即可。
进一步地,发送端设备还需要匹配使能报文数据复制的流量,具体匹配方式可以为路由方式或者测量方式。该路由方式为直接路由至某个接口,测量对应的流量。该测量方式为通过访问控制列表(access control list,ACL)匹配需要保护的流量,且访问控制列表中可以包括IP,接口(port),网络数据交换规则(protocol),虚拟局域网(virtual local area network,VLAN)以及消息认证码(message authentication code,MAC)等信息。基于此,发送端设备还需要对多个报文数据进行复制,并按照选择与不同的通信链路传输多个复制后的报文数据,再按照传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。具体方式与前述类似,在此不再赘述。
具体地,发送端设备通过在隧道头中间增加重组头,重组头中包括报文序号或其他参数信息,使得每个封装后的报文数据包括报文数据以及报文序号,或者,发送端设备通过在网络协议(internet protocol,IP)头以及负载(Payload)中间增加重组头,重组头中包括报文序号或其他参数信息,使得每个封装后的报文数据包括报文数据以及报文序号。具体封装的方式在此不做限定。
其次,封装后的报文数据还可以包括指示信息,报文类型信息,时间戳信息,以及其他一些字段(例如标识主备等字段)。其中指示信息用于指示目标丢包处理策略,且目标丢包处理策略包括第一丢包处理策略,第二丢包处理策略,第三丢包处理策略以及第四丢包处理策略中至少一项的组合。报文类型指示报文数据为原始报文数据还是复制后的报文数据,原始报文数据为未经过复制的报文数据。
基于此,在处于工业场景时,由于中间网络通常为某个运营商的无线网络,因此内部的无线网络的发送端设备,将传输数据发送至某个运营商的无线网络的接收端设备需要隧道技术实现。本实施例中,在中间网络建立虚拟专用网络(virtual private network,VPN)隧道,VPN隧道在本实施例中的用于打通内部的无线网络与某个运营商的无线网络之间的网络传输通道,以方便的规划内部网络,VPN隧道在本实施例中的还用于在对报文数据进行封装,使得封装后的报文数据能够包括报文序号等其他信息。
因此,处于工业场景中,本实施例为了提升数据传输的可靠性以及灵活性,对报文数据进行封装的方式采用扩展隧道封装,即发送端设备通过在隧道头中间增加报文序号或其他参数信息。示例性地,本实施例以通用路由封装(generic routing encapsulation,GRE)为基础,采用GRE扩展封装的方式使得封装后的报文数据包括报文序号,请参阅图5,图5为本申请实施例中对报文数据进行封装的一个实施例示意图,如图5所示,未进行封装的报文数据B1包括输出网络协议B1,GRE头B2以及内部扩展包B3,GRE扩展封装的方式能 够在GRE头中增加重组头,且重组头中包括报文序号,即封装后的报文数据中包括输出网络协议B1,GRE头B2,包括报文序号的重组头B4,以及内部扩展包B3。图5所示出的GRE扩展封装的方式能够封装后的报文数据携带更多的参数信息,以支持更加灵活以及数据处理以及传输。其次,介绍在IP头以及Payload中间增加重组头的方式,请参阅图6,图6为本申请实施例中对报文数据进行封装的另一实施例示意图,如图6所示,未进行封装的报文数据C1包括网络协议头C1以及负载C2,通过网络协议头C1以及负载C2增加重组头,且重组头中包括报文序号,即封装后的报文数据中包括网络协议头C1,包括报文序号的重组头C3以及负载C2。应理解,图4至图6的示例均用于理解本方案,而不应理解为本方案的限定。
S303、发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据,N≥2。
本实施例中,发送端设备通过N条通信链路按照传输次序向接收端设备发送步骤S302所得到的多个封装后的报文数据。应理解,按照传输次序发送多个封装后的报文数据并不是指示多个报文数据全部完成封装后再进行发送,而是按照传输次序依次封装得到封装后的报文数据后,即可通过通信链路将封装后的报文数据发送给接收端设备。其次,封装后的复制后的报文数据与封装后的报文数据(未经过复制)可以为同时发送给接收端设备,也可以存在先后时序发送给接收端设备,因此发送给接收端设备的时序本方案不进行限定。
示例性地,以图4所示出的实施例为基础进行说明,请参阅图7,图7为本申请实施例中通过多条通信链路发送多个封装后的报文数据的一个实施例示意图,如图7所示,通过图4可知,传输次序为报文数据1,报文数据2,报文数据3以及报文数据4依次传输,且通信链路D5与通信链路D10为物理承载不同的通信链路。基于此,若发送端设备将对报文数据1进行封装,能够得到D1(封装后的报文数据1),并在得到D1后,通过通信链路D5向接收端设备发送D1。同理,对报文数据2进行封装,能够得到D2(封装后的报文数据2),通过通信链路D5向接收端设备发送D2。对报文数据3进行封装,能够得到D3(封装后的报文数据3),通过通信链路D5向接收端设备发送D3。对报文数据4进行封装,能够得到D4(封装后的报文数据4),通过通信链路D5向接收端设备发送D4。
其次,发送端设备还能够对报文数据1进行复制,并且对复制后的报文数据1进行封装处理,得到得到D6(封装后的复制后的报文数据1),并通过通信链路D10向接收端设备发送D6。同理,对复制后的报文数据2进行封装处理,得到得到D7(封装后的复制后的报文数据2),并通过通信链路D10向接收端设备发送D7。对复制后的报文数据3进行封装处理,得到得到D8(封装后的复制后的报文数据3),并通过通信链路D10向接收端设备发送D8。对复制后的报文数据4进行封装处理,得到得到D9(封装后的复制后的报文数据4),并通过通信链路D10向接收端设备发送D9。
具体地,通过步骤S302可知,未经过复制的报文数据为原始报文数据,因此本实施例中,将对封装后的原始报文数据进行传输的通信链路定义为原始通信链路。
基于前述描述可知,由于本实施例描述的为未丢包的情况,因此接收端设备能够通过通信链路接收发送端设备发送的多个封装后的报文数据,且多个封装后的报文数据均为相 邻的。应理解,在实际应用中,接收端设备可以仅通过一条通信链路接收到所有的封装后的报文数据,也可以为通过多条通信链路接收到所有的封装后的报文数据,此处不对接收端设备通过具体通信链路接收数据的数量进行限定。
S304、接收端设备对多个封装后的报文数据进行拆包处理,得到多个报文数据以及多个报文数据的报文序号。
本实施例中,由于接收端设备通过步骤S303能够接收到多个封装后的报文数据,且多个封装后的报文数据均为相邻的。即此时未出现丢包情况,因此接收端设备对多个封装后的报文数据进行拆包处理,得到多个报文数据以及多个报文数据的报文序号。
示例性地,请再次参阅图7,并以图7所示出的实施例中通信链路D5为基础进行说明,接收端设备通过通信链路D5能够依次接收到封装后的报文数据1,封装后的报文数据2,封装后的报文数据3以及封装后的报文数据4。接收端设备对封装后的报文数据1进行拆包处理后,能够得到报文数据1以及报文序号“1”。同理可知,接收端设备对封装后的报文数据2进行拆包处理后,能够得到报文数据2以及报文序号“2”。接收端设备对封装后的报文数据3进行拆包处理后,能够得到报文数据3以及报文序号“3”。接收端设备对封装后的报文数据3进行拆包处理后,能够得到报文数据3以及报文序号“3”。
应理解,在实际应用中,可能出现相邻的封装后的报文数据通过不同的通信链路接收的情况,因此若报文数据已被发送,若在其他通信链路接收到包括该报文数据的封装后的报文数据时,则确定报文数据重复,直接丢弃包括该报文数据的封装后的报文数据,以减少数据缓存的空间。
S305、接收端设备根据多个报文数据的报文序号确定传输次序。
本实施例中,接收端设备根据多个报文数据的报文序号确定传输次序。
示例性地,以步骤S304的示例为基础进行进一步地说明,由于报文序号“1”指示封装后的报文数据1在多个封装后的报文数据的次序为1,也就是报文数据1在多个报文数据的次序为1,因此能够确定报文数据1为第一个传输的数据。同理可知,报文序号“2”指示封装后的报文数据2在多个封装后的报文数据的次序为2,也就是报文数据2在多个报文数据的次序为2,因此能够确定报文数据2为第二个传输的数据。报文序号“3”指示封装后的报文数据3在多个封装后的报文数据的次序为3,也就是报文数据3在多个报文数据的次序为3,因此能够确定报文数据3为第三个传输的数据。报文序号“4”指示封装后的报文数据4在多个封装后的报文数据的次序为4,也就是报文数据4在多个报文数据的次序为4,因此能够确定报文数据4为第四个传输的数据。
S306、接收端设备按照传输次序发送多个报文数据。
本实施例中,由于接收端设备通过步骤S305能够确定每个报文数据的传输次序,因此按照步骤S305所确定的传输次序发送多个报文数据。具体地,接收端设备能够向多个报文数据提供的业务对应的终端设备发送多个报文数据,以提供终端设备所需业务。其次,接收端设备还能够向路由转换设备发送多个报文数据,以使得路由转换设备通过报文数据提供业务或者其他信息,因此接收端设备具体向何种设备发送多个报文数据,此处不做限定。
示例性地,以步骤S305的示例为基础进行进一步地说明,接收端设备在得到报文数据 1并确定报文数据1为第一个传输的数据后,发送报文数据1。同理可知,接收端设备在得到报文数据2并确定报文数据2为第二个传输的数据,且确定第一个传输的数据(即报文数据1)已被发送后,发送报文数据2。接收端设备在得到报文数据3并确定报文数据3为第三个传输的数据,且确定第二个传输的数据(即报文数据2)已被发送后,发送报文数据3。接收端设备在得到报文数据4并确定报文数据4为第四个传输的数据,且确定第三个传输的数据(即报文数据3)已被发送后,发送报文数据4。由此能够达到按照传输次序发送多个报文数据的目的,从而达到各个场景下进行数据传输保序的要求,从而保证了数据传输的可靠性。
下面将对进行数据传输的过程中出现丢包的情况进行介绍,通过图3所介绍的方法可知,封装后的报文数据还可以包括指示信息,报文类型信息,时间戳信息,以及其他一些字段。而指示信息用于指示目标丢包处理策略,且目标丢包处理策略包括第一丢包处理策略,第二丢包处理策略,第三丢包处理策略以及第四丢包处理策略中至少一项的组合。因此出现丢包的情况时,接收端设备可以通过指示信息所指示的目标丢包处理策略进行丢包处理,由于目标丢包处理策略可以包括不同丢包处理策略的至少一项的组合,下面分别对丢包处理策略包括第一丢包处理策略,丢包处理策略包括第二丢包处理策略,丢包处理策略包括第三丢包处理策略,以及丢包处理策略包括第四丢包处理分别进行介绍,在实际应用中,目标丢包处理策略还可以包括前述丢包处理策略的至少一项的组合,具体方式与不同丢包处理策略单独执行的步骤S类似,或者需根据实际情况灵活确定,因此在本实施例中不对所有可能的实施方式进行穷举。
一、目标丢包处理策略包括第一丢包处理策略。
请参阅图8,图8为本申请实施例中数据传输的方法另一交互流程示意图,如图8所示,在出现丢包的情况下,数据传输的一种方法包括如下步骤。
S801、发送端设备向接收端设备发送配置信息。
本实施例中,由于发送端设备无法得知接收端设备支持的丢包处理策略,因此发送端设备需要向接收端设备发送配置信息,且该配置信息包括第一丢包处理策略,第二丢包处理策略,第三丢包处理策略以及第四丢包处理策略。
S802、接收端设备向发送端设备发送确认信息。
本实施例中,接收端设备通过步骤S801能够接收到发送端设备所发送的配置信息,由于该配置信息包括第一丢包处理策略,第二丢包处理策略,第三丢包处理策略以及第四丢包处理策略,若接收端设备能够支持第一丢包处理策略,那么接收端设备生成确认信息,该确认信息指示接收端设备支持第一丢包处理策略,并向发送端设备发送该确认信息。应理解,由于本实施例中以目标丢包处理策略包括第一丢包处理策略作为示例进行说明,而实际应用中目标丢包处理策略可以包括多种不同的丢包处理策略的组合,因此确认信息也能够指示多种不同的丢包处理策略,此处进行限定。
S803、发送端设备按照传输次序得到多个报文数据。
本实施例中,发送端设备按照传输次序得到多个报文数据的方式与步骤S301类似,在此不再赘述。
S804、发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据。
本实施例中,发送端设备通过步骤S802可以接收到接收端设备所发送的确认信息,且由此确定接收端设备支持第一丢包处理策略。因此,发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据,此时每个封装后的报文数据包括报文数据,报文序号以及指示信息,且指示信息用于指示目标丢包处理策略,且目标丢包处理策略包括第一丢包处理策略。
发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据的方式与步骤S302类似,即重组头中能够包括报文序号,还能够包括指示第一丢包处理策略的指示信息,具体此处不再赘述。
S805、发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据。
本实施例中,发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据的方式与步骤S303类似,在此不再赘述。
下面的步骤将具以封装后的多个报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据,而第三报文数据的报文序号指示第三报文数据在多个封装后的报文数据中的次序后于第一报文数据在多个封装后的报文数据中的次序,且第三报文数据与第一报文数据在多个封装后的报文数据中是相邻的报文数据作为示例进行介绍。
S806、接收端设备对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,目标丢包处理策略包括第一丢包处理策略。
本实施例中,由于封装后的报文数据中还包括了目标丢包处理策略,因此接收端设备对多个封装后的报文数据进行拆包处理,能够得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,且目标丢包处理策略包括第一丢包处理策略。接收端设备进行拆包处理的具体方式与步骤S304类似,在此不再赘述。
S807、接收端设备根据多个报文数据的报文序号确定传输次序。
本实施例中,接收端设备根据多个报文数据的报文序号确定传输次序。由于第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据,因此接收端设备可以确定出现丢包情况。且接收端设备在拆包得到第二报文数据以及报文序号后,能够根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送。
示例性地,以传输次序为报文数据1,报文数据2,报文数据3以及报文数据4依次传输为例进行说明,那么发送端设备会依次向接收端设备发送封装后的报文数据1,封装后的报文数据2,封装后的报文数据3以及封装后的报文数据4。若封装后的报文数据1为第一报文数据,且报文数据1的报文序号“1”,报文序号“1”指示封装后的报文数据1在多个封装后的报文数据的次序为1,即报文数据1为第一个传输的数据。其次,且封装后的报文数据3为第二报文数据,且报文数据3的报文序号“3”,报文序号“3”指示封装后的报文数据3在多个封装后的报文数据的次序为3,即报文数据3为第三个传输的数据,即 需要在报文数据1后传输。
S808、若确定第一报文数据已被发送,则接收端设备执行第一丢包处理策略。
本实施例中,通过步骤S807可知,由于第二报文数据需要在第一报文数据之后发送,此时若第一报文数据已被发送,则能够确定出现丢包情况,接收端设备需执行第一丢包处理策略。
示例性地,以步骤S807的示例为基础进行进一步地说明,由于根据报文数据1的报文序号“1”能够确定报文数据1为第一个传输的数据后,此时接收端设备能够发送报文数据1。然后接收端设备接收到封装后的报文数据3,并对封装后的报文数据3进行拆包处理,得到报文数据3以及报文序号“3”,根据报文数据3的报文序号“3”能够确定报文数据3为第三个传输的数据。通过前述示例可知,所假设的传输次序为报文数据1至报文数据4依次传输,因此可以确定出现丢包情况,且所丢失的包为封装后的报文数据2(第三报文数据),因此能够确定丢失报文数据2,接收端设备执行第一丢包处理策略。
S809、接收端设备缓存第二报文数据。
本实施例中,基于前述实施例的示例,为了保证能够按照传输次序发送多个报文数据,因此在出现丢包的情况下,接收端设备不能发送第二报文数据,即需要缓存第二报文数据。
S810、若第二报文数据的缓存时间大于第一时间阈值,则接收端设备发送第二报文数据。
本实施例中,若第二报文数据的缓存时间大于第一时间阈值,则接收端设备发送第二报文数据。可选地,第一时间阈值可以为多个报文数据所对应的业务所能容忍缓存的最小值,或,第一时间阈值还可以为多个报文数据所对应的业务所能容忍缓存的最大值,本实施例中不对此进行限定。
其次,在另一种可选地实施例中,若在第一时间阈值内,接收端设备通过对其他通信链路接收到的封装后的报文数据进行拆包处理,能够得到第三报文数据,由于第三报文数据与第一报文数据为相邻的报文数据,此时直接发送第三报文数据,并且从缓存中获取第二报文数据,再发送第二报文数据。
示例性地,以传输工业控制流量的业务作为示例进行说明,若多个报文数据所对应的工业控制流量的业务所能容忍缓存的最小值为10ms,那么当第二报文数据的缓存时间大于10ms时,将直接发送第二报文数据,以减少数据缓存等待的时间,降低数据传输的时延。其次,若多个报文数据所对应的业务所能容忍缓存的最大值为1s,那么当第二报文数据的缓存时间大于1s时,也将直接发送第二报文数据,此时虽然延长了数据缓存等待的时间,但是在1s的时间内可能从其他通信链路得到第三报文数据,由此保证数据传输还是保序的,由此能够保证数据传输的可靠性。
二、目标丢包处理策略包括第二丢包处理策略。
请参阅图9,图9为本申请实施例中数据传输的方法另一交互流程示意图,如图9所示,在出现丢包的情况下,数据传输的另一种方法包括如下步骤。
S901、发送端设备向接收端设备发送配置信息。
本实施例中,由于发送端设备无法得知接收端设备支持的丢包处理策略,因此发送端 设备需要向接收端设备发送配置信息,且该配置信息包括第二丢包处理策略,第二丢包处理策略,第三丢包处理策略以及第四丢包处理策略。
S902、接收端设备向发送端设备发送确认信息。
本实施例中,接收端设备通过步骤S901能够接收到发送端设备所发送的配置信息,由于该配置信息包括第二丢包处理策略,第二丢包处理策略,第三丢包处理策略以及第四丢包处理策略,若接收端设备能够支持第二丢包处理策略,那么接收端设备生成确认信息,该确认信息指示接收端设备支持第二丢包处理策略,并向发送端设备发送该确认信息。应理解,由于本实施例中以目标丢包处理策略包括第二丢包处理策略作为示例进行说明,而实际应用中目标丢包处理策略可以包括多种不同的丢包处理策略的组合,因此确认信息也能够指示多种不同的丢包处理策略,此处进行限定。
S903、发送端设备按照传输次序得到多个报文数据。
本实施例中,发送端设备按照传输次序得到多个报文数据的方式与步骤S301类似,在此不再赘述。
S904、发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据。
本实施例中,发送端设备通过步骤S902可以接收到接收端设备所发送的确认信息,且由此确定接收端设备支持第二丢包处理策略。因此,发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据,此时每个封装后的报文数据包括报文数据,报文序号以及指示信息,且指示信息用于指示目标丢包处理策略,且目标丢包处理策略包括第二丢包处理策略。
发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据的方式与步骤S302类似,即重组头中能够包括报文序号,还能够包括指示第二丢包处理策略的指示信息,具体此处不再赘述。
S905、发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据。
本实施例中,发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据的方式与步骤S303类似,在此不再赘述。
下面的步骤将具以封装后的多个报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据,而第三报文数据的报文序号指示第三报文数据在多个封装后的报文数据中的次序后于第一报文数据在多个封装后的报文数据中的次序,且第三报文数据与第一报文数据在多个封装后的报文数据中是相邻的报文数据作为示例进行介绍。
S906、接收端设备对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,目标丢包处理策略包括第二丢包处理策略。
本实施例中,由于封装后的报文数据中还包括了目标丢包处理策略,因此接收端设备对多个封装后的报文数据进行拆包处理,能够得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,且目标丢包处理策略包括第二丢包处理策略。接收端设备进行 拆包处理的具体方式与步骤S304类似,在此不再赘述。
S907、接收端设备根据多个报文数据的报文序号确定传输次序。
本实施例中,接收端设备根据多个报文数据的报文序号确定传输次序。由于第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据,因此接收端设备可以确定出现丢包情况。且接收端设备在拆包得到第二报文数据以及报文序号后,能够根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送。确定传输次序送的具体方式与步骤S807类似,在此不再赘述。
S908、若确定第一报文数据已被发送,则接收端设备执行第二丢包处理策略;
本实施例中,通过步骤S907可知,由于第二报文数据需要在第一报文数据之后发送,此时若第一报文数据已被发送,则能够确定出现丢包情况,接收端设备需执行第二丢包处理策略。第一报文数据已被发送的具体方式,以及判断出现丢包情况的具定方式与步骤S808类似,在此不再赘述。
S909、接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点。
本实施例中,基于前述实施例的示例,为了保证能够按照传输次序发送多个报文数据,因此在出现丢包的情况下,接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,第一封装后的报文数据包括第一报文数据,第二封装后的报文数据包括第二报文数据。
示例性地,若在第50ms时接收到第一封装后的报文数据,此时可以确定第一时间点为第50ms,而在第65ms时接收到第二封装后的报文数据,此时可以确定第二时间点为第65ms。
S910、若第一时间点与第二时间点之差大于第二时间阈值,则接收端设备发送第二报文数据。
本实施例中,若第一时间点与第二时间点之差大于第二时间阈值,则接收端设备发送第二报文数据。且在发送第二报文数据之后,若后续得到第三报文数据将不会进行发送,而是直接丢弃。
具体地,第二时间阈值是根据多个报文数据能够容忍抖动时间确定的,例如,在工业控制流量中的扫描业务,该扫描业务为固定10ms一个报文数据,如果在收到一个报文数据后的13ms内没收到下一个报文数据,那么说明该扫描业务出现问题,此时能够确定抖动时间就不能超过3ms,即每个报文数据包之间的时间间隔不能超过13ms。基于此,以第二时间阈值为13ms,且基于步骤S909的示例进行说明,由于第一时间点为第50ms,且第二时间点为第65ms,那么可以计算得到第一时间点与第二时间点之差为15ms,大于13ms,此时接收端设备将直接发送第二报文数据,并且在后续得到第三报文数据后丢弃第三报文数据。
三、目标丢包处理策略包括第三丢包处理策略。
请参阅图10,图10为本申请实施例中数据传输的方法另一交互流程示意图,如图10所示,在出现丢包的情况下,数据传输的另一种方法包括如下步骤。
S1001、发送端设备向接收端设备发送配置信息。
本实施例中,由于发送端设备无法得知接收端设备支持的丢包处理策略,因此发送端设备需要向接收端设备发送配置信息,且该配置信息包括第三丢包处理策略,第三丢包处理策略,第三丢包处理策略以及第四丢包处理策略。
S1002、接收端设备向发送端设备发送确认信息。
本实施例中,接收端设备通过步骤S1001能够接收到发送端设备所发送的配置信息,由于该配置信息包括第三丢包处理策略,第三丢包处理策略,第三丢包处理策略以及第四丢包处理策略,若接收端设备能够支持第三丢包处理策略,那么接收端设备生成确认信息,该确认信息指示接收端设备支持第三丢包处理策略,并向发送端设备发送该确认信息。应理解,由于本实施例中以目标丢包处理策略包括第三丢包处理策略作为示例进行说明,而实际应用中目标丢包处理策略可以包括多种不同的丢包处理策略的组合,因此确认信息也能够指示多种不同的丢包处理策略,此处进行限定。
S1003、发送端设备按照传输次序得到多个报文数据。
本实施例中,发送端设备按照传输次序得到多个报文数据的方式与步骤S301类似,在此不再赘述。
S1004、发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据。
本实施例中,发送端设备通过步骤S1002可以接收到接收端设备所发送的确认信息,且由此确定接收端设备支持第三丢包处理策略。因此,发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据,此时每个封装后的报文数据包括报文数据,报文序号以及指示信息,且指示信息用于指示目标丢包处理策略,且目标丢包处理策略包括第三丢包处理策略。
发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据的方式与步骤S302类似,即重组头中能够包括报文序号,还能够包括指示第三丢包处理策略的指示信息,具体此处不再赘述。
S1005、发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据。
本实施例中,发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据的方式与步骤S303类似,在此不再赘述。
下面的步骤将具以封装后的多个报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据,而第三报文数据的报文序号指示第三报文数据在多个封装后的报文数据中的次序后于第一报文数据在多个封装后的报文数据中的次序,且第三报文数据与第一报文数据在多个封装后的报文数据中是相邻的报文数据作为示例进行介绍。
S1006、接收端设备对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,目标丢包处理策略包括第三丢包处理策略。
本实施例中,由于封装后的报文数据中还包括了目标丢包处理策略,因此接收端设备对多个封装后的报文数据进行拆包处理,能够得到第二报文数据,第二报文数据的报文序 号以及目标丢包处理策略,且目标丢包处理策略包括第三丢包处理策略。接收端设备进行拆包处理的具体方式与步骤S304类似,在此不再赘述。
S1007、接收端设备根据多个报文数据的报文序号确定传输次序。
本实施例中,接收端设备根据多个报文数据的报文序号确定传输次序。由于第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据,因此接收端设备可以确定出现丢包情况。且接收端设备在拆包得到第二报文数据以及报文序号后,能够根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送。确定传输次序送的具体方式与步骤S807类似,在此不再赘述。
S1008、若确定第一报文数据已被发送,则接收端设备执行第三丢包处理策略;
本实施例中,通过步骤S1007可知,由于第二报文数据需要在第一报文数据之后发送,此时若第一报文数据已被发送,则能够确定出现丢包情况,接收端设备需执行第三丢包处理策略。第一报文数据已被发送的具体方式,以及判断出现丢包情况的具定方式与步骤S808类似,在此不再赘述。
S1009、接收端设备缓存第二报文数据。
本实施例中,接收端设备缓存第二报文数据的方式与步骤S809类似,在此不再赘述。
S1010、接收端设备检测每条通信链路的双向链路时延RTT,以确定每条通信链路的RTT。
本实施例中,接收端设备检测每条通信链路的双向链路时延RTT,以确定每条通信链路的RTT。可选地,接收端设备在得到指示第三丢包处理策略时,能够在预定期间内检测每条通信链路的双向链路时延,即不需要在确定丢包发生时执行此步骤S。
S1011、接收端设备将每条通信链路的RTT中RTT最小的通信链路确定为目标通信链路。
本实施例中,由于接收端设备能够通过步骤S1010确定每条通信链路的RTT,因此每条通信链路的RTT中RTT最小的通信链路,即为进行数据传输最快的通信链路,此时将RTT最小的通信链路确定为目标通信链路。
S1012、接收端设备根据目标通信链路的RTT确定RTT阈值。
本实施例中,接收端设备根据目标通信链路的RTT确定RTT阈值。具体地,将目标通信链路的RTT的1/2的时间确定为RTT阈值,而在实际应用中,RTT阈值可以为目标通信链路的RTT的1/3的时间等,具体需要根据业务需求灵活限定。
S1013、若接收端设备在RTT阈值内未得到第三报文数据,则向发送端设备发送数据请求信息。
本实施例中,若接收端设备在RTT阈值内未得到第三报文数据,即为从其他通信链路得到第三报文数据。则主动向发送端设备发送数据请求信息,该数据请求信息携带第三报文数据的报文序号。基于此,发送端设备在接收接收端设备发送的数据请求信息之后,能够根据第三报文数据的报文序号确定第三报文数据,并且通过目标通信链路向接收端设备发送第三报文数据。由于发送端在确定了第三报文数据后,能够以RTT最小的通信链路进行数据重传,从而能够减少缓存等待时间,进一步地以降低数据传输的时延。
可选地,第三丢包处理策略能与前述第一丢包处理策略共同执行,以减少缓存等待和保证数据传输是保序传输的,达到丢包和时延的优化平衡。
S1014、接收端设备获取第三报文数据,并发送第三报文数据。
本实施例中,接收端设备获取第三报文数据,并发送第三报文数据。具体地,若接收端设备在发送完数据请求信息后,通过对其他通信链路获取的多个封装后的报文数据进行拆包处理,能够得到第三报文数据,则不等待发送端设备重传第三报文数据,而是直接发送拆包所获取的第三报文数据。其次,若接收端设备在发送完数据请求信息后,未能通过拆包处理得到第三报文数据,则需要等待发送端设备重传第三报文数据,然后再进行发送,在实际应用中,上述两种情况都可能发生,具体不对接收端设备如何获取第三报文数据进行限定。
四、目标丢包处理策略包括第四丢包处理策略。
请参阅图11,图11为本申请实施例中数据传输的方法另一交互流程示意图,如图11所示,在出现丢包的情况下,数据传输的另一种方法包括如下步骤。
S1101、发送端设备向接收端设备发送配置信息。
本实施例中,由于发送端设备无法得知接收端设备支持的丢包处理策略,因此发送端设备需要向接收端设备发送配置信息,且该配置信息包括第四丢包处理策略,第四丢包处理策略,第四丢包处理策略以及第四丢包处理策略。
S1102、接收端设备向发送端设备发送确认信息。
本实施例中,接收端设备通过步骤S1101能够接收到发送端设备所发送的配置信息,由于该配置信息包括第四丢包处理策略,第四丢包处理策略,第四丢包处理策略以及第四丢包处理策略,若接收端设备能够支持第四丢包处理策略,那么接收端设备生成确认信息,该确认信息指示接收端设备支持第四丢包处理策略,并向发送端设备发送该确认信息。应理解,由于本实施例中以目标丢包处理策略包括第四丢包处理策略作为示例进行说明,而实际应用中目标丢包处理策略可以包括多种不同的丢包处理策略的组合,因此确认信息也能够指示多种不同的丢包处理策略,此处进行限定。
S1103、发送端设备按照传输次序得到多个报文数据。
本实施例中,发送端设备按照传输次序得到多个报文数据的方式与步骤S301类似,在此不再赘述。
S1104、发送端设备根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据。
本实施例中,发送端设备根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据,且每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识。
具体地,FEC是一种通过增加冗余数据对丢失的数据包进行恢复的信道编码算法。也就是由发送端设备对多个报文数据进行FEC编码,生成冗余奇偶校验数据包(即每个分组对应的冗余数据),多个报文数据和冗余数据可以被合并称作FEC数据块,且多个报文数据和冗余数据的数量比例是固定的。其次,FEC编解码算法包括但不限于里德-所罗门(reeds-solomon,RS)编解码算法、Raptor编解码算法和Tornado编解码算法。使用FEC编 码算法的时候要根据丢包率(packet lost rate,PLR)来设置冗余度。
S1105、发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据。
本实施例中,发送端设备通过步骤S1102可以接收到接收端设备所发送的确认信息,且由此确定接收端设备支持第四丢包处理策略。因此,发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据,此时每个封装后的报文数据包括报文数据,报文序号以及指示信息,且指示信息用于指示目标丢包处理策略,且目标丢包处理策略包括第四丢包处理策略。进一步地,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据还包括相同的分组标识。
进一步地,发送端设备还能够对多个报文数据进行复制,并按照传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。对多个报文数据进行复制进行复制的方式与步骤S302中介绍的方式类似,在此不再赘述。
具体地,发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据的方式与步骤S302类似,即重组头中能够包括报文序号,还能够包括指示第四丢包处理策略的指示信息以及分组标识,具体此处不再赘述。
S1106、发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据。
本实施例中,发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据。具体地,发送端设备通过原始通信链路按照传输次序向接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,还会向接收端设备发送包括相同的分组标识的冗余数据。其次,发送端设备通过(N-1)条通信链路按照传输次序向接收端设备发送多个封装后的复制后的报文数据。
下面的步骤将具以封装后的多个报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据。而第三报文数据的报文序号指示第三报文数据在多个封装后的报文数据中的次序后于第一报文数据在多个封装后的报文数据中的次序,且第三报文数据与第一报文数据在多个封装后的报文数据中是相邻的报文数据。其次,第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,且第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识,且与第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识的冗余数据为目标冗余数据作为示例进行介绍。
S1107、接收端设备对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,目标丢包处理策略包括第四丢包处理策略。
本实施例中,由于封装后的报文数据中还包括了目标丢包处理策略,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,发送端设备还会向接收端设备发送包括相同的分组标识的冗余数据,因此接收端设备能够通过原始通信链路接收发送端设备发送的多个封装后的原始报文数据以及多个冗余数据。
基于此,接收端设备对多个封装后的报文数据进行拆包处理,能够得到第二报文数据, 第二报文数据的报文序号以及目标丢包处理策略,且目标丢包处理策略包括第四丢包处理策略。接收端设备进行拆包处理的具体方式与步骤S304类似,在此不再赘述。
S1108、接收端设备根据多个报文数据的报文序号确定传输次序。
本实施例中,接收端设备根据多个报文数据的报文序号确定传输次序。由于第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据,因此接收端设备可以确定出现丢包情况。且接收端设备在拆包得到第二报文数据以及报文序号后,能够根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送。确定传输次序送的具体方式与步骤S807类似,在此不再赘述。
S1109、若确定第一报文数据已被发送,且第一报文数据被缓存于FEC缓存队列,则接收端设备执行第四丢包处理策略。
本实施例中,由于接收端设备在拆包得到第一报文数据时,也能够得到目标丢包处理策略,由于目标丢包处理策略包括第四丢包处理策略。即使第一报文数据按照正确的传输顺序被发送,基于第四丢包处理策略,接收端设备会将第一报文数据被缓存于FEC缓存队列。基于此,由于第二报文数据需要在第一报文数据之后发送,此时若第一报文数据已被发送,则能够确定出现丢包情况,接收端设备需执行第三丢包处理策略。第一报文数据已被发送的具体方式,以及判断出现丢包情况的具定方式与步骤S808类似,在此不再赘述。
S1110、接收端设备从FEC缓存队列中获取第一报文数据。
本实施例中,接收端设备从FEC缓存队列中获取第一报文数据。可选地,FEC缓存队列能够被设置预设数量阈值,即FEC缓存队列中缓存的报文数据的数量大于预设数量阈值时,将丢弃次序最前的报文数据,以保证后续的报文数据能够被缓存,但不占据过多的缓存资源。
S1111、接收端设备通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据。
本实施例中,通过前述实施例可知,第三报文数据为丢失的报文数据,并且第一报文数据,第二报文数据,第三报文数据以及目标冗余数据包括相同的分组标识,即目标冗余数据是发送端设备对包括相同的分组标识下的多个报文数据进行FEC编码得到的。基于此,接收端设备能够通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据。具体地,FEC编解码算法包括但不限于RS编解码算法、Raptor编解码算法和Tornado编解码算法。
可选地,若接收端设备在进行修复处理时通过对其他通信链路获取的多个封装后的报文数据进行拆包处理,能够得到第三报文数据,则不继续进行修复处理,而是直接发送拆包所获取的第三报文数据。其次,若接收端设备进行修复处理时,未能通过拆包处理得到第三报文数据,则需要等待进行修复处理得到第三报文数据,然后再进行发送,在实际应用中,上述两种情况都可能发生,具体不对接收端设备所发送的第三报文数据的获取方式进行限定。
S1112、接收端设备发送第三报文数据。
本实施例中,接收端设备发送步骤S1111得到的第三报文数据。
四、不包括指示信息。
请参阅图12,图12为本申请实施例中数据传输的方法另一交互流程示意图,如图12所示,在出现丢包的情况下,数据传输的另一方法包括如下步骤。
S1201、发送端设备按照传输次序得到多个报文数据。
本实施例中,发送端设备按照传输次序得到多个报文数据的方式与步骤S301类似,在此不再赘述。
S1202、发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据。
本实施例中,发送端设备按照传输次序封装多个报文数据,得到多个封装后的报文数据的方式与步骤S302类似,在此不再赘述。
S1203、发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据。
本实施例中,发送端设备通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据的方式与步骤S303类似,在此不再赘述。
下面的步骤将具以封装后的多个报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据,而第三报文数据的报文序号指示第三报文数据在多个封装后的报文数据中的次序后于第一报文数据在多个封装后的报文数据中的次序,且第三报文数据与第一报文数据在多个封装后的报文数据中是相邻的报文数据作为示例进行介绍。
S1204、接收端设备对多个封装后的报文数据进行拆包处理,得到第二报文数据以及第二报文数据的报文序号。
本实施例中,接收端设备对多个封装后的报文数据进行拆包处理,能够得到第二报文数据以及第二报文数据的报文序号以及目标丢包处理策略。接收端设备进行拆包处理的具体方式与步骤S304类似,在此不再赘述。
S1205、接收端设备根据多个报文数据的报文序号确定传输次序。
本实施例中,通过步骤S1007可知,由于第二报文数据需要在第一报文数据之后发送,此时若第一报文数据已被发送,则能够确定出现丢包情况,接收端设备需执行第三丢包处理策略。第一报文数据已被发送的具体方式,以及判断出现丢包情况的具定方式与步骤S808类似,在此不再赘述。
S1206、若确定第一报文数据已被发送,则接收端设备缓存第二报文数据。
本实施例中,由于第二报文数据需要在第一报文数据之后发送,此时若第一报文数据已被发送,则能够确定出现丢包情况,为了保证能够按照传输次序发送多个报文数据,因此在出现丢包的情况下,接收端设备不能发送第二报文数据,即需要缓存第二报文数据。
S1207、接收端设备对多个封装后的报文数据进行拆包处理,得到第三报文数据以及第三报文数据的报文序号。
本实施例中,接收端设备通过对其他通信链路接收到的封装后的报文数据进行拆包处理,得到第三报文数据以及第三报文数据的报文序号,由于第三报文数据与第一报文数据 为相邻的报文数据,且第三报文数据的报文序号指示第三报文数据需要在第一报文数据之后发送,此时能够确定接收到正确传输顺序的报文数据。
S1208、接收端设备发送第三报文数据。
本实施例中,接收端设备发送步骤S1208所得到的第三报文数据。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。可以理解的是,数据传输装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤S,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以基于上述方法示例对数据传输装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
由此,下面对本申请中的数据传输装置进行详细描述,且数据传输装置被设置于接收端设备,请参阅图13,图13为本申请实施例中数据传输装置一个结构示意图,如图所示,数据传输装置1300包括:
通信模块1301,用于通过通信链路接收发送端设备发送的多个封装后的报文数据,其中,多个封装后的报文数据是按照传输次序封装多个报文数据得到的,每个封装后的报文数据包括报文数据以及报文序号,报文序号指示对应的封装后的报文数据在多个封装后的报文数据中的次序,每个封装后的报文数据的次序在多个封装后的报文数据中的次序与传输次序一致;具体实现方式请参考图3所示实施例中步骤S303的详细描述,或者图8所示实施例中步骤S805的详细描述,或者图9所示实施例中步骤S905的详细描述,或者图10所示实施例中步骤S1005的详细描述,或者图11所示实施例中步骤S1106的详细描述,或者图12所示实施例中步骤S1203的详细描述,此处不再赘述。
处理模块1302,用于对多个封装后的报文数据进行拆包处理,得到多个报文数据以及多个报文数据的报文序号;具体实现方式请参考图3所示实施例中步骤S304的详细描述,或者图8所示实施例中步骤S806的详细描述,或者图9所示实施例中步骤S906的详细描述,或者图10所示实施例中步骤S1006的详细描述,或者图11所示实施例中步骤S1107的详细描述,或者图12所示实施例中步骤S1204的详细描述,此处不再赘述。
处理模块1302,还用于根据多个报文数据的报文序号确定传输次序;具体实现方式请参考图3所示实施例中步骤S305的详细描述,或者图8所示实施例中步骤S807的详细描述,或者图9所示实施例中步骤S907的详细描述,或者图10所示实施例中步骤S1007的详细描述,或者图11所示实施例中步骤S1108的详细描述,或者图12所示实施例中步骤S1205的详细描述,此处不再赘述。
通信模块1301,还用于按照传输次序发送多个报文数据。具体实现方式请参考图3所示实施例中步骤S306的详细描述,或者图8所示实施例中步骤S808至步骤S810的详细描述,或者图9所示实施例中步骤S908至步骤S910的详细描述,或者图10所示实施例中步骤S1008至步骤S1014的详细描述,或者图11所示实施例中步骤S1109至步骤S1113的详细描述,或者图12所示实施例中步骤S1206至步骤S1208的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图13所对应的实施例基础上,本申请实施例提供的数据传输装置1300的另一实施例中,封装后的报文数据还包括指示信息,其中,指示信息用于指示目标丢包处理策略;
通信模块1301,还用于在通过通信链路接收发送端设备发送的多个封装后的报文数据之前,向发送端设备发送确认消息,其中,确认消息指示接收端设备支持目标丢包处理策略。具体实现方式请参考图8所示实施例中步骤S802的详细描述,或者图9所示实施例中步骤S902的详细描述,或者图10所示实施例中步骤S1002的详细描述,或者图11所示实施例中步骤S1102的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图13所对应的实施例基础上,本申请实施例提供的数据传输装置1300的另一实施例中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是相邻的报文数据;
处理模块1302,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据以及第二报文数据的报文序号;具体实现方式请参考图3所示实施例中步骤S304的详细描述,此处不再赘述。
处理模块1302,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;具体实现方式请参考图3所示实施例中步骤S305的详细描述,此处不再赘述。
通信模块1301,具体用于若确定第一报文数据已被发送,则发送第二报文数据。具体实现方式请参考图3所示实施例中步骤S306的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图13所对应的实施例基础上,本申请实施例提供的数据传输装置1300的另一实施例中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据。
在一种可选的实现方式中,在上述图13所对应的实施例基础上,本申请实施例提供的数据传输装置1300的另一实施例中,处理模块1302,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据以及第二报文数据的报文序号;具体实现方式请参考图12所示实施例中步骤S1204的详细描述,此处不再赘述。
处理模块1302,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;具体实现方式请参考图12所示实施例中步骤S1205的详细描述,此处不再 赘述。
通信模块1301,具体用于若确定第一报文数据已被发送,则缓存第二报文数据;具体实现方式请参考图12所示实施例中步骤S1206的详细描述,此处不再赘述。
对多个封装后的报文数据进行拆包处理,得到第三报文数据以及第三报文数据的报文序号,其中,第三报文数据的报文序号指示第三报文数据在多个封装后的报文数据中的次序后于第一报文数据在多个封装后的报文数据中的次序,且第三报文数据与第一报文数据在多个封装后的报文数据中是相邻的报文数据;具体实现方式请参考图12所示实施例中步骤S1207的详细描述,此处不再赘述。
发送第三报文数据。具体实现方式请参考图12所示实施例中步骤S1208的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图13所对应的实施例基础上,本申请实施例提供的数据传输装置1300的另一实施例中,处理模块1302,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,其中,目标丢包处理策略包括第一丢包处理策略;具体实现方式请参考图8所示实施例中步骤S806的详细描述,此处不再赘述。
处理模块1302,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;具体实现方式请参考图8所示实施例中步骤S807的详细描述,此处不再赘述。
通信模块1301,具体用于若确定第一报文数据已被发送,则接收端设备执行第一丢包处理策略;具体实现方式请参考图8所示实施例中步骤S808的详细描述,此处不再赘述。
缓存第二报文数据;具体实现方式请参考图8所示实施例中步骤S809的详细描述,此处不再赘述。
若第二报文数据的缓存时间大于第一时间阈值,则发送第二报文数据。具体实现方式请参考图8所示实施例中步骤S810的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图13所对应的实施例基础上,本申请实施例提供的数据传输装置1300的另一实施例中,处理模块1302,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,其中,目标丢包处理策略包括第二丢包处理策略;具体实现方式请参考图9所示实施例中步骤S906的详细描述,此处不再赘述。
处理模块1302,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;具体实现方式请参考图9所示实施例中步骤S907的详细描述,此处不再赘述。
通信模块1301,具体用于若确定第一报文数据已被发送,则接收端设备执行第二丢包处理策略;具体实现方式请参考图9所示实施例中步骤S908的详细描述,此处不再赘述。
确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,第一封装后的报文数据包括第一报文数据,第二封装后的报文数据包括第二报文数据;具体实现方式请参考图9所示实施例中步骤S909的详细描述,此处不再 赘述。
若第一时间点与第二时间点之差大于第二时间阈值,则发送第二报文数据。具体实现方式请参考图9所示实施例中步骤S910的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图13所对应的实施例基础上,本申请实施例提供的数据传输装置1300的另一实施例中,处理模块1302,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,其中,目标丢包处理策略包括第三丢包处理策略;具体实现方式请参考图10所示实施例中步骤S1006的详细描述,此处不再赘述。
处理模块1302,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;具体实现方式请参考图10所示实施例中步骤S1007的详细描述,此处不再赘述。
通信模块1301,具体用于若确定第一报文数据已被发送,则接收端设备执行第三丢包处理策略;具体实现方式请参考图10所示实施例中步骤S1008的详细描述,此处不再赘述。
缓存第二报文数据;具体实现方式请参考图10所示实施例中步骤S1009的详细描述,此处不再赘述。
若在双向链路时延RTT阈值内未得到第三报文数据,则向发送端设备发送数据请求信息,其中,数据请求信息携带第三报文数据的报文序号,数据请求信息用于指示发送端设备根据第三报文数据的报文序号确定第三报文数据,并通过目标通信链路向接收端设备发送第三报文数据,目标通信链路为RTT最小的通信链路,且RTT阈值是根据目标通信链路的RTT确定的;具体实现方式请参考图10所示实施例中步骤S1013的详细描述,此处不再赘述。
接收端设备获取第三报文数据,并发送第三报文数据。具体实现方式请参考图10所示实施例中步骤S1014的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图13所对应的实施例基础上,本申请实施例提供的数据传输装置1300的另一实施例中,处理模块1302,还用于检测每条通信链路的RTT,以确定每条通信链路的RTT;具体实现方式请参考图10所示实施例中步骤S1010的详细描述,此处不再赘述。
处理模块1302,还用于将每条通信链路的RTT中RTT最小的通信链路确定为目标通信链路;具体实现方式请参考图10所示实施例中步骤S1011的详细描述,此处不再赘述。
处理模块1302,还用于根据目标通信链路的RTT确定RTT阈值。具体实现方式请参考图10所示实施例中步骤S1012的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图13所对应的实施例基础上,本申请实施例提供的数据传输装置1300的另一实施例中,通信模块1301,具体用于通过原始通信链路接收发送端设备发送的多个封装后的原始报文数据以及多个冗余数据,其中,原始报文数据为未进行复制的报文数据,原始通信链路为发送原始数据报文的通信链路,冗余数据是根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码生成的,且属于同一分组的多个封装后的原始报文数据以及每个分组对应的冗余数据 包括相同的分组标识。具体实现方式请参考图11所示实施例中步骤S1106的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图13所对应的实施例基础上,本申请实施例提供的数据传输装置1300的另一实施例中,第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,且第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识,且与第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
处理模块1302,具体用于对多个封装后的报文数据进行拆包处理,得到第二报文数据,第二报文数据的报文序号以及目标丢包处理策略,其中,目标丢包处理策略包括第四丢包处理策略;具体实现方式请参考图11所示实施例中步骤S1107的详细描述,此处不再赘述。
处理模块1302,具体用于根据第二报文数据的报文序号确定第二报文数据在第一报文数据之后发送;具体实现方式请参考图11所示实施例中步骤S1108的详细描述,此处不再赘述。
通信模块1301,具体用于若确定第一报文数据已被发送,且第一报文数据被缓存于FEC缓存队列,则接收端设备执行第四丢包处理策略;具体实现方式请参考图11所示实施例中步骤S1109的详细描述,此处不再赘述。
从FEC缓存队列中获取第一报文数据;具体实现方式请参考图11所示实施例中步骤S1110的详细描述,此处不再赘述。
通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据;具体实现方式请参考图11所示实施例中步骤S1111的详细描述,此处不再赘述。
发送第三报文数据。具体实现方式请参考图11所示实施例中步骤S1112的详细描述,此处不再赘述。
下面对本申请中的数据传输装置进行详细描述,且该数据传输装置被设置于发送端设备,请参阅图14,图14为本申请实施例中数据传输装置另一结构示意图,如图所示,数据传输装置1400包括:
通信模块1401,用于按照传输次序得到多个报文数据;具体实现方式请参考图3所示实施例中步骤S301的详细描述,此处不再赘述。
处理模块1402,用于按照传输次序封装多个报文数据,得到多个封装后的报文数据,其中,每个封装后的报文数据包括报文数据以及报文序号,报文序号指示对应的封装后的报文数据在多个封装后的报文数据中的次序,每个封装后的报文数据的次序在多个封装后的报文数据中的次序与传输次序一致;具体实现方式请参考图3所示实施例中步骤S302的详细描述,或者图8所示实施例中步骤S804的详细描述,或者图9所示实施例中步骤S904的详细描述,或者图10所示实施例中步骤S1004的详细描述,或者图11所示实施例中步骤S1104的详细描述,或者图12所示实施例中步骤S1202的详细描述,此处不再赘述。
通信模块1401,还用于通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据,N≥2。具体实现方式请参考图3所示实施例中步骤S303的详细描述,或者图8所示实施例中步骤S805的详细描述,或者图9所示实施例中步骤S905的详细描述,或 者图10所示实施例中步骤S1005的详细描述,或者图11所示实施例中步骤S1105的详细描述,或者图12所示实施例中步骤S1203的详细描述,此处不再赘述。
在本申请的一种可选实施方式中,每个封装后的报文数据还包括指示信息,其中,指示信息用于指示目标丢包处理策略;
通信模块1401,还用于在按照传输次序封装多个报文数据,得到多个封装后的报文数据之前,接收接收端设备发送的确认消息,其中,确认消息指示接收端设备支持目标丢包处理策略。具体实现方式请参考图8所示实施例中步骤S802的详细描述,或者图9所示实施例中步骤S902的详细描述,或者图10所示实施例中步骤S1002的详细描述,或者图11所示实施例中步骤S1102的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图14所对应的实施例基础上,本申请实施例提供的数据传输装置1400的另一实施例中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是相邻的报文数据。
在一种可选的实现方式中,在上述图14所对应的实施例基础上,本申请实施例提供的数据传输装置1400的另一实施例中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据。
在一种可选的实现方式中,在上述图14所对应的实施例基础上,本申请实施例提供的数据传输装置1400的另一实施例中,目标丢包处理策略包括第一丢包处理策略;
第一丢包处理策略为接收端设备缓存第二报文数据;
若第二报文数据的缓存时间大于第一时间阈值,则接收端设备发送第二报文数据。第一丢包处理策略的具体实现方式请参考图8所示实施例中步骤S806至步骤S810的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图14所对应的实施例基础上,本申请实施例提供的数据传输装置1400的另一实施例中,目标丢包处理策略包括第二丢包处理策略;
第二丢包处理策略为接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,第一封装后的报文数据包括第一报文数据,第二封装后的报文数据包括第二报文数据;
若第一时间点与第二时间点之差大于第二时间阈值,则接收端设备发送第二报文数据。第二丢包处理策略的具体实现方式请参考图9所示实施例中步骤S906至步骤S910的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图14所对应的实施例基础上,本申请实施例提供的数据传输装置1400的另一实施例中,目标丢包处理策略包括第三丢包处理策略;
第三丢包处理策略为接收端设备缓存第二报文数据;
若接收端设备在双向链路时延RTT阈值内未得到第三报文数据,则向发送端设备发送 数据请求信息,其中,数据请求信息携带第三报文数据的报文序号,数据请求信息用于指示发送端设备根据第三报文数据的报文序号确定第三报文数据,并通过目标通信链路向接收端设备发送第三报文数据,目标通信链路为RTT最小的通信链路,且RTT阈值是根据目标通信链路的RTT确定的;
接收端设备获取第三报文数据,并发送第三报文数据。第三丢包处理策略的具体实现方式请参考图10所示实施例中步骤S1006至步骤S1014的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图14所对应的实施例基础上,本申请实施例提供的数据传输装置1400的另一实施例中,
通信模块1401,还用于接收接收端设备发送的数据请求信息;具体实现方式请参考图10所示实施例中步骤S1013的详细描述,此处不再赘述。
处理模块1402,还用于根据第三报文数据的报文序号确定第三报文数据,具体实现方式请参考图10所示实施例中步骤S1013的详细描述,此处不再赘述。
通信模块1401,还用于通过目标通信链路向接收端设备发送第三报文数据。具体实现方式请参考图10所示实施例中步骤S1014的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图14所对应的实施例基础上,本申请实施例提供的数据传输装置1400的另一实施例中,处理模块1402,还用于根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据,其中,每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识;具体实现方式请参考图11所示实施例中步骤S1104的详细描述,此处不再赘述。
处理模块1402,具体用于按照传输次序封装多个报文数据,得到多个封装后的报文数据,其中,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据包括相同的分组标识;具体实现方式请参考图11所示实施例中步骤S1105的详细描述,此处不再赘述。
对多个报文数据进行复制,并按照传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。具体实现方式请参考图11所示实施例中步骤S1105的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图14所对应的实施例基础上,本申请实施例提供的数据传输装置1400的另一实施例中,多个报文数据为多个原始报文数据,且多个封装后的报文数据为多个封装后的原始报文数据,且N条通信链路中发送多个封装后的原始报文数据的通信链路为原始通信链路;
通信模块1401,具体用于通过原始通信链路按照传输次序向接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,向接收端设备发送包括相同的分组标识的冗余数据;具体实现方式请参考图11所示实施例中步骤S1106的详细描述,此处不再赘述。
通过(N-1)条通信链路按照传输次序向接收端设备发送多个封装后的复制后的报文数据。具体实现方式请参考图11所示实施例中步骤S1106的详细描述,此处不再赘述。
在一种可选的实现方式中,在上述图14所对应的实施例基础上,本申请实施例提供的数据传输装置1400的另一实施例中,目标丢包处理策略包括第四丢包处理策略;
第四丢包处理策略为当接收端设备得到第二报文数据以及目标冗余数据,且第一报文数据已被发送,且接收端设备未得到第三报文数据,则从FEC缓存队列中获取第一报文数据,其中,第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,且第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识,且与第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
接收端设备通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据,并发送第三报文数据。第四丢包处理策略的具体实现方式请参考图11所示实施例中步骤S1007至步骤S1112的详细描述,此处不再赘述。
下面对本申请中的数据传输装置进行详细描述,且该数据传输装置被设置于发送端设备,请参阅图15,图15为本申请实施例中数据传输装置又一结构示意图,如图所示,数据传输装置1500包括:
通信模块1501,用于接收接收端设备发送的确认消息,其中,确认消息指示接收端设备支持目标丢包处理策略;具体实现方式请参考图8所示实施例中步骤S802的详细描述,或者图9所示实施例中步骤S902的详细描述,或者图10所示实施例中步骤S1002的详细描述,或者图11所示实施例中步骤S1102的详细描述,此处不再赘述。
通信模块1501,还用于按照传输次序得到多个报文数据;具体实现方式请参考图3所示实施例中步骤S301的详细描述,此处不再赘述。
处理模块1502,用于按照传输次序封装多个报文数据,得到多个封装后的报文数据,其中,每个封装后的报文数据包括报文数据、报文序号以及指示信息,报文序号指示对应的封装后的报文数据在多个封装后的报文数据中的次序,每个封装后的报文数据的次序在多个封装后的报文数据中的次序与传输次序一致,指示信息用于指示目标丢包处理策略;具体实现方式请参考图3所示实施例中步骤S302的详细描述,或者图8所示实施例中步骤S804的详细描述,或者图9所示实施例中步骤S904的详细描述,或者图10所示实施例中步骤S1004的详细描述,或者图11所示实施例中步骤S1104的详细描述,或者图12所示实施例中步骤S1202的详细描述,此处不再赘述。
通信模块1501,还用于通过N条通信链路按照传输次序向接收端设备发送多个封装后的报文数据,N≥2。具体实现方式请参考图3所示实施例中步骤S303的详细描述,或者图8所示实施例中步骤S805的详细描述,或者图9所示实施例中步骤S905的详细描述,或者图10所示实施例中步骤S1005的详细描述,或者图11所示实施例中步骤S1105的详细描述,或者图12所示实施例中步骤S1203的详细描述,此处不再赘述。
在上述图15所对应的实施例基础上,本申请实施例提供的数据传输装置1500的另一实施例中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是相邻的报文数据。
在上述图15所对应的实施例基础上,本申请实施例提供的数据传输装置1500的另一实施例中,多个封装后的报文数据包括第一报文数据与第二报文数据,且第一报文数据的报文序号指示第一报文数据在多个封装后的报文数据中的次序先于第二报文数据在多个封装后的报文数据中的次序,且第一报文数据与第二报文数据在多个封装后的报文数据中是不相邻的报文数据。
在上述图15所对应的实施例基础上,本申请实施例提供的数据传输装置1500的另一实施例中,目标丢包处理策略包括第一丢包处理策略;
第一丢包处理策略为接收端设备缓存第二报文数据;
若第二报文数据的缓存时间大于第一时间阈值,则接收端设备发送第二报文数据。第一丢包处理策略的具体实现方式请参考图8所示实施例中步骤S806至步骤S810的详细描述,此处不再赘述。
在上述图15所对应的实施例基础上,本申请实施例提供的数据传输装置1500的另一实施例中,目标丢包处理策略包括第二丢包处理策略;
第二丢包处理策略为接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,第一封装后的报文数据包括第一报文数据,第二封装后的报文数据包括第二报文数据;
若第一时间点与第二时间点之差大于第二时间阈值,则接收端设备发送第二报文数据。第二丢包处理策略的具体实现方式请参考图9所示实施例中步骤S906至步骤S910的详细描述,此处不再赘述。
在上述图15所对应的实施例基础上,本申请实施例提供的数据传输装置1500的另一实施例中,目标丢包处理策略包括第三丢包处理策略;
第三丢包处理策略为接收端设备缓存第二报文数据;
若接收端设备在双向链路时延RTT阈值内未得到第三报文数据,则向发送端设备发送数据请求信息,其中,数据请求信息携带第三报文数据的报文序号,数据请求信息用于指示发送端设备根据第三报文数据的报文序号确定第三报文数据,并通过目标通信链路向接收端设备发送第三报文数据,目标通信链路为RTT最小的通信链路,且RTT阈值是根据目标通信链路的RTT确定的;
接收端设备获取第三报文数据,并发送第三报文数据。第三丢包处理策略的具体实现方式请参考图10所示实施例中步骤S1006至步骤S1014的详细描述,此处不再赘述。
在上述图15所对应的实施例基础上,本申请实施例提供的数据传输装置1500的另一实施例中,通信模块1501,还用于接收接收端设备发送的数据请求信息;具体实现方式请参考图10所示实施例中步骤S1013的详细描述,此处不再赘述。
处理模块1502,还用于根据第三报文数据的报文序号确定第三报文数据;具体实现方式请参考图10所示实施例中步骤S1013的详细描述,此处不再赘述。
通信模块1501,还用于通过目标通信链路向接收端设备发送第三报文数据。具体实现方式请参考图10所示实施例中步骤S1014的详细描述,此处不再赘述。
在上述图15所对应的实施例基础上,本申请实施例提供的数据传输装置1500的另一 实施例中,处理模块1502,还用于根据预设条件对多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据,其中,每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识;具体实现方式请参考图11所示实施例中步骤S1104的详细描述,此处不再赘述。
处理模块1502,具体用于按照传输次序封装多个报文数据,得到多个封装后的报文数据,其中,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据包括相同的分组标识;具体实现方式请参考图11所示实施例中步骤S1105的详细描述,此处不再赘述。
对多个报文数据进行复制,并按照传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。具体实现方式请参考图11所示实施例中步骤S1105的详细描述,此处不再赘述。
在上述图15所对应的实施例基础上,本申请实施例提供的数据传输装置1500的另一实施例中,多个报文数据为多个原始报文数据,且多个封装后的报文数据为多个封装后的原始报文数据,且N条通信链路中发送多个封装后的原始报文数据的通信链路为原始通信链路;
通信模块1501,具体用于通过原始通信链路按照传输次序向接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,向接收端设备发送包括相同的分组标识的冗余数据;具体实现方式请参考图11所示实施例中步骤S1106的详细描述,此处不再赘述。
通过(N-1)条通信链路按照传输次序向接收端设备发送多个封装后的复制后的报文数据。具体实现方式请参考图11所示实施例中步骤S1106的详细描述,此处不再赘述。
在上述图15所对应的实施例基础上,本申请实施例提供的数据传输装置1500的另一实施例中,目标丢包处理策略包括第四丢包处理策略;
第四丢包处理策略为当接收端设备得到第二报文数据以及目标冗余数据,且第一报文数据已被发送,且接收端设备未得到第三报文数据,则从FEC缓存队列中获取第一报文数据,其中,第一报文数据,第二报文数据以及第三报文数据均为原始报文数据,且第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识,且与第一报文数据,第二报文数据以及第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
接收端设备通过第一报文数据,第二报文数据以及目标冗余数据进行修复处理,得到第三报文数据,并发送第三报文数据。第四丢包处理策略的具体实现方式请参考图11所示实施例中步骤S1007至步骤S1112的详细描述,此处不再赘述。
请参阅图16,为本申请的实施例提供的上述实施例中所涉及的网络设备1600的一种具体的逻辑结构示意图,该网络设备1600可以包括但不限于处理器1601、通信端口1602、存储器1603、总线1604,在本申请的实施例中,处理器1601用于对网络设备1600的动作进行控制处理,处理器1601还用于执行该存储器1603存储的指令,以控制通信端口1602发送信号和/或接收信号。
应理解,网络设备1600可以对应于上述方法实施例中的接收端设备或发送端设备,并且可以用于执行上述方法实施例中接收端设备或发送端设备执行的各个步骤和/或流程。可选地,存储器1603可以包括只读存储器和随机存取存储器,并向处理器1601提供指令和数据。存储器1603的一部分还可以包括非易失性随机存取存储器。存储器1603可以是一个单独的器件,也可以集成在处理器1601中。
其中,通信端口1602可以包括发射机和接收机。通信端口1602还可以进一步包括天线,天线的数量可以为一个或多个。处理器1601、通信端口1602与存储器1603可以是集成在不同芯片上的器件。如,处理器160和存储器1603可以集成在基带芯片中,通信端口1602可以集成在射频芯片中。处理器1601、通信端口1602与存储器1603也可以是集成在同一个芯片上的器件。本申请对此不作限定。
作为一种具体的实现方式,网络设备1600对应于上述方法实施例中的接收端设备。基于此,当上述图13所示的实施例中的各模块,例如通信模块1301,处理模块1302等模块是以软件方式实现的情况下,通信模块1301以及处理模块1302可以保存在本实施例中的存储器1603中,由处理器1601运行处理模块1302,且由通信端口1602运行通信模块1301,以执行上述实施例中通信模块1301以及处理模块1302的功能。具体实现方式请参考图13所示实施例中通信模块1301以及处理模块1302的详细描述,此处不再赘述。
作为一种具体的实现方式,网络设备1600对应于上述方法实施例中的发送端设备。基于此,当上述图14所示的实施例中的各模块,例如通信模块1401,处理模块1402等模块是以软件方式实现的情况下,通信模块1401以及处理模块1402可以保存在本实施例中的存储器1603中,由处理器1601运行处理模块1402,且由通信端口1602运行通信模块1401,以执行上述实施例中通信模块1401以及处理模块1402的功能。具体实现方式请参考图14所示实施例中通信模块1401以及处理模块1402的详细描述,此处不再赘述。
作为一种具体的实现方式,网络设备1600对应于上述方法实施例中的发送端设备。基于此,当上述图15所示的实施例中的各模块,例如通信模块1501,处理模块1502等模块是以软件方式实现的情况下,通信模块1501以及处理模块1502可以保存在本实施例中的存储器1603中,由处理器1601运行处理模块1502,且由通信端口1602运行通信模块1501,以执行上述实施例中各模块的功能。具体实现方式请参考图15所示实施例中通信模块1501以及处理模块1502的详细描述,此处不再赘述。
此外,处理器1601可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供一种接收端设备,包括至少一个处理器,所述至少一个处理器用于执行存储器中存储的计算机程序,以使得所述发送端设备执行上述任一方法实施例中接收 端设备所执行的方法。
本申请实施例提供一种发送端设备,包括至少一个处理器,所述至少一个处理器用于执行存储器中存储的计算机程序,以使得所述发送端设备执行上述任一方法实施例中发送端设备所执行的方法。
本申请实施例提供一种通信系统,包括发送端设备以及接收端设备,发送端设备执行上述任一方法实施例中接收端设备所执行的方法,接收端设备执行上述任一方法实施例中发送端设备所执行的方法。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述任一方法实施例中接收端设备所执行的方法,或,执行上述任一方法实施例中发送端设备所执行的方法。
本申请还提供了一种数据传输装置,包括至少一个处理器,所述至少一个处理器用于执行存储器中存储的计算机程序,以使得所述数据传输装置执行上述任一方法实施例中接收端设备和/或发送端设备所执行的方法。
应理解,上述数据传输装置可以是一个或多个芯片。例如,该数据传输装置可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
本申请实施例还提供了一种数据传输装置,包括处理器和通信接口。所述通信接口与所述处理器耦合。所述通信接口用于输入和/或输出信息。所述信息包括指令和数据中的至少一项。所述处理器用于执行计算机程序,以使得所述数据传输装置执行上述任一方法实施例中接收端设备和/或发送端设备所执行的方法。
本申请实施例还提供了一种数据传输装置,包括处理器和通信接口。所述通信接口与所述处理器耦合。所述通信接口用于输入和/或输出信息。所述信息包括指令和数据中的至少一项。所述处理器用于执行计算机程序,以使得所述数据传输装置执行上述任一方法实施例中接收端设备和/或发送端设备所执行的方法。
本申请实施例还提供了一种数据传输装置,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于从所述存储器调用并运行所述计算机程序,以使得所述数据传输装置执行上述任一方法实施例中接收端设备和/或发送端设备所执行的方法。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行图3,图8,图9,图10,图11以及图12所示实施例中的各个单元执行的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行图3,图8,图9,图10,图11以及图12所示实施例中的各个单元执行的方法。
上述各个装置实施例中模块和方法实施例中各个单元完全对应,由相应的模块或单元执行相应的步骤,例如通信单元(收发器)执行方法实施例中接收或发送的步骤,除发送、接收外的其它步骤可以由处理单元(处理器)执行。具体单元的功能可以参考相应的方法实施例。其中,处理器可以为一个或多个。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外, 这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (69)

  1. 一种数据传输方法,其特征在于,包括:
    接收端设备通过通信链路接收发送端设备发送的多个封装后的报文数据,其中,所述多个封装后的报文数据是按照传输次序封装多个报文数据得到的,每个封装后的报文数据包括报文数据以及报文序号,所述报文序号指示对应的封装后的报文数据在所述多个封装后的报文数据中的次序,每个封装后的报文数据的次序在所述多个封装后的报文数据中的次序与所述传输次序一致;
    所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述多个报文数据以及多个报文数据的报文序号;
    所述接收端设备根据多个报文数据的报文序号确定所述传输次序;
    所述接收端设备按照所述传输次序发送所述多个报文数据。
  2. 根据权利要求1所述的方法,其特征在于,所述封装后的报文数据还包括指示信息,其中,所述指示信息用于指示目标丢包处理策略;
    在所述接收端设备通过通信链路接收发送端设备发送的多个封装后的报文数据之前,所述方法还包括:
    所述接收端设备向所述发送端设备发送确认消息,其中,所述确认消息指示所述接收端设备支持所述目标丢包处理策略。
  3. 根据权利要求1或2所述的方法,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是相邻的报文数据;
    所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述多个报文数据以及多个报文数据的报文序号,具体包括:
    所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据以及所述第二报文数据的报文序号;
    所述接收端设备根据多个报文数据的报文序号确定所述传输次序,具体包括:
    所述接收端设备根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述接收端设备按照所述传输次序发送所述多个报文数据,具体包括:
    若确定所述第一报文数据已被发送,则所述接收端设备发送所述第二报文数据。
  4. 根据权利要求2所述的方法,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是不相邻的报文数据。
  5. 根据权利要求4所述的方法,其特征在于,所述接收端设备对所述多个封装后的报 文数据进行拆包处理,得到所述多个报文数据以及多个报文数据的报文序号,具体包括:
    所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据以及所述第二报文数据的报文序号;
    所述接收端设备根据多个报文数据的报文序号确定所述传输次序,具体包括:
    所述接收端设备根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述接收端设备按照所述传输次序发送所述多个报文数据,具体包括:
    若确定所述第一报文数据已被发送,则所述接收端设备缓存所述第二报文数据;
    所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到第三报文数据以及所述第三报文数据的报文序号,其中,所述第三报文数据的报文序号指示所述第三报文数据在所述多个封装后的报文数据中的次序后于所述第一报文数据在所述多个封装后的报文数据中的次序,且所述第三报文数据与所述第一报文数据在所述多个封装后的报文数据中是相邻的报文数据;
    所述接收端设备发送所述第三报文数据。
  6. 根据权利要求4所述的方法,其特征在于,所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述多个报文数据以及多个报文数据的报文序号,具体包括:
    所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据,所述第二报文数据的报文序号以及目标丢包处理策略,其中,所述目标丢包处理策略包括第一丢包处理策略;
    所述接收端设备根据多个报文数据的报文序号确定所述传输次序,具体包括:
    所述接收端设备根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述接收端设备按照所述传输次序发送所述多个报文数据,具体包括:
    若确定所述第一报文数据已被发送,则接收端设备执行所述第一丢包处理策略;
    所述接收端设备缓存所述第二报文数据;
    若所述第二报文数据的缓存时间大于所述第一时间阈值,则所述接收端设备发送所述第二报文数据。
  7. 根据权利要求4或6所述的方法,其特征在于,所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述多个报文数据以及多个报文数据的报文序号,具体包括:
    所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据,所述第二报文数据的报文序号以及目标丢包处理策略,其中,所述目标丢包处理策略包括第二丢包处理策略;
    所述接收端设备根据多个报文数据的报文序号确定所述传输次序,具体包括:
    所述接收端设备根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述接收端设备按照所述传输次序发送所述多个报文数据,具体包括:
    若确定所述第一报文数据已被发送,则接收端设备执行所述第二丢包处理策略;
    所述接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,所述第一封装后的报文数据包括所述第一报文数据,所述第二封装后的报文数据包括所述第二报文数据;
    若所述第一时间点与第二时间点之差大于所述第二时间阈值,则所述接收端设备发送所述第二报文数据。
  8. 根据权利要求4、6与7中任一项所述的方法,其特征在于,所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述多个报文数据以及多个报文数据的报文序号,具体包括:
    所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据,所述第二报文数据的报文序号以及目标丢包处理策略,其中,所述目标丢包处理策略包括第三丢包处理策略;
    所述接收端设备根据多个报文数据的报文序号确定所述传输次序,具体包括:
    所述接收端设备根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述接收端设备按照所述传输次序发送所述多个报文数据,具体包括:
    若确定所述第一报文数据已被发送,则接收端设备执行所述第三丢包处理策略;
    所述接收端设备缓存所述第二报文数据;
    若所述接收端设备在双向链路时延RTT阈值内未得到所述第三报文数据,则向所述发送端设备发送数据请求信息,其中,所述数据请求信息携带所述第三报文数据的报文序号,所述数据请求信息用于指示所述发送端设备根据所述第三报文数据的报文序号确定所述第三报文数据,并通过目标通信链路向所述接收端设备发送所述第三报文数据,所述目标通信链路为RTT最小的通信链路,且所述RTT阈值是根据所述目标通信链路的RTT确定的;
    接收端设备获取所述第三报文数据,并发送所述第三报文数据。
  9. 根据权利要求8所述的方法,其特征在于,所述方法还包括:
    所述接收端设备检测每条通信链路的RTT,以确定所述每条通信链路的RTT;
    所述接收端设备将所述每条通信链路的RTT中RTT最小的通信链路确定为目标通信链路;
    所述接收端设备根据所述目标通信链路的RTT确定所述RTT阈值。
  10. 根据权利要求4、6至9中任一项所述的方法,其特征在于,所述接收端设备通过通信链路接收所述发送端设备发送的多个封装后的报文数据,具体包括:
    所述接收端设备通过原始通信链路接收所述发送端设备发送的多个封装后的原始报文数据以及多个冗余数据,其中,所述原始报文数据为未进行复制的报文数据,所述原始通信链路为发送所述原始数据报文的通信链路,所述冗余数据是根据预设条件对所述多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码生成的,且属于同一分组的多个封装后的原始报文数据以及每个分组对应的冗余数据包括相同的分组标识。
  11. 根据权利要求10所述的方法,其特征在于,所述第一报文数据,所述第二报文数据以及所述第三报文数据均为所述原始报文数据,且所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识,且与所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
    所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述多个报文数据以及多个报文数据的报文序号,具体包括:
    所述接收端设备对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据,所述第二报文数据的报文序号以及目标丢包处理策略,其中,所述目标丢包处理策略包括第四丢包处理策略;
    所述接收端设备根据多个报文数据的报文序号确定所述传输次序,具体包括:
    所述接收端设备根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述接收端设备按照所述传输次序发送所述多个报文数据,具体包括:
    若确定所述第一报文数据已被发送,且所述第一报文数据被缓存于FEC缓存队列,则接收端设备执行所述第四丢包处理策略;
    所述接收端设备从所述FEC缓存队列中获取所述第一报文数据;
    所述接收端设备通过所述第一报文数据,所述第二报文数据以及目标冗余数据进行修复处理,得到所述第三报文数据;
    所述接收端设备发送所述第三报文数据。
  12. 一种数据传输方法,其特征在于,包括:
    发送端设备按照传输次序得到多个报文数据;
    所述发送端设备按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据,其中,每个封装后的报文数据包括报文数据以及报文序号,所述报文序号指示对应的封装后的报文数据在所述多个封装后的报文数据中的次序,每个封装后的报文数据的次序在所述多个封装后的报文数据中的次序与所述传输次序一致;
    所述发送端设备通过N条通信链路按照所述传输次序向所述接收端设备发送所述多个封装后的报文数据,N≥2。
  13. 根据权利要求12所述的方法,其特征在于,每个封装后的报文数据还包括指示信息,其中,所述指示信息用于指示目标丢包处理策略;
    在所述发送端设备按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据之前,所述方法还包括:
    所述发送端设备接收所述接收端设备发送的确认消息,其中,所述确认消息指示所述接收端设备支持所述目标丢包处理策略。
  14. 根据权利要求12或13所述的方法,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是相 邻的报文数据。
  15. 根据权利要求13所述的方法,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是不相邻的报文数据。
  16. 根据权利要求15所述的方法,其特征在于,所述目标丢包处理策略包括第一丢包处理策略;
    所述第一丢包处理策略为所述接收端设备缓存所述第二报文数据;
    若所述第二报文数据的缓存时间大于所述第一时间阈值,则所述接收端设备发送所述第二报文数据。
  17. 根据权利要求15或16所述的方法,其特征在于,所述目标丢包处理策略包括第二丢包处理策略;
    所述第二丢包处理策略为所述接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,所述第一封装后的报文数据包括所述第一报文数据,所述第二封装后的报文数据包括所述第二报文数据;
    若所述第一时间点与第二时间点之差大于所述第二时间阈值,则所述接收端设备发送所述第二报文数据。
  18. 根据权利要求15至17中任一项所述的方法,其特征在于,所述目标丢包处理策略包括第三丢包处理策略;
    所述第三丢包处理策略为所述接收端设备缓存所述第二报文数据;
    若所述接收端设备在双向链路时延RTT阈值内未得到所述第三报文数据,则向所述发送端设备发送数据请求信息,其中,所述数据请求信息携带所述第三报文数据的报文序号,所述数据请求信息用于指示所述发送端设备根据所述第三报文数据的报文序号确定所述第三报文数据,并通过目标通信链路向所述接收端设备发送所述第三报文数据,所述目标通信链路为RTT最小的通信链路,且所述RTT阈值是根据所述目标通信链路的RTT确定的;
    接收端设备获取所述第三报文数据,并发送所述第三报文数据。
  19. 根据权利要求18所述的方法,其特征在于,所述方法还包括:
    所述发送端设备接收所述接收端设备发送的数据请求信息;
    所述发送端设备根据所述第三报文数据的报文序号确定所述第三报文数据;
    所述发送端设备通过所述目标通信链路向所述接收端设备发送所述第三报文数据。
  20. 根据权利要求15至19中任一项所述的方法,其特征在于,所述方法还包括:
    所述发送端设备根据预设条件对所述多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据,其中,每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识;
    所述发送端设备按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数 据,具体包括:
    所述发送端设备按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据,其中,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据包括相同的分组标识;
    所述发送端设备对所述多个报文数据进行复制,并按照所述传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。
  21. 根据权利要求20所述的方法,其特征在于,所述多个报文数据为多个原始报文数据,且所述多个封装后的报文数据为多个封装后的原始报文数据,且所述N条通信链路中发送所述多个封装后的原始报文数据的通信链路为原始通信链路;
    所述发送端设备通过N条通信链路按照所述传输次序向所述接收端设备发送所述多个封装后的报文数据,具体包括:
    所述发送端设备通过原始通信链路按照所述传输次序向所述接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,向所述接收端设备发送包括相同的分组标识的冗余数据;
    所述发送端设备通过(N-1)条通信链路按照所述传输次序向所述接收端设备发送所述多个封装后的复制后的报文数据。
  22. 根据权利要求21所述的方法,其特征在于,所述目标丢包处理策略包括第四丢包处理策略;
    所述第四丢包处理策略为所述接收端设备从所述FEC缓存队列中获取所述第一报文数据;
    所述接收端设备通过所述第一报文数据,所述第二报文数据以及目标冗余数据进行修复处理,得到所述第三报文数据吗,其中,所述第一报文数据,所述第二报文数据以及所述第三报文数据均为所述原始报文数据,且所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识,且与所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
    所述接收端设备发送所述第三报文数据。
  23. 一种数据传输方法,其特征在于,包括:
    发送端设备接收接收端设备发送的确认消息,其中,所述确认消息指示所述接收端设备支持所述目标丢包处理策略;
    所述发送端设备按照传输次序得到多个报文数据;
    所述发送端设备按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据,其中,每个封装后的报文数据包括报文数据、报文序号以及指示信息,所述报文序号指示对应的封装后的报文数据在所述多个封装后的报文数据中的次序,每个封装后的报文数据的次序在所述多个封装后的报文数据中的次序与所述传输次序一致,所述指示信息用于指示目标丢包处理策略;
    所述发送端设备通过N条通信链路按照所述传输次序向所述接收端设备发送所述多个封装后的报文数据,N≥2。
  24. 根据权利要求23所述的方法,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是相邻的报文数据。
  25. 根据权利要求23所述的方法,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是不相邻的报文数据。
  26. 根据权利要求25所述的方法,其特征在于,所述目标丢包处理策略包括第一丢包处理策略;
    所述第一丢包处理策略为所述接收端设备缓存所述第二报文数据;
    若所述第二报文数据的缓存时间大于所述第一时间阈值,则所述接收端设备发送所述第二报文数据。
  27. 根据权利要求25或26所述的方法,其特征在于,所述目标丢包处理策略包括第二丢包处理策略;
    所述第二丢包处理策略为所述接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,所述第一封装后的报文数据包括所述第一报文数据,所述第二封装后的报文数据包括所述第二报文数据;
    若所述第一时间点与第二时间点之差大于所述第二时间阈值,则所述接收端设备发送所述第二报文数据。
  28. 根据权利要求25至27中任一项所述的方法,其特征在于,所述目标丢包处理策略包括第三丢包处理策略;
    所述第三丢包处理策略为所述接收端设备缓存所述第二报文数据;
    若所述接收端设备在双向链路时延RTT阈值内未得到所述第三报文数据,则向所述发送端设备发送数据请求信息,其中,所述数据请求信息携带所述第三报文数据的报文序号,所述数据请求信息用于指示所述发送端设备根据所述第三报文数据的报文序号确定所述第三报文数据,并通过目标通信链路向所述接收端设备发送所述第三报文数据,所述目标通信链路为RTT最小的通信链路,且所述RTT阈值是根据所述目标通信链路的RTT确定的;
    接收端设备获取所述第三报文数据,并发送所述第三报文数据。
  29. 根据权利要求28所述的方法,其特征在于,所述方法还包括:
    所述发送端设备接收所述接收端设备发送的数据请求信息;
    所述发送端设备根据所述第三报文数据的报文序号确定所述第三报文数据;
    所述发送端设备通过所述目标通信链路向所述接收端设备发送所述第三报文数据。
  30. 根据权利要求25至29中任一项所述的方法,其特征在于,所述方法还包括:
    所述发送端设备根据预设条件对所述多个报文数据进行分组,并对属于同一分组的多 个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据,其中,每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识;
    所述发送端设备按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据,具体包括:
    所述发送端设备按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据,其中,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据包括相同的分组标识;
    所述发送端设备对所述多个报文数据进行复制,并按照所述传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。
  31. 根据权利要求30所述的方法,其特征在于,所述多个报文数据为多个原始报文数据,且所述多个封装后的报文数据为多个封装后的原始报文数据,且所述N条通信链路中发送所述多个封装后的原始报文数据的通信链路为原始通信链路;
    所述发送端设备通过N条通信链路按照所述传输次序向所述接收端设备发送所述多个封装后的报文数据,具体包括:
    所述发送端设备通过原始通信链路按照所述传输次序向所述接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,向所述接收端设备发送包括相同的分组标识的冗余数据;
    所述发送端设备通过(N-1)条通信链路按照所述传输次序向所述接收端设备发送所述多个封装后的复制后的报文数据。
  32. 根据权利要求31所述的方法,其特征在于,所述目标丢包处理策略包括第四丢包处理策略;
    所述第四丢包处理策略为所述接收端设备从所述FEC缓存队列中获取所述第一报文数据;
    所述接收端设备通过所述第一报文数据,所述第二报文数据以及目标冗余数据进行修复处理,得到所述第三报文数据吗,其中,所述第一报文数据,所述第二报文数据以及所述第三报文数据均为所述原始报文数据,且所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识,且与所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
    所述接收端设备发送所述第三报文数据。
  33. 一种数据传输装置,其特征在于,包括:
    通信模块,用于通过通信链路接收发送端设备发送的多个封装后的报文数据,其中,所述多个封装后的报文数据是按照传输次序封装多个报文数据得到的,每个封装后的报文数据包括报文数据以及报文序号,所述报文序号指示对应的封装后的报文数据在所述多个封装后的报文数据中的次序,每个封装后的报文数据的次序在所述多个封装后的报文数据中的次序与所述传输次序一致;
    处理模块,用于对所述多个封装后的报文数据进行拆包处理,得到所述多个报文数据 以及多个报文数据的报文序号;
    所述处理模块,还用于根据多个报文数据的报文序号确定所述传输次序;
    所述通信模块,还用于按照所述传输次序发送所述多个报文数据。
  34. 根据权利要求33所述数据传输装置,其特征在于,所述封装后的报文数据还包括指示信息,其中,所述指示信息用于指示目标丢包处理策略;
    所述通信模块,还用于在通过通信链路接收发送端设备发送的多个封装后的报文数据之前,向所述发送端设备发送确认消息,其中,所述确认消息指示接收端设备支持所述目标丢包处理策略。
  35. 根据权利要求33或34所述数据传输装置,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是相邻的报文数据;
    所述处理模块,具体用于对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据以及所述第二报文数据的报文序号;
    所述处理模块,具体用于根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述通信模块,具体用于若确定所述第一报文数据已被发送,则发送所述第二报文数据。
  36. 根据权利要求34所述数据传输装置,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是不相邻的报文数据。
  37. 根据权利要求36所述数据传输装置,其特征在于,所述处理模块,具体用于对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据以及所述第二报文数据的报文序号;
    所述处理模块,具体用于根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述通信模块,具体用于若确定所述第一报文数据已被发送,则缓存所述第二报文数据;
    对所述多个封装后的报文数据进行拆包处理,得到第三报文数据以及所述第三报文数据的报文序号,其中,所述第三报文数据的报文序号指示所述第三报文数据在所述多个封装后的报文数据中的次序后于所述第一报文数据在所述多个封装后的报文数据中的次序,且所述第三报文数据与所述第一报文数据在所述多个封装后的报文数据中是相邻的报文数据;
    发送所述第三报文数据。
  38. 根据权利要求36所述数据传输装置,其特征在于,所述处理模块,具体用于对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据,所述第二报文数据的报文序号以及目标丢包处理策略,其中,所述目标丢包处理策略包括第一丢包处理策略;
    所述处理模块,具体用于根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述通信模块,具体用于若确定所述第一报文数据已被发送,则接收端设备执行所述第一丢包处理策略;
    缓存所述第二报文数据;
    若所述第二报文数据的缓存时间大于所述第一时间阈值,则发送所述第二报文数据。
  39. 根据权利要求36或38所述数据传输装置,其特征在于,所述处理模块,具体用于对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据,所述第二报文数据的报文序号以及目标丢包处理策略,其中,所述目标丢包处理策略包括第二丢包处理策略;
    所述处理模块,具体用于根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述通信模块,具体用于若确定所述第一报文数据已被发送,则接收端设备执行所述第二丢包处理策略;
    确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,所述第一封装后的报文数据包括所述第一报文数据,所述第二封装后的报文数据包括所述第二报文数据;
    若所述第一时间点与第二时间点之差大于所述第二时间阈值,则发送所述第二报文数据。
  40. 根据权利要求36、38与39中任一项所述数据传输装置,其特征在于,所述处理模块,具体用于对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据,所述第二报文数据的报文序号以及目标丢包处理策略,其中,所述目标丢包处理策略包括第三丢包处理策略;
    所述处理模块,具体用于根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述通信模块,具体用于若确定所述第一报文数据已被发送,则接收端设备执行所述第三丢包处理策略;
    缓存所述第二报文数据;
    若在双向链路时延RTT阈值内未得到所述第三报文数据,则向所述发送端设备发送数据请求信息,其中,所述数据请求信息携带所述第三报文数据的报文序号,所述数据请求信息用于指示所述发送端设备根据所述第三报文数据的报文序号确定所述第三报文数据,并通过目标通信链路向所述接收端设备发送所述第三报文数据,所述目标通信链路为RTT最小的通信链路,且所述RTT阈值是根据所述目标通信链路的RTT确定的;
    接收端设备获取所述第三报文数据,并发送所述第三报文数据。
  41. 根据权利要求40所述数据传输装置,其特征在于,所述处理模块,还用于检测每 条通信链路的RTT,以确定所述每条通信链路的RTT;
    所述处理模块,还用于将所述每条通信链路的RTT中RTT最小的通信链路确定为目标通信链路;
    所述处理模块,还用于根据所述目标通信链路的RTT确定所述RTT阈值。
  42. 根据权利要求36、38至41中任一项所述数据传输装置,其特征在于,所述通信模块,具体用于通过原始通信链路接收所述发送端设备发送的多个封装后的原始报文数据以及多个冗余数据,其中,所述原始报文数据为未进行复制的报文数据,所述原始通信链路为发送所述原始数据报文的通信链路,所述冗余数据是根据预设条件对所述多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码生成的,且属于同一分组的多个封装后的原始报文数据以及每个分组对应的冗余数据包括相同的分组标识。
  43. 根据权利要求42所述数据传输装置,其特征在于,所述第一报文数据,所述第二报文数据以及所述第三报文数据均为所述原始报文数据,且所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识,且与所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
    所述处理模块,具体用于对所述多个封装后的报文数据进行拆包处理,得到所述第二报文数据,所述第二报文数据的报文序号以及目标丢包处理策略,其中,所述目标丢包处理策略包括第四丢包处理策略;
    所述处理模块,具体用于根据所述第二报文数据的报文序号确定所述第二报文数据在所述第一报文数据之后发送;
    所述通信模块,具体用于若确定所述第一报文数据已被发送,且所述第一报文数据被缓存于FEC缓存队列,则接收端设备执行所述第四丢包处理策略;
    从所述FEC缓存队列中获取所述第一报文数据;
    通过所述第一报文数据,所述第二报文数据以及目标冗余数据进行修复处理,得到所述第三报文数据;
    发送所述第三报文数据。
  44. 一种数据传输装置,其特征在于,包括:
    通信模块,用于按照传输次序得到多个报文数据;
    处理模块,用于按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据,其中,每个封装后的报文数据包括报文数据以及报文序号,所述报文序号指示对应的封装后的报文数据在所述多个封装后的报文数据中的次序,每个封装后的报文数据的次序在所述多个封装后的报文数据中的次序与所述传输次序一致;
    所述通信模块,还用于通过N条通信链路按照所述传输次序向所述接收端设备发送所述多个封装后的报文数据,N≥2。
  45. 根据权利要求44所述数据传输装置,其特征在于,每个封装后的报文数据还包括指示信息,其中,所述指示信息用于指示目标丢包处理策略;
    所述通信模块,还用于在按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据之前,接收所述接收端设备发送的确认消息,其中,所述确认消息指示所述接 收端设备支持所述目标丢包处理策略。
  46. 根据权利要求44或45所述数据传输装置,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是相邻的报文数据。
  47. 根据权利要求45所述数据传输装置,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是不相邻的报文数据。
  48. 根据权利要求47所述数据传输装置,其特征在于,所述目标丢包处理策略包括第一丢包处理策略;
    所述第一丢包处理策略为所述接收端设备缓存所述第二报文数据;
    若所述第二报文数据的缓存时间大于所述第一时间阈值,则所述接收端设备发送所述第二报文数据。
  49. 根据权利要求47或48所述数据传输装置,其特征在于,所述目标丢包处理策略包括第二丢包处理策略;
    所述第二丢包处理策略为所述接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,所述第一封装后的报文数据包括所述第一报文数据,所述第二封装后的报文数据包括所述第二报文数据;
    若所述第一时间点与第二时间点之差大于所述第二时间阈值,则所述接收端设备发送所述第二报文数据。
  50. 根据权利要求47至49中任一项所述数据传输装置,其特征在于,所述目标丢包处理策略包括第三丢包处理策略;
    所述第三丢包处理策略为所述接收端设备缓存所述第二报文数据;
    若所述接收端设备在双向链路时延RTT阈值内未得到所述第三报文数据,则向所述发送端设备发送数据请求信息,其中,所述数据请求信息携带所述第三报文数据的报文序号,所述数据请求信息用于指示所述发送端设备根据所述第三报文数据的报文序号确定所述第三报文数据,并通过目标通信链路向所述接收端设备发送所述第三报文数据,所述目标通信链路为RTT最小的通信链路,且所述RTT阈值是根据所述目标通信链路的RTT确定的;
    接收端设备获取所述第三报文数据,并发送所述第三报文数据。
  51. 根据权利要求50所述数据传输装置,其特征在于,所述通信模块,还用于接收所述接收端设备发送的数据请求信息;
    所述处理模块,还用于根据所述第三报文数据的报文序号确定所述第三报文数据,
    所述通信模块,还用于通过所述目标通信链路向所述接收端设备发送所述第三报文数据。
  52. 根据权利要求47至51中任一项所述数据传输装置,其特征在于,所述处理模块,还用于根据预设条件对所述多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据,其中,每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识;
    所述处理模块,具体用于按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据,其中,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据包括相同的分组标识;
    对所述多个报文数据进行复制,并按照所述传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。
  53. 根据权利要求52所述数据传输装置,其特征在于,所述多个报文数据为多个原始报文数据,且所述多个封装后的报文数据为多个封装后的原始报文数据,且所述N条通信链路中发送所述多个封装后的原始报文数据的通信链路为原始通信链路;
    所述通信模块,具体用于通过原始通信链路按照所述传输次序向所述接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,向所述接收端设备发送包括相同的分组标识的冗余数据;
    通过(N-1)条通信链路按照所述传输次序向所述接收端设备发送所述多个封装后的复制后的报文数据。
  54. 根据权利要求53所述数据传输装置,其特征在于,所述目标丢包处理策略包括第四丢包处理策略;
    所述第四丢包处理策略为当所述接收端设备得到所述第二报文数据以及目标冗余数据,且所述第一报文数据已被发送,且所述接收端设备未得到所述第三报文数据,则从FEC缓存队列中获取所述第一报文数据,其中,所述第一报文数据,所述第二报文数据以及所述第三报文数据均为所述原始报文数据,且所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识,且与所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
    所述接收端设备通过所述第一报文数据,所述第二报文数据以及目标冗余数据进行修复处理,得到所述第三报文数据,并发送所述第三报文数据。
  55. 一种数据传输装置,其特征在于,包括:
    通信模块,用于接收接收端设备发送的确认消息,其中,所述确认消息指示所述接收端设备支持所述目标丢包处理策略;
    所述通信模块,还用于按照传输次序得到多个报文数据;
    处理模块,用于按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据,其中,每个封装后的报文数据包括报文数据、报文序号以及指示信息,所述报文序号指示对应的封装后的报文数据在所述多个封装后的报文数据中的次序,每个封装后的报文数据的次序在所述多个封装后的报文数据中的次序与所述传输次序一致,所述指示信息用于指示目标丢包处理策略;
    所述通信模块,还用于通过N条通信链路按照所述传输次序向所述接收端设备发送所述多个封装后的报文数据,N≥2。
  56. 根据权利要求55所述数据传输装置,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是相邻的报文数据。
  57. 根据权利要求55所述数据传输装置,其特征在于,所述多个封装后的报文数据包括第一报文数据与第二报文数据,且所述第一报文数据的报文序号指示所述第一报文数据在所述多个封装后的报文数据中的次序先于所述第二报文数据在所述多个封装后的报文数据中的次序,且所述第一报文数据与所述第二报文数据在所述多个封装后的报文数据中是不相邻的报文数据。
  58. 根据权利要求57所述数据传输装置,其特征在于,所述目标丢包处理策略包括第一丢包处理策略;
    所述第一丢包处理策略为所述接收端设备缓存所述第二报文数据;
    若所述第二报文数据的缓存时间大于所述第一时间阈值,则所述接收端设备发送所述第二报文数据。
  59. 根据权利要求57或58所述数据传输装置,其特征在于,所述目标丢包处理策略包括第二丢包处理策略;
    所述第二丢包处理策略为所述接收端设备确定接收到第一封装后的报文数据的第一时间点以及接收到第二封装后的报文数据的第二时间点,其中,所述第一封装后的报文数据包括所述第一报文数据,所述第二封装后的报文数据包括所述第二报文数据;
    若所述第一时间点与第二时间点之差大于所述第二时间阈值,则所述接收端设备发送所述第二报文数据。
  60. 根据权利要求57至59中任一项所述数据传输装置,其特征在于,所述目标丢包处理策略包括第三丢包处理策略;
    所述第三丢包处理策略为所述接收端设备缓存所述第二报文数据;
    若所述接收端设备在双向链路时延RTT阈值内未得到所述第三报文数据,则向所述发送端设备发送数据请求信息,其中,所述数据请求信息携带所述第三报文数据的报文序号,所述数据请求信息用于指示所述发送端设备根据所述第三报文数据的报文序号确定所述第三报文数据,并通过目标通信链路向所述接收端设备发送所述第三报文数据,所述目标通信链路为RTT最小的通信链路,且所述RTT阈值是根据所述目标通信链路的RTT确定的;
    接收端设备获取所述第三报文数据,并发送所述第三报文数据。
  61. 根据权利要求60所述数据传输装置,其特征在于,所述通信模块,还用于接收所述接收端设备发送的数据请求信息;
    所述处理模块,还用于根据所述第三报文数据的报文序号确定所述第三报文数据;
    所述通信模块,还用于通过所述目标通信链路向所述接收端设备发送所述第三报文数 据。
  62. 根据权利要求57至61中任一项所述数据传输装置,其特征在于,所述处理模块,还用于根据预设条件对所述多个报文数据进行分组,并对属于同一分组的多个报文数据进行前向编码纠错FEC编码,生成每个分组对应的冗余数据,其中,每个分组中的多个报文数据是相邻的,且属于同一分组的多个报文数据以及每个分组对应的冗余数据包括相同的分组标识;
    所述处理模块,具体用于按照所述传输次序封装所述多个报文数据,得到多个封装后的报文数据,其中,属于同一分组的多个封装后的报文数据以及每个分组对应的冗余数据包括相同的分组标识;
    对所述多个报文数据进行复制,并按照所述传输次序封装多个复制后的报文数据,得到多个封装后的复制后的报文数据。
  63. 根据权利要求62所述数据传输装置,其特征在于,所述多个报文数据为多个原始报文数据,且所述多个封装后的报文数据为多个封装后的原始报文数据,且所述N条通信链路中发送所述多个封装后的原始报文数据的通信链路为原始通信链路;
    所述通信模块,具体用于通过原始通信链路按照所述传输次序向所述接收端设备发送多个封装后的原始报文数据,且包括相同的分组标识的多个封装后的原始报文数据完成发送后,向所述接收端设备发送包括相同的分组标识的冗余数据;
    通过(N-1)条通信链路按照所述传输次序向所述接收端设备发送所述多个封装后的复制后的报文数据。
  64. 根据权利要求63所述数据传输装置,其特征在于,所述目标丢包处理策略包括第四丢包处理策略;
    所述第四丢包处理策略为当所述接收端设备得到所述第二报文数据以及目标冗余数据,且所述第一报文数据已被发送,且所述接收端设备未得到所述第三报文数据,则从FEC缓存队列中获取所述第一报文数据,其中,所述第一报文数据,所述第二报文数据以及所述第三报文数据均为所述原始报文数据,且所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识,且与所述第一报文数据,所述第二报文数据以及所述第三报文数据包括相同的分组标识的冗余数据为目标冗余数据;
    所述接收端设备通过所述第一报文数据,所述第二报文数据以及目标冗余数据进行修复处理,得到所述第三报文数据,并发送所述第三报文数据。
  65. 一种发送端设备,其特征在于,包括:
    处理器、存储器、输入输出接口;
    所述处理器与所述存储器、所述输入输出接口耦合;
    所述处理器通过运行所述存储器中的代码执行如权利要求1至11中任一项所述的方法。
  66. 一种接收端设备,其特征在于,包括:
    处理器、存储器、输入输出接口;
    所述处理器与所述存储器、所述输入输出接口耦合;
    所述处理器通过运行所述存储器中的代码执行如权利要求12至22中任一项所述的方 法,或,执行如权利要求23至32中任一项所述的方法。
  67. 一种通信系统,包括发送端设备以及接收端设备,所述发送端设备执行如权利要求1至11中任一项所述的方法,所述接收端设备执行如权利要求12至22中任一项所述的方法,或,执行如权利要求23至32中任一项所述的方法。
  68. 一种芯片,其特征在于,所述芯片包括至少一个处理器,所述至少一个处理器与至少一个存储器通信连接,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行如权利要求1至11中任一项所述的方法,或,执行如权利要求12至22中任一项所述的方法,或,执行如权利要求23至32中任一项所述的方法。
  69. 一种计算机可读存储介质,其中存储有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至11中任一项所述的方法,或,执行如权利要求12至22中任一项所述的方法,或,执行如权利要求23至32中任一项所述的方法。
PCT/CN2022/082137 2021-03-22 2022-03-22 一种数据传输方法、相关装置以及设备 WO2022199558A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22774215.2A EP4304134A1 (en) 2021-03-22 2022-03-22 Data transmission method, and related apparatus and device
US18/370,563 US20240014958A1 (en) 2021-03-22 2023-09-20 Data transmission method, related apparatus, and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110303162.2A CN115134864A (zh) 2021-03-22 2021-03-22 一种数据传输方法、相关装置以及设备
CN202110303162.2 2021-03-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/370,563 Continuation US20240014958A1 (en) 2021-03-22 2023-09-20 Data transmission method, related apparatus, and device

Publications (1)

Publication Number Publication Date
WO2022199558A1 true WO2022199558A1 (zh) 2022-09-29

Family

ID=83374641

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/082137 WO2022199558A1 (zh) 2021-03-22 2022-03-22 一种数据传输方法、相关装置以及设备

Country Status (4)

Country Link
US (1) US20240014958A1 (zh)
EP (1) EP4304134A1 (zh)
CN (1) CN115134864A (zh)
WO (1) WO2022199558A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115567460A (zh) * 2022-12-05 2023-01-03 恒生电子股份有限公司 数据包处理方法及装置
CN116074252A (zh) * 2023-03-07 2023-05-05 国仪量子(合肥)技术有限公司 Udp数据传输方法及udp数据传输装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127702A (zh) * 2007-08-02 2008-02-20 北京航空航天大学 用于平面结构网络的多对多可靠组播错误恢复方法
CN101162968A (zh) * 2006-12-08 2008-04-16 中兴通讯股份有限公司 前向通用路由封装包的乱序调整方法
CN101631074A (zh) * 2009-07-30 2010-01-20 北京星网锐捷网络技术有限公司 一种多链路报文发送方法、装置和网络设备
CN102130821A (zh) * 2010-08-11 2011-07-20 华为技术有限公司 一种iptv系统中丢包处理的方法、服务器及系统
CN103618678A (zh) * 2013-11-18 2014-03-05 北京星网锐捷网络技术有限公司 自适应多链路聚合的方法、装置及系统
CN103986647A (zh) * 2014-05-21 2014-08-13 大唐移动通信设备有限公司 报文传输方法及设备
WO2017157303A1 (zh) * 2016-03-15 2017-09-21 中兴通讯股份有限公司 实时通信中的抗丢包方法、装置和系统
CN108631816A (zh) * 2017-03-24 2018-10-09 华为技术有限公司 发送数据的方法和装置,以及接收数据的方法和装置
CN110830386A (zh) * 2019-11-14 2020-02-21 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 报文保序的方法、装置和系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101162968A (zh) * 2006-12-08 2008-04-16 中兴通讯股份有限公司 前向通用路由封装包的乱序调整方法
CN101127702A (zh) * 2007-08-02 2008-02-20 北京航空航天大学 用于平面结构网络的多对多可靠组播错误恢复方法
CN101631074A (zh) * 2009-07-30 2010-01-20 北京星网锐捷网络技术有限公司 一种多链路报文发送方法、装置和网络设备
CN102130821A (zh) * 2010-08-11 2011-07-20 华为技术有限公司 一种iptv系统中丢包处理的方法、服务器及系统
CN103618678A (zh) * 2013-11-18 2014-03-05 北京星网锐捷网络技术有限公司 自适应多链路聚合的方法、装置及系统
CN103986647A (zh) * 2014-05-21 2014-08-13 大唐移动通信设备有限公司 报文传输方法及设备
WO2017157303A1 (zh) * 2016-03-15 2017-09-21 中兴通讯股份有限公司 实时通信中的抗丢包方法、装置和系统
CN108631816A (zh) * 2017-03-24 2018-10-09 华为技术有限公司 发送数据的方法和装置,以及接收数据的方法和装置
CN110830386A (zh) * 2019-11-14 2020-02-21 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 报文保序的方法、装置和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115567460A (zh) * 2022-12-05 2023-01-03 恒生电子股份有限公司 数据包处理方法及装置
CN115567460B (zh) * 2022-12-05 2023-03-10 恒生电子股份有限公司 数据包处理方法及装置
CN116074252A (zh) * 2023-03-07 2023-05-05 国仪量子(合肥)技术有限公司 Udp数据传输方法及udp数据传输装置
CN116074252B (zh) * 2023-03-07 2023-06-06 国仪量子(合肥)技术有限公司 Udp数据传输方法及udp数据传输装置

Also Published As

Publication number Publication date
US20240014958A1 (en) 2024-01-11
CN115134864A (zh) 2022-09-30
EP4304134A1 (en) 2024-01-10

Similar Documents

Publication Publication Date Title
WO2022199558A1 (zh) 一种数据传输方法、相关装置以及设备
EP3499949B1 (en) Method, device and system for processing control signalling
CN110832950B (zh) 操作无线通信设备的方法及相关联的设备和装置
WO2016173076A1 (zh) 一种数据中转传输方法、系统和具备中继功能的ue
WO2018127220A1 (zh) 一种数据转发方法及装置
CN110121848A (zh) 无线通信网络中的方法及装置
US20230198671A1 (en) Method and apparatus for configuring network coding and controlling network coding activation
WO2020114391A1 (zh) 通信方法及装置
CN103987093A (zh) 切换通信连线模式的方法、通信系统、基地台、传送端及接收端
WO2020224631A1 (zh) 处理数据包的方法和装置
US9025433B2 (en) Apparatus and method for handling valid protocol data units
CN105530077A (zh) 一种与终端双连接的基站的重传包重传的方法、基站与终端
WO2022083371A1 (zh) 一种数据传输方法和装置
KR20190011898A (ko) 무선 통신 시스템에서 단말, 기지국 및 이의 통신 방법
WO2019213922A1 (zh) 中继网络中节点间转发数据的方法和网络节点
US20220174771A1 (en) Method and device for processing downlink srb message in mcg rlf
WO2022237279A1 (zh) 一种数据传输方法及装置
US20210298123A1 (en) Wireless communication system, transmission and reception method, recording medium, wireless communication base station device, control circuit, and control method
WO2020224603A1 (zh) 通信方法及装置
WO2021179887A1 (zh) 一种通信方法及装置
JP2021509779A (ja) データを再送信する方法及び機器
CN115696435A (zh) 网络编码场景下的超时丢包方法、装置及可读存储介质
GB2595277A (en) Method and apparatus for signaling suspension and resumption of network coding operation
US20240154724A1 (en) Configuration method for network coding function and related apparatus
WO2023221832A2 (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: 22774215

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022774215

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022774215

Country of ref document: EP

Effective date: 20231003

NENP Non-entry into the national phase

Ref country code: DE