CN108696449B - 一种数据调度方法及装置 - Google Patents
一种数据调度方法及装置 Download PDFInfo
- Publication number
- CN108696449B CN108696449B CN201810437834.7A CN201810437834A CN108696449B CN 108696449 B CN108696449 B CN 108696449B CN 201810437834 A CN201810437834 A CN 201810437834A CN 108696449 B CN108696449 B CN 108696449B
- Authority
- CN
- China
- Prior art keywords
- transmission path
- data
- transmission
- trip delay
- round
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000005540 biological transmission Effects 0.000 claims abstract description 495
- 238000004891 communication Methods 0.000 claims abstract description 28
- 238000009499 grossing Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及通信技术领域,尤其涉及一种数据调度方法及装置,用以解决现有技术中多路径传输的数据调度方案存在的传输路径选择不合理以及网络拥塞问题。本申请包括:比较多传输路径中每条传输路径的往返时延,从中选择往返时延最小的传输路径作为第一传输路径传输数据,并在第一传输路径的使用次数达到最大允许使用次数时,基于多传输路径中拥塞因子最小的传输路径作为第二传输路径传输数据,其中,最大允许使用次数为不大于通信网络当前的往返时延比值的最大整数。从而,提升多传输路径通信网络中的吞吐量,避免传输路径发送链路拥塞。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据调度方法及装置。
背景技术
随着互联网的蓬勃发展,愈来愈多的网络终端配备多个网络终端接口,例如,WIFI、LTE、3G、蓝牙接口,拥有此种网络终端的用户希望能够利用多个网络接口同时接入互联网。为了解决这些问题,多路径并行传输技术的研究应运而生。
多路径并行传输可以满足不同用户对带宽日益增长的需求,提升吞吐量。为此IETF工作组在2009年提出了多路传输控制协议(MultiPathTCP,MPTCP),MPTCP旨在向下兼容TCP协议的情况下,提供安全可靠、高鲁棒性的并行数据传输,对应用层的套件字仍然是传统TCP套接字,应用程序可以在不做任何修改的情况下使用MPTCP。MPTCP从根本上改变了数据的调度和传输方式,通过同时建立多条传输路径,有效提升网络的传输能力和稳定性,具有非常重要的意义。
目前MPTCP默认采用的数据调度算法是Round-Robin轮询调度算法,该算法按顺序遍历所有路径,依次将数据发送到各条路径上,当一条路径的可用窗口发送满后,就选择下一条路径发送。该算法在路径差异不大的场景下有较好的效果,但现实中互联网是一个复杂的网络,路径之间的带宽、RTT、丢包率等因素都不相同,当各条路径间的RTT差异较大,特别当RTT较大的路径存在丢包超时情况时,将在接收端产生大量乱序包,会造成严重的接收缓存阻塞,严重影响到多路径传输的性能。
发明内容
本申请实施例提供一种数据调度方法及装置,用以解决现有技术中多路径传输的数据调度方案存在的网络拥塞问题。
为了解决上述技术问题,本申请实施例采用下述技术方案:
第一方面,本发明实施例提供了一种数据调度方法,应用于多路径传输的通信网络中,所述方法包括:
确定至少两条传输路径中每条传输路径的往返时延,以及基于当前传输状态下通信网络的往返时延比值;其中,所述往返时延比值为往返时延最大的传输路径对应的往返时延与往返时延最小的传输路径对应的往返时延的比值;
确定第一传输路径为当前数据的传输路径,其中,所述第一传输路径为所述至少两条传输路径中往返时延最小的传输路径;
基于所述第一传输路径传输数据,并记录基于所述第一传输路径传输数据的使用次数;
当第一传输路径的使用次数达到最大允许使用次数时,确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在第二传输路径上传输数据,其中,所述最大允许使用次数为不大于往返时延比值的最大整数。
第二方面,本发明实施例提供一种数据调度装置,应用于多路径传输的通信网络中,所述装置包括:
第一确定模块,用于确定至少两条传输路径中每条传输路径的往返时延,以及基于当前传输状态下通信网络的往返时延比值;其中,所述往返时延比值为往返时延最大的传输路径对应的往返时延与往返时延最小的传输路径对应的往返时延的比值;
第二确定模块,用于确定第一传输路径为当前数据的传输路径,其中,所述第一传输路径为所述至少两条传输路径中往返时延最小的传输路径;
传输模块,用于基于所述第一传输路径传输数据,并记录基于所述第一传输路径传输数据的使用次数;
切换模块,用于当第一传输路径的使用次数达到最大允许使用次数时,确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在第二传输路径上传输数据,其中,所述最大允许使用次数为不大于往返时延比值的最大整数。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在本申请中,通过比较多传输路径中每条传输路径的往返时延,从中选择往返时延最小的传输路径作为第一传输路径传输数据,并在第一传输路径的使用次数达到最大允许使用次数时,基于多传输路径中拥塞因子最小的传输路径作为第二传输路径传输数据。从而,提升多传输路径通信网络中的吞吐量,避免传输路径发送链路拥塞。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中数据调度方法的步骤示意图之一;
图2为本申请实施例中数据调度方法的步骤示意图之二;
图3为本申请实施例中步骤14的具体步骤示意图;
图4为本申请实施例中数据调度方法的步骤示意图之三;
图5a为本申请实施例中数据调度装置的结构示意图之一;
图5b为本申请实施例中数据调度装置的结构示意图之二。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
传统的传输控制协议(Transmission Control Protocol,TCP)/网际协议(Internet Protocol,IP)协议只允许终端一次通过一个接口获取服务,虽然终端连上互联网,但却不能够并行地使用多条路径进行传输,造成了资源的极大浪费。MPTCP从根本上改变了数据的调度和传输方式,通过同时建立多条传输路径,将数据的传输方式由传统的单路径变成了多路径,有效地提升了网络的传输能力和稳定性,具有非常重要的意义。MPTCP是在TCP基础上拓展而来的,因而MPTCP继承了很多TCP的思想。比如,MPTCP的子流(各个传输路径)可以视为一个普通的TCP连接。而TCP连接的吞吐量throughput理论满足如下公式:
其中,Round-trip timeRTT是TCP连接的双向传输时延(即本申请所涉及的往返时延),而P是丢包率。在丢包率相同的情况下,子流间的吞吐量大小与RTT成反比。因此,在丢包率都较小的情况下,MPTCP中的数据调度也应满足以RTT比例进行传输。
目前MPTCP默认采用的数据调度算法是Round-Robin算法,该机制顺序的遍历所有传输路径,依次将数据发送到各条子流上,该算法在路径差异不大的场景下有较好的效果。但现实中互联网是一个复杂的网络,路径之间的带宽、RTT、丢包率等因素都不相同,当子流间的RTT差异较大,特别当RTT较大的子流发送丢包超时,将在接收端产生大量乱序包,会造成严重的接收缓存阻塞,严重影响到MPTCP的性能。因此,本方案提出了一种结合时延与拥塞的多路径动态数据调度方法,根据往返时间RTT作为传输路径的重要参数,将两条传输路径(最大往返时延和最小往返时延)的RTT进行比较,得到往返时延比值作为数据传输的调度依据,并在此基础上考虑传输路径的拥塞程度,避免对某一条传输路径过度依赖,有效根据拥塞程度进行数据传输调度以避免拥塞,极大提高传输吞吐量。
参照图1所示,为本申请实施例提供的一种数据调度方法的步骤示意图,该数据调度方案应用于多路径传输的通信网络中,主要包括以下步骤:
步骤11:确定至少两条传输路径中每条传输路径的往返时延,以及基于当前传输状态下通信网络的往返时延比值;其中,所述往返时延比值为往返时延最大的传输路径对应的往返时延与往返时延最小的传输路径对应的往返时延的比值。
应理解,在多路径传输的通信网络中,可以存在两条或是两条以上的传输路径用于传输数据,每条传输路径都对应有各自的往返时延。通过确定每条传输路径的往返时延,从中选择往返时延最大的传输路径对应的往返时延和往返时延最小的传输路径对应的往返时延,并将往返时延最大的传输路径对应的往返时延与往返时延最小的传输路径对应的往返时延的比值作为当前传输状态下通信网络的往返时延比值。
以存在两条传输路径为例,其中传输路径1的往返时延为RTT1,传输路径2的往返时延为RTT2,如果RTT1>RTT2,则当前传输状态下通信网络的往返时延比值RTT_Ratio为RTT1/RTT2;如果RTT1<RTT2,则当前传输状态下通信网络的往返时延比值RTT_Ratio为RTT2/RTT1。
步骤12:确定第一传输路径为当前数据的传输路径,其中,所述第一传输路径为所述至少两条传输路径中往返时延最小的传输路径。
步骤13:基于所述第一传输路径传输数据,并记录基于所述第一传输路径传输数据的使用次数。
在实际的数据传输过程中,考虑到往返时延与吞吐量呈负相关(即反比),相应地,往返时延大的传输路径的吞吐量较小,这就表示该传输路径的数据传输并不理想;而往返时延小的传输路径的吞吐量较大,则该传输路径的数据传输较为通畅。因此,可将往返时延最小的传输路径确定为当前数据的传输路径,并基于确定的该传输路径传输数据。
同时,记录基于确定的该传输路径传输数据的使用次数,具体实现时,可在每次使用该传输路径传输数据后,记录使用次数。举例说明,在确定第一传输路径为当前数据的传输路径后,在该第一传输路径上传输数据,记录使用次数为1次,然后,再次在该第一传输路径上传输数据,更新记录的使用次数为2次。
应理解,在步骤13中所涉及的基于第一传输路径传输数据的使用次数是指连续使用同一个第一传输路径传输数据的次数,并不包含:使用1次该第一传输路径,然后使用N次其它传输路径,之后再次使用该第一传输路径的方案。其中,N为任意正整数。
步骤14:当第一传输路径的使用次数达到最大允许使用次数时,确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在第二传输路径上传输数据,其中,所述最大允许使用次数为不大于往返时延比值的最大整数。
在实际的数据传输过程中,应当优选基于往返时延最小的传输路径传输数据,但是,该往返时延最小的传输路径仅是传输数据的速度较快,其也是有一定的传输数据饱和度的,若一直在该往返时延最小的传输路径上传输数据,则可能导致该往返时延最小的传输路径的链路拥塞。
为了避免过分依赖往返时延最小的传输路径而导致链路拥塞,在基于第一传输路径传输数据时,可在每使用该第一传输路径一次后,判断记录的使用次数是否达到最大允许使用次数,若达到,则确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在该第二传输路径上传输数据。
举例说明,若往返时延比值为3.5,则最大允许使用次数为3。当第一传输路径的使用次数达到3次时,才基于拥塞因子最小的第二传输路径传输数据。
在本申请中,通过比较多传输路径中每条传输路径的往返时延,从中选择往返时延最小的传输路径作为第一传输路径传输数据,并在第一传输路径的使用次数达到最大允许使用次数时,基于多传输路径中拥塞因子最小的传输路径作为第二传输路径传输数据。从而,提升多传输路径通信网络中的吞吐量,避免传输路径发送链路拥塞。
可选地,在本申请中,该数据调度方案并不是仅针对当前的数据传输状态,还可以一直反复循环在多传输路径通信网络中,参照图2所示,基于上述图1中的步骤,该数据调度方案还包括:
步骤15:当第二传输路径的使用次数达到预设次数,将第一传输路径和第二传输路径的使用次数重置为零。
之后,从该步骤15跳转至步骤11,循环执行步骤11-步骤14。
其中,所涉及到的第三传输路径、第四传输路径仅是为了区分每次循环所确定的传输路径可能不同,并不是表示其它含义。因此,在这里第三传输路径的含义与第一传输路径的含义相同,均是指在每次使用次数置零后确定的往返时延最小的传输路径;第四传输路径的含义与第二传输路径的含义相同,均是指在每次使用次数置零后确定的拥塞因子最小的传输路径。
可选地,在本申请中,所述预设次数为1。即在使用第二传输路径1次后,将第一传输路径和第二传输路径的使用次数重置为零,并跳转循环执行步骤11-步骤14。
可选地,在本申请中,步骤11中确定至少两条传输路径中每条传输路径的往返时延的步骤,可具体执行为:
针对每条传输路径,确定接收数据时的接收数据时间,以及从所述数据中获取发送数据时间;
基于所述接收数据时间和所述发送数据时间,确定每条传输路径的往返时延。
应理解,在传输的数据中,可以携带有发送该数据时的发送数据时间。进而,在接收到数据时,可以确定接收时的接收数据时间,并从该数据中获取发送该数据时的发送数据时间。从而,可以根据接收数据时间和发送数据时间之间的时间差,确定每条传输路径的往返时延。
可选地,在本申请方案中,步骤11中基于所述接收数据时间和所述发送数据时间,确定每条传输路径的往返时延的步骤,可具体执行为:
第一步,基于传输路径中第N+1次传输数据的接收数据时间和发送数据时间,确定第N+1次传输数据的第一往返时延。
第二步,根据所述第一往返时延和该传输路径中前N次传输数据的第二往返时延,确定所述传输路径的往返时延。
其中,所述第二往返时延为该传输路径中前N次传输数据的平均往返时延,所述N为整数。
应理解,在上述第一步可采用接收数据时间和发送数据时间之间作差得到时间差的方式,确定第一往返时延;而第二步中的第二往返时延可以根据之前计算的前N次传输数据所确定的平均往返时延确定,具体地,第1次-第N次的往返时延进行加权平均后得到的平均往返时延。其实,本申请并不限于采用加权平均方式,还可以采用其他平均方式,例如:移动平均方式或是算术平均方式。
具体地,第二步中根据所述第一往返时延和所述第二往返时延确定所述传输路径的往返时延的步骤,可具体执行为:采用以下公式(1)确定所述传输路径的往返时延;
RTTN+1=(1-α)*RTTN+α*RTTACK (1)
其中,所述RTTN+1为传输路径中第N+1次传输数据的往返时延,所述RTTN为传输路径中前N次传输数据的第二往返时延,所述RTTACK为传输路径中第N+1次传输数据的第一往返时延,所述α为平滑因子。其实,在本申请中,可以采用第一步的方式确定传输路径的往返时延,不需要经过第二步的处理,而通过该公式计算得到的往返时延更加平滑准确。
在本申请中,平滑因子α的取值通常为1/8。
可选地,在本申请中,参照图3所示,步骤14在确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在第二传输路径上传输数据时,具体执行为:
步骤141:计算至少两条传输路径中每条传输路径的拥塞因子,所述拥塞因子表示传输路径的拥塞程度。
若往返时延最小的传输路径的使用次数达到最大允许使用次数(不大于往返时延比值的最大整数)时,表示数据在往返时延最小的传输路径上已经传输了若干数据,为了避免引起网络拥塞,需要通过获取每条传输路径中已经发送但仍未确认的数据大小UnAck和每条传输路径的拥塞窗口大小Cwnd,并计算每条路径的拥塞因子Congestion_Rate,其中,Congestion_Rate=UnAck/Cwnd。
步骤142:确定拥塞因子最小的第二传输路径为当前数据的传输路径。
步骤143:基于确定的所述第二传输路径传输数据。
从计算得到的多传输路径中每条传输路径的拥塞因子中,选择拥塞因子最小的传输路径作为当前数据的传输路径,并在该拥塞因子最小的传输路径上传输数据
应理解,如果往返时延最小的传输路径的拥塞因子也是最小的,那么这表示往返时延最小的传输路径的拥塞状况良好,可以继续在该传输路径上传输数据;此时,第一传输路径与第二传输路径为相同的传输路径。如果往返时延最小的传输路径的拥塞因子不是最小的,那么为了避免拥塞产生,选择拥塞因子最小的路径传输数据,此时,第一传输路径与第二传输路径为不同的传输路径。
下面通过具体的实例对上述数据调度方案进行介绍。该实例中多传输路径中有两条传输路径,例如,基于WIFI模块建立的传输路径W,基于射频模块(3G或LTE)建立的传输路径B。
参照图4所示,通信网络在基于这两个传输路径进行数据调度时,可具体包括:
步骤21:分别计算传输路径W的往返时延RTT_W,以及传输路径B的往返时延RTT_B。
步骤22:基于往返时延RTT_W和往返时延RTT_B,确定该通信网络当前的往返时延比值RTT_Ratio。
假设当前传输路径W的往返时延较好,则往返时延RTT_W<往返时延RTT_B,往返时延比值RTT_Ratio=RTT_B/RTT_W。
步骤23:选择往返时延最小的传输路径W传输数据。
步骤24:判断基于传输路径W的使用次数是否达到大于往返时延比值RTT_Ratio的最大整数,若是,则执行步骤25,否则,跳转至步骤23。
步骤25:分别计算传输路径W的拥塞因子C_Rate_W,以及传输路径B的拥塞因子C_Rate_B。
假设当前传输路径B的拥塞程度较小,则拥塞因子C_Rate_B<拥塞因子C_Rate_W,表示该传输路径B的数据传输较为通畅,拥堵程度相比较传输路径W而言较小。
步骤26:选择拥塞因子最小的传输路径B传输数据一次。
其实,并不限于传输路径W的拥塞程度较小的情况,那么,就不会将传输路径切换至传输路径B,而是继续基于传输路径W使用一次,然后执行步骤27。
步骤27:将基于传输路径W的使用次数和基于传输路径B的使用次数置零,并跳转至步骤21。
参照图5a所示,为本申请实施例提供的一种数据调度装置,应用于多路径传输的通信网络中,所述装置主要包括:
第一确定模块31,用于确定至少两条传输路径中每条传输路径的往返时延,以及基于当前传输状态下通信网络的往返时延比值;其中,所述往返时延比值为往返时延最大的传输路径对应的往返时延与往返时延最小的传输路径对应的往返时延的比值。
第二确定模块32,用于确定第一传输路径为当前数据的传输路径,其中,所述第一传输路径为所述至少两条传输路径中往返时延最小的传输路径。
传输模块33,用于基于所述第一传输路径传输数据,并记录基于所述第一传输路径传输数据的使用次数。
切换模块34,用于当第一传输路径的使用次数达到最大允许使用次数时,确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在第二传输路径上传输数据,其中,所述最大允许使用次数为不大于往返时延比值的最大整数。
可选地,参照图5b所示,所述数据调度装置还包括:
重置模块35,用于当第二传输路径的使用次数达到预设次数,将第一传输路径和第二传输路径的使用次数重置为零。之后,触发第一确定模块按照图2所示循环执行数据调度方案。
所述第一确定模块31,还用于确定所述至少两条传输路径中每条传输路径的往返时延,以及基于当前传输状态下通信网络的往返时延比值;其中,所述往返时延比值为往返时延最大的传输路径对应的往返时延与往返时延最小的传输路径对应的往返时延的比值;
所述第二确定模块32,还用于确定第三传输路径为当前数据的传输路径,其中,所述第三传输路径传输数据为所述至少两条传输路径中往返时延最小的传输路径;
所述传输模块33,还用于基于所述第三传输路径传输数据,并记录基于所述第三传输路径传输数据的使用次数;
所述切换模块34,用于当第三传输路径的使用次数达到最大允许使用次数时,确定至少两条传输路径中拥塞因子最小的第四传输路径为当前数据的传输路径,并在第四传输路径上传输数据,其中,所述最大允许使用次数为不大于往返时延比值的最大整数。
可选地,所述预设次数为1。
可选地,所述第一确定模块31在确定至少两条传输路径中每条传输路径的往返时延时,具体用于:
针对每条传输路径,确定接收数据时的接收数据时间,以及从所述数据中获取发送数据时间;
基于所述接收数据时间和所述发送数据时间,确定每条传输路径的往返时延。
可选地,所述第一确定模块31在基于所述接收数据时间和所述发送数据时间,确定每条传输路径的往返时延时,具体用于:
基于传输路径中第N+1次传输数据的接收数据时间和发送数据时间,确定第N+1次传输数据的第一往返时延;
根据所述第一往返时延和该传输路径中前N次传输数据的第二往返时延,确定所述传输路径的往返时延;
其中,所述第二往返时延为该传输路径中前N次传输数据的平均往返时延,所述N为整数。
可选地,所述第一确定模块31在在根据所述第一往返时延和该传输路径中前N次传输数据的第二往返时延确定所述传输路径的往返时延时,具体用于:
采用以下公式确定所述传输路径的往返时延;
RTTN+1=(1-α)*RTTN+α*RTTACK (1)
其中,所述RTTN+1为传输路径中第N+1次传输数据的往返时延,所述RTTN为传输路径中前N次传输数据的第二往返时延,所述RTTACK为传输路径中第N+1次传输数据的第一往返时延,所述α为平滑因子。
可选地,所述切换模块34在确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在第二传输路径上传输数据时,具体用于:
计算至少两条传输路径中每条传输路径的拥塞因子,所述拥塞因子表示传输路径的拥塞程度;
确定拥塞因子最小的第二传输路径为当前数据的传输路径;
基于确定的所述第二传输路径传输数据;
其中,每条传输路径的拥塞因子是每条传输路径中已经发送但仍未确认的数据大小与该传输路径的拥塞窗口大小的比值。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述匹配方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种数据调度方法,其特征在于,应用于多路径传输的通信网络中,所述方法包括:
确定至少两条传输路径中每条传输路径的往返时延,以及基于当前传输状态下通信网络的往返时延比值;其中,所述往返时延比值为往返时延最大的传输路径对应的往返时延与往返时延最小的传输路径对应的往返时延的比值;
确定第一传输路径为当前数据的传输路径,其中,所述第一传输路径为所述至少两条传输路径中往返时延最小的传输路径;
基于所述第一传输路径传输数据,并记录基于所述第一传输路径传输数据的使用次数;其中,基于所述第一传输路径传输数据的使用次数是指连续使用同一个第一传输路径传输数据的次数,并不包含:使用1次该第一传输路径,然后使用N次其它传输路径,之后再次使用该第一传输路径的方案,其中,N为任意正整数;
当第一传输路径的使用次数达到最大允许使用次数时,确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在第二传输路径上传输数据,其中,所述最大允许使用次数为不大于往返时延比值的最大整数;如果往返时延最小的传输路径的拥塞因子也是最小的,那么这表示往返时延最小的传输路径的拥塞状况良好,继续在该传输路径上传输数据;此时,第一传输路径与第二传输路径为相同的传输路径;如果往返时延最小的传输路径的拥塞因子不是最小的,那么为了避免拥塞产生,选择拥塞因子最小的路径传输数据,此时,第一传输路径与第二传输路径为不同的传输路径;
当第二传输路径的使用次数达到预设次数,将第一传输路径和第二传输路径的使用次数重置为零;
确定所述至少两条传输路径中每条传输路径的往返时延,以及基于当前传输状态下通信网络的往返时延比值;
确定第三传输路径为当前数据的传输路径,其中,所述第三传输路径为所述至少两条传输路径中往返时延最小的传输路径;
基于所述第三传输路径传输数据,并记录基于所述第三传输路径传输数据的使用次数;
当第三传输路径的使用次数达到最大允许使用次数时,确定至少两条传输路径中拥塞因子最小的第四传输路径为当前数据的传输路径,并在第四传输路径上传输数据。
2.如权利要求1所述的方法,其特征在于,所述预设次数为1。
3.如权利要求1所述的方法,其特征在于,确定至少两条传输路径中每条传输路径的往返时延,具体包括:
针对每条传输路径,确定接收数据时的接收数据时间,以及从所述数据中获取发送数据时间;
基于所述接收数据时间和所述发送数据时间,确定每条传输路径的往返时延。
4.如权利要求3所述的方法,其特征在于,基于所述接收数据时间和所述发送数据时间,确定每条传输路径的往返时延,具体包括:
基于传输路径中第N+1次传输数据的接收数据时间和发送数据时间,确定第N+1次传输数据的第一往返时延;
根据所述第一往返时延和该传输路径中前N次传输数据的第二往返时延,确定所述传输路径的往返时延;
其中,所述第二往返时延为该传输路径中前N次传输数据的平均往返时延。
5.如权利要求4所述的方法,其特征在于,根据所述第一往返时延和该传输路径中前N次传输数据的第二往返时延,确定所述传输路径的往返时延,具体包括:
采用以下公式确定所述传输路径的往返时延;
RTTN+1=(1-α)*RTTN+α*RTTACK (1)
其中,所述RTTN+1为传输路径中第N+1次传输数据的往返时延,所述RTTN为传输路径中前N次传输数据的第二往返时延,所述RTTACK为传输路径中第N+1次传输数据的第一往返时延,所述α为平滑因子。
6.如权利要求1所述的方法,其特征在于,确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在第二传输路径上传输数据,具体包括:
计算至少两条传输路径中每条传输路径的拥塞因子,所述拥塞因子表示传输路径的拥塞程度;
确定拥塞因子最小的第二传输路径为当前数据的传输路径;
基于确定的所述第二传输路径传输数据;
其中,每条传输路径的拥塞因子是每条传输路径中已经发送但仍未确认的数据大小与该传输路径的拥塞窗口大小的比值。
7.一种数据调度装置,其特征在于,应用于多路径传输的通信网络中,所述装置包括:
第一确定模块,用于确定至少两条传输路径中每条传输路径的往返时延,以及基于当前传输状态下通信网络的往返时延比值;其中,所述往返时延比值为往返时延最大的传输路径对应的往返时延与往返时延最小的传输路径对应的往返时延的比值;
第二确定模块,用于确定第一传输路径为当前数据的传输路径,其中,所述第一传输路径为所述至少两条传输路径中往返时延最小的传输路径;
传输模块,用于基于所述第一传输路径传输数据,并记录基于所述第一传输路径传输数据的使用次数;其中,基于所述第一传输路径传输数据的使用次数是指连续使用同一个第一传输路径传输数据的次数,并不包含:使用1次该第一传输路径,然后使用N次其它传输路径,之后再次使用该第一传输路径的方案,其中,N为任意正整数;
切换模块,用于当第一传输路径的使用次数达到最大允许使用次数时,确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在第二传输路径上传输数据,其中,所述最大允许使用次数为不大于往返时延比值的最大整数;如果往返时延最小的传输路径的拥塞因子也是最小的,那么这表示往返时延最小的传输路径的拥塞状况良好,继续在该传输路径上传输数据;此时,第一传输路径与第二传输路径为相同的传输路径;如果往返时延最小的传输路径的拥塞因子不是最小的,那么为了避免拥塞产生,选择拥塞因子最小的路径传输数据,此时,第一传输路径与第二传输路径为不同的传输路径;
重置模块,用于当第二传输路径的使用次数达到预设次数,将第一传输路径和第二传输路径的使用次数重置为零;之后,触发第一确定模块循环执行数据调度方案;
所述第一确定模块,还用于再次确定所述至少两条传输路径中每条传输路径的往返时延,以及基于当前传输状态下通信网络的往返时延比值;
所述第二确定模块,还用于确定第三传输路径为当前数据的传输路径,其中,所述第三传输路径为所述至少两条传输路径中往返时延最小的传输路径;
所述传输模块,还用于基于所述第三传输路径传输数据,并记录基于所述第三传输路径传输数据的使用次数;
所述切换模块,还用于当第三传输路径的使用次数达到最大允许使用次数时,确定至少两条传输路径中拥塞因子最小的第四传输路径为当前数据的传输路径,并在第四传输路径上传输数据。
8.如权利要求7所述的装置,其特征在于,所述预设次数为1。
9.如权利要求7所述的装置,其特征在于,所述第一确定模块在确定至少两条传输路径中每条传输路径的往返时延时,具体用于:
针对每条传输路径,确定接收数据时的接收数据时间,以及从所述数据中获取发送数据时间;
基于所述接收数据时间和所述发送数据时间,确定每条传输路径的往返时延。
10.如权利要求9所述的装置,其特征在于,所述第一确定模块在基于所述接收数据时间和所述发送数据时间,确定每条传输路径的往返时延时,具体用于:
基于传输路径中第N+1次传输数据的接收数据时间和发送数据时间,确定第N+1次传输数据的第一往返时延;
根据所述第一往返时延和该传输路径中前N次传输数据的第二往返时延,确定所述传输路径的往返时延;
其中,所述第二往返时延为该传输路径中前N次传输数据的平均往返时延。
11.如权利要求10所述的装置,其特征在于,所述第一确定模块在根据所述第一往返时延和该传输路径中前N次传输数据的第二往返时延确定所述传输路径的往返时延时,具体用于:
采用以下公式确定所述传输路径的往返时延;
RTTN+1=(1-α)*RTTN+α*RTTACK (1)
其中,所述RTTN+1为传输路径中第N+1次传输数据的往返时延,所述RTTN为传输路径中前N次传输数据的第二往返时延,所述RTTACK为传输路径中第N+1次传输数据的第一往返时延,所述α为平滑因子。
12.如权利要求7所述的装置,其特征在于,所述切换模块在确定至少两条传输路径中拥塞因子最小的第二传输路径为当前数据的传输路径,并在第二传输路径上传输数据时,具体用于:
计算至少两条传输路径中每条传输路径的拥塞因子,所述拥塞因子表示传输路径的拥塞程度;
确定拥塞因子最小的第二传输路径为当前数据的传输路径;
基于确定的所述第二传输路径传输数据;
其中,每条传输路径的拥塞因子是每条传输路径中已经发送但仍未确认的数据大小与该传输路径的拥塞窗口大小的比值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810437834.7A CN108696449B (zh) | 2018-05-09 | 2018-05-09 | 一种数据调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810437834.7A CN108696449B (zh) | 2018-05-09 | 2018-05-09 | 一种数据调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108696449A CN108696449A (zh) | 2018-10-23 |
CN108696449B true CN108696449B (zh) | 2020-10-09 |
Family
ID=63847341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810437834.7A Active CN108696449B (zh) | 2018-05-09 | 2018-05-09 | 一种数据调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108696449B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111372329B (zh) | 2018-12-25 | 2022-08-19 | 华为技术有限公司 | 一种连接建立方法及终端设备 |
CN113424591B (zh) * | 2019-02-18 | 2024-05-21 | 联想(新加坡)私人有限公司 | 计算移动通信网络中的往返时间 |
WO2020176038A1 (en) * | 2019-02-25 | 2020-09-03 | Skylab Networks Pte. Ltd. | System and method for managing network traffic |
CN110868747B (zh) * | 2019-11-28 | 2020-09-25 | 上海商米科技集团股份有限公司 | 一种可应用于多网络模式检测延时并自动切换的方法 |
CN111245578B (zh) * | 2020-01-03 | 2022-11-08 | 北京字节跳动网络技术有限公司 | 数据包传输方法、装置、电子设备和存储介质 |
CN112040526B (zh) * | 2020-08-25 | 2022-10-14 | 普联技术有限公司 | 一种通信路径选择方法、设备及通信系统 |
CN112054966B (zh) * | 2020-09-01 | 2023-11-07 | 首都师范大学 | 多路传输数据调度方法、装置及设备 |
CN114697240A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 数据传输方法、装置、系统及存储介质 |
CN113422728A (zh) * | 2021-06-22 | 2021-09-21 | 上海哔哩哔哩科技有限公司 | 内容分发网络链路的选择方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656653A (zh) * | 2008-08-21 | 2010-02-24 | 中国移动通信集团公司 | 一种应用于多路径传输的接收缓存配置方法及装置 |
CN103346963A (zh) * | 2013-06-26 | 2013-10-09 | 南京昭视畅网络科技有限公司 | 一种基于预测到达时间的mptcp数据调度方法 |
CN103532867A (zh) * | 2013-10-30 | 2014-01-22 | 四川迅游网络科技股份有限公司 | 一种网络数据的加速传输方法及系统 |
CN104994036A (zh) * | 2015-06-09 | 2015-10-21 | 北京邮电大学 | 一种多路径传输协议中的动态数据调度方法 |
CN105515915A (zh) * | 2015-12-25 | 2016-04-20 | 厦门网宿软件科技有限公司 | 节点探测方法及装置、路径选取方法及装置、及网络系统 |
CN106658644A (zh) * | 2016-12-09 | 2017-05-10 | 广州华多网络科技有限公司 | 通信网络选路方法和装置 |
-
2018
- 2018-05-09 CN CN201810437834.7A patent/CN108696449B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656653A (zh) * | 2008-08-21 | 2010-02-24 | 中国移动通信集团公司 | 一种应用于多路径传输的接收缓存配置方法及装置 |
CN103346963A (zh) * | 2013-06-26 | 2013-10-09 | 南京昭视畅网络科技有限公司 | 一种基于预测到达时间的mptcp数据调度方法 |
CN103532867A (zh) * | 2013-10-30 | 2014-01-22 | 四川迅游网络科技股份有限公司 | 一种网络数据的加速传输方法及系统 |
CN104994036A (zh) * | 2015-06-09 | 2015-10-21 | 北京邮电大学 | 一种多路径传输协议中的动态数据调度方法 |
CN105515915A (zh) * | 2015-12-25 | 2016-04-20 | 厦门网宿软件科技有限公司 | 节点探测方法及装置、路径选取方法及装置、及网络系统 |
CN106658644A (zh) * | 2016-12-09 | 2017-05-10 | 广州华多网络科技有限公司 | 通信网络选路方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于动态数据调度的MPTCP并行数据传输技术研究与设计;段友提;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180415;第I136-548页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108696449A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108696449B (zh) | 一种数据调度方法及装置 | |
Hurtig et al. | Low-latency scheduling in MPTCP | |
RU2657184C2 (ru) | Маршрутизация данных | |
EP3694160A1 (en) | Date transmission method, apparatus and device | |
CN113037624A (zh) | 一种数据流控制的方法和装置 | |
Wang et al. | An effective approach to alleviating the challenges of transmission control protocol | |
CN106878192B (zh) | 一种自适应mptcp的数据调度方法 | |
Wang et al. | TCP congestion control algorithm for heterogeneous Internet | |
EP3232638A1 (en) | Data transmission method, apparatus and system | |
Kanagarathinam et al. | D-TCP: Dynamic TCP congestion control algorithm for next generation mobile networks | |
Hwang et al. | Deadline and incast aware TCP for cloud data center networks | |
Tsiknas et al. | Comparative performance evaluation of TCP variants in WiMAX (and WLANs) network configurations | |
Zhao et al. | ON/OFF traffic shaping in the Internet: Motivation, challenges, and solutions | |
CN112203328B (zh) | 一种基于dccp的拥塞控制方法、装置及电子设备 | |
Han et al. | A QoS‐Based Fairness‐Aware BBR Congestion Control Algorithm Using QUIC | |
Molnár et al. | Data transfer paradigms for future networks: Fountain coding or congestion control? | |
CN113542215B (zh) | 一种提升流媒体传输性能的方法及相关装置 | |
Arisu et al. | Game of protocols: Is QUIC ready for prime time streaming? | |
Chuat et al. | Deadline-aware multipath communication: An optimization problem | |
Park et al. | Minimizing application-level delay of multi-path TCP in wireless networks: A receiver-centric approach | |
Le et al. | Multipath binomial congestion control algorithms | |
Jonglez | End-to-end mechanisms to improve latency in communication networks | |
Kadhum et al. | Congestion-aware TCP-friendly system for multimedia transmission based on UDP | |
Liu et al. | Modeling multi-path TCP throughput with coupled congestion control and flow control | |
Reale et al. | DTL: Dynamic transport library for peer-to-peer applications |
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 |