服务器检测方法及服务器系统与流程

文档序号:12729327阅读:846来源:国知局
服务器检测方法及服务器系统与流程

本发明实施例涉及互联网技术领域,尤其涉及一种服务器检测方法及服务器系统。



背景技术:

使用ping(Packet Internet Groper)来监测服务器状态(监测操作系统是否正常工作)是一种普遍的做法。但是目前普遍是以某台机器为中心直接使用ping命令呈辐射状去检测其他被检测机器,准确率低且不能够判断是被检测机器的故障问题还是之间的网络链路问题。ping请求方网络质量不好,会影响到ping的结果,从而产生误报。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中监测服务器状态的技术中准确率低且不能判断故障位置的缺陷,提供一种可以提高检测服务器状态准确率的服务器检测方法及服务器系统。

本发明是通过下述技术方案来解决上述技术问题:

一种服务器检测方法,用于服务器系统,其特点在于,所述服务器系统包括数据获取模块、数据中心模块及数据展示模块,所述数据获取模块包括至少3个服务器,所述数据中心模块与每一服务器连接,每一所述服务器连接至少两个所述服务器,所述服务器检测方法包括:

对于一个目标服务器,所述数据中心模块获取目标服务器发送的数据文件,所述数据文件包括目标服务器与连接目标服务器的至少两个服务器之间的检测数据;

数据中心模块根据所述数据文件获取所述目标服务器的工作状态,所述工作状态包括服务器自身工作状态及服务器链路工作状态;

所述数据展示模块输出所述工作状态。

本方法可以采用各个机器之间两两互ping的方式来获取ping的数据,没有以具体机器为中心,可以大幅提高ping监测服务器状态的准确率和获取网络链路情况和质量信息。

较佳地,服务器之间通过Ping技术相互检测以生成所述检测数据。

较佳地,全部服务器中,任意两个服务器相互连接且相互连接的两个服务器相互检测以生成检测数据,所述服务器检测方法包括:

所述数据中心模块获取全部服务器发送的数据文件,其中,对于任意服务器,所述服务器发送的数据文件包括由所述服务器向连接所述服务器的全部服务器发起检测所生成的检测数据;

所述数据中心模块根据数据文件获取服务器的工作状态。

较佳地,所述数据文件包括检测数据对应检测的发起端和被测端服务器信息、检测时间,所述检测时间包括最大值、最小值、平均值及算数平均值中的一项或多项。

较佳地,所述服务器检测方法包括:

对于一个目标服务器,数据中心模块判断由连接目标服务器的至少两个服务器向目标服务器发起检测所生成的检测数据是否均记录为不通,

若是则判定目标服务器故障;

若否则判定目标服务器存活,且判定记录不通的检测数据的检测所用的链路故障;

在工作状态中记录判定结果并输出判定结果。

较佳地,所述至少两个服务器为4个服务器或5台个服务器。

较佳地,所述服务器检测方法包括:

对于一个目标链路,数据中心模块判断连接目标链路的两个服务器是否均为存活,

若是则判断连接目标链路的两个服务器之间的检测数据是否记录为不通,若不通则判定所述目标链路故障;

若否则判定目标链路工作正常。

较佳地,所述服务器检测方法包括:

对于一个记录不通的检测数据,判断检测数据对应的服务器除所述检测数据以外的检测数据是否均为不通,

若否则判定检测数据对应的服务器之间链路不通,

若是则判定检测数据均为不通的服务器为故障,

其中,检测数据对应的两个服务器为生成所述检测数据的检测发起端和被测端。

较佳地,所述服务器检测方法包括:

对于一个目标服务器,目标服务器向一测试服务器发送目标数量的检测数据;

目标服务器接收检测数据的返回结果;

若返回结果的数量等于所述目标数量则判定目标服务器向与测试服务器之间的网络正常,若所述返回结果的数量大于零且小于所述目标数量则判定目标服务器向与测试服务器之间的网络存在丢包,若无返回结果则判定目标服务器向与测试服务器之间的网络故障。

较佳地,所述目标数量小于或等于1000000。

较佳地,所述服务器检测方法包括:

检测端向被测端发送至少2个数据包,并将全部数据包的反馈结果生成检测数据;

计算全部数据包的反馈延迟的平均值,若所述平均值小于第一预设值则判断检测端和被测端之间链路良好,若所述平均值大于第一预设值小于第二预设值则判断检测端和被测端之间链路良好正常,若所述平均值大于第二预设值则判断检测端和被测端之间链路较差。

本发明还提供一种服务器系统,其特点在于,所述服务器系统包括数据获取模块、数据中心模块及数据展示模块,所述数据获取模块包括至少3个服务器,所述数据中心模块与每一服务器连接,每一所述服务器连接至少两个所述服务器,

所述数据中心模块用于获取目标服务器发送的数据文件,所述数据文件包括目标服务器与连接目标服务器的至少两个服务器之间的检测数据;

所述数据中心模块用于根据所述数据文件获取所述目标服务器的工作状态,所述工作状态包括服务器自身工作状态及服务器链路工作状态;

所述数据展示模块用于供输出所述工作状态。

较佳地,全部服务器中,任意两个服务器相互连接且相互连接的两个服务器相互检测以生成检测数据,

所述数据中心模块用于获取全部服务器发送的数据文件,其中,对于任意服务器,所述服务器发送的数据文件包括由所述服务器向连接所述服务器的全部服务器发起检测所生成的检测数据;

所述数据中心模块用于根据数据文件获取服务器的工作状态。

较佳地,所述数据文件包括检测数据对应检测的发起端和被测端服务器信息、检测时间,所述检测时间包括最大值、最小值、平均值及算数平均值中的一项或多项。

较佳地,数据中心模块用于判断由连接目标服务器的至少两个服务器向目标服务器发起检测所生成的检测数据是否均记录为不通,若是则判定目标服务器故障,若否则判定目标服务器存活,且判定记录不通的检测数据的检测所用的链路故障;

数据中心模块还用于在工作状态中记录判定结果。

较佳地,数据中心模块用于判断连接目标链路的两个服务器是否均为存活,若是则判断连接目标链路的两个服务器之间的检测数据是否记录为不通,若不通则判定所述目标链路故障,若否则判定目标链路工作正常。

较佳地,对于一个记录不通的检测数据,数据中心模块用于判断检测数据对应的服务器除所述检测数据以外的检测数据是否均为不通,若否则判定检测数据对应的服务器之间链路不通,若是则判定检测数据均为不通的服务器为故障,其中,检测数据对应的两个服务器为生成所述检测数据的检测发起端和被测端。

较佳地,对于一个目标服务器,目标服务器用于向一测试服务器发送目标数量的检测数据,所述目标服务器还用于判定目标服务器向与测试服务器之间的网络情况,若检测数据的返回结果数量等于目标数量则判定目标服务器向与测试服务器之间的网络正常,若所述返回结果的数量大于零且小于所述目标数量则判定目标服务器向与测试服务器之间的网络存在丢包,若无返回结果则判定目标服务器向与测试服务器之间的网络故障。

较佳地,服务器中的检测端用于向被测端发送至少2个数据包,并将全部数据包的反馈结果生成检测数据;

所述检测端还用于计算全部数据包的反馈延迟的平均值,若所述平均值小于第一预设值则判断检测端和被测端之间链路良好,若所述平均值大于第一预设值小于第二预设值则判断检测端和被测端之间链路良好正常,若所述平均值大于第二预设值则判断检测端和被测端之间链路较差。

在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。

本发明的积极进步效果在于:

本方法采用各个机器之间两两互ping的方式来获取ping的数据,没有以具体机器为中心,可以大幅提高ping监测服务器状态的准确率和获取网络链路情况和质量信息。本发明可以提高服务器状态检测的准确率,精确定位到具体的某一台故障机器、判断各节点之间的网络链路质量和提供详细的检测状态数据支持。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图为本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例1的服务器系统的结构示意图。

图2为本发明实施例1的服务器检测方法的流程图。

图3为本发明实施例1的服务器检测方法的另一流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例为本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

参见图1,本实施例提供一种服务器系统,所述服务器系统包括数据获取模块11、数据中心模块12及数据展示模块13,所述数据获取模块包括4个服务器111,分别为A、B、C、D,四个服务器两两连接,即每个服务器均与其他3个服务器连接,全部服务器中,任意两个服务器相互连接且相互连接的两个服务器可以相互检测以生成检测数据。

所述数据中心模块用于获取全部服务器发送的数据文件,其中,对于任意服务器,所述服务器发送的数据文件包括由所述服务器向连接所述服务器的全部服务器发起检测所生成的检测数据;

所述数据中心模块可以获取目标服务器发送的数据文件,所述数据文件包括目标服务器与连接目标服务器的至少两个服务器之间的检测数据,在本实施例中以服务器向全部服务器发起检测为例,实际上,服务器的检测可以根据实际的检测情况进行规划与分配。

所述数据中心模块收到所述数据文件后,还用于根据所述数据文件获取所述目标服务器的工作状态,所述工作状态包括服务器自身工作状态及服务器链路工作状态。

对于一个记录不通的检测数据,数据中心模块还用于用于判断检测数据对应的服务器除所述检测数据以外的检测数据是否均为不通,若否则判定检测数据对应的服务器之间链路不通,若是则判定检测数据均为不通的服务器为故障,其中,检测数据对应的两个服务器为生成所述检测数据的检测发起端和被测端。

所述数据展示模块用于供输出所述工作状态。

本实施例中,数据中心可以根据数据文件判断服务器的工作状态,数据中心模块判断由连接目标服务器的至少两个服务器向目标服务器发起检测所生成的检测数据是否均记录为不通,若是则判定目标服务器故障,若否则判定目标服务器存活,且判定记录不通的检测数据的检测所用的链路故障,数据中心模块将在工作状态中记录判定结果。

进一步地,数据中心模块用于判断连接目标链路的两个服务器是否均为存活,若是则判断连接目标链路的两个服务器之间的检测数据是否记录为不通,若不通则判定所述目标链路故障,若否则判定目标链路工作正常。

所述数据展示模块输出带有所述判定结果的工作状态。

本实施例中,每台机器上都安装有ping功能(含有数据统计分析功能)的程序文件,通过设置ping的次数和ping的其他节点IP来执行ping程序(即ping除本身外的所有要检测机器IP),可以设置定期执行该ping程序来定期分析故障机器和网络链路情况和质量,数据结果文件会根据时间进行分类。

各台机器执行完ping程序后,以ping方(检测方)的机器IP、被ping方(被检测方)的机器IP和执行程序时的日期或时间为标记区分命名,生成相应的数据文件,本实施例中,在Time时(其中Time可以表示具体时间或者是日期),A机器ping D机器产生的数据文件为Ping_A-D_Time,并上传到数据中心做存储和数据分析对比。

数据中心通过对比同一时段,同一个被ping方机器IP标记的数据内容,本实施例中,Ping_A-D_Time,Ping_B-D_Time,Ping_C-D_Time为同一时段(时段为Time)同一个被ping方(被ping方为机器D)机器的数据,来判断故障机器和各节点之间的网络链路质量等问题(通过检测方的IP和被检测方的IP关系来唯一确定一条网络链路,一般情况下Ping_A-D和Ping_D-A的数据结果基本一致)。

通过将所有数据信息上传到同一个平台或机器(即数据展示模块)进行数据汇总和展现故障节点和各节点之间的网络链路情况等信息,其中所述工作状态是按时间等要求进行分类汇总,方便使用者定期去数据展示中心查看历史故障机器列表和数据链路情况和质量。

特别地,本实施例采用了ping的检测技术但不限于此技术,其他点到点的检测技术也在本申请的保护范围内。

参见图2,利用上述服务器系统,本实施例还提供一种服务器检测方法:

步骤100、所述数据中心模块获取全部服务器发送的数据文件,所述数据文件包括由所述服务器向连接所述服务器的全部服务器发起检测所生成的检测数据。

