应用于流数据的连续多维度广义轮廓查询

杨洋 ,  李艳红 ,  彭亚威 ,  肖梦

中南民族大学学报(自然科学版) ›› 2025, Vol. 44 ›› Issue (04) : 546 -559.

PDF (4816KB)
中南民族大学学报(自然科学版) ›› 2025, Vol. 44 ›› Issue (04) : 546 -559. DOI: 10.20056/j.cnki.ZNMDZK.20250414
物理与电子信息科学

应用于流数据的连续多维度广义轮廓查询

作者信息 +

Continuous Multi-dimensional Genl-Skyline query for streaming data

Author information +
文章历史 +
PDF (4931K)

摘要

轮廓运算符自提出以来引起了研究人员的极大兴趣,随后各种轮廓查询的变体不断涌现,其中包括流数据上的子空间轮廓查询.为研究针对实际应用中复杂数据维度的需求,提出了广义轮廓(Genl-Skyline)的概念,并结合现有变体进一步提出了连续多维度广义轮廓(CMGS)问题.为解决该问题,提出了倒排轮廓支配表(ISDT),引入了嵌套轮廓方案以最小化ISDT结构,以及提出了基于连续数据属性的强弱修剪策略用于数据集剪枝,同时还设计了伴生索引ISDT-BM以支持在ISDT上高效搜索CMGS结果.最后,广泛的对比实验验证了ISDT结构及相关算法在解决CMGS查询问题上的可行性和高效性.

Abstract

The skyline operator has sparked great interest among researchers since its proposal, and subsequently various variants of skyline queries have emerged, including subspace skyline queries on streaming data. The concept of generalized skyline (Genl-Skyline) is proposed for the needs of complex data dimensions in practical applications, the Continuous Multi-dimensional Genl-Skyline (CMGS) problem is also proposed by combining existing variants. To address the problem, the study proposes the Inverted Skyline Dominance Table (ISDT), introduces a nested skyline scheme to minimize the ISDT structure, and proposes a strong-weak pruning strategy based on continuous data attributes for dataset pruning. It also designs an associated index ISDT-BM to support efficient search for CMGS results on ISDT. Finally, extensive experiments validate the feasibility and efficiency of the ISDT structure and related algorithms in solving CMGS queries.

Graphical abstract

关键词

轮廓查询 / 多维度轮廓 / 流数据 / 动态维护

Key words

skyline query / multi-dimensional skyline / streaming data / dynamic maintenance

引用本文

引用格式 ▾
杨洋,李艳红,彭亚威,肖梦. 应用于流数据的连续多维度广义轮廓查询[J]. 中南民族大学学报(自然科学版), 2025, 44(04): 546-559 DOI:10.20056/j.cnki.ZNMDZK.20250414

登录浏览全文

4963

注册一个新账户 忘记密码

在现有的轮廓查询研究中,查询数据集中元组的各个维度通常是实数,并且用户偏好被定义为越小越好.然而元组也可能包含字符串、枚举、日期或其他对象的嵌套.要对这些类型的值进行轮廓查询,则需要进行一些预处理,例如应用单调映射函数将它们映射为实数.为了使轮廓查询更加灵活、实用和通用,本文提出了广义轮廓(Genl-Skyline)的概念.除此之外,轮廓查询还有许多变体和应用,连续和多维度轮廓问题则是本文所关注的,其中:(1)多维轮廓允许用户自由选择他们需要参考的维度,而不是标准轮廓问题中的默认维度;(2)连续轮廓则将标准轮廓问题应用于动态数据集(如流数据集)而不是静态数据.这两个变体在一定程度上增加了轮廓问题的规模和解决难度.本文将广义轮廓与现有的多维度轮廓和连续轮廓相结合,提出了连续多维度广义轮廓,简称为CMGS(Continuous Multi-dimensional Genl-Skyline)问题.
R 为一个实时餐厅推荐系统的关系表,其中每一个元组包含3个维度:价格(p)、客容量(c)、评分(r),其中客容量为枚举常量IDLE(空闲)、MODERATE(一般)和BUSY(繁忙),评分的值为一个长度为3的数组,该数组的各个分量分别表示餐厅在味道、环境和服务这3个指标上的评分.表1展示了每个维度定义域的具体符号形式.除此之外,tαtω用于表示元组到达和过期的时间戳. 表2展示了 R 的实例,图1为该实例中元组到达和过期的时间表,其中绿色表示元组到达,红色表示元组过期.
不失一般性地假设,对于维度p,用户更倾向于较低的餐厅.对于维度c,用户倾向于选择IDEL的餐厅,其次是MODERATE和BUSY. 对于维度r,口味是餐厅最重要的因素,其次是环境,最后是服务,即对3个分量依次比较,直到出现两者不相同,取较大值的一方. 假设当前时间戳为2,用户认为评分(r)没有参考价值,其仅考虑价格(p)和客容量(c)并希望在便宜且客容量为IDLE的餐厅就餐.此时,该系统推荐给用户的是餐厅r0,因为在当前时间戳下,只有两家有效餐厅r0r1,且r0在维度pc上支配r1. 因此,r0是在时间戳2时, R 实例关于子空间Φ=p,c的CMGS结果,即Sky2Φ=r0.
CMGS问题还可以被应用于更广泛的场景. 设想一个数据分析系统,无论是用于股票数据、车辆数据还是社交媒体数据,这些数据集通常都很复杂且是连续的,每个数据都有不同的到达时间和过期时间,用户需要从数据分析系统中获得数据集的实时轮廓集合.CMGS正是为以下挑战而设计的:1)每个维度的值从实数扩展到任意数据类型,处理这些数据的轮廓需要重新定义;2)系统中的元组是连续且庞大的,需要建立一种新的索引结构来高效组织元组信息,并以最低成本维护动态更新;3)每个元组具有不同的生命周期,先到达的元组可能会比后到达的元组更晚过期.因此,传统基于队列的模式无法处理元组的到达和过期,大大增加了查询处理的复杂性;4)在确保结果准确性的同时,还需要考虑效率,这对于流数据的查询处理至关重要.本文的主要贡献如下:
(1)本文提出了广义轮廓的思想,并将连续多维度广义轮廓(CMGS)问题公理化,使其可以应用于更广泛的场景;
(2)设计了一个名为倒排轮廓支配表(ISDT, Inverted Skyline Dominance Table)的数据结构,其是解决CMGS问题的核心组件. ISDT索引能够动态管理带有时间戳的元组之间复杂的子空间支配关系. 通过提出和应用多种最小化和剪枝策略,确保了ISDT索引的效率. 同步维护的基于位图的结构ISDT-BM(BitmapforISDT)可以通过位运算快速从ISDT中搜索与给定子空间对应的CMGS结果;
(3)在3种合成数据集和多个真实数据集上进行了广泛的对比实验,证明了ISDT 索引以及相关算法在解决CMGS问题中的可行性、完备性、兼容性和有效性.

