一种服务器的检测方法和装置与流程

文档序号:11949904阅读:232来源:国知局
一种服务器的检测方法和装置与流程

本发明涉及计算机技术领域,特别是涉及一种服务器的检测方法和一种服务器的检测装置。



背景技术:

随着通信技术的发展,尤其是随着移动互联网的推广,众多服务平台通向用户发送信息,以提供多样化的服务。为了提高服务质量,技术人员需要对服务器进行性能检测,以验证服务器的可靠性和稳定性。

目前,服务器可以主动向客户端推送消息,需要验证该服务器所推送的消息实际上是否成功传输给与该服务器连接的所有客户端,即验证服务器的可靠性,以保证服务器稳定运行。

但是,现有的主要是基于服务器器被动向客户端发送消息进行测试,但不适用于服务器主动向客户端推送消息的场景。例如,使用压力测试工具与服务器逐步建立相应的最大传输控制协议(Transmission Control Protocol,TCP)连接,模拟客户端和服务器之间的事务(Transaction),在不拆除已经建立的连接的情况下,检测出服务器所能达到最大并发连接数。其中,客户端与服务器之间的TCP连接是通过客户端主动向服务器发送请求消息(如SYN包)建立的。显然,这种服务器测试方案仅可以检测出服务器的并发连接容量,并不能验证服务器所推送的消息是否成功推送与该服务器连接的所有客户端。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种服务器的检测方法和相应的一种服务器的检测装置,以验证服务器所推送的消息是否成功推送与该服务器连接的所有客户端,从而保证服务器稳定运行。

为了解决上述问题,本发明实施例公开了一种服务器的检测方法,包括:预先建立服务器与各客户端之间的长连接;

检测所述长连接对应的目标端口,确定对应的端口数量;

通过所述目标端口向所述客户端推送特征消息;

依据对所述目标端口的检测确定成功接收所述特征消息的客户端数量;

依据所述端口数量和所述客户端数量判断所述服务器的稳定性,生成对应的检测结果。

可选的,建立服务器与各客户端之间的长连接,包括:

通过执行命令,启动本地的目标端口服务;

基于所述目标端口服务,按照输入的并发数量创建所述服务器与客户端之间的长连接,其中,所述长连接具有一一对应的目标端口。

可选的,检测所述长连接对应的目标端口,确定对应的端口数量,包括:

统计所述服务器提供的目标端口的第一总数,将所述第一总数作为所述端口数量;或,

检测各客户端是否具有所述目标端口,并统计具有所述目标端口的客户端对应的第二总数,将所述第二总数作为所述端口数量。

可选的,依据对所述目标端口的检测确定成功接收所述特征消息的客户端数量,包括:

检测各目标端口接收到的消息的数据格式与预设的目标数据格式匹配;

当所述数据格式与预设的目标数据格式匹配时,确定对应的客户端成功接收所述特征消息;

对成功接收所述特征消息的客户端进行统计,确定所述客户端数量。

可选的,所述依据所述端口数量和所述客户端数量判断所述服务器的稳定性,包括:

计算所述客户端数与所述端口数的商,确定服务器的推送成功率;

判断所述推送成功率是否达到预设的目标推送率;

在所述推送成功率达到目标推送率时,判定所述服务器运行稳定;以及在推送成功率达到目标推送率时,判定所述服务器运行不稳定。

可选的,还包括:在所述数据格式与预设的目标数据格式不匹配时,确定对应的客户端接收所述特征消息失败;对接收所述特征消息失败的客户端进行统计,确定推送失败数量;

其中,所述依据所述端口数量和所述客户端数量判断所述服务器的稳定性,包括:验证所述推送失败数量与所述客户端数量的和是否达到所述端口数量;若所述推送失败数量与所述客户端数量的和未达到所述端口数量,则确定所述特征消息对应的丢失数量,并判定所述服务器运行不稳定。

可选的,还包括:判断所述端口数量是否达到所述并发数量;在所述端口数量达到所述并发数量时,生成所述服务器连接成功的检测结果;或者,在所述端口数量未达到所述并发数量时,生成所述服务器连接失败的检测结果。

可选的,还包括:采用所述并发数量与输入的每秒并发数量,确定对应的并发时间;

其中,在所述端口数量未达到所述并发数量时,生成所述服务器连接失败的检测结果,包括:在所述端口数量未达到所述并发数量时,判断当前时间是否在所述并发时间范围内;若当前时间在所述并发时间范围内,则继续执行创建所述服务器与客户端之间的长连接的步骤;否则,执行生成所述服务器连接失败的检测结果的步骤。

可选的,在创建所述服务器与客户端之间的长连接之后,还包括:记录所述长连接对应的创建次数;

其中,在所述端口数量未达到所述并发数量时,生成所述服务器连接失败的检测结果,包括:在所述端口数量未达到所述并发数量时,判断所述创建次数是否达到预置的次数阈值;当创建次数未到达次数阈值时,继续执行创建所述服务器与客户端之间的长连接的步骤;当创建次数量达到所述次数阈值时,执行生成所述服务器连接失败的检测结果的步骤。

本发明实施例还公开了一种服务器的检测装置,包括:

连接建立模块,用于预先建立服务器与各客户端之间的长连接;

端口数量确定模块,用于检测所述长连接对应的目标端口,确定对应的端口数量;

消息推送模块,用于通过所述目标端口向所述客户端推送特征消息;

客户端数量确定模块,依据对所述目标端口的检测确定成功接收所述特征消息的客户端数量;

稳定性判断模块,用于依据所述端口数量和所述客户端数量判断所述服务器的稳定性,生成对应的检测结果。

可选的,所述连接建立模块,包括:

端口服务启动子模块,用于通过执行命令,启动本地的目标端口服务;

连接创建子模块,用于基于所述目标端口服务,按照输入的并发数量创建所述服务器与客户端之间的长连接,其中,所述长连接具有一一对应的目标端口。

可选的,所述端口数量确定模块,具体用于统计所述服务器提供的目标端口的第一总数,将所述第一总数作为所述端口数量;或者,检测各客户端是否具有所述目标端口,并统计具有所述目标端口的客户端对应的第二总数,将所述第二总数作为所述端口数量。

可选的,所述客户端数量确定模块,包括:

数据格式匹配子模块,用于检测各目标端口接收到的消息的数据格式与预设的目标数据格式匹配;

第一确定子模块,用于当所述数据格式与预设的目标数据格式匹配时,确定对应的客户端成功接收所述特征消息;

第一统计子模块,用于对成功接收所述特征消息的客户端进行统计,确定所述客户端数量。

可选的,所述稳定性判断模块,包括:

计算子模块,用于计算所述客户端数与所述端口数的商,确定服务器的推送成功率;

判断子模,用于判断所述推送成功率是否达到预设的目标推送率;并在所述推送成功率达到目标推送率时,判定所述服务器运行稳定;以及在推送成功率达到目标推送率时,判定所述服务器运行不稳定。

可选的,还包括:

推送失败确定模块,用于在所述数据格式与预设的目标数据格式不匹配时,确定对应的客户端接收所述特征消息失败;

推送失败数量确定模块,对接收所述特征消息失败的客户端进行统计,确定推送失败数量;

其中,所述稳定性判断模块,包括:

验证子模块,用于验证所述推送失败数量与所述客户端数量的和是否达到所述端口数量;

丢失确定子模,用于在所述推送失败数量与所述客户端数量的和未达到所述端口数量时,确定所述特征消息对应的丢失数量,并判定所述服务器运行不稳定。

可选的,还包括:

并发判断模块,用于判断所述端口数是否达到所述并发数量;

连接检测结果生成模块,用于在所述端口数达到所述并发数量时,生成所述服务器连接成功的检测结果;或者,在所述端口数未达到所述并发数量时,生成所述服务器连接失败的检测结果。

可选的,还包括:

并发时间确定模块,用于采用所述并发数量与输入的每秒并发数量,确定对应的并发时间;

时间判模块,用于在所述端口数未达到所述并发数量时,判断当前时间是否在所述并发时间范围内;若当前时间在所述并发时间范围内,则触发所述连接建立模块继续执行创建所述服务器与客户端之间的长连接的步骤;否则,触发所述连接检测结果生成模块执行生成所述服务器连接失败的检测结果的步骤。

可选的,还包括:

创建次数记录模块,用于记录所述长连接对应的创建次数;

创建次数判断模块,用于在所述端口数未达到所述并发数量时,判断所述创建次数是否达到预置的次数阈值;当创建次数未到达次数阈值时,触发所述连接建立模块继续执行创建所述服务器与客户端之间的长连接的步骤;当创建次数达到所述次数阈值时,触发所述连接检测结果生成模块执行生成所述服务器连接失败的检测结果的步骤。

本发明实施例包括以下优点:

首先,本发明实施例通过对长连接对应的目标端口进行检测,确定服务器实际与客户端建立长连接对应的端口数量,以及成功接收该服务器所推送的特征消息对应的客户端数量,从而可以依据该端口数量和客户端数量分析服务器的稳定性,如通过判断该客户端数量是否达到端口数量来验证服务器所推送的消息是否成功推送与该服务器连接的所有客户端,从而解决现有的服务器测试方案中无法验证服务器所推送的消息是否成功推送与该服务器连接的所有客户端的问题。

