一种分布式集群的CTDB主节点选举方法、装置及系统制造方法及图纸

技术编号:20430782 阅读:19 留言:0更新日期:2019-02-23 10:42
本发明专利技术公开了一种分布式集群的CTDB主节点选举方法、装置、系统及计算机可读存储介质,包括在当前主节点宕机后,目标正常节点向其他的各个正常节点发送第一选举消息,接收其他发起选举的各个正常节点发送的第二选举消息;目标正常节点根据其他的各个正常节点返回的选举响应消息判断其他的各个正常节点是否均同意将目标正常节点作为主节点;若是,则向其他的各个正常节点发送选举结束消息,以便其他的各个正常节点接收到选举结束消息后将目标正常节点设为主节点;若否,则依据预设规则及各个第二选举消息确定出满足选举条件的正常节点为主节点,并向满足选举条件的正常节点返回同意的选举响应消息,缩短选举时间,提高选举效率和故障切换效率。

A Method, Device and System for Selecting the Main Node of CTDB in Distributed Cluster

The invention discloses a method, device, system and computer readable storage medium for the election of CTDB master node in distributed cluster, which includes sending the first election message to other normal nodes after the current master node is down, receiving the second election message sent by other normal nodes that initiate the election, and the target normal node according to other normal nodes. The election response message returned by the node determines whether the other normal nodes agree to take the target normal node as the primary node; if so, the election end message is sent to the other normal nodes so that the target normal node can be set as the primary node after the other normal nodes receive the election end message; if not, according to the preset rules and the second election message. The normal nodes satisfying the election conditions are determined as the main nodes, and the consent election response message is returned to the normal nodes satisfying the election conditions, which shortens the election time and improves the election efficiency and fault handover efficiency.

【技术实现步骤摘要】
一种分布式集群的CTDB主节点选举方法、装置及系统
本专利技术实施例涉及分布式存储系统
,特别是涉及一种分布式集群的CTDB主节点选举方法、装置、系统及计算机可读存储介质。
技术介绍
分布式存储是由多个存储节点服务器构成的集群,其支持一份数据存储在多个节点上,每个节点通过节点间的通信都可以获取到完整的数据,当节点出现宕机时,可以根据配置的策略进行完整数据的恢复。CTDB在分布式存储中起到高可用的作用,其中,CTDB(clusteredtrivialdatabase,轻量级集群数据库)作为一种集群高可用管理软件,用于监控集群节点状态,多个启动CTDB的节点构成一套CTDB集群,集群中所有节点会选举出一个主节点,用于故障恢复。CTDB现有的选举机制是各节点在进入选举状态后,通过协商(包括进程启动时间点和物理节点号大小)来决定谁是主节点,并且在协商完成后需要等待3秒超时,然后才能够确定选举流程结束,此3秒耗时在故障切换要求时间苛刻条件下是难以容忍的,会导致整个选举过程耗时较长,降低故障切换效率。鉴于此,如何提供一种解决上述技术问题的分布式集群的CTDB主节点选举方法、装置、系统及计算机可读存储介质成为本领域技术人员需要解决的问题。
技术实现思路
本专利技术实施例的目的是提供一种分布式集群的CTDB主节点选举方法、装置、系统及计算机可读存储介质,在使用过程中能够大大缩短选举时间,提高选举效率和故障切换效率。为解决上述技术问题,本专利技术实施例提供了一种分布式集群的CTDB主节点选举方法,包括:在当前主节点宕机后,目标正常节点向其他的各个正常节点发送第一选举消息,并接收其他发起选举的各个正常节点发送的第二选举消息;其中,所述目标节点为所有正常节点中的任意一个节点;所述目标正常节点接收并根据其他的各个所述正常节点返回的选举响应消息,判断其他的各个所述正常节点是否均同意将所述目标正常节点作为主节点;若是,则向其他的各个所述正常节点发送选举结束消息,以便其他的各个所述正常节点接收到所述选举结束消息后,将所述目标正常节点设为主节点;若否,则依据预设规则及各个所述第二选举消息确定出满足选举条件的正常节点为主节点,并向所述满足选举条件的正常节点返回同意的选举响应消息。可选的,还包括:依据预设规则及各个所述第二选举消息确定出不满足选举条件的正常节点,并向所述不满足选举条件的正常节点返回不同意的选举响应消息。可选的,所述第一选举消息包括与所述目标正常节点对应的CTDB启动时间和物理节点编号;所述第二选举消息包括与相应的正常节点对应的CTDB启动时间和物理节点编号。可选的,所述依据预设规则及各个所述第二选举消息确定出满足选举条件的正常节点为主节点的过程为:将各个发送所述第二选举消息的正常节点的CTDB启动时间进行比较,判断各个发送所述第二选举消息的正常节点的CTDB启动时间是否相同,若是,则从各个发送所述第二选举消息的正常节点中选出物理节点编号最小的正常节点作为主节点;若否,则将CTDB启动时间最早的正常节点为主节点。可选的,在所述目标正常节点向其他的各个正常节点发送第一选举消息后,还包括:当所述目标正常节点在预设时长内未接受到任意一个其他的所述正常节点返回的选举响应消息时,执行所述向其他的各个所述正常节点发送选举结束消息的步骤。可选的,还包括:检查所述目标正常节点是否将自身设为主节点,若否,则将所述目标正常节点的主节点修改为自身。本专利技术实施例相应的提供了一种分布式集群的CTDB主节点选举装置,应用于目标正常节点,所述目标正常节点为所有正常节点中的任意一个节点;包括:第一发送单元,用于在当前主节点宕机后,向其他的各个正常节点发送第一选举消息;接收单元,用于接收其他发起选举的各个正常节点发送的第二选举消息;判断单元,用于根据其他的各个所述正常节点返回的选举响应消息,判断其他的各个所述正常节点是否均同意将所述目标正常节点作为主节点;若是,则触发第二发送单元;若否,则触发筛选单元;所述第二发送单元,用于向其他的各个所述正常节点发送选举结束消息,以便其他的各个所述正常节点接收到所述选举结束消息后,将所述目标正常节点设为主节点;所述第一筛选单元,用于依据预设规则及各个所述第二选举消息确定出满足选举条件的正常节点为主节点,并向所述满足选举条件的正常节点返回同意的选举响应消息。可选的,还包括:第二筛选单元,用于依据预设规则及各个所述第二选举消息确定出不满足选举条件的正常节点,并向所述不满足选举条件的正常节点返回不同意的选举响应消息。本专利技术实施例还提供了一种分布式集群的CTDB主节点选举系统,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述所述分布式集群的CTDB主节点选举方法的步骤。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述分布式集群的CTDB主节点选举方法的步骤。本专利技术实施例提供了一种分布式集群的CTDB主节点选举方法、装置、系统及计算机可读存储介质,包括:在当前主节点宕机后,目标正常节点向其他的各个正常节点发送第一选举消息,并接收其他发起选举的各个正常节点发送的第二选举消息;其中,目标节点为所有正常节点中的任意一个节点;目标正常节点接收并根据其他的各个正常节点返回的选举响应消息,判断其他的各个正常节点是否均同意将目标正常节点作为主节点;若是,则向其他的各个正常节点发送选举结束消息,以便其他的各个正常节点接收到选举结束消息后,将目标正常节点设为主节点;若否,则依据预设规则及各个第二选举消息确定出满足选举条件的正常节点为主节点,并向满足选举条件的正常节点返回同意的选举响应消息。可见,在当前主节点宕机后,目标正常节点会向其他的正常节点发送第一选举消息,并且还接收到其他的正常节点发送的第二选举消息,其他的正常节点会向目标正常节点返回选举响应消息,当目标正常节点接收到的各个选举响应消息均为同意时,则向其他的各个正常节点发送选举结束消息,即可通知其他的各个正常节点结束选举,其他的各个正常节点会将该目标正常节点设为主节点,当目标正常节点所接收到的各个选举响应消息中存在不同意的响应消息时,则目标正常节点将从接收到的其他发起选举的正常节点发送的选举消息中确定出满足选举条件的正常节点作为主节点,并向该正常节点返回同意的选举响应消息,从而确定出主节点。本申请通过添加选举响应消息和选举结束消息,避免目标正常节点等待3秒超时后在结束选举流程,从而大大缩短选举时间,提高选举效率和故障切换效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种分布式集群的CTDB主节点选举方法的流程示意图;图2为本专利技术实施例提供的一种分布式集群的CTDB主节点选举方法的具体流程图;图3为本专利技术实施例提供的一种分布式集群的CTDB主节点选举装置的结构示意图。具体实施方式本专利技术实施例提供了一种分布式集群的CTDB主节点选举方法、装置、系统及计算机可本文档来自技高网...

