数据流上Skyline查询处理算法研究

数据流上Skyline查询处理算法研究

论文摘要

数据流是连续、实时、有序的数据项序列。数据流广泛存在于因特网与传感器网络、交通与环境监控、工业控制、金融股市与电子商务交易等应用中。流数据挖掘与管理是近年来学术界和工业界所共同关注的问题。作为一种重要的数据挖掘技术,Skvline查询是近年来的研究热点。Skvline是定义在一个多维对象集上的集合,它由所有不被其它对象所支配的对象组成。Skyline对于数据挖掘可视化、用户偏好查询及多约束决策等问题具有重要意义。自从Skyline查询在学术界被提出以来,对该课题的研究迄今为止都非常活跃。数据流的特点是数据实时到达、规模宏大、次序独立以及数据往往只能一次读取。这就要求Skvline查询处理算法必需高效地处理数据流中到来的每一个对象,并且要求算法具有较低的时间复杂度。学术界已经出现了一些有关该课题的研究成果,但这些成果仅涉及数据流上全空间Skyline的查询处理,并且数据形式也仅限于集中式、确定性数据流。此外,现存算法没有很好地解决求影响时间与淘汰被新来对象所支配的对象这两个关键问题,导致算法性能较低。本文在对现有技术之不足进行了彻底改进的基础上,进一步解决了一些新的重要实际应用与需求。用户对数据对象各属性的关注往往是有差异的;实际应用中的数据流往往以分布式的形式出现,例如:金融股票交易、环境监测以及网络通讯等应用;最近两年以来,一种全新的被称为概率数据流的数据形态逐步引起了研究者们的关注,针对概率数据流的挖掘与分析方兴未艾。这些新的应用需求为数据流上的Skyline查询处理带了新的挑战。本文对数据流上的Skyline查询处理算法进行了系统地研究,主要成果概括为以下几个方面:(1).提出了一个高效地处理滑动窗口上Skyline持续查询的算法CridSky。对于数据流上的Skvline查询处理,决定其性能的主要因素是计算新到达对象的影响时间以及淘汰被新到达对象所支配的对象这两个关键过程的效率。对这两个关键过程,现有工作中只是简单地依靠R树上的窗口查询机制来实施,直接导致了算法性低下。GridSky算法采用更适合数据流这种频繁更新环境的基本网格作为索引结构,并在此基础上开发了基于时间戳的剪枝策略、基于网格的的剪枝策略以及分层遍历策略等优化措施,大幅度地提高了算法的性能。大量的对比实验表明,在空间复杂度略低的情况下,GridSky与其竞争对手相比时间性能优势在1个数量级以上。此外,GridSky算法对不同的数据分布、数据规模与维度具有很强的可扩展性。(2).研究了分布式数据流上的Skyline查询问题,提出了一个通信最优的分布式算法BOCS。近年来随着大规模分布式应用的涌现,分布式数据流上的查询处理与数据挖掘越来越引起了研究者们的关注。此前相关工作局限于集中式数据流上的Skyline计算,没有人考虑吏具挑战性的分布式数据流上的Skyline查询问题。本文围绕着降低系统反应延迟与最小化通信负荷的目标,在对GridSky进行重大适应性改造的基础上,提出了一个两阶段渐进求解的分布式算法BOCS。并对BOCS的关键实现环节,如:远程站点与协调站点间的通信协议、Skyline增量的计算等进行了优化,使算法达到了通信效率与反应延迟的合理均衡。理论分析证明在所有基于非共享策略的算法中,BOCS算法通信最优。大量的对比实验也表明,BOCS算法高效、稳定且具有良好的可扩展性。(3).提出了一个高效地计算滑动窗口中任意子空间上Skyline的算法StreamSubsky。此前相关工作仅限于维护滑动窗口全空间上的Skyline,未涉及到子空间上Skyline的计算问题。而用户的偏好与倾向性天然不同,这就催生了滑动窗口中子空间上的Skyline查询问题的研究。本文首次提出并较好地解决了该问题,提出的StreamSubsky算法巧妙地利用了全空间与各子空间上Skyline之间的关系,采用自顶向下的方式通过两个阶段增量地返回目标子空间上的计算结果。此外,算法还采用了多个优化策略显著地提高了计算效率。理论分析和实验结果表明,与同类算法相比StreamSubsky以极少的时间开销就能使查询得到响应,算法具有良好的时间与空间性能。(4).对概率数据流上的Skyline查询问题进行了深入研究,提出了一个高效的解决方案。数据的内在不确定性存信息集成、RFID以及传感器网络等普适计算环境中普遍存在。对概率数据流进行管理与分析近年来引起了研究者们的广泛关注,而此前尚无解决概率数据流上Skyline持续查询的算法出现。本文基于“可能世界”语义对该问题首次进行了建模,并提出了一个高效的查询处理算法SOPDS。与传统确定性数据流上的Skyline查询处理不同,SOPDS算法主要考虑以下两个基本问题:一是如何高效地确定对象的身份(判断其是否为Skyline对象),即减少身份判断过程中支配测试的次数以降低CPU开销;二是在保证算法正确性的前提下尽可能早地淘汰那些不再有机会加入Skyline的对象,以减少内存开销。围绕着以上两个基本问题,本文先后提出了概率定界、逐步求精、提前淘汰与选择补偿等优化措施对算法从时间与空间上进行了系统地优化。理论分析与详细的对比实验表明,SOPDS算法在时间与空间上具有较高的整体性能,算法高效、稳定。本文研究了数据流上Skyline查询的四个重要问题,并分别提出了有效的解决方案。本文提出GridSky算法对现有技术进行了彻底地改进,而提出的BOCS、StreamSubsky和SOPDS算法则进一步填补了一些重要新兴应用的空白。理论分析证明这些算法高效地解决了相应的问题;大量的对于比实验也表明,与现有技术相比本文提出的算法在存储空间、查询处理速度等方面具有明显的优势。

