一种联盟关系服务组合选择系统及选择方法与流程

文档序号:11960295阅读:234来源:国知局
一种联盟关系服务组合选择系统及选择方法与流程
本发明涉及计算机服务领域,更具体地说,涉及一种联盟关系服务组合选择系统及选择方法。
背景技术
:随着服务计算技术的发展,越来越多的资源以服务的形式发布与共享,并成功应用到实际生产过程中。在服务计算领域,QoS感知的服务组合近年来备受关注,提出了较多的QoS感知的服务组合优化方法Gabrel等提出一种基于动态规划的web服务组合优化算法。启发式算法在QoS感知的服务组合问题研究中得到广泛应用。B.Vasumathi提出利用粒子群算法及其改进算法解决服务组合问题,G.Canfora为解决服务组合问题,提出一种基于遗传算法的Web服务寻优算法,H.Liu则提出一种改进遗传算法用以解决Web服务优化问题,Y.Zhang提出了大规模的QoS感知的服务组合优化方法,其核心思想是利用改进的果蝇优化算法快速求解服务组合问题。传统QoS感知的服务组合优化方法,认为服务之间是相互独立的,并没有考虑服务提供商之间存在的任何联盟合作关系。但在全球经济一体化、竞争多样化的发展趋势下,联盟关系的发展日益迅猛。如:微软公司与英特尔公司之间的“WINTEL”联盟,Google与HTC之间的手机研发代工联盟,苹果公司与AT&T之间的联盟等等。因此,合作共赢已成发展趋势。近年来,有些研究工作开始关注QoS关系问题。Q.Wu,Q.Zhu,M.Zhou,Acorrelation-drivenoptimalserviceselectionapproachforvirtualenterpriseestablishment,JIntellManuf,(2014)25:1441–1453,提出业务关联模型,并且利用改进遗传算法解决QoS约束服务组合优化问题,但该文章只限于两个而且是抽象的任务之间进行组合优化,实用性极大受限。S.Deng,H.Wu,D.Hu,J.LZhao,“ServiceSelectionforCompositionwithQoSCorrelation”,IEEETransonServicesComputing(online),提出一种QoS关联的服务组合优化问题,通过以responsetime为例构建了系统场景,但仅考虑了同一服务提供商提供多种不同服务的应用,没有考虑到QoS关系在不同服务提供商之间的联盟关系。技术实现要素:1.要解决的技术问题针对现有技术中存在的不同服务提供商之间的联盟关系组合优化选择困难的问题,本发明提供了一种联盟关系服务组合选择系统及选择方法。它可以对不同服务提供商之间的联盟关系组合进行选择,选择效率高,选择结果最优化。2.技术方案本发明的目的通过以下技术方案实现。一种联盟关系服务组合选择系统,本系统包括服务基本粒层模块:包括服务请求输入模块、解析器模块、服务信息与功能索引模块和功能选择模块;服务业务粒层模块:包括服务发现模块、参数设置模块、索引模块、服务信息提取处理模块、参数与服务信息关联模块、智能进化算法寻优模块和服务响应模块;服务关系粒层模块:联盟关系更新模块、服务组合选取模块、联盟关系数据库和联盟关系查询抽取模块;解析器模块获取服务请求输入模块输入内容,将解析内容导入服务发现模块,服务发现模块提取服务信息与功能索引模块内容进行处理,导入参数设置模块和索引模块中,索引模块提取功能选择模块、参数设置模块和服务发现模块内容后将信息处理后导入服务信息提取处理模块和服务组合选取模块中,参数设置模块值进入联盟关系更新模块,联盟关系更新模块数据一部分进入联盟关系数据库中,同时进入服务组合选取模块后处理进入联盟关系数据库,联盟关系数据库信息通过联盟关系查询抽取模块进入智能进化算法寻优模块中,智能进化算法寻优模块获取智能进化算法寻优模块、参数与服务信息关联模块和联盟关系查询抽取模块内容综合计算,获得最优结果,通过服务响应模块输出结果。所述的服务信息与功能索引模块包括服务信息内容和项目,解析器模块包括对输入的服务信息的内容进行解析;参数与服务信息关联模块对于对输入信息进行参数设置和关联,智能进化算法寻优模块包括服务最优化值求解计算模块。一种基于上述所述的一种联盟关系服务组合选择系统的选择方法,步骤如下:步骤一、生成服务联盟约束关系;步骤二、联盟关系数据冗余消除和等价类划分;步骤三、根据已找到的支配关系和等价集,确定每个组合服务的联盟关系,并求解适应度值;步骤四、运用群体智能优化方法进行服务最优化值求解。更进一步的,步骤一包括如下几个步骤:(1)设置阈值,确定是否存在联盟关系;(2)根据所需要的任务,确定各服务存在联盟关系的服务个数;(3)根据获取的系统优惠信息,确定优惠政策。更进一步的,步骤二包括如下几个步骤:(1)将高维矩阵转换为对应的关系表,将联盟关系添加到关系表中;(2)拓展支配关系和划分等价集,添加支配关系。更进一步的,步骤三包括如下几个步骤:1)根据自反性,消除相同的数据关系:2)根据对称性,消除相互对称的数据关系:3)根据传递性,增加上一步骤,合并关系的新关系:更进一步的,步骤四包括如下几个步骤:1)关系表实时查询;2)根据优惠政策,对上述获得的关系表路径进行,适应度计算;3)对各个不同的组合适应度进行比较,服务组合优化。更进一步的,步骤一(1)中设置阈值,联盟关系阈值为p1(p1∈[0,1]),更进一步的,联盟关系阈值为0.9。更进一步的,步骤一(2)中联盟关系的服务个数,联盟个数上限为snum*tnum*p2,其中,snum表示所有候选服务个数,tnum表示任务数,其阈值记为p2,p2=(0.0001-0.001),更进一步的,采用联盟个数阈值p2=0.0009,不仅可以获得最优的适应度值,而且可以获得最优的稳定性,虽然时间开销相比于其他阈值稍大。更进一步的,其特征在于:步骤一(3)中联盟政策阈值为p3,p3=(0.0001-0.001),更进一步的,p3=0.1,时间开销最小多分布在联盟政策阈值为0.04和0.09处,但整体而言,时间开销差距非常小,为保证实验效果和兼具高效与稳定性,联盟政策阈值采取0.1。3.有益效果相比于现有技术,本发明的优点在于:(1)本发明与现有技术相比,一种联盟关系服务组合选择方法在QoS感知的服务选择问题的基础上,不仅考虑服务间的关联关系还将服务提供商间的关联关系考虑在内,使得产生的组合服务不但能满足用户的功能需求,并且较未考虑联盟关系的服务组合选择方法而言,在特定的联盟比例下,全局QoS提高60%以上;(2)建立服务间以及服务提供商间的QoS联盟感知的联盟关系模型,借助支配关系与等价类划分有效简化了联盟关系的查询;(3)利用关系矩阵作为联盟关系的存储结构,通过所提出的关系矩阵转换算法以及关系表冗余消除算法,在将关系矩阵转换为关系表的同时删除由自反性和对称性引入的冗余关系,并利用联盟关系的传递性添加支配关系,有效缩减了组合求解空间,简化算法寻优的时间,并保证服务组合结果的正确性与完备性,更加适用于云计算环境下大规模服务组合问题。附图说明图1为用户购物流程图;图2为客户购买过程图;图3为相邻任务联盟关系模型;图4为跨任务联盟关系模型;图5为复合联盟关系模型;图6为具有联盟关系的组合服务图;图7为联盟关系处理后的组合服务图;图8为本发明的系统功能模块;图9为联盟关系的服务组合优化整体流程图;图10为冗余消除处理流程图;图11为服务组合优化求解流程图;图12为服务集规模为100阈值影响对比图;图13为服务集规模为200阈值影响对比图;图14为服务集规模为300阈值影响对比图;图15为服务集规模为400阈值影响对比图;图16为服务集规模为500阈值影响对比图;图17为服务集规模为100联盟个数阈值对适应度的影响示意图;图18为服务集规模为200联盟个数阈值对适应度的影响示意图;图19为服务集规模为300联盟个数阈值对适应度的影响示意图;图20为服务集规模为400联盟个数阈值对适应度的影响示意图;图21为服务集规模为500联盟个数阈值对适应度的影响示意图;图22为服务集规模为100联盟政策影响示意图;图23为服务集规模为200联盟政策影响示意图;图24为服务集规模为300联盟政策影响示意图;图25为服务集规模为400联盟政策影响示意图;图26为服务集规模为500联盟政策影响示意图;图27为QWS’s平均适应度图;图28为RWS’s平均适应度图;图29为QWS’s提高率图;图30为RWS’s提高率图;图31为QWS’s效率图;图32为RWS’s效率图;图33为QWS均方根误差图;图34为RWS均方根误差图。具体实施方式下面结合说明书附图和具体的实施例,对本发明作详细描述。实施例1现有的方法不能达到组合服务最优化,经过调查研究表明,主要是因为现有的研究都忽略了服务提供商之间的联盟关系,服务提供商之间的联盟关系对组合服务的QoS具有很大影响。服务提供商之间的联盟关系在现实中广泛存在,例如,一个美国用户在京东交易平台上购买了一件男士手表GS5732并且选择了物流服务DHL,由于物流公司与存货地并未建立联盟关系,该用户将额外出$33.09的运输费用,如果用户选择ePacket物流服务,由于该物流公司与存货地有联盟关系,用户将节省运输费用,有效减少了组合服务的成本。为此,本发明实施例提供了一种联盟关系服务组合选择方法,在QoS感知的服务选择问题的基础上,不仅考虑服务间的关联关系还将服务提供商间的关联关系考虑在内,使得产生的组合服务不但能满足用户的功能需求,而且较未考虑联盟关系的服务组合选择方法而言,全局QoS提高60%以上。本发明的一种联盟关系服务组合选择系统,如图8所示,系统包括:服务基本粒层模块:包括服务请求输入模块、解析器模块、服务信息与功能索引模块和功能选择模块;基本服务粒层对输入的服务基本信息概念进行定义以及分类,对各个输入的值进行赋予索引关系,方便服务业务粒层进行分析调用以及运算。服务业务粒层模块:包括服务发现模块、参数设置模块、索引模块、服务信息提取处理模块、参数与服务信息关联模块、智能进化算法寻优模块和服务响应模块;服务业务粒层模块获取基本服务粒层中的服务信息以及服务关系粒层信息之间的关系,对针对服务要求进行计算以及优化,获得最优的组合选择方案。服务关系粒层模块:联盟关系更新模块、服务组合选取模块、联盟关系数据库和联盟关系查询抽取模块;服务关系粒层模块储存各个服务项目之间的关系和数据,存储各联盟之间优惠政策,并更新,为服务业务粒层模块提供联盟关系数据。解析器模块获取服务请求输入模块输入内容,将解析内容导入服务发现模块,服务发现模块提取服务信息与功能索引模块内容进行处理,导入参数设置模块和索引模块中,索引模块提取功能选择模块、参数设置模块和服务发现模块内容后将信息处理后导入服务信息提取处理模块和服务组合选取模块中,参数设置模块值进入联盟关系更新模块,联盟关系更新模块数据一部分进入联盟关系数据库中,同时进入服务组合选取模块后处理进入联盟关系数据库,联盟关系数据库信息通过联盟关系查询抽取模块进入智能进化算法寻优模块中,智能进化算法寻优模块获取智能进化算法寻优模块、参数与服务信息关联模块和联盟关系查询抽取模块内容综合计算,获得最优结果,通过服务响应模块输出结果。所述的服务信息与功能索引模块包括服务信息内容和项目,解析器模块包括对输入的服务信息的内容进行解析;参数与服务信息关联模块对于对输入信息进行参数设置和关联,智能进化算法寻优模块包括服务最优化值求解计算模块。本发明在建立较为完备的服务联盟关系系统模型基础上,提出一种QoS联盟感知的服务组合优化(QASCO)选择方法。主要对一下几个方面进行了改进:1)提出QoS联盟感知的联盟关系模型,从理论上证明联盟关系的若干性质和定理,通过联盟关系性质构造出服务间的支配关系和等价类,并系统地分析了QoS联盟关系对服务组合优化问题的影响。2)分析和证明了支配关系与等价类不仅可以有效简化联盟关系的查询复杂性,而且不会导致联盟关系的重复或遗漏,从而保证了寻优结果的完备性。3)提出联盟关系的关系表存储模型,并给出了关系矩阵转换算法、关系表冗余消除算法以及关系表查询算法,有效简化了联盟关系数据集,降低了联盟关系查询复杂性。4)对若干个经典的群体智能算法进行改进。下面,我们将介绍一个具体的例子来说明问题,并说明我们的方案的必要性和优点。用户网上购物如图1所示,联盟关系是很常见的且不同的,如免邮费由卖家和物流企业之间的联盟。为了演示如何AR系统是组织模型捕捉,利用顾客购买服装业务流程如图2所示,其中中间过程的椭圆表示需要购买的大任务,对应下方圆圈表示每个大任务中的可选择服务。每个服务的值表示服务的成本。我们以Cost费用属性值作为服务组合优化目标。根据联盟关系绑定服务之间的逻辑关系,可将图2划分为:相邻关系联盟、跨任务联盟及复合联盟三种应用场景。场景1相邻任务联盟关系首先考虑隶属于相邻任务(Task)的候选服务间联盟关系,这种联盟关系比较简单,可将其简化为一个服务。但这种关系存在一些限制,只是实际联盟环境中的局部特征。通过对这种单一关系的联盟的讨论,可以简化联盟模型,更清晰地描述问题。图2的组合实例满足如表1所示的联盟优惠政策,相邻联盟关系模型如图3所示。图3表示若同时选择服务s11与s22,则服务(service)s22的Cost对应优惠政策(policy)为300,即从原始的900变为600,其余类似。表1:相邻任务联盟关系优惠表根据表1,结合图2的Cost属性值,从S->E的最优组合服务路径作如下分析:(1)未考虑联盟关系情形,最优组合服务为s11->s21->s31,总代价为2144;(2)考虑服务间的联盟关系,最优组合服务为s11->s22->s33,总代价为(836+(900-300)+(772-300))=1908,考虑联盟关系的QoS优于传统服务组合结果。场景2、跨任务联盟关系另一种常见的是跨任务之间的联盟关系,即两个服务提供商所提供的服务隶属于服务计划中不相邻的两个task的候选服务集,如图4所示。并满足表2中的优惠政策。表2:跨任务联盟关系优惠表同理,我们对S->E的最优组合服务路径作出分析。(1)不考虑服务联盟时,最优组合服务为S11->S21->S31,总代价为2144;(2)考虑服务联盟关系时,最优组合服务为S11->S21->S32,总代价为(836+672+(672-300))=1880。同样,考虑联盟关系的QoS优于传统服务组合情形。场景3、复合联盟关系在实际的联盟环境中,相邻任务联盟关系与跨任务联盟关系模型往往同时存在,我们称这种混合关系为复合联盟关系,如图5所示。图5中,每个服务均有可能存在多个联盟关系,例如T1的候选服务s11,存在四个联盟关系,这些关系包括s11与s21,s11与s22两个相邻任务联盟关系,以及s11与s31,s11与s32两个跨任务联盟关系。图5的复合联盟关系优惠矩阵用表3表示,矩阵的维数由联盟关系QoS属性个数决定,若优惠政策包含多个QoS属性时,二维矩阵便升级为三维或高维矩阵。同样,矩阵数值表示对应的优惠政策。在复合联盟关系中,由于存在联盟的服务个数不定,联盟类型不定,采用矩阵形式描述联盟关系时,矩阵往往呈现出稀疏现象。因此,在实际应用过程中,需要对关系矩阵做进一步处理。表3复合联盟关系优惠矩阵多维QoS属性问题是单QoS属性的延续和拓展,考虑复合联盟优惠策略情形下的服务组合问题较为复杂,本方案中中会做出详细理论分析和证明。本实施例仅考虑QoS单属性Cost情形,本文理论和方法可以拓展到多属性应用场景。为更好地描述QoS联盟感知的服务组合问题,基于现有技术,下面给出若干定义及相关性质。1)服务质量(QoS)服务质量是指Web服务能够满足用户服务非功能需求的程度。包括多方面的质量特性,如:Cost,Responsetime,Available,Reputation,etc。即成本,响应时间,可用,声誉等。2)Web服务(s)Web服务用五元组表示,即s=(id,function,info,QoS,alliance)。其中,id是统一处理的服务编号;function表示web服务的功能属性,包括Input,Output,PreconditionandEffect,即输入、输出、前提和效果;info表示服务的基本信息,包括web服务名称,提供商等信息;QoS表示服务质量;alliance为联盟关系集,表示与该服务存在联盟关系的服务集合,及相应的联盟关系优惠政策。3)候选服务集(S)候选服务集是指功能相同而服务质量不同的web服务集合,记作:S=(id,ws),其中id表示每个候选服务集的唯一标识;ws表示具有相同功能的服务集合,记为:n为候选服务集的规模。4)服务计划(SP)ServicePlan是指满足用户需求或者能实现特定功能的服务组合链,记作SP=(T,P)其中,表示一组任务集合;P表示ServicePlan中一些参数信息,如循环结构中的循环次数等。5)组合服务(CS)组合服务是指服务计划中能满足用户需求的一条路径,可表示为一个四元组,CS=(id,services,fitness,struct)。其中,id表示每条组合服务的编号,services表示该组合服务中包含的服务集合,即si表示候选服务集S中第i个服务,m表示组合服务的任务数。fitness表示组合服务的适应度函数值,是衡量每个服务组合优劣性的依据;struct表示该服务组合记录的结构,包括顺序、分支、并行和循环结构。6)联盟关系(AR)对于一个特定的服务组合,假设候选服务sn位于sm逻辑关系之前,并设在γ属性上的优惠政策为X,则该联盟关系记为其中,sn称为联盟关系的前驱服务,sm称为联盟关系的后继服务;γ(X)称为的优惠政策,当时记为0关系,γ(X)=all记为1关系。特别地,对于复合联盟关系,用表示在ServicePlan中位于Sn和Sm逻辑位置之间(包含边界)的服务矩阵,即表示组合服务中位于Sn和Sm之间的被选中服务的集合;用表示矩阵的秩,即组合服务中位于Sn和Sm之间的被选中服务的个数。例如,γ取Cost属性时,x为在该联盟关系上Cost的优惠政策,该联盟关系表示为当γ表示多个属性时,即服务sn,sm之间存在多种优惠政策,假设为Ava,RT,Cost,X则为在该联盟关系上Ava的优惠政策x1,RT的优惠政策x2,Cost的优惠政策x3的集合,该联盟关系可记为那么,对于任意一个组合服务实例cs,假设存在联盟关系,则存在以下性质。性质1(Symmetry,对称性):对于cs上的任意一个联盟关系,满足且在ServicesPlan的逻辑顺序中,sn为前驱服务,sm为后继服务。联盟关系具有对称性。性质2(Transmissibility,传递性):若cs存在联盟关系那么,sn和sk之间也存在联盟关系,记为其中,γ'=γ1∪γ2,X'=X1∪X2。联盟关系具有传递性。性质3(Reflexivity,自反性):对于任意一个sn,总是有他的联盟,也就是说,是始终存在。7)支配关系(DR)支配关系指在某特定的组合服务实例cs中,存在联盟关系若对于所有的以sn为前驱服务的联盟都存在则称为服务sn的支配关系。根据性质1和性质3,联盟关系是一个双边关系,联盟关系矩阵中存在着大量的冗余。为优化问题的时空开销,需要对联盟关系进行冗余消除处理。同理,从性质2可知,联盟关系具有延续性和拓展性,以及联盟关系的非孤立性,本文将利用联盟关系的传递性逐步拓展联盟支配关系的覆盖域,从而逐步扩大形成等价类。运用支配关系,可以将服务组合实例划分为不同的模块,每个模块均属于且唯一属于一个支配关系的覆盖域,在同一模块中,各个服务是等价的,从支配关系中的前驱服务到后继服务之间的优惠政策包含内部所有的联盟关系。因此,支配关系可以简化组合服务实例的联盟关系。8)联盟关系等价类在具体的组合服务实例中,针对于支配关系覆盖的服务集合,任意两个不存在联盟关系的服务,添加0关系,则该集合满足等价关系,且该集合元素s属于同一个等价类,记为[s]。通过等价关系的描述,更清晰地的描述了组合服务实例中服务之间的区别和联系。在同一等价类中,任意服务均可代表该等价类,其优惠政策也代表支配关系的优惠值。当计算每个组合服务实例的联盟关系时,只需获得每个等价类的优惠关系即可,大幅度简化联盟关系的计算过程与复杂度。本部分介绍QoS联盟感知的服务组合问题求解算法。由于QASCO仍然是NP-hard问题,为验证本文模型的普适性,运用常用的群体智能优化算法进行求解。同时,针对AR模型,对现有算法进行了改进。由于联盟关系的复杂性,导致算法的时间和空间开销呈倍数增长。为有效解决该问题,从以下四个方面来详细描述问题的求解与简化过程。一种联盟关系服务组合选择方法,步骤如下:步骤一、生成服务联盟约束关系;(1)确定是否存在联盟关系。设置阈值p1,p1∈(0,1),并取(0,1)之间的随机值α,若α>p1,则存在联盟关系,否则视为不存在联盟关系;(2)确定各服务存在联盟关系的服务个数。依据联盟的对称性,若某服务的前驱联盟服务存在b个,则产生在[b,x]之间的随机整数β,(β-b)表示以该服务为前驱服务的联盟个数,并在Serviceplan中位于该服务之后的候选服务集中随机选择服务作为其后继服务;(3)根据获取的系统优惠信息,确定优惠政策。考虑到优惠政策的实际性,为保证优惠值较大与实际情况不符,对优惠政策进行适度限制,设置阈值p3,并采用比例确定优惠政策。随机产生[1,p]之间随机数,p表示概率上限,利用公式(1)归一化到(0,p3)之间的数值,优惠值运用公式(2)计算。θ′=θ*p3p---(1)]]>γ(i)=θ'*QoS(i)(2)其中,θ表示随机产生的[1,p]之间的整数,即为产生的优惠政策,θ'表示归一化后的优惠比例,QoS(i)表示QoS中第i个属性值,γ(i)表示相应的优惠政策。步骤二、联盟关系数据冗余消除和等价类划分;联盟关系是一个双边关系,需要对联盟关系进行冗余消除处理。主要包括两个过程:(1)将高维矩阵转换为对应的关系表,本方案中,仅以Cost属性为例,将二维矩阵转换为关系表;(2)消除关系表中由自反性和对称性而引入的冗余,并利用联盟关系的传递性添加支配关系,用以简化算法寻优的时间和空间复杂度。关系矩阵转换:关系矩阵转换核心思想就是将通过生成的关系矩阵,构造满足如下结构的关系表,关系表结构如表4所示。表4关系表结构根据表4的结构,关系矩阵进行转换,其中,定义xsum,ysum分别表示关系矩阵中x,y轴的上界,M(x,y)表示关系矩阵第x,y维数值,即联盟优惠政策,SetT(Sx1,y2,Sx2,y2,Cost,M(x,y))表示按照给定的优惠政策,将该联盟关系添加到关系表中。逆转录的冗余消除:首先利用联盟关系的前驱和后继服务,直接删除由自反性和对称性引起的冗余。其次,为降低后续操作的时间开销,针对于传递性进行适度增加冗余。增加冗余依据是:对于存在传递性的联盟关系则增加但不删除之前的关系,其值等价于其包含服务之间的每个联盟关系的并集,如果之前存在联盟,则将与关系合并,记为然后找到中与前驱服务sn之间相互孤立的服务si,则默认其中重复以上步骤,直到找到sn支配关系。因此,在后续寻优访问过程中,针对于服务sn到sk的组合,仅需查找支配关系的联盟优惠,无需多次查找关系表。性质4利用传递性添加的传递联盟关系,可以覆盖其包含的服务之间的任何联盟关系,即对于恒成立。逆转录使得关系数据集规模大大减少。然后,利用性质2的传递性,逐步拓展支配关系和划分等价集,即更新:update其详细的更新过程下文中会通过一个具体案例详细描述。但经过逆转录的处理,联盟关系集的组成元素发生了变化,为保证实验结果的完备性,需要对经过逆转录处理后的关系集的完备性进行分析。定理1对于任意联盟关系形成的RTset,即关系集组,通过逆转录处理,不会影响RT集的完备性。证明:假设联盟关系为通过逆转录处理后改变的联盟关系,并且与等价的关系不存在RT中。A、若是通过自反性删除的关系,则不影响整体寻优,因为自反性可以认为每个服务都和自身联盟,不具有特殊性,不影响全局寻优结果。B、若是通过对称性删除的关系,则一定存在RT中,由于具有对称性,即等价于所以,与假设矛盾。C、若是通过传递性改变的联盟关系,则和仍存在于RT中,对于添加或者修改的在算法处理过程中,是按照支配关系的联盟为依据进行寻优,不会重复计算联盟关系。所以,综上通过逆转录处理后的关系集RT不会影响全局最优解,保持完备性。通过定理1可知,由自反性和对称性而删除的联盟关系不会影响联盟关系集的完备性,但在处理过程中,每个等价类中只计算一次支配关系,所以,需要保证各支配关系之间不存在交叉现象。定理2任意两个支配关系之间不存在公共服务,即针对于支配关系与满足证明:假设存在某一服务同时且两个支配关系不是同一关系。则有传递性可知:A、由则或者即s属于构成的等价集,表示为[s]。B、由可得或者即s也属于构成的等价集,表示为[s]。综上,结合该支配关系不是同一关系可得,支配关系与存在包含关系,不妨假设则即就不是支配关系,与假设矛盾,所以,该服务s不存在,即成立。由定理2可知,任意两个等价类之间都不存在公共服务。所以,在服务组合寻优过程中,每个等价类取支配关系计算不会导致联盟关系的重复计算。并且,性质4表明支配关系的构建不会导致联盟关系的丢失。综上,通过支配关系不会对服务组合寻优结果产生影响。步骤三、根据已找到的支配关系和等价集,确定每个组合服务的联盟关系,并求解适应度值;下面通过一个具体的组合服务实例以及其联盟关系来描述关系表的处理过程。假定一个组合服务实例结构如图6所示,其联盟关系表如表5。表5组合服务关系表按照逆转录方法,处理过程包括如下三个步骤。1)自反性消除:根据自反性性质,可删除关系(s1,s1,Cost(all)),(s2,s2,Cost(all)),(s3,s3,Cost(all)),(s4,s4,Cost(all)),删除后可得关系表如表6所示。表6自反性消除后的关系表2)对称性消除:根据对称性性质,可删除关系(s2,s1,Cost(100)),(s3,s1,Cost(120)),(s4,s2,Cost(50)),(s4,s3,Cost(90)),删除后可得关系表如表7所示。表7对称性消除后关系表3)传递性处理:根据表7的结果,可知存在如下传递性(s1,s2,Cost(100)),(s2,s4,Cost(50)),(s1,s3,Cost(50))与(s3,s4,Cost(90)),所以添加关系(s1,s4,Cost(x)),其中x表示位于服务之间所有关系的并,即x为Cost(100+50+120+90)),于是进一步可得到表8。表8传递性处理后关系表由图6可知,从S到E最优组合服务Cost为:Cost(100)//S1->S2+Cost(90)//S3->S4+Cost(120)//S1->S3+Cost(50)//S2->S4=Cost(100+90+120+50)由表8可以构造联盟关系处理后的组合服务实例如图7所示。根据图7,很容易得到S->E的最优组合服务Cost为:Cost(120+100+90+50)//S1->S4,与图6所得结果保持一致。步骤四、运用群体智能优化方法进行问题求解,群体智能优化方法对其进行了改进。针对QoS联盟感知的Web服务组合优化模型,本发明对经典的群体智能优化算法进行了改进,分别基于PSO:粒子群优化算法(PSO——ParticleSwarmOptimization),GA:遗传算法(GeneticAlgorithm),FOA:果蝇优化算法进行优化。分别记为:IPSO、IGA和IFOA,并与未考虑联盟关系的PSO、GA、FOA算法进行了对比实验,验证本文模型与算法的有效性,效率和可扩展性。改进的算法主要包括三个步骤。1)实时查询在QoS联盟感知的组合服务问题求解时,需要考虑因联盟关系而引入的优惠政策对问题结果的影响。即根据处理后的联盟关系表和支配关系获得组合服务的优惠政策,关系表查询描述如下。通过服务关系粒层模块中联盟关系更新模块、服务组合选取模块、联盟关系数据库和联盟关系查询抽取模块,获得联盟关系更新的信息。具体算法如下:其中,Getindex(RT(k).getFront)表示获得RT中第k条联盟的前驱服务的下标(x,y)。算法根据特定的组合服务记录,利用关系表,逐个判断该组合服务中支配关系以及优惠政策,最后将优惠政策合并作为输出。方法根据特定的组合服务记录,利用关系表,通过服务基本粒层模块中的括服务请求输入模块、解析器模块、服务信息与功能索引模块和功能选择模块,获取定义信息,逐个判断该组合服务中支配关系以及优惠政策,最后将优惠政策合并作为输出。2)适应度计算根据实时查询方法获得的优惠政策γ,fitness合理值计算方式用公式(3)表示。fitness=Σi=1nΣj=1mwicjQi,j=w1Σj=1mcjCostj(1-θ)=w1Σj=1mcj(Costj-γ(x))---(3)]]>其中θ表示联盟优惠政策,wi表示每个任务的权重,cj表示每个QoS属性的权重,Costj表示第j个候选服务的Cost属性,γ(x)表示联盟关系优惠值。3)服务组合优化根据上述的适应度计算,将其作为IPSO、IGA以及IFOA优化方法的适应度计算依据,下面以IFOA为例,对改进后的方法进行描述。IPSO和IGA优化方法相同。具体算法如下:IFOA方法中参数详细介绍参见文献Y.Zhang,G.Cui,S.Zhaoet.al.IFOA4WSC:AquickandeffectivealgorithmforQoS-awareservicecomposition,InternationalJournalofWebandGridServices(online),其他方法处理过程与IFOA类似,主要是将适应度函数计算公式替换为公式(3)即可。因此,算法实现简单,可操作性强。实施例2下面结合附图,通过具体实施例,对本发明的技术方案进行清楚、完整的描述。本发明实施例中具有联盟关系的服务组合选择方法QASCO,如图9所示,包括:步骤S101:对每个任务的候选服务集合作预处理,生成服务联盟约束关系。并将相应的信息存储在服务基本粒层模块中和服务关系粒层模块中。步骤S102:通过所提出的关系矩阵转换算法以及关系表冗余消除算法对联盟关系数据进行冗余消除和等价类划分。步骤S103:运用改进的群体智能优化算法对具有联盟关系的服务组合优化问题进行求解。在服务业务粒层模块中通过智能进化算法寻优模块进行计算,服务响应模块进行最优的服务输出。根据附图1用户购物示意图假设客户购买过程如附图2所示,其中椭圆表示任务,圆表示服务,每个服务的值表示服务花费即Cost。每个候选服务集合都需要根据服务提供商提供的联盟信息对Web服务属性进行预处理。在本发明实施例中,Web服务用五元组表示,即s=(id,function,info,QoS,alliance)。其中,id是统一处理的服务编号;function表示web服务的功能属性,包括Input,Output,PreconditionandEffect;info表示服务的基本信息,包括web服务名称,提供商等信息;QoS表示服务质量;alliance为联盟关系集,表示与该服务存在联盟关系的服务集合,及相应的联盟关系优惠政策。在本实施例中,用ServicePlan表示满足用户需求或者能实现特定功能的服务组合链,记作SP=(T,P)其中,T表示一组任务集合;P表示ServicePlan中一些参数信息,如循环结构中的循环次数等。在本实施例中,组合服务是指服务计划中能满足用户需求的一条路径,可表示为一个四元组,CS=(id,services,fitness,struct)。其中,id表示每条组合服务的编号,services表示该组合服务中包含的服务集合,即:si表示候选服务集S中第i个服务,m表示组合服务的任务数。fitness表示组合服务的适应度函数值,是衡量每个服务组合优劣性的依据;struct表示该服务组合记录的结构,包括顺序、分支、并行和循环结构。对于一个特定的服务组合,假设候选服务sn位于sm逻辑关系之前,并设在属性γ上的优惠政策为X,则该联盟关系记为其中,sn称为联盟关系的前驱服务,sm称为联盟关系的后继服务;γ(X)称为的优惠政策,当时记为0关系,γ(X)=all记为1关系。在某特定的组合服务实例cs中支配关系指:存在联盟关系若对于所有的以sn为前驱服务的联盟都存在,则称为服务sn的支配关系。在具体的组合服务实例中,针对于支配关系覆盖的服务集合,任意两个不存在联盟关系的服务,添加0关系,则该集合满足等价关系,且该集合元素s属于同一个等价类,记为[s]。通过等价关系的描述,更清晰地的描述了组合服务实例中服务之间的区别和联系。在同一等价类中,任意服务均可代表该等价类,其优惠政策也代表支配关系的优惠值。当计算每个组合服务实例的联盟关系时,只需获得每个等价类的优惠关系即可,大幅度简化联盟关系的计算过程与复杂度。通过对每个任务的候选服务集合作预处理,生成了服务联盟约束关系,联盟约束关系可细分为三种联盟关系模型:1、相邻任务联盟关系模型,如附图3所示,这种联盟关系考虑隶属于相邻task的候选服务间联盟关系。2、跨任务联盟关系模型,如附图4所示,即两个服务提供商所提供的服务隶属于Serviceplan中不相邻的两个task的候选服务集。3、复合联盟关系模型,如附图5所示,即在联盟环境中,相邻任务联盟关系与跨任务联盟关系模型同时存在。在本实施例中利用关系矩阵来存储服务间以及服务提供商之间的联盟关系。联盟关系是一个双边关系,联盟关系矩阵中存在着大量的冗余。假定一个组合服务实例结构如附图6所示,为优化问题的时空开销,需要对联盟关系进行冗余消除处理,如图10所示,主要包括:步骤S201:将高维矩阵转换为对应的关系表,本实施例中,仅以Cost属性为例,通过关系矩阵转换算法将二维关系矩阵转换为关系表。对于关系矩阵中的每一个元素获取该元素对应的前驱服务编号Sx1,y2以及后继服务编号Sx2,y2,再将(Sx1,y2,Sx2,y2,Cost,M(x,y))添加到关系表中,其中,M(x,y)表示关系矩阵第x,y维数值,即联盟优惠政策。步骤S202:利用联盟关系的前驱和后继服务,直接删除由自反性和对称性引起的冗余。步骤S203:为降低后续操作的时间开销,针对于传递性进行适度增加冗余。增加冗余依据是:对于存在传递性的联盟关系则增加但不删除之前的关系,其值等价于其包含服务之间的每个联盟关系的并集,如果之前存在联盟,则将与关系合并,记为然后找到中与前驱服务sn之间相互孤立的服务si,则默认其中重复以上步骤,直到找到sn支配关系。因此,在后续寻优访问过程中,针对于服务sn到sk的组合,仅需查找支配关系的联盟优惠,无需多次查找关系表。通过以上步骤生成联盟关系处理后的组合服务图,如附图7所示,相当数量的冗余联盟关系被移除并且构成了服务支配关系,有效简化了联盟关系数据集,降低了联盟关系查询复杂性,减少了后续利用群体智能优化算法来解决具有联盟关系的服务组合优化问题的搜索空间。通过群体智能优化算法来解决具有联盟关系的服务组合优化问题包含如下步骤,如图11所示,以群体智能优化算法IFOA为例:步骤S301:输入候选服务集与task,初始化必要的参数如迭代次数,种群规模等。步骤S302:对种群中的每个个体进行适应值计算,计算公式为:其中θ表示联盟优惠政策,wi表示每个任务的权重,cj表示每个QoS属性的权重,Costj表示第j个候选服务的Cost属性,表示联盟关系优惠值。步骤S303:根据IFOA算法的移动操作,更新个体当前位置。步骤S304:判断是否到达最大迭代次数,未达到执行步骤S302,否则执行步骤S305。步骤S305:输出最优化组合服务实例。QualityofService,服务质量,指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术,当网络过载或拥塞时,QoS能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。本方案从联盟关系影响因素分析入手,分别对联盟关系阈值、联盟个数阈值以及联盟政策阈值三个参数进行实验,全面验证各参数对QoS联盟感知模型寻优结果的影响。并从effectiveness,efficiency,以及scalability三个角度分析IFOA、IPSO、IGA算法求解QoS联盟感知的服务组合优化问题的综合性能。一、数据集集合。本文采用公用数据集QWS和随机数据集RWS两种数据集。QWS数据集为Al-Masri,E.,andMahmoud,Q.H.,"Discoveringthebestwebservice",(poster)16thInternationalConferenceonWorldWideWeb(WWW),2007,pp.1257-1258。和Al-Masri,E.,andMahmoud,Q.H.,"QoS-basedDiscoveryandRankingofWebServices",IEEE16thInternationalConferenceonComputerCommunicationsandNetworks(ICCCN),2007,pp.529-534提出。RWS数据集是产生满足N(0,1)分布的数据组成的数据集合,具体产生方式如下。假设u,v∈[-1,1]的均匀分布的随机量,且u,v彼此独立,令s=u2+v2;则可以产生两个随机数z0,z1,产生公式如下:z0=u*-2*ln(s)sz1=v*-2*ln(s)s---(4)]]>为了保证ln(s)<0,要求s<1且s!=0,若满足条件,则可产生z0,z1,且z0,z1满足N(0,1)产生数据过程中,为了保证所得数据不小于0,则利用正态分布特性P(μ-3σ<X≤μ+3σ)=99.7%,将z0,z1右平移3个单位,可得实验数据。为了更具可信度,产生多峰值的实验数据,利用每100组数据进行一次上述过程,最后,进行统一归一化处理。二、分析影响1)阈值的影响在联盟关系的获取过程中,联盟关系阈值p1(p1∈[0,1])直接影响候选服务中存在联盟关系的服务个数。对于任意服务si,若α>p1,则认为si存在联盟关系,α表示[0,1]之间的随机数。当p1值越小,联盟数量越多。因此,为更好的模拟实际服务之间的联盟规则,采取p1=0.9,以0.01为步长,最大值为0.99进行实验,在联盟个数阈值等于0.0005的情况下,联盟政策阈值等于0.05,平均适应度如图12-16所示,时间开销如表9所示。均方根误差(RMSE)如表10所示,RMSE用于评测本文优化方法的稳定性,其计算公式为式(5)。RMSE=Σi=1n(Xi-X‾)2/n---(5)]]>其中表示n次重复试验结果平均值,Xi表示第i次寻优结果。由图12-16可以看出,在候选服务集规模从100至500时,整体而言,联盟关系阈值越大,适应度值越大,即实验结果越差。这是因为阈值越大,联盟关系个数越少,在同一数据集下,优惠的政策较小。但因联盟优惠政策和联盟关系的随机性,导致适应度值的局部波动。表9联盟关系阈值对时间开销的影响(ms)由表9可以看出,每个算法在不同的候选服务集中,在联盟关系阈值最大的情况下,时间开销最少。但由于随机性,这种大小关系并不是确定的,存在稍许波动,但差距不大,可以接受。表10联盟关系阈值对RMSE影响由表10可以看出,随着联盟关系阈值的变化,RMSE值也随之波动,但波动较小,并且在联盟关系阈值为0.9时稳定性最优次数最大。综上实验结果,综合考虑fitness、时间开销以及稳定性可得,本文联盟关系阈值取0.9,一方面可以最好地反映实验结果,同时也兼顾时间开销与稳定性。2)联盟个数阈值的影响联盟个数阈值是指对于以确定存在联盟关系的服务而言,该服务绑定的联盟个数,其阈值记为p2。本文假设服务的联盟个数上限为snum*tnum*p2,其中,snum表示所有候选服务个数,tnum表示任务数,即服务联盟个数随着候选服务数以及任务数增长而增加。联盟个数阈值p2的实验取值从0.0001递增为0.001,在关系阈值等于0.95,优惠政策阈值等于0.05的情况下,100次重复实验可得实验结果的适应度如图17-21所示,时间开销如表11所示,稳定性RMSE如表12所示。从如图17-21可以看出,随着阈值p2的增加,每个服务的联盟个数增加,整体的关系数量增加,适应度整体而言呈下降趋势,组合服务越优。但仍存在随机数的影响,导致局部呈波动状态,但在整体变化趋势中,该影响较小。总之,随着联盟个数阈值的增加,适应度呈现出越优化的趋势。表11联盟个数阈值对时间开销影响(ms)由表11可以看出,整体而言,随着联盟个数阈值的增加,联盟关系个数逐步增加,关系表查询时间逐步增加,时间开销逐步增大。在联盟个数阈值较小的情况下,由于随机数的随机性,联盟关系个数只是有概率增加,所以出现少许波动现象,但不影响整体的变化趋势,即随着联盟个数阈值的增加,时间开销逐步增加。表12联盟个数阈值对RMSE影响由表12可以看出,随着联盟个数阈值的增加,RMSE仍呈现出离散型分布特点,但整体的变化趋势是稳定次数逐步增多。例如在联盟个数阈值为最大的情况下,有3次达到最稳定状态,而其他情况下,均小于3次,并且随着联盟个数阈值的增加,稳定次数呈递增变化。综合上述结果,为保证实验的实际意义,采用联盟个数阈值为0.0009,不仅可以获得最优的适应度值,而且可以获得最优的稳定性,虽然时间开销相比于其他阈值稍大,但仍在2秒之内,是可以接受的。3)联盟政策阈值的影响联盟政策阈值是指每个联盟关系优惠政策比例的上限,记为p3,根据公式(1)、(2),确定优惠政策γ(x)。联盟政策阈值直接影响每个联盟关系的优惠值,为了更真实的模拟实际联盟情况,实验中p3采用0.01至0.1,以0.01为步长分组重复实验,在联盟关系阈值等于0.95,联盟个数阈值等于0.0005的情况下,100次重复实验所得适应度如图22-26所示、时间开销如表13、稳定性如表14所示。由图22-26可以看出,随着联盟政策阈值的增加,IPSO与IGA呈现出波动现象,IFOA呈微弱递减趋势。其中,出现波动是因为优惠政策的随机性,导致优惠政策并不是按照单调趋势变化,但不影响整体的变化趋势。整体而言,随着联盟优惠阈值的增加,组合服务的适应度值呈递减变化趋势。表13联盟政策阈值对时间开销影响(ms)由表13可以看出,随着联盟政策阈值的增加,时间开销方面呈现出两极化分布。理论上而言,联盟政策阈值的变化,不会影响整体联盟关系数量的变化,对时间开销方面的影响很小,实验结果表明,时间开销最小多分布在联盟政策阈值为0.04和0.09处,但整体而言,时间开销差距非常小。表14联盟政策阈值对稳定性影响由表14可以看出,RMSE随着联盟政策阈值的变化呈离散分布,没有统一的变化趋势,同一数据集下,各数据之间差距很小,相比于候选服务数可以忽略不计。综合实验结果,为保证实验效果和兼具高效与稳定性,联盟政策阈值采取0.1。以上阈值的确定,为QoS联盟感知的服务组合模型与算法性能的分析奠定了基础。接下来,我们从effectiveness有效性,efficiency效率,stability可扩展性三个方面分别分析各算法的求解性能,各算法种群规模设为100,进化代数500,在QWS和RWS数据集重复执行100次实验,取平均值作为实验结果。三、有效性验证了基于ARQasco方法的可解性,提出的算法的有效性,在一般的健身评估和提高利率时的候选服务的数量从100变化到500,对考虑联盟关系和未考虑联盟关系进行对比实验。该提高率计算如下:improve_rate=fitnessold-fitnessnewfitnessold---(6)]]>其中,fitnessold表示没有考虑联盟关系的适应度值,fitnessnew表示考虑联盟关系之后的适应度值。首先,我们从算法平均适应度对有效性进行分析,均采用100次重复试验取其均值的方式作为最后的实验结果。结果如图27和图28所示。由图27可以看出,在QWS数据集中,横向比较可得IFOA寻优效果稍优于IPSO与IGA,纵向而言,考虑联盟关系的IFOA、IPSO、IGA寻优效果分别显著优于没考虑联盟关系的FOA、PSO、GA。在RWS数据集中,横向而言,随着服务规模的增加,IGA算法逐步优于其他算法,纵向考虑,仍为考虑联盟关系的算法分别优于没考虑联盟关系的算法。综上可得,考虑联盟关系的算法在QWS与RWS数据集中,相比于传统算法都能找到更优的结果。接下来,我们对考虑联盟关系的三种算法提高率进行分析,实验结果如图29和图30所示。由图29可以看出,在QWS数据集中,随着服务规模的增加,三种算法提高率呈递增变化趋势。同样,从图30看出,在RWS数据集下,三种提高率整体呈现递增变化。因此,随着服务规模的增加,考虑联盟关系要明显优于未考虑联盟关系,三种算法都能取得较好的提高率。四、效率为分析各算法在QoS联盟感知的服务组合求解中的时间开销,针对不同的候选服务规模,将考虑联盟关系和未考虑联盟关系的组合服务寻优时间性能进行对比,实验结果如图31和图32所示。由图31可以看出,在QWS数据集中,虽然考虑联盟关系的改进算法在时间开销方面显著大于没考虑联盟关系的算法,但总时间消耗不超过2秒。从图32可知,在RWS数据集中,整体变化趋势与QWS数据集一致,表明联盟背景下的服务组合问题具有可行性。所以,在QWS数据集与RWS数据集中,在时效性方面,利用智能优化算法均能够在可以接收的时间范围内求解QASCO问题。五、可扩展性本文利用均方根误差(RMSE)作为可扩展性评价参数,其计算公式为式(5)。实验结果如图33和图34所示。由图33与34可以看出,在QWS数据集中,整体而言,除了第一个异常点外,FOA及其改进IFOA的稳定性优于其他算法,虽然随着服务规模的增加,稳定性呈下降趋势,但FOA的下降趋势最小。在RWS数据集中,随着服务规模的增加,GA的稳定性逐步优于其它算法,稳定性虽然整体呈现出下降趋势,但并不明显。在QWS和RWS数据集中,考虑联盟关系的群体智能优化算法整体上略优于未考虑联盟关系的情形。通过以上四个方面的分析,在QoS联盟感知的服务组合优化模型中,常用的群体智能优化算法,均可以取得良好的有效性、高效性以及稳定性,可以很好的用于解决QoS联盟感知的服务组合问题。因此,本文算法具有很好地可行性、有效性和普适性。并且,考虑联盟关系的实验结果整体上均优于没考虑联盟关系的情形。以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1