Atitit uuid 的概念与实现与最佳实践总结 目录 1. 概念与组成 1 1.1. 在空间(Space)与时间(Time)上的唯一性 1 1.2. UUID 1 1.3. 组成 2 1.3.1

Atitit uuid 的概念与实现与最佳实践总结

目录

1. 概念与组成 1

1.1. 在空间(Space)与时间(Time)上的唯一性 1

1.2. UUID 1

1.3. 组成 2

1.3.1. (OSF标准 以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字 2

1.4. 全球唯一标识符(GUID 2

1.5. 标准化 RFC4122) 2

1.6. Uke标准 2

扫描二维码关注公众号,回复: 1634980 查看本文章

1.7. UUID的版本  UUID具有多个版本,每个版本的算法不同,应用范围也不同v1--v5 3

2. Uke标准 3

2.1. 大力提升可读性 3

2.2. 组成 时间 机器id appid 3

3. 问题prob 3

3.1. 可读性问题 3

3.2. 机器id的生成 4

4. Ref 4

1. 概念与组成

GUIDGlobally Unique Identifier)是UUID的别名;但在实际应用中,GUID通常是指微软实现的UUID

 

1.1. 在空间(Space)与时间(Time)上的唯一性

 

1.2. UUID

编辑 

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

 

 

1.3. 组成

1.3.1. (OSF标准 以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字

编辑 

UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字

UUID由以下几部分的组合:

1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。

2)时钟序列。

3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得

1.4. 全球唯一标识符(GUID)

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

 

1.5. 标准化 RFC4122)

 

1.6. Uke标准

1.7. UUID的版本  UUID具有多个版本,每个版本的算法不同,应用范围也不同v1--v5

首先是一个特例--Nil UUID--通常我们不会用到它,它是由全为0的数字组成,如下: 00000000-0000-0000-0000-000000000000  UUID Version 1:基于时间的UUID 基于时间的UUID通过计算当前时间戳、随机数和机器MAC地址得到。由于在算法中使用了MAC地址,这个版本的UUID可以保证在全球范围的唯一性。但与此同时,使用MAC地址会带来安全性问题,这就是这个版本UUID受到批评的地方。如果应用只是在局域网中使用,也可以使用退化的算法,以IP地址来代替MAC地址--JavaUUID往往是这样实现的(当然也考虑了获取MAC的难度)。  UUID Version 2DCE安全的UUID DCEDistributed Computing Environment)安全的UUID和基于时间的UUID算法相同,但会把时间戳的前4位置换为POSIXUIDGID。这个版本的UUID在实际中较少用到。  UUID Version 3:基于名字的UUIDMD5) 基于名字的UUID通过计算名字和名字空间的MD5散列值得到。这个版本的UUID保证了:相同名字空间中不同名字生成的UUID的唯一性;不同名字空间中的UUID的唯一性;相同名字空间中相同名字的UUID重复生成是相同的。  UUID Version 4:随机UUID 根据随机数,或者伪随机数生成UUID。这种UUID产生重复的概率是可以计算出来的,但随机的东西就像是买彩票:你指望它发财是不可能的,但狗屎运通常会在不经意中到来。  UUID Version 5:基于名字的UUIDSHA1) 和版本3UUID算法类似,只是散列值计算使用SHA1Secure Hash Algorithm 1)算法。  UUID的应用  从UUID的不同版本可以看出, Version 1/2适合应用于分布式计算环境下,具有高度的唯一性; Version 3/5适合于一定范围内名字唯一,且需要或

2. Uke标准

2.1. 大力提升可读性  

2.2. 组成 时间 机器id appid等

可以附加唯一id,随机码等

线程id

3. 问题prob

3.1. 可读性问题

3.2. 机器id的生成

一般是cpu id,主板id,网卡id

有时候也用硬盘id ,内存id

 

4. Ref

Atitit 深入了解UUID含义是通用唯一识别码 (Universally Unique Identifier),

 

深入解析UUID及其应用 - CSDN博客.html

延伸阅读

UUID规范:rfc4122
DCE 1.1中的UUID

身份证这件的uuid   前六位地址码加时间码。。

 

全局唯一ID--UUID介绍、JAVAUUID的使用 - CSDN博客.html

猜你喜欢

转载自blog.csdn.net/attilax/article/details/80697237