Re[6]: Архитектура серверной части системы
От: Xenon_IPC  
Дата: 30.07.12 16:13
Оценка:
Здравствуйте, boot, Вы писали:

B>Речь идет о всем объекте или его части? Типа один клиент редактирует одну страницу книги, а второй читает другую? У клиентов есть свойство которое позволяет забрать право на редактирование или они равноправны?


Блокировка накладывается на весь объект (фактически запись в БД). В большинстве своем клиенты равноправны, но систему "старшинства" планируется ввести. Идеальный алгоритм примерно таков: клиент имеющий более высокий приоритет говорит, что он заберет блокировку объекта на себя, на клиенте с текущей блокировкой отображается немодальное диалоговое окно с атрибутом TopMost, что мол такой-то клиент по истечению например 1 минуты принудительно заберет блокировку на себя. Клиент должен до истечения этого времени освободить объект либо объект будет освобожден принудительно и все изменения в нем будут потеряны. Естественно точного выдерживания таймингов добиться не получится, но это и не суть важно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.