论文部分内容阅读
Web Graph是互联网上网页之间的一个宏观抽象,其节点是互联网上的网页,有向边为节点之间的超链接。由于互联网上网页数量庞大,因此存储Web Graph时,需要占用大量的空间,而且在Web Graph上进行某些相关计算时,有限的内存严重限制了算法的效率,这些都导致Web Graph的压缩成为了近几年研究的热点问题之一。本文通过研究Web Graph的几个特性,分析了网页链接之间存在的大量冗余,并且根据这些特性设计了一套压缩Web Graph的完整方案,该方案可以通过设置不同的参数在压缩效果和随机访问时间之间根据需求进行权衡。为了提高压缩效果,该方案提出了很多压缩Web Graph的新思想以及算法,例如QR编码以及Run-Length&QR编码等,并且成功将哈夫曼编码的辅助数据文件控制在很小的范围内。通过对Web Graph进行解压缩以及查询过程的分析,根据查询节点过程中存在的参考链过长的问题,给出了参考链的整形与优化算法,显著的减少了查询节点的时间;根据解压缩过程中存在的局部性原理,给出了Cache加速算法,也明显的加快了解压缩Web Graph的速度。本文使用了几组知名的Web Graph数据进行了压缩效果以及随机访问时间的测试,都能达到比较理想的效果,压缩后平均每条边占用1.7bit左右,对于某些数据甚至能够达到1.1bit。通过设置相近的参数,本文将本方案与BV算法进行了某些比较,结果显示本方案在压缩效果上都略优于BV算法,但在对节点进行随机访问的时间上却略长于BV算法。