论文部分内容阅读
随着计算机网络和信息技术的迅猛发展,数据流已成为网络监测、金融分析、医学研究等应用领域的主要数据模型。在实时、有序和海量无限的数据流中快速准确的挖掘出有价值的信息具有着重要的现实意义。为提升数据流处理时的效率和吞吐量,分布式流处理系统应运而生。在众多分布式流处理系统中,新兴的Spark Streaming系统凭借着准实时性、吞吐量高的特点在数据流处理中得到了切实有效的应用。为了适应海量数据流在聚类挖掘上的需求,本文对基于双层架构的CluStream算法和基于网格密度的D-Stream算法进行优化,同时在Spark Streaming系统下进行并行化改造。本文的具体工作内容如下:1)针对CluStream算法的不足,提出了改进算法FCPCluStream。针对CluStream算法在线微聚类时,其微簇结构不能实时反映数据流演化特性等问题,本文引入衰减时间因子,以减少历史数据对微簇的影响,并对聚类中心、聚类距离进行改进,同时优化金字塔时间存储模型。针对CluStream算法离线宏聚类时,其微簇合并时需用户提供类簇数目k且初始聚类中心随机选取,导致聚类质量较低的问题,本文引入Canopy算法进行类簇数目k和初始聚类中心的确定,并利用Canopy-KMeans算法进行离线宏聚类优化处理。在上述改进基础上,提出了算法FCPCluStream。2)基于Spark Streaming模型,对FCPCluStream算法进行并行化设计,提高其执行效率。针对Spark Streaming模型特点,设计FCPCluStream算法的并行化总体架构。在线微聚类阶段,对微簇初始化和微簇实时更新进行map过程设计;离线宏聚类阶段,对基于Canopy-KMeans的微簇合并算法进行map、combine、reduce过程设计。3)研究了流聚类算法D-Stream,基于Spark Streaming模型特点,提出负载均衡的网格分区自适应调整方法,同时对其进行并行化设计,提高执行效率。在对D-Stream进行并行化处理时,针对空间网格均匀分区会导致各节点负载失衡的不足,本文提出负载均衡的网格分区自适应调整算法。同时,对在线阶段网格映射和离线阶段局部簇调整分别进行map过程设计,并设计出全局簇合并方法。4)设计实验方案,测试了Spark Streaming平台下聚类算法的各项性能。构建Spark+YARN平台,利用KDD CUP1999网络入侵数据,分别在聚类质量和集群加速比方面,对本文提出的改进及并行化算法进行测试。结果表明,算法的优化以及基于Spark Streaming的并行化处理具有可行性及有效性。