CN112333110A - 基于漏斗限流模型的请求验证处理方法及相关设备 - Google Patents
基于漏斗限流模型的请求验证处理方法及相关设备 Download PDFInfo
- Publication number
- CN112333110A CN112333110A CN202011197216.3A CN202011197216A CN112333110A CN 112333110 A CN112333110 A CN 112333110A CN 202011197216 A CN202011197216 A CN 202011197216A CN 112333110 A CN112333110 A CN 112333110A
- Authority
- CN
- China
- Prior art keywords
- funnel
- capacity
- flow
- historical
- funnel capacity
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 36
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 230000004044 response Effects 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000005111 flow chemistry technique Methods 0.000 claims abstract description 20
- 239000002245 particle Substances 0.000 claims description 28
- 238000003860 storage Methods 0.000 claims description 12
- 238000004519 manufacturing process Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 7
- 238000010200 validation analysis Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002459 sustained effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004401 flow injection analysis Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 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
- H04L47/215—Flow control; Congestion control using token-bucket
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例属于消息队列领域,涉及一种基于漏斗限流模型的请求验证处理方法,包括获取第一历史漏斗数据;根据所述第一历史漏斗容量、所述理想漏斗容量、所述流量注满时间以及所述流量处理时间分别计算漏斗限流模型的请求拒绝率因子和响应率因子;根据所述请求拒绝率因子、所述响应率因子计算容量均衡值;并根据所述容量均衡值更新所述漏斗限流模型的实际漏斗容量,根据更新实际漏斗容量后的漏斗限流模型对用户发送的服务器验证请求进行限流处理。采用本方法解决了现有技术中不能提前预估一个应用场景下经设置限流的最合理的参数。
Description
技术领域
本申请涉及消息队列领域,特别是涉及一种基于漏斗限流模型的请求验证处理方法、装置、计算机设备和存储介质。
背景技术
漏斗限流是典型的限流方式之一,漏斗的容量代表着规定的行为可以持续的总数量,漏斗剩余控件就代表当前行为可以持续进行的数量,漏嘴的流速代表着系统允许该行为的最大频率。在实际的项目中经常会用到限流策略来防止请求的爆发式增长,而造成服务器的瘫痪。现有技术中,基于漏斗限流是经常会被采用的一种限流方式,但是在实际开发中,并不能提前预估一个应用场景下经设置限流的最合理的参数的技术问题,导致的生产环境中参数错误而容易造成生产事故。
发明内容
基于此,针对上述技术问题,本申请提供一种基于漏斗限流模型的请求验证处理方法、装置、计算机设备及存储介质,以解决现有技术中漏斗限流模型普适性不强的技术问题。
一种基于漏斗限流模型的请求验证处理方法,所述方法包括:
获取第一历史漏斗数据,其中,所述第一历史漏斗数据包括第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间;
根据所述第一历史漏斗容量、所述理想漏斗容量、所述流量注满时间以及所述流量处理时间分别计算漏斗限流模型的请求拒绝率因子和响应率因子;
根据所述请求拒绝率因子、所述响应率因子计算容量均衡值;并
根据所述容量均衡值更新所述漏斗限流模型的实际漏斗容量;
根据更新实际漏斗容量后的漏斗限流模型对用户发送的服务器验证请求进行限流处理。
一种基于漏斗限流模型的请求验证处理装置,所述装置包括:
第一数据模块,用于获取第一历史漏斗数据,其中,所述第一历史漏斗数据包括第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间;
因子模块,用于根据所述第一历史漏斗容量、所述理想漏斗容量、所述流量注满时间以及所述流量处理时间分别计算漏斗限流模型的请求拒绝率因子和响应率因子;
均衡模块,用于根据所述请求拒绝率因子、所述响应率因子计算容量均衡值;并
更新模块,用于根据所述容量均衡值更新所述漏斗限流模型的实际漏斗容量;
限流模块,用于根据更新实际漏斗容量后的漏斗限流模型对用户发送的服务器验证请求进行限流处理。
一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述基于漏斗限流模型的请求验证处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述基于漏斗限流模型的请求验证处理方法的步骤。
上述基于漏斗限流模型的请求验证处理方法、装置、计算机设备和存储介质,通过根据历史漏斗数据,引入两个新的参数:请求拒绝率因子和响应率因子,然后根据新引入的参数得到一个适用于多个场景下的容量均衡值,然后将该容量均衡值设为漏斗限流模型的实际漏斗容量用于服务器验证请求中的限流处理,可以提前科学的制定合理的参数值,使调参环节前置;可以在开发和测试阶段提供一个科学的参数标准,对参数的测试更加的精准;还可以提前避免一些生产环境中参数错误而造成的生产事故。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为基于漏斗限流模型的请求验证处理方法的应用环境示意图;
图2为基于漏斗限流模型的请求验证处理方法的流程示意图;
图3为漏斗限流模型的示意图;
图4为漏斗限流模型限流场景的示意图;
图5为基于漏斗限流模型的请求验证处理方法的另一流程示意图;
图6为漏斗容量网的示意图;
图7为对漏斗容量网划分后的示意图;
图8为基于漏斗限流模型的请求验证处理装置的示意图;
图9为一个实施例中计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于漏斗限流模型的请求验证处理方法,可以应用于如图1所示的应用环境中。其中,该应用环境可以包括终端102、网络以及服务端104,网络用于在终端102和服务端104之间提供通信链路介质,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端102通过网络与服务端104交互,以接收或发送消息等。终端102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务端104可以是提供各种服务的服务器,例如对终端102上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基于漏斗限流模型的请求验证处理方法一般由服务端/终端执行,相应地,基于漏斗限流模型的请求验证处理装置一般设置于服务端/终端设备中。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
应该理解,图1中的终端、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
其中,终端102通过网络与服务端104进行通信。服务端104从终端102获取请求验证处理的第一历史漏斗数据,然后根据第一历史漏斗数据中的第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间得到两个新引入的参数:请求拒绝率因子以及响应率因子,然后根据新引入的俩参数计算实际漏斗容量的一个容量均衡值,并将该容量均衡值应用在漏斗限流模型中,再根据更新漏斗容量后的漏斗限流模型对用户发送的服务器验证请求进行限流处理。其中,终端102和服务端104之间通过网络进行连接,该网络可以是有线网络或者无线网络,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端104可以用独立的服务器或者是多个组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于漏斗限流模型的请求验证处理方法,以该方法应用于图1中的服务端为例进行说明,包括以下步骤:
步骤202,获取第一历史漏斗数据,其中,第一历史漏斗数据包括第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间。
如图3所示,是漏斗限流的原理示意图,请求队列的请求会被放到请求漏斗中,请求漏斗有一个固定的请求通过率,如果请求队列的速度大于请求通过的速度时,请求会被暂存到漏斗中,如何请求量超过漏斗的容量上限,那么用户请求会被直接拒绝。在漏斗限流中,怎样的参数配置是一个好的漏斗限流策略,使得不仅可以提前设定,避免很多实际使用中的问题,还能够使漏斗限流模型能够适用于不同的场景呢?
在一些实施例中,漏斗限流模型是指应用于各种漏斗限流场景中的限流方式,我们可以先获取第一历史漏斗数据,包括第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间。
具体地,第一历史漏斗容量(实际漏斗容量)space0:代表漏斗的实际容量,在一些实施例中,获取的可以是至少两个应用场景的实际的漏斗容量。
理想漏斗容量space1:代表漏斗的理想容量;
流量注满时间t1:值请求流量注满漏斗的时间;
流量爆发时间t:指请求流量从注满漏斗的理想漏斗容量到请求流量峰值期结束的时间;
流量处理时间t2:代表从请求流量峰值期结束到缓存请求排完的时间。
本实施例可以运用面积法将一个限流场景抽象到一个平面上,更加直观表述各个指标的含义,如图4所示,其中,Qin表示请求流量进入的速率、Qout表示漏斗排出缓存请求的速率、tanα可以表示请求流量进入的速率减去请求流量排出的速率、tanβ表示漏斗排出缓存请求的速率,其中,α表示流量注入与坐标轴x的夹角、β表示请求流量与x轴的夹角;从图4可知,可以引入阴影部分的两个数值y1与y2,其中,y1为拒绝率因子、y2为响应率因子。所说在给定的一个流量场景中,流量爆发时间t不会变化、请求流量进入的速率Qin不会变化、漏斗排出缓存请求的速率Qout也表示了下游服务器的承受能力的上线,所以只有实际漏斗容量space0是可以做调整的。
从图4可知,如果space0越大,拒绝率因子y1就会越小,响应率因子y2就会越大,也就意味着响应时间变长,那么这种漏斗限流模型对低拒绝率的应用场景比较有利;反之,y1就会变大,y2就会变小,响应率因子就会变短,这就意味着这种漏斗限流模型对低响应时间的应用场景比较有利。
可以看出,无论space0是变大还是变小都会有一些弊端,所以可以寻求一个根据以上推论得到一个容量均衡值来应用不同的场景要求。
步骤204,根据第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间分别计算漏斗限流模型的请求拒绝率因子和响应率因子。
在一些实施例中,根据以上推论,将请求的拒绝率因子y1、响应率因子y2作为容量均衡值的计算指标,具体的,可以基于公式(1)和公式(2),根据第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间分别计算y1与y2:
步骤206,根据请求拒绝率因子、响应率因子计算容量均衡值。
步骤208,根据容量均衡值更新漏斗限流模型的实际漏斗容量。
将得到的容量均衡值应用到的漏斗限流模型中,作为漏斗限流模型的实际漏斗容量。
步骤210,根据更新实际漏斗容量后的漏斗限流模型对用户发送的服务器验证请求进行限流处理。
上述基于漏斗限流模型的请求验证处理方法中,通过根据历史漏斗数据,引入两个新的参数:请求拒绝率因子和响应率因子,然后根据新引入的参数得到一个适用于多个场景下的容量均衡值,然后将该容量均衡值设为漏斗限流模型的实际漏斗容量用于服务器验证请求中的限流处理,可以提前科学的制定合理的参数值,使调参环节前置;可以在开发和测试阶段提供一个科学的参数标准,对参数的测试更加的精准;还可以提前避免一些生产环境中参数错误而造成的生产事故。而且本申请使用本申请得到的实际漏斗容量可以使得漏斗限流模型的普适性大大增加,不仅可以适用于对响应要求低的应用场景,还可以应用于低响应率的应用场景,而不会造成资源浪费。
在实际应用场景中,根据业务需要可能还会有多方面的考虑,所以为了得到的实际漏斗容量普适性更强,在一些实施例中,如图5所示,在根据容量均衡值更新漏斗限流模型的实际漏斗容量之前,还包括:
在实际的场景中可能会有多方面的考虑,所以我们在多个场景中的历史数据对其进行矫正,场景抽取:如图6是历史数据以往一些space0值与请求流量进入的速率(Q-in)的二维图,可以看到在实际的情况中,每次的结果呈现都不一样,这就是不同实际场景的结果,所以在保证漏斗限流模型普适度的前提下,为了保证其在多种应用场景下都能得到很好的限流效果,在一些实施例中,可以尽量结合实际场景在设定space0的值。然而实际场景的定义相对比较模糊,所以我们的采用聚类分析的方式,抽象出一些相对抽象的场景(如图7所示),被圈住的为一类场景。然后,找到场景圆圈的中心点,得到一个具体的漏斗容量中心点spacecenter,将space0与spacecenter做直线距离计算,找到与space0最近的那个spacecenter,并将其更新为漏斗限流模型的实际漏斗参数。
具体地,步骤502,获取第二历史漏斗数据,其中,第二历史漏斗数据包括多个应用场景中的第二历史漏斗容量,以及与第二历史漏斗容量对应的请求进入速率。
第二历史漏斗数据包括多个应用场景中的第二历史漏斗容量、以及与第二漏斗容量对应的请求进入速率等数据。本实施例提到的不同应用场景可以指不同的业务场景,例如,同一时间段用户不同电商网站的用户请求率。
步骤504,基于请求进入速率构建第二历史漏斗容量的漏斗容量网。
将不同应用场景下的第二历史漏斗容量space0、与其对应的请求进入速率,即请求流量进入的速率Qin以二维图的方式进行呈现,得到如图6所示的漏斗容量网。
步骤506,对漏斗容量网中的第二历史漏斗容量进行聚类处理,得到不同应用场景对应的漏斗容量子网,其中,每个漏斗容量子网包括一个容量中心值。
从漏斗容量网中随机选择预设数量个第二历史漏斗容量对应的漏斗容量节点,作为漏斗容量质点,其中,漏斗容量网包括多个漏斗容量节点,每个第二历史容量映射一个漏斗容量节点,漏斗容量质点的数量与应用场景的数量相同;具体地,漏斗容量网上的每个节点都表现为两个意义,一个是该应用场景下第二历史漏斗容量、以及与第二历史漏斗容量space0的请求进入速率Qin,在一些实施例中,本申请可以将每一个节点都视为漏斗容量节点。从漏斗容量网中随机选择数量与应用场景的相同的漏斗容量节点,作为漏斗容量质点。在选取漏斗容量质点时,可以尽量选择较为分散位置的节点,避免过度集中,增加后续聚类运算的计算量。
计算其他各漏斗容量节点与各漏斗容量质点之间的欧氏距离,并基于漏斗容量质点,根据欧氏距离将漏斗容量网划分为多个漏斗容量子网;获取各漏斗容量子网的第一中心节点,作为更新后的漏斗容量质点;计算更新后的漏斗容量质点与更新前的漏斗容量质点之间的节点距离是否大于第一预设距离。若不大于,则将当前漏斗容量质点作为各对应的漏斗容量子网的漏斗容量中心点;若大于,则重复基于更新后的漏斗容量质点划分漏斗容量网、计算欧氏距离、获取第一中心节点更新漏斗容量质点的操作,直到节点距离不大于第一预设距离,则将更新后的漏斗容量质点作为漏斗容量中心点;具体地,可以通过计算漏斗容量子网中所有漏斗容量节点的外切椭圆的第二中心节点,将与第二中心节点的直线距离不大于第二预设距离的漏斗容量节点,作为第一中心节点。
获取漏斗容量中心点对应的第二历史漏斗容量数据,并将第二历史漏斗容量数据的值作为容量中心值。具体地,如图7所示,经过多次迭代后,会得到与初始选择的漏斗容量质点的数量相同的漏斗容量子网,每一个漏斗容量子网中的漏斗容量节点都属于同一应用场景下的数据节点。
进一步地,在一些实施例中,可以通过计算各漏斗容量子网中漏斗容量节点的外切椭圆的焦点、或者焦点附近,中心节点或者中心节点附近对应的漏斗容量节点,得到各漏斗容量子网的中心节点spacecenter。使用外切椭圆的计算方式不会考虑椭圆内部的数据情况,只需要考虑优先的几个边界点,大大降低了计算次数,使得每次迭代的时间都会缩短很多,同时也减少了对计算机资源的占用(CPU、内存等等)。
此外,还可以通过设置一个质点曲线斜率:将每次迭代后的更新前后的漏斗容量质点的距离记录下来,在二维图中就会是一个由上到下向内弯曲的曲线,其曲线的斜率也会逐渐减小,当最终得到的曲线斜率,就是该当前质点对应的斜率在0.1-0.2之间时,可以停止迭代,得到最佳的聚类效果。
可选地,还可以通过计算各漏斗容量子网中漏斗容量节点的均值来更新中心节点。
步骤508,根据容量均衡值与各容量中心值对应的漏斗容量节点之间的距离更新容量均衡值,得到更新后的容量均衡值。
具体地,计算容量均衡值与各容量中心值对应的漏斗容量节点之间的直线距离;将最小直线距离对应的漏斗容量节点的容量中心值作为更新后的容量均衡值。
可选地,为了使得到的中心值适应的范围更广,稳定性更高,还可以根据场景自定义加权,在一些实施例中,本申请会在容量均衡值和当前计算得到的漏斗容量中心点之间加一个权重值Q(Q的范围在0到1之间),以方便继续对不同的应用场景对实际应用的漏斗容量进行微调,实现更精准的限流处理。具体地,将最小直线距离对应的漏斗容量节点的容量中心值作为动态容量均衡值;基于预设权重参数、根据容量均衡值、动态容量均衡值对容量均衡值进行更新,得到更新后的容量均衡值。可以通过公式(4)表示:
需要强调的是,为进一步保证上述用户请求信息的私密和安全性,上述用户请求信息还可以存储于一区块链的节点中。
本实施例通过聚类分析的方式,对第二历史漏斗数据进行分析,得到不同场景下的漏斗容量中心点,然后根据其与容量均衡值对应的漏斗容量节点之间的距离,选择最适合的值更新漏斗限流模型,而且还可以通过加权重值的方式,在不同的场景中对实际漏斗容量进行微调,使得的代词的漏斗限流模型在场景适用上更加精准。
应该理解的是,虽然图2、图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种基于漏斗限流模型的请求验证处理装置,该基于漏斗限流模型的请求验证处理装置与上述实施例中基于漏斗限流模型的请求验证处理方法一一对应。该基于漏斗限流模型的请求验证处理装置包括:
第一数据模块802,用于获取第一历史漏斗数据,其中,第一历史漏斗数据包括第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间;
因子模块804,用于根据第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间分别计算漏斗限流模型的请求拒绝率因子和响应率因子;
均衡模块806,用于根据请求拒绝率因子、响应率因子计算容量均衡值;并
更新模块808,用于根据容量均衡值更新漏斗限流模型的实际漏斗容量;
限流模块810,用于根据更新实际漏斗容量后的漏斗限流模型对用户发送的服务器验证请求进行限流处理。
进一步地,因子模块804,包括:
第一因子子模块,用于根据第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间计算得到请求拒绝率因子;
第二因子子模块,用于根据第一历史漏斗容量、流量注满时间以及流量处理时间计算得到响应率因子。
进一步地,在更新模块808之前,还包括:
第二数据模块,用于获取第二历史漏斗数据,其中,第二历史漏斗数据包括多个应用场景中的第二历史漏斗容量,以及与第二历史漏斗容量对应的请求进入速率;
构建模块,用于基于请求进入速率构建第二历史漏斗容量的漏斗容量网;
聚类模块,用于对漏斗容量网中的第二历史漏斗容量进行聚类处理,得到不同应用场景对应的漏斗容量子网,其中,每个漏斗容量子网包括一个容量中心值;
再更新模块,用于根据容量均衡值与各容量中心值对应的漏斗容量节点之间的距离更新容量均衡值,得到更新后的容量均衡值。
进一步地,聚类模块,包括;
质点子模块,用于从漏斗容量网中随机选择预设数量个第二历史漏斗容量对应的漏斗容量节点,作为漏斗容量质点,其中,漏斗容量网包括多个漏斗容量节点,每个第二历史容量映射一个漏斗容量节点,漏斗容量质点的数量与应用场景的数量相同;
划分子模块,用于计算其他各漏斗容量节点与各漏斗容量质点之间的欧氏距离,并基于漏斗容量质点,根据欧氏距离将漏斗容量网划分为多个漏斗容量子网;
质点更新子模块,用于获取各漏斗容量子网的第一中心节点,作为更新后的漏斗容量质点;
对比子模块,用于计算更新后的漏斗容量质点与更新前的漏斗容量质点之间的节点距离是否大于第一预设距离;
第一中心子模块,用于当不大于时,则将当前漏斗容量质点作为各对应的漏斗容量子网的漏斗容量中心点;
第二中心子模块,用于当大于时,则重复基于更新后的漏斗容量质点划分漏斗容量网、计算欧氏距离、获取第一中心节点更新漏斗容量质点的操作,直到节点距离不大于第一预设距离,则将更新后的漏斗容量质点作为漏斗容量中心点;
中心值子模块,用于获取漏斗容量中心点对应的第二历史漏斗容量数据,并将第二历史漏斗容量数据的值作为容量中心值。
进一步地,质点更新子模块,包括:
外切单元,用于计算漏斗容量子网中所有漏斗容量节点的外切椭圆的第二中心节点;
中心单元,用于将与第二中心节点的直线距离不大于第二预设距离的漏斗容量节点,作为第一中心节点。
进一步地,再更新模块,包括:
直线距离子模块,用于计算容量均衡值与各容量中心值对应的漏斗容量节点之间的直线距离;
均衡值更新子模块,用于将最小直线距离对应的漏斗容量节点的容量中心值作为更新后的容量均衡值。
上述基于漏斗限流模型的请求验证处理装置,通过根据历史漏斗数据,引入两个新的参数:请求拒绝率因子和响应率因子,然后根据新引入的参数得到一个适用于多个场景下的容量均衡值,然后将该容量均衡值设为漏斗限流模型的实际漏斗容量用于服务器验证请求中的限流处理,可以提前科学的制定合理的参数值,使调参环节前置;可以在开发和测试阶段提供一个科学的参数标准,对参数的测试更加的精准;还可以提前避免一些生产环境中参数错误而造成的生产事故。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储漏斗容量数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种基于漏斗限流模型的请求验证处理方法。通过根据历史漏斗数据,引入两个新的参数:请求拒绝率因子和响应率因子,然后根据新引入的参数得到一个适用于多个场景下的容量均衡值,然后将该容量均衡值设为漏斗限流模型的实际漏斗容量用于服务器验证请求中的限流处理,可以提前科学的制定合理的参数值,使调参环节前置;可以在开发和测试阶段提供一个科学的参数标准,对参数的测试更加的精准;还可以提前避免一些生产环境中参数错误而造成的生产事故。
其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现上述实施例中基于漏斗限流模型的请求验证处理方法的步骤,例如图2所示的步骤202至步骤210,或者,处理器执行计算机可读指令时实现上述实施例中基于漏斗限流模型的请求验证处理装置的各模块/单元的功能,例如图8所示模块802至模块810的功能。
通过根据历史漏斗数据,引入两个新的参数:请求拒绝率因子和响应率因子,然后根据新引入的参数得到一个适用于多个场景下的容量均衡值,然后将该容量均衡值设为漏斗限流模型的实际漏斗容量用于服务器验证请求中的限流处理,可以提前科学的制定合理的参数值,使调参环节前置;可以在开发和测试阶段提供一个科学的参数标准,对参数的测试更加的精准;还可以提前避免一些生产环境中参数错误而造成的生产事故。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形、改进或者对部分技术特征进行等同替换,而这些修改或者替换,并不使相同技术方案的本质脱离本发明个实施例技术方案地精神和范畴,都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于漏斗限流模型的请求验证处理方法,其特征在于,所述方法包括:
获取第一历史漏斗数据,其中,所述第一历史漏斗数据包括第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间;
根据所述第一历史漏斗容量、所述理想漏斗容量、所述流量注满时间以及所述流量处理时间分别计算漏斗限流模型的请求拒绝率因子和响应率因子;
根据所述请求拒绝率因子、所述响应率因子计算容量均衡值;并
根据所述容量均衡值更新所述漏斗限流模型的实际漏斗容量;
根据更新实际漏斗容量后的漏斗限流模型对用户发送的服务器验证请求进行限流处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一历史漏斗容量、所述理想漏斗容量、所述流量注满时间以及所述流量处理时间分别计算漏斗限流模型的请求拒绝率因子和响应率因子,包括:
根据所述第一历史漏斗容量、所述理想漏斗容量、所述流量注满时间以及所述流量处理时间计算得到所述请求拒绝率因子;
根据所述第一历史漏斗容量、所述流量注满时间以及所述流量处理时间计算得到所述响应率因子。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述根据所述容量均衡值更新所述漏斗限流模型的实际漏斗容量之前,还包括:
获取第二历史漏斗数据,其中,所述第二历史漏斗数据包括多个应用场景中的第二历史漏斗容量,以及与所述第二历史漏斗容量对应的请求进入速率;
基于所述请求进入速率构建所述第二历史漏斗容量的漏斗容量网;
对所述漏斗容量网中的第二历史漏斗容量进行聚类处理,得到不同应用场景对应的漏斗容量子网,其中,每个所述漏斗容量子网包括一个容量中心值;
根据所述容量均衡值与各所述容量中心值对应的漏斗容量节点之间的距离更新所述容量均衡值,得到更新后的容量均衡值。
5.根据权利要求4所述的方法,其特征在于,所述对所述漏斗容量网中的第二历史漏斗容量进行聚类处理,得到不同应用场景对应的漏斗容量子网,包括:
从所述漏斗容量网中随机选择预设数量个第二历史漏斗容量对应的漏斗容量节点,作为漏斗容量质点,其中,所述漏斗容量网包括多个漏斗容量节点,每个第二历史容量映射一个所述漏斗容量节点,漏斗容量质点的数量与应用场景的数量相同;
计算其他各漏斗容量节点与各所述漏斗容量质点之间的欧氏距离,并基于所述漏斗容量质点,根据所述欧氏距离将所述漏斗容量网划分为多个漏斗容量子网;
获取各所述漏斗容量子网的第一中心节点,作为更新后的漏斗容量质点;
计算更新后的漏斗容量质点与更新前的漏斗容量质点之间的节点距离是否大于第一预设距离;
若不大于,则将当前漏斗容量质点作为各对应的漏斗容量子网的漏斗容量中心点;
若大于,则重复基于更新后的漏斗容量质点划分所述漏斗容量网、计算欧氏距离、获取第一中心节点更新漏斗容量质点的操作,直到所述节点距离不大于所述第一预设距离,则将更新后的漏斗容量质点作为所述漏斗容量中心点;
获取所述漏斗容量中心点对应的第二历史漏斗容量数据,并将所述第二历史漏斗容量数据的值作为所述容量中心值。
6.根据权利要求5所述的方法,其特征在于,所述获取各所述漏斗容量子网的第一中心节点,包括:
计算漏斗容量子网中所有漏斗容量节点的外切椭圆的第二中心节点;
将与所述第二中心节点的直线距离不大于第二预设距离的漏斗容量节点,作为所述第一中心节点。
7.根据权利要求6所述的方法,其特征在于,所述根据所述容量均衡值与各所述容量中心值对应的漏斗容量节点之间的直线距离更新所述容量均衡值,得到更新后的容量均衡值,包括:
计算所述容量均衡值与各所述容量中心值对应的漏斗容量节点之间的直线距离;
将最小直线距离对应的漏斗容量节点的容量中心值作为更新后的容量均衡值。
8.一种基于漏斗限流模型的请求验证处理装置,其特征在于,包括:
第一数据模块,用于获取第一历史漏斗数据,其中,所述第一历史漏斗数据包括第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间;
因子模块,用于根据所述第一历史漏斗容量、所述理想漏斗容量、所述流量注满时间以及所述流量处理时间分别计算漏斗限流模型的请求拒绝率因子和响应率因子;
均衡模块,用于根据所述请求拒绝率因子、所述响应率因子计算容量均衡值;并
更新模块,用于根据所述容量均衡值更新所述漏斗限流模型的实际漏斗容量;
限流模块,用于根据更新实际漏斗容量后的漏斗限流模型对用户发送的服务器验证请求进行限流处理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197216.3A CN112333110A (zh) | 2020-10-30 | 2020-10-30 | 基于漏斗限流模型的请求验证处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197216.3A CN112333110A (zh) | 2020-10-30 | 2020-10-30 | 基于漏斗限流模型的请求验证处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112333110A true CN112333110A (zh) | 2021-02-05 |
Family
ID=74323847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011197216.3A Pending CN112333110A (zh) | 2020-10-30 | 2020-10-30 | 基于漏斗限流模型的请求验证处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112333110A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132253A (zh) * | 2021-03-29 | 2021-07-16 | 杭州趣链科技有限公司 | 带宽限流方法和电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080051719A1 (en) * | 2006-08-28 | 2008-02-28 | Pulmonx | Functional assessment and treatment catheters and methods for their use in the lung |
US20120203463A1 (en) * | 2009-10-09 | 2012-08-09 | Quanxin Guo | Fluid Rheology Measurement Using a Funnel Apparatus |
CN103422825A (zh) * | 2012-05-25 | 2013-12-04 | 中国石油化工股份有限公司 | 固井频率可控式振动器及其使用方法 |
CN107707488A (zh) * | 2017-10-25 | 2018-02-16 | 北京数码视讯支付技术有限公司 | 支付联机交易流量控制方法、限流服务端及客户端 |
US20190228083A1 (en) * | 2018-01-22 | 2019-07-25 | International Business Machines Corporation | Managing application resources based on funnels applied in site navigation |
CN110896360A (zh) * | 2019-10-23 | 2020-03-20 | 中国人民解放军陆军工程大学 | 基于历史信息和分层强化学习的拒绝服务攻击防护方法 |
CN111198807A (zh) * | 2019-12-18 | 2020-05-26 | 中移(杭州)信息技术有限公司 | 数据流分析方法、装置、计算机设备及存储介质 |
CN111262791A (zh) * | 2020-01-08 | 2020-06-09 | 江苏满运软件科技有限公司 | 一种流量管控方法、装置、电子设备及存储介质 |
-
2020
- 2020-10-30 CN CN202011197216.3A patent/CN112333110A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080051719A1 (en) * | 2006-08-28 | 2008-02-28 | Pulmonx | Functional assessment and treatment catheters and methods for their use in the lung |
US20120203463A1 (en) * | 2009-10-09 | 2012-08-09 | Quanxin Guo | Fluid Rheology Measurement Using a Funnel Apparatus |
CN103422825A (zh) * | 2012-05-25 | 2013-12-04 | 中国石油化工股份有限公司 | 固井频率可控式振动器及其使用方法 |
CN107707488A (zh) * | 2017-10-25 | 2018-02-16 | 北京数码视讯支付技术有限公司 | 支付联机交易流量控制方法、限流服务端及客户端 |
US20190228083A1 (en) * | 2018-01-22 | 2019-07-25 | International Business Machines Corporation | Managing application resources based on funnels applied in site navigation |
CN110896360A (zh) * | 2019-10-23 | 2020-03-20 | 中国人民解放军陆军工程大学 | 基于历史信息和分层强化学习的拒绝服务攻击防护方法 |
CN111198807A (zh) * | 2019-12-18 | 2020-05-26 | 中移(杭州)信息技术有限公司 | 数据流分析方法、装置、计算机设备及存储介质 |
CN111262791A (zh) * | 2020-01-08 | 2020-06-09 | 江苏满运软件科技有限公司 | 一种流量管控方法、装置、电子设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
JOSHUA LAWRENCE BENJAMIN等: "A High Speed Hardware Scheduler for 1000-Port Optical Packet Switches to Enable Scalable Data Centers", 《2017 IEEE 25TH ANNUAL SYMPOSIUM ON HIGH-PERFORMANCE INTERCONNECTS 》, 19 October 2017 (2017-10-19) * |
周家昊: "微服务架构关键技术研究与通用框架实现", 《硕士电子期刊出版信息》, 15 February 2020 (2020-02-15) * |
秦岭;佟京达;钱景辉;: "集成WiMax自适应速率分配漏斗均衡调度算法", 计算机工程与设计, no. 08, 16 August 2017 (2017-08-16) * |
赵峰;: "限流装置在长距离输煤皮带机系统节能降耗中的作用", 资源节约与环保, no. 04, 20 August 2007 (2007-08-20) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132253A (zh) * | 2021-03-29 | 2021-07-16 | 杭州趣链科技有限公司 | 带宽限流方法和电子设备 |
CN113132253B (zh) * | 2021-03-29 | 2022-09-16 | 杭州趣链科技有限公司 | 带宽限流方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10491538B2 (en) | Adaptive algorithm for cloud admission policies | |
CN111817974B (zh) | 基于令牌桶的接口限流方法、装置、系统及可读存储介质 | |
CN107948271B (zh) | 一种确定待推送消息的方法、服务器及计算节点 | |
CN109257758B (zh) | 一种网络扩容方法及装置 | |
CN111767142A (zh) | 服务节点的限流阈值设置方法和服务端设备 | |
CN107948084B (zh) | 一种限流方法和装置 | |
CN112015971B (zh) | 云产品的推荐方法、装置、电子设备及计算机可读介质 | |
CN110650209B (zh) | 实现负载均衡的方法和装置 | |
CN111031519B (zh) | 一种基于边缘计算的终端接入认证方法及装置 | |
CN110020846A (zh) | 一种转账业务处理方法及系统 | |
CN112288163A (zh) | 目标对象的目标因子预测方法及相关设备 | |
CN112632141A (zh) | 血缘分析数据的可视化方法、装置、计算机设备和介质 | |
CN112559125A (zh) | 容器应用迁移方法、装置、电子设备和计算机可读介质 | |
CN111831448A (zh) | 请求的处理方法、装置和电子设备 | |
CN112333110A (zh) | 基于漏斗限流模型的请求验证处理方法及相关设备 | |
CN107040475B (zh) | 资源调度方法和装置 | |
CN111552696A (zh) | 基于大数据的数据处理方法、装置、计算机设备和介质 | |
CN111142799A (zh) | 分布式存储方法及装置、网络节点及存储介质 | |
US20240244009A1 (en) | Determining resource usage metrics for cloud computing systems | |
CN112435021A (zh) | 基于人工智能的交易请求处理方法、装置、设备和介质 | |
WO2018166142A1 (zh) | 验证处理方法及装置 | |
CN114897426A (zh) | 分案信息处理方法、装置、计算机设备及存储介质 | |
CN112767027B (zh) | 一种基于业务感知的云成本预测方法和系统 | |
CN113487148A (zh) | 一种获取网络评价结果的方法及装置 | |
CN113329037B (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 |