[发明专利]一种基于混合云的可靠应用分配分布式遗传方法有效
申请号: | 201710207785.3 | 申请日: | 2017-03-31 |
公开(公告)号: | CN107103360B | 公开(公告)日: | 2020-08-18 |
发明(设计)人: | 涂成栋;梁亚玲;杜明辉 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06N3/12 | 分类号: | G06N3/12;H04L29/08 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 罗观祥 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 混合 可靠 应用 分配 分布式 遗传 方法 | ||
1.一种基于混合云的可靠应用分配分布式遗传方法,其特征在于,所述方法包括:
S1、构建优化模型,该模型包括云环境模块和应用程序几何模块,过程如下:
S1-1、用一个实体设备集PMs和一个实体链路集PLs来构建云环境;
S1-2、将应用程序集合分配到云环境中,每个应用包括一个服务集和一个虚拟链路集VLs;
S2、根据混合云环境的特点及应用分配所涉及内容定义约束条件,过程如下:
S2-1、准入控制:每个应用程序分配的副本数最多不超过δ:
|D|=δ,
其中,δ为某个应用程序的副本数量,D为某个应用程序所有副本组成的集合;
至少有一个对应的副本被分配时,一个应用程序才能被认为成功分配:
其中,a表示某个应用程序;d表示应用程序a的副本d;A为所有应用程序组成的集合,Oa是一个变量,其定义为:如果应用程序a被成功分配则值为1,反之为0;Gd,a是一个变量,其定义为:如果应用程序a的副本d被分配则值为1,反之为0;
S2-2、节点嵌入:只在副本被认为已成功放置时才为其分配节点资源:
其中,s表示某个服务,n表示某个实体设备PM,S为所有的服务组成的集合,N为所有的实体设备PM组成的集合,是一个变量,其定义为:如果节点是应用程序a的副本d对应的服务s所占用的宿主则值为1,反之为0;Ia,s是一个变量,其定义为:如果应用程序a对应的服务s被实例化则值为1,反之为0;
如果一个副本没有成功放置则不会有实例化的服务:
如果一个服务寄宿在一个节点上,那么CPU资源必须预先分配给该服务:
其中,是一个变量,其定义为:如果实体设备PM运行应用程序a对应的服务s则值为1,反之为0;
对每个服务而言,其最多寄宿在一个节点上:
CPU和内存资源的保护约束:
其中,ωs为服务s要求的CPU资源,Ωn为实体设备PM的CPU容量,且
其中,Us,n是一个变量,其定义为:如果服务s寄宿在实体设备PM上则值为1,反之为0,γs为服务s的存储容量要求,Γn为实体设备PM的存储容量;
一旦一个服务被某个副本使用,此服务必须寄宿在某个节点上:
S2-3、链路嵌入:在每个节点上的多网络流约束可表示为:
其中,是一个变量,其定义为:如果服务s1与服务s2之间的虚拟链路部署在应用程序a的副本d对应的节点n1和n2之间的实体链路上则值为1,反之为0,e表示某个实体链路PL,E表示所有实体链路PL组成的集合;其中,
其中,是一个变量,其定义为:如果服务s1与服务s2之间的虚拟链路部署在应用程序a的副本d对应的实体链路PL上则值为1,反之为0,是一个变量,其定义为:如果至少有一个应用程序a的副本通过部署在其上的服务s1与服务s2之间的虚拟链路使用实体链路PL则值为1,反之为0;
每个链路使用的总带宽不能超过总连接能力:
其中,表示应用程序a所对应的两个服务s1,s2之间的带宽要求,Be是实体链路PL的带宽限制;
S2-4、可靠性感知约束:对于一个可用副本,它所使用的每一个单独组件必须是可用的,当一个组件被任意一个副本的服务或虚拟链路使用时即认为这个组件被此副本所使用:
其中,c表示某个实体组件,包括实体设备PM和实体链路PL,C为实体组件的集合,即C=N∪E,是一个变量,其定义为:实体组件c被应用程序a的副本d所使用则值为1,反之为0;
单个组件的状态描述为:
其中,χc表示实体组件c的状态;
一个组件的失败概率:
基层网络状态描述为:
X=(χ1,χ2,...,χ|C|);
S3、定义目标函数,将方法所要解决的问题转换为最大化分配的应用数量:
实体设备PM所使用的
γs为服务s的存储容量要求,
S4、定义染色体Ω,具体如下:
其中,A1,A2,...,AU描述应用分配的顺序,其中AU表示应用程序集合A中的第U个应用程序;
描述如何给每个应用和每个副本分配服务的顺序,其中表示服务集合S中第U个应用程序的副本δU所对应的第|SU|个服务;
被用于选择一个实体设备PM来运行一个给定应用的给定副本所对应的服务,其中表示实体设备PM集合N中运行第U个应用程序的副本δU所对应的第|SU|个服务的实体设备PM;
S5、构建一个分布式池模型,一个集中池包含所有的遗传方法中的个体,任务将分布式地选择一个随机的个体集来进化成新的一代,在每一代中所有的个体都被存储在分布池中,每个任务可以检查结束条件,如有必要,任务可以计算下一代;
S6、译码,用一个译码方法将染色体转换成一个解空间的解,过程如下:
S6-1、将应用程序根据染色体的第一部分的值A1,A2,...,AU进行排序,如果要分配一个应用,从第一个副本开始分配,如果这个副本已被分配,检查其可用性;
S6-2、按照染色体第二部分的值来确定一个给定的应用程序a的给定副本δ所对应的服务的排序;
S7、判断应用程序放置的数量或迭代次数是否达到规定值,过程如下:
S7-1、若已达到规定值,则跳到S13,方法结束得出对应解集合;
S7-2、若未达到规定值,则执行S8;
S8、计算个体的适应度;
S9、复制,复制过程采用精英策略,即根据约束条件和计算的适应度并按照一定比例选择一部分优秀个体复制形成下一代的子个体;
S10、选择交叉,交叉的两个个体,一个来自精英群体,另一个以随机方式从全部个体中产生;
S11、变异,变异操作在下一代种群中增加更多的新个体,即按照初始解空间生成相同的分布,以随机方式来选择一些个体加入新一代的解空间;
S12、返回步骤S7;
S13、结束,输出最优解。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710207785.3/1.html,转载请声明来源钻瓜专利网。