Способ синхронизации данных между внешним устройством и базой данных?
-
06-07-2019 - |
Вопрос
В приложении, которое я разрабатываю, мне нужно общаться с устройством и сохранять историю чтения данных в базе данных. Устройство представляет собой датчик, который выдает числа через последовательный порт. Пользовательская часть приложения представляет собой интерфейс RubyOnRails, который позволяет пользователю просматривать эти данные и настраивать устройство. Р>
Мне интересно, какое соединение между базой данных и устройством вы могли бы порекомендовать для такого рода настройки.
До этого момента на хост-компьютере (компьютере с устройством, подключенным напрямую через последовательный порт) работало пользовательское приложение, которое служило бы мостом для базы данных MySQL. Приложение будет подключаться напрямую к базе данных MySQL и выполнять запросы. Это работает довольно хорошо, но я не уверен, что это лучшее решение.
Единственная другая альтернатива, которую я вижу, - это иметь промежуточное приложение, к которому моё пользовательское приложение может подключаться, вместо того, чтобы напрямую обращаться к базе данных. Это может быть частью основного приложения или чем-то отдельным. Будет ли это лучшим решением?
Вы бы порекомендовали другой подход?
Спасибо,
Решение
У меня похожая структура, хотя я получаю свои данные из веб-службы. То, как я организовываю это:
<Ол> lib / import
, например, DailyDataImport
, DailyDataSummarize
(вы можете организовать иерархию и имена по своему желанию или желанию) . rake
в новом пространстве имен, произнесите import
и добавьте ее в задание cron в зависимости от частоты. Взгляните на Cron в Ruby . Это полезно. Это позволяет мне лучше контролировать то, что происходит в моей базе данных.
Некоторые вопросы для рассмотрения:
<Ол>Другие советы
MS SQL Server 2008 имеет отличную поддержку синхронизации данных.
SQL Server 2008 Express является бесплатным и может выступать в качестве подписчика репликации (но не издателя) для клиентов.