其次,本发明实施可以依据端口数量和客户端数量分析服务器的稳定性,并生成对应的检测结果,从而满足服务器的测试需求,使得技术人员可以基于检测结果确定该服务器的运行情况,以便于技术人员对该服务器进行优化处理,保证服务器稳定运行,进而可以提高服务器的稳定性和可靠性。

附图说明

图1是本发明的一种服务器的检测方法实施例的步骤流程图;

图2是本发明的另一种服务器的检测方法实施例的步骤流程图;

图3是本发明的一种服务器的检测装置实施例的结构框图;

图4是本发明的另一种服务器的检测装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

本发明实施例的核心构思之一在于,通过对长连接对应的目标端口进行检测,确定服务器实际与客户端建立长连接对应的端口数量,以及成功接收该服务器所推送的特征消息对应的客户端数量,从而可以依据该端口数量和客户端数量分析服务器的稳定性,如通过判断该客户端数量是否达到端口数量来验证服务器所推送的消息是否成功推送与该服务器连接的所有客户端,从而解决现有的服务器测试方案中无法验证服务器所推送的消息是否成功推送与该服务器连接的所有客户端的问题。

参照图1,示出了本发明的一种服务器的检测方法实施例的步骤流程图,具体可以包括如下步骤:

步骤102,预先建立服务器与各客户端之间的长连接。

具体的,服务器若要主动向客户端推送消息,则需要预先与客户端建立长连接。例如,测试平台可以通过命令执行方式启动本地的目标端口服务,从而可以基于该目标端口服务创建服务器和与客户端之间的长连接。在建立长连接后,服务器在有消息需要发送客户端时,可以通过该长连接的链路将消息发送给客户端,从而可以避免用短连接频繁通信所造成的套接字(Socket)问题,同时可以避免由于频繁的Socket创建导致资源浪费的问题。

需要说明的是,长连接可以是指在一个连接上可以连续发送多个数据包,如服务器与客户端之间建立并维持一个TCP连接,在基于此TCP链接上可以传输各种实际的业务。

步骤104,检测所述长连接对应的目标端口,确定对应的端口数量。

每一台客户端与服务器建立长连接后,服务器可以向该客户端提供该长连接对应的目标端口,以便可以基于该目标端口进行数据传输。因此,本实施例在服务器与客户端建立长连接后,可以通过对长连接对应的目标端口进行检测,确定创建的目标端口的数量,即确定目标端口对应的端口数量。其中,该端口数量可以用于表征服务器实际与客户端建立长连接对应的连接数量,以及可以用于表征实际与服务器建立长连接的客户端对应的数量。

步骤106,通过所述目标端口向所述客户端推送特征消息。

在与客户端建立长连接后,服务器可以通过目标端口向客户端推送消息,如通过目标端口主动向与其连接的所有客户端推送特征消息,该特征消息可以包括服务器所需要推送的信息。

步骤108,依据对所述目标端口的检测确定成功接收所述特征消息的客户端数量。

本发明实施例在服务器向客户端推送特征消息后,可以通过对每个目标端口所接收的消息进行检测,确定该目标端口对应的客户端是否可以成功接收到服务器所推送的特征消息。例如,通过验证目标端口所接收的消息是否为所推送的特征消息,从而可以在目标端口所接收到的消息为特征消息时,确定对应的客户端可以接收到服务器所推送的消息,即服务器成功向该目标端口对应的客户端推送消息;当目标端口所接收到的消息不是特征消息时,可以确定对应的客户端接收该特征消息失败,即服务器向该目标端口对应的客户端推送消息失败。针对成功接收到特征消息的客户端进行计数,从而可以确定实际上接收到特征消息的客户端对应的客户端数量。

步骤110,依据所述端口数量和所述客户端数量判断所述服务器的稳定性,生成对应的检测结果。

本实施例可以基于服务器实际所建立的长连接对应的端口数量和分析该服务器的稳定性,并生成对应的检测结果。其中,该检测结果可以包括服务器各性能指标对应的参数信息,具体可以包括:端口数量、客户端数量、目标端口名,如端口8000等。例如,当成功接收推荐消息对应的客户端数量达到实际所建立的长连接对应的端口数量时,可以确定服务器可以成功向与其所连接的所有客户端推送消息,进而可以确定该服务器稳定运行;或者,采用客户端数量和端口数量计算服务器的推送成功率,如计算客户端数与所述端口数的商,以及将计算得到的商作为服务器的推送成功率;判断该推送成功率是否达到预设的目标推送率,从而在推送成功率达到预设的目标推送率时,可以判定该服务器稳定运行;在推送成功率未达到预设的目标推送率,可以判定所述服务器运行不稳定。该目标推送率可以根据服务器的产品性能要求确定,本发明实施例对此不作具体限制。

