У меня есть веб-страница, на которой отображается большой объем данных с сервера. Связь осуществляется через ajax.
Каждый раз, когда пользователь взаимодействует и изменяет эти данные (скажем, пользователь A что-то переименовывает), он сообщает серверу выполнить действие, и сервер возвращает новые измененные данные.
Если пользователь B одновременно обращается к странице и создает новый объект данных, он снова сообщит серверу через ajax, и сервер вернется с новым объектом для пользователя.
На странице A у нас есть данные с переименованным объектом. А на странице B у нас есть данные с новым объектом. На сервере у данных есть как переименованный объект, так и новый объект.
Какие у меня есть варианты для синхронизации страницы с сервером, когда несколько пользователей используют ее одновременно?
Избегают таких опций, как блокировка всей страницы или выдача пользователю всего состояния при каждом изменении.
Если это помогает, в этом конкретном примере веб-страница вызывает статический веб-метод, который запускает хранимую процедуру в базе данных. Хранимая процедура вернет все данные, которые она изменила, и не более того. Затем статический веб-метод пересылает возвращенную хранимую процедуру клиенту.
Редактирование награды:
Как разработать многопользовательское веб-приложение, которое использует Ajax для связи с сервером, но избегает проблем с параллелизмом?
Т.е. одновременный доступ к функциям и данным в базе данных без риска повреждения данных или состояния.