一种新的语义Web服务发现与合成的方法研究
摘 要:现有 Web合成方法是集中式架构不具备可扩展性,由于缺乏必要语义信息降低了服务发现与合成的效率。利用基于Chord的方法来实现语义发现与合成,采用分布式将服务注册到Chord网络中,同时利用本体描述为Web服务加入语义信息。实验分析表明,该模型提高了Web服务发现及合成的效率和准确率。
关键词:Web服务发现;Chord;服务合成;语义信息
用户需求日益增多以及复杂的服务增多,依靠单个的Web服务已不能满足用户的需求,需要从现有的服务中发现并选择某些Web服务,并组合成为新的增值服务。在这种情况下,如何在大量的服务中查找用户所需的服务,如何把多个服务动态合成以完成特定的功能成为影响Web服务发展成功与否的关键。
1相关研究
Web服务的发现与合成已经引起目前国内外的广泛重视。总的来说,Web服务合成技术主要分为四类:申明性的Web服务合成、基于工作流模式、基于QoS模式和基于本体的Web服务合成。SELF- SERV 。Chord中每个数据和节点都分别拥有一个m比特位的标识符。数据标识符K通过哈希数据本身得到,而节点标识符N通过哈希节点的IP地址得到。图1给出了一个m=3的Chord环,标识空间是2m=8,环中分布了0、3、6三个实际存在的物理节点,每个节点的指针表如表1所示。
图1 Chord环
表1各个节点的指针表
NodeStartnodeIntervalNextnodeIP节点01[1,2)3192.168.100.32[2,4)3192.168.100.34[4,0)6192.168.100.6节点34[4,5)6192.168.100.65[5,7)6192.168.100.67[7,3)0192.168.100.10节点67[7,0)0192.168.100.100[0,2)0192.168.100.102[2,6)3192.168.100.3 结构化P2P系统Chord,解决了集中式架构中存在的单点故障等诸多问题,避免了非结构化P2P系统中使用的泛洪式查找,因此提高了信息搜索与查询的效率。
2.2 本体
领域本体提供了该领域内概念定义及概念之间的关系。采用本体对Web服务进行描述和理解,通过构造特定领域本体,从而建立领域本体与服务之间的关联。
定义1 领域描述本体可以用五元组表示:O={C,P,R,H,X},其中C表示概念的集合;P表示属性的集合,本体的属性具有作用域和值域,映射了概念间的二元关系;R表示关系的集合;H表示继承关系集,包括概念继承和属性继承,即subClassOf和subPropertyOf;X为本体规则集,或称本体约束集,可以采用一阶谓词逻辑或者描述逻辑形式化地进行描述。
定义2 一个Web服务用下面的表达式来描述:WS={S,Input,Output,QoS},其中S是基本描述,即服务名称、文本描述、服务类别等;Input是服务输入参数;Output 是服务输出参数;QoS是属性描述,主要包括代价(cost)、响应时间(time)、服务优先级(priorities)等非功能属性。
2.3 本体描述语言OWL-S
OWL-S是在现有的Web服务标准(SOAP、WSDL等)的基础上加入了丰富的类型和类的描述信息。通过这些类型和类的描述信息,不但能更有效地描述服务提供的功能以及更准确地限定服务的范围,而且可以将其集成到Web服务的整个发现和合成过程中,以求提高服务查找的效率、准确性及实现Web服务发现自动化。
图2 OWL-S的顶层服务本体
OWL-S主要包括三个方面:ServiceProfile用于描述服务的功能,即服务“做什么”。服务发布者通过ServiceProfile描述服务的发布信息,服务的使用者通过ServiceProfile信息来选择和定位服务,ServieeProfile信息里面最重要的部分是服务的输入,输出,前提条件和后置条件。ServiceModel定义了客户端与服务的交互模式,即说明服务是“如何工作的”。ServiceGrounding用来描述与编程相关的传输层的消息和信息。目前的OWL-S标准提供了OWL-S描述的服务到WSDL描述的服务的绑定。
3 基于Chord的语义Web服务发现与合成
3.1 基于Chord的语义Web服务发现原型
图3 基于Chord的语义Web服务发现原型
如图3所示,基于Chord的语义Web服务发现原型系统包含:服务提供者、服务请求者、服务社区、超节点。服务社区是提供相同或相似服务内容的一群服务提供者。超节点是某服务社区中功能较强大的成员。
这个原型大致分为三层,从下往上依次是,物理网络层,服务社区及定位网络层。物理层是按照地理位置进行划分的实际的拓扑;基于领域本体构建了不同的服务社区,不同的服务社区提供不同的服务类型,共同构成结构化的P2P网络;所有的服务社区中的超节点以Chord结构为基础,构成了定位网络层。
每个节点可以提供一些服务,每个服务根据其服务类型归属于某个特定的领域(服务社区)。每个节点至少是一个服务社区的成员。服务社区的结构与本体的结构一致(本体是层次化的,因而服务社区结构也是层次化的)。每个服务社
区都有一个超节点MasterPeer和一个备份节点BackupPeer,MasterPeer中有其他社区的MasterPeer和BackupPeer列表,而BackupPeer则存有这一列表的备份。
本文中的本体主要是领域描述本体和服务描述本体。领域描述本体是对特定领域的总的拓扑结构,其存储在Chord定位网路层(服务社区的超节点内),用于将服务定位到相关的服务社区。服务描述本体是对Web服务的语义描述,包括功能性描述和非功能性描述(QoS),其存储在发布或查找服务的节点里。功能性描述包括Web服务的输入、输出、前提和结果;非功能性描述(QoS)主要有代价(cost)、响应时间(time)、服务优先级(priorities)等。
3.2 基于Chord的语义Web服务发布、发现与合成
图4服务发布、发现与合成的交互时序图
3.2.1 服务发布
首先服务提供者向所在服务社区的超节点提交注册请求信息;该超节点根据注册服务的类型,判断是否是本服务社区的服务类型,是则在该超节点注册,不是则需将服务映射到其相关的服务社区,根据Chord协议找到相关服务社区的地理位置(IP地址);在相关的服务社区内发布注册服务描述文件。
3.2.2 服务发现
首先服务请求者向所在服务社区的超节点提交查询请求信息;该超节点根据请求服务类型,判断是否是本服务社区的服务类型,是则在本社区内查找,不是则需将请求服务映射到其相关的服务社区,根据Chord协议找到相关服务社区的地理位置(IP地址);在相关的服务社区内进行服务匹配操作;返回服务。
服务匹配操作使用三阶段匹配算法,其中心思想是:首先进行服务类型的匹配,进而定位所属的服务社区,这样可以大大缩小服务查找的范围,提高效率;再次进行基于接口的匹配,服务社区里的目标子服务的输入和输出接口要与请求服务的输入和输出接口匹配;最后基于QoS匹配,找到服务质量最优的Web服务,满足用户偏好。
3.2.3 服务合成
首先服务请求者向所在服务社区的超节点提交组合服务请求信息;该超节点对组合服务请求信息进行解析和分解,根据服务类型定位到服务社区,根据三阶段匹配算法在服务社区中找到合适的目标子服务并返回到超节点;在超节点内动态生成服务组合图,并根据Web服务组合算法对目标子服务进行筛选与合成;返回合成服务。
Web服务组合算法的中心思想是在领域本体的支持下,以概念相似度为基础,计算服务之间的关联度,根据服务接口的输入和输出形成一个服务组合图,利用该服务组合图的特点,进行高效的Web服务组合。
4 实验与分析
针对本文提出的基于Chord的语义Web服务发现和合成模型,对其进行了初步的实验。本实验的实验环境是P41.6 GHz CPU、512 MB内存和80 G硬盘。软件开发工具为Apache Axis、OWL推理机Racer、Jena 2.0 API、OWL-S API和Tomcat 5.0服务器。本实验构造的服务均采用WSDL描述,并发布成语义Web上的OWL-S服务。
图5 两种方法的响应时间比较 图6 两种方法查全率
图7 两种方法查准率
两种方法的响应时间比较如图5,两种方法查全率和两种方法查准率则分别如图6、图7所示。实验结果分析表明,基于Chord的语义Web服务发现和合成方法的查全率稍低于集中式服务发现方法,但查准率高于集中式服务发现方法,且查询效率明显高于集中式服务发现方法,这是因为前者首先根据请求服务的类型定位到相关的服务社区中,减少了与不相关服务的查找匹配时间。
5结束语
本文提出一种基于Chord的语义Web服务发现和合成模型,将Chord和本体技术与Web服务技术有机结合。Chord有效解决集中式架构存在的诸多问题;本体为服务描述加入语义信息,提高Web服务发现和合成的准确度与智能化;注册中心分布在Chord网络中并基于领域本体分类,增强了Web服务发现及合成的效率。目前语义Web服务合成的成功率和效率有待改善,计算Web服务概念相似度与优化Web服务组合算法是下一步研究工作的重点。
参考文献:
//Proceedings of 12th International Conference on Advanced Information Systems Engineering(CAiSE), Stockholm, Sweden. Springer Verlag, 2000.
下一篇:无线网络安全缺陷与应对策略分析