一种粒子群服务选择方法和系统与流程

文档序号:11949795阅读:152来源:国知局
一种粒子群服务选择方法和系统与流程

本发明涉及计算机资源服务领域,尤其涉及一种粒子群服务选择方法和系统。



背景技术:

云计算将虚拟化后的计算机资源以服务的形式通过互联网提供给用户,是一种新型的、快速兴起的商业化计算模式。云计算系统中的资源是由数量庞大的计算机群经过虚拟化技术的处理以资源池的形式构成的,这些资源包括计算资源、存储资源、网络资源以及软件服务等。用户根据自己的需求使用这些资源,可以大量节约用户成本,并且获得具有较高性价比的服务。

当云计算用户需要一个具有较复杂的业务流程的服务时,传统的方法是基于云计算平台提供的基础架构构建一个新服务来满足用户需求,但服务组合是一个更快速、高效地实现该服务的方法。服务组合就是将现有的服务按照一定的顺序执行,来完成一个较复杂的商业流程的过程。服务组合使用小粒度的服务相互通信和交互来实现大粒度的服务,可以减少新应用的开发时间和费用,而其最终目的是实现服务的重用性。通过组合各种粒度、各种功能的服务,应用开发者可以实现极其复杂的商业流程,达到服务增值的目标。

对于用户来说,希望获得功能符合要求同时服务质量(QoS)在各方面都比较优良的服务。因此在服务组合的过程中,如何从众多的服务中选择出满足用户QoS要求的优化服务组合便成为了一个非常重要的问题。



技术实现要素:

本发明提供一种粒子群服务选择方法和系统,以解决现有技术中 无法从众多服务中选择出满足用户QOS要求的优化服务组合的技术问题。

为解决上述技术问题,本发明提供一种粒子群服务选择方法,包括:

构建云服务组合模型;

根据所述云服务组合模型进行云服务的服务质量属性计算;

基于所述云服务组合模型和所计算的服务质量进行粒子群服务选择,获取优化的服务组合。

进一步地,所述构建云服务组合模型包括:

根据服务组合请求进行服务集合的选择;

在所选择的服务集合中分析云计算环境下服务组合的服务路径以及服务组合的基本组合模式。

进一步地,所述服务组合的基本组合模式包括:

串行、并行、选择和/或循环模式。

进一步地,所述根据所述云服务组合模型进行云服务的服务质量属性计算包括:

根据服务组合的各基本组合模式下的计算公式形成服务组合的服务质量计算模型,根据所述服务质量计算模型进行云服务的服务质量属性计算。

进一步地,所述基于所述云服务组合模型和所计算的服务质量进行粒子群服务选择,获取优化的服务组合包括:

基于所述云服务组合模型和所计算的服务质量对粒子进行编码;

进行粒子群初始化;

针对所述云服务组合模型中不同的服务路径计算每一条服务路径的综合服务质量,以获得每个粒子的适应值,并确定所述粒子的群体最优;

对所述粒子的速度和位置进行更新,获取更新后粒子的群体最优结果并输出为优化的服务组合。

另一方面,本发明还提供一种粒子群服务选择系统,包括:

模型单元,用于构建云服务组合模型;

计算单元,用于根据所述云服务组合模型进行云服务的服务质量属性计算;

选择单元,用于基于所述云服务组合模型和所计算的服务质量进行粒子群服务选择,获取优化的服务组合。

进一步地,所述模型单元还用于:

根据服务组合请求进行服务集合的选择;

在所选择的服务集合中分析云计算环境下服务组合的服务路径以及服务组合的基本组合模式。

进一步地,所述服务组合的基本组合模式包括:

串行、并行、选择和/或循环模式。

进一步地,所述计算单元还用于:

根据服务组合的各基本组合模式下的计算公式形成服务组合的服务质量计算模型,根据所述服务质量计算模型进行云服务的服务质量属性计算。

进一步地,所述选择单元还用于:

基于所述云服务组合模型和所计算的服务质量对粒子进行编码;

进行粒子群初始化;

针对所述云服务组合模型中不同的服务路径计算每一条服务路径的综合服务质量,以获得每个粒子的适应值,并确定所述粒子的群体最优;

对所述粒子的速度和位置进行更新,获取更新后粒子的群体最优结果并输出为优化的服务组合。

可见,在本发明提供的粒子群服务选择方法和系统中,能够快速、高效地从众多的服务中选择出满足用户QoS要求的优化服务组合,从而给用户提供所需要的服务,其不仅在功能上能够满足用户需求,同时也可以在非功能属性上满足用户对于服务质量QoS多个属性的要 求。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例粒子群服务选择方法的基本流程示意图;

图2是本发明实施例云服务组合模型示意图;

图3是本发明实施例服务组合的基本组合模式示意图;

图4是本发明实施例服务组合简化例图;

图5是本发明实施例粒子群服务选择系统示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例首先提供一种粒子群服务选择方法,参见图1,包括:

步骤101:构建云服务组合模型;

步骤102:根据所述云服务组合模型进行云服务的服务质量属性计算;

步骤103:基于所述云服务组合模型和所计算的服务质量进行粒子群服务选择,获取优化的服务组合。

其中,云服务组合模型是在分析云计算环境下服务组合的过程以及服务组合的基本组合模式后形成的。其中,首先可以在用户提交服 务组合请求的功能性描述(服务组合拓扑结构和子任务功能等)与非功能性描述(服务组合的QoS约束等)后将服务组合建模为一个工作流或者有向无环图;然后选择符合每个任务功能的服务集合,并在随后的步骤中自实现每个任务的服务集合的服务实例中选择满足用户QoS约束(如价格、时延、可靠性等)的服务实例,并按照子任务的执行顺序依次调用各个服务实例并将执行结果返回给用户。具体的云服务组合模型可以参见图2所示。

可选地,构建云服务组合模型可以包括:根据服务组合请求进行服务集合的选择;在所选择的服务集合中分析云计算环境下服务组合的服务路径以及服务组合的基本组合模式。

其中,服务组合的基本组合模式可以包括:串行、并行、选择和/或循环模式。图3中示出了服务组合的四种基本组合模式。这些基本组合模式可以构造出大量结构不同的复合服务应用。在基于功能需求选择服务组合后,可以基于用户的QoS要求和系统的负载均衡需求从大量备选服务组合路径中选出一个或多个最优路径,每个备选服务组合路径中均可以包含有多种拓扑结构,如串行和并行等。

其中,根据云服务组合模型进行云服务的服务质量属性计算可以包括:根据服务组合的各基本组合模式下的计算公式形成服务组合的服务质量计算模型,根据所述服务质量计算模型进行云服务的服务质量属性计算。

表1 服务组合的各基本组合模式下的计算公式

表1为云服务QoS在四种基本组合模式下的计算公式。其中,Qt、Qc、Qa、Qr分别代表n个原子服务构成的组合服务的时间、费用、可用性、信誉度;分别代表原子服务i的时间、费用、可用性、信誉度;循环模式计算式中的k表示服务迭代的次数;选择模式计算式中的pi代表原子服务i被选择的概率。

服务组合由一定数量的原子服务构成,因此服务组合的QoS与构成它的每个原子服务的QoS有关。如果服务组合中存在多种基本组合模式时,可以同时采用不同的服务组合计算公式,按一定的步骤计算服务组合的QoS。计算服务组合的QoS值主要是采用自底向上的方法,把包含基本组合模式的服务组合简化成一个与本服务组合性能等价的抽象的服务质量计算模型,利用上述四种基本组合模式下的计算公式计算服务质量计算模型的QoS值并重复以上操作步骤,最后得到整个服务组合的QoS的值。

其中,基于所述云服务组合模型和所计算的服务质量进行粒子群服务选择,获取优化的服务组合可以包括:

步骤S1:基于所述云服务组合模型和所计算的服务质量对粒子进行编码。

在编码过程中,参考图4的服务组合简化例图,首先对图4中的各个服务结点按照顺序进行编号;然后,将虚拟服务S和E作为服务组合的起始点和终止点,图中节点的个数为粒子的D维,由于每一个给定的服务组合其所包含的服务结点数目相同,因此本发明实施例中可以采用定长编码,将服务组合的路径映射为粒子空间中的个体:第一个粒子和最后一个粒子的位置总是图中的顶点S和E,取值为-1,粒子位置的每一维的值是图4中相应位置对应的某一个服务组合实例的编号,如果对应位置的服务组合不在服务组合路径中,则取0。

步骤S2:进行粒子群初始化。

本步骤中,可以对粒子的位置和速度进行随机初始化,并按照对应的限制值进行限制。具体地,可以利用随机方法产生一组满足约束 条件的从S到E的初始服务组合路径集,初始服务组合路径集(即粒子群集)中的一个个体对应于图4中的一条服务组合路径。假设初始服务组合粒子群规模为N,从集合PS中选取满足约束条件的服务组合路径可以用Constr(PS)表示,利用随机方法选择S到E的一条服务组合路径可以用RandS(S,E)表示。当集合PS的个数小于N时,循环执行PS=PS+Constr(RandS(S,E)),直至初始服务组合粒子群规模达到N。

步骤S3:针对所述云服务组合模型中不同的服务路径计算每一条服务路径的综合服务质量,以获得每个粒子的适应值,并确定所述粒子的群体最优。

本步骤中,计算每个粒子的适应值需要用到适应度函数。通常,用户会期望服务费用小,执行时间尽量少,服务可用性和信誉度尽量高,也就是希望在QoS上得到满足以上目标的优化目标。因此本发明实施例可以定义每一条服务组合路径的综合服务质量函数为适应度函数。粒子适应值的计算主要是根据选择出来的服务组合路径计算当前路径的QoS值以计算每个粒子的适应值,确定粒子的个体最优和群体最优。对于每个粒子,将其适应值与个体最优适应值进行比较,如果更好,则将其作为粒子的个体最优值,用此粒子的当前位置更新个体最优;然后将其个体最优与群体最优进行比较,若更好,则将其作为本次迭代的群体最优。

步骤S4:对所述粒子的速度和位置进行更新,获取更新后粒子的群体最优结果并输出为优化的服务组合。

本发明实施例中,粒子的速度与位置的更新可以依据以下公式来进行:

<mrow> <msubsup> <mi>v</mi> <mi>id</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mo>=</mo> <msubsup> <mi>&omega;v</mi> <mi>id</mi> <mi>t</mi> </msubsup> <mo>+</mo> <msub> <mi>c</mi> <mn>1</mn> </msub> <msub> <mi>r</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mi>id</mi> <mi>t</mi> </msubsup> <mo>-</mo> <msubsup> <mi>x</mi> <mi>id</mi> <mi>t</mi> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>c</mi> <mn>2</mn> </msub> <msub> <mi>r</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mi>gd</mi> <mi>t</mi> </msubsup> <mo>-</mo> <msubsup> <mi>x</mi> <mi>id</mi> <mi>t</mi> </msubsup> <mo>)</mo> </mrow> </mrow>

<mrow> <msubsup> <mi>x</mi> <mi>id</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mo>=</mo> <msubsup> <mi>x</mi> <mi>id</mi> <mi>t</mi> </msubsup> <mo>+</mo> <msubsup> <mi>v</mi> <mi>id</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> </mrow>

具体来说就是先运用粒子本身所经历的最佳位置来对当前位置进行影响,随后作进一步的调整,其依据是粒子群经历的全局最佳位置。

随后,如果在经历粒子的速度和位置更新后,依然没有达到结束条件(如是否达到最大迭代次数),则可以转至步骤S2进行再次计算。否则,则直接输出当前群体最优结果,作为优化的服务组合。

本发明实施例还提供一种粒子群服务选择系统,参见图5,包括:

模型单元501,用于构建云服务组合模型;

计算单元502,用于根据所述云服务组合模型进行云服务的服务质量属性计算;

选择单元503,用于基于所述云服务组合模型和所计算的服务质量进行粒子群服务选择,获取优化的服务组合。

其中,模型单元501还可以用于:

根据服务组合请求进行服务集合的选择;

在所选择的服务集合中分析云计算环境下服务组合的服务路径以及服务组合的基本组合模式。

其中,服务组合的基本组合模式可以包括:串行、并行、选择和/或循环模式。

其中,计算单元502还可以用于:根据服务组合的各基本组合模式下的计算公式形成服务组合的服务质量计算模型,根据所述服务质量计算模型进行云服务的服务质量属性计算。

其中,选择单元503还可以用于:

基于所述云服务组合模型和所计算的服务质量对粒子进行编码;

进行粒子群初始化;

针对所述云服务组合模型中不同的服务路径计算每一条服务路径的综合服务质量,以获得每个粒子的适应值,并确定所述粒子的群体最优;

对所述粒子的速度和位置进行更新,获取更新后粒子的群体最优结果并输出为优化的服务组合。

可见,在本发明实施例提供的粒子群服务选择方法和系统中,能够快速、高效地从众多的服务中选择出满足用户QoS要求的优化服务 组合,从而给用户提供所需要的服务,其不仅在功能上能够满足用户需求,同时也可以在非功能属性上满足用户对于服务质量QoS多个属性的要求。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1