CN113722097A - 一种浪涌保护方法、装置、电子设备及存储介质 - Google Patents
一种浪涌保护方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113722097A CN113722097A CN202110994725.7A CN202110994725A CN113722097A CN 113722097 A CN113722097 A CN 113722097A CN 202110994725 A CN202110994725 A CN 202110994725A CN 113722097 A CN113722097 A CN 113722097A
- Authority
- CN
- China
- Prior art keywords
- connection request
- connection
- analysis result
- service
- service equipment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000010979 ruby Substances 0.000 description 2
- 229910001750 ruby Inorganic materials 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种浪涌保护方法、装置、电子设备及存储介质,该方法包括:接收终端设备发送的连接请求;对连接请求对应的链路带宽进行分析,获得第一分析结果,并对电子设备连接的服务设备进行分析,获得第二分析结果;若第一分析结果为链路带宽满载,且第二分析结果为服务设备满载,则将连接请求存储至先进先出的缓存保护队列中。通过在连接请求对应的链路带宽为满载,且电子设备连接的服务设备为满载时,将连接请求存储至先进先出的缓存保护队列中,能够将处理不了的连接请求存储至先进先出的缓存保护队列中,有效地提供后端服务设备端连接的柔性处理和应对客户端发送大量连接请求的瞬时压力。
Description
技术领域
本申请涉及计算机安全和网络安全的技术领域,具体而言,涉及一种浪涌保护方法、装置、电子设备及存储介质。
背景技术
浪涌保护(Surge Protection),又被称为过载保护(Overload Protection),是指当设备无法处理更多连接请求时,采取一定的处理措施来实现拥塞避免(congestionavoidance)的效果。拥塞避免是指通过监视网络资源,在监测到拥塞有加剧的趋势时,通过调整网络的流量(例如主动丢弃报文),来达到解除网络过载且实现浪涌保护的效果。
目前的浪涌保护方法通常采用的是,主动丢弃最近接收的报文或者随机丢弃报文;具体例如:如果客户端(例如终端设备)访问服务端(例如服务设备或者服务器),终端设备经过域名系统(Domain Name System,DNS)解析获得服务器的网际协议(InternetProtocol,IP)地址,终端设备通过IP地址想要与服务器建连接。服务器在接收到终端设备的连接请求后,如果服务器上的新建或者并发连接数超过配置的限额时,服务器将会丢弃超过限额数的连接请求,或者,使用是加权随机早期检测(Weighted Random EarlyDetection,WRED)技术随机丢弃报文。也就是说,目前的浪涌保护方法只提供后端服务设备端连接的柔性处理,而难以应对终端设备发送大量连接请求的瞬时压力。
发明内容
本申请实施例的目的在于提供一种浪涌保护方法、装置、电子设备及存储介质,用于改善难以应对终端设备来的瞬时压力的问题。
本申请实施例提供了一种浪涌保护方法,应用于电子设备,包括:接收终端设备发送的连接请求;对连接请求对应的链路带宽进行分析,获得第一分析结果,并对电子设备连接的服务设备进行分析,获得第二分析结果,服务设备用于处理连接请求;若第一分析结果为链路带宽满载,且第二分析结果为服务设备满载,则将连接请求存储至先进先出的缓存保护队列中。在上述的实现过程中,通过在连接请求对应的链路带宽为满载,且电子设备连接的服务设备为满载时,将连接请求存储至先进先出的缓存保护队列中,能够在客户端发来连接请求时,将处理不了的连接请求存储至先进先出的缓存保护队列中,有效地提供后端服务设备端连接的柔性处理和应对客户端发送大量连接请求的瞬时压力,从而尽量保证后端服务设备无法处理的连接请求不被丢弃。
可选地,在本申请实施例中,在将连接请求存储至先进先出的缓存保护队列中之后,还包括:在预设时长后,从先进先出的缓存保护队列中取出连接请求;向服务设备发送连接请求,以使服务设备处理连接请求。在上述的实现过程中,通过在预设时长后,从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求,从而将处理不了的连接请求存储至先进先出的缓存保护队列中,有效地让缓存保护队列中的连接请求能够得到及时地处理。
可选地,在本申请实施例中,在将连接请求存储至先进先出的缓存保护队列中之后,还包括:判断先进先出的缓存保护队列中的连接请求的数量是否大于预设阈值;若是,则从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求。在上述的实现过程中,通过在先进先出的缓存保护队列中的连接请求的数量大于预设阈值时,从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求,从而将处理不了的连接请求存储至先进先出的缓存保护队列中,有效地让缓存保护队列中的连接请求能够得到及时地处理。
可选地,在本申请实施例中,服务设备是多个;在将连接请求存储至先进先出的缓存保护队列中之后,还包括:针对多个服务设备中的每个,判断服务设备的连接数量是否大于连接阈值;若否,则从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求。在上述的实现过程中,通过在服务设备的连接数量是否大于连接阈值时,从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求,从而在服务设备空闲时能够及时地处理缓存保护队列中取出的连接请求,有效地让缓存保护队列中的连接请求能够得到及时地处理。
可选地,在本申请实施例中,对连接请求对应的链路带宽进行分析,获得第一分析结果,包括:判断连接请求对应的链路带宽是否大于带宽阈值;若是,则将第一分析结果确定为链路带宽满载,否则,将第一分析结果确定为链路带宽未满载。
可选地,在本申请实施例中,判断连接请求对应的链路带宽是否大于带宽阈值,包括:判断令牌桶中是否有令牌可取,令牌桶用于以预设频率放置令牌,令牌桶中的令牌数量表征连接请求可被服务设备处理的数量;若是,则确定连接请求对应的链路带宽大于带宽阈值,否则,确定连接请求对应的链路带宽小于或者等于带宽阈值。
可选地,在本申请实施例中,对电子设备连接的服务设备进行分析,获得第二分析结果,包括:判断电子设备连接的所有服务设备的连接数量之和是否大于连接阈值;若是,则将第二分析结果确定为服务设备满载,否则,将第二分析结果确定为服务设备未满载。
本申请实施例还提供了一种浪涌保护装置,应用于电子设备,包括:连接请求接收模块,用于接收终端设备发送的连接请求;分析结果获得模块,用于对连接请求对应的链路带宽进行分析,获得第一分析结果,并对电子设备连接的服务设备进行分析,获得第二分析结果,服务设备用于处理连接请求;连接请求存储模块,用于若第一分析结果为链路带宽满载,且第二分析结果为服务设备满载,则将连接请求存储至先进先出的缓存保护队列中。
可选地,在本申请实施例中,浪涌保护装置,还包括:连接请求取出模块,用于在预设时长后,从先进先出的缓存保护队列中取出连接请求;连接请求发送模块,用于向服务设备发送连接请求,以使服务设备处理连接请求。
可选地,在本申请实施例中,浪涌保护装置,还包括:请求数量判断模块,用于判断先进先出的缓存保护队列中的连接请求的数量是否大于预设阈值;连接请求处理模块,用于若先进先出的缓存保护队列中的连接请求的数量大于预设阈值,则从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求。
可选地,在本申请实施例中,服务设备是多个;浪涌保护装置,还包括:连接数量判断模块,用于针对多个服务设备中的每个,判断服务设备的连接数量是否大于连接阈值;连接请求服务模块,用于若服务设备的连接数量不大于连接阈值,则从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求。
可选地,在本申请实施例中,分析结果获得模块,包括:链路带宽判断模块,用于判断连接请求对应的链路带宽是否大于带宽阈值;第一结果确定模块,用于若连接请求对应的链路带宽大于带宽阈值,则将第一分析结果确定为链路带宽满载,否则,将第一分析结果确定为链路带宽未满载。
可选地,在本申请实施例中,链路带宽判断模块,包括:可取令牌判断模块,用于判断令牌桶中是否有令牌可取,令牌桶用于以预设频率放置令牌,令牌桶中的令牌数量表征连接请求可被服务设备处理的数量;链路带宽确定模块,用于若令牌桶中有令牌可取,则确定连接请求对应的链路带宽大于带宽阈值,否则,确定连接请求对应的链路带宽小于或者等于带宽阈值。
可选地,在本申请实施例中,分析结果获得模块,包括:连接数量判断模块,用于判断电子设备连接的所有服务设备的连接数量之和是否大于连接阈值;第二结果确定模块,用于若电子设备连接的所有服务设备的连接数量之和大于连接阈值,则将第二分析结果确定为服务设备满载,否则,将第二分析结果确定为服务设备未满载。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的浪涌保护方法的流程示意图;
图2示出的本申请实施例提供的浪涌保护系统的网络结构示意图;
图3示出的本申请实施例提供的取出并处理连接请求的流程示意图;
图4示出的本申请实施例提供的浪涌保护装置的结构示意图;
图5示出的本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。
在介绍本申请实施例提供的浪涌保护方法之前,先介绍本申请实施例中所涉及的一些概念:
域名系统(Domain Name System,DNS)是互联网的一项服务,DNS作为将域名和网际协议(Internet Protocol,IP)地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
负载均衡(Load Balancing),又被称为负载平衡,是一种计算机技术,用来在多个相互协调工作的计算机上,即用在计算机集群上、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的;使用带有负载平衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。
令牌桶算法是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中使用的一种算法。令牌桶算法的原理是系统会以一个恒定的速度往桶里放入令牌,如果请求需要被处理,则需要先从桶里获取指定的令牌数,当桶里没有令牌可取时,则拒绝服务。
需要说明的是,本申请实施例提供的浪涌保护方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者服务器,设备终端例如:个人电脑(personal computer,PC)等;服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。
下面介绍该浪涌保护方法适用的应用场景,这里的应用场景包括但不限于:使用该浪涌保护方法对服务器进行链路入站的浪涌保护或者过载保护等,从而提高应对终端设备发送大量连接请求的处理能力,尽量保证后端服务设备无法处理的连接请求不被丢弃。
请参见图1示出的本申请实施例提供的浪涌保护方法的流程示意图;该浪涌保护方法的主要思路是,通过在连接请求对应的链路带宽为满载,且电子设备连接的服务设备为满载时,将连接请求存储至先进先出的缓存保护队列中,能够在客户端发来连接请求时,将处理不了的连接请求存储至先进先出的缓存保护队列中,有效地提供后端服务设备端连接的柔性处理和应对客户端发送大量连接请求的瞬时压力,从而尽量保证后端服务设备无法处理的连接请求不被丢弃。上述的浪涌保护方法可以包括:
步骤S110:电子设备接收终端设备发送的连接请求。
请参见图2示出的本申请实施例提供的浪涌保护系统的网络结构示意图;假设该电子设备连接有三条链路,这三条链路均是网络服务提供商(Internet ServiceProvider,ISP)的通信链路,包括:50M(兆)带宽的第一链路,80M带宽的第二链路和100M带宽的第三链路;当然链路的带宽数值可以根据具体情况设置或购买。需要说明的是,假设上述三条链路的过载保护比例阈值均为80%,可以理解的是,第一链路的带宽流量大于40M时就会过载,第二链路的带宽流量大于64M时就会过载,同理第三链路的带宽流量大于80M时就会过载。假设该电子设备可以分别与第一服务设备(S1)和第二服务设备(S2)连接,第一服务设备和第二服务设备用于处理终端设备发送的连接请求,并向终端设备发送连接请求对应的连接响应和连接后需要的资源。可以理解的是,服务设备的数量也可以根据具体情况设置,例如:电子设备连接服务设备集群,服务设备集群中的服务设备数量为10、20或者50等等。
上述步骤S110的实施方式例如:终端设备获取到电子设备的DNS域名,向DNS服务器发送该DNS域名的解析请求,以使DNS服务器返回该DNS域名对应的IP地址,终端设备在获取到该电子设备的IP地址之后,根据该IP地址向电子设备发送连接请求,该连接请求用于和该电子设备建立连接,并获取该电子设备的资源(例如网页、图片或者视频等等)。电子设备通过传输控制协议(Transmission Control Protocol,TCP)接收终端设备发送的连接请求,该连接请求可以是从第一链路、第二链路或者第三链路接收到的,此处的连接请求可以是终端设备发送的用于建立连接的SYN数据包。
在具体的实施过程中,电子设备也可以在DNS解析的过程中,在DNS服务器对DNS域名进行解析时进行负载均衡,具体例如:DNS服务器在实时地监测多个电子设备的负载情况,当接收到终端设备发送的DNS域名请求之后,根据多个电子设备的负载情况筛选出负载最小的电子设备,并将负载最小的电子设备的IP地址返回给终端设备。
在步骤S110之后,执行步骤S120:电子设备对连接请求对应的链路带宽进行分析,获得第一分析结果,并对电子设备连接的服务设备进行分析,获得第二分析结果,服务设备用于处理连接请求。
上述步骤S120中的对连接请求对应的链路带宽进行分析,获得第一分析结果的实施方式可以包括:
步骤S121:判断连接请求对应的链路带宽是否大于带宽阈值。
上述步骤S121的实施方式例如:使用令牌桶算法来判断令牌桶中是否有令牌可取,令牌桶用于以预设频率放置令牌,令牌桶中的令牌数量表征连接请求可被服务设备处理的数量。若令牌桶中有令牌可取,则确定连接请求对应的链路带宽大于带宽阈值。若令牌桶中没有令牌可取,则确定连接请求对应的链路带宽小于或者等于带宽阈值。由于令牌桶算法的原理是系统会以一个恒定的速度往桶里放入令牌,如果请求需要被处理,则需要先从桶里获取指定的令牌数。当令牌桶里没有令牌可取时,则拒绝服务。因此,可以使用令牌数算法来确定链路带宽是否满载,令牌桶容量(即令牌桶能够存放令牌的最大数量)是由链路带宽最大阈值决定的,链路入站处理请求时需要消耗预设个数的令牌,而与此同时,系统会按照指定频率产生新的令牌。
步骤S122:若连接请求对应的链路带宽大于带宽阈值,则将第一分析结果确定为链路带宽满载,否则,将第一分析结果确定为链路带宽未满载。
上述步骤S122的实施方式例如:若连接请求对应的链路带宽大于带宽阈值,则将第一分析结果确定为链路带宽满载;相反地,若连接请求对应的链路带宽小于或者等于带宽阈值,则将第一分析结果确定为链路带宽未满载。可以使用令牌数算法来确定链路带宽是否满载,令牌桶容量(即令牌桶能够存放令牌的最大数量)是由链路带宽最大阈值决定的,链路入站处理请求时需要消耗预设个数的令牌,而与此同时,系统会按照指定频率产生新的令牌。如果此次请求需要消耗的令牌数已经不够,则代表链路入站带宽已处于满载状态,相反地,如果此次请求需要消耗的令牌数仍然足够,则代表链路入站带宽没有处于满载状态。
上述步骤S120中的对电子设备连接的服务设备进行分析,获得第二分析结果的实施方式可以包括:
步骤S123:判断电子设备连接的所有服务设备的连接数量之和是否大于连接阈值。
连接阈值,是指电子设备连接的所有服务设备所能够处理的连接请求数量阈值。以图2中的所有服务设备为例进行说明,假设第一服务设备可处理连接请求的最大数量是100个,且第二服务设备可处理连接请求的最大数量是150个,那么此处的连接阈值为100+150=250个。
上述步骤S123的实施方式例如:假设连接阈值是250个,且电子设备连接的所有服务设备的连接数量是249个,那么说明电子设备连接的所有服务设备的连接数量之和是不大于连接阈值的;假设电子设备连接的所有服务设备的连接数量是250个,那么说明电子设备连接的所有服务设备的连接数量之和是不大于连接阈值的;假设电子设备连接的所有服务设备的连接数量是251个,那么说明电子设备连接的所有服务设备的连接数量之和是大于连接阈值的。
步骤S124:若电子设备连接的所有服务设备的连接数量之和大于连接阈值,则将第二分析结果确定为服务设备满载,否则,将第二分析结果确定为服务设备未满载。
上述步骤S124的实施方式例如:若电子设备连接的所有服务设备的连接数量之和是251个,已经大于连接阈值250个,则说明电子设备连接的所有服务设备处于满负荷状态运行,就可以将第二分析结果确定为服务设备满载。相反地,若电子设备连接的所有服务设备的连接数量之和是249个,仍然小于连接阈值250个,则说明电子设备连接的所有服务设备仍然有服务设备处于未满载状态,就可以将第二分析结果确定为服务设备未满载。
在步骤S120之后,执行步骤S130:若第一分析结果为链路带宽满载,且第二分析结果为服务设备满载,则将连接请求存储至先进先出的缓存保护队列中。
上述步骤S130的实施方式例如:若通过第三链路接收到该连接请求,且第三链路已经满载,且第二分析结果也为满载,那么就可以将后续通过第三链路接收到的链路请求存储至先进先出的缓存保护队列中,以免发生直接将后续通过第三链路接收到的链路请求发送给服务设备,而服务设备直接丢弃该连接请求的情况,从而有效地保证了后续通过第三链路接收到的链路请求能够得到有效地处理。其中,该电子设备中设置的缓存保护队列是用于对终端设备发送的连接请求进行缓存的,该缓存保护队列的长度可以根据具体情况进行设置,具体例如:将缓存保护队列的长度设置为50、80或者100等等。
在上述的实现过程中,首先,电子设备接收终端设备发送的连接请求,然后,对连接请求对应的链路带宽进行分析,获得第一分析结果,并对电子设备连接的服务设备进行分析,获得第二分析结果;最后,若第一分析结果为链路带宽满载,且第二分析结果为服务设备满载,则将连接请求存储至先进先出的缓存保护队列中。通过在连接请求对应的链路带宽为满载,且电子设备连接的服务设备为满载时,将连接请求存储至先进先出的缓存保护队列中,能够在客户端发来连接请求时,将处理不了的连接请求存储至先进先出的缓存保护队列中,有效地提供后端服务设备端连接的柔性处理和应对客户端发送大量连接请求的瞬时压力,从而尽量保证后端服务设备无法处理的连接请求不被丢弃。
请参见图3示出的本申请实施例提供的取出并处理连接请求的流程示意图;可选地,在将连接请求存储至先进先出的缓存保护队列中之后,还可以取出并处理队列中的连接请求,根据处理队列中的连接请求的条件不同,有很多种处理连接请求的方式,包括但不限于如下几种方式:
第一种处理连接请求的方式,定时驱动处理队列中的连接请求,该方式可以包括:
步骤S210:在预设时长后,电子设备从先进先出的缓存保护队列中取出连接请求。
上述步骤S210的实施方式例如:在预设时长后,从先进先出(First Input FirstOutput,FIFO)的缓存保护队列中取出连接请求;其中,缓存保护队列在具体应用中可以采用链表或者数组来实现;预设时长是指预先设置的时间长度,这里的预设时长可以根据实际情况进行设置,例如:预设时长可以设置为三秒,预设时长也可以为十秒;又例如:预设时长可以设置为三分钟,预设时长也可以为十分钟。
在步骤S210之后,执行步骤S220:电子设备向服务设备发送连接请求,以使服务设备处理连接请求。
上述步骤S220的实施方式例如:电子设备通过超文本传输协议(Hyper TextTransfer Protocol,HTTP)或者超文本传输安全协议(Hyper Text Transfer ProtocolSecure,HTTPS)向服务设备发送连接请求,以使服务设备处理连接请求;其中,连接请求可以是通过HTTP重定向方式发送的,也可以是通过反向代理或者正向代理的方式发送的。
第二种处理连接请求的方式,报文驱动处理队列中的连接请求,即当缓存保护队列非满载时取出并处理连接请求,该方式可以包括:
步骤S230:电子设备判断先进先出的缓存保护队列中的连接请求的数量是否大于预设阈值。
上述步骤S230的实施方式例如:电子设备使用预设编程语言(ProgrammingLanguage)判断先进先出的缓存保护队列中的连接请求的数量是否大于预设阈值;其中,可以使用的编程语言例如:C、C++、Java、BASIC、JavaScript、LISP、Shell、Perl、Ruby、Python和PHP等等。
在步骤S230之后,执行步骤S240:若先进先出的缓存保护队列中的连接请求的数量大于预设阈值,则从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求。
上述步骤S240的实施方式例如:若先进先出的缓存保护队列中的连接请求的数量大于预设阈值,则从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求。其中,预设阈值是指预先设置的限制阈值,该预设阈值可以根据具体实际情况进行设置,例如:可以设置为200、250、500或900等。
第三种处理连接请求的方式,空闲检测驱动处理队列中的连接请求,即当服务设备非满载(即空闲时)时取出来,并发给空闲的服务设备处理连接请求,该方式可以包括:
步骤S250:针对多个服务设备中的每个服务设备,判断该服务设备的连接数量是否大于连接阈值。
上述步骤S250的实施方式例如:针对多个服务设备中的每个服务设备,电子设备通过预设编程语言判断该服务设备的连接数量是否大于连接阈值;其中,预设编程语言例如:C、C++、Java、BASIC、JavaScript、LISP、Shell、Perl、Ruby、Python和PHP等等。
在步骤S250之后,执行步骤S260:若该服务设备的连接数量不大于连接阈值,则从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求。
上述步骤S260的实施方式例如:若该服务设备的连接数量不大于连接阈值,则电子设备从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求。其中,连接阈值是指预先设置的连接请求的数量限制阈值,该预设阈值可以根据具体实际情况进行设置,例如:可以设置为100、200或300等。
第四种处理连接请求的方式,结合上述第一种、第二种和/或第三种处理连接请求的方式来处理队列中的连接请求,具体结合的方式可以包括:第一种处理连接请求的方式结合第二种处理连接请求的方式;第一种处理连接请求的方式结合第三种处理连接请求的方式;第二种处理连接请求的方式结合第三种处理连接请求的方式;以及,第一种处理连接请求的方式与第二种处理连接请求的方式和第三种处理连接请求的方式结合。
请参见图4示出的本申请实施例提供的浪涌保护装置的结构示意图;本申请实施例提供了一种浪涌保护装置300,应用于电子设备,包括:
连接请求接收模块310,用于接收终端设备发送的连接请求。
分析结果获得模块320,用于对连接请求对应的链路带宽进行分析,获得第一分析结果,并对电子设备连接的服务设备进行分析,获得第二分析结果,服务设备用于处理连接请求。
连接请求存储模块330,用于若第一分析结果为链路带宽满载,且第二分析结果为服务设备满载,则将连接请求存储至先进先出的缓存保护队列中。
可选地,在本申请实施例中,浪涌保护装置,还包括:
连接请求取出模块,用于在预设时长后,从先进先出的缓存保护队列中取出连接请求。
连接请求发送模块,用于向服务设备发送连接请求,以使服务设备处理连接请求。
可选地,在本申请实施例中,浪涌保护装置,还可以包括:
请求数量判断模块,用于判断先进先出的缓存保护队列中的连接请求的数量是否大于预设阈值。
连接请求处理模块,用于若先进先出的缓存保护队列中的连接请求的数量大于预设阈值,则从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求。
可选地,在本申请实施例中,服务设备是多个;浪涌保护装置,还包括:
连接数量判断模块,用于针对多个服务设备中的每个,判断服务设备的连接数量是否大于连接阈值。
连接请求服务模块,用于若服务设备的连接数量不大于连接阈值,则从先进先出的缓存保护队列中取出连接请求,并向服务设备发送连接请求,以使服务设备处理连接请求。
可选地,在本申请实施例中,分析结果获得模块,包括:
链路带宽判断模块,用于判断连接请求对应的链路带宽是否大于带宽阈值。
第一结果确定模块,用于若连接请求对应的链路带宽大于带宽阈值,则将第一分析结果确定为链路带宽满载,否则,将第一分析结果确定为链路带宽未满载。
可选地,在本申请实施例中,链路带宽判断模块,包括:
可取令牌判断模块,用于判断令牌桶中是否有令牌可取,令牌桶用于以预设频率放置令牌,令牌桶中的令牌数量表征连接请求可被服务设备处理的数量。
链路带宽确定模块,用于若令牌桶中有令牌可取,则确定连接请求对应的链路带宽大于带宽阈值,否则,确定连接请求对应的链路带宽小于或者等于带宽阈值。
可选地,在本申请实施例中,分析结果获得模块,还可以包括:
连接数量判断模块,用于判断电子设备连接的所有服务设备的连接数量之和是否大于连接阈值。
第二结果确定模块,用于若电子设备连接的所有服务设备的连接数量之和大于连接阈值,则将第二分析结果确定为服务设备满载,否则,将第二分析结果确定为服务设备未满载。
应理解的是,该装置与上述的浪涌保护方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
请参见图5示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备400,包括:处理器410和存储器420,存储器420存储有处理器410可执行的机器可读指令,机器可读指令被处理器410执行时执行如上的方法。
本申请实施例还提供了一种计算机可读存储介质430,该计算机可读存储介质430上存储有计算机程序,该计算机程序被处理器410运行时执行如上的方法。
其中,计算机可读存储介质430可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种浪涌保护方法,其特征在于,应用于电子设备,包括:
接收终端设备发送的连接请求;
对所述连接请求对应的链路带宽进行分析,获得第一分析结果,并对所述电子设备连接的服务设备进行分析,获得第二分析结果,所述服务设备用于处理所述连接请求;
若所述第一分析结果为链路带宽满载,且所述第二分析结果为服务设备满载,则将所述连接请求存储至先进先出的缓存保护队列中。
2.根据权利要求1所述的方法,其特征在于,在所述将所述连接请求存储至先进先出的缓存保护队列中之后,还包括:
在预设时长后,从所述先进先出的缓存保护队列中取出连接请求;
向所述服务设备发送所述连接请求,以使所述服务设备处理所述连接请求。
3.根据权利要求1所述的方法,其特征在于,在所述将所述连接请求存储至先进先出的缓存保护队列中之后,还包括:
判断所述先进先出的缓存保护队列中的连接请求的数量是否大于预设阈值;
若是,则从所述先进先出的缓存保护队列中取出连接请求,并向所述服务设备发送所述连接请求,以使所述服务设备处理所述连接请求。
4.根据权利要求1所述的方法,其特征在于,所述服务设备是多个;在所述将所述连接请求存储至先进先出的缓存保护队列中之后,还包括:
针对多个所述服务设备中的每个,判断所述服务设备的连接数量是否大于连接阈值;
若否,则从所述先进先出的缓存保护队列中取出连接请求,并向所述服务设备发送所述连接请求,以使所述服务设备处理所述连接请求。
5.根据权利要求1所述的方法,其特征在于,所述对所述连接请求对应的链路带宽进行分析,获得第一分析结果,包括:
判断所述连接请求对应的链路带宽是否大于带宽阈值;
若是,则将所述第一分析结果确定为链路带宽满载,否则,将所述第一分析结果确定为链路带宽未满载。
6.根据权利要求5所述的方法,其特征在于,所述判断所述连接请求对应的链路带宽是否大于带宽阈值,包括:
判断令牌桶中是否有令牌可取,所述令牌桶用于以预设频率放置令牌,所述令牌桶中的令牌数量表征所述连接请求可被所述服务设备处理的数量;
若是,则确定所述连接请求对应的链路带宽大于所述带宽阈值,否则,确定所述连接请求对应的链路带宽小于或者等于所述带宽阈值。
7.根据权利要求1所述的方法,其特征在于,所述对所述电子设备连接的服务设备进行分析,获得第二分析结果,包括:
判断所述电子设备连接的所有服务设备的连接数量之和是否大于连接阈值;
若是,则将所述第二分析结果确定为服务设备满载,否则,将所述第二分析结果确定为服务设备未满载。
8.一种浪涌保护装置,其特征在于,应用于电子设备,包括:
连接请求接收模块,用于接收终端设备发送的连接请求;
分析结果获得模块,用于对所述连接请求对应的链路带宽进行分析,获得第一分析结果,并对所述电子设备连接的服务设备进行分析,获得第二分析结果,所述服务设备用于处理所述连接请求;
连接请求存储模块,用于若所述第一分析结果为链路带宽满载,且所述第二分析结果为服务设备满载,则将所述连接请求存储至先进先出的缓存保护队列中。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994725.7A CN113722097B (zh) | 2021-08-27 | 2021-08-27 | 一种浪涌保护方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994725.7A CN113722097B (zh) | 2021-08-27 | 2021-08-27 | 一种浪涌保护方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722097A true CN113722097A (zh) | 2021-11-30 |
CN113722097B CN113722097B (zh) | 2024-04-19 |
Family
ID=78678414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110994725.7A Active CN113722097B (zh) | 2021-08-27 | 2021-08-27 | 一种浪涌保护方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722097B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500391A (zh) * | 2021-12-28 | 2022-05-13 | 上海弘积信息科技有限公司 | 一种应对瞬间流量过大的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105991474A (zh) * | 2015-05-18 | 2016-10-05 | 杭州迪普科技有限公司 | 一种流量调度方法、装置及网络设备 |
WO2019001240A1 (zh) * | 2017-06-29 | 2019-01-03 | 华为技术有限公司 | 一种报文传输的方法和网络设备 |
WO2020014954A1 (zh) * | 2018-07-20 | 2020-01-23 | 威富通科技有限公司 | 数据控制方法及终端设备 |
CN111585913A (zh) * | 2020-04-30 | 2020-08-25 | 武汉众邦银行股份有限公司 | 基于回收令牌的服务流量限制方法及存储介质 |
CN111988234A (zh) * | 2019-05-23 | 2020-11-24 | 厦门网宿有限公司 | 过载保护方法、装置、服务器及存储介质 |
CN112350954A (zh) * | 2019-08-07 | 2021-02-09 | 深信服科技股份有限公司 | 过载保护方法、系统、计算机可读存储介质及电子设备 |
CN113285886A (zh) * | 2021-06-11 | 2021-08-20 | 北京天融信网络安全技术有限公司 | 一种带宽分配的方法、装置、电子设备及可读存储介质 |
-
2021
- 2021-08-27 CN CN202110994725.7A patent/CN113722097B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105991474A (zh) * | 2015-05-18 | 2016-10-05 | 杭州迪普科技有限公司 | 一种流量调度方法、装置及网络设备 |
WO2019001240A1 (zh) * | 2017-06-29 | 2019-01-03 | 华为技术有限公司 | 一种报文传输的方法和网络设备 |
WO2020014954A1 (zh) * | 2018-07-20 | 2020-01-23 | 威富通科技有限公司 | 数据控制方法及终端设备 |
CN111988234A (zh) * | 2019-05-23 | 2020-11-24 | 厦门网宿有限公司 | 过载保护方法、装置、服务器及存储介质 |
CN112350954A (zh) * | 2019-08-07 | 2021-02-09 | 深信服科技股份有限公司 | 过载保护方法、系统、计算机可读存储介质及电子设备 |
CN111585913A (zh) * | 2020-04-30 | 2020-08-25 | 武汉众邦银行股份有限公司 | 基于回收令牌的服务流量限制方法及存储介质 |
CN113285886A (zh) * | 2021-06-11 | 2021-08-20 | 北京天融信网络安全技术有限公司 | 一种带宽分配的方法、装置、电子设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
LEGEND050709COMEON: ""限速之令牌桶理解"", Retrieved from the Internet <URL:https://blog.csdn.net/legend050709/article/details/114666618> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500391A (zh) * | 2021-12-28 | 2022-05-13 | 上海弘积信息科技有限公司 | 一种应对瞬间流量过大的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113722097B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8856913B2 (en) | Method and protection system for mitigating slow HTTP attacks using rate and time monitoring | |
US10291539B2 (en) | Methods, systems, and computer readable media for discarding messages during a congestion event | |
US6816910B1 (en) | Method and apparatus for limiting network connection resources | |
US7287082B1 (en) | System using idle connection metric indicating a value based on connection characteristic for performing connection drop sequence | |
EP2425592B1 (en) | Adaptive rate control based on overload signals | |
US9344533B2 (en) | Receive window auto-tuning | |
CN108173812B (zh) | 防止网络攻击的方法、装置、存储介质和设备 | |
CN105940655B (zh) | 用于防范DDos攻击的系统 | |
US20140059682A1 (en) | Determination of Adaptive Idle Timeout | |
US8533834B1 (en) | Antivirus intelligent flow framework | |
WO2018121742A1 (zh) | 一种流数据的传输方法和装置 | |
EP2739002A1 (en) | Systems and methods for transparently monitoring network traffic for denial of service attacks | |
CN106797330B (zh) | 用于监测内容递送网络(cdn)的方法、业务监测器(tm)、请求路由器(rr)和系统 | |
US20190387029A1 (en) | Method and system for upload optimization | |
CN112039887A (zh) | Cc攻击防御方法、装置、计算机设备和存储介质 | |
CN113364804A (zh) | 一种流量数据的处理方法和装置 | |
CN113722097B (zh) | 一种浪涌保护方法、装置、电子设备及存储介质 | |
WO2024109810A1 (zh) | 虚拟桌面性能探测方法、装置、设备及存储介质和程序 | |
US11444882B2 (en) | Methods for dynamically controlling transmission control protocol push functionality and devices thereof | |
CN112738110A (zh) | 一种旁路阻断方法、装置、电子设备和存储介质 | |
US9521088B2 (en) | Dynamically determining how many network packets to process | |
US10015288B2 (en) | Communication apparatus and control method of communication apparatus | |
US7500012B2 (en) | Method for controlling dataflow to a central system from distributed systems | |
JP2006279682A (ja) | トラフィック制御装置及びトラフィック制御方法並びにプログラム | |
CN113839828A (zh) | 一种网络质量探测方法、装置、终端设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |