申请/专利权人:四川大学
申请日:2023-12-13
公开(公告)日:2024-03-15
公开(公告)号:CN117714337A
主分类号:H04L43/0811
分类号:H04L43/0811;H04L43/10;H04L12/18;H04L43/0852;H04L67/10
优先权:
专利状态码:在审-实质审查的生效
法律状态:2024.04.02#实质审查的生效;2024.03.15#公开
摘要:本发明属于分布式系统领技术领域,涉及一种带版本比较的集群领导者选举方法,该方法包括:定义节点的选举状态;定义各个选举状态之间的转换关系;定义节点的连通性状态;集群各节点启动,各节点连接;初始化选举状态;节点发起选举状态通报;检测节点选举状态;各节点同步发起选举并同步选举过程;检查选举轮次;选取实例最大的节点作为领导者,其余节点作为跟随者;新当选的领导者发送心跳并广播心跳报文,延续领导者的连通性状态。本发明能够有效避免数据丢失风险,通过选举状态检查与选举轮次检查,避免出现数据版本冲突的问题,保证数据版本相同;解决类Paxos方法集群中领导者选举中版本信息不同的问题,能够更好适应集群真实运行环境。
主权项:1.一种带版本比较的集群领导者选举方法,其特征在于,包括:定义节点的选举状态,包括:第一选举状态用于表征节点允许接收选票,开始选举新的领导者时,节点的选举状态初始化进入第一选举状态;第二选举状态用于表征节点追随者当前状态下禁止接收选票;第三选举状态用于表征节点领导者当前状态下禁止接收选票;定义各个选举状态之间的转换关系,包括:当处于第一选举状态的节点数据版本低于第一设定阈值,节点转换为第二选举状态;当处于第一选举状态的节点数据版本大于第二设定阈值,节点转换为第三选举状态;定义节点的连通性状态,包括:第一连通性状态,用于表征当前领导者在线,系统运行;第二连通性状态,用于表征本机节点检测到与当前领导者失联;集群各节点启动,各节点之间通过TCP连接;加载当前已经决策的实例,并初始化选举状态为第一选举状态,同时初始化当前领导者状态为第二连通性状态;节点发起选举状态通报;设置节点通过选举状态的条件,检测节点选举状态;选举状态检测通过后,通知各节点发起选举,各节点同步发起选举并同步选举过程;各节点收到来自除自身以外的节点的广播选票后,首先判断本机是否处于第一选举状态,然后检查收到的选票中的节点的选举状态是否也为第一选举状态,当各节点的选举状态均为第一选举状态则检查选举轮次,否则对节点的选举状态进行初始化;每个节点设置一个选举逻辑时钟,标记当前的选举轮次,选举时检查选举轮次,只有同一选举轮次下的选票作为有效选票;全局状态表记录当轮选举时所有收到的有效选票信息,等待收集到的有效选票数量满足当前集群中有效节点数量时,遍历该全局状态表,从中选取实例最大的节点作为领导者,其余节点作为跟随者,并同步修改本机的选举状态,本次选举结束,节点重置选举超时计时器,新当选的领导者的节点开启心跳发送计时器,并广播心跳报文,延续领导者的第一连通性状态。
全文数据:
权利要求:
百度查询: 四川大学 一种带版本比较的集群领导者选举方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。