一种通信状态的监控方法及装置与流程

文档序号:11263557阅读:155来源:国知局
一种通信状态的监控方法及装置与流程

本发明涉及运维监控技术领域,特别是涉及一种通信状态的监控方法及装置。



背景技术:

在互联网后端运作环境中,人们多采用cs(client-server,客户端/服务器)模式,这种运作模式一般由多个客户端与服务器建立连接,从而实现客户端与服务器间的数据交互。通常情况下,客户端和服务器之间通过tcp协议进行通信,这就需要对客户端与服务器之间的tcp通信状态进行监控,以保证整个后端系统的正常运行。

一般情况下,一台服务器需要同时为多台客户端提供不同类型的服务,也就是说,一台服务器需要同时与多台客户端保持通信,这就会产生大量通信状态信息。但是,现有通信状态监控方法,通常只能监控处于某一连接状态下的客户端总数量,从而无法根据监控结果准确定位异常连接。



技术实现要素:

本发明实施例的目的在于提供一种通信状态的监控方法及装置,以实现监控每一客户端的具体通信状态。具体技术方案如下:

一种通信状态的监控方法,包括:

采集与服务器连接的多个客户端的通信状态信息,所述通信状态信息中包括:所述客户端的地址、所述客户端与服务器之间的tcp连接状态;

存储所述多个客户端的通信状态信息;

将所述通信状态信息中的客户端的地址、所述客户端与服务器之间的tcp连接状态发送至监控服务器,以使监控服务器确定每个客户端的通信状态。

优选地,所述将所述通信状态信息中的客户端的地址、所述客户端与服务器之间的tcp连接状态发送至监控服务器之前,所述通信状态的监控方法包括:

对所述多个客户端的通信状态信息进行整合,生成多个整合后的通信状态信息组,每个整合后的通信状态信息组包括至少一个具有相同属性的通信状态信息。

优选地,所述采集与服务器连接的多个客户端的通信状态信息,进一步包括:

根据预设采集周期,定时采集与服务器连接的多个客户端的通信状态信息,每个通信状态信息中包括时间属性;

所述将所述通信状态信息中的客户端的地址、所述客户端与服务器之间的tcp连接状态发送至监控服务器,进一步包括:

将所述通信状态信息中的客户端的地址、所述客户端与服务器之间的tcp连接状态以及所述客户端的包含时间属性的通信状态信息发送至监控服务器,以使监控服务器确定每个客户端在不同时刻的通信状态。

优选地,所述通信状态信息中还包括:所述多个客户端运行的服务名称;

所述将所述通信状态信息中的客户端的地址、所述客户端与服务器之间的tcp连接状态发送至监控服务器,进一步包括:

将所述通信状态信息中的客户端的地址、所述客户端与服务器之间的tcp连接状态以及所述客户端运行的服务名称发送至监控服务器,以使监控服务器确定每个客户端运行不同服务时的通信状态。

优选地,所述将所述通信状态信息中的客户端的地址、所述客户端与服务器之间的tcp连接状态发送至监控服务器之后,所述通信状态的监控方法还包括:

将存储的所述多个客户端的通信状态信息中的异常信息生成为主动报警信息,并发送所述主动报警信息至报警服务器。

优选地,所述通信状态的监控方法还包括:

接收通信状态查询请求,所述查询请求中包括查询属性,所述查询属性包括:客户端的地址、客户端与服务器之间的tcp连接状态以及客户端运行的服务的配置管理数据库cmdb信息;

生成查询信息,并发送所述查询信息至查询服务器,所述查询信息包括至少一个具有所述查询属性的通信状态信息。

一种通信状态的监控装置,包括:

采集模块,用于采集与服务器连接的多个客户端的通信状态信息,所述通信状态信息中包括:所述客户端的地址、所述客户端与服务器之间的tcp连接状态;

存储模块,用于存储所述多个客户端的通信状态信息;

