2014-01-27 32 views
2

我可以干净地使用私人UUID变体/版本吗?我可以拥有“私人”UUID

我使用随机UUID,我基本上认为它是大整数。现在我有这种情况,我想生成一个“私人”UUID,它不是基于任何一个众所周知的5个变体/版本。

我应该“劫持”一个众所周知的变种/版本,我永远不会使用? 或者我应该使用未知的变体/版本?

RFC和维基百科都没有涵盖这个主题。

回答

3

没有人回答,所以我会提供我的考虑。

我们使用随机UUID来识别清晰系统边界内的对象。虽然UUID由128位表示,但由于版本(4位)和变量(3位)是常量,因此只能有2^121个随机UUID。 (其实变体4允许使用一个额外的位和迂腐这可能会被添加到121.)

我知道我们将永远不会使用版本1,2,3和5.不幸的是,没有提到的条款RFC中剩余11(16-5)个版本号。

我决定要声明版本1和变体0100的UUID为私有(或本地)版本。我为自己的子类型保留了4位,这为我自己的使用留下了足够的每个子类型117位。对于具有确定性ID的几个子系统,我现在可以创建适合我使用的结构的UUID。

我完全知道这些ID理论上可能与外部生成的UUID冲突。但由于系统边界清晰,并且外部身份证件被分开考虑,这种方法适合我们并且切实可行。

相关问题