一种分布式系统的过载保护方法和服务器的制造方法

文档序号:9306784阅读:611来源:国知局
一种分布式系统的过载保护方法和服务器的制造方法
【技术领域】
[0001]本发明涉及互联网通信领域,尤其涉及一种分布式系统的过载保护方法和服务器。
【背景技术】
[0002]对于时延比较敏感的服务,当外部请求超过系统处理能力时,则会出现请求过载现象,如果此时系统没有采取过载保护,可能导致历史累计的超时请求像雪球一样形成恶性循环。
[0003]目前通常使用的过载处理方法为:前端根据后端的负载情况分配用户请求,即前端不向超过负载能力的后端继续发起请求;或者,后端如果发现当前超过负载能力时,则拒绝前端发来的新增的用户请求。当过载发生时,用户不断的刷新请求,这也就意味着此时系统的请求队列中的大部分请求已经无效(用户用刷新的请求代替了上一次的请求),目前的过载处理方法并不能有效地控制无效请求的蔓延。

【发明内容】

[0004]本发明正是基于上述问题,提出了一种新的技术方案,当负载均衡服务器接收到用户请求时,则对所述用户请求加上时间戳,当业务服务器接收到加上时间戳的所述用户请求时,则根据所述时间戳判断是否丢弃所述用户请求,可以控制无效用户请求的蔓延,进而,提高系统的处理效率。
[0005]本发明第一方面提供了一种分布式系统的过载保护方法,包括:
[0006]负载均衡服务器接收到来自请求端的用户请求时,给所述用户请求加上时间戳,并将加上所述时间戳的所述用户请求转发至后端的业务服务器;
[0007]所述业务服务器接收到加上所述时间戳的所述用户请求时,获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;
[0008]若是,所述业务服务器则将所述用户请求作为无效请求丢弃。
[0009]可选的,所述业务服务器将所述用户请求作为无效请求丢弃之后,所述方法还包括:
[0010]所述业务服务器对无效请求次数加一,并检测当前单位时间段内记录的所述无效请求次数是否达到第一预设次数阈值;
[0011]若是,所述业务服务器则根据预设丢弃策略丢弃后续接收到的用户请求,直到检测到单位时间段内记录的无效请求次数小于所述第一预设次数阈值。
[0012]可选的,所述业务服务器将所述用户请求作为无效请求丢弃之后,所述方法还包括:
[0013]所述业务服务器对无效请求次数加一,并检测当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值是否达到第二预设次数阈值;
[0014]若是,所述业务服务器则根据预设丢弃策略丢弃后续接收到的用户请求,直到检测到当前单位时间段内记录的无效请求次数与上一单位时间段内记录的无效请求次数的差值小于或等于第二预设次数阈值。
[0015]进一步的,NTP服务器校准所述负载均衡服务器和所述业务服务器的系统时间。
[0016]再进一步的,若本地的系统时间与所述时间戳的时间间隔小于或等于所述预设时长,所述方法还包括:
[0017]所述业务服务器将所述用户请求加入请求队列中。
[0018]本发明第二方面还提供了一种业务服务器,包括:
[0019]接收模块,用于接收用户请求,所述用户请求携带时间戳,所述时间戳是负载均衡服务器接收到所述用户请求时加上的;
[0020]判断模块,用于获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;
[0021]处理模块,用于若本地的系统时间与所述时间戳的时间间隔达到所述预设时长,则将所述用户请求作为无效请求丢弃。
[0022]可选的,所述业务服务器还包括:
[0023]计数器,用于对无效请求次数加一;
[0024]检测模块,用于检测当前单位时间段内所述计数器记录的所述无效请求次数是否达到第一预设次数阈值;
[0025]所述处理模块还用于:
[0026]若当前单位时间段内所述计数器记录的所述无效请求次数达到所述第一预设次数阈值,则根据预设丢弃策略丢弃后续接收到的用户请求,直到所述检测模块判定单位时间段内记录的无效请求次数小于所述第一预设次数阈值。
[0027]可选的,所述业务服务器还包括:
[0028]计数器,用于对无效请求次数加一;
[0029]检测模块,用于检测当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值是否达到第二预设次数阈值;
[0030]所述处理模块还用于:
[0031 ] 若当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值达到所述第二预设次数阈值,则根据预设丢弃策略丢弃后续接收到的用户请求,直到所述检测模块判定当前单位时间段内记录的无效请求次数与上一单位时间段内记录的无效请求次数的差值小于或等于第二预设次数阈值。
[0032]进一步的,所述业务服务器还包括:
[0033]转发模块,用于若本地的系统时间与所述时间戳的时间间隔小于或等于所述预设时长,则将所述用户请求加入请求队列中。
[0034]本发明第三方面还提供了一种负载均衡服务器,所述负载均衡服务器包括:
[0035]接收模块,用于接收来自请求端的用户请求;
[0036]处理模块,用于获取本地的系统时间,并对所述用户请求加上时间戳,所述时间戳根据所述系统时间确定;
[0037]转发模块,用于将加上所述时间戳的所述用户请求转发至后端的业务服务器,以使所述业务服务器根据所述用户请求的时间戳判断是否将所述用户请求作为无效请求丢弃。
[0038]实施本发明实施例,具有以下有益效果:
[0039]当负载均衡服务器接收到来自请求端的用户请求时,则对所述用户请求加上时间戳,当业务服务器接收到加上时间戳的所述用户请求时,则判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长,若是,说明所述用户请求为无效请求,则丢弃所述用户请求,抑制了无效用户请求的蔓延,进而,提高了系统的处理效率。
【附图说明】
[0040]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]图1是本发明实施例提供的一种分布式系统的过载保护方法的示意图;
[0042]图2是本发明实施例提出的一种基于LNMP结构的分布式系统的示意图;
[0043]图3是本发明实施例提供的另一种分布式系统的过载保护方法的示意图;
[0044]图4是本发明实施例提供的又一种分布式系统的过载保护方法的示意图;
[0045]图5是本发明实施例提供的一种业务服务器的结构示意图;
[0046]图6是本发明实施例提供的一种负载均衡服务器的结构示意图。
【具体实施方式】
[0047]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]请参阅图1,图1是本发明实施例提供的一种分布式系统的请求过载的处理方法的流程示意图。如图1所示所述方法可以包括:
[0049]S110,负载均衡服务器接收到来自请求端的用户请求时,给所述用户请求加上时间戳,并将加上所述时间戳的所述用户请求转发至后端的业务服务器。
[0050]图2是本发明实施例提出的一种基于LNMP结构
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1