当前位置: 首页 > 专利查询>复旦大学专利>正文

针对探索性查询的高效抽样方法技术

技术编号:19388938 阅读:38 留言:0更新日期:2018-11-10 02:02
本发明专利技术属于数据仓库技术领域,具体为一种针对探索性查询的高效抽样方法。本发明专利技术方法包括:根据收集到的用户历史查询记录,将整个数据集划分成若干个抽样块,并构建一棵抽样块索引树来检索所有的抽样块;对于每一个抽样块,根据用户限定的总体样本空间大小限制,生成k个基于优化的分层抽样样本集;运行时,根据用户提交的查询,从抽样块索引树中找到所有有关的抽样块,从每个抽样块中的k个样本集合中取出最优的样本集进行近似结果计算并返回;选取最优样本集时,选出与目标查询分组条件下最优分层抽样策略距离最小的预生成策略;本发明专利技术能够成功匹配更多的探索性查询并返回更为精确的结果。

Efficient sampling method for exploratory queries

The invention belongs to the technical field of data warehouse, in particular to an efficient sampling method for exploratory queries. The method of the invention includes: dividing the whole data set into several sampling blocks according to the collected user history query records, and constructing an index tree of sampling blocks to retrieve all sampling blocks; for each sampling block, K stratified sampling based on optimization are generated according to the limitation of the overall sample space defined by the user. Sample set; At run time, according to the query submitted by the user, all relevant sampling blocks are found from the index tree of sampling blocks, and the optimal sample set is extracted from K sample sets of each sampling block for approximate calculation and return; when selecting the optimal sample set, the optimal stratified sampling strategy under the condition of grouping with the target query is selected. The invention can successfully match more exploratory queries and return more accurate results.

