服务限流方法、装置、存储介质及电子设备与流程

文档序号:35884858发布日期:2023-10-28 17:14阅读:20来源:国知局
服务限流方法、装置、存储介质及电子设备与流程

本申请涉及信息安全领域,具体而言,涉及一种服务限流方法、装置、存储介质及电子设备。


背景技术:

1、随着网页应用程序的访问量越来越大,网页应用程序的单个接口存在高并发访问导致的服务异常的情况,相关技术中,对网页应用程序的限流方案是基于nginx(engine x,高性能的http和反向代理web服务器)的粗放式整体限流。然而,整体限流的方式仍然无法避免网页应用程序中的单个接口的访问量过大引起的服务异常的问题。

2、针对相关技术中应用程序的单个接口访问量过大导致服务异常的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本申请的主要目的在于提供一种服务限流方法、装置、存储介质及电子设备,以解决相关技术中应用程序的单个接口访问量过大导致服务异常的问题。

2、为了实现上述目的,根据本申请的一个方面,提供了一种服务限流方法。该方法包括:接收客户端对目标应用程序的访问请求,解析访问请求,得到客户端的客户端ip、客户端访问目标应用程序的目标接口,其中,目标应用程序包含多个接口;判断目标接口的限流名单中是否包含客户端ip;在目标接口的限流名单中不包含客户端ip的情况下,获取目标接口的预设限流策略,其中,预设限流策略至少包括以下之一:限流频率和最大线程数,限流频率是预设时间段内限制访问目标接口的次数,最大线程数是目标接口同时处理访问请求的最大数量;基于预设限流策略执行对访问请求的限流操作。

3、可选地,在基于预设限流策略执行对访问请求的限流操作之前,该方法还包括:确定目标应用程序当前执行的限流策略数量,并判断限流策略数量是否大于等于限流策略数量阈值;在限流策略数量小于限流策略数量阈值的情况下,确定等待执行预设限流策略的等待时长;判断等待时长是否大于等于等待时长阈值;在等待时长小于等待时长阈值的情况下,执行基于预设限流策略执行对访问请求的限流操作的步骤。

4、可选地,在判断限流策略数量是否大于等于限流策略数量阈值之后,该方法还包括:在限流策略数量大于等于限流策略数量阈值的情况下,向客户端返回第一提示信息,其中,第一提示信息用于提示目标应用程序的服务器繁忙;在判断等待时长是否大于等于等待时长阈值之后,方法还包括:在等待时长大于等于等待时长阈值的情况下,向客户端返回第一提示信息。

5、可选地,限流频率通过以下方式确定:确定目标接口的目标等级,基于目标等级从预设关联关系表中确定目标等级关联的限流频率,其中,预设关联关系中包含多个关联关系,每个关联关系包含一种接口的等级和一个限流频率;将目标等级关联的限流频率确定为预设限流策略中的限流频率。

6、可选地,在预设限流策略包括限流频率和最大线程数的情况下,基于预设限流策略执行对访问请求的限流操作包括:确定预设时间段内目标接口接收的访问请求的数量,计算数量与预设时间段的比值,得到接口访问频率;确定目标接口当期待执行的访问请求的数量,得到待执行数量;判断接口访问频率是否大于等于限流频率;在接口访问频率大于等于限流频率的情况下,将访问请求添加至待访问接口队列,其中,待访问接口队列包含所有等待访问目标接口的访问请求;在接口访问频率小于限流频率的情况下,判断待执行数量是否大于等于最大线程数;在待执行数量大于等于最大线程数的情况下,将访问请求添加至待处理队列,其中,待处理队列包含所有已访问目标接口并等待处理的访问请求;在待执行数量小于最大线程数的情况下,处理访问请求。

7、可选地,在判断目标接口的限流名单中是否包含客户端ip之前,该方法还包括:确定每个客户端ip对目标接口同一批次的历史访问量;在同一批次的历史访问量大于等于目标接口的访问量阈值的情况下,将客户端ip添加至限流名单;在判断目标接口的限流名单中是否包含客户端ip之后,方法还包括:在目标接口的限流名单中包含客户端ip的情况下,向客户端返回第二提示信息,其中,第二提示信息用于表征目标应用程序拒绝客户端的访问。

8、可选地,在解析访问请求之前,该方法还包括:确定目标应用程序的所有接口的访问请求的总访问数量;判断总访问数量是否大于等于总访问数量阈值;在总访问数量大于等于总访问数量阈值的情况下,向客户端返回第一提示信息;在总访问数量小于总访问数量阈值的情况下,执行解析访问请求的步骤。

9、为了实现上述目的,根据本申请的另一方面,提供了一种服务限流装置。该装置包括:接收单元,用于接收客户端对目标应用程序的访问请求,解析访问请求,得到客户端的客户端ip、客户端访问目标应用程序的目标接口,其中,目标应用程序包含多个接口;第一判断单元,用于判断目标接口的限流名单中是否包含客户端ip;获取单元,用于在目标接口的限流名单中不包含客户端ip的情况下,获取目标接口的预设限流策略,其中,预设限流策略至少包括以下之一:限流频率和最大线程数,限流频率是预设时间段内限制访问目标接口的次数,最大线程数是目标接口同时处理访问请求的最大数量;第一执行单元,用于基于预设限流策略执行对访问请求的限流操作。

10、通过本申请,采用以下步骤:接收客户端对目标应用程序的访问请求,解析访问请求,得到客户端的客户端ip、客户端访问目标应用程序的目标接口,其中,目标应用程序包含多个接口;判断目标接口的限流名单中是否包含客户端ip;在目标接口的限流名单中不包含客户端ip的情况下,获取目标接口的预设限流策略,其中,预设限流策略至少包括以下之一:限流频率和最大线程数,限流频率是预设时间段内限制访问目标接口的次数,最大线程数是目标接口同时处理访问请求的最大数量;基于预设限流策略执行对访问请求的限流操作,解决了相关技术中应用程序的单个接口访问量过大导致服务异常的问题。通过限流名单、限流频率和最大线程数等对访问目标接口的访问请求进行限流,从而实现针对应用程序中的单个接口的限流,进而达到了避免单个接口访问量过大导致服务异常的效果。



技术特征:

1.一种服务限流方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在基于所述预设限流策略执行对所述访问请求的限流操作之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,在判断所述限流策略数量是否大于等于限流策略数量阈值之后,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述限流频率通过以下方式确定:

5.根据权利要求1到4中任意一项所述的方法,其特征在于,在所述预设限流策略包括所述限流频率和所述最大线程数的情况下,基于所述预设限流策略执行对所述访问请求的限流操作包括:

6.根据权利要求1所述的方法,其特征在于,在判断所述目标接口的限流名单中是否包含所述客户端ip之前,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,在解析所述访问请求之前,所述方法还包括:

8.一种服务限流装置,其特征在于,包括:

9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,所述程序运行时控制所述非易失性存储介质所在的设备执行权利要求1至7中任意一项所述的服务限流方法。

10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的服务限流方法。


技术总结
本申请公开了一种服务限流方法、装置、存储介质及电子设备。涉及信息安全领域,该方法包括:接收客户端对目标应用程序的访问请求,解析访问请求,得到客户端的客户端IP、客户端访问目标应用程序的目标接口;判断目标接口的限流名单中是否包含客户端IP;在目标接口的限流名单中不包含客户端IP的情况下,获取目标接口的预设限流策略,其中,预设限流策略至少包括以下之一:限流频率和最大线程数,限流频率是预设时间段内限制访问目标接口的次数,最大线程数是目标接口同时处理访问请求的最大数量;基于预设限流策略执行对访问请求的限流操作。通过本申请,解决了相关技术中应用程序的单个接口访问量过大导致服务异常的问题。

技术研发人员:陈方,宫晨,袁宁,夏刚
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1