Sincronizzazione di oggetti con un server remoto e memorizzazione nella cache sulla memoria locale

1

Qual è il miglior metodo di sycing degli oggetti (come JSON) su un server remoto, con memorizzazione nella cache locale?

Ho alcuni oggetti che saranno semplicemente semplici testi con alcuni metadati extra. Stavo pensando di includere forse una "ultima data di modifica" per l'archiviazione locale e quella remota. Questo potrebbe quindi essere utilizzato per determinare quale oggetto è il più recente.

Ad esempio, anche se gli oggetti verranno salvati su locale e remoto quando vengono salvati, a volte l'utente potrebbe non avere accesso a Internet, o il server potrebbe essere inattivo o qualsiasi altro numero di cose. In questo caso, l'ultima data di modifica per l'archiviazione remota verrebbe ripristinata alla sua data precedente. L'archiviazione locale rimarrebbe così com'è. A questo punto, l'utente potrebbe uscire dall'applicazione e quando ricaricherà l'applicazione dovrebbe quindi esaminare le ultime date modificate degli archivi locali e remoti e decidere.

C'è qualcosa che mi manca con questo? C'è un metodo migliore che potrei usare?

    
posta Harry 25.10.2012 - 12:19
fonte

2 risposte

2

Per alcune buone idee, controlla come funziona Microsoft Sync Framework .

Hai l'idea giusta. Hai bisogno dell'ultima ora modificata, ma devi anche pensare all'eliminazione dei dati. Hai bisogno di un tavolo tombale per quello. Inoltre, devi scrivere alcune regole personalizzate su come gestire i conflitti (cosa succede se due client aggiornano lo stesso record?).

Una cosa è assicurarsi di utilizzare UUID (Guida) per i tuoi ID, in questo modo possono essere creati in più posizioni contemporaneamente senza collisioni.

    
risposta data 25.10.2012 - 13:57
fonte
0

Potresti voler esaminare alcune soluzioni di archiviazione dei documenti predefinite come CouchDB ottimizzate per la replica. Parla in modo nativo in JSON che è un vantaggio per le tue esigenze. MongoDB è un'altra possibilità, ma CouchDB è stato più ottimizzato per la replica peer-to-peer in passato per questo scenario, sebbene MongoDB stia recuperando in quella zona.

    
risposta data 25.10.2012 - 14:32
fonte

Leggi altre domande sui tag