一种资源锁管理方法、相关设备及系统

阅读: 评论:0

著录项
  • CN201610037013.5
  • 20160120
  • CN106991008A
  • 20170728
  • 华为技术有限公司
  • 李祎;邓晓阳
  • G06F9/50
  • G06F9/50 H04L29/08

  • 广东省深圳市龙岗区坂田华为总部办公楼
  • 广东(44)
  • 广州三环专利商标代理有限公司
  • 郝传鑫;熊永强
摘要
本发明实施例公开一种资源锁管理方法、相关设备及系统。所述方法包括:在多站点集系统中,锁代理节点接收到针对目标资源的锁申请;所述锁申请包含所述目标资源的标识信息;所述多站点集系统的各个站点的锁管理节点均单独用于管理所述多站点集系统的全部共享资源的锁;所述全部共享资源包括所述目标资源;响应所述锁申请,所述锁代理节点确定出所述锁代理节点当前所处的站点;所述锁代理节点根据所述目标资源的标识信息,在所述当前所处的站点内查出所述目标资源的锁管理节点;所述锁代理节点向所述目标资源的锁管理节点发送请求,请求持有所述目标资源上的锁。本发明方案可减少站点间的通信,提高加锁效率。
权利要求

1.一种资源锁管理方法,其特征在于,包括:

在多站点集系统中,锁代理节点接收到针对目标资源的锁申请;所述锁 申请包含所述目标资源的标识信息;所述多站点集系统的各个站点的锁管理 节点均单独用于管理所述多站点集系统的全部共享资源的锁;所述全部共享 资源包括所述目标资源;

响应所述锁申请,所述锁代理节点确定出所述锁代理节点当前所处的站点;

所述锁代理节点根据所述目标资源的标识信息,在所述当前所处的站点内 查出所述目标资源的锁管理节点;

所述锁代理节点向所述目标资源的锁管理节点发送请求,请求持有所述目 标资源上的锁。

2.如权利要求1所述的方法,其特征在于,所述多站点集系统的各个站 点各自对应一个用于管理所述多站点集系统的全部共享资源的哈希表,所述 全部共享资源的每一个资源结构在所述哈希表中对应的哈希值用于表征所述资 源结构的锁管理节点;

所述锁代理节点根据所述目标资源的标识信息,在所述当前所处的站点内 查出所述目标资源的锁管理节点,包括:

所述锁代理节点根据所述目标资源的标识信息,计算出所述目标资源对应 的哈希值;

在所述当前所处的站点对应的哈希表中,所述锁代理节点根据所述哈希值 定位出所述目标资源的锁管理节点。

3.如权利要求2所述的方法,其特征在于,所述各个站点各自对应的哈希 表是一致性哈希环。

4.如权利要求3所述的方法,其特征在于,所述在所述当前所处的站点对 应的哈希表中,所述锁代理节点根据所述哈希值定位出所述目标资源的锁管理 节点,包括:在所述当前所处的站点对应的一致性哈希环上,根据所述哈希值 和一致性哈希算法定位出所述目标资源对应的锁管理节点。

5.如权利要求4所述的方法,其特征在于,所述在所述当前所处的站点对 应的一致性哈希环上,根据所述哈希值和一致性哈希算法定位出所述目标资源 对应的锁管理节点,包括:

根据所述哈希值确定出所述目标资源映射在所述哈希环上的位置;

在所述哈希环上,从所述位置沿顺时针方向寻第一个锁管理节点;

将到的所述第一个锁管理节点确定为所述目标资源的锁管理节点。

6.一种网络设备,其特征在于,包括:

接收单元,用于接收到针对目标资源的锁申请;所述锁申请包含所述目标 资源的标识信息;所述多站点集系统的各个站点的锁管理节点均单独用于管 理所述多站点集系统的全部共享资源的锁;所述全部共享资源包括所述目标 资源;

确定单元,用于响应所述锁申请,确定出所述锁代理节点当前所处的站点;

查单元,用于根据所述目标资源的标识信息,在所述当前所处的站点内 查出所述目标资源的锁管理节点;

发送单元,用于向所述目标资源的锁管理节点发送请求,请求持有所述目 标资源上的锁。

7.如权利要求6所述的网络设备,其特征在于,所述多站点集系统的各 个站点各自对应一个用于管理所述多站点集系统的全部共享资源的哈希表, 所述全部共享资源的每一个资源结构在所述哈希表中对应的哈希值用于表征所 述资源结构的锁管理节点;

