“时钟序列”是什么意思?

时间:2017-01-05 01:15:52

标签: uuid guid rfc dce

RFC 4122(一个通用唯一标识符(UUID)URN命名空间)使用术语“clock sequence”:

  

4.1.5。时钟序列

     

对于UUID版本1,时钟序列用于帮助避免      当时钟向后设置时可能出现的重复      或者节点ID是否改变。

     

如果时钟向后设置,或者可能已向后设置      (例如,在系统断电时),UUID发生器可以      不确定没有生成时间戳大于的UUID      时钟设置的值,然后时钟序列必须      改变了。如果已知时钟序列的先前值,则为      可以增加;否则应该设置为随机或      高质量的伪随机值。

     

类似地,如果节点ID改变(例如,因为网卡具有      在机器之间移动),将时钟序列设置为随机      数字最小化由于轻微的重复的概率      机器时钟设置的差异。如果值      然后,已知与改变的节点ID相关联的时钟序列      时钟序列可以递增,但这不太可能。

     

时钟序列必须是最初的(即,在生命周期中一次)      系统)初始化为随机数以最小化相关性      跨系统。这提供了对节点的最大保护      可以快速移动或从系统切换到系统的标识符。      初始值绝不能与节点标识符相关联。

     

对于UUID版本3或5,时钟序列是14位值      根据第4.3节中描述的名称构建。

     

对于UUID版本4,时钟序列是随机的或伪随机的      生成14位值,如第4.4节所述。

这个术语是什么意思?

2 个答案:

答案 0 :(得分:3)

"时钟序列"似乎是一个非常误导性的名字。根据其定义,更好的名称可能是"随机组件uuid"。

uuid声名鹊起的一个主要原因是,如果我们都生成UUID值,我们就可以非常自信地不会生成相同的128位值。这说明了碰撞的可能性。

如果我们有共同协调员或预先商定的计划,我们也可以确信我们不会遇到冲突。

潜在计划:

1. Partition Int Space: I get numbers 1-999, you get 1000-1999.
2. Request Reservation: Request 10 numbers and increment a centrally stored max reserved numbers.  You get numbers 1-10.  The next reservation gets 11-20.

UUID的一个重要观察是,如果你有很多位(在这种情况下为16),下一个请求者获得相同的随机值的可能性很小。

彩票是基于这个概念。

答案 1 :(得分:-1)

它是组成UUID的字段之一,如4.1.2节中所定义。