CN105141707B - 一种地址信息传输方法及装置 - Google Patents

一种地址信息传输方法及装置 Download PDF

Info

Publication number
CN105141707B
CN105141707B CN201410252804.0A CN201410252804A CN105141707B CN 105141707 B CN105141707 B CN 105141707B CN 201410252804 A CN201410252804 A CN 201410252804A CN 105141707 B CN105141707 B CN 105141707B
Authority
CN
China
Prior art keywords
address information
address
rpc frames
rpc
configuration center
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
Application number
CN201410252804.0A
Other languages
English (en)
Other versions
CN105141707A (zh
Inventor
周立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410252804.0A priority Critical patent/CN105141707B/zh
Publication of CN105141707A publication Critical patent/CN105141707A/zh
Application granted granted Critical
Publication of CN105141707B publication Critical patent/CN105141707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请涉及计算机网络技术领域,尤其涉及一种地址信息传输方法及装置。本申请实施例提供的一种地址信息传输方法,包括:第一RPC框架的第一地址配置中心接收所述第一RPC框架的服务提供端注册的地址信息;所述第一地址配置中心存储所述地址信息,并将所述地址信息发送给第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架。本申请又一实施例提供的一种地址信息传输方法,包括:第二RPC框架的服务提供端确定提供服务的地址信息;所述服务提供端将所述地址信息注册到第一RPC框架的第一地址配置中心和第二RPC框架的第二地址配置中心。

Description

一种地址信息传输方法及装置
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种地址信息传输方法及装置。
背景技术
远程过程调用协议(Remote Procedure Call Protocol,RPC)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。它采用客户端/服务提供端模式。首先,客户端调用进程发送一个有进程参数的调用信息到服务提供端,然后等待应答信息。在服务提供端,进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达时,服务提供端根据获得的进程参数,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息。在这个过程中,地址配置中心是服务提供端和客户端之间的桥梁,当服务提供端准备好提供服务后,会将提供服务的地址信息注册到地址配置中心,客户端在需要服务时,去地址配置中心订阅相应地址信息。
达博(Dubbo)和第一版本的高性能服务框架(HSF1)是两种不兼容的RPC框架。Dubbo使用Dubbo注册中心作为地址配置中心,而HSF1使用配置服务器(ConfigServer)作为地址配置中心。将Dubbo和HSF1进行融合,产生了升级后的第二版本的高性能服务框架(HSF),HSF2可以兼容Dubbo和HSF1,HSF2也使用ConfigServer作为地址配置中心。但是,由于服务提供端和客户端是相互独立的,无法固定两者升级到HSF2版本的先后顺序。如果先将Dubbo客户端升级为HSF2版本下的客户端,则升级后的Dubbo客户端将无法获取还未升级的Dubbo服务提供端注册到Dubbo注册中心的地址信息,如果先升级Dubbo服务提供端,将导致未升级的Dubbo客户端无法获取到升级后的Dubbo服务提供端注册的地址信息。
综上,由于无法固定RPC框架下请求服务的客户端和提供服务的服务提供端进行升级的先后顺序,如果先升级客户端,将有可能导致升级后的客户端无法获取未升级的服务提供端注册的地址信息,如果先升级服务提供端,将有可能导致未升级的客户端无法获取到升级后的服务提供端注册的地址信息。
发明内容
本申请实施例提供一种地址信息传输方法及装置,用以解决由于无法固定RPC框架下请求服务的客户端和提供服务的服务提供端进行升级的先后顺序,如果先升级客户端,将有可能导致升级后的客户端无法获取未升级的服务提供端注册的地址信息的问题。
本申请实施例还提供一种地址信息传输方法及装置,用以解决由于无法固定RPC框架下请求服务的客户端和提供服务的服务提供端进行升级的先后顺序,如果先升级服务提供端,将有可能导致未升级的客户端无法获取到升级后的服务提供端注册的地址信息的问题。
本申请实施例提供的一种地址信息传输方法,包括:
第一远程过程调用协议RPC框架的第一地址配置中心接收所述第一RPC框架的服务提供端注册的地址信息;
所述第一地址配置中心存储所述地址信息,并将所述地址信息发送给第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架。
采用该方法,第一地址配置中心可以将接收的第一RPC框架的服务提供端注册的地址信息同步到第二地址配置中心,这样,升级后的客户端可以从第二地址配置中心获取到未升级的服务提供端注册到第一地址配置中心的地址信息。解决了如果先升级客户端所导致的升级后的客户端无法获取到未升级的服务提供端注册的地址信息的问题。
可选地,所述第一RPC框架为达博Dubbo服务框架,所述第二RPC框架为第二版本的高性能服务框架HSF2。
可选地,所述第一地址配置中心将所述地址信息发送给第二地址配置中心,包括:
所述第一地址配置中心基于建立的所述第一地址配置中心与所述第二地址配置中心之间的网络连接,将所述地址信息发送给第二地址配置中心;
所述第一地址配置中心将所述地址信息发送给第二地址配置中心之后,还包括:
所述第一地址配置中心在确定自身需要下线或重启时,将所述第二地址配置中心与所述第一地址配置中心之间的网络连接重定向到所述第一RPC框架的其它地址配置中心。
采用该实施方式,可以减少第二地址配置中心从断开与下线或重启的第一地址配置中心的网络连接,到重新与第一RPC框架的其它在线的地址配置中心建立网络连接的时间间隔,从而减少第二地址配置中心丢失数据的时间。
可选地,所述方法还包括:
所述第一地址配置中心接收并存储所述第二RPC框架的服务提供端注册的地址信息。
采用该实施方式,第一地址配置中心可以接收到第二RPC框架的服务提供端注册的地址信息,这样,未升级的客户端可以从第一地址配置中心获取到升级后的服务提供端注册的地址信息,避免了先升级服务提供端所导致的未升级的客户端无法获取到升级的服务提供端注册的地址信息的问题。
可选地,所述方法还包括:
所述第一地址配置中心周期性检测所述第一RPC框架的数据库中存储的所述第一RPC框架的服务提供端的地址信息与所述第二地址配置中心保存的所述第一RPC框架的服务提供端的地址信息是否一致;
若不一致,则对所述数据库中存储的所述第一RPC框架的服务提供端的地址信息与所述第二地址配置中心保存的所述第一RPC框架的服务提供端的地址信息进行信息同步。
采用该实施方式,可以对第一RPC框架下的地址配置中心与第二RPC框架下的地址配置中心保存的第一RPC框架的服务提供端的地址信息是否同步进行及时检测,并在两种地址配置中心保存的第一RPC框架的服务提供端的地址信息不一致时,及时同步两种地址配置中心保存的第一RPC框架的服务提供端的地址信息。
本申请另一实施例提供的一种地址信息传输方法,包括:
第二RPC框架的第二地址配置中心接收第一RPC框架的第一地址配置中心发送的所述第一RPC框架的服务提供端注册的地址信息;
所述第二地址配置中心存储接收的所述地址信息。
采用该方法,第二地址配置中心可以接收到第一地址配置中心发送的第一RPC框架的服务提供端注册的地址信息,这样,升级后的客户端可以从第二地址配置中心获取到未升级的服务提供端注册到第一地址配置中心的地址信息。解决了如果先升级客户端所导致的升级后的客户端无法获取到未升级的服务提供端注册的地址的问题。
本申请又一实施例提供的一种地址信息传输方法,包括:
第二RPC框架的服务提供端确定提供服务的地址信息;
所述服务提供端将所述地址信息注册到第一RPC框架的第一地址配置中心和第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架。
采用该方法,第二RPC框架的服务提供端可以将提供服务的地址信息同时注册到第一地址配置中心和第二地址配置中心,这样,未升级的客户端可以从第一地址配置中心获取到升级后的服务提供端注册的地址信息,避免了先升级服务提供端所导致的未升级的客户端无法获取到升级后的服务提供端注册的地址的问题。
本申请实施例提供的一种地址信息传输装置包括:
接收模块,用于为第一远程过程调用协议RPC框架的第一地址配置中心接收所述第一RPC框架的服务提供端注册的地址信息;
存储模块,用于存储所述第一RPC框架的服务提供端注册的地址信息;
发送模块,用于将所述地址信息发送给第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架。
采用该实施例的装置,可以将第一地址配置中心接收的第一RPC框架的服务提供端注册的地址信息同步到第二地址配置中心,这样,升级后的客户端可以从第二地址配置中心获取到未升级的服务提供端注册到第一地址配置中心的地址信息。解决了如果先升级客户端所导致的升级后的客户端无法获取到未升级的服务提供端注册的地址信息的问题。
本申请另一实施例提供的一种地址信息传输装置,包括:
接收模块,用于为第二RPC框架的第二地址配置中心接收第一RPC框架的第一地址配置中心发送的所述第一RPC框架的服务提供端注册的地址信息;
存储模块,用于存储所述接收模块接收的所述地址信息。
采用该实施例的装置,第二地址配置中心可以接收到第一地址配置中心发送的第一RPC框架的服务提供端注册的地址信息,这样,升级后的客户端可以从第二地址配置中心获取到未升级的服务提供端注册到第一地址配置中心的地址信息。
本申请又一实施例提供的一种地址信息传输装置,包括:
确定模块,用于确定第二RPC框架的服务提供端提供服务的地址信息;
注册模块,用于将所述地址信息注册到第一RPC框架的地址配置中心和第二RPC框架的地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架。
采用该实施例的装置,未升级的客户端可以从第一地址配置中心获取到升级后的服务提供端注册的地址信息,避免了先升级服务提供端所导致的未升级的客户端无法获取到升级后的服务提供端注册的地址信息的问题。
附图说明
图1为本申请实施例一提供的地址信息传输方法流程图;
图2为本申请实施例二提供的地址信息传输方法流程图;
图3为本申请实施例三提供的地址信息传输方法流程图;
图4为本申请实施例四提供的地址信息传输方法流程图;
图5为本申请实施例五提供的地址信息传输方法流程图;
图6为本申请实施例六提供的地址信息传输方法流程图;
图7为本申请实施例七提供的地址信息传输方法流程图;
图8为Dubbo注册中心将接收的各服务提供端注册的地址信息写入Dubbo的Mysql数据库中的示意图;
图9为Dubbo注册中心将Dubbo服务提供端注册的地址信息同步到ConfigServer中的示意图;
图10为不同ConfigServer之间进行地址信息同步的示意图;
图11为不同RPC框架下地址信息的注册和订阅示意图;
图12为本申请实施例八提供的地址信息传输装置结构示意图;
图13为本申请实施例九提供的地址信息传输装置结构示意图;
图14为本申请实施例十提供的地址信息传输装置结构示意图。
具体实施方式
本申请实施例中,未升级的第一RPC框架(如Dubbo)的第一地址配置中心在接收到第一RPC框架的服务提供端注册的地址信息后,将该地址信息发送给升级后的第二RPC框架(如HSF2),这样,可以保证如果先将第一RPC框架的客户端升级为第二RPC框架的客户端,该升级后的客户端仍然可以获取未升级的服务提供端注册到第一地址配置中心的地址信息。
本申请另一实施例中,服务提供端将提供服务的地址信息注册到第一RPC框架的第一地址配置中心和第二RPC框架的第二地址配置中心,这样,未升级的客户端可以从第一地址配置中心获取到升级后的服务提供端注册的地址信息。
下面结合说明书附图对本申请实施例作进一步详细描述。
本申请实施例中,第一RPC框架为未升级的RPC框架,如采用Dubbo注册中心作为地址配置中心的Dubbo服务框架。第二RPC框架为升级后的RPC框架,如采用配置服务器(ConfigServer)作为地址配置中心的第二版本的高性能服务框架HSF2。不管是未升级的第一RPC框架,还是升级后的第二RPC框架,都分别具有多个地址配置中心,每个地址配置中心可以是由软件实现的虚拟服务器,也即这多个地址配置中心构成一个软负载集群。
如图1所示,为本申请实施例一提供的地址信息传输方法流程图,包括以下步骤:
S101:第一RPC框架的第一地址配置中心接收第一RPC框架的服务提供端注册的地址信息;
该步骤中,当第一RPC框架的服务提供端准备向客户端提供服务时,会将地址信息注册到第一RPC框架的其中一个地址配置中心。这里的地址信息为服务提供端向客户端提供服务的地址信息,可以包括服务名称、统一资源定位器(Uniform Resoure Locator,URL)信息、端口号等。
S102:第一地址配置中心存储接收的地址信息,并将接收的地址信息发送给第二RPC框架的第二地址配置中心;第二RPC框架为将第一RPC框架升级后的RPC框架。
该步骤中,第一地址配置中心在接收到第一RPC框架的服务提供端注册的地址信息后,将该服务提供端注册的地址信息进行存储。若这里的第一RPC框架为Dubbo服务框架,第一地址配置中心为某个Dubbo注册中心,则该Dubbo注册中心在接收到Dubbo服务提供端注册的地址信息后,将该地址信息写入Dubbo的关系型数据库管理系统Mysql数据库中,该数据库中存放了Dubbo的各注册中心存储的地址信息,也即该数据库中存放了全量的地址信息。这样,Dubbo的其它注册中心可以从该数据库中获取该Dubbo注册中心存储到该Mysql数据库中的地址信息,并提供给服务的客户端。
该步骤中,第一地址配置中心在接收到第一RPC框架的服务提供端注册的地址信息后,将所述地址信息同步到第二RPC框架的第二地址配置中心。若这里的第一RPC框架为Dubbo服务框架,第一地址配置中心为某个Dubbo注册中心,第二RPC框架为HSF2,第二地址配置中心为ConfigServer,则该Dubbo注册中心在接收到Dubbo服务提供端注册的地址信息后,将该地址信息发送给HSF2的某个ConfigServer。该ConfigServer在接收到该地址信息后,将该地址信息存储在内存中,同时,将该地址信息发送给HSF2的其它ConfigServer,实现在不同ConfigServer之间地址信息的同步,也即,每个ConfigServer都保存了全量的地址信息。
在上述实施例一中,第一RPC框架的第一地址配置中心在接收到未升级的服务提供端注册的地址信息后,将该地址信息发送给第二RPC框架的第二地址配置中心。这样,升级后的客户端仍然可以从第二地址配置中心获取到未升级的服务提供端注册到第一地址配置中心的地址信息。
上述实施例一解决了如果先升级客户端后升级服务提供端所导致的升级后的客户端无法获取到未升级的服务提供端注册的地址信息的问题。在实际实施中,除了有可能出现先升级客户端后升级服务提供端的情况,也有可能出现先升级服务提供端,后升级客户端的情况。若升级服务提供端后,升级的服务提供端将提供服务的地址信息注册到升级后的第二RPC框架的第二地址配置中心,则未升级的客户端将无法获取到该地址信息。
为了进一步解决若先升级服务提供端后升级客户端所导致的未升级的客户端无法获取到升级的服务提供端注册的地址信息的问题,本申请以下实施例二在上述实施例一的基础上进一步丰富了地址信息传输的方法流程,给出了该问题的解决方法。
如图2所示,为本申请实施例二提供的地址信息传输方法流程图,包括以下步骤:
S201:第一RPC框架的第一地址配置中心接收并存储第二RPC框架的服务提供端注册的地址信息;
该实施例中,升级后的第二RPC框架的服务提供端不仅将提供服务的地址信息注册到第二RPC框架的第二地址配置中心,还将该地址信息注册到第一RPC框架的第一地址配置中心。这样,未升级的客户端仍然可以从第一地址配置中心获取到升级后的服务提供端注册的地址信息。
若这里的第一RPC框架为Dubbo服务框架,第一地址配置中心为某个Dubbo注册中心,第二RPC框架为从Dubbo升级后的HSF2,第二地址配置中心为ConfigServer,则从Dubbo升级后的HSF2的服务提供端将提供服务的地址信息同时注册到某个Dubbo注册中心和某个ConfigServer。该Dubbo注册中心将接收到的地址信息存储到Dubbo的Mysql数据库中,这样,Dubbo的其它注册中心可以从该数据库中获取该Dubbo注册中心存储到该Mysql数据库中的地址信息,并提供给服务的客户端。该ConfigServer在接收到该地址信息后,将该地址信息存储在内存中,同时,将该地址信息发送给HSF2的其它ConfigServer,实现在不同ConfigServer之间地址信息的同步。
S202:第一RPC框架的第一地址配置中心接收第一RPC框架的服务提供端注册的地址信息;
该步骤的的实施与上述实施例一相似,重复之处不再赘述。需要说明的是,本申请实施例中,步骤S201可以在步骤S202之前执行,也可以在步骤S202之后执行,还可以在执行步骤S201多次后,再执行步骤S202,也可以在执行步骤S202多次后,再执行步骤S201,本申请实施例中并不限定步骤S201和S202的执行顺序。
S203:第一地址配置中心存储第一RPC框架的服务提供端注册的地址信息,并将第一RPC框架的服务提供端注册的地址信息发送给第二RPC框架的第二地址配置中心。
该步骤的的实施与上述实施例一相似,重复之处不再赘述。
上述实施例二不仅解决了如果先升级客户端后升级服务提供端所导致的升级后的客户端无法获取到未升级的服务提供端注册的地址的问题,还解决了如果先升级服务提供端后升级客户端所导致的未升级的客户端无法获取到升级后的服务提供端注册的地址的问题。
在实际实施中,会出现地址配置中心下线或重启的情况。当所述第一地址配置中心下线或重启时,会断开与之前在第一地址配置中心注册的服务提供端的网络连接,这些服务提供端重新与第一RPC框架的其它地址配置中心建立网络连接。若第一RPC框架为Dubbo服务框架,第一地址配置中心为某个Dubbo注册中心,在该Dubbo注册中心下线或重启时,会断开该Dubbo注册中心与注册的服务提供端的网络连接,并删除Mysql数据库中保存的地址信息;在这些服务提供端与其它Dubbo注册中心重新建立网络连接后,再将地址信息重新保存到Mysql数据库中。上述从Mysql数据库中删除地址信息,再将地址信息重新保存到Mysql数据库中的过程所用的时间长度非常短暂,而其它在线的Dubbo注册中心与Mysql数据库进行地址信息同步需要一定的时间间隔,该时间间隔要远大于从Mysql数据库中删除再保存上述服务提供端的地址信息的时间长度,因此,其它在线的Dubbo注册中心丢失服务提供端的地址信息的可能性是非常小的。
Dubbo注册中心在断开与注册的服务提供端的网络连接的同时,会断开与ConfigSever的网络连接,由于ConfigSever是采用内存维护数据的,因此,在从这些服务提供端与上述下线或重启的Dubbo注册中心断开网络连接,到这些服务提供端与其它在线的Dubbo注册中心重新建立网络连接的过程中,该ConfigSever会丢失这些服务提供端的地址信息,该ConfigSever在丢失这些服务提供端的地址信息后,会与其它ConfigSever进行地址信息同步,导致其它ConfigSever中也丢失了这些服务提供端的地址信息。为了尽量缩短该ConfigSever丢失地址信息的时间,本申请以下实施例三给出了解决方法。
如图3所示,为本申请实施例三提供的地址信息传输方法流程图,包括以下步骤:
S301:第一RPC框架的第一地址配置中心接收第一RPC框架的服务提供端注册的地址信息;
S302:第一地址配置中心存储第一RPC框架的服务提供端注册的地址信息,并基于建立的第一地址配置中心与第二地址配置中心之间的网络连接,将第一RPC框架的服务提供端注册的地址信息发送给第二地址配置中心;
S303:第一地址配置中心在确定自身需要下线或重启时,将第二地址配置中心与自身之间的网络连接重定向到第一RPC框架的其它地址配置中心。
该实施例中,在第一地址配置中心需要下行或重启时,利用该第一地址配置中心的网络连接重定向功能,将第二地址配置中心与该第一地址配置中心之间的网络连接重定向到第一RPC框架的其它地址配置中心;也即,将第二地址配置中心与该第一地址配置中心之间的网络连接更换为该第二地址配置中心与第一RPC框架的其它地址配置中心之间的网络连接。若这里的第一RPC框架为Dubbo服务框架,第一地址配置中心为某个Dubbo注册中心,在该Dubbo注册中心下线或重启时,利用该Dubbo注册中心的网络连接重定向功能,将ConfigSever与该Dubbo注册中心之间的网络连接重定向到其它Dubbo注册中心上,从而可以减少ConfigSever与其它Dubbo注册中心重新建立网络连接的时间间隔。
上述实施例可以减少ConfigSever从断开与下线或重启的Dubbo注册中心的网络连接,到重新与其它在线的Dubbo注册中心建立网络连接的时间间隔,从而减少ConfigSever丢失地址信息的时间,但是,并不能完全保证ConfigSever不丢失地址信息。在具体实施中,为了进一步保证ConfigSever中保存的地址信息的完整性,以及ConfigSever与Dubbo注册中心保存到Mysql数据库中的数据的一致性,本申请以下实施例四给出了进一步的解决措施。
如图4所示,为本申请实施例四提供的地址信息传输方法流程图,包括以下步骤:
S401:第一RPC框架的第一地址配置中心接收第二RPC框架的服务提供端注册的地址信息,并将该地址信息存储到第一RPC框架的数据库中。
S402:第一RPC框架的第一地址配置中心接收第一RPC框架的服务提供端注册的地址信息,并将该地址信息存储到第一RPC框架的数据库中。
S403:所述第一地址配置中心将接收的第一RPC框架的服务提供端注册的地址信息发送给第二RPC框架的第二地址配置中心。
S404:第一地址配置中心周期性检测所述第一RPC框架的数据库中存储的第一RPC框架的服务提供端的地址信息与第二地址配置中心保存的第一RPC框架的服务提供端的地址信息是否一致;若不一致,则对所述数据库中存储的第一RPC框架的服务提供端的地址信息与第二地址配置中心保存的所述第一RPC框架的服务提供端的地址信息进行信息同步。
该实施例中,第一地址配置中心周期性(比如,周期为8小时)检测存储到第一RPC框架的数据库中第一RPC框架的服务提供端的地址信息与第二地址配置中心保存的第一RPC框架的服务提供端的地址信息是否一致,如果不一致,可以记录不一致的数据,并可以将记录的数据以邮件形式通知给开发人员,以便于开发人员定期了解第一RPC框架的数据库与第二地址配置中心的地址信息同步情况,在发现第一RPC框架的数据库与第二地址配置中心保存的第一RPC框架的服务提供端的地址信息不一致时,采取进一步的同步措施。第一地址配置中心在检测到第一RPC框架的数据库中第一RPC框架的服务提供端的地址信息与第二地址配置中心保存的第一RPC框架的服务提供端的地址信息不一致时,还可以自动对第一RPC框架的数据库中与第二地址配置中心保存的第一RPC框架的服务提供端的地址信息进行同步。比如,在发现第一RPC框架的数据库中存储有第二地址配置中心未保存的第一RPC框架的服务提供端的地址信息时,将该第二地址配置中心未保存的第一RPC框架的服务提供端的地址信息发送给第二地址配置中心。
基于同一发明构思,本申请以下实施例从执行主体为第二地址配置中心的角度描述了本申请地址信息传输方法的流程,具体实施可参见上述实施例一的描述,重复之处不再赘述。
如图5所示,为本申请实施例五提供的地址信息传输方法流程图,包括以下步骤:
S501:第二RPC框架的第二地址配置中心接收第一RPC框架的第一地址配置中心发送的第一RPC框架的服务提供端注册的地址信息;
S502:第二地址配置中心存储接收的地址信息。
可选地,所述第一RPC框架为Dubbo服务框架,所述第二RPC框架为第二版本的高性能服务框架HSF2。
可选地,步骤S501之后,还包括:所述第二地址配置中心将所述地址信息发送给所述第二RPC框架的其它地址配置中心。
这里,若第一RPC框架为Dubbo服务框架,第一地址配置中心为某个Dubbo注册中心,第二RPC框架为HSF2,第二地址配置中心为某个ConfigServer,该ConfigServer在接收到该地址信息后,将该地址信息存储在内存中,同时,将该地址信息发送给HSF2的其它ConfigServer,实现在不同ConfigServer之间地址信息的同步,也即,每个ConfigServer都保存了全量的地址信息。
本申请以下实施例从执行主体为第二RPC框架的服务提供端的角度描述了本申请地址信息传输方法的流程,具体实施可参见上述实施例二的描述,重复之处不再赘述。
如图6所示,为本申请实施例六提供的地址信息传输方法流程图,包括以下步骤:
S601:第二RPC框架的服务提供端确定提供服务的地址信息;
S602:所述服务提供端将所述地址信息注册到第一RPC框架的第一地址配置中心和第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架。
可选地,所述第一RPC框架为Dubbo服务框架,所述第二RPC框架为第二版本的高性能服务框架HSF2。
为了更好地说明上述实施例进行地址信息传输的方法流程,下面以第一RPC框架为Dubbo服务框架,第二RPC框架为将Dubbo服务框架和第一版本的高性能服务框架HSF1进行融合、升级后的第二版本的高性能服务框架HSF2为例,对本申请作进一步说明。该实施例中,Dubbo的地址配置中心为Dubbo注册中心,HSF1和HSF2的地址配置中心为ConfigServer。
如图7所示,为本申请实施例七提供的地址信息传输方法流程图,包括:
S701:Dubbo服务提供端将提供服务的地址信息注册到与之建立网络连接的Dubbo注册中心,HSF1服务提供端和从HSF1服务提供端升级后的HSF2服务提供端将提供服务的地址信息注册到与之建立网络连接的ConfigServer,从Dubbo注册中心升级后的HSF2服务提供端将提供服务的地址信息注册到与之建立网络连接的Dubbo注册中心和ConfigServer。
S702:Dubbo注册中心将各服务提供端注册的地址信息写入Mysql数据库中,并将Dubbo服务提供端注册的地址信息发送给与之建立网络连接的ConfigServer。
如图8所示,为Dubbo注册中心将接收的各服务提供端注册的地址信息写入Dubbo的Mysql数据库中的示意图;从图8可知,所有的Dubbo注册中心都将Dubbo服务提供端注册的地址信息写入一个Mysql数据库中,这样,每个Dubbo注册中心可以周期性与Mysql数据库进行地址信息的同步。
图9为Dubbo注册中心将Dubbo服务提供端注册的地址信息同步到ConfigServer中的示意图。从图9可知,Dubbo注册中心可以将接收的服务提供端的地址信息选择性同步到ConfigServer中,也即,Dubbo注册中心只将Dubbo服务提供端注册的地址信息同步到ConfigServer中。这里,每当Dubbo注册中心与一个Dubbo服务提供端建立网络连接时,该Dubbo注册中心就会从ConfigServer集群中选择一台ConfigServer,与之建立网络连接,并基于建立的网络连接,将Dubbo服务提供端注册的地址信息发送给ConfigServer。Dubbo注册中心会维持与ConfigServer之间的套接字(Socket)连接池,该连接池是一个映射(map)结构,记录有关键字(key)值与Dubbo服务提供端的机器地址的对应关系,每个key值对应一条网络连接。这里的机器地址包括互联网协议(Internet Protocol,IP)地址、端口号等。Dubbo注册中心根据服务提供端的机器地址,确定key值,根据key值确定网络连接。如果没有在Socket连接池中寻找到对应的网络连接,则创建一个新的网络连接,放入Socket连接池。当Dubbo服务提供端下线或重启时,会主动断开与Dubbo注册中心的网络连接。Dubbo注册中心在接收到断开网络连接的指示消息后,删除写入Mysql数据库中的该服务提供端的地址信息。同时,Dubbo注册中心寻找与ConfigServer建立的对应的网络连接,指示ConfigServer删除通过该网络连接同步的地址信息,并断开与该ConfigServer的网络连接。
图10为不同ConfigServer之间进行地址信息同步的示意图。从图中可知,Dubbo注册中心在将Dubbo服务提供端注册的地址信息同步到与之建立网络连接的ConfigServer后,该ConfigServer会基于与其它每个ConfigServer建立的连接,将接收的Dubbo服务提供端注册的地址信息同步到其它ConfigServer上。
根据上述步骤,Dubbo注册中心写入Mysql数据库中的地址信息不仅包括Dubbo服务提供端的地址信息,还包括从Dubbo服务提供端升级后的HSF2服务提供端的地址信息,这样,Dubbo客户端不仅可以从Dubbo注册中心订阅Dubbo服务提供端提供服务的地址信息,还可以订阅从Dubbo服务提供端升级后的HSF2服务提供端提供服务的地址信息。ConfigServer内存中保存的地址信息不仅包括HSF1和HSF2服务提供端(包括从Dubbo服务提供端升级后的HSF2服务提供端和从HSF1服务提供端升级后的HSF2服务提供端)的地址信息,还包括Dubbo注册中心发送的Dubbo服务提供端的地址信息,这样,从Dubbo客户端升级后的HSF2客户端不仅可以从ConfigServer订阅从Dubbo服务提供端升级后的HSF2服务提供端提供服务的地址信息、HSF1服务提供端提供服务的地址信息,从HSF1服务提供端升级后的HSF2服务提供端的地址信息,还可以订阅未升级的Dubbo服务提供端提供服务的地址信息。如图11所示,为不同RPC框架下地址信息的注册和订阅示意图。
S703:Dubbo注册中心在确定自身需要下线或重启时,将ConfigServer与自身之间的网络连接重定向到其它Dubbo注册中心。
S704:Dubbo注册中心周期性检测存储到Mysql数据库中的Dubbo服务提供端的地址信息与ConfigServer保存的Dubbo服务提供端的地址信息是否一致;若不一致,则对Mysql数据库中Dubbo服务提供端的地址信息与ConfigServer保存的Dubbo服务提供端的地址信息进行信息同步。
上述步骤S703和步骤S704的实施可参见实施例三和实施例四,重复之处,不再赘述。
基于同一发明构思,本申请实施例中还提供了一种与地址信息传输方法对应的地址信息传输装置,由于该装置解决问题的原理与上述实施例地址信息传输方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图12所示,为本申请实施例八提供的地址信息传输装置结构示意图,包括:
接收模块121,用于为第一远程过程调用协议RPC框架的第一地址配置中心接收所述第一RPC框架的服务提供端注册的地址信息;
存储模块122,用于存储所述第一RPC框架的服务提供端注册的地址信息;
发送模块123,用于将所述地址信息发送给第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架。
可选地,所述第一RPC框架为达博Dubbo服务框架,所述第二RPC框架为第二版本的高性能服务框架HSF2。
可选地,所述发送模块123具体用于:基于建立的所述第一地址配置中心与所述第二地址配置中心之间的网络连接,将所述地址信息发送给第二地址配置中心;
所述装置还包括:
处理模块124,用于在所述发送模块123将所述地址信息发送给第二地址配置中心之后,在确定第一地址配置中心需要下线或重启时,将所述第二地址配置中心与所述第一地址配置中心之间的网络连接重定向到所述第一RPC框架的其它地址配置中心。
可选地,所述接收模块121,还用于接所述第二RPC框架的服务提供端注册的地址信息;所述存储模块122,还用于存储所述第二RPC框架的服务提供端注册的地址信息。
可选地,所述发送模块123,还用于周期性检测存储到所述第一RPC框架的数据库中的地址信息与所述第二地址配置中心保存的地址信息是否一致;若不一致,则对所述数据库中的地址信息与所述第二地址配置中心保存的地址信息进行信息同步。
如图13所示,为本申请实施例九提供的地址信息传输装置结构示意图,包括:
接收模块131,用于为第二RPC框架的第二地址配置中心接收第一RPC框架的第一地址配置中心发送的所述第一RPC框架的服务提供端注册的地址信息;
存储模块132,用于存储所述接收模块131接收的所述地址信息。
可选地,所述第一RPC框架为达博Dubbo服务框架,所述第二RPC框架为第二版本的高性能服务框架HSF2。
可选地,所述装置还包括:发送模块133,用于将所述接收模块131接收的地址信息发送给所述第二RPC框架的其它地址配置中心。
如图14所示,为本申请实施例十提供的地址信息传输装置结构示意图,包括:
确定模块141,用于确定第二RPC框架的服务提供端提供服务的地址信息;
注册模块142,用于将所述确定模块141确定的地址信息注册到第一RPC框架的第一地址配置中心和第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架。
可选地,所述第一RPC框架为达博Dubbo服务框架,所述第二RPC框架为第二版本的高性能服务框架HSF2。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种地址信息传输方法,其特征在于,该方法包括:
第一远程过程调用协议RPC框架的第一地址配置中心接收所述第一RPC框架的服务提供端注册的地址信息;其中,所述第一RPC框架为达博Dubbo服务框架;所述第一地址配置中心存储所述地址信息,并将所述地址信息发送给第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架;其中,所述第二RPC框架为第二版本的高性能服务框架HSF2。
2.如权利要求1所述的方法,其特征在于,所述第一地址配置中心将所述地址信息发送给第二地址配置中心,包括:
所述第一地址配置中心基于建立的所述第一地址配置中心与所述第二地址配置中心之间的网络连接,将所述地址信息发送给第二地址配置中心;
所述第一地址配置中心将所述地址信息发送给第二地址配置中心之后,还包括:
所述第一地址配置中心在确定自身需要下线或重启时,将所述第二地址配置中心与所述第一地址配置中心之间的网络连接重定向到所述第一RPC框架的其它地址配置中心。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一地址配置中心接收并存储所述第二RPC框架的服务提供端注册的地址信息。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
所述第一地址配置中心周期性检测所述第一RPC框架的数据库中存储的所述第一RPC框架的服务提供端的地址信息与所述第二地址配置中心保存的所述第一RPC框架的服务提供端的地址信息是否一致;
若不一致,则对所述数据库中存储的所述第一RPC框架的服务提供端的地址信息与所述第二地址配置中心保存的所述第一RPC框架的服务提供端的地址信息进行信息同步。
5.一种地址信息传输方法,其特征在于,该方法包括:
第二RPC框架的第二地址配置中心接收第一RPC框架的第一地址配置中心发送的所述第一RPC框架的服务提供端注册的地址信息;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架;其中,所述第一RPC框架为达博Dubbo服务框架,所述第二RPC框架为第二版本的高性能服务框架HSF2;
所述第二地址配置中心存储接收的所述地址信息。
6.如权利要求5所述的方法,其特征在于,所述第二地址配置中心接收所述第一地址配置中心发送的所述地址信息之后,还包括:
所述第二地址配置中心将所述地址信息发送给所述第二RPC框架的其它地址配置中心。
7.一种地址信息传输方法,其特征在于,该方法包括:
第二RPC框架的服务提供端确定提供服务的地址信息;
所述服务提供端将所述地址信息注册到第一RPC框架的第一地址配置中心和第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架;其中,所述第一RPC框架为达博Dubbo服务框架,所述第二RPC框架为第二版本的高性能服务框架HSF2。
8.一种地址信息传输装置,其特征在于,该装置包括:
接收模块,用于为第一远程过程调用协议RPC框架的第一地址配置中心接收所述第一RPC框架的服务提供端注册的地址信息;其中,所述第一RPC框架为达博Dubbo服务框架;
存储模块,用于存储所述第一RPC框架的服务提供端注册的地址信息;
发送模块,用于将所述地址信息发送给第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架;其中,所述第二RPC框架为第二版本的高性能服务框架HSF2。
9.一种地址信息传输装置,其特征在于,该装置包括:
接收模块,用于为第二RPC框架的第二地址配置中心接收第一RPC框架的第一地址配置中心发送的所述第一RPC框架的服务提供端注册的地址信息;其中,所述第一RPC框架为达博Dubbo服务框架,所述第二RPC框架为第二版本的高性能服务框架HSF2;
存储模块,用于存储所述接收模块接收的所述地址信息。
10.一种地址信息传输装置,其特征在于,该装置包括:
确定模块,用于确定第二RPC框架的服务提供端提供服务的地址信息;
注册模块,用于将所述地址信息注册到第一RPC框架的第一地址配置中心和第二RPC框架的第二地址配置中心;所述第二RPC框架为将所述第一RPC框架升级后的RPC框架;其中,所述第一RPC框架为达博Dubbo服务框架,所述第二RPC框架为第二版本的高性能服务框架HSF2。
CN201410252804.0A 2014-06-09 2014-06-09 一种地址信息传输方法及装置 Active CN105141707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410252804.0A CN105141707B (zh) 2014-06-09 2014-06-09 一种地址信息传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410252804.0A CN105141707B (zh) 2014-06-09 2014-06-09 一种地址信息传输方法及装置

Publications (2)

Publication Number Publication Date
CN105141707A CN105141707A (zh) 2015-12-09
CN105141707B true CN105141707B (zh) 2018-09-11

Family

ID=54726910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410252804.0A Active CN105141707B (zh) 2014-06-09 2014-06-09 一种地址信息传输方法及装置

Country Status (1)

Country Link
CN (1) CN105141707B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557357B (zh) * 2018-05-31 2022-07-29 华为技术有限公司 一种远程过程调用协议自适应方法、相关装置及服务器
CN114024901B (zh) * 2022-01-05 2022-04-19 中邮消费金融有限公司 一种消息隔离转发方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108715A (en) * 1994-12-13 2000-08-22 Microsoft Corporation Method and system for invoking remote procedure calls
CN101630272A (zh) * 2009-08-19 2010-01-20 用友软件股份有限公司 进程调度方法和系统
CN103095785A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 远程过程调用方法和系统、客户端及服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578148B2 (en) * 2010-01-22 2013-11-05 Broadcom Corporation Method and system to transmit code to a system on a chip (SOC)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108715A (en) * 1994-12-13 2000-08-22 Microsoft Corporation Method and system for invoking remote procedure calls
CN101630272A (zh) * 2009-08-19 2010-01-20 用友软件股份有限公司 进程调度方法和系统
CN103095785A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 远程过程调用方法和系统、客户端及服务器

Also Published As

Publication number Publication date
CN105141707A (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
US11533220B2 (en) Network-assisted consensus protocol
US20170163479A1 (en) Method, Device and System of Renewing Terminal Configuration In a Memcached System
CN103268319A (zh) 一种基于网页的云浏览器
CN102333029A (zh) 一种服务器集群系统中的路由方法
CN110909521B (zh) 在线文档信息的同步处理方法、装置及电子设备
CN110502310B (zh) 一种虚拟机的时间同步方法及装置
JP2017539103A (ja) 複数の装置間においてメンバー利得を同期させるための方法、装置、サーバおよびシステム
CN104796391A (zh) 签到验证方法以及签到验证客户端、服务器、系统和装置
US10924590B1 (en) Virtual workspace experience visualization and optimization
WO2017071337A1 (zh) 管理数据库表数据的方法、装置及系统
CN102523109A (zh) 资源状态更新方法、管理客户端及服务器
CN110377431A (zh) 多注册中心场景下服务调用方法及装置
CN103281346A (zh) 断线重连方法、网络系统和代理服务器
CN110069346A (zh) 多进程间资源共享方法、装置、电子设备
US20170187800A1 (en) File synchronization method, electronic device
CN113138995A (zh) 微服务集群中更新通知方法及装置
CN110222280A (zh) 用于分享的数据处理方法及装置
CN105141707B (zh) 一种地址信息传输方法及装置
CN110554885A (zh) 子应用生成方法、装置、电子设备及存储介质
EP3298756A1 (en) Interfacing with servers having different apis to obtain advertisement data
CN109194729B (zh) 一种信息通讯系统以及方法
CN112044061A (zh) 游戏画面处理方法、装置、电子设备以及存储介质
US10984062B2 (en) Device augmentation of real time communications
CN115361382B (zh) 基于数据群组的数据处理方法、装置、设备和存储介质
CN113413586B (zh) 一种虚拟对象传送方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant