[发明专利]一种高并发业务下的分布式锁实现方法在审
申请号: | 202011418044.8 | 申请日: | 2020-12-07 |
公开(公告)号: | CN112486695A | 公开(公告)日: | 2021-03-12 |
发明(设计)人: | 张啸轩 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙晶伟 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并发 业务 分布式 实现 方法 | ||
本发明公开一种高并发业务下的分布式锁实现方法,涉及分布式数据通信技术领域;在跨进程的集群系统中,通过zookeeper的临时有序节点与线程进行交互,判断当前线程创建的临时有序节点是否为最小临时有序节点,若是则当前线程获得分布式锁,否则zookeeper监听邻近当前线程的临时有序节点的上一个临时有序节点并阻塞当前线程,直至存在临时有序节点为最小临时有序节点,最小临时有序节点对应的线程获得分布式锁,下一个线程直至当前获得分布式锁的线程释放分布式锁后才能获得所述的分布式锁。
技术领域
本发明公开一种实现方法,涉及分布式数据通信技术领域,具体地说是一种高并发业务下的分布式锁实现方法。
背景技术
随着业务的不断拓展和复杂性的不断提高,早期的DOS系统秉承的单程序单线程的设计理念逐渐不能满足业务场景的需要,因此催生了在硬件不断发展的时代下,并发执行任务的设计模式。影响并发量的因素会更多的集中于市场的推广和用户体量的增大,传统的架构和现实的生产环境会产生脱轨。
而在高并发的支撑上,数据治理和数据资产的管理也对整个系统提出了要求,关键业务数据的同步非常重要。在单独的进程中,对多线程进行Synchronized锁同步,增强业务的原子性,但是也对整体操作系统的性能造成了极大的影响,OS内核对对象Monitor进行上锁的模式,在线程数据逐渐增多的场景下,容易导致单机系统极大的负担。
发明内容
本发明针对现有技术的问题,提供一种高并发业务下的分布式锁实现方法,具有通用性强、实施简便等特点,具有广阔的应用前景。
本发明提出的具体方案是:
一种高并发业务下的分布式锁实现方法,在跨进程的集群系统中,通过zookeeper的临时有序节点与线程进行交互,
判断当前线程创建的临时有序节点是否为最小临时有序节点,若是则当前线程获得分布式锁,
否则zookeeper监听邻近当前线程的临时有序节点的上一个临时有序节点并阻塞当前线程,直至存在临时有序节点为最小临时有序节点,最小临时有序节点对应的线程获得分布式锁,
下一个线程直至当前获得分布式锁的线程释放分布式锁后才能获得所述的分布式锁。
优选地,所述的一种高并发业务下的分布式锁实现方法中当需获得分布式锁,当前线程在zookeeper创建临时有序节点,并获取所有临时有序节点的信息,判断当前线程创建的临时有序节点是否为最小临时有序节点。
优选地,所述的一种高并发业务下的分布式锁实现方法中依据临时有序节点的信息,获取临时有序节点的时间差进行最小临时有序节点的判断。
优选地,所述的一种高并发业务下的分布式锁实现方法中在跨进程的集群系统中,通过docker中配置zookeeper:
启动docker服务器,
查询docker镜像仓库中zookeeper的镜像,
拉取zookeeper官方镜像,
查询docker本地镜像,
启动zookeeper官方镜像,完成配置。
一种高并发业务下的分布式锁实现系统,包括交互模块、判断模块及释放模块,
交互模块在跨进程的集群系统中,通过zookeeper的临时有序节点与线程进行交互,
判断模块判断当前线程创建的临时有序节点是否为最小临时有序节点,若是则当前线程获得分布式锁,
否则zookeeper监听邻近当前线程的临时有序节点的上一个临时有序节点并阻塞当前线程,直至存在临时有序节点为最小临时有序节点,最小临时有序节点对应的线程获得分布式锁,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011418044.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型绿色注浆高性能柱及其施工形式
- 下一篇:一种内外六角两用螺丝刀