监控数据缓存方法及系统技术方案

技术编号:9200532 阅读:141 留言:0更新日期:2013-09-26 04:13
一种监控数据缓存方法,该方法包括步骤:在缓存区域中设置一个设备数据链表及一个监控数据链表;设置循环指针指向设备数据链表的首记录节点前一节点;每隔预设时间接收监控设备实时监控得到的监控数据及监控时间,并依次读取该监控数据中每一监控项目的数据及其对应的监控时间;将该循环指针移至下一个记录节点;修改设备数据链表中当前记录节点存储的数据;新增所述设备数据链表中本次修改的记录节点的数据到监控数据链表中。本发明专利技术还提供一种监控数据缓存系统。本发明专利技术可以及时反馈监控数据,并且能够形成客户端启动时刻之前的历史监控数据曲线。

【技术实现步骤摘要】
监控数据缓存方法及系统
本专利技术涉及一种缓存方法及系统,尤其是涉及一种监控数据缓存方法及系统。
技术介绍
在云基础设施硬件监控过程中,常常需要实时监控数据曲线和历史监控数据曲线的显示。在B/S架构日趋流行的今天,利用网络客户端的监控需求也越来越多,在不同的客户端对相同的硬件设施进行监控,将导致监控服务器频繁读取硬件信息。而读取硬件信息是一个非常耗时的操作,导致反应迟钝。例如有100个客户端,每秒监控一次,这样对同一硬件就要读取100次硬件信息,假使一次读取需要0.1秒,全速运行还需要10秒时间,因此会导致监控服务器的负载过大,而且监控数据会失去实时性。如果把监控数据存入数据库,虽然可以减少读取硬件的次数,但是会需要频繁读取数据库,也会造成数据的延时,失去实时数据的精准性。另外,如果在客户端启动时就想查看最近时间段的历史监控数据曲线,也是一个困难点。如果从数据库读取历史数据形成此曲线,依然会面临多客户端频繁访问数据库和数据不及时的问题。而传统的处理方式是只记录从启动客户端时刻起时间轴向后的曲线,无法形成启动时刻前一段时间的曲线,例如Windows系统中的CPU曲线、PF(PageFile,内存分页)用量曲线等。
技术实现思路
鉴于以上内容,有必要提供一种监控数据缓存方法,可以不用频繁读取被监控硬件信息,及时反馈监控数据,并且能够形成客户端启动时刻之前的历史监控数据曲线。鉴于以上内容,还有必要提供一种监控数据缓存系统,可以不用频繁读取被监控硬件信息,及时反馈监控数据,并且能够形成客户端启动时刻之前的历史监控数据曲线。所述监控数据缓存方法包括:第一设置步骤:在监控服务器的缓存区域中设置一个设备数据链表及一个监控数据链表,并设置监控数据链表的预定长度;第二设置步骤:设置循环指针指向所述设备数据链表的首记录节点前一节点;第一接收步骤:每隔预设时间接收监控设备实时监控得到的监控数据及监控时间;第二接收步骤:依次读取该监控数据中每一监控项目的数据及其对应的监控时间;读取步骤:当循环指针未到达所述设备数据链表尾部时,将该循环指针移至下一个记录节点,记为当前记录节点;修改步骤:根据所读取的监控项目的监控数据及监控时间,修改所述设备数据链表中当前记录节点存储的数据;移除步骤:当所述监控数据链表已经达到预定长度时,移除所述监控数据链表中存储时间最早的记录节点的数据;及新增步骤:当所述监控数据链表未达到预定长度时,或者已经移除存储时间最早的记录节点的数据后,新增所述设备数据链表中本次修改的记录节点的数据到所述监控数据链表中,然后返回所述第二接收步骤。所述监控数据缓存系统包括:设置模块,用于在监控服务器的缓存区域中设置一个设备数据链表及一个监控数据链表,并设置监控数据链表的预定长度;所述设置模块还用于设置循环指针指向所述设备数据链表的首记录节点前一节点;第一接收模块,用于每隔预设时间接收监控设备实时监控得到的监控数据及监控时间;所述第一接收模块,还用于依次读取该监控数据中每一监控项目的数据及其对应的监控时间;第一读取模块,用于当循环指针未到达所述设备数据链表尾部时,将该循环指针移至下一个记录节点,记为当前记录节点;修改模块,用于根据所读取的监控项目的监控数据及监控时间,修改所述设备数据链表中当前记录节点存储的数据;移除模块,用于当所述监控数据链表已经达到预定长度时,移除所述监控数据链表中存储时间最早的记录节点的数据;及新增模块,用于当所述监控数据链表未达到预定长度时,或者已经移除存储时间最早的记录节点的数据后,新增所述设备数据链表中本次修改的记录节点的数据到所述监控数据链表中,然后触发所述第一接收模块继续读取下一个监控项目的数据及其对应的监控时间。相较于现有技术,所述的监控数据缓存方法及系统,能够在网络服务器请求实时数据时,不用直接访问被监控硬件去读取硬件参数,而由缓存区域的设备数据链表直接反馈最新的监控数据,保证了实时监控数据的及时性和精准性;在网络服务器请求历史数据时,由缓存区域的监控数据链表反馈对应时间段的监控数据,不仅可以形成客户端(显示终端)启动后的历史监控数据曲线,也可形成客户端启动之前一段时间的历史监控数据曲线。附图说明图1是本专利技术监控数据缓存系统较佳实施例的架构图。图2是本专利技术监控数据缓存系统较佳实施例的功能模块图。图3是本专利技术监控数据缓存方法较佳实施例的数据缓存过程流程图。图4是本专利技术监控数据缓存方法较佳实施例的数据反馈过程流程图。主要元件符号说明监控服务器1网络服务器2显示终端3数据库4监控设备5监控数据缓存系统10缓存区域20设备数据链表21监控数据链表22设置模块100第一接收模块101第一判断模块102第一读取模块103修改模块104移除模块105新增模块106第二接收模块107第二判断模块108第二读取模块109反馈模块110如下具体实施方式将结合上述附图进一步说明本专利技术。具体实施方式如图1所示,是本专利技术监控数据缓存系统较佳实施例的架构图。所述监控数据缓存系统10运行于监控服务器1中。所述监控服务器1与网络服务器2、数据库4及一个或多个监控设备5(图中示出两个作为代表)进行数据通信。所述监控服务器1中还包括缓存区域20,所述缓存区域20为该监控服务器1内存中的一部分。每个监控设备5用于实时监控一个或多个被监控硬件(图中未示出)的硬件参数和工作环境,并将得到的监控数据及监控时间传送至所述监控服务器1。所述硬件参数包括CPU使用率、PF使用率等;所述工作环境包括机房温度、湿度、电源电流强度等。所述监控服务器1用于接收所述监控设备5实时监控得到的监控数据及监控时间,将该监控数据及监控时间缓存至所述缓存区域20中,当网络服务器2请求监控数据时,由所述缓存区域20提供数据。在本实施例中,所述监控数据为被监控硬件的硬件参数和工作环境。所述网络服务器2连接于一个或多个显示终端3(图中示出两个作为代表),用于根据用户的请求从所述监控服务器1获取相应的监控数据,显示在所述显示终端3上供用户查看。值得注意的是,所述数据库4可以位于连接于监控服务器1的其他服务器中,也可以位于所述监控服务器1中。所述缓存区域20中的监控数据定期发送至所述数据库4中进行长期存储,以供用户查看历史数据。如图2所示,是本专利技术监控数据缓存系统较佳实施例的功能模块图。所述监控数据缓存系统10包括设置模块100、第一接收模块101、第一判断模块102、第一读取模块103、修改模块104、移除模块105、新增模块106、第二接收模块107、第二判断模块108、第二读取模块109及反馈模块110。其中,所述设置模块100、第一接收模块101、第一判断模块102、第一读取模块103、修改模块104、移除模块105及新增模块106主要用于执行数据缓存过程,所述第二接收模块107、第二判断模块108、第二读取模块109及反馈模块110主要用于执行数据反馈过程。所述数据反馈过程是对数据缓存过程中所缓存的监控数据的读取。所述设置模块100用于在所述缓存区域20中设置一个设备数据链表(DicDeviceData)21及一个监控数据链表(MonitorDataList)22,并设置监控数据链表22的预定长度。所述设备数据链表21用于记录被监控硬件的最新的监控数本文档来自技高网...
监控数据缓存方法及系统

