论文部分内容阅读
海量URL的管理一直是提高网络爬虫性能的一个瓶颈。现在,网络规模越来越大,更新速度也变得越来越快,这些都促使网络爬虫系统来提高其性能。所以如何高效地管理网络爬虫的海量URL,使之能够满足网络爬虫高性能的要求,也就显得越来越重要了。为了能够解决网络爬虫海量URL的高效管理问题,本文从工程的角度,提出这样一个解决方案。它包括一个基于NC-Trie的索引结构、一个面向NC-Trie的缓存机制和一个基于计算机指令流水思想的任务处理体系结构。首先,根据网络爬虫所要管理的URL都是字符串这一特点,本文选取计算机界公认的处理字符串信息最为高效的结构——Tire结构,来作为网络爬虫海量URL管理的索引结构。但是,Trie结构在高效处理字符串的同时,也存在很多缺点。对存储空间的浪费就是Tire结构的最大缺点。因此针对网络爬虫系统海量URL管理的特点,在原有的Trie结构压缩方法的基础上,本文提出一个改进的Trie压缩结构——NC-Trie。NC-Trie比原有的C-Trie具有更高的压缩率,同时也保持了Trie结构高速访问的优点。其次,由于网络爬虫要管理的URL数量巨大,必须借助外存才能更好地实现高效管理。因此,必须对索引结构进行必要的缓存。针对爬虫系统对URL管理的特点,对于海量URL的索引的缓存,本文将采用最近最少用的替换策略,并采用一个转换后的实现算法,来实施缓存的更新。再者,根据网络爬虫对URL访问的特点,本文使用计算机指令流水的基本思想,对网络爬虫对URL的各种操作进行细分,然后重新进行统筹组合,使之具有更高的并发度,以满足现代计算机的检索计算要求。最后,本文将设计和实现一个面向网络爬虫的URL管理系统。这个系统将包含如下模块:预处理模块、NC-Trie缓存管理模块、记录结构解析模块和硬盘缓存访问管理模块等。该系统的实现,为将来相关算法和实验的研究提供了一个基础平台。