Способ синхронизации данных между внешним устройством и базой данных?

StackOverflow https://stackoverflow.com/questions/1215511

Вопрос

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

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

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

Единственная другая альтернатива, которую я вижу, - это иметь промежуточное приложение, к которому моё пользовательское приложение может подключаться, вместо того, чтобы напрямую обращаться к базе данных. Это может быть частью основного приложения или чем-то отдельным. Будет ли это лучшим решением?

Вы бы порекомендовали другой подход?

Спасибо,

Это было полезно?

Решение

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

<Ол>
  • Создавайте классы в lib / import , например, DailyDataImport , DailyDataSummarize (вы можете организовать иерархию и имена по своему желанию или желанию) .
  • Создайте задачу rake в новом пространстве имен, произнесите import и добавьте ее в задание cron в зависимости от частоты. Взгляните на Cron в Ruby . Это полезно.
  • Это позволяет мне лучше контролировать то, что происходит в моей базе данных.

    Некоторые вопросы для рассмотрения:

    <Ол>
  • В каком расписании работает устройство заполнить данные?
  • Нужны ли вам данные как есть или вы хотите немного контролировать его или вас нужно обработать, как суммирование и агрегирование и т. д.
  • Другие советы

    MS SQL Server 2008 имеет отличную поддержку синхронизации данных.

    SQL Server 2008 Express является бесплатным и может выступать в качестве подписчика репликации (но не издателя) для клиентов.

    Microsoft Sync Framework

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top