通用唯一标识符(UUID),也称为全局唯一标识符(GUID),已广泛应用于计算机系统中。
它是系统根据变量和常量生成的 128 位代码:当前时间、MAC 地址、SHA-1 哈希值、MD5 命名空间。 生成 UUID 的最终结果显示为由连字符分隔的 32 个字符的字母数字代码,看起来可能是任意的,但实际上它是复杂计算的结果。 因此,计算机并不是“发明”代码,而是根据给定时间相关的特定技术量形成代码。
不同时间在两台不同计算机上生成相同 UUID 的概率趋于零,这使得无需参考协调中心即可使用生成的代码进行点/本地数据识别。 如今,UUID/GUID 在在线和离线网络中无处不在,不仅在全球互联网空间中有效工作,而且在独立计算机系统中也有效工作。
UUID 历史记录
128 位 UUID 代码最早由美国阿波罗计算机公司在 20 世纪 80 年代使用。 它们基于域/操作系统中使用的更简单的 64 位代码,并在开放软件基金会计算环境中得到广泛使用。
随着第一个 Windows 平台的出现,全局唯一标识符得到了通用化和标准化。 微软采用了Apollo Computer的DCE设计,并在RFC 4122中注册了URN命名空间。2005年,后者被IETF提出作为新标准,UUID在ITU内部得到标准化。
2002 年初,在使用 UUID 作为本地数据库中的主键时发现了系统性能问题。 这些问题在版本 4 中通过添加基于计算机系统时间的非随机后缀进行了修复。 所谓的COMB(组合GUID时间标识符)方法增加了代码重复的风险,但同时显着提高了与Microsoft SQL Server一起使用时的性能。
随着IT技术的发展,通用唯一标识符不再是一个高度专业化的技术工具,而是到了今天每个人都可以使用它。 生成的代码的重复概率并不等于零,而是趋于零,任何数字信息都可以被它们识别,之后它们可以组合成单个数据数组,重复风险最小。
UUID 的好处
全球唯一代码的生成器不需要集中的数据协调/同步,并且可供所有用户免费使用。 UUID的主要优点包括:
- 代码“冲突”(重复)的风险极小。 尽管它们被大量使用,但重复的概率趋于零。
- 能够使用 UUID 作为主(唯一)键来连接不同的数据数组。
- 简化数据在多个分散服务器之间的分发。
- 能够离线生成代码。
以 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx 格式编写的唯一识别码允许分散的系统无需来自单个数据中心的协调即可识别信息:错误/重复的概率几乎为零。 这一特性,加上易用性和对计算机性能的低要求,使得 UUID 在各种 IT 行业和自主计算系统中受到需求和不可或缺。