WO2020207406A1 - 一种数据流的传输方法和设备 - Google Patents

一种数据流的传输方法和设备 Download PDF

Info

Publication number
WO2020207406A1
WO2020207406A1 PCT/CN2020/083713 CN2020083713W WO2020207406A1 WO 2020207406 A1 WO2020207406 A1 WO 2020207406A1 CN 2020083713 W CN2020083713 W CN 2020083713W WO 2020207406 A1 WO2020207406 A1 WO 2020207406A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet loss
packet
data stream
path
message
Prior art date
Application number
PCT/CN2020/083713
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 EP20787431.4A priority Critical patent/EP3940974B1/en
Priority to KR1020217033181A priority patent/KR102657709B1/ko
Priority to JP2021559652A priority patent/JP7292411B2/ja
Publication of WO2020207406A1 publication Critical patent/WO2020207406A1/zh
Priority to US17/489,756 priority patent/US12010016B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • 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/1806Go-back-N protocols
    • 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/1825Adaptation of specific ARQ protocol parameters according to transmission conditions
    • 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/1867Arrangements specially adapted for the transmitter end
    • H04L1/1893Physical mapping arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0026Transmission of channel quality indication
    • 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/1867Arrangements specially adapted for the transmitter end
    • H04L1/1896ARQ related signaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]

Definitions

  • the embodiments of the present application relate to the field of communications, and in particular, to a data stream transmission method and device.
  • packet loss may occur during message transmission.
  • intermediate devices such as routers
  • packets are overflowed due to insufficient receiving buffer, and packet loss occurs.
  • a fixed anti-packet strategy is usually used to generate anti-packet messages to recover the messages lost during transmission.
  • the effect of packet loss recovery is not good. For example, some services that are very sensitive to packet loss, such as video conferencing, will cause the output image to be blurred and cause poor user experience.
  • the embodiments of the present application provide a data stream transmission method and device, because of the problem of poor packet loss recovery effect caused by a fixed anti-packet loss strategy.
  • a data stream transmission method includes:
  • the sending device determines the anti-packet loss strategy according to the first path status information of the path used to send the data stream; the sending device generates anti-packet packet loss for the data stream according to the anti-packet strategy; the sending device sends the data stream on the path, the data stream Including the original message and the anti-lost message.
  • the anti-packet loss message recovers the lost messages in the transmission process, which effectively improves the effect of packet loss recovery, thereby effectively reducing the packet loss rate after packet loss recovery, and further improving user experience.
  • the method before the sending device determines the anti-packet loss strategy according to the first path state information of the path used to send the data stream, the method further includes:
  • the sending device determines the path for sending the data stream according to the second path state information of the at least two paths from the sending device to the receiving device.
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, bandwidth, and delay difference .
  • the fourth possible implementation manner of the first aspect when there are two paths for sending a data stream, the The delay difference of the path is less than the delay difference threshold.
  • the sending device determines the anti-loss resistance according to the first path state information of the path used to send the data stream.
  • Package strategy including:
  • the sending device determines the anti-packet policy according to the first path state information of the path used to send the data stream, and at least one of the anti-packet loss target value of the data stream or the service flow rate of the data stream, where the anti-packet loss target value Including the upper limit of the packet loss rate allowed for the transmission data stream to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the first path state information includes at least one of a delay or a packet loss rate.
  • the anti-packet loss strategy includes automatic retransmission request ARQ, packet replication, and forward error correction FEC At least one of.
  • the sending device when the anti-packet loss strategy is forward error correction FEC, anti-packet packet loss Redundant packets; the sending device generates anti-packet packets for the data flow according to the anti-packet strategy, including:
  • the coding mode includes block coding or convolutional coding; according to the determined coding mode, the original message is coded to generate redundant messages.
  • the method further includes:
  • the sending device sends an anti-packet loss control message to the receiving device.
  • the anti-packet control message includes indication information.
  • the indication information is used to indicate the anti-packet policy of the data stream, so that when the receiving device receives the anti-packet policy,
  • the packet strategy decodes the anti-lost packets in the data stream, and restores the original packets lost during the data stream transmission process through the anti-lost packets, so as to realize the dynamic determination of the anti-lost packets when the path status is relatively poor
  • the anti-packet packet generated by the strategy restores the lost original packet, reduces packet loss during data stream transmission, and improves user experience.
  • the packet loss resistance message includes indication information, and the indication information is used to indicate the anti-loss resistance of the data stream.
  • Packet policy so that when receiving the anti-packet strategy, the receiving device decodes the anti-packet packet in the data stream according to the anti-packet strategy, and restores the original packet lost in the data stream transmission process through the anti-packet packet , In order to realize that when the path state is relatively poor, the lost original message is restored by adopting the anti-packet message generated by the dynamically determined anti-packet strategy, which reduces the packet loss in the data stream transmission process and improves the user experience.
  • the indication information is further used to indicate the identifier of the data stream and the identifier of the path used to send the data stream.
  • the indication information is further used to indicate the identifier of the path used to send the data stream.
  • the indication information is carried in the extension field of the packet loss resistant message.
  • the anti-packet loss message also includes the coding parameters of the anti-packet loss message, and when the anti-packet loss strategy is FEC ,
  • the coding parameters include block coding or convolutional coding used for coding.
  • the anti-packet loss message also includes the coding parameters of the anti-packet loss message, and when the anti-packet loss strategy is In FEC, the coding parameters include block coding or convolutional coding used for coding.
  • the sending device when sending data streams on two paths, sends data on the paths Stream, including:
  • the original message is sent on the path with the longer delay in the two paths; the anti-packet loss message is sent on the path with the shorter delay in the two paths, and the anti-packet loss message is sent after the original message is sent, There is a time t between sending the original message and sending the anti-packet loss message, where t is the one-way delay difference between the two paths to send data streams.
  • a data stream transmission method which includes:
  • the receiving device receives the original message and the anti-packet loss message of the data stream sent by the sending device.
  • the anti-packet message is generated according to the anti-packet strategy.
  • the anti-packet strategy is based on the sending device according to the path used to send the data stream. Path status information is determined; anti-packet messages are generated through a dynamically determined anti-packet strategy, and the lost original messages are restored, that is, the original messages lost in the transmission process are restored through anti-packet messages, which effectively reduces The packet loss rate after packet loss recovery improves the user experience.
  • the method before restoring the lost original message through the anti-drop message, the method further includes:
  • the anti-packet control message includes indication information, which is used to indicate the anti-packet strategy of the data stream, so that when the receiving device receives the anti-packet strategy, it decodes the data stream according to the anti-packet strategy
  • indication information which is used to indicate the anti-packet strategy of the data stream, so that when the receiving device receives the anti-packet strategy, it decodes the data stream according to the anti-packet strategy
  • the original message lost in the data stream transmission process is restored through the anti-packet message.
  • the packet message restores the lost original message, which reduces packet loss during data stream transmission and improves user experience.
  • the anti-packet packet includes indication information, and the indication information is used to indicate the anti-packet strategy of the data stream, so that the receiving device can receive the anti-packet loss strategy.
  • the anti-packet packet in the data stream is decoded according to the anti-packet strategy, and the original packet lost in the data stream transmission process is restored through the anti-packet packet, so that in the case of poor path status,
  • the anti-packet message generated by the dynamically determined anti-packet loss strategy to restore the lost original message, the packet loss during the data stream transmission process is reduced and the user experience is improved.
  • the indication information is also used to indicate the identifier of the data stream and the identifier of the path used to send the data stream.
  • the indication information is also used to indicate an identifier for sending a data stream.
  • the indication information is carried in the extended field of the packet loss resistant message.
  • the anti-packet loss message also includes the encoding parameters of the anti-packet loss message, and when the anti-packet loss strategy is FEC,
  • the coding parameters include block coding or convolutional coding used for coding.
  • the anti-packet loss message also includes the coding parameters of the anti-packet loss message.
  • the anti-packet loss strategy is FEC
  • the The coding parameters include block coding or convolutional coding used for coding.
  • a data stream transmission method includes:
  • the control device determines the anti-packet loss strategy according to the first path status information of the path used to send the data stream; the control device sends the anti-packet strategy to the sending device, and the anti-packet strategy is used for the sending device to generate anti-packet loss packets for the data stream , Which enables the anti-packet message generated by the dynamically determined anti-packet strategy to recover the lost messages during transmission, which effectively improves the effect of packet loss recovery, thereby effectively reducing the packet loss rate and further improving the user experience .
  • the method before the control device determines the anti-packet loss strategy according to the first path state information of the path used to send the data stream, the method further includes:
  • the control device determines the path for sending the data stream according to the second path status information of the at least two paths from the sending device to the receiving device.
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, bandwidth, and delay difference .
  • the fourth possible implementation manner of the third aspect when there are two paths for sending a data stream, the The delay difference of the path is less than the delay difference threshold.
  • the control device determines the anti-loss resistance according to the first path state information of the path used to send the data stream.
  • Package strategy including:
  • the control device determines the anti-packet policy according to the first path state information of the path used to send the data flow, and at least one of the anti-packet loss target value of the data flow or the service flow rate of the data flow, wherein the anti-packet loss target value Including the upper limit of the packet loss rate allowed for the transmission data stream to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the first path state information includes at least one of a delay or a packet loss rate.
  • the anti-packet loss strategy includes automatic retransmission request ARQ, packet replication, and forward error correction FEC At least one of.
  • a data stream transmission device in a fourth aspect, includes:
  • a determining unit configured to determine an anti-packet loss strategy according to the first path state information of the path used to send the data stream
  • the generating unit is used to generate anti-packet packets for the data flow according to the anti-packet strategy
  • the sending unit is used to send a data stream on the path.
  • the data stream includes the original message and the packet loss-resistant message.
  • the device generates anti-packet packets for the data flow through the anti-packet policy dynamically determined by the status information of the data flow, and restores the packets lost during transmission through the anti-packet packets, which effectively improves the packet loss recovery. Effect, thereby effectively reducing the packet loss rate.
  • the determining unit is further configured to determine the path used to send the data stream through the second path state information of the at least two paths from the sending device to the receiving device .
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, bandwidth, and delay difference .
  • the path for sending data streams when there are two paths for sending data streams, the path for sending data streams is The delay difference of is less than the delay difference threshold.
  • the determining unit determines the anti-loss resistance according to the first path state information of the path used to send the data stream.
  • Package strategy including:
  • the determining unit determines the anti-packet strategy according to the first path state information of the path used to send the data flow, and the anti-packet loss target value of the data flow or the service flow rate of the data flow, wherein the anti-packet loss target value Including the upper limit of the packet loss rate allowed for the transmission data stream to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the first path state information includes at least one of a delay or a packet loss rate.
  • the anti-packet loss strategy includes automatic repeat request ARQ, packet replication, and forward error correction FEC At least one of.
  • the anti-packet loss strategy is forward error correction FEC
  • the anti-packet packet loss It is a redundant message
  • the generating unit generates anti-lost messages for the data flow according to the anti-packet strategy, including:
  • the determining unit determines the FEC coding mode, the coding mode includes block coding or convolutional coding;
  • the generating unit encodes the original message according to the determined encoding mode to generate a redundant message.
  • the sending unit is further configured to send an anti-packet loss control message to the receiving device, and anti-packet loss
  • the control message includes instruction information.
  • the instruction information is used to indicate the anti-packet loss strategy of the data stream, so that when the receiving device receives the anti-packet strategy, it decodes the anti-packet packet in the data stream according to the anti-packet strategy and passes
  • the anti-packet message restores the original message lost in the data stream transmission process, so that the lost original message can be restored by using the anti-packet message generated by the dynamically determined anti-packet strategy when the path status is relatively poor. It reduces packet loss during data stream transmission and improves user experience.
  • the packet loss resistance message includes indication information, and the indication information is used to indicate the anti-loss resistance of the data stream.
  • Packet policy so that when receiving the anti-packet strategy, the receiving device decodes the anti-packet packet in the data stream according to the anti-packet strategy, and restores the original packet lost in the data stream transmission process through the anti-packet packet , In order to realize that when the path state is relatively poor, the lost original message is restored by adopting the anti-packet message generated by the dynamically determined anti-packet strategy, which reduces the packet loss in the data stream transmission process and improves the user experience.
  • the indication information is further used to indicate the identifier of the data stream and the identifier of the path used to send the data stream.
  • the indication information is further used to indicate the identifier of the path used to send the data stream.
  • the indication information is carried in an extension field of the packet loss resistant message.
  • the anti-packet loss message also includes the coding parameters of the anti-packet loss message, and when the anti-packet loss strategy is FEC ,
  • the coding parameters include block coding or convolutional coding used for coding.
  • the anti-packet loss message also includes the coding parameters of the anti-packet loss message, when the anti-packet loss strategy is In FEC, the coding parameters include block coding or convolutional coding used for coding.
  • the sending unit when sending data streams on two paths, sends data on the paths Stream, including:
  • the anti-packet loss message is sent on the path with the shorter delay, and after the original message is sent, the time t between the original message and the anti-packet message is sent, t is The one-way delay difference between the two paths sending data streams.
  • a data stream transmission device includes:
  • the receiving unit is used to receive the original message and the anti-packet loss message of the data stream sent by the sending device.
  • the anti-packet message is generated according to the anti-packet loss strategy, and the anti-packet strategy is based on the sending device according to the data flow
  • the path status information of the path is determined;
  • the processing unit is used to recover the lost original message through the anti-drop packet, that is, the anti-drop message generated by the dynamically determined anti-drop strategy restores the original message lost in the transmission process, which effectively reduces The packet loss rate after packet loss recovery improves the user experience.
  • the receiving unit is further configured to receive an anti-packet loss control message, where the anti-packet control message includes indication information, and the indication information is used to indicate the resistance of the data stream.
  • the receiving device decodes the anti-packet packet in the data stream according to the anti-packet strategy, and uses the anti-packet packet to restore the original packet lost in the data stream transmission process
  • the lost original message can be restored by adopting the anti-packet message generated by the dynamically determined anti-packet strategy, which reduces the packet loss during the data stream transmission process and improves the user experience .
  • the anti-packet loss message includes indication information, and the indication information is used to indicate the anti-packet loss strategy of the data stream, so that the receiving device can receive the anti-packet loss strategy.
  • the anti-packet packet in the data stream is decoded according to the anti-packet strategy, and the original packet lost in the data stream transmission process is restored through the anti-packet packet, so that in the case of poor path status,
  • the anti-packet message generated by the dynamically determined anti-packet loss strategy to restore the lost original message, the packet loss during the data stream transmission process is reduced and the user experience is improved.
  • the indication information is further used to indicate the identifier of the data stream and the identifier of the path used to send the data stream.
  • the indication information is further used to indicate the identifier of the path used to send the data stream.
  • the indication information is carried in the extended field of the packet loss resistant message.
  • the anti-packet loss message also includes the encoding parameters of the anti-packet loss message, and when the anti-packet loss strategy is FEC,
  • the coding parameters include block coding or convolutional coding used for coding.
  • the anti-packet loss message also includes the coding parameters of the anti-packet loss message.
  • the anti-packet loss strategy is FEC
  • the The coding parameters include block coding or convolutional coding used for coding.
  • a data stream transmission device includes:
  • a determining unit configured to determine an anti-packet loss strategy according to the first path state information of the path used to send the data stream
  • the sending unit is used to send an anti-packet loss strategy to the sending device.
  • the anti-packet strategy is used to generate an anti-packet loss message for the data stream by the sending device, so that the anti-packet loss message generated by the dynamically determined anti-packet loss strategy is transmitted.
  • the lost packets in the process are restored, which effectively improves the effect of packet loss recovery, thereby effectively reducing the packet loss rate and further improving the user experience.
  • the determining unit is further configured to determine, according to the second path status information of the at least two paths from the sending device to the receiving device, the data stream path.
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, bandwidth, and delay difference .
  • the delay difference of the path is less than the delay difference threshold.
  • the determining unit determines the anti-loss resistance according to the first path state information of the path used to send the data stream.
  • Package strategy including:
  • the determining unit determines the anti-packet strategy according to the first path state information of the path used to send the data flow, and the anti-packet loss target value of the data flow or the service flow rate of the data flow, wherein the anti-packet loss target value Including the upper limit of the packet loss rate allowed for the transmission data stream to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the first path state information includes at least one of a delay or a packet loss rate.
  • the anti-packet loss strategy includes automatic retransmission request ARQ, packet replication, and forward error correction FEC At least one of.
  • a data stream transmission device in a seventh aspect, includes:
  • a processor configured to determine an anti-packet loss strategy according to the first path state information of the path used to send the data stream
  • the processor is also used to generate anti-packet packets for the data flow according to the anti-packet strategy
  • the transmitter is used to send a data stream on the path.
  • the data stream includes the original message and the packet loss-resistant message.
  • the processor unit is further configured to determine the second path state information of at least two paths from the sending device to the receiving device to determine the data stream path.
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, bandwidth, and delay difference .
  • the delay difference of the path is less than the delay difference threshold.
  • the processor determines the anti-loss resistance according to the first path state information of the path used to send the data stream Package strategy, including:
  • the processor determines the anti-packet strategy according to the first path state information of the path used to send the data flow, and the anti-packet loss target value of the data flow or the service flow rate of the data flow, where the anti-packet loss target value Including the upper limit of the packet loss rate allowed for the transmission data stream to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the first path state information includes at least one of a delay or a packet loss rate.
  • the anti-packet loss strategy includes automatic repeat request ARQ, packet replication, and forward error correction FEC At least one of.
  • the anti-packet loss strategy is forward error correction FEC
  • the anti-packet packet loss It is a redundant message
  • the processor generates an anti-lost message for the data flow according to the anti-packet strategy, including:
  • the processor determines the FEC coding mode, the coding mode includes block coding or convolutional coding;
  • the processor encodes the original message according to the determined encoding mode to generate a redundant message.
  • the transmitter is also used to send anti-packet loss control messages to the receiving device, and anti-packet loss
  • the control message includes instruction information.
  • the instruction information is used to indicate the anti-packet loss strategy of the data stream, so that when the receiving device receives the anti-packet strategy, it decodes the anti-packet packet in the data stream according to the anti-packet strategy and passes
  • the anti-packet message restores the original message lost in the data stream transmission process, so that the lost original message can be restored by using the anti-packet message generated by the dynamically determined anti-packet strategy when the path status is relatively poor. It reduces packet loss during data stream transmission and improves user experience.
  • the anti-packet loss message includes indication information, and the indication information is used to indicate the anti-loss resistance of the data stream.
  • the receiving device decodes the anti-packet packet in the data stream according to the anti-packet strategy, and restores the original packet lost in the data stream transmission process through the anti-packet packet ,
  • the lost original message is restored by adopting the anti-packet message generated by the dynamically determined anti-packet strategy, which reduces the packet loss in the data stream transmission process and improves the user experience.
  • the indication information is further used to indicate the identifier of the data stream and the identifier of the path used to send the data stream.
  • the indication information is further used to indicate the identifier of the path used to send the data stream.
  • the indication information is carried in the extension field of the packet loss resistant message.
  • the anti-packet loss message also includes the encoding parameters of the anti-packet loss message, and when the anti-packet loss strategy is FEC ,
  • the coding parameters include block coding or convolutional coding used for coding.
  • the anti-packet loss message also includes the coding parameters of the anti-packet loss message, when the anti-packet loss strategy is In FEC, the coding parameters include block coding or convolutional coding used for coding.
  • the transmitter when sending data streams on two paths, sends data on the paths Stream, including:
  • the anti-packet loss message is sent on the path with the shorter delay, and after the original message is sent, the time t between the original message and the anti-packet message is sent, t is The one-way delay difference between the two paths sending data streams.
  • a data stream transmission device including:
  • the receiver is used to receive the original message and the anti-packet loss message of the data stream sent by the sending device.
  • the anti-packet message is generated according to the anti-packet loss strategy.
  • the anti-packet strategy is based on the sending device according to the data flow used to send The path status information of the path is determined;
  • the processor is used for recovering the lost original message through the anti-packet loss message.
  • the anti-packet message is generated through the anti-packet strategy determined according to the state information of the path used to send the data stream, and the original message lost during the transmission process is restored through the anti-packet message, which effectively reduces the packet loss rate and further Improve the user experience.
  • the receiver is further configured to receive an anti-packet loss control message, the anti-packet control message includes indication information, and the indication information is used to indicate the resistance of the data stream.
  • Packet loss strategy so that when receiving the anti-packet strategy, the receiving device decodes the anti-packet packet in the data stream according to the anti-packet strategy, and uses the anti-packet packet to restore the original packet lost in the data stream transmission process
  • the lost original message can be restored by adopting the anti-packet message generated by the dynamically determined anti-packet strategy, which reduces the packet loss during the data stream transmission process and improves the user experience .
  • the anti-packet packet includes indication information, and the indication information is used to indicate the anti-packet strategy of the data stream, so that the receiving device can receive the anti-packet loss strategy.
  • the anti-packet packet in the data stream is decoded according to the anti-packet strategy, and the original packet lost in the data stream transmission process is restored through the anti-packet packet, so that in the case of poor path status,
  • the anti-packet message generated by the dynamically determined anti-packet loss strategy to restore the lost original message, the packet loss during the data stream transmission process is reduced and the user experience is improved.
  • the indication information is also used to indicate the identifier of the data stream and the identifier of the path used to send the data stream.
  • the indication information is further used to indicate the identifier of the path used to send the data stream.
  • the indication information is carried in the extended field of the packet loss resistant message.
  • the anti-packet loss message also includes the coding parameters of the anti-packet loss message, and when the anti-packet loss strategy is FEC,
  • the coding parameters include block coding or convolutional coding used for coding.
  • the anti-packet packet further includes the coding parameters of the anti-packet packet, and when the anti-packet strategy is FEC, the The coding parameters include block coding or convolutional coding used for coding.
  • a data stream transmission device includes:
  • a processor configured to determine an anti-packet loss strategy according to the first path state information of the path used to send the data stream
  • the transmitter is used to send the anti-packet loss strategy to the sending device.
  • the anti-packet strategy is used to generate the anti-packet packet loss for the data stream by the sending device, so that the anti-packet loss packet generated by the dynamically determined anti-packet loss strategy is transmitted.
  • the lost packets in the process are restored, which effectively improves the effect of packet loss recovery, thereby effectively reducing the packet loss rate and further improving the user experience.
  • the processor is further configured to determine, according to the second path state information of the at least two paths from the sending device to the receiving device, the data stream path.
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, bandwidth, and delay difference .
  • the fourth possible implementation manner of the ninth aspect when there are two paths for sending a data stream, the The delay difference of the path is less than the delay difference threshold.
  • the processor determines the anti-loss resistance according to the first path state information of the path used to send the data stream.
  • Package strategy including:
  • the processor determines the anti-packet strategy according to the first path state information of the path used to send the data flow, and the anti-packet loss target value of the data flow or the service flow rate of the data flow, where the anti-packet loss target value Including the upper limit of the packet loss rate allowed for the transmission data stream to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the first path state information includes at least one of a delay or a packet loss rate.
  • the anti-packet loss strategy includes automatic retransmission request ARQ, packet replication, and forward error correction FEC At least one of.
  • a computer program product containing instructions is provided. When the instructions are run on a computer, any possible method of the first to third aspects is executed.
  • the embodiment of the present application provides a computer-readable storage medium for storing instructions.
  • the instructions are executed on a computer, any one of the possible implementation methods of the first to third aspects is provided.
  • the sending device dynamically determines the anti-packet loss strategy according to the path status information of the path used to send the data stream, and generates anti-packet loss messages for the data stream according to the anti-packet strategy, and then Send the data stream including the original message and the anti-drop packet on the path, so that when the receiving device receives the data stream, it decodes the data stream according to the anti-packet strategy received from the sending device, and resumes transmission through the anti-drop packet
  • the original message lost in the process effectively reduces the packet loss rate after packet loss recovery and improves user experience.
  • Figure 1 is a schematic diagram of a basic SD-WAN network architecture provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of a data stream transmission process provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a data stream transmission method provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of the format of an anti-packet loss message provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a process of FEC data stream transmission provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a process of generating an anti-packet loss message provided by an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a data stream transmission method provided by an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of a method for determining a path for sending a data stream according to an embodiment of the present application
  • FIG. 9 is a schematic flowchart of a method for determining a path for sending a data stream according to an embodiment of the present application.
  • FIG. 10 is a schematic flowchart of a method for determining a path for sending a data stream according to an embodiment of the present application
  • FIG. 11 is a schematic diagram of a data stream transmission process provided by an embodiment of the present application.
  • FIG. 12 is a schematic diagram of a data stream transmission process provided by an embodiment of the present application.
  • FIG. 13 is a schematic diagram of a delay difference calculation process provided by an embodiment of the present application.
  • FIG. 14 is a schematic diagram of a data stream transmission process provided by an embodiment of the present application.
  • 15 is a schematic flowchart of a data stream transmission method provided by an embodiment of the present application.
  • FIG. 16 is a schematic structural diagram of a sending device provided by an embodiment of the present application.
  • FIG. 17 is a schematic structural diagram of a receiving device provided by an embodiment of the present application.
  • FIG. 18 is a schematic structural diagram of a control device provided by an embodiment of the present application.
  • FIG. 19 is a schematic structural diagram of a sending device provided by an embodiment of the present application.
  • FIG. 20 is a schematic structural diagram of a receiving device according to an embodiment of the present application.
  • FIG. 21 is a schematic structural diagram of a control device provided by an embodiment of the present application.
  • the embodiments of the present application provide a data stream transmission method and device, which can be applied to scenarios such as a software defined wide area network (SD-WAN) for packet loss sensitive services, such as video conferencing.
  • SD-WAN software defined wide area network
  • FIG 1 is a schematic diagram of the basic network architecture of SD-WAN.
  • the basic SD-WAN network architecture includes customer premise equipment (CPE) located in multiple locations (also known as places).
  • the customer premise equipment can be a physical customer premises equipment or It is a virtual customer premise equipment (vCPE), and vCPE runs on a general-purpose server.
  • CPE customer premise equipment
  • vCPE virtual customer premise equipment
  • Each client device has two or more WAN connections, that is, there are two or more WAN links used to transmit data streams between the client devices, and the WAN links are independent of each other, such as WAN links
  • An overlay network is formed through tunneling technologies such as Internet protocol security (IPSec) to achieve independence from the underlying transmission network.
  • IPsec Internet protocol security
  • High availability (active-active) load balancing can be done between multiple WANs.
  • the SD-WAN system includes a controller for centralized application performance monitoring and policy management of other equipment such as client devices in the system.
  • the terminal 1 sends an audio and video stream to the terminal 2 as an example.
  • Terminal 1 encodes the audio and video stream to be sent, and sends the encoded audio and video stream to network device 1, which is forwarded to network device 2 by network device 1 through multiple WAN links, and then received by network device 2 Send the audio and video stream to the terminal 2.
  • the terminal 2 uses decoding technology to decode the audio and video stream, and restore the audio and video stream to the original video and audio.
  • the terminal 2 is a smart device, such as a device with a display screen such as a mobile phone or a computer, the terminal 2 displays and plays the decoded video and audio on the display screen.
  • terminal 1 and terminal 2 may be devices such as smart terminals (such as mobile phones, tablet computers), cameras, or terminals used for audio and video encoding and decoding (such as Skype).
  • the network device 1 and the network device 2 may be routers, switches, servers and other devices.
  • a preset fixed anti-packet loss strategy is used, such as FEC, packet duplication, automatic retransmission, etc., to generate anti-packet loss messages for the data stream to be sent.
  • FEC packet duplication
  • automatic retransmission etc.
  • the anti-packet message generated by the anti-packet strategy restores the message lost during transmission, and its message recovery effect is not good, and the packet loss rate after the packet loss recovery is still high.
  • the embodiment of the present application provides a data stream transmission method and network equipment.
  • the link state of the WAN link that transmits the data stream is provided.
  • the network device determines the anti-packet loss strategy according to the link state of the WAN link, and generates anti-packet packet loss for the data flow to be sent according to the anti-packet strategy, and then passes through one or two WAN links Send the data stream including the original message and the anti-packet loss message.
  • the embodiment of the application dynamically determines an anti-packet loss strategy according to the status information of the path used to send the data stream, and generates an anti-packet loss message for the data flow according to the anti-packet strategy, and sends it to the receiving device through the path.
  • an anti-packet loss strategy determines an anti-packet loss strategy according to the status information of the path used to send the data stream, and generates an anti-packet loss message for the data flow according to the anti-packet strategy, and sends it to the receiving device through the path.
  • MPLS multi-protocol label switching
  • the WAN link is a path used to send data streams, and the link state information of the WAN link is called path state information.
  • FEC forward error correction
  • ARQ automatic repeat request
  • FEC is based on the original message and generates redundant messages according to certain codes (such as reed-solomon codes (RS) codes in block coding).
  • anti-packet loss messages are redundant Message.
  • the sender sends a data stream including the original message and anti-packet loss messages.
  • a certain Probabilistic decoding restores the original message that was lost.
  • the advantage of using FEC is that there is no retransmission, and the real-time performance is relatively high. It is effective for general packet loss scenarios and can recover packet loss with a certain probability.
  • Packet copy is based on the original message. One or more copies are completely copied according to the same content of the original message.
  • the copied message is called the anti-packet loss message, and the copied message is sent to the receiving end. , So that the receiving end can recover the lost original message according to the copied message.
  • the advantage of using packet replication is that there is no need to retransmit, the real-time performance is relatively high, and it is effective for general packet loss scenarios and can recover the packet loss with a certain probability.
  • ARQ is that the receiver receives the data stream sent by the sender and detects whether there is a packet loss in the received data stream. When it is determined that there is a packet loss, the receiver requests the sender to send again.
  • the advantage of using ARQ is that it is basically not occupied Too many additional bandwidth resources.
  • sending end and the receiving end may be devices such as terminals and network devices, respectively.
  • the data stream transmission method provided in the embodiment of the present application will be described below with reference to FIG. 3. As shown in FIG. 3, the method is executed by a sending device, which may be the network device shown in FIG. 2. It should be noted that the “first” and “second” mentioned in the embodiments of this application are only for distinguishing things, and do not limit the things themselves.
  • the path state information used to determine the path used to send the data stream is referred to as the second path state information
  • the path state information used to determine the anti-packet policy is referred to as the path state information.
  • the first path state information the first path state information and the second path state information are only used to distinguish usage scenarios, and do not limit the path state information itself.
  • the method may include the following steps:
  • the sending device determines an anti-packet loss strategy according to the first path state information of the path used to send the data stream.
  • the path is the path taken by the data stream from the sending device to the receiving device.
  • the sending device dynamically determines the anti-packet strategy (such as FEC, packet duplication, ARQ, etc.) that can enhance anti-packet loss according to the first path state information of the path, such as packet loss rate, delay and other state information, and then according to the anti-lost
  • the packet strategy generates anti-packet packets of the data stream, so that when the receiving device receives the data stream sent by the sending device, it can recover the packets that were lost during the data stream transmission process according to the anti-packet packets.
  • the sending device determines an anti-packet loss strategy according to the packet loss rate and delay in the first path state information of the path.
  • the packet loss rate of the path is less than the preset packet loss rate threshold
  • the time of the path is When the delay is less than the preset delay threshold, it is determined that the anti-packet loss strategy adopted is ARQ.
  • the sending device may determine the anti-packet strategy according to the first path state information of the path and the anti-packet loss target value of the data flow, where the anti-packet target value includes the packet loss rate target value, and the anti-packet loss target value
  • the goal is to include the upper limit of the packet loss rate allowed for the transmitted data stream.
  • the anti-packet loss target value of the data stream to be sent is set to an overall packet loss rate of less than 0.01% to ensure that the determined anti-packet strategy is used for the data
  • the packet loss rate of the flow after packet loss recovery is less than the upper limit of the packet loss rate.
  • the packet loss rate of the path is less than 0.01% of the data flow anti-packet loss target packet loss rate
  • the packet loss target value of the data stream to be sent is set to a delay target of less than 150ms. If there are two paths used to send the data stream: path 1 and path 2, the delay of path 1 is 80ms, and the delay of path 2 is 120ms. At this time, it can be determined that the anti-packet loss strategy is FEC. At this time, the delay caused by ARQ retransmission on Path 1 and Path 2 cannot meet the target value of the delay of the transmission data stream (less than 150 ms), so ARQ cannot be used.
  • the sending device may also determine the anti-packet loss strategy according to the first path status information of the path and the service flow rate of the data flow. For example, when the path delay is less than the preset threshold, and the traffic flow rate of the data stream transmitted on the path is lower than the preset threshold, it is determined that the anti-packet strategy adopted is packet replication; when the path delay is greater than the preset threshold, And when the service flow rate of the data stream transmitted on the path is greater than the preset threshold, it is determined that the adopted anti-packet loss strategy is FEC.
  • the encoding algorithm can be further determined according to the path state information of the path. For example, when the continuous packet loss of the path is less than the preset threshold, the FEC block encoding is used. When the packet is greater than or equal to the preset threshold, FEC convolutional coding is used.
  • the sending device may also determine an anti-packet loss strategy according to the first path state information of the path, the anti-packet loss target value of the data flow, and the service flow rate of the data flow. For example, according to the packet loss rate and delay of the path, it is determined whether the anti-packet loss target set for the transmitted data stream: the requirements of the packet loss rate and delay is met. When it is met, then according to the packet loss rate and delay of the path, And the service flow rate of the data stream transmitted on the path determines which anti-packet strategy is adopted. For example, when the delay of the path is less than the preset threshold, and the service flow rate of the data stream transmitted on the path is lower than the preset threshold, determine the anti-packet strategy adopted.
  • the packet loss strategy is packet replication; when the path delay is greater than the preset threshold, and the traffic flow rate of the data stream transmitted on the path is greater than the preset threshold, it is determined that the anti-packet strategy adopted is FEC.
  • S102 The sending device generates an anti-packet packet for the data flow according to the anti-packet strategy.
  • the sending device generates an anti-packet packet for the data stream to be sent according to the anti-packet strategy determined by S101.
  • the determined anti-packet strategy is FEC, then on the basis of the original packet, the FEC encoding algorithm is used for encoding.
  • Generate anti-packet loss messages which are also called redundant messages in FEC.
  • the determined anti-packet strategy is packet duplication, then copy the original message to generate an anti-packet packet.
  • the sending device sends a data stream on the path, where the data stream includes the original message and the anti-packet loss message.
  • the sending device sends the original message and the anti-packet loss message to the receiving device, so that after receiving the anti-packet message, the receiving device recovers the packet loss caused during transmission according to the anti-packet message, that is, the receiving device decodes it
  • the original message and the anti-packet loss message are deduplicated and rearranged to obtain the original data message.
  • S104 The receiving device recovers the lost original message through the received anti-packet loss message.
  • the receiving device decodes the data stream according to the anti-packet loss policy received from the sending device, and rearranges the original message and the anti-packet loss message.
  • the anti-packet loss message includes indication information, and the indication information is used to indicate the anti-packet loss strategy of the anti-packet loss message, such as ARQ, packet duplication, FEC, etc.
  • the specific anti-packet loss message format is as As shown in FIG. 4, in FIG. 4, the anti-packet loss message includes indication information and a payload (payload), and the payload is used to carry the data to be transmitted.
  • the indication information can also be used to indicate an identifier used to send a data stream, such as a five-tuple of the data stream.
  • the indication information is used to indicate the identification of the path used to send the original message, and the identification of the path used to send the anti-drop packet message, etc. .
  • the anti-packet loss message further includes the coding parameters of the anti-packet loss message, as shown in FIG. 4.
  • Coding parameters for example, the anti-packet policy indicated by the indication information is FEC
  • the coding parameters of the anti-packet message can carry FEC block coding or convolutional coding; if it is block coding, it can include RS, fountain code, raptor or LDPC One of; if it is convolutional coding, it can include LDPC or polar in convolutional coding.
  • the anti-packet coding parameters can also carry other related parameters, such as the block length in the RS coding, the number of redundant packets and other parameters.
  • the indication information is carried in the extended field of the packet loss resistant message.
  • the method before the receiving device decodes the data stream and rearranges the original message and the anti-packet loss message, the method further includes:
  • the receiving device receives the control message sent by the sending device.
  • the control message includes indication information.
  • the indication information indicates the anti-packet loss strategy of the anti-packet packet, such as ARQ, packet copy, FEC, etc.
  • the specific anti-packet packet is shown in Figure 4. Shown.
  • the indication information is also used to indicate the identification of the data stream and the identification of the path used to send the data stream.
  • the indication information is used to indicate Information such as the identification of the path used to send the original message, and the identification of the path used to send the anti-lost message.
  • the control message may also include the encoding parameter of the packet loss resistant message.
  • the anti-packet strategy indicated by the indication information is FEC
  • the encoding parameter of the anti-packet packet can carry FEC block coding or convolutional coding; if it is block coding, it can include one of RS, fountain code, raptor or LDPC. kind; if it is convolutional coding, it can include LDPC or polar in convolutional coding.
  • the anti-packet coding parameters can also carry other related parameters, such as the block length in RS coding, the number of redundant packets and other parameters
  • the receiving device decodes the anti-packet packet according to the anti-packet strategy indicated by the instruction information in the anti-packet packet or the received control message, and rearranges the original packet and the anti-packet packet to obtain the original data packet, That is, the original code stream.
  • the anti-packet strategy is FEC as an example for description.
  • the sending device obtains the original code stream, that is, the original message 123456.
  • (2) Determine the number of original messages participating in encoding according to FEC, and the method of determining the number of original messages participating in encoding may include but not limited to the following forms: the maximum number of messages set in the block encoding, or The number of messages collected after the timeout mechanism is triggered, or the number of messages determined by the corresponding mechanism in convolutional encoding; for example, the original message participating in encoding is 1234.
  • the sending device determines coding parameters, such as the number K of original messages in block coding, the number R of redundant messages, the length of the original message, the coding length, etc., or the corresponding coding parameters in convolutional coding.
  • the sending device performs FEC encoding according to the determined encoding parameters to generate an encoded packet.
  • the generated encoded packet can be a newly generated redundant packet abc, or it can include the original packet 1234 or redundant Message abc.
  • the sending device encapsulates the original message and the redundant packet to obtain the data stream 1234abc; in one embodiment, the sending device sends the information required for decoding (such as decoding parameters) to the receiving device through an additional control message to facilitate the receiving device
  • the data stream can be decoded according to the control message; in this step, the control message can include indication information and coding parameters of the anti-packet packet, such as the block size of packet coding and other parameters.
  • the sending device sends the data stream 1234abc to the receiving device through the WAN link.
  • the data stream includes the original message and the anti-packet loss message; (7) Because the WAN link is unstable, in the process of transmitting the data stream, It may cause packet loss, so when the receiving device receives the data stream, it may only receive 13abc. (8) The receiving device arranges the received data stream 13abc. (9) The receiving device obtains decoding parameters from the control message sent from the sending device, such as the number of original messages K, the number of redundant messages R, the length of the original message, the encoding length, etc., or convolution Corresponding encoding parameters in encoding. (10) The receiving device decodes the actually received data stream 13ab according to the decoding parameters, and restores the lost message.
  • the receiving device sends the message 1234 recovered in (11) to the terminal. If the message is an audio and video message, it is convenient for the terminal to display the audio and video message, which improves the transmission efficiency against packet loss and further improves the user Experience.
  • the sending device performs FEC encoding according to the determined encoding parameters to generate an encoded packet.
  • the encoded packet may be an anti-packet packet.
  • the sending device is based on the anti-packet strategy as The data flow generates an anti-packet loss message, that is, S102 in Figure 3.
  • the sending device includes an anti-packet controller.
  • the anti-packet controller is used to determine the path used to send the data stream, and determine the anti-packet strategy according to the path used to send the data stream, so that the sending device can respond to The packet loss strategy generates anti-drop packets for the data flow.
  • the sending device obtains optimization target information of a given sending data stream.
  • the data stream to be sent is a video stream of a video conference.
  • the overall effect of the video conference must be ensured, such as smooth video and no jamming.
  • the sending device generates the anti-packet loss target value through internal conversion, for example, the packet loss rate of the data stream in the transmission process is less than one in ten thousand.
  • the anti-packet controller of the sending device dynamically determines the anti-packet strategy based on the path status information of the path used to send the data stream, such as the packet loss rate, delay, and network jitter, to generate anti-packet loss based on the anti-packet strategy Message.
  • the anti-packet controller may restrict the path state information of the path according to the set constraint conditions, such as the packet loss rate threshold, the delay threshold, the network jitter threshold, the available bandwidth threshold, and other thresholds, so as to Determine the anti-packet strategy, where the anti-packet strategy includes ARQ, packet duplication, and FEC.
  • the sending device generates an anti-packet packet according to the anti-packet policy, and sends the data stream to the receiving device according to the path congestion control mechanism and path selection mechanism.
  • the anti-packet transmission data stream is enhanced and the user experience is improved.
  • the method may further include:
  • the sending device determines a path for sending the data stream from at least two paths from the sending device to the receiving device.
  • determining the path for sending a data stream from at least two paths from the sending device to the receiving device includes:
  • the sending device acquires at least two paths for sending the data stream.
  • the sending device obtains at least two paths for sending the data stream from the controller shown in FIG. 1, in other words, the controller notifies the sending device which paths are used to send the data stream; Or the sending device obtains at least two paths for sending the data stream through information such as local tunnel state maintenance, where the at least two paths are at least two paths from the sending device to the receiving device.
  • the sending device when the sending device obtains only one path for sending the data stream from the controller, or when the sending device obtains only one path for sending the data stream through information such as local tunnel status maintenance, the sending device uses the Two paths for data flow transmission.
  • the sending device determines a path for sending the data stream according to the second path status information of the at least two paths.
  • the sending device When the sending device acquires two or more paths for sending data streams, it measures the path status information of each path, such as the packet loss rate, one-way delay, two-way delay, and network State information such as jitter and available bandwidth, and determine the final path used to send the data stream according to the path status information of each path.
  • path status information of each path such as the packet loss rate, one-way delay, two-way delay, and network State information such as jitter and available bandwidth
  • the sending device determines one, two or more paths for sending the data stream according to the packet loss rates of the at least two paths.
  • the sending device determines one or two paths for sending the data stream according to at least one of the acquired packet loss rate, time delay, network jitter, available bandwidth, and time delay difference of the at least two paths.
  • the sending device first determines whether the packet loss rate of each of the at least two paths meets the preset packet loss rate threshold Loss threshold , when the path that meets the packet loss rate threshold When it is 1, the sending device performs single-path data stream transmission, that is, the data stream is sent on this path; when there are more than one path that meets the packet loss rate threshold, the sending device further determines whether the path delay meets the preset Delay threshold , when there is one path that meets the delay threshold, the sending device sends data streams on this path; when there is more than one path that meets the delay threshold, the sending device further determines the network of the path Whether the jitter meets the preset network jitter threshold Jitter threshold , when there is one path that meets the network jitter threshold, the sending device sends data streams on that path; when the path that meets the network jitter threshold is greater than one, the sending device can Further determine the path ultimately used to send the data stream according to the available bandwidth of the path. For example, the sending device
  • the sending device may determine the path with the largest available bandwidth as the path for sending the data stream.
  • the sending device may determine two or more paths with a relatively larger bandwidth in the available bandwidth as the path for sending the data stream.
  • the sending device may further determine whether the delay difference between any two paths meets the preset time among the paths that meet the bandwidth threshold.
  • the delay threshold Delta_delay threshold when the delay difference between two paths in the path that meets the bandwidth threshold meets the delay difference threshold, the sending device determines to use the two paths to send data streams.
  • the sending device determines to use the two paths with the smallest delay difference to send the data stream.
  • the sending device determines that the delay difference between the two paths is less than the preset delay difference threshold to send data streams on two paths, that is, when there are two paths for sending data streams, The delay difference is less than the preset delay difference threshold.
  • the sending device can determine the sending according to at least one of path delay, network jitter, available bandwidth, delay difference, and the packet loss rate of the path according to different judgment orders.
  • the path of the data stream is not limited in this embodiment of the application.
  • the sending device sends the data stream on the path, specifically, the sending device sends the original message and the data stream on this path.
  • the data flow of the anti-packet packet so that the receiving device can recover the packets lost during transmission according to the anti-packet packet after receiving the anti-packet packet.
  • the sending device when the sending device determines that there is one path used to send the data stream, the sending device sends the data stream including the original message and the anti-packet packet on this one path.
  • the sending device dynamically determines an optimal path according to the status information of the current path for sending the data stream, and sends data according to different anti-packet strategies. flow.
  • the sending device dynamically determines an optimal path according to the status information of the current path for sending the data stream, and sends data according to different anti-packet strategies. flow.
  • FIG. 11 when the status of the path that is being used to send the data stream is relatively poor at a certain time, switch to a path with a better path status to send the data stream.
  • the sending device determines the one-way delays of the two paths and determines the delay difference of the two paths.
  • the original message is sent on the path with a long delay
  • the anti-packet packet is sent on the path with the short delay
  • the anti-packet message is sent after the original message is sent.
  • the time interval of packet loss packets is t
  • t is the one-way time difference between the two paths to send data streams, as shown in Figure 12, so that the original packet and the anti-packet packet reach the receiving device at the same time.
  • router 1 is a sending device
  • router 2 is a receiving device.
  • the recorded time is the local time of Router 1 and Router 2.
  • Router 1 and Router 2 have not been time calibrated, and the local time of Router 1 and Router 2 may not correspond, such as the time at this moment. It is 9:00 am Beijing time, and on router 1, the current time is 9:01 am Beijing time, and the current time on router 2 is 9:02 am Beijing time. among them,
  • t 1 is the local time when packet 1 arrives at router 1.
  • t 1 ′ is the local time when packet 1 arrives at router 2.
  • t 1sA refers to the local time on router 1 when the 1st message (such as the original message) is sent on the A path.
  • t 1rA refers to the local time on router 2 when the 1st message (such as the original message) is sent on path A and arrives at router 2.
  • t 1sB refers to the local time on router 1 when the 1st message (such as the anti-packet loss message) is sent on path B.
  • t 1rB refers to the local time on router 2 when the 1st message (such as the anti-packet loss message) is sent on path B and arrives at router 2.
  • ⁇ clock is the clock deviation between the local time of router 1 and router 2. For example, the time of router 1 is 9:01 am Beijing time at the moment, and the time of router 2 is 9:01 am Beijing time, so ⁇ clock is 1 minute.
  • ⁇ A is the time interval from when the router 1 receives the 1st message to when it sends the 1st message through the A path.
  • ⁇ B is the time interval from when router 1 receives message 1 to when it sends message 1 through path B.
  • T A is the transmission time of the 1st or 2nd message from router 1 to router 2 on path A.
  • T B is the transmission time of the 1 or 2 message from router 1 to router 2 on path B.
  • t 2 is the local time when packet 2 arrives at router 1.
  • T 2 ′ is the local time when packet 2 arrives at router 2.
  • t 2sA refers to the local time on router 1 when the 2nd message (such as the original message) is sent on the A path.
  • t 2rA refers to the local time on router 2 when the message No. 2 (such as the original message) is sent on path A and arrives at router 2.
  • t 2sB refers to the local time on router 1 when the 2nd message (such as the anti-packet loss message) is sent on path B.
  • t 2rB refers to the local time on router 2 when the 2nd message (such as an anti-packet loss message) is sent on path B and arrives at router 2.
  • t 1rB -t 1rA (t 1 ′- ⁇ clock + ⁇ B +T B )-(t 1 ′- ⁇ clock + ⁇ A +T A )
  • the maximum jitter J max(abs ⁇ (t 2rx -t 2 )-(t 1ry -t 1 ) ⁇ ), where x,y ⁇ A,B,C,... ⁇ , where t 2rx is No. 2
  • t 1ry is the local time on router 2 when the message 1 is sent on the y path and arrives at router 2.
  • T 2x represents the transmission time of packet No. 2 on path x
  • T 1y represents the transmission time of packet No. 1 on path y.
  • x, y are a certain path, for example, x is the B path and y is the A path.
  • ⁇ 2x is the waiting time before message 2 is sent on path x.
  • ⁇ 1y is the waiting time before message 1 is sent on path y.
  • the router 1 predicts J before sending the message, and when the predicted J is greater than the preset threshold, the router 1 uses a single path to send the message.
  • the jitter tends to be single-path jitter, and router 2 still needs to rely on buffering.
  • the jitter that tends to a single path refers to the maximum jitter of the data stream after multiple paths are added. It is close to the path with the least jitter among the selected multiple paths, that is, the multipath itself does not deteriorate the jitter value of the data stream, that is, it does not make the jitter larger, and thus does not affect the performance of the user.
  • the transmission delay may increase.
  • the sending device determines to use two paths to send data streams, it determines the delays of the two paths and determines the time difference between the two paths.
  • the sending device sends the original message on the path with a longer delay.
  • After sending the original message when there is a delay difference, it sends an anti-drop packet on the path with a shorter delay to make the original message and the anti-drop
  • the lost packet arrives at the receiving device at the same time, and the receiving device decodes, rearranges, and forwards to the corresponding terminal.
  • the receiving device performs path-associated measurement, that is, when the receiving device receives the original message and the anti-packet packet, it measures the path state of the path and sends the path state information to the sending device.
  • the sending device receives the path status information of the path, and determines whether the two paths currently sending data streams still meet the set threshold (including packet loss rate, delay, network jitter, bandwidth, etc.). If it is met, the sending device continues to use These two paths send data streams; if they are not satisfied, the sending device selects a path with better path status information to send data streams. At this time, there are two paths to send data streams and switch to one path to send data streams.
  • the set threshold including packet loss rate, delay, network jitter, bandwidth, etc.
  • the sending device determines that the other two path status information meets the set threshold path, at this time, one path is switched to two paths to send data streams.
  • the path determined by the sending device to send the data stream can be configured through commands or other means.
  • determining the path used to send the data stream and determining the anti-packet loss policy of the data stream may also be completed by a third-party device (hereinafter referred to as a control device) other than the sending device.
  • a control device a third-party device
  • the control device determines the path for sending the data stream according to the path state information (also called second path state information) of at least two paths from the sending device to the receiving device, and controls The device determines an anti-packet loss strategy according to the first path state information of the path used to send the data stream; the control device sends the determined anti-packet strategy to the sending device.
  • the sending device obtains the anti-packet loss policy from the control device, so that the sending device can further generate an anti-packet loss message according to the anti-packet policy, and further complete the transmission of the data stream.
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, bandwidth, and delay difference.
  • the delay difference of the paths for sending data streams is less than the delay difference threshold.
  • control device determines the anti-packet loss strategy according to the first path state information of the path used to send the data stream, including:
  • the control device determines the anti-packet policy according to the first path state information of the path used to send the data flow, and at least one of the anti-packet loss target value of the data flow or the service flow rate of the data flow, wherein the anti-packet loss target value Including the upper limit of the packet loss rate allowed for the transmission data stream to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the process of the control device determining the path used to send the data stream and determining the anti-packet policy of the data stream is the same as the process of the sending device determining the path used to send the data stream and the process of determining the anti-packet strategy of the data stream, which is a concise description. , I won’t repeat it here.
  • An embodiment of the present application provides a data stream transmission device.
  • the transmission device is a sending device.
  • the sending device includes a determining unit 210, a generating unit 220, and a sending unit 230.
  • the determining unit 210 is configured to determine an anti-packet loss strategy according to the first path state information of the path used to send the data stream.
  • the generating unit 220 is configured to generate an anti-packet packet for the data flow according to the anti-packet strategy.
  • the sending unit 230 is configured to send a data stream on the path.
  • the data stream includes the original message and the anti-packet loss message, so that when the receiving device receives the data stream, it decodes the data stream according to the anti-packet loss policy received from the sending device, And through the anti-packet loss message to restore the original message lost in the transmission process, the effect of packet loss recovery is effectively improved, and the user experience is improved.
  • the determining unit 210 is further configured to determine the path for sending the data stream by using the second path state information of the at least two paths from the sending device to the receiving device.
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, broadband, and delay difference.
  • the delay difference of the paths for sending data streams is less than the delay difference threshold.
  • the determining unit 210 determines the anti-packet loss policy according to the first path state information of the path used to send the data stream, including:
  • the determining unit 210 determines the anti-packet strategy according to the first path state information of the path used to send the data flow, and the anti-packet loss target value of the data flow or the service flow rate of the data flow, wherein the anti-packet loss target The value includes the upper limit of the packet loss rate allowed for the transmission data stream, so as to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the first path state information includes at least one of time delay or packet loss rate.
  • the anti-packet loss strategy includes at least one of ARQ, packet duplication, and forward error correction FEC.
  • the anti-packet loss message is a redundant message; the generating unit 220 generates the anti-packet loss message for the data stream according to the anti-packet strategy, including:
  • the determining unit 210 determines an FEC encoding mode, where the encoding mode includes block coding or convolutional coding;
  • the generating unit 220 encodes the original message according to the determined encoding mode to generate a redundant message.
  • the sending unit 230 is further configured to send an anti-packet loss control message to the receiving device, where the anti-packet control message includes indication information, and the indication information is used to indicate the anti-packet loss strategy of the data stream so that
  • the receiving device receives the anti-packet loss strategy, it decodes the anti-packet packet in the data stream according to the anti-packet strategy, and uses the anti-packet packet to restore the original packet lost in the data stream transmission process to achieve
  • the lost original packet is restored by adopting the anti-packet message generated by the dynamically determined anti-packet strategy, which reduces the packet loss during the data stream transmission process and improves the user experience.
  • the indication information is also used to indicate the identifier of the data stream and the identifier of the path used to send the data stream.
  • the anti-packet loss message further includes coding parameters of the anti-packet loss message, and when the anti-packet loss strategy is FEC, the coding parameters include block coding or convolution for coding coding.
  • the anti-packet loss message includes indication information, and the indication information is used to indicate the anti-packet loss strategy of the data stream, so that when the receiving device receives the anti-packet loss strategy, it will be based on the anti-packet loss strategy.
  • Decode the anti-packet loss messages in the data stream and use the anti-packet loss messages to recover the original messages lost during the data stream transmission process, so as to realize the generation by adopting a dynamic anti-packet loss strategy when the path status is relatively poor
  • the anti-packet loss message restores the lost original message, reduces the packet loss during the data stream transmission process, and improves the user experience.
  • the indication information is also used to indicate the identification of the path used to send the data stream.
  • the indication information is carried in the extended field of the packet loss resistant message.
  • the anti-packet loss message further includes the encoding parameter of the anti-packet loss message.
  • the encoding parameter includes the block code or volume used for encoding.
  • the sending unit when sending data streams on two paths, sends the data streams on the paths, including:
  • the original message is sent on the path with the longer delay in the two paths; the anti-packet loss message is sent on the path with the shorter delay in the two paths, and the anti-packet loss message is sent after the original message is sent, There is a time t between sending the original message and sending the anti-packet loss message, where t is the one-way delay difference between the two paths to send data streams.
  • each functional unit in the sending device can be realized by the steps performed by the sending device in the embodiment shown in FIG. 3 and FIG. 7. Therefore, the specific working process of the device provided in the embodiment of the application is described in I won't repeat it here.
  • the embodiment of the present application provides a data stream transmission device.
  • the device is a receiving device. As shown in FIG. 17, the receiving device includes a receiving unit 310 and a processing unit 320.
  • the receiving unit 310 is configured to receive the original message and the anti-packet loss message of the data stream sent by the sending device, and the anti-packet loss message is generated according to the anti-packet loss policy.
  • the processing unit 320 is configured to recover the original message lost through the anti-packet message, that is, recover the original message lost in the transmission process through the anti-packet message, which effectively improves the effect of packet loss recovery and improves the user Experience.
  • the receiving unit 310 is further configured to receive an anti-packet loss control message.
  • the anti-packet control message includes indication information, and the indication information is used to indicate the anti-packet policy of the data stream for the convenience of the receiving device
  • decode the anti-packet message in the data stream according to the anti-packet strategy and use the anti-packet message to restore the original message lost during the data stream transmission process, so as to realize the path state comparison
  • the lost original message is restored by adopting the anti-packet message generated by the dynamically determined anti-packet strategy, which reduces the packet loss during the data stream transmission process and improves the user experience.
  • the indication information is also used to indicate the identifier of the data stream and the identifier of the path used to send the data stream.
  • the anti-packet loss message further includes coding parameters of the anti-packet loss message, and when the anti-packet loss strategy is FEC, the coding parameters include block coding or convolution for coding coding.
  • the anti-packet loss message includes indication information, and the indication information is used to indicate the anti-packet loss strategy of the data stream, so that when the receiving device receives the anti-packet loss strategy, it will be based on the anti-packet loss strategy.
  • Decode the anti-packet loss messages in the data stream and use the anti-packet loss messages to recover the original messages lost during the data stream transmission process, so as to realize the generation by adopting a dynamic anti-packet loss strategy when the path status is relatively poor
  • the anti-packet loss message restores the lost original message, reduces the packet loss during the data stream transmission process, and improves the user experience.
  • the indication information is also used to indicate the identification of the path used to send the data stream.
  • the indication information is carried in an extension field of the packet loss resistant message.
  • the anti-packet loss message further includes the encoding parameter of the anti-packet loss message.
  • the encoding parameter includes the block code or volume used for encoding.
  • each functional unit in the receiving device can be implemented by the steps performed by the receiving device in the embodiment shown in FIG. 3 and FIG. 7. Therefore, the specific working process of the device provided in the embodiment of the present application is described in I won't repeat it here.
  • An embodiment of the present application provides a data stream transmission device.
  • the transmission device is a control device. As shown in FIG. 18, the control device is used to determine a path for sending a data stream and an anti-packet loss strategy for the data stream.
  • the control device includes a determining unit 410 and a sending unit 420.
  • the determining unit 410 is configured to determine an anti-packet loss strategy according to the first path state information of the path used to send the data stream.
  • the sending unit 420 is configured to send an anti-packet loss strategy to the sending device, and the anti-packet strategy is used to generate an anti-packet loss message for the data stream by the sending device and send the data stream on the path.
  • the data stream includes the original message and the anti-lost packet Packet message, so that when the receiving device receives the data stream, it decodes the data stream according to the anti-packet loss strategy received from the sending device, and restores the original message lost in the transmission process through the anti-packet message, which effectively improves the packet loss The effect of recovery improves the user experience.
  • the determining unit 410 is further configured to determine the path for sending the data stream according to the second path status information of the at least two paths from the sending device to the receiving device.
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, bandwidth, and delay difference.
  • the delay difference of the paths for sending data streams is less than the delay difference threshold.
  • the determining unit 410 determines the anti-packet loss strategy according to the first path state information of the path used to send the data stream, including:
  • the determining unit 410 determines the anti-packet strategy according to the first path state information of the path used to send the data flow, and the anti-packet loss target value of the data flow or the service flow rate of the data flow.
  • the value includes the upper limit of the packet loss rate allowed for the transmission data stream, so as to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the first path state information includes at least one of a delay or a packet loss rate.
  • the anti-packet loss strategy includes at least one of ARQ, packet duplication, and forward error correction FEC.
  • each functional unit in the control device can be realized by the steps executed by the control device in the embodiment shown in FIG. 15. Therefore, the specific working process of the device provided in the embodiment of the present application will not be repeated here. Repeat.
  • An embodiment of the present application also provides a data stream transmission device.
  • the transmission device is a transmission device. As shown in FIG. 19, the transmission device includes a processor 510 and a transmitter 520.
  • the processor 510 is configured to determine an anti-packet loss strategy according to the first path state information of the path used to send the data flow; and generate an anti-packet loss message for the data flow according to the anti-packet strategy.
  • the transmitter 520 is configured to send a data stream on the path.
  • the data stream includes the original message and the anti-packet loss message, so that when the receiving device receives the data stream, it decodes the data stream according to the anti-packet loss policy received from the sending device, And through the anti-packet loss message to restore the original message lost in the transmission process, the effect of packet loss recovery is effectively improved, and the user experience is improved.
  • the processor 510 is further configured to determine the path for sending the data stream by using second path state information of the at least two paths from the sending device to the receiving device.
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, broadband, and delay difference.
  • the delay difference of the paths for sending data streams is less than the delay difference threshold.
  • the processor 510 determines the anti-packet loss strategy according to the first path state information of the path used to send the data stream, including:
  • the processor 510 determines the anti-packet strategy according to the first path state information of the path used to send the data stream, and the anti-packet loss target value of the data flow or the service flow rate of the data flow, wherein the anti-packet loss target The value includes the upper limit of the packet loss rate allowed for the transmission data stream, so as to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the first path state information includes at least one of a delay or a packet loss rate.
  • the anti-packet loss strategy includes at least one of ARQ, packet duplication, and forward error correction FEC.
  • the anti-packet loss message is a redundant message; the processor 510 generates an anti-packet loss message for the data flow according to the anti-packet loss strategy Text, including:
  • the processor 510 determines an FEC encoding method, where the encoding method includes block encoding or convolutional encoding;
  • the processor 510 encodes the original message according to the determined encoding mode to generate a redundant message.
  • the transmitter 520 is further configured to send an anti-packet loss control message to the receiving device.
  • the anti-packet control message includes indication information, and the indication information is used to indicate the anti-packet loss strategy of the data flow, so that
  • the receiving device receives the anti-packet loss strategy, it decodes the anti-packet packet in the data stream according to the anti-packet strategy, and uses the anti-packet packet to restore the original packet lost in the data stream transmission process to achieve
  • the lost original packet is restored by adopting the anti-packet message generated by the dynamically determined anti-packet strategy, which reduces the packet loss during the data stream transmission process and improves the user experience.
  • the indication information is also used to indicate the identifier of the data stream and the identifier of the path used to send the data stream.
  • the anti-packet loss message further includes coding parameters of the anti-packet loss message, and when the anti-packet loss strategy is FEC, the coding parameters include block coding or convolution for coding coding.
  • the anti-packet loss message includes indication information, and the indication information is used to indicate the anti-packet loss strategy of the data stream, so that when the receiving device receives the anti-packet loss strategy, it will be based on the anti-packet loss strategy.
  • Decode the anti-packet loss messages in the data stream and use the anti-packet loss messages to recover the original messages lost during the data stream transmission process, so as to realize the generation by adopting a dynamic anti-packet loss strategy when the path status is relatively poor
  • the anti-packet loss message restores the lost original message, reduces the packet loss during the data stream transmission process, and improves the user experience.
  • the indication information is also used to indicate the identification of the path used to send the data stream.
  • the indication information is carried in an extension field of the packet loss resistant message.
  • the anti-packet loss message further includes the encoding parameter of the anti-packet loss message.
  • the encoding parameter includes the block code or volume used for encoding.
  • the transmitter sending the data streams on the paths includes:
  • the original message is sent on the path with the longer delay in the two paths; the anti-packet loss message is sent on the path with the shorter delay in the two paths, and the anti-packet loss message is sent after the original message is sent, There is a time t between sending the original message and sending the anti-packet loss message, where t is the one-way delay difference between the two paths to send data streams.
  • control device further includes a memory 530 for storing instructions and data, such as an anti-packet loss strategy.
  • each functional device in the sending device can be realized by the steps performed by the sending device in the embodiment shown in FIG. 3 and FIG. 7. Therefore, the specific working process of the device provided in the embodiment of this application is described in I won't repeat it here.
  • An embodiment of the present application also provides a data stream transmission device.
  • the transmission device is a receiving device.
  • the receiving device includes a receiver 610 and a processor 620.
  • the receiver 610 is used to receive the original message and the anti-packet loss message of the data stream sent by the sending device, the anti-packet message is generated according to the anti-packet policy.
  • the processor 620 is configured to recover the lost original message through the anti-packet loss message, that is, recover the original message lost in the transmission process through the anti-drop message message, which effectively improves the effect of packet loss recovery and improves the user Experience.
  • the receiver 610 is further configured to receive an anti-packet loss control message.
  • the anti-packet control message includes indication information.
  • the indication information is used to indicate the anti-packet loss strategy of the data stream, so that the receiving device can receive the anti-packet loss control message.
  • the packet loss strategy the anti-packet packet in the data stream is decoded according to the anti-packet strategy, and the original packet lost in the data stream transmission process is restored through the anti-packet packet, so as to achieve the situation in the poor path state , Recover the lost original message by adopting the anti-packet message generated by the dynamically determined anti-packet loss strategy, which reduces the packet loss during the data stream transmission process and improves the user experience.
  • the indication information is also used to indicate the identifier of the data stream and the identifier of the path used to send the data stream.
  • the anti-packet loss message further includes coding parameters of the anti-packet loss message, and when the anti-packet loss strategy is FEC, the coding parameters include block coding or convolution for coding coding.
  • the anti-packet loss message includes indication information, and the indication information is used to indicate the anti-packet loss strategy of the data stream, so that when the receiving device receives the anti-packet loss strategy, it will be based on the anti-packet loss strategy.
  • Decode the anti-packet loss messages in the data stream and use the anti-packet loss messages to recover the original messages lost during the data stream transmission process, so as to realize the generation by adopting a dynamic anti-packet loss strategy when the path status is relatively poor
  • the anti-packet loss message restores the lost original message, reduces the packet loss during the data stream transmission process, and improves the user experience.
  • the indication information is also used to indicate the identification of the path used to send the data stream.
  • the indication information is carried in an extension field of the packet loss resistant message.
  • the anti-packet loss message further includes the encoding parameter of the anti-packet loss message.
  • the encoding parameter includes the block code or volume used for encoding.
  • control device further includes a memory 630 for storing instructions and data, such as original messages and anti-packet loss messages.
  • each functional device in the receiving device can be realized by the steps performed by the receiving device in the embodiment shown in FIG. 3 and FIG. 7. Therefore, the specific working process of the device provided in the embodiment of the present application is described in I won't repeat it here.
  • An embodiment of the present application also provides a data stream transmission device.
  • the transmission device is a control device.
  • the control device includes a processor 710 and a transmitter 720.
  • the processor 710 is configured to determine an anti-packet loss strategy according to the first path state information of the path used to send the data stream.
  • the transmitter 720 is configured to send an anti-packet loss strategy to the sending device.
  • the anti-packet strategy is used to generate an anti-packet loss packet for the data stream by the sending device and send the data stream on the path.
  • the data stream includes the original message and the anti-loss packet Packet message, so that when the receiving device receives the data stream, it decodes the data stream according to the anti-packet loss strategy received from the sending device, and restores the original message lost in the transmission process through the anti-packet message, which effectively improves the packet loss The effect of recovery improves the user experience.
  • the processor 710 is further configured to determine a path for sending the data stream according to the second path state information of the at least two paths from the sending device to the receiving device.
  • the second path state information includes a packet loss rate.
  • the second path state information further includes at least one of delay, network jitter, bandwidth, and delay difference.
  • the delay difference of the paths for sending data streams is less than the delay difference threshold.
  • the processor 710 determines an anti-packet loss strategy according to the first path state information of the path used to send the data stream, including:
  • the processor 710 determines an anti-packet strategy according to the first path state information of the path used to send the data flow, and the anti-packet loss target value of the data flow or the service flow rate of the data flow, where the anti-packet loss target The value includes the upper limit of the packet loss rate allowed for the transmission data stream, so as to ensure that the packet loss rate after the data stream is recovered using the determined anti-packet strategy is less than the upper limit of the packet loss rate.
  • the first path state information includes at least one of a delay or a packet loss rate.
  • the anti-packet loss strategy includes at least one of ARQ, packet duplication, and forward error correction FEC.
  • control device further includes a memory 730 for storing instructions and data, such as an anti-packet loss strategy.
  • each functional device in the control device can be realized by the steps executed by the control device in the embodiment shown in FIG. 15. Therefore, the specific working process of the device provided in the embodiment of the present application will not be repeated here. Repeat.
  • the embodiment of the present application provides a computer program product containing instructions.
  • the instructions run on a computer, the method/steps in FIG. 3, FIG. 7 or FIG. 15 are executed.
  • the embodiment of the present application provides a computer-readable storage medium for storing instructions, and when the instructions are executed on a computer, the method/steps in FIG. 3, FIG. 7 or FIG. 15 are executed.
  • the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable medium to another computer-readable medium.
  • the computer instructions may be transmitted from a website, computer, server, or data center through a cable (Such as coaxial cable, optical fiber, digital subscriber line (Digital Subscriber Line, DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website site, computer, server or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例提供了一种数据流的传输方法,该方法包括:发送设备根据用于发送数据流的路径的第一路径状态信息动态确定抗丢包策略;发送设备根据抗丢包策略为数据流生成抗丢包报文;发送设备在路径上发送数据流,数据流包括原报文和抗丢包报文,以便于接收设备接收到数据流时,根据接收自发送设备的抗丢包策略解码数据流,并通过抗丢包报文恢复传输过程中丢失的原报文,有效提升了丢包恢复的效果,提高了用户体验。

Description

一种数据流的传输方法和设备 技术领域
本申请实施例涉及通信领域,尤其涉及一种数据流的传输方法和设备。
背景技术
在通信领域中,由于网络的不稳定性,在报文传输过程中,可能会出现丢包的情况,如在因特网络(internet)中,网络发生拥塞的情况下,中间设备(如路由器)可能会发生由于接收缓存不足而导致报文溢出,从而发生丢包。而目前通常采用固定的抗丢包策略生成抗丢包报文,以对传输过程中丢失的报文进行恢复,但由于采用的是固定的抗丢包策略,丢包恢复的效果并不好,如一些对丢包非常敏感的业务,比如视频会议等,会造成输出图像花屏,造成用户体验差。
发明内容
本申请实施例提供了一种数据流的传输方法和设备,因为采用固定的抗丢包策略导致的丢包恢复的效果较差的问题。
第一方面,提供了一种数据流的传输方法,该方法包括:
发送设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;发送设备根据抗丢包策略为数据流生成抗丢包报文;发送设备在路径上发送数据流,数据流包括原报文和抗丢包报文。
通过用于发送数据流的状态信息动态确定的抗丢包策略为数据流生成抗丢包报文,而不是采用预先设置的固定的抗丢包策略为数据流生成抗丢包报文,因此通过抗丢包报文恢复传输过程中丢失的报文,有效提升了丢包恢复的效果,从而有效降低进行丢包恢复后的丢包率,进一步提高了用户体验。
结合第一方面,在第一方面的第一种可能实现的方式中,在发送设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略之前,方法还包括:
发送设备根据从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送数据流的路径。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,第二路径状态信息包括丢包率。
结合第一方面的第二种可能实现的方式,在第一方面的第三种可能实现的方式中,第二路径状态信息还包括时延、网络抖动、带宽、时延差中的至少一项。
结合第一方面或第一方面的上述任一可能实现的方式中,在第一方面的一个可能实现中,用于发送数据流的路径为一条或者两条。
结合第一方面或第一方面的上述任一可能实现的方式,在第一方面的第四种可能实现的方式中,当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
结合第一方面或者第一方面的上述任一可能实现的方式,在第一方面的第五种可能实现的方式中,发送设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
发送设备根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
结合第一方面或者第一方面的上述任一可能实现的方式,在第一方面的第六种可能实现的方式中,第一路径状态信息包括时延或丢包率中的至少一项。
结合第一方面或者第一方面的上述任一可能实现的方式,在第一方面的第七种可能实现的方式中,抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
结合第一方面或者或者第一方面的上述任一可能实现的方式,在第一方面的第八种可能实现的方式中,当抗丢包策略是前向纠错FEC时,抗丢包报文为冗余报文;发送设备根据抗丢包策略为数据流生成抗丢包报文,包括:
确定FEC的编码方式,编码方式包括分组编码或卷积编码;根据确定的编码方式对原报文进行编码生成冗余报文。
结合第一方面或者第一方面的上述任一可能实现的方式,在第一方面的第九种可能实现的方式中,该方法还包括:
发送设备向接收设备发送抗丢包控制消息,抗丢包控制消息包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第一方面或者第一方面的上述任一可能实现的方式,在第一方面的第十种可能实现的方式中,抗丢包报文包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第一方面的第九种可能实现的方式,在第一方面的第十一种可能实现的方式中,指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识。
结合第一方面的第十种可能实现的方式,在第一方面的第十二种可能实现的方式中,指示信息还用于指示用于发送数据流的路径的标识。
结合第一方面的第十种或者第十二种可能实现的方式,在第一方面的第十三种可能实现的方式中,指示信息携带在抗丢包报文的扩展字段中。
结合第一方面的第九种或第十一种可能实现的方式,在一个可能的实现中,抗丢包消息还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
结合第一方面的第十方种或第十二种可能实现的方式,在一个可能的实现中,抗丢包报文还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
结合第一方面或第一方面的上述任一可能实现的方式,在第一方面的第十四种可能实现的方式中,当在两条路径上发送数据流时,发送设备在路径上发送数据流,包括:
在两条路径中时延较长的路径上发送原报文;在两条路径中时延较短的路径上发送抗丢 包报文,且发送抗丢包报文在发送原报文之后,发送原报文与发送抗丢包报文相隔时间t,t为两条路径发送数据流的单向时延差。
第二方面,提供了一种数据流的传输方法,该方法包括:
接收设备接收发送设备发送的数据流的原报文和抗丢包报文,抗丢包报文是根据抗丢包策略生成的,抗丢包策略是发送设备根据用于发送数据流的路径的路径状态信息确定;通过动态确定的抗丢包策略生成抗丢包报文,对丢失的原报文进行恢复,即通过抗丢包报文恢复传输过程中丢失的原报文,有效降低了进行丢包恢复后的丢包率,提高了用户体验。
结合第二方面,在第二方面的第一种可能实现的方式中,在通过抗丢包报文对丢失的原报文进行恢复之前,该方法还包括:
接收抗丢包控制消息,抗丢包控制消息包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第二方面,在第二方面的第二种可能实现的方式中,抗丢包报文包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第二方面的第一种可能实现的方式,在第二方面的第三种可能实现的方式中,指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识。
结合第二方面的第二种可能实现的方式,在第二方面的第四种可能实现的方式中,指示信息还用于指示用于发送数据流的标识。
结合第二方面的第二种或者第四种可能实现的方式,在一个可能的实现中,指示信息携带在抗丢包报文的扩展字段中。
结合第二方面的第一种或者第四种可能实现的方式,在一个可能的实现中,抗丢包消息还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
结合第二方面的第二种、第四种或者第五种可能实现的方式,抗丢包报文还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
第三方面,提供了一种数据流的传输方法,该方法包括:
控制设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;控制设备向发送设备发送抗丢包策略,抗丢包策略用于发送设备为数据流生成抗丢包报文,使得通过动态确定的抗丢包策略生成的抗丢包报文对传输过程中丢失的报文进行恢复,有效提高了丢包恢复的效果,从而有效降低了丢包率,进一步提高了用户体验。
结合第三方面,在第三方面的第一种可能实现的方式中,在控制设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略之前,该方法还包括:
控制设备根据从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送 数据流的路径。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,第二路径状态信息包括丢包率。
结合第三方面的第二种可能实现的方式,在第三方面的第三种可能实现的方式中,第二路径状态信息还包括时延、网络抖动、带宽、时延差中的至少一项。
结合第三方面或第三方面的上述任一可能实现的方式中,在第三方面的一个可能实现中,用于发送数据流的路径为一条或者两条。
结合第三方面或第三方面的上述任一可能实现的方式,在第三方面的第四种可能实现的方式中,当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
结合第三方面或者第三方面的上述任一可能实现的方式,在第三方面的第五种可能实现的方式中,控制设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
控制设备根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
结合第三方面或者第三方面的上述任一可能实现的方式,在第三方面的第六种可能实现的方式中,第一路径状态信息包括时延或丢包率中的至少一项。
结合第三方面或者第三方面的上述任一可能实现的方式,在第三方面的第七种可能实现的方式中,抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
第四方面,提供了一种数据流的传输设备,该设备包括:
确定单元,用于根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;
生成单元,用于根据抗丢包策略为数据流生成抗丢包报文;
发送单元,用于在路径上发送数据流,数据流包括原报文和抗丢包报文。
设备通过用于发送数据流的状态信息动态确定的抗丢包策略为数据流生成抗丢包报文,并通过抗丢包报文恢复传输过程中丢失的报文,有效提高了丢包恢复的效果,从而有效降低了丢包率。
结合第四方面,在第四方面的第一种可能实现的方式中,确定单元,还用于从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送数据流的路径。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,第二路径状态信息包括丢包率。
结合第四方面的第二种可能实现的方式,在第四方面的第三种可能实现的方式中,第二路径状态信息还包括时延、网络抖动、宽带、时延差中的至少一项。
结合第四方面或第四方面的上述任一可能实现的方式中,在第四方面的一个可能实现中,用于发送数据流的路径为一条或者两条。
结合第四方面或第四方面的上述任一可能实现的方式,在第四方面的第四种可能实现的方式中当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
结合第四方面或者第四方面的上述任一可能实现的方式,在第四方面的第五种可能实现的方式中,确定单元根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
确定单元根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值 或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
结合第四方面或者第四方面的上述任一可能实现的方式,在第四方面的第六种可能实现的方式中,第一路径状态信息包括时延或丢包率中的至少一项。
结合第四方面或者第四方面的上述任一可能实现的方式,在第四方面的第七种可能实现的方式中,抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
结合第四方面或者或者第四方面的上述任一可能实现的方式,在第四方面的第八种可能实现的方式中,当抗丢包策略是前向纠错FEC时,抗丢包报文为冗余报文;生成单元根据抗丢包策略为数据流生成抗丢包报文,包括:
确定单元确定FEC的编码方式,编码方式包括分组编码或卷积编码;
生成单元根据确定的编码方式对原报文进行编码生成冗余报文。
结合第四方面或者第四方面的上述任一可能实现的方式,在第四方面的第九种可能实现的方式中,发送单元,还用于向接收设备发送抗丢包控制消息,抗丢包控制消息包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第四方面或者第四方面的上述任一可能实现的方式,在第四方面的第十种可能实现的方式中,抗丢包报文包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第四方面的第九种可能实现的方式,在第四方面的第十一种可能实现的方式中,指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识。
结合第四方面的第十种可能实现的方式,在第四方面的第十二种可能实现的方式中,指示信息还用于指示用于发送数据流的路径的标识。
结合第四方面的第十种或者第十二种可能实现的方式,在第四方面的第十三种可能实现的方式中,指示信息携带在抗丢包报文的扩展字段中。
结合第四方面的第九种或第十一种可能实现的方式,在一个可能的实现中,抗丢包消息还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
结合第四方面的第十方种或第十二种可能实现的方式,在一个可能的实现中,抗丢包报文还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
结合第四方面或第四方面的上述任一可能实现的方式,在第四方面的第十四种可能实现的方式中,当在两条路径上发送数据流时,发送单元在路径上发送数据流,包括:
在两条路径中时延较长的路径上发送原报文;
在两条路径中时延较短的路径上发送抗丢包报文,且发送抗丢包报文在发送原报文之后,发送原报文与发送抗丢包报文相隔时间t,t为两条路径发送数据流的单向时延差。
第五方面,提供了一种数据流的传输设备,该设备包括:
接收单元,用于接收发送设备发送的数据流的原报文和抗丢包报文,抗丢包报文是根据抗丢包策略生成的,抗丢包策略是发送设备根据用于发送数据流的路径的路径状态信息确定;
处理单元,用于通过抗丢包报文对丢失的原报文进行恢复,即通过动态确定的抗丢包策略生成的抗丢包报文恢复传输过程中丢失的原报文,有效降低了进行丢包恢复后的丢包率,提高了用户体验。
结合第五方面,在第五方面的第一种可能实现的方式中,接收单元,还用于接收抗丢包控制消息,抗丢包控制消息包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第五方面,在第五方面的第二种可能实现的方式中,抗丢包报文包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第五方面的第一种可能实现的方式,在第五方面的第三种可能实现的方式中,指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识。
结合第五方面的第二种可能实现的方式,在第五方面的第四种可能实现的方式中,指示信息还用于指示用于发送数据流的路径的标识。
结合第五方面的第二种或者第四种可能实现的方式,在一个可能的实现中,指示信息携带在抗丢包报文的扩展字段中。
结合第五方面的第一种或者第四种可能实现的方式,在一个可能的实现中,抗丢包消息还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
结合第五方面的第二种、第四种或者第五种可能实现的方式,抗丢包报文还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
第六方面,提供了一种数据流的传输设备,该设备包括:
确定单元,用于根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;
发送单元,用于向发送设备发送抗丢包策略,抗丢包策略用于发送设备为数据流生成抗丢包报文,使得通过动态确定的抗丢包策略生成的抗丢包报文对传输过程中丢失的报文进行恢复,有效提高了丢包恢复的效果,从而有效降低了丢包率,进一步提高了用户体验。
结合第六方面,在第六方面的第一种可能实现的方式中,确定单元,还用于根据从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送数据流的路径。
结合第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,第二路径状态信息包括丢包率。
结合第六方面的第二种可能实现的方式,在第六方面的第三种可能实现的方式中,第二 路径状态信息还包括时延、网络抖动、带宽、时延差中的至少一项。
结合第六方面或第六方面的上述任一可能实现的方式中,在第六方面的一个可能实现中,用于发送数据流的路径为一条或者两条。
结合第六方面或第六方面的上述任一可能实现的方式,在第六方面的第四种可能实现的方式中,当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
结合第六方面或者第六方面的上述任一可能实现的方式,在第六方面的第五种可能实现的方式中,确定单元根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
确定单元根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
结合第六方面或者第六方面的上述任一可能实现的方式,在第六方面的第六种可能实现的方式中,第一路径状态信息包括时延或丢包率中的至少一项。
结合第六方面或者第六方面的上述任一可能实现的方式,在第六方面的第七种可能实现的方式中,抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
第七方面,提供了一种数据流的传输设备,该设备包括:
处理器,用于根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;
处理器,还用于根据抗丢包策略为数据流生成抗丢包报文;
发送器,用于在路径上发送数据流,数据流包括原报文和抗丢包报文。
通过用于发送数据流的状态信息动态确定的抗丢包策略为数据流生成抗丢包报文,并通过抗丢包报文恢复传输过程中丢失的报文,有效提高了丢包恢复的效果,从而有效降低了丢包率,进一步提高了用户体验。
结合第七方面,在第七方面的第一种可能实现的方式中,处理器单元,还用于从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送数据流的路径。
结合第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,第二路径状态信息包括丢包率。
结合第七方面的第二种可能实现的方式,在第七方面的第三种可能实现的方式中,第二路径状态信息还包括时延、网络抖动、宽带、时延差中的至少一项。
结合第七方面或第七方面的上述任一可能实现的方式中,在第七方面的一个可能实现中,用于发送数据流的路径为一条或者两条。
结合第七方面或第七方面的上述任一可能实现的方式,在第七方面的第四种可能实现的方式中,当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
结合第七方面或者第七方面的上述任一可能实现的方式,在第七方面的第五种可能实现的方式中,处理器根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
处理器根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
结合第七方面或者第七方面的上述任一可能实现的方式,在第七方面的第六种可能实现的方式中,第一路径状态信息包括时延或丢包率中的至少一项。
结合第七方面或者第七方面的上述任一可能实现的方式,在第七方面的第七种可能实现的方式中,抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
结合第七方面或者或者第七方面的上述任一可能实现的方式,在第七方面的第八种可能实现的方式中,当抗丢包策略是前向纠错FEC时,抗丢包报文为冗余报文;处理器根据抗丢包策略为数据流生成抗丢包报文,包括:
处理器确定FEC的编码方式,编码方式包括分组编码或卷积编码;
处理器根据确定的编码方式对原报文进行编码生成冗余报文。
结合第七方面或者第七方面的上述任一可能实现的方式,在第七方面的第九种可能实现的方式中,发送器,还用于向接收设备发送抗丢包控制消息,抗丢包控制消息包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第七方面或者第七方面的上述任一可能实现的方式,在第七方面的第十种可能实现的方式中,抗丢包报文包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第七方面的第九种可能实现的方式,在第七方面的第十一种可能实现的方式中,指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识。
结合第七方面的第十种可能实现的方式,在第七方面的第十二种可能实现的方式中,指示信息还用于指示用于发送数据流的路径的标识。
结合第七方面的第十种或者第十二种可能实现的方式,在第七方面的第十三种可能实现的方式中,指示信息携带在抗丢包报文的扩展字段中。
结合第七方面的第九种或第十一种可能实现的方式,在一个可能的实现中,抗丢包消息还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
结合第七方面的第十方种或第十二种可能实现的方式,在一个可能的实现中,抗丢包报文还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
结合第七方面或第七方面的上述任一可能实现的方式,在第七方面的第十四种可能实现的方式中,当在两条路径上发送数据流时,发送器在路径上发送数据流,包括:
在两条路径中时延较长的路径上发送原报文;
在两条路径中时延较短的路径上发送抗丢包报文,且发送抗丢包报文在发送原报文之后,发送原报文与发送抗丢包报文相隔时间t,t为两条路径发送数据流的单向时延差。
第八方面,提供了一种数据流的传输设备,该设备包括:
接收器,用于接收发送设备发送的数据流的原报文和抗丢包报文,抗丢包报文是根据抗 丢包策略生成的,抗丢包策略是发送设备根据用于发送数据流的路径的路径状态信息确定;
处理器,用于通过抗丢包报文对丢失的原报文进行恢复。
通过根据用于发送数据流的路径的状态信息确定的抗丢包策略生成抗丢包报文,并通过抗丢包报文恢复传输过程中丢失的原报文,有效降低了丢包率,进一步提高了用户体验。
结合第八方面,在第八方面的第一种可能实现的方式中,接收器,还用于接收抗丢包控制消息,抗丢包控制消息包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第八方面,在第八方面的第二种可能实现的方式中,抗丢包报文包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
结合第八方面的第一种可能实现的方式,在第八方面的第三种可能实现的方式中,指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识。
结合第八方面的第二种可能实现的方式,在第八方面的第四种可能实现的方式中,指示信息还用于指示用于发送数据流的路径的标识。
结合第八方面的第二种或者第四种可能实现的方式,在一个可能的实现中,指示信息携带在抗丢包报文的扩展字段中。
结合第八方面的第一种或者第四种可能实现的方式,在一个可能的实现中,抗丢包消息还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
结合第八方面的第二种、第四种或者第五种可能实现的方式,抗丢包报文还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
第九方面,提供了一种数据流的传输设备,该设备包括:
处理器,用于根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;
发送器,用于向发送设备发送抗丢包策略,抗丢包策略用于发送设备为数据流生成抗丢包报文,使得通过动态确定的抗丢包策略生成的抗丢包报文对传输过程中丢失的报文进行恢复,有效提高了丢包恢复的效果,从而有效降低了丢包率,进一步提高了用户体验。
结合第九方面,在第九方面的第一种可能实现的方式中,处理器,还用于根据从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送数据流的路径。
结合第九方面的第一种可能的实现方式,在第九方面的第二种可能的实现方式中,第二路径状态信息包括丢包率。
结合第九方面的第二种可能实现的方式,在第九方面的第三种可能实现的方式中,第二路径状态信息还包括时延、网络抖动、带宽、时延差中的至少一项。
结合第九方面或第九方面的上述任一可能实现的方式中,在第九方面的一个可能实现中,用于发送数据流的路径为一条或者两条。
结合第九方面或第九方面的上述任一可能实现的方式,在第九方面的第四种可能实现的方式中,当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
结合第九方面或者第九方面的上述任一可能实现的方式,在第九方面的第五种可能实现的方式中,处理器根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
处理器根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
结合第九方面或者第九方面的上述任一可能实现的方式,在第九方面的第六种可能实现的方式中,第一路径状态信息包括时延或丢包率中的至少一项。
结合第九方面或者第九方面的上述任一可能实现的方式,在第九方面的第七种可能实现的方式中,抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
第十方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,执行第一方面至第三方面中任一可能实现的方法。
本申请实施例提供了一种计算机可读存储介质,用于存储指令,当所述指令在计算机上执行时,第一方面至第三方面中任一可能实现的方法。
基于提供的数据流的传输方法和设备,发送设备根据用于发送数据流的路径的路径状态信息动态确定抗丢包策略,并根据抗丢包策略为数据流生成抗丢包报文,再在路径上发送包括原报文和抗丢包报文的数据流,以便于接收设备接收到数据流时,根据接收自发送设备的抗丢包策略解码数据流,并通过抗丢包报文恢复传输过程中丢失的原报文,有效降低了进行丢包恢复后的丢包率,提高了用户体验。
附图说明
图1是本申请实施例提供的SD-WAN基本网络架构示意图;
图2是本申请实施例提供的一种数据流传输的过程示意图;
图3是本申请实施例提供的一种数据流传输的方法流程示意图;
图4是本申请实施例提供的一种抗丢包报文的格式示意图;
图5是本申请实施例提供的一种FEC数据流传输的过程示意图;
图6是本申请实施例提供的一种生成抗丢包报文的过程示意图;
图7是本申请实施例提供的一种数据流传输的方法流程示意图;
图8是本申请实施例提供的一种确定用于发送数据流的路径的方法流程示意图;
图9是本申请实施例提供的一种确定用于发送数据流的路径的方法流程示意图;
图10是本申请实施例提供的一种确定用于发送数据流的路径的方法流程示意图;
图11是本申请实施例提供的一种数据流传输的过程示意图;
图12是本申请实施例提供的一种数据流传输的过程示意图;
图13是本申请实施例提供的一种时延差计算的过程示意图;
图14是本申请实施例提供的一种数据流传输的过程示意图;
图15是本申请实施例提供的一种数据流传输的方法流程示意图;
图16是本申请实施例提供的一种发送设备的结构示意图;
图17是本申请实施例提供的一种接收设备的结构示意图;
图18是本申请实施例提供的一种控制设备的结构示意图;
图19是本申请实施例提供的一种发送设备的结构示意图;
图20是本申请实施例提供的一种接收设备的结构示意图;
图21是本申请实施例提供的一种控制设备的结构示意图。
具体实施方式
本申请实施例提供了一种数据流的传输方法和设备,可应用于软件定义的广域网(software defined-wide area network,SD-WAN)等场景,针对丢包敏感的业务,比如视频会议。
在该实施例中,发送设备和接收设备之间有多条路径,例如在SD-WAN场景中,客户端设备之间的多条WAN链路,如图1所示。
图1是SD-WAN基本网络架构示意图。如图1所示,在SD-WAN基本网络架构中,包括位于多个位置(又称为场所)的客户端设备(customer premise equipment,CPE),客户端设备可以是物理客户端设备,也可以是虚拟客户端设备(virtual customer premise equipment,vCPE),vCPE运行在通用的服务器上。
每个客户端设备都有两个或多个WAN连接,即客户端设备之间存在两条或多条用于传输数据流的WAN链路,而且WAN链路之间相互独立,例如WAN链路通过互联网协议安全(internet protocol security,IPSec)等隧道技术构成覆盖(overlay)网络,以实现与底层传输网络的无关性。多个WAN之间可以做高可用性(active-active)的负载均衡。
SD-WAN系统中包括控制器,用于对系统中客户端设备等其他设备的的集中应用性能监控和策略管理。
在SD-WAN系统中,数据流的传输过程如图2所示,在图2中,以终端1向终端2发送音视频流为例。终端1对要发送的音视频流进行编码,并将编码后的音视频流发送给网络设备1,由网络设备1通过多条WAN链路转发给网络设备2,再由网络设备2将接收到的音视频流发送给终端2;终端2接收到音视频流之后,采用解码技术对音视频流进行解码,将音视频流还原为原始的视频和音频。如果终端2是智能设备,比如手机或电脑等具有显示屏的设备时,终端2在显示屏上显示播放解码后的视频和音频。
其中,终端1和终端2可以是智能终端(如手机、平板电脑)、摄像头,或用于音视频编解码的终端(如Skype)等设备。网络设备1和网络设备2可以是路由器、交换机、服务器等设备。
由于WAN链路的不稳定性,在WAN链路上传输数据流可能存在丢包。在SD-WAN的数据流传输过程中,如果传输的数据流(如音视频报文)被调度到质量比较差的WAN链路,可能会导致大量报文丢失,从而极大降低了用户体验。
而且由于SD-WAN的两条或多条WAN链路之间相互独立,WAN链路本身无法联动统一为同一条音视频流,提供可靠的传输。如果简单的通过报文级负载均衡调度,将同一条音视频流放到不同的WAN链路上进行传输,由于每条WAN链路的丢包率、时延、抖动等差异,极有可能出现多条WAN链路绑定后的传输效果反而不如单条WAN链路的传输,也就是说,多条WAN链路绑定传输音视频流时,会出现1+1<1的效果。
现有技术中有采用预设的固定抗丢包策略,如FEC、包复制、自动重传等为需发送的数据流生成抗丢包报文,在路径状态信息比较差的情况下,采用固定抗丢包策略生成的抗丢包报文恢复传输过程中丢失的报文,其报文恢复的效果并不好,进行丢包恢复后的丢包率依然 很高。
为此,需要针对传输数据流的WAN链路进行一些抗丢包技术,因此,本申请实施例提供了一种数据流的传输方法和网络设备,在发送数据流的WAN链路的链路状态比较差的情况下,网络设备根据WAN链路的链路状态确定抗丢包策略,并根据抗丢包策略为要发送的数据流生成抗丢包报文,然后通过一条或两条WAN链路发送包括原报文和抗丢包报文的数据流。本申请实施例根据用于发送数据流的路径的状态信息动态的确定抗丢包策略,并根据抗丢包策略为数据流生成抗丢包报文,并通过路径发送给接收设备,当接收设备接收到数据流时,通过抗丢包报文对被丢失的原报文进行恢复,提高了丢包恢复的效果,从而有效降低了进行丢包恢复后的丢包率,类比于达到较好链路(如多协议标签交换(multi-protocol label switching,MPLS))类似链路的传输效果。
在SD-WAN场景中,WAN链路为用于发送数据流的路径,WAN链路的链路状态信息称为路径的状态信息。
常用的抗丢包策略包括前向纠错(forward error correction,FEC),包复制、自动重传(automatic repeat request,ARQ)等。
其中,FEC是基于原报文,按照一定的编码(比如分组编码中的里所码(reed-solomon codes,RS)编码)生成冗余报文,在FEC中,抗丢包报文就是冗余报文。在数据流传输过程中,发送端发送包括原报文和抗丢包报文的数据流,当接收端接收到数据流时,根据接收到的数据流中的抗丢包报文,按一定的概率解码恢复被丢失的原报文。采用FEC的优点是无重传,实时性比较高,对一般丢包场景有效,能以一定概率恢复丢包。
包复制是基于原报文,按照原报文相同的内容完全拷贝(copy)一份或多份,拷贝的这份报文称为抗丢包报文,并将拷贝的报文发送给接收端,以使得接收端根据拷贝的报文恢复被丢失的原报文。采用包复制的优点是无须重传,实时性比较高,对一般丢包场景有效,能以一定概率恢复丢包。
ARQ是接收端接收发送端发送的数据流,并检测接收到的数据流中是否有丢包,当确定有丢包时,接收端请求发送端再重新发送一次,采用ARQ的优点是基本不占用太多的额外带宽资源。
需要说明的是,这里的发送端和接收端可以分别是终端、网络设备等设备。
下面结合附图3对本申请实施例提供的数据流的传输方法进行描述。如图3所示,该方法由发送设备执行,该发送设备可以是图2所示的网络设备。需要说明的是,在本申请实施例中提到的“第一”,“第二”仅仅是为了区分事物,不对事物本身进行限定。
还需说明的是,在本申请实施例中,将用于确定用于发送数据流的路径的路径状态信息称为第二路径状态信息,将用于确定抗丢包策略的路径的状态信息称为第一路径状态信息,第一路径状态信息和第二路径状态信息仅仅用于区别使用场景,并不对路径状态信息本身构成限制。
如图3所示,该方法可以包括以下步骤:
S101,发送设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略。
其中,路径是数据流从发送设备到接收设备所经过的路径。发送设备根据路径的第一路径状态信息,比如丢包率、时延等状态信息动态确定能够增强抗丢包的抗丢包策略(如FEC、包复制、ARQ,等等),然后根据抗丢包策略生成数据流的抗丢包报文,以使得接收设备接收到发送设备发送的数据流时,能够根据抗丢包报文恢复数据流传输过程中被丢失的报文。
例如,发送设备根据路径的第一路径状态信息中的丢包率和时延确定抗丢包策略,在一 个实施例中,当路径的丢包率小于预设的丢包率阈值,路径的时延小于预设的时延阈值时,确定采用的抗丢包策略是ARQ。
在另一实施例中,发送设备可以根据路径的第一路径状态信息、数据流的抗丢包目标值确定抗丢包策略,其中,抗丢包目标值包括丢包率目标值,抗丢包目标是包括传输数据流所允许的丢包率上限,例如所要发送的数据流的抗丢包目标值设定为总体丢包率小于0.01%,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
在路径的丢包率小于数据流抗丢包目标丢包率0.01%的情况下,当路径的时延满足数据流的抗丢包目标设定的时延目标值时,确定采用的抗丢包策略是FEC,比如,所要发送的数据流的抗丢包目标值设定为时延目标小于150ms,如果用于发送数据流的路径有两条:路径1和路径2,路径1的时延是80ms,路径2的时延是120ms,此时可确定抗丢包策略是FEC。此时在路径1和路径2上采用ARQ重传带来的时延并不能满足传输数据流的时延目标值(小于150ms),因此不能采用ARQ。
在另一实施例中,发送设备还可以根据路径的第一路径状态信息、数据流的业务流速确定抗丢包策略。例如,当路径的时延小于预设阈值,且在该路径上传输数据流的业务流速低于预设阈值,确定采用的抗丢包策略是包复制;当路径的时延大于预设阈值,且在该路径上传输数据流的业务流速大于预设阈值时,确定采用的抗丢包策略是FEC。
当确定采用的抗丢包策略是FEC时,还可以根据路径的路径状态信息进一步确定编码算法,例如,当路径的连续丢包小于预设阈值时,采用FEC的分组编码,当路径的连续丢包大于等于预设阈值时,采用FEC的卷积编码。
在一个实施例中,发送设备还可以根据路径的第一路径状态信息,数据流的抗丢包目标值和数据流的业务流速确定抗丢包策略。比如,先根据路径的丢包率、时延确定是否满足发送数据流设定的抗丢包目标:丢包率和时延的要求,当满足时,再根据路径的丢包率,时延,以及路径上传输数据流的业务流速确定采用哪种抗丢包策略,比如当路径的时延小于预设阈值,且在该路径上传输数据流的业务流速低于预设阈值,确定采用的抗丢包策略是包复制;当路径的时延大于预设阈值,且在该路径上传输数据流的业务流速大于预设阈值时,确定采用的抗丢包策略是FEC。
S102,发送设备根据抗丢包策略为数据流生成抗丢包报文。
发送设备根据S101确定的抗丢包策略,为要发送的数据流生成抗丢包报文,比如确定的抗丢包策略是FEC,那么在原报文的基础上,采用FEC的编码算法进行编码,生成抗丢包报文,在FEC中抗丢包报文也称为冗余报文。
比如确定的抗丢包策略是包复制,那么复制原报文生成抗丢包报文。
S103,发送设备在路径上发送数据流,数据流包括原报文和抗丢包报文。
发送设备将原报文和抗丢包报文发送给接收设备,以便于接收设备接收到抗丢包报文后,根据抗丢包报文恢复在传输过程中造成的丢包,即接收设备解码原报文和抗丢包报文,进行去重、重排列以得到原始数据报文。
S104,接收设备通过接收到的抗丢包报文对丢失的原报文进行恢复。
即接收设备根据接收自发送设备的抗丢包策略解码数据流,并重排原报文和抗丢包报文。
在一个实施例中,抗丢包报文中包括指示信息,指示信息用于指示抗丢包报文的抗丢包策略,如ARQ、包复制、FEC等,具体抗丢包报文的格式如图4所示,在图4中,抗丢包报文包括指示信息和有效负载(payload),payload用于承载所要传输的数据。
指示信息还可以用于指示用于发送数据流的标识,如该数据流的五元组。在一个实施例 中,当用于发送数据流的路径是两条时,指示信息用于指示用于发送原报文的路径的标识,以及用于发送抗丢包报文的路径的标识等信息。
可选地,在一个实施例中,抗丢包报文还包括抗丢包报文的编码参数,如图4所示。编码参数,比如指示信息指示的抗丢包策略是FEC,那么抗丢包报文的编码参数可以携带FEC的分组编码或卷积编码;如果是分组编码,可以包括RS、fountain code、raptor或LDPC中的一种;如果是卷积编码,可以包括卷积编码中的LDPC或polar。除此外,抗丢包的编码参数中还可以携带其他的相关的参数,例如RS编码中的分块长度,冗余报文的数量等参数。
在一个实施例中,指示信息携带在抗丢包报文的扩展字段中。
可选地,在一个实施例中,在接收设备解码数据流,并重排原报文和抗丢包报文之前,该方法还包括:
接收设备接收发送设备发送的控制消息,控制消息中包括指示信息,指示信息指示抗丢包报文的抗丢包策略,比如ARQ、包复制、FEC等,具体的抗丢包报文如图4所示。
指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识等信息,在一个实施例中,当用于发送数据流的路径是两条时,指示信息用于指示用于发送原报文的路径的标识,以及用于发送抗丢包报文的路径的标识等信息。
可选地,在一个实施例中,控制消息中还可以包括抗丢包报文的编码参数。比如指示信息指示的抗丢包策略是FEC,那么抗丢包报文的编码参数可以携带FEC的分组编码或卷积编码;如果是分组编码,可以包括RS、fountain code、raptor或LDPC中的一种;如果是卷积编码,可以包括卷积编码中的LDPC或polar。除此外,抗丢包的编码参数中还可以携带其他的相关的参数,例如RS编码中的分块长度,冗余报文的数量等参数
以便于接收设备根据抗丢包报文或接收到的控制消息中指示信息指示的抗丢包策略解码抗丢包报文,并重排原报文和抗丢包报文,得到原始数据报文,即原始码流。
例如,如图5所示,以抗丢包策略是FEC为例进行说明。(1)发送设备获取原始码流,即原报文123456。(2)根据FEC确定参与编码的原报文的个数,确定参与编码的原报文的个数的方式可以包括但不限于以下几种形式:分组编码中设置的最大报文个数,或者超时机制触发后搜集到的报文个数,或者卷积编码中相应机制确定的报文个数;例如,参与编码的原报文是1234。(3)发送设备确定编码参数,如分组编码中原报文的个数K,冗余报文的个数R,原报文的长度,编码长度等,或者卷积编码中相应的编码参数。(4)发送设备根据确定的编码参数进行FEC编码,生成编码包,根据不同的编码算法,生成的编码包可以是新生成的冗余报文abc,也可以是包括原始报文1234或冗余报文abc。(5)发送设备封装原始报文和冗余包得到数据流1234abc;在一个实施例中,发送设备通过额外的控制消息将解码需要的信息(如解码参数)发送给接收设备,以便于接收设备接收到数据流后,可以根据控制消息解码数据流;在该步骤中,控制消息可以包括指示信息,以及抗丢包报文的编码参数,例如分组编码的分块大小等参数。(6)发送设备通过WAN链路向接收设备发送数据流1234abc,数据流中包括原报文和抗丢包报文;(7)由于在WAN链路不稳定,在传输数据流的过程中,可能会导致丢包,因此接收设备接收到数据流时,可能只接收到13abc。(8)接收设备整理接收到的数据流13abc。(9)接收设备从接收自发送设备发送的控制消息中获取解码参数,如原报文的个数K,冗余报文的个数R,原报文的长度,编码长度等,或者卷积编码中相应的编码参数。(10)接收设备根据解码参数解码实际接收到的数据流13ab,恢复被丢失的报文。(11)对恢复出来的报文和接收到的原报文进行重排得到1234。(12)接收设备将(11)恢复的报文1234发送给终端,如果该报文是音视频报文时,便于终端显示该音视频报文,提高了抗丢包传输效率,进 一步提高了用户体验。
其中,图5中的(4):发送设备根据确定的编码参数进行FEC编码,生成编码包,编码包可以是抗丢包报文,在一个实施例中,是发送设备根据抗丢包策略为数据流生成抗丢包报文,即图3中的S102。
发送设备根据抗丢包策略为数据流生成抗丢包报文的过程如图6所示。在图6中,发送设备包括抗丢包控制器,抗丢包控制器用于确定用于发送数据流的路径,并根据用于发送数据流的路径确定抗丢包策略,以便于发送设备根据抗丢包策略为数据流生成抗丢包报文。
在一个实施例中,发送设备获取给定的发送数据流的优化目标信息,比如要发送的数据流是某视频会议的视频流需保证视频会议的整体效果,比如视频流畅、无卡顿等。发送设备通过内部转换生成抗丢包目标值,比如数据流在传输过程中的丢包率小于万分之一等。发送设备的抗丢包控制器根据用于发送数据流的路径的路径状态信息,例如丢包率、时延和网络抖动等动态的确定抗丢包策略,以根据抗丢包策略生成抗丢包报文。
在一个实施例中,抗丢包控制器可根据设定的约束条件,比如丢包率阈值、时延阈值、网络抖动阈值、可用带宽阈值、以及其他阈值对路径的路径状态信息进行约束,以确定抗丢包策略,其中,抗丢包策略包括ARQ、包复制、FEC。发送设备根据抗丢包策略生成抗丢包报文,并根据路径的拥塞控制机制、路径选择机制将数据流发送给接收设备。
通过动态的确定抗丢包策略,并根据抗丢包策略生成抗丢包报文,增强了抗丢包传输数据流,提高了用户体验。
可选地,如图7所示,在根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略之前,即图3所示实施例的S101之前,该方法还可以包括:
S105,发送设备从发送设备到接收设备的至少两条路径中确定发送数据流的路径。
在一个实施例中,如图8所示,从发送设备到接收设备的至少两条路径中确定发送数据流的路径,包括:
S1051,发送设备获取用于发送数据流的至少两条路径。
在一个实施例中,发送设备从图1所示的控制器获取用于发送数据流的至少两条路径,换句话讲,控制器通知发送设备用于发送数据流的路径有哪几条;或者发送设备通过本地隧道状态维护等信息获取用于发送数据流的至少两条路径,其中,至少两条路径是从发送设备到接收设备的至少两条路径。
在一个实施例中,发送设备从控制器获取用于发送数据流的路径只有一条时,或者发送设备通过本地隧道状态维护等信息获取用于发送数据流的路径只有一条时,发送设备就使用该条路径进行数据流的传输。
S1052,发送设备根据至少两条路径的第二路径状态信息确定发送数据流的路径。
当发送设备获取到用于发送数据流的两条或多条路径时,测量每条路径的路径状态信息,比如每条路径传输数据流的丢包率、单向时延、双向时延、网络抖动、可用带宽等状态信息,并根据每条路径的路径状态信息确定最终用于发送数据流的路径。
在一个实施例中,发送设备根据至少两条路径的丢包率确定发送所述数据流的一条、两条或者多条路径。
在一个实施例中,发送设备根据获取的至少两条路径的丢包率、时延、网络抖动、可用带宽、时延差中的至少一项确定发送所述数据流的一条或者两条路径。
例如,在一个实施例中,如图9所示,发送设备先确定至少两条路径中每条路径的丢包率是否满足预设的丢包率阈值Loss threshold,当满足丢包率阈值的路径是1条时,发送设备执行 单路径数据流传输,即在这条路径上发送数据流;当满足丢包率阈值的路径大于1条时,发送设备再进一步确定路径的时延是否满足预设的时延阈值Delay threshold,当满足时延阈值的路径是1条时,发送设备在这条路径上发送数据流;当满足时延阈值的路径大于1条时,发送设备再进一步确定路径的网络抖动是否满足预设的网络抖动阈值Jitter threshold,当满足网络抖动阈值的路径是1条时,发送设备在该条路径上发送数据流;当满足网络抖动阈值的路径大于1条时,发送设备可以再进一步根据路径的可用带宽确定最终用于发送数据流的路径,比如发送设备确定路径的带宽是否满足预设的带宽阈值Band threshold,当满足带宽阈值的路径是1条时,发送设备在该条路径上发送数据流。
在一个实施例中,当满足带宽阈值的路径大于1条,且执行单路径发送数据流时,发送设备可确定可用带宽最大的路径作为发送数据流的路径。
在一个实施例中,当满足带宽阈值的路径大于1条时,发送设备可确定可用带宽中相对较大带宽的两条或多条路径作为发送数据流的路径。
在一个实施例中,如图10所示,当满足带宽阈值的路径大于1条时,发送设备可进一步在满足带宽阈值的路径中,确定任意两条路径的时延差是否满足预设的时延差阈值Delta_delay threshold,当满足带宽阈值的路径中两条路径的时延差满足时延差阈值时,发送设备确定使用这两条路径发送数据流。
在一个实施例中,当满足带宽阈值的路径中有多对两条路径的时延差满足时延差阈值时,发送设备确定使用时延差最小的两条路径发送数据流。
在一个实施例中,发送设备确定两条路径的时延差小于预设时延差阈值的两条路径发送数据流,即当用于发送数据流的路径是两条时,两条路径的时延差小于预设时延差阈值。
需要说明的是,在本申请实施例中,发送设备可以根据路径的时延、网络抖动、可用带宽、时延差中的至少一项,以及路径的丢包率,按照不同的判断顺序确定发送数据流的路径,在本申请实施例中对此不作限制。
在一个实施例中,当最终确定用于发送数据流的路径是1条时,图3的S103:发送设备在路径上发送数据流,具体是发送设备在这条路径上发送包括原报文和抗丢包报文的数据流,以便于接收设备接收到抗丢包报文后,根据抗丢包报文恢复在传输过程中丢失的报文。
在一个实施例中,当发送设备确定用于发送数据流的路径是1条时,发送设备在这1条路径上发送包括原报文和抗丢包报文的数据流。
可选地,在一个实施例中,如图11所示,发送设备会根据当前路径的状态信息动态确定一条最优的路径,以用于发送数据流,并根据不同的抗丢包策略发送数据流。在图11中,当某个时刻正在用于发送数据流的路径状态比较差时,切换到路径状态比较好的一条路径上发送数据流。
在一个实施例中,当发送设备确定用于发送数据流的路径是2条时,发送设备分别确定2条路径的单向时延,并确定2条路径的时延差。在时延较长的路径上发送原报文,在时延较短的路径上发送抗丢包报文,且发送抗丢包报文是在发送原报文之后,发送原报文与发送抗丢包报文的时间间隔是t,t是2条路径发送数据流的单向时间差,如图12所示,以使原报文和抗丢包报文同时达到接收设备。
其中,两条路径的时延差的计算过程如图13所示。在图13中,路由器1是发送设备,路由器2是接收设备。需要说明的是,在图13中,记录的时间是路由器1和路由器2的本地时间,路由器1和路由器2没有做过时间校准,路由器1和路由器2的本地时间可能不对应,例如此刻的时间是北京时间上午9:00,而在路由器1上,当前时间是北京时间上午9:01,路 由器2上的当前时间是北京时间上午9:02。其中,
t 1是1号报文到达路由器1的本地时间。
t 1′是1号报文到达路由器2的本地时间。
t 1sA是指该1号报文(如原始报文)在A路径上发送时,路由器1上的本地时间。
t 1rA是指该1号报文(如原始报文)在A路径上发送时,到达路由器2时,路由器2上的本地时间。
t 1sB是指该1号报文(如抗丢包报文)在B路径上发送时,路由器1上的本地时间。
t 1rB是指该1号报文(如抗丢包报文)在B路径上发送时,到达路由器2时,路由器2上的本地时间。
Δ clock是路由器1和路由器2本地时间的时钟偏差,例如此刻路由器1的时间是北京时间上午9:01,路由器2的时间是北京时间上午9:01,那么Δ clock是1分钟。
Δ A是路由器1接收到1号报文到通过A路径发送该1号报文的时间间隔。
Δ B是路由器1接收到1号报文到通过路径B发送该1号报文的时间间隔。
T A是在路径A上,该1号报文或2号报文从路由器1到路由器2的传输时间。
T B是在路径B上,该1号报文或2号报文从路由器1到路由器2的传输时间。
t 2是2号报文到达路由器1的本地时间。
T 2′是2号报文到达路由器2的本地时间。
t 2sA是指该2号报文(如原始报文)在A路径上发送时,路由器1上的本地时间。
t 2rA是指该2号报文(如原始报文)在A路径上发送时,到达路由器2时,路由器2上的本地时间。
t 2sB是指该2号报文(如抗丢包报文)在B路径上发送时,路由器1上的本地时间。
t 2rB是指该2号报文(如抗丢包报文)在B路径上发送时,到达路由器2时,路由器2上的本地时间。
那么,
t 1sA=t 1A
t 1sB=t 1B
t 1rA=t 1A+T A=t 1′-Δ clockA+T A
t 1rB=t 1B+T B=t 1clockB+T B
因此1号报文通过A路径和通过B路径到达路由器的时间差Δ path为:
t 1rB-t 1rA=(t 1′-Δ clockB+T B)-(t 1′-Δ clockA+T A)
=(Δ BA)+(T B-T A)
=(Δ BA)+(Δ path)
当Δ B=Δ A,Δ path=t 1rB-t 1rA
进一步,最大抖动J=max(abs{(t 2rx-t 2)-(t 1ry-t 1)}),其中x,y∈{A,B,C,…},其中,t 2rx是2号报文在x路径上发送时,到达路由器2时,路由器2上的本地时间;t 1ry是1号报文在y路径上发送时,到达路由器2时,路由器2上的本地时间。
将t 1ry=t1+Δ A+T A和t 2rx=t 2B+T B代入J=max(abs{(t 2rx-t 2)-(t 1ry-t 1)})中得到最大抖动:
J=max(abs{T 2x-T 1y2x1y})
其中,T 2x表示2号报文在路径x上的传输时间,T 1y表示1号报文在路径y上的传输时间。其中x,y是某一条路径,如x为B路径,y为A路径。Δ 2x为2号报文在路径x上发送前的等待时间。Δ 1y为1号报文在路径y上发送之前的等待时间。
在一个实施例中,路由器1不作时延控制,当收到报文时,立刻从A路径和B路径发出,即Δ B=Δ A=0,因此J=max(abs{T 2x-T 1y}。在这种情况下,路由器2需要固定大小缓存来抗抖动。
在一个实施例中,路由器1在发送报文之前预测J,当预测J大于预设阈值时,路由器1采用单路径发送报文。
在一个实施例中,路由器1做时延控制,要求原报文和抗丢包报文同时到达路由器2,即Δ 1x+T 1x=Δ 1y+T 1y。,因此J=max(abs{T 2x}-max{T 1y}。
在路由器1做了实验控制后,抖动趋于单路径抖动,仍需依赖路由器2缓存,换句话讲,趋于单条路径的抖动是指增加了多条路径传输后,数据流的抖动最大值趋近于选择的多条路径中抖动最小的路径,也就是说,多路径本身并不会恶化数据流的抖动值,即不会使抖动变得更大,从而不会影响用户的体现。
但在该种情况下,可能会造成传输时延加大。如图14所示,发送设备确定使用两条路径发送数据流时,分别确定两条路径的时延,并确定两条路径的时间差。发送设备在时延较长的路径上发送原报文,在发送原报文之后,相隔时延差时,在时延较短的路径上发送抗丢包报文,以使原报文和抗丢包报文同时到达接收设备,并由接收设备进行解码、重排,并转发给相应的终端。同时,接收设备进行随路测量,即接收设备接收到原报文和抗丢包报文时,对路径的路径状态进行测量,并将路径的状态信息发送给发送设备。
发送设备接收到路径的路径状态信息,确定当前发送数据流的两条路径是否仍然满足设定的阈值(包括丢包率、时延、网络抖动、带宽等),如果扔满足,发送设备继续使用这两条路径发送数据流;如果不满足,发送设备选择路径状态信息较好的一条路径发送数据流,此时有两条路径发送数据流切换为一条路径发送数据流。
在下一个周期中,如果发送设备确定另外两条路径状态信息满足设定阈值的路径,此时由一条路径切换成两条路径发送数据流。发送设备确定用于发送数据流的路径可通过命令或其他方式配置。
在一个实施例中,确定用于发送数据流的路径,以及确定数据流的抗丢包策略还可以由除发送设备之外的第三方设备(后续称为控制设备)完成。
在一个实施例中,如图15所示,控制设备根据从发送设备到接收设备的至少两条路径的路径状态信息(又称为第二路径状态信息)确定用于发送数据流的路径,控制设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;控制设备将确定的抗丢包策略发送给发送设备。换句话讲,发送设备在发送数据流之前,发送设备从控制设备获取抗丢包策略,以便于发送设备进一步根据抗丢包策略生成抗丢包报文,并进一步完成数据流的发送。
可选地,在一个实施例中,第二路径状态信息包括丢包率。
可选地,在一个实施例中,第二路径状态信息还包括时延、网络抖动、带宽、时延差中的至少一项。
可选地,在一个实施例中,用于发送数据流的路径为一条或者两条。
可选地,在一个实施例中,当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
可选地,在一个实施例中,在第三方面的第五种可能实现的方式中,控制设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
控制设备根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
控制设备确定用于发送数据流的路径,以及确定数据流的抗丢包策略的过程与发送设备确定用于发送数据流的路径,以及确定数据流的抗丢包策略的过程相同,为简洁描述,在此不再赘述。
本申请实施例提供了一种数据流的传输设备,该传输设备是发送设备,如图16所示,该发送设备包括确定单元210、生成单元220和发送单元230。
确定单元210,用于根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略。
生成单元220,用于根据抗丢包策略为数据流生成抗丢包报文。
发送单元230,用于在路径上发送数据流,数据流包括原报文和抗丢包报文,以便于接收设备接收到数据流时,根据接收自发送设备的抗丢包策略解码数据流,并通过抗丢包报文恢复传输过程中丢失的原报文,有效提升了丢包恢复的效果,提高了用户体验。
在一个实施例中,确定单元210,还用于从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送数据流的路径。
在一个实施例中,第二路径状态信息包括丢包率。可选地,在一个实施例中,第二路径状态信息还包括时延、网络抖动、宽带、时延差中的至少一项。
可选地,在一个实施例中,用于发送数据流的路径为一条或者两条。
在一个实施例中,当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
可选地,在一个实施例中,确定单元210根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
确定单元210根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
在一个实施例中,第一路径状态信息包括时延或丢包率中的至少一项。
可选地,在一个实施例中,抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
在一个实施例中,当抗丢包策略是前向纠错FEC时,抗丢包报文为冗余报文;生成单元220根据抗丢包策略为数据流生成抗丢包报文,包括:
确定单元210确定FEC的编码方式,编码方式包括分组编码或卷积编码;
生成单元220根据确定的编码方式对原报文进行编码生成冗余报文。
可选地,在一个实施例中,发送单元230,还用于向接收设备发送抗丢包控制消息,抗丢包控制消息包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢 包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
可选地,在一个实施例中,指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识。
可选地,在一个实施例中,抗丢包消息还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
可选地,在一个实施例中,抗丢包报文包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
可选地,在一个实施例中,指示信息还用于指示用于发送数据流的路径的标识。
在一个实施例中,指示信息携带在抗丢包报文的扩展字段中。
可选地,在一个实施例中,抗丢包报文还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
可选地,在一个实施例中,当在两条路径上发送数据流时,发送单元在路径上发送数据流,包括:
在两条路径中时延较长的路径上发送原报文;在两条路径中时延较短的路径上发送抗丢包报文,且发送抗丢包报文在发送原报文之后,发送原报文与发送抗丢包报文相隔时间t,t为两条路径发送数据流的单向时延差。
该发送设备中的各功能单元的功能,可以通过图3和图7中所示实施例中的发送设备所执行的各步骤来实现,因此,本申请实施例提供的设备的具体工作过程,在此不复赘述。
本申请实施例提供了一种数据流的传输设备,该设备是接收设备,如图17所示,该接收设备包括接收单元310和处理单元320。
接收单元310,用于接收发送设备发送的数据流的原报文和抗丢包报文,抗丢包报文是根据抗丢包策略生成的。
处理单元320,用于通过抗丢包报文对丢失的原报文进行恢复,即通过抗丢包报文恢复传输过程中丢失的原报文,有效提升了丢包恢复的效果,提高了用户体验。
可选地,在一个实施例中,接收单元310,还用于接收抗丢包控制消息,抗丢包控制消息包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
在一个实施例中,指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识。
可选地,在一个实施例中,抗丢包消息还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
可选地,在一个实施例中,抗丢包报文包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情 况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
在一个实施例中,指示信息还用于指示用于发送数据流的路径的标识。
可选地,在一个实施例中,指示信息携带在抗丢包报文的扩展字段中。
可选地,在一个实施例中,抗丢包报文还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
该接收设备中的各功能单元的功能,可以通过图3和图7中所示实施例中的接收设备所执行的各步骤来实现,因此,本申请实施例提供的设备的具体工作过程,在此不复赘述。
本申请实施例提供了一种数据流的传输设备,该传输设备是控制设备,如图18所示,该控制设备用于确定用于发送数据流的路径,以及数据流的抗丢包策略,该控制设备包括确定单元410和发送单元420。
确定单元410,用于根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略。
发送单元420,用于向发送设备发送抗丢包策略,抗丢包策略用于发送设备为数据流生成抗丢包报文,并在路径上发送数据流,数据流包括原报文和抗丢包报文,以便于接收设备接收到数据流时,根据接收自发送设备的抗丢包策略解码数据流,并通过抗丢包报文恢复传输过程中丢失的原报文,有效提升了丢包恢复的效果,提高了用户体验。
在一个实施例中,确定单元410,还用于根据从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送数据流的路径。
在一个实施例中,第二路径状态信息包括丢包率。
可选地,在一个实施例中,第二路径状态信息还包括时延、网络抖动、带宽、时延差中的至少一项。
可选地,在一个实施例中,用于发送数据流的路径为一条或者两条。
在一个实施例中,当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
确定单元410根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
确定单元410根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
可选地,在一个实施例中,第一路径状态信息包括时延或丢包率中的至少一项。
可选地,在一个实施例中,抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
该控制设备中的各功能单元的功能,可以通过图15中所示实施例中的控制设备所执行的各步骤来实现,因此,本申请实施例提供的设备的具体工作过程,在此不复赘述。
本申请实施例还提供了一种数据流的传输设备,该传输设备是发送设备,如图19所述,该发送设备包括处理器510和发送器520。
处理器510,用于根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;根据抗丢包策略为数据流生成抗丢包报文。
发送器520,用于在路径上发送数据流,数据流包括原报文和抗丢包报文,以便于接收 设备接收到数据流时,根据接收自发送设备的抗丢包策略解码数据流,并通过抗丢包报文恢复传输过程中丢失的原报文,有效提升了丢包恢复的效果,提高了用户体验。
在一个实施例中,处理器510,还用于从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送数据流的路径。
在一个实施例中,第二路径状态信息包括丢包率。
可选地,在一个实施例中,第二路径状态信息还包括时延、网络抖动、宽带、时延差中的至少一项。
可选地,在一个实施例中,用于发送数据流的路径为一条或者两条。
在一个实施例中,当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
在一个实施例中,处理器510根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
处理器510根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
可选地,在一个实施例中,第一路径状态信息包括时延或丢包率中的至少一项。
可选地,在一个实施例中,抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
可选地,在一个实施例中,当抗丢包策略是前向纠错FEC时,抗丢包报文为冗余报文;处理器510根据抗丢包策略为数据流生成抗丢包报文,包括:
处理器510确定FEC的编码方式,编码方式包括分组编码或卷积编码;
处理器510根据确定的编码方式对原报文进行编码生成冗余报文。
可选地,在一个实施例中,发送器520,还用于向接收设备发送抗丢包控制消息,抗丢包控制消息包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
在一个实施例中,指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识。
可选地,在一个实施例中,抗丢包消息还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
可选地,在一个实施例中,抗丢包报文包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
在一个实施例中,指示信息还用于指示用于发送数据流的路径的标识。
可选地,在一个实施例中,指示信息携带在抗丢包报文的扩展字段中。
可选地,在一个实施例中,抗丢包报文还包括抗丢包报文的编码参数,当所述抗丢包策 略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
可选地,在一个实施例中,当在两条路径上发送数据流时,发送器在路径上发送数据流,包括:
在两条路径中时延较长的路径上发送原报文;在两条路径中时延较短的路径上发送抗丢包报文,且发送抗丢包报文在发送原报文之后,发送原报文与发送抗丢包报文相隔时间t,t为两条路径发送数据流的单向时延差。
可选地,在一个实施例中,该控制设备还包括存储器530,用于存储指令和数据,例如抗丢包策略。
该发送设备中的各功能器件的功能,可以通过图3和图7中所示实施例中的发送设备所执行的各步骤来实现,因此,本申请实施例提供的设备的具体工作过程,在此不复赘述。
本申请实施例还提供了一种数据流的传输设备,该传输设备是接收设备,如图20所示,该接收设备包括接收器610和处理器620。
接收器610,用于接收发送设备发送的数据流的原报文和抗丢包报文,抗丢包报文是根据抗丢包策略生成的.
处理器620,用于通过抗丢包报文对丢失的原报文进行恢复,即通过抗丢包报文恢复传输过程中丢失的原报文,有效提升了丢包恢复的效果,提高了用户体验。
在一个实施例中,接收器610,还用于接收抗丢包控制消息,抗丢包控制消息包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
在一个实施例中,指示信息还用于指示数据流的标识,以及用于发送数据流的路径的标识。
可选地,在一个实施例中,抗丢包消息还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
可选地,在一个实施例中,抗丢包报文包括指示信息,指示信息用于指示数据流的抗丢包策略,以便于接收设备接收到该抗丢包策略时,根据抗丢包策略解码数据流中的抗丢包报文,并通过抗丢包报文恢复数据流传输过程中丢失的原报文,以实现在路径状态比较差的情况下,通过采用动态确定抗丢包策略生成的抗丢包报文恢复丢失的原报文,降低了数据流传输过程中的丢包,提高了用户体验。
在一个实施例中,指示信息还用于指示用于发送数据流的路径的标识。
可选地,在一个实施例中,指示信息携带在抗丢包报文的扩展字段中。
可选地,在一个实施例中,抗丢包报文还包括抗丢包报文的编码参数,当所述抗丢包策略是FEC时,所述编码参数包括用于编码的分组编码或卷积编码。
可选地,在一个实施例中,该控制设备还包括存储器630,用于存储指令和数据,例如原报文和抗丢包报文。
该接收设备中的各功能器件的功能,可以通过图3和图7中所示实施例中的接收设备所执行的各步骤来实现,因此,本申请实施例提供的设备的具体工作过程,在此不复赘述。
本申请实施例还提供了一种数据流的传输设备,该传输设备是控制设备,如图21所示, 该控制设备包括处理器710和发送器720。
处理器710,用于根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略。
发送器720,用于向发送设备发送抗丢包策略,抗丢包策略用于发送设备为数据流生成抗丢包报文,并在路径上发送数据流,数据流包括原报文和抗丢包报文,以便于接收设备接收到数据流时,根据接收自发送设备的抗丢包策略解码数据流,并通过抗丢包报文恢复传输过程中丢失的原报文,有效提升了丢包恢复的效果,提高了用户体验。
在一个实施例中,处理器710,还用于根据从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送数据流的路径。
在一个实施例中,第二路径状态信息包括丢包率。
可选地,在一个实施例中,第二路径状态信息还包括时延、网络抖动、带宽、时延差中的至少一项。
可选地,在一个实施例中,用于发送数据流的路径为一条或者两条。
在一个实施例中,当用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
可选地,在一个实施例中,处理器710根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
处理器710根据用于发送数据流的路径的第一路径状态信息、以及数据流的抗丢包目标值或数据流的业务流速中的至少一项确定抗丢包策略,其中,抗丢包目标值包括传输数据流所允许的丢包率上限,以保证在利用确定的抗丢包策略对该数据流进行丢包恢复后的丢包率小于该丢包率上限。
可选地,在一个实施例中,第一路径状态信息包括时延或丢包率中的至少一项。
可选地,在一个实施例中,抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
可选地,在一个实施例中,该控制设备还包括存储器730,用于存储指令和数据,例如抗丢包策略。
该控制设备中的各功能器件的功能,可以通过图15中所示实施例中的控制设备所执行的各步骤来实现,因此,本申请实施例提供的设备的具体工作过程,在此不复赘述。
本申请实施例提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,执行上述图3、图7或图15中的方法/步骤。
本申请实施例提供了一种计算机可读存储介质,用于存储指令,当所述指令在计算机上执行时,执行上述图3、图7或图15中的方法/步骤。
在上述各个本申请实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读介质向另一个计算机可读介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (39)

  1. 一种数据流的传输方法,其特征在于,所述方法包括:
    发送设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;
    所述发送设备根据所述抗丢包策略为所述数据流生成抗丢包报文;
    所述发送设备在所述路径上发送所述数据流,所述数据流包括原报文和所述抗丢包报文。
  2. 根据权利要求1所述的方法,其特征在于,在所述发送设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略之前,所述方法还包括:
    所述发送设备根据从所述发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送所述数据流的路径。
  3. 根据权利要求2所述的方法,其特征在于,所述第二路径状态信息包括丢包率。
  4. 根据权利要求3所述的方法,其特征在于,所述第二路径状态信息还包括时延、网络抖动、带宽、时延差中的至少一项。
  5. 根据权利要求1至4任一项所述的方法,其特征在于,当所述用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
  6. 根据权利要求1至5任一项所述的方法,其特征在于,所述发送设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
    所述发送设备根据用于发送数据流的路径的第一路径状态信息、以及所述数据流的抗丢包目标值或所述数据流的业务流速中的至少一项确定抗丢包策略,其中,所述抗丢包目标值包括传输所述数据流所允许的丢包率上限。
  7. 根据权利要求1至6任一项所述的方法,其特征在于,所述第一路径状态信息包括时延或丢包率中的至少一项。
  8. 根据权利要求1至7任一项所述的方法,其特征在于,所述抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
  9. 根据权利要求1至8任一项所述的方法,其特征在于,当所述抗丢包策略是前向纠错FEC时,所述抗丢包报文为冗余报文;所述发送设备根据所述抗丢包策略为所述数据流生成抗丢包报文,包括:
    确定FEC的编码方式,所述编码方式包括分组编码或卷积编码;
    根据确定的编码方式对所述原报文进行编码生成冗余报文。
  10. 根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
    所述发送设备向所述接收设备发送抗丢包控制消息,所述抗丢包控制消息包括指示信息,所述指示信息用于指示所述数据流的抗丢包策略。
  11. 根据权利要求1至9任一项所述的方法,其特征在于,所述抗丢包报文包括指示信息,所述指示信息用于指示所述数据流的抗丢包策略。
  12. 根据权利要求10所述的方法,其特征在于,所述指示信息还用于指示所述数据流的 标识,以及用于发送所述数据流的路径的标识。
  13. 根据权利要求11所述的方法,其特征在于,所述指示信息还用于指示用于发送所述数据流的路径的标识。
  14. 根据权利要求11或13所述的方法,其特征在于,所述指示信息携带在所述抗丢包报文的扩展字段中。
  15. 根据权利要求1至14任一项所述的方法,其特征在于,当在两条路径上发送所述数据流时,所述发送设备在所述路径上发送所述数据流,包括:
    在两条路径中时延较长的路径上发送所述原报文;
    在两条路径中时延较短的路径上发送所述抗丢包报文,且发送所述抗丢包报文在发送所述原报文之后,发送所述原报文与发送所述抗丢包报文相隔时间t,t为所述两条路径发送所述数据流的单向时延差。
  16. 一种数据流的传输方法,其特征在于,所述方法包括:
    接收设备接收发送设备发送的数据流的原报文和抗丢包报文,所述抗丢包报文是根据抗丢包策略生成的;
    通过所述抗丢包报文对丢失的原报文进行恢复。
  17. 根据权利要求16所述的方法,其特征在于,所述抗丢包报文包括指示信息,所述指示信息用于指示所述数据流的抗丢包策略,以及用于发送所述数据流的标识。
  18. 一种数据流的传输方法,其特征在于,所述方法包括:
    控制设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;
    所述控制设备向发送设备发送所述抗丢包策略,所述抗丢包策略用于所述发送设备为所述数据流生成抗丢包报文。
  19. 根据权利要求18所述的方法,其特征在于,在所述控制设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略之前,所述方法还包括:
    所述控制设备根据从所述发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送所述数据流的路径。
  20. 根据权利要求18或19所述的方法,其特征在于,所述第二路径状态信息包括丢包率、时延、网络抖动、带宽、时延差中的至少一项。
  21. 根据权利要求18至20任一项所述的方法,其特征在于,当所述用于发送数据流的路径为两条时,用于发送所述数据流的路径的时延差小于时延差阈值。
  22. 根据权利要求18至21任一项所述的方法,其特征在于,所述控制设备根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
    所述控制设备根据用于发送数据流的路径的第一路径状态信息、以及所述数据流的抗丢包目标值或所述数据流的业务流速中的至少一项确定抗丢包策略,其中,所述抗丢包目标值 包括传输所述数据流所允许的丢包率上限。
  23. 根据权利要求18至22任一项所述的方法,其特征在于,所述第一路径状态信息包括时延或丢包率中的至少一项。
  24. 根据权利要求18至23任一项所述的方法,其特征在于,所述抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
  25. 一种数据流的传输装置,其特征在于,所述装置包括:
    确定单元,用于根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;
    生成单元,用于根据所述抗丢包策略为所述数据流生成抗丢包报文;
    发送单元,用于在所述路径上发送所述数据流,所述数据流包括原报文和所述抗丢包报文。
  26. 根据权利要求25所述的装置,其特征在于,
    所述确定单元,还用于从发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送所述数据流的路径。
  27. 根据权利要求26所述的装置,其特征在于,第二路径状态信息包括丢包率、时延、网络抖动、宽带、时延差中的至少一项;当所述用于发送数据流的路径为两条时,用于发送数据流的路径的时延差小于时延差阈值。
  28. 根据权利要求25至27任一项所述的装置,其特征在于,所述确定单元根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
    所述确定单元根据用于发送数据流的路径的第一路径状态信息、以及所述数据流的抗丢包目标值或所述数据流的业务流速中的至少一项确定抗丢包策略,其中,所述抗丢包目标值包括传输所述数据流所允许的丢包率上限。
  29. 根据权利要求25至28任一项所述的装置,其特征在于,所述第一路径状态信息包括时延或丢包率中的至少一项;所述抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
  30. 根据权利要求25至29任一项所述的装置,其特征在于,当所述抗丢包策略是前向纠错FEC时,所述抗丢包报文为冗余报文;所述生成单元根据所述抗丢包策略为所述数据流生成抗丢包报文,包括:
    所述确定单元确定FEC的编码方式,所述编码方式包括分组编码或卷积编码;
    所述生成单元根据确定的编码方式对所述原报文进行编码生成冗余报文。
  31. 根据权利要求25至30任一项所述的装置,其特征在于,所述抗丢包报文包括指示信息,所述指示信息用于指示所述数据流的抗丢包策略,以及用于指示用于发送所述数据流的路径的标识,其中,所述指示信息携带在所述抗丢包报文的扩展字段中。
  32. 根据权利要求25至31任一项所述的装置,其特征在于,当在两条路径上发送所述数据流时,所述发送单元在所述路径上发送所述数据流,包括:
    在两条路径中时延较长的路径上发送所述原报文;
    在两条路径中时延较短的路径上发送所述抗丢包报文,且发送所述抗丢包报文在发送所 述原报文之后,发送所述原报文与发送所述抗丢包报文相隔时间t,t为所述两条路径发送所述数据流的单向时延差。
  33. 一种数据流的传输装置,其特征在于,所述装置包括:
    接收单元,用于接收发送设备发送的数据流的原报文和抗丢包报文,所述抗丢包报文是根据抗丢包策略生成的;
    处理单元,用于通过所述抗丢包报文对丢失的原报文进行恢复。
  34. 根据权利要求33所述的装置,其特征在于,所述抗丢包报文包括指示信息,所述指示信息用于指示所述数据流的抗丢包策略,以及用于指示用于发送所述数据流的路径的标识。
  35. 一种数据流的传输装置,其特征在于,所述装置包括:
    确定单元,用于根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略;
    发送单元,用于向发送设备发送所述抗丢包策略,所述抗丢包策略用于所述发送设备为所述数据流生成抗丢包报文。
  36. 根据权利要求35所述的装置,其特征在于,
    所述确定单元,还用于根据从所述发送设备到接收设备的至少两条路径的第二路径状态信息确定用于发送所述数据流的路径。
  37. 根据权利要求35或36所述的装置,其特征在于,所述第二路径状态信息包括丢包率、时延、网络抖动、带宽、时延差中的至少一项;
    当所述用于发送数据流的路径为两条时,用于发送所述数据流的路径的时延差小于时延差阈值。
  38. 根据权利要求35至37任一项所述的装置,其特征在于,所述确定单元根据用于发送数据流的路径的第一路径状态信息确定抗丢包策略,包括:
    所述确定单元根据用于发送数据流的路径的第一路径状态信息、以及所述数据流的抗丢包目标值或所述数据流的业务流速中的至少一项确定抗丢包策略,其中,所述抗丢包目标值包括传输所述数据流所允许的丢包率上限。
  39. 根据权利要求35至38任一项所述的装置,其特征在于,所述第一路径状态信息包括时延或丢包率中的至少一项;所述抗丢包策略包括自动重传请求ARQ、包复制、前向纠错FEC中的至少一项。
PCT/CN2020/083713 2019-04-08 2020-04-08 一种数据流的传输方法和设备 WO2020207406A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20787431.4A EP3940974B1 (en) 2019-04-08 2020-04-08 Transmission method and device for data stream
KR1020217033181A KR102657709B1 (ko) 2019-04-08 2020-04-08 데이터 스트림에 대한 전송 방법 및 디바이스
JP2021559652A JP7292411B2 (ja) 2019-04-08 2020-04-08 データストリーム伝送方法およびデバイス
US17/489,756 US12010016B2 (en) 2019-04-08 2021-09-29 Data stream transmission method and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910277087.XA CN111800218B (zh) 2019-04-08 2019-04-08 一种数据流的传输方法和设备
CN201910277087.X 2019-04-08

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/489,756 Continuation US12010016B2 (en) 2019-04-08 2021-09-29 Data stream transmission method and device

Publications (1)

Publication Number Publication Date
WO2020207406A1 true WO2020207406A1 (zh) 2020-10-15

Family

ID=72752132

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/083713 WO2020207406A1 (zh) 2019-04-08 2020-04-08 一种数据流的传输方法和设备

Country Status (6)

Country Link
US (1) US12010016B2 (zh)
EP (1) EP3940974B1 (zh)
JP (1) JP7292411B2 (zh)
KR (1) KR102657709B1 (zh)
CN (1) CN111800218B (zh)
WO (1) WO2020207406A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114499747B (zh) * 2020-11-09 2023-06-20 成都鼎桥通信技术有限公司 音视频数据的处理方法、装置、电子设备及存储介质
CN112422241B (zh) * 2020-11-09 2021-11-30 广州博冠信息科技有限公司 数据传输方法、装置、存储介质及计算机设备
US11625081B2 (en) * 2021-03-09 2023-04-11 Charter Communications Operating, Llc Centralized profile-based operational monitoring and control of remote computing devices
US11546239B2 (en) 2021-03-31 2023-01-03 Versa Networks, Inc. Data packet traffic conditioning with packet striping through lossy data paths
US11916674B2 (en) * 2021-03-31 2024-02-27 Versa Networks, Inc. Data packet traffic conditioning through a lossy data path with forward error correction
US11683126B2 (en) * 2021-03-31 2023-06-20 Versa Networks, Inc. Data packet traffic conditioning through multiple lossy data paths with forward error correction
CN115551019A (zh) * 2021-06-30 2022-12-30 华为技术有限公司 数据流的传输方法和传输装置
CN114025389B (zh) * 2021-11-01 2024-04-30 网易(杭州)网络有限公司 数据传输方法、装置、计算机设备及存储介质
US11914599B2 (en) * 2021-11-19 2024-02-27 Hamilton Sundstrand Corporation Machine learning intermittent data dropout mitigation
CN116192767A (zh) * 2021-11-29 2023-05-30 华为技术有限公司 一种丢包管理方法及相关装置
WO2024073144A2 (en) * 2022-09-30 2024-04-04 Comcast Cable Communications, Llc Methods and apparatuses for managing a multipath connection

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039260A (zh) * 2006-03-17 2007-09-19 富士通株式会社 数据传送方法以及应用该方法的通信系统和程序
CN102325009A (zh) * 2011-09-13 2012-01-18 北京邮电大学 一种基于前向纠错的网络编码组播数据流可靠传输方法
US20120131408A1 (en) * 2010-11-22 2012-05-24 Fujitsu Limited Computer readable storage medium storing error correction program and communication apparatus
US20150117468A1 (en) * 2013-10-29 2015-04-30 Samsung Sds Co., Ltd. Apparatus and method for transmitting data
CN107395522A (zh) * 2017-08-25 2017-11-24 深圳市华讯方舟空间信息产业科技有限公司 基于tcp协议的丢包处理方法和计算机可读存储介质
CN107682886A (zh) * 2017-09-01 2018-02-09 北京邮电大学 一种多路径的数据传输方法
CN108075861A (zh) * 2017-09-28 2018-05-25 河北工程大学 软件定义FiWi网络中基于多路径的网络编码传输方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5452908A (en) * 1977-10-05 1979-04-25 Mitsubishi Electric Corp Data transfer device
JPH0723026A (ja) * 1993-07-02 1995-01-24 Nippondenso Co Ltd ディジタル移動通信用誤り制御装置
JP2002064506A (ja) * 2000-08-17 2002-02-28 Ricoh Co Ltd データ転送方式
JP4074268B2 (ja) * 2003-08-22 2008-04-09 日本電信電話株式会社 パケット転送方法及び転送装置
DE112004003036T5 (de) * 2004-12-29 2007-12-27 Intel Corporation, Santa Clara Gemeinsamer Vorwärtsfehlerkorrektur- und automatischer Wiederholanforderungsbetrieb für eine Datenübertragungsschicht
JP4840365B2 (ja) * 2005-11-28 2011-12-21 日本電気株式会社 通信装置、通信システム、通信方法、および、通信プログラム
EP1791285A1 (en) * 2005-11-29 2007-05-30 Alcatel Lucent Hybrid ARQ apparatus and corresponding method, wherein the FEC redundancy is adapted based on the number of retransmissions of a packet
CN101505202B (zh) * 2009-03-16 2011-09-14 华中科技大学 一种流媒体传输自适应纠错方法
CN102790666B (zh) * 2011-05-17 2015-04-08 华为终端有限公司 差错控制的方法、接收端、发送端和系统
CN102438002B (zh) * 2011-08-10 2016-08-03 中山大学深圳研究院 一种基于Ad hoc网络下的视频文件数据传输方法
KR102028948B1 (ko) * 2011-11-08 2019-10-17 삼성전자주식회사 멀티미디어 통신 시스템에서 어플리케이션 계층-순방향 오류 정정 패킷 송/수신 장치 및 방법
CN102638331B (zh) * 2012-03-16 2014-07-09 北京邮电大学 基于随机线性网络编码的无线可靠广播方法
US9973215B1 (en) * 2013-01-28 2018-05-15 EMC IP Holding Company LLC Controlled multipath data packet delivery with forward error correction
US8819520B1 (en) * 2013-02-05 2014-08-26 “Intermind” Societe a Responsabilite Limitee Method and system for forward error correction in packetized networks
CN105075162A (zh) * 2013-02-20 2015-11-18 三菱电机株式会社 无线装置
US9572198B1 (en) * 2013-03-07 2017-02-14 Sprint Spectrum L.P. Inter-technology diversity in wireless communications
CN105517028B (zh) * 2014-10-17 2020-03-24 电信科学技术研究院 一种触发和配置传输路径的方法及设备
KR20160091118A (ko) * 2015-01-23 2016-08-02 한국전자통신연구원 멀티 호밍 기반의 네트워크를 통한 패킷 전송 장치 및 방법
JP6529299B2 (ja) * 2015-03-20 2019-06-12 キヤノン株式会社 送信装置、受信装置、方法及びプログラム
CN105610635B (zh) * 2016-02-29 2018-12-07 腾讯科技(深圳)有限公司 语音编码发送方法和装置
CN108075859A (zh) * 2016-11-17 2018-05-25 中国移动通信有限公司研究院 数据传输方法及装置
US20190215385A1 (en) * 2018-01-10 2019-07-11 Nexvortex, Inc. Packet Replication Over Dynamically Managed Bonded Tunnels

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039260A (zh) * 2006-03-17 2007-09-19 富士通株式会社 数据传送方法以及应用该方法的通信系统和程序
US20120131408A1 (en) * 2010-11-22 2012-05-24 Fujitsu Limited Computer readable storage medium storing error correction program and communication apparatus
CN102325009A (zh) * 2011-09-13 2012-01-18 北京邮电大学 一种基于前向纠错的网络编码组播数据流可靠传输方法
US20150117468A1 (en) * 2013-10-29 2015-04-30 Samsung Sds Co., Ltd. Apparatus and method for transmitting data
CN107395522A (zh) * 2017-08-25 2017-11-24 深圳市华讯方舟空间信息产业科技有限公司 基于tcp协议的丢包处理方法和计算机可读存储介质
CN107682886A (zh) * 2017-09-01 2018-02-09 北京邮电大学 一种多路径的数据传输方法
CN108075861A (zh) * 2017-09-28 2018-05-25 河北工程大学 软件定义FiWi网络中基于多路径的网络编码传输方法

Also Published As

Publication number Publication date
JP2022528172A (ja) 2022-06-08
EP3940974B1 (en) 2023-12-13
CN111800218B (zh) 2022-04-22
US12010016B2 (en) 2024-06-11
US20220021612A1 (en) 2022-01-20
CN111800218A (zh) 2020-10-20
KR20210134787A (ko) 2021-11-10
EP3940974A1 (en) 2022-01-19
JP7292411B2 (ja) 2023-06-16
KR102657709B1 (ko) 2024-04-15
EP3940974A4 (en) 2022-05-04

Similar Documents

Publication Publication Date Title
WO2020207406A1 (zh) 一种数据流的传输方法和设备
Wu et al. Content-aware concurrent multipath transfer for high-definition video streaming over heterogeneous wireless networks
JP4454320B2 (ja) 伝送装置、伝送制御プログラム、及び伝送方法
US9537611B2 (en) Method and apparatus for improving the performance of TCP and other network protocols in a communications network using proxy servers
Wu et al. Bandwidth-efficient multipath transport protocol for quality-guaranteed real-time video over heterogeneous wireless networks
Wu et al. Delay-constrained high definition video transmission in heterogeneous wireless networks with multi-homed terminals
CN106341738B (zh) 流媒体网络传输的带宽计算方法、服务器端和系统
WO2022247550A1 (zh) 数据重传处理方法、装置、计算机设备和存储介质
Wu et al. Energy-minimized multipath video transport to mobile devices in heterogeneous wireless networks
US7254765B2 (en) Method and devices for error tolerant data transmission, wherein retransmission of erroneous data is performed up to the point where the remaining number of errors is acceptable
CN100592670C (zh) 一种在iptv网络中动态自适应前向差错控制的系统及方法
Wu et al. Improving multipath video transmission with raptor codes in heterogeneous wireless networks
KR101446026B1 (ko) 손실성 매체들용 재전송 스킴
US20080225735A1 (en) Reducing effects of packet loss in video transmissions
US9525874B2 (en) Transmitting apparatus and transmission method
US9344218B1 (en) Error resilience for interactive real-time multimedia applications
WO2009054822A1 (en) Method and apparatus for adaptive forward error correction with merged automatic repeat request for reliable multicast in wireless local area networks
JP2008522545A (ja) 適応型前方誤り訂正
Wu et al. Streaming high-definition real-time video to mobile devices with partially reliable transfer
Wu et al. Trading delay for distortion in one-way video communication over the internet
Afzal et al. A holistic survey of wireless multipath video streaming
Wu et al. TCP-oriented raptor coding for high-frame-rate video transmission over wireless networks
JP2010028378A (ja) 通信装置及び通信方法
CN116318545A (zh) 视频数据传输方法、装置、设备及存储介质
Tsai et al. Dynamical combination of byte level and sub-packet level FEC in HARQ mechanism to reduce error recovery overhead on video streaming over wireless networks

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021559652

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20217033181

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020787431

Country of ref document: EP

Effective date: 20211013