[发明专利]一种分布式系统的选主方法、装置和分布式系统在审
申请号: | 201910875233.9 | 申请日: | 2019-09-17 |
公开(公告)号: | CN110674215A | 公开(公告)日: | 2020-01-10 |
发明(设计)人: | 毕庆国;李涛 | 申请(专利权)人: | 郑州阿帕斯科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;H04L29/08;G06F9/4401;G06F9/445 |
代理公司: | 11315 北京国昊天诚知识产权代理有限公司 | 代理人: | 许振新 |
地址: | 450000 河南省郑州市河南自贸试验区郑州*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式系统 休眠状态 目标节点 数据一致性 配置文件 启动时 主节点 选举 申请 | ||
本申请公开了一种分布式系统的选主方法、装置和分布式系统,该方法包括:在分布式系统启动时,基于预先得到的配置文件,确定分布式系统中包括的多个节点;若多个节点中不包括主节点,则多个节点发起选主请求,节点在发起选主请求时,获得自身的票数并拒绝其他节点的选主请求;在选主结束后,若多个节点中不存在目标节点,则多个节点进入休眠状态,目标节点获得的票数大于多个节点的数量的一半;当存在结束休眠状态的节点时,结束休眠状态的节点再次发起选主请求,处于休眠状态的节点将自身的票数投给结束休眠状态的一个节点;在选主结束后,若存在目标节点,则选举目标节点为主节点。实现逻辑较为简单,可以方便地实现分布式系统的数据一致性。
技术领域
本申请涉及计算机技术领域,尤其涉及一种分布式系统的选主方法、装置和分布式系统。
背景技术
分布式系统中可以包括多个服务节点,分布式系统在对外提供服务的过程中,多个服务节点中的数据需要保持一致,以保证分布式系统的数据一致性,避免同一任务在多个服务节点执行多次。
为了保证分布式系统的数据一致性,通常可以采用一致性协议进行选主,并基于选主得到的主节点对其他节点进行控制,进而实现分布式系统的数据一致性。然而,在实际应用中,在基于一致性协议进行选主时的具体实现通常较为复杂,导致难以实现分布式系统的数据一致性。
发明内容
本申请实施例提供一种分布式系统的选主方法、装置和分布式系统,用于解决现有技术中在基于一致性协议进行选主时的具体实现较为复杂,从而难以实现分布式系统的数据一致性的问题。
为了解决上述技术问题,本申请是这样实现的:
本申请实施例提供一种分布式系统的选主方法,包括:
在分布式系统启动时,基于预先得到的配置文件,确定所述分布式系统中包括的多个节点,所述配置文件中包括所述多个节点的标识信息;
若所述多个节点中不包括主节点,则所述多个节点发起选主请求,其中,一个节点在发起选主请求时,获得自身的票数并拒绝其他节点的选主请求;
在选主结束后,若所述多个节点中不存在目标节点,则所述多个节点进入休眠状态,其中,所述目标节点获得的票数大于所述多个节点的数量的一半;
当存在结束休眠状态的节点时,所述结束休眠状态的节点再次发起选主请求,其中,处于休眠状态的节点将自身的票数投给结束休眠状态的一个节点;
在选主结束后,若所述多个节点中存在所述目标节点,则选举所述目标节点为主节点。
本申请实施例提供一种分布式系统,所述分布式系统包括多个节点,所述多个节点在所述分布式系统启动时,基于预先得到的配置文件确定得到,所述配置文件中包括所述多个节点的标识信息,其中:
若所述多个节点中不包括主节点,则所述多个节点发起选主请求,其中,一个节点在发起选主请求时,获得自身的票数并拒绝其他节点的选主请求;
在选主结束后,若所述多个节点中不存在目标节点,则所述多个节点进入休眠状态,其中,所述目标节点获得的票数大于所述多个节点的数量的一半;
当存在结束休眠状态的节点时,所述结束休眠状态的节点再次发起选主请求,其中,处于休眠状态的节点将自身的票数投给结束休眠状态的一个节点;
在选主结束后,若所述多个节点中存在所述目标节点,则选举所述目标节点为主节点。
本申请实施例提供一种分布式系统的选主方法,包括:
在确定所述多个节点中不包括主节点时,发起选主请求,其中,在发起选主请求时,获得自身的票数并拒绝其他节点的选主请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州阿帕斯科技有限公司,未经郑州阿帕斯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910875233.9/2.html,转载请声明来源钻瓜专利网。