一种多路径流量发送的方法及装置与流程

文档序号:14281515阅读:195来源:国知局
一种多路径流量发送的方法及装置与流程

本发明实施例涉及通信技术领域,尤其涉及一种多路径流量发送的方法及装置。



背景技术:

目前的互联网是一种互联自治的系统,它的基本组成部分是自治系统,不同层次的自治系统由一些关键节点连接起来,进而组成更大的自治系统和整个互联网。互联网要保证高质量的通信能力,必须有高效的流量转发机制作保证。传统的流量转发技术是基于ip(internetprotocol,网络协议)地址的逐跳转发,这种方式往往造成骨干路径或者核心网络的流量集中,给相应的设备增加了很大的压力,同时也很难保证网络性能,这种状态本质上是因为高位运行往往造成高风险。该问题最简单的解决方法是提高单节点性能,从而应付流量高峰时段的压力,但这种方法缺点明显,一方面,技术上存在单机性能瓶颈,另一方面,流量高峰时段往往很短,这就造成大量的资源浪费,这种状态本质上是一种轻载运行与资源浪费悖论。另一种解决方法是充分利用网络中的多路径,这种方式不但能够充分利用网络中的资源,而且有很大的扩展能力,不会受到单机性能的影响。

为了能够充分利用网络中的多路径,研究人员做了大量的工作,广域网环境下的多路径流量调节研究集中在流量工程领域,近年来的热点转到了数据中心。要实现多路径转发流量,通常需要四个步骤:1)计算可用多路径;2)测量可用多路径的质量;3)根据路径的质量将流量在不同的路径上按相应比例分发;4)流量转发的具体实现。在整个过程中,流量调度粒度至关重要:粒度太粗,起不到调节作用;粒度太细,往往造成调度单位的乱序。

在多种流量转发技术中基于报文的流量转发技术比较常见,路由器中对数据包的处理是按照报文为单位的,所以在多路径流量划分中基于报文的方式是最自然的方式。基于报文的流量划分算法的工作过程如下:对于去往同一个目的地的所有数据包,按照先后顺序在去往该目的地的所有多路径上用轮转的方式进行转发。比如有路径1、路径2、路径3三条路径,有报文1、报文2、报文3、报文4…。则报文1走路径1,报文2走路径2,报文3走路径3,报文4走路径1…。如果在多条路径上的流量分担比例不是一样的,还可以进行带有权重的轮转方式。比如三条路径的权重比是1:2:1。则报文1走路径1,报文2和报文3走路径2,报文4走路径3,报文5走路径1…。

上述方案中基于报文的流量划分算法的缺点也比较明显。因为没有考虑数据流的信息,对于同一个数据流内的报文,可能会走不同的路径,而不同路径的延迟可能会不同,所以很容易造成数据流内的乱序问题。乱序问题对于上层的传输协议影响较大,很容易引起整个网络性能的下降。



技术实现要素:

本发明实施例提供一种多路径流量发送的方法及装置,用以解决的现有技术中流量转发时产生乱序的问题。

第一方面,提供一种多路径流量发送的方法,包括:

边缘节点获取待切换路径的报文,所述待切换路径的报文为流量转发过程中因负载均衡引起的从第一路径切换到第二路径转发的报文,其中第一路径上当前发送的报文与所述待切换路径的报文属于同一数据流内的报文;

所述边缘节点将所述待切换路径的报文缓存在缓冲区;

所述边缘节点在设定时间长度之后,将所述缓冲区中缓存的待切换路径的报文通过所述第二路径发送,其中,所述设定时间长度满足所述第一路径上当前发送的报文发送完成的时长要求。

结合第一方面,在第一方面的第一种可能的实现方式中,所述边缘节点在将所述缓冲区中缓存的待切换路径的报文通过第二路径发送的过程中,还包括:

若获取新的待切换路径的报文,则所述边缘节点将所述新的待切换路径的报文继续缓存至所述缓冲区。

结合第一方面,在第一方面的第二种可能的实现方式中,在所述边缘节点将所述缓冲区中缓存的待切换路径的报文通过所述第二路径发送完成之后,还包括:

若获取新的待切换路径的报文,则所述边缘节点将所述新的待切换路径的报文直接发送。

结合第一方面,在第一方面的第三种可能的实现方式中,所述边缘节点获取待切换路径的报文,包括:

所述边缘节点获取各路径的流量分担比例以及各路径的实际待发送的报文的数量;

所述边缘节点根据所述各路径的流量分担比例,确定出各路径所需的报文的数量;

所述边缘节点根据所述各路径所需的报文的数量以及所述各路径的实际待发送的报文的数量,确定出待切换路径的报文。

结合第一方面,在第一方面的第四种可能的实现方式中,所述边缘节点获取待切换路径的报文,包括:

所述边缘节点获取各路径的流量分担比例以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间;

所述边缘节点根据所述各路径的流量分担比例,确定出在各路径上发送报文所需的时间;

所述边缘节点根据在各路径上发送报文所需的时间以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间,确定出待切换路径的报文。

结合第一方面或者第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述边缘节点根据所述各路径的流量分担比例,确定出在各路径上发送报文的时间符合下述公式(1):

ti=t*fi-δt……………………………………(1)

其中,ti为在各路径上发送报文的时间,t为调整周期,fi为各路径的流量分担比例,δt为设定时间长度。

第二方面,提供一种多路径流量发送的装置,包括:

收发单元,用于获取待切换路径的报文,所述待切换路径的报文为流量转发过程中因负载均衡引起的从第一路径切换到第二路径转发的报文,其中第一路径上当前发送的报文与所述待切换路径的报文属于同一数据流内的报文;

处理单元,用于将所述收发单元获取的待切换路径的报文缓存在缓冲区;

收发单元还用于在设定时间长度之后,将所述处理单元在缓冲区中缓存的待切换路径的报文通过所述第二路径发送,其中,所述设定时间长度满足所述第一路径上当前发送的报文发送完成的时长要求。

结合第二方面,在第二方面的第一种可能的实现方式中,所述处理单元还用于:

在所述收发单元将所述缓冲区中缓存的待切换路径的报文通过第二路径发送的过程中,通过所述收发单元获取新的待切换路径的报文,将所述新的待切换路径的报文继续缓存至所述缓冲区。

结合第二方面,在第二方面的第二种可能的实现方式中,所述收发单元还用于:

在所述收发单元将所述缓冲区中缓存的待切换路径的报文通过所述第二路径发送完成之后,获取新的待切换路径的报文,将所述新的待切换路径的报文直接发送。

结合第二方面,在第二方面的第三种可能的实现方式中,所述收发单元具体用于:

获取各路径的流量分担比例以及各路径的实际待发送的报文的数量;

根据所述各路径的流量分担比例,确定出各路径所需的报文的数量;

根据所述各路径所需的报文的数量以及所述各路径的实际待发送的报文的数量,确定出待切换路径的报文。

结合第二方面,在第二方面的第四种可能的实现方式中,所述收发单元具体用于:

获取各路径的流量分担比例以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间;

根据所述各路径的流量分担比例,确定出在各路径上发送报文所需的时间;

根据在各路径上发送报文所需的时间以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间,确定出待切换路径的报文。

结合第二方面或者第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述收发单元具体用于:

根据所述各路径的流量分担比例,确定出在各路径上发送报文的时间符合下述公式(1):

ti=t*fi-δt……………………………………(1)

其中,ti为在各路径上发送报文的时间,t为调整周期,fi为各路径的流量分担比例,δt为设定时间长度。

第三方面,提供一种边缘节点,包括:收发器、处理器和存储器;

收发器获取待切换路径的报文,所述待切换路径的报文为流量转发过程中因负载均衡引起的从第一路径切换到第二路径转发的报文,其中第一路径上当前发送的报文与所述待切换路径的报文属于同一数据流内的报文;处理器将所述收发器获取的待切换路径的报文缓存在缓冲区;收发器还用于在设定时间长度之后,将所述处理器在缓冲区中缓存的待切换路径的报文通过所述第二路径发送,其中,所述设定时间长度满足所述第一路径上当前发送的报文发送完成的时长要求。

结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器在所述收发器将所述缓冲区中缓存的待切换路径的报文通过第二路径发送的过程中,通过所述收发器获取新的待切换路径的报文,将所述新的待切换路径的报文继续缓存至所述缓冲区。

结合第三方面,在第三方面的第二种可能的实现方式中,所述收发器在所述收发器将所述缓冲区中缓存的待切换路径的报文通过所述第二路径发送完成之后,获取新的待切换路径的报文,将所述新的待切换路径的报文直接发送。

结合第三方面,在第三方面的第三种可能的实现方式中,所述收发器获取各路径的流量分担比例以及各路径的实际待发送的报文的数量;根据所述各路径的流量分担比例,确定出各路径所需的报文的数量;根据所述各路径所需的报文的数量以及所述各路径的实际待发送的报文的数量,确定出待切换路径的报文。

结合第三方面,在第三方面的第四种可能的实现方式中,所述收发器获取各路径的流量分担比例以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间;根据所述各路径的流量分担比例,确定出在各路径上发送报文所需的时间;根据在各路径上发送报文所需的时间以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间,确定出待切换路径的报文。

结合第三方面或者第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述收发器根据所述各路径的流量分担比例,确定出在各路径上发送报文的时间符合下述公式(1):

ti=t*fi-δt……………………………………(1)

其中,ti为在各路径上发送报文的时间,t为调整周期,fi为各路径的流量分担比例,δt为设定时间长度。

本发明实施例表明,边缘节点获取待切换路径的报文,该待切换路径的报文为流量转发过程中因负载均衡引起的从第一路径切换到第二路径转发的报文,其中第一路径上当前发送的报文与该待切换路径的报文属于同一数据流内的报文,将待切换路径的报文缓存在缓冲区,在设定时间长度之后,将缓冲区中缓存的待切换路径的报文通过第二路径发送,其中,设定时间长度满足第一路径上当前发送的报文发送完成的时长要求。通过将属于同一数据流内的待切换路径的报文先缓存在缓冲区,在第一路径的报文发送完成之后,再将缓冲区中缓存的待切换路径的报文通过第二路径转发,可以避免出现属于同一数据流内的报文在通过不同的路径转发时出现乱序的问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。

图1为本发明实施例提供的一种系统架构的示意图;

图2为本发明实施例提供的一种多路径流量发送的方法的流程示意图;

图3为本发明实施例提供的一种多路径流量发送的装置的结构示意图;

图4为本发明实施例提供的一种边缘节点的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图及实施例对本发明作进一步地详细描述。

图1示出了本发明实施例所适用的一种系统架构,基于该系统架构可实现对多路径流量发送的控制,本发明实施例提供的多路径流量发送的系统架构中包括多个边缘节点101。

在本发明实施例中,该边缘节点101可以为边缘路由器,又称接入路由器,是位于网络的边界点用于与其他网络相连接的路由器。由外部网络进入到该边缘节点101的流量需要经过与该边缘节点101相连接的其他的边缘节点101的分发,发送至目标节点。

基于上述描述,图2示出了本发明实施例提供的一种多路径流量发送的方法的流程,该流程可以由多路径流量发送的装置执行,该装置可以是边缘节点,也可以位于该边缘节点内。

如图2所示,该流程的具体步骤包括:

步骤201,边缘节点获取待切换路径的报文。

步骤202,边缘节点将待切换路径的报文缓存在缓冲区。

步骤203,边缘节点在设定时间长度之后,将缓冲区中缓存的待切换路径的报文通过第二路径发送。

在步骤201中,该待切换路径的报文为流量转发过程中因负载均衡引起的从第一路径切换到第二路径转发的报文,该待切换路径的报文与第一路径上当前发送的报文属于同一数据流内的报文。比如,一个数据流报文1、报文2、……、报文n;其中,报文1、报文2、报文3在第一路径上发送,在负载均衡的调整周期中,确定出第一路径比较拥堵,原本在第一路径上发送的报文3需要切换到第二路径进行发送,实现负载均衡,从而确定出该报文3为待切换路径的报文。

在本发明实施例汇总,边缘节点可以通过下述方式获取待切换路径的报文:

方式一

边缘节点获取到目标节点的各路径的流量分担比例以及各路径的当前的实际待发送的报文的数量,然后根据该各路径的流量分担比例确定出各路径所需的报文的数量。再根据该各路径所需的报文的数据以及各路径的实际待发送的报文,确定出待切换路径的报文。

举例来说,边缘节点到目标节点之间有路径1、路径2、路径3;当前调整周期中各路径的流量分担比例为2:3:1,当前各路径实际待发送的报文的数量分别为路径1中有3个报文,路径2中有2个报文,路径3中有1个报文。边缘节点根据各路径的流量分担比例,可以得到路径1当前可以发送2个报文,路径2当前可以发送3个报文,路径3当前可以发送1个报文。因此,在负载均衡调整周期内,需要将路径1中的一个报文切换至路径2中进行发送,该从路径1中切换至路径2中发送的报文为待切换路径的报文。

方式二

边缘节点获取到目标节点的各路径的流量分担比例以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间,然后根据该各路径的流量分担比例确定出在各路径上发送报文所需的时间。再根据在各路径上发送报文所需的时间以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间,确定出待切换路径的报文。

举例来说,边缘节点到目标节点之间有路径1、路径2、路径3;当前调整周期中各路径的流量分担比例为2:3:1当前负载均衡调整周期内各路径中到同一目标节点的报文的实际发送时间分别为路径1的时间为3分钟、路径2的时间为2分钟、路径3的时间为1分钟。根据该各路径的流量分担比例,可以得到路径1发送完报文的时间为2分钟,路径2发送完报文的时间为3分钟、路径3发送完报文的时间为1分钟。因此,在当前负载均衡调整周期内,需要将路径1中的一部分报文切换至路径2中进行发送,该从路径1中切换至路径2中发送的一部分报文为待切换路径的报文。

其中,边缘节点在根据各路径的流量分担比例,确定出各路径上发送报文的时间需要符合下述公式(1):

ti=t*fi-δt……………………………………(1)

其中,ti为在各路径上发送报文的时间,t为调整周期,fi为各路径的流量分担比例,δt为设定时间长度。

在步骤202中,边缘节点在步骤201中获取待切换路径的报文之后,需要先将该待切换路径的报文缓存在缓冲区。在边缘节点中设置有多个缓冲区,每条路径对于一个缓冲区,用于缓存在其对应路径发送的报文。

在步骤203中,边缘节点在设定时间长度之后,将缓冲区中缓存的待切换路径的报文通过第二路径发送,该设定时间长度需要满足第一路径上当前发送的报文发送完成的时长要求,该设定时间长度要保证大于所有路径延迟的差值,保证发送不会乱序。

边缘节点在将缓冲区中缓存的待切换路径的报文通过第二路径发生的过程中,若该边缘节点又获取到新的待切换路径的报文,则该边缘节点将该新的待切换路径的报文继续缓存在该缓冲区,等待当前缓存的待切换路径的报文发送完成之后再发送,保证发送的报文不会引起乱序。

可选地,边缘节点在将缓冲区中缓存的待切换路径的报文通过第二路径发送完成之后,该边缘节点又获取了新的待切换路径的报文,该边缘节点架构该新获取的待切换路径的报文直接发送出去,无需再进行缓存。

上述实施例表明,边缘节点获取待切换路径的报文,该待切换路径的报文为流量转发过程中因负载均衡引起的从第一路径切换到第二路径转发的报文,其中第一路径上当前发送的报文与该待切换路径的报文属于同一数据流内的报文,将待切换路径的报文缓存在缓冲区,在设定时间长度之后,将缓冲区中缓存的待切换路径的报文通过第二路径发送,其中,设定时间长度满足第一路径上当前发送的报文发送完成的时长要求。通过将属于同一数据流内的待切换路径的报文先缓存在缓冲区,在第一路径的报文发送完成之后,再将缓冲区中缓存的待切换路径的报文通过第二路径转发,可以避免出现属于同一数据流内的报文在通过不同的路径转发时出现乱序的问题。

为了更好的解释本发明实施例,下面将通过具体的实施场景描述本发明实施例提供的多路径流量发送的流程。

方式一

在本发明实施例中,按照五元组哈希的方式将去往同一个目的地的多个流映射到固定数量的聚合流。哈希到聚合流的数量是可以调整的。聚合流的数量越多,需要记录的流表大小就越大,但是流量划分精度就越高。

其中,系统需要约定如下参数:

假设当前网络中边缘节点数量为n,编号为e1、e2、…、en。对于一个特定的边缘节点来讲,从外部进入该边缘节点的流量对应网络的出口有n-1个,比如对于边缘节点e1来讲,外部流量从e1进入网络,对应的出口有n-1个:e2、e3、…、en。称从一个边缘节点进入,从另一个边缘节点出去的流量为一个聚合流,例如e1-e2。

将同一个聚合流按照五元组哈希映射到x个报文,编号为b1、b2、…、bx。假设每条聚合流有p条路径可以用,编号为p1、p2、…、pp。假设上层流量划分算法给出的各条路径的流量分担比例为f=(f1,f2,…,fp)。

假设路由器中有y个缓冲区,该缓冲区用作在切换路径时进行流量缓存。比如当前需要将b1从路径p1切换到路径p2,则需要将b1缓存到某个缓冲区中,缓存δt时间,然后再继续正常发送。该缓冲区是额外添加到边缘节点中的物理缓存。

下面描述的过程是针对一个边缘节点中一个聚合流,比如e1中的e1-e2聚合流。其他的流量发送的过程都一样。

在一个调节周期中,先根据上层流量划分算法给出的流量分担比例f,计算出待路径切换的报文的集合{b1,b2…}。计算过程可以如下进行:先根据f计算出每条路径需要对应多少个流,f*x即可以得到每条路径需要多少个报文;然后跟实际中每条路径有多少个报文进行相减,正的表示该路径需要更多的报文,负的表示需要将多余的报文转移到其他路径;找到这些报文,加入到待切换路径的报文的集合中。

然后,待切换的报文的集合中的报文分别进入缓冲区中进行缓存,一个报文对应一个缓冲区。如果缓冲区的数量y小于需要切换路径的报文的集合的大小,那么只选择前y个bin进行路径切换,其他路径暂时不进行切换,放到下一个调节周期中进行切换。

在δt时间之后,先将缓冲区中缓存的流量发送出去,在发送的过程中,新获取的报文继续缓存到缓冲区中,缓冲区中的报文发送完毕之后,就可以将该新获取的报文不经过缓冲区直接进行发送了。此时该调节周期结束,等待进入下一个调节周期。

方式二

在本发明实施例中,按照五元组哈希的方式将去往同一个目的地的多个流映射到固定数量的聚合流。其中,系统需要约定如下参数:

假设当前网络中边缘节点数量为n,编号为e1、e2、…、en。对于一个特定的边缘节点来讲,从外部进入该边缘节点的流量对应网络的出口有n-1个,比如对于边缘节点e1来讲,外部流量从e1进入网络,对应的出口有n-1个:e2、e3、…、en。称从一个边缘节点进入,从另一个边缘节点出去的流量为一个聚合流,例如e1-e2。

假设每条聚合流有p条路径可以用,编号为p1、p2、…、pp。假设上层流量划分算法给出的各条路径的流量分担比例为f=(f1,f2,…,fp)。

假设路由器中有y个缓冲区,该缓冲区用作在切换路径时进行流量缓存。比如当前需要将b1从路径p1切换到路径p2,则需要将b1缓存到某个缓冲区中,缓存δt时间,然后再继续正常发送。该缓冲区是额外添加到边缘节点中的物理缓存。

下面描述的过程是针对一个边界路由器中一个聚合流,比如e1路由器中的e1-e2聚合流。其他的流量调节过程都一样。

在一个调节周期t内,先根据上层流量划分算法给出的流量分担比例f,计算出在不同路径上发送的时间,即通过上述公式(1)计算出在不同路径上发送的时间。

然后,将到同一目标节点的报文分别进入对应的缓冲区中进行缓存,每个目标节点对应一个缓冲区。

在δt时间之后,先将缓冲区中缓存的流量发送出去,在发送的过程中,新获取的报文继续缓存到缓冲区中,缓冲区中的报文发送完毕之后,就可以将该新获取的报文不经过缓冲区直接进行发送了。此时该调节周期结束,等待进入下一个调节周期。

基于相同的技术构思,图3示出了一种多路径流量发送的装置,该装置可以执行多路径流量发送的流程,该装置可以是边缘节点,也可以位于该边缘节点内。

如图3所示,该装置具体包括:

收发单元301,用于获取待切换路径的报文,所述待切换路径的报文为流量转发过程中因负载均衡引起的从第一路径切换到第二路径转发的报文,其中第一路径上当前发送的报文与所述待切换路径的报文属于同一数据流内的报文;

处理单元302,用于将所述收发单元301获取的待切换路径的报文缓存在缓冲区;

收发单元301还用于在设定时间长度之后,将所述处理单元302在缓冲区中缓存的待切换路径的报文通过所述第二路径发送,其中,所述设定时间长度满足所述第一路径上当前发送的报文发送完成的时长要求。

可选地,所述处理单元302还用于:

在所述收发单元301将所述缓冲区中缓存的待切换路径的报文通过第二路径发送的过程中,通过所述收发单元301获取新的待切换路径的报文,将所述新的待切换路径的报文继续缓存至所述缓冲区。

可选地,所述收发单元301还用于:

在所述收发单元将所述缓冲区中缓存的待切换路径的报文通过所述第二路径发送完成之后,获取新的待切换路径的报文,将所述新的待切换路径的报文直接发送。

可选地,所述收发单元301具体用于:

获取各路径的流量分担比例以及各路径的实际待发送的报文的数量;

根据所述各路径的流量分担比例,确定出各路径所需的报文的数量;

根据所述各路径所需的报文的数量以及所述各路径的实际待发送的报文的数量,确定出待切换路径的报文。

可选地,所述收发单元301具体用于:

获取各路径的流量分担比例以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间;

根据所述各路径的流量分担比例,确定出在各路径上发送报文所需的时间;

根据在各路径上发送报文所需的时间以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间,确定出待切换路径的报文。

可选地,所述收发单元301具体用于:

根据所述各路径的流量分担比例,确定出在各路径上发送报文的时间符合下述公式(1):

ti=t*fi-δt……………………………………(1)

其中,ti为在各路径上发送报文的时间,t为调整周期,fi为各路径的流量分担比例,δt为设定时间长度。

基于相同构思,参见图4,为本发明实施例提供的一种边缘节点400。该边缘节点400可以执行上述各实施例中接收机所实施的步骤或执行的功能。该边缘节点400可包括:收发器401、处理器402和存储器403。处理器402用于边缘节点400的操作;存储器403可以包括只读存储器和随机存取存储器,存储有处理器402可以执行的指令和数据。存储器403的一部分还可以包括非易失性随机存取存储器(nvram)。收发器401、处理器402和存储器403等各组件通过总线409连接,其中总线409除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线409。

本发明实施例揭示的一种多路径流量发送的方法可以应用于处理器402中,或者由处理器402实现。在实现过程中,处理流程的各步骤可以通过处理器402中的硬件的集成逻辑电路或者软件形式的指令完成。处理器402可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器403,处理器402读取存储器403中存储的信息,结合其硬件完成一种多路径流量发送的方法的步骤。

收发器401获取待切换路径的报文,所述待切换路径的报文为流量转发过程中因负载均衡引起的从第一路径切换到第二路径转发的报文,其中第一路径上当前发送的报文与所述待切换路径的报文属于同一数据流内的报文。处理器402将所述收发器401获取的待切换路径的报文缓存在缓冲区。在设定时间长度之后,收发器401将在缓冲区中缓存的待切换路径的报文通过所述第二路径发送,其中,所述设定时间长度满足所述第一路径上当前发送的报文发送完成的时长要求。

可选地,在所述收发器401将所述缓冲区中缓存的待切换路径的报文通过第二路径发送的过程中,所述收发器401获取新的待切换路径的报文,所述处理器402将所述新的待切换路径的报文继续缓存至所述缓冲区。

可选地,在所述收发器401将所述缓冲区中缓存的待切换路径的报文通过所述第二路径发送完成之后,所述收发器401获取新的待切换路径的报文,将所述新的待切换路径的报文直接发送。

可选地,所述收发器401获取各路径的流量分担比例以及各路径的实际待发送的报文的数量,根据所述各路径的流量分担比例,确定出各路径所需的报文的数量,根据所述各路径所需的报文的数量以及所述各路径的实际待发送的报文的数量,确定出待切换路径的报文。

可选地,所述收发器401获取各路径的流量分担比例以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间,根据所述各路径的流量分担比例,确定出在各路径上发送报文所需的时间,根据在各路径上发送报文所需的时间以及当前调整周期内各路径中到同一目标节点的报文的实际发送时间,确定出待切换路径的报文。

可选地,所述收发器401根据所述各路径的流量分担比例,确定出在各路径上发送报文的时间符合下述公式(1):

ti=t*fi-δt……………………………………(1)

其中,ti为在各路径上发送报文的时间,t为调整周期,fi为各路径的流量分担比例,δt为设定时间长度。

本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1