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

Вот два потенциальных рабочих процесса, которые я хотел бы выполнить в веб-приложении.

Вариант 1

  • пользователь отправляет запрос
  • сервер читает данные
  • сервер изменяет данные
  • сервер сохраняет измененные данные

Вариант 2:

  • пользователь отправляет запрос
  • сервер считывает данные
  • ] сервер отправляет данные пользователю
  • пользователь отправляет запрос с изменениями
  • сервер сохраняет измененные данные

В каждом из этих случаев мне интересно: каковы стандартные подходы к обеспечению того, чтобы одновременный доступ к этой службе производил разумные полученные результаты? (т. е. ничья правка затирается, значения соответствуют некоторому порядку правок и т. д.)

Ситуация гипотетическая, но вот некоторые детали того, где мне, вероятно, придется иметь дело с этим на практике:

  • веб-приложение , но язык не указан
  • потенциально, при использовании веб-фреймворка
  • хранилище данных представляет собой реляционную базу данных SQL
  • , вовлеченная логика слишком сложна, чтобы ее можно было хорошо выразить в запросе, например value = value + 1

Мне кажется, я бы предпочел не пытаться изобретать велосипед здесь. Несомненно, это хорошо известные проблемы с хорошо известными решениями. Пожалуйста, порекомендуйте.

Спасибо.

7
задан Ming 28 August 2011 в 20:57
поделиться