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

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

Info

Publication number
CN111800218B
CN111800218B CN201910277087.XA CN201910277087A CN111800218B CN 111800218 B CN111800218 B CN 111800218B CN 201910277087 A CN201910277087 A CN 201910277087A CN 111800218 B CN111800218 B CN 111800218B
Authority
CN
China
Prior art keywords
packet
packet loss
loss
path
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910277087.XA
Other languages
English (en)
Other versions
CN111800218A (zh
Inventor
周军
乔乃强
卜琪
陈庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910277087.XA priority Critical patent/CN111800218B/zh
Priority to KR1020217033181A priority patent/KR102657709B1/ko
Priority to JP2021559652A priority patent/JP7292411B2/ja
Priority to PCT/CN2020/083713 priority patent/WO2020207406A1/zh
Priority to EP20787431.4A priority patent/EP3940974B1/en
Publication of CN111800218A publication Critical patent/CN111800218A/zh
Priority to US17/489,756 priority patent/US20220021612A1/en
Application granted granted Critical
Publication of CN111800218B publication Critical patent/CN111800218B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/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
    • 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/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]

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 premiseequipment,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所示,发送设备先确定至少两条路径中每条路径的丢包率是否满足预设的丢包率阈值Lossthreshold,当满足丢包率阈值的路径是1条时,发送设备执行单路径数据流传输,即在这条路径上发送数据流;当满足丢包率阈值的路径大于1条时,发送设备再进一步确定路径的时延是否满足预设的时延阈值Delaythreshold,当满足时延阈值的路径是1条时,发送设备在这条路径上发送数据流;当满足时延阈值的路径大于1条时,发送设备再进一步确定路径的网络抖动是否满足预设的网络抖动阈值Jitterthreshold,当满足网络抖动阈值的路径是1条时,发送设备在该条路径上发送数据流;当满足网络抖动阈值的路径大于1条时,发送设备可以再进一步根据路径的可用带宽确定最终用于发送数据流的路径,比如发送设备确定路径的带宽是否满足预设的带宽阈值Bandthreshold,当满足带宽阈值的路径是1条时,发送设备在该条路径上发送数据流。
在一个实施例中,当满足带宽阈值的路径大于1条,且执行单路径发送数据流时,发送设备可确定可用带宽最大的路径作为发送数据流的路径。
在一个实施例中,当满足带宽阈值的路径大于1条时,发送设备可确定可用带宽中相对较大带宽的两条或多条路径作为发送数据流的路径。
在一个实施例中,如图10所示,当满足带宽阈值的路径大于1条时,发送设备可进一步在满足带宽阈值的路径中,确定任意两条路径的时延差是否满足预设的时延差阈值Delta_delaythreshold,当满足带宽阈值的路径中两条路径的时延差满足时延差阈值时,发送设备确定使用这两条路径发送数据流。
在一个实施例中,当满足带宽阈值的路径中有多对两条路径的时延差满足时延差阈值时,发送设备确定使用时延差最小的两条路径发送数据流。
在一个实施例中,发送设备确定两条路径的时延差小于预设时延差阈值的两条路径发送数据流,即当用于发送数据流的路径是两条时,两条路径的时延差小于预设时延差阈值。
需要说明的是,在本申请实施例中,发送设备可以根据路径的时延、网络抖动、可用带宽、时延差中的至少一项,以及路径的丢包率,按照不同的判断顺序确定发送数据流的路径,在本申请实施例中对此不作限制。
在一个实施例中,当最终确定用于发送数据流的路径是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。其中,
t1是1号报文到达路由器1的本地时间。
t1′是1号报文到达路由器2的本地时间。
t1sA是指该1号报文(如原始报文)在A路径上发送时,路由器1上的本地时间。
t1rA是指该1号报文(如原始报文)在A路径上发送时,到达路由器2时,路由器2上的本地时间。
t1sB是指该1号报文(如抗丢包报文)在B路径上发送时,路由器1上的本地时间。
t1rB是指该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号报文的时间间隔。
TA是在路径A上,该1号报文或2号报文从路由器1到路由器2的传输时间。
TB是在路径B上,该1号报文或2号报文从路由器1到路由器2的传输时间。
t2是2号报文到达路由器1的本地时间。
T2′是2号报文到达路由器2的本地时间。
t2sA是指该2号报文(如原始报文)在A路径上发送时,路由器1上的本地时间。
t2rA是指该2号报文(如原始报文)在A路径上发送时,到达路由器2时,路由器2上的本地时间。
t2sB是指该2号报文(如抗丢包报文)在B路径上发送时,路由器1上的本地时间。
t2rB是指该2号报文(如抗丢包报文)在B路径上发送时,到达路由器2时,路由器2上的本地时间。
那么,
t1sA=t1A
t1sB=t1B
t1rA=t1A+TA=t1′-ΔclockA+TA
t1rB=t1B+TB=t1clockB+TB
因此1号报文通过A路径和通过B路径到达路由器的时间差Δpath为:
t1rB-t1rA=(t1′-ΔclockB+TB)-(t1′-ΔclockA+TA)
=(ΔBA)+(TB-TA)
=(ΔBA)+(Δpath)
当ΔB=ΔA,Δpath=t1rB-t1rA
进一步,最大抖动J=max(abs{(t2rx-t2)-(t1ry-t1)}),其中x,y∈{A,B,C,…},其中,t2rx是2号报文在x路径上发送时,到达路由器2时,路由器2上的本地时间;t1ry是1号报文在y路径上发送时,到达路由器2时,路由器2上的本地时间。
将t1ry=t1+ΔA+TA和t2rx=t2B+TB代入J=max(abs{(t2rx-t2)-(t1ry-t1)})中得到最大抖动:
J=max(abs{T2x-T1y2x1y})
其中,T2x表示2号报文在路径x上的传输时间,T1y表示1号报文在路径y上的传输时间。其中x,y是某一条路径,如x为B路径,y为A路径。Δ2x为2号报文在路径x上发送前的等待时间。Δ1y为1号报文在路径y上发送之前的等待时间。
在一个实施例中,路由器1不作时延控制,当收到报文时,立刻从A路径和B路径发出,即ΔB=ΔA=0,因此J=max(abs{T2x-T1y}。在这种情况下,路由器2需要固定大小缓存来抗抖动。
在一个实施例中,路由器1在发送报文之前预测J,当预测J大于预设阈值时,路由器1采用单路径发送报文。
在一个实施例中,路由器1做时延控制,要求原报文和抗丢包报文同时到达路由器2,即Δ1x+T1x=Δ1y+T1y。,因此J=max(abs{T2x}-max{T1y}。
在路由器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 (35)

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

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201910277087.XA CN111800218B (zh) 2019-04-08 2019-04-08 一种数据流的传输方法和设备
KR1020217033181A KR102657709B1 (ko) 2019-04-08 2020-04-08 데이터 스트림에 대한 전송 방법 및 디바이스
JP2021559652A JP7292411B2 (ja) 2019-04-08 2020-04-08 データストリーム伝送方法およびデバイス
PCT/CN2020/083713 WO2020207406A1 (zh) 2019-04-08 2020-04-08 一种数据流的传输方法和设备
EP20787431.4A EP3940974B1 (en) 2019-04-08 2020-04-08 Transmission method and device for data stream
US17/489,756 US20220021612A1 (en) 2019-04-08 2021-09-29 Data stream transmission method and device

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN111800218A CN111800218A (zh) 2020-10-20
CN111800218B true CN111800218B (zh) 2022-04-22

Family

ID=72752132

Family Applications (1)

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

Country Status (5)

Country Link
US (1) US20220021612A1 (zh)
EP (1) EP3940974B1 (zh)
JP (1) JP7292411B2 (zh)
CN (1) CN111800218B (zh)
WO (1) WO2020207406A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422241B (zh) * 2020-11-09 2021-11-30 广州博冠信息科技有限公司 数据传输方法、装置、存储介质及计算机设备
CN114499747B (zh) * 2020-11-09 2023-06-20 成都鼎桥通信技术有限公司 音视频数据的处理方法、装置、电子设备及存储介质
US11625081B2 (en) * 2021-03-09 2023-04-11 Charter Communications Operating, Llc Centralized profile-based operational monitoring and control of remote computing devices
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
US11546239B2 (en) 2021-03-31 2023-01-03 Versa Networks, Inc. Data packet traffic conditioning with packet striping through lossy data paths
CN115551019A (zh) * 2021-06-30 2022-12-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 华为技术有限公司 一种丢包管理方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505202A (zh) * 2009-03-16 2009-08-12 华中科技大学 一种流媒体传输自适应纠错方法
CN102438002A (zh) * 2011-08-10 2012-05-02 中山大学深圳研究院 一种基于Ad hoc网络下的视频文件数据传输方法
CN102638331A (zh) * 2012-03-16 2012-08-15 北京邮电大学 基于随机线性网络编码的无线可靠广播方法
CN102790666A (zh) * 2011-05-17 2012-11-21 华为终端有限公司 差错控制的方法、接收端、发送端和系统
CN108075859A (zh) * 2016-11-17 2018-05-25 中国移动通信有限公司研究院 数据传输方法及装置

Family Cites Families (24)

* 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 日本電信電話株式会社 パケット転送方法及び転送装置
CN101091347B (zh) * 2004-12-29 2013-09-18 英特尔公司 前向纠错和自动重复请求联合操作的方法和装置
WO2007061087A1 (ja) * 2005-11-28 2007-05-31 Nec Corporation 通信装置、通信システム、通信方法、および、通信プログラム
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
JP4808054B2 (ja) * 2006-03-17 2011-11-02 富士通株式会社 データ転送方法及び,これを適用する通信システム及びプログラム
JP5682253B2 (ja) * 2010-11-22 2015-03-11 富士通株式会社 プログラムおよび通信装置
CN102325009A (zh) * 2011-09-13 2012-01-18 北京邮电大学 一种基于前向纠错的网络编码组播数据流可靠传输方法
KR102028948B1 (ko) * 2011-11-08 2019-10-17 삼성전자주식회사 멀티미디어 통신 시스템에서 어플리케이션 계층-순방향 오류 정정 패킷 송/수신 장치 및 방법
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
US20150381314A1 (en) * 2013-02-20 2015-12-31 Mitsubishi Electric Corporation Wireless device
US9572198B1 (en) * 2013-03-07 2017-02-14 Sprint Spectrum L.P. Inter-technology diversity in wireless communications
KR20150049052A (ko) * 2013-10-29 2015-05-08 삼성에스디에스 주식회사 데이터 전송 장치 및 방법
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 腾讯科技(深圳)有限公司 语音编码发送方法和装置
CN107395522B (zh) * 2017-08-25 2018-10-12 深圳市华讯方舟空间信息产业科技有限公司 基于tcp协议的丢包处理方法和计算机可读存储介质
CN107682886B (zh) * 2017-09-01 2019-12-20 北京邮电大学 一种多路径的数据传输方法
CN108075861B (zh) * 2017-09-28 2020-09-22 河北工程大学 软件定义FiWi网络中基于多路径的网络编码传输方法
US20190215385A1 (en) * 2018-01-10 2019-07-11 Nexvortex, Inc. Packet Replication Over Dynamically Managed Bonded Tunnels

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505202A (zh) * 2009-03-16 2009-08-12 华中科技大学 一种流媒体传输自适应纠错方法
CN102790666A (zh) * 2011-05-17 2012-11-21 华为终端有限公司 差错控制的方法、接收端、发送端和系统
CN102438002A (zh) * 2011-08-10 2012-05-02 中山大学深圳研究院 一种基于Ad hoc网络下的视频文件数据传输方法
CN102638331A (zh) * 2012-03-16 2012-08-15 北京邮电大学 基于随机线性网络编码的无线可靠广播方法
CN108075859A (zh) * 2016-11-17 2018-05-25 中国移动通信有限公司研究院 数据传输方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EXPECTED RUN-TIME DISTORTION BASED SCHEDULING FOR SCALABLE VIDEO;Tong Gan;《ICASSP 2007》;20070604;全文 *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN111800218B (zh) 一种数据流的传输方法和设备
Wu et al. Content-aware concurrent multipath transfer for high-definition video streaming over heterogeneous wireless networks
Wu et al. Enabling adaptive high-frame-rate video streaming in mobile cloud gaming applications
JP4454320B2 (ja) 伝送装置、伝送制御プログラム、及び伝送方法
Nguyen et al. Distributed video streaming with forward error correction
Shan Cross-layer techniques for adaptive video streaming over wireless networks
KR101242663B1 (ko) 패킷 송신 장치, 통신 시스템 및 컴퓨터 판독가능한 기록매체
JP4405875B2 (ja) エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
JP4173755B2 (ja) データ伝送サーバ
US20060029065A1 (en) System and method for low-latency content-sensitive forward error correction
Kwon et al. MPMTP: Multipath multimedia transport protocol using systematic raptor codes over wireless networks
US20150236819A1 (en) Method &amp; apparatus for improving the performance of tcp and other network protocols in a communications network using proxy servers
JP5191826B2 (ja) ストリーム通信装置、ストリーム通信方法及びストリーム通信システム
KR20100070361A (ko) 무선 근거리 네트워크들에서의 신뢰 가능한 멀티캐스트를 위해 병합된 자동 반복 요청으로 적응 순방향 에러 정정을 하기 위한 방법 및 장치
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
KR20150045346A (ko) 이동 통신 시스템에서 멀티미디어 데이터 송수신 방법 및 장치
JP2010119133A (ja) パケット送信装置、通信システム及びプログラム
JP5018776B2 (ja) 通信装置および方法
Wu et al. TRADER: A reliable transmission scheme to video conferencing applications over the internet
Wu et al. Delivering high-frame-rate video to mobile devices in heterogeneous wireless networks
KR102657709B1 (ko) 데이터 스트림에 대한 전송 방법 및 디바이스
Wu et al. Adaptive QoS control for MPEG-4 video communication over wireless channels
JP2007013575A (ja) 映像通信課金サービスのシステムおよび方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant