CN112333110A - 基于漏斗限流模型的请求验证处理方法及相关设备 - Google Patents

基于漏斗限流模型的请求验证处理方法及相关设备 Download PDF

Info

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
Application number
CN202011197216.3A
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.)
OneConnect Smart Technology Co Ltd
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202011197216.3A priority Critical patent/CN112333110A/zh
Publication of CN112333110A publication Critical patent/CN112333110A/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
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow 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:
Figure BDA0002754375560000061
Figure BDA0002754375560000062
步骤206,根据请求拒绝率因子、响应率因子计算容量均衡值。
由此可见,当y1=y2时,漏斗限流会达到一个均衡状态,因为
Figure BDA0002754375560000063
所以使得y1=y2,可以得到公式(3)计算实际漏斗容量的一个容量均衡值space0
Figure BDA0002754375560000064
步骤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)表示:
Figure BDA0002754375560000091
需要强调的是,为进一步保证上述用户请求信息的私密和安全性,上述用户请求信息还可以存储于一区块链的节点中。
本实施例通过聚类分析的方式,对第二历史漏斗数据进行分析,得到不同场景下的漏斗容量中心点,然后根据其与容量均衡值对应的漏斗容量节点之间的距离,选择最适合的值更新漏斗限流模型,而且还可以通过加权重值的方式,在不同的场景中对实际漏斗容量进行微调,使得的代词的漏斗限流模型在场景适用上更加精准。
应该理解的是,虽然图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所述的方法,其特征在于,所述根据所述第一历史漏斗容量、所述理想漏斗容量、所述流量注满时间以及所述流量处理时间分别计算漏斗限流模型的请求拒绝率因子和响应率因子,包括:
根据所述第一历史漏斗容量、所述理想漏斗容量、所述流量注满时间以及所述流量处理时间计算得到所述请求拒绝率因子;
根据所述第一历史漏斗容量、所述流量注满时间以及所述流量处理时间计算得到所述响应率因子。
3.根据权利要求1所述的方法,其特征在于,所述根据所述请求拒绝率因子、所述响应率因子计算容量均衡值,包括:
计算历史流量进入速率和历史请求响应时速率;
根据公式:
Figure FDA0002754375550000011
计算得到所述容量均衡值,其中,space0为容量均衡值、Qin为历史流量进入速率、Qout为历史请求响应时速率。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述根据所述容量均衡值更新所述漏斗限流模型的实际漏斗容量之前,还包括:
获取第二历史漏斗数据,其中,所述第二历史漏斗数据包括多个应用场景中的第二历史漏斗容量,以及与所述第二历史漏斗容量对应的请求进入速率;
基于所述请求进入速率构建所述第二历史漏斗容量的漏斗容量网;
对所述漏斗容量网中的第二历史漏斗容量进行聚类处理,得到不同应用场景对应的漏斗容量子网,其中,每个所述漏斗容量子网包括一个容量中心值;
根据所述容量均衡值与各所述容量中心值对应的漏斗容量节点之间的距离更新所述容量均衡值,得到更新后的容量均衡值。
5.根据权利要求4所述的方法,其特征在于,所述对所述漏斗容量网中的第二历史漏斗容量进行聚类处理,得到不同应用场景对应的漏斗容量子网,包括:
从所述漏斗容量网中随机选择预设数量个第二历史漏斗容量对应的漏斗容量节点,作为漏斗容量质点,其中,所述漏斗容量网包括多个漏斗容量节点,每个第二历史容量映射一个所述漏斗容量节点,漏斗容量质点的数量与应用场景的数量相同;
计算其他各漏斗容量节点与各所述漏斗容量质点之间的欧氏距离,并基于所述漏斗容量质点,根据所述欧氏距离将所述漏斗容量网划分为多个漏斗容量子网;
获取各所述漏斗容量子网的第一中心节点,作为更新后的漏斗容量质点;
计算更新后的漏斗容量质点与更新前的漏斗容量质点之间的节点距离是否大于第一预设距离;
若不大于,则将当前漏斗容量质点作为各对应的漏斗容量子网的漏斗容量中心点;
若大于,则重复基于更新后的漏斗容量质点划分所述漏斗容量网、计算欧氏距离、获取第一中心节点更新漏斗容量质点的操作,直到所述节点距离不大于所述第一预设距离,则将更新后的漏斗容量质点作为所述漏斗容量中心点;
获取所述漏斗容量中心点对应的第二历史漏斗容量数据,并将所述第二历史漏斗容量数据的值作为所述容量中心值。
6.根据权利要求5所述的方法,其特征在于,所述获取各所述漏斗容量子网的第一中心节点,包括:
计算漏斗容量子网中所有漏斗容量节点的外切椭圆的第二中心节点;
将与所述第二中心节点的直线距离不大于第二预设距离的漏斗容量节点,作为所述第一中心节点。
7.根据权利要求6所述的方法,其特征在于,所述根据所述容量均衡值与各所述容量中心值对应的漏斗容量节点之间的直线距离更新所述容量均衡值,得到更新后的容量均衡值,包括:
计算所述容量均衡值与各所述容量中心值对应的漏斗容量节点之间的直线距离;
将最小直线距离对应的漏斗容量节点的容量中心值作为更新后的容量均衡值。
8.一种基于漏斗限流模型的请求验证处理装置,其特征在于,包括:
第一数据模块,用于获取第一历史漏斗数据,其中,所述第一历史漏斗数据包括第一历史漏斗容量、理想漏斗容量、流量注满时间以及流量处理时间;
因子模块,用于根据所述第一历史漏斗容量、所述理想漏斗容量、所述流量注满时间以及所述流量处理时间分别计算漏斗限流模型的请求拒绝率因子和响应率因子;
均衡模块,用于根据所述请求拒绝率因子、所述响应率因子计算容量均衡值;并
更新模块,用于根据所述容量均衡值更新所述漏斗限流模型的实际漏斗容量;
限流模块,用于根据更新实际漏斗容量后的漏斗限流模型对用户发送的服务器验证请求进行限流处理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202011197216.3A 2020-10-30 2020-10-30 基于漏斗限流模型的请求验证处理方法及相关设备 Pending CN112333110A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132253A (zh) * 2021-03-29 2021-07-16 杭州趣链科技有限公司 带宽限流方法和电子设备

Citations (8)

* Cited by examiner, † Cited by third party
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 江苏满运软件科技有限公司 一种流量管控方法、装置、电子设备及存储介质

Patent Citations (8)

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

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

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