本发明实施例可以对通过长连接对应的目标端口进行检测,确定服务器实际与客户端建立长连接对应的端口数量,以及成功接收该服务器所推送的特征消息对应的客户端数量,并依据该端口数量和客户端数量分析服务器的稳定性,如通过判断该客户端数量是否达到端口数量,可以确定服务器是否可以成功向与其所连接的所有客户端推送消息,即验证服务器所推送的消息是否成功推送与该服务器连接的所有客户端,解决了现有的测试现有的服务器测试方案中无法验证服务器所推送的消息是否成功推送与该服务器连接的所有客户端的问题。

此外,本发明实施依据端口数量和客户端数量分析服务器的稳定性,并生成对应的检测结果,从而满足服务器的测试需求,使得技术人员可以基于检测结果确定该服务器的运行情况,以便于技术人员对该服务器进行优化处理,保证服务器稳定运行,进而可以提高服务器的稳定性和可靠性。

参照图2,示出了本发明的另一种服务器的检测方法实施例的步骤流程图,具体可以包括如下步骤:

步骤202,通过执行命令,启动本地的目标端口服务。

作为本发明的一具体示例,诸如测试平台可以通过命令执行的方式,启动本地的目标端口服务,以基于该目标端口服务创建服务器与客户端之间长连接。例如,测试平台在检测到用户下发的命令时,执行该命令,从而启动本地的8000端口服务,以通过8000端口服务建立长连接,即触发建立长连接的程序。其中,8000为端口号,可以用于标识长连接对应的端口服务。

步骤204,基于所述目标端口服务,按照输入的并发数量创建所述服务器与客户端之间的长连接。

本发明实施例中,测试平台在启动本地的目标端口服务后,可以按照用户输入的并发数量或者预先设置的并发数量创建服务器与客户端之间的长连接。其中,每个客户端与服务器之间所建立的长连接具有一一对应的目标端口;并发数量可以用于表示服务器与客户端建立长连接对应的并发总数。

在本发明实施的一具体应用中,测试项目主要是以实时推送消息、任务为主,在控制中心上管理员需要在当前收集客户端的实时数据,需要客户端马上响应。在验证服务器的推送(gopush)服务的性能和稳定性时,诸如“蝗虫”(Locustio)等测试平台可以通过如Python等计算机程序设计语言编写客户端(Client)程序,如通过编写Websocket_client.py程序实现对推送服务器gopush_server的长连接,以及通过发送心跳包以确保链接的有效性。其中,长连接的创建程序Webscoket_client.py可以通过加载按照Websocket协议所提供的第三方类库,从而可以调用第三方类库的Websocket.Create_connection方法实例化ws,使得客户端在与服务器(Server)建立长连接后可以通过While(true)来等待上游的推送消息,并可以用result=ws.recv()接收推送消息。需要说明的是,Locust是一个简单易用的分布式负载测试工具,主要用来对网站进行负载压力测试;Locust可以使用Python编写模拟用户行为的代码,从而可以避免配置繁琐的问题,且分布式可扩展,可以支持上百万用户。

具体而言,测试平台可以通过命令行方式启动本地的8000端口服务,如在运行(Run)的时候,执行运行命令以启动本地的8000端口服务,以通过8000端口服务调用长连接的创建程序Webscoket_client.py;并在浏览器中输入模拟客户端压力机器所在的互联网协议(Internet Protocol,IP)地址如统一资源定位符(Uniform Resource Locator,URL):8089,以及需要建立长连接对应的并发总数和每秒并发数,从而可以按照输入的并发总数和每秒并发数进行并发测试,即实例化Webscoket_client.py程序,实现了高并发地创建服务器与客户端之间的长连接。例如,若需要测试服务器与1万台客户端建立长连接,则用户可以在测试平台输入并发数量为1万和每秒并发数量为1000,从而使得测试平台按照每秒并发数量1000的创建速度建立1万条长连接,即该服务器与10000台客户端建立长连接。

步骤206,检测所述长连接对应的目标端口,确定对应的端口数量。

在本发明的一个优选实施例中,检测所述长连接对应的目标端口,确定对应的端口数量,包括:统计所述服务器提供的目标端口的第一总数,将所述第一总数作为所述端口数量;或者,检测各客户端是否具有所述目标端口,并统计具有所述目标端口的客户端对应的第二总数,将所述第二总数作为所述端口数量。

具体而言,测试平台可以通过统计服务器所提供的目标端口的总数,确定该服务器实际建立的长连接对应的端口总数;也可以通过对每一台客户端进行端口检测,以检测每一台客户端是否具有目标端口,并在检测到某一台客户端具有该目标端口时进行计数,从而可以统计出具有该目标端口的客户端对应的客户端总数,将该客户端总数作为服务器实际建立的长连接对应的端口总数。例如,结合上述例子,若检测到服务器提供了9999个8000服务端口,则可以确定该服务器与9999台客户端建立了长连接。

因此,本发明实施还可以通过判断该端口数量是否达到需要建立的并发数量,来确定服务器实际建立长连接的情况。可选的,该服务器的检测方法还包括:判断所述端口数量是否达到所述并发数量,从而在所述端口数量达到所述并发数量时,如在成功建立服务器与所需要连接的所有客户端之间的长连接后,生成服务器连接成功的检测结果;以及,在所述端口数量未达到所述并发数量时,如在服务器与所需要连接的客户端之间的长连接存在失败时,生成所述服务器连接失败的检测结果。

可选的,本发明实施例还可以采用该并发数量与输入的每秒并发数量,确定对应的并发时间;从而在端口数量未达到所述并发数量时,可以判断当前时间是否在所述并发时间范围内,若当前时间在所述并发时间范围内,则继续执行创建所述服务器与客户端之间的长连接的步骤,即跳转回步骤204执行;否则,执行生成所述服务器连接失败的检测结果的步骤。本实施例通过并发数量与输入的每秒并发数量确定允许服务器创建长连接对应的并发时间,即可以对服务器的并发性能进行检测,从而提高检测的准确性,保证服务器稳定性和可靠性。

在本发明的一个优选实施例中,还可以在创建所述服务器与客户端之间的长连接之后,记录当前服务器建立长连接对应的创建次数;从而端口数量未达到所述并发数量时,可以判断当前的创建次数是否达到预置的次数阈值;进而可以在创建次数未到达次数阈值时,继续执行创建所述服务器与客户端之间的长连接的步骤,即跳转回步骤204执行;以及,在创建次数量达到次数阈值时,执行生成该服务器连接失败的检测结果的步骤。本实施例通过预先设置的次数阈值,从而可以限制服务器创建长连接的次数,避免不断执行创建长连接的步骤而导致检测时间长的问题,从而提高了检测效率。

步骤208,在向客户端推送特征消息后,依据对所述目标端口的检测确定成功接收所述特征消息的客户端数量。

可选的,本发明实施例在服务器向客户端推送特征消息后,可以通过检测目标端口所接收到的消息的数据格式是否与特征消息的数据格式匹配,来确定对应的客户端是否接收到服务器所推送的特征消息。

在本发明的一个优选实施例中,依据对所述目标端口的检测确定成功接收所述特征消息的客户端数量,具体可以包括:检测各目标端口接收到的消息的数据格式与预设的目标数据格式匹配;当目标端口接收到的消息的数据格式与预设的目标数据格式匹配时,可以确定对应的客户端成功接收到特征消息,进而可以通过对成功接收该特征消息的客户端进行统计,确定客户端数量;当目标端口接收到的消息的数据格式与预设的目标数据格式不匹配时,可以确定对应的客户端接收所述特征消息失败,进而可以通过对接收该特征消息失败的客户端进行统计,确定推送失败数量。

例如,若预先设置服务器向客户端推送的消息的数据格式都是一种轻量级的数据交换格式,如JavaScript对象表示法(JavaScript Object Notation,JSON)数据格式,则测试平台可以通过检测目标端口所接收到的消息是否为JSON串,确定该目标端口对应的客户端是否能接收到服务器所推送的特征消息。当检测到某一台客户端对应的目标端口所接收到的消息为JSON串时,可以基于该客户端生成一个接收推送成功对应的标识,如标识PASS;当检测到某一台客户端对应的目标端口所接收到的消息不是JSON串或为空时,可以基于该客户端生成一个接收推送失败对应的标识,如标识False,进而可以通过统计标识PASS的数量确定成功接收特征消息对应的客户端数量,通过统计标识False的数量确定接收该推送的特征消息失败的客户端对应的数量,即确定推送失败数量。

步骤210,依据所述端口数量和所述客户端数量判断所述服务器的稳定性,生成对应的检测结果。

本发明实施例可以采用端口数量确定服务器实际建立的长连接的数量,从而可以确定出该服务器推送特征消息时需要同时将该特征消息发送给多少台客户端,即确定的端口数量;并且可以采用推送后所检测到客户端数量确定多少台客户端成功接收到推送的特征消息,以及采用检测到的推送失败数量确定多少台客户端接收该特征消息失败,进而可以采用这些检测数据分析服务器的稳定性,并生成对应的检测结果。该检测结果所记录的数据可以包括端口数量、客户端数量、推送失败数量、推送成功率、推送失败率、并发数量、并发时间、每秒并发数量等其中任意一种或几种参数信息,本发明实施例对此不作限制。

在本发明的一个优选实施例中,依据所述端口数量和所述客户端数量判断所述服务器的稳定性,可以包括:验证所述推送失败数量与所述客户端数量的和是否达到所述端口数量;若所述推送失败数量与所述客户端数量的和未达到所述端口数量,则确定所述特征消息对应的丢失数量,并判定所述服务器运行不稳定。

具体的,本发明实施例可以通过计算推送失败数量与所述客户端数量的和,来判断服务器所推送的消息是否存在丢失;当推送失败数量与所述客户端数量的和小于端口数量时,可以确定该服务器推送的特征消息存在丢失现象,采用端口数量减去推送失败数量与所述客户端数量的和,可以得到该特征消息丢失对应的数量,即确定所述特征消息对应的丢失数量,并且可以确定该服务器运行不稳定,需要对其进行优化,以提高该服务器的稳定性和可靠性,避免数量丢失的问题。当推送失败数量与所述客户端数量的和等于端口数量,可以该服务器推送的特征消息没有丢失,进而可以通过推送成功率来确定该服务器的稳定性,如在推送成功率达到目标推送率时确定该服务器稳定运行。

本申请实施例在对服务器的稳定性进行分析后,生成了对应的检测结果,以方便技术人员基于该检测结果分析影响该服务器稳定运行的因素,从而可以方便技术人员针对该服务器进行优化,提高服务器的优化效率,保证服务器稳定运行。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图3,示出了本发明的一种服务器的检测装置实施例的结构框图,具体可以包括如下模块:

连接建立模块302,用于预先建立服务器与各客户端之间的长连接;

端口数量确定模块304,用于检测所述长连接对应的目标端口,确定对应的端口数量;

消息推送模块306,用于通过所述目标端口向所述客户端推送特征消息;

客户端数量确定模块308,依据对所述目标端口的检测确定成功接收所述特征消息的客户端数量;

稳定性判断模块310,用于依据所述端口数量和所述客户端数量判断所述服务器的稳定性,生成对应的检测结果。

参照图4,示出了本发明的另一种服务器的检测装置实施例的结构框图。

在本发明的一个优选实施例中,连接建立模块302,可以包括以下子模块:

端口服务启动子模块3021,用于通过执行命令,启动本地的目标端口服务;

连接创建子模块3023,用于基于所述目标端口服务,按照输入的并发数量创建所述服务器与客户端之间的长连接,其中,所述长连接具有一一对应的目标端口。

可选的,本发明实施的端口数量确定模块304,具体可以用于统计所述服务器提供的目标端口的第一总数,将所述第一总数作为所述端口数量;或者,用于检测各客户端是否具有所述目标端口,并统计具有所述目标端口的客户端对应的第二总数,将所述第二总数作为所述端口数量。

在本发明的一个优选实施例中,所述客户端数量确定模块308,可以包括以下子模块:

数据格式匹配子模块3081,用于检测各目标端口接收到的消息的数据格式与预设的目标数据格式匹配;

第一确定子模块3083,用于当所述数据格式与预设的目标数据格式匹配时,确定对应的客户端成功接收所述特征消息;

第一统计子模块3085,用于对成功接收所述特征消息的客户端进行统计,确定所述客户端数量。

在本发明的一个优选实施例中,所述稳定性判断模块310,可以包括以下子模块:

计算子模块3101,用于计算所述客户端数与所述端口数的商,确定服务器的推送成功率;

判断子模3103,用于判断所述推送成功率是否达到预设的目标推送率;并在所述推送成功率达到目标推送率时,判定所述服务器运行稳定;以及在推送成功率达到目标推送率时,判定所述服务器运行不稳定。

在本发明的一个优选实施例中,该服务器的检测装置还可以包括推送失败确定模块312和推送失败数量确定模块314。

本实施例中,该推送失败确定模312,可以用于在所述数据格式与预设的目标数据格式不匹配时,确定对应的客户端接收所述特征消息失败。推送失败数量确定模块314,对接收所述特征消息失败的客户端进行统计,确定推送失败数量。

其中,所述稳定性判断模块310,还可以包括如下子模块:

验证子模块3105,用于验证所述推送失败数量与所述客户端数量的和是否达到所述端口数量;

丢失确定子模3107,用于在所述推送失败数量与所述客户端数量的和未达到所述端口数量时,确定所述特征消息对应的丢失数量,并判定所述服务器运行不稳定。

在本发明的一个优选实施例中,该服务器的检测装置还可以包括如下模块:

并发判断模块316,用于判断所述端口数是否达到所述并发数量;

连接检测结果生成模块318,用于在所述端口数达到所述并发数量时,生成所述服务器连接成功的检测结果;或者,在所述端口数未达到所述并发数量时,生成所述服务器连接失败的检测结果。

在本发明的一个优选实施例中,该服务器的检测装置还可以包括如下模块:

并发时间确定模块320,用于采用所述并发数量与输入的每秒并发数量,确定对应的并发时间;

时间判模块322,用于在所述端口数未达到所述并发数量时,判断当前时间是否在所述并发时间范围内;若当前时间在所述并发时间范围内,则触发所述连接建立模块302继续执行创建所述服务器与客户端之间的长连接的步骤;否则,触发所述连接检测结果生成模块318执行生成所述服务器连接失败的检测结果的步骤。

创建次数记录模块324,用于记录所述长连接对应的创建次数;

创建次数判断模块326,用于在所述端口数未达到所述并发数量时,判断所述创建次数是否达到预置的次数阈值;当创建次数未到达次数阈值时,触发所述连接建立模块302继续执行创建所述服务器与客户端之间的长连接的步骤;当创建次数达到所述次数阈值时,触发所述连接检测结果生成模块318执行生成所述服务器连接失败的检测结果的步骤。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种服务器的检测方法和一种服务器的检测装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

本发明实施例公开了A1、一种服务器的检测方法,包括:

预先建立服务器与各客户端之间的长连接;

检测所述长连接对应的目标端口,确定对应的端口数量;

通过所述目标端口向所述客户端推送特征消息;

依据对所述目标端口的检测确定成功接收所述特征消息的客户端数量;

依据所述端口数量和所述客户端数量判断所述服务器的稳定性,生成对应的检测结果。

A2、根据权利要求A1所述的方法,建立服务器与各客户端之间的长连接,包括:

通过执行命令,启动本地的目标端口服务;

基于所述目标端口服务,按照输入的并发数量创建所述服务器与客户端之间的长连接,其中,所述长连接具有一一对应的目标端口。

A3、根据权利要求A1所述的方法,检测所述长连接对应的目标端口,确定对应的端口数量,包括:

统计所述服务器提供的目标端口的第一总数,将所述第一总数作为所述端口数量;或,

检测各客户端是否具有所述目标端口,并统计具有所述目标端口的客户端对应的第二总数,将所述第二总数作为所述端口数量。

A4、根据权利要求A1至A3任一所述的方法,依据对所述目标端口的检测确定成功接收所述特征消息的客户端数量,包括:

检测各目标端口接收到的消息的数据格式与预设的目标数据格式匹配;

当所述数据格式与预设的目标数据格式匹配时,确定对应的客户端成功接收所述特征消息;

对成功接收所述特征消息的客户端进行统计,确定所述客户端数量。

A5、根据权利要求A1至A3任一所述的方法,所述依据所述端口数量和所述客户端数量判断所述服务器的稳定性,包括:

计算所述客户端数与所述端口数的商,确定服务器的推送成功率;

判断所述推送成功率是否达到预设的目标推送率;

在所述推送成功率达到目标推送率时,判定所述服务器运行稳定;以及在推送成功率达到目标推送率时,判定所述服务器运行不稳定。

A6、根据权利要求A4所述的方法,还包括:

在所述数据格式与预设的目标数据格式不匹配时,确定对应的客户端接收所述特征消息失败;

对接收所述特征消息失败的客户端进行统计,确定推送失败数量;

其中,所述依据所述端口数量和所述客户端数量判断所述服务器的稳定性,包括:

验证所述推送失败数量与所述客户端数量的和是否达到所述端口数量;

若所述推送失败数量与所述客户端数量的和未达到所述端口数量,则确定所述特征消息对应的丢失数量,并判定所述服务器运行不稳定。

A7、根据权利要求A2所述的方法,还包括:

判断所述端口数量是否达到所述并发数量;

在所述端口数量达到所述并发数量时,生成所述服务器连接成功的检测结果;或者,

在所述端口数量未达到所述并发数量时,生成所述服务器连接失败的检测结果。

A8、根据权利要求A7所述的方法,还包括:

采用所述并发数量与输入的每秒并发数量,确定对应的并发时间;

其中,在所述端口数量未达到所述并发数量时,生成所述服务器连接失败的检测结果,包括:

在所述端口数量未达到所述并发数量时,判断当前时间是否在所述并发时间范围内;

若当前时间在所述并发时间范围内,则继续执行创建所述服务器与客户端之间的长连接的步骤;否则,执行生成所述服务器连接失败的检测结果的步骤。

A9、根据权利要求A7所述的方法,在创建所述服务器与客户端之间的长连接之后,还包括:

记录所述长连接对应的创建次数;

其中,在所述端口数量未达到所述并发数量时,生成所述服务器连接失败的检测结果,包括:

在所述端口数量未达到所述并发数量时,判断所述创建次数是否达到预置的次数阈值;

当创建次数未到达次数阈值时,继续执行创建所述服务器与客户端之间的长连接的步骤;

当创建次数量达到所述次数阈值时,执行生成所述服务器连接失败的检测结果的步骤。

本发明实施例还公开了B10、一种服务器的检测装置,包括:

连接建立模块,用于预先建立服务器与各客户端之间的长连接;

端口数量确定模块,用于检测所述长连接对应的目标端口,确定对应的端口数量;

消息推送模块,用于通过所述目标端口向所述客户端推送特征消息;

客户端数量确定模块,依据对所述目标端口的检测确定成功接收所述特征消息的客户端数量;

稳定性判断模块,用于依据所述端口数量和所述客户端数量判断所述服务器的稳定性,生成对应的检测结果。

B11、根据权利要求B10所述的装置,所述连接建立模块,包括:

端口服务启动子模块,用于通过执行命令,启动本地的目标端口服务;

连接创建子模块,用于基于所述目标端口服务,按照输入的并发数量创建所述服务器与客户端之间的长连接,其中,所述长连接具有一一对应的目标端口。

B12、根据权利要求B10所述的装置,所述端口数量确定模块,具体用于统计所述服务器提供的目标端口的第一总数,将所述第一总数作为所述端口数量;或者,检测各客户端是否具有所述目标端口,并统计具有所述目标端口的客户端对应的第二总数,将所述第二总数作为所述端口数量。

B13、根据权利要求B10至B12任一所述的装置,所述客户端数量确定模块,包括:

数据格式匹配子模块,用于检测各目标端口接收到的消息的数据格式与预设的目标数据格式匹配;

第一确定子模块,用于当所述数据格式与预设的目标数据格式匹配时,确定对应的客户端成功接收所述特征消息;

第一统计子模块,用于对成功接收所述特征消息的客户端进行统计,确定所述客户端数量。

B14、根据权利要求B10至B12任一所述的装置,所述稳定性判断模块,包括:

计算子模块,用于计算所述客户端数与所述端口数的商,确定服务器的推送成功率;

判断子模,用于判断所述推送成功率是否达到预设的目标推送率;并在所述推送成功率达到目标推送率时,判定所述服务器运行稳定;以及在推送成功率达到目标推送率时,判定所述服务器运行不稳定。

B15、根据权利要求B13所述的装置,还包括:

推送失败确定模块,用于在所述数据格式与预设的目标数据格式不匹配时,确定对应的客户端接收所述特征消息失败;

推送失败数量确定模块,对接收所述特征消息失败的客户端进行统计,确定推送失败数量;

其中,所述稳定性判断模块,包括:

验证子模块,用于验证所述推送失败数量与所述客户端数量的和是否达到所述端口数量;

丢失确定子模,用于在所述推送失败数量与所述客户端数量的和未达到所述端口数量时,确定所述特征消息对应的丢失数量,并判定所述服务器运行不稳定。

B16、根据权利要求B15所述的装置,还包括:

并发判断模块,用于判断所述端口数是否达到所述并发数量;

连接检测结果生成模块,用于在所述端口数达到所述并发数量时,生成所述服务器连接成功的检测结果;或者,在所述端口数未达到所述并发数量时,生成所述服务器连接失败的检测结果。

B17、根据权利要求B16所述的装置,还包括:

并发时间确定模块,用于采用所述并发数量与输入的每秒并发数量,确定对应的并发时间;

时间判模块,用于在所述端口数未达到所述并发数量时,判断当前时间是否在所述并发时间范围内;若当前时间在所述并发时间范围内,则触发所述连接建立模块继续执行创建所述服务器与客户端之间的长连接的步骤;否则,触发所述连接检测结果生成模块执行生成所述服务器连接失败的检测结果的步骤。

B18、根据权利要求B16所述的装置,还包括:

创建次数记录模块,用于记录所述长连接对应的创建次数;

创建次数判断模块,用于在所述端口数未达到所述并发数量时,判断所述创建次数是否达到预置的次数阈值;当创建次数未到达次数阈值时,触发所述连接建立模块继续执行创建所述服务器与客户端之间的长连接的步骤;当创建次数达到所述次数阈值时,触发所述连接检测结果生成模块执行生成所述服务器连接失败的检测结果的步骤。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1