发送模块,将所述通信状态信息中的客户端的地址、所述客户端与服务器之间的tcp连接状态发送至监控服务器,以使监控服务器确定每个客户端的通信状态。

优选地,所述装置还包括:

整合模块,用于对所述多个客户端的通信状态信息进行整合,生成多个整合后的通信状态信息组,每个整合后的通信状态信息组包括至少一个具有相同属性的通信状态信息。

优选地,所述采集模块,进一步用于:

根据预设采集周期,定时采集与服务器连接的多个客户端的通信状态信息,每个通信状态信息中包括时间属性;

所述发送模块,进一步用于:

将所述通信状态信息中的客户端的地址、所述客户端与服务器之间的tcp连接状态以及所述客户端的包含时间属性的通信状态信息发送至监控服务器,以使监控服务器确定每个客户端在不同时刻的通信状态。

优选地,所述通信状态信息中还包括:所述多个客户端运行的服务名称;

所述发送模块,进一步用于:

将所述通信状态信息中的客户端的地址、所述客户端与服务器之间的tcp连接状态以及所述客户端运行的服务名称发送至监控服务器,以使监控服务器确定每个客户端运行不同服务时的通信状态。

优选地,所述通信状态的监控装置,进一步包括:

第一生成模块,用于将存储的所述多个客户端的通信状态信息中的异常信息生成为主动报警信息,并发送所述主动报警信息至报警服务器。

优选地,所述通信状态的监控装置,进一步包括:

接收模块,用于接收通信状态查询请求,所述查询请求中包括查询属性,所述查询属性包括:客户端的地址、客户端与服务器之间的tcp连接状态以及客户端运行的服务的配置管理数据库cmdb信息;

第二生成模块,用于生成查询信息,并发送所述查询信息至查询服务器,所述查询信息包括至少一个具有所述查询属性的通信状态信息。

本发明实施例提供的一种通信状态的监控方法及装置方法及装置,通过采集与服务器连接的所有客户端的连接状态,并对连接状态信息按照预设分类模式进行整合,可以高效而详细地监控各个客户端的具体通信状态,并且能够溯源查询,提高了互联网后端运维作业的效率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例的通信状态的监控方法的一种流程示意图;

图2为本发明实施例的通信状态的监控方法的另一种流程示意图;

图3为本发明实施例的通信状态的监控方法的再一种流程示意图;

图4为本发明实施例的通信状态的监控装置的一种结构示意图;

图5为本发明实施例的通信状态的监控装置的另一种结构示意图;

图6为本发明实施例的通信状态的监控装置的再一种结构示意图;

图7为本发明实施例的通信状态的监控装置的架构示意图。

具体实施方式

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

方法实施例一

本发明实施例提供的通信状态的监控方法的一种具体实施例,参考图1,图1为本发明实施例的通信状态的监控方法的一种流程示意图,包括:

s101、采集与服务器连接的多个客户端的通信状态信息,通信状态信息中包括:客户端的地址、客户端与服务器之间的tcp连接状态。

本发明实施例中,客户端指业务客户机,这些业务客户机能够为用户提供诸如音视频数据观看等业务服务。通常,业务客户机通过tcp连接的方式与服务器连接。

对服务器和客户端之间的连接状态进行运维监控时,客户端数量往往达到数百个,每个客户端还会在时间序列上产生不同的连接状态,因此,这些连接状态的信息量巨大。目前的监控工具,受制于系统架构设计以及系统硬件限制,通常只是监控各客户端的tcp连接状态处于某一状态下的总数目,例如,time-wait连接状态的数为5000,但具体哪些客户端是time-wait状态,无法详细记录。当连接异常时,现有监控方法无法根据监控结果及时而准确定位异常连接,这对排查连接故障十分不利。

本发明实施例,相比于现有通信状态监控方法,利用客户端收集器--一种javascript脚本程序,实时收集客户端和服务器之间的通信状态信息,不仅收集与服务器连接的多个客户端的地址,方便对客户端进行准确定位,还能够收集客户端与服务器之间的tcp连接状态。通过收集这些信息,可以详细地监控每台客户端与服务器之间的连接状态。

s102、存储多个客户端的通信状态信息。

经收集后的通信状态信息,需要存储至数据库,以供监控调取或者后期溯源调取,一般地,客户端收集器通过socketstatistics(linux系统中查看tcp连接的工具)查看tcp连接状态,并将通信状态信息封装为json(javascriptobjectnotation)格式并上传至服务器的数据库中,该服务器为后端数据服务器,其作用是存储收集到的各客户端的连接状态信息,并将这些数据以数据库的形式保存。可选地,后端数据服务器可以根据客户端的规模横向扩容,因而即使客户端数量增加,也不会产生性能瓶颈。

s103、将通信状态信息中的客户端的地址、客户端与服务器之间的tcp连接状态发送至监控服务器,以使监控服务器确定每个客户端的通信状态。

监控服务器是具有监控客户端的通信状态功能的服务器。通过将数据库存储的通信状态信息中的客户端的地址、客户端与服务器之间的tcp连接状态发送至监控服务器,监控服务器便可以根据这些信息确定具体是哪台客户端的连接状态。例如,一旦监控到某台客户端的tcp连接状态异常,监控服务器便可以通过获取的客户端的ip地址,迅速定位异常连接部位及对应的客户端,运维人员便可以及时处理故障,第一时间使系统恢复正常。

本发明方法实施例一,通过采集与服务器连接的所有客户端的包括客户端的地址、客户端与服务器之间的tcp连接状态等连接状态信息,从而详细地监控各个客户端的具体通信状态,当某台客户端连接状态异常时,可以快速定位并查找异常,便于运维人员及时排除故障。

方法实施例二

本发明实施例提供的通信状态的监控方法的另一种具体实施例,参考图2,图2为本发明实施例的通信状态的监控方法的另一种流程示意图,在方法实施例一的基础上,进一步包括:

s201、对多个客户端的通信状态信息进行整合,生成多个整合后的通信状态信息组,每个整合后的通信状态信息组包括至少一个具有相同属性的通信状态信息。

本步骤位于方法实施例一的s103之前。当多个客户端具有至少一个相同属性的通信状态信息时,可选地,通过将这些客户端的通信状态信息进行整合,再发送至监控服务器,能够使监控服务器集中监控多个客户端的通信状态,从而提高监控效率。其中,相同属性可以指多个客户端运行相同的服务类型、位于同一业务集群、或者具有相同的连接状态。以运行相同的服务类型的客户端举例说明,实际业务处理过程中,一个业务一般同时由多个客户端组成的集群进行处理,这些客户端会运行相同的服务类型。可选地,具体整合方法为,通过将运行同一服务类型的多个客户端的通信状态信息整合后,再发送给监控服务器,监控服务器就可以将处理同一服务类型的客户端集中监控,因此能够提高监控服务器的监控效率。

并且,可选地,s101中通信状态信息的采集过程具体为:

根据预设采集周期,定时采集与服务器连接的多个客户端的通信状态信息,并且每个通信状态信息中包括时间属性。

由于客户端与服务器的连接状态在不同的时间段可能会出现变化,因此可以通过周期性地采集连接状态,例如,可以设置采集周期为1min,即每隔1min采集一次连接状态,从而方便地查看一台客户端的连接状态随时序的变化情况,同时,也能在出现问题时及时定位问题时间点。本发明实施例中,预设采集周期为运维人员根据实际采集周期需求设置。

可选地,s103中发送过程进一步包括:

将通信状态信息中的客户端的地址、客户端与服务器之间的tcp连接状态以及客户端的包含时间属性的通信状态信息发送至监控服务器,以使监控服务器确定每个客户端在不同时刻的通信状态。

本发明实施例中,包含时间属性的通信状态信息指周期性采集的通信状态信息,每个时间的通信状态信息都具有唯一的时间属性,因此,当这些信息发送至监控服务器后,监控服务器能够根据这些信息确定通信状态的时间。

可选地,s103中发送过程还可以包括:

将通信状态信息中的客户端的地址、客户端与服务器之间的tcp连接状态以及客户端运行的服务名称发送至监控服务器,以使监控服务器确定每个客户端运行不同服务时的通信状态。

本发明实施例中,一台客户端可能会同时运行多个服务,因此,将客户端运行的服务名称也发送到监控服务器,能够使监控服务器方便地确定该客户端在运行该服务时的通信状态。

本发明方法实施例二,定时采集与服务器连接的多个客户端的通信状态信息,并将这些信息发送至监控服务器,监控服务器能够确定不同时刻的通信状态,能够及时定位异常连接的时间点,进一步提高监控精度;并且,通过将具有相同属性的客户端的通信状态信息进行整合,发送给监控服务器,能够使监控服务器集中监控多个客户端的通信状态,从而提高监控效率。

方法实施例三

本发明实施例提供的通信状态的监控方法的再一种具体实施例,参考图3,图3为本发明实施例的通信状态的监控方法的再一种流程示意图,在方法实施例二的基础上,进一步包括:

s301、将存储的多个客户端的通信状态信息中的异常信息生成为主动报警信息,并发送主动报警信息至报警服务器。

本步骤位于方法实施例二的s103之后,主动报警信息由监控服务器根据通信状态信息中的异常信息自动识别并生成,其作用是为运维人员提供报警内容。本发明实施例中,主动报警信息是根据通信状态信息生成的,因此主动报警信息可以包含:具体的问题客户端、客户端的连接状态、客户端所运行的服务、客户端的ip地址、发送异常连接状态的时间等信息。上述主动报警信息中,具体的问题客户端用于确定是哪台客户端出现问题,客户端的连接状态用于确定客户端与服务器之间的具体连接状态,客户端所运行的服务用于确定客户端执行的任务类型,客户端的ip地址用于定位客户端的地址,发送异常连接状态的时间用于确定异常连接状态产生的时间点。通过主动报警信息,运维人员能够快精准地速定位问题服务器,提高运维效率。

s302、接收通信状态查询请求,查询请求中包括查询属性,查询属性包括:客户端的地址、客户端与服务器之间的tcp连接状态以及客户端运行的服务的cmdb(configurationmanagementdatabase,配置管理数据库)信息。

除了主动报警,本发明实施例的监控方法还能够接收运维人员的查询请求。查询请求中通常包括多个查询属性,例如,常见的有客户端的地址、客户端与服务器之间的tcp连接状态以及客户端运行的服务的cmdb信息。运维人员通过包括这些不同查询属性的查询请求,能够及时获得客户端的通信状态。

s303、生成查询信息,并发送查询信息至查询服务器,查询信息包括至少一个具有查询属性的通信状态信息。

查询信息是根据运维人员的查询请求生成的,查询信息中一般包含客户端的具体地址、客户端与服务器之间具体的tcp连接状态以及客户端运行的服务的cmdb信息等通信状态信息。生成查询信息后,发送查询信息至查询服务器,运维人员便可以获知欲查询客户端的通信状态。

本发明方法实施例三,通过主动生成报警信息,运维人员能够根据主动报警信息中的具体的问题客户端、客户端的连接状态、客户端所运行的服务、客户端的ip地址、发送异常连接状态的时间等信息及时发现异常情况,快精准地速定位问题服务器,提高运维效率;通过接收通信状态查询请求并生成包含客户端的具体地址、客户端与服务器之间具体的tcp连接状态以及客户端运行的服务的cmdb信息等通信状态信息的查询信息,能够为运维人员提供欲查询客户端的详细通信状态,进一步提高通信状态监控的便捷性。

