[发明专利]事务加锁、解锁方法及装置有效

专利信息
申请号: 201210548053.8 申请日: 2012-12-17
公开(公告)号: CN103064898A 公开(公告)日: 2013-04-24
发明(设计)人: 王传廷;黄文龙 申请(专利权)人: 华为技术有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 暂无信息 代理人: 暂无信息
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 事务 加锁 解锁 方法 装置
【说明书】:

技术领域

发明涉及数据库集群技术领域,尤其涉及事务加锁、解锁方法及装置。

背景技术

数据库集群技术是将多台服务器联合起来组成集群以实现综合性能优于单个大型服务器的技术。目前有两种主流的数据库集群架构:共享磁盘(Shared-Disk)数据库集群与无共享(Shared-Nothing)数据库集群。

图1描述了一种共享磁盘数据库集群架构,包括共享磁盘、成员节点和中心节点,其中,共享磁盘负责数据的存储,以便于数据在各成员节点之间共享,成员节点用于访问和修改共享磁盘中的数据,中心节点用于协调各成员节点对共享磁盘的并发访问。

事务是数据库系统提供的重要功能之一,事务由一条或多条语句组成,锁机制是实现事务的核心技术,它关系到事务功能能否实现、数据库系统的性能和吞吐量、以及数据库系统的稳定性。利用锁机制可以对事务中的数据对象进行控制,以限制其他事务对该数据对象的使用。为保证数据的一致性,不同成员节点访问事务中的数据对象时,由锁管理系统来进行并发控制,成员节点上存在本地锁管理器(Local Lock Manger,LLM),中心节点上存在全局锁管理器(Global Lock Manager,GLM),LLM负责本地成员节点内部的加锁和解锁处理,GLM负责成员节点之间的加锁和解锁的协调处理。

在上述共享磁盘数据库架构下,现有技术提供了一种事务加锁或解锁方法,包括:(1)LLM确定事务的加锁或解锁请求能否在本地满足;(2)如满足,事务加锁或解锁成功;否则,LLM向GLM发送事务的加锁或解锁请求;(3)GLM收到LLM发送的加锁或解锁请求,确定LLM发送的加锁或解锁请求是否满足,如满足,通知LLM加锁或解锁成功;(4)LLM从GLM获得该事务加锁或解锁成功的消息。

发明人发现上述现有技术至少存在如下技术问题:由于一个事务包含一条或多条语句,当事务中的一条或多条语句访问不同的锁时,LLM需要每次都向GLM发送加锁或解锁请求,对于解锁请求,几乎是在事务结束的瞬间同时通过LLM发送给GLM,这样在短时间内就会对消息通道造成极大的压力,造成消息延迟非常大,对数据库集群的线性扩展有很大影响。

发明内容

本发明实施例提供事务加锁、解锁方法及装置,可以减少事务开始和结束时LLM向GLM发送的加锁或解锁请求的数量,降低了消息延迟,提高了集群的线性扩展能力。

第一方面,本发明提供了一种事务加锁或解锁方法,包括:

本地锁管理器LLM接收事务的加锁或解锁请求,所述事务的加锁或解锁请求用于请求对所述事务中语句的数据对象进行加锁或解锁;所述LLM在确定所述事务的加锁或解锁请求不能在本地满足时,将所述事务的加锁或解锁请求放入批量消息包,所述批量消息包用于存放多个加锁或解锁请求;所述LLM判断所述批量消息包是否满足批量条件;在所述批量消息包满足批量条件时,所述LLM将所述批量消息包发送给全局锁管理器GLM,以便于所述GLM对所述批量消息包中加锁或解锁请求进行处理。

在第一种可能的实现方式中,结合第一方面,所述LLM判断所述批量消息包是否满足批量条件包括:所述LLM判断所述批量消息包中加锁或解锁请求的数量是否满足批量阈值;其中,所述批量阈值用于指示所述批量消息包中存放的加锁或解锁请求的最大数量。

在第二种可能的实现方式中,结合第一方面,所述LLM判断所述批量消息包是否满足批量条件包括:所述LLM判断所述批量消息包是否达到预先设置的全局延迟时间;其中,所述全局延迟时间用于指示所述批量消息包从存放第一个加锁或解锁请求到发送所述批量消息包的时间。

在第三种可能的实现方式中,结合第一方面,所述事务的加锁或解锁请求包括所述事务的加锁或解锁延迟时间,所述事务的加锁或解锁延迟时间用于指示所述事务的加锁或解锁请求存放在所述批量消息包中的最长时间;

所述LLM判断所述批量消息包是否满足批量条件包括:所述LLM判断所述批量消息包中是否存在任意一个事务的加锁或解锁延迟时间到达;其中,事务的加锁或解锁延迟时间到达从事务的加锁或解锁请求存放入批量消息包的时间算起。

第二方面,本发明提供了一种事务加锁方法,包括:

全局锁管理器GLM接收本地锁管理器LLM发送的批量消息包,所述批量消息包用于存放多个加锁请求;

所述GLM针对所述批量消息包中每个加锁请求依次进行处理,并且每处理完一个加锁请求则向所述LLM发送加锁响应。

在第一种可能的实现方式中,结合第二方面,所述加锁响应包括加锁成功或加锁等待。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210548053.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top