[发明专利]接口限流方法、装置和电子设备在审
申请号: | 202110728745.X | 申请日: | 2021-06-29 |
公开(公告)号: | CN113489702A | 公开(公告)日: | 2021-10-08 |
发明(设计)人: | 王加鑫;洪庆文 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/815;H04L12/851;H04L29/08 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 钟扬飞 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 接口 限流 方法 装置 电子设备 | ||
1.一种接口限流方法,其特征在于,所述方法包括:
通过预设的拦截器获取客户端发送的HTTP请求;
从所述HTTP请求中提取所述HTTP请求的资源标识符,并判断所述资源标识符是否保存在预设的限流配置信息中;
如果是,从所述HTTP请求中获取所述限流配置信息指示的限流参数的参数值;
根据获取的所述限流参数的参数值,对所述HTTP请求进行限流处理。
2.根据权利要求1所述的方法,其特征在于,所述限流配置信息中保存有所述限流参数对应的访问次数的限流阈值;
所述根据获取的所述限流参数的参数值,对所述HTTP请求进行限流处理的步骤,包括:
如果获取到所述限流参数的参数值,将所述限流参数对应的访问次数加一;
判断加一后的所述访问次数是否达到所述限流阈值;
如果达到所述限流阈值,终止所述HTTP请求;
如果未达到所述限流阈值,响应所述HTTP请求。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果未获取到所述限流参数的参数值,终止所述HTTP请求,并向所述客户端返回缺少限流参数的信息。
4.根据权利要求2所述的方法,其特征在于,所述将所述限流参数对应的访问次数加一的步骤,包括:
查询预设的计数表中是否包含有所述限流参数的参数值的限流记录;
如果有,将所述限流记录中所述限流参数的参数值的访问次数加一;
如果没有,在所述计数表中插入所述限流参数的参数值的限流记录。
5.根据权利要求4所述的方法,其特征在于,所述在所述计数表中插入所述限流参数的参数值的限流记录的步骤,包括:
根据所述HTTP请求和所述限流配置信息,生成所述限流参数的参数值的限流记录;其中,所述限流记录中包括:限流记录的标识、所述限流参数的参数值、记录生成时间、访问次数和所述限流参数的限流阈值。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
定时扫描所述计数表中的限流记录;
如果所述限流记录中的访问次数达到所述限流阈值,或者所述记录生成时间超过预设时间阈值,删除所述限流记录。
7.根据权利要求2所述的方法,其特征在于,所述如果获取到所述限流参数的参数值,将所述限流参数对应的访问次数加一的步骤之后,所述方法还包括:
判断是否存在计数表并发执行插入限流记录的异常;
如果存在异常,将所述限流参数的访问次数加一;
判断访问次数加一后的值是否达到限流阈值;如果未达到所述限流阈值,响应所述HTTP请求;如果达到所述限流阈值,终止所述HTTP请求。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
如果不存在异常,判断加一后的访问次数是否达到所述限流阈值;
如果未达到所述限流阈值,响应所述HTTP请求;
如果达到所述限流阈值,终止所述HTTP请求。
9.根据权利要求7所述的方法,其特征在于,所述如果存在异常,将所述限流参数的访问次数加一的步骤,包括:
如果存在异常,使用try-catch操作捕获异常,并使用findAndModify命令将所述限流参数的访问次数加一。
10.根据权利要求1所述的方法,其特征在于,所述通过预设的拦截器获取客户端发送的HTTP请求的步骤之后,所述方法还包括:
通过所述拦截器,将所述HTTP请求设置为本地线程变量;
所述根据获取的所述限流参数的参数值,对所述HTTP请求进行限流处理的步骤之后,所述方法还包括:
通过所述拦截器清理所述HTTP请求对应的本地线程变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110728745.X/1.html,转载请声明来源钻瓜专利网。