网络任务预测方法和装置与流程

文档序号:16275916发布日期:2018-12-14 22:34阅读:265来源:国知局
网络任务预测方法和装置与流程

本发明涉及云计算技术领域,尤其涉及一种网络任务预测方法和装置。

背景技术

云计算已经成为近几十年来计算机科学中最热门的话题之一,随着虚拟化推进云计算现在允许按需网络访问共享的可配置计算资源池,从而将这些快速地提供给互联网上的客户端,作为不再限于传统的基础设施即服务(iaas)的新形式的服务,平台即服务(paas)或软件即服务(saas),而数据即服务(daas),分析即服务(aaas)等。

在现代计算云中,工作负载突发越来越频繁,难以预测。这可能是因为网民需求的不断增长和社交网络的普及,公众的兴趣可以很容易的把握,从而在相当短的时间内引起网络用户的大量请求,之后可能出现网络流量瘫痪。例如,当一个名人发布令人吃惊的推特或者一些在线零售商在某个时候推出折扣时,可能会给相关网站带来突然的工作量。如果计算资源没有得到适当及时的重新配置,网站或应用程序可能会崩溃,造成用户的不满甚至财务损失,这是云提供商或客户和客户所不希望的。因此,需要一种新的网络任务预测的技术方案。



技术实现要素:

有鉴于此,本发明要解决的一个技术问题是提供一种网络任务预测方法和装置。

根据本发明的一个方面,提供一种网络任务预测方法,包括:通过任务分类器对请求处理的任务进行分组处理,生成至少一个任务集群;获得单位时间内任务群集中增加的任务数量,基于所述增加的任务数量判断此任务群集是否进入突发状态;基于判断结果选取对应的预测算法预测此任务群集中的未来任务到达的预测值,其中,所述预测值包括:未来任务的到达预测时间和到达预测数量。

根据本发明的另一方面,提供一种网络任务预测装置,包括:任务分组模块,用于通过任务分类器对请求处理的任务进行分组处理,生成至少一个任务集群;趋势预测模块,用于获得单位时间内任务群集中增加的任务数量,基于所述增加的任务数量判断此任务群集是否进入突发状态;基于判断结果选取对应的预测算法预测此任务群集中的未来任务到达的预测值,其中,所述预测值包括:未来任务的到达预测时间和到达预测数量。

本发明的网络任务预测方法和装置,通过任务分类器对任务进行分组处理,将任务分配给与其相似度最高的任务群集;预测多个任务群集中的未来任务到达的预测值,将正常情况下的移动平均预测方法与突发情况下的趋势外推预测方法相结合,预测即将到来的工作量爆发,及时发现正常情况下的突发情况,能够自适应资源调配方面的有效工作流量突发。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的网络任务预测方法的一个实施例的流程示意图;

图2a-2f为本发明的网络任务预测方法的一个实施例中的在分组时距离计算的示意图;

图3为本发明的网络任务预测方法的一个实施例中的高斯曲线的模拟工作负荷尖峰示意图;

图4a-4d为本发明的网络任务预测方法的一个实施例中的四组任务的不同预测结果示意图;

图5a为本发明的网络任务预测装置的一个实施例的模块示意图;图5b为趋势预测模块的模块示意图;

图6为本发明的网络任务预测装置的一个实施例在实际场景中的模块示意图;

图7为本发明的网络任务预测装置的另一个实施例中的模块示意图;

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

图1为本发明的网络任务预测方法的一个实施例的流程示意图,如图1所示:

步骤101,通过任务分类器对请求处理的任务进行分组处理,生成至少一个任务集群。

步骤102,获得单位时间内任务群集中增加的任务数量,基于增加的任务数量判断此任务群集是否进入突发状态。

步骤103,基于判断结果选取对应的预测算法预测此任务群集中的未来任务到达的预测值,其中,预测值包括:未来任务的到达预测时间和到达预测数量。

在单位时间内,如果确定任务群集中任务数量的增加加速度为连续递增,或者,任务数量的增加加速度的值超过预设的加速度阈值的次数超过预设的次数阈值,则确定任务群集进入了突发状态。在确定进入突发状态后,如果确定在单位时间内,任务群集中任务数量的增加加速度为连续减少,或者,任务数量的增加加速度的值低于加速度阈值的次数超过次数阈值,则确定回到常规状态。

在一个实施例中,接收到请求处理的任务,通过任务分类器对任务进行分组处理,将任务分配给与其相似度最高的任务群集。任务包括服务请求任务、计算请求任务等。任务可以为终端用户提交到数据中心的请求,可以是一项大型的科学计算,也可以是网页访问操作,也可以是数据读取、数据分析、数据处理、数据存储等常规操作等。基于预设的预测算法分别预测多个任务群集中的未来任务到达的预测值,预测值包括未来任务的到达预测时间和到达预测数量。预测值的到达预测时间和到达预测数量可以使用坐标系中的一条曲线表示,曲线的斜率可以表示为工作量到达率。可以在正常场景和突发场景两个不同的特征场景下分别连续预测未来任务的到达预测时间和到达预测数量。根据预测值对物理机pm和虚拟机vm进行相应地重新部署,以使在未来任务的任务量峰值到来时具有足够的处理资源。当到达未来任务的到达预测时间时,基于实际接收到的任务数量与未来任务的到达预测数量的差值,重新调整任务分类器以及预测算法的参数。

上述实施例的网络任务预测方法,能够采用自适应预测,可以在正常场景和突发场景下分别连续预测即将到来的工作量,物理机pm和虚拟机vm将根据其数量和预计到达时间相应地重新部署。

在一个实施例中,通过任务分类器对任务进行分组处理可以有多种方法。例如,选取任务的历史数据,采用k-means聚类方法对历史数据进行预分组,得到多个任务群集,并获得每个任务群集的群集特征属性值。接收到任务时,获取任务的特征属性值,群集特征属性值与特征属性值包括到达时间、计算长度、截止时间要求、所需内存大小等。任务分类器分别计算特征属性值与多个群集特征属性值之间的马氏距离,将此任务分配给与最小的马氏距离相对应的任务群集。任务的工作量爆发通常与突然关注某些热门话题或某些特殊事件有关,可以推断在这段时间内任务的属性与正常情况下的属性不同,因此,对于不同的任务,可以有到达率的特征曲线和其他特征如cpu,记忆,运行时间等。

进行分组处理的簇数可以预设在2至5的范围内,以使分组的结果能够代表来自正常场景或突发场景的任务的可区分性状。需要选择较宽的历史数据作为训练数据来获得每个任务群集的特征,它们将作为分类的标准,每个任务群集的构成随着时间的变化而变化,同时分组的参数也会根据整体的表现进行调整和重新设置,在实现任务分组时,首先要考虑一系列合适的任务属性。到达任务最有影响的因素是其给定的计算长度和所需的内存大小以及预期的运行时间,因为它们决定了后续的工作量分配,最终决定了总体性能的最终质量。对于任务集t中的每个给定的任务ti,可以用ti=(ai,li,di,mi)来建模,其中ai,li,di和mi分别表示到达时间,计算长度,期望的期限和内存大小的任务ti,采用低复杂度的聚类方法k-means,以较粗糙的尺度对即将到来的任务或请求进行预先分组。选取一定时间内的历史数据进行采用本文提出的聚类方法进行分组,将得到各组的特征提取出来,作为后续实时分类时的任务分类器的筛选条件。

将任务划分为几个特征组(任务集群),将一个到达的任务分配给相似度得分最高的任务集群。通常,任务和任务集群之间的相似度分数是通过任务和上面列出的属性的向量空间中的集群的质心之间的欧几里得距离来计算的。但是,对于现实世界中的任务来说,这些属性通常是相互关联的,忽略属性之间的关系可能会在一定程度上影响分组结果的准确性。在本发明中使用mahalanobis距离来替代计算相似性分数。马氏距离通过两个相同分布的向量与整体之间的不相似度量,来考虑任务各个属性之间的整体聚类和关系协方差矩阵。此外,马氏距离是尺度不变的,或者与测量尺度无关。传统的相似度计算使用欧式距离计算,如公式1-1所示:

其中,即任务i和任务j两个个体任务之间的欧氏距离,其中li,di,mi等均为任务i的属性/维度,分别代表任务长度,截止时间要求和所需内存大小,lj,dj,mj等代表的含义类似。公式1代表了欧式距离的计算方式。

使用马氏距离代替欧式距离,如公式1-2所示,消除了三个选择属性之间的相关性,揭示了每一组任务的鲜明特征。公式1-2代表了马式距离的计算方式:

其中,即任务i和任务j两个个体任务之间的马氏距离,其中是一个包含li,di,mi的三元向量,代表相似含义。∑-1代表了所选历史数据的协方差矩阵的逆矩阵。

公式1-3和公式1-4都为协方差矩阵∑进行了补充说明。

∑ij=cov(ti,tj)=e[(ti-μj)(tj-μj)](1-3);

其中,μ是所有任务的平均值,σij是两个任务之间的协方差值,协方差矩阵中的σ是每两个任务的一组竞争值,代表整体偏差。∑代表了所选历史数据的协方差矩阵,∑ij则代表该协方差矩阵中的每一个项。公式cov()为两个向量之间的协方差计算公式,公式e()为期望值计算公式。

首先使用包含多个工作负荷尖峰数据的历史数据采样来计算代表性的协方差矩阵,然后实时(定期)对其进行更新。使用上述修改的聚类方法对任务进行分组,获得每个聚类的特征。在测试中,使用一种称为k-means++的技术来选择合适的初始聚类中心来加速后续收敛速度。图2a-2f比较了使用不同的相似性计算方法,包括它们的计算长度,所需的期限和需要的存储器大小的分组中的任务的特征。图2a、图2c和图2e左侧显示欧几里得距离计算的结果,图2b、图2d和图2f在右边那些来自malahannobis的距离。以图2a和图2b为例,每个散射点代表在x轴上映射的某个时间点的一个任务,其计算长度在左边的主y轴;次y轴表示任务在同一时间点计数,在底部呈黑色连续。很明显,突发情况下的任务大多是用红色标记的,而与其他人则是规范的。使用马氏距离的方法将标记为“突发”的任务比使用欧几里德距离的方法更多,这在某种程度上延长了突发情况。也就是说,使用malahanobis距离的方法对工作量峰值的到达比欧几里得更为敏感。通过图2c和图2d,图2e和图2f的比较,可以推断出类似的含义。欧几里得似乎更倾向于缩小“突发性工作量”的范围,将模糊区域分类为“标准”范畴,而马哈拉诺比斯似乎强调两个属性之间的线性关系,从而扩大了“突发性工作量”的检测范围。这样,马哈拉诺比斯更有能力预测爆发。

在一个实施例中,对于正常情况,工作负荷量在平均水平上波动,没有任何尖锐的增加,这适合于时间序列模型预测。然而,对于突发情况来说,在任务或请求中会出现更频繁和尖锐的上升和下降,通常是在相当短的时间内以负载呈指数增长的形式,然后很快恢复到原来的水平。当尝试预测爆发时,移动平均法的缺点,滞后问题将被大大放大,因此,采用趋势外推预测方法。趋势外推预测方法预测的不是未来某一点的价值,而是趋势。选择并测试了几个常用的数学函数和曲线来模拟工作负荷尖峰,包括指数函数,gompertz曲线和高斯曲线等,通过试验结果可知,高斯曲线是最适合工作负载突发的曲线,如图3所示。在一个实施例中,基于预设的预测算法分别预测多个任务群集中的未来任务到达的预测值可以有多种方法。例如,基于单位时间内任务群集中增加的任务数量判断是否进入突发状态,如果是,则采用突发预测算法预测此任务群集中的未来任务到达的预测值,如果否,则采用常规预测算法预测此任务群集中的未来任务到达的预测值;其中,在单位时间内,如果任务群集中任务数量的增加加速度为连续递增,或者,任务数量的增加加速度的值超过预设的加速度阈值的次数超过预设的次数阈值,则确定进入了突发状态;在确定进入突发状态后,如果确定在单位时间内,任务群集中任务数量的增加加速度为连续减少,或者,任务数量的增加加速度的值低于加速度阈值的次数超过次数阈值,则缺定回到常规状态。

采用突发预测算法预测此任务群集中的未来任务到达的预测值为:

s的含义是指预测的窗口时长。即此时为t时刻,该公式1-5可以预测的s个单位时长之后的值,即t+s时刻的预测值et+s。

采用常规预测算法预测此任务群集中的未来任务到达的预测值为:

其中,s的含义是指预测的窗口时长。即此时为t时刻,通过公式可以预测s个单位时长之后的值,即t+s时刻的预测值。et+s为根据t时刻的任务到达数量对t+s时刻的任务达到数量的预测值,b1,b2,b3是预测参数,exp()为以自然底数e为底的指数函数,window为设定的影响预测值的历史数据个数,win为第in个任务的历史数据对预测值的影响权重,i指的是在t时刻往回拨in个时间点所对应的时间长度。可以设定wi=(window-i)^n,其中n为大于1的自然数,以确保离该时刻越近的历史时刻的数据对对预测值得影响力越大。ct-i指t-i时刻的任务到达数量,该值是用来计算t+s时刻的预测值的。

对于混合预测方法设置一个加速度阈值,作为在正常情况和突发情况之间转换条件下转换预测模型的切换。在预先设定的短时间窗内去除明显的异常值并平滑到达的线路之后,观察到当突发可能发生时,每单位时间任务数量的增加会加速。因此,一方面,一旦加速度连续数次超过阈值,预测方法就会将其作为近期爆发的信号;另一方面,低于阈值或不满足上述条件的加速度将被标记为正常水平的波动,然后预测模式将迅速移回到移动平均。反之亦然。

在一个实施例中,将两场景预测方法分别应用于分组后的每个任务集群。首先,任务被安排在分组池中,任务分类器根据它们的属性和集群之间的相似性分数来标记和分配以下任务。任务分类器以聚类预分组的各组特征来作为依据,一个新任务到达之后,读取其各属性值,并与所有任务集群的属性特征值(该任务集群的所有个体特征平均值)进行距离计算,随后该任务将被分到距离值最小的那个组别,同时更新该组的属性特征值。在每个时间间隔,将不同的任务群集发送到预测池,以预测每个特定任务群的到达率的趋势。最后,当实际时间达到之前预测的时间点时,将实际值与预测值之间的差值打包为反馈,重新调整预测方法的参数。根据历史单位时间的到达率判断此刻的任务状态是“突发”还是“常规”,并使用相应的方法进行预测。一段时间后,部分先前预测的任务到达率可以和实际的任务到达率进行比对,差值作为反馈信息改进预测方法。例如,如果一段时间内75%的预测值都低于实际值,则将这段时间的预测与实际的差值占预测值的占比加到后续的预测的预测值上,进行调整。图4a-4d显示了四组任务的不同预测结果。在突发情况下主要检测到任务群集的最佳阈值范围是每分钟增加0.32个计数。关于其他三个群体,几乎没有检测到突出尖刺,如图4b,图4c和图4d所示,预先分组的步骤是将特征“突发性任务”与常态分开,此外,“突发任务”也具有特征到达曲线,如果相应地设置了适当的阈值,则预测方法将预测更加适合的预测曲线。在一个实施例中,根据预测值以及任务集群的特征为任务群集中新增的任务分配对应的pm或vm,特征包括:内存要求、计算长度等。对于常规状态,pm的预留空间为最小预留空间阈值,当出现突发状态时,提高pm的预留空间和/或开启新pm并留出预留空间,用以满足工作量的突发性地增大。在进行pm或vm的分配时满足的约束条件包括:

