Как git и GitHub работают с push и pull для синхронизации данных

Я работаю над проектом, который должен синхронизировать MySQL на стороне сервера с моим приложением SQLite и наоборот. Проект будет реализован как на портале, так и на стороне приложения.

ТОЛКАТЬ

Я успешно реализовал часть приложения, где пользователь может вставлять новые данные в базу данных SQLite со статусом синхронизации «N», если нет подключения к Интернету. Если подключение к Интернету изменяется (подключение к Интернету включено), приложение отправляет свои данные из SQLite со статусом синхронизации «N» на сервер для новой вставки в базу данных MySQL. После успешной вставки этих данных сервер отправляет свой ответ приложению как «успешно», чтобы приложение могло обновить статус данных (со статусом синхронизации «N») до нового статуса «Y».

При наличии подключения к Интернету базы данных на стороне сервера и приложения вставляются со статусом синхронизации «Y».

Проблема в обратном процессе ...

ОБНОВИТЬ

Когда пользователь хочет вставить новые данные со стороны портала, сначала в базу данных на стороне сервера будут вставлены новые данные со статусом синхронизации «N». Теперь, когда приложение хочет синхронизировать (может быть выполнено с помощью того же запроса на синхронизацию из приложения (push), как указано выше, или нового запроса на синхронизацию (обновление)), сервер будет отправлять данные, статус синхронизации которых равен 'N' . После успешного получения ответа сервера приложение вставит новые данные в свою базу данных SQLite со статусом синхронизации «Y» ...

Проблема в том, как сервер может узнать, вставила ли сторона приложения успешно данные в SQLite, чтобы сервер мог обновить статус синхронизации данных с «N» на «Y»? Есть ли способ дать ответ серверу (обратный процесс!) Из приложения?

  • Я что-то не так делаю?
  • Будет ли моя концепция работать или есть другой способ реализовать эту концепцию синхронизации?
  • Как Git и GitHub отправляют данные и обновляют свою базу данных?

PS: Я уже искал похожие запросы, и меня это не удовлетворяет. Я не хочу использовать какие-либо рамки. В нашем проекте потребуется полная поддержка настройки.

Это не имеет ничего общего с git и github. Используя git / github, вы вручную указываете ему толкать / тянуть. Но в случае вашего приложения вы хотите синхронизировать, когда доступно подключение к Интернету. Оба случая разные

denvercoder9 21.05.2018 09:19

Да, я понимаю, что время срабатывания и метод разные. Но в остальном они также используют ту же концепцию синхронизации! Как они отслеживают все изменения и новые обновления, вот мой вопрос?

Sayan Mukherjee 21.05.2018 09:31

Когда пользователи вставляют новые данные в портал (сервер), вы отправляете push-уведомление на телефон. Вы получите уведомление, когда есть подключение к Интернету, поэтому вам не придется проверять наличие Интернета. Затем обновите базу данных телефона и, если транзакция прошла успешно, отправьте на сервер запрос подтверждения.

denvercoder9 21.05.2018 09:43

push-уведомление не всегда получается, насколько я знаю. Хотя отправка запроса подтверждения на сервер - хорошая идея.

Sayan Mukherjee 21.05.2018 10:58
"в противном случае они также используют ту же концепцию синхронизации!" Нет, на самом деле не так. На самом деле Git не отслеживает изменения. Он отслеживает целые файлы. Используя их, он может показывать вам различать различия между двумя версиями файла, но это не означает, что на самом деле он отслеживает различия.
Michael - sqlbot 22.05.2018 02:38

не могли бы вы уточнить, как git работает с файлами отслеживания?

Sayan Mukherjee 22.05.2018 06:53
0
6
85
0

Другие вопросы по теме