论文部分内容阅读
随着计算机、移动和物联网设备的普及,各类网络应用逐渐泛在化,由此产生了大量多源、异构的流式数据,如网络入侵数据、股票数据和天气监测数据等。流式数据具有多样化、时序性、海量、连续到达、潜在无限等特点,从而使基于流式数据的挖掘任务变得更加复杂,且富有挑战性。聚类作为一种无监督的学习方式,是数据挖掘的一种重要方法,它能根据数据间的相似性对数据进行划分,并根据划分结果对数据进行归类,从而有助于从海量数据中提取潜藏的、未知的、有价值信息。基于流数据的数据挖掘一方面限制于有限的主存空间和低下的磁盘I/O效率,不能将数据全部持久化存储;另一方面则受流式数据处理方法的制约,不能实时、在线挖掘。因而,如何实时、高效、可靠地处理流式数据,成为了数据挖掘方面一个值得关注的难点问题。近年来,并行与分布式计算、集群架构及其相关技术的迅速普及与应用,为解决大规模流式数据的实时挖掘带来了曙光。本文将并行化的思想引入到流数据的聚类处理中,在分布式内存计算框架Spark下将聚类算法并行化,实现数据在多台计算机上的并行处理,从而提供高吞吐量、高容错性的实时处理。本文具体研究内容如下:(1)针对流式数据特点,对流式数据聚类算法进行了详细研究,给出了流式数据聚类算法的分类,分析了分布式计算框架Hadoop上MapReduce编程模型的工作原理和实现机制,并在流数据处理方面与分布式内存计算框架Spark进行了比较,总结了Spark具有的并行处理优势。(2)在研究CluStream算法的基础上,针对数据处理时的时效性和算法参数敏感性问题,提出了一种针对流数据的基于变长滑动窗口和遗传算法相结合的CluWin-GA聚类算法。实验分析表明,该算法具有良好的时效性和可靠性,是一种具有动态自适应能力的流数据聚类新算法。(3)将内存计算及并行化理念引入到流数据聚类过程中,继而应用Spark分布式计算框架改进了流数据聚类算法的并行化策略。借助Spark平台,本文实现了CluStream算法以及改进算法CluWin-GA的聚类并行化。结果表明,利用分布式计算框架Spark,改进后的并行聚类算法能更好地实现对流数据的实时、高效、可靠的聚类处理。总之,本文从流数据特点入手,借助变长滑动窗口技术和遗传算法提出了一种双层架构的流数据聚类算法;通过将内存计算和并行化的思想引入到流式数据聚类中,实现了Spark并行计算框架下流数据的并行聚类,从而为流式数据聚类算法的进一步研究奠定了基础,对大数据和云计算背景下的并行数据分析具有较高的理论意义和实践价值。