Pergunta

No aplicativo que eu estou projetando, eu tenho que comunicar com um dispositivo e armazenar um histórico de leituras de dados em um banco de dados. O dispositivo é essencialmente um sensor que expelir números através da porta serial. A extremidade do utilizador da aplicação é uma RubyOnRails interface que permite ao utilizador ver estes dados e configurar o dispositivo.

Eu estou querendo saber que tipo de conexão entre o banco de dados e o dispositivo que você poderia recomendar para este tipo de configuração.

Até este ponto, eu tinha um aplicativo personalizado executado em um computador host (um computador com o dispositivo conectado diretamente através de uma porta serial) que serviria como uma ponte para um banco de dados MySQL. O aplicativo poderia conectar diretamente ao banco de dados MySQL e executar consultas. Ele funciona razoavelmente bem, mas eu não tenho certeza se esta é a melhor solução.

A única outra alternativa que eu vejo é ter uma aplicação intermediária que meu aplicativo personalizado pode se conectar a, em vez de ir diretamente para o banco de dados. Esta poderia ser uma parte do pedido principal, ou algo separar. Isso seria uma solução melhor?

Você recomendaria outra abordagem?

Obrigado,

Foi útil?

Solução

Eu tenho uma estrutura semelhante, embora eu vou buscar os meus dados a partir de um Web Service. A maneira que eu organizar é:

  1. Criar classes em lib/imports, por exemplo DailyDataImport, DailyDataSummarize (você pode organizar a hierarquia e nomes como por seu desejo ou vontade).
  2. Criar uma tarefa rake sob um novo namespace, dizem import e adicioná-lo ao seu trabalho cron dependendo da frequência. Dê uma olhada na Cron em Ruby . Sua útil.

Isso me permite ter um melhor controle sobre o que se passa no meu banco de dados.

Algumas questões a considerar:

  1. O cronograma faz o acompanhamento de dispositivos para preencher os dados?
  2. Do que você precisa os dados tal como está ou você quer um pouco controle sobre ele ou você precisa para processá-lo, como resumindo e agregar etc.

Outras dicas

MS SQL Server 2008 tem um grande suporte a sincronização de dados.

SQL Server 2008 Express é gratuito e pode agir como um assinante de replicação (mas não editor) para os clientes.

Microsoft Sync Framework

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top