[发明专利]一种数据访问方法、装置、设备及存储介质有效
申请号: | 201910791078.2 | 申请日: | 2019-08-26 |
公开(公告)号: | CN110489425B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 王海龙;韩朱忠 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F12/1009 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 访问 方法 装置 设备 存储 介质 | ||
本发明实施例公开了一种数据访问方法、装置、设备及存储介质。包括:将设定数据页加载至快速池中,并创建所述快速池对应的哈希表;根据目标数据页地址计算哈希值,根据所述哈希值在所述快速池对应的哈希表中查找所述目标数据页是否在所述快速池中;若在,则根据访问模式访问所述快速池中的目标数据页。本实施例提供的数据访问方法,将设定数据页加载至快速池中,若目标数据页在快速池中,则可以根据访问模式直接访问快速池中的目标数据页,无需临界区进行并发访问保护,可以降低高频访问数据页引起的并发冲突,从而提高数据库的访问效率。
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种数据访问方法、装置、设备及存储介质。
背景技术
数据库管理系统一般使用固定大小的页(Page)作为保存数据的基本单位,并使用内存缓存(Buffer Pool)来保存最近从磁盘读取或修改的数据页,以减少磁盘I/O,提高数据库访问速度。访问数据页的一般流程是先从Buffer Pool获取数据页,如果数据页不在Buffer Pool中,则从磁盘加载数据页到Buffer Pool。如果Buffer Pool已经填充满,没有空闲数据页的情况下,需要淘汰一个当前未在使用的数据页,再从磁盘加载数据页。BufferPool通过哈希表(Hash Table)用来快速查找数据页,维护一个LRU(Least Recently Used)链表来确定数据页淘汰顺序,维护一个更新(Update)链表用来记录哪些数据页被修改。每个数据页对应一个控制结构buf_ctl,包含一个n_fixed字段,用来标识数据页是否正在使用,包含一个闩(LATCH)对象,用来控制数据页的并发访问、修改。为了保证在并发场景下,Hash Table、LRU链表、Update链表的正确性,一般会使用临界访问区(Mutex)对BufferPool进行保护。
为了降低Buffer Pool临界区访问冲突,很多数据库管理系统采用分片思路,同时维护多个Buffer Pool,根据一定规则将数据页加入不同的Buffer Pool。采用缓存分片技术降低了Buffer Pool临界区冲突,提高了系统并发效率。但是在数据库管理系统中,不同类型数据页的访问频度是不一致的,一些高频访问的数据页仍然会造成的Buffer Pool临界区并发冲突,从而降低数据库管系统的性能。
发明内容
本发明实施例提供一种数据访问方法、装置、设备及存储介质,可以降低高频访问数据页引起的并发冲突,从而提高数据库的访问效率。
第一方面,本发明实施例提供了一种数据访问方法,包括:
将设定数据页加载至快速池中,并创建所述快速池对应的哈希表;
根据目标数据页地址计算哈希值,根据所述哈希值在所述快速池对应的哈希表中查找所述目标数据页是否在所述快速池中;
若在,则根据访问模式访问所述快速池中的目标数据页。
进一步地,将设定数据页填充至快速池中,并创建所述快速池对应的哈希表,包括:
根据快速池的内存大小分配临时地址缓存数组;
将所述设定数据页的地址记录至所述临时地址缓存数组中,并清空缓存池中存储的所述设定数据页;
创建空哈希表,根据临时地址缓存数组的数据页地址将设定数据页加载至快速池中,并生成各设定数据页对应的控制结构数据;
将所述控制结构数据添加至所述空哈希表中,获得所述快速池对应的哈希表。
进一步地,所述设定数据页包括如下至少一项:B+树的根页、回滚页、描述页及B+页树根页的子页;将所述设定数据页的地址记录至所述临时地址缓存数组中,包括:
将B+树的根页地址记录至所述临时地址缓存数组中;
若所述临时地址缓存数组未满,则将回滚页地址记录至所述临时地址缓存数组中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910791078.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置