CN103347087B - 一种结构化p2p和uddi的服务注册与查找方法和*** - Google Patents
一种结构化p2p和uddi的服务注册与查找方法和*** Download PDFInfo
- Publication number
- CN103347087B CN103347087B CN201310296180.8A CN201310296180A CN103347087B CN 103347087 B CN103347087 B CN 103347087B CN 201310296180 A CN201310296180 A CN 201310296180A CN 103347087 B CN103347087 B CN 103347087B
- Authority
- CN
- China
- Prior art keywords
- service
- node
- management system
- client management
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种结构化P2P和UDDI的服务注册与查找方法和***,所述方法包括:利用结构化P2P协议,把多个UDDI***组成P2P覆盖网;服务请求者通过客户端管理***将用户请求消息发送到P2P覆盖网的某个节点上,该节点查找对应的UDDI节点,该节点根据消息类型决定进行注册或者查找的处理,并返回结果给服务的请求者;客户端管理***向服务注册中心进行服务注册和服务查找;服务注册或者服务查找的结果由 Socket通信模块直接返回给客户端管理***。应用本方法构成的***能够有效地避免单点失效问题,有利于网络的负载均衡,减少P2P覆盖网的流量、压力,具有响应速度快和更好的稳定性。
Description
技术领域
本发明涉及网络服务计算技术领域,具体涉及一种结构化P2P和UDDI的服务注册与查找方法。
背景技术
随着网络技术的发展,传统的软件体系结构逐渐向面向服务架构体系结构演变。Web服务作为实现SOA(Service-Oriented Architecture,面向服务体系架构)应用的理想平台,已经成为架构***时的首选。SOA主要由三个主要角色组成,分别是服务提供者、服务注册中心和服务请求者。服务提供者提供服务的具体实现,同时负责将服务发布到注册中心,服务注册中心是一个可供搜索的目录。服务请求者可在注册中心发布发现服务描述,并能获取绑定信息,利用该绑定信息,可以绑定到服务提供者,从而调用服务提供者提供的服务。
相关国际组织已经提出了一系列相关协议与规范,如UDDI(UniversalDescription, 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服务信息。
Claims (3)
1.一种结构化P2P和UDDI的服务注册与查找方法,包括P2P协议和UDDI,其特征是:
所述P2P协议为一种基于Pastry算法的结构化P2P协议,利用该结构化P2P协议把多个UDDI***组成结构化P2P覆盖网;
服务请求者通过客户端管理***将用户请求消息发送到P2P覆盖网的某个节点上,该节点查找对应的UDDI节点,该节点根据WSDL文件的统一资源定位符和服务的分类信息的散列值决定进行注册或者查找的处理,并返回结果给服务的请求者;
客户端管理***向服务注册中心进行服务注册和服务查找;
服务注册或者服务查找的结果由 Socket通信模块直接返回给客户端管理***;
所述的客户端管理***向服务注册中心进行服务注册的步骤如下:
(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的服务查询API;
(5)查询结束后,查询的结果返回给客户端管理***。
2.根据权利要求1所述的服务注册与查找方法,其特征是:所述由UDDI***组成的P2P覆盖网的节点根据WSDL文件的统一资源定位符和服务的分类信息生成散列值,由结构化P2P覆盖网通信模块将消息路由到管理该散列值的节点上,判断服务请求类型后,直接调用UDDI的查询或者注册接口。
3.一种结构化P2P和UDDI的服务注册与查找的***,其特征是包括:
利用结构化P2P协议,把多个UDDI***组成结构化P2P覆盖网的装置;
服务请求者通过客户端管理***将用户请求消息发送到结构化P2P覆盖网的某个节点上,该节点查找对应的UDDI节点,该节点根据WSDL文件的统一资源定位符和服务的分类信息的散列值决定进行注册或者查找的处理,并返回结果给服务的请求者的装置;
客户端管理***向服务注册中心进行服务注册和服务查找的装置;
服务注册或者服务查找的结果由Socket通信模块直接返回给客户端管理***;
所述的客户端管理***向服务注册中心进行服务注册的步骤如下:
(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的服务查询API;
(5)查询结束后,查询的结果返回给客户端管理***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310296180.8A CN103347087B (zh) | 2013-07-16 | 2013-07-16 | 一种结构化p2p和uddi的服务注册与查找方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310296180.8A CN103347087B (zh) | 2013-07-16 | 2013-07-16 | 一种结构化p2p和uddi的服务注册与查找方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103347087A CN103347087A (zh) | 2013-10-09 |
CN103347087B true CN103347087B (zh) | 2016-12-28 |
Family
ID=49281861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310296180.8A Active CN103347087B (zh) | 2013-07-16 | 2013-07-16 | 一种结构化p2p和uddi的服务注册与查找方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103347087B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10178069B2 (en) | 2017-03-31 | 2019-01-08 | Peking University Shenzhen Graduate School | Systems and methods for managing top-level domain names using consortium blockchain |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468838B (zh) * | 2014-12-30 | 2017-08-11 | 桂林电子科技大学 | 一种P2P网路和发布订阅模式的Web服务选择方法 |
CN109062687A (zh) * | 2018-07-10 | 2018-12-21 | 矩阵元技术(深圳)有限公司 | 用于p2p网络的计算资源查找方法及装置 |
CN111064588B (zh) * | 2018-10-16 | 2022-12-02 | 上海欣诺通信技术股份有限公司 | 消息处理方法、***、设备及存储介质 |
CN110049089A (zh) * | 2019-01-09 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种服务注册中心 |
CN111147605B (zh) * | 2019-12-31 | 2022-06-10 | 中国银行股份有限公司 | 服务注册方法、装置和设备 |
CN113645318B (zh) * | 2021-10-18 | 2022-01-21 | 北京大学 | 面向人机物资源的结构化对等网络自适应构建方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170520A (zh) * | 2007-11-27 | 2008-04-30 | 宁波大学 | 一种基于uddi的网络***的信号处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273668A1 (en) * | 2004-05-20 | 2005-12-08 | Richard Manning | Dynamic and distributed managed edge computing (MEC) framework |
-
2013
- 2013-07-16 CN CN201310296180.8A patent/CN103347087B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170520A (zh) * | 2007-11-27 | 2008-04-30 | 宁波大学 | 一种基于uddi的网络***的信号处理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10178069B2 (en) | 2017-03-31 | 2019-01-08 | Peking University Shenzhen Graduate School | Systems and methods for managing top-level domain names using consortium blockchain |
Also Published As
Publication number | Publication date |
---|---|
CN103347087A (zh) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103347087B (zh) | 一种结构化p2p和uddi的服务注册与查找方法和*** | |
Vu et al. | Dmap: A shared hosting scheme for dynamic identifier to locator mappings in the global internet | |
Koponen et al. | A data-oriented (and beyond) network architecture | |
Monnerat et al. | D1HT: A distributed one hop hash table | |
CN101997759B (zh) | 一种业务实现方法及业务*** | |
US20070073878A1 (en) | System and method for lowering proxy bandwidth utilization | |
US20140280859A1 (en) | Sharing control system and method for network resources download information | |
CN107431726A (zh) | 消息总线服务目录 | |
CN110740187A (zh) | 一种微服务架构的实现方法 | |
CN104486402A (zh) | 一种基于大型网站组合均衡的方法 | |
US20040179481A1 (en) | Overlay network for location-independent communication between computer systems | |
WO2010133097A1 (zh) | 微技***的数据共享方法、服务器以及数据共享*** | |
CN113746928A (zh) | 跨云服务调用方法、装置和*** | |
Shen et al. | A proximity-aware interest-clustered P2P file sharing system | |
WO2013040925A1 (zh) | M2m平台云***及其处理m2m服务的方法 | |
US10225358B2 (en) | Page push method, device, server and system | |
WO2017097092A1 (zh) | 缓存集群服务的处理方法及*** | |
Roos | Identity management on the blockchain | |
CN107347100B (zh) | 一种内容分发网络的透明代理转发方法 | |
CN106790502B (zh) | 一种基于NAT64前缀的IPv4终端、IPv6服务互通业务的负载均衡*** | |
US20080162410A1 (en) | Method and apparatus for augmenting the dynamic hash table with home subscriber server functionality for peer-to-peer communications | |
CN107404438A (zh) | 网络路由方法和网络路由*** | |
CN102497402B (zh) | 一种内容注入方法及***、内容分发方法及*** | |
Wu et al. | A novel interoperable model of distributed UDDI | |
CN102035725B (zh) | 一种非对称路由下单向流uri的关联技术***及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |