Детальная информация
| Название | Разработка системы межсерверного взаимодействия с динамической маршрутизацией сообщений для распределенный телекоммуникационной платформы: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_03 «Разработка программного обеспечения» = Development of an inter-server communication system with dynamic message routing for a distributed telecommunications platform |
|---|---|
| Авторы | Гапонов Дмитрий Павлович |
| Научный руководитель | Леонтьева Татьяна Владимировна |
| Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Выходные сведения | Санкт-Петербург, 2026 |
| Коллекция | Выпускные квалификационные работы ; Общая коллекция |
| Тематика | kademlia ; dht ; распределённая система ; межсерверное взаимодействие ; динамическая маршрутизация ; grpc ; protocol buffers ; go ; отказоустойчивость ; сессионный контекст ; пиринговая сеть ; netmap ; proposalmanager ; distributed system ; inter-server communication ; dynamic routing ; fault tolerance ; session context ; peer-to-peer network |
| Тип документа | Выпускная квалификационная работа бакалавра |
| Язык | Русский |
| Уровень высшего образования | Бакалавриат |
| Код специальности ФГОС | 09.03.04 |
| Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-1593 |
| Права доступа | Доступ по паролю из сети Интернет (чтение, печать) |
| Дополнительно | Новинка |
| Ключ записи | ru\spstu\vkr\41144 |
| Дата создания записи | 14.07.2026 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
| Группа | Анонимные пользователи |
|---|---|
| Сеть | Интернет |
Объектом разработки является система межсерверного взаимодействия с динамической маршрутизацией сообщений для распределённой телекоммуникационной платформы. Цель работы – разработать программный модуль (библиотеку), обеспечивающий децентрализованный обмен данными между узлами кластера без использования внешних централизованных брокеров или реестров, с автоматическим перестроением маршрутов при изменении топологии сети и поддержкой сессионного контекста. В ходе работы был проведён анализ существующих подходов к организации межсерверного взаимодействия (централизованные реестры, брокеры сообщений, модульный сетевой стек libp2p), выявлены их недостатки для использования в real-time телекоммуникационных системах. Предложена архитектура распределённой системы на базе транспортного уровня gRPC, дополненного собственным протоколом динамической маршрутизации. Разработаны и реализованы на языке программирования Go следующие модули: распределённая хеш-таблица на основе алгоритма Kademlia для хранения маршрутной информации, динамическая топологическая модель сети с поддержкой взвешенных рёбер и шлюзов, протокол согласования изменений топологии (ProposalManager), транспортный уровень с двунаправленными gRPC-потоками и контролируемой лавинной рассылкой обновлений. Проведённое тестирование показало, что система обеспечивает обнаружение отказа узла за 200–300 мс, пропускную способность более 200 000 операций в секунду и сквозную задержку менее 2 мс для типичной топологии. Потребление оперативной памяти составляет 30–50 МБ на узел. Разработанная система может быть внедрена в состав распределённых телекоммуникационных платформ для повышения их отказоустойчивости, упрощения горизонтального масштабирования и снижения операционных издержек на администрирование сетевой конфигурации.
The aim of the work is to develop a software module (library) that provides decentralized data exchange between cluster nodes without using external centralized brokers or registries, with automatic route recalculation upon network topology changes and session context support. During the work, an analysis of existing approaches to inter-server communication (centralized service registries, message brokers, libp2p modular network stack) was conducted, and their drawbacks for real-time telecommunication systems were identified. The architecture of a distributed system based on the gRPC transport layer, supplemented with a proprietary dynamic routing protocol, was proposed. The following modules were developed and implemented in the Go programming language: a distributed hash table based on the Kademlia algorithm for route information storage, a dynamic network topology model with weighted edges and gateways support, a topology change agreement protocol (ProposalManager), and a transport layer with bidirectional gRPC streams and controlled flooding for update propagation. Testing has shown that the system provides node failure detection within 200 -300 ms, throughput exceeding 200 000 operations per second, and end-to-end latency of less than 2 ms for typical topologies. Memory consumption is 30 -50 MB per node. The developed system can be integrated into distributed telecommunications platforms to improve their fault tolerance, simplify horizontal scaling, and reduce operational costs for network configuration administration.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|
- СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
- ВВЕДЕНИЕ
- ГЛАВА 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ ИССЛЕДОВАНИЯ
- 1.1. Анализ существующих технологических подходов и протоколов
- 1.1.1 Централизованные реестры сервисов (Consul, etcd или Apache ZooKeeper).
- 1.1.2 Брокеры сообщений (NATS, RabbitMQ или Apache Kafka)
- 1.1.3 Модульный сетевой стек libp2p
- 1.2. Заключение по главе 1
- 2.1. Функциональные требования
- 2.2. Построение архитектуры
- 2.2.1. Общая архитектура решения
- 2.2.2. Процесс прохождения пакета
- 2.2.3. Процесс обмена маршрутной информацией
- 2.3 Хранение маршрутной информации
- 2.4 Построение карты сети
- 2.4.1. Варианты построения карты сети
- 2.4.2 Алгоритм поиска пути
- 2.5 Протокол согласования
- 2.5.1. Анализ альтернативных протоколов согласования
- 2.5.2. Жизненный цикл предложения
- 2.5.3. Разрешение конфликтов между параллельными предложениями
- 2.6. Рассылка маршрутной информации
- 2.7. Инструментальные средства разработки
- 1.1. Анализ существующих технологических подходов и протоколов
- ГЛАВА 3. РЕАЛИЗАЦИЯ
- 3.1. Реализация распределённой хеш-таблицы (Kademlia DHT)
- 3.1.1. Структуры данных
- 3.1.2. Генерация идентификатора
- 3.1.3. Выбор K ближайших узлов
- 3.1.4. Операции Put, Get, Delete
- 3.1.5. Ребалансировка при изменении состава узлов
- 3.1.6. Фоновая очистка устаревших записей
- 3.1.7. Оптимизация с использованием пулов объектов
- 3.2. Реализация динамической топологической модели (NetMap)
- 3.2.1. Структуры данных
- 3.2.2. Управление соединениями
- 3.2.3. Поиск кратчайшего пути (алгоритм Дейкстры)
- 3.2.4. Эвристическая оптимизация топологии
- 3.2.5. Работа с URI
- 3.3. Реализация протокола согласования изменений (ProposalManager)
- 3.3.1. Структуры данных
- 3.3.2. Жизненный цикл предложения
- 3.3.3. Разрешение конфликтов
- 3.3.4. Сериализация и оптимизация памяти
- 3.3.5. Фоновая очистка и обработка разрывов соединения
- 3.4. Реализация транспортного уровня (gRPC)
- 3.4.1. Определение protobuf-сервиса
- 3.4.2. Реализация сервера
- 3.4.3. Обработка двунаправленных потоков
- 3.4.4. Хранение активных потоков
- 3.4.5. Клиентская часть
- 3.5. Реализация контролируемой лавинной рассылки
- 3.5.1. Структура обновления и алгоритм
- 3.5.2. Интеграция с потоками
- 3.6. Дополнительные оптимизации и вспомогательные механизмы
- 3.6.1. Пулы объектов
- 3.6.2. Конкурентные структуры данных
- 3.6.3. Логирование
- ГЛАВА 4. ТЕСТИРОВАНИЕ И АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ
- 4.1. Тестовый стенд
- 4.2. Тестирование основных модулей системы
- 4.2.1 Модуль хранения маршрутов
- 4.2.2 Модуль построения графа сети
- 4.2.3 Модуль согласования изменений
- 4.2.4 Модуль хранения пулов объектов
- 4.3. Перестроение сети при отказах
- 4.4. Пропускная способность и задержки
- 4.5. Потребление ОЗУ
- 4.6. Сравнение с другими решениями
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ А. РЕЗУЛЬТАТЫ МОДУЛЬНЫХ ТЕСТОВ