Техническое описание ПО
(способ распространения, инфраструктурные программные средства, реализация, описание технической архитектуры ПО)
Для развертывания программного обеспечения у заказчика требуется сервер с операционной системой семейства Linux и установленным Docker, программный код для установки скачивается с репозитория Github или из облачного хранилища, также из облака скачиваются и необходимые файлы с данными. При запуске Docker файлов устанавливается, конфигурируется и заполняется база данных и интерфейсы для работы с ней, а также веб-сервер для запуска и работы интерактивного даш-борда, который является кастомной разработкой под нужды заказчика. Перечисленные сервисы также обеспечивают обновление программного обеспечения и данных. Все сторонние сервисы, используемые в ПО ЦДГ имеют лицензию, позволяющую его использовать и модифицировать в коммерческих целях, а облачные данные хранятся на сервере Цифрового двойника на территории РФ.
Архитектура модулей программы «Цифровой двойник города»
Документация к программе:https://seafiles.dtwin.ru/d/ca88add0573744709ae3/
Открытая книга Цифрового Двойника (openbook.dtwin.ru)

1.1 Требования к техническому обеспечению сервера:
  • Процессор не менее 2 ГГц
  • Объем оперативной памяти не менее 4ГБ
  • Свободный объем жесткого диска не менее 2,5 ГБ
  • Сетевой адаптер не менее 100 Мбит.
1.2 Требования к техническому обеспечению автоматизированного рабочего места пользователя:
  • Процессор не менее 1 ГГц;
  • Объем оперативной памяти не менее 4 Гб;
  • Объем жесткого диска не менее 100 Гб;
  • Сетевой адаптер не менее 100 Мбит;
  • Монитор с разрешающей способностью не менее 1920*1080;
  • Клавиатура русифицированная;
  • Манипулятор типа «мышь».

2 Требования к программному обеспечению
2.1 Требования к программному обеспечению сервера:

  • операционная система на базе Linux x86_64;
  • установленный Docker Desktop.

2.2 Требования к программному обеспечению автоматизированного рабочего места пользователя:

  • операционная система x86_64;
  • веб-браузер (актуальная версия).

2.3 Языки программирования, на которых написана программа

Для создания приложения и получения расчетных данных используется свободно-распространяемый язык программирования R. Также отдельные файлы, связанные с визуальной частью написаны написаны на языках HTML и JavaScript.

В составе ПО находятся 2 программных продукта:

PostgresSQL, который распространяется по Open Source license, и Postgrest API, который распространяется по MIT License, что ознает что означает эти продукты можно свободно использовать, распространять с коммерческими целями, модицифировать.


2.4 Модель использования программного обеспечения


ПО ЦДГ распространяется на коммерческой основе.

Возможно 2 варианта:

Модель подписки

один экземпляр на физическое или юридическое лицо на один год. Цена определяется объемом приобретаемых данных и сервисов. В течение года можно получать обновления ПО и самих данных. В случае продления подписки в течение года цена будет составлять 40% от полной цены. Требуется установка ПО на сервере заказчика.

Модель Saas (англ. software as a service — программное обеспечение как услуга)

Клиент пользуется готовой веб-страницей, приложение и данные располагаются на серверах Dtwin, либо на арендованных, находящимися на территории РФ. Оплата дает доступ на 1 год к требуемым данным. Цена определяется объемом приобретаемых данных и сервисов.

Данное решение характеризуется следующим:

• доступ к программному обеспечению осуществляется удалённо по
сетевым каналам через веб-интерфейс;

• программное обеспечение развёрнуто на серверах поставщика или на арендованных серверах на территории Российской Федерации;

• не требует каких-либо действий для его запуска от клиента;

• обслуживание и обновление программного обеспечения выполняется
централизованно на стороне поставщика.


Руководство администратора и требования к персоналу.
3.1 Требования к квалификации

Для запуска ПО с настройками по умолчанию или при размещении ПО на серверах Dtwin достаточно быть опытным пользователем ПК.

Для индивидуальной настройки ПО под свои требования могут понадобиться базовые знания docker, SQL, веб-дизайна и знания по настройки сети.

При соответствующих навыках администратора возможен запуск ПО в системе Windows (технологии виртуализации или WSL2)


3.1 Обновление и устранение неполадок

3.1.1. Обновление данных.

Обновление данных возможно несколькими путями, по предпочтению пользователя. Клиенту присылают новые наборы данных в виде csv или sql файлов. Их можно запустить, через создание контейнеров БД с нуля или импортировать в базу через интерфейсы pgadmin или REST API.



3.1.2. Обновление функционала.

Компания Цифровой двойник постепенно расширяет функционал ПО, его можно самостоятельно скачать и обновить в течение года после покупки данных с github или другого источника, который будет указан. Обновление можно делать как полной переустановкой ПО( удаление и новый запуск контейнеров докер), так и самостоятельной настройкой новых функций, инструкция для этого будет приложена.

3.1.3. Устранение неполадок.

В случае неполадок можно обратиться к техподдержке Dtwin.

Руководство по эксплуатации:

В описании приведены ссылки на развернутое решение на сервере поставщика, как если ПО приобретено по модели Saas. Если ПО приобретено по подписочной модели, имя домена и порт будут отличаться.

Модуль1.

Модуль1 предназначен для получения и обновления данных из базы данных. Состоит из базы данных на PostgreSQL и нескольких несколько веб-сервисов:

1. Общее описание модуля и полезные ссылки, поиск в справочнике location http://db-valera.dtwin.ru:4002

2. Pgadmin: панель управления БД http://db-valera.dtwin.ru:4001 . Предназначено для администратора БД. Для входа на стартовой странице потребуется ввести логин и пароль, которые были заданы при установке в файле .env . По умолчанию

PGADMIN_LOGIN=admin@admin.com

PGADMIN_PASSWORD=admin

После ввода учетных данных при первом открытии будет предложено ввести пароль, по умолчанию POSTGRES_PASSWORD=postgres, также задан изначально в файле .env .

По умолчанию анонимный пользователь имеет право на операции чтения, вставки, изменения, удаления. Через интерфейс pgadmin это можно изменить.

Подробнее про как работать в pgadmin на странице официальной документации: https://www.pgadmin.org/docs/pgadmin4/latest/user_...

2. REST API
http://db-valera.dtwin.ru:4003

В ПО Dtwin используется REST API Postgrest. Благодаря REST API можно получать информацию из БД в формате JSON.

Для получения нужных данных полезно прочитать про синтаксис запросов : https://postgrest.org/en/stable/api.html

Примеры запросов в адресной строке браузера:

1.http://db-valera.dtwin.ru:4003/unit
2.http://db-valera.dtwin.ru:4003/location?long_name=eq.Норильск
3.http://db-valera.dtwin.ru:4003/location?id=lte.5000&order=id
4.http://db-valera.dtwin.ru:4003/location?long_name=like.*ское
5.http://db-valera.dtwin.ru:4003/location?long_name=like.*ское&id=lte.10000&select=id,name:long_name
6. http://db-valera.dtwin.ru:4003/maintable?limit=15&offset =30

Команда curl позволяет делать операции вставки, обновления, удаления. Примеры:

Вставка:

curl "http://db-valera.dtwin.ru:4003/unit" \
-X POST -H "Content-Type: application/json" \
-d '{ "id": 72, "unique_name": "много"}'

curl "http://db-valera.dtwin.ru:4003/unit" \
-X POST -H "Content-Type: application/json" \ -d @- << EOF \
[ { "id":74, "long_name":"NA", "description":"NA","unique_name":"ни то ни се","eng_name":"a few"},\
{ "id":73, "long_name":"NA", "description":"NA","unique_name":"мало","eng_name":"little"}\
] EOF

Замена:

curl "http://db-valera.dtwin.ru:4003/unit?unique_name=li....*руб*" \ -X PATCH -H "Content-Type: application/json" \ -d '{ "long_name": "золотой" }'

curl "http://db-valera.dtwin.ru:4003/unit?id=eq.74" \ -X PUT -H "Content-Type: application/json" \ -d '{ "id":74, "long_name":"NA", "description":"NA","unique_name":"несколько","eng_name":"some"}'

Удаление:

curl "http://db-valera.dtwin.ru:4003/unit?id=eq.1" -X DELETE -H "Prefer: return=representation"

3. Панель Swagger http://db-valera.dtwin.ru:4004

Панель Swagger предназначена для тестирования корректности работы CRUD(создание, вставка, замена, удаление) операций. Для примера выполним get запрос к справочнику unit:

1. Нажать GET /unit и после этого кнопку Try it out

Заполнить условия запроса и нажать кнопку Execute. В данном примере ищем строку с id=1

Получили такой ответ.

В поле curl видим как выглядит исполняемая команда, в поле ответа код 200, что означает запрос выполнен успешно и в response body видим json ответ.

Модуль2: Пользовательский интерфейс
Интерфейс пользователя является интерактивной веб-страницей/даш-бордом, который опционально содержит карту городов, несколько вариантов графиков и табличные данные, панель настроек.
Содержит Стенды/ дашборды под конкретную задачу.
Примеры вариантов( Панель Умный город, Экология города, Топливно-энергетические балансы, Финансовый калькулятор, Производственные потоки предприятия)

Этот веб-сайт использует файлы cookie
Принять