首页> 中国专利> 网络系统中SOA架构下基于服务质量的服务组合方法

网络系统中SOA架构下基于服务质量的服务组合方法

摘要

本发明公开了一种网络系统中SOA架构下基于服务质量的服务组合方法,在将分布式的组合模式数据存入计算机存储器后,包括以下步骤:读取分布式组合模式描述文件;确定功能上匹配的候选web服务资源池;进行统计处理;建立统计区间表示;对每个连续的质量指标统计区间进行离散化;对每个分布式计算节点在初始质量约束下进行局部启发式选择;得到该质量约束下的一个服务代表,利用每个分布式计算节点得到的服务代表,将SOA架构下的服务组合问题转化为一个等价MIP问题;利用整数规划技术求解该MIP问题得到一个最优服务组合方案。本发明整个SOA架构下的服务组合优化选择过程完全由计算机自动实现,提高了服务组合的自动化和运行效率。

著录项

  • 公开/公告号CN101977213A

    专利类型发明专利

  • 公开/公告日2011-02-16

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN201010508642.4

  • 发明设计人 齐连永;窦万春;王励民;

    申请日2010-10-18

  • 分类号H04L29/08(20060101);

  • 代理机构32237 江苏圣典律师事务所;

  • 代理人黄振华

  • 地址 210093 江苏省南京市汉口路22号南京大学蒙民伟楼612室

  • 入库时间 2023-12-18 01:48:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-07

    未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20121128 终止日期:20151018 申请日:20101018

    专利权的终止

  • 2012-11-28

    授权

    授权

  • 2011-04-27

    著录事项变更 IPC(主分类):H04L29/08 变更前: 变更后: 申请日:20101018

    著录事项变更

  • 2011-03-30

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20101018

    实质审查的生效

  • 2011-02-16

    公开

    公开

说明书

技术领域

本发明涉及一种SOA(Service-Oriented Architecture,面向服务的体系结构)架构下基于服务质量的启发式服务组合方法,尤其适用于分布式环境下接入网络的便携计算设备,针对用户的特定服务质量需求,快速地选取最优的服务组合方案,以满足用户的实时响应要求。

背景技术

在SOA架构下,不同的计算节点上描述的服务对象、组织实体间需要相互进行信息、数据、资源的交互而完成某一分布式组合业务流程。在执行这一业务流程时需要将分布式计算节点上的服务对象和组织实体实例化--即从能满足计算节点的海量数据计算需求的服务对象、组织实体中选取最合适的组合方案,参与到分布式组合业务流程的执行中来。目前,在SOA架构下已经提出的基于资源质量(QoS)的服务组合方法,是将基于服务质量的服务组合问题抽象转化为一个等价的混合整数规划问题,通过求解该整数规划问题得到原组合问题的最优组合方案[QoS-Aware Middleware for web service composition in IEEE Transaction On Software Engineering(Liangzhao Zeng,Boualem Benatallah,Marlon Dumas,Jayant Kalagnanm,and Henry Chang,IEEETransactions On Software Engineering,Vol.30,No.5,May 2004)]。但是在当今企业级的B2B和B2C大规模商业应用中,当分布式组合流程中计算节点数量众多或者每个计算节点对应的资源池拥有海量候选服务对象时,求解最优组合方案的问题空间较大,导致计算机寻找最优服务组合方案时效率低下,不能满足用户的实时需求。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种网络系统中SOA架构下基于服务质量的服务组合方法,该方法可以优化计算机在大型的系统服务调用过程中的效率,最大限度的节约计算机的系统资源。

为了解决上述技术问题,本发明公开了一种网络系统中SOA架构下基于服务质量的服务组合方法,在将分布式环境下的分布式组合模式数据文件存入计算机存储器后,包括以下步骤:

CPU读取存入计算机存储器的分布式组合模式描述文件;

为SOA架构下分布式组合模式描述文件中的每一个分布式计算节点确定匹配的候选web服务资源池,所述web服务资源池包含一组服务对象;

分析每个计算节点所对应的候选web服务资源池,对服务对象的每一个质量指标进行统计,所述质量指标为web服务资源池中的服务对象的参数;

建立每个分布式计算节点所对应的服务资源池在各个质量指标上的统计区间表示文件;

对每个连续的质量指标统计区间进行离散化得到一组该指标对应的离散质量水平;

局部启发式选择:对每个分布式计算节点在质量约束下进行局部启发式选择;

判断局部启发式选择的结果是否为空;

若结果为空,则对质量约束进行放宽,然后在放宽后的质量约束下重新进行局部启发式选择;

若结果不为空,则计算局部启发式选择结果中的每个服务对象的效用值,并将具有最大效用值的服务对象作为该质量约束下的一个服务代表,并将服务代表的计数器加1,进行下一步骤;

判断是否服务代表的计数器达到预定数量或者质量约束不能继续放宽;如果上述计数器达到预定数量或者质量约束不能继续放宽,则转下一步;否则,对质量约束进行放宽,重复局部启发式选择;

利用每个分布式计算节点的服务代表作为候选,以组合方案的聚合效用值作为SOA架构下服务组合的最优化目标函数,将全局质量约束作为限制条件,将基于服务质量的服务组合转化为混合整数规划;

利用整数规划方法计算所述满足限制条件且最大化目标函数的最优服务组合。

本发明中,分布式环境下分布式组合模式数据文件、web服务资源池的质量指标及指标取值、外界用户的全局质量约束是通过建立了标签的XML文件形式提供。

本发明中,对每个分布式计算节点在初始质量约束下进行局部启发式选择包括以下步骤:

(601)从服务资源池中选择一个候选服务对象;

(602)读取以XML文件存储的针对单个分布式计算节点的单维质量约束;

(603)判断候选服务对象是否满足单维质量约束,若不满足,则跳至步骤606,否则转下一步;

(604)判断是否所有维的质量约束遍历完全,若否,则跳至步骤602,否则转下一步;

(605)将该服务对象存入服务资源池对应的合格队列;

(606)判断服务资源池中的候选服务对象是否遍历完全,若是,则结束,否则返回步骤(601)。

本发明中,根据局部效用公式计算局部启发式选择结果中的每个服务对象的效用值,所述局部效用公式为:

us=Σwsum*maxsum-ssumMAXsum-MINsum+1nΣwave*maxave-saveMAXave-MINave+Σwmul*maxmul-smulMAXmul-MINmul,

其中,us是服务对象s的聚合效用值;∑为取和操作;sum表示聚合类型为相加的负指标、ave表示聚合类型为平均的负指标、mul表示聚合类型为相乘的负指标;wsum表示相加聚合指标的权重、wave表示平均聚合指标的权重、wmul表示相乘聚合指标的权重(取值范围在0到1之间任意实数);maxsum表示服务对象s所在的服务资源池中聚合类型为相加的指标最大值、maxave表示服务对象s所在的服务资源池中聚合类型为平均的指标最大值、maxmul表示服务对象s所在的服务资源池中聚合类型为相乘的指标最大值;ssum表示服务对象s的聚合类型为相加的指标取值、save表示服务对象s的聚合类型为平均的指标取值、smul表示服务对象s的聚合类型为相乘的指标取值;MAXsum和MINsum分别表示所有组合方案中聚合类型为相加的指标最大值和最小值,MAXave和MINave分别表示所有组合方案中聚合类型为平均的指标最大值和最小值、MAXmul和MINmul分别表示所有组合方案中聚合类型为相乘的指标最大值和最小值。

有益效果:本发明公开的网络系统中SOA架构下基于服务质量的服务组合方法,从建立对分布式组合模式描述开始,整个服务对象的评估选取过程完全由计算机实现,提高了服务组合的自动化程度;同时运用局部启发式服务选择使得问题空间得以缩小,从而提高了组合效率,满足了用户的实时需求。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1为本发明流程图。

图2为分布式组合模式中的逻辑关系。

图3为实施例中服务组合、服务选取环境下的SOA服务三角模型。

图4为针对每个分布式计算节点的局部启发式选择步骤。

图5为本发明中的B2C服务组合流程示例。

具体实施方式:

下面结合附图对本发明做更进一步的解释。

实施例1

如图1所示,本发明公开了一种网络系统中SOA架构下基于服务质量的服务组合方法,在将分布式的组合模式数据存入计算机存储器后,开始程序运行后包括以下步骤:步骤1,CPU读取存入计算机存储器的分布式组合模式描述文件;步骤2,为SOA架构下分布式组合模式中的每一个分布式计算节点确定功能上匹配的候选web服务资源池;步骤3,分析每个计算节点所对应的候选服务资源池,在资源池中对每一维质量指标进行统计处理;步骤4,建立每个分布式计算节点所对应的服务对象池在各个质量指标上的统计区间表示;步骤5,对每个连续的质量指标统计区间进行离散化得到一组该指标对应的离散质量水平;步骤6,对每个分布式计算节点在初始质量约束下进行局部启发式选择;步骤7,判断局部选择的结果是否为空;步骤8,若结果为空,则对初始质量约束进行放宽;步骤9,若结果不空,则按照局部效用公式计算局部启发式选择结果中的每个服务对象的效用值,并将具有最大效用值的服务对象作为该质量约束下的一个服务代表,并将服务代表的计数器加1;步骤10,判断是否服务代表的计数器达到预定数量或者质量约束不能继续放宽;如果上述两个条件中的任何一个得以满足,则转下一步;否则,对质量约束进行放宽,重复局部启发式选择过程;步骤11,若是,则利用每个分布式计算节点的服务代表作为候选,以组合方案的聚合效用值作为SOA架构下服务组合的最优化目标函数,将用户的全局质量约束作为限制条件,将基于服务质量的服务组合问题转化为一个等价的MIP(混合整数规划)问题;步骤12,利用整数规划方法计算所述满足限制条件且最大化目标函数的最优的服务组合方案。所述分布式的分布式服务组合模式、web服务对象的质量指标及指标取值、外界用户的全局质量约束是通过建立了标签的XML文件形式提供。

XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。作为一种简单的数据存储语言,XML使用一系列简单的标记描述数据,是Internet环境中跨平台处理结构化文档信息的有力工具。

如图4所示,针对单个分布式计算节点的局部启发式服务选择过程包括以下步骤:步骤601,从服务资源池中选择一个候选服务对象;步骤602,读取以XML文件存储的针对单个分布式计算节点的单维质量约束;步骤603,判断候选服务对象是否满足单维质量约束,若不满足,则跳至步骤606,否则转下一步;步骤604,判断是否所有维的质量约束遍历完全。若否,则跳至步骤602,否则转下一步;步骤605,将该服务对象存入服务资源池对应的合格队列;步骤606,判断服务资源池中的候选服务对象是否遍历完全。若是,则结束,否则返回步骤601。

步骤1:SOA架构下的分布式组合模式定义了参与组合业务流程的各个分布式计算节点之间的逻辑顺序,相邻计算节点之间的四种逻辑关系如图2所示,其逻辑关系通过XML逻辑文件定义如下:

<LogicSchema>

  <schema>

    <name>sequential</name>

    <predecessor>t1</predecessor>

    <successor>t2</successor>

  </schema>

  <schema>

    <name>parallel</name>

    <predecessor>t0</predecessor>

    <successor>t1</successor>

    <successor>t2</successor>

  </schema>

  <schema>

    <name>conditional</name>

    <predecessor>t0</predecessor>

    <successor>t1</successor>

    <successor>t2</successor>

  </schema>

  <schema>

    <name>loops</name>

    <predecessor>t1</predecessor>

    <successor>t2</successor>

    <predecessor>t2</predecessor>

    <successor>t1</successor>

  </schema>

</LogicSchema>

以上文件格式是使用本发明时必须遵循的格式。sequential、parallel、conditional、loops分别表示图2a、图2b、图2c、图2d中描述的顺序、并行、选择和循环四种逻辑关系。predecessor和successor分别表示某一逻辑关系的前驱和后继。上述XML文件定义了组合业务流程中各分布式计算节点之间的逻辑关系和拓扑结构,便于SOA架构下服务组合的自动化执行。由于parallel、conditional和loops逻辑关系均可通过现有技术转化为sequential逻辑,因此只需讨论sequential逻辑即可。

步骤2:在分布式组合环境下需要通过如图3所示的服务三角模型为各分布式计算节点选择合适的业务角色候选资源。图3包括SOA架构下的参与分布式组合业务流程的三个主体:服务请求者、服务提供者以及服务注册中心。服务请求者可以向服务提供者提出服务调用请求或在服务注册中心进行服务查询操作,服务提供者在注册中心进行服务注册,发布其服务内容,包括功能属性和服务质量属性。当注册一个新的web服务时,服务提供者需要向服务注册中心发布其web调用接口,主要包括输入/输出参数(I/O),消息类型、操作内容和功能描述等。同时服务提供者还需向注册中心提供其自身信息,如发布机构、联系途径以及请求该web服务的URL。服务请求者期望找到符合自身需求的web服务对象,从而可以较小代价(不需要自己开发该服务功能)完成自身特定的复杂需求。为此,服务请求者需要在注册中心的注册服务库中寻找其需要的服务对象,然后绑定该服务,并根据提供者发布的服务描述向服务提供者请求该服务。通过上述服务请求过程,分布式组合流程中的每个计算节点都可以确定能够满足其功能需求的候选服务资源池。

步骤3:候选服务资源池中服务对象的质量信息由服务提供者在发布时予以公开,并以XML质量文件形式存储在服务注册中心。XML质量文件存储了一个服务对象相关的质量指标以及该服务对象在各指标上的取值。一个服务的质量文件定义如下:

<QualityFile>

   <qualityvariants>

     <name>price</name>

     <value>Vprice</value>

   </quality variants>

   <quality variants>

     <name>reputation</name>

     <value>Vrep</value>

   </quality variants>

   <quality variants>

     <name>availability</name>

     <value>Vavail</value>

   </quality variants>

   <quality variants>

     <name>duration</name>

     <value>Vdur</value>

   </quality variants>

   <quality variants>

     <name>successful rate</name>

     <value>Vsuc</value>

   </quality variants>

</QualityFile>

范例XML文件中给定的五个质量指标来自于文献[QoS-Aware Middleware for webservice composition in IEEE Transaction On Software Engineering(Liangzhao Zeng,Boualem Benatallah,Marlon Dumas,Jayant Kalagnanm,and Henry Chang,IEEE Transactions On Software Engineering,Vol.30,No.5,May 2004)]中提出的服务质量判定参数。在执行本方法时,质量判定参数可以依据具体不同的服务发布或服务需求进行增删以满足具体应用的需要。通过读取服务发布者发布的XML质量文件,可以得到该服务对象的具体质量指标及指标取值,从而完成对单个分布式计算节点所对应的服务资源池在某一指标上的取值统计。

步骤4:通过对得到的离散统计值进行最大最小操作,即可得到每个计算节点对应的候选服务池在某一质量指标上的取值区间。一个质量指标的取值区间表示了服务资源池中的候选服务在该质量指标上能够取值的最大值和最小值。

步骤5:质量指标取值区间内的每一个点代表对应指标的一个质量水平。由于一个区间内有无数个点,因此为了求解方便需对取值区间进行离散化,从而得到一组离散的质量水平。

步骤6:每一组质量水平都可以用作单个计算节点的质量约束来对服务资源池中的服务对象进行质量筛选。对于正指标,最大质量水平作为初始质量约束;对于负指标,最小质量水平作为初始质量约束,从而得到一组初始质量约束。利用初始质量约束对服务对象进行质量筛选,匹配的服务对象存入对应服务资源池的合格队列。

步骤7:判断合格队列是否为空。

步骤8:如果队列为空,则将每一维指标的质量约束放宽一个步长得到一组新的质量约束。对于正指标,放宽一个步长意味着其质量约束下界缩小一个质量水平;而对于负指标,放宽一个步长是指其约束上界增大一个质量水平。

根据新的质量约束,重复步骤6中的局部启发式选择过程。

步骤9:如果队列不空,则利用公式:

us=Σwsum*maxsum-ssumMAXsum-MINsum+1nΣwave*maxave-saveMAXave-MINave+Σwmul*maxmul-smulMAXmul-MINmul---(1)

