一种服务端的监控方法和装置与流程

文档序号:12665327阅读:150来源:国知局
一种服务端的监控方法和装置与流程

本发明涉及服务端,具体来说,涉及一种服务端的监控方法和装置。



背景技术:

对于集群监控管理软件来说,监控数据从产生到展现到用户界面,大致分为以下三个阶段:

第一阶段:周期性轮询采集监控数据,并存储到数据库;

第二阶段:用户打开监控页面时,向服务器请求查询监控数据,并定时刷新;

第三阶段:服务器返回查询结果,将数据呈现到用户界面。

由此可以看出,现有的集群监控管理软件会存在如下两个问题:

1、监控数据的产生,到用户界面的展现,会存在小于一个采集周期的时间延迟,例如,监控采集周期是120秒,每间隔120秒会采集一次监控数据,如果页面定时刷新的间隔也是120秒,这样在页面上看到的数据就会产生0到119秒不等的延时。

2、监控页面初始化和定时刷新时存在性能问题,如监控页面加载较慢等,从而影响用户体验,例如,在第二阶段中,一般采用HTTP请求(从客户端到服务器端的请求消息)的方式查询监控数据,响应速度较慢。

针对相关技术中的问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中的问题,本发明提出一种服务端的监控方法和装置,能够实现实时且高效地监控数据的展示效果。

本发明的技术方案是这样实现的:

根据本发明的一个方面,提供了一种服务端的监控方法。

该监控方法包括:步骤S1,采集服务端的实时性能指标数据;步骤S2,将实时性能指标数据存储至服务端的第一数据库,同时将实时性能指标数据发送至客户端,并且客户端根据实时性能指标数据,更新本地缓存;步骤S3,在打开监控页面的情况下,从本地缓存中读取实时性能指标数据;步骤S4,重复继续执行步骤S1、S2,并且在步骤S2中,将实时性能指标数据同步更新到监控页面上。

根据本发明的一个实施例,实时性能指标数据包括以下至少之一:温度、CPU使用率、内存使用率。

根据本发明的一个实施例,在步骤S1之前包括:将Web数据库和第一数据库进行匹配,更新Web数据库,其中,Web数据库设置在客户端中。

根据本发明的一个实施例,通过RabbitMQ服务器将实时性能指标数据存储至服务端的第一数据库,并且将实时性能指标数据发送至客户端。

根据本发明的一个实施例,通过回调函数将实时性能指标数据同步更新到监控页面上。

根据本发明的另一方面,提供了一种服务端的监控装置。

该服务端的监控装置包括:采集模块,用于采集服务端的实时性能指标数据;存储更新模块,用于将实时性能指标数据存储至服务端的第一数据库,同时将实时性能指标数据发送至客户端,并且客户端根据实时性能指标数据,更新本地缓存;读取模块,用于在打开监控页面的情况下,从本地缓存中读取实时性能指标数据;同步模块,用于将实时性能指标数据同步更新到监控页面上。

根据本发明的一个实施例,实时性能指标数据包括以下至少之一:温度、CPU使用率、内存使用率。

根据本发明的一个实施例,进一步包括:匹配模块,用于将Web数据库和第一数据库进行匹配,更新Web数据库,其中,Web数据库设置在客户端中。

根据本发明的一个实施例,进一步包括:存储更新子模块,用于通过RabbitMQ服务器将实时性能指标数据存储至服务端的第一数据库,并且将实时性能指标数据发送至客户端。

根据本发明的一个实施例,进一步包括:同步子模块,用于通过回调函数将实时性能指标数据同步更新到监控页面上。

本发明通过采集服务端的实时性能指标数据,随后将实时性能指标数据存储至服务端的第一数据库,同时将实时性能指标数据发送至客户端,并且客户端根据实时性能指标数据,更新本地缓存,随后在打开监控页面的情况下,从本地缓存中读取实时性能指标数据,最后重复继续执行步骤上述步骤,将实时性能指标数据同步更新到监控页面上,从而能够实现实时且高效地监控数据的展示效果。

附图说明

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

图1是根据本发明实施例的服务端的监控方法的流程图;

图2是根据本发明实施例的服务端的监控方法的具体流程图;

图3是根据本发明实施例的服务端的监控装置的框图。

具体实施方式

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

根据本发明的实施例,提供了一种服务端的监控方法。

如图1所示,根据本发明实施例的服务端的监控方法包括:

步骤S101,采集服务端的实时性能指标数据;

步骤S103,将实时性能指标数据存储至服务端的第一数据库,同时将实时性能指标数据发送至客户端,并且客户端根据实时性能指标数据,更新本地缓存;

步骤S105,在打开监控页面的情况下,从本地缓存中读取实时性能指标数据;

步骤S107,重复继续执行步骤S101、S103,并且在步骤S103中,将实时性能指标数据同步更新到监控页面上。

通过本发明的上述方案,通过采集服务端的实时性能指标数据,随后将实时性能指标数据存储至服务端的第一数据库,同时将实时性能指标数据发送至客户端,并且客户端根据实时性能指标数据,更新本地缓存,随后在打开监控页面的情况下,从本地缓存中读取实时性能指标数据,最后重复继续执行步骤上述步骤,将实时性能指标数据同步更新到监控页面上,从而能够实现实时且高效地监控数据的展示效果。

根据本发明的一个实施例,实时性能指标数据包括以下至少之一:温度、CPU使用率、内存使用率。

根据本发明的一个实施例,在步骤S1之前包括:将Web数据库和第一数据库进行匹配,更新Web数据库,其中,Web数据库设置在客户端中。

根据本发明的一个实施例,通过RabbitMQ服务器将实时性能指标数据存储至服务端的第一数据库,并且将实时性能指标数据发送至客户端。

根据本发明的一个实施例,通过回调函数将实时性能指标数据同步更新到监控页面上。

为了更好的描述本发明,下面通过一个具体的实施例进行详细的描述。

如图2所示,本发明的服务端的监控方法包括:客户端、服务端(或集群),其中,在服务端进行如下操作:

采集服务端的性能指标数据,并存储到数据库,其中,采集的时间可根据实际需求进行设定,例如,根据本发明的一个实施例,通过周期轮询的方式采集服务端的性能指标数据;

此外,在服务端中安装RabbitMQ服务器,通过该RabbitMQ服务器使得存储性能指标数据的同时,将性能指标数据发送至客户端,其中,该RabbitMQ服务器是一个消息代理,其核心原理是发送消息和接收消息,该RabbitMQ服务器主要用于组件之间的解耦,消息发送者无需知道消息使用者的存在,反之亦然,此外,上述MQ(Message Queue,消息队列)是一种应用程序对应用程序的通信方法,应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们,消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术,排队指的是应用程序通过队列来通信,队列的使用除去了接收和发送应用程序同时执行的要求。

在客户端进行如下操作:

系统登录后,立即查询最新的服务器性能指标数据更新到本地存储,即更新HTML5Web存储localStorage,其中,localstoage保存的数据是以key-value的形式存储的,key通过输入框输入,而value是一个字符串,同时,该HTML5Web存储localStorage没有时间限制的数据存储,在HTML5(应用超文本标记语言的第五次重大修改)中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据,它使在不影响网站性能的情况下存储大量数据成为可能,此外,对于不同的网站,数据存储于不同的区域,并且一个网站只能访问其自身的数据,并且HTML5使用JavaScript(直译式脚本语言)来存储和访问数据,并且该HTML5Web存储localStorage兼容所有主流浏览器(如,IE8);

在客户端中建立与服务端中的RabbitMQ服务器的长期连接,监听服务器端的监控数据,并更新到本地缓存;

此外,打开监控页面时,直接从本地缓存中读取服务端的性能指标数据,将该性能指标数据呈现在监控页面上,同时,可设置设置回调函数,在客户端中建立与服务端中的RabbitMQ服务器的长期连接的过程中,将监听服务器端的监控数据同步更新到打开的监控页面上。

根据本发明的实施例,还提供了一种服务端的监控装置。

如图3所示,根据本发明实施例的服务端的监控装置包括:

采集模块31,用于采集服务端的实时性能指标数据;

存储更新模块32,用于将实时性能指标数据存储至服务端的第一数据库,同时将实时性能指标数据发送至客户端,并且客户端根据实时性能指标数据,更新本地缓存;

读取模块33,用于在打开监控页面的情况下,从本地缓存中读取实时性能指标数据;

同步模块34,用于将实时性能指标数据同步更新到监控页面上。

根据本发明的一个实施例,实时性能指标数据包括以下至少之一:温度、CPU使用率、内存使用率。

根据本发明的一个实施例,进一步包括:匹配模块(未示出),用于将Web数据库和第一数据库进行匹配,更新Web数据库,其中,Web数据库设置在客户端中。

根据本发明的一个实施例,进一步包括:存储更新子模块(未示出),用于通过RabbitMQ服务器将实时性能指标数据存储至服务端的第一数据库,并且将实时性能指标数据发送至客户端。

根据本发明的一个实施例,进一步包括:同步子模块(未示出),用于通过回调函数将实时性能指标数据同步更新到监控页面上。

综上所述,借助于本发明的上述技术方案,通过采集服务端的实时性能指标数据,随后将实时性能指标数据存储至服务端的第一数据库,同时将实时性能指标数据发送至客户端,并且客户端根据实时性能指标数据,更新本地缓存,随后在打开监控页面的情况下,从本地缓存中读取实时性能指标数据,最后重复继续执行步骤上述步骤,将实时性能指标数据同步更新到监控页面上,从而能够实现实时且高效地监控数据的展示效果。

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

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