【发布时间】:2013-12-13 18:32:26
【问题描述】:
某些系统应该生成具有唯一 ID 的对象。该系统将在不同的计算机上运行,它们之间没有连接;但不会发生 ID 冲突。实现这一点的唯一方法是生成随机数。那些应该有多宽,这样你才能认为碰撞几乎不可能发生?
【问题讨论】:
-
en.wikipedia.org/wiki/Globally_unique_identifier 听起来您在描述 GUID
-
七十亿个案例中的 1 个是否被认为“几乎不可能”?如果你定义了你可以接受的概率,那么它应该可以给你答案。
-
JF Sebastian 是一个理想主义者,您正在寻找一个务实的答案。
-
The only way to implement this is generating random numbers— 你能解释一下为什么吗?例如,序号有什么问题?如果每台计算机都有一个唯一的 ID,那么可以将两者结合在一起形成一个全局唯一值。 -
@squeamishossifrage 这基本上就是 UUID/GUID 的作用。随机性与来自机器身份的恒定数据相结合,以确保唯一性。
标签: algorithm random language-agnostic