中的局部效用函数计算合格队列中所有服务对象的聚合效用值,将具有最大聚合效用值的服务对象作为该质量约束下的服务代表,并将服务代表的计数器加1。

步骤10:判断是否服务代表的计数器达到预定数量或者质量约束不能继续放宽;若两个条件都不满足,则对质量约束进行放宽,并重复步骤6-10的局部选择过程。

步骤11:如果服务代表的计数器达到预定数量或者质量约束不能继续放宽,则将每个分布式计算节点的服务代表作为候选对象,组成新的问题求解空间。组合方案在某一质量指标上的取值与该指标的聚集类型有关,常用的聚集类型有相加型、评价型和相乘型[QoS-Aware Middleware for web service composition in IEEE Transaction On Software Engineering(Liangzhao Zeng,Boualem Benatallah,Marlon Dumas,Jayant Kalagnanm,and Henry Chang,IEEE Transactions On Software Engineering,Vol.30,No.5,May 2004)]。此外,组合方案的各质量指标取值应符合如下以XML文件形式表示的用户质量约束:

<Quality Contraint>

  <variants>

    <name>price</name>

    <upperbound>Cprice</upperbound>

  </variants>

  <variants>

     <name>reputation</name>

     <lowerbound>Crep</lowerbound>

  </variants>

  <variants>

     <name>availability</name>

     <lowerbound>Cavail</lowerbound>

  </variants>

  <variants>

     <name>duration</name>

     <upperbound>Cdur</upperbound>

  </variants>

  <variants>

     <name>successful rate</name>

     <lowerbound>Csuc</lowerbound>

  </variants>

</QualityContraint>

范例文件中给出的五个质量约束分别对应于质量文件中的五个不同指标。其中指标price和duration是负指标,其值越小服务性能越优,因此在XML质量约束文件中只体现其上界约束值upperbound(下界约束值一般默认为0);而对于reputation、availability和successful rate等正指标,其值越大服务性能越优,因此在质量约束文件中只体现其下界约束值lowerbound(上界约束值一般默认为100%或无穷大)。

整数规划[参见文献Applied Integer Programming:Modeling and Solution(Der-SanChen,Robert G.Batson and Yu Dang,Number of Pages:468,Wiley,2010)]是要求问题中的全部或部分变量是整数的规划,是求解组合最优化问题的一种方法。由于每个候选对象要么被选择,要么不被选择,因此原来的服务组合问题等价于一个0-1整数规划问题。在确定了问题求解空间和目标函数之后,以变量约束和全局质量约束作为限制条件,将基于服务质量的服务组合问题转化为一个等价的MIP(混合整数规划)问题。

步骤12:利用成熟的整数规划求解方法解决该MIP问题得到最优的服务组合方案。

实施例2

网络系统中SOA架构下基于服务质量的服务组合方法的基本出发点是,将组合方案的全局聚合效用值函数进行分解得到局部启发式效用值函数,按照局部启发式效用值函数进行局部选择得到服务代表,利用服务代表将原服务组合问题转化为等价混合整数规划问题。应用现有成熟的整数规划方法求解问题,得到最优的组合方案。

以如下B2C业务流程的服务组合为例介绍本发明方法的具体实施例。

某用户希望通过手机获取视频网络服务,该B2C业务流程涉及三个计算节点的交互组合。如图5所示,编码(transcoding)节点用于对视频内容进行编码,压缩(compression)节点对编码后的内容进行压缩,支付(payment)节点实现支付功能。

步骤1:CPU读取存入计算机存储器的分布式组合模式描述文件,分布式组合模式中三个计算节点之间为顺序sequential逻辑关系,其XML逻辑文件定义如下:

<LogicSchema>

   <schema>

     <name>sequential</name>

     <predecessor>transcoding</predecessor>

     <successor>compression</successor>

     <predecessor>compression</predecessor>

     <successor>payment</successor>

   </schema>

</LogicSchema>

步骤2:为SOA架构下分布式组合模式数据文件中的每一个分布式计算节点确定功能上匹配的候选web服务资源池,所述web服务资源池包含一组服务对象;假设每个分布式计算节点对应10个功能性匹配的候选服务对象:服务对象s10~服务对象s19,服务对象s20~服务对象s29,服务对象s30~服务对象s39

步骤3:分析每个计算节点所对应的候选服务资源池,对服务对象的每一个质量指标进行统计处理,所述质量指标为web服务资源池中的服务对象的参数;每个计算节点所对应的候选服务对象的质量指标由如下XML质量文件描述,每个质量文件涉及三个质量指标:价格price、声誉度reputation、可用性availability,其聚集类型分别是相加型(Summation)、平均型(Average)、相乘型(Multiplication)。其中价格price为负指标,而声誉度reputation和可用性availability为正指标。

<QualityFile>

   <quality variants>

      <name>price</name>

      <value>Vprice</value>

      <aggregationType>Summation</aggregationType>

   </quality variants>

   <quality variants>

      <name>reputation</name>

      <value>Vrep</value>

      <aggregationType>Average</aggregationType>

   </quality variants>

  <quality variants>

    <name>availability</name>

    <value>Vavail</value>

    <aggregationType>Multiplication</aggregationType>

  </quality variants>

</QualityFile>

通过读取XML质量文件,得到每个服务对象的质量指标值如表1:

表1:

步骤4:建立每个分布式计算节点所对应的服务资源池在各个质量指标上的统计区间表示文件;对表中1中服务对象s10~服务对象s19,服务对象s20~服务对象s29,服务对象s30~服务对象s39的质量指标值进行最大最小操作(分别选取最大值和最小值),得到每个计算节点的服务资源池在每个质量指标上的取值区间表示文件,如表1最后一行所示内容。

步骤5:对每个连续的质量指标统计区间进行离散化得到一组该指标对应的离散质量水平levelil-levelid(1≤i≤3,不同的i代表不同的计算节点;d为离散质量水平的数量),其计算方法如下:

对于负指标,levelik=rangelow+(k-1)*(rangeupp-rangelow)/(d-1)(其中1≤k≤d);

对于正指标,levelik=rangeupp-(k-1)*(rangeupp-rangelow)/(d-1)(其中1≤k≤d)。

设离散化参数d=5,则每个质量指标的取值区间离散化为5个质量水平,如表2所示,两个相邻质量水平之间的差值为一个步长。

表2:

设满足条件的服务代表的上限个数为3。下面以编码节点transcoding为例进行实施例说明。

步骤6:对每个分布式计算节点在初始质量约束下进行局部启发式选择;对于编码节点transcoding,其初始用户质量约束为level11,即{price∈[0,71],reputation∈[99%,100%],availability∈[100%,100%]}。从transcoding对应的10个候选服务对象s10~s19中选择符合质量约束level11的候选服务。

(601)读取候选服务对象s10{227,88,96}。

(602)读取level11中的单维约束price∈[0,71]。

(603)服务s10的价格price为227,不满足约束price∈[0,71]。跳至步骤(606)。

(606)剩余候选服务为s11~s19,没有遍历完毕,返回步骤(601)。

重复步骤(601)~(606)直至遍历完transcoding对应的10个候选服务对象s10~s19

步骤7:候选服务对象s10~s19中选择符合质量约束level11的结果为空。

步骤8:将level11中的各个子约束放宽一个步长(对于负指标,其约束上界增加一个步长;对于正指标,其约束下界减少一个步长)到一组新的质量约束level12{price∈[0,115.5],reputation∈[89%,100%],availability∈[90%,100%]},重复上述选择过程结果为空;继续放宽约束得到level13{price∈[0,160],reputation∈[79%,100%],availability∈[80%,100%]},符合level13的有s11~s15共五个候选服务,存入合格队列queue11

步骤9:按照公式(2)中的效用值函数计算合格队列queue11中s11~s15的效用值如表3所示,并将效用值最大的服务对象s15(效用值为0.197689)作为质量约束level13下的服务代表,服务代表计数器为1。

uk=wprice*maxtransprice-s1kpriceMAXprice-MINprice+13wrep*s1krep-mintransrepMAXrep-MINrep+wavail*s1kavail-mintransavailMAXavail-MINavail---(2)

