[发明专利]动态限流方法、装置及系统有效
申请号: | 201810972495.2 | 申请日: | 2018-08-24 |
公开(公告)号: | CN109005125B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 贾新禹 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | H04L47/215 | 分类号: | H04L47/215;H04L47/10 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许志勇 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 限流 方法 装置 系统 | ||
本说明书一个或多个实施例公开了一种动态限流方法、装置及系统,用以通过动态调整限流阈值来实现全局准确限流。所述方法应用于与服务器集群之间建立长连接的限流设备,包括:获取所述服务器集群中各服务器的限流状态及所述服务器集群的总限流阈值,所述限流状态包括所述各服务器在当前工作周期内的当前限流状态和/或在历史工作周期内的历史限流状态;根据所述限流状态及所述总限流阈值,确定所述各服务器在下一个工作周期内的限流阈值;根据所述限流阈值,对所述各服务器执行限流操作。
技术领域
本说明书涉及通讯领域,尤其涉及一种动态限流方法、装置及系统。
背景技术
在高并发、海量流量的场景中,限流成为了一种必不可少的手段。而因为存在长连接,传统的单机限流会造成负载不平衡的问题,造成用户远没达到限流值就被限制了。因此,集群限流成为了唯一的选择,而如何在分布式环境下做到全局准确限流一直是个难题。
现有技术中,常用的集群限流方法有两种。一种是利用前置限流服务器先进行限流,然后再转发到真实服务器上,这种方法会存在限流服务器的单点问题,即限流服务器一旦故障,将直接影响整个系统的可用性;并且所有流量均要先走到限流服务器,造成系统延时的增加,从而影响系统性能。第二种方法是将限流令牌存入高速缓存(如redis等)中,并预分配单机令牌,一旦令牌用完就再向中央令牌库申请新的令牌。显然,这种方法同样存在中央领牌库的单点问题,且预分配的令牌如果没有用完就将一直占用着,导致令牌难以回收。
发明内容
本说明书一个或多个实施例的目的是提供一种动态限流方法、装置及系统,用以通过动态调整限流阈值来实现全局准确限流。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
一方面,本说明书一个或多个实施例提供一种动态限流方法,应用于与服务器集群之间建立长连接的限流设备,包括:
获取所述服务器集群中各服务器的限流状态及所述服务器集群的总限流阈值,所述限流状态包括所述各服务器在当前工作周期内的当前限流状态和/或在历史工作周期内的历史限流状态;
根据所述限流状态及所述总限流阈值,确定所述各服务器在下一个工作周期内的限流阈值;
根据所述限流阈值,对所述各服务器执行限流操作。
在一个实施例中,所述各服务器分配有至少一个第一令牌;所述总限流阈值包括总令牌数;所述当前限流状态包括所述各服务器在所述当前工作周期内的第一令牌使用数和/或第一令牌剩余数;所述历史限流状态包括所述各服务器在所述历史工作周期内的第二令牌使用数和/或第二令牌剩余数;所述限流阈值包括令牌使用阈值;
相应的,所述根据所述限流状态及所述总限流阈值,确定所述各服务器在下一个工作周期内的限流阈值,包括:
根据所述第一令牌使用数、第一令牌剩余数、第二令牌使用数、第二令牌剩余数中的至少一项及所述总令牌数,确定所述各服务器在所述下一个工作周期内的第三令牌使用数;
根据所述第三令牌使用数,确定所述各服务器在所述下一个工作周期内的令牌使用阈值。
在一个实施例中,所述根据所述第一令牌使用数、第一令牌剩余数、第二令牌使用数、第二令牌剩余数中的至少一项及所述总令牌数,确定所述各服务器在所述下一个工作周期内的第三令牌使用数,包括:
根据所述第一令牌使用数和/或所述第一令牌剩余数,确定所述各服务器在所述下一个工作周期内所需的令牌数占所述总令牌数的比例;
根据所述比例及所述总令牌数,确定所述第三令牌使用数。
在一个实施例中,所述根据所述第一令牌使用数、第一令牌剩余数、第二令牌使用数、第二令牌剩余数中的至少一项及所述总令牌数,确定所述各服务器在所述下一个工作周期内的第三令牌使用数,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810972495.2/2.html,转载请声明来源钻瓜专利网。