服务器过载保护方法、服务器过载保护系统及服务器技术方案

技术编号:13135123 阅读:75 留言:0更新日期:2016-04-06 21:23
一种服务器过载保护方法、系统及服务器,该方法包括:监测服务器工作状态信息,所述工作状态信息包括下述信息中的任意一项或任意组合:设定数目个计数单位时长内接收到的请求数目、各连接的接收速率和/或发送速率、各连接的上一次活动时间与当前时间的第一时间差、发送缓冲区的数据量和/或接收缓冲区的数据量、消息队列中已写入的数据量、提取数据的时间与所述数据的发送时间的第二时间差、发送待发送数据的时间与接收到所述待发送数据的时间的第三时间差;分别判断各所述工作状态信息是否满足对应的预定过载条件;在所述工作状态信息中的任意一个满足对应的预定过载条件时,进行对应的过载保护处理。本发明专利技术能够较完善地对服务器进行过载保护。

【技术实现步骤摘要】

本专利技术涉及互联网
,特别涉及一种互联网服务器的服务器过载保护方法、服务器过载保护系统及服务器
技术介绍
在互联网服务器的工作运行过程中,服务器程序会面临来自外部的各种压力场景,比如面对海量连接场景,会存在大量的外部连接;面对海量数据收发场景,会存在服务器程序对CPU(CentralProcessingUnit,中央处理器)、内存的需求;当外部环境出现异常,服务器内部的数据状态变为无效等等。服务器程序如何面对这些场景,如何有效的保护自己,是一个重要的问题。因此,在互联网服务器程序模块的设计中,过载保护是非常重要的功能模块,它直接决定了在异常时刻,服务器是否仍然能够正常工作,并将危害降低到最小。目前互联网服务器的过载保护,并没有通用的过载保护方案,一般是由每一个具体的应用模块自行实现,这些具体的应用模块在实现时,一般采用一些比较通用的过载保护实现理念,比如:负载均衡机制、排队机制、拒绝服务。负载均衡机制,是指通过提升服务器数量规模,将接入的请求平均分散到不同的服务器模块处理。排队机制,是指对于接入服务器的请求,当服务器探测到超过了自己的处理能力,就将请求挂起,暂停对请求的处理。拒绝服务,是指对请求进行甄别,认为非法或者异常的请求,将其丢弃,不进行处理。这些过载保护理念较为笼统,无法处理较为复杂和特殊的场景,而且这些过载保护理念均属于设计层面的考虑,难以具体化到服务器程序层面。
技术实现思路
<br>基于此,有必要针对上述现有技术中提供的问题,提供一种服务器过载保护方法、服务器过载保护系统及服务器,其可以基于不同的场景提供不同的过载保护方案,且简单、有效,能够具体化到服务器程序层面,能够较完善地对服务器进行过载保护。为达到上述目的,本专利技术实施例采用以下技术方案:一种服务器过载保护方法,包括步骤:监测服务器工作状态信息,所述工作状态信息包括下述信息中的任意一项或任意组合:设定数目个计数单位时长内接收到的请求数目、各连接的接收速率和/或发送速率、各连接的上一次活动时间与当前时间的第一时间差、发送缓冲区的数据量和/或接收缓冲区的数据量、消息队列中已写入的数据量、提取数据的时间与所述数据的发送时间的第二时间差、发送待发送数据的时间与接收到所述待发送数据的时间的第三时间差;分别判断各所述工作状态信息是否满足对应的预定过载条件;在所述工作状态信息中的任意一个满足对应的预定过载条件时,进行对应的过载保护处理。一种服务器过载保护系统,包括:检测模块,用于监测服务器工作状态信息,所述工作状态信息包括下述信息中的任意一项或任意组合:设定数目个计数单位时长内接收到的请求数目、各连接的接收速率和/或发送速率、各连接的上一次活动时间与当前时间的第一时间差、发送缓冲区的数据量和/或接收缓冲区的数据量、消息队列中已写入的数据量、提取数据的时间与所述数据的发送时间的第二时间差、发送待发送数据的时间与接收到所述待发送数据的时间的第三时间差;条件判定模块,分别判断各所述工作状态信息是否满足对应的预定过载条件;过载处理模块,用于在所述工作状态信息中的任意一个满足对应的预定过载条件时,进行对应的过载保护处理。一种服务器,包括如上所述的服务器过载保护系统。根据如上所述的本专利技术实施例的方案,其是基于工作场景的不同,对不同的工作状态信息进行监测,且分别设置有不同的预定过载条件,并在满足对应的预定过载条件时,分别进行对应的过载保护处理,可以基于不同的场景提供不同的过载保护方案,且简单、有效,能够具体化到服务器程序层面,能够较完善地对服务器进行过载保护。附图说明图1是本专利技术的服务器过载保护方法实施例的流程示意图;图2是本专利技术的服务器过载保护方法应用的MCP++系统的模块结构示意图;图3是本专利技术的服务器过载保护方法的一个应用示例中的时间序列示意图;图4是本专利技术的服务器过载保护方法的另一个应用示例中的时间序列示意图;图5是本专利技术的服务器过载保护系统实施例的结构示意图;图6是能实现本专利技术的一个计算机系统的模块图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不限定本专利技术的保护范围。图1中示出了本专利技术的服务器过载保护方法实施例的流程示意图,如图1所示,本实施例中的方法包括:步骤S101:监测服务器工作状态信息,所述工作状态信息包括下述信息中的任意一项或任意组合:设定数目个计数单位时长内接收到的请求数目、各连接的接收速率和/或发送速率、各连接的上一次活动时间与当前时间的第一时间差、发送缓冲区的数据量和/或接收缓冲区的数据量、消息队列中已写入的数据量、提取数据的时间与所述数据的发送时间的第二时间差、发送待发送数据的时间与接收到所述待发送数据的时间的第三时间差;步骤S102:分别判断各所述工作状态信息是否满足对应的预定过载条件;步骤S103:在所述工作状态信息中的任意一个满足对应的预定过载条件时,进行对应的过载保护处理。根据如上所述的本专利技术实施例的方案,其是基于工作场景的不同,对不同的工作状态信息进行监测,且分别设置有不同的预定过载条件,并在满足对应的预定过载条件时,分别进行对应的过载保护处理,可以基于不同的场景提供不同的过载保护方案,且简单、有效,能够具体化到服务器程序层面,能够较完善地对服务器进行过载保护。上述本专利技术的服务器过载保护方法,可以应用于各类型服务器中,从而可以在不同的场景下为服务器提供不同的过载保护服务。在下述说明中,以服务器系统类型为MCP++(Maincontrol,Cache,Proxy,缓存和连接控制模块)系统为例进行说明。图2中示出了MCP++系统的模块结构示意图。如图2所示,MCP++系统由三个模块构成,CCD(ConnectionCacheDaemon,外部连接缓存服务)负载外部网络连接管理,DCC(DaemonConnectionCache,内部连接缓存服务)负载对外发起网络连接。MCD(MainControlDaemon,主控服务)是实际处理数据的模块。CCD/DCC收发的数据,均通过一对MQ(MessageQueue,使用shm(共享内存)实现的环形消息队列)与MCD进行通信。MQ是基于Linux系统的SYSV共享内存实现的环形消息队列。数据通过放在共享本文档来自技高网...

【技术保护点】
一种服务器过载保护方法,其特征在于,包括步骤:监测服务器工作状态信息,所述工作状态信息包括下述信息中的任意一项或任意组合:设定数目个计数单位时长内接收到的请求数目、各连接的接收速率和/或发送速率、各连接的上一次活动时间与当前时间的第一时间差、发送缓冲区的数据量和/或接收缓冲区的数据量、消息队列中已写入的数据量、提取数据的时间与所述数据的发送时间的第二时间差、发送待发送数据的时间与接收到所述待发送数据的时间的第三时间差;分别判断各所述工作状态信息是否满足对应的预定过载条件;在所述工作状态信息中的任意一个满足对应的预定过载条件时,进行对应的过载保护处理。

【技术特征摘要】
1.一种服务器过载保护方法,其特征在于,包括步骤:
监测服务器工作状态信息,所述工作状态信息包括下述信息中的任意一项
或任意组合:设定数目个计数单位时长内接收到的请求数目、各连接的接收速
率和/或发送速率、各连接的上一次活动时间与当前时间的第一时间差、发送缓
冲区的数据量和/或接收缓冲区的数据量、消息队列中已写入的数据量、提取数
据的时间与所述数据的发送时间的第二时间差、发送待发送数据的时间与接收
到所述待发送数据的时间的第三时间差;
分别判断各所述工作状态信息是否满足对应的预定过载条件;
在所述工作状态信息中的任意一个满足对应的预定过载条件时,进行对应
的过载保护处理。
2.根据权利要求1所述的服务器过载保护方法,其特征在于,所述工作状
态信息包括设定数目个计数单位时长内接收到的请求数目时,所述对应的预定
过载条件包括:所述请求数目大于或者等于设定请求数目阈值,所述对应的过
载保护处理包括:丢弃在所述设定数目个计数单位时长内后续接收到的请求,
直至下一个设定数目个计数单位时长。
3.根据权利要求1所述的服务器过载保护方法,其特征在于,所述工作状
态信息包括各连接的接收速率和/或发送速率时,所述对应的预定过载条件包括:
当前连接在当前第一时间段内的当前接收速率和/或当前发送速率大于或者等于
预设下载限速速率和/或预设上传限速速率;
所述对应的过载保护处理包括:将当前连接的状态设置为限速状态,停止
收发数据,并在距离第二时间段后,再次检测当前连接在当前第一时间段内的
当前接收速率和/或当前发送速率,判断该当前接收速率和/或当前发送速率是否
大于或者等于预设下载限速速率和/或预设上传限速速率,若是,继续停止收发
数据,若否,将当前连接的状态改为工作状态,继续收发数据。
4.根据权利要求1所述的服务器过载保护方法,其特征在于,所述工作状
态信息包括各连接的上一次活动时间与当前时间的第一时间差时,所述对应的
预定过载条件包括:所述第一时间差大于或者等于第一设定时间间隔;所述对

\t应的过载保护处理包括:关闭第一时间差大于或者等于第一设定时间间隔的连
接。
5.根据权利要求1所述的服务器过载保护方法,其特征在于,所述工作状
态信息包括发送缓冲区的数据量和/或接收缓冲区的数据量时,所述对应的预定
过载条件包括:发送缓冲区的数据量大于或者等于设定发送缓冲区内存阈值和/
或接收缓冲区的数据量大于或者等于设定接收缓冲区内存阈值;所述对应的过
载保护处理包括:关闭连接,释放发送缓冲区和/或接收缓冲区。
6.根据权利要求1所述的服务器过载保护方法,其特征在于,所述工作状
态信息包括消息队列中已写入的数据量时,所述对应的预定过载条件包括:消
息队列中已写入的数据量达到预设数据量阈值;所述对应的过载保护处理包括:
在接收到新的写入数据的指令时,给出写入错误的提示信息,阻止数据写入。
7.根据权利要求1所述的服务器过载保护方法,其特征在于,所述工作状
态信息包括提取数据的时间与所述数据的发送时间的第二时间差时,所述对应
的预定过载条件包括:所述第二时间差是否大于或者等于第二设定时间间隔;
所述对应的过载保护处理包括:丢弃所述数据。
8.根据权利要求1所述的服务器过载保护方法,其特征在于,所述工作状
态信息包括发送待发送数据的时间与接收到所述待发送数据的时间的第三时间
差时;所述对应的预定过载条件包括:所述第三时间差是否大于或者等于第三
设定时间间隔;所述对应的过载保护处理包括:丢弃所述待发送数据。
9.一种服务器过载保护系统,其特征在于,包括:
检测模块,用于监测服务器工作状态信息,所述工作状态信息...

【专利技术属性】
技术研发人员:李辉娄继冰陈杰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1