装置实施例一

本发明实施例提供的通信状态的监控装置的一种具体实施例,与图1所示流程相对应,参考图4,图4为本发明实施例的通信状态的监控装置的一种结构示意图,包括:

采集模块401,用于采集与服务器连接的多个客户端的通信状态信息,通信状态信息中包括:客户端的地址、客户端与服务器之间的tcp连接状态。

存储模块402,用于存储多个客户端的通信状态信息。

发送模块403,用于将通信状态信息中的客户端的地址、客户端与服务器之间的tcp连接状态发送至监控服务器,以使监控服务器确定每个客户端的通信状态。

本发明装置实施例一提供的通信状态的监控装置用于实现本发明方法实施例一提供的通信状态的监控方法的监控,其实现原理和技术效果类似,此处不再赘述。

装置实施例二

本发明实施例提供的通信状态的监控装置的另一种具体实施例,与图2所示流程相对应,参考图5,图5为本发明实施例的通信状态的监控装置的另一种结构示意图,在装置实施例一的基础上,进一步包括:

整合模块404,用于对多个客户端的通信状态信息进行整合,生成多个整合后的通信状态信息组,每个整合后的通信状态信息组包括至少一个具有相同属性的通信状态信息。

采集模块401,进一步用于,根据预设采集周期,定时采集与服务器连接的多个客户端的通信状态信息,并且每个通信状态信息中包括时间属性。

发送模块403,进一步用于,将通信状态信息中的客户端的地址、客户端与服务器之间的tcp连接状态以及客户端的包含时间属性的通信状态信息发送至监控服务器,以使监控服务器确定每个客户端在不同时刻的通信状态。

发送模块403,还可以进一步用于,将通信状态信息中的客户端的地址、客户端与服务器之间的tcp连接状态以及客户端运行的服务名称发送至监控服务器,以使监控服务器确定每个客户端运行不同服务时的通信状态。

本发明装置实施例二提供的通信状态的监控装置用于实现本发明方法实施例二提供的通信状态的监控方法的监控,其实现原理和技术效果类似,此处不再赘述。

装置实施例三

本发明实施例提供的通信状态的监控装置的再一种具体实施例,与图3所示流程相对应,参考图6,图6为本发明实施例的通信状态的监控装置的再一种结构示意图,在装置实施例二的基础上,进一步包括:

第一生成模块405,用于将存储的多个客户端的通信状态信息中的异常信息生成为主动报警信息,并发送主动报警信息至报警服务器。

接收模块406,用于接收通信状态查询请求,查询请求中包括查询属性,查询属性包括:客户端的地址、客户端与服务器之间的tcp连接状态以及客户端运行的服务的cmdb信息。

第二生成模块407,用于生成查询信息,并发送查询信息至查询服务器,查询信息包括至少一个具有查询属性的通信状态信息。

本发明装置实施例三提供的通信状态的监控装置用于实现本发明方法实施例三提供的通信状态的监控方法的监控,其实现原理和技术效果类似,此处不再赘述。

本发明实施例还提供了一种通信状态的监控装置的架构示意图,参考图7,图7为本发明实施例的通信状态的监控装置的架构示意图。

其中,采集器501的作用相当于本发明装置实施例中的采集模块401,用于采集与服务器连接的多个客户端的通信状态信息,通信状态信息中包括:客户端的地址、客户端与服务器之间的tcp连接状态;

负载均衡处理器502能够将多个采集器501采集的信息均衡分配流量至服务器503,因此,服务器503可以根据实际需要进行横向扩容。

服务器503和数据库504的作用相当于本发明装置实施例中的存储模块402和发送模块403,用于存储多个客户端的通信状态信息、将通信状态信息中的客户端的地址、客户端与服务器之间的tcp连接状态发送至监控服务器。

监控服务器505用于确定每个客户端的通信状态,并能够主动报警和接受运维人员的查询。

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

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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