[发明专利]一种用于限制请求频率的方法、装置及计算机设备有效
申请号: | 201810015270.8 | 申请日: | 2018-01-08 |
公开(公告)号: | CN108200180B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 李奇;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 限制 请求 频率 方法 装置 计算机 设备 | ||
1.一种用于限制请求频率的方法,其特征在于,应用在直播平台上,所述方法包括:
获取用户发送请求的第一时间戳及所述用户的用户标识;
判断限制请求频率的熔断机制是否启动,若确定所述熔断机制处于关闭状态时,确定所述第一时间戳的第一时间槽位slot,所述第一slot的数量包括多个,每个所述第一slot对应不同的时间段;
根据所述第一时间戳对应的第一slot及所述用户标识为所述用户在每个所述第一slot中生成唯一的第一发送请求标识key值,并将所述第一key值存储至预先建立的缓存器中;
统计第一总时间段内所述第一key值的数量,所述第一总时间段为每个所述第一slot对应的时间段的时间总和;所述第一key值的数量根据所述第一slot内的发送的请求的成功状态确定;
根据所述第一key值的数量判断所述用户在所述第一总时间段内发送的请求是否全部发送成功,若全部发送成功,则继续判断所述第一key值的数量是否超出预设的第一阈值,若所述第一key值的数量超出所述预设的第一阈值,则拒绝所述用户当前发送的请求;其中,若所述熔断机制为开启状态时,确定当前使用的是单机请求频率的限制机制;若确定所述熔断机制处于关闭状态时,确定当前使用的是基于全局统计的请求频率的限制机制。
2.如权利要求1所述的方法,其特征在于,确定所述熔断机制处于启动状态时,包括:
判断所述熔断机制的启动时间是否超出预设的启动时间,若确定所述熔断机制的启动时间确超出了预设的启动时间,则允许发送预设数量的请求,所述预设数量的请求的多个第二时间戳对应同一个第二slot;
确定多个所述第二时间戳对应的第二slot;
根据所述第二slot及当前用户的用户标识为所述当前用户在所述第二slot中生成第二key值;
根据预设的第二总时间段内所述第二key值的数量,判断所述当前用户在所述第二总时间段内发送的请求是否全部发送成功,若全部发送成功,则关闭所述熔断机制,并允许用户发送当前请求。
3.如权利要求1所述的方法,其特征在于,根据所述第一key值的数量判断所述用户在所述第一总时间段内发送的请求是否全部发送成功,若发送失败,包括:
统计所述第一总时间段内的发送失败率及连续失败的次数;
当确定所述发送失败率超出预设的发送失败率且所述连续失败的次数超出预设的第二阈值时,启动所述熔断机制,并基于令牌桶算法或漏桶算法统计所述用户在预设的第三总时间段内发送请求的总次数;
判断所述用户在预设的第三总时间段内发送请求的总次数是否超出了预设的第三阈值,若超出,则拒绝所述用户发送的请求。
4.如权利要求2所述的方法,其特征在于,判断所述当前用户在所述第二总时间段内发送的请求是否全部发送成功,若发送失败,包括:
基于令牌桶算法或漏桶算法统计所述用户在预设的第四总时间段内发送请求的总次数;
判断所述用户在预设的第四总时间段内发送请求的总次数是否超出了预设的第四阈值,若超出,则拒绝所述用户发送的请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810015270.8/1.html,转载请声明来源钻瓜专利网。