CN112272148B - 一种多优先级队列管理方法、装置及存储介质 - Google Patents
一种多优先级队列管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112272148B CN112272148B CN202011101884.1A CN202011101884A CN112272148B CN 112272148 B CN112272148 B CN 112272148B CN 202011101884 A CN202011101884 A CN 202011101884A CN 112272148 B CN112272148 B CN 112272148B
- Authority
- CN
- China
- Prior art keywords
- priority
- queue
- ratio threshold
- message
- proportion
- 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.)
- Active
Links
Images
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/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/6235—Variable service order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种多优先级队列管理方法、装置及存储介质,用于解决多优先级队列管理的问题。本公提供的多优先级队列管理方法能够实现在不额外增加队列资源的情况下,对单个队列进行基于队列深度的多优先级报文调度和管理,以提高队列资源的利用率、提高报文处理效率及保障不同优先级的报文的服务质量Qos。
Description
技术领域
本公开涉及软件及通信技术领域,尤其涉及一种多优先级队列管理方法、装置及存储介质。
背景技术
在实际应用中,数通设备处理报文时常常需要将报文区分优先级。优先级的应用场景很多,最基本的一个应用场景是当流量出现拥塞时,保证高优先级的报文优先接收。
普通的业务报文往往流量最大,同时报文丢弃后果不严重,因为应用层往往有重传等机制,保证丢弃报文能够再次发送。然而,组网相关的报文,例如地址解析协议(Address Resolution Protocol,ARP)报文、链路层发现协议(Link Level DiscoverProtocol,LLDP)报文,如果丢失过多可能会引起网络震荡等灾难后果,因此优先级相比普通业务报文要高。
通常通过增加队列区分优先级,例如假设共有N个优先级,那么每个优先级对应一个队列。这样能够保证低优先级的报文流量再大都不会影响到高优先级的报文。此种方案优点明显,原理简单,能够做到各个优先级的报文互不干扰,并且还能够针对高优先的队列优先调度,保证高优先级的队列优先处理,普遍应用在各类网络设备中。
相对于硬件缓冲器buffer来说,队列资源是稀缺资源。对于整个收发系统来说多一个队列意味调度模块多一个调度资源。网络处理器往往CPU核非常多,通用做法是一个CPU核对应一个接收队列,多优先级队列会让资源倍增,同时会面临一个CPU核对应多个对列,产生资源并发问题,导致队列资源的利用率不高,高优先级报文流的服务质量保障不充分。
发明内容
有鉴于此,本公开提供一种多优先级队列管理方法、装置及存储介质,用于解决多优先级队列管理的问题。
基于本公开一实施例,提供了一种多优先级队列管理方法,该方法包括:
获取第一队列的多个优先级的空间使用率占比阈值;
在将报文输入所述第一队列之前,首先判断该队列当前的空间使用率是否小于所述报文的优先级对应的空间使用率占比阈值,如果小于则将所述报文输入到所述第一队列,否则丢弃所述报文。
进一步地,统一为多个队列设置相同的优先级及优先级对应的占比阈值,或为多个队列分别单独配置优先级及优先级对应的占比阈值。
进一步地,在所述获取第一队列的多个优先级的空间使用率占比阈值之前,所述方法还包括对占比阈值进行定期更新的步骤:
在预设的统计时间周期Tref内,统计在当前统计时间周期Tref内,接收到的分配给所述第一队列的各优先级的报文的分布情况;
计算各优先级的报文与该统计时间周期Tref内分配给第一队列的报文总数的比值,得到各优先级对应的参考占比阈值,将各优先级对应的参考占比阈值设置为下一统计时间周期内各优先级对应的占比阈值。
进一步地,在所述获取第一队列的多个优先级的空间使用率占比阈值之前,所述方法还包括对占比阈值进行动态调整的步骤:
基于预设的更新周期Tupdate以从高到低的顺序依次判断进入第一队列的各优先级的报文所占队列空间的比例是否达到各优先级对应的占比阈值,若高优先级的报文所占队列空间的比例达到该高优先级对应的占比阈值,则将该高优先级对应的占比阈值调高预设浮动值△Th,相应地将最低优先级对应的占比阈值调低预设浮动值△Th;若高优先级报文所占队列空间的比例未达到该高优先级对应的占比阈值,并且差距大于预设差值常数A,则将该高优先级对应的占比阈值调低预设浮动值△Th,相应地将次高优先级对应的占比阈值调高预设浮动值△Th。
进一步地,根据配置指定的优先级对应的占比阈值进行所述的对占比阈值进行定期更新的步骤和对占比阈值进行动态调整的步骤。
基于本公开另一实施例,提供一种多优先级队列管理装置,该装置包括:
阈值获取模块,用于获取第一队列的多个优先级的空间使用率占比阈值;
队列管理模块,用于在将报文输入所述第一队列之前,首先判断该队列当前的空间使用率是否小于所述报文的优先级对应的空间使用率占比阈值,如果小于则将所述报文输入到所述第一队列,否则丢弃所述报文。
进一步地,所述装置还包括:
配置模块,用于统一为多个队列设置相同的优先级及优先级对应的占比阈值,或为多个队列分别单独配置优先级及优先级对应的占比阈值;和/或,配置需要进行占比阈值定期更新和动态调整的优先级。
进一步地,所述装置还包括:
统计分析模块,用于在预设的统计时间周期Tref内,统计在当前统计时间周期Tref内,接收到的分配给所述第一队列的各优先级的报文的分布情况;
阈值更新模块,用于计算各优先级的报文与该统计时间周期Tref内分配给第一队列的报文总数的比值,得到各优先级对应的参考占比阈值,将各优先级对应的参考占比阈值设置为下一统计时间周期内各优先级对应的占比阈值。
进一步地,所述统计分析模块,还用于在更新周期Tupdate内统计进入第一队列的各优先级的报文个数;
所述装置还包括:阈值动态调整模块,用于基于预设的更新周期Tupdate以从高到低的顺序依次判断进入第一队列的各优先级的报文所占队列空间的比例是否达到各优先级对应的占比阈值,若高优先级的报文所占队列空间的比例达到该高优先级对应的占比阈值,则将该高优先级对应的占比阈值调高预设浮动值△Th,相应地将最低优先级对应的占比阈值调低预设浮动值△Th;若高优先级报文所占队列空间的比例未达到该高优先级对应的占比阈值,并且差距大于预设差值常数A,则将该高优先级对应的占比阈值调低预设浮动值△Th,相应地将次高优先级对应的占比阈值调高预设浮动值△Th。
本公提供的多优先级队列管理方法能够实现在不额外增加队列资源的情况下,对单个队列进行基于队列深度的多优先级报文调度和管理,以提高队列资源的利用率、提高报文处理效率及保障不同优先级的报文的服务质量Qos。
附图说明
为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。
图1为本公开实施例提供的多优先级队列管理方法的步骤流程图;
图2为本公开一实施例中报文优先级与占比阈值对应设置的示意图;
图3为本公开一实施例中情况1下对优先级占比阈值进行调整的示意图;
图4为本公开一实施例中情况2下对优先级占比阈值进行调整的示意图;
图5为本公开一实施例中情况3下对优先级占比阈值进行调整的示意图;
图6为本公开一实施例中情况4下对优先级占比阈值进行调整的示意图;
图7为本公开一实施例提供的多优先级队列管理装置的结构示意图;
图8为本公开一实施例提供的多优先级队列管理装置的结构示意图。
具体实施方式
在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开实施例。本公开实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本公开中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本公开旨在提供一种多优先级队列管理方法,以实现在不额外增加队列资源的情况下,对单个队列进行基于队列深度的多优先级报文调度和管理,以提高队列资源的利用率、提高报文处理效率及保障不同优先级的报文的服务质量Qos。
图1为本公开实施例提供的多优先级队列管理方法的步骤流程图,该方法可应用于任何需要对队列中的报文进行分级处理的设备当中,所述设备可以为网络设备或服务器等,该方法包括:
步骤101.获取第一队列的多个优先级的空间使用率占比阈值;
步骤102.在将报文输入所述第一队列之前,首先判断该队列当前的空间使用率是否小于所述报文的优先级对应的空间使用率占比阈值,如果小于则将所述报文输入到所述第一队列,否则丢弃所述报文。
本公开实施例中,基于队列深度为每个队列设置报文优先级(简称优先级)的空间使用率占比阈值(简称占比阈值),例如按照每个队列正在使用的硬件缓冲器buffer个数,为该队列设置不同报文优先级对应的占比阈值。当使用的硬件buffer个数超过某个占比阈值时,不再接收该占比阈值对应的优先级以下的报文。通过这个策略保证拥塞时,高优先级报文能够先于低优先级报文被上送、转发或处理。
图2为本公开一实施例中报文优先级与占比阈值对应设置的示意图,假设第一队列支持3个优先级,每个优先级对应一个占比阈值。不同队列的优先级可以独立设置,也可以共用相同的占比阈值设置。该示例中,第一队列深度(或称为队列所拥有的硬件Buffer总数个数)为L,报文优先级0对应的占比阈值为priority_limit_0,代表优先级为0的报文所能占用队列的空间的总数为priority_limit_0*L,一般priority_limit_0设置为1,即最高优先级能使用所有的队列空间。报文优先级1对应的占比阈值为priority_limit_1,代表优先级为1的报文所能占用队列的空间的总数为priority_limit_1*L。报文优先级2对应的占比阈值为priority_limit_2,代表优先级为2的报文所能占用队列的空间的总数为priority_limit_2*L。
考虑实际使用中,每个队列接收的报文类型可能不同,因此当存在多个队列时,可针对每个队列单独配置优先级及优先级对应的占比阈值。每个优先级对应的占比阈值应当在初始化时被初始化,可在初始化时刻采用默认值配置进行初始化。例如,对于网络设备,在设备初始化时,将配置的占比阈值参数读取到网络接口控制器(Network InterfaceController,NIC)中,以初始化NIC中的报文队列。
在将接收到的报文写入第一队列之前,先解析该报文的优先级,根据该报文的优先级对应的占比阈值,判断该队列的空间使用率是否小于该优先级对应的占比阈值,如果小于则将报文写入该队列,否则丢弃该报文并记录丢弃原因以及个数。根据上述处理方法可以知道,当一个队列的空间使用率超过某个优先级对应的占比阈值时,所有低于该优先级的报文都将无法进入队列,从而能够保障当有高优先级的报文来到时,能够优先进入队列优先得到处理。
例如,假设收到两个报文,报文1的优先级为优先级1,报文2的优先级为优先级2,当前第一队列已使用的硬件buffer的总数为Cnt2,若当前队列空间使用率为Cnt2/L且priority_limit_2<Cnt2/L<priority_limit_1,则报文2会被丢弃,报文1可以入队列。
为了动态的适应不同的业务场景中不同优先级的传输情况,本公开一实施例中,还包括定期更新队列优先级对应的占比阈值的步骤。本公开通过增加一个统计分析模块,解决阈值自适应问题,并将阈值实时更新。动态调整的方法为:
步骤103.在预设的统计时间周期Tref内,统计在当前统计时间周期Tref内,接收到的分配给第一队列的各优先级的报文的分布情况;
步骤104.计算各优先级的报文与该统计时间周期Tref内分配给第一队列的报文总数的比值,得到各优先级对应的参考占比阈值,将各优先级对应的参考占比阈值设置为下一统计时间周期内各优先级对应的占比阈值。
例如,针对第一队列进行统计,在当前统计时间周期Tref内,共接收到分配给第一队列的优先级1的报文个数为Num_priority_1,该统计时间周期Tref内,接收到各优先级的报文总数为Sum_all_priority,则优先级1对应的参考占比阈值为:priority_limit_ref_1=Num_priority_1/Sum_all_priority,然后将该参考占比阈值设置为下一统计时间周期内该第一队列的优先级1对应的占比阈值,即将priority_limit_ref_1赋值给priority_limit_1。
在本公开一实施例中,最高优先级对应的占比阈值设置为1,即表示最高优先级的报文极端情况下可以占满整个队列,因此最高优先级的报文个数可不必统计。其它优先级对应的占比阈值在初始情况下,可以通过默认配置参数进行配置,例如次高优先级priority_limit_1_max=90%,表示优先级1对应的占比阈值最大值不能超过priority_limit_1_max,在动态调整的过程中,优先级1对应的占比阈值可以调整为小于等于priority_limit_1_max参数值的值。
为了更加精确的对队列的优先级对应的占比阈值进行动态调整,本公开另一实施例中,还进一步包括如下动态调整队列优先级对应的占比阈值的步骤:
步骤105.基于预设的更新周期Tupdate以从高到低的顺序依次判断进入第一队列的各优先级的报文所占队列空间的比例是否达到各优先级对应的占比阈值,若高优先级的报文所占队列空间的比例达到该高优先级对应的占比阈值,则将该高优先级对应的占比阈值调高预设浮动值△Th,相应地将最低优先级对应的占比阈值调低预设浮动值△Th;若高优先级报文所占队列空间的比例未达到该高优先级对应的占比阈值,并且差距大于预设差值常数A,则将该高优先级对应的占比阈值调低预设浮动值△Th,相应地将次高优先级对应的占比阈值调高预设浮动值△Th。
本公开一实施例中,在前述已设置各优先级对应的参考占比阈值的基础上,继续按照周期Tupdate判断当前各个优先级报文所占用队列中的buffer个数Bx_use(x表示优先级0、1、2……)是否达到各自的占比阈值。如果高优先级报文的Bx_use使用到达了该优先级对应的占比阈值,则将该高优先级对应的占比阈值扩大预设浮动值△Th,将最低优先级对应的占比阈值相应的减少△Th;如果该高优先级报文占用队列的buffer个数未达到该优先级对应的占比阈值,并且距离该优先级对应的占比阈值的差值大于预设差值常数A,则将该高优先级对应的占比阈值减少△Th,次高优先级对应的占比阈值增加△Th,达到动态的目的。
为了方便叙述,以下以3个优先级为例,对动态调整的方式进行说明:
假设队列深度是L,3个优先级由高到低分别对应的占比阈值为Th0、Th1、Th2,在更新周期Tupdate到时3个优先级的报文所占队列buffer的个数分别表示为B0_use、B1_use、B2_use。
情况1.判断当前B0_use+B1_use+B2_use是否等于L,如果是则Th2减少△Th,即如图3中所示,由原来Th2’的位置减少△Th调整到Th2的位置。减少是为了限制最低优先级的buffer个数,到达增加高优先级的目的;
情况2.判断当前L-(B0_use+B1_use+B2_use)是否大于A,如果是,说明高优先级占比阈值比较充裕,需要适当减少高优先级的占比阈值,增加次高优先级的占比阈值,因此增加Th1,如图4所示,由原来Th1’的位置增加△Th调整到Th1的位置,注意这里最高优先级的占比阈值Th0始终保持为1。
情况3.判断B2_use+B1_use是否等于Th1,如果是则Th2减少△Th,如图5所示,由原来位置Th2’的位置减少△Th调整到Th2的位置。减少是为了限制最低优先级的buffer个数,到达增加高优先级的目的。
情况4.判断当前Th1-(B2_use+B1_use)是否大于A,如果是,说明高优先级占比阈值比较充裕,需要适当减少高优先级占比阈值,增加次高优先级的占比阈值。因此增加Th2,如图6所示,由原Th2’的位置增加△Th调整到Th2的位置。
在本公开一实施例中,可选择对哪些优先级对应的占比阈值进行自适应调整,因为有些高优先报文很少,不适合自适应调整,可配置优先级对应的占比阈值的调整范围。
应当认识到,本公开的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术,包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本公开描述的方法、过程的操作,除非本公开另外指示或以其他方式明显地与上下文矛盾。本公开描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用),由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
还应当认识到,本公开所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本公开的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本公开所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本公开所述的方法和技术编程时,本公开还包括计算机本身。
图7为本公开一实施例提供的一种多优先级队列管理装置的结构示意图。该装置700包括:阈值获取模块710、队列管理模块720。
阈值获取模块710,用于获取第一队列的多个优先级的空间使用率占比阈值。可以理解的是,该装置可对多个队列进行管理,每个队列可单独设置各优先级的空间使用率占比,也可以统一设置。
队列管理模块720,用于在将报文输入所述第一队列之前,首先判断该队列当前的空间使用率是否小于所述报文的优先级对应的空间使用率占比阈值,如果小于则将所述报文输入到所述第一队列,否则丢弃所述报文。
进一步地,所述装置700还包括:
配置模块730,用于统一为多个队列设置相同的优先级及优先级对应的占比阈值,或为多个队列分别单独配置优先级及优先级对应的占比阈值;和/或,配置需要进行占比阈值定期更新和动态调整的优先级。
进一步地,所述装置700还包括:
统计分析模块740,用于在预设的统计时间周期Tref内,统计在当前统计时间周期Tref内,接收到的分配给所述第一队列的各优先级的报文的分布情况;
阈值更新模块750,用于计算各优先级的报文与该统计时间周期Tref内分配给第一队列的报文总数的比值,得到各优先级对应的参考占比阈值,将各优先级对应的参考占比阈值设置为下一统计时间周期内各优先级对应的占比阈值。
进一步地,所述统计分析模块740,还用于在更新周期Tupdate内统计进入第一队列的各优先级的报文个数;
所述装置700还包括:阈值动态调整模块760,用于基于预设的更新周期Tupdate以从高到低的顺序依次判断进入第一队列的各优先级的报文所占队列空间的比例是否达到各优先级对应的占比阈值,若高优先级的报文所占队列空间的比例达到该高优先级对应的占比阈值,则将该高优先级对应的占比阈值调高预设浮动值△Th,相应地将最低优先级对应的占比阈值调低预设浮动值△Th;若高优先级报文所占队列空间的比例未达到该高优先级对应的占比阈值,并且差距大于预设差值常数A,则将该高优先级对应的占比阈值调低预设浮动值△Th,相应地将次高优先级对应的占比阈值调高预设浮动值△Th。
图8为本公开一实施例提供的一种设备结构示意图,该设备800包括:诸如中央处理单元(CPU)的处理器810、总线820、网络接口840以及计算机可读存储介质830。其中,处理器810、网络接口和计算机可读存储介质830之间可以通过总线820相互通信。计算机可读存储介质830内可存储实施本公开提供的多优先级队列管理方法的计算机程序,当计算机程序被处理器810执行时即可实现本公开提供的方法的相应步骤功能。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (8)
1.一种多优先级队列管理方法,其特征在于,所述方法包括:
获取第一队列的多个优先级的空间使用率占比阈值;
在将报文输入所述第一队列之前,首先判断该队列当前的空间使用率是否小于所述报文的优先级对应的空间使用率占比阈值,如果小于则将所述报文输入到所述第一队列,否则丢弃所述报文;
在所述获取第一队列的多个优先级的空间使用率占比阈值之前,还包括对占比阈值进行定期更新的步骤:
在预设的统计时间周期Tref内,统计在当前统计时间周期Tref内,接收到的分配给所述第一队列的各优先级的报文的分布情况;
计算各优先级的报文与该统计时间周期Tref内分配给第一队列的报文总数的比值,得到各优先级对应的参考占比阈值,将各优先级对应的参考占比阈值设置为下一统计时间周期内各优先级对应的占比阈值。
2.根据权利要求1所述的方法,其特征在于,
统一为多个队列设置相同的优先级及优先级对应的占比阈值,或为多个队列分别单独配置优先级及优先级对应的占比阈值。
3.根据权利要求1所述的方法,其特征在于,在所述获取第一队列的多个优先级的空间使用率占比阈值之前,所述方法还包括对占比阈值进行动态调整的步骤:
基于预设的更新周期Tupdate以从高到低的顺序依次判断进入第一队列的各优先级的报文所占队列空间的比例是否达到各优先级对应的占比阈值,若高优先级的报文所占队列空间的比例达到该高优先级对应的占比阈值,则将该高优先级对应的占比阈值调高预设浮动值△Th,相应地将最低优先级对应的占比阈值调低预设浮动值△Th;若高优先级报文所占队列空间的比例未达到该高优先级对应的占比阈值,并且差距大于预设差值常数A,则将该高优先级对应的占比阈值调低预设浮动值△Th,相应地将次高优先级对应的占比阈值调高预设浮动值△Th。
4.根据权利要求3所述的方法,其特征在于,
根据配置指定的优先级对应的占比阈值进行所述的对占比阈值进行定期更新的步骤和对占比阈值进行动态调整的步骤。
5.一种多优先级队列管理装置,其特征在于,该装置包括:
阈值获取模块,用于获取第一队列的多个优先级的空间使用率占比阈值;
队列管理模块,用于在将报文输入所述第一队列之前,首先判断该队列当前的空间使用率是否小于所述报文的优先级对应的空间使用率占比阈值,如果小于则将所述报文输入到所述第一队列,否则丢弃所述报文;
所述装置还包括:
统计分析模块,用于在预设的统计时间周期Tref内,统计在当前统计时间周期Tref内,接收到的分配给所述第一队列的各优先级的报文的分布情况;
阈值更新模块,用于计算各优先级的报文与该统计时间周期Tref内分配给第一队列的报文总数的比值,得到各优先级对应的参考占比阈值,将各优先级对应的参考占比阈值设置为下一统计时间周期内各优先级对应的占比阈值。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
配置模块,用于统一为多个队列设置相同的优先级及优先级对应的占比阈值,或为多个队列分别单独配置优先级及优先级对应的占比阈值;和/或,配置需要进行占比阈值定期更新和动态调整的优先级。
7.根据权利要求5所述的装置,其特征在于,
所述统计分析模块,还用于在更新周期Tupdate内统计进入第一队列的各优先级的报文个数;
所述装置还包括:阈值动态调整模块,用于基于预设的更新周期Tupdate以从高到低的顺序依次判断进入第一队列的各优先级的报文所占队列空间的比例是否达到各优先级对应的占比阈值,若高优先级的报文所占队列空间的比例达到该高优先级对应的占比阈值,则将该高优先级对应的占比阈值调高预设浮动值△Th,相应地将最低优先级对应的占比阈值调低预设浮动值△Th;若高优先级报文所占队列空间的比例未达到该高优先级对应的占比阈值,并且差距大于预设差值常数A,则将该高优先级对应的占比阈值调低预设浮动值△Th,相应地将次高优先级对应的占比阈值调高预设浮动值△Th。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序当被处理器执行时实现如权利要求1至4中任一项的方法步骤功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011101884.1A CN112272148B (zh) | 2020-10-15 | 2020-10-15 | 一种多优先级队列管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011101884.1A CN112272148B (zh) | 2020-10-15 | 2020-10-15 | 一种多优先级队列管理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112272148A CN112272148A (zh) | 2021-01-26 |
CN112272148B true CN112272148B (zh) | 2022-05-27 |
Family
ID=74337248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011101884.1A Active CN112272148B (zh) | 2020-10-15 | 2020-10-15 | 一种多优先级队列管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112272148B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113179226B (zh) * | 2021-03-31 | 2022-03-29 | 新华三信息安全技术有限公司 | 一种队列调度方法及装置 |
CN114567566A (zh) * | 2022-02-16 | 2022-05-31 | 上海联虹技术有限公司 | 一种报文处理方法、装置、终端设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105490964A (zh) * | 2015-12-14 | 2016-04-13 | 福建星网锐捷网络有限公司 | 一种服务质量的处理方法和装置 |
CN105718317A (zh) * | 2016-01-15 | 2016-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种任务调度方法及装置 |
CN106453128A (zh) * | 2016-10-19 | 2017-02-22 | 中国工商银行股份有限公司 | 一种数据报文缓冲通讯方法及装置 |
CN107404443A (zh) * | 2017-08-03 | 2017-11-28 | 北京东土军悦科技有限公司 | 队列缓存资源控制方法及装置、服务器及存储介质 |
CN107835517A (zh) * | 2017-10-10 | 2018-03-23 | 中国航空无线电电子研究所 | 具有QoS保障的长距离CSMA/CA协议 |
CN111104210A (zh) * | 2019-11-26 | 2020-05-05 | 苏宁云计算有限公司 | 一种任务处理方法、装置及计算机系统 |
CN111638986A (zh) * | 2020-06-02 | 2020-09-08 | 中电科航空电子有限公司 | 一种QoS队列调度方法、装置、系统及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1139615B1 (en) * | 2000-03-29 | 2006-06-07 | Alcatel | Method to generate an acceptance decision in a telecommunication system |
-
2020
- 2020-10-15 CN CN202011101884.1A patent/CN112272148B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105490964A (zh) * | 2015-12-14 | 2016-04-13 | 福建星网锐捷网络有限公司 | 一种服务质量的处理方法和装置 |
CN105718317A (zh) * | 2016-01-15 | 2016-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种任务调度方法及装置 |
CN106453128A (zh) * | 2016-10-19 | 2017-02-22 | 中国工商银行股份有限公司 | 一种数据报文缓冲通讯方法及装置 |
CN107404443A (zh) * | 2017-08-03 | 2017-11-28 | 北京东土军悦科技有限公司 | 队列缓存资源控制方法及装置、服务器及存储介质 |
CN107835517A (zh) * | 2017-10-10 | 2018-03-23 | 中国航空无线电电子研究所 | 具有QoS保障的长距离CSMA/CA协议 |
CN111104210A (zh) * | 2019-11-26 | 2020-05-05 | 苏宁云计算有限公司 | 一种任务处理方法、装置及计算机系统 |
CN111638986A (zh) * | 2020-06-02 | 2020-09-08 | 中电科航空电子有限公司 | 一种QoS队列调度方法、装置、系统及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112272148A (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493145B (zh) | 一种缓存方法及装置 | |
US9867167B2 (en) | Airtime-based packet scheduling for wireless networks | |
EP2466824B1 (en) | Service scheduling method and device | |
CN112272148B (zh) | 一种多优先级队列管理方法、装置及存储介质 | |
CN110248417B (zh) | 一种电力物联网中上行通信业务的资源分配方法及系统 | |
US11616723B2 (en) | Techniques to reduce network congestion | |
US8369219B2 (en) | System and method for managing bandwidth | |
US7848239B2 (en) | Network system capable of dynamically controlling data flow and its method | |
CN107347039B (zh) | 一种共享缓存空间的管理方法及装置 | |
US10050896B2 (en) | Management of an over-subscribed shared buffer | |
CN113141590B (zh) | 一种面向工业物联网的无线通信调度方法及装置 | |
CN107835133B (zh) | 一种基于多属性决策的流优先级控制方法 | |
CN113315720B (zh) | 一种数据流控制方法、系统及设备 | |
WO2013128884A1 (ja) | パケット転送装置及びパケット転送方法、並びにコンピュータ・プログラム | |
US20220407808A1 (en) | Service Level Adjustment Method, Apparatus, Device, and System, and Storage Medium | |
US11621918B2 (en) | Techniques to manage data transmissions | |
CN101114988A (zh) | 基于非连续发射预测自适应多速率业务的流控算法 | |
CN114245424A (zh) | 用于通信网络的方法和装置 | |
Mariño et al. | Elastic queueing engine for time sensitive networking | |
CN113906720B (zh) | 流量调度方法、设备及存储介质 | |
CN109391558B (zh) | 一种队列的控制方法及控制装置 | |
CN109561029B (zh) | 一种报文上送控制方法及装置 | |
JP2023531436A (ja) | キュースケジューリングのための方法および装置 | |
KR101948412B1 (ko) | Lte 환경에서 단기 지연 보장 및 장기 공평성 보장을 위한 패킷 스케줄링 방법 및 시스템 | |
US10742710B2 (en) | Hierarchal maximum information rate enforcement |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |