[发明专利]一种分布式限流方法有效

专利信息
申请号: 202011479920.8 申请日: 2020-12-15
公开(公告)号: CN112637082B 公开(公告)日: 2023-03-31
发明(设计)人: 康少雄;江海龙;吴海波;郭倩;李兆楠 申请(专利权)人: 银盛支付服务股份有限公司
主分类号: H04L47/20 分类号: H04L47/20;H04L47/215
代理公司: 深圳市深可信专利代理有限公司 44599 代理人: 刘昌刚
地址: 518000 广东省深圳市龙华*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 分布式 限流 方法
【说明书】:

发明提供了一种分布式限流方法,包括以下步骤:S1、调用方调用尝试限流tryAcquire方法限流,输入方法入参信息;S2、使用System.currentTimeMillis()获取当前系统毫秒时间,记为尝试限流开始时间tryStartTime;S3、组装限流key;S4、采用Redis执行Lua脚本,获取返回值;S5、判断获取的返回值是否等于1,当返回值等于1时,则返回true给目标业务,即放行;当返回值不等于1时,则返回false给目标业务,即限流。实现了业务接口的限流,有效屏蔽异常请求,降低系统负载,实现了调用外部接口的分布式限流控制,降低系统负载,提升系统可用性,提升接口成功率。

技术领域

本发明涉及流量管理技术领域,具体的,本发明涉及一种分布式限流方法。

背景技术

现有业务系统仅支持接入层限流,比如通过Array硬件负载均衡或Nginx负载均衡,配置单IP在单位时间内的应用访问次数限制,例如每个ip的应用访问次数限制在300次/s。但业务接口缺乏限制,致使恶意请求或无用请求过多时会导致系统负载高,甚至出现宕机风险。

部分第三方接口如微信特约商户报备,限制接口每秒调用1次,报备系统一般采用分布式部署,必须采用分布式限流方案,控制请求速率,降低系统负载。现有系统业务限流方案如Guava和Hystrix等仅支持单机令牌桶和漏桶算法限流,Sentinel虽支持分布式限流,但需要集群部署,部署复杂度高,实现原理复杂,可控性低。

发明内容

为了克服现有技术的不足,本发明提供了一种分布式限流方法,以解决上述的技术问题。

本发明解决其技术问题所采用的技术方法是:一种分布式限流方法,其改进之处在于:包括以下的步骤:S1、调用方调用尝试限流tryAcquire方法限流,输入方法入参信息,方法入参信息包括但不限于第一限流关键字key、第一限流时间limitTime、第一限流时间内最大限流数limitMax、第一当前获取流量个数acquireNum和第一尝试等待时间tryTimeMills;S2、使用System.currentTimeMillis()获取当前系统毫秒时间,记为尝试限流开始时间tryStartTime,System.currentTimeMillis()即Java提供的API,其作用是返回毫秒为单位的当前系统时间;S3、组装限流key;S4、采用Redis执行Lua脚本,获取返回值;S5、判断获取的返回值是否等于1,当返回值等于1时,则返回true给目标业务,即放行;当返回值不等于1时,则返回false给目标业务,即限流。

在上述方法中,步骤S3,包括以下的步骤:

S31、使用System.currentTimeMillis()获取当前系统时间毫秒值,记为当前限流时间curLimitTime;

S32、将第一限流时间limitTime乘以1000,得到第一限流时间limitTime的毫秒值;

S33、使用当前限流时间curLimitTime除以第一限流时间limitTime的毫秒值,得到当前系统时间所属的限流区间值;

S34、使用第一限流关键字key加上当前系统时间所属的限流区间值,得到限流key。

在上述方法中,步骤S4,包括以下的步骤:

S41、获取Lua脚本入参信息,Lua脚本入参信息包括但不限于第二限流关键字key、第二限流时间内最大限流数limitMax、第二限流时间limitTime和第二当前获取流量个数acquireNum;

S42、使用Lua脚本执行Redis的Get指令,获取当前第二限流关键字key累计值,记为current,如果第二限流关键字key存在,则返回累计值给current;如果第二key不存在,则默认第二key累计值为0;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于银盛支付服务股份有限公司,未经银盛支付服务股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011479920.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top