发明内容
有鉴于此,本发明提出了一种资源监测方法及系统,根据计算节点实时的负载变化度与对应的负载变动阀值进行对比以对各计算节点的下一监测周期进行自适应调整,通过监测周期的动态调整达到了提高系统的安全性、稳定性并有效减少监测数据网络传输量的目的。
为了实现上述目的,本发明提供一种资源监测方法,包括:
采集各计算节点中预设监控对象的样本数据,并计算所述各计算节点的负载变动阀值;
获取所述预设监控对象的监测数据,以分析当前监测周期所述各计算节点的负载变化度;
将所述当前监测周期各计算节点的负载变化度与所述负载变动阀值进行对比以自适应调整所述各计算节点的下一监测周期。
其中,所述将当前监测周期各计算节点的负载变化度与所述负载变动阀值进行对比以自适应调整所述各计算节点的下一监测周期,包括:
判断所述当前监测周期各计算节点的负载变化度是否小于所述负载变动阀值;
若是,将下一监测周期增大;
否则,则减小下一监测周期。
其中,所述采集各计算节点中预设监控对象的样本数据,并计算所述各计算节点的负载变动阀值,具体包括:
以预设采样周期获取预设时间段内所述预设监控对象的样本数据;
根据所述预设时间段内的样本数据分别计算所述预设监控对象在每两个相邻预设采样周期之间的马氏距离;
由计算所得每两个相邻预设采样周期之间的马氏距离和预设参数确定所述负载变动阀值。
其中,所述负载变动阀值包括平均变动阀值和极限变动阀值,所述由计算所得每两个相邻预设采样周期之间的马氏距离和预设参数确定所述负载变动阀值,具体包括:
根据计算所得的马氏距离计算所述预设监控对象在所述预设时间段内的平均马氏距离;
由所述平均马氏距离和预设参数确定所述平均变动阀值;
从计算所得的马氏距离中提取值为最大的马氏距离作为所述预设监控对象在所述预设时间段内的最大马氏距离;
由所述最大马氏距离和预设参数确定所述极限变动阀值。
其中,将所述当前监控周期各计算节点的负载变化度与所述负载变动阀值进行对比以自适应调整所述各计算节点的下一监测周期,包括:
判断所述当前监控周期各计算节点的负载变化度是否小于所述平均变动阀值;
若是,根据预设规则增大下一监测周期;
否则,判断所述当前监控周期各计算节点的负载变化度是否小于所述极限变动阀值;
若是,根据预设规则减小下一监测周期;
否则,则将下一监测周期调整为预设的最小监测周期。
其中,所述获取所述预设监控对象监测数据,以分析当前监控周期所述各计算节点的负载变化度,具体包括:
获取当前监测周期、上一监测周期及之前N个监测周期所述预设监控对象的监测数据,其中N≥0;
根据所获取的监测数据计算所述预设监控对象在当前监测周期与上一监测周期之间的马氏距离,并将计算所得当前监测周期与上一监测周期之间的马氏距离作为所述当前监控周期各计算节点的负载变化度。
其中,所述预设规则为:
p=p'+n*pstep,且Pmin≤p'+n*pstep≤Pmax;
其中,n为整数,p表示下一监测周期,p'表示当前监测周期,pstep表示预设的监测步进,Pmax表示预设的最大监测周期,Pmin表示预设的最小监测周期。
为了实现上述目的,本发明还提供一种资源监测系统,包括:
阀值设定模块:用于采集各计算节点中预设监控对象的样本数据,并计算所述各计算节点的负载变动阀值;
数据分析模块:用于获取所述预设监控对象的监测数据,以分析当前监测周期所述各计算节点的负载变化度;
动态调整模块:用于将所述当前监测周期各计算节点的负载变化度与所述负载变动阀值进行对比以自适应调整所述各计算节点的下一监测周期。
其中,所述阀值设定模块包括:
采集单元:用于以预设采样周期获取预设时间段内所述预设监控对象的样本数据;
计算单元:用于根据所述预设时间段内的样本数据分别计算所述预设监控对象在每两个相邻预设周期之间的马氏距离;
确定单元:用于由计算所得每两个相邻预设周期之间的马氏距离和预设参数确定所述负载变动阀值。
其中,所述数据分析模块包括:
获取单元:用于获取当前监测周期、上一监测周期及之前N个监测周期所述预设监控对象的监测数据,其中N≥0;
分析单元:根据所获取的监测数据计算所述预设监控对象在当前监测周期与上一监测周期之间的马氏距离,并将计算所得当前监测周期与上一监测周期之间的马氏距离作为所述当前监控周期各计算节点的负载变化度。
其中,所述阀值设定模块中计算的所述负载变动阀值包括平均变动阀值和极限变动阀值,所述动态调整模块用于自适应调整所述各计算节点的下一监测周期,具体包括:
判断所述当前监控周期各计算节点的负载变化度是否小于所述平均变动阀值;
若是,根据预设规则增大下一监测周期;
否则,判断所述当前监控周期各计算节点的负载变化度是否小于所述极限变动阀值;
若是,根据预设规则减小下一监测周期;
否则,则将下一监测周期调整为预设的最小监测周期。
本发明提供的所述资源监测方法及系统,通过采集和分析样本数据的方式来获得各计算节点的负载变动阀值,根据对预设监控对象的监测数据进行分析来获知当前监测周期各计算节点的负载变化度;再将当前监测周期各计算节点的负载变化度和负载变动阀值进行对比的结果对各计算节点的下一监测周期进行自适应调整,从而实现了对各计算节点监测周期的动态调整,通过动态调整监测周期的方式,能及时地监测到资源的剧烈变动情况,避免给计算节点带来不必要的负担,从而能提高系统的计算性能,因此确保了系统的安全性及稳定性;且通过对计算节点的监测周期进行自适应调整,从整体上减少了监测的频率,能有效地减少计算节点的计算量及监测数据的网络传输量,在确保系统的安全性及稳定性基础上,能有效提高系统的吞吐量。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,为本发明实施例提供的一种资源监测方法,具体包括如下步骤:
步骤S100:采集各计算节点中预设监控对象的样本数据,并计算各计算节点的负载变动阀值。
为了更好地获知各计算节点实时的资源变动情况,首先,本实施例需先对各计算节点的负载状态进行准确地监测,优选地,在本实施例中,通过系统预先设定监控对象来监测各计算节点的负载状态,预设监控对象包括各计算节点的CPU、内存、带宽或磁盘等资源,预设监控对象的数量也可以为一个或至少两个。
本实施例中通过采集各计算节点中预设监控对象的样本数据作为基础数据来计算各计算节点的负载变动阀值,优选地,可以根据各计算节点中预设监控对象的样本数据确定一个负载变动阀值;也可以根据各计算节点中预设监控对象不同时间段的样本数据确定对应时间的负载变动阀值,此时,各计算节点的负载变动阀值包括了至少两个、不同的负载变动阀值,这样可以实现对监测周期进行更准确地调整。
步骤S200:获取预设监控对象的监测数据,以分析当前监测周期各计算节点的负载变化度。
具体的,在本实施例中,通过预设监控对象可获知各计算节点在对应时间在各个监测周期下的负载状态,通过获取一段时间的预设监控对象的监控数据,并在此数据基础上分析可以得出各个当前监测周期各计算节点的负载变化度。
步骤S300:将当前监测周期各计算节点的负载变化度与负载变动阀值进行对比以自适应调整各计算节点的下一监测周期。
具体的,根据当前监测周期各计算节点的负载变化度及获取的各计算节点的负载变动阀值的对比来判断是否对各计算节点的下一监测周期进行调整,并根据对比值进行具体地调整,从而实现了对计算节点的监测周期的动态调整。
优选地,当确定的负载变动阀值为一个时,将该负载变动阀值作为系统设定的固定值,将其与当前监测周期各计算节点的负载变化度进行对比来对下一监测周期进行动态调整;当根据预设时间段的样本数据确定的负载变动阀值有多个时,则将与当前监测周期对应时间的负载变动阀值与当前监测周期各计算节点的负载变化度进行对比来对下一监测周期进行更准确地调整。
具体的,将当前监测周期各计算节点的负载变化度与负载变动阀值进行对比以自适应调整所述各计算节点的下一监测周期,包括:
判断当前监测周期各计算节点的负载变化度是否小于对应时间的负载变动阀值;
若当前监测周期各计算节点的负载变化度小于该负载变动阀值,则表明可以减小监测力度,因此可以将下一监测周期增大;
若当前监测周期各计算节点的负载变化度大于该负载变动阀值,则表明需要加大监测力度,则要将下一监测周期减小;
而当前监测周期各计算节点的负载变化度等于该负载变动阀值时,则表明当前监测力度合适,可以选择不对监测周期进行调整或对监测周期进行小的调整。
本实施例根据各计算节点实时的负载变化度及各计算节点负载变动阀值固定值或对应时间的负载变动阀值进行对比来对各计算节点的监测周期进行调整,能及时监测到系统中资源的剧烈变动情况,避免给计算节点带来不必要的负担,从而能提高系统的计算性能,因此确保了系统的安全性及稳定性;且通过对各计算节点的监测周期进行自适应调整,从整体上减少了监测的频率,能有效地减少各计算节点的计算量及监测数据的网络传输量,在确保系统的安全性及稳定性基础上,能有效提高系统的吞吐量。
如图2所示为本发明图1中步骤S100的细化流程图,步骤S100:采集各计算节点中预设监控对象的样本数据,并计算各计算节点的负载变动阀值,具体包括:
步骤S110,以预设采样周期获取预设时间段内预设监控对象的样本数据。
具体而言,就是通过预设的采样周期来获取一段时间内预设监控对象的样本数据,并将所获取的预设监控对象的样本数据作为确定负载变动阀值的训练样本集。
本实施例中,可以设置预设时间段为24小时(即一天),通过采集各计算节点中预设监控对象连续24小时的样本数据,用于计算各计算节点在周期为一天中的负载变动阀值,并将计算的负载变动阀值作为固定值与当前监测周期各计算节点的负载变化度进行对比来对下一监测周期进行动态调整。
由于在系统的运行中,存在忙时与闲时,优选地,根据不同预设时间段的采样数据来计算不同时间段对应时间的负载变动阀值,并将当前监测周期各计算节点的负载变化度与对应时间的负载变动阀值进行对比来对下一监测周期进行更准确地调整。
在采集样本数据中,可以采集预设时间段的样本数据,用于直接计算该时间段的负载变动阀值,举例来说,若预设固定的采样周期为0.01小时,采样时间为0:00-2:00的2个小时,则产生的样本集中包括200个样本数据,通过该200个样本数据可以计算系统在对应0:00-2:00时的负载变动阀值,如要计算2:00-3:00的负载变动阀值,则获取训练时间中2:00-3:00的样本数据来对2:00-3:00的负载变动阀值进行计算。
优选地,为了加快处理速度,可以获取一段时间的采样数据,将采样数据按时间区间进行平均分割,划分为各个时间段的采样数据,再计算对应时间段的负载变动阀值,当然,也可以对采样数据采样不平均分割的方式进行划分。
具体来说,若采样时间为一天,将一天的采样数据根据时间区间进行划分,如设置2个小时为一个时间区间,则将一天24小时划分为12个时间段,第一时间段为0-2h,第二时间段为2h-4h,以此类推,优选地,将样本的采样时间进行记录,如产生的样本包含采样时刻t,t是根据24小时制,以小时为单位表示,如t=3.5h表示该样本的采样时间为3点30分,而t=22.5h表示该样本的采样时间为22点30分,则在划分的时候,根据样本的采样时间的记录将样本划入对应的预设时间段内即可,如将t=3.5h的样本划分到对应的第二时间段内,将t=22.5h划分到对应的第十一时间段内。通过这样的时间划分,可以实现对各个时间段的负载变化情况进行计算。
优选地,可以采集多天的样本数据,并将多天的样本数据根据相同时间区间进行划分并计算,根据多天样本数据的计算结果,可以对各个时间段的负载变化情况进行更好地估计。
步骤S120,根据预设时间段内的样本数据分别计算预设监控对象在每两个相邻预设采样周期之间的马氏距离。
具体的,获取预设时间段的样本数据,并计算预设监控对象的在该时间段内每两个相邻预设采样周期之间的马氏距离。
步骤S130,由计算所得在每两个相邻预设采样周期之间的马氏距离和预设参数确定各计算节点的负载变动阀值,其中,预设参数包括权重及标准变动值,则在第τ时间段负载变动阀值的计算公式为:
thr(τ)=ω·d(τ)+(1-ω)·std(τ)
其中,ω表示权重(0<ω≤1)stdavg(τ)表示根据经验设置的第τ时间段的标准变动值。
优选地,本实施中,根据预设时间段内计算所得的马氏距离和预设参数来确定该预设时间段内各计算节点的负载变动阀值,把计算所得的负载变动阀值作为对应时间的各计算节点的负载变动阀值。
在本实施中,可以通过对系统一次性训练获得用于调整各计算节点监测周期的负载变动阀值,也可以设定训练周期,即设定半年或一年周期对系统进行一次训练计算新的负载变动阀值来对原各计算节点监测周期的负载变动阀值进行更新。
如图3所示为本发明图2中步骤S120的细化流程图,步骤S120:根据预设时间段内的样本数据分别计算预设监控对象在每两个相邻预设采样周期之间的马氏距离,具体包括:
步骤S121,将所获取的预设时间段内的样本数据构造为第一数据矩阵;
具体地,在本实施例中,将通过获取的预设监控对象的样本数据得到的训练样本集构成第一数据矩阵,下面以某一时间段的预设监控对象的样本数据得到的训练样本集构成数据矩阵为例进行说明。
举例来说,假设系统预设对m个预设监控对象进行监测,如设定3个预设监控对象,即对计算节点的CPU、内存和磁盘进行采样,则某一采样周期中对3个预设监控对象采样的数据为:CPU占用率为x11、内存占用率为x12和磁盘使用量为x13,则根据该时刻的样本数据形成的样本向量为X1=(X11,X12,X13),以此类推,可得到第i个采样周期得到的第i个样本所形成的样本向量为:Xi=(Xi1,Xi2,Xi3)。若根据对m个预设监控对象的监测,获取了n个采样周期的样本数据,则根据n个采样周期的样本数据可形成了n个m维的样本行向量,这些行向量组成向量组X:X1,...,Xi,...,Xn,构成一个n*m的第一数据矩阵,为:
其中,Xi表示第i个采样周期中m个预设监测对象的监测值所形成的行向量。
当然,在处理样本数据时,也可以将样本数据写成m个n维的列向量X:Y1,...,Yi,...,Ym,构成一个m*n的第一数据矩阵:
X=(Y1,...,Yi,...,Ym),(1≤i≤m)
其中,Yi=(x11,x21,...,xi1)T,Yi表示某一预设监控对象第1个采样周期到i个采样周期中的监测值所形成列向量,T表示转置。
例如以36秒钟(0.01小时)为采样周期对3个预设监控对象进行2小时的采样,则形成了200个3维的样本向量,构成的200*3的第一数据矩阵如下:
步骤S122,由所构造的第一数据矩阵构建预设监控对象之间的协方差矩阵。
为了得到各预设监测对象之间的联系,比如CPU占用高的样本向量往往其内存的占有分量也较高。因此,我们需要计算各预设监控对象之间的(即列向量Y1,Y2,...,Ym之间的)协方差,从而得到各预设监控对象之间的协方差矩阵。
根据协方差的定义,列向量Yi与Yj(1≤i≤m,1≤j≤m)的协方差cov(Yi,Yj)为:
cov(Yi,Yj)=E[(Yi-μi)(Yj-μj)]
其中,μi=E(Yi)。
若根据前述对m个预设监控对象进行监测所构造的第一数据矩阵X来构建预设监控对象之间的协方差矩阵,则得到一个m*m的第一协方差矩阵C,设第一协方差矩阵C中的一个协方差值为cij,则
其中,表示第一数据矩阵X的第k个行向量中的第i个分量,最终可得第一协方差矩阵C为:
步骤S123,根据第一数据矩阵与第一协方差矩阵计算预设监控对象在相邻两个采样周期之间的马氏距离。
具体的,马氏距离的计算公式如下:
其中,di,(i+1)表示Xi与Xi+1之间的马氏距离,Xi表示第i个采样周期中监测对象的监测值所形成的行向量,Xi+1表示第i+1个采样周期中监测对象的监测值所形成的行向量,C-1表示第一协方差矩阵C的逆矩阵。
如图4所示为本发明图2中步骤S130的细化流程图,为对各计算节点的监测周期进行更准确地调整,在本实施例中,负载变动阀值包括平均变动阀值和极限变动阀值,具体为:
步骤S131,根据计算所得的马氏距离计算预设监控对象在预设时间段内的平均马氏距离,则第τ时间段的平均马氏距离的计算公式为:
步骤S132,由计算所得的平均马氏距离和预设参数确定平均变动阀值,则第τ时间段的平均变动阈值的计算公式为:
thrcha(τ)=ω·Davg(τ)+(1-ω)·stdavg(τ)
其中,ω表示权重(0<ω≤1),stdavg(τ)表示根据经验设置在第τ时间段的标准平均变动值,优选地,可根据经验设置第τ时段中某一时刻的标准变动值作为第τ时间段的标准平均变动值。
当然,本实施例在计算平均变动阀值时,也可以先根据每两个相邻预设采样周期之间的多个马氏距离和预设参数计算得到多个负载变动阈值,再对多个负载变动阀值求平均值的方式来计算平均变动阀值。
步骤S133,从计算所得的马氏距离中提取值为最大的马氏距离作为预设监控对象在预设时间段内的最大马氏距离,则第τ时间段的最大马氏距离的计算公式为:
步骤S134,由最大马氏距离和预设参数确定极限变动阀值,则第τ时间段的极限变动阈值的计算公式为:
thrlim(τ)=ω·Dmax(τ)+(1-ω)·stdmax(τ)
其中,ω表示权重(0<ω≤1),stdmax(τ)表示根据经验设置在第τ时间段的标准最大变动值,优选地,可根据经验设置第τ时间段中某一时刻的标准变动值作为第τ时间段的标准最大变动值。
本实施例中根据样本数据所计算的马氏距离和预设的参数来确定各计算节点的平均变动阀值及负载极限阀值来对计算节点的监测周期进行调整,可以及时监测到系统中资源特殊的变动情况,确保系统的安全性、稳定性,并可以对各计算节点的监测周期进行更准确地调整。
如图5所示为本发明图1中步骤S200的细化流程图,步骤S200:获取预设监控对象的监测数据,以分析当前监测周期各计算节点的负载变化度,具体包括:
步骤S210,获取当前监测周期、上一监测周期及之前N个监测周期中预设监控对象的监测数据,其中N≥0。
具体的,获取某一段时间内监测到的监测数据,得到当前监测周期、上一监测周期及之前N个监测周期中监控对象的监测数据。为更好地获取个计算节点负载的变化情况,优选地,获取当前监测周期、上一监测周期及之前连续N个监测周期中监控对象的监测数据,在本实施例中,可以根据设置的时间段长度对预设时间段内的监测数据进行获取或根据设置的监测周期数获取多个监测周期中的监测数据。
步骤S220,根据所获取的监测数据计算预设监控对象在当前监测周期与上一监测周期之间的马氏距离,具体地,如图6所示,步骤S220具体包括:
步骤S221,将所获取的监测数据构造为第二数据矩阵;
具体的,将当前监测周期、上一监测周期及之前N个监测周期中监控对象的监测数据构造为第二数据矩阵,设获取的当前监测周期中预设监控对象的监测数据形成的向量为X'i,则某一段时间内获取的监测数据形成的第二数据矩阵为X'=[X'1,...,X'i-1,X'i]。
步骤S222,由所构造的数据矩阵构建预设监控对象之间的第二协方差矩阵;
第二协方差矩阵的构建方式同上述步骤S122,由此可得第二协方差矩阵C'为:
步骤S223,根据第二数据矩阵与第二协方差矩阵计算预设监控对象在当前监测周期与上一监测周期之间的马氏距离。
具体的,计算公式如下:
其中,d'i-1,i表示X'i与Xi'+1之间的马氏距离,X'i表示当前监测周期中监测对象的监测值所形成的行向量,X'i-1表示当前监测周期之前的监测周期中监测对象的监测值所形成的行向量,C'-1表示第二协方差矩阵C'的逆矩阵。
优选地,获取步骤S130计算所得的各计算节点的平均变动阀值及极限变动阀值作为对各计算节点监测周期进行动态调整的负载变动阀值。
具体的,各计算节点的监测周期的调整过程为:
判断当前监测周期各计算节点的负载变化度,即本实施例中计算的预设监控对象在当前监测周期与上一监测周期之间的马氏距离是否小于各计算节点在的平均变动阀值;
若是,根据预设规则增大下一监测周期;
否则,判断预设监控对象当前监测周期各计算节点的负载变化度,即本实施例中计算的在当前监测周期与上一监测周期之间的马氏距离是否小于各计算节点的极限变动阀值;
若是,根据预设规则减小下一监测周期;
否则,则将下一监测周期调整为预设的最小监测周期。
其中,上述预设规则是根据当前监测周期与预设参数对下一监测周期进行调整,预设规则为:
p=p'+n*pstep,且Pmax≤P'+n*pstep≤Pmin,
其中,p表示下一监测周期,p′为当前监测周期,n为整数,当n为正整数时,表示将增大监测周期,当n为负整数时,表示要减小监测周期,pstep为预设的监测步进,Pmax为预设的最大监测周期,Pmin为预设的最小监测周期,一般情况下将n设置为1或其他固定值,当然,也可以根据当前监测周期与上一监测周期之间的马氏距离与平均变动阀值、极限变动阀值的具体差值来进行灵活设定,当差值较大,表示监测周期应做较大的调整,则将n设置为较大的值。
本发明实施例的资源监测方法,通过采集和分析样本数据来获得各计算节点的负载变动阀值,根据对预设监控对象的监测数据进行分析来获知当前监测周期各计算节点的负载变化度;再将当前监测周期各计算节点的负载变化度和对应时间的负载变动阀值进行对比的结果对各计算节点的下一监测周期进行自适应调整,从而实现了对计算节点监测周期的动态调整,通过动态调整监测周期的方式,能及时地监测到资源的剧烈变动情况,避免给计算节点带来不必要的负担,从而能提高系统的计算性能,因此确保了系统的安全性及稳定性;且通过对计算节点的监测周期进行自适应调整,从整体上减少了监测的频率,能有效地减少计算节点的计算量及监测数据的网络传输量,在确保系统的安全性及稳定性基础上,能有效提高系统的吞吐量。
请参阅图7,本发明提供本发明还提供一种资源监测系统,图7所示为本发明的资源监测系统100的总体框架示意图,该资源监测系统包括阀值设定模块110、数据分析模块120和动态调整模块130,其中
阀值设定模块110:用于采集各计算节点中预设监控对象的样本数据,并计算各计算节点的负载变动阀值;
数据分析模块120:用于获取预设监控对象的监测数据,以分析当前监测周期各计算节点的负载变化度;
动态调整模块130:用于将当前监测周期各计算节点的负载变化度与负载变动阀值进行对比以自适应调整各计算节点的下一监测周期。
进一步地,动态调整模块130将当前监测周期各计算节点的负载变化度与负载变动阀值进行对比以自适应调整所述各计算节点的下一监测周期,具体包括:
判断当前监测周期各计算节点的负载变化度是否小于负载变动阀值;
若是,将下一监测周期增大;
否则,则减小下一监测周期。
如图8所示,阀值设定模块110中计算的负载变动阀值包括平均变动阀值和极限变动阀值,该阀值设定模块110包括:
采集单元111:用于以预设采样周期获取预设时间段内预设监控对象的样本数据;
计算单元112:用于根据预设时间段内的样本数据分别计算预设监控对象在每两个相邻预设周期之间的马氏距离;
确定单元113:用于由计算所得每两个相邻预设采样周期之间的马氏距离和预设参数确定负载变动阀值,其中,预设参数包括权重及标准变动值,则在第τ时间段负载变动阀值的计算公式为:
thr(τ)=ω·d(τ)+(1-ω)·std(τ)
其中,ω表示权重(0<ω≤1)stdavg(τ)表示根据经验设置的第τ时间段的标准变动值。
进一步地,由确定单元113对平均变动阀值和极限变动阀值进行计算,为对各计算节点的监测周期进行更准确地调整,确定单元113中根据计算所得每两个相邻预设采样周期之间的马氏距离和预设参数确定负载变动阀值,具体包括:
根据计算所得的马氏距离计算预设监控对象在所述预设时间段内的平均马氏距离;
由平均马氏距离和预设参数确定平均变动阀值;
从计算所得的马氏距离中提取值为最大的马氏距离作为预设监控对象在所述预设时间段内的最大马氏距离;
由最大马氏距离和预设参数确定极限变动阀值。
进一步地,动态调整模块130用于自适应调整各计算节点的下一监测周期,具体包括:
判断当前监控周期各计算节点的负载变化度是否小于平均变动阀值;
若是,根据预设规则增大下一监测周期;
否则,判断预设监控对象在当前监测周期与上一监测周期之间的马氏距离是否小于极限变动阀值;
若是,根据预设规则减小下一监测周期;
否则,则将下一监测周期调整为预设的最小监测周期。
其中,预设规则为:
p=p'+n*pstep,且Pmin≤p'+n*pstep≤Pmax;
其中,n为整数,p表示下一监测周期,p'表示当前监测周期,pstep表示预设的监测步进,Pmax表示预设的最大监测周期,Pmin表示预设的最小监测周期。
进一步地,如图9所示,数据分析模块120包括:
获取单元:用于获取当前监测周期、上一监测周期及之前N个监测周期预设监控对象的监测数据,其中N≥0;
分析单元:根据所获取的监测数据计算预设监控对象在当前监测周期与上一监测周期之间的马氏距离,并将计算所得当前监测周期与上一监测周期之间的马氏距离作为当前监控周期各计算节点的负载变化度。
本发明实施例的资源监测系统,通过采集和分析样本数据来获得各计算节点的负载变动阀值,根据对预设监控对象的监测数据进行分析来获知当前监测周期各计算节点的负载变化度;再将当前监测周期各计算节点的负载变化度和对应时间的负载变动阀值进行对比的结果对各计算节点的下一监测周期进行自适应调整,从而实现了对计算节点监测周期的动态调整,通过动态调整监测周期的方式,能及时地监测到资源的剧烈变动情况,避免给计算节点带来不必要的负担,从而能提高系统的计算性能,因此确保了系统的安全性及稳定性;且通过对计算节点的监测周期进行自适应调整,从整体上减少了监测的频率,能有效地减少计算节点的计算量及监测数据的网络传输量,在确保系统的安全性及稳定性基础上,能有效提高系统的吞吐量。
为了更好地理解本发明,在上述实施例的基础上,本发明另一实施例还提供了一种资源调度方法,请参阅图10,方法流程包括:
第一步:读取训练得到的各个时间的平均变动阈值thrcha(图中记为tcha)和极限变动阈值thrlim(图中记为tlim)。
第二步:读取用户预先设置的最大监测周期pmax(图中记为pmax),最小监测周期pmin(图中记为pmin),采样步进pstep(流程图中记为pstep)。
第三步:初始化,设当前监测周期为p,i表示第i个监测周期,设置第1个监测周期为最小监测周期(图中记为i=1,pmin→p)
第四步:自适应调整监测周期方法如下:
(1)获取当前监测周期的监测数据,记为Xi(图中记为Xi),判断i<2是否为真,若是则结束;
(2)计算Xi(图中记为Xi)与Xi-1(图中记为Xi-1)之间的马氏距离,记为d;
(3)根据Xi的实时时间获取对应的平均变动阈值Thrcha(图中记为Tcha)和极限变动阈值Thrlim(图中记为Tlim);
(4)判断Xi与Xi-1之间的马氏距离d是否小于获取的平均变动阈值Thrcha:
如果Xi与Xi-1之间的马氏距离d小于获取的平均变动阈值Thrcha(图中记为d<Thrcha),则跳到步骤(7);
否则跳到步骤(5);
(5)判断Xi与Xi-1之间的马氏距离d是否小于获取的极限变动阈值Thrlim:
如果Xi与Xi-1之间的马氏距离小于获取的极限变动阈值Thrlim(图中记为d<Thrlim),则跳到步骤(6);
否则跳到步骤(7);
(6)当Xi与Xi-1之间的马氏距离d达到平均变动阈值Thrcha但没有超出极限变动阈值Thrlim,需要加大监测力度,即减小监测周期,但最小不能小于最小监测周期,此时从p-pstep与pmin中获取最大值作为下一监测周期(图中记为MAX(p-pstep,pmin)→p);
再跳到步骤(1);
(7)当Xi与Xi-1之间的马氏距离d超出了平均变动阈值Thrcha并且达到极限变动阈值Thrlim,则表示需要进行最紧密的监测,则设置下一监测周期p为最小监测周期(图中记为pmin→p)
再跳到步骤(1);
(8)若Xi与Xi-1之间的马氏距离d没有超出平均变动阈值Thrcha,需要减小监测力度,即增大监测周期,但最大不能大于最大监测周期,则从p+pstep与pmax中获取最小值作为下一监测周期(图中记为MIN(p+pstep,pmax)→p);
再跳到步骤(1)。
本发明实施例的资源监测方法及系统,通过采集和分析样本数据来获得各计算节点的负载变动阀值,根据对预设监控对象的监测数据进行分析来获知当前监测周期各计算节点的负载变化度;再将当前监测周期各计算节点的负载变化度和对应时间的负载变动阀值进行对比的结果对各计算节点的下一监测周期进行自适应调整,从而实现了对计算节点监测周期的动态调整,通过动态调整监测周期的方式,能及时地监测到资源的剧烈变动情况,避免给计算节点带来不必要的负担,从而能提高系统的计算性能,因此确保了系统的安全性及稳定性;且通过对计算节点的监测周期进行自适应调整,从整体上减少了监测的频率,能有效地减少计算节点的计算量及监测数据的网络传输量,在确保系统的安全性及稳定性基础上,能有效提高系统的吞吐量。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的涵盖范围之内。