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

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


doc:1807:mgul.1800711.004

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:1807:mgul.1800711.004 [2022/06/14 20:50]
gosman321
doc:1807:mgul.1800711.004 [2022/06/15 01:42] (текущий)
gosman321 [4 Запуск WEB-сервиса]
Строка 8: Строка 8:
 Функциональным назначением системы является приём, сохранение и предоставление данных,​ полученных в процессе работы с WEB-интерфейсом и мобильным приложением. Функциональным назначением системы является приём, сохранение и предоставление данных,​ полученных в процессе работы с WEB-интерфейсом и мобильным приложением.
 Основные функции системы состоят в приёме и обработке данных JSON формата,​ сохранение и предоставлении по запросу,​ для последующей обработкой операторами. Основные функции системы состоят в приёме и обработке данных JSON формата,​ сохранение и предоставлении по запросу,​ для последующей обработкой операторами.
-Для функционирования системы требуется серверная операционная си-стема, система управления базами данных,​ веб-сервер с поддержкой языка программирования Java и программный код.+Для функционирования системы требуется серверная операционная система,​ система управления базами данных,​ веб-сервер с поддержкой языка программирования Java и программный код.
    
 ====== Структура системы ====== ====== Структура системы ======
Строка 54: Строка 54:
   $ GRANT ALL PRIVILEGES ON production.* TO ‘Amind’@’localhost’ IDEN-TIFIED BY ‘Abcd123’;​   $ GRANT ALL PRIVILEGES ON production.* TO ‘Amind’@’localhost’ IDEN-TIFIED BY ‘Abcd123’;​
  
-Создавать структуру базы данных не является необходимым,​ поскольку при запуске WEB-приложения ​она создастся автоматически.+Создавать структуру базы данных не является необходимым,​ поскольку при запуске WEB-сервиса она создастся автоматически.
  
-===== 2 Установка зависимостей WEB-приложения ​=====+===== 2 Установка зависимостей WEB-сервиса =====
  
 ==== Установка пакета JDK ==== ==== Установка пакета JDK ====
Строка 70: Строка 70:
   sudo install gradle   sudo install gradle
  
-===== 3 Удалённый доступ к файлам веб-приложения ​=====+===== 3 Удалённый доступ к файлам веб-сервиса =====
  
  
Строка 86: Строка 86:
 ===== 4 Запуск WEB-сервиса ​ ===== ===== 4 Запуск WEB-сервиса ​ =====
  
-Для запуска ​приложения ​необходимо перейти в его корень и ввести команду+Для запуска ​сервиса необходимо перейти в его корень и ввести команду
   gradle BootRun   gradle BootRun
   ​   ​
-После чего ​приложение ​само установит оставшиеся зависимости и при необходимости отобразит ​ошибки.+После чего ​сервис сам установит оставшиеся зависимости и при ​возникновении ​ошибки отобразит ​её.
   ​   ​
 ===== 5 Обязательные изменения в текстах программ ===== ===== 5 Обязательные изменения в текстах программ =====
Строка 96: Строка 96:
  
 2. Замените в нём: 2. Замените в нём:
-  * '​spring.datasource.username'​ – если неоюходимо изменить имя пользователя для доступа к базе данныхх серверному приложению.+  * '​spring.datasource.username'​ – если необходимо изменить имя пользователя для доступа к базе данных ​WEB-сервиса.
   * '​spring.datasource.password'​ – замените на пароль пользователя базы данных.   * '​spring.datasource.password'​ – замените на пароль пользователя базы данных.
   * '​server.http.port'​ – Замените порт, по которому осуществляется HTTP запросы   * '​server.http.port'​ – Замените порт, по которому осуществляется HTTP запросы
Строка 113: Строка 113:
 ====== Сообщения системному программисту ====== ====== Сообщения системному программисту ======
  
-При запуске WEB-приложения ​в консоли Фреймворк будет выводить возможные сообщения ошибок.+При запуске WEB-сервиса в консоли Фреймворк будет выводить возможные сообщения ошибок.
  
 ====== ПРИЛОЖЕНИЕ 1 ====== ====== ПРИЛОЖЕНИЕ 1 ======
Строка 120: Строка 120:
  
  
-1. **opr_list(NName)** – таблица содержащая данные о операторах.+1. **massages(id,showed,​string_text,​ string_color,​string_color_type,​string_speed)** – таблица содержащая данные о сообщениях.
   *Столбцы:​   *Столбцы:​
-    ***N** – уникальный номер оператора(id)+    ***id** – уникальный номер ​сообщения(id). 
-    ***Name** – имя оператора.+    ***showed** – флаг отображения сообщения
 +    ***string_text** – текст сообщения
 +    ***string_color** – статичный цвет сообщения. 
 +    ***string_color_type** – тип ​анимации цвета 
 +    ***string_speed** – скорость ​анимации сдвига сообщения.
  
-2. **objects(NumObNameOb)** – таблица содержащая данные о объектах ​размещения приборов.+2. **string(idcode, name)** – таблица содержащая данные о устройствах.
   *Столбцы:​   *Столбцы:​
-    ***NumOb** – уникальный номер объекта размещения(id)+    ***id** – уникальный номер устройства(id). 
-    ***NameOb** – наименование ​объекта размещения.+    ***code** – уникальный текстовый идентификатор устройства
 +    ***name** – наименование ​места размещения ​устройства,​ отображаемое пользователю.
  
-3. **units_list(uNumuName, Serial, AKey, OPid, x, y, IDob)** – таблица ​со-держащая ​данные ​о используемых приборах.+3. **string_massage(massage_idstring_id)** – таблица ​реализующая ​связь "многие ко многим" между таблицами string и massages.
   *Столбцы:​   *Столбцы:​
-    ***uNum** – уникальный ​номер ​прибора(id). +    ***massage_id** – номер сообщения. 
-    ***uName** – наименование прибора. +    ***string_id** – номер устройства.
-    ***Serial** – серийный номер прибора. +
-    ***AKey** – ключ доступа прибора (используется для идентификации при-бора при передаче данных). +
-    ***OPid** – уникальный номер оператора (берётся из таблицы OPR_list). +
-    ***x** – координата размещения ​прибора Х+
-    ***y** – координата размещения прибора У. +
-    ***IDob** – уникальный ​номер ​объекта размещения (берётся из таблицы Objects) +
- +
-4. **info(Num_i,​ Date, Prib_id, OpNum, ObjectId, x, y)** – таблица содержащая данные о сессиях передачи данных. +
-  *Столбцы:​ +
-    ***Num_i** – номер сессии передачи данных. +
-    ***Date** – временной штамп сессии передачи данных. +
-    ***Prib_id** – уникальный номер прибора передавшего данные (берётся из units_list) +
-    ***OpNum** – уникальный номер оператора, закреплённого к прибору на момент сессии передачи данных (берётся из OPR_list) +
-    ***ObjectId** – уникальный номер объекта размещения,​ где располагался прибор на момент сессии передачи данных. +
-    ***x** – координата X размещения прибора на объекта размещения,​ на момент сессии передачи данных. +
-    ***y** – координата Y размещения прибора на объекте размещения,​ на момент сессии передачи данных. +
- +
-5. **save_data(Num,​ Type, Value)** – таблица содержащая данные,​ полученные ​в процессе сессии передачи данных. +
-  *Столбцы:​ +
-    ***Num** – номер сессии,​ в процессе которой были переданы данные. +
-    ***Type** – вид параметра,​ данные измерения которого были переданы. +
-    ***Value** – значение данных для замеряемого параметра. +
- +
-6. **multiplier(unit,​ sensor, timestamp, ratio)** – таблица содержащая калибровочные данные датчиков. +
-  *Столбцы:​ +
-    ***unit** – уникальный номер прибора на котором установлен калибруемый датчик. +
-    ***sensor** – наименование датчика,​ параметр,​ если он снимает несколько параметров,​ а так же номер датчика,​ если их   ​несколько в одном приборе +
-    ***timestamp** – временная привязка данных калибровки +
-    ***ratio** – данные калибровки. +
- +
-7. **sensors_adr(id,​ unit_id, sensor, adr, timestamp, sensor_name,​ note)** – таблица содержащая адреса датчиков. +
-  *Столбцы:​ +
-    ***id** – уникальный номер записи +
-    ***unit_id** – уникальный номер прибора на котором установлен датчик +
-    ***sensor** – полное название параметра передаваемого датчиком +
-    ***adr** – адрес датчика +
-    ***timestamp** – время внесения данных +
-    ***sensor_name** – короткое наименование параметра +
-    ***note** – заметка о датчике и его применение+
  
 Далее представлена структура базы данных и взаимосвязь таблиц на рисунке 1. Далее представлена структура базы данных и взаимосвязь таблиц на рисунке 1.
  
-{{:doc:1513:bd_after.png?nolink|}}+{{:doc:1807:database.png?400|}}
 === Рисунок 1. === === Рисунок 1. ===
    
  
 ---- ----
