一种转发流量的方法和装置的制作方法

文档序号:7814713阅读:191来源:国知局
专利名称:一种转发流量的方法和装置的制作方法
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种转发流量的方法和装置。
背景技术
为一个队列确定预设带宽,并通过队列管理是实现QoS (Quality ofkrvice,服务质量)的一种常用手段。例如,根据预设带宽,每个时钟周期为该队列添加一定数量的令牌。发明人发现,一个队列在一个时间段内转发的流量可能会超过预定带宽与该时间段的长度的乘积。例如,队列转发一个较长的报文时就可能会出现这种情形。队列在一个时间段内转发的流量超过预定带宽与该时间段的长度的乘积将导致队列转发流量的平均速率超过预设带宽。

发明内容
本发明实施例提供了一种转发流量的方法及装置,可以实现队列转发流量的平均速率等于预设带宽。一方面,本发明实施例提供了一种转发流量的方法,包括在第一时间段内对第一队列的流量进行转发,所述第一队列对应预设带宽;根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长;在第二时间段内禁用所述第一队列的流量转发,所述第二时间段的时长等于所述暂停时长。另一方面,本发明实施例提供了一种转发流量的装置,包括转发单元,用于在第一时间段内对第一队列的流量进行转发,所述第一队列对应预设带宽;计算单元,用于根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长;禁用单元,用于在第二时间段内禁用所述第一队列的流量转发,所述第二时间段的时长等于所述暂停时长。可见,第一队列在第一时间段内实际转发的流量的大小大于第一队列在第一时间段内应该转发的流量的大小。根据暂停时长,在第二时间段禁用第一队列的流量转发。因此,第一队列在第一时间段与第二时间段内转发的流量的大小等于第一队列在第一时间段内转发的流量的大小。因此,通过本实施例提供的方法,可以达到第一队列在第一时间段与第二时间段内转发流量的平均速率等于预设带宽的技术效果。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用CN 102546411 A
的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一提供的转发流量的方法的流程图;图2为本发明实施例二提供的转发流量的装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。实施例一本实施例提供了一种转发流量的方法,可以应用于转发流量的网络设备。该网络设备可以是路由器或者交换机。参见图1,图1为本实施例提供的方法的流程图。该方法包括101、在第一时间段内对第一队列的流量进行转发,该第一队列对应预设带宽。101可以通过流量管理(Traffic Management,TM)芯片实现。具体来说,101可以通过TM芯片中的队列管理单元实现。第一时间段为某个时间段,意味着时间的流逝。第一时间段区别于时间点。第一时间段的长度可以是8秒(second,s),也可以是其他值。第一队列可以是网络设备中用于转发流量的端口的一个队列。该端口可以对应多个队列。预设带宽是为第一队列预先设定的带宽。该预设带宽可以是1兆比特每秒((ibit/ S)。预设带宽也可以其他值。102、根据该预设带宽和该第一队列在该第一时间段内实际转发的流量计算暂停时长。102可以通过TM芯片实现。具体来说,102可以通过TM芯片中的调度单元实现。 另外,102也可以通过软件代码实现。计算暂停时长具体实现时,可以是计算该预设带宽与该第一时间段的时长的乘积,该乘积是该第一队列在该第一时间段内应该转发的流量的大小;当该实际转发的流量的大小大于该应该转发的流量的大小时,计算该实际转发的流量的大小与该应该转发的流量的大小的差,计算该差与该预设带宽的商,该暂停时长为该商的数值。关于暂停时长,下文提供了一个具体的例子预设带宽为Kibit/s。第一时间段的长度为8秒。第一队列在第一时间段内实际转发的流量为2兆字节((ibyte)。
第一队列在第一时间段内应该转发的流量的大小为Kibit/sXSs,即mbyte。2Gbyte 与 IGbyte 的差为 1Gbyte。IGbyte 与 lGbit/s 的商为 8 秒。因此,在上文提到的例子中,暂停时长为8秒。103、在第二时间段内禁用该第一队列的流量转发,该第二时间段的时长等于该暂停时长。103可以通过TM芯片实现。具体来说,可以通过TM芯片中的调度单元实现。第二时间段具体实现时,请参见101中对第一时间段的描述。需要说明的是,第二时间段发生在第一时间段之后。另外,第二时间段与第一时间段可以是不连续的时间段。也就是说,第二时间段与第一时间段之间还可以有一个时间间隔。从上述描述可以看出,第一队列在第一时间段内实际转发的流量的大小大于第一队列在第一时间段内应该转发的流量的大小。根据暂停时长,在第二时间段禁用第一队列的流量转发。因此,第一队列在第一时间段与第二时间段内转发的流量的大小等于第一队列在第一时间段内转发的流量的大小。因此,通过本实施例提供的方法,可以达到第一队列在第一时间段与第二时间段内转发流量的平均速率等于预设带宽的技术效果。可选的,本实施例提供的方法在102之后,并且在103之前,还可以包括生成该第一队列、该暂停时长以及进入暂停阶段的时间点的对应关系,该进入暂停阶段的时间点为该第二时间段的开始时间点。进入暂停阶段的时间点对应一个时间点,区别于时间段。具体实现时,进入暂停阶段的时间点可以是晚于上述第一时间段的终点的时间点。也就是说,进入暂停阶段的时间点与第一时间段之间可以有一个时间间隔。103具体包括在该进入暂停阶段的时间点,禁用该第一队列的流量转发。在第三时间段内继续禁用该第一队列的流量转发,该第三时间段的起点为该进入暂停阶段的时间点,该第三时间段的终点为第一当前时间点。具体实现时,第一当前时间点为当前时间点。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点;将该暂停时长与该进入暂停阶段的时间点相加,获得第一时间点;判断该第一当前时间点与该第一时间点的早晚;如果该第一当前时间点早于该第一时间点,继续禁用该第一队列的流量转发。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。根据该第一队列的标识,在上述对应表中查找上述第一表项。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,也可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。遍历上述对应表,读取第一表项中的该暂停时长以及该进入暂停阶段的时间点。可见,通过上述方法,可以通过访问对应关系确定进入暂停阶段的时间点与暂停时长的和所对应的时间点与当前时间点的早晚。相对于为第一队列专门设置一个定时器以确定当前时间点是否是进入暂停阶段的时间点与暂停时长的和所对应的时间点的技术方案,本技术方案降低了系统开销。可选的,本实施例提供的方法在102之后,并且在103之前,还可以包括生成该第一队列、该暂停时长以及进入暂停阶段的时间点的对应关系,该进入暂停阶段的时间点为该第二时间段的开始时间点。进入暂停阶段的时间点对应一个时间点,区别于时间段。具体实现时,进入暂停阶段的时间点可以是晚于上述第一时间段的终点的时间点。也就是说,进入暂停阶段的时间点与第一时间段之间可以有一个时间间隔。103具体包括在该进入暂停阶段的时间点,禁用该第一队列的流量转发。在第四时间段内继续禁用该第一队列的流量转发,该第四时间段的起点为该进入暂停阶段的时间点,该第四时间段的终点为第二当前时间点。具体实现时,第二当前时间点为当前时间点。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点;将该暂停时长与该进入暂停阶段的时间点相加,获得第一时间点;判断该第二当前时间点与该第一时间点的早晚;如果该第二当前时间点等于该第一时间点,则在该第二当前时间点使能该第一队列的流量转发。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。根据该第一队列的标识,在上述对应表中查找上述第一表项。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,也可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。遍历上述对应表,读取第一表项中的该暂停时长以及该进入暂停阶段的时间点。可见,通过上述方法,可以通过访问对应关系确定进入暂停阶段的时间点与暂停时长的和所对应的时间点与当前时间点的早晚。相对于为第一队列专门设置一个定时器以确定当前时间点是否是进入暂停阶段的时间点与暂停时长的和所对应的时间点的技术方案,本技术方案降低了系统开销。
可选的,本实施例提供的方法在102之后,并且在103之前,还可以包括生成该第一队列、该暂停时长以及进入暂停阶段的时间点的对应关系,该进入暂停阶段的时间点为该第二时间段的开始时间点。进入暂停阶段的时间点对应一个时间点,区别于时间段。具体实现时,进入暂停阶段的时间点可以是晚于上述第一时间段的终点的时间点。也就是说,进入暂停阶段的时间点与第一时间段之间可以有一个时间间隔。103具体包括在该进入暂停阶段的时间点,禁用该第一队列的流量转发。在第五时间段内继续禁用该第一队列的流量转发,该第五时间段的起点为该进入暂停阶段的时间点,该第五时间段的终点为第三当前时间点。具体实现时,第三当前时间点为当前时间点。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点;将该暂停时长与该进入暂停阶段的时间点相加,获得第一时间点;判断该第三当前时间点与该第一时间点的早晚;如果该第三当前时间点晚于该第一时间点,则在该第三当前时间点使能该第一队列的流量转发。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。根据该第一队列的标识,在上述对应表中查找上述第一表项。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,也可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。遍历上述对应表,读取第一表项中的该暂停时长以及该进入暂停阶段的时间点。103之后,该方法还包括在第六时间段内,根据第一令牌对该第一队列的流量进行转发,该第一令牌为该预设带宽与第一时间长度的乘积所对应的令牌,该第一时间长度为该第三当前时间点与该第一时间点的差再加上该第六时间段的长度。具体实现时,第六时间段的起点可以是第二时间段的终点之后的时间点。第六时间段与第二时间段之间可以有一个时间间隔。可见,通过上述方法,可以通过访问对应关系确定进入暂停阶段的时间点与暂停时长的和所对应的时间点与当前时间点的早晚。相对于为第一队列专门设置一个定时器以确定当前时间点是否是进入暂停阶段的时间点与暂停时长的和所对应的时间点的技术方案,本技术方案降低了系统开销。另外,根据上述方法可知如果在第一时间点使能第一队列的流量转发,则第一队列在第一时间段与第二时间段内平均转发的流量等于预设带宽。当前时间点晚于第一时间点则意味着禁用第一队列的流量转发的时长超过了暂停时长。因此,本实施例提供的方法中,为第一队列在第六时间段进行流量转发增加了额外的令牌,即第三当前时间点与第一时间点的差所对应的令牌。因此,本实施例提供的方法可以达到第一队列在第一时间段、第二时间段以及第六时间段内可用的令牌所对应的流量等于第一时间段、第二时间段以及第六时间段的和与预设带宽的乘积所对应的流量的技术效果。实施例二本实施例提供了一种转发流量的装置,该装置为转发流量的网络设备。该网络设备可以是路由器或者交换机。本实施例提供的转发流量的装置可以通过实施例一提供的方法实现。参见图2,图2为本实施例提供的装置的结构示意图。该装置包括转发单元201,用于在第一时间段内对第一队列的流量进行转发,该第一队列对应预设带宽。转发单元201具体实现时,请参见实施例一中的101。计算单元202,用于根据该预设带宽和该第一队列在该第一时间段内实际转发的流量计算暂停时长。计算单元202具体实现时,请参见实施例一中的102。禁用单元203,用于在第二时间段内禁用该第一队列的流量转发,该第二时间段的时长等于该暂停时长。禁用单元203具体实现时,请参见实施例一中的103。从上述描述可以看出,第一队列在第一时间段内实际转发的流量的大小大于第一队列在第一时间段内应该转发的流量的大小。根据暂停时长,在第二时间段禁用第一队列的流量转发。因此,第一队列在第一时间段与第二时间段内转发的流量的大小等于第一队列在第一时间段内转发的流量的大小。因此,通过本实施例提供的装置,可以达到第一队列在第一时间段与第二时间段内转发流量的平均速率等于预设带宽的技术效果。可选的,计算单元202具体包括第一子单元,用于计算该预设带宽与该第一时间段的时长的乘积,该乘积是该第一队列在该第一时间段内应该转发的流量的大小。第一子单元具体实现时,请参见实施例一中的102。第二子单元,用于当该实际转发的流量的大小大于该应该转发的流量的大小时, 计算该实际转发的流量的大小与该应该转发的流量的大小的差,计算该差与该预设带宽的商,该暂停时长为该商的数值。第二子单元具体实现时,请参见实施例一中的102。可选的,本实施例提供的转发流量装置还可以包括生成单元,用于在该根据该预设带宽和该第一队列在该第一时间段内实际转发的流量计算暂停时长之后,并且在该在第二时间段内禁用该第一队列的流量转发之前,生成该第一队列、该暂停时长以及进入暂停阶段的时间点的对应关系,该进入暂停阶段的时间点为该第二时间段的开始时间点。
进入暂停阶段的时间点对应一个时间点,区别于时间段。具体实现时,进入暂停阶段的时间点可以是晚于上述第一时间段的终点的时间点。也就是说,进入暂停阶段的时间点与第一时间段之间可以有一个时间间隔。该禁用单元具体包括第一禁用子单元,用于在该进入暂停阶段的时间点,禁用该第一队列的流量转发。第二禁用子单元,用于在第三时间段内继续禁用该第一队列的流量转发,该第三时间段的起点为该进入暂停阶段的时间点,该第三时间段的终点为第一当前时间点。具体实现时,第一当前时间点为当前时间点。第三禁用子单元,用于根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点;将该暂停时长与该进入暂停阶段的时间点相加,获得第一时间点;判断该第一当前时间点与该第一时间点的早晚;如果该第一当前时间点早于该第一时间点,则继续禁用该第一队列的流量转发。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。根据该第一队列的标识,在上述对应表中查找上述第一表项。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,也可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。遍历上述对应表,读取第一表项中的该暂停时长以及该进入暂停阶段的时间点。可见,通过上述装置,可以通过访问对应关系确定进入暂停阶段的时间点与暂停时长的和所对应的时间点与当前时间点的早晚。相对于为第一队列专门设置一个定时器以确定当前时间点是否是进入暂停阶段的时间点与暂停时长的和所对应的时间点的技术方案,本技术方案降低了系统开销。可选的,本实施例提供的转发流量装置还可以包括生成单元,用于在该根据该预设带宽和该第一队列在该第一时间段内实际转发的流量计算暂停时长之后,并且在该在第二时间段内禁用该第一队列的流量转发之前,生成该第一队列、该暂停时长以及进入暂停阶段的时间点的对应关系,该进入暂停阶段的时间点为该第二时间段的开始时间点。进入暂停阶段的时间点对应一个时间点,区别于时间段。具体实现时,进入暂停阶段的时间点可以是晚于上述第一时间段的终点的时间点。也就是说,进入暂停阶段的时间点与第一时间段之间可以有一个时间间隔。该禁用单元具体包括第一禁用子单元,用于在该进入暂停阶段的时间点,禁用该第一队列的流量转发。
第二禁用子单元,用于在第四时间段内继续禁用该第一队列的流量转发,该第四时间段的起点为该进入暂停阶段的时间点,该第四时间段的终点为第二当前时间点。具体实现时,第二当前时间点为当前时间点。第三禁用子单元,用于根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点;将该暂停时长与该进入暂停阶段的时间点相加,获得第一时间点;判断该第二当前时间点与该第一时间点的早晚;如果该第二当前时间点等于该第一时间点,则在该第二当前时间点使能该第一队列的流量转发。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。根据该第一队列的标识,在上述对应表中查找上述第一表项。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,也可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。遍历上述对应表,读取第一表项中的该暂停时长以及该进入暂停阶段的时间点。可见,通过上述装置,可以通过访问对应关系确定进入暂停阶段的时间点与暂停时长的和所对应的时间点与当前时间点的早晚。相对于为第一队列专门设置一个定时器以确定当前时间点是否是进入暂停阶段的时间点与暂停时长的和所对应的时间点的技术方案,本技术方案降低了系统开销。可选的,本实施例提供的转发流量装置还可以包括生成单元,用于在该根据该预设带宽和该第一队列在该第一时间段内实际转发的流量计算暂停时长之后,并且在该在第二时间段内禁用该第一队列的流量转发之前,生成该第一队列、该暂停时长以及进入暂停阶段的时间点的对应关系,该进入暂停阶段的时间点为该第二时间段的开始时间点。进入暂停阶段的时间点对应一个时间点,区别于时间段。具体实现时,进入暂停阶段的时间点可以是晚于上述第一时间段的终点的时间点。也就是说,进入暂停阶段的时间点与第一时间段之间可以有一个时间间隔。该禁用单元具体包括第一禁用子单元,用于在该进入暂停阶段的时间点,禁用该第一队列的流量转发。第二禁用子单元,用于在第五时间段内继续禁用该第一队列的流量转发,该第五时间段的起点为该进入暂停阶段的时间点,该第五时间段的终点为第三当前时间点。具体实现时,第三当前时间点为当前时间点。使能子单元,用于根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点;将该暂停时长与该进入暂停阶段的时间点相加,获得第一时间点;判断该第三当前时间点与该第一时间点的早晚;如果该第三当前时间点晚于该第一时间点,则在该第三当前时间点使能该第一队列的流量转发。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。根据该第一队列的标识,在上述对应表中查找上述第一表项。根据该对应关系获得该暂停时长以及该进入暂停阶段的时间点具体实现时,也可以是网络设备中保存了一个对应表,该对应表包括多个表项。每个都包含队列的标识、 该队列对应的暂停时长以及该队列对应的进入暂停阶段的时间点。其中,第一表项为包含了上述对应关系,即该第一队列的标识、该暂停时长以及该进入暂停阶段的时间点。遍历上述对应表,读取第一表项中的该暂停时长以及该进入暂停阶段的时间点。该转发单元还包括第一转发子单元,用于在该在第二时间段内禁用该第一队列的流量转发之后,在第六时间段内,根据第一令牌对该第一队列的流量进行转发,该第一令牌为该预设带宽与第一时间长度的乘积对应的令牌,该第六时间段的起点对应该第二时间段的终点,该第一时间长度为该第三当前时间点与该第一时间点的差再加上该第六时间段的长度。具体实现时,第六时间段的起点可以是第二时间段的终点之后的时间点。第六时间段与第二时间段之间可以有一个时间间隔。可见,通过上述装置,可以通过访问对应关系确定进入暂停阶段的时间点与暂停时长的和所对应的时间点与当前时间点的早晚。相对于为第一队列专门设置一个定时器以确定当前时间点是否是进入暂停阶段的时间点与暂停时长的和所对应的时间点的技术方案,本技术方案降低了系统开销。另外,根据上述装置可知如果在第一时间点使能第一队列的流量转发,则第一队列在第一时间段与第二时间段内平均转发的流量等于预设带宽。当前时间点晚于第一时间点则意味着禁用第一队列的流量转发的时长超过了暂停时长。因此,本实施例提供的装置中,为第一队列在第六时间段进行流量转发增加了额外的令牌,即第三当前时间点与第一时间点的差所对应的令牌。因此,本实施例提供的装置可以达到第一队列在第一时间段、第二时间段以及第六时间段内可用的令牌所对应的流量等于第一时间段、第二时间段以及第六时间段的和与预设带宽的乘积所对应的流量的技术效果。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种转发流量的方法,其特征在于,包括在第一时间段内对第一队列的流量进行转发,所述第一队列对应预设带宽; 根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长;在第二时间段内禁用所述第一队列的流量转发,所述第二时间段的时长等于所述暂停时长。
2.根据权利要求1所述的方法,其特征在于,所述根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长具体包括计算所述预设带宽与所述第一时间段的时长的乘积,所述乘积是所述第一队列在所述第一时间段内应该转发的流量的大小;当所述实际转发的流量的大小大于所述应该转发的流量的大小时,计算所述实际转发的流量的大小与所述应该转发的流量的大小的差,计算所述差与所述预设带宽的商,所述暂停时长为所述商的数值。
3.根据权利要求1至2中任一所述的方法,其特征在于,所述根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长之后,并且所述在第二时间段内禁用所述第一队列的流量转发之前,所述方法还包括生成所述第一队列、所述暂停时长以及进入暂停阶段的时间点的对应关系,所述进入暂停阶段的时间点为所述第二时间段的开始时间点;所述在第二时间段内禁用所述第一队列的流量转发具体包括 在所述进入暂停阶段的时间点,禁用所述第一队列的流量转发; 在第三时间段内继续禁用所述第一队列的流量转发,所述第三时间段的起点为所述进入暂停阶段的时间点,所述第三时间段的终点为第一当前时间点;根据所述对应关系获得所述暂停时长以及所述进入暂停阶段的时间点;将所述暂停时长与所述进入暂停阶段的时间点相加,获得第一时间点;判断所述第一当前时间点与所述第一时间点的早晚;如果所述第一当前时间点早于所述第一时间点,则继续禁用所述第一队列的流量转发。
4.根据权利要求1至2中任一所述的方法,其特征在于,所述根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长之后,并且所述在第二时间段内禁用所述第一队列的流量转发之前,所述方法还包括生成所述第一队列、所述暂停时长以及进入暂停阶段的时间点的对应关系,所述进入暂停阶段的时间点为所述第二时间段的开始时间点;所述在第二时间段内禁用所述第一队列的流量转发具体包括 在所述进入暂停阶段的时间点,禁用所述第一队列的流量转发; 在第四时间段内继续禁用所述第一队列的流量转发,所述第四时间段的起点为所述进入暂停阶段的时间点,所述第四时间段的终点为第二当前时间点;根据所述对应关系获得所述暂停时长以及所述进入暂停阶段的时间点;将所述暂停时长与所述进入暂停阶段的时间点相加,获得第一时间点;判断所述第二当前时间点与所述第一时间点的早晚;如果所述第二当前时间点等于所述第一时间点,则在所述第二当前时间点使能所述第一队列的流量转发。
5.根据权利要求1至2中任一所述的方法,其特征在于,所述根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长之后,并且所述在第二时间段内禁用所述第一队列的流量转发之前,所述方法还包括生成所述第一队列、所述暂停时长以及进入暂停阶段的时间点的对应关系,所述进入暂停阶段的时间点为所述第二时间段的开始时间点;所述在第二时间段内禁用所述第一队列的流量转发具体包括 在所述进入暂停阶段的时间点,禁用所述第一队列的流量转发; 在第五时间段内继续禁用所述第一队列的流量转发,所述第五时间段的起点为所述进入暂停阶段的时间点,所述第五时间段的终点为第三当前时间点;根据所述对应关系获得所述暂停时长以及所述进入暂停阶段的时间点;将所述暂停时长与所述进入暂停阶段的时间点相加,获得第一时间点;判断所述第三当前时间点与所述第一时间点的早晚;如果所述第三当前时间点晚于所述第一时间点,则在所述第三当前时间点使能所述第一队列的流量转发;所述在第二时间段内禁用所述第一队列的流量转发之后,所述方法还包括 在第六时间段内,根据第一令牌对所述第一队列的流量进行转发,所述第一令牌为所述预设带宽与第一时间长度的乘积所对应的令牌,所述第一时间长度为所述第三当前时间点与所述第一时间点的差再加上所述第六时间段的长度。
6.一种转发流量的装置,其特征在于,包括转发单元,用于在第一时间段内对第一队列的流量进行转发,所述第一队列对应预设带宽;计算单元,用于根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长;禁用单元,用于在第二时间段内禁用所述第一队列的流量转发,所述第二时间段的时长等于所述暂停时长。
7.根据权利要求6所述的装置,其特征在于,所述计算单元具体包括第一子单元,用于计算所述预设带宽与所述第一时间段的时长的乘积,所述乘积是所述第一队列在所述第一时间段内应该转发的流量的大小;第二子单元,用于当所述实际转发的流量的大小大于所述应该转发的流量的大小时, 计算所述实际转发的流量的大小与所述应该转发的流量的大小的差,计算所述差与所述预设带宽的商,所述暂停时长为所述商的数值。
8.根据权利要求6至7中任一所述的装置,其特征在于,所述装置还包括生成单元,用于在所述根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长之后,并且在所述在第二时间段内禁用所述第一队列的流量转发之前,生成所述第一队列、所述暂停时长以及进入暂停阶段的时间点的对应关系,所述进入暂停阶段的时间点为所述第二时间段的开始时间点; 所述禁用单元具体包括第一禁用子单元,用于在所述进入暂停阶段的时间点,禁用所述第一队列的流量转发;第二禁用子单元,用于在第三时间段内继续禁用所述第一队列的流量转发,所述第三时间段的起点为所述进入暂停阶段的时间点,所述第三时间段的终点为第一当前时间点;第三禁用子单元,用于根据所述对应关系获得所述暂停时长以及所述进入暂停阶段的时间点;将所述暂停时长与所述进入暂停阶段的时间点相加,获得第一时间点;判断所述第一当前时间点与所述第一时间点的早晚;如果所述第一当前时间点早于所述第一时间点,则继续禁用所述第一队列的流量转发。
9.根据权利要求6至7中任一所述的装置,其特征在于,所述装置还包括生成单元,用于在所述根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长之后,并且在所述在第二时间段内禁用所述第一队列的流量转发之前,生成所述第一队列、所述暂停时长以及进入暂停阶段的时间点的对应关系,所述进入暂停阶段的时间点为所述第二时间段的开始时间点; 所述禁用单元具体包括第一禁用子单元,用于在所述进入暂停阶段的时间点,禁用所述第一队列的流量转发;第二禁用子单元,用于在第四时间段内继续禁用所述第一队列的流量转发,所述第四时间段的起点为所述进入暂停阶段的时间点,所述第四时间段的终点为第二当前时间点;第三禁用子单元,用于根据所述对应关系获得所述暂停时长以及所述进入暂停阶段的时间点;将所述暂停时长与所述进入暂停阶段的时间点相加,获得第一时间点;判断所述第二当前时间点与所述第一时间点的早晚;如果所述第二当前时间点等于所述第一时间点,则在所述第二当前时间点使能所述第一队列的流量转发。
10.根据权利要求6至7中任一所述的装置,其特征在于,所述装置还包括生成单元,用于在所述根据所述预设带宽和所述第一队列在所述第一时间段内实际转发的流量计算暂停时长之后,并且在所述在第二时间段内禁用所述第一队列的流量转发之前,生成所述第一队列、所述暂停时长以及进入暂停阶段的时间点的对应关系,所述进入暂停阶段的时间点为所述第二时间段的开始时间点; 所述禁用单元具体包括第一禁用子单元,用于在所述进入暂停阶段的时间点,禁用所述第一队列的流量转发;第二禁用子单元,用于在第五时间段内继续禁用所述第一队列的流量转发,所述第五时间段的起点为所述进入暂停阶段的时间点,所述第五时间段的终点为第三当前时间点;使能子单元,用于根据所述对应关系获得所述暂停时长以及所述进入暂停阶段的时间点;将所述暂停时长与所述进入暂停阶段的时间点相加,获得第一时间点;判断所述第三当前时间点与所述第一时间点的早晚;如果所述第三当前时间点晚于所述第一时间点,则在所述第三当前时间点使能所述第一队列的流量转发; 所述转发单元还包括 第一转发子单元,用于在所述在第二时间段内禁用所述第一队列的流量转发之后,在第六时间段内,根据第一令牌对所述第一队列的流量进行转发,所述第一令牌为所述预设带宽与第一时间长度的乘积对应的令牌,所述第一时间长度为所述第三当前时间点与所述第一时间点的差再加上所述第六时间段的长度。
全文摘要
本发明实施例提供了一种转发流量的方法,包括在第一时间段内对第一队列的流量进行转发,该第一队列对应预设带宽;根据该预设带宽和该第一队列在该第一时间段内实际转发的流量计算暂停时长;在第二时间段内禁用该第一队列的流量转发,该第二时间段的时长等于该暂停时长。此外,本发明实施例还提供了一种转发流量的装置。根据本发明实施例提供的转发流量的方法和设备,可以实现队列转发流量的平均速率等于预设带宽。
文档编号H04L12/56GK102546411SQ20111045986
公开日2012年7月4日 申请日期2011年12月31日 优先权日2011年12月31日
发明者焦石 申请人:华为数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1