CN106572054B - 分布式系统中分布式锁服务实现方法以及装置 - Google Patents
分布式系统中分布式锁服务实现方法以及装置 Download PDFInfo
- Publication number
- CN106572054B CN106572054B CN201510650637.XA CN201510650637A CN106572054B CN 106572054 B CN106572054 B CN 106572054B CN 201510650637 A CN201510650637 A CN 201510650637A CN 106572054 B CN106572054 B CN 106572054B
- Authority
- CN
- China
- Prior art keywords
- request
- server
- session
- distributed
- lock
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- 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
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本申请公开了一种分布式系统中分布式锁服务实现方法,包括:通过预先设置的代理节点接收客户端发送的会话注册请求;通过预先创建的所述代理节点与服务端之间的连接,向所述服务端发送所述会话注册请求;接收所述服务端通过所述连接反馈的所述会话注册请求对应的会话标识,并向相应客户端发送所述会话标识;通过所述代理节点接收所述客户端发送的基于所述会话标识构造的锁操作请求,并通过所述连接向所述服务端发送所述锁操作请求;其中,所述锁操作请求被所述会话标识标记。本申请提供的分布式系统中分布式锁服务实现方法,减少了服务端的连接数,减轻了服务端的访问压力,使分布式系统对外提供分布式锁服务的性能得到提升。
Description
技术领域
本申请涉及分布式系统技术领域,具体涉及一种分布式系统中分布式锁服务实现方法。本申请同时涉及一种分布式系统中分布式锁服务实现装置、一种分布式系统中基于客户端的分布式锁服务实现方法和装置、一种分布式系统中基于服务端的分布式锁服务实现方法和装置。
背景技术
随着计算机技术和网络技术的不断发展,计算机系统的规模变得越来越大,传统的集中式系统已经越来越不能满足用户对计算机系统的需求,各种系统架构模型层出不穷,分布式系统架构应运而生,ZooKeeper(典型的分布式数据一致性解决方案)作为一个分布式的、开放源码的分布式应用程序协调服务,得到了广泛的应用,为分布式应用提供了高效且可靠的分布式协调服务,提供了诸如命名统一服务、配置管理和分布式锁等分布式基础服务。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。
分布式锁是控制分布式系统之间同步访问共享资源的一种方式,如果是不同的系统或者同一系统的不同主机之间共享了一个或一组资源,在访问这些资源的时候,往往需要一些互斥手段来防止彼此之间的干扰,以保证数据的一致性。
然而,随着业务规模的快速增长,成千上万的客户端进程与分布式系统服务端建立了大量连接,随之而来的频繁数据访问给分布式系统服务端的服务能力带来了严峻的考验。
目前,现有技术是基于Paxos(分布式一致性协议)理论实现的ZooKeeper分布式锁服务系统,其服务端通常是由奇数个服务器组成的Quorum(服务器集群),每个服务器均会维护内存数据库及持久化存储的事物日志与快照,在系统启动时,Quorum里的服务器会选出一台服务器作为Leader(主服务器),其余服务器作为Followers(从服务器),客户端会选择Quorum中的任一服务器建立连接,并且绑定一个唯一标识本次会话的会话标识,每个服务器均可以服务来自客户端的访问请求,对于不改变系统一致性状态的读操作,由服务器读本地内存数据库直接给客户端返回结果;对于会改变系统状态的更改操作,则交由Leader,后者会把本次数据更改操作作为提议交给所有Followers进行提议投票,超过半数通过后,方可返回结果给客户端进程。为了应对业务规模的快速增长,通过增加Quorum中服务器的数目,来提高分布式锁服务系统对外的服务性能。
上述现有技术提供的方法存在明显的缺陷。
上述现有技术提供的方法,通过增加Quorum中服务器的数目,分布式锁服务系统能够承载的连接数也会线性增长,但由于分布式锁服务系统的Quorum内所有服务器之间存在着数据同步,在其规模达到一定程度时,各服务器之间的信息同步代价将会明显影响Quorum对外的服务性能;因此,基于Paxos理论实现的ZooKeeper分布式锁服务系统,来提高分布式锁服务系统对外提供服务的性能可视为受限的。
发明内容
本申请提供一种分布式系统中分布式锁服务实现方法,以解决现有技术的存在的提高分布式锁服务系统对外提供服务的性能受限的问题。
本申请同时涉及一种分布式系统中分布式锁服务实现装置、一种分布式系统中基于客户端的分布式锁服务实现方法和装置、一种分布式系统中基于服务端的分布式锁服务实现方法和装置。
本申请提供一种分布式系统中分布式锁服务实现方法,包括:
通过预先设置的代理节点接收客户端发送的会话注册请求;
通过预先创建的所述代理节点与服务端之间的连接,向所述服务端发送所述会话注册请求;
接收所述服务端通过所述连接反馈的所述会话注册请求对应的会话标识,并向相应客户端发送所述会话标识;
通过所述代理节点接收所述客户端发送的基于所述会话标识构造的锁操作请求,并通过所述连接向所述服务端发送所述锁操作请求;
其中,所述锁操作请求被所述会话标识标记。
可选的,所述代理节点包括:至少一层子节点;
其中,每一层包括至少一个子节点。
可选的,若所述代理节点包含一层子节点,则该层包含的每一个子节点与所述服务端之间有且仅有1个连接;
所述子节点用于接收来自所述客户端的请求,并将接收到的所述请求向所述服务端发送。
可选的,若所述代理节点包含至少两层子节点,则所述代理节点包含的各层节点按照树状结构连接;
其中,在由所述代理节点包含的子节点组成的树状结构中:
叶节点用于接收来自所述客户端的请求,并将接收到的所述请求向上层的非叶节点传递;
所述非叶节点用于以逐层向上的方式向上层的非叶节点传递所述请求,并最终将所述请求传递至根节点;
所述根节点用于向所述服务端发送所述请求。
可选的,所述代理节点接收到来自所述客户端的请求之后,执行下述步骤:
按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
判断选取的该些请求对应的时间信息是否处于预设时间阈值区间内;
若是,则将该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
可选的,所述代理节点接收到来自所述客户端的请求之后,执行下述步骤:
判断接收到的请求数目是否处于预设阈值区间内;
若否,按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
将选取的该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
可选的,通过所述连接向所述服务端发送所述锁操作请求,具体包括:
所述代理节点根据所述请求访问资源涉及的逻辑分区,根据预先建立的逻辑分区与物理分区的映射关系,将所述请求发送至所述物理分区对应的Quorum中的服务器。
可选的,所述服务端具体是由ZooKeeper服务器组成;
相应的,所述客户端是由ZooKeeper客户端组成。
可选的,所述通过所述连接向所述服务端发送被标记后的所述锁操作请求步骤执行之后,执行下述步骤:
接收所述服务端发送的所述锁操作请求的响应;
向相应客户端发送所述锁操作请求的响应。
本申请还提供一种分布式系统中分布式锁服务实现装置,包括:
会话注册请求接收单元,用于通过预先设置的代理节点接收客户端发送的会话注册请求;
会话注册请求发送单元,用于通过预先创建的所述代理节点与服务端之间的连接,向所述服务端发送所述会话注册请求;
会话标识返回单元,用于接收所述服务端通过所述连接反馈的所述会话注册请求对应的会话标识,并向相应客户端发送所述会话标识;
锁操作请求接收发送单元,用于通过所述代理节点接收所述客户端发送的基于所述会话标识构造的锁操作请求,并通过所述连接向所述服务端发送所述锁操作请求;
其中,所述锁操作请求被所述会话标识标记。
可选的,所述分布式系统中分布式锁服务实现装置,包括:
请求选取单元,用于按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
时间域判断单元,用于判断选取的该些请求对应的时间信息是否处于预设时间阈值区间内;
若是,则进入第一请求聚合单元;
所述第一请求聚合单元,用于将该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
可选的,所述分布式系统中分布式锁服务实现装置,包括:
请求数目判断单元,用于判断接收到的请求数目是否处于预设阈值区间内;
若否,按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
第二聚合单元,用于将选取的该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
可选的,所述锁操作请求接收发送单元,具体包括:
请求分发子单元,所述代理节点根据所述请求访问资源涉及的逻辑分区,根据预先建立的逻辑分区与物理分区的映射关系,将所述请求发送至所述物理分区对应的Quorum中的服务器。
可选的,所述分布式系统中分布式锁服务实现装置,包括:
响应接收单元,用于接收所述服务端发送的所述锁操作请求的响应;
响应发送单元,用于向相应客户端发送所述锁操作请求的响应。
本申请另外提供一种分布式系统中基于客户端的分布式锁服务实现方法,包括:
接收用户通过预设的锁服务接口发出的操作请求;
基于该操作请求生成会话注册请求,并向上述分布式系统中分布式锁服务实现方法所述的代理节点发送;
接收所述代理节点发送的所述会话注册请求对应的会话标识;
根据所述会话标识构造相应锁操作请求,并向所述代理节点发送;
其中,所述锁操作请求被所述会话标识标记。
本申请还提供一种分布式系统中基于客户端的分布式锁服务实现装置,包括:
操作请求接收单元,用于接收用户通过预设的锁服务接口发出的操作请求;
会话注册请求生成发送单元,用于基于该操作请求生成会话注册请求,并向上述分布式系统中分布式锁服务实现方法所述的代理节点发送;
会话标识接收单元,用于接收所述代理节点发送的所述会话注册请求对应的会话标识;
锁操作请求构造发送单元,用于根据所述会话标识构造相应锁操作请求,并向所述代理节点发送;
其中,所述锁操作请求被所述会话标识标记。
本申请另外提供一种分布式系统中基于服务端的分布式锁服务实现方法,包括:
通过预先创建的代理节点与服务端之间的连接,接收来自上述分布式系统中分布式锁服务实现方法所述的代理节点的会话注册请求;
基于所述会话注册请求创建相应会话,并生成与所述会话对应的会话标识;
通过所述连接向所述代理节点反馈所述会话标识;
通过所述连接接收所述代理节点发送的锁操作请求;
根据标记所述锁操作请求的会话标识,执行所述锁操作请求的相应锁操作。
本申请还提供一种分布式系统中基于服务端的分布式锁服务实现装置,包括:
会话注册请求接收单元,用于通过预先创建的代理节点与服务端之间的连接,接收来自上述分布式系统中分布式锁服务实现方法所述的代理节点的会话注册请求;
会话标识生成单元,用于基于所述会话注册请求创建相应会话,并生成与所述会话对应的会话标识;
会话标识反馈单元,用于通过所述连接向所述代理节点反馈所述会话标识;
锁操作请求接收单元,用于通过所述连接接收所述代理节点发送的锁操作请求;
锁操作执行单元,用于根据标记所述锁操作请求的会话标识,执行所述锁操作请求的相应锁操作。
与现有技术相比,本申请具有以下优点:
本申请提供的分布式系统中分布式锁服务实现方法,包括:通过预先设置的代理节点接收客户端发送的会话注册请求;通过预先创建的所述代理节点与服务端之间的连接,向所述服务端发送所述会话注册请求;接收所述服务端通过所述连接反馈的所述会话注册请求对应的会话标识,并向相应客户端发送所述会话标识;通过所述代理节点接收所述客户端发送的基于所述会话标识构造的锁操作请求,并通过所述连接向所述服务端发送所述锁操作请求;其中,所述锁操作请求被所述会话标识标记。
本申请提供的分布式系统中分布式锁服务实现方法,通过会话和连接的解耦,实现了连接的复用,单连接上可以承载多个会话,同一连接上的多个会话之间通过具有唯一性会话标识来区分,同时,在客户端和服务端之间预先设置了代理节点,由代理节点作为客户端和服务端之间请求的代理,相比客户端与服务端之间的连接数目,代理节点与服务端之间的连接数目更少,减轻了服务端的访问压力,使分布式系统对外提供分布式锁服务的性能得到提升。
附图说明
附图1是本申请提供的一种分布式系统中分布式锁服务实现方法实施例的处理流程图;
附图2是本申请提供的一种分布式系统中代理节点的示意图;
附图3是本申请提供的另一种分布式系统中代理节点的示意图;
附图4是本申请提供的一种分布式系统中服务端的示意图;
附图5是本申请提供的一种分布式系统中分布式锁服务实现装置实施例的示意图;
附图6是本申请提供的一种分布式系统中基于客户端的分布式锁服务实现方法实施例的处理流程图;
附图7是本申请提供的一种分布式系统中基于客户端的分布式锁服务实现装置实施例的示意图;
附图8是本申请提供的一种分布式系统中基于服务端的分布式锁服务实现方法实施例的处理流程图;
附图9是本申请提供的一种分布式系统中基于服务端的分布式锁服务实现装置实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种分布式系统中分布式锁服务实现方法,本申请还提供一种分布式系统中分布式锁服务实现装置,一种分布式系统中基于客户端的分布式锁服务实现方法和装置、一种分布式系统中基于服务端的分布式锁服务实现方法和装置。
以下分别结合本申请提供的实施例的附图逐一进行详细说明,并且对方法的各个步骤进行说明。
本申请提供的一种分布式系统中分布式锁服务实现方法实施例如下:
参照附图1,其示出了本申请提供的一种分布式系统中分布式锁服务实现方法实施例的处理流程图。此外,所述分布式系统中分布式锁服务实现方法实施例的各个步骤之间的关系,请根据附图1确定。
步骤S101,通过预先设置的代理节点接收客户端发送的会话注册请求。
在大规模分布式计算环境中,分布在不同计算节点上的客户端进程,通常需要分布式锁来提供互斥访问共享资源,以防止彼此干扰来保证数据一致性。随着业务规模的不断增长,分布式系统中大量使用分布式锁服务的客户端进程,与分布式系统中的服务端建立了大量连接,通过连接而来的频繁会话访问给服务端的服务能力带来了严峻考验。在这种情况下,采用本申请提供的分布式系统中分布式锁服务实现方法,在充分考虑分布式系统和分布式锁自身特点的基础上,通过连接和会话解耦,实现连接的复用,并在客户端和服务端之间预先设置了代理节点,由代理节点作为客户端和服务端之间会话请求的代理,从而减轻服务端的访问压力,提升分布式系统对外提供分布式锁服务的性能。
所述服务端具体是由ZooKeeper服务器组成,所述客户端是由ZooKeeper客户端组成;相应的,所述客户端会话请求的创建,遵循ZooKeeper客户端创建会话的基本原理,以及所述服务端会话请求的接收处理,遵循ZooKeeper服务器请求处理的基本原理。
本实施例中,为了减轻服务端对外提供分布式锁服务性能的压力,减少客户端与客户端之间的连接数目,通过会话与连接的解耦实现连接的复用,通过一个连接可向服务端发送多个请求;更进一步,考虑到分布式系统和分布式锁的特性,在客户端和服务端之间预先设置代理节点,由代理节点作为客户端和服务端之间会话请求的代理,通过代理节点接收客户端发送的请求,并将接收到的请求发送至服务端,以及通过代理节点接收服务端发送的请求响应,并将接收到的请求响应发送至客户端。
优选的,在客户端和服务端预先设置代理节点的基础上,为了减少代理节点与服务端之间的连接数目,本实施例从代理节点的组成结构入手,减少代理节点与服务端之间的连接数目:
所述代理节点包括:至少一层子节点;
其中,每一层包括至少一个子节点。
优选的,为了更加全面的表征所述代理节点的工作状况,结合所述代理节点的结构,对所述代理节点以及所述代理节点中包含的子节点的工作原理进行详细说明:
1)若所述代理节点包含一层子节点,则该层包含的每一个子节点与所述服务端之间有且仅有1个连接;
所述子节点用于接收来自所述客户端的请求,并将接收到的所述请求向所述服务端发送;
参照附图2,其为本实施例提供的一种分布式系统中代理节点的示意图;
如附图2所示的分布式系统中,包括客户端201、代理节点202和服务端203;
其中,所述客户端201包括6个ZooKeeper客户端,分别是第一ZooKeeper客户端(Client1)、第二ZooKeeper客户端(Client2)、第三ZooKeeper客户端(Client3)、第四ZooKeeper客户端(Client4)、第五ZooKeeper客户端(Client5)、第六ZooKeeper客户端(Client6)。
所述代理节点202包括第一子节点(Proxy1)、第二子节点(Proxy2);Proxy1和Proxy2与服务端203之间有且仅有1个连接。
所述服务端203包括第一ZooKeeper服务器(Server1)、第二ZooKeeper服务器(Server2)、第三ZooKeeper服务器(Server3)。
2)若所述代理节点包含至少两层子节点,则所述代理节点包含的各层节点按照树状结构连接;
其中,在由所述代理节点包含的子节点组成的树状结构中:
叶节点用于接收来自所述客户端的请求,并将接收到的所述请求向上层的非叶节点传递;
所述非叶节点用于以逐层向上的方式向上层的非叶节点传递所述请求,并最终将所述请求传递至根节点;
所述根节点用于向所述服务端发送所述请求。
参照附图3,其为本实施例提供的另一种分布式系统中代理节点的示意图;
如附图3所示的分布式系统中,包括客户端301、代理节点302和服务端303;
在所述代理节点302包含的子节点组成的树状结构中,所述代理节点302包括子节点一(Proxy1)、子节点二(Proxy2)、子节点三(Proxy3)、子节点四(Proxy4)、子节点五(Proxy5)、子节点六(Proxy6)。
其中,Proxy1、Proxy2、Proxy3是叶节点,Proxy4、Proxy5是非叶节点,Proxy6是根节点。
在具体实施时,代理节点也可能包含多个子节点组成的树状结构,相应的,根节点的数目也可能是多个。
优选的,考虑服务端和上述代理节点的特性,为了减少代理节点与服务端之间的请求数目,本实施例采用下述实施方式聚合接收到的客户端发送的请求:
1)以时间域为依据聚合;
所述代理节点接收到来自所述客户端的请求之后,执行下述步骤:
按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
判断选取的该些请求对应的时间信息是否处于预设时间阈值区间内;
若是,则将该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
比如代理节点包含的任意一个子节点,接收到来自客户端的3个请求,该子节点接收到的3个请求都是创建锁请求,并且接收3和锁请求的时间差在1毫秒之内,则可将这3个请求聚合为1个请求,聚合后的请求中的内容增加了,包含3个请求的内容,但是请求的数量减少了,从3个减少为1个。
2)以请求数目为依据聚合。
所述代理节点接收到来自所述客户端的请求之后,执行下述步骤:
判断接收到的请求数目是否处于预设阈值区间内;
若否,按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
将选取的该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
比如代理节点中包含的任意一个子节点,该子节点预先设定的请求数目上限(即预设阈值区间)是1000,当该子节点接收到的请求数目大于1000时,则从该子节点接收到的客户端发送的同一类型选取请求进行聚合;
重复上述聚合过程,直至该子节点的请求数目降至1000以下。
通过上述以时间域为依据聚合和以请求数目为依据聚合两种实施方式,减少了代理节点向服务端发送的请求数目,相应的,服务端接收的请求数目减少了,减轻了服务端的访问压力。
在具体实施时,还可以将上述两种实施方式进行合并,比如当代理节点包含的子节点接收到的请求数目超出预设阈值区间,则将时间域满足特定条件的请求进行聚合。
本实施例中,通过会话与连接的解耦实现连接的复用,代理节点可以通过一个连接将接收到的客户端发送的多个请求向服务端发送,但是服务端无法区分通过一个连接发送的请求,因此,本步骤中,通过预先设置的代理节点接收客户端发送的会话注册请求,向服务端注册并获得会话标识,一个会话标识对应一个会话,即:一个会话标识对应客户端发送的一个请求,并且每一个会话标识都是唯一的,通过会话标识来区别不同的请求。
在具体实施时,还可以以其他参数作为所述会话标识。
步骤S102,通过预先创建的所述代理节点与服务端之间的连接,向所述服务端发送所述会话注册请求。
需要说明的是,当所述会话注册请求被代理节点发送至服务端,服务端接收到所述会话注册请求时,需要进行如下处理操作:
读取所述会话注册请求的内容,并对读取的内容进行反序列化,反序列化之后生成为该会话分配的会话标识,根据会话标识创建会话,会话创建完成之后,需要将会话标识返回给代理节点,具体返回步骤见下述步骤S103。
步骤S103,接收所述服务端通过所述连接反馈的所述会话注册请求对应的会话标识,并向相应客户端发送所述会话标识。
上述步骤S101和步骤S102,通过代理节点接收并向服务端转发客户端发送的会话注册请求,本步骤中,接收并向客户端转发服务端针对所述会话注册请求的响应。
步骤S104,通过所述代理节点接收所述客户端发送的基于所述会话标识构造的锁操作请求,并通过所述连接向所述服务端发送所述锁操作请求。
本实施例中,根据所述会话标识的唯一性,利用会话标识来标记锁操作请求,从而根据会话标识来区分锁操作请求。在具体实施时,除标记之外,还可以其他手段来实现区分不同的锁操作请求,在此不做限定。
所述锁操作,具体是指创建锁和删除所两个操作。在分布式场景下,锁在后端的形态是锁文件,比如ZooKeeper分布式锁服务中的分布式锁的具体形态是存储在服务端的临时文件(锁文件),该类锁文件有Owner(所有者)概念,每个锁文件均对应一个创建者会话标识,会记录创建者的会话标识,非该会话标识对应的客户端对该锁文件操作会报错,确保了分布式锁的互斥性;此外,该类锁文件有生命期,如果创建该锁文件的相应客户端与服务端连接断开后,会话结束,该锁文件会很快被自动删除,确保分布式锁会被合理回收。当客户端需要发出锁操作请求,即客户端需要创建锁文件的时候,需要在锁操作请求中带上会话标识,服务端接收到这些锁操作请求,根据各个锁操作请求对应的会话标识找到相应会话,创建附在其上的锁文件。
优选的,在充分考虑分布式系统中服务端特性的基础上,为了进一步减轻服务端对外提供分布式锁服务性能的压力,本实施例采用如下方式:
由于服务端Quorum的数量是有限的,Quorum中的ZooKeeper服务器的数量也是有限的,每一个ZooKeeper服务器能够承载的连接数也是有限的,因此,服务端能够承载的连接数同样也是有限的,本实施例通过服务端扩容来增加服务端能够承载的连接数,从而减轻对外提供分布式锁服务的性能压力。
具体的,本实施例通过增加服务端Quorum的数量,来减轻对外提供分布式锁服务的性能压力,参照附图4,其为本实施例提供的一种分布式系统中服务端扩容的示意图。
如附图4所示,Quorum1(403-1)包括ZooKeeper服务器一(Server1)、ZooKeeper服务器二(Server2)、ZooKeeper服务器三(Server3);
Quorum2(403-2)包括ZooKeeper服务器四(Server4)、ZooKeeper服务器五(Server5)、ZooKeeper服务器六(Server6),
服务端403在扩容之前,一直都是Quorum1(403-1)在提供服务,性能压力较大,在服务端403增加Quorum2(403-2)之后,可以将代理节点402发送的一部分请求分流到Quorum2(403-2)进行处理,对于服务端403整体而言,对外提供分布式锁服务的性能压力减小。
优选的,在服务端扩容的基础上,即服务端增加了新服务器单元(即Quorum)的基础上,代理节点向服务端发送请求时,通过如下方式发送:
所述代理节点根据所述请求访问资源涉及的逻辑分区,根据预先建立的逻辑分区与物理分区的映射关系,将所述请求发送至所述物理分区对应的Quorum中的ZooKeeper服务器。
比如附图4中,服务端403扩容之前,逻辑分区与物理分区的映射关系为:“第一逻辑分区->第一物理分区”,当需要扩容的时候,增加了Quorum2(403-2),则引入新的映射关系:“第二逻辑分区->第二物理分区”。
优选的,在向服务端发送所述锁操作请求之后,接收服务端发送的所述锁操作请求的响应,具体实现如下:
接收所述服务端发送的所述锁操作请求的响应;
向相应客户端发送所述锁操作请求的响应。
综上所述,本申请提供的分布式系统中分布式锁服务实现方法,通过会话和连接的解耦,实现了连接的复用,单连接上可以承载多个会话,同一连接上的多个会话之间通过具有唯一性会话标识来区分,同时,在客户端和服务端之间预先设置了代理节点,由代理节点作为客户端和服务端之间请求的代理,通过代理节点接收客户端发送的请求,并将接收到的请求发送至服务端,以及通过代理节点接收服务端发送的请求响应,并将接收到的请求响应发送至客户端;相比客户端与服务端之间的连接数目,代理节点与服务端之间的连接数目更少,减轻了服务端的访问压力;
本申请提供的方法通过上述以时间域为依据聚合和以请求数目为依据聚合两种实施方式,减少了代理节点向服务端发送的请求数目,相应的,服务端接收的请求数目减少了,进一步减轻了服务端的访问压力;
此外,本实施例通过增加服务端Quorum的数量,增加服务端能够承载的连接数目,使分布式系统对外提供分布式锁服务的性能得到提升。
本申请提供的一种分布式系统中分布式锁服务实现装置实施例如下:
在上述的实施例中,提供了一种分布式系统中分布式锁服务实现方法,与之相对应的,本申请还提供了一种分布式系统中分布式锁服务实现装置,下面结合附图进行说明。
参照附图5,其示出了本申请提供的一种分布式系统中分布式锁服务实现装置实施例的示意图。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供一种分布式系统中分布式锁服务实现装置,包括:
会话注册请求接收单元501,用于通过预先设置的代理节点接收客户端发送的会话注册请求;
会话注册请求发送单元502,用于通过预先创建的所述代理节点与服务端之间的连接,向所述服务端发送所述会话注册请求;
会话标识返回单元503,用于接收所述服务端通过所述连接反馈的所述会话注册请求对应的会话标识,并向相应客户端发送所述会话标识;
锁操作请求接收发送单元504,用于通过所述代理节点接收所述客户端发送的基于所述会话标识构造的锁操作请求,并通过所述连接向所述服务端发送所述锁操作请求;
其中,所述锁操作请求被所述会话标识标记。
可选的,所述代理节点包括:至少一层子节点;
其中,每一层包括至少一个子节点。
可选的,若所述代理节点包含一层子节点,则该层包含的每一个子节点与所述服务端之间有且仅有1个连接;
所述子节点用于接收来自所述客户端的请求,并将接收到的所述请求向所述服务端发送。
可选的,若所述代理节点包含至少两层子节点,则所述代理节点包含的各层节点按照树状结构连接;
其中,在由所述代理节点包含的子节点组成的树状结构中:
叶节点用于接收来自所述客户端的请求,并将接收到的所述请求向上层的非叶节点传递;
所述非叶节点用于以逐层向上的方式向上层的非叶节点传递所述请求,并最终将所述请求传递至根节点;
所述根节点用于向所述服务端发送所述请求。
可选的,所述分布式系统中分布式锁服务实现装置,包括:
请求选取单元,用于按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
时间域判断单元,用于判断选取的该些请求对应的时间信息是否处于预设时间阈值区间内;
若是,则进入第一请求聚合单元;
所述第一请求聚合单元,用于将该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
可选的,所述分布式系统中分布式锁服务实现装置,包括:
请求数目判断单元,用于判断接收到的请求数目是否处于预设阈值区间内;
若否,按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
第二聚合单元,用于将选取的该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
可选的,所述锁操作请求接收发送单元504,具体包括:
请求分发子单元,所述代理节点根据所述请求访问资源涉及的逻辑分区,根据预先建立的逻辑分区与物理分区的映射关系,将所述请求发送至所述物理分区对应的Quorum中的服务器。
可选的,所述服务端具体是由ZooKeeper服务器组成;
相应的,所述客户端是由ZooKeeper客户端组成。
可选的,所述分布式系统中分布式锁服务实现装置,包括:
响应接收单元,用于接收所述服务端发送的所述锁操作请求的响应;
响应发送单元,用于向相应客户端发送所述锁操作请求的响应。
本申请提供的一种分布式系统中基于客户端的分布式锁服务实现方法实施例如下:
在上述的实施例中,提供了一种分布式系统中分布式锁服务实现方法,在此,本申请还提供了一种分布式系统中基于客户端的分布式锁服务实现方法,与本申请提供的上述方法相互配合,下面结合附图对本实施例提供的方法进行说明。
参照附图6,其示出了本申请提供的一种分布式系统中基于客户端的分布式锁服务实现方法实施例的示意图。
本方法与本申请提供的上述方法相互配合,所以描述得比较简单,阅读本方法的步骤请对照本申请提供的上述方法实施例的对应说明。
本申请提供一种分布式系统中基于客户端的分布式锁服务实现方法,包括:
步骤S601,接收用户通过预设的锁服务接口发出的操作请求。
步骤S602,基于该操作请求生成会话注册请求,并向上述分布式系统中分布式锁服务实现方法所述的代理节点发送。
步骤S603,接收所述代理节点发送的所述会话注册请求对应的会话标识。
步骤S604,根据所述会话标识构造相应锁操作请求,并向所述代理节点发送。
其中,所述锁操作请求被所述会话标识标记。
本申请提供的一种分布式系统中基于客户端的分布式锁服务实现装置实施例如下:
在上述的实施例中,提供了一种分布式系统中基于客户端的分布式锁服务实现方法,与之相对应的,本申请还提供了一种分布式系统中基于客户端的分布式锁服务实现装置,下面结合附图进行说明。
参照附图7,其示出了本申请提供的一种分布式系统中基于客户端的分布式锁服务实现装置实施例的示意图。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供一种分布式系统中基于客户端的分布式锁服务实现装置,包括:
操作请求接收单元701,用于接收用户通过预设的锁服务接口发出的操作请求;
会话注册请求生成发送单元702,用于基于该操作请求生成会话注册请求,并向上述分布式系统中分布式锁服务实现方法所述的代理节点发送;
会话标识接收单元703,用于接收所述代理节点发送的所述会话注册请求对应的会话标识;
锁操作请求构造发送单元704,用于根据所述会话标识构造相应锁操作请求,并向所述代理节点发送;
其中,所述锁操作请求被所述会话标识标记。
本申请提供的一种分布式系统中基于服务端的分布式锁服务实现方法实施例如下:
在上述的实施例中,提供了一种分布式系统中分布式锁服务实现方法,以及一种分布式系统中基于客户端的分布式锁服务实现方法,在此,本申请提供一种分布式系统中基于服务端的分布式锁服务实现方法,本申请提供的上述两种方法相互配合,下面结合附图对本实施例提供的方法进行说明。
参照附图8,其示出了本申请提供的一种分布式系统中基于服务端的分布式锁服务实现方法实施例的示意图。
本方法与本申请提供的上述两种方法相互配合,所以描述得比较简单,阅读本方法的步骤请对照本申请提供的上述两种方法实施例的对应说明。
本申请提供一种分布式系统中基于服务端的分布式锁服务实现方法,包括:
步骤S801,通过预先创建的代理节点与服务端之间的连接,接收来自上述分布式系统中分布式锁服务实现方法所述的代理节点的会话注册请求。
步骤S802,基于所述会话注册请求创建相应会话,并生成与所述会话对应的会话标识。
步骤S803,通过所述连接向所述代理节点反馈所述会话标识。
步骤S804,通过所述连接接收所述代理节点发送的锁操作请求。
步骤S805,根据标记所述锁操作请求的会话标识,执行所述锁操作请求的相应锁操作。
本申请提供的一种分布式系统中基于服务端的分布式锁服务实现装置实施例如下:
在上述的实施例中,提供了一种分布式系统中基于服务端的分布式锁服务实现方法,与之相对应的,本申请还提供了一种分布式系统中基于服务端的分布式锁服务实现装置,下面结合附图进行说明。
参照附图9,其示出了本申请提供的一种分布式系统中基于服务端的分布式锁服务实现装置实施例的示意图。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供一种分布式系统中基于服务端的分布式锁服务实现装置,包括:
会话注册请求接收单元901,用于通过预先创建的代理节点与服务端之间的连接,接收来自上述分布式系统中分布式锁服务实现方法所述的代理节点的会话注册请求;
会话标识生成单元902,用于基于所述会话注册请求创建相应会话,并生成与所述会话对应的会话标识;
会话标识反馈单元903,用于通过所述连接向所述代理节点反馈所述会话标识;
锁操作请求接收单元904,用于通过所述连接接收所述代理节点发送的锁操作请求;
锁操作执行单元905,用于根据标记所述锁操作请求的会话标识,执行所述锁操作请求的相应锁操作。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (18)
1.一种分布式系统中分布式锁服务实现方法,其特征在于,包括:
通过预先设置的代理节点接收客户端发送的会话注册请求;
通过预先创建的所述代理节点与服务端之间的连接,向所述服务端发送所述会话注册请求;
接收所述服务端通过所述连接反馈的所述会话注册请求对应的会话标识,并向相应客户端发送所述会话标识;
通过所述代理节点接收所述客户端发送的基于所述会话标识构造的锁操作请求,并通过所述连接向所述服务端发送所述锁操作请求;
其中,所述锁操作请求被所述会话标识标记。
2.根据权利要求1所述的分布式系统中分布式锁服务实现方法,其特征在于,所述代理节点包括:至少一层子节点;
其中,每一层包括至少一个子节点。
3.根据权利要求2所述的分布式系统中分布式锁服务实现方法,其特征在于,若所述代理节点包含一层子节点,则该层包含的每一个子节点与所述服务端之间有且仅有1个连接;
所述子节点用于接收来自所述客户端的请求,并将接收到的所述请求向所述服务端发送。
4.根据权利要求2所述的分布式系统中分布式锁服务实现方法,其特征在于,若所述代理节点包含至少两层子节点,则所述代理节点包含的各层节点按照树状结构连接;
其中,在由所述代理节点包含的子节点组成的树状结构中:
叶节点用于接收来自所述客户端的请求,并将接收到的所述请求向上层的非叶节点传递;
所述非叶节点用于以逐层向上的方式向上层的非叶节点传递所述请求,并最终将所述请求传递至根节点;
所述根节点用于向所述服务端发送所述请求。
5.根据权利要求1所述的分布式系统中分布式锁服务实现方法,其特征在于,所述代理节点接收到来自所述客户端的会话注册请求之后,执行下述步骤:
按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
判断选取的该些请求对应的时间信息是否处于预设时间阈值区间内;
若是,则将该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
6.根据权利要求1所述的分布式系统中分布式锁服务实现方法,其特征在于,所述代理节点接收到来自所述客户端的会话注册请求之后,执行下述步骤:
判断接收到的请求数目是否处于预设阈值区间内;
若否,按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
将选取的该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
7.根据权利要求1所述的分布式系统中分布式锁服务实现方法,其特征在于,通过所述连接向所述服务端发送所述锁操作请求,具体包括:
所述代理节点根据所述请求访问资源涉及的逻辑分区,根据预先建立的逻辑分区与物理分区的映射关系,将所述请求发送至所述物理分区对应的Quorum中的服务器。
8.根据权利要求1所述的分布式系统中分布式锁服务实现方法,其特征在于,所述服务端具体是由ZooKeeper服务器组成;
相应的,所述客户端是由ZooKeeper客户端组成。
9.根据权利要求1所述的分布式系统中分布式锁服务实现方法,其特征在于,所述通过所述连接向所述服务端发送被标记后的所述锁操作请求步骤执行之后,执行下述步骤:
接收所述服务端发送的所述锁操作请求的响应;
向相应客户端发送所述锁操作请求的响应。
10.一种分布式系统中分布式锁服务实现装置,其特征在于,包括:
会话注册请求接收单元,用于通过预先设置的代理节点接收客户端发送的会话注册请求;
会话注册请求发送单元,用于通过预先创建的所述代理节点与服务端之间的连接,向所述服务端发送所述会话注册请求;
会话标识返回单元,用于接收所述服务端通过所述连接反馈的所述会话注册请求对应的会话标识,并向相应客户端发送所述会话标识;
锁操作请求接收发送单元,用于通过所述代理节点接收所述客户端发送的基于所述会话标识构造的锁操作请求,并通过所述连接向所述服务端发送所述锁操作请求;
其中,所述锁操作请求被所述会话标识标记。
11.根据权利要求10所述的分布式系统中分布式锁服务实现装置,其特征在于,包括:
请求选取单元,用于按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
时间域判断单元,用于判断选取的该些请求对应的时间信息是否处于预设时间阈值区间内;
若是,则进入第一请求聚合单元;
所述第一请求聚合单元,用于将该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
12.根据权利要求10所述的分布式系统中分布式锁服务实现装置,其特征在于,包括:
请求数目判断单元,用于判断接收到的请求数目是否处于预设阈值区间内;
若否,按照预先设置的请求的类型,从接收到的同一类型请求中选取至少两个请求;
第二聚合单元,用于将选取的该些请求聚合为一个请求;
其中,聚合生成的该请求被该些请求对应的会话标识标记。
13.根据权利要求10所述的分布式系统中分布式锁服务实现装置,其特征在于,所述锁操作请求接收发送单元,具体包括:
请求分发子单元,所述代理节点根据所述请求访问资源涉及的逻辑分区,根据预先建立的逻辑分区与物理分区的映射关系,将所述请求发送至所述物理分区对应的Quorum中的服务器。
14.根据权利要求10所述的分布式系统中分布式锁服务实现装置,其特征在于,包括:
响应接收单元,用于接收所述服务端发送的所述锁操作请求的响应;
响应发送单元,用于向相应客户端发送所述锁操作请求的响应。
15.一种分布式系统中基于客户端的分布式锁服务实现方法,其特征在于,包括:
接收用户通过预设的锁服务接口发出的操作请求;
基于该操作请求生成会话注册请求,并向权利要求1所述的代理节点发送;
接收所述代理节点发送的所述会话注册请求对应的会话标识;
根据所述会话标识构造相应锁操作请求,并向所述代理节点发送;
其中,所述锁操作请求被所述会话标识标记。
16.一种分布式系统中基于客户端的分布式锁服务实现装置,其特征在于,包括:
操作请求接收单元,用于接收用户通过预设的锁服务接口发出的操作请求;
会话注册请求生成发送单元,用于基于该操作请求生成会话注册请求,并向权利要求1所述的代理节点发送;
会话标识接收单元,用于接收所述代理节点发送的所述会话注册请求对应的会话标识;
锁操作请求构造发送单元,用于根据所述会话标识构造相应锁操作请求,并向所述代理节点发送;
其中,所述锁操作请求被所述会话标识标记。
17.一种分布式系统中基于服务端的分布式锁服务实现方法,其特征在于,包括:
通过预先创建的代理节点与服务端之间的连接,接收来自权利要求1所述的代理节点的会话注册请求;
基于所述会话注册请求创建相应会话,并生成与所述会话对应的会话标识;
通过所述连接向所述代理节点反馈所述会话标识;
通过所述连接接收所述代理节点发送的锁操作请求;
根据标记所述锁操作请求的会话标识,执行所述锁操作请求的相应锁操作。
18.一种分布式系统中基于服务端的分布式锁服务实现装置,其特征在于,包括:
会话注册请求接收单元,用于通过预先创建的代理节点与服务端之间的连接,接收来自权利要求1所述的代理节点的会话注册请求;
会话标识生成单元,用于基于所述会话注册请求创建相应会话,并生成与所述会话对应的会话标识;
会话标识反馈单元,用于通过所述连接向所述代理节点反馈所述会话标识;
锁操作请求接收单元,用于通过所述连接接收所述代理节点发送的锁操作请求;
锁操作执行单元,用于根据标记所述锁操作请求的会话标识,执行所述锁操作请求的相应锁操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510650637.XA CN106572054B (zh) | 2015-10-09 | 2015-10-09 | 分布式系统中分布式锁服务实现方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510650637.XA CN106572054B (zh) | 2015-10-09 | 2015-10-09 | 分布式系统中分布式锁服务实现方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106572054A CN106572054A (zh) | 2017-04-19 |
CN106572054B true CN106572054B (zh) | 2019-09-17 |
Family
ID=58506126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510650637.XA Active CN106572054B (zh) | 2015-10-09 | 2015-10-09 | 分布式系统中分布式锁服务实现方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106572054B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193654B (zh) * | 2017-05-12 | 2020-11-10 | 广州接入信息科技有限公司 | 分布式系统的资源操作方法及装置、分布式系统 |
CN109257396B (zh) * | 2017-07-12 | 2021-07-09 | 阿里巴巴集团控股有限公司 | 一种分布式锁调度方法及装置 |
CN112035446B (zh) * | 2019-06-03 | 2024-04-19 | 北京沃东天骏信息技术有限公司 | 一种数据抽取的方法、装置及存储介质 |
CN110493340B (zh) * | 2019-08-21 | 2023-08-04 | 北京小米移动软件有限公司 | 分布式系统中的会话方法及装置 |
CN112422602B (zh) * | 2019-08-23 | 2022-02-22 | 阿里巴巴集团控股有限公司 | 分布式协调服务的处理方法及装置、系统 |
CN111212123A (zh) * | 2019-12-26 | 2020-05-29 | 天津中科曙光存储科技有限公司 | 基于ZooKeeper的Lunmap管理方法 |
CN113076187B (zh) * | 2020-01-03 | 2024-01-09 | 阿里巴巴集团控股有限公司 | 分布式锁管理方法及装置 |
CN111367995B (zh) * | 2020-02-10 | 2023-07-21 | 北京百度网讯科技有限公司 | 基于服务锁的数据同步方法及装置、电子设备与存储介质 |
CN112039970B (zh) * | 2020-08-25 | 2023-04-18 | 北京思特奇信息技术股份有限公司 | 一种分布式业务锁服务方法、服务端、系统及存储介质 |
CN112632031A (zh) * | 2020-12-08 | 2021-04-09 | 北京思特奇信息技术股份有限公司 | 分布式内存数据库长连接使用的实现方法及系统、电子设备、存储介质 |
CN114969083B (zh) * | 2022-06-24 | 2024-06-14 | 在线途游(北京)科技有限公司 | 一种实时数据分析方法及系统 |
CN115277712B (zh) * | 2022-07-08 | 2023-07-25 | 北京城市网邻信息技术有限公司 | 分布式锁服务提供方法、装置、系统及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1206080A1 (en) * | 2000-11-08 | 2002-05-15 | Sony International (Europe) GmbH | Computer software product, communication device and resource device for an unmanaged communication network |
CN103997498A (zh) * | 2014-05-27 | 2014-08-20 | 北京京东尚科信息技术有限公司 | 一种分布式锁服务的实现方法及组件 |
CN104486373A (zh) * | 2014-11-21 | 2015-04-01 | 华为技术有限公司 | 一种锁资源迁移方法、节点及分布式系统 |
-
2015
- 2015-10-09 CN CN201510650637.XA patent/CN106572054B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1206080A1 (en) * | 2000-11-08 | 2002-05-15 | Sony International (Europe) GmbH | Computer software product, communication device and resource device for an unmanaged communication network |
CN103997498A (zh) * | 2014-05-27 | 2014-08-20 | 北京京东尚科信息技术有限公司 | 一种分布式锁服务的实现方法及组件 |
CN104486373A (zh) * | 2014-11-21 | 2015-04-01 | 华为技术有限公司 | 一种锁资源迁移方法、节点及分布式系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106572054A (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106572054B (zh) | 分布式系统中分布式锁服务实现方法以及装置 | |
US20240204978A1 (en) | Interface for digital operator platform including response caching | |
US10469460B2 (en) | Data sharing in a blockchain-enabled trust domain | |
CN105245373B (zh) | 一种容器云平台系统的搭建及运行方法 | |
CN105229591B (zh) | 为了存储管理而创建全局聚合命名空间的方法和计算机系统 | |
CN105099761B (zh) | 一种集中管理客户端的配置信息的方法和系统 | |
US8140580B2 (en) | Aggregating persisted operational data in a distributed environment | |
CN108062243B (zh) | 执行计划的生成方法、任务执行方法及装置 | |
TW200525938A (en) | Remote system administration using command line environment | |
CN111245916A (zh) | 基于微服务网关的服务调用方法、服务编排方法及装置 | |
CN110032886A (zh) | 资源权限管理的方法及设备 | |
CN106375458A (zh) | 服务调用系统、方法及装置 | |
CN111464493B (zh) | 一种视联网用户权限的管理方法及装置 | |
CN105208090A (zh) | 一种基于Zookeeper实现Leader选举的方法 | |
CN106648903A (zh) | 调用分布式文件系统的方法和装置 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
CN105868196A (zh) | 一种服务器端工业数据报表生成方法 | |
CN111124589A (zh) | 一种服务发现系统、方法、装置及设备 | |
CN103685535A (zh) | 一种大规模分布异构数据处理的云数据库系统接口设计 | |
AU2014237655A1 (en) | Accessing multiple Converged Infrastructure systems | |
CN107665237A (zh) | 数据结构分类装置、非结构化数据的发布订阅系统及方法 | |
CN104348848A (zh) | 管理图片的方法、终端设备和服务器 | |
CN114268628B (zh) | 跨区块链服务平台组网方法、系统、设备和存储介质 | |
US20110153826A1 (en) | Fault tolerant and scalable load distribution of resources | |
CN109618187B (zh) | 一种视频数据的获取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |