[发明专利]一种基于离线学习历史查询预测未来查询的近似查询方法有效
| 申请号: | 201910812371.2 | 申请日: | 2019-08-30 |
| 公开(公告)号: | CN110597876B | 公开(公告)日: | 2023-03-24 |
| 发明(设计)人: | 温延龙;李云;袁晓洁 | 申请(专利权)人: | 南开大学 |
| 主分类号: | G06F16/2458 | 分类号: | G06F16/2458 |
| 代理公司: | 天津耀达律师事务所 12223 | 代理人: | 张耀 |
| 地址: | 300350 天津*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 离线 学习 历史 查询 预测 未来 近似 方法 | ||
1.一种基于离线学习历史查询预测未来查询的近似查询方法,其特征是该方法将查询和估计结果作为特征,真实结果作为标签,利用机器学习方法进行离线训练,得到底层数据分布的模型,当有新的查询到来时,通过离线学习的模型预测其结果,
步骤如下:
第1、离线学习历史查询对底层数据分布建模
第1.1、将复杂的SQL查询拆分为简单查询,
第1.2、提取SQL查询和近似结果中包含的特征,
第1.3、利用历史查询、近似结果和真实结果对底层数据分布建模;
第2、在线预测新到来查询的结果
第2.1、将新到来的查询拆分为简单查询,
第2.2、为每个简单查询在线预测查询结果,
第2.3、将简单查询的预测结果合并输出最终的预测结果。
2.根据权利要求1所述的基于离线学习历史查询预测未来查询的近似查询方法,其特征是:
步骤第1.1中,聚集查询q是具有如下形式的一个SQL查询,
SELECT agg(ai)
FROM relationr
WHERE conditionc
其中:
SELECT语句用于从数据表中选取数据,结果被存储在一个结果表中;
agg为查询的聚合类型,它是SUM、COUNT和AVG三种函数中的一种,SUM()函数返回数值列的总数,COUNT()函数返回匹配指定条件的行数,AVG()函数返回数值列的平均值,其中NULL值不包含在计算中;
ai为数据表中的某一列,该列必须是数值类型的;
FROM语句用于指定数据表;
relationr为数据库中的一张关系表,它是一个单独的事实表,或是两个或多个事实表经过连接操作得到的一张关系表;
WHERE语句用于有条件地从表中选取数据;
conditionc是WHERE语句后面的条件语句,每个条件用一个三元组attribute、operatot、value表示,其中attribute为列名称,operatot为运算符,value为值,这其中包含了GROUP-BY子句转化后新添加的条件。
3.根据权利要求1所述的基于离线学习历史查询预测未来查询的近似查询方法,其特征是:
步骤第1.1中,拆分的规则如下:
如果查询的SELECT子句中包含nagg个聚合函数,那么该查询会被分解为nagg个简单查询,每个简单查询仅包含其中的一个聚合函数;
如果查询中包含GROUP-BY子句,假设GROUP-BY后的分组列共有ngrp个不同的取值,那么该查询会被分解为ngrp个简单查询,每个简单查询的WHERE子句添加一个新的条件,对应于原查询的ngrp个不同取值中的一个过滤条件。
4.根据权利要求1所述的基于离线学习历史查询预测未来查询的近似查询方法,其特征是:
步骤第1.2中,将复杂查询拆分为简单查询之后,需要从简单查询和近似结果中提取特征,将这些特征划分为四类:选择特征、关系表特征、条件特征和近似结果特征,选择特征指的是SELECT子句中包含的聚合函数和聚合列特征;关系表特征指的是FROM子句中包含的关系表特征,它是一张事实表,或是两张或多张事实表经过连接操作形成的表;条件特征指的是WHERE子句后所包含的条件,这些条件通过“and”或者“or”连接起来,每个条件是对某一列取值的一个限制,因此每个条件用三元组column、operator、value表示,其中column为列名,operator为操作符,value为取值;近似结果特征是指通过现有的近似查询引擎返回的近似结果,它与最后取得的真实结果很相近,因此很自然地作为一个特征;经过特征提取步骤,将转换成了一个特征向量,记作vi。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南开大学,未经南开大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910812371.2/1.html,转载请声明来源钻瓜专利网。