所述查单元,包括:计算单元和定位单元,其中:

所述计算单元,用于根据所述目标资源的标识信息,计算出所述目标资源 对应的哈希值;

所述定位单元,用于在所述当前所处的站点对应的哈希表中,根据所述哈 希值定位出所述目标资源的锁管理节点。

8.如权利要求7所述的网络设备,其特征在于,所述各个站点各自对应的 哈希表是一致性哈希环。

9.如权利要求8述的网络设备,其特征在于,所述定位单元,具体用于: 在所述当前所处的站点对应的一致性哈希环上,根据所述哈希值和一致性哈希 算法定位出所述目标资源对应的锁管理节点。

10.如权利要求9所述的网络设备,其特征在于,所述定位单元,具体用于:

根据所述哈希值确定出所述目标资源映射在所述哈希环上的位置;

在所述哈希环上,从所述位置沿顺时针方向寻第一个锁管理节点;

将到的所述第一个锁管理节点确定为所述目标资源的锁管理节点。

11.一种服务器,其特征在于,包括:存储器以及与所述存储器耦合的处 理器、发射器和接收器,其中:所述处理器读取所述存储器中存储的指令,用 于执行以下步骤:

在多站点集系统中,利用所述接收器接收到针对目标资源的锁申请;所 述锁申请包含所述目标资源的标识信息;所述多站点集系统的各个站点的锁 管理节点均单独用于管理所述多站点集系统的全部共享资源的锁;所述全部 共享资源包括所述目标资源;

响应所述锁申请,确定出所述锁代理节点当前所处的站点;

根据所述目标资源的标识信息,在所述当前所处的站点内查出所述目标 资源的锁管理节点;

利用所述发射器向所述目标资源的锁管理节点发送请求,请求持有所述目 标资源上的锁。

12.一种资源锁管理系统,其特征在于,包括:锁代理节点和锁管理节点, 其中:

所述锁代理节点用于:接收到针对目标资源的锁申请;响应所述锁申请, 确定出所述锁代理节点当前所处的站点;根据所述锁申请中包含的目标资源的 标识信息,在所述当前所处的站点内查出所述目标资源的锁管理节点;向所 述目标资源的锁管理节点发送请求,请求持有所述目标资源上的锁;其中,所 述多站点集系统的各个站点的锁管理节点均单独用于管理所述多站点集系 统的全部共享资源的锁;所述全部共享资源包括所述目标资源;

所述锁管理节点用于响应所述请求,分配所述目标资源的锁给所述锁代理 节点。

说明书
技术领域

本发明涉及计算机网络技术领域,尤其涉及一种资源锁管理方法、相 关设备及系统。

分布式锁管理(Distributed Lock Management,DLM)可以为集系统 中的相互操作的进程提供同步访问共享资源的机制。共享资源可以是集 中的任何实体,例如文件、数据结构、磁盘设备、可执行程序等。

集的分布式锁管理系统主要可包括:锁代理节点和锁管理节点。锁 管理节点是共享资源的资源锁的管理者。锁代理节点是锁管理节点的代理, 用于接收应用发送的针对共享资源的资源锁申请,并向锁管理节点请求持 有所述共享资源的资源锁。

在现有的多站点集系统的分布式锁管理技术中,所述集系统的全 部共享资源的锁由所述集系统的全部站点所包含的锁管理节点共同管理。 当接收到应用发送的针对某共享资源的锁申请时,锁代理节点需要在整个 所述集系统中查该共享资源的锁管理节点,并向该共享资源的锁管理 节点请求持有该共享资源的资源锁。

实际应用中,所述锁管理节点与所述锁代理节点很可能分布在不同的 站点中,例如,站点A中的锁代理节点接收到应用层提交的针对共享资源B 的资源锁申请,而管理共享资源B的资源锁的锁管理节点处于站点C中。这 样会导致大量的站点间通信,降低了加锁效率。尤其在高并发业务场景下, 时延和可靠性都会受集间的链路带宽限制,处理性能会有所下降。

本发明实施例提供了一种资源锁管理方法、相关设备及系统,可减少 站点间的通信,提高加锁效率。

第一方面,提供了一种资源锁管理方法,包括:在多站点集系统中, 锁代理节点接收到针对目标资源的锁申请,并响应所述锁申请,确定出所 述锁代理节点当前所处的站点,之后,所述锁代理节点可以根据所述锁申 请中包含的所述目标资源的标识信息,在所述当前所处的站点内查出所 述目标资源的锁管理节点;最后,所述锁代理节点可以向所述目标资源的 锁管理节点发送请求,请求持有所述目标资源上的锁。

具体的,所述多站点集系统的各个站点的锁管理节点均单独用于管 理所述多站点集系统的全部共享资源的锁;所述全部共享资源包括所述 目标资源。

通过实施第一方面描述的方法,可实现处理所述目标资源的锁申请的 锁代理节点与锁管理节点处于同一站点中,将二者之间的通信限制在站点 内,可提高加锁操作的效率和可靠性。

本发明实施例中,所述多站点集系统的各个站点可以各自对应一个 用于管理所述多站点集系统的全部共享资源的哈希表,所述全部共享资 源的每一个资源结构在所述哈希表中对应的哈希值用于表征所述资源结构 的锁管理节点。

具体实现方式中,所述锁代理节点可以根据所述目标资源的标识信息, 计算出所述目标资源对应的哈希值,并在所述当前所处的站点对应的哈希 表中,根据所述哈希值定位出所述目标资源的锁管理节点。

本发明实施例中,所述各个站点各自对应的哈希表可以是一致性哈希 环。

具体实现方式中,所述锁代理节点可以在所述当前所处的站点对应的 一致性哈希环上,根据所述哈希值和一致性哈希算法定位出所述目标资源 对应的锁管理节点。

具体的,所述锁代理节点在所述当前所处的站点对应的一致性哈希环 上,根据所述哈希值和一致性哈希算法定位出所述目标资源对应的锁管理 节点,可包括:所述锁代理节点根据所述哈希值确定出所述目标资源映射 在所述哈希环上的位置,并在所述哈希环上,从所述位置沿顺时针方向寻 第一个锁管理节点,最后将到的所述第一个锁管理节点确定为所述目 标资源的锁管理节点。

第二方面,提供了一种网络设备,所述网络设备包括用于执行第一方 面描述的资源锁管理方法的单元。

第三方面,提供了一种服务器,用于执行第一方面描述的资源锁管理 方法。所述服务器包括存储器以及与所述存储器耦合的处理器、接收器和 发射器,其中:所述接收器用于向外部设备发送数据,所述发射器用于从 外部设备接收数据。所述存储器用于存储第一方面描述的资源锁管理方法 的实现代码,所述处理器用于执行所述存储器中存储的程序代码,即执行 第一方面描述的资源锁管理方法。

第四方面,提供了一种资源锁管理系统,包括:锁代理节点和锁管理 节点,其中:

所述锁代理节点用于:接收到针对目标资源的锁申请;响应所述锁申 请,确定出所述锁代理节点当前所处的站点;根据所述锁申请中包含的目 标资源的标识信息,在所述当前所处的站点内查出所述目标资源的锁管 理节点;向所述目标资源的锁管理节点发送请求,请求持有所述目标资源 上的锁;其中,所述多站点集系统的各个站点的锁管理节点均单独用于 管理所述多站点集系统的全部共享资源的锁;所述全部共享资源包括所 述目标资源;

所述锁管理节点用于响应所述请求,分配所述目标资源的锁给所述锁 代理节点。

具体实现中,所述锁代理节点可以是第二方面描述的网络设备,也可 以是第三方面描述的服务器。

第五方面,提供了一种计算机可读存储介质,所述可读存储介质上存 储有实现第一方面描述的资源锁管理方法的程序代码,该程序代码包含运 行第一方面描述的资源锁管理方法的执行指令。

实施本发明实施例,多站点集系统中的各个站点均均单独用于管理 所述集系统的全部共享资源的锁;当锁代理节点接收到客户端发送的针 对目标资源(属于所述全部共享资源)的锁权限申请时,所述锁代理节点 会在所述锁代理节点当前所处的站点内查所述目标资源的锁管理节点, 并向查到的锁管理节点请求持有所述目标资源的锁。上述方案可实现将 锁代理节点与锁管理节点之间的通信局限在同一个站点内,大大减少站点 间的通信,提高了加锁效率。

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述 中所需要使用的附图作简单地介绍。

图1是本发明实施例涉及的双站点集系统中现有的分布式锁管理的 系统架构;

图2是本发明方案在双站点集系统中的应用示例图;

图3是本发明实施例提供的资源锁管理方法的流程示意图;

图4是多站点集系统中的共享资源的管理示意图;

图5是利用一致性哈希算法定位出共享资源的锁管理节点的示意图;

图6是本发明实施例提供的一种网络设备的结构示意图;

图7是本发明实施例提供的一种服务器的结构示意图;

图8是本发明实施例提供的一种资源锁管理系统的结构示意图。

本发明的实施方式部分使用的专业术语仅用于对本发明的具体实施例 进行解释,而非旨在限定本发明。下面将结合本发明实施例中的附图,对 本发明实施例中的技术方案进行清楚地描述。

为了便于了解本发明实施例,首先,结合图1说明双站点集系统的 现有的分布式锁管理技术。

参见图1,图1示出了双站点集系统中现有的分布式锁管理的系统架 构。图1所示的双站点集系统又称为可称为双活集系统,是指两个站 点都处于运行状态,可以同时承担相同业务,提高双活集系统的整体服 务能力和系统资源利用率。并且,该两个站点互为备份,当其中一个站点 出现故障时,业务能自动切换到另一个站点,实现业务不中断。

本发明实施例中,站点(site)是指在物理上具有较好的线路连接的能 实现较快通信速率的计算机的集合(一般是指一个局域网)。站点之间一般 是通过慢速连接来实现信息通信(一般是指广域网)。站点是对网上计算机 的实际物理分布的一种客观反映。

如图1所示,该双站点集系统包括:站点1和站点2,其中,各个站 点均包括1个锁代理节点和3个锁管理节点。锁代理节点和锁管理节点分 布在双活集系统中的各个物理节点上,它们可以通过PCIE链路或者以太 网专线业务(Ethernet Private Line,EPL)链路等进行通信。

现有技术中,在图1所示的双站点集系统中,站点1和站点2所包 含的全部锁管理节点共同管理双站点集系统中的共享资源的资源锁。假 设,共享资源包括:共享资源A、B、…、K、L,则一个锁管理节点对应 管理部分共享资源的锁,如表1所示:

共享资源名称 对应的锁管理节点

共享资源A、B 锁管理节点1

共享资源C、D 锁管理节点2

共享资源E、F 锁管理节点3

… …

… …

共享资源K、L 锁管理节点6

表1

具体实现中,如图1所示,站点1的锁管理节点和站点2的锁管理节 点可以共同构成一个一致性哈希环。当锁代理节点2接收到客户端发送的 针对目标资源,例如共享资源A,的锁申请时,锁代理节点2可以根据一 致性哈希算法分析出所述目标资源(即共享资源A)的锁管理节点是:锁 管理节点1。之后,锁代理节点2向锁管理节点1发送针对所述目标资源的 加锁请求,请求持有所述目标资源的锁。

可以理解的,由于锁代理节点2与锁管理节点1分别处于不同的站点 中,因此,所述目标资源的锁申请可能会引发站点1与站点2间的通信, 加锁效率较低。

与图1所示的双站点集系统相同,现有技术中,多站点集系统的 各个站点所包含的全部锁管理节点共同管理多站点集系统中的共享资源 的资源锁。这样会导致大量的站点间通信,尤其在高并发业务场景下的加 锁时延和可靠性会受站点间的链路带宽限制,存在风险。

为了解决现有技术的问题,本发明实施例提供了一种资源锁管理方法、 相关设备及系统。在所述方法中,多站点集系统中的各个站点均均单独 用于管理所述集系统的全部共享资源的锁;当锁代理节点接收到客户端 发送的针对目标资源(属于所述全部共享资源)的锁权限申请时,所述锁 代理节点会在所述锁代理节点当前所处的站点内查所述目标资源的锁管 理节点,并向查到的锁管理节点请求持有所述目标资源的锁。上述方案 可实现处理同一锁申请的锁代理节点和锁管理节点位于同一个站点内,大 大减少站点间的通信,提高加锁效率。下面将结合附图进行详细说明。

参见图2,图2是本发明方案在双站点集系统中的应用示例。

如图2所示,站点1的锁管理节点和站点2的锁管理节点均单独用于 管理所述双站点集系统的全部共享资源的锁。假设,所述全部共享资源 包括:共享资源A、B、…、K、L,则站点1的锁管理节点可用于管理所 述全部共享资源的锁,如表2所示:

共享资源名称 对应的锁管理节点

共享资源A、B、C、D 锁管理节点1

共享资源E、F、G、H 锁管理节点2

共享资源I、J、K、L 锁管理节点3

表2

则站点2的锁管理节点可用于管理所述全部共享资源的锁,如表3所示:

共享资源名称 对应的锁管理节点

共享资源A、B、C、D 锁管理节点4

共享资源E、F、G、H 锁管理节点5

共享资源I、J、K、L 锁管理节点6

表3

需要说明的,表2、表3仅仅是本发明实施例的一种实现方式,实际应 用中可以不同,不应构成限定。

本发明实施例中,如图2所示,站点1的锁管理节点和站点2的锁管 理节点分别可以构成一致性哈希环。

举例来说,当锁代理节点2接收到客户端发送的针对目标资源,例如 共享资源A,的锁申请时,锁代理节点2可以在站点2内,根据一致性哈 希算法分析出所述目标资源(即共享资源A)的锁管理节点是:锁管理节 点4。之后,锁代理节点2可以向锁管理节点4发送针对所述目标资源的加 锁请求,请求持有所述目标资源的锁。

可以理解的,由于锁代理节点2与锁管理节点4处于同一站点(即站 点2)中,因此,二者之间的相互通信是属于站点2内的通信,可提高加锁 操作的效率和可靠性。

与本发明方案在双站点集系统中的应用类似,本发明方案在多站点 集系统中的应用:所述多站点集系统的各个站点的锁管理节点分别用 于管理共享资源的资源锁;当代理节点接收到客户端发送的针对目标资源 (属于多站点集系统的全部共享资源)的锁申请时,所述锁代理节点会 在所述锁代理节点当前所处的站点内查所述目标资源的锁管理节点,并 向查到的锁管理节点请求持有所述目标资源的锁。实施本发明方案,上 述方案可实现将锁代理节点与锁管理节点之间的通信局限在同一个站点内, 大大减少站点间的通信,提高了加锁效率。

参见图3,图3是本发明实施例提供的资源锁管理方法的流程示意图。 如图3所示,所述方法包括:

S101,在多站点集系统中,代理节点接收到针对目标资源的锁申请。 具体的,所述锁申请可包含所述目标资源的标识信息。

本发明实施例中,所述多站点集系统的各个站点的锁管理节点均可 单独用于管理所述多站点集系统的全部共享资源的锁,其中,所述全部 共享资源包括所述目标资源。

本发明实施例中,所述目标资源的标识信息可以是所述目标资源的资 源名称,也可以是其他能够用于唯一标识所述目标资源的信息,这里不作 限制。

S103,响应所述锁申请,所述锁代理节点确定出所述锁代理节点当前 所处的站点。

S105,所述锁代理节点根据所述目标资源的标识信息,在所述当前所 处的站点内查出所述目标资源的锁管理节点。

S107,所述锁代理节点向所述目标资源的锁管理节点发送请求,请求 持有所述目标资源上的锁。

如图4所示,所述全部共享资源可以是一个资源池,其基本单位是资源 结构,每一个资源结构的主要信息可包括:资源结构名称(如“TM-1234-0”)、 所有者地址、等待者地址和转换者。

本发明实施例中,各个站点可以各自对应一个用于管理所述全部共享 资源的哈希表。所述全部共享资源的每一个资源结构在哈希表中对应的哈 希值可用于表征该资源结构对应的锁管理节点。例如,资源结构 对应的哈希值为:2,则表示资源结构的锁管理节点是:节点2。

具体实现中,在确定出所述锁代理节点当前所处的站点之后,所述锁 代理节点可以根据所述目标资源的标识信息,例如资源名称,计算出所述 目标资源对应的哈希值,在所述锁代理节点当前所处的站点对应的哈希表 中,根据所述哈希值定位出所述目标资源的锁管理节点。

例如,如图4所示,所述目标资源是资源结构,其资源名 称是“TM-1234-0”,那么,所述锁代理节点可以计算出资源结构 对应的哈希值为:2,然后根据该哈希值确定出资源结构的锁 管理节点是:节点2。

为了适应动态的分布式网络结构和便于所述多站点集系统的共享资 源的管理,所述各个站点各自对应的哈希表可以是一致性哈希环。例如, 如图2所示的双站点集系统中,站点1和站点2各自对应一个用于管理所述 全部共享资源的一致性哈希环。

具体实现中,所述锁代理节点可以在所述目标站点对应的一致性哈希 环上,根据所述哈希值和一致性哈希算法定位出所述目标资源对应的锁管 理节点。具体的,所述锁代理节点可以根据所述哈希值确定出所述目标资 源映射在所述哈希环上的位置,然后在所述哈希环上,从所述位置沿顺时 针方向寻第一个锁管理节点;最后将到的所述第一个锁管理节点确定 为所述目标资源的锁管理节点。

