[发明专利]一种系统限流的方法和装置在审
申请号: | 202011039929.7 | 申请日: | 2020-09-28 |
公开(公告)号: | CN113742114A | 公开(公告)日: | 2021-12-03 |
发明(设计)人: | 王晓成;丰泽 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 郝红玉;冯培培 |
地址: | 100176 北京市北京经济技术*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 系统 限流 方法 装置 | ||
1.一种系统限流的方法,包括第一令牌桶和第二令牌桶,且所述第一令牌桶的优先级低于所述第二令牌桶的优先级,其特征在于,包括:
接收请求,判断所述第一令牌桶中是否存有令牌,若存在,则从所述第一令牌桶中分配一令牌至所述请求,以执行请求逻辑;
若不存在,则获取处理所述请求的优先级等级,判断所述优先级等级是否与所述第一令牌桶对应;
若对应,则阻塞所述请求,并将所述第一令牌桶中的计数器加1,否则,将所述第二令牌桶中的计数器加1;其中,计数器用于记录在令牌桶中无令牌时等待获取令牌的请求数量。
2.根据权利要求1所述的方法,其特征在于,所述获取处理所述请求的优先级等级,包括:根据所述请求中的入参,确定处理所述请求的优先级等级;
在将所述第二令牌桶中的计数器加1之前,还包括:判断所述第二令牌桶中是否存有令牌,若存在,则从所述第二令牌桶中分配一令牌至所述请求,以执行请求逻辑,否则,阻塞所述请求。
3.根据权利要求1所述的方法,其特征在于,所述判断第一令牌桶中是否存有令牌,包括:
根据所述请求中的入参,确定处理所述请求的优先级等级;
若所述优先级等级与所述第一令牌桶对应,则判断所述第一令牌桶中是否存有令牌;或
若所述优先级等级与所述第二令牌桶对应,则判断所述第二令牌桶中是否存有令牌,若存在,则从所述第二令牌桶中分配一令牌至所述请求,以执行请求逻辑,否则判断所述第一令牌桶中是否存有令牌。
4.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:
基于预定周期生产令牌,确定本次生产的令牌的总数量,获取所述第二令牌桶中计数器所统计的请求量;
将数值较小的所述总数量或所述请求量,作为对所述第二令牌桶可添加令牌的数量,确定所述总数量去除所述数量后的剩余数量;
确定所述第一令牌桶当前的令牌容量,将数值较小的所述剩余数量或所述令牌容量,作为对所述第一令牌桶可添加令牌的数量;其中,令牌容量为桶中预定令牌容量阈值与当前剩余令牌数量的差值;
基于所确定的令牌数量,分别向所述第一令牌桶和所述第二令牌桶中添加令牌。
5.根据权利要求4所述的方法,其特征在于,在所述分别向所述第一令牌桶和所述第二令牌桶中添加令牌之后,还包括:
优先唤醒处于阻塞状态的请求,以将所述请求由阻塞状态更改为处理状态;
将与所述优先级等级对应的令牌桶中的计数器减1,以从令牌桶中获取令牌;其中,令牌桶为所述第一令牌桶或所述第二令牌桶。
6.根据权利要求5所述的方法,其特征在于,在所述从令牌桶中获取令牌之前,还包括:
确定对所述请求的接收时间,判断所述接收时间与当前时间的时间差是否大于或等于预定超时时间,若大于或等于,则直接熔断所述请求。
7.一种系统限流的装置,包括第一令牌桶和第二令牌桶,且所述第一令牌桶的优先级低于所述第二令牌桶的优先级,其特征在于,包括:
接收模块,用于接收请求,判断所述第一令牌桶中是否存有令牌,若存在,则从所述第一令牌桶中分配一令牌至所述请求,以执行请求逻辑;
判断模块,用于若不存在,则获取处理所述请求的优先级等级,判断所述优先级等级是否与所述第一令牌桶对应;
计数模块,用于若对应,则阻塞所述请求,并将所述第一令牌桶中的计数器加1,否则,将所述第二令牌桶中的计数器加1;其中,计数器用于记录在令牌桶中无令牌时等待获取令牌的请求数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011039929.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:仓储设备及仓储系统
- 下一篇:获取控件树的方法、移动终端和系统