当前位置:首页 > 经验 >

哈希算法的数学原理(哈希算法通俗易懂)

来源:原点资讯(www.yd166.com)时间:2022-11-18 03:32:48作者:YD166手机阅读>>

如右图所示,B、C、D 是原始节点复制出来的虚拟节点,原本都要访问机器D的用户1、4,分别被映射到了B,D。通过这样的方式,起到了一个服务器均匀分布的作用。

5、几种hash算法的扩展应用

下面介绍几种大家可能不经常遇到的应用,由于篇幅原因,不做深入介绍,只抛砖引玉。

5.1 SimHash

simHash是google用于海量文本去重的一种方法,它是一种局部敏感hash。那什么叫局部敏感呢,假定两个字符串具有一定的相似性,在hash之后,仍然能保持这种相似性,就称之为局部敏感hash。普通的hash是不具有这种属性的。simhash被Google用来在海量文本中去重。

simHash算法的思路大致如下:

  • 将Doc进行关键词抽取(其中包括分词和计算权重),抽取出n个(关键词,权重)对, 即图中的多个(feature, weight)。记为 feature_weight_pairs = [fw1, fw2 … fwn],其中 fwn = (feature_n,weight_n)。

  • 对每个feature_weight_pairs中的feature进行hash。然后对hash_weight_pairs进行位的纵向累加,如果该位是1,则 weight,如果是0,则-weight,最后生成bits_count个数字,大于0标记1,小于0标记0

  • 最后转换成一个64位的字节,判断重复只需要判断他们的特征字的距离是不是<n (n根据经验一般取3),就可以判断两个文档是否相似。

哈希算法的数学原理,哈希算法通俗易懂(13)

如下图所示,当两个文本只有一个字变化时,如果使用普通Hash则会导致两次的结果发生较大改变,而SimHash的局部敏感特性,会导致只有部分数据发生变化。

哈希算法的数学原理,哈希算法通俗易懂(14)

5.2 GeoHash

GeoHash将地球作为为一个二维平面进行递归分解。每个分解后的子块在一定经纬度范围内拥有相同的编码。以下图为例,这个矩形区域内所有的点(经纬度坐标)都共享相同的GeoHash字符串,这样既可以保护隐私(只表示大概区域位置而不是具体的点),又比较容易做缓存。

哈希算法的数学原理,哈希算法通俗易懂(15)

下面以一个例子来理解下这个算法,我们对纬度39.3817进行逼近编码 :

  • 地球纬度区间是[-90,90],对于这个区间进行二分划分左区间[-90,0), 右区间[0,90]。39.3817属于右区间,标记为1

  • 将右区间[0,90]继续进行划分,左区间[0,45) ,右区间[45,90]。39.3817属于左区间,标记为0

  • 递归上面的过程,随着每次迭代,区间[a,b]会不断接近39.3817。递归的次数决定了生成的序列长度。

  • 对于经度做同样的处理。得到的字符串,偶数位放经度,奇数位放纬度,把2串编码组合生成新串。对于新串转成对应10进制查出实际的base32编码就是类似WX4ER的hash值。

整体递归过程如下表所示:

哈希算法的数学原理,哈希算法通俗易懂(16)

栏目热文

哈希算法最简单的解释(最简单的哈希算法)

哈希算法最简单的解释(最简单的哈希算法)

什么是Hash算法Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-...

2022-11-18 03:32:23查看全文 >>

哈希算法详解图解(哈希算法最简单的解释)

哈希算法详解图解(哈希算法最简单的解释)

要了解一致性哈希,首先我们必须了解传统的哈希及其在大规模分布式系统中的局限性。简单地说,哈希就是一个键值对存储,在给定键...

2022-11-18 03:12:16查看全文 >>

小红帽安妮绝版了吗(小红帽安妮皮肤现在还能不能买)

小红帽安妮绝版了吗(小红帽安妮皮肤现在还能不能买)

很久没发手游的内容了,刚好7月16日正式公测,这次更新的内容大概看了一眼还是挺有意思的。我这里写的内容还是以活动和福利为...

2022-11-18 03:35:51查看全文 >>

安妮十周年皮肤好不好(安妮十周年皮肤价格)

安妮十周年皮肤好不好(安妮十周年皮肤价格)

小伙伴们大家好,我是小数点。正所谓不鸣则已一鸣惊人,当大家还在惊讶于LOL这游戏走到十周年这个坎怎么还没啥动静的时候,1...

2022-11-18 03:23:19查看全文 >>

十周年安妮皮肤稀有吗(安妮十周年皮肤错过了)

十周年安妮皮肤稀有吗(安妮十周年皮肤错过了)

​LOL十周年最强福利并不是第11天领的10周年限定安妮皮肤,而是第十天领的随机传说皮肤,为什么这么说?十周年限定安妮皮...

2022-11-18 03:37:53查看全文 >>

哈希值怎么计算(哈希值是什么怎么查询)

哈希值怎么计算(哈希值是什么怎么查询)

我们在谈到区块链的时候,经常会听到关于哈希、哈希值、哈希算法这些词。很多人都认为哈希就是区块链上的安全保障,但是严格来说...

2022-11-18 03:24:05查看全文 >>

哈希算法简单举例(哈希算法最简单的解释)

哈希算法简单举例(哈希算法最简单的解释)

文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定。可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一...

2022-11-18 03:00:48查看全文 >>

哈希算法最终结果(哈希算法的真实案例)

哈希算法最终结果(哈希算法的真实案例)

哈希算法一直是索引中最为经典的方法,它们能高效地储存与检索数据。但在去年 12 月,Jeff Dean 与 MIT 等研...

2022-11-18 02:56:45查看全文 >>

哈希算法图解大全(最简单的哈希算法)

哈希算法图解大全(最简单的哈希算法)

摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先...

2022-11-18 02:53:44查看全文 >>

最简单的哈希算法(哈希算法通俗易懂)

最简单的哈希算法(哈希算法通俗易懂)

作者:小傅哥 博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!一、前言哈希表的历...

2022-11-18 03:08:01查看全文 >>

文档排行