发明名称 一种基于平衡二叉树Chord网络结构的Web服务发现方法
摘要 本发明公开了一种基于平衡二叉树Chord网络结构的Web服务发现方法,通过一种混合的方式来解决相应的服务发现问题,利用提到的Enhanced-AVLTree和Chord结构的混合架构来实现语义Web服务发现的解决方案。此网络模型分为两层,上层是针对服务类型所属语义范畴的类别进行分组,利用Enhanced-AVLTree构建相应的服务类别分组节点树模型,下层利用Chord结构来构建该类别服务的资源发布与实现,采用Enhanced-AVLTree结构网络确保在O(logn)的情况下快速定位到服务所属的语义类别范畴;利用Enhanced-AVLTree和Chord结合的方式构建出P2P网络有利于网络负载的平衡,克服了传统网络的负载不均的缺点;语义Web的加入使得查询更准确地定位到结果等优点。
申请公布号 CN102857581A 申请公布日期 2013.01.02
申请号 CN201210381298.6 申请日期 2012.10.09
申请人 浙江大学 发明人 邓水光;曹志强;尹建伟;吴朝晖;李莹;吴健
分类号 H04L29/08(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 杭州裕阳专利事务所(普通合伙) 33221 代理人 江助菊
主权项 一种基于平衡二叉树Chord网络结构的Web服务发现方法,其特征在于,包括服务建网过程和服务发现过程;所述服务建网过程包括如下步骤:11)设定初始状态,网络中有组默认的节点集合G0,任何没有服务发布的节点都属于该组,第一个加入该组的节点成为该组的树节点T0,所述树节点T0保存整个树形网络的根节点R0的地址;12)对于新加入网络的节点Pi,首先将其加入到节点集合G0,所述节点Pi通过以下步骤发布Web服务:121)节点Pi首先将欲发布的Web服务wi所对应的语义范畴wi_category发送给该组的树节点T0,树节点T0将其转发给根节点R0;122)根据语义范畴进行哈希映射得到每个树节点的服务类别值key0,即通过计算语义范畴wi_category的哈希值key0i,根据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的查询信息所对应的服务值key1i,通过key1i将服务的发布信息<wi,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转发给根节点R0,然后按照二分搜索树的规则查找到语义相似度符合的树节点Rx,然后在树节点Rx所属的环中根据Chord协议来查找查询请求query_category所对应的查询服务信息的哈希值key1q,查找到相应的服务发布信息并发送给查询发起节点,若超出环中所设定的限定跳数,则查询失败,同样返回查询失败信息。
地址 310027 浙江省杭州市西湖区浙大路38号