linux 的uuid碼

在提到這個以前,有個概念,就是什麼是uuid呢?linux

UUID碼全稱是通用惟一識別碼 (Universally Unique Identifier, UUID),它 是一個軟件建構的標準,亦爲自由軟件基金會 (Open Software Foundation, OSF) 的組織在分佈式計算環境 (Distributed Computing Environment, DCE) 領域的一部份。shell

 

UUID 的目的,是讓分佈式系統中的全部元素,都能有惟一的辨識信息,而不須要經過中央控制端來作辨識信息的指定。如此一來,每一個人均可以建立不與其它人衝突的 UUID。在這樣的狀況下,就不需考慮數據庫建立時的名稱重複問題。它會讓網絡任何一臺計算機所生成的uuid碼,都是互聯網整個服務器網絡中惟一的。它的原信息會加入硬件,時間,機器當前運行信息等等。數據庫

UUID格式是:包含32個16進位數字,以「-」鏈接號分爲五段,形式爲8-4-4-4-12的32個字符。範例;550e8400-e29b-41d4-a716-446655440000 ,因此:UUID理論上的總數爲216 x 8=2128,約等於3.4 x 1038。 也就是說若每奈秒產生1兆個UUID,要花100億年纔會將全部UUID用完。windows

其實,你們作數據庫設計時候,確定據說過,guid(全局惟一標識符)碼,它實際上是與uuid相似,由微軟支持。 這裏編碼,基本有操做系統內核產生。你們記得把,在windows裏面,不管數據庫,仍是其它軟件,很容易獲得這個uuid編碼。centos

 

linux 的uuid碼服務器

linux的uuid碼也是有內核提供的,在/proc/sys/kernel/random/uuid這個文件內。其實,random目錄,裏面還有不少其它文件,都與生成uuid有關係的。網絡

[chengmo@centos5 ~/shell]$ cat /proc/sys/kernel/random/uuid
dff68213-b700-4947-87b1-d9e640334196
[chengmo@centos5 ~/shell]$ cat /proc/sys/kernel/random/uuid
7b57209a-d285-4fd0-88b4-9d3162d2e1bc
#連續2次讀取,獲得的uuid是不一樣的

[chengmo@centos5 ~/shell]$ cat /proc/sys/kernel/random/uuid| cksum | cut -f1 -d" "
2141807556
#同上方法獲得隨機整數dom

相關文章
相關標籤/搜索