CN116431327B - 一种任务限流处理方法及堡垒机 - Google Patents
一种任务限流处理方法及堡垒机 Download PDFInfo
- Publication number
- CN116431327B CN116431327B CN202310204517.1A CN202310204517A CN116431327B CN 116431327 B CN116431327 B CN 116431327B CN 202310204517 A CN202310204517 A CN 202310204517A CN 116431327 B CN116431327 B CN 116431327B
- Authority
- CN
- China
- Prior art keywords
- task
- token
- execution
- load
- priority
- 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
- 230000000670 limiting effect Effects 0.000 title claims abstract description 158
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 81
- 230000015654 memory Effects 0.000 claims description 32
- 238000013507 mapping Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 description 17
- 238000000034 method Methods 0.000 description 17
- 239000000872 buffer Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/505—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 load
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供了一种任务限流处理方法及堡垒机,通过获取任务处理请求以及当前的限流等级;根据任务处理请求确定待处理任务的任务优先级;根据限流等级和任务优先级,判断是否能够向待处理任务分配令牌,令牌的类型包括:第一执行令牌和第二执行令牌,第一执行令牌用于允许任务执行端执行第一类任务,第二执行令牌用于允许任务执行端执行第二类任务;若待处理任务成功分配到执行令牌,则将待处理任务加入任务执行端的执行队列中进行执行处理;否则,对待处理任务进行延迟处理或丢弃处理。解决了高并发任务请求时,如何通过限流控制来提升系统稳定性的技术问题。为运算负载和缓存负载分别设置对应的令牌,更充分地发挥了系统的性能,提高资源利用率。
Description
技术领域
本申请涉及云服务技术领域,尤其涉及一种任务限流处理方法及堡垒机。
背景技术
随着互联网技术的不断发展,云服务平台已经成为了支撑企业业务发展的重要依托,但是网络安全问题也随之成为了人们所关心的热点。系统稳定性问题就是网络安全问题中重要的研究课题。
对于系统稳定性问题,在任务请求高并发的环境下,目前负载均衡技术只能解决集群入口处请求流量的均衡分配问题,不能对并发流量的总量进行控制,当系统并发总量较大时,分配给系统的集群中各个节点的流量也会过大,各服务节点受各种条件限制,无法应对高负载压力,因此,需要采取进一步的流量控制措施。
发明内容
本申请提供一种任务限流处理方法及堡垒机,以解决高并发任务请求时,如何通过限流控制来提升系统稳定性的技术问题。
第一个方面,本申请提供一种任务限流处理方法,包括:
获取任务处理请求以及当前的限流等级;
根据任务处理请求确定待处理任务的任务优先级;
根据限流等级和任务优先级,判断是否能够向待处理任务分配令牌,令牌的类型包括:第一执行令牌和第二执行令牌,第一执行令牌用于允许任务执行端执行第一类任务,第二执行令牌用于允许任务执行端执行第二类任务,第一类任务在被执行时所消耗的任务执行端的运算资源大于第二类任务,第二类任务在被执行时所消耗的任务执行端的缓存资源大于第一类任务;
若待处理任务成功分配到执行令牌,则将待处理任务加入任务执行端的执行队列中进行执行处理;否则,对待处理任务进行延迟处理或丢弃处理。
在一种可能的设计中,获取任务处理请求以及当前的限流等级,包括:
获取任务处理请求以及任务执行端的缓存负载和运算负载;
根据缓存负载和运算负载确定限流等级;
对应的,根据限流等级和任务优先级,判断是否能够向待处理任务分配令牌,包括:
根据限流等级、任务优先级以及预设的分配模式映射,确定令牌分配模式;
根据令牌分配模式、任务优先级、缓存负载和运算负载,判断是否能够向待处理任务分配令牌。
在一种可能的设计中,限流等级包括:第一限流等级和第二限流等级,第一限流等级的限流程度小于第二限流等级,任务优先级包括:高优先级、中优先级和低优先级;
根据限流等级、任务优先级以及预设的分配模式映射,确定令牌分配模式,包括:
当限流等级为第一限流等级时,高优先级对应于第一分配模式,中优先级对应于第二分配模式,低优先级对应于第三分配模式;
其中,第一分配模式包括:能够同时取得第一执行令牌和第二执行令牌;
第二分配模式包括:能够取得第一执行令牌或第二执行令牌;
第三分配模式包括:在任务执行端满足第一预设条件时,才能取得第一执行令牌或第二执行令牌,否则会被分配延迟令牌或禁止令牌,或不分配任何令牌。
在一种可能的设计中,根据限流等级、任务优先级以及预设的分配模式映射,确定令牌分配模式,还包括:
当限流等级为第二限流等级时,高优先级对应于第二分配模式,中优先级对应于第三分配模式,低优先级对应于第四分配模式;
其中,第四分配模式包括:在任务执行端满足第二预设条件时,才能取得第一执行令牌或第二执行令牌,否则不分配任何令牌并抛弃待处理任务。
在一种可能的设计中,根据令牌分配模式、任务优先级、缓存负载和运算负载,判断是否能够向待处理任务分配令牌,包括:
若限流等级为第一限流等级,任务优先级为高优先级,且令牌分配模式为第一分配模式,则将令牌桶中的一个第一执行令牌和一个第二执行令牌同时分配给待处理任务;
若限流等级为第一限流等级,任务优先级为中优先级,且令牌分配模式为第二分配模式,则根据运算负载和缓存负载之间的大小关系,向待处理任务分配第一执行令牌或第二执行令牌。
在一种可能的设计中,第一预设条件包括:运算负载小于或等于第一运算阈值,或者,缓存负载小于或等于第一缓存阈值;
对应的,根据令牌分配模式、任务优先级、缓存负载和运算负载,判断是否能够向待处理任务分配令牌,还包括:
若限流等级为第一限流等级,任务优先级为低优先级,且令牌分配模式为第三分配模式,则:
当运算负载小于或等于第一运算阈值,且缓存负载大于第一缓存阈值时,向待处理任务分配第一执行令牌;
当缓存负载小于或等于第一缓存阈值,且运算负载大于第一运算阈值时,向待处理任务分配第二执行令牌;
当运算负载小于或等于第一运算阈值,且缓存负载小于或等于第一缓存阈值时,比较运算负载和缓存负载的大小,并根据比较结果向待处理任务分配第一执行令牌或第二执行令牌。
在一种可能的设计中,根据令牌分配模式、任务优先级、缓存负载和运算负载,判断是否能够向待处理任务分配令牌,包括:
若限流等级为第二限流等级,任务优先级为高优先级,且令牌分配模式为第二分配模式,则根据运算负载和缓存负载之间的大小关系,向待处理任务分配第一执行令牌或第二执行令牌;
若限流等级为第二限流等级,任务优先级为中优先级,且令牌分配模式为第三分配模式,则:
当运算负载小于或等于第一运算阈值,且缓存负载大于第一缓存阈值时,向待处理任务分配第一执行令牌;
当缓存负载小于或等于第一缓存阈值,且运算负载大于第一运算阈值时,向待处理任务分配第二执行令牌;
当运算负载小于或等于第一运算阈值,且缓存负载小于或等于第一缓存阈值时,比较运算负载和缓存负载的大小,并根据比较结果向待处理任务分配第一执行令牌或第二执行令牌。
在一种可能的设计中,第二预设条件包括:运算负载小于或等于第二运算阈值,且缓存负载小于或等于第二缓存阈值;
对应的,根据令牌分配模式、任务优先级、缓存负载和运算负载,判断是否能够向待处理任务分配令牌,还包括:
若限流等级为第二限流等级,任务优先级为低优先级,且令牌分配模式为第四分配模式,则:
当运算负载小于或等于第二运算阈值,且缓存负载小于或等于第二缓存阈值时,比较运算负载和缓存负载的大小,并根据比较结果向待处理任务分配第一执行令牌或第二执行令牌。
第二方面,本申请提供一种堡垒机,包括:
获取模块,用于获取任务处理请求以及当前的限流等级;
限流处理模块,用于:
根据任务处理请求确定待处理任务的任务优先级;
根据限流等级和任务优先级,判断是否能够向待处理任务分配令牌,令牌的类型包括:第一执行令牌和第二执行令牌,第一执行令牌用于允许任务执行端执行第一类任务,第二执行令牌用于允许任务执行端执行第二类任务,第一类任务在被执行时所消耗的任务执行端的运算资源大于第二类任务,第二类任务在被执行时所消耗的任务执行端的缓存资源大于第一类任务;
若待处理任务成功分配到执行令牌,则将待处理任务加入任务执行端的执行队列中进行执行处理;否则,对待处理任务进行延迟处理或丢弃处理。
第三方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现第一方面所提供的任意一种可能的任务限流处理方法。
第四方面,本申请提供一种存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现第一方面所提供的任意一种可能的任务限流处理方法。
第五方面,本申请还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所提供的任意一种可能的任务限流处理方法。
本申请提供了一种任务限流处理方法及堡垒机。通过获取任务处理请求以及当前的限流等级;根据任务处理请求确定待处理任务的任务优先级;根据限流等级和任务优先级,判断是否能够向待处理任务分配令牌,令牌的类型包括:第一执行令牌和第二执行令牌,第一执行令牌用于允许任务执行端执行第一类任务,第二执行令牌用于允许任务执行端执行第二类任务,第一类任务在被执行时所消耗的任务执行端的运算资源大于第二类任务,第二类任务在被执行时所消耗的任务执行端的缓存资源大于第一类任务;若待处理任务成功分配到执行令牌,则将待处理任务加入任务执行端的执行队列中进行执行处理;否则,对待处理任务进行延迟处理或丢弃处理。解决了高并发任务请求时,如何通过限流控制来提升系统稳定性的技术问题。针对运算负载和缓存负载分别设置对应的令牌,使得限流更精细灵活,能够更充分地发挥系统的性能,提高资源利用率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种云端网络服务系统的结构示意图;
图2为本申请实施例提供的一种任务限流处理方法的流程示意图;
图3为本申请实施例提供的另一种任务限流处理方法的流程示意图;
图4为本申请实施例提供的一种堡垒机的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
实施方式
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,包括但不限于对多个实施例的组合,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着互联网技术的不断发展,云服务平台已经成为了支撑企业业务发展的重要依托,但是网络安全问题也随之成为了人们所关心的热点。系统稳定性问题就是网络安全问题中重要的研究课题。
对于系统稳定性问题,在任务请求高并发的环境下,目前负载均衡技术只能解决集群入口处请求流量的均衡分配问题,不能对并发流量的总量进行控制,当系统并发总量较大时,分配给系统的集群中各个节点的流量也会过大,各服务节点受各种条件限制,无法应对高负载压力,因此,需要采取进一步的流量控制措施。
为解决上述问题。本申请的发明构思是:
在客户端与服务端(如云端服务器或者数据库)之间增加堡垒机,由堡垒机进行身份认证和并发限流控制,以提高系统的网络安全性和运行的稳定性。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种云端网络服务系统的结构示意图。如图1所示,云端网络服务系统包括:多个客户端101、至少一个云端服务器102、至少一个堡垒机103。客户端101和云端服务器102不直接连接,而是通过堡垒机103来连接。即用户操作客户端101后所触发的各项任务都先以任务请求的形式发送给堡垒机103,然后堡垒机103通过对任务请求进行身份识别认证,确保改任务是合法操作,同时,在任务请求高并发的时候,堡垒机103能够根据本申请所提供的任务限流处理方法实施限流,确保整个云端网络服务系统的稳定性,避免因为高并发任务造成系统崩溃。只有堡垒机103分配了执行令牌的任务请求才能够被发送给云端服务器102进入执行队列中执行。
下面具体介绍堡垒机103中的任务限流处理方法。
图2为本申请实施例提供的一种任务限流处理方法的流程示意图。如图2所示,该数据处理方法的具体步骤包括:
S201、获取任务处理请求以及当前的限流等级。
在本步骤中,用户通过操作客户端发起任务处理请求,堡垒机接收此任务处理请求,并且读取当前的限流等级的标识来确定当前的限流等级。
需要说明的是,限流等级可以根据任务执行端(如云端服务器或者数据库)的缓存负载和运算负载所确定。
S202、根据任务处理请求确定待处理任务的任务优先级。
在本步骤中,任务处理请求中包括:用户身份信息和待处理任务的任务类型。用户身份信息包括用户的操作账号的认证等级,认证等级越高所对应的任务优先级越高,其对应的任务类型也就越多。例如,普通业务人员账号的认证等级就低于维护人员账号的认证等级。此外,当认证等级相同时,任务优先级就由任务类型来确定,本领域技术人员可以根据实际应用场景为不同的任务类型设置不同的任务优先级。
在本实施例中,根据任务处理请求中的用户身份信息和任务类型,查询预先设置的任务优先级映射表,就能得到对应的任务优先级。例如,将任务优先级设置为三个等级,即高优先级、中优先级和低优先级。
S203、根据限流等级和任务优先级,判断是否能够向待处理任务分配令牌。
在本实施例中,限流等级包括:零级限流、一级限流和二级限流。其中,零级限流为不限流,一级限流的限流要求低于二级限流。
当任务执行端(如云端服务器或数据库)的负载较低时,如运算负载和缓存负载均低于最低限流负载,如50%,此时堡垒机设置的限流等级为零级限流,即不限流,此时,所有任务优先级都能够立即分配到令牌,同时,从令牌桶中扣减相应的令牌数。当任务执行端的实时负载由于高并发任务增加后,堡垒机可以根据运算负载和缓存负载来设定限流等级,一级限流和二级限流分别对应不同的分配模式,即相同的任务优先级在不同限流等级中对应的令牌分配方式不同。
考虑到任务执行端的负载包括运算负载和缓存负载,为了充分发挥系统的性能,避免系统由于运算负载过高或者缓存负载过高造成系统运行缓慢或者崩溃,本申请将令牌分成多种类型,在本实施例中令牌的类型包括:第一执行令牌和第二执行令牌,第一执行令牌用于允许任务执行端(如云端服务器或数据库)执行第一类任务,第二执行令牌用于允许任务执行端执行第二类任务。
需要说明的是,第一类任务在被执行时所消耗的任务执行端的运算资源大于第二类任务,第二类任务在被执行时所消耗的任务执行端的缓存资源大于第一类任务。这样,在任务执行端的运算负载较高时,低优先级的待处理任务就无法取得第一执行令牌,并根据限流等级对其进行延迟处理或者直接丢弃,同理,在任务执行端的缓存负载较高时,低优先级的待处理任务就无法取得第二执行令牌,而中优先级或者高优先级的待处理任务,则能够根据任务类型对应获取第一执行令牌或者第二执行令牌。
可选的,令牌的类型还可以包括:禁止令牌、延迟令牌等,禁止令牌可以禁止一种或多种任务类型的待处理任务的执行,不同的延迟令牌可以对一种或多种任务类型的待处理任务延迟不同的时间,即延迟一段时间再次申请令牌,这样也能够对高并发任务起到一定的限流作用,使得限流处理的方式更加灵活。
值得注意的是,运算资源包括:CPU(central processing unit,中央处理器)资源、寄存器资源等,缓存资源包括:服务器或数据库内的内存资源、flash闪存资源等。
若待处理任务成功分配到执行令牌,则执行步骤S204,否则执行步骤S205。
S204、将待处理任务加入任务执行端的执行队列中进行执行处理。
在本步骤中,待处理任务分配到第一执行令牌时,堡垒机将其推送到任务执行端的第一执行队列中等待执行,同时扣减令牌桶中第一执行令牌的令牌数。同理,待处理任务分配到第二执行令牌时,堡垒机将其推送到任务执行端的第二执行队列中等待执行,同时扣减令牌桶中第二执行令牌的令牌数。
S205、对待处理任务进行延迟处理或丢弃处理在。
在本步骤中,当限流等级为一级限流时,对低优先级的任务做延迟处理,当限流等级为二级限流时,对低优先级的任务做丢弃处理。
本实施例提供了一种任务限流处理方法,通过获取任务处理请求以及当前的限流等级;根据任务处理请求确定待处理任务的任务优先级;根据限流等级和任务优先级,判断是否能够向待处理任务分配令牌,令牌的类型包括:第一执行令牌和第二执行令牌,第一执行令牌用于允许任务执行端执行第一类任务,第二执行令牌用于允许任务执行端执行第二类任务,第一类任务在被执行时所消耗的任务执行端的运算资源大于第二类任务,第二类任务在被执行时所消耗的任务执行端的缓存资源大于第一类任务;若待处理任务成功分配到执行令牌,则将待处理任务加入任务执行端的执行队列中进行执行处理;否则,对待处理任务进行延迟处理或丢弃处理。解决了高并发任务请求时,如何通过限流控制来提升系统稳定性的技术问题。针对运算负载和缓存负载分别设置对应的令牌,使得限流更精细灵活,能够更充分地发挥系统的性能,提高资源利用率。
图3为本申请实施例提供的另一种任务限流处理方法的流程示意图。如图3所示,该任务限流处理方法应用于堡垒机,其具体步骤包括:
S301、获取任务处理请求以及任务执行端的缓存负载和运算负载。
在本步骤中,任务执行端包括:云端服务器、数据库中的至少一种。
运算负载包括:CPU负载,在Linux系统中,CPU运行数据信息存储在“proc文件系统”中,可以通过访问/proc/stat文件获取CPU 相关数据,该文件的头几行数据分别表示每个CPU的用户态、系统态、空闲态等状态下分配的时间片信息,这些数据是从CPU通电到当前时间的累计值,可利用该文件里的统计数据来计算CPU的利用率。该文件中提供的数据有表示用户态的CPU 时间和nice值为负的进程所占用的CPU时间、核心时间、空闲时间等信息,选取两个较短的时间点,计算两个信息采集点的总时间和的差值,再用CPU空闲时间除以这个差值,即得到CPU的空闲率,进而求出对应的占用率即CPU负载即可。
缓存负载包括:内存负载,内存负载的获取方式与cpu负载的获取类似,内存运行相关信息也存储在“proc文件系统”中,在/proc/meminfo文件中存储着总内存(MemTotal)、空闲内存(MemFree)、缓冲内存(Buffers 和Cached)等信息,内存负载的计算公式如公式(1)所示:
,
其中,为内存负载,MT为总内存,MF为空闲内存,Buf和Ca均为缓冲内存。
S302、根据任务处理请求确定待处理任务的任务优先级,并根据缓存负载和运算负载确定限流等级。
在本步骤中,任务优先级包括:高优先级、中优先级和低优先级。根据任务处理请求确定任务优先级的实施方式可以参考S202,在此不再赘述。
考虑到系统的处理性能与负载压力大小密切相关,不同的请求并发量下,节点负荷量随之改变,单一且固定的流控模式对不同的并发场景适应性较差;同时,固定的限流规则的算法参数通常需要手动指定,主观性强,精确评估算法参数值较为困难,也进一步限制了算法的适应性。基于上述问题,在本实施例中,采用多级限流,能够根据负载的大小动态调整流控强度,对不同的机器、不同的并发量的场景度适应性强。
即限流等级包括:零级限流、一级限流和二级限流。其中,零级限流为不限流。在一级限流时,各个客户端的任务请求数量逐渐增加,负载和/或资源占用率较高,系统较为繁忙,少部分任务请求可能会出现响应等待时间较长甚至超时的情况。此时需要开启流控功能,对部分任务请求进行限制操作,以保证系统的稳定性。在二级限流时,请求任务数量远超出任务执行端的处理能力,机器负荷严重,系统非常繁忙,大量的任务无法及时处理,平均响应等待时间越来越长。此时需要增加流控力度,优先保证核心任务或高优先级的任务的处理,对于非核心任务,根据任务不同的优先级进行相应的限制措施,保证系统的可用性。
将缓存负载和运算负载作为各限流等级动态调整的参考条件,当服务运行过程中触发了对应等级的条件阈值后,进行相应的升降级操作。
在一种可能的设计中,若当前的限流等级为零级限流,则:
(1)当运算负载小于第一运算分界值(如65%),且缓存负载小于第一负载分界值(如70%)时,保持限流等级不变。
(2)当运算负载大于第一运算分界值(如65%),或缓存负载大于第一负载分界值(如70%)时,将限流等级提升到一级限流。
(3)当运算负载大于第二运算分界值(如90%),或缓存负载大于第二负载分界值(如90%)时,将限流等级提升到二级限流。
若当前的限流等级为一级限流,则:
(4)当运算负载大于第一运算分界值(如65%),或缓存负载大于第一负载分界值(如70%)时,保持限流等级不变。
(5)当运算负载小于第一运算分界值(如65%),且缓存负载小于第一负载分界值(如70%)时,将限流等级降到零级限流。
(6)当运算负载大于第二运算分界值(如90%),或缓存负载大于第二负载分界值(如90%)时,将限流等级提升到二级限流。
若当前的限流等级为二级限流,则:
(7)当运算负载大于第三运算分界值(如80%),或缓存负载大于第三负载分界值(如80%)时,保持限流等级不变。
(8)当运算负载小于第三运算分界值(如80%),且缓存负载小于第三负载分界值(如80%)时,将限流等级降到一级限流。
S303、根据限流等级、任务优先级以及预设的分配模式映射,确定令牌分配模式。
在本步骤中,当限流等级为第一限流等级时,高优先级对应于第一分配模式,中优先级对应于第二分配模式,低优先级对应于第三分配模式;
其中,第一分配模式包括:能够同时取得第一执行令牌和第二执行令牌;
第二分配模式包括:能够取得第一执行令牌或第二执行令牌;
第三分配模式包括:在任务执行端满足第一预设条件时,才能取得第一执行令牌或第二执行令牌,否则会被分配延迟令牌或禁止令牌,或不分配任何令牌。
在一种可能的设计中,当限流等级为第二限流等级时,高优先级对应于第二分配模式,中优先级对应于第三分配模式,低优先级对应于第四分配模式;
其中,第四分配模式包括:在任务执行端满足第二预设条件时,才能取得第一执行令牌或第二执行令牌,否则不分配任何令牌并抛弃待处理任务。
S304、根据令牌分配模式、任务优先级、缓存负载和运算负载,判断是否能够向待处理任务分配令牌。
在本步骤中,令牌的类型包括:第一执行令牌和第二执行令牌,第一执行令牌用于允许任务执行端执行第一类任务,第二执行令牌用于允许任务执行端执行第二类任务,第一类任务在被执行时所消耗的任务执行端的运算资源大于第二类任务,第二类任务在被执行时所消耗的任务执行端的缓存资源大于第一类任务。
在本实施例中:
(一)若限流等级为第一限流等级,任务优先级为高优先级,且令牌分配模式为第一分配模式,则将令牌桶中的一个第一执行令牌和一个第二执行令牌同时分配给待处理任务。
(二)若限流等级为第一限流等级,任务优先级为中优先级,且令牌分配模式为第二分配模式,则根据运算负载和缓存负载之间的大小关系,向待处理任务分配第一执行令牌或第二执行令牌。例如,比较运算负载和缓存负载的大小,当运算负载小于缓存负载时,向待处理任务分配第一执行令牌,否则任务分配第二执行令牌。
在一种可能的设计中,第一预设条件包括:运算负载小于或等于第一运算阈值,或者,缓存负载小于或等于第一缓存阈值。
对应的:
(三)若限流等级为第一限流等级,任务优先级为低优先级,且令牌分配模式为第三分配模式,则:
当运算负载小于或等于第一运算阈值(如75%),且缓存负载大于第一缓存阈值(如85%)时,向待处理任务分配第一执行令牌;
当缓存负载小于或等于第一缓存阈值(如75%),且运算负载大于第一运算阈值时(如85%),向待处理任务分配第二执行令牌;
当运算负载小于或等于第一运算阈值(如75%),且缓存负载小于或等于第一缓存阈值(如85%)时,比较运算负载和缓存负载的大小,并根据比较结果向待处理任务分配第一执行令牌或第二执行令牌。
(四)若限流等级为第二限流等级,任务优先级为高优先级,且令牌分配模式为第二分配模式,则根据运算负载和缓存负载之间的大小关系,向待处理任务分配第一执行令牌或第二执行令牌;
(五)若限流等级为第二限流等级,任务优先级为中优先级,且令牌分配模式为第三分配模式,则:
当运算负载小于或等于第一运算阈值(如75%),且缓存负载大于第一缓存阈值时,向待处理任务分配第一执行令牌;
当缓存负载小于或等于第一缓存阈值(如85%),且运算负载大于第一运算阈值(如75%)时,向待处理任务分配第二执行令牌;
当运算负载小于或等于第一运算阈值(如75%),且缓存负载小于或等于第一缓存阈值(如85%),时,比较运算负载和缓存负载的大小,并根据比较结果向待处理任务分配第一执行令牌或第二执行令牌。
在一种可能的设计中,第二预设条件包括:运算负载小于或等于第二运算阈值,且缓存负载小于或等于第二缓存阈值。
对应的:
(六)若限流等级为第二限流等级,任务优先级为低优先级,且令牌分配模式为第四分配模式,则:
当运算负载小于或等于第二运算阈值(如92%),且缓存负载小于或等于第二缓存阈值(如95%)时,比较运算负载和缓存负载的大小,并根据比较结果向待处理任务分配第一执行令牌或第二执行令牌。
当待处理任务分配到执行令牌时,继续执行S305,否则执行S306。
S305、将待处理任务加入任务执行端的执行队列中进行执行处理。
在本步骤中,待处理任务分配到第一执行令牌时,堡垒机将其推送到任务执行端的第一执行队列中等待执行,同时扣减令牌桶中第一执行令牌的令牌数。同理,待处理任务分配到第二执行令牌时,堡垒机将其推送到任务执行端的第二执行队列中等待执行,同时扣减令牌桶中第二执行令牌的令牌数。
S306、对待处理任务进行延迟处理或丢弃处理在。
在本步骤中,当限流等级为一级限流时,对低优先级的任务做延迟处理,当限流等级为二级限流时,对低优先级的任务做丢弃处理。
本实施例提供了一种任务限流处理方法,通过获取任务处理请求以及当前的限流等级;根据任务处理请求确定待处理任务的任务优先级;根据限流等级和任务优先级,判断是否能够向待处理任务分配令牌,令牌的类型包括:第一执行令牌和第二执行令牌,第一执行令牌用于允许任务执行端执行第一类任务,第二执行令牌用于允许任务执行端执行第二类任务,第一类任务在被执行时所消耗的任务执行端的运算资源大于第二类任务,第二类任务在被执行时所消耗的任务执行端的缓存资源大于第一类任务;若待处理任务成功分配到执行令牌,则将待处理任务加入任务执行端的执行队列中进行执行处理;否则,对待处理任务进行延迟处理或丢弃处理。解决了高并发任务请求时,如何通过限流控制来提升系统稳定性的技术问题。针对运算负载和缓存负载分别设置对应的令牌,使得限流更精细灵活,能够更充分地发挥系统的性能,提高资源利用率。
图4为本申请实施例提供的一种堡垒机的结构示意图。该堡垒机400可以通过软件、硬件或者两者的结合实现。
如图4所示,该堡垒机400包括:
获取模块401,获取任务处理请求以及当前的限流等级;
处理模块402,用于:
根据任务处理请求确定待处理任务的任务优先级;
根据限流等级和任务优先级,判断是否能够向待处理任务分配令牌,令牌的类型包括:第一执行令牌和第二执行令牌,第一执行令牌用于允许任务执行端执行第一类任务,第二执行令牌用于允许任务执行端执行第二类任务,第一类任务在被执行时所消耗的任务执行端的运算资源大于第二类任务,第二类任务在被执行时所消耗的任务执行端的缓存资源大于第一类任务;
若待处理任务成功分配到执行令牌,则将待处理任务加入任务执行端的执行队列中进行执行处理;否则,对待处理任务进行延迟处理或丢弃处理。
在一种可能的设计中,获取模块401,用于获取任务处理请求以及任务执行端的缓存负载和运算负载;
处理模块402,用于:
根据缓存负载和运算负载确定限流等级;
根据限流等级、任务优先级以及预设的分配模式映射,确定令牌分配模式;
根据令牌分配模式、任务优先级、缓存负载和运算负载,判断是否能够向待处理任务分配令牌。
在一种可能的设计中,限流等级包括:第一限流等级和第二限流等级,第一限流等级的限流程度小于第二限流等级,任务优先级包括:高优先级、中优先级和低优先级;对应的,处理模块402,用于:
当限流等级为第一限流等级时,高优先级对应于第一分配模式,中优先级对应于第二分配模式,低优先级对应于第三分配模式;
其中,第一分配模式包括:能够同时取得第一执行令牌和第二执行令牌;
第二分配模式包括:能够取得第一执行令牌或第二执行令牌;
第三分配模式包括:在任务执行端满足第一预设条件时,才能取得第一执行令牌或第二执行令牌,否则会被分配延迟令牌或禁止令牌,或不分配任何令牌。
在一种可能的设计中,处理模块402,还用于:
当限流等级为第二限流等级时,高优先级对应于第二分配模式,中优先级对应于第三分配模式,低优先级对应于第四分配模式;
其中,第四分配模式包括:在任务执行端满足第二预设条件时,才能取得第一执行令牌或第二执行令牌,否则不分配任何令牌并抛弃待处理任务。
在一种可能的设计中,处理模块402,用于:
若限流等级为第一限流等级,任务优先级为高优先级,且令牌分配模式为第一分配模式,则将令牌桶中的一个第一执行令牌和一个第二执行令牌同时分配给待处理任务;
若限流等级为第一限流等级,任务优先级为中优先级,且令牌分配模式为第二分配模式,则根据运算负载和缓存负载之间的大小关系,向待处理任务分配第一执行令牌或第二执行令牌。
在一种可能的设计中,第一预设条件包括:运算负载小于或等于第一运算阈值,或者,缓存负载小于或等于第一缓存阈值;对应的,模块402,用于:
若限流等级为第一限流等级,任务优先级为低优先级,且令牌分配模式为第三分配模式,则:
当运算负载小于或等于第一运算阈值,且缓存负载大于第一缓存阈值时,向待处理任务分配第一执行令牌;
当缓存负载小于或等于第一缓存阈值,且运算负载大于第一运算阈值时,向待处理任务分配第二执行令牌;
当运算负载小于或等于第一运算阈值,且缓存负载小于或等于第一缓存阈值时,比较运算负载和缓存负载的大小,并根据比较结果向待处理任务分配第一执行令牌或第二执行令牌。
在一种可能的设计中,处理模块402,用于:
若限流等级为第二限流等级,任务优先级为高优先级,且令牌分配模式为第二分配模式,则根据运算负载和缓存负载之间的大小关系,向待处理任务分配第一执行令牌或第二执行令牌;
若限流等级为第二限流等级,任务优先级为中优先级,且令牌分配模式为第三分配模式,则:
当运算负载小于或等于第一运算阈值,且缓存负载大于第一缓存阈值时,向待处理任务分配第一执行令牌;
当缓存负载小于或等于第一缓存阈值,且运算负载大于第一运算阈值时,向待处理任务分配第二执行令牌;
当运算负载小于或等于第一运算阈值,且缓存负载小于或等于第一缓存阈值时,比较运算负载和缓存负载的大小,并根据比较结果向待处理任务分配第一执行令牌或第二执行令牌。
值得说明的是,图4所示实施例提供的堡垒机,可以执行上述任一方法实施例中所提供的方法,其具体实现原理、技术特征、专业名词解释以及技术效果类似,在此不再赘述。
图5为本申请实施例提供的一种电子设备的结构示意图。如图5所示,该电子设备500,可以包括:至少一个处理器501和存储器502。图5示出的是以一个处理器为例的装置。
存储器502,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器502可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器501用于执行存储器502存储的计算机执行指令,以实现以上各方法实施例所述的方法。
其中,处理器501可能是一个中央处理器(central processing unit,简称为CPU),或者是特定集成电路(application specific integrated circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。当所述存储器502是独立于处理器501之外的器件时,所述电子设备500,还可以包括:
总线503,用于连接所述处理器501以及所述存储器502。总线可以是工业标准体系结构(industry standard architecture,简称为ISA)总线、外部设备互连(peripheralcomponent, PCI)总线或扩展工业标准体系结构(extended industry standardarchitecture, EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器502和处理器501集成在一块芯片上实现,则存储器502和处理器501可以通过内部接口完成通信。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(read-only memory ,ROM)、随机存取存储器(randomaccess memory,RAM)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述各方法实施例中的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由本申请的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (6)
1.一种任务限流处理方法,其特征在于,包括:
获取任务处理请求以及当前的限流等级;
根据所述任务处理请求确定待处理任务的任务优先级;
根据所述限流等级和所述任务优先级,判断是否能够向所述待处理任务分配令牌,所述令牌的类型包括:第一执行令牌和第二执行令牌,所述第一执行令牌用于允许任务执行端执行第一类任务,所述第二执行令牌用于允许所述任务执行端执行第二类任务,所述第一类任务在被执行时所消耗的所述任务执行端的运算资源大于所述第二类任务,所述第二类任务在被执行时所消耗的所述任务执行端的缓存资源大于所述第一类任务;
若所述待处理任务成功分配到所述执行令牌,则将所述待处理任务加入所述任务执行端的执行队列中进行执行处理;否则,对所述待处理任务进行延迟处理或丢弃处理;
获取所述任务处理请求以及所述任务执行端的缓存负载和运算负载;
根据所述缓存负载和所述运算负载确定所述限流等级;
对应的,所述根据所述限流等级和所述任务优先级,判断是否能够向所述待处理任务分配令牌,包括:
根据所述限流等级、所述任务优先级以及预设的分配模式映射,确定令牌分配模式;
根据所述令牌分配模式、所述任务优先级、所述缓存负载和所述运算负载,判断是否能够向所述待处理任务分配令牌;
所述限流等级包括:第一限流等级和第二限流等级,所述第一限流等级的限流程度小于所述第二限流等级,所述任务优先级包括:高优先级、中优先级和低优先级;
所述根据所述限流等级、所述任务优先级以及预设的分配模式映射,确定令牌分配模式,包括:
当所述限流等级为所述第一限流等级时,所述高优先级对应于第一分配模式,所述中优先级对应于第二分配模式,所述低优先级对应于第三分配模式;
其中,所述第一分配模式包括:能够同时取得所述第一执行令牌和所述第二执行令牌;
所述第二分配模式包括:能够取得所述第一执行令牌或所述第二执行令牌;
所述第三分配模式包括:在所述任务执行端满足第一预设条件时,才能取得所述第一执行令牌或所述第二执行令牌,否则会被分配延迟令牌或禁止令牌,或不分配任何令牌;
所述根据所述令牌分配模式、所述任务优先级、所述缓存负载和所述运算负载,判断是否能够向所述待处理任务分配令牌,包括:
若所述限流等级为所述第一限流等级,所述任务优先级为所述高优先级,且所述令牌分配模式为所述第一分配模式,则将令牌桶中的一个第一执行令牌和一个第二执行令牌同时分配给所述待处理任务;
若所述限流等级为所述第一限流等级,所述任务优先级为所述中优先级,且所述令牌分配模式为所述第二分配模式,则根据所述运算负载和所述缓存负载之间的大小关系,向所述待处理任务分配所述第一执行令牌或所述第二执行令牌;
所述第一预设条件包括:所述运算负载小于或等于第一运算阈值,或者,所述缓存负载小于或等于第一缓存阈值;
对应的,所述根据所述令牌分配模式、所述任务优先级、所述缓存负载和所述运算负载,判断是否能够向所述待处理任务分配令牌,还包括:
若所述限流等级为所述第一限流等级,所述任务优先级为所述低优先级,且所述令牌分配模式为所述第三分配模式,则:
当所述运算负载小于或等于所述第一运算阈值,且所述缓存负载大于所述第一缓存阈值时,向所述待处理任务分配所述第一执行令牌;
当所述缓存负载小于或等于所述第一缓存阈值,且所述运算负载大于所述第一运算阈值时,向所述待处理任务分配所述第二执行令牌;
当所述运算负载小于或等于第一运算阈值,且所述缓存负载小于或等于第一缓存阈值时,比较所述运算负载和所述缓存负载的大小,并根据比较结果向所述待处理任务分配所述第一执行令牌或所述第二执行令牌。
2.根据权利要求1所述的任务限流处理方法,其特征在于,所述根据所述限流等级、所述任务优先级以及预设的分配模式映射,确定令牌分配模式,还包括:
当所述限流等级为所述第二限流等级时,所述高优先级对应于所述第二分配模式,所述中优先级对应于所述第三分配模式,所述低优先级对应于第四分配模式;
其中,所述第四分配模式包括:在所述任务执行端满足第二预设条件时,才能取得所述第一执行令牌或所述第二执行令牌,否则不分配任何令牌并抛弃所述待处理任务。
3.根据权利要求1所述的任务限流处理方法,其特征在于,所述根据所述令牌分配模式、所述任务优先级、所述缓存负载和所述运算负载,判断是否能够向所述待处理任务分配令牌,包括:
若所述限流等级为所述第二限流等级,所述任务优先级为所述高优先级,且所述令牌分配模式为所述第二分配模式,则根据所述运算负载和所述缓存负载之间的大小关系,向所述待处理任务分配所述第一执行令牌或所述第二执行令牌;
若所述限流等级为所述第二限流等级,所述任务优先级为所述中优先级,且所述令牌分配模式为所述第三分配模式,则:
当所述运算负载小于或等于第一运算阈值,且所述缓存负载大于所述第一缓存阈值时,向所述待处理任务分配所述第一执行令牌;
当所述缓存负载小于或等于所述第一缓存阈值,且所述运算负载大于所述第一运算阈值时,向所述待处理任务分配所述第二执行令牌;
当所述运算负载小于或等于第一运算阈值,且所述缓存负载小于或等于第一缓存阈值时,比较所述运算负载和所述缓存负载的大小,并根据比较结果向所述待处理任务分配所述第一执行令牌或所述第二执行令牌。
4.根据权利要求3所述的任务限流处理方法,其特征在于,第二预设条件包括:所述运算负载小于或等于第二运算阈值,且所述缓存负载小于或等于第二缓存阈值;
对应的,所述根据所述令牌分配模式、所述任务优先级、所述缓存负载和所述运算负载,判断是否能够向所述待处理任务分配令牌,还包括:
若所述限流等级为所述第二限流等级,所述任务优先级为所述低优先级,且所述令牌分配模式为第四分配模式,则:
当所述运算负载小于或等于所述第二运算阈值,且所述缓存负载小于或等于所述第二缓存阈值时,比较所述运算负载和所述缓存负载的大小,并根据比较结果向所述待处理任务分配所述第一执行令牌或所述第二执行令牌。
5.一种堡垒机,其特征在于,包括:
获取模块,用于获取任务处理请求以及当前的限流等级;
限流处理模块,用于:
根据所述任务处理请求确定待处理任务的任务优先级;
根据所述限流等级和所述任务优先级,判断是否能够向所述待处理任务分配令牌,所述令牌的类型包括:第一执行令牌和第二执行令牌,所述第一执行令牌用于允许任务执行端执行第一类任务,所述第二执行令牌用于允许所述任务执行端执行第二类任务,所述第一类任务在被执行时所消耗的所述任务执行端的运算资源大于所述第二类任务,所述第二类任务在被执行时所消耗的所述任务执行端的缓存资源大于所述第一类任务;
若所述待处理任务成功分配到所述执行令牌,则将所述待处理任务加入所述任务执行端的执行队列中进行执行处理;否则,对所述待处理任务进行延迟处理或丢弃处理;
获取所述任务处理请求以及所述任务执行端的缓存负载和运算负载;
根据所述缓存负载和所述运算负载确定所述限流等级;
对应的,所述根据所述限流等级和所述任务优先级,判断是否能够向所述待处理任务分配令牌,包括:
根据所述限流等级、所述任务优先级以及预设的分配模式映射,确定令牌分配模式;
根据所述令牌分配模式、所述任务优先级、所述缓存负载和所述运算负载,判断是否能够向所述待处理任务分配令牌;
所述限流等级包括:第一限流等级和第二限流等级,所述第一限流等级的限流程度小于所述第二限流等级,所述任务优先级包括:高优先级、中优先级和低优先级;
所述根据所述限流等级、所述任务优先级以及预设的分配模式映射,确定令牌分配模式,包括:
当所述限流等级为所述第一限流等级时,所述高优先级对应于第一分配模式,所述中优先级对应于第二分配模式,所述低优先级对应于第三分配模式;
其中,所述第一分配模式包括:能够同时取得所述第一执行令牌和所述第二执行令牌;
所述第二分配模式包括:能够取得所述第一执行令牌或所述第二执行令牌;
所述第三分配模式包括:在所述任务执行端满足第一预设条件时,才能取得所述第一执行令牌或所述第二执行令牌,否则会被分配延迟令牌或禁止令牌,或不分配任何令牌;
所述根据所述令牌分配模式、所述任务优先级、所述缓存负载和所述运算负载,判断是否能够向所述待处理任务分配令牌,包括:
若所述限流等级为所述第一限流等级,所述任务优先级为所述高优先级,且所述令牌分配模式为所述第一分配模式,则将令牌桶中的一个第一执行令牌和一个第二执行令牌同时分配给所述待处理任务;
若所述限流等级为所述第一限流等级,所述任务优先级为所述中优先级,且所述令牌分配模式为所述第二分配模式,则根据所述运算负载和所述缓存负载之间的大小关系,向所述待处理任务分配所述第一执行令牌或所述第二执行令牌;
所述第一预设条件包括:所述运算负载小于或等于第一运算阈值,或者,所述缓存负载小于或等于第一缓存阈值;
对应的,所述根据所述令牌分配模式、所述任务优先级、所述缓存负载和所述运算负载,判断是否能够向所述待处理任务分配令牌,还包括:
若所述限流等级为所述第一限流等级,所述任务优先级为所述低优先级,且所述令牌分配模式为所述第三分配模式,则:
当所述运算负载小于或等于所述第一运算阈值,且所述缓存负载大于所述第一缓存阈值时,向所述待处理任务分配所述第一执行令牌;
当所述缓存负载小于或等于所述第一缓存阈值,且所述运算负载大于所述第一运算阈值时,向所述待处理任务分配所述第二执行令牌;
当所述运算负载小于或等于第一运算阈值,且所述缓存负载小于或等于第一缓存阈值时,比较所述运算负载和所述缓存负载的大小,并根据比较结果向所述待处理任务分配所述第一执行令牌或所述第二执行令牌。
6.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至4任一项所述的任务限流处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310204517.1A CN116431327B (zh) | 2023-03-06 | 2023-03-06 | 一种任务限流处理方法及堡垒机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310204517.1A CN116431327B (zh) | 2023-03-06 | 2023-03-06 | 一种任务限流处理方法及堡垒机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116431327A CN116431327A (zh) | 2023-07-14 |
CN116431327B true CN116431327B (zh) | 2023-11-07 |
Family
ID=87089778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310204517.1A Active CN116431327B (zh) | 2023-03-06 | 2023-03-06 | 一种任务限流处理方法及堡垒机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431327B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740076A (zh) * | 2016-01-30 | 2016-07-06 | 华为技术有限公司 | 一种负载均衡方法及装置 |
CN110062027A (zh) * | 2019-03-18 | 2019-07-26 | 中科恒运股份有限公司 | 负载均衡方法、中心服务器及终端设备 |
CN112528262A (zh) * | 2020-12-10 | 2021-03-19 | 平安科技(深圳)有限公司 | 基于令牌的应用程序访问方法、装置、介质及电子设备 |
CN114844835A (zh) * | 2022-07-04 | 2022-08-02 | 眉山环天智慧科技有限公司 | 一种自适应动态限流方法、设备 |
CN115022245A (zh) * | 2021-03-05 | 2022-09-06 | 腾讯科技(深圳)有限公司 | 一种数据传输的方法、相关装置、设备以及存储介质 |
CN115190078A (zh) * | 2022-06-28 | 2022-10-14 | 上海砾阳软件有限公司 | 一种访问流量控制方法、装置、设备以及存储介质 |
CN115378879A (zh) * | 2022-08-22 | 2022-11-22 | Oppo广东移动通信有限公司 | 数据控制方法及相关装置 |
CN115396377A (zh) * | 2022-07-29 | 2022-11-25 | 天翼云科技有限公司 | 对象存储的服务质量优化方法、装置、设备及存储介质 |
CN115604191A (zh) * | 2021-06-28 | 2023-01-13 | 腾讯科技(深圳)有限公司(Cn) | 业务流量控制方法、装置、电子设备及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8000235B2 (en) * | 2008-10-05 | 2011-08-16 | Contextream Ltd. | Bandwidth allocation method and apparatus |
-
2023
- 2023-03-06 CN CN202310204517.1A patent/CN116431327B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740076A (zh) * | 2016-01-30 | 2016-07-06 | 华为技术有限公司 | 一种负载均衡方法及装置 |
CN110062027A (zh) * | 2019-03-18 | 2019-07-26 | 中科恒运股份有限公司 | 负载均衡方法、中心服务器及终端设备 |
CN112528262A (zh) * | 2020-12-10 | 2021-03-19 | 平安科技(深圳)有限公司 | 基于令牌的应用程序访问方法、装置、介质及电子设备 |
CN115022245A (zh) * | 2021-03-05 | 2022-09-06 | 腾讯科技(深圳)有限公司 | 一种数据传输的方法、相关装置、设备以及存储介质 |
CN115604191A (zh) * | 2021-06-28 | 2023-01-13 | 腾讯科技(深圳)有限公司(Cn) | 业务流量控制方法、装置、电子设备及可读存储介质 |
CN115190078A (zh) * | 2022-06-28 | 2022-10-14 | 上海砾阳软件有限公司 | 一种访问流量控制方法、装置、设备以及存储介质 |
CN114844835A (zh) * | 2022-07-04 | 2022-08-02 | 眉山环天智慧科技有限公司 | 一种自适应动态限流方法、设备 |
CN115396377A (zh) * | 2022-07-29 | 2022-11-25 | 天翼云科技有限公司 | 对象存储的服务质量优化方法、装置、设备及存储介质 |
CN115378879A (zh) * | 2022-08-22 | 2022-11-22 | Oppo广东移动通信有限公司 | 数据控制方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
基于负载均衡和服务流控的高并发访问机制的研究;张金鹏;《中国优秀硕士学位论文全文数据库信息科技辑》;第4章 * |
Also Published As
Publication number | Publication date |
---|---|
CN116431327A (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352736A (zh) | 大数据资源的调度方法、装置、服务器及存储介质 | |
CN109981702B (zh) | 一种文件存储方法及系统 | |
CN111488135A (zh) | 高并发系统的限流方法、装置、存储介质及设备 | |
US20070089114A1 (en) | Real time scheduling system for operating system | |
CN111597040A (zh) | 一种资源分配方法、装置、存储介质和电子设备 | |
CN113327053A (zh) | 任务处理方法及装置 | |
CN110838987B (zh) | 队列限流方法、存储介质 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN116431327B (zh) | 一种任务限流处理方法及堡垒机 | |
CN112948113A (zh) | 一种集群资源管理调度方法、装置、设备及可读存储介质 | |
CN116881003A (zh) | 资源分配方法、装置、服务设备及存储介质 | |
CN115904671B (zh) | 一种边缘计算环境下的任务调度方法、装置、设备及介质 | |
CN114327862B (zh) | 一种内存分配方法、装置、电子设备及存储介质 | |
CN116360994A (zh) | 分布式异构资源池的调度方法、装置、服务器及存储介质 | |
CN114675973A (zh) | 资源管理方法、设备、存储介质及程序产品 | |
CN109062707B (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN110727400A (zh) | 用于分布式存储系统的流量控制方法、装置、设备和介质 | |
CN115914236B (zh) | 存储空间的分配调整方法、装置、电子设备及存储介质 | |
CN111767148B (zh) | 一种基于多核dsp的嵌入式系统资源管理方法 | |
CN115586957B (zh) | 一种任务调度系统、方法、装置及电子设备 | |
CN117785486B (zh) | 环境资源调配方法、装置、设备和介质 | |
CN111831390B (zh) | 服务器的资源管理方法、装置及服务器 | |
US20230354101A1 (en) | Resource allocation device, resource allocation method, and control circuit | |
CN118227351A (zh) | 一种任务队列的消费方法、装置、电子设备及存储介质 | |
CN108255601A (zh) | 一种分配llc资源的方法及装置 |
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 |