[发明专利]并发请求处理方法、装置、服务器及存储介质在审
申请号: | 202110724140.3 | 申请日: | 2021-06-28 |
公开(公告)号: | CN113342498A | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 李飞;魏星;罗强 | 申请(专利权)人: | 平安信托有限责任公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
地址: | 518033 广东省深圳市福田区福田街道福安社区益田路5033号平*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并发 请求 处理 方法 装置 服务器 存储 介质 | ||
本发明涉及数据处理,揭露一种并发请求处理方法,包括:获取业务类型、IP地址、请求路径及服务类型对应的限流条件,将并发请求中符合对应限流条件的请求按照时间戳顺序存储至对应限流条件对应的队列中,得到多个队列;为每个队列分配一个限流桶,限流桶用于以固定速率产生令牌;基于预设的队列优先级信息及各个队列中请求的顺序为并发请求分配令牌,若并发请求中某一指定请求从每个限流桶中都获得了令牌,则处理指定请求。本发明还提供一种并发请求处理装置、服务器及存储介质。本发明实现了细粒度的限流、更合理的处理并发请求。
技术领域
本发明涉及数据处理领域,尤其涉及一种并发请求处理方法、装置、服务器及存储介质。
背景技术
请求限流为限制同一时间或一定时间内请求的数量,目的是通过对同一时间或一个时间窗口内的大量请求进行限速以保护系统。
现有的请求限流方案通常是针对整个系统的,当请求量超过系统预设的限流值时,其它请求需等待或被丢弃,而没有细粒度的限流方案,从而使得对请求的处理不够合理,例如,若一批并发请求中逻辑复杂的请求数量多,在按照预设的限流值限流后,仍可能出现系统崩溃或运行缓慢的情况。因此,亟需一种并发请求处理方法,以细粒度的进行限流、合理处理并发请求。
发明内容
鉴于以上内容,有必要提供一种并发请求处理方法,旨在实现细粒度的限流,以合理处理并发请求。
本发明提供的并发请求处理方法,包括:
接收并发请求,获取所述并发请求中每个请求对应的业务类型、IP地址、请求路径及服务类型;
分别获取所述业务类型、IP地址、请求路径及服务类型对应的限流条件,将所述并发请求中符合对应限流条件的请求按照时间戳顺序存储至对应限流条件对应的队列中,得到多个队列;
为每个队列分配一个限流桶,所述限流桶用于以固定速率产生令牌;
获取预先设置的队列优先级信息,基于所述队列优先级信息及各个队列中请求的顺序为所述并发请求分配令牌,若所述并发请求中某一指定请求从每个限流桶中都获得了令牌,则处理所述指定请求。
可选的,所述将所述并发请求中符合对应限流条件的请求按照时间戳顺序存储至对应限流条件对应的队列中,包括:
判断所述并发请求中是否含有预设业务类型的请求,若有,获取所述预设业务类型对应的第一限流数量,按照时间戳顺序将所述并发请求中排序靠前的第一限流数量的预设业务类型的请求和其它业务类型的请求存储至第一队列;
根据IP地址判断所述并发请求中是否含有异常请求,若有,将所述并发请求中不是异常请求的请求按照时间戳顺序存储至第二队列;
根据请求路径确定所述并发请求中每个请求的复杂度等级,基于所述复杂度等级将所述并发请求存储至第三队列;
获取各个服务类型对应的第二限流数量,按照时间戳顺序将所述并发请求中各个服务类型对应的排序靠前的第二限流数量的请求存储至第四队列。
可选的,所述根据请求路径确定所述并发请求中每个请求的复杂度等级,包括:
获取第一时间段内每个请求路径对应的多个历史响应时间,基于所述多个历史响应时间计算每个请求路径对应的平均响应时间;
基于所述平均响应时间及预设的响应时间与复杂度等级的映射关系确定每个请求路径对应的复杂度等级。
可选的,所述基于所述复杂度等级将所述并发请求存储至第三队列,包括:
确定所述并发请求中各个复杂度等级的请求的数量;
根据所述数量及预先确定的各个复杂度等级对应的权重计算各个复杂度等级对应的第三限流数量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安信托有限责任公司,未经平安信托有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110724140.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件测试的评估方法、装置、计算设备及存储介质
- 下一篇:一种锁螺丝贴标机