gpt4 book ai didi

android - 如果在设备而非服务器上生成,UUID4 有多独特?

转载 作者:行者123 更新时间:2023-11-29 10:23:37 25 4
gpt4 key购买 nike

This question从一般意义上回答它,它没有指定如果 UUID 生成不是集中的会发生什么。

我最近看到一个架构,其中所有设备(超过 100 万个 ios 和 android)都生成 UUID4 key (使用它们自己的生成器函数/库),并且这些 key 在同步时在服务器的数据库中标记为唯一。我担心,由于大约一百万台设备将尝试在本地生成,因此发生冲突的可能性会比上述问题中描述的要高。

我以前使用过集中式 UUID,但对这种类型的分布式系统还是陌生的,所以我用质数生成器做类比,在不同的环境中并行运行,这将使最终结果不是质数/唯一的。如果我的理解有误,请纠正我。

另外,请分享任何关于陷阱和在分布式环境中使用 UUID 的好文章。

编辑:此答案与 Python UUID generation 有关谈论冲突和使用 UUID1 而不是 UUID4。我想知道是否有任何文档可以确认 android 和 ios 设备上的这种 wrt 随机性。此外,我应该如何计算/估计这种碰撞的概率。

最佳答案

UUID 的全部意义在于它是普遍唯一的。

UUID 通常基于设备的 MAC 地址和时间戳等信息。每秒生成多个 UUID 的一百万台设备永远不会发生任何冲突。

除非 Apple 或 Google 搞砸了他们生成 UUID 的实现,否则您无需担心。

同样,UUID 的全部意义在于您不需要一个中央的单一服务器来生成所有 ID。

您链接的问题的许多答案都包含对 UUID 算法详细信息的引用。而且这个问题确实与集中生成 UUID 无关。

更新 - 由于重点是 UUID4,这里是 Wikipedia article about the probability of duplicates for UUID4 的摘录:

To put these numbers into perspective, the annual risk of a given person being hit by a meteorite is estimated to be one chance in 17 billion,[4] which means the probability is about 0.00000000006 (6 × 10−11), equivalent to the odds of creating a few tens of trillions of UUIDs in a year and having one duplicate. In other words, only after generating 1 billion UUIDs every second for the next 100 years, the probability of creating just one duplicate would be about 50%.

However, these probabilities only hold when the UUIDs are generated using sufficient entropy. Otherwise, the probability of duplicates could be significantly higher, since the statistical dispersion might be lower. Where unique identifiers are required for distributed applications, so that UUIDs do not clash even when data from many devices is merged, the randomness of the seeds and generators used on every device must be reliable for the life of the application. Where this is not feasible, RFC4122 recommends using a namespace variant instead.

根据我使用 iOS 的经验,iOS 使用的是 UUID4。综上所述,我不担心任何碰撞。

关于android - 如果在设备而非服务器上生成,UUID4 有多独特?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33537606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com