报文调度方法、装置及通信设备与流程

文档序号:16977842发布日期:2019-02-26 19:11阅读:188来源:国知局
报文调度方法、装置及通信设备与流程

本发明涉及无线通信技术领域,具体而言,涉及一种报文调度方法、装置及通信设备。



背景技术:

在数据通信领域中,若网络处于拥塞状况,大量用户在使用网络从事多媒体业务或数据业务时,由于网络带宽的限制,一旦到达带宽极限,会导致网络传输质量直线下降,造成网络延迟大、丢包率高、网络抖动变化剧烈,在这种情况下如果重要的协议报文丢失,导致整个网络中路由协议震荡,使整个网络环境无法使用。



技术实现要素:

有鉴于此,本发明实施例提供了一种报文调度方法、装置及通信设备,在网络拥塞时,通过将对网络传输质量具有重要影响的高优先级报文优先调度,次高优先级报文以及其他报文共享网络接口总带宽进行调度,以改善上述问题。

为了实现上述目的,本发明采用的技术方案如下:

一种报文调度方法,所述方法包括:当网络拥塞时,按照分类标记将高优先级报文放入第一队列,将次高优先级报文放入第二队列,将其他报文放入第三队列;调度任务优先调度所述第一队列中的报文;当所述第一队列中的报文调度完成后,调度所述第二队列中的报文;当已调度的所述第二队列中的报文流量超过第一预留带宽时,调度所述第三队列中的报文;其中,调度的所述第三队列中的报文流量小于等于第二预留带宽,第一预留带宽与第二预留带宽之和等于报文调度接口总带宽。

一种报文调度装置,所述装置包括:入队模块,用于当网络拥塞时,按照分类标记将高优先级报文放入第一队列,将次高优先级报文放入第二队列,将其他报文放入第三队列;调度任务模块,用于优先调度所述第一队列中的报文;当所述第一队列中的报文调度完成后,所述调度任务模块用于调度所述第二队列中的报文;当已调度的所述第二队列中的报文流量超过第一预留带宽时,所述调度任务模块用于调度所述第三队列中的报文;其中,调度的所述第三队列中的报文流量小于等于第二预留带宽,第一预留带宽与第二预留带宽之和等于报文调度接口总带宽。

一种通信设备,所述通信设备包括存储器、处理器以及上述的报文调度装置,所述装置安装于所述存储器并由所述处理器执行。

本发明实施例提供的报文调度方法、装置及通信设备,当网络拥塞时,将高优先级报文放入第一队列,次高优先级报文放入第二队列,其他报文放入第三队列,并且调度任务优先调度第一队列中的报文,当第一队列中的报文调度完成后,再调度第二队列中的报文。第二队列中的报文流量超过第一预留带宽时,调度小于等于第二预留带宽的第三队列中的报文,且第一预留带宽与第二预留带宽之和等于报文调度的接口总带宽。本发明实施例提供的方案中,在网络拥塞时,通过将高优先级报文优先调度,次高优先级报文以及其他报文调度共享网络接口总带宽,且次高优先级的报文先于其他报文调度,有效提高网络传输质量,保证网络环境的稳定性。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1示出了本发明第一实施例提供的报文调度方法的一种流程图;

图2示出了本发明第一实施例提供的报文调度方法的一种调度示意图;

图3示出了本发明第二实施例提供的报文调度装置的功能模块图;

图4示出了本发明第三实施例提供的通信设备的结构框图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

第一实施例

本实施例提供了一种报文调度方法,请参见图1,该方法包括:

步骤s110:当网络拥塞时,按照分类标记将高优先级报文放入第一队列,将次高优先级报文放入第二队列,将其他报文放入第三队列。

不同报文对网络环境的稳定性具有不同的作用,当网络环境拥塞时,为保证网络环境的稳定性,可以根据报文对网络环境稳定的重要程度将不同的报文放入不同的队列,以将不同重要性的报文以不同优先级调度。在本实施例中,根据报文对网络环境稳定的重要程度,可以将报文分类为高优先级报文、次高优先级报文以及除此以外的其他报文。

进一步的,由于维护链路状态的本机生成的二层协议报文是维持网络稳定的重要因素,因此可以将维护链路状态的本机生成的二层协议报文作为高优先级报文,放入第一队列;将按照设定周期调度的本机生成的协商类协议报文作为次高优先级报文,放入第二队列;比较不重要的需要转发的报文作为其他报文放入第三队列。

另外,可以通过分类标记对不同类别的报文进行区分。具体的,由于本机协议报文都是由协议栈统一调度,不同业务模块在调度协议报文时,会根据业务需求在该报文的报文描述符中打上相应的标记。其中,对于高优先级报文,打上的为表示优先级最高的标记,例如arp、ppp、hdlc报文调度时,在报文描述符中打上af_link等表示最高优先级的标记。在本实施例中,高优先级报文还可以包括lacp、bfd、l2tpv2、l2tpv3等,具体包括哪些报文在本实施例中并不限定。

另外,对于次高优先级报文,在调度时在报文描述符中也会打上相应标记,如ospf、isis、nd等报文,调度时在报文描述符中打上af_protocol等表示次高优先级的标记。另外,次高优先级报文还可以包括ospfv4、ospfv6、isis、nd、bgp等,在本实施例中并不限定。

而其他报文,如需要转发的报文不打标记。

因此,可以根据报文的描述符中是否有标记以及标记的不同对报文进行区分,以将不同的报文放入不同的队列,而不需要对报文进行解析。例如,若报文描述符中打的是af_link的标记,则该报文为高优先级报文,将该报文放入第一队列;若报文描述符中打的是af_protocol的标记,则该报文为次高优先级报文,将该报文放入第二队列;若报文描述符上没有标记,则认为是需要转发的报文,即其他报文,放入第三队列。如图2示出了将不同的报文放入相应队列,其中,“high”表示第一队列具有最高的调度优先级,“medium”表示第二队列具有次高优先级,“low”表示第三队列优先级最低。

步骤s120:调度任务优先调度所述第一队列中的报文。

在网络拥塞的情况下,为保证网络传输质量,优先调度具有高优先级的报文,即调度任务优先调度第一队列中的报文。其中,调度任务的触发可以是当有报文进入第一队列、第二队列以及第三队列中的任意一个队列时实现。

当任意一个队列有报文进入时,唤醒调度任务,开始对队列中的报文进行出队调度。当然,在本实施例中,入队和出队异步进行,队列调度出队时,入队任务可继续进行,队列调度入队时,出队任务可继续进行。

步骤s130:当所述第一队列中的报文调度完成后,调度所述第二队列中的报文。

步骤s140:当已调度的所述第二队列中的报文流量超过第一预留带宽时,调度所述第三队列中的报文;其中,调度的所述第三队列中的报文流量小于等于第二预留带宽,第一预留带宽与第二预留带宽之和等于报文调度接口总带宽。

调度任务将第一队列中的报文调度完成后再调度第二队列以及第三队列中的报文。当然,若第一队列中无报文,则可以直接调度第二队列以及第三队列中的报文。

进一步的,如图2所示,在对第二队列以及第三队列的报文进行调度时,可以使用单速率三色令牌桶对出队的报文限速。例如图2中,分为红黄蓝三色,以字母“r”、“y”、“b”作为对颜色的表示,其中,字母“r”表示红色,代表第一队列,表示第一队列最重要,优先级最高;“y”表示黄色,代表第二队列,表示第二队列重要程度低于第一队列,为次高优先级;“b”表示蓝色,代表第三队列,表示第三队列的重要程度低于第一队列以及第二队列。

具体的,当所述第二队列以及所述第三队列中均有报文,先从第二队列中调度报文。在本实施例提供的一种实施方式中,当已调度的第二队列中的报文流量超过第一预留带宽时,调度第三队列中的报文。在本实施方式中,第三队列中的报文流量小于等于第二预留带宽,第二队列调度的报文流量与第三队列调度的报文流量之和等于报文调度接口总带宽。例如,接口总带宽是千兆,若第二队列已调度的报文流量为700兆,则第三队列调度的报文流量为300兆。

其中,该第一预留带宽为预先设置的带宽值,其具体数值在本实施例中并不限定,可以根据高优先级报文数量进行设置。

本实施例还提供了另外一种实施方式。在该实施方式中,当调度任务调度所述第二队列中的报文流量超过第一预留带宽时,调度任务调度所述第三队列中的报文。当已调度的所述第三队列中的报文流量小于所述第二预留带宽时,可超过所述第一预留带宽调度所述第二队列中的报文,使调度的所述第二队列中的报文流量与调度的所述第三队列中的报文流量之和等于报文调度的接口总带宽。

可以理解的,在本实施方式中,若所述第二队列中有报文而第三队列中无报文,则是以接口总带宽调度第二队列中的报文。

另外,在本实施例还提供了一种实施方式,在该实施方式中,当所述第一队列中的报文调度完成后,调度所述第二队列中的报文,但是当已调度的所述第二队列中的报文流量小于第一预留带宽时,可超过所述第二预留带宽调度所述第三队列中的报文,已调度的所述第二队列中的报文流量与已调度的所述第三队列中的报文流量之和等于报文调度接口总带宽。例如,接口总带宽为千兆,第一预留带宽为700兆,调度的第二队列的报文流量为600兆,则调度第三队列的报文流量为400兆。

可以理解的,在本实施方式中,将所述第一队列中的报文调度完成后,若所述第二队列中无报文,则可以以接口总带宽调度第三队列中的报文。

在本实施例中,在第三队列调度过程中,若有对应第二队列的报文需要入队,则先入队,若第二队列满,则可以将新的次高优先级报文丢弃。

因此,为了减少第二队列中协议报文的丢弃数量,可以根据突发流量情况动态调整所述第一预留带宽,第二预留带宽对应改变,满足所述第一预留带宽与第二预留带宽之和等于报文调度接口总带宽。

