UUID

一.含义

UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的重要部分。

二.作用

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进行转换。

四.应用

使用UUID的好处在分布式的软件系统中(比如:DCE/RPC, COM+,CORBA)就能体现出来,它能保证每个节点所生成的标识都不会重复,并且随着WEB服务等整合技术的发展,UUID的优势将更加明显。根据使用的特定机制,UUID不仅需要保证是彼此不相同的,或者最少也是与公元3400年之前其他任何生成的通用唯一标识符有非常大的区别。UUID最少在3000+年内不会重复。

通用唯一标识符还可以用来指向大多数的可能的物体。微软和其他一些软件公司都倾向使用全球唯一标识符(GUID),这也是通用唯一标识符的一种类型,可用来指向组建对象模块对象和其他的软件组件。第一个通用唯一标识符是在网络计算机系统(NCS)中创建,并且随后成为开放软件基金会(OSF)的分布式计算环境的组件。

五.代码

UUID uuid = UUID.randomUUID();

原文发布于微信公众号 - Java后端生活(javaNotebook)

原文发表时间:2017-08-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SAP最佳业务实践

SAP最佳业务实践:半成品的计划与处理(234)-5成品销售发货

image.png VA02客户订单中的可用性检查和装运地点更改 此操作介绍一种如何在交货之前检查物料可用性的可能性。 客户库存中必须存在已交付的物料。 角色销...

2814
来自专栏数据和云

案发现场:被注入的软件及 ORA-600 16703 灾难的恢复

最近帮助一个客户恢复数据库,遇到了如下这个问题。让我们再一次惊醒于数据安全,如果不做好防范,问题总是会来得猝不及防。

1193
来自专栏GopherCoder

专栏:008:MySQLdb及其银行模拟转账

1524
来自专栏SAP最佳业务实践

SAP最佳业务实践:SD–客户寄售(119)-2寄售补货

一、VA01寄售补货订单 寄售补货不完全代表实际向客户销售货物。但是,订单输入使用的机制与标准订单输入相同。例如,当输入订单时,系统将对物料执行可用性检查并自动...

3325
来自专栏SAP最佳业务实践

SAP最佳业务实践:SD–带质量管理的销售退货(237)-3退货及收货

一、VA01创建退货订单 在此活动中创建退货订单。 根据 按计划协议的销售 (231),您必须具有参考开票凭证。 角色销售助理 后勤 -销售和分销 -销售 -...

3254
来自专栏SAP最佳业务实践

SAP最佳业务实践:含变式配置按订单生产(147)-4销售发货

1、VL10I交货到期清单 在此活动中,创建交货到期清单。 1. 在 销售和采购订单项目计划行 屏幕上,输入适当变式(如果已经创建),或输入以下信息。 字段名称...

3225
来自专栏黑白安全

SQL(结构化查询语言)注入

SQL注入(也称为SQLI)是一种常见的攻击媒介,它使用恶意SQL代码用于后端数据库操作,以访问不打算显示的信息。此信息可能包括任何数量的项目,包括敏感的公司数...

812
来自专栏MongoDB中文社区

MongoDB 新功能介绍-Change Streams

MongoDB 3.6已经GA有一段时间,网络上对于该版本新特性的详细介绍文章比较少为此借机会对部分新特性做一个相对详细的介绍。基于早期MongoDB版本实现如...

1062
来自专栏SAP最佳业务实践

SAP最佳业务实践:SD–可退回包装物销售(120)-3销售订单及发货

一、 VA01输入销售订单 在此活动中,可以为客户和标准产品创建销售订单。 1. 在 创建销售订单:初始 屏幕上,进行以下输入: 字段名称用户操作和值注释订单类...

3256
来自专栏SAP最佳业务实践

SAP最佳业务实践:SD–外贸出口处理(118)-2付款保证

一、VX11N付款保证 在此活动中,你创建一份从客户开户行获得的信用证。 后勤 ®销售和分销 ®外贸/关税®付款保证 ®凭证的付款®财务凭证 ®创建 1. 在...

34911

扫码关注云+社区