数据收集方法和装置的制作方法
专利名称:数据收集方法和装置的制作方法
技术领域:
本发明涉及海量数据处理领域,尤其涉及一种数据收集方法和装置。
背景技术:
高性能集群监控的数据量越来越多,与此同时对监控性能的要求也越来越高,所以对而造成整个体系反应较慢。为了解决上述问题,本发明的实施例提供了一种数据收集方法和装置,下文中结合附图对的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征
可以相互任意组合。首先结合附图,对本发明的实施例一进行说明。本发明实施例一提供了一种数据收集方法,设计了缓存的动态机制,实现了对数据的转化,以及对数据的分类,利用双向链表管理对象的生命周期,如果一个聚合对象被访问到,那么就把它放到链表的前面,然后不定时要把缓存的对象加入到链表中,把过期的对象删除,同时匹配数据库中的变化,把需要的数据放到数据库中,也达到了和数据库数据一致性。当服务器要取数据时,通过缓存统一入口,来获得聚合根,根据聚合根的状态来获取对象。这样就可以实现了服务器不需要等待和数据库连接的时间,直接获取到了数据值,大大提高了服务器的性能和响应时间。使用该方法完成数据收集并提供数据访问的流程如图 1所示,包括步骤101、从集群中各节点采集数据;步骤102、在缓存中创建聚合,将采集到的数据作为所述聚合的聚合对象,存入所述缓存;本发明实施例中,在集群控制设备的内存中划分出一部分存储空间作为缓存,该缓存决定了创建的聚合的大小,即聚合占用的内存空间,缓存是虚拟机自动分配的。(空间大小视当前集群的数据量及访问密度而定),将采集到的集群中各节点数据存储在缓存中,为了进一步对后续的数据访问进行管理,在缓存内创建聚合,将采集到的数据以聚合对象的形式存储在该聚合中。本步骤具体如图2所示,包括步骤1021、创建聚合,所述聚合包括聚合根和至少一个聚合对象;步骤1022、创建聚合对象链表和聚合对象生命周期链表;步骤1023、将所述采集到的数据作为聚合对象,加入所述聚合对象链表中,并在所述聚合对象生命周期链表中记录各聚合对象的生命周期。缓存与节点及数据库的连接关系如图3所示,其中应用层为缓存外对象访问请求的来源,聚合根状态控制器主要用于记录聚合根的状态标志位,聚合对象的更新维护控制器则用于根据数据库同步机制将缓存中的数据与数据库进行同步。本发明实施例中创建聚合的目的是为了规范后续通过聚合根的访问控制机制。聚合根有状态标志位,其下的聚合对象具有状态标志位,在访问聚合根下的聚合对象时,同时在对象中增加状态标志位,当下次访问的时候,获得聚合根以后就要判断聚合根状态标志位和聚合对象的状态标志位,如果两个状态标志位都有变化,则需要重新加载待访问的聚合对象,即将待访问的聚合对象放到聚合对象链表的最前端。这样,就可以将对聚合对象的操作都封装在聚合内部,便于多线程环境下的并发访问控制。此外,还可以通过设置聚合根的状态标志位来限制缓存外对象对缓存中聚合对象的访问。缓存外对象访问缓存中的聚合对象要先来判断聚合根的状态标志位,只有聚合根
6的状态标志位指示接受缓存外对象访问,缓存外对象的访问请求才可得到聚合根的受理, 进而才能继续访问缓存中的聚合对象。步骤103、缓存外对象通过所述聚合根访问所述缓存中的聚合对象;本步骤中,根据步骤102所列的访问控制机制,缓存外对象
数据收集方法和装置的制作方法 来自淘豆网m.daumloan.com转载请标明出处.