论文部分内容阅读
随着大数据时代的到来,来自互联网及生活中的海量多源异构数据正以前所未有的速度产生并积累,这些数据之间存在着紧密的关联性,如何对其进行有效地分析和挖掘是目前工业界和学术界面临的严峻挑战和宝贵机遇。图作为一种广泛应用的数据结构,非常适合刻画这种具有内在关联性的数据,许多领域的问题都可以通过图的相关理论和技术解决,例如社交网络与Web网络分析、推荐系统、社会安全分析、生物数据分析等。为了实现对图数据的高效管理和挖掘,图数据计算模型等关键技术已成为当今国内外研究机构和公司的研究热点之一。 面向大规模图计算的广泛应用需求,本文研究大规模图数据计算技术,分别研究了图划分技术、图压缩索引技术和图访问优化技术,并设计一种基于“分布式+压缩索引+访问优化”的图计算框架。本文的主要研究内容和贡献如下: (1)基于启发式迭代策略的图划分技术研究。 本文提出了一个对图中的边进行划分的图划分算法VSEP(Vertex Swap and EdgePartitioning)。该方法通过启发式的迭代策略对图数据上的行和列进行交换,并且交换的过程并不用真正的改变图数据的内容,只需一个长度为结点数量的一维数组来存储交换后的结点变化情况即可。针对幂率图和非幂率图的不同特点,分别提出了square策略和diagonal策略两种方法对图进行划分。通过和该领域优秀算法对比发现,VSEP算法可以显著降低图划分后的关联性。 (2)基于K2-tree算法的图压缩索引技术研究。 本章在图压缩索引算法K2-tree算法的基础上,提出了一种新的压缩索引算法Delta-K2-tree,通过利用图数据内部存在的冗余进行提高压缩效果。通过在真实数据集上和其它三种算法进行比较表明,Delta-K2-tree算法的压缩效果最好,并且同时支持正向查询和逆向查询。在查询时间方面,Delta-K2-tree算法虽然不能提供最快的查询速度,但是在同时考虑空间和时间两方面因素时,Delta-K2-tree算法是一个不错的选择。 (3)基于内存换页算法的图访问优化技术研究。 本文提出了一种图访问优化算法PageLRU。当在实际应用图数据时,由于图上结点之间的连接关系比较紧密,常规的顺序存储图数据的方法会导致当前需要访问的图数据往往没有加载到内存中,这时就需要频繁的内存和磁盘之间的I/O操作来进行调度,这就大大降低的图计算的效率。针对这个问题,PageLRU算法,分别在图的存储顺序和图加载到内存的方式两方面入手,来提高内存的访问命中率,减少磁盘I/O操作,提高了图计算效率。 (4)设计并实现了一个大规模图数据计算引擎。 结合本文提出的图划分算法、图压缩索引算法和图访问优化算法三个关键技术,设计了一种图计算引擎。该图计算引擎通过以下三个步骤来处理图数据。首先将图数据划分为多个关联度较小的子块,其次将整个图数据的结构抽出使用图压缩索引技术进行压缩,将整个压缩后的图结构常驻内存,最后对每个子块采用图访问优化技术调整存储结构并优化计算速度,可以满足大规模图计算的应用。 本文的上述研究内容和结果不仅在大规模图数据计算技术的理论方面具有一定的参考价值,对于设计实现高性的图计算引擎也具有一定的借鉴意义,所提出的若干关键技术已经得到了实际验证和应用。