RIW:Среда сетевого взаимодействия на базе Корневого Сервера

Материал из ЛОКАРУС
Перейти к: навигация, поиск

Статья еще не закончена

Содержание

Концепция

Топологически система сетевого взаимодействия построена по принципу “звезды”. В центре ее - Корневой сервер (КС), который с одной стороны осуществляет асинхронный обмен данными с Конечными клиентскими серверами (ККС), с другой - обеспечивает возможность сторонним приложениям получать данные с Конечных серверов через JSON интерфейс посредством HTTP/HTTPS запросов.

Принципы авторизации

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

После этого учетная запись делегируется на Корневой сервер, для чего в интерфейсе администратора Конечного сервера предусмотрена специальная операция. Корневой сервер хранит в своей базе данных созданную в процессе делегирования корневую учетную запись, которая включает логин делегированного Пользователя, который должен быть уникален в рамках всей системы, и параметры сервера, с которого Пользователь был делегирован. Пароль учетной записи в базе данных Корневого сервера НЕ хранится.

Авторизация пользователя в системе осуществляется посредством HTTP аутентификации (basic или digest), т.е. логин и пароль передается в HTTP заголовке каждого запроса к серверу.

Понятие сессии

Сессия - это сеанс работы конечного пользователя с системой. Любой запрос Пользователя к Корневому серверу инициирует создание Сессии. При этом Корневой сервер определяет по полученному в HTTP заголовке запроса логину параметры Конечного сервера, с которого Пользователь был делегирован, отправляет на Конечный сервер логин и пароль для проверки, и в случае успешной авторизации получает с него детальные параметры Пользователя и список доступного транспорта.

Корневой сервер создает для Пользователя дескриптор Сессии, в рамках которого осуществляется контроль запросов Пользователя и асинхронное получение данных с Конечного сервера. Список таких дескрипторов формирует список активных пользователей в рамках Корневого сервера.

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

Завершение работы

Корневой сервер контролирует активность Пользователя, и завершает Сессию после установленного в системе периода бездействия (по умолчанию - 15 минут). При этом Конечному серверу отправляется сигнал о необходимости прекращения трансляции текущих навигационных данных.

Конечный сервер периодически сверяет собственный список активных пользователей со списком дескрипторов Сессий Корневого сервера, и в случае расхождений корректирует собственный список и список транспорта для трансляции.

Кроме того существует специальный запрос с помощью которого Пользователь может завершить свой сеанс работы с системой принудительно.

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты