一种有效的不确定数据流Top-K查询算法

合集下载

空间数据上Top-k关键词模糊查询算法

空间数据上Top-k关键词模糊查询算法

空间数据上Top-k关键词模糊查询算法胡骏;范举;李国良;陈姗姗【期刊名称】《计算机学报》【年(卷),期】2012(035)011【摘要】基于位置的服务(LBS)变得日益普及,越来越多的研究开始关注如何对空间中的兴趣点(POI)做有效的检索.现有的方法提出了空间数据上的关键词检索,研究如何根据查询的位置和关键词找到相关的POI点.然而,现有方法主要对查询关键词进行精确匹配,不能支持模糊查询:当查询关键词与底层数据存在微小差异的时候,LBS 系统不能返回相关的结果.为了满足移动用户的模糊查询需求,文中对空间数据上的Top-k关键词模糊查询问题进行研究:给定一组POI点,检索与查询关键词近似匹配且空间上距离相近的Top-k个结果.为了提供高效的模糊查询,文中首先定义了一种新型的相关性函数,综合考虑了文本相似性和空间距离,进而提出了一种有效的索引结构RegionTrie,并基于RegionTrie设计了高效的Top-k算法.真实数据集上的实验结果表明,文中提出的Top-k算法十分高效,性能远好于对比方法.%Location-Based Services (LBSXhave become more and more popular recently. Existing LBS systems employ a spatial keyword search method to provide services, which finds the relevant POIs by considering textual relevance and spatial distance when given a set of points-of-in-terest (POIs). Existing methods only allow exact matches for query keywords and fail to support fuzzy search. To provide error-tolerance search experiences, we study the top-k fuzzy spatial keyword search problem in this paper: Given a set of POIs and a query with location and keywords, we find the relevant POIshaving similar keywords with the query. It calls for efficient algorithms to provide real-time search for mobile users. To address this challenge, we introduce a novel function to quantify the relevance between POIs and the query, by considering the similarity between keywords and spatial distance. Then, we devise an effective index structure, called RegionTrie to organize the POIs and develop efficient search algorithm based on the RegionTrie. We conducted experiments on real datasets, and the experimental results show that our algorithms achieve high performance.【总页数】10页(P2237-2246)【作者】胡骏;范举;李国良;陈姗姗【作者单位】清华大学计算机科学与技术系数据库研究组北京100084;清华大学计算机科学与技术系数据库研究组北京100084;清华大学计算机科学与技术系数据库研究组北京100084;清华大学计算机科学与技术系数据库研究组北京100084【正文语种】中文【中图分类】TP311【相关文献】1.关系数据库上基于非数值属性关键词的模糊查询 [J], 杨路明;王佳宜;谢东EP:海量数据上一种有效的Top-K查询处理算法 [J], 韩希先;杨东华;李建中3.BTreeU-Topk:基于二叉树的不确定数据上的Top-k查询算法 [J], 张慧;郑吉平;韩秋廷4.多数据源上Top-k中间模式的产生算法 [J], 丁国辉;王国仁;赵相国5.基于MPB-Tree索引的空间数据多关键词模糊查询算法研究 [J], 张素智;赵亚楠;杨芮因版权原因,仅展示原文概要,查看原文内容请购买。

基于概率信息抽取模型的Top-k查询

基于概率信息抽取模型的Top-k查询

基于概率信息抽取模型的Top-k查询何明;李薇【期刊名称】《计算机研究与发展》【年(卷),期】2011(048)0z2【摘要】Many applications today need to manage data that is uncertain, such as information extraction (IE), data integration, sensor RFID networks, and scientific experiments. Top k queries are often natural and useful in analyzing uncertain data in those applications. In this paper, we study the problem of answering top-K queries in a probabilistic framework from a state-of-the-art statistical IE model-semi-Conditional Random Fields (CRFs)-in the setting of Probabilistic Databases that treat statistical models as first-class data objects. We investigate the problem of ranking the answers to Probabilistic Databases query. We present efficient algorithmfor finding the best approximating parameters in such a framework to efficiently retrieve the top-K ranked results. An empirical study using real data sets demonstrates the effectiveness of probabilistic top-K queries and the efficiency of our method.%随着数据采集和处理技术的进步,在经济、军事、物流、金融、电信等领域的具体应用中,数据的不确定性普遍存在.不确定性数据的表现形式多种多样,它们可以以关系型数据、半结构化数据、流数据或移动对象数据等形式出现.针对信息抽取过程中的不确定性数据,基于半条件随机场(semi-Markov Conditional Random Fields,semi-CRFs)模型,构建支持不确定数据Top-k查询的信息抽取框架.建立基于关系的不确定性数据描述方法和存储模式,提出一种基于概率框架下的面向不确定性数据的Top-k查询算法.实验证明,该框架在提高数据元素属性标注性能的同时,在Top-k查询方面也具有有效的查询响应性能.【总页数】8页(P602-609)【作者】何明;李薇【作者单位】北京工业大学计算机学院,北京100124;中国工商银行股份有限公司北京市分行信息科技部,北京100088【正文语种】中文【中图分类】TP311【相关文献】1.基于x-tuple的概率阈值top-k查询算法 [J], 黄冬梅;舒博;王建;熊中敏2.基于关联图模型的医学图像Top-k查询方法 [J], 李鹏远;潘海为;李青;韩启龙;谢晓芹;张志强3.基于滑动窗口的Top-K概率频繁项查询算法研究 [J], 王爽;王国仁4.基于不确定数据的top-k概率相互最近邻查询 [J], 梁瑜;张剡;周嵩;柏文阳5.大规模动态图中概率游走约束的节点相似Top-k查询方法 [J], 陈泽;丁琳琳;宋宝燕;王俊陆因版权原因,仅展示原文概要,查看原文内容请购买。

一种top-K序列模式挖掘算法

一种top-K序列模式挖掘算法

1 引 言
从 海 量 的数 据 中 提 取 出 大 量 有 意 义 的 模 式 向 来 是 数 据 挖掘领域 的热门研究 方 向。序 列模 式挖 掘是 由 Agrawal and Srikant(1995) 针对超市 中购 物篮数据 的分析提 出 ,之 后便 逐渐成为频繁模式挖 掘领域中的一个重要分支 。序 列模 式挖掘 目前 已经 广泛 地应 用在 web点 击流 数据 ,医疗 数据 , 生物数据等数据 的分 析 。尽 管 已经有很 多高 效实 用 的算法 被提 出 。J,然 而这 些算法都需要用 户给定一个 最小支 持度
quential Patterns Mining(KSPM).We used OPUS search method tO traverse all the possible candidate sequences,
and utilized a bitmap as data structure to reduce storage space. In addition,effective pruning rules were designed to improve the efi ciency of the algorithm.Finally,exper iments on web click stream sequences,sign language utterance sequences and other sequential datasets confirm ed the effectiveness of the proposed algor ithm . KEYW ORDS:Data mining;Sequential pattern;Bitmap
阈值 minsup,才 能从 序列 数 据 库 中 提 取 出 频 度 不 小 于 阈 值 的 频 繁 序 列 模 式 。 在 实 际应 用 中 ,用 户 对 支 持 度 阈 值 没 有 准 确 的认 识 ,只 能 通 过 多 次 试 验 或 丰 富 的 经 验 来 设 定 ,缺 少 统 一 的评 判标 准。因此 ,挖掘 top—K序列 模式变得 至关重要 。K 由用户 自己设 定 ,表 示所 要 得 到 的 模 式 数 量。本 文 采用 OPUS搜 索 方 式 对 所 有 可 能 的 候 选 序 列 模 式 进 行 遍 历 ,并 不断改变 阈值 大小 ,最终 得到符 合要 求 的 top—K频 繁序列 模 式 。

TopK问题的两种解决思路

TopK问题的两种解决思路

TopK问题的两种解决思路Top K问题在数据分析中⾮常普遍的⼀个问题(在⾯试中也经常被问到),⽐如:从20亿个数字的⽂本中,找出最⼤的前100个。

解决Top K问题有两种思路,最直观:⼩顶堆(⼤顶堆 -> 最⼩100个数);较⾼效:Quick Select算法。

LeetCode上有⼀个问题,类似于Top K问题。

1. 堆⼩顶堆(min-heap)有个重要的性质——每个结点的值均不⼤于其左右孩⼦结点的值,则堆顶元素即为整个堆的最⼩值。

JDK中PriorityQueue实现了数据结构堆,通过指定comparator字段来表⽰⼩顶堆或⼤顶堆,默认为null,表⽰⾃然序(natural ordering)。

⼩顶堆解决Top K问题的思路:⼩顶堆维护当前扫描到的最⼤100个数,其后每⼀次的扫描到的元素,若⼤于堆顶,则⼊堆,然后删除堆顶;依此往复,直⾄扫描完所有元素。

Java实现第K⼤整数代码如下:public int findKthLargest(int[] nums, int k) {PriorityQueue<Integer> minQueue = new PriorityQueue<>(k);for (int num : nums) {if (minQueue.size() < k || num > minQueue.peek())minQueue.offer(num);if (minQueue.size() > k)minQueue.poll();}return minQueue.peek();}2. Quick SelectQuick Select [1]脱胎于快排(Quick Sort),两个算法的作者都是Hoare,并且思想也⾮常接近:选取⼀个基准元素pivot,将数组切分(partition)为两个⼦数组,⽐pivot⼤的扔左⼦数组,⽐pivot⼩的扔右⼦数组,然后递推地切分⼦数组。

基于三维分档布鲁姆过滤器的Top-k查询算法

基于三维分档布鲁姆过滤器的Top-k查询算法

基于三维分档布鲁姆过滤器的Top-k查询算法邹志文;寇爱军;鞠时光;陈继明;王政辉【摘要】针对NRA算法和BPA算法查询效率不高、重复访问数据的问题,提出了一种基于三维分档布鲁姆过滤器表(TF)的Top-k查询算法(TKBFP).该算法使用TF 对数据进行处理,以较低的误判率获得较高的访问效率并降低了内存消耗,利用最优位置索引策略,避免重复访问数据对象.对TKBFP算法进行了严格的语义定义,推导出每一维BF中需要的哈希函数个数;以自主开发的Java程序为仿真平台,对TKBFP算法进行了试验,并对算法执行效率和存储性能进行评价.试验结果表明,该算法能够避免重复访问数据对象,并能以较低的误判率实现大规模数据的高效查询处理.与NRA和BPA相比,当属性列表超过4个时,开销明显降低,适合面向大规模数据的查询处理应用.%To solve the problems of low query efficiency and multiple access to objects in NRA algorithm and BPA algorithms, an efficient top-A: query algorithm (TKBFP) was proposed based on three-dimensional bracket bloom filter (TF). TF was used for data processing in the algorithm to realize low false positive rate and access efficiency with reduced memory consumption. The optimal location index strategy was adopted to avoid multiple access to data objects. A strict semantic definition of TKBFP algorithm was given to deduce the number of hash function in each BF. The TKBFP algorithm was tested by the simulation platform of independent development Java program to evaluate the efficiency and the storage performance of the algorithm. The results show that the algorithm can effectively avoid multiple access to data objects to obtain efficient query processing for large-scale data with low falsepositive rate. Compared with NRA and BPA, the proposed algorithm cost is reduced significantly when the attribute list number are more than four. The proposed algorithm is suitable for large-scale data query processing.【期刊名称】《江苏大学学报(自然科学版)》【年(卷),期】2012(033)005【总页数】6页(P555-560)【关键词】过滤器;查询;索引;聚合;访问;误判率;Top-k【作者】邹志文;寇爱军;鞠时光;陈继明;王政辉【作者单位】江苏大学计算机科学与通信工程学院,江苏镇江212013;江苏大学计算机科学与通信工程学院,江苏镇江212013;江苏大学计算机科学与通信工程学院,江苏镇江212013;江苏大学计算机科学与通信工程学院,江苏镇江212013;江苏大学计算机科学与通信工程学院,江苏镇江212013【正文语种】中文【中图分类】V423Top-k查询作为一种重要操作在诸如数据挖掘[1]、动态数据流处理[2]、多媒体数据库[3]、空间数据分析[4]及 P2P 系统[5]等领域引起了研究者的高度关注.它根据给定的评分函数从潜在的数据空间中返回k个最重要的结果,使人们避免大量无关信息的干扰.处理Top-k查询的一种方式是利用多维索引,不过当查询涉及的属性超过6个时性能急剧下降,而更具有扩展性的方法是把数据表列存储化并且按属性值降序排列存储[6].根据访问数据方式的不同,Top-k查询可分为2类[7]:① 随机访问受限的算法;②同时支持顺序访问及随机访问的算法.通过研究这2类算法中具有代表性的No Random Access(NRA)算法和Best Position Algorithm(BPA)算法,提出了一种基于三维分档布鲁姆过滤器的Top-k 查询算法.在随机访问受限的算法研究中,R.Fagin等[8]提出NRA算法,通过比较候选集中最小下界值和其外所有对象的最大上界值的方法来判断算法是否求出Top-k集合.该算法的缺陷是:在找到Top-k结果的阈值前,需要维护过多的与结果不相关的元组,增加了额外负担.在同时支持顺序访问及随机访问的算法研究中,R.Akbarinia等[9]提出了BPA算法,该算法记录每个属性列表中已访问到的位置索引,避免重复访问数据对象,更快地达到阈值所要求的终止条件.该算法的不足之处:没有充分结合位置索引与算法终止条件的关联性.文中拟提出一种高效的Top-k查询算法,引入最优位置索引管理思想,将属性列表采用TF表存储,以实现大规模数据的高效查询处理.1 TKBFP算法1.1 相关定义给定一个具有n个对象的数据空间DS,每个对象t具有m个属性,并且t的第i 个属性对应分数值si(t),所有属性的分数落在[0,1]区间上.每个对象t都具有唯一的标识符OID.一个对象t可以表示成t:=(OID,(s1(t),s2(t),…,sm(t)).在存储方式上,按照属性的不同将对象及其对应的属性分数存储在不同的列表L1,L2,…,Lm中.列表Li是一个n元的数据集合,包含了以OID进行标识的对象第i维的属性的分数,Li:={(OID,si(t)):t∈DS}.列表中对象按照分数降序排列.对于给定的聚合函数G,有从这个数据空间中找出聚合值最大的k个对象的过程被称为Top-k查询问题.表1给出一个按属性分值降序排列存储后的列表文件实例,为了便于算法的研究和试验验证,每个列表中的OID使用不允许重复数字表示.表1 具有3个属性列表文件的实例PI (OID,s1(t)) (OID,s2(t)) (OID,s3(t ))0 (8,0.70) (9,0.68) (4,0.50)1 (6,0.68) (7,0.47) (3,0.39)2 (7,0.37) (11,0.35) (6,0.28)3 (5,0.26) (3,0.24) (1,0.27)4 (2,0.25) (6,0.13) (7,0.16) 定义1(位置索引PI)设一个二维数据空间DS={x1,x2,…,xn},设对象xi∈DS,如果 xi+1是 DS 的第(i+1)个元组,则xi+1对应的位置索引PI为i.定义2(最优化位置索引pi)在一次数据扫描过程中,设属性列表Li中被访问到的位置索引集合记为{0,1,2,…,i,j}(其中0≤i<j≤n),若满足 i+1<j,即在Li中从位置索引0到i之间的数据对象都被访问过,而位置索引(i+1)未被访问,我们把i定义为该次访问过程中Li的最优化位置索引,并记为pi.定义 3(误判率 f)存在集合 S={y1,y2,…,yn}、给定元素y∉S,将y采用bloom filter(BF)进行判断时,BF判断结论为y∈S,此称为一次误判,发生误判的概率称为误判率.1.2 三维分档布鲁姆过滤器表定义4(三维分档布鲁姆过滤器表TF)给定有序属性列表 Li,Li:={(OID,si(t)):t∈DS},由(OID,si(t))及OID对应的位置索引PI构成一个三维分档布鲁姆过滤器表(hi),如果hi满足条件:①hi(1≤i≤m)分为 3档,可表示为{{PIi1},{OIDi2,si(t)i3}},其中每档子集合的元素个数都为n,对应的误判率为 fij(j=1,2,3);②hi={n,{eci1,eci2,eci3},{m1,m2,m3},{k1,k2,k3}},其中 ecij(j=1,2,3)表示各档元素发生查询失效时的额外I/O开销,m1,m2,m3分别表示3档布鲁姆过滤器的向量V的长度,k1,k2,k3表示3档元素对应的散列函数的个数.图1给出了实例.图1 三元组存储及查询实例如图1所示,文中以表1中的第5组数据及其PI所构成的3维元素{4,6,0.13}作为映射的数据集合,来说明TF表如何支持三元组信息存储及查询.设TF采用3个布鲁姆过滤器BF1,BF2,BF3分别表示PI、OID 与 si(t).设 m1=m2=m3=8 bit.为了简单起见,我们使用3个哈希函数说明该过程.3个散列函数如下:g1(z)=100z mod8,g2(z)=(100z+3)mod8,g3(z)=(100 z+5)mod 8.在 BF1中使用g1(z)与g2(z),在BF2和BF3中使用3个函数实现存储和查询.当PI=4时,得出g1(4)=100×4 mod 8=0,g2(4)=(100 ×4+3)mod 8=3.因此BF1[0]和BF1[3]置位;当 OID=6 时,得g1(6)=100 ×6 mod 8=0,g2(6)=(100×6+3)mod 8=3,g3(6)=(100 ×6+5)mod 8=5.因此 BF2[0],BF2[3],BF2[5]置位;同理可知,当插入 si(t)=0.13时,BF3[0],BF3[2],BF3[5]置位.当执行访问操作时,若正在访问hi中OID=6的对象,TKBFP算法先在hi的BF2中采用哈希运算,查询该对象是否存在,若存在,提取BF1中的位置索引PI并获取BF3中的局部得分si(t),以便利用聚合函数G计算对象的全局得分.1.3 最优化位置索引的管理方法在算法执行过程中,被访问过的位置索引对算法返回结果具有重要作用,因此该类信息需要得到高效的管理.设使用命名为 bi的 van Emde Boas Trees结构保存hi 中被访问的位置索引,设pi为hi中第一维BF的最优位置索引.初始化时,文中设置pi=-1;当任意ti中的PI被访问时,把PI插入到bi中.该方法的优点是它仅需要维持已经被访问到的且比当前pi值大的PI.1.4 TKBFP算法TKBFP算法步骤如下:1)将列表L1,L2,…,Lm初始化为m个TF表,记为 h1,h2,…,hm.2)设置m个TF表的最优化位置索引pi=-1.3)访问最优化位置的下一个对象标识.根据表hi中的位置索引,直接访问hi中的(pi+1)的对象标识.4)如果OID(t)被访问,继而随机访问其他m-1个hj(其中j≠i),统计OID(t)在各个TF表中对应的局部分值 si(t),并利用聚合函数来计算OID(t)所对应的m个属性的综合分值G(t).将元组置入优先队列PQ.5)更新h1,h2,…,hm中每个列表的最优化位置索引.6)根据G计算由最优化位置索引处的局部分值聚合而成的阈值τ=G(s1(p1),s2(p2),…,sm(pm)),若τ不小于PQ中的最小值,返回到步骤3)执行;否则,PQ即是查询的结果.2 算法性能分析2.1 空间复杂度分析该算法的空间消耗主要由TF表映射存储和最优化位置索引管理2个过程决定.其中m个属性列表映射到m个TF表的空间复杂度为O(m1+m2+m3),最优化位置索引管理过程的空间复杂度为O(log log n).所以算法的空间复杂度为O(m1+m2+m3)+O(log log n),由于(m1+m2+m3)远大于(log log n),所以算法的空间复杂度为O(m1+m2+m3).2.2 时间复杂度分析TKBFP算法获得Top-k查询结果可分为4个过程:第1步是优先队列初始化,时间复杂度为O(k);第2步是属性列表映射存储到TF表,每一个属性列表需要进行(k1+k2+k3)n次哈希运算,存储过程需要时间复杂度为);第3步是设置未被访问标志,其时间复杂度为O(mn);第4步是最优化位置索引的修改及数据访问,设hi 的最优化位置索引为u,由于最优化位置索引采用了van Emde Boas Trees实现的优先队列管理,时间复杂度为O(log log u),在更新最优位置索引时,删除不符合条件的位置索引,时间复杂度为O(log log u),即最坏的情况下,在此过程中时间复杂度为O(n log log n),所以时间复杂度为O(mn)+O(n log log n)3 试验结果和分析3.1 确定TF表各维BF的Hash function个数TF表是针对TKBFP算法提出的解决方案.我们将三维元素的表示和查询分解为单属性值子集合的表示与查询.在TKBFP算法中,由于哈希函数的个数与存储空间和误判率相关,所以讨论各档BF的哈希函数个数问题.定理1 设hi表中每档元素需要映射的Hash函数个数为 kw(w=1,2,3),则有式中:rw=In(fij)(j=1,2,3),此时 hi表最低查询失效开销为则hi中元素查询失效开销为PIi1,OIDi2,si(t)i3查询失效开销之和,即为证明由定义 4 知,hi={n,{eci1,eci2,eci3},{m1,m2,m3},{k1,k2,k3}}.文中用 p表示向量 V中位为0的概率,假设Hash函数取值服从均匀分布,则hi中的3档元素映射到V向量后,则V中任一位为0的概率为hi中的3档BF中的元素误判率分别为令 R1=k1 ln(1-p),R2=k2 ln(1-p),R3=k3 ln(1-p),则有由于R1与p都是k1的函数,对R1取k1的导数,当R1取最小值时,存在以下关系:将(k1)min代入 fi1=(1-p)k1=exp(k1 ln(1-p)),得到fi1的最小值,即:由式(5)得kw=k1 r1/rw,代入数据后得kw如式(3).由题设可知,在hi中,满足以下关系,其中(w=1,2,3):将式(11)代入式(3),可以得到式(2).证毕.定理2任意 TF表中的 BF1,BF2,BF3与标准bloom filter在映射Li表时消耗的Hash运算时间开销相等.证明设完成一次Hash运算所需要的时间为T,使用标准bloom filter将Li中元素到向量V的映射时,每个元素需要进行kw次Hash运算,因此其总的时间开销ecst满足而对于任意TF表,其子集{PI},{OID},{si(t)}的元素需要分别进行k1,k2,k3次Hash运算,即其计算时间为将式(2)中的k,代入式(11),得将代入式(12),得即ecst=ecTd=ln 2·mj·T.证毕.由定理1知,任意TF表产生的查询失效开销为三元组{PI,OID,si(t)}对应集合的查询失效开销之和,由定理2知,任意TF表的Hash运算的开销与3个BF的开销相等.由定理1和定理2,可以把确定TF表的每档BF的哈希函数个数问题转换为独立的求3个BF的哈希函数个数问题.文中设置3个标准布鲁姆过滤器,它们的比特向量V的位数为mi(i=1,2,3),设 n=60 000.设定任意 TF 表的三维 BF 的映射向量位数为mi(i=1,2,3)位,哈希函数个数为kw(w=1,2,3),当kw=(mi ln 2)/n 时 f最小,此时f=(1/2)kw,给定f和n,则得到最优的BF长度表示为根据需要,文中分别设定任意TF表中的3个BF的误判率分别为 f1=0.005,f2=0.003,f3=0.005,代入式(16)分别得到每一维 BF的最优长度,然后代入k=ln 2·(m/n)[10],求出每一维 BF的哈希函数个数分别为k1=7,k2=8,k3=7.3.2 算法执行效率和存储性能评价在试验中,选取典型的随机读受限算法NRA[8]和典型的支持顺序读和随机读算法 BPA[9]作为文中提出的TKBFP算法的比较对象.试验环境是:Pentium Dual CPU 3.00 GHz,1 GB内存.试验程序采用Java语言编写,jdk版本为jdk-6u24-windows-i586.文中根据m的值,生成包含m个属性的数据表,并且该表的每个属性列表根据属性分值降序处理,并单独存储为列文件,同时实例化每个属性所在元组的对象标识符.试验用到的评分函数为试验参数默认值设置:m=6,n=60 000,k=20,k1=7,k2=8,k3=7.其中 k1,k2,k3是经3.1节定理1、定理2的证明确定的优选值.通过试验评价TKBFP算法随m变化时的性能.设 m 分别取值 2,4,6,8,10,n与 k设置为默认值.随着m的变化,图2,图3,图4分别展示了算法TKBFP与NRA,BPA在执行开销、访问次数与响应时间3个指标的比较情况.图2 执行开销vs m由图2可见,NRA算法的执行开销低于BPA算法的执行开销.因为NRA只需要顺序读就可以处理Top-k查询,适合于随机读受限或不可能的场合.一次顺序读的开销远低于随机读的开销,因此NRA算法执行开销比BPA算法低.当m>4时,TKBFP算法优势很明显,原因是TKBFP算法在随机访问中充分利用了布鲁姆过滤器的优势,一次查询操作仅需kw次的哈希运算.图3 访问次数vs m由图2与图3知,NRA算法访问次数比BPA与TKBFP的访问次数高很多,因为NRA在增长阶段需要维护大量的无关数据.当m<6时,TKBFP算法相对BPA算法而言,优势不明显,原因是TKBFP算法使用TF表,它存在一定的误判率[8],其随着mi/n的变化而变化,当误判率较低时,TKBFP算法的优势会变得很明显.由于TKBFP算法采用了直接访问及最优位置索引方法,使得TKBFP算法的访问次数始终少于BPA算法的访问次数.图4 响应时间vs m由图4可见,当m=2时,TKBFP算法的响应时间最多.这是由于TF表初始化存在一定的误判率,所以当m较小时TKBFP算法在响应时间方面并不如BPA和NRA 算法.BPA算法支持顺序读和随机读,由于它没有采用数据压缩存储预处理,在某些情况下,比如动态数据流处理和海量数据环境中,BPA算法的随机访问操作会受到限制,因此,为了进一步研究Top-k算法在存储空间方面的消耗,文中仅将TKBFP算法和NRA算法进行比较.图5给出了TKBFP算法和NRA算法随属性m 变化时的情况.图5 内存使用量vs m由图5可见,当m<3时,TKBFP算法比NRA算法消耗的内存量大,这是因为TKBFP算法在对位置索引进行管理和初始化TF表的过程中需要消耗较多的内存空间.当m=3时,TKBFP算法的内存消耗开始小于NRA算法的内存消耗,随着m的增大,这种优势越来越明显.分析可知,NRA算法在增长阶段需要维护大量的无关元组,决定了它有较高的空间需求;而TKBFP算法通过将数据库的属性列表与位置索引构成的三元组分别使用TF表存储,降低了数据调度时所需要的内存消耗.4 结论1)新算法利用了文中定义的三维分档布鲁姆过滤器表,实现了数据的高效组织和访问.2)采用最优位置索引管理策略能够准确定位各个TF表中的下一个预读取的元组.3)对算法的复杂度进行分析,并通过试验证实了其有效性.参考文献(References)【相关文献】[1] Hou U L,Mamoulis N,Berberich K,et al.Durable top-k search in document archives[C]∥Proceedings of the ACM SIGMOD International Conference on Management of Data.New York:Association for Computing Machinery,2010:555-566. [2] Jin Cheqing,Yi Ke,Chen Li,et al.Sliding-window top-k queries on uncertain streams[J].VLDB Journal,2010,19(3):411-435.[3] Natsev A,Chang Y C,Smith JR,et al.Supporting incremental join queries on ranked input[C]∥Proceedings of the 27th VLD B Conference.San Fransisco:Morgan Kaufmann,2001:281-290.[4] Ciaccia P,Patella M.Searching in metric spaces with user-defined and approximate distances[J].ACM Trans Database Syst,2002,27(4):98-437.[5] Akbarinia R,Pacitti E,Valduriez P.Reducing network traffic in unstructured P2P systems using Top-k queries[J].Distributed and Parallel Databases,2006,19(2):67-86. [6] Korn Flip,Pagel Bernd-Uwe,Faloutsos Christos.On the' Dimensionality Curse' and the' Self-Similarity Blessing'[J].IEEE Transactions on Knowledge and Data Engineering,2001,13(1):96-111.[7] Wu Chao,Sun Guangzhong,Chen Guoliang.Efficient parallel top-k computation algorithm using symmetry breaking[C]∥ Proceedings of the International Symposium on Parallel and Distributed Processing with Applications. Piscataway:IEEE Computer Society,2010:231-235.[8] Fagin Ronald,Lotem Amnon,Naor Moni.Optimal aggregation algorithms for middle ware[C]∥Proceedings of the ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems.[S.l.]:Association for Computing Machinery,2001:102-113.[9] Akbarinia Reza,Pacitti Esther,Valduriez Patrick.Best position algorithms for efficient top-k query processing[J].Information Systems,2011,36(6):973-989. [10]谢鲲,文吉刚,张大方,等.布鲁姆过滤器查询算法[J].软件学报,2009,20(1):96-108.Xie Kun,Wen Jigang,Zhang Dafang,et al.Bloom filter query algorithm [J].Journal of Software,2009,20(1):96-108.(in Chinese)。

基于x-tuple的概率阈值top-k查询算法

基于x-tuple的概率阈值top-k查询算法

基于x-tuple的概率阈值top-k查询算法黄冬梅;舒博;王建;熊中敏【期刊名称】《计算机工程》【年(卷),期】2013(39)4【摘要】不确定数据库中的概率阈值top-k查询是计算元组排在前k位的概率和,返回概率和不小于p的元组,但现有的查询语义没有将x-tuple内的元组进行整体处理.针对该情况,定义一种新的查询语义——概率阈值x-top-k查询,并给出查询处理算法.在该查询语义下采用动态规划方法求取x-tuple内每个元组排在前k位的概率和,对其进行聚集后做概率阈值top-k查询,并利用观察法、最大上限值等剪枝方法进行优化.实验结果表明,该算法平均扫描全体数据集中60%的数据即可返回正确结果集,证明其查询处理效率较高.%Probabilistic threshold top-k query calculation stu of the probability of the tuple ranked top-k and return the tuples whose sum of the probability are at least p.But top-k query does not take x-tuple as a whole,thus a new top-k query semantic probabilistic threshold x-top-k query is defined and an algorithm is given to process it,which uses dynamic method to acquire sum of the probability of the tuple,then process aggregate probabilities with top-k query.It uses several pruning methods like the upper bound method and so on to optimize the algorithm.Experimental result shows that the algorithm return the answer set for scanning about 60% of data set,and it demonstrates that the algorithm is efficient.【总页数】4页(P44-47)【作者】黄冬梅;舒博;王建;熊中敏【作者单位】上海海洋大学信息学院,上海201306;上海海洋大学信息学院,上海201306;上海海洋大学信息学院,上海201306;上海海洋大学信息学院,上海201306【正文语种】中文【中图分类】TP393【相关文献】1.基于滑动窗口的Top-K概率频繁项查询算法研究 [J], 王爽;王国仁2.基于概率信息抽取模型的Top-k查询 [J], 何明;李薇3.不确定数据库中基于x-tuple的高效Top-k查询处理算法 [J], 刘德喜;万常选;刘喜平4.不确定数据库中概率top-k和排序查询算法 [J], 周帆;李树全;肖春静;吴跃5.基于阈值的快速启动Top-k查询处理算法 [J], 江宇;宋省身;杨岳湘;姜琨因版权原因,仅展示原文概要,查看原文内容请购买。

