Similar presentations:
НОЦ
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