一种集群选举方法及系统技术方案

技术编号:15518354 阅读:47 留言:0更新日期:2017-06-04 08:36
本发明专利技术涉及大数据运算领域,更具体地,涉及一种大数据运算的集群选举方法及系统。方法包括:从服务器无法获得主服务器的心跳时,从服务器的状态改为候选服务器,并向其余服务器发出请求选为主服务器的投票请求;当候选服务器收到超过预设阈值数量的服务器投票,则选举成为主服务器并更改状态为主服务器;当候选服务器在等待投票结果时其他服务器成为主服务器,则候选服务器更改状态为从服务器;当没有任一候选服务器选举为主服务器时,候选服务器重新发送投票请求直至有一候选服务器成为主服务器为止。本发明专利技术使用分布式选举协议来组成各种应用集群,使本来不具备高可用的系统具备了高可用能力。

【技术实现步骤摘要】
一种集群选举方法及系统
本专利技术涉及大数据运算领域,更具体地,涉及一种大数据运算的集群选举方法及系统。
技术介绍
现在的大数据运算各有各的集群处理模式,算法不统一。公司自研的系统甚至没有做集群,导致当系统崩溃后无法正常工作,影响大数据处理的正常执行。而且现存很多老系统都没有考虑高可用集群处理方案,或者只采用简单的vrrp协议进行高可用处理。当虚拟化系统中的控制节点或者网络节点因为各种原因停止服务时,系统就无法控制虚拟化系统的计算机网络功能,只能等待服务的恢复。而使用vrrp的方案,一般只有两台机器执行热备模式,容易发生脑裂导致ip冲突,无法正常服务。
技术实现思路
本专利技术为克服上述现有技术所述的至少一种缺陷(不足),提供一种使普通非高可用的系统实现高可用功能的集群选举方法。本专利技术还提供一种使普通非高可用的系统实现高可用功能的集群选举系统。为解决上述技术问题,本专利技术的技术方案如下:一种集群选举方法,包括:从服务器无法获得主服务器的心跳时,从服务器的状态改为候选服务器,并向其余服务器发出请求选为主服务器的投票请求;当候选服务器收到超过预设阈值数量的服务器投票,则选举成为主服务器并更改状态为主服务器;当候选服务器在等待投票结果时其他服务器成为主服务器,则候选服务器更改状态为从服务器;当没有任一候选服务器选举为主服务器时,候选服务器重新发送投票请求直至有一候选服务器成为主服务器为止。本专利技术在主服务器停止服务时,采用投票选举的方式来重新选出主服务器,其他服务器作为从服务器,该方法在不影响原有系统功能前提下,改变原有系统的部署方案,使用分布式选举协议来组成各种应用集群,使本来不具备高可用的系统具备了高可用能力,此方法对于简单的应用系统非常适用,不需要在设计阶段过多地考虑高可用方案,集中业务实现。上述方案中,当候选服务器选举成为主服务器并更改状态为主服务器后,该新主服务器还向其他服务器发送主服务器心跳,其他服务器收到心跳后更改状态为从服务器。新主服务器通过发出心跳方式来通知其他服务器,其他服务器可以及时将状态更改为从服务器,使新的主服务器能够及时接管服务,使系统恢复正常的工作状态。上述方案中,所述预设阈值数量为所有服务器的一半。上述方案中,候选服务器更改状态为从服务器后,主服务器和从服务器同步状态信息。状态信息的同步不但可以使系统能够恢复到正常状态,而且还能够使系统恢复到停止服务前的状态,保证信息的完整性。一种集群选举系统,包括服务器,服务器包括:状态更改模块,用于当服务器无法获得主服务器的心跳时,更改状态为候选服务器;投票请求模块,用于向其余服务器发出请求选为主服务器的投票请求;投票结果接收模块,用于接收服务器投票结果,当收到超过预设阈值数量的服务器投票时选举成为主服务器并通知状态更改模块更改状态为主服务器;状态更改模块还用于服务器选举成为主服务器时更改状态为主服务器;主服务器通知模块,用于获知其他服务器成为主服务器并通知状态更改模块;状态更改模块还用于当获知其他服务器成为主服务器后更改状态为从服务器。本专利技术的系统在主服务器停止服务时,利用各个模块基于投票选举的方式来重新选出主服务器,其他服务器作为从服务器,该系统在不影响原有系统功能前提下,改变原有系统的部署方案,使用投票请求模块中的分布式选举协议来组成各种应用集群,使本来不具备高可用的系统具备了高可用能力,此系统对于简单的应用系统非常适用,不需要在设计阶段过多地考虑高可用方案,集中业务实现。上述方案中,投票请求模块还用于当状态更改模块将状态改为候选服务器后的一定时间内未再次更改状态时,重新向其余服务器发出投票请求。设定重新投票请求机制,可以使得系统可以自发性地重新发出投票请求直至重新选出新的主服务器为止,保证系统在停止服务后能选出新服务器来重新启动系统的服务。上述方案中,服务器还包括:心跳发送模块,用于在状态更改模块更改状态为主服务器后,向其他服务器发送主服务器心跳;状态更改模块还用于在收到新主服务器发送的心跳后更改状态为从服务器。设置心跳发送模块用于向等待选举结果的服务器发出通知,使其他服务器能够结束投票请求的过程,重新修改状态为从服务器,以确保及时重新启动系统的服务。上述方案中,所述预设阈值数量为所有服务器的一半。上述方案中,服务器还包括:状态同步模块,用于在状态更改模块更改状态为从服务器或主服务器后,与其他服务器进行状态信息同步操作。状态同步模块的设置不但可以使系统能够恢复到正常状态,而且还能够使系统恢复到停止服务前的状态,保证信息的完整性。与现有技术相比,本专利技术技术方案的有益效果是:本专利技术使用分布式选举协议来组成大数据运算的集群的高可用方案,其在不影响原有系统功能的前提下,稍微改变了原有系统的部署方案,通过协议选举主服务器,其余服务器作为从服务器,当主服务器停止服务器时,从服务器冲洗选出主服务器,新的主服务器接管服务,使得普通非高可用的系统实现高可用功能,保证系统崩溃后能够通过自发性的选举来恢复系统的正常工作,保证了大数据处理的正常执行。对于简单的应用系统尤其适用,不需要在设计阶段过多考虑高可用方案,实用性强。附图说明图1为本专利技术一种集群选举方法具体实施例的流程图。图2为本专利技术一种集群选举系统具体实施例的架构图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。在本专利技术的描述中,在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以是通过中间媒介间接连接,可以说两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术的具体含义。下面结合附图和实施例对本专利技术的技术方案做进一步的说明。实施例1如图1所示,为本专利技术一种集群选举方法具体实施例的流程图。参见图1,本具体实施例一种集群选举方法的具体步骤包括:S1.从服务器无法获得主服务器的心跳时,所有从服务器的状态改为候选服务器,并向其余服务器发出请求选为主服务器的投票请求。通常系统启动或者主服务器掉线时都会导致从服务器无法获得主服务器的心跳,此时可以通过预设一定的时间阈值或者无法获得主服务器心跳的次数来给予从服务器等待主服务器心跳的时间,当超过一定的时间阈值或者超过一定次数无法获得主服务器心跳(如3次无法获得主服务器心跳)后从服务器仍无法获得主服务器的心跳时,从服务器即可启动状态更改步骤,将其自身状态修改为候选服务器,并各自向除自身之外的其他服务器发出投票请求。时间阈值的设定一方面可以保证等待心跳的时间,另一方面又可以保证从服务器能够及时地启动投票选举步骤来重新选出主服务器,以保证系统能够在崩溃后的一定时间内及时恢复正常工作。S2.当候选服务器收到超过预设阈值数量的服务器投票,则选举成为主服务器并更改状态为主服务器;预设的阈值数量可以预先设定,比如设定预设的阈值数量为所有服务器数量的一半,由于此时原主服务器处本文档来自技高网...
一种集群选举方法及系统

【技术保护点】
一种集群选举方法,其特征在于,包括:从服务器无法获得主服务器的心跳时,从服务器的状态改为候选服务器,并向其余服务器发出请求选为主服务器的投票请求;当候选服务器收到超过预设阈值数量的服务器投票,则选举成为主服务器并更改状态为主服务器;当候选服务器在等待投票结果时其他服务器成为主服务器,则候选服务器更改状态为从服务器;当没有任一候选服务器选举为主服务器时,候选服务器重新发送投票请求直至有一候选服务器成为主服务器为止。

【技术特征摘要】
1.一种集群选举方法,其特征在于,包括:从服务器无法获得主服务器的心跳时,从服务器的状态改为候选服务器,并向其余服务器发出请求选为主服务器的投票请求;当候选服务器收到超过预设阈值数量的服务器投票,则选举成为主服务器并更改状态为主服务器;当候选服务器在等待投票结果时其他服务器成为主服务器,则候选服务器更改状态为从服务器;当没有任一候选服务器选举为主服务器时,候选服务器重新发送投票请求直至有一候选服务器成为主服务器为止。2.根据权利要求1所述的集群选举方法,其特征在于,当候选服务器选举成为主服务器并更改状态为主服务器后,该新主服务器还向其他服务器发送主服务器心跳,其他服务器收到心跳后更改状态为从服务器。3.根据权利要求1所述的集群选举方法,其特征在于,所述预设阈值数量为所有服务器的一半。4.根据权利要求1所述的集群选举方法,其特征在于,候选服务器更改状态为从服务器后,主服务器和从服务器同步状态信息。5.一种集群选举系统,包括服务器,其特征在于,服务器包括:状态更改模块,用于当服务器无法获得主服务器的心跳时,更改状态为候选服务器;投票请求模块,用于向其余服务器发出请求选...

【专利技术属性】
技术研发人员:李文杰范日明林楷填毛亮黄仝宇李旭泉宋一兵汪刚侯玉清刘双广
申请(专利权)人:高新兴科技集团股份有限公司
类型:发明
国别省市:广东,44

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

1