Привет,
Я работал над приложением C # .NET, которое взаимодействует с регистратором данных. Пользователь может запрашивать и получать журналы за указанный период времени, а также просматривать графики данных. Обычно новый журнал данных создается каждую минуту и сохраняет измерения для нескольких параметров. Чтобы получить значимую информацию из регистратора, необходимо собрать разумное количество журналов - данные, по крайней мере, за несколько дней. Аппаратный интерфейс представляет собой модуль UART-USB на устройстве, который ограничивает скорость передачи до 30 журналов в секунду. Это становится довольно медленным при чтении данных, полученных за несколько дней / недель.
То, что я хотел бы сделать, это улучшить воспринимаемую производительность для пользователя. Я понимаю, что с аппаратным ограничением скорости пользователю придется ждать полного цикла загрузки, по крайней мере, при первом получении большего набора данных. Моя цель состоит в том, чтобы кэшировать все данные, видимые приложением, чтобы они могли быть получены быстрее, если когда-либо потребуется снова. Подход, который я рассматривал, заключается в использовании легкой базы данных, такой как SqlServerCe, которая может хранить журналы данных по мере их поступления. Затем я надеюсь сначала выполнить поиск в кеше, прежде чем запрашивать у устройства логи. Кэш будет обновляться любыми журналами, полученными по запросу, которые еще не были кэшированы.
Наконец, мой вопрос - вы считаете это хорошим подходом? Есть ли лучшие альтернативы, которые вы можете придумать? Я пытался найти SO и Google для подкрепления этой идеи, но я в основном сталкиваюсь с обсуждением кэширования веб-запросов / контента.
Спасибо за любые отзывы!