短連結生成的演算法
首先短連結有幾個優點,相信大家都瞭解:1、內容需要;2、使用者友好;3、便於管理。
那麼短連結是怎麼實現的呢,其實大概有三個步驟:
1、定義一個URL對映演算法,可以將長的URL對映成短字串;
2、使用一個儲存(資料庫?NoSQL?)來儲存完成的對映;
3、實現自己的URL對映演算法;
這裡面的第三個步驟相對來說比較難,如何將一個比較長的連結生成一個很短的短連結呢,下面有三個辦法:
第一個就是普通實現方法
相信大家以前學習過十進位制和二進位制的互相轉換,或者十進位制和十六進位制的互相轉換,那麼為了更短,我們可以使用62進位制,對於一個數字ID進行轉碼,轉換成一個短字串。
這種做法的缺點是沒有辦法保證所有連結都是固定的位數的長度,而且在高併發的情況下,如何保證能夠快速分發是個問題。
具體實現方法:
文藝實現
演算法描述:使用6個字元來表示短連結,我們使用ASCII字元中的'a'-'z','0'-'5',共計32個字元做為集合。每個字元有32種狀態,六個字元就可以表示32^6(1073741824),那麼如何得到這六個字元,描述如下:
對傳入的長URL進行Md5,得到一個32位的字串,這個字串變化很多,是16的32次方,基本上可以保證唯一性。將這32位分成四份,每一份8個字元,這時機率變成了16的8次方,是4294967296,這個數字碰撞的機率也比較小啦,關鍵是後面的一次處理。我們將這個8位的字元認為是16進位制整數,也就是1*('0x'.$val),然後取0-30位,每5個一組,算出他的整數值,然後對映到我們準備的32個字元中,最後就能夠得到一個6位的短連結地址。
PHP實現如下:
二逼實現
下面這個函式使用了純隨機的方式來生成一個短連結,雖然我們可以通過查詢操作來確保不重複使用短連結,可是... 這樣真的靠譜嗎~~
Technorati 標籤: 短連結,Short Url,對映,雜湊
參考資料:
1、微博短地址原理解析
2、微博短域名原理及作用
3、Yours.org
4、Free PHP URL Shorten script that kicks ass
5、PHP Short Url Algorithm Implementation
6、Implement your own short URL
7、短網址演算法初步彙總
8、Short Url 實現方式
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70016834/viewspace-2887740/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 短連結生成
- 新浪短連結生成 新浪短連結轉化器推薦
- 騰訊短連結url生成介面/騰訊短網址線上生成/新浪微博短連結生成器的分享
- 短連結快速生成方式
- 新浪短連結生成器 最新新浪短網址短連結線上生成器推薦
- 如何批次生成短連結,短連結的使用真的有很多好處嗎?
- 新浪微博API生成短連結API
- 新浪短連結 推薦幾個最新的新浪t.cn短連結生成的API介面API
- 新浪短連結 推薦幾個最新的新浪t.cn短連結生成平臺
- 長連結轉短連結 短連結生成器工具的推薦與使用原理(第一章)
- 線上生成短連結的原因及實現工具
- 最新騰訊短連結url生成API介面API
- 微信域名連結防封短連結是如何生成的,微信域名防封短連結程式碼實現示例
- 網址縮短 短網址連結縮短生成器的試用推薦
- 用 PHP 和 Python 生成短連結服務的字串 IDPHPPython字串
- 企業級短連結生成介面API推薦API
- 短連結生成專案,歡迎各位大佬PR
- 最新生成新浪短連結API介面介紹API
- 短網址連結生成器程式碼示例——新浪短連結api介面php、java、Python呼叫演示APIPHPJavaPython
- 最新生成新浪短連結網址介面介紹
- 短連結演算法實現–加鹽hash演算法
- 「小碼短連結」好用、好看、有統計報表的短連結工具
- 如何利用新浪官方的短網址API介面實現T.cn短連結的壓縮生成API
- t.cn短連結 新浪t.cn短網址線上生成工具推薦
- 如何把一個長連結轉短連結 短連結轉化器該如何使用
- 教你怎麼通過M1.FIT工具生成永久短連結?
- 如何縮短淘寶客連結網址 淘客短網址線上生成教程
- 推薦幾個長連結轉換短連結工具 最新短連結工具平臺推薦
- 2024年好用的短連結短網址工具推薦
- android短視訊開發,點選分享按鈕生成分享連結Android
- 面試官說:你來設計一個短連結生成系統吧面試
- 實現長連結轉化成短連結(新浪T.CN短連結以及騰訊URL.cn短網址)API介面程式碼分享API
- 生成公鑰連結githubGithub
- 短連結系統的設計與實現
- 短連結的一些技術知識
- 短連結到底有什麼用?
- 最新最穩定的騰訊短網址(URL短連結)API介面分享API
- t.cn短網址 新浪短網址連結生成器的技術原理分析推薦第一章(分析篇)