当前位置:首页 > 短网址资讯

关于短网址算法的讨论和分析

www.ft12.com9年前 (2017-06-12)短网址资讯1506

今天小编无意中在互联网上看到了关于短网址一些算法,非常新奇,和已有的算法有很大的区别:

  1)将长网址md5生成32位签名串,分为4段, 每段8个字节;
  2)对这四段循环处理, 取8个字节, 将他当作16进制串与0x3fffffff(30位1)与操作, 即超越30位的忽略处理;
  3)这30位分成6段, 每5位的数字作为字母表的索引获得特定字符, 顺次进行获得6位字符串;
  4)总的md5串可以获得4个6位串; 取里边的恣意一个就可作为这个长url的短url地址;

完成的版别也许多 ,可是我不明白为何要这么完成,为何要超过30位要疏忽,为啥要生成四个串? 假如生计四个串的话,直接把md5分成4段然后做base62转换不可么?

网上的这些文章都是互相抄来抄去的,这篇文章我看了不下10次了, 这种办法乃至还不如crc32生成一个数字,然后经过62进制变换生成短字符串。

生成短途径一般有2种办法,
1.彻底根据紧缩算法完成,这么的优点是不必数据库,直接紧缩解压即可,可是形似不好完成。
2.根据数据库存储完成。

你列举的即是第二种,这种办法本来生成的字符串根本就无需这么麻烦的生成方法,咱们只需要3个字段即可, 仅有ID,url,md5

咱们只需要知道仅有ID就能够知道这个原地址是什么,咱们刺进的时分,先判别md5存在不,存在就直接回来仅有ID,不存在就刺进,然后回来仅有ID。

仅有ID的生成,假如数据量不大,能够选用mysql的自增,可是一般这种情况下是不会选用mysql的, 所以能够选用时刻戳(看情况是不是按毫秒)+随机码。然后把这个数字变换成62进制即可,缺乏位的能够在前面补0.

首要短网址生成是由于在微博等短文本使用中,长的地址占用空间太大,所以需求短网址服务商将长网址和短链接进行映射,楼主说的base62 即是转换为62进制的数字。62是[a-zA-Z0-9]的数量。
楼主说的位和字节感受概念有紊乱,我了解的是这么的
md5 -> 长度为32的16进制数,比如 a32f232a0ba32f232a0ba32f232a0b11, 然后把这个[1-8][9-16][17-24][25-32],分成了4段,每段有8位16进制的数,一个16进制相当于4位的二进制[1111] = 15 = F, 所以每段相当于32位的二进制,然后取了后30位,后30位平分为6段,每段长度为5bit,相当于有32个数,所以那个映射表估量是[a-z0-5],当然也能够均匀分为5段,每段长度为6bit,这么就有64个,能够[a-zA-Z0-9] 再加两个其它字符(所以这时应当了解为啥要每段5bit了)。
之前不是分为了4段吗, 所以最终长度即是4了。

直接md5 分四段 在base62也能够啊, 就看你映射函数怎样写了,怎么从 每段的 2^32个数 映射到 62个中的一个


扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_196.html

分享给朋友:

相关文章

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址资讯:架构师非常关注性能问题,上篇文章中我们介绍了京东的自动化压测体系 ForceBot,这篇文章来自 LinkedIn 的技术博客,介绍如何通过大数据算法来分析调用数据,自动定位性能瓶颈。本文由高可用架构翻译。背景我们 FT…

连内衣店、按摩馆都被大量直播 画面让人心惊

连内衣店、按摩馆都被大量直播 画面让人心惊

近日,网络上出现多地学校教室、宿舍的直播画面,画面中人物的举动都较为清晰,且包含声音,一些当事人对直播并不知情。不仅是学校,一些直播的镜头还对准了游泳池、盲人按摩馆、酒店大堂、内衣店... 直播随意看:学校、游泳池、盲人按摩馆、酒店大…

收个快递也能中500万?顺丰到底为何要涉足彩票

收个快递也能中500万?顺丰到底为何要涉足彩票

现在的人,越来越懒了。 懒得自己做饭,成就了外卖订餐平台美团和饿了么。 懒得自己去商店买东西,成就了网购平台淘宝、天猫、京东,当然还包括一大批提供服务的快递公司。 而如今,快递公司顺丰还打算让人懒得去线下体彩店买彩票,选择联手国家体彩…

如何才能让网络爬虫抓取短链接?

网络爬虫(又被称爲网页蜘蛛,网络机器人),是一种依照一定的规则、自动的抓取万维网信息的顺序或许脚本。通常它爲搜索引擎从万维网上下载网页,是搜索引擎的重要组成局部。抓取战略链接的抓取战略可以分爲深度优先、广度优先和最佳优先三种。1、深度化先捜…

否认全盘接手,百度外卖或与顺丰成立合资公司

否认全盘接手,百度外卖或与顺丰成立合资公司

[ 亿欧导读 ] 现在顺丰控股收购baidu外卖的方向是,双方将按照5:5的出资份额,一起出资经过建立合资公司来运营,不过一切都未确定,还存在变数。一位接近交易的人士表示:“之所以不会全盘接手baidu外卖,主要是因为顺丰以为全资…

勒索病毒“永恒之蓝”大爆发

勒索病毒“永恒之蓝”大爆发

2017年5月12日20时左右,新型“蠕虫”式勒索病毒“WannaCry”爆发。截至目前,该病毒已经席卷包括中国、美国、俄罗斯及欧洲在内的100多个国家。我国部分高校内网、大型企业内网和政府机构专网遭受攻击,被感染的组织和机构已经覆盖了几乎…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。