资源配置方法、装置及存储介质与流程

文档序号:22469967发布日期:2020-10-09 21:59阅读:97来源:国知局
资源配置方法、装置及存储介质与流程
本申请实施例涉及计算机
技术领域
,尤其涉及一种资源配置方法、装置及存储介质。
背景技术
:随着大数据时代的到来,每天都伴随着海量的数据计算,计算的背后需要大量的服务器资源的支撑,这为企业和高校带来了巨大的成本。如何高效地利用服务器的资源,合理地为各个任务分配资源,提高服务器集群资源的整体利用率,成为了降本增效的重要考虑点。大数据平台现有的资源分配方案是,各用户自主评估任务的资源需求量的最小值和最大值,并将评估的最小值和最大值告知给大数据平台,大数据平台根据用户评估的任务的资源需求量来为任务分配资源。在实现本申请过程中,发明人发现现有技术中至少存在如下问题,各任务间存在资源错峰的情况,这样会造成有些任务的资源空闲,而有些任务的资源紧张,使得服务器集群资源的整体利用率低。技术实现要素:本申请实施例提供一种资源配置方法、装置及存储介质,用以解决服务器集群资源的整体利用率低的问题。第一方面,本申请实施例提供一种资源配置方法,包括:针对每个任务队列,基于获取的所述任务队列的历史资源使用量和历史资源需求量,预测所述任务队列在第一时间的资源使用量和资源需求量,所述任务队列中包括至少一个任务;基于资源池的资源总量和每个所述任务队列在所述第一时间的资源使用量,确定所述资源池在第一时间的空闲资源量;基于每个所述任务队列在所述第一时间的资源需求量和所述资源池的空闲资源量,为至少一个所述任务队列分配资源。本申请的实施例提供的技术方案可以包括以下有益效果:通过任务队列的历史资源使用量和历史资源需求量来预测任务队列在第一时间的资源使用量和资源需求量,并根据预测的资源使用量和资源需求量来为任务队列进行资源分配,而不是根据各任务方对资源使用量的主观评估来进行资源分配,进而提高了资源分配的准确性。同时,本申请实施例确定出了资源池的空闲资源量,并根据任务队列在第一时间的资源需求量,将资源池的空闲资源分配给各资源紧张的任务队列,进而避免了资源的浪费,缓解了部分任务队列的资源紧张情况,进而提高了资源的有效使用率。在第一方面的一种可能的实现方式中,上述基于获取的所述任务队列的历史资源使用量和历史资源需求量,预测所述任务队列在第一时间的资源使用量和资源需求量,包括:按照所述任务队列的历史资源使用量和历史资源需求量的时间顺序,对所述任务队列的历史资源使用量和历史资源需求量分别进行排序;对排序后的所述任务队列的历史资源使用量和排序后的历史资源需求量分别进行平稳性检测;基于平稳性检测均满足预设要求的历史资源使用量和历史资源需求量,预测所述任务队列在第一时间的资源使用量和资源需求量。本申请的实施例提供的技术方案可以包括以下有益效果:通过对任务队列的历史资源使用量和排序后的历史资源需求量分别进行平稳性检测,这样使用平稳性检测均满足预设要求的历史资源使用量和历史资源需求量,预测所述任务队列在第一时间的资源使用量和资源需求量时,可以提高预测的准确性。在第一方面的一种可能的实现方式中,上述基于平稳性检测均满足预设要求的历史资源使用量和历史资源需求量,预测所述任务队列在第一时间的资源使用量和资源需求量,包括:基于平稳性检测满足所述预设要求的历史资源使用量,使用时间序列分析模型来预测所述任务队列在第一时间的资源使用量;基于平稳性检查满足所述预设要求的历史资源需求量,使用时间序列分析模型来预测所述任务队列在第一时间的资源需求量。本申请的实施例提供的技术方案可以包括以下有益效果:采用时间序列模型来进行资源预测时,利用任务队列的资源使用量和资源需求量符合平稳非白噪声序列的前提条件,提前预测任务队列在第一时间资源使用量和资源需求量,为后续的动态调整队列资源,提供了重要的前提保障。在第一方面的一种可能的实现方式中,所述方法还包括:针对每个所述任务队列,基于所述任务队列相关的各任务的权重,确定所述任务队列的权重;对应的,所述基于每个所述任务队列在所述第一时间的资源需求量和所述资源池的空闲资源量,为至少一个所述任务队列分配资源,包括:基于每个所述任务队列在所述第一时间的资源需求量,以及每个所述任务队列的权重和所述资源池的空闲资源量,为至少一个所述任务队列分配资源。本申请的实施例提供的技术方案可以包括以下有益效果:通过确定任务队列的权重,基于任务队列的权重来进行空闲资源的分配,优先为重要的资源紧缺的任务队列实时分配空闲资源,保证了重要任务的可靠执行,避免空闲时段的资源浪费,提高了资源利用率。在第一方面的一种可能的实现方式中,所述基于每个所述任务队列在所述第一时间的资源需求量,以及每个所述任务队列的权重和所述资源池的空闲资源量,为至少一个所述任务队列分配资源,包括:基于每个所述任务队列在所述第一时间的资源需求量和每个所述任务队列的资源配置上限,获得在所述第一时间的资源需求量大于资源配置上限的至少一个第一任务队列;基于所述至少一个第一任务队列的权重和所述资源池的空闲资源量,调整所述至少一个第一任务队列的资源配置上限。在第一方面的一种可能的实现方式中,所述基于所述任务队列相关的各任务的权重,确定所述任务队列的权重,包括:根据所述任务队列相关的每个任务的特征对应的权重,确定每个所述任务的初始权重;基于所述任务队列相关的各任务之间的关系,以及每个所述任务的初始权重,使用pagerank方法确定所述任务队列的权重。可选的,上述任务的特征包括如下至少一个:所述任务的标签、所述任务是否监控、所述任务是否投入使用、所述任务是否关联应用系统,以及所述任务是否关联报表系统。在第一方面的一种可能的实现方式中,所述基于所述任务队列的历史资源使用量和历史资源需求量的时间顺序,对所述任务队列的历史资源使用量和历史资源需求量进行排序之前,还包括:剔除所述任务队列的历史资源使用量和历史资源需求量中异常值;对应的,所述基于所述任务队列的历史资源使用量和历史资源需求量的时间顺序,对所述任务队列的历史资源使用量和历史资源需求量进行排序,包括:基于剔除异常值的所述任务队列的历史资源使用量和历史资源需求量的时间顺序,对所述任务队列的历史资源使用量和历史资源需求量进行排序。第二方面,本申请实施例提供一种资源配置装置,包括:预测单元,用于针对每个任务队列,基于获取的所述任务队列的历史资源使用量和历史资源需求量,预测所述任务队列在第一时间的资源使用量和资源需求量,所述任务队列中包括至少一个任务;处理单元,用于基于资源池的资源总量和每个所述任务队列在所述第一时间的资源使用量,确定所述资源池在第一时间的空闲资源量;配置单元,用于基于每个所述任务队列在所述第一时间的资源需求量和所述资源池的空闲资源量,为至少一个所述任务队列分配资源。在第二方面的一种可能的实现方式中,所述预测单元,具体用于按照所述任务队列的历史资源使用量和历史资源需求量的时间顺序,对所述任务队列的历史资源使用量和历史资源需求量分别进行排序;对排序后的所述任务队列的历史资源使用量和排序后的历史资源需求量分别进行平稳性检测;基于平稳性检测均满足预设要求的历史资源使用量和历史资源需求量,预测所述任务队列在第一时间的资源使用量和资源需求量。在第一方面的一种可能的实现方式中,所述预测单元,具体用于基于平稳性检测满足所述预设要求的历史资源使用量,使用时间序列分析模型来预测所述任务队列在第一时间的资源使用量;基于平稳性检查满足所述预设要求的历史资源需求量,使用时间序列分析模型来预测所述任务队列在第一时间的资源需求量。在第一方面的一种可能的实现方式中,所述处理单元,还用于针对每个所述任务队列,基于所述任务队列相关的各任务的权重,确定所述任务队列的权重;所述配置单元,具体用于基于每个所述任务队列在所述第一时间的资源需求量,以及每个所述任务队列的权重和所述资源池的空闲资源量,为至少一个所述任务队列分配资源。在第一方面的一种可能的实现方式中,所述配置单元,具体用于基于每个所述任务队列在所述第一时间的资源需求量和每个所述任务队列的资源配置上限,获得在所述第一时间的资源需求量大于资源配置上限的至少一个第一任务队列;基于所述至少一个第一任务队列的权重和所述资源池的空闲资源量,调整所述至少一个第一任务队列的资源配置上限。在第一方面的一种可能的实现方式中,所述处理单元,具体用于根据所述任务队列相关的每个任务的特征对应的权重,确定每个所述任务的初始权重;基于所述任务队列相关的各任务之间的关系,以及每个所述任务的初始权重,使用pagerank方法确定所述任务队列的权重。可选的,上述任务的特征包括如下至少一个:所述任务的标签、所述任务是否监控、所述任务是否投入使用、所述任务是否关联应用系统,以及所述任务是否关联报表系统。在第一方面的一种可能的实现方式中,所述处理单元,还用于剔除所述任务队列的历史资源使用量和历史资源需求量中异常值;所述预测单元,具体用于基于剔除异常值的所述任务队列的历史资源使用量和历史资源需求量的时间顺序,对所述任务队列的历史资源使用量和历史资源需求量进行排序。第三方面,本申请实施例提供一种电子设备,包括处理器和存储器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序以实现上述第一方面任一项所述的资源配置方法。第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质包括计算机指令,当所述指令被计算机执行时,使得所述计算机实现如第一方面任一项所述的资源配置方法。第五方面,本申请实施例提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,计算机的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得计算机实施第一方面任一所述的资源配置方法。本申请实施例提供的资源配置方法、装置及存储介质,针对每个任务队列,基于获取的各任务队列的历史资源使用量和历史资源需求量,预测各任务队列在第一时间的资源使用量和资源需求量,使得资源管理器可以根据预测的资源使用量和资源需求量来为任务队列进行资源分配,而不是根据各任务方对资源使用量的主观评估来进行资源分配,进而提高了资源分配的准确性。接着,资源管理器基于资源池的资源总量和每个任务队列在第一时间的资源使用量,确定资源池在第一时间的空闲资源量,并基于每个任务队列在第一时间的资源需求量和资源池的空闲资源量,为至少一个任务队列分配资源,实现了将资源池的空闲资源分配给各资源紧张的任务队列,进而避免了资源的浪费,缓解了部分任务队列的资源紧张情况,进而提高了资源的有效使用率。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1为本申请实施例涉及的一种应用场景图;图2为本申请实施例涉及的资源配置方法的一种流程示意图;图3为本申请实施例涉及的任务队列的一种示意图;图4为本申请实施例涉及的资源配置方法的一种流程示意图;图5为本申请实施例涉及的箱形图示意图;图6为本申请实施例涉及的资源配置方法的一种流程示意图;图7为本申请实施例涉及的资源配置方法的一种流程示意图;图8为本申请实施例涉及的资源配置方法的一种流程示意图;图9为本申请实施例涉及的资源配置方法的一种流程示意图;图10为本申请实施例涉及的各任务之间的关系示意图;图11为本申请实施例涉及的资源配置方法的一种流程示意图;图12为本申请实施例提供的资源配置装置的一种结构示意图;图13为本申请实施例涉及的电子设备的框图。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。首先对本申请实施例所涉及的名词进行解释:hadoop集群:hadoop是一个由apache基金会所开发的分布式系统基础架构,是在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架。hadoop的框架最核心的设计是分布式文件系统(hadoopdistributedfilesystem,hdfs)和mapreduce(映射归约)。hdfs是一个分布式文件系统:引入存放文件元数据信息的服务器namenode(名称节点)和实际存放数据的服务器datanode(数据节点),对数据进行分布式储存和读取。mapreduce是一个分布式计算框架:mapreduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(map计算/reduce计算)再根据任务调度器(jobtracker)对任务进行分布式计算。yarn(yetanotherresourcenegotiator,另一种资源协调者),是一种新的hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。队列,是yarn中资源分配的窗口,每个任务在队列中排队等待资源的分配。队列的最小值配置是这个队列最小可以分配的资源值,是不论集群资源或者资源空闲时的一种资源保障。队列最大值是这个队列最大可以分配的资源值,是在集群空闲时可抢占的最大资源值,也是本方案中调整的值。pagerank(网页排名)算法,是一种由根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一。pagerank的计算充分利用了两个假设:数量假设和质量假设。1)在初始阶段:网页通过链接关系构建起web图,每个页面设置相同的pagerank值,通过若干轮的计算,会得到每个页面所获得的最终pagerank值。随着每一轮的计算进行,网页当前的pagerank值会不断得到更新。2)在一轮中更新页面pagerank得分的计算方法:在一轮更新页面pagerank得分的计算中,每个页面将其当前的pagerank值平均分配到本页面包含的出链上,这样每个链接即获得了相应的权值。而每个页面将所有指向本页面的入链所传入的权值求和,即可得到新的pagerank得分。当每个页面都获得了更新后的pagerank值,就完成了一轮pagerank计算。时间序列模型,是指将同一统计指标的数值按其先后发生的时间顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。常用的时间序列模型有四种:自回归模型ar(p)、移动平均模型ma(q)、自回归移动平均模型arma(p,q)、自回归差分移动平均模型arima(p,d,q),可以说前三种都是arima(p,d,q)模型的特殊形式。图1为本申请实施例涉及的一种应用场景示意图,如图1所示,用户使用终端设备1001、1002和1003通过网络1004向大数据平台1005申请任务资源,大数据平台1005将资源1006分配给各任务。本申请实施例涉及的资源1006包括但不限于:内存、cpu、磁盘、网络等。可选的,大数据平台1005的资源管理器为任务分配资源,该资源管理器例如为yarn。目前的资源分配方案是,用户自主评估任务的资源需求量的最小值和最大值,并将评估的最小值和最大值告知给大数据平台,其中最小值是在资源紧张的情况下用户也可以一直使用的资源量,最大值是指其他用户无资源需求时他可以获得的最大资源量。大数据平台根据用户评估的任务的资源需求量来为任务分配资源。由此可知,现有技术在资源分配时依赖用户对资源使用量的主观评估,这样会存在资源分配不准确的问题。同时,各任务间存在资源错峰的情况,使用现有技术分配资源,会造成在某些时间,有些任务的资源空闲,而有些任务的资源紧张,使得服务器集群资源的整体利用率低。为了解决上述技术问题,本申请实施例提供一种资源配置方法,通过获取各任务队列的历史资源使用量和历史资源需求量,并基于每个任务队列的历史资源使用量和历史资源需求量,来预测每个任务队列在第一时间的资源使用量和资源需求量;接着,基于资源池的资源总量和每个任务队列在第一时间的资源使用量,确定资源池的空闲资源量;最后,基于每个任务队列在第一时间的资源需求量和资源池的空闲资源量,为至少一个任务队列进行资源分配。即本申请实施例,根据任务队列的历史资源使用量和历史资源需求量来预测任务队列在第一时间的资源使用量和资源需求量,并根据预测的资源使用量和资源需求量来为任务队列进行后续的资源分配,而不是根据各任务方对资源使用量的主观评估来进行资源分配,进而提高了资源分配的准确性。同时,本申请实施例确定出了资源池的空闲资源量,并根据任务队列在第一时间的资源需求量,将资源池的空闲资源分配给各资源紧张的任务队列,进而避免了资源的浪费,缓解了部分任务队列的资源紧张情况,进而提高了资源的有效使用率。下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。图2为本申请实施例涉及的资源配置方法的一种流程示意图。如图2所示,本申请实施例的方法包括:s11、针对每个任务队列,基于获取的任务队列的历史资源使用量和历史资源需求量,预测任务队列在第一时间的资源使用量和资源需求量。本申请实施例的执行主体为具有资源配置功能的装置,例如资源配置装置。可选的,上述资源配置装置可以为图1中的大数据平台,也可以为大数据平台中的一部分,例如为大数据平台中的资源管理器。本申请实施例以执行主体为资源管理器为例进行说明。图3为本申请实施例涉及的任务队列的一种示意图,如图3所示,本申请实施例的任务队列中包括至少一个任务,例如包括n个任务,本申请实施例以任务队列为资源分配的最小单元,资源管理器为任务队列分配资源,任务队列中的每个任务在队列中排队等待分配任务队列的资源,例如分配给任务队列的资源为a,任务队列再见资源a分配给队列中的n个任务。在此先对本申请实施例涉及的几个概念进行说明。举例说明,以任务队列a和任务队列b为例,资源配置量为资源管理器为任务队列分配的资源量,例如资源管理器为任务队列a和任务队列b分配的资源配置量均为10g。资源使用量为任务队列在时间1实际使用的资源量,例如任务队列a在时间1的资源使用量为5g,任务队列b在时间1的资源使用量为10g。资源需求量为任务队列中的各任务在执行时不需要排队等待时所需要的最小资源量,例如,任务队列b在时间1的资源需求量为12g。可选的,任务队列a在时间1的资源需求量与资源使用量可以相同为5g,首先,资源管理器获取一段历史时间内(例如前60天内)各任务队列的历史资源使用量和历史资源需求量。可选的,资源管理器还可以对获得的60天内的各任务队列的历史资源使用量和历史资源需求量分别进行采样,获得采样后的各任务队列的历史资源使用量和历史资源需求量。接着,根据获得的每个任务队列的历史资源使用量和历史资源需求量,来预测每个任务队列在第一时间的资源使用量和资源需求量。以任务队列a为例,使用任务队列a的历史资源使用量来预测任务队列a在第一时间的资源使用量,使用任务队列a的历史资源需求量来预测任务队列a在第一时间的资源需求量。上述第一时间可以为未来时间。本申请实施例,资源管理器根据任务队列的历史资源使用量和历史资源需求量来预测任务队列在第一时间的资源使用量和资源需求量,进而使得资源管理器根据预测的资源使用量和资源需求量来为任务队列进行资源分配,而不是根据各任务方对资源使用量的主观评估来进行资源分配,从而提高了资源分配的准确性。s12、基于资源池的资源总量和每个任务队列在第一时间的资源使用量,确定资源池在第一时间的空闲资源量。具体的,可以使用资源池的资源总量减去每个任务队列在第一时间的资源使用量,将资源池剩余的资源量确定为资源池在第一时间的空闲资源量。例如资源池的资源总量为b,上述各任务队列在第一时间的资源使用量总和为c,这样可以确定资源池在第一时间的空闲资源量e=b-c,其中e为大于0的正数。s13、基于每个任务队列在第一时间的资源需求量和资源池的空闲资源量,为至少一个任务队列分配资源。具体的,根据上述s11预测出每个任务队列在第一时间的资源需求量,根据上述s12确定出资源池的空闲资源量。接着,根据每个任务队列在第一时间的资源需求量以及资源池的空闲资源量,将资源池的空闲资源分配给至少一个任务队列。举例说明,假设根据上述步骤s11预测出任务队列b在第一时间的资源需求量为12g,而资源管理器为任务队列b配置的资源量为10g,资源池在第一时间的空闲资源量为50g,这样,资源管理器可以从资源池在第一时间的空闲资源中为任务队列b再配置2g,使得任务队列b在第一时间可以使用资源量达到12g。在一种示例中,可以根据各任务队列在第一时间的资源需求量的多少,为至少一个任务队列分配资源,例如,先将资源池的空闲资源中的部分或全部分配给在第一时间的资源需求量大的任务队列。在另一种示例中,根据各任务队列的优先级,为至少一个任务队列分配资源。本申请实施例提供的资源配置方法,资源管理器针对每个任务队列,基于获取的各任务队列的历史资源使用量和历史资源需求量,预测各任务队列在第一时间的资源使用量和资源需求量,使得资源管理器可以根据预测的资源使用量和资源需求量来为任务队列进行后续的资源分配,而不是根据各任务方对资源使用量的主观评估来进行资源分配,进而提高了资源分配的准确性。接着,资源管理器基于资源池的资源总量和每个任务队列在第一时间的资源使用量,确定资源池在第一时间的空闲资源量,并基于每个任务队列在第一时间的资源需求量和资源池的空闲资源量,为至少一个任务队列分配资源,实现了将资源池的空闲资源分配给各资源紧张的任务队列,进而避免了资源的浪费,缓解了部分任务队列的资源紧张情况,进而提高了资源的有效使用率。在上述实施例的基础上,本申请实施例对上述基于获取的任务队列的历史资源使用量和历史资源需求量,预测任务队列在第一时间的资源使用量和资源需求量的具体过程进行详细介绍。图4为本申请实施例提供的资源配置方法的另一流程示意图,如图4所示,上述s11包括:s111、按照任务队列的历史资源使用量和历史资源需求量的时间顺序,对任务队列的历史资源使用量和历史资源需求量分别进行排序。可选的,在一些实施例中,为了保证数据预测的准确性,在上述s101之前,还包括:s110、剔除任务队列的历史资源使用量和历史资源需求量中异常值。此时,上述s111可以被步骤a替换,步骤a、基于剔除异常值的任务队列的历史资源使用量和历史资源需求量的时间顺序,对剔除异常值的任务队列的历史资源使用量和历史资源需求量分别进行排序。在一种示例中,本申请实施例使用箱形图来进行异常点检测,如图5所示,箱形图是把低于箱形图下极限(或q1-1.5xiqr)或高于箱形图上极限(或q3+1.5xiqr)的观测值定义为异常值。其中q1代表数据的四分之一位,q3代表数据的四分之三位,iqr=q3-q1,它是第三个四分位数和第一个四分位数的差。该方法的中心思想是估计数据集中最小值和最大值,偏离最小值和最大值区间的数据为异常值。s112、对排序后的任务队列的历史资源使用量和排序后的历史资源需求量分别进行平稳性检测。在实际应用过程中观测到,各任务队列的历史资源使用量和历史资源需求量是一个平稳性序列,因为用户提交的任务都是固定周期执行的,并且使用的资源量也是在恒定值附近小范围内波动的。基于此,在基于任务队列的历史资源使用量和历史资源需求量来预测任务队列在第一时间的资源使用量和资源需求量之前,需要对任务队列的历史资源使用量和历史资源需求量进行平稳性预测,使用平稳性检测满足预设要求的历史资源使用量和历史资源需求量,来预测任务队列在第一时间的资源使用量和资源需求量。具体的,以排序后的任务队列的历史资源使用量为例,检测排序后的任务队列的历史资源使用量的平稳性是否满足预设要求,若排序后的任务队列的历史资源使用量的平稳性满足预设要求,则执行s113。若排序后的任务队列的历史资源使用量的平稳性不满足预设要求,则进行差分运算,即两个相邻历史资源使用量之间做差,例如相邻的后一个历史资源使用量减去前一个历史资源使用量,再检查差分运算后的历史资源使用量的平稳性是否满足预设要求,若不满足,再进行差分运算,直到差分运算后的历史资源使用量的平稳性满足预设要求为止。同理,针对排序后的任务队列的历史资源需求量,检测排序后的任务队列的历史资源需求量的平稳性是否满足预设要求,若排序后的任务队列的历史资源需求量的平稳性满足预设要求,则执行s113。若排序后的任务队列的历史资源需求量的平稳性不满足预设要求,则进行差分运算,即两个相邻历史资源需求量之间做差,例如相邻的后一个历史资源需求量减去前一个历史资源需求量,再检查差分运算后的历史资源需求量的平稳性是否满足预设要求,若不满足,再进行差分运算,直到差分运算后的历史资源需求量的平稳性满足预设要求为止。s113、基于平稳性检测均满足预设要求的历史资源使用量和历史资源需求量,预测任务队列在第一时间的资源使用量和资源需求量。本步骤中,资源管理器可以使用已有的预测模型,例如网络预测模型,来根据平稳性检测均满足预设要求的历史资源使用量和历史资源需求量,预测任务队列在第一时间的资源使用量和资源需求量。在一种可能的实现方式中,如图6所示,上述s113包括:s1131、基于平稳性检测满足预设要求的历史资源使用量,使用时间序列分析模型来预测任务队列在第一时间的资源使用量。s1132、基于平稳性检查满足预设要求的历史资源需求量,使用时间序列分析模型来预测任务队列在第一时间的资源需求量。可选的,本申请实施例使用的时间序列模型可以为arima模型。本申请实施例采用时间序列模型来进行资源预测时,利用任务队列的资源使用量和资源需求量符合平稳非白噪声序列的前提条件,提前预测任务队列在第一时间资源使用量和资源需求量,为后续的动态调整队列资源,提供了重要的前提保障。下面结合图7,对本申请实施例涉及的基于获取的任务队列的历史资源使用量和历史资源需求量,预测任务队列在第一时间的资源使用量和资源需求量的具体过程进行详细介绍。在此以使用任务队列的历史资源使用量,预测任务队列在第一时间的资源使用量为例进行说明,而使用任务队列的历史资源需求量预测任务队列在第一时间的资源需求量的过程,与使用任务队列的历史资源使用量预测任务队列在第一时间的资源使用量的过程一致,参照即可。如图7所示,整个过程包括s1至s10。首先执行s1,获取任务队列的历史资源使用量,接着执行s2,按照任务队列的历史资源使用量的时间顺序,对任务队列的历史资源使用量进行排序。再接着执行s3,对排序后的任务队列的历史资源使用量进行平稳性检测。若任务队列的历史资源使用量平稳性不满足预设要求,则执行s4,进行差分运算,并返回执行s3,以对差分运算后的历史资源使用量再进行平稳性检测。若任务队列的历史资源使用量的平稳性均满足预设要求,则执行s5,计算任务队列的历史资源使用量的自相关和偏相关系数。接着执行s6进行arima模型识别,执行s7估计模型中未知参数。接着执行s8,进行模型检验,若模型检验未通过,则返回执行s7,对模型中的未知参数进行调整。模型检验通过则执行s9,进行模型优化,最后执行s10,使用优化后的模型预测任务队列在第一时间的资源使用量。本申请实施例,使用时间序列分析法,来基于获取的任务队列的历史资源使用量和历史资源需求量,预测任务队列在第一时间的资源使用量和资源需求量,提高了预测的准确性,为后续空闲资源的分配提供的可靠的基础。图8为本申请实施例提供的资源配置方法的另一流程示意图,本申请实施例的方法还包括确定任务队列的权重,在进行资源分配时,考虑了任务队列的权重,实现在不影响其他任务正常使用集群资源的情况下,为重要任务优先分配充足资源。如图8所示,本申请实施例的方法包括:s21、针对每个任务队列,基于获取的任务队列的历史资源使用量和历史资源需求量,预测任务队列在第一时间的资源使用量和资源需求量。上述任务队列中包括至少一个任务。s22、基于资源池的资源总量和每个任务队列在第一时间的资源使用量,确定资源池在第一时间的空闲资源量。上述s21至s22的具体实现过程可以参照上述s11至s12的具体描述,在此不再赘述。s23、针对每个任务队列,基于任务队列相关的各任务的权重,确定任务队列的权重。本申请实施例,为了保证重要任务和核心系统稳定性和时效性,首先为被标识为重要的任务队列分配资源,在不影响其他任务执行的情况下,首先确保重要任务的执行,提升核心系统的用户体验。本步骤确定任务队列的权重的方式包括但不限于如下几种:方式一,任务队列包括至少一个任务,例如任务队列包括n个任务,n为大于等于1的正整数,获取n个任务中每个任务的权重,将n个任务权重的和值作为该任务队列的权重。或者,将这些n个任务权重中权重最大值作为该任务队列的权重。方式二,如图9所示,上述s23包括:s231、根据任务队列相关的每个任务的特征对应的权重,确定每个任务的初始权重。可选的,任务的特征包括如下至少一个:所述任务的标签等级、所述任务是否监控、所述任务是否投入使用、所述任务是否关联应用系统,以及所述任务是否关联报表系统。表1为上述任务的各特征对应的权重的一种示例,需要说明的是,表1为一种示例,上述各特征对应的权重不受表1限制。表1特征权重任务标签4任务是否监控1任务是否投入使用1任务是否关联应用系统3任务是否关联报表系统3由上述表1可知,若用户对任务标记了标签,则该任务的权重加4,若任务被监控,则该任务的权重加1,若任务投入使用,则该任务的权重加1,若任务关联应用系统,则该任务的权重加3,若任务关联报表系统,则该任务的权重加3。这样,若一个任务被用户做了标签,且投入使用,且与应用系统关联,则该任务的初始权重为4+1+3=7。根据上述方式,可以确定出与任务队列关联的每一个任务的初始权重。s232、基于任务队列相关的各任务之间的关系,以及每个任务的初始权重,使用pagerank方法确定任务队列的权重。图10为本申请实施例涉及的任务队列相关的各任务之间的关系示意图,需要说明的是,图10为一种示例,任务队列关联的各任务之间的关系包括但不限于图10。如图10所示,任务队列c包括任务1和任务2,任务1节点下包括任务3和任务4,任务2的节点下包括任务4,也就是说,任务4具有两个父节点,分别为任务1和任务2。首先根据上述步骤s231的方法,确定出上述任务1至任务4中每个任务的初始权重,接着,根据图10中各任务之间的关系,使用pagerank方法,确定出任务队列c的权重。具体的,基于如下公式确定任务队列的权重:其中,上述pi为当前的任务节点,n为任务队列相关的所有任务数,q为常数,pj为与任务节点pi相关的任务节点,l(pj)为节点pj的父节点个数(例如图8中任务4的父节点个数为2),pagerank(pj)为任务节点pj的权重。如图10所示,任务1的权重包括两部分,一部分为任务1的初始权重,另一部分为根据上述公式确定的权重,记为第二权重。如图10所示任务队列c包括4个任务,即n为4,任务1相关的任务包括任务3和任务4。假设任务3和任务4是最底层的任务节点,即不包括子节点,则任务3的权重为任务3的初始权重,任务4的权重为任务4的初始权重。这样根据上述公式,可以确定任务1的第二权重=(1-q)/4+q(任务3的初始权重+任务4的初始权重/2)。这样,可以确定出任务1的权重=任务1的初始权重+任务1的第二权重。根据同样的方法,可以确定出任务2的权重=任务2的初始权重+任务2的第二权重。接着,将任务1的权重和任务2的权重带入上述公式,可以确定出任务队列c的权重。s24、基于每个任务队列在第一时间的资源需求量,以及每个任务队列的权重和资源池的空闲资源量,为至少一个任务队列分配资源。本申请实施例,根据上述步骤确定出每个任务队列的权重,这样在进行资源分配时,可以根据任务队列的权重,先将空闲资源分配为重要的任务队列使用。在一些实施例中,如图11所示,上述s24包括:s241、基于每个任务队列在第一时间的资源需求量和每个任务队列的资源配置上限,获得在第一时间的资源需求量大于资源配置上限的至少一个第一任务队列。s242、基于至少一个第一任务队列的权重和资源池的空闲资源量,调整至少一个第一任务队列的资源配置上限。如图11所示,本申请实施例首先获取资源紧张的第一任务队列,具体是针对每个任务队列,将预测的该任务队列在第一时间的资源需求量与资源管理器事前为该任务队列配置的资源配置上限进行比较,获得在第一时间的资源需求量大于资源配置上限的至少一个第一任务队列。接着,根据各第一任务队列的权重和资源池的空闲资源量,调整至少一个第一任务队列的资源配置上限。本申请实施例,在服务器集群存在空闲资源的前提下,优先为重要任务队列分配资源,具体是调整资源紧缺的任务队列的资源配置上限,不会影响其他任务队列的资源配置最小值。即当其他任务队列无资源需求时,优先为重要的资源紧缺任务队列实时分配空闲资源,避免空闲时段的资源浪费。本申请实施例的资源调整周期为预设值(例如为30分钟),即每隔30分钟计算一次需分配的资源值。可选的,上述预设值可以根据实际需要进行配置,本申请实施例对此不做限制。本申请实施例提供的资源配置方法,通过确定任务队列的权重,基于任务队列的权重来进行空闲资源的分配,优先为重要的资源紧缺的任务队列实时分配空闲资源,保证了重要任务的可靠执行,避免空闲时段的资源浪费,提高了资源利用率。图12为本申请实施例提供的资源配置装置的一种结构示意图。该资源配置装置可以是电子设备,也可以是电子设备的部件(例如,集成电路,芯片等等),该电子设备可以为资源管理器。如图12所示,该资源配置装置100可以包括:预测单元110、处理单元120和配置单元130。预测单元110,用于针对每个任务队列,基于获取的所述任务队列的历史资源使用量和历史资源需求量,预测所述任务队列在第一时间的资源使用量和资源需求量,所述任务队列中包括至少一个任务;处理单元120,用于基于资源池的资源总量和每个所述任务队列在所述第一时间的资源使用量,确定所述资源池在第一时间的空闲资源量;配置单元130,用于基于每个所述任务队列在所述第一时间的资源需求量和所述资源池的空闲资源量,为至少一个所述任务队列分配资源。本申请实施例的资源配置装置,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。在一种可能的实现方式中,上述预测单元110,具体用于按照所述任务队列的历史资源使用量和历史资源需求量的时间顺序,对所述任务队列的历史资源使用量和历史资源需求量分别进行排序;对排序后的所述任务队列的历史资源使用量和排序后的历史资源需求量分别进行平稳性检测;基于平稳性检测均满足预设要求的历史资源使用量和历史资源需求量,预测所述任务队列在第一时间的资源使用量和资源需求量。在一种可能的实现方式中,上述预测单元110,具体用于基于平稳性检测满足所述预设要求的历史资源使用量,使用时间序列分析模型来预测所述任务队列在第一时间的资源使用量;基于平稳性检查满足所述预设要求的历史资源需求量,使用时间序列分析模型来预测所述任务队列在第一时间的资源需求量。在一种可能的实现方式中,上述处理单元120,还用于针对每个所述任务队列,基于所述任务队列相关的各任务的权重,确定所述任务队列的权重;上述配置单元130,具体用于基于每个所述任务队列在所述第一时间的资源需求量,以及每个所述任务队列的权重和所述资源池的空闲资源量,为至少一个所述任务队列分配资源。在一种可能的实现方式中,上述配置单元130,具体用于基于每个所述任务队列在所述第一时间的资源需求量和每个所述任务队列的资源配置上限,获得在所述第一时间的资源需求量大于资源配置上限的至少一个第一任务队列;基于所述至少一个第一任务队列的权重和所述资源池的空闲资源量,调整所述至少一个第一任务队列的资源配置上限。在一种可能的实现方式中,上述处理单元120,具体用于根据所述任务队列相关的每个任务的特征对应的权重,确定每个所述任务的初始权重;基于所述任务队列相关的各任务之间的关系,以及每个所述任务的初始权重,使用pagerank方法确定所述任务队列的权重。可选的,上述任务的特征包括如下至少一个:所述任务的标签、所述任务是否监控、所述任务是否投入使用、所述任务是否关联应用系统,以及所述任务是否关联报表系统。在一种可能的实现方式中,上述处理单元120,还用于剔除所述任务队列的历史资源使用量和历史资源需求量中异常值;上述预测单元110,具体用于基于剔除异常值的所述任务队列的历史资源使用量和历史资源需求量的时间顺序,对所述任务队列的历史资源使用量和历史资源需求量进行排序。本申请实施例的资源配置装置,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。图13为本申请实施例涉及的电子设备的框图,该设备可以是图1所示的资源配置器,用于执行上述实施例所述的资源配置方法,具体参见上述方法实施例中的说明。参照图13,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述资源配置方法实施例。电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(i/o)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1932,上述指令可由电子设备1900的处理组件1922执行以完成上述资源配置方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1