例如,所述第二队列中的报文突发流量超过第一预留带宽,可以增大所述第一预留带宽。另外,第一预留带宽的增大值在本实施例中并不限定,可以是预先设定多个数值大小不同的第一预留带宽,增大当前第一预留带宽到更大的一个第一预留带宽;或者是设置第一预留带宽增大的阶梯值,增大第一预留带宽时,将当前的第一预留带宽增加一个阶梯值获得的数值作为新的第一预留带宽。

当然,根据报文突发流量对第一预留带宽的具体调节方式在本实施例中并不限定。

进一步的,也可以在多次出现第二队列报文突发流量超过第一预留带宽,再根据报文突发流量调整第一预留带宽。其中,上述多次的具体次数并不限定。

本实施例中,在实现一次第一队列、第二队列、第三队列的遍历调度流程后,若网络拥塞,则调度任务继续进行上述报文调度过程。

综上所述,本发明实施例提供的报文调度方法,在网络拥塞时,将高优先级报文放入第一队列,次高优先级报文放入第二队列,其他报文放入第三队列,并且调度任务优先调度第一队列中的报文,当第一队列中的报文调度完成后,再调度第二队列中的报文,保证了高优先级的报文优先调度。当以维护链路状态的本机生成的二层协议报文等对网络环境稳定具有重要作用的报文作为高优先级的报文,可以有效保证网络环境的稳定性。

另外,本发明实施例提供的方法中,第二队列中的报文流量超过第一预留带宽时,再调度小于等于第二预留带宽的第三队列中的报文,且第一预留带宽与第二预留带宽之和等于报文调度的接口总带宽,实现次高优先级报文以及其他报文的调度共享网络接口总带宽,且次高优先级的报文先于其他报文调度,保证了接口总带宽根据流量实时动态分配带宽。因此,本发明实施例提供的方法,在保证协议优先的基础上,充分地利用了接口带宽,有效提高了网络传输质量。当然,当网络环境不拥塞时,可以将各种报文直接调度,而不需要进行区分服务。

另外,本发明实施例提供的方法中,第三队列还可以进一步细化区分,扩展为多个队列,该多个队列具有不同的优先级;调度任务调度所述第三队列中的报文时,根据所述多个队列的优先级进行调度,使本发明实施例提供的方法具有良好的扩展性。如图2中对第三队列进一步细化后形成的多列转发数据队列,则可以为第三队列进一步细分形成的队列。

第二实施例

本实施例提供了一种报文调度装置200,请参见图3,该装置200包括:入队模块210,用于当网络拥塞时,按照分类标记将高优先级报文放入第一队列,将次高优先级报文放入第二队列,将其他报文放入第三队列;调度任务模块220,用于优先调度所述第一队列中的报文;当所述第一队列中的报文调度完成后,所述调度任务模块220用于调度所述第二队列中的报文;当已调度的所述第二队列中的报文流量超过第一预留带宽时,所述调度任务模块220用于调度所述第三队列中的报文;其中,调度的所述第三队列中的报文流量小于等于第二预留带宽,第一预留带宽与第二预留带宽之和等于报文调度接口总带宽。

具体的,入队模块210可以用于按照报文描述符上的标记,将维护链路状态的本机生成的二层协议报文作为高优先级报文放入第一队列;将按照设定周期调度的本机生成的协商类协议报文作为次高先级报文放入第二队列;将不带标记的需要转发的报文放入第三队列。

其中,当调度任务调度所述第二队列中的报文流量超过第一预留带宽时,调度任务模块220用于调度所述第三队列中的报文;当已调度的所述第三队列中的报文流量小于所述第二预留带宽时,调度任务模块220可超过所述第一预留带宽调度所述第二队列中的报文;已调度的所述第二队列中的报文流量与已调度的所述第三队列中的报文流量之和等于报文调度接口总带宽。

另外,当所述第一队列中的报文调度完成后,调度任务模块220用于调度所述第二队列中的报文;当已调度的所述第二队列中的报文流量小于第一预留带宽时,调度任务模块220用于调度所述第三队列中的报文;当已调度的所述第三队列中的报文流量超过所述第二预留带宽时,调度任务模块220可超过所述第二预留带宽调度所述第三队列中的报文;已调度的所述第二队列中的报文流量与已调度的所述第三队列中的报文流量之和等于报文调度接口总带宽。

进一步的,本实施例提供的装置200中还可以包括带宽调整模块,用于根据突发流量情况动态调整所述第一预留带宽,所述第一预留带宽与第二预留带宽之和等于报文调度接口总带宽。

另外,本实施例提供的装置200中还可以包括队列扩展模块,用于将第三队列扩展为多个队列,所述多个队列具有不同的优先级;调度任务模块调度所述第三队列中的报文时,可以根据所述多个队列的优先级进行调度。

第三实施例

本实施例提供了一种通信设备300,如图4所示,该通信设备300可以包括存储器310、处理器320以及第二实施例所述的报文调度装置200,所述装置200安装于所述存储器并由所述处理器执行。

其中,该通信设备可以是路由器或者交换机,当然,该通信设备具体为何种设备并不作为本实施例中的限制,也可以是其他适用于本发明实施例提供的报文调度方法的设备。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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