2016-05-03 1 views
0

Привет всем и спасибо заранее,
Мне нужно создать систему для отслеживания некоторых записей, которые будут обновляться еженедельно (максимум), эта система будет установлена, по крайней мере, на 12 ПК, многие из которых не имеют подключения к Интернету, поэтому я думаю, что единственным вариантом для подачи основного сервера является экспорт данных в файл (XML/JSON ...) и импортируя его в мастер ... другое требование состоит в том, что мастеру придется сгенерировать еще один файл для обновления подчиненного ... идея состоит в том, чтобы как можно больше синхронизировать все ПК. Я уже искал ключевые слова, такие как «методы синхронизации баз данных с помощью xml», но лучшее, что я нашел, это статья, в которой упоминалось о необходимости столбца для отслеживания, которое было обновлено в последний раз ...Как синхронизировать основную базу данных (MySQL) с несколькими подчиненными устройствами с помощью xml/json

Спасибо всем за ваш ответы ... Я попытаюсь объяснить идею, которую я имею до сих пор ... и цели для системы ... извините за мой плохой английский.

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

  • Следите показателей с деталями, как само значение, город он принадлежит, дата и т.д.
  • Визуализация данных.
  • Синхронизируйте эти данные с основным сервером, который станет основным ресурсом для планирования и изучения, а также синхронизируется с клиентами.
  • Простой в установке и эксплуатации, поскольку пользователи мало осведомлены о компьютерах или ИТ.

Идея, которой я располагаю до сих пор, заключается в создании системы с PHP/MySQL/Apache, которая будет распространяться с использованием портативного веб-сервера (uniserver zero XII) с предустановленной системой (в комплекте). Пользователь установит копию и зарегистрирует новую учетную запись в этой учетной записи клиента ..., которая будет использоваться в качестве ссылки для дифференциации записей после их синхронизации. Поскольку у некоторых пользователей нет Интернета и характера веб-сервера (переносимого), я не думаю, что репликация является вариантом, как я думал в начале ... так что моя нынешняя идея решения заключается в том, чтобы экспортировать данные в формате XML или JSON ... и импортировать его на главный сервер, который также должен экспортировать свои данные для обновления клиента.

Надежда Я объясняю это правильно ... пожалуйста, поделитесь со мной ваши комментарии :)

+0

Можете ли вы не просто создать резервную копию мастера и восстановить все подчиненные, скажем раз в неделю – RiggsFolly

+1

Почему с XML и JSON? Репликация уже встроена в MySQL. – EJP

+0

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

ответ

3

Но зачем изобретать велосипед, когда авторы MySQL replication уже решили эту проблему:

репликации данных позволяет один сервер базы данных MySQL (мастер) для репликации на один или несколько серверов баз данных MySQL (подчиненных). Репликация является асинхронной - ведомые устройства не обязательно должны быть подключены постоянно для получения обновлений от мастера. Это означает, что обновления могут происходить по междугородним соединениям и даже по временным или прерывистым соединениям, таким как услуга удаленного доступа. В зависимости от конфигурации вы можете реплицировать все базы данных, выбранные базы данных или даже выбранные таблицы в базе данных.

Emphasis mine.

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

+3

Репликация - ответ здесь. Роллинг с помощью XML или JSON требует мира обиды. – tadman