实现心跳通信的方法、注册中心、服务端和客户端技术

技术编号:13370505 阅读:80 留言:0更新日期:2016-07-19 18:19
本发明专利技术公开一种实现心跳通信的方法、注册中心、服务端和客户端,包括:注册中心根据接收到的来自各服务端的心跳消息,更新心跳信息集;注册中心按照预先设置的检测周期,根据心跳信息集确定是否存在心跳超时的服务端。通过本发明专利技术提供的技术方案,减小了注册中心的负荷,提高了注册中心的服务能力,从而改善了分布式服务管理系统的用户体验。

【技术实现步骤摘要】

本专利技术涉及分布式通信技术,尤指一种分布式服务管理系统中,实现心跳通信的方法、注册中心、服务端和客户端
技术介绍
随着淘宝、微博等大型网络服务的广泛应用,用于实现这些大型网络服务的分布式服务管理系统成为互联网的研究热点。在现有分布式服务管理系统中,服务端注册服务的流程包括:服务端向注册中心发送注册消息;注册中心根据接收到的注册消息,在服务信息集中增加注册消息中的服务端的身份标识和服务名。在现有分布式服务管理系统中,注册中心与服务端和客户端之间的心跳通信的流程包括:注册中心按照预先设置的第一心跳周期和第二心跳周期,分别向各服务端和各客户端发送心跳消息;如果注册中心在预先设置的第一超时时间段内没有接收到来自服务端的心跳消息的应答消息,注册中心从服务信息集中删除该服务端的身份标识和对应的服务名;如果注册中心在第二超时时间段内接收到来自客户端的心跳消息的应答消息,返回服务信息集中与该应答消息中的服务名对应的各身份标识;各客户端根据返回的各身份标识,分别更新对应的待更新的服务列表;其中,服务列表对应于服务名,包括提供对应的服务名代表的网络服务的服务端的各身份标识。在现有分布式服务管理系统中,客户端获取网络服务的流程包括:当客户端需要获得网络服务时,根据该网络服务的服务名对应的服务列表,按照预先设置的选择策略确定一个服务列表的身份标识,并向确定出的身份标识代表的服务端请求网络服务。在上述3个现有流程中,注册中心与所述服务端和客户端之间均通过传输控制协(TCP,TransmissionControlProtocol)链接的方式进行通信。在现有心跳通信的流程中,注册中心按照预先设置的周期,分别向各服务端和各客户端发送心跳消息是根据注册中心维护的注册中心与各服务端和各客户端之间的链接进行的,由于通常情况下注册中心需要与很多个服务端和客户端进行通信,因此注册中心需要维护很多条心跳通信的链接,并根据各条链接发起心跳通信,这样增加了注册中心的负荷,降低了注册中心的服务能力即使得注册中心高质量服务服务端和客户端的总数量减少,从而影响了分布式服务管理系统的用户体验。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种实现心跳通信方法、注册中心、服务端和客户端,能够减小注册中心的负荷,从而提高注册中心的服务能力。为了达到本专利技术目的,本专利技术公开了一种实现心跳通信的方法,包括:注册中心根据接收到的来自各服务端的心跳消息,更新心跳信息集;注册中心按照预先设置的检测周期,根据心跳信息集确定是否存在心跳超时的服务端。该方法之前还包括:所述各服务端按照预先设置的第一心跳周期,分别向注册中心发送心跳消息。所述心跳信息集包括所述各服务端的身份标识和心跳时间;其中,心跳时间为最近接收到所述心跳消息的时间;相应地,所述更新心跳信息集包括:提取所述心跳消息中的身份标识;将所述心跳信息集中与提取出的身份标识对应的心跳时间更新为接收到所述心跳消息的时间。所述确定是否存在心跳超时的服务端包括:针对所述心跳信息集中的每个心跳时间,确定当前时间与当前心跳时间的差值是否大于或等于预先设置的超时时间阈值;如果大于或等于,确定出与当前心跳时间对应的身份标识代表的服务端为心跳超时的服务端。该方法之后,还包括:如果存在,所述注册中心从服务信息集中删除心跳超时的服务端的身份标识和对应的服务名。进一步地,该方法还包括:各客户端按照预先设置的第二心跳周期,分别向注册中心发送待更新的服务列表对应的服务名,以请求更新待更新的服务列表;注册中心接收到服务名时,返回所述服务信息集中与服务名对应的各身份标识;各客户端根据返回的各身份标识,分别更新待更新的服务列表。进一步地,所述注册中心与所述服务端和客户端之间均通过超文本传送协议HTTP链接的方式进行通信。本专利技术还公开了一种实现心跳通信的注册中心,包括维护单元和超时单元,其中,维护单元,用于根据接收到的来自各服务端的心跳消息,更新心跳信息集;超时单元,用于按照预先设置的检测周期,根据心跳信息集确定是否存在心跳超时的服务端。所述心跳信息集包括所述服务端的身份标识和心跳时间,其中,心跳时间为最近接收到所述心跳消息的时间;相应地,所述维护单元具体用于:提取所述心跳消息中的身份标识;将所述心跳信息集中与提取出的身份标识对应的心跳时间更新为接收到所述心跳消息的时间。所述超时单元具体用于:针对所述心跳信息集中的每个心跳时间,确定当前时间与当前心跳时间的差值是否大于或等于预先设置的超时时间阈值;当大于或等于时,确定与当前心跳时间对应的身份标识代表的服务端为心跳超时的服务端。进一步地,所述维护单元还用于:当存在心跳超时的服务端时,从服务信息集中删除心跳超时的服务端的身份标识和对应的服务名;其中,心跳超时的服务端的身份标识来自所述注册中心中的超时单元。进一步地,所述注册中心还包括响应单元,用于接收到来自客户端的服务名时,返回所述服务信息集中与服务名对应的各身份标识。进一步地,所述注册中心与所述各服务端、和各客户端之间均通过超文本传送协议HTTP链接的方式进行通信。本专利技术还公开了一种实现心跳通信的服务端,包括心跳发起单元,用于按照预先设置的第一心跳周期,向注册中心发送心跳消息。本专利技术还公开了一种实现心跳通信的客户端,包括请求单元和更新单元,其中,请求单元,用于按照预先设置的第二心跳周期,向注册中心发送待更新的服务列表对应的服务名,以请求更新待更新的服务列表;更新单元,用于根据注册中心返回的各身份标识,更新待更新的服务列表。与现有技术相比,本专利技术技术方案包括:注册中心根据接收到的来自各服务端的心跳消息,更新心跳信息集;注册中心按照预先设置的检测周期,根据心跳信息集确定是否存在心跳超时的服务端。通过本专利技术技术方案,实现了服务端发起心跳通信,避免了注册中心维护与服务端之间的心跳通信的链接和发起与服务端之间的心跳通信,这样减小了注册中心的负荷,提高了注册中心的服务能力,从而改善了分布式服务管理系统的用户体验。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案本文档来自技高网
...

【技术保护点】
一种实现心跳通信的方法,其特征在于,包括:注册中心根据接收到的来自各服务端的心跳消息,更新心跳信息集;注册中心按照预先设置的检测周期,根据心跳信息集确定是否存在心跳超时的服务端。

【技术特征摘要】
1.一种实现心跳通信的方法,其特征在于,包括:
注册中心根据接收到的来自各服务端的心跳消息,更新心跳信息集;
注册中心按照预先设置的检测周期,根据心跳信息集确定是否存在心跳
超时的服务端。
2.根据权利要求1所述的方法,其特征在于,该方法之前还包括:所述
各服务端按照预先设置的第一心跳周期,分别向注册中心发送心跳消息。
3.根据权利要求1所述的方法,其特征在于,所述心跳信息集包括所述
各服务端的身份标识和心跳时间;其中,心跳时间为最近接收到所述心跳消
息的时间;
所述更新心跳信息集包括:
提取所述心跳消息中的身份标识;
将所述心跳信息集中与提取出的身份标识对应的心跳时间更新为接收到
所述心跳消息的时间。
4.根据权利要求3所述的方法,其特征在于,所述确定是否存在心跳超
时的服务端包括:
针对所述心跳信息集中的每个心跳时间,确定当前时间与当前心跳时间
的差值是否大于或等于预先设置的超时时间阈值;
如果大于或等于,确定出与当前心跳时间对应的身份标识代表的服务端
为心跳超时的服务端。
5.根据权利要求1所述的方法,其特征在于,该方法之后,还包括:如
果存在,所述注册中心从服务信息集中删除心跳超时的服务端的身份标识和
对应的服务名。
6.根据权利要求1所述的方法,其特征在于,该方法还包括:
各客户端按照预先设置的第二心跳周期,分别向注册中心发送待更新的
服务列表对应的服务名,以请求更新待更新的服务列表;
注册中心接收到服务名时,返回所述服务信息集中与服务名对应的各身

\t份标识;
各客户端根据返回的各身份标识,分别更新待更新的服务列表。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述注册中心与
所述服务端和客户端之间均通过超文本传送协议HTTP链接的方式进行通信。
8.一种实现心跳通信的注册中心,其特征在于,包括维护单元和超时单
元,其中,
维护单元,用于根据接...

【专利技术属性】
技术研发人员:刘德洪
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1