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

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


doc:2006:mgul.200600.001.3201

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:2006:mgul.200600.001.3201 [2024/06/29 13:17]
rkushnarenko
doc:2006:mgul.200600.001.3201 [2024/07/01 10:19] (текущий)
rkushnarenko
Строка 44: Строка 44:
 Если необходимо установить Docker на какую-либо другую операционную систему,​ то посмотрите официальную документацию:​ https://​docs.docker.com/​ Если необходимо установить Docker на какую-либо другую операционную систему,​ то посмотрите официальную документацию:​ https://​docs.docker.com/​
  
-===== 2. Настройка баз данных ===== +===== 2. Развертывание приложения =====
-На самом деле все базы данных уже сконфигурированы для начала работы. Необходимо только перейти в папку InfluxDB и удалить в ней содержимое папки db. Тоже самое необходимо проделать для PostgresDB. +
- +
-===== 3. Развертывание приложения =====+
 После успешной установки Docker, можно разворачивать приложение. Для того, чтобы развернуть приложение необходимо перейти в папку проекта. Из самого корня папки проекта необходимо выполнить команду:​ После успешной установки Docker, можно разворачивать приложение. Для того, чтобы развернуть приложение необходимо перейти в папку проекта. Из самого корня папки проекта необходимо выполнить команду:​
 <​code>​docker-compose up</​code>​ <​code>​docker-compose up</​code>​
Строка 74: Строка 71:
   influxdb:   influxdb:
     container_name:​ influxdb     container_name:​ influxdb
-    image: influxdb:latest+    image: influxdb:2
     ports:     ports:
       - '​8086:​8086'​       - '​8086:​8086'​
Строка 186: Строка 183:
 В случае с Postgres, управление немного другое. Достаточно запустить только эту команду,​ и мы войдем в терминал базы, изнутри которого уже можно пользоваться SQL-запросами для управления данными. В случае с Postgres, управление немного другое. Достаточно запустить только эту команду,​ и мы войдем в терминал базы, изнутри которого уже можно пользоваться SQL-запросами для управления данными.
  
 +====== ПРИЛОЖЕНИЕ 1 ======
 +===== Структура базы данных в InfluxDB =====
 +Во входных данных передаются два важных поля: Akey и Serial. На основе этих полей будет формироваться ключ. Они используются для формирования уникального ключа, который будет привязан к остальным полям, переданным в JSON пакете. Это позволяет создавать наборы данных,​ связанные с этим ключом,​ и хранить их в базе данных. ​
 +
 +Каждый набор данных,​ или запись,​ имеет временную метку и поля в формате "​ключ-значение"​. Это позволяет хранить информацию о различных параметрах прибора. ​
 +
 +Когда новое устройство вводится в систему,​ его данные попадают в базу, и для него формируется его модель.
 +
 +===== Структура базы данных в PostgreSQL =====
 +{{:​doc:​2006:​erd.png|}}
 +=== Рисунок 1. ===
 +
 +В PostgreSQL будут находится 3 таблицы (рис. 1):
 +  * **DeviceInfos** – зарегистрированные приборы
 +  * **Users** – пользователи
 +  * **CalibrationItems** – калибровочные данные
 +
 +**Таблица DeviceInfos**
 +
 +Таблица DeviceInfos предназначена для хранения информации о зарегистрированных приборах в системе. Она содержит следующие поля:
 +  * **Id** (первичный ключ) – уникальный идентификатор прибора,​ который может быть использован для однозначной идентификации записи в таблице.
 +  * **Name** – название прибора,​ которое может быть полезно для пользователей при работе с системой.
 +  * **Serial** – серийный номер прибора,​ который может быть использован для отслеживания и идентификации конкретного физического устройства.
 +  * **AuthKey** – ключ аутентификации прибора в системе,​ который используется для подтверждения подлинности данных,​ передаваемых прибором.
 +  * **X** и **Y** – координаты расположения прибора,​ которые могут быть использованы для визуализации данных на карте или для анализа пространственных закономерностей. Location - название места, где расположен прибор,​ что может быть полезно для организации и управления приборами.
 +  * **IsDeleted** – флаг, указывающий,​ выведен ли прибор из системы. Это поле может быть использовано для логического удаления записей вместо физического удаления,​ что позволяет сохранять историю изменений.
 +
 +**Таблица Users**
 +
 +Таблица Users предназначена для хранения информации о пользователях системы. Она содержит следующие поля:
 +  * **Id** (первичный ключ) – уникальный идентификатор пользователя,​ который может быть использован для однозначной идентификации записи в таблице.
 +  * **Username** – имя пользователя,​ которое используется для входа в систему.
 +  * **Password** – пароль пользователя,​ который используется для аутентификации при входе в систему.
 +
 +**Таблица CalibrationItems**
  
 +Таблица CalibrationItems предназначена для хранения калибровочных данных,​ связанных с приборами. Она содержит следующие поля:
 +  * **Id** (первичный ключ) – уникальный идентификатор калибровочной записи,​ который может быть использован для однозначной идентификации записи в таблице.
 +  * **AuthKey** – ключ аутентификации прибора,​ связанного с калибровочной записью. Это поле используется для связи калибровочных данных с конкретным прибором.
 +  * **Sensor** – название датчика,​ для которого применяются калибровочные коэффициенты. Это поле может быть полезно в случае,​ если прибор имеет несколько датчиков,​ требующих отдельной калибровки.
 +  * **CreationDate** – время создания калибровочной записи,​ которое может быть использовано для отслеживания истории калибровок и выявления возможных изменений.
 +  * **Coefficients** – массив коэффициентов,​ используемых для калибровки датчика. Это поле может содержать один или несколько коэффициентов,​ в зависимости от сложности калибровки.
doc/2006/mgul.200600.001.3201.1719656275.txt.gz · Последние изменения: 2024/06/29 13:17 — rkushnarenko