Tecnica per più utenti sullo stesso set di dati

4

Questa è più una questione di apprendimento che di programmazione, ma sono certo che è un problema comune per chiunque sviluppi sistemi di amministrazione o applicazioni in php / mysql / js ecc.

Ho sviluppato un'applicazione piuttosto complessa che consente agli utenti di caricare immagini e definire hotspot in esse con azioni associate. Le immagini vengono memorizzate in una tabella e le azioni in un'altra, con dati json per ogni azione in un campo di testo. Tuttavia, come ho detto, il problema è generico.

Fondamentalmente, il mio timore è che se qualcuno sta modificando la stessa immagine e insieme di azioni allo stesso tempo, ed entrambi inviano modifiche, o se è stato modificato da qualcun altro, c'è un'intera serie di strutture che potenzialmente falliranno su presentazione.

Non voglio implementare un sistema di chiusura, in quanto il sistema è molto ampio (collegamenti ad altre immagini, ecc.) e penso che sia un po 'brutto. Ho visto questo link (articolo di architettura multi-tenant di MSDN) in un'altra domanda, ma sembra un poco opprimente e specializzato per SQL Server.

Quindi - quali sono i termini per i dati e l'architettura di sistema qui che posso indagare, o ci sono alcuni buoni articoli da fare con questo argomento che la gente può raccomandare? Specificamente per php / web world sarebbe fantastico!

    
posta dmp 14.01.2012 - 14:00
fonte

1 risposta

2

In molte situazioni, la semplice tecnica di "l'ultimo scrittore vince" può essere sufficiente.

L'ultimo autore vince significa che l'ultima persona da salvare ha mantenuto le sue modifiche; tutte le modifiche apportate mentre quella persona stava modificando sono perse.

Anche se questo potrebbe sembrare un approccio pazzo, considera che in molti sistemi la fonte del cambiamento è sincronizzarsi con il mondo reale.

Considera un sistema che elenca i clienti con i loro indirizzi e numeri di telefono. Immagina che uno dei loro clienti, Mary, si sia recentemente trasferito a casa. Ha inviato un cambio di indirizzo al tuo compand. Suo marito, John, non sapeva di questo e ha telefonato per aggiornare i dettagli attraverso il centro clienti. Per coincidenza, il cambio della scheda di indirizzo viene elaborato in concomitanza con la telefonata.

Quale cambiamento dovrebbe essere mantenuto? Non importa - perché entrambe le modifiche cambieranno l'indirizzo della casa con lo stesso valore .

Devi anche tenere a mente la frequenza potenziale degli aggiornamenti simultanei: in realtà è piuttosto improbabile che la telefonata e l'elaborazione del cambio della scheda indirizzo avvengano contemporaneamente. Se la carta è stata elaborata per prima, John avrebbe trovato i dettagli già corretti quando ha chiamato; se la carta è stata elaborata per ultima, l'operatore troverà i dettagli già corretti. In entrambi i casi, nessun conflitto.

    
risposta data 15.01.2012 - 03:37
fonte

Leggi altre domande sui tag