인사말,데이터 로거에서 데이터를 캐싱하기위한 접근 방식
저는 데이터 로거와 상호 작용하는 C# .NET 응용 프로그램에서 작업 해 왔습니다. 사용자는 지정된 시간 동안 로그를 쿼리하고 얻을 수 있으며 데이터의 플롯을 볼 수 있습니다. 일반적으로 새 데이터 로그가 매분마다 생성되고 몇 가지 매개 변수에 대한 측정 값이 저장됩니다. 로거에서 의미있는 정보를 얻으려면 최소한 며칠 동안 데이터를 수집해야합니다. 하드웨어 인터페이스는 장치의 UART 대 USB 모듈로 최대 약 30 로그/초로 전송을 제한합니다. 수 일/주에 걸쳐 수집 된 데이터를 읽을 때 이것은 매우 느려집니다.
내가 뭘하고 싶은지는 사용자의인지 된 성능을 향상시키는 것입니다. 하드웨어 속도 제한으로 인해 사용자는 적어도 더 큰 데이터 집합을 처음 획득 할 때 전체 다운로드주기를 기다려야 할 것입니다. 내 목표는 앱에서 본 모든 데이터를 캐시하여 다시 요청하면 빠르게 얻을 수 있도록하는 것입니다. 내가 고려해 오던 접근법은 SqlServerCe와 같은 가벼운 데이터베이스를 사용하여 데이터 로그를받을 때 저장할 수 있습니다. 그런 다음 장치를 쿼리하기 전에 먼저 캐시를 검색하려고합니다. 캐시는 아직 캐시되지 않은 요청에 의해 획득 된 모든 로그로 갱신됩니다.
마지막으로 제 질문 -이 방법을 좋은 방법이라고 생각하십니까? 당신이 생각할 수있는 더 나은 대안이 있습니까? 나는 SO와 Google에서 아이디어를 강화하려고 노력했지만 대부분 웹 요청/콘텐츠 캐싱에 대한 토론을 시작합니다.
의견을 보내 주셔서 감사합니다.