[发明专利]过载保护方法、装置及服务器在审
申请号: | 201210319293.0 | 申请日: | 2012-08-31 |
公开(公告)号: | CN103685336A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 唐孟松 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 鞠永善 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 过载 保护 方法 装置 服务器 | ||
技术领域
本发明涉及互联网通信领域,特别涉及一种过载保护方法、装置及服务器。
背景技术
客户端/服务器网是应用非常广泛的一种网络模式。其中,客户端通过请求与服务器通信,来完成各种数据交互。
为了解决服务器接收到太多请求时无法有效处理的情况,现有技术中常应用于服务器中的一种过载保护方法为:第一,服务器累计一段时间间隔内接收到的由一个或者多个客户端发送的请求数;第二,服务器判断当前时间间隔内已经累计的请求数是否超过了预定阈值,如果是,则拒绝在当前时间间隔中,超过预定阈值之后接收到的请求。比如,时间间隔为1秒,预定阈值为1000个,在第1秒内,服务器累计接收到的由客户端发送的请求数,在累计的请求数超过1000个时,拒绝后续再接收到的请求;在第2秒内,服务器从0开始重新累计接收到的请求,如果服务器在第2秒内累计接收到的请求数一直没有超过1000个,则一直接收并处理客户端发送的请求,依次类推。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:现有的过载保护方法仅关注当前时间间隔的累计数,在前一个时间间隔中服务器已经过载的情况下,接下来的一个时间间隔里仍然会继续接收不超过预定阈值个数的请求来处理,不能有效缓解高峰期时的服务器过载现象,比如,在前一秒内服务器已经接收1000多个请求的情况下,在下一秒服务器仍然重新开始接收大量的请求直到该秒内累计的请求数超过1000个,使得连续n秒内,服务器每秒都接收1000个请求,导致服务器一直都处于负载非常重的运行状态。
发明内容
为了解决现有的过载保护方法仅关注当前时间间隔的累计数,而不能有效缓解高峰期时的服务器过载的问题,本发明实施例提供了一种过载保护方法、装置及服务器。所述技术方案如下:
一方面,提供了一种过载保护方法,所述方法包括:
分别累计连续的m个时间间隔中各自接收到的请求数;
从所述m个时间间隔中抽取n个时间间隔,并累计所述n个时间间隔中各自接收到的请求数的总和,所述n个时间间隔包含当前时间所属的时间间隔;
若累计的所述请求数的总和超过预定阈值,则拒绝在当前时间所属的时间间隔中,超过所述预定阈值之后接收到的请求;
其中,m和n为大于等于2的整数,且m大于等于n。
进一步地,所述从所述m个时间间隔中抽取n个时间间隔,包括:
从所述m个时间间隔中抽取连续的n个时间间隔,并累计所述n个时间间隔中各自接收到的请求数的总和,所述n个时间间隔中的最后一个时间间隔为所述当前时间所属的时间间隔。
进一步地,所述从所述m个时间间隔中抽取n个时间间隔,包括:
从所述m个时间间隔中按照预定顺序抽取不连续的n个时间间隔,并累计所述n个时间间隔中各自接收到的请求数的总和,所述n个时间间隔中的最后一个时间间隔为所述当前时间所属的时间间隔。
进一步地,所述方法,还包括:
将所述m个时间间隔中各自接收到的请求数依次存储入循环队列中,所述循环队列包含至少m个存储位置,在所述循环队列的存储位置存储满之后,将最新一个时间间隔所对应的请求数覆盖存储在所述循环队列中最早一个时间间隔所对应的存储位置中。
另一方面,提供了一种过载保护装置,所述装置包括:
请求累计模块,用于分别累计连续的m个时间间隔中各自接收到的请求数;
窗口累计模块,用于从所述m个时间间隔中抽取n个时间间隔,并累计所述n个时间间隔中各自接收到的请求数的总和,所述n个时间间隔包含当前时间所属的时间间隔;
请求拒绝模块,用于若累计的所述请求数的总和超过预定阈值,则拒绝在当前时间所属的时间间隔中,超过所述预定阈值之后接收到的请求;
其中,m和n为大于等于2的整数,且m大于等于n。
进一步地,所述窗口累计模块,具体用于从所述m个时间间隔中抽取连续的n个时间间隔,并累计所述n个时间间隔中各自接收到的请求数的总和,所述n个时间间隔中的最后一个时间间隔为所述当前时间所属的时间间隔。
进一步地,所述窗口累计模块,具体用于从所述m个时间间隔中按照预定顺序抽取不连续的n个时间间隔,并累计所述n个时间间隔中各自接收到的请求数的总和,所述n个时间间隔中的最后一个时间间隔为所述当前时间所属的时间间隔。
进一步地,所述装置,还包括:队列存储模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210319293.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种真空定位蒙皮粘接设备及其粘接工艺
- 下一篇:一种软胶侧堵盖成型塑胶模