UUID规范:全球唯一标识符(URI命名空间)

需积分: 10 4 下载量 11 浏览量 更新于2024-08-01 收藏 41KB PDF 举报
"UUID SPEC (Universally Unique IDentifier (UUID) URN Namespace)" 是一份由P. Leach、M. Mealling和R. Salz等人编写的互联网标准草案,旨在详细阐述UUID(全局唯一标识符)的计算方法和格式。UUID是一种128位长的标识符,它在空间和时间上都能保证唯一性。UUID最初在Apollo Network Computing System中使用,随后被应用于Open Software Foundation的DCE(分布式计算环境)以及Microsoft Windows平台。 UUID的全称是Universally Unique Identifier,它是一种广泛用于软件开发和分布式系统中的标识符,可以确保在全球范围内不会重复。UUID由16个字节组成,通常以32个16进制数字的形式表示,例如:`123e4567-e89b-12d3-a456-426655440000`。这个128位的标识符分为五个字段,每个字段有特定的含义和生成规则: 1. **时间低字段**(Time Low):48位,包含从一个特定时间基准开始的计数值,通常以100纳秒为单位。 2. **时间中字段**(Time Mid):16位,进一步扩展时间部分的唯一性。 3. **时间高和版本字段**(Time High and Version):16位,其中高四位定义了UUID的版本号,如0x1表示基于时间的UUID,0x2表示MD5哈希的UUID,0x3和0x4表示SHA-1哈希的UUID,而0x5保留未定义。 4. **节点字段**(Node):48位,通常代表设备的物理地址,如MAC地址,使得在本地网络环境下更易保证唯一性。 5. **变种和顺序字段**(Variant and Clock Sequence):12位,用于区分UUID的变种和顺序,防止同一毫秒内生成多个UUID时出现冲突。 这份规范详细描述了UUID的生成算法,包括基于时间的UUID、基于名称的UUID(使用MD5或SHA-1哈希)、随机UUID和预先定义的UUID。这些算法都确保了UUID的全局唯一性,即使在没有网络连接的情况下也能生成。 UUID的用途非常广泛,例如在数据库中作为主键,确保记录的唯一性;在分布式系统中,它可以作为服务或对象的全局唯一标识;在软件开发中,UUID可以用于临时文件的命名,避免命名冲突。 UUID SPEC文档是理解、生成和使用UUID的重要参考,它为UUID的标准化和互操作性提供了基础。通过遵循这个标准,开发者可以确保他们的系统能够生成和识别符合规格的UUID,从而实现跨平台、跨系统的数据交换和通信。