Data structures 设计一个50位全局唯一ID

Data structures 设计一个50位全局唯一ID,data-structures,ip-address,ipv4,Data Structures,Ip Address,Ipv4,IPv4网络中的每台主机都有一个1秒分辨率的实时时钟和电池备份。每台主机每秒需要生成多达1000个唯一标识符。假设每个主机都有一个全局唯一的IPv4地址。为此目的,设计一个50位全局唯一ID。主机生成的标识符在什么时间段(以秒为单位)后结束 答案是256 这个问题是数据结构的主题,因为在这里,我需要找到正确的50位全局id。我不满意,但没有足够的声誉在那里发表任何评论 我的尝试: 唯一ID中有50位。50位的可能唯一ID总数=2^{50} 幸运的是,每个主机都有32位唯一的IP地址。为了使I

IPv4网络中的每台主机都有一个1秒分辨率的实时时钟和电池备份。每台主机每秒需要生成多达1000个唯一标识符。假设每个主机都有一个全局唯一的IPv4地址。为此目的,设计一个50位全局唯一ID。主机生成的标识符在什么时间段(以秒为单位)后结束

答案是256


这个问题是数据结构的主题,因为在这里,我需要找到正确的50位全局id。我不满意,但没有足够的声誉在那里发表任何评论


我的尝试:

唯一ID中有50位。50位的可能唯一ID总数=2^{50}

幸运的是,每个主机都有32位唯一的IP地址。为了使ID是唯一的,我们可以用每个唯一的ID预加32位

因此,我们只需要生成剩余的18位。因此,2^{18}组合是可能的

假设每个主机每秒生成1000个ID

因此,要生成2^{18}组合,需要2^{18}/1000秒~=262.144秒

为了找到正确答案,我遗漏了什么?你能解释一下吗


这个问题的措辞非常奇怪,但很明显,您要使用的ID有32位来自IP地址,8位来自时钟,10位来自计数器。时钟的8位在256秒内结束。

除了50位的大小之外,听起来你在重新发明。谢谢你的解释。