@Myuji

Как хранить динамические данные?

Есть некоторое число которое обнавляется раз в секунду, нужно хранить его трое суток для отображения графика. Выводится среднее за последнюю минуту и оно отрисовывается в график. Подскажите как лучше хранить такие данные? Желательно что бы данные загружались после перезапуска программы. Подскажите как лучше хранить такие данные когда новые стирают старые и остается данных на заданное количество времени. Покадумаю использовать массив на все секунды за трое суток и по нему выстраивать график.
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ответы на вопрос 4
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
Используйте time series Базы данных.
Или проще говоря, базу данных в которых есть timestamp -> значение
И стройте себе потом графики.
Ответ написан
Jourloy
@Jourloy
Ламер
Записывать число в базу данных, к числу прикреплять дату получения этого числа
Каждую секунду проверять числа, если текущая дата отличается от той, что в бд, то удалять ее

Использование бд - единственный способ сохранить переменные после перезагрузки программы
Ответ написан
firedragon
@firedragon
Senior .NET developer
Смотрите делаете файл со следующей структурой

Datetime время последней записи
Duration int количество записей в файле
Pointer int указатель на кольцевой буфер

Дальше идут записи типа float * duration

Для вашего случая их должно быть 3* 8600

Раз в секунду вы открываете файл и обновляете datetime pointer и запись по индексу pointer . Поинтер монотонно растёт когда он становиться равным размеру то перескакивает на 0 в общем кольцевой буфер
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы