[发明专利]一种基于数据库的分布式一致性实现方法在审

专利信息
申请号: 202111638988.0 申请日: 2021-12-29
公开(公告)号: CN114490684A 公开(公告)日: 2022-05-13
发明(设计)人: 李维 申请(专利权)人: 北京思特奇信息技术股份有限公司
主分类号: G06F16/23 分类号: G06F16/23;G06F16/27
代理公司: 北京汇信合知识产权代理有限公司 11335 代理人: 孙民兴
地址: 100086 北京*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 数据库 分布式 一致性 实现 方法
【说明书】:

发明公开了一种基于数据库的分布式一致性实现方法,包括:每个实例在启动时,从注册中心请求获取自己的信息;其中,注册中心为数据库;若注册中心不存在该实例的信息,则进行实例注册;该实例注册完成后,先等待一个周期,然后再从注册中心获取leader的信息;若注册中心不存在leader,则进行leader选举;完成选举后,若该实例是leader,则更新心跳新时间,并结束。本发明利用数据库事务、主键自增且唯一的特性实现分布式系统中集群leader选举、异常自动切换,进而达成实例间的一致性。

技术领域

本发明涉及分布式系统技术领域,具体涉及一种基于数据库的分布式一致性实现方法。

背景技术

现状大部分业务系统一般采用集群方式部署,当执行一些分布式任务时,比如刷新配置数据、后台定时任务等,只能由集群中一个实例去完成,此时需要解决分布式一致性的问题。

虽然已经有一些比较成熟的开源分布式应用程序可以开箱即用,但是引入第三方程序都需要额外的主机资源开销以及维护工作。

发明内容

针对现有技术中存在的上述问题,考虑到大部分业务系统只与数据库才是强耦合的关系;为此,本发明提供一种基于数据库的分布式一致性实现方法,其利用数据库事务、主键自增且唯一的特性实现分布式系统中集群leader选举、异常自动切换,进而达成实例间的一致性。

本发明公开了一种基于数据库的分布式一致性实现方法,包括:

每个实例在启动时,从注册中心请求获取自己的信息;其中,所述注册中心为数据库;

若注册中心不存在该实例的信息,则进行实例注册;

该实例注册完成后,先等待一个周期,然后再从注册中心获取leader的信息;

若注册中心不存在leader,则进行leader选举;

完成选举后,若该实例是leader,则更新心跳新时间,并结束。

作为本发明的进一步改进,还包括:

若注册中心存在该实例的信息,则判断该实例是否为leader;

若该实例不是leader,则先等待一个周期,然后再从注册中心获取leader的信息。

作为本发明的进一步改进,还包括:

若该实例是leader,则更新心跳新时间,等待一个周期,并结束。

作为本发明的进一步改进,还包括:

若注册中心存在leader,则判断leader是否过期;

若leader过期,则删除leader,并进行leader选举。

作为本发明的进一步改进,还包括:

若leader未过期,则更新心跳新时间,并结束。

作为本发明的进一步改进,所述注册中心的注册表的各字段包括:

id:主键,自增;实例注册时,该字段由数据库自动分配;

node_name:唯一标识集群中一个实例;

node_status:实例状态,该状态为leader或follower;

heart_timestamp:实例的心跳时间;各个实例会定期更新该字段,可以用该字段判断实例状态是否正常;该字段是一个时间戳,以注册中心Mysql的当前时间戳为准。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111638988.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top