步骤100前还包括初始化ping功能程序,设置ping的次数和各台服务器的IP的步骤。

步骤101、对于一目标服务器,数据中心模块判断由连接目标服务器的4个服务器向目标服务器发起检测所生成的检测数据是否均记录为不通,若是则执行步骤102,若否则执行步骤103。

步骤102、判定目标服务器故障,在工作状态中记录判定结果然后执行步骤106。

步骤103、若否则判定目标服务器存活,且判断是否存在记录为不通的检测数据,若是则执行步骤104,若否则执行步骤105。

步骤104、判定不通的检测数据的检测所用的链路故障,并将所述判定结果记录于工作状态中,然后执行步骤106。

本实施例中,认定连接目标服务器的检测服务器均为正常工作的服务器,因此不通的检测数据中,若目标服务器存活则记录不通的检测数据的检测所用的链路故障。

若连接目标服务器的检测服务器工作状态未知,则步骤104中,对于记录不通的检测数据的检测所用的链路及检测发起的服务器均需要进行检测,对于检测发起的服务器可以利用本实施例的方法进行检测其工作状态是否正常,具体为判断由连接检测发起的服务器的若干个服务器向目标服务器发起检测所生成的检测数据是否均记录为不通,若有一个记录为通则判定所述检测发起的服务器工作为正常。

步骤105、判定目标服务器及连接目标服务器的链路工作正常,并将所述判定结果记录于工作状态中,然后执行步骤106。

步骤106、数据中心模块根据所述数据文件获取所述目标服务器的工作状态。

步骤107、所述数据展示模块输出所述工作状态。

参见图3,本实施例具体针对一个服务器做出判断,对于一条目标链路,所述服务器检测方法包括:

步骤1001、对于一个目标链路,数据中心模块判断连接目标链路的两个服务器是否均为存活,若是则执行步骤1002,若否则执行步骤1005;

步骤1002、判断连接目标链路的两个服务器之间的检测数据是否记录为不通,若是则执行步骤1003,若否则执行步骤1004;

步骤1003、判定所述目标链路故障,并将所述判定结果记录于工作状态中,然后执行步骤106。

步骤1004、判定目标链路工作正常并将所述判定结果记录于工作状态中,然后执行步骤106。

步骤1005、将未存活的服务器的信息记录于工作状态中,然后执行步骤106。

集群机器数量为4时,当判断某两台之间的链路问题时(假设这两台机器编号分别为A和B),先通过(1)中故障机器定位判断逻辑来定位A和B机器是否为故障机器,当至少有一台为故障机器时,网络链路自然不通,当两台都是“存活”状态,再分析P_A-B,P_B-A这两份数据,当P_A-B,P_B-A这两份数据网络状态为“不通”,即表示A与B之间网络链路为“不通”,否则A与B之间网络链路为“连通”,具体网络链路质量可分析记录的网络链路质量数据。

对于一条记录为不同的检测数据,所述服务器检测方法包括:

对于一个记录不通的检测数据,判断检测数据对应的服务器除所述检测数据以外的检测数据是否均为不通。

若否则判定检测数据对应的服务器之间链路不通。

若是则判定检测数据均为不通的服务器为故障。

其中,检测数据对应的两个服务器为生成所述检测数据的检测发起端和被测端。

只需要分析P_A-B,P_B-A,P_(B+1)-A,P_(B+1)-B这四份数据,当P_A-B,P_B-A这两份数据网络状态为“不通”,P_(B+1)-A,P_(B+1)-B这两份数据网络状态为“连通”时,即可判断A与B之间的网络链路不通。否则,当P_A-B,P_B-A均为“连通”即A与B之间网络链路连通,可进一步分析网络链路质量数据。当P_A-B,P_B-A为“不通”,P_(B+1)-A,P_(B+1)-B这两份数据中至少有一份数据网络状态为“不通”,则再取P_(B+2)-A,P_(B+2)-B这两份数据分析,分析步骤同上,以此类推。

本实施例的服务器系统及服务器检测方法可以提高服务器状态检测的准确率,精确定位到具体的某一台故障机器、判断各节点之间的网络链路质量和提供详细的检测状态数据支持。

实施例2

本实施例与实施例1基本相同,不同之处仅在于:

所述数据文件包括检测数据对应检测的发起端和被测端服务器信息、检测时间,所述检测时间包括最大值、最小值、平均值及算数平均值。

本实施例服务器系统中:

对于一个目标服务器,目标服务器用于向一测试服务器发送目标数量的检测数据,所述目标服务器还用于判定目标服务器向与测试服务器之间的网络情况,若检测数据的返回结果数量等于目标数量则判定目标服务器向与测试服务器之间的网络正常,若所述返回结果的数量大于零且小于所述目标数量则判定目标服务器向与测试服务器之间的网络存在丢包,若无返回结果则判定目标服务器向与测试服务器之间的网络故障。

利用上述服务器系统,本实施例还提供一种服务器检测方法:

对于一个目标服务器,目标服务器向一测试服务器发送目标数量的检测数据;

目标服务器接收检测数据的返回结果;

若返回结果的数量等于所述目标数量则判定目标服务器向与测试服务器之间的网络正常,若所述返回结果的数量大于零且小于所述目标数量则判定目标服务器向与测试服务器之间的网络存在丢包,若无返回结果则判定目标服务器向与测试服务器之间的网络故障。

本实施例实现检测成功率的测试,设置一组检测发起服务器和被检服务器的ping次数为N。

根据ping命令返回结果,假设ping成功的次数为M。

如果M=0,则说明发起服务器和被检服务器的网络状态为“不通”。

如果0<M<N,则说明网络质量为“有丢包”。

如果M=N,则说明网络质量为“连通”。

本实施例在服务器数量为N台时,产生的数据量为N*(N-1)份,即每台服务器单向ping另一个机器产生一份数据,且对于A机器ping B机器和B机器ping A机器产生的两份数据信息基本一致。当N的数量级在三位数及三位数以内(即机器数量为百台级别),获取的数据量份数在10,000-1000,000之间为可接受范围;当N的数量级在三位数以上(即机器数量为千台以上级别),可根据需要按产品等类别进行分组(假设分为X组,X>1),所获取的数据量为N*(N/X-1),达到N的数量级减小,从而分别获取各类产品集群机器的相关数据(根据产品类型等分组并不一定每组均分,但同样会降低数据量,本例以均分类型举例)。

实施例3

本实施例与实施例1基本相同,不同之处仅在于:

本实施例服务器系统中:

服务器中的检测端用于向被测端发送至少2个数据包,并将全部数据包的反馈结果生成检测数据;

所述检测端还用于计算全部数据包的反馈延迟的平均值,若所述平均值小于第一预设值则判断检测端和被测端之间链路良好,若所述平均值大于第一预设值小于第二预设值则判断检测端和被测端之间链路良好正常,若所述平均值大于第二预设值则判断检测端和被测端之间链路较差。

利用上述服务器系统,本实施例还提供一种服务器检测方法:

检测端向被测端发送至少2个数据包,并将全部数据包的反馈结果生成检测数据;

计算全部数据包的反馈延迟的平均值,若所述平均值小于第一预设值则判断检测端和被测端之间链路良好,若所述平均值大于第一预设值小于第二预设值则判断检测端和被测端之间链路良好正常,若所述平均值大于第二预设值则判断检测端和被测端之间链路较差。

在上述操作中,记录每次ping的延迟时间。把每次延迟时间相加,再除以ping的次数,得出平均延迟时间。

如果延迟都小于100毫秒,则说明网络质量为“良好”;

如果延迟时间大于100毫秒,并且小于500毫秒,则说明网络质量为“普通”;

如果延迟时间大于500毫秒,则说明网络质量为“差”。

记录每次ping的延迟时间,筛选出最小延迟和最大延迟。用最大延迟减去最小延迟,得出的时间差。用时间差除以基准二得出的平均延迟,得出的数据以百分比的形式展现,即是延迟波动幅度。波动幅度越大,说明网络越不稳定,可根据需要设置一定的波动幅度阈值来界定波动幅度的状态标准。

置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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