Способ синхронизации данных между внешним устройством и базой данных? - PullRequest
0 голосов
/ 01 августа 2009

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

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

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

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

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

Спасибо,

Ответы [ 2 ]

0 голосов
/ 01 августа 2009

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

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

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

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

  1. Каков график работы устройства заполнить данные?
  2. Вам нужны данные как есть или вы хотите немного контролировать его или вас нужно обработать, как суммирование и агрегирование и т. д.
0 голосов
/ 01 августа 2009

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

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

Microsoft Sync Framework

...