Estoy hablando de “sincronización” aquí. Puedes descubrir la lógica correcta para ti.
Cuando necesite mantener dos extremos sincronizados, debe mantener una “última marca de tiempo modificada” con cada registro en ambos extremos. También debe mantener una “última marca de tiempo sincronizada” en el lado del cliente.
Cuando está sincronizando, verifica todos los cambios que ocurrieron después de su valor de “última marca de tiempo sincronizada”. Cuando obtiene un conjunto de registros modificados, debe comparar cada uno de ellos con sus copias locales y aceptar el último. Si tiene el último registro, debe intimar el servidor y permitir que el servidor actualice sus datos.
- ¿Cuánto tiempo tardan en aprobar un artículo en el programa UC We-media?
- ¿Cuáles son algunas de las mejores aplicaciones de Android para leer libros gratis?
- 3000 descargas, 1300 instalaciones, 300 usuarios activos por semana, 2000 sesiones por semana. ¿Qué significan estas cifras para una aplicación de Android?
- ¿Cómo es la demanda de desarrolladores de aplicaciones de Android después de 2016?
- ¿Qué módulos Xposed permiten cambiar textos de cadena?
(Y vea, esto es sobrescribir ciegamente una información existente con una nueva. Si desea manejar los conflictos, debe hacerlo manualmente, aún así la lógica sigue siendo la misma).
Por ejemplo, veamos este flujo:
– Antes de sincronizar –
El servidor tiene:
“Apple” (última modificación a las 10:00 a.m.)
“Naranja” (última modificación a las 10:20 am)
El cliente tiene:
“Albaricoque” (última modificación a las 10:15 am)
“Orangután” (última modificación a las 9:55 am)
[última sincronización: 9:45 am]
– La próxima sincronización comienza a las 10:30 a.m. –
El cliente le pregunta al servidor: “Dame todas las modificaciones que tuvieron lugar después de las 9:45 am ”
El servidor responde:
“Apple” modificado a las 10:00 a.m.
Además, “Orange” modificado a las 10:20 am.
El cliente piensa:
“Apricot” es lo último, significa que el servidor debe aceptar mi modificación.
“Orangután” es el más antiguo, significa que debería aceptar la modificación del servidor.
El cliente le dice al servidor: “¡Actualice ese registro de” Apple “con” Apricot “, que es el último valor!”.
El servidor responde: “Sí, lo actualizaré”.
– La sincronización terminó a las 10:31 am –
El servidor tiene:
“Albaricoque” (última modificación el 10:31 am)
“Naranja” (última modificación a las 10:20 am)
El cliente tiene:
“Albaricoque” (última modificación a las 10:15 am)
“Naranja” (última modificación a las 10:31 am)
[última sincronización: 10:31 am]
– En la próxima sincronización, –
El cliente le pregunta al servidor: “Dame todas las modificaciones que tuvieron lugar después de las 10:30 a.m.”
Eso es todo.