2015-12-09 6 views
0

Я разработал онлайн-планировщик, который позволяет моим клиентам создавать встречи с моим центром красоты. Теперь у меня также есть клиентское приложение с большим количеством функций, но я также могу назначить встречу в качестве веб-приложения. Моя цель на этом этапе - синхронизировать назначение и другую информацию, такую ​​как настройки, таблицу клиентов, таблицу поставщиков и т. Д. Моего клиентского приложения в онлайн-приложении. Таким образом, шаг должен быть таким:Как синхронизировать данные между двумя базами данных?

  1. создать встречу на своем клиентском приложении
  2. Клиентское приложение вставить назначение в онлайновой базе данных

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

1. Есть система, которая позволяет мне синхронизировать данные из базы данных localhost с онлайн-базой данных? 2. Для проблемы с идентификатором я должен создать другое поле, такое как ID_Client, или что-то имеет тот же идентификатор, что и в клиентском приложении? Если да, мне нужно обязательно проверить, уже ли ID уже создан в онлайн-базе данных, и это довольно раздражает. Мне нужно простое и мощное решение для этого. Что предложить?

+0

Предложение: Не используйте идентификационную информацию на клиенте. Добавьте еще один вызов API, который создает «пустую» встречу в вашей веб-базе данных и возвращает идентификатор. Вставьте с помощью возвращаемого идентификатора локально и обновите (вместо вставки) в онлайн-базу данных. Не уверен, что это лучший способ. – phaedra

+0

Хорошо, но вы знаете системы для синхронизации данных? В настоящее время то, что я делаю, это простой запрос на вставку, не кажется большой вещью. – Dillinger

ответ

0

Для выдачи идентификатора вы должны использовать идентификатор GUID для ID, даже не пытайтесь использовать его с помощью первичного ключа идентификации. Это позволяет вам создать идентификатор на клиенте, веб-сервере и т. Д., И они не будут дублироваться.

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

BTW, если вы используете VS2015, а ваши клиенты - все Windows 10, есть некоторые встроенные функции для создания приложений, которые синхронизируются для вас. Но это будет некоторое время, прежде чем мы сможем ожидать, что у пользователей будет Windows 10.

+0

Есть учебник, объясняющий технику GUIDs? – Dillinger

+0

GUID - глобально уникальный идентификатор. Он генерируется путем использования информации с вашей сетевой карты и даты/времени и некоторой другой случайной информации, чтобы попытаться сделать идентификатор, который является уникальным во всем мире. Как вы можете себе представить, это НЕ гарантировано уникальным, но я не думаю, что кто-то когда-либо сталкивался с проблемой, но это возможно, если вы что-то запускали с помощью квантового процессора. Просить учебник по GUID - это просить учебник по типу данных STRING. GUID - это тип данных, а не веб-сервис или что-то подобное. Google для получения дополнительной информации. – Steve

+0

На этом этапе я могу использовать хэш каждой записи, я думаю, это GUID, который я думаю. – Dillinger

Смежные вопросы