CN106354565B - 一种分布式锁客户端及控制方法 - Google Patents
一种分布式锁客户端及控制方法 Download PDFInfo
- Publication number
- CN106354565B CN106354565B CN201610836235.3A CN201610836235A CN106354565B CN 106354565 B CN106354565 B CN 106354565B CN 201610836235 A CN201610836235 A CN 201610836235A CN 106354565 B CN106354565 B CN 106354565B
- Authority
- CN
- China
- Prior art keywords
- lock
- locking key
- drop
- distributed
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的分布式锁客户端包括:生成模块,生成第一竞争资源对应的分布式锁的第一锁键,第一锁键用于唯一标识第一竞争资源对应的分布式锁;映射模块,生成映射数据表,映射数据表包括多个锁键、多个锁键对应的锁值;获取模块,从映射数据表中获取第一锁键对应的第一锁值、从Redis缓存集群中获取第一锁键对应的第二锁值,判断第一锁值与第二锁值是否相等;当第一锁值与第二锁值相等时,设置模块设置第二锁值的失效时间,将设置了失效时间的第二锁值存入映射数据表,将其返回给业务服务器。本发明还提供一种控制方法。本发明提供分布式锁客户端及控制方法,极大提高了分布式锁的处理性能,增强了互联网业务的服务端分布式架构的吞吐能力。
Description
技术领域
本发明涉及通信领域,更具体地说,涉及一种分布式锁客户端及控制方法。
背景技术
随着移动通信以及移动互联网的快速发展,大量的用户使用移动互联网进行互联网业务的访问处理,这样,对移动互联网业务的服务端就产生了海量的并发处理的负载压力。为了满足高并发的性能要求,互联网业务的服务端的架构采用的是分布式集群,同时,服务端具有横向扩展的能力。而在分布式的服务端架构中,如何保证在多台服务器之间的资源竞争的加锁处理成为了首要面临的问题。当前大部分的解决方案是基于传统关系型数据库实现的,传统关系型数据库的数据是通过磁盘IO的访问存储,该实现有着性能瓶颈,不利于海量并发访问,同时,传统关系型数据库不易于横向扩展,使得不能随着用户量而线性递增。
发明内容
本发明提供了一种分布式锁客户端,能有效处理海量的并发访问,提高分布式锁的处理性能,增强互联网业务的服务端分布式架构的吞吐能力。所述分布式锁客户端应用于业务服务器,所述业务服务器通过所述分布式锁客户端请求获取分布式锁,所述分布式锁客户端包括:
生成模块,用于生成第一竞争资源对应的分布式锁的第一锁键,其中,所述第一锁键用于唯一标识所述第一竞争资源对应的所述分布式锁;
映射模块,用于生成映射数据表,其中,所述映射数据表包括多个锁键、所述多个锁键对应的锁值;
获取模块,用于从所述映射数据表中获取所述第一锁键对应的第一锁值、从Redis缓存集群中获取所述第一锁键对应的第二锁值,判断所述第一锁值与所述第二锁值是否相等;
设置模块,用于当所述第一锁值与所述第二锁值相等时,设置所述第二锁值的失效时间,将设置了失效时间的所述第二锁值存入所述映射数据表,将设置了失效时间的所述第二锁值返回给所述业务服务器,即获取分布式锁成功。
进一步地,若获取的所述第一锁键的锁值为空或者所述第一锁链在Redis缓存集群中不存在,所述获取模块,还用于生成所述第一锁键的锁值,计算公式为:所述第一锁键的锁值=当前请求分布式锁的业务服务器IP+当前时间戳+5位随机字符+1位随机数字。
进一步地,所述获取模块,还用于将所述第一锁键存入所述Redis缓存集群,将生成的所述第一锁键的锁值存入所述Redis缓存集群,将生成的所述第一锁键的锁值存入所述映射数据表中,并将所述数据映射数据表中存入的第一锁键的锁值返回给所述业务服务器,即获取分布式锁成功。
进一步地,所述业务服务器通过所述分布式锁客户端请求释放分布式锁,所述生成模块,还用于生成第二竞争资源对应的分布式锁的第二锁键,其中,所述第二锁键用于唯一标识所述第二竞争资源对应的所述分布式锁;
所述获取模块,还用于从所述映射数据表中获取所述第二锁键对应的锁值,若获取的所述第二锁键对应的锁值为空,删除所述Redis缓存集群中所述第二锁键的数据,即释放分布式锁成功。
进一步地,所述获取模块,还用于从所述映射数据表中获取所述第二锁键对应的第三锁值、从所述Redis缓存集群中获取所述第二锁链对应的第四锁值,判断所述第三锁值、第四锁值是否相等,若相等,则删除所述Redis缓存集群中的所述第二锁键的数据,即释放分布式锁成功。
本发明还提供一种控制方法,所述控制方法应用于分布式锁客户端,所述分布式锁客户端应用于业务服务器,所述业务服务器通过所述分布式锁客户端请求获取分布式锁,所述控制方法包括:
所述分布式锁客户端生成第一竞争资源对应的分布式锁的第一锁键,其中,所述第一锁键用于唯一标识所述第一竞争资源对应的所述分布式锁;
所述分布式锁客户端生成映射数据表,其中,所述映射数据表包括多个锁键、所述多个锁键对应的锁值;
所述分布式锁客户端从所述映射数据表中获取所述第一锁键对应的第一锁值、从Redis缓存集群中获取所述第一锁键对应的第二锁值,判断所述第一锁值与所述第二锁值是否相等;
当所述第一锁值与所述第二锁值相等时,所述分布式锁客户端设置所述第二锁值的失效时间,将设置了失效时间的所述第二锁值存入所述映射数据表,将设置了失效时间的所述第二锁值返回给所述业务服务器,即获取分布式锁成功。
进一步地,所述控制方法还包括:
当获取的所述第一锁键的锁值为空或者所述第一锁键在Redis缓存集群中不存在时,所述分布式锁客户端生成所述第一锁键的锁值,计算公式为:所述第一锁键的锁值=当前请求分布式锁的业务服务器IP+当前时间戳+5位随机字符+1位随机数字。
进一步地,所述控制方法还包括:
所述分布式锁客户端将所述第一锁键存入所述Redis缓存集群,并将生成的所述第一锁键的锁值存入所述Redis缓存集群;
所述分布式锁客户端将生成的所述第一锁键的锁值存入所述映射数据表中,并将所述数据映射数据表中存入的第一锁键的锁值返回给所述业务服务器,即获取分布式锁成功。
进一步地,所述业务服务器通过所述分布式锁客户端请求释放分布式锁,所述控制方法还包括:
所述分布式锁客户端生成第二竞争资源对应的分布式锁的第二锁链,其中,所述第二锁键用于唯一标识所述第二竞争资源对应的所述分布式锁;
所述分布式锁客户端从所述映射数据表中获取所述第二锁链对应的锁值,当获取的所述第二锁键对应的锁值为空时,删除所述Redis缓存集群中所述第二锁键的数据,即释放分布式锁成功。
进一步地,所述控制方法还包括:
所述分布式锁客户端从所述映射数据表中获取所述第二锁键对应的第三锁值、从所述Redis缓存集群中获取所述第二锁键对应的第四锁值,判断所述第三锁值、第四锁值是否相等,若相等,则删除所述Redis缓存集群中的所述第二锁键的数据,即释放分布式锁成功。
本发明提供的分布式锁客户端及控制方法基于Redis实现对分布式锁的处理,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多个分布式锁客户端对Redis的连接并不存在竞争关系,Redis为集群部署,解决了传统关系型数据库的单点故障问题,以及传统关系型数据库不易于横向扩展的问题,同时,将Redis作为缓存,解决了传统关系型数据的磁盘IO访问中的问题,极大提高了分布式锁的处理性能,增强了互联网业务的服务端分布式架构的吞吐能力。
附图说明
图1是本发明实施例一分布式锁客户端的应用环境图;
图2是本发明实施例二分布式锁客户端的功能模块图;
图3是本发明实施例三控制方法的流程图;
图4是本发明实施例四控制方法的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的分布式锁客户端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,″模块″与″部件″可以混合地使用。
请参阅图1,图1是本发明实施例一分布式锁客户端的应用环境图。图1的应用环境图中包括第一业务服务器1、第二业务服务器2、Redis缓存集群3。第一业务服务器1、第二业务服务器2分别包括分布式锁客户端10,Redis缓存集群3包括分布式锁第一锁键4、分布式锁第二锁键5。
参阅图2,图2是本发明实施例二分布式锁客户端的功能模块图。图2所示的分布式锁客户端10包括生成模块101、映射模块103、获取模块105、设置模块107。下面结合图1对本实施例的分布式锁客户端10的各功能模块进行详细介绍。
分布式锁客户端10应用于第一业务服务器1、第二业务服务器2,第一业务服务器1、第二业务服务器2通过分布式锁客户端10请求获取分布式锁,若第一业务服务器1通过分布式锁客户端10请求获取分布式锁,分布式锁客户端10的生成模块101生成某一竞争资源对应的分布式锁的锁键,具体地,生成模块101生成第一竞争资源对应的分布式锁的第一锁键,其中,第一锁键用于唯一标识第一竞争资源对应的分布式锁。映射模块103生成映射数据表,其中,映射数据表包括多个锁键、多个锁键对应的锁值。获取模块105从映射数据表中获取第一锁键对应的锁值,假设为第一锁值、从Redis缓存集群3中获取第一锁键4对应的的锁值,假设为第二锁值,判断第一锁值与第二锁值是否相等。
当第一锁值与第二锁值相等时,设置模块107设置第二锁值的失效时间,将设置了失效时间的第二锁值存入映射数据表,将设置了失效时间的第二锁值返回给第一业务服务器1,即第一业务服务器1获取分布式锁成功。
需要补充说明的是,若获取的第一锁键的锁值为空或者第一锁键在Redis缓存集群中不存在,获取模块105生成第一锁键的锁值,计算公式为:第一锁键的锁值=当前请求分布式锁的业务服务器IP+当前时间戳+5位随机字符+1位随机数字。在生成了第一锁键的锁值后,获取模块105将第一锁键存入Redis缓存集群3,并将生成的第一锁键的锁值存入Redis缓存集群3。获取模块105还将生成的第一锁键的锁值存入映射数据表中,并将数据映射数据表中存入的第一锁键的锁值返回给第一业务服务器1,即第一业务服务器1获取分布式锁成功。
各个业务服务器成功获取分布式锁后,进行相应的业务处理,各个业务处理完毕后,通过分布式锁客户端请求释放某一个分布式锁,分布式锁客户端10的生成模块101生成某一竞争资源对应的分布式锁的锁键,例如,分布式锁客户端10的生成模块101生成第二竞争资源对应的分布式锁的第二锁键,其中,第二锁键用于唯一标识第二竞争资源对应的分布式锁。获取模块105从映射数据表中获取第二锁键对应的锁值,若获取的第二锁键对应的锁值为空,则删除Redis缓存集群3中第二锁键5的数据,即释放分布式锁成功。
若获取的第二锁键对应的锁值不为空时,获取模块105从映射数据表中获取第二锁键对应的锁值,假设为第三锁值、从Redis缓存集群中获取第二锁键对应的锁值,假设为第四锁值,判断第三锁值、第四锁值是否相等,若相等,则删除Redis缓存集群3中的第二锁键5的数据,即释放分布式锁成功。
本发明还提供一种控制方法,该方法应用于图2所示的分布式锁客户端10,分布式锁客户端10包括生成模块101、映射模块103、获取模块105、设置模块107,下面对本实施例的控制方法进行详细介绍。
参阅图3,图3是本发明实施例三控制方法的流程图。
在步骤S10中,第一业务服务器1通过分布式锁客户端10请求获取分布式锁,分布式锁客户端10的生成模块101生成第一竞争资源对应的分布式锁的第一锁键,其中,第一锁键用于唯一标识第一竞争资源对应的分布式锁。
在步骤S20中,分布式锁客户端10的映射模块103在分布式锁客户端10中生成映射数据表,其中,映射数据表包括多个锁键、多个锁键对应的锁值,获取模块105从映射数据表中获取第一锁键对应的第一锁值、从Redis缓存集群3中获取第一锁键4对应的第二锁值,判断第一锁值与第二锁值是否相等。
在步骤S30中,当第一锁值与第二锁值相等时,分布式锁客户端10的设置模块107设置第二锁值的失效时间,将设置了失效时间的第二锁值存入映射数据表,将设置了失效时间的第二锁值返回给第一业务服务器1,即第一业务服务器1获取分布式锁成功。
参阅图4,图4是本发明实施例四控制方法的流程图。该方法应用图2所示的分布式锁客户端10,分布式锁客户端10包括生成模块101、映射模块103、获取模块105、设置模块107,下面对本实施例的控制方法进行详细介绍。
各个业务服务器成功获取分布式锁后,进行相应的业务处理,各个业务处理完毕后,通过分布式锁客户端请求释放某一个分布式锁。
在步骤S201中,分布式锁客户端10的生成模块101生成第二竞争资源对应的分布式锁的第二锁键,其中,第二锁键用于唯一标识第二竞争资源对应的分布式锁。
在步骤S202中,获取模块105从映射数据表中获取第二锁键对应的锁值。
在步骤S203中,获取模块105判断第二锁键对应的锁值是否为空。
在步骤S207中,当获取的第二锁键对应的锁值为空时,获取模块105删除Redis缓存集群3中第二锁键5的数据,即释放分布式锁成功。
当获取的第二锁键对应的锁值不为空时,在步骤S204中,获取模块105从映射数据表中获取第二锁键对应的锁值,假设该锁值为第三锁值。
在步骤S205中,从Redis缓存集群中获取第二锁键对应的锁值,假设该锁值为第四锁值。判断从映射数据表中获取第二锁键对应的锁值、从Redis缓存集群中获取第二锁键对应的锁值是否相等,即判断第三锁值、第四锁键是否相等。
若相等,在步骤S207中,获取模块105删除Redis缓存集群3中第二锁键5的数据,即释放分布式锁成功。
若不相等,在步骤S206中,释放分布式锁失败。
本发明提供的分布式锁客户端及控制方法基于Redis实现对分布式锁的处理,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多个分布式锁客户端对Redis的连接并不存在竞争关系,Redis为集群部署,解决了传统关系型数据库的单点故障问题,以及传统关系型数据库不易于横向扩展的问题,同时,将Redis作为缓存,解决了传统关系型数据的磁盘IO访问中的问题,极大提高了分布式锁的处理性能,增强了互联网业务的服务端分布式架构的吞吐能力。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种分布式锁客户端,所述分布式锁客户端应用于业务服务器,所述业务服务器通过所述分布式锁客户端请求获取分布式锁,其特征在于,所述分布式锁客户端包括:
生成模块,用于生成第一竞争资源对应的分布式锁的第一锁键,其中,所述第一锁键用于唯一标识所述第一竞争资源对应的所述分布式锁;
映射模块,用于生成映射数据表,其中,所述映射数据表包括多个锁键以及所述多个锁键对应的锁值;
获取模块,用于从所述映射数据表中获取所述第一锁键对应的第一锁值、以及从Redis缓存集群中获取所述第一锁键对应的第二锁值,判断所述第一锁值与所述第二锁值是否相等;
设置模块,用于当所述第一锁值与所述第二锁值相等时,设置所述第二锁值的失效时间,将设置了失效时间的所述第二锁值存入所述映射数据表,将设置了失效时间的所述第二锁值返回给所述业务服务器,即获取分布式锁成功。
2.如权利要求1所述的分布式锁客户端,其特征在于,所述获取模块,还用于当获取的所述第一锁键的锁值为空或者所述第一锁键在Redis缓存集群中不存在时,生成所述第一锁键的锁值,计算公式为:所述第一锁键的锁值=当前请求分布式锁的业务服务器IP+当前时间戳+5位随机字符+1位随机数字。
3.如权利要求2所述的分布式锁客户端,其特征在于,所述获取模块,还用于将所述第一锁键存入所述Redis缓存集群,将生成的所述第一锁键的锁值存入所述Redis缓存集群,将生成的所述第一锁键的锁值存入所述映射数据表中,并将所述映射数据表中存入的第一锁键的锁值返回给所述业务服务器,即获取分布式锁成功。
4.如权利要求1至3任一一项所述的分布式锁客户端,所述业务服务器通过所述分布式锁客户端请求释放分布式锁,其特征在于,所述生成模块,还用于生成第二竞争资源对应的分布式锁的第二锁键,其中,所述第二锁键用于唯一标识所述第二竞争资源对应的所述分布式锁;
所述获取模块,还用于从所述映射数据表中获取所述第二锁键对应的锁值,若获取的所述第二锁键对应的锁值为空,则删除所述Redis缓存集群中所述第二锁键的数据,即释放分布式锁成功。
5.如权利要求4所述的分布式锁客户端,其特征在于,所述获取模块,还用于从所述映射数据表中获取所述第二锁键对应的第三锁值、以及从所述Redis缓存集群中获取所述第二锁键对应的第四锁值,判断所述第三锁值与第四锁值是否相等,若相等,则删除所述Redis缓存集群中的所述第二锁键的数据,即释放分布式锁成功。
6.一种控制方法,所述控制方法应用于分布式锁客户端,所述分布式锁客户端应用于业务服务器,所述业务服务器通过所述分布式锁客户端请求获取分布式锁,其特征在于,所述控制方法包括:
所述分布式锁客户端生成第一竞争资源对应的分布式锁的第一锁键,其中,所述第一锁键用于唯一标识所述第一竞争资源对应的所述分布式锁;
所述分布式锁客户端生成映射数据表,其中,所述映射数据表包括多个锁键以及所述多个锁键对应的锁值;
所述分布式锁客户端从所述映射数据表中获取所述第一锁键对应的第一锁值、以及从Redis缓存集群中获取所述第一锁键对应的第二锁值,判断所述第一锁值与所述第二锁值是否相等;
当所述第一锁值与所述第二锁值相等时,所述分布式锁客户端设置所述第二锁值的失效时间,将设置了失效时间的所述第二锁值存入所述映射数据表,将设置了失效时间的所述第二锁值返回给所述业务服务器,即获取分布式锁成功。
7.如权利要求6所述的控制方法,其特征在于,还包括:
当获取的所述第一锁键的锁值为空或者所述第一锁键在Redis缓存集群中不存在时,所述分布式锁客户端生成所述第一锁键的锁值,计算公式为:所述第一锁键的锁值=当前请求分布式锁的业务服务器IP+当前时间戳+5位随机字符+1位随机数字。
8.如权利要求7所述的控制方法,其特征在于,还包括:
所述分布式锁客户端将所述第一锁键存入所述Redis缓存集群,并将生成的所述第一锁键的锁值存入所述Redis缓存集群;
所述分布式锁客户端将生成的所述第一锁键的锁值存入所述映射数据表中,并将所述映射数据表中存入的第一锁键的锁值返回给所述业务服务器,即获取分布式锁成功。
9.如权利要求6至8任一一项所述的控制方法,所述业务服务器通过所述分布式锁客户端请求释放分布式锁,其特征在于,所述控制方法还包括:
所述分布式锁客户端生成第二竞争资源对应的分布式锁的第二锁键,其中,所述第二锁键用于唯一标识所述第二竞争资源对应的所述分布式锁;
所述分布式锁客户端从所述映射数据表中获取所述第二锁键对应的锁值,当获取的所述第二锁键对应的锁值为空时,删除所述Redis缓存集群中所述第二锁键的数据,即释放分布式锁成功。
10.如权利要求9所述的控制方法,其特征在于,还包括:
所述分布式锁客户端从所述映射数据表中获取所述第二锁键对应的第三锁值、以及从所述Redis缓存集群中获取所述第二锁键对应的第四锁值,判断所述第三锁值与第四锁值是否相等,若相等,则删除所述Redis缓存集群中的所述第二锁键的数据,即释放分布式锁成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610836235.3A CN106354565B (zh) | 2016-09-21 | 2016-09-21 | 一种分布式锁客户端及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610836235.3A CN106354565B (zh) | 2016-09-21 | 2016-09-21 | 一种分布式锁客户端及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106354565A CN106354565A (zh) | 2017-01-25 |
CN106354565B true CN106354565B (zh) | 2019-08-20 |
Family
ID=57858727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610836235.3A Active CN106354565B (zh) | 2016-09-21 | 2016-09-21 | 一种分布式锁客户端及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354565B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133108A (zh) * | 2017-04-27 | 2017-09-05 | 努比亚技术有限公司 | 分布式复杂锁的实现方法、终端、服务器及计算机可读存储介质 |
CN109101341B (zh) * | 2017-06-21 | 2022-02-22 | 阿里巴巴集团控股有限公司 | 分布式锁的分配方法及设备 |
CN107402822B (zh) * | 2017-07-06 | 2018-09-11 | 腾讯科技(深圳)有限公司 | 死锁处理方法及装置 |
CN110008031B (zh) * | 2018-01-05 | 2022-04-15 | 北京金山云网络技术有限公司 | 设备操作方法、集群系统、电子设备及可读取存储介质 |
CN108833495A (zh) * | 2018-05-24 | 2018-11-16 | 努比亚技术有限公司 | 用户请求的数据缓存方法、设备及计算机可读存储介质 |
CN110287206B (zh) * | 2019-07-01 | 2021-04-27 | 四川新网银行股份有限公司 | 构建用于Redis数据库的分布式锁的方法 |
CN111782669B (zh) * | 2020-06-28 | 2023-12-12 | 百度在线网络技术(北京)有限公司 | 一种分布式锁的实现方法、装置及电子设备 |
CN112256443B (zh) * | 2020-10-14 | 2024-02-06 | 杭州当虹科技股份有限公司 | 一种基于redis的动态集群锁系统 |
CN113806384A (zh) * | 2021-08-19 | 2021-12-17 | 紫光云(南京)数字技术有限公司 | 基于redis的分配递增整型数据的方法 |
CN114363883B (zh) * | 2022-01-19 | 2023-07-25 | 东方通信股份有限公司 | 一种漫游号功能分布式部署系统 |
CN114679464B (zh) * | 2022-03-24 | 2024-02-13 | 深圳九有数据库有限公司 | 基于分布式锁的数据回滚方法、装置、设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103518364A (zh) * | 2013-03-19 | 2014-01-15 | 华为技术有限公司 | 分布式存储系统的数据更新方法及服务器 |
CN103731485A (zh) * | 2013-12-26 | 2014-04-16 | 华为技术有限公司 | 一种网络设备、集群存储系统及分布式锁管理方法 |
CN103814362A (zh) * | 2011-09-30 | 2014-05-21 | 国际商业机器公司 | 事务处理系统、方法和程序 |
CN104486328A (zh) * | 2014-12-10 | 2015-04-01 | 小米科技有限责任公司 | 访问控制方法和装置 |
CN104850431A (zh) * | 2015-04-29 | 2015-08-19 | 努比亚技术有限公司 | 基于fota升级的稳定处理方法和装置 |
CN104954411A (zh) * | 2014-03-31 | 2015-09-30 | 腾讯科技(深圳)有限公司 | 分布式系统共享网络资源的方法、终端及系统 |
CN105208124A (zh) * | 2015-09-29 | 2015-12-30 | 华为技术有限公司 | 管理锁的方法及装置、确定锁管理服务器的方法及装置 |
CN105631023A (zh) * | 2015-12-30 | 2016-06-01 | 华为技术有限公司 | 分布式锁服务的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150019353A1 (en) * | 2012-02-06 | 2015-01-15 | Adstruc, Inc. | System for managing the utilization of a plurality of outdoor advertising units |
-
2016
- 2016-09-21 CN CN201610836235.3A patent/CN106354565B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103814362A (zh) * | 2011-09-30 | 2014-05-21 | 国际商业机器公司 | 事务处理系统、方法和程序 |
CN103518364A (zh) * | 2013-03-19 | 2014-01-15 | 华为技术有限公司 | 分布式存储系统的数据更新方法及服务器 |
CN103731485A (zh) * | 2013-12-26 | 2014-04-16 | 华为技术有限公司 | 一种网络设备、集群存储系统及分布式锁管理方法 |
CN104954411A (zh) * | 2014-03-31 | 2015-09-30 | 腾讯科技(深圳)有限公司 | 分布式系统共享网络资源的方法、终端及系统 |
CN104486328A (zh) * | 2014-12-10 | 2015-04-01 | 小米科技有限责任公司 | 访问控制方法和装置 |
CN104850431A (zh) * | 2015-04-29 | 2015-08-19 | 努比亚技术有限公司 | 基于fota升级的稳定处理方法和装置 |
CN105208124A (zh) * | 2015-09-29 | 2015-12-30 | 华为技术有限公司 | 管理锁的方法及装置、确定锁管理服务器的方法及装置 |
CN105631023A (zh) * | 2015-12-30 | 2016-06-01 | 华为技术有限公司 | 分布式锁服务的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106354565A (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106354565B (zh) | 一种分布式锁客户端及控制方法 | |
CN104765840B (zh) | 一种大数据分布式存储的方法和装置 | |
CN104794190B (zh) | 一种大数据有效存储的方法和装置 | |
CN102663007B (zh) | 一种支持敏捷开发和横向扩展的数据存储与查询方法 | |
US20160321295A1 (en) | Scalable Distributed Metadata File-System using Key-Value Stores | |
Pang et al. | Zanzibar:{Google’s} Consistent, Global Authorization System | |
CN104750855B (zh) | 一种大数据存储优化方法和装置 | |
Ailijiang et al. | Dissecting the performance of strongly-consistent replication protocols | |
CA2496805A1 (en) | Web services apparatus and methods | |
CN103399894A (zh) | 一种基于共享存储池的分布式事务处理方法 | |
CN103488526A (zh) | 在分布式系统中锁定业务资源的系统和方法 | |
CN108460072A (zh) | 配用电数据检索方法和系统 | |
Pokorný | Database technologies in the world of big data | |
Feng et al. | Lcindex: a local and clustering index on distributed ordered tables for flexible multi-dimensional range queries | |
Noraziah et al. | Bvagq-ar for fragmented database replication management | |
Choi et al. | Improving database system performance by applying NoSQL | |
CN103605732A (zh) | 基于Infobright的数据仓库和系统及其构建方法 | |
CN107590199B (zh) | 一种面向内存的多线程数据库设计方法 | |
Feng et al. | Research on improved Apriori algorithm based on MapReduce and HBase | |
KR20110034826A (ko) | 체인지 히스토리 온톨로지를 이용한 동적/진화형 웹온톨로지들에서의 매핑 일치 방법 | |
Aqel et al. | A Comparative Study of NoSQL Databases | |
Shi et al. | Research on distributed relational database based on MySQL | |
Zhang et al. | Remove-win: a design framework for conflict-free replicated data types | |
Butler et al. | Distributed Lucene: A distributed free text index for Hadoop | |
Dan et al. | Extremal entangled four-qubit pure states with respect to multiple entropy measures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |