1.一种云资源组合优化分配方法,其特征在于,方法包括:S1:根据云环境中的服务特点,对服务划分类型进行分类,并建立云资源组合优化分配模式;
服务划分是将在线应用中的所有服务配置为服务构件,将服务构件部署在虚拟单元上;
服务划分分为三种模式,分别为整体模式、组合模式和混合模式;
整体模式是将在线应用中的所有服务划分为一个服务构件;
组合模式是将在线应用划分为一个复合服务构件和若干个基本服务构件;
基本服务构件封装一个或多个服务,复合服务构件封装服务的执行流程;
混合模式包括整体模式和组合模式;
S2:基于不同类型的服务划分模式,配置服务构件划分策略;
基于组合模式和混合模式对在线应用进行细粒度的划分,划分方式是根据应用领域中业务规则确定服务划分模式,并采用凝聚层次聚类方法来划分服务构件;
基于所述凝聚层次聚类方法将每个服务划分配置为一个服务构件,然后采用自底向上逐步合并的方式以形成粒度更大的服务构件,具体步骤如下:S21:将在线应用中的每个服务划分为一个服务构件,采用基于负载分解的云资源优化分配方法确定每个服务构件的云资源最优供应方案,并计算相应的云资源使用成本;
S22:计算任意两个服务构件之间的距离,选择距离最小并且为负数两个服务构件;
S23:合并两个被选择的服务构件为一个新的服务构件,采用基于负载分解的云资源优化分配方法确定新服务构件的最优云资源供应方案,并计算相应的云资源使用成本;
S24:重复S22至S23,直到不存在距离为负数的两个服务构件为止;
S25:输出服务构件划分;
S3:配置基于负载分解的混合遗传退火算法来确定满足预设条件的云资源供应方案;
将组合模式和混合模式的服务部署均采用整体部署模式的方法,并基于负载分解的混合遗传退火算法进行处理;
负载分解的混合遗传退火算法包括如下步骤:
S31:导入在线应用服务集A,在线应用负载λ,虚拟单元集合V;
初始化混合遗传退火算法各项参数,参数包括遗传操作的种群数量Q、最大优化代数G、交叉概率Pc、变异概率Pv、变异数量k、模拟退火操作的初始温度t0、终止温度te、降温系数a和迭代次数N;
S32:采用二分查找算法对确定每个虚拟单元的最大负载能力;
二分查找算法具体为:
S32.1:导入在线应用负载λ,虚拟单元集合V,服务节点的最大响应时间为rt,服务节点的最大错误率为err;初始化算法参数,负载系数左边界x,负载系数右边界y,阈值δ;
S32.2:判断是否已经遍历完虚拟单元集合,如果是,则跳转至步骤S32.7,否则,取出下一个虚拟单元,转至步骤S32.3;
S32.3:设置负载系数左边界x为0,右边界y为1;
S32.4:计算负载系数为左右边界的平均数;计算负载系数与在线应用负载的乘积,结果向下取整;判断服务节点在当前负载下的响应时间和错误率是否小于最大相应时间rt和错误率err,如果是,左边界设置为负载系数,记录本次得到的负载系数,否则,右边界设置为负载系数;
S32.5:判断左右边界差值是否小于阈值δ,如果是,转至S32.6,否则,跳转至S32.4;
S32.6:保存本次循环中虚拟单元对应的负载,即记录的负载系数与在线应用负载的乘积,跳转至S32.2;
S32.7:输出虚拟单元对应的最大负载;
S33:生成初始种群;采用整数编码表示染色体,染色体长度为虚拟单元数量,每个基因代表一个虚拟单元,基因的取值为相应虚拟单元的数量;
S34:计算满足在线应用负载要求的染色体适应度,即云资源的使用成本,记录适应度最大的染色体;
S35:采用轮盘赌法对种群进行选择操作;
S36:随机生成一个[0,1]的随机数,根据交叉概率进行交叉操作,交叉为双切点操作,操作后进行启发式修复;
交叉操作具体为:
在已选择的两个染色体中,随机选取不重复的两点,交换两点中间的基因片段,以启发式算法进行修复;计算负载单元的最大负载和使用成本的比值,按比值的降序排列负载单元,进行剩余负载的分配;
S37:随机生成一个[0,1]的随机数,根据变异概率进行变异操作,变异为多点组合变异操作,操作后进行启发式修复;
变异操作具体为:
采用多点组合的变异方式,在染色体中随机选取k个位置,将所述k个位置分配的虚拟单元清空,将剩余负载在选取的虚拟单元中按照启发式算法进行重新分配;
S38:对下一代种群进行邻域操作,以Metropolis准则接收变化后的染色体;
S39:判断是否达到迭代次数G,如果达到迭代次数,执行S310,否则,跳转至S34;
S310:输出全局最优云资源分配方案;
S4:根据所述云资源供应方案构建虚拟数据中心。
2.根据权利要求1所述的云资源组合优化分配方法,其特征在于,方法中,对于整体模式下的云资源组合优化分配模式为确定每一类虚拟单元的最大负载和使用数量,并采用如下方式进行处理:设A为在线应用所包含的服务集,λ为在线应用的负载,V={1,2,…,m}为虚拟单元类型的集合,节点的最大响应时间为rt,节点的最大错误率为err;
设 为一个多服务节点, 为服务集合,j∈V为虚拟单元,λij为服务i∈I在虚拟单元j上的负载;
将I中的所有服务作为一类服务,令μIj和cIj分别为虚拟单元j对于I的处理能力和可用容量,并定义为μIj=∑i∈Iγij·μij,cIj=∑i∈Iγij·cij;
其中, 为服务i在虚拟单元j上执行的概率,μij表示单位时间内虚拟单元j能够执行服务i的平均次数,cij表示单位时间内虚拟单元j所能接受服务i的最大并发请求数量;
采用M/M/1/cIj模型来度量多服务节点 的服务质量;
令 为多服务节点 的服务强度,根据Markov稳态分析方法,计算节点 的响应时间rt、错误率err,计算公式为:确定每一个虚拟单元i∈V所能够承受的最大负载λi,并转化为如下优化问题:maxλi
s.t.
0<λi≤λ(3)
其中,约束(1)表示节点 的响应时间小于等于rt,约束(2)表示节点 的错误率小于等于err;
确定部署应用的每一类虚拟单元的使用数量,并设定优化目标为云资源的使用成本低于预设阈值;
设xi表示使用虚拟单元i的使用数量,c=f(x1,x2,…,xm)为云资源的使用成本函数,云资源的使用成本低于预设阈值的数学模型为:min c=f(x1,x2,…,xm)
s.t.λ1x2+λ2x2+…+λmxm≥λ。
3.根据权利要求1所述的云资源组合优化分配方法,其特征在于,方法的组合模式执行方式包括:设P={S0,S1,…,SK}为在线应用的服务划分模式,划分模式P满足条件:A=(S0∪S1∪…∪SK;2)P表示将在线应用划分为一个复合服务构件和K个基本服务构件的架构模式,初始服务S0包含在复合服务构件中,每个服务集映射为一个基本服务构件;
复合服务构件还包含除S0以外的服务,令B表示复合服务构件所包含的服务集;
确定复合服务构件的数量和所部署的虚拟单元,将服务集A替换为服务集B进行求解;
确定每一个复合服务构件所连接的基本服务构件数量以及所部署的虚拟单元;
设L为复合服务构件的数量,bci为一个复合服务构件,i=1,2,…,L,在线应用的负载为λ,分配给复合服务构件bci的负载为λi,则有λ1+λ2+…+λL=λ;
根据服务之间的依赖关系和服务转移概率确定复合服务构件bci中每一个具体服务和代理服务的负载,基于服务负载确定每个基本服务构件ck的负载,k=1,2,…,K,所述负载为其所包含的服务的负载之和;
采用整体部署模式,确定每个基本服务构件ck的数量以及所部署的虚拟单元,将服务集A替换为服务集Sk,将应用负载替换为构件负载进行求解。
4.根据权利要求1所述的云资源组合优化分配方法,其特征在于,方法中,将混合模式分解为具有两类复合服务构件的组合部署模式;
利用整体部署模式中的方法来确定应用实例构件和复合服务构件的数量以及所部署的虚拟单元,设λi表示虚拟单元i∈V部署应用实例构件所能够承担的最大负载,δi表示虚拟单元i部署复合服务构件所能够承担的最大负载;
令xi表示部署应用实例构件所使用的虚拟单元i的数量,yi表示部署复合服务构件所使用的虚拟单元i的数量,zi=xi+yi表示使用虚拟单元i的总数量,设云资源的使用成本函数为c=f(z1,z2,…,zm),则最小化云资源使用成本的数学模型为:min c=f(z1,z2,…,zm)
按照复合部署模式确定每一个复合服务构件所连接的基本服务构件的数量以及所部署的虚拟单元。
5.一种终端机,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述云资源组合优化分配方法的步骤。