1 相关工作

BORZSONY等1首次引入了轮廓算子以扩展数据库系统,并提出了BNL算法,该算法采用了一种直观的处理方法,但使用了内存块来维护有限数量的数据对象. 此后,一系列基础的轮廓查询算法被提出,如SFS算法2、SaLSa算法3、DC轮廓算法4、位图算法5、NN算法6以及BBS算法7. 随后,LEE等提出了BSkyTree算法8-9,该算法通过基于枢轴点划分数据来提高评估支配性或不可比性的效率. 最近,一些前沿的轮廓问题的相关工作被相继提出,如不完整数据流上的轮廓查询10、基于位置的轮廓11-12、大数据中的轮廓处理13-14、空间文本轮廓查询15-16、数据联合体上的轮廓查询17等等. HAN等18提出了一种新颖的GPR算法,该算法基于预排序和重用原则,能够在大规模数据上高效计算G-Skyline群体. 李光辉等19基于正交查询范围来回答G-Skyline查询中的why-not问题,讨论了G-Skyline查询中产生why-not问题的原因,概述了如何修改why-not点和正交查询范围,使基于正交范围的G-Skyline查询的候选点集中包含why-not点.

标准轮廓算法专门用于计算静态数据集上的轮廓,而不是处理动态数据. LIN等20探讨了在数据流中面临快速数据更新时进行在线计算的领域,并使用了滑动窗口模型21. TAO和PAPADIAS22提出了数据流环境中的轮廓计算,他们还设计了Lazy和Eager算法来持续监控新到的数据对象并增量维护轮廓. LIN等23研究了n-of-N模型中的在线轮廓计算. SUN等24提出了BOCS算法,以解决分布式数据流上的轮廓相关问题. MORSE等25提出了一个名为连续时间区间轮廓的新轮廓操作符用于持续维护子空间轮廓,并提出了LookOut算法来解决该轮廓问题. 受数据流上子空间轮廓查询问题的启发,ALAMI和MAABOUT提出了一个MSSD(流数据上的多维度轮廓)框架26,该框架包含3个数据结构,即缓冲区B、数据集R和一个名为NSCt的索引结构,用于存储每个对象在其生命周期内的支配子空间.MSSD结构还采用了缓冲策略.数据流的源头每单位时间发出一个对象,每当B收集到k个对象时,它们会被插入到R中,并且过期的对象会被丢弃. 同时,如果有查询请求,NSCt会被调用以获取轮廓结果.

2 问题定义

2.1 偏好函数

定义1 (偏好函数) 设R=r0,,rn-1为一个在m-维空间上包含n个元组的数据集,其中ri的第j个维度上的分量被记作ridjdj的定义域被记作Γdj,即有ri=rid0,,ridm-1,其中0i<n0j<m.全空间Φ+=d0,,dm-1表示关于数据集的整个m-维空间中的全部维度集合;子空间ΦΦ+表示全空间的一个非空子集.设rxry为两个R中的元组,定义偏好函数fdrx,ry是一种用于判断rxry的序关系的符号函数(返回值仅有-101),返回值1表示rx在关于Γd的序关系上前驱ry-1表示ry在关于Γd的序关系上前驱rx.为了满足轮廓问题中的支配定义,偏好函数fd需满足以下特性:

(1)反自反性. αΓd¬fdα,α0

(2)非对称性. α,βΓdfdα,β=xfdβ,α=-x

(3)传递性. α,β,γΓdfdα,β=xfdβ,γ=xfdα,γ=x

(4)连接性. α,βΓdfdα,β0fdα,β=1fdα,β=-1.

偏好函数fd可以由系统(如餐厅推荐系统)自由实现其具体计算过程,被考虑最多的“越小越好”策略以及前文示例中的维度c和维度r的比较策略均是其中一种.

说明1 连接性指定偏好函数应该作用于整个域,这意味着Γd应该关于偏好函数构成严格全序集.这个条件的提出是为了遵循传统的支配定义,因为其通常仅考虑实数域上的“小于”(<)或“大于”(>)关系.

2.2 CMGS问题

定义2 (广义支配) 给定m-维空间上的两个元组ri,rjR.当且仅当rirj在任意一个维度d上都有fd0rirj在至少一个维度d'上有fd'>0满足时,则称ri支配rj,记作rirj.

定义3 (连续多维度广义轮廓(CMGS)) 设=r0,为一个连续数据集,tc为当前时间戳.中的每个元组都有两个时间维度tαtω,分别表示元组的到达时间和过期时间.的CMGS结果记作Skytc,Φ,包括了所有在子空间Φ上不被c中其他元组支配的元组,即Skytc,Φ=rc|rcc¬rc'crc'Φrc,其中c中的有效元组集合,即tα小于或等于tctω大于tc的元组集合,即Rc=r|rtαrtctωr>tcSkytc,Φ+被缩写为Skytc.

R 实例,设当前时间戳为3,此时的有效元组为r0r1r2,其关于每个维度的CMGS结果如表3所示.

2.3 问题声明

为一个由无穷序列的m-维元组r组成的连续数据,tc为当前时间戳,设qΦ为用户发起的关于子空间Φ的CMGS查询.本文需要解决的问题是如何高效地返回与qΦ对应的CMGS结果SkytcΦ.

3 ISDT结构

本节将详细介绍倒排轮廓支配表(ISDT),其用于维护元组的多维度支配关系.具体来说,对于连续数据集中的每个m-维元组rr可能在总共2m-1个子空间中被支配. 由于连续数据中每个元组的生命周期可能不同,还需要记录这些被支配的维度何时不再被支配. 在介绍ISDT结构之前,先引入几个定义.

定义4 (支配子空间和支配子空间对(DSP)) 设rR为一个元组,Φ为一个子空间.当且仅当rSkyR,Φ时,Φ是一个r的支配子空间.设tr的过期时间.设RcR的子集,且Rc中的每个元组rc有相同的过期时间t'且其在一个子空间Φc上支配r.假设SΦ由全部的Φc构成,称数据对P=tε,SΦ是一个在tεr的支配子空间对,其中tε=min t',t.

定义5 (倒排轮廓支配表(ISDT)) 设c中的有效元组.对于c中的每个元组r,有一个称为支配哈希表(DHT)的结构HTr=tε,SΦ,,其由r的全部DSP构成(DSP的时间戳作为键,子空间集合作为值). 将集合HTrc|rcc称为的ISDT.

R 实例在时间戳3时的ISDT结构如图2所示. 其中r1的过期时间在c中最小,r1的全部支配子空间中都被插入了一个时间戳为4的数据对,所以r1的DSP结构与其他两个不同.

定理1 设rc. 当且仅当Φ不是HTr中任何数据对中子空间集合中任何元组Φ'的子集,则r是关于子空间Φ的轮廓元组,即rSky,Φ¬t,SΦHTrΦ'SΦΦΦ'. 此外,如果t,SΦHTrΦ'SΦΦΦ',则子空间Φ被称为HTr的一个项.

证明 分别证明其充分性和必要性.

必要性.假设有一个元组rSky,Φ,并且在rHTr中有一个数据对t,SΦ,其中包括tSΦ,且ΦSΦ. 那么,必定存在另一个元组r'在子空间Φ上支配r,即r'Φr. 因此r不可能是关于Φ的轮廓元组,即rSky,Φ,这与之前的假设rSky,Φ矛盾.

充分性.假设在rHTr中不存在这样的数据对t,SΦ,其包含tSΦ,且SΦ中至少有一个子空间Φ'Φ的超集. 这个假设等价于假设在HTr中的每一个t,SΦ的子空间集合SΦ中都不包含任何Φ',且Φ'Φ的超集. 于是,没有其他元组r'在子空间Φ上支配r,即¬r'r'r'Φr. 因此,r的轮廓元组,即rSky,Φ.

4 CMGS处理框架

与大部分渐进维护结构类似,ISDT结构在解决CMGS问题时分为静态构建和动态维护,下文将详细介绍这两个部分,以及针对ISDT处理CMGS问题的进一步优化策略.

4.1 ISDT的构建

首先引入一个名为支配关系对的概念.

定义6 (支配关系对(DRP)) 设rirj为两个m-维元组. Φj,Φi被称为关于rirj的支配关系对,其中ri仅在Φi的每个维度上支配rj,而rj仅在Φj的每个维度上支配ri,即Φi=d|dΦ+,fdri,rj=1Φj=d|dΦ+,fdrj,ri=1.

ISDT-C算法. 算法的伪代码如算法1所示,该算法输入一个元组集合R并初始化ISDT. 首先,通过一个双层循环对集合中的元组不重复地成对进行处理(第2和第4行). 算法获取一对元组rirj及其对应的HTriHTrj(第3和第5行). 随后,rirj的DRP Φj,Φi以及它们各自的过期时间tωritωrj的最小值被计算并将DRP插入到相应的DHT中(第6-8行).最后,算法将依次构建好的成对DHT插入到ISDT结构并将其返回(第10和12行).

复杂度分析.R中元组的数量为n,维度数量为m. 该算法时间复杂度为On2. ISDT-C算法在构建ISDT的过程中,会始终在存储堆栈上占用空间以存储ISDT结构,DPR Φj,Φi为两个子空间组成的对,其中子空间ΦiΦj实际上为维度数组,因此在一般情况(不考虑rirj同一维度上的数据相同)下,有Φi+Φj=m. 该算法的空间复杂度为On2×m.

4.2 ISDT的最小化

ISDT在构建后会存储重复信息,例如,在 R 实例中,r0有两个DSP,P0=4,rP1=5,r,其中P0不需要存储,因为P0表示在时间戳4之前r0不会成为关于r的任何子集的轮廓元组,而P1表示在时间戳5之前,r0不会成为关于r的任何子集的轮廓元组,P1表达的信息能够覆盖P0. 因此ISDT结构需要进一步精简,以存储尽可能少的信息,从而提高后续轮廓搜索的效率并减少内存使用.

4.2.1 最小ISDT

定义7 (最小ISDT) 设HT为一个DHT.当且仅当满足以下条件时,则称HT是最小:(1)HT中任意一个DSP的子空间集合中的任意两个元素(子空间)互不覆盖;(2)HT中任意两个DSP各自的子空间集合中的任意两个子空间ΦΦ',若有Φ覆盖Φ',则Φ对应DSP的时间戳小于Φ'对应DSP的时间戳. 当且仅当ISDT每个DHT都是最小的,则此时的ISDT为最小ISDT.

关于ISDT的最小化,本文将提出两种DHT的最小化策略,分别是贪心策略和嵌套轮廓策略. 这两种策略区别在于,贪心策略在每次插入DSP时都会最小化DHT,而嵌套轮廓策略则是在完成所有可能的新DSP插入后才对DHT进行最小化.

4.2.2 贪心策略

MinimizeISDT算法. 使用贪心策略的MinimizeISDT算法的伪代码见算法2. 该算法在DSP要放入DHT时调用,其输入为DHT HT和DSP t^,Φ^. 首先,算法访问HT中的每个DSP,以及每个DSP的子空间集SΦ中的每个子空间Φ(第1-2行). 如果输入的t^小于或等于t,且输入的子空间Φ^Φ的子集,则说明输入的DSP被HT中的现有DSP覆盖,因此算法直接返回(第3-5行). 如果输入的t^大于或等于t,且输入的子空间Φ^Φ的超集,则现有子空间Φ被输入子空间Φ^覆盖,因此算法从SΦ中移除Φ(第6-9行). 最后,算法从HT中移除子空间集为空的DSP(第9-11行)并返回最小化后的ISDT(第14行).

复杂度分析. 该算法的时间复杂度与DHT中的子空间数量有关,假设其为p. 在最佳的情况下,算法将直接返回,时间复杂度为O1. 在最坏的情况下,算法将遍历DHT中的所有子空间,时间复杂度为Op. 该算法在执行过程中并不额外开辟堆栈,故其空间复杂度为O1.

4.2.3 嵌套轮廓策略

本小节将讨论ISDT最小化问题到广义轮廓问题的转换.

定义8 (嵌套轮廓问题) 设DHTHT=P0,,Pk,其中Pi=ti,Si=Φi0,,Φili. 设RN=N0,,Nk为一个关系表,其中Ni=ti,Φi0,,ti,Φili,注意到Ni中的元组由Pi映射,且有Ni=li以及RN=i=0kli.RN仅包含两个维度dtdsdtds的偏好函数如公式(1)公式(2)所示(仅给出fd=1的情况).RN关于全维度Φ+=dt,ds的广义轮廓问题被称为嵌套轮廓问题.

fdta,b=1a>b,
fdsA,B=1AB.

定理2 ISDT的最小化问题等价于嵌套轮廓问题.

证明 ISDT的最小化问题等价于其中全部DHT的最小化问题的总和,因此下面将讨论DHT的最小化问题(P1)和嵌套轮廓问题(P2)的等价关系. 从P1归约到P2:设HT中至少存在Pi=ti,Φi1,Φi2以及Pj=tj,Φj,其中ΦjΦi2Φi1titj. 根据定义7中的条件1)和2),问题P1即是移除Pi中的Φi2以及整个Pj. 将HT映射为RN,则RN中至少包含元组集合r0=ti,Φi1,r1=ti,Φi2,r2=tj,Φj,应用公式(1)公式(2)提供的偏好函数,RN关于全空间的广义轮廓集合为{r0},其映射为DSP形式,即Pi=ti,Φi1. 从P2归约到P1:RN关于全空间的广义轮廓集合即是由RN中全部不被其他元组支配的元组构成的,设r0=ti,ΦiΦ+r1={tj,Φj},则有以下情况:1)ti>tjΦiΦj;2)ti=tjΦiΦj. 现将r0r1映射为DSP形式. 考虑情况1),有Pi=ti,Φi以及Pj=tj,Φj,根据定义7的条件2),Pj将被移除.考虑条件2),有Pi=ti,Φi,Φj,根据定义7的情况1),Pi中的Φj将被移除. 最后在上述两种情况下,均有Pi=ti,Φi,其映射为RN的形式,则有r=ti,Φi,其即为r0.

MinimizeISDT+算法. 使用嵌套轮廓策略的MinimizeISDT+算法的伪代码如算法3所示. 首先,算法将HT映射为数据集RN(第1行). 利用标准的轮廓算法计算得到RN中的非轮廓元组RηN(第2行),最后RηN被映射为HTη并被返回(第3、4行).

复杂度分析. 设nHT中的子空间数量,m=2为数据集RN维度数量,则有RN=n.HT映射为RN的时间复杂度为On,使用SFS算法来计算RN的轮廓集合,其平均时间复杂度为On×ln nRηN映射为HTη时间复杂度为ORηN.在n个元组中轮廓元组的期望数量如公式(3)25-26所示:

ESkyR=ln n+γm-1m-1!,γ=limi+ ij=11j-ln i0.577,

其中γ是欧拉-马歇罗尼常数,且通常远小于n,则RηN=ln n+γm-1m-1!=ln n+γ.综上所述,MinimizeISDT+算法的时间复杂度为On+n+γ+n×ln n,即On×ln n. MinimizeISDT+算法的空间复杂度为On,这主要来自数据集RN和其轮廓集合的占用.

4.3 ISDT的动态维护

4.3.1 ISDT的剪枝

由于每个元组的生命周期不同,许多元组可以在其过期之前就能够被断言不会成为关于某特定子空间的轮廓元组. 基于这一特性,提出以下两种剪枝策略:

(1)(强剪枝)如果在元组rHTr中存在一个DSP p=t,SΦ,其中t等于r的过期时间戳tωr,并且SΦ包含全空间Φ+,即t,SΦ=tωr,Φ+(如果SΦ包含Φ+,则在DSP最小化后只会存在Φ+),因此可以直接从系统中移除r

(2)(弱剪枝)如果在元组rHTr中存在一个DSP p=t,SΦ,其中t小于r的过期时间戳tωr,并且SΦ包含全空间Φ+,即t,SΦ=t,Φ+,其中t<tωr,则记录tp作为r的标签,称为剪枝时间戳. r在后续计算中被忽略,直到达到tp所表示的时间戳.

定理3 设元组r被弱剪枝,剪枝时间戳为tp. 设r˜为另一个元组,如果tωr˜tp,则ISDT不需要存储r关于r˜的DSP.

证明 如果r被弱剪枝,则存在另一个元组r^(不同于r˜),满足r^Φ+rtωr^=tpr<tωr. 假设r˜Φr,由于tωr˜tpr,有tωr˜tωr^<tωr. 则r的DHT为tp,Φ+,tωr˜,Φ,且其没有被最小化. 在HTr的最小化过程中,tωr˜,Φ将被移除. 综上所述,ISDT不需要存储r关于r˜的DSP.

4.3.2 ISDT维护算法

ISDT-M算法. 应用剪枝策略的ISDT-M算法的伪代码如算法4所示.算法的前半部分主要进行结构的初始化和DRP的计算(第1-6行). 根据定理3,首先判断tωrtωr^是否成立(第7行). 随后算法检查Φ是否为全空间Φ+,以便进行后续的剪枝. 如果tωrtωr^,则r^被强剪枝,其直接从数据集中移除;否则,r^被弱剪枝,算法将r^的剪枝时间戳tp设置为tωr(第8-13行). 如果上述条件不满足,则将tεΦ放入DHT中(第16行). 最后,旧的HTr被更新,新的HT^r被插入到ISDT(第18和20行),维护后的ISDT被返回.

图3显示了 R 实例在时间戳35时的ISDT结构的维护过程,红色部分表示被移除的DSP,绿色部分表示新增的DSP. 由于r0r1的过期,它们对应的DHT被完全移除. 元组r3是新到达的,其与现有元组(仅r2)进行比较,并将对应的6,p,c,r放入HTr3中. 由于HTr2中的所有DSP因过期而被移除,所以HTr2为空.

4.4 ISDT的搜索

4.4.1 朴素方法

根据定理1,可以通过枚举数据集中每个元组对应的DHT来获得当前时间戳下关于某个子空间的轮廓结构.假设R=n,维度数量为mR中的轮廓元组的期望数量为ϵ.在每次ISDT完全维护后,R中仍然有n-ϵ个元组.对于一个未最小化ISDT,ISDT中仍然有n-ϵ个DHT,但每个DHT中有2m-2个子空间,因此若进行朴素搜索,则其时间复杂度为On×2m.搜索过程中并不需要开辟额外堆栈空间,因此其空间复杂度为O1.

4.4.2 基于位图的优化方法

