CN116962304A - 流量控制方法、装置、设备、可读存储介质及程序产品 - Google Patents
流量控制方法、装置、设备、可读存储介质及程序产品 Download PDFInfo
- Publication number
- CN116962304A CN116962304A CN202210383736.6A CN202210383736A CN116962304A CN 116962304 A CN116962304 A CN 116962304A CN 202210383736 A CN202210383736 A CN 202210383736A CN 116962304 A CN116962304 A CN 116962304A
- Authority
- CN
- China
- Prior art keywords
- preset
- target interface
- current limiting
- flow
- updated
- 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 57
- 230000000670 limiting effect Effects 0.000 claims abstract description 157
- 238000011084 recovery Methods 0.000 claims abstract description 113
- 238000012545 processing Methods 0.000 claims description 34
- 230000002159 abnormal effect Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 description 16
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000002829 reductive effect Effects 0.000 description 10
- 230000001276 controlling effect Effects 0.000 description 9
- 238000013480 data collection Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001105 regulatory effect Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/02—Banking, e.g. interest calculation or account maintenance
-
- 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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- 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/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Environmental & Geological Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供了一种流量控制方法、装置、设备、可读存储介质及程序产品,涉及支付领域,应用场景包括但不限于账单查询场景。该方法包括:获取目标接口的相关数据;基于相关数据,确定预设时间段内申请访问目标接口的成功率;基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值;预设限流阈值用于表征拦截申请访问目标接口的次数与申请访问目标接口的总次数之间的比例,流量恢复比例用于表征预设限流阈值的变化量;基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制;如此,实现动态调整用户申请访问目标接口的流量,提升了用户申请访问目标接口的效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种流量控制方法、装置、设备、可读存储介质及程序产品。
背景技术
在账单查询场景下,由于用户查询和批量查询的量级很大,当海量查询请求导致银行接口异常时,银行接口异常势必引起用户重试,从而使用户申请访问银行接口的流量突增,银行接口的一个小抖动,就会导致银行接口雪崩,从而又引起新一轮用户重试;如此循环,使得银行接口长时间不能用。现有技术中当发现银行接口异常,通过公告的方式,将用户访问银行的申请全部抛弃,从而降低了用户申请访问银行接口的效率。
发明内容
本申请针对现有的方式的缺点,提出一种流量控制方法、装置、设备、计算机可读存储介质及计算机程序产品,用于解决如何提升用户申请访问银行接口的效率的问题。
第一方面,本申请提供了一种流量控制方法,包括:
获取目标接口的相关数据;
基于相关数据,确定预设时间段内申请访问目标接口的成功率;
基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值;预设限流阈值用于表征拦截申请访问目标接口的次数与申请访问目标接口的总次数之间的比例,流量恢复比例用于表征预设限流阈值的变化量;
基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制。
在一个实施例中,获取目标接口的相关数据,包括:
通过异步处理队列上报的方式,获取目标接口的相关数据,相关数据包括目标接口的接口标识、目标接口的类型和目标接口的多个返回码,多个返回码中每个返回码的类型为正常业务错误码或非正常业务错误码。
在一个实施例中,目标接口的相关数据包括目标接口的多个返回码,多个返回码中每个返回码的类型为正常业务错误码或非正常业务错误码,基于相关数据,确定预设时间段内申请访问目标接口的成功率,包括:
基于预设时间段内非正常业务错误码的数量,以及返回码的数量,确定预设时间段内申请访问目标接口的成功率。
在一个实施例中,基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值,包括:
若成功率小于所述预设的流量恢复比例,则将预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例;
将预设限流阈值和所述更新后的流量恢复比例之间进行求和,得到更新后的限流阈值。
在一个实施例中,基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值,包括:
若成功率大于或等于所述预设的流量恢复比例,则基于成功率、目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对预设限流阈值进行更新,得到更新后的限流阈值。
在一个实施例中,基于成功率、目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对预设限流阈值进行更新,得到更新后的限流阈值,包括:
若预设限流阈值小于预设的第一阈值,则将预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例;
将预设限流阈值和更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。
在一个实施例中,基于成功率、目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对预设限流阈值进行更新,得到更新后的限流阈值,包括:
若预设限流阈值大于或等于预设的第一阈值,则将预设的流量恢复比例进行线性增加,得到更新后的流量恢复比例;
将预设限流阈值和所述更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。
在一个实施例中,基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制,包括:
获取用户申请访问目标接口的用户标识;
基于用户标识,通过哈希计算,得到用户标识对应的用户编号;
基于更新后的限流阈值,确定更新后的限流阈值对应的限流范围;
若用户编号的预定位数对应的数值在所述限流范围内,则对用户访问目标接口的申请进行拦截。
第二方面,本申请提供了一种流量控制装置,包括:
第一处理模块,用于获取目标接口的相关数据;
第二处理模块,用于基于相关数据,确定预设时间段内申请访问目标接口的成功率;
第三处理模块,用于基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值;预设限流阈值用于表征拦截申请访问目标接口的次数与申请访问目标接口的总次数之间的比例,流量恢复比例用于表征预设限流阈值的变化量;
第四处理模块,用于基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制。
第三方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;
总线,用于连接处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请第一方面的流量控制方法。
第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被用于执行本申请第一方面的流量控制方法。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请第一方面中流量控制方法的步骤。
本申请实施例提供的技术方案,至少具有如下有益效果:
获取目标接口的相关数据;基于相关数据,确定预设时间段内申请访问目标接口的成功率;基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值;预设限流阈值用于表征拦截申请访问目标接口的次数与申请访问目标接口的总次数之间的比例,流量恢复比例用于表征预设限流阈值的变化量;基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制;如此,动态调整限流阈值,从而实现动态调整用户申请访问银行接口(目标接口)的次数,即实现动态调整用户申请访问银行接口的流量,提升了用户申请访问银行接口的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的流量控制系统架构示意图;
图2为本申请实施例提供的一种流量控制方法的流程示意图;
图3为本申请实施例提供的流量控制的示意图;
图4为本申请实施例提供的流量控制的示意图;
图5为本申请实施例提供的流量控制的示意图;
图6为本申请实施例提供的另一种流量控制方法的流程示意图;
图7为本申请实施例提供的流量控制的示意图;
图8为本申请实施例提供的一种流量控制装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“B”,或者实现为“A和B”。
可以理解的是,在本申请的具体实施方式中,涉及到流量控制相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例是流量控制系统提供的一种流量控制方法,该流量控制方法涉及支付、云技术等领域。示例性的,本申请实施例中所涉及的账单查询等可以通过云技术进行账单查询。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
为了更好的理解及说明本申请实施例的方案,下面对本申请实施例中所涉及到的一些技术用语进行简单说明。
CGI:CGI(Common Gateway Interface,公共网关接口)是Web服务器运行时外部程序的规范,按CGI编写的程序可以扩展服务器功能。
CMQ:CMQ(Cloud Message Queue,云消息队列)是一款高可靠、高可用、高性能的分布式消息队列服务,具有低耦合、消息可靠、强一致性、可扩展性等特点,支持Push/Pull消费模型、消息回溯、延时消息、发布订阅、路由广播、消息加密等一系列功能。
本申请实施例提供的方案涉及云技术,下面以具体的实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
为了更好的理解本申请实施例提供的方案,下面结合具体的一个应用场景对该方案进行说明。
在一个实施例中,图1中示出了本申请实施例所适用的一种流量控制系统的架构示意图,可以理解的是,本申请实施例所提供的流量控制方法可以适用于但不限于应用于如图1所示的应用场景中。
本示例中,如图1所示,该示例中的流量控制架构可以包括但不限于终端10、服务器20、网络30、数据库40和服务器50。终端10和服务器20之间可以通过网络30进行交互,服务器20和数据库40之间可以通过网络30进行交互,服务器20和服务器50之间可以通过网络30进行交互;其中,服务器50可以是目标接口对应的服务器,目标接口可以是银行接口。服务器20获取目标接口的相关数据;服务器20基于相关数据,确定预设时间段内终端10申请访问目标接口的成功率;服务器20基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值;预设限流阈值用于表征拦截申请访问目标接口的次数与申请访问目标接口的总次数之间的比例,流量恢复比例用于表征预设限流阈值的变化量;服务器20基于更新后的限流阈值,对预设时间段内终端10申请访问目标接口的次数进行控制;服务器20将更新后的限流阈值发送到数据库40进行存储;终端10可以通过服务器20,访问目标接口,即访问服务器50。
可理解,上述仅为一种示例,本实施例在此不作限定。
其中,终端可以是智能手机(如Android手机、iOS手机等)、手机模拟器、平板电脑、笔记本电脑、数字广播接收器、MID(Mobile Internet Devices,移动互联网设备)、PDA(个人数字助理)等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
所谓人工智能云服务,一般也被称作是AIaaS(AIas a Service,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。
上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、Wi-Fi及其他实现无线通信的网络。具体也可基于实际应用场景需求确定,在此不作限定。
参见图2,图2示出了本申请实施例提供的一种流量控制方法的流程示意图,其中,该方法可以由任一电子设备执行,如可以是服务器,作为一可选实施方式,该方法可以由服务器执行,为了描述方便,在下文的一些可选实施例的描述中,将以服务器作为该方法执行主体为例进行说明。如图2所示,本申请实施例提供的流量控制方法包括如下步骤:
S201,获取目标接口的相关数据。
具体地,目标接口可以为银行接口,例如,在信用卡还款业务中,用户进入信用卡还款首页和指定信用卡的还款页时,若要查询用户的信用卡账单数据,就需要申请访问银行接口。目标接口的相关数据可以包括目标接口的接口标识、目标接口的类型和目标接口的多个返回码;例如目标接口为银行接口,则银行接口的相关数据可以包括银行接口的接口标识、银行接口的类型和银行接口的多个返回码。
S202,基于相关数据,确定预设时间段内申请访问目标接口的成功率。
具体地,例如在预设时间段内,多个用户总共100次申请访问目标接口,成功申请访问目标接口90次,则在预设时间段内申请访问目标接口的成功率为90%;其中,目标接口可以为银行接口。
S203,基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值;预设限流阈值用于表征拦截申请访问目标接口的次数与申请访问目标接口的总次数之间的比例,流量恢复比例用于表征预设限流阈值的变化量。
具体地,限流阈值可以是限流比例,限流比例是一个百分比,例如限流比例为20%。又例如,拦截申请访问目标接口的次数为20次,申请访问目标接口的总次数为100次,那么限流阈值为20%,即20%的访问目标接口的申请需要抛弃;需要抛弃的申请不再发往银行接口,而是直接抛弃,并通知用户该次申请失败;其中,申请可以是用户请求。流量恢复比例可以是恢复比例,流量恢复比例是一个百分比,例如,流量恢复比例是50%。
S204,基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制。
具体地,将预设限流阈值动态调整为更新后的限流阈值,基于更新后的限流阈值,实现动态调整用户申请访问目标接口的次数;其中,目标接口可以为银行接口。
本申请实施例中,获取目标接口的相关数据;基于相关数据,确定预设时间段内申请访问目标接口的成功率;基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值;预设限流阈值用于表征拦截申请访问目标接口的次数与申请访问目标接口的总次数之间的比例,流量恢复比例用于表征预设限流阈值的变化量;基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制;如此,动态调整限流阈值,从而实现动态调整用户申请访问银行接口的次数,即实现动态调整用户申请访问银行接口的流量,提升了用户申请访问银行接口的效率。
在一个实施例中,获取目标接口的相关数据,包括:
通过异步处理队列上报的方式,获取目标接口的相关数据,相关数据包括目标接口的接口标识、目标接口的类型和目标接口的多个返回码,多个返回码中每个返回码的类型为正常业务错误码或非正常业务错误码。
具体地,异步处理队列上报的方式可以是CMQ上报的方式;目标接口可以是银行接口,银行接口的接口标识可以是自定义的银行标识,银行标识用于区分各个银行;银行接口的类型包括提现接口、账单接口、分期接口等;银行接口的返回码可以是银行接口返回的错误码,银行接口返回的错误码可以是正常业务错误码或非正常业务错误码。
需要说明的是,银行接口返回某些错误码,不代表银行接口有异常。例如,银行接口返回卡状态异常的错误码,则此时银行接口是正常的,不能计入异常统计,该错误码是正常业务错误码。又例如,账单查询场景中银行接口出现问题,银行接口返回错误码,提示用户“暂未获取到最新账单”,该错误码对应“暂未获取到最新账单”,该错误码为非正常业务错误码。银行接口返回的错误码可以是正常业务错误码或非正常业务错误码,应该筛除掉正常业务错误码,仅使用非正常业务错误码进行异常统计。
在一个实施例中,目标接口的相关数据包括目标接口的多个返回码,多个返回码中每个返回码的类型为正常业务错误码或非正常业务错误码,基于相关数据,确定预设时间段内申请访问目标接口的成功率,包括:
基于预设时间段内非正常业务错误码的数量,以及返回码的数量,确定预设时间段内申请访问目标接口的成功率。
具体地,目标接口可以是银行接口,银行接口返回的错误码可以是正常业务错误码或非正常业务错误码,应该筛除掉正常业务错误码,仅使用非正常业务错误码进行异常统计,银行接口返回非正常业务错误码,表明申请(用户请求)访问银行接口失败。例如在预设时间段内,多个用户总共100次申请访问目标接口,银行接口返回非正常业务错误码的数量为10,即申请访问银行接口失败10次,成功申请访问银行接口90次,则在预设时间段内申请访问银行接口的成功率为90%。
在一个实施例中,基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值,包括:
若成功率小于预设的流量恢复比例,则将预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例;
将预设限流阈值和更新后的流量恢复比例之间进行求和,得到更新后的限流阈值。
具体地,目标接口可以是银行接口,若成功率小于预设的流量恢复比例,说明银行接口出现了问题,需要快速降低流量,保护银行接口;因此,将预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例,将预设限流阈值和更新后的流量恢复比例之间进行求和,得到更新后的限流阈值,即将预设限流阈值进行指数级增加,得到了更新后的限流阈值,基于更新后的限流阈值可以快速降低流量,从而保护银行接口;例如,预设限流阈值可以为20%,更新后的限流阈值可以为80%。
在一个实施例中,基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值,包括:
若成功率大于或等于所述预设的流量恢复比例,则基于成功率、目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对预设限流阈值进行更新,得到更新后的限流阈值。
具体地,目标接口可以是银行接口,若成功率大于或等于预设的流量恢复比例,说明银行接口的成功率恢复了,若银行接口的成功率恢复了,则需要缓慢将流量提高,避免再次冲击银行接口;因此,基于成功率、目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对预设限流阈值进行更新,得到更新后的限流阈值,基于更新后的限流阈值,缓慢将流量提高,从而保护银行接口。
在一个实施例中,基于成功率、目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对预设限流阈值进行更新,得到更新后的限流阈值,包括:
若预设限流阈值小于预设的第一阈值,则将预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例;
将预设限流阈值和更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。
具体地,第一阈值可以是软限值,例如,预设限流阈值为70%,第一阈值为80%,预设限流阈值70%小于第一阈值80%,则将流量恢复比例进行指数级增加,预设限流阈值下降得就比较快,即将预设限流阈值和更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。
在一个实施例中,基于成功率、目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对预设限流阈值进行更新,得到更新后的限流阈值,包括:
若预设限流阈值大于或等于预设的第一阈值,则将预设的流量恢复比例进行线性增加,得到更新后的流量恢复比例;
将预设限流阈值和更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。
具体地,第一阈值可以是软限值,例如,预设限流阈值为90%,第一阈值为80%,预设限流阈值90%大于第一阈值80%,则将流量恢复比例进行线性增加,预设限流阈值下降得就比较慢,即将预设限流阈值和更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。
在一个实施例中,基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制,包括:
获取用户申请访问目标接口的用户标识;
基于用户标识,通过哈希计算,得到用户标识对应的用户编号;
基于更新后的限流阈值,确定更新后的限流阈值对应的限流范围;
若用户编号的预定位数对应的数值在所述限流范围内,则对用户访问目标接口的申请进行拦截。
具体地,例如,基于用户标识(某用户的openid),通过哈希计算,得到用户标识对应的用户编号(hash值),用户编号的最后两位为12;更新后的限流阈值为20%,设定限流范围的start值为10,则更新后的限流阈值20%对应的限流范围为[10,30)。用户编号的最后两位12在限流范围[10,30)内,因此,对该用户访问银行接口的申请进行拦截,即该用户访问银行接口的申请需要抛弃;需要抛弃的申请不再发往银行接口,而是直接抛弃,并通知该用户该次申请失败。
应用本申请实施例,至少具有如下有益效果:
动态调整限流阈值,从而实现动态调整用户申请访问银行接口的次数,即实现动态调整用户申请访问银行接口的流量,保护了银行接口,提升了用户申请访问银行接口的效率。
为了更好的理解本申请实施例所提供的方法,下面结合具体应用场景的示例对本申请实施例的方案进行进一步说明。
在一个实施例中,在“信用卡还款”业务中,用户进入首页和指定信用卡的还款页时,会查询用户的信用卡账单数据。在海量请求冲击或银行接口异常时,本申请实施例所提供的方法可以及时发现银行接口异常,并提示用户。具体页面表现如下:首页如图3所示,账单查询接口出现问题时,提示用户“暂未获取到最新账单”;还款页如图4所示,账单查询接口出现问题时,提示用户“暂未获取到最新账单”。
本申请实施例所提供的方法可以应用到账单查询场景中,例如用户查询、批量查询等。用户查询可以体现在“信用卡还款”的首页和支付页中,具体的应用场景参见图3和图4。在信用卡的账单日和还款日,需要给用户推送还款提醒,因此需要批量查询账单信息;由于信用卡绑卡数巨大,会出现海量查询的场景,本申请实施例所提供的方法可以很好的保护银行接口,避免海量查询对银行接口造成冲击。
在一个实施例中,账单查询体系如图5所示,在账单查询体系中,通过动态流量系统执行本申请实施例所提供的方法;在用户查询、批量查询等场景中,通过动态流量系统能很好调整用户请求访问银行接口的流量,在银行接口异常时,动态调整限流阈值,从而实现动态调整用户申请访问银行接口的次数,即实现动态调整用户申请访问银行接口的流量,保护了银行接口,提升了用户申请访问银行接口的效率。
在一个具体应用场景实施例中,例如账单查询场景,参见图6,示出了一种流量控制方法的处理流程,其中,该方法可以由任一电子设备执行,如可以是服务器,作为一可选实施方式,该方法可以由服务器执行,为了描述方便,在下文的一些可选实施例的描述中,将以服务器作为该方法执行主体为例进行说明。如图6所示,本申请实施例提供的流量控制方法的处理流程包括如下步骤:
S801,通过动态流量系统进行数据收集。
在一个实施例中,动态流量系统如图7所示,动态流量体系包括数据收集、批跑分析、以及数据使用,通过动态流量系统中的数据收集,进行数据收集。将账单查询服务进行统一上报,各银行和各CGI(第三方支付平台)就不需要感知上报的能力;批跑分析会通过公告系统的公告接口,进行公告信息查询,将查询到的公告信息和更新后的限流阈值放在数据库ckv(限流&公告ckv)中,方便业务使用。
在一个实施例中,通过CMQ上报的方式,收集最小的数据,在将收集到数据进行数据过滤之后,将过滤后的数据,定时更新到如图7所示的数据库ckv(数据收集ckv)中,数据的异步统计和数据的更新都是由一个单独的服务service来完成的,该服务包括:
(1)收集方式:采用CMQ上报的方式,即异步统计的方式。在请求银行接口之后,通过CMQ,异步通知数据上报服务;由该数据上报服务,异步来统计,并定时更新到数据收集ckv中。采用异步处理(异步统计的方式)的优点是避免对主流程的影响,可以用来提升系统的健壮性。
(2)收集维度:支持银行维度和接口维度的数据收集。例如,可以是各银行的接口数据,也可以是各银行内不同接口的接口数据。
(3)收集粒度:遵循数据最小原则,仅上报银行类型(银行类型是自定义的银行标识,用于区分各个银行)、银行接口的类型、银行接口的返回码这三个字断;如此,可以减少数据依赖和数据上报的流量。
(4)数据过滤:银行接口返回某些错误码,不代表银行接口有异常。例如,银行接口返回卡状态异常的错误码,则此时银行接口是正常的,不能计入异常统计,该错误码是正常业务错误码,因此,需要过滤掉正常业务错误码。
(5)定时上报:将需要上报的数据缓存后,定时更新到数据库ckv(数据收集ckv)中,减少对ckv的更新次数;其次是要判断数据的有效性,上报之前会判断数据量的大小和数据的更新时间,不符合条件就先抛弃该数据,避免脏数据的产生。
S802,通过动态流量系统中的批跑分析,将收集到的数据进行数据分析,得到更新后的限流阈值。
具体地,如图7所示,通过动态流量系统中的批跑分析将收集到的数据进行数据分析,即根据收集到的数据,实时判断银行接口状态,计算得到更新后的限流阈值。S802涉及三个方面,这三个方面分别是数据获取、限流判断,以及可用性。
在一个实施例中,在数据获取方面,从多个渠道获取原始数据,即银行类型、银行接口的类型和银行接口的返回码,并对原始数据进行数据校验。其中:
(1)原始数据获取:数据分析能力是通过独立的批跑(批处理任务)来完成的。主要是为了做到业务解耦,不影响任何的业务流程,放在独立批跑中也比较容易维护;其次因为限流能力并不是主流程的功能,即使统计失败了,也不影响主流程。
(2)原始数据校验:第一,不同银行有不同的最小可用的数量判断,考虑到银行接口抖动的情况,如果银行的数据量级太小,就不适合用于分析。第二,数据量级小的银行可以不进行限流判断,用户请求失败了,可以直接让用户重试;第三,时间间隔判断,定时使用并重置统计数据,避免因为统计数据过期而出现误判。
(3)结合公告信息:批跑分析不仅分析接口健康度数据,也查询各渠道的公告信息,例如所有银行和所有子业务类型的公告信息。将公告信息和接口健康度数据存储在一起,可以方便图7中所示的调用方使用。
在一个实施例中,在限流判断方面,限流判断可以采用快降缓升的策略;若接口出现问题,则快速降低流量保护银行接口;若接口成功率恢复了,则缓慢将流量提高,并缓慢进行探测,避免再次冲击银行接口。
具体地,若预设时间段内申请访问目标接口的成功率小于预设的流量恢复比例(恢复比例),则将预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例;将预设限流阈值和更新后的流量恢复比例之间进行求和,得到更新后的限流阈值。
若成功率大于或等于预设的流量恢复比例,且预设限流阈值小于预设的第一阈值(软限值),则将预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例;将预设限流阈值和更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。将流量恢复比例进行指数级增加,预设限流阈值下降得就比较快。
若成功率大于或等于预设的流量恢复比例,且预设限流阈值大于或等于预设的第一阈值(软限值),则将预设的流量恢复比例进行线性增加,得到更新后的流量恢复比例;将预设限流阈值和更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。将流量恢复比例进行线性增加,预设限流阈值下降得就比较慢。
具体地,用户随机,发生限流时不能总限制同一批用户;每次更新限流结束时间时,都可以重新计算得到更新后的限流阈值,从而可以得到随机的限流范围,如此,可以实现最大化利用银行接口,也能最大化的服务用户。流量探测,需要保持探测流量来实时感知银行接口的可用性,用于限流的恢复,例如确保最低有1%的流量。
在一个实施例中,在可用性方面,包括:
(1)灵活配置:不同银行的性能不一样,成功率不一样,量级也不一样,差异性很大;可以支持各家银行的灵活配置,准确灵敏的计算限流阈值,从而保护银行接口。
(2)默认值配置:不需要每家银行接入都要进行配置,可以使用通用的限流配置。
(3)检测上报:若限流阈值大于第二阈值(配置值),说明银行接口出现异常,可以实时上报并告警,通过告警可以及时进行流量控制。
S803,通过动态流量系统将更新后的限流阈值,运用到账单查询场景。
具体地,基于更新后的限流阈值,确定更新后的限流阈值对应的限流范围;若用户编号的预定位数对应的数值在限流范围内,则对用户访问目标接口的申请进行拦截。例如,基于用户标识,通过哈希计算,得到用户标识对应的用户编号,用户编号的最后两位为20;更新后的限流阈值为20%,设定限流范围的start值为10,则更新后的限流阈值20%对应的限流范围为[10,30)。用户编号的最后两位20在限流范围[10,30)内,因此,对该用户访问银行接口的申请进行拦截,即该用户访问银行接口的申请需要抛弃;需要抛弃的申请不再发往银行接口,而是直接抛弃,并通知该用户该次申请失败。
在一个实施例中,更新后的限流阈值的使用原则包括:坚持短路速错的原则,即发现银行接口无法处理,则尽快抛错,减少业务系统的压力。
更新后的限流阈值的可以供多方使用,例如,如图7中所示的CGI和业务批跑,都会从数据库ckv(限流&公告ckv)中获取更新后的限流阈值,对更新后的限流阈值进行灵活使用,从而达到保护银行接口的目的。
更新后的限流阈值的获取方式包括:采用多级存储的方式,首先利用本地缓存,将从数据库ckv(限流&公告ckv)中获取的更新后的限流阈值,放入本地缓存,定期更新,减少ckv接口压力;若本地缓存失效,则降级使用数据库ckv的数据;若数据库ckv也查询失败,则再降级查询公告系统的接口。
更新后的限流阈值的使用方式包括:做白名单过滤,为了在发生问题时能够验证银行接口,需要配置白名单,发生限流时,仍然支持白名单访问银行接口;做了页面优先级的判断,发生限流时,优先级高的页面,分配较多流量;当发生限流时,可以根据配置计算一个限流结束时间,并将限流结束时间展示给用户,从而给用户一个预期。
应用本申请实施例,至少具有如下有益效果:
动态流量系统根据银行接口的实时状态,动态调整请求流量,在保护银行接口同时,极大提升了用户体验。
本申请实施例还提供了一种流量控制装置,该流量控制装置的结构示意图如图8所示,流量控制装置90,包括第一处理模块901、第二处理模块902、第三处理模块903和第四处理模块904。
第一处理模块901,用于获取目标接口的相关数据;
第二处理模块902,用于基于相关数据,确定预设时间段内申请访问目标接口的成功率;
第三处理模块903,用于基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值;预设限流阈值用于表征拦截申请访问目标接口的次数与申请访问目标接口的总次数之间的比例,流量恢复比例用于表征预设限流阈值的变化量;
第四处理模块904,用于基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制。
在一个实施例中,第一处理模块901,具体用于:
通过异步处理队列上报的方式,获取目标接口的相关数据,相关数据包括目标接口的接口标识、目标接口的类型和目标接口的多个返回码,多个返回码中每个返回码的类型为正常业务错误码或非正常业务错误码。
在一个实施例中,目标接口的相关数据包括目标接口的多个返回码,多个返回码中每个返回码的类型为正常业务错误码或非正常业务错误码,第二处理模块902,具体用于:
基于预设时间段内非正常业务错误码的数量,以及返回码的数量,确定预设时间段内申请访问目标接口的成功率。
在一个实施例中,第三处理模块903,具体用于:
若成功率小于所述预设的流量恢复比例,则将预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例;
将预设限流阈值和所述更新后的流量恢复比例之间进行求和,得到更新后的限流阈值。
在一个实施例中,第三处理模块903,具体用于:
若成功率大于或等于所述预设的流量恢复比例,则基于成功率、目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对预设限流阈值进行更新,得到更新后的限流阈值。
在一个实施例中,第三处理模块903,具体用于:
若预设限流阈值小于预设的第一阈值,则将预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例;
将预设限流阈值和更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。
在一个实施例中,第三处理模块903,具体用于:
若预设限流阈值大于或等于预设的第一阈值,则将预设的流量恢复比例进行线性增加,得到更新后的流量恢复比例;
将预设限流阈值和所述更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。
在一个实施例中,第四处理模块904,具体用于:
获取用户申请访问目标接口的用户标识;
基于用户标识,通过哈希计算,得到用户标识对应的用户编号;
基于更新后的限流阈值,确定更新后的限流阈值对应的限流范围;
若用户编号的预定位数对应的数值在所述限流范围内,则对用户访问目标接口的申请进行拦截。
应用本申请实施例,至少具有如下有益效果:
获取目标接口的相关数据;基于相关数据,确定预设时间段内申请访问目标接口的成功率;基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值;预设限流阈值用于表征拦截申请访问目标接口的次数与申请访问目标接口的总次数之间的比例,流量恢复比例用于表征预设限流阈值的变化量;基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制;如此,动态调整限流阈值,从而实现动态调整用户申请访问银行接口的次数,即实现动态调整用户申请访问银行接口的流量,提升了用户申请访问银行接口的效率。
本申请实施例还提供了一种电子设备,该电子设备的结构示意图如图9所示,图9所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:服务器等。
应用本申请实施例,至少具有如下有益效果:
获取目标接口的相关数据;基于相关数据,确定预设时间段内申请访问目标接口的成功率;基于成功率、目标接口对应的预设限流阈值,以及预设的流量恢复比例,对预设限流阈值进行更新,得到更新后的限流阈值;预设限流阈值用于表征拦截申请访问目标接口的次数与申请访问目标接口的总次数之间的比例,流量恢复比例用于表征预设限流阈值的变化量;基于更新后的限流阈值,对预设时间段内申请访问目标接口的次数进行控制;如此,动态调整限流阈值,从而实现动态调整用户申请访问银行接口的次数,即实现动态调整用户申请访问银行接口的流量,提升了用户申请访问银行接口的效率。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
基于与本申请实施例提供的方法相同的原理,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述本申请任一可选实施例中提供的方法。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (12)
1.一种流量控制方法,其特征在于,包括:
获取目标接口的相关数据;
基于所述相关数据,确定预设时间段内申请访问所述目标接口的成功率;
基于所述成功率、所述目标接口对应的预设限流阈值,以及预设的流量恢复比例,对所述预设限流阈值进行更新,得到更新后的限流阈值;所述预设限流阈值用于表征拦截申请访问所述目标接口的次数与申请访问所述目标接口的总次数之间的比例,所述流量恢复比例用于表征所述预设限流阈值的变化量;
基于所述更新后的限流阈值,对预设时间段内申请访问所述目标接口的次数进行控制。
2.根据权利要求1所述的方法,其特征在于,所述获取目标接口的相关数据,包括:
通过异步处理队列上报的方式,获取目标接口的相关数据,所述相关数据包括所述目标接口的接口标识、所述目标接口的类型和所述目标接口的多个返回码,所述多个返回码中每个返回码的类型为正常业务错误码或非正常业务错误码。
3.根据权利要求1所述的方法,其特征在于,所述目标接口的相关数据包括所述目标接口的多个返回码,所述多个返回码中每个返回码的类型为正常业务错误码或非正常业务错误码,所述基于所述相关数据,确定预设时间段内申请访问所述目标接口的成功率,包括:
基于预设时间段内非正常业务错误码的数量,以及返回码的数量,确定所述预设时间段内申请访问所述目标接口的成功率。
4.根据权利要求1所述的方法,其特征在于,所述基于所述成功率、所述目标接口对应的预设限流阈值,以及预设的流量恢复比例,对所述预设限流阈值进行更新,得到更新后的限流阈值,包括:
若所述成功率小于所述预设的流量恢复比例,则将所述预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例;
将所述预设限流阈值和所述更新后的流量恢复比例之间进行求和,得到更新后的限流阈值。
5.根据权利要求1所述的方法,其特征在于,所述基于所述成功率、所述目标接口对应的预设限流阈值,以及预设的流量恢复比例,对所述预设限流阈值进行更新,得到更新后的限流阈值,包括:
若所述成功率大于或等于所述预设的流量恢复比例,则基于所述成功率、所述目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对所述预设限流阈值进行更新,得到更新后的限流阈值。
6.根据权利要求5所述的方法,其特征在于,所述基于所述成功率、所述目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对所述预设限流阈值进行更新,得到更新后的限流阈值,包括:
若所述预设限流阈值小于预设的第一阈值,则将所述预设的流量恢复比例进行指数级增加,得到更新后的流量恢复比例;
将所述预设限流阈值和所述更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。
7.根据权利要求5所述的方法,其特征在于,所述基于所述成功率、所述目标接口对应的预设限流阈值、预设的流量恢复比例,以及预设的第一阈值,对所述预设限流阈值进行更新,得到更新后的限流阈值,包括:
若所述预设限流阈值大于或等于预设的第一阈值,则将所述预设的流量恢复比例进行线性增加,得到更新后的流量恢复比例;
将所述预设限流阈值和所述更新后的流量恢复比例之间进行求差,得到更新后的限流阈值。
8.根据权利要求1所述的方法,其特征在于,所述基于所述更新后的限流阈值,对预设时间段内申请访问所述目标接口的次数进行控制,包括:
获取用户申请访问所述目标接口的用户标识;
基于所述用户标识,通过哈希计算,得到所述用户标识对应的用户编号;
基于所述更新后的限流阈值,确定所述更新后的限流阈值对应的限流范围;
若所述用户编号的预定位数对应的数值在所述限流范围内,则对所述用户访问所述目标接口的申请进行拦截。
9.一种流量控制装置,其特征在于,包括:
第一处理模块,用于获取目标接口的相关数据;
第二处理模块,用于基于所述相关数据,确定预设时间段内申请访问所述目标接口的成功率;
第三处理模块,用于基于所述成功率、所述目标接口对应的预设限流阈值,以及预设的流量恢复比例,对所述预设限流阈值进行更新,得到更新后的限流阈值;所述预设限流阈值用于表征拦截申请访问所述目标接口的次数与申请访问所述目标接口的总次数之间的比例,所述流量恢复比例用于表征所述预设限流阈值的变化量;
第四处理模块,用于基于所述更新后的限流阈值,对预设时间段内申请访问所述目标接口的次数进行控制。
10.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-8中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210383736.6A CN116962304A (zh) | 2022-04-12 | 2022-04-12 | 流量控制方法、装置、设备、可读存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210383736.6A CN116962304A (zh) | 2022-04-12 | 2022-04-12 | 流量控制方法、装置、设备、可读存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116962304A true CN116962304A (zh) | 2023-10-27 |
Family
ID=88453383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210383736.6A Pending CN116962304A (zh) | 2022-04-12 | 2022-04-12 | 流量控制方法、装置、设备、可读存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116962304A (zh) |
-
2022
- 2022-04-12 CN CN202210383736.6A patent/CN116962304A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11526889B2 (en) | Resource transferring monitoring method and device | |
US10129118B1 (en) | Real time anomaly detection for data streams | |
CN106487907B (zh) | 推广信息的分享方法和系统 | |
CN110768912B (zh) | Api网关限流方法及装置 | |
US20180027061A1 (en) | Method and apparatus for elastically scaling virtual machine cluster | |
CN107463434B (zh) | 一种分布式任务处理方法与设备 | |
CN106487603B (zh) | 一种响应测试方法及装置 | |
CN110798490B (zh) | 基于数据中台接入第三方系统的方法、装置及数据中台 | |
CN111885050B (zh) | 基于区块链网络的数据存储方法、装置、相关设备及介质 | |
CN104113576A (zh) | 一种客户端的更新方法及装置 | |
CN108540533B (zh) | 一种应答请求的方法和装置 | |
CN107291744A (zh) | 确定及运用应用程序之间的关系关联的方法及装置 | |
CN110602056A (zh) | 一种业务参数传递方法及装置 | |
CN107247763A (zh) | 业务数据统计方法、装置、系统、存储介质及电子设备 | |
CN108521402B (zh) | 一种输出标签的方法、装置及设备 | |
CN111245897B (zh) | 数据处理方法、装置、系统、存储介质及处理器 | |
CN113434293A (zh) | 处理重复请求的方法和装置、存储介质及电子装置 | |
CN113703996B (zh) | 基于用户和yang模型分组的访问控制方法、设备及介质 | |
CN108833500B (zh) | 服务调用方法、服务提供方法、数据传递方法和服务器 | |
CN113114678B (zh) | 一种业务执行方法及装置 | |
CN109308219B (zh) | 任务处理方法、装置及分布式计算机系统 | |
CN110781500A (zh) | 一种数据风控系统以及方法 | |
CN116962304A (zh) | 流量控制方法、装置、设备、可读存储介质及程序产品 | |
CN109039695B (zh) | 业务故障处理方法、装置及设备 | |
CN112529613B (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 |