一种数据访问方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:33015764 阅读:34 留言:0更新日期:2022-04-15 08:47
本公开涉及一种数据访问方法、装置、设备及计算机可读存储介质。本公开通过待访问的目标数据的标识信息,对数据库对应的数据结构进行遍历,从该数据结构中确定出具有父子关系的第一节点和第二节点,其中,第一节点是第二节点的子节点,第一节点包括目标数据的标识信息。由于该数据结构不仅是数据库中数据的组织形式,同时该数据结构还用于管理内存,也就是说在本实施例中不需要专门设立哈希表对内存进行管理。从而在内存粒度上实现了无锁化,由于只是在数据页的粒度上加锁,因此大大减小了加锁的数据粒度,从而在高并发场景下,避免内存访问成为性能瓶颈,保证了数据库的吞吐量,从而有效提高了计算机系统性能。从而有效提高了计算机系统性能。从而有效提高了计算机系统性能。

【技术实现步骤摘要】
一种数据访问方法、装置、设备及计算机可读存储介质


[0001]本公开涉及信息
,尤其涉及一种数据访问方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]随着信息技术的不断发展,人们在工作和生活中会产生大量的数据,通常情况下会将这些大量的数据存储到数据库中。其中,数据库中经常被访问的数据可以存储在内存中。
[0003]现有技术采用哈希表的方式管理内存,主要体现在内存中数据的插入、删除、查找等方面。通常情况下,在对内存中的数据进行插入、删除、查找等访问处理之前,需要给哈希表加锁。
[0004]当计算机系统中的某个线程给哈希表加互斥锁后,将导致其他线程无法对内存中的数据进行访问,从而导致计算机系统性能降低。即使将哈希表拆分为多个部分,给哈希表的部分加互斥锁,也并不能从根本上解决计算机系统性能低的问题。

技术实现思路

[0005]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据访问方法、装置、设备及计算机可读存储介质,在高并发场景下,避免内存访问成为性能瓶颈,保证了数据库的吞吐量,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据访问方法,其特征在于,所述方法包括:获取数据访问请求,所述数据访问请求包括待访问的目标数据的标识信息;根据待访问的目标数据的标识信息,对数据库对应的数据结构进行遍历,确定所述数据结构中的第一节点和第二节点,其中,所述第一节点是所述第二节点的子节点,所述第一节点包括所述目标数据的标识信息;若所述第二节点包括所述第一节点对应的第一数据页在内存中的存储地址,则对所述第二节点加锁,并根据所述第一数据页在内存中的存储地址,对所述内存中存储的所述第一数据页进行访问后,释放所述第二节点上的锁。2.根据权利要求1所述的方法,其特征在于,若所述第二节点包括所述第一节点对应的第一数据页在内存中的存储地址,则所述第一节点还包括所述第二节点对应的第二数据页在内存中的存储地址。3.根据权利要求1或2所述的方法,其特征在于,所述数据结构为树状的数据结构;所述对数据库对应的数据结构进行遍历,包括:从根节点开始对数据库对应的数据结构进行遍历。4.根据权利要求1或2所述的方法,其特征在于,对所述第二节点加锁,并根据所述第一数据页在内存中的存储地址,对所述内存中存储的所述第一数据页进行访问后,释放所述第二节点上的锁,包括:对所述第二节点加互斥锁,并根据所述第一数据页在内存中的存储地址,删除所述内存中存储的所述第一数据页或删除所述第一数据页中的部分记录后,释放所述第二节点上的互斥锁。5.根据权利要求4所述的方法,其特征在于,若删除所述内存中存储的所述第一数据页,则释放所述第二节点上的互斥锁之后,所述方法还包括:删除所述第一节点包括的所述第二节点对应的第二数据页在内存中的存储地址。6.根据权利要求1或2所述的方法,其特征在于,对所述第二节点加锁,并根据所述第一数据页在内存中的存储地址,对所述内存中存储的所述第一数据页进行访问后,释放所述第二节点上的锁,包括:对所述第二节点加共享锁,并根据所述第一数据页在内存中的存储地址,从所述内存中读取所述第一数据页或读取所述第一数据页中的部分记录后,释放所述第二节点上的共享锁。7.根据权利要求1或2所述的方法,其特征在于,对所述第二节点加锁,并根据所述第一数据页在内存中的存储地址,对所述内存中存储的所述第一数据页进行访问后,释放所述第二节点上的锁,包括:对所述第二节点加互斥锁,...

【专利技术属性】
技术研发人员:王天宇
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1