一种分布式锁的实现方法及分布式系统技术方案

技术编号:40933778 阅读:37 留言:0更新日期:2024-04-18 14:53
本申请提供一种分布式锁的实现方法及分布式系统,所述实现方法包括:客户端执行业务资源访问操作时,根据业务资源访问操作的业务信息,获得对象关键字和生成的线程ID;根据对象关键字、生成的线程ID和网关反馈的空闲服务器节点,判断对象关键字的承载服务器节点是否加锁。本申请通过在分布式系统中设置网关,完成对服务器节点和客户端的监控,极大提升了加锁的效率。并且可以及时解决已加锁的承载服务器节点产生的故障问题,以及客户端失效,无效占用服务器节点资源的问题;同时,通过设置一致性备份节点和非一致性备份节点,保障了客户端执行业务资源访问操作时的一致性。

【技术实现步骤摘要】

本申请涉及计算机,尤其是涉及一种分布式锁的实现方法及分布式系统


技术介绍

1、当前大型网站及应用都是分布式部署的,在大规模集群中,分布式锁作为一个核心技术,用于支撑整个集群的大规模资源的互斥使用,由于现在集群规模越来越大,业务越来越多,因此对分布式锁的性能要求也越来越高。

2、现有分布式锁的实现方式有:基于zookeeper的实现方式、基于redis的实现方式。其中,基于zookeeper实现分布式锁的方式,虽然其数据一致性较高,但是该实现方式需要基于磁盘文件的加速策略,导致加解锁速度非常慢;而基于redis实现分布式锁的方式,虽然其性能较好,且不需要应用第三方插件,但是redis方案采用异步复制,一致性无法保证,且存在锁丢失的情况,同时,对于超大规模的分布式锁环境,无法满足需求。


技术实现思路

1、针对现有技术中的问题,本申请提供一种分布式锁的实现方法及分布式系统,能够有效解决分布式系统中加解锁的低效率问题,以及数据一致性无法保障的问题。为解决上述技术问题,本申请提供以下技术方案:

...

【技术保护点】

1.一种分布式锁的实现方法,其特征在于,应用于分布式系统,所述分布式系统包括网关、客户端和供所述客户端执行业务资源访问操作的至少一个服务器节点,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述客户端执行业务资源访问操作之前,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述客户端根据所述对象关键字、所述生成的线程ID和所述网关反馈的空闲服务器节点,判断所述对象关键字的承载服务器节点是否加锁,具体步骤包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述客户端中有已缓存的线程ID,则将所述生成的线程ID与所...

【技术特征摘要】

1.一种分布式锁的实现方法,其特征在于,应用于分布式系统,所述分布式系统包括网关、客户端和供所述客户端执行业务资源访问操作的至少一个服务器节点,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述客户端执行业务资源访问操作之前,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述客户端根据所述对象关键字、所述生成的线程id和所述网关反馈的空闲服务器节点,判断所述对象关键字的承载服务器节点是否加锁,具体步骤包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述客户端中有已缓存的线程id,则将所述生成的线程id与所述已缓存的线程id进行比较,

5.根据权利要求3所述的方法,所述客户端的身份id是所述客户端注册到网关时,所述网关通过监测所述客户端的物理信息和服务名生成并返回客户端...

【专利技术属性】
技术研发人员:刘刚国
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:

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

1