申请/专利权人:银盛支付服务股份有限公司
申请日:2020-12-15
公开(公告)日:2021-04-09
公开(公告)号:CN112637082A
主分类号:H04L12/813(20130101)
分类号:H04L12/813(20130101);H04L12/819(20130101)
优先权:
专利状态码:有效-授权
法律状态:2023.03.31#授权;2021.04.27#实质审查的生效;2021.04.09#公开
摘要:本发明提供了一种分布式限流方法,包括以下步骤:S1、调用方调用尝试限流tryAcquire方法限流,输入方法入参信息;S2、使用System.currentTimeMillis获取当前系统毫秒时间,记为尝试限流开始时间tryStartTime;S3、组装限流key;S4、采用Redis执行Lua脚本,获取返回值;S5、判断获取的返回值是否等于1,当返回值等于1时,则返回true给目标业务,即放行;当返回值不等于1时,则返回false给目标业务,即限流。实现了业务接口的限流,有效屏蔽异常请求,降低系统负载,实现了调用外部接口的分布式限流控制,降低系统负载,提升系统可用性,提升接口成功率。
主权项:1.一种分布式限流方法,其特征在于:包括以下的步骤: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给目标业务,即限流。
全文数据:
权利要求:
百度查询: 银盛支付服务股份有限公司 一种分布式限流方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。