首页> 中国专利> 一种结构化P2P和UDDI的服务注册与查找方法和系统

一种结构化P2P和UDDI的服务注册与查找方法和系统

摘要

本发明公开了一种结构化P2P和UDDI的服务注册与查找方法和系统,所述方法包括:利用结构化P2P协议,把多个UDDI系统组成P2P覆盖网;服务请求者通过客户端管理系统将用户请求消息发送到P2P覆盖网的某个节点上,该节点查找对应的UDDI节点,该节点根据消息类型决定进行注册或者查找的处理,并返回结果给服务的请求者;客户端管理系统向服务注册中心进行服务注册和服务查找;服务注册或者服务查找的结果由Socket通信模块直接返回给客户端管理系统。应用本方法构成的系统能够有效地避免单点失效问题,有利于网络的负载均衡,减少P2P覆盖网的流量、压力,具有响应速度快和更好的稳定性。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-28

    授权

    授权

  • 2013-11-06

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20130716

    实质审查的生效

  • 2013-10-09

    公开

    公开

说明书

技术领域

本发明涉及网络服务计算技术领域,具体涉及一种结构化P2P和UDDI的服务注册与查找方法。

背景技术

随着网络技术的发展,传统的软件体系结构逐渐向面向服务架构体系结构演变。Web服务作为实现SOA(Service-Oriented Architecture,面向服务体系架构)应用的理想平台,已经成为架构系统时的首选。SOA主要由三个主要角色组成,分别是服务提供者、服务注册中心和服务请求者。服务提供者提供服务的具体实现,同时负责将服务发布到注册中心,服务注册中心是一个可供搜索的目录。服务请求者可在注册中心发布发现服务描述,并能获取绑定信息,利用该绑定信息,可以绑定到服务提供者,从而调用服务提供者提供的服务。

相关国际组织已经提出了一系列相关协议与规范,如UDDI(Universal Description, Discovery and Integration,统一描述、发现和集成),约定了如何描述、注册及发现web服务。目前,P2P技术已广泛应用于文件共享、数据共享、多媒体通信、实施通信、网络游戏、分布式存储和计算等诸多领域。Web服务作为一种特殊的计算资源可以直接应用P2P覆盖网技术进行服务的注册与查找。

P2P覆盖网的节点既是客户端又是服务器,能提供资源,包括带宽,存储空间和计算能力,当有节点加入P2P覆盖网时,整个系统的资源也将会增加,这是那些只能拥有固定的服务器的C/S结构不能比拟的。作为网络技术的一种,P2P覆盖网具有一般网络的特点外,还有自身的其他特点,如拓扑动态性好、网络健壮性好、负载均衡等。

现有的UDDI框架是一种集中式架构,集中式架构服务的发布、搜索和匹配等操作都在中心服务器上进行,服务描述都存储在中心注册服务器上。当服务数量急增时,系统将会面临系统瓶颈、单点故障、查找效率降低等诸多问题的影响,一旦中心注册器出现故障,则整个服务发现系统将瘫痪。而且随着服务数量的增加和网络规模的不断扩大,对中心服务器的存储容量、网络带宽和CPU的计算能力等要求更高,容易产生性能瓶颈,从而严重影响web服务发现的性能(如:查准率、查全率和查询时间等)。

发明内容

     为了解决现有技术的不足,本发明提供一种基于结构化P2P和UDDI的服务注册与查找方法和系统。

    一种结构化P2P和UDDI的服务注册与查找方法,包括:

    利用结构化P2P协议,把多个UDDI系统组成P2P覆盖网;

    服务请求者通过客户端管理系统将用户请求消息发送到P2P覆盖网的某个节点上,该节点查找对应的UDDI节点,该节点根据消息类型决定进行注册或者查找的处理,并返回结果给服务的请求者;

客户端管理系统向服务注册中心进行服务注册和服务查找;

服务注册或者服务查找的结果由 Socket通信模块直接返回给客户端管理系统。

所述由UDDI系统组成的P2P覆盖网的节点根据服务分类生成散列值,由P2P覆盖网通信模块将消息路由到管理该散列值的节点上,判断服务请求类型后,直接调用UDDI的查询或者注册接口。

所述的客户端管理系统向服务注册中心进行服务注册的步骤如下:

   (1)用户登陆客户端管理系统,安全认证后,将已经发布的服务的WSDL文件的统一资源定位符以及服务的分类信息,提交到客户端管理系统;

(2)客户端管理系统将用户提交的信息发送到P2P覆盖网的某个节点上;该节点接收信息后,提取信息中的服务分类信息,通过SHA-1算法生成散列值;

(3)该节点根据此散列值,判断是否为本节点所管理,若是,则进入下一步骤;若不是,则将接收到的信息由P2P通信模块转发到管理此散列值的节点上;

(4)客户端管理系统判断消息的请求类型,若为注册请求,则提取服务的WSDL文件的地址,根据该WSDL文件的URL,读取并解析WSDL文件,生成服务注册所需要的相关信息;

(5)客户端管理系统调用UDDI的注册API,将服务的WSDL文件的解析信息以及一些相关信息直接注册到本节点的UDDI中;

(6)注册成功后,客户端管理系统将标识该服务分类信息的散列值,发布到P2P覆盖网中,以便于服务请求者的查找;

(7)注册的结果信息返回给客户端管理系统。

所述的客户端管理系统向服务注册中心进行服务查找的步骤如下:

(1)用户登陆客户端管理系统,安全认证后,客户端管理系统将用户提交的查询信息发送到P2P覆盖网的某个节点上;

   (2)该节点接收客户端管理系统发送过来的信息后,提取服务分类信息,通过SHA-1算法生成散列值;

(3)该节点根据此散列值,判断是否为本节点所管理,若是,则进入下一步骤;若不是,则将接收到的信息由P2P通信模块转发到管理此散列值的节点上;

(4)客户端管理系统判断消息的请求类型,若为查询请求,则根据服务的相关信息直接调用UDDI的服务查询AP;

(5)查询结束后,查询的结果返回给客户端管理系统。

本发明的有益效果:

    (1)将UDDI注册中心应用于结构化P2P覆盖网,使得服务均匀地分发到P2P覆盖网上的各个节点,将服务注册到各个节点的UDDI中,当系统有大量的服务请求时,P2P覆盖网将服务请求转发到对应的节点上,这样可将整个系统的压力分摊到各个节点上,有效地避免了大量的服务请求集中于一点而引起造成的单点失效问题;

    (2) 由于服务请求被均匀地分发到各个节点上,有利于网络的负载均衡;

    (3)服务注册或查找结果由Socket通信直接返回,不用原路返回,减少P2P覆盖网的流量、压力;

    (4)由于采用的是基于Pastry协议的结构化P2P的网络,节点的数目可以任意扩大,系统不因节点的扩大而降低性能,具有更好的稳定性;

(5)P2P接收消息后,直接调用UDDI注册、查询接口,比一般的方法(需要解析SAOP消息)响应速度更快。

附图说明

    图1为本发明的结构化P2P覆盖网环境下Web服务模型结构图。

    图2为本发明所述方法的服务注册、查找的流程图。

    图3为应用本发明所述方法构成的系统网络案例图。

具体实施方式

以下结合附图实施例对本发明做进一步详细描述。

    如图1所示,一种基于结构化P2P的UDDI注册与查找方法和系统,各个节点上的UDDI通过P2P覆盖网相连,服务提供者或服务请求者发出的消息到P2P一个节点上后,P2P覆盖网负责将消息转发到管理该服务的节点上。通信模块包括P2P覆盖网通信模块和Socket通信模块,其中Socket通信模块用于P2P覆盖网上的节点与非P2P覆盖网节点的通信,即提交服务请求消息到P2P覆盖网节点上,以及返回服务请求结果信息。

(一)服务注册:

如图2所示,服务提供者向服务注册中心注册服务的具体步骤为:

1. 服务提供者通过浏览器提交用户信息,登录到客户端管理系统;

2. 客户端对用户信息进行安全认证;若认证通过,则将用户信息保存在会话中,并允许该用户执行其权限内的操作,否则拒绝操作;

3. 服务注册者将已经发布的服务的WSDL文件的统一资源定位符以及服务的分类信息,利用HTTP协议的POST请求方法,提交到客户端管理系统;

4. 客户端管理系统用Socket通信,将用户提交的信息发送到P2P覆盖网的一个节点上;

5. 该节点接收客户端管理系统发送过来的信息后,提取服务分类信息,通过SHA-1算法生成散列值;

6. 节点根据该散列值,判断是否为本节点所管理,若是,则跳步骤1g;若不是,则将接收到的信息转发,直到转发到管理该散列值的节点上;

7. 判断消息类型,若为注册请求,则提取服务的WSDL文件的地址,根据该WSDL文件的URL,读取并解析WSDL文件;

8. 调用UDDI的服务注册API将服务的WSDL文件的解析信息以及服务相关信息注册到本节点的UDDI中;

9. 注册成功后,将该标识服务分类信息的散列值,发布到P2P覆盖网中,以便于服务请求者的查找;

10. 将注册的结果信息通过Socket通信直接返回给客户端管理系统;

11. 客户端管理系统将注册结果显示到浏览器页面中;

12. 服务注册过程结束。

(二)服务查找

    如图2所示,服务请求者向服务注册中心进行服务查找的具体步骤为:

    1. 服务请求者通过浏览器提交用户信息,登录到客户端管理系统;

2. 客户端对用户信息进行安全认证;若认证通过,则将用户信息保存在会话中,并允许该用户执行其权限内的操作,否则拒绝操作;

    3. 服务请求者将需要查找的服务分类信息以及其他相关信息(如,商业实体、服务名称等)提交到客户端管理系统;

    4. 客户端管理系统通过Socket通信,将用户提交的信息发送到P2P覆盖网的一个节点上;

    5. 该节点接收客户端管理系统发送过来的信息后,提取服务分类信息,通过SHA-1算法生成散列值;

6. 节点根据该散列值,判断是否为本节点所管理,若是,则跳步骤2g;若不是,将接收到的信息转发,直到转发到管理该散列值的节点上;

7. P2P覆盖网中管理该散列值的节点接收到消息后,判断消息类型,若为查询请求,则根据服务的相关信息(如,商业实体、服务名称等)直接调用UDDI的服务查询API;

8. 查询结束后,将查询的结果通过Socket通信直接返回给客户端管理系统;

9. 客户端管理系统将查询结果显示到浏览器页面中;

10. 服务查找过程结束。

如图3所示,给出了本发明应用注册查询机制的例子。节点A、节点B、节点C、节点D构成P2P覆盖网,在各自的节点上分别都装有UDDI注册中心。该P2P覆盖网采用的是Pastry协议,每个节点都有标识符(NodeID),所有的节点标识符组成一个环形的NodeID空间,结点加入P2P系统时通过节点IP 地址在nodeID 空间中随机分配。每个节点负责管理与NodeID最相近的资源。

服务注册过程:服务提供者登录客户端管理系统后,提交服务的分类信息以及服务MyService的WSDL文件的地址。客户管理系统将注册服务的相关消息发送到节点A,节点A接收完消息后,提取服务的分类信息并经由哈希算法运算成散列值(key)。节点A根据路由算法将消息转发到其下一跳(节点B),节点B发现key不归本节点管理,最终转发到下一跳(节点C)。节点C确定key为本节点管理后,提取消息的类型,确定是注册服务,则根据WSDL的URL向web服务器读取WSDL文件,解析后注册到本地的UDDIc中,其他节点上的注册中心(如,UDDIa,UDDIb,UDDId)将不会有MyService服务的注册信息。

服务查找过程:服务请求者登录客户端管理系统后,提交查询服务的分类信息以及其他服务的相关信息。客户管理系统将查询消息发送到节点A,节点A接收完消息后,提取服务的分类信息并经由哈希算法运算成散列值(key)。节点A根据路由算法将消息转发到其下一跳(节点B),节点B发现key不归本节点管理,最终转发到下一跳(节点C)。节点C确定key为本节点管理后,提取消息的类型,确定是查询服务,直接到本地的UDDIc中进行查询,即可查找到先前服务提供者注册的MyService服务信息。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号