一种分布式系统及其自动维护方法技术方案

技术编号:8611489 阅读:194 留言:0更新日期:2013-04-19 23:42
本发明专利技术公开了一种分布式系统及其自动维护方法,上述方法包括以下步骤:节点启动服务后,定时向服务注册中心发送服务注册请求;上述服务注册中心根据收到的服务注册请求,对本地信息进行维护,并向上述节点或其关联节点提供信息服务。本发明专利技术的分布式系统规模可以动态收缩,节点启动后会自动发起服务注册,无需手动配置;节点之间通过调用关系自动形成网状关系并可动态调整,网络结构无需事先规划,此外本发明专利技术系统维护简单,构建成本较低。

【技术实现步骤摘要】

本专利技术涉及云计算领域中的分布式技术,尤其涉及。
技术介绍
随着互联网、传统电信网的用户和应用的日益增长,以及两者融合(成为移动互联网)趋势的不断加强,通过服务器的数据流量及访问请求也在不断增长。这对服务器的部署与维护、运行于其上的软件性能、以及整个系统的可伸缩性提出了越来越高的需求。对于这些需求,现有技术提出了一些应对的分布式计算系统。当服务器过于繁忙时,通过增加系统的负载均衡设备和服务器数量,或者通过提升单个服务器的硬件和软件性能来提升其处理能力。由于服务器成本过高、性能增长潜力有限,对其性能进行提升已不是主流的解决方案。图1是现有技术提出的一种分布式系统,如图1所示,这种系统通过负载均衡设备支撑一组服务器,负载均衡设备放置在所有服务器的前端,向外统一暴露服务的接口。负载均衡设备可能是硬件,如四层交换机;也可能是软件,如一些反向代理软件。这种系统一般应用于互联网的站点上,其设计思想是通过负载均衡设备将众多WEB服务器形成集群,从而向用户提供单一的HTML服务。这种系统在服务(应用)增多时,需要增设新的负载均衡设备,由于每个服务都需要一组服务器来支撑,而每一组服务器都使用一个负载均衡设备,这势必会造成部署成本的急剧上升,负载均衡设备也会因访问请求的大量增加而不堪重负。另外,在系统内部新增一组服务时,客户机并不能自动感知这些新增服务的服务器地址,必须经过一系列手动配置后访问请求才能被顺利送达新的服务器。在现代具有成百上千台服务器的数据中心做这样的手动配置是非常困难、低效的。因此,这种分布式 系统存在部署成本过高、后期维护困难、系统健壮性差等缺点,该系统并不能解决服务和用户增长所带来的服务器性能瓶颈等问题。图2是现有技术提出的另一种分布式系统,如图2所示,这种系统通过ESB (Enterprise Service Bus,企业服务总线)服务器支撑一组服务,所有访问请求都需要通过ESB服务器转发。ESB服务器基于SOA (Service-Oriented Architecture,面向服务架构)思想,提供了负载均衡机制,新增的服务对客户机也是透明的。然而,ESB服务器本身承担了太多功能,存在单点失效隐患和单机性能瓶颈。另一方面,在这种系统上新增一种服务或服务节点时,需要在ESB服务器上手动注册,存在维护困难、规模伸缩性差的问题。ESB服务器的另一个限制是,通常它是直接向外暴露服务的,内部服务之间不能相互调用,因此它一般应用于企业需要将内部众多系统整合并对外提供标准服务的情况,并不适用于构建大规模的分布式系统。
技术实现思路
本专利技术的目的在于,提供,以解决现有分布式系统所存在的部署成本过高、性能瓶颈严重、后期维护困难、系统健壮性和伸缩性差等问题。本专利技术通过以下技术方案解决上述技术问题一种大规模分布式系统的自动维护方法,上述方法包括以下步骤节点启动服务后,定时向服务注册中心发送服务注册请求;上述服务注册中心根据收到的服务注册请求,对本地信息进行维护,并向上述节点或其关联节点提供信息服务。根据上述方法,上述节点包括提供服务的节点及中转服务的节点,上述服务注册请求中包含上述节点的注册信息,上述注册信息包括上述节点的IP地址、端口号以及上述节点可中转或提供的服务名称。上述服务注册中心采用以下方法对本地信息进行维护根据上述注册服务请求中的注册信息,判断上述节点是否是首次注册,若是,则将上述注册信息保存到本地节点链表中,否则将上述注册信息与上述节点链表中上述节点的旧注册信息进行比对,若两者不一致则用上述注册信息更新上述节点链表。上述服务注册中心将上述注册信息保存到本地节点链表中或用上述注册信息更新上述节点链表之后还包括以下步骤判断上述节点是否为提供服务的节点;若是,则将上述节点的注册信息发送给使用上述节点服务的关联节点,否则,向上述节点提供其要中转的服务所 属的目标节点的注册信息。上述方法还包括以下上述节点调用服务的步骤上述节点首先向上述服务注册中心发出服务调用请求;上述服务注册中心收到上述调用请求后,将可中转或提供上述节点所需服务的所有目标节点的注册信息返回给上述节点;上述节点保存目标节点的注册信息,并获取各目标节点的负载情况,然后向负载最小的目标节点发出服务调用请求;上述负载最小的目标节点收到上述调用请求后,将上述节点需要的服务返回给上述节点。根据上述方法,上述服务注册中心收到上述调用请求后,将可中转或提供上述节点所需服务的所有目标节点的注册信息返回给上述节点步骤包括上述服务注册中心将上述节点要调用的服务保存到本地上述节点链表中;根据本地上述节点链表判断是否有节点中转上述服务,若是,则将可中转上述服务的所有目标节点的注册信息发送给上述节点,否则,判断是否有节点提供上述服务;若是,则将可提供上述服务的所有目标节点的注册信息发送给上述节点,否则返回服务请求失败的信息。上述节点采用以下方法获取各个上述目标节点的负载情况根据上述目标节点的注册信息,定时向各目标节点发送自身的心跳信息;各目标节点收到心跳信息后,将自身的心跳信息返回给上述节点;上述节点根据各目标节点的心跳信息,获取其负载情况。上述心跳信息包括节点的IP地址及负载数据。上述节点保存了目标节点的注册信息后,若下次再请求上述服务时,跳过向上述服务注册中心发出服务调用请求的步骤,直接向负载最小的目标节点发出服务调用请求,直至请求失败为止。上述分布式系统的自动维护方法还包括当上述节点未定时发送服务器注册请求时,上述服务注册中心删除上述节点在本地保存的注册信息。本专利技术还采用以下技术方案一种分布式系统,包括节点和服务注册中心;上述节点,用于在启动服务后,定时向服务注册中心发送服务注册请求;上述服务注册中心,用于根据收到的服务注册请求,对本地信息进行维护,并向上述节点或其关联节点提供信息服务。上述节点包括信息注册模块、服务请求模块、可选的服务提供模块、及服务接收模块;上述信息注册模块,用于定时向上述服务注册中心发送服务注册请求;上述服务请求模块,用于向上述服务注册中心或其他节点发出服务调用请求;上述服务提供模块,用于收到服务调用请求后,将自身提供的服务返回给相应的节点;上述服务接收模块,用于接收其他节点提供的服务。上述服务注册中 心包括信息维护模块、服务通知模块、及服务响应模块;上述信息维护模块,用于接收上述节点的注册请求,并根据上述注册请求对本地保存的节点信息进行维护;上述服务通知模块,用于将新增或更新的节点信息发送给其他关联节点,或向上述新增或更新的节点提供其要中转的服务所属的节点信息;上述服务响应模块,用于在收到上述节点发出的服务调用请求后,将可中转或提供相应服务的节点信息返回给上述节点。与现有技术相比,本专利技术具有如下有益技术效果I)服务自动发现与传统的分布式系统在新服务注册时需要手动设置不同,本专利技术的服务节点启动后会自动向服务注册中心注册其服务类型;其他节点需要请求这一服务时,通过服务注册中心便可得到服务所在位置。这一特性带来的好处是网络结构简单,通信链路可根据节点之间的调用关系自动建立,不需事先规划节点之间的网络结构(传统系统通常要事先规划,也无法动态做调整),这方便了在数据中心中动态增加或删除节点;2)自动均衡负载本专利技术节点在请求目标节点提供的服务时,自本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201110310214.html" title="一种分布式系统及其自动维护方法原文来自X技术">分布式系统及其自动维护方法</a>

【技术保护点】
一种分布式系统的自动维护方法,其特征在于,所述方法包括以下步骤:节点启动服务后,定时向服务注册中心发送服务注册请求;所述服务注册中心根据收到的服务注册请求,对本地信息进行维护,并向所述节点或其关联节点提供信息服务。

【技术特征摘要】
1.一种分布式系统的自动维护方法,其特征在于,所述方法包括以下步骤 节点启动服务后,定时向服务注册中心发送服务注册请求; 所述服务注册中心根据收到的服务注册请求,对本地信息进行维护,并向所述节点或其关联节点提供信息服务。2.根据权利要求1所述的方法,其特征在于所述节点包括提供服务的节点及中转服务的节点,所述服务注册请求中包含所述节点的注册信息,所述注册信息包括所述节点的IP地址、端口号以及所述节点可中转或提供的服务名称。3.根据权利要求2所述的方法,其特征在于,所述服务注册中心采用以下方法对本地信息进行维护 根据所述注册服务请求中的注册信息,判断所述节点是否是首次注册,若是,则将所述注册信息保存到本地节点链表中,否则将所述注册信息与所述节点链表中所述节点的旧注册信息进行比对,若两者不一致则用所述注册信息更新所述节点链表。4.根据权利要求3所述的方法,其特征在于,所述服务注册中心将所述注册信息保存到本地节点链表中或用所述注册信息更新所述节点链表之后还包括以下步骤 判断所述节点是否为提供服务的节点; 若是,则将所述节点的注册信息发送给使用所述节点服务的关联节点,否则,向所述节点提供其要中转的服务所属的目标节点的注册信息。5.根据权利要求4所述的方法,其特征在于所述方法还包括节点调用服务的步骤 所述节点首先向所述服务注册中心发出服务调用请求; 所述服务注册中心收到所述调用请求后,将可中转或提供所述节点所需服务的所有目标节点的注册信息返回给所述节点; 所述节点保存目标节点的注册信息,并获取各目标节点的负载情况,然后向负载最小的目标节点发出服务调用请求; 所述负载最小的目标节点收到所述调用请求后,将所述节点需要的服务返回给所述节点。6.根据权利要求5所述的方法,其特征在于,所述服务注册中心收到所述调用请求后,将可中转或提供所述节点所需服务的所有目标节点的注册信息返回给所述节点步骤包括 所述服务注册中心将所述节点要调用的服务保存到本地所述节点链表中; 根据本地所述节点链表判断是否有节点中转所述服务,若是,则将可中转所述服务的所有目标节点的注册信息发送给所述节点,否则,判断是否有节点提供所述服务; 若是,则将可提...

【专利技术属性】
技术研发人员:乔旭峰王东余玲玲
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

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

1