Как синхронизировать базу данных MYSQL с удаленным сервером и с удаленного на настольный сервер - PullRequest
0 голосов
/ 22 мая 2010

Я сделал приложение, которое имеет два интерфейса. Первый - это рабочий стол, а другой - веб-приложение. Оба имеют свои собственные базы данных (которые одинаковы по структуре).

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

Я использую базу данных MYSQL. и мое настольное приложение находится в .NET

ПРИМЕЧАНИЕ. Существует несколько настольных систем, которые обновляют свои базы данных, а также синхронизируют базы данных.

Ответы [ 2 ]

1 голос
/ 22 мая 2010

Зависит от того, где данные созданы и изменены.

  • Если настольное приложение отображает данные только с центрального сервера и требует периодического обновления, используйте replication .

  • Если вам нужно, чтобы все было синхронизировано, используйте clustering . В этом случае все клиенты должны быть в сети, что может не подходить для вас, и в этом случае вам нужно ...

  • разверните свое собственное решение (то есть добавьте какие-либо метки / флаги в таблицы базы данных, например last_updated и т. Д. И используйте их для отправки изменений туда и обратно). Будьте готовы иметь дело с разрешением конфликтов обновления и другими проблемами, которые возникают в распределенной среде

0 голосов
/ 22 мая 2010

Я только что реализовал аналогичный процесс синхронизации между настольным приложением и веб-сервером.

Я использую уникальные временные первичные ключи при создании записей в настольном приложении. Поэтому, когда я загружаю данные, сервер ищет первичный ключ, и если он не существует, он создает новую запись, заменяя временный первичный ключ на реальный. Затем сервер возвращает реальный первичный ключ для каждой записи.

Я использую XML для загрузки всех новых записей с рабочего стола и загрузки всех записей с сервера в одной транзакции HTTP.

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

Кроме того, наши пользователи должны ввести имя пользователя и пароль для синхронизации, поэтому эти параметры также отправляются в POST.

Обязательно отфильтруйте и проверьте все данные, полученные от клиента, прежде чем вставлять их в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...