Question

Ceci est plus une question d'apprentissage que le codage, mais je suis certain que c'est un problème commun pour tous ceux qui le développement de systèmes d'administration ou des applications en php / mysql / js etc.

J'ai développé tout à fait une application complexe qui permet aux images des utilisateurs et définir les points chauds dans les actions associées avec. Les images sont stockées dans une table, et les actions dans une autre, avec des données JSON pour chaque action dans un champ de texte. Il est un format de style magazine qui est utilisé par une application de lecture personnalisée. Cependant, comme je le dis, le problème est générique.

En fait, ma crainte est que si une personne modifie la même image et un ensemble d'actions en même temps, et ils ont tous deux soumettre des changements, ou si elle a été modifiée par quelqu'un d'autre puis il y a toute une série de structures qui pourraient échouer sur présentation.

Je ne veux pas mettre en œuvre un système de verrouillage, le système est très large télémétriques (liens vers d'autres images, etc.), et je pense qu'il est un peu laid. J'ai vu ce lien (MSDN article architecture multi-locataires) dans une autre question , mais il semble un peu écrasante et spécialisé pour le serveur SQL.

- quelles sont les conditions pour l'architecture de données et système ici que je peux étudier, ou y at-il quelques bons articles à faire avec ce sujet que les gens peuvent recommander? En particulier pour le monde de php / web serait génial!

-

Je suis toujours à la recherche de bonnes réponses sur cette question. Découvert quant à lui que le terme général est « Simultanéité », mais la technique est la chose importante :)

Était-ce utile?

La solution

Première

ALTER TABLE tablename ADD COLUMN changecount BIGINT NOT NULL DEFAULT 0; 

pour tous les tableaux pertinents. Ensuite, chaque fois que vous voulez soumettre un changement, non seulement utiliser

UPDATE tablename SET whatever WHERE id=whatever

UPDATE tablename SET whatever, changecount=changecount+1 WHERE id=whatever AND changecount=the_changecount_you_remembered_from_loading_the_object

si un utilisateur soumet un changement, il mettra à jour le ChangeCount - un autre utilisateur qui soumet un changement au même objet, mais chargé d'un état ancien, peut être dit « un autre utilisateur a juste changé bla bla »

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top