Algorithm 什么是“分散唯一性算法”?
COM中创建GUID CoCreateGUID的函数使用了分散的唯一性算法,但我的问题是,它是什么Algorithm 什么是“分散唯一性算法”?,algorithm,computer-science,Algorithm,Computer Science,COM中创建GUID CoCreateGUID的函数使用了分散的唯一性算法,但我的问题是,它是什么 有人能解释一下吗?这是一种生成ID的方法,该ID在某种程度上保证是唯一的,而无需通过需要网络连接且可能难以组织的中央ID提供商进行任何协调。基本上有两种方法,都没有提供绝对的保证: 为本地计算机(通常为其MAC地址)使用合理唯一的ID,并添加本地唯一ID,例如时间戳+进程号+自动递增计数器。 使用一个好的随机数生成器和一个好的种子来生成ID,并使其足够长,以使冲突不太可能发生。 一种生成ID的方法
有人能解释一下吗?这是一种生成ID的方法,该ID在某种程度上保证是唯一的,而无需通过需要网络连接且可能难以组织的中央ID提供商进行任何协调。基本上有两种方法,都没有提供绝对的保证: 为本地计算机(通常为其MAC地址)使用合理唯一的ID,并添加本地唯一ID,例如时间戳+进程号+自动递增计数器。 使用一个好的随机数生成器和一个好的种子来生成ID,并使其足够长,以使冲突不太可能发生。
一种生成ID的方法,该ID在某种程度上保证是唯一的,而不依赖于通过需要网络连接且难以组织的中央ID提供者进行的任何协调。基本上有两种方法,都没有提供绝对的保证: 为本地计算机(通常为其MAC地址)使用合理唯一的ID,并添加本地唯一ID,例如时间戳+进程号+自动递增计数器。 使用一个好的随机数生成器和一个好的种子来生成ID,并使其足够长,以使冲突不太可能发生。
我已经搜索了我当地的图书馆和档案,但找不到具体算法的参考。但通常这种类型的算法用于生成只能出现一次的128位GUID值。使用标准随机数生成算法不会生成真正的随机性。因此,在这种情况下,他们采用了几个值,包括: 计算机网络地址 计算机时钟时间值 用于适应夏令时以及用户手动更改系统时钟的值。 通过使用这样一个功能,程序员可以确保GUID的值是唯一的,而不需要一个跟踪并生成所有用户GUID值的集中式服务器
您可以阅读有关随机数生成的更多信息我已经搜索了本地的图书馆和档案,但找不到特定算法的参考。但通常这种类型的算法用于生成只能出现一次的128位GUID值。使用标准随机数生成算法不会生成真正的随机性。因此,在这种情况下,他们采用了几个值,包括: 计算机网络地址 计算机时钟时间值 用于适应夏令时以及用户手动更改系统时钟的值。 通过使用这样一个功能,程序员可以确保GUID的值是唯一的,而不需要一个跟踪并生成所有用户GUID值的集中式服务器
您可以阅读更多关于随机数生成的内容+1,我只想补充一点,这是必需的,这样每个开发人员都可以在本地为其类和接口生成ID,并且他得到的值不会与其他开发人员生成的值相冲突。+1,我只想补充一点,这是必需的,这样每个开发人员都可以在本地为他的类和接口生成ID,并且他得到的值不会与其他开发人员生成的值发生冲突。