CN102523306A - 过载保护方法及系统 - Google Patents
过载保护方法及系统 Download PDFInfo
- Publication number
- CN102523306A CN102523306A CN2011104594965A CN201110459496A CN102523306A CN 102523306 A CN102523306 A CN 102523306A CN 2011104594965 A CN2011104594965 A CN 2011104594965A CN 201110459496 A CN201110459496 A CN 201110459496A CN 102523306 A CN102523306 A CN 102523306A
- Authority
- CN
- China
- Prior art keywords
- overload protection
- web
- user
- users
- bear
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种过载保护方法,其包括:预先设定需要进行过载保护的Web应用;预先设定所述Web应用可承受的最大用户连接数;当已连接的用户的数量达到所述最大连接用户数,进行过载保护;所述过载保护包括拒绝新用户的连接请求。可以看出,在本发明中,当已连接的用户的数量达到预先设定的值最大用户连接数,将拒绝新用户的连接请求,不再对新用户提供服务。与此同时,已连接的用户的请求将不会此影响,从而可以为已连接的用户提供稳定的服务。
Description
技术领域
本发明涉及消息处理技术领域,更具体地说,涉及过载保护方法及系统。
背景技术
近年来,Internet在传播信息的范围和数量上都呈指数级增长,这对Internet上的各种服务器提出了前所未有的挑战。尤其是Web服务器,当Web应用访问用户很多时,HTTP请求经常以爆发的方式到达Web服务器,所有用户的HttpSession占用的内存累加起来会很大,有可能造成内存溢出情况。造成已经在正常连接上到这台服务器的也没有响应。
现有的技术方案对于爆发式的到达Web服务器HTTP请求所采取的过载保护一般为:当HTTP请求数达到一定的数目时,不再响应新HTTP请求。但这种基于HTTP请求数的过载保护会出现如下的情况:用户A在t0时刻正在正常访问,在下一刻(t1)用户A向服务器发送了HTTP请求,恰好在t1时刻,服务器的访问量剧增(也即包含用户A的HTTP请求的大量HTTP请求同时到达服务器),服务器不再响应新HTTP请求。这就会造成用户A的下一步访问得不到响应。
发明内容
有鉴于此,本发明目的在于提供过载保护方法及系统,以解决上述一系列的问题。
为实现上述目的,本发明提供如下技术方案:
一种过载保护方法,包括:
预先设定需要进行过载保护的Web应用;
预先设定所述Web应用可承受的最大用户连接数;
当已连接的用户的数量达到所述最大连接用户数,进行过载保护;
所述过载保护包括拒绝新用户的连接请求。
一种过载保护系统,包括:
第一设定单元,用于预先设定需要进行过载保护的Web应用;
第二设定单元,用于预先设定所述Web应用可承受的最大用户连接数;
内嵌于所述Web应用中的过载保护单元,用于当已连接的用户的数量达到所述最大连接用户数,进行过载保护,所述过载保护包括拒绝新用户的连接请求
从上述的技术方案可以看出,在本发明中,当已连接的用户的数量达到预先设定的值最大用户连接数,将拒绝新用户的连接请求,不再对新用户提供服务。与此同时,已连接的用户的请求将不会此影响,从而可以为已连接的用户提供稳定的服务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的过载保护方法流程图;
图2为本发明实施例所提供的过载保护方法另一流程图;
图3为本发明实施例所提供的过载保护结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结如下:
HTTP:Hyper Text Transfer Protocol,超文本传输协议。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种过载保护方法,参见图1,其包括:
S1、预先设定需要进行过载保护的Web应用;
S2、预先设定所述Web应用可承受的最大用户连接数;
S3、当已连接的用户的数量达到所述最大连接用户数,进行过载保护;
所述过载保护包括拒绝新用户的连接请求。
可以看出,当已连接的用户的数量达到预先设定的值最大用户连接数,将拒绝新用户的连接请求,不再对新用户提供服务。与此同时,已连接的用户的请求将不会此影响,从而可以为已连接的用户提供稳定的服务。
其中,上述最大用户连接数具体可为最大HTTP Session数。
为便于理解本发明,现对Session进行简单介绍:
在HTTP协议中,客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。HTTP协议被认为是无状态协议,无法得知用户的浏览状态,当它在服务端完成响应之后,服务器就失去了与该浏览器的联系。
Session的发明填补了HTTP协议的局限:通过SESSION记录用户的有关信息,以供用户再次以此身份对web服务器提起请求时作确认。Session可以用于用户身份认证,程序状态记录,页面之间参数传递等。Session(会话)的发明使得一个用户在多个页面间切换时能够保存该用户的信息。
Session通常用于执行以下操作:
存储需要在整个用户会话过程中保持其状态的信息,例如登录信息或用户浏览Web应用程序时需要的其它信息。
存储只需要在页重新加载过程中或按功能分组的一组页之间保持其状态的对象。
Session在Web服务器上保持用户的状态信息供在任何时间从任何页访问。因为浏览器不需要存储任何这种信息,所以可以使用任何浏览器。每个Session对象的持续时间是用户访问的时间加上不活动的时间。
SESSION的实现采用了COOKIE技术。SESSION会在客户端保存一个包含session_id(SESSION编号)的COOKIE;在服务器端保存其他session变量,比如session_name等等。当用户向服务器发送HTTP请求时,也把session_id一起发送到服务器,通过session_id提取保存在服务器端的session变量,就能识别用户是谁了。
访问Web应用程序的每个用户都生成一个单独的Session对象。因此,可以用HTTP Session来表征一个用户。这也就是,本发明采用最大HTTPSession数作为最大用户连接数的原因。
由于一个HTTP Session对应一个用户,因此,已连接的用户在服务器上也保存了session变量。这样,即使拒绝新用户连接,已连接的用户可以凭借已有session_id提取保存在服务器上的session变量,让服务器继续为其服务,从而可以保证服务器为已连接的用户提供稳定的服务。
在本发明其他实施例中,参见图2、步骤S3具体包括如下步骤:
S21、模拟大量用户访问所述Web应用的情景,根据所述Web应用中的业务逻辑,预测所述Web应用可承受的最大用户连接数。
具体的,可在inforsuite应用服务器上部署需要过载保护的一个应用,初步预测整个系统事务处理能力的峰值性能,模拟大量用户访问应用的形式。根据应用中的业务逻辑,预测所有的事务交互及每个单类实物所占比例,使用LoadRunner编写相应的脚本进行压力测试,测试出所能承受的最大并发用户数。
HTTP请求是通过上级容器传递给下级容器,层层传递直到传递至真正的真正的servlet的。
Pipeline是上级容器和下级容器进行沟通的管道,当上级容器中的HTTP请求(request)和响应(response)要被传递到下级容器中去时,就必须通过二者间的Pipeline。
每一Pipeline都有对应的valve(配置参数)。Valve包括StandarValve、BaseValve等。如果将request/response看作水,StandarValve、BaseValve等就像管道中的一个个阀门,用于给传递的request/response把关,只有过了所有的阀门,request/response才能被正确的传递到下一级容器中去。
与之相对应,上述预先设定所述Web应用可承受的最大用户连接数可包括:
为Web应用添加用于表征所述最大HTTP Session数的maxactivesession值;
上述maxactivesession值属于valve的一种。
具体的实施方式如下:新建一个valve值SessionOverloadProtectValve类,初始化一个maxActiveSessions参数。当Web应用的已连接用户(activeSessions)超过这个预设的maxActiveSessions值时,开启过载保护功能,不再接受新的用户请求。
在本发明其他实施例中,上述valve还可包括错误信息、错误页以及跳转方式;
相应的,上述过载保护还可包括:
令所拒绝的新用户的连接请求以所述跳转方式跳转至所述错误页;
利用所述错误页显示所述错误信息。
这样,当已连接用户超过maxActiveSessions值时,valve拦截新用户的连接请求(HTTP请求),在上述web应用中添加一个统一的错误页(也即上述错误页),过载后的连接请求跳转到错误页,错误页上有应用返回错误提示信息(也即上述错误信息),从而提供了统一的错误页的应用返回错误提示信息。
与之相对应,本发明实施例还提供了一种过载保护系统,图3示出了其一种结构,包括:
第一设定单元1,用于预先设定需要进行过载保护的Web应用;
第二设定单元2,用于预先设定所述Web应用可承受的最大用户连接数;
内嵌于上述Web应用中的过载保护单元3,用于当已连接的用户的数量达到所述最大连接用户数,进行过载保护,所述过载保护包括拒绝新用户的连接请求。
其中,上述最大用户连接数具体可为最大HTTP Session数。
至于第一设定单元1、第二设定单元2、过载保护单元3如何具体工作,请参见本说明书方法中的记载,在此不作赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统和装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,所述程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种过载保护方法,其特征在于,包括:
预先设定需要进行过载保护的Web应用;
预先设定所述Web应用可承受的最大用户连接数;
当已连接的用户的数量达到所述最大连接用户数,进行过载保护;
所述过载保护包括拒绝新用户的连接请求。
2.如权利要求1所述的方法,其特征在于:所述预先设定所述Web应用可承受的最大用户连接数具体包括:
模拟大量用户访问所述Web应用的情景,根据所述Web应用中的业务逻辑,预测所述Web应用可承受的最大用户连接数。
3.如权利要求1或2所述的方法,其特征在于:所述最大用户连接数具体为最大HTTP Session数。
4.如权利要求3所述的方法,其特征在于,所述预先设定所述Web应用可承受的最大用户连接数包括:
为所述Web应用添加配置参数valve,所述valve包括maxactivesession值;
所述maxactivesession值用于表征所述最大HTTP Session数。
5.如权利要求4所述的方法,其特征在于,所述valve还包括错误信息、错误页以及跳转方式;
所述过载保护还包括:
令所拒绝的新用户的连接请求以所述跳转方式跳转至所述错误页;
利用所述错误页显示所述错误信息。
6.一种过载保护系统,其特征在于,包括:
第一设定单元,用于预先设定需要进行过载保护的Web应用;
第二设定单元,用于预先设定所述Web应用可承受的最大用户连接数;
内嵌于所述Web应用中的过载保护单元,用于当已连接的用户的数量达到所述最大连接用户数,进行过载保护,所述过载保护包括拒绝新用户的连接请求。
7.如权利要求6所述的系统,其特征在于,所述最大用户连接数具体为最大HTTP Session数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104594965A CN102523306A (zh) | 2011-12-31 | 2011-12-31 | 过载保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104594965A CN102523306A (zh) | 2011-12-31 | 2011-12-31 | 过载保护方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102523306A true CN102523306A (zh) | 2012-06-27 |
Family
ID=46294093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104594965A Pending CN102523306A (zh) | 2011-12-31 | 2011-12-31 | 过载保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102523306A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685329A (zh) * | 2012-08-30 | 2014-03-26 | 华耀(中国)科技有限公司 | 基于负载均衡的高级访问控制系统及方法 |
CN104182282A (zh) * | 2014-09-12 | 2014-12-03 | 五八同城信息技术有限公司 | 一种服务器过载保护系统及方法 |
CN105023049A (zh) * | 2014-04-30 | 2015-11-04 | 中国电信股份有限公司 | 在线选座的方法、系统与过载保护装置 |
CN105471933A (zh) * | 2014-08-07 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 服务器过载保护方法、服务器过载保护系统及服务器 |
CN109547548A (zh) * | 2018-11-26 | 2019-03-29 | 广州微算互联信息技术有限公司 | 云手机并发连接限制的处理方法与系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163694A1 (en) * | 2002-02-25 | 2003-08-28 | Chaing Chen | Method and system to deliver authentication authority web services using non-reusable and non-reversible one-time identity codes |
CN101488953A (zh) * | 2008-01-14 | 2009-07-22 | 鸿富锦精密工业(深圳)有限公司 | 网络通信设备及其网络通信协议会话的分配方法 |
CN101969637A (zh) * | 2009-07-28 | 2011-02-09 | 华为技术有限公司 | 网络连接管理方法以及相关装置 |
-
2011
- 2011-12-31 CN CN2011104594965A patent/CN102523306A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163694A1 (en) * | 2002-02-25 | 2003-08-28 | Chaing Chen | Method and system to deliver authentication authority web services using non-reusable and non-reversible one-time identity codes |
CN101488953A (zh) * | 2008-01-14 | 2009-07-22 | 鸿富锦精密工业(深圳)有限公司 | 网络通信设备及其网络通信协议会话的分配方法 |
CN101969637A (zh) * | 2009-07-28 | 2011-02-09 | 华为技术有限公司 | 网络连接管理方法以及相关装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685329A (zh) * | 2012-08-30 | 2014-03-26 | 华耀(中国)科技有限公司 | 基于负载均衡的高级访问控制系统及方法 |
CN103685329B (zh) * | 2012-08-30 | 2017-11-21 | 华耀(中国)科技有限公司 | 基于负载均衡的高级访问控制系统及方法 |
CN105023049A (zh) * | 2014-04-30 | 2015-11-04 | 中国电信股份有限公司 | 在线选座的方法、系统与过载保护装置 |
CN105471933A (zh) * | 2014-08-07 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 服务器过载保护方法、服务器过载保护系统及服务器 |
CN105471933B (zh) * | 2014-08-07 | 2019-04-26 | 腾讯科技(深圳)有限公司 | 服务器过载保护方法、服务器过载保护系统及服务器 |
CN104182282A (zh) * | 2014-09-12 | 2014-12-03 | 五八同城信息技术有限公司 | 一种服务器过载保护系统及方法 |
CN109547548A (zh) * | 2018-11-26 | 2019-03-29 | 广州微算互联信息技术有限公司 | 云手机并发连接限制的处理方法与系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104380278B (zh) | 用于客户端管理会话持续性的设备、系统和方法 | |
CN104767775B (zh) | 网页应用消息推送方法及系统 | |
CN103905497B (zh) | 实现第三方应用业务网站登录的方法、装置及应用平台 | |
US9444718B2 (en) | Distributed platform test network | |
CN101815033B (zh) | 负载均衡的方法、设备及系统 | |
CN104158802B (zh) | 一种平台授权方法、平台服务端及应用客户端和系统 | |
CN104158818B (zh) | 一种单点登录方法及系统 | |
CN104994079B (zh) | 访问请求的处理方法和装置、加速服务器 | |
CN102523306A (zh) | 过载保护方法及系统 | |
CN110365793A (zh) | 违规外联监测方法、装置、系统及存储介质 | |
CN107395782A (zh) | 一种基于代理池的ip限制受控源信息抓取方法 | |
CN105072123B (zh) | 一种集群环境下的单点登陆退出方法及系统 | |
CN104660409B (zh) | 集群环境下系统登录的方法和认证服务器集群 | |
CN104378399A (zh) | 一种数据推送方法、平台服务器、客户端以及系统 | |
CN104426862A (zh) | 实现跨域请求登录的方法、系统及浏览器 | |
CN102307220A (zh) | 一种跨域网页信息交互方法 | |
US20170149916A1 (en) | Page Push Method, Device and Server, and Centralized Network Management Controller | |
CN105991347A (zh) | Dns请求报文的重定向方法和装置 | |
CN108718337A (zh) | 网站账号登录、验证、验证信息处理方法、装置及系统 | |
CN101860549A (zh) | 一种Web Service下访问会话数据处理方法及装置 | |
CN103888999A (zh) | 一种WebCache服务和CDN服务的融合方法和设备 | |
CN104780184A (zh) | 一种利用地理位置信息进行负载均衡的方法 | |
CN107948052A (zh) | 信息爬取方法、装置、电子设备和系统 | |
CN105208100B (zh) | 一种接口数据的处理方法 | |
EP3096492A1 (en) | Page push method, device, server and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120627 |