Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mobile Data synchronization

I am currently starting to develop a mobile application (iOS and Android) for an existing web platform. This web platform has a REST API and the client application will use that for communicating. The thing is that the mobile application can make changes to the API, and I must have offline support. This will have synchronisation issues:

  1. Clients can change the same data offline and then it can create problems when sync that info with the server

  2. The web client can change the information as well and the the mobile client is offline and don't see that changes, and my as well change that old content

  3. Having the mobile application to store the latest data offline so that the user may work. And the when it comes online it should address changes and send the changes to the server

Are there any theoric things I may read or see algorithms that can be used for this? I mean this is very usual on mobile apps development and I don't want to reinvent the wheel here.

like image 542
apinho Avatar asked Aug 29 '13 12:08

apinho


People also ask

What is mobile synchronization?

Synchronization occurs when a mobile device communicates with applications on a personal computer or a server. This is often referred to simply as a "sync" or a "docking".

What do you mean by data synchronization?

Data synchronization is the ongoing process of synchronizing data between two or more devices and updating changes automatically between them to maintain consistency within systems. While the sheer quantity of data afforded by the cloud presents challenges, it also provides the perfect solution for big data.

What are the benefits of data synchronization?

What are the benefits of data synchronization? Data synchronization prevents data conflicts, which can result in errors and low-quality, low-trust data. Synchronized, trustworthy data is essential for security, compliance, and a wide variety of operational functions.


1 Answers

Recently I blogged about syncing (sync algorithm for exchanging data in the “Client – Server” model via REST API). The algorithm I mentioned in the post is used for building sync functionality to support offline clients. It might help you to get some ideas with building the sync logic for your specific requirements.

Note: the reason I simply provide the link to the mentioned algorithm instead of explaining it here is that the post includes many valuable comments which compliment the article.

like image 72
Havrl Avatar answered Oct 04 '22 17:10

Havrl