Как спроектировать многопользовательское веб-приложение ajax, которое будет одновременно безопасным

У меня есть веб-страница, на которой отображается большой объем данных с сервера. Связь осуществляется через ajax.

Каждый раз, когда пользователь взаимодействует и изменяет эти данные (скажем, пользователь A что-то переименовывает), он сообщает серверу выполнить действие, и сервер возвращает новые измененные данные.

Если пользователь B получает доступ страница одновременно и создает новый объект данных, он снова сообщит серверу через ajax, и сервер вернется с новым объектом для пользователя.

На странице A у нас есть данные с переименованным объектом. И на Б ' s странице у нас есть данные с новым объектом. На сервере у данных есть как переименованный объект, так и новый объект.

Какие у меня есть варианты для поддержания синхронизации страницы с сервером, когда несколько пользователей используют ее одновременно?

Такие опции, как блокировка всей страницы или передача пользователю всего состояния при каждом изменении, скорее всего, избегаются.

Если это помогает, в этом конкретном примере веб-страница вызывает статический веб-метод, который запускает хранимую процедуру в базе данных. Хранимая процедура вернет все данные, которые она изменила, и не более того. Затем статический веб-метод пересылает возвращенную хранимую процедуру клиенту.

Bounty Edit:

Как вы создаете многопользовательское веб-приложение, которое использует Ajax для связи с сервером, но избегает проблем с параллелизмом?

] Т.е. одновременный доступ к функциям и данным в базе данных без риска повреждения данных или состояния

94
задан Raynos 15 February 2011 в 17:19
поделиться