來源于:http://www.etc.edu.cn/blog/weiwei/archives/005057.html
十萬個為什么之什么是UUDI?
通用惟一標識符(UUID)是128位比特的數(shù)字,用來惟一地標識因特網(wǎng)上的某些對象或者實體。根據(jù)使用的特定機制,通用惟一標識符不僅需要保證是彼此不相同的,或者最少也是與公元3400年之前其他任何生成的通用惟一標識符有非常大的區(qū)別。通用惟一標識符依靠保證惟一性的部分的組合。有保證的通用惟一標識符包括一個指向生成通用惟一標識符的主機的網(wǎng)絡(luò)地址,時間戳(用來記錄事務(wù)的精確時間的記錄),以及一個隨機生成的組件。因為網(wǎng)絡(luò)地址標識了惟一的一臺計算機,并且時間戳對于某臺主機上的生成的每個通用惟一標識符也是惟一的,那么這兩個部分就完全可以保證惟一性了。然而,隨機生成的通用惟一標識符的元素也可以作為保護措施來防止所有的不可預(yù)見的問題。
通用惟一標識符是作為tModel 數(shù)據(jù)結(jié)構(gòu)中的一部分,這種數(shù)據(jù)結(jié)構(gòu)標識通用描述、發(fā)現(xiàn),和整合(UDDI)注冊中的一種服務(wù)的類型(注冊服務(wù)的通用表示法)。這種機制可用來發(fā)現(xiàn)網(wǎng)絡(luò)服務(wù)。
通用惟一標識符還可以用來指向大多數(shù)的可能的物體。微軟和其他一些軟件公司都傾向使用全球惟一標識符(GUID),這也是通用惟一標識符的一種類型,可用來指向組建對象模塊對象和其他的軟件組件。第一個通用惟一標識符是在網(wǎng)羅計算機系統(tǒng)(NCS)中創(chuàng)建,并且隨后成為開放軟件基金會(OSF)的分布式計算環(huán)境(DCE)的組件。
××××××××××××××××××××××××××
UUID是指在一臺機器上生成的數(shù)字,它保證對在同一時空中的所有機器都是唯一的。通常平臺會提供生成UUID的API。UUID按照開放軟件基金會 (OSF)制定的標準計算,用到了以太網(wǎng)卡地址、納秒級時間、芯片ID碼和許多可能的數(shù)字。由以下幾部分的組合:當(dāng)前日期和時間(UUID的第一個部分與時間有關(guān),如果你在生成一個UUID之后,過幾秒又生成一個UUID,則第一個部分不同,其余相同),時鐘序列,全局唯一的IEEE機器識別號(如果有網(wǎng)卡,從網(wǎng)卡獲得,沒有網(wǎng)卡以其他方式獲得),UUID的唯一缺陷在于生成的結(jié)果串會比較長。關(guān)于UUID這個標準使用最普遍的是微軟的GUID (Globals Unique Identifiers)。
在ColdFusion中可以用CreateUUID()函數(shù)很簡單的生成 UUID,其格式為:xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每個 x 是 0-9 或 a-f 范圍內(nèi)的一個十六進制的數(shù)字。而標準的UUID格式為:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)
,可以從cflib 下載CreateGUID() UDF進行轉(zhuǎn)換。
使用UUID的好處在分布式的軟件系統(tǒng)中(比如:DCE/RPC, COM+,CORBA)就能體現(xiàn)出來,它能保證每個節(jié)點所生成的標識都不會重復(fù),并且隨著WEB服務(wù)等整合技術(shù)的發(fā)展,UUID的優(yōu)勢將更加明顯。
關(guān)于UUID的更多信息可以多google 一下。
PS:在MMColdFusion技術(shù)支持中心找到一篇文章,其中提到使用CreateUUID()會將WIN平臺下的系統(tǒng)時間加快10毫秒,原因是JVM1.3.x 和1.4.x的bug,文章提到了解決方法。