如果一个黑名单包含100亿个黑名单网页,每个网页最多占64B,设计一个系统,判断当前的URL是否在这个黑名单当中,要求额外空间不超过30GB,允许误差率为万分之一。那就要用到布隆过滤器了。
布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量(位图)和一系列随机映射函数(哈希函数)。
布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。
江西网友:比我还能吹~
青海网友:做爬虫的时候还是很好用的
云南网友:布隆过滤器,相当优秀的去重算法,在大数据集经常要用到。
山东网友:用途还是很广的,爬虫去重用得到。作为数据库的缓冲也可以。