论文部分内容阅读
互联网用户的访问会产生海量的Web日志,这些Web日志记录着用户的每一次访问行为,同时也隐藏着巨大的商业信息。因此,需要设计高效快捷的Web日志挖掘分析技术。本文对海量Web日志数据的存储、预处理以及合适的数据挖掘算法等方面进行了深入研究,提出了一套能够快速高效地存取数据、提高数据有效性的数据预处理机制并实现高效可靠的数据挖掘的算法,并使用这些算法设计实现了一个基于Hadoop的Web日志分析系统。本文提出了一种基于负载因子组合排名的负载均衡优化算法来实现对Web日志的存储和优化。这种方法充分利用Hadoop分布式平台的优势,使用HBase集群来存储这些Web日志,实现了防止在读取HBase中的数据时造成访问“热点”问题的目标,改善了HBase自身负载均衡算法的缺陷。该算法综合考虑节点的CPU使用率、读请求数目以及读请求响应时间大小,根据节点负载因子综合排名的高低来调节负载,通过将高负载的节点中的部分Region转移到低负载节点中去,平衡每个节点被访问到的频率,在一定程度上保证了集群的负载均衡。本文利用不同的数据处理方法对Web日志进行了有效的预处理工作,通过对Web日志的数据清理、用户识别和会话识别过程的详细研究,提出了针对整个过程的Map和Reduce设计方案,保障了待挖掘的Web日志的完整性以及有效性。然后使预处理方法并行化,适用于Hadoop平台,并能够有效提高Web日志预处理的效率。本文使用一种基于初始中心点改进后的K-means算法来实现对Web日志数据的聚类分析及处理。该算法在选择初始聚类中心时,通过提高离当前聚类中心距离远的点成为新的聚类中心的概率,使各个中心点尽量分散开,从而避免在选择时的完全随机性。根据Elkan K-means算法的三角形判定原理来减少聚类过程中不必要的距离计算,从而提高算法的收敛速度和聚类准确性。最后将该算法并行化,使其适用于Hadoop平台。本文通过模拟热点场景并进行对比试验,验证了提出的改进的负载均衡算法的有效性。通过将K-means算法与本文提出的改进的K-Means算法的分析结果进行比较,验证了算法的高效性。经过实验并通过比较在单机环境下和Hadoop环境下的日志处理速度,验证了Hadoop平台在处理Web日志数据的优越性。