【技术保护点】
1.一种分布式集群的CTDB主节点选举方法,其特征在于,包括:在当前主节点宕机后,目标正常节点向其他的各个正常节点发送第一选举消息,并接收其他发起选举的各个正常节点发送的第二选举消息;其中,所述目标节点为所有正常节点中的任意一个节点;所述目标正常节点接收并根据其他的各个所述正常节点返回的选举响应消息,判断其他的各个所述正常节点是否均同意将所述目标正常节点作为主节点;若是,则向其他的各个所述正常节点发送选举结束消息,以便其他的各个所述正常节点接收到所述选举结束消息后,将所述目标正常节点设为主节点;若否,则依据预设规则及各个所述第二选举消息确定出满足选举条件的正常节点为主节点,并向所述满足选举条件的正常节点返回同意的选举响应消息。

【技术特征摘要】
1.一种分布式集群的CTDB主节点选举方法,其特征在于,包括:在当前主节点宕机后,目标正常节点向其他的各个正常节点发送第一选举消息,并接收其他发起选举的各个正常节点发送的第二选举消息;其中,所述目标节点为所有正常节点中的任意一个节点;所述目标正常节点接收并根据其他的各个所述正常节点返回的选举响应消息,判断其他的各个所述正常节点是否均同意将所述目标正常节点作为主节点;若是,则向其他的各个所述正常节点发送选举结束消息,以便其他的各个所述正常节点接收到所述选举结束消息后,将所述目标正常节点设为主节点;若否,则依据预设规则及各个所述第二选举消息确定出满足选举条件的正常节点为主节点,并向所述满足选举条件的正常节点返回同意的选举响应消息。2.根据权利要求1所述的分布式集群的CTDB主节点选举方法,其特征在于,还包括:依据预设规则及各个所述第二选举消息确定出不满足选举条件的正常节点,并向所述不满足选举条件的正常节点返回不同意的选举响应消息。3.根据权利要求2所述的分布式集群的CTDB主节点选举方法,其特征在于,所述第一选举消息包括与所述目标正常节点对应的CTDB启动时间和物理节点编号;所述第二选举消息包括与相应的正常节点对应的CTDB启动时间和物理节点编号。4.根据权利要求3所述的分布式集群的CTDB主节点选举方法,其特征在于,所述依据预设规则及各个所述第二选举消息确定出满足选举条件的正常节点为主节点的过程为:将各个发送所述第二选举消息的正常节点的CTDB启动时间进行比较,判断各个发送所述第二选举消息的正常节点的CTDB启动时间是否相同,若是,则从各个发送所述第二选举消息的正常节点中选出物理节点编号最小的正常节点作为主节点;若否,则将CTDB启动时间最早的正常节点为主节点。5.根据权利要求2所述的分布式集群的CTDB主节点选举方法,其特征在于,在所述目标正常节点向其他的各个正常节点发送第一选举消息后,还包括:当所述目标正常...

【专利技术属性】
技术研发人员:孙业宽
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1