论文部分内容阅读
数据挖掘,也称为数据库中的知识发现,是从大量、不完全、模糊的实际应用数据中,提取隐含在其中、事先不知道的信息和知识的过程。传统的数据挖掘技术采用的挖掘算法:一方面所处理的数据都是集中在一台机器上,另一方面整个挖掘过程的计算也集中在一台机器上。随着各种网络尤其是Internet的广泛使用,网络中可获得的数据量持续增长,需要挖掘的数据源往往分布存储在网络的各个节点上。同时,随着信息技术应用的深入,挖掘算法执行的对象数据集越来越大,需要大量的计算资源,这必然要求执行挖掘算法的机器有相当高的性能,一台机器通常很难完成这种超大量的计算任务,与之相应的在其它分布式站点上的机器有着充裕的计算资源却不能有效地利用。对于这两个问题,传统的数据挖掘技术根本无法解决,因此分布式数据挖掘技术随之而出。所谓分布式数据挖掘就是使用分布式计算资源,从分布式数据库中发现知识的过程,主要包括两方面的内容:一方面,跨多个网络节点对分布式数据集进行联合挖掘;另一方面,利用网络节点的计算资源进行协同挖掘,满足巨大的计算工作量需求。通过对Agent、网格、RMI、CORBA等分布式技术进行比较,可以发现,Agent、网格技术是两种不成熟的技术,虽说有很好的前景,但使用和开发的难度很大。而RMI技术是一种很成熟技术,相对容易使用,且具有跨平台执行的能力优点。因此本文采用了RMI技术来实现分布式数据挖掘。本文以数据挖掘中的关联规则FP-Tree算法和分类ID3算法为切入点,对运用RMI技术进行分布式算法设计进行了探索,主要工作包括:首先,对要采用的分布式技术RMI做了深入的理解和掌握,并把传统的数据挖掘算法中的数据处理部分和任务执行部分发布为RMI服务。其次,对传统数据挖掘算法进行了研究,主要包括关联规则类经典算法Apriori、FP-Tree等算法,分类经典算法ID3、C4.5等算法。使用Java语言实现其中的FP-Tree、ID3算法。再次,在深入分析传统算法的基础上,提出和实现数据与计算都分布的DFP算法和DID3算法。最后,实现了分布式数据挖掘平台原型。本文的DFP算法和DID3算法都实现了数据与计算同时分布,并实验证明比对应传统的算法具有更好的性能。同时,实现了分布式数据挖掘平台原型,总结提出了在设计分布式数据挖掘算法时可参考的设计思路,便于后人将其它算法实现分布式。