服务限流方法、装置、存储介质及电子设备制造方法及图纸

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

【技术实现步骤摘要】
服务限流方法、装置、存储介质及电子设备


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

技术介绍

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

技术实现思路

[0004]本申请的主要目的在于提供一种服务限流方法、装置、存储介质及电子设备,以解决相关技术中应用程序的单个接口访问量过大导致服务异常的问题。
[0005]为了实现上述目的,根据本申请的一个方面,提供了一种服务限流方法。该方法包括:接收客户端对目标应用程序的访问请求,解析访问请求,得到客户端的客户端IP、客户端访问目标应用程序的目标接口,其中,目标应用程序包含多个接口;判断目标接口的限流名单中是否包含客户端IP;在目标接口的限流名单中不包含客户端IP的情况下,获取目标接口的预设限流策略,其中,预设限流策略至少包括以下之一:限流频率和最大线程数,限流频率是预设时间段内限制访问目标接口的次数,最大线程数是目标接口同时处理访问请求的最大数量;基于预设限流策略执行对访问请求的限流操作。
[0006]可选地,在基于预设限流策略执行对访问请求的限流操作之前,该方法还包括:确定目标应用程序当前执行的限流策略数量,并判断限流策略数量是否大于等于限流策略数量阈值;在限流策略数量小于限流策略数量阈值的情况下,确定等待执行预设限流策略的等待时长;判断等待时长是否大于等于等待时长阈值;在等待时长小于等待时长阈值的情况下,执行基于预设限流策略执行对访问请求的限流操作的步骤。
[0007]可选地,在判断限流策略数量是否大于等于限流策略数量阈值之后,该方法还包括:在限流策略数量大于等于限流策略数量阈值的情况下,向客户端返回第一提示信息,其中,第一提示信息用于提示目标应用程序的服务器繁忙;在判断等待时长是否大于等于等待时长阈值之后,方法还包括:在等待时长大于等于等待时长阈值的情况下,向客户端返回第一提示信息。
[0008]可选地,限流频率通过以下方式确定:确定目标接口的目标等级,基于目标等级从预设关联关系表中确定目标等级关联的限流频率,其中,预设关联关系中包含多个关联关系,每个关联关系包含一种接口的等级和一个限流频率;将目标等级关联的限流频率确定为预设限流策略中的限流频率。
[0009]可选地,在预设限流策略包括限流频率和最大线程数的情况下,基于预设限流策略执行对访问请求的限流操作包括:确定预设时间段内目标接口接收的访问请求的数量,计算数量与预设时间段的比值,得到接口访问频率;确定目标接口当期待执行的访问请求的数量,得到待执行数量;判断接口访问频率是否大于等于限流频率;在接口访问频率大于等于限流频率的情况下,将访问请求添加至待访问接口队列,其中,待访问接口队列包含所有等待访问目标接口的访问请求;在接口访问频率小于限流频率的情况下,判断待执行数量是否大于等于最大线程数;在待执行数量大于等于最大线程数的情况下,将访问请求添加至待处理队列,其中,待处理队列包含所有已访问目标接口并等待处理的访问请求;在待执行数量小于最大线程数的情况下,处理访问请求。
[0010]可选地,在判断目标接口的限流名单中是否包含客户端IP之前,该方法还包括:确定每个客户端IP对目标接口同一批次的历史访问量;在同一批次的历史访问量大于等于目标接口的访问量阈值的情况下,将客户端IP添加至限流名单;在判断目标接口的限流名单中是否包含客户端IP之后,方法还包括:在目标接口的限流名单中包含客户端IP的情况下,向客户端返回第二提示信息,其中,第二提示信息用于表征目标应用程序拒绝客户端的访问。
[0011]可选地,在解析访问请求之前,该方法还包括:确定目标应用程序的所有接口的访问请求的总访问数量;判断总访问数量是否大于等于总访问数量阈值;在总访问数量大于等于总访问数量阈值的情况下,向客户端返回第一提示信息;在总访问数量小于总访问数量阈值的情况下,执行解析访问请求的步骤。
[0012]为了实现上述目的,根据本申请的另一方面,提供了一种服务限流装置。该装置包括:接收单元,用于接收客户端对目标应用程序的访问请求,解析访问请求,得到客户端的客户端IP、客户端访问目标应用程序的目标接口,其中,目标应用程序包含多个接口;第一判断单元,用于判断目标接口的限流名单中是否包含客户端IP;获取单元,用于在目标接口的限流名单中不包含客户端IP的情况下,获取目标接口的预设限流策略,其中,预设限流策略至少包括以下之一:限流频率和最大线程数,限流频率是预设时间段内限制访问目标接口的次数,最大线程数是目标接口同时处理访问请求的最大数量;第一执行单元,用于基于预设限流策略执行对访问请求的限流操作。
[0013]通过本申请,采用以下步骤:接收客户端对目标应用程序的访问请求,解析访问请求,得到客户端的客户端IP、客户端访问目标应用程序的目标接口,其中,目标应用程序包含多个接口;判断目标接口的限流名单中是否包含客户端IP;在目标接口的限流名单中不包含客户端IP的情况下,获取目标接口的预设限流策略,其中,预设限流策略至少包括以下之一:限流频率和最大线程数,限流频率是预设时间段内限制访问目标接口的次数,最大线程数是目标接口同时处理访问请求的最大数量;基于预设限流策略执行对访问请求的限流操作,解决了相关技术中应用程序的单个接口访问量过大导致服务异常的问题。通过限流名单、限流频率和最大线程数等对访问目标接口的访问请求进行限流,从而实现针对应用程序中的单个接口的限流,进而达到了避免单个接口访问量过大导致服务异常的效果。
附图说明
[0014]构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实
施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0015]图1是根据本申请实施例提供的服务限流方法的流程图;
[0016]图2是根据本申请实施例提供的服务限流系统的示意图;
[0017]图3是根据本申请实施例提供的可选的服务限流方法的流程图;
[0018]图4是根据本申请实施例提供的服务限流装置的示意图;
[0019]图5是根据本申请实施例提供的电子设备的示意图。
具体实施方式
[0020]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0021]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务限流方法,其特征在于,包括:接收客户端对目标应用程序的访问请求,解析所述访问请求,得到所述客户端的客户端IP、所述客户端访问所述目标应用程序的目标接口,其中,所述目标应用程序包含多个接口;判断所述目标接口的限流名单中是否包含所述客户端IP;在所述目标接口的限流名单中不包含所述客户端IP的情况下,获取所述目标接口的预设限流策略,其中,所述预设限流策略至少包括以下之一:限流频率和最大线程数,所述限流频率是预设时间段内限制访问所述目标接口的次数,所述最大线程数是所述目标接口同时处理访问请求的最大数量;基于所述预设限流策略执行对所述访问请求的限流操作。2.根据权利要求1所述的方法,其特征在于,在基于所述预设限流策略执行对所述访问请求的限流操作之前,所述方法还包括:确定所述目标应用程序当前执行的限流策略数量,并判断所述限流策略数量是否大于等于限流策略数量阈值;在所述限流策略数量小于所述限流策略数量阈值的情况下,确定等待执行所述预设限流策略的等待时长;判断所述等待时长是否大于等于等待时长阈值;在所述等待时长小于所述等待时长阈值的情况下,执行基于所述预设限流策略执行对所述访问请求的限流操作的步骤。3.根据权利要求2所述的方法,其特征在于,在判断所述限流策略数量是否大于等于限流策略数量阈值之后,所述方法还包括:在所述限流策略数量大于等于所述限流策略数量阈值的情况下,向所述客户端返回第一提示信息,其中,所述第一提示信息用于提示所述目标应用程序的服务器繁忙;在判断所述等待时长是否大于等于等待时长阈值之后,所述方法还包括:在所述等待时长大于等于所述等待时长阈值的情况下,向所述客户端返回所述第一提示信息。4.根据权利要求1所述的方法,其特征在于,所述限流频率通过以下方式确定:确定所述目标接口的目标等级,基于所述目标等级从预设关联关系表中确定所述目标等级关联的限流频率,其中,所述预设关联关系中包含多个关联关系,每个关联关系包含一种接口的等级和一个限流频率;将所述目标等级关联的限流频率确定为所述预设限流策略中的限流频率。5.根据权利要求1到4中任意一项所述的方法,其特征在于,在所述预设限流策略包括所述限流频率和所述最大线程数的情况下,基于所述预设限流策略执行对所述访问请求的限流操作包括:确定所述预设时间段内所述目标接口接收的访问请求的数量,计算所述数量与所述预设时间段的比值,得到接口访问频率;确定所述目标接口当期待执行的访问请求的数量,得到待执行数量;判断所述接口访问频率是否大于等于所述限流频率;在所述接口访问频率大于等于所述限流频率的情况下,将所述访问请求添加至待访问
接口队列,其中,所述待访...

【专利技术属性】
技术研发人员:陈方宫晨袁宁夏刚
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1