サーバーからの大量のデータを表示するWebページがあります。通信はajaxを介して行われます。
ユーザーがこのデータを操作して変更するたびに(ユーザーAが何かの名前を変更するなど)、サーバーにアクションを実行するように伝え、サーバーは変更された新しいデータを返します。
ユーザーBが同時にページにアクセスして新しいデータオブジェクトを作成すると、サーバーはajaxを介して再度通知し、サーバーはユーザーの新しいオブジェクトを返します。
Aのページには、名前が変更されたオブジェクトを含むデータがあります。Bのページには、新しいオブジェクトを含むデータがあります。サーバー上では、データには名前が変更されたオブジェクトと新しいオブジェクトの両方があります。
複数のユーザーが同時にページを使用している場合に、ページをサーバーと同期させるためのオプションは何ですか?
ページ全体をロックする、またはすべての変更でユーザーに状態全体をダンプするなどのオプションは、かなり避けられます。
役立つ場合、この特定の例では、Webページはデータベースでストアドプロシージャを実行する静的Webメソッドを呼び出します。ストアドプロシージャは、変更されたデータを返し、それ以上は返しません。次に、静的Webメソッドは、ストアドプロシージャの戻りをクライアントに転送します。
バウンティ編集:
Ajaxを使用してサーバーと通信し、並行性の問題を回避するマルチユーザーWebアプリケーションをどのように設計しますか?
つまり、機能やデータベース上のデータへの同時アクセスで、データや状態の破損のリスクがありません。