● 摘要
近年来,信息社会和互联网技术的快速发展引发了数据规模的爆炸式增长,催生了大数据相关研究的广泛开展,社会网络大数据具有的典型的4V特征:规模大(Volume)、种类多(Variety)、变化快(Velocity)和价值高(Value),数据变得越来越重要,成为了既人力、资本之后的一种新的非物质生产要素,进而成为了政府和企业不可或缺的一种战略资源。
图数据是社会网络数据的一种天然表征形式,图中的节点可以表达社会网络中的不同实体,而边则可以表示这些实体之间不同形式的关系。图模型正在互联网和社会网络领域得到越来越广泛的应用。随着真实世界中实体规模的扩张,导致对应的图数据规模迅速增长,因而构建高效的大规模图数据处理系统也成为了急需解决的问题。图计算的算法和机器学习算法类似,通常是复杂的、多阶段或迭代的计算,在大数据处理技术兴起之前,缺少对大规模图数据的有效处理方式,而随着以Pregel、GraphLab为代表的图数据处理系统的出现,在一定程度上提供了大规模图数据处理的方式。但是,目前的社会网络图数据处理,一方面缺乏对不同运算平台的深入对比分析,另一方面,缺乏对算法与平台适配的相关研究,以社区检测为例,缺乏同时满足速度与精确性的算法,此外,针对特殊的图结构特征,当前的数据切分方式无法保证运算过程中的负载与通信均衡问题,因而在高效处理大规模社会网络图数据时存在很大挑战。
针对上述挑战,本文设计并实现了一种面向社会网络图数据分析的分布式处理系统。该系统在已有系统的基础上,主要开展了以下研究:
针对缺乏对不同分布式图处理系统的深入对比分析的问题,本文对典型的分布式图处理平台进行了深入细致的性能试验对比分析,总结了影响分布式图处理平台性能的关键问题;
针对算法与平台适配的问题,本文定义了分布式环境下的三种图算法模式,实现了具有代表性的三种社区检测算法,总结了分布式平台下的算法改进思路,设计并实现了基于节点相似性的标签传递算法(NSLPA)。NSLPA在不明显增加运算时间的情况下,有效提高了社区检测的准确度;
针对数据切分问题,采用标签传递算法结果作为反馈,设计实现了基于多层次NSLPA的数据切分系统(MLNSLP),在切分时间较低的情况下,获得了很好的切分效果。