Я надеюсь использовать алгоритмы Diff-Match-Patch, доступные от google, в дополнение к протоколу совместного текстового редактора Google-Mobwrite в реальном времени, чтобы встроить совместный текстовый редактор в реальном времени в мою программу.
В любом случае мне было интересно, что именно может быть наиболее эффективным способом хранения «глобальных» копий каждого документа, который редактируют пользователи. Мне бы хотелось, чтобы каждый документ хранился на сервере, который не является локальным для какого-либо пользователя, и каждый раз, когда пользователь выполняет «операцию» (удаление вставки, вставку, вырезание), вычисление различий между его копией и сервером, его исправлением и т. Д. ... если вы знаете протокол Google mobwrite, вы, вероятно, понимаете, о чем я говорю.
Должны ли серверные текстовые файлы храниться в виде измененного файла или в базе данных sql в виде длинной строки или как? Должен ли я использовать веб-сокеты для связи с сервером? Я честно любитель, когда дело доходит до этого, но я, как правило, быстро учусь. У кого-нибудь есть какие-либо советы или ресурсы, которым я мог бы следовать? Большое спасибо