【技术实现步骤摘要】
一种海量数据Top-k选择查询方法
本专利技术涉及大数据查询领域,尤其涉及一种海量数据Top-k选择查询方法。
技术介绍
随着移动计算的快速发展,top-k查询及其计算方法得到了众多研究者的关注,主要是因为top-k查询结果集在很多应用中都有着非常重要的作用,由于其实际意义,top-k查询引起了广泛的关注,并提出了许多算法。现有的top-k算法可以分为三类:基于索引的方法、基于视图的方法和基于排序的方法。然而,绝大多数现有算法都没有选择条件,只返回所有元组中的top-k结果。当然,这些算法的简单扩展,即首先找到满足选择条件的元组,然后在满足条件的元组上执行top-k查询,将会导致大量的I/O开销。目前已经有多种算法来处理top-k选择查询。D.Xin和J.Han等人提出评分立方体(Rankingcube)方法,在选择属性和度量属性上构建rank-aware的数据集,可以有效地回答top-k选择查询。然而,该方法总是假设选择维度是范围类型,并且实际应用中,在海量数据上的评分立方体的预计算成本和存储成本是非常昂贵的。另外两项密切相关的研究是N.Bruno和A.Stupar等人提出的,前者将其转化为一个单一的范围查询,以获得与预设的属性值根据距离函数匹配的k个元组。后一种方法处理预设选择条件的查询,由于选择形式的限制和精确的数值属性,其实用性受到了严重的限制。换言之,现有的算法在处理海量数据的top-k选择查询时存在一定的问题。
技术实现思路
为了克服上述现有技术中的不足,本专利技术提供一种海量数据Top-k选择查询方法,方法包括:预设查询表T,基于TKS算法,对查 ...
【技术保护点】
1.一种海量数据Top‑k选择查询方法,其特征在于,方法包括:预设查询表T,基于TKS算法,对查询表T预排序,形成预排序表PT;根据选择剪切方式和分数剪切方式,按预排序顺序扫描预排序表PT;在扫描过程中,选择剪切方式为剪掉不满足选择条件P的元组;分数剪切方式为预设分数的下界,任意元组的分数如果小于分数下界,则所述元组为非查询结果,剪掉所述元组;基于选择剪切方式和分数剪切方式的扫描后,保留未被剪掉的元组,输出查询结果。
【技术特征摘要】
1.一种海量数据Top-k选择查询方法,其特征在于,方法包括:预设查询表T,基于TKS算法,对查询表T预排序,形成预排序表PT;根据选择剪切方式和分数剪切方式,按预排序顺序扫描预排序表PT;在扫描过程中,选择剪切方式为剪掉不满足选择条件P的元组;分数剪切方式为预设分数的下界,任意元组的分数如果小于分数下界,则所述元组为非查询结果,剪掉所述元组;基于选择剪切方式和分数剪切方式的扫描后,保留未被剪掉的元组,输出查询结果。2.根据权利要求1所述的海量数据Top-k选择查询方法,其特征在于,步骤预设查询表T,基于TKS算法,对查询表T预排序,形成预排序表PT还包括:T具有n个元组,M个度量属性A1,…,AM和D个选择属性S1,…,SD,top-k选择查询定义在d个选择属性S1,…,Sd上的选择条件P={(l1≤S1≤u1)∧…(ld≤Sd≤ud)}和定义在m个度量属性A1,…,Am上的评分函数返回满足选择条件且分数最大的k个元组;根据数据表T,生成有序列文件ALi(PI,Ai),PI是元组的位置索引,Ai代表第i个属性值,有序列文件按照Ai的值递减排序;对T的元组根据其在AL1,…,ALM的轮询顺序进行预排序,获得预排序表PT。3.根据权利要求2所述的海量数据Top-k选择查询方法,其特征在于,步骤预设查询表T,基于TKS算法,对查询表T预排序,形成预排序表PT还包括:生成由表T的位置索引和度量属性值对组成的列文件ALi(PI,Ai),在ALi中按照属性值Ai降序排列,并用PIi表示Ai中的每个属性值在ALi中的位置索引;用MPI表示预设元组在有序列文件ALi中位置索引PIi的最小值,则t.MPI=min1≤i≤Mt.PIi,将表T中的元组按照MPI值非降序排序,得到预排序表PT,PT表的模式为PT(MPIL,PIT,A1,…,AM,S1,…,SD)。4.根据权利要求1所述的海量数据Top-k选择查询方法,其特征在于,扫描过程还包括:设置评分函数评分函数用来计算每个元组的分数,连续扫描PT,评估每个元组是否满足选择条件P,维护一个优先队列PQ,队列中的元素是到目前为止满足选择条件且分数最大的k个元组;当满足早结束条件时,返回PQ中的元组,即top-k的选择结果。5.根据权利要求1所述的海量数据Top-k选择查询方法,其特征在于,选择剪切方式包括:给出选择属性Sj,minj和maxj分别是选择属性值的最小值和最大值,把[minj,maxj]区间分成C个范围(R1,......,RC),并用C个位向量(Bj,1,...,Bj,C)为Sj编码;用Bj,v(a)表示向量Bj,v的第a位;如果pt.Sj属于Rv,则Bj,1(a),...,Bj,v-1(a)为0,Bj,v(a),...,Bj,C(a)为1,Bj,v代表离散化Sj中落入范围[1,v]内的属性值;预设在选择属性Sj上的选择条件lj≤Sj≤uj,两个位向量需要执行选择剪切,[v1,v2]是区间[lj,uj]所涉及到的相关范围,则有代表相关范围的属性值;当v1=1时,只有用于选择剪切;令bfj,1和bfj,2分别表示具有BS个字节缓冲区,并分别维护从和读取的数据;在对PT执行扫描之前,TKS先从和中...
【专利技术属性】
技术研发人员:韩希先,宋翠,王佰玲,
申请(专利权)人:哈尔滨工业大学威海,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。