CN114035924A - 一种分布式限速队列实现方法及装置 - Google Patents

一种分布式限速队列实现方法及装置 Download PDF

Info

Publication number
CN114035924A
CN114035924A CN202111388829.XA CN202111388829A CN114035924A CN 114035924 A CN114035924 A CN 114035924A CN 202111388829 A CN202111388829 A CN 202111388829A CN 114035924 A CN114035924 A CN 114035924A
Authority
CN
China
Prior art keywords
queue
node
sub
messages
sending
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.)
Pending
Application number
CN202111388829.XA
Other languages
English (en)
Inventor
才超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202111388829.XA priority Critical patent/CN114035924A/zh
Publication of CN114035924A publication Critical patent/CN114035924A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供一种分布式限速队列实现方法及装置,涉及流量调度技术领域。该方法包括:入队列时,将所述报文送入对应的子队列进行缓存,并更新队列状态,所述队列为树形存储结构,包括叶子级节点和容器级节点,所述容器级节点为所述叶子级节点的父节点,所述叶子级节点包括多个用于缓存报文的子队列;出队列时,在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和父节点的状态标记,通过带有优先级的分布式限速队列,可在多核多线索场景下使用,解决了现有方法无法在多线索并发系统中使用的问题。

Description

一种分布式限速队列实现方法及装置
技术领域
本申请涉及流量调度技术领域,具体而言,涉及一种分布式限速队列实现方法及装置。
背景技术
在传统的单CPU核心系统中,通常只有一个发送报文的线索,出接口报文队列的实现比较简单明了,线索遵循报文入队列/缓存/出队列/发送的操作步骤顺序发送报文即可。随着CPU、网卡硬件和系统软件的发展,一台设备通常具有多个CPU核,其上可以同时运行多个并发线索,一个网卡硬件接口同时也可以提供多个互相独立的TX队列,这就意味着在一个设备上,有多个并发运行的线索可以在一个网络接口同时进行报文的收发操作。但现有的方法无法在多线索并发系统中使用。
发明内容
本申请实施例的目的在于提供一种分布式限速队列实现方法及装置,通过带有优先级的分布式限速队列,可在多核多线索场景下使用,解决了现有方法无法在多线索并发系统中使用的问题。
本申请实施例提供了一种分布式限速队列实现方法,所述方法包括:
入队列时,将所述报文送入对应的子队列进行缓存,并更新队列状态,所述队列为树形存储结构,包括叶子级节点和容器级节点,所述容器级节点为所述叶子级节点的父节点,所述叶子级节点包括多个用于缓存报文的子队列;
出队列时,在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和父节点的状态标记。
在上述实现过程中,设置树形存储结构,并在叶子节点上设置多个独立的子队列,以适应多线索场景,使得多个线索可同时执行报文入队、缓存、出队列和发送操作,实现了多核环境下的流量控制管理以及报文高效发送,从而解决了现有方法无法在多线索并发系统中使用的问题。
进一步地,所述将所述报文送入对应的子队列进行缓存,并更新队列状态,包括:
利用分类过滤算法确定所述报文需要缓存的叶子节点,以将所述报文存储至所述子队列;
判断所述子队列的标记状态是否为可用状态;
若否,更新所述子队列的标记状态为不可用,并追溯对应的父节点,并更改所述父节点的标记状态。
在上述实现过程中,每个线索将报文送入对应的子队列进行缓存,并更新对应的标记状态。
进一步地,所述在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和父节点的状态标记,包括:
判断是否超过当前节点的限制速率;
若否,则判断是否为容器节点;
若否,则从子队列中查找优先级最高的、具有可用标记的子队列并发送报文;
更新当前子队列和对应的父节点的已发送报文数。
在上述实现过程中,出队时,需要从叶子级节点的子队列发送报文同时判断是否超过限制速率,并在发送成功后更新当前叶子级节点及其所有树形结构上父节点的已发送报文字节数的值。
进一步地,所述所述在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和父节点的状态标记,包括:
若超过当前节点的限制速率,则更新当前节点和父节点的队列状态标记,所述状态标记包括空、可用和不可用。
在上述实现过程中,如果超过限制速率,则将状态标记为不可用。
进一步地,所述从预设的优先级最高的、具有可用标记的子队列发送报文,包括:
若所述当前节点为容器级节点,则按照优先级查找可用叶子级节点并重新判断所述叶子级节点的节点速率是否超过限制速率。
在上述实现过程中,由于容器级节点不具有缓存功能,因此也不能发送报文,需要根据优先级查找可用叶子级节点。
进一步地,所述从预设的优先级最高的、具有可用标记的子队列发送报文,包括:
根据优先级数查找优先级最高的子队列,以确定所述子队列能否发送报文;
若否,则继续查找下一优先级最高的子队列,直至找到具有可用标记的子队列,并从所述子队列发送报文。
在上述实现过程中,根据优先级进行逐级查找,直至发现可用子队列进行发送报文。
本申请实施例还提供分布式限速队列实现装置,所述装置包括:
入队模块,用于入队列时,将所述报文送入对应的子队列进行缓存,并更新队列状态,所述队列为树形存储结构,包括叶子级节点和容器级节点,所述容器级节点为所述叶子级节点的父节点,所述叶子级节点包括多个用于缓存报文的子队列;
出队模块,用于出队列时,在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和父节点的状态标记。
在上述实现过程中,设置树形存储结构,并在叶子节点上设置多个独立的子队列,以适应多线索场景,使得多个线索可同时执行报文入队、缓存、出队列和发送操作,实现了多核环境下的流量控制管理以及报文高效发送,从而解决了现有方法无法在多线索并发系统中使用的问题。
进一步地,所述入队模块包括:
存储模块,用于利用分类过滤算法确定所述报文需要缓存的叶子节点,以将所述报文存储至所述子队列;
判断模块,用于判断所述子队列的标记状态是否为可用状态;
状态标记模块,用于若不可用,更新所述子队列的标记状态为不可用,并追溯对应的父节点,并更改所述父节点的标记状态。
在上述实现过程中,每个线索将报文送入对应的子队列进行缓存,并更新对应的标记状态。
本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述中任一项所述的分布式限速队列实现方法。
本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的分布式限速队列实现方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种分布式限速队列实现方法的流程图;
图2为本申请实施例提供的树状的限速队列结构示意图;
图3为本申请实施例提供的叶子级节点的结构示意图;
图4为本申请实施例提供的容器级节点的结构示意图;
图5为本申请实施例提供的分布式限速队列的入队列流程示意图;
图6为本申请实施例提供的分布式限速队列的出队列流程图;
图7为本申请实施例提供的分布式限速队列实现装置的结构框图;
图8为本申请实施例提供的另一种分布式限速队列实现装置的结构框图。
图标:
100-入队模块;101-存储模块;102-判断模块;103-第一状态标记模块;200-出队模块;201-速率判断模块;202-第二状态标记模块;203-容器节点判断模块;204-查找模块;205-报文发送模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供的一种分布式限速队列实现方法的流程图。该方法采用带有优先级的分布式限速队列进行报文的入队列/缓存/出队列/发送操作,满足多核多线索场景的需要,实现了多核多线索场景下的流量控制管理以及报文高效发送。
采用树形存储结构,并在叶子节点上为每个报文发送线索设置一个独立的子队列,以适应多线索场景,使得多个线索可同时执行报文入队、缓存、出队列和发送操作。
具体地,在树形存储结构中,将节点分成两类,一类是支持缓存的叶子级节点,一类是不支持缓存的容器级节点,叶子级节点可以缓存报文但不能包容其他节点,容器级队列不能缓存但可以包容其他叶子级节点或容器级节点作为自己的子节点,如图2所示,为树状的限速队列结构示意图,其中,A、B为容器级节点,C、D、E、F为叶子级节点。
如图3所示,为叶子级节点的结构示意图,叶子级节点中设置有队列限制速率、时间间隔周期、最大字节数、优先级、队列状态、父节点和已发送报文字节数等信息,并为每一个线索提供独立的缓存子队列及状态标记。每个叶子级节点中包含了N个子队列,优先级用于报文出队列时的顺序选择。
如图4所示,为容器级节点的结构示意图,容器级节点中设置有队列限制速率、时间间隔周期、最大字节数、优先级、队列状态、父节点、子节点和已发送报文字节数等信息,并为每个线索提供状态标记。
具体地,队列限制速率即每秒字节数;时间间隔周期,即每间隔一定时间,清空允许通过的最大字节数,如1s(秒)允许通过100M字节,则在1s后清空进行重新计数;最大字节数含义是时间间隔周期内允许通过的字节数上限,可以通过队列限制速率和时间间隔周期计算得出;状态标记包括空、可用和不可用,当状态标记为空或可用时,可将报文缓存至对应的子队列中。
在树形结构中,每个节点的优先级是在配置节点时预先设置的,优先级可使用整形数来描述,数值越大优先级越低,并且优先级需要在创建节点时设置,之后不支持动态调整。
在上述叶子级节点和容器级节点的结构设置的基础上,该方法具体包括以下步骤:
步骤S100:入队列时,将所述报文送入对应的子队列进行缓存,并更新队列状态,所述队列为树形存储结构,包括叶子级节点和容器级节点,所述容器级节点为所述叶子级节点的父节点,所述叶子级节点包括多个用于缓存报文的子队列;
该步骤具体可以包括:
步骤S101:利用分类过滤算法确定所述报文需要缓存的叶子节点,以将所述报文存储至所述子队列;
步骤S102:判断所述子队列的标记状态是否为可用状态;
步骤S103:若否,更新所述子队列的标记状态为不可用,并追溯对应的父节点,并更改所述父节点的标记状态。
如图5所示,为分布式限速队列的入队列流程示意图。报文入队列时,首先会先通过分类过滤算法确定该报文需要缓存到哪个叶子级节点内,每个线索(相当于线程)将报文送入叶子队列中线索对应的子队列进行缓存;判断叶子队列的标记状态是否标记为由报文待发送即判断所述子队列的标记状态是否为可用状态,若为不可用状态,则将子队列的标记状态为不可用,记录子队列中的报文字节数,同时追溯父节点,并更改其对应的标记状态。
此外,对于分类过滤算法,例如可按照报文的协议、功能和地址等进行分类和确定报文需要缓存的叶子级节点和对应的子队列,在此不做任何限定。
步骤S200:出队列时,在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和父节点的状态标记。
报文出队列时,在当前叶子级节点中,若超过限制速率则丢弃当前报文,未超过限制速率直接从该队列中发送报文,在发送成功的同时,使用原子操作,更新本叶子级节点及其所有树形结构上父节点的已发送报文字节数的值。
具体地,如图6所示,为分布式限速队列的出队列流程图,该步骤具体包括:
步骤S201:判断当前节点的当前速率是否超过当前节点的限制速率;
步骤S202:如果超过,需要更新当前节点的状态标记,并追溯更新其父节点中的状态标记;
步骤S203:如果没有超过,则判断当前节点是否是容器级节点;
步骤S204:若当前节点是容器级节点,则按照优先级寻找下一个具有可用标记且优先级最高的可用子节点,回到步骤S201重新判断改子节点的速率是否超过限制速率;
步骤S205:若当前节点是叶子级节点,则从该叶子级节点的子队列中找到具有可用标记、优先级最高的子队列,从中发送一个报文,然后更新当前子队列并追溯修改父节点的已发送报文数。
如果容器队列中的所有的子队列都不能发送出报文,结束当前流程。
该方法在多核多线索的场景下,描述了一种带优先级的分布式限速队列,使多个线索能同时执行报文入队列/缓存/出队列/发送操作,实现了多核环境下的流量控制管理以及报文高效发送。
实施例2
本申请实施例提供一种分布式限速队列实现装置,如图7所示,为分布式限速队列实现装置的结构框图,该装置具体可以包括但不限于:
入队模块100,用于入队列时,将所述报文送入对应的子队列进行缓存,并更新队列状态,所述队列为树形存储结构,包括叶子级节点和容器级节点,所述容器级节点为所述叶子级节点的父节点,所述叶子级节点包括多个用于缓存报文的子队列;
出队模块200,用于出队列时,在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和对应的父节点的状态标记。
如图8所示,为另一种分布式限速队列实现装置的结构框图,其中,入队模块100包括:
存储模块101,用于利用分类过滤算法确定所述报文需要缓存的叶子节点,以将所述报文存储至所述子队列;
判断模块102,用于判断所述子队列的标记状态是否为可用状态;
第一状态标记模块103,用于若不可用,更新所述子队列的标记状态为不可用,并追溯对应的父节点,并更改所述父节点的标记状态。
出队模块200包括:
速率判断模块201:判断当前节点的当前速率是否超过当前节点的限制速率;
第二状态标记模块202:如果超过,需要更新当前节点的状态标记,并追溯更新其父节点中的状态标记;
容器节点判断模块203:如果没有超过,则判断当前节点是否是容器级节点;
查找模块204:若当前节点是容器级节点,则按照优先级寻找下一个具有可用标记且优先级最高的可用子节点,回到步骤S201重新判断改子节点的速率是否超过限制速率;
报文发送模块205:若当前节点是叶子节点,从子队列中找到具有可用标记、优先级最高的子队列,从中发送一个报文,然后更新当前节点并追溯修改父节点的已发送报文数。
本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行实施例1所述的分布式限速队列实现方法。
本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行实施例1所述的分布式限速队列实现方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种分布式限速队列实现方法,其特征在于,所述方法包括:
入队列时,将报文送入对应的子队列进行缓存,并更新队列状态,所述队列为树形存储结构,包括叶子级节点和容器级节点,所述容器级节点为所述叶子级节点的父节点,所述叶子级节点包括多个用于缓存报文的子队列;
出队列时,在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和父节点的状态标记。
2.根据权利要求1所述的分布式限速队列实现方法,其特征在于,所述将所述报文送入对应的子队列进行缓存,并更新队列状态,包括:
利用分类过滤算法确定所述报文需要缓存的叶子节点,以将所述报文存储至所述子队列;
判断所述子队列的标记状态是否为可用状态;
若否,更新所述子队列的标记状态为不可用,并追溯对应的父节点,并更改所述父节点的标记状态。
3.根据权利要求1所述的分布式限速队列实现方法,其特征在于,所述在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和父节点的状态标记,包括:
判断是否超过当前节点的限制速率;
若否,则判断是否为容器节点;
若否,则从子队列中查找优先级最高的、具有可用标记的子队列并发送报文;
更新当前子队列和对应的父节点的已发送报文数。
4.根据权利要求3所述的分布式限速队列实现方法,其特征在于,所述在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和父节点的状态标记,包括:
若超过当前节点的限制速率,则更新当前节点和父节点的队列状态标记,所述状态标记包括空、可用和不可用。
5.根据权利要求3所述的分布式限速队列实现方法,其特征在于,所述从预设的优先级最高的、具有可用标记的子队列发送报文,包括:
若所述当前节点为容器级节点,则按照优先级查找可用叶子级节点并重新判断所述叶子级节点的节点速率是否超过限制速率。
6.根据权利要求1所述的分布式限速队列实现方法,其特征在于,所述从预设的优先级最高的、具有可用标记的子队列发送报文,包括:
根据优先级数查找优先级最高的子队列,以确定所述子队列能否发送报文;
若否,则继续查找下一优先级最高的子队列,直至找到具有可用标记的子队列,并从所述子队列发送报文。
7.一种分布式限速队列实现装置,其特征在于,所述装置包括:
入队模块,用于入队列时,将报文送入对应的子队列进行缓存,并更新队列状态,所述队列为树形存储结构,包括叶子级节点和容器级节点,所述容器级节点为所述叶子级节点的父节点,所述叶子级节点包括多个用于缓存报文的子队列;
出队模块,用于出队列时,在没有超出当前节点的限制速率的情况下,从预设的优先级最高的、具有可用标记的子队列发送报文并更新当前节点和父节点的状态标记。
8.根据权利要求7所述的分布式限速队列实现装置,其特征在于,所述入队模块包括:
存储模块,用于利用分类过滤算法确定所述报文需要缓存的叶子节点,以将所述报文存储至所述子队列;
判断模块,用于判断所述子队列的标记状态是否为可用状态;
状态标记模块,用于若不可用,更新所述子队列的标记状态为不可用,并追溯对应的父节点,并更改所述父节点的标记状态。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据权利要求1至6中任一项所述的分布式限速队列实现方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至6任一项所述的分布式限速队列实现方法。
CN202111388829.XA 2021-11-22 2021-11-22 一种分布式限速队列实现方法及装置 Pending CN114035924A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111388829.XA CN114035924A (zh) 2021-11-22 2021-11-22 一种分布式限速队列实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111388829.XA CN114035924A (zh) 2021-11-22 2021-11-22 一种分布式限速队列实现方法及装置

