CN108471386B - 一种基于令牌、交易记录的流量、频率控制方法 - Google Patents
一种基于令牌、交易记录的流量、频率控制方法 Download PDFInfo
- Publication number
- CN108471386B CN108471386B CN201810165612.4A CN201810165612A CN108471386B CN 108471386 B CN108471386 B CN 108471386B CN 201810165612 A CN201810165612 A CN 201810165612A CN 108471386 B CN108471386 B CN 108471386B
- Authority
- CN
- China
- Prior art keywords
- frequency
- token
- flow control
- openapi
- gateway
- 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
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
-
- 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
- H04L47/215—Flow control; Congestion control using token-bucket
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于令牌、交易记录的流量、频率控制方法,涉及流量控制和频率控制领域;其包括步骤1:流控服务器加载所有线路多维度的令牌和频率规则后完成初始化;步骤2:各线路发起的交易通过openAPI网关向流控服务器发起申请令牌服务和频率服务请求;步骤3:流控服务器根据请求匹配多维度的令牌和频率规则并发放令牌和计算频率后,将其结果反馈给openAPI网关;步骤4:openAPI网关结合后端系统完成交易实现流量和频率的集中控制;本发明解决了现有流量控制采用一条线路对应一台服务器配置流控参数带来的资源利用率低、控制方式和维度单一的问题,达到了集中管理流量和频率提高资源利用率,实现控制多样化的效果。
Description
技术领域
本发明涉及流量控制和频率控制领域,尤其是一种基于令牌、交易记录的流量、频率控制方法。
背景技术
现在的联机交易系统通常采用分布式架构,多台服务器同时处理交易,使用一台或多台数据库服务器存储交易数据;为了保证系统能在过载(即单位时间内交易的请求数量超过系统可以处理的最大交易量)时仍然可以正常运行,通常需要设计过载保护功能即流量控制;为了保证系统提供的某些服务不受到恶意的请求,通常需要设计频次保护功能即频率控制。
现有技术中流量控制方法采用每台服务器的每个线路均配置一个单独的流量控制参数,该参数仅用于判断其对应的线路流量是否超过该限制,如果超过,则采取相应的流量控制策略进行限流,以确保系统的正常运行。虽然解决了基本的流量控制问题,但是存在以下缺点:(一)仅能对线路进行单独的流量控制,流量控制方式较为单一,不能满足多样化的流量控制需求;(二)一个线路配置对应的服务器,资源利用率低;(三)每个线路除了基本工作内容外还要增加请求相关内容,继而影响整体的处理速度。所以需要一种流量和频率控制的方法实现合理资源配置。
发明内容
本发明的目的在于:本发明提供了一种基于令牌、交易记录的流量、频率控制方法,解决了现有流量控制采用一条线路对应一台服务器配置流控参数带来的资源利用率低、控制方式单一的问题。
本发明采用的技术方案如下:
一种基于令牌、交易记录的流量、频率控制方法,包括如下步骤:
步骤1:流控服务器加载所有线路多维度的令牌和频率规则后完成初始化;
步骤2:各线路发起的交易通过openAPI网关向流控服务器发起申请令牌服务和频率服务请求;
步骤3:流控服务器根据请求匹配多维度的令牌和频率规则并发放令牌和计算频率后,将其结果反馈给openAPI网关;
步骤4:openAPI网关结合后端系统完成交易实现流量和频率的集中控制。
优选地,所述步骤1包括如下步骤:
步骤1.1:在openAPI网关的控制管理平台上设置所有线路多维度的令牌和频率规则,openAPI网关的控制管理平台设置的流控令牌通知流控服务器加载多维度的令牌和频率规则;
步骤1.2:流控服务器加载所有线路多维度的令牌和频率规则完成初始化。
优选地,所述步骤2包括如下步骤:
步骤2.1:各线路通过渠道发起交易且通过openAPI网关基础服务向流控服务器发起申请频率服务和令牌服务的请求,并使用同步锁保证在同一个规则下只有一个交易在申请令牌和计算频率;
步骤2.2:openAPI网关判断令牌开关是否打开,若打开,则请求有效并跳至步骤3;若关闭,则正常交易;
优选地,所述步骤3包括如下步骤:
步骤3.1:流控服务器根据申请令牌服务请求判断是否匹配多维度的令牌规则,若匹配,则判断所有配置是否均可以发放令牌,若不匹配,则正常交易;若是,则发放令牌并将令牌反馈给openAPI网关基础服务后跳至步骤3.2,若否,则申请失败,终止交易;
步骤3.2:流控服务器根据申请频率服务请求判断频率规则是否与当前情况匹配,若是,则计算频率并将计算结果反馈给openAPI网关基础服务,若否,则正常交易;
优选地,所述步骤4包括如下步骤:
步骤4.1:openAPI网关基础服务接收到发放的令牌和计算频率结果结合后端系统完成交易实现流量和频率的集中控制。
优选地,所述令牌规则包括消费系统、服务名称、令牌数量和作用的时间段。
优选地,所述频率规则包括消费系统、服务名称、周期类型、周期和次数。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.本发明通过流控服务器加载各线路多维度的令牌和频率规则对各线路的流量和频率进行集中控制并完成交易,一台流控服务器控制多条线路的流量和频率,节约资源且避免了现有线路增加流量控制事务影响响应速度的缺点,解决了现有流量控制采用一条线路对应一台服务器配置流控参数带来的资源利用率低、控制方式和维度单一的问题,达到了集中管理流量和频率提高资源利用率,实现控制多样化的效果;
2.本发明通过设置同步锁防止并发,实现一个流控服务器控制多条线路,提高资源利用率,通过设置多维度的配置,比如渠道、服务等,实现多样化控制,促进提高流量控制和频率控制的精度;
3.本发明对每个交易或者渠道进行粒化,在配置的时候可以对某个服务进行控制且不区分渠道,也可以对某个渠道进行控制不区分服务,也可以指定渠道指定服务,便于实现精准的流量控制和频率控制;促进对渠道的流量进行合理的分配,达到资源的合理分配。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明的流程图;
图2是本发明的令牌设置流程图;
图3是本发明的频率设置流程图;
图4是本发明的令牌使用流程图;
图5是本发明的频率使用流程图;
图6是本发明的架构图;
图7是现有流控方式的架构图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
下面结合图1-7对本发明作详细说明。
一种基于令牌、交易记录的流量、频率控制方法,包括如下步骤:
步骤1:流控服务器加载所有线路多维度的令牌和频率规则后完成初始化;
步骤2:各线路发起的交易通过openAPI网关向流控服务器发起申请令牌服务和频率服务请求;
步骤3:流控服务器根据请求匹配多维度的令牌和频率规则并发放令牌和计算频率后,将其结果反馈给openAPI网关;
步骤4:openAPI网关结合后端系统完成交易实现流量和频率的集中控制。
实施例1
步骤1.1:在openAPI网关的控制管理平台上设置所有线路多维度的令牌和频率规则,openAPI网关的控制管理平台设置的流控令牌通知流控服务器加载令牌和频率规则;其中,令牌规则包括消费系统、服务名称、令牌数量和作用的时间段,因此令牌的维度如下:
a、渠道,接入的第三方应用,all表示所有渠道;
b、服务,调用的接口,all表示所有服务;
c、令牌数量,最大能发放出去的令牌;
d、时间段表达式,指定的时间段,如1957-01-01--2099-12-31;
e、日表达式,指定的日内时间段,如09:00--12:30;
f、周表达式,周内时间段,如1-5,周一至周五;
g、月表达式,月内时间段,如1-10,1-L,1号到至10号,1号至本月最后一天;
h、年表达式,年内时间段,如1-12,1月至12月。
频率规则包括消费系统、服务名称、周期类型、周期和次数,因此频率的维度如下:
A1、渠道,接入的第三方应用,all表示所有渠道;
B1、服务,调用的接口,all表示所有服务;
C1、周期类型,分、日、月,周期的单位;
D1、周期,周期类型为“分”时,表示N分钟,以此类推;
E1、次数,指定的周期内,最大能进行的交易次数。
步骤1.2:流控服务器加载所有线路多维度的令牌和频率规则完成初始化。
步骤2.1:各线路通过渠道发起交易且通过openAPI网关基础服务向流控服务器发起申请频率服务和令牌服务的请求,并使用同步锁保证在同一个规则下只有一个交易在申请令牌和计算频率;
步骤2.2:openAPI网关判断令牌开关是否打开,若打开,则请求有效并跳至步骤3;若关闭,则正常交易;
步骤3.1:流控服务器根据申请令牌服务请求判断是否匹配多维度的令牌规则,若匹配,则判断所有配置是否均可以发放令牌,若不匹配,则正常交易;若是,则发放令牌并将令牌反馈给openAPI网关基础服务后跳至步骤3.2,若否,则申请失败,终止交易;
步骤3.2:流控服务器根据申请频率服务请求判断频率规则是否与当前情况匹配,若是,则计算频率并将计算结果反馈给openAPI网关基础服务,若否,则正常交易;
步骤4.1:openAPI网关基础服务接收到发放的令牌和计算频率结果结合后端系统完成交易实现流量和频率的集中控制。
实施例2
设置所有线路的令牌和频率规则的流程如图2-3所示:其中,令牌设置流程如下:登录进入openAPI网关控制管理平台,选择流量控制管理中的流控令牌管理,若选择新增,则录入信息后判断是否存在该维度的配置,若有则提示已存在,若没有通知流控服务器加载令牌配置;若选择修改,则录入修改信息后通知流控服务器加载令牌配置;若选择删除,则通知流控服务器加载令牌配置。频率设置流程如下:登录进入openAPI网关的控制管理平台,选择流量控制管理中的访问频率管理,若选择新增,则录入信息后判断是否存在该维度的配置,若有则提示已存在,若没有通知流控服务器加载频率配置,若选择删除,通知流控服务器加载频率配置。
openAPI网关的控制管理平台对渠道适配流程添加了申请令牌、释放令牌和频率控制的服务后,请求到达openAPI网关的控制管理平台后就会按照配置的规则进行控制,如没有配置令牌则不进行流量控制,反之根据规则发放令牌或终止访问;同理频率服务中如没有配置则不进行频率控制,反之根据规则对频率进行计算,超过频率则终止访问;其中频率服务中的维度-周期类型为分的时候,规则设置的次数大于计数器时,计数器加一,时间插入队列,不终止访问;次数等于计数器时,获取队首时间,当前时间减周期时间大于等于队首时间,移除队首,将当前时间插入队列,不终止访问;反之不对队列进行处理并终止访问。
实施例3
其中频率服务中的维度-周期类型为日、月的时候:查询数据库,按照时间降序分页查询第n=次数条记录,如没有记录则将当前交易时间入库,不终止访问;根据当前时间与查询出来的记录时间进行比较,未超过设定的周期则终止访问;反之将当前时间入库,不终止访问。本发明通过流控服务器加载令牌配置对多条线路的流量和频率进行集中管理,通过设置同步锁克服了并发问题,线路的流量控制问题由流控服务器管理,避免了线路处理多种内容带来的速度慢的缺点,解决了现有流量控制采用一条线路对应一台服务器配置流控参数带来的资源利用率低、控制方式和维度单一的问题,达到了集中管理流量和频率提高资源利用率,实现控制多样化的效果。
Claims (5)
1.一种基于令牌、交易记录的流量、频率控制方法,其特征在于:包括如下步骤:
步骤1:流控服务器加载所有线路多维度的令牌和频率规则后完成初始化;
步骤2:各线路发起的交易通过openAPI网关向流控服务器发起申请令牌服务和频率服务请求;
步骤3:流控服务器根据请求匹配多维度的令牌和频率规则并发放令牌和计算频率后,将其结果反馈给openAPI网关;
步骤4:openAPI网关结合后端系统完成交易实现流量和频率的集中控制;所述步骤1包括如下步骤:
步骤1.1:在openAPI网关的控制管理平台上设置所有线路多维度的令牌和频率规则,openAPI网关的控制管理平台设置的流控令牌通知流控服务器加载多维度的令牌和频率规则;
步骤1.2:流控服务器加载所有线路多维度的令牌和频率规则完成初始化;所述步骤2包括如下步骤:
步骤2.1:各线路通过渠道发起交易且通过openAPI网关基础服务向流控服务器发起申请频率服务和令牌服务的请求,并使用同步锁保证在同一个规则下只有一个交易在申请令牌和计算频率;
步骤2.2:openAPI网关判断令牌开关是否打开,若打开,则请求有效并跳至步骤3;若关闭,则正常交易。
2.根据权利要求1所述的一种基于令牌、交易记录的流量、频率控制方法,其特征在于:所述步骤3包括如下步骤:
步骤3.1:流控服务器根据申请令牌服务请求判断是否匹配多维度的令牌规则,若匹配,则判断所有配置是否均可以发放令牌,若不匹配,则正常交易;若是,则发放令牌并将令牌反馈给openAPI网关基础服务后跳至步骤3.2,若否,则申请失败,终止交易;
步骤3.2:流控服务器根据申请频率服务请求判断频率规则是否与当前情况匹配,若是,则计算频率并将计算结果反馈给openAPI网关基础服务,若否,则正常交易。
3.根据权利要求2所述的一种基于令牌、交易记录的流量、频率控制方法,其特征在于:所述步骤4包括如下步骤:
步骤4.1:openAPI网关基础服务接收到发放的令牌和计算频率结果结合后端系统完成交易实现流量和频率的集中控制。
4.根据权利要求1所述的一种基于令牌、交易记录的流量、频率控制方法,其特征在于:所述令牌规则包括消费系统、服务名称、令牌数量和作用的时间段。
5.根据权利要求1所述的一种基于令牌、交易记录的流量、频率控制方法,其特征在于:所述频率规则包括消费系统、服务名称、周期类型、周期和次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810165612.4A CN108471386B (zh) | 2018-02-28 | 2018-02-28 | 一种基于令牌、交易记录的流量、频率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810165612.4A CN108471386B (zh) | 2018-02-28 | 2018-02-28 | 一种基于令牌、交易记录的流量、频率控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108471386A CN108471386A (zh) | 2018-08-31 |
CN108471386B true CN108471386B (zh) | 2022-05-03 |
Family
ID=63264113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810165612.4A Active CN108471386B (zh) | 2018-02-28 | 2018-02-28 | 一种基于令牌、交易记录的流量、频率控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108471386B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912794B (zh) * | 2019-11-15 | 2021-07-16 | 国网安徽省电力有限公司安庆供电公司 | 基于令牌集的近似匹配策略 |
CN114430396B (zh) * | 2022-04-06 | 2022-07-05 | 中国光大银行股份有限公司 | 交易频率控制方法、装置、存储介质和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106170024A (zh) * | 2012-12-24 | 2016-11-30 | 华为技术有限公司 | 一种基于软件定义网络中数据处理的系统、方法和节点 |
CN107133092A (zh) * | 2017-05-24 | 2017-09-05 | 努比亚技术有限公司 | 多线程同步处理方法、终端及计算机可读存储介质 |
CN107707488A (zh) * | 2017-10-25 | 2018-02-16 | 北京数码视讯支付技术有限公司 | 支付联机交易流量控制方法、限流服务端及客户端 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007092573A2 (en) * | 2006-02-07 | 2007-08-16 | Cisco Technology, Inc. | Methods and systems for providing telephony services and enforcing policies in a communication network |
CN102148750B (zh) * | 2010-11-09 | 2014-09-03 | 华为软件技术有限公司 | 消息流量的控制方法、设备及系统 |
CN102724103B (zh) * | 2011-03-30 | 2015-04-01 | 国际商业机器公司 | 代理服务器、分层次网络系统及分布式工作负载管理方法 |
CN102722814B (zh) * | 2012-06-01 | 2015-08-19 | 苏州通付盾信息技术有限公司 | 一种网上交易欺诈风险的自适应可控管理系统 |
CN105991463B (zh) * | 2015-02-13 | 2020-12-25 | 创新先进技术有限公司 | 实现流量控制的方法、消息主节点、令牌服务器及系统 |
US10341239B2 (en) * | 2015-05-21 | 2019-07-02 | Qualcomm Incorporated | Efficient policy enforcement for downlink traffic using network access tokens—control-plane approach |
CN105245468B (zh) * | 2015-09-08 | 2019-04-23 | 天翼爱音乐文化科技有限公司 | 流量限制方法和系统 |
CN106302211B (zh) * | 2016-07-18 | 2018-04-03 | 网易无尾熊(杭州)科技有限公司 | 一种网络资源的请求量控制方法和装置 |
CN106651586A (zh) * | 2016-12-30 | 2017-05-10 | 上海富聪金融信息服务有限公司 | 一种面向多渠道商的金融产品销售开放业务平台 |
-
2018
- 2018-02-28 CN CN201810165612.4A patent/CN108471386B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106170024A (zh) * | 2012-12-24 | 2016-11-30 | 华为技术有限公司 | 一种基于软件定义网络中数据处理的系统、方法和节点 |
CN107133092A (zh) * | 2017-05-24 | 2017-09-05 | 努比亚技术有限公司 | 多线程同步处理方法、终端及计算机可读存储介质 |
CN107707488A (zh) * | 2017-10-25 | 2018-02-16 | 北京数码视讯支付技术有限公司 | 支付联机交易流量控制方法、限流服务端及客户端 |
Also Published As
Publication number | Publication date |
---|---|
CN108471386A (zh) | 2018-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108090225B (zh) | 数据库实例的运行方法、装置、系统及计算机可读存储介质 | |
CN108304554B (zh) | 文件拆分方法、装置、计算机设备和存储介质 | |
CN110597858A (zh) | 任务数据处理方法、装置、计算机设备和存储介质 | |
CN104407926B (zh) | 一种云计算资源的调度方法 | |
CN109918194A (zh) | 智能化扩容缩容方法、装置、计算机设备及存储介质 | |
US20120136850A1 (en) | Memory usage query governor | |
CN106911592A (zh) | 一种自适应资源分配方法及装置 | |
CN108471386B (zh) | 一种基于令牌、交易记录的流量、频率控制方法 | |
CN109981702B (zh) | 一种文件存储方法及系统 | |
CN108196959B (zh) | Etl系统的资源管理方法及装置 | |
WO2020000668A1 (zh) | 一种基于服务器集群的任务执行方法及服务器 | |
CN110191160A (zh) | 一种并发控制方法和装置 | |
CN110599148A (zh) | 集群数据处理方法、装置、计算机集群及可读存储介质 | |
US20180225729A1 (en) | Cost-based license management methods for use in a license management system | |
EP3739449A1 (en) | Prescriptive cloud computing resource sizing based on multi-stream data sources | |
US8510273B2 (en) | System, method, and computer-readable medium to facilitate application of arrival rate qualifications to missed throughput server level goals | |
CN108520401B (zh) | 用户名单管理方法、装置、平台及存储介质 | |
CN111638885A (zh) | 一种插件的发布方法、装置、电子设备及存储介质 | |
CN112651685B (zh) | 一种增值税电子发票的自动补仓方法及系统 | |
CN114860408A (zh) | 线程池资源管理方法及装置 | |
CN114565200A (zh) | 案件分配方法、电子设备及计算机可读存储介质 | |
US10769298B1 (en) | Security system for benchmark access | |
JP2007213339A (ja) | データベース監視方法、データベース監視システム及びデータベース監視プログラム | |
CN114090264A (zh) | 一种云服务资源控制的方法、设备及计算机程序产品 | |
CN112783637A (zh) | 一种资源调控方法和装置 |
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 |