Инструменты пользователя

Инструменты сайта


doc:2003:mgul.200300.001.3201

Это старая версия документа!


АННОТАЦИЯ

Спецификация предназначена для детализированного описания требований к реализации сущностей АС averobo на данных БД dbrobo с целью построения ретроспективного анализа данных.

Условие отбора данных

  • Отбор данных из БД Dbrobo:

Выборка данных осуществляется через API-запрос за последние 15 минут. По расаписанию планировщика crontab(работает от демона cron) первый запуск происходит в 00:00 каждого дня и срабатывает каждые 15 минут.

  • Отбор данных из БД Averobo:

Выборка данных осуществляется через подключение к БД через библиотеку psycopg2. В зависимости от типа осреднения происходит подключение к одной из двух таблиц. Для осреднений сутки и час обращение идет к таблице half_path, для осреднений неделя и месяц – table_with_time. Полное расписание планировщика представлено в таблице 1.

Табл.1 Расписание планировщика

Дата запуска планировщика Тип осреднений
ХХ:00 15-минут
ХХ:08 Час
00:12 Сутки
00:16 Неделя
00:20 Месяц

Модель данных

Модель данных для таблиц main_table, table_with_time, half_path представлены в таблицах 2, 3, 4 соответсвенно:

Табл. 2 Модель данных main_table

Name Code Data Type Comment Алгоритм заполнения
Дата осреднения date date Дата осреднения
Название и серия прибора name varchar (50) Название и серия прибора
Тип осреднения average varchar (50) Типы осреднения:
average_of_day
maximum_in_day
minimum_in_day
average_of_week
maximum_in_week
minimum_in_week
Названия функций:
insertavgday
insertmaxday
insertminweek
insertminday
insertavgweek
insertmaxweek
json-file с осреднениями json-file json Структура хранения данных:
название датчика: осредненные данные

Табл. 3 Модель данных table_with_time

Name Code Data Type Comment Алгоритм заполнения
Дата осреднения date timestamp Дата осреднения с временем
Название и серия прибора name varchar (50) Название и серия прибора
Тип осреднения average varchar (50) Тип осреднения:
aver_hour
maximum_in_hour
minimum_in_hour
aver_15min
minimum_in_15min
maximum_in_15min
Названия функций:
insertavghour
insertmaxhour
insertminhour
function_15_min
json-file с осреднениями json-file json Структура хранения данных:
название датчика: осредненные данные

Табл. 4 Модель данных half_path

Name Code Data Type Comment Алгоритм заполнения
Дата осреднения date timestamp Дата осреднения с временем
Название и серия прибора name varchar (50) Название и серия прибора
Тип осреднения average varchar (50) Тип осреднения:
aver_hour
maximum_in_hour
minimum_in_hour
aver_15min
minimum_in_15min
maximum_in_15min
Названия функций:
insertavghour
insertmaxhour
insertminhour
function_15_min
Количество осредненняемых значений num json Количество осредненняемых значений
Сумма неосредненных значений sum json Сумма неосредненных значений

PostgreSQL

  • Установка и запуск PostgreSQL
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo systemctl start postgresql.service

CRONTAB

Для установки расписания выполнения программ используется crontab. Чтобы запустить текстовый редактор и добавить необходимые записи в файл конфигурации cron необходимо выполнить следующую команду:

crontab -e

Запись состоит из семи полей: минуты часы день месяц день_недели выполняющая_программа команда Следовательно, для запуска скрипта для заполнения пятнадцатиминутных значений необходимо прописать время в формате */15 * * * *, путь до расположения интерпретатора Python3 и путь до выполняемого файла.

*/15 * * * * /usr/bin/python3 /home/alenanaz/test_myfunctions.py

Аналогично будут составлены записи для заполнения почасовых и ежедневных значений.

10 * * * * /usr/bin/python3 /home/alenanaz/test_myfunctions_hour.py
15 0 * * * /usr/bin/python3 /home/alenanaz/test_myfunctions_day.py
doc/2003/mgul.200300.001.3201.1723275378.txt.gz · Последние изменения: 2024/08/10 10:36 — daftwi