CN108959425A - 一种海量数据Top-k选择查询方法 - Google Patents
一种海量数据Top-k选择查询方法 Download PDFInfo
- Publication number
- CN108959425A CN108959425A CN201810592946.XA CN201810592946A CN108959425A CN 108959425 A CN108959425 A CN 108959425A CN 201810592946 A CN201810592946 A CN 201810592946A CN 108959425 A CN108959425 A CN 108959425A
- Authority
- CN
- China
- Prior art keywords
- tuple
- score
- selection
- tks
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种海量数据Top‑k选择查询方法,有效地处理大数据上的top‑k选择查询,提出了基于表扫描的TKS算法,该算法通过对预排序表PT的顺序扫描来计算top‑k选择查询结果。本发明具有早结束特性;在连续扫描预排序表的过程中,只需要维护k个候选结果;并且选择剪切和分数剪切可以有效的减少I/O的代价,选择剪切是利用位图编码去掉不满足选择条件的元组,而分数剪切是利用评分函数的单调性和预排序列表的有序性跳过那些不满足分数要求的元组。
Description
技术领域
本发明涉及大数据查询领域,尤其涉及一种海量数据Top-k选择查询方法。
背景技术
随着移动计算的快速发展,top-k查询及其计算方法得到了众多研究者的关注,主要是因 为top-k查询结果集在很多应用中都有着非常重要的作用,由于其实际意义,top-k查询引起 了广泛的关注,并提出了许多算法。现有的top-k算法可以分为三类:基于索引的方法、基于 视图的方法和基于排序的方法。然而,绝大多数现有算法都没有选择条件,只返回所有元组中 的top-k结果。当然,这些算法的简单扩展,即首先找到满足选择条件的元组,然后在满足条 件的元组上执行top-k查询,将会导致大量的I/O开销。
目前已经有多种算法来处理top-k选择查询。D.Xin和J.Han等人提出评分立方体(Ranking cube)方法,在选择属性和度量属性上构建rank-aware的数据集,可以有效地回答top-k选择查询。然而,该方法总是假设选择维度是范围类型,并且实际应用中,在海量数据上的评分立方体的预计算成本和存储成本是非常昂贵的。另外两项密切相关的研究是N.Bruno和A.Stupar等人提出的,前者将其转化为一个单一的范围查询,以获得与预设的属性值根据距离函数匹配的k个元组。后一种方法处理预设选择条件的查询,由于选择形式的限 制和精确的数值属性,其实用性受到了严重的限制。换言之,现有的算法在处理海量数据的 top-k选择查询时存在一定的问题。
发明内容
为了克服上述现有技术中的不足,本发明提供一种海量数据Top-k选择查询方法,方法包 括:预设查询表T,基于TKS算法,对查询表T预排序,形成预排序表PT;
根据选择剪切方式和分数剪切方式,按预排序顺序扫描预排序表PT;
在扫描过程中,选择剪切方式为剪掉不满足选择条件P的元组;
分数剪切方式为预设分数的下界,任意元组的分数如果小于分数下界,则所述元组为非查 询结果,剪掉所述元组;
基于选择剪切方式和分数剪切方式的扫描后,保留未被剪掉的元组,输出查询结果。
优选地,步骤预设查询表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。
优选地,步骤预设查询表T,基于TKS算法,对查询表T预排序,形成预排序表PT还包括:
生成由表T的位置索引和度量属性值对组成的列文件ALi(PI,Ai),在ALi中按照属性值Ai降 序排列,并用PIi表示Ai中的每个属性值在ALi中的位置索引;
用MPI表示预设元组在有序列文件ALi中位置索引PIi的最小值,则t.MPI=min1≤i≤M t.PIi,将表T中的元组按照MPI值非降序排序,得到预排序表PT,PT表的模式为 PT(MPIL,PIT,A1,…,AM,S1,…,SD)。
优选地,设置评分函数评分函数用来计算每个元组的分数,连续扫描PT, 评估每个元组是否满足选择条件P,维护一个优先队列PQ,队列中的元素是到目前为止满足选 择条件且分数最大的k个元组;当满足早结束条件时,返回PQ中的元组,即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先从和中读取数据,获得 类似地,可以获得该位向量对应PT(1,…,8×BS) 的元组,如果bf中的第a位为0,PT(a)可以直接跳过;否则读取PT(a),并且 通过选择条件进行评估;当缓冲区bf用完后,TKS重新获取和的数据,
优选地,分数剪切方式包括:
令tscore是top-k选择结果分数的下界,任意元组的分数如果小于tscore,那么该元组 肯定不是查询结果,并且可以直接跳过该元组;TKS预先构建一个数据结构APTS(Attribute Pair Terminating-tuple Set),对于每一个top-k选择查询,利用该结构初始化tscore;指 定其上界Kmax;度量属性的维度为M,则APTS需要维护个文件,每个文件中具有Kmax个T 中的元组; 代表APTS中的一个文件,所述文件保存以round-robin的 方式在和上轮询得到的前Kmax个终结元组;
再预构造另一个结构MCR,根据元组的位置索引来确定其对应度量属性值的范围;MCRi文 件是由log2 n个元组组成,MCRi(b)是一个n位的位向量,代表通过EGBFTi(b)检查PT中的元 组结果,如果PT(a)的检测结果为真,则MCRi(b)中的第a个位置为1,否则,该位被设置为0; EGBFTi(b)是一个bloom filter表,是在AL(1,…,2b).PI上构造出来的。
优选地,分数剪切方式还包括:配置分数剪切规则;
在连续扫描PT之前,预设评分函数,TKS算法通过读个相关文件APTS, 初始化tscore;tscore被设置成在相关文件APTS中满足选择条件P的元组中 的第k大的分数;如果选择度STV的值较低,则可能小于k个元组满足选择条 件P,此时tscore设置成∑1≤i≤mmini;得到tscore的值之后,为度量属性Ai计 算
如果pt.Ai<pvi,有pt.A1+…+pt.Ai+…+pt.Am<max1+…+pvi+…+ maxm=tscore,因此pt不是top-k选择结果;
TKS利用EGBIi(1≤i≤m)结构确定当前用于分数剪切的MCR元组的位置索引;TKS返 回EGBIi满足条件EGBIi(bi).eval<pvi≤EGBIi(bi-1).eval的第一个位置索引 用EGBIi(0).eval表示maxi,是-∞,然后bi是MCR元组的 位置索引;
已知MCRi(bi)是PT的PIT成员属性检测结果值的位向量;如果当前不 能执行分数剪切;
令mfi为一个具有BS个字节的缓冲区,用来维护读取MCRi(bi)的数据;在对PT执行顺序 扫描之前,TKS通过mfi从MCRi(bi)中获取数据,并且获得该位向量对应 PT(1,…,8×BS)的元组,如果mf中的第a位为0,PT(a)直接跳过;否则读取PT(a),并 且通过选择条件进行评估;
当位向量mf用完后,TKS重新获取数据MCRi(bi),重新计算mf,当前mf位向量对应PT(8 ×BS+1,…,16×BS)的元组,并继续扫描。
从以上技术方案可以看出,本发明具有以下优点:
本发明有效地处理大数据上的top-k选择查询,提出了基于表扫描的TKS算法,该算法通 过对预排序表PT的顺序扫描来计算top-k选择查询结果。本发明具有早结束特性;在连续扫 描预排序表的过程中,只需要维护k个候选结果;并且选择剪切和分数剪切可以有效的减少 I/O的代价,选择剪切是利用位图编码去掉不满足选择条件的元组,而分数剪切是利用评分函 数的单调性和预排序列表的有序性跳过那些不满足分数要求的元组。
本发明从执行时间、维护元组的数量、I/O代价以及扫描深度效果上都有明显的提升;可 以从剪切率上面看出,实际的剪切率曲线与估计的剪切率曲线几乎吻合,说明理论上需要剪切 的元组,在实际执行的过程中基本剪切掉,明显提高执行效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍, 显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为海量数据Top-k选择查询方法流程图;
图2为有序列文件示意图;
图3为预排序表PT示意图;
图4为选择剪切方式示意图;
图5为分数剪切方式示意图。
具体实施方式
本发明提供一种海量数据Top-k选择查询方法,如图1所示,方法包括:
S1,预设查询表T,基于TKS算法,对查询表T预排序,形成预排序表PT;
S2,根据选择剪切方式和分数剪切方式,按预排序顺序扫描预排序表PT;
在扫描过程中,选择剪切方式为剪掉不满足选择条件P的元组;
分数剪切方式为预设分数的下界,任意元组的分数如果小于分数下界,则所述元组为非查 询结果,剪掉所述元组;
S3,基于选择剪切方式和分数剪切方式的扫描后,保留未被剪掉的元组,输出查询结果。
本发明预设选择条件和评分函数,top-k选择查询返回满足选择条件且分数最大的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。
其中,步骤预设查询表T,基于TKS算法,对查询表T预排序,形成预排序表PT还包括:
生成由表T的位置索引和度量属性值对组成的列文件ALi(PI,Ai),在ALi中按照属性值Ai降 序排列,并用PIi表示Ai中的每个属性值在ALi中的位置索引;
用MPI表示预设元组在有序列文件ALi中位置索引PIi的最小值,则t.MPI=min1≤i≤M t.PIi,将表T中的元组按照MPI值非降序排序,得到预排序表PT,PT表的模式为 PT(MPIL,PIT,A1,…,AM,S1,…,SD)。
本发明中,对查询表T预排序,产生预排序表PT;生成有序列文件ALi操作,如图2所示
首先生成由表T的位置索引和度量属性值对组成的列文件ALi(PI,Ai),在ALi中按照属性值 Ai降序排列,并用PIi表示Ai中的每个属性值在ALi中的位置索引,如图2所示;
生成PT表,图3所示,用MPI表示预设元组在有序列文件ALi中位置索引PIi的最小值, 则t.MPI=min1≤i≤M t.PIi,将表T中的元组按照MPI值非降序排序,得到预排序表PT,如图3所示,PT表的模式为PT(MPIL,PIT,A1,…,AM,S1,…,SD)。
本发明中,TKS的基本过程是,假定评分函数评分函数用来计算每个元 组的分数,连续扫描PT,评估每个元组是否满足选择条件P,维护一个优先队列PQ,队列中的 元素是到目前为止满足选择条件且分数最大的k个元组;当满足早结束条件时,返回PQ中的元 组,即top-k的选择结果。
由PT的构造过程可知TKS具有提前终止的特性。本发明提出了一种简洁的数据结构 GTS(Gap Threshold Score),该结构用来维护在有序列文件上元组的具有预设位置索引间隔的 属性值。预设间隔参数OG,在结构GTS中的第个记录维护属性值AL1(b× OG).A1,...,ALM(b×OG).AM。
假设pt是PT中当前读取的元组,可以证明,如果满足早结束条件 则当前PQ中维护的元组是top-k选择结果。
在其执行过程中,TKS算法具有早结束和只需维护k个候选元组特性,此外,本发明还提 出两种剪切进一步加快算法的效率。
本发明中,图4所示,选择剪切是跳过不满足选择条件P的元组,如果一个元组不满足选 择条件,那么该元组肯定不是top-k选择的结果。TKS利用位图索引来处理选择条件,不同于 以前的方法在选择属性上构建立方体结构,之前的方法显然受到了选择属性维数的影响,在实 际应用中会受到严重的限制。由于选择属性是数值型的,如果为每个不同的值生成一个位向量 将使得位图索引的空间成本将会非常昂贵。利用范围划分去离散化连续区域,离散化过程如下:
选择剪切方式包括:给出选择属性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先从和中读取数据,获得 类似地,可以获得该位向量对应PT(1,…,8×BS) 的元组,如果bf中的第a位为0,PT(a)可以直接跳过;否则读取PT(a),并且 通过选择条件进行评估;当缓冲区bf用完后,TKS重新获取和的数据, 重新计算bf,此时当前bf位向量对应PT(8×BS+1,…,16×BS),并继续 顺序扫描。
本发明中,如图5所示,分数剪切方式包括:令tscore是top-k选择结果分数的下界, 任意元组的分数如果小于tscore,那么该元组肯定不是查询结果,并且可以直接跳过该元组; TKS预先构建一个数据结构APTS(Attribute Pair Terminating-tuple Set),对于每一个top-k 选择查询,利用该结构初始化tscore;指定其上界Kmax;度量属性的维度为M,则APTS需要维 护个文件,每个文件中具有Kmax个T中的元组; 代表APTS中的一 个文件,所述文件保存以round-robin的方式在和上轮询得到的前Kmax个终结元组;
再预构造另一个结构MCR,根据元组的位置索引来确定其对应度量属性值的范围;MCRi文 件是由log2 n个元组组成,MCRi(b)是一个n位的位向量,代表通过EGBFTi(b)检查PT中的元 组结果,如果PT(a)的检测结果为真,则MCRi(b)中的第a个位置为1,否则,该位被设置为0; EGBFTi(b)是一个bloom filter表,是在AL(1,…,2b).PI上构造出来的。
分数剪切方式还包括:配置分数剪切规则;在连续扫描PT之前,预设评分函数,TKS算 法通过读个相关文件APTS,初始化tscore;tscore被设置成在相关文件APTS中满足选 择条件P的元组中的第k大的分数;如果选择度STV的值较低,则可能小于k个元组满足选择 条件P,此时tscore设置成∑1≤i≤m mini;得到tscore的值之后,为度量属性Ai计算
如果pt.Ai<pvi,有pt.A1+…+pt.Ai+…+pt.Am<max1+…+pvi+…+ maxm=tscore,因此pt不是top-k选择结果;
TKS利用EGBIi(1≤i≤m)结构确定当前用于分数剪切的MCR元组的位置索引;TKS返 回EGBIi满足条件EGBIi(bi).eval<pvi≤EGBIi(bi-1).eval的第一个位置索引 用EGBIi(0).eval表示maxi,是-∞,然后bi是MCR元组的 位置索引;
已知MCRi(bi)是PT的PIT成员属性检测结果值的位向量;如果当前不 能执行分数剪切;
令mfi为一个具有BS个字节的缓冲区,用来维护读取MCRi(bi)的数据;在对PT执行顺序 扫描之前,TKS通过mfi从MCRi(bi)中获取数据,并且获得该位向量对应 PT(1,…,8×BS)的元组,如果mf中的第a位为0,PT(a)直接跳过;否则读取PT(a),并 且通过选择条件进行评估;
当位向量mf用完后,TKS重新获取数据MCRi(bi),重新计算mf,当前mf位向量对应PT(8 ×BS+1,…,16×BS)的元组,并继续扫描。
两种剪切方法的结合,选择剪切考虑选择条件,分数剪切考虑分数要求,因此可以合并两 种剪切以达到更好的剪切效果;与选择剪切、分数剪切类似,合并剪切方法中保留的元组,只 有在选择剪切和分数剪切都没被剪掉的时候才保留此元组。
本发明是研究在大数据上的top-k查询问题,提出基于表扫描的TKS算法;该算法通过对 预排序表PT的顺序扫描来计算top-k选择查询结果。本发明具有早结束特性;在连续扫描预 排序表的过程中,只需要维护k个候选结果;并且选择剪切和分数剪切可以有效的减少I/O 的代价,选择剪切是利用位图编码去掉不满足选择条件的元组,而分数剪切是利用评分函数的 单调性和预排序列表的有序性跳过那些不满足分数要求的元组。
大量实验结果表明本发明从执行时间、维护元组的数量、I/O代价以及扫描深度效果上都 有明显的提升;可以从剪切率上面看出,实际的剪切率曲线与估计的剪切率曲线几乎吻合,说 明理论上需要剪切的元组,在实际执行的过程中基本剪切掉,明显提高执行效率。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实 施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以 在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于 本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
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先从和中读取数据,获得类似地,可以获得该位向量对应PT(1,…,8×BS)的元组,如果bf中的第a位为0,PT(a)可以直接跳过;否则读取PT(a),并且通过选择条件进行评估;当缓冲区bf用完后,TKS重新获取和的数据,重新计算bf,此时当前bf位向量对应PT(8×BS+1,…,16×BS),并继续顺序扫描。
6.根据权利要求1所述的海量数据Top-k选择查询方法,其特征在于,
分数剪切方式包括:
令tscore是top-k选择结果分数的下界,任意元组的分数如果小于tscore,那么该元组肯定不是查询结果,并且可以直接跳过该元组;TKS预先构建一个数据结构APTS(AttributePair Terminating-tuple Set),对于每一个top-k选择查询,利用该结构初始化tscore;指定其上界Kmax;度量属性的维度为M,则APTS需要维护个文件,每个文件中具有Kmax个T中的元组;代表APTS中的一个文件,所述文件保存以round-robin的方式在和上轮询得到的前Kmax个终结元组;
再预构造另一个结构MCR,根据元组的位置索引来确定其对应度量属性值的范围;MCRi文件是由log2n个元组组成,MCRi(b)是一个n位的位向量,代表通过EGBFTi(b)检查PT中的元组结果,如果PT(a)的检测结果为真,则MCRi(b)中的第a个位置为1,否则,该位被设置为0;EGBFTi(b)是一个bloom filter表,是在AL(1,…,2b).PI上构造出来的。
7.根据权利要求6所述的海量数据Top-k选择查询方法,其特征在于,
分数剪切方式还包括:配置分数剪切规则;
在连续扫描PT之前,预设评分函数,TKS算法通过读个相关文件APTS,初始化tscore;tscore被设置成在相关文件APTS中满足选择条件P的元组中的第k大的分数;如果选择度STV的值较低,则可能小于k个元组满足选择条件P,此时tscore设置成∑1≤i≤mmini;得到tscore的值之后,为度量属性Ai计算
如果pt.Ai<pvi,有pt.A1+…+pt.Ai+…+pt.Am<max1+…+pvi+…+maxm=tscore,因此pt不是top-k选择结果;
TKS利用EGBIi(1≤i≤m)结构确定当前用于分数剪切的MCR元组的位置索引;TKS返回EGBIi满足条件EGBIi(bi).eval<pvi≤EGBIi(bi-1).eval的第一个位置索引 用EGBIi(0).eval表示maxi,是-∞,然后bi是MCR元组的位置索引;
已知MCRi(bi)是PT的PIT成员属性检测结果值的位向量;如果当前不能执行分数剪切;
令mfi为一个具有BS个字节的缓冲区,用来维护读取MCRi(bi)的数据;在对PT执行顺序扫描之前,TKS通过mfi从MCRi(bi)中获取数据,并且获得该位向量对应PT(1,…,8×BS)的元组,如果mf中的第a位为0,PT(a)直接跳过;否则读取PT(a),并且通过选择条件进行评估;
当位向量mf用完后,TKS重新获取数据MCRi(bi),重新计算mf,当前mf位向量对应PT(8×BS+1,…,16×BS)的元组,并继续扫描。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810592946.XA CN108959425B (zh) | 2018-06-11 | 2018-06-11 | 一种海量数据Top-k选择查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810592946.XA CN108959425B (zh) | 2018-06-11 | 2018-06-11 | 一种海量数据Top-k选择查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108959425A true CN108959425A (zh) | 2018-12-07 |
CN108959425B CN108959425B (zh) | 2021-08-06 |
Family
ID=64488267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810592946.XA Active CN108959425B (zh) | 2018-06-11 | 2018-06-11 | 一种海量数据Top-k选择查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959425B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118013086A (zh) * | 2024-04-10 | 2024-05-10 | 哈尔滨工业大学(威海) | 一种k代表G-Skyline查询方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020319A (zh) * | 2013-01-11 | 2013-04-03 | 江苏大学 | 一种实时移动空间关键字近似Top-k查询方法 |
CN103226608A (zh) * | 2013-04-28 | 2013-07-31 | 北京航空航天大学 | 一种基于目录级可伸缩的Bloom Filter位图表的并行文件搜索方法 |
US20180129731A1 (en) * | 2016-11-07 | 2018-05-10 | Yahoo! Inc. | Top-k query processing with conditional skips |
-
2018
- 2018-06-11 CN CN201810592946.XA patent/CN108959425B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020319A (zh) * | 2013-01-11 | 2013-04-03 | 江苏大学 | 一种实时移动空间关键字近似Top-k查询方法 |
CN103226608A (zh) * | 2013-04-28 | 2013-07-31 | 北京航空航天大学 | 一种基于目录级可伸缩的Bloom Filter位图表的并行文件搜索方法 |
US20180129731A1 (en) * | 2016-11-07 | 2018-05-10 | Yahoo! Inc. | Top-k query processing with conditional skips |
Non-Patent Citations (3)
Title |
---|
NIKOS MAMOULIS 等: ""Efficient Top-k Aggregation of Ranked Inputs"", 《ACM TRANSACTIONS ON DATABASE SYSTEMS》 * |
XIXIAN HAN 等: ""Efficient Top-k Dominating Computation on Massive Data (Extended Abstract)"", 《 2018 IEEE 34TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE)》 * |
韩希先 等: ""TMS:一种新的海量数据多维选择Top-k查询算法"", 《计算机研究与发展》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118013086A (zh) * | 2024-04-10 | 2024-05-10 | 哈尔滨工业大学(威海) | 一种k代表G-Skyline查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108959425B (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Marian et al. | Adaptive processing of top-k queries in XML | |
Golfarelli et al. | myOLAP: An approach to express and evaluate OLAP preferences | |
Gudmundsson et al. | Approximate distance oracles for geometric graphs | |
CN101944116B (zh) | 一种数据仓库中复杂多维层次的连接和聚集方法 | |
Hilderman et al. | Heuristic measures of interestingness | |
CN108959425A (zh) | 一种海量数据Top-k选择查询方法 | |
CN108460052A (zh) | 一种自动创建索引的方法、装置及数据库系统 | |
CN107967624A (zh) | 一种业务活动销售预测模型的评价方法 | |
Pearl | SCOUT: A Simple Game-Searching Algorithm with Proven Optimal Properties. | |
Ananthakrishna et al. | Efficient approximation of correlated sums on data streams | |
CN103106212A (zh) | 信息搜索方法及装置 | |
Lu et al. | On computing farthest dominated locations | |
Önal | A computationally convenient diversity measure: theory and application | |
Shuwen et al. | An improved apriori algorithm based on matrix | |
Ghodsi et al. | Real-time optimum sequencing of wood cutting process | |
Kim et al. | Two-direction subgradient method for non-differentiable optimization problems | |
Angilella et al. | Non-additive robust ordinal regression with Choquet integral, bipolar and level dependent Choquet integrals | |
CN111324579A (zh) | Erp文件的查询方法、系统、终端和存储介质 | |
CN104021169A (zh) | 一种基于SDD-1算法的Hive连接查询方法 | |
CN109710700A (zh) | 一种olap语义缓存方法 | |
Feng et al. | Probabilistic top-k dominating query over sliding windows | |
CN107688620A (zh) | 一种基于多样化算法框架TAD的面向Top‑k查询的查询结果即时多样化算法 | |
Lee et al. | Performance evaluation of MRDataCube for data cube computation algorithm using MapReduce | |
Mandawat et al. | Indexing Schemes for Efficient Aggregate Computation over Structural Joins. | |
Hotvedt et al. | Optimum management regimes for uneven-aged loblolly-shortleaf pine stands managed under the selection system in the West Gulf region |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |