本发明涉及服务端,具体来说,涉及一种服务端的监控方法和装置。
背景技术:
对于集群监控管理软件来说,监控数据从产生到展现到用户界面,大致分为以下三个阶段:
第一阶段:周期性轮询采集监控数据,并存储到数据库;
第二阶段:用户打开监控页面时,向服务器请求查询监控数据,并定时刷新;
第三阶段:服务器返回查询结果,将数据呈现到用户界面。
由此可以看出,现有的集群监控管理软件会存在如下两个问题:
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服务器将实时性能指标数据存储至服务端的第一数据库,并且将实时性能指标数据发送至客户端。
根据本发明的一个实施例,进一步包括:同步子模块(未示出),用于通过回调函数将实时性能指标数据同步更新到监控页面上。
综上所述,借助于本发明的上述技术方案,通过采集服务端的实时性能指标数据,随后将实时性能指标数据存储至服务端的第一数据库,同时将实时性能指标数据发送至客户端,并且客户端根据实时性能指标数据,更新本地缓存,随后在打开监控页面的情况下,从本地缓存中读取实时性能指标数据,最后重复继续执行步骤上述步骤,将实时性能指标数据同步更新到监控页面上,从而能够实现实时且高效地监控数据的展示效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。