动态维护集群中的成员服务器的方法和系统的制作方法

文档序号:7752201阅读:116来源:国知局
专利名称:动态维护集群中的成员服务器的方法和系统的制作方法
技术领域
本发明涉及集群的维护,更具体地涉及一种动态维护集群中的成员服务器的方法和系统。
背景技术
云计算和智能集群已经成为当前最重要的计算架构之一。无论是云计算中的云还 是智能集群中的集群都是由一些具有运算能力的成员构成,这些成员的计算能力可能由单 独的物理设备提供,也可能是基于虚拟机、虚拟化等技术运行在物理设备上的一些逻辑节 点。云计算和智能集群的特点是高度的动态性,其中一个最重要的部分是集群成员动态的 增加、删除。传统的方式,集群都是通过静态的配置,进行成员的分配,集群的构成静态,如 果需要增加、删除成员需要通过重新配置集群,集群成员的变更不够灵活。目前流行一些基 于组播和点对点技术的动态集群维护方案,涉及到的通信技术繁琐复杂,维护和配置的复 杂性较高,对于大型的集群结构稳定性很难保证。集群构成的静态配置不能满足高度动态 的计算环境的要求,而通过组播和点对点等技术维护的动态集群架构过于复杂,因此需要 一种架构更加简单的动态集群维护方式。

发明内容
鉴于上述问题,本发明提出了一种动态维护集群中的成员服务器的方法,该方法 通过引入集群控制器,通过传统的注册一发现一绑定的机制进行集群成员的管理和维护, 其架构简单,实施维护方便,稳定性能够受到良好的监测和控制。本发明还提出了一种动态 维护集群中的成员服务器的系统。根据本发明的一个方面,提供了一种动态维护集群中的成员服务器的方法,包括 集群控制器在一个公开的地址和端口上监听集群中的所有成员服务器的状态;集群控制器 在发现集群中的任一成员服务器的状态发生改变时,修改集群拓扑结构信息;以及集群中 的成员服务器要与其他成员服务器建立通信连接之前,通过向集群控制器查询集群拓扑结 构信息来得到其他成员服务器的地址和端口,以与其他成员服务器建立通信通道。优选地,集群控制器在修改集群拓扑结构信息之后,向集群中的所有成员服务器 发送集群成员变化的事件通知。优选地,集群中的成员服务器在启动或停止时向集群控制器发送集群事件;以及 集群控制器根据集群事件修改集群拓扑结构信息,并向集群中的所有成员服务器发送集群 成员变化的事件通知。优选地,集群中的成员服务器在接收到事件通知后,更新其本地的集群拓扑结构
fn息ο优选地,集群中的成员服务器在集群控制器故障时,根据本地的集群拓扑结构信 息选择通信通道进行通信。优选地,集群中的成员服务器定时与故障的集群控制器进行联系,一旦集群控制器从故障恢复时,就将成员服务器的信息注册到集群控制器。优选地,集群控制器在从故障恢复时,根据其记录的集群拓扑结构信息主动连接 集群中的各个成员服务器,并在连接成功后将各个成员服务器的信息注册到集群控制器。优选地,集群控制器通过成员服务器的集群管理地址和端口来监视成员服务器的 状态变化。根据本发明的另一方面,提供了一种动态维护集群中的成员服务器的系统,包括 集群控制器,在一个公开的地址和端口上监听所述集群中的所有成员服务器的状态,在发 现所述集群中的任一成员服务器的状态发生改变时,修改集群拓扑结构信息;以及至少一 个成员服务器,位于所述集群中,在任一成员服务器要与其他成员服务器建立通信连接之 前,通过向所述集群控制器查询所述集群拓扑结构信息来得到所述其他成员服务器的地址 和端口,以与所述其他成员服务器建立通信通道。优选地,集群控制器还用于在修改所述集群拓扑结构信息之后,向所述集群中的 所有成员服务器发送集群成员变化的事件通知。优选地,集群中的任一成员服务器在启动或停止时向集群控制器发送集群事件; 以及集群控制器根据所述集群事件修改集群拓扑结构信息,并向集群中的所有成员服务器 发送集群成员变化的事件通知。优选地,集群中的成员服务器在接收到事件通知后,更新其本地的集群拓扑结构
fn息o优选地,集群中的成员服务器在集群控制器故障时,根据本地的集群拓扑结构信 息选择通信通道进行通信。优选地,集群中的成员服务器定时与故障的集群控制器进行联系,一旦集群控制 器从故障恢复时,就将成员服务器的信息注册到集群控制器。优选地,集群控制器在从故障恢复时,根据其记录的集群拓扑结构信息主动连接 集群中的各个成员服务器,并在连接成功后将各个成员服务器的信息注册到集群控制器。优选地,集群控制器通过成员服务器的集群管理地址和端口来监视成员服务器的 状态变化。通过采用本发明所提出的动态维护集群中的成员服务器的方法和系统,能够对集 群进行动态维护,同时因为这种动态的成员维护对应用透明,从而保证了系统的可用性不 受影响。这种技术使系统的扩展性、可靠性、可维护性、稳定性等方面得到了全面的提高,解 决了现有技术中采用静态配置或动态维护过于复杂的问题。


图1示出了根据本发明的动态维护集群中的成员服务器的方法的流程图;图2示出了根据本发明的实施例的动态维护集群中的成员服务器的系统的示意 图;图3示出了根据本发明的实施例的集群中的成员服务器之间的通信的示意图;图4示出了根据本发明的实施例的集群控制器故障情况下的成员服务器之间的 通信的示意图。
具体实施例方式以下将参考附图详细描述本发明的具体实施例。图1示出了根据本发明的动态维护集群中的成员服务器的方法的流程图,如图1 所示,该方法包括以下步骤步骤S102,集群控制器在一个公开的地址和端口上监听集群中的所有成员服务器 的状态;步骤S104,集群控制器在发现集群中的任一成员服务器的状态发生改变时,修改 集群拓扑结构信息;以及步骤S106,集群中的成员服务器要与其他成员服务器建立通信连接之前,通过向 集群控制器查询集群拓扑结构信息来得到其他成员服务器的地址和端口,以与其他成员服 务器建立通信通道。优选地,集群控制器在修改集群拓扑结构信息之后,向集群中的所有成员服务器 发送集群成员变化的事件通知。优选地,集群中的成员服务器在启动或停止时向集群控制器发送集群事件;以及 集群控制器根据集群事件修改集群拓扑结构信息,并向集群中的所有成员服务器发送集群 成员变化的事件通知。优选地,集群中的成员服务器在接收到事件通知后,更新其本地的集群拓扑结构
fn息o优选地,集群中的成员服务器在集群控制器故障时,根据本地的集群拓扑结构信 息选择通信通道进行通信。优选地,集群中的成员服务器定时与故障的集群控制器进行联系,一旦集群控制 器从故障恢复时,就将成员服务器的信息注册到集群控制器。优选地,集群控制器在从故障恢复时,根据其记录的集群拓扑结构信息主动连接 集群中的各个成员服务器,并在连接成功后将各个成员服务器的信息注册到集群控制器。优选地,集群控制器通过成员服务器的集群管理地址和端口来监视成员服务器的 状态变化。该方法通过引入集群注册服务器,通过传统的注册一发现一绑定的机制进行集群 成员的管理和维护,其架构简单,实施维护方便,稳定性能够受到良好的监测和控制。图2示出了根据本发明的实施例的动态维护集群中的成员服务器的系统的示意 图。如图2所示,在该系统中,引入了集群控制器202,其负责管理、控制和维护整个集群,每 个加入该集群的服务器都被称为成员服务器204。在图2示出的示例中,为了简洁,只示出 了一个成员服务器,在此本领域的技术人员应该理解,整个集群中可以具有多个成员服务 器。集群控制器202作为一个主控服务器,只维护集群相关的结构信息以及提供与这些信 息相关的服务。集群的结构是动态的,构成集群的成员服务器204可以动态的添加和删除, 在添加和删除成员服务器时,其动态的工作过程如下1.集群控制器202在一个公开的地址和端口上进行监听;2.成员服务器204,在启动/停止时向集群控制器202发送加入/离开集群事件;3.集群控制器202,根据该事件,修改集群控制器中的集群拓扑结构信息;4.集群控制器202向集群成员服务器204发送集群成员变化的事件通知;
6
5.各个成员服务器204通过该事件把其看到的集群更新到其本地的最新的集群 拓扑结构信息。一般来说,成员服务器向集群控制器发送的注册信息,包括
成员服务器的id ;成员服务器的服务地址和端口 ;成员服务器的进行集群管理的地址和端口 ;其他可能在集群通信中用到的信息,如成员分组、负载能力等。集群结构建立后,集群控制器202通过成员服务器204的集群管理地址和端口,监 视集群成员的变化,并通知更新集群信息。集群中的各个成员服务器之间如果需要发生通信,其工作过程一般如图3描述。 图3中示出了两个成员服务器302和304,但本领域的技术人员应该理解,这仅是示例性的, 可以具有多个成员服务器。1.成员服务器302希望发起一个集群间通信,该通信可能是点对点的也可能是一 对多的;2.成员服务器302向集群控制器306查询目标服务器的服务地址和端口,假设目 标服务器为成员服务器304;3.成员服务器302通过与成员服务器304的服务地址和端口建立通信通道进行通
fn °以上情况都是考虑到集群控制器和成员服务器正常工作的情况下,下面将分别描 述集群控制器故障、成员服务器异常、以及集群控制器恢复的情况。集群控制器失效如果集群控制器故障或维护,则集群拓扑结构不能得到更新,新的成员服务器不 能添加,成员服务器离开也不能得到更新,但是根据本发明提成的方法,它不会影响到已构 成集群的成员服务器之间的通信。图4示出了根据本发明的实施例的集群控制器故障情况 下的成员服务器之间的通信的示意图,具体描述如下1.每个成员服务器402和404都维护了一个本地的集群拓扑结构信息,在集群控 制器406故障或维护时,成员服务器402和404对集群拓扑结构的认识来自其本地的集群 拓扑结构信息;2.成员服务器402和404定时地检查集群控制器406的活动性,如果不能连通,它 会不断地尝试与集群控制器406通信,以在集群控制器406活动后,把集群结构恢复;3.如果集群控制器406活动,并且集群结构恢复后,其会通知成员服务器402和 404更新其本地的集群拓扑结构信息;4.在集群控制器406不活动时,如果需要集群之间通信,成员服务器402会根据其 本地的集群拓扑结构信息,选择适当的方式与成员服务器404互相通信。成员服务器异常考虑到集群成员服务器可能异常的离开,因此,集群控制器和成员服务器之间为 了维护好集群结构,进行以下操作1.集群控制器定期地检查各个成员服务器的生命状态;2.集群控制器发现某成员服务器不再活动时,通过集群成员服务器变更事件通知其他还存活的成员服务器;3.成员服务器,根据该事件通知,更新其本地的集群拓扑结构信息。集群控制器恢复集群控制器从失效到恢复时,集群拓扑结构会自动得到恢复,其工作过程如下描 述1.集群控制器会根据历史记录的集群拓扑结构,主动连接各成员服务器进行检查 恢复集群拓扑结构,如果能连接上,注册其信息进入集群结构;2.成员服务器,不断地尝试与失效的集群控制器联系,一旦联系上,把其的信息注 册到集群控制器。综上,通过本发明提供的技术方案,通过引入集群控制器建立的集群结构更加稳 定,只要集群控制器保持可用,集群成员之间的通信、集群的拓扑结构信息都能得到良好的 管理。在这样一个集群结构管理的基础上的集群的通信框架,实现了集群之间点对点、一对 多的通信,不会由于各个成员对集群拓扑结构认识的差异而出现不可预期的通信方式。不 仅克服了传统静态配置方式中不够灵活的缺点,还解决了传统动态方式中技术繁琐复杂, 稳定性难以保证的问题。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种动态维护集群中的成员服务器的方法,其特征在于,包括集群控制器在一个公开的地址和端口上监听所述集群中的所有成员服务器的状态;所述集群控制器在发现所述集群中的任一成员服务器的状态发生改变时,修改集群拓扑结构信息;以及所述集群中的成员服务器要与其他成员服务器建立通信连接之前,通过向所述集群控制器查询所述集群拓扑结构信息来得到所述其他成员服务器的地址和端口,以与所述其他成员服务器建立通信通道。
2.根据权利要求1所述的方法,其特征在于,进一步包括所述集群控制器在修改所述集群拓扑结构信息之后,向所述集群中的所有成员服务器 发送集群成员变化的事件通知。
3.根据权利要求1或2所述的方法,其特征在于,进一步包括所述集群中的成员服务器在启动或停止时向所述集群控制器发送集群事件;以及所述集群控制器根据所述集群事件修改集群拓扑结构信息,并向所述集群中的所有成 员服务器发送所述集群成员变化的事件通知。
4.根据权利要求3所述的方法,其特征在于,进一步包括所述集群中的成员服务器在接收到所述事件通知后,更新其本地的集群拓扑结构信 息。
5.根据权利要求4所述的方法,其特征在于,所述集群中的成员服务器在所述集群控 制器故障时,根据所述本地的集群拓扑结构信息选择通信通道进行通信;以及所述集群中的成员服务器定时与故障的所述集群控制器进行联系,一旦所述集群控制 器从故障恢复时,就将所述成员服务器的信息注册到所述集群控制器。
6.根据权利要求5所述的方法,其特征在于,所述集群控制器在从故障恢复时,根据其 记录的所述集群拓扑结构信息主动连接所述集群中的各个成员服务器,并在连接成功后将 各个成员服务器的信息注册到所述集群控制器。
7.根据权利要求1所述的方法,其特征在于,所述集群控制器通过所述成员服务器的 集群管理地址和端口来监视所述成员服务器的状态变化。
8.一种动态维护集群中的成员服务器的系统,其特征在于,包括集群控制器,在一个公开的地址和端口上监听所述集群中的所有成员服务器的状态, 在发现所述集群中的任一成员服务器的状态发生改变时,修改集群拓扑结构信息;以及至少一个成员服务器,位于所述集群中,在任一成员服务器要与其他成员服务器建立 通信连接之前,通过向所述集群控制器查询所述集群拓扑结构信息来得到所述其他成员服 务器的地址和端口,以与所述其他成员服务器建立通信通道。
9.根据权利要求8所述的系统,其特征在于,所述集群控制器还用于在修改所述集群 拓扑结构信息之后,向所述集群中的所有成员服务器发送集群成员变化的事件通知。
10.根据权利要求8或9所述的系统,其特征在于,所述集群中的任一成员服务器在启动或停止时向所述集群控制器发送集群事件;所述集群控制器根据所述集群事件修改集群拓扑结构信息,并向所述集群中的所有成 员服务器发送所述集群成员变化的事件通知;以及所述集群中的成员服务器在接收到所述事件通知后,更新其本地的集群拓扑结构信息。
11.根据权利要求8或9所述的系统,其特征在于,所述集群中的成员服务器在所述集 群控制器故障时,根据所述本地的集群拓扑结构信息选择通信通道进行通信;所述集群中的成员服务器定时与故障的所述集群控制器进行联系,一旦所述集群控制 器从故障恢复时,就将所述成员服务器的信息注册到所述集群控制器;以及所述集群控制器在从故障恢复时,根据其记录的所述集群拓扑结构信息主动连接所述 集群中的各个成员服务器,并在连接成功后将各个成员服务器的信息注册到所述集群控制o
12.根据权利要求8或9所述的系统,其特征在于,所述集群控制器通过所述成员服务 器的集群管理地址和端口来监视所述成员服务器的状态变化。
全文摘要
本发明提供了一种动态维护集群中的成员服务器的方法,包括集群控制器在一个公开的地址和端口上监听集群中的所有成员服务器的状态;集群控制器在发现集群中的任一成员服务器的状态发生改变时,修改集群拓扑结构信息;以及集群中的成员服务器要与其他成员服务器建立通信连接之前,通过向集群控制器查询集群拓扑结构信息来得到其他成员服务器的地址和端口,以与其他成员服务器建立通信通道。根据本发明所提出的方法,通过引入集群控制器,通过传统的注册→发现→绑定的机制进行集群成员的管理和维护,其架构简单,实施维护方便,稳定性能够受到良好的监测和控制。本发明还提出了一种动态维护集群中的成员服务器的系统。
文档编号H04L12/26GK101873237SQ20101020799
公开日2010年10月27日 申请日期2010年6月13日 优先权日2010年6月13日
发明者何冠宇 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1