Mam stronę internetową, która pokazuje dużą ilość danych z serwera. Komunikacja odbywa się za pośrednictwem Ajax.
Za każdym razem, gdy użytkownik wchodzi w interakcję i zmienia te dane (powiedzmy, że użytkownik A zmienia nazwę), nakazuje serwerowi wykonanie działania, a serwer zwraca nowe zmienione dane.
Jeśli użytkownik B uzyska dostęp do strony w tym samym czasie i utworzy nowy obiekt danych, ponownie poinformuje o tym serwer za pośrednictwem ajax, a serwer zwróci nowy obiekt dla użytkownika.
Na stronie A mamy dane z obiektem o zmienionej nazwie. A na stronie B mamy dane z nowym obiektem. Na serwerze dane mają zarówno obiekt o zmienionej nazwie, jak i nowy obiekt.
Jakie są moje opcje utrzymywania synchronizacji strony z serwerem, gdy wielu użytkowników korzysta z niego jednocześnie?
Raczej unika się takich opcji, jak blokowanie całej strony lub zrzucanie całego stanu dla użytkownika przy każdej zmianie.
Jeśli to pomaga, w tym konkretnym przykładzie strona internetowa wywołuje statyczną metodę sieciową, która uruchamia procedurę składowaną w bazie danych. Procedura składowana zwróci wszystkie dane, które zmieniła, i nie więcej. Statyczna metoda web następnie przekazuje klientowi powrót procedury składowanej.
Edycja zleceń:
Jak zaprojektować aplikację internetową dla wielu użytkowników, która używa Ajax do komunikacji z serwerem, ale pozwala uniknąć problemów ze współbieżnością?
To znaczy równoczesny dostęp do funkcjonalności i danych w bazie danych bez ryzyka uszkodzenia danych lub stanu