论文部分内容阅读
Skyline查询在多标准决策支持系统、数据挖掘及市场产品定位分析等诸多应用领域起着重要作用。该查询应用于数据流后,在城市导航系统等实时在线服务方面显示出广阔的发展前景。如何在与传统静态数据截然不同的数据流上进行有效的计算是当前研究的热点。k-skyband查询扩展了skyline查询,它通过计算带状skyline,放松了对查询结果的控制关系的约束,弥补了某些skyline查询结果有效信息很少的缺点,具有更好的应用意义。但现有的k-skyband算法无法有效的应对持续、快速到达的数据,使得数据流上的k-skyband集合的挖掘面临着严峻挑战。 本文对基于滑动窗口的k-skyband计算展开研究,以提高k-skyband结果的实时性和强管理性,快速捕获流数据中的特征为目的,结合数据流和k-skyband计算的特点,提出了以下两种不同的模型: 1.基于层次结构的计算模型 为减小新数据对象到来及旧数据到期时的比较代价,本模型将滑动窗口内的k-skyband结果对象及非结果对象进行有效的分离存储,并引入了全新的分层(layer)的概念对结果集进行维护。这种分层结构的好处在于:给定一个数据对象,能够迅速定位控制该对象的点所在的层,更早的裁剪掉非结果点;对于非结果集根据L1定理,按各维维值之和升序进行存储,保证了在结果点到期时对非结果集的一趟扫描。 2.基于网格结构的索引模型 为了弥补在数据流应用中使用常规的空间索引(如:R树、R*树)带来的巨大更新维护代价、高维空间中各节点的严重重叠以及索引本身缺少控制信息等缺陷,本模型采用基于网格(grid)结构的索引结构,并提出了补充结果集、后继skyline对象集的概念,减少了查找候选k-skyband点时的搜索空间。这就大幅度降低一个结果对象到期时从非结果集中找到可以成为结果的对象的计算代价。 本文通过实验对比和结果分析,证明了基于层次结构的LayerSky算法与基于网格索引的GridSky算法在数据流环境中的k-skyband计算问题上能够达到很好的更新效率,解决了数据流上检索k-skyband集合的问题。