19.13M

НОЦ

1.

Лаборатория программного
обеспечения мобильных систем
В рамках сотрудничества с Yadro

2.

Разработка программно-аппаратного
комплекса для сбора и анализа
данных с реальных сетей мобильной
связи
Докладчик:
Багрей А.О.
3 курс
группа ИА-232

3.

Цель и актуальность проекта
Цель: Разработать мобильное приложения для сбора и
анализа данных с сетей мобильной связи, которое позволит
получать и визуализировать данные о сети в реальном
времени.
Актуальность проекта:
Значение проекта
• Оптимизация качества связи
• Анализ покрытия и выявление проблем
• Планирование расширения сети

4.

Архитектура приложения
• Мониторинг сети
• MainActivityState: хранение параметров устройства.
• DataManager: сбор данных о сети.
• Анализ трафика
• TrafficManager: мониторинг использования данных
устройством и приложениями, построение статистики.
Архитектура приложения
• Основные экраны
• NavigationScreen: меню для перемещения между
страницами.
• DataScreen.kt: собранные данные о сети.
• LoginScreen.kt: аутентификация пользователя.
• TrafficScreen.kt: мониторинг трафика.
• MapScreen.kt: карта для отображения параметров сети.
• SettingsScreen.ks: настройки приложения.

5.

Функции приложения
• Сбор данных о сети и местоположении пользователей
• Мониторинг качества покрытия связи
• Визуализация получаемых от пользователей данных на
карте и в виде графиков
• Сбор и отображение трафика посещаемых приложений
наприложения
устройстве
Архитектура

6.

Работа с данным
• Сбор данных о состоянии устройства
• ForegroundService инициирует сбор данных,
вызывая DataManager.getLocation() и
DataManager.getSignalStrength() для обновления
данных в MainActivityState.
• Формирование JSON в
DataManager.generateJSON(state)
Архитектура
приложения
• Полученые данные используются для создания
JSON-объекта, включающего: местоположение
(широта, долгота, высота) и сетевые параметры
(RSRP, RSSI, RSRQ и др.)
• Дополнительные параметры: тип сети,
идентификатор ячейки, и другие.
• Отправка через WebSocket в
NetworkManager.connectWebSocket(jwt)
• Если WebSocket подключен, JSON отправляется
на сервер (эндпоинт "/api/sockets/thermalmap").

7.

Подключение по WebSocket
Основные классы для работы WebSocket:
• NetworkManager
• connectWebSocket(jwt: String) — устанавливает
соединение. Происходит обработка установки,
получения сообщений, закрытия и ошибки
соединения.
• приложения
sendMessageToData2ToServer — отправляет JSONАрхитектура
сообщение на сервер.
• DataManager
• getCellInfo(), getLocation() и getSignalStrength() —
проверка разрешений, сбор данных о сетиБ
местоположении и уровне сигнала для тепловой
карты.
• ForegroundService
• Цикл сбора данных о местоположении и сигнале.
• SendingIndicator
• Отображает статус отправки данных через

8.

Подключение по WebSocket
Архитектура приложения

9.

Дизайн интерфейса
Дизайн приложения выполнен в цветах СибГУТИ и имеет
понятный для пользователя интерфейс:

10.

Дизайн интерфейса
Страницы с визуализацией получаемые данные:

11.

Визуализация данных на карте

12.

Визуализация данных на графике

13.

Реализация backend для сбора и
анализа качество сетей мобильной
связи
Докладчик:
Артеменко Е.К
3 курс
группа ИА-232

14.

Функционал сервера
• Приём данных с телефонов пользователей
• Авторизация пользователей
• Вывод данных о качестве сети
• Вывод тайлов тепловой карты

15.

Архитектура микро сервисов
• Gataway
• Распределение запросов
• Auth
• Регистрация и авторизация пользователя,
подтверждения запросов по jwt токену
Data
Приём и обработка данных принятых с телефона
Map
Вывод тайлов тепловой карты

16.

api
• api/v1/auth/signin – регистрация пользователя
• api/v1/auth/signup – авторизация пользователя
• api/v1/auth/signin/token – авторизация по jwt токену
• api/v1/auth/ticket – токен для моментного доступа к
ресурсу
• api/v1/auth/token/revoke – отзыв jwt токена
• api/v1/healthcheck – проверка сервиса на доступность
• api/v1/filter/data/<criteria_id>-<value> – получение
данных из БД
• api/v1/ filter/data/ltequality/:timestart/:timeend –
получение данных из БД для графиков ( time, lat, lon, rsrp,
rsrq )
• api/v1/tiles/:operator/:type/:style/:zoom/:x/:y – вывод
тайлов для тепловой карты

17.

Микро сервисная архитектура сервера
• gRPC - это современный фреймворк для
удаленного вызова процедур (Remote Procedure
Call), разработанный Google.
Протокол Buffers: Для сериализации данных
gRPC применяет Protocol Buffers (protobuf) —
компактный и быстрый формат, который
снижает нагрузку на сеть и ускоряет обработку
данных
Многоязычность: gRPC поддерживает
множество языков программирования, включая
go, python, C++. Это позволяет использовать
разнообразные языки программирования в
одним проекте
• Упрощённая интеграция: gRPC автоматически
генерирует клиентский и серверный код на
основе файлов .proto

18.

Инструмент для анализа данных:
Backend для построения тепловых карт
Докладчик:
Кулаков К.В.
4 курс
группа ИА-132

19.

Backend для отрисовки тепловых карт на Python
Тепловые карты – это визуальный способ отображения
плотности данных, который позволяет легко
интерпретировать и анализировать большие массивы
информации
Создание тепловых карт вручную или на основном сервере
требует значительных вычислительных ресурсов, что
замедляет процесс его работы
Решение:
• Разработка backend-сервиса, который:
• Автоматически обрабатывает данные
• Генерирует тепловую карту
• Возвращает готовые тайлы на сервер

20.

Общая архитектура системы

21.

Что такое тайлы и их расчет
• Тайлы(tiles) – это квадратные фрагменты карты, которые
используются для ее визуализации, обычно их размер
составляет 256 на 256 пикселей
• Они представляют собой отдельные изображения или
области, которые объединяются, что бы сформировать
карту любого масштаба

22.

Что такое тайлы и их расчет
У каждого тайла есть свое название, оно формируется из Xtile, Y-tile и Zoom-level, они представляют собой координаты в
проекции Web Mercator
• Формат имени файла (URL) /zoom/x/y.png

23.

Что такое тайлы и их расчет
• Пример расчета для точки с координатами
lat= 55.01325 ° lon= 82.95075 ° и zoom-level = 10
Xtile=
82.95075+180
∙ 210
360
= 747
English     Русский Правила