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