CN109460301A - 一种流数据负载的弹性资源配置方法及系统 - Google Patents
一种流数据负载的弹性资源配置方法及系统 Download PDFInfo
- Publication number
- CN109460301A CN109460301A CN201811381329.1A CN201811381329A CN109460301A CN 109460301 A CN109460301 A CN 109460301A CN 201811381329 A CN201811381329 A CN 201811381329A CN 109460301 A CN109460301 A CN 109460301A
- Authority
- CN
- China
- Prior art keywords
- flow data
- data load
- subsets
- prediction model
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Abstract
本发明涉及云计算领域,公开了一种流数据负载的弹性资源配置方法及系统,以基于实时预测流数据的负载的基础上提高资源配置中的资源利用率;本发明的方法包括:获取历史流数据作为训练集,并将训练集划分为三个子集;获取实时流数据以分别更新三个子集,根据三个子集得到在线且动态更新的SVR预测模型,并采用SVR预测模型对流数据负载进行预测;计算云计算系统中流数据系统的吞吐量,根据吞吐量设置吞吐量阈值;将预测结果与负载阈值进行比较,当流数据负载预测结果大于吞吐量阈值时,流数据系统增加相应的虚拟机个数;当流数据负载预测结果小于吞吐量阈值时,流数据系统减少相应的虚拟机个数。
Description
技术领域
本发明涉及云计算领域,尤其涉及一种流数据负载的弹性资源配置方法及系统。
背景技术
随着互联网、物联网及大数据技术的发展,流数据即无限、实时、动态的流形式数据越来越多地出现及应用在金融分析、社交媒体、传感器、网站踪、大规模科学实验等领域,流数据被快速分析才能获取到最大的价值。传统的数据管理系统无法实时处理此类无穷、实时、有序、大规模的流数据。
云计算的按需供给服务通过管理、调度与整合分布在网络上的各种资源,以统一的界面为大量用户提供服务,用户则按需计量地使用这些服务。将计算、存储、软件等各种数据中心资源作为一种公用设施来提供,用户根据自己的需要使用,按照使用资源付费,给流处理系统资源弹性分配提供了技术支持。云计算弹性资源分配方法主要有水平调整、垂直调整和迁移三种方式。水平调整是从用户的虚拟机环境中添加或移除应用程序、容器或虚拟机,该方法是目前应用最广泛的弹性资源分配方法;垂直调整是为虚拟机等实例添加或删除CPU、内存等资源;迁移则将物理服务器上运行的虚拟机或应用程序转移至其他服务器中。弹性资源分配中触发弹性操作时机的方法可以分为主动式和反应式两类,主动式则是使用工作负载预测技术来确定未来工作负载何时会超过当前资源配置容量,并在容量超出前调用算法分配额外的资源;反应式不进行预测,通过监控负载变化,并利用资源利用率或服务等级协议(Service-Level Agreement,简称SLA协议)违约的阈值来触发弹性分配。
尽管云资源弹性调整已有多种技术的支持,但是弹性扩展需要较大的时间开销,对于处理实时突变的流数据负载来说效率不高。为了提高云服务的服务质量应该减少云资源配置时间,而数据负载预测正是降低资源配置延迟的有效方法,但在流数据负载预测时面临着诸多挑战,如预测算法无法很好的适应流数据突发情况。
发明内容
本发明目的在于提供一种流数据负载的弹性资源配置方法及系统,以基于实时预测流数据的负载的基础上提高资源配置中的资源利用率。
为实现上述目的,本发明提供了一种流数据负载的弹性资源配置方法,包括以下步骤:
S1:获取历史流数据作为训练集,并将所述训练集划分为三个子集,包括错误支持样本集、支持样本集、以及保留样本集;
S2:获取实时流数据以分别同步更新所述三个子集,根据所述三个子集得到在线且动态更新的SVR预测模型,并采用所述SVR预测模型对流数据负载进行预测;
S3:计算云计算系统中流数据系统的吞吐量,根据所述吞吐量设置吞吐量阈值;
S4:将所述S2中的流数据负载预测结果与所述S3中的所述吞吐量阈值进行比较,当所述流数据负载预测结果大于所述吞吐量阈值时,流数据系统增加相应的虚拟机个数;当所述流数据负载预测结果小于所述吞吐量阈值时,所述流数据系统减少相应的虚拟机个数。
优选地,所述S2中根据所述三个子集得到在线且动态更新的SVR预测模型之前还包括步骤:
同步更新三个子集后,删除保留样本集中的样本及对应的样本权重,然后更新错误支持样本集的样本权重和支持样本集的样本权重。
优选地,所述S2中,采用所述SVR预测模型对流数据负载进行预测具体包括:
S21:获取历史流数据作为所述SVR预测模型的输入,计算历史预测误差平均值;
S22:采用所述SVR预测模型预测流数据负载,综合所述历史预测误差平均值与所述实际预测流数据负载得到最终预测值。
作为一个总的技术构思,本发明还提供一种流数据负载的弹性资源配置系统,包括:
第一模块:用于获取历史流数据作为训练集,并将所述训练集划分为三个子集,包括错误支持样本集、支持样本集、以及保留样本集;
第二模块:用于获取实时流数据以分别同步更新所述三个子集,根据所述三个子集得到在线且动态更新的SVR预测模型,并采用所述SVR预测模型对流数据负载进行预测;
第三模块:用于计算云计算系统中流数据系统的吞吐量,根据所述吞吐量设置吞吐量阈值;
第四模块:用于将所述第二模块中的流数据负载预测结果与所述第三模块中的所述吞吐量阈值进行比较,当所述流数据负载预测结果大于所述吞吐量阈值时,流数据系统增加相应的虚拟机个数;当所述流数据负载预测结果小于所述吞吐量阈值时,所述流数据系统减少相应的虚拟机个数。
优选地,所述第二模块还用于在同步更新三个子集后,删除保留样本集中的样本及对应的样本权重,然后更新错误支持样本集的样本权重和支持样本集的样本权重。
优选地,所述第二模块包括第一单元和第二单元,所述第一单元用于获取历史流数据作为所述SVR预测模型的输入,计算历史预测误差平均值;所述第二单元用于采用所述SVR预测模型预测流数据负载,综合所述历史预测误差平均值与所述实际预测流数据负载得到最终预测值。
本发明具有以下有益效果:
本发明提供一种流数据负载的弹性资源配置方法及系统,首先通过训练得到在线且动态更新的SVR预测模型,通过该SVR预测模型对流数据负载进行预测;然后计算云计算系统中流数据系统的吞吐量,根据吞吐量设置吞吐量阈值;再根据预测结果与吞吐量阈值的比较结果弹性分配虚拟机;能基于实时预测流数据的负载的基础上提高资源配置中的资源利用率,降低云计算过程中的资源浪费,使云计算的处理过程更为灵活。
下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明优选实施例的流数据负载的弹性资源配置方法流程图;
图2是本发明优选实施例的系统架构图;
图3是本发明优选实施例的在线SVR预测模型中划分超平面的情况示意图;
图4是本发明优选实施例的1998年世界杯时间序列的预测结果图;
图5是本发明优选实施例的不同数目虚拟机的时间窗最大吞吐量预测结果图;
图6是本发明优选实施例的两个基准应用处理数据时的弹性资源配置的应用结果图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
实施例1
参见图1,本实施例提供一种流数据负载的弹性资源配置方法,包括以下步骤:
S1:获取历史流数据作为训练集,并将训练集划分为三个子集,包括错误支持样本集、支持样本集、以及保留样本集;
S2:获取实时流数据以分别同步更新三个子集,根据三个子集得到在线且动态更新的SVR预测模型,并采用SVR预测模型对流数据负载进行预测;
S3:计算云计算系统中流数据系统的吞吐量,根据吞吐量设置吞吐量阈值;
S4:将S2中的流数据负载预测结果与S3中的吞吐量阈值进行比较,当流数据负载预测结果大于吞吐量阈值时,流数据系统增加相应的虚拟机个数;当流数据负载预测结果小于吞吐量阈值时,流数据系统减少相应的虚拟机个数。
以上步骤中,首先建立了在线且动态更新的SVR预测模型(support vectorregression,支持向量回归),然后计算云计算系统中流数据系统的吞吐量,根据吞吐量设置吞吐量阈值;再根据预测结果与吞吐量阈值的比较结果弹性分配虚拟机;能基于实时预测流数据的负载的基础上提高资源配置中的资源利用率,降低云计算过程中的资源浪费,使云计算的处理过程更为灵活。
首先,应当明确的是,本发明实施例的架构如下图2所示,其中,producer为生产者,Partion为分区,RDD为弹性分布式数据集,executor为执行节点恶行,task为任务。在本发明实施例中,图中的Kafka是一个高效的分布式消息系统;图中的Producer是Kafka的生产者,用于以周期t发送数据到Kafka;图中的Spark是用于从Kafka中实时提取数据并以时间窗口t的间隔进行处理。在本发明实施例中,以时间窗口t为一个周期,将当前时间窗t之前的时间窗都视为历史时间窗,在本发明实施例中,下一时间窗为当前时间窗的下一时间窗。具体地,Kafka生产者实时产生数据发送到Kafka,Kafka将数据以Partion为单位分区存储,Spark拉取Kafka的数据后将其转换成一系列RDD进行处理,RDD内部结构也以分区形式呈现。对一个时间窗口t内RDD分区数据进行处理需要提交到Spark集群工作节点(虚拟机)中的executor以task的方式执行,一个RDD的数据对应Spark在一个时间片内累加从Kafka中读取的数据,一个Spark集群中包含多个工作节点,每个工作节点包含一个或多个executor,Kafka中Partion数目、RDD中分区数目以及最后执行的task数目要保持一致。
在实际应用中,本发明实施例还可增加如下步骤进行优化:
具体地,网络日志流数据属性一般包括时间记录、IP地址、用户名、请求类型、状态、字节(以wordcup98为例),本发明实施例选用的属性X表示时间特征向量,Y表示流数据负载特征向量。选取历史时间窗中的历史流数据集为:
Z={(x1,y1),(x2,y2),…,(xi,yi)}∈(X×Y)l;
式中,Z表示历史流数据集,l表示历史流数据的样本总数。
将历史流数据作为预测函数的训练样本集,利用SVR预测模型,构造出如下式的预测函数:
式中,非线性映射将输入的流数据集的特征空间映射到高维特征空间,使得在高维特征空间中预测函数可以表示为一个线性回归函数,表示将x映射后的特征向量。其中w和b是模型参数,w表示时间特征向量空间中划分超平面的法向量,决定超平面的方向,b表示位移项,决定了超平面与原点之间的距离。显然,划分超平面被法向量w和位移b确定。构造出预测函数模型的关键在于求解出法向量w和位移项b。
SVR预测模型能允许预测值f(x)与真实值y之间有ρ的偏差,即当f(x)与y之间的差别绝对值大于ρ时才计算损失。如图3所示,以f(x)为中心,构建了一个宽度为2ρ的间隔带,若训练样本落入此间隔带,则被认为预测正确。其中落在两条虚线上的样本为支持样本集S,落在两条虚线内的为保留向量集R,落在两条虚线外的为错误支持样本集E,则支持样本到划分超平面f(x)的距离可表示为:
式中,γ表示支持样本到划分超平面的距离。
进一步地,以使γ最大化为目的确定w和b的具体取值,以得到更准确的预测函数,即:
显然,为了最大化间隔距离γ,仅需最大化||w||-1,等价于最小化||w||2,则有:
引入松弛因子τi≥0和求解公式得到其优化问题如下:
式中,C表示惩罚参数,ε表示基于ρ的不敏感损失函数。
然后,采用拉格朗日乘子法对式进行求解,首先,通过拉格朗日函数将约束条件融合到目标函数中,得到拉格朗日方程:
式中,为拉格朗日乘子,令拉格朗日方程对w和b的求偏导并令其为零得:
则有:
为了使计算过程更为简单,此处引入核函数进行计算得到:
其中,核函数核函数的引入,使函数求解绕过特征空间,直接在输入空间上求取,避免计算非线性映射简化计算。因此可得到最优超平面系数向量为:
然后,求解位移项b。具体地,引入拉格朗日乘子δ,μ,∈得到拉格朗日方程并对αi和求偏导优化得到KKT条件:
推导出位移项b为:
则可将初始SVR回归函数的建模为:
需要说明的是,普通的离线SVR模型需要通过对已获得数据集进行训练,而对于实时性较高的流数据负载时间序列这种更新较快的情况,每次更新数据时,都需要对SVR模型重新进行训练,效率较差。因此,针对流数据负载的实时预测问题,本发明实施例采用在线SVR模型(OnlineSVR)进行预测,当回归数据集样本更新时,算法动态更新已经训练好的SVR模型,即,只更新流数据增加的部分,不需要采用重新训练的方式对整个SVR模型进行更新,减少了冗余操作,能使在线SVR预测模型更为稳定。
在在线SVR预测模型下,通过模型训练,将第i个时间点样本xi的边界支持样本函数定义为:
h(xi)=f(x)*-yi;
令则有:
进一步地,将流数据训练集分为三个子集,即错误支持样本集E、支持样本集S和保留样本集R:
R={i|(θi=0andh(xi)≤ε};
当流数据在线更新,新的流数据负载值xc加入时训练集,此时需要加入θc,并直接更新训练集的三个子集中的各个θi和θc得到更新值Δθi和Δθc。
此处,需要说明的是,由于在线学习算法随着样本的不断增加,训练时间会不断的增加,并且会影响预测的实时性。所以,需要缩减在线数据样本规模,从而减小核函数矩阵的规模,降低算法复杂度和运算量。因此本发明实施例还包括步骤:删减掉保留集R中的样本xd,并删掉样本对应的θi并更新S、E子集中的θi,使所有流数据负载样本仍然符合KKT条件实现在线支持样本回归,得到在线动态更新后的在线SVR预测模型为:
式中,l′表示更新后的流数据样本总数。
此外,值得说明的是,由于在线SVR在预测流数据负载时不可避免地会存在一定的误差,为了减小预测误差对预测值的影响,本发明实施例还包括步骤:获取历史流数据作为在线SVR预测模型的输入,计算历史预测误差平均值,采用在线SVR预测模型预测下一个时间窗内的实际预测流数据负载,综合历史预测误差平均值与所述实际预测流数据负载得到下一个时间窗内的最终预测值。并在此预测值的基础上做减量训练,以快速且准确的得到最终的预测流数据负载。
应当指出,最大持续吞吐率(以下简称MST)是流处理系统可以无限期地读取数据的最大吞吐率,是云服务提供商需要考虑关于流处理系统的重要指标。MST性能模型是一个关于系统MST和虚拟机的函数,则可将MST性能模型定义如下:
其中,m表示虚拟机的数量,w0表示串行处理时间,w1表示并行处理时间,w2表示数据输入\输出时间,w3表示虚拟机之间通信时间,所有的权重都为非负数,即(wi≥0,i=0,1,2,3)。
在图2中,Kafka生产者向Kafka发送的数据不断增加时,Kafka将增加分区数来存储满足不断增加的数据,而流处理系统资源固定时,工作节点数及工作节点中分配的executor数都是固定的,能够处理的task数也是固定的,当流数据输入负载大于流处理系统的吞吐量时会导致大量的数据在Kafka中堆积,流处理系统无法正常处理数据。在不考虑时间窗特性时,只要保证系统整体吞吐量大于数据输入负载即可,而spark处理数据都以时间窗的间隔进行处理,只保证系统整体吞吐量大于输入负载,从时间窗的角度考虑,则有可能会导致在某个时间窗系统吞吐量小于输入负载,下一个时间窗系统吞吐量远远大于输入负载,从整体角度考虑,系统处理的数据是大于输入负载的,但是会导致在某个时间窗内系统无法正常处理数据,而是把数据丢给了下一个时间窗去处理,因此,为了保证系统的性能,需要使在每一个时间窗口间隔内,系统的吞吐量均大于其输入负载,这样系统整体的吞吐量都会大于整体的输入负载,流处理系统才能正常处理数据。因此得到时间窗口间隔内系统能处理数据的最大吞吐量是有用且必须的。
时间窗最大吞吐量(以下简称TW-MST)定义为流处理系统在固定时间窗内可以读取数据的最大吞吐量,TW-MST是流处理系统在时间窗口内可持续处理数据的极限,为了扩展集群以处理波动的流数据负载,可以通过了解虚拟机个数和TW-MST之间的关系,提前预测数据输入负载,在流处理系统达到TW-MST之前弹性分配虚拟机来稳定系统的处理性能,TW-MST性能模型计算如下:
式中,T表示时间窗口间隔。
TW-MST性能模型得出时间窗口间隔内虚拟机个数能处理数据的最大吞吐量TWMTSLA(m,T),与应用application,时间窗间隔T,响应时间上限RSLA,应用平均响应时间R(application,T),负载预测值F一起作为弹性分配算法的输入;输出为扩展虚拟机个数UbestVMs或收缩虚拟机个数DbestVMs。
在具体工作中,首先初始化应用平均响应时间,设定负载阈值,然后将其与经过在线SVR预测模型预测的下一时间窗内的流数据负载值进行比较,当预测值大于负载阈值时,说明现有的集群资源已经无法正常处理超载的流数据,我们需要给集群增加虚拟机资源处理数据;当预测值小于负载阈值时,则说明系统是可以正常处理数据。此处,需要说明的是,流数据被等待处理的过程中会出现延迟,可以通过R(application,T)计算时间窗口内应用处理数据时的平均延迟,如果其大于设定的RSLA,则说明有些数据在长时间内无法得到处理,且需要分配一台虚拟机处理这些数据,减少应用执行的延迟,相反,如果没有超出预定的延迟,则要回收虚拟机减少资源浪费,其中,minVMs为能够保证TWMTSLA(m,T)大于F的最小虚拟机数目。
实验验证:
为了研究本发明实施例提供的在线SVR预测模型的准确性及弹性资源配置的灵活性,实验运行在10个节点(虚拟机)上,每个节点配置如下:2核CPU,8GB内存,Centos7.0X86_64操纵系统。Apache Spark流处理系统因其在可用机器上的灵活部署性被选为本实验的流处理系统,每个节点安装了Hadoop3.0,Spark2.3,Scala2.10,Kafka1.0以及JDK/JREv1.8构建Spark集群。为了验证Online SVR对于流数据输入负载时间序列预测算法的有效性。
首先,采用4个公开的非线性、非平稳时间序列数据集WordCup98(1998年世界杯)、Poland Electric Demand time series(波兰电力需求时间序列)、Darwin Sea LevelPressures(达尔文海平面压力)、sunspot database(太阳黑子数据库)进行实验验证。进行四个时间序列数据集160步单步预测,综合比较本发明实施例的在线SVR算法与普通SVR算法的预测效能。具体实验条件如下:采用对大部分样本适合的统一参数,本发明实施例的在线SVR算法中选取高斯核函数,惩罚参数CG=10,不敏感损失函数核函数εG=0.1.参数HG=20,初始在线建模时间序列长度为100,SVR算法选用RBF核函数,惩罚参数CR=1,不敏感损失函数核函数εR=0.1.参数HR=20,初始建模时间序列长度为100。
实验中采取两种平均标准全面比较算法性能:平均绝对误差(以下简称MAE)和规范化均方根误差(以下简称NRMSE),其中MAE和NRMSE的定义分别为:
式中,n表示数据集的数据点数,x(i)表示真实值,x(i)*表示预测值,x*表示时间序列均值。
四个时间序列预测精度和执行效率的结果如表1所示。此处,仅给出WordCup98时间序列的预测结果图,如图4所示。从图中预测结果对比可以发现,基于在线SVR预测模型(Online SVR)结果与真实值更为接近,从预测精度上要优于SVR。根据表1,通过基于OnlineSVR和普通SVR的时间序列的预测误差和时间效率相比较,采用在线SVR预测模型的预测精度较普通SVR算法,提高平均约5%~15%。对比两个算法的执行效率,基于在线SVR预测模型预测时,通过减量学习,建模训练和预测较快,其执行效率较高,执行效率提高约20%-30%,因此本发明实施例提供的在线SVR预测模型能够很好的预测时间序列。
表1时间序列预测结果
进一步地,验证TW-MST模型的准确性,首先需要通过训练得到模型的参数,在云平台上运行基准Grep、Rolling Count、Unique Visitor、Page View和Rolling Sort,(运行基准Grep、Rolling Count、Unique Visitor、Page View和Rolling Sort都为本领域常见的应用,在此不多做赘述说明)。收集M={1,2,3,4,5,6,7,8,9,10}的TW-MST,将训练模型的虚拟机个数设置为Mtrain={1,2,3,4,5,6},验证模型准确性的虚拟机个数为Mtest={7,8,9,10},对于Grep和Rolling Count使用The Adventures of Tom Sawyer文档数据作为输入,Unique Visitor和Page View随机模拟web访问日志作为输入。输入数据负载和数据处理吞吐量可通过Java Management Extensions(JMX)监控获得,优选地,本实施例中将时间窗口T选取为5秒。但本发明并不仅限于此,在能实现相同功能的情况下,可以将该时间在一定范围内进行调整。具体地,各模型学习得到的参数如表2所示。
表2 TW-MST模型学习参数
在学习得到模型参数之后便可以使用该模型预测更多数目虚拟机的TW-MST,不同数目虚拟机的TW-MST预测结果如图5所示。从图中可以看出,TW-MST模型的预测精度较好,对PageView的预测在m=10时出现了较大的偏差,而对其他几个虚拟机数的预测精度较高,然而,模型在Grep的预测时,出现了整体预测值比实际值偏低的情况,但是也对虚拟机数目对应吞吐量的趋势有一个较好的拟合,在对和Rolling Count预测时,效果不如其他三个,但当m=8时,预测值也接近真实值。
为了验证本发明实施例中弹性资源配置的实用性,使用Producer模拟真实跟踪负载(World Cup98)向Kafka发送数据,选用Grep和Rolling Count两个基准点用来处理数据,时间窗口间隔T为5秒,在线SVR预测模型对输入数据负载进行在线预测,使用ganglia监控应用的响应时间,由于负载预测算法和TW-MST模型都会存在一定的预测误差,实验过程中会适当的多配置虚拟机。本发明实施例将SLA违约定义为F>TWMTSLA(m,T)。图6展示了Grep和Rolling Count两个基准应用处理数据时,弹性资源配置的应用结果,两个应用同时存在低程度的过高分配,但是两个应用出现的SLA违约分别为0和1,可见,本发明实施例提供的弹性资源配置方法可以保证低SLA违约甚至无SLA违约,因此本发明实施例提供的弹性资源配置可以提高云资源利用率并能够保证系统稳定的处理性能。
实施例2
本实施例提供一种一种流数据负载的弹性资源配置系统,包括:
第一模块:用于获取历史流数据作为训练集,并将训练集划分为三个子集,包括错误支持样本集、支持样本集、以及保留样本集;
第二模块:用于获取实时流数据以分别同步更新三个子集,根据三个子集得到在线且动态更新的SVR预测模型,并采用SVR预测模型对流数据负载进行预测;
第三模块:用于计算云计算系统中流数据系统的吞吐量,根据吞吐量设置吞吐量阈值;
第四模块:用于将第二模块中的流数据负载预测结果与第三模块中的吞吐量阈值进行比较,当流数据负载预测结果大于吞吐量阈值时,流数据系统增加相应的虚拟机个数;当流数据负载预测结果小于吞吐量阈值时,流数据系统减少相应的虚拟机个数。
以上各模块的作用与使用方法均在上述方法实施例中有详细说明,在此,不多做赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种流数据负载的弹性资源配置方法,其特征在于,包括以下步骤:
S1:获取历史流数据作为训练集,并将所述训练集划分为三个子集,包括错误支持样本集、支持样本集、以及保留样本集;
S2:获取实时流数据以分别同步更新所述三个子集,根据所述三个子集得到在线且动态更新的SVR预测模型,并采用所述SVR预测模型对流数据负载进行预测;
S3:计算云计算系统中流数据系统的吞吐量,根据所述吞吐量设置吞吐量阈值;
S4:将所述S2中的流数据负载预测结果与所述S3中的所述吞吐量阈值进行比较,当所述流数据负载预测结果大于所述吞吐量阈值时,流数据系统增加相应的虚拟机个数;当所述流数据负载预测结果小于所述吞吐量阈值时,所述流数据系统减少相应的虚拟机个数。
2.根据权利要求1所述的流数据负载的弹性资源配置方法,其特征在于,所述S2中根据所述三个子集得到在线且动态更新的SVR预测模型之前还包括步骤:
同步更新三个子集后,删除保留样本集中的样本及对应的样本权重,然后更新错误支持样本集的样本权重和支持样本集的样本权重。
3.根据权利要求1所述的流数据负载的弹性资源配置方法,其特征在于,所述S2中,采用所述SVR预测模型对流数据负载进行预测具体包括:
S21:获取历史流数据作为所述SVR预测模型的输入,计算历史预测误差平均值;
S22:采用所述SVR预测模型预测流数据负载,综合所述历史预测误差平均值与所述实际预测流数据负载得到最终预测值。
4.一种流数据负载的弹性资源配置系统,其特征在于,包括:
第一模块:用于获取历史流数据作为训练集,并将所述训练集划分为三个子集,包括错误支持样本集、支持样本集、以及保留样本集;
第二模块:用于获取实时流数据以分别同步更新所述三个子集,根据所述三个子集得到在线且动态更新的SVR预测模型,并采用所述SVR预测模型对流数据负载进行预测;
第三模块:用于计算云计算系统中流数据系统的吞吐量,根据所述吞吐量设置吞吐量阈值;
第四模块:用于将所述第二模块中的流数据负载预测结果与所述第三模块中的所述吞吐量阈值进行比较,当所述流数据负载预测结果大于所述吞吐量阈值时,流数据系统增加相应的虚拟机个数;当所述流数据负载预测结果小于所述吞吐量阈值时,所述流数据系统减少相应的虚拟机个数。
5.根据权利要求4所述的流数据负载的弹性资源配置系统,其特征在于,所述第二模块还用于在同步更新三个子集后,删除保留样本集中的样本及对应的样本权重,然后更新错误支持样本集和支持样本集中的样本权重。
6.根据权利要求4所述的流数据负载的弹性资源配置系统,其特征在于,所述第二模块包括第一单元和第二单元,所述第一单元用于获取历史流数据作为所述SVR预测模型的输入,计算历史预测误差平均值;所述第二单元用于采用所述SVR预测模型预测流数据负载,综合所述历史预测误差平均值与所述实际预测流数据负载得到最终预测值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018110458103 | 2018-09-07 | ||
CN201811045810 | 2018-09-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109460301A true CN109460301A (zh) | 2019-03-12 |
CN109460301B CN109460301B (zh) | 2022-06-24 |
Family
ID=65611060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811381329.1A Active CN109460301B (zh) | 2018-09-07 | 2018-11-20 | 一种流数据负载的弹性资源配置方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460301B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522845A (zh) * | 2020-04-08 | 2020-08-11 | 北京航空航天大学 | 一种基于时间序列预测的流计算框架水印发放策略 |
CN111552711A (zh) * | 2020-04-27 | 2020-08-18 | 中国银行股份有限公司 | 一种流式数据的处理方法、装置及电子设备 |
CN112100024A (zh) * | 2020-08-14 | 2020-12-18 | 北京浪潮数据技术有限公司 | 一种资源负载异常检测方法、装置及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436891A (zh) * | 2008-12-24 | 2009-05-20 | 清华大学 | 一种多基站多用户的全局比例公平性调度方法 |
CN101639793A (zh) * | 2009-08-19 | 2010-02-03 | 南京邮电大学 | 一种基于支持向量回归机的网格负载预测方法 |
CN103425535A (zh) * | 2013-06-05 | 2013-12-04 | 浙江大学 | 云环境下的敏捷弹性伸缩方法 |
CN104917805A (zh) * | 2015-01-14 | 2015-09-16 | 杭州华三通信技术有限公司 | 一种负载分担的方法和设备 |
US20160019074A1 (en) * | 2014-07-15 | 2016-01-21 | Technion Research & Development Foundation Limited | Distributed cloud computing elasticity |
CN105786587A (zh) * | 2014-12-23 | 2016-07-20 | 华为技术有限公司 | 一种虚拟机vm的伸缩方法和设备 |
CN106201718A (zh) * | 2016-07-05 | 2016-12-07 | 北京邮电大学 | 一种基于负载预测的云计算资源动态伸缩方法 |
CN107231421A (zh) * | 2017-05-27 | 2017-10-03 | 北京力尊信通科技股份有限公司 | 一种虚拟机计算能力动态调整方法、装置以及系统 |
-
2018
- 2018-11-20 CN CN201811381329.1A patent/CN109460301B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436891A (zh) * | 2008-12-24 | 2009-05-20 | 清华大学 | 一种多基站多用户的全局比例公平性调度方法 |
CN101639793A (zh) * | 2009-08-19 | 2010-02-03 | 南京邮电大学 | 一种基于支持向量回归机的网格负载预测方法 |
CN103425535A (zh) * | 2013-06-05 | 2013-12-04 | 浙江大学 | 云环境下的敏捷弹性伸缩方法 |
US20160019074A1 (en) * | 2014-07-15 | 2016-01-21 | Technion Research & Development Foundation Limited | Distributed cloud computing elasticity |
CN105786587A (zh) * | 2014-12-23 | 2016-07-20 | 华为技术有限公司 | 一种虚拟机vm的伸缩方法和设备 |
CN104917805A (zh) * | 2015-01-14 | 2015-09-16 | 杭州华三通信技术有限公司 | 一种负载分担的方法和设备 |
CN106201718A (zh) * | 2016-07-05 | 2016-12-07 | 北京邮电大学 | 一种基于负载预测的云计算资源动态伸缩方法 |
CN107231421A (zh) * | 2017-05-27 | 2017-10-03 | 北京力尊信通科技股份有限公司 | 一种虚拟机计算能力动态调整方法、装置以及系统 |
Non-Patent Citations (2)
Title |
---|
WESAM DAWOUD等: "Elastic VM for rapid and optimum virtualized resources" allocation", 《2011 5TH INTERNATIONAL DMTF ACADEMIC ALLIANCE WORKSHOP ON SYSTEMS AND VIRTUALIZATION MANAGEMENT: STANDARDS AND THE CLOUD (SVM)》 * |
胡忠君 等: "基于实时交通信息的灾后应急物流多源配送优化问题", 《工业工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522845A (zh) * | 2020-04-08 | 2020-08-11 | 北京航空航天大学 | 一种基于时间序列预测的流计算框架水印发放策略 |
CN111522845B (zh) * | 2020-04-08 | 2022-07-01 | 北京航空航天大学 | 一种基于时间序列预测的流计算系统水印发放方法 |
CN111552711A (zh) * | 2020-04-27 | 2020-08-18 | 中国银行股份有限公司 | 一种流式数据的处理方法、装置及电子设备 |
CN112100024A (zh) * | 2020-08-14 | 2020-12-18 | 北京浪潮数据技术有限公司 | 一种资源负载异常检测方法、装置及设备 |
CN112100024B (zh) * | 2020-08-14 | 2022-06-17 | 北京浪潮数据技术有限公司 | 一种资源负载异常检测方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109460301B (zh) | 2022-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dai et al. | Cloud infrastructure resource allocation for big data applications | |
CN112685170B (zh) | 备份策略的动态优化 | |
CN110943983B (zh) | 基于安全性态势感知与风险评估的网络安全预防方法 | |
Liu et al. | Quantitative workload analysis and prediction using Google cluster traces | |
CN106899660A (zh) | 基于滚动灰色预测模型的云数据中心节能调度实现方法 | |
CN111124689A (zh) | 一种集群中容器资源动态分配方法 | |
CN109460301A (zh) | 一种流数据负载的弹性资源配置方法及系统 | |
CN110389820A (zh) | 一种基于v-TGRU模型进行资源预测的私有云任务调度方法 | |
WO2019012275A1 (en) | SYSTEM AND METHOD FOR PREDICTING USE OF DATA CENTER | |
Paul Martin et al. | CREW: Cost and Reliability aware Eagle‐Whale optimiser for service placement in Fog | |
Liu et al. | An adaptive approach to better load balancing in a consumer-centric cloud environment | |
Lockhart et al. | Scission: Performance-driven and context-aware cloud-edge distribution of deep neural networks | |
Banerjee et al. | Efficient resource utilization using multi-step-ahead workload prediction technique in cloud | |
Shafik et al. | Internet of things-based energy efficiency optimization model in fog smart cities | |
Gonçalves et al. | Resource allocation based on redundancy models for high availability cloud | |
Ever | Performability analysis of cloud computing centers with large numbers of servers | |
Li et al. | Domain knowledge embedding regularization neural networks for workload prediction and analysis in cloud computing | |
Chouliaras et al. | An adaptive auto-scaling framework for cloud resource provisioning | |
Jin et al. | Mobility-aware and privacy-protecting qos optimization in mobile edge networks | |
Zheng et al. | Towards an adaptive human-centric computing resource management framework based on resource prediction and multi-objective genetic algorithm | |
Tang | Load balancing optimization in cloud computing based on task scheduling | |
CN111598390B (zh) | 服务器高可用性评估方法、装置、设备和可读存储介质 | |
Lockhart et al. | Scission: Context-aware and performance-driven edge-based distributed deep neural networks | |
Zhang et al. | Learning driven parallelization for large-scale video workload in hybrid CPU-GPU cluster | |
Irawan et al. | Network slicing algorithms case study: virtual network embedding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |