让我来描述一下这个系统。有几个移动设备,每个移动设备彼此独立,并且它们为相同的记录ID生成内容 我想避免为不同的设备上的相同记录生成相同的内容,为此我虽然我会使用随机的,并使其根据这些random集中内容池。
假设你有1到100的选择。
第1天
设备#3将选择10到10之间的记录#55
设备#1将选择1-10之间的记录#11
第2天
他们无法访问中央服务器 可用于每个人的数据:
您怎么看?怎么可能?
PS。标签可以编辑
答案 0 :(得分:3)
我同意AakashM和沮丧。首先,您能保证设备数量大于生成数据的范围吗?实际上,要成为“随机”,您确实需要将生成的内容作为设备的两倍,否则至少有一个设备必须在一个选项之间“随机选择”。这说明,因为IMEI是唯一基于设备的唯一数据,您必须在算法中使用它。另一个问题(我怀疑)是设备ID不一定是均匀分布的,因此任何设备ID到数据块的潜在映射都可能导致重叠(除非您有大量数据可供选择)或者生成的值不会均匀分布在设备池中。
这里说的是一个粗略的算法:
使用IMEI作为单字节且数据范围为0-> 2559的简单示例:
最后,如果您希望范围根据记录而有所不同,您可以将其用作第二步中的第二个偏移量。
答案 1 :(得分:1)
如果每个设备都有唯一的DeviceID(可能基于硬件序列号或其他内容),您可以使用它而不是这些随机数方案。会让事情变得更简单。