举例说明,假设所述目标资源是资源结构,其资源名称是 “TM-1234-0”,所述锁代理节点当前所处站点对应的一致性哈希环如图5 所示。那么,如图5所示,所述锁代理节点可以根据资源名称“TM-1234-0” 计算出资源结构对应的哈希值为:2,根据该哈希值确定出资 源结构在该哈希环上的位置为:位置a,然后从位置a开始沿 顺时针方向寻,可将遇到的第一个锁管理节点确定为资源结构 的锁管理节点。

需要说明的,示例仅仅用于对本发明实施例进行解释,不应构成限定。

本发明实施例中,可以通过以下几种可能的方式确定出所述锁代理节 点当前所处的站点:方式一,所述锁代理节点当前所处的站点可以是由锁 用户利用客户端选择的;方式二,所述锁代理节点可以利用定位装置获取 到所述锁代理节点的地理位置,然后将与该地理位置一致的站点确定为所 述锁代理节点当前所处的站点;例如,如果所述锁代理节点的地理位置在 纽约,则所述锁代理节点当前所处的站点可以是纽约境内的站点;方式三, 所述锁代理节点可以根据所述锁代理节点的网络标识信息分析出所述锁代 理节点所处的局域网,进而根据该局域网确定出所述锁代理节点所处的站 点。需要说明的,实际应用中,还可以通过其他方式确定出所述锁代理节 点所处的站点,这里不作限制。

在具体实施本发明方案时,为了便于管理所述多站点集系统中的锁 操作,可以引入锁管理域(DLM Zone)这一概念,所述各个站点各自对应 一个锁管理域,分别用于限定各个站点内的锁操作。所述各个站点各自对 应锁管理域包括所述各个站点的锁管理节点。

例如,在图2所示的双站点集系统中,站点1可以对应锁管理域1, 站点2可以对应锁管理域2,其中,锁管理域1包括站点1内的锁管理节点, 锁管理域2包括站点2内的锁管理节点。实际应用中,站点1的锁用户可 以选择在锁管理域1中申请所述目标资源的锁,站点2的锁用户可以选择 在锁管理域2中申请所述目标资源的锁。具体的,如图2所示,各个锁管 理域可各自对应一个包含锁管理节点的一致性哈希环。

具体实现中,可以通过以下步骤申请所述目标资源的锁:

步骤一,锁用户可以根据自己所在的站点,利用客户端选择合适的锁 管理域,并向该站点内的锁代理节点申请所述目标资源的锁,例如,站点1 的锁用户选择在锁管理域1中申请所述目标资源的锁;

步骤二,锁代理节点可以在用户选择的锁管理域内查所述目标资源 的锁管理节点;具体的,锁代理节点可以在该锁管理域对应的一致性哈希 上定位出所述目标资源的锁管理节点;

步骤三,锁代理节点向所述目标资源的锁管理节点请求持有所述目标 资源的锁。

可以理解的,由于处理所述锁申请的锁管理域已经被锁用户指定,因 此,处理所述锁申请的锁代理节点和锁管理节点之间的通信被限制在了同 一站点(即锁用户选择的锁管理域对应的站点)内,提高了加锁效率。

本发明方案中,多站点集系统中的各个站点均均单独用于管理所述 集系统的全部共享资源的锁;当锁代理节点接收到客户端发送的针对目 标资源(属于所述全部共享资源)的锁权限申请时,所述锁代理节点会在 所述锁代理节点当前所处的站点内查所述目标资源的锁管理节点,并向 查到的锁管理节点请求持有所述目标资源的锁。上述方案可实现处理同 一锁申请的锁代理节点和锁管理节点位于同一个站点内,大大减少站点间 的通信,提高加锁效率。

参见图6,图6是本发明实施例提供的网络设备的结构示意图。如图6所 示,网络设备60可包括:接收单元601、确定单元603、查单元605和发送 单元607,其中:

接收单元601,用于接收到针对目标资源的锁申请;所述锁申请包含所 述目标资源的标识信息;

确定单元603,用于响应所述锁申请,确定出所述锁代理节点当前所处 的站点;

查单元605,用于根据所述目标资源的标识信息,在所述当前所处的 站点内查出所述目标资源的锁管理节点;

发送单元607,用于向所述目标资源的锁管理节点发送请求,请求持有 所述目标资源上的锁。

