CN105025080A - 一种分布式系统的过载保护方法和服务器 - Google Patents
一种分布式系统的过载保护方法和服务器 Download PDFInfo
- Publication number
- CN105025080A CN105025080A CN201510295444.7A CN201510295444A CN105025080A CN 105025080 A CN105025080 A CN 105025080A CN 201510295444 A CN201510295444 A CN 201510295444A CN 105025080 A CN105025080 A CN 105025080A
- Authority
- CN
- China
- Prior art keywords
- request
- user
- service server
- timestamp
- invalidation request
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1657—Implicit acknowledgement of correct or incorrect reception, e.g. with a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/23—Bit dropping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种分布式系统的过载保护方法,包括:负载均衡服务器接收到来自请求端的用户请求时,给所述用户请求加上时间戳,并将加上所述时间戳的所述用户请求转发至后端的业务服务器;所述业务服务器接收到加上所述时间戳的所述用户请求时,获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;若是,所述业务服务器则将所述用户请求作为无效请求丢弃。相应地,本发明实施例还公开了一种负载均衡服务器和业务服务器。采用本发明实施例,可以控制无效用户请求的蔓延,进而,提高系统的处理效率。
Description
技术领域
本发明涉及互联网通信领域,尤其涉及一种分布式系统的过载保护方法和服务器。
背景技术
对于时延比较敏感的服务,当外部请求超过系统处理能力时,则会出现请求过载现象,如果此时系统没有采取过载保护,可能导致历史累计的超时请求像雪球一样形成恶性循环。
目前通常使用的过载处理方法为:前端根据后端的负载情况分配用户请求,即前端不向超过负载能力的后端继续发起请求;或者,后端如果发现当前超过负载能力时,则拒绝前端发来的新增的用户请求。当过载发生时,用户不断的刷新请求,这也就意味着此时系统的请求队列中的大部分请求已经无效(用户用刷新的请求代替了上一次的请求),目前的过载处理方法并不能有效地控制无效请求的蔓延。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,当负载均衡服务器接收到用户请求时,则对所述用户请求加上时间戳,当业务服务器接收到加上时间戳的所述用户请求时,则根据所述时间戳判断是否丢弃所述用户请求,可以控制无效用户请求的蔓延,进而,提高系统的处理效率。
本发明第一方面提供了一种分布式系统的过载保护方法,包括:
负载均衡服务器接收到来自请求端的用户请求时,给所述用户请求加上时间戳,并将加上所述时间戳的所述用户请求转发至后端的业务服务器;
所述业务服务器接收到加上所述时间戳的所述用户请求时,获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;
若是,所述业务服务器则将所述用户请求作为无效请求丢弃。
可选的,所述业务服务器将所述用户请求作为无效请求丢弃之后,所述方法还包括:
所述业务服务器对无效请求次数加一,并检测当前单位时间段内记录的所述无效请求次数是否达到第一预设次数阈值;
若是,所述业务服务器则根据预设丢弃策略丢弃后续接收到的用户请求,直到检测到单位时间段内记录的无效请求次数小于所述第一预设次数阈值。
可选的,所述业务服务器将所述用户请求作为无效请求丢弃之后,所述方法还包括:
所述业务服务器对无效请求次数加一,并检测当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值是否达到第二预设次数阈值;
若是,所述业务服务器则根据预设丢弃策略丢弃后续接收到的用户请求,直到检测到当前单位时间段内记录的无效请求次数与上一单位时间段内记录的无效请求次数的差值小于或等于第二预设次数阈值。
进一步的,NTP服务器校准所述负载均衡服务器和所述业务服务器的系统时间。
再进一步的,若本地的系统时间与所述时间戳的时间间隔小于或等于所述预设时长,所述方法还包括:
所述业务服务器将所述用户请求加入请求队列中。
本发明第二方面还提供了一种业务服务器,包括:
接收模块,用于接收用户请求,所述用户请求携带时间戳,所述时间戳是负载均衡服务器接收到所述用户请求时加上的;
判断模块,用于获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;
处理模块,用于若本地的系统时间与所述时间戳的时间间隔达到所述预设时长,则将所述用户请求作为无效请求丢弃。
可选的,所述业务服务器还包括:
计数器,用于对无效请求次数加一;
检测模块,用于检测当前单位时间段内所述计数器记录的所述无效请求次数是否达到第一预设次数阈值;
所述处理模块还用于:
若当前单位时间段内所述计数器记录的所述无效请求次数达到所述第一预设次数阈值,则根据预设丢弃策略丢弃后续接收到的用户请求,直到所述检测模块判定单位时间段内记录的无效请求次数小于所述第一预设次数阈值。
可选的,所述业务服务器还包括:
计数器,用于对无效请求次数加一;
检测模块,用于检测当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值是否达到第二预设次数阈值;
所述处理模块还用于:
若当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值达到所述第二预设次数阈值,则根据预设丢弃策略丢弃后续接收到的用户请求,直到所述检测模块判定当前单位时间段内记录的无效请求次数与上一单位时间段内记录的无效请求次数的差值小于或等于第二预设次数阈值。
进一步的,所述业务服务器还包括:
转发模块,用于若本地的系统时间与所述时间戳的时间间隔小于或等于所述预设时长,则将所述用户请求加入请求队列中。
本发明第三方面还提供了一种负载均衡服务器,所述负载均衡服务器包括:
接收模块,用于接收来自请求端的用户请求;
处理模块,用于获取本地的系统时间,并对所述用户请求加上时间戳,所述时间戳根据所述系统时间确定;
转发模块,用于将加上所述时间戳的所述用户请求转发至后端的业务服务器,以使所述业务服务器根据所述用户请求的时间戳判断是否将所述用户请求作为无效请求丢弃。
实施本发明实施例,具有以下有益效果:
当负载均衡服务器接收到来自请求端的用户请求时,则对所述用户请求加上时间戳,当业务服务器接收到加上时间戳的所述用户请求时,则判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长,若是,说明所述用户请求为无效请求,则丢弃所述用户请求,抑制了无效用户请求的蔓延,进而,提高了系统的处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种分布式系统的过载保护方法的示意图;
图2是本发明实施例提出的一种基于LNMP结构的分布式系统的示意图;
图3是本发明实施例提供的另一种分布式系统的过载保护方法的示意图;
图4是本发明实施例提供的又一种分布式系统的过载保护方法的示意图;
图5是本发明实施例提供的一种业务服务器的结构示意图;
图6是本发明实施例提供的一种负载均衡服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明实施例提供的一种分布式系统的请求过载的处理方法的流程示意图。如图1所示所述方法可以包括:
S110,负载均衡服务器接收到来自请求端的用户请求时,给所述用户请求加上时间戳,并将加上所述时间戳的所述用户请求转发至后端的业务服务器。
图2是本发明实施例提出的一种基于LNMP结构的分布式系统的示意图;
LNMP代表在Linux系统下由Nginx+MySQL+PHP组成的网站服务器架构;
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器;
Mysql是一个小型关系型数据库管理系统;
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
如图2所示,负载均衡服务器处于系统的最前端,用于接收请求端的用户请求,并在接收到用户请求时,获取本端的系统时间,再根据该系统时间给所述用户请求加上时间戳;假设,负载均衡服务器接收到用户请求1时,获取到的本端的系统时间为t1,那么,负载均衡服务器给用户请求1加上的时间戳则为t1。需要说明的是,负载均衡服务器如何在用户请求中加上时间戳是本领域技术人员可理解的,在此不再赘述。
负载均衡服务器再将加上时间戳的用户请求根据预设的处理算法分配给相应的业务服务器(相当于一个节点),其中,所述预设的处理算法可以包括随机选取节点、循环式选取节点或者按照内存或CPU的利用率等等特定的条件进行节点的选取。应指出的是,本发明实施例中的处理算法可以包括但不仅仅局限于上述几种方式,本发明不做限定。
可理解的是,本发明实施例中的负载均衡服务器可以用软件或者硬件设备来实现,本发明不做限定。
可选的,负载均衡服务器还可以将加上时间戳的用户请求分配给其他的负载均衡服务器,当其他的负载均衡服务器接收到加上时间戳的用户请求时,可以直接将所述用户请求分配给相应的业务服务器,也就是说,其他的负载均衡服务器不需要给所述用户请求加上时间戳。
S120,所述业务服务器接收到加上所述时间戳的所述用户请求时,获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;若本地的系统时间与所述时间戳的时间间隔达到预设时长,则执行步骤S140;否则,执行步骤S130。
具体的,当业务服务器接收到加上所述时间戳的用户请求时,业务服务器则获取所述用户请求中的时间戳以及本地的系统时间,比较本地的系统时间与所述时间戳的时间间隔是否达到预设时长,若判定结果为是,说明所述用户请求为无效请求,则执行步骤S140;否则,说明所述用户请求为有效请求,则执行步骤S130。
其中,所述预设时长可以是一个经验值,管理员可以根据分布式系统的实际处理情况对所述预设时长进行调整。
进一步的,在分布式系统的后台,NTP(全称:Network Time Protocol)服务器可以对所述负载均衡服务器和所述业务服务器的时间进行校准,以使所述负载均衡服务器和所述业务服务器在时间上对齐,进而,提高分布式系统对无效请求的筛选精度。
应理解的是,分布式系统中的每台服务器从请求队列中取出用户请求时,都可以执行步骤S120~S130,每台服务器可以对应设置处理阈值(相当于上述提及的预设时长)。
步骤S130,所述业务服务器将所述用户请求加入请求队列中。
步骤S140,所述业务服务器将所述用户请求作为无效请求丢弃。
在图1所示的实施例中,当负载均衡服务器接收到来自请求端的用户请求时,则对所述用户请求加上时间戳,当业务服务器接收到加上时间戳的所述用户请求时,则判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长,若是,说明所述用户请求为无效请求,则丢弃所述用户请求,控制了无效用户请求的蔓延,进而,提高了系统的处理效率。
请参阅图3,图3是本发明实施例提供的另一种分布式系统的请求过载的处理方法的流程示意图。如图3所示所述方法可以包括:
S310,负载均衡服务器接收到来自请求端的用户请求时,给所述用户请求加上时间戳,并将加上所述时间戳的所述用户请求转发至后端的业务服务器。
如图2所示,负载均衡服务器处于分布式系统的最前端,用于接收请求端的用户请求,并在接收到用户请求时,获取本端的系统时间,再根据该系统时间给所述用户请求加上时间戳;假设,负载均衡服务器接收到用户请求1时,获取到的本端的系统时间为t1,那么,负载均衡服务器给用户请求1加上的时间戳则为t1。需要说明的是,负载均衡服务器如何在用户请求中加上时间戳是本领域技术人员可理解的,在此不再赘述。
负载均衡服务器再将加上时间戳的用户请求根据预设的处理算法分配给相应的业务服务器(相当于一个节点),其中,所述预设的处理算法可以包括随机选取节点、循环式选取节点或者按照内存或CPU的利用率等等特定的条件进行节点的选取。应指出的是,本发明实施例中的处理算法可以包括但不仅仅局限于上述几种方式,本发明不做限定。
可理解的是,本发明实施例中的负载均衡服务器可以用软件或者硬件设备来实现,本发明不做限定。
可选的,负载均衡服务器还可以将加上时间戳的用户请求分配给其他的负载均衡服务器,当其他的负载均衡服务器接收到加上时间戳的用户请求时,可以直接将所述用户请求分配给相应的业务服务器,也就是说,其他的负载均衡服务器不需要给所述用户请求加上时间戳。
S320,所述业务服务器接收到加上所述时间戳的所述用户请求时,获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;若本地的系统时间与所述时间戳的时间间隔达到预设时长,则执行步骤S340;否则,执行步骤S330。
其中,所述预设时长可以是一个经验值,管理员可以根据分布式系统的实际处理情况对所述预设时长进行调整。
进一步的,在分布式系统的后台,NTP(全称:Network Time Protocol)服务器可以对所述负载均衡服务器和所述业务服务器的时间进行校准,以使所述负载均衡服务器和所述业务服务器在时间上对齐,进而,提高分布式系统对无效请求的筛选精度。
步骤S330,所述业务服务器将所述用户请求加入请求队列中。
步骤S340,所述业务服务器将所述用户请求作为无效请求丢弃。
步骤S350,所述业务服务器对无效请求次数加一。
所述业务服务器可以记录单位时间段内的无效请求次数,若在当前单位时间段内检测到无效请求,则对当前单位时间段内的无效请求次数加一。
需要说明的是,步骤S340与步骤S350之间并没有严格的先后执行顺便,也可以同步执行,本发明不做限定。
步骤S360,所述业务服务器检测当前单位时间段内记录的所述无效请求次数是否达到第一预设次数阈值,若当前单位时间段内记录的所述无效请求次数达到第一预设次数阈值,则执行步骤S370。
业务服务器每当对无效请求次数加一时,需要检测当前单位时间段内记录的无效请求次数是否达到第一预设次数阈值,若是,说明所述业务服务器已经超过负荷能力过多,则执行步骤S370。
其中,所述第一预设次数阈值可以是一个经验值,管理员可以根据分布式系统的实际处理情况对所述第一预设次数阈值进行调整。
步骤S370,所述业务服务器根据预设丢弃策略丢弃后续接收到的用户请求,直到检测到单位时间段内记录的无效请求次数小于所述第一预设次数阈值。
优选的,所述预设丢弃策略可以为小概率随机丢弃策略,如业务服务器每接收到五个用户请求则丢弃一个用户请求,即接收到的第六个用户请求则丢弃,直到检测到单位时间段内记录的取消请求次数小于所述第一预设次数阈值,才停止执行根据预设丢弃策略丢弃后续接收到的用户请求的步骤。
需要说明的是,所述业务服务器根据丢弃策略丢弃的用户请求不需要记录到无效请求次数中。
在图3所示的实施例中,当业务服务器根据本地的系统时间与用户请求携带的时间戳的时间间隔达到预设时长而丢弃所述用户请求时,所述业务服务器进一步可以对无效请求次数加一,并检测当前单位时间段内记录的所述无效请求次数是否达到第一预设次数阈值,若是,说明所述业务服务器已经超过负荷能力过多,则根据预设丢弃策略丢弃后续接收到的用户请求,进一步缓解了业务服务器的负担,进而,避免了业务服务器因负载过多而故障。
请参阅图4,图4是本发明实施例提供的另一种分布式系统的请求过载的处理方法的流程示意图。如图4所示所述方法可以包括:
S410,负载均衡服务器接收到来自请求端的用户请求时,给所述用户请求加上时间戳,并将加上所述时间戳的所述用户请求转发至后端的业务服务器。
如图2所示,负载均衡服务器处于分布式系统的最前端,用于接收请求端的用户请求,并在接收到用户请求时,获取本端的系统时间,再根据该系统时间给所述用户请求加上时间戳;假设,负载均衡服务器接收到用户请求1时,获取到的本端的系统时间为t1,那么,负载均衡服务器给用户请求1加上的时间戳则为t1。需要说明的是,负载均衡服务器如何在用户请求中加上时间戳是本领域技术人员可理解的,在此不再赘述。
负载均衡服务器再将加上时间戳的用户请求根据预设的处理算法分配给相应的业务服务器(相当于一个节点),其中,所述预设的处理算法可以包括随机选取节点、循环式选取节点或者按照内存或CPU的利用率等等特定的条件进行节点的选取。应指出的是,本发明实施例中的处理算法可以包括但不仅仅局限于上述几种方式,本发明不做限定。
可理解的是,本发明实施例中的负载均衡服务器可以用软件或者硬件设备来实现,本发明不做限定。
可选的,负载均衡服务器还可以将加上时间戳的用户请求分配给其他的负载均衡服务器,当其他的负载均衡服务器接收到加上时间戳的用户请求时,可以直接将所述用户请求分配给相应的业务服务器,也就是说,其他的负载均衡服务器不需要给所述用户请求加上时间戳。
S420,所述业务服务器接收到加上所述时间戳的所述用户请求时,获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;若本地的系统时间与所述时间戳的时间间隔达到预设时长,则执行步骤S440;否则,执行步骤S440。
其中,所述预设时长可以是一个经验值,管理员可以根据分布式系统的实际处理情况对所述预设时长进行调整。
进一步的,在分布式系统的后台,NTP(全称:Network Time Protocol)服务器可以对所述负载均衡服务器和所述业务服务器的时间进行校准,以使所述负载均衡服务器和所述业务服务器在时间上对齐,进而,提高分布式系统对无效请求的筛选精度。
步骤S430,所述业务服务器将所述用户请求加入请求队列中。
步骤S440,所述业务服务器将所述用户请求作为无效请求丢弃。
步骤S450,所述业务服务器对无效请求次数加一。
所述业务服务器可以记录单位时间段内的无效请求次数,若在当前单位时间段内检测到无效请求,则对当前单位时间段内的无效请求次数加一。
需要说明的是,步骤S440与步骤S450之间并没有严格的先后执行顺便,也可以同步执行,本发明不做限定。
步骤S460,所述业务服务器检测当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值是否达到第二预设次数阈值,若当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值达到第二预设次数,则执行步骤S470。
业务服务器每当对无效请求次数加一时,需要检测当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值是否达到第二预设次数阈值,若是,说明所述业务服务器已经连续一段时间超过负荷能力过多,则执行步骤S470。
其中,所述第二预设次数阈值可以是一个经验值,管理员可以根据分布式系统的实际处理情况对所述第二预设次数阈值进行调整。
步骤S470,所述业务服务器根据预设丢弃策略丢弃后续接收到的用户请求,直到检测到当前单位时间段内记录的无效请求次数与上一单位时间段内记录的无效请求次数的差值小于或等于第二预设次数阈值。
优选的,所述预设丢弃策略可以为小概率随机丢弃策略,如业务服务器每接收到五个用户请求则丢弃一个用户请求,即接收到的第六个用户请求则丢弃,直到检测到当前单位时间段内记录的无效请求次数与上一单位时间段内记录的无效请求次数的差值小于或等于第二预设次数阈值,才停止执行根据预设丢弃策略丢弃后续接收到的用户请求的步骤。
需要说明的是,所述业务服务器根据丢弃策略丢弃的用户请求不需要记录到无效请求次数中。
在图4所示的实施例中,当业务服务器根据本地的系统时间与用户请求携带的时间戳的时间间隔达到预设时长而丢弃所述用户请求时,所述业务服务器进一步可以对无效请求次数加一,检测当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值是否达到第二预设次数阈值,若是,说明所述业务服务器已经超过负荷能力过多,则根据预设丢弃策略丢弃后续接收到的用户请求,进一步缓解了业务服务器的负担,进而,避免了业务服务器因负载过多而故障。
请参阅图5,图5是本发明实施例提供的一种业务服务器的结构示意图。如图5所示所述业务服务器5至少可以包括接收模块51、判断模块52以及处理模块53,其中:
接收模块51,用于接收用户请求,所述用户请求携带时间戳,所述时间戳是负载均衡服务器接收到所述用户请求时加上的;
判断模块52,用于获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;
处理模块53,用于若本地的系统时间与所述时间戳的时间间隔达到所述预设时长,则将所述用户请求作为无效请求丢弃。
进一步的,所述业务服务器5还可以包括计数器54以及检测模块55,其中:
在一种可选的实施方式中:
计数器54,用于对无效请求次数加一;
检测模块55,用于检测当前单位时间段内所述计数器记录的所述无效请求次数是否达到第一预设次数阈值;
所述处理模块53还用于:
若当前单位时间段内所述计数器记录的所述无效请求次数达到所述第一预设次数阈值,则根据预设丢弃策略丢弃后续接收到的用户请求,直到所述检测模块55判定单位时间段内记录的无效请求次数小于所述第一预设次数阈值。
在另一种可选的实施方式中:
计数器54,用于对无效请求次数加一;
检测模块55,用于检测当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值是否达到第二预设次数阈值;
所述处理模块53还用于:
若当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值达到所述第二预设次数阈值,则根据预设丢弃策略丢弃后续接收到的用户请求,直到所述检测模块55判定当前单位时间段内记录的无效请求次数与上一单位时间段内记录的无效请求次数的差值小于或等于第二预设次数阈值。
再进一步的,所述业务服务器5还可以包括转发模块56,用于若本地的系统时间与所述时间戳的时间间隔小于或等于所述预设时长,则将所述用户请求加入请求队列中。
可理解的是,本实施例的业务服务器5的各功能模块的功能可根据上述方法实施例中的方法具体实现,可以具体对应参考图1~图4方法实施例的相关描述,此处不再赘述。
请参阅图6,图6是本发明实施例提供的一种负载均衡服务器的结构示意图。如图6所示所述负载均衡服务器6至少可以包括接收模块61、处理模块62以及转发模块63,其中:
接收模块61,用于接收来自请求端的用户请求;
处理模块62,用于获取本地的系统时间,并对所述用户请求加上时间戳,所述时间戳根据所述系统时间确定;
转发模块63,用于将加上所述时间戳的所述用户请求转发至后端的业务服务器,以使所述业务服务器根据所述用户请求的时间戳判断是否将所述用户请求作为无效请求丢弃。
可理解的是,本实施例的负载均衡服务器5的各功能模块的功能可根据上述方法实施例中的方法具体实现,可以具体对应参考图1~图4方法实施例的相关描述,此处不再赘述。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明实施例所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本发明实施例中所述模块,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种分布式系统的过载保护方法,其特征在于,所述方法包括:
负载均衡服务器接收到来自请求端的用户请求时,给所述用户请求加上时间戳,并将加上所述时间戳的所述用户请求转发至后端的业务服务器;
所述业务服务器接收到加上所述时间戳的所述用户请求时,获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;
若是,所述业务服务器则将所述用户请求作为无效请求丢弃。
2.如权利要求1所述的方法,其特征在于,所述业务服务器将所述用户请求作为无效请求丢弃之后,所述方法还包括:
所述业务服务器对无效请求次数加一,并检测当前单位时间段内记录的所述无效请求次数是否达到第一预设次数阈值;
若是,所述业务服务器则根据预设丢弃策略丢弃后续接收到的用户请求,直到检测到单位时间段内记录的无效请求次数小于所述第一预设次数阈值。
3.如权利要求1所述的方法,其特征在于,所述业务服务器将所述用户请求作为无效请求丢弃之后,所述方法还包括:
所述业务服务器对无效请求次数加一,并检测当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值是否达到第二预设次数阈值;
若是,所述业务服务器则根据预设丢弃策略丢弃后续接收到的用户请求,直到检测到当前单位时间段内记录的无效请求次数与上一单位时间段内记录的无效请求次数的差值小于或等于第二预设次数阈值。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
NTP服务器校准所述负载均衡服务器和所述业务服务器的系统时间。
5.如权利要求1-4任一项所述的方法,其特征在于,若本地的系统时间与所述时间戳的时间间隔小于或等于所述预设时长,所述方法还包括:
所述业务服务器将所述用户请求加入请求队列中。
6.一种业务服务器,其特征在于,所述业务服务器包括:
接收模块,用于接收用户请求,所述用户请求携带时间戳,所述时间戳是负载均衡服务器接收到所述用户请求时加上的;
判断模块,用于获取所述时间戳,并判断本地的系统时间与所述时间戳的时间间隔是否达到预设时长;
处理模块,用于若本地的系统时间与所述时间戳的时间间隔达到所述预设时长,则将所述用户请求作为无效请求丢弃。
7.如权利要求6所述的业务服务器,其特征在于,所述业务服务器还包括:
计数器,用于对无效请求次数加一;
检测模块,用于检测当前单位时间段内所述计数器记录的所述无效请求次数是否达到第一预设次数阈值;
所述处理模块还用于:
若当前单位时间段内所述计数器记录的所述无效请求次数达到所述第一预设次数阈值,则根据预设丢弃策略丢弃后续接收到的用户请求,直到所述检测模块判定单位时间段内记录的无效请求次数小于所述第一预设次数阈值。
8.如权利要求6所述的业务服务器,其特征在于,所述业务服务器还包括:
计数器,用于对无效请求次数加一;
检测模块,用于检测当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值是否达到第二预设次数阈值;
所述处理模块还用于:
若当前单位时间段内记录的所述无效请求次数与上一单位时间段内记录的所述无效请求次数的差值达到所述第二预设次数阈值,则根据预设丢弃策略丢弃后续接收到的用户请求,直到所述检测模块判定当前单位时间段内记录的无效请求次数与上一单位时间段内记录的无效请求次数的差值小于或等于第二预设次数阈值。
9.如权利要求6-8中任一项所述的业务服务器,其特征在于,所述业务服务器还包括:
转发模块,用于若本地的系统时间与所述时间戳的时间间隔小于或等于所述预设时长,则将所述用户请求加入请求队列中。
10.一种负载均衡服务器,其特征在于,所述负载均衡服务器包括:
接收模块,用于接收来自请求端的用户请求;
处理模块,用于获取本地的系统时间,并对所述用户请求加上时间戳,所述时间戳根据所述系统时间确定;
转发模块,用于将加上所述时间戳的所述用户请求转发至后端的业务服务器,以使所述业务服务器根据所述用户请求的时间戳判断是否将所述用户请求作为无效请求丢弃。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510295444.7A CN105025080B (zh) | 2015-06-02 | 2015-06-02 | 一种分布式系统的过载保护方法和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510295444.7A CN105025080B (zh) | 2015-06-02 | 2015-06-02 | 一种分布式系统的过载保护方法和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105025080A true CN105025080A (zh) | 2015-11-04 |
CN105025080B CN105025080B (zh) | 2018-11-06 |
Family
ID=54414776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510295444.7A Active CN105025080B (zh) | 2015-06-02 | 2015-06-02 | 一种分布式系统的过载保护方法和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105025080B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107172171A (zh) * | 2017-05-27 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 一种服务请求处理方法、装置及计算机可读存储介质 |
CN107277083A (zh) * | 2016-04-06 | 2017-10-20 | 阿里巴巴集团控股有限公司 | 一种数据交互的处理方法、装置及系统 |
CN107995127A (zh) * | 2017-12-13 | 2018-05-04 | 深圳乐信软件技术有限公司 | 一种过载保护方法及装置 |
CN108023936A (zh) * | 2017-11-07 | 2018-05-11 | 深圳市天下房仓科技有限公司 | 一种分布式接口访问控制方法及系统 |
CN108234341A (zh) * | 2018-01-25 | 2018-06-29 | 北京搜狐新媒体信息技术有限公司 | 基于设备指纹的Nginx动态被动限流方法及系统 |
CN108234342A (zh) * | 2018-01-25 | 2018-06-29 | 北京搜狐新媒体信息技术有限公司 | 基于设备指纹的Nginx动态主动限流方法及系统 |
CN108881435A (zh) * | 2018-06-15 | 2018-11-23 | 广东美的制冷设备有限公司 | 实时时钟提供方法、服务器、家电设备、系统和介质 |
CN109918196A (zh) * | 2019-01-23 | 2019-06-21 | 深圳壹账通智能科技有限公司 | 系统资源分配方法、装置、计算机设备和存储介质 |
CN112347234A (zh) * | 2020-11-05 | 2021-02-09 | 北京羽扇智信息科技有限公司 | 文本显示方法及装置 |
CN113992401A (zh) * | 2021-10-27 | 2022-01-28 | 同程网络科技股份有限公司 | 数据处理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1705393A (zh) * | 2004-06-02 | 2005-12-07 | 日本电气株式会社 | 基站无线单元的过载状态的原因识别 |
CN1968147A (zh) * | 2006-11-27 | 2007-05-23 | 华为技术有限公司 | 业务处理方法、网络设备及业务处理系统 |
CN101305346A (zh) * | 2004-05-21 | 2008-11-12 | Bea系统公司 | 用于具有过载保护的应用服务器的系统和方法 |
CN101754325A (zh) * | 2009-12-25 | 2010-06-23 | 中兴通讯股份有限公司 | 前向功率过载控制方法及装置 |
CN103179009A (zh) * | 2013-04-22 | 2013-06-26 | 烽火通信科技股份有限公司 | 一种分布式管理系统的动态自适应调用方法 |
-
2015
- 2015-06-02 CN CN201510295444.7A patent/CN105025080B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101305346A (zh) * | 2004-05-21 | 2008-11-12 | Bea系统公司 | 用于具有过载保护的应用服务器的系统和方法 |
CN1705393A (zh) * | 2004-06-02 | 2005-12-07 | 日本电气株式会社 | 基站无线单元的过载状态的原因识别 |
CN1968147A (zh) * | 2006-11-27 | 2007-05-23 | 华为技术有限公司 | 业务处理方法、网络设备及业务处理系统 |
CN101754325A (zh) * | 2009-12-25 | 2010-06-23 | 中兴通讯股份有限公司 | 前向功率过载控制方法及装置 |
CN103179009A (zh) * | 2013-04-22 | 2013-06-26 | 烽火通信科技股份有限公司 | 一种分布式管理系统的动态自适应调用方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277083A (zh) * | 2016-04-06 | 2017-10-20 | 阿里巴巴集团控股有限公司 | 一种数据交互的处理方法、装置及系统 |
CN107277083B (zh) * | 2016-04-06 | 2021-03-02 | 创新先进技术有限公司 | 一种数据交互的处理方法、装置及系统 |
CN107172171A (zh) * | 2017-05-27 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 一种服务请求处理方法、装置及计算机可读存储介质 |
CN107172171B (zh) * | 2017-05-27 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 一种服务请求处理方法、装置及计算机可读存储介质 |
CN108023936B (zh) * | 2017-11-07 | 2021-02-05 | 深圳市天下房仓科技有限公司 | 一种分布式接口访问控制方法及系统 |
CN108023936A (zh) * | 2017-11-07 | 2018-05-11 | 深圳市天下房仓科技有限公司 | 一种分布式接口访问控制方法及系统 |
CN107995127A (zh) * | 2017-12-13 | 2018-05-04 | 深圳乐信软件技术有限公司 | 一种过载保护方法及装置 |
CN108234341A (zh) * | 2018-01-25 | 2018-06-29 | 北京搜狐新媒体信息技术有限公司 | 基于设备指纹的Nginx动态被动限流方法及系统 |
CN108234341B (zh) * | 2018-01-25 | 2021-06-11 | 北京搜狐新媒体信息技术有限公司 | 基于设备指纹的Nginx动态被动限流方法及系统 |
CN108234342B (zh) * | 2018-01-25 | 2021-08-13 | 北京搜狐新媒体信息技术有限公司 | 基于设备指纹的Nginx动态主动限流方法及系统 |
CN108234342A (zh) * | 2018-01-25 | 2018-06-29 | 北京搜狐新媒体信息技术有限公司 | 基于设备指纹的Nginx动态主动限流方法及系统 |
CN108881435A (zh) * | 2018-06-15 | 2018-11-23 | 广东美的制冷设备有限公司 | 实时时钟提供方法、服务器、家电设备、系统和介质 |
CN108881435B (zh) * | 2018-06-15 | 2021-12-03 | 广东美的制冷设备有限公司 | 实时时钟提供方法、服务器、家电设备、系统和介质 |
CN109918196A (zh) * | 2019-01-23 | 2019-06-21 | 深圳壹账通智能科技有限公司 | 系统资源分配方法、装置、计算机设备和存储介质 |
CN112347234A (zh) * | 2020-11-05 | 2021-02-09 | 北京羽扇智信息科技有限公司 | 文本显示方法及装置 |
CN113992401A (zh) * | 2021-10-27 | 2022-01-28 | 同程网络科技股份有限公司 | 数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105025080B (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105025080A (zh) | 一种分布式系统的过载保护方法和服务器 | |
CN110049130B (zh) | 一种基于边缘计算的服务部署和任务调度方法及装置 | |
CN108075934B (zh) | 一种网络质量监控方法、装置及系统 | |
CN107547503B (zh) | 一种会话表项处理方法、装置、防火墙设备及存储介质 | |
CN108173938A (zh) | 服务器负载分流方法及装置 | |
CN106612284B (zh) | 一种流数据的传输方法和装置 | |
CN106790696B (zh) | 一种消息传输方法和装置 | |
CN104980472A (zh) | 网络访问量的控制方法及装置 | |
CN108370605A (zh) | 一种rrc连接释放方法、装置及设备 | |
CN106797330B (zh) | 用于监测内容递送网络(cdn)的方法、业务监测器(tm)、请求路由器(rr)和系统 | |
US20150180909A1 (en) | Communication system, communication method, and call control server | |
CN107979539A (zh) | 报文处理方法及装置 | |
CN105245463A (zh) | 一种流量控制方法和设备 | |
CN108718335A (zh) | 一种负载均衡方法、装置、Web服务器及存储介质 | |
US10321355B2 (en) | Access node, mobility management network element, and paging message processing method | |
CN111385328A (zh) | 业务请求的处理方法、系统及电子设备 | |
US11444882B2 (en) | Methods for dynamically controlling transmission control protocol push functionality and devices thereof | |
US20180110091A1 (en) | Data Transmission Method and Apparatus for Data Service | |
CN103078799B (zh) | 邻居表项的处理方法及装置 | |
CN104243473A (zh) | 一种数据传输的方法以及装置 | |
JP6117345B2 (ja) | 処理性能低下を回避するメッセージシステム | |
CN110661836B (zh) | 消息路由方法、装置及系统、存储介质 | |
CN111162952A (zh) | 一种设备容错方法及装置 | |
CN106470421A (zh) | 一种防止恶意终端非法占用核心网资源的方法和设备 | |
CN110247983A (zh) | 一种均衡负载方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |