资源监控方法、装置及系统与流程

文档序号:12182449阅读:449来源:国知局
资源监控方法、装置及系统与流程

本发明涉及网络通信技术领域,尤其涉及一种资源监控方法、装置及系统。



背景技术:

随着互联网技术的发展,计算机行业不断涌现新的技术,从分布式计算、并行计算逐渐发展到网格计算,随着资源虚拟化技术的发展成熟,又孕育出云计算。云计算是一种新兴的商业计算模型,它将计算任务分布在由大量计算机资源构成的资源池上,使得用户能够按需获取计算能力、存储空间以及各种软件服务。云计算数据中心将庞大的基础设施资源、数据存储资源、平台资源以及各种软件服务资源组成可以共享协作的资源池,并从该资源池中抽象出一些层次化的服务,例如基础设施层(IaaS)、平台层(PaaS)、软件层(SaaS)等不同层次的服务。

云计算数据中心的资源监控,是为了提高云计算数据中心的运维与服务质量,用来监视云计算数据中心中各类资源使用情况和运行情况的一个监控系统。在云计算数据中心中,云节点周期性的将自己的资源状态值推送至服务器,服务器也周期性的拉取云节点的资源状态值,而资源状态值的推送和拉取均会导致大量的通信消耗。现有技术中,云计算数据中心资源监控的通信消耗较大。



技术实现要素:

本发明的主要目的在于提供一种资源监控方法、装置及系统,旨在降低云计算数据中心资源监控的通信消耗。

为实现上述目的,本发明提供一种资源监控方法,所述资源监控方法包括:

云节点确定服务器在当前推送周期内是否拉取过所述云节点的资源状态 值;

当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,所述云节点获取当前的资源状态值,并将获取的所述资源状态值推送至所述服务器。

优选地,所述当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,所述云节点获取当前的资源状态值,并将获取的所述资源状态值推送至所述服务器的步骤包括:

当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,所述云节点获取当前的资源状态值;

所述云节点判断获取的所述资源状态值是否满足预设推送条件;

在所述资源状态值满足所述预设推送条件时,所述云节点将所述资源状态值推送至所述服务器。

优选地,所述云节点判断获取的所述资源状态值是否满足预设推送条件的步骤包括:

所述云节点将所述资源状态值推入所述云节点的资源监控窗口中,并计算所述资源监控窗口中的最大资源状态值和最小资源状态值的差值,以及基于所述差值和第一预设计算参数计算所述资源状态值对应的资源监控阈值;

所述云节点基于所述资源状态值,以及记录的所述服务器上一次获取的资源状态值,计算资源状态变化值;

当所述资源状态变化值大于所述资源监控阈值时,所述云节点确定所述资源状态值满足所述预设推送条件。

进一步地,本发明还提供了一种资源监控方法,所述资源监控方法包括:

服务器确定在当前拉取周期内是否接收到云节点推送的资源状态值;

在当前拉取周期内未接收到所述云节点推送的资源状态值时,所述服务器拉取所述云节点当前的资源状态值。

优选地,所述在当前拉取周期内未接收到所述云节点推送的资源状态值时,所述服务器拉取所述云节点当前的资源状态值的步骤之后,还包括:

所述服务器将所述资源状态值推入所述服务器的资源监控窗口中,并计算所述资源监控窗口中的最大资源状态值和最小资源状态值的差值,以及基 于所述差值和第二预设计算参数计算所述资源状态值对应的资源监控阈值;

所述服务器基于所述资源状态值,以及记录的所述服务器上一次获取的资源状态值,计算资源状态变化值,并判断所述资源状态变化值是否小于所述资源监控阈值;

当所述资源状态变化值大于或等于所述资源监控阈值时,所述服务器根据所述资源状态变化值缩短所述拉取周期;

当所述资源状态变化值小于所述资源监控阈值时,所述服务器根据所述资源状态变化值延长所述拉取周期。

进一步地,本发明还提供了一种资源监控装置,所述资源监控装置包括:

第一确定模块,用于确定服务器在当前推送周期内是否拉取过其所在云节点的资源状态值;

推送模块,用于当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,获取所述云节点当前的资源状态值,并将获取的所述资源状态值推送至所述服务器。

优选地,所述推送模块包括:

获取子模块,用于当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,获取所述云节点当前的资源状态值;

判断子模块,用于判断获取的所述资源状态值是否满足预设推送条件;

推送子模块,用于在所述资源状态值满足所述预设推送条件时,将所述资源状态值推送至所述服务器。

优选地,所述判断子模块包括:

计算单元,用于将所述资源状态值推入所述云节点的资源监控窗口中,并计算所述资源监控窗口中的最大资源状态值和最小资源状态值的差值,以及基于所述差值和第一预设计算参数计算所述资源状态值对应的资源监控阈值;

所述计算单元还用于基于所述资源状态值,以及记录的所述服务器上一次获取的资源状态值,计算资源状态变化值;

确定单元,用于当所述资源状态变化值大于所述资源监控阈值时,确定所述资源状态值满足所述预设推送条件。

进一步地,本发明还提供了一种资源监控装置,所述资源监控装置包括:

第二确定模块,用于确定在当前拉取周期内其所在的服务器是否接收到云节点推送的资源状态值;

拉取模块,用于当所述服务器在当前拉取周期内未接收到所述云节点推送的资源状态值时,拉取所述云节点当前的资源状态值。

优选地,所述资源监控装置还包括:

计算模块,用于将所述资源状态值推入所述服务器的资源监控窗口中,并计算所述资源监控窗口中的最大资源状态值和最小资源状态值的差值,以及基于所述差值和第二预设计算参数计算所述资源状态值对应的资源监控阈值;

所述计算模块还用于基于所述资源状态值,以及记录的所述服务器上一次获取的资源状态值,计算资源状态变化值,并判断所述资源状态变化值是否小于所述资源监控阈值;

调整模块,用于当所述资源状态变化值大于或等于所述资源监控阈值时,根据所述资源状态变化值缩短所述拉取周期;以及当所述资源状态变化值小于所述资源监控阈值时,根据所述资源状态变化值延长所述拉取周期。

进一步地,本发明还提供了一种资源监控系统,其特征在于,所述资源监控系统包括云节点和服务器,其中,

所述云节点包括:

第一确定模块,用于确定服务器在当前推送周期内是否拉取过所述云节点的资源状态值;

推送模块,用于当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,获取所述云节点当前的资源状态值,并将获取的所述资源状态值推送至所述服务器;

所述服务器包括:

第二确定模块,用于确定在当前拉取周期内所述服务器是否接收到云节点推送的资源状态值;

拉取模块,用于当所述服务器在当前拉取周期内未接收到所述云节点推 送的资源状态值时,拉取所述云节点当前的资源状态值。

优选地,所述资源监控系统还包括查询服务器,所述查询服务器用于在接收到用户终端发送的查询指令时,将所述查询指令转发至所述服务器;

所述服务器还包括获取模块,用于在接收到所述查询指令时,获取相应的资源状态值,并将获取的所述资源状态值发送至所述查询服务器;

所述查询服务器还用于在接收到所述资源状态值时,将所述资源状态值发送至所述用户终端,供其显示。

本发明通过结合推送和拉取两种资源状态值的获取方式,云节点在且仅在服务器在当前推送周期内未拉取过所述云节点的资源状态值时,进行资源状态值的推送操作,减少了不必要的网络传输,能够降低资源监控的通信消耗。

附图说明

图1为本发明资源监控方法第一实施例的流程示意图;

图2为图1中当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,所述云节点获取当前的资源状态值,并将获取的所述资源状态值推送至所述服务器的细化流程示意图;

图3为图2中所述云节点判断获取的所述资源状态值是否满足预设推送条件的细化流程示意图;

图4为采用本发明资源监控方法的云计算数据中心监控系统的分层结构示例图;

图5为本发明资源监控方法第四实施例的流程示意图;

图6为本发明资源监控方法第五实施例的流程示意图;

图7为本发明资源监控装置第一实施例的功能模块示意图;

图8为图7中推送模块的细化结构示意图;

图9为图8中判断子模块的细化结构示意图;

图10为本发明资源监控装置第四实施例的功能模块示意图;

图11为本发明资源监控装置第五实施例的功能模块示意图;

图12为本发明资源监控系统第一实施例的拓扑结构示意图;

图13为本发明资源监控系统第一实施例的逻辑层次示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种资源监控方法,参照图1,在本发明资源监控方法的第一实施例中,所述资源监控方法包括:

S10,云节点确定服务器在当前推送周期内是否拉取过所述云节点的资源状态值;

本实施例提出的资源监控方法,可以应用于云计算数据中心的资源监控中,例如,针对某云节点,所述云节点间隔预设的推送周期进行资源状态值的推送,若在当前推送周期内,服务器已经拉取过所述云节点的资源状态值,云节点则不执行当次资源状态值推送操作,即不进行当前资源状态值的获取以及推送;若在当前周期内,服务器未拉取过所述云节点的资源状态值,云节点执行当次资源状态值推送操作,以降低云计算数据中心资源监控的通信消耗。

需要说明的是,对云计算数据中心进行监控,往往不需要整个系统具体资源的具体使用情况,而只需要了解各个资源的当前使用状态是否在预定的可接受范围内,即只需要进行状态监控。本实施例中,云节点确定服务器在当前推送周期内是否拉取过所述云节点的资源状态值,以判断是否需要进行当次的资源状态值推送操作。其中,所述云节点包括虚拟机和物理机中的至少一种。

S20,当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,所述云节点获取当前的资源状态值,并将所述资源状态值推送至所述服务器。

容易理解的是,若在当前推送周期内,所述服务器未拉取过所述云节点的资源状态值,即服务器上对应所述云节点的资源状态值未得到更新,所述云节点需要进行当次资源状态值推送操作以更新服务器上对应所述云节点的资源状态值。本实施例中,当所述服务器在当前推送周期内未拉取过所述云 节点的资源状态值时,所述云节点获取当前的资源状态值,并将所述资源状态值推送至所述服务器,以供所述服务器根据所述资源状态值进行更新操作。

需要说明的是,云计算是整合资源以即方式提供服务的技术,它主要在三个层面体现技术和服务:

(1)基础设施层,让硬件资源以即方式提供服务;

(2)平台层,让应用平台以即方式提供服务;

(3)应用层,让应用以即方式提供服务;

其中,即方式就像水电一样,从开始使用到结束使用进行度量,登录应用入口就可以直接使用应用,甚至不用在本地安装应用,就像打开水龙头就可以用水一样,然后付费,它本质是一种推的服务。

在本实施例中,所述云节点在获取当前的资源状态值时,优选采集各个层次(包括基础设施层、平台层以及应用层)的运行时资源状态值,即各个层次最新的资源状态值。

进一步地,在本实施例中,上述步骤S10之后,还包括:

当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,所述云节点不执行当次资源状态值推送操作;

容易理解的是,若在当前推送周期内,所述服务器已经拉取过所述云节点的资源状态值,即服务器上对应所述云节点的资源状态值已经得到更新,所述云节点不再需要执行当次的资源状态值推送操作。

本实施例提出的资源监控方法,通过结合推送和拉取两种资源状态值的获取方式,云节点在且仅在服务器在当前推送周期内未拉取过所述云节点的资源状态值时,进行资源状态值的推送操作,减少了不必要的网络传输,能够降低云计算数据中心资源监控的通信消耗。

进一步地,基于第一实施例,提出本发明资源监控方法的第二实施例,参照图2,在本实施例中,所述步骤S20包括:

S21,当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,所述云节点获取当前的资源状态值;

需要说明的是,本实施例与第一实施例的区别在于,本实施例中,云节点在进行资源状态值的推送时,添加了预设推送条件进行限制,以过滤掉监 控过程中的无用资源状态值。

具体地,当所述云节点确定所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,所述云节点获取当前的资源状态值,其中,所述云节点获取的所述资源状态值包括基础设施层、平台层以及应用层的最新资源状态值。

例如,获取到基础设施层的资源状态值包括CPU占有率、内存占有率以及存储空间占有率。

S22,所述云节点判断获取的所述资源状态值是否满足预设推送条件;

所述云节点在获取到当前的资源状态值后,首先判断获取的所述资源状态值是否满足预设推送条件,以确定获取到的所述资源状态值是否为用户需要的。其中,所述预设推送条件可以包括:

获取的所述资源状态值位于预设的触发信息推送的第一区间。

例如,云节点获取到当前的CPU占有率为80%,位于预设的触发信息推送的第一区间[75%,100%],所述云节点确定获取的所述CPU占有率满足预设推送条件。

所述预设推送条件还可以包括:

获取的所述资源状态值与所述服务器上一次获取的资源状态值的差值位于预设的触发信息推送的第二区间,其中,所述服务器上一次获取的资源状态值为所述云节点上一次推送的资源状态值,或者为所述服务器上一次从所述云节点拉取的资源状态值。

例如,云节点获取到当前的CPU占有率为80%,且所述服务器上对应所述云节点的最新资源状态值为所述云节点上一次推送的CPU占有率,为50%,两者的差值30%位于预设的触发信息推送的第二区间[20%,+∞),所述云节点确定获取的所述CPU占有率满足预设推送条件。

S23,在所述资源状态值满足所述预设推送条件时,所述云节点将所述资源状态值推送至所述服务器。

本实施例中,所述云节点在获取到当前的资源状态值,且确定获取的所述资源状态值满足预设推送条件时,将所述资源状态值推送至所述服务器,以供所述服务器更新对应所述云节点的资源状态值为最新资源状态值。

本实施例通过对监控过程中云节点采集的资源状态值进行过滤,能够进 一步地降低通信消耗。

进一步地,基于第二实施例,提出本发明资源监控方法的第三实施例,参照图3,在本实施例中,上述步骤S22包括:

S221,所述云节点将所述资源状态值推入所述云节点的资源监控窗口中,并计算所述资源监控窗口中的最大资源状态值和最小资源状态值的差值,以及基于所述差值和第一预设计算参数计算所述资源状态值对应的资源监控阈值;

需要说明的是,本实施例与第二实施例的区别在于,本实施例中,所述云节点通过资源状态的变化程度来判断是否需要进行资源状态值推送操作。形象的说,资源监控窗口就是一个容器,可以用一个二元组(L,V)对其进行描述,L用于表示资源监控窗口的长度,即可以容纳的数据容量,V用于表示资源监控窗口的大小,为资源监控窗口中最大资源状态值和最小资源状态值的差值。云节点每次采集到当前的资源状态值后,将所述资源状态值推入资源监控窗口,然后更新资源监控窗口的V值,并将更新后的V值代入公式(1)计算所述资源状态值对应的资源监控阈值:

CRMT=CRMW.V*CRMI……公式(1);

其中,CRMT表示资源监控阈值,CRMW.V表示更新后的V值,CRMI表示监控相对误差率,即所述第一预设计算参数。

需要说明的是,CRMI的取值范围优选为[0,1],用于表示用户对资源状态值的敏感和及时程度,CRMI越小表示用户需要越准确的资源状态值,相反,则说明用户能忍受相对较大的资源状态值不一致性。CRMI可由云节点缺省设置,还可以由用户手动设置,例如,CRMI由云节点缺省设置为15%。

进一步地,云节点在将获取的所述资源状态值推入资源监控窗口之前,首先判断所述资源监控窗口的容量是否已满,若是则将最早的一条资源状态值移出窗口,然后将新获取的所述资源状态值推入所述资源监控窗口;否则直接将新获取的所述资源状态值推入所述资源监控窗口。

S222,所述云节点基于所述资源状态值,以及记录的所述服务器上一次获取的资源状态值,计算资源状态变化值;

需要说明的是,所述云节点在推送资源状态值时,记录其推送的资源状 态值,以及在侦测到所述服务器拉取所述云节点的资源状态值时,记录所述服务器拉取的资源状态值。

本实施例中,所述云节点基于当前获取的所述资源状态值,以及记录的所述服务器上一次获取的资源状态值,计算资源状态变化值。具体地,所述云节点基于记录的所述云节点上一次推送的资源状态值,以及记录的所述服务器上一次拉取所述云节点的资源状态值各自对应的记录时间点,确定所述服务器上对应所述云节点的最新资源状态值,即所述服务器上一次获取的资源状态值,并将获取的所述资源状态值以及所述最新资源状态值代入公式(2)计算资源状态变化值:

RCV=|CRN-RO|……公式(2);

其中,RCV表示资源状态变化值,CRN表示新获取的资源状态值,RO表示服务器上对应所述云节点的最新资源状态值。

S223,当所述资源状态变化值大于所述资源监控阈值时,所述云节点确定所述资源状态值满足所述预设推送条件。

优选地,在本实施例中,当RCV大于CRMT时,所述云节点确定获取的所述资源状态值满足所述预设推送条件。

本实施例通过保持云节点和服务器的资源状态变化值不大于资源当前的资源监控阈值,即资源状态变化程度不超过用户能够容忍的范围,在保持服务器和云节点数据一致性的基础上,进一步降低了资源监控的通信消耗。

以下以采用本发明资源监控方法的云计算数据中心监控系统进行说明:

参照图4,数据中心监控系统包括3个层次:数据显示层(Presentation Layer)、逻辑处理核心层(Logic Layer)、数据持久化访问层(Data Access Layer)。

其中,数据显示层采用FLEX编写显示界面,提供丰富的数据图形显示效果,比如直方图、曲线图、报表等,能够动态的显示云计算数据中心各节点实时的资源状态值。

逻辑处理核心层,负责对监控数据进行处理,并且提供访问接口,包括5个模块,分别是部署在云计算数据中心的每个节点上(包括物理机和虚拟机)的Agent Manager(代理管理)模块,和部署在服务器的Event Manager(事件管理)模块、CEP Engine(复杂事件处理引擎)模块、Strategy Manager(策 略管理)模块以及API Interface(应用程序编程接口)模块。其中,Agent Manager模块负责收集宿主节点上各个层次(基础设施层、平台层和应用层)的运行时信息,它会过滤掉监控过程中的无用状态信息,然后组装成一个数据包按照本发明资源监控方法提供的策略发送到服务器;Event manager模块负责对Agent Manager中的事件进行预处理,然后发给CEP Engine(复杂事件处理引擎)模块处理;CEP Engine模块负责进行事件规则匹配,将Event manager模块发过来的事件进行模式匹配,然后将事件放入事件处理队列等候Strategy Manager模块处理;Strategy Manager模块从事件处理队列中取出事件,根据事先制定好的策略进行相应的处理;API Interface模块负责和Web前端进行交互并提供访问接口。

数据持久化访问层,负责提供多种数据持久化访问方法,包括Database Provider(数据库支持)模块和XML Provider(可扩展标记语言支持)模块,其中Database Provider模块提供对数据库访问的支持,XML Provider模块提供对XML文件读写的支持,并提供接口供前端调用查询。

通过应用本发明提供的资源监控方法,该云计算数据中心监控系统能够在保证服务器和节点资源状态值一致性的基础上,减少资源监控的通信消耗。

本发明还提出了一种资源监控方法,参照图5,提供了本发明资源监控方法的第四实施例,在本实施例中,所述资源监控方法包括:

S110,服务器确定在当前拉取周期内是否接收到云节点推送的资源状态值;

本实施例提出的资源监控方法,可以应用于云计算数据中心的资源监控中,例如,针对服务器,所述服务器间隔预设的拉取周期从云节点拉取资源状态值,若在当前拉取周期内,所述服务器接收到所述云节点推送的资源状态值,服务器取消当次资源状态值拉取操作;若在当前拉取周期内,所述服务器未接收到所述云节点推送的资源状态值,服务器执行当次资源状态值拉取操作,以达到降低云计算数据中心资源监控通信消耗的目的。

需要说明的是,对云计算数据中心进行监控,往往不需要整个系统具体资源的具体使用情况,而只需要了解各个资源的当前使用状态是否在预定的可接受范围内,即只需要进行状态监控。本实施例中,所述服务器确定在当 前拉取周期内是否接收到所述云节点推送的资源状态值,以判断是否需要进行当次的资源状态值拉取操作。

S120,在当前拉取周期内未接收到所述云节点推送的资源状态值时,所述服务器拉取所述云节点当前的资源状态值。

容易理解的是,若在当前拉取周期内,所述服务器未接收到所述云节点推送的资源状态值,即服务器上对应所述云节点的资源状态值未得到更新,所述服务器需要进行当次资源状态值拉取操作以更新服务器上对应所述云节点的资源状态值。本实施例中,所述服务器在当前拉取周期内未接收到所述云节点推送的资源状态值时,拉取所述云节点当前的资源状态值,并更新对应所述云节点的资源状态值。

需要说明的是,云计算是整合资源以即方式提供服务的技术,它主要在三个层面体现技术和服务:

(1)基础设施层,让硬件资源以即方式提供服务;

(2)平台层,让应用平台以即方式提供服务;

(3)应用层,让应用以即方式提供服务;

其中,即方式就像水电一样,从开始使用到结束使用进行度量,登录应用入口就可以直接使用应用,甚至不用在本地安装应用,就像打开水龙头就可以用水一样,然后付费,它本质是一种推的服务。

在本实施例中,所述服务器在拉取所述云节点当前的资源状态值时,优选拉取所述云节点各个层次(包括基础设施层、平台层以及应用层)的运行时资源状态值,即各个层次最新的资源状态值。

进一步地,在本实施例中,上述步骤S110之后,还包括:

在当前拉取周期内接收到所述云节点推送的资源状态值时,所述服务器不执行当次资源状态值拉取操作;

容易理解的是,若在当前拉取周期内,所述服务器接收到所述云节点推送的资源状态值,即服务器上对应所述云节点的资源状态值已经得到更新,所述服务器不再需要执行当次的资源状态值拉取操作。

本实施例提出的资源监控方法,通过结合推送和拉取两种资源状态值的获取方式,服务器在且仅在当前拉取周期内未接收到所述云节点推送的资源状态值时,进行资源状态值的拉取操作,减少了不必要的网络传输,能够降 低资源监控的通信消耗。

进一步地,基于第四实施例,提出本发明资源监控方法的第五实施例,参照图6,在本实施例中,上述步骤S120之后,还包括:

S130,所述服务器将所述资源状态值推入所述服务器的资源监控窗口中,并计算所述资源监控窗口中的最大资源状态值和最小资源状态值的差值,以及基于所述差值和第二预设计算参数计算所述资源状态值对应的资源监控阈值;

形象的说,资源监控窗口就是一个容器,可以用一个二元组(L,V)对其进行描述,L用于表示资源监控窗口的长度,即可以容纳的数据容量,V用于表示资源监控窗口的大小,为当前资源监控窗口中资源状态值最大值和最小值差值。服务器每次拉取到所述云节点当前的资源状态值后,将所述资源状态值推入资源监控窗口,然后更新资源监控窗口的V值,并将更新后的V值代入公式(3)计算所述资源状态值对应的资源监控阈值:

SRMT=SRMW.V*SRMI……公式(3);

其中,SRMT表示资源监控阈值,SRMW.V表示更新后的V值,SRMI表示监控相对误差率,为预设值,即所述第二预设计算参数。