【技术保护点】
一种监控数据缓存方法,其特征在于,该方法包括:第一设置步骤:在监控服务器的缓存区域中设置一个设备数据链表及一个监控数据链表,并设置监控数据链表的预定长度;第二设置步骤:设置循环指针指向所述设备数据链表的首记录节点前一节点;第一接收步骤:每隔预设时间接收监控设备实时监控得到的监控数据及监控时间;第二接收步骤:依次读取该监控数据中每一监控项目的数据及其对应的监控时间;读取步骤:当循环指针未到达所述设备数据链表尾部时,将该循环指针移至下一个记录节点,记为当前记录节点;修改步骤:根据所读取的监控项目的监控数据及监控时间,修改所述设备数据链表中当前记录节点存储的数据;移除步骤:当所述监控数据链表已经达到预定长度时,移除所述监控数据链表中存储时间最早的记录节点的数据;及新增步骤:当所述监控数据链表未达到预定长度时,或者已经移除存储时间最早的记录节点的数据后,新增所述设备数据链表中本次修改的记录节点的数据到所述监控数据链表中,然后返回所述第二接收步骤。

【技术特征摘要】
1.一种监控数据缓存方法,其特征在于,该方法包括:第一设置步骤:在监控服务器的缓存区域中设置一个设备数据链表及一个监控数据链表,并设置监控数据链表的预定长度;第二设置步骤:设置循环指针指向所述设备数据链表的首记录节点前一节点;第一接收步骤:每隔预设时间接收监控设备实时监控得到的监控数据及监控时间;第二接收步骤:依次读取该监控数据中每一监控项目的数据及其对应的监控时间;第一判断步骤:判断循环指针是否到达所述设备数据链表尾部;读取步骤:当循环指针未到达所述设备数据链表尾部时,将该循环指针移至下一个记录节点,记为当前记录节点;修改步骤:根据所读取的监控项目的监控数据及监控时间,修改所述设备数据链表中当前记录节点存储的数据;第二判断步骤:判断所述监控数据链表是否已经达到预定长度;移除步骤:当所述监控数据链表已经达到预定长度时,移除所述监控数据链表中存储时间最早的记录节点的数据;及新增步骤:当所述监控数据链表未达到预定长度时,或者已经移除存储时间最早的记录节点的数据后,新增所述设备数据链表中本次修改的记录节点的数据到所述监控数据链表中,然后返回所述第二接收步骤。2.如权利要求1所述的监控数据缓存方法,其特征在于,该方法还包括步骤:当循环指针到达所述设备数据链表尾部时,判断是否继续监控,当需要继续监控时,返回所述第二设置步骤,当不需要继续监控时,流程结束。3.一种监控数据缓存系统,其特征在于,该系统包括:设置...

【专利技术属性】
技术研发人员:李忠一王宜国彭冠桥黄健陆一铭
申请(专利权)人:鸿富锦精密工业深圳有限公司鸿海精密工业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1