一种分布式数据库系统查询中间结果集的缓存方法技术方案

技术编号:21477306 阅读:53 留言:0更新日期:2019-06-29 04:45
本发明专利技术公开一种分布式数据库系统查询中间结果集的缓存方法,包含如下步骤:记录子查询任务返回中间结果集,建立中间结果缓存数据集存储模型;建立查询语句查询范围识别机制;对中间结果集实现超时失效处理;依靠上述中间结果集缓存与识别机制,分布式数据库对满足条件的子查询实现无网络交互查询,提高分布式查询的效率。

【技术实现步骤摘要】
一种分布式数据库系统查询中间结果集的缓存方法
本专利技术属于计算机数据库领域,具体涉及一种分布式数据库系统查询语句生成的中间结果集缓存与使用方法。
技术介绍
分布式数据库作为数据库领域中的一个重要研究内容,兴起于计算机技术高速发展的近十年内。互联网和移动应用的普及让各类数据服务面临着越来越大的数据规模和访问请求压力,而随着分布式数据库的广泛应用,通过分布式数据库来提升数据服务的信息处理能力,成为各类数据服务商们普遍的解决方案。分布式数据库是在集中式数据库的成熟技术上发展起来的,其核心理念是将数据库集群作为一个整体对外提供数据服务,其内部数据分散存储,依靠数据冗余、数据分片、副本同步等技术实现数据可靠性,依靠读写分离等技术提高数据操作执行效率。分布式数据库在管理上一般仍以单一节点或少数节点作为管理节点实现查询解析、语句重写与结果合并等功能,统领多个子数据库节点,从而实现对外提供服务。目前,绝大多数分布式数据库由于严守数据的一致性要求,对子节点数据库提交的查询结果完全不进行缓存处理,故而其进行单次分布式查询时必定会在网络交互中消耗大量的时间。然而现实应用中有些应用,诸如医疗领域等对数据的本文档来自技高网...

【技术保护点】
1.一种分布式数据库系统查询中间结果集的缓存方法,其特征在于,包含如下步骤:步骤1,建立中间结果缓存数据集模型;中间结果集缓存方法以关系型数据库MySQL返回内容为标准,故取其结构进行缓存;关系型数据库返回结果集包含两部分内容:结果头信息、结果列信息;中间结果缓存头数据集结构包含头记录id、数据库ip地址、数据库元名称、数据库数据表名称、列原始名称数组、完整原始缓存头,缓存内容id数组;中间结果缓存内容数据集包含行记录id、行数据内容;依据上述两个数据实体,建立缓存数据存储机制,将其存入数据库或文档中;非关系型数据库根据数据库类型不同,其返回结果也各不相同;故对其操作为识别其返回内容格式,并将...

【技术特征摘要】
1.一种分布式数据库系统查询中间结果集的缓存方法,其特征在于,包含如下步骤:步骤1,建立中间结果缓存数据集模型;中间结果集缓存方法以关系型数据库MySQL返回内容为标准,故取其结构进行缓存;关系型数据库返回结果集包含两部分内容:结果头信息、结果列信息;中间结果缓存头数据集结构包含头记录id、数据库ip地址、数据库元名称、数据库数据表名称、列原始名称数组、完整原始缓存头,缓存内容id数组;中间结果缓存内容数据集包含行记录id、行数据内容;依据上述两个数据实体,建立缓存数据存储机制,将其存入数据库或文档中;非关系型数据库根据数据库类型不同,其返回结果也各不相同;故对其操作为识别其返回内容格式,并将其内容依照上述格式转化为上述模型的中间结果集数据并进行缓存;步骤2,建立查询范围的识别机制;识别机制采用多叉树方法判别在执行查询任务时是否存在可用的中间结果集缓存;多叉树单节点包含高并发下读写锁、当前节点存储where子句、运算符、值、缓存数据库ip、表名、缓存属性数组、缓存过期时间、缓存头id;子节点执行查询任务SQL语句经解析后化为以下二叉树的一条路径;执行新的SQL语句时,将语句划分为选择条件、表名与查询属性,并将选择条件依照文本顺序进行排序,经过选择条件在二叉树中查找后,满足全条件均与二叉树内某一条路径存储数据相同或范围小于二叉树内标示范围时,若尾节点存在满足与查询执行数据库IP、表名相同,查询属性范围相同或大于当前查询目标属性且缓存未过期,则说明当前缓存可用;若之前存在查询范围不一致情况,则对该缓存结果执行二次查询后,拼接为新的中间结果集包,等待后续中间结果集缓存返回后执行合并操作并返回给客户端;反之直接生成中间结...

【专利技术属性】
技术研发人员:杜金莲陈子昂金雪云苏航李童
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

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

1