需要说明的是,SRMI的取值范围优选为[0,1],用于表示用户对资源状态值的敏感和及时程度,SRMI越小表示用户需要越准确的资源状态值,相反,则说明用户能忍受相对较大的资源状态值不一致性。SRMI可由服务器缺省设置,还可以由用户手动设置,例如,SRMI由服务器缺省设置为15%。

进一步地,服务器在将拉取的所述资源状态值推入资源监控窗口之前,首先判断所述资源监控窗口的容量是否已满,若是则将最早的一条资源状态值移出窗口,然后将新拉取的所述资源状态值推入所述资源监控窗口;否则直接将新拉取的所述资源状态值推入所述资源监控窗口。

S140,所述服务器基于所述资源状态值,以及记录的所述服务器上一次获取的资源状态值,计算资源状态变化值,并判断所述资源状态变化值是否小于所述资源监控阈值;若否则转入执行步骤S150,是则转入执行步骤S160;

需要说明的是,所述服务器在接收到所述云节点推送的资源状态值时,记录所述云节点推送的资源状态值;所述服务器在拉取所述云节点的资源状 态值时,记录拉取的资源状态值。

本实施例中,所述服务器基于当前拉取的所述资源状态值,以及所述服务器上一次获取的资源状态值计算资源状态变化值。具体地,所述服务器基于记录的所述云节点上次推送的资源状态值,以及记录的所述服务器上次拉取的资源状态值各自对应的记录时间点,确定所述云节点对应所述云节点的最新资源状态值,即所述服务器上一次获取的资源状态值,并将拉取的所述资源状态值以及所述最新资源状态值代入公式(4)计算资源状态变化值:

RCV=|SRN-RO|……公式(4);

其中,RCV表示资源状态变化值,SRN表示新拉取的资源状态值,RO表示服务器上对应所述云节点的最新资源状态值。

S150,所述服务器根据所述资源状态变化值缩短所述拉取周期;

S160,所述服务器根据所述资源状态变化值延长所述拉取周期。

本实施例中,所述服务器在缩短所述拉取周期时,可以按照预设缩减量缩短所述拉取周期,例如,每次将所述拉取周期缩短5秒。所述服务器还可以按照预设的资源状态变化值与缩减量的关联关系,确定所述资源状态变化值对应的缩减量,并按照确定的缩减量缩短所述拉取周期。

所述服务器在延长所述拉取周期时,可以按照预设增加量延长所述拉取周期,例如,每次将所述拉取周期延长5秒。所述服务器还可以按照预设的资源状态变化值与增加量的关联关系,确定所述资源状态变化值对应的增加量,并按照确定的增加量延长所述拉取周期。

本实施例通过不断调整拉取周期的时长,在保持云节点和服务器资源状态值一致性的基础上,能够进一步降低资源监控的通信消耗。

本发明还提供一种资源监控装置,参照图7,在本发明资源监控装置的第一实施例中,所述资源监控装置包括:

第一确定模块10,用于确定服务器在当前推送周期内是否拉取过其所在云节点的资源状态值;

本实施例提出的资源监控装置,可以应用于云计算数据中心的资源监控中,例如,资源监控装置内置于云节点运行,所述云节点间隔预设的推送周期进行资源状态值的推送,若在当前推送周期内,服务器已经拉取过所述云 节点的资源状态值,云节点则不执行当次资源状态值推送操作,即不进行当前资源状态值的获取以及推送;若在当前周期内,服务器未拉取过所述云节点的资源状态值,云节点执行当次资源状态值推送操作,以降低云计算数据中心资源监控的通信消耗。

需要说明的是,对云计算数据中心进行监控,往往不需要整个系统具体资源的具体使用情况,而只需要了解各个资源的当前使用状态是否在预定的可接受范围内,即只需要进行状态监控。本实施例提供的资源监控装置内置于云节点运行,具体地,第一确定模块10确定服务器在当前推送周期内是否拉取过其所在云节点的资源状态值,以判断是否需要进行当次的资源状态值推送操作。其中,所述云节点包括虚拟机和物理机中的至少一种。

推送模块20,用于当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,获取所述云节点当前的资源状态值,并将获取的所述资源状态值推送至所述服务器。

容易理解的是,若在当前推送周期内,所述服务器未拉取过所述云节点的资源状态值,即服务器上对应所述云节点的资源状态值未得到更新,推送模块20需要进行当次资源状态值推送操作以更新服务器上对应所述云节点的资源状态值。本实施例中,当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,推送模块20获取所述云节点当前的资源状态值,并将获取的所述资源状态值推送至所述服务器,以供所述服务器根据所述资源状态值进行更新操作。

需要说明的是,云计算是整合资源以即方式提供服务的技术,它主要在三个层面体现技术和服务:

(1)基础设施层,让硬件资源以即方式提供服务;

(2)平台层,让应用平台以即方式提供服务;

(3)应用层,让应用以即方式提供服务;

其中,即方式就像水电一样,从开始使用到结束使用进行度量,登录应用入口就可以直接使用应用,甚至不用在本地安装应用,就像打开水龙头就可以用水一样,然后付费,它本质是一种推的服务。

在本实施例中,所述推送模块20在获取所述云节点当前的资源状态值时,优选采集所述云节点各个层次(包括基础设施层、平台层以及应用层)的运 行时资源状态值,即各个层次最新的资源状态值。

进一步地,在本实施例中,当所述服务器在当前推送周期内拉取过所述云节点的资源状态值时,所述推送模块20不执行资源状态值推送操作;

容易理解的是,若在当前推送周期内,所述服务器已经拉取过所述云节点的资源状态值,即服务器上对应所述云节点的资源状态值已经得到更新,所述推送模块20不再需要执行资源状态值推送操作。

本实施例提出的资源监控装置,通过内置于云节点运行,并结合推送和拉取两种资源状态值的获取方式,使得云节点在且仅在服务器在当前推送周期内未拉取过所述云节点的资源状态值时,进行资源状态值的推送操作,减少了不必要的网络传输,能够降低云计算数据中心资源监控的通信消耗。

进一步地,基于第一实施例,提出本发明资源监控装置的第二实施例,参照图8,在本实施例中,所述推送模块20包括:

获取子模块21,用于当所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,获取所述云节点当前的资源状态值;

需要说明的是,本实施例与第一实施例的区别在于,本实施例中,推送模块20在进行资源状态值的推送时,添加了预设推送条件进行限制,以过滤掉监控过程中的无用资源状态值。

具体地,当所述第一确定模块10确定所述服务器在当前推送周期内未拉取过所述云节点的资源状态值时,所述获取子模块21获取所述云节点当前的资源状态值,其中,所述获取子模块21获取的所述资源状态值包括基础设施层、平台层以及应用层的最新资源状态值。

例如,获取子模块21获取到基础设施层的资源状态值包括CPU占有率、内存占有率以及存储空间占有率。

判断子模块22,用于判断获取的所述资源状态值是否满足预设推送条件;

判断子模块22在所述获取子模块21获取到所述云节点当前的资源状态值后,首先判断获取的所述资源状态值是否满足预设推送条件,以确定获取到的所述资源状态值是否为用户需要的。其中,所述预设推送条件可以包括:

获取的所述资源状态值位于预设的触发信息推送的第一区间。

例如,所述获取子模块21获取到所述云节点当前的CPU占有率为80%, 位于预设的触发信息推送的第一区间[75%,100%],所述判断子模块22确定所述获取子模块21获取的所述CPU占有率满足预设推送条件。

所述预设推送条件还可以包括:

获取的所述资源状态值与所述服务器上一次获取的资源状态值的差值位于预设的触发信息推送的第二区间,其中,所述服务器上一次获取的资源状态值为所述云节点上一次推送的资源状态值,或者为所述服务器上一次从所述云节点拉取的资源状态值。

例如,所述获取子模块21获取到所述云节点当前的CPU占有率为80%,且所述服务器上对应所述云节点的最新资源状态值为所述服务器上一次拉取的CPU占有率,为50%,两者的差值30%位于预设的触发信息推送的第二区间[20%,+∞),所述判断子模块22确定所述获取子模块21获取的所述CPU占有率满足预设推送条件。

推送子模块23,用于在所述资源状态值满足所述预设推送条件时,将所述资源状态值推送至所述服务器。

本实施例中,推送子模块23在所述获取子模块21获取到所述云节点当前的资源状态值,且所述判断子模块22确定获取的所述资源状态值满足预设推送条件时,将所述资源状态值推送至所述服务器,以供所述服务器更新对应所述云节点的资源状态值为最新资源状态值。

本实施例通过对监控过程中云节点采集的资源状态值进行过滤,能够进一步地降低通信消耗。

进一步地,基于第二实施例,提出本发明资源监控装置的第三实施例,参照图9,在本实施例中,所述判断子模块22包括:

计算单元221,用于将所述资源状态值推入所述云节点的资源监控窗口中,并计算所述资源监控窗口中的最大资源状态值和最小资源状态值的差值,以及基于所述差值和第一预设计算参数计算所述资源状态值对应的资源监控阈值;

需要说明的是,本实施例与第二实施例的区别在于,本实施例中,所述判断子模块22通过资源状态的变化程度来判断是否需要进行资源状态值推送操作。形象的说,资源监控窗口就是一个容器,可以用一个二元组(L,V)对 其进行描述,L用于表示资源监控窗口的长度,即可以容纳的数据容量,V用于表示资源监控窗口的大小,为资源监控窗口中最大资源状态值和最小资源状态值的差值。所述获取子模块21每次采集到当前的资源状态值后,所述计算单元221将所述资源状态值推入资源监控窗口,然后更新资源监控窗口的V值,并将更新后的V值代入公式(1)计算所述资源状态值对应的资源监控阈值:

CRMT=CRMW.V*CRMI……公式(1);

其中,CRMT表示资源监控阈值,CRMW.V表示更新后的V值,CRMI表示监控相对误差率,即所述第一预设计算参数。

需要说明的是,CRMI的取值范围优选为[0,1],用于表示用户对资源状态值的敏感和及时程度,CRMI越小表示用户需要越准确的资源状态值,相反,则说明用户能忍受相对较大的资源状态值不一致性。CRMI可由云节点缺省设置,还可以由用户手动设置,例如,CRMI由云节点缺省设置为15%。

进一步地,所述计算单元221在将获取的所述资源状态值推入资源监控窗口之前,首先判断所述资源监控窗口的容量是否已满,若是则将最早的一条资源状态值移出窗口,然后将新获取的所述资源状态值推入所述资源监控窗口;否则直接将新获取的所述资源状态值推入所述资源监控窗口。

所述计算单元221还用于基于所述资源状态值,以及记录的所述服务器上一次获取的资源状态值,计算资源状态变化值;

需要说明的是,所述资源监控装置还包括记录模块,用于在云节点(推送模块20)推送资源状态值时,记录其推送的资源状态值;以及在服务器拉取所述云节点的资源状态值时,记录所述服务器拉取的资源状态值。

本实施例中,所述计算单元221基于当前获取的所述资源状态值,以及记录模块记录的所述服务器上一次获取的资源状态值,计算资源状态变化值。具体地,所述计算单元221基于记录的所述云节点上一次推送的资源状态值,以及记录的所述服务器上一次拉取所述云节点的资源状态值各自对应的记录时间点,确定所述服务器上对应所述云节点的最新资源状态值,即所述服务器上一次获取的资源状态值,并将获取的所述资源状态值以及所述最新资源状态值代入公式(2)计算资源状态变化值:

RCV=|CRN-RO|……公式(2);

其中,RCV表示资源状态变化值,CRN表示新获取的资源状态值,RO表示服务器上对应所述云节点的最新资源状态值。

确定单元222,用于当所述资源状态变化值大于所述资源监控阈值时,确定所述资源状态值满足所述预设推送条件。

优选地,在本实施例中,当RCV大于CRMT时,确定单元222确定获取的所述资源状态值满足所述预设推送条件。

本实施例通过保持云节点和服务器的资源状态变化值不大于资源当前的资源监控阈值,即资源状态变化程度不超过用户能够容忍的范围,在保持服务器和云节点数据一致性的基础上,进一步降低了资源监控的通信消耗。

以下以采用本发明资源监控装置的云计算数据中心监控系统进行说明:

参照图4,数据中心监控系统包括3个层次:数据显示层(Presentation Layer)、逻辑处理核心层(Logic Layer)、数据持久化访问层(Data Access Layer)。

其中,数据显示层采用FLEX编写显示界面,提供丰富的数据图形显示效果,比如直方图、曲线图、报表等,能够动态的显示云计算数据中心各节点实时的资源状态值。

逻辑处理核心层,负责对监控数据进行处理,并且提供访问接口,包括5个模块,分别是部署在云计算数据中心的每个节点上(包括物理机和虚拟机)的Agent Manager(代理管理)模块,和部署在服务器的Event Manager(事件管理)模块、CEP Engine(复杂事件处理引擎)模块、Strategy Manager(策略管理)模块以及API Interface(应用程序编程接口)模块。其中,Agent Manager模块负责收集宿主节点上各个层次(基础设施层、平台层和应用层)的运行时信息,它会过滤掉监控过程中的无用状态信息,然后组装成一个数据包按照本发明资源监控方法提供的策略发送到服务器;Event manager模块负责对Agent Manager中的事件进行预处理,然后发给CEP Engine(复杂事件处理引擎)模块处理;CEP Engine模块负责进行事件规则匹配,将Event manager模块发过来的事件进行模式匹配,然后将事件放入事件处理队列等候Strategy Manager模块处理;Strategy Manager模块从事件处理队列中取出事件,根据事先制定好的策略进行相应的处理;API Interface模块负责和Web前端进行交互并提供访问接口。

数据持久化访问层,负责提供多种数据持久化访问方法,包括Database Provider(数据库支持)模块和XML Provider(可扩展标记语言支持)模块,其中Database Provider模块提供对数据库访问的支持,XML Provider模块提供对XML文件读写的支持,并提供接口供前端调用查询。

通过应用本发明提供的资源监控装置,该云计算数据中心监控系统能够在保证服务器和节点资源状态值一致性的基础上,减少资源监控的通信消耗。

本发明还提出了一种资源监控装置,参照图10,提供了本发明资源监控装置的第四实施例,在本实施例中,所述资源监控装置包括:

第二确定模块110,用于确定在当前拉取周期内其所在的服务器是否接收到云节点推送的资源状态值;

本实施例提出的资源监控装置,可以应用于云计算数据中心的资源监控中,例如,资源监控装置内置于服务器运行,所述服务器间隔预设的拉取周期从云节点拉取资源状态值,若在当前拉取周期内,所述服务器接收到所述云节点推送的资源状态值,服务器取消当次资源状态值拉取操作;若在当前拉取周期内,所述服务器未接收到所述云节点推送的资源状态值,服务器执行当次资源状态值拉取操作,以达到降低云计算数据中心资源监控通信消耗的目的。

需要说明的是,对云计算数据中心进行监控,往往不需要整个系统具体资源的具体使用情况,而只需要了解各个资源的当前使用状态是否在预定的可接受范围内,即只需要进行状态监控。本实施例中,第二确定模块110用于确定在当前拉取周期内其所在的服务器是否接收到云节点推送的资源状态值,以判断是否需要进行当次的资源状态值拉取操作。

拉取模块120,用于当所述服务器在当前拉取周期内未接收到所述云节点推送的资源状态值时,拉取所述云节点当前的资源状态值。

容易理解的是,若在当前拉取周期内,所述服务器未接收到所述云节点推送的资源状态值,即服务器上对应所述云节点的资源状态值未得到更新,拉取模块120需要进行当次资源状态值拉取操作以更新服务器上对应所述云节点的资源状态值。本实施例中,所述拉取模块120当所述服务器在当前拉取周期内未接收到所述云节点推送的资源状态值时,拉取所述云节点当前的 资源状态值,以供所述服务器更新对应所述云节点的资源状态值。

需要说明的是,云计算是整合资源以即方式提供服务的技术,它主要在三个层面体现技术和服务:

(1)基础设施层,让硬件资源以即方式提供服务;

(2)平台层,让应用平台以即方式提供服务;

(3)应用层,让应用以即方式提供服务;

其中,即方式就像水电一样,从开始使用到结束使用进行度量,登录应用入口就可以直接使用应用,甚至不用在本地安装应用,就像打开水龙头就可以用水一样,然后付费,它本质是一种推的服务。

在本实施例中,所述拉取模块120在拉取所述云节点当前的资源状态值时,优选拉取所述云节点各个层次(包括基础设施层、平台层以及应用层)的运行时资源状态值,即各个层次最新的资源状态值。

进一步地,在本实施例中,当所述服务器在当前拉取周期内接收到所述云节点推送的资源状态值时,所述拉取模块120不执行当次资源状态值拉取操作;

容易理解的是,若在当前拉取周期内,所述服务器接收到所述云节点推送的资源状态值,即服务器上对应所述云节点的资源状态值已经得到更新,所述拉取模块120不再需要执行当次的资源状态值拉取操作。

本实施例提出的资源监控装置,通过内置于服务器运行,并结合推送和拉取两种资源状态值的获取方式,使得服务器在且仅在当前拉取周期内未接收到所述云节点推送的资源状态值时,进行资源状态值的拉取操作,减少了不必要的网络传输,能够降低资源监控的通信消耗。

进一步地,基于第四实施例,提出本发明资源监控装置的第五实施例,参照图11,在本实施例中,所述资源监控装置还包括:

计算模块130,用于将所述资源状态值推入所述服务器的资源监控窗口中,并计算所述资源监控窗口中的最大资源状态值和最小资源状态值的差值,以及基于所述差值和第二预设计算参数计算所述资源状态值对应的资源监控阈值;

