专利名称:一种基于混合P2P网络结构的语义Web服务发现方法
技术领域:
本发明主要针对在大规模的Web服务集合中进行快速、高效的服务发现问题,提出了一种基于混合P2P网络结构的语义Web服务发现方法。
背景技术:
Web服务是服务计算中所强调的服务概念的一种具体表现形式和功能载体,它是一种基于Web环境的具有自适应、自描述、模块化并具有良好互操作能力的应用程序。Web服务作为一种新型的分布式构件模型,已经在电子商务、企业应用集成等领域扮演了越来越重要的角色。随着互联网中Web服务数目和种类的增加,如何方便有效地进行服务发现是面向服务的架构SOA所要解决的关键问题之一。近年来,国内外学者提出了基于语义的Web服务发现方法,通过使用语义网(Semantic Web)中的本体技术、语义推理技术来提高服务发现的效果,这类方法被学术界视为最有前景的服务发现方法,并在国内外学术期刊和会议上不断涌现出大量的基于语义的Web服务发现方法,这些方法大多以语义Web服务模型0WL-S、WSM0和WSDL-S等为基础,结合本体推理、语义匹配等技术实现准确和自动的服务发现过程。传统的Web服务发现方法大多是基于集中式的解决方案,随着互联网上Web服务的数量不断增多,这类方法将不可避免的展现出过于依赖服务器、效率瓶颈、单点失败、扩展性差等缺陷。海量的Web服务注册到集中式的服务注册中心势必会增大服务注册中心的负担,一旦中心节点崩溃,将导致所有注册的Web服务无法被发现。P2P技术打破了传统的集中式网络模式,使用分布的资源,以分散的方式来执行特定功能的一类系统和应用程序,具有分布性、可扩展性、自组织性、安全性和互操作性等特点。在P2P网络中,所有节点地位相同,每个节点既是服务器为其他节点提供服务,同时也是客户机享用其他节点提供的服务。P2P计算模型已经被成功地应用到许多领域,如管理和共享信息、协作、企业资源管理、分布式计算等,把P2P的思想与Web服务结合起来,可以有效地解决传统集中式Web服务发现所带来的一系列问题。P2P技术经过多年的研究与发展,已经产生了许多成熟有效的P2P网络,如Napster> Gnutella、Chord、CAN、JXTA等,但是,JXTA协议却是一种缺乏全局观的局部有效搜索方法。
发明内容
针对上述技术问题,本发明提出一种基于混合P2P网络结构的语义Web服务发现方法,克服传统集中式服务发现解决方案在服务集合规模庞大时所表现出的单点失败、效率瓶颈、扩展性差、可用性低等缺陷,利用P2P网络的分布性、可扩展性、互操作性等优势为服务请求者提供一种更为快捷高效的服务发现策略。为了解决上述技术问题,本发明的技术方案如下一种基于混合P2P网络结构的语义Web服务发现方法,包括组网阶段和发现阶段;所述组网阶段包括如下步骤I)在网络中设定默认对等组为Gtl,任何没有服务发布的节点都属于该组,第一个加入该组的节点成为该组的集合点R0 ;2)对于新加入网络的节点Pi,首先将其加入到对等组Gtl,所述节点Pi通过以下步骤发布Web服务21)Pi首先将欲发布的Web服务Wj所对应的语义范畴Wj_catogory发送给所属对等组的集合点,如果所述Pi本身就是集合点则忽略此步骤;22)通过计算Wj_catogory的哈希值,找到Chord网络中与Wj_catogory语义最近的集合点Rx ;23)计算Rx所对应的语义范畴Rx_catogory与Wj_catogory的语义相似度Sim (Rx_catogory, Wj_catogory),若相似度值大于设定阈值,则认为两者语义相似,Pi作为边缘节点加入Rx的对等组,Rx将<Pi; Wj)添加到自己的索引表中;24)若步骤23)计算出的语义不相似,Pi自己成为集合点Ri,建立新的对等组Gi,Ri在集合点Chord网络中的卩隹ー标识根据Wj_catogory进行哈希映射得到!Ri加入后,整个集合点网络根据Chord协议进行更新;3)任意节点若要发布新的Web服务都遵循步骤2)中的21)至步骤24)过程;所述同一个对等点可以发布多个属于不同语义范畴的Web服务;所述发现阶段包括如下步骤4)用户发出服务查询请求query,经过语义处理后得到可进行语义匹配的查询请求 query_category ;5)将查询请求query_category转发给查询请求发出节点的所属集合点Ri,若查询请求就来自于集合点,则可省略此步骤;6)集合点Ri收到查询请求query_category后,将对查询请求进行处理,具体步骤如下61)将query_category与本地的历史查询缓存进行匹配,若命中,则直接将结果返回给请求转发者,否则进入下一歩;62)计算query_category与集合点对应的语义范畴的语义相似度,若语义相似,则在自己维护的边缘节点索引表中进行语义匹配,查找与query_category语义相似的Web服务,将结果查询返回给请求转发者,同时更新本地历史查询缓存,否则进入下一歩;63)将查询请求转发给与查询请求query_category语义最相似的集合点Rx,查询请求的转发将根据Chord路由算法;64)接收到查询请求的集合点将重复步骤61),直到有查询结果返回或所有集合点都被遍历为止;7)所有接收到查询结果的路由集合点,在路由返回查询结果的同时更新本地的查询缓存,最后查询结果将路由到查询请求者,查询结束。
进ー步的,在组网阶段中步骤I)和步骤2)中节点加入具体包括如下步骤当ー个新的节点加入该网络时,首先将该节点加入到默认对等组Gtl,该对等组中的节点都是未发布服务的节点,第一个加入该组的节点成为这个组的集合点,其维护的边缘节点索引表仅为节点列表;如果当某一节点发布服务时则从该对等组中离开,集合点维护的索引表中将该节点删除;如果集合点发布服务,则选定索引表中第一个节点为新的集合点,将索引表转发给新的集合点。 进一步的,当节点需要离开所述网络时,包括如下步骤若Pi作为边缘节点离开网络时,则向其集合点Rj发送退出请求,Rj收到请求后,在其所维护的索引表中,将Pj的服务信息删除;若某一集合点Rk想要离开网络时,则Rk从自己所在对等组中选出与其相似度最高的边缘节点Pk作为集合点的继任者,然后将自己所维护的组内边缘节点索引表转交给Pk, Pk成为新的集合点之后,对Pk加入该对等组的第一个Web服务Wk的语义范畴进行哈希映射,得到新集合点在的Chord网络中的唯一标识,继而整个Chord网络也进行相应更新。进一步的,如果节点Pi需要撤销其发布的某一服务%,节点Pi将撤销请求发给他的所有集合点(R1, R2, R3,…Rk,k > = 1},收到请求的集合点Rk判断其维护的边缘节点索引表中是否含有记录〈Py w>,若含有则将该记录删除。本发明具有以下有益效果(I)由于引入了 P2P技术进行服务发现,因此即便应对大规模的服务集合,依然能够表现出良好的扩展性和可用性;(2)基于语义相似性对节点进行分组,提高P2P网络中的局部关联度,从而可以减少P2P网络中节点间转发消息的跳数,提高查询效率;(3)集合点在处理查询请求时加入历史查询缓存机制,对于出现频率相对较高的查询请求可以更快地作出响应,从而提高查询效率。
图I为本发明中所要构造的混合P2P网络结构图;图2为本发明中在混合P2P网络中进行语义Web服务发布的流程图;图3为本发明中的语义Web服务发现流程图;图4为本发明中集合点转发查询请求的流程图。
具体实施例方式下面将结合附图和具体实施例对本发明做进一步的说明。通过分析Web服务环境以及Web服务发现问题的特点,本发明是基于一种混合的P2P网络结构JXTACh来实现Web服务发现的解决方案。JXTACh是由CarloNocentini等人提出的将JXTA协议和Chord协议结合的一种混合P2P网络结构。JXTA是由SUN公司提出一组开放的、通用的P2P协议集合。基于JXTA协议构造的P2P网络是一种半结构化的网络,网络中的节点可以根据某一规则进行分组,组内的节点分为集合点和边缘节点,集合点负责维护边缘节点的索引。对于上层集合点采用松散一致的DHT算法,有限范围内集合点步行查找,而对于下层边缘节点则采用广播方式查找。但是,JXTA协议是一种缺乏全局观的局部有效搜索算法,JXTACh通过引入Chord,将JXTA上层网络构造成结构化网络,下层路由机制不变,有效地利用了 Chord的负载平衡、高鲁棒性、高扩展性以及高可用性等优势,从而构造出路由效率高效且具有全局观的路由网络。本发明所提出技术方案主要包含两方面内容其一,将参与服务发现的节点基于混合P2P网络结构JXTACh组织起来(简称组网阶段);其ニ,在构造好的P2P网络中进行语义Web服务发现(简称发现阶段)。由于P2P网络中的节点具有地位对等的特性,因此參与组网过程的节点既可以作为服务发布者,也可以作为服务请求者,每个节点同时也可以看作一个小的服务注册中心,可以在任意 节点上进行Web服务的查询匹配。所构造的网络结构如图I所示,P2P网络中的节点分为边缘节点和集合点,姆ー集合点对应ー个对等组,属于该对等组的边缘节点都提供语义相似的Web服务,同一边缘节点可以属于不同的对等组,一个节点的身份并不固定也不唯一 ,可以同时作为ー个组的集合点和另ー个对等组的边缘节点。网络中的所有集合点则根据Chord协议进行组织。姆ー集合点除了需要维护Chord协议所需的FingerTable之外,还要维护自己所管辖的对等组中边缘节点的服务信息索引。语义Web服务建模(I)Web服务服务将语义Web服务表示成三元组s = (η, P, category),其中n为服务名称;p表示为该服务提供的操作集合,ー个操作可表示为ニ元组P = (C1,CJ,其中C1为操作所有的输入对象所对应的语义概念集合,C0为所有输出对象所对应的语义概念集合;category表示该服务所属的语义范畴,是ー种语义概念。(2)语义相似度给定语义概念C1, C2,两者之间的语义相似度为
权利要求
1.一种基于混合P2P网络结构的语义Web服务发现方法,其特征在于,包括组网阶段和发现阶段; 所述组网阶段包括如下步骤 1)在网络中设定默认对等组为Gtl,任何没有服务发布的节点都属于该组,第一个加入该组的节点成为该组的集合点R0 ; 2)对于新加入网络的节点Pi,首先将其加入到对等组Gtl,所述节点Pi通过以下步骤发布Web服务 21)Pi首先将欲发布的Web服务Wj所对应的语义范畴Wj_catogory发送给所属对等组的集合点,如果所述Pi本身就是集合点则忽略此步骤; 22)通过计算Wj_catogory的哈希值,找到Chord网络中与Wj_catogory语义最近的集合点Rx ; 23)计算Rx所对应的语义范畴Rx_catogory与Wj_catogory的语义相似度Sim(Rx_catogory, Wj_catogory),若相似度值大于设定阈值,则认为两者语义相似,Pi作为边缘节点加入Rx的对等组,Rx将<Pi; ffj>添加到自己的索引表中; 24)若步骤23)计算出的语义不相似,Pi自己成为集合点Ri,建立新的对等组Gi,Ri在集合点Chord网络中的唯一标识根据Wj_catogory进行哈希映射得到;民加入后,整个集合点网络根据Chord协议进行更新; 3)任意节点若要发布新的Web服务都遵循步骤2)中的21)至步骤24)过程; 所述同一个对等点可以发布多个属于不同语义范畴的Web服务; 所述发现阶段包括如下步骤 4)用户发出服务查询请求query,经过语义处理后得到可进行语义匹配的查询请求query—category ; 5)将查询请求query_category转发给查询请求发出节点的所属集合点Ri,若查询请求就来自于集合点,则可省略此步骤; 6)集合点Ri收到查询请求query_category后,将对查询请求进行处理,具体步骤如下 61)将query_category与本地的历史查询缓存进行匹配,若命中,则直接将结果返回给请求转发者,否则进入下一步; 62)计算query_category与集合点对应的语义范畴的语义相似度,若语义相似,贝Ij在自己维护的边缘节点索引表中进行语义匹配,查找与query_category语义相似的Web服务,将结果查询返回给请求转发者,同时更新本地历史查询缓存,否则进入下一步; 63)将查询请求转发给与查询请求query_category语义最相似的集合点Rx,查询请求的转发将根据Chord路由算法; 64)接收到查询请求的集合点将重复步骤61),直到有查询结果返回或所有集合点都被遍历为止; 7)所有接收到查询结果的路由集合点,在路由返回查询结果的同时更新本地的查询缓存,最后查询结果将路由到查询请求者,查询结束。
2.根据权利要求I所述的一种基于混合P2P网络结构的语义Web服务发现方法,其特征在于,在组网阶段中步骤I)和步骤2)中节点加入具体包括如下步骤当一个新的节点加入该网络时,首先将该节点加入到默认对等组Gtl,该对等组中的节点都是未发布服务的节点,第一个加入该组的节点成为这个组的集合点,其维护的边缘节点索引表仅为节点列表;如果当某一节点发布服务时则从该对等组中离开,集合点维护的索引表中将该节点删除;如果集合点发布服务,则选定索引表中第一个节点为新的集合点,将索引表转发给新的集合点。
3.根据权利要求2所述的一种基于混合P2P网络结构的语义Web服务发现方法,其特征在于,当节点需要离开所述网络时,包括如下步骤若Pi作为边缘节点离开网络时,则向其集合点&发送退出请求,Rj收到请求后,在其所维护的索引表中,将P」的服务信息删除;若某一集合点Rk想要离开网络时,则Rk从自己所在对等组中选出与其相似度最高的边缘节点Pk作为集合点的继任者,然后 将自己所维护的组内边缘节点索引表转交给Pk,Pk成为新的集合点之后,对Pk加入该对等组的第一个Web服务Wk的语义范畴进行哈希映射,得到新集合点在的Chord网络中的唯一标识,继而整个Chord网络也进行相应更新。
4.根据权利要求I所述的一种基于混合P2P网络结构的语义Web服务发现方法,其特征在于,如果节点Pi需要撤销其发布的某一服务%,节点Pi将撤销请求发给他的所有集合点(R1, R2, R3,…Rk, k >= 1},收到请求的集合点Rk判断其维护的边缘节点索引表中是否含有记录〈Pi; w>,若含有则将该记录删除。
全文摘要
本发明公开了一种基于混合P2P网络结构的语义Web服务发现方法,通过对对组网阶段和发现阶段的步骤设置,引入了P2P技术进行服务发现,因此即便应对大规模的服务集合,依然能够表现出良好的扩展性和可用性;通过基于语义相似性对节点进行分组,提高P2P网络中的局部关联度,从而可以减少P2P网络中节点间转发消息的跳数,提高查询效率;另外集合点在处理查询请求时加入历史查询缓存机制,对于出现频率相对较高的查询请求可以更快地作出响应,从而提高查询效率。
文档编号H04L29/08GK102624908SQ20121006400
公开日2012年8月1日 申请日期2012年3月12日 优先权日2012年3月12日
发明者吴健, 吴朝晖, 尹建伟, 李莹, 邓水光, 黄龙涛 申请人:浙江大学