[发明专利]支持混合数据类型的关联查询及模糊分组的查询扩展方法有效

专利信息
申请号: 201610783143.3 申请日: 2016-08-30
公开(公告)号: CN106372177B 公开(公告)日: 2019-09-27
发明(设计)人: 黄晓虎;王杰;薛皓;王梅 申请(专利权)人: 东华大学
主分类号: G06F16/2453 分类号: G06F16/2453;G06F16/242
代理公司: 上海申汇专利代理有限公司 31001 代理人: 翁若莹;柏子雵
地址: 201620 上*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供了一种支持混合数据类型的关联查询及模糊分组的查询扩展方法,包括以下步骤:步骤1、架构搭建;步骤2、数据存储;步骤3、查询扩展;步骤4、查询解析;步骤5、混合连接;步骤6、模糊分组;步骤7、封装结果并返回。本发明针对分布式数据库环境中混合类型数据不能通过一定规则连接以及指定类型数据聚合操作功能局限性问题,为用户提供聚合与连接的SQL扩展句法,使其能够通过指定语句完成包括模糊分组以及模糊连接等查询扩展的方法。扩展了分布式数据库的功能性和适应性。
搜索关键词: 支持 混合 数据类型 关联 查询 模糊 分组 扩展 方法
【主权项】:
1.一种支持混合数据类型的关联查询及模糊分组的查询扩展方法,其特征在于,包括以下步骤:步骤1、混合数据存储架构搭建;步骤2、混合类型数据存储,以列为单位按照数据类型将数据存入对应节点数据库中,该步骤包括:步骤2.1、建表,根据配置文件以及SQL语句所指定的字段类型,将包含指定字段数据表存入对应数据库中,具体包括:步骤2.1.1、获取配置信息,确定待建表包含在垂直分片配置信息中;步骤2.1.2、解析拆分语句,根据SQL创建表语句中包含字段的字段类型以及字段长度,将其划分为结构化与非结构化属性,写入文件作为后续增删改查的索引,在此基础上分别构建作用于分路由的子语句;步骤2.1.3、路由分发,将步骤2.1.2中得到的子语句分别与配置中对应类型的数据库绑定,并进行路由分发,完成建表;步骤2.2、插入数据,根据待插入数据在索引文件中与数据库的对应关系将其存入对应数据库的表中,具体包括:步骤2.2.1、获取配置信息,确定待插入表名包含在垂直分片配置信息中;步骤2.2.2、解析拆分语句,查询步骤2.1.2所生成的索引文件,根据文件中属性与表的对应关系,构建作用于分路由的子语句;步骤2.2.3、路由分发,将步骤2.2.2中得到的子语句分别与配置对应类型的数据库绑定,并进行路由分发,完成数据插入;步骤3、混合查询扩展;根据精简和实用原则,设计SQL语句如下所示:SELECT*|expression[AS output_name][...]FROM from_item[GROUP BY column][CONTAIN r DIVIDED BY d]|[START WITH num1 PER num2][WHERE condition]其中expression表示字段名或一个表达式;from_item表示所要查询的表,即各数据库中与表相对应的单位,记为table1;该语句中GROUP BY分组和WHERE条件语句分别指定进行分组或连接操作:1)通过GROUP BY指定待分组字段column,并通过CONTAIN...DIVIDED BY... 或START WITH...PER...分别指定对字符串还是整型列进行模糊分组操作;2)通过WHERE指定查询条件condition,这里包括连接条件和子语句,连接条件中包括table1中连接字段c1和连接方式,子语句中包含查询的表table2及该表中做连接操作的字段c2;步骤4、查询解析,系统在路由分发前对指定SQL语句进行解析,并得到相关参数,具体包括:步骤4.1、返回类型解析,得到SELECT关键字后结果呈现形式;步骤4.2、模糊连接解析,判断SQL语句中是否包含FUZZY IN关键字,包含则执行步骤5,否则执行步骤4.3;步骤4.3、模糊分组解析,判断SQL语句中是否包含CONTAIN或START WITH关键字,包含则执行步骤6,否则判断该语句非新增语句,经默认路由分发并得到最终结果;步骤5、混合连接,支持多源异构数据模糊匹配的连接操作,该步骤包括:步骤5.1、查询拆写,系统根据关键字FUZZY IN将原语句进行拆分,分别提取主查询和FUZZY IN的条件语句,作为table1和table2的查询语句,并将连接方式保存在内存中;步骤5.2、路由绑定,查询配置信息,分别将table1和table2的查询语句与对应路由结点绑定,并进行路由分发;步骤5.3、查询执行,分别在各结点执行分语句的查询操作,得到结果集依次返回至路由分发处;步骤5.4、FUZZY IN连接,获取内存中连接方式FUZZY IN,对table1中得到的结果集以c1列属性进行过滤,仅保留该列为table2中c2列子串的结果集并返回;步骤6、模糊分组,对待分组列按字符型包含指定字符串或数值型按指定间隔进行分组,该步骤包括:步骤6.1、确定分组类型,若语句包含关键字START WITH,则判别其为数值型按一定间隔进行分组,执行步骤6.2;若包含CONTAIN关键字,则判定其为字符型按包含字符串进行分组,执行步骤6.3;步骤6.2、数值型分组,解析相关参数,根据参数设定分组规则,得到分组结果集,该步骤包括:步骤6.2.1、解析相关参数,提取语句所指定的开始值s=num1和间隔值Δ=num2;步骤6.2.2、初始结果集查询,过滤GROUP BY及START...WITH...相关语句,向数据库发出查询请求,获得初始结果集t;步骤6.2.3、遍历初始结果集t中各个记录v,根据公式确定结果所属组号,并通过“k:v”形式予以封装;步骤6.3、字符型分组,解析相关参数,根据参数设定分组规则,得到分组结果集,该步骤包括:步骤6.3.1、解析相关参数,提取语句所指定的字符串r以及字符串分隔符d,将r根据d分割为多个子字符串,每个子字符串属于一组,并分配组号k;步骤6.3.2、初始结果集查询,过滤GROUP BY及START...WITH...相关语句,向数据库发出查询请求,获得初始结果集t;步骤6.3.3、遍历初始结果集t中各个记录v,筛选包含步骤6.3.1中各子字符串的记录,并以“k:v”形式予以封装;步骤6.4、分组结果返回,将分组执行返回的“k:v”结果集以列表形式封装进一个结果集对象中,返回至路由分发处;步骤7、封装结果并返回,根据步骤4.1中获取的返回结果类型,设置表头信息,并将表头信息与返回结果内容对应依次封装为字节流的形式返回。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201610783143.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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