论文部分内容阅读
数据流是一组大量、快速、顺序、连续到达的数据集合。近年来,电子商务、网络监控、广告系统等用于数据流处理的应用越来越引起重视。作为基本操作之一,连接在流的处理过程中起着非常重要的作用。是连接条件,包括<,≤,≥,>,如果为“=”,则称为等值连接。其目的在于找出不同数据集中满足连接条件的特定对象。针对海量流式数据分析处理中的多路数据流连接处理,本论文从等值连接和非等值连接两个模块分别进行了研究,并且分别提出了高效的解决办法。在非等值连接方面,本文提出了FastThetaJoin,这是一种多个数据流中用于连接操作的优化技术。连接作为许多数据分析任务中经常使用的基本查询操作,在实际应用中,对多路数据流进行连接操作是非常困难的。由于多个操作组件之间的数据移动,因此涉及巨大的通讯和计算成本,使其难以在分布式环境中有效实施。与之前的研究方法一样,FastThetaJion也会尝试最小化连接的数量,但是在制定分区策略,删除不必要的数据和执行笛卡尔积时,FastThetaJion提出了与其他方法不同的分段过滤策略。通过这些策略,FastThetaJoin不仅可以有效地减少连接的操作数量而且还可以有效提高其在分布式环境中的运行效率。本文在Spark Streaming框架中实现了FastThetaJoin,实验结果表明,与现有解决方案相比,本文提出的方法可以减少参与连接的数据量,加快连接处理速度,进而提高连接的性能,和现有的算法相比可以提升30%以上的速度。此外,优化的效果与数据流的特性有关。数据特征差距越大,优化效果越明显。在等值连接方面,本文提出了一个新的面向流的过滤器,名为多重布谷鸟过滤器(MCF)。这是一种基于经典布谷鸟过滤器的多重布谷鸟过滤器,可用于判断在特定时间段内所有数据流中是否存在某一相同元素。该方法将多个数据集的成员资格查询分解为多个操作,并将查询置于流环境中,每个数据流对应一个过滤器。实验结果表明,随着数据流数量的增加,插入和查询操作的时间也会增加。MCF的查询时间也随着滑动窗口的减小和窗口数量的增加而逐渐增加。