全网唯一标准王
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 20221076126 0.5 (22)申请日 2022.06.30 (65)同一申请的已公布的文献号 申请公布号 CN 114817341 A (43)申请公布日 2022.07.29 (73)专利权人 北京奥星贝斯科技有限公司 地址 100020 北京市朝阳区东 三环中路1号 1幢1单元9层901内02号单 元 (72)发明人 杨航  (74)专利代理 机构 北京布瑞知识产权代理有限 公司 11505 专利代理师 武甜 (51)Int.Cl. G06F 16/2455(2019.01) G06F 16/23(2019.01)(56)对比文件 CN 110489490 A,2019.1 1.22 审查员 许明 (54)发明名称 访问数据库的方法和装置 (57)摘要 本公开披露了一种访问数据库的方法和装 置。 所述方法应用于服务端, 所述服务端位于客 户端和所述数据库之间, 所述方法包括: 从所述 客户端接收数据库查询语句; 向所述数据库发送 所述数据库查询语句, 以获取针对 所述数据库查 询语句的查询结果, 所述查询结果包括m ×n个数 据项; 基于二维存储结构缓存所述查询结果, 以 便所述客户端对所述查询结果进行查询, 其中, 所述二维存储结构包括m个横向链表和n个纵向 链表, 所述m个横向链表和所述n个纵向链表交 织, 形成包含m ×n个节点的十字链表, 所述m ×n 个节点与所述m ×n个数据项一 一对应。 权利要求书3页 说明书12页 附图4页 CN 114817341 B 2022.09.06 CN 114817341 B 1.一种访问数据库的方法, 所述方法应用于服务端, 所述服务端位于客户端和所述数 据库之间, 所述方法包括: 从所述客户端接收数据库查询语句; 向所述数据库发送所述数据库查询语句, 以获取针对所述数据库查询语句的查询结 果, 所述查询结果包括m ×n个数据项; 基于二维存储结构缓存所述查询结果, 以便所述客户端对所述查询结果进行查询, 其 中, 所述二维存储结构包括m个横向链表和n个纵向链表, 所述m个横向链表和所述n个纵向 链表交织, 形成包含m ×n个节点的十字链表, 所述m ×n个节点与所述m ×n个数据项一一对 应。 2.根据权利要求1所述的方法, 所述m ×n个节点由所述服务端的计算层生成, 且所述m ×n个节点分别用于存储所述m ×n个数据项的引用, 所述m ×n个数据项存储在所述服务端 的存储层中, 所述计算层和所述存 储层之间设置有访问层, 所述方法还 包括: 向所述访问层发送针对所述m ×n个数据项中的目标数据项的访问请求, 所述访问请求 包括所述目标 数据项的引用; 利用所述访问层将所述目标数据项的引用转换成IO请求, 并向所述存储层发送所述IO 请求, 以访问所述目标 数据项。 3.根据权利要求2所述的方法, 所述访问层被实现为随机访问文件, 所述随机访问文件 中包含一段连续的逻辑地址, 所述访问层记录有 所述逻辑地址与所述存储层中的物理地址 的映射关系, 所述目标数据项的访问请求被转换为针对所述随机访问文件的随机访问请 求, 所述访问层基于所述映射关系将 针对所述随机访问文件的随机访问请求转换成针对所 述存储层的物理IO请求。 4.根据权利要求2所述的方法, 所述存储层包括两级缓存, 所述两级缓存中的第 一级缓 存位于内存中, 所述两级缓存中的第二级缓存位于磁盘中, 所述访问层用于管理所述存储 层中的物理数据块在所述两级缓存中的存 储位置。 5.根据权利要求4所述的方法, 所述存储层中的物理数据块在所述两级缓存中的存储 位置是基于所述物理数据块的被访问频次确定的, 若所述第一级缓存的剩余容量不足, 所 述存储层用于将所述第一级缓存中最近最少使用的物理数据块换 出至所述第二级缓存中。 6.根据权利要求1所述的方法, 所述服务端还存储有所述十字链表的索引 信息, 所述索 引信息用于索引所述十 字链表中的各链 表的表头 。 7.根据权利要求2所述的方法, 所述m ×n个数据项和/或所述目标数据项中的各数据项 的引用包括所述各 数据项的起始存 储位置和存 储占用空间的大小。 8.根据权利要求2所述的方法, 在新增所述存储层中存储的物理数据块时采用乐观锁 机制, 所述乐观锁机制用于对所述存储层的第一级缓存中的部分槽位进行锁定, 所述乐观 锁是基于信号 量实现的。 9.根据权利要求2所述的方法, 在更新所述存储层中存储的物理数据块时采用悲观锁 机制, 所述悲观 锁机制用于对需要更新的物理数据块加悲观 锁。 10.根据权利要求1所述的方法, 在所述基于二维存储结构缓存所述查询结果之后, 所 述方法还 包括:权 利 要 求 书 1/3 页 2 CN 114817341 B 2对基于所述二维存储结构 缓存的所述查询结果进行计算, 以将计算得到的查询结果返 回给所述客户端, 其中, 对缓存的所述查询结果进行计算包括以下计算类型中的一种或多 种: 选择计算、 投影 计算、 以及联 结计算。 11.一种访问数据库的装置, 所述装置配置于服务端, 所述服务端位于客户端和所述数 据库之间, 所述装置包括: 接收模块, 用于从所述 客户端接收数据库查询语句; 第一发送模块, 用于向所述数据库发送所述数据库查询语句, 以获取针对所述数据库 查询语句的查询结果, 所述 查询结果包括m ×n个数据项; 缓存模块, 用于基于二维存储结构缓存所述查询结果, 以便所述客户端对所述查询结 果进行查询, 其中, 所述二维存储结构包括m个横向链表和n个纵向链表, 所述m个横向链表 和所述n个纵向链表交织, 形成包含m ×n个节点的十字链表, 所述m ×n个节点与所述m ×n个 数据项一 一对应。 12.根据权利要求11所述的装置, 所述m ×n个节点由所述服务端的计算层生成, 且所述 m×n个节点分别用于存储 所述m×n个数据项的引用, 所述m ×n个数据项存储在所述服务端 的存储层中, 所述计算层和所述存 储层之间设置有访问层, 所述装置还 包括: 第二发送模块, 用于向所述访问层发送针对所述m ×n个数据项中的目标数据项的访问 请求, 所述访问请求包括所述目标 数据项的引用; 转换模块, 用于利用所述访 问层将所述目标数据项的引用转换成IO请求, 并向所述存 储层发送所述 IO请求, 以访问所述目标 数据项。 13.根据权利要求12所述的装置, 所述访问层被实现为随机访问文件, 所述随机访问文 件中包含一段连续的逻辑地址, 所述访问层记录有所述逻辑地址与所述存储层中的物理地 址的映射关系, 所述目标数据项的访问请求被转换为针对所述随机访问文件的随机访问请 求, 所述访问层基于所述映射关系将 针对所述随机访问文件的随机访问请求转换成针对所 述存储层的物理IO请求。 14.根据权利要求12所述的装置, 所述存储层包括两级缓存, 所述两级缓存中的第 一级 缓存位于内存中, 所述两级缓存中的第二级缓存位于磁盘中, 所述访问层用于管理所述存 储层中的物理数据块在所述两级缓存中的存 储位置。 15.根据权利要求14所述的装置, 所述存储层中的物理数据块在所述两级缓存中的存 储位置是基于所述物理数据块的被访问频次确定的, 若所述第一级缓存的剩余容量不足, 所述存储层用于将所述第一级缓存中最近最少使用的物理数据块换出至所述第二级缓存 中。 16.根据权利要求11所述的装置, 所述服务端还存储有所述十字链表的索引信 息, 所述 索引信息用于索引所述十 字链表中的各链 表的表头 。 17.根据权利要求12所述的装置, 所述m ×n个数据项和/或所述目标数据项中的各数据 项的引用包括所述各 数据项的起始存 储位置和存 储占用空间的大小。 18.根据权利要求12所述的装置, 在新增所述存储层中存储的物理数据块时采用乐观 锁机制, 所述乐观锁机制用于对所述存储层的第一级缓存中的部分槽位进行锁定, 所述乐 观锁是基于信号 量实现的。权 利 要 求 书 2/3 页 3 CN 114817341 B 3

PDF文档 专利 访问数据库的方法和装置

文档预览
中文文档 20 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共20页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 访问数据库的方法和装置 第 1 页 专利 访问数据库的方法和装置 第 2 页 专利 访问数据库的方法和装置 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-07 12:40:06上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。