CN107171885B - 一种检测服务器运行状态的方法、装置和系统 - Google Patents
一种检测服务器运行状态的方法、装置和系统 Download PDFInfo
- Publication number
- CN107171885B CN107171885B CN201710210631.XA CN201710210631A CN107171885B CN 107171885 B CN107171885 B CN 107171885B CN 201710210631 A CN201710210631 A CN 201710210631A CN 107171885 B CN107171885 B CN 107171885B
- Authority
- CN
- China
- Prior art keywords
- server
- identification information
- information table
- service
- normal
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种检测服务器运行状态的方法、装置和系统,该方法包括:当存在待发送的服务请求报文时,从本地保存的正常服务器信息表中确定目标服务器的标识信息;根据目标服务器的标识信息,将服务请求报文发送至目标服务器;判断是否获取到与服务请求报文对应的服务响应报文;如果否,将目标服务器的标识信息转移到故障服务器信息表;根据故障服务器信息表中包含的各服务器的标识信息,周期性地向各服务器发送探查请求报文,在成功获取到第一服务器返回的探查响应报文时,将第一服务器的标识信息转移到正常服务器信息表。通过本发明实施例,不需要对所有的服务器发送探查请求报文,可以降低对网络资源的占用,提高服务器的服务性能。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种检测服务器运行状态的方法、装置和系统。
背景技术
远程过程调用在现在的分布式应用、云计算、微服务中广泛应用。如何保证远程过程调用的稳定性显得至关重要。其中,对服务器的运行状态进行及时检测是保证远程过程调用稳定性的前提条件。现有的方法中,主要可以通过心跳探查的方式对服务器运行状态进行检测。具体地,可以分为客户端主动探查服务器和服务器主动向客户端注册两种方式。
客户端主动探查服务器的方式是:由客户端周期性地向服务器发出探查请求,服务器正常工作时,将可以对接收到的探查请求进行回应;在服务器不能正常工作时,不能对接收到的探查请求进行回应。从而,客户端可以根据服务器是否回应来判断服务器的运行状态。
服务器主动向客户端注册的方式是:服务器周期性地向客户端发出注册请求,客户端根据服务器是否正常注册和连续正常注册的次数判断服务器的运行状态。
然而,上述两种方法都是周期性地由一端向另一端发出请求,这将占用过多的网络资源,影响正常的网络服务,从而降低服务器的服务性能。
发明内容
本发明实施例的目的在于提供一种检测服务器运行状态的方法、装置和系统,以降低网络资源的占用,提高服务器的服务性能。具体技术方案如下:
第一方面,本发明实施例提供了一种检测服务器运行状态的方法,应用于客户端,客户端本地保存有正常服务器信息表和故障服务器信息表;该正常服务器信息表中存储有当前处于正常状态的各服务器的标识信息,该故障服务器信息表中存储有当前处于异常状态的各服务器的标识信息;所述方法包括:
当存在待发送的服务请求报文时,从本地保存的正常服务器信息表中确定目标服务器的标识信息;
根据目标服务器的标识信息,将服务请求报文发送至目标服务器;
判断是否获取到与服务请求报文对应的服务响应报文;如果否,将目标服务器的标识信息转移到故障服务器信息表;
根据故障服务器信息表中包含的各服务器的标识信息,周期性地向各服务器发送探查请求报文,在成功获取到第一服务器返回的探查响应报文时,将第一服务器的标识信息转移到正常服务器信息表,其中,第一服务器为与故障服务器信息表中的任一服务器的标识信息对应的服务器。
可选的,从本地保存的正常服务器信息表中确定目标服务器的标识信息,包括:
根据正常服务器信息表,确定当前处于正常状态的各服务器的待处理服务请求报文数量;
选择待处理服务请求报文数量最小的服务器作为目标服务器,并确定目标服务器的标识信息。
第二方面,本发明实施例还提供了一种检测服务器运行状态的方法,应用于服务器,所述方法包括:
接收客户端发送的报文,并确定该报文为服务请求报文或者探查请求报文;
当该报文为服务请求报文时,对该报文进行处理,当完成对该报文的处理后,向客户端发送对应的服务响应报文;
当该报文为探查请求报文时,检测自身是否正常运行,如果是,向客户端返回探查响应报文。
可选的,确定报文为服务请求报文或者探查请求报文,包括:
根据报文中包括的服务名称和服务方法名称,确定该报文为服务请求报文或者探查请求报文。
可选的,检测自身是否正常运行包括:
检查自身各预定负载值是否达到对应的各预设阈值,且事件循环是否正常,其中,各预定负载值包括:CPU使用率、内存使用率、网络带宽占用率;
在各预定负载值均未达到对应的各预设阈值且事件循环正常时,确定自身正常运行。
可选的,探查响应报文中携带有各预定负载值及事件循环正常标识。
第三方面,本发明实施例还提供了一种检测服务器运行状态的装置,应用于客户端,客户端本地保存有正常服务器信息表和故障服务器信息表;该正常服务器信息表中存储有当前处于正常状态的各服务器的标识信息,该故障服务器信息表中存储有当前处于异常状态的各服务器的标识信息;所述装置包括:
目标服务器确定模块,用于当存在待发送的服务请求报文时,从本地保存的正常服务器信息表中确定目标服务器的标识信息;
发送模块,用于根据目标服务器的标识信息,将服务请求报文发送至目标服务器;
判断转移模块,用于判断是否获取到与服务请求报文对应的服务响应报文;如果否,将目标服务器的标识信息转移到故障服务器信息表;
探查模块,用于根据故障服务器信息表中包含的各服务器的标识信息,周期性地向各服务器发送探查请求报文,在成功获取到第一服务器返回的探查响应报文时,将第一服务器的标识信息转移到正常服务器信息表,其中,第一服务器为与故障服务器信息表中的任一服务器的标识信息对应的服务器。
可选的,目标服务器确定模块包括:
确定子模块,用于根据正常服务器信息表,确定当前处于正常状态的各服务器的待处理服务请求报文数量;
选择子模块,用于选择待处理服务请求报文数量最小的服务器作为目标服务器,并确定目标服务器的标识信息。
第四方面,本发明实施例还提供了一种检测服务器运行状态的装置,应用于服务器,所述装置包括:
接收确定模块,用于接收客户端发送的报文,并确定该报文为服务请求报文或者探查请求报文;
服务请求处理模块,用于当该报文为服务请求报文时,对该报文进行处理,当完成对该报文的处理后,向客户端发送对应的服务响应报文;
探查请求处理模块,用于当该报文为探查请求报文时,检测自身是否正常运行,如果是,向客户端返回探查响应报文。
可选的,接收确定模块,具体用于根据报文中包括的服务名称和服务方法名称,确定该报文为服务请求报文或者探查请求报文。
可选的,探查请求处理模块包括:
检测子模块,用于检查自身各预定负载值是否达到对应的各预设阈值,且事件循环是否正常,其中,各预定负载值包括:CPU使用率、内存使用率、网络带宽占用率;
确定子模块,用于在各预定负载值均未达到对应的各预设阈值且事件循环正常时,确定自身正常运行。
可选的,探查响应报文中携带有各预定负载值及事件循环正常标识。
第五方面,本发明实施例提供了一种检测服务器运行状态的系统,该系统包括:客户端和服务器;
客户端,用于执行第一方面提供的一种检测服务器运行状态的方法;
服务器,用于执行第二方面提供的一种检测服务器运行状态的方法。
本发明实施例提供的一种检测服务器运行状态的方法、装置和系统,通过在客户端保存正常服务器信息表和故障服务器信息表,在服务器处于异常状态时,将该服务器的标识信息转移到故障服务器信息表,并对故障服务器信息表中的服务器周期性的发送探查请求报文,在有服务器处于正常状态时,将该服务器的标识信息转移到正常服务器信息表,不需要客户端对所有的服务器周期性的发送探查请求报文,从而可以降低对网络资源的占用,提高服务器的服务性能;并且,通过及时将处于异常状态的服务器的标识信息转移到故障服务器信息表,将处于正常状态的服务器的标识信息转移到正常服务器信息表,能够及时处理服务器的异常,保证服务器对后续的服务请求报文的正常处理。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种检测服务器运行状态的方法的第一种实施方式的流程图;
图2为本发明实施例的一种检测服务器运行状态的方法应用于远程过程调用系统的示意图;
图3为本发明实施例的一种检测服务器运行状态的方法的第二种实施方式的流程图;
图4为本发明实施例的一种检测服务器运行状态的装置的第一种结构图;
图5为本发明实施例的一种检测服务器运行状态的装置的第二种结构图;
图6为本发明实施例的一种检测服务器运行状态的系统图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术的问题,本发明实施例提供了一种检测服务器运行状态的方法、装置和系统,以实现降低网络资源的占用,提高服务器的服务性能。
下面,首先对本发明实施例提供的一种检测服务器运行状态的方法进行介绍。如图1所示,为本发明实施例的一种检测服务器运行状态的方法的第一种实施方式的流程图,应用于客户端,客户端本地保存有正常服务器信息表和故障服务器信息表;该正常服务器信息表中存储有当前处于正常状态的各服务器的标识信息,该故障服务器信息表中存储有当前处于异常状态的各服务器的标识信息,该方法可以包括:
S101,当存在待发送的服务请求报文时,从本地保存的正常服务器信息表中确定目标服务器的标识信息;
在本发明实施例中,客户端可以在本地存储正常服务器信息表和故障服务器信息表。例如,在远程过程调用开始阶段,客户端可以通过服务注册中心,获取服务器集群中各服务器的标识信息,并将各服务器的标识信息保存在正常服务器信息表中。
具体地,服务注册中心可以首先获取服务器集群中各服务器的标识信息并注册到服务注册中心本地,客户端再从服务注册中心获取各服务器的标识信息。其中,服务注册中心可以为zookeeper服务注册中心或eureka服务注册中心。
通过从服务注册中心获取各服务器的标识信息,使得客户端获取到的服务器的标识信息都是正常服务器的标识信息,对应的服务器都是能够处理服务请求的。
在客户端存在待处理的服务时,首先,生成与该服务对应的服务请求报文,即待发送的服务请求报文,为了使该待处理的服务能够得到正确的处理,必须将该服务请求报文发送至对应的目标服务器,因此,在发送该服务器请求报文前,需要确定目标服务器的标识信息。
在确定目标服务器的标识信息时,是根据服务请求报文,选择与服务请求报文对应的服务器为目标服务器,从而确定目标服务器的标识信息。
具体地,在与该服务请求报文对应的目标服务器为多个时,客户端可以通过选择各负载值最小的且时间循环正常的服务器为目标服务器,还可以选择待处理服务请求报文数量最小的服务器为目标服务器,这都是可以的。
通过上述步骤,使得客户端在存在待发送的服务请求报文时,得到的服务器的标识信息都是能够对该服务请求报文进行处理的服务器的标识信息。
S102,根据目标服务器的标识信息,将服务请求报文发送至目标服务器;
具体地,在通过步骤S101得到目标服务器的标识信息后,客户端可以将该目标服务器的标识信息添加到服务请求报文中。即可以将该服务请求报文的目的地址设定为该目标服务器的地址,因此能够将该服务请求报文发送到目标服务器。
S103,判断是否获取到与服务请求报文对应的服务响应报文;如果否,将目标服务器的标识信息转移到故障服务器信息表;
在该步骤中,当目标服务器存在异常时,不能正确处理客户端发送的服务请求,也就不能向客户端发送服务响应报文,因此可以通过能否获取到与服务请求报文对应的服务响应报文判断目标服务器是否正常。其中,目标服务器的异常情况可以包括:各预定负载值大于对应的负载阈值、事件循环异常,还可以包括目标服务器存在机械故障等,这里对目标服务器的异常类型不作限定。
具体地,将目标服务器的标识信息转移到故障服务器信息表,可以包括:
从正常服务器信息表中删除该目标服务器的标识信息,并且将该目标服务器的标识信息添加到故障服务器信息表。
通过本步骤,及时将处于异常状态的服务器的标识信息转移到故障服务器信息表,能够防止后续服务请求报文获取该目标服务器的标识信息,向该目标服务器发送后续服务请求,防止服务请求报文丢失。
S104,根据故障服务器信息表中包含的各服务器的标识信息,周期性地向各服务器发送探查请求报文,在成功获取到第一服务器返回的探查响应报文时,将第一服务器的标识信息转移到正常服务器信息表,其中,第一服务器为与故障服务器信息表中的任一服务器的标识信息对应的服务器。
在故障服务器信息表中存在故障服务器的标识信息时,可以通过本步骤检测故障服务器信息表中是否有转换为正常状态的服务器。在该故障服务器信息表中存在处于正常状态的服务器时,及时将该正常状态的服务器的标识信息转移到正常服务器信息表中,使该正常状态的服务器及时对对应的服务请求进行处理。
需要说明的是,向各服务器发送探查请求报文的周期是在实际使用中进行设置的,可以根据经验进行设置,这里不对周期的长短进行限定。
本发明实施例提供的一种检测服务器运行状态的方法,通过在客户端保存正常服务器信息表和故障服务器信息表,在服务器处于异常状态时,将该服务器的标识信息转移到故障服务器信息表,并对故障服务器信息表中的服务器周期性的发送探查请求报文,在有服务器处于正常状态时,将该服务器的标识信息转移到正常服务器信息表,不需要客户端对所有的服务器周期性的发送探查请求报文,从而可以降低对网络资源的占用,提高服务器的服务性能;并且,通过及时将处于异常状态的服务器的标识信息转移到故障服务器信息表,将处于正常状态的服务器的标识信息转移到正常服务器信息表,能够及时处理服务器的异常,保证服务器对后续的服务请求正常处理。
为了更清楚的说明本发明实施例提供的一种检测服务器运行状态的方法,下面,以本发明实施例的一种检测服务器运行状态的方法应用于远程过程调用系统为例进行介绍。如图2所示,为本发明实施例的一种检测服务器运行状态的方法应用于远程过程调用系统的示意图,该系统可以包括:客户端201、服务注册中心202、第一服务器2031、第二服务器2032、第三服务器2033、第四服务器2034、第五服务器2035。
在t0时刻,服务注册中心202通过服务观察与发现进程获取上述5个服务器提供的服务,并将该5个服务器的标识信息注册到服务注册中心202。客户端201在服务注册中心202中获取该5个服务器的标识信息并存储在正常服务器信息表中。
在t1时刻,客户端201存在五个待发送的服务请求报文:第一服务请求报文、第二服务请求报文、第三服务请求报文、第四服务请求报文、第五服务请求报文,分别对应第一服务器2031、第二服务器2032、第三服务器2033、第四服务器2034、第五服务器2035。
客户端201从正常服务器信息表中获取五个服务器的标识信息,将第一服务请求报文发送至第一服务器2031、第二服务请求报文发送至第二服务器2032、第三服务请求报文发送至第三服务器2033、第四服务请求报文发送至第四服务器2034、第五服务请求报文发送至第五服务器2035。其中,标识信息可以包括服务器的IP地址、端口等。
在客户端201不能获取第三服务器2033发送的与第三服务请求报文对应的第三服务响应报文、第四服务器2034发送的与第四服务请求报文对应的第四服务响应报文、第五服务器2035发送的与第五服务请求报文对应的第五服务响应报文时,则认为第三服务器2033、第四服务器2034、第五服务器2035存在异常。因此,客户端201可以将第三服务器2033的标识信息、第四服务器2034的标识信息和第五服务器2035的标识信息转移到故障服务器信息表,防止后续有服务请求报文继续发送至第三服务器2033、第四服务器2034的标识信息和第五服务器2035。
在t2时刻,客户端201根据故障服务器信息表中第三服务器2033的标识信息、第四服务器2034的标识信息和第五服务器2035的标识信息,周期性的发送探查请求报文给第三服务器2033、第四服务器2034和第五服务器2035,探查是否有服务器能够正常工作。例如,客户端201发送探查请求报文给上述三个服务器后,第三服务器对客户端201发送的探查请求报文进行处理,并反馈了与该探查请求报文对应的探查响应报文。那么,客户端201认为第三服务器2033能够正常工作,则将第三服务器2033的标识信息转移到正常服务器信息表,防止客户端201继续发送探查请求报文给该第三服务器2033,同时,让该第三服务器2033及时接收其他服务请求报文,参与到对服务请求报文的处理中。
具体地,从本地保存的正常服务器信息表中确定目标服务器的标识信息,包括:
步骤1,根据正常服务器信息表,确定当前处于正常状态的各服务器的待处理服务请求报文数量;
具体地,客户端根据正常服务器信息表,发送查询请求至与该正常服务器信息表对应的各服务器,各服务器根据该查询请求计算自身待处理服务请求报文的数量,并反馈给该客户端。客户端根据各服务器反馈的自身待处理服务请求报文的数量确定当前处于正常状态的各服务器的待处理服务请求报文数量。
步骤2,选择待处理服务请求报文数量最小的服务器作为目标服务器,并确定目标服务器的标识信息。
假设,在t3时刻,客户端201存在一个待发送的服务请求报文,处于正常状态的服务器有第一服务器2031、第二服务器2032、第三服务器2033,并且该三个服务器都可以对该服务请求报文进行处理。则客户端201分别发送查询请求至该三个服务器,查询各服务器的待处理服务请求报文数量。第一服务器2031反馈的待处理服务请求报文为25个,第二服务器2032反馈的待处理服务请求报文为22个,第三服务器2033反馈的待处理服务请求报文为31个,则客户端201可以选择第二服务器2032为目标服务器,然后在正常服务器信息表中获取第二服务器2032的标识信息。
通过本步骤,选择待处理服务请求报文数量最小的服务器作为目标服务器,使得待发送的服务请求报文的等待时间最短,提高客户端的用户体验。
相应于上述的应用于客户端的一种检测服务器运行状态的方法,本发明实施例还提供了一种检测服务器运行状态的方法,应用于服务器。
首先,为了满足对客户端发送的不同类型的报文的处理,在每个服务器中都有两类进程,分别为对服务请求报文进行处理的服务请求处理进程和对探查请求报文进行处理的探查请求处理进程。
如图3所示,为本发明实施例的一种检测服务器运行状态的方法的第二种实施方式的流程图,所述方法可以包括:
S301,接收客户端发送的报文,并确定该报文为服务请求报文或者探查请求报文;
需要说明的是,对于服务器自身来说,并不知道自身的标识信息在客户端的哪个信息表中。并且,服务器可能接收到多种类型的报文。因此,需要在接收到客户端发送的报文时,首先对报文进行判断,确定报文的类型,并根据报文类型调用相应的处理进程。
需要说明的是,本发明实施例的报文是在远程过程调用时生成的报文,遵循RPC(Remote Procedure Call Protocol,远程过程调用协议),并且不同类型的报文具有不同的服务名称和服务方法名称,因此,在本发明实施例中,服务器确定报文为服务请求报文或者探查请求报文时,可以根据报文中包括的服务名称和服务方法名称,确定该报文为服务请求报文或者探查请求报文。
S302,当该报文为服务请求报文时,对该报文进行处理,当完成对该报文的处理后,向客户端发送对应的服务响应报文;
在本步骤中,服务器接收到服务请求报文,然后通过相应的进程进行处理。这里的处理可以包括增加、删除、修改、或者计算,这里不对处理的种类进行限定。并且对服务请求报文进行处理可以通过软件与硬件的进行处理。
S303,当该报文为探查请求报文时,检测自身是否正常运行,如果是,向该客户端返回探查响应报文。其中,探查响应报文中携带有各预定负载值及事件循环正常标识。
具体地,检测自身是否正常运行可以包括:检查自身各预定负载值是否达到对应的各预设阈值,且事件循环是否正常,其中,各预定负载值包括:CPU使用率、内存使用率、网络带宽占用率;在各预定负载值均未达到对应的各预设阈值且事件循环正常时,确定自身正常运行。
通过本发明实施例提供的一种检测服务器运行状态的方法,服务器能够返回与客户端发送的报文对应的响应报文,使得客户端能够及时对服务器的标识信息进行相应的转移。即将正常服务器信息表中处于异常状态的服务器的标识信息转移到故障服务器信息表,或者,将故障服务器信息表中处于正常状态的服务器的标识信息转移到正常服务器信息表。
相应于上述方法实施例,本发明实施例提供了一种检测服务器运行状态的装置,如图4所示,为本发明实施例的一种检测服务器运行状态的装置的第一种结构图,应用于客户端,该客户端本地保存有正常服务器信息表和故障服务器信息表;该正常服务器信息表中存储有当前处于正常状态的各服务器的标识信息,该故障服务器信息表中存储有当前处于异常状态的各服务器的标识信息;该装置可以包括:
目标服务器确定模块401,用于当存在待发送的服务请求报文时,从本地保存的正常服务器信息表中确定目标服务器的标识信息;
发送模块402,用于根据目标服务器的标识信息,将服务请求报文发送至目标服务器;
判断转移模块403,用于判断是否获取到与服务请求报文对应的服务响应报文;如果否,将目标服务器的标识信息转移到故障服务器信息表;
探查模块404,用于根据故障服务器信息表中包含的各服务器的标识信息,周期性地向各服务器发送探查请求报文,在成功获取到第一服务器返回的探查响应报文时,将第一服务器的标识信息转移到正常服务器信息表,其中,第一服务器为与故障服务器信息表中的任一服务器的标识信息对应的服务器。
本发明实施例提供的一种检测服务器运行状态的装置,通过在客户端保存正常服务器信息表和故障服务器信息表,在服务器处于异常状态时,将该服务器的标识信息转移到故障服务器信息表,并对故障服务器信息表中的服务器周期性的发送探查请求报文,在有服务器处于正常状态时,将该服务器的标识信息转移到正常服务器信息表,不需要客户端对所有的服务器周期性的发送探查请求报文,从而可以降低对网络资源的占用,提高服务器的服务性能;并且,通过及时将处于异常状态的服务器的标识信息转移到故障服务器信息表,将处于正常状态的服务器的标识信息转移到正常服务器信息表,能够及时处理服务器的异常,保证服务器对后续的服务请求报文的正常处理。
具体地,目标服务器确定模块401包括:
确定子模块,用于根据正常服务器信息表,确定当前处于正常状态的各服务器的待处理服务请求报文数量;
选择子模块,用于选择待处理服务请求报文数量最小的服务器作为目标服务器,并确定目标服务器的标识信息。
相应于上述方法实施例,本发明实施例提供了一种检测服务器运行状态的装置,如图5所示,为本发明实施例的一种检测服务器运行状态的装置的第二种结构图,应用于服务器,该装置可以包括:
接收确定模块501,用于接收客户端发送的报文,并确定该报文为服务请求报文或者探查请求报文;
服务请求处理模块502,用于当该报文为服务请求报文时,对该报文进行处理,当完成对该报文的处理后,向客户端发送对应的服务响应报文;
探查请求处理模块503,用于当该报文为探查请求报文时,检测自身是否正常运行,如果是,向客户端返回探查响应报文。
通过本发明实施例提供的一种检测服务器运行状态的装置,服务器能够返回与客户端发送的报文对应的响应报文,使得客户端能够及时对服务器的标识信息进行相应的转移。即将正常服务器信息表中处于异常状态的服务器的标识信息转移到故障服务器信息表,或者,将故障服务器信息表中处于正常状态的服务器的标识信息转移到正常服务器信息表。
具体地,接收确定模块501,具体用于根据报文中包括的服务名称和服务方法名称,确定该报文为服务请求报文或者探查请求报文。
具体地,探查请求处理模块503包括:
检测子模块,用于检查自身各预定负载值是否达到对应的各预设阈值,且事件循环是否正常,其中,各预定负载值包括:CPU使用率、内存使用率、网络带宽占用率;
确定子模块,用于在各预定负载值均未达到对应的各预设阈值且事件循环正常时,确定自身正常运行。
具体地,探查响应报文中携带有各预定负载值及事件循环正常标识。
如图6所示,为本发明实施例的一种检测服务器运行状态的系统图,该系统包括:
客户端601,用于执行如图1所示的检测服务器运行状态的方法,
服务器602,用于执行如图4所示的检测服务器运行状态的方法。
本发明实施例提供的一种检测服务器运行状态的系统,通过在客户端保存正常服务器信息表和故障服务器信息表,在服务器处于异常状态时,将该服务器的标识信息转移到故障服务器信息表,并对故障服务器信息表中的服务器周期性的发送探查请求报文,在有服务器处于正常状态时,将该服务器的标识信息转移到正常服务器信息表,不需要客户端对所有的服务器周期性的发送探查请求报文,从而可以降低对网络资源的占用,提高服务器的服务性能;并且,通过及时将处于异常状态的服务器的标识信息转移到故障服务器信息表,将处于正常状态的服务器的标识信息转移到正常服务器信息表,能够及时处理服务器的异常,保证服务器对后续的服务请求报文的正常处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台服务端设备(可以是计算机、服务器或者网络设备等)执行本发明各个实施例所述的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种检测服务器运行状态的方法,其特征在于,应用于客户端,所述客户端本地保存有正常服务器信息表和故障服务器信息表;所述正常服务器信息表中存储有当前处于正常状态的各服务器的标识信息,所述故障服务器信息表中存储有当前处于异常状态的各服务器的标识信息;所述方法包括:
当存在待发送的服务请求报文时,从本地保存的正常服务器信息表中确定目标服务器的标识信息;
根据所述目标服务器的标识信息,将所述服务请求报文发送至所述目标服务器;
判断是否获取到与所述服务请求报文对应的服务响应报文;如果否,将所述目标服务器的标识信息转移到所述故障服务器信息表;
根据所述故障服务器信息表中包含的各服务器的标识信息,周期性地向所述各服务器发送探查请求报文,在成功获取到第一服务器返回的探查响应报文时,将所述第一服务器的标识信息转移到所述正常服务器信息表,其中,所述第一服务器为与所述故障服务器信息表中的任一服务器的标识信息对应的服务器。
2.根据权利要求1所述的方法,其特征在于,所述从本地保存的正常服务器信息表中确定目标服务器的标识信息,包括:
根据所述正常服务器信息表,确定当前处于正常状态的各服务器的待处理服务请求报文数量;
选择待处理服务请求报文数量最小的服务器作为目标服务器,并确定所述目标服务器的标识信息。
3.一种检测服务器运行状态的装置,其特征在于,应用于客户端,所述客户端本地保存有正常服务器信息表和故障服务器信息表;所述正常服务器信息表中存储有当前处于正常状态的各服务器的标识信息,所述故障服务器信息表中存储有当前处于异常状态的各服务器的标识信息;所述装置包括:
目标服务器确定模块,用于当存在待发送的服务请求报文时,从本地保存的正常服务器信息表中确定目标服务器的标识信息;
发送模块,用于根据所述目标服务器的标识信息,将所述服务请求报文发送至所述目标服务器;
判断转移模块,用于判断是否获取到与所述服务请求报文对应的服务响应报文;如果否,将所述目标服务器的标识信息转移到所述故障服务器信息表;
探查模块,用于根据所述故障服务器信息表中包含的各服务器的标识信息,周期性地向所述各服务器发送探查请求报文,在成功获取到第一服务器返回的探查响应报文时,将所述第一服务器的标识信息转移到所述正常服务器信息表,其中,所述第一服务器为与所述故障服务器信息表中的任一服务器的标识信息对应的服务器。
4.根据权利要求3所述的装置,其特征在于,所述目标服务器确定模块包括:
确定子模块,用于根据所述正常服务器信息表,确定当前处于正常状态的各服务器的待处理服务请求报文数量;
选择子模块,用于选择待处理服务请求报文数量最小的服务器作为目标服务器,并确定所述目标服务器的标识信息。
5.一种检测服务器运行状态的系统,其特征在于,所述系统包括:客户端和服务器;所述客户端本地保存有正常服务器信息表和故障服务器信息表;所述正常服务器信息表中存储有当前处于正常状态的各服务器的标识信息,所述故障服务器信息表中存储有当前处于异常状态的各服务器的标识信息;
所述客户端,用于在存在待发送的服务请求报文时,从本地保存的正常服务器信息表中确定目标服务器的标识信息;并根据所述目标服务器的标识信息,将所述服务请求报文发送至所述目标服务器;
所述服务器,用于接收客户端发送的报文,并确定所述报文为服务请求报文或者探查请求报文;当所述报文为服务请求报文时,对所述报文进行处理,当完成对所述报文的处理后,向所述客户端发送对应的服务响应报文;当所述报文为探查请求报文时,检测自身是否正常运行,如果是,向所述客户端返回探查响应报文;
所述客户端,还用于判断是否获取到与所述服务请求报文对应的服务响应报文;如果否,将所述目标服务器的标识信息转移到所述故障服务器信息表;并根据所述故障服务器信息表中包含的各服务器的标识信息,周期性地向所述各服务器发送探查请求报文,在成功获取到第一服务器返回的探查响应报文时,将所述第一服务器的标识信息转移到所述正常服务器信息表,其中,所述第一服务器为与所述故障服务器信息表中的任一服务器的标识信息对应的服务器。
6.根据权利要求5所述的系统,其特征在于,
所述客户端,还用于在存在待发送的服务请求报文时,根据所述正常服务器信息表,确定当前处于正常状态的各服务器的待处理服务请求报文数量;选择待处理服务请求报文数量最小的服务器作为目标服务器,并确定所述目标服务器的标识信息。
7.根据权利要求5所述的系统,其特征在于,
所述服务器,还用于根据所述报文中包括的服务名称和服务方法名称,确定所述报文为服务请求报文或者探查请求报文。
8.根据权利要求5所述的系统,其特征在于,
所述服务器,还用于检查自身各预定负载值是否达到对应的各预设阈值,且事件循环是否正常,其中,所述各预定负载值包括:CPU使用率、内存使用率、网络带宽占用率;在所述各预定负载值均未达到对应的各预设阈值且事件循环正常时,确定自身正常运行。
9.根据权利要求5所述的系统,其特征在于,所述探查响应报文中携带有各预定负载值及事件循环正常标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710210631.XA CN107171885B (zh) | 2017-03-31 | 2017-03-31 | 一种检测服务器运行状态的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710210631.XA CN107171885B (zh) | 2017-03-31 | 2017-03-31 | 一种检测服务器运行状态的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107171885A CN107171885A (zh) | 2017-09-15 |
CN107171885B true CN107171885B (zh) | 2019-11-15 |
Family
ID=59849843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710210631.XA Active CN107171885B (zh) | 2017-03-31 | 2017-03-31 | 一种检测服务器运行状态的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107171885B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108429772A (zh) * | 2018-06-19 | 2018-08-21 | 网宿科技股份有限公司 | 一种针对HTTP Flood攻击的防护方法及装置 |
CN109302469A (zh) * | 2018-09-26 | 2019-02-01 | 平安科技(深圳)有限公司 | 微服务管理方法、装置、计算机设备以及存储介质 |
CN109639755B (zh) * | 2018-10-23 | 2022-04-12 | 平安科技(深圳)有限公司 | 关联系统服务器解耦方法、装置、介质及电子设备 |
CN109698774A (zh) * | 2019-02-20 | 2019-04-30 | 北京百度网讯科技有限公司 | 用于监测设备工作状态的方法及装置 |
CN109981459B (zh) * | 2019-02-28 | 2021-02-19 | 联想(北京)有限公司 | 一种信息发送方法、客户端和计算机可读存储介质 |
CN110535685B (zh) * | 2019-07-25 | 2023-01-13 | 北京奇艺世纪科技有限公司 | 一种故障确定方法、装置及计算机可读存储介质 |
CN110445650B (zh) * | 2019-08-07 | 2022-06-10 | 中国联合网络通信集团有限公司 | 检测报警方法、设备及服务器 |
CN110618889A (zh) * | 2019-08-14 | 2019-12-27 | 网联清算有限公司 | 服务可用性的探测方法、装置、计算机设备和存储介质 |
CN110620702B (zh) * | 2019-09-19 | 2021-06-01 | 聚好看科技股份有限公司 | 服务器的压力检测方法、装置及系统 |
CN112994934B (zh) * | 2021-02-07 | 2023-02-10 | 杭州迪普科技股份有限公司 | 数据交互方法、装置及系统 |
CN115348234B (zh) * | 2022-08-10 | 2023-11-03 | 山石网科通信技术股份有限公司 | 服务器检测方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101888379A (zh) * | 2010-06-28 | 2010-11-17 | 中兴通讯股份有限公司 | 网络电视多代理服务器动态链接的方法和网络电视系统 |
CN102316160A (zh) * | 2011-06-14 | 2012-01-11 | 贵阳朗玛信息技术股份有限公司 | 网站系统及其通信方法 |
CN102546633A (zh) * | 2012-01-10 | 2012-07-04 | 中兴通讯股份有限公司 | Web认证服务器的选择方法及装置 |
CN103036719A (zh) * | 2012-12-12 | 2013-04-10 | 北京星网锐捷网络技术有限公司 | 一种基于主备集群服务器的跨地区服务容灾方法及装置 |
CN103475696A (zh) * | 2013-08-23 | 2013-12-25 | 汉柏科技有限公司 | 云计算集群服务器状态监控系统和方法 |
CN103618647A (zh) * | 2013-12-02 | 2014-03-05 | 江苏荣讯科技实业有限公司 | 一种通过通讯终端实时监控平台运行情况的方法 |
CN104320492A (zh) * | 2014-11-11 | 2015-01-28 | 北京国双科技有限公司 | 网站服务器调度方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4578212B2 (ja) * | 2004-11-24 | 2010-11-10 | 中国電力株式会社 | 不具合発生時の臨時出動要請方法 |
US20150215158A1 (en) * | 2014-01-28 | 2015-07-30 | Qualcomm Incorporated | Discriminating or prioritizing users during failover in a voip system |
-
2017
- 2017-03-31 CN CN201710210631.XA patent/CN107171885B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101888379A (zh) * | 2010-06-28 | 2010-11-17 | 中兴通讯股份有限公司 | 网络电视多代理服务器动态链接的方法和网络电视系统 |
CN102316160A (zh) * | 2011-06-14 | 2012-01-11 | 贵阳朗玛信息技术股份有限公司 | 网站系统及其通信方法 |
CN102546633A (zh) * | 2012-01-10 | 2012-07-04 | 中兴通讯股份有限公司 | Web认证服务器的选择方法及装置 |
CN103036719A (zh) * | 2012-12-12 | 2013-04-10 | 北京星网锐捷网络技术有限公司 | 一种基于主备集群服务器的跨地区服务容灾方法及装置 |
CN103475696A (zh) * | 2013-08-23 | 2013-12-25 | 汉柏科技有限公司 | 云计算集群服务器状态监控系统和方法 |
CN103618647A (zh) * | 2013-12-02 | 2014-03-05 | 江苏荣讯科技实业有限公司 | 一种通过通讯终端实时监控平台运行情况的方法 |
CN104320492A (zh) * | 2014-11-11 | 2015-01-28 | 北京国双科技有限公司 | 网站服务器调度方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107171885A (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107171885B (zh) | 一种检测服务器运行状态的方法、装置和系统 | |
CN108418884A (zh) | 一种传输业务数据的方法、装置及电子设备 | |
CN109889547A (zh) | 一种异常网络设备的检测方法及装置 | |
EP2661052B1 (en) | Method, system, server and terminal for processing a message | |
CN1894895B (zh) | 对外部前缀的转发问题的检测 | |
CN106453136B (zh) | 建立消息队列的方法和装置 | |
US20050237948A1 (en) | Network topology configuring method and node | |
CN110012083B (zh) | 一种数据传输方法、服务器及数据传输装置 | |
CN111176873B (zh) | 一种微服务自动下线方法、装置、计算机设备及存储介质 | |
CN101809966A (zh) | 建立和管理diameter关联的方法和设备 | |
CN101296176B (zh) | 一种基于群集的数据处理方法和装置 | |
US9413851B2 (en) | Information processing system, information processing device, client terminal, and computer readable medium | |
US20160127281A1 (en) | Enhanced Video Instant Messaging Processing | |
CN109379445A (zh) | 一种推送消息的发送方法及装置 | |
CN109600261A (zh) | 网络修复方法、云端服务器、用户终端及网络修复系统 | |
EP3223459A1 (en) | Method and device for detecting connectivity | |
CN111884875A (zh) | 一种离线设备确定方法及装置 | |
US9037655B2 (en) | Maintaining instant messaging conversations when a recipient is not at their primary workstation | |
CN107613023B (zh) | 设备连接方法及装置 | |
CN110191131A (zh) | 一种文件共享方法、装置、系统、服务器及存储介质 | |
CN114401258A (zh) | 短信发送方法、装置、电子装置和存储介质 | |
CN108366102A (zh) | 一种基于Consul的服务发现方法、装置及电子设备 | |
CN109698774A (zh) | 用于监测设备工作状态的方法及装置 | |
CN113839859B (zh) | 一种报文通告的方法以及相关装置 | |
EP3424182B1 (en) | Neighbor monitoring in a hyperscaled environment |
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 |