一种分布式集群管理方法及分布式集群与流程

文档序号:16096867发布日期:2018-11-27 23:41阅读:367来源:国知局

本发明涉及分布式集群技术领域,特别是涉及一种分布式集群管理方法以及一种分布式集群。



背景技术:

在NAS网络附加存储集群中常用的管理方案,主要是通过在所有集群节点上运行一个管理软件,然后该管理软件通过在不同的节点之间消息的交互进行管理。该集群在运行过程中,传统的运行策略是在集群启动或是节点发生故障时,所有的节点共同的选举出来一个主节点,然后该主节点引导集群的恢复过程,包括资源的分配等。

在有节点发生故障时,主节点会控制除自身以外的全部节点冻结,之后主节点依次从各个节点的数据库内获取数据,之后再对除故障节点以外的节点进行功能恢复以及业务漂移(即将故障节点的业务漂移至其他节点运行),从而恢复集群的正常运行,集群启动时也是同理,由于主节点在出现节点故障和集群启动时需要获取各个节点的数据库数据,因此导致集群启动或恢复正常的过程比较缓慢。

因此,如何提供一种集群恢复速度快的分布式集群管理方法及分布式集群是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种分布式集群管理方法及分布式集群,通过在主节点内实时保存全部节点的业务记录,使得在需要集群恢复时直接依据主节点自身存储的数据即可,提高了集群数据恢复的速度。

为解决上述技术问题,本发明提供了一种分布式集群管理方法,应用于所述集群的主节点,所述方法包括:

接收所述集群内各个节点发送的业务记录并进行存储;

在所述集群满足恢复条件时,依据自身存储的业务记录进行集群的数据恢复;所述恢复条件包括所述集群启动或所述集群内有节点发生故障。

优选地,在所述集群内有节点发生故障时,所述依据自身存储的业务记录进行集群的数据恢复的过程具体为:

冻结除自身以外的全部节点后,对未故障节点进行恢复操作;

依据自身存储的、所述故障节点的业务记录,将所述故障节点的业务漂移至未故障节点上运行。

优选地,所述集群内除主节点以外的其余节点按照预设分组规则划分为多个分组,每个所述分组内选举一个基层主节点来对组内节点进行管理。

优选地,在所述集群内有节点发生故障时,所述依据自身存储的业务记录进行集群的数据恢复的过程具体为:

冻结所述故障节点所在分组内的全部节点;

依据自身存储的、所述故障节点的业务记录,将所述故障节点的业务漂移至所述故障节点以外的其余分组内运行。

优选地,还包括:

按照预设冗余规则选择若干个基层主节点;

将自身保存的业务记录备份至所选择的若干个基层主节点内。

优选地,在所述集群内有节点发生故障时,所述依据自身存储的业务记录进行集群的数据恢复的过程具体为:

冻结所述故障节点所在分组内的全部节点;

选择进行业务漂移的对象分组;

若所述对象分组的基层主节点内备份有所述业务记录,则通知所述对象分组的基层主节点,供所述对象分组的基层主节点依据自身存储的、所述故障节点的业务记录,将所述故障节点的业务漂移至自身所在分组的节点内运行;

若所述对象分组的基层主节点内未备份有所述业务记录,则依据自身存储的、所述故障节点的业务记录,将所述故障节点的业务漂移至所述对象分组的节点内运行。

优选地,所述主节点为所述集群内启动时间最早的节点。

为解决上述技术问题,本发明还提供了一种分布式集群,包括多个节点,其中一个作为主节点;

所述主节点,用于接收所述集群内各个节点发送的业务记录并进行存储;在所述集群满足恢复条件时,依据自身存储的业务记录进行集群的数据恢复;所述恢复条件包括所述集群启动或所述集群内有节点发生故障;

除主节点以外的其余节点,用于执行集群业务,并将业务记录发送至所述主节点。

优选地,所述集群内除主节点以外的其余节点按照预设分组规则划分为多个分组,每个所述分组内选举一个基层主节点;所述基层主节点用于对组内节点进行管理。

优选地,所述主节点内的业务记录备份至按照预设冗余规则选择的若干个基层主节点内。

本发明提供了一种分布式集群管理方法及分布式集群,每个节点进行业务动作后,会将业务记录发送至主节点进行存储,使得主节点内存储有整个集群的全部最新的业务记录,当集群启动或者有节点发生故障需要进行数据恢复时,由于主节点已经存储全部的业务记录,故此时主节点不再需要去各个节点的数据库中一一获取数据,而是直接依据自身保存的数据即可进行集群的整体恢复,简化了集群数据恢复的过程,从而大大提高了集群数据恢复的速度。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种分布式集群管理方法的过程的流程图;

图2为本发明提供的一种分布式集群的结构示意图。

具体实施方式

本发明的核心是提供一种分布式集群管理方法及分布式集群,通过在主节点内实时保存全部节点的业务记录,使得在需要集群恢复时直接依据主节点自身存储的数据即可,提高了集群数据恢复的速度。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种分布式集群管理方法,应用于集群的主节点,参见图1所示,图1为本发明提供的一种分布式集群管理方法的过程的流程图;该方法包括:

步骤s1:接收集群内各个节点发送的业务记录并进行存储;

集群内节点在执行任务过程中,会生成记录业务执行情况的业务记录,在业务中断后,依据这些业务记录能够进行业务恢复。现有技术中,这些业务记录保存的位置是定向在执行该业务的节点的数据库内,而本发明将各个节点的业务记录保存的位置均重定向至主节点的数据库内,这样使得每个节点生成业务记录后,会自发的将这些业务记录发送至主节点内保存。

步骤s2:在集群满足恢复条件时,依据自身存储的业务记录进行集群的数据恢复;恢复条件包括集群启动或集群内有节点发生故障。

在集群启动时,需要对集群节点进行初始化、资源分配、参数设置等数据恢复操作,使集群内各个节点恢复至能够实现相应的功能。在有节点发生故障时,由于分布式集群中各个节点之间可能会相互影响,共同完成某项业务,因此,一旦有节点发生故障时,会影响其他节点也无法正常工作,因此,为了实现将故障节点的业务漂移至其他正常节点运行的目的,需要首先对其他正常节点进行数据恢复,使其他节点能够正常工作。

在具体实施例中,在集群内有节点发生故障时,依据自身存储的业务记录进行集群的数据恢复的过程具体为:

冻结除自身以外的全部节点后,对未故障节点进行恢复操作;

依据自身存储的、故障节点的业务记录,将故障节点的业务漂移至未故障节点上运行。

可以理解的是,由于有节点发生故障时,其他节点一般也会受到影响,因此,为了避免在故障状态下错误执行业务,影响正常节点的运行,通常需要将整个集群内除主节点外的其余节点全部冻结,使业务暂停,之后,主节点依据存储的各个节点的业务记录,将未故障的节点的数据进行恢复,使未故障节点能够正常工作,并且在这些未故障节点上构建出承载故障节点的业务的工作环境,最后主节点依据故障节点的业务记录,将故障节点的业务漂移至未故障节点上运行,使业务能够正常运行。

在一种优选实施例中,集群内除主节点以外的其余节点按照预设分组规则划分为多个分组,每个分组内选举一个基层主节点来对组内节点进行管理。

可以理解的是,主节点除了具有数据恢复的功能,有时还需要对全部节点进行管理,而本实施例通过对节点进行分组,并未每组节点选举一个基层主节点,使得节点管理可分别由各个基层主节点分担,减小了集群整体的主节点的负载压力。

其中,分组时,可以设定每组节点的个数,并按照节点IP的顺序依次分组,最后不足该个数的节点组成一组,例如每组3个;或者,也可根据节点功能进行分组;每组节点的个数可以相同也可以不同,本发明不限定具体的分组策略。

进一步的,在集群内有节点发生故障时,依据自身存储的业务记录进行集群的数据恢复的过程具体为:

冻结故障节点所在分组内的全部节点;

依据自身存储的、故障节点的业务记录,将故障节点的业务漂移至故障节点以外的其余分组内运行。

可以理解的是,在节点进行分组时,可通过分组策略的设置,使得每个分组尽可能具有较为全面的功能,这样在集群执行业务时,可以以每个分组为单位进行执行,不同分组之间尽可能存在隔离,这样使得在有节点出现故障时,可以仅冻结故障节点所在分组,或者仅冻结与故障节点所在分组业务相关的部分分组,而不需要冻结集群内的全部节点,这种情况下,由于部分分组并未冻结,主节点可以直接依据自身存储的、故障节点的业务记录,将故障节点的业务漂移至未冻结的分组内,从而避免节点全部冻结导致的业务中断的情况出现,提高了业务执行的可靠性。

在另一优选实施例中,基于上述分组,该方法还包括:

按照预设冗余规则选择若干个基层主节点;

将自身保存的业务记录备份至所选择的若干个基层主节点内。

可以理解的是,为了提高业务的可靠性,避免主节点故障时,节点无法恢复的情况出现,可以选择部分基层主节点作为冗余,将主节点保存的业务记录存储至所选择的基层主节点内作为备份,提高集群的可靠性。

其中,在优选实施例中,可选择全部基层主节点作为备份节点来保存业务记录的备份,当然,基层主节点的选择个数本发明不作限定。

进一步可知,基于上述实施例,在集群内有节点发生故障时,依据自身存储的业务记录进行集群的数据恢复的过程具体为:

冻结故障节点所在分组内的全部节点;

选择进行业务漂移的对象分组;

若对象分组的基层主节点内备份有业务记录,则通知对象分组的基层主节点,供对象分组的基层主节点依据自身存储的、故障节点的业务记录,将故障节点的业务漂移至自身所在分组的节点内运行;

若对象分组的基层主节点内未备份有业务记录,则依据自身存储的、故障节点的业务记录,将故障节点的业务漂移至对象分组的节点内运行。

可以理解的是,在主节点进行数据恢复和业务漂移时,若直接依据主节点的业务记录进行数据恢复的话,需要将主节点保存的相关数据发送至相应分组的基层主节点内,然后再由基层主节点发送至相应的节点,这样使得数据恢复的时间较长;而本实施例中,由于部分或者全部基层主节点内备份有全部的业务记录,因此,若此时主节点选择这些基层主节点所在分组进行数据恢复或业务漂移,则不需要主节点将数据传输过来,而是直接利用基层主节点内保持的业务记录即可,提高了数据恢复和业务漂移的速度,效率更高。

其中,本发明中主节点可直接设定得到,也可以通过选举得到,在一种具体实施例中,主节点的选举规则可以为:

每个节点启动后会给所有其他的节点发送自身启动时间;

每个节点接收到其他节点发送的启动时间后,将其与自己的启动时间进行比较,启动时间早的获胜,如果自己获胜,则继续将自身启动时间发送给其他节点,如果自己失败,则将对方设置为自己的主节点;之后再接收到其他节点发送的启动时间后,则将接收到的启动时间与自己设置的主节点的启动时间进行比较,并将获胜方设置为自己的主节点;

依次类推,直至全部节点设置的主节点收敛为同一个后为止。这种方式下主节点为集群内启动时间最早的节点。

当然,在其他实施例中,节点之间也可不比较启动时间,可以对其他参量进行比较,来确定获胜方;或者也可不采用上述比较收敛的方式确定主节点,本发明对如何选举主节点不作限定。

另外,基层主节点的选举方式可以由人为设定,也可以采用上述比较收敛的方式,每个分组内的各个节点分别发送自身参量至其他节点进行比较,收敛完成后的优胜者作为基层主节点,或者也可以采用其他选举方式,本发明对此不作限定。

本发明提供了一种分布式集群管理方法,每个节点进行业务动作后,会将业务记录发送至主节点进行存储,使得主节点内存储有整个集群的全部最新的业务记录,当集群启动或者有节点发生故障需要进行数据恢复时,由于主节点已经存储全部的业务记录,故此时主节点不再需要去各个节点的数据库中一一获取数据,而是直接依据自身保存的数据即可进行集群的整体恢复,简化了集群数据恢复的过程,从而大大提高了集群数据恢复的速度。

本发明还提供了一种分布式集群,参见图2所示,图2为本发明提供的一种分布式集群的结构示意图。该集群包括多个节点3,其中一个作为主节点1;

主节点1,用于接收集群内各个节点3发送的业务记录并进行存储;在集群满足恢复条件时,依据自身存储的业务记录进行集群的数据恢复;恢复条件包括集群启动或集群内有节点3发生故障;

除主节点1以外的其余节点3,用于执行集群业务,并将业务记录发送至主节点1。

优选地,集群内除主节点1以外的其余节点3按照预设分组规则划分为多个分组,每个分组内选举一个基层主节点2;基层主节点2用于对组内节点3进行管理。

优选地,主节点1内的业务记录备份至按照预设冗余规则选择的若干个基层主节点2内。

本发明提供了一种分布式集群,每个节点进行业务动作后,会将业务记录发送至主节点进行存储,使得主节点内存储有整个集群的全部最新的业务记录,当集群启动或者有节点发生故障需要进行数据恢复时,由于主节点已经存储全部的业务记录,故此时主节点不再需要去各个节点的数据库中一一获取数据,而是直接依据自身保存的数据即可进行集群的整体恢复,简化了集群数据恢复的过程,从而大大提高了集群数据恢复的速度。

以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本技术领域的普通技术人员来说,相关专业技术人员在不脱离本发明精神和构思前提下推演出的其他改进和变化,均应包含在本发明的保护范围之内。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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