其中,u1k是服务s1k的效用值;wprice、wrep、wavail分别表示价格price、声誉度reputation、可用性availability的权重;MAXprice(MINprice)、MAXrep(MINrep)、MAXavail(MINavail)分别代表所有组合方案在价格price、声誉度reputation、可用性availability上的最大值(最小值),其值可以依据指标的聚集方式(相加型、平均型和相乘型)计算获取,本例中最大最小值分别是1492(188)、97.67(36.67)、980100(38400);是编码节点transcoding对应的10个候选服务对象在价格price上的最大值,本例中其值为249;分别表示编码节点transcoding对应的10个候选服务对象在声誉度reputation和可用性availability上的最小值,本例中其值分别为59、60;分别表示服务s1k在价格price、声誉度reputation、可用性availability上的取值。假设三个质量指标的权重分别为wprice=0.5,wrep=0.3,wavail=0.2,则合格队列中候选服务对象的效用值计算结果如表3:

表3

步骤10:服务代表计数器小于预先设定的数目,即1<3。继续放宽质量约束至level14{price∈[0,204.5],reputation∈[69%,100%],availability∈[70%,100%]},符合level14但不符合level13的候选服务对象为s16和s17,存入另一个合格队列queue12,得另一服务代表s16(效用值为0.163040),服务代表计数器为2。由于2<3,继续放宽至level15{price∈[0,249],reputation∈[59%,100%],availability∈[60%,100%]},符合level15但不符合level14的候选服务对象为s10、s18和s19,存入合格队列queue13,得另一服务代表s10(效用值为0.132434),服务代表计数器为3。由于3=3,该步骤结束。对于压缩节点compression,其合格队列中候选服务对象的效用值计算结果如表4:

表4:

对于支付节点payment,其合格队列中候选服务对象的效用值计算结果如表5:

表5:

步骤11:依据聚合效用值计算结果,每个计算节点对应三个服务代表:transcoding(s10,s15,s16),compression(s26,s28,s29),payment(s32,s33,s39)。利用服务代表,将基于服务质量的服务组合转化为混合整数规划,其中混合整数规划的目标函数如公式(3)所示。

uCS=wprice*MAXprice-CSpriceMAXprice-MINprice+13wrep*CSrep-MINrepMAXrep-MINrep+wavail*CSavail-MINavailMAXavail-MINavail---(3)

其中从每个计算节点的服务代表中选出一个形成组合方案CS,uCS是组合方案的聚合效用值;CSprice、CSrep、CSavail分别表示组合方案CS在价格price、声誉度reputation、可用性availability上的取值;wprice、wrep、wavail分别表示价格price、声誉度reputation、可用性availability的权重值;MAXprice(MINprice)、MAXrep(MINrep)、MAXavail(MINavail)分别代表所有组合方案在价格price、声誉度reputation、可用性availability上的最大值(最小值)。

用户的XML质量约束文件表示如下,其中包含了价格price的约束上界以及声誉度reputation和可用性availability的约束下界:

<QualityContraint>

  <variants>

    <name>price</name>

    <upperbound>1000</upperbound>

  </variants>

  <variants>

    <name>reputation</name>

    <lowerbound>70</lowerbound>

  </variants>

  <variants>

    <name>availability</name>

    <lowerbound>60</lowerbound>

  </variants>

</QualityContraint>

服务组合问题中的质量约束转化为混合整数规划中的等价约束,即:CSprice≤1000,CSrep≥70,CSavail≥60。经过上述过程,SOA架构下基于服务质量的服务组合问题转化为一个等价的混合整数规划问题。

步骤12:整数规划方法由于每个计算节点对应三个服务代表,所有可能的组合方案有33=27种,列举如表6所示。下面利用整数规划方法求解最优的服务组合方案,具体过程如下:对于每个组合方案,首先判断其聚合指标值是否满足用户的全局质量约束,若不满足则直接跳过不再考虑;否则利用公式(3)计算该组合方案的聚合效用值。重复上述过程直至所有27个组合方案都遍历完毕,并将具有最大聚合效用值的组合方案作为最终的近似最优的服务组合方案,方法结束。在本例中,具有最大聚合效用值的组合方案为CS18{s15,s29,s39}。

表6

本发明提供了一种网络系统中SOA架构下基于服务质量的服务组合方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号