一种基于改进多目标粒子群优化算法的待增组件选择方法

文档序号:9217039阅读:571来源:国知局
一种基于改进多目标粒子群优化算法的待增组件选择方法
【技术领域】
[0001] 本发明属于云服务优化技术领域,具体涉及一种基于改进多目标粒子群优化算法 的待增组件选择方法。
【背景技术】
[0002] 随着云服务系统的复杂化,运行环境的开放化、动态化和难控化,服务系统自优化 和自适应能力的重要性日益凸显;云服务系统是由多个组件协同工作来实现的,以组件服 务为基本单元部署在云虚拟资源池中,云服务性能自适应优化方法很好地满足了云计算效 用计算和按需付费的特征,使云服务系统不仅能够实现保持资源代价最小的情况下满足应 用所需的动态资源配置,还能够在其偏离预期行为时进行自适应的动态资源调整,从而持 续提供符合用户预期的服务;云服务系统中,多个组件间相互调用、协同工作,各组件的服 务性能决定了云服务系统的工作性能;当云服务系统所承担的并发量增大时,会导致服务 系统性能降低,违背用户SLA约束,需要采取服务性能优化方法保证云服务性能持续满足 SLA约束;目前主要利用组件迀移、组件休眠、资源调整和组件副本调整等方法云优化服务 性能。
[0003] 其中,组件副本调整方法通过增加组件副本分担负载过重组件的工作,提高组件 工作性能,保证整体服务正常工作,即使组件发生故障或所承受的负载过高时,服务系统仍 能保证持续、高效、稳定地执行用户请求;当云服务系统的并发量急速增加、服务性能降低 且预留资源被完全占用时,副本技术提升了服务系统承担负载的能力,可以有效地优化云 服务系统的工作性能;而利用调整组件副本方法来优化服务性能的方法中,选择待增组件 是其关键步骤之一;同时,为了能够更有效的对云服务性能进行优化,可以对应用用户并发 量进行预测,根据预测结果提前选择需要增加副本的组件,减少SLA的违约。
[0004] 但现有的选择待增组件的方法存在以下问题:
[0005] (1)在利用时间序列算法预测用户并发量方面,一般默认应用用户并发量数据属 于平稳型,利用单指数平滑法预测未来一段时间内应用用户并发量的趋势,而实际云服务 系统中,不同的时间段,应用用户并发量可能属于不同数据特征,仅用单一模型预测准确度 较低;
[0006] (2)在选择组件方面,目前方法只是根据组件的单一性能,如组件调用频率、响应 时间、内聚和耦合关系选择待增组件,而影响组件工作的因素是多种因素综合的结果,仅仅 一种因素无法准确的选择待增组件;
[0007] (3)在求解待增组件选择结果方面,传统粒子群优化算法在处理约束条件时,主要 利用惩罚函数法处理约束条件,该方法一般需要预设很多惩罚系数,而实际应用中,需要分 析大量的基础实验数据才可以计算出这些惩罚系数,存在约束条件精度低问题。

【发明内容】

[0008] 针对现有技术的不足,本发明提出一种基于改进多目标粒子群优化算法的待增组 件选择方法,以达到提高待增组件选择准确度的目的。
[0009] 一种基于改进多目标粒子群优化算法的待增组件选择方法,包括以下步骤:
[0010] 步骤1、采集目标云服务平台中所有组件的历史数据,包括:组件调用关系、组件 调用频率和采样时间段的用户并发量;
[0011] 步骤2、根据所采集的组件调用关系和组件调用频率,获得每个组件相对于其它组 件的权值,进而获得组件关系;
[0012] 所述的组件关系为组件调用关系矩阵,矩阵的行数和列数为组件的个数,矩阵中 的元素为组件两两之间的调用权重;
[0013] 步骤3、根据采集的采样时间段的用户并发量,获得不同采样时间段用户并发量的 自相关系数;
[0014] 步骤4、根据所获的自相关系数,判断用户并发量所属类型,即判断自相关系数是 否接近于〇,若是,则用户并发量属于平稳型,并执行步骤6 ;否则,执行步骤5 ;
[0015] 步骤5、判断所获自相关系数是否以固定频率出现高峰,若是,则用户并发量属于 季节型,并执行步骤8 ;否则,用户并发量属于非平稳型,并执行步骤7 ;
[0016] 步骤6、采用TopK算法将平稳型用户并发量中幅度大的数据去除;
[0017] 步骤7、采用差分方法将非平稳型用户并发量转换为平稳型用户并发量,再采用 TopK算法将用户并发量中幅度大的数据去除;
[0018] 步骤8、将季节型用户并发量转换为非平稳型用户并发量,再采用差分方法将非平 稳型用户并发量转换为平稳型用户并发量,采用TopK算法将用户并发量中幅度大的数据 去除;
[0019] 步骤9、采用时间序列预测算法分别对季节型用户并发量进行预测、对非平稳型用 户并发量进行预测和对平稳型用户并发量进行预测;
[0020] 步骤10、根据组件调用关系和每个组件相对于其它组件的权值构建组件的A0E 网,利用所述A0E网对预测的用户并发量进行分解;
[0021] 步骤11、采用改进的粒子群算法在所有组件中选择待增组件,具体如下:
[0022] 步骤11-1、初始化粒子群,粒子群的种群大小为组件的个数,每个粒子为一个二维 矢量,矢量的每一维分别是组件的响应时间和并发量;
[0023] 步骤11-2、设定粒子群的约束条件,包括:粒子群可行域、粒子群半可行域、目标 函数、粒子群体中有利个体比例阈值和粒子群体中有利个体的最大比例值,具体如下:
[0024] 粒子群可行域:根据目标云服务平台所能承受的最大并发量和相应的响应时间设 定粒子群可行域的最大边界值,并根据目标云服务平台承受的平均并发量和相应的响应时 间设定粒子群可行域的最小边界值,进而获得粒子群可行域;
[0025] 粒子群半可行域:设定一个调节参数,将粒子群可行域的最大边界值与上述调节 参数相加,获得粒子群半可行域的最大边界值,将粒子群可行域的最小边界值与上述参数 相减,获得粒子群半可行域的最小边界值,进而获得粒子群半可行域;
[0026] 目标函数:响应时间与并发量之和最大的粒子集合;
[0027] 粒子群体中有利个体比例阈值:根据实际所需解的数目进行设定;
[0028] 粒子群体中有利个体的最大比例值:根据实际所需解的数目进行设定;
[0029] 步骤11-3、根据每个组件实际的响应时间和用户并发量,获得粒子群体有利个体 的个数,根据实际有利个体比例与粒子群体中有利个体比例阈值和粒子群体中有利个体的 最大比例值的关系,调节粒子群半可行域的范围,获得搜索区域;
[0030] 步骤11-4、在搜索区域内,对基于组件响应时间和用户并发量构成的粒子群中每 个组件粒子,更新粒子速度和粒子位置;
[0031] 步骤11-5、计算每个组件粒子的适应度函数值,即获得每个组件粒子与搜索区域 内目标点之间的距离,将每个组件粒子与搜索区域内目标点之间的距离向上取整数,确定 上述整数中最小值所对应的粒子;
[0032] 所述的目标点为在搜索区域内目标函数值最大所对应的点;
[0033] 步骤11-6、将上述整数中最小值所对应的粒子加入非支配解集;
[0034] 步骤11-7、获得粒子的个体极值和全局极值;
[0035] 步骤11-8、更新个体极值和更新全局极值,返回执行步骤11-3,直至到设定的终 止条件,将最后一次迭代获得的非支配解集中的组件粒子作为待增组件;
[0036] 步骤12、对待增组件进行增加其副本。
[0037] 步骤11-3所述的根据实际有利个体比例与粒子群体中有利个体比例阈值和粒子 群体中有利个体的最大比例值的关系,调节粒子群半可行域的范围,获得搜索区域,具体步 骤如下:
[0038] 步骤11-3-1、初始化粒子群半可行域宽度为0,并根据实际需求设定粒子群半可 行域宽度调节参数取值;
[0039]步骤11-3-2、判断实际有利个体比例与粒子群体中有利个体比例阈值和粒子群体 中有利个体的最大比例值的关系,具体如下:
[0040] 若实际有利个体比例小于粒子群体中有利个体比例阈值,则执行步骤11-3-3 ;
[0041] 若实际有利个体比例大于粒子群体中有利个体比例阈值并小于粒子群体中有利 个体的最大比例值,则执行步骤11-3-3 ;
[0042] 若实际有利个体比例大于等于粒子群体中有利个体的最大比例值,则执行步骤 11-3-4 ;
[0043] 若实际有利个体比例大于等于粒子群体中有利个体的最大比例值,且粒子群半可 行域的宽度大于〇,则执行步骤11-3-5 ;
[0044] 步骤11-3-3、将粒子群半可行域的宽度加上调节参数,即扩大粒子群半可行域,并 获得在上述粒子群半可行域内的实际有利个体比例,并返回执行步骤11-3-2 ;
[0045] 步骤11-3-4、将粒子群半可行域的宽度减去调节参数,即缩小粒子群半可行域,并 获得在上述粒子群半可行域内的实际有利个体比例,并返回执行步骤11-3-2 ;
[0046] 步骤11-3-5、将粒子群半可行域的宽度减去调节参数,即缩小粒子群半可行域,获 得搜索区域。
[0047] 步骤11-8所述的更新个体极值,具体如下:
[0048] 对每个组件粒子,若组件粒子的当前位置支配其个体极值位置,即当前位置与目 标点的距离小于其个体极值位置与目标点的距离,则更新其个体极值;
[0049] 对每个组件粒子,若组件粒子的当前位置与其个体极值位置为非支配关系,即当 前位置与目标点的距离等于其个体极值位置与目标点的距离,且两者均在可行域或半可行 域时,则随机选取组件个体极值,若一个在可行域另一个在半可行域,或一个在半可行域另 一个在非可行域时,则选取前者所在位置为个体极值;
[0050] 所述的非可行域,为可行域和半可行域以外的区域。
[0051] 本发明优点:
[0052] (1)本发明提出了面向不同并发特
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1