WO2018188570A1 - 一种数据传输方法及装置 - Google Patents

一种数据传输方法及装置 Download PDF

Info

Publication number
WO2018188570A1
WO2018188570A1 PCT/CN2018/082437 CN2018082437W WO2018188570A1 WO 2018188570 A1 WO2018188570 A1 WO 2018188570A1 CN 2018082437 W CN2018082437 W CN 2018082437W WO 2018188570 A1 WO2018188570 A1 WO 2018188570A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data packet
transmission path
transmission
amount
Prior art date
Application number
PCT/CN2018/082437
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 EP18784071.5A priority Critical patent/EP3585013B1/en
Publication of WO2018188570A1 publication Critical patent/WO2018188570A1/zh
Priority to US16/600,720 priority patent/US11252078B2/en

Links

Images

Classifications

    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers

Abstract

本申请公开了一种数据传输方法及装置,属于通信技术领域。该方法包括:当接收到数据流的第一数据包且第一数据包不是数据流的第一个数据包时,确定第一接收时间与第二接收时间之间的时间间隔,第一接收时间为接收到第一数据包的时间,第二接收时间为接收到第二数据包的时间;获取数据流的已发送数据量;基于时间间隔与已发送数据量,从多条可用的传输路径中确定第一数据包的传输路径,并通过确定的传输路径传输第一数据包。本申请通过时间间隔和已发送数据量来确定第一数据包的传输路径,避免了数据流中大量数据包密集到达时,由于相邻数据包到达发送端的时间间隔过小而没有机会重新选择传输路径的问题,有效提高了数据传输速率和传输路径利用率。

Description

