[发明专利]访问数据库的方法和装置有效
| 申请号: | 202210761260.5 | 申请日: | 2022-06-30 |
| 公开(公告)号: | CN114817341B | 公开(公告)日: | 2022-09-06 |
| 发明(设计)人: | 杨航 | 申请(专利权)人: | 北京奥星贝斯科技有限公司 |
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/23 |
| 代理公司: | 北京布瑞知识产权代理有限公司 11505 | 代理人: | 武甜 |
| 地址: | 100020 北京市朝阳区东三*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 访问 数据库 方法 装置 | ||
本公开披露了一种访问数据库的方法和装置。所述方法应用于服务端,所述服务端位于客户端和所述数据库之间,所述方法包括:从所述客户端接收数据库查询语句;向所述数据库发送所述数据库查询语句,以获取针对所述数据库查询语句的查询结果,所述查询结果包括m×n个数据项;基于二维存储结构缓存所述查询结果,以便所述客户端对所述查询结果进行查询,其中,所述二维存储结构包括m个横向链表和n个纵向链表,所述m个横向链表和所述n个纵向链表交织,形成包含m×n个节点的十字链表,所述m×n个节点与所述m×n个数据项一一对应。
技术领域
本公开涉及数据库技术领域,具体涉及一种访问数据库的方法和装置。
背景技术
用户访问数据库时,可以通过客户端向服务端发送数据库查询语句,以便服务端从数据库中获取针对该数据库查询语句的查询结果。在某些业务场景下,服务端需要对从数据库获取的查询结果进行缓存。
相关技术中,可以采用二维数组的数据结构缓存查询结果。但是,采用二维数组的数据结构缓存查询结果的方案存在一些问题,例如,对缓存的查询结果进行选择、投影、联结等计算时,计算效率较低。
发明内容
有鉴于此,本公开提供一种访问数据库的方法和装置,以提升对缓存的查询结果进行计算的效率。
第一方面,提供一种访问数据库的方法,所述方法应用于服务端,所述服务端位于客户端和所述数据库之间,所述方法包括:从所述客户端接收数据库查询语句;向所述数据库发送所述数据库查询语句,以获取针对所述数据库查询语句的查询结果,所述查询结果包括m×n个数据项;基于二维存储结构缓存所述查询结果,以便所述客户端对所述查询结果进行查询,其中,所述二维存储结构包括m个横向链表和n个纵向链表,所述m个横向链表和所述n个纵向链表交织,形成包含m×n个节点的十字链表,所述m×n个节点与所述m×n个数据项一一对应。
可选地,m×n个节点由所述服务端的计算层生成,且所述m×n个节点分别用于存储所述m×n个数据项的引用,所述m×n个数据项存储在所述服务端的存储层中,所述计算层和所述存储层之间设置有访问层,所述方法还包括:向所述访问层发送针对所述m×n个数据项中的目标数据项的访问请求,所述访问请求包括所述目标数据项的引用;利用所述访问层将所述目标数据项的引用转换成IO请求,并向所述存储层发送所述IO请求,以访问所述目标数据项。
可选地,访问层被实现为随机访问文件,所述随机访问文件中包含一段连续的逻辑地址,所述访问层记录有所述逻辑地址与所述存储层中的物理地址的映射关系,所述目标数据项的访问请求被转换为针对所述随机访问文件的随机访问请求,所述访问层基于所述映射关系将针对所述随机访问文件的随机访问请求转换成针对所述存储层的物理IO请求。
可选地,存储层包括两级缓存,所述两级缓存中的第一级缓存位于内存中,所述两级缓存中的第二级缓存位于磁盘中,所述访问层用于管理所述存储层中的物理数据块在所述两级缓存中的存储位置。
可选地,存储层中的物理数据块在所述两级缓存中的存储位置是基于所述物理数据块的被访问频次确定的,若所述第一级缓存的剩余容量不足,所述存储层用于将所述第一级缓存中最近最少使用的物理数据块换出至所述第二级缓存中。
可选地,服务端还存储有所述十字链表的索引信息,所述索引信息用于索引所述十字链表中的各链表的表头。
可选地,m×n个数据项和/或所述目标数据项中的各数据项的引用包括所述各数据项的起始存储位置和存储占用空间的大小。
可选地,在新增所述存储层中存储的物理数据块时采用乐观锁机制,所述乐观锁机制用于对所述存储层的第一级缓存中的部分槽位进行锁定,所述乐观锁是基于信号量实现的。
可选地,在更新所述存储层中存储的物理数据块时采用悲观锁机制,所述悲观锁机制用于对需要更新的物理数据块加悲观锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奥星贝斯科技有限公司,未经北京奥星贝斯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210761260.5/2.html,转载请声明来源钻瓜专利网。





