首页 / 专利库 / 专利权 / 国际初步审查 / 国际初步审查要求 / 选定 / 一种主节点的选举方法、装置及设备

一种主节点的选举方法、装置及设备

阅读:308发布:2021-06-08

专利汇可以提供一种主节点的选举方法、装置及设备专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种主 节点 的选举方法,包括:接收分布式集群的各个候选主节点分别发送的选举 请求 ;并在接收到选举请求后均执行获取候选主节点的运行数据以及将候选主节点的运行数据与第一节点当前 选定 的待定主节点的运行数据进行比较的操作;以便从候选主节点和待定主节点中择优选定为更新后的待定主节点;第一节点默认选定的待定主节点为第一候选主节点;根据最终更新后的待定主节点确定分布式集群的主节点。本申请可有效避免比较次数的增加,解决了选举周期不固定的问题,有效提高了选举效率和系统的服务性能。本申请还公开了一种主节点的选举装置、设备及计算机可读存储介质,同样具有上述有益效果。,下面是一种主节点的选举方法、装置及设备专利的具体信息内容。

1.一种主节点的选举方法,应用于分布式集群中的第一节点,其特征在于,包括:
接收所述分布式集群的各个候选主节点分别发送的选举请求;并在接收到所述选举请求后均执行获取所述候选主节点的运行数据以及将所述候选主节点的运行数据与所述第一节点当前选定的待定主节点的运行数据进行比较的操作;以便从所述候选主节点和所述待定主节点中择优选定为更新后的待定主节点;所述第一节点默认选定的待定主节点为第一候选主节点;
根据最终更新后的待定主节点确定所述分布式集群的主节点。
2.根据权利要求1所述的选举方法,其特征在于,所述根据最终更新后的待定主节点确定所述分布式集群的主节点包括:
判断所述最终更新后的待定主节点是否为当前节点;
若是,则判定所述当前节点为所述主节点,并向其他所述节点发送主节点确认信息。
3.根据权利要求2所述的选举方法,其特征在于,在所述判定所述当前节点为所述主节点之后,还包括:
将预设数量个满足预设候选条件的其他节点的预设寄存器置为第一标志位,以便将所述预设寄存器被置为所述第一标志位的其他所述节点均作为参加下次主节点选举的所述候选主节点;
其中,所述预设寄存器的默认值为第二标志位。
4.根据权利要求3所述的选举方法,其特征在于,在所述将所述预设寄存器被置为所述第一标志位的其他所述节点作为参加下次主节点选举的所述候选主节点之后,还包括:
当所述主节点和所述候选主节点均不在线时,所述分布式集群中的其他所述节点分别将各自的所述预设寄存器置为所述第一标志位,以便参加下次主节点选举。
5.根据权利要求1至4任一项所述的选举方法,其特征在于,所述运行数据包括开机时间或者选举进程启动时间;
所述从所述候选主节点和所述待定主节点中择优选定为更新后的待定主节点包括:
从所述候选主节点和所述待定主节点中,将所述开机时间或者所述选举进程启动时间较早的节点选定为所述更新后的待定主节点。
6.一种主节点的选举装置,应用于分布式集群中的第一节点,其特征在于,包括:
接收模:用于接收所述分布式集群的各个候选主节点分别发送的选举请求;
比较模块:用于在接收到所述选举请求后,获取所述候选主节点的运行数据,并将所述候选主节点的运行数据与所述第一节点当前选定的待定主节点的运行数据进行比较,以便从所述候选主节点和所述待定主节点中择优选定为更新后的待定主节点;所述第一节点默认选定的待定主节点为所述第一节点;
确定模块:用于根据最终更新后的待定主节点确定所述分布式集群的主节点。
7.根据权利要求6所述的选举装置,其特征在于,所述确定模块具体用于:
判断所述最终更新后的待定主节点是否为当前节点;若是,则判定所述当前节点为所述主节点,并向其他所述节点发送主节点确认信息。
8.根据权利要求7所述的选举装置,其特征在于,还包括:
配置模块:用于在所述确定模块判定所述当前节点为所述主节点之后,将预设数量个满足预设候选条件的其他节点的预设寄存器置为第一标志位,以便将所述预设寄存器被置为所述第一标志位的其他所述节点均作为参加下次主节点选举的所述候选主节点;
其中,所述预设寄存器的默认值为第二标志位。
9.一种主节点的选举设备,其特征在于,包括:
存储器:用于存储计算机程序
处理器:用于执行所述计算机程序以实现如权利要求1至5任一项所述的主节点的选举方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如权利要求1至5任一项所述的主节点的选举方法的步骤。

说明书全文

一种主节点的选举方法、装置及设备

技术领域

[0001] 本申请涉及计算机技术领域,特别涉及一种主节点的选举方法、装置、设备及计算机可读存储介质。

背景技术

[0002] 分布式系统目前在计算、存储、网络服务等领域中得到了广泛应用。
[0003] 在分布式系统或称为分布式集群中,集群的节点作为一个整体而对外提供统一的服务,例如CTDB(Cluster Trival Database,集群键值数据库)服务。其中,主节点是分布式集群的节点中可以管理和配置其他节点的特殊节点。在CTDB服务中,主节点具体可以负责节点故障检测、虚拟IP分配和切换、以及集群服务功能的启停控制等工作。
[0004] 一般地,可以通过比较节点的运行状态,例如选举进程启动时间的早晚,来确定出主节点。现有技术中有许多选举算法,但一般都是将发起选举请求的节点和接收选举请求的节点进行比较,决出最优者作为待定主节点。由于每一个要竞选主节点的节点都会向其他节点发送选举请求,因此,经常会出现同一个节点先后选出了两个不同待定主节点的矛盾,进而不得不令这两个待定主节点进行二次比较,或者重新进行一次选举(同时随机更换各个节点间发送选举请求的次序)。因此,现有技术的选举效率并不高,尤其在一些大规模的分布式集群中,该问题更为明显,选举时长的过多耗费严重影响到了系统的服务性能和运行效率。
[0005] 可见,采用何种主节点的选举方法,以便有效地提高选举效率进而提高系统的服务性能,是本领域技术人员所亟待解决的技术问题。发明内容
[0006] 本申请的目的在于提供一种主节点的选举方法、装置、设备及计算机可读存储介质,以便有效地提高选举效率进而提高系统的服务性能。
[0007] 为解决上述技术问题,本申请提供一种主节点的选举方法,包括:
[0008] 接收所述分布式集群的各个候选主节点分别发送的选举请求;并在接收到所述选举请求后均执行获取所述候选主节点的运行数据以及将所述候选主节点的运行数据与所述第一节点当前选定的待定主节点的运行数据进行比较的操作;以便从所述候选主节点和所述待定主节点中择优选定为更新后的待定主节点;所述第一节点默认选定的待定主节点为第一候选主节点;
[0009] 根据最终更新后的待定主节点确定所述分布式集群的主节点。
[0010] 可选地,所述根据最终更新后的待定主节点确定所述分布式集群的主节点包括:
[0011] 判断所述最终更新后的待定主节点是否为当前节点;
[0012] 若是,则判定所述当前节点为所述主节点,并向其他所述节点发送主节点确认信息。
[0013] 可选地,在所述判定所述当前节点为所述主节点之后,还包括:
[0014] 将预设数量个满足预设候选条件的其他节点的预设寄存器置为第一标志位,以便将所述预设寄存器被置为所述第一标志位的其他所述节点均作为参加下次主节点选举的所述候选主节点;
[0015] 其中,所述预设寄存器的默认值为第二标志位。
[0016] 可选地,在所述将所述预设寄存器被置为所述第一标志位的其他所述节点作为参加下次主节点选举的所述候选主节点之后,还包括:
[0017] 当所述主节点和所述候选主节点均不在线时,所述分布式集群中的其他所述节点分别将各自的所述预设寄存器置为所述第一标志位,以便参加下次主节点选举。
[0018] 可选地,所述运行数据包括开机时间或者选举进程启动时间;
[0019] 所述从所述候选主节点和所述待定主节点中择优选定为更新后的待定主节点包括:
[0020] 从所述候选主节点和所述待定主节点中,将所述开机时间或者所述选举进程启动时间较早的节点选定为所述更新后的待定主节点。
[0021] 本申请还提供了一种主节点的选举装置,应用于分布式集群中的第一节点,包括:
[0022] 接收模:用于接收所述分布式集群的各个候选主节点分别发送的选举请求;
[0023] 比较模块:用于在接收到所述选举请求后,获取所述候选主节点的运行数据,并将所述候选主节点的运行数据与所述第一节点当前选定的待定主节点的运行数据进行比较,以便从所述候选主节点和所述待定主节点中择优选定为更新后的待定主节点;所述第一节点默认选定的待定主节点为所述第一节点;
[0024] 确定模块:用于根据最终更新后的待定主节点确定所述分布式集群的主节点。
[0025] 可选地,所述确定模块具体用于:
[0026] 判断所述最终更新后的待定主节点是否为当前节点;若是,则判定所述当前节点为所述主节点,并向其他所述节点发送主节点确认信息。
[0027] 可选地,还包括:
[0028] 配置模块:用于在所述确定模块判定所述当前节点为所述主节点之后,将预设数量个满足预设候选条件的其他节点的预设寄存器置为第一标志位,以便将所述预设寄存器被置为所述第一标志位的其他所述节点均作为参加下次主节点选举的所述候选主节点;
[0029] 其中,所述预设寄存器的默认值为第二标志位。
[0030] 本申请还提供了一种主节点的选举设备,包括:
[0031] 存储器:用于存储计算机程序
[0032] 处理器:用于执行所述计算机程序以实现如上所述的任一种主节点的选举方法的步骤。
[0033] 本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种主节点的选举方法的步骤。
[0034] 本申请所提供的主节点的选举方法包括:接收所述分布式集群的各个候选主节点分别发送的选举请求;并在接收到所述选举请求后均执行获取所述候选主节点的运行数据以及将所述候选主节点的运行数据与所述第一节点当前选定的待定主节点的运行数据进行比较的操作;以便从所述候选主节点和所述待定主节点中择优选定为更新后的待定主节点;所述第一节点默认选定的待定主节点为第一候选主节点;根据最终更新后的待定主节点确定所述分布式集群的主节点。
[0035] 可见,相比于现有技术,本申请所提供的主节点的选举方法中,由于每当第一节点接收到候选主节点发来的选举请求后,与发送选举请求的候选主节点参与比较竞选的都是第一节点在上一次比较后优选的待定主节点,而并不是第一节点本身。因此,对于节点数量固定的分布式集群来说,每次进行主节点选举时,本申请都可以保障在固定次数的比较之后准确确定出主节点的最优选择,而不会出现先后选择不同的节点作为主节点的情况,可有效避免比较次数的增加,解决了选举周期不固定的问题,有效提高了选举效率和系统的服务性能。本申请所提供的主节点的选举装置、设备及计算机可读存储介质可以实现上述主节点的选举方法,同样具有上述有益效果。附图说明
[0036] 为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
[0037] 图1为本申请所提供的一种主节点的选举方法的流程图
[0038] 图2为本申请所提供的一种主节点的选举装置的结构框图

具体实施方式

[0039] 本申请的核心在于提供一种主节点的选举方法、装置、设备及计算机可读存储介质,以便有效地提高选举效率进而提高系统的服务性能。
[0040] 为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0041] 请参考图1,图1为本申请所提供的一种主节点的选举方法的流程图,应用于分布式集群中的第一节点,主要包括以下步骤:
[0042] 步骤1:接收分布式集群的各个候选主节点分别发送的选举请求;并在接收到选举请求后均执行获取候选主节点的运行数据以及将候选主节点的运行数据与第一节点当前选定的待定主节点的运行数据进行比较的操作;以便从候选主节点和待定主节点中择优选定为更新后的待定主节点;第一节点默认选定的待定主节点为第一候选主节点。
[0043] 步骤2:根据最终更新后的待定主节点确定分布式集群的主节点。
[0044] 具体地,所说的候选主节点即为发送了选举请求以竞选主节点的节点。因候选主节点一般会有多个,因此需要一一进行比较以从中选择出最优节点作为主节点。所说的“择优选定”就是指在当前发送选举请求的节点和上一次比较后保留选择的节点中选择一个性能好的节点。其中,运行数据正是用于判断一个节点是否是主节点的最优选择的依据。例如,可具体将运行数据选择为节点的开机启动时间,或者节点的选举进程的启动时间,这是因为越早开机或者越早启动选举进程,节点记录下的信息就越丰富,对集群情况的了解程度就越深,因而更加适合作为管理集群节点的主节点。再例如,还可以将运行数据具体选择为节点的CPU占用率,并将CPU占用率最低的节点作为主节点的最优选择,以便选择处理性能最高的节点作为主节点,保障主节点的运行性能。本领域技术人员可根据实际选择主节点的依据而自行选择运行数据的具体内容,本申请对此并进行限定。
[0045] 为了对各个候选主节点进行比较选择,需要令各个候选主节点分别向除自身以外的其他节点发送选举请求,以便对发送选举请求的节点进行比较。当然,节点间发送选举请求的相互次序可以有多种选择:例如,通常可令所有的候选主节点先依次向同一个节点分别发送选举请求,然后再令所有的候选主节点再依次向另一个节点分别发送选举请求……;当然,还可以令一个候选主节点依次分别向所有的节点发送选举请求,然后再令另一个候选主节点依次分别向所有的节点发送选举请求……。本领域技术人员可以根据实际应用情况自行设计实现,本申请实施例对此并不进行限定。
[0046] 以第一节点为例(第一节点可以为集群节点中的任何一个节点),当其每次接收到候选主节点发来的选举请求时,都需要对当前发来选举请求的候选主节点的运行数据进行比较,并且在每次比较之后都需要确定一个第一节点当前“认定”的主节点。所说的当前“认定”的主节点,即第一节点当前选定的待定主节点,是第一节点在上一次收到选举请求后进行比较后得到的选择结果。
[0047] 容易理解的是,在选举进程刚开始即第一次进行比较时,可为第一节点设定一个默认的待定主节点,即所说的第一候选主节点(第一候选主节点可以为任何一个候选主节点)。更进一步地,当第一节点本身就是一个候选主节点时,可将该第一候选主节点设置为第一节点本身。而之后,每当再有其他候选主节点发来选举请求后,第一节点便将上一次选定的待定主节点的运行数据与当前发来选举请求的候选主节点的运行数据进行比较,从而每次都能更新出当前的历史最优主节点。
[0048] 当第一节点对来自各个候选主节点的选举请求都分别进行了上述处理之后,最终更新后的待定主节点即为该第一节点从各个候选主节点中所选出的最终的主节点。
[0049] 与第一节点类似地,集群中的第二节点、第三节点……在经过上述的比较过程之后,也分别得到了各自的最终更新后的待定主节点。容易理解的是,由于是同样的一群候选主节点参与选举,因此尽管比较过程不尽相同,但各个节点的最终更新后的待定主节点应当是相同的,而该待定主节点便可被确定为集群的主节点,以便由主节点对集群中的各个节点分配虚拟IP等。
[0050] 可见,本申请实施例所提供的主节点的选举方法中,由于每当第一节点接收到候选主节点发来的选举请求后,与发送选举请求的候选主节点参与比较竞选的都是第一节点在上一次比较后优选的待定主节点,而并不是第一节点本身。因此,对于节点数量固定的分布式集群来说,每次进行主节点选举时,本申请都可以保障在固定次数的比较之后准确确定出主节点的最优选择,而不会出现先后选择不同的节点作为主节点的情况,可有效避免比较次数的增加,解决了选举周期不固定的问题,有效提高了选举效率和系统的服务性能。
[0051] 本申请所提供的主节点的选举方法,在上述实施例的基础上:
[0052] 作为一种优选实施例,根据最终更新后的待定主节点确定分布式集群的主节点包括:
[0053] 判断最终更新后的待定主节点是否为当前节点;
[0054] 若是,则判定当前节点为主节点,并向其他节点发送主节点确认信息。
[0055] 具体地,当第一节点确定了最终更新后的待定主节点之后,便可判断该最终更新后的待定主节点是否为当前节点即第一节点本身,如果是,则作为主节点的第一节点即可向集群中的其他节点发送主节点确认信息,以便其他节点确认由第一节点作为集群的主节点。
[0056] 当然,进一步地,其他节点在接收到第一节点发送的主节点确认信息后,还可以对比查看是否与自身最终更新后的待定主节点为同一节点,若否,则还可以向第一节点发出异议
[0057] 作为一种优选实施例,在判定当前节点为主节点之后,还包括:
[0058] 将预设数量个满足预设候选条件的其他节点的预设寄存器置为第一标志位,以便将预设寄存器被置为第一标志位的其他节点均作为参加下次主节点选举的候选主节点;
[0059] 其中,预设寄存器的默认值为第二标志位。
[0060] 具体地,候选主节点可以只是集群节点中的某一部分节点。特别是针对于一些大规模的分布式集群,过多的节点参与主节点选举无疑会增加选举的工作量,延长选举周期。因此,当本次选举最终确定出了主节点后,可以选择预设数量个满足预设候选条件的其他节点作为下一次选举时参与竞选的候选主节点。并且,具体地,可以通过预设寄存器的标志位来标记候选主节点。
[0061] 作为一种优选实施例,在将预设寄存器被置为第一标志位的其他节点作为参加下次主节点选举的候选主节点之后,还包括:
[0062] 当主节点和候选主节点均不在线时,分布式集群中的其他节点分别将各自的预设寄存器置为第一标志位,以便参加下次主节点选举。
[0063] 具体地,集群中的各个节点可以相互间通过监听工作心跳来监测彼此是否在线。而当集群的主节点和下一次选举时的候选主节点都掉线时,其他节点可以自动更改自己的预设寄存器的标志位,以便赋予自己下一次选举时的候选主节点的身份。
[0064] 作为一种优选实施例,运行数据包括开机时间或者选举进程启动时间;
[0065] 从候选主节点和待定主节点中择优选定为更新后的待定主节点包括:
[0066] 从候选主节点和待定主节点中,将开机时间或者选举进程启动时间较早的节点选定为更新后的待定主节点。
[0067] 具体地,如前所述,在每次进行比较时,具体可将开机时间较早或者选举进程启动时间较早的节点优选为更新后的待定主节点,以便充分利用该节点对集群信息了解程度深的有利条件。
[0068] 下面对本申请实施例所提供的主节点的选举装置进行介绍。
[0069] 请参阅图2,图2为本申请所提供的一种主节点的选举装置的结构框图;应用于分布式集群中的第一节点,包括接收模块1、比较模块2和确定模块3;
[0070] 接收模块1用于接收分布式集群的各个候选主节点分别发送的选举请求;
[0071] 比较模块2用于在接收到选举请求后,获取候选主节点的运行数据,并将候选主节点的运行数据与第一节点当前选定的待定主节点的运行数据进行比较,以便从候选主节点和待定主节点中择优选定为更新后的待定主节点;第一节点默认选定的待定主节点为第一节点;
[0072] 确定模块3用于根据最终更新后的待定主节点确定分布式集群的主节点。
[0073] 可见,本申请所提供的主节点的选举装置,由于每当第一节点接收到候选主节点发来的选举请求后,与发送选举请求的候选主节点参与比较竞选的都是第一节点在上一次比较后优选的待定主节点,而并不是第一节点本身。因此,对于节点数量固定的分布式集群来说,每次进行主节点选举时,本申请都可以保障在固定次数的比较之后准确确定出主节点的最优选择,而不会出现先后选择不同的节点作为主节点的情况,可有效避免比较次数的增加,解决了选举周期不固定的问题,有效提高了选举效率和系统的服务性能。
[0074] 本申请所提供的主节点的选举装置,在上述实施例的基础上:
[0075] 作为一种优选实施例,确定模块具体用于:
[0076] 判断最终更新后的待定主节点是否为当前节点;若是,则判定当前节点为主节点,并向其他节点发送主节点确认信息。
[0077] 作为一种优选实施例,还包括:
[0078] 配置模块:用于在确定模块判定当前节点为主节点之后,将预设数量个满足预设候选条件的其他节点的预设寄存器置为第一标志位,以便将预设寄存器被置为第一标志位的其他节点均作为参加下次主节点选举的候选主节点;
[0079] 其中,预设寄存器的默认值为第二标志位。
[0080] 本申请还提供了一种主节点的选举设备,包括:
[0081] 存储器:用于存储计算机程序;
[0082] 处理器:用于执行所述计算机程序以实现如上所介绍的任一种主节点的选举方法的步骤。
[0083] 本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所介绍的任一种主节点的选举方法的步骤。
[0084] 本申请所提供的主节点的选举装置、设备及计算机可读存储介质的具体实施方式与上文所描述的主节点的选举方法可相互对应参照,这里就不再赘述。
[0085] 本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0086] 还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0087] 以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