[发明专利]一种查询语句公共部分的提取方法及装置有效
申请号: | 201310418634.4 | 申请日: | 2013-09-13 |
公开(公告)号: | CN104462095B | 公开(公告)日: | 2018-06-12 |
发明(设计)人: | 葛星;徐常亮;傅跃兵;姚斌 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 解婷婷;栗若木 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 查询语句 特征向量 查询操作 查询对象 有效检测 预定算法 预定条件 重复 过滤 抽象 申请 统计 | ||
1.一种查询语句公共部分的提取方法,包括:
将查询语句划分为一个或多个查询层次,一个查询层次为进行一次查询操作的查询子句;
分别根据各所述查询层次中查询对象的过滤特征和流向特征抽象出各所述查询层次的特征向量;其中,过滤特征为针对一个查询层次的行相关的过滤操作特征,流向特征为针对一个查询层次的数据流向特征;
采用预定算法分别对各所述查询层次的所述特征向量进行计算,得到各所述查询层次的特征值;
统计各所述特征值的重复次数,选取重复次数符合预定条件的所述特征值作为公共部分。
2.如权利要求1所述的方法,其特征在于:
所述查询对象为查询语句中的行变换和源追溯操作。
3.如权利要求1所述的方法,其特征在于,所述统计各特征值的重复次数,选取重复次数符合预定条件的特征值作为公共部分的步骤包括:
统计已有的查询语句中各所述查询层次的所述特征值,得到各所述特征值的重复次数作为统计结果;
当加入新的查询语句时,将所述新的查询语句中各所述查询层次的所述特征值的重复次数与所述统计结果中相应特征值的重复次数相加,用相加后的重复次数更新所述统计结果;在所述统计结果中,选取重复次数符合预定条件的特征值作为公共部分的特征值。
4.如权利要求1到3中任一项所述的方法,其特征在于:
所述重复次数符合预定条件的特征值是指所述重复次数最高的N个所述特征值,或是指所述重复次数大于预定阈值的一个或多个所述特征值;其中N为正整数,表示公共部分的特征值的预定个数。
5.如权利要求2所述的方法,其特征在于,所述分别根据各所述查询层次中查询对象的过滤特征和流向特征抽象出各所述查询层次的特征向量的步骤包括:
分别抽取出各所述查询层次中查询对象的过滤特征和流向特征;
分别将各所述查询层次的过滤特征及流向特征的表达式格式化得到析取范式,对所述析取范式进行逻辑关系的合并及数值计算,得到各所述查询层次的特征向量。
6.如权利要求2所述的方法,其特征在于:
所述过滤特征包括WHERE、ORDER BY、LIMIT语句;
所述流向特征包括TABREF、JOIN、SUBQUERY、UNION_SUBQUERY语句。
7.一种查询语句公共部分的提取装置,其特征在于,包括:
划分单元,用于将查询语句划分为一个或多个查询层次,一个查询层次为进行一次查询操作的查询子句;
抽取单元,用于分别根据各所述查询层次中查询对象的过滤特征和流向特征抽象出各所述查询层次的特征向量;其中,过滤特征为针对一个查询层次的行相关的过滤操作特征,流向特征为针对一个查询层次的数据流向特征;
计算单元,用于采用预定算法分别对各所述查询层次的特征向量进行计算,得到各所述查询层次的特征值;
筛选单元,用于统计各所述特征值的重复次数,选取重复次数符合预定条件的所述特征值作为公共部分。
8.如权利要求7所述的装置,其特征在于:
所述查询对象为查询语句中的行变换和源追溯操作。
9.如权利要求7所述的装置,其特征在于,所述筛选单元统计各特征值的重复次数,选取重复次数符合预定条件的特征值作为公共部分是指:
所述筛选单元统计已有的查询语句中各所述查询层次的所述特征值,得到各所述特征值的重复次数作为统计结果;当加入新的查询语句时,将所述新的查询语句中各查询层次的所述特征值的重复次数与所述统计结果中相应特征值的重复次数相加,用相加后的重复次数更新所述统计结果;在所述统计结果中,选取重复次数符合预定条件的所述特征值作为公共部分的特征值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310418634.4/1.html,转载请声明来源钻瓜专利网。