[发明专利]一种数据访问方法、装置、设备及计算机可读存储介质在审
申请号: | 202011049612.1 | 申请日: | 2020-09-29 |
公开(公告)号: | CN114328500A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 王天宇 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/21;G06F16/28 |
代理公司: | 北京开阳星知识产权代理有限公司 11710 | 代理人: | 张子青 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 访问 方法 装置 设备 计算机 可读 存储 介质 | ||
本公开涉及一种数据访问方法、装置、设备及计算机可读存储介质。本公开通过待访问的目标数据的标识信息,对数据库对应的数据结构进行遍历,从该数据结构中确定出具有父子关系的第一节点和第二节点,其中,第一节点是第二节点的子节点,第一节点包括目标数据的标识信息。由于该数据结构不仅是数据库中数据的组织形式,同时该数据结构还用于管理内存,也就是说在本实施例中不需要专门设立哈希表对内存进行管理。从而在内存粒度上实现了无锁化,由于只是在数据页的粒度上加锁,因此大大减小了加锁的数据粒度,从而在高并发场景下,避免内存访问成为性能瓶颈,保证了数据库的吞吐量,从而有效提高了计算机系统性能。
技术领域
本公开涉及信息技术领域,尤其涉及一种数据访问方法、装置、设备及计算机可读存储介质。
背景技术
随着信息技术的不断发展,人们在工作和生活中会产生大量的数据,通常情况下会将这些大量的数据存储到数据库中。其中,数据库中经常被访问的数据可以存储在内存中。
现有技术采用哈希表的方式管理内存,主要体现在内存中数据的插入、删除、查找等方面。通常情况下,在对内存中的数据进行插入、删除、查找等访问处理之前,需要给哈希表加锁。
当计算机系统中的某个线程给哈希表加互斥锁后,将导致其他线程无法对内存中的数据进行访问,从而导致计算机系统性能降低。即使将哈希表拆分为多个部分,给哈希表的部分加互斥锁,也并不能从根本上解决计算机系统性能低的问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据访问方法、装置、设备及计算机可读存储介质,在高并发场景下,避免内存访问成为性能瓶颈,保证了数据库的吞吐量,从而有效提高了计算机系统性能。
第一方面,本公开实施例提供一种数据访问方法,包括:
获取数据访问请求,所述数据访问请求包括待访问的目标数据的标识信息;
根据待访问的目标数据的标识信息,对数据库对应的数据结构进行遍历,确定所述数据结构中的第一节点和第二节点,其中,所述第一节点是所述第二节点的子节点,所述第一节点包括所述目标数据的标识信息;
若所述第二节点包括所述第一节点对应的第一数据页在内存中的存储地址,则对所述第二节点加锁,并根据所述第一数据页在内存中的存储地址,对所述内存中存储的所述第一数据页进行访问后,释放所述第二节点上的锁。
第二方面,本公开实施例提供一种数据访问装置,包括:
获取模块,用于获取数据访问请求,所述数据访问请求包括待访问的目标数据的标识信息;
遍历模块,用于根据待访问的目标数据的标识信息,对数据库对应的数据结构进行遍历;
确定模块,用于确定所述数据结构中的第一节点和第二节点,其中,所述第一节点是所述第二节点的子节点,所述第一节点包括所述目标数据的标识信息;
访问模块,用于若所述第二节点包括所述第一节点对应的第一数据页在内存中的存储地址,则对所述第二节点加锁,并根据所述第一数据页在内存中的存储地址,对所述内存中存储的所述第一数据页进行访问后,释放所述第二节点上的锁。
第三方面,本公开实施例提供一种数据访问设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011049612.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置