CN116155809A - 一种用于软件系统并发控制的流量控制系统及其控制方法 - Google Patents

一种用于软件系统并发控制的流量控制系统及其控制方法 Download PDF

Info

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
Application number
CN202211594470.6A
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.)
Baofu Network Technology Shanghai Co ltd
Original Assignee
Baofu Network Technology Shanghai 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 Baofu Network Technology Shanghai Co ltd filed Critical Baofu Network Technology Shanghai Co ltd
Priority to CN202211594470.6A priority Critical patent/CN116155809A/zh
Publication of CN116155809A publication Critical patent/CN116155809A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing 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秒。
CN202211594470.6A 2022-12-13 2022-12-13 一种用于软件系统并发控制的流量控制系统及其控制方法 Pending CN116155809A (zh)

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)

* Cited by examiner, † Cited by third party
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 中国农业银行股份有限公司 一种分布式系统的限流方法、装置、设备、介质及产品

Patent Citations (6)

* Cited by examiner, † Cited by third party
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