Question

Gestion des utilisateurs multi

Exigences: J'ai une (applications php mysql jquery) où les utilisateurs peuvent:

  1. Examiner les dossiers et mettre à jour certains champs.
  2. factures de problème en sélectionnant les commandes.

Questions: La question est qu'une facture ne doit pas être délivré deux fois pour la même période. En outre, un champ ne doit pas être mis à jour par deux ou plusieurs utilisateurs en même temps.

Solutions possibles:

  1. Verrouillez les tables quand ils sont mis à jour, et si l'utilisateur effectue une action, informer et recharger.
  2. impliment système de verrouillage, que lorsqu'un utilisateur exécute certaines actions, il bloque les actions à exécuter par d'autres utilisateurs.
  3. ...
Était-ce utile?

La solution

Je ne sais pas si cela vous aidera ou non, mais je voudrais tout d'abord lire à ce sujet dans le contexte de l'adaptateur DataTable de .Net qui permet de suivre les modifications apportées aux lignes de données puisque vous les lire et renvoyer à db après avoir changé. Ce qu'il fait est d'envoyer tous les champs au lieu de seulement ceux modifiés.

Vous pouvez utiliser des timbres-temps pour les lignes. Lire l'horodatage avec d'autres infos et avant d'enregistrer vérifier si le courant horodatage (de lignes) est plus récente que ce que vous avez. De cette façon, vous pouvez réduire le verrouillage juste cette partie, en comparant l'horodatage et la mise à jour si vous êtes le premier à y arriver.

Autres conseils

Recherche « verrouillage optimiste » - signifie essentiellement l'ajout d'un attribut de version et en la passant et incrémenter avec des mises à jour pour vous assurer que personne d'autre est arrivé là en premier. Si N utilisateurs tentent même opération sur la base même version, on gagne, d'autres perdent. Il est rapide simple, facile pour une grande variété de cas.

Merci à vous deux. Se penchera sur les deux options: 1 verrouillage optimiste ( http: //cwiki.apache. org / CAY / verrouillage-explained.html optimiste ), et l'approche de l'horodatage.

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