[发明专利]一种分布式数据库系统查询中间结果集的缓存方法有效
申请号: | 201910166410.6 | 申请日: | 2019-04-12 |
公开(公告)号: | CN109947796B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 杜金莲;陈子昂;金雪云;苏航;李童 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455;G06F16/2458;G06F16/28 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 刘萍 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 数据库 系统 查询 中间 结果 缓存 方法 | ||
本发明公开一种分布式数据库系统查询中间结果集的缓存方法,包含如下步骤:记录子查询任务返回中间结果集,建立中间结果缓存数据集存储模型;建立查询语句查询范围识别机制;对中间结果集实现超时失效处理;依靠上述中间结果集缓存与识别机制,分布式数据库对满足条件的子查询实现无网络交互查询,提高分布式查询的效率。
技术领域
本发明属于计算机数据库领域,具体涉及一种分布式数据库系统查询语句生成的中间结果集缓存与使用方法。
背景技术
分布式数据库作为数据库领域中的一个重要研究内容,兴起于计算机技术高速发展的近十年内。互联网和移动应用的普及让各类数据服务面临着越来越大的数据规模和访问请求压力,而随着分布式数据库的广泛应用,通过分布式数据库来提升数据服务的信息处理能力,成为各类数据服务商们普遍的解决方案。
分布式数据库是在集中式数据库的成熟技术上发展起来的,其核心理念是将数据库集群作为一个整体对外提供数据服务,其内部数据分散存储,依靠数据冗余、数据分片、副本同步等技术实现数据可靠性,依靠读写分离等技术提高数据操作执行效率。分布式数据库在管理上一般仍以单一节点或少数节点作为管理节点实现查询解析、语句重写与结果合并等功能,统领多个子数据库节点,从而实现对外提供服务。
目前,绝大多数分布式数据库由于严守数据的一致性要求,对子节点数据库提交的查询结果完全不进行缓存处理,故而其进行单次分布式查询时必定会在网络交互中消耗大量的时间。然而现实应用中有些应用,诸如医疗领域等对数据的一致性要求不高、同时还具有一段时间内查询数据存在一定关联关系或近乎同质的特性,因此如何提高分布式数据库系统的查询效率,使其提供高性能的服务是需要研究解决的问题。
发明内容
针对上述传统分布式数据库的不足,本发明提出了一种分布式数据库系统查询中间结果集的缓存与使用方法。该方法实现了当分布式数据库执行查询任务时对涉及的多个子节点生成的子查询结果集进行缓存,从而在未来一段时间内如果分布式数据库系统再执行查询任务时,当查询范围小于缓存结果范围或范围出现重复的情况下,系统可直接对中间结果集进行复用,从而减少因查询的重复执行而消耗的网络交互资源。
本发明方法的主要思路是:当查询语句分解到各子节点后,采集各个子节点查询子句生成的中间结果集信息,建立中间结果缓存数据集;建立依据数据库执行语句划分查询范围的识别机制,在出现新的查询任务时判断中间结果缓存数据集是否可用,进而减少数据库对后台子节点发送查询任务的数目以及执行查询任务时消耗的网络交互资源。
本发明的实现包含如下步骤:
(1)建立中间结果缓存数据集存储模型
本步骤的目的是对子查询结果建立存储模型用于缓存子查询产生的中间结果。该存储模型分为头缓存与结果缓存两部分。头缓存需要记录包括局部数据库ip、数据库名、关系模式、列字段名等;结果缓存需要记录单条行数据中存在的所有数据项。通过生成以上两部分缓存数据从而缓存各节点返回的数据信息。
(2)建立查询范围的识别机制
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910166410.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:目标数据的获取方法和装置
- 下一篇:一种数据检查装置及方法