在ISDT上搜索轮廓元组与每个元组的DSP中的时间戳无关.实际上,DHT中存储的部分信息对于获取当前轮廓元组是冗余的,而遍历访问会导致显著的时间消耗.因此,考虑使用基于位图的结构,仅存储当前时间戳的有效信息,并利用位运算来大幅提高获取轮廓元组的效率.本文将提出用于ISDT的位图索引(ISDT-BM),以加速在ISDT结构上查询CMGS结果的速度.ISDT-BM由一个公共的未剪枝元组有序列表L和拥有2m-2个位图的数组BM=bm0,,bm2m-3组成.每个位图bmi对应一个子空间Φi(不包括空集和全空间),其中iΦi的子空间编码减1.列表L中元组的位置j对应于每个位图bmi中的位bmij的位置,这个位置记录了元组是否关于子空间Φi上支配.子空间编码的定义如下.

定义9 (子空间编码) 设Φ+=d0,,dm-1为一个有序的m-维全空间集合,ΦΦ+k个元素构成的k-维子空间.对于Φ的第i个维度Φi,设其在Φ+中的索引为χi,其中0χi<m.基于全空间Φ+的子空间Φ的编码是一个整数i=0Φ-12Φ+-1-χi,记作ΞΦ.

ISDT-BM中的核心计算方法如公式(4)和(5)所示:

bλ-1bλ-11bλ-p-1,
bλ-1bλ-11bλ-p-1,

其中λ=ΞΦΦ的子空间编码,p为元组在L中的索引. 公式(4)表示将λ对应的位图bλ-1中表示p的位置设为1,即插入操作;公式(5)表示将上述位置设为0,即删除操作.

ISDT-S算法. 算法的伪代码如算法5所示. 它以子空间Φ作为输入,输出对应的CMGS结果SkyΦ. 首先,算法将轮廓集Sky初始化为空集,并获取有序列表L和位图BM(第1行). 如果Φ是全空间,则直接返回L作为轮廓结果(第2-4行). 否则,初始化一个临时位图变量bm^,将每一位设置为0(第5行). 接下来,算法遍历所有位图,如果Φ是位图对应子空间的子集,则将该位图与bm^进行按位或操作,并将结果赋值给bm^(第6-11行). 然后,算法将L中特定位置的元组添加到Sky中,其中bm^中对应位置的位为0(第13-16行). 最后,算法返回结果集Sky(第17行).

复杂度分析. 算法ISDT-S的时间复杂度与BML的规模有关.BM的大小为2m-2,其中m是元组的维度,L的大小是关于全空间Φ+的轮廓元组数量,即L=SkyR.轮廓元组的期望数量如公式(3)所示.算法ISDT-S的时间复杂度为O2m+L.算法ISDT-S需要开辟2m-2个位图,每个位图有L位,所以其空间复杂度为OL×2m.

考虑 R 实例,其在时间戳3时的ISDT-BM索引如图4所示. 假设要查询的子空间是维度c,首先算法对所有与c的超集对应的位图进行按位或操作,即bm^=0b10b10b=10b. 在L中与bm^中值为0的位对应的元组是r0r2,因此它们被添加到Sky集合中. 综上所述,有Sky3c=r0,r2.

5 实验

为了评估ISDT的性能,使用了合成数据集和真实数据集. 实验中使用的真实数据集是其他轮廓研究中常用的数据集,如表4所示,涉及维度数量m、元组数量n和数据集是否经过泛化. 对于合成数据集,基于BORZSONY等提出的模式生成随机数据1,使用不同的分布(独立分布(IND)、相关分布(COR)、反相关分布(ACOR)). 对于每个合成数据集,在104,105,106范围内变化元组数量n,在4,8,12,16,20内变化维度数量m,这些指标与相关研究中的取值类似.实验中的主要数据结构ISDT及相关算法使用C++实现,运行在一台配备了Intel Core i7-12700H处理器(4.70 GHz)和32 GB内存的Windows 11计算机上.

5.1 结构构建评估

在本节中,将比较ISDT与其他类似结构(NSC、CSC和HashCube)在合成数据集和真实数据集上的构建时间和内存使用情况,这些数据结构可以有效地处理静态多维轮廓问题.由于仅考虑构建时间,数据相对静态. 将所有元组的到达时间设置为0,过期时间设置为1,旨在确保每个元组在时间戳内是静态的,以便与其他数据结构进行更好地比较和评估. 关于内存使用,对于ISDT,统计DSP的总数量和ISBM中位图的数量(使用64位整数表示64位的位图,而不是位数组),对于NSC,统计总对数,对于CSC和HashCube,统计需要存储的子空间总数. 综上所述,评估的是局部性能,而不是完整全运行框架的性能.

5.1.1 合成数据集

5-7分别显示了这些数据结构在3个合成数据集(IND、COR和ACOR)上的构建时间(随着维度数量m和元组数量n的变化). 对于数据集IND和ACOR,每种结构的构建时间在mn变化时表现出类似的趋势. 由于IND和ACOR有更多的轮廓元组和较少的非轮廓元组,这使得早期剪枝变得不容易,因此它们的构建时间通常较长. 而COR的构建时间通常较短,因为它轮廓元组较少,元组早期被支配和剪枝概率更高. HashCube和CSC的趋势相似,而ISDT和NSC的趋势非常相似. 后两者在m=16m=20时的时间远低于前两者. 在构建ISDT时,处理的数据通常在同一时间内到达,因此无需管理元组,ISDT的构建时间可以达到与NSC相同的数量级.

8-10分别显示了3种合成数据集(IND、COR和ACOR)上的数据结构内存使用情况.可以观察到,当mn变化时,HashCube通常占用最高的内存,并且比其他结构高出显著的量(当m=20时高出1000倍).ISDT、NSC和CSC的内存使用情况相当,随着n的变化呈线性增长.ISDT的内存使用量略高于NSC,因为ISDT存储了额外的时间戳信息,这些信息在其他技术中没有涉及.值得一提的是,COR数据集的内存使用量在3个合成数据集中也是最低的,而IND和ACOR的内存使用量相当.

5.1.2 真实数据集

图11显示了在真实数据集上数据结构的性能表现. 可以看出,对于真实数据集,HashCube仍然具有最高的时间消耗和内存使用. 对于INSEE数据集,CSC和HashCube无法在合理的时间内处理数据. 尽管INSEE数据集的元组数量庞大(2628433),但其元组相关性较高,ISDT和NSC仍能够轻松处理. ISDT与NSC结构的性能相当,但由于需要存储额外的时间戳信息,ISDT的内存消耗仍然较高.

5.2 结构搜索评估

本节将评估在各种结构上搜索轮廓答案的性能,每个结构的评估将在数据集完全构建之后进行. 对于ISDT结构,默认使用ISDT-BM来提供轮廓结果.

5.2.1 合成数据集

12-14分别显示了在各种合成数据集上的轮廓搜索时间.可以观察到,除了ISDT外,其他结构在IND和ACOR数据集上的轮廓搜索时间在mn变化时类似,而在COR数据集上的时间消耗是IND和ACOR数据集的百分之一,这与构建时间的整体性能评估一致. 对于ISDT,其在COR数据集上的性能一般,但在IND和ACOR数据集上表现良好,因为ISDT-BM的时间消耗主要与维度和元组数量有关. 同时,ISDT的时间消耗在维度增长时增长率最低,大约为16=24,其性能随着n2m线性增长.

5.2.2 真实数据集

图15显示了在处理真实数据集时,各结构在搜索轮廓答案上的性能. 需要注意的是,对于INSEE数据集,CSC和HashCube未能在合理的时间内构建完成,因此没有它们在轮廓搜索上的实验数据. 可以观察到,ISDT在这些结构中仍然表现最佳,在INSEE数据集上,ISDT的轮廓答案搜索效率约为NSC的30倍. ISDT在处理大量元组的数据集时,搜索效率仍然表现良好.

5.3 结构维护评估

以下对ISDT结构在频繁数据更新中的效率也进行了评估. 前文所对比的数据结构不再适用,因为它们不特别支持处理带有时间戳的元组.尽管一些数据结构支持逐步维护或重建,但它们的时间消耗无法与专门设计的用于处理连续数据的结构相匹敌. 因此本小节主要将ISDT与NSCt和DBSky进行比较.

流数据配置的相关参数、含义和取值如表5所示. μν间接决定了系统中元组的最小数量,即ν/μ,而υ决定了评估结构将同时应对的元组数量,即υ/μ. 例如,当μ=0.1 s和ν=24 h的时候,系统中至少有864000个元组,而当υ=1200 s时,结构需要处理新增的12000个元组.

5.3.1 合成数据集

图16显示了当μ=1 s时,IND数据集的维护时间,图中的红线表示1200 s,其为维护数据集的间隔. 在合成数据集中,仅给出了IND数据集上的维护时间,因为对于COR数据集,时间消耗始终较低(通常少于10 s),而ACOR数据集的数量级与IND相同. 可以观察到,DBSky的维护时间始终最长,当维度数量大于或等于12时,其维护时间不是合理的值,而ISDT的维护时间在3种结构中通常是最少的. 总体而言,ISDT的性能在三者中最佳,ISDT和NSCt都能在非极端的情况下完成数据集的维护.

5.3.2 真实数据集

对于真实数据集,本文随机选取每个数据集5%的元组,并提前对剩下95%的元组完成构建,随后评估插入该5%的元组所需要的时间.图17显示了真实数据集下各个结构完成维护的时间.当数据量较小时,不同结构之间的差异并不显著,而当数据集的元组数量增大时,ISDT和NSCt的表现较好. 对比合成数据集,真实数据集的效果往往更好,因为现实中的数据往往有着更高的正相关性,无论是ISDT还是NSCt都可以利用各自的剪枝策略来移除绝大部分元组.

6 结论

本文提出了连续多维度广义轮廓(简称CMGS),设计并实现了一个高效的数据结构ISDT,用于存储元组之间具有时间戳的子空间支配关系. 基于ISDT,提出了若干相关的高效算法、两种最小化策略和两种剪枝策略. 通过实验表明:ISDT结构在静态数据场景下表现出与NSC和CSC等结构相当的处理性能,在动态数据场景下则比NSCt更高效. 因此,这些实验也验证了ISDT结构在处理CMGS问题上的可行性和效率. 未来,将对本文提出的ISDT框架做进一步优化,以适应超大数据集,并对其做进一步扩展以解决更多变体的天际线问题.

参考文献

[1]

BORZSONY SKOSSMANN DSTOCKER K. The skyline operator[C]//Proceedings 17th International Conference on Data Engineering. Heidelberg:IEEE, 2001: 421-430.

[2]

CHOMICKI JGODFREY PGRYZ Jet al. Skyline with presorting[C]//Proceedings 19th International Conference on Data Engineering. Bangalore:IEEE, 2003: 717-719.

[3]

BARTOLINI ICIACCIA PPATELLA M. SaLSa: Computing the skyline without scanning the whole sky[C]//Proceedings of the 15th ACM International Conference on Information and Knowledge Management-CIKM '06. Arlington:ACM, 2006: 405-414.

[4]

LU H XLUO YLIN X. An optimal divide-conquer algorithm for 2D skyline queries[C]// Advances in Databases and Information Systems. Berlin: Springer Berlin Heidelberg, 2003: 46-60.

[5]

TAN K, ENG P, OOI B. Efficient progressive skyline computation[C]//International Conference on Very Large Data Bases. Roma: VLDB Endowment: 2001:301-310.

[6]

KOSSMANN DRAMSAK FROST S. Shooting stars in the sky: An online algorithm for skyline queries[C]//International Conference on Very Large Data Bases. Hong Kong: VLDB Endowment, 2002:275-286.

[7]

PAPADIAS DTAO YFU Get al. An optimal and progressive algorithm for skyline queries[C]//Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data. San Diego:ACM, 2003: 467-478.

[8]

LEE JHWANG S. Bskytree: Scalable skyline computation using a balanced pivot selection[C]//International Conference on Extending Database Technology. Lausanne: ACM, 2010:195-206.

[9]

LEE JHWANG S W. Scalable skyline computation using a balanced pivot selection technique[J]. Information Systems201439: 1-21.

[10]

BAI MHAN YYIN Pet al. S_IDS: An efficient skyline query algorithm over incomplete data streams[J]. Data & Knowledge Engineering2024149: 102258.

[11]

WANG ZZHANG LDING Xet al. A dynamic-efficient structure for secure and verifiable location-based skyline queries[J]. IEEE Transactions on Information Forensics and Security202218: 920-935.

[12]

BAI MWANG QCHANG Set al. Location-based skyline query processing technology in road networks[J]. The Journal of Supercomputing202480(3): 3183-3211.

[13]

BOURAHLA CMAAMRI RBRAHIMI S. Skyline recomputation in big data[J]. Information Systems2023114: 102164.

[14]

WU J MZHOU HLIN J Cet al. Mining skyline patterns from big data environments based on a spark framework[J]. Journal of Grid Computing202321(2): 22.

[15]

SUN MTENG YZHAO Fet al. Spatio-textual group skyline query[C]//DASFAA 2023 International Workshops. Cham: Springer Nature Switzerland, 2023: 34-50.

[16]

LI CDONG L. Boolean spatial temporal text keyword skyline query[C]//Advanced Data Mining and Applications. Cham: Springer Nature Switzerland, 2023: 210-224.

[17]

ZHANG YSHI YZHOU Zet al. Efficient and secure skyline queries over vertical data federation[J]. IEEE Transactions on Knowledge and Data Engineering202335(9): 9269-9280.

[18]

HAN XWANG JLI Jet al. Efficient computation of G-Skyline groups on massive data[J]. Information Sciences2022587: 300-322.

[19]

李光辉, 李艳红, 杨洋, . 在正交查询范围内解决G-Skyline查询中的why-not问题[J]. 中南民族大学学报(自然科学版)202342(5): 678-688.

[20]

LIN XYUAN YWANG Wet al. Stabbing the sky: Efficient skyline computation over sliding windows[C]//21st International Conference on Data Engineering (ICDE'05). Tokoyo:IEEE, 2005: 502-513.

[21]

BABCOCK BBABU SDATAR Met al. Models and issues in data stream systems[C]//Proceedings of the Twenty-First ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems. Madison: ACM, 2002: 1-16.

[22]

TAO YPAPADIAS D. Maintaining sliding window skylines on data streams[J]. IEEE Transactions on Knowledge and Data Engineering200618(3): 377-391.

[23]

LIN XLU HXU Jet al. Continuously maintaining quantile summaries of the most recent N elements over a data stream[C]//Proceedings of 20th International Conference on Data Engineering. Boston:IEEE, 2004: 362-373.

[24]

SUN SHUANG ZZHONG Het al. Efficient monitoring of skyline queries over distributed data streams[J]. Knowledge and Information Systems201025(3): 575-606.

[25]

MORSE MPATEL J MGROSKY W I. Efficient continuous skyline computation[C]//22nd International Conference on Data Engineering (ICDE'06). Atlanta:IEEE, 2006: 108.

[26]

ALAMI KMAABOUT S. A framework for multidimensional skyline queries over streaming data[J]. Data & Knowledge Engineering2020127:101792.

基金资助

湖北省自然科学基金资助项目(2017CFB135)

中央高校基本科研业务费专项资金资助项目(CZY23019)

AI Summary AI Mindmap
PDF (4816KB)

150

访问

0

被引

详细

导航
相关文章

AI思维导图

/