基于指数平滑预测的系统计算资源预测方法及装置的制造方法

文档序号:10552799阅读:233来源:国知局
基于指数平滑预测的系统计算资源预测方法及装置的制造方法
【专利摘要】本发明实施例提供一种基于指数平滑预测的系统计算资源预测方法和装置。中心服务器在当前时刻之前的第一时间段内持续接收到多个监控数据,每个监控数据为每一个监控周期内对服务器的系统计算资源情况进行监控而获取的数据;所述中心服务器根据所述第一时间段内接收到的所述多个监控数据的一次指数和二次指数的平滑值,建立计算资源预测模型;根据所述模型,预测当前时刻之后的第二时间段内某一时刻所述服务器的系统计算资源的使用量,并将所述预测的结果进行展示。通过监控数据的收集和预测,能够帮助调度系统避开拥堵高峰,从而减少任务超时或者失败的几率。对于合理利用计算资源,保证数据计算的稳定性有很大帮助。
【专利说明】
基于指数平滑预测的系统计算资源预测方法及装置
技术领域
[0001]本发明实施例涉及分布式计算技术领域,尤其涉及一种基于指数平滑预测的计算资源预测方法及系统。
【背景技术】
[0002]在大数据调度系统中,每天运行成百上千个任务,经常会在某些时刻出现服务器CPU或者内存负载较高从而影响计算任务的执行。当前监控系统可以通过统计得到资源的近实时使用情况,可是在实际情况中,不仅仅是“上一刻”的资源使用情况,“下一刻”资源可能被占用的情况往往对调度系统更有意义。大数据计算任务通常需要运行较长时间,也需要消耗大量的计算资源,如果调度系统在作业运行前能够预测到集群“下一刻”的资源是否能够满足其运行需要,从而决定是否运行,那么无疑可以避免出现由于计算资源不足而造成作业失败的情况。
[0003]通过监控数据的收集和预测,能够帮助调度系统避开拥堵高峰,从而减少任务超时或者失败的几率。对于合理利用计算资源,保证数据计算的稳定性有很大帮助。

【发明内容】

[0004]本发明实施例提供一种基于指数平滑预测的系统计算资源预测方法及装置,用以解决现有技术中由于计算资源不足而造成作业失败的情况。
[0005]本发明实施例提供一种基于指数平滑预测的系统计算资源预测方法,包括:
[0006]中心服务器在当前时刻之前的第一时间段内持续接收到多个监控数据,每个监控数据为每一个监控周期内对服务器的系统计算资源情况进行监控而获取的数据,具体包括所述服务器在每一个监控周期内系统计算资源的使用量,所述第一时间段包括多个所述监控周期;
[0007]所述中心服务器根据所述第一时间段内接收到的所述多个监控数据的一次指数平滑值和二次指数平滑值,建立计算资源预测模型;
[0008]根据所述计算资源预测模型,预测当前时刻之后的第二时间段内某一时刻所述服务器的系统计算资源的使用量,并将所述预测的结果进行展示。
[0009]本发明实施例提供一种基于指数平滑预测的系统计算资源预测装置,包括:
[0010]数据接收模块,中心服务器在当前时刻之前的第一时间段内持续接收到多个监控数据,每个监控数据为每一个监控周期内对服务器的系统计算资源情况进行监控而获取的数据,具体包括所述服务器在每一个监控周期内的系统计算资源的使用量,所述第一时间段包括多个所述监控周期;
[0011 ] 数据处理模块,所述中心服务器根据所述第一时间段内接收到的所述多个监控数据的一次指数平滑值和二次指数平滑值,建立计算资源预测模型;;
[0012]预测模块,根据所述计算资源预测模型,预测当前时刻之后的第二时间段内某一时刻所述服务器的系统计算资源的使用量;
[0013]显示模块,将所述预测的结果进行展示。
[0014]本发明实施例提供的基于指数平滑预测的系统计算资源预测方法及装置,通过将数据挖掘的时间序列算法和监控数据相结合,预测了集群服务器的计算资源使用状况,能够帮助调度系统避开拥堵高峰,从而减少了任务超时或者失败的机率,在合理利用计算资源和保证数据稳定性方面有非常大的提升。
【附图说明】
[0015]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本发明实施例一的技术流程图;
[0017]图2为本发明实施例二的技术流程图;
[0018]图3为本发明实施例三的技术流程图;
[0019]图4为本发明实施例四的技术流程图;
[0020]图5为本发明实施例五的装置结构示意图;
[0021]图6为本发明应用实例的预测曲线示意图。
【具体实施方式】
[0022]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]实施例一
[0024]图1是本发明实施例一的技术流程图,结合图1,本发明实施例主要包括如下的步骤:
[0025]步骤101:中心服务器在当前时刻之前的第一时间段内持续接收到多个监控数据;
[0026]每个监控数据为每一个监控周期内对服务器的系统计算资源情况进行监控而获取的数据,具体包括所述服务器在每一个监控周期内系统计算资源的使用量,所述第一时间段包括多个所述监控周期;
[0027]本发明实施例中,可以在需要监控的服务器上安装探测程序最为探测器从而实现对服务器使用系统计算资源的情况进行监控,当然本发明并不限于探测程序的方式。
[0028]数据挖掘中的时间序列挖掘指的是从现有时间序列中的数据找出统计规律,时间序列挖掘所处理的数据都会被打上时间标签,这些数据反应了某一事物随着时间的变化状态或是程度,根据数据的变化趋势,可以由历史数据去推测未来的数据。
[0029]因此,本发明实施例中,中心服务器在当前时刻之前的第一时间段内持续接收探测器发送的多个监控数据作为历史数据,从这些历史数据中去寻找统计归规律即可实现对当前时刻之后的第二时间段内的数据变化趋势。
[0030]本发明实施例中所述系统计算资源包括:中央处理器(CPU)、内存、磁盘、传输控制协议(TCP)连接等系统数据。
[0031]步骤102:所述中心服务器根据所述第一时间段内接收到的所述多个监控数据的一次指数平滑值和二次指数平滑值,建立计算资源预测模型;
[0032]本发明实施例中采用二次指数平滑法建立数据的预测模型,本领域技术人员熟知,二次指数平滑法是对一次指数平滑值作再一次指数平滑的方法。它不能单独地进行预测,必须与一次指数平滑法配合,建立预测的数学模型,然后运用数学模型确定预测值。
[0033]步骤103:根据所述计算资源预测模型,预测当前时刻之后的第二时间段内某一时刻所述服务器的系统计算资源的使用量,并将所述预测的结果进行展示。
[0034]实施例二
[0035]图2是本发明实施例一的技术流程图,结合图2,本发明实施例进一步可以细化为如下的步骤:
[0036]步骤201:在每台需要监控的服务器上安装探测器,监控所述服务器计算资源的使用量,其中所述探测器以监控周期运行;
[0037]服务器的构成包括处理器、硬盘、内存、系统总线等,因此本发明实施例中,监控所述服务器计算资源的使用量主要包括CPU、内存、磁盘、TCP连接数等近40种系统数据。
[0038]步骤202:所述探测器将所述使用量的监控数据发送回中心服务器;
[0039]本发明实施例中,设置探测器的监控周期为一分钟,则所述探测器每分钟运行一次,集群中的各个服务器通过调用中心服务器提供的REST API,以HTTP方式将检测数据发送回中心服务器,当然本发明实施例的监控周期并不仅限于一分钟一次。
[0040]步骤203:所述中心服务器接收所述探测器发送的所述监控数据并以统计周期对接收到的所述监控数据进行统计;
[0041]本发明实施例中,所述中心服务器通过Rest API的方式接收所述探测器发送过来的各种监控数据,为了防止单点故障,所述中心服务器的搭建方式采用了 LVS+Nginx双机负载均衡集群的方案。数据库采用了 MongoDB三机集群,保证数据存储的高性能和无单点故障。中心服务器拥有强大的吞吐能力,每秒查询率QPS(Query Per Seconds)达到2万/秒。
[0042]本发明实施例中采用的Rest API是一套比较成熟的互联网应用API设计理论,它提供了统一的资源访问接口,简化了应用之间的集成成本。
[0043]集群中的服务器通常多达300多台服务器,每台服务器都在产生大量的监控数据。由几百台服务器组成的整个集群被当作一台超级服务器,本发明实施例中采用每隔5分钟对集群的CPU,内存等数据进行统计。将一个小时划分为12个分区,每次都取当前时间的前一个5分钟分区来进行计算。这样分时段对个服务器发来的监控数据进行统计,能够使得整个统计过程实时性增强,其次中心服务器一次性处理的数据量显著减少,因此运行速度更快,与此同时也为实现实时预警提供了基础。当然,本发明实施例的所述统计周期并不仅限于五分钟,也可以根据经验或者中心服务器的性能进行设置。
[0044]步骤204:所述中心服务器根据所述第一时间段内的所述监控数据,计算每个探测时刻的所述监控数据对应的一次指数平滑值和二次指数平滑值;
[0045]所述二次指数平滑是一种时间序列预测方法,其主要功能就是从一个序列(Sequence)中的数据找出统计规律,得到某一事物随着时间的变化状态或是程度,根据数据的变化趋势,可以由历史和当前的数据去推测未来的数据。
[0046]指数平滑法在移动平均法基础上发展起来的一种时间序列分析预测法。它使用加权平均的方法将实际值和平滑值结合,通过平滑值构建序列预测模型,实现预测功能。其中,一次指数平滑预测的公式如下:
[0047]St(1)= a Xyt+(l-a)X(Stl)公式 I
[0048]其中,t时刻监控数据的实际值,在本发明实施例中为中心服务器统计得到的第t时刻系统计算资源使用量,St为第t时刻系统计算资源使用量的平滑值,S t i为第t-1时刻系统计算资源使用量的平滑值,α平滑常数,其取值范围为[0,1]。
[0049]公式I利用t-Ι时刻系统计算资源使用量的平滑值和t时刻系统计算资源使用量的实际值来计算t时刻系统计算资源使用量的平滑值;α是平滑系数,其值越接近1,则远时刻数据对于系统计算资源使用量计算结果影响越小;其值越接近0,则影响越大。
[0050]一次指数平滑预测适用与没有趋势和季节性的序列。若是数据序列中存在着一定的趋势,则需要在一次指数预测的基础再平滑,具体公式如下:
[0051 ] S,) = a X y t+ (1- a ) X (St !)⑴
[0052]St?= a XS,+(1-α ) X (St !)⑵公式 2
[0053]公式2中,α为平滑常数,取值范围为[0,I] ;t为第t个探测时刻,t的取值在所述第一时间段内从第一个监控周期变化至当前时刻之前的最后一个监控周期;yt为第t个探测时刻的监控数据;St⑴为第t个探测时刻所述监控数据一次指数平滑值;S t(2)为第t个探测时刻所述监控数据的二次指数平滑值。所
[0054]述第一时间内的多个St(2)组成的时间序列的变化趋势可以代表所述监控数据的所述变化趋势,从而可以根据所述变化趋势建立预测模型进行所述第二时间段内所述系统计算资源使用量的预测。
[0055]步骤205:所述中心服务器根据所述第一时间段内接收到的所述多个监控数据的一次指数平滑值和二次指数平滑值,建立计算资源预测模型;
[0056]输入一个时间序列的系统计算资源使用量的实际值和系数α,便可以通过上述公式I和公式2计算出每一个时刻的S,值和S,值,进而预测出t+m时刻的系统计算资源使用量的预测值。预测公式如下:
[0057]Ft+n=st+mXbt
[0058]st= 2S t(1) - St?
[0059]bt= (a /1-a ) X (S t(1)-St(2))公式 3
[0060]公式3中,其中,t是所述第一时间段内的最后一个探测时刻,t+m是所述第二时间段内的第m个时刻,Ft+ni为第m个时刻所述系统计算资源使用量的预测值,s ,和b t为模型参数,其中,St⑴为第t个探测时刻所述系统计算资源使用量的一次指数平滑值,St⑵为第t个探测时刻所述系统计算资源使用量的二次指数平滑值,α为平滑常数,α的取值范围为[0,I]ο
[0061]其中,平滑系数α的取值在[0,1]之间,具体取值选择的原则是使预测值与实际值之间的均方误差和平均绝对百分误差最小。值得注意的是,在实际预测时,还必须考虑时序数据本身的特征:如果时间序列具有不规则的起伏变化,但长期趋势接近一个稳定常数,α值一般较小;如果时间序列具有迅速明显的变化倾向,则α应该取较大值;如果时间序列变化缓慢,亦应选较小的值。
[0062]步骤206:根据所述计算资源预测模型对所述当前时刻之后的第二时间段内某一时刻所述系统计算资源的使用量进行预测。
[0063]实施例三
[0064]图3是本发明实施例短期预测模型建立的示意图,结合图3,本发明实施例进一步包括如下步骤:
[0065]步骤301:将所述第一时间段设定为当前时刻之前的X小时,在每台需要监控的服务器上安装探测器,监控所述服务器系统计算资源的使用量,其中X属于第一范围;
[0066]本发明实施例中,可举如下例子:在某一服务器上安装所述探测器对未来15分钟内CPU的占有量进行预测,可将所述第一时间段设定为I小时(X = I),将所述监控周期设置为I分钟,则在所述第一时间内,所述中心服务器将收到来自所述某一服务器发送的60个CPU使用量数据值。
[0067]值得注意的是,所述第一范围由经验进行确定,本发明实施例并不限定所述第一范围的上下限值。若需要预测的所述第二时间段较长,则相应地将所述第一时间段随之设置较长一些,以保证历史监控数据的变化趋势能够正确对未来的监控数据走向作出正确判断。
[0068]步骤302:所述探测器将所述使用量的监控数据发送回中心服务器;
[0069]承接上一步骤的例子,本发明实施例中,可设置探测器每分钟运行一次,集群中的各个服务器通过调用中心服务器提供的REST API,以HTTP方式将检测数据发送回中心服务器,当然本发明实施例的监控周期并不仅限于一分钟一次。
[0070]步骤303:所述中心服务器接收所述探测器发送的所述监控数据并以统计周期对接收到的所述监控数据进行统计;
[0071]承接上一步骤的例子,本发明实施例中采用每隔5分钟对集群的CPU使用量进行统计。将一个小时划分为12个分区,每次都取当前时间的前一个5分钟分区来进行计算。这样分时段对个服务器发来的监控数据进行统计,能够使得整个统计过程实时性增强,其次中心服务器一次性处理的数据量显著减少,因此运行速度更快,与此同时也为实现实时预警提供了基础。当然,本发明实施例的所述统计周期并不仅限于五分钟,也可以根据经验或者中心服务器的性能进行设置。
[0072]步骤304:所述中心服务器根据所述第一时间段内的所述监控数据,计算每个探测时刻的所述监控数据对应的一次指数平滑值和二次指数平滑值;
[0073]承接上一步骤的例子,所述第二时间段为15分钟,利用公式I和公式2计算St(1)和St(2),即计算当前时间的前一小时内每一分钟CPU使用量的一次指数平滑值和二次指数平滑值,共得到60个随时间变化的St⑴值和60个随时间变化的S,值。
[0074]步骤305:所述中心服务器根据所述第一时间段内的所述监控数据的一次指数平滑值和二次指数平滑值,建立计算资源预测模型,对所述当前时刻之后的第二时间段内所述系统计算资源的使用量进行预测。
[0075]根据公式3,取m = I,所述第二时间段内的第一分钟的预测值为Ft+ni= F 61、取m =2,所述第二时间段内的第二分钟的预测值为Ft+ni= F62、取m= 15,所述第二时间段内的第十五分钟的预测值为Ft+ni= F75。通过以上计算即可得到当前时间之后的15分钟内CPU使用量的预测数据,若使用量充足,则调度任务正常运行;若不充足,更改调度任务方向,避开计算资源拥堵高峰。
[0076]本发明实施例中,对系统计算资源使用量是否充足是根据经验进行判断的,与此同时,充足是一个相对的概念,本发明实施例并不对“是否充足”的进行数值上的限定。例如,集群中某一服务器磁盘的剩余量为总容量的50%,若是接下来的调度计算任务只需要占用磁盘总容量的10%,那么对于这个调度计算任务而言,该服务器的磁盘剩余量是充足的,调度任务的计算正常进行;若是下一个计算任务对磁盘的需求量为总容量的51%,则可明显地知道该磁盘的剩余量是不足以完成下一个调度任务计算的,若强制执行,则可能出现由于计算资源不足而导致调度任务失败的情况。
[0077]实施例四
[0078]图4是本发明实施例长期预测模型建立的示意图,结合图4,本发明实施例进一步包括如下步骤:
[0079]步骤401:将所述第一时间段设定为当前时刻之前的Y天,在每台需要监控的服务器上安装探测器,监控所述服务器系统计算资源的使用量,其中Y属于第二范围;
[0080]本发明实施例中,可举如下例子:在某一服务器上安装所述探测器对未来7天内集群CPU的使用量是否能够达到100%进行预测,可将将所述第一时间段设定为30天(Y =30),将所述监控周期设置为I分钟,则在所述第一时间内,所述中心服务器将收到来自所述某一服务器发送的43200个CPU使用量数据值。
[0081]值得注意的是,所述第二范围由经验进行确定,本发明实施例并不限定所述第二范围的上下限值。
[0082]步骤402:所述探测器将所述使用量的监控数据发送回中心服务器;
[0083]承接上一步骤的例子,本发明实施例中,可设置探测器每分钟运行一次,集群中的各个服务器通过调用中心服务器提供的REST API,以HTTP方式将检测数据发送回中心服务器,当然本发明实施例的监控周期并不仅限于一分钟一次。
[0084]步骤403:所述中心服务器接收所述探测器发送的所述监控数据并以统计周期对接收到的所述监控数据进行统计;
[0085]承接上一步骤的例子,本发明实施例中采用每隔5分钟对集群的CPU使用量进行统计。将一个小时划分为12个分区,每次都取当前时间的前一个5分钟分区来进行计算。这样分时段对个服务器发来的监控数据进行统计,能够使得整个统计过程实时性增强,其次中心服务器一次性处理的数据量显著减少,因此运行速度更快,与此同时也为实现实时预警提供了基础。当然,本发明实施例的所述统计周期并不仅限于五分钟,也可以根据经验或者中心服务器的性能进行设置。
[0086]步骤404:所述中心服务器根据所述第一时间段内的所述监控数据,计算每个探测时刻的所述监控数据对应的一次指数平滑值和二次指数平滑值;
[0087]承接上一步骤的例子,所述第二时间段为7天,利用公式I和公式2计算St⑴和St(2),即计算当前时间的前30天内每一分钟CPU使用量的一次指数平滑值和二次指数平滑值,共得到43200个随时间变化的St⑴值和43200个随时间变化的S,值。
[0088]步骤405:所述中心服务器根据所述第一时间段内的所述监控数据的一次指数平滑值和二次指数平滑值,建立计算资源预测模型,对所述当前时刻之后的第二时间段内所述系统计算资源的使用量进行预测。
[0089]根据公式3,取m= 1440,所述第二时间段内的第一天的预测值为Ft+ni= F 4464。、取m=2880,所述第二时间段内的第二天的预测值为Ft+ni= F46_、取m = 10080,所述第二时间段内的第7天的预测值为Ft+ni= F 532S。。通过以上计算即可得到当前时间之后7天内的CPU使用量有无达到100%的可能性,若有,则提前对调度系统进行预警提示。
[0090]本发明实施例对所述系统计算资源使用量的预警提示进行可视化展示,从而调度系统运维人员可以根据所述预警提示对集群的计算资源作出更合理的规划。
[0091]实施例五
[0092]图5所示是本发明实施例二的装置示意图,结合图5,本发明实施例一种基于指数平滑预测的系统计算资源预测装置,包括如下模块:数据接收模块501、数据处理模块502、预测模块503、显示模块504。
[0093]所述数据接收模块501,其功能在于,中心服务器在当前时刻之前的第一时间段内持续接收到多个监控数据,每个监控数据为每一个监控周期内对服务器的系统计算资源情况进行监控而获取的数据,具体包括所述服务器在每一个监控周期内使用系统计算资源的使用量,所述第一时间段包括多个所述监控周期;
[0094]所述数据处理模块502,其功能在于,所述中心服务器根据所述第一时间段内接收到的所述多个监控数据的一次指数平滑值和二次指数平滑值,建立计算资源预测模型;
[0095]所述预测模块503,其功能在于,根据所述计算资源预测模型,预测当前时刻之后的第二时间段内某一时刻所述服务器的系统计算资源的使用量;
[0096]显示模块504,将所述预测的结果进行展示。
[0097]所述数据处理模块502进一步用于,所述数据处理模块进一步用于,采用如下公式计算所述一次指数平滑值和二次指数平滑值:
[0098]S,) = a Xy t+(l-a ) X (St !)⑴
[0099]S,) = a X S t(1)+ (1- a ) X (St !)⑵
[0100]其中,α为平滑常数,t为第t个探测时刻,t的取值在所述第一时间段内从第一个监控周期变化至当前时刻之前的最后一个监控周期;yt为第t个探测时刻的监控数据;S,为第t个探测时刻所述监控数据一次指数平滑值;S,为第t个探测时刻所述监控数据的二次指数平滑值。
[0101]所述预测模块503,进一步用于:所述预测模块,进一步用于:采用计算资源预测模型:
[0102]Ft+n= s t+mXbt
[0103]st=2St(1)-St?
[0104]bt= ( a /1- a ) X (S t(1)_St?)
[0105]其中,a为平滑常数,t是所述第一时间段内的最后一个探测时刻,t+m是所述第二时间段内的第m个时刻,Ft+ni为第m个时刻所述系统计算资源使用量的预测值,s ,和b ,为模型参数;其中,St⑴为第t个探测时刻的所述监控数据的一次指数平滑值;S /2)为第t个探测时刻所述监控数据的二次指数平滑值。
[0106]应用场景实例
[0107]如图6所示,本实施例为本发明实施例的应用场景实例,通过应用场景下对二次指数平滑预测的计算,使得本发明实施例的技术方案更加详细清楚。
[0108]本发明实施例中,假设将所述第一时间段设置为I小时,所述监控周期为十分钟,取当前时间的前一个十分钟的监控数据来预测所述第二时间段内的计算资源使用量。具体操作如下,假设所述中心服务器接收到的CPU计算资源占有量如下:yi= 0.24,y2= 0.27、Y3= 0.25、y 4= 0.28、y 5= 0.26、y 6= 0.27、y 7= 0.26、y 8= 0.28、y 9= 0.30、y 10= 0.33,此序列的变化值具有迅速明显的变化倾向,因此取平滑系数α = 0.8进行预测。
[0109]根据二次指数平滑预测公式对未来时间段内的时间序列进行预测,如下:
[0110]S,)= a Xy t+(l-a ) X (St !)⑴
[0111]S,) = a X S 广)+ (1- a ) X (St !)⑵
[0112]初始化时,令S0?= S0(1)= y != 0.24。
[0113]SI,计算第一时刻的指数平滑值,t = I时,yi= 0.24:
[0114]S/1)= a Xy ^(l-a ) X (S。)⑴
[0115]S/2)= a XS/1)+(1-a ) X (S0)⑵
[0116]代入具体数值如下:
[0117]S^li= 0.8*0.24+0.2*0.24 = 0.24
[0118]s/2)) = 0.8*0.24+0.2*0.24 = 0.24
[0119]S2,计算第二时刻的指数平滑值,t = 2时,J2= 0.27:
[0120]S2W = a Xy 2+(l-a ) X (S1)⑴
[0121 ]S2? = a X S ,)+ (1- a ) X (S1)⑵
[0122]代入具体数值如下:
[0123]S2(1) = 0.8*0.27+0.2*0.24 = 0.264
[0124]S2(2)) = 0.8*0.264+0.2*0.24 = 0.2592
[0125]S3,计算第三时刻的指数平滑值,t = 3时,y3= 0.25:
[0126]S3⑴=a Xy 3+(l-a ) X (S2)⑴
[0127]S3⑵=a X S 3⑴+ (1- a ) X (S2)⑵
[0128]代入具体数值如下:
[0129]S3(1) = 0.8*0.25+0.2*0.264 = 0.2528
[0130]S3(2) = 0.8*0.2528+0.2*0.2592 = 0.25408
[0131]S4,计算第四时刻的指数平滑值,t = 4时,y4= 0.28:
[0132]S4W = a Xy4 t+(l-a ) X (S3)⑴
[0133]S4? = a X S 4(1)+ (1- a ) X (S3)⑵
[0134]代入具体数值如下:
[0135]S4(1) = 0.8*0.28+0.2*0.2528 = 0.27456
[0136]S4(2)) = 0.8*0.27456+0.2*0.25408 = 0.270464
[0137]S5,计算第五时刻的指数平滑值,t = 5时,y3= 0.26:
[0138]S5⑴=a Xy 5+(l-a ) X (S4)⑴
[0139]S5⑵=a X S 5⑴+ (1- a ) X (S4)⑵
[0140]代入具体数值如下:
[0141]S5(1) = 0.8*0.26+0.2*0.27456 = 0.262912
[0142]S5(2)) = 0.8*0.262912+0.2*0.270464 = 0.2644224
[0143]S6,计算第六时刻的指数平滑值,t = 6时,y3= 0.27:
[0144]s6(1)= a Xy6+(l-a ) X (S5) (1)
[0145]S6?= a XS6⑴+(1-a ) X (S5)⑵
[0146]代入具体数值如下:
[0147]S3(1) = 0.8*0.27+0.2*0.262912 = 0.2685824
[0148]S3(2)) = 0.8*0.2685824+0.2*0.2644224 = 0.2677504
[0149]S7,计算第七时刻的指数平滑值,t = 7时,J1= 0.26:
[0150]S/1)= a Xy 7+(l-a ) X (S6)⑴
[0151]S/2)= a XS/1)+(1-a ) X (S6)⑵
[0152]代入具体数值如下:
[0153]S3(1) = 0.8*0.26+0.2*0.2685824 = 0.26171648
[0154]S3(2)) = 0.8*0.26171648+0.2*0.2677504 = 0.262923264
[0155]S8,计算第八时刻的指数平滑值,t = 8时,y3= 0.28:
[0156]Si/1)= a Xys+(l-a ) X (S7)⑴
[0157]Ss?= a XS^D+d-a ) X (S7)⑵
[0158]代入具体数值如下:
[0159]S3(1) = 0.8*0.28+0.2*0.26171648 = 0.276343296
[0160]S3⑵)=0.8*0.276343296+0.2*0.276343296 = 0.276343296
[0161]S9,计算第九时刻的指数平滑值,t = 9时,Y9= 0.30:
[0162]S,) = a Xy 9+(l-a ) X (S8)⑴
[0163]S9? = a X S J1)+ (1- a ) X (S8)⑵
[0164]代入具体数值如下:
[0165]S9(1) = 0.8*0.30+0.2*0.276343296 = 0.2952686592
[0166]S9(2)) = 0.8*0.2952686592+0.2*0.276343296 = 0.29148358656
[0167]S10,计算第十时刻的指数平滑值,t = 10时,y3= 0.33:
[0168]S1。⑴=a Xy10+(l-a)X (S9)⑴
[0169]S1。⑵=a XS 10(1)+(l-a ) X (S9)⑵
[0170]代入具体数值如下:
[0171]Siq⑴=0.8*0.33+0.2*0.2952686592 = 0.32305373184
[0172]S10(2))= 0.8*0.32305373184+0.2*0.29148358656 = 0.316739702784
[0173]得到表示时间序列变化趋势的平滑值之后,即可对未来第t+m时刻的值进行预测,预测公式如下:
[0174]Ft+n=st+mXbt
[0175]st= 2S t(1) - St?
[0176]bt= (a/1-a ) X (S t(1)-S,))
[0177]当t = 10,m = I时,对第11时刻的值进行预测:
[0178]S10= 2S 10(1) - Siq⑵=2*0.32305373184-0.316739702784 = 0.3294
[0179]b10= (α /l-α )*(S 10(1) - S10(2)) = 0.02526
[0180]F11= F t+m= s 10+mXb10= 0.3294+0.02526 = 0.35466
[0181]当m = 2时,对第12时刻的值进行预测:
[0182]F12= F t+m= s 10+2 Xb10= 0.3294+2*0.02526 = 0.37992
[0183]当m = 3时,对第13时刻的值进行预测:
[0184]F13= F t+m= s 10+3 Xb10= 0.3294+3*0.02526 = 0.40518
[0185]当m = 4时,对第14时刻的值进行预测:
[0186]F14= F t+m= s 10+4Xb10= 0.3294+4*0.02526 = 0.43044
[0187]如图6所示,从第I时刻至第10时刻,二次指数平滑的预测值与实际值基本一致,趋势走向相同,因此对第11、12、13、14时刻的预测结果和预测的趋势也能够突显出第10时刻以后的某时间段内的计算资源走向趋势。
[0188]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0189]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0190]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种基于指数平滑预测的系统计算资源预测方法,其特征在于, 中心服务器在当前时刻之前的第一时间段内持续接收到多个监控数据,每个监控数据为每一个监控周期内对服务器的系统计算资源情况进行监控而获取的数据,具体包括所述服务器在每一个监控周期内系统计算资源的使用量,所述第一时间段包括多个所述监控周期; 所述中心服务器根据所述第一时间段内接收到的所述多个监控数据的一次指数平滑值和二次指数平滑值,建立计算资源预测模型; 根据所述计算资源预测模型,预测当前时刻之后的第二时间段内某一时刻所述服务器的系统计算资源的使用量,并将所述预测的结果进行展示。2.根据权利要求1所述的方法,其特征在于,所述系统计算资源至少包括: 中央处理器占用率、内存空间、磁盘空间、传输控制协议连接数量。3.根据权利要求1所述的方法,其特征在于,所述计算资源预测模型,具体为:Ft+n= s t+mXbt;st= 2St(1) -St(2);bt= ( a/1-a ) X (S t(1)-St(2)); 其中,Ft+ni为第m个时刻所述系统计算资源使用量的预测值,α为平滑常数,t是所述第一时间段内的最后一个探测时刻,t+m是所述第二时间段内的第m个时刻,SjPbt为模型参数;其中,St⑴为第t个探测时刻的所述监控数据的一次指数平滑值;S /2)为第t个探测时刻所述监控数据的二次指数平滑值。4.根据权利要求3所述的方法,其特征在于,所述一次指数平滑值和二次指数平滑值通过如下公式进行计算:5.)=a Xyt+(l_a)X(Stl)⑴S,)= a XS t(1) + (l-a ) X (St !)⑵ 其中,α为平滑常数,t为第t个探测时刻,t的取值在所述第一时间段内从第一个监控周期变化至当前时刻之前的最后一个监控周期;yt为第t个探测时刻的监控数据^为第t个探测时刻所述监控数据的一次指数平滑值;St(2)为第t个探测时刻所述监控数据的二次指数平滑值。 5.根据要求1-4中任意一项所述的方法,其特征在于,所述中心服务器根据所述计算资源预测模型,预测当前时刻之后的第二时间段内某一时刻所述服务器的系统计算资源的使用量,进一步包括: 将所述第一时间段设定为当前时刻之前的X小时,获取X小时内的监控数据的变化趋势,从而预测所述第二时间段内的所述系统计算资源使用量并判断所述系统计算资源使用量是否充足,若充足,则调度任务正常运行;若不充足,更改调度任务方向,避开计算资源拥堵高峰,其中,X属于第一范围。6.根据权利要求1-4中任意一项所述的方法,其特征在于,所述中心服务器根据所述计算资源预测模型,预测当前时刻之后的第二时间段内所述服务器的系统计算资源的使用量,进一步还包括: 将所述第一时间段设定为Y天,获取Y天内的监控数据的变化趋势,从而预测所述第二时间段内的所述系统计算资源使用量并判断所述系统计算资源使用量是否有达到100%的可能性,若有,则提前对调度系统进行预警提示,其中,Y属于第二范围。7.—种基于指数平滑预测的系统计算资源预测装置,其特征在于,包括如下模块: 数据接收模块,中心服务器在当前时刻之前的第一时间段内持续接收到多个监控数据,每个监控数据为每一个监控周期内对服务器的系统计算资源情况进行监控而获取的数据,具体包括所述服务器在每一个监控周期内的系统计算资源的使用量,所述第一时间段包括多个所述监控周期; 数据处理模块,所述中心服务器根据所述第一时间段内接收到的所述多个监控数据的一次指数平滑值和二次指数平滑值,建立计算资源预测模型; 预测模块,根据所述计算资源预测模型,预测当前时刻之后的第二时间段内某一时刻所述服务器的系统计算资源的使用量; 显示模块,将所述预测的结果进行展示。8.据权利要求7所述的装置,其特征在于,所述计算资源预测模型,具体为:Ft+n= s t+m Xbt st= 2S t(1) - St(2)bt= (a/l-a)X(St(1)-St(2)) 其中,Ft+ni为第m个时刻所述系统计算资源使用量的预测值,α为平滑常数,t是所述第一时间段内的最后一个探测时刻,t+m是所述第二时间段内的第m个时刻,SjPbt为模型参数;其中,St⑴为第t个探测时刻的所述监控数据的一次指数平滑值;S /2)为第t个探测时刻所述监控数据的二次指数平滑值。9.据权利要求8所述的装置,其特征在于,所述数据处理模块进一步用于,采用如下公式计算所述一次指数平滑值和二次指数平滑值: S,)= a Xyt+(l_a)X(Stl)⑴S,)= a XS t(1) + (l-a ) X (St !)⑵ 其中,α为平滑常数,t为第t个探测时刻,t的取值在所述第一时间段内从第一个监控周期变化至当前时刻之前的最后一个监控周期;yt为第t个探测时刻的监控数据^为第t个探测时刻所述监控数据一次指数平滑值;S,为第t个探测时刻所述监控数据的二次指数平滑值。10.根据要求7-9中任意一项所述的装置,其特征在于,所述装置,进一步用于: 将所述第一时间段设定为当前时刻之前的X小时,获取X小时内的监控数据的变化趋势,从而预测所述第二时间段内的所述系统计算资源使用量并判断所述系统计算资源使用量是否充足,若充足,则调度任务正常运行;若不充足,更改调度任务方向,避开计算资源拥堵高峰,其中,X属于第一范围;或, 将所述第一时间段设定为当前时刻之前的Y天,获取Y天内的监控数据的变化趋势,从而预测所述第二时间段内的所述系统计算资源使用量并判断所述系统计算资源使用量是否有达到100%的可能性,若有,则提前对调度系统进行预警提示,其中,Y属于第二范围。
【文档编号】G06F11/30GK105912436SQ201510595120
【公开日】2016年8月31日
【申请日】2015年9月17日
【发明人】许鹭清, 陈抒
【申请人】乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1