[发明专利]访问限流方法、装置、电子设备及存储介质有效
申请号: | 202110203480.1 | 申请日: | 2021-02-23 |
公开(公告)号: | CN113010818B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 陈庄智 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957;G06F16/953;G06M1/272 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 朱佳 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 访问 限流 方法 装置 电子设备 存储 介质 | ||
1.一种访问限流方法,其特征在于,该方法应用于限流服务器,包括:
接收应用服务器发送的访问频率查询请求,并获得所述访问频率查询请求携带的目标业务的业务标识;
在共享内存段中获取所述业务标识对应的频率计数器,从所述频率计数器中读取访问本地次数阈值与上一次保存的历史已访问次数,其中,若在所述共享内存段中未获取所述业务标识对应的频率计数器,则从本地的配置文件中获取所述业务标识对应的最新的访问总次数,以及最新的限流服务器总台数,并基于所述最新的访问总次数与所述最新的限流服务器总台数,获得所述业务标识对应的访问本地次数阈值,基于所述访问本地次数阈值生成对应的频率计数器;
对所述历史已访问次数进行更新,获得当前已访问次数;其中,所述访问本地次数阈值是基于所述业务标识对应的最新的访问总次数以及最新的限流服务器总台数生成的,所述访问本地次数阈值表征所述限流服务器记录的所述应用服务器在业务时间段内为所述目标业务提供应用服务的次数上限,所述访问总次数表征所述应用服务器在所述业务时间段内为所述目标业务提供应用服务的总次数;
若所述当前已访问次数不大于所述访问本地次数阈值,则向所述应用服务器返回允许提供应用服务的查询结果,以使所述应用服务器在所述业务时间段内为所述目标业务提供相应的应用服务。
2.如权利要求1所述的方法,其特征在于,在获得所述访问频率查询请求携带的目标业务的业务标识之后,在获得所述业务标识对应的访问本地次数阈值和上一次保存的历史已访问次数之前,还包括:
若确定在本地的缓存进程中未获取到所述业务标识,则判定所述访问频率查询请求不符合预设的拦截条件;
其中,所述拦截条件表征在接收到所述访问频率查询请求之前,对应所述业务标识记录的历史已访问次数等于所述访问本地次数阈值。
3.如权利要求2所述的方法,其特征在于,还包括:
若确定在本地的缓存进程中获取到所述业务标识,则拦截所述访问频率查询请求,并向所述应用服务器返回拒绝提供应用服务的查询结果,以使所述应用服务器在设定时间段内暂停向所述目标业务提供相应的应用服务。
4.如权利要求1所述的方法,其特征在于,在获取到所述业务标识对应的频率计数器之后,在从所述频率计数器中读取访问本地次数阈值与上一次保存的历史已访问次数之前,还包括:
从所述频率计数器中获取计数器创建时间和计数器更新时间,基于当前计数器调用时间对所述计数器更新时间进行更新,获得最新的计数器更新时间;
基于所述计数器创建时间和所述最新的计数器更新时间,确定对应所述频率计数器预设的有效时长未超时。
5.如权利要求1所述的方法,其特征在于,还包括:
按照设定的扫描周期扫描所述共享内存中的各个频率计数器;
对有效时长已超时的频率计数器执行进程释放。
6.一种访问限流装置,其特征在于,该装置应用于限流服务器,包括:
获取单元,用于接收应用服务器发送的访问频率查询请求,并获得所述访问频率查询请求携带的目标业务的业务标识;
处理单元,用于在共享内存段中获取所述业务标识对应的频率计数器,从所述频率计数器中读取访问本地次数阈值与上一次保存的历史已访问次数,其中,若在所述共享内存段中未获取所述业务标识对应的频率计数器,则从本地的配置文件中获取所述业务标识对应的最新的访问总次数,以及最新的限流服务器总台数,并基于所述最新的访问总次数与所述最新的限流服务器总台数,获得所述业务标识对应的访问本地次数阈值,基于所述访问本地次数阈值生成对应的频率计数器;
对所述历史已访问次数进行更新,获得当前已访问次数;其中,所述访问本地次数阈值是基于所述业务标识对应的最新的访问总次数、以及最新的限流服务器总台数生成的,所述访问本地次数阈值表征所述限流服务器记录的所述应用服务器在业务时间段内为所述目标业务提供应用服务的次数上限,所述访问总次数表征所述应用服务器在所述业务时间段内为所述目标业务提供应用服务的总次数;
若所述当前已访问次数不大于所述访问本地次数阈值,则向所述应用服务器返回允许提供应用服务的查询结果,以使所述应用服务器在所述业务时间段内为所述目标业务提供相应的应用服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110203480.1/1.html,转载请声明来源钻瓜专利网。