--注--
本文仅做研究交流用,非工业化标准,各位大神不喜勿喷哈
--引言--
爬虫系统在面对海量网页数据时,会因为DNS解析以及URL去重而消耗大量的时间,为了更好的改进爬虫的效率,让爬虫在大数据处理时依然拥有良好的性能,我打算使用哈希链表缓存DNS,效率提升2.5~3倍,再将MD5双发以及树结合设计出一种基于MD5的url去重树,理论上使得url去重的空间复杂度相对于普通哈希表缩小60倍,而且让其查重的时间复杂度接近于O(1)。
关于DNS解析,实际项目中,我们是用redis来缓存的,在此不做赘述,我们主要来说下URL去重的问题:
--开始--
互联网上的链接多达几十亿甚至上百亿,而其中有许多url的长度为上百个字符,更有甚者可以达上千个字符。假如爬虫已经抓取了50亿的网页,而每个url平均所占字符为64b,那么存储这些url所