UUID含義是通用唯一識别碼 (Universally Unique Identifier),這 是一個軟體建構的标準,也是被開源軟體基金會 (Open Software Foundation, OSF) 的組織應用在分布式計算環境 (Distributed Computing Environment, DCE) 領域的一部分。
<dl></dl>
<dt>中文名</dt>
<dd>通用唯一識别碼</dd>
<dt>外文名</dt>
<dd>Universally Unique Identifier</dd>
<dt>簡 稱</dt>
<dd>UUID</dd>
<dt>類 别</dt>
<dd>識别碼</dd>
<dt>應 用</dt>
<dd>分布式計算環境</dd>
1 作用
2 組成
3 應用
編輯
UUID 的目的,是讓分布式系統中的所有元素,都能有唯一的辨識資訊,而不需要透過中央控制端來做辨識資訊的指定。如此一來,每個人都可以建立不與其它人沖突的 UUID。在這樣的情況下,就不需考慮資料庫建立時的名稱重複問題。目前最廣泛應用的 UUID,即是微軟的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的應用,則有 Linux ext2/ext3 檔案系統、LUKS 加密分割區、GNOME、KDE、Mac OS X 等等。
UUID是指在一台機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。通常平台會提供生成的API。按照開放軟體基金會(OSF)制定的标準計算,用到了以太網卡位址、納秒級時間、晶片ID碼和許多可能的數字
UUID由以下幾部分的組合:
(1)目前日期和時間,UUID的第一個部分與時間有關,如果你在生成一個UUID之後,過幾秒又生成一個UUID,則第一個部分不同,其餘相同。
(2)時鐘序列。
(3)全局唯一的IEEE機器識别号,如果有網卡,從網卡MAC位址獲得,沒有網卡以其他方式獲得。
UUID的唯一缺陷在于生成的結果串會比較長。關于UUID這個标準使用最普遍的是微軟的GUID(Globals Unique Identifiers)。在ColdFusion中可以用CreateUUID()函數很簡單地生成UUID,其格式為:xxxxxxxx-xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每個 x 是 0-9 或 a-f 範圍内的一個十六進制的數字。而标準的UUID格式為:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12),可以從cflib 下載下傳CreateGUID() UDF進行轉換。
golang UUID Generation: github.com/satori/go.uuid