CN102142971A - 实现订阅-收集机制的监控***及监控方法 - Google Patents
实现订阅-收集机制的监控***及监控方法 Download PDFInfo
- Publication number
- CN102142971A CN102142971A CN2010101040370A CN201010104037A CN102142971A CN 102142971 A CN102142971 A CN 102142971A CN 2010101040370 A CN2010101040370 A CN 2010101040370A CN 201010104037 A CN201010104037 A CN 201010104037A CN 102142971 A CN102142971 A CN 102142971A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- gatherer
- adapter
- module
- 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
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种实现订阅-收集机制的监控***,包括:订阅处理器,包括订阅接受模块、关联记录模块及分发调度模块,所述订阅接受模块用于接收客户端的订阅请求,并依据所述订阅请求为相应的客户端创建适配器,以及,为相应的监控设备创建收集器;所述关联记录模块用于记录所述相应的适配器与收集器的关联关系;所述分发调度模块用于提供分发器的调度指示;收集器,用于收集监控设备的指标数据;分发器,用于依据所述调度指示,将收集的指标数据分发给相关联的适配器;适配器,包括缓存模块用于缓存所述分发器转发的数据,以及,所述发送模块用于将所述缓存中的数据发送给客户端。本发明可以实现各种通信协议,并有效减少网络流量。
Description
技术领域
本发明涉及数据监控的技术领域,特别是涉及一种实现订阅-收集机制的监控***及一种实现订阅-收集机制的监控方法。
背景技术
随着计算机和网络技术地不断发展,越来越多地企业和用户基于网络组建了满足各种业务需求的计算机集群。集群内部的计算机相互独立地工作,对外作为一个整体提供服务。如电视台的天气预报、节目制播,通常都是一个计算机集群来完成。
为了更好地管理集群中的软、硬件资源,监控技术应运而生。简单来讲,监控技术就是对计算机软件及硬件的运行情况、任务执行情况等进行记录或者远程察看,以了解计算机的各项指标是否正常。目前,监控***一般采用代理-服务器的结构,或者,代理-服务器-客户端的结构,在服务器-客户端之间通常采用C/S(客户端/服务器)或B/S(浏览器/服务器)模式,代理-服务器之间的通信通常基于SNMP协议或TCP/UDP协议进行。
然而,现有技术中,代理-服务器之间的通信协议一般是固定写死的,从而导致服务器的功能不易扩展。再者,服务器往往通过轮询代理的方式来获取信息,即每隔一定时间对所有的代理进行主动查询,各代理返回被查询的结点值,显然,这种方式将造成网络流量巨大的问题。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新地提出一种实现订阅-收集机制的监控方案,以实现各种通信协议,并有效减少网络流量。
发明内容
本发明所要解决的技术问题是提供一种实现订阅-收集机制的监控***及方法,以实现各种通信协议,并有效减少网络流量。
为了解决上述技术问题,本发明实施例公开了一种实现订阅-收集机制的监控***,包括:
订阅处理器,包括订阅接受模块、关联记录模块及分发调度模块,其中,所述订阅接受模块用于接收客户端的订阅请求,并依据所述订阅请求为相应的客户端创建适配器,以及,为相应的监控设备创建收集器;所述关联记录模块用于记录所述相应的适配器与收集器的关联关系;所述分发调度模块用于提供分发器的调度指示;
收集器,与监控设备相连,用于收集监控设备的指标数据;
分发器,用于依据所述调度指示,将收集器收集的指标数据分发给相关联的适配器;
适配器,与客户端相连,包括缓存模块和发送模块,其中,所述缓存模块用于缓存所述分发器转发的数据,所述发送模块用于将所述缓存中的数据发送给客户端。
优选的,所述适配器还包括:
清空模块,用于在所述缓存中的数据全部发送至客户端时,清空缓存。
优选的,所述适配器还包括:
删除模块,用于在客户端未在预设时间内提取缓存中的数据,并且,所述缓存空间已满时,按照先进先出原则删除当前缓存中的数据。
优选的,所述订阅处理器还包括:
订阅取消模块,用于接收客户端的订阅取消请求,依据所述订阅取消请求为取消相应客户端的适配器,并删除所述适配器与收集器的关联关系,以及,在相应的收集器没有其它关联的适配器时,取消该收集器。
优选的,所述收集器包括多个,所述多个收集器由单线程串行调度,或者,所述多个收集器分别由各个收集器的线程并行调度。
优选的,所述收集器包括主动收集器和/或被动收集器;
所述主动收集器用于向监控设备上的代理程序发送查询某个指示的请求,并接收由所述代理程序返回的指标数据;
所述被动收集器用于接收监控设备上的代理程序发送的指标数据,并返回收到命令。
优选的,所述适配器发送模块包括数据推送子模块和/或客户端轮询子模块;
所述数据推送子模块用于通过预置的客户端接口直接将数据推送至客户端;
所述客户端轮询子模块用于通过预置的适配器接口响应于客户端的轮询将数据提供给客户端。
优选的,所述适配器还包括:
过滤模块,用于对所述分发器转发的相关数据按照预置的过滤规则进行过滤;
和/或,
格式转换模块,用于依据客户端的要求,对所述分发器转发的相关数据组织为可显示的格式。
优选的,所述订阅处理器还包括:
超时处理模块,用于判断客户端提取数据的时间是否超过预设时间,若是,则调用所述订阅取消模块。
本发明实施例还公开了一种实现订阅-收集机制的监控方法,包括:
接收客户端的订阅请求,依据所述订阅请求为相应的客户端创建适配器,以及,为相应的监控设备创建收集器;
记录所述相应的适配器与收集器的关联关系;
所述收集器收集监控设备的指标数据;
将所述指标数据分发给相关联的适配器;
所述适配器缓存所述分发器转发的数据,并将所述缓存中的数据发送给客户端。
优选的,所述的方法,还包括:
在所述缓存中的数据全部发送至客户端时,清空缓存。
优选的,所述的方法,还包括:
在客户端未在预设时间内提取缓存中的数据,并且,所述缓存空间已满时,按照先进先出原则删除当前缓存中的数据。
优选的,所述的方法,还包括:
接收客户端的订阅取消请求,依据所述订阅取消请求为取消相应客户端的适配器,并删除所述适配器与收集器的关联关系,以及,在相应的收集器没有其它关联的适配器时,取消该收集器。
优选的,所述收集器包括多个,所述多个收集器收集监控设备指标数据的步骤包括:
将所述多个收集器加入收集器队列中;
开启单线程依据所述收集器队列依次调用各个收集器,各个收集器内部依次轮询其所连接监控设备的指标数据。
优选的,所述收集器包括多个,所述多个收集器收集监控设备指标数据的步骤包括:
针对各个收集器分别创建相应的线程,各个收集器并行地在其内部依次轮询其所连接监控设备的指标数据。
优选的,所述收集器包括主动收集器和/或被动收集器;所述主动收集器依次轮询其所连接监控设备的相应指标数据的步骤进一步包括:
向监控设备上的代理程序发送查询某个指示的请求,并接收由所述代理程序返回的指标数据;
所述被动收集器依次轮询其所连接监控设备的相应指标数据的步骤进一步包括:
接收监控设备上的代理程序发送的指标数据,并返回收到命令。
优选的,所述将缓存中的数据发送给客户端的步骤包括:
通过预置的客户端接口直接将数据推送至客户端;
或者,
通过预置的适配器接口响应于客户端的轮询将数据提供给客户端。
优选的,所述的方法,还包括:
对所述分发的相关数据按照预置的过滤规则进行过滤;
和/或,
依据客户端的要求,对所述分发的相关数据组织为可显示的格式。
优选的,所述订阅请求中包括客户端数据获取方式信息,所述将所述缓存中的数据发送给客户端的步骤还包括:
依据所述客户端数据获取方式信息,将缓存一段时间后的数据发送给客户端;
或者,
依据所述客户端数据获取方式信息,将进入缓存的数据立即发送给客户端。
优选的,所述的方法,还包括:
判断客户端提取数据的时间是否超过预设时间,若是,则调用所述订阅取消步骤。
与现有技术相比,本发明具有以下优点:
本发明通过实现订阅-收集机制,即根据客户端对目标监控设备的相关指标数据的订阅请求,为相应的客户端创建适配器,以及,为相应的监控设备创建收集器;只有在客户端需要某个监控设备的指标数据时,收集器才开始收集相应的监控设备的指标数据,并经分发器将该指标数据转发至所有订阅的适配器,再由适配器将数据提供给客户端。由于本发明只在客户端提出请求时才开始收集数据,而不需要时则暂停收集数据,因而有效减少了网络流量。
并且,由于在服务器与代理之间增加了一层收集器,可用于实现各种通信协议,从而服务器可以统一处理所有信息,而不管是通过何种通信协议获取的。
再者,本发明的分发器可以使得收集器与适配器为松耦合状态,同时,收集器与适配器也是易于扩展的。
附图说明
图1是本发明的一种实现订阅-收集机制的监控***实施例的结构框图;
图2是本发明的一种收集器并行调度方案的示意图;
图3是本发明的一种收集器串行调度方案的示意图;
图4是在本发明的一种优选实施例中适配器的结构示意图;
图5是本发明的一种实现订阅-收集机制的监控方法实施例的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,通过实现订阅-收集机制,即根据客户端对目标监控设备的相关指标数据的订阅请求,为相应的客户端创建适配器,以及,为相应的监控设备创建收集器;只有在客户端需要某个监控设备的指标数据时,收集器才开始收集相应的监控设备的指标数据,并经分发器将该指标数据转发至所有订阅的适配器,再由适配器将数据提供给客户端。由于本发明只在客户端提出请求时才开始收集数据,而不需要时则暂停收集数据,因而有效减少了网络流量。并且,由于在服务器与代理之间增加了一层收集器,可用于实现各种通信协议,从而服务器可以统一处理所有信息,而不管是通过何种通信协议获取的。
参考图1,示出了本发明的一种实现订阅-收集机制的监控***实施例的结构框图,具体可以包括:
订阅处理器11,包括订阅接受模块、关联记录模块及分发调度模块,其中,所述订阅接受模块用于接收客户端的订阅请求,并依据所述订阅请求为相应的客户端创建适配器14,以及,为相应的监控设备创建收集器12;所述关联记录模块用于记录所述相应的适配器14与收集器12的关联关系;所述分发调度模块用于提供分发器13的调度指示;
收集器12,与监控设备相连,用于收集监控设备的指标数据;
分发器13,用于依据所述调度指示,将收集器12收集的指标数据分发给相关联的适配器14;
适配器14,与客户端相连,包括缓存模块和发送模块,其中,所述缓存模块用于缓存所述分发器转发的数据,所述发送模块用于将所述缓存中的数据发送给客户端。
在具体实现中,所述客户端提交的订阅请求可以包括订阅者(即当前客户端)、监控设备信息和指标数据信息。为便于管理,所述订阅处理器的订阅接受模块接收到包含上述内容的客户端订阅请求后,可以针对该订阅者生成唯一的订阅号,并通知客户端。然后从存储的适配器列表中查找是否已经存在该订阅者的适配器,若没有则针对该订阅者创建一个适配器,并添加到所述适配器列表中;同时,从存储的收集器列表中查找是否已经存在订阅请求中所指定的监控设备信息,若没有则针对相应的监控设备创建一个或多个收集器,并添加到所述收集器列表中。在这种情况下,所述订阅处理器的关联记录模块则可以建立所述相应的适配器与收集器的关联关系,并存储至关联列表中。
当客户端提交获取相应监控设备指标数据的请求时,若收集器是新创建的或处于暂停状态,则启动收集器开始工作;若适配器是新创建的或处于暂停状态,则启动适配器开始工作。
根据数据收集方式的不同,所述收集器可以包括主动收集器和/或被动收集器;具体而言,所述主动收集器可以用于向监控设备上的代理程序发送查询某个指示的请求,并接收由所述代理程序返回的指标数据;例如,在针对电视台各种软、硬件进行监控的监控***中,所述主动收集器可以包括SNMP(Simple Network Management Protocol,简单网络管理协议)信息收集器、WMI信息收集器、数据库信息收集器等。所述被动收集器可以用于接收监控设备上的代理程序发送的指标数据,并返回收到命令;例如,在针对电视台各种软、硬件进行监控的监控***中,所述被动收集器可以包括SNMP告警接收器和WebService告警接收器等。
在实际中,基于***需要,通常会采用多个收集器,为保证客户端展示数据的及时更新,即使在某台监控设备出现故障不能被访问的情况下,也不会影响收集器收集其它监控设备相关指标数据的实时性,在本发明的一种优选实施例中,提出了针对收集器的多线程并行调度机制,具体可以参考图2所示的收集器并行调度方案的示意图,即***为每一个收集器创建一个单独的线程,由各个收集器并行地在其内部依次轮询其所连接监控设备的所有指标数据。所述轮询指标数据的方式可以依据当前收集器的类型(主动收集器或被动收集器)进行,在此不赘述。
为尽可能减少资源的占用,在本发明的另一种优选实施例中,还提出了针对收集器的单线程串行调度机制,具体可以参考图3所示的收集器串行调度方案的示意图,即***会将每一个收集器加入到收集器队列中,同时开启单线程依据所述收集器队列依次调用所有收集器进行处理,则每个收集器会在其内部依次轮询其所连接监控设备的所有监控指标。所述轮询指标数据的方式可以依据当前收集器的类型(主动收集器或被动收集器)进行,在此不赘述。
为保证在单线程串行调度机制下,客户端展示数据的及时更新,在本实施例中更为优选的是,在上述串行调度过程中,当轮询到某个收集器时,先去检测其所连接的监控设备是否可以访问,若不可访问,则跳转到下一个收集器;并定义一个合适的时间段T,当本次轮询时间超过该时间段T时,就将该段时间内收集到的数据先送去处理和分发;然后由客户端根据收到的数据进行部分数据的更新展示。
在具体应用中,所述适配器与客户端的交互可以采用适配器主动推送的方式,也可以采用客户端轮询的方式。即作为一种示例,所述适配器发送模块可以包括数据推送子模块、和/或客户端轮询子模块;具体而言,所述数据推送子模块即用于通过预置的客户端接口直接将数据推送至客户端;例如,所述客户端接口可以为TCP接口、SNMP接口等;所述客户端轮询子模块即用于通过预置的适配器接口响应于客户端的轮询将数据提供给客户端;例如,所述适配器接口可以为WebService接口、SNMP接口等。
参考图4,在本发明的一种优选实施例中,所述适配器还可以设置如下模块:
过滤模块15,用于对所述分发器转发的相关数据按照预置的过滤规则进行过滤;
和/或,
格式转换模块16,用于依据客户端的要求,对所述分发器转发的相关数据组织为可显示的格式。
作为一种示例,所述预置的过滤规则可以设置为针对告警数据的级别分配,以及忽略无级别的告警;
所述格式转换模块可以将告警数据和信息数据组织成可显示的格式等,具体如,在数据库中为每一个适配器定义告警描述表达式,表达式带有参数语句,在获取数据后参数会被实际数据填充。对通过SNMP协议获取的指标来说,告警描述表达式和参数是根据MIB定义文件自动生成的。如HP EVA存储设备的告警指标mngmtAgentTrap-17001,根据MIB生成的描述定义为”主机名={主机名}:发生时间={发生时间}:错误码={错误码}:描述={描述}”,参数包括{主机名}、{发生时间}、{错误码}和{描述}。当收到告警数据时,将实际数值填入,就形成如下的告警描述:主机名=storage1:发生时间=2009-10-10 7:50:错误码=10001:描述=电源1故障。假如适配器1为短信模块,它要求的格式比较精简。则定义描述为{主机名}于{发生时间}{描述},则该适配器收到的告警描述storage1于2009-10-10 7:50电源1故障。
当然,这两个模块仅仅在***有需求时才进行设置,其目的是为了让同一项指标数据满足不同适配器的需要,以增加数据的利用率,同时,便于根据需要扩展适配器。其具体功能由本领域技术人员依据实际情况确定即可,本发明对此无需加以限制。
需要说明的是,本发明实施例中,由于在收集器与适配器之间设置有分发器,以使收集器与适配器形成松耦合结构,从而有利于收集器与适配器各项功能的扩展。在这种情况下,收集器和分发器之间是程序级别调用,分发器和适配器之间的交互可以包括程序级别调用和基于SOAP协议的Webservice调用。其中监控***内部的适配器,如数据库适配器、监控客户端适配器都是程序级别调用。监控***外部的适配器是通过Webservice调用,由服务端开放Webservice接口,适配器轮询该接口调用。
更为优选的是,在具体实现中,所述客户端提交的订阅请求中,还可以包括客户端数据获取方式信息,在这种情况下,所述适配器的发送模块可以依据所述客户端数据获取方式信息,将缓存一段时间后的数据发送给客户端;或者,依据所述客户端数据获取方式信息,将进入缓存的数据立即发送给客户端。
为充分利用资源,在本发明的一种优选实施例中,所述适配器还可以包括以下模块:
清空模块,用于在所述缓存中的数据全部发送至客户端时,清空缓存。
和/或,
删除模块,用于在客户端未在预设时间内提取缓存中的数据,并且,所述缓存空间已满时,按照先进先出原则删除当前缓存中的数据。
为对客户端提交的订阅取消请求进行处理,在具体实现中,所述订阅处理器还可以包括如下模块:
订阅取消模块,用于接收客户端的订阅取消请求,依据所述订阅取消请求为取消相应客户端的适配器,并删除所述适配器与收集器的关联关系,以及,在相应的收集器没有其它关联的适配器时,取消该收集器。
更为优选的是,在实际中,当客户端因为异常而长期没有获取数据时,订阅处理器所述订阅处理器还可以包括如下模块进行超时处理:
超时处理模块,用于判断客户端提取数据的时间是否超过预设时间,若是,则调用所述订阅取消模块。
即应用本实施例,订阅处理器可以记录客户端上次提取数据的时间,如果长期未更新,则认为超时。于是调用订阅取消模块取消该客户端的订阅。在实际中还可以进一步在客户端恢复正常并重新获取数据时,重新进行订阅。
作为一种实际应用的示例,本发明实现订阅-收集机制的监控***所涉及的订阅处理器、收集器、分发器及适配器均可以设置在服务器中,即所述监控***可以采用代理端(监控设备)-服务器-客户端的结构。
参考图5,示出了本发明的一种实现订阅-收集机制的监控方法实施例的流程图,具体可以包括:
步骤501、接收客户端的订阅请求,依据所述订阅请求为相应的客户端创建适配器,以及,为相应的监控设备创建收集器;
步骤502、记录所述相应的适配器与收集器的关联关系;
步骤503、所述收集器收集监控设备的指标数据;
步骤504、将所述指标数据分发给相关联的适配器;
步骤505、所述适配器缓存所述分发器转发的数据,并将所述缓存中的数据发送给客户端。
在本发明的一种优选实施例中,还可以包括如下步骤:
在所述缓存中的数据全部发送至客户端时,清空缓存。
在客户端未在预设时间内提取缓存中的数据,并且,所述缓存空间已满时,按照先进先出原则删除当前缓存中的数据。
若接收客户端的订阅取消请求,则依据所述订阅取消请求为取消相应客户端的适配器,并删除所述适配器与收集器的关联关系,以及,在相应的收集器没有其它关联的适配器时,取消该收集器。
在具体实现中,所述收集器可以包括多个,为保证客户端展示数据的及时更新,即使在某台监控设备出现故障不能被访问的情况下,也不会影响收集器收集其它监控设备相关指标数据的实时性,在本发明的一种优选实施例中,提出了针对收集器的多线程并行调度机制,即在本实施例中,所述多个收集器收集监控设备指标数据的步骤具体可以包括如下子步骤:
子步骤A1、将所述多个收集器加入收集器队列中;
子步骤A2、开启单线程依据所述收集器队列依次调用各个收集器,各个收集器内部依次轮询其所连接监控设备的指标数据。
为尽可能减少资源的占用,在本发明的另一种优选实施例中,还提出了针对收集器的单线程串行调度机制,即在本实施例中,所述多个收集器收集监控设备指标数据的步骤具体可以包括如下子步骤:
子步骤B1、针对各个收集器分别创建相应的线程;
子步骤B2、各个收集器并行地在其内部依次轮询其所连接监控设备的指标数据。
为保证在单线程串行调度机制下,客户端展示数据的及时更新,更为优选的是,在上述串行调度过程中,当轮询到某个收集器时,先去检测其所连接的监控设备是否可以访问,若不可访问,则跳转到下一个收集器;并定义一个合适的时间段T,当本次轮询时间超过该时间段T时,就将该段时间内收集到的数据先送去处理和分发;然后由客户端根据收到的数据进行部分数据的更新展示。
根据数据收集方式的不同,所述可以收集器包括主动收集器和/或被动收集器;具体而言,所述主动收集器依次轮询其所连接监控设备的相应指标数据的步骤进一步包括:
向监控设备上的代理程序发送查询某个指示的请求,并接收由所述代理程序返回的指标数据;
所述被动收集器依次轮询其所连接监控设备的相应指标数据的步骤进一步包括:
接收监控设备上的代理程序发送的指标数据,并返回收到命令。
在本发明实施例中,所述适配器与客户端的交互可以采用适配器主动推送的方式,也可以采用客户端轮询的方式。即所述将缓存中的数据发送给客户端的步骤具体可以包括如下子步骤:
子步骤C1、通过预置的客户端接口直接将数据推送至客户端;
或者,
子步骤C2、通过预置的适配器接口响应于客户端的轮询将数据提供给客户端。
为了让同一项指标数据满足不同适配器的需要,以增加数据的利用率,同时,便于根据需要扩展适配器,本发明实施例还可以包括如下步骤:
对所述分发的相关数据按照预置的过滤规则进行过滤;
和/或,
依据客户端的要求,对所述分发的相关数据组织为可显示的格式。
在具体实现中,所述客户端提交的订阅请求中,还可以包括客户端数据获取方式信息,在这种情况下,所述将所述缓存中的数据发送给客户端的步骤还可以为如下步骤:
依据所述客户端数据获取方式信息,将缓存一段时间后的数据发送给客户端;
或者,
依据所述客户端数据获取方式信息,将进入缓存的数据立即发送给客户端。
更为优选的是,在实际中,当客户端因为异常而长期没有获取数据时,本发明实施例还可以包括如下步骤:
判断客户端提取数据的时间是否超过预设时间,若是,则调用所述订阅取消步骤。
为使本领域技术人员更好地理解本发明,以下通过划分不同的处理过程进一步说明本发明实施例。
一、订阅过程:
1、客户端调用订阅处理器提交订阅请求,订阅请求中包括订阅者、监控设备信息和指标数据信息;
2、订阅处理器针对每一个订阅者生成唯一的订阅号,并通知客户端;
3、订阅处理器从其存储的适配器列表中查找是否已经存在该订阅者的适配器,若没有则针对该订阅者创建一个适配器,并添加到所述适配器列表中;
4、订阅处理器从存储的收集器列表中查找是否已经存在订阅请求中所指定的监控设备信息,若没有则针对相应的监控设备创建一个或多个收集器,并添加到所述收集器列表中;
5、订阅处理器建立相应的适配器和收集器的关联关系,并存储在关联列表中;
6、若收集器是新创建的或处于暂停状态,则启动收集器开始工作;若适配器是新创建的或处于暂停状态,则启动适配器开始工作。
二、工作过程:
1、收集器收集监控设备的指标数据,并把将数据发送给分发器;
2、分发器依据订阅处理器提供的调度指示,根据关联列表将收集器收集的指标数据分发给相关联的适配器;
3、适配器缓存所述分发器转发的数据,并根据订阅要求,将缓存一段时间后的数据发送给客户端;或者,将进入缓存的数据立即发送给客户端。
4、客户端从适配器中获取数据后,适配器清空缓存;
5、当客户端长时间不从适配器中获取数据,且适配器的缓存已满时,适配器按照先进先出原则删除当前缓存中的旧数据。
三、取消订阅过程:
1、客户端调用订阅处理器取消订阅,取消订阅请求包含订阅号;
2、订阅处理器从关联列表中查找到相应的关联,删除该关联;
3、订阅处理器从适配器列表中查找到相应的适配器,撤销该适配器;
4、订阅处理器从收集器列表中查找到相应的收集器,检查该收集器是否仍与其它适配器关联,如没有,则撤销该收集器,否则不作撤销处理。
四、超时处理过程:
1、当客户端因为异常而长期没有获取数据时,订阅处理器记录客户端上次获取数据的时间,并在每次获取数据时更新该时间,如果长期未更新,则认为超时;
2、按上述取消订阅过程取消相应适配器的订阅;
3、当客户端恢复正常并重新获取数据时,重新进行订阅。
由于本实施例基本相应于前述的***实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。此外,还需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明可用于众多通用或专用的计算***环境或配置中。例如:多处理器***、服务器、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本发明所提供的一种实现订阅-收集机制的监控***及一种实现订阅-收集机制的监控方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (20)
1.一种实现订阅-收集机制的监控***,其特征在于,包括:
订阅处理器,包括订阅接受模块、关联记录模块及分发调度模块,其中,所述订阅接受模块用于接收客户端的订阅请求,并依据所述订阅请求为相应的客户端创建适配器,以及,为相应的监控设备创建收集器;所述关联记录模块用于记录所述相应的适配器与收集器的关联关系;所述分发调度模块用于提供分发器的调度指示;
收集器,与监控设备相连,用于收集监控设备的指标数据;
分发器,用于依据所述调度指示,将收集器收集的指标数据分发给相关联的适配器;
适配器,与客户端相连,包括缓存模块和发送模块,其中,所述缓存模块用于缓存所述分发器转发的数据,所述发送模块用于将所述缓存中的数据发送给客户端。
2.如权利要求1所述的***,其特征在于,所述适配器还包括:
清空模块,用于在所述缓存中的数据全部发送至客户端时,清空缓存。
3.如权利要求1或2所述的***,其特征在于,所述适配器还包括:
删除模块,用于在客户端未在预设时间内提取缓存中的数据,并且,所述缓存空间已满时,按照先进先出原则删除当前缓存中的数据。
4.如权利要求1所述的***,其特征在于,所述订阅处理器还包括:
订阅取消模块,用于接收客户端的订阅取消请求,依据所述订阅取消请求为取消相应客户端的适配器,并删除所述适配器与收集器的关联关系,以及,在相应的收集器没有其它关联的适配器时,取消该收集器。
5.如权利要求1所述的***,其特征在于,所述收集器包括多个,所述多个收集器由单线程串行调度,或者,所述多个收集器分别由各个收集器的线程并行调度。
6.如权利要求5所述的***,其特征在于,所述收集器包括主动收集器和/或被动收集器;
所述主动收集器用于向监控设备上的代理程序发送查询某个指示的请求,并接收由所述代理程序返回的指标数据;
所述被动收集器用于接收监控设备上的代理程序发送的指标数据,并返回收到命令。
7.如权利要求1所述的***,其特征在于,所述适配器发送模块包括数据推送子模块和/或客户端轮询子模块;
所述数据推送子模块用于通过预置的客户端接口直接将数据推送至客户端;
所述客户端轮询子模块用于通过预置的适配器接口响应于客户端的轮询将数据提供给客户端。
8.如权利要求1所述的***,其特征在于,所述适配器还包括:
过滤模块,用于对所述分发器转发的相关数据按照预置的过滤规则进行过滤;
和/或,
格式转换模块,用于依据客户端的要求,对所述分发器转发的相关数据组织为可显示的格式。
9.如权利要求4所述的***,其特征在于,所述订阅处理器还包括:
超时处理模块,用于判断客户端提取数据的时间是否超过预设时间,若是,则调用所述订阅取消模块。
10.一种实现订阅-收集机制的监控方法,其特征在于,包括:
接收客户端的订阅请求,依据所述订阅请求为相应的客户端创建适配器,以及,为相应的监控设备创建收集器;
记录所述相应的适配器与收集器的关联关系;
所述收集器收集监控设备的指标数据;
将所述指标数据分发给相关联的适配器;
所述适配器缓存所述分发器转发的数据,并将所述缓存中的数据发送给客户端。
11.如权利要求10所述的方法,其特征在于,还包括:
在所述缓存中的数据全部发送至客户端时,清空缓存。
12.如权利要求10或11所述的方法,其特征在于,还包括:
在客户端未在预设时间内提取缓存中的数据,并且,所述缓存空间已满时,按照先进先出原则删除当前缓存中的数据。
13.如权利要求10所述的方法,其特征在于,还包括:
接收客户端的订阅取消请求,依据所述订阅取消请求为取消相应客户端的适配器,并删除所述适配器与收集器的关联关系,以及,在相应的收集器没有其它关联的适配器时,取消该收集器。
14.如权利要求10所述的方法,其特征在于,所述收集器包括多个,所述多个收集器收集监控设备指标数据的步骤包括:
将所述多个收集器加入收集器队列中;
开启单线程依据所述收集器队列依次调用各个收集器,各个收集器内部依次轮询其所连接监控设备的指标数据。
15.如权利要求10所述的方法,其特征在于,所述收集器包括多个,所述多个收集器收集监控设备指标数据的步骤包括:
针对各个收集器分别创建相应的线程,各个收集器并行地在其内部依次轮询其所连接监控设备的指标数据。
16.如权利要求14或15所述的方法,其特征在于,所述收集器包括主动收集器和/或被动收集器;所述主动收集器依次轮询其所连接监控设备的相应指标数据的步骤进一步包括:
向监控设备上的代理程序发送查询某个指示的请求,并接收由所述代理程序返回的指标数据;
所述被动收集器依次轮询其所连接监控设备的相应指标数据的步骤进一步包括:
接收监控设备上的代理程序发送的指标数据,并返回收到命令。
17.如权利要求10所述的方法,其特征在于,所述将缓存中的数据发送给客户端的步骤包括:
通过预置的客户端接口直接将数据推送至客户端;
或者,
通过预置的适配器接口响应于客户端的轮询将数据提供给客户端。
18.如权利要求10所述的方法,其特征在于,还包括:
对所述分发的相关数据按照预置的过滤规则进行过滤;
和/或,
依据客户端的要求,对所述分发的相关数据组织为可显示的格式。
19.如权利要求10所述的方法,其特征在于,所述订阅请求中包括客户端数据获取方式信息,所述将所述缓存中的数据发送给客户端的步骤还包括:
依据所述客户端数据获取方式信息,将缓存一段时间后的数据发送给客户端;
或者,
依据所述客户端数据获取方式信息,将进入缓存的数据立即发送给客户端。
20.如权利要求13所述的方法,其特征在于,还包括:
判断客户端提取数据的时间是否超过预设时间,若是,则调用所述订阅取消步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010104037.0A CN102142971B (zh) | 2010-01-29 | 2010-01-29 | 实现订阅-收集机制的监控***及监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010104037.0A CN102142971B (zh) | 2010-01-29 | 2010-01-29 | 实现订阅-收集机制的监控***及监控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102142971A true CN102142971A (zh) | 2011-08-03 |
CN102142971B CN102142971B (zh) | 2015-08-19 |
Family
ID=44410217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010104037.0A Expired - Fee Related CN102142971B (zh) | 2010-01-29 | 2010-01-29 | 实现订阅-收集机制的监控***及监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102142971B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624583A (zh) * | 2012-02-29 | 2012-08-01 | 武汉虹信通信技术有限责任公司 | 一种海量设备并发实时参数获取的分层设计方法 |
CN104049574A (zh) * | 2013-03-13 | 2014-09-17 | 阿斯科动力科技公司 | 消防泵房中的***和由所述***执行的方法 |
CN104272657A (zh) * | 2012-05-01 | 2015-01-07 | 思科技术公司 | 用于向网络流提供租户信息的方法和装置 |
CN106294607A (zh) * | 2016-07-29 | 2017-01-04 | 北京奇虎科技有限公司 | 缓存数据的更新方法及更新装置 |
CN107332787A (zh) * | 2017-06-29 | 2017-11-07 | 北京奇艺世纪科技有限公司 | 一种消息分发方法和装置 |
CN108287783A (zh) * | 2018-01-02 | 2018-07-17 | 浪潮通用软件有限公司 | 一种数据采集方法及装置 |
CN110546923A (zh) * | 2017-02-24 | 2019-12-06 | 萨托里环球有限责任公司 | 可扩展实时消息传送***中的消息的选择性分发 |
CN114095583A (zh) * | 2021-10-28 | 2022-02-25 | 翌飞锐特电子商务(北京)有限公司 | 一种航空货物电子数据交换方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002017150A1 (en) * | 2000-08-23 | 2002-02-28 | Pri Automation, Inc. | Web based tool control in a semiconductor fabrication facility |
WO2006072609A2 (en) * | 2005-01-10 | 2006-07-13 | International Business Machines Corporation | Systems with message integration for data exchange, collection, monitoring and/or alerting |
CN101511095A (zh) * | 2008-11-26 | 2009-08-19 | ***通信集团广东有限公司 | 基站告警智能监控*** |
-
2010
- 2010-01-29 CN CN201010104037.0A patent/CN102142971B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002017150A1 (en) * | 2000-08-23 | 2002-02-28 | Pri Automation, Inc. | Web based tool control in a semiconductor fabrication facility |
WO2006072609A2 (en) * | 2005-01-10 | 2006-07-13 | International Business Machines Corporation | Systems with message integration for data exchange, collection, monitoring and/or alerting |
CN101511095A (zh) * | 2008-11-26 | 2009-08-19 | ***通信集团广东有限公司 | 基站告警智能监控*** |
Non-Patent Citations (2)
Title |
---|
刘超: "大众网网络监控***的分析与设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
范军涛,李国庆: "实用的机群监控***", 《计算机工程与设计》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624583A (zh) * | 2012-02-29 | 2012-08-01 | 武汉虹信通信技术有限责任公司 | 一种海量设备并发实时参数获取的分层设计方法 |
CN102624583B (zh) * | 2012-02-29 | 2016-06-01 | 武汉虹信通信技术有限责任公司 | 一种海量设备并发实时参数获取的分层设计方法 |
CN104272657A (zh) * | 2012-05-01 | 2015-01-07 | 思科技术公司 | 用于向网络流提供租户信息的方法和装置 |
CN104272657B (zh) * | 2012-05-01 | 2018-03-27 | 思科技术公司 | 用于向网络流提供租户信息的方法和装置 |
CN104049574A (zh) * | 2013-03-13 | 2014-09-17 | 阿斯科动力科技公司 | 消防泵房中的***和由所述***执行的方法 |
CN106294607A (zh) * | 2016-07-29 | 2017-01-04 | 北京奇虎科技有限公司 | 缓存数据的更新方法及更新装置 |
CN110546923A (zh) * | 2017-02-24 | 2019-12-06 | 萨托里环球有限责任公司 | 可扩展实时消息传送***中的消息的选择性分发 |
CN107332787A (zh) * | 2017-06-29 | 2017-11-07 | 北京奇艺世纪科技有限公司 | 一种消息分发方法和装置 |
CN108287783A (zh) * | 2018-01-02 | 2018-07-17 | 浪潮通用软件有限公司 | 一种数据采集方法及装置 |
CN114095583A (zh) * | 2021-10-28 | 2022-02-25 | 翌飞锐特电子商务(北京)有限公司 | 一种航空货物电子数据交换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102142971B (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102142971A (zh) | 实现订阅-收集机制的监控***及监控方法 | |
CN101877618B (zh) | 基于无代理方式进行监控的方法、服务器及*** | |
CN102195825A (zh) | 一种客户端与服务器完整交互的监控***及其监控方法 | |
CN103944830A (zh) | 计算机*** | |
CN109547240B (zh) | 基于边缘计算的智能设备以及接入与设备的解析方法 | |
CN102355374A (zh) | 一种数据获取方法和设备 | |
CN104506373A (zh) | 网络信息采集与处理的装置和方法 | |
CN102820993A (zh) | 网络资源监控***和网络资源监控方法 | |
CN102238023A (zh) | 一种生成网络管理***的告警数据的方法及装置 | |
CN101621400A (zh) | 一种历史性能数据采集方法及性能数据采集*** | |
CN101345652A (zh) | 数据采集方法及数据采集设备 | |
CN101789890A (zh) | 可自动更新的基于配置的代理监控***及其监控方法 | |
CN112637366A (zh) | 基于微服务的车辆网车辆数据采集方法 | |
CN103795575A (zh) | 一种面向多数据中心的***监控方法 | |
CN102082677B (zh) | 一种告警信息处理方法和装置及*** | |
Baik et al. | Adaptive flow monitoring in SDN architecture | |
CN102130968A (zh) | 水资源监控通信***及方法 | |
CN102013996B (zh) | 数据采集管理方法、采集管理***及电信网络管理*** | |
CN102480369A (zh) | 一种网络管理***及性能采集的方法 | |
CN110781058A (zh) | 一种移动端应用性能数据采集方法、装置、设备及介质 | |
CN101917699B (zh) | 基于用户的随机上报信令跟踪方法和装置 | |
CN113722182A (zh) | 一种并行异步高效采集分析方法及其*** | |
CN105550143A (zh) | 一种信息设备工况采集的接口*** | |
CN110535691A (zh) | 一种定位故障网线端口的方法、装置、设备和存储介质 | |
CN201371835Y (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: 20150819 Termination date: 20170129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |