一种服务器集群系统的制作方法

文档序号:12625344阅读:625来源:国知局
一种服务器集群系统的制作方法与工艺

本发明涉及计算机技术领域,具体而言,涉及一种服务器集群系统。



背景技术:

目前,随着信息技术的不断发展,集群技术正在越来越多的领域中被广泛应用,常见的如服务集群、SAN(Storage Area Network,网络存储)等。服务集群是一组计算机系统,其作为一个整体向用户提供一组网路资源。这些单个的计算机系统就是服务集群的计算节点(Node)。在应用集群的技术中,服务集群通常会按照一定的策略设置主从节点,然后主从节点按各自承担的任务工作。在一个服务集群中,主节点监控从节点的工作状态。服务集群中主节点可能在运行过程中出现单点故障的问题。

相关技术中,为了解决服务集群中主节点可能出现的单点故障问题,通常会在服务器集群中设置多个可以作为主节点的计算机,这些计算机中均设置有使服务器集群系统中各节点与外部网络连接的服务地址。当更换主节点后,服务器集群系统的使用者还需要根据更换后的主节点预设的服务地址,修改从节点的服务地址,以使从节点可以连接到更改后的主节点上完成服务集群的功能。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

当更换主节点之后,服务集群的使用者还会根据更换后的主节点中设置的服务地址,修改从节点的服务地址,以使从节点可以连接到更改后的主节点上继续完成先前的功能,这对于已经上线的服务集群来说,需要修改的内容较多,增加了服务集群的维护难度,降低了服务集群的可用性。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种服务器集群系统,以提高服务器集群系统的可用性。

第一方面,本发明实施例提供了一种服务器集群系统,包括:相互间进行数据交互的各个计算节点,所述各个计算节点包括:一个主节点和多个从节点;

所述主节点,用于设置预设服务地址且运行预设的服务软件;当出现故障时,与所述多个从节点一起选举出新的主节点;且当选举产生新的主节点时,删除设置的所述预设服务地址;

所述多个从节点,用于监测所述主节点的工作状态,当所述主节点出现故障时,与所述主节点一起选举产生新的主节点。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中:所述各个计算节点,包括:相互间进行数据交互的选举子系统、配置子系统和守护子系统;

所述选举子系统,用于当主节点出现故障时,从所述配置子系统中获取选举地址,并根据获取到的选举地址进行选举操作,从所述多个计算节点选举产生新的主节点;

所述配置子系统,用于存储预先设置的所述选举地址、所述预设服务地址和运行所述服务软件的配置信息;

所述守护子系统,用于监测所述选举子系统,以将所述计算节点由所述主节点切换为所述从节点或者由所述从节点切换为所述主节点。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中:当所述计算节点作为所述主节点时,所述选举子系统包括:

服务地址处理模块,用于从所述配置子系统中获取并设置所述预设服务地址;

结果广播模块,用于将所述计算节点的标识作为选举结果向各个计算节点中除所述主节点外的其他计算节点进行广播,使得所述其他计算节点得到选举结果;

发送模块,用于向所述守护子系统发送主节点切换信息。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中:当所述计算节点作为所述主节点时,所述配置子系统包括:

服务地址处理模块,用于当所述选举子系统获取所述预设服务地址时,向所述选举子系统返回所述预设服务地址;

配置信息发送模块,用于向所述守护子系统发送预先设置的运行所述服务软件的配置信息。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中:当所述计算节点作为所述主节点时,所述守护子系统包括:

状态切换模块,用于根据所述选举子系统发送的主节点切换信息,将作为所述计算节点的状态由从节点切换为主节点;

服务软件运行模块,用于根据所述配置子系统发送的运行所述服务软件的配置信息,获取并运行所述服务软件;

配置信息同步模块,用于在运行所述服务软件后,将所述服务软件的配置信息同步到所述从节点中;

服务软件监测模块,用于对运行的所述服务软件进行监控,当所述服务软件出现故障时重新启动所述主节点。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中:当所述计算节点作为所述从节点时,所述选举子系统包括:

服务地址判断模块,用于当接收到所述主节点发送的选举结果时,判断所述从节点中是否设置有所述预设服务地址;

删除模块,用于如果服务地址判断模块得到的判断结果为是时,将所述从节点中设置的所述预设服务地址删除。

结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中:当所述计算节点作为所述从节点时,所述配置子系统包括:

副本获取模块,用于获取所述主节点同步的所述服务软件的配置信息;

副本存储模块,用于对获取到的所述服务软件的配置信息进行存储。

结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中:当所述计算节点作为所述从节点时,所述守护子系统包括:

软件运行判断模块,用于判断是否运行有所述服务软件;

关闭模块,用于如果所述软件运行判断模块得到的判断结果为是时,关闭运行的服务软件。

结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中:所述服务器集群系统,包括通用接口,所述服务器集群系统中的所述各个计算节点通过所述通用接口获取所述主节点同步的所述服务软件的配置信息。

结合第一方面,本发明实施例提供了第一方面的第九种可能的实施方式,其中:所述各个计算节点中的所述配置子系统一起组成分布式存储系统。

本发明实施例提供的一种服务器集群系统,在作为主节点的计算节点中设置预设服务地址,并在更换主节点后,使之前作为主节点的计算节点删除设置的预设服务地址,与现有技术中更换主节点后需要根据更换后的主节点预设的服务地址修改从节点的服务地址,才可以使从节点连接到更改后的主节点上的过程相比,可以保证服务地址不变,即使更换了主节点,从节点仍然可以通过预设服务地址连接到更换后的主节点上,在不修改服务器集群系统的情况下使主从节点继续执行完成服务集群的功能,避免了对从节点中的服务地址进行修改,对于已经上线的服务集群来说,降低了服务器集群系统的维护难度,提高了服务器集群系统的可用性,从而可以从服务器集群系统中任何一个计算节点拉起服务,避免单点故障问题,同时可以让拉起服务的计算节点设置预设服务地址,实现了服务器集群系统统一对外的服务地址。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例所提供的一种服务器集群系统中任一计算节点结构示意图;

图2示出了本发明实施例所提供的一种服务器集群系统中,在更换主节点之前服务器集群系统的结构示意图;

图3示出了本发明实施例所提供的一种服务器集群系统中,在更换主节点之后服务器集群系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,为了解决服务集群中主节点可能出现的单点故障问题,通常会在服务器集群中设置多个可以作为主节点的计算机,这些计算机中均设置有使服务器集群系统中各节点与外部网络连接的服务地址。当更换主节点后,服务器集群系统的使用者还需要根据更换后的主节点预设的服务地址,修改从节点的服务地址,以使从节点可以连接到更改后的主节点上完成服务集群的功能。这对于已经上线的服务集群来说,需要修改的内容较多,增加了服务集群的维护难度,降低了服务集群的可用性。基于此,本申请提供的一种服务器集群系统。

实施例

参见图1-3,示出了本实施例中提供的一种服务器集群系统,包括:相互间进行数据交互的各个计算节点,上述各个计算节点包括:一个主节点和多个从节点;

上述主节点,用于设置预设服务地址且运行预设的服务软件;且当出现故障时,与多个从节点一起选举出新的主节点;并当选举产生新的主节点时,删除设置的预设服务地址;

上述多个从节点,用于监测主节点的工作状态,当主节点出现故障时,与主节点一起选举产生新的主节点。

上述预设服务地址,就是一个预先设定的固定的IP地址,会预先存储在各个计算节点中,只有作为主节点的计算节点可以读取并设置预设服务地址,从节点不能对服务器集群系统的预设服务地址进行设置。

上述服务软件,用于实现服务器集群系统所提供的功能。

服务器集群系统中的主从节点可以通过主节点设置的预设服务地址与外部网络进行数据交互,以使得服务软件执行所需要完成的功能。

上述多个从节点中,当有从节点发现当前不能连接到主节点时,就会确定主节点发生故障,就会向服务器集群系统中的其他计算节点发送主节点故障信息,并发起选举新的主节点的进程,以使得服务器集群系统中的所有计算节点进行新的主节点的选举。

在服务器集群系统中的所有计算节点选举新的主节点的过程中,可以采用现有的如paxos选举算法选举出服务器集群系统的主节点。当然,还可以采用现有的其他选举算法选举出服务器集群系统的主节点,这里不再一一赘述。

上述服务器集群系统除了采用图2-3中示出的单网结构之外,还可以采用现有的多网结构。

综上所述,本实施例提供的服务器集群系统,在作为主节点的计算节点中设置预设服务地址,并在更换主节点后,使之前作为主节点的计算节点删除设置的预设服务地址,与现有技术中更换主节点后需要根据更换后的主节点预设的服务地址修改从节点的服务地址,才可以使从节点连接到更改后的主节点上的过程相比,可以保证服务地址不变,即使更换了主节点,从节点仍然可以通过预设服务地址连接到更换后的主节点上,在不修改服务器集群系统的情况下使主从节点继续执行完成服务集群的功能,避免了对从节点中的服务地址进行修改,对于已经上线的服务集群来说,降低了服务器集群系统的维护难度,提高了服务器集群系统的可用性,从而可以从服务器集群系统中任何一个计算节点拉起服务,避免单点故障问题,同时可以让拉起服务的计算节点设置预设服务地址,实现了服务器集群系统统一对外的服务地址。

为了实现服务器集群系统的功能,上述各个计算节点,包括:相互间进行数据交互的选举子系统、配置子系统和守护子系统;

选举子系统,用于当主节点出现故障时,从配置子系统中获取选举地址,并根据获取到的选举地址进行选举操作,从多个计算节点选举产生新的主节点;

