CN112866338A - 一种服务器状态检测的方法及装置 - Google Patents
一种服务器状态检测的方法及装置 Download PDFInfo
- Publication number
- CN112866338A CN112866338A CN202011622627.2A CN202011622627A CN112866338A CN 112866338 A CN112866338 A CN 112866338A CN 202011622627 A CN202011622627 A CN 202011622627A CN 112866338 A CN112866338 A CN 112866338A
- Authority
- CN
- China
- Prior art keywords
- target server
- load balancing
- server
- state
- message
- 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
Images
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
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- 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
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种服务器状态的检测方法及装置,应用于负载均衡设备,所述方法可以包括:根据接收到的报文确定目标服务器;在所述负载均衡设备与所述目标服务器之间建立TCP连接;根据所述TCP连接的建立情况确定所述目标服务器的运行状态。本申请的技术方案检测服务器运行状态具有更高的实时性,可以第一时间确定目标服务器的具体运行状态,便于后续负载均衡设备根据目标服务器的运行状态及时调整负载均衡规则,同时,也便于相关技术人员及时排除目标服务器故障。
Description
技术领域
本申请涉及网络通信技术领域,特别是一种服务器状态检测的方法及装置。
背景技术
处理大量的网络流量时,为了提升处理效率,负载均衡设备可以根据服务器的运行状态将流量调度至若干台服务器中分别处理,因此,确定服务器的实时运行状态可以帮助负载均衡设备准确调度流量至运行状态正常的服务器中,进而对流量进行快速处理。
相关技术中,可以通过ping命令检测,即向服务器发送ICMP(Internet ControlMessage Protocol,互联网控制报文协议)报文,根据是否收到应答包检测服务器状态,但是此种方式只能检测网络是否畅通,对于服务器是否掉电、对应进程是否出现故障、是否负载过大等真实运行状态则无法感知。
发明内容
有鉴于此,本申请提供一种服务器状态检测的方法、装置,用以检测服务器的运行状态。
具体的,本申请通过如下技术方案实现:
根据本申请的第一方面,提出了一种服务器状态检测方法,应用于负载均衡设备,所述方法包括:
根据接收到的报文确定目标服务器;
在所述负载均衡设备与所述目标服务器之间建立TCP(Transmission ControlProtocol,传输控制协议)连接;
根据所述TCP连接的建立情况确定所述目标服务器的运行状态。
根据本申请的第二方面,提出了一种服务器状态检测的装置,应用于负载均衡设备,包括:
接收单元,用于根据接收到的报文确定目标服务器;
建立单元,用于在所述负载均衡设备与所述目标服务器之间建立TCP连接;
确定单元,用于根据所述TCP连接的建立情况确定所述目标服务器的运行状态。
根据本申请的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述第一方面的实施例中所述的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述第一方面的实施例中所述方法的步骤。
由以上本申请提供的技术方案可见,本申请通过确定负载均衡设备与目标服务器之间TCP连接的建立情况,进而根据TCP连接的建立情况确定目标服务器的运行状态,可以实时确定目标服务器的不同运行状态,由于网络流量大,负载均衡设备需要处理源源不断的报文流,负载均衡设备处理报文时需要与目标服务器之间建立TCP连接,实时监测TCP连接的建立情况进而根据上述情况确定目标服务器的不同运行状态,相比于通过ICMP报文检测,可以更准确的判定服务器的真实状态,相比于定时访问服务器也具有更高的实时性,有利于第一时间确定目标服务器的具体运行状态,便于后续负载均衡设备根据目标服务器的状态及时调整负载均衡规则以调度网络流量,以实现快速处理网络流量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据本申请一示例性实施例示出的一种服务器状态检测方法的流程图;
图2是根据本申请一示例性实施例示出的一种应用检测服务器运行状态方法的网络架构示意图;
图3是根据本申请一示例性实施例示出的一种服务器状态检测方法的具体流程图;
图4是根据本申请一示例性实施例示出的一种检测服务器状态的电子设备的结构示意图;
图5是根据本申请一示例性实施例示出的一种检测服务器状态的装置框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本申请实施例进行详细说明。
图1为根据本申请一示例性实施例示出的一种服务器状态检测方法的流程图。如图1所示,该方法应用于负载均衡设备,可以包括如下步骤:
步骤102:根据接收到的报文确定目标服务器。
在一实施例中,负载均衡设备对经过的报文进行处理时,可以根据其自身维护的负载均衡规则选择一个可以分担负载的目标服务器对上述报文进行处理;例如,由于网络流量大,一台服务器无法处理全部的流量,因此当网络流量经过负载均衡设备时,负载均衡设备需要将上述网络流量分摊到不同的目标服务器进行处理,负载均衡设备可以根据其自身维护的负载均衡规则,选择状态较为空闲的目标服务器对上述报文进行处理,避免选择出现故障的目标服务器对上述报文进行处理。
在一实施例中,所述根据接收到的报文确定目标服务器包括:获取所述报文的五元组信息;若查询到所述五元组信息对应的会话,则根据查询到的会话命中的负载均衡规则确定目标服务器;若未查询到所述五元组信息对应的会话,则新建会话并根据新建的会话命中的负载均衡规则确定目标服务器。源IP地址,源端口,目的IP地址,目的端口,和传输层协议组成的信息称为五元组信息,根据相关技术可知,会话在通信双方第一次进行通信时建立,五元组信息为会话的唯一标识,确定报文对应的五元组信息,进而根据五元组信息查询是否存在对应的会话,如果存在上述五元组信息对应的会话,则可以根据负载均衡规则确定处理上述报文的服务器;如果不存在上述五元组信息对应的会话,说明通信双方尚未进行通信,为了后续的数据传输需要新建上述五元组信息对应的会话,并根据上述负载均衡规则选择一个运行状态正常的目标服务器处理上述报文。
在一实施例中,如果所述查询到的会话未命中所述负载均衡业务,或所述新建的会话未命中所述负载均衡业务,则根据路由规则转发所述报文。由于负载均衡设备不仅可以对网络流量进行调度,即根据其自身维护的负载均衡规则选择处理上述报文的目标服务器,实际应用中的负载均衡设备还可以只根据路由规则转发报文,而并不将报文与其自身维护的负载均衡规则进行匹配,可以将需要与进行负载均衡规则匹配的报文称为命中负载均衡业务的报文,只需要根据路由规则进行转发的报文称为没有命中负载均衡业务的报文。具体而言,负载均衡设备提供虚IP地址和虚端口,当经过负载均衡设备的报文访问的是上述虚IP地址和虚端口,说明上述报文命中了负载均衡业务,将上述报文与负载均衡规则进行匹配,即根据上述规则选择真实的目标服务器对上述报文进行处理;当经过负载均衡设备的报文访问的不是上述虚IP地址和虚端口,说明上述报文并未命中负载均衡业务,此时可以根据路由规则直接转发上述报文。
步骤104:在所述负载均衡设备与所述目标服务器之间建立TCP连接。
在一实施例中,负载均衡设备接收到报文后,可以根据报文中的五元组信息判断是否存在已经建立对应的会话,并进一步判断所述报文是否命中负载均衡业务,进而可以根据负载均衡规则确定目标服务器,在所述负载均衡设备与所述目标服务器之间建立TCP连接,一方面可以用于后续的报文转发过程,另一方面后续步骤中可以根据上述TCP连接的建立状态确定目标服务器的运行状态,进而根据目标服务器的运行状态调整负载均衡规则,提升后续处理流量的效率。
步骤106:根据所述TCP连接的建立情况确定所述目标服务器的运行状态。
在一实施例中,负载均衡设备与目标服务器之间正常建立TCP连接的过程为,负载均衡设备向目标服务器发送第一次握手报文,具体为:SYN=1,seq=J,即负载均衡设备将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给目标服务器,负载均衡设备进入SYN_SENT状态,等待目标服务器确认;处于正常运行状态的目标服务器接收到第一次握手报文后由标志位SYN=1确定负载均衡设备请求建立连接,目标服务器相应生成第二次握手报文,该第二次握手报文中包含SYN=1,ACK=1,ack=J+1,seq=K,具体来说为将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该第二次握手报文发送给负载均衡设备以确认连接请求,负载均衡设备进入SYN_RCVD状态;负载均衡设备接收到第二次握手报文后,向目标服务器发送确认包,即将标志位ACK置为k+1,此包发送完毕,负载均衡设备和目标服务器进入ESTABLISHED状态,完成三次握手,TCP连接建立完成。本申请可以根据目标服务器返回的报文确定TCP连接的建立情况,进而经过上述TCP连接的建立情况确定所述目标服务器的运行状态。
在一实施例中,可以确定从发送第一次握手报文至接收到所述目标服务器返回的第二次握手报文之间的间隔时长;如果所述间隔时长超过预设时长阈值,则判定所述目标服务器处于过度负载状态。如果负载均衡设备在发送第一次握手报文后接收到所述目标服务器返回的第二次握手报文,可以检测从发送到接收的间隔时长,并将间隔时长和预设时长阈值进行比较,如果超过预设时长阈值,说明目标服务器响应第一次握手报文进而返回第二次握手报文的速度较慢,因此可以确定上述目标服务器处理接收到的报文的速度较慢,进一步说明其负载较大,即处于过度负载状态。上述预设时长阈值可以根据实际应用情况进行灵活设定,本申请对预设时长阈值的具体值不作限制。
在一实施例中,如果所述负载均衡设备发送第一次握手报文后,在第一预设时长内未收到所述目标服务器回复的第二次握手报文,则检测网络状态是否畅通;如果网络畅通,确定所述目标服务器处于掉电状态。如果负载均衡设备在发送第一次握手报文后经过第一预设时长也并未接收到所述目标服务器返回的第二次握手报文,说明所述目标服务器可能并未接收到上述第一次握手报文,或者,由于负载均衡设备在一定时长内未收到第二次握手报文后可以进行重新发送,因此当负载均衡设备在多次发送第一次握手报文均后没有接收到所述目标服务器返回的第二次握手报文时,也可以说明所述目标服务器可能并未接收到上述第一次握手报文,因此,可以首先检测网络状态是否畅通,如果网络处于故障状态,说明第一次握手报文是由于网络原因并未到达目标服务器,如果网络处于畅通状态,说明目标服务器可能处于掉电状态,因此无法接收到第一次握手报文。上述第一预同上设时长可以根据实际应用情况进行调整,本申请对此不作限制,并且,第一次预设时长应当大于预设时长阈值,本申请对两者之间的差值不作特殊限制。
在一实施例中,如果发送第一次握手报文后接收到所述目标服务器返回的复位报文,确定所述目标服务器的对应进程处于故障状态。TCP正常释放连接是通过四次挥手来完成,但是在建立TCP连接与数据交互过程中会出现许多意外情况,导致TCP连接异常终止,此时需要使用复位报文终止此次TCP连接,否则上述TCP连接将会一直存在,占用系统的部分资源,复位报文是指TCP报文头的标志字段中的RESET位置被置为1的报文。具体而言,当负载均衡设备尝试和目标服务器对外提供服务出现故障的端口所对应的进程建立连接,或者目标服务器响应上述建立连接的进程程序崩溃时,目标服务器将直接返回复位报文以释放上述TCP连接,因此,当负载均衡设备发送第一次握手报文后接受到目标服务器返回的复位报文,则可以根据复位报文确定所述目标服务器的对应进程处于故障状态。
在一实施例中,当所述目标服务器处于无法提供服务的运行状态,且在负载均衡规则中属于需要分担负载的服务器,将其调整为不需要分担负载的服务器;当所述目标服务器处于正常提供服务的状态,但在负载均衡规则中不分担负载,将其调整为分担负载的服务器。负载均衡设备按照自身维护的负载均衡规则调度流量,选择状态正常的目标服务器处理流量,目标服务器的当前状态影响着负载均衡规则,如果目标服务器当前处于掉电、进程故障、负载过大等无法继续提供服务的状态,但是在当前的负载均衡规则中此目标服务器被作为需要分担负载的服务器,此时需要根据目标服务器的当前状态调整负载均衡规则,将此服务器调整为不需要分担负载的服务器,进而运维人员可以对此服务器进行维护调整;如果目标服务器当前处于运行正常并且较为空闲的状态,但是在当前的负载均衡规则中,此目标服务器被作为不需要分担负载的服务器,此时需要根据目标服务器的当前状态调整负载均衡规则,将此服务器调整为需要分担负载的服务器,参与处理负载均衡设备接收到的流量。在本实施例中,根据上述检测步骤确定的当前服务器的状态,实时调整负载均衡规则,使负载均衡调度流量时是根据最新的目标服务器的运行状态,更贴近目标服务器的当前状态,此时调整的负载均衡规则更加准确的体现了目标服务器能否分担负载,提升了负载均衡设备进行流量调度时的合理性。
由以上本申请提供的技术方案可见,本申请通过确定负载均衡设备与目标服务器之间TCP连接的建立情况,进而根据TCP连接的建立情况确定目标服务器的运行状态,可以实时确定目标服务器的不同运行状态,由于网络流量大,负载均衡设备需要处理源源不断的报文流,负载均衡设备处理报文时需要与目标服务器之间建立TCP连接,实时监测TCP连接的建立情况进而根据上述情况确定目标服务器的不同运行状态,有利于第一时间确定目标服务器的具体运行状态,提升了检测目标服务器状态的实时性,便于后续负载均衡设备根据目标服务器的状态及时调整负载均衡规则以调度网络流量,以实现快速处理网络流量;通过负载均衡设备向目标服务器发送第一次握手报文后,目标服务器响应时的不同情况,可以确定目标服务器的具体运行状态,不仅可以依据此调整负载均衡规则,也可以帮助运维人员了解目标服务器的具体情况从而选择针对性的应对措施。
图2所示,为根据本申请一示例性实施例示出的一种应用检测服务器运行状态方法的网络架构示意图。如图2所示,该网络架构可以包括负载均衡设备21和目标服务器集群22,由负载均衡设备21接收网络流量,将流量分摊给目标服务器集群22中的不同目标服务器进行处理,上述过程也可以称为流量调度。其中,目标服务器集群22包含多台目标服务器,譬如图2所示的服务器22a、服务器22b和服务器22c等,当然本申请并不限制服务器集群22所含服务器的数量。上述的服务器22a~22c正常提供相同的服务,使得负载均衡设备21可以将接受到的网络流量任意地分配至某一台目标服务器,运行状态正常的目标服务器可以对流量进行处理。负载均衡设备21需要根据负载均衡规则从目标服务器集群22中选取运行状态正常的服务器,以将接受到的流量分配至被选取的运行状态正常的目标服务器,以实现负载均衡。
图3为根据本申请一示例性实施例示出的一种服务器状态检测方法的具体流程图。结合图2、图3,上述方法具体包括以下步骤:
步骤302,获取接收到的报文的五元组信息;负载均衡设备21接收到报文后,获取报文中的五元组信息,源IP地址,源端口,目的IP地址,目的端口,和传输层协议组成的信息称为五元组信息。
步骤304~306,根据五元组信息查询是否存在对应会话;会话在通信双方第一次进行通信时建立,五元组信息为会话的唯一标识,确定报文对应的五元组信息,进而根据五元组信息查询是否存在对应的会话,如果存在上述五元组信息对应的会话,负载均衡设备21可以根据负载均衡规则在目标服务器集群22中确定处理上述报文的目标服务器;如果不存在上述五元组信息对应的会话,说明通信双方尚未进行通信,为了后续的数据传输需要新建上述五元组信息对应的会话,即步骤306。
步骤308~310,判断上述会话是否命中负载均衡业务;由于负载均衡设备21不仅可以对网络流量进行调度,即根据其自身维护的负载均衡规则在目标服务器集群22中选择处理上述报文的目标服务器,实际应用中的负载均衡设备21还可以只根据路由规则转发报文,而并不将报文与其自身维护的负载均衡规则进行匹配,可以将需要与进行负载均衡规则匹配的报文称为命中负载均衡业务的报文,只需要根据路由规则进行转发的报文称为没有命中负载均衡业务的报文。具体而言,负载均衡设备21提供虚IP地址和虚端口,当经过负载均衡设备21的报文访问的是上述虚IP地址和虚端口,说明上述报文命中了负载均衡业务,将上述报文与负载均衡规则进行匹配,即根据上述规则选择真实的目标服务器对上述报文进行处理;当经过负载均衡设备21的报文访问的不是上述虚IP地址和虚端口,说明上述报文并未命中负载均衡业务,此时可以根据路由规则直接转发上述报文。因此,在选择目标服务器之前,可以先判断上述会话是否命中负载均衡业务,对于未命中负载均衡业务的会话,进入步骤308a,将其对应的报文根据路由规则转发,对于命中负载均衡业务的报文,进入步骤310,根据负载均衡规则在目标服务器集群22中选择状态正常的目标服务器。
步骤312,在负载均衡设备21与选择的目标服务器之间建立TCP连接;在所述负载均衡设备21与所述目标服务器之间建立TCP连接,一方面可以用于正常的报文转发过程,另一方面后续步骤中可以根据上述TCP连接的建立状态确定目标服务器的运行状态,进而根据目标服务器的运行状态调整负载均衡规则,提升后续处理流量的效率。
步骤314,判断是否收到第二次握手报文;负载均衡设备21与目标服务器之间正常建立TCP连接的过程为,负载均衡设备向目标服务器发送第一次握手报文后进入SYN_SENT状态,等待目标服务器确认;处于正常运行状态的目标服务器接收到第一次握手报文后相应生成第二次握手报文并发送给负载均衡设备21以确认连接请求,负载均衡设备21进入SYN_RCVD状态;负载均衡设备21接收到第二次握手报文后,向目标服务器发送确认包后进入ESTABLISHED状态,完成三次握手,TCP连接建立完成。如果负载均衡设备21在发送第一次握手报文后没有收到目标服务器返回的第二次握手报文,是否收到可以根据设定第一预设时长判断,如果负载均衡设备21在发送第一次握手报文后经过第一预设时长也并未接收到所述目标服务器返回的第二次握手报文,说明所述目标服务器可能并未接收到上述第一次握手报文,在实际应用中,上述第一预设时长可以为SYN状态的老化时间,通常为120秒,会话检查单元遍历会话,如果超过上述老化时间120秒仍未接收到第二次握手报文,可以进入步骤314a;或者,由于负载均衡设备在一定时长内未收到第二次握手报文后可以进行重新发送,因此当负载均衡设备21在多次发送第一次握手报文均后没有接收到所述目标服务器返回的第二次握手报文,可以进入步骤314a,在实际应用中,上述次数阈值可以设置为3次,当重传超过3次仍未接收到回复的第二次握手报文,可以进入314a;步骤314a:检测网络状态是否畅通,如果网络处于故障状态,说明第一次握手报文是由于网络原因并未到达目标服务器,如果网络处于畅通状态,说明目标服务器可能处于掉电状态,即步骤314b,因此无法接收到第一次握手报文。上述第一预设时长可以根据实际应用情况进行调整,本申请对此不作限制。
步骤316,判断负载均衡设备21接收到的是否为复位报文;当负载均衡设备21尝试和目标服务器对外提供服务出现故障的端口所对应的进程建立连接,或者目标服务器响应上述建立连接的进程程序崩溃时,目标服务器将直接返回复位报文以释放上述TCP连接,因此,当负载均衡设备21发送第一次握手报文后接受到目标服务器返回的复位报文,则可以进入步骤316a,根据复位报文确定所述目标服务器的对应进程出现错误,无法对外提供服务。
步骤318,判断时间间隔是否超过预设阈值;如果负载均衡设备21接收到目标服务器返回的报文,并且目标服务器返回的报文是第二次握手报文,可以判断负载均衡设备21从发送第一次握手报文到接收到所述目标服务器返回的第二次握手报文的间隔时长,并将间隔时长和预设时长阈值进行比较,如果超过预设时长阈值,说明目标服务器响应第一次握手报文进而返回第二次握手报文的速度较慢,因此可以确定上述目标服务器处理接收到的报文的速度较慢,进一步说明其负载较大,即处于步骤318a所示的过度负载状态。上述预设时长阈值可以根据实际应用情况进行灵活设定,本申请对预设时长阈值的具体值不作限制。
值得说明的是,上述实施例仅为示意性的,上步骤314、316、318等判断步骤并非必须按照上述的顺序进行,附图3仅为了展示判断目标服务器状态的几种方法,而并非对其步骤的先后顺序进行限制。
步骤320,生成目标服务器状态信息;步骤320之前的步骤可以在会话检查单元中进行,会话检查单元根据负载均衡设备21的性能和规格启动一个或者多个会话检查线程,遍历全部会话,对会话进行检查,通过TCP的连接状态确定目标服务器的运行状态,进而将目标服务器IP地址、目标服务器使用的端口、虚服务器IP地址、虚服务端口、时间、目标服务器运行状态等信息组装成目标服务器状态信息,通过共享内存消息通道等方式发送给健康监测单元。
步骤322,根据状态信息调整负载均衡规则;此步骤可以在健康检测单元中进行,健康监测单元可以启动若干个进程对会话检查单元发出的目标服务器状态信息进行检测,对接收到的上述信息按照预设的格式进行提取解析,进而修改目标服务器的状态,调整负载均衡规则,从而指导负载均衡设备使用最新的负载均衡规则对接收到的流量进行调度。
在此步骤中,负载均衡设备21按照自身维护的负载均衡规则调度流量,选择状态正常的目标服务器处理流量,目标服务器的当前状态影响着负载均衡规则,如果目标服务器当前处于掉电、进程故障、负载过大等无法继续提供服务的状态,但是在当前的负载均衡规则中此目标服务器被作为需要分担负载的服务器,此时需要根据目标服务器的当前状态调整负载均衡规则,将此服务器调整为不需要分担负载的服务器,进而运维人员可以对此服务器进行维护调整;如果目标服务器当前处于运行正常并且较为空闲的状态,但是在当前的负载均衡规则中,此目标服务器被作为不需要分担负载的服务器,此时需要根据目标服务器的当前状态调整负载均衡规则,将此服务器调整为需要分担负载的服务器,参与处理负载均衡设备接收到的流量。
与上述方法实施例相对应,本说明书还提供了一种装置的实施例。
图4是根据本申请一示例性实施例示出的一种检测服务器状态的电子设备的结构示意图。参考图4,在硬件层面,该电子设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行,在逻辑层面上形成检测服务器状态的装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
图5是根据本申请一示例性实施例示出的一种检测服务器状态的装置框图。参照图5,该装置包括接收单元502、建立单元504和确定单元506,其中:
接收单元502用于根据接收到的报文确定目标服务器;
建立单元504,用于在所述负载均衡设备与所述目标服务器之间建立TCP连接;
确定单元506,用于根据所述TCP连接的建立情况确定所述目标服务器的运行状态。
可选的,所述根据接收到的报文确定目标服务器包括:获取所述报文的五元组信息;若查询到所述五元组信息对应的会话,则根据查询到的会话命中的负载均衡规则确定目标服务器;若未查询到所述五元组信息对应的会话,则新建会话并根据新建的会话命中的负载均衡规则确定目标服务器。
可选的,如果所述查询到的会话未命中所述负载均衡业务,或所述新建的会话未命中所述负载均衡业务,则根据路由规则转发所述报文。
可选的,所述装置还包括第一确定单元508,用于根据所述TCP连接的建立情况确定目标服务器状态,包括:确定从发送第一次握手报文至接收到所述目标服务器返回的第二次握手报文之间的间隔时长;如果所述间隔时长超过预设时长阈值,则判定所述目标服务器处于过度负载状态。
可选的,所述装置还包括第二确定单元510,用于根据所述TCP连接的建立情况确定目标服务器状态,包括:
如果所述负载均衡设备发送第一次握手报文后,在第一预设时长内未收到所述目标服务器回复的第二次握手报文,则检测网络状态是否畅通;
如果网络畅通,确定所述目标服务器处于掉电状态。
可选的,所述装置还包括第三确定单元512,用于根据所述TCP连接的建立情况确定目标服务器状态,包括:
如果发送第一次握手报文后接收到所述目标服务器返回的复位报文,确定所述目标服务器的对应进程处于故障状态。
可选的,上述装置还包括调整单元514,用于调整负载均衡规则:
当所述目标服务器处于无法提供服务的运行状态,且在负载均衡规则中属于需要分担负载的服务器,将其调整为不需要分担负载的服务器;
当所述目标服务器处于正常提供服务的状态,但在负载均衡规则中不分担负载,将其调整为分担负载的服务器。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器运行状态检测装置的处理器执行以实现如上述实施例中任一所述的方法。
其中,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等,本申请并不对此进行限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种服务器状态检测方法,其特征在于,应用于负载均衡设备,所述方法包括:
根据接收到的报文确定目标服务器;
在所述负载均衡设备与所述目标服务器之间建立TCP连接;
根据所述TCP连接的建立情况确定所述目标服务器的运行状态。
2.根据权利要求1所述的方法,其特征在于,所述根据接收到的报文确定目标服务器包括:
获取所述报文的五元组信息;
若查询到所述五元组信息对应的会话,则根据查询到的会话命中的负载均衡规则确定目标服务器;
若未查询到所述五元组信息对应的会话,则新建会话并根据新建的会话命中的负载均衡规则确定目标服务器。
3.根据权利要求2所述的方法,其特征在于,还包括:
如果所述查询到的会话未命中所述负载均衡业务,或所述新建的会话未命中所述负载均衡业务,则根据路由规则转发所述报文。
4.根据权利要求1所述的方法,其特征在于,所述根据所述TCP连接的建立情况确定目标服务器状态,包括:
确定从发送第一次握手报文至接收到所述目标服务器返回的第二次握手报文之间的间隔时长;
如果所述间隔时长超过预设时长阈值,则判定所述目标服务器处于过度负载状态。
5.根据权利要求1所述的方法,其特征在于,所述根据所述TCP连接的建立情况确定目标服务器状态,包括:
如果所述负载均衡设备发送第一次握手报文后,在第一预设时长内未收到所述目标服务器回复的第二次握手报文,则检测网络状态是否畅通;
如果网络畅通,确定所述目标服务器处于掉电状态。
6.根据权利要求1所述的方法,其特征在于,所述根据所述TCP连接的建立情况确定目标服务器状态,包括:
如果发送第一次握手报文后接收到所述目标服务器返回的复位报文,确定所述目标服务器的对应进程处于故障状态。
7.根据权利要求1所述的方法,其特征在于,还包括:
当所述目标服务器处于无法提供服务的运行状态,且在负载均衡规则中属于需要分担负载的服务器,将其调整为不需要分担负载的服务器;
当所述目标服务器处于正常提供服务的状态,但在负载均衡规则中不分担负载,将其调整为分担负载的服务器。
8.一种服务器状态检测的装置,其特征在于,应用于负载均衡设备,所述装置包括:
接收单元,用于根据接收到的报文确定目标服务器;
建立单元,用于在所述负载均衡设备与所述目标服务器之间建立TCP连接;
确定单元,用于根据所述TCP连接的建立情况确定所述目标服务器的运行状态。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011622627.2A CN112866338B (zh) | 2020-12-31 | 2020-12-31 | 一种服务器状态检测的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011622627.2A CN112866338B (zh) | 2020-12-31 | 2020-12-31 | 一种服务器状态检测的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866338A true CN112866338A (zh) | 2021-05-28 |
CN112866338B CN112866338B (zh) | 2023-03-24 |
Family
ID=75999235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011622627.2A Active CN112866338B (zh) | 2020-12-31 | 2020-12-31 | 一种服务器状态检测的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866338B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992500A (zh) * | 2021-11-04 | 2022-01-28 | 厦门亿联网络技术股份有限公司 | 一种适用于VoIP终端的主备服务器切换方法及装置 |
CN115277506A (zh) * | 2022-07-23 | 2022-11-01 | 杭州迪普科技股份有限公司 | 负载均衡设备测试方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635703A (zh) * | 2008-07-24 | 2010-01-27 | 北京启明星辰信息技术股份有限公司 | 一种web服务异常检测方法 |
CN101895414A (zh) * | 2010-06-24 | 2010-11-24 | 苏州飞鱼星电子技术有限公司 | 服务器掉电保护系统及服务器掉电保护的方法 |
CN102075445A (zh) * | 2011-02-28 | 2011-05-25 | 杭州华三通信技术有限公司 | 负载均衡方法及装置 |
CN103780502A (zh) * | 2012-10-17 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 一种负载均衡下的数据交互系统、方法及装置 |
CN105847381A (zh) * | 2016-04-18 | 2016-08-10 | 乐视控股(北京)有限公司 | 内容服务器的调度方法及装置 |
CN105939201A (zh) * | 2015-07-13 | 2016-09-14 | 杭州迪普科技有限公司 | 服务器状态的检查方法和装置 |
CN109274707A (zh) * | 2017-07-18 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 一种负载调度方法及装置 |
CN110908872A (zh) * | 2019-11-29 | 2020-03-24 | 杭州迪普科技股份有限公司 | 一种服务器状态检测方法及系统 |
-
2020
- 2020-12-31 CN CN202011622627.2A patent/CN112866338B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635703A (zh) * | 2008-07-24 | 2010-01-27 | 北京启明星辰信息技术股份有限公司 | 一种web服务异常检测方法 |
CN101895414A (zh) * | 2010-06-24 | 2010-11-24 | 苏州飞鱼星电子技术有限公司 | 服务器掉电保护系统及服务器掉电保护的方法 |
CN102075445A (zh) * | 2011-02-28 | 2011-05-25 | 杭州华三通信技术有限公司 | 负载均衡方法及装置 |
CN103780502A (zh) * | 2012-10-17 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 一种负载均衡下的数据交互系统、方法及装置 |
CN105939201A (zh) * | 2015-07-13 | 2016-09-14 | 杭州迪普科技有限公司 | 服务器状态的检查方法和装置 |
CN105847381A (zh) * | 2016-04-18 | 2016-08-10 | 乐视控股(北京)有限公司 | 内容服务器的调度方法及装置 |
CN109274707A (zh) * | 2017-07-18 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 一种负载调度方法及装置 |
CN110908872A (zh) * | 2019-11-29 | 2020-03-24 | 杭州迪普科技股份有限公司 | 一种服务器状态检测方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992500A (zh) * | 2021-11-04 | 2022-01-28 | 厦门亿联网络技术股份有限公司 | 一种适用于VoIP终端的主备服务器切换方法及装置 |
CN115277506A (zh) * | 2022-07-23 | 2022-11-01 | 杭州迪普科技股份有限公司 | 负载均衡设备测试方法及系统 |
CN115277506B (zh) * | 2022-07-23 | 2023-05-23 | 杭州迪普科技股份有限公司 | 负载均衡设备测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112866338B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8667585B2 (en) | Transmission control protocol flooding attack prevention method and apparatus | |
CN112866338B (zh) | 一种服务器状态检测的方法及装置 | |
CN106612284B (zh) | 一种流数据的传输方法和装置 | |
US11102273B2 (en) | Uplink performance management | |
CN110908872B (zh) | 一种服务器状态检测方法及系统 | |
CN111147573A (zh) | 一种数据传输的方法和装置 | |
US20130250797A1 (en) | Communication control system, control device, communication control method, and communication control program | |
JP4503934B2 (ja) | サーバ計算機保護装置、サーバ計算機保護方法、サーバ計算機保護プログラム及びサーバ計算機 | |
US10708161B2 (en) | Network performance monitoring using an active measurement protocol and relay mechanism | |
CN111885644B (zh) | 一种有线网络和无线网络自动切换的方法 | |
JP2010538551A (ja) | Ipネットワーク上のipリンクの接続性状態を自動的に確認するための方法およびシステム | |
US10680930B2 (en) | Method and apparatus for communication in virtual network | |
CN106817267B (zh) | 一种故障检测方法和设备 | |
CN108124504B (zh) | Tfo传输方法、代理服务器和系统 | |
US8588064B2 (en) | Transport layer that warns application of potential bottleneck and methods thereof | |
CN110808917B (zh) | 多链路聚合数据重传方法及发送设备 | |
US11044350B1 (en) | Methods for dynamically managing utilization of Nagle's algorithm in transmission control protocol (TCP) connections and devices thereof | |
JP2010205234A (ja) | 監視システム、ネットワーク機器、監視情報提供方法およびプログラム | |
US20220141153A1 (en) | Server communication method, broadband access server, and system | |
CN112751728A (zh) | 链路健康状态的监测方法及装置 | |
US9455911B1 (en) | In-band centralized control with connection-oriented control protocols | |
JP2009284433A (ja) | P2p端末検知及び制御システム、並びにその方法 | |
US9813319B1 (en) | Method of detecting packet loss in a communication network | |
US11902404B1 (en) | Retaining key parameters after a transmission control protocol (TCP) session flap | |
KR101933175B1 (ko) | 서버와 클라이언트간 통신을 중개하는 중개장치 |
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 |