【技术实现步骤摘要】
针对探索性查询的高效抽样方法
本专利技术属于数据仓库
,具体涉及一种针对探索性查询的高效抽样方法。
技术介绍
探索性分析场景中,用户更希望能在较低的时延内获得查询结果。抽样系统通过减少查询的数据量加速了用户查询的返回。其中,如何能在限制的查询时间内,提高探索性查询返回的近似结果的精确度是非常重要的。传统的抽样系统通过分析用户查询负载,尤其是用户查询中的分组条件,来有针对性地生成分层抽样样本,提高了在样本上的近似结果的精确度。然而,由于数据集的不同部分蕴藏了不同的信息,为了挖掘出这些信息,探索性查询对于不同的子数据集会使用截然不同的分组条件。这种情况下,子数据集上的查询负载特征被混合或是掩盖在了整个数据集的查询负载中。因此,传统抽样系统通过分析混合的查询负载产生的仅有一份的样本集合无法对涉及到若干子数据集的探索性查询返回较优的近似结果。
技术实现思路
本专利技术的目的是在探索性分析场景下,对在数据仓库上发起的探索性近似查询,提出一种更加灵活高效的抽样方法,使得近似结果的精确度得到提高。对于针对探索性查询的抽样方法,我们希望通过分析用户查询负载中不同子数据集上的查询特征情况,将整个数据集分割为若干个子数据集并以此作为抽样的最小基本单位。通过将呈现出不同查询特征的子数据集分割开来,可以更加有针对性的分析每个子数据集上的查询特征和数据特征,从而分析得出更加有效地抽样策略。对于每一个子数据集,针对与其关联的特定用户查询特征,进一步在其上生成多个样本集合。由于每个子数据集上都有多个样本集合可供选择,在运行时能从中选出一个较优的样本的可能性便大大增加,在其上得到的近似结果也将更为精确。本专利技术提出的针对探索性查询的高效抽样方法,具体步骤如下:(1)记录用户每次发起的近似查询作为用户查询负载;(2)根据收集到的用户历史查询记录,将整个数据集划分成若干个抽样块,并构建一棵抽样块索引树来检索所有的抽样块,具体过程为:(2.1)对于树的一个节点,首先从用户历史查询记录中找到权重最大的数据过滤属性,将其作为用于分割当前节点代表的数据集的分割属性;计算属性权重的公式为:weight(attr)=majority(attr)×diversity(attr)(1)其中,majority(attr)为属性attr在用户查询记录中出现的频数;我们希望分割属性能够覆盖更多的用户查询,因此出现频数越高的属性可以获得越大的权重;diversity(attr)为与该属性attr出现在同一个用户查询中的不同的用于分组的属性的个数;如果diversity值过小,即某一属性总是伴随着特定的分组条件;那么根据该分割得到的子数据集将会呈现出相同的分组查询特征,这与我们所希望的寻找子数据集上不同的查询特征的目的不符;(2.2)得到该节点的分割属性后,利用DBSCAN聚类方法得到该属性代表的维度上的若干个类簇,将这些类簇的边界值作为该节点用于划分生成树的子节点的关键字;在使用DBSCAN聚类方法进行聚类时,我们从符合范围查询条件的值的点内均匀随机抽取出若干点输入聚类算法;相比于仅仅考虑范围查询条件的端点,这种均匀随机取点的方法更能表征出底层的数据特征;(2.3)根据节点的分割属性和相应的划分关键字,生成相应的子节点,并为每个子节点过滤出并记录该子节点代表的子数据集上相关的用户历史查询记录;(2.4)重复步骤(2.1-2.3),直至与生成的子节点相对应的子数据集上关联的用户查询记录中没有多余的可用于划分数据的属性;将这些子节点标记为抽样块索引树的叶子节点;(2.5)对于所有标记出的抽样块索引树叶子节点,构建抽样块,为每个抽样块保存相关的用户历史查询记录,以供对该抽样块生成具体样本时的抽样策略分析使用;(3)对于每一个抽样块,根据用户限定的总体样本空间大小限制,进行离线样本创建,生成k个基于优化的分层抽样样本集,具体过程为:(3.1)将每种抽样策略即总体样本空间在每个分组上的大小分配策略,抽象为生成的样本集中任意随机样本属于某一分组的概率分布;由此可通过两个概率分布之间的距离来计算两种抽样策略间的距离;其中对于某个分组g,其概率值为:p(g)=Sg/X(2)(3.2)针对每个数据块上的用户历史查询,生成最优的k个抽样策略优化目标公式为:其中,Divergence是用于衡量两个概率分布间距离的公式,例如巴氏距离;Pu是当查询分组条件为u时最优的分层抽样抽样空间分配策略,即对每个分组分配相同大小的抽样空间;该优化目标的目的是使抽样方法更加关注用户查询负载中重要的分组特征,并且期望在将来所有可能的探索性查询上获取最低的平均误差;(3.3)使用模拟退火算法训练得出最优的k个抽样策略;(3.4)对于每一种抽样策略,考察每个分组中样本的个数,将样本个数大于平均个数α倍的分组标记为溢出组,将样本个数小于平均个数α倍的分组标记为饥渴组,从溢出组中抽出一定样本空间分配给饥渴组;参数α的默认取值为10;(3.5)根据最终生成的抽样策略,即按照每个分组被分配到的抽样空间大小,在每个分组内进行随机抽样,生成最终的样本集合;(4)运行时,根据用户提交的查询,从抽样块索引树中找到所有有关的抽样块;从每个抽样块中的k个样本集合中进行样本选择,取出最优的样本集进行近似结果计算并返回;进行样本选择选取最优样本集时,使用与(2.2)中相同的Divergence距离公式,选出与目标查询分组条件下最优分层抽样策略距离最小的预生成策略;(5)在选择出的最优样本上针对查询所要求的聚合函数进行查询重写,返回近似结果。公式中所用的符号及参数的含义如下:attr:数据表中的某一属性,g:查询结果中的某一分组,p(g):样本出自于分组g的概率,Sg:分组g上分配的抽样空间大小,X:总的抽样空间大小,k:单个抽样块上存放的样本集个数,U:用户查询中所有分组条件的集合,u:用户查询中某一个分组条件。本专利技术通过将整个数据集划分成若干个抽样块,使得在每个抽样块上生成的抽样策略能够更加匹配针对该子数据集的查询,返回更为精确地近似结果。本专利技术相较于现有的抽样系统在探索性分析场景下有着如下优势:与现有系统直接分析整个数据集上混合的用户负载相比,本专利技术首先划分出子数据集,再对子数据集上的用户查询负载进行有针对的抽样策略分析可以大大提高涉及到多个子数据集的探索性查询的近似结果的精确度。与仅在整个数据集上生成一份样本相比,本专利技术在每个抽样块上生成多份样本并在运行时挑选出其中与当前用户查询最匹配的一份样本进行近似查询,大大提高了近似结果的精确度。附图说明图1为本专利技术所述的抽样方法的系统架构图。图2为抽样块索引树的一个示例。图3为本专利技术与现有抽样方法在TPC-H数据集上的精确度比较。图4为本专利技术与现有抽样方法在SDSS数据集上的精确度比较。具体实施方式为了便于称呼,下文中我们将本专利技术中的抽样方法简写为POLYTOPE。在本节中我们通过两个具体的数据集及其上的探索性查询来介绍本专利技术,并将其与现有抽样方法比较以体现其优势。数据集的介绍如下:TPC-H。一个经典的数据库基准测试数据集,内容为商品交易信息。我们在基准测试提供的模板查询的基础上模拟用户探索性分析生成了120个探索性查询。使用该数据集中的lineitem表,数据集的总大小为本文档来自技高网...

【技术保护点】
1.一种针对探索性查询的高效抽样方法,其特征在于,具体步骤如下:(1)记录用户每次发起的近似查询作为用户查询负载;(2)根据收集到的用户查询负载,将整个数据集划分成若干个抽样块,并构建一棵抽样块索引树来检索所有的抽样块,具体过程为:(2.1)对于树的一个节点,首先从用户历史查询记录中找到权重最大的数据过滤属性,将其作为用于分割当前节点代表的数据集的分割属性,计算属性权重的公式为:weight(attr)=majority(attr)×diversity(attr)    (1)其中,majority(attr)为属性attr在用户查询记录中出现的频数,diversity(attr)为与该属性attr出现在同一个用户查询中的不同的用于分组的属性的个数;(2.2)得到该节点的分割属性后,利用DBSCAN聚类方法得到该属性代表的维度上的若干个类簇,将这些类簇的边界值作为该节点用于划分生成树的子节点的关键字;(2.3)根据节点的分割属性和相应的划分关键字,划分数据集,生成相应的子节点,并为每个子节点过滤出并记录该子节点代表的子数据集上相关的用户历史查询记录;(2.4)重复步骤(2.1‑2.3),直至与生成的子节点相对应的子数据集上关联的用户查询记录中没有多余的可用于划分数据的属性;将这些子节点标记为抽样块索引树的叶子节点;(2.5)对于所有标记出的抽样块索引树叶子节点,构建抽样块,为每个抽样块保存相关的用户历史查询记录,以供对该抽样块生成具体样本时的抽样策略分析使用;(3)对于每一个抽样块,根据用户限定的总体样本空间大小限制,进行离线样本创建,生成k个基于优化的分层抽样样本集,具体过程为:(3.1)将每种抽样策略即总体样本空间在每个分组上的大小分配策略,抽象为生成的样本集中任意随机样本属于某一分组的概率分布,由此可通过两个概率分布之间的距离来计算两种抽样策略间的距离;其中对于某个分组g,其概率值为:p(g)=Sg/X     (2)(2.2)针对每个数据块上的用户历史查询,生成最优的k个抽样策略...

【技术特征摘要】
1.一种针对探索性查询的高效抽样方法,其特征在于,具体步骤如下:(1)记录用户每次发起的近似查询作为用户查询负载;(2)根据收集到的用户查询负载,将整个数据集划分成若干个抽样块,并构建一棵抽样块索引树来检索所有的抽样块,具体过程为:(2.1)对于树的一个节点,首先从用户历史查询记录中找到权重最大的数据过滤属性,将其作为用于分割当前节点代表的数据集的分割属性,计算属性权重的公式为:weight(attr)=majority(attr)×diversity(attr)(1)其中,majority(attr)为属性attr在用户查询记录中出现的频数,diversity(attr)为与该属性attr出现在同一个用户查询中的不同的用于分组的属性的个数;(2.2)得到该节点的分割属性后,利用DBSCAN聚类方法得到该属性代表的维度上的若干个类簇,将这些类簇的边界值作为该节点用于划分生成树的子节点的关键字;(2.3)根据节点的分割属性和相应的划分关键字,划分数据集,生成相应的子节点,并为每个子节点过滤出并记录该子节点代表的子数据集上相关的用户历史查询记录;(2.4)重复步骤(2.1-2.3),直至与生成的子节点相对应的子数据集上关联的用户查询记录中没有多余的可用于划分数据的属性;将这些子节点标记为抽样块索引树的叶子节点;(2.5)对于所有标记出的抽样块索引树叶子节点,构建抽样块,为每个抽样块保存相关的用户历史查询记录,以供对该抽样块生成具体样本时的抽样策略分析使用;(3)对于每一个抽样块,根据用户限定的总体样本空间大小限制,进行离线样本创建,生成k个基于优化的分层抽样样本集,具体过程为:(3.1)将每种抽样策略即总体样本空间在每个分组上的大小分配策略,抽象为生成的样本集中任意随机样本属于某一分组的概率分布,由此可通...

【专利技术属性】
技术研发人员:邬志罡郭程浩毛旭琪荆一楠何震瀛王晓阳
申请(专利权)人:复旦大学
类型:发明
国别省市:上海,31

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

1