Preview

Вестник НГУ. Серия: Информационные технологии

Расширенный поиск

Разработка многопользовательской модели данных с использованием подхода Operational Transformation

https://doi.org/10.25205/1818-7900-2020-18-3-44-56

Аннотация

Предоставление пользователям возможности одновременно редактировать общую модель данных является непростой задачей для современных информационных систем. Большинство существующих алгоритмов требуют наличия постоянного сетевого постоянного сетевого подключения пользователей к системе, в противном случае, их намерения могут быть искажены и потеряны. Однако наличие постоянного сетевого подключения между пользователями накладывает сильные ограничения на возможные сценарии использования информационной системы. Для решения этой проблемы в работе предлагается использование гибридного подхода: за основу был взят механизм Operational Transformation, который вводит концепции преобразования пользовательских намерений; вместе с тем, для обеспечения возможности работы с моделью без сетевого подключения используется концепция системы контроля версий, которая оперирует ветками и коммитами. Таким образом, в коммитах системы контроля версий предлагается хранить пользовательские намерения в виде операций. Для совместной работы этих двух систем была проанализирована работа оригинального алгоритма преобразования операций и предложена новая модель поддержания консистентности состояния которая поддерживает обработку возможных конфликтов пользовательских намерений. Благодаря использованию модифицированного алгоритма преобразования операций, появляется возможность производить слияние веток в системе контроля версий, таким образом реализуя необходимую функциональность для многопользовательской работы с общей моделью. Использование описанного в работе комбинированного подхода позволит строить информационные системы, которые позволят пользователям модифицировать общую модель данных без постоянного сетевого подключения.

Об авторе

К. Е. Салтук
Новосибирский государственный университет
Россия


Список литературы

1. Chacon S., Straub B. Pro git. Apress, 2014.

2. Mackall M. Towards a better SCM: Revlog and mercurial. Proc. Ottawa Linux Sympo, 2006, vol. 2, p. 83-90.

3. Apel S. et al. Semistructured merge: rethinking merge in revision control systems. In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, 2011, p. 190-200.

4. Cavalcanti G., Borba P., Accioly P. Evaluating and improving semistructured merge. Proceedings of the ACM on Programming Languages, 2017, vol. 1, no. OOPSLA, p. 1-27.

5. Sun C., Ellis C. Operational transformation in real-time group editors: issues, algorithms, and achievements. In: Proceedings of the 1998 ACM conference on Computer supported cooperative work. 1998, p. 59-68.

6. Sun C. et al. Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems. ACM Transactions on Computer-Human Interaction (TOCHI), 1998, vol. 5, no. 1, p. 63-108.

7. Cart M., Ferrie J. Asynchronous reconciliation based on operational transformation for p2p collaborative environments. In: International Conference on Collaborative Computing: Net-working, Applications and Worksharing (CollaborateCom 2007). IEEE, 2007, p. 127-138. DOI 10.1109/COLCOM.2007.4553821

8. Krusche S., Berisha M., Bruegge B. Teaching code review management using branch based workflows. In: Proceedings of the 38th International Conference on Software Engineering Companion. 2016, p. 384-393. DOI 10.1145/2889160.2889191


Рецензия

Для цитирования:


Салтук К.Е. Разработка многопользовательской модели данных с использованием подхода Operational Transformation. Вестник НГУ. Серия: Информационные технологии. 2020;18(3):44-56. https://doi.org/10.25205/1818-7900-2020-18-3-44-56

For citation:


Saltuk K.E. Building Collaborative Data System on Top of the Operational Transformations Algorithm. Vestnik NSU. Series: Information Technologies. 2020;18(3):44-56. (In Russ.) https://doi.org/10.25205/1818-7900-2020-18-3-44-56

Просмотров: 72


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 1818-7900 (Print)
ISSN 2410-0420 (Online)