문제

내가 설계하는 응용 프로그램에서는 장치와 통신하고 데이터 판독 히스토리를 데이터베이스에 저장해야합니다. 장치는 본질적으로 직렬 포트를 통해 숫자를 뱉어내는 센서입니다. 응용 프로그램의 사용자 끝은 사용자 가이 데이터를보고 장치를 구성 할 수있는 RubyOnrails 인터페이스입니다.

데이터베이스와 이런 종류의 설정에 권장 할 수있는 장치간에 어떤 종류의 연결이 있는지 궁금합니다.

이 시점까지 MySQL 데이터베이스의 브리지 역할을하는 호스트 컴퓨터 (직렬 포트를 통해 직접 연결된 컴퓨터)에서 사용자 정의 응용 프로그램이 실행되었습니다. 응용 프로그램은 MySQL 데이터베이스에 직접 연결되어 쿼리를 실행합니다. 그것은 상당히 잘 작동하지만 이것이 최선의 솔루션인지 확실하지 않습니다.

내가 보는 유일한 다른 대안은 데이터베이스에 직접 이동하는 대신 사용자 정의 응용 프로그램이 연결할 수있는 중간 응용 프로그램을 갖는 것입니다. 이것은 기본 응용 프로그램의 일부일 수도 있고 별도의 것일 수 있습니다. 이것이 더 나은 솔루션일까요?

다른 접근법을 추천 하시겠습니까?

고맙습니다,

도움이 되었습니까?

해결책

웹 서비스에서 데이터를 가져 오지만 비슷한 구조가 있습니다. 내가 조직하는 방식은 다음과 같습니다.

  1. 수업을 만듭니다 lib/imports, 예를 들어 DailyDataImport, DailyDataSummarize (당신은 당신의 소원이나 의지에 따라 계층 구조와 이름을 구성 할 수 있습니다).
  2. a rake 새로운 네임 스페이스 아래의 작업 import 주파수에 따라 Cron 작업에 추가하십시오. 보세요 루비의 크론. 도움이됩니다.

이를 통해 데이터베이스의 내용을 더 잘 제어 할 수 있습니다.

고려해야 할 몇 가지 질문 :

  1. 장치가 데이터를 채우기 위해 어떤 일정을 따라가는 일정은 무엇입니까?
  2. 데이터가 필요합니까 아니면 약간의 제어를 원하십니까? 아니면 요약 및 집계 등과 같이 처리해야합니다.

다른 팁

MS SQL Server 2008에는 훌륭한 데이터 동기화 지원이 있습니다.

SQL Server 2008 Express는 무료이며 클라이언트를위한 복제 가입자 (게시자는 아님) 역할을 할 수 있습니다.

Microsoft 동기화 프레임 워크

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top