[发明专利]访问请求限流方法、服务器及存储介质有效
申请号: | 202010131710.3 | 申请日: | 2020-02-29 |
公开(公告)号: | CN111447150B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 李志周 | 申请(专利权)人: | 中国平安财产保险股份有限公司 |
主分类号: | H04L47/215 | 分类号: | H04L47/215;H04L47/10 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
地址: | 518000 广东省深圳市福田区益田路*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 访问 请求 限流 方法 服务器 存储 介质 | ||
1.一种访问请求限流方法,应用于服务器,该服务器通信连接网关及客户端,其特征在于,所述方法包括:
接收步骤:通过所述网关接收客户端发出的访问请求,解析所述访问请求,获取所述访问请求携带的URL地址和请求标识,将所述URL地址与预设数据库中预先配置的限流策略集合进行匹配,得到与该URL地址匹配的限流策略;
读取步骤:基于所述请求标识生成该请求的时间戳及该请求对应的业务类型的键值对,并将所述业务类型的键值对写入所述预设数据库,基于所述限流策略读取该请求对应的令牌桶速率及请求所需令牌数;
计算步骤:根据所述业务类型的键值对从所述预设数据库中读取令牌桶第一剩余令牌数、上一次获取令牌的时间,基于所述时间戳、所述上一次获取令牌的时间及所述令牌桶速率,计算得到令牌桶新增的令牌数,基于所述第一剩余令牌数及所述新增的令牌数计算得到令牌桶的第二剩余令牌数,基于所述请求所需令牌数及所述第二剩余令牌数计算得到第三剩余令牌数,并将所述时间戳及第三剩余令牌数写入所述预设数据库;及
限流步骤:将所述第三剩余令牌数发送至所述网关,若所述第三剩余令牌数大于或等于预设值,则响应所述访问请求,并将处理所述访问请求的结果反馈至客户端,若所述第三剩余令牌数小于预设值,则拒绝所述访问请求;
其中,所述将所述时间戳及第三剩余令牌数写入所述预设数据库包括:分别生成所述时间戳及所述第三剩余令牌数对应的键值对,将所述对应的键值对写入所述预设数据库,基于预设计算规则为所述对应的键值对的键值设置有效时长。
2.如权利要求1所述的访问请求限流方法,其特征在于,所述接收步骤包括:
遍历所述限流策略集合中的限流策略,若基于所述URL地址未匹配到限流策略,则将限流策略集中通用的限流策略作为所述URL地址匹配的限流策略,若基于所述URL地址匹配到多个限流策略,则从所述多个限流策略中读取优先级最高的限流策略作为所述URL地址匹配的限流策略。
3.如权利要求1所述的访问请求限流方法,其特征在于,所述预设计算规则包括:
T=(C/V)×a,
其中,T表示所述有效时长,C表示令牌桶容量,V表示所述令牌桶速率,a表示常数。
4.如权利要求1所述的访问请求限流方法,其特征在于,所述方法还包括:
判断所述访问请求是否为恶意注册请求,或爬虫过度抓取请求,当判断所述访问请求为恶意请求或爬虫过度抓取请求时,确定所述访问请求为异常请求并拒绝所述异常请求,当判断所述访问请求为非恶意注册请求或非爬虫过度抓取请求时,确定所述访问请求为正常请求并响应所述正常请求。
5.一种服务器,该服务器通信连接网关及客户端,该服务器包括存储器及处理器,其特征在于,所述存储器上存储访问请求限流程序,所述访问请求限流程序被所述处理器执行,实现如下步骤:
接收步骤:通过所述网关接收客户端发出的访问请求,解析所述访问请求,获取所述访问请求携带的URL地址和请求标识,将所述URL地址与预设数据库中预先配置的限流策略集合进行匹配,得到与该URL地址匹配的限流策略;
读取步骤:基于所述请求标识生成该请求的时间戳及该请求对应的业务类型的键值对,并将所述业务类型的键值对写入所述预设数据库,基于所述限流策略读取该请求对应的令牌桶速率及请求所需令牌数;
计算步骤:根据所述业务类型的键值对从所述预设数据库中读取令牌桶第一剩余令牌数、上一次获取令牌的时间,基于所述时间戳、所述上一次获取令牌的时间及所述令牌桶速率,计算得到令牌桶新增的令牌数,基于所述第一剩余令牌数及所述新增的令牌数计算得到令牌桶的第二剩余令牌数,基于所述请求所需令牌数及所述第二剩余令牌数计算得到第三剩余令牌数,并将所述时间戳及第三剩余令牌数写入所述预设数据库;及
限流步骤:将所述第三剩余令牌数发送至所述网关,若所述第三剩余令牌数大于或等于预设值,则响应所述访问请求,并将处理所述访问请求的结果反馈至客户端,若所述第三剩余令牌数小于预设值,则拒绝所述访问请求;
其中,所述将所述时间戳及第三剩余令牌数写入所述预设数据库包括:分别生成所述时间戳及所述第三剩余令牌数对应的键值对,将所述对应的键值对写入所述预设数据库,基于预设计算规则为所述对应的键值对的键值设置有效时长。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国平安财产保险股份有限公司,未经中国平安财产保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010131710.3/1.html,转载请声明来源钻瓜专利网。