限流方法、系统、设备及存储介质技术方案

技术编号:33662203 阅读:19 留言:0更新日期:2022-06-02 20:43
本发明专利技术提出一种限流方法、系统、设备及存储介质,该方法包括:获取用户请求;根据用户请求信息和当前限流配置信息,检测用户请求是否满足所述当前限流条件;若满足,根据项目属性信息,在顶层接口所定义的各种限流方法中查找到目标限流方法;利用所述目标限流方法对所述用户请求进行限流。本发明专利技术先根据用户请求中所包含的用户请求信息判断该用户请求是否满足当前限流条件,如果满足,根据用户请求中所携带的项目属性信息查找到目标限流方法,由于预先将不同开发项目不同限流策略集成在顶层接口中,因此可以根据不同开发项目选择相应的目标限流方法,可以满足不同开发人员的使用,加快了项目的研发进程,提高了研发效率。提高了研发效率。提高了研发效率。

【技术实现步骤摘要】
限流方法、系统、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种限流方法、系统、设备及存储介质。

技术介绍

[0002]随着互联网技术的快速发展,大流量的并发访问已经成为互联网应用的一个重大挑战,例如,在商品促销、抢购促销等场景中往往会存在大量并发访问的情况。
[0003]由于互联网应用的服务处理能力是有限的,从而在处理大流量的并发应用时,服务器会因为负荷过大而导致死机或系统崩溃的情况,所以需要对用户请求进行限流,避免超过服务器负荷。目前现有的限流服务器是基于配置文件中的限流信息进行限流的。
[0004]一般不同的限流场景需要的限流方式可能不同,每一种限流实现方式都依赖不同的底层和组件,且各有优缺点。不同的场景、不同的技术框架,实现出来的限流效果也不尽相同。现有技术的限流方法中一般都是固定采用一种限流策略,而无法根据限流场景的不同动态调整限流策略,适用性不强。

技术实现思路

[0005]本专利技术提供一种限流方法、系统、设备及存储介质,其主要目的在于根据不同场景动态调整限流策略,有效提高限流方法的适用性。
[0006]第一方面,本专利技术实施例提供一种限流方法,包括:
[0007]获取用户请求,所述用户请求包括用户请求信息和项目属性信息;
[0008]根据所述用户请求信息和当前限流配置信息,检测所述用户请求是否满足所述当前限流条件;
[0009]若满足,根据所述项目属性信息,在顶层接口所定义的各种限流方法中查找到目标限流方法;/>[0010]利用所述目标限流方法对所述用户请求进行限流。
[0011]优选地,所述根据所述项目属性信息,在顶层接口所定义的各种限流方法中查找到目标限流方法,之前还包括:
[0012]将顶层接口封装成父类,并定义限流接口和实现降级配置的方法;
[0013]根据所有开发项目中每一预设项目中的每一预设模块,在预设限流列表中进行查找,获取每一预设模块对应的限流方法,所述限流方法包括限流策略和限流版本;
[0014]将每一限流方法封装成继承所述父类的子类,并实现所述限流接口。
[0015]优选地,所述根据所述用户请求信息和当前限流配置信息,检测所述用户请求是否满足所述当前限流条件,之前还包括:
[0016]从配置服务器的预设接口中,拉取限流服务器对应的限流配置信息;
[0017]根据所述限流配置信息,对本地存储的限流配置信息进行更新,获取所述当前限流配置信息。
[0018]优选地,所述从配置服务器的预设接口中,拉取限流服务器对应的限流配置信息,
包括:
[0019]向配置服务器的预设接口发送配置拉取请求,以使得所述配置服务器基于所述配置拉取请求,在检测到所述限流服务器对应的限流配置更改操作时,将更改后的限流配置信息返回;
[0020]接收所述配置服务器的预设接口返回的限流配置信息。
[0021]优选地,所述用户请求信息包括用户IP地址和单位时间的用户请求所占流量,所述当前限流配置信息包括用户IP地址黑名单、用户IP地址白名单和限流阈值,所述根据所述用户请求信息和当前限流配置信息,检测所述用户请求是否满足所述当前限流条件,包括:
[0022]根据所述用户IP地址和所述用户IP地址黑名单,检测所述用户IP地址是否为黑名单IP地址;
[0023]若所述用户IP地址不为黑名单IP地址,则比较单位时间内的用户请求所占用流量和所述限流阈值,若所述用户请求所占用流量小于所述限流阈值,则判断所述用户请求满足所述当前限流条件,若所述用户请求所占流量不小于所述限流阈值,则判断所述用户请求不满足所述当前限流阈值;
[0024]若所述用户IP地址为白名单IP地址,则判断所述用户请求不满足所述当前限流条件。
[0025]优选地,还包括:
[0026]若不满足,对所述用户请求进行降级配置。
[0027]优选地,还包括:
[0028]所述限流方法被封装成插件。
[0029]第二方面,本专利技术实施例提供一种限流系统,包括:
[0030]请求模块,用于获取用户请求,所述用户请求包括用户请求信息和项目属性信息;
[0031]检测模块,用于根据所述用户请求信息和当前限流配置信息,检测所述用户请求是否满足所述当前限流条件;
[0032]查找模块,用于若满足,根据所述项目属性信息,在顶层接口所定义的各种限流方法中查找到目标限流方法;
[0033]限流模块,用于利用所述目标限流方法对所述用户请求进行限流。
[0034]第三方面,本专利技术实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述限流方法的步骤。
[0035]第四方面,本专利技术实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述限流方法的步骤。
[0036]本专利技术提出的一种限流方法、系统、设备及存储介质,先根据用户请求中所包含的用户请求信息判断该用户请求是否满足当前限流条件,如果满足,则表示需要对该用户请求进行限流,再根据用户请求中所携带的项目属性信息查找到对应的目标限流方法,由于预先将不同开发项目不同限流策略集成在顶层接口中,因此可以根据不同开发项目选择相应的目标限流方法,可以满足不同开发人员的使用,加快了项目的研发进程,提高了研发效率,同时也增加了该限流方法的适用性。
附图说明
[0037]图1为本专利技术实施例提供的一种限流方法的应用场景图;
[0038]图2为本专利技术实施例提供的一种限流方法的流程图;
[0039]图3为本专利技术实施例中一种限流方法实施时的系统架构图;
[0040]图4为本专利技术实施例中提供的限流策略实现框架图;
[0041]图5为本专利技术实施例提供的一种限流系统的结构示意图;
[0042]图6为本专利技术实施例中提供一种计算机设备的结构示意图。
[0043]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0044]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0045]图1为本专利技术实施例提供的一种限流方法的应用场景图,如图1所示,客户端向服务端发送用户请求,服务端接收到该用户请求后,执行该限流方法,以实现对用户的回访。
[0046]需要说明的是,服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。客户端可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。客户端和服务端可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者其他通讯连接方式进行连接,本专利技术实施例在此不做限制。
[0047]图2为本专利技术实施例提供的一种限流方法的流程图,如图2所示,该方法包括:
[0本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种限流方法,其特征在于,包括:获取用户请求,所述用户请求包括用户请求信息和项目属性信息;根据所述用户请求信息和当前限流配置信息,检测所述用户请求是否满足所述当前限流条件;若满足,根据所述项目属性信息,在顶层接口所定义的各种限流方法中查找到目标限流方法;利用所述目标限流方法对所述用户请求进行限流。2.根据权利要求1所述的限流方法,其特征在于,所述根据所述项目属性信息,在顶层接口所定义的各种限流方法中查找到目标限流方法,之前还包括:将顶层接口封装成父类,并定义限流接口和实现降级配置的方法;根据所有开发项目中每一预设项目中的每一预设模块,在预设限流列表中进行查找,获取每一预设模块对应的限流方法,所述限流方法包括限流策略和限流版本;将每一限流方法封装成继承所述父类的子类,并实现所述限流接口。3.根据权利要求1所述的限流方法,其特征在于,所述根据所述用户请求信息和当前限流配置信息,检测所述用户请求是否满足所述当前限流条件,之前还包括:从配置服务器的预设接口中,拉取限流服务器对应的限流配置信息;根据所述限流配置信息,对本地存储的限流配置信息进行更新,获取所述当前限流配置信息。4.根据权利要求3所述的限流方法,其特征在于,所述从配置服务器的预设接口中,拉取限流服务器对应的限流配置信息,包括:向配置服务器的预设接口发送配置拉取请求,以使得所述配置服务器基于所述配置拉取请求,在检测到所述限流服务器对应的限流配置更改操作时,将更改后的限流配置信息返回;接收所述配置服务器的预设接口返回的限流配置信息。5.根据权利要求1所述的限流方法,其特征在于,所述用户请求信息包括用户IP地址和单位时间的用户请求所占流量,所述当前限流配置信息包括用户IP地址黑名单...

【专利技术属性】
技术研发人员:解永山
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1