形象的说,资源监控窗口就是一个容器,可以用一个二元组(L,V)对其 进行描述,L用于表示资源监控窗口的长度,即可以容纳的数据容量,V用于表示资源监控窗口的大小,为当前资源监控窗口中资源状态值最大值和最小值差值。服务器每次拉取到所述云节点当前的资源状态值后,将所述资源状态值推入资源监控窗口,然后更新资源监控窗口的V值,并将更新后的V值代入公式(3)计算所述资源状态值对应的资源监控阈值:

SRMT=SRMW.V*SRMI……公式(3);

其中,SRMT表示资源监控阈值,SRMW.V表示更新后的V值,SRMI表示监控相对误差率,为预设值,即所述第二预设计算参数。

需要说明的是,SRMI的取值范围优选为[0,1],用于表示用户对资源状态值的敏感和及时程度,SRMI越小表示用户需要越准确的资源状态值,相反,则说明用户能忍受相对较大的资源状态值不一致性。SRMI可由服务器缺省设置,还可以由用户手动设置,例如,SRMI由服务器缺省设置为15%。

进一步地,计算模块130在将拉取的所述资源状态值推入资源监控窗口之前,首先判断所述资源监控窗口的容量是否已满,若是则将最早的一条资源状态值移出窗口,然后将新拉取的所述资源状态值推入所述资源监控窗口;否则直接将新拉取的所述资源状态值推入所述资源监控窗口。

所述计算模块130还用于基于所述资源状态值,以及记录的所述服务器上一次获取的资源状态值,计算资源状态变化值;

需要说明的是,所述资源监控装置还包括记录模块,用于在所述服务器接收到云节点推送的资源状态值时,记录所述云节点推送的资源状态值;以及在所述服务器拉取所述云节点的资源状态值时,记录所述服务器拉取的资源状态值。

本实施例中,所述计算模块130基于当前拉取的所述资源状态值,以及所述服务器上一次获取的资源状态值计算资源状态变化值。具体地,所述计算模块130基于记录的所述云节点上次推送的资源状态值,以及记录的所述服务器上次拉取的资源状态值各自对应的记录时间点,确定所述云节点对应所述云节点的最新资源状态值,即所述服务器上一次获取的资源状态值,并将拉取的所述资源状态值以及所述最新资源状态值代入公式(4)计算资源状态变化值:

RCV=|SRN-RO|……公式(4);

其中,RCV表示资源状态变化值,SRN表示新拉取的资源状态值,RO表示服务器上对应所述云节点的最新资源状态值。

调整模块140,用于当所述资源状态变化值大于或等于所述资源监控阈值时,根据所述资源状态变化值缩短所述拉取周期;以及当所述资源状态变化值小于所述资源监控阈值时,根据所述资源状态变化值延长所述拉取周期。

本实施例中,所述调整模块140在缩短所述拉取周期时,可以按照预设缩减量缩短所述拉取周期,例如,调整模块140每次将所述拉取周期缩短5秒。所述调整模块140还可以按照预设的资源状态变化值与缩减量的关联关系,确定所述资源状态变化值对应的缩减量,并按照确定的缩减量缩短所述拉取周期。

所述调整模块140在延长所述拉取周期时,可以按照预设增加量延长所述拉取周期,例如,调整模块140每次将所述拉取周期延长5秒。所述调整模块140还可以按照预设的资源状态变化值与增加量的关联关系,确定所述资源状态变化值对应的增加量,并按照确定的增加量延长所述拉取周期。

本实施例通过不断调整拉取周期的时长,在保持云节点和服务器资源状态值一致性的基础上,能够进一步降低资源监控的通信消耗。

本发明还提供一种资源监控系统,参照图12,在本发明资源监控系统的第一实施例中,所述资源监控系统包括云节点100和服务器200,其中,

所述云节点100包括:

第一确定模块,用于确定服务器200在当前推送周期内是否拉取过所述云节点100的资源状态值;

推送模块,用于当所述服务器200在当前推送周期内未拉取过所述云节点100的资源状态值时,获取所述云节点100当前的资源状态值,并将获取的所述资源状态值推送至所述服务器200;

所述服务器200包括:

第二确定模块,用于确定在当前拉取周期内所述服务器200是否接收到云节点100推送的资源状态值;

拉取模块,用于当所述服务器200在当前拉取周期内未接收到所述云节点100推送的资源状态值时,拉取所述云节点100当前的资源状态值。

为了减少服务器端的压力以及从易于管理的方面考虑,参照图12,本实施例提供的资源监控系统采用分区域部署服务器200方式,每个区域的服务器200只接收和处理该区域的各个云节点100的监控数据,其中,服务器200获取监控数据(包括服务器200拉取和云节点100推送)的过程具体可参照前述实施例施行,此处不再赘述。

此外,为方便用户查询,在本实施例提供的资源监控系统中还设置有查询服务器300,用以响应用户终端400的查询。

具体的,所述查询服务器300用于在接收到用户终端400发送的查询指令时,将所述查询指令转发至所述服务器200;

所述服务器200还包括获取模块,用于在接收到所述查询指令时,获取相应的资源状态值,并将获取的所述资源状态值发送至所述查询服务器300;

所述查询服务器300还用于在接收到所述资源状态值时,将所述资源状态值发送至所述用户终端400,供其显示。

进一步的,参照图13,图13为本发明资源监控系统的逻辑层次结构示例图。

本实施例提供的资源监控系统采用三级架构,由数据展示层(Presentation Layer)、数据处理层(Data Processing Layer)、被监控层(Resource Layer)三个层次组成。

其中,数据展示层负责监控数据的统一展现,通过Portal以完全B/S方式展现,并实现与用户互动,响应用户的操作与设定等。

数据处理层负责监控策略的下发执行,将采集的原始数据经数据汇总,写入数据库,以供数据展示层从数据库调用监控数据。

被监控层包括所有被管理的对象,即资源,可通过Agent方式来获取数据。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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