一种传输报文的方法和装置与流程

文档序号:20608219发布日期:2020-05-01 22:18阅读:165来源:国知局
一种传输报文的方法和装置与流程

本申请涉及通信领域,并且更具体地,涉及一种传输报文的方法和装置。



背景技术:

随着网络技术的高速发展,人们对网络使用的需求量越来越大。如果对业务、用户以及应用类别不加以区分,某带宽资源可能同时向多种业务下的多个应用开放。在这种公平竞争的场景中,当网络入口或出口流量超出总的带宽限制时,会造成网络拥塞或网络延迟,对语音类业务的影响尤为明显,从而降低用户体验。因此,需要区分业务、用户以及应用的优先级,来实现业务流的差异化转发。当业务流在不同场景中实现端到端转发的过程中,需要差异化保障各优先级的业务、用户以及相关应用,即需要满足业务流差异服务水平协议(servicelevelagreement,sla)保障的需求。

层次化承诺访问速率(hierarchicalcommittedaccessrate,hcar)是一种分级流量调度技术,通过差异化的流量限速实现流量调度,符合业务流差异sla保障需求。hcar主要是对业务流进行分类和流量监管,通过自动丢包机制来控制流量突发,以达到限速的效果。例如,hcar技术可以对业务流按优先级进行分类,使高优先级的业务流更容易被标记为“通过”,而低优先级的业务流则更多地被标记为“丢弃”,当报文流量过大时能够有效解决带宽的分配问题。

但现有的hcar技术中,当某个优先级的业务流的传输速率增加时,hcar的限速保持不变,就容易产生较多的丢包,影响传输效率。



技术实现要素:

本申请提供一种传输报文的方法和装置,能够实现不同优先级报文的差异化转发,从整体上提高传输效率。

第一方面,提供了一种传输报文的方法,包括:接收第一报文;确定所述第一报文的优先级为第一优先级,所述第一优先级的流量的承诺访问速率参数为第一参数;根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为第二参数;根据所述第二参数以及所述第一报文的优先级确定是否将所述第一报文入队到第一队列,所述第一队列中的报文的优先级为所述第一优先级。

根据本申请实施例的方法,根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为第二参数,并根据所述第二参数以及所述第一报文的优先级确定是否将所述第一报文入队到第一队列,该方法针对不同优先级的报文实时更新所述优先级的流量的承诺访问速率参数,以调整所述报文进入第一队列的限速,可以保障高优先级报文的高效转发,同时可以使低优先级报文在传输过程中合理地占用带宽,从而实现不同优先级报文的差异化转发,从整体上提高传输效率。

在一种可能的实现方式中,所述根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,将所述第一报文的承诺访问速率参数从所述第一参数调整为第二参数,包括:根据多个优先级的流量的发送速率的总和与所述第一优先级的流量的发送速率,确定所述第一优先级的流量在所述多个优先级的流量的总和中的第一占比,所述多个优先级包括所述第一优先级;和/或根据多个优先级的流量所占的缓存的总和与所述第一优先级的流量所占的缓存的大小,确定所述第一优先级的流量所占的缓存在所述多个优先级的流量所占的缓存的总和中的第二占比,所述多个优先级包括所述第一优先级;根据所述第一占比和/或所述第二占比,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为所述第二参数。

在一种可能的实现方式中,所述方法还包括:根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,调整所述第一队列的调度权重,所述第一队列的调度权重用于指示在一个时间周期内所述第一队列中被允许发送的数据的数量与多个队列中被允许发送的数据的数量的总和的比例,所述多个队列包括所述第一队列;根据所述第一队列的调度权重对所述第一队列进行调度。

根据本申请实施例的方法,根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,调整所述第一队列的调度权重,并根据所述第一队列的调度权重对所述第一队列进行调度,该方法实时更新所述不同优先级对应的队列的调度权重,以调整所述队列被调度的速度,可以保障高优先级报文的高效转发,同时可以使低优先级报文在传输过程中合理地占用带宽,从而实现不同优先级报文的差异化转发,从整体上提高传输效率。

在一种可能的实现方式中,所述根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,调整所述第一队列的调度权重,包括:根据多个优先级的流量的发送速率的总和与所述第一优先级的流量的发送速率,确定所述第一优先级的流量在所述多个优先级的流量的总和中的第三占比,所述多个优先级包括所述第一优先级;和/或根据多个优先级的流量所占的缓存的总和与所述第一优先级的流量所占的缓存的大小,确定所述第一优先级的流量所占的缓存在所述多个优先级的流量所占的缓存的总和中的第四占比,所述多个优先级包括所述第一优先级;根据所述第三占比和/或所述第四占比,调整所述第一队列的调度权重。

在一种可能的实现方式中,所述第一报文的报文头包括用户的优先级信息、应用的优先级信息和/或业务的优先级信息,所述确定所述第一报文的优先级为第一优先级,包括:根据所述用户的优先级信息、所述应用的优先级信息和/或所述业务的优先级信息,确定所述第一报文的优先级为所述第一优先级。

在一种可能的实现方式中,所述承诺访问速率参数包括峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率。

第二方面,提供了一种传输报文的装置,包括:接收模块,用于接收第一报文;处理模块,用于确定所述第一报文的优先级为第一优先级,所述第一优先级的流量的承诺访问速率参数为第一参数;所述处理模块,还用于根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为第二参数;所述处理模块,还用于根据所述第二参数以及所述第一报文的优先级确定是否将所述第一报文入队到第一队列,所述第一队列中的报文的优先级为所述第一优先级。

根据本申请实施例的装置,根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为第二参数,并根据所述第二参数以及所述第一报文的优先级确定是否将所述第一报文入队到第一队列,该装置针对不同优先级的报文实时更新所述优先级的流量的承诺访问速率参数,以调整所述报文进入第一队列的限速,可以保障高优先级报文的高效转发,同时可以使低优先级报文在传输过程中合理地占用带宽,从而实现不同优先级报文的差异化转发,从整体上提高传输效率。

在一种可能的实现方式中,所述处理模块具体用于:根据多个优先级的流量的发送速率的总和与所述第一优先级的流量的发送速率,确定所述第一优先级的流量在所述多个优先级的流量的总和中的第一占比,所述多个优先级包括所述第一优先级;和/或根据多个优先级的流量所占的缓存的总和与所述第一优先级的流量所占的缓存的大小,确定所述第一优先级的流量所占的缓存在所述多个优先级的流量所占的缓存的总和中的第二占比,所述多个优先级包括所述第一优先级;根据所述第一占比和/或所述第二占比,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为所述第二参数。

在一种可能的实现方式中,所述处理模块还用于:根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,调整所述第一队列的调度权重,所述第一队列的调度权重用于指示在一个时间周期内所述第一队列中被允许发送的数据的数量与多个队列中被允许发送的数据的数量的总和的比例,所述多个队列包括所述第一队列;根据所述第一队列的调度权重对所述第一队列进行调度。

根据本申请实施例的装置,根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,调整所述第一队列的调度权重,并根据所述第一队列的调度权重对所述第一队列进行调度,该装置实时更新所述不同优先级对应的队列的调度权重,以调整所述队列被调度的速度,可以保障高优先级报文的高效转发,同时可以使低优先级报文在传输过程中合理地占用带宽,从而实现不同优先级报文的差异化转发,从整体上提高传输效率。

在一种可能的实现方式中,所述处理模块具体用于:根据多个优先级的流量的发送速率的总和与所述第一优先级的流量的发送速率,确定所述第一优先级的流量在所述多个优先级的流量的总和中的第三占比,所述多个优先级包括所述第一优先级;和/或根据多个优先级的流量所占的缓存的总和与所述第一优先级的流量所占的缓存的大小,确定所述第一优先级的流量所占的缓存在所述多个优先级的流量所占的缓存的总和中的第四占比,所述多个优先级包括所述第一优先级;根据所述第三占比和/或所述第四占比,调整所述第一队列的调度权重。

在一种可能的实现方式中,所述第一报文的报文头包括用户的优先级信息、应用的优先级信息和/或业务的优先级信息,所述处理模块具体用于:根据所述用户的优先级信息、所述应用的优先级信息和/或所述业务的优先级信息,确定所述第一报文的优先级为所述第一优先级。

在一种可能的实现方式中,所述承诺访问速率参数包括峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率。

第三方面,提供了一种传输报文的装置,该装置包括接收器和处理器,处理器用于执行程序,当处理器执行程序时,接收器和处理器实现第一方面或第一方面的任意一种可能的实现方式中的传输报文的方法。

在一种可能的设计中,该装置还可以包括存储器。存储器用于存储处理器执行的程序。

第四方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储用于传输报文的装置执行的程序代码,该程序代码包括用于实现第一方面或第一方面的任意一种可能的实现方式中的传输报文的方法的指令。

第五方面,提供一种芯片,该芯片包括处理器和通信接口,该通信接口用于与外部器件进行通信,该处理器用于实现第一方面或第一方面的任意一种可能的实现方式中的传输报文的方法。

在一种可能的设计中,该芯片还可以包括存储器,该存储器中存储有指令,处理器用于执行存储器中存储的指令,当该指令被执行时,处理器用于实现第一方面或第一方面的任意一种可能的实现方式中的传输报文的方法。

第六方面,提供了一种计算机程序产品,包括指令,当其在传输报文的装置上运行时,使得所述传输报文的装置执行第二方面或第二方面中任一项可能的实现方式中的传输报文的方法。

附图说明

图1为本申请提供的一个组网结构图。

图2为本申请提供的路由器的结构示意图。

图3为本申请提供的一个接口板的结构示意图。

图4为本申请提供的一个接口板的结构示意图。

图5为本申请提供的一种传输报文的方法的示意性流程图。

图6为本申请实施例的一种报文队列的结构示意图。

图7为本申请提供的一种传输报文的装置的结构示意图。

图8为本申请提供的一种传输报文的装置的结构示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

在数据通信领域,报文有可能需要经过多台转发装置转发后才能到达目的地。转发装置可以是路由器。路由器可以对因特网协议(internetprotocol,ip)报文进行转发。转发装置可以是网络交换机。网络交换机可以对以太网帧进行转发。

图1为本申请提供的一个组网结构图。参见图1,组网结构图中包含7台路由器,分别是路由器1至路由器7。每个路由器可以包含多个物理接口卡。每个物理接口卡可以包含多个端口。图1中示出了路由器1中的2个出端口(第一出端口、第二出端口),以及路由器2中的2个出端口(第三出端口、第四出端口)。路由器1通过所述第一出端口与路由器2相连。路由器1通过所述第二出端口与路由器3相连。路由器2通过所述第三出端口与路由器4相连。路由器2通过所述第四出端口与路由器5相连。

路由器1接收到一个报文后,路由器1确定用于转发该报文的出端口,例如第一出端口,并将该报文从第一出端口转发出去。路由器2接收到路由器1转发的报文后,路由器2确定用于转发该报文的出端口,例如第三出端口,并将该报文从第三出端口转发出去。

图2为图1中的路由器2的一种可能的结构示意图。图1中的其他路由器(例如路由器1)也可以采用图2所示的结构示意图。

参见图2,路由器2包括控制板1210、交换网板1220、接口板1230以及接口板1240。控制板1210包括中央处理器1211。控制板1210可以用于执行路由协议。路由协议可以是边界网关协议(bordergatewayprotocol,bgp)或者内部网关协议(interiorgatewayprotocol,igp)。控制板1210可以通过执行路由协议生成路由表,并向接口板1230和1240发送路由表。需要说明的是,图1中的路由器2也可以采用与图2所示的结构不同的结构。例如,图1中的路由器2可以只包括一个控制板和一个接口板,不包括交换网板。当然,图1中的路由器2可以包括两个以上的接口板。当路由器2只包括一个接口板,不包括交换网板时,经由该接口板的入端口接收的ip报文经该接口板处理后,可以从该接口板的出端口出去。当路由器2包括多个接口板,并包括交换网板时,经由路由器2的一个接口板的入端口接收的ip报文经交换网板处理后,可以从路由器2的另一个接口板的出端口出去。本申请对路由器2以及图1中的其他路由器的具体结构不做限定。

接口板1230可以通过查找路由表,对ip报文进行转发。具体来说,接口板1230包括中央处理器1231、网络处理器1232、物理接口卡1233以及存储器1234。需要说明的是,图2并没有示出接口板1230能够包含的所有部件。具体实现时,接口板1230还可以包含其他部件。例如,为使得接口板1230具备队列调度和管理的功能,接口板1230还可以包含流量管理器。另外,为使得来自接口板1230的报文能够经由交换网板1220被交换到接口板1240,接口板1230还可以包含入口交换网接口芯片(ingressfabricinterfacechip,ific)。关于包含流量管理器以及ific的接口板1230的具体实现方式,可以参见图3以及对应的描述。中央处理器1231可以接收中央处理器1211发送的路由表,并将路由表保存至存储器1234。物理接口卡1233可以用于接收路由器1发送的ip报文。网络处理器1232可以在存储器1234的路由表中查找与物理接口卡1233接收的ip报文匹配的路由表项,并根据匹配的路由表项,向交换网板1220发送ip报文。交换网板1220可以用于将来自一个接口板的ip报文交换到另一接口板。例如,交换网板1220可以将来自接口板1230的ip报文交换到接口板1240。具体地,交换网板1220可以以信元交换的方式将来自接口板1230的ip报文交换到接口板1240。举例来说,网络处理器1232可以获取ip报文中的目的ip地址。网络处理器1232可以根据最长前缀匹配算法在路由表中查找与ip报文匹配的路由表项,并根据与ip报文匹配的路由表项确定出端口。与ip报文匹配的路由表项中包含了出端口的标识。网络处理器1232向交换网板1220发送的ip报文到达交换网板1220前,接口板1230可以对ip报文进行队列调度和管理。具体地,接口板1230可以利用图3中的流量管理器301对ip报文进行队列调度和管理。

接口板1240可以通过查找路由表,对ip报文进行转发。接口板1240包括中央处理器1241、网络处理器1242、物理接口卡1243以及存储器1244。图2并没有示出接口板1240能够包含的所有部件。具体实现时,接口板1240还可以包含其他部件。例如,为使得接口板1240具备队列调度和管理的功能,接口板1240还可以包含流量管理器。另外,为使得接口板1240能够正确经由交换网板1220接收来自接口板1230的报文,接口板1240还可以包含出口交换网接口芯片(egressfabricinterfacechip,efic)。关于包含流量管理器以及efic的接口板1240的具体实现方式,可以参见图4以及对应的描述。中央处理器1241可以接收中央处理器1211发送的路由表,并将路由表保存至存储器1244。网络处理器1242可以用于接收来自交换网板1220的ip报文。来自交换网板1220的ip报文可以是物理接口卡1233接收的路由器1发送的ip报文。网络处理器1242可以在存储器1244的路由表中查找与来自交换网板1220的ip报文匹配的路由表项,并根据匹配的路由表项,向物理接口卡1243发送ip报文。物理接口卡1243可以用于向路由器4发送的ip报文。网络处理器1242向物理接口卡1243发送的ip报文到达物理接口卡1243前,接口板1240可以对ip报文进行队列调度和管理。具体地,接口板1240可以利用图4中的流量管理器402对ip报文进行队列调度和管理。

网络中需要传输多个报文,每个报文的发送时间可能是不同的。为减少网络中传输的报文发生乱序,路由器中包含了存储器。所述存储器可以是先入先出存储器(firstinfirstoutmemory)。路由器可以利用存储器对待转发的报文流进行队列调度和管理。另外,路由器可能在短时间内接收到大量的报文,大量的报文可能导致路由器的存储器中的先入先出队列的拥塞程度比较高。为了降低先入先出队列的拥塞程度,路由器可以对待入队到所述先入先出队列的报文进行丢弃管理。

图3为图2所示的接口板1230在一种可能的实现方式中的结构示意图。参见图3,接口板1230包括网络处理器(networkprocessor,np)1232、流量管理器(trafficmanager,tm)301、存储器302以及ific303。需要说明的是,图3仅示出接口板1230包含的部分部件。具体实现时,图3所示的接口板1230还可以包含图2所示的接口板1230中的部件。图3所示的接口板能够对上行流量进行队列调度和管理。上行流量可以是指接口板1230经由物理接口卡1233接收的,待发送至交换网板1220的流量。具体地,经由物理接口卡1233接收的报文经网络处理器1232和流量管理器301处理后,被发送至入口交换网接口芯片303。入口交换网接口芯片303接收流量管理器301发送的报文后,入口交换网接口芯片303可以根据所述报文生成多个信元,并向交换网板1220发送所述多个信元。所述报文队列可以是先入先出队列。存储器302可以是先入先出存储器。需要说明的是,存储器1234与存储器302的功能不同。存储器1234用于存储路由表。网络处理器通过访问存储器1234实现对路由表的查找。存储器302用于存储先入先出队列。流量管理器301通过访问存储器302实现对先入先出队列的管理。因此,存储器1234与存储器302可以是相对独立的存储器。具体来说,存储器302用于保存和维护报文队列。报文队列中包含多个报文。流量管理器301能够对待进入报文队列的报文进行入队管理,对待离开报文队列的报文进行出队管理。具体来说,流量管理器301能够保存和维护报文描述符队列。报文描述符队列中包含多个报文描述符。报文队列中包含的多个报文与报文描述符队列中包含的多个报文描述符一一对应。每个报文描述符用于指示对应的报文的信息。例如,报文描述符可以包括该报文描述符对应的报文的在存储器302的存储位置。另外,报文描述符还可以包括该报文描述符对应的报文进入路由器2的时间。具体地,该报文描述符对应的报文进入路由器2的时间可以是该报文描述符对应的报文被物理接口卡1233接收的时间。流量管理器301能够对来自网络处理器1232的报文进行入队管理。例如,流量管理器301可以根据加权随机早期检测(weightedrandomearlydetection,wred)算法确定是否丢弃来自网络处理器1232的报文。当然,流量管理器301也可以根据其他算法确定是否丢弃来自网络处理器1232的报文。如果流量管理器301确定不丢弃来自网络处理器1232的报文时,流量管理器301可以将报文保存在存储器302的报文队列中。具体地,流量管理器301可以将报文保存在存储器302的报文队列的队尾。并且,流量管理器301根据所述报文在存储器302中的存储位置生成所述报文对应的报文描述符,并将所述报文描述符保存在报文描述符队列中。具体地,流量管理器301可以将报文描述符保存在报文描述符队列的队尾。报文描述符队列可以被保存在流量管理器301中。具体地,报文描述符队列可以被保存在流量管理器中的队列管理器中。流量管理器301能够对保存在存储器302中的报文队列进行出队管理。例如,当流量管理器301根据加权公平队列(weightedfairqueueing,wfq)确定需要发送保存在存储器302中的报文队列的报文时,流量管理器301可以根据报文描述符队列的队头,向存储器302发送调度信号。当然,流量管理器301也可以根据其他队列调度算法确定需要发送保存在存储器302中的报文队列的报文。所述调度信号包含位于报文队列的队头的报文的存储位置。所述调度信号用于指示存储器302向流量管理器301提供位于报文队列的队头的报文。存储器302向流量管理器301提供位于报文队列的队头的报文并删除报文队列中所述已发送的报文。流量管理器301从存储器302获得位于报文队列的队头的报文,向入口交换网接口芯片303发送所述报文。流量管理器301向入口交换网接口芯片303发送报文后,流量管理器301删除报文描述符队列中所述已发送的报文对应的报文描述符。

