400-685-0732

信息指纹

信息指纹

rude 暂无评论
SEO名词解释

不卖关子,本篇就是来介绍信息指纹是个神马玩意儿的。

先来看看度娘的解释:就是提取一个信息的特征,通常是一组词或者一组词+权重,然后根据这组词调用特别的算法,例如MD5,将之转化为一组代码,这组代码就成为标识这个信息的指纹。

好吧,看到这个高大上的解释,亲们看明白没?没明白的话哥先给你讲个故事。

这个小故事在上一篇介绍数学之美这本书的文章中提到过,说的是虔诚的犹太人在抄写圣经时,为了避免出错,会给每一行中每个文字表上一个数字,然后算出这一行的数字之和,然后算出整页的数字之和进行对比,如果数字有差池,即为抄写错误,通过此方法,也可以很快的找到有误错误以及错误出现在哪里。

信息指纹,从根本上来说,与这个是一个道理。

指纹

 

 

 

 

 

 

下面我们来对比着展开详细说一下。

将视线拉回搜索引擎原理这一篇文章,在抓取阶段,蜘蛛为了避免重复抓取,会建立起一张哈希表将抓取过的url进行存储。我们先来假定直接存储网址,互联网上有5000亿个网页,假定在哈希表中存储了4000亿个网址(拿一个网址作为100个字符来算),则需要大概40TB的空间大小,还有另外一个不得不考虑的问题,那就是哈希表的存储效率只有50%,再来继续计算,我们需要80TB的空间大小,假定一个服务器有100GB,那么我们需要将会需要800台服务器来存储这个该死的哈希表(这还仅仅是一张用来对比的表),果断的不算不知道,一算吓一跳的节奏啊。

显然,这种方法不可取,只能想别的办法。这个办法需要达到的目的是在保证正常对比的情况下降低存储成本。

思考一下,你会怎么办?

好吧,来看下们是怎么搞定的。

将url首先转化成一串数字(很好办,url本身就是以整数的方式存储在电脑上的),设定一个函数y=f(x),通过这个函数,可以将这串数字转化为一个独特的且占位要比100个字符少很多的y。如果函数给力,则可以保证每个url只对应一个唯一的y。

这时的这个y,就是这串url的信息指纹。

为了让大家理解的更透彻一点,给这个函数一个最最简单的实体,那就是取x的平方,然后得到的数字去掉第一个和最后一个数字,就可以当成是一个简单的指纹。(想要更严谨点的还是看MD5)

之所以称信息的这个特征为指纹,是因为信息指纹和指纹有一个共通的地方,每个信息的指纹是唯一的,每个人的指纹也是唯一的;当然,信息指纹和指纹也有一个根本的差别,那就是通过指纹可以判定这个人是谁,通过信息指纹却不能知道它是哪个信息的指纹(有点拗口)。

好了,有了信息指纹,哈希表上的url比对方便了很多。当然,如果你认为只是这样,那你就错了,他同样可以用来鉴别两篇文章是否是相同的。

看过TF-IDF算法的都知道,在一篇文章中IDF大的词为这篇文章的主题词。取两篇文章,提取出这些词,然后计算这些词对应的指纹进行对比即可。

除此之外,信息指纹在数据加密上也有很好的用途,有兴趣的童鞋可以深入了解下,这里就不再详说了。

 
文军二维码

发表评论

今日说说

    问:做什么事情会让你成就感爆棚?

    答:做让你感觉心理畏惧的事情,做完之后你会发现,去TMD,不过如此。

站内搜索