一种数据传输方法及装置
本申请要求于2017年4月11日提交中国专利局、申请号为201710232774.0、申请名称为“一种数据传输方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种数据传输方法及装置。
背景技术
在广域网中,当进行数据传输时,在数据的发送端和接收端之间,往往存在多条可用的传输路径。如果从该多条可用的传输路径中选择一条传输路径进行数据传输,那么,当选择的传输路径的传输性能变差时,则会导致使用该条传输路径传输数据的传输速率降低,传输时间延长,甚至会造成数据丢失。如果从该多条可用的传输路径中选择至少两条传输路径进行数据传输,那么,当该至少两条传输路径中的某一条传输路径的传输性能变差时,则可以通过其他传输性能较好的传输路径来传输剩余的数据,有效地提高了数据传输速率。基于上述原因,从多条可用的传输路径中选择至少两条传输路径进行数据传输的多路径传输方法被广泛的应用于数据传输中。
相关技术中,当采用多路径传输方法对待传输的数据流进行传输时,发送端可以基于该数据流的接收端确定多条可用的传输路径,其中,发送端和接收端均可以为路由器。之后,发送端可以周期性的主动测量该多条可用的传输路径的拥塞值,并对该多条可用的传输路径的拥塞值不断更新。当发送端接收到该数据流的第一个数据包时,从该多条可用的传输路径中选择拥塞值最低的传输路径,并通过选择的传输路径传输第一个数据包,之后,当发送端每接收到该数据流中的一个数据包时,确定该数据包到达发送端的时间与该数据流中的前一个数据包到达发送端的时间之间的时间间隔,当该时间间隔大于预设时间阈值时,将该多条可用的传输路径中拥塞值最低的传输路径确定为该数据包的传输路径,并对该数据包进行传输;否则,通过前一个数据包使用的传输路径对该数据包进行传输。
然而,当该数据流包含有大量的数据包,且大量的数据包中每相邻的两个数据包到达发送端的时间间隔均小于预设时间阈值时,那么后到达发送端的数据包就没有机会重新选择传输路径进行传输,而只能使用与前一个数据包相同的传输路径进行传输,也即是,该数据流中的大量的数据包将会只使用一条传输路径进行传输,这会使得该条传输路径的数据负载急剧增加,从而导致该数据流的传输完成时间增长,与此同时,其他传输路径则会由于得不到充分利用而浪费,降低了传输路径的利用率。
发明内容
为了解决相关技术的数据流传输完成时间长且传输路径利用率低的问题,本申请提供了一种数据传输方法。所述技术方案如下:
第一方面,提供了一种数据传输方法,所述方法包括:
在发送端接收到数据流的第一数据包且所述第一数据包不是所述数据流的第一个数据包的情况下,确定第一接收时间与第二接收时间之间的时间间隔,所述第一接收时间为所述发送端接收到所述第一数据包的时间,所述第二接收时间为所述发送端接收到第二数据包的时间,所述第一数据包与所述第二数据包为所述数据流中相邻的数据包,且所述第二数据包在所述第一数据包之前;
所述发送端获取所述数据流的已发送数据量,所述已发送数据量为所述第一接收时间之前发送的数据量;
所述发送端基于所述时间间隔与所述已发送数据量,从多条可用的传输路径中确定所述第一数据包的传输路径,并通过确定的传输路径将所述第一数据包传输至接收端,所述多条可用的传输路径为所述发送端可用于将所述数据流传输至所述接收端的传输路径。
在本发明实施例中,当发送端接收到数据流的第一数据包且该第一数据包不是该数据流的第一个数据包时,可以确定该第一数据包与上一个数据包,即第二数据包之间的时间间隔,并且可以获取已发送数据量,之后,根据该时间间隔和已发送数据量,可以从多条可用的传输路径中选择一条传输路径,对第一数据包进行传输。也即是,第一数据包的传输路径的选择不仅取决于时间间隔,还取决于已发送数据量,这样,根据时间间隔和已发送数据量的不同,可以从多条可用的传输路径中为每一个待传输的数据包选择相应的传输路径,避免了数据流中大量数据包密集到达时,由于相邻数据包到达发送端的时间间隔过小而没有机会重新选择传输路径的问题,有效地提高了数据传输速率和传输路径的利用率。
在一种可能的设计中,所述发送端所述基于所述时间间隔与所述已发送数据量,从多条可用的传输路径中确定所述第一数据包的传输路径,包括:
在所述时间间隔小于预设时间阈值且所述已发送数据量不小于预设流量阈值的情况下,所述发送端从所述多条可用的传输路径中选择可用带宽最大的传输路径;
所述发送端将选择的传输路径确定为所述第一数据包的传输路径。
需要说明的是,当第一数据包与第二数据包之间的时间间隔小于预设时间阈值时,可以继续判断已发送数据量是否小于预设流量阈值,当已发送数据量不小于预设流量阈值时,从多条可用的传输路径中选择可用带宽最大的传输路径,并将选择的传输路径确定为第一数据包的传输路径。这样,一方面,可以避免数据流中大量数据包密集到达时,由于相邻数据包到达发送端的时间间隔过小而没有机会重新选择传输路径,仅采用一条传输路径进行传输的问题,也即是,数据流中每个待传输的数据包都有机会选择合适的传输路径进行传输, 提高了数据传输速率,缩短了数据流传输完成时间,提高了传输路径的利用率。另一方面,当已发送数据量不小于预设流量阈值时,可以确定该第一数据包所属的数据流为数据量较大的大数据流,而在数据传输过程中,传输路径的可用带宽是影响大数据流的传输速率的主要因素,也即是,大数据流对于传输路径的带宽要求更高。因此,当时间间隔小于预设时间阈值且已发送数据量不小于预设流量阈值时,选择可用带宽最大的传输路径来传输第一数据包,可以进一步地提高数据传输的速率,缩短数据流的传输完成时间。
在一种可能的设计中,所述发送端基于所述时间间隔与所述已发送数据量,从多条可用的传输路径中确定所述第一数据包的传输路径,包括:
在所述时间间隔小于预设时间阈值且所述已发送数据量小于预设流量阈值的情况下,所述发送端从所述多条可用的传输路径中选择传输时延最小的传输路径;
所述发送端将选择的传输路径确定为所述第一数据包的传输路径。
在本发明实施例中,当时间间隔小于预设时间阈值且已发送数据量小于预设流量阈值时,发送端为了能够及时将该第一数据包进行发送,可以暂时确定该第一数据包所属的数据流为数据量较小的小数据流,而在传输过程中,传输路径的传输时延是制约小数据流传输速率的主要因素,也即是,小数据流对传输路径的传输时延的要求更为严苛,此时,从多条可用的传输路径中选择传输时延最小的传输路径来传输第一数据包,可以进一步地提高第一数据包的传输速率,从而缩短该数据流的传输完成时间。
在一种可能的设计中,所述发送端将选择的传输路径确定为所述第一数据包的传输路径之后,还包括:
所述发送端将所述数据流的已发送数据量增加所述第一数据包的数据量,以对所述数据流的已发送数据量进行更新。
需要说明的是,当确定了时间间隔小于预设时间阈值时第一数据包的传输路径之后,便于后续数据包到达时,在后续数据包与第一数据包的时间间隔仍小于预设时间阈值的情况下,为了更准确的通过已发送数据量来继续为后续数据包选择传输路径,发送端可以将已发送数据量增加第一数据包的数据量来对数据流的已发送数据量进行更新。
在一种可能的设计中,所述发送端基于所述时间间隔与所述已发送数据量,从多条可用的传输路径中确定所述第一数据包的传输路径,包括:
在所述时间间隔不小于预设时间阈值的情况下,所述发送端从所述多条可用的传输路径中选择传输时延最小的传输路径;
所述发送端将选择的传输路径确定为所述第一数据包的传输路径。
需要说明的是,当第一数据包与第二数据包之间的时间间隔不小于预设时间阈值时,也即是,数据流中的数据包并没有密集到达,此时,可以从多条可用的传输路径中选择传输时延最小的传输路径来传输第一数据包,从而提高第一数据包的传输速率。
在一种可能的设计中,所述发送端将选择的传输路径确定为所述第一数据 包的传输路径之后,还包括:
所述发送端将所述数据流的已发送数据量更新为所述第一数据包的数据量。
其中,在时间间隔不小于预设时间阈值的情况下,发送端为该第一数据包选择了时延最小的传输路径,实际上是发送端将该第一数据包按照处理该数据流的第一个数据包的方式进行了处理。其中,由于该数据流的第一个数据包之前并无其他数据包,因此在选择传输路径之后,发送端将已发送数据量设置为第一个数据包的数据量。同理,由于发送端将时间间隔小于预设时间阈值的情况下的第一数据包按照该数据流的第一个数据包进行处理,因此,为该第一数据包选择传输路径之后,发送端可以将之前累计的已发送数据量全部清零,并将该已发送数据量直接更新为该第一数据包的数据量。
在一种可能的设计中,所述在所述发送端接收到数据流的第一数据包之后,还包括:
在所述第一数据包为所述数据流的第一个数据包的情况下,所述发送端从所述多条可用的传输路径中选择传输时延最小的传输路径;
所述发送端将选择的传输路径确定为所述第一数据包的传输路径,并将所述第一数据包传输至所述接收端。
需要说明的是,当第一数据包是该数据流的第一个数据包时,将不存在第二数据包,也就无法确定时间间隔,并且已发送数据量也不存在,在这种情况下,发送端可以将该第一数据包所属的数据流暂时确定为小数据流,由于在传输过程中,传输路径的传输时延是制约小数据流传输速率的主要因素,也即是,小数据流对传输路径的传输时延的要求更为严苛,因此,从多条可用的传输路径中选择传输时延最小的传输路径来传输第一个数据包,保证了第一个数据包能以较快的传输速率进行传输,进而保证了该数据流的传输速率,缩短了该数据流的传输完成时间。
在一种可能的设计中,所述数据流的数据包的接收时间和所述数据流的已发送数据量存储于所述数据流的流表项中,所述流表项是所述发送端在接收到所述数据流的第一个数据包建立得到。
在本发明实施例中,为了便于管理数据流的数据包的接收时间以及数据流的已发送数据量,可以在接收到该数据流的第一个数据包时,为该数据流建立一个流表项,并将数据包的接收时间和数据流的已发送数据量存储于该流表项中,以便后续快捷且方便的从该流表项中获取接收时间来确定时间间隔,进而根据该时间间隔和流表项中的已发送数据量来确定第一数据包的传输路径。
第二方面,提供了一种数据传输装置,所述数据传输装置具有实现上述第一方面中数据传输方法的功能,所述数据传输装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的数据传输方法。
第三方面,提供了一种数据传输装置,所述数据传输装置的结构中包括处理器和存储器,所述存储器用于存储支持数据传输装置执行上述第一方面所提 供的数据传输方法的程序,以及存储用于实现上述第一方面所提供的数据传输方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存上述数据传输装置所用的计算机软件指令,或存储用于执行上述第二方面的数据传输装置所涉及的程序。
第五方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据传输方法。
上述本发明实施例第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请提供的技术方案带来的有益效果是:当接收到数据流的第一数据包时,确定第一数据包的接收时间和第二数据包的接收时间之间的时间间隔,其中,第二数据包是该数据流中与第一数据包相邻的数据包,且第二数据包在第一数据包之前。之后,获取已发送数据量,根据确定的时间间隔和获取的已发送数据量,从多条可用的传输路径中为第一数据包选择传输路径,并通过选择的传输路径传输第一数据包。由于第一数据包的传输路径的选择不仅仅取决于其与上一个数据包之间的时间间隔,还取决于接收到第一数据包的接收时间之前发送的数据量,这样,根据时间间隔和已发送数据量的不同,可以从多条可用的传输路径中为每一个待传输的数据包选择相应的传输路径,避免了数据流中大量数据包密集到达时,由于相邻数据包到达发送端的时间间隔过小而没有机会重新选择传输路径的问题,有效地提高了数据传输速率和传输路径的利用率。
附图说明
图1是本发明实施例提供的一种数据传输方法的实施环境示意图;
图2是本发明实施例提供的一种数据传输方法的流程图;
图3是本发明实施例提供的一种数据传输装置的框图;
图4是本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本发明实施例提供的一种数据传输方法的实施环境示意图。随着网 络技术的发展,叠加(Overlay)网络得到了广泛的应用。其中,Overlay网络是建立在已有的广域网上的虚拟网络,也即是,Overlay网络的构建需要通过现有的物理网络来实现。Overlay网络主要由边缘设备、控制平面和转发平面三个部分组成,其中,Overlay网络的边缘设备可以是物理网络设备或者是虚拟网络设备,甚至可以通过运行在虚拟机上的软件来实现。本发明实施例提供的数据传输方法即可以应用到Overlay网络中。如图1所示,Overlay网络由多个虚拟路由器组成。每个用户可以通过一个虚拟路由器接入Overlay网络。如图1所示,当用户A向用户B传输数据时,用户A对应的虚拟路由器A为数据进入Overlay网络的入口路由器,也即发送端;而用户B对应的虚拟路由器B为数据输出Overlay网络的出口路由器,也即接收端。在虚拟路由器A与虚拟路由器B之间,通常存在多条可用的传输路径,该多条可用的传输路径形成用户A和用户B之间的传输路径池。当用户A发送的数据流中的数据包1和数据包2到达虚拟路由器A时,虚拟路由器A即可以通过本申请提供的数据传输方法,从虚拟路由器A和虚拟路由器B之间多条可用的传输路径中,分别为该数据包1和数据包2选择合适的传输路径,从而将该数据包1和数据包2传输至虚拟路由器B。
当然,本申请提供的数据传输方法不仅可以用于Overlay网络中,还可以用于未部署Overlay网络的广域网。在未部署Overlay网络的广域网中,可以包括多个物理路由器。当用户A向用户B传输数据时,用户A对应的物理路由器A即为发送端,该发送端也可以通过本申请提供的数据传输方法,为用户A发送的数据流中的每个数据包选择合适的传输路径,并通过选择的传输路径将数据传输至接收端,即用户B对应的物理路由器B。
需要说明的是,本申请提供的数据传输方法用于发送端和接收端的交互中,其中,该发送端和接收端均可以为网络设备,该网络设备可以为Overlay网络中的虚拟网络设备,该虚拟网络设备可以为嵌入在物理服务器中、基于软件虚拟化技术实现的虚拟设备,如虚拟路由器、虚拟交换机等。当然,该网络设备也可以为网络中的物理网络设备,如物理路由器、物理交换机等。
本发明实施例提供了一种数据传输方法,该数据传输方法可以应用于发送端,参见图2,该方法包括:
步骤201:在发送端接收到数据流的第一数据包的情况下,判断第一数据包是否为该数据流的第一个数据包,在第一数据包为该数据流的第一个数据包的情况下,执行步骤202,在第一数据包不为该数据流的第一个数据包的情况下,执行步骤203。
由于在本发明实施例中,发送端可以通过接收到数据流中相邻两个数据包之间的时间间隔以及该数据流的已发送数据量来为该数据流的数据包选择传输路径,而对于该数据流的第一个数据包,由于不存在与上一个数据包之间的时间间隔以及该数据流的已发送数据量,因此,不能通过时间间隔和已发送数据量来选择传输路径,所以,在本发明实施例中,发送端在接收到第一数据包时,首先要判断该数据包是否为该数据流的第一个数据包,如果第一数据包为该数 据流的第一个数据包,则可以通过步骤202来确定第一个数据包的传输路径,并通过确定的传输路径进行数据传输。如果第一数据包不为该数据流的第一个数据包,则可以通过步骤203-205来确定第一数据包的传输路径,并通过确定的传输路径来传输第一数据包。
通常,一个数据流可以包括多个数据包,发送端在接收到数据流的数据包时,可以根据数据包中携带的信息确定该数据包的源网络协议(Internet Protocol,IP)地址和目的IP地址。当发送端接收到的第一数据包的源IP地址或者目的IP地址与上一个数据包不同时,则可以确定接收到的第一数据包与上一个数据包不属于同一个数据流,也即是,当前接收到的数据包是数据流的第一个数据包。当发送端接收到的第一数据包的源IP地址和目的IP地址与上一个数据包的源IP地址和目的IP地址均相同时,则可以确定接收到的第一数据包不是该数据流的第一个数据包。
步骤202:发送端从多条可用的传输路径中选择传输时延最小的传输路径,并通过选择的传输路径传输该第一个数据包。
当发送端确定接收到的第一数据包是数据流的第一个数据包时,可以根据该第一数据包的目标IP地址,确定接收端。之后,发送端可以获取与接收端之间的多条可用的传输路径,并且主动计算该多条可用的传输路径的传输时延和可用带宽。最后,发送端可以从该多条可用的传输路径中选择传输时延最小的传输路径,并将选择的传输路径确定为第一数据包的传输路径,从而对该第一数据包进行传输。其中,该多条可用的传输路径为发送端和接收端之间所有可以进行数据传输的传输路径。
另外,发送端还可以在后续该数据流的传输过程中,每隔预设时间间隔,周期性的主动计算该多条可用的传输路径的传输时延和可用带宽,从而对存储的多条可用的传输路径的传输时延和可用带宽进行更新,进而保证该数据流的每个数据包均可以通过当下传输时延最小或者是可用带宽最大的传输路径进行传输。
需要说明的是,当发送端确定第一数据包是该数据流的第一个数据包之后,由于在接收到该数据流的后续数据包时,发送端需要获取已发送数据量以及计算每相邻两个数据包之间的接收时间间隔,因此,发送端需要记录该数据流的每个数据包的接收时间和每个数据包的接收时间之前的已发送数据量。进一步地,为了便于后续管理和存储该数据流的数据包的接收时间和数据流的已发送数据量,当发送端确定第一数据包是该数据流的第一个数据包之后,可以为该数据流建立流表项。之后,将该第一个数据包的数据量确定为已发送数据量,并将该确定的已发送数据量和接收到第一个数据包的接收时间存储于该流表项中。
当然,为了操作简便,发送端也可以不必建立该数据流的流表项,而是直接将第一个数据包的数据量确定为已发送数据量,并将该已发送数据量和第一个数据包的接收时间进行存储。也即是,通过流表项存储接收时间和已发送数据量只是一种可选的实现方式,实际应用中还可以通过其他的实现方式来存储 接收时间和已发送数据量。本发明实施例以接收时间和已发送数据量存储于流表项中为例进行说明。
当发送端接收到的第一数据包为该数据流的第一个数据包时,可以通过上述方法为第一个数据包选择传输路径,并对第一个数据包的接收时间和已发送数据量进行存储。当第一数据包不为该数据流的第一个数据包时,发送端则可以通过步骤203-205来为第一数据包选择传输路径,并通过选择的传输路径对第一数据包进行传输。
步骤203:发送端确定第一接收时间与第二接收时间之间的时间间隔,第一接收时间为该发送端接收到第一数据包的时间,第二接收时间为该发送端接收到第二数据包的时间,第一数据包与第二数据包为该数据流中相邻的数据包,且第二数据包在第一数据包之前。
当发送端接收到数据流的第一数据包且该第一数据包不是该数据流的第一个数据包时,发送端可以记录接收到该第一数据包的第一接收时间。由于该第一数据包不是该数据流的第一个数据包,也即是,在该第一数据包之前存在第二数据包,因此,发送端可以从流表项中获取与该第一数据包相邻的第二数据包的接收时间,即第二接收时间,并计算第一接收时间和第二接收时间之间的差,从而得到时间间隔。
当确定第一数据包和第二数据包之间的时间间隔之后,发送端可以将该数据流的流表项中的第二接收时间直接替换为第一接收时间,以便在接收到下一个数据包时能快速的通过流表项中存储的唯一一个接收时间来确定时间间隔。当然,发送端也可以直接将该第一接收时间存储于流表项中,在这种情况下,该数据流的流表项中将存储有多个接收时间。相应地,当发送端再次接收到该数据流的数据包时,可以从该流表项存储的多个接收时间中选择距离当前时间最近的一个接收时间,并将选择的接收时间确定为第二接收时间。
步骤204:发送端获取该数据流的已发送数据量,该已发送数据量为第一接收时间之前发送的数据量。
当确定第一数据包和第二数据包之间的时间间隔之后,发送端可以从数据流的流表项中获取该数据流的已发送数据量。其中,该数据流的流表项中可以只存储有一个已发送数据量,该已发送数据量是距离当前时间最近一次更新的已发送数据量,当然,该数据流的流表项中也可以存储有第一接收时间之前的多个已发送数据量。当该数据流的流表项中存储有多个已发送数据量时,发送端可以从多个已发送数据量中获取存储时间距离当前时间最近的一个已发送数据量。
步骤205:发送端基于时间间隔与已发送数据量,从多条可用的传输路径中确定第一数据包的传输路径,并通过确定的传输路径将该第一数据包传输至接收端。
当确定时间间隔并获取到已发送数据量之后,发送端根据该时间间隔和已发送数据量,可以通过以下(1)-(3)的步骤来从多条可用的传输路径中确定第一数据包的传输路径。
(1)发送端可以判断该时间间隔是否小于预设时间阈值。在该时间间隔小于预设时间阈值的情况下,执行步骤(2)。在该时间间隔不小于预设时间阈值的情况下,执行步骤(3)。
(2)发送端判断已发送数据量是否小于预设流量阈值。在已发送数据量不小于预设流量阈值的情况下,发送端从多条可用的传输路径中选择可用带宽最大的传输路径,并将选择的传输路径确定为第一数据包的传输路径。在已发送数据量小于预设流量阈值的情况下,发送端从多条可用的传输路径中选择传输时延最小的传输路径;将选择的传输路径确定为第一数据包的传输路径。
其中,在发送端确定第一数据包与第二数据包之间的时间间隔小于预设时间阈值,且已发送的数据量不小于预设流量阈值的情况下,发送端可以将该第一数据包所属的数据流确定为数据量较大的大数据流。由于在传输过程中,传输路径的可用带宽对大数据流的传输速率的影响要远远大于传输时延对大数据流的传输速率的影响,也即是,大数据流对传输路径的可用带宽要求更为严格。因此,当确定第一数据包所属的数据流为大数据流时,发送端可以从多条可用的传输路径中选择可用带宽最大的传输路径作为第一数据包的传输路径,并通过该选择的传输路径传输第一数据包,以此来提高第一数据包的传输速率,进而提高该数据流的传输速率,缩短该数据流的传输完成时间。
在发送端确定第一数据包与第二数据包之间的时间间隔小于预设时间阈值,且已发送的数据量小于预设流量阈值的情况下,由于发送端此时并不能获知该数据流的总数据量是否大于预设流量阈值,因此也就不能完全确定该数据流是否为大数据流还是小数据流,但是,为了能够及时将该第一数据包进行发送,发送端可以根据该已发送数据量,暂时将该第一数据包所属的数据流确定为数据量较小的小数据流。由于在数据传输过程中,传输路径的传输时延对小数据流的传输速率的影响要远远大于可用带宽对小数据流的传输速率的影响,也即是,小数据流对传输路径的传输时延要求更为严格。在这种情况下,发送端可以从多条可用的传输路径中选择传输时延最小的传输路径作为第一数据包的传输路径,并通过该选择的传输路径来传输第一数据包,以此来提高第一数据包的传输速率,进而缩短该数据流的传输完成时间。
进一步地,在确定第一数据包的传输路径之后,由于当前的已发送数据量并没有达到预设流量阈值,因此,如果后续数据包的时间间隔仍小于预设时间阈值时,发送端需要根据累计的已发送数据量为后续数据包选择可用带宽最大的传输路径。也即是,为了便于后续数据包到达时,可以更准确的通过已发送数据量来继续为数据包选择传输路径,发送端需要将数据流的已发送数据量增加第一数据包的数据量,以对数据流的已发送数据量进行更新。相应地,如果发送端在接收到第二数据包时,第二数据包与其上一个数据包之间的时间间隔小于预设时间阈值,那么可知,在确定第二数据包的传输路径之后,该流表项中的已发送数据量就是通过上述方法进行更新的,也即是,发送端在接收到第一数据包时从流表项中获取到的已发送数据量是第一接收时间之前多个已经发送的数据包的累计数据量。
当然,如果发送端接收到的第一数据包是该数据流的第二个数据包,那么,发送端通过步骤204获取的已发送数据量即为第二数据包的数据量,此时,第二数据包是该数据流的第一个数据包。
(3)发送端从多条可用的传输路径中选择传输时延最小的传输路径;将选择的传输路径确定为第一数据包的传输路径。
在发送端确定第一数据包与第二数据包之间的时间间隔大于预设时间阈值的情况下,由于不会再出现相邻数据包由于时间间隔太小而没有机会重新选择传输路径的问题,因此,发送端可以不必再判断已发送数据量是否大于预设流量阈值,而是直接从多条可用的传输路径中选择传输时延最小的传输路径作为第一数据包的传输路径。
进一步地,在确定时间间隔大于预设时间阈值时第一数据包的传输路径之后,发送端还可以将该数据流的已发送数据量更新为第一数据包的数据量。
在这种情况下,由于该第一数据包和第二数据包之间的时间间隔大于预设时间阈值,发送端为该第一数据包选择了传输时延最小的传输路径,也即是,发送端按照为该数据流的第一个数据包选择传输路径的方式为该第一数据包选择了传输路径,因此,在对已发送数据量进行更新时,也将该第一数据包看做第一个数据包,即将第一接收时间之前累计的已发送数据量清零,并更新为该第一数据包的数据量。相应地,如果发送端在接收到第二数据包时,第二数据包与其上一个数据包之间的时间间隔大于预设时间阈值,那么可知,在确定第二数据包的传输途径之后,该流表项中的已发送数据量就是通过上述方法进行更新的,也即是,发送端在接收到第一数据包时从流表项中获取的已发送数据量是第二数据包的数据量。
例如,假设用户通过终端发送一个数据流,该数据流包含有20个数据包,每个数据包的数据量为100B,第19个数据包和第20个数据包之间的时间间隔为100ms,其余每相邻两个数据包之间的时间间隔均为40ms,预设时间阈值为50ms,预设流量阈值为1000B。
当发送端接收到该数据流的第1个数据包时,从多条可用的传输路径中选择传输时延最小的传输路径作为第1个数据包的传输路径,与此同时,为该数据流建立流表项,将第1个数据包的数据量100B作为已发送数据量,与接收到第1个数据包的接收时间一起存储于该流表项。
当发送端接收到第2个数据包时,记录第2个数据包的接收时间,然后,从流表项中读取第1个数据包的接收时间,计算第1个数据包的接收时间和第2个数据包的接收时间之间的时间间隔为40ms,从流表项中获取的已发送数据量为100B,由于该时间间隔40ms小于预设时间阈值50ms,且已发送数据量100B小于预设流量阈值1000B,因此,发送端在无法获知该数据流的总数据量的情况下,可以暂时根据该已发送数据量100B,确定该数据流为小数据流。由于小数据流对传输时延更敏感,因此,发送端从多条可用的传输路径中选择时延最小的传输路径,将选择的传输路径作为第2个数据包的传输路径,并通过第2个数据包的传输路径传输第2个数据包,与此同时,由于已发送数据量还没有 达到预设流量阈值,为了后续数据包到达时,发送端能够根据已发送数据量确定该数据流为大数据流还是小数据流,从而为后续数据包选择传输路径,发送端将数据流的流表项中存储的第1个数据包的接收时间更新为第2个数据包的接收时间,将已发送数据量100B更新为200B,即将已发送数据量增加第2个数据包的数据量。
当发送端接收到第3个数据包直到第10个数据包,都可以采用与上述同样的方法为其选择传输路径,从而进行数据传输。
当发送端接收到第11个数据包时,根据第11个数据包的接收时间和第10个数据包的接收时间可以确定时间间隔依然为40ms,而从流表项中读取的已发送数据量为第1-10个数据包的数据量之和,即已发送数据量为1000B,已达到预设流量阈值1000B,此时,发送端可以根据该已发送数据量完全确定该数据流为大数据流,因此,可以从多条可用的传输路径中选择可用带宽最大的传输路径,将选择的传输路径作为第11个数据包的传输路径,并对地11个数据包进行传输,与此同时,由于已经可以确定该数据流为大数据流,因此,如果后续数据包的时间间隔仍小于预设时间阈值时,发送端需要根据累计的已发送数据量为后续数据包选择可用带宽最大的传输路径。在这种情况下,发送端需要将流表项中的第10个数据包的接收时间更新为第11个数据包的接收时间,将已发送数据量增加第11个数据包的数据量,即将已发送数据量更新为1100B。
当发送端接收到第12-19个数据包时,由于已发送数据量均大于预设流量阈值,因此,均可以采用为第11个数据包选择传输路径的方法来选择传输路径。
当发送端接收到第20个数据包时,根据第20个数据包的接收时间和从流表项中获取到的第19个数据包的接收时间,可以确定时间间隔为100ms,且从流表项中获取到的已发送数据量为1900B,此时,由于确定的时间间隔100ms大于预设时间间隔50ms,因此,发送端将第20个数据包按照该数据流的第1个数据包进行处理,不再判断该已发送数据量是否大于预设流量阈值,而是直接从多条可用的传输路径中选择时延最小的传输路径,并将选择的传输路径确定为第20个数据包的传输路径,对第20个数据包进行传输。另外,由于发送端并不能判断第20个数据包就是该数据流的最后一个数据包,因此,还需要将流表项中的接收时间更新为第20个数据包的更新时间,并且,由于发送端按照处理第1个数据包的方式对第20个数据包进行了处理,因此,当确定了第20个数据包的传输路径之后,发送端也应该按照确定第1个数据包的传输路径之后设置已发送数据量的方式更新已发送数据量,即将第20个数据包之前累计的已发送数据量清零,并将已发送数据量更新为第20个数据包的数据量。
在本发明实施例中,发送端在接收到数据流的第一数据包,且该第一数据包不为数据流的第一个数据包时,确定第一数据包的接收时间和第二数据包的接收时间之间的时间间隔,并获取已发送数据量,其中,第二数据包是该数据流中与第一数据包相邻的数据包,且第二数据包在第一数据包之前。之后,根据该时间间隔和已发送数据量,从多条可用的传输路径中为第一数据包选择传输路径,并通过选择的传输路径传输第一数据包。由于第一数据包的传输路径 的选择不仅仅取决于其与上一个数据包之间的时间间隔,还取决于第一数据包对应的第一接收时间之前发送的数据量,这样,根据时间间隔和已发送数据量的不同,可以从多条可用的传输路径中为每一个待传输的数据包选择相应的传输路径,避免了数据流中大量数据包密集到达时,由于相邻数据包到达发送端的时间间隔过小而没有机会重新选择传输路径的问题,有效地提高了数据传输速率和传输路径的利用率。
另外,根据时间间隔和已发送数据量大小的不同,发送端可以从多条可用的传输路径中选择传输时延最小的或者是可用带宽最大的传输路径作为第一数据包的传输路径,从而使第一数据包可以通过最适合的传输路径进行传输,进一步地提高了数据流的传输速率。并且,由于发送端可以周期性的计算多条可用的传输路径的传输时延和可用带宽,来对存储的传输时延和可用带宽进行更新,因此,对于该数据流中的每个数据包,发送端均可以选择最近更新的传输时延最小的或者是可用带宽最大的传输路径来进行传输,进一步地保证了数据流的传输速率。
参见图3,本发明实施例提供了一种数据传输装置,该数据传输装置部署于发送端上,且该数据传输装置用于执行上述图2所示的方法,该数据传输装置包括第一确定模块301、获取模块302和第二确定模块303:
第一确定模块301,用于执行上述实施例中的步骤203;
获取模块302,用于执行上述实施例中的步骤204;
第二确定模块303,用于执行上述实施例中的步骤205。
可选地,第二确定模块303包括:
第一选择单元,用于在时间间隔小于预设时间阈值且已发送数据量不小于预设流量阈值的情况下,从多条可用的传输路径中选择可用带宽最大的传输路径;
第一确定单元,用于将选择的传输路径确定为第一数据包的传输路径。
可选地,第二确定模块303包括:
第二选择单元,用于在时间间隔小于预设时间阈值且已发送数据量小于预设流量阈值时,从多条可用的传输路径中选择传输时延最小的传输路径;
第二确定单元,用于将选择的传输路径确定为第一数据包的传输路径。
可选地,第二确定模块303还包括:
第一更新单元,用于将数据流的已发送数据量增加第一数据包的数据量,以对数据流的已发送数据量进行更新。
可选地,第二确定模块303包括:
第三选择单元,用于在时间间隔不小于预设时间阈值的情况下,从多条可用的传输路径中选择传输时延最小的传输路径;
第三确定单元,用于将选择的传输路径确定为第一数据包的传输路径。
可选地,第二确定模块303还包括:
第二更新单元,用于将数据流的已发送数据量更新为第一数据包的数据量。
可选地,该数据传输装置还包括:
选择模块,用于在第一数据包为数据流的第一个数据包的情况下,从多条可用的传输路径中选择传输时延最小的传输路径;
第三确定模块,用于将选择的传输路径确定为第一数据包的传输路径,并将第一数据包传输至接收端。
可选地,数据流的数据包的接收时间和数据流的已发送数据量存储于数据流的流表项中,流表项是发送端在接收到数据流的第一个数据包建立得到。
综上所述,在本发明实施例中,发送端在接收到数据流的第一数据包,且该第一数据包不为数据流的第一个数据包时,确定第一数据包的接收时间和第二数据包的接收时间之间的时间间隔,并获取已发送数据量,其中,第二数据包是该数据流中与第一数据包相邻的数据包,且第二数据包在第一数据包之前。之后,根据该时间间隔和已发送数据量,从多条可用的传输路径中为第一数据包选择传输路径,并通过选择的传输路径传输第一数据包。由于第一数据包的传输路径的选择不仅仅取决于其与上一个数据包之间的时间间隔,还取决于接收到第一数据包的接收时间之前已发送的数据量,这样,根据时间间隔和已发送数据量的不同,可以从多条可用的传输路径中为每一个待传输的数据包选择相应的传输路径,避免了数据流中大量数据包密集到达时,由于相邻数据包到达发送端的时间间隔过小而没有机会重新选择传输路径的问题,有效地提高了数据传输速率和传输路径的利用率。
另外,根据时间间隔和已发送数据量大小的不同,发送端可以从多条可用的传输路径中选择传输时延最小的或者是可用带宽最大的传输路径作为第一数据包的传输路径,从而使第一数据包可以通过最适合的传输路径进行传输,进一步地提高了数据流的传输速率。并且,由于发送端可以周期性的计算多条可用的传输路径的传输时延和可用带宽,来对存储的传输时延和可用带宽进行更新,因此,对于该数据流中的每个数据包,发送端均可以选择最近更新的传输时延最小的或者是可用带宽最大的传输路径来进行传输,进一步地保证了数据流的传输速率。
图4是本发明实施例提供的一种网络设备的结构示意图。该网络设备可以为Overlay网络中的虚拟网络设备,也可以为未部署Overlay网络的广域网中的物理网络设备。例如,图1的Overlay网络中的虚拟路由器的功能即可以通过该网络设备来实现。参见图4,该网络设备包括至少一个处理器401,通信总线402,存储器403,接收器404以及发射器405。
处理器401可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线402可包括一通路,在上述组件之间传送信息。
存储器403可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory, RAM))或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器403可以是独立存在,通过通信总线402与处理器401相连接。存储器403也可以和处理器401集成在一起。
接收器404可以用于接收待传输的数据流的数据包。发射器405可以将接收到的数据包通过选择的传输路径进行传输。并且,存储器403可以用于存储用于执行该数据传输方法的一个或多个运行程序和/或模块。
在具体实现中,作为一种实施例,处理器401可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,该网络设备可以包括多个处理器,例如图2中所示的处理器401和处理器406。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,该网络设备还可以包括输出设备407和输入设备408输出设备407和处理器401通信,可以以多种方式来显示信息。例如,输出设备407可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备408和处理器401通信,可以以多种方式接收用户的输入。例如,输入设备408可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的网络设备可以是一个通用网络设备或者是一个专用网络设备。在具体实现中,该网络设备可以是台式机、便携式电脑、网络服务器、物理路由器、交换机、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备或者嵌入式设备。本发明实施例不限定网络设备的类型。
其中,存储器403用于存储执行本申请方案的程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的程序代码409。程序代码409中可以包括一个或多个软件模块。图1中所示的Overlay网络中的虚拟路由器可以通过处理器401以及存储器403中的程序代码409中的一个或多个软件模块,来确定用于传输数据流的数据包的传输路径。
需要说明的是:上述实施例提供的数据传输装置在进行数据传输时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据传输装置的内部结构划分成不同的功 能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
应理解,本文中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本发明实施例的范围。
还应理解,在本申请的各种实施例中,上述各过程/步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))、或者半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (16)

  1. 一种数据传输方法,其特征在于,所述方法包括:
    在发送端接收到数据流的第一数据包且所述第一数据包不是所述数据流的第一个数据包的情况下,确定第一接收时间与第二接收时间之间的时间间隔,所述第一接收时间为所述发送端接收到所述第一数据包的时间,所述第二接收时间为所述发送端接收到第二数据包的时间,所述第一数据包与所述第二数据包为所述数据流中相邻的数据包,且所述第二数据包在所述第一数据包之前;
    所述发送端获取所述数据流的已发送数据量,所述已发送数据量为所述第一接收时间之前发送的数据量;
    所述发送端基于所述时间间隔与所述已发送数据量,从多条可用的传输路径中确定所述第一数据包的传输路径,并通过确定的传输路径将所述第一数据包传输至接收端,所述多条可用的传输路径为所述发送端可用于将所述数据流传输至所述接收端的传输路径。
  2. 如权利要求1所述的方法,其特征在于,所述发送端基于所述时间间隔与所述已发送数据量,从多条可用的传输路径中确定所述第一数据包的传输路径,包括:
    在所述时间间隔小于预设时间阈值且所述数据流的已发送数据量不小于预设流量阈值的情况下,所述发送端从所述多条可用的传输路径中选择可用带宽最大的传输路径;
    所述发送端将选择的传输路径确定为所述第一数据包的传输路径。
  3. 如权利要求1所述的方法,其特征在于,所述发送端基于所述时间间隔与所述已发送数据量,从多条可用的传输路径中确定所述第一数据包的传输路径,包括:
    在所述时间间隔小于预设时间阈值且所述数据流的已发送数据量小于预设流量阈值的情况下,所述发送端从所述多条可用的传输路径中选择传输时延最小的传输路径;
    所述发送端将选择的传输路径确定为所述第一数据包的传输路径。
  4. 如权利要求2或3所述的方法,其特征在于,所述发送端将选择的传输路径确定为所述第一数据包的传输路径之后,还包括:
    所述发送端将所述数据流的已发送数据量增加所述第一数据包的数据量,以对所述数据流的已发送数据量进行更新。
  5. 如权利要求1所述的方法,其特征在于,所述发送端基于所述时间间隔与所述已发送数据量,从多条可用的传输路径中确定所述第一数据包的传输路径,包括:
    在所述时间间隔不小于预设时间阈值的情况下,所述发送端从所述多条可 用的传输路径中选择传输时延最小的传输路径;
    所述发送端将选择的传输路径确定为所述第一数据包的传输路径。
  6. 如权利要求5所述的方法,其特征在于,所述发送端将选择的传输路径确定为所述第一数据包的传输路径之后,还包括:
    所述发送端将所述数据流的已发送数据量更新为所述第一数据包的数据量。
  7. 如权利要求1-6任一所述的方法,其特征在于,所述在发送端接收到数据流的第一数据包之后,还包括:
    在所述第一数据包为所述数据流的第一个数据包的情况下,所述发送端从所述多条可用的传输路径中选择传输时延最小的传输路径;
    所述发送端将选择的传输路径确定为所述第一数据包的传输路径,并将所述第一数据包传输至所述接收端。
  8. 如权利要求1-7任一所述的方法,其特征在于,所述数据流的数据包的接收时间和所述数据流的已发送数据量存储于所述数据流的流表项中,所述流表项是所述发送端在接收到所述数据流的第一个数据包建立得到。
  9. 一种数据传输装置,其特征在于,所述装置部署于发送端上,所述装置包括:
    第一确定模块,用于在接收到数据流的第一数据包且所述第一数据包不是所述数据流的第一个数据包的情况下,确定第一接收时间与第二接收时间之间的时间间隔,所述第一接收时间为接收到所述第一数据包的时间,所述第二接收时间为接收到第二数据包的时间,所述第一数据包与所述第二数据包为所述数据流中相邻的数据包,且所述第二数据包在所述第一数据包之前;
    获取模块,用于获取所述数据流的已发送数据量,所述已发送数据量为所述第一接收时间之前发送的数据量;
    第二确定模块,用于基于所述时间间隔与所述已发送数据量,从多条可用的传输路径中确定所述第一数据包的传输路径,并通过确定的传输路径将所述第一数据包传输至接收端,所述多条可用的传输路径为所述发送端可用于将所述数据流传输至所述接收端的传输路径。
  10. 如权利要求9所述的装置,其特征在于,所述第二确定模块包括:
    第一选择单元,用于在所述时间间隔小于预设时间阈值且所述已发送数据量不小于预设流量阈值的情况下,从所述多条可用的传输路径中选择可用带宽最大的传输路径;
    第一确定单元,用于将选择的传输路径确定为所述第一数据包的传输路径。
  11. 如权利要求9所述的装置,其特征在于,所述第二确定模块包括:
    第二选择单元,用于在所述时间间隔小于预设时间阈值且所述已发送数据量小于预设流量阈值的情况下,从所述多条可用的传输路径中选择传输时延最小的传输路径;
    第二确定单元,用于将选择的传输路径确定为所述第一数据包的传输路径。
  12. 如权利要求10或11所述的装置,其特征在于,所述第二确定模块还包括:
    第一更新单元,用于将所述数据流的已发送数据量增加所述第一数据包的数据量,以对所述数据流的已发送数据量进行更新。
  13. 如权利要求9所述的装置,其特征在于,所述第二确定模块包括:
    第三选择单元,用于在所述时间间隔不小于预设时间阈值的情况下,从所述多条可用的传输路径中选择传输时延最小的传输路径;
    第三确定单元,用于将选择的传输路径确定为所述第一数据包的传输路径。
  14. 如权利要求13所述的装置,其特征在于,所述第二确定模块还包括:
    第二更新单元,用于将所述数据流的已发送数据量更新为所述第一数据包的数据量。
  15. 如权利要求9-14任一所述的装置,其特征在于,所述装置还包括:
    选择模块,用于在所述第一数据包为所述数据流的第一个数据包情况下,从所述多条可用的传输路径中选择传输时延最小的传输路径;
    第三确定模块,用于将选择的传输路径确定为所述第一数据包的传输路径,并将所述第一数据包传输至所述接收端。
  16. 如权利要求9-15任一所述的装置,其特征在于,所述数据流的数据包的接收时间和所述数据流的已发送数据量存储于所述数据流的流表项中,所述流表项是所述发送端在接收到所述数据流的第一个数据包建立得到。
