CN108416591B - 一种金融交易中通过api接口实现交易主动限流的方法 - Google Patents
一种金融交易中通过api接口实现交易主动限流的方法 Download PDFInfo
- Publication number
- CN108416591B CN108416591B CN201810169344.3A CN201810169344A CN108416591B CN 108416591 B CN108416591 B CN 108416591B CN 201810169344 A CN201810169344 A CN 201810169344A CN 108416591 B CN108416591 B CN 108416591B
- Authority
- CN
- China
- Prior art keywords
- api
- current
- service
- calling
- monitoring frequency
- 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
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (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
本发明公开一种金融交易中通过API接口实现交易主动限流的方法金融交易后台技术领域,本发明分布式系统是一个脱离与服务提供方和服务调用方之间的独立的服务治理系统,通过对金融交易API接口注册于分布式系统,并在所述分布式系统中对API接口进行业务分类,根据服务提供方系统的TPS指标对API被调用的频率进行监控,在达到一定量级时,可通过事先对交易划分的优先级,按由低到高的顺序进行自动关闭,关闭后,如接口被调用的频率恢复到一定程度(可事先设定)后,按照已关闭交易的优先级由高到低自动启动,该方式事先了对交易的事中监控,及自动弹性限流。
Description
技术领域
本发明涉及金融交易后台技术领域,尤其涉及一种金融交易中通过API接口实现交易主动限流的方法。
背景技术
在金融交易领域,现有的交易模式为服务提供方和服务调用方,服务提供方对外提供服务的调用API接口,服务调用方通过调用上述API接口实现服务。在系统在设计之初就会有一个预估容量,长时间超过系统能承受的TPS/QPS阈值,系统可能会被压垮,最终导致整个服务不够用。为了避免这种情况,就需要对API接口的请求进行限流。限流的目的是通过对并发访问请求进行限速或者一个时间窗口内的请求数量进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待。在金融领域会存在多个服务调用方,服务提供方提供的API接口被调用时,一般是通过设置缓存、队列、令牌、分流等技术方式来实现限流,目前所有的对API接口限流的方法都属于被动限流,即当交易数量发起过多时,服务提供方的应用系统的负载能力有限,如果非预期的请求对系统压力过大而拖垮整个业务应用系统,服务提供方和服务调用方的损失极为惨重,如果仅仅通过上述的被动限流方式将交易进行限流,该类方法属于事后限流,灵活性较差,不能够主动发现并通过预测交易情况提前进行限流,且因金融交易存在业务特性,更需要进行灵活合理的限流。
发明内容
本发明的目的在于:为解决目前所有的对API接口限流的方法都属于被动限流,该类方式灵活性较差,不能够主动发现并通过预测交易情况提前进行限流,导致当交易量过多时,系统压力过大而拖垮整个业务应用系统,服务提供方和服务调用方的损失惨重的问题,本发明提供一种金融交易中通过API接口实现交易主动限流的方法。
本发明的技术方案如下:
一种金融交易中通过API接口实现交易主动限流的方法,其特征在于,包括如下:
S1:在服务提供方和服务调用方发生调用API接口行为之前,新建一个分布式系统,所述的分布式系统能够实现API接口调用权限设置、API接口调用关系统计、TPS参数统计功能;
S2:在所述分布式系统中按照每个API接口对应的业务类型对API接口进行分类;并建立API接口调用与服务提供方的整体视图;
S3:通过所述整体视图将已按照业务类型划分的API接口进行API接口优先级排序,新建并写入优先级表;
S4:根据每个服务提供方的交易TPS参数值A、服务调用方的TPS参数值B 在分布式系统中设置限流监控频率上限值、限流监控频率下限值新建并写入限流参数表;
S5:在服务调用方调用API接口的过程中,如果API接口的调用频率达到 S4中写入的限流监控频率上限值,则分布式系统会通过查询S3中的优先级表,按照由低到高的顺序进行对对应的一个或多个API接口进行关闭,直到系统中所有API接口的调用频率低于S4中所述的限流监控频率上限值,则停止API接口调用关闭。
具体地,所述S1中,所述分布式系统中,所述的API调用权限设置的模式才用令牌申请模式:按服务提供方和服务调用方都拥有的共同属性生成一个字符串,所述字符串作为令牌。
具体地,所述S2中,每一个API接口对应一个令牌,所述分布式系统实现对令牌的控制。
具体地,所述API接口包括查询类、动账类、授信类和认证类;查询类包括客户信息查询、余额查询、账户状态查询等;所述动账类包括充值、提现、转账等。
具体地,所述服务提供方的TPS参数值A大于服务调用方的TPS参数值B,所述限流监控频率上限值大于TPS参数值B,所述限流监控频率下限制小于TPS 参数值B。
进一步地,所述S2中的整体视图会对API接口调用情况进行实施采集并展示。
进一步地,所述S4中,对于不同的时间点,设置限流监控频率上限值、限流监控频率下限值不同。
采用上述方案后,本发明的有益效果如下:
(1)本发明在交易中间层设置了一个主动且弹性可恢复的限流措施,可对交易压力,进行主动调节,可较大缓解服务提供方的性能瓶颈,显著提升系统稳定性。
(2)不同的交易的重要程度不同,本发明考虑了各个服务调用方对应API 接口的优先级,对API接口进行灵活地限流,使得客户进行金融交易时,不再处于完全被动的状态,对企业而言,更好地挽留了重要客户。
(3)本发明在交易中间层设置的分布式系统,能够通过整体视图对API接口调用情况进行实施采集并展示;能够事实对API接口的调用进行监控,灵活根据API接口调用情况修改限流监控频率上限值和限流监控频率下限值。
(4)本发明中,对于不同的时间点,设置限流监控频率上限值、限流监控频率下限值不同,能够对某些异常交易进行良好的监控。
附图说明
图1为本发明的原理示意图;
图2为本发明实施例中的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明中,分布式系统是一个脱离与服务提供方和服务调用方之间的独立的服务治理系统,通过对金融交易API接口注册于分布式系统,并在所述分布式系统中对API接口进行业务分类,根据服务提供方系统的TPS指标对 API被调用的频率进行监控,在达到一定量级时,可通过事先对交易划分的优先级,按由低到高的顺序进行自动关闭,关闭后,如接口被调用的频率恢复到一定程度(可事先设定)后,按照已关闭交易的优先级由高到低自动启动,该方式事先了对交易的事中监控,及自动弹性限流。
具体而言,本实施例包括如下步骤:
S1:在服务提供方和服务调用方发生调用API接口行为之前,新建一个分布式系统,所述的分布式系统能够实现API接口调用权限设置、API接口调用关系统计、TPS参数统计功能。
S2:在所述分布式系统中按照每个API接口对应的业务类型对API接口进行分类;并建立API接口调用与服务提供方的整体视图。
S3:通过所述整体视图将已按照业务类型划分的API接口进行API接口优先级排序,新建并写入优先级表。
S4:根据每个服务提供方的交易TPS参数值A、服务调用方的TPS参数值B 在分布式系统中设置限流监控频率上限值、限流监控频率下限值新建并写入限流参数表。
S5:在服务调用方调用API接口的过程中,如果API接口的调用频率达到 S4中写入的限流监控频率上限值,则分布式系统会通过查询S3中的优先级表,按照由低到高的顺序进行对对应的一个或多个API接口进行关闭,直到系统中所有API接口的调用频率低于S4中所述的限流监控频率上限值,则停止API接口调用关闭。
具体而言,本实施例中的金融交易中通过API即可实现交易主动限流的方法,具体地,在分布式系统中,所述的API调用权限设置的模式采用令牌申请模式,器流程如图2所示。服务提供方和服务调用方都拥有的共同属性生成一个字符串,所述字符串作为令牌。这样,一次API接口的调用视为请求一次令牌,每一个 API接口对应一个令牌,分布式系统实现对令牌的控制。
S2中的整体视图会对API接口调用情况进行实施采集并展示。如果在平常的时间,API接口的调用情况限流的次数极高,则会提醒系统管理人员,系统管理人员将进行检测,是否有违法交易发生。
在S3中,API接口包括查询类、动账类、授信类和认证类等;查询类包括客户信息查询、余额查询、账户状态查询等;所述动账类包括充值、提现、转账等。比如,对于大类别中,优先级顺序为:动账类大于授信类大于认证类大于查询类;在查询类中,优先级顺序依次为:客户信息查询大于余额查询大于账户状态查询;在动账类中,优先级顺序依次为:提现类和转账类优先级相同,充值的优先级最小。本领域技术人员应当理解,优先级的顺序对于不同的服务提供方而言,其排序是不同的,具体的排序内容可以灵活设定。
所述S4中,所述服务提供方的TPS参数值A大于服务调用方的TPS参数值 B,所述限流监控频率上限值大于TPS参数值B,所述限流监控频率下限制小于 TPS参数值B。
对于所述S4中,对于不同的时间点,设置限流监控频率上限值、限流监控频率下限值不同。比如,正常时间内服务提供方的TPS参数值A为50,那么,在配置API接口的监控频率时,限流监控频率上限值和限流监控频率下限值分别为45和35,当分布式系统通过令牌监测到服务请求方的请求交易TPS达到45 时,则打开限流,当分布式系统通过令牌监测到服务请求方的请求交易TPS达到降低到35时,则关闭限流。而在特定的节日,如双十一购物节,可以将限流监控的上限值和下限值提高,限流监控频率上限值和限流监控频率下限值分别为 55和45,当分布式系统通过令牌监测到服务请求方的请求交易TPS达到55时,则打开限流,当分布式系统通过令牌监测到服务请求方的请求交易TPS达到降低到45时,则关闭限流。
总而言之,如图1所示,本发明分布式系统是一个脱离与服务提供方和服务调用方之间的独立的服务治理系统,通过对金融交易API接口注册于分布式系统,并在所述分布式系统中对API接口进行业务分类,根据服务提供方系统的TPS 指标对API被调用的频率进行监控,在达到一定量级时,可通过事先对交易划分的优先级,按由低到高的顺序进行自动关闭,关闭后,如接口被调用的频率恢复到一定程度(可事先设定)后,按照已关闭交易的优先级由高到低自动启动,该方式事先了对交易的事中监控,及自动弹性限流。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (7)
1.一种金融交易中通过API接口实现交易主动限流的方法,其特征在于,包括如下:
S1:在服务提供方和服务调用方发生调用API接口行为之前,新建一个分布式系统,所述的分布式系统能够实现API接口调用权限设置、API接口调用关系统计、TPS参数统计功能;
S2:在所述分布式系统中按照每个API接口对应的业务类型对API接口进行分类;并建立API接口调用与服务提供方的整体视图;
S3:通过所述整体视图将已按照业务类型划分的API接口进行API接口优先级排序,新建并写入优先级表;
S4:根据每个服务提供方的交易TPS参数值A、服务调用方的TPS参数值B在分布式系统中设置限流监控频率上限值、限流监控频率下限值新建并写入限流参数表;
S5:在服务调用方调用API接口的过程中,如果API接口的调用频率达到S4中写入的限流监控频率上限值,则分布式系统会通过查询S3中的优先级表,按照由低到高的顺序进行对对应的一个或多个API接口进行关闭,直到系统中所有API接口的调用频率低于S4中所述的限流监控频率上限值,则停止API接口调用关闭。
2.根据权利要求1所述的一种金融交易中通过API接口实现交易主动限流的方法,其特征在于,所述S1中,所述分布式系统中,所述的API调用权限设置的模式才用令牌申请模式:按服务提供方和服务调用方都拥有的共同属性生成一个字符串,所述字符串作为令牌。
3.根据权利要求2所述的一种金融交易中通过API接口实现交易主动限流的方法,其特征在于,所述S2中,每一个API接口对应一个令牌,所述分布式系统实现对令牌的控制。
4.根据权利要求1所述的一种金融交易中通过API接口实现交易主动限流的方法,其特征在于,所述API接口包括查询类、动账类、授信类和认证类;查询类包括客户信息查询、余额查询、账户状态查询等;所述动账类包括充值、提现、转账等。
5.根据权利要求1所述的一种金融交易中通过API接口实现交易主动限流的方法,其特征在于,所述S4中,所述服务提供方的TPS参数值A大于服务调用方的TPS参数值B,所述限流监控频率上限值大于TPS参数值B,所述限流监控频率下限制小于TPS参数值B。
6.根据权利要求1所述的一种金融交易中通过API接口实现交易主动限流的方法,其特征在于,所述S2中的整体视图会对API接口调用情况进行实施采集并展示。
7.根据权利要求1或5中所述的一种金融交易中通过API接口实现交易主动限流的方法,其特征在于,所述S4中,对于不同的时间点,设置限流监控频率上限值、限流监控频率下限值不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810169344.3A CN108416591B (zh) | 2018-02-28 | 2018-02-28 | 一种金融交易中通过api接口实现交易主动限流的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810169344.3A CN108416591B (zh) | 2018-02-28 | 2018-02-28 | 一种金融交易中通过api接口实现交易主动限流的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108416591A CN108416591A (zh) | 2018-08-17 |
CN108416591B true CN108416591B (zh) | 2021-11-02 |
Family
ID=63129543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810169344.3A Active CN108416591B (zh) | 2018-02-28 | 2018-02-28 | 一种金融交易中通过api接口实现交易主动限流的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108416591B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218212B (zh) * | 2018-09-03 | 2022-05-13 | 四川虹微技术有限公司 | 一种通过api网关对流量进行限制的方法 |
CN111262795B (zh) * | 2020-01-08 | 2024-02-06 | 京东科技控股股份有限公司 | 基于服务接口的限流方法、装置、电子设备及存储介质 |
CN111443962A (zh) * | 2020-03-31 | 2020-07-24 | 海南新软软件有限公司 | 一种交易限制方法及装置 |
CN111555986B (zh) * | 2020-04-26 | 2022-07-05 | 支付宝(杭州)信息技术有限公司 | 一种拥塞控制方法、装置及设备 |
CN112258172A (zh) * | 2020-10-16 | 2021-01-22 | 多点(深圳)数字科技有限公司 | 一种基于机器学习的支付自动降级的方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309185A (zh) * | 2008-07-16 | 2008-11-19 | 杭州华三通信技术有限公司 | 堆叠系统中多主用设备的处理方法和堆叠成员设备 |
CN102769709A (zh) * | 2012-06-25 | 2012-11-07 | 百度在线网络技术(北京)有限公司 | 一种用于向用户提供服务联系信息的方法与装置 |
CN104199669A (zh) * | 2014-09-12 | 2014-12-10 | 北京奇虎科技有限公司 | 对应用程序的进程进行管理的方法及装置 |
CN104914974A (zh) * | 2015-05-22 | 2015-09-16 | 福建天晴数码有限公司 | 掉电后服务保护方法及保护系统 |
CN105262821A (zh) * | 2015-10-29 | 2016-01-20 | 努比亚技术有限公司 | 接口管理装置和方法 |
CN105338010A (zh) * | 2014-06-23 | 2016-02-17 | 青岛海尔智能家电科技有限公司 | 用于设备操作的方法及虚拟服务系统 |
CN107329877A (zh) * | 2017-06-29 | 2017-11-07 | 南京途牛科技有限公司 | 机票业务监控执行系统及方法 |
CN107454087A (zh) * | 2017-08-10 | 2017-12-08 | 中国民航信息网络股份有限公司 | 在线分销接口平台系统 |
CN107592345A (zh) * | 2017-08-28 | 2018-01-16 | 中国工商银行股份有限公司 | 交易限流装置、方法及交易系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100111288A1 (en) * | 2008-11-06 | 2010-05-06 | Afzal Hassan | Time to answer selector and advisor for call routing center |
CN102819715A (zh) * | 2012-08-15 | 2012-12-12 | 腾讯科技(深圳)有限公司 | Api监控方法和装置 |
-
2018
- 2018-02-28 CN CN201810169344.3A patent/CN108416591B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309185A (zh) * | 2008-07-16 | 2008-11-19 | 杭州华三通信技术有限公司 | 堆叠系统中多主用设备的处理方法和堆叠成员设备 |
CN102769709A (zh) * | 2012-06-25 | 2012-11-07 | 百度在线网络技术(北京)有限公司 | 一种用于向用户提供服务联系信息的方法与装置 |
CN105338010A (zh) * | 2014-06-23 | 2016-02-17 | 青岛海尔智能家电科技有限公司 | 用于设备操作的方法及虚拟服务系统 |
CN104199669A (zh) * | 2014-09-12 | 2014-12-10 | 北京奇虎科技有限公司 | 对应用程序的进程进行管理的方法及装置 |
CN104914974A (zh) * | 2015-05-22 | 2015-09-16 | 福建天晴数码有限公司 | 掉电后服务保护方法及保护系统 |
CN105262821A (zh) * | 2015-10-29 | 2016-01-20 | 努比亚技术有限公司 | 接口管理装置和方法 |
CN107329877A (zh) * | 2017-06-29 | 2017-11-07 | 南京途牛科技有限公司 | 机票业务监控执行系统及方法 |
CN107454087A (zh) * | 2017-08-10 | 2017-12-08 | 中国民航信息网络股份有限公司 | 在线分销接口平台系统 |
CN107592345A (zh) * | 2017-08-28 | 2018-01-16 | 中国工商银行股份有限公司 | 交易限流装置、方法及交易系统 |
Non-Patent Citations (2)
Title |
---|
Symphony: A Scheduler for Client-Server Applications on Coprocessor-Based Heterogeneous Clusters;M. Mustafa Rafique 等;《2011 IEEE International Conference on Cluster Computing》;20111027;353-362 * |
基于嵌入式技术的智能血液采集系统关键技术的研究与实现;李海涛;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20160315(第03期);I140-1163 * |
Also Published As
Publication number | Publication date |
---|---|
CN108416591A (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108416591B (zh) | 一种金融交易中通过api接口实现交易主动限流的方法 | |
EP3343426B1 (en) | Database access control method and apparatus | |
US6631371B1 (en) | Database fine-grained access control | |
CN100527090C (zh) | 用于动态分配计算机资源的方法 | |
US8893007B2 (en) | Managing network usage per application via policies | |
WO2018118726A1 (en) | Detecting and preventing fraud and abuse in real time | |
US9137136B2 (en) | Overhead management for event tracing | |
US8904405B1 (en) | System and method for managing mainframe computer system usage | |
CN110276182A (zh) | Api分布式限流的实现方法 | |
US20190102275A1 (en) | System, method and computer program product for monitoring data activity utilizing a shared data store | |
CN110351366B (zh) | 一种互联网应用的服务调度系统和方法及存储介质 | |
US20140101005A1 (en) | Self-service interface for policy control in the cloud | |
CN110955528A (zh) | 一种外联业务处理高并发请求的系统和方法 | |
EP2715576A2 (en) | Traffic control method and traffic control apparatus | |
CN114365128A (zh) | 用于数据自保护的方法和系统 | |
JP5203919B2 (ja) | サーバシステム | |
CN114338105B (zh) | 一种基于零信任信创堡垒机系统 | |
Krautsevich et al. | Risk-based usage control for service oriented architecture | |
US20080208866A1 (en) | Identification, notification, and control of data access quantity and patterns | |
US20120202456A1 (en) | Method and system for optimising the efficiency with which telecommunication network resources are used | |
US10083246B2 (en) | Apparatus and method for universal personal data portability | |
CN113949563B (zh) | 一种基于策略的数据服务器资源访问控制方法 | |
CN113873504A (zh) | 一种应用访问处理的方法、装置、终端和存储介质 | |
CN112214269A (zh) | 基于zookeeper的滑动窗口限流解决方案 | |
CN114257411A (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 |