论文部分内容阅读
随着互联网信息大爆炸时代的来临,人们可以从互联网上获取的信息也越来越多。搜索引擎的诞生解决了在海量互联网网页中检索特定信息的难题。然而随着时间的推移,旧的网页在消失,新的网页在诞生,许多机构和学者开始关注历史网页的存储和备份问题。北京大学的Webinfomall就是一个历史网页的收集和存储的系统,已经存储了从2001年至今的中国互联网上近30亿网页。
不难想象,定期对整个中国的互联网网页进行保存和备份的代价是不小的。从存储代价上来看,存储这些几十亿量级的网页就需要大量的磁盘,如果再加上数据备份的话,所需要的磁盘数量之大可想而知。因此,有效的对现有的网页进行压缩和存储显得十分有必要。
互联网上许多的网页相互间存在着大量的重复内容。在同一站点的多个网页之间,网页模板部分是它们之间重复的内容;在不同的站点之间,一些网页存在着与之重复(Duplicate)或相似的网页(Near Duplicate),网页正文部分是它们之间重复的内容。如果能够利用这个特点将网页之间的重复部分进行充分的压缩,将会有效的减少整个存储空间的代价。
本文对上述的问题和现象进行了深入的研究,力图找到海量历史网页系统中,利用网页的内容的相似性来进行网页的差值存储的办法。
本文的贡献有如下几个方面:
●调研并分析了可用于海量历史网页存储压缩的技术。经过调研发现:基于LCS(longest common subsequence)的方法是一种潜在的网页压缩技术,然而长期以来,LCS的计算被认为是非常耗时的,而没有应用到网页的存储压缩。
●设计实现了一种基于diff算法的网页存储压缩方法。针对LCS计算性能不好这一最主要的问题,采用了两种对网页预先过滤的方法,来计算近似的LCS值。实验表明显著提高了LCS的计算速度。此外,提出了两种不同的diff粒度,即行的粒度和单词的粒度。行粒度运算快但压缩率较低,单词粒度则相反。本文针对单词粒度提出了的滑动窗口的优化策略,极大提高了单词粒度的性能。实验表明,两种粒度都可以作为海量网页压缩的可选粒度。
●进一步提出了一种基于模板聚类的压缩方法,将网页分割模板和正文分别压缩存储。在Web Infomall的实际网页集中验证表明,方法获得了较好的压缩效果。
●在上述研究成果的基础上,对Webinfomall在2006年1月份的2000万网页设计了Diff压缩计算流程。压缩一共花费了4天时间,Diff压缩后网页大小为原来的29%,压缩比达到71%。