PCT/CN2018/082437 2017-04-11 2018-04-10 一种数据传输方法及装置 WO2018188570A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP18784071.5A EP3585013B1 (en) 2017-04-11 2018-04-10 Data transmission method and apparatus
US16/600,720 US11252078B2 (en) 2017-04-11 2019-10-14 Data transmission method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710232774.0A CN108696427B (zh) 2017-04-11 2017-04-11 一种数据传输方法及装置
CN201710232774.0 2017-04-11

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/600,720 Continuation US11252078B2 (en) 2017-04-11 2019-10-14 Data transmission method and apparatus

Publications (1)

Publication Number Publication Date
WO2018188570A1 true WO2018188570A1 (zh) 2018-10-18

Family

ID=63792274

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/082437 WO2018188570A1 (zh) 2017-04-11 2018-04-10 一种数据传输方法及装置

Country Status (4)

Country Link
US (1) US11252078B2 (zh)
EP (1) EP3585013B1 (zh)
CN (2) CN111740903B (zh)
WO (1) WO2018188570A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382437A (zh) * 2020-03-10 2021-09-10 华为技术有限公司 一种随流检测方法及装置
CN111917661B (zh) * 2020-07-29 2023-05-02 抖音视界有限公司 数据传输方法、装置、电子设备和计算机可读存储介质
CN112565102B (zh) * 2020-11-30 2022-11-11 锐捷网络股份有限公司 一种负载均衡方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651599A (zh) * 2008-08-12 2010-02-17 中国移动通信集团公司 多路径无线路由方法及装置
CN102185771A (zh) * 2011-05-05 2011-09-14 清华大学 Mptcp中发送方数据包调度方法及系统
CN102469029A (zh) * 2010-11-17 2012-05-23 汤姆森特许公司 确定多项通信设备之间的通信路径的方法和装置
CN103501209A (zh) * 2013-09-25 2014-01-08 中国科学院声学研究所 一种异构多网协同传输的单业务分流方法和设备
US20150215922A1 (en) * 2014-01-28 2015-07-30 Samsung Electronics Co., Ltd. Method and apparatus for traffic distribution control in heterogeneous wireless networks
CN105871723A (zh) * 2015-12-14 2016-08-17 乐视云计算有限公司 数据传输方法、装置及系统

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4693328B2 (ja) * 2000-03-15 2011-06-01 インフォジム インフォルマティオンステヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング ネットワーク中で最適データパスを介してデータを通信する方法とシステム
US7065045B2 (en) * 2001-01-03 2006-06-20 International Business Machines Corporation Method and system for providing an optimal path choice for differentiated services
JP2004140539A (ja) * 2002-10-17 2004-05-13 Hitachi Ltd 情報ルーティング方式および情報中継装置
CA2581189A1 (en) * 2004-09-29 2006-04-13 Sonus Networks, Inc. Logical trunk groups in a packet-based network
WO2006047732A2 (en) * 2004-10-27 2006-05-04 Eg Technology, Inc. Network architecture for real time delivery of video over lossy networks from remote locations
JP4553315B2 (ja) * 2006-03-07 2010-09-29 株式会社Kddi研究所 パケット遅延から輻輳パスを分類する輻輳パス分類方法、管理装置及びプログラム
US8085799B2 (en) * 2007-06-19 2011-12-27 International Business Machines Corporation System, method and program for network routing
JP2010033188A (ja) 2008-07-25 2010-02-12 Fujitsu Ltd 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法
JP5075784B2 (ja) * 2008-10-01 2012-11-21 株式会社エヌ・ティ・ティ・ドコモ 移動通信システム及び送信側ノード
US8792495B1 (en) * 2009-12-19 2014-07-29 Cisco Technology, Inc. System and method for managing out of order packets in a network environment
CN101888664B (zh) * 2010-06-25 2013-04-24 陶洋 无线自组织网络中视频多路并行传送方法
KR101385784B1 (ko) * 2011-11-30 2014-04-30 삼성에스디에스 주식회사 데이터 송신장치 및 그 방법과 전송률 결정 방법
US9565213B2 (en) * 2012-10-22 2017-02-07 Centripetal Networks, Inc. Methods and systems for protecting a secured network
CN103139070B (zh) * 2013-01-29 2016-03-02 大唐移动通信设备有限公司 一种数据发送的路径选择方法及装置
US10200263B2 (en) * 2013-04-19 2019-02-05 Nec Corporation Data transmission device, data transmission method, and program therefor
WO2015131943A1 (en) * 2014-03-05 2015-09-11 Huawei Technologies Co., Ltd. Access node device for forwarding data packets
EP2950488A1 (en) * 2014-05-27 2015-12-02 Xieon Networks S.à r.l. Adaptive traffic routing in communication networks
US9838311B2 (en) * 2015-01-30 2017-12-05 Huawei Technologies Co., Ltd. Node, network controller, and associated methods for routing data packets in a network
US9680731B2 (en) * 2015-02-27 2017-06-13 International Business Machines Corporation Adaptive software defined networking controller
US10541915B2 (en) * 2015-03-27 2020-01-21 Intel Corporation Techniques for routing packets within an evolved packet core
CN105245399B (zh) * 2015-09-08 2019-01-18 海南大学 一种端到端网络通信路径中瓶颈链路的度量方法
US10142248B2 (en) * 2015-09-29 2018-11-27 Huawei Technologies Co., Ltd. Packet mis-ordering prevention in source routing hitless reroute using inter-packet delay and precompensation
US10097464B1 (en) * 2015-12-29 2018-10-09 Amazon Technologies, Inc. Sampling based on large flow detection for network visibility monitoring
CN105933232B (zh) * 2016-03-29 2018-10-23 东北大学 支持多业务数据传输需求的多径传输控制终端及方法
CN106102093A (zh) * 2016-06-02 2016-11-09 重庆邮电大学 一种无线自组织网络中多路径数据包分配调度方法
CN106453130A (zh) * 2016-09-30 2017-02-22 杭州电子科技大学 一种基于大象流精确识别的流量调度系统及方法
JP7173587B2 (ja) * 2016-12-21 2022-11-16 デジェロ ラブス インコーポレイテッド パケット伝送システムおよび方法
CN106533960B (zh) * 2016-12-23 2019-07-26 重庆邮电大学 一种基于Fat-Tree结构的数据中心网络路由方法
US10243856B2 (en) * 2017-03-24 2019-03-26 Intel Corporation Load balancing systems, devices, and methods

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651599A (zh) * 2008-08-12 2010-02-17 中国移动通信集团公司 多路径无线路由方法及装置
CN102469029A (zh) * 2010-11-17 2012-05-23 汤姆森特许公司 确定多项通信设备之间的通信路径的方法和装置
CN102185771A (zh) * 2011-05-05 2011-09-14 清华大学 Mptcp中发送方数据包调度方法及系统
CN103501209A (zh) * 2013-09-25 2014-01-08 中国科学院声学研究所 一种异构多网协同传输的单业务分流方法和设备
US20150215922A1 (en) * 2014-01-28 2015-07-30 Samsung Electronics Co., Ltd. Method and apparatus for traffic distribution control in heterogeneous wireless networks
CN105871723A (zh) * 2015-12-14 2016-08-17 乐视云计算有限公司 数据传输方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3585013A4

Also Published As

Publication number Publication date
CN108696427A (zh) 2018-10-23
US20200044956A1 (en) 2020-02-06
EP3585013B1 (en) 2021-12-01
CN111740903A (zh) 2020-10-02
CN108696427B (zh) 2020-05-08
EP3585013A4 (en) 2020-02-12
EP3585013A1 (en) 2019-12-25
US11252078B2 (en) 2022-02-15
CN111740903B (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
US10680928B2 (en) Multi-stream transmission method and device in SDN network
WO2019196630A1 (zh) 负载均衡的方法、设备及系统
US20110145842A1 (en) Systems, Methods and Computer Readable Media for Routing Requests from an Application
WO2020125539A1 (zh) 一种节点设备的选择方法及其相关设备
US20190020561A1 (en) Systems and methods for management of cloud exchanges
US20180285294A1 (en) Quality of service based handling of input/output requests method and apparatus
WO2018188570A1 (zh) 一种数据传输方法及装置
US10826823B2 (en) Centralized label-based software defined network
US20150188824A1 (en) Link aggregation (lag) information exchange protocol
WO2017140112A1 (zh) 一种多路径转发报文方法及装置
CN112311674B (zh) 报文发送方法、装置及存储介质
WO2022110948A1 (zh) 路径权重分配方法以及装置
US11088954B2 (en) Link detection method and related apparatus
WO2018053894A1 (zh) 物联网基于传输速率的接入点切换方法及装置
CN111817985A (zh) 业务处理方法及装置
US20170054818A1 (en) Preferred Network Information
US9692685B2 (en) Heterogeneous network system, network apparatus, and rendezvous path selection method thereof
WO2022048559A1 (zh) 一种接入网关的方法及装置
EP2939382B1 (en) Distributed data processing system
US11956214B2 (en) Media access control address learning limit on a virtual extensible local area multi-homed network Ethernet virtual private network access port
KR101841143B1 (ko) 패킷의 재전송으로 인한 지연을 단축시키기 위한 패킷의 플로우 스케줄링 방법 및 장치
JP6076569B2 (ja) コネクションパス管理システム及びコネクションパス管理方法及びコネクションパス管理プログラム
CN116232999A (zh) 用于网络集群的流量调度方法及装置、电子设备和介质
JP2020129711A (ja) 経路選択方法、経路選択装置および経路選択プログラム
WO2019079966A1 (zh) 分布式爬虫任务分配方法及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18784071

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018784071

Country of ref document: EP

Effective date: 20190920

NENP Non-entry into the national phase

Ref country code: DE