(计算机系统结构专业论文)基于qos和分类的web服务发现机制研究.pdf_第1页
(计算机系统结构专业论文)基于qos和分类的web服务发现机制研究.pdf_第2页
(计算机系统结构专业论文)基于qos和分类的web服务发现机制研究.pdf_第3页
(计算机系统结构专业论文)基于qos和分类的web服务发现机制研究.pdf_第4页
(计算机系统结构专业论文)基于qos和分类的web服务发现机制研究.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机系统结构专业论文)基于qos和分类的web服务发现机制研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东大学硕士学位论文 摘要 w e b 服务是一种新型的分布式计算模型,是w e b 上数据和信息集成的有效机 制。同时w e b 服务是一种部署在w e b 上的自包含、自描述、模块化的应用,可以 在w e b 中被描述、发布、查找以及调用。w e b 服务研究领域包括w e b 服务的描 述形式,w e b 服务自动发现,w e b 服务自动组合,服务安全等。本文的研究方向 是对w e b 服务发现机制的研究。w e b 服务发现作为w e b 服务的一个关键技术,承 担着服务的定位和发现以及为w e b 服务的更高层应用提供基础支持的任务,如 服务的自动组成和执行。有效的服务发现机制将为应用开发人员寻找合适的服务 提供支持,极大的加快服务组合等复杂应用的构建速度,提高基于w e b 服务的 系统构建和开发的速度、效率、质量。 本文的内容包括:介绍了w e b 服务和服务发现的基本理论和原理,对当前服 务发现的热点研究技术的概述,包括基于关键字匹配的服务发现、基于p 2 p 分布 式技术的服务发现、结构化文档匹配技术、利用语义w e b 进行服务发现等,对各 项技术的优缺点进行了讨论。本文对以下几种新型的服务发现技术进行了深入的 研究,包括基于服务分类的结构化服务发现方法,基于服务质量的服务发现和基 于用户反馈和服务引用度的方法,重点是对服务质量的研究。服务分类的服务发 现方法利用了数字图书馆中的文档分类方法来对w e b 服务进行分类,计算两个 w e b 服务之间的结构相似度。利用服务质量支持服务发现的方法对w e b 服务质量 进行了数学建模,其中关于服务质量的建模简化了服务质量的计算,使服务质量 计算过程更具可操作性。提出了改进的服务质量计算公式和两服务间的相似度计 算方法,构建了一个基于服务功能和质量相似度计算的服务发现原型系统。该系 统采用b s 结构,集成了服务提供者和请求者的交互接口,使基于服务功能和服 务质量的发布和发现过程变的简便易行。提供者可以快速、轻松发布服务,而用 户可以利用服务质量参数来进行基于服务质量的服务过滤,从而达到更好的检索 效果。考虑到复合服务的服务质量需求,本文根据复合服务的不同基本类型,提 出了对复合服务的服务质量的计算方法。基于用户反馈和服务引用度的方法利用 了信息检索中的用户反馈和计算文档引用度的方法,利用用户体验和隐性知识来 发现潜在的优秀服务,本文提出了其数学模型和服务相似度计算方法。 山东大学硕士学位论文 本文对已提出的服务发现技术进行的分析有助于认清服务发现技术的发展 方向,给出改进的方案。提出的新型的服务发现方法和技术对全面提高服务发现 的效率有一定的应用和理论价值。 关键词:w e b 服务;w e b 服务发现:服务质量;结构化服务发现 i i 山东大学硕士学位论文 a b s t r a c t w e bs e r v i c ei san e wd i s t r i b u t e dc o m p u t i n gm o d e l m e a n w h i l e ,a sa n a p p l i c a t i o no fs e l f c o n t a i n , s e l f - d e s c r i p t i o na n dm o d u l a r i z a t i o n ,i tc a n b ed e s c r i b e d ,p u b l i s h e d ,d i s c o v e r e da n di n v o k e da u t o m a t i c a l l yt h r o u g ht h e w e b t h er e s e a r c ha r e ao fw e bs e r v i c e si n c l u d e :w e bs e r v i c ea u t o m a t i c d i s c o v e r y ,w e bs e r v i c ec o m p o s i t i o n , w e bs e r v i c es e c u r i t ye t c t h ew o r k o ft h i sp a p e rf o c u s e so nt h ed i s c o v e r yt e c h n i q u e w e bs e r v i c ed i s c o v e r y i sak e yt e c h n i q u ei nt h el o c a t i o na n dd i s c o v e r yo fw e bs e r v i c e s i t p r o v i d e sb a s i cs u p p o r tf o ru p p e ra p p l i c a t i o no fw e bs e r v i c e ss u c ha sw e b s e r v i c ec o m p o s i t i o na n dw o r kf l o w s p e c i f i c a l l y ,i tq u i c k e n st h ep r o c e s s o fc o m p l e xc o m p o s i t ea p p l i c a t i o n ,a n db o o s t st h es p e e d ,e f f i c i e n c ya n d q u a l i t yo fs y s t e md e s i g na n dd e v e l o p m e n to fl a r g eb u s i n e s ss y s t e m s o u rw o r ki n c l u d e s :as h o r ti n t r o d u c t i o no ft h eb a s i ct h e o r yo fw e b s e r v i c e s w eh a v ear e v i e wo fd i s c o v e r yt e c h n i q u e st h a t h a v eb e e n c u r r e n t l yd i s c u s s e d w ep r o p o s e ds e v e r a ln e w l yd e s i g n e dm e t h o d si nw e b s e r v i c ed i s c o v e r y ,w h i c hi n c l u d e s :s t r u c t u r a ls e r v i c ed i s c o v e r yb a s e do n s e r v i c ec a t e g o r y ,o o sb a s e ds e r v i c ed i s c o v e r y ,d i s c o v e r yb a s e do ns e r v i c e r e f e r e n c ed e g r e ea n du s e re v a l u a t i o n s e r v i c ec a t e g o r ym e t h o dt a k e s a d v a n t a g eo ft h ed o c u m e n tc l a s s i f i c a t i o nu s e di nt h ed i g i t a ll i b r a r y i t c o m p u t e st h es t r u c t u r a ls i m i l a r i t yb e t w e e nt w ow e bs e r v i c e sc o n s i d e r i n g t h ed i s t a n c eb e t w e e nt w ow e bs e r v i c e si nt h ec a t e g o r y q o so fw e b s e r v i c e si sc o m p u t e df o rd i s c o v e r y w eb u i l dt h ed a t am o d e la n dt h e c o m p u t a t i o nm o d e l ,g i v et h ec o m p u t a t i o nf o r m u l a s t h eo o sc o m p u t a t i o n m e t h o dm a k e sg o o du s eo fe x p l i c i tq o si n f o r m a t i o np r o v i d e db ys e r v i c e p r o v i d e r t h i sp a p e rs i m p l i f i e st h ec o m p u t a t i o no fo o so fe v e r yp u b l i s h e d w e bs e r v i c e s ,a n dt a k e si n t oc o n s i d e r a t i o no ft h ec r i t e r i o no fq o st h a t a r en o tu n d e r s t o o dc o n f o r m a b l yb yd i f f e r e n ts e r v i c ep r o v i d e r sa n d r e q u e s t o r s w eb u i l tap r o t o t y p es y s t e mt od e m o n s t r a t et h ei n t e r a c t i o n i l l 山东大学硕士学位论文 p r o c e s sb e t w e e nt h es e r v i c ep u b l i c a t i o na n dd i s c o v e r yu s i n gt h ea l g o r i t h m p r o p o s e di nt h i sp a p e r t h em e t h o do f u s e re v a l u a t i o n a n ds e r v i c e r e f e r e n c ed e g r e et e c h n i q u e sa r ei m p o r t e di n s p i r e db yt h ec o n c e p t si n i n f o r m a t i o nr e t r i e v a l t h eu s e re x p e r i e n c ea n di m p l i c i tk n o w l e d g eo fw e b s e r v i c ea r ec o n s i d e r ed ,a n dt h ec o m p u t a t i o nm o d e li sp r o p o s e d k e y w o r d s :w e bs e r v i c ed i s c o v e r y , q u m i t yo fs e r v i c e , s t r u c t u r a lm a t c h i n g 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:日期: 矗屯夕 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留或向国家有关部门 或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权山东大学可以将本学 位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保 存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:乏塞兰垡导师签名:盟日 山东大学硕士学位论文 第1 章绪论 1 1 w e b 服务发现的研究意义 随着w e b 及w w w 的快速发展,w 曲资源越来越丰富,w e b 应用所跨越的 领域越来越广泛同时由于这些资源和应用存在于不同的地域,网络和系统平台 中,从海量资源库中检索到用户的需要数据,信息变得越来越困难。搜索引擎的 出现大大方便了用户对互联网网页资源的查找,用户已经能熟练运用搜索引擎技 术来搜索需要的网页信息,虽然还存在查准率不够高,冗余信息较多的缺点。搜 索引擎只是针对互联网网页资源的收集和查询工具,却不支持对w 曲服务的索 引和查询。 w e b 正经历从一个巨大的包罗万象的以提供信息为主旨的网页集合向提供需 求不断变化的服务的集合的转变。人们不再只单纯的追求所需要的数据和信息或 者知识,而把寻找问题的解决方案作为w 曲应用的一个重要方面。w e b 服务作为 w e b 的一个创造性应用,正承担起为用户提供所需服务的任务。w e b 服务设计架 构是当前的分布式应用r p c ,c o r b a d c o m 的发展和延伸,作为一种新兴的w e b 应用模式,是一个崭新的分布式计算模型,是w 曲上数据和信息集成的有效机制 l 。同时w e b 服务是一种部署在w e b 上的自包含、自描述、模块化的应用,可以 在w e b q 。被描述、发布、查找以及调用 2 1 。它具有以下特征【3 1 :完好的封装性, 松散耦合,使用标准协议规范和高度的可集成能力。w e b 服务可以认为是一种分 布式的软件构件,服务提供者将服务功能接口发布到网络上,服务使用者可以从 网络上查找需要的服务,得到满意的服务后再连接到服务提供者的服务器上,调 用它提供的某项功能。随着w 曲服务的增多,w 曲服务分布在不同的地域和服务 器上,w e b 服务的发现问题,即如何得到合适的服务将变得越来越关键。服务主 要涉及两个问题:1 ) 服务发布到哪里,即服务的功能,生产者等信息以何种形 式存放在哪里。2 ) 如何评价服务与用户请求的相关性,即如何计算请求与服务 的相似性,给出最优的服务问题。 山东大学硕士学位论文 1 2 相关研究 u d d i 是现在w e b 服务发布查询机制,它提供了一个集中式环境,通过服务发 布a p i 发布服务,通过服务查询h j ) i 查询服务。由于查询主要是基于关键字匹配 的,查询效率低下,因此国内和国际上的众多研究人员对服务发现方法进行了更 广泛的研究。p a o l u c c i 等人在【4 ,5 ,6 ,7 ,8 】中提出一种基于语义的服务发现方法。他 采用一种基于d h d v l l 服务本体的语义标记语言d h j v i l - s 来描述服务的属性和功 能,并提出了若干语义服务匹配算法。在m e t e o r - s 项目提出了一个通过为w s d l 文件和u d d i 添加语义标记来进行语义服务发现的方法。文献 1 中,作者提出了 一种将关键字检索和w s d l 结构化匹配相结合的服务发现方法。基于语义描述语言 的服务发现优点是可以大大提高服务发现的准确性,即找到的一定是符合要求的 服务,但也可能一个服务都找不到。而为w s d l 和u d d i 添加语义标记的方法则是一 个对u d d i 和语义方法取一个折中,或者是对传统的u d d i 进行了语义化。该方法的 优点是利用了现有的标准,在一定意义上两者的优点会兼得,而不是抛弃已有经 验,另起炉灶。缺点是基于语义的方法的缺点它也会具有,而且为u d d i 和w s d l 添加标记也是一个艰巨的任务。x i n 提出了服务相似性检索的概念,并设计了 一个i n w o o g l e 的w e b 服务搜索引擎,可以查找相似的操作或者查找可以组合成一 个给定服务的操作。l u “”和杨胜文“1 1 等对对利用服务质量进行服务发现进行了研 究,d a n i a l 2 1 对利用服务质量进行服务组合提出了一个分析模型,a v e r s a n o 讨 论了利用服务组合进行服务发现的方法。 1 3 主要内容及组织 本文的内容包括:介绍了w e b 服务和服务发现的基本理论和原理,对当前服 务发现的热点研究技术的概述,包括基于关键字匹配的服务发现、基于p 2 p 分布 式技术的服务发现、结构化文档匹配技术、利用语义w e b 进行服务发现等,对各 项技术的优缺点进行了讨论。本文对几种新型的服务发现方法进行了研究,包括 基于服务分类的结构化服务发现方法,基于服务质量的服务发现和基于用户反馈 和服务引用度的方法,重点是对如何应用服务质量加速服务发现的研究。服务分 类的服务发现方法利用了数字图书馆中的文档分类方法来对w e b 服务进行分类, 2 山东大学硕士学位论文 计算两个w e b 服务之间的结构相似度。利用服务质量支持服务发现方法对服务质 量进行了数学建模,并提出了改进的服务质量计算公式和排序公式,并设计了一 个基于服务质量的服务发现原型系统来利用所提到的算法演示服务发布和发现 的过程。基于用户反馈和服务引用度的方法利用了信息检索中的用户反馈和计算 文档引用度的方法,用用户体验和隐性知识来发现潜在的优秀服务,提出了其数 学模型和服务相似度计算方法。这些方法的提出和设计对加速服务发现的过程, 提高服务发现的自动化能力和准确性有正面意义,并且为今后的服务发现技术的 改进提供了个更好的平台。 本文按照以下章节进行组织。第一章绪论,第二章介绍w e b 服务发现的基 本概念,第三章介绍现存的服务发现方法,第四章介绍基于服务质量q o s 的服 务发现模型和计算方法以及用户反馈对服务质量的影响。第五章是基于结构化分 类的服务发现,第六章是小结。 3 山东大学硕士学位论文 2 1w e b 服务 第2 章w e b 服务与服务发现 2 1 1 什么是w e b 服务 w w w 已经成为人们生产、存储、查询、共享和传播知识的主要途径,越来越多的 企业、组织和个人选择w e b 作为传播信息和服务、与商业伙伴合作的舞台。w e b 服 务设计架构是当前的分布式应用r p c ,c o r b a ,d c o m 的发展和延伸,作为一种新兴 的w e b 应用模式,是一个崭新的分布式计算模型,是w e b 上数据和信息集成的有 效机制。同时w e b 服务是一种部署在w e b 上的自包含、自描述、模块化的应用, 可以在w e b 中被描述、发布、查找以及调用。它具有以下特征:完好的封装性, 松散耦合,使用标准协议规范和高度的可集成能力。 由w 3 c 制定的w e b 服务的标准协议主要包括: ( 1 ) s o a p “”( 简单对象访问协议) 。s o a p 协议是在x m l 的基础上,提供了在一 个松散的、分布的环境中对等地通过交换结构化类型化调用信息描述而完成远程 过程对象调用的一个简单机制。 ( 2 ) u d d i 5 1 ( 统一服务发现、描述和集成) 。u d d t 是一套基于w e b 的信息与服 务注册的标准,同时也实现了一组使企业能将自己提供的w e b 服务登记并让别的 企业用户能够查询并访问到的标准。 ( 3 ) w s d l ( w e b 服务描述语言) :提供t w e b 服务的接口描述,服务提供 者构建该文件来发布服务的接口,服务使用者利用该文件进行服务的调用。 图2 - 1 为w e b 服务的协议栈: 4 山东大学硕士学位论文 图2 - 1w e b 服务协议栈 2 1 2w e b 服务描述语言- w s d l u d d i 的核心部件是w s d 【广服务描述文件。该文件的主要作用是描述w e b 服务的服务接口,包括服务的名称,调用端口,服务包含的操作,操作包含的输 入和输出参数,输入和输出参数的数据类型等信息,另外还包括调用服务,传输 消息内容所需要的s o a p 绑定信息。服务提供者将文件中的信息发布到u d d i 注册中心以后,服务请求者就可以在找到该服务描述文件后,根据文件所描述的 接口来调用该服务。服务提供者也可以使用某种高级语言和编程工具将生成的程 序源代码( 比如j a v a 文件) 转换成w s d l 文件用于服务的发布。而服务使用者可 以利用某些工具来将找到的w s d l 转换成程序代码。 w s d l 是一种基于x m l 的文件格式,它主要包含以下标记: ( 1 ) ( t y p e s ) :在该标记中,定义了该w e b 服务所用到的所有数据类型, 包括简单的数据类型和复合的数据类型( c o m p l e x t y p e ) 。简单的数据类型般 由基本数据类型来字符串型s t r i n g ,或数字型d e c i m a l 定义。而复杂数据类型 则是一个递归的定义。它可以包含低层次的复杂数据类型或者多个简单数据。这 在现实当中是经常见到的。一个逻辑上高度概括的概念有时需要分解成多个子概 念去理解,一直分解到最简单的字符串或数字为止。 ( 2 ) 由许多元素( e l e m e n t ) 组成,元素是一个实体的名称,比 山东大学硕士学位论文 如消息元素。它同样是可以递归的进行定义。一个复杂的元素由简单的元素组成。 消息的描述和格式定义可以通过x m l 文档中的 和 标记 来传送。2 端口类型标记中包含了一系列可用的操作。其中的 操作操作由输入( i n p u t ) 输出( o u t p u t ) 消息组成,而消息的类型由前面介绍 的 描述。 ( 3 ) 标记指定了编码的规范它指明了绑定所涉及到得端e l , 所使用的传输协议,输入输出的s o a p 消息的类型等。 ( 4 ) 标记中表示服务所处的位置( u r l ) 。它给除了调用服务所 需用到得服务地址。w s d l 在u d d i 中总是作为一个接口描述文档。因为u d d i 是一个通用的用来注册w s d l 规范的地方,u d d i 的规范并不限制任何类型或 者格式描述文档。这些文档可能是一个w s d l 文档,或者是一个正规的包含导 向文档的w e b 页面,也可能只是一个包含联系信息的电子邮件地址。现在l a v a 提供了一个j a v aa p if o rw s d l ( 3 w s d l ) 规范。它提供了一套能快速处理 w s d l 文档的方法,并且不用直接对x m l 文档进行操作,它会比j a x p 更方便, 更快速。 以下是一个w s d l 示例文件: 6 山东大学硕士学位论文 ( t y p e s ( m e s s a g en a m e = ”g e t l a s t t r a d e p r i c e o u t p u t ” p a r tn a m e = b o d y 6e l e m e n t = “x s d l :t r a d e p r i e e 6b s o a p :b i n d i n gs t y l e = ”d o c u m e n t 。 7 山东大学硕士学位论文 t r a n s p o r t = “h t t p :s c h e m a s x m l s o a p o r g s o a p h t t p “玲 s o a p :b o d yu s e = “l i t e r a l “n s o a p :b o d yu s e = “l i t e r a l 幻 m yf i r s ts e r v i c e s o a p :a d d r e s sl o c a t i o n = “h t t p :e x a m p l e c o m s t o c k q u o t e “n 2 2u d d i 概述 2 2 1 什么是u d d 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 o v e r ya n di n t e g r a t i o n ) 统一描述, 发现和集成标准,它定义了w e b 服务的发布与发现的方法。通过u d d i 服务提 供者向服务注册处发布w e b 服务描述( w s d l ) ,服务请求者检索服务注册处( 通 过查找操作) 以获取满足某个标准的一个或多个服务描述即得到一个服务请求要 求的服务描述清单。 山东大学硕士学位论文 u d d i 注册使用的核心信息模型由h ls c h e m a 定义。使用x m l 是因为它提供 了平台无关的数据描述并很自然的描述了数据的层次关系。而选择x m ls c h e m a 是因为它支持丰富的数据类型,便捷的描述方式及其按信息模型对数据进行验证 的能力。 u d d ix m ls c h e m a 定义了四种主要信息类型,它们是技术人员在需要使用 合作伙伴所提供的w e b 服务时必须了解的技术信息。它们是:商业实体信息、 服务信息、绑定信息和服务调用规范的说明信息。 u d d i 程序员a p i 规范分为两个逻辑部分:查询a p i 和发布a p i 。查询a p i 又 分为两个部分:一部分被用来构造搜索和浏览u d d i 注册信息的程序,另一部分 在w e b 服务出现错误时使用。程序员可以利用发布a p i 创建各种类型的工具,以 直接与u d d i 注册中心进行交互,便于企业技术人员管理b u s i n e s s e n t i t y 或 t m o d e l 结构的发布信息。 2 2 2u d d i 调用模型 每一个独立发布的w e b 服务都是使用一个b i n d i n g t e m p l a t e 结构来建模的。 对这个w e b 服务的调用通常通过缓存b i n d i n g t e m p l a t e 数据来实现。注意到这 一点后,在你准备编写调用某种w e b 服务的程序时,该如何使用u d d i 就很清楚 了。下面列出了基本步骤: ( 1 ) 编写调用远程w e b 服务的程序时,程序员使用u d d i 商业注册中心( 通 过使用w e b 界面或其它基于查询a p i 的工具) 来定位b u s i n e s s e n t i t y 信息,这 些信息是由( 或为) 提供该w e b 服务的企业注册的。 ( 2 ) 程序员可以进一步获得更详细的b u s i n e s s s e r v i c e 信息,或是得到一 个完整的b u s i n e s s e n t i t y 结构。因为b u s i n e s s e n t i t y 结构包含了有关已发布的 w e b 服务的所有信息,因此程序员只需简单地选择一个b i n d i n g t e m p l a t e 并保存 留待以后使用。 ( 3 ) 基于w e b 服务在b i n d i n g t e m p l a t e 的t m o d e l 中提供的调用规范的相关 信息,程序员可以按照该w e b 服务的调用规范编写程序。 ( 4 ) 在运行时,程序可以按需要使用已保存下来的b i n d i n g t e m p l a t e 的信 息来调用w e b 服务。 9 山东大学硕士学位论文 2 3w e b 服务发现的拓扑结构分类 根据服务拓扑结构的不同,服务发现的方法可以分为三种类型:1 ) 集中式 方法2 ) 分散式方法3 ) 混合式方法。集中式方法中,所有的服务都使用统一的 u d d i 注册表,任何服务都需要向该注册表注册才能被别人检索、共享。集中式 方法中服务种类多,数量大,可提供更好的查全率,但当服务数量急剧增加时, 其可扩展性和检索效率会出现问题。分散式方法允许有多个本地注册表,本地的 服务只需要在本地注册。分散式方法的优点是:可以降低服务注册表的复杂性, 可以分类构造领域相关的注册表。但不提供统一的服务注册服务。混合式方法是 前面两种方法的结合,从而兼具两者的优缺点。 g l o b a lr e g i s t r y v 0 2 图2 - 2 服务发现的集中式方法 山东大学硕士学位论文 黪 芝蒜母 l o c a l & r e g i s t 理 鬃 nr s d b 篱 、jl淄 幽, v 0 2 图2 - 3 服务发现的分散式方法 l o c a l r e g i s t r y j 篙 鬃淄 nl 耋幽 v 0 3 图2 - 4 服务发现的混合式方法 山东大学硕士学位论文 第3 章服务发现技术分类 3 1 信息检索与基于关键字的服务发现 当今的信息检索系统大多基于向量空间模型。在向量空间模型“”1 中用雌 向量表示,其中t 是文档集中的词汇进行一些预处理( 如去掉停用词和使用概率 过高的词,同根词取词干) 后不同词汇的个数。文档中每个词都被赋予一个权值 新乍为词在文档中的重要性度量。,广一般与词出现的频率成正比,与包含该词的文 档数成反比。一般使用t ,彳彬模型来计算权值孵”0 = 统+ 努= 幻i o ( ,哟。其 中巩,是文档神的词如:规化后的词频,是词珀q 倒排文档频率,腥文档集中 的文档数,嘶是包含词珀q 文档频率。 w s d l 的语法描述中有 d o c u m e n t a t i o n ) 等标记可以用文本描述服务的名称、操作、输入输出等,因此可以应用 向量空间模型,将请求和服务表示为文本向量,利用余弦相似度等计算相似度。 这种发现方法的缺点很明显:首先,在w s d l 标记中的服务描述一般都比较简单, 例如服务名称取g l a b a l w e a t h e r ,操作名称取c i t y s t a t e t o z i p c o d e 等非规范词汇 或者只用一两句话描述服务,造成词频分析的困难,从而降低相似度计算的性能。 其次,服务提供者与请求者对服务的描述没有事先的约定,对服务的理解很可能 不同,又由于u d d i 在发现过程中缺乏对服务的语义描述,这必将导致请求描述 与服务描述的差异( 同指一个服务) ,从而很难找到满足请求描述的服务。另外, 利用u d d i 的关键字检索会得到大量相关和不相关的结果,需要用户的更多参与 选择,从而与难以实现服务发现的自动化。 3 2 基于u d d i 的服务发现方法 w e b 服务架构如图3 - 1 所示:服务提供者构建服务,并用w s d l 描述服务的 名称、操作、功能描述、输入输出、与s o a p 绑定信息等。然后提供者使用u d d i 将服务发布到服务代理( 如u d d i 注册中心) 的指定目录上。当服务请求者需要 山东大学硕士学位论文 某个服务时,可以发出服务请求( 如服务的名称、描述、输入输出参数等) 匹配 已发布的服务描述,服务代理返回符合请求的结果。然后根据得到的服务描述文 件w s d l ,在服务提供者和请求者之间建立绑定连接,使用s o a p 协议来调用执行 该服务。 图3 isw e b 服务架构 图3 - 1 中的m a t c h m a k i n g 部分即服务发现是我们的研究的重点。简而言之,服务 发现过程就是服务请求者以某种形式提出服务请求,然后服务代理将请求与已发 布服务的功能和非功能描述等进行匹配得出满足要求的服务的过程。 3 3 基于文档结构化匹配的服务发现 基于树的结构化匹配方法包括匹配内部结构和外部结构两种方式。内部结构 包括节点的值、数据类型、属性、约束等。外部结构则体现节点之间的关系。匹 配外部结构时可以应用以下规则:1 当前比较节点的祖先节点相似,则他们相 似。2 当前节点的子孙节点相似则他们也相似。3 从根节点到当前节点的路径 上的节点相似,则当前节点相似。4 叶节点相似,则当前节点相似。等等诸如此 类规则都属于外部结构匹配。 文献 17 提出的方法主要是应用w s d l 文档的内部结构匹配,通过匹配服务 的数据类型,获得两服务的数据类型间的相似度。进而根据消息的数据类型间的 相似度,计算消息间的相似度。由于服务由操作组成,操作由输入输出消息组成, 从而可以利用相似度的传播性,计算服务间的相似度。两w s d l 文档的匹配过程 可以用图3 屯来表示。 山东大学硕士学位论文 图3 - 2 w s d l 文档结构化匹配 比较两个w s d l 文档的具体过程可描述为:1 ) 比较数据类型,包括基本数据 类型和复杂数据类型,对基本数据类型和复杂数据类型有不同的匹配策略。最后 形成一个数据类型间的m x n 的匹配度矩阵,其中m 是源服务的数据类型的个数, n 是目标服务的数据类型的个数。这样就得到数据类型间成对的匹配值,选择使 匹配值加和最大的类型匹配作为最佳匹配。2 ) 输入输出消息的参数包含数据类 型描述,在上一步计算数据类型匹配度的基础上,匹配源服务和目标服务的消息, 形成一个消息匹配度矩阵。3 ) 操作包含消息,基于消息匹配来匹配两服务的操 作,形成一个由操作间的匹配度构成的矩阵。选择使操作间匹配度加和最大的匹 配作为最佳匹配。最后利用操作匹配对计算两服务间的匹配度。 上面介绍的结构化匹配方法考虑了相似服务在内部结构特别是数据类型方 面的相似性,利用数据类型的相似度挖掘服务问隐藏的关系。但该方法片面考虑 相似的服务其数据类型可能相似的特点,操作、服务的匹配都基于数据类型的匹 配结果。由于不相似的服务也可能有相似的数据类型,算法运行时,会将数据类 型的匹配错误传播到上层的操作和服务的匹配,引起错误扩散,从而将一些不相 关的服务错误的判为相关的。另外,以上的结构化匹配忽略了对服务进行显式语 义描述,不能进行显式的语义匹配。最后大量服务的选择过程仍然需要人工的参 与。 1 4 山东大学硕士学位论文 3 4 分散式服务发现:p 2 p 由于集中式的服务发现机制( u d d i ) 的局限性,近年来基于p e e rt op e e r 的服务发现机制被提了出来4 刎。p 2 p 服务发现方法有以下特点: 1 ) 所有的通信交互都是以p 2 p 形式进行的,没有任何中间协调者和控制机 制,节点之间通过直接的交互而实现资源共享,因此具有可扩展性。 2 ) 支持动态环境。 3 ) 有了p 2 p 的服务,不同服务提供者的概念就没有了。系统中的实体合作 来提供服务。 在点对点服务中,实体既是s e r v e r 又是c l i e n t ,有时实体又称为s e r v e n t s m 3 。 每个s e r v e n t 作为s e r v e r 可以提供自己的服务来响应查询,也可以作为c l i e n t 去 查询定位自己没有的服务。许多s e r v e n t s 组成一个网络,每个s e r v e n t 都有若干 个s e r v e n t 邻居。当一个s e r v e n t 收到一个本地用户的服务请求,如果它不能找到 合适的服务,它作为一个客户则会将服务请求通过邻居传播到网络上。最后如果 一个s e r v e n t 在本地找到请求的服务,则将服务的位置和描述作为响应返回给请 求者。 每个s e r v e n t 由两部分组成“:通信引擎和本地查询引擎。 1 ) 通信引擎负责为用户提供接口,并用来表示s e r v e n t ,主要负责两部分工 作:一从用户处接受服务请求,通过本地查询引擎解析本地请求和通过邻居解 析全局请求。最后合并收到的响应,返回给用户。二接收从邻居传来的请求, 用本地查询解析请求,将响应传到网络上,同时将请求传给它的邻居节点。 2 ) 本地查询引擎:接收从通信引擎中传来的请求,查询本地站点来匹配服务, 将响应返回给通信引擎。本地的查询可以采用w s i l ( w e b 服务检查语言) + w s d l 将用户请求与服务进行匹配( 基于关键字、结构化或者带语义标记的匹配方法) 。 p 2 p 机制有更有效的利用整个网络的潜在的服务提供能力,但还有一些问 待解决,如何管理各个p e e r ,如何进行p e e r 的分类分组,以及如何设计更好的 消息传播算法以避免服务请求传播带来的广播风暴问题。还有包括p e e r 间通信 路由、安全性等也有待研究。 山东大学硕士学位论文 3 5 语义w e b 及基于语义w e b 的服务发现 3 5 1 基于语义w e b 的服务发现技术 前面介绍的几种服务发现技术有一个共同的弱点,就是对w e b 服务缺乏显式 语义的描述。由于缺乏语义,服务提供者与请求者没有对概念的统一理解,服务 和请求的描述与具体的提供者和请求者有关。这就造成了服务描述与服务请求的 表达的不一致,从而降低服务发现的质量和效率。本体( o n t o l o g y ) 乜1 是服务发 现进行语义标记的基础,为一个领域的公共概念提供了一个基础平台加。本体由 类、关系、概念,实例、属性等组成。通过将服务中的概念映射为本体概念,服 务提供者可以显式的定义领域中资源的语义。服务提供者可以用本体来标记服务, 请求者也可以利用本体概念来表达查询请求,这样就可以通过匹配语义请求和语 义服务描述来获得更精确的结果“。语义发现主要考虑四种语义:功能语义, 输入输出语义和q o s 服务质量语义。 3 5 1 1 基于语义描述语言的服务发现 p a o l u c c i 等人在 5 ,7 ,8 中提出一种基于d a m l 本体的语义标记语言 d a m l s ( 现在发展为o w l - s1 i ,以下将不区分二者) 的服务发现方法。d a m l - s 是当前的基于本体的主流语义描述语言之一,其他的的可提供语义的语言还有 w s m f 2 5 等。d a m l - s 通过d a m l 本体来描述服务的名称、分类、参数及其描述、质 量评价、提供者信息等,称为服务p r o f i l e 。服务发现过程中,服务请求和服务 描述都用d a m l sp r o f i l e 描述,匹配算法只考虑匹配服务和请求的输入、输出。 匹配算法的主要思想有:请求和服务的输入输出都用领域相关的d a m l 本体添加概 念约束以实现语义描述。如请求的输入参数“p r i c e ”约束为 “p r o d u c t d a m l # p r i e e ”概念,而服务的输入参数可以是“p r i c e o f p r o d u c t ”, 其概念同样限制为“p r o d u c t d a m l # p r i c e ”。这样虽然请求和服务的输入参数名 称不同,但他们同属一个概念,从而可以实现匹配。匹配过程中,请求的输入输 出与所有服务的输入输出进行匹配,如果请求的输出可以被服务的输出所匹配, 服务的输入可以被请求的输入匹配,则认为请求与服务是匹配的。由于d a m l - s 与当前的服务标准的差异,为了利用u d d i 注册表结构可以将d a m l - s 应用到u d d i 山东大学硕士学位论文 上。其体系结构如图3 - 3 图3 - 31 ka r c h i t e c t u r eo f t h ed a m i s ,u _ d d i 在图3 - 3 中,请求和服务发布都通过通信模块。服务传递到d a m l - s u d d i t r a n s l a t o r ,它将构建一个u d d i 服务描述,存储在u d d i 注册表中,并返回一个 服务i d 。随后这个i d 与服务功能描述一起被送到d a 肌- s 匹配引擎中和请求进 行匹配。返回给请求者的匹配结果包括服务和一个u d d i 服务引用i d 。其中的匹 配引擎模块,利用本体库和d a m l + o i l 推理器来对请求和服务进行语义匹配。基 于d a m l - s 的方法可以对服务和请求进行详细的语义描述,只要用户请求中的概 念与服务中的概念相匹配,则可以找到非常相关的服务。但请求与服务的概念完 全匹配只有请求与服务使用同一个本体时才会发生。服务和请求的本体的选择具 有主观性,提供者和用户选择本体的不同,将造成请求与服务匹配时使用的本体 不一致,从而导致匹配失败。 3 5 1 2 基于w s d l 语义标记的服务发现 m e t e o r - s 项目”,提出了一个通过为w s d l 文件和u d d i 添加语义标记来实现 语义服务发现的方法。为w s d l 添加语义标记主要是通过将操作、消息、预置条件 ( p r e c o n d i t i o n ) 、效果( e f f e c t s ) 映射为本体概念来实现的。该方法的语义发 现提供一个基于本体的语义请求和服务发布接口,用户和服务提供者通过一个用 本体构建的模板来输入请求和服务描述。 山东大学硕士学位论文 图3 - 4 :服务的语义标记、发布和发现哪 服务的发现过程分为三个阶段:首先算法匹配请求与服务描述w s d l 中的操 作概念;其次计算所选操作的输入输出概念与用户请求模板的输入输出概念的相 似度,对第一阶段的结果进行排序;最后可选的一步是计算服务与请求模板的预 置条件和效果( e f f e c t s ) 的相似度,并对结果进行排序。语义标记、发布和发 现以及用户服务模板的形成过程可以由图3 - 4 来表达:服务提供者将w s d l 中的 操作、输入输出映射为本体概念,并发布到u d d i 中;通过将用户输入的操作、 输入、输出映射为本体概念来完成用户请求模板的构建;最后请求模板与标记后 的服务进行概念匹配,并返回与请求相关的服务。 基于w s d l 语义标注的方法利用本体的概念,对w s d l 标准进行了语义扩展,这 就保证了其与现有的大量用w s d l 描述的服务兼容,对工业界实际应用有巨大吸引 力。而d a m l - s 方法需要从w s d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论