[发明专利]数据访问方法、装置、服务器和存储介质有效
申请号: | 201910015384.7 | 申请日: | 2019-01-08 |
公开(公告)号: | CN109710629B | 公开(公告)日: | 2020-12-18 |
发明(设计)人: | 蔡池池;韩朱忠 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 访问 方法 装置 服务器 存储 介质 | ||
本发明实施例公开了一种数据访问方法、装置、服务器和存储介质,其中该方法包括:获取当前的数据访问请求,数据访问请求中包括数据库对象和事务号;对数据库对象以及事务号进行封锁;执行封锁之后的数据访问请求对应的数据访问。本发明实施例通过减少数据操纵语言对应的数据访问中的封锁数量以及增加数据定义语言对应的数据访问中的封锁数量,由于数据库中数据操纵语言执行次数非常多并且远高于数据定义语言执行的频率,实现了通过不同锁对数据库并发操作的控制管理,又大大降低了系统锁资源的激烈竞争,减少了封锁冲突,提升了数据库的并发性能。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据访问方法、装置、服务器和存储介质。
背景技术
锁(LOCK)是数据库管理系统进行并发控制的重要技术手段,用于管理数据库共享资源的并发访问,确保多个事务在并发执行过程中,能访问到正确、一致的数据库对象(例如表、索引等)。数据库管理系统提供4种封锁模式,分别是共享锁(Share Lock,简称S封锁)、排他锁(Exclusive Lock,简称X封锁)、意向共享锁(Exclusive Lock,简称IS封锁)和意向排它锁(Exclusive Lock,简称IX封锁)。一般来说,在访问任何数据库对象前,都需要先封锁数据库对象,确保访问期间数据库对象的定义不发生变化。否则,当用户执行查询(SELECT)或更新(UPDATE)数据的同时,另外一个用户修改相关表的定义,比如删除一列,将会导致当前操作产生异常。
现有技术中,通常的解决方案是在执行结构化查询语言(Structured QueryLanguage,SQL)语句时,要对操作涉及的所有数据库对象进行相应模式的封锁。在执行数据操纵语言(Data Manipulation Language,DML)的操作时,不但要对访问的表进行IS封锁或IX封锁,还要将表对象相关的模式、表空间进行IS封锁,确保执行过程中,表定义不发生变化以及模式、表空间等相关对象不被删除。执行数据定义语言(Data DefinitionLanguage,DDL)的操作时,对修改的表进行X封锁,对表对象涉及的模式、表空间进行IS封锁。在上述封锁策略下,一个DML操作的背后隐藏了多次封锁动作。而封锁资源是数据库全局资源,具有稀缺性,对并发性能产生影响非常大,导致性能降低。
发明内容
本发明实施例提供了一种数据访问方法、装置、服务器和存储介质,可以减少封锁冲突,提升数据库的并发性能。
第一方面,本发明实施例提供了一种数据访问方法,包括:
获取当前的数据访问请求,所述数据访问请求中包括数据库对象和事务号;
对所述数据库对象以及所述事务号进行封锁;
执行封锁之后的所述数据访问请求对应的数据访问。
第二方面,本发明实施例还提供了一种数据访问装置,该装置包括:
请求获取模块,用于获取当前的数据访问请求,所述数据访问请求中包括数据库对象和事务号;
封锁模块,用于对所述数据库对象以及所述事务号进行封锁;
执行模块,用于执行封锁之后的所述数据访问请求对应的数据访问。
进一步的,所述封锁模块包括第一封锁单元,所述第一封锁单元具体用于:
根据所述数据访问请求对应的封锁模型对所述数据库对象进行封锁,所述封锁模型包括独占访问封锁、独占修改封锁、共享修改封锁和共享访问封锁。
进一步的,所述数据访问请求为数据操纵语言对应的访问请求时,所述封锁模型为共享修改封锁或者共享访问封锁,所述第一封锁单元包括第一封锁子单元,所述第一封锁子单元具体用于:
通过对象锁对所述数据库对象进行意向排他锁的封锁,或者对所述数据库对象进行意向共享锁的封锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910015384.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置