本发明实施例中,所述多站点集系统的各个站点的锁管理节点均单 独用于管理所述多站点集系统的全部共享资源的锁,其中,所述全部共 享资源包括所述目标资源。

本发明实施例中,所述目标资源的标识信息可以是所述目标资源的资 源名称,也可以是其他能够用于唯一标识所述目标资源的信息,这里不作 限制。

本发明实施例中,各个站点可以各自对应一个用于管理所述全部共享 资源的哈希表。所述全部共享资源的每一个资源结构在哈希表中对应的哈 希值可用于表征该资源结构对应的锁管理节点。

具体实现中,在确定单元603确定出所述锁代理节点当前所处的站点之 后,查单元605可以根据所述目标资源的标识信息,例如资源名称,定位 出所述目标资源的锁管理节点。

具体的,查单元605可进一步的包括:计算单元和定位单元,其中:

所述计算单元,可用于根据所述目标资源的标识信息,计算出所述目 标资源对应的哈希值;

所述定位单元,可用于在所述当前所处的站点对应的哈希表中,根据 所述哈希值定位出所述目标资源的锁管理节点。

为了适应动态的分布式网络结构和便于所述多站点集系统的共享资 源的管理,所述各个站点各自对应的哈希表可以是一致性哈希环。

本发明实施例中,所述定位单元可具体用于:在所述当前所处的站点 对应的一致性哈希环上,根据所述哈希值和一致性哈希算法定位出所述目 标资源对应的锁管理节点。

具体的,所述定位单元可具体用于:根据所述哈希值确定出所述目标 资源映射在所述哈希环上的位置;在所述哈希环上,从所述位置沿顺时针 方向寻第一个锁管理节点;将到的所述第一个锁管理节点确定为所述 目标资源的锁管理节点。

本发明实施例中,确定单元603可以通过以下几种可能的方式确定出 所述锁代理节点当前所处的站点:方式一,确定单元603可以接收锁用户 利用客户端选择的站点为所述锁代理节点当前所处的站点;方式二,确定 单元603可以利用定位装置获取到所述锁代理节点的地理位置,然后将与 该地理位置一致的站点确定为所述锁代理节点当前所处的站点;例如,如 果所述锁代理节点的地理位置在纽约,则所述锁代理节点当前所处的站点 可以是纽约境内的站点;方式三,确定单元603可以根据所述锁代理节点 的网络标识信息分析出所述锁代理节点所处的局域网,进而根据该局域网 确定出所述锁代理节点所处的站点。需要说明的,实际应用中,确定单元 603还可以通过其他方式确定出所述锁代理节点所处的站点,这里不作限制。

需要说明的,网络设备60包括的各个功能单元的实现方式可参考前述 方法实施例的内容,这里不再赘述。

为了便于实施本发明方案,本发明实施例提供了一种服务器。所述服 务器用于执行图3方法实施例描述的资源锁管理方法。参见图7,服务器70 可包括:发射器703、接收器704、存储器702以及与存储器702耦合的处理 器701(服务器70中的处理器701的数量可以是一个或多个,图7中以一个处 理器为例)。在本发明的一些实施例中,发射器703、接收器704、存储器702 和处理器701可通过总线或者其它方式连接,其中,图7中以通过总线连接 为例。

其中,发射器703,可用于向其他设备发送数据;接收器704,可用于 从其他设备接收数据。具体实现中,发射器703可包括无线发射模块、有线 发射模块等器件;接收器704可包括无线接收模块、有线接收模块等器件。 存储器702可用于存储程序代码,具体实现中,存储器702可以采用只读存 储器(Read Only Memory,ROM),可用于存储前述方法实施例所描述的锁 管理方法的实现代码。处理器701,例如CPU,用于调用存储于存储器702 中程序代码执行如下步骤:

在多站点集系统中,利用接收器704接收到针对目标资源的锁申请; 所述锁申请包含所述目标资源的标识信息;

响应所述锁申请,确定出所述锁代理节点当前所处的站点;

根据所述目标资源的标识信息,在所述当前所处的站点内查出所述 目标资源的锁管理节点;

利用发射器703向所述目标资源的锁管理节点发送请求,请求持有所述 目标资源上的锁。

本发明实施例中,所述多站点集系统的各个站点的锁管理节点均可 单独用于管理所述多站点集系统的全部共享资源的锁,其中,所述全部 共享资源包括所述目标资源。

本发明实施例中,所述目标资源的标识信息可以是所述目标资源的资 源名称,也可以是其他能够用于唯一标识所述目标资源的信息,这里不作 限制。

本发明实施例中,所述全部共享资源可以是一个资源池,其基本单位 是资源结构。各个站点可以各自对应一个用于管理所述全部共享资源的哈 希表。所述全部共享资源的每一个资源结构在哈希表中对应的哈希值可用 于表征该资源结构对应的锁管理节点。例如,资源结构对应的 哈希值为:2,则表示资源结构的锁管理节点是:节点2。

具体实现中,在确定出所述锁代理节点当前所处的站点之后,处理器 701可以根据所述目标资源的标识信息,例如资源名称,计算出所述目标资 源对应的哈希值,在所述锁代理节点当前所处的站点对应的哈希表中,根 据所述哈希值定位出所述目标资源的锁管理节点。

为了适应动态的分布式网络结构和便于所述多站点集系统的共享资 源的管理,所述各个站点各自对应的哈希表可以是一致性哈希环。例如, 如图2所示的双站点集系统中,站点1和站点2各自对应一个用于管理所述 全部共享资源的一致性哈希环。

具体实现中,处理器701可以在所述目标站点对应的一致性哈希环上, 根据所述哈希值和一致性哈希算法定位出所述目标资源对应的锁管理节点。 具体的,处理器701可以根据所述哈希值确定出所述目标资源映射在所述哈 希环上的位置,然后在所述哈希环上,从所述位置沿顺时针方向寻第一 个锁管理节点;最后将到的所述第一个锁管理节点确定为所述目标资源 的锁管理节点。

本发明实施例中,可以通过以下几种可能的方式确定出所述锁代理节 点当前所处的站点:方式一,处理器701可以接收锁用户利用客户端选择 的站点为所述锁代理节点当前所处的站点;方式二,处理器701可以利用 定位装置获取到所述锁代理节点的地理位置,然后将与该地理位置一致的 站点确定为所述锁代理节点当前所处的站点;例如,如果所述锁代理节点 的地理位置在纽约,则所述锁代理节点当前所处的站点可以是纽约境内的 站点;方式三,处理器701可以根据所述锁代理节点的网络标识信息分析 出所述锁代理节点所处的局域网,进而根据该局域网确定出所述锁代理节 点所处的站点。需要说明的,实际应用中,处理器701还可以通过其他方 式确定出所述锁代理节点所处的站点,这里不作限制。

可理解的,处理器701的具体执行步骤还可参考前述方法实施例部分 的内容,此处不再赘述。

另外,本发明实施例还提供了一种资源锁管理系统。参见图8,锁管理 系统80可包括:锁代理节点801和锁管理节点802,其中:

锁代理节点801可用于:接收到针对目标资源的锁申请;响应所述锁申 请,确定出所述锁代理节点当前所处的站点;根据所述锁申请中包含的目 标资源的标识信息,在所述当前所处的站点内查出所述目标资源的锁管 理节点;向所述目标资源的锁管理节点发送请求,请求持有所述目标资源 上的锁;其中,所述多站点集系统的各个站点的锁管理节点均单独用于 管理所述多站点集系统的全部共享资源的锁;所述全部共享资源包括所 述目标资源;

锁管理节点802用于响应所述请求,分配所述目标资源的锁给锁代理节 点801。

需要说明的,锁管理系统80可包括多个锁管理节点和多个锁代理节点, 所述多个锁管理节点和所述多个锁代理节点可以分布在所述多站点集系 统的不同的站点中。

可以理解的,在本发明方案中,用于处理所述目标资源的锁申请的锁 代理节点801和锁管理节点802处于同一站点中,可提高加锁效率。

具体实现中,锁代理节点801的可以是图6所示的网络设备60,也可 以是图7所示的服务器70。

具体的,锁代理节点801的功能可具体参考图3方法实施例中内容来 实现,这里不再赘述。

综上所述,实施本发明实施例,多站点集系统中的各个站点均均单 独用于管理所述集系统的全部共享资源的锁;当锁代理节点接收到客户 端发送的针对目标资源(属于所述全部共享资源)的锁权限申请时,所述 锁代理节点会在所述锁代理节点当前所处的站点内查所述目标资源的锁 管理节点,并向查到的锁管理节点请求持有所述目标资源的锁。上述方 案可实现处理同一锁申请的锁代理节点和锁管理节点位于同一个站点内, 大大减少站点间的通信,提高加锁效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储 于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实 施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体 (Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory, RAM)等。

本文发布于:2023-04-14 05:48:59,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/86032.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图