首页 / 一种云虚拟化资源动态优化调整方法

一种云虚拟化资源动态优化调整方法有效专利 发明

技术领域

[0001] 本发明涉及云资源优化的技术领域,尤其涉及一种云虚拟化资源动态优化调整方法。

相关背景技术

[0002] 随着云计算技术的不断推广,大量用户需要将自己的任务提交到云平台进行处理,云服务提供商就需要将用户提交的不同优先级的任务分配到不同的服务器进行处理。由于不同用户提交的任务对CPU、内存以及磁盘等资源的消耗不同,云平台在进行资源分配时不仅要考虑任务优先级,同时还要考虑不同任务的资源消耗情况,如何实现最优资源分配成为云平台提供商需要解决的重要问题。
[0003] 该问题体现在三个方面:一是用户提交自己的需求,涉及到到达时间、执行时间、截止时间等多种资源需求和时间约束。二是用户提交的任务对资源的需要往往是动态变化的,即不同时刻对不同资源需求会发生变化。三是任务具有不同的优先级。
[0004] 鉴于此,如何设计合理的资源分配算法,从而根据用户提交的测试任务进行动态资源分配,成为本领域技术人员亟待解决的问题。

具体实施方式

[0015] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0016] 用户提交任务需求矩阵并设定任务优先级,云平台根据用户提交的任务确定资源优化目标函数,云平台利用鲸鱼优化算法对目标函数进行优化,得到任务的资源分配方案,云平台根据资源分配方案对用户提交的任务进行资源分配处理。参照图1所示,为本发明一实施例提供的云虚拟化资源动态优化调整方法示意图。
[0017] 在本实施例中,云虚拟化资源动态优化调整方法包括:S1、用户向云计算平台提交任务需求矩阵并设定任务优先级。
[0018] 首先,云计算平台提供m种任务资源 ,所述资源包括CPU内核、内存以及磁盘容量,资源的总量为向量 ,其中 表示云计算平台中任务资源i的资源总量;同时云计算平台设定云计算平台的运行时间范围为 ;将云计算平台中的用户集合表示为 ,在本发明一个具体实施例中,用户向云计算平台申请注册用户并提交用户个人资料,云计算平台管理人员对用户提交的个人资料进行验证,对验证通过的用户分配用户账号和密码,并将用户信息储存在用户集合中;
每个用户 提交任务需求 ,其中 表示任务开始执行
的期望最早时刻, , 表示任务执行的最后期限, 且 , 表
示任务执行时间, 表示任务开始执行的时间范围, 表示任务的优先级,表示任务资源需求矩阵:
其中:
矩阵 中的每一行 表示随时间变化 ,对资源m的需求,其中
表示任务起始时刻, 表示任务终止时刻, 表示任务执行时间;
矩阵 中的每一列表示任务在当前时刻对不同种任务资源的需求。
[0019] 在本发明一个具体实施例中,任务的优先级越高,用户任务在云计算平台任务序列中的优先级就越高。
[0020] S2、云计算平台根据用户提交的任务确定资源优化目标函数。
[0021] 进一步地,云计算平台根据用户提交的用户需求,确定如下云计算平台资源优化目标函数:其中:
表示用户i的任务需求是否分配在时刻t, ,当 表示用户i
的任务需求没有分配在时刻t,当 表示用户i的任务需求分配在时刻t, ;
表示云计算平台中任务资源j的资源总量, ;
表示用户i任务的优先级;
表示在 时刻,用户i的任务对任务资源j的需求量;
表示用户i的任务在时间范围 内最多分配一次
资源;
表示t时刻的资源分配不能超过任意类型资源
的总量。
[0022] S3、利用鲸鱼优化算法对目标函数进行优化,得到任务的资源分配方案。
[0023] 进一步地,云计算平台利用鲸鱼优化算法对资源优化目标函数进行优化计算,所述鲸鱼优化算法流程为:1)初始化鲸鱼种群规模N,问题维数m,算法的最大迭代次数 ,螺线形状参数b;
2)随机生成初始鲸鱼种群G(0),其中鲸鱼种群中的每只鲸鱼的位置 表示第i种云计算平台资源分配方案, , 表示第i种云计算平台资源
分配方案中分配资源j的数量,同时在时刻 内,每一个 均有一个对应的时间变量表示时间变量, ,当 示在t时刻不能分配资
源 ,当 表示在t时刻可以分配资源 , ;
3)当算法的当前迭代次数 ,计算鲸鱼位置的更新参数L:
其中:
表示 区间内服从均匀分布的随机数;
若 且 ,则第i只鲸鱼的位置中 的更新公式为:
其中:
表示当前种群中的最优鲸鱼位置,所述最优鲸鱼位置即表示 最
大的鲸鱼位置 ,其中 表示目标函数,即表示云计算平台分配资源后云计算平台优先级总数最小的资源分配方案;
若 且 ,则计算第i只鲸鱼的位置 与种群中其他个体 的
距离:
并计算第i只鲸鱼的搜索半径为:
则第i只鲸鱼的邻域为:
在鲸鱼的邻域内查找最优个体 ,所述最优鲸鱼位置即表示 最
大的鲸鱼位置 ,其中 表示目标函数,即表示云计算平台分配资源后云计算平台优先级总数最小的资源分配方案;则第i只鲸鱼的位置 的更新公式为:
若 ,则第i只鲸鱼的位置 的更新公式为:
其中:
b为初始化的螺线形状参数,其值为2;
4)重复上述步骤,直到算法的当前迭代次数达到最大迭代次数 ;计算鲸鱼个体的适应度函数值 ,选取适应度函数值最小的鲸鱼个体所对应的云计算平台资源分配方案作为所选定的云计算平台资源分配方案。
[0024] S4、云计算平台根据资源分配方案对用户提交的任务进行资源分配处理。
[0025] 进一步地,云计算平台根据资源分配方案 以及资源分配方案对应的时间变量 ,在本发明一个具体实施例中,每一
个 均有一个对应的时间变量 , ,当 示在t时刻不能分配资源 ,
当 表示在t时刻可以分配资源 ,对用户提交的任务分配进行资源分配处理,其中表示云计算平台向用户提交的任务分配资源j的资源数量。
[0026] 下面通过一个算法实验来说明本发明的具体实施方式,并对发明的处理方法进行测试。本发明算法的硬件测试环境为:Inter(R) Core(TM) i7‑6700K  CPU,软件为Matlab2018b;对比方法为基于蚁群优化算法的云虚拟化资源动态优化调整方法以及基于遗传算法的云虚拟化资源动态优化调整方法。
[0027] 在本发明所述算法实验中,数据集为10000条云计算平台用户任务。本实验通过将用户任务指令输入到算法模型中,将云计算任务执行的有效性作为算法可行性的评价指标,其中云计算任务执行的有效性越高,则说明算法的有效性、可行性越高。
[0028] 根据实验结果,基于蚁群优化算法的云虚拟化资源动态优化调整方法的任务执行有效性为82.11,基于遗传算法的云虚拟化资源动态优化调整方法的任务执行有效性为86.32,本发明所述方法的任务执行有效性为90.99,相较于对比算法,本发明所提出的云虚拟化资源动态优化调整方法能够实现更有效的云计算平台任务执行策略。
[0029] 需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0030] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0031] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页 第1页 第2页 第3页
相关技术
优化调整相关技术
动态优化相关技术
徐富山发明人的其他相关专利技术