一种服务端位置的获取方法和设备的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种服务端位置的获取方法和设备。
【背景技术】
[0002]在一个分布式系统中,在客户端上没有提供服务端位置的前提下,客户端能够准确的获取服务端位置,并基于服务端位置与服务端建立连接,从而使用服务端提供的服务。为了准确获取服务端位置,客户端向DNS(Domain Name System,域名系统)服务器发送域名解析请求,该域名解析请求中携带服务信息。基于本DNS服务器记录的服务信息与服务端位置之间的对应关系,DNS服务器在接收到域名解析请求后,查询服务信息对应的服务端位置,并通过域名解析响应将服务端位置发送给客户端,由客户端获得服务端位置。
[0003]由于所有的客户端均需要到DNS服务器上获取服务端位置,因此,当需要获取服务端位置的客户端数量较多时,DNS服务器会收到大量的域名解析请求,并返回大量的携带服务端位置的域名解析响应,加大了 DNS服务器的处理工作量,整个系统的域名解析效率非常低下。而且,客户端到DNS服务器上获取服务端位置时,客户端可能需要很长时间才能获取到服务端位置。
【发明内容】
[0004]本发明实施例提供一种服务端位置的获取方法,应用于包括多个节点设备的分布式系统中,各节点设备均维护位置数据库,所述位置数据库用于记录服务信息与服务端位置之间的对应关系,所述方法包括:
[0005]节点设备在提供第一服务时,在本节点设备的位置数据库中记录所述第一服务的第一服务信息与所述第一服务的第一服务端位置之间的对应关系,并以广播方式发送位置存储请求消息,所述位置存储请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;由收到所述位置存储请求消息的其它节点设备在所述其它节点设备的位置数据库中记录所述第一服务信息与所述第一服务端位置之间的对应关系;
[0006]所述节点设备在需要使用第二服务时,利用所述第二服务的第二服务信息查询本节点设备的位置数据库,如果所述位置数据库中记录有所述第二服务信息对应的第二服务端位置,则所述节点设备从所述位置数据库中获取所述第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。
[0007]所述方法进一步包括:所述节点设备在接收到其它节点设备以广播方式发送的携带第二服务信息与第二服务端位置之间的对应关系的位置存储请求消息时,则所述节点设备在本节点设备的位置数据库中记录所述第二服务信息与所述第二服务端位置之间的对应关系。
[0008]所述方法进一步包括:当所述节点设备不在提供第一服务时,所述节点设备从本节点设备的位置数据库中删除所述第一服务信息与所述第一服务端位置之间的对应关系,并以广播方式发送位置删除请求消息,所述位置删除请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;由收到所述位置删除请求消息的其它节点设备从所述其它节点设备的位置数据库中删除所述第一服务信息与所述第一服务端位置之间的对应关系。
[0009]所述方法进一步包括:
[0010]当所述节点设备将提供的第一服务更新为第三服务时,所述节点设备将本节点设备的位置数据库中的所述第一服务信息与所述第一服务端位置之间的对应关系,更新为所述第三服务的第三服务信息与所述第三服务的第三服务端位置之间的对应关系,并以广播方式发送位置更新请求消息,所述位置更新请求消息中携带了更新前的所述第一服务信息与所述第一服务端位置之间的对应关系,以及更新后的所述第三服务信息与所述第三服务端位置之间的对应关系;由收到所述位置更新请求消息的其它节点设备将所述其它节点设备的位置数据库中的所述第一服务信息与所述第一服务端位置之间的对应关系,更新为所述第三服务信息与所述第三服务端位置之间的对应关系。
[0011]所述方法进一步包括:
[0012]当有新节点设备加入到所述分布式系统时,所述节点设备以单播方式向所述新节点设备发送位置通知请求消息,所述位置通知请求消息中携带了本节点设备提供的所有服务的服务信息与所述所有服务的服务端位置之间的对应关系,由所述新节点设备在所述新节点设备的位置数据库中记录所有服务的服务信息与所述所有服务的服务端位置之间的对应关系。
[0013]所述方法进一步包括:
[0014]当所述节点设备从所述分布式系统离开时,所述节点设备以广播方式发送位置离开请求消息,所述位置离开请求消息中携带所述节点设备离开的信息,由收到所述位置离开请求消息的其它节点设备遍历所述其它节点设备的位置数据库中的服务端位置为所述节点设备的对应关系,并从所述其它节点设备的位置数据库中删除服务端位置为所述节点设备的对应关系。
[0015]所述节点设备利用所述第二服务的第二服务信息查询本节点设备的位置数据库之后,所述方法还包括:
[0016]如果所述位置数据库中没有记录所述第二服务信息对应的第二服务端位置,则所述节点设备以广播方式发送位置查询请求消息,所述位置查询请求消息中携带所述第二服务信息,由收到所述位置查询请求消息的其它节点设备在确定由本其它节点设备提供所述第二服务信息对应的第二服务时,向所述节点设备返回携带所述其它节点设备的第二服务端位置的位置查询响应消息;所述节点设备从所述位置查询响应消息中获取所述第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。
[0017]本发明实施例提供一种节点设备,应用于包括多个节点设备的分布式系统中,各节点设备均维护位置数据库,所述位置数据库用于记录服务信息与服务端位置之间的对应关系,所述节点设备具体包括:
[0018]记录模块,用于在提供第一服务时,在所述节点设备的位置数据库中记录第一服务的第一服务信息与第一服务的第一服务端位置之间的对应关系;
[0019]发送模块,用于以广播方式发送位置存储请求消息,所述位置存储请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;由收到所述位置存储请求消息的其它节点设备在所述其它节点设备的位置数据库中记录所述第一服务信息与所述第一服务端位置之间的对应关系;
[0020]查询模块,用于在需要使用第二服务时,确定所述第二服务的第二服务信息,并利用所述第二服务的第二服务信息查询所述节点设备的位置数据库;
[0021]处理模块,用于当所述位置数据库中记录有所述第二服务信息对应的第二服务端位置时,则从所述位置数据库中获取所述第二服务信息对应的第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。
[0022]所述记录模块,还用于在接收到其它节点设备以广播方式发送的携带第二服务信息与第二服务端位置之间的对应关系的位置存储请求消息时,则在所述节点设备的位置数据库中记录所述第二服务信息与所述第二服务端位置之间的对应关系。
[0023]所述记录模块,还用于当所述节点设备不在提供第一服务时,从位置数据库中删除所述第一服务信息与所述第一服务端位置之间的对应关系;
[0024]所述发送模块,还用于以广播方式发送位置删除请求消息,所述位置删除请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;由收到所述位置删除请求消息的其它节点设备从所述其它节点设备的位置数据库中删除所述第一服务信息与所述第一服务端位置之间的对应关系。
[0025]所述记录模块,还用于当所述节点设备将提供的第一服务更新为第三服务时,将所述节点设备的位置数据库中的所述第一服务信息与所述第一服务端位置之间的对应关系,更新为所述第三服务的第三服务信息与所述第三服务的第三服务端位置之间的对应关系;
[0026]所述发送模块,还用于以广播方式发送位置更新请求消息,所述位置更新请求消息中携带了更新前的所述第一服务信息与所述第一服务端位置之间的对应关系,以及更新后的所述第三服务信息与所述第三服务端位置之间的对应关系;由收到所述位置更新请求消息的其它节点设备将所述其它节点设备的位置数据库中的所述第一服务信息与所述第一服务端位置之间的对应关系,更新为所述第三服务信息与所述第三服务端位置之间的对应关系。
[0027]所述发送模块,还用于当有新节点设备加入到所述分布式系统时,以单播方式向所述新节点设备发送位置通知请求消息,所述位置通知请求消息中携带了所述节点设备提供的所有服务的服务信息与所述所有服务的服务端位置之间的对应关系,由所述新节点设备在所述新节点设备的位置数据库中记录所有服务的服务信息与所述所有服务的服务端位置之间的对应关系。
[0028]所述发送模块,还用于当所述节点设备从所述分布式系统离开时,以广
播方式发送位置离开请求消息,所述位置离开请求消息中携带所述节点设备离开的信息,由收到所述位置离开请求消息的其它节点设备遍历所述其它节点设备的位置数据库中的服务端位置为所述节点设备的对应关系,并从所述其它节点设备的位置数据库中删除服务端位置为所述节点设备的对应关系。
[0029]所述发送模块,还用于在所述查询模块利用所述第二服务的第二服务信息查询所述节点设备的位置数据库后,如果所述位置数据库中没有记录所述第二服务信息对应的第二服务端位置,则以广播方式发送位置查询请求消息,所述位置查询请求消息中携带所述第二服务信息,由收到所述位置查询请求消息的其它节点设备在确定由本其它节点设备提供所述第二服务信息对应的第二服务时,返回携带其它节点设备的第二服务端位置的位置查询响应消息;
[0030]所述处理模块,还用于从所述位置查询响应消息中获取所述第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。
[0031]基于上述技术方案,本发明实施例中,通过在各节点设备的位置数据库中记录服务信息与服务端位置之间的对应关系,当节点设备需要使用服务时,可以直接从本节点设备的位置数据库中获取服务对应的服务端位置,避免各节点设备到DNS服务器上获取服务端位置,减轻了 DNS服务器的处理工作量,提高了整个系统的域名解析效率和域名解析速度,确保业务快速工作。
【附图说明】
[0032]图1是本发明实施例提供的一种服务端位置的获取方法流程示意图;
[0033]图2是本发明实施例提供的一种节点设备的结构示意图。
【具体实施方式】
[0034]针对现有技术中存在的问题,本发明实施例提供一种服务端位置的获取方法,该方法应用于包括多个节点设备的分布式系统中,各节点设备可以为客户端或者服务端。其中,节点设备在提供某个服务时,则该节点设备为该服务的服务端。节点设备在需要使用某个服务时,则该节点设备为该服务的客户端。进一步的,如果在节点设备上安装某个服务的服务端软件时,则该节点设备可以作为该服务的服务端。如果在节点设备上安装某个服务的客户端软件时,则该节点设备可以作为该服务的客户端。
[0035]本发明实施例中,在分布式系统的所有节点设备上均维护有位置数据库,且该位置数据库用于记录该分布式系统的服务信息与服务端位置之间的对应关系。其中,该服务信息与服务端位置之间的对应关系可以以数据库的一条记录的形式,存储于分布式系统的所有节点设备的位置数据库中。
[0036]如图1所示,该服务端位置的获取方法具体可以包括以下步骤:
[0037]步骤101,节点设备在提供第一服务时,在本节点设备的位置数据库中记录第一服务的第一服务信息与第一服务的第一服务端位置之间的对应关系。
[0038]步骤102,节点设备以广播方式发送位置存储请求消息,该位置存储请求消息中携带了第一服务信息与第一服务端位置之间的对应关系;由收到位置存储请求消息的其它节点设备在本其它节点设备的位置数据库中记录第一服务信息与第一服务端位置之间的对应关系。
[0039]本发明实施例中,节点设备在接收到其它节点设备以广播方式发送的携带第二服务信息与第二服务端位置之间的对应关系的位置存储请求消息时,则节点设备在本节点设备的位置数据库中记录第二服务信息与第二服务端位置之间的对应关系。
[0040]例如,分布式系统中包括节点设备A、节点设备B和节点设备C。节点设备A在提供HTTP (Hyper Text Transfer Protocol,超文本传输协议)服务时,在节点设备A的位置数据库中记录HTTP服务的服务信息(如HTTP服务的端口信息)与HTTP服务的服务端位置(如节点设备A的IP地址)之间的对应关系。节点设备A将HTTP服务的端口信息与节点设备A的IP地址之间的对应关系广播发送到节点设备B和节点设备C。节点设备B (或节点设备C)在节点设备B(或节点设备C)的位置数据库中记录HTTP服务的端口信息与节点设备A的IP地址之间的对应关系。又例如,节点设备A在接收到节点设备B广播发送的FTP (File Transfer Protocol,文件传输协议)服务的端口信息与节点设备B的IP地址之间的对应关系时,则在本节点设备A的位置数据库中记录FTP服务的端口信息与节点设备B的IP地址之间的对应关系。
[0041]步骤103,节点设备在需要使用第二服务时,利用该第二服务的第二服务信息查询本节点设备的位置数据库。其中,如果该位置数据库中记录有该第二服务信息对应的第二服务端位置,则执行步骤104 ;如果该位置数据库中没有记录该第二服务信息对应的第二服务端位置,则执行步骤105。
[0042]步骤104,节点设备从位置数据库中获取第二服务信息对应的第二服务端位置,并利用该第二服务端位置与相应的服务端建立连接。
[0043]步骤105,节点设备以广播方式发送携带第二服务信息的位置查询请求消息。收到该位置查询请求消息的其它节点设备在确定由本其它节点设备提供第二服务信息对应的第二服务时,则向节点设备返回携带其它节点设备的第二服务端位置的位置查询响应消息。节点设备从该位置查询响应消息中获取第二服务端位置,并利用该第二服务端位置与相应的服务端建立连接。
[0044]例如,节点设备A在需要使用FTP服务时,利用FTP服务的服务信息(如FTP服务的端口信息)查询节点设备A的位置数据库。由于节点设备A的位置数据库中记录了 FTP服务的端口信息与节点设备B的IP地址之间的对应关系,因此,节点设备A从位置数据库中获取FTP服务的端口信息对应的节点设备B的IP地址,并利用节点设备B的IP地址与节点设备B建立连接。
[0045]又例如,节点设备A在需要使用P2P (Peer-to-Peer,点对点)服务时,利用P2P服务的服务信息(如P2P服务的端口信息)查询节点设备A的位置数据库。由于节点设备A的位置数据库中没有记录P2P服务的端口信息与服务端位置之间的对应关系,因此,节点设备A向分布式系统的节点设备B和节点设备C广播发送携带P2P服务的端口信息的位置查询请求消息。节点设备C在接收到该位置查询请求消息后,如果确定由本节点设备C提供P2P服务的端口信息对应的P2P服务,则节点设备C向节点设备A返回携带节点设备C的IP地址的位置查询响应消息。节点设备A在接收到该位置查询响应消息后,从该位置查询响应消息中获取节点设备C的IP地址,并利用节点设备C的IP地址与节点设备C建立连接。进一步的,节点设备B在接收到该位置查询请求消息之后,如果确定本节点设备B不提供P2P服务的端口信息对应的P2P服务,则:节点设备B可以不向节点设备A返回任何位置查询响应消息;或者,节点设备B可以向节点设备A返回本节点设备B不提供P2P服务的端口信息对应的P2P服务的位置查询响应消息。
[0046]本发明实施例中,当节点设备初始提供第一服务,但该节点设备后续不在提供第一服务时,则节点设备从本节点设备的位置数据库中删除第一服务信息与第一服务端位置之间的对应关系,并以广播方式发送位置删除请求消息,该位置删除请求消息中携带了第一服务信息与第一服务端位置之间的对应关系。进一步的,由收到位置删除请求消息的其它节点设备从本其它节点设备的位置数据库中删除第一服务信息与第一服务端位置之间的对应关系。
[0047]本发明实施例中,当节点设备将本节点设备提供的第一服务更新为第三服务时,则该节点设备会将本节点设备的位置数据库中的第一服务信息与第一服务端位置之间的对应关系,更新为第三服务的第三服务信息与第三服务的第三服务端位置之间的对应关系,并以广播方式发送位置更新请求消息,其中,该位置更新请求消息中携带了更新前的第一服务信息与第一服务端位置之间的对应关系,以及更新后的第三服务信息与第三服务端位置之间的对应关系。进一步的,由收到该位置更新请求消息的其它节点设备将本其它节点设备的位置数据库中的第一服务信息与第一服务端位置之间的对应关系,更新为第三服务信息与第三服务端位置之间的对应关系。
[0048]本发明实施例中,当有新节点设备加入到分布式系统时,节点设备以单播方式向该新节点设备发送位置通知请求消息,该位置通知请求消息中携带了本节点设备提供的所有服务的服务信息与所有服务的服务端位置之间的对应关系。进一步的,以使新节点设备在该新节点设备的位置数据库中记录所有服务的服务信息与所有服务的服务端位置之间的对应关系。
[0049]例如,当有节点设备D加入到分布式系统时,由于节点设备A提供HTTP服务,因此,节点设备A将HTTP服务的端口信息与节点设备A的IP地址之间的对应关系发送给节点设备D,节点设备D在位置数据库
中记录HTTP服务的端口信息与节点设备A的IP地址之间的对应关系。而且,由于节点设备B提供FTP服务,因此,节点设备B将FTP服务的端口信息与节点设备B的IP地址之间的对应关系发送给节点设备D,节点设备D在位置数据库中记录FTP服务的端口信息与节点设备B的IP地址之间的对应关系。
[0050]本发明实施例中,当节点设备从分布式系统离开时,该节点设备以广播方式发送位置离开请求消息,且该位置离开请求消息中携带本节点设备离开的信息。进一步的,收到该位置离开请求消息的其它节点设备遍历本其它节点设备的位置数据库中的服务端位置为该节点设备的对应关系,并从本其它节点设备的位置数据库中删除服务端位置为该节点设备的对应关系。
[0051]例如,当节点设备A从分布式系统尚开时,节点设备A向分布式系统的节点设备B和节点设备C广播发送携带本节点设备A离开的信息的位置离开请求消息。节点设备B在接收到该位置离开请求消息之后,遍历本节点设备B的位置数据库中的服务端位置为节点设备A的对应关系,即服务端位置为节点设备A的IP地址的对应关系。由于位置数据库中记录了 HTTP服务的端口信息与节点设备A的IP地址之间的对应关系,因此,节点设备B从位置数据库中删除HTTP服务的端口信息与节点设备A的IP地址之间的对应关系。同理,节点设备C在接收到该位置离开请求消息之后,从位置数据库中删除HTTP服务的端口信息与节点设备A的IP地址之间的对应关系。
[0052]节点设备B从位置数据库中删除HTTP服务的端口信息与节点设备A的IP地址之间的对应关系后,如果节点设备B发现本节点设备B也提供了 HTTP服务,则节点设备B在位置数据库中记录HTTP服务的端口信息与节点设备B的IP地址之间的对应关系,并将HTTP服务的端口信息与节点设备B的IP地址之间的对应关系广播发送到分布式系统的节点设备C。节点设备C收到HTTP服务的端口信息与节点设备B的IP地址之间的对应关系后,在位置数据库中记录HTTP服务的端口信息与节点设备B的IP地址之间的对应关系。
[0053]基于上述技术方案,本发明实施例中,通过在各节点设备的位置数据库中记录服务信息与服务端位置之间的对应关系,当节点设备需要使用服务时,可以直接从本节点设备的位置数据库中获取服务对应的服务端位置,避免各节点设备到DNS服务器上获取服务端位置,减轻了 DNS服务器的处理工作量,提高了整个系统的域名解析效率和域名解析速度,确保业务快速工作。
[0054]基于与上述方法同样的发明构思,本发明实施例中还提供了一种节点设备,应用于包括多个节点设备的分布式系统中,各节点设备均维护位置数据库,所述位置数据库用于记录服务信息与服务端位置之间的对应关系,如图2所示,所述节点设备具体包括:
[0055]记录模块11,用于在提供第一服务时,在所述节点设备的位置数据库中记录第一服务的第一服务信息与第一服务的第一服务端位置之间的对应关系;发送模块12,用于以广播方式发送位置存储请求消息,所述位置存储请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;由收到所述位置存储请求消息的其它节点设备在所述其它节点设备的位置数据库中记录所述第一服务信息与所述第一服务端位置之间的对应关系;查询模块13,用于在需要使用第二服务时,确定所述第二服务的第二服务信息,并利用所述第二服务的第二服务信息查询所述节点设备的位置数据库;处理模块14,用于当所述位置数据库中记录有所述第二服务信息对应的第二服务端位置时,则从所述位置数据库中获取所述第二服务信息对应的第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。
[0056]所述记录模块11,还用于在接收到其它节点设备以广播方式发送的携带第二服务信息与第二服务端位置之间的对应关系的位置存储请求消息时,则在所述节点设备的位置数据库中记录所述第二服务信息与所述第二服务端位置之间的对应关系。
[0057]所述记录模块11,还用于当所述节点设备不在提供第一服务时,从位置数据库中删除所述第一服务信息与所述第一服务端位置之间的对应关系;所述发送模块12,还用于以广播方式发送位置删除请求消息,所述位置删除请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;由收到所述位置删除请求消息的其它节点设备从所述其它节点设备的位置数据库中删除所述第一服务信息与所述第一服务端位置之间的对应关系。
[0058]所述记录模块11,还用于当所述节点设备将提供的第一服务更新为第三服务时,将所述节点设备的位置数据库中的所述第一服务信息与所述第一服务端位置之间的对应关系,更新为所述第三服务的第三服务信息与所述第三服务的第三服务端位置之间的对应关系;
[0059]所述发送模块12,还用于以广播方式发送位置更新请求消息,所述位置更新请求消息中携带了更新前的所述第一服务信息与所述第一服务端位置之间的对应关系,以及更新后的所述第三服务信息与所述第三服务端位置之间的对应关系;由收到所述位置更新请求消息的其它节点设备将所述其它节点设备的位置数据库中的所述第一服务信息与所述第一服务端位置之间的对应关系,更新为所述第三服务信息与所述第三服务端位置之间的对应关系。
[0060]所述发送模块12,还用于当有新节点设备加入到所述分布式系统时,以单播方式向所述新节点设备发送位置通知请求消息,所述位置通知请求消息中携带了所述节点设备提供的所有服务的服务信息与所述所有服务的服务端位置之间的对应关系,由所述新节点设备在所述新节点设备的位置数据库中记录所有服务的服务信息与所述所有服务的服务端位置之间的对应关系。
[0061]所述发送模块12,还用于当所述节点设备从所述分布式系统离开时,以广播方式发送位置离开请求消息,所述位置离开请求消息中携带所述节点设备离开的信息,收到所述位置离开请求消息的其它节点设备遍历所述其它节点设备的位置数据库中的服务端位置为所述节点设备的对应关系,并从所述其它节点设备的位置数据库中删除服务端位置为所述节点设备的对应关系。
[0062]所述发送模块12,还用于在所述查询模块利用所述第二服务的第二服务信息查询所述节点设备的位置数据库后,如果所述位置数据库中没有记录所述第二服务信息对应的第二服务端位置,则以广播方式发送位置查询请求消息,所述位置查询请求消息中携带所述第二服务信息,由收到所述位置查询请求消息的其它节点设备在确定由本其它节点设备提供所述第二服务信息对应的第二服务时,返回携带其它节点设备的第二服务端位置的位置查询响应消息;所述处理模块14,还用于从所述位置查询响应消息中获取所述第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。
[0063]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0064]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
【主权项】
1.一种服务端位置的获取方法,应用于包括多个节点设备的分布式系统中,其特征在于,各节点设备均维护位置数据库,所述位置数据库用于记录服务信息与服务端位置之间的对应关系,所述方法包括: 节点设备在提供第一服务时,在本节点设备的位置数据库中记录所述第一服务的第一服务信息与所述第一服务的第一服务端位置之间的对应关系,并以广播方式发送位置存储请求消息,所述位置存储请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;由收到所述位置存储请求消息的其它节点设备在所述其它节点设备的位置数据库中记录所述第一服务信息与所述第一服务端位置之间的对应关系; 所述节点设备在需要使用第二服务时,利用所述第二服务的第二服
务信息查询本节点设备的位置数据库,如果所述位置数据库中记录有所述第二服务信息对应的第二服务端位置,则所述节点设备从所述位置数据库中获取所述第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。2.如权利要求1所述的方法,其特征在于,所述方法进一步包括: 所述节点设备在接收到其它节点设备以广播方式发送的携带第二服务信息与第二服务端位置之间的对应关系的位置存储请求消息时,则所述节点设备在本节点设备的位置数据库中记录所述第二服务信息与所述第二服务端位置之间的对应关系。3.如权利要求1所述的方法,其特征在于,所述方法进一步包括: 当所述节点设备不在提供第一服务时,所述节点设备从本节点设备的位置数据库中删除所述第一服务信息与所述第一服务端位置之间的对应关系,并以广播方式发送位置删除请求消息,所述位置删除请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;由收到所述位置删除请求消息的其它节点设备从所述其它节点设备的位置数据库中删除所述第一服务信息与所述第一服务端位置之间的对应关系。4.如权利要求1所述的方法,其特征在于,所述方法进一步包括: 当所述节点设备将提供的第一服务更新为第三服务时,所述节点设备将本节点设备的位置数据库中的所述第一服务信息与所述第一服务端位置之间的对应关系,更新为所述第三服务的第三服务信息与所述第三服务的第三服务端位置之间的对应关系,并以广播方式发送位置更新请求消息,所述位置更新请求消息中携带了更新前的所述第一服务信息与所述第一服务端位置之间的对应关系,以及更新后的所述第三服务信息与所述第三服务端位置之间的对应关系;由收到所述位置更新请求消息的其它节点设备将所述其它节点设备的位置数据库中的所述第一服务信息与所述第一服务端位置之间的对应关系,更新为所述第三服务信息与所述第三服务端位置之间的对应关系。5.如权利要求1所述的方法,其特征在于,所述方法进一步包括: 当有新节点设备加入到所述分布式系统时,所述节点设备以单播方式向所述新节点设备发送位置通知请求消息,所述位置通知请求消息中携带了本节点设备提供的所有服务的服务信息与所述所有服务的服务端位置之间的对应关系,由所述新节点设备在所述新节点设备的位置数据库中记录所有服务的服务信息与所述所有服务的服务端位置之间的对应关系O6.如权利要求1所述的方法,其特征在于,所述方法进一步包括: 当所述节点设备从所述分布式系统离开时,所述节点设备以广播方式发送位置离开请求消息,所述位置离开请求消息中携带所述节点设备离开的信息,由收到所述位置离开请求消息的其它节点设备遍历所述其它节点设备的位置数据库中的服务端位置为所述节点设备的对应关系,并从所述其它节点设备的位置数据库中删除服务端位置为所述节点设备的对应关系。7.如权利要求1所述的方法,其特征在于,所述节点设备利用所述第二服务的第二服务信息查询本节点设备的位置数据库之后,所述方法还包括: 如果所述位置数据库中没有记录所述第二服务信息对应的第二服务端位置,则所述节点设备以广播方式发送位置查询请求消息,所述位置查询请求消息中携带所述第二服务信息,由收到所述位置查询请求消息的其它节点设备在确定由本其它节点设备提供所述第二服务信息对应的第二服务时,向所述节点设备返回携带所述其它节点设备的第二服务端位置的位置查询响应消息;所述节点设备从所述位置查询响应消息中获取所述第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。8.一种节点设备,应用于包括多个节点设备的分布式系统中,其特征在于,各节点设备均维护位置数据库,所述位置数据库用于记录服务信息与服务端位置之间的对应关系,所述节点设备具体包括: 记录模块,用于在提供第一服务时,在所述节点设备的位置数据库中记录第一服务的第一服务信息与第一服务的第一服务端位置之间的对应关系; 发送模块,用于以广播方式发送位置存储请求消息,所述位置存储请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;由收到所述位置存储请求消息的其它节点设备在所述其它节点设备的位置数据库中记录所述第一服务信息与所述第一服务端位置之间的对应关系; 查询模块,用于在需要使用第二服务时,确定所述第二服务的第二服务信息,并利用所述第二服务的第二服务信息查询所述节点设备的位置数据库; 处理模块,用于当所述位置数据库中记录有所述第二服务信息对应的第二服务端位置时,则从所述位置数据库中获取所述第二服务信息对应的第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。9.如权利要求8所述的设备,其特征在于, 所述记录模块,还用于在接收到其它节点设备以广播方式发送的携带第二服务信息与第二服务端位置之间的对应关系的位置存储请求消息时,则在所述节点设备的位置数据库中记录所述第二服务信息与所述第二服务端位置之间的对应关系。10.如权利要求8所述的设备,其特征在于, 所述记录模块,还用于当所述节点设备不在提供第一服务时,从位置数据库中删除所述第一服务信息与所述第一服务端位置之间的对应关系; 所述发送模块,还用于以广播方式发送位置删除请求消息,所述位置删除请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;由收到所述位置删除请求消息的其它节点设备从所述其它节点设备的位置数据库中删除所述第一服务信息与所述第一服务端位置之间的对应关系。11.如权利要求8所述的设备,其特征在于, 所述记录模块,还用于当所述节点设备将提供的第一服务更新为第三服务时,将所述节点设备的位置数据库中的所述第一服务信息与所述第一服务端位置之间的对应关系,更新为所述第三服务的第三服务信息与所述第三服务的第三服务端位置之间的对应关系; 所述发送模块,还用于以广播方式发送位置更新请求消息,所述位置更新请求消息中携带了更新前的所述第一服务信息与所述第一服务端位置之间的对应关系,以及更新后的所述第三服务信息与所述第三服务端位置之间的对应关系;由收到所述位置更新请求消息的其它节点设备将所述其它节点设备的位置数据库中的所述第一服务信息与所述第一服务端位置之间的对应关系,更新为所述第三服务信息与所述第三服务端位置之间的对应关系O12.如权利要求8所述的设备,其特征在于, 所述发送模块,还用于当有新节点设备加入到所述分布式系统时,以单播方式向所述新节点设备发送位置通知请求消息,所述位置通知请求消息中携带了所述节点设备提供的所有服务的服务信息与所述所有服务的服务端位置之间的对应关系,由所述新节点设备在所述新节点设备的位置数据库中记录所有服务的服务信息与所述所有服务的服务端位置之间的对应关系。13.如权利要求8所述的设备,其特征在于, 所述发送模块,还用于当所述节点设备从所述分布式系统离开时,以广播方式发送位置离开请求消息,所述位置离开请求消息中携带所述节点设备离开的信息,由收到所述位置离开请求消息的其它节点设备遍历所述其它节点设备的位置数据库中的服务端位置为所述节点设备的对应关系,并从所述其它节点设备的位置数据库中删除服务端位置为所述节点设备的对应关系。14.如权利要求8所述的设备,其特征在于, 所述发送模块,还用于在所述查询模块利用所述第二服务的第二服务信息查询所述节点设备的位置数据库后,如果所述位置数据库中没有记录所述第二服务信息对应的第二服务端位置,则以广播方式发送位置查询请求消息,所述位置查询请求消息中携带所述第二服务信息,由收到所述位置查询请求消息的其它节点设备在确定由本其它节点设备提供所述第二服务信息对应的第二服务时,返回携带其它节点设备的第二服务端位置的位置查询响应消息; 所述处理模块,还用于从所述位置查询响应消息中获取所述第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。
【专利摘要】本发明公开了一种服务端位置的获取方法和设备,该方法包括:节点设备在提供第一服务时,在位置数据库中记录第一服务信息与第一服务端位置之间的对应关系,并以广播方式发送位置存储请求消息,所述位置存储请求消息中携带了所述第一服务信息与所述第一服务端位置之间的对应关系;所述节点设备在需要使用第二服务时,利用第二服务信息查询位置数据库,如果所述位置数据库中记录有所述第二服务信息对应的第二服务端位置,则所述节点设备从所述位置数据库中获取所述第二服务端位置,并利用所述第二服务端位置与相应的服务端建立连接。本发明实施例中,减轻了DNS服务器的处理工作量,提高了整个系统的域名解析效率和域名解析速度。
【IPC分类】H04L29/08
【公开号】CN104883389
【申请号】CN201510185194
【发明人】李华生, 钱海云, 朱寅寅
【申请人】杭州华三通信技术有限公司
【公开日】2015年9月2日
【申请日】2015年4月17日
转载请注明原文地址:https://www.famiwei.com/read-8136188.html