CN116155809A - 一种用于软件系统并发控制的流量控制系统及其控制方法 - Google Patents
一种用于软件系统并发控制的流量控制系统及其控制方法 Download PDFInfo
- Publication number
- CN116155809A CN116155809A CN202211594470.6A CN202211594470A CN116155809A CN 116155809 A CN116155809 A CN 116155809A CN 202211594470 A CN202211594470 A CN 202211594470A CN 116155809 A CN116155809 A CN 116155809A
- Authority
- CN
- China
- Prior art keywords
- instruction
- flow
- control
- module
- information acquisition
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000013523 data management Methods 0.000 claims abstract description 8
- 238000011217 control strategy Methods 0.000 claims abstract description 4
- 230000003068 static effect Effects 0.000 claims abstract description 4
- 230000003993 interaction Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
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/10—Flow control; Congestion control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种用于软件系统并发控制的流量控制系统,包括:信息采集模块:收集联机交易相关数据,并将数据输出给控制中心模块;基础数据管理模块:包括流量控制系统需页面配置的静态信息、数据报表展示、系统性能指标图形展示以及手工指令的采集;控制中心模块:根据接收到的流量分配方案对流量进行重新分配,控制对于所有超过预设流量值的交易请求均做直接拒绝处理,未超过预设流量值则对交易请求放行;策略引擎模块:以信息采集模块和基础数据管理模块采集的数据为基础参数,建立控制策略模型,并将模型结果输出给控制中心,最终输出控制方案。保障系统稳定运行,及时做好过载保护,及时调整流量分配。
Description
技术领域
本发明设计一种流量控制系统,具体涉及一种用于软件系统并发控制的流量控制系统及其控制方法,可以针对请求量,业务规则灵活配置。
背景技术
当前很多IT系统并没有针对该系统的最大并发量做一个定量控制,比如某系统在系统立项设计时可以承受的最大并发量为1000TPS,但在系统实际上线后由于服务是暴露在互联网中,用户的实际并发请求未做统计及限制,可能会超出1000TPS,又比如该系统的某种业务最大承载并发为800TPS,实际在运行过程中也没有限制,此时系统可能承受大于设计时最大并发的情况,从而导致系统因承载较大压力而宕机,无法提供服务。很多并发量较大的系统都有涉及分库、分表,但是少有针对业务、数据库、数据表等请求量的并发控制。系统在促销、秒杀等交易高峰时直接承接所有请求,导致系统被巨大流量压垮,从而导致系统无法正常提供服务。事实上系统在促销、秒杀等场景中我们需要优化系统资源配置,优先保证资金类交易请求,适度降权管理类交易请求。即是系统的实际请求量大于系统的设计并发量也能提供部分服务。
发明内容
为保障系统稳定运行,及时做好过载保护,及时调整流量分配,本发明提供一种用于软件系统并发控制的流量控制系统及其控制方法。
本发明的技术方案是:一种用于软件系统并发控制的流量控制系统,包括:
信息采集模块:收集联机交易相关数据,并将数据输出给控制中心模块;
基础数据管理模块:包括流量控制系统需页面配置的静态信息、数据报表展示、系统性能指标图形展示以及手工指令的采集;
控制中心模块:根据接收到的流量分配方案对流量进行重新分配,控制对于所有超过预设流量值的交易请求均做直接拒绝处理,未超过预设流量值则对交易请求放行;
策略引擎模块:以信息采集模块和基础数据管理模块采集的数据为基础参数,建立控制策略模型,并将模型结果输出给控制中心,最终输出控制方案。
本发明还提供一种用于软件系统并发控制的流量控制方法,具体步骤如下:
步骤一、接收前置系统请求:请求系统通过RPC调用请求权利要求1所述的流量控制系统;
步骤二、信息采集模块收集流量信息,转换为匹配指令,发往步骤三指令匹配处;
步骤三、指令匹配:接收信息采集模块指令匹配请求,并加载限流指令库指令;将接收的信息采集模块指令与加载的指令库指令做匹配,若命中则将指令放入reids中并设置指令有效期;若未匹配规则则执行交易放行逻辑;
步骤四、计数器:reids中执行计数器lua脚本计数逻辑;若执行计数器结果大于预先设置的限流值则当前交易被限;若执行计数器结果小于等于预先设置的限流值则执行交易放行逻辑;
步骤五、结束返回:将步骤三及步骤四中最终限流结果返回给请求系统。
进一步的,步骤三中若命中则将指令放入reids中并设置指令有效期为1秒。
本发明的有益效果是:实现单位时间窗口内的总请求数,不能超过预设的阈值;通过redis对lua脚本的支持,将限流核心逻辑封装在lua脚本中,针对一次限流请求命中的多条key,一次性发送给redis cluster执行。以保证限流逻辑的原子性,并且减少限流应用与redis cluster的网络交互。保障系统稳定运行,及时做好过载保护,及时调整流量分配。
附图说明
图1为用于软件系统并发控制的流量控制系统框图;
图2为用于软件系统并发控制的流量控制方法流程图。
具体实施方式
下面结合附图对本发明做进一步的说明。
如图1所示,流量控制系统包括:
信息采集模块:收集联机交易相关数据,并将数据输出给控制中心模块。
基础数据管理模块:包括流量控制系统需页面配置的静态信息、数据报表展示、系统性能指标图形展示以及手工指令的采集。
控制中心模块:根据接收到的流量分配方案对流量进行重新分配,控制对于所有超过预设流量值的交易请求均做直接拒绝处理,未超过预设流量值则对交易请求放行。
策略引擎模块:以信息采集模块和基础数据管理模块采集的数据为基础参数,建立控制策略模型,并将模型结果输出给控制中心,最终输出控制方案。具体的,可采用如下方法:计算出流量的环比、同比、日均、各时间段波峰,波谷等数据,使用线性回归等方法预测未来一定时间内的流量值。
如图2所示,流量控制系统运行包括步骤:
1、接收前置系统请求(步骤1001):请求系统通过RPC((Remote ProcedureCall)—远程过程调用,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议)调用请求流量控制系统。
2、信息采集模块收集流量信息(步骤1002):接收前端系统请求并收集流量信息,转换为匹配指令,发往指令匹配(步骤1003)处。
3、指令匹配(步骤1003):接收信息采集模块指令匹配请求,并加载限流指令库指令(步骤1004)。将接收的信息采集模块指令与加载的指令库指令做匹配,若命中则将指令放入reids(步骤1006)中并设置指令有效期未1秒。若未匹配规则则执行交易放行(步骤1005)逻辑。
4、计数器(步骤1007):reids(步骤1006)中执行计数器(步骤1007)lua脚本计数逻辑。若执行计数器结果大于预先设置的限流值则当前交易被限(步骤1008)。若执行计数器结果小于等于预先设置的限流值则执行交易放行(步骤1005)逻辑。
5、结束返回(步骤1009):步骤3及步骤4中最终限流结果返回给请求系统。
系统原理说明:
1.限流应用的核心功能概述
实现单位时间窗口内的总请求数,不能超过预设的阈值;
2.限流应用借助redis实现核心功能
通过redis(一种基于内存实现的键值型非关系型(NoSQL)数据库)对key(存放在redis中的键值)的过期时间的支持,来实现对单位时间窗口的控制。目前限流支持的窗口大小是1s;
通过redis对key的自增的支持,来实现对总请求数的累加;
通过redis对lua脚本的支持,将限流核心逻辑封装在lua脚本中,针对一次限流请求命中的多条key,一次性发送给redis cluster(由多个redis节点构成的服务集群)执行。以保证限流逻辑的原子性,并且减少限流应用与redis cluster的网络交互。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (3)
1.一种用于软件系统并发控制的流量控制系统,其特征在于:包括:
信息采集模块:收集联机交易相关数据,并将数据输出给控制中心模块;
基础数据管理模块:包括流量控制系统需页面配置的静态信息、数据报表展示、系统性能指标图形展示以及手工指令的采集;
控制中心模块:根据接收到的流量分配方案对流量进行重新分配,控制对于所有超过预设流量值的交易请求均做直接拒绝处理,未超过预设流量值则对交易请求放行;
策略引擎模块:以信息采集模块和基础数据管理模块采集的数据为基础参数,建立控制策略模型,并将模型结果输出给控制中心,最终输出控制方案。
2.一种用于软件系统并发控制的流量控制方法,其特征在于:具体步骤如下:
步骤一、接收前置系统请求:请求系统通过RPC调用请求权利要求1所述的流量控制系统;
步骤二、信息采集模块收集流量信息,转换为匹配指令,发往步骤三指令匹配处;
步骤三、指令匹配:接收信息采集模块指令匹配请求,并加载限流指令库指令;将接收的信息采集模块指令与加载的指令库指令做匹配,若命中则将指令放入reids中并设置指令有效期;若未匹配规则则执行交易放行逻辑;
步骤四、计数器:reids中执行计数器lua脚本计数逻辑;若执行计数器结果大于预先设置的限流值则当前交易被限;若执行计数器结果小于等于预先设置的限流值则执行交易放行逻辑;
步骤五、结束返回:将步骤三及步骤四中最终限流结果返回给请求系统。
3.根据权利要求2所述的一种用于软件系统并发控制的流量控制方法,其特征在于:步骤三中若命中则将指令放入reids中并设置指令有效期为1秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211594470.6A CN116155809A (zh) | 2022-12-13 | 2022-12-13 | 一种用于软件系统并发控制的流量控制系统及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211594470.6A CN116155809A (zh) | 2022-12-13 | 2022-12-13 | 一种用于软件系统并发控制的流量控制系统及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116155809A true CN116155809A (zh) | 2023-05-23 |
Family
ID=86357376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211594470.6A Pending CN116155809A (zh) | 2022-12-13 | 2022-12-13 | 一种用于软件系统并发控制的流量控制系统及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116155809A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276182A (zh) * | 2019-06-10 | 2019-09-24 | 必成汇(成都)科技有限公司 | Api分布式限流的实现方法 |
CN111796938A (zh) * | 2020-06-30 | 2020-10-20 | 中国工商银行股份有限公司 | 集群动态并发控制方法及装置 |
CN111901196A (zh) * | 2020-07-23 | 2020-11-06 | 电子科技大学 | 软件定义网络sdn流量监测与可视化系统 |
CN114500380A (zh) * | 2020-10-27 | 2022-05-13 | 北京达佳互联信息技术有限公司 | 流量控制方法、装置及电子设备 |
CN114915593A (zh) * | 2022-06-10 | 2022-08-16 | 北京世纪好未来教育科技有限公司 | 基于Redis的流量控制方法、装置、电子设备及存储介质 |
CN115421922A (zh) * | 2022-09-28 | 2022-12-02 | 中国农业银行股份有限公司 | 一种分布式系统的限流方法、装置、设备、介质及产品 |
-
2022
- 2022-12-13 CN CN202211594470.6A patent/CN116155809A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276182A (zh) * | 2019-06-10 | 2019-09-24 | 必成汇(成都)科技有限公司 | Api分布式限流的实现方法 |
CN111796938A (zh) * | 2020-06-30 | 2020-10-20 | 中国工商银行股份有限公司 | 集群动态并发控制方法及装置 |
CN111901196A (zh) * | 2020-07-23 | 2020-11-06 | 电子科技大学 | 软件定义网络sdn流量监测与可视化系统 |
CN114500380A (zh) * | 2020-10-27 | 2022-05-13 | 北京达佳互联信息技术有限公司 | 流量控制方法、装置及电子设备 |
CN114915593A (zh) * | 2022-06-10 | 2022-08-16 | 北京世纪好未来教育科技有限公司 | 基于Redis的流量控制方法、装置、电子设备及存储介质 |
CN115421922A (zh) * | 2022-09-28 | 2022-12-02 | 中国农业银行股份有限公司 | 一种分布式系统的限流方法、装置、设备、介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271411B (zh) | 报表生成方法、装置、计算机设备及存储介质 | |
CN100527090C (zh) | 用于动态分配计算机资源的方法 | |
CN100403315C (zh) | 一种实现负荷分担的数据库访问方法及系统 | |
US8566527B2 (en) | System and method for usage analyzer of subscriber access to communications network | |
CN101222449A (zh) | 发布/订阅系统和方法 | |
CN101556678A (zh) | 一种批处理业务的处理方法、系统及业务处理控制设备 | |
KR101914319B1 (ko) | 반복된 검색 요청을 최적화하는 개선된 예약 시스템을 위한 방법 및 시스템 | |
CN109740089A (zh) | 数据采集方法、装置、系统、可读存储介质及电子设备 | |
US7107291B2 (en) | Information system and data access method | |
CN102780603B (zh) | 网站流量控制方法及装置 | |
CN101645032A (zh) | 应用服务器的性能分析方法和应用服务器 | |
CN111399909A (zh) | 业务系统数据分发处理方法、装置及存储介质 | |
CN110445828A (zh) | 一种基于Redis的数据分布式处理方法及其相关设备 | |
CN111581234A (zh) | Rac多节点数据库查询方法、装置及系统 | |
CN116662376B (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN107609172B (zh) | 一种跨系统多维度数据检索处理方法及装置 | |
CN110852559A (zh) | 资源的分配方法和装置、存储介质、电子装置 | |
CN105320676A (zh) | 一种客户数据查询服务方法及装置 | |
US10313261B1 (en) | Tenant assignment system | |
CN113360210A (zh) | 数据对账方法、装置、计算机设备和存储介质 | |
CN116155809A (zh) | 一种用于软件系统并发控制的流量控制系统及其控制方法 | |
CN109871394B (zh) | 一种全量分布式高并发计算方法及装置 | |
US20120254133A1 (en) | Method for binary persistence in a system providing offers to subscribers | |
CN116226178A (zh) | 一种数据查询方法、装置、存储介质及电子装置 | |
KR101888131B1 (ko) | Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법 |
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 |