[发明专利]网站流量控制方法及装置有效
申请号: | 201110120883.6 | 申请日: | 2011-05-11 |
公开(公告)号: | CN102780603A | 公开(公告)日: | 2012-11-14 |
发明(设计)人: | 王烨;唐志慧 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网站 流量 控制 方法 装置 | ||
技术领域
本申请涉及计算机网络技术领域,特别是涉及一种网站流量控制方法及装置。
背景技术
在网站应用中,一般来说用户的请求是不受数量限制的,网站服务器按照自己的实际服务能力尽可能响应这些请求,但是也存在一些特殊的业务场景,必须要限制用户的请求数量。例如,网站上的站内信发送,当一个用户给另一个用户频繁发送站内信,这些站内信就有可能衍生成垃圾信息,这给用户带来不方便的同时,也会增加网站的负担。另外,对于某些下载数据的请求,若某一用户大量频繁的请求下载,大流量下载占用较多的资源会给服务器和网络传输造成负担,并给其他用户造成不便。因此,在这些情况通常需要通过流量分析的方式来对流量进行控制,使网站能安全有效的运行。
现有的对网站流量控制的方法通常为:设定单位时间内用户针对单个URL的请求次数阈值,并借助计数器来统计单位时间内用户针对某个URL的请求次数,使用户的请求数量被限制在这个阈值之内。其中,计数器在每个单位时间的结束时间会被删除,当在下一单位时间有请求时再重新建立,从而记录每个单位时间内的请求次数。计数器一般用三元组(key,time,value)表示,其中,key表示提出请求的用户,time表示最近一次请求的时间,value表示累计请求的次数。每次请求时,通过表示用户的key去查找与其对应的三元组,如果未查找到,则说明在预定的单位时间内,没有请求,那么记录当前请求为第一次请求,如果能查找到,则查看其累计请求的次数是否超过阈值。若超过,则拒绝请求,反之,则允许请求,同时更新三元组的time与value。
前述方法中的单位时间通常是一个固定的时间段,例如,以24小时做为单位时间,从每天的0点开始到第二天的0点结束,如果请求集中在两个相邻单位时间的交接点,那么实际上此种方法并不能进行较好的控制。例如,前一单位时间内的请求集中在23点至24点之间,后一单位时间内的请求集中在0点到1点之间,那么实际在两个小时内,可以请求的最大次数是两个单位时间请求次数阈值的总和。所以,采用此种方法无法合理的进行流量控制。
发明内容
本申请所要解决的技术问题是提供一种网站流量控制方法及系统,能够合理的对网站流量进行控制。
为了解决上述问题,本申请公开了一种网站流量控制方法,包括以下步骤:
接收用户访问请求,获取用户标识;
根据用户标识查询用户针对当前网站的临界访问请求的记录信息,所述临界访问请求指从最近一次成功访问请求前推预设次数后所确定的成功访问请求;若能查询到目标记录信息,则进行下一步骤,反之,则响应当前访问请求;
判断所述临界访问请求的请求时间是否在距离当前访问请求时间的一个预定单位时间内,如果是,则拒绝当前访问请求,反之,则响应当前访问请求。
进一步地,所述根据用户标识查询用户针对当前网站的临界访问请求的记录信息之前还包括以下步骤:
采用动态缓存存储成功访问请求记录信息,对所述记录信息进行老化处理。
进一步地,所述动态缓存存储的成功访问请求记录信息包括:
成功访问请求的到期时间,所述到期时间为成功访问请求的请求时间加上预定单位时间。
进一步地,对所述记录信息进行老化处理包括:
删除到达过期时间的成功访问请求记录信息。
进一步地,所述采用缓存存储成功访问请求记录信息包括以下步骤:
采用总计数器记录用户最近一次访问请求的到期时间及访问请求的总次数;
采用单次计数器记录用户本次访问请求的过期时间及本次访问请求的序列号。
进一步地,所述方法还包括:
判断动态缓存中是否存储有当前用户的成功访问请求记录信息;
若是,则为新的成功访问请求记录信息新建一个单次计数器,并更新总计数器,所述单次计数器中的序列号为更新后总计数器中记录的总次数;
反之,则为新的成功访问请求记录信息新建一个单次计数器和总计数器,所述单次计数器中的序列号与所述总计数器的总次数相同。
进一步地,所述查询用户针对当前网站的临界访问请求的记录信息包括以下步骤:
查询当前用户总计数器中记录的总次数;
将总次数减去访问请求阈值后的值加一,得到临界访问请求的序列号;
根据序列号查询临界访问请求对应的单次计数器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110120883.6/2.html,转载请声明来源钻瓜专利网。