本发明专利技术提出一种虚拟机监控数据的存取方法及装置,包括:配置至少一个缓存块,在每个缓存块中设置有至少秒级时间窗口、分钟级时间窗口、小时级时间窗口和天级时间窗口;每隔一定时间将获取的监控数据存入秒级时间窗口的一个单元中;秒级时间窗口每隔1分钟将缓存的数据作均值,并将均值存入分钟级时间窗口的一个单元中;分钟级时间窗口每隔1小时将缓存的数据作均值,并将均值存入小时级时间窗口的一个单元中;小时级时间窗口每隔1天将缓存的数据作均值,并将均值存入天级时间窗口的一个单元中;从而缓存的数据均具有时间特性;根据时间特性从各窗口中调取对应时间的数据。本发明专利技术即使在监控数据量很大时,用户依然可以快速获得资源使用情况。
【技术实现步骤摘要】
本专利技术涉及虚拟化技术,尤其涉及的是虚拟机监控数据的存取技术。
技术介绍
随着云计算的日益发展,虚拟化技术得到了广泛的应用。云服务将大量实体计算资源和存储资源集中起来,并且拥有大量的虚拟机,对每台虚拟机配置不同的资源量,实现资源共享,大大提高了实体资源的利用率。作为虚拟化云服务的主体,虚拟机的运行状态间接体现了服务器的运行状态,因而需要对虚拟机的运行状态进行监控,例如OpenStack( —个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作)架构中的虚拟机监控技术,cei lometer (OpenStack中的组件)可能产生大量的后台数据,操作者需要根据冗杂的数据进行统计来实现监控的目的,在数据量较小的时候,数据能够较快得到统计处理,查询也可以较为及时,而当后台数据量过大时,往往需要花费大量时间才能统计出资源的使用情况,此外,当操作者希望获得相应时间的监控数据时,也许要很长的时间进行查询,因而需要对其进行优化。
技术实现思路
本专利技术所要解决的技术问题是提供一种虚拟机监控数据的存取方法及装置,即使在监控数据量很大时,用户依然可以快速获得资源使用情况。为解决上述问题,本专利技术提出一种虚拟机监控数据的存取方法,包括:配置至少一个缓存块,在每个缓存块中设置有至少秒级时间窗口、分钟级时间窗口、小时级时间窗口和天级时间窗口;每隔一定时间将获取的监控数据存入所述秒级时间窗口的一个单元中;所述秒级时间窗口每隔I分钟将缓存的数据作均值,并将均值存入所述分钟级时间窗口的一个单元中;所述分钟级时间窗口每隔I小时将缓存的数据作均值,并将均值存入所述小时级时间窗口的一个单元中;所述小时级时间窗口每隔I天将缓存的数据作均值,并将均值存入所述天级时间窗口的一个单元中;从而缓存的数据均具有时间特性;根据时间特性从各窗口中调取对应时间的数据。根据本专利技术的一个实施例,在每个缓存块中还设置有月级时间窗口和年级时间窗P;所述天级时间窗口每隔I月将缓存的数据作均值,并将均值存入所述月级时间窗口的一个单元中;所述月级时间窗口每隔I年将缓存的数据作均值,并将均值存入所述年级时间窗口的一个单元中。根据本专利技术的一个实施例,各级别时间窗口在相应作出均值后或者到达设定时间期限点后清空本身的数据;或者,各级别时间窗口的各单元的旧数据由新数据替换。根据本专利技术的一个实施例,在所述年级时间窗口到达设定时间期限点时,给出需要备份数据的提示。根据本专利技术的一个实施例,各级别时间窗口的各单元的缓存数据大小根据获取的监控数据特征而定,并且固定不变。根据本专利技术的一个实施例,各所述缓存块的后端采用数据库进行存储,存储方式根据时间窗口的级别关联存储,用户根据时间特性从数据库中调取对应时间的数据。根据本专利技术的一个实施例,若所述秒级时间窗口在所述一定时间内没有获取到监控数据,或所述秒级时间窗口获取到的监控数据异常时,则生成一标记数据缓存到相应单元中;在所述秒级时间窗口到达设定时间期限点时,将排除该标记数据之后的数据作均值,并将均值存入所述分钟级时间窗口的一个单元中。根据本专利技术的一个实施例,所述监控数据由ceilometer产生,不同来源的监控数据由虚拟机不同的实例获取,同一来源的监控数据缓存到一个缓存块中,将虚拟机的实例标识作为监控数据的关键字。为解决上述问题,本专利技术还提出一种虚拟机监控数据的存取装置,包括:缓存模块,具有至少一个缓存块,在每个缓存块中设置有至少秒级时间窗口、分钟级时间窗口、小时级时间窗口和天级时间窗口;数据处理模块,用以:每隔一定时间将获取的监控数据存入所述秒级时间窗口的一个单元中;将所述秒级时间窗口每隔I分钟将缓存的数据作均值,并将均值存入所述分钟级时间窗口的一个单元中;将所述分钟级时间窗口每隔I小时将缓存的数据作均值,并将均值存入所述小时级时间窗口的一个单元中;将所述小时级时间窗口每隔I天将缓存的数据作均值,并将均值存入所述天级时间窗口的一个单元中;从而缓存的数据均具有时间特性;数据调取接口模块,用以根据时间特性从各窗口中调取对应时间的数据。根据本专利技术的一个实施例,所述缓存模块的每个缓存块中还包括有月级时间窗口和年级时间窗口;所述数据处理模块还用以,将所述天级时间窗口每隔I月将缓存的数据作均值,并将均值存入所述月级时间窗口的一个单元中;将所述月级时间窗口每隔I年将缓存的数据作均值,并将均值存入所述年级时间窗口的一个单元中。采用上述技术方案后,本专利技术相比现有技术具有以下有益效果:通过设置缓存块,并且各缓存块中,设置分级别的时间窗口,将上一级别的时间窗口获得的数据量计算均值后存入下一级别的时间窗口,由于是根据时间的推移而在各时间窗口中流动缓存的,因此各数据的存储均具有时间特性,用户可以根据这些时间特性快速的找到相应时间段的数据,当用户需要获取资源使用情况时,能够快速准确地查询访问到数据,并且不论后台数据量是否不断增大,均能够保证用户访问数据的时间不变。【附图说明】图1为本专利技术一实施例的虚拟机监控数据的存取方法的流程示意图;图2为本专利技术另一实施例的虚拟机监控数据的存取方法的流程示意图;图3为本专利技术一实施例的数据流动示意图;图4为本专利技术一实施例的虚拟机监控数据的存取装置的结构框图。【具体实施方式】为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的【具体实施方式】做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术。但是本专利技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似推广,因此本专利技术不受下面公开的具体实施的限制。在本实施例中,虚拟机监控数据的存取方法,包括:配置至少一个缓存块,在每个缓存块中设置有至少秒级时间窗口、分钟级时间窗口、小时级时间窗口和天级时间窗口;每隔一定时间将获取的监控数据存入所述秒级时间窗口的一个单元中;所述秒级时间窗口每隔I分钟将缓存的数据作均值,并将均值存入所述分钟级时间窗口的一个单元中;所述分钟级时间窗口每隔I小时将缓存的数据作均值,并将均值存入所述小时级时间窗口的一个单元中;所述小时级时间窗口每隔I天将缓存的数据作均值,并将均值存入所述天级时间窗口的一个单元中;从而缓存的数据均具有时间特性;根据时间特性从各窗口中调取对应时间的数据。具体的,参看图1,首先,需要配置缓存块,缓存块的数目可以有多个,分别用来存储相同或不同的监控数据,在此所说的相同或不同的监控数据,可以是指来源相同或不同,当然也可以指数据特征相同或不同,在各缓存块中配置秒级时间窗口、分钟级时间窗口、小时级时间窗口和天级时间窗口,各时间窗口均具有多个存储单元,该配置之后便可以一直运行,而无需重复本配置步骤。接着,获取监控数据,在一个可选的实施例中,秒级时间窗口可以配置6个存储单元,则每隔10秒获取一次数据,在秒级时间窗口未满时,将数据存入到秒级时间窗口的一个单元中,如果窗口已满则发生数据转移,那么到达I分钟的时候秒级时间窗口就存满数据,可以理解,存储单元的数目和相隔时间的具体值均不作为限制,可以根据情况进行配置,满足到达I分钟时将缓存的数据作均值即可,该缓存的数据指的是在到达I分钟内所存的所有数据,并且这些数据之间不具有因先后存储而被覆盖的可能,也就是缓存的数据存入到本文档来自技高网...
【技术保护点】
一种虚拟机监控数据的存取方法,其特征在于,包括:配置至少一个缓存块,在每个缓存块中设置有至少秒级时间窗口、分钟级时间窗口、小时级时间窗口和天级时间窗口;每隔一定时间将获取的监控数据存入所述秒级时间窗口的一个单元中;所述秒级时间窗口每隔1分钟将缓存的数据作均值,并将均值存入所述分钟级时间窗口的一个单元中;所述分钟级时间窗口每隔1小时将缓存的数据作均值,并将均值存入所述小时级时间窗口的一个单元中;所述小时级时间窗口每隔1天将缓存的数据作均值,并将均值存入所述天级时间窗口的一个单元中;从而缓存的数据均具有时间特性;根据时间特性从各窗口中调取对应时间的数据。
【技术特征摘要】
【专利技术属性】
技术研发人员:梅磊,
申请(专利权)人:上海仪电集团有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。