WO2020220160A1 - 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统 - Google Patents

基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统 Download PDF

Info

Publication number
WO2020220160A1
WO2020220160A1 PCT/CN2019/084761 CN2019084761W WO2020220160A1 WO 2020220160 A1 WO2020220160 A1 WO 2020220160A1 CN 2019084761 W CN2019084761 W CN 2019084761W WO 2020220160 A1 WO2020220160 A1 WO 2020220160A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
sub
transmission
packet
channel
Prior art date
Application number
PCT/CN2019/084761
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 PCT/CN2019/084761 priority Critical patent/WO2020220160A1/zh
Publication of WO2020220160A1 publication Critical patent/WO2020220160A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path

Definitions

  • the invention belongs to the field of network transmission communication, and relates to a transmission method and system for carrying large data volume services, and in particular to a transmission method and system for carrying large data volume services based on concurrent bundling of multiple data channels.
  • Concurrently bundled transmission of multiple data channels means that users use multiple network interfaces of the terminal to simultaneously access the network, and multiple transmission paths are established between the two communicating parties to transmit data in parallel.
  • Using multiple data channels for concurrent bundled transmission can make full use of multiple network resources, avoid single point effects, enhance network reliability, and at the same time increase end-to-end data transmission rate and network bandwidth resource utilization.
  • Multipath transmission currently cannot efficiently utilize network resources, cannot effectively reduce transmission delay and jitter, and even in some cases cannot reach the performance level of single data channel transmission.
  • the present invention provides a method that can make full use of network resource bandwidth, reduce transmission delay and jitter, improve transmission stability and fluency, and have more convenient, safer, and more convenient network communication.
  • a more stable and smoother transmission experience is based on a transmission method and system for concurrently bundling and carrying large data volume services based on multiple data channels.
  • a transmission method based on multiple data channels concurrently bundling and carrying large data volume services including a sending process from an application layer to a transmission layer, characterized in that: the sending process includes the following steps:
  • the sub-data packet is called from the sub-data packet pool obtained in step 1) for transmission in the data channel.
  • the specific implementation of the packet cutting process in the above step 1) is: according to the optimal packet cutting size of the test configuration, the main data packet received from the application layer is divided, and the corresponding data packet is added to each divided data packet.
  • the header of the sub-data packet forms a sub-data packet, and a sequence number subordinate to the corresponding main data packet is added to the sub-data packet header;
  • the specific implementation of the redundancy processing in the step 1) is: according to the optimal redundancy coefficient of the test configuration, perform redundant encoding on the sub-data packets obtained after packet cutting processing, and then aggregate the encoded sub-data packets into Sub-packet pool.
  • the dynamic evaluation function will detect the change value of each parameter in a set small fragment time window, and give the transmission capacity value of the data channel in this small fragment time window; the time window is continuously moving forward with time Moving, as the time window moves, the larger the value in the dynamic evaluation function, the greater the transmission capacity of the channel;
  • the specific implementation of the scheduling in step 2) is: take the sub-data packet from the sub-data packet pool obtained in step 1), and give each data channel the value obtained according to the dynamic evaluation function of each data channel. Distribute the appropriate flow rate.
  • the above-mentioned transmission method based on multiple data channels concurrently bundling and carrying large data volume services further includes a receiving process from the physical layer to the application layer, and the receiving process includes the following steps:
  • step 2) Perform packet processing on the data received in step 1) to obtain the main data packet pool;
  • step 3 The main data packet obtained in step 2) is delivered to the application layer of the receiving end.
  • step 2) of the above receiving process is:
  • Decode all sub-data packets successfully transmitted by the data channel analyze the header of the sub-data packet, and determine which sub-data packets can form the same main data packet according to whether the sequence numbers of the sub-master packets carried in the sub-data packet header are the same. For data packets, these sub-data packets are removed to form a main data packet after the header is removed; all the main data packets formed by reorganizing all sub-data packets successfully transmitted by the data channel are aggregated to form a main data packet pool.
  • a transmission system based on multiple data channels concurrently bundling and carrying large data volume services characterized in that: the transmission system based on multiple data channels concurrently bundling and bearing large data volume services includes a data processing module, a channel scheduling module and a transmission protocol Module;
  • the data processing module is responsible for packet cutting, redundancy processing, and packet processing of the main data packet to prepare for the data actually transmitted by multiple data channels;
  • the channel scheduling module is responsible for evaluating the transmission of each data channel Ability to manage the flow of each data channel and schedule all data channels;
  • the transmission protocol module is responsible for the actual transmission process of data packets in the network.
  • the aforementioned data processing module includes a packet cutting processing module, a redundancy processing module, and a packet group processing module;
  • the packet cutting processing module configures the optimal packet cutting size through testing, and reasonably splits the main data packet received from the application layer. Each divided data packet adds the corresponding header to form a sub-data packet, and then The sub-data packet header adds the sequence number subordinate to the corresponding main data packet to facilitate subsequent grouping; all sub-data packets form a sub-data packet pool, waiting for the channel scheduling module to schedule and send;
  • the redundancy processing module performs redundancy coding on the sub-data packets formed after each main data packet is cut by testing the optimal redundancy coefficient
  • the packet processing module decodes the sub-data packets successfully transmitted on all channels, analyzes the packet header, and determines which sub-data packets can form the same sub-data packet according to whether the sequence numbers of the sub-data packets carried in the sub-data packet header are the same For the main data packet, these sub-data packets are removed from the header and then reassembled into the main data packet; all the main data packets formed by reorganizing the sub-data packets successfully transmitted by all channels are put into the packet pool and waiting for the application layer to obtain them.
  • the aforementioned channel scheduling module includes a channel capability evaluation module and a traffic management module;
  • the channel capability evaluation module fits the dynamic evaluation function for evaluating the transmission capability of the channel by measuring the signal strength strength, peak speed speed, round trip delay rtt, jitter, and bandwidth bw parameters of each channel.
  • the evaluation function will detect the change value of each parameter in a set small fragment time window, and give the transmission capacity value of the data channel in this small fragment time window; the time window is constantly moving forward with time, As the time window moves, the larger the value in the dynamic evaluation function, the greater the transmission capacity of the channel, the larger the traffic that should be allocated, and the amount of traffic that should be allocated is the value returned by the evaluation function.
  • the above-mentioned traffic management module includes a traffic distribution module and a traffic aggregation module;
  • the traffic distribution is based on the evaluation of the data channel capacity, the processed data packets are taken out from the data processing module, and the corresponding traffic is allocated to each channel according to the value obtained by the evaluation function of each channel, so as to make full and reasonable use of multiple Channel network resources to ensure the maximum throughput and minimum round-trip delay and jitter during the concurrent bundled transmission of multiple data channels;
  • the traffic aggregation module When the traffic aggregation module receives data from multiple data channels, it aggregates all the data in time and delivers it to the data processing module for packet processing, so as to deliver it to the application layer of the receiving end in time to ensure real-time transmission.
  • the specific function of the above-mentioned transmission protocol module is between the application layer and the transmission layer.
  • the application layer data is processed by the data processing module, and the data is allocated to each channel according to the scheduling method of the channel scheduling module, and waiting for the transmission layer transmission ;
  • Data successfully transmitted through the transmission layer in the receiving process is processed by the channel scheduling module and the data processing module, and waits for the application layer to obtain it.
  • the present invention proposes a transmission method and system based on the concurrent bundling of multiple data channels to carry large data volume services.
  • the present invention processes the data to be transmitted to determine the signal strength, peak speed, delay, jitter, and jitter of a single channel.
  • Channel attributes such as bandwidth are measured and extracted, and fitted into a new type of path quality evaluation function.
  • the present invention no longer relies on a single channel with limited bandwidth and low stability, or uses multiple data channels to transmit data in a manner that has unreasonable bandwidth utilization and poor transmission effect.
  • the invention maximizes the use of the available bandwidth of multiple data channels to reduce transmission delay and jitter, and increase data throughput.
  • the transmission method is applied to real-time services such as audio and video, and can effectively improve the smoothness of transmission and enhance user experience.
  • Figure 1 is a data processing flow chart of the present invention
  • Figure 2 is an organization chart of the data processing module in the present invention.
  • Figure 3 is an organization structure diagram of the channel scheduling module in the present invention.
  • Figure 4 is an organization chart of the dynamic evaluation of channel scheduling in the present invention.
  • Figure 5 is an organization structure diagram of the network communication transmission protocol in the present invention.
  • Figure 6 is a general flow chart of the present invention.
  • the present invention proposes a transmission method and system based on the concurrent bundling of multiple data channels to carry large data volume services, which can transmit data (including but not limited to video, audio, and audio files with large data volume) on the network. File, etc.), maximize the use of bandwidth resources of multiple data channels, minimize transmission delay and jitter, and make network transmission data more stable and smooth.
  • the transmission method and system based on the concurrent bundling of multiple data channels and carrying large data volume services provided by the present invention is composed of three parts: a data processing module, a channel scheduling module and a transmission protocol module.
  • the data processing module is responsible for processing data packets such as packet cutting, redundancy, and grouping to prepare for the actual data transmitted by multiple channels.
  • the channel scheduling module is responsible for evaluating the transmission capacity of each channel, managing the flow of each channel, and scheduling all channels; the transmission protocol module is responsible for the actual transmission process of data packets in the network.
  • the data processing module is composed of three parts: packet cutting processing module, redundant processing module and packet processing module.
  • the packet-cutting processing module configures the optimal packet-cutting size (such as 750byte) through the test, and reasonably divides the data (main data packet) received from the application layer. Each divided data packet adds the corresponding header to form a sub Data packet, and add the sequence number subordinate to the corresponding main data packet in the sub-data packet header to facilitate subsequent grouping. All sub-data packets form a sub-data packet pool, waiting for the channel scheduling module to schedule transmission.
  • the optimal packet-cutting size such as 750byte
  • the packet cut processing module solves the problem that when the application layer data packet enters the transport layer, the packet is cut by the transport layer, resulting in failure to reassemble or reorganize the main data packet when one of the sub-data packets of the cut main data packet is lost, wasting bandwidth and increasing the reception Waiting time delay and other issues.
  • the redundancy processing module configures the optimal redundancy coefficient through testing, and performs redundancy coding on the sub-data packets formed after each main data packet is cut through a redundancy algorithm (essentially a linear transformation). For example, there are 5 sub-data packets of main data packet 1, and the redundancy coefficient is 2 (obtained through testing), then the number of sub-data packets of main data packet 1 after encoding is the number of atomic data packets 5 and the redundancy coefficient 2.
  • the product is 10, including 5 original sub-data packets and 5 redundant packets.
  • the 5 redundant packets obtained by encoding are not simple copies of atomic data packets, but a linear combination of atomic data packets.
  • more or less sub-data packets of the main data packet 1 can be sent at the sending end, but the premise is that more than 5 data packets must be sent.
  • the receiving end receives any 5 of the sub-data packets of the main data packet, it can perform redundant decoding (essentially an inverse linear transformation) to obtain 5 original sub-data packets, thereby reconstructing the main data packet 1.
  • This method can effectively avoid the problem of time-sensitive real-time data loss leading to retransmission and rapid degradation of user experience.
  • the packet processing module decodes the sub-data packets successfully transmitted by all channels, analyzes the header, and determines which sub-data packets can form the same main data packet according to whether the sequence numbers of the sub-packet headers are the same. , After removing these sub-data packets from the header, they are reconstituted into the main data packet. Put all the main data packets formed by reorganizing the sub-data packets successfully transmitted by all channels into the packet pool and wait for the application layer to obtain them.
  • the channel scheduling module is composed of two parts: the channel capability evaluation module and the flow management module.
  • the channel capability evaluation module measures the signal strength (strength), peak speed (speed), round trip delay (rtt), jitter (jitter), bandwidth (bw) and other parameters of each channel to fit the evaluation channel transmission Dynamic evaluation function of ability:
  • the dynamic evaluation function will detect the change value of each parameter in a set small fragment time window, and give the transmission capacity value of the channel in this small fragment time window.
  • the time window is constantly moving forward with time. As the time window moves, the parameters of the dynamic evaluation function will also be updated with the change of the channel, so that the dynamic evaluation function can reflect the true transmission capacity of the channel in time. The larger the value of the channel evaluation function, the greater the transmission capacity of the channel, the greater the traffic that should be allocated, and the amount of traffic that should be allocated is the value returned by the evaluation function.
  • the flow management module includes flow distribution and flow aggregation.
  • Traffic distribution is based on the channel capability evaluation.
  • the processed data packets are taken from the data processing module, and the value obtained according to the evaluation function of each channel is added to the corresponding gain coefficient (the best coefficient obtained through the test).
  • Each channel is allocated an appropriate flow rate. Make full and reasonable use of the network resources of multiple channels to ensure that the throughput is maximized while the round-trip delay and jitter are minimized during the concurrent bundled transmission of multiple data channels.
  • Traffic aggregation means that when data from multiple data channels is received, all the data is aggregated and delivered to the data processing module for packet processing, so that it can be delivered to the application layer of the receiving end in time to ensure real-time transmission.
  • data is transmitted in different network levels.
  • data starts from the upper layer (application layer) and reaches the bottom layer (physical layer) layer by layer.
  • each layer must add the protocol of this layer to the data, and finally transmit it through the physical layer;
  • data from the bottom layer (physical layer) to the upper layer (application layer) layer by layer in this process, each layer needs to remove the protocol of this layer for the data.
  • the transmission method of the present invention specifically functions between the application layer and the transmission layer.
  • the data of the application layer is processed by the data processing module during the sending process, and the data is allocated to each channel according to the scheduling method of the channel scheduling module, and the transmission layer is waited for transmission.
  • the data successfully transmitted through the transmission layer in the receiving process is processed by the channel scheduling module and the data processing module, and waits for the application layer to obtain it.
  • data When data is transmitted to the transport layer in the network, it must be transmitted through the transport layer protocol.
  • Different protocols have different transmission strategies. The use of different protocols will bring different transmission effects (for example, protocol A is in bad network conditions. In this case, the transmission fluency is better than protocol B, but when the network condition is good, the transmission fluency of protocol A is inferior to protocol B).
  • the transport layer protocol is fixed to one type.
  • the transmission protocol module mentioned in the present invention refers to a method of using configuration on the transmission layer protocol, which can switch the transmission layer protocol at any time, so as to achieve the effect of maximizing the smooth transmission in different scenarios and increase the user experience.
  • TCP is stable and reliable
  • UDP is simple and fast
  • KCP is suitable for long-distance and long delays.
  • the coordinated use of transmission protocols according to different needs and different scenarios is bound to be of great benefit to the improvement of real-time performance.
  • the transmission protocol module of the present invention adopts a method of pre-setting protocol configuration, and can switch between three different protocol modes of TCP, UDP and KCP. Different transmission protocols have different strategies, including congestion control strategies, and different strategies will determine the transmission performance of the transmission protocol.
  • the present invention also adds the congestion control mechanism of the BBR algorithm. If you choose to transmit data in KCP mode, you can also choose a different congestion control mechanism (by default, it is the congestion control of the BBR algorithm). It has a variety of protocols to selectively adapt to different needs of users and enhance user experience.

Abstract

本发明属于网络传输通信领域,涉及一种基于多个数据通道并发捆绑承载大数据量业务的传输方法,包括从应用层向传输层的发送过程,其特征在于:所述发送过程包括以下步骤:1)从应用层接收主数据包,并对主数据包进行切包处理及冗余处理,形成子数据包,子数据包汇总最终形成子数据包池;2)分别评价每个数据通道的传输能力,根据数据通道的传输能力调度所有数据通道;3)根据应用层与传输层之间的传输协议,从步骤1)中得到的子数据包池中调取子数据包在数据通道中进行传输。本发明可充分利用网络资源带宽、降低传输时延和抖动、提高传输稳定度和流畅度以及在网络通信时拥有更便捷、更安全、更稳定、更流畅传输体验。

Description

基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统 技术领域
本发明属于网络传输通信领域,涉及一种承载大数据量业务的传输方法及系统,尤其涉及一种基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统。
背景技术
近年来,接入技术发展迅猛,很多终端都具备了多个通信的接口,异构网络的覆盖越来越大,通信接口的可选择性提高。互联网流量己经呈现爆发式增长,越来越多的业务都表现出对于高带宽的巨大需求,如高清视频流媒体业务(大数据量业务)。在这样的情况之下,传统使用的单一路径传输方法可能无法满足业务的高带宽需求,不能利用异构网络覆盖的优势;另外运营商在面对巨大网络流量时也会考虑将流量进行多路径分拆,以降低运营和设备维护的成本。因此,同时采用多条路径进行网络业务的传输,必将成为一种趋势。
多个数据通道并发捆绑传输是指用户利用终端的多个网络接口同时接入到网络中,在通信双方之间建立多条传输路径并行传输数据。采用多个数据通道并发捆绑传输可充分利用多种网络资源,避免单点效应,增强网络可靠性,同时还能提高端到端的数据传输速率和网络带宽资源利用率。
目前多个数据通道并发捆绑传输还存在很多问题,主要涉及到路径差异性所带来的传输吞吐量不高、带宽利用不合理、路径参数抽样釆集不确定性大等向题,这些问题导致多路径传输目前还不能高效地利用网络资源,不能有效的降低传输时延和抖动,甚至在某些情况下还达不到单一数据通道传输的性能水平。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种可充分利用网络资源带宽、降低传输时延和抖动、提高传输稳定度和流畅度以及在网络通信时拥有更便捷、更安全、更稳定、更流畅传输体验的基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统。
为了实现上述目的,本发明采用如下技术方案:
一种基于多个数据通道并发捆绑承载大数据量业务的传输方法,包括从应用层向传输层的发送过程,其特征在于:所述发送过程包括以下步骤:
1)从应用层接收主数据包,并对主数据包进行切包处理及冗余处理,形成子数据包,子数据包汇总最终形成子数据包池;
2)分别评价每个数据通道的传输能力,根据数据通道的传输能力调度所有数据通道;
3)根据应用层与传输层之间的传输协议,从步骤1)中得到的子数据包池中调取子数据包在数据通道中进行传输。
上述步骤1)中切包处理的具体实现方式是:根据测试配置最佳的切包大小对从应用层接收到的主数据包进行切分,同时在每个切分后的数据包加上对应的包头形成子数据包,并在子数据包包头中加入从属于对应主数据包的序号;
所述步骤1)中冗余处理的具体实现方式是:根据测试配置最佳的冗余系数,对经过切包处理后得到的子数据包进行冗余编码,将编码后的子数据包汇总形成子数据包池。
上述步骤2)中的评价的具体实现方式是:
对每个数据通道的信号强度strength、峰值速度speed、往返时延rtt、抖动jitter以及带宽bw参数进行测量,拟合出评价数据通道传输能力的动态评价函数,所述动态评价函数的具体表达式是:
Figure PCTCN2019084761-appb-000001
其中
Figure PCTCN2019084761-appb-000002
分别表示信号强度、峰值速度、往返时延和抖动、带宽对通道传输能力的影响因子,对于任意正整数i,有
Figure PCTCN2019084761-appb-000003
Figure PCTCN2019084761-appb-000004
所述动态评价函数会在设定的一个小片段时间窗口内进行探测各参数的变化值,给出这一小片段时间窗口内该数据通道的传输能力值;该时间窗口是随时间向前不断移动的,随着时间窗口的移动,动态评价函数中的值越大,表示该通道的传输能力越大;
所述步骤2)中的调度的具体实现方式是:从步骤1)所得到的子数据包池中取出子数据包,依照每个数据通道的动态评价函数得出来的数值,给每个数据通道分配相适应地流量。
上述基于多个数据通道并发捆绑承载大数据量业务的传输方法还包括从物理层到应用层的接收过程,所述接收过程包括以下步骤:
1)汇聚所有从多个数据通道接收子数据包;
2)对步骤1)接收得到的数据进行组包处理,得到主数据包池;
3)将步骤2)得到的主数据包交给接收端的应用层。
上述接收过程的步骤2)的具体实现方式是:
对所有数据通道传输成功的子数据包进行解码,对子数据包的包头进行分析,根据子数据包包头中携带的从属主包的序号是否一样,判断出哪些是能组成同一主数据包的子数据包,将这些子数据包去包头后重组成主数据包;把所有数据通道传输成功的子数据包进行重组形成的所有主数据包汇集,形成主数据包池。
一种基于多个数据通道并发捆绑承载大数据量业务的传输系统,其特征在于:所述基于多个数据通道并发捆绑承载大数据量业务的传输系统包括数据处理模块、通道调度模块以及传输协议模块;所述数据处理模块负责对主数据包进行切包处理、冗余处理以及组包处理,为多个数据通道实际传输的数据做准备;所述通道调度模块负责评价每个数据通道的传输能力,管理每个数据通道的流量,调度所有数据通道;所述传输协议模块负责数据包在网络中实际的传输过程。
上述数据处理模块包括切包处理模块、冗余处理模块以及组包处理模块;
所述切包处理模块通过测试配置最佳的切包大小,对从应用层接收的主数据包进行合理切分,每个切分后的数据包加上对应的包头形成子数据包,并在子数据包包头中加入从属于对应主数据包的序号,便于之后的组包;所有子数据包形成一个子数据包池,等待通道调度模块来调度发送;
所述冗余处理模块通过测试配置最佳的冗余系数,对每个主数据包被切后形成的子数据包进行冗余编码;
所述组包处理模块通过对所有通道传输成功的子数据包进行解码,对包头进行分析,根据子数据包包头中携带的从属于主包的序号是否相同,判断出哪些子数据包能组成同一主数据包,将这些子数据包去包头后重组成主数据包;把所有通道传输成功的子数据包进行重组形成的所有主数据包放进包池,等待应用层来获取。
上述通道调度模块包括通道能力评估模块以及流量管理模块;
所述通道能力评估模块通过对每个通道的信号强度strength、峰值速度speed、往返时延rtt、抖动jitter以及带宽bw参数的测量,拟合出了评价通道传输能力的动态评价函数,所述动态评价函数会在设定的一个小片段时间窗口内进行探测各参数的变化值,给出这一小片段时间窗口内该数据通道的传输能力值;该时间窗口是随时间向前不断移动的,随着时间窗口的移动,动态评价函数中的值越大,表示该通道的传输能力越大,应该被分到的流量越大而且应该被分配到的流量大小就是评价函数返回的数值。
上述流量管理模块包括流量分配模块以及流量聚合模块;
所述流量分配是基于数据通道能力评估,从数据处理模块中取出已经处理过的数据包,依照每个通道的评价函数得出来的数值给每个通道分配相适应地流量,充分合理利用多个通道的网络资源,保证在多个数据通道并发捆绑传输过程中吞吐量最大的同时往返时延以及抖动最小;
所述流量聚合模块是在接收到多个数据通道数据时,及时将所有数据进行汇聚交给数据 处理模块进行组包处理,以便及时交给接收端的应用层,保证传输的实时性。
上述传输协议模块的具体作用是在应用层到传输层之间,发送过程中应用层的数据经过数据处理模块的处理,根据通道调度模块的调度方法将数据分配到每个通道,等待传输层传输;接收过程中经过传输层传输成功的数据,经过通道调度模块调度和数据处理模块的处理,等待应用层来获取。
本发明的优点是:
本发明提出一种基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统,本发明通过对需要传输的数据进行处理加工,对单个通道的信号强度、峰值速度、时延、抖动、带宽等通道属性进行测量和提取,拟合成了一种新型的路径质量评价函数。应用本发明的数据处理方法,同时结合路径质量评价函数的调度以及多种传输协议的配合,在多个数据通道并发捆绑传输大数据量业务数据时,充分利用了网络资源带宽,降低了传输时延和抖动,提高了传输稳定度和流畅度,使用户在网络通信时拥有更便捷安全稳定流畅的传输体验。本发明不再依靠单个通道有限带宽稳定性低的方式,或者用多个数据通道传输出现带宽利用不合理、传输效果较差的方式传输数据。本发明最大化利用多个数据通道的可用带宽降低传输时延和抖动,增加数据吞吐量。该传输方法应用于音、视频等实时业务中,能够有效提高传输的流畅度并增强用户使用体验。
附图说明
图1为本发明的数据处理流程图;
图2为本发明中数据处理模块的组织结构图;
图3为本发明中通道调度模块的组织结构图;
图4为本发明中通道调度动态评价的组织结构图;
图5为本发明中网络通信传输协议的组织结构图;
图6为本发明的总流程图。
具体实施方式
参照图1至图6,本发明提出了一种基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统,在网络传输数据(包括但不限于具有大数据量性质的视频、音频、文件等)时,最大化利用多个数据通道的带宽资源,最小化传输时延、抖动,使网络传输数据更加稳定流畅。
本发明所提供的基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统由数据处理模块、通道调度模块和传输协议模块三部分组成。其中:数据处理模块负责对数据包进 行切包、冗余、组包等处理,为多个通道实际传输的数据做准备。通道调度模块负责评价每个通道的传输能力,管理每个通道的流量,调度所有通道;传输协议模块负责数据包在网络中实际的传输过程。
数据处理模块由切包处理模块、冗余处理模块和组包处理模块三部分组成。
切包处理模块通过测试配置最佳的切包大小(比如750byte),对从应用层接收的数据(主数据包)进行合理切分,每个切分后的数据包加上对应的包头形成子数据包,并在子数据包包头中加入从属于对应主数据包的序号,便于之后的组包。所有子数据包形成一个子数据包池,等待通道调度模块来调度发送。切包处理模块解决了应用层数据包进入传输层时,被传输层切包,导致当被切主数据包的其中一个子数据包丢失时出现无法重组或重组主数据包浪费带宽以及增加了接收端的等待时延等问题。
冗余处理模块通过测试配置最佳的冗余系数,对每个主数据包被切后形成的子数据包通过冗余算法(本质上是一种线性变换)进行冗余编码。比如主数据包1的子数据包有5个,冗余系数为2(通过测试取得),则编码后主数据包1的子数据包个数为原子数据包个数5与冗余系数2的乘积即10个,其中包括5个原本的子数据包和5个冗余包,编码得到的5个冗余包并不是原子数据包的简单复制,而是原子数据包的一种线性组合。根据通道的总传输能力强或弱可以在发送端发送主数据包1多或少的子数据包,但前提是必须发送多于5个数据包。接收端接收到该主数据包的子数据包中任意5个时都可以进行冗余解码(本质上是逆线性变换)得到5个原本的子数据包,从而重组成主数据包1。通过该方法可以有效避免时间敏感的实时数据丢失导致重传而使用户体验迅速下降的问题。
组包处理模块通过对所有通道传输成功的子数据包进行解码,对包头进行分析,根据子包包头中携带的从属于主包的序号是否相同,判断出哪些子数据包能组成同一主数据包,将这些子数据包去包头后重组成主数据包。把所有通道传输成功的子数据包进行重组形成的所有主数据包放进包池,等待应用层来获取。
通道调度模块由通道能力评估模块和流量管理模块两部分组成。通道能力评估模块通过对每个通道的信号强度(strength)、峰值速度(speed)、往返时延(rtt)、抖动(jitter)、带宽(bw)等参数的测量,拟合出了评价通道传输能力的动态评价函数:
Figure PCTCN2019084761-appb-000005
其中
Figure PCTCN2019084761-appb-000006
分别表示信号强度、峰值速度、往返时延和抖动、带宽对通道传输能力的影响因子,对于任意正整数i,有
Figure PCTCN2019084761-appb-000007
Figure PCTCN2019084761-appb-000008
通过测试取
Figure PCTCN2019084761-appb-000009
Figure PCTCN2019084761-appb-000010
动态评价函数会在设定的一个小片段时间窗口内进行探测各参数的变化值,给出这一小片段时间窗口内该通道的传输能力值。时间窗口是随时间向前不断移动的,随着时间窗口的移动,动态评价函数各参数也会随着通道的变化进行更新,以此动态评价函数能够及时的反应通道的真实传输能力。通道评价函数的值越大,表示该通道的传输能力越大,应该被分到的流量越大而且应该被分配到的流量大小就是评价函数返回的数值。
流量管理模块包括流量分配和流量聚合。流量分配是基于通道能力评估,从数据处理模块中取出已经处理过的数据包,依照每个通道的评价函数得出来的数值,同时加上相对应的增益系数(通过测试得到最佳系数)给每个通道分配相适应地流量。充分合理利用多个通道的网络资源,保证在多个数据通道并发捆绑传输过程中吞吐量最大的同时往返时延以及抖动最小。流量聚合是指在接收到多个数据通道数据时,及时将所有数据进行汇聚交给数据处理模块进行组包处理,以便及时交给接收端的应用层,保证传输的实时性。
在网络通信过程中,数据在不同的网络层次中传输。在发送过程中,数据从高层(应用层)出发向下逐层到达底层(物理层),在此过程中,各层都要为数据增加本层的协议,最终通过物理层传输出去;在接收的过程中,数据从底层(物理层)向上逐层到达高层(应用层),在此过程中,各层需要为数据去掉本层的协议。本发明的传输方法具体作用在应用层到传输层之间,发送过程中应用层的数据经过数据处理模块的处理,根据通道调度模块的调度方法将数据分配到每个通道,等待传输层传输。接收过程中经过传输层传输成功的数据,经过通道调度模块调度和数据处理模块的处理,等待应用层来获取。当数据在网络中传输到传输层时,要通过传输层协议进行传输,而不同的协议在传输策略上不同,采用不同协议会带来不同的传输效果(比如,协议A在网络状况不好的情况下传输流畅度要比用协议B好,但在网络状况好时协议A传输流畅度逊于协议B)。传统的数据传输过程中,传输层协议固定为一种。本发明中所提及的传输协议模块是指在传输层协议上采用配置的方法,可以随时切换传输层的协议,以达到在不同场景下最大化保持传输流畅的效果,增加了用户体验。
因此要使终端产品实时性更高,不仅要有好的数据处理和通道调度策略,对于真正发包时的底层协议也很重要,TCP稳定可靠、UDP简单快速、KCP适合远距离长时延等,根据不同需求不同场景协调运用好传输协议势必会对实时性的提高大有裨益。本发明的传输协议模块采用预先设置协议配置的方法,可以在TCP、UDP、KCP三种不同的协议模式之间相互切换。不同传输协议有着不同的策略,其中包括拥塞控制策略,而不同的策略会决定传输协议的传输性能,因此除了KCP协议原本的拥塞控制机制,本发明另外加入了BBR算法的拥塞控制机制,用户如果选择在KCP模式下进行数据传输,还可以选择不同的拥塞控制机制(默 认情况下是BBR算法的拥塞控制)。具有多种协议的选择性适应用户的不同需求,增强了用户体验。

Claims (10)

  1. 一种基于多个数据通道并发捆绑承载大数据量业务的传输方法,包括从应用层向传输层的发送过程,其特征在于:所述发送过程包括以下步骤:
    1)从应用层接收主数据包,并对主数据包进行切包处理及冗余处理,形成子数据包,子数据包汇总最终形成子数据包池;
    2)分别评价每个数据通道的传输能力,根据数据通道的传输能力调度所有数据通道;
    3)根据应用层与传输层之间的传输协议,从步骤1)中得到的子数据包池中调取子数据包在数据通道中进行传输。
  2. 根据权利要求1所述的基于多个数据通道并发捆绑承载大数据量业务的传输方法,其特征在于:所述步骤1)中切包处理的具体实现方式是:根据测试配置最佳的切包大小对从应用层接收到的主数据包进行切分,同时在每个切分后的数据包加上对应的包头形成子数据包,并在子数据包包头中加入从属于对应主数据包的序号;
    所述步骤1)中冗余处理的具体实现方式是:根据测试配置最佳的冗余系数,对经过切包处理后得到的子数据包进行冗余编码,将编码后的子数据包汇总形成子数据包池。
  3. 根据权利要求2所述的基于多个数据通道并发捆绑承载大数据量业务的传输方法,其特征在于:所述步骤2)中的评价的具体实现方式是:
    对每个数据通道的信号强度strength、峰值速度speed、往返时延rtt、抖动jitter以及带宽bw参数进行测量,拟合出评价数据通道传输能力的动态评价函数,所述动态评价函数的具体表达式是:
    Figure PCTCN2019084761-appb-100001
    其中θ 1、θ 2、θ 3、θ 4分别表示信号强度、峰值速度、往返时延和抖动、带宽对通道传输能力的影响因子,对于任意正整数i,有0<θ i<1且
    Figure PCTCN2019084761-appb-100002
    所述动态评价函数会在设定的一个小片段时间窗口内进行探测各参数的变化值,给出这一小片段时间窗口内该数据通道的传输能力值;该时间窗口是随时间向前不断移动的,随着时间窗口的移动,动态评价函数中的值越大,表示该通道的传输能力越大;
    所述步骤2)中的调度的具体实现方式是:从步骤1)所得到的子数据包池中取出子数据包,依照每个通道的评价函数得出来的数值给每个通道分配相适应地流量。
  4. 根据权利要求1或2或3所述的基于多个数据通道并发捆绑承载大数据量业务的传输方法,其特征在于:所述基于多个数据通道并发捆绑承载大数据量业务的传输方法还包括从物理层到应用层的接收过程,所述接收过程包括以下步骤:
    1)汇聚所有从多个数据通道接收子数据包;
    2)对步骤1)接收得到的数据进行组包处理,得到主数据包池;
    3)将步骤2)得到的主数据包交给接收端的应用层。
  5. 根据权利要求4所述的基于多个数据通道并发捆绑承载大数据量业务的传输方法,其特征在于:所述接收过程的步骤2)的具体实现方式是:
    对所有数据通道传输成功的子数据包进行解码,对子数据包的包头进行分析,根据子数据包包头中携带的从属于主包的序号是否相同,判断出哪些子数据包能组成同一主数据包,将这些子数据包去包头后重组成主数据包;把所有数据通道传输成功的子数据包进行重组形成的所有主数据包汇集,形成主数据包池。
  6. 一种基于多个数据通道并发捆绑承载大数据量业务的传输系统,其特征在于:所述基于多个数据通道并发捆绑承载大数据量业务的传输系统包括数据处理模块、通道调度模块以及传输协议模块;所述数据处理模块负责对主数据包进行切包处理、冗余处理以及组包处理,为多个数据通道实际传输的数据做准备;所述通道调度模块负责评价每个数据通道的传输能力,管理每个数据通道的流量,调度所有数据通道;所述传输协议模块负责数据包在网络中实际的传输过程。
  7. 根据权利要求6所述的基于多个数据通道并发捆绑承载大数据量业务的传输系统,其特征在于:所述数据处理模块包括切包处理模块、冗余处理模块以及组包处理模块;
    所述切包处理模块通过测试配置最佳的切包大小,对从应用层接收的主数据包进行合理切分,每个切分后的数据包加上对应的包头形成子数据包,并在子数据包包头中加入从属于对应主数据包的序号,便于之后的组包;所有子数据包形成一个子数据包池,等待通道调度模块来调度发送;
    所述冗余处理模块通过测试配置最佳的冗余系数,对每个主数据包被切后形成的子数据包进行冗余编码;
    所述组包处理模块通过对所有通道传输成功的子数据包进行解码,对包头进行分析,根据子数据包包头中携带的从属于主包的序号是否相同,判断出哪些子数据包能组成同一主数据包,将这些子数据包去包头后重组成主数据包;把所有通道传输成功的子数据包进行重组形成的所有主数据包放进包池,等待应用层来获取。
  8. 根据权利要求7所述的基于多个数据通道并发捆绑承载大数据量业务的传输系统,其特征在于:所述通道调度模块包括通道能力评估模块以及流量管理模块;
    所述通道能力评估模块通过对每个通道的信号强度strength、峰值速度speed、往返时延rtt、 抖动jitter以及带宽bw参数的测量,拟合出了评价通道传输能力的动态评价函数,所述动态评价函数会在设定的一个小片段时间窗口内进行探测各参数的变化值,给出这一小片段时间窗口内该数据通道的传输能力值;该时间窗口是随时间向前不断移动的,随着时间窗口的移动,动态评价函数中的值越大,表示该通道的传输能力越大,应该被分到的流量越大而且应该被分配到的流量大小就是评价函数返回的数值。
  9. 根据权利要求8所述的基于多个数据通道并发捆绑承载大数据量业务的传输系统,其特征在于:所述流量管理模块包括流量分配模块以及流量聚合模块;
    所述流量分配是基于数据通道能力评估,从数据处理模块中取出已经处理过的数据包,依照每个通道的评价函数得出来的数值给每个通道分配相适应地流量,充分合理利用多个通道的网络资源,保证在多个数据通道并发捆绑传输过程中吞吐量最大的同时往返时延以及抖动最小;
    所述流量聚合模块是在接收到多个数据通道数据时,及时将所有数据进行汇聚交给数据处理模块进行组包处理,以便及时交给接收端的应用层,保证传输的实时性。
  10. 根据权利要求9所述的基于多个数据通道并发捆绑承载大数据量业务的传输系统,其特征在于:所述传输协议模块的具体作用是在应用层到传输层之间,发送过程中应用层的数据经过数据处理模块的处理,根据通道调度模块的调度方法将数据分配到每个通道,等待传输层传输;接收过程中经过传输层传输成功的数据,经过通道调度模块调度和数据处理模块的处理,等待应用层来获取。
PCT/CN2019/084761 2019-04-28 2019-04-28 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统 WO2020220160A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/084761 WO2020220160A1 (zh) 2019-04-28 2019-04-28 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/084761 WO2020220160A1 (zh) 2019-04-28 2019-04-28 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统

Publications (1)

Publication Number Publication Date
WO2020220160A1 true WO2020220160A1 (zh) 2020-11-05

Family

ID=73029253

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/084761 WO2020220160A1 (zh) 2019-04-28 2019-04-28 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统

Country Status (1)

Country Link
WO (1) WO2020220160A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050027840A1 (en) * 2003-07-30 2005-02-03 Theobold David M. Wireless network self-adaptive load balancer
CN1805445A (zh) * 2006-01-12 2006-07-19 北京邮电大学 一种用于移动流媒体传输的无缝切换的方法
CN101668005A (zh) * 2009-09-25 2010-03-10 东南大学 一种基于发送端多接入通道的数据传输加速引擎方法
CN102098301A (zh) * 2011-01-06 2011-06-15 复旦大学 多链路自适应的数据传输方法与系统
CN103607358A (zh) * 2013-11-29 2014-02-26 哈尔滨工业大学深圳研究生院 基于链路利用率平均和的动态ecmp方法及系统
CN107634908A (zh) * 2016-07-19 2018-01-26 华为技术有限公司 一种数据传输的方法和设备
CN110113142A (zh) * 2019-04-28 2019-08-09 天通畅达(深圳)科技有限公司 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050027840A1 (en) * 2003-07-30 2005-02-03 Theobold David M. Wireless network self-adaptive load balancer
CN1805445A (zh) * 2006-01-12 2006-07-19 北京邮电大学 一种用于移动流媒体传输的无缝切换的方法
CN101668005A (zh) * 2009-09-25 2010-03-10 东南大学 一种基于发送端多接入通道的数据传输加速引擎方法
CN102098301A (zh) * 2011-01-06 2011-06-15 复旦大学 多链路自适应的数据传输方法与系统
CN103607358A (zh) * 2013-11-29 2014-02-26 哈尔滨工业大学深圳研究生院 基于链路利用率平均和的动态ecmp方法及系统
CN107634908A (zh) * 2016-07-19 2018-01-26 华为技术有限公司 一种数据传输的方法和设备
CN110113142A (zh) * 2019-04-28 2019-08-09 天通畅达(深圳)科技有限公司 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAI-BO CHEN, SUN YONG-JIE,YU ZAI-XIANG: "Design and Implementation of A Multi-channel Parallel Enhanced Direct Memory Access Controller", COMPUTER ENGINEERING & SCIENCE, vol. 34, no. 1, 15 January 2012 (2012-01-15), pages 74 - 78, XP055749301, ISSN: 1007-130X, DOI: 10.3969/j.issn.1007-130X.2012.01.013 *

Similar Documents

Publication Publication Date Title
Xu et al. CMT-NC: improving the concurrent multipath transfer performance using network coding in wireless networks
Matsuzono et al. Low latency low loss streaming using in-network coding and caching
CN101909208B (zh) 一种适用于cdma2000的视频无线传输控制方法
CN103346963A (zh) 一种基于预测到达时间的mptcp数据调度方法
CN106656856B (zh) 一种抵抗mptcp接收缓冲区阻塞的数据包调度方法
US20050201353A1 (en) Optimized radio bearer configuration for voice over IP
CN110049353B (zh) 用于在广播系统中传输多媒体数据的装置及方法
WO2008125029A1 (fr) Procédé, système et dispositif permettant de contrôler le débit de codage du flux multimédia
US20130182601A1 (en) System and Method for Aggregating and Estimating the Bandwidth of Multiple Network Interfaces
CN101174995B (zh) 一种多媒体服务性能监测的方法和系统
KR20060115216A (ko) 멀티미디어 스트리밍 송신 장치 및 방법
CN101584188B (zh) 在复合与非复合rtcp分组之间划分rtcp带宽
Bhat et al. Improving QoE of ABR streaming sessions through QUIC retransmissions
WO2019109949A1 (zh) 一种数据传输的方法及设备
Arsan Review of bandwidth estimation tools and application to bandwidth adaptive video streaming
US20110083156A1 (en) Network streaming of a video stream over multiple communication channels
CN110113142A (zh) 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统
Mushtaq et al. Smooth video delivery for SVC based media streaming over P2P networks
Wu et al. Robust bandwidth aggregation for real-time video delivery in integrated heterogeneous wireless networks
Yahia et al. When HTTP/2 rescues DASH: Video frame multiplexing
CN113783942A (zh) 基于优先分级队列的mpquic数据包快速传输方法和系统
WO2020220160A1 (zh) 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统
Saldana et al. Improving network efficiency with Simplemux
CN108924063B (zh) 一种时延约束感知的最小化端到端时延的流量分配方法
Cao et al. CMT-CC: Cross-layer cognitive CMT for efficient multimedia distribution over multi-homed 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: 19927003

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19927003

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 21/03/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19927003

Country of ref document: EP

Kind code of ref document: A1