一种队列级的动态负载分担的实现方法及装置制造方法及图纸

技术编号:18403789 阅读:16 留言:0更新日期:2018-07-08 22:08
本发明专利技术揭示了一种队列级的动态负载分担的实现方法及装置,所述方法包括:取出动态负载分担组里的端口集合,读取端口集合中所有端口的端口流量状态表及所有端口的队列流量状态表,根据报文的转发优先级,得到报文在端口集合中的每个端口上的转发队列,组成一负载分担队列集合,计算负载分担队列集合中每个队列的综合负载量化值,选择综合负载量化值最小的队列对应的端口作为当前报文转发的出端口。本发明专利技术根据所需转发报文的优先级,结合端口上每一个队列的流量负载情况,选择当前报文转发的最优队列,实现部署动态分担时,保证高优先级报文选择最优路径转发。

Implementation method and device of queue level dynamic load sharing

The invention discloses a method and device for the queue level dynamic load sharing. The method includes: taking out the port set in the dynamic load sharing group, reading the port flow state table of all ports in the port set and the queue traffic state table of all ports, and getting the message according to the forwarding priority of the message. The forwarding queue on each port in the port set consists of a load sharing queue set to calculate the comprehensive load quantized value of each queue in the load sharing queue set, and select the port corresponding to the queue with the smallest comprehensive load quantized value as the exit port of the current message. According to the priority of the forwarding message and the traffic load of each queue on the port, the present invention selects the optimal queue that is forwarded by the message, and realizes the deployment dynamic sharing, and ensures the high priority message to select the optimal path forwarding.