论文目录

  • 目录
  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 应用背景
  • 1.2 预备知识
  • 1.2.1 数据流模型
  • 1.2.2 数据流上的Skyline查询
  • 1.3 面临的挑战
  • 1.4 本文的研究成果
  • 1.5 本文的组织
  • 第二章 数据流与SKYLINE查询研究综述
  • 2.1 数据流研究进展
  • 2.1.1 数据流处理关键技术
  • 2.1.2 数据流挖掘算法
  • 2.1.3 数据流管理系统
  • 2.2 SKYLINE查询综述
  • 2.3 数据流上SKYLINE查询处理
  • 2.4 本章小结
  • 第三章 滑动窗口上的SKYLINE持续查询
  • 3.1 问题定义
  • 3.2 算法基本结构
  • 3.3 优化策略及算法细节
  • 3.4 代价分析
  • 3.5 实验验证
  • 3.5.1 网格粒度对性能的影响
  • 3.5.2 时间代价测试
  • 3.5.3 空间代价测试
  • 3.6 本章小结
  • 第四章 分布式数据流上的SKYLINE持续查询
  • 4.1 引言
  • 4.2 背景知识
  • 4.2.1 相关工作
  • 4.2.2 问题定义
  • 4.3 基准算法
  • 4.4 分布式算法BOCS
  • 4.4.1 通信负载优化
  • 4.4.2 计算负荷优化
  • 4.4.3 算法细节与示例
  • 4.5 算法分析
  • 4.6 实验评价
  • 4.6.1 通信负载测试
  • 4.6.2 时间开销测试
  • 4.6.3 算法稳定性测试
  • 4.7 本章小节
  • 第五章 滑动窗口子空间上的SKYLINE计算
  • 5.1 引言
  • 5.2 问题定义
  • 5.3 算法基本思想
  • 5.4 优化策略及算法细节
  • 5.4.1 全空间Skyline维护方案
  • 5.4.2 子空间Skyline计算方案
  • 5.5 代价分析
  • 5.6 实验验证
  • 5.6.1 全空间Skyline维护代价测试
  • 5.6.2 子空间Skyline计算代价
  • 5.6.3 算法空间代价
  • 5.7 本章小结
  • 第六章 概率数据流上的SKYLINE持续查询
  • 6.1 引言
  • 6.2 背景知识
  • 6.2.1 相关工作
  • 6.2.2 术语与问题定义
  • 6.3 SOPDS算法基本结构
  • 6.4 算法优化与实现
  • 6.4.1 计算优化策略
  • 6.4.2 空间优化策略
  • 6.4.3 算法实现与描述
  • 6.4.4 算法复杂度分析
  • 6.5 实验验证与分析
  • 6.5.1 Skyline规模测试
  • 6.5.2 时间开销测试
  • 6.5.3 空间开销测试
  • 6.6 小结
  • 总结与展望
  • 参考文献
  • 攻读学位期间作者的工作成果
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  ;  ;  

    数据流上Skyline查询处理算法研究
    下载Doc文档

    猜你喜欢