论文部分内容阅读
不确定数据作为一种特殊的数据类型,广泛存在于诸如传感器网络、RFID网络、金融数据分析、基于位置的服务以及移动对象管理等各种实际应用中。不确定数据的Skyline查询在信息检索、数据挖掘、决策制定和环境监控等众多应用中发挥着重要作用,目前已成为数据库领域的一个研究热点。随着分布式不确定性应用的广泛存在和普及,当前不确定数据的Skyline查询应用已逐步向分布式应用拓展。对于广泛分布的不确定数据集上的Skyline查询,当前研究的挑战在于探索优化分布式查询处理的剪枝策略,高效渐进地返回查询结果,以提高分布式不确定Skyline查询处理的效率。随着近年来不确定数据流应用的兴起和发展,使得高效处理不确定数据流的Skyline查询成为当前亟待解决的问题。由于不确定流数据源源不断地高速到达且用户关注的滑动窗口逐渐增大,导致已有的集中式不确定数据流Skyline查询方法难以满足数据流应用对查询效率的需求。当前诸如数据中心等分布式计算环境的兴起和广泛运用,为实现不确定数据流的分布并行Skyline查询处理提供了有利条件。对于高速到达的不确定数据流上的Skyline查询,当前研究的挑战在于如何充分利用分布式计算环境实现并行查询处理,以提高不确定数据流Skyline查询处理的效率。以上研究挑战表明,不确定数据的分布并行Skyline查询技术研究具有极其重要的现实意义,且已成为当前Skyline查询技术研究的必然趋势。本文围绕上述研究挑战,分别针对不确定数据集和不确定数据流开展分布并行Skyline查询技术的研究工作。针对已有的分布式概率Skyline查询方法因剪枝效率不高而导致查询的通信开销较大的问题,提出了一种基于网格过滤的分布式概率Skyline查询方法GDPS。GDPS查询处理过程包括基于网格概要剪枝的预处理阶段和基于迭代剪枝的处理阶段。在预处理阶段,对数据空间进行网格划分并收集全局网格概要信息,利用该信息提前过滤大部分不可能成为最终结果的对象。在迭代剪枝处理阶段,一方面,协调节点充分利用历史处理信息最大化地过滤候选对象,并选择具有最大支配能力的候选元组传输至各局部节点;另一方面,各局部节点不断更新元组的临时Skyline概率并基于此剪枝局部节点内的候选元组,同时选择该概率值最大的元组传输至协调节点,以增强候选元组的剪枝能力。实验结果表明,相对于已有方法,GDPS方法不仅能够满足用户渐进式的查询需求、保证查询结果的正确性,而且能够显著降低查询所需的通信开销。针对已有的Skyline查询技术在分布式区间Skyline查询建模和查询效率方面不足的问题,提出了一种基于迭代反馈的分布式区间Skyline查询方法DISQ。在DISQ方法中,首先对区间Skyline查询问题进行有效建模,并采用一种四阶段的迭代反馈机制执行查询处理。对于各局部节点,根据协调节点的反馈信息不断更新元组的临时区间Skyline概率,并快速剪枝该概率值低于阈值的元组;选择最具代表性的元组及其概率信息发送至协调节点,以优化反馈对象的剪枝效率;选择最优的返回元组数目,以进一步降低查询的通信开销。对于协调节点,一方面不断收集并遴选来自各局部节点的优势元组,以最大化反馈元组的剪枝效率;一方面利用历史信息剪枝候选反馈元组,以优化反馈对象的选择和减少反馈元组的数目。实验结果表明,相对于已有方法,DISQ不仅能够有效建模分布式区间Skyline查询问题,满足查询的正确性和渐进性,而且能够极大地减少查询的通信开销。针对已有的分布并行处理模型(如Map Reduce)由于其自身结构的原因而难以支持不确定数据流的并行Skyline查询的问题,提出了一种基于窗口划分的分布并行查询模型WPS。在WPS模型中,在逻辑上将全局滑动窗口划分为多个局部窗口,并将各局部窗口中的查询任务映射至各计算节点,以实现并行查询处理;基于排队理论建模分析流数据的到达速率、处理速率和缓存容量之间的关系,自适应地调整窗口滑动的粒度;根据滑动窗口的综合处理能力划分各局部窗口长度,以优化各计算节点上的负载均衡性能。特别地,为了适应各种分布式计算环境和并行查询需求,WPS模型中实现了集中式、轮转式、分布式和角划分四种流数据映射策略。集中式策略中各计算节点均维护着全局窗口,计算节点之间无需通信,适合于带宽受限的处理环境;轮转式策略以轮转的方式依次按序更新完各计算节点上的局部窗口,能够降低各局部窗口的动态变化性且适合高带宽网络环境;分布式策略逐个交替地将流数据按序映射至各计算节点,能够最大化并行处理的效率且具有较好的负载均衡性;角划分策略根据流数据的角坐标确定其映射的计算节点,能够通过强化流数据之间的支配关系来提高查询效率,适合于高带宽环境且无需完全负载均衡的查询应用。实验结果表明,与已有方法相比,基于WPS模型实现的分布并行Skyline查询方法的处理效率显著提高,且对于不同的更新粒度、数据维度和窗口长度,能够维持较好的查询处理和负载均衡性能。针对已有的不确定数据流Skyline查询方法难以解决高吞吐率数据流环境下对大规模滑动窗口进行高效Skyline查询的问题,提出了一种基于两级优化的分布并行Skyline查询方法PSS。在PSS方法中,利用基于窗口划分的WPS模型实现基本的分布并行查询处理框架,并利用计算节点之间以及计算节点内部的两级优化处理来实现高效的并行查询处理。在计算节点之间,利用新到达流数据的映射策略对计算节点进行有效组织,并对其各自维护的局部窗口中的元组建立支配关系,以减少各计算节点所维护的元组之间的支配测试次数。在计算节点内部,采用网格索引结构优化其内部计算,包括元组之间的支配测试、候选对象的Skyline概率计算与更新等;采用一种基于Z-order曲线的管理策略对大量网格元胞的进行高效管理,并利用Z-order列表的单调性优化网格元胞之间的支配关系测试。实验结果表明,相对于已有方法,PSS方法能够极大地改进并行查询处理的效率,同时其所消耗的通信开销较小且具有较好的负载均衡性能。针对在不确定数据流的分布并行Skyline查询过程中由于故障发生而导致查询结果不准确和查询中断的问题,提出了一种基于复制的容错分布并行Skyline查询方法FTPS。在FTPS方法中,一方面采用了基于WPS模型和两级优化策略实现的分布并行查询处理框架,以实现不确定数据流上Skyline查询的高效并行查询处理;一方面将各种基于复制的容错优化策略与并行查询处理框架有效结合,以实现高效的容错并行查询处理。在FTPS中选择参与并行处理的计算节点作为副本节点,并对各计算节点上的多个副本进行层次化管理,通过选择优先级高的副本恢复数据,以保证数据恢复的高效性;同时将故障检测、丢失数据恢复和查询过程恢复贯穿于整个查询更新过程中,以减少容错处理的额外通信和计算开销并实现快速的容错并行查询。实验结果表明,FTPS方法能够快速有效地检测故障并恢复并行查询处理过程,不仅在无故障发生和单个节点失效时具有较高的查询处理效率,而且随着失效节点数的上升,仍然能够保证较高的查询处理速率且足以满足用户快速准确的查询处理需求。