【技术实现步骤摘要】
一种队列级的动态负载分担的实现方法及装置
本专利技术涉及一种动态负载分担技术,尤其是涉及一种队列级的动态负载分担的实现方法及装置。
技术介绍
目前实现动态负载分担一般基于出端口为调度单位,然而,在出端口选择时,却不能考虑所需转发报文的优先级。上述基于端口的动态负载分担,由于只考虑端口的总速率,因此,在部署动态负载分担时,无法保证高优先级的报文在负载分担的端口集合中选择最优的可用端口。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种基于报文的转发优先级,结合端口上每一个队列的流量负载情况实现队列级的动态负载分担的方法及装置。为实现上述目的,本专利技术提出如下技术方案:一种队列级的动态负载分担的实现方法,包括:S1,取出动态负载分担组里的端口集合;S2,读取所述端口集合中所有端口的端口流量状态表及所有端口的队列流量状态表;S3,根据报文的转发优先级,得到报文在所述端口集合中的每个端口上的转发队列,组成一负载分担队列集合;S4,根据所述端口流量状态表和队列流量状态表,计算所述负载分担队列集合中每个转发队列的综合负载量化值,选择所述综合负载量化值最小的队列对应的端口作为当前报文转发的出端口。优选地,所述方法还包括:S5,当报文从所述负载分担队列集合中调度出端口时,通知当前报文的长度,将当前报文的长度写入端口流量状态表和队列流量状态表中,用于队列负载和端口负载的统计和测量。优选地,S3中,所述报文的转发优先级获取过程包括:根据报文的优先级字段,得到报文的所述转发优先级。优选地,S2中,所述端口流量状态表包括多个端口和每个端口对应的端口负载量化值,其中,不同的端口用不同的端口ID区分;每个端口的所述端口负载量化值表示端口的带宽的利用率,是通过负载量化算法根据端口的历史和瞬时流量统计值计算后得到的量化值,其中,所述端口的历史流量统计值为端口一个观察周期内的流量统计值,所述端口的瞬时流量统计值为端口最近的流量负荷。优选地,S2中,所述队列流量状态表包括多个队列和每个队列对应的队列负载量化值,其中,不同的队列用不同的队列ID区分;每个队列的队列负载量化值表示队列的带宽的利用率,是通过负载量化算法根据队列的历史和瞬时流量统计值计算后得到的量化值,其中,所述队列的历史流量统计值为队列一个观察周期内的流量统计值,所述队列的瞬时流量统计值为队列最近的流量负荷。优选地,S4中,所述综合负载量化值的计算表达式为:队列负载量化值×队列负载权重+端口负载量化值×端口负载权重,其中,所述队列负载权重配置为0~1之间的任意值,所述端口负载权重配置为0~1之间的任意值。本专利技术还揭示了另外一种技术方案:一种队列级的动态负载分担的实现装置,包括:流量状态表和与流量状态表相连的动态负载分担队列选择模块,所述流量状态表包括端口流量状态表和队列流量状态表,所述动态负载分担队列选择模块包括:端口集合取出单元、流量状态表读取单元、负载分担队列集合单元、报文转发端口选择单元,其中,所述端口集合取出单元,用于取出动态负载分担组里的端口集合;所述流量状态表读取单元,用于从流量状态表中读取所述端口集合中所有端口的所述端口流量状态表及所有端口的所述队列流量状态表;所述负载分担队列集合单元,用于根据报文的转发优先级,得到报文在所述端口集合中的每个端口上的转发队列,组成一负载分担队列集合;所述报文转发端口选择单元,用于根据所述端口流量状态表和队列流量状态表,计算负载分担队列集合中综合负载量化值,选择所述综合负载量化值最小的队列对应的端口作为当前报文转发的出端口。优选地,所述装置还包括:与动态负载分担队列选择模块相连的报文优先级映射单元,用于根据报文的优先级字段,得到报文的转发优先级。优选地,所述装置还包括:与动态负载分担队列选择模块和流量状态表均相连的队列流量测量模块,用于当报文从负载分担队列集合中调度出端口时,将当前报文的长度用于队列流量测试和端口流量的统计和测量。本专利技术的有益效果是:本专利技术提供一种芯片实现基于队列(Queue)级的动态负载分担方法,在动态负载分担选择最优端口时,根据所需转发报文的优先级,结合端口上每一个Queue的流量负载情况,选择当前报文转发的最优Queue,实现部署动态分担时,保证高优先级报文选择最优路径转发。附图说明图1是本专利技术实施例装置的原理框图示意图;图2是本专利技术实施例装置中动态负载分担队列选择模块的原理框图示意图;图3是本专利技术实施例方法的流程示意图;图4是本专利技术另一实施例方法的流程示意图。具体实施方式下面将结合本专利技术的附图,对本专利技术实施例的技术方案进行清楚、完整的描述。本专利技术所揭示的一种队列级的动态负载分担的实现方法及装置,在动态负载分担选择最优端口时,根据所需转发报文的优先级,结合端口上每一个队列(Queue)的流量负载情况,选择当前报文转发的最优Queue,实现部署动态分担时,保证高优先级报文选择最优路径转发。结合图1和图2所示,本专利技术实施例所揭示的一种队列级的动态负载分担的实现装置,包括:报文优先级映射单元、流量状态表和动态负载分担队列选择模块,其中,报文优先级映射单元的输入端接收报文,输出端与动态负载分担队列选择模块相连,用于接收报文,并根据报文的报文的优先级字段,映射得到报文的转发优先级。流量状态表与动态负载分担队列选择模块双向互通连接,用于记载动态负载分担组里的每个端口的流量状态和每个队列的流量状态,供所述动态负载分担队列选择模块选择出最优队列转发报文。本实施例中,流量状态表包括端口流量状态表和队列流量状态表,端口流量状态表用于记载动态负载分担组中所有端口的流量状态情况,其流量状态情况具体可采用端口负载量化值的大小来衡量,也就是说,本实施例中,端口流量状态表具体包括多个端口和每个端口对应的端口负载量化值,其中,不同的端口用不同的端口ID区分,具体形式如下表:其中,每个端口的端口负载量化值表示该端口的带宽的利用率,是通过负载量化算法根据端口的历史和瞬时流量统计值计算后得到的量化值。其中,端口负载量化值越大代表端口负载越重。需要说明的是,这里的端口的历史流量统计值用于表示当前端口在一个观察周期内的流量大小统计值,计算方法可以如下:1)初始端口历史流量量化值Rate=0,用户配置擦除速度U;2)一个观察周期T内,统计从端口通过的流量总字节数S;3)端口历史流量量化值计算公式:Rate=(Rate–Rate/U)+S;4)重复步骤2)、3)。也有其他的方法,这个本专利技术不限定只使用上述这种方法。端口瞬时流量统计值是指端口最近的流量负荷,计算方法可以用端口报文队列的长度来表示,同样,本专利技术也不限制只使用上述这种方法得到端口瞬时流量统计值。队列流量状态表包括多个队列和每个队列对应的队列负载量化值,其中,不同的队列用不同的队列ID区分;每个队列的队列负载量化值表示队列的带宽的利用率,其计算方法与端口负载量化值计算方法类似,是通过负载量化算法根据队列的历史和瞬时流量统计值计算后得到的量化值。其中,队列的历史流量统计值为队列一个观察周期内的流量统计值,队列的瞬时流量统计值为队列最近的流量负荷,队列负载量化值越大代表Queue负载越重。需要说明的是,这里的端口是指网络交换机的物理端口,其与队列之间的关系是,端口在交换机中一个端口绑定本文档来自技高网...

【技术保护点】
1.一种队列级的动态负载分担的实现方法,其特征在于,包括:S1,取出动态负载分担组里的端口集合;S2,读取所述端口集合中所有端口的端口流量状态表及所有端口的队列流量状态表;S3,根据报文的转发优先级,得到报文在所述端口集合中的每个端口上的转发队列,组成一负载分担队列集合;S4,根据所述端口流量状态表和队列流量状态表,计算所述负载分担队列集合中每个转发队列的综合负载量化值,选择所述综合负载量化值最小的队列对应的端口作为当前报文转发的出端口。

【技术特征摘要】
1.一种队列级的动态负载分担的实现方法,其特征在于,包括:S1,取出动态负载分担组里的端口集合;S2,读取所述端口集合中所有端口的端口流量状态表及所有端口的队列流量状态表;S3,根据报文的转发优先级,得到报文在所述端口集合中的每个端口上的转发队列,组成一负载分担队列集合;S4,根据所述端口流量状态表和队列流量状态表,计算所述负载分担队列集合中每个转发队列的综合负载量化值,选择所述综合负载量化值最小的队列对应的端口作为当前报文转发的出端口。2.根据权利要求1所述的队列级的动态负载分担的实现方法,其特征在于,所述方法还包括:S5,当报文从所述负载分担队列集合中调度出端口时,通知当前报文的长度,将当前报文的长度写入端口流量状态表和队列流量状态表中,用于队列负载和端口负载的统计和测量。3.根据权利要求1所述的队列级的动态负载分担的实现方法,其特征在于,S3中,所述报文的转发优先级是根据报文的优先级字段,映射得到。4.根据权利要求1所述的队列级的动态负载分担的实现方法,其特征在于,S2中,所述端口流量状态表包括多个端口和每个端口对应的端口负载量化值,其中,不同的端口用不同的端口ID区分;每个端口的所述端口负载量化值表示端口的带宽的利用率,是通过负载量化算法根据端口的历史和瞬时流量统计值计算后得到的量化值,其中,所述端口的历史流量统计值为端口一个观察周期内的流量统计值,所述端口的瞬时流量统计值为端口最近的流量负荷。5.根据权利要求4所述的队列级的动态负载分担的实现方法,其特征在于,S2中,所述队列流量状态表包括多个队列和每个队列对应的队列负载量化值,其中,不同的队列用不同的队列ID区分;每个队列的队列负载量化值表示队列的带宽的利用率,是通过负载量化算法根据队列的历史和瞬时流量统计值计算后得到的量化值,其中,所述队列的历史流量统计值为队列一个观察周期内的流量统计值,所述队列的瞬时流量统计值为队列最近的流量负荷。6.根据权利要求5所述的队列级的动态负载分担的实现方法,其特征在于,S4中,所述综合负载量化值的计算表达式为:队列负载量化值×队列负载权重+端口负载量化值×端口负载权重,其中,所述队列负载权重配置为0~1之间的任意值,所述端口负载权重配置为0~1之间的任意值。7.一种队列级的动态负载分担的实现装置,其特征在于,包括:流量状态表和与流量状态表相连的动态负载分担队列选择模块...

【专利技术属性】
技术研发人员:杨曙军
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1