图4为图2所示的接口板1240在一种可能的实现方式中的结构示意图。参见图4,接口板1240包括网络处理器1242、流量管理器402、存储器403、物理接口卡1243以及efic401。需要说明的是,图4仅示出接口板1240包含的部分部件。具体实现时,图4所示的接口板1240还可以包含图2所示的接口板1240中的部件。图4所示的接口板能够对下行流量进行队列调度和管理。下行流量可以是指接口板1240经由交换网板1220接收的,待发送至物理接口卡1243的流量。物理接口卡1243接收到下行流量后,可以经由第三出端口将下行流量发送至路由器4。出口交换网接口芯片401接收到来自交换网板1220的多个信元后,出口交换网接口芯片401能够根据所述多个信元生成报文,并将报文发送至网络处理器1242。流量管理器402可以对网络处理器1242收到的报文进行丢弃管理。流量管理器402可以对网络处理器1242收到的报文进行入队管理,网络处理器1242根据tm的调度将收到的报文根据调度算法放到存储器403中的报文队列中,比如放到报文队列的队尾。流量管理器402可以对保存在存储器403中的报文队列进行出队管理。所述报文队列可以是先入先出队列。存储器403可以是先入先出存储器。流量管理器402获得保存在存储器403中的报文队列中报文后,流量管理器402可以将获得的报文发送至物理接口卡1243。物理接口卡1243可以经由第三出端口向路由器4发送报文。关于图4所示的接口板进行队列调度和管理的具体实现方式,可以参见图3对应的实施例的描述,此处不再赘述。

图5为本申请提供的一种传输报文的方法的示意性流程图。举例来说,图5所示的方法可以被图3所示的接口板1230执行,具体地,可以被流量管理器301执行;或者,图5所示的方法可以被图4所示的接口板1240执行,具体地,可以被流量管理器402执行。当然,图5所示的方法也可以由其他软硬件系统执行。本申请中,将能够执行图5所示的方法的主体统称为网络设备。参见图5,所述方法包括s501至s505。

s501,接收第一报文。

例如,上述物理接口卡1233可以用于接收第一报文。在一种可能的设计中,第一报文可以是ip报文。

s502,确定所述第一报文的优先级为第一优先级,所述第一优先级的流量的承诺访问速率(committedaccessrate,car)参数为第一参数。

其中,car参数可以包括峰值突发尺寸(peakburstsize,pbs)、承诺突发尺寸(committedburstsize,cbs)、峰值信息速率(peakinformationrate,pir)以及承诺信息速率(committedinformationrate,cir)中的至少一个。

在本申请实施例中,网络设备包括存储器。所述存储器可以是先进先出(firstinfirstout,fifo)存储器。网络设备可以利用所述存储器保存多个队列。每个队列用于保存报文。如果没有相反的说明,本申请的队列也可以称为报文队列。

网络设备可以对所述多个队列中的每个队列进行入队操作和出队操作。入队操作具体实现时可以包括:通过对所述存储器进行写操作,从而将报文入队到队列。出队操作具体实现时可以包括:通过对所述存储器进行读操作,从而将报文从队列出队。

所述网络设备可以利用某个机制对队列进行入队管理和出队管理。在一种可能的实现方式中,可以根据car参数对队列进行入队管理。例如,当网络设备确定某个队列对应报文发送速率较大时,可以避免将某个报文入队到该队列(例如将该报文丢弃)。在一种可能的实现方式中,可以根据调度权重对队列进行出队管理。例如,根据某个队列权重,确定该队列能够被发送报文的长度。根据该长度,确定待发送的报文。进而,发送待发送的报文。综上,可以为所述多个队列中的每个队列配置一个car参数以及一个调度权重。所述网络设备可以根据配置的car参数对该队列进行入队管理,根据配置的调度权重,对该队列进行出队管理。

所述多个队列中每个队列对应一个优先级。不同的队列可以具有相同的优先级或者不同的优先级。不同优先级的队列对应的car参数不相等。不同优先级的队列对应的调度权重不等。高优先级的队列对应的car参数大于低优先级队列对应的car参数。高优先级的队列对应的调度权重大于低优先级队列对应的调度权重。例如网络设备的存储器可以保存队列1、队列2、队列3以及队列4。队列1和队列2的对应优先级1。队列3和队列4对应优先级2。队列1、队列2、队列3以及队列4的car参数分别是car参数1、car参数2、car参数3以及car参数4。队列1、队列2、队列3以及队列4的调度权重分别是权重1、权重2、权重3以及权重4。优先级1高于优先级2。car参数1大于car参数3。权重1大于权重3。例如,当car参数1和car参数3是cir时,car参数1为100兆比特每秒(millionbitspersecond,mbps),car参数2为50mbps。再例如,当权重1和权重3是百分比时,权重1为30%,权重2为20%。

报文的优先级是该报文将被入队到的队列的优先级。具体的,所述网络设备通过入端口接收到报文1和报文2。所述网络设备确定报文1的优先级为优先级1,报文2的优先级为优先级2。报文1将被入队到的队列为队列1或者队列2。报文2将被入队到的队列为队列3或者队列4。下文以报文1将被入队到队列1为例,以报文2将被入队到队列3为例进行说明。高优先级的队列对应的car参数大于低优先级队列对应的car参数。因此,报文1被入队到队列1的概率大于报文2被入队到队列3的概率。需要说明的是,报文1被入队的概率大于报文2被入队的概率并不意味着报文1必然被入队到队列1,报文2必然不能被入队到队列3(例如,报文2被丢弃)。也有可能发生报文1没有被入队到队列1(例如,报文1被丢弃),报文2被入队到队列3的可能性。因为,最终报文1和报文3能够被入队到对应的队列,还可能受到其他因素的影响。例如,确定报文1能否入队到队列1时,所述网络设备可能接收到大量需要入队到队列1的报文。确定报文2能否入队到队列3时,所述网络设备可能接收到少量需要入队到队列3的报文。上述情况下,报文1可能被丢弃,报文2则可能被入队到队列3。

假设最终报文1被入队到队列1。报文2被入队到队列3。高优先级的队列对应的调度权重大于低优先级队列对应的调度权重。在相同的时间间隔内,高优先级的队列被调度的报文的长度大于低优先级队列被调度的报文的长度。因此,报文1在队列1中停留的时长可能较小。报文2在队列3中停留的时长可能较大。或者说,报文1在队列1中停留的时长小于报文2在队列3中停留的时长的概率大于报文2在队列3中停留的时长小于报文1在队列1中停留的时长的概率。或者说,报文1先于报文2被出队的概率大于报文2先于报文1被出队的概率。需要说明的是,以上并不意味着报文1在队列中停留的时长必然小于报文2在队列中停留的时长。也有可能发生报文1在队列1中停留的时长大于报文2在队列3中停留的时长的可能性。因为,报文在队列中停留的时长除了受到调度权重的影响,还可能受到其他因素的影响。例如,报文1入队到队列1时,队列1中位于报文1之前的报文的数量可能非常多。报文2入队到队列3时,队列3中位于报文2之前的报文的数量可能非常少。上述情况下,报文1在队列1中停留的时长可能大于报文2在队列3中停留的时长。

综上,报文的优先级是该报文对应的队列的优先级。高优先级的报文被入队的概率大于低优先级被入队的概率。具体实现时,报文被入队的概率可以通过car参数确定。因此,高优先级的队列对应的car参数大于低优先级的队列对应的car参数。需要说明的是,高优先级的队列对应的car参数可以是多个值,低优先级的队列对应的car参数可以是多个值。当一个队列对应的car参数是多个值时,不同的报文可能对应不同的car参数。因此,不同的报文入队到该队列的概率可能是不同的。高优先级的队列对应的car参数的最小值大于低优先级的队列对应的car参数的最大值。在一种可能的实现方式中,高优先级的队列对应的car参数可以是一个区间。低优先级的队列对应的car参数可以是一个区间。高优先级的队列对应的car参数的每个值都大于低优先级的队列对应的car参数的每个值。

假设高优先级的报文和低优先级的报文最终都被入队,高优先级的报文在队列中停留的时长小于低优先级的报文在队列中停留的时长的概率大于低优先级的报文在队列中停留的时长小于高优先级的报文在队列中停留的时长的概率。具体实现时,报文在队列中停留的时长可以通过队列的调度权重实现。因此,高优先级的队列对应的调度权重大于低优先级的队列对应的调度权重。需要说明的是,高优先级的队列对应的调度权重可以是多个值,低优先级的队列对应的调度权重可以是多个值。当一个队列对应的调度权重是多个值时,不同的报文可能对应不同的调度权重。因此,不同的报文在该队列中停留的时长可能是不同的。高优先级的队列对应的调度权重的最小值大于低优先级的队列对应的调度权重的最大值。在一种可能的实现方式中,高优先级的队列对应的调度权重可以是一个区间。低优先级的队列对应的调度权重可以是一个区间。高优先级的队列对应的调度权重的每个值都大于低优先级的队列对应的调度权重的每个值。

根据上述描述可以确定:所述第一报文的优先级与所述第一报文是否能够被入队到第一队列有关。如果第一报文最终被入队到第一队列,所述第一报文的优先级与第一报文在第一队列中停留的时长有关。

在本申请实施例中,所述网络设备可以接收第二报文,确定所述第二报文的优先级为第二优先级,所述第二报文的优先级与所述第二报文是否能够被入队到第二队列有关。如果第二报文最终被入队到第二队列,所述第二报文的优先级与第二报文在第二队列中停留的时长有关。

在一种可能的设计中,所述第二优先级可以高于所述第一优先级。也就是说,所述第二报文被入队的概率高于所述第一报文被入队的概率。如果第一报文和第二报文最终都被入队,所述第二报文在第二队列中停留的时长小于所述第一报文在第一队列中停留的时长的概率大于所述第一报文在第一队列中停留的时长小于所述第二报文在第二队列中停留的时长的概率。所述第二报文被入队的概率高于所述第一报文被入队的概率,意味着,所述第二报文被丢弃的概率小于所述第一报文被丢弃的概率。

在本申请实施例中,所述第一报文可以包括用户的优先级信息、应用的优先级信息和/或业务的优先级信息。其中,用户可以是指所述网络设备的使用者,或者所述第一报文的发送者,例如,用户可以分为领导及普通员工,或者,用户也可以分为重要用户(veryimportantperson,vip)及普通用户;应用可以指用户使用的终端设备中安装的生成第一报文的应用程序(application,app),例如,应用可以为通话软件、视频播放器、电子邮箱,即时通信软件等;业务可以指第一报文的数据类别,例如,业务可以分为语音、视频、电子邮件、即时消息和多媒体等。

在一种可能的设计中,所述用户优先级信息、所述应用优先级信息和/或所述业务优先级信息可以携带在所述第一报文的报文头中。

例如,所述第一报文的报文头可以包括标识位、网络标识位以及预留字段,其中,所述标识位可以为8比特(bits),用于指示该报文是否有效,所述网络标识位可以为24比特,用于指示所述第一报文使用的网络的标识,所述预留字段可以24比特或8比特,为未使用的预留比特。

此时,所述用户优先级信息、所述应用优先级信息和/或所述业务优先级信息可以携带在标识位和网络标识位中未使用的字段或预留字段;或者,也可以为报文头的增加扩展字段,所述用户优先级信息、所述应用优先级信息和/或所述业务优先级信息可以携带在报文头的所述扩展字段。

在本申请实施例中,所述第二报文与第一报文类似,这里不再赘述。

在一种可能的设计中,所述网络设备可以根据所述用户的优先级信息、所述应用的优先级信息和/或所述业务的优先级信息,确定所述第一报文的优先级为所述第一优先级。

应理解,优先级可以根据用户的优先级信息、应用的优先级信息以及业务的优先级信息中的至少一个确定。

在一种可能的设计中,所述网络设备可以保存预先设定的映射表,所述映射表可以包括多个表项,其中,每个表项包括用户的优先级信息、应用的优先级信息以及业务的优先级信息中的至少一个与优先级的对应关系,所述优先级为所述网络设备接收的报文的优先级。此时,所述网络设备可以通过查找映射表,确定接收到的报文的优先级。

例如,所述网络设备可以获取第一报文的用户优先级信息、应用优先级信息以及业务优先级信息中的至少一个;以所述用户优先级信息、所述应用优先级信息以及所述业务优先级信息中的至少一个作为查找关键字,在映射表中确定一个与所述查找关键字匹配的表项;此时,网络设备可以根据所述匹配的表项,确定所述第一报文的优先级。

例如,第一报文的用户优先级可以高于第二报文的用户优先级,但第二报文的应用的优先级和/或业务的优先级高于第一报文的应用的优先级和/或业务的优先级。此时,将用户的优先级信息、应用的优先级信息和/或业务的优先级信息等结合起来,可能会出现第二优先级高于第一优先级的情况。

再例如,图5所示的方法可以包括:接收第三报文。第一报文的用户优先级可以高于第三报文的用户优先级,但第三报文的应用的优先级和/或业务的优先级高于第一报文的应用的优先级和/或业务的优先级。此时,将用户的优先级信息、应用的优先级信息和/或业务的优先级信息等结合起来,可能会出现第三优先级与第一优先级相同的情况。

s503,根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为第二参数。

其中,第一优先级的流量的发送速率可以是接收到第一报文时,所述网络设备发送优先级为第一优先级的报文的速率。在一种可能的设计中,第一优先级的流量的发送速率可以是物理接口卡1233接收到第一报文时,物理接口卡1243发送优先级为第一优先级的报文的速率。所述网络设备可以包括至少一个出端口。所述网络设备可以经由所述至少一个出端口发送优先级为第一优先级的报文。

在本申请实施例中,所述网络设备根据所述第一优先级的流量所占的缓存的大小,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为第二参数时,所述第一报文未入队到第一队列,也就是说,所述第一报文未保存在所述第一队列对应的优先级的缓存中,即所述第一报文未保存在所述第一优先级的流量所占的缓存中。

应理解,报文队列中的报文需要保存在缓存中。缓存用于保存报文队列中的报文。当报文停留在报文队列中时,该报文被保存在该报文队列对应的优先级的缓存中。例如:第一队列对应第一优先级。第一报文入队到第一队列后,以及,第一报文从第一队列出队前,第一报文被保存在所述第一优先级的流量所占的缓存中。

在一种可能的设计中,所述第一优先级的流量所占的缓存的大小可以是接收到第一报文时,所述网络设备的缓存中用于保存所述第一优先级的流量的存储空间的大小。可以理解,所述缓存可以是先入先出存储器。所述网络设备可以包括所述先入先出存储器。网络设备接收到所述第一优先级的流量时,所述网络设备可以通过将所述第一优先级的流量保存在所述先入先出存储器,从而将所述第一优先级的流量入队到报文队列中。所述网络设备可以通过对报文队列中的报文进行出队处理,从而发送优先级为第一优先级的报文。

在一种可能的设计中,所述第一优先级的流量的发送速率可以为一个时间周期内出端口发送所述第一优先级的流量的平均速率,也可以为接收到第一报文时,出端口发送所述第一优先级的流量的瞬时速率。

在本申请实施例中,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为第二参数,可以理解为根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,更新所述第一优先级的流量的承诺访问速率参数。

在一种可能的设计中,所述网络设备可以根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,调整所述第一队列的调度权重,所述第一队列的调度权重用于指示在一个时间周期内所述第一队列中被允许发送的数据的数量与多个队列中被允许发送的数据的数量的总和的比例,所述多个队列包括所述第一队列。

在一种可能的设计中,所述第一队列可以存储在存储器302或存储器403中。

图6为本申请实施例的一种报文队列的结构示意图。图6中的用户组可以是由用户的优先级相同的用户所构成的用户组。每个用户组可以包括8个报文队列,报文队列的优先可以由应用的优先级和/或业务的优先级确定。在图6中,随着用户组的编号增大,优先级相应增大;随着每个用户组中的报文队列的编号增大,优先级相应降低。例如,图6中用户组k+1的优先级高于用户组1的优先级,用户组1中的报文队列q1的优先级高于报文队列q2的优先级。k为正整数。m/8为正整数。m/8大于k。

在一种可能的设计中,上述第一队列和第二队列可以为图6中的报文队列。

在本申请实施例中,所述网络设备可以使用层次化服务质量(hierarchicalqualityofservice,hqos)技术进行下行调度,此时,图6中的报文队列可以为流队列(flowqueue,fq),用户组可以为用户队列(subscriberqueue,sq)。

例如,第一报文可以入队到第一队列,第一队列为用户组1中的报文队列q8,第二报文可以入队到第二队列,第二队列为用户组(k+1)中的报文队列q1,第一队列的优先级高于第二队列的优先级,用户组(k+1)的优先级高于用户组1的优先级,此时,可能会出现第二优先级高于第一优先级的情况。

作为本申请实施例一种可能的实现方式,所述网络设备可以根据所述第一优先级的流量的发送速率,确定所述第一优先级的流量的变化趋势,即确定所述第一优先级的当前流量相比之前的流量是增大或减小;和/或所述网络设备可以根据所述第一优先级的流量所占的缓存的大小,确定所述第一优先级的流量所占的缓存的变化趋势,即确定所述第一优先级的流量当前所占的缓存相比之前的所占的缓存是增大或减小;所述网络设备可以根据所述第一优先级的流量的变化趋势和/或所述第一优先级的流量所占的缓存的变化趋势,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为所述第二参数。

在一种可能的设计中,所述网络设备可以根据所述第一优先级的流量的发送速率,确定所述第一优先级的流量的变化趋势,即确定所述第一优先级的当前流量相比之前的流量是增大或减小;和/或所述网络设备可以根据所述第一优先级的流量所占的缓存的大小,确定所述第一优先级的流量所占的缓存的变化趋势,即确定所述第一优先级的流量当前所占的缓存相比之前的所占的缓存是增大或减小;所述网络设备可以根据所述第一优先级的流量的变化趋势和/或所述第一优先级的流量所占的缓存的变化趋势,调整所述第一队列的调度权重。

在一种可能的设计中,第一队列调整前的调度权重可以为第一权重,第一队列调整后的调度权重可以为第二权重。若同一用户组中存在第二队列,所述第二队列的调度权重为第三权重,则所述第三权重大于所述第一权重,并且,所述第三权重大于所述第二权重。

也就是说,调整所述第一队列的调度权重可能会改变所述调度权重的(数值)大小,但不会改变第一队列的调度权重与同一用户组中其它队列的调度权重的相对关系。

作为本申请实施例一种可能的实现方式,所述网络设备中的发送速率阈值可以是预先设定的,所述网络设备可以根据所述发送速率阈值确定所述第一优先级的流量的状态,即所述第一优先级的发送速率大于或小于所述预先设定的发送速率阈值;和/或所述网络设备中的缓存阈值可以是预先设定的,所述网络设备可以根据所述缓存阈值确定所述第一优先级的流量所占的缓存的状态,即所述第一优先级的流量所占的缓存大于或小于所述预先设定的缓存阈值;所述网络设备可以根据所述第一优先级的流量的状态和/或所述第一优先级的流量所占的缓存的状态,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为所述第二参数。

在一种可能的设计中,所述网络设备中的发送速率阈值可以是预先设定的,所述网络设备可以根据所述发送速率阈值确定所述第一优先级的流量的状态,即所述第一优先级的发送速率大于或小于所述预先设定的发送速率阈值;和/或所述网络设备中的缓存阈值可以是预先设定的,所述网络设备可以根据所述缓存阈值确定所述第一优先级的流量的状态,即所述第一优先级的流量所占的缓存大于或小于所述预先设定的缓存阈值;所述网络设备可以根据所述第一优先级的流量的状态和/或所述第一优先级的流量所占的缓存的状态,调整所述第一队列的调度权重。

