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