[发明专利]一种集群选举方法及系统在审
申请号: | 201611116204.7 | 申请日: | 2016-12-07 |
公开(公告)号: | CN106789197A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 李文杰;范日明;林楷填;毛亮;黄仝宇;李旭泉;宋一兵;汪刚;侯玉清;刘双广 | 申请(专利权)人: | 高新兴科技集团股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24 |
代理公司: | 广州粤高专利商标代理有限公司44102 | 代理人: | 邱奕才,郑永泉 |
地址: | 510630 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 集群 选举 方法 系统 | ||
技术领域
本发明涉及大数据运算领域,更具体地,涉及一种大数据运算的集群选举方法及系统。
背景技术
现在的大数据运算各有各的集群处理模式,算法不统一。公司自研的系统甚至没有做集群,导致当系统崩溃后无法正常工作,影响大数据处理的正常执行。而且现存很多老系统都没有考虑高可用集群处理方案,或者只采用简单的vrrp协议进行高可用处理。当虚拟化系统中的控制节点或者网络节点因为各种原因停止服务时,系统就无法控制虚拟化系统的计算机网络功能,只能等待服务的恢复。而使用vrrp的方案,一般只有两台机器执行热备模式,容易发生脑裂导致ip冲突,无法正常服务。
发明内容
本发明为克服上述现有技术所述的至少一种缺陷(不足),提供一种使普通非高可用的系统实现高可用功能的集群选举方法。
本发明还提供一种使普通非高可用的系统实现高可用功能的集群选举系统。
为解决上述技术问题,本发明的技术方案如下:
一种集群选举方法,包括:
从服务器无法获得主服务器的心跳时,从服务器的状态改为候选服务器,并向其余服务器发出请求选为主服务器的投票请求;
当候选服务器收到超过预设阈值数量的服务器投票,则选举成为主服务器并更改状态为主服务器;
当候选服务器在等待投票结果时其他服务器成为主服务器,则候选服务器更改状态为从服务器;
当没有任一候选服务器选举为主服务器时,候选服务器重新发送投票请求直至有一候选服务器成为主服务器为止。
本发明在主服务器停止服务时,采用投票选举的方式来重新选出主服务器,其他服务器作为从服务器,该方法在不影响原有系统功能前提下,改变原有系统的部署方案,使用分布式选举协议来组成各种应用集群,使本来不具备高可用的系统具备了高可用能力,此方法对于简单的应用系统非常适用,不需要在设计阶段过多地考虑高可用方案,集中业务实现。
上述方案中,当候选服务器选举成为主服务器并更改状态为主服务器后,该新主服务器还向其他服务器发送主服务器心跳,其他服务器收到心跳后更改状态为从服务器。新主服务器通过发出心跳方式来通知其他服务器,其他服务器可以及时将状态更改为从服务器,使新的主服务器能够及时接管服务,使系统恢复正常的工作状态。
上述方案中,所述预设阈值数量为所有服务器的一半。
上述方案中,候选服务器更改状态为从服务器后,主服务器和从服务器同步状态信息。状态信息的同步不但可以使系统能够恢复到正常状态,而且还能够使系统恢复到停止服务前的状态,保证信息的完整性。
一种集群选举系统,包括服务器,服务器包括:
状态更改模块,用于当服务器无法获得主服务器的心跳时,更改状态为候选服务器;
投票请求模块,用于向其余服务器发出请求选为主服务器的投票请求;
投票结果接收模块,用于接收服务器投票结果,当收到超过预设阈值数量的服务器投票时选举成为主服务器并通知状态更改模块更改状态为主服务器;
状态更改模块还用于服务器选举成为主服务器时更改状态为主服务器;
主服务器通知模块,用于获知其他服务器成为主服务器并通知状态更改模块;
状态更改模块还用于当获知其他服务器成为主服务器后更改状态为从服务器。
本发明的系统在主服务器停止服务时,利用各个模块基于投票选举的方式来重新选出主服务器,其他服务器作为从服务器,该系统在不影响原有系统功能前提下,改变原有系统的部署方案,使用投票请求模块中的分布式选举协议来组成各种应用集群,使本来不具备高可用的系统具备了高可用能力,此系统对于简单的应用系统非常适用,不需要在设计阶段过多地考虑高可用方案,集中业务实现。
上述方案中,投票请求模块还用于当状态更改模块将状态改为候选服务器后的一定时间内未再次更改状态时,重新向其余服务器发出投票请求。设定重新投票请求机制,可以使得系统可以自发性地重新发出投票请求直至重新选出新的主服务器为止,保证系统在停止服务后能选出新服务器来重新启动系统的服务。
上述方案中,服务器还包括:
心跳发送模块,用于在状态更改模块更改状态为主服务器后,向其他服务器发送主服务器心跳;
状态更改模块还用于在收到新主服务器发送的心跳后更改状态为从服务器。
设置心跳发送模块用于向等待选举结果的服务器发出通知,使其他服务器能够结束投票请求的过程,重新修改状态为从服务器,以确保及时重新启动系统的服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高新兴科技集团股份有限公司,未经高新兴科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611116204.7/2.html,转载请声明来源钻瓜专利网。