作为本申请实施例一种可能的实现方式,所述网络设备可以根据多个优先级的流量的发送速率的总和与所述第一优先级的流量的发送速率,确定所述第一优先级的流量在所述多个优先级的流量的总和中的第一占比,所述多个优先级包括所述第一优先级;和/或所述网络设备可以根据多个优先级的流量所占的缓存的总和与所述第一优先级的流量所占的缓存的大小,确定所述第一优先级的流量所占的缓存在所述多个优先级的流量所占的缓存的总和中的第二占比,所述多个优先级包括所述第一优先级;所述网络设备可以根据所述第一占比和/或所述第二占比,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为所述第二参数。

在一种可能的设计中,所述网络设备可以根据多个优先级的流量的发送速率的总和与所述第一优先级的流量的发送速率,确定所述第一优先级的流量在所述多个优先级的流量的总和中的第三占比,所述多个优先级包括所述第一优先级;和/或所述网络设备可以根据多个优先级的流量所占的缓存的总和与所述第一优先级的流量所占的缓存的大小,确定所述第一优先级的流量所占的缓存在所述多个优先级的流量所占的缓存的总和中的第四占比,所述多个优先级包括所述第一优先级;所述网络设备可以根据所述第三占比和/或所述第四占比,调整所述第一队列的调度权重。

在本申请实施例中,所述网络设备可以根据所述第一优先级的流量的变化趋势、所述第一优先级的流量的状态、和/或所述第一占比,确定所述第一优先级的流量过大、过小或正常。相应地,所述网络设备可以根据所述第一优先级的流量所占的缓存的变化趋势、所述第一优先级的流量所占的缓存的状态、和/或所述第二占比,确定所述第一优先级的流量所占的缓存过大、过小或正常。

例如,以所述第一占比为例,所述网络设备可以预先设定第一流量占比阈值和第一流量占比阈值,当所述第一占比大于第一流量占比阈值时,可以认为所述第一优先级的流量过大;当所述第一占比小于第二流量占比阈值时,可以认为所述第一优先级的流量过小;当所述第一占比小于所述第一流量占比阈值,所述第一占比大于第二流量占比阈值时,可以认为所述第一优先级的流量正常。在本申请实施中,所述网络设备可以通过类似的方法或其他的方法,根据所述第一优先级的流量的变化趋势和/或所述第一优先级的流量的状态,确定所述第一优先级的流量过大、过小或正常,这里不再赘述。

再例如,以所述第二占比为例,可以预先设定第一缓存占比阈值和第二缓存占比阈值,当所述第二占比大于所述第一缓存占比阈值时,所述第一优先级的流量所占的缓存过大;当所述第二占比小于所述第二缓存占比阈值时,所述第一优先级的流量所占的缓存过小;当所述第二占比大于第二缓存占比阈值,所述第二占比小于所述第一缓存占比阈值时,所述第一优先级的流量所占的缓存正常。在本申请实施中,可以使用类似的方法或其他的方法,根据所述第一优先级的流量所占的缓存的变化趋势和/或所述第一优先级的流量所占的缓存的状态,确定所述第一优先级的流量过大、过小或正常,这里不再赘述。

例如,在本申请实施例中,可以预先设定第一流量占比阈值为预先设定第一流量占比阈值为预先设定第一缓存占比阈值为预先设定第二缓存占比阈值为

作为示例而非限定,当所述第一优先级的流量过大、过小或正常,所述第一优先级的流量所占的缓存过大、过小或正常时,所述网络设备可以通过以下9种方式调整第一优先级的承诺访问速率参数和/或第一队列的调度权重。

方式1:所述第一优先级的流量过大,且所述第一优先级的流量所占的缓存过大时,减小所述峰值突发尺寸、所述承诺突发尺寸、所述峰值信息速率和/或所述承诺信息速率。例如:

其中,hcar(j)包括所述第一优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,hcar(j-1)包括所述第二优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,所述多个优先级包括所述第二优先级,所述第一优先级的优先级高于所述第二优先级的优先级,j为正整数,δ1为大于1的正整数。

方式2:所述第一优先级的流量过大,且所述第一优先级的流量所占的缓存正常时,减小所述峰值突发尺寸、所述承诺突发尺寸、所述峰值信息速率和/或所述承诺信息速率,减小所述第一队列的调度权重。例如:

或w(i)=max{w(i)-3,1};

其中,hcar(j)包括所述第一优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,hcar(j-1)包括所述第二优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,w(i)表示所述第一队列的调度权重,w(i+1)表示第二队列的调度权重,δ1、δ2为大于1的正整数,δ3为大于等于1的正整数,i、j为正整数。

方式3:所述第一优先级的流量过大,且所述第一优先级的流量所占的缓存过小时,减小所述第一队列的调度权重。例如:

或w(i)=max{w(i)-2δ3,1};

其中,w(i)表示所述第一队列的调度权重,w(i+1)表示第二队列的调度权重,δ2为大于1的正整数,δ3为大于等于1的正整数,i为正整数。

方式4:所述第一优先级的流量正常,且所述第一优先级的流量所占的缓存过大时,减小所述峰值突发尺寸、所述承诺突发尺寸、所述峰值信息速率和/或所述承诺信息速率,增大所述第一队列的调度权重。例如:

或w(i)=w(i)+3;

其中,hcar(j)包括所述第一优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,hcar(j-1)包括所述第二优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,所述多个优先级包括所述第二优先级,所述第一优先级的优先级高于所述第二优先级的优先级,w(i)表示所述第一队列的调度权重,w(i-1)表示第三队列的调度权重,δ1、δ2为大于1的正整数,δ3为大于等于1的正整数,i、j为正整数。

方式5:所述第一优先级的流量正常,且所述第一优先级的流量所占的缓存正常时,所述峰值突发尺寸、所述承诺突发尺寸、所述峰值信息速率和/或所述承诺信息速率保持不变,所述第一队列的调度权重保持不变。

方式6:所述第一优先级的流量正常,且所述第一优先级的流量所占的缓存过小时,增大所述峰值突发尺寸、所述承诺突发尺寸、所述峰值信息速率和/或所述承诺信息速率,减小所述第一队列的调度权重。例如:

或w(i)=max{w(i)-3,1};

其中,hcar(j)包括所述第一优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,hcar(j+1)包括所述第三优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,所述多个优先级包括所述第三优先级,所述第一优先级的优先级低于所述第三优先级的优先级,w(i)表示所述第一队列的调度权重,w(i+1)表示第二队列的调度权重,δ1、δ2为大于1的正整数,δ3为大于等于1的正整数,i、j为正整数。

方式7:所述第一优先级的流量过小,且所述第一优先级的流量所占的缓存过大时,增大所述第一队列的调度权重。例如:

或w(i)=w(i)+2δ3;

其中,w(i)表示所述第一队列的调度权重,w(i-1)表示第三队列的调度权重,δ2为大于1的正整数,δ3为大于等于1的正整数,i为正整数。

方式8:所述第一优先级的流量过小,且所述第一优先级的流量所占的缓存正常时,增大所述峰值突发尺寸、所述承诺突发尺寸、所述峰值信息速率和/或所述承诺信息速率,增大所述第一队列的调度权重。例如:

或w(i)=(i)+3;

其中,hcar(j)包括所述第一优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,hcar(j+1)包括所述第三优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,所述多个优先级包括所述第三优先级,所述第一优先级的优先级低于所述第三优先级的优先级,w(i)表示所述第一队列的调度权重,w(i-1)表示第三队列的调度权重,δ1、δ2为大于1的正整数,δ3为大于等于1的正整数,i、j为正整数。

方式9:所述第一优先级的流量过小,且所述第一优先级的流量所占的缓存过小时,增大所述峰值突发尺寸、所述承诺突发尺寸、所述峰值信息速率和/或所述承诺信息速率。例如:

其中,hcar(j)包括所述第一优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,hcar(j+1)包括所述第三优先级的峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率,所述多个优先级包括所述第三优先级,所述第一优先级的优先级低于所述第三优先级的优先级,j为正整数,δ1为大于1的正整数。

s504,根据所述第二参数以及所述第一报文的优先级确定是否将所述第一报文入队到第一队列,所述第一队列中的报文的优先级为所述第一优先级。

作为示例而非限定,可以使用hcar技术,将第二参数作为car参数,根据所述第一报文的优先级确定是否将所述第一报文入队到第一队列。应理解,这里的所述第一报文的优先级可以是指所述第一队列的优先级。具体的入队方法可以参考现有技术,本申请实施例中不再赘述。

具体地,所述网络设备可以维护至少一个优先级为所述第一优先级的队列。至少一个优先级为所述第一优先级的队列包括所述第一队列。所述网络设备可以根据第一报文的优先权,确定第一报文对应第一队列。进一步地,所述网络设备可以根据第二参数,确定是否将第一报文进行丢弃。如果确定不需要对第一报文进行丢弃,则所述网络设备将第一报文入队到所述第一队列。

在一种可能的设计中,网络设备可以根据所述第一队列的调度权重对所述第一队列进行调度。

作为示例而非限定,可以使用hqos技术,根据所述第一队列的调度权重对所述第一队列进行调度。具体的调度方法可以参考现有技术,本申请实施例中不再赘述。

图7是本申请实施例的传输报文的装置700的示意性框图。应理解,传输报文的装置700仅是一种示例。本申请实施例的传输报文的装置还可包括其他模块或单元,或者包括与图7中的各个模块的功能相似的模块,或者并非要包括图7中的所有模块。

接收模块710,用于接收第一报文;

处理模块720,用于确定所述第一报文的优先级为第一优先级,所述第一优先级的流量的承诺访问速率参数为第一参数;

所述处理模块720,还用于根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为第二参数;

所述处理模块720,还用于根据所述第二参数以及所述第一报文的优先级确定是否将所述第一报文入队到第一队列,所述第一队列中的报文的优先级为所述第一优先级。

在一种可能的设计中,所述处理模块720具体用于:根据多个优先级的流量的发送速率的总和与所述第一优先级的流量的发送速率,确定所述第一优先级的流量在所述多个优先级的流量的总和中的第一占比,所述多个优先级包括所述第一优先级;和/或根据多个优先级的流量所占的缓存的总和与所述第一优先级的流量所占的缓存的大小,确定所述第一优先级的流量所占的缓存在所述多个优先级的流量所占的缓存的总和中的第二占比,所述多个优先级包括所述第一优先级;根据所述第一占比和/或所述第二占比,将所述第一优先级的流量的承诺访问速率参数从所述第一参数调整为所述第二参数。

在一种可能的设计中,所述处理模块720还用于:根据所述第一优先级的流量的发送速率和/或所述第一优先级的流量所占的缓存的大小,调整所述第一队列的调度权重,所述第一队列的调度权重用于指示在一个时间周期内所述第一队列中被允许发送的数据的数量与多个队列中被允许发送的数据的数量的总和的比例,所述多个队列包括所述第一队列;根据所述第一队列的调度权重对所述第一队列进行调度。

在一种可能的设计中,所述处理模块720具体用于:根据多个优先级的流量的发送速率的总和与所述第一优先级的流量的发送速率,确定所述第一优先级的流量在所述多个优先级的流量的总和中的第三占比,所述多个优先级包括所述第一优先级;和/或根据多个优先级的流量所占的缓存的总和与所述第一优先级的流量所占的缓存的大小,确定所述第一优先级的流量所占的缓存在所述多个优先级的流量所占的缓存的总和中的第四占比,所述多个优先级包括所述第一优先级;根据所述第三占比和/或所述第四占比,调整所述第一队列的调度权重。

在一种可能的设计中,所述第一报文的报文头包括用户的优先级信息、应用的优先级信息和/或业务的优先级信息,所述处理模块720具体用于:根据所述用户的优先级信息、所述应用的优先级信息和/或所述业务的优先级信息,确定所述第一报文的优先级为所述第一优先级。

在一种可能的设计中,所述承诺访问速率参数包括峰值突发尺寸、承诺突发尺寸、峰值信息速率和/或承诺信息速率。

图8是本申请一个实施例的传输报文的装置700的示意性结构图。应理解,图8示出的传输报文的装置800仅是示例,本申请实施例的传输报文的装置还可包括其他模块或单元,或者包括与图8中的各个模块的功能相似的模块。

传输报文的装置800可以包括一个或多个处理器810、一个或多个存储器820、和输入接口830。该装置800还可以包括输出接口840。在一种可能的设计中,输入接口830和输出接口840可以集成在一起,称为收发接口。存储器820用于存储处理器810执行的程序代码。其中,处理器810中可以集成有存储器820,或者处理器810耦合到一个或多个存储器820,用于调取存储器820中的指令。

在一个实施例中,处理器810可以用于实现图7中的处理模块720能够实现的操作或步骤,输入接口830可以用于实现图7中的接收模块710能够实现的操作或步骤。

应理解,本申请实施例中的处理器可以为中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(randomaccessmemory,ram)可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。

上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

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

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