[发明专利]一种分布式锁管理方法和装置有效
申请号: | 201910707932.2 | 申请日: | 2019-08-01 |
公开(公告)号: | CN110430258B | 公开(公告)日: | 2021-12-24 |
发明(设计)人: | 赵志强 | 申请(专利权)人: | 赵志强 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 刘强 |
地址: | 150000 黑龙江省哈尔*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 管理 方法 装置 | ||
本发明公开了一种分布式锁管理方法和装置,涉及计算机技术领域。该方法包括:在接收到事务的加锁请求后,通过查询局部知识配置表判断所述事务的访问数据是否位于本计算机集群中;在所述事务的访问数据位于本计算机集群的情况下,根据该事务的预估处理时间或者该事务来源的网络带宽,将所述事务的加锁请求放入与之对应的待处理请求队列中,并为所述事务分配唯一锁申请码;在所述事务的加锁请求位于队列头部时,根据为所述事务分配的唯一锁申请码判断是否满足锁授权条件,并在满足锁授权条件时为所述事务授予锁。通过以上步骤,能够解决在多层异构带宽网络下应用现有的分布式锁管理方法时所存在的处理效率低、容易出现锁冲突等问题。
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式锁管理方法和装置。
背景技术
由于现今工作负载可以容纳在少数几台计算机的内存中,同时通过支持远程直接内存访问(RDMA)网络协议可以比使用传统架构更快地处理工作负载,因此分布式内存系统变得更加普遍。
锁管理器是现代分布式系统的重要组成部分,其构成了许多分布式系统通过网络访问共享资源的支柱。在事务管理中,锁管理器的主要职责是确保竞争性事务的可串行化或其他形式的隔离和无饥饿行为。目前,分布式锁管理器主要包括集中式锁管理器(CLM)和分散式锁管理器(DLM)。其中,CLM的优点是具有全局知识,缺点是它的CPU限制了高吞吐量操作和工作负载的扩展、以及存在单点故障问题,因此许多分布式系统在实践中并不采用CLM,而是采用DLM。
在实现本发明的过程中,本发明的发明人发现:第一、现有的基于RDMA的DLM采用完全牺牲全局知识或者通过昂贵的网络通信来维持全局知识的极端处理方式,前者将导致锁饥饿和访问延迟等问题,后者将导致吞吐量下降等问题。第二、在复杂的异构融合网络场景下,若对所有来源的锁请求放在一个队列中进行处理,会存在处理效率低、容易出现锁冲突等问题。
因此,针对以上不足,需要提供一种适用于多层异构带宽的分布式锁管理方法和装置。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是解决在多层异构带宽网络下应用现有的分布式锁管理方法时所存在的处理效率低、容易出现锁冲突等问题。
(二)技术方案
为了解决上述技术问题,一方面,本发明提供了一种分布式锁管理方法。
本发明提供的分布式锁管理方法包括:在接收到事务的加锁请求后,通过查询局部知识配置表判断所述事务的访问数据是否位于本计算机集群中;其中,所述局部知识配置表记录有本计算机集群中的数据的信息;在所述事务的访问数据位于本计算机集群的情况下,根据该事务的预估处理时间或者该事务来源的网络带宽,将所述事务的加锁请求放入与之对应的待处理请求队列中,并为所述事务分配唯一锁申请码;在所述事务的加锁请求位于队列头部时,根据为所述事务分配的唯一锁申请码判断是否满足锁授权条件,并在满足锁授权条件时为所述事务授予锁。
可选地,所述方法还包括:在所述事务的访问数据不位于本计算机集群的情况下,将所述事务的加锁请求发送至访问数据所在的计算机集群,以由所述访问数据所在的计算机集群对所述事务的加锁请求进行处理。
可选地,所述唯一锁申请码包括:ticket.nx、ticket.ns、ticket.maxx和ticket.maxs;其中,ticket.nx表示在为所述事务分配唯一锁申请码时已处理独占锁的事务数、ticket.ns表示在为所述事务分配唯一锁申请码时已处理共享锁的事务数、ticket.maxx表示在为所述事务分配唯一锁申请码时申请独占锁的最大事务序号、ticket.maxs表示在为所述事务分配唯一锁申请码时申请共享锁的最大事务序号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于赵志强,未经赵志强许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910707932.2/2.html,转载请声明来源钻瓜专利网。