CN111796938A - 集群动态并发控制方法及装置 - Google Patents
集群动态并发控制方法及装置 Download PDFInfo
- Publication number
- CN111796938A CN111796938A CN202010613359.1A CN202010613359A CN111796938A CN 111796938 A CN111796938 A CN 111796938A CN 202010613359 A CN202010613359 A CN 202010613359A CN 111796938 A CN111796938 A CN 111796938A
- Authority
- CN
- China
- Prior art keywords
- concurrency
- script
- acquisition
- data
- acquiring
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000013515 script Methods 0.000 claims abstract description 83
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- 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/5013—Request control
-
- 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/506—Constraint
-
- 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/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种集群动态并发控制方法及装置,方法包括:获取设置的脚本采集策略;根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据;利用轻量级脚本语言根据采集的并发数据进行并发控制。本发明提供的集群动态并发控制方法及装置,基于高性能web接入层技术,通过在web接入层嵌入轻量级脚本语言lua,能够针对集群整体,对接入并发量进行实时并发控制,获取并发阈值,根据当前资源数是否达到阈值上限,来调整对请求的限流与否。
Description
技术领域
本发明涉及数据处理技术,具体的讲是一种集群动态并发控制方法及装置。
背景技术
web接入层主要负责反向代理工作,现有技术中,通常在这一层进行负载均衡,分担并发压力,常见的web接入层产品有nginx、haproxy、F5等。并发控制指的是对web接入层接入的接口进行统计,并将请求数据上报到服务端做计算和分析,为运维人员调整运维策略做参考。由于集群动态并发控制对系统的自动化水平要求较高,因此,往往在后端应用服务器上进行监控。
在应用服务器进行并发控制,意味着接口并发控制逻辑需要侵入应用侧的代码,如果并发控制逻辑频繁调整,则需要频繁的重新部署应用节点,通常需要通过停机重启的方式进行,影响系统的整体连续性。并且在应用侧统计并发数据事实上并不准确,因为在web接入层往往已经做过一层接口过滤。此外,通常的并发控制往往只在单机,而实际的业务中,接口请求并发控制往往需要上升到集群整体级别,也就是对应用服务器整体进行限流。例如,如果不同用户发起相同请求,并发存取装置会对请求做统计,若并发量达到并发控制上限,请求在达到应用服务器之前就会被拒绝,运维人员就可以据此对并发量整体在侵入应用服务器之前就对其控制。
在这种背景下,如何在保证系统连续性的前提下,从集群整体角度准确控制web系统的接入并发量,业界没有技术方案。
发明内容
为了弥补现有接入并发控制方案在侵入性、连续性、创新性方面的不足,本发明提供了一种集群动态并发控制方法,方法包括:
获取设置的脚本采集策略;
根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据;
利用轻量级脚本语言根据采集的并发数据进行并发控制。
本发明实施例中,所述的脚本采集策略包括:采集粒度、接口列表及参数列表。
本发明实施例中,所述根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据包括:
将利用轻量级脚本语言lua实现采集脚本嵌入到web接入层服务器;
根据所述脚本采集策略利用所述采集脚本采集并发数据。
本发明实施例中,所述的利用轻量级脚本语言根据采集的并发数据进行并发控制包括:
接收采集的并发数据;
获取接口的并发量阈值;
根据所述并发数据和并发量阈值确定是否超出阈值;
确定超出阈值时,利用轻量级脚本语言对所述并发数据进行限流控制。
本发明实施例中,所述的获取设置的脚本采集策略包括:
设置定时采集时间;
根据定时采集时间获取设置的脚本采集策略。
同时,本发明还提供一种集群动态并发控制装置,包括:
策略获取模块,用于获取设置的脚本采集策略;
并发数据采集模块,用于根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据;
并发控制模块,用于利用轻量级脚本语言根据采集的并发数据进行并发控制。
本发明实施例中,所述并发数据采集模块包括:
脚本嵌入单元,用于将利用轻量级脚本语言lua实现采集脚本嵌入到web接入层服务器;
数据采集单元,用于根据所述脚本采集策略利用所述采集脚本采集并发数据。
本发明实施例中,所述的并发控制模块包括:
数据接收单元,用于接收采集的并发数据;
阈值获取单元,用于获取接口的并发量阈值;
判断单元,用于根据所述并发数据和并发量阈值确定是否超出阈值;
限流单元,用于确定超出阈值时,利用轻量级脚本语言对所述并发数据进行限流控制。
本发明实施例中,所述的策略获取模块包括:
定时单元,用于设置定时采集时间;
策略采集单元,用于根据定时采集时间获取设置的脚本采集策略。
同时,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法。
同时,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述方法的计算机程序。
本发明提供的集群动态并发控制方法及装置,基于高性能web接入层技术,通过在web接入层嵌入轻量级脚本语言lua,能够针对集群整体,对接入并发量进行实时并发控制,获取并发阈值,根据当前资源数是否达到阈值上限,来调整对请求的限流与否。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种集群动态并发控制方法的流程图;
图2为本发明实施例中的系统框图
图3为本发明实施例中的框图;
图4为本发明实施例中的框图;
图5为本发明实施例中的框图;
图6为本发明实施例中的框图;
图7为本发明实施例中的框图;
图8为本发明实施例中的流程图;
图9为本发明提供的集群动态并发控制的框图;
图10为本发明实施例中提供的电子设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供一种集群动态并发控制方法,如图1所示,该方法包括:
步骤S001,获取设置的脚本采集策略;
步骤S002,根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据;
步骤S003,利用轻量级脚本语言根据采集的并发数据进行并发控制。
本发明实施例中,所述的脚本采集策略包括:采集粒度、接口列表及参数列表。
本发明实施例中,所述根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据包括:
将利用轻量级脚本语言lua实现采集脚本嵌入到web接入层服务器;
根据所述脚本采集策略利用所述采集脚本采集并发数据。
即本发明实施例提供的并发控制方法,基于高性能web接入层技术,通过在web接入层嵌入轻量级脚本语言lua,将采集脚本嵌入到web接入层服务器nginx,对接入并发量进行实时并发控制。
另外,本发明实施例中,利用轻量级脚本语言根据采集的并发数据进行并发控制包括:
接收采集的并发数据;
获取接口的并发量阈值;
根据所述并发数据和并发量阈值确定是否超出阈值;
确定超出阈值时,利用轻量级脚本语言对所述并发数据进行限流控制。
所述的获取设置的脚本采集策略包括:
设置定时采集时间;
根据定时采集时间获取设置的脚本采集策略。
即本发明实施例中,定时获取并发阈值,再从并发存取装置获得当前资源数,根据当前资源数是否达到上限,来调整对请求的限流与否。
下面结合一具体的实施例对本发明技术方案作进一步详细说明如下:
如图2所示,是本实施例中提供的集群动态并发控制装置的结构图,其包括:规则拉取装置1、限流装置2、并发存取装置3、并发释放装置4、规则管理装置5。
规则管理装置5与规则拉取装置1相连,规则拉取装置1与限流装置2相连,限流装置2与并发存取装置3相连,并发存取装置3与并发释放装置4相连。
本实施例中,规则拉取装置1:通过定时装置设置的定时参数从服务端获取限流并发阈值,使用轻量级脚本语言lua编写脚本,使用获取到的并发阈值作为变量。
限流装置2:通过轻量级脚本语言lua编写脚本,嵌入到nginx服务器,对超出并发数的接口请求进行限流。
并发存取装置3:使用redis对当前并发量进行存取,最大值为最大并发量。
并发释放装置4:对http响应进行分析,并且释放资源,并发量做相应减少。
图3是本实施例中规则拉取装置1的框图,如图3所示,规则拉取装置1包括:并发量采集单元11、数据归集单元12、数据上报单元13,其中:
本实施例中,并发量采集单元11:利用web接入层Nginx的set_by_lua_file命令,将采集脚本嵌入web服务器采集并发数据。
本发明实施例中利用web接入层Nginx的set_by_lua_file命令,将采集脚本嵌入web服务器采集并发数据,能够实现在脚本更新时,Nginx无需停机重启,只需重新加载即可。并且脚本非常轻量,通常为kb级别。本实施例提供的采集脚本能够采集系统的整体并发量,也可以采集指定接口的并发量数据。本实施例中的采集策略包括:采集粒度、接口列表、参数列表等,通过在脚本中实现定时器,定时访问规则管理装置5获取。
数据归集单元12:将并发量采集单元11采集到的并发量数据存储到nginx提供的共享内存ngx.shared.dict中,以接口URI作为key进行归集,每个key在共享内存中申请分配一块区域。本实施例中,考虑并发量数据统计的原子性,通过引入开源技术openresty的非阻塞锁lua-resty-lock,实现请求数量统计的原子性,保证在并发访问时统计数字的准确性。
数据上报单元13:使用lua脚本定时(每分钟)通过http协议将该段时间内的监控数据上报到限流装置2。
图4是本实施例中限流装置2内部结构示意图,如图4所示,限流装置2包括:并发量限流单元21、数据上报单元22、数据获取单元23,其中:
并发量限流单元21:利用web接入层Nginx的access_by_lua_file命令,对超出的并发量进行验证并且限制。
数据上报单元22:通过redis将采集到的并发量数据上报到并发存取装置3,使用hset命令对数据并发量进行存储
数据获取单元23:通过hget命令从redis中获取相应接口的value,并判断是否超出阈值
图5是本发明中并发存取装置3的内部结构示意图,如图5所示,并发存取装置3包括:数据接收单元31、数据传递单元32,其中:
数据接收单元31:通过使用redis,接受限流装置2发起的hset命令请求,利用hset命令则会对redis中存储的并发量进行操作,使用接口作为key,对并发量进行设置更新,若超出阈值,则拒绝变更value
数据传递单元32:通过使用redis,若限流装置2发起hget请求,利用hget请求则会对redis中存储的并发量进行获取,根据接口,查找对应接口的并发量,并且返回给限流装置2。
图6是本实施例中并发释放装置4的内部结构示意图,并发释放装置4包括数据上报单元41,其中:
数据上报单元41:使用lua脚本,对应用服务器集群的响应进行收集,根据接口,将redis对应的并发量进行修改
图7是本实施例中规则管理装置5的内部结构示意图,如图7所示,规则管理装置5包括:策略管理单元51、可视化展示单元52;其中,
策略管理单元51:由运维人员管理并发量采集策略,包括采集粒度、接口列表、参数列表等,并发量采集单元11定时向策略管理单元51拉取最新的采集策略。
可视化展示单元52:使用前端可视化组件,对历史数据进行可视化展示,给运维人员提供依据。
如图8所示,为利用本发明实施例提供的集群动态并发控制装置实现web接入层轻量级集群动态并发控制方法的流程图,其步骤如下:
步骤S101:规则拉取装置1定时从规则管理装置5中拉取采集策略,并根据采集策略采集接口的访问量。
步骤S102:规则拉取装置1通过调用数据上报单元13提供的http接口,将采集的并发数据发送给限流装置2。
步骤S103:限流装置2将并发数据通过redis将用户的请求接口上报到并发存取装置3,并且将拉取最新的并发量,更新到脚本,若当前接口请求数量超过脚本设置接口请求的阈值,则对对应接口进行并发控制。
步骤S104:并发存取装置3接收从限流装置2上报的数据,并对接口并发量的数值进行更新,返回最新的数据给并发存取装置3。
步骤S105:并发释放装置4对应用服务器集群http响应进行收集,并上报给并发存取装置3对并发进行控制。
本实施例基于高性能web接入层技术nginx,通过在web接入层嵌入轻量级脚本语言lua,实现一种装置,该装置能够针对集群整体,对接入并发量进行实时并发控制,定时从规则拉取装置获取并发阈值,再从并发存取装置获得当前资源数,根据当前资源数是否达到上限,来调整对请求的限流与否。
本发明实施例还提供一种集群动态并发控制装置,如图9所示,包括:
策略获取模块901,用于获取设置的脚本采集策略;
并发数据采集模块902,用于根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据;
并发控制模块903,用于利用轻量级脚本语言根据采集的并发数据进行并发控制。
本发明实施例中,所述并发数据采集模块902包括:
脚本嵌入单元,用于将利用轻量级脚本语言lua实现采集脚本嵌入到web接入层服务器;
数据采集单元,用于根据所述脚本采集策略利用所述采集脚本采集并发数据。
本发明实施例中,所述的并发控制模块包括:
数据接收单元,用于接收采集的并发数据;
阈值获取单元,用于获取接口的并发量阈值;
判断单元,用于根据所述并发数据和并发量阈值确定是否超出阈值;
限流单元,用于确定超出阈值时,利用轻量级脚本语言对所述并发数据进行限流控制。
本发明实施例中,所述的策略获取模块包括:
定时单元,用于设置定时采集时间;
策略采集单元,用于根据定时采集时间获取设置的脚本采集策略。
为了弥补现有接入并发控制方案在侵入性、连续性、合理性方面的不足,本发明实施例提出了一种基于轻量级脚本语言的web接入层集群动态并发控制装置及方法,本方案具有如下有点:
无侵入:集群并发控制逻辑通过轻量级脚本方式提供,对后端应用服务器无侵入,业务无感。
连续性:集群并发控制逻辑调整无需重启服务器,实时生效。并且,集群并发控制是对集群整体的并发量进行限制,而不是针对单机服务器,之前有需求但是没有技术方案。
本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照前述方法及装置的实施例,其内容被合并于此,重复之处不再赘述。
图10为本发明实施例的电子设备600的系统构成的示意框图。如图10所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,集群动态并发控制功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
获取设置的脚本采集策略;
根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据;
利用轻量级脚本语言根据采集的并发数据进行并发控制。
在另一个实施方式中,集群动态并发控制装置可以与中央处理器100分开配置,例如可以将集群动态并发控制装置配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现集群动态并发控制功能。
如图10所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图10中所示的所有部件;此外,电子设备600还可以包括图10中没有示出的部件,可以参考现有技术。
如图10所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读程序,其中当在电子设备中执行所述程序时,所述程序使得计算机在所述电子设备中执行如上面实施例所述的集群动态并发控制方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在电子设备中执行上面实施例所述的集群动态并发控制。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种集群动态并发控制方法,其特征在于,所述的方法包括:
获取设置的脚本采集策略;
根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据;
利用轻量级脚本语言根据采集的并发数据进行并发控制。
2.如权利要求1所述的集群动态并发控制方法,其特征在于,所述的脚本采集策略包括:采集粒度、接口列表及参数列表。
3.如权利要求1所述的集群动态并发控制方法,其特征在于,所述根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据包括:
将利用轻量级脚本语言lua实现采集脚本嵌入到web接入层服务器;
根据所述脚本采集策略利用所述采集脚本采集并发数据。
4.如权利要求1所述的集群动态并发控制方法,其特征在于,所述的利用轻量级脚本语言根据采集的并发数据进行并发控制包括:
接收采集的并发数据;
获取接口的并发量阈值;
根据所述并发数据和并发量阈值确定是否超出阈值;
确定超出阈值时,利用轻量级脚本语言对所述并发数据进行限流控制。
5.如权利要求1所述的集群动态并发控制方法,其特征在于,所述的获取设置的脚本采集策略包括:
设置定时采集时间;
根据定时采集时间获取设置的脚本采集策略。
6.一种集群动态并发控制装置,其特征在于,所述的装置包括:
策略获取模块,用于获取设置的脚本采集策略;
并发数据采集模块,用于根据所述脚本采集策略,利用由轻量级脚本语言实现的采集脚本从web接入层采集并发数据;
并发控制模块,用于利用轻量级脚本语言根据采集的并发数据进行并发控制。
7.如权利要求6所述的集群动态并发控制装置,其特征在于,所述的脚本采集策略包括:采集粒度、接口列表及参数列表。
8.如权利要求6所述的集群动态并发控制装置,其特征在于,所述并发数据采集模块包括:
脚本嵌入单元,用于将利用轻量级脚本语言lua实现采集脚本嵌入到web接入层服务器;
数据采集单元,用于根据所述脚本采集策略利用所述采集脚本采集并发数据。
9.如权利要求6所述的集群动态并发控制装置,其特征在于,所述的并发控制模块包括:
数据接收单元,用于接收采集的并发数据;
阈值获取单元,用于获取接口的并发量阈值;
判断单元,用于根据所述并发数据和并发量阈值确定是否超出阈值;
限流单元,用于确定超出阈值时,利用轻量级脚本语言对所述并发数据进行限流控制。
10.如权利要求6所述的集群动态并发控制装置,其特征在于,所述的策略获取模块包括:
定时单元,用于设置定时采集时间;
策略采集单元,用于根据定时采集时间获取设置的脚本采集策略。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613359.1A CN111796938B (zh) | 2020-06-30 | 2020-06-30 | 集群动态并发控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613359.1A CN111796938B (zh) | 2020-06-30 | 2020-06-30 | 集群动态并发控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796938A true CN111796938A (zh) | 2020-10-20 |
CN111796938B CN111796938B (zh) | 2024-05-17 |
Family
ID=72810833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010613359.1A Active CN111796938B (zh) | 2020-06-30 | 2020-06-30 | 集群动态并发控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796938B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637082A (zh) * | 2020-12-15 | 2021-04-09 | 银盛支付服务股份有限公司 | 一种分布式限流方法 |
CN116155809A (zh) * | 2022-12-13 | 2023-05-23 | 宝付网络科技(上海)有限公司 | 一种用于软件系统并发控制的流量控制系统及其控制方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073465A (zh) * | 2017-12-29 | 2018-05-25 | 中国平安人寿保险股份有限公司 | 动态限流方法、Nginx服务器、存储介质及装置 |
CN108111586A (zh) * | 2017-12-14 | 2018-06-01 | 重庆邮电大学 | 一种高并发支持的web集群系统及方法 |
CN108173938A (zh) * | 2017-12-28 | 2018-06-15 | 泰康保险集团股份有限公司 | 服务器负载分流方法及装置 |
CN108387231A (zh) * | 2017-12-19 | 2018-08-10 | 广州华途信息科技有限公司 | 基于蓝牙技术的室内导盲系统及方法 |
CN108418764A (zh) * | 2018-02-07 | 2018-08-17 | 深圳壹账通智能科技有限公司 | 限流方法、装置、计算机设备和存储介质 |
CN108470054A (zh) * | 2018-03-14 | 2018-08-31 | 北京思特奇信息技术股份有限公司 | 一种数据访问方法及系统 |
CN109714264A (zh) * | 2018-09-03 | 2019-05-03 | 天翼电子商务有限公司 | 基于缓存队列的滑动窗口限流的实现方法 |
CN109949135A (zh) * | 2019-03-20 | 2019-06-28 | 江苏满运软件科技有限公司 | 高并发交易请求处理方法、系统、设备及存储介质 |
CN109962855A (zh) * | 2017-12-14 | 2019-07-02 | 深圳市融汇通金科技有限公司 | 一种web服务器的限流方法、限流装置及终端设备 |
CN110933097A (zh) * | 2019-12-05 | 2020-03-27 | 美味不用等(上海)信息科技股份有限公司 | 面向多服务网关的限流与自动扩缩容方法 |
-
2020
- 2020-06-30 CN CN202010613359.1A patent/CN111796938B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111586A (zh) * | 2017-12-14 | 2018-06-01 | 重庆邮电大学 | 一种高并发支持的web集群系统及方法 |
CN109962855A (zh) * | 2017-12-14 | 2019-07-02 | 深圳市融汇通金科技有限公司 | 一种web服务器的限流方法、限流装置及终端设备 |
CN108387231A (zh) * | 2017-12-19 | 2018-08-10 | 广州华途信息科技有限公司 | 基于蓝牙技术的室内导盲系统及方法 |
CN108173938A (zh) * | 2017-12-28 | 2018-06-15 | 泰康保险集团股份有限公司 | 服务器负载分流方法及装置 |
CN108073465A (zh) * | 2017-12-29 | 2018-05-25 | 中国平安人寿保险股份有限公司 | 动态限流方法、Nginx服务器、存储介质及装置 |
CN108418764A (zh) * | 2018-02-07 | 2018-08-17 | 深圳壹账通智能科技有限公司 | 限流方法、装置、计算机设备和存储介质 |
CN108470054A (zh) * | 2018-03-14 | 2018-08-31 | 北京思特奇信息技术股份有限公司 | 一种数据访问方法及系统 |
CN109714264A (zh) * | 2018-09-03 | 2019-05-03 | 天翼电子商务有限公司 | 基于缓存队列的滑动窗口限流的实现方法 |
CN109949135A (zh) * | 2019-03-20 | 2019-06-28 | 江苏满运软件科技有限公司 | 高并发交易请求处理方法、系统、设备及存储介质 |
CN110933097A (zh) * | 2019-12-05 | 2020-03-27 | 美味不用等(上海)信息科技股份有限公司 | 面向多服务网关的限流与自动扩缩容方法 |
Non-Patent Citations (2)
Title |
---|
张杰;刘凯;周立军;: "采用Redis高并发应用系统设计与实现方法", 计算机与数字工程, no. 05 * |
林巧;杨坚坚;: "Lua语言在轻量级Web服务器设计中的应用", 计算机系统应用, no. 07 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637082A (zh) * | 2020-12-15 | 2021-04-09 | 银盛支付服务股份有限公司 | 一种分布式限流方法 |
CN112637082B (zh) * | 2020-12-15 | 2023-03-31 | 银盛支付服务股份有限公司 | 一种分布式限流方法 |
CN116155809A (zh) * | 2022-12-13 | 2023-05-23 | 宝付网络科技(上海)有限公司 | 一种用于软件系统并发控制的流量控制系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111796938B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535777B (zh) | 访问请求控制方法、装置、电子设备以及可读存储介质 | |
CN107480015B (zh) | 负载测试方法、装置、系统、存储介质与压测服务器 | |
US9584364B2 (en) | Reporting performance capabilities of a computer resource service | |
US10321342B2 (en) | Methods and systems for performance monitoring for mobile applications | |
US8782215B2 (en) | Performance testing in a cloud environment | |
CN111431813B (zh) | 访问限流方法、设备及存储介质 | |
CN110445828B (zh) | 一种基于Redis的数据分布式处理方法及其相关设备 | |
CN113704063B (zh) | 一种云手机的性能监控方法、装置、设备及存储介质 | |
CN111796938B (zh) | 集群动态并发控制方法及装置 | |
CN105468513B (zh) | 一种基于移动终端的测试方法、装置及系统 | |
CN109344066B (zh) | 一种浏览器页面的测试方法、系统及终端 | |
CN111782470A (zh) | 分布式容器日志数据处理方法及装置 | |
CN110474812A (zh) | 采样率自适应调整方法及装置 | |
CN108733545B (zh) | 一种压力测试方法及装置 | |
CN112530205A (zh) | 机场停机坪飞机状态检测方法及装置 | |
CN107566480B (zh) | 移动终端应用的用户活动信息采集方法及装置、存储介质 | |
CN114826749A (zh) | 一种接口访问控制方法、装置、介质 | |
CN114257532B (zh) | 服务端状态探测方法及装置 | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
CN111767558B (zh) | 数据访问监控方法、装置及系统 | |
CN113467525A (zh) | 接口调用流量控制方法及装置 | |
CN110275785B (zh) | 数据处理方法、装置、客户端和服务器 | |
CN114465919B (zh) | 一种网络服务测试方法、系统、电子设备及存储介质 | |
CN108418730B (zh) | 网络流量测试方法、装置、设备以及计算机可读存储介质 | |
CN107748711B (zh) | 自动优化Storm并行度的方法、终端设备及存储介质 |
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 |