CN111124609A - 数据采集方法、装置、数据采集设备及存储介质 - Google Patents
数据采集方法、装置、数据采集设备及存储介质 Download PDFInfo
- Publication number
- CN111124609A CN111124609A CN201911308227.1A CN201911308227A CN111124609A CN 111124609 A CN111124609 A CN 111124609A CN 201911308227 A CN201911308227 A CN 201911308227A CN 111124609 A CN111124609 A CN 111124609A
- Authority
- CN
- China
- Prior art keywords
- data acquisition
- parameter
- monitored
- new
- state parameter
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种数据采集方法、装置、数据采集设备及存储介质。该方法通过第一数据采集设备调用配置的Java管理扩展获取参数管理服务器发送的更新通知,更新通知中携带有新的第一状态参数标识;根据新的第一状态参数标识向待监测设备发送新的参数获取请求,使得待监测设备调用配置的Java管理扩展根据新的参数获取请求获取该Java虚拟机中运行的待监测程序新的第一状态参数;获取待监测设备通过Java虚拟机发送的新的第一状态参数。如此,通过参数管理服务器主动为各第一数据采集设备下发更新通知,使得各第一数据采集设备所采集参数的类型均统一受控于该参数管理服务器。因此,各第一数据采集设备可以在不用重启的情况下即可调整所采集参数的类型。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种数据采集方法、装置、数据采集设备及存储介质。
背景技术
对于重要的互联网业务,通常都要求全天不间断运行。因此,为了保证业务的正常运行,通常会建设大数据业务告警平台,实时采集该业务的各项指标以进行监控告警。该大数据业务告警平台通常会使用现有成熟的各大数据分析组件,用以辅助进行数据分析。例如,如kafka、hbase或者yarn等。
然而在业务指标出现异常时,有可能是本身该业务的用户端的问题,也有可能是数据分析组件运行出现了问题。例如,当检测到该业务的用户活跃度出现断崖式下滑,有可能是本身用户的原因导致,也有可能是数据分析组件出现问题,使得大数据业务告警平台的分析结果不正确。
因此,所以需要另一套程序采集监控各大数据分析组件的状态参数,从而在该大数据分析组件本身运行出现异常时及时发现并进行处理。
现有采集各大数据分析组件的状态参数的方式,主要包括基于各大数据分析组件提供的Restful API接口进行状态参数的采集以及基于Java管理扩展(Java ManagementExtensions,JMX)进行状态参数的采集。由于该方式中的Restful API是基于http协议进行通信。因此,每次数据采集的过程都会有建立网络连接、发起参数请求以及释放网络连接的过程,使得每次数据采集的效率较低。
由于基于Java管理扩展进行状态参数采集时,Java管理扩展与Java虚拟机(JavaVirtual Machine,JVM)之间保持网络的长连接。因此,虽然Java管理扩展解决了基于各大数据分析组件提供的Restful API接口进行状态参数的采集所存在的效率较低的问题,但是由于Java管理扩展需要读取配置文件中的参数以确定需要采集的参数类型。因此,若需要调整所采集参数的类型就需要对Java管理扩展进行重启,尤其是在分布式系统中需要对分布式系统中的各节点逐个进行重启,不仅费时费力,而且还影响用户体验。
发明内容
为了克服现有技术中的至少一个不足,本申请实施例的目的之一在于提供一种数据采集方法,应用于分布式系统中的第一数据采集设备,所述第一数据采集设备与待监测设备以及参数管理服务器通信连接;所述第一数据采集设备配置有Java管理扩展,所述待监测设备配置有Java虚拟机,所述Java虚拟机中运行有被所述Java管理扩展监测的待监测程序;所述方法包括:
调用所述Java管理扩展获取所述参数管理服务器发送的更新通知,所述更新通知中携带有新的第一状态参数标识;
根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求,使得所述待监测设备调用所述Java虚拟机根据所述新的参数获取请求获取所述待监测程序新的第一状态参数;
获取所述待监测设备通过所述Java虚拟机发送的所述新的第一状态参数,其中,所述新的第一状态参数与所述新的第一状态参数标识相对应。
可选地,所述参数管理服务器为配置有ZooKeeper,所述调用所述Java管理扩展获取所述参数管理服务器发送的更新通知之前,还包括步骤:
向所述参数管理服务器发送携带有目标节点标识的注册请求,使得所述参数管理服务器调用所述ZooKeeper在所述目标节点标识所对应的目标节点中的第一状态参数标识发生变化时,向所述第一数据采集设备发送所述更新通知。
可选地所述第一数据采集设备还与第二数据采集设备通信连接,所述第二数据采集设备还与所述待监测设备通信连接以获取所述待监测程序的第二状态参数,所述第二状态参数不能通过所述Java管理扩展获取;所述根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求的步骤,包括:
向所述第二数据采集设备发送同步消息,使得所述第二数据采集设备获取所述第二状态参数;
获取到所述第二数据采集设备根据所述同步消息发送的应答消息后,根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求。
可选地第一数据采集设备还与数据服务器通信连接,所述方法还包括:
将所述第一状态参数发送给所述数据服务器。
可选地所述第一数据采集设备还配置有缓存队列,所述缓存队列用于在所述数据服务器故障时候缓存所述第一状态参数。
本申请实施例的目的之二在于提供一种数据采集装置,应用于分布式系统中的第一数据采集设备,所述第一数据采集设备与待监测设备以及参数管理服务器通信连接;所述第一数据采集设备配置有Java管理扩展,所述待监测设备配置有Java虚拟机,所述Java虚拟机中运行有被所述Java管理扩展监测的待监测程序;该数据采集装置包括通知获取模块、请求发送模块以及参数获取模块;
所述通知获取模块用于调用所述Java管理扩展获取所述参数管理服务器发送的更新通知,所述更新通知中携带有新的第一状态参数标识;
所述请求发送模块用于根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求,使得所述待监测设备调用所述Java虚拟机根据所述新的参数获取请求获取所述待监测程序新的第一状态参数;
所述参数获取模块用于获取所述待监测设备通过所述Java虚拟机发送的所述新的第一状态参数,其中,所述新的第一状态参数与所述新的第一状态参数标识相对应。
可选地,所述参数管理服务器为配置有ZooKeeper,该数据采集装置还包括监听注册模块,所述调用所述Java管理扩展获取所述参数管理服务器发送的更新通知之前:
所述监听注册模块用于向所述参数管理服务器发送携带有目标节点标识的注册请求,使得所述参数管理服务器调用所述ZooKeeper在所述目标节点标识所对应的目标节点中的第一状态参数标识发生变化时,向所述第一数据采集设备发送所述更新通知。
可选地,所述第一数据采集设备还与第二数据采集设备通信连接,所述第二数据采集设备还与所述待监测设备通信连接以获取所述待监测程序的第二状态参数,所述第二状态参数不能通过所述Java管理扩展获取;所述请求发送模块通过如下方式发送参数获取请求:
向所述第二数据采集设备发送同步消息,使得所述第二数据采集设备获取所述第二状态参数;
获取到所述第二数据采集设备根据所述同步消息发送的应到消息后,根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求。
本申请实施例的目的之三在于提供一种数据采集设备,该数据采集设备包括存储器以及处理器,所述存储器存储有能够被所述处理器执行的机器可执行指令,该处理器执行所述机器可执行指令时,实现所述的数据采集方法。
本申请实施例的目的之四在于提供一种存储介质,所述存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现所述的数据采集方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供一种数据采集方法、装置、数据采集设备及存储介质。通过Java管理扩展根据获取至参数管理服务器下发的更新通知,调整发送给待监测设备的参数获取请求,以获取新的第一状态参数。如此,通过参数管理服务器主动为各第一数据采集设备下发更新通知,使得各第一数据采集设备所采集参数的类型均统一受控于该参数管理服务器。因此,各第一数据采集设备可以在不用重启的情况下即可调整所采集参数的类型。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的第一数据采集设备的硬件结构示意图;
图2为本申请实施例提供的数据采集方法的步骤流程图;
图3为本申请实施例提供的场景示意图;
图4为本申请实施例提供的数据采集装置的结构示意图。
图标:100-第一数据采集设备;110-数据采集装置;120-存储器;130-处理器;140-通信单元;200-参数管理服务器;400-数据服务器;300-待监测设备;1101-通知获取模块;1102-请求发送模块;1103-参数获取模块;1104-监听注册模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如背景技术部分所描述,虽然Java管理扩展解决了基于各大数据分析组件提供的Restful API接口进行状态参数的采集所存在的效率较低的问题,但是由于Java管理扩展需要读取配置文件中的参数以确定需要采集的参数类型。因此,若需要调整所采集参数的类型就需要对Java管理扩展进行重启,尤其是在分布式系统中需要对分布式系统中的各节点逐个进行重启,不仅费时费力,而且还影响用户体验。
鉴于此,本申请实施例提供一种数据采集方法,应用于分布式系统中的第一数据采集设备,所述第一数据采集设备与待监测设备以及参数管理服务器通信连接;所述第一数据采集设备配置有Java管理扩展,所述待监测设备配置有Java虚拟机,所述Java虚拟机中运行有被所述Java管理扩展监测的待监测程序。
所述第一数据采集设备可以是,但不限于,智能手机、个人电脑(personalcomputer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)以及服务器等。
请参照图1,为本申请实施例提供的该第一数据采集设备100的硬件结构图。该第一数据采集设备100包括数据采集装置110、存储器120、处理器130以及通信单元140。
所述存储器120、处理器130以及通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述数据采集装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述第一数据采集设备100的操作系统(operatingsystem,OS)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述数据采集装置110所包括的软件功能模块及计算机程序等。
其中,所述存储器120可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。所述通信单元140用于通过网络收发数据。
所述处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
请参照图2,图2为应用于图1所示的第一数据采集设备100的一种数据采方法的步骤流程图,以下将对所述方法包括各个步骤进行详细阐述。
步骤S100,调用Java管理扩展获取数管理服务器发送的更新通知,该更新通知中携带有新的第一状态参数标识。
应理解,Java管理扩展在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务。通常使用Java管理扩展来监控系统的运行状态或管理系统的某些方面。
步骤S200,根据该新的第一状态参数标识向待监测设备发送新的参数获取请求,使得待监测设备调用该Java虚拟机根据新的参数获取请求获取待监测程序新的第一状态参数。
步骤S300,获取待监测设备通过Java虚拟机发送的新的第一状态参数,其中,该新的第一状态参数与新的第一状态参数标识相对应。
基于上述方法,使得第一数据采集设备100通过Java管理扩展根据获取至参数管理服务器下发的更新通知,调整发送给待监测设备的参数获取请求,以获取新的第一状态参数。如此,通过参数管理服务器主动为各第一数据采集设备下发更新通知,使得各第一数据采集设备所采集参数的类型均统一受控于该参数管理服务器。因此,各第一数据采集设备可以在不用重启的情况下即可调整所采集参数的类型。
其中,针对该参数管理服务器,请参照图3,作为一种可能的实施方式,该参数管理服务器200配置有ZooKeeper。该第一数据采集设备100在调用所述Java管理扩展获取所述参数管理服务器200发送的更新通知之前,该第一数据采集设备100向所述参数管理服务器200发送携带有目标节点标识的注册请求,使得所述参数管理服务器200调用所述ZooKeeper在所述目标节点标识所对应的目标节点中的第一状态参数标识发生变化时,向所述第一数据采集设备100发送所述更新通知。
应理解,ZooKeeper是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性问题。在ZooKeeper中包括多个znode,每个znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据。当有客户端针对某个目标节点(znode)中的数据,向ZooKeeper发起了注册请求,则该目标节点中的数据发生变化之后,该ZooKeeper主动向客户端发送更新通知。
例如,在一种可能的示例中,该待监测程序为kafka,该第一数据采集设备100通过Java管理扩展监测的参数包括该kafka每秒的消息写入量以及订阅用户的数量。若用户修改该目标节点中的数据,新增内存使用量,则Zookeepe主动向各第一数据采集设备发送更新通知,该更新通知中包括kafka每秒的消息写入量标识、订阅用户的数量标识以及内存使用量标识。
作为一种可能的实施方式,该参数管理服务器200上运行有实时监测程序,该实时监测程序实施检测一配置文件,当监测到用户对该配置文件进行了更新,则获取更新后的内容向各第一数据采集设备发送更新通知。
在本申请实施例,该更新通知会触发Java管理扩展中提供的WATCH事件,使得Java管理扩展针对该WATCH事件执行预设的代码。
具体的,作为一种可能的实施方式,该第一数据采集设备100中的Java管理扩展维护有一参数表,用于记录第一状态参数标识。该第一数据采集设备100在接收到更新通知后,对该参数表中的数据进行更新。该第一数据采集设备100在之后的参数采集过程中,根据该参数表中的记录的内容向待监测设备300发送新的参数获取请求。
作为一种可能的实施方式,该第一数据采集设备100中的Java管理扩展维护有消息队列,用于记录第一状态参数标识。该第一数据采集设备100在接收到更新通知后,对该消息队列中的数据进行更新。该第一数据采集设备100在之后的参数采集过程中,根据该消息队列中的记录的内容向待监测设备300发送新的参数获取请求。
应理解,该Java管理扩展中包含有能够获取该待监测程序的所有状态参数的程序代码,该第一数据采集设备根据第一状态参数标识选择性执行与该第一状态参数标识对应的程序代码。
可选地,所述第一数据采集设备100还与第二数据采集设备通信连接,所述第二数据采集设备还与所述待监测设备300通信连接以获取所述待监测程序的第二状态参数,所述第二状态参数不能通过所述Java管理扩展获取。
针对本申请实施例中的待监测应用程序,作为一种可能的实施方式,该待监测的应用程序可以是kafka、hbase或者yarn等大数据基础组件。应理解,上述大数据基础组件运行在Java虚拟机中,并提供了预设数量的状态参数接口,使得Java管理扩展可以通过Java虚拟机进行访问。
然而,针对一些大数据基础组件,不是所有的状态参数接口都能通过Java管理扩展的方式进行访问。部分状态参数接口需要通过Restful API接口的方式进行访问。基于此,在做数据分析的时候,不同类型的状态数据在时间跨度上存在关联性,因此,在采集状态数据时需要采集的时间间隔控制在预设范围内。
以kafka为例,若kafka的单位时间的数据吞吐量与CPU的使用率成正相关,若kafka的单位时间的数据吞吐量低于预设吞吐量阈值,而CPU的使用率却远远高于CPU极限阈值,则说明运行该kafka的设备中可能存在死循环的程序在不断消耗CPU的计算资源。因此,kafka的单位时间的数据吞吐量与CPU的使用率的采集时间应尽量控制在预设时间间隔内,以便于进行数据分析。
该第一数据采集设备100在根据所述新的第一状态参数标识向所述待监测设备300发送新的参数获取请求时,作为一种可能的实施方式,该第一数据采集设备100向所述第二数据采集设备发送同步消息,使得所述第二数据采集设备获取所述第二状态参数;获取到所述第二数据采集设备根据所述同步消息发送的应答消息后,根据所述新的第一状态参数标识向所述待监测设备300发送新的参数获取请求。
作为另一种可能的实施方式,该第一数据采集设备100向所述第二数据采集设备发送同步消息,该同步消息中携带时间戳,该时间戳用于指示下次获取获该待监测程序状态参数的时间,使得该第二数据采集设备在该时间戳对应的时刻获取该待监测程序的第二状态参数。同理,该第一数据采集设备100在获取到该第二数据采集设备的应答消息之后,在该时间戳对应的时刻通过Java管理扩展获取该待监测程序的第二装填参数。
进一步地,若该第一数据采集设备100在预设时间间隔内未获取到该第二数据采集设备的应答消息,则再次向第二数据采集设备发送同步消息。
进一步地,若该第一数据采集设备100向第二数据采集设备发送同步消息的此时超过预设次数阈值后,未收到该第二数据采集设备发送的应答消息,则向用户提供该第二数据采集设备运行异常的告警消息。
如此,使得采集到的第一状态数据的时间与第二状态数据的时间控制在预设时间间隔内。
值得说明的是,该第二数据采集设备在获取第二状态参数之前,该第二数据采集设备同样向所述参数管理服务器200发送携带有目标节点标识的注册请求,使得所述参数管理服务器200调用所述ZooKeeper在所述目标节点标识所对应的目标节点中的第二状态参数标识发生变化时,向所述第二数据采集设备发送所述更新通知。
该第二状态参数采集设备在接收到该更新通知后,根据该跟新通知中携带的新的第二状态参数标识通过Restful API接口向所述待监测设备300发送新的参数获取请求,使得该待监测设备300根据第二状态参数采集设备所发送的新的参数获取请求,发送新的第二状态参数。
请再次参照图3,为本申请实施例提供的一种场景架构示意图,该第一数据采集设备100还与数据服务器400通信连接。该第一数据采集设备将所述第一状态参数发送给所述数据服务器400,以使该数据服务器400进行存储。
其中,该数据服务器400可以是配置有MySQL、Hbase、Redis或者其他类型的数据库的设备,本申请实施例不做具体限定。该数据服务器400用于为大数据业务告警平台服务,使得大数据告警平台能够从待检测程序的各种状态数据中分析获得该待监测程序的健康状况。
进一步地,所述第一数据采集设备100还配置有缓存队列,所述缓存队列用于在所述数据服务器400故障时候缓存所述第一状态参数。
例如,该第一数据采集设备100在发现该数据服务器400发生故障后,将之后采集的第一状态参数存储到该缓存队列中,待数据服务器400恢复功能之后,再次发送给数据服务器400。当然,该缓存队列大小可以根据待监测程序的重要程序或者第一状态参数的重要程序进行调整。
值得说明的是,本申请实施例所提供的第一数据采集设备、第二数据采集设备、参数管理服务器200、待监测设备300以及数据服务器400可以是多台不同的硬件设备还可以是同一台硬件设备。本申请实施例只是为了便于描述,对其进行划分。例如,该Java管理扩展以及Java虚拟机可以配置在同一台硬件设备上,也可以配置在两台不同的硬件设备上,若MX以及Java虚拟机配置在同一台硬件设备上时,当该设备执行数据采集任务时,该设备成为第一数据采集设备100,当该设备执行待监测程序时,该设备成为待监测设备300。
本申请实施例还提供一种数据采集装置110,应用于分布式系统中的第一数据采集设备,所述第一数据采集设备与待监测设备300以及参数管理服务器200通信连接;所述第一数据采集设备配置有Java管理扩展,所述待监测设备300配置有Java虚拟机,所述Java虚拟机中运行有被所述Java管理扩展监测的待监测程序;该数据采集装置110包括通知获取模块1101、请求发送模块1102以及参数获取模块1103。
该通知获取模块1101用于调用所述Java管理扩展获取所述参数管理服务器200发送的更新通知,所述更新通知中携带有新的第一状态参数标识。
在本申请实施例中,该通知获取模块1101用于执行图2中的步骤S100,关于该通知获取模块1101的详细描述可以参考步骤S100的详细描述。
该请求发送模块1102用于根据所述新的第一状态参数标识向所述待监测设备300发送新的参数获取请求,使得所述待监测设备300调用所述Java虚拟机根据所述新的参数获取请求获取所述待监测程序新的第一状态参数。
在本申请实施例中,该请求发送模块1102用于执行图2中的步骤S200,关于该请求发送模块1102的详细描述可以参考步骤S200的详细描述。
该参数获取模块1103用于获取所述待监测设备300通过所述Java虚拟机发送的所述新的第一状态参数,其中,所述新的第一状态参数与所述新的第一状态参数标识相对应。
在本申请实施例中,该参数获取模块1103用于执行图2中的步骤S300,关于该参数获取模块1103的详细描述可以参考步骤S300的详细描述。
可选地,请再次参照图4,所述参数管理服务器200为配置有ZooKeeper,该数据采集装置110还包括监听注册模块1104,所述调用所述Java管理扩展获取所述参数管理服务器200发送的更新通知之前:
所述监听注册模块1104用于向所述参数管理服务器200发送携带有目标节点标识的注册请求,使得所述参数管理服务器200调用所述ZooKeeper在所述目标节点标识所对应的目标节点中的第一状态参数标识发生变化时,向所述第一数据采集设备发送所述更新通知。
可选地,所述第一数据采集设备还与第二数据采集设备通信连接,所述第二数据采集设备还与所述待监测设备300通信连接以获取所述待监测程序的第二状态参数,所述第二状态参数不能通过所述Java管理扩展获取;所述请求发送模块1102通过如下方式发送参数获取请求:
向所述第二数据采集设备发送同步消息,使得所述第二数据采集设备获取所述第二状态参数。
获取到所述第二数据采集设备根据所述同步消息发送的应到消息后,根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求。
本申请实施例还提供一种数据采集设备,该数据采集设备包括存储器120以及处理器130,所述存储器120存储有能够被所述处理器130执行的机器可执行指令,该处理器130执行所述机器可执行指令时,实现如所述的数据采集方法。
本申请实施例还提供一种存储介质,所述存储介质中存储有计算机程序,该计算机程序被处理器130执行时,实现所述的数据采集方法。
综上所述,本申请实施例提供一种数据采集方法、装置、数据采集设备及存储介质。通过Java管理扩展根据获取至参数管理服务器下发的更新通知,调整发送给待监测设备的参数获取请求,以获取新的第一状态参数。如此,通过参数管理服务器主动为各第一数据采集设备下发更新通知,使得各第一数据采集设备所采集参数的类型均受控于该参数管理服务器。因此,各第一数据采集设备可以在不用重启的情况下即可调整所采集参数的类型。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种数据采集方法,其特征在于,应用于分布式系统中的第一数据采集设备,所述第一数据采集设备与待监测设备以及参数管理服务器通信连接;所述第一数据采集设备配置有Java管理扩展,所述待监测设备配置有Java虚拟机,所述Java虚拟机中运行有被所述Java管理扩展监测的待监测程序;所述方法包括:
调用所述Java管理扩展获取所述参数管理服务器发送的更新通知,所述更新通知中携带有新的第一状态参数标识;
根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求,使得所述待监测设备调用所述Java虚拟机根据所述新的参数获取请求获取所述待监测程序新的第一状态参数;
获取所述待监测设备通过所述Java虚拟机发送的所述新的第一状态参数,其中,所述新的第一状态参数与所述新的第一状态参数标识相对应。
2.根据权利要求1所述的数据采集方法,其特征在于,所述参数管理服务器为配置有ZooKeeper,所述调用所述Java管理扩展获取所述参数管理服务器发送的更新通知之前,还包括步骤:
向所述参数管理服务器发送携带有目标节点标识的注册请求,使得所述参数管理服务器调用所述ZooKeeper在所述目标节点标识所对应的目标节点中的第一状态参数标识发生变化时,向所述第一数据采集设备发送所述更新通知。
3.根据权利要求1所述的数据采集方法,其特征在于,所述第一数据采集设备还与第二数据采集设备通信连接,所述第二数据采集设备还与所述待监测设备通信连接以获取所述待监测程序的第二状态参数,所述第二状态参数不能通过所述Java管理扩展获取;所述根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求的步骤,包括:
向所述第二数据采集设备发送同步消息,使得所述第二数据采集设备获取所述第二状态参数;
获取到所述第二数据采集设备根据所述同步消息发送的应答消息后,根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求。
4.根据权利要求1所述数据采集方法,其特征在于,第一数据采集设备还与数据服务器通信连接,所述方法还包括:
将所述第一状态参数发送给所述数据服务器。
5.根据权利要求4所述的数据采集方法,其特征在于,所述第一数据采集设备还配置有缓存队列,所述缓存队列用于在所述数据服务器故障时候缓存所述第一状态参数。
6.一种数据采集装置,其特征在于,应用于分布式系统中的第一数据采集设备,所述第一数据采集设备与待监测设备以及参数管理服务器通信连接;所述第一数据采集设备配置有Java管理扩展,所述待监测设备配置有Java虚拟机,所述Java虚拟机中运行有被所述Java管理扩展监测的待监测程序;该数据采集装置包括通知获取模块、请求发送模块以及参数获取模块;
所述通知获取模块用于调用所述Java管理扩展获取所述参数管理服务器发送的更新通知,所述更新通知中携带有新的第一状态参数标识;
所述请求发送模块用于根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求,使得所述待监测设备调用所述Java虚拟机根据所述新的参数获取请求获取所述待监测程序新的第一状态参数;
所述参数获取模块用于获取所述待监测设备通过所述Java虚拟机发送的所述新的第一状态参数,其中,所述新的第一状态参数与所述新的第一状态参数标识相对应。
7.根据权利要求6所述的数据采集装置,其特征在于,所述参数管理服务器为配置有ZooKeeper,该数据采集装置还包括监听注册模块,所述调用所述Java管理扩展获取所述参数管理服务器发送的更新通知之前:
所述监听注册模块用于向所述参数管理服务器发送携带有目标节点标识的注册请求,使得所述参数管理服务器调用所述ZooKeeper在所述目标节点标识所对应的目标节点中的第一状态参数标识发生变化时,向所述第一数据采集设备发送所述更新通知。
8.根据权利要求6所述的数据采集装置,其特征在于,所述第一数据采集设备还与第二数据采集设备通信连接,所述第二数据采集设备还与所述待监测设备通信连接以获取所述待监测程序的第二状态参数,所述第二状态参数不能通过所述Java管理扩展获取;所述请求发送模块通过如下方式发送参数获取请求:
向所述第二数据采集设备发送同步消息,使得所述第二数据采集设备获取所述第二状态参数;
获取到所述第二数据采集设备根据所述同步消息发送的应到消息后,根据所述新的第一状态参数标识向所述待监测设备发送新的参数获取请求。
9.一种数据采集设备,其特征在于,该数据采集设备包括存储器以及处理器,所述存储器存储有能够被所述处理器执行的机器可执行指令,该处理器执行所述机器可执行指令时,实现如权利要求1-5任一项所述的数据采集方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1-5任一项所述的数据采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911308227.1A CN111124609B (zh) | 2019-12-18 | 2019-12-18 | 数据采集方法、装置、数据采集设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911308227.1A CN111124609B (zh) | 2019-12-18 | 2019-12-18 | 数据采集方法、装置、数据采集设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124609A true CN111124609A (zh) | 2020-05-08 |
CN111124609B CN111124609B (zh) | 2023-03-24 |
Family
ID=70499605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911308227.1A Active CN111124609B (zh) | 2019-12-18 | 2019-12-18 | 数据采集方法、装置、数据采集设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124609B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641723A (zh) * | 2020-06-03 | 2020-09-08 | 中国科学院自动化研究所 | 设备状态追踪方法及装置 |
CN111857800A (zh) * | 2020-07-01 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 组件动态配置方法、装置、电子设备及存储介质 |
CN114338368A (zh) * | 2021-12-30 | 2022-04-12 | 南京中孚信息技术有限公司 | 基于单向导入设备的网络监管方法、设备及介质 |
CN114691304A (zh) * | 2022-03-28 | 2022-07-01 | 同方威视技术股份有限公司 | 实现集群虚拟机高可用的方法和装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327354A1 (en) * | 2008-06-26 | 2009-12-31 | Microsoft Corporation | Notification and synchronization of updated data |
CN109669717A (zh) * | 2018-09-25 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 基于部署平台的数据处理方法、装置、设备及存储介质 |
CN109710379A (zh) * | 2018-12-24 | 2019-05-03 | 广州供电局有限公司 | 虚拟运维管理方法、装置、系统、计算机设备和存储介质 |
-
2019
- 2019-12-18 CN CN201911308227.1A patent/CN111124609B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327354A1 (en) * | 2008-06-26 | 2009-12-31 | Microsoft Corporation | Notification and synchronization of updated data |
CN109669717A (zh) * | 2018-09-25 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 基于部署平台的数据处理方法、装置、设备及存储介质 |
CN109710379A (zh) * | 2018-12-24 | 2019-05-03 | 广州供电局有限公司 | 虚拟运维管理方法、装置、系统、计算机设备和存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641723A (zh) * | 2020-06-03 | 2020-09-08 | 中国科学院自动化研究所 | 设备状态追踪方法及装置 |
CN111641723B (zh) * | 2020-06-03 | 2021-10-08 | 中国科学院自动化研究所 | 设备状态追踪方法及装置 |
CN111857800A (zh) * | 2020-07-01 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 组件动态配置方法、装置、电子设备及存储介质 |
CN114338368A (zh) * | 2021-12-30 | 2022-04-12 | 南京中孚信息技术有限公司 | 基于单向导入设备的网络监管方法、设备及介质 |
CN114691304A (zh) * | 2022-03-28 | 2022-07-01 | 同方威视技术股份有限公司 | 实现集群虚拟机高可用的方法和装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111124609B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124609B (zh) | 数据采集方法、装置、数据采集设备及存储介质 | |
CN111049705B (zh) | 一种监控分布式存储系统的方法及装置 | |
US9015316B2 (en) | Correlation of asynchronous business transactions | |
CN106844165B (zh) | 告警方法及装置 | |
US10904112B2 (en) | Automatic capture of detailed analysis information based on remote server analysis | |
US9665391B2 (en) | Automated transaction tuning in application servers | |
US20040039728A1 (en) | Method and system for monitoring distributed systems | |
CN112231075B (zh) | 一种基于云服务的服务器集群负载均衡控制方法及系统 | |
US20210109949A1 (en) | Topology-based monitoring and alerting | |
CN111538563A (zh) | 一种对Kubernetes的事件分析方法及装置 | |
CN112130996A (zh) | 数据监控控制系统、方法、装置、电子设备和存储介质 | |
US10372572B1 (en) | Prediction model testing framework | |
CN114363144B (zh) | 一种面向分布式系统的故障信息关联上报方法及相关设备 | |
CN114090366A (zh) | 一种监控数据的方法、装置和系统 | |
US9367418B2 (en) | Application monitoring | |
CN108039956A (zh) | 应用监控方法、系统和计算机可读存储介质 | |
CN111339466A (zh) | 接口管理方法、装置、电子设备及可读存储介质 | |
CN110071952B (zh) | 服务调用量的控制方法和装置 | |
US11777810B2 (en) | Status sharing in a resilience framework | |
US11467862B2 (en) | Application change notifications based on application logs | |
CN111163117B (zh) | 一种基于Zookeeper的对等式调度方法和装置 | |
US10296967B1 (en) | System, method, and computer program for aggregating fallouts in an ordering system | |
CN116126521B (zh) | 服务内存信息的负载均衡方法、装置、存储介质和设备 | |
US11765065B1 (en) | System and method for scalable telemetry | |
CN116232946A (zh) | 一种基于api的cdn设备监控系统、方法及终端 |
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 |