- 
-===== SQL запрос,​ для загрузки в новую базу данных созданной структуры ===== 
- 
-<file sql inject.sql>​ 
-SET NAMES utf8mb4; 
-SET FOREIGN_KEY_CHECKS = 0; 
- 
--- ---------------------------- 
--- Table structure for info 
--- ---------------------------- 
-DROP TABLE IF EXISTS `info`; 
-CREATE TABLE `info` ​ ( 
-  `Num_i` int(1) UNSIGNED NOT NULL AUTO_INCREMENT,​ 
-  `Date` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,​ 
-  `Prib_id` tinyint(1) UNSIGNED NOT NULL, 
-  `OpNum` tinyint(1) UNSIGNED NOT NULL, 
-  `ObjectId` tinyint(1) UNSIGNED NOT NULL, 
-  `x` float(10, 5) NOT NULL, 
-  `y` float(10, 5) NOT NULL, 
-  PRIMARY KEY (`Num_i`) USING BTREE, 
-  UNIQUE INDEX `Number_id_index`(`Num_i`) USING BTREE, 
-  INDEX `date_index`(`Date`) USING BTREE, 
-  INDEX `Unit_index`(`Prib_id`) USING BTREE 
-) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page; 
- 
--- ---------------------------- 
--- Table structure for multiplier 
--- ---------------------------- 
-DROP TABLE IF EXISTS `multiplier`;​ 
-CREATE TABLE `multiplier` ​ ( 
-  `unit` tinyint(1) NOT NULL, 
-  `sensor` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  `timestamp` datetime(0) NOT NULL, 
-  `ratio` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  `adr` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  INDEX `Unit_index_multip`(`unit`) USING BTREE 
-) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page; 
- 
--- ---------------------------- 
--- Table structure for objects 
--- ---------------------------- 
-DROP TABLE IF EXISTS `objects`; 
-CREATE TABLE `objects` ​ ( 
-  `NumOb` tinyint(1) UNSIGNED NOT NULL AUTO_INCREMENT,​ 
-  `NameOb` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  PRIMARY KEY (`NumOb`) USING BTREE 
-) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page; 
- 
--- ---------------------------- 
--- Table structure for opr_list 
--- ---------------------------- 
-DROP TABLE IF EXISTS `opr_list`; 
-CREATE TABLE `opr_list` ​ ( 
-  `N` tinyint(1) UNSIGNED NOT NULL AUTO_INCREMENT,​ 
-  `Name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  PRIMARY KEY (`N`) USING BTREE 
-) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page; 
- 
--- ---------------------------- 
--- Table structure for save_data 
--- ---------------------------- 
-DROP TABLE IF EXISTS `save_data`;​ 
-CREATE TABLE `save_data` ​ ( 
-  `Num` int(1) UNSIGNED NOT NULL, 
-  `Type` char(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  `Value` char(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  INDEX `Num_ses`(`Num`) USING BTREE, 
-  INDEX `Type_value_index`(`Type`,​ `Value`) USING BTREE 
-) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page; 
- 
--- ---------------------------- 
--- Table structure for sensors_adr 
--- ---------------------------- 
-DROP TABLE IF EXISTS `sensors_adr`;​ 
-CREATE TABLE `sensors_adr` ​ ( 
-  `id` smallint(1) UNSIGNED NOT NULL AUTO_INCREMENT,​ 
-  `unit_id` tinyint(1) UNSIGNED NOT NULL, 
-  `sensor` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  `adr` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  `timestamp` datetime(0) NOT NULL, 
-  `sensor_name` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  `note` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, 
-  PRIMARY KEY (`id`) USING BTREE 
-) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page; 
- 
--- ---------------------------- 
--- Table structure for units_list 
--- ---------------------------- 
-DROP TABLE IF EXISTS `units_list`;​ 
-CREATE TABLE `units_list` ​ ( 
-  `uNum` tinyint(1) UNSIGNED NOT NULL AUTO_INCREMENT,​ 
-  `uName` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  `Serial` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, 
-  `AKey` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 
-  `OPid` tinyint(1) UNSIGNED NOT NULL, 
-  `x` float(10, 5) NOT NULL, 
-  `y` float(10, 5) NOT NULL, 
-  `IDob` tinyint(1) UNSIGNED NOT NULL, 
-  `remove` bit(1) NOT NULL, 
-  PRIMARY KEY (`uNum`) USING BTREE, 
-  UNIQUE INDEX `Units`(`uNum`,​ `uName`) USING BTREE 
-) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page; 
- 
-SET FOREIGN_KEY_CHECKS = 1; 
- 
-</​file>​ 
doc/1807/mgul.1800711.004.1655229017.txt.gz · Последние изменения: 2022/06/14 20:50 — gosman321