[发明专利]一种支持多属性复合条件查询的虚拟表索引机制及方法有效

专利信息
申请号: 201210553946.1 申请日: 2012-12-19
公开(公告)号: CN103049521A 公开(公告)日: 2013-04-17
发明(设计)人: 李晓林;谢毅;徐志伟 申请(专利权)人: 广东电子工业研究院有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京科亿知识产权代理事务所(普通合伙) 11350 代理人: 汤东凤
地址: 523808 广东省东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 支持 属性 复合 条件 查询 虚拟 索引 机制 方法
【说明书】:

 

技术领域

本发明涉及计算机应用技术领域,尤其是一种针对多属性复合条件查询的虚拟表索引机制及方法。

背景技术

随着Internet上应用的数据规模迅速增长,单一数据库表往往无法支撑所有业务数据,需要将大数据分成若干物理子表分块存储和管理,通过数据中间件将这些物理子表整合起来形成一张“容量无限”的虚拟表。而随着网络应用处理和计算变得越来越复杂,一次针对虚拟表的数据查询计算可能涉及到对多个分布数据源(块)的即时访问,这种大量基于分布数据源上的联合查询,由于受数据规模、查询复杂度、传输带宽等因素的影响,访问性能常常是这类应用的瓶颈;因此,针对这类应用模式的查询如何在虚拟层构建索引机制,快速定位子表同时避免不必要的子表查询是解决查询性能问题的关键之一。

从技术方法层面,主要有两种思路实现针对多个分布数据源(块)查询的索引机制,来提高访问的性能。

思路一是:针对子表的存储位置索引,方便快速定位数据块子表的物理存储位置。大规模数据的存储与访问需要对数据分片分块的存储和管理,此时建立每个数据块的索引机制能方便请求快速定位到目标数据源上。

思路二是:主键键值分段索引,一张子表会保存一个数据表里面按照主键键值的某段连续的数据,从开始主键到结束主键,一张完整的表格是保存在多个物理子表中。这种机制对支持基于主键的简单逻辑运算的查询非常有效,能确保将查询只施加到满足相应键值条件的数据子表上。但是不能支持多属性查询谓词条件、相对复杂的运算逻辑的查询。

如Bigtable这种顺序表(Ordered Table)存储模型采用了层次化的MetaData模型建立tablet表的索引,既支持存储位置索引,又支持键值分段索引,但只能支持基于主键的区间查询,不能支持多属性的复合条件查询,如关系数据库的SQL查询标准。

发明内容

本发明解决的技术问题之一在于提出构建支持分布式复合条件查询的虚拟表索引机制,解决当前的存储位置索引和键值索引不能支持多属性条件、复杂运算逻辑查询的问题。本发明引用的虚拟表概念和技术是基于本发明的发明人的另一项专利ZL200810119858.4(名称:一种网络系统及其管理方法);本发明所述虚拟表及其管理和使用方式均引用该专利。

本发明解决的技术问题之二在于提出构建支持分布式复合条件查询的虚拟表索引方法,解决当前的存储位置索引和键值索引不能支持多属性条件、复杂运算逻辑查询的问题。

本发明解决上述技术问题之一的技术方案是:所述的机制由三个关键部件索引管理器、条件分析器和预执行引擎构成;

所述的索引管理器,管理虚拟表属性的索引键值,支持虚拟表多个属性的单个键值、区间键值的管理;

所述的条件分析器,对施加在虚拟表上的查询条件分解并对谓词分析;依次对有索引的属性按照SQL语法分析整个查询条件,用真值true替换屏蔽掉含其他属性的谓词表达式后,只留下该属性的查询谓词条件,以便判断该属性索引是否满足此条件;此时,如果某属性的索引键值是区间,条件分析器进一步通过该区间值再计算被真值替换后的查询条件中关于该属性的谓词的真/假,并用布尔结果(true/false)替换该谓词;如果该步骤无法计算,则表示直接返回需要对该虚拟表执行查询的推断结果;

所述的预执行引擎,通过相应属性的索引键值判断部分被真值表达式(true)和布尔结果替换后的查询条件的真/假,确定相应属性的索引是否满足查询条件;如果不满足,则直接返回不对该虚拟表执行查询的推断结果;否则,继续判断其他属性索引;一些特殊情况,默认为满足执行条件;索引键值为区间值时只取开始和结束值。

本发明解决上述技术问题之二的技术方案是:在虚拟表上构建针对多个属性的索引键值;在执行查询时,计算施加到该虚拟表的查询条件;依据键值索引,预先针对各个属性独立判断是否需要执行该虚拟表映射的物理实体表,从而确保将查询只施加到满足相应键值条件的子虚拟表上执行。

所述的预先确定哪些子表含有满足该查询条件的数据记录是:在虚拟层,通过在各个子表上基于子表的索引,预先判断该子表的数据集合是否满足查询条件,只定位到满足条件的子表进行查询;而对于无查询过滤条件、未建立索引或者基于索引难于判断等特例,直接对子表施加查询。

按照某个属性键值建立类似B+树的子表索引结构,B+树的每个叶子节点代表一个子表;在叶子节点对子表建立1个或多个(其他)属性的索引,索引值可以是单值和区间值。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东电子工业研究院有限公司,未经广东电子工业研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210553946.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top