一种监控数据的获取方法、装置及计算机与流程

文档序号:11154779阅读:278来源:国知局
一种监控数据的获取方法、装置及计算机与制造工艺

本发明涉及计算机技术领域,特别涉及一种监控数据的获取方法、装置及计算机。



背景技术:

在云监控系统中,资源的健康情况是通过监控资源分析或者直接从待监控资源的各个监控项的数据中得到的,因此在云监控系统中,资源的监控数据的实时获取和存储成为云监控系统中其他模块的基础。

目前,当添加一种资源时,需要实时获取一些监控项,比如该资源的系统分区、电源状态、风扇状态等一些硬件信息时,当请求获取这些硬件信息,通过协议需要很长的时候才能获取到该监控项的监控信息;是由于当通过协议获取该资源的监控信息时,有可能因为网络问题或者通过协议本身获取监控数据时间就长,导致前台页面请求该监控项的监控信息时,出现页面等待时间长或者超时的情况。这种情况严重影响系统的易用性和友好性。因此,如何提高监控数据获取的速度,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种监控数据的获取方法、装置及计算机,通过后台监控项的监控数据缓存机制,避免当网络不好时或者通过协议获取监控数据时间长,导致前台页面请求超时,影响系统的稳定性、易用性和友好性。

为解决上述技术问题,本发明提供一种监控数据的获取方法,包括:

定时获取监控项对应的监控任务的监控数据;

将所述监控数据存储到指定缓存区域;

当接收到查询指令时,从所述指定缓存区域中提取对应监控数据。

可选的,将所述监控数据存储到指定缓存区域,包括:

将所述监控数据存储到指定缓存区域替换对应的旧监控数据。

可选的,将所述监控数据存储到指定缓存区域,包括:

将所述监控数据存储到指定内存缓存区域。

可选的,该方法还包括:

根据修改指令修改所述监控项对应的监控任务。

可选的,当接收到查询指令时,从所述指定缓存区域中提取对应监控数据,包括:

当接收到查询指令时,从所述指定缓存区域中提取对应监控指标的监控数据。

本发明还提供一种监控数据的获取装置,包括:

定时任务管理模块,用于定时获取监控项对应的监控任务的监控数据;

监控数据存储模块,用于将所述监控数据存储到指定缓存区域;

监控数据获取模块,用于当接收到查询指令时,从所述指定缓存区域中提取对应监控数据。

可选的,所述监控数据存储模块具体为将所述监控数据存储到指定内存缓存区域的模块。

可选的,所述定时任务管理模块还包括:

监控任务修改单元,用于根据修改指令修改所述监控项对应的监控任务。

可选的,所述监控数据获取模块具体为当接收到查询指令时,从所述指定缓存区域中提取对应监控指标的监控数据的模块。

本发明还提供一种计算机,包括根据上述任一项所述的监控数据的获取装置。

本发明所提供的一种监控数据的获取方法,包括:定时获取监控项对应的监控任务的监控数据;将监控数据存储到指定缓存区域;当接收到查询指令时,从指定缓存区域中提取对应监控数据;

可见,该方法当用户需要查看监控数据时,直接从对应监控项的缓冲区域中获取该监控项的监控数据,从而能够快速地获取监控项的监控数据;即通过后台监控项的监控数据缓存机制,可以避免当网络不好时,或者通过协议获取监控数据时间长,导致前台页面请求超时,影响系统的稳定性、易用性和友好性;本发明还提供了一种监控数据的获取装置及计算机,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本发明实施例所提供的监控数据的获取方法的流程图;

图2为本发明实施例所提供的缓存监控数据的示意图;

图3为本发明实施例所提供的提取缓存的监控数据的示意图;

图4为本发明实施例所提供的监控数据的获取装置的结构框图。

具体实施方式

本发明的核心是提供一种监控数据的获取方法、装置及计算机,通过后台监控项的监控数据缓存机制,避免当网络不好时或者通过协议获取监控数据时间长,导致前台页面请求超时,影响系统的稳定性、易用性和友好性。

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

请参考图1,图1为本发明实施例所提供的监控数据的获取方法的流程图;该方法可以包括:

S100、定时获取监控项对应的监控任务的监控数据;

具体的,定时获取监控项设定的监控任务,监控任务为设置的需要定期的获取数据的监控指标。这里的监控项与资源一一对应即一个资源对应一个监控项;例如可以通过资源的唯一标识(例如ID号)与监控项进行对应。当用户确定需要的资源即监控项以及各个监控项具体的监控任务,可以将每个监控项获取监控数据的任务,后台设置一个定时任务,设置任务的执行周期,定时通过协议获取该监控项的监控任务对应的监控数据并写入到缓冲池中。这里并不对监控项、监控任务、执行周期的设置进行限定,可以由用户根据实际情况进行设定,且可以根据用户的实际需求对已经设定的监控项、监控任务、执行周期进行修改。例如增加监控项,改变执行周期即定时周期,增删监控任务等。即该方法还可以包括根据修改指令修改所述监控项对应的监控任务。

由于资源基本上都需要进行监控,因此在首次开始设定定时任务时,可以将集群系统中全部的资源即全部的监控项的都定时获取及缓存监控数据。随着时间的增长当监测到系统增加资源或者减少资源时可以对应的增加监控项的定时任务或者删除对应监控项的定时任务。例如通过在添加资源监控项的时候,添加该监控项的定时任务,后台定时通过协议获取该监控项的监控数据。

且由于监控项对应的监控任务中的监控指标的变化程度并不是一致的,即有的监控指标例如CPU使用率等变化较大,有些监控指标例如操作系统的系统分区,长时间内的变化不大。因此在定时任务中每次都需要全部获取这些监控指标的监控数据时,存在着浪费时间,浪费存储空间,效率低的问题。因此,这里的监控项对应的定时监控任务重每个监控指标的监控周期可以是不同的。或者是仅仅将变化比较慢的监控指标设置为统一周期的定时任务,例如当某监控指标在短时间内变化不明显,比如说操作系统的系统分区,网卡信息、逻辑磁盘等硬件信息在短时间内的变化不大,并且通过Agent协议获取该监控信息时,需要很长的时间才能获取到。为了避免这种情况,可以将该监控项的该监控指标的监控数据的获取设置为一个定时任务,设置该监控项的定时任务的周期性,并启动该定时任务,通过某种协议定时获取该监控项的监控数据,并将获取的监控数据加入监控数据缓冲区中,以便监控数据的获取。具体过程请参考图2。

S110、将所述监控数据存储到指定缓存区域;

具体的,将定时任务获取的监控数据存储到监控项对应的缓存区域。根据定时任务的周期,周期性地更新监控数据缓冲区的监控数据的内容,缓冲区可以根据监控信息的多少来进行定义,比如内存缓存区等,用数据库来当缓存区。进一步为了提高获取缓存的监控数据的速度,优选的,将所述监控数据存储到指定内存缓存区域。通过这种方式可以保证当页面请求改监控数据时,能够快速地获取该监控数据,从而避免用户无意义的等待,提高系统的易用性和灵活性。具体过程请参考图2。由用户添加监控资源,在定时任务生成模块内设定定时周期,监控任务等生成定时任务进行周期性的获取监控数据以便监控数据存储模块周期性的存储和更新监控信息(即监控数据)到存储池(指缓存区域定)。

由于随着时间的增长缓存区域内将存储大量的缓存数据,占据较多的内存资源,且很大一部分监控数据是没有使用价值的,因此在缓存监控数据时,可以判断该监控数据的保存时间,例如仅存放最近三次获取的监控数据,或者是每次获取监控数据后替换之前的监控数据等,这里的保存时间可以由用户进行确定,且同一个监控项对应的监控指标的保存时间可以不同。为了节省内存资源,优选的,将所述监控数据存储到指定缓存区域替换对应的旧监控数据。这里的旧监控数据即为根据用户设定的规则需要进行替换的数据。即需要利用新获取的监控数据去替换的旧的监控数据。例如利用最新获取的监控数据替换缓存区域对应的最原始的监控数据,则该最原始的监控数据即可以作为旧监控数据。

S120、当接收到查询指令时,从所述指定缓存区域中提取对应监控数据。

具体的,当用户需要查看监控项的监控数据时,系统先从监控项缓存区中查询该监控项的监控数据,并将缓冲区中监控数据反馈给用户,能够保证用户能够实时、快速地获取到该监控项的监控数据。

这里用户还可以选取获取的监控数据的时间(例如获取监控项最近时间的监控数据)。还可以获取监控项的监控任务中的某一些指定的监控指标的监控数据。即可选的,当接收到查询指令时,从所述指定缓存区域中提取对应监控指标的监控数据。例如当用户页面请求查看该资源的系统分区时,系统根据系统分区监控项的ID从监控数据缓冲区中查询该监控项的监控信息,并将查询到的监控信息反馈给用户,能够保证用户能够实时、快速地获取到该监控项的监控数。如附图3所示。监控数据获取模块接受用户的查询指令例如监控项ID由监控数据获取模块向监控数据存储模块发送监控数据获取请求,监控数据存储模块查询监控数据获取请求对应的监控数据返回给用户。

基于上述技术方案,本发明实施例提供的监控数据的获取方法,基于缓存机制的监控数据获取方式,通过在添加资源监控项的时候,添加该监控项的定时任务,后台定时通过协议获取该监控项的监控数据,并将监控数据实时地放入监控数据的缓冲区中,当用户请求该监控项的监控信息时,无需等待长时间地等待实时地通过协议获取监控数据,而是通过获取缓冲区中的监控数据,从而快速地获取该监控项的监控数据,提高系统的易用性和友好性。

下面对本发明实施例提供的监控数据的获取装置及计算机进行介绍,下文描述的监控数据的获取装置及计算机与上文描述的监控数据的获取方法可相互对应参照。

请参考图4,图4为本发明实施例所提供的监控数据的获取装置的结构框图;该装置可以包括:

定时任务管理模块100,用于定时获取监控项对应的监控任务的监控数据;

监控数据存储模块200,用于将所述监控数据存储到指定缓存区域;

监控数据获取模块300,用于当接收到查询指令时,从所述指定缓存区域中提取对应监控数据。

基于上述实施例,所述监控数据存储模块200具体为将所述监控数据存储到指定内存缓存区域的模块。

基于上述任意实施例,所述定时任务管理模块100还包括:

监控任务修改单元,用于根据修改指令修改所述监控项对应的监控任务。

基于上述任意实施例,所述监控数据获取模块300具体为当接收到查询指令时,从所述指定缓存区域中提取对应监控指标的监控数据的模块。

基于上述技术方案,本发明实施例提供的监控数据的获取装置,可以将每个监控项获取监控数据的任务,后台设置一个定时任务,设置任务的执行周期,定时通过协议获取该监控项的监控数据并写入到缓冲池中。当用户需要查看这些数据时,直接从该监控项的缓冲区汇总获取该监控项的监控数据,从而能够快速地获取监控项的监控数据。通过后台监控项的监控数据缓存机制,可以避免当网络不好时,或者通过协议获取监控数据时间长,导致前台页面请求超时,影响系统的稳定性、易用性和友好性。

本发明还提供一种计算机,包括根据上述任意实施例所述的监控数据的获取装置。

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

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的监控数据的获取方法、装置及计算机进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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