Three-Way Merging Algorithm for Structured Data

A general problem in multi-node systems is data synchronization, where the most used method uses synchronous data updating. All changes made by the user are immediately reflected in the data shared with other users. This also means that the user must be constantly connected to the data source via a...

Full description

Saved in:
Bibliographic Details
Main Authors: Jan Janech, Patrik Hrkut, Matej Mesko, Marek Tavac
Format: Article
Language:English
Published: IEEE 2025-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/11045384/
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1849420687682306048
author Jan Janech
Patrik Hrkut
Matej Mesko
Marek Tavac
author_facet Jan Janech
Patrik Hrkut
Matej Mesko
Marek Tavac
author_sort Jan Janech
collection DOAJ
description A general problem in multi-node systems is data synchronization, where the most used method uses synchronous data updating. All changes made by the user are immediately reflected in the data shared with other users. This also means that the user must be constantly connected to the data source via a computer network. As a result, each user always has instant access to up-to-date data. However, the trend in computer systems nowadays is more and more focused on mobility. For this reason, some systems are designed in such a way that it is not necessary or desirable for them to require constant network connectivity. In such systems with asynchronous data updating, it is significantly more complicated to keep the data up to date. The user has all the necessary data available locally on their computer and synchronizes it with the global state of the information system on demand. In this paper, we describe a novel algorithm that can merge data during asynchronous updates. The design of our algorithm is inspired by the diff3 algorithm. Since the diff3 algorithm is designed only for merging text files, we had to change it to enable data merging at the level of programming structures. The proposed algorithm has been verified and implemented in the IS ZONA developed by our department.
format Article
id doaj-art-d63bbdf6842d4d6da84d442c8a83b7f5
institution Kabale University
issn 2169-3536
language English
publishDate 2025-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj-art-d63bbdf6842d4d6da84d442c8a83b7f52025-08-20T03:31:40ZengIEEEIEEE Access2169-35362025-01-011311335611336710.1109/ACCESS.2025.358168411045384Three-Way Merging Algorithm for Structured DataJan Janech0https://orcid.org/0000-0001-9311-8638Patrik Hrkut1https://orcid.org/0000-0002-8747-9194Matej Mesko2https://orcid.org/0000-0003-4318-0198Marek Tavac3https://orcid.org/0000-0001-8636-3651Department of Software Technologies, Faculty of Management Science and Informatics, University of Žilina, Žilina, SlovakiaDepartment of Software Technologies, Faculty of Management Science and Informatics, University of Žilina, Žilina, SlovakiaDepartment of Software Technologies, Faculty of Management Science and Informatics, University of Žilina, Žilina, SlovakiaDepartment of Software Technologies, Faculty of Management Science and Informatics, University of Žilina, Žilina, SlovakiaA general problem in multi-node systems is data synchronization, where the most used method uses synchronous data updating. All changes made by the user are immediately reflected in the data shared with other users. This also means that the user must be constantly connected to the data source via a computer network. As a result, each user always has instant access to up-to-date data. However, the trend in computer systems nowadays is more and more focused on mobility. For this reason, some systems are designed in such a way that it is not necessary or desirable for them to require constant network connectivity. In such systems with asynchronous data updating, it is significantly more complicated to keep the data up to date. The user has all the necessary data available locally on their computer and synchronizes it with the global state of the information system on demand. In this paper, we describe a novel algorithm that can merge data during asynchronous updates. The design of our algorithm is inspired by the diff3 algorithm. Since the diff3 algorithm is designed only for merging text files, we had to change it to enable data merging at the level of programming structures. The proposed algorithm has been verified and implemented in the IS ZONA developed by our department.https://ieeexplore.ieee.org/document/11045384/Three-way mergeasynchronous datasoftware algorithmsdata integrationdata mergingalgorithm design
spellingShingle Jan Janech
Patrik Hrkut
Matej Mesko
Marek Tavac
Three-Way Merging Algorithm for Structured Data
IEEE Access
Three-way merge
asynchronous data
software algorithms
data integration
data merging
algorithm design
title Three-Way Merging Algorithm for Structured Data
title_full Three-Way Merging Algorithm for Structured Data
title_fullStr Three-Way Merging Algorithm for Structured Data
title_full_unstemmed Three-Way Merging Algorithm for Structured Data
title_short Three-Way Merging Algorithm for Structured Data
title_sort three way merging algorithm for structured data
topic Three-way merge
asynchronous data
software algorithms
data integration
data merging
algorithm design
url https://ieeexplore.ieee.org/document/11045384/
work_keys_str_mv AT janjanech threewaymergingalgorithmforstructureddata
AT patrikhrkut threewaymergingalgorithmforstructureddata
AT matejmesko threewaymergingalgorithmforstructureddata
AT marektavac threewaymergingalgorithmforstructureddata