[发明专利]接口限流方法、装置和电子设备在审
申请号: | 202110728745.X | 申请日: | 2021-06-29 |
公开(公告)号: | CN113489702A | 公开(公告)日: | 2021-10-08 |
发明(设计)人: | 王加鑫;洪庆文 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/815;H04L12/851;H04L29/08 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 钟扬飞 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 接口 限流 方法 装置 电子设备 | ||
本发明提供一种接口限流方法、装置和电子设备,通过拦截器获取客户端发送的HTTP请求;从HTTP请求中提取HTTP请求的资源标识符,并判断资源标识符是否保存在限流配置信息中;如果是,从HTTP请求中获取限流配置信息指示的限流参数的参数值;根据获取的限流参数的参数值,对HTTP请求进行限流处理。该方式通过拦截器拦截发送给服务端的HTTP请求,如果该HTTP请求中的资源标识符与限流配置信息保存的资源标识符相匹配,将根据从HTTP请求中获取的限流参数的参数值,对HTTP请求进行限流处理;该方式无需引入redis资源或中间件进行接口限流,降低了限流处理的部署和维护成本,也提高了限流处理的扩展灵活性。
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种接口限流方法、装置和电子设备。
背景技术
接口限流通常是服务端应用安全的一个很常见的场景,主要是避免外部恶意的接口并发访问(例如,登陆或者获取验证码等)。
在基于Spring开发的业务应用使用MongoDB作为存储层的技术背景下,业务规模不大,但需要对某些资源接口做限流处理。相关技术中,通常引入redis资源或者中间件来进行接口限流,导致接口限流的部署和维护成本高,扩展灵活性较差。
发明内容
本发明的目的在于提供一种接口限流方法、装置和电子设备,以降低接口限流处理的部署和维护成本,提高接口限流扩展的灵活性。
第一方面,本发明提供了一种接口限流方法,该方法包括:通过预设的拦截器获取客户端发送的HTTP请求;从该HTTP请求中提取HTTP请求的资源标识符,并判断该资源标识符是否保存在预设的限流配置信息中;如果是,从HTTP请求中获取限流配置信息指示的限流参数的参数值;根据获取的限流参数的参数值,对HTTP请求进行限流处理。
在可选的实施方式中,上述限流配置信息中保存有限流参数对应的访问次数的限流阈值;上述根据获取的限流参数的参数值,对HTTP请求进行限流处理的步骤,包括:如果获取到限流参数的参数值,将该限流参数对应的访问次数加一;判断加一后的访问次数是否达到限流阈值;如果达到限流阈值,终止HTTP请求;如果未达到限流阈值,响应HTTP请求。
在可选的实施方式中,上述方法还包括:如果未获取到限流参数的参数值,终止HTTP请求,并向客户端返回缺少限流参数的信息。
在可选的实施方式中,上述将限流参数对应的访问次数加一的步骤,包括:查询预设的计数表中是否包含有限流参数的参数值的限流记录;如果有,将限流记录中限流参数的参数值的访问次数加一;如果没有,在计数表中插入限流参数的参数值的限流记录。
在可选的实施方式中,上述在计数表中插入限流参数的参数值的限流记录的步骤,包括:根据HTTP请求和限流配置信息,生成限流参数的参数值的限流记录;其中,该限流记录中包括:限流记录的标识、限流参数的参数值、记录生成时间、访问次数和限流参数的限流阈值。
在可选的实施方式中,上述方法还包括:定时扫描计数表中的限流记录;如果限流记录中的访问次数达到限流阈值,或者记录生成时间超过预设时间阈值,删除限流记录。
在可选的实施方式中,上述如果获取到限流参数的参数值,将该限流参数对应的访问次数加一的步骤之后,该方法还包括:判断是否存在计数表并发执行插入限流记录的异常;如果存在异常,将限流参数的访问次数加一;判断访问次数加一后的值是否达到限流阈值;如果未达到限流阈值,响应HTTP请求;如果达到限流阈值,终止HTTP请求。
在可选的实施方式中,上述方法还包括:如果不存在异常,判断加一后的访问次数是否达到限流阈值;如果未达到限流阈值,响应HTTP请求;如果达到限流阈值,终止HTTP请求。
在可选的实施方式中,上述如果存在异常,将限流参数的访问次数加一的步骤,包括:如果存在异常,使用try-catch操作捕获异常,并使用findAndModify命令将限流参数的访问次数加一。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110728745.X/2.html,转载请声明来源钻瓜专利网。