切换到自定义生成的设备UUID似乎成为了一场噩梦!我希望有人之前遇到过这种情况并且知道如何处理。
假设用户有一个包含50万(小型)记录的数据集的应用程序,不能简单地复制整个设备的数据库并合并它们。用户在以下设备上安装了该应用程序:
1. iPhone 2. MacBook 3. Android平板电脑
当连接到同一物理网络时,每个设备都可以看到彼此并可以启动同步。为了实现三方数据同步(不依赖于中央服务器或互联网连接),需要执行以下操作:
1. 每个设备保留一个时间戳更改列表。 2. 每个设备知道它最后一次与另外两个设备同步的时间。 3. 当一个设备看到另一个设备时,它会发送自上次与该设备通话以来所有已知的更改。 4. 如果发现新设备,则没有问题,只需发送所有输入的数据。
问题出现在如果用户备份他们的iPhone或iPad,并将其恢复到另一个iPhone或iPad上。在这种情况下,我们得到了一个在本地网络上具有相同UUID的两个设备的用户。更新最终会随机地发送到其中一个或两个被识别为相同的设备。
我知道我们现在可以继续使用设备的唯一标识符,但我担心一旦它消失会发生什么!
假设用户有一个包含50万(小型)记录的数据集的应用程序,不能简单地复制整个设备的数据库并合并它们。用户在以下设备上安装了该应用程序:
1. iPhone 2. MacBook 3. Android平板电脑
当连接到同一物理网络时,每个设备都可以看到彼此并可以启动同步。为了实现三方数据同步(不依赖于中央服务器或互联网连接),需要执行以下操作:
1. 每个设备保留一个时间戳更改列表。 2. 每个设备知道它最后一次与另外两个设备同步的时间。 3. 当一个设备看到另一个设备时,它会发送自上次与该设备通话以来所有已知的更改。 4. 如果发现新设备,则没有问题,只需发送所有输入的数据。
问题出现在如果用户备份他们的iPhone或iPad,并将其恢复到另一个iPhone或iPad上。在这种情况下,我们得到了一个在本地网络上具有相同UUID的两个设备的用户。更新最终会随机地发送到其中一个或两个被识别为相同的设备。
我知道我们现在可以继续使用设备的唯一标识符,但我担心一旦它消失会发生什么!