




已阅读5页,还剩58页未读, 继续免费阅读
(计算机软件与理论专业论文)基于服务组合及其补偿的qos研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于服务组合及其补偿的q o s 研究与实现 基于服务组合及其补偿的q o s 研究与实现 专业:计算机软件与理论 硕士生:钟福通 指导教师:李师贤教授 摘要 随着w 曲服务的流行,w 曲服务技术已经从基础构建阶段走向大规模的商 业应用阶段。w 曲服务技术的流行使得网络上可访问的w e b 服务的数量急剧增 加,从而导致了大量的功能相同或相似的w r c b 服务出现。因此,在选择w 曲服 务时,有必要考虑w 曲服务的诸如价格、执行时间、可靠性等一些非功能性属 性,即q o s ( q u a l i t yo fs e r y i c e ) 。 另一方面,基于标准的w r e b 服务有利于用服务组合技术整合异构系统。w r e b 服务组合也逐渐地成为推动w 曲服务技术继续发展的技术动力和研究热点。一 个组合服务包含多个参与组合的w 曲服务,这些w 曲服务的质量直接影响着组 合服务的质量,所以,为组合服务选择质量较优w 曲服务显得非常重要。 当前q o s 的研究主要有两个方面,一是关于q o s 属性信息的实现框架,探 讨在当前w 曲s e i c e 标准中如何加入w 曲服务q o s 信息;二是服务组合的q o s 研究,探讨具有固定结构的组合服务q o s 与参与组合的w r e b 服务q o s 的关系。 本文的目的是研究并实现一般意义下的组合服务q o s 计算和优化,研究和 实现工作主要包括w 曲服务的开源实现框架、基于b p e l ( b u s i n e s sp r o c e s s e x e c u t i 彻l a n g u a g e ) 的服务组合以及q o s 的实现框架。完成q o s 相关的基础平 台搭建后,实现了具体的w 曲服务和服务组合,对服务组合及带补偿的服务组 合的q o s 进行探讨,并设计实现一种基于b p e l 规范和a c t i v e b p e l 引擎的组合 流程优化方法。最后,对组合流程优化方法进行了测试,对优化前后的组合流程 q o s 进行比较分析。 关键词:w 曲服务,服务组合,服务补偿,q o s ,优化 基于服务组合及其补偿的q o s 研究与实现 t h er e s e a r c ha n di m p l e m e n t a t i o no fq o sb a s e do n 一 j1j 1 1j 6 e r v l c eu 0 m d o s n l o na n nl ,0 m d e n s a n o n m a j o r :c o m p u t e rs o f 呐a r ea n dt i l l e o r ) , n a m e :z h o n gf u t o n g s u p e r v i s o r :p r o f e s s o ru s h i 】【i a n a b s t r a c t c u 盯e n t l yw 曲s e r v i c e st e c h n o l o g yh 勰b u i l t 仃o mt h ef o u n d a t i o ns t a g et ot h e s t a g e0 fr a p i dd e v e l o p m e n t0 fl a i g e s c a l ec o m m e r c i a la p p l i c a t i o n s t h en u m b e ro f w 曲s e i c e si s d r a m a t i c a l l yi n c r e a s i n g w i t ht h e p o p u l a r i t y o fw 曲s e i c e s t e c h n o l o g y w r e bs e r y i c e sp r 0 v i d i n gt h es 锄eo rs i m i l a r 向n c t i o nw i l lm u s h r o o m s u b s t a n t i a l l y s o ,i ti sn e c e s s a r yt 0c o n s i d e ra b o u tt h en o n f u n c t i o n a la t t 曲u t e so fw 曲 s e r v i c e ss u c h 签p r i c c ,e x e c u t et i m e ,r e l i a b i l i t y 锄ds 00 n ,w ec a ut h e s en o n - f l l n c t i o n a l a t t r i b u t e so fw 曲s e r v i c eq o s ( q u a l i t yo fs e r v i c e ) o nt h e0 t h e rs i d e ,i ti se a s yt 0i n t e 伊a t eh e t e r o g e n e o u ss y s t e m su s i n gw 曲 s e i c e sc o m p o s i t i o nt e c l u l 0 1 0 9 y 弱t h ew 曲s e r v i c e sa r en o 瑚- b a s e d w 曲s e i c e s c o m p o s i t i o ni sb e c o m i n gt h er e s e a r c hh o t p o tt op r o m o t et h ec o n t i n u e dd e v e l o p m e n t 0 fw 曲s e r v i c e st e c h n o l o g y aw e bs e r v i c e sc 0 m p o s i t i o ni n t e r a c t sw i t hm a n yw 曲 s e i c e st oi m p l e m e n ti t sb u s i n e s s ,t h eq o so ft h e s e ,e bs e i c e sa 骶c tt h eq o so f t h ew 曲s e i c e sc o m p o s i t i o nd i r e c t l y s o ,i ti sv e r yi m p o n 柚tt os e l e c tt h eq o s w e u w 曲s e r v i c e sf o rt h ew 曲s e i c e sc o m p o s i t i o n c u r r e n tr c s e a r c h e so nw 曲s e i c e sq o sm a i n l yf b c u so nt w oa r e a s o n ei st h e i m p l e m e n t a t i o na r c h i t e c t u r co fq o s ,d i s c u s s i n gh o wt 0i m p l e m e n tt h eq o si n t h e c u l l r e n tw 曲s e r v i c ca r c h i t e c t u r c t l l l e0 t h e ri sa b o u tt h eq u a l i t y0 ft h ew 曲s e i c c s c o m p o s i t i o n ,d i s c i i s s i n gt h eq o sr e l a t i o n s h i pb e t 、e e nt h ew 曲s e i c e sc o m p o s i t i o n a n dt h ew 曲s e r v i c e s ,w h i c hh a v ep a r t i c i p a t e di nt h ew 曲s e r v i c ec o m p o s i t i o n o u r p u 印o s e s 盯et or e s e a r c h 彻di m p l e m e n t t h ec o m p u t a t i o n 孤do p t i m i z a t i o no n t h eg e n e r a lw e bs e i c e sc 0 m p o s i t i o n sq o s t h er e s e a i c ha n di m p l e m e n t a t i o ni nt h i s p a p e r i n c l u d et h e 0 p e n s o u r c e s o 行w a r e - b a s e dw 曲s e r v i c e s i m p l e m e n t a t i o n a r c h i t e c t u r e ,t h eb p e l 广b a s e d ( b u s i n e s sp r o c e s se x e c u t i 仰l a n g u a g e ) w 曲s e i c e s c o m p o s i t i o n ,柚dt h eq o si m p l e m e n t a t i o na r c h i t e c t u r e a f t e rf i n i s h e db u i l d i n gt h e q o s r e l a t e df o u n d a t i o n ,w ei m p l e m e n tt h ew 曲s e r v i c e s 觚ds e r v i c e sc o m p o s i t i o n , 基于服务组合及其补偿的q o s 研究与实现 锄dd i s c l l s st h eq u a l i t yo ft h ew 曲s e n ,i c c sc o m p o s i t i o na l l dc o m p e n s a t i o n i n c l u d e d w 曲s e i c e sc o m p o s i t i o n 舢s o ,w ed e s i 印a n di l i l p l e m e n taq o so p t i m i z a t i o n m e t h o df o rw 曲s e r v i c e sc o m p o s i t i o nb a s e do nb p e l 卸da d i v e b p e l e n 舀n e l a s t b u tn o tl e a s t ,w es u c c e s s f u l l yt e s tt h ew e bs e r v i c e sc o m p o s i t i o n 叩t i m i z a t i o nm e t h o d , c o m p a r ct h eq o so ft h ew 曲s e r v i c e sc o m p o s i t i o nb e f o r c 锄da f t e ri t s 叩t i m i z a t i o n , a n da n a l v z et h eq o sr c s u l t s k e yw o r d s :w e bs e r v i c e ,w e bs e i c ec o m p o s i t i o n ,w e bs e i c cc o m p e n s a t i o n , q o s ,0 p t i m i z a t i o n v 基于服务组合及其补偿的o o s 研究与实现 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体己经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:荔审柏 日期:矽昭年f 月字日 基于服务组合及其补偿的q o s 研究与实现 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定,即:学 校有权保留学位论文并向国家主管部门或其指定机构送交论文的电 子版和纸质版,有权将学位论文用于非赢利目的的少量复制并允许论 文进入学校图书馆、院系资料室被查阅,有权将学位论文的内容编入 有关数据库进行检索,可以采用复印、缩印或其他方法保存学位论文。 保密的学位论文在解密后使用本规定。 学位论文作者签名:弛泐a 导 日期:硎年占月8 日 日 基于服务组合及其补偿的q o s 研究与实现 1 1 研究背景 第1 章绪论 i b m 在i m p a c t2 0 0 7 会议上提出s o a 的本质在于业务敏捷,业务敏捷性是 指企业对快速业务的变更进行动态有效的响应,快速变更获得竞争优势的能力。 w 曲服务的组合能有效地实现企业业务的敏捷建模。当未来的互联网上出现了 大量w 曲服务时,企业的新应用需求就可以通过组合已有的w 曲服务来快速实 现,此时,程序员的主要工作也就转变为对服务的组合编排。面对大量实现相 同或者相近功能的w i e b 服务,为组合服务流程选择符合企业实际需求的w 曲 服务也就成为一个关键的问题。除了w r e b 服务的功能性指标外,还可以借助 q o s ( q u a l i t yo fs e r v i c c ) 解决这方面的问题,所谓q o s 指的是w 曲服务的非 功能性属性,例如性能、可靠性、可用性和安全性等。 有关w 曲服务的q o s 描述可以为服务消费者提供w 曲服务的非功能性指 标,并允许通过合适的选择机制选出满足服务消费者需要的最佳w 曲服务,增 加消费者使用该服务的信心。 1 2 相关研究现状 目前有关w r e b 服务的q o s 研究是一个研究热点,主要集中在两个方面:一 是关于q o s 属性信息的实现框架,探讨在当前的w 曲s e r v i c e 标准中如何加入 w 曲服务的q o s 信息;二是服务组合的q o s 研究,探讨组合服务q o s 与参与 组合的w 曲服务q o s 的关系。 1 2 1 q o s 框架的实现 1 基于u d d i 和s o a p 扩展的q o s 框架 文献【1 ,2 ,3 】中提出了对u d d i 和s o a p 进行扩展,在u d d i 中利用t m o d e l 增加q o s 属性的分类,存储服务提供者的w e b 服务的q o s 属性。当服务请求 者查找满足其q o s 需求的服务时,可以通过在s o :a p 头节点中添加q o s 属性来 基于服务组合及其补偿的q o s 研究与实现 表达其q o s 需求。文献【3 】中通过加入服务池,用于保存搜索结果。此时,服务 发布仍然通过u d d i 发布,并在发布的过程中加入其q o s 属性,而服务的请求 则变为对服务池搜索。服务请求者向q o s 代理发送包含q o s 信息的s o a p 消息, q o s 代理解析q o s 信息,然后再从u d d i 中查找需要的w 曲服务,把所有满足 请求者功能性要求的w 曲服务下载到服务池中,再从中选出最佳的服务。当找 到最佳服务时,服务请求者通过服务池与服务提供者建立绑定关系,服务提供 者和服务请求者之间不直接建立绑定关系的好处在于,当服务池与服务提供者 建立绑定失败时,服务池可以自动选择另一个最能满足请求者q o s 需求的w e b 服务。但这种q o s 框架的实现方法需改变现有的规范,不能很好地兼容那些不 带q o s 描述的w 曲服务的发布和查找。 2 基于w s d l 扩展的q o s 框架 文献【4 】对w s d l 文档进行了扩展,在w s d l 中增加q o s 的声明引用并增 加其语义信息。把q o s 属性划分成为两部分:第一部分为与服务运行有关的属 性,比如响应时间,可使用性等;第二部分为与服务运行无关的属性,比如代 价,可访问性等,这样做的目的在于区别w r e b 服务执行过程中需要监测的q o s 属性和不需要监测的q o s 属性。 针对w s d l 规范存在的两个问题:1 ) 结构异构和语义异构。结构异构是 指用不同的数据结构和类层次来定义接口参数;语义异构是指使用不同术语来 表达同一接口参数,缺少同样的语义解释会引发语义冲突。2 ) w 曲服务行为描 述信息不足,只重视服务功能语法,忽略w 曲服务的行为约束的刻画,不可避 免地导致服务组合不相容问题。文献【5 】提出了一种新的支持q o s 描述的w 曲 服务描述语言q w s d l ,其提出的q w s d l 由三部分组成: 1 基本描述。定义了服务的名字和服务的文本描述。 2 基调描述。通过本体定义消息类型t y p e ,通过输入输出来定义服务功 能,并定义了w r c b 服务的事前约束和事后约束。 3 服务质量描述。定义了服务质量模型q o s = 。 基于w s d l 扩展实现q o s 使得w e b 服务的q o s 更新变得困难,从而无法 2 基于服务组合及其补偿的q o s 研究与实现 很好地表达w 曲服务的q o s 不确定性。 3 q o s 代理机制 文献【6 】提出采用q o s 注册中心的实现方法,q o s 注册中心用于w r e b 服务 的q o s 信息的注册、存储和获取。当注册带有q o s 信息的w 曲服务时,首先 把w r e b 服务的功能性信息注册到u d d i ,从而得到全局唯一的b u s i n e s s 和s e r v i c e k e y ,利用这个键值和分离出来的q o s 信息,在q o s 注册中心注册。同样的, 当请求者发出带有q o s 需求的请求时,请求首先被引导至q o s 注册中心进行查 找,当查找到满足请求者非功能性需求的w 曲服务时,再到u d d i 中进一步查 找w 曲服务的具体描述。 文献【7 】提出了另一种q o s 代理机制,利用代理中的各模块实现w e b 服务 的q o s 信息管理。当服务提供者发布带有q o s 信息的w 曲服务时,首先使用 代理对其q o s 信息进行处理,然后再发布到u d d i 上;同样地,当服务请求者 发出带有q o s 信息的服务请求时,首先使用代理中的计算模块对q o s 属性进行 计算,并得出最能满足请求者需求的w 曲服务。同时,代理机制提供了一种反 馈机制,服务消费者使用w 曲服务后,把该w 曲服务的q o s 实际值反馈给代 理,从而确保w 曲服务的值得到及时的更新。 1 2 2 最优服务的选择 带q o s 信息的w r e b 服务中,服务匹配可以分为两部分:第一部分是服务的 功能性属性匹配,通过查询标准的u d d i 实现;第二部分是服务的非功能性属 性匹配,即选择最优w 曲服务。非功能性属性匹配一般在功能性匹配之后进行, 即首先通过查询u d d i 得到一组功能相同的w e b 服务,然后计算这些w 曲服务 中哪个服务的q o s 与请求者需求最接近。目前的研究大多数集中在利用相似函 数计算服务质量。 文献【1 】通过引入数据挖掘中的对象相近度概念,定义w 曲服务之间的相近 度。文献【8 】给出了数据挖掘中的对象相近度的计算方法,这种方法可以很好地 判断含有相同属性的两个对象是相近的还是相异的,它们相近或者相异的程度 如何。同一个模型中,各w 曲服务的q o s 属性都是相同的,可以很好地把这种 3 基于服务组合及其补偿的o o s 研究与实现 计算方法引入计算w 曲服务的相近度中。通过计算w r e b 服务之间的相近函数比 较具体w e b 服务之间的相近度。之后有关服务组合的q o s 研究中大多使用了相 似度、相似函数的概念。 1 2 3 服务组合的q o s 文献【9 】提出了一种基于工作流模式的服务组合方式,文中定义了基本组合 模式,这些基本的组合模式代表了w 曲服务组合中的基本结构,比如顺序、循 环和并行等。文献【1 0 】采用q o s 信息描述方法,并基于一系列假设前提下( 用 于组合的w | e b 服务之间是相互独立的,服务质量的值是正确性,服务质量的属 性是相同的,分支选择中各分支被选中的概率相等) ,得出各基本组合模式的 q o s 值的计算方法。 文献【1 1 】提出了一种基于概率的q o s 属性信息的建立方法,文中认为q o s 属性的值并不是固定的,q o s 属性以一定的概率取得某一特定的值。通过数学 建模的方法,把每个q o s 属性映射为一个离散型随机变量,为每一个随机变量 建立一个离散概率密度函数,并求出其概率分布函数。利用概率论里面已有的 知识,例如求两个随机变量的和、积、晟大值、最小值的概率分布函数,可以 很容易地得到各种基本的服务组合的概率密度函数;利用概率期望值的知识可 以方便的得到组合服务的q o s 属性值。 以上的研究是对具有固定结构的组合服务q o s 进行研究,而未对一般结构 的组合服务q o s 进行研究。 1 2 4 服务补偿的q o s 组合服务执行时可能会发生失败,此时需要消除已执行事务产生的影响, 必须转入事务补偿。w 曲服务的补偿服务仍是w e b 服务,理论上仍可利用上面 讨论的方法来实现其q o s 信息的计算。但对于组合服务,每一个原子服务都可 能出错而且出错的概率不等,且每个原子服务的q o s 对整个组合服务的影响是 不一样的,有必要对其进行研究,目前相关的研究处于起步阶段。 4 基于服务组合及其补偿的q o s 研究与实现 1 2 5 问题的存在 综上所述,对于组合服务的q o s 研究,基本只对具有单一固定结构的组合 服务进行研究,对服务补偿的q o s 研究则基本处于空白阶段。而完整的服务组 合通常是带有多种结构的,结构之间一般会相互嵌套,并且通常带有补偿服务。 所以,有必要对一般意义下的组合服务q o s 和带补偿的服务组合q o s 进行探讨。 另一方面,当前的组合服务q o s 研究工作一般只是理论研究,其相关实验 均为对组合服务的q o s 进行简单模拟,而未完整地实现w 曲服务及其组合服务。 所以,有必要完整地实现w 曲服务q o s ,包括基于开源软件的w e b 服务、基 于b p e l 规范的组合服务和q o s 实现框架,并实现一种基于标准的组合服务 q o s 优化方法。 1 3 本文的工作及意义 1 3 1 本文的工作 本文对服务组合及其补偿的q o s 进行研究和实现,也设计实现了参与组合 的各w 曲服务和服务组合。一方面,当前的w 曲服务实现架构中并不包含q o s 信息的描述,为了获得w r e b 服务的q o s 属性信息,本文扩展了当前的w 曲服 务架构;另一方面,当前的w 曲服务组合的实现规范为b p e l ,而b p e l 的开 发运行环境由各个厂商提供,所以本文也对b p e l 及一种b p e l 运行环境进行 了研究,并实现了w r e b 服务组合。在前面工作的基础上,本文给出了一种基于 b p e l 规范和a c t i v e b p e l 引擎的组合流程优化方法,并给出了测试数据与结果 分析。 简单地说,本文的工作包括以下几点: 1 设计实现各参与组合的w 曲服务。 2 研究b p e l 和a c t i v e b p e l 引擎,实现w 曲服务组合。 3 扩展w 曲服务实现框架,实现带q o s 属性信息的w 曲服务发布和查找。 4 探讨组合服务q o s 和带补偿的组合服务q o s 。 5 设计并实现基于b p e l 规范和a c t i v e b p e l 引擎的组合流程优化方法。 5 基于服务组合及其补偿的o o s 研究与实现 6 对组合流程优化方法进行测试并分析结果。 1 3 2 本文的主要贡献 本文的主要贡献在于: 1 搭建了w 曲服务q o s 相关的基础平台。包括w r c b 服务开发运行环境, w 曲服务组合编排执行环境,以及w 曲服务q o s 框架实现。并对服务组合q o s 及带补偿的服务组合q o s 进行了探讨。 2 提供了一种基于b p e l 规范和m i v e b p e l 引擎的组合服务q o s 优化方 法,组合时为服务编排者提供服务选择策略,指导其选择质量最优或者最满足 自身q o s 需求的w r e b 服务。 1 4 本文的内容组织 本文对w 曲服务组合及其q o s 框架的实现进行详细探讨,并给出了一种基 于b p e l 规范和a c t i v e b p e l 引擎的组合流程q o s 优化方法。全文共分为5 章, 分别是: 第一章,绪论。首先讨论了本文的研究背景,介绍目前相关研究的状况。 然后分析存在的主要问题,从而建立本文立论的依据。最后介绍本人所作的主 要研究工作及其意义,并在章末说明了本文的结构。 第二章,相关技术介绍。组合服务的q o s 研究与实现,离不开对w 曲服务 的实现框架和服务组合规范进行讨论。本章首先介绍了w 曲s e i c c 的实现框架 和服务组合基本概念和方法,然后探讨了w 曲服务的q o s ,介绍了q o s 与概率 随机变量的关系、q o s 的规格化问题和q o s 的匹配方法。接着介绍了w 曲服务 的q o s 实现框架。最后探讨了组合服务的q o s 计算方法和带补偿组合服务的 q o s 计算方法。 第三章,组合服务q o s 优化的设计与实现。本章以旅游预订服务开发为例, 首先实现了参与组合的各原子服务,然后通过b p e l 编排服务组合业务流程。 接着讨论了组合服务的q o s 实现框架,实现了对w 曲服务q o s 进行管理的q o s 代理。最后,给出了基于b p e l 规范和a c t i v e b p e l 引擎的组合服务q o s 优化 方法。 6 基于服务组合及其补偿的q o s 研究与实现 第四章,实验结果分析。首先介绍了实验的环境和目的,然后以第三章所 开发的旅游预订服务为例,对此组合服务进行q o s 优化。通过对比优化前后组 合流程所调用的w 的服务及组合服务的各q o s 指标值,说明优化方法的可行性 和优化效果。最后给出了具体的试验分析。 第五章,总结与展望。总结了课题工作和论文内容,并且对下一步工作进 行了展望。 7 基于服务组合及其补偿的q o s 研究与实现 第2 章相关技术介绍 2 1w e bs e r v i c e 实现框架 ! ? ? p u b i i s hw e b s e r v i c e f i n d a n d g e t w s d l ; t b i n d i n g ,i n v 0 k e 图2 1w 曲s e r v i c e 实现框架 当前w 曲服务的实现架构为典型的三角架构,如图2 1 所示。“三角”是指 服务提供者,服务消费者和u d d i ( u n i v e r s a ld e s c r i p t i o n ,d i s c 0 v e r y 锄d i i l t e g r a t j o n ,统一描述,发现和集成协议) 。 u d d i 是w 曲服务架构中的重要一环。它是为了解决w e b 服务的发布和发 现问题而指定的新一代基于i i l t e m e t 的电子商务技术标准。它包含一组基于w 曲 的、分布式的w r c b 服务信息注册中心的实现标准,以及一组使企业能将自己提 供的w 曲服务信息注册到该中心的实现标准。u d d i 利用s o a p 消息来查找和 注册w 曲服务,并为应用程序提供了一系列接口来访问注册中心。简单地说, u d d i 提供了最基本的三个功能:一是提供管理w 曲服务描述信息的功能;二 是提供w e b 服务的发布接口;三是提供w 曲服务的查询接口。 u d d i 提供的w 曲服务发布查找规范使得服务提供者和服务消费者的视图 8 基于服务组合及其补偿的o o s 研究与实现 分别如下。 服务提供者视图: 1 开发w 曲服务。 2 在u d d i 注册w 曲服务进行发布。 3 如果需要,对其发布的w 曲服务描述信息进行更新。 服务消费者视图: 1 在u d d i 上查找w 曲服务。 2 得到满足其功能性要求的w 曲服务,与服务提供者建立绑定关系。 3 调用w e b 服务。 2 2 服务组合及其补偿 2 2 1b p e l 4 w s 图2 2b p e l p r o c e s s 与w 曲s e i c e 关系图 b p e l 4 w s ( b u s i n e s sp r o c e s se x e c u t j o nk g u a g ef o rw 曲s e r v i c e s ) 是一种 x m l 格式的语言,它是一种流程执行语言,支持面向流程的服务组合。它通过 w 曲s e n r i c e 描述文档w s d l 中的p o n t y p e 接口、接口操作、输入变量、输出 9 基于服务组合及其补偿的q o s 研究与实现 变量,实现对w 曲s e i c e 的操作,通过伙伴链接指定外部服务,实现了流程所 需访问服务的数据表示;通过舡s i 韶活动实现了变量之间的赋值和传递;通过 各种结构性活动( f l o w s e q u e n c e w h i l e 等) 和连接( 1 i n k ) 来建立服务之间的控 制流依赖,如图2 2 所示。 而b p e l 和w s d l 的区别在于:w s d l 只定义服务的接口和实现,而b p e l 不仅定义自己的接口( 也是一个w s d l 文件,包括输入输出参数、方法操作名 等) ,还定义了如何调用其他服务的接口来实现自己的接口。简单地说,b p e l 通过流程编排将各种接口组合在一起,其目的在于提供一个“集成了各种接口” 的接口,实现抽象的w 曲服务接口的集成。它属于s o a 的解决方案之一。 b p e l 提供的服务组合模型具有如下特性【1 3 l 。 1 灵活性。通过定义待组合的w e b 服务的伙伴关系,能够方便地引用w e b 服务,实现复杂的交互场景,并能快速适应组合需求变更。 2 嵌套组合。一个b p e l 业务流程可以部署为一个新的w e b 服务,并被 组合到其他流程或服务中,构成更粗粒度的服务,从而提高了服务的可伸缩性 和重用性。 3 关注点分离。b p e l 只关注与服务组合相关的业务逻辑。其他关注点, 比如服务质量、事务处理等可作为附加扩展,由具体实现平台处理。 4 生命周期管理。与无状态的w e b 服务不同,一个业务流程通常具有明 确的生命周期模型。b p e l 提供了对长时间运行的、有状态交互的支持。 5 可恢复性。可恢复性对于业务流程( 尤其对长时间运行的流程) 是非常 重要的。b p e l 提供了内置的失败处理和补偿机制,对于可预测的错误进行必 要的处理。 另外,从图2 2 也可看出,b p e l p r o c e s s 并直接与w 曲s e r v i c e 的实现联系, 而是与w 曲s e i c e 的接口建立联系。b p e l p r o c e s s 里面没有绑定信息,其绑定 需要b p e l 运行环境来实现。 2 2 2 伙伴链接类型和伙伴链接 b p e l 中有两个重要术语,分别是p a n n e r l i n k t y p e ( 合作伙伴类型) 和 p a n n e r l i n k ( 合作伙伴) 。合作伙伴类型与合作伙伴把w 曲服务定义为b p e l 流 1 0 基于服务组合及其补偿的q o s 研究与实现 程的一个伙伴,从而实现w 曲服务的引用。合作伙伴描述流程或服务扮演的角 色,同时也描述角色可以操纵的数据【1 4 1 。 伙伴链接类型 w s d l a p o n t y p e p o n t y p e 图2 - 3 p a j t n e r l i n k l e 结构 合作伙伴类型描述了两个w s d l 服务进行交互的消息交互类型。通过定义 每个服务所扮演的角色并指定服务提供的端口类型来接收合适消息,合作伙伴 类型很好地描述了这种消息交换。 一个合作伙伴类型可以包含一个或者两个角色。如果一个合作伙伴类型包 含两个角色,那么每一个服务都必须通过提供端口细节来实现它的角色。每个 角色的实现端口可以是不同的w 曲服务的端口。两个角色的使用标识着调用服 务需要接收目标服务的某些回调信息。如果一个合作伙伴类型包含一个角色, 则对调用的w 曲服务的相关角色就没有严格的限制。由一个角色描述的服务可 以通过简单地调用它的操作来完成对话,而不需要回调。 一个合作伙伴类型是w s d l 的扩展,而可以被b p e l 流程使用的合作伙伴 类型有如下的几种情况: 1 来自w s d l 文件,它或者已经定义好,或者可以新加进去。 2 来自有自己命名空间的独立w s d l ,这种情况适用于有两个角色,而它 们来自不同的服务的时候。 3 来自一个b p e l 流程,可以在流程中创建一个新的合作伙伴类型定义并 基于服务组合及其补偿的q o s 研究与实现 加到一个w s d l 文档。 伙伴链接 b p e l a n n e r l i n k m yr o l e ( p f l d c e s s r 0 i e ) p a n n e rr o i e 图2 4p a n n e r l i n k 结构 合作伙伴是两个服务的对话交互,流程是其中一个服务,另一个服务是流 程调用的w 曲服务。合作伙伴定义了在特定的交互中,流程和伙伴服务分别扮 演的角色。 合作伙伴的定义包含有它的名称、合作伙伴类型和至少一个角色( 也可以 有两个角色,分别为m yr o l e 和p a n n e rr o l e ) 。合作伙伴的角色必是定义它的 合作伙伴类型的两个一个角色之一。 在b p e l 流程中,使用合作伙伴来定义w r e b 服务的交互活动。比如:一个 r e c e i v e 活动详细说明了一个合作伙伴,它的端口类型和操作。端口类型来自定 义这个合作伙伴的合作伙伴类型。通过这个定义,b p e l 流程就可以从扮演伙 伴角色的服务中接收消息。 一个流程中的每一个特定的会话交换都必须有至少一个合作伙伴,b p e l 也允许在一个流程中,同一个合作伙伴类型的多个合作伙伴同时存在。默认情 况下,伙伴链接是在流程层上声明定义的。 2 3 q o s 与随机变量 基于w 曲s e i c e 的不确定性,把w 曲s e r v i c e 的q o s 建模成概率随机变量, 1 2 基于服务组合及其补偿的q o s 研究与实现 这种建模方法更加具有现实性。 每一个w 曲s e i c e 的q o s 都建模为一个离散随机变量,按照一定的概率 取得不同的离散值f l l l 。比如,考虑服务可以在时间区间( 0 ,5 】( 单位为秒) 内执 行完毕,具体的执行时间受服务执行主机的影响。那么可以把服务执行时间 e x e c u t e 啊m e 划分到不同的时间区间( 0 ,2 】,( 2 ,3 】,( 3 ,5 】,服务在这三个时间 段执行完毕的概率分别是o 1 ,o 6 ,0 3 。把服务的e x e c u t e 币m e 当作一个离散随 机变量x ,则有d o m ( 为= o ,2 ,3 ,5 ) ,而x 的概率密度函数为: p ,( o ) = 0p 。( 2 ) = 0 1p 。( 3 ) = 0 6p ,( 5 ) = o 3 这种概率模型把所有的q o s 指标都当作一个离散随机变量,把某个区间的 值都当作端点值处理。这种近似处理本身带有不准确性,但通过对区间的不断 细分,可以无限地接近于实际的情况。 把离散随机变量当作连续随机变量时,可以根据离散随机变量的概率密度 函数近似地得到连续随机变量的概率密度函数厶( x ) ,进而计算出此随机变量的 概率分布函数足( x ) 。 把离散随机变量的每一个离散区间看成连续随机变量的满足均匀分布的区 间,从而得到其概率密度函数如下: 厶( x ) = o i f x s m i n ( d o m ( x ) ) o rx 苫m a x ( d o m ( 殉) 厶( x ) = p ,( c e i l i n g ( x ”( c e i l i n g ( x ) 一n o o r ( x ) ) i f m i n ( d o m ( x ) ) x s m a ) 【( d o m ( 均) 其中:c e i l i n g ( x ) = m i n yiy d o m ( x ) a j l dy 苫x ) f l o o r ( x ) = m a x yly d o m ( ) pa n dy x ) ( 2 1 ) 概率分布函数可以用如下方法定义: 瓦( x ) = 0 i f x s m i n ( d o m ( 均) b ( x ) = 罗p x ( y ) + 厶( x ) 木( x n o o “x ) ) _ ) ,执稚x y 。 i f m i n ( d o m ( x ) ) g j ,h i f 曰f = 吼,岫 ( 2 7 ) 其中吼k 表示q o s 矩阵中第j 列的最大值,吼,- 表示q o s 矩阵第j 列的 最小值。这种规格化方法保证了g j 越大则,l d 册( 吼,) 也越大,越接近1 。 对于成本型q o s 则采用以下方法进行规格化。 n o r m ( q i ,j ) = ,z d 硎国j ,) = 1 q t ,j 眦一q i 。j q t ,j 眦一q l ,l 咖 i f 仍, 吼,“ i f 吼,一= 吼,山 ( 2 - 8 ) 这种规格化方法保证了q j j 越小则门d 册( q 吖) 越大,越接近1 。 规格化后可以得到规格化矩阵n o 珊( q o s ) = ( ,z d 册国f ,) ) ,其中1s fs 刀, 1 6 基于服务组合及其补偿的q o s 研究与实现 1 s ,s 坍。n o 册( q o s ) 中的每个元素值都处于【o ,1 】区间。把w 曲服务的所有 q o s 指标值都规格化到【o ,1 】区间不单为服务提供者和消费者提供了统一的内 容表达,而且有利于计算后面提到的q o s 聚合值。 对功能相同的一组w 曲服务可以进行规格化,且规格化是在这组服务的同 一个q o s 指标上进行的。不同功能的服务以及不同的q o s 指标都不具有可比性, 所以也没有规格化的意义。 2 5 q o s 匹配方法 服务消费者使用服务时,对目标服务提出了q o s 需求。q o s 匹配的目的是 寻找与目标服务的q o s 最接近的w 曲服务。 在1 2 3 节中提到,可以通过引入数据挖掘中的对象相近度概念,定义w 曲 服务之间的相近度。对象的属性相同时,可以用对象的相近度或者相异度来表 示两个对象的匹配程度。假设对象i 与对象j 的相近度为s ( i ,j ) ,相异度为d s ( i ,j ) , 那么一种可行的变换方法是s ( i ,j ) = 1 一d s ( i ,j ) 。在数据挖掘中【踟,距离是一种满 足以下三个条件的尺度,用于表达对象的相异程度。 1 对于所有的i 和j ,d ( i ,j ) 0 ,并且当且仅当i - j 时,d ( i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牛津6年级期末数学试卷
- 清华强基计划数学试卷
- 华夏盛典营销活动策划方案(3篇)
- 门店施工方案范本(3篇)
- 农村小型鱼池施工方案(3篇)
- 海南景区喷泉施工方案(3篇)
- 美式小区施工方案(3篇)
- 北京市昌平区2024-2025学年八年级下学期第一次月考历史题库及答案
- 安徽省六安市金安区2023-2024学年高二上学期第二次月考生物考点及答案
- 心动传媒面试题目及答案
- 云南省澜沧拉祜族自治县2025年上半年事业单位公开招聘教师岗试题含答案分析
- 养老护理员基础照护试题(含参考答案)
- 教师职业技能提升培训教程
- 2025年版房屋租赁合同模板下载
- 2025年第三类医疗器械培训试卷(含答案)
- 2025年医院财务科招聘考试题目(附答案)
- 面试指导:空中乘务面试常见问题与答案
- 2025年医德医风培训试题(附参考答案)
- 二人合伙开店的合同协议
- 北师大版五年级数学下册常考题:分数除法(单元测试)含答案
- 2024广西公需课高质量共建“一带一路”谱写人类命运共同体新篇章答案
评论
0/150
提交评论