Хорошо

Совместный редактор в режиме реального времени - Collaborative real-time editor

Последний ответ июн 08, 2020 18:02:59 42 1 0 0

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


Сложность в режиме реального времени решений совместного редактирования проистекает из связи задержки. В теории, если связь была мгновенной, то создание в режиме реального времени совместного редактора не будет более трудным, чем создание редактора одного пользователя, так как документ может быть изменен с помощью алгоритма, подобного следующему:


Запрос «редактировать документ» маркер от сервера

Подождите, пока сервер не говорит, что это наша очередь для редактирования документа

Скажите сервер, как отредактировать документ

Отпустите маркер «редактировать документ»

Тем не менее, скорость передачи ограничена задержкой сети. Это создает фундаментальную дилемму: пользователи должны свои правки включены в документ мгновенно, но если они включены мгновенно, то из-за задержки связи, их редактирование обязательно должно быть вставлены в различные версии документа.


Пример иллюстрирует эту проблему. Предположим , что Алиса и Боб начать с документом , содержащим слово Марии . Боб удаляет «M», затем вставляет «H», чтобы изменить слово в Hary . Алиса, прежде чем она получает либо редактировать от Боба, удаляет «г», а затем удаляет «а», чтобы изменить его в My . И Алиса и Боб будет получать изменения , которые были применены к версиям документа , которые никогда не существовали на своих машинах.


Таким образом, задача реального времени совместного редактирования, чтобы выяснить, как именно применять изменения от удаленных пользователей, которые изначально были созданы в версиях документа, которые никогда не существовали на местном уровне, и которые могут вступать в противоречие с собственными местными правок пользователя.


Наиболее сложные решения решить эту проблему таким образом , что не требуют серверов, не используют блокировки (все пользователи могут свободно редактировать все части документа в то же время), и поддерживают любое количество пользователей (ограниченно только ресурсы компьютеров). УНА и SubEthaEdit являются примерами двух программ , которые принимают этот подход.


Хотя эти сложные подходы позволяют лучший пользовательский опыт , основной совместный редактор также может быть создан в модели клиент-сервер . В сценарии клиент-сервер, один из экземпляров редактора назначается роль сервера для совместной работы , когда документ открыт. Этот сервер гарантирует , что другие редакторы находятся в синхронизации , путем определения задержки в сети и действовать в качестве временной синхронизации сервера. Сервер получает датируемые уведомления об изменениях , внесенных в документ других пользователей. Он определяет , каким образом эти изменения должны влиять на его локальную копию, и передает его изменения в бассейне сотрудничества. В некоторых моделях эти изменения не отражаются на клиенте , пока официальный ответ не возвращаются с сервера, даже если эти изменения были сделаны на местном уровне.


Такой подход, в то время как значительно менее мощный, позволяет основной совместной работы при относительно низкой стоимости. Это делает его более предпочтительным в тех случаях , когда ресурсы обработки ограничены. NetSketch пример программы , которая использует эту модель.


В прошлом, Microsoft и IBM работали , чтобы добавить сотрудничество средства для их существующих архитектур. Хотя на рынке как в режиме реального времени совместной работы, эти «рабочее пространство» подходы требуют либо документа блокировки (так что только один человек может изменить его в то время), или «примирения» конфликтующих изменений, которые , как правило , найденных пользователями неудовлетворительным.


  • x

MVE Опубликовано 2020-6-8 18:02:59 Полезно(0) Полезно(0)
Спасибо!
Интересная тема. Мне нравится как google документах помечатся какую часть текста в данный момент кто-то меняет.
С точки зрения программирования, на мой взгляд, программисты должны отдельно сами администрировать какую часть кода они в данный момент имеют право менять, чтобы не запутать друг друга.
С другой стороны, в отличие от системы контроля версий, может сложиться ситуация, когда один программист уже свои баги исправил и ему нужно проверить результат, а остальные члены команды ещё не внесли свои новые баги и синтакс не сходится.
Развернуть
  • x

I%20am%20an%20IT%20engineer%20in%20the%20State%20Museum%20Reserve%20Peterhof.%20My%20job%20is%20keeping%20alive%20our%20network%2C%20servers%20and%20storages%20solutions%20and%20also%20preparing%20for%20purchasing%20new%20equipment%20and%20server%20software.

Комментарий

Отправить
Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация

Внимание Внимание! В целях защиты правовых интересов Вас, сообщества и третьих лиц, не публикуйте любой материал, содержащий политические высказывания, порнографию, упоминание азартных игр, употребление наркотиков, а также материал, нарушающий коммерческую тайну или содержащий персональные данные пользователей. Также не предоставляйте данные от вашей учетной записи. Вы будете нести ответственность за все действия, выполняемые под вашим аккаунтом. Подробная информация: “Политика конфиденциальности..”
Если кнопка вложения недоступна, обновите Adobe Flash Player до последней версии.

My Followers

Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Вход

Huawei ICT Club
Huawei ICT Club
Заблокировать
Вы уверены, что хотите заблокировать этого пользователя?
Пользователи из вашего черного списка не могут комментировать ваши посты, не могут упоминать вас, не могут отправлять личные сообщения.