一种基于平衡二叉树Chord网络结构的Web服务发现方法

文档序号:7862523阅读:219来源:国知局
专利名称:一种基于平衡二叉树Chord网络结构的Web服务发现方法
技术领域
本发明主要面向大规模语义Web服务的快速发布和发现问题,尤其涉及一种基于平衡二叉树Chord网络结构的Web服务发现方法。
背景技术
在服务计算中,Web服务是服务概念的一种具体表现形式和功能载体,它是一种基于Web环境的具有自适应、自描述、模块化并具有良好互操作能力的应用程序。Web服务作为一种新型的分布式构件模型,已经在电子商务、企业应用集成等领域扮演了越来越重要的角色。随着互联网中Web服务数目和种类的增加,如何方便有效地进行服务发现是面向服务的架构SOA所要解决的关键问题之一。近年来,国内外学者纷纷投身于基于语义的Web 服务发现方法,通过使用语义网(Semantic Web)中的本体技术、语义推理技术来提高服务发现的能力,这样的方法被当前学术界一致公认为最有前景的服务发现方法,这类方法绝大部分以语义Web服务模型0WL-S、WSM0和WSDL-S等为基础,结合本体推理、语义匹配等技术来达到服务发现过程的自动化和准确性。传统的Web服务发现方法基本是通过集中式的解决方案实现的,例如比较流行的CS架构等,但是随着服务数量的不断丰富增加,这样的集中式解决方案将会不可避免的出现服务器依赖、效度低下、单点失败和扩展性差等缺陷。当海量的注册集中到服务注册中心时,必然会导致服务注册中心的高负荷运作,并且如果服务注册中心一旦中心节点崩溃,所有注册在此服务中心的Web服务都将无法被发现利用,将导致不可估量的损失。然而P2P技术的出现突破了原有传统的集中式网络模式,利用分布式的资源,使用分散的方式来实现某种功能或是支持某类系统,P2P网络具有分布性、自组织性、可扩展性、安全性和互操作性等特点。P2P技术经过多年的研究与发展,已经产生了许多成熟有效的P2P网络,如Napster、Gnutella、Chord、CAN、JXTA等,P2P网络中的所有节点地位都是平等的,每个节点既作为服务器为其他节点提供所需的服务,又作为客户端可以使用其他节点所提供的服务,这样对等地位的模式分担的服务器的风险,也大大降低了整个网络崩溃的可能。平衡二叉树(AVLTree)中任何节点的两个子树的高度最大差别为一,在平衡二叉树中,查找、插入和删除在平均和最坏情况下都是0(log n),通过对AVLTree中的所有节点都添加指向根节点的地址(引用或指针),即可以从任意一点发起寻找,即可发现此树型结构中的所找节点。这样通过改进后的AVLTree (称为Enhanced-AVLTree)也成为一种结构式的P2P计算模型。

发明内容
针对传统的集中式服务发现的效率瓶颈、可扩展性差等缺陷,本发明提出一种基于Enhanced-AVLTree和Chord混合的P2P网络结构的语义Web服务发现方法,利用P2P网络的分布性、可扩展性、互操作性等优势为服务请求者提供一种快速高效的服务发现策略方法。为了解决上述技术问题,本发明的技术方案如下
一种基于平衡ニ叉树Chord网络结构的Web服务发现方法,包括服务建网过程和服务发现过程;所述服务建网过程包括如下步骤11)设定初始状态,网络中有组默认的节点集合Gtl,任何没有服务发布的节点都属于该组,第一个加入该组的节点成为该组的树节点Ttl,所述树节点Ttl保存整个树形网络的根节点Rtl的地址;12)对于新加入网络的节点Pi,首先将其加入到节点集合Gtl,所述节点Pi通过以下步骤发布Web服务121)节点Pi首先将欲发布的Web服务Wi所对应的语义范畴Wi.category发送给该组的树节点Ttl,树节点Ttl将其转发给根节点Rtl ; 122)根据语义范畴进行哈希映射得到每个树节点的服务类别值keyO,即通过计算 语义范畴Wi—category的哈希值keyOi;根据Enhanced-AVLTree树的查找规则在网络中找到与语义范畴Wi—catogery语义最近的树节点Rx ;123)计算树节点Rx所对应的语义范畴Rx—catogery与Wi.catogery的语义相似度Sim (Rx catogory, Wi.catogory),若相似度值大于给定阈值,则认为两者语义相似,节点Pi作为环节点加入到树节点Rx所属的Chord环,通过相应的Chord协议,根据节点Pi的IP地址计算出相应节点Pi的哈希值以确定节点Pi在该Chord环中的位置,并计算服务Wi的查询信息所对应的服务值keyli,通过Iceyli将服务的发布信息〈W” ΙΡ_ ^>发布到相应的节点Px上;124)若步骤123)计算出的语义不相似,节点Pi自己成为树节点Ri,建立新的Chord环Gi,节点Ri在Enhanced-AVLTree树网络中的卩隹一标识根据语义范畴Wi.catogory进行哈希映射得到,随着节点Ri的加入,整个Enhanced-AVLTree网络根据平衡树的规则进行更新;13)对于已经加入到某个环中的节点发布新服务时,首先将服务信息发送到该节点所在环的树节点,然后按照步骤121Γ124)进行发布;所述服务发现过程包括如下步骤14)服务请求节点发起服务查询请求query,经过语义处理后得到可进行语义匹配的查询请求query_category ;15)将查询请求query_category转发给请求发出节点的所属环的树节点Ri,若查询请求就来自于该树节点,则可省略此步骤;16)树节点Ri收到查询请求query_category后,将对查询请求进行处理,具体步骤如下161)将查询请求query_category与本地的历史查询缓存进行匹配,若命中,贝Ij直接将结果返回给请求转发者,否则进入步骤162);162)计算查询请求query_category与树节点对应的语义范畴的语义相似度,若语义相似,则在自己所属的环中根据Chord协议查找与查询请求query_category语义相似的Web服务,将结果查询返回给请求发起者,同时更新本地历史查询缓存,否则进入步骤163);163)将查询请求query_category转发给与查询请求query_category语义最相似的集合点,根据Enhanced-AVLTree的规则,将查询请求query_category转发给根节点Rtl,然后按照二分捜索树的规则查找到语义相似度符合的树节点Rx,然后在树节点Rx所属的环中根据Chord协议来查找查询请求query_category所对应的查询服务信息的哈希值keylq,查找到相应的服务发布信息并发送给查询发起节点,若超出环中所设定的限定跳数,则查询失败,同样返回查询失败信息。本发明的有益效果在于通过ー种混合的方式来解决相应的服务发现问题,利用上面提到的Enhanced-AVLTree和Chord结构的混合架构来实现语义Web服务发现的解决方案。此网络模型分为两层,上层是针对服务类型所属语义范畴的类别进行分组,利用Enhanced-AVLTree构建相应的服务类别分组节点树模型,下层利用Chord结构来构建该类别服务的资源发布与实现,采用Enhanced-AVLTree结构网络确保在O (log η)的情况下快速定位到服务所属的语义类别范畴;利用Enhanced-AVLTree和Chord结合的方式构建出P2P网络有利于网络负载的平衡,克服了传统网络的负载不均的缺点;语义Web的加入使得
查询更准确地定位到结果等优点。


图I为本发明中所要构造的Enhanced-AVLTree和Chord混合的网络结构图;图2为本发明中在图I网络进行语义Web服务发布的流程图;图3为本发明中在图I网络进行的语义Web服务发现流程具体实施例方式下面将结合附图和具体实施例对本发明做进ー步的说明。本发明提出技术方案主要包含两方面内容ー是,将參与服务发现节点通过Enhanced-AVLTree和Chord组建成相应的网络结构(简称服务建网阶段);ニ是,在构建好的网络结构中进行语义Web的服务发现(简称服务发现阶段)。基于Enhanced-AVLTree和Chord所构建的混合式P2P网络同样具有P2P网络结构的相应特点,网络中的每个节点既可以作为服务注册中心为其他节点提供查询服务,也可以作为服务请求者使用其他节点所提供的服务,本网络结构可以在任意节点进行服务发布和发现操作。所构造的网络结构如图I所示,网络中的节点分树节点和环节点,每个树节点又属于某个环,该环的树节点是沟通本环组与整个网络的桥梁,若此树节点离开或失效,由此环中的节点依次补上成为此环的树节点。服务建网阶段的具体步骤如下( I)设定初始状态中,网络中有组默认的节点集合Gtl,任何没有服务发布的节点都属于该组,第一个加入该组的节点成为该组的树节点Ttl,树节点Ttl保存整个树形网络的根节点Rtl的地址;(2)对于新加入网络的节点Pi,首先将其加入到节点集合G。,节点Pi通过以下步骤发布Web服务a)节点Pi首先将欲发布的Web服务Wi所对应的语义范畴Wi.category发送给该组的树节点Ttl,树节点Ttl将其转发给根节点Rtl ;b)根据语义范畴进行哈希映射得到每个树节点的服务类别值keyO,因此可以通过计算语义范畴Wi-category的哈希值IceyOi,根据Enhanced-AVLTree树的查找规则在网络中找到与语义范畴Wi—catogery语义最近的树节点Rx ;c)计算树节点Rx所对应的语义范畴Rx—catogery与Wi.catogery的语义相似度Sim(Rx catogory, Wi catogory),若相似度值大于给定阈值,则认为两者语义相似,节点Pi作为环节点加入到树节点Rx所属的Chord环,通过相应的Chord协议,根据节点Pi的IP地址计算出相应节点Pi的哈希值以确定节点Pi在该Chord环中的位置,并计算服务Wi的查询信息所对应的服务值keyl”通过Iceyli将服务的发布信息〈W” IP_Wi>发布到相应的节点Px上;d)若步骤c)计算出的语义不相似,节点Pi自己成为树节点Ri,建立新的Chord环Gi7Ri在Enhanced-AVLTree网络中的唯一标识根据Wi.catogory进行哈希映射得到,随着Ri的加入,整个Enhanced-AVLTree网络根据平衡树的规则进行更新。由于一个节点可能发布不同类别的服务,但是其节点所在的Chord环则是由第一次发布服务的类别所决定,而节点上保存的是服务Wi的发布信息〈^,IP_Wi> (3)对于已经加入到某个环中的节点发布新服务时,首先将服务信息发送到该节点所在环的树节点,然后按照a)_d)过程进行发布;通过上述步骤,可以构建出一个混合结构的P2P网络,该网络分为两层,上层利用Enhanced-AVLTree进行组织管理,下层则利用Chord协议进行管理。本发明所提出的语义Web服务发现过程即基于该P2P网络,流程图如图3所示,具体步骤如下(I)服务请求节点发起服务查询请求query,经过语义处理后得到可进行语义匹配的查询请求query_category ;(2)将查询请求query_category转发给请求发出节点的所属环的树节点Ri,若查询请求就来自于该树节点,则可省略此步骤;(3)树节点Ri收到查询请求query_category后,将对查询请求进行处理,具体步骤如下a)将query_category与本地的历史查询缓存进行匹配,若命中,贝U直接将结果返回给请求转发者,否则进入下一步。b)计算query_category与树节点对应的语义范畴的语义相似度,若语义相似,贝Ij在自己所属的环中根据Chord协议查找与query_category语义相似的Web服务,将结果查询返回给请求发起者,同时更新本地历史查询缓存,否则进入下一步。将查询请求转发给与查询请求query_category语义最相似的集合点,根据Enhanced-AVLTree的规则,将查询请求转发给根节点Rtl,然后按照二分搜索树的规则查找到语义相似度符合的树节点Rx,然后在Rx所属的环中根据Chord协议来查找query_category所对应的查询服务信息的哈希值keylq,查找到相应的服务发布信息并发送给查询发起节点,若超出环中所设定的限定跳数,则查询失败,同样返回查询失败信息。语义Web服务建模(I) Web服务服务:将语义Web服务表示成三元组s = (n, p, category),其中a) η为服务名称;b)P表示为该服务提供的操作集合,一个操作可表示为二元组ρ = (C1, C。),其中C1为操作所有的输入对象所对应的语义概念集合,C0为所有输出对象所对应的语义概念集合;c) category表示该服务所属的语义范畴,是ー种语义概念。(2)语义相似度给定语义概念C1, C2,两者之间的语义相似度为
权利要求
1.一种基于平衡二叉树Chord网络结构的Web服务发现方法,其特征在于,包括服务建网过程和服务发现过程; 所述服务建网过程包括如下步骤 11)设定初始状态,网络中有组默认的节点集合Gtl,任何没有服务发布的节点都属于该组,第一个加入该组的节点成为该组的树节点Ttl,所述树节点Ttl保存整个树形网络的根节点Rtl的地址; 12)对于新加入网络的节点Pi,首先将其加入到节点集合Gtl,所述节点Pi通过以下步骤发布Web服务 121)节点Pi首先将欲发布的Web服务Wi所对应的语义范畴Wi.category发送给该组的树节点Ttl,树节点Ttl将其转发给根节点Rtl ; 122)根据语义范畴进行哈希映射得到每个树节点的服务类别值keyO,即通过计算语义范畴Wi—category的哈希值keyOi;根据Enhanced-AVLTree树的查找规则在网络中找到与语义范畴Wi—catogery语义最近的树节点Rx ; 123)计算树节点Rx所对应的语义范畴Rx—catogery与Wi.catogery的语义相似度Sim(Rx catogory, Wi catogory),若相似度值大于给定阈值,则认为两者语义相似,节点Pi作为环节点加入到树节点Rx所属的Chord环,通过相应的Chord协议,根据节点Pi的IP地址计算出相应节点Pi的哈希值以确定节点Pi在该Chord环中的位置,并计算服务Wi的查询信息所对应的服务值keyl”通过Iceyli将服务的发布信息〈W” IP_Wi>发布到相应的节点Px上; 124)若步骤123)计算出的语义不相似,节点Pi自己成为树节点Ri,建立新的Chord环Gi,节点Ri在Enhanced-AVLTree树网络中的唯一标识根据语义范畴Wi.catogory进行哈希映射得到,随着节点Ri的加入,整个Enhanced-AVLTree网络根据平衡树的规则进行更新; 13)对于已经加入到某个环中的节点发布新服务时,首先将服务信息发送到该节点所在环的树节点,然后按照步骤121Γ124)进行发布; 所述服务发现过程包括如下步骤 14)服务请求节点发起服务查询请求query,经过语义处理后得到可进行语义匹配的查询请求 query_category ; 15)将查询请求query_category转发给请求发出节点的所属环的树节点Ri,若查询请求就来自于该树节点,则可省略此步骤; 16)树节点Ri收到查询请求query_category后,将对查询请求进行处理,具体步骤如下 161)将查询请求query_category与本地的历史查询缓存进行匹配,若命中,则直接将结果返回给请求转发者,否则进入步骤162); 162)计算查询请求query_category与树节点对应的语义范畴的语义相似度,若语义相似,则在自己所属的环中根据Chord协议查找与查询请求query_category语义相似的Web服务,将结果查询返回给请求发起者,同时更新本地历史查询缓存,否则进入步骤163); 163)将查询请求query_category转发给与查询请求query_category语义最相似的集合点,根据Enhanced-AVLTree的规则,将查询请求query_category转发给根节点R。,然后按照二分搜索树的规则查找到语义相似度符合的树节点Rx,然后在树节点Rx所属的环中根据Chord协议来查找查询请求query_category所对应的查询服务信息的哈希值keylq,查找到相应的 服务发布信息并发送给查询发起节点,若超出环中所设定的限定跳数,则查询失败,同样返回查询失败信息。
全文摘要
本发明公开了一种基于平衡二叉树Chord网络结构的Web服务发现方法,通过一种混合的方式来解决相应的服务发现问题,利用提到的Enhanced-AVLTree和Chord结构的混合架构来实现语义Web服务发现的解决方案。此网络模型分为两层,上层是针对服务类型所属语义范畴的类别进行分组,利用Enhanced-AVLTree构建相应的服务类别分组节点树模型,下层利用Chord结构来构建该类别服务的资源发布与实现,采用Enhanced-AVLTree结构网络确保在O(logn)的情况下快速定位到服务所属的语义类别范畴;利用Enhanced-AVLTree和Chord结合的方式构建出P2P网络有利于网络负载的平衡,克服了传统网络的负载不均的缺点;语义Web的加入使得查询更准确地定位到结果等优点。
文档编号H04L29/08GK102857581SQ201210381298
公开日2013年1月2日 申请日期2012年10月9日 优先权日2012年10月9日
发明者邓水光, 曹志强, 尹建伟, 吴朝晖, 李莹, 吴健 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1