Алгоритм согласованности данных
Я занимаюсь разработкой игры для 2-4 игроков. В основе модели лежит структура данных, которая действует как электронная таблица Google-Docs, которую каждый может редактировать в любое время. Для простоты каждая из ячеек электронной таблицы может содержать только одну букву.
Некоторые способности и требования: 1. Все игроки могут редактировать ячейки электронной таблицы в любое время. (это означает, что не должно быть "заблокированной ячейки") 2. Все сетевые транзакции являются надежными (но могут поступать не в порядке)
У меня возникают трудности при разработке алгоритма для обработки общей структуры данных, подобной электронной таблице. Есть ли у кого-нибудь знакомые с похожей проблемой, которая имеет решение? или предложить простой способ решения проблемы?
Спасибо.
1 ответ
Я думаю, что вы должны попытаться определить некоторые критерии для алгоритма, который вы ищете. Вы можете хотеть гарантированное время ответа. Или вы можете предпочесть абсолютную согласованность данных. Кажется, вряд ли можно достичь обоих одновременно.
Тема, о которой вы говорите, называется "Операционная трансформация": http://en.wikipedia.org/wiki/Operational_transformation
Некоторые программы с открытым исходным кодом делают удивительные вещи в этой области, такие как http://sharejs.org/ или http://etherpad.org/