在类似WhatsApp的应用程序中,当用户在特定设备上使用他/她的手机号码进行注册时(应该通过将要添加到数据库中的特定UID进行分配,以便检测这些用户)。
假设用户A在其设备A上注册了该手机号码(1234),那么当他/她开始聊天时,数据库应该跟踪聊天线程,如下所示:
Users
|
|
|-----UID-1:
|
---phone_number : 1234
---name : user A
|
|-----UID-2
|
---phone_number : 4567
---name : user B
Chats
|
|
|---UID_1
|
|--UID-2
|......
|
|--UID-3
|.....
您可以看到用户A与UID-2和UID-3进行了2次聊天(2个线程)。
当用户A的号码过期时,其他设备(设备x)的其他人(用户x)将获得用户A的号码并将其用于新设备。
我的问题是:
如果此用户x把手放在电话号码上,则当他/她尝试使用该号码登录时,他/她应加载用户A的线程,因为将为他分配用户A的相同UID,因为他们共享相同的号码。
那么如何确保这一点呢?或者换句话说,WhatsApp和类似的流行应用如何处理此问题?