Taşıma Çoklu Kullanıcılar (faturaların düzenlenmesi)

3 Cevap php

Multi Kullanıcıları Taşıma

Requirements: I have an applications (mysql php jquery) where the users can:

  1. Kayıtlarını incelemek ve belirli alanları güncelleyin.
  2. Emir seçerek fatura sorunu.

Issues: The issue is that an invoice should not be issued twice for the same time period. Also, a field should not be updated by two or more users at the same time.

Olası Çözümleri:

  1. Onlar güncellenen olsun zaman tabloları kilitlemek ve kullanıcı bir eylem gerçekleştirir, haber ve yeniden.
  2. Bir kullanıcı belirli eylemleri gerçekleştirir, diğer kullanıcılar tarafından yapılacak bu eylemleri kilitler, kilit sistemi impliment.
  3. ...

3 Cevap

Bu size yardımcı ya da olmaz bilmiyorum ama ben ilk önce onları okumak ve değiştirdikten sonra geri db göndermek beri veri satırları için yapılan değişiklikleri izler. Net'in DataTable Adaptörü bağlamında bu konuda okumuştu. Ne yapar yerine sadece değişmiş olanları tüm alanları göndermek.

Sen satırlar için zaman damgalarını kullanabilirsiniz. Diğer bilgi ve (satır) şimdiki zaman-damgası ne var daha yeni olup olmadığını kontrol kaydetmeden önce zaman damgası okuyun. Bu şekilde zaman damgalarını karşılaştırarak ve orada ulaşmak için ilk biri iseniz güncelleme, sadece bu kısım için kilitleme en aza indirebilirsiniz.

Lookup 'iyimser kilitleme' - temelde bir sürüm niteliği ekleyerek ve geri geçen ve emin kimse oraya ilk yapmak güncellemeleri ile artan gelir. N kullanıcıların aynı sürümüne göre aynı işlemi denerseniz, bir kazanır, diğerleri gevşek. Bu durumlarda geniş bir yelpazede için kolay, hızlı basit.

Hem teşekkür ederiz. Iki seçenek bakacağız: 1 iyimser kilitleme (http://cwiki.apache.org/CAY/optimistic-locking-explained.html), ve zaman damgası yaklaşım.