论文部分内容阅读
现代互联网每日产生大量的数据,引发了对大规模数据处理的需求。面对海量的数据,研究者们提出了新形式的分布式文件存储系统,并且基于文件系统之上提出了并行的计算方式解决大数据带来的计算效率的挑战。最具代表的是Google提出的MapReduce并行计算模型与基于BSP计算模型的图数据处理引擎Pregel,使得很多基于大数据的最常见计算能够在大规模计算集群中得以高效的实现。实体识别(Entity Resolution)是指在判断一个或多个数据源中两个不同记录是否描述同一实体,有时也被称作记录连接(Record Linkage).在数据集成中,实体识别被用于数据清洗(Data Clean)的去重(Deduplication)和数据集合的相似连接(Similarity Joins)等操作中。实体识别技术可被广泛应用于人口普查、引文识别、Web搜索、数据清洗以及剽窃检验等诸多领域。然而随着数据集规模的日益增大,集中式处理几百GB数据时已经出现性能瓶颈,更不用说TB、PB级别。由于实体识别的关键技术可以采用并行计算模型进行分布式处理,因此采用MapReduce计算模型和BSP计算模型能够很好地处理大规模数据集上的实体识别问题,提高执行效率。本文针对实体识别的关键技术进行了研究,提出了基于MapReduce计算模型的实体匹配策略和基于BSP计算模型的相似子图构建策略。实体识别的处理过程可以分为两个阶段:实体匹配和实体合并。实体匹配从数据源中发现所有满足阈值约束的相似记录对。实体合并划分实体匹配过程发现的相似记录对,形成相似子图集合,合并相似子图记录。在实体匹配阶段,本文在PPJoin算法的基础上提出了基于映射表和基于二分查找的新方法,通过采用映射表和二分查找替代倒排索引,在保持原有算法过滤效果的同时,加快了记录间相似度验证的速度,有效提高了记录匹配的效率。针对相似子图构建,本文提出了基于BSP计算模型的新方法,利用超步迭代取代了基于MapReduce计算模型的作业迭代,利用异步通信减少了迭代次数,通过节点数量控制实现了迭代控制,有效提高了相似子图构建的效率。对于提出的基于MapReduce计算模型的实体匹配策略和基于BSP计算模型的相似子图构建策略,本文基于Hadoop和Hama平台,采用ACM和DBLP的真实数据集进行了实验。针对实体匹配,我们比较了相同实验条件下基于映射表和基于二分查找的算法与PPJoin算法在Hadoop平台上的性能,实验结果表明基于映射表和基于二分查找的算法相比较PPJoin算法在性能上有了很大提升,并且在不同相似度阈值的情况下表现稳定。对于相似子图构建,我们比较了基于MapReduce计算模型和基于BSP计算模型算法在Hadoop和Hama平台上的性能,实验结果表明基于BSP计算模型算法的性能要明显好于基于MapReduce计算模型算法的性能。