Publications (1)

Publication Number Publication Date
CN114035924A true CN114035924A (zh) 2022-02-11

Family

ID=80145100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111388829.XA Pending CN114035924A (zh) 2021-11-22 2021-11-22 一种分布式限速队列实现方法及装置

Country Status (1)

Country Link
CN (1) CN114035924A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550280A (zh) * 2022-11-24 2022-12-30 云账户技术(天津)有限公司 多级消息队列实现方法、系统、电子设备和可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550280A (zh) * 2022-11-24 2022-12-30 云账户技术(天津)有限公司 多级消息队列实现方法、系统、电子设备和可读存储介质
CN115550280B (zh) * 2022-11-24 2023-03-31 云账户技术(天津)有限公司 多级消息队列实现方法、系统、电子设备和可读存储介质

Similar Documents

Publication Publication Date Title
CN107959636B (zh) Bgp消息的发送方法及装置
US7372857B1 (en) Methods and apparatus for scheduling tasks
US8756288B2 (en) Publish/subscribe message routing
US9128686B2 (en) Sorting
US20050097569A1 (en) Event notification in a clustered computing environments
CN107528789B (zh) 报文调度方法及装置
CN111131084B (zh) 一种QoS感知的OpenFlow流表查找方法
CN114035924A (zh) 一种分布式限速队列实现方法及装置
US20180191630A1 (en) Techniques for processor queue management
CN111124716B (zh) 一种无人机中多优先级队列消息传输方法
CN112565091A (zh) 一种报文转发方法、装置、存储介质及终端设备
US7385987B1 (en) Scheduling system and method for multi-level class hierarchy
CN111314245B (zh) 报文调度方法及装置、存储介质及电子设备
Wang et al. Per-flow queue management with succinct priority indexing structures for high speed packet scheduling
CN116615899A (zh) 确定性流传输方法及装置
CN111490972A (zh) 一种表项管理方法、装置、设备及机器可读存储介质
CN111324438A (zh) 请求的调度方法、装置、存储介质及电子设备
CN116800692B (zh) 活动队列的调度方法、装置及存储介质
US20240146664A1 (en) Efficient network device work queue
CN111131197B (zh) 一种过滤策略管理系统及其方法
US20220365815A1 (en) Sub-queue insertion schemes executable by queue managers and related systems and operations
CN108173784B (zh) 一种交换机的数据包缓存的老化方法及装置
CN115510057A (zh) 一种路由表项下发方法、装置、设备及存储介质
CN116455850A (zh) 管理流量管理tm控制信息的方法、tm模块和网络转发设备
CN117560433A (zh) Dpu中报文转发保序方法、装置、电子设备和存储介质

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