配置子系统,用于存储预先设置的选举地址、预设服务地址和运行服务软件的配置信息;

守护子系统,用于监测选举子系统,以将计算节点由主节点切换为从节点或者由从节点切换为主节点。

通过以上的描述可以看出,上面描述的选举子系统、配置子系统和守护子系统的功能为通用功能,下面以计算节点作为主节点或者从节点为例,对各个计算节点中选举子系统、配置子系统和守护子系统的功能做进一步的描述。

当计算节点作为主节点时,上述选举子系统包括:

服务地址处理模块,用于从配置子系统中获取并设置预设服务地址;

结果广播模块,用于将计算节点的标识作为选举结果向各个计算节点中除主节点外的其他计算节点进行广播,使得其他计算节点得到选举结果;

发送模块,用于向守护子系统发送主节点切换信息。

上述计算节点的标识是预先设置在各个计算节点中的,当服务器集群系统中的任一计算节点在通过选举之后确定自己是主节点时,就会获取自己的计算节点的标识,然后将获取到的计算节点的标识向其他计算节点进行广播,以结束主节点的选举流程。

当计算节点作为主节点时,上述配置子系统包括:

服务地址处理模块,用于当选举子系统获取预设服务地址时,向选举子系统返回预设服务地址;

配置信息发送模块,用于向守护子系统发送预先设置的运行服务软件的配置信息。

上述运行服务软件的配置信息,用于主节点在运行服务软件之前,先在主节点内形成服务软件的运行环境,使得主节点的软硬件都符合服务软件的运行条件;然后才可以在形成的运行环境运行服务软件。

当计算节点作为主节点时,上述守护子系统包括:

状态切换模块,用于根据选举子系统发送的主节点切换信息,将计算节点的状态由从节点切换为主节点;

服务软件运行模块,用于根据配置子系统发送的运行服务软件的配置信息,获取并运行服务软件;

配置信息同步模块,用于在运行服务软件后,将服务软件的配置信息同步到从节点中;

服务软件监测模块,用于对运行的服务软件进行监控,当服务软件出现故障时重新启动主节点。

上述配置信息同步模块,可以将服务软件的配置信息同步到从节点中,使得主节点和从节点间存储的服务软件的配置信息互为副本,从而保证了服务软件运行的可靠性。

进一步地,当计算节点作为从节点时,上述选举子系统包括:

服务地址判断模块,用于当接收到主节点发送的选举结果时,判断从节点中是否设置有预设服务地址;

删除模块,用于如果服务地址判断模块得到的判断结果为是时,将从节点中设置的预设服务地址删除。

如果任一从节点的服务地址判断模块得到的判断结果为是,说明该从节点之前是主节点,而在选举之后成为从节点,那么该从节点就应该从本节点中将预设服务地址删除。

当计算节点作为从节点时,上述配置子系统包括:

副本获取模块,用于获取主节点同步的服务软件的配置信息;

副本存储模块,用于对获取到的服务软件的配置信息进行存储。

通过以上的描述可以看出,从节点的配置子系统可以对主节点同步的服务软件的配置信息进行存储,使得主节点和从节点中存储的服务软件的配置信息均是一致的且互为副本,那么在重新选举主节点后需要配置服务软件的运行环境时,只需选举出的新的主节点根据预存在配置子系统中的服务软件的配置信息,直接配置服务软件的运行环境,就可以使服务软件在选举出的新的主节点内运行,无需维护人员对新的主节点进行现场调试或者使新的主节点从之前的主节点中获取服务软件的配置信息,就可以使服务软件顺利运行,进一步降低了服务器集群系统的维护难度,提高了服务器集群系统的可用性。

当计算节点作为从节点时,上述守护子系统包括:

软件运行判断模块,用于判断是否运行有服务软件;

关闭模块,用于如果软件运行判断模块得到的判断结果为是时,关闭运行的服务软件。

如果任一从节点的软件运行判断模块得到的判断结果为是,说明该从节点之前是主节点,而在选举之后成为从节点,那么该从节点就应该从本节点中将运行的服务软件关闭。

为了提高同步数据的效率,上述服务器集群系统,还包括通用接口,从节点通过通用接口获取主节点同步的服务软件的配置信息。

通过以上的描述可以看出,通过设置的通用接口,从节点获取主节点同步的服务软件的配置信息,无需在同步数据时才建立链接,提高了数据的同步效率。

可选地,各个计算节点中的配置子系统一起组成分布式存储系统。配置子系统内部存储除了选举地址外,同时可以为服务软件提供配置管理功能。当服务软件需要必要的配置才能工作时,可以通过配置子系统中获取相应的配置。

综上所述,若服务器集群系统无需配置或者所需配置数据具备高可用能力,则无需任何开发就可以实现服务器集群系统自身软件的高可用问题;如果服务器集群系统需要配置数据,仅仅修改访问配置数据的方法就可以利用本方案实现系统高可用。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1