一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Qos的微服务组合优化方法与流程

2022-03-05 09:13:09 来源:中国专利 TAG:

一种基于qos的微服务组合优化方法
技术领域
1.本发明属于云计算环境下软件工程领域,涉及一种基于qos(服务质量)的微服务组合优化方法。


背景技术:

2.微服务是近年来极为流行的一种软件架构,在soa架构的基础上实现了去中心化、细粒度划分服务、分布式储存数据的设计,属于云计算环境下软件工程领域的一个新范例。它将传统的单片应用程序分成服务组。这些单独的服务可能相互关联或跨越多云。与单片架构相比,微服务通过利用现代容器或其他轻量级虚拟化技术组合成一个完整的系统,可以更好实现敏捷开发,且更易于部署和维护。
3.近年来微服务已经成为优步、netflix、spotify以及amazon等众多重量级厂商的优先选择。毫无疑问这套架构方案在软件开发生命周期内具备着巨大吸引力,但其带来的诸多优势亦往往会在质量层面引发一系列挑战,比如微服务组合的优化问题。由于微服务的划分和组合是基于业务功能层面,那么为了满足最终用户和偏好的要求,搭建一个基于此架构的系统前,必须先从大范围功能相似的候选微服务中选择适当的子服务,然后通过服务代理、服务聚合、服务分支、服务链条等模式进行微服务的组合成复杂的工作流,最终形成一套功能完备的系统。根据目前常用的微服务组合模式来看,无论抽象的微服务之间是多层依赖关系还是简单的聚合,在实际搭建过程中的每一个具体的微服务都要经过严格筛查和挑选,每一个抽象微服务都有众多候选的可以互相替代的具体服务。如何做出选择以确定哪些微服务将参与组成所需的复合服务,使最终组合出的系统在全局非功能属性上达到最优,即使得微服务架构下系统的qos属性得到最好优化,这是一个目前很少被研究的问题。
4.而现有的服务组合问题研究技术中,多数研究从服务描述语言出发,将微服务看作无状态的动作,只给出了描述逻辑理论;存在研究虽然考虑了将服务描述与自动机转换,但没有研究微服务行为匹配和组合问题;现有的基于状态演算的微服务组合模型没有考虑微服务架构的特殊性,没有考虑运行时状态或工作流引擎将带来单故障点;而微服务性能方面的研究大多是针对微服务组合平台的分析,针对微服务的组合调度策略优化研究不多,而借鉴web服务进行组合调度策略优化的研究中,启发式算法性能也有待继续提高,这些算法存在着需要的控制参数较多,容易陷入局部收敛或在解决高维复杂问题时的实现过程十分复杂等问题。
5.差分进化算法(differential evolution,de)模拟了自然界生物的进化机制,使用当前种群的距离和方向信息来指导搜索过程,对个体进行方向扰动,以达到优化个体的适应度函数的目的。de有着极高的适用性,因为它不使用函数的梯度信息,不要求函数的可导性和连续性。de能够处理不可微、非线性和多峰目标函数,易于使用,能够在连续的独立试验中收敛于全局最优值,在处理多目标优化问题和约束函数优化问题中表现出了巨大的潜力,目前已应用于神经网络、图像处理、化工生产、数据挖掘、工程设计等领域。de虽然可
以解决基于qos的服务组合优化问题,但它存在局部搜索能力不强,易陷入局部最优等缺陷。
6.合作型协同进化算法(cooperative co-evolutionary genetic algorithm,ccga)模拟了协同进化中的共生机制,能够有效处理大规模复杂问题。核心思想是把高维复杂优化问题划分为若干个低维的子目标问题,并将各个子组件问题分配给子种群,各个子种群独立进化,通过种群间交流协作再从整体上调整求得最终解。现有方法提出了在ga的基础上应用合作型协同进化,分割问题的决策变量,分割后把每一个少变量的子问题分配到一个子种群中,所有的子种群共同进行独立进化。个体适应度评价时,需要组合目标个体与代表个体获得一个完备解。协同进化算法简单高效、收敛速度快,作为一种新型进化算法受到了广泛的关注。


技术实现要素:

7.有鉴于此,本发明提出了一种基于qos(服务质量)的微服务组合优化方法,能够更高效精确地解决基于qos的微服务组合全局优化选择问题。
8.为实现上述目的,本发明的技术方案如下:
9.一种基于qos的微服务组合优化方法,包括:将微服务节点进行s等份分割,即将解向量的元素划分成对等的s个部分,作为优化算法的s个子种群;随机初始化所述子种群,然后计算各子种群的个体适应值;根据所述适应值对所述子种群进行合作协同进化。
10.本发明有益效果:
11.本发明将协同进化框架应用到改进的离散差分进化算法中,改善了基本差分进化算法的不足,并详细说明了该算法在服务组合优化求解时的具体实现步骤,能够对常见微服务组合模式进行qos优化方案自动生成,有效解决微服务组合质量管理方案缺失、人工筛选组合低效问题。
附图说明
12.图1是本发明基于qos的微服务组合优化方法流程图;
13.图2是本发明具体实施方式中交叉操作示意图。
具体实施方式
14.下面结合附图并举实施例,对本发明进行详细描述。
15.如图1所示,本具体实施的基于qos的微服务组合优化方法,具体包括:
16.步骤一、将微服务节点进行s等份分割,即将解向量的元素划分成对等的s个部分,作为优化算法的s个子种群p1(g),p2(g),

ps(g);
17.步骤二、随机初始化所述子种群pi(g),i∈{1,2,

,s},种群个体的编码方式采用离散编码的方式,然后计算各子种群个体适应值f(x
ij
)。
18.本实施例中,所述离散编码采用以下方式:针对m个根据业务功能划分出的抽象微服务as
1-asm组成的服务组合,根据分组情况,使用长度为m/p的整数序列对子种群个体进行编码,其中个体向量元素的位置代表组合流程中的每个服务节点子任务位置,个体长度(向量维度)对应分组中抽象微服务节点总数,个体向量元素的值为候选集合中原子服务cs编
号。
19.本实施例中,适应度值采用以下方式计算:将qos目标函数转化为适应度函数,通过计算个体的适应度值来判断个体所代表的微服务组合方案的质量优劣,即适应度函数为qos(x)=w1p

w2t

w3r

w4a

,x表示种群个体,即解向量表示的服务组合方案,p

,t

,r

,a

分别表示该解方案对应的组合服务的执行价格、响应时间、可靠性和可用性。
20.步骤三、对所述子种群进行合作协同进化。
21.本实施例中,所述合作协同进化具体采用以下方式:将当前种群的进化代数用g表示,设定初始进化代数为0,最大迭代次数为g
max
,每一轮开始前在各个子种群中选取适应值最高的代表个体ri(g)合作协作合成一个完整协同目标个体解向量rg(g),计算其适应值f(x
ij
),再判断当前进化代数是否达到阈值g
max
,若是则中止算法,输出本次算法的协同目标个体解向量rg(g)及其适应值f(x
ij
),若不是则继续迭代;
22.本实施例中,每一轮所述迭代过程,各个子种群内部进行de算法的多策略变异、交叉和选择操作,以此生成下一代子种群,选择操作结束,一轮进化完成。
23.所述变异操作在具体实施时是为了平衡算法的全局搜索能力和收敛速度,具体采用下述公式的de/rand/1和de/best/1两种变异策略,在每一次迭代执行变异操作时,随机选择一种变异策略生成变异向量;
[0024][0025][0026]
其中,r1≠r2≠r3≠i,且r1,r2,r3∈{1,2,

,n},缩放因子f∈[0,2],本实施例中取f=0.5。
[0027]
由于种群中的个体采用离散编码,因此本实施例执行变异操作时,进一步对差分向量的元素值进行检查,如果变量超出了取值范围,则进行越界修正,确保变量取值都有意义。例如,基向量为另外两个个体向量分别为和缩放因子f=0.5,执行变异策略de/rand/1,得到变异向量对元素值进行取整修正,得到最后的变异向量为
[0028]
所述交叉操作在具体实施时是为了提高种群的多样性,在目标向量和变异向量之间执行交叉操作,得到试验向量其中交叉概率cr用于控制由中的元素组成的概率,cr∈[0,1],本实施例中取cr=0.8。具体采用二项交叉(binomial crossover,bin)方式进行交叉:
[0029][0030]
其中,j
rand
是[1,d]内的随机整数,j=j
rand
这一约束条件能够保证试验向量中至少有一个元素来自于以防算法出现搜索停滞的问题,例如如图2所示。
[0031]
所述选择操作是为了确定参与新一代种群进化的个体向量,采用一对一的“贪婪”选择策略留存当前进化种群中优秀的父代个体和适应度优异的新的试验个体向量到下一代。本实施例具体为:利用从各子种群中选择出的代表个体,计算新生成的试验向量的适应度值,比较和适应度值的高低,选出适应度值高的个体,若适应度优于则替代进入下一代,否则,保留至下一代,如下述公式所示:
[0032][0033]
其中,为下一代个体,为试验向量个体,为父代目标个体向量。
[0034]
自此,就完成/实现了一种基于qos的微服务组合智能优化方法。
[0035]
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献