一种海量分布式数据Top-k查询算法

一种海量分布式数据Top-k查询算法
魏贤全;郑洪源;丁秋林
【期刊名称】《计算机工程与科学》
【年(卷),期】2013(35)10
【摘要】针对现有分布式环境下Top-k查询算法的不足,提出了一种适用于海量分布式数据的Top-k查询算法(ECHT).该算法充分考虑了数据分布情况,提出了一种改进的限定误差直方图描述数据分布算法,避免了节点数据分布不均时Top-k查询算法的低效性;另一方面,提高了Top-k算法的阈值计算精度,从而进一步降低了网络带宽消耗.此外,提出了一种早裁剪思想,在大量数据传输之前提前进行数据裁剪,避免了大量无用数据的传输.实验表明,ECHT算法在网络带宽消耗和网络响应时间方面均优于同类算法.
【总页数】6页(P110-115)
【作者】魏贤全;郑洪源;丁秋林
【作者单位】南京航空航天大学计算机科学与技术学院,江苏南京210016;南京航空航天大学计算机科学与技术学院,江苏南京210016;南京航空航天大学计算机科学与技术学院,江苏南京210016
【正文语种】中文
【中图分类】TP311
【相关文献】
1.一种有效的海量数据Top-k Dominating查询算法 [J], 韩希先;李建中;高宏
EP:海量数据上一种有效的Top-K查询处理算法 [J], 韩希先;杨东华;李建中
3.TMS:一种新的海量数据多维选择Top-k查询算法 [J], 韩希先;刘显敏;李建中;高宏
4.基于不确定数据的分布式Top-k查询算法 [J], 王爽;王国仁
5.海量数据上有效的top-k Skyline查询算法 [J], 韩希先;宋翠;戈韵如;高宏;李建中
因版权原因,仅展示原文概要,查看原文内容请购买。

约束的Top-k控制查询算法

况 下 用 户 通 常 可 能 会 加 上 一 些 约 束 的条 件 , 例 如: 限 定 一 个 选 择 的商 品 范 围 , 如图 1 ( 6 ) 区 域 R 中 的商 品 c , t. , , . , : n , h和 l 。
r i t h m ) , D A ( d i f e r e n t i a l a l g o i r t h m) , 它们 的核心思想是每个维度 的 数据值使用一棵 B + 树存储f 即垂直分解数据策略) , 并基于 门限 值算法来扫描 B + 树 以计算对象 的控制分数 。这些算法 的主要
和概率 修剪方法 ,利用封 闭的控制 图( c l o s e d o mi n a t i n g g r a p h ) 的查询方法[ 5 1 , 子空间 中面 向 ̄ U ( c o l u m n 一 0 r i e n t e d 1 处理算法[ 6 1 , 基 于 门限值 的方法1 7 1 , 提 供概率保证 的随机算法[ 7 1 , 以及 度量 空间
【 摘 要】 To p - k控制查询返 回控制最 多数 目的前 k个数据对象。 传统 的 T o p — k 控 制查询算法不能很好地解决约束 区域 中的查询问题 。因为每 " 3约束条件发生改变 , - 算法需要重新建立索引。另一方 面, 如果数据集发 生变化 , 算法需要重 新从磁盘装入索引节点 , 带来了冗余的 I / O访 问。 为此, 提 出了一种新 的算法 , 即约束的 T o p — k控制查询算法。 主要思想

z , o , P , 商 , h , O , f 。
也就 是说商品 g , C和 d控制 的其 它商 品的数 目分别 为 5 , 6和 7 。 如果用户最 多可 以选择三种类型 = 3 ) 的产 品, 那 么他选择 的 商 品应该是 岛 c 和d , 即图 1 中灰色 的圆点 。然而 , 现实的情

面向高速乱序流的top-k连续查询方法

㊀第53卷第3期郑州大学学报(理学版)Vol.53No.3㊀2021年9月J.Zhengzhou Univ.(Nat.Sci.Ed.)Sep.2021收稿日期:2020-11-02基金项目:国家重点研发计划项目(2017YFC0804406);国家自然科学基金项目(61672042)㊂作者简介:武守晓(1996 ),男,硕士研究生,主要从事流式计算研究,E-mail:wsxiot@;通信作者:房俊(1976 ),男,副研究员,主要从事服务计算和大数据研究,E-mail:fangjun@㊂面向高速乱序流的top-k 连续查询方法武守晓1,2,㊀房㊀俊1,2(1.北方工业大学大规模流数据集成与分析技术北京市重点实验室㊀北京100144;2.北方工业大学数据工程研究院㊀北京100144)摘要:提出一种面向高速乱序流的top-k 连续查询方法㊂使用基于缓存的方法等待迟到元组,但不对缓冲区内数据进行排序,通过统计运行信息实现缓存时长自适应,然后使用改造的MinTopk 算法计算当前窗口的top-k 结果集㊂实验结果表明,该方法在高速乱序流上实现了高效的top-k 查询,在保证用户允许的最小正确率的情况下计算出最小缓存时长,减少了查询时延㊂关键词:高速乱序流;top-k 连续查询;缓存时长自适应;查询时延中图分类号:TP311㊀㊀㊀㊀㊀文献标志码:A㊀㊀㊀㊀㊀文章编号:1671-6841(2021)03-0093-07DOI :10.13705/j.issn.1671-6841.20203570㊀引言Top-k 连续查询是流数据环境下的一种重要查询,已广泛应用于诸多领域㊂在物联网系统中,数据往往产生于多个采集终端㊂当这些终端向服务器发送数据时,面对复杂且不稳定的网络环境,会经常发生数据重传和数据拥塞,导致数据的产生顺序和到达服务器的顺序发生变化,数据流中充斥着大量乱序数据㊂数据流乱序的情况给数据流的top-k 连续查询带来了挑战,top-k 连续查询的实施基于滑动窗口,滑动窗口分为基于时间的滑动窗口和基于元组个数的滑动窗口㊂如果没有特别说明,本文的滑动窗口是指基于时间的滑动窗口,滑动窗口内部的数据严格根据滑动时间间隔进行划分㊂窗口滑动后,最早一批的数据被释放,最新一批的数据流入窗口㊂等到最新一批的数据全部流入窗口,窗口立即闭合并执行计算任务㊂根据滑动窗口这种严格按时间划分的机制,针对滑动窗口内部的每一批数据,当数据存在乱序时,边界元组有可能会迟到㊂由于窗口已经闭合并立即进行计算,边界元组不能包含在正确的窗口内,会造成查询结果错误㊂目前处理乱序流的主流方法是基于缓存的方法㊂基于缓存的方法使用开辟的缓冲区等待迟到数据,对缓冲区内数据进行排序,以避免系统处理乱序数据㊂传统的基于缓存的K -slack [1]方法和MP-K -slack [2]方法无法做到对缓冲区大小自适应,在时延变小的情况下会浪费系统资源㊂AQ-K -slack [3]虽然实现了缓冲区自适应,但无法应用于top-k 连续查询这类复杂的聚合函数㊂在具体的top-k 连续查询算法中,SMA 算法[4]利用k -skyband 对象在有序流上快速进行top-k 连续查询,但需要维护大量的k -skyband 对象,内存耗费大,并且该方法只能在有序流上使用㊂MinTopk 算法[5]维护了一个最小的top-k 候选集,每次计算都从该候选集中得出结果,大大减少了计算量,但在乱序流上使用会有误差㊂GSTopk 算法[6]对MinTopk 算法进行了一些改良,使其能在乱序流下立刻给出近似结果,可以在时效性要求较高的情况下使用㊂在上述算法的基础上,本文提出一种面向高速乱序数据流的top-k 连续查询方法㊂首先使用基于缓存的乱序流处理技术,舍弃缓存数据重排序步骤,缓存时长的确定使用缓存时长自适应算法,在保证用户允许的最小正确率的情况下计算出最小缓存时长,其次使用改造的MinTopk 算法计算当前窗口的top-k 结果集㊂实验结果表明,该方法能有效权衡查询精度和查询时延之间的关系,对窗口内数据执行快速且高效的查询并得出结果,使乱序流下的top-k 连续查询收到了良好的效果㊂郑州大学学报(理学版)第53卷1㊀相关工作在乱序数据流处理方面,研究工作按处理机制的不同大致分为基于缓存的方法[1-3,7-8]㊁基于标点的方法[9-12]㊁基于推测的方法和基于近似的方法㊂基于缓存的方法是开辟缓冲区来缓存乱序数据以等待迟到数据,以一定延迟开销换取结果质量的提升㊂K -slack [1]是基于缓存的典型方法,其中参数K 与缓冲区的大小密切相关㊂具体来说,K -slack 技术维护缓冲区用来缓存到达的元组,缓冲区内的数据最多等待K 个时间单位,然后被提交至查询处理模块进行查询㊂MP-K -slack 方法[2]是基于流元组延迟的动态变化来不断调整K 值,如果延迟不断增大,会使数据越积越多,导致查询时延的上升和查询吞吐量的下降㊂AQ-K -slack 方法[3]以用户给定的结果精度为目标,通过聚合函数与窗口覆盖率的定值关系,动态调整K 值大小㊂但由于top-k 查询这类聚合函数过于复杂,会造成AQ-K -slack 方法难以实施㊂另外,基于缓存的方法大多会对缓存的数据进行排序,以保证计算时的有序,代价比较大㊂基于标点的方法依赖于数据流内被称为标点的特殊元组,表示没有时间戳小于标点的元组㊂当收到一个标点,查询算子确定未来将没有数据到达,然后得到这些窗口的查询结果[10],如心跳[12]㊁部分排序[11]是标点的特殊类型㊂标点显式地通知查询算子什么时候返回窗口的结果,因此查询算子能够直接消费无序输入㊂然而,查询结果的准确性从根本上会受到标点准确性的限制[9]㊂假定标点是由外部数据源提供,或者是由应用程序语义和数据流乱序特征的先验知识通过系统非常简单地生成,但这个假设不一定在现实世界的场景中成立㊂基于推测的方法和基于近似的方法基本上采用了激进处理方法㊂激进处理方法与保守等待方法相反,它不管乱序问题是否存在,总是优先快速地处理数据流,直到迟到元组出现以后再弥补错误㊂激进处理方法通常应用于实时性要求较高且急需获取处理结果的分析处理系统㊂但是这种方法的场景局限性很大,并且有可能得不到正确结果㊂在top-k 连续查询具体算法方面,SMA 算法[4]根据数据特征提出k -skyband 对象的概念㊂该算法需要维护k -skyband 对象之间的支配关系,总体代价较大,并且不具备过滤新增数据(即新流入窗口的数据)的能力,不能处理乱序数据流㊂MinTopk 算法[5]维护了一个最小top-k 候选集,对于流入窗口的新元组,高效地过滤掉不可能成为top-k 结果的元组,将可能成为top-k 结果的元组插入候选集,每次只要查找候选集即可找到top-k 结果㊂但是该算法只能处理顺序流,在乱序流中会导致查询错误㊂GSTopk 算法[6]改造了MinTopk 算法,使其能够快速地处理乱序数据流,但是该算法得出的仅仅是当前窗口内的top-k 结果,没有对当前窗口的迟到数据进行处理,导致其计算结果往往不够准确㊂由于该算法的高效性,在正确率要求不高而实时性要求特别高的情况下可以使用㊂基于以上研究,本文使用基于缓存的乱序处理方法等待迟到元组,但不对缓冲区内数据进行排序,配合使用改造的MinTopk 算法,保证top-k 连续查询正确率在用户可接受范围内,减少了查询时延㊂2㊀面向高速乱序流的top-k 连续查询方法图1为面向乱序流的top-k 连续查询算法流程㊂为了解决乱序数据流中top-k 连续查询结果不准确的问题,使用基于缓存的乱序流处理方法,该方法的难点在于缓存时长的确定㊂基于缓存的方法不可能无限等待迟到元组,不能保证查询的绝对正确性㊂使用缓存时长自适应算法对top-k 查询进行正确率和缓存时长的统计,在保证用户允许的最小正确率的情况下,周期性地计算出所需要的最小缓存时长㊂接下来通过具体的top-k 查询方法,计算出当前窗口的top-k 结果㊂为了方便计算,灵活地实施缓存时长自适应算法,使用元组的Event Time [13]划分窗口,也就是使用元组自身的时间戳作为滑动窗口的划分依据㊂图1㊀面向乱序流的top-k 连续查询算法流程Figure 1㊀Algorithm flowchart of continuous top-k query over out-of-order data streams4959㊀第3期武守晓,等:面向高速乱序流的top-k连续查询方法2.1㊀缓存时长自适应算法图2为基于缓存的乱序流处理方法㊂当前滑动窗口为W0,W0在t end时刻闭合,闭合后等待K个时间单位,即在t late时刻计算并输出W0的top-k结果㊂在这K个时间单位中,对于到来的每一个元组,若其属于当前滑动窗口W0,该元组就会被发送到W0处理;若其属于W0前面或后面的窗口,则进行相应的处理㊂图2㊀基于缓存的乱序流处理方法Figure2㊀Cache-based out-of-order data streams processing approach基于缓存的乱序流处理方法,其难点在于缓存时长K的确定㊂缓存时间越长,时延越高,正确率也就越高㊂网络延迟的制约因素有很多,不可能准确地计算出最晚元组到达的时间㊂另外,在高速乱序数据流下,数据流量巨大,缓存时间越长,对缓冲区和系统吞吐量造成的压力越大㊂因此,在保证用户允许的最小正确率的情况下选择一个恰当的缓存时长K,可以有效地缓解系统压力,减少查询时延㊂计算单次的top-k结果的正确性是没有意义的,但统计多次的top-k结果的正确率足以证明某种方法的有效性㊂所以,通过统计不同缓存时长下top-k查询结果的正确率,以质量驱动的方式[3]选出最小缓存时长,即在保证用户允许的最小正确率的情况下计算出最小缓存时长㊂具体步骤如下㊂1)参数初始化㊂系统指定一个初始缓存时长K,即窗口的缓存时长到达K时输出查询结果㊂初始化用于计算恰当缓存时长的区间,用(K down,K up]表示㊂在初始情况下,(K down,K up]将被初始化为(0,K]㊂另外,需要用户指定能承受的最小正确率εmin㊂2)统计计算㊂将(K down,K up]平均划分得到m个缓存时长,即{K down+(K up-K down)/m,K down+2∗(K up-K down)/m, ,K down+(m-1)∗(K up-K down)/m,K up}㊂对于每次top-k查询,记录下这m个不同缓存时长得到的top-k结果集,同时,后台等待所有的迟到元组计算出此次查询正确的top-k结果集㊂对于每一个缓存时长对应的top-k结果集,将其与正确的结果集进行比较,计算该top-k结果集的命中率,即top-k结果集与正确结果集一致的项数与总项数的比值㊂经过n次top-k查询取平均值,就能计算出不同缓存时长的查询准确率㊂3)求最小缓存时长㊂根据用户给定的所能承受的最小正确率εmin,即可定位出可以达到该正确率的最小缓存时长所在的区间(K down,K up],那么最小缓存时长K min改为K up㊂若此时符合要求的缓存时长不在(K down,K up]内,则区间相应前移或者后移(K up-K down)/m个单位㊂为了避免区间太小,收敛速度太慢,(K up-K down)/m不能太小㊂重复上一个步骤,统计出(K down,K up]中不同缓存时长对应的正确率㊂表1为根据不同缓存时长统计的top-3查询结果示例㊂当前缓存时长区间为(0s,4.5s],K min=4.5s, m=3,n=20,εmin=0.8,则平均划分为1.5s㊁3s㊁4.5s三个缓存时长㊂在每次top-3查询中,记录下这三个缓存时长对应的top-3结果,最后和此次查询正确的top-3结果集进行比较,得到这三个缓存时长对应结果的命中率㊂这个过程重复20次,每一个缓存时长会得到一个查询正确率㊂其中,缓存时长为1.5s的正确率为72%,缓存时长为3s的正确率为83%,缓存时长为4.5s的正确率为94%㊂由于用户允许的最小正确率εmin=0.8,所以下一次用于计算最小缓存时长的区间改为(1.5s,3s],最小缓存时长K min改为3s,重复进行以上操作㊂表1㊀不同缓存时长的统计结果示例Table1㊀Examples of statistical results for different cache duration次数未缓冲的top-3缓冲1.5s的top-3缓冲3s的top-3缓冲4.5s的top-3正确的top-3第1次{33,31,30}{35,31,30}{35,本窗口}{35,31,30}{28,下一窗口}{35,31,30}{25,本窗口}{35,31,30}第2次{31,30,28}{31,30,28}{25,本窗口}{31,30,30}{30,本窗口}{31,30,30}{35,下一窗口}{32,31,30}︙︙︙︙︙︙第20次{25,18,16}{25,18,17}{17,本窗口}{25,18,17}{23,下一窗口}{25,18,16}{30,下一窗口}{25,18,17} 2.2㊀top-k查询算法Top-k连续查询依托于滑动窗口模型,给定滑动窗口W和top-k查询q,每当窗口滑动后,q返回W中分郑州大学学报(理学版)第53卷值最高的k 个元组㊂由于算法需要实时处理大量数据,且每次窗口滑动前后有大量重叠数据,计算这些重复数据耗时费力㊂因此,本文借鉴MinTopk 算法的思想,利用滑动窗口的特性过滤掉大量对结果无贡献的元组,维护一个top-k 结果候选集C ㊂当窗口滑动后,更新候选集C ,只需要访问候选集C 便可得出top-k 结果集,这样既大大削减了数据规模[14],又保证了查询结果的准确性㊂图3展示了相邻滑动窗口的数据归属,其中W i 表示某编号窗口,s i 表示由滑动步长划分的某批数据㊂每次窗口滑动后,最早的一批数据被释放,最新的一批数据流入窗口㊂新来的元组有可能一直成为top-k 结果,直到它被窗口释放㊂如s 3中的某元组可能成为W 3或W 2㊁W 1㊁W 0的top-k 结果㊂可以看出,W 0包含所有批次数据,W 1包括批次s 1㊁批次s 2㊁批次s 3的数据,W 2包括批次s 2㊁批次s 3的数据,W 3仅包括批次s 3的数据㊂对于W 0中的数据,为了避免重复计算,首先计算出W 3(s 3)的top-k 结果集,然后计算出W 2(s 2和s 3)的top-k 结果集,再计算出W 1(s 1㊁s 2和s 3)的top-k 结果集,最后计算出W 0的top-k 结果集㊂如此计算则可以充分利用上一次的计算结果,避免重复计算㊂图3㊀相邻滑动窗口的数据归属Figure 3㊀Data attribution of adjacent sliding windows图4为不同窗口的示例数据,图5为候选集C 和候选集D ㊂如图4(a)所示,当前窗口为W 0,每个元组的标签表示元组的到达顺序㊂如图5(a)所示,仅对于W 0窗口中的元组,计算出窗口W 0㊁W 1㊁W 2㊁W 3的top-3结果集,使用一个有序列表来维护这些元组㊂如图5(b)所示,按元组分值从大到小排列,元组右侧表示该元组会对哪些窗口做出贡献,这个有序列表就是候选集C ㊂由于一个元组作出贡献的窗口集合是连续的,只维护起始贡献窗口id 和结束贡献窗口id 即可㊂同时,为了快速过滤掉不作贡献的元组,还需要维护各个窗口的最小元组指针㊂由于候选集列表C 是有序的,所以当前窗口的top-k 结果集为候选集C 前k 个元组的集合㊂图4㊀不同窗口的示例数据Figure 4㊀Sample data for differentwindows 图5㊀候选集C 和候选集DFigure 5㊀Candidate list C and candidate list D由于本文算法的复杂性,为了避免在极端情况下对维护的候选集列表C 进行频繁插入,需要对原MinTopk 算法进行改造后使用㊂当窗口滑动后,对应图2中[t start ,t late ]时刻,对于其中的每一个元组有可能属于前面窗口,或属于当前窗口,或属于下一个窗口㊂并且由于需要维护不同缓存时长的top-k 结果,所以不6979㊀第3期武守晓,等:面向高速乱序流的top-k连续查询方法仅要维护前面窗口不同缓存时长的top-k结果,还需要维护当前窗口的候选集C和下一批次数据的top-k结果D㊂下面给出t late时刻执行计算的具体流程㊂1)获取当前top-k结果㊂此时,当前窗口候选集列表C中的前k个元组为当前窗口的top-k结果㊂创建一个空的候选集列表,将当前窗口的top-k结果复制到该列表,用以后台继续记录不同缓存时长的top-k 结果㊂2)删除过期元组㊂把当前窗口候选集列表C中最早一批元组(即候选集列表前k个元组)的起始贡献窗口id加1㊂当起始贡献窗口id大于结束贡献窗口id时,该元组被淘汰,从列表中删除㊂3)合并候选集列表D到候选集列表C㊂通过指针索引,对于候选集列表D中的每一个元组,按从小到大顺序和各个窗口的元组最小分值进行比较,快速计算出起始贡献窗口id和结束贡献窗口id㊂若其对某个窗口有贡献,将其插入到候选集C中,使C保持有序,同时删除对候选集C不作贡献的元组㊂对于当前窗口之前的窗口,针对不同的缓存时长,记录每个窗口的top-k结果,对于晚到的元组持续进行处理,直到该窗口没有元组到达㊂如图4(b)所示,窗口滑动后,当前窗口由W0变为W1,新流入了元组21~25,元组1~5被释放㊂图5(b)展示了候选集C和候选集D的合并过程㊂对于元组25,依次和元组17㊁元组15㊁元组10进行比较,得出元组25的起始贡献窗口为W1,结束贡献窗口为W4,并将其有序地插入候选集C中㊂3㊀实验效果评价3.1㊀实验过程实验环境使用CPU为3.2GHz,内存为16GB的ubuntu18.04电脑㊂缓存时长自适应算法的实验参数如下:缓存时长K初始为2s,缓存时长划分份数m为10,迭代次数n为30,允许的最小正确率εmin为0.95; top-k查询的实验参数如下:偏好函数为求元组最大值,k值为5,滑动窗口总大小为60s,滑动窗口的滑动步长为5s㊂由于网络延迟通常遵循指数分布等长拖尾型概率分布[15],故使用指数分布生成乱序数据㊂为了营造高速乱序流的环境,尽量增大窗口中的元组数目㊂另外,生成的数据应包含时间戳字段㊁值字段㊂通过指数分布生成了充足的乱序数据,选择SMA算法㊁MinTopk算法㊁GSTopk算法作为本实验的对比算法,使用相同的数据进行top-k连续查询,记录下运行参数,得出top-k结果正确率与算法运行时间的关系以及top-k结果查询时延与算法运行时间的关系㊂为了测试算法对乱序程度不同的数据的有效性,构造一个定量的数据集,并将其打乱为三种不同乱序程度的数据集㊂本文算法和对比算法分别使用三种不同乱序程度的数据集作为输入进行top-k连续查询,并记录下运行参数,得出top-k结果正确率与数据乱序程度的关系㊂另外,为了避免偶然性所带来的实验误差,以上所述实验均在参数及数据不变的情况下进行多次,并取平均值作为最终实验结果㊂3.2㊀实验结果分析不同算法的实验结果对比如图6所示㊂图6(a)展示了随着运行时间的增加,不同算法的正确率变化情况㊂可以看出,本文算法比其他算法的正确率高很多,显示了本文算法处理乱序流的优越性㊂这是由于本文算法使用基于缓存的方法等待迟到元组,使边界元组被包含在正确的滑动窗口内,提高了正确率㊂本文算法的正确率随着运行时间一直在变化,这是由于本文算法可以根据数据流的乱序程度自适应缓存时长㊂若当前缓存时长的正确率大于允许的最小正确率,则应减小缓存时长;否则进行相反的操作㊂图6(b)展示了随着运行时间的增加,不同算法的查询时延变化情况㊂查询时延表示当滑动窗口闭合后到计算得出该滑动窗口的top-k结果集所需要的时间㊂可以看出,本文算法的查询时延比其他三种算法的查询时延要高㊂这是由于本文算法使用了基于缓存的乱序流处理方法,等待属于当前滑动窗口的迟到元组,以时延换取了正确率的上升㊂随着运行时间的改变,查询时延还会不断变化㊂这是由于本文算法可以自适应改变缓存时长,使得时延增大,正确率提高㊂当面临实时性要求特别高而正确率要求不太高的情况,应尽量避免使用本文算法㊂GSTopk算法可以快速处理乱序数据流,只是结果不是那么精确㊂由此可见,本文算法的一个缺点是查询时延较高㊂图6(c)展示了数据集轻度㊁中度和重度乱序时,不同算法的正确率变化情况㊂在乱序数据集上,随着乱序程度的增加,SMA算法和MinTopk算法的正确率偏低,这是由于这两种算法没有针对乱序数据流做89郑州大学学报(理学版)第53卷处理,属于当前滑动窗口的迟到数据被丢弃或者是延迟到下一个窗口执行,导致查询结果不准确㊂GSTopk 算法可以处理乱序流,但正确率也较低,而本文算法的正确率较高,证明本文算法适合处理乱序数据流下的top-k连续查询问题㊂图6㊀不同算法的实验结果对比Figure6㊀Comparison of experimental results of different algorithms4㊀结论本文研究了高速乱序流环境下的top-k连续查询问题,尽管已有一些相关方法研究了此类问题,但是查询结果误差较大㊂本文通过已有的乱序流处理方法和滑动窗口的数据特征,首先使用基于缓存的方法等待迟到元组,但不对缓冲区排序,并运用统计的思想实现了缓存时长自适应㊂然后使用改造的MinTopk算法,在保证用户允许的最小正确率的情况下计算出最小缓存时长,减少了查询时延㊂后续工作将优化缓存时长自适应算法,减小算法资源消耗,进一步加快算法的计算速度㊂参考文献:[1]㊀ABADI D J,CARNEY D,CETINTEMEL U,et al.Aurora:a new model and architecture for data stream management[J].TheVLDB journal,2003,12(2):120-139.[2]㊀MUTSCHLER C,PHILIPPSEN M.Distributed low-latency out-of-order event processing for high data rate sensor streams[C]ʊProceedings of the IEEE27th International Symposium on Parallel and Distributed Processing.Piscataway:IEEE Press,2013: 1133-1144.[3]㊀JI Y Z,ZHOU H J,JERZAK Z,et al.Quality-driven processing of sliding window aggregates over out-of-order data streams[C]ʊProceedings of the9th ACM International Conference on Distributed Event-based Systems.New York:ACM Press,2015:68-79.[4]㊀MOURATIDIS K,BAKIRAS S,PAPADIAS D.Continuous monitoring of top-k queries over sliding windows[C]ʊProceedingsof the ACM SIGMOD International Conference on Management of Data.New York:ACM Press,2006:635-646.[5]㊀YANG D,SHASTRI A,RUNDENSTEINER E A,et al.An optimal strategy for monitoring top-k queries in streaming windows[C]ʊProceedings of the14th International Conference on Extending Database Technology.New York:ACM Press,2011:57-68.[6]㊀朱睿,王斌,杨晓春,等.基于高速乱序流的top-k连续查询算法[J].计算机学报,2018,41(8):1693-1708.ZHU R,WANG B,YANG X C,et al.Continuous top-k query over high speed unorder streaming data[J].Chinese journal of computers,2018,41(8):1693-1708.[7]㊀杨宁,许嘉,吕品,等.基于混合处理模型的乱序数据流分布式聚合查询处理技术[J].广西科学,2019,26(4):398-404.YANG N,XU J,LÜP,et al.Distributed aggregation query processing technology for out-of-order data streams based on hybrid processing model[J].Guangxi sciences,2019,26(4):398-404.[8]㊀周春姐,戴鹏飞,李洪波,等.物联网中具有时间持续性特征的乱序事件查询处理技术研究[J].计算机科学,2016,43(5):179-187.ZHOU C J,DAI P F,LI H B,et al.Research of interval-based out-of-order event processing in Internet of Things[J].Com-puter science,2016,43(5):179-187.[9]㊀KRISHNAMURTHY S,FRANKLIN M J,DAVIS J,et al.Continuous analytics over discontinuous streams[C]ʊProceedings ofthe ACM SIGMOD International Conference on Management of Data.New York:ACM Press,2010:1081-1092.99㊀第3期武守晓,等:面向高速乱序流的top-k连续查询方法[10]LI J,MAIER D,TUFTE K,et al.Semantics and evaluation techniques for window aggregates in data streams[C]ʊProceedingsof the ACM SIGMOD International Conference on Management of Data.New York:ACM Press,2005:311-322. [11]LIU M,LI M,GOLOVNYA D,et al.Sequence pattern query processing over out-of-order event streams[C]ʊProceedings ofthe IEEE25th International Conference on Data Engineering.Piscataway:IEEE Press,2009:784-795.[12]SRIVASTAVA U,WIDOM J.Flexible time management in data stream systems[C]ʊProceedings of the23rd ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems.New York:ACM Press,2004:263-274.[13]AKIDAU T,SCHMIDT E,WHITTLE S,et al.The dataflow model:a practical approach to balancing correctness,latency,andcost in massive-scale,unbounded,out-of-order data processing[J].Proceedings of the VLDB endowment,2015,8(12): 1792-1803.[14]王青,谭良,杨显华.基于Spark的Apriori并行算法优化实现[J].郑州大学学报(理学版),2016,48(4):60-64.WANG Q,TAN L,YANG X H.Optimization of Apriori parallel algorithm based on Spark[J].Journal of Zhengzhou university (natural science edition),2016,48(4):60-64.[15]曹原,刘英博,肖利,等.状态监测数据流时间乱序问题建模与研究[J].计算机集成制造系统,2013,19(12):2960-2967.CAO Y,LIU Y B,XIAO L,et al.Modeling on time out-of-order problem of condition monitoring data stream[J].Computer integrated manufacturing systems,2013,19(12):2960-2967.Continuous Top-k Query Method over High-speed Out-of-orderData StreamsWU Shouxiao1,2,FANG Jun1,2(1.Beijing Key Laboratory on Integration and Analysis of Large-scale Stream Data,North China University ofTechnology,Beijing100144,China;2.Institute of Data Engineering,North China University of Technology,Beijing100144,China) Abstract:The continuous top-k query approach over high-speed out-of-order data streams was proposed. Using a cache-based method to wait for late tuples without sorting the data in the buffer,the self-adaptive cache duration was realized by counting the running information.And the modified MinTopk algorithm was used to calculate the top-k result set of the current window.The experimental results showed that this approach could achieve efficient top-k query over high-speed out-of-order data streams.In case of ensuring the minimum accuracy allowed by users,the minimum cache duration was calculated to reduce the query delay.Key words:high-speed out-of-order data stream;continuous top-k query;self-adaptive cache duration; query latency(责任编辑:孔㊀薇㊀王浩毅)。

一种高效节能的无线传感器网络Top-K查询算法


Ab ta t Da a q e y i ab sc a p i t n f l r l s e s rn t r s a d t e g e t s o e s )K a u u r src t u r s a i p l a i i d i wi e s s n o ewo k , n h r a e t( rla t c o e n e v leq e y ie To - q e y i o eo h s . . p K u r s n ft e mo ti o tn c n r u r p l a i n . n r y e fce c h e r b e i mp ra ts e a i i q e y a p i t s As e e g - fiin y i t ek y p o lm o n c o s n
第3 7卷
第 1 期 1
ห้องสมุดไป่ตู้





Vo . 7 No 1 13 . 1
N o 01 v2 0
21 0 0年 1 月 1

Co p e Sce c m ut r in e
种 高效 节 能 的 无线 传 感 器 网络 T pK 查 询 算 法 o—
程 捷 刘 文予 张胜 凯 蒋 洪波 ( 中科技 大 学 电信 系 武 汉 4 0 7 ) 华 3 0 4


数 据 查 询 应 用是 无 线传 感 器 网络 的基 本 应 用之 一 , 查询 最 大 ( 最 小 的 ) K 个值 即 T pK 查 询 则是 查 询 而 或 的 o-
应 用 中的 重要 内容 。 高 效 节 能是 无线 传 感 器 网络 应 用 中 的 关 键 问题 。提 出一 种 高 效 节 能 的 T pK 查询 算 法 E QA o— T ( n rye ie t o- eyAp rah , 方 法 通过 数 据 滤 波 的数 据 融合 方 法预 防 冗余 数 据 的 上 传 , 到 节 省 节 点 E eg -fc n pK Qur poc ) 该 i T 达 通 信 量 的 目的 。 系统采 用数 据 流 模 型 在 每 个 时 刻 更 新 T pK 数 据 , 满足 互联 网上 大 量 用 户 查 询 的 需要 。 为 了保 证 o- 以 能 量 有 效 性 , 站 将 适 时调 整 节 点 的 滤 波 器 , 基 阻止 不 必 要 的 数 据 上传 。 同 时 , 果 滤 波 器设 置过 高 ( 过低 )将 探 寻 必 如 或 ,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2 1 卷 第 1 6期
Vo 1 . 21 No . 1 6
电子设计 工程
El e c t r o n i c De s i g n Eng i n e e r i
2 0 1 3 年 8月
Au g. 2 01 3

种 有 效的 不确 定数据 流 T o p — K 查询算 法
p r e v a i l i n g u n c e ta r i n d a t a mo d e l a n d p o s s i b l e wo r l d s e ma n t i c mo d e l , i n ቤተ መጻሕፍቲ ባይዱ h i s p a p e r ,a n u n c e t r a i n mo d e l a n d i t s q u e r y s e ma n t i c s
a r e d e i f n e d . An lg a o i r t h m f o r T o p ・ K q u e i r e s o n u n c e r t a i n d a t a s t r e a ms i s d e s i g n e d a n d r e a l i z e d, wh i c h r e t u r n k q u e ie r s h a v i n g ma x i mu m r a n k s c o r e s . R a n k s c o r e o f a q u e r y r e s u l t i s w e l l - d e i f n e d ,d e p e n d i n g o n i t s p o s s i b i l i t y u n d e r t h e p o s s i b l e wo dd . T h e
梁银双 ,苏 玉 ,卢印举
( 中州大学 信息工程学院 , 郑州 4 5 0 0 4 4 )
摘要: T o p . K查 询 处 理 是 不 确 定 性 数据 管理 中一 项 重 要 技 术 。 本 文 在 分 析 不确 定性 数 据 模 型 和 可 能 世 界 模 型 的 基 础 上, 定 义 了 不确 定数 据 流 元 组 的 查 询语 义 , 提 出了基 于 记 录 向 量 的 T o p . K 查询 算 法 , 该 算 法 根 据 K值 , 计 算 并 返 回分 值 最高前 K个结果 , 其 查 询 结 果 评 价 综 合 考 虑 了查询 结果 在 可 能 世 界 语 义 下 的概 率 大 小 。 实验 结果 表 明 , 与C S Q和
A e fi c i e nt a l g o r i t h m f o r To p. K q ue r i e s o n u nc e r t a i n d a a t s t r e a ms
L I A N G Y i n - s h u a n g , S U Y u , L U Y i n - j u
S C S Q 算法 相 比 , 本 算 法 更具 高效 性 和 实用 性
关键 词 : 不确定数据 ; 元组 ; T o p . K 查询 ;可 能世 界 中图分类号 : T P 3 l 1 文 献标 识 码 : A 文章编号 : 1 6 7 4 — 6 2 3 6 ( 2 0 1 3 ) 1 6 — 0 0 5 0 — 0 3
( S c h o o l o f I n f o r ma t i o n E n g i n e e r i n g , Z h o n g z h o u U n i v e r s i t y , Z h e n g z h o u 4 5 0 0 4 4 , C h i n a )
Ab s t r a c t : T o p — K q u e i r e s h a v e a l wa y s b e e n a s i g n i f i c a n t t e c h n i q u e i n t h e ma n a g e me n t o f u n c e r t a i n d a t a s t r e a ms . Ba s e d O i l t h e
Ke y wo r d s : u n c e t r a i n d a t a s t r e a ms ; t u p l e; T o p - K q u e i r e s ;p o s s i b l e w o dd
在移动物体跟踪 、 R F I D技术 、 传 感 器 网络 和 数 据 融 合 等
e x t e n s i v e e x p e i r m e n t s d e m o n s t r a t e t h a t c o m p a r e d t o C S Q a n d S C S Q, t h i s a l g o i r t h m i s mo r e p r a c t i c a l a n d e ic f i e n t .
语 句 并 且 这 些 查 询 普 遍 代 价较 高 。 在本文 中 . 以 记 录 向量 为 基 础 来 研 究 不 确 定 数 据 的 T o p
应 用 中产 生 海 量 数 据 , 从这些海 量数据 中 , 选 择 最 符 合 查 询 条件的信息 , 是 数 据 管 理 的一 个 重 要 课 题 , 但是 , 这 些 海 量 数
相关文档
最新文档