Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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** – массив коэффициентов, используемых для калибровки датчика. Это поле может содержать один или несколько коэффициентов, в зависимости от сложности калибровки. |