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
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相关推荐
- 数据治理的概念、难点和最佳实践方法
从信息化到数字化,我们见证了互联网对社会和个人的深刻影响.随着新技术.新理念的不断推出,数字化转型则在这两年强势兴起,逐渐改变着企业和市场的格局.而数据正驱动业务转型.组织变革.企业由信息化向数字化转 ...
- [翻译] DSL和模型驱动开发的最佳实践(3/4)
哪个是最佳选择 有两种风格的语言设计:一种主张大语言,用一个类支持许多不同的领域概念.另外一种主张小语言,使用一些小但是强大的原始的特征,大一些的特征由库的方式组装构建. 在 ...
- 彼之蜜糖,吾之砒霜——聊聊软件开发中的最佳实践
作者:sherrywasp https://www.cnblogs.com/sherrywasp/p/9436623.html "描述一个事物,唯有一个名词定义它的概念,唯有一个动词揭露它的 ...
- in 用不用索引_MySQL 索引最佳实践之问题反馈
我之前发布的 PPT -- <MySQL 索引最佳实践>中,有很多人提了很多问题,我没有时间一一回答,于是我决定把这些问题集中在一起进行回答. 问:我们团队中的一人想要使用 bigint ...
- 分布式 PostgreSQL 集群(Citus),分布式表中的分布列选择最佳实践
确定应用程序类型 在 Citus 集群上运行高效查询要求数据在机器之间正确分布.这因应用程序类型及其查询模式而异. 大致上有两种应用程序在 Citus 上运行良好.数据建模的第一步是确定哪些应用程序类 ...
- 汝之蜜糖,吾之砒霜— 聊聊软件开发中的最佳实践
文章来源:https://www.cnblogs.com/sherrywasp/p/9436623.html 作者:sherrywasp "描述一个事物,唯有一个名词定义它的概念,唯有一个动 ...
- 软件开发:最佳实践 != 过度设计
点击上方"全球Java架构师集中营",选择"设为星标" 技术文章第一时间送达! 作者:sherrywasp 来源:http://1t.click/YVy 先讲 ...
- [转]在 Azure 云服务上设计大规模服务的最佳实践
本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library ...
- 将 DTS 用于业务智能解决方案的最佳实践
摘自:http://www.microsoft.com/china/MSDN/library/archives/library/dnSQL2k/html/SQL_busintbpwithDTS.asp ...
- 基于AWS的云服务架构最佳实践
近年来,对于打造高度可扩展的应用程序,软件架构师们挖掘了若干相关理念,并以最佳实践的方式加以实施.在今天的"信息时代",这些理念更加适用于不断增长的数据集,不可预知的流量模式,以及 ...
最新文章
- 顽强的病毒,如何处理
- C++ string流
- mysql /tmp目录爆满问题的处理
- 趣学python3(26)-pygame-蛇身运动
- docker 4 section
- 费纸箱手工制作机器人_环保手工:怎么把纸箱废物利用制作立体小猫(步骤图解)...
- 【网络技术题库整理1】局域网技术基础及应用
- 如何用UE4制作2D游戏文档(五)——战斗篇
- 菜鸟也疯狂,易语言自绘控件__按钮篇,用所有者自绘方式实现
- 用html写QQ邮箱注册页面,制作简易QQ邮箱登录页面
- 英国正在大举进军AI,看懂其三大投资走向
- 菜鸟阿鑫对于一堆数组的总结以及理解
- swiper鼠标经过切换对应轮播图
- 解决域名在部分网络上打不开问题
- 分式化简结果要求_分式约分的结果是()
- 手机文件管理android可以删除吗,手机上什么文件可以删除?答案都在这里了
- centOS 8 重启网络服务 / 重启网卡
- 无法启动此程序因为计算机丢失gdiplus,处理系统提示无法启动此程序,因为计算机中丢失gdiplus.dll的方法...
- 百度网盘突然大调整,网友:我 2T 的老师没地方放了...
- 一个优质的项目应该具有什么特点
热门文章
- 举例计算机的发展状况,计算机的发展过程教学设计.doc
- java创建容器对象的类是什么_spring容器创建bean对象的方式
- php中strrpos函数的返回值类型是型_PHP字符串处理的一些常用函数 - strrpos
- 编译安装mysql 不动了_编译安装MySQL5.6失败的相关问题解决方案
- linux内核多个补丁,一个令人惊叹的Linux内核补丁
- css img 适配尺寸_一次解决你的图像尺寸和定位问题
- oracle 安装包_【Oracle监控】-Spotlight On Oracle安装和使用
- acm之奇葩数据输入专题
- php 基于redis计数器类
- bash/shell编程学习(1)