CN102195828A - 服务器端口状态的探测方法和探测器 - Google Patents
服务器端口状态的探测方法和探测器 Download PDFInfo
- Publication number
- CN102195828A CN102195828A CN2010101270635A CN201010127063A CN102195828A CN 102195828 A CN102195828 A CN 102195828A CN 2010101270635 A CN2010101270635 A CN 2010101270635A CN 201010127063 A CN201010127063 A CN 201010127063A CN 102195828 A CN102195828 A CN 102195828A
- Authority
- CN
- China
- Prior art keywords
- port
- service
- control module
- response message
- probe messages
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 72
- 230000004044 response Effects 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 20
- 239000000523 sample Substances 0.000 claims description 99
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 abstract description 62
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种服务器端口状态的探测方法,适用于对负载均衡系统中的服务器端口进行探测的探测器,所述探测器包括提供控制层功能的控制模块和提供转发层功能的转发模块,所述方法包括:所述转发模块获得所述控制模块提供的用于生成探测报文的信息;所述转发模块利用预先设置的状态机,根据所述用于生成探测报文的信息,生成探测报文,所述状态机至少具有生成并发送探测报文、判断是否接收到正确的响应报文、上报探测结果的功能;所述转发模块向需要探测的服务器端口发出所述探测报文。本发明还提供一种探测器和负载均衡设备。使用本发明提供的技术方案在对服务器端口进行探测时,可以节省控制模块与转发模块之间的控制通道资源,还可以节省控制层的资源。
Description
技术领域
本发明涉及负载均衡(LB,Load Balance)技术,尤其涉及服务器端口状态的探测方法和探测器。
背景技术
在现有的负载均衡系统中,为了保证服务器组对外提供服务的质量,具有探测服务器端口状态功能的探测器需要实时检测服务器组中每一个服务器的运行状态。
目前,为实现服务器的探测,探测器通常包括控制层和转发层。在控制层中部署协议栈,协议栈提供发送探测报文、接收响应报文、感知服务器状态变化等功能。具体的,控制层利用协议栈生成探测报文,将探测报文下发给转发层,转发层将探测报文发送给需要探测的服务器;转发层接收上述需要探测的服务器的端口发出的响应报文,转发层将响应报文上报给控制层,控制层利用协议栈分析响应报文,并将分析的结果上报给调用探测器的调用者,分析的结果可以是服务器的状态信息。
本发明的发明人在仔细研究现有技术后发现:服务器探测工作主要是由协议栈完成的,协议栈部署在控制层中,转发层主要负责转发报文,这种情况下,控制层和转发层之间会传递大量报文,这样会过多的占用控制通道,还有可能会造成其他控制报文的丢失。另外,协议栈虽然可以完成服务器探测工作,但处理复杂,耗时较多,这样会过多的占用控制层资源,由于控制层资源有限,所以不能部署大规格的探测器。
发明内容
本发明实施例提供服务器端口状态的探测方法和探测器,用以在负载均衡系统中对服务器实施探测的情况下,尽量节省控制层和转发层之间的控制通道资源和控制层的资源。
一种服务器端口状态的探测方法,适用于对负载均衡系统中的服务器端口进行探测的探测器,所述探测器包括提供控制层功能的控制模块和提供转发层功能的转发模块,所述方法包括:所述转发模块获得所述控制模块提供的用于生成探测报文的信息;所述转发模块利用预先设置的状态机,根据所述用于生成探测报文的信息,生成探测报文,所述状态机至少具有生成并发送探测报文、判断是否接收到正确的响应报文、上报探测结果的功能;所述转发模块利用所述状态机向需要探测的服务器端口发出所述探测报文。
一种探测器,部署在负载均衡系统中,用于对负载均衡系统中的服务器端口进行探测,所述探测器包括:控制模块,用于提供控制层功能;转发模块,用于提供转发层功能;其中,所述控制模块还用于向转发模块提供用于生成探测报文的信息,所述转发模块还用于利用预先设置的状态机,根据所述用于生成探测报文的信息生成探测报文,并向需要探测的服务器端口发出所述探测报文,所述状态机至少具有生成并发送探测报文、判断是否接收到正确的响应报文、上报探测结果的功能。
一种负载均衡设备,部署在负载均衡系统中,用于执行负载均衡策略,所述负载均衡设备包括上述的探测器。
在本发明实施例中,提供控制层功能的控制模块将用于生成探测报文的信息提供给提供转发层功能的转发模块,转发模块设置有至少具有生成并发送探测报文、判断是否接收到探测报文、上报探测结果的功能的状态机,状态机负责生成探测报文,而不是由控制模块生成探测报文,这种情况下,控制模块与转发模块之间不需要上报或下发报文,这样可以节省控制模块与转发模块之间的控制通道资源,控制模块也不需要进行复杂的协议栈处理,这样可以节省控制层的资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种形式的负载均衡系统的示意图;
图2为本发明实施例的一种服务器端口状态的探测方法的流程图;
图3为本发明实施例的一种探测器的逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本领域技术人员更加清楚的理解本发明实施例,首先介绍本发明实施例涉及的一些专业知识。
负载均衡系统包括执行负载均衡策略的负载均衡设备和提供服务的服务器组。服务器组包括至少一个服务器,每个服务器具有至少一个端口,服务器可以通过端口提供服务,一个端口对应一种服务。负载均衡设备可以获得客户端发出的提供服务的请求,之后,负载均衡设备根据能够提供所述服务的服务器的运行状态等因素,选择一个为负载均衡设备提供所述服务的服务器,并将客户端发出的请求转发给上述选择的服务器,客户端从上述选择的服务器中的提供所述服务的端口获得所述服务。
在本发明实施例中,负载均衡系统可以包括一个具有对服务器端口进行探测功能的探测器。在实际应用中,探测器可以设置在负载均衡设备中。
探测器在对服务器端口进行探测时,可以向需要探测的服务器端口发出探测报文,探测器可以根据服务器端口的响应情况,确定服务器端口的状态。在实际应用中,由于一个服务器可能会有多个端口,一个服务器组可能会包括多个服务器,这种情况下,探测器可以向每个需要探测的端口都发出一个探测报文,根据每个端口的响应情况,确定每个端口的状态。
在本发明实施例中,探测器可以包括控制层和转发层。控制层的功能可以由中央处理单元(CPU,Central Processing Unit)实现。转发层的功能可以由CPU实现,也可以由现场可编程门阵列(FPGA,Field Programmable GateArray)实现。对应的,探测器中的控制模块可以提供控制层的功能,探测器中的转发模块可以提供转发层的功能。负载均衡设备中具有决策层,对应的,负载均衡设备中的决策模块可以提供决策层的功能。如果探测器部署在负载均衡设备中,那么负载均衡设备可以至少包括决策层、控制层和转发层。对应的,负载均衡设备至少包括三个模块,即,决策模块、控制模块和转发模块。
在本发明实施例中,转发模块设置有状态机,状态机具有生成并发送探测报文、判断是否接收到正确的响应报文、上报探测结果等功能。在具体实现时,这些功能都可以由函数来实现。状态机可以具有多种状态,每种状态都可以对应一个函数,在状态机处于某种状态时,与这种状态对应的函数在被执行。由于状态机具备上述多种功能,所以,设置有状态机的转发模块也具备上述多种功能。
本发明所有的实施例都适用于负载均衡系统,特别是适用于对负载均衡系统中的服务器端口进行探测的探测器,探测器包括提供控制层功能的控制模块和提供转发层功能的转发模块。图1为一种形式的负载均衡系统的示意图,如图1所示,探测器部署在负载均衡设备中,客户端向负载均衡设备请求提供某种服务,负载均衡设备从所有能够提供这种服务的服务器端口中选择一个服务器端口,并将客户端发出的请求转发给上述选择的服务器端口,客户端从上述选择的服务器端口获得这种服务。
下面介绍本发明实施例的一种服务器端口状态的探测方法。如图2所示,这种方法包括:
S201:转发模块获得控制模块提供的用于生成探测报文的信息。
提供控制层功能的控制模块对调用探测器的调用者提供接口,接收调用者的探测需求信息,并根据探测需求信息向提供转发层功能的转发模块提供用于生成探测报文的信息,这样,转发模块就可以获得控制模块提供的用于生成探测报文的信息。控制模块不生成探测报文,所以也不会给转发模块提供探测报文。
用于生成探测报文的信息例如包括探测器所在设备的IP地址、需要探测的服务器的IP地址、需要探测的服务器提供服务所使用的协议的描述信息、探测器所在设备的端口信息和需要探测的服务器的端口信息。
如果探测器部署在负载均衡设备中,那么探测器所在设备的IP地址就是负载均衡设备的IP地址;如果探测器部署在负载均衡系统中的其他设备中,那么探测器所在设备的IP地址就是其他设备的IP地址;如果探测器是一个独立的设备,那么探测器所在设备的IP地址就是探测器这个独立设备的IP地址。
需要探测的服务器提供服务所使用的协议的描述信息可以是需要探测的服务器提供服务所使用的协议的编号等标识。
无论探测器是一个独立的设备,还是部署在负载均衡设备或其他设备中,探测器、负载均衡设备或其他设备都可以具有多个端口,这种情况下,探测器发送探测报文时,可以将发出探测报文的端口的信息携带在探测报文中,这样,需要探测的服务器能够确定向探测器、负载均衡设备或其他设备的哪个端口反馈响应报文。如果探测器部署在负载均衡设备中,那么探测器所在设备的端口信息就是负载均衡设备中的发出探测报文的端口的信息;如果探测器部署在负载均衡系统中的其他设备中,那么探测器所在设备的端口信息就是其他设备中的发出探测报文的端口的信息;如果探测器是一个独立的设备,那么探测器所在设备的端口信息就是这个独立的设备中的发出探测报文的端口的信息。端口信息可以是端口号。
需要探测的服务器的端口信息可以是需要探测的服务器端口的端口号。
在实际应用中,探测器可以探测指定的服务器中的指定的端口,这种情况下,控制模块可以向转发模块提供探测器所在设备的IP地址、指定的服务器的IP地址、指定的服务器提供服务所使用的协议的描述信息、探测器所在设备的端口信息和指定的端口的信息。探测器也可以探测指定的服务器中的全部端口,这种情况下,控制模块可以向转发模块提供探测器所在设备的IP地址、指定的服务器的IP地址、指定的服务器提供服务所使用的协议的描述信息、探测器所在设备的端口信息和指定的服务器中的全部端口的信息。探测器还可以探测全部服务器的全部端口,这种情况下,控制模块可以向转发模块提供探测器所在设备的IP地址、每个服务器的IP地址、每个服务器提供服务所使用的协议的描述信息、探测器所在设备的端口信息和全部服务器的全部端口的信息。
S202:所述转发模块利用预先设置的状态机,根据所述用于生成探测报文的信息,生成探测报文,所述状态机至少具有生成并发送探测报文、判断是否接收到正确的响应报文、上报探测结果的功能。
由于转发模块中设置的状态机具有生成探测报文的功能,具体的,状态机包括用于生成探测报文的函数,所以,转发模块可以根据用于生成探测报文的信息,利用状态机,生成探测报文。当然,生成的探测报文是基于负载均衡设备与服务器之间的通信协议的报文。
转发模块可以为每个需要探测的端口都生成一个探测报文,一个探测报文中可以携带探测器所在设备的IP地址、这个探测报文对应端口所在的服务器的IP地址、需要探测的端口所在的服务器提供服务所使用的协议的描述信息、探测器所在设备中的发出这个探测报文的端口的信息和这个探测报文对应端口的信息。
需要说明的是,转发模块为每个需要探测的端口生成探测报文时,所利用的状态机都不相同,也可以说,一个状态机对应一个端口。在实际实现时,转发模块可以根据用于生成探测报文的信息,确定需要探测的端口,之后,利用需要探测的端口对应的状态机生成探测报文。
S203:所述转发模块利用所述状态机向需要探测的服务器端口发出所述探测报文。
转发模块生成探测报文后,可以向探测报文对应的服务器端口发出探测报文。转发模块如果生成了多个探测报文,那么转发模块分别向这些探测报文对应的每个服务器端口发出对应的探测报文。
需要说明的是,转发模块可以间隔性的发出探测报文,例如周期性的发出探测报文,转发模块也可以在负载均衡设备获得客户端发出的提供某种服务的请求后,发出探测报文,当然,转发模块还可以在其他时机发出探测报文,至于转发模块在哪种时机发出探测报文,可以由本领域技术人员根据实际需要而设置。
转发模块在发出探测报文的同时或之后,还可以记录发出探测报文的时间,以用于后续判断端口响应情况。
转发模块在向需要探测的服务器端口发出探测报文之后,可以利用状态机,根据需要探测的服务器端口的响应情况,向控制模块上报探测结果。也就是说,由转发模块对服务器端口的响应情况进行分析,将探测结果上报给控制模块,而不是由控制模块分析响应情况。控制模块收到探测结果后,向负载均衡设备中的决策模块上报探测结果。由此可见,控制模块主要完成探测结果的转发工作。当然,控制模块也可以将转发模块上报的探测结果转换为调用探测器的调用者所需要的形式后,再将转换后的探测结果上报给调用者。
转发模块根据需要探测的服务器端口的响应情况、向控制模块上报探测结果可以有多种实现方式。
例如,转发模块如果在预先设定的时间内收到响应报文,则向控制模块上报正常信息,所述正常信息用于表示发出所述响应报文的服务器端口正常;转发模块如果在所述预先设定的时间内没有收到响应报文,则向控制模块上报异常信息,所述异常信息用于表示发出所述响应报文的服务器端口异常。也就是说,转发模块可以根据在预先设定的时间内是否收到响应报文,判断服务器端口是否正常,并向控制模块上报服务器端口正常或异常的信息。当然,在实际应用中,正常信息也可以缺省,也就是说,转发模块如果在预先设定的时间内收到响应报文,则可以不向控制模块上报任何信息,而是只在预先设定的时间内没有收到响应报文的情况下,才向控制模块上报异常信息。
转发模块可以在预先设定的时间内收到响应报文后,进一步判断该响应报文是否正确,如果该响应报文正确,则向控制模块上报正常信息,否则,向控制模块上报异常信息。
转发模块可以根据发送探测报文的时间和收到响应报文的时间,确定发出所述响应报文的服务器端口的响应速度;转发模块根据所述响应速度生成发出所述响应报文的服务器端口的性能信息;转发模块向控制模块上报发出所述响应报文的服务器端口的性能信息。也就是说,转发模块可以根据发送探测报文的时间和收到响应报文的时间,确定服务器端口的性能,并向控制模块上报服务器端口的性能信息。
在实际实现时,转发模块可以利用状态机实现上述几个功能,相应的,状态机包括实现上述几个功能的函数。
控制模块具有转发探测结果的功能,当转发模块将探测结果上报给控制模块时,控制模块向负载均衡设备中的决策模块上报探测结果。决策模块收到探测结果后,可以根据探测结果执行负载均衡策略。例如,当某个客户端请求提供一种服务时,这种服务可以由多个服务器端口提供,决策模块根据控制模块上报的探测结果,确定一个服务器端口发生异常,此时,决策模块可以将上述客户端发出的请求转发给其他正常的服务器端口,上述客户端从该服务器端口获得这种服务。
对应于上述的方法实施例,本发明实施例还提供一种探测器。如图3所示,这种探测器包括:控制模块301,用于提供控制层功能;转发模块302,用于提供转发层功能;其中,控制模块301还用于向转发模块302提供用于生成探测报文的信息,转发模块302还用于利用预先设置的状态机,根据所述用于生成探测报文的信息,生成探测报文,并向需要探测的服务器端口发出所述探测报文,所述状态机至少具有生成并发送探测报文、判断是否接收到正确的响应报文、上报探测结果的功能。转发模块302还可以用于在向所述需要探测的服务器端口发出所述探测报文之后,利用所述状态机,根据所述需要探测的服务器端口的响应情况,向控制模块301上报探测结果。
在转发模块302向控制模块301上报探测结果之后,控制模块301还可以用于向负载均衡设备中的决策模块上报所述探测结果。
转发模块302还可以用于如果在预先设定的时间内收到响应报文,则向控制模块301上报用于表示发出所述响应报文的服务器端口正常的信息;转发模块302还可以用于如果在所述预先设定的时间内没有收到响应报文,则向控制模块301上报用于表示发出所述响应报文的服务器端口异常的信息。
转发模块302还可以用于如果在预先设定的时间内收到响应报文,则进一步判断响应报文是否正确,如果正确,则向控制模块301上报用于表示发出所述响应报文的服务器端口正常的信息,如果不正确,则向控制模块301上报用于表示发出所述响应报文的服务器端口异常的信息。
转发模块302可以包括:响应速度确定子单元,用于根据收到响应报文的时间,确定发出所述响应报文的服务器端口的响应速度;性能信息生成子单元,用于根据所述响应速度生成发出所述响应报文的服务器端口的性能信息;性能信息上报子单元,用于向所述控制模块上报发出所述响应报文的服务器端口的性能信息。
用于生成探测报文的信息包括探测器所在设备的IP地址、需要探测的服务器的IP地址、需要探测的服务器提供服务所使用的协议的描述信息、探测器所在设备的端口信息和需要探测的服务器的端口信息。
需要说明的是,当转发层由CPU来实现时,转发层所利用的状态机可以由软件来实现。当转发层由FPGA实现时,转发层所利用的状态机可以由FPGA中的硬件逻辑资源来实现。
由于上述的探测器实施例是与上述的方法实施例相对应的实施例,所以,上述的探测器实施例的具体描述可以参见上述的方法实施例中的相关描述,这里不再赘述。
由于探测器可以部署在负载均衡设备中,所以,本发明实施例还提供了一种负载均衡设备,包括上述的探测器。
下面对实现本发明实施例的一些技术细节进行说明。
举例来说,本发明实施例的一个具体应用场景中,决策模块、控制模块和转发模块同时部署在负载均衡设备中。决策模块可以将需要探测的服务器的IP地址、需要探测的服务器端口号等信息提供给控制模块。控制模块将上述信息提供给转发模块。转发模块创建一个主会话实例,主会话实例保存三元组信息,三元组信息包括探测器所在设备的IP地址、需要探测的服务器的IP地址和需要探测的服务器提供服务所使用的协议的协议号。同时,转发模块根据控制模块提供的需要探测的端口的端口号创建与需要探测的端口对应的子会话实例,用于探测同一个服务器提供的不同服务,并将创建的子会话实例与主会话实例关联,或者说,创建的子会话实例属于主会话实例。子会话实例复用主会话实例的三元组信息,保存五元组信息,子会话实例的五元组信息包括对应的主会话实例的三元组信息加上探测器所在设备的端口的端口号和需要探测的服务器端口号。上述五元组信息即是前面提到的用于生成探测报文的信息。可选的,在实际应用中,转发模块也可以不创建主会话实例,而是只创建子会话实例。
每个子会话实例都对应一个状态机。状态机中可以包括:用于记录处理报文协议类型、当前状态、探测报文发送时间、超时时间、期待报文、各个状态切换的时间以及各个状态对应的处理动作(包括状态变化处理动作函数(记为StateChangeFunc)、报文接收处理动作函数(记为PacketRcvFunc))的状态控制块、状态扫描定时器等,状态扫描定时器用于处理各状态间的报文接收超时判断及异常情况下的资源释放。
状态机的处理流程如下:
在发起探测时,状态机中的启动函数(StartProbe函数)首先被调用,启动函数将状态机的状态由INIT(初始)置为DOWN(失效),调用DOWN状态处理函数(StatteChangeFunc[DOWN]),并启动状态扫描定时器,定时器超时时间统一置为t;
DOWN状态处理函数将子会话实例中保存的五元组信息,生成并发送探测报文,DOWN状态处理函数还记录发送探测报文的时间为T1,探测报文发送成功后,将状态机的状态由DOWN置为WAIT_RCV(等待接收),并调用WAIT_RCV状态处理函数;
WAIT_RCV状态处理函数如果收到服务器的响应报文,则比较响应报文与期待报文是否一致;
如果响应报文与期待报文一致,则WAIT_RCV状态处理函数将状态机的状态由WAIT_RCV置为UP(有效),调用UP状态处理函数,记录收到响应报文的时间为T2,同时,根据五元组信息中的需要探测的服务器提供服务所使用的协议的协议号,决定是否再次发送交互报文,UP状态处理函数向主会话实例通知子会话实例对应的状态机的状态为UP;
如果响应报文与期待报文不一致,则WAIT_RCV状态处理函数将状态机的状态由WAIT_RCV值为RCV_ERR(接收错误),调用RCV_ERR状态处理函数,RCV_ERR状态处理函数向主会话实例通知子会话实例对应的状态机的状态已经为DOWN;
WAIT_RCV状态处理函数如果在超时时间t内未收到响应报文,则将状态机的状态由WAIT_RCV置为TIME_OUT(超时),调用TIME_OUT状态处理函数,TIME_OUT状态处理函数向主会话实例通知子会话实例对应的状态机的状态为DOWN。
主会话实例收到状态机(具体是指状态机包括的相应函数)的通知后,向控制模块上报探测结果。
为使本领域技术人员更加清楚的理解本发明实施例,下面再举例对本发明实施例进行说明。
假设负载均衡设备连接3台服务器,每台服务器都可以提供TCP 80端口和8080端口的服务。负载均衡设备在收到用户的请求时,需要根据均衡算法选择一个服务器,在选择服务器之前,负载均衡设备需要确定哪些服务器的运行状态是正常的,是可以提供服务的。为此,负载均衡设备中的控制层需要探测TCP 80端口及8080端口。控制层针对每个服务器配置一个主会话实例和两个子会话实例的相关信息,相关信息包括服务器的IP地址、服务器提供服务的协议类型(TCP)和端口信息(8080、80)。负载均衡设备中的转发层建立一个主会话实例和两个子会话实例。两个子会话实施例分别对应一个状态机。两个状态机分别发起80端口及8080端口的TCP连接。如果TCP连接建立成功,则状态机向主会话实例通知对应的子会话实例的探测状态,主会话实例向控制层上报两个端口探测成功的结果。如果TCP连接建立失败,则状态机向主会话实例通知对应的子会话实例的探测状态,主会话实例向控制层上报两个端口探测失败的结果。假设服务器C的80端口探测结果为失败,那么可以确定服务器C不能提供80服务,但服务器C的8080端口服务照常提供。当服务器C的80端口失效后,只会将80端口提供的服务切换到其它服务器,并不会影响服务器C的8080端口所提供的服务。
综上所述,本发明实施例至少具有如下特点:
1.转发层设置有至少具有生成并发送探测报文、判断是否接收到探测报文、上报探测结果的功能的状态机,对服务器端口的探测工作可以主要由转发层完成,控制层主要负责提供生成探测报文的信息和转发探测结果,不需要生成探测报文,也不需要分析服务器端口的响应情况。这样,控制层与转发层之间不需要交互大量的报文,节省了控制层与转发层之间的控制通道资源。控制层也不需要为实现服务器端口的探测而承担大量的工作,节省了控制层的资源。
当转发层由多核CPU实现时,多核CPU为转发层分配的资源比为控制层分配的资源多;当转发层由FPGA实现时,转发层的处理能力比控制层的处理能力强。所以,转发层在性能和资源方面均优于控制层。因此,由转发层完成大量的工作可以有效的利用转发层在性能和资源方面的优势。
2.转发层在对服务器端口的响应情况进行分析后,可以向控制层上报服务器端口的状态,而不是仅仅可以上报服务器整体的状态,这样,即使某个服务器的某个端口不能提供服务,也不会影响这个服务器的其他端口提供服务,有效的利用了服务器提供的服务。
3.在现有技术中,探测器主要利用控制层的协议栈进行服务器端口探测,协议栈处理过程比较复杂,探测速度慢。而在本发明实施例中,主要利用转发层的状态机进行服务器端口探测,本发明实施例提供的状态机的处理逻辑简单,但同样能够实现服务器端口状态的探测,所以,本发明实施例的探测过程较简便,探测速度快。
在本发明实施例中,探测器主动向服务器端口发出探测报文,根据服务器端口的响应情况,确定服务器端口的状态。由此可见,本发明实施例提供的探测方式属于主动探测方式。
本领域普通技术人员可以理解实现上述实施例方法中的部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种服务器端口状态的探测方法,其特征在于,适用于对负载均衡系统中的服务器端口进行探测的探测器,所述探测器包括提供控制层功能的控制模块和提供转发层功能的转发模块,所述方法包括:
所述转发模块获得所述控制模块提供的用于生成探测报文的信息;
所述转发模块利用预先设置的状态机,根据所述用于生成探测报文的信息,生成探测报文,所述状态机至少具有生成并发送探测报文、判断是否接收到正确的响应报文、上报探测结果的功能;
所述转发模块利用所述状态机向需要探测的服务器端口发出所述探测报文。
2.如权利要求1所述的方法,其特征在于,在所述转发模块利用所述状态机向需要探测的服务器端口发出所述探测报文之后,所述方法还包括:
所述转发模块利用所述状态机,根据所述需要探测的服务器端口的响应情况,向所述控制模块上报探测结果。
3.如权利要求2所述的方法,其特征在于,在所述转发模块向所述控制模块上报探测结果之后,所述方法还包括:所述控制模块向负载均衡设备中的决策模块上报所述探测结果。
4.如权利要求2或3所述的方法,其特征在于,所述转发模块根据需要探测的服务器端口的响应情况,向所述控制模块上报探测结果具体包括:
所述转发模块在预先设定的时间内收到响应报文后,比较所述响应报文与期待报文是否一致,如果所述响应报文与所述期待报文一致,则向所述控制模块上报正常信息,如果所述响应报文与所述期待报文不一致,向所述控制模块上报异常信息。
5.如权利要求2或3所述的方法,其特征在于,所述转发模块根据需要探测的服务器端口的响应情况,向所述控制模块上报探测结果具体包括:
所述转发模块根据发送所述探测报文的时间和收到响应报文的时间,确定发出所述响应报文的服务器端口的响应速度;
所述转发模块根据所述响应速度生成发出所述响应报文的服务器端口的性能信息;
所述转发模块向所述控制模块上报发出所述响应报文的服务器端口的性能信息。
6.一种探测器,其特征在于,部署在负载均衡系统中,用于对负载均衡系统中的服务器端口进行探测,所述探测器包括:
控制模块,用于提供控制层功能;
转发模块,用于提供转发层功能;
其中,所述控制模块还用于向转发模块提供用于生成探测报文的信息,所述转发模块还用于利用预先设置的状态机,根据所述用于生成探测报文的信息生成探测报文,并向需要探测的服务器端口发出所述探测报文,所述状态机至少具有生成并发送探测报文、判断是否接收到正确的响应报文、上报探测结果的功能。
7.如权利要求6所述的探测器,其特征在于,所述转发模块还用于在向所述需要探测的服务器端口发出所述探测报文之后,利用所述状态机,根据所述需要探测的服务器端口的响应情况,向所述控制模块上报探测结果。
8.如权利要求7所述的探测器,其特征在于,在所述转发模块向所述控制模块上报探测结果之后,所述控制模块还用于向负载均衡设备中的决策模块上报所述探测结果。
9.如权利要求7或8所述的探测器,其特征在于,所述转发模块还用于如果在预先设定的时间内收到响应报文,则比较所述响应报文与期待报文是否一致,如果所述响应报文与所述期待报文一致,则向所述控制模块上报用于表示发出所述响应报文的服务器端口正常的信息,如果所述响应报文与所述期待报文不一致,向所述控制模块上报用于表示发出所述响应报文的服务器端口异常的信息。
10.如权利要求7或8所述的探测器,其特征在于,所述转发模块包括:
响应速度确定子单元,用于根据发送所述探测报文的时间和收到响应报文的时间,确定发出所述响应报文的服务器端口的响应速度;
性能信息生成子单元,用于根据所述响应速度生成发出所述响应报文的服务器端口的性能信息;
性能信息上报子单元,用于向所述控制模块上报发出所述响应报文的服务器端口的性能信息。
11.一种负载均衡设备,其特征在于,部署在负载均衡系统中,用于执行负载均衡策略,所述负载均衡设备包括权利要求6-10任意一项所述的探测器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101270635A CN102195828B (zh) | 2010-03-16 | 2010-03-16 | 服务器端口状态的探测方法和探测器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101270635A CN102195828B (zh) | 2010-03-16 | 2010-03-16 | 服务器端口状态的探测方法和探测器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102195828A true CN102195828A (zh) | 2011-09-21 |
CN102195828B CN102195828B (zh) | 2013-10-09 |
Family
ID=44603250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101270635A Expired - Fee Related CN102195828B (zh) | 2010-03-16 | 2010-03-16 | 服务器端口状态的探测方法和探测器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102195828B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102299831A (zh) * | 2011-09-27 | 2011-12-28 | 杭州华三通信技术有限公司 | 检测内部服务器组成员失效的方法及网络地址转换设备 |
WO2014019157A1 (zh) * | 2012-08-01 | 2014-02-06 | 华为技术有限公司 | 通信路径的处理方法与装置 |
CN104065508A (zh) * | 2014-06-23 | 2014-09-24 | 浪潮(北京)电子信息产业有限公司 | 应用服务健康检查方法、装置和系统 |
CN109698774A (zh) * | 2019-02-20 | 2019-04-30 | 北京百度网讯科技有限公司 | 用于监测设备工作状态的方法及装置 |
CN111447199A (zh) * | 2020-03-23 | 2020-07-24 | 深信服科技股份有限公司 | 服务器的风险分析方法、服务器的风险分析装置及介质 |
CN111935060A (zh) * | 2019-12-26 | 2020-11-13 | 长扬科技(北京)有限公司 | 一种网络通信会话聚合的方法 |
CN112152858A (zh) * | 2020-09-27 | 2020-12-29 | 普联技术有限公司 | 一种有线端口的配置方法 |
CN113626198A (zh) * | 2021-08-19 | 2021-11-09 | 上海观安信息技术股份有限公司 | 一种数据库流量负载均衡系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040267939A1 (en) * | 2003-06-30 | 2004-12-30 | Hitachi, Ltd. | Session control apparatus, software applied to session control apparatus, communication control method, and network system |
CN101404597A (zh) * | 2008-11-19 | 2009-04-08 | 华为技术有限公司 | 一种网络质量指标的获取方法、系统及装置 |
CN101483592A (zh) * | 2009-02-05 | 2009-07-15 | 中兴通讯股份有限公司 | 一种抑制双向转发检测链路振荡的方法及装置 |
-
2010
- 2010-03-16 CN CN2010101270635A patent/CN102195828B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040267939A1 (en) * | 2003-06-30 | 2004-12-30 | Hitachi, Ltd. | Session control apparatus, software applied to session control apparatus, communication control method, and network system |
CN101404597A (zh) * | 2008-11-19 | 2009-04-08 | 华为技术有限公司 | 一种网络质量指标的获取方法、系统及装置 |
CN101483592A (zh) * | 2009-02-05 | 2009-07-15 | 中兴通讯股份有限公司 | 一种抑制双向转发检测链路振荡的方法及装置 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102299831B (zh) * | 2011-09-27 | 2014-02-05 | 杭州华三通信技术有限公司 | 检测内部服务器组成员失效的方法及网络地址转换设备 |
CN102299831A (zh) * | 2011-09-27 | 2011-12-28 | 杭州华三通信技术有限公司 | 检测内部服务器组成员失效的方法及网络地址转换设备 |
US11233694B2 (en) * | 2012-08-01 | 2022-01-25 | Huawei Technologies Co., Ltd. | Method and device for processing communication path |
WO2014019157A1 (zh) * | 2012-08-01 | 2014-02-06 | 华为技术有限公司 | 通信路径的处理方法与装置 |
CN103999406A (zh) * | 2012-08-01 | 2014-08-20 | 华为技术有限公司 | 通信路径的处理方法与装置 |
US9503317B2 (en) | 2012-08-01 | 2016-11-22 | Huawei Technologies Co., Ltd. | Method and device for processing communication path |
CN103999406B (zh) * | 2012-08-01 | 2017-09-29 | 华为技术有限公司 | 通信路径的处理方法与装置 |
US10243783B2 (en) | 2012-08-01 | 2019-03-26 | Huawei Technologies Co., Ltd. | Method and device for processing communication path |
US20190182104A1 (en) * | 2012-08-01 | 2019-06-13 | Huawei Technologies Co., Ltd. | Method and device for processing communication path |
CN104065508A (zh) * | 2014-06-23 | 2014-09-24 | 浪潮(北京)电子信息产业有限公司 | 应用服务健康检查方法、装置和系统 |
CN109698774A (zh) * | 2019-02-20 | 2019-04-30 | 北京百度网讯科技有限公司 | 用于监测设备工作状态的方法及装置 |
CN111935060A (zh) * | 2019-12-26 | 2020-11-13 | 长扬科技(北京)有限公司 | 一种网络通信会话聚合的方法 |
CN111447199A (zh) * | 2020-03-23 | 2020-07-24 | 深信服科技股份有限公司 | 服务器的风险分析方法、服务器的风险分析装置及介质 |
CN112152858A (zh) * | 2020-09-27 | 2020-12-29 | 普联技术有限公司 | 一种有线端口的配置方法 |
CN112152858B (zh) * | 2020-09-27 | 2022-12-09 | 普联技术有限公司 | 一种有线端口的配置方法 |
CN113626198A (zh) * | 2021-08-19 | 2021-11-09 | 上海观安信息技术股份有限公司 | 一种数据库流量负载均衡系统及方法 |
CN113626198B (zh) * | 2021-08-19 | 2024-03-26 | 上海观安信息技术股份有限公司 | 一种数据库流量负载均衡系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102195828B (zh) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102195828B (zh) | 服务器端口状态的探测方法和探测器 | |
TWI282228B (en) | Method and apparatus for autonomic failover | |
US9049241B2 (en) | Peer discovery and secure communication in failover schemes | |
CN108777640B (zh) | 一种服务器探测方法、装置、系统及存储介质 | |
US20210211528A1 (en) | Content stream integrity and redundancy system | |
CN107343012B (zh) | 视频存储系统及其视频数据发送方法 | |
CN109245961A (zh) | 链路质量检测方法、装置、存储介质和设备 | |
CN107979539A (zh) | 报文处理方法及装置 | |
CN102025783A (zh) | 集群系统及其消息处理方法和协议转发网关 | |
CN110908872A (zh) | 一种服务器状态检测方法及系统 | |
CN112751897A (zh) | 负载均衡方法、装置、介质及设备 | |
CN115242798B (zh) | 一种基于边缘云的任务调度方法、电子设备及存储介质 | |
CN110677475A (zh) | 一种微服务处理方法、装置、设备及存储介质 | |
CN112311907A (zh) | 一种arp请求响应方法、负载均衡设备及相关装置 | |
CN103685501A (zh) | 数据处理方法、装置和系统 | |
CN101808043B (zh) | 端口汇聚trunk成员业务报文转发状态的检测方法及装置 | |
CN108089934A (zh) | 集群管理方法及集群服务器 | |
CN111082996B (zh) | 一种带内监控软件的自动配置方法、装置和介质 | |
CN108449276A (zh) | 路由收敛方法及装置 | |
CN108781215B (zh) | 网络服务实现方法、服务控制器及通信系统 | |
CN103067280B (zh) | 报文处理方法和装置 | |
CN104486139A (zh) | 一种系统通信检测方法及装置 | |
CN111817955B (zh) | 数据传输系统、方法、装置和设备 | |
CN113301003B (zh) | 信息、数据链路检测方法、设备及存储介质 | |
CN115086203A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131009 |
|
CF01 | Termination of patent right due to non-payment of annual fee |