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

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. 概念与组成

GUID(Globally 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地址--Java的UUID往往是这样实现的(当然也考虑了获取MAC的难度)。  UUID Version 2:DCE安全的UUID DCE(Distributed Computing Environment)安全的UUID和基于时间的UUID算法相同,但会把时间戳的前4位置换为POSIX的UID或GID。这个版本的UUID在实际中较少用到。  UUID Version 3:基于名字的UUID(MD5) 基于名字的UUID通过计算名字和名字空间的MD5散列值得到。这个版本的UUID保证了:相同名字空间中不同名字生成的UUID的唯一性;不同名字空间中的UUID的唯一性;相同名字空间中相同名字的UUID重复生成是相同的。  UUID Version 4:随机UUID 根据随机数,或者伪随机数生成UUID。这种UUID产生重复的概率是可以计算出来的,但随机的东西就像是买彩票:你指望它发财是不可能的,但狗屎运通常会在不经意中到来。  UUID Version 5:基于名字的UUID(SHA1) 和版本3的UUID算法类似,只是散列值计算使用SHA1(Secure 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介绍、JAVA中UUID的使用 - CSDN博客.html

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

  1. 数据治理的概念、难点和最佳实践方法

    从信息化到数字化,我们见证了互联网对社会和个人的深刻影响.随着新技术.新理念的不断推出,数字化转型则在这两年强势兴起,逐渐改变着企业和市场的格局.而数据正驱动业务转型.组织变革.企业由信息化向数字化转 ...

  2. [翻译] DSL和模型驱动开发的最佳实践(3/4)

      哪个是最佳选择       有两种风格的语言设计:一种主张大语言,用一个类支持许多不同的领域概念.另外一种主张小语言,使用一些小但是强大的原始的特征,大一些的特征由库的方式组装构建.      在 ...

  3. 彼之蜜糖,吾之砒霜——聊聊软件开发中的最佳实践

    作者:sherrywasp https://www.cnblogs.com/sherrywasp/p/9436623.html "描述一个事物,唯有一个名词定义它的概念,唯有一个动词揭露它的 ...

  4. in 用不用索引_MySQL 索引最佳实践之问题反馈

    我之前发布的 PPT -- <MySQL 索引最佳实践>中,有很多人提了很多问题,我没有时间一一回答,于是我决定把这些问题集中在一起进行回答. 问:我们团队中的一人想要使用 bigint ...

  5. 分布式 PostgreSQL 集群(Citus),分布式表中的分布列选择最佳实践

    确定应用程序类型 在 Citus 集群上运行高效查询要求数据在机器之间正确分布.这因应用程序类型及其查询模式而异. 大致上有两种应用程序在 Citus 上运行良好.数据建模的第一步是确定哪些应用程序类 ...

  6. 汝之蜜糖,吾之砒霜— 聊聊软件开发中的最佳实践

    文章来源:https://www.cnblogs.com/sherrywasp/p/9436623.html 作者:sherrywasp "描述一个事物,唯有一个名词定义它的概念,唯有一个动 ...

  7. 软件开发:最佳实践 != 过度设计

    点击上方"全球Java架构师集中营",选择"设为星标" 技术文章第一时间送达! 作者:sherrywasp  来源:http://1t.click/YVy 先讲 ...

  8. [转]在 Azure 云服务上设计大规模服务的最佳实践

    本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library ...

  9. 将 DTS 用于业务智能解决方案的最佳实践

    摘自:http://www.microsoft.com/china/MSDN/library/archives/library/dnSQL2k/html/SQL_busintbpwithDTS.asp ...

  10. 基于AWS的云服务架构最佳实践

    近年来,对于打造高度可扩展的应用程序,软件架构师们挖掘了若干相关理念,并以最佳实践的方式加以实施.在今天的"信息时代",这些理念更加适用于不断增长的数据集,不可预知的流量模式,以及 ...

最新文章

  1. 顽强的病毒,如何处理
  2. C++ string流
  3. mysql /tmp目录爆满问题的处理
  4. 趣学python3(26)-pygame-蛇身运动
  5. docker 4 section
  6. 费纸箱手工制作机器人_环保手工:怎么把纸箱废物利用制作立体小猫(步骤图解)...
  7. 【网络技术题库整理1】局域网技术基础及应用
  8. 如何用UE4制作2D游戏文档(五)——战斗篇
  9. 菜鸟也疯狂,易语言自绘控件__按钮篇,用所有者自绘方式实现
  10. 用html写QQ邮箱注册页面,制作简易QQ邮箱登录页面
  11. 英国正在大举进军AI,看懂其三大投资走向
  12. 菜鸟阿鑫对于一堆数组的总结以及理解
  13. swiper鼠标经过切换对应轮播图
  14. 解决域名在部分网络上打不开问题
  15. 分式化简结果要求_分式约分的结果是()
  16. 手机文件管理android可以删除吗,手机上什么文件可以删除?答案都在这里了
  17. centOS 8 重启网络服务 / 重启网卡
  18. 无法启动此程序因为计算机丢失gdiplus,处理系统提示无法启动此程序,因为计算机中丢失gdiplus.dll的方法...
  19. 百度网盘突然大调整,网友:我 2T 的老师没地方放了...
  20. 一个优质的项目应该具有什么特点

热门文章

  1. 举例计算机的发展状况,计算机的发展过程教学设计.doc
  2. java创建容器对象的类是什么_spring容器创建bean对象的方式
  3. php中strrpos函数的返回值类型是型_PHP字符串处理的一些常用函数 - strrpos
  4. 编译安装mysql 不动了_编译安装MySQL5.6失败的相关问题解决方案
  5. linux内核多个补丁,一个令人惊叹的Linux内核补丁
  6. css img 适配尺寸_一次解决你的图像尺寸和定位问题
  7. oracle 安装包_【Oracle监控】-Spotlight On Oracle安装和使用
  8. acm之奇葩数据输入专题
  9. php 基于redis计数器类
  10. bash/shell编程学习(1)