fjmax指第j台pm的最大cpu值,fj,k指第j台pm上的第k台虚拟机的cpu值;mj指第j台pm的最大内存值,mj,k指第j台pm上的第k台虚拟机的内存值,n为在第j台pm上的虚拟机的数量。

当任务被标记为突发状况时,按预定的顺序依次对多个虚拟机进行搜索,判断此虚拟机分配了此任务后是否满足约束条件,如果是,则将此任务分配给此虚拟机,如果否,则继续搜索下一个虚拟机。如果从常规状态转换到突发状态时,提高了pm的预留空间,判断分配给此pm的任务在任一运行时刻的cpu占用量或内存占用量是否超过设定的阈值,如果是,则从cpu占用量最小或内存的占用量最小的任务开始,将分配给此pm的任务转移到其它开启的pm或转移到新开启的pm,直到分配给此pm的任务在任一运行时刻的cpu占用量和内存占用量都未超过设定的阈值。

在一个实施例中,在高峰工作量下进行配置是保证任务完成的时间优先保证,但虚拟化的弹性优势就会受到破坏,并可能导致资源利用率低下。资源调配应分别考虑正常工作负载场景和突发工作负载场景,考虑了每个单个集群的特点,同时调整相应的工作负载大小实时调整资源分配,最大限度地提高整个系统的利用率。一方面,充分利用先前集群的特征以及pm的异质性,即根据其对应集群的区分特征来分配不同集群的任务,例如优先考虑对占用内存要求较高的任务对较高配置的pm和较低计算长度的任务给占用相对较多的pm,以使资源可用性最好。另一方面,预约策略在很大程度上取决于预测结果,因为预先安排好所有的pm已经完全占用了,每当物理或虚拟机需要额外的预留时,流量工作量突然激增。预留量取决于正常工作量和突发工作量之间的差值。对于正常情况,每个pm的预留空间被压缩到条件最小值。如果出现突发状态,系统将被重新部署,打开足够数量的新pm,并留出足够的预留空间来应对工作量的飙升。采用这种保留策略,以实现资源利用率,运行稳定性和高效性的平衡。

例如,首先针对m个物理主机或pm组成的虚拟化云。每个pm的特征是hj=(rj,oj,fj),其中rj是第j个pmhj的内存大小,fj是第j个pmhj的cpu值,oj是第j个主机;然后主机hj上设置vm。vm被建模为vmj,k=(fj,k,rj,k),其中fj,k和rj,k分别是vmj,k所需的cpu性能和内存。预留策略优先考虑在同一个pm上的虚拟机总数不能违反pm的容量的情况下,完成任务的比例。这样的约束被形式化为:

fjmax指第j台主机的最大cpu值,fj,k指第j台主机上的第k台虚拟机的cpu值;公式1-7指分配在主机上的所有虚拟机的cpu值的总和不能大过该主机的cpu最大值。mj指第j台主机的最大内存值,mj,k指第j台主机上的第k台虚拟机的内存值;公式1-8指分配在主机上的所有虚拟机的内存值的总和不能大过该主机的内存最大值。在一个实施例中,在满足约束的情况下,针对该保留策略的所提出的启发式算法,算法1的伪代码如下所示:

由上可知,在算法1中:1、每个时刻都对该时刻新到达的任务进行分组,并根据该时刻以及往回拨window个时刻的到达率来预测s时刻后的任务到达率;2、根据预测值来判断是否任务状况有变化,是“突发”还是“常规”;3、如果任务状况有变化,则同时改变预测的方法和预留资源的方法;4、进行资源分配,将任务分到各个主机的虚拟中去;在一段时间之后,更新历史数据,重新进行一次聚类,更新协方差矩阵。算法1是整个方法的总体流程展示。在算法2中给出的函数重新部署将尝试移动可用资源来处理即将到来的突发,函数资源分配,算法2的伪代码如下所示:

由上可知,在算法2中:1、如果环境从“常规”状况转换到“突发”状况,则开始对每个虚拟机进行检查;2、因为转换到“突发”状况,所以主机的预留值提高,原先符合约束条件的一些任务需要转移到其他机器上去;3、找到工作占用cpu或内存超过阈值的机子,从占用量最小的任务开始转移,首先考虑转移到已经开启并没有超出资源预留预计的机子上,如果不存在这样的机子,则新开机子。算法2是对算法1的其中一个步骤进行补充,主要解决了,状态转换时,主机群的资源重调问题。算法3用于根据其特征属性将即将到来的任务安排到合适的vm中,算法3的伪代码如下所示:

由上可知,在算法2中:1、如果该任务被标记为“突发”状况,则开始对每个虚拟机进行搜索将其分配到合适的机子上去;2、如果算上该任务,机子的cpu或内存均没有超出阈值,则将该任务分配到此台虚拟机上。算法3是对算法1的其中一个步骤进行补充,主要解决了,状态转换时任务分配的问题。在一个实施例中,从三个方面考虑衡量系统性能的指标,即保证率,资源利用率和总能耗:

其中,公式1-9是指任务完成率(gr,guaranteeratio),即能够按时完成的任务展总任务的百分比。其中xi,j,k表示任务ti在第j个pm的第k个vm中及时完成情况,n表示总任务数。公式1-10是指资源利用率(ru,resourceutilization),即完成的任务总长度占开启的主机的资源量总和。其中yi,j,k表示任务ti在第j个pm的第k个vm中完成情况,n表示总任务数。公式1-11表示一台开启的主机的功耗和其运行的频率的三次方成正比关系。公式1-12表示一台开启的主机从st时刻到et时刻的总功耗计算公式。

其中,xi,j,k和yi,j,k分别表示已签名的任务ti是否已经在第j个pm的第k个vm中完成和完成,wtj表示pmhj的活动时间,cjt∈{1,0}表示hj在时刻t是否有效,当hj有效时为1,否则为0。式1-9中的担保比例代表任务完成率,是主要目标。xi,j,k意味着在截止日期之前完成任务,而式1-10中完成的任务意味着完成任务而不管其运行时间。yi,j,k表示所有pm的所有任务到达的总长度与运行的cpu的总活动时间的比率。总能耗代表开机pm整体的总体功耗,基本上由cpu的使用量来计算。功耗可以分为两种状态。一个闲置,另一个活动。对于pmhj的cpu使用情况,其动态有功功耗pjactive可近似地描述为式1-11。设si为怠速pm(例如50%和60%)的功率消耗部分,pjmax为当主机hj被充分利用时的最大功耗。hj从时间st到时间et的总能量消耗tecj可近似为式1-12。

对本发明的网络任务预测方法和其他现有方法进行定量比较,实验中使用的数据集来自googlecloudtraces和worldofwarcraft数据集,代表了一个视频游戏服务。“魔兽世界”数据集是“魔兽世界”在线游戏的踪迹,包含了2006年1月至2009年1月间的1107天的记录,从中提取了几小时的实验记录。

在实验中,假设系统提供了五种不同类型的虚拟机,假设每个配置的虚拟机数量是无限的。将实验分为两部分。第一部分通过对实际工作量统计进行预测,显示了本发明的自适应云资源调配方法中预测方法的准确性,相对误差小于5%。第二部分展示了所提出的本发明的自适应云资源调配方法,并且我们用包括vm时间和可用性的度量来评估本发明的自适应云资源调配方法。结果表明,本发明的自适应云资源调配方法在突发情况下具有良好的性能。

本发明的网络任务预测方法,可以将正常情况下的移动平均预测方法与突发情况下的趋势外推预测方法相结合,预测即将到来的工作量爆发;即将到来的任务在集群中表征,其属性包括到达率是单独预测的,任务的趋势预测被转化为爆发的信号,从而改变了预留策略。

在一个实施例中,如图5a、5b所示,本发明提供一种网络任务预测装置50,包括:任务分组模块51和趋势预测模块52。任务分组模块51通过任务分类器对请求处理的任务进行分组处理,生成至少一个任务集群。趋势预测模块52获得单位时间内任务群集中增加的任务数量,基于增加的任务数量判断此任务群集是否进入突发状态。趋势预测模块52基于判断结果选取对应的预测算法预测此任务群集中的未来任务到达的预测值,其中,预测值包括:未来任务的到达预测时间和到达预测数量。

任务分组模块51选取任务的历史数据,采用k-means聚类方法对历史数据进行预分组,得到多个任务群集,并获得每个任务群集的群集特征属性值;任务分组模块51接收到任务时,获取任务的特征属性值;通过通过任务分类器分别计算特征属性值与多个群集特征属性值之间的马氏距离,任务分组模块51将此任务分配给与最小的马氏距离相对应的任务群集;其中,任务包括:服务请求任务、计算请求任务。

趋势预测模块52包括:状态判断单元521和预测值计算单元522。状态判断单元521在单位时间内,如果确定任务群集中任务数量的增加加速度为连续递增,或者,任务数量的增加加速度的值超过预设的加速度阈值的次数超过预设的次数阈值,则确定任务群集进入了突发状态。

状态判断单元521在确定进入突发状态后,如果确定在单位时间内,任务群集中任务数量的增加加速度为连续减少,或者,任务数量的增加加速度的值低于加速度阈值的次数超过次数阈值,则确定回到常规状态。

预测值计算单元522如果判断此任务群集进入突发状态,则采用突发预测算法预测此任务群集中的未来任务到达的预测值为:

预测值计算单元522如果判断此任务群集进入突发状态,则采用常规预测算法预测此任务群集中的未来任务到达的预测值为:

其中,s为预测的窗口时长,此时为t时刻,et+s为根据t时刻的任务到达数量对t+s时刻的任务达到数量的预测值,b1,b2,b3是预测参数,exp()为以自然底数e为底的指数函数,window为设定的影响预测值的历史数据个数,win为第in个任务的历史数据对预测值的影响权重,i指的是在t时刻往回拨in个时间点所对应的时间长度,ct-i指t-i时刻的任务到达数量。

如图6所示,资源保留模块根据预测值以及任务集群的特征为任务群集中新增的任务分配对应的pm或vm,特征包括:内存要求、计算长度等。资源保留模块对于常规状态,pm的预留空间为最小预留空间阈值,当出现突发状态时,提高pm的预留空间和/或开启新pm并留出预留空间,用以满足工作量的突发性地增大;在进行pm或vm的分配时满足的约束条件包括:

fjmax指第j台pm的最大cpu值,fj,k指第j台pm上的第k台虚拟机的cpu值;mj指第j台pm的最大内存值,mj,k指第j台pm上的第k台虚拟机的内存值,n为在第j台pm上的虚拟机的数量。

资源保留模块当任务被标记为突发状况时,按预定的顺序依次对多个虚拟机进行搜索,判断此虚拟机分配了此任务后是否满足约束条件;如果是,则将此任务分配给此虚拟机,如果否,则继续搜索下一个虚拟机。如果从常规状态转换到突发状态时,提高了pm的预留空间,资源保留模块53判断分配给此pm的任务在任一运行时刻的cpu占用量或内存占用量是否超过设定的阈值,如果是,则从cpu占用量最小或内存的占用量最小的任务开始,将分配给此pm的任务转移到其它开启的pm或转移到新开启的pm,直到分配给此pm的任务在任一运行时刻的cpu占用量和内存占用量都未超过设定的阈值。

在一个实施例中,如图7所示,提供一种网络任务预测装置,该装置可包括存储器71和处理器72,存储器71用于存储指令,处理器72耦合到存储器71,处理器72被配置为基于存储器71存储的指令执行实现上述的网络任务预测方法。

存储器71可以为高速ram存储器、非易失性存储器(non-volatilememory)等,存储器71也可以是存储器阵列。存储器71还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器72可以为中央处理器cpu,或专用集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明的网络任务预测方法的一个或多个集成电路。

在一个实施例中,本发明提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一个实施例中的网络任务预测方法。

可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

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