[发明专利]一种数据加锁及解锁的方法及装置在审

专利信息
申请号: 201510686560.1 申请日: 2015-10-21
公开(公告)号: CN106610865A 公开(公告)日: 2017-05-03
发明(设计)人: 刘化伟;刘照星 申请(专利权)人: 阿里巴巴集团控股有限公司
主分类号: G06F9/48 分类号: G06F9/48;G06F9/50
代理公司: 北京国昊天诚知识产权代理有限公司11315 代理人: 许志勇
地址: 英属开曼群岛大开*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据 加锁 解锁 方法 装置
【说明书】:

技术领域

本申请涉及信息技术领域,尤其涉及一种数据加锁及解锁的方法及装置。

背景技术

随着信息化社会的发展,人们的工作和生活会产生大量的数据信息,而简单原始的数据管理方式(如,人工管理,文件系统),并不能满足人们的方便快捷的管理大量数据的需求,于是如何充分有效地管理和利用各类信息资源,成为人们在信息化社会中首要解决的问题。其中,数据库技术便是现在人们通用的解决如何管理大量数据的方法,这也使得数据库技术成为管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

现有数据库技术中,其特点之一便是数据共享性高,由于数据库系统中存储管理的数据是面向整体使用用户的,所以数据可以被多个用户或应用程序共享使用。而当数据被调用后,该段数据可能会被修改,若一个数据同时被多个用户调用,则会出现返回的数据不一致,导致该数据出现错误的情况。现有技术中一般使用内存锁或者行锁来保证数据库系统中数据的一致性,减少数据库系统中出现脏数据的问题。

但是,在使用内存锁锁定资源时,当对该资源的处理完毕后,需要手动解除该内存锁,由于内存锁的释放必须在数据库事务提交之前,否则会形成死锁而无法正常释放,而释放内存锁与提交事务之间存在时间差,这就使得其他的线程有可能在该资源的内存锁解除后、事务提交之前抢占该资源。相当于该资源同时被两个不同的线程抢占了,而当两个线程返回不同的结果时,该资源就会出现错误,从而导致数据库系统出现脏数据、数据一致性低的问题。

在使用行锁时,行锁会锁定数据库系统中某一个表中的某一个数据,当多个线程抢夺同一个数据时,只有一个线程可以锁定该数据,其他线程只能等待该数据的行锁解除,而该行锁的解除只有等到该线程所在的事务提交后才会解除。这就使得,若出现一个需要长时间处理的事务,其中的线程采用行锁对某个数据加锁时,其他需要调用该数据的线程只能一直等待,而不能进行其他操作,直到锁定该数据的行锁解除,从而导致数据库事务的执行效率低的问题。

发明内容

本申请实施例提供一种数据加锁及解锁的方法及装置,用以解决现有技术中使用内存锁导致数据库系统出现脏数据,数据一致性低,使用行锁导致数据库事务的执行效率低的问题。

本申请实施例提供的一种数据加锁及解锁的方法,包括:

确定数据库事务需要调用的数据集;

采用内存锁和行锁对所述数据集进行加锁;

当所述数据库事务执行完毕后,判断所述内存锁是否释放;

若是,则允许提交所述数据库事务,并在提交所述数据库事务时释放所述行锁;

若否,则不允许提交所述数据库事务。

本申请实施例提供的一种数据加锁及解锁的装置,包括:

确定模块,用于确定数据库事务需要调用的数据集;

加锁模块,用于采用内存锁和行锁对所述数据集进行加锁;

判断提交模块,用于当所述数据库事务执行完毕后,判断所述内存锁是否释放,若是,则允许提交所述数据库事务,并在提交所述数据库事务时释放所述行锁,若否,则不允许提交所述数据库事务。

本申请实施例提供一种数据加锁及解锁的方法及装置,该方法通过同时采用内存锁和行锁对数据库事务需要调用的数据集进行加锁,使得其他事务或线 程在对所述已加锁的数据集调用时,会因为内存锁的机制,直接返回调用失败的结果,而不会长时间等待,所以其他需要调用该数据集的线程可以继续执行其他操作,从而提高了数据库事务的执行效率。并且,在本申请实施例中该数据库事务处理完毕后,需要先确认用户手动释放内存锁后,才允许该数据库事务提交。而在该内存锁释放之后,该数据库事务调用的数据集仍然被行锁锁定,在行锁的机制中,只有在该数据库事务提交时该行锁才会自动释放,因此其他事务或线程不会在该数据库事务提交前调用到该数据集,只能在该数据库事务提交后(同时行锁自动释放后)调用到该数据集,所以避免了数据库系统中因为单独使用内存锁而导致数据库系统中数据一致性低的问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的数据加锁及解锁的过程;

图2为本申请实施例提供的数据加锁及解锁的装置示意图。

具体实施方式

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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