论文部分内容阅读
随着各类社会类网站和电商类网站的崛起,针对大规模社会关系网络的社会网络分析(SNA),从简单的好友推荐,到复杂的重要节点探查等,具有越来越多的应用需求。另一方面,针对大规模数据进行分析的分布式数据计算平台发展迅速,包括通用分布式计算平台Hadoop,也包括专用分布式计算平台Graphlab等。为了在不同的分布式平台上实现丰富的社会网络分析算法,现阶段用户需要在每一个平台上单独实现一整套复杂的代码库,并针对该系统进行特定的优化,工作量巨大。 本文首先提出利用矩阵接口,来完成不同社会网络算法和不同分布式平台之间的连接。将社会网络算法用矩阵接口的方式表示,然后将矩阵运算转化为各个平台上已经实现好的算子库,自动完成多平台的实现。 为了完成这样一个目标,本文完整实现了该矩阵系统在Hadoop平台上的实现。在存储层中,实现了矩阵的逻辑层划分和物理层存储。在算子层中,实现了矩阵一系列的运算算子,包括矩阵格式的转化,矩阵的转置,广义矩阵加法,广义矩阵乘法等。紧接着在这样的系统上,实现了几个较为复杂的社会网络分析算法,通过实际的应用场景,展示矩阵系统的使用方式。 最后,本文设计了系统的功能实验和性能实验。功能实验中,本文通过运行矩阵系统上的社会网络算法,来验证系统功能的完整性。性能实验中,本文探究系统算子在不同类型的数据上的性能表现,并提出相应的使用建议。