论文部分内容阅读
随着互联网的快速发展,SNS网站的兴起,人们越来越多地通过网络进行沟通、交流以及形成人际关系,由此产生了大量的用户数据。如何从海量的用户数据中取得更深层次的有用信息,进而挖掘其中的潜在内容,如网络舆论扩散模型、网络用户群体属性及商业价值等,是当前的重要研究方向和挑战。传统的社会网络分析工具和算法通常都是基于单机的,在处理大规模数据集的时候往往会面临存储和处理能力不足等的问题。而且,原始输入数据和社会网络结构描述都是无结构或半结构化的数据,传统关系数据库并不善于处理此种类型的数据,从而在利用传统社会网络分析工具和算法处理大规模数据集时变得更加困难。本文提出了基于HBase的分布式社会网络分析支撑系统的解决方案,用于帮助用户在对海量数据进行社会网络分析时,收集萃取数据,构建可分析的社会网络,对网络内的个体或个体间关系进行分析,以得出这个社会网络的一些特征数据。系统主要功能包括获取社会网络分析所需的数据,从数据中抽取网络关系,分布式社会网络构建,网络图存储和分布式社会网络分析算法的设计,完整实现了进行社会网络分析的过程。该解决方案通过融合HBase分布式体系结构和社会网络分析流程,建立了基于模块的多层次体系结构。系统模块间采用松耦合设计,不同模块完成不同的功能,在不改变系统功能前提下对任意模块的内部修改不影响其他模块的工作。在构建社会网络时,系统通过开源爬虫从互联网,特别是社会化网站中获取构建社会网络相关的数据,并从非结构或半结构化的原始输入数据中抽取出相关的社会网络关系,然后利用MapReduce分布式构建社会网络,包括网络合并、边属性计算等。在支撑系统的存储层设计了基于HBase的图存储系统,并针对社会网络结构的特性设计了图存储结构,负责存储构建完成的社会网络,向上层应用提供各种所需图数据。在进行社会网络分析时,通过图表述系统将社会网络抽象为一幅图,然后对图中的节点和边进行处理,图表述系统向分布式社会网络分析算法提供图数据接口和预处理功能。最后,在支撑系统的基础上,本文以节点度、节点强度及聚类系数分析为例介绍了基于MapReduce的分布式社会网络分析算法的设计与实现过程,并进行实验和结果分析。本文提出的基于HBase的分布式社会网络分析支撑系统经过实验验证,运行良好,适用于支撑对大规模社会网络数据集进行社会网络分析。