CN108243109A - 拥塞位置确定方法及装置 - Google Patents
拥塞位置确定方法及装置 Download PDFInfo
- Publication number
- CN108243109A CN108243109A CN201611218629.9A CN201611218629A CN108243109A CN 108243109 A CN108243109 A CN 108243109A CN 201611218629 A CN201611218629 A CN 201611218629A CN 108243109 A CN108243109 A CN 108243109A
- Authority
- CN
- China
- Prior art keywords
- level
- counter
- time point
- congestion
- packet loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/23—Bit dropping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供拥塞位置确定方法及装置,涉及通信技术领域,解决了现有技术中不能准确确定拥塞位置进而在该层级进行带宽扩容的问题。该方法包括:获取第一计数器在第一时间点的第一计数值和该第一计数器在第二时间点的第二计数值,其中,该第一计数器为为该层次化调度模型中的第一层级配置的计数器,该第一计数器用于统计该第一层级发生拥塞时的丢包数,该第一层级为该层次化调度模型中的任意一个层级;根据该第一计数值和该第二计数值,基于第一预设公式,确实该第一层级在该第一时间点和该第二时间点之间的丢包差值,该第一预设公式为:该丢包差值=该第二计数值‑该第一计数值;若该丢包差值大于0,确定该第一层级发生拥塞。
Description
技术领域
本申请涉及通信技术领域,尤其涉及拥塞位置确定方法及装置。
背景技术
运营商在部署层次化功能时,存在根据拥塞所在的层级的位置对相应层级的带宽进行扩容的需求。
目前,层次化调度模型包括五个层级,分别为:流队列(英文:Flow Queue,缩写:FQ)层级、用户队列(英文:Subscriber Queue,缩写:SQ)层级、用户组队列(英文:GroupQueue,缩写:GQ)、虚端口(英文:Virtual Interface,缩写:VI)层级和目的端口(英文:Direction Port,缩写:DP)层级。其中,这五个层级中只有FQ层级支持丢包统计。然而,当FQ层级、SQ层级、GQ层级、VI层级或DP层级中的任何一个层级出现拥塞时,都会导致在FQ层级出现丢包,因此,当FQ层级进行丢包统计时,无法判断是在哪一层级出现拥塞而导致的丢包,从而导致运营商不知道该在哪一层级进行带宽扩容。
因此,如何准确确定拥塞所在的层级位置,进而在该层级进行带宽扩容是目前亟待解决的问题。
发明内容
本申请的实施例提供拥塞位置确定方法及装置,解决了现有技术中不能准确确定拥塞位置进而在该层级进行带宽扩容的问题。
为达到上述目的,本申请实施例采用如下技术方案:
一方面,本申请实施例提供一种拥塞位置确定方法,用于层次化调度模型,该方法包括:获取第一计数器在第一时间点的第一计数值和该第一计数器在第二时间点的第二计数值,其中,该第一计数器为为该层次化调度模型中的第一层级配置的计数器,该第一计数器用于统计该第一层级发生拥塞时的丢包数,该第一层级为该层次化调度模型中的任意一个层级;根据该第一计数值和该第二计数值,基于第一预设公式,确定该第一层级在该第一时间点和该第二时间点之间的丢包差值,该第一预设公式为:该丢包差值=该第二计数值-该第一计数值;若该丢包差值大于0,确定该第一层级发生拥塞。根据本申请实施例所提供的拥塞位置确定方法,由于第一计数器为层次化调度模型中的第一层级的计数器,可以统计第一层级发生拥塞时的丢包数,且该第一层级可以为层次化调度模型中的任意层级,因此通过查询第一计数器的计数可以准确确定拥塞产生的层级位置,进而可以方便工作人员在该层级进行带宽扩容。
一种可能的实现方式中,该第一计数器为为该层次化调度模型中的第一层级配置的第一计数器,包括:该第一计数器为在该层次化调度模型中的FQ层级为该层次化调度模型中的第一层级配置的计数器。
一种可能的实现方式中,该第一计数器用于统计该第一层级发生拥塞时的丢包数,具体包括:该第一计数器用于统计该第一层级的所有节点在调度缓存队列中的数据包时发生拥塞所产生的丢包数的和,其中,第一节点在调度第一缓存队列中的数据包时发生拥塞单位时间内所产生的丢包数=(第一速率-第二速率)*单位时间,该第一速率为该第一节点调度第一缓存队列中的数据包的速率,该第二速率为该第一节点相连接的第一令牌桶产生令牌的速率,该第一节点为该第一层级中的任意一个节点,该第一缓存队列为该FQ层级实体队列中的任意一个实体队列,该第一令牌桶为该第一层级中任意一个与该第一节点相连接的令牌桶。通过本申请实施例所提供的拥塞位置确定方法,第一计数器统计该第一层级的所有节点发生拥塞所产生的丢包数的和,只要该第一层级的任意一个节点产生丢包,则第一计数器可以统计到丢包数,可以方便工作人员准确的确定出拥塞产生的位置。
一种可能的实现方式中,在若丢包差值大于0,确定该第一层级发生拥塞之后,该方法还包括:根据该第一时间点和该第二时间点之间的丢包差值,基于第二预设公式,确实该第一层级在该第一时间点和该第二时间点之间的丢包率,该第二预设公式为:该丢包率=该丢包差值/(该第二时间点-该第一时间点);根据该丢包率确定目标带宽,其中,该目标带宽用于对该第一层级进行带宽扩容。根据本申请实施例所提供的拥塞位置确定方法,由于第一计数器为层次化调度模型中的第一层级的计数器,可以统计第一层级发生拥塞的丢包数,且该第一层级可以为层次化调度模型中的任意层级,因此通过查询第一计数器的计数可以准确确定拥塞产生的层级位置,进一步通过确定该层级的丢包率确定出该层级需要扩容的目标带宽,进而可以方便工作人员在该层级进行准确的带宽扩容。
另一方面,提供一种拥塞位置确定装置,该装置包括:获取模块、确定模块和配置模块;该获取模块,用于获取第一计数器在第一时间点的第一计数值和该第一计数器在第二时间点的第二计数值,其中,该第一计数器为该配置模块为该层次化调度模型中的第一层级配置的计数器,该第一计数器用于统计该第一层级发生拥塞时的丢包数,该第一层级为该层次化调度模型中的任意一个层级;该确定模块,用于根据该第一计数值和该第二计数值,基于第一预设公式,确定该第一层级在该第一时间点和该第二时间点之间的丢包差值,该第一预设公式为:该丢包差值=该第二计数值-该第一计数值;该确定模块,还用于若该丢包差值大于0,确定该第一层级发生拥塞。根据本申请实施例所提供的拥塞位置确定装置,通过查询第一计数器的计数可以准确确定拥塞产生的层级位置,进而可以方便工作人员在该层级进行带宽扩容。
一种可能的实现方式中,该第一计数器为该配置模块在该层次化调度模型中的FQ层级为该层次化调度模型中的第一层级配置的计数器。
一种可能的实现方式中,该第一计数器用于统计该第一层级发生拥塞时的丢包数,具体包括:该第一计数器用于统计该第一层级的所有节点在调度缓存队列中的数据包时发生拥塞所产生的丢包数的和,其中,第一节点在调度第一缓存队列中的数据包时发生拥塞单位时间内所产生的丢包数=(第一速率-第二速率)*单位时间,该第一速率为该第一节点调度第一缓存队列中的数据包的速率,该第二速率为该第一节点相连接的第一令牌桶产生令牌的速率,该第一节点为该第一层级中的任意一个节点,该第一缓存队列为该FQ层级实体队列中的任意一个实体队列,该第一令牌桶为该第一层级中任意一个与该第一节点相连接的令牌桶。
一种可能的实现方式中,该确定模块,还用于在该若丢包差值大于0,确定该第一层级发生拥塞之后,根据该第一时间点和该第二时间点之间的丢包差值,基于第二预设公式,确实该第一层级在该第一时间点和该第二时间点之间的丢包率,该第二预设公式为:该丢包率=该丢包差值/(该第二时间点-该第一时间点);该确定模块,还用于根据该丢包率确定目标带宽,其中,该目标带宽用于对该第一层级进行带宽扩容。
又一方面,本申请实施例提供一种拥塞位置确定装置,包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,该处理器与该存储器通过该总线连接,当该拥塞位置确定装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该拥塞位置确定装置执行如上述任意一项的拥塞位置确定方法。
又一方面,本申请实施例提供了一种计算机存储介质,用于储存为上述任意一项的拥塞位置确定方法所用的计算机软件指令,其包含用于执行上述任意一项拥塞位置确定方法所设计的程序。
又一方面,本申请实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述任意一项的拥塞位置确定方法中的流程。
另外,上述拥塞位置确定装置实施例中任一种设计方式所带来的技术效果可参见上述拥塞位置确定方法实施例中不同设计方式所带来的技术效果,此处不再赘述。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为现有技术的一种令牌桶算法的示意图;
图2为本申请实施例提供的一种层次化调度架构图;
图3为本申请实施例提供的一种拥塞位置确定装置示意图;
图4为本申请实施例提供的一种拥塞位置确定方法的流程示意图;
图5位本申请实施例提供的一种配置层次调度模型中计数器示意图;
图6为本申请实施例提供的另一种拥塞位置确定方法的流程示意图;
图7为本申请实施例提供的一种拥塞位置确定装置的结构示意图。
具体实施方式
为了便于理解,首先给出与本申请相关的概念如下:
令牌桶算法:
图1为现有的令牌桶算法示意图。令牌桶算法是网络流量整形(英文:TrafficShaping)和速率限制(英文:Rate Limiting)中最常使用的一种算法。通常,令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送。容量固定的令牌桶可以以固定的速率产生令牌,假如令牌桶的令牌不被使用,或者令牌使用的速率小于令牌产生的速率,则令牌不断地增多,由于令牌桶中可以保存的最大令牌数不能超过令牌桶的容量,因此,当令牌桶被填满后,再产生的令牌就会从令牌桶中溢出。
如图1所示,传输到令牌桶的数据包需要消耗令牌。不同大小的数据包,消耗的令牌数量不一样。通常,令牌桶基于令牌桶中是否存在令牌来指示是否可以发送数据。令牌桶中的每一个令牌都代表一个字节。如果令牌桶中存在令牌,则允许发送数据;如果令牌桶中不存在令牌,则不允许发送数据。其中,不被允许发送的这部分数据为流量限制外的数据。流量限制外的数据可以被丢弃;或者,也可排在队列中等待,以便当令牌桶中累积了足够多的令牌时再传输;或者,也可以继续发送,但需要做特殊标记,网络过载的时候将这些做特殊标记的数据丢弃。因此,如果可以合理的配置突发门限,并且令牌桶中有足够的令牌,则流量就可以以峰值速率发送。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
需要说明的是,本文中的“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,本申请实施例中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个用户是指两个或两个以上的令牌桶。
需要说明的是,本申请实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
图2为本申请实施例所应用的层次化调度模型的***架构示意图。如图2所示,层次化调度模型从下向上包括五层,分别为FQ层级、SQ层级、GQ层级、VI层级和DP层级。
下面结合图2对层次化调度模型的每一层级进行具体介绍:
FQ层级包括:数据包(或报文)、实体队列、峰值速率(英文:Peak InformationRate,缩写:PIR)整形器和承诺速率(英文:Committed Information Rate,缩写:CIR)整形器。其中,PIR表示端口允许的突发流量的最大速率,单位为bit/s;CIR表示端口允许的信息流平均速率,单位为bit/s。
SQ层级包括:亏空轮询(英文:Deficit Round Robin,缩写:DRR)调度器、PIR整形器、CIR整形器和有效速率(英文:Effective Interest Rate,缩写:EIR)整形器。其中,EIR=PIR-CIR,表示允许用户数据突发至最大值PIR,通常,PIR不小于CIR的设置值。
GQ层级包括:DRR调度器、PIR整形器、CIR整形器和EIR整形器。
VI层级包括:DRR调度器、PIR整形器、CIR整形器和EIR整形器。
DP层级包括:DRR调度器、严格优先级(英文:Strict Priority,缩写:SP)调度器和PIR整形器。
结合图1中的令牌桶算法,PIR整形器也可称为P令牌桶,CIR整形器也可称为C令牌桶,EIR整形器也可称为E令牌桶,在此进行统一说明,以下不再赘述。
虽然未示出,但是在层次化调度模型中,SQ层级还包括用户队列、GQ层级还包括用户组队列、VI层级还包括虚端口及DP层级还包括目的端口。
通常,层次化调度模型的数据包(或报文)缓存在FQ层级的实体队列中。SQ层级的每一个用户队列连接FQ层级的8个实体队列,GQ层级的每一个用户组队列连接SQ层级的多个用户队列,VI层级的每一个虚端口连接GQ层级的多个用户组队列,DP层级的每一个DP目的端口连接VI层级的多个VI虚端口。其中,在通过层次化调度模型进行数据调度时,当调度缓存在FQ层级的实体队列中的数据包时,每个数据包从下向上经过每一层级对应的速率整形器进行的速率整形之后再传输到上一层级使用,直到经过DP层级处理过后才调度成功,当DP层级调度成功之后,还需要经过线性优先级(英文:Selfish Round Robin,缩写:SRR)调度器的调度处理才可以被用户使用。
需要说明的是,本申请下述实施例中的缓存队列实际上为FQ层级的中的实体队列,在此统一说明,以下不再赘述。
本申请实施例提供的拥塞位置确定方法可通过图3所示的计算机设备(或***)来实现。
如图3所示,计算机设备300包括至少一个处理器301,通信总线302,存储器303以及至少一个通信接口304。
处理器301可以是一个通用中央处理器(英文:Central Processing Unit,缩写:CPU),微处理器,特定应用集成电路(英文:Application-Specific Integrated Circuit,缩写:ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线302可包括一通路,在上述组件之间传送信息。
通信接口304,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(英文:Radio Access Network,缩写:RAN),无线局域网(英文:Wireless Local Area Networks,缩写:WLAN)等。
存储器303可以是只读存储器(英文:Read-Only Memory,缩写:ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(英文:Random Access Memory,缩写:RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,缩写:EEPROM)、只读光盘(英文:Compact Disc Read-Only Memory,缩写:CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,从而实现本申请实施例中的拥塞位置确定方法。
在具体实现中,作为一种实施例,处理器301可以包括一个或多个CPU,例如图3中的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备300可以包括多个处理器,例如图3中的处理器301和处理器308。这些处理器中的每一个可以是一个单核(英文:single-CPU)处理器,也可以是一个多核(英文:multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备300还可以包括输出设备305和输入设备306。输出设备305和处理器301通信,可以以多种方式来显示信息。例如,输出设备305可以是液晶显示器(英文:Liquid crystal display,缩写:LCD),发光二级管(英文:LightEmitting Diode,缩写:LED)显示设备,阴极射线管(英文:Cathode Ray Tube,缩写:CRT)显示设备,或投影仪(英文:Projector)等。输入设备306和处理器301通信,可以以多种方式接受用户的输入。例如,输入设备306可以是鼠标、键盘、触摸屏设备或传感设备等。
如图4所示,为本申请实施例提供的拥塞位置确定方法的流程示意图,应用于图2所示的层次化调度模型,包括如下步骤S401-S403:
S401、拥塞位置确定装置获取第一计数器在第一时间点的第一计数值和第一计数器在第二时间点的第二计数值。
其中,第一计数器为拥塞位置确定装置为层次化调度模型中的第一层级配置的计数器,第一计数器用于统计第一层级发生拥塞时的丢包数,第一层级为层次化调度模型中的任意一个层级。比如,该第一层级可以为图2中的FQ层级、SQ层级、GQ层级、VI层级或DP层级中任意一个层级。也就是说,第一计数器可以用于统计图2中FQ层级、SQ层级、GQ层级、VI层级或DP层级中任意一个层级发生拥塞时的丢包数。
例如,拥塞位置确定装置可以为图2中的GQ层级和图2中的DP层级分别配置计数器1和计数器2。其中,计数器1用于统计图2中GQ层级发生拥塞时的丢包数,计数器2用于统计图2中VI层级发生拥塞时的丢包数。
一种可能的实现方式中,第一计数器为拥塞位置确定装置为层次化调度模型中的第一层级配置的第一计数器,包括:第一计数器为拥塞位置确定装置在层次化调度模型中的FQ层级为层次化调度模型中的第一层级配置的计数器。
示例性的,假设在通过层次化调度模型进行数据调度时,需要统计层次化调度模型中的FQ层级、SQ层级、GQ层级、VI层级和DP层级发生拥塞时的丢包数,则如图5所示,可以在FQ层级配置5个计数器,分别为FQ层级计数器、SQ层级计数器、GQ层级计数器、VI层级计数器和DP层级计数器。其中,FQ层级计数器用于统计FQ层级发生拥塞时的丢包数、SQ层级计数器用于统计SQ层级发生拥塞时的丢包数、VI层级计数器用于统计VI层级发生拥塞时的丢包数和DP层级计数器用于统计VI层级发生拥塞时的丢包数。
需要说明的是,为了便于理解,图5中仅示出各层级的令牌桶和FQ层级的计数器和实体队列,其他组成部分可参考本申请实施例图2中的描述,在此不再赘述。另外,如图5所示,还可以在FQ层级为层次化调度模型配置一个通过计数器来统计在所有层级都调度成功的数据包的数量,本申请实施例对此不作具体限定。
S402、拥塞位置确定装置根据第一计数值和第二计数值,基于公式(1),确实第一层级在第一时间点和第二时间点之间的丢包差值。
丢包差值=第二计数值-第一计数值 公式(1)
S403、若丢包差值大于0,拥塞位置确定装置确定第一层级发生拥塞。
可选的,本申请实施例中的第一计数器也可统计第一层级发生拥塞时的丢弃字节数,根据对应时间段第一计数器统计的丢弃字节差值是否大于0判断第一层级是否有拥塞,本申请实施例对此不作具体限定。
根据本申请实施例所提供的拥塞位置确定方法,由于第一计数器为层次化调度模型中的第一层级的计数器,可以统计第一层级发生拥塞时的丢包数,且该第一层级可以为层次化调度模型中的任意层级,因此通过查询第一计数器的计数可以准确确定拥塞产生的层级位置,进而可以方便工作人员在该层级进行带宽扩容。
一种可能的实现方式中,第一计数器用于统计第一层级发生拥塞时的丢包数,具体包括:第一计数器用于统计第一层级的所有节点在调度缓存队列中的数据包时发生拥塞所产生的丢包数的和。
其中,第一节点在调度第一缓存队列中的数据包时发生拥塞单位时间内所产生的丢包数=(第一速率-第二速率)*单位时间,第一速率为第一节点调度第一缓存队列中的数据包的速率,第二速率为第一节点相连接的第一令牌桶产生令牌的速率,第一节点为第一层级中的任意一个节点,第一缓存队列为FQ层级实体队列中的任意一个实体队列,第一令牌桶为第一层级中任意一个与第一节点相连接的令牌桶。
具体的,在第一节点调度第一缓存队列中的数据包时,若第一速率大于第二速率,即第一节点调度第一缓存队列中的数据包的速率大于第一节点相连接的第一令牌桶产生令牌的速率,则第一缓存队列中存在无法匹配令牌的数据包。进而,当数据包继续进入缓存队列时,由于无法匹配令牌的数据包占用第一缓存队列,也就是说,第一缓存队列发生拥塞,因此部分数据包无法继续进入第一缓存队列,从而会被丢弃。其中,单位时间内第一缓存队列中无法匹配令牌的数据包数=单位时间内无法进入第一缓存队列的数据包数。
通过本申请实施例所提供的拥塞位置确定方法,第一计数器统计该第一层级的所有节点发生拥塞所产生的丢包数的和,只要该第一层级的任意一个节点产生丢包,则第一计数器可以统计到丢包数,可以方便工作人员准确的确定出拥塞产生的位置。
例如,假设FQ层级的实体队列仅支持缓存2000bytes的数据,假设一个数据包为100bytes,当一个用户产生一个平均每秒转发2000bytes的数据请求时,若数据包不被调度,就会在缓存队列溢出,导致丢包,若数据包被调度,则需要各层级令牌桶中存在令牌。假设在数据包调度中,FQ层级、SQ层级、GQ层级和VI层级都按照每秒2000bytes填充令牌,则在这些层级不产生丢弃。当DP层级按照每秒900bytes填充令牌,则存在每秒1100bytes的数据匹配不到令牌,因此,在DP层级产生一个每秒1100bytes的数据丢弃,即每秒丢弃11个数据包,统计DP层级丢包数的计数器将记录这些丢弃的数据包的数量。
一种可能的实现方式中,如图6所示,在步骤S404之后,还可以包括步骤S404和S405:
S404、拥塞位置确定装置根据第一时间点和第二时间点之间的丢包差值,基于公式(2),确定第一层级在第一时间点和第二时间点之间的丢包率。
丢包率=丢包差值/(第二时间点-第一时间点) 公式(2)
S405、拥塞位置确定装置根据丢包率确定目标带宽。
其中,目标带宽用于对第一层级进行带宽扩容。
需要说明的是,本申请实施例中,也可根据丢弃的字节的速率确定目标带宽,本申请实施例对此不作具体限定。
例如,若确定每秒丢弃10兆的数据包,则需要扩容的目标带宽为10兆每秒的带宽。
根据本申请实施例所提供的拥塞位置确定方法,由于第一计数器为层次化调度模型中的第一层级的计数器,可以统计第一层级发生拥塞的丢包数,且该第一层级可以为层次化调度模型中的任意层级,因此通过查询第一计数器的计数可以准确确定拥塞产生的层级位置,进一步通过确定该层级的丢包率确定出该层级需要扩容的目标带宽,进而可以方便工作人员在该层级进行准确的带宽扩容。
下面将结合具体示例对本申请实施例提供的拥塞位置确定方法进行说明。
示例性的,假设在通过层次化调度模型进行数据调度时,需要统计层次化调度模型中的FQ层级、SQ层级、GQ层级、VI层级和DP层级发生拥塞时的丢包数,在FQ层级配置了如图5所示的多个计数器。则具体的,在通过层次化调度模型进行数据调度时:
首先,数据包1、数据包2、…、数据包n首先缓存在FQ层级的实体队列中。
其次,各层级计数器对每个数据包都按照统计数据包1的方式进行统计:
当数据包1经过FQ层级时,若在FQ层级令牌桶中匹配不到令牌,则数据包1被丢弃,FQ层级计数器统计1次;
当数据包1匹配到FQ层级的令牌后传输到SQ层级,若在SQ层级令牌桶中匹配不到令牌,则数据包1被丢弃,SQ层级计数器统计1次;
当数据包1匹配到SQ层级的令牌后传输到GQ层级,若在GQ层级令牌桶中匹配不到令牌,则数据包1被丢弃,GQ层级计数器统计1次;
当数据包1匹配到GQ层级的令牌后传输到VI层级,若在VI层级令牌桶中匹配不到令牌,则数据包1被丢弃,VI层级计数器统计1次;
当数据包1匹配到VI层级的令牌后传输到DP层级,若在DP层级令牌桶中匹配不到令牌,则数据包1被丢弃,DP层级计数器统计1次;
当数据包1匹配到DP层级的令牌后从DP层级输出,即层次化调度成功,则通过计数器统计1次。
需要说明的是,本申请实施例中,当计数器统计的是丢弃的数据包时,计数器统计1次,则计数器的计数值加1;当计数器统计的是丢弃的字节数时,计数器统计1次,则计数器的计数值增加的是丢弃的字节数,本申请实施例对此不作具体限定。
假设SQ层级发生了数据包丢弃,则可以通过如下方式确定拥塞位置。
第一步、拥塞位置确定装置分别获取SQ层级计数器在18时30分00秒的统计计数和在18时30分05秒的统计计数,假设如表1所示。
表1
时间 | 数据包个数 |
18时30分00秒 | 100 |
18时30分05秒 | 110 |
第二步、拥塞位置确定装置根据公式(1),确定SQ层级在18时30分00秒和18时30分05秒之间的丢包差值。
丢包差值=110-100=10。
第三步、由于丢包差值10大于0,拥塞位置确定装置确定SQ层级发生拥塞。
第四步、拥塞位置确定装置根据丢包差值,基于公式(2),确定SQ层级在在18时30分00秒和18时30分05秒之间的丢包率。
丢包率=10/(18时30分00秒-18时30分05秒)=2个数据包每秒。
第五步、拥塞位置确定装置根据丢包率确定目标带宽。
假设一个数据包为100个字节,由于此时的丢包率为2个数据包每秒,因此可以确定目标带宽为200个字节每秒。
在拥塞位置确定装置确定目标带宽为200个字节每秒之后,工作人员可以根据确定的目标带宽对SQ层级进行200个字节每秒的带宽扩容。
上述主要分别从方法的角度对本申请提供的方案进行介绍。可以理解的是,上述的方法实施例中的拥塞位置确定装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各实例的模块及方法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对拥塞位置确定装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图7示出了上述实施例中所涉及的拥塞位置确定装置的一种可能的结构示意图,该拥塞位置确定装置700包括:获取模块701、确定模块702和配置模块703。获取模块701用于执行图4中的步骤S401和图6中的步骤S401;确定模块702用于执行图4中的步骤S402、S403和图6中的步骤S402-S405;配置模块703用于为层次化调度中模型中的各个层级配置计数器。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例还提供了一种计算机存储介质,用于储存为上述拥塞位置确定装置所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行拥塞位置确定的程序,可以实现拥塞位置确定。
本申请实施例还提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述方法实施例的流程。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信***。
本申请是参照本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种拥塞位置确定方法,用于层次化调度模型,其特征在于,所述方法包括:
获取第一计数器在第一时间点的第一计数值和所述第一计数器在第二时间点的第二计数值,其中,所述第一计数器为为所述层次化调度模型中的第一层级配置的计数器,所述第一计数器用于统计所述第一层级发生拥塞时的丢包数,所述第一层级为所述层次化调度模型中的任意一个层级;
根据所述第一计数值和所述第二计数值,基于第一预设公式,确定所述第一层级在所述第一时间点和所述第二时间点之间的丢包差值,所述第一预设公式为:
所述丢包差值=所述第二计数值-所述第一计数值;
若所述丢包差值大于0,确定所述第一层级发生拥塞。
2.根据权利要求1所述的方法,其特征在于,所述第一计数器为为所述层次化调度模型中的第一层级配置的第一计数器,包括:
所述第一计数器为在所述层次化调度模型中的流队列FQ层级为所述层次化调度模型中的第一层级配置的计数器。
3.根据权利要求1或2所述的方法,其特征在于,所述第一计数器用于统计所述第一层级发生拥塞时的丢包数,具体包括:
所述第一计数器用于统计所述第一层级的所有节点在调度缓存队列中的数据包时发生拥塞所产生的丢包数的和,其中,第一节点在调度第一缓存队列中的数据包时发生拥塞单位时间内所产生的丢包数=(第一速率-第二速率)*单位时间,所述第一速率为所述第一节点调度第一缓存队列中的数据包的速率,所述第二速率为所述第一节点相连接的第一令牌桶产生令牌的速率,所述第一节点为所述第一层级中的任意一个节点,所述第一缓存队列为所述FQ层级实体队列中的任意一个实体队列,所述第一令牌桶为所述第一层级中任意一个与所述第一节点相连接的令牌桶。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述若丢包差值大于0,确定所述第一层级发生拥塞之后,所述方法还包括:
根据所述第一时间点和所述第二时间点之间的丢包差值,基于第二预设公式,确实所述第一层级在所述第一时间点和所述第二时间点之间的丢包率,所述第二预设公式为:
所述丢包率=所述丢包差值/(所述第二时间点-所述第一时间点);
根据所述丢包率确定目标带宽,其中,所述目标带宽用于对所述第一层级进行带宽扩容。
5.一种拥塞位置确定装置,其特征在于,所述装置包括:获取模块、确定模块和配置模块;
所述获取模块,用于获取第一计数器在第一时间点的第一计数值和所述第一计数器在第二时间点的第二计数值,其中,所述第一计数器为所述配置模块为所述层次化调度模型中的第一层级配置的计数器,所述第一计数器用于统计所述第一层级发生拥塞时的丢包数,所述第一层级为所述层次化调度模型中的任意一个层级;
所述确定模块,用于根据所述第一计数值和所述第二计数值,基于第一预设公式,确定所述第一层级在所述第一时间点和所述第二时间点之间的丢包差值,所述第一预设公式为:
所述丢包差值=所述第二计数值-所述第一计数值;
所述确定模块,还用于若所述丢包差值大于0,确定所述第一层级发生拥塞。
6.根据权利要求5所述的装置,其特征在于,
所述第一计数器为所述配置模块在所述层次化调度模型中的FQ层级为所述层次化调度模型中的第一层级配置的计数器。
7.根据权利要求5或6所述的装置,其特征在于,所述第一计数器用于统计所述第一层级发生拥塞时的丢包数,具体包括:
所述第一计数器用于统计所述第一层级的所有节点在调度缓存队列中的数据包时发生拥塞所产生的丢包数的和,其中,第一节点在调度第一缓存队列中的数据包时发生拥塞单位时间内所产生的丢包数=(第一速率-第二速率)*单位时间,所述第一速率为所述第一节点调度第一缓存队列中的数据包的速率,所述第二速率为所述第一节点相连接的第一令牌桶产生令牌的速率,所述第一节点为所述第一层级中的任意一个节点,所述第一缓存队列为所述FQ层级实体队列中的任意一个实体队列,所述第一令牌桶为所述第一层级中任意一个与所述第一节点相连接的令牌桶。
8.根据权利要求5-7任一项所述的装置,其特征在于,
所述确定模块,还用于在所述若丢包差值大于0,确定所述第一层级发生拥塞之后,根据所述第一时间点和所述第二时间点之间的丢包差值,基于第二预设公式,确实所述第一层级在所述第一时间点和所述第二时间点之间的丢包率,所述第二预设公式为:
所述丢包率=所述丢包差值/(所述第二时间点-所述第一时间点);
所述确定模块,还用于根据所述丢包率确定目标带宽,其中,所述目标带宽用于对所述第一层级进行带宽扩容。
9.一种拥塞位置确定装置,其特征在于,包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述拥塞位置确定装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述拥塞位置确定装置执行如权利要求1-4中任意一项所述的拥塞位置确定方法。
10.一种计算机存储介质,其特征在于,用于储存为权利要求1-4中任意一项所述的拥塞位置确定方法所用的计算机软件指令,其包含用于执行上述为权利要求1-4中任意一项所述的拥塞位置确定方法所设计的程序。
11.一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得计算机执行如权利要求1-4中任意一项所述的拥塞位置确定方法中的流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611218629.9A CN108243109A (zh) | 2016-12-26 | 2016-12-26 | 拥塞位置确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611218629.9A CN108243109A (zh) | 2016-12-26 | 2016-12-26 | 拥塞位置确定方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108243109A true CN108243109A (zh) | 2018-07-03 |
Family
ID=62701517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611218629.9A Withdrawn CN108243109A (zh) | 2016-12-26 | 2016-12-26 | 拥塞位置确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108243109A (zh) |
-
2016
- 2016-12-26 CN CN201611218629.9A patent/CN108243109A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1881937B (zh) | 将存储空间动态分配给多个队列的方法及设备 | |
US11805065B2 (en) | Scalable traffic management using one or more processor cores for multiple levels of quality of service | |
JP5603481B2 (ja) | 中継装置 | |
US8274896B2 (en) | Virtual queue | |
US10530846B2 (en) | Scheduling packets to destination virtual machines based on identified deep flow | |
US8842529B2 (en) | Network transport system with hybrid dynamic bandwidth allocation mechanism and method of operation thereof | |
US9929970B1 (en) | Efficient resource tracking | |
CN102084628A (zh) | 通信量管理器和用于通信量管理器的方法 | |
CN106817317A (zh) | 具有入口控制的业务量管理 | |
CN105308906B (zh) | 一种用于在网络设备中对事件进行计数的方法及计数器设备 | |
CN110149282B (zh) | 流量调度方法和装置 | |
US20160094450A1 (en) | Reducing internal fabric congestion in leaf-spine switch fabric | |
US9940471B2 (en) | Virtual output queue authorization management method and device, and computer storage medium | |
CN105740178B (zh) | 芯片网络***以及其形成方法 | |
WO2020142867A1 (zh) | 一种流量整形方法及相关设备 | |
CN108092908A (zh) | 控制流量的方法和发送端设备 | |
CN108847969A (zh) | 基于信息流的网络业务可靠性分析方法 | |
US7321940B1 (en) | Iterative architecture for hierarchical scheduling | |
CN104869079A (zh) | 基于动态加权循环法的队列调度方法及装置 | |
CN105700940B (zh) | 一种调度器及调度器的动态复用方法 | |
CN100505688C (zh) | 一种用于网络处理器的差额权重排队调度装置及调度方法 | |
CN109905331A (zh) | 队列调度方法及装置、通信设备、存储介质 | |
CN113906720B (zh) | 流量调度方法、设备及存储介质 | |
CN109995667A (zh) | 传输报文的方法和发送设备 | |
CN110247854B (zh) | 一种多等级业务调度方法和调度***以及调度控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180703 |