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

技术编号:10715549 阅读:170 留言:0更新日期:2014-12-03 18:27
本发明专利技术提供了一种服务超时保护系统及方法。该方法包括:a)接收来自请求端针对一项服务的请求;b)判断所述服务的当前占用服务器超时次数是否大于第一阈值,否,则进入步骤c;是,则进入步骤f;c)允许所述请求发送至所述服务器;d)获取所述请求的服务器占用时间;e)当所述请求的服务器占用时间大于第二阈值时,更新所述服务的当前占用服务器超时次数;f)判断所述服务的当前拒绝次数是否大于第三阈值,是,则允许所述请求发送至所述服务器;否,则拒绝所述请求发送至所述服务器,并更新所述当前拒绝次数。

【技术实现步骤摘要】
一种服务器过载保护系统及方法
本专利技术涉及服务器的管理
,特别是一种服务器过载保护系统及方法。
技术介绍
经过多年的发展,服务器过载保护方面已经有比较多的研究,但在实际业务场景中,一些极端情况下服务器的负载仍然有可能达到其上限。现有的服务保护技术中,有的从硬件着手,优化网卡驱动,根据当前机器的CPU使用率、内存使用率等参数来衡量服务器的负载情况;如果服务器超过负载限制,则网卡驱动拒绝所有建立新TCP连接的请求,来缓解服务器的压力。优化网卡驱动虽然一定程度上能缓存服务器负载,但是,对于突发的短暂的高访问量情况,将会引起服务器的吞吐量抖动。同时,由于这种方法的控制粒度太粗,如果同一台机器上部署多类服务,那么其中一类服务异常会导致所有的服务都不能正常工作。还有的服务保护技术从软件着手,采用不同的工作负载管理器来分别处理不同优先级的请求方法:当服务器负载达到一定上限时,拒绝低优先级的服务请求,只处理高优先级的请求。但是,根据优先级来拒绝服务请求,实际上是根据业务服务器负载来判断服务提供方的调用,如果提供高优先级的服务器出现异常,这种策略就不能有效地缓解系统负载。也有服务保护技术采用时间滑动窗口,根据所消耗的资源将服务分为磁盘带宽消耗型的服务、CPU消耗型的服务、网络带宽消耗型的服务,根据服务的不同来设置不同时长的滑动窗口。例如,专利号为CN103164663A的专利:一种基于滑动窗口的服务器过载保护方法及装置。在该专利中,所述滑动窗口记录对应时间段内服务器接收的请求:服务器收到新的请求时,根据滑动窗口记录的服务器接收的请求检测服务器当前的负载状态,根据检测结果判断是否对请求进行处理。但是,基于时间滑动窗口的服务保护技术,忽略了访问的周期性,实际上互联网用户访问量会呈现出周期性的波峰波谷,例如通常白天的访问量比凌晨高很多,而此时使用同样长的时间窗口显然不太合适。而且不同长的滑动窗口仅根据服务消耗的资源进行区分,粒度太粗,如有多种服务都是CPU消耗型的服务,则不便于实时探测服务器负载,存在由于突发情况引起的负载抖动对服务器处理核心服务带来影响的可能性。因此,需要一种服务器器过载保护的方法及系统,以有效地避免突发事件对服务器带来的影响。
技术实现思路
本专利技术的目的是提供一种服务器过载保护的方法及系统。本专利技术以服务种类为粒度,对服务器进行过载保护。根据本专利技术的一个方面,提供了一种服务器过载保护的方法,所述方法包括如下步骤:a)接收来自请求端针对一项服务的请求;b)判断所述服务的当前占用服务器超时次数是否大于第一阈值,否,则进入步骤c;是,则进入步骤f;c)允许所述请求发送至所述服务器;d)获取所述请求的服务器占用时间;e)当所述请求的服务器占用时间大于第二阈值时,更新所述服务的当前占用服务器超时次数;f)判断所述服务的当前拒绝次数是否大于第三阈值,是,则允许所述请求发送至所述服务器;否,则拒绝所述请求发送至所述服务器,并更新所述当前拒绝次数。优选地,步骤c进一步包括:判断所述服务的当前发送次数是否大于第四阈值,否,则允许所述请求发送至所述服务器,更新所述服务的当前发送次数;是,则将所述服务的当前占用服务器超时次数及所述服务的当前发送次数复位,允许所述请求发送至服务器。优选地,步骤c进一步包括:c1’)更新所述服务的当前发送次数;和c2’)判断所述服务的当前发送次数是否大于第四阈值;否,则允许所述请求发送至服务器;是,则将所述服务的当前占用服务器超时次数及所述服务的当前发送次数复位,允许所述请求发送至服务器。优选地,所述第一阈值、第二阈值、第三阈值为预先设置的。优选地,所述第一阈值、第二阈值、第三阈值、第四阈值为预先设置的。优选地,所述第三阈值根据动态计算得到。优选地,所述第三阈值根据所述第一阈值与当前超时比例的乘积,动态计算得到,其中所述当前超时比例为当前占用服务器超时次数/当前发送次数。优选地,更新所述当前占用服务器超时次数以及所述当前拒绝次数的方法为,对所述当前占用服务器超时次数以及所述当前拒绝次数分别加1。优选地,更新所述当前发送次数的方法为,对所述当前发送次数加1。根据本专利技术的另一方面,提供了一种服务器过载保护系统,其中:所述系统接收请求端发出的针对一项服务的请求;所述系统包括接口单元、设置单元、计数单元以及控制单元,其中,所述接口单元用于允许或者阻止所述请求端与所述服务器之间的数据交换;所述设置单元用于生成第一阈值、第二阈值、第三阈值以及第四阈值;所述计数单元用于记录针对所述服务的当前占用服务器超时次数、针对所述服务的当前发送次数、以及针对所述服务的当前拒绝次数;并根据所述控制单元的控制将针对所述服务的当前占用服务器超时次数、所述服务的当前发送次数以及所述服务的当前拒绝次数复位;所述控制单元用于控制允许或者阻止所述请求端与所述服务器之间的数据交换。优选地,所述接口单元用于:接收所述请求后,请求所述控制单元提供针对该请求的指示;根据所述控制单元的允许指示,允许所述请求端将请求发送至所述服务器并且允许所述服务器将反馈发送至所述请求端;记录所述请求发送至所述服务器的时间以及所述服务器发送针对所述请求的反馈的时间;根据所述控制单元的拒绝指示,拒绝来自所述请求端的请求,并且向所述请求端发送反馈。优选地,所述控制单元用于接收所述接口单元发出的请求,分别调取所述第一阈值与当前占用服务器超时次数,比较所述第一阈值与所述当前占用服务器超时次数;当所述当前占用服务器超时次数≤所述第一阈值时,所述控制单元向所述接口单元发送允许指示,计算所述服务器占用时间,比较所述服务器占用时间与所述第二阈值,当所述服务器占用时间>所述第二阈值,则所述控制单元控制所述计数单元对所述当前占用服务器超时次数进行更新;若所述服务器超时次数>所述第一阈值,则所述控制单元分别调取所述第三阈值与当前拒绝次数,比较所述第三阈值与所述当前拒绝次数;若所述当前拒绝次数≤所述第三阈值,则所述控制单元向所述接口单元发送拒绝指示,并控制所述计数单元对所述当前拒绝次数进行更新;若所述当前拒绝次数>所述第三阈值,则所述控制单元向所述接口单元发送允许指示。优选地,所述计数单元动态计算所述第三阈值。优选地,所述计数单元根据所述第一阈值与当前超时比例的乘积动态计算所述第三阈值,其中所述当前超时比例为所述服务器超时的次数/所述当前发送次数。优选地,所述接口单元包括第一暂存模块,用以存储来自所述请求端的请求和/或来自所述服务器的反馈,和/或,所述请求发送至所述服务器的时间以及所述服务器发送针对所述请求的反馈的时间。优选地,所述服务器过载保护系统中设置有第一存储单元,用以存储来自所述请求端的请求和/或来自所述服务器的反馈,和/或,所述请求发送至所述服务器的时间以及所述服务器发送针对所述请求的反馈的时间。优选地,所述设置单元包括第二暂存模块,用以存储针对不同服务的所述第一阈值、第二阈值、第三阈值以及第四阈值。优选地,所述服务器过载保护系统中设置有第二存储单元,用以存储针对不同服务的所述第二阈值、所述第一阈值、所述发送阈值次数、以及所述第三阈值。优选地,所述计数单元包括第三暂存模块,用以存储针对不同服务的所述服务器超时次数、所述当前发送次数以及所述当前拒绝次数。优选地,所述服本文档来自技高网
...
一种服务器过载保护系统及方法

【技术保护点】
一种服务器过载保护方法,所述方法包括如下步骤:a)接收来自请求端针对一项服务的请求;b)判断所述服务的当前占用服务器超时次数是否大于第一阈值,否,则进入步骤c;是,则进入步骤f;c)允许所述请求发送至所述服务器;d)获取所述请求的服务器占用时间;e)当所述请求的服务器占用时间大于第二阈值时,更新所述服务的当前占用服务器超时次数;f)判断所述服务的当前拒绝次数是否大于第三阈值,是,则允许所述请求发送至所述服务器;否,则拒绝所述请求发送至所述服务器,并更新所述当前拒绝次数。

【技术特征摘要】
1.一种服务器过载保护方法,所述方法包括如下步骤:a)接收来自请求端针对一项服务的请求;b)判断所述服务的当前占用服务器超时次数是否大于第一阈值,否,则进入步骤c;是,则进入步骤f;c)允许所述请求发送至所述服务器,判断所述服务的当前发送次数是否大于第四阈值,否,则允许所述请求发送至所述服务器,更新所述服务的当前发送次数;是,则将所述服务的当前占用服务器超时次数及所述服务的当前发送次数复位,允许所述请求发送至服务器;d)获取所述请求的服务器占用时间;e)当所述请求的服务器占用时间大于第二阈值时,更新所述服务的当前占用服务器超时次数;f)判断所述服务的当前拒绝次数是否大于第三阈值,是,则允许所述请求发送至所述服务器;否,则拒绝所述请求发送至所述服务器,并更新所述当前拒绝次数。2.根据权利要求1所述的方法,其特征在于,步骤c还可以是:c1’)更新所述服务的当前发送次数;c2’)判断所述服务的当前发送次数是否大于第四阈值;否,则允许所述请求发送至服务器;是,则将所述服务的当前占用服务器超时次数及所述服务的当前发送次数复位,允许所述请求发送至服务器。3.根据权利要求1所述的方法,其特征在于,所述第一阈值、第二阈值、第三阈值为预先设置的。4.根据权利要求1或2所述的方法,其特征在于,所述第一阈值、第二阈值、第三阈值、第四阈值为预先设置的。5.根据权利要求1所述的方法,其特征在于,所述第三阈值根据动态计算得到。6.根据权利要求1或2所述的方法,其特征在于,所述第三阈值根据所述第一阈值与当前超时比例的乘积,动态计算得到,其中所述当前超时比例为当前占用服务器超时次数/当前发送次数。7.根据权利要求1所述的方法,其特征在于,更新所述当前占用服务器超时次数以及所述当前拒绝次数的方法为,对所述当前占用服务器超时次数以及所述当前拒绝次数分别加1。8.根据权利要求1或2所述的方法,其特征在于,更新所述当前发送次数的方法为,对所述当前发送次数加1。9.一种服务器过载保护系统,其中:所述系统接收请求端发出的针对一项服务的请求;所述系统包括接口单元、设置单元、计数单元以及控制单元,其中,所述接口单元用于允许或者阻止所述请求端与所述服务器之间的数据交换所述接口单元接收所述请求后,请求所述控制单元提供针对该请求的指示;根据所述控制单元的允许指示,允许所述请求端将请求发送至所述服务器并且允许所述服务器将反馈发送至所述请求端;记录所述请求发送至所述服务器的时间以及所述服务器发送针对所述请求的反馈的时间;根据所述控制单元的拒绝指示,拒绝来自所述请求端的请求,并且向所述请求端发送反馈;所述设置单元用于生成第一阈值、第二阈值、第三阈值以及第四阈值;所述计数单元用于记录针对所述服务的当前占用服务器超时...

【专利技术属性】
技术研发人员:赵建华谢刚陈家斌
申请(专利权)人:五八同城信息技术有限公司
类型:发明
国别省市:天津;12

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

1