一种多目标的云资源调度方法、装置、设备及存储介质与流程

文档序号:18869067发布日期:2019-10-14 19:05阅读:147来源:国知局
一种多目标的云资源调度方法、装置、设备及存储介质与流程

本发明属于云计算技术领域,尤其涉及一种多目标的云资源调度方法、装置、设备及存储介质。



背景技术:

随着互联网技术的发展以及社会和行业数字化进程的不断推进,传统本地计算模式的数据处理能力已经远远不能满足“大数据”对计算能力的要求,在这样的背景下,云计算作为一种商业化的分布式计算模型应运而生,并在产业界和学术界得到了广泛的应用和研究。由于云计算平台拥有庞大的虚拟资源和用户群体,云服务提供商需要频繁的根据各个用户的需求进行资源管理,因此,相比传统的任务调度,云计算环境下的任务调度问题面临很多挑战,例如,由于服务器规模庞大,且任务请求频繁多变,而任务的响应时间、完工时间直接影响用户体验,因此,云服务提供商期望能以最小的开销来满足用户的任务请求。如何对云计算中大量的任务进行调度管理,使得各类任务的完成时间以及执行费用均可以尽可能的满足用户的要求,是云计算资源调度中的一个很重要的研究领域。

随着云计算的不断发展,传统的单目标优化下的任务调度已经不能够满足用户的服务质量要求。目前,云计算在合理进行资源调度方面存在如下诸多的问题:一方面,由于服务器有很大一部分时间处于闲置状态,从而造成资源的大量浪费,另一方面,由于应用程序信息的不确定性以及物理机器处理能力的差异性,从而造成了物理机负载的不均衡,且同时存在云服务提供商需要时刻关注用户的动态以实现能最大程度上满足用户需求的多样性及多变性等问题。因此,在调度云数据中心的资源时,一方面要提高系统的性能,使得系统的性能尽可能的达到最优,另一方面要更好的为用户提供服务,最大程度上满足用户的需求,然而,多个目标可能存在相互冲突,例如最大化资源利用率往往带来服务质量的下降。因此,为了更合理的对云资源进行分配,获得多方面的综合优化,多目标优化模型与算法显得十分重要。



技术实现要素:

本发明的目的在于提供一种多目标的云资源调度方法、装置、设备及存储介质,旨在解决由于现有技术无法提供一种有效的多目标云资源调度方法,导致云资源分配不合理、资源利用率低、系统负载不均衡的问题。

一方面,本发明提供了一种多目标的云资源调度方法,所述方法包括下述步骤:

根据预先构建的云资源调度模型,为接收到的服务请求序列中的每个服务请求分配一个云资源节点;

根据预先确定的调度优化目标函数和由所述云资源节点构成的初始云资源调度方案,对预设的免疫算法进行初始化,其中,所述初始化包括对初始种群的初始化,所述免疫算法为基于分解克隆选择策略的多目标免疫算法;

根据所述免疫算法中采用的基于权值提升度的克隆选择策略对所述初始种群中的个体进行克隆选择操作,得到相应的克隆种群;

采用差分进化算法分别对所述克隆种群中的每个克隆个体进行进化操作,得到对应的进化个体;

根据所述进化个体,对所述克隆种群进行更新;

判断当前种群迭代代数是否达到了预设迭代代数阈值,是则,将由更新后的所述克隆种群中的克隆个体构成的最优云资源调度方案进行输出,否则,更新所述当前种群迭代代数,且将所述克隆种群设置为所述初始种群,并跳转至根据所述免疫算法中采用的基于权值提升度的克隆选择策略对所述初始种群中的个体进行克隆选择操作的步骤。

另一方面,本发明提供了一种多目标的云资源调度装置,所述装置包括:

资源节点分配单元,用于根据预先构建的云资源调度模型,为接收到的服务请求序列中的每个服务请求分配一个云资源节点;

算法初始化单元,用于根据预先确定的调度优化目标函数和由所述云资源节点构成的初始云资源调度方案,对预设的免疫算法进行初始化,其中,所述初始化包括对初始种群的初始化,所述免疫算法为基于分解克隆选择策略的多目标免疫算法;

个体克隆单元,用于根据所述免疫算法中采用的基于权值提升度的克隆选择策略对所述初始种群中的个体进行克隆选择操作,得到相应的克隆种群;

个体进化单元,用于采用差分进化算法分别对所述克隆种群中的每个克隆个体进行进化操作,得到对应的进化个体;

克隆种群更新单元,用于根据所述进化个体,对所述克隆种群进行更新;以及

迭代代数判断单元,用于判断当前种群迭代代数是否达到了预设迭代代数阈值,是则,将由更新后的所述克隆种群中的克隆个体构成的最优云资源调度方案进行输出,否则,更新所述当前种群迭代代数,且将所述克隆种群设置为所述初始种群,并触发所述个体克隆单元执行根据所述免疫算法中采用的基于权值提升度的克隆选择策略对所述初始种群中的个体进行克隆选择操作。

另一方面,本发明还提供了一种云数据处理设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述多目标的云资源调度方法所述的步骤。

另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述多目标的云资源调度方法所述的步骤。

本发明根据云资源调度模型,为接收到的服务请求序列中的每个服务请求分配一个云资源节点,根据由云资源节点构成的初始云资源调度方案对免疫算法进行初始化,根据基于权值提升度的克隆选择策略对初始种群中的个体进行克隆选择操作,得到相应的克隆种群,采用差分进化算法分别对克隆种群中的每个克隆个体进行进化操作,得到对应的进化个体,根据进化个体对克隆种群进行更新,判断当前种群迭代代数是否达到了预设迭代代数阈值,是则,将更新后的克隆种群中的克隆个体作为最优解进行输出,否则,更新当前种群迭代代数,且将克隆种群设置为初始种群,继续对初始种群中的个体进行克隆选择操作,直至达到预设迭代代数阈值,从而提高了最优解求解的收敛速度,并保证了最优解的多样性和连续性,进而提高了云资源分配的合理性。

附图说明

图1是本发明实施例一提供的多目标的云资源调度方法的实现流程图;

图2是本发明实施例二提供的实施例一中步骤s103的实现流程图;

图3是本发明实施例三提供的多目标的云资源调度装置的结构示意图;

图4是本发明实施例三提供的多目标的云资源调度装置的优选结构示意图;以及

图5是本发明实施例四提供的云数据处理设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一:

图1示出了本发明实施例一提供的多目标的云资源调度方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤s101中,根据预先构建的云资源调度模型,为接收到的服务请求序列中的每个服务请求分配一个云资源节点。

本发明实施例适用于云数据处理设备、系统、以及平台,例如,个人计算机、服务器,在云计算中,一个云数据处理系统可包括m个云资源组(cloudresourcegroup,简称crg)<crg1,crg2,...,crgm>,而每个crg又是由若干个不同过的云资源节点(cloudresourcenode,简称crn)组成的,则第i个云资源组可表示为crgi={crnj|1≤j≤ni},ni为该云资源组中云资源节点的数量,crnj为第j个云资源节点。接收到的服务请求序列中包含一个或多个子请求,将由n个子请求组成的服务请求序列表示为<req1,req2,...,reqn>,则根据预先构建的云资源调度模型,为reqi分配一个对应的云资源节点,i∈n。

在为接收到的服务请求序列中的每个服务请求分配一个云资源节点之前,优选地,根据一个服务请求与一个云资源组相对应的映射关系,建立云资源调度模型其中,为第1个云资源组crg1中的第i1个云资源节点,同理,为第n个云资源组crgn中的第in个云资源节点,具体地,n个子请求组成的服务请求序列<req1,req2,...,reqn>对应的云资源组序列为<crg1,crg2,...,crgn>,然后从各个云资源组中分配一个云资源节点处理对应的服务请求,从而提高系统负载的均衡性。

在步骤s102中,根据预先确定的调度优化目标函数和由云资源节点构成的初始云资源调度方案,对预设的免疫算法进行初始化,其中,初始化包括对初始种群的初始化,该免疫算法为基于分解克隆选择策略的多目标免疫算法。

在本发明实施例中,将由n个云资源节点构成的初始云资源调度方案设置为预设免疫算法的初始种群pt,以对该免疫算法的初始种群进行初始化,初始种群中的个体也即是为服务请求分配的对应的云资源节点,免疫算法的种群规模则为n,对该免疫算法的当前种群迭代代数t进行初始化(例如,将当前种群迭代代数t设置为0),并根据预先确定的调度优化目标函数对该免疫算法的相关参数进行初始化,其中,该免疫算法为基于分解克隆选择策略的多目标免疫算法(multi-objectiveimmunealgorithmwithdecomposition-basedcloneselectionstrategy,简称moia-dcss),也即是将基于分解的克隆选择策略dcss与多目标免疫算法moia相结合形成的免疫算法moia-dcss。

在对预设的免疫算法进行初始化之前,优选地,云资源调度优化是一个多目标优化问题,本发明实施从总服务质量、总响应时间、以及总响应成本三个方面对云资源调度的优化性能进行评判,基于此,将确定为调度优化目标函数,其中,n为服务请求序列中子服务请求的数量,q为总服务质量,qj是第j个服务请求获得的服务质量,总相应时间t为各个服务请求的响应时间之和,ttransj为云资源由当前服务状态转化为第j个服务请求的服务状态之间所需要的时间,tj为第j个服务请求的响应时间,总成本c为各个服务请求的成本之和,ctransj为云资源由当前服务状态转化为第j个服务请求的服务状态之间所需要的成本,cj为第j个服务请求的响应成本,从而在处理多个服务请求时,实现资源利用率的最大化。

在确定调度优化目标函数之后,对预设的免疫算法进行初始化时,优选地,通过该调度优化目标函数初始化免疫算法的理想点,也即理想点z*=(maxq,mint,minc),并通过切比雪夫算法将调度优化目标函数分解为若干个子优化目标函数,每个子优化目标函数的解对应一个个体(即一个云资源节点),从而将多目标优化问题转换为单目标优化问题,降低了算法的复杂度。

在步骤s103中,根据免疫算法中采用的基于权值提升度的克隆选择策略对初始种群中的个体进行克隆选择操作,得到相应的克隆种群。

在本发明实施例,拥有较大权值提升度的个体,在这一代中被选择进行克隆操作的可能性更大,反之,权值提升度较小的个体在这一代中可能将不被选择进行克隆操作。根据免疫算法中采用的基于权值提升度的克隆选择策略,从初始种群中选择出表现良好的个体进行克隆,得到相应的克隆个体,由克隆个体组成克隆种群,从而通过基于权值提升度的克隆选择策略使得得到的克隆种群的性能更好,并提高了整个种群的收敛速度。

在步骤s104中,采用差分进化算法分别对克隆种群中的每个克隆个体进行进化操作,得到对应的进化个体。

在本发明实施例中,采用差分进化算法(differentialevolution,de)分别对克隆种群中的每个克隆个体进行进化操作,其中,差分进化算法包括变异操作、交叉操作、以及选择操作,交叉操作使得种群中不同个体之间的信息得到交换,所产生的后代能够继承父代的优良性质,新一代种群对环境的平均适应值要优于父代,然而随着搜索的进一步进行,交叉操作会使得种群中个体具有局部相似性,产生局部最优解问题,为了解决该问题,在de中通过多项式变异随机地改变个体的基因值,使得种群中的个体呈现多样性,引导种群收敛到全局最优,并且在de中采用的是贪婪选择的策略,即选择较优的个体作为进化个体。

在步骤s105中,根据进化个体,对克隆种群进行更新。

在本发明实施例中,计算克隆种群中每个克隆个体的权值提升度,基于权值提升度的大小,权值提升度大的个体将被比之表现更好的进化个体淘汰,也即是,首先,从克隆种群中淘汰掉与进化个体数量等同的、权值提升度较大的克隆个体,再将进化个体加入到该克隆种群中,从而产生新的克隆种群。

在步骤s106中,判断当前种群迭代代数是否达到了预设迭代代数阈值。

在本发明实施例中,当当前种群迭代代数达到了预设迭代代数阈值时,执行步骤s107,否则,跳转至步骤s108。

在步骤s107中,将由更新后的克隆种群中的克隆个体构成的最优云资源调度方案进行输出。

在本发明实施例中,当当前种群迭代代数达到了预设迭代代数阈值时,更新后的克隆种群中的克隆个体即为到目前为止找到的最优解,每个克隆个体也即是一个云资源节点,将由这些云资源节点构成的最优云资源调度方案进行输出。

在步骤s108中,更新当前种群迭代代数,且将该克隆种群设置为初始种群。

在本发明实施例中,当当前种群迭代代数没有达到预设迭代代数阈值时,将当前种群迭代代数增加1代,以对当前种群迭代代数进行更新,且将更新后的克隆种群设置为下一代的初始种群,并跳转至步骤s103,继续对初始种群中的个体进行克隆选择操作,直至达到迭代代数阈值。

在本发明实施例中,根据由接收到的服务请求序列形成的初始云资源调度方案对免疫算法进行初始化,根据相应的克隆选择策略对初始种群中的个体进行克隆选择操作,得到相应的克隆种群,采用差分进化算法分别对每个克隆个体进行进化操作,得到对应的进化个体,根据进化个体对克隆种群进行更新,当未达到迭代代数阈值时,将克隆种群设置为初始种群,继续对初始种群中的个体进行克隆选择操作,直至达到迭代代数阈值,则将克隆种群中的克隆个体作为最优解进行输出,从而提高了最优解求解的收敛速度,并保证了最优解的多样性和连续性,进而提高了云资源分配的合理性、以及负载的均衡性。

实施例二:

图2示出了本发明实施例二提供的实施例一中步骤s103的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤s201中,通过预设的权值提升度公式计算初始种群中每个个体对应的权值提升度。

在本发明实施例中,通过预设的权值提升度公式计算初始种群中每个个体对应的权值提升度,其中,δi为初始种群中第i个个体的权值提升度,z*为理想点,为第t代时初始种群中第i个个体,λi第i个个体对应的权重向量,gtch(x|λ,z*)为个体x的当代权值,tch为切比雪夫算法。

在通过预设的权值提升度公式计算初始种群中每个个体对应的权值提升度之前,优选地,根据理想点计算每个子优化目标函数对应个体的当代权值,根据当代权值对应的权重向量获取相对应的、包含若干个个体的邻域,从而使得后续选择出的待克隆个体的性能更优。

根据理想点计算每个子优化目标函数对应个体的当代权值时,优选地,通过公式计算每个子优化目标函数对应个体的当代权值,其中,fi(x)表示第i个个体对应的子优化目标函数的值,zi*为第i个个体的理想点,从而使得后续选择出的待克隆个体的性能更优。

在步骤s202中,在预先获取的邻域内,根据权值提升度对对应的个体进行排序,得到相应的排序结果。

在本发明实施例中,按照计算得到的每一个个体对应的权值提升度的大小,在与个体相关联的邻域内将与权值提升度对应的个体进行由高到低或者由低到高的排序,得到排序结果。

在步骤s203中,根据预设的概率选择公式计算每个个体的克隆概率。

在本发明实施例中,根据预设的概率选择公式计算每个个体的克隆概率,以通过每个个体对应的克隆概率来确定该个体是否被选择进行克隆操作,其中,pi为第i个个体的克隆概率,pmin为预设的收敛阈值,并将pmin设置为0.1,exp(.)为期望函数,ri为第i个个体根据权值提升度在邻域内的排名,t为邻域中个体的总数量。

在步骤s204中,结合排序结果和克隆概率,从初始种群中选择待克隆的个体。

在本发明实施例中,个体在这一代被选择进行克隆操作的可能性大小可以通过排序结果和克隆概率这两方面来体现,在排序结果中权值提升度高的个体被选择的可能性更大,克隆概率高的个体被选择的可能性同样也很大,而权值提升度高的个体对应的克隆概率不一定高,基于此,将排序结果和个体的克隆概率进行综合考虑,从初始种群中选择性能相对较好的待克隆的个体,以对该个体进行克隆操作,从而使得性能表现好的个体能够被更多的克隆,实现对资源更合理的分配,并提高了种群的收敛速度。

在步骤s205中,根据预设的克隆个体数目公式和选出的待克隆的个体对应的权值提升度,计算待克隆的个体对应的克隆子代个数。

在本发明实施例中,根据预设的克隆个体数目公式和选出的待克隆的个体对应的权值提升度,计算待克隆的个体对应的克隆子代个数,其中,ni为第i个待克隆个体对应的克隆子代个数,n为种群规模,j为初始种群中的第j个个体。

在步骤s206中,根据克隆子代个数对对应的待克隆的个体进行相应的克隆操作。

在本发明实施例中,根据克隆子代个数对对应的待克隆的个体进行相应的克隆操作,产生新的个体,由这些新的个体组成克隆种群。

在本发明实施例中,根据个体的权值提升度,将个体在邻域内进行排名,并综合个体的克隆概率,从初始种群中选择待克隆的个体,根据克隆个体数目公式计算得到的待克隆个体对应的克隆子代个数,对该个体进行克隆操作,从而使得性能表现好的个体能够被更多的克隆,实现对资源更合理的分配,并提高了种群的收敛速度。

实施例三:

图3示出了本发明实施例三提供的多目标的云资源调度装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:

资源节点分配单元31,用于根据预先构建的云资源调度模型,为接收到的服务请求序列中的每个服务请求分配一个云资源节点;

算法初始化单元32,用于根据预先确定的调度优化目标函数和由云资源节点构成的初始云资源调度方案,对预设的免疫算法进行初始化,其中,初始化包括对初始种群的初始化,该免疫算法为基于分解克隆选择策略的多目标免疫算法;

个体克隆单元33,用于根据免疫算法中采用的基于权值提升度的克隆选择策略对初始种群中的个体进行克隆选择操作,得到相应的克隆种群;

个体进化单元34,用于采用差分进化算法分别对克隆种群中的每个克隆个体进行进化操作,得到对应的进化个体;

克隆种群更新单元35,用于根据进化个体,对克隆种群进行更新;以及

迭代代数判断单元36,用于判断当前种群迭代代数是否达到了预设迭代代数阈值,是则,将由更新后的克隆种群中的克隆个体构成的最优云资源调度方案进行输出,否则,更新当前种群迭代代数,且将该克隆种群设置为初始种群,并触发个体克隆单元33执行根据免疫算法中采用的基于权值提升度的克隆选择策略对初始种群中的个体进行克隆选择操作。

如图4所示,优选地,算法初始化单元32包括:

理想点初始化单元321,用于通过调度优化目标函数初始化免疫算法的理想点,并通过切比雪夫算法将调度优化目标函数分解为若干个子优化目标函数。

个体克隆单元33包括:

提升度计算单元331,用于通过预设的权值提升度公式计算初始种群中每个个体对应的权值提升度;

个体排序单元332,用于在预先获取的邻域内,根据权值提升度对对应的个体进行排序,得到相应的排序结果;

克隆概率计算单元333,用于根据预设的概率选择公式计算每个个体的克隆概率;

克隆个体选择单元334,用于结合排序结果和克隆概率,从初始种群中选择待克隆的个体;

克隆数量计算单元335,用于根据预设的克隆个体数目公式和选出的待克隆的个体对应的权值提升度,计算待克隆的个体对应的克隆子代个数;以及

个体克隆子单元336,用于根据克隆子代个数对对应的待克隆的个体进行相应的克隆操作。

又一优选地,本发明实施例的多目标的云资源调度装置还包括:

当代权值计算单元,用于根据理想点计算每个子优化目标函数对应个体的当代权值;以及

邻域获取单元,用于根据当代权值对应的权重向量获取相对应的邻域。

在本发明实施例中,多目标的云资源调度装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。具体地,各单元的实施方式可参考前述方法实施例的描述,在此不再赘述。

实施例四:

图5示出了本发明实施例四提供的云数据处理设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。

本发明实施例的云数据处理设备5包括处理器50、存储器51以及存储在存储器51中并可在处理器50上运行的计算机程序52。该处理器50执行计算机程序52时实现上述多目标的云资源调度方法实施例中的步骤,例如图1所示的步骤s101至s108。或者,处理器50执行计算机程序52时实现上述各装置实施例中各单元的功能,例如图3所示单元31至36的功能。

在本发明实施例中,根据云资源调度模型,为接收到的服务请求序列中的每个服务请求分配一个云资源节点,根据由云资源节点构成的初始云资源调度方案对免疫算法进行初始化,根据基于权值提升度的克隆选择策略对初始种群中的个体进行克隆选择操作,得到相应的克隆种群,采用差分进化算法分别对克隆种群中的每个克隆个体进行进化操作,得到对应的进化个体,根据进化个体对克隆种群进行更新,判断当前种群迭代代数是否达到了预设迭代代数阈值,是则,将更新后的克隆种群中的克隆个体作为最优解进行输出,否则,更新当前种群迭代代数,且将克隆种群设置为初始种群,继续对初始种群中的个体进行克隆选择操作,直至达到预设迭代代数阈值,从而提高了最优解求解的收敛速度,并保证了最优解的多样性和连续性,进而提高了云资源分配的合理性。

本发明实施例的云数据处理设备可以为个人计算机、服务器。该云数据处理设备5中处理器50执行计算机程序52时实现多目标的云资源调度方法时实现的步骤可参考前述方法实施例的描述,在此不再赘述。

实施例五:

在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述多目标的云资源调度方法实施例中的步骤,例如,图1所示的步骤s101至s108。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图3所示单元31至36的功能。

在本发明实施例中,根据云资源调度模型,为接收到的服务请求序列中的每个服务请求分配一个云资源节点,根据由云资源节点构成的初始云资源调度方案对免疫算法进行初始化,根据基于权值提升度的克隆选择策略对初始种群中的个体进行克隆选择操作,得到相应的克隆种群,采用差分进化算法分别对克隆种群中的每个克隆个体进行进化操作,得到对应的进化个体,根据进化个体对克隆种群进行更新,判断当前种群迭代代数是否达到了预设迭代代数阈值,是则,将更新后的克隆种群中的克隆个体作为最优解进行输出,否则,更新当前种群迭代代数,且将克隆种群设置为初始种群,继续对初始种群中的个体进行克隆选择操作,直至达到预设迭代代数阈值,从而提高了最优解求解的收敛速度,并保证了最优解的多样性和连续性,进而提高了云资源分配的合理性。

本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,rom/ram、磁盘、光盘、闪存等存储器。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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