В версии 4.0 АСР «Гидра» механизм событий, обеспечивающий генерацию команд управления сетевым оборудованием, а также механизм RADIUS-взаимодействия с серверами доступа были существенно изменены и выделены в отдельный модуль Provisioning.
Данный модуль хранит текущее состояние сетевого оборудования и сеансов связи абонентов, обновляет его в соответствии с получаемой от биллинга оперативной информацией об изменении состояния услуг, формирует и выполняет команды управления сетевым оборудованием, а также обеспечивает RADIUS-взаимодействие с серверами доступа.
Разделение оборудования на абонентское и операторское
Каждая позиция номенклатуры имеет флаги принадлежности к операторскому или абонентскому оборудованию.
Флаг «Операторское оборудование» по умолчанию установлен у всех позиций номенклатуры в ветках «Коммутаторы», «Серверы» и «Сетевые службы».
Флаг «Абонентское оборудование» по умолчанию установлен у всех позиций номенклатуры в ветке «Клиентское оборудование», а также для сетевых служб, не входящих в ветку «Агент».
Действие флага распространяется как на сам объект, создаваемый на основе номенклатурной позиции, так и на все его компоненты. Единственное исключение — это сетевые службы, не входящие в ветку «Агент»: объект сетевой службы является операторским оборудованием, а его компоненты — абонентским.
Основные сущности
Шаблон абонентского профиля
Абонентский профиль
Совокупность вычисленных значений атрибутов, отражающая состояние соответствующего ему абонентского оборудования и оказываемых на нём услуг. Создаётся системой в разрезе подписки на услугу и её состояния на основе предварительно настроенного администратором шаблона абонентского профиля.
Шаблон операторского профиля
Настраиваемый в разрезе тегов номенклатурных позиций операторского оборудования набор атрибутов, значения которых должны присутствовать в операторском профиле.
Операторский профиль
Совокупность вычисленных значений атрибутов, отражающая состояние соответствующего ему операторского оборудования. Создаваётся системой на основе предварительно настроенного администратором шаблона операторского профиля.
Шаблон конфигурации
Настраиваемые в разрезе шаблона абонентского и операторского профиля шаблоны связей абонентских профилей с операторскими, команд управления сетевым оборудованием и параметры выполнения этих команд.
Конфигурация
Связь абонентского и операторского профилей, создаваемая системой на основе шаблона конфигураций и используемая для формирования команд управления сетевым оборудованием.
Агент HEX
Приложение, которое получает команды управления сетевым оборудованием из Гидры, выполняет их в многопоточном режиме и передаёт результаты выполнения в Гидру. Взаимодействие с Гидрой осуществляется через брокер ActiveMQ и встроенный в Oracle механизм очередей: очередь AQ_BI_HYDRA_COMMANDS используется для передачи команд агенту, а AQ_BI_HYDRA_COM_RES — для передачи результатов выполнения команд от агента.
Агент HARD
Приложение, обеспечивающее взаимодействие с RADIUS-сервером. Все изменения в профилях и конфигурациях: будь то изменение значений атрибутов, переключение действующих профилей в связи со сменой временных интервалов или появление новых профилей — автоматически передаются в кэш агента. Таким образом RADIUS-взаимодействие всегда выполняется с использованием актуальных данных, не нагружая при этом основную базу данных.
Алгоритм RADIUS-аутентификации
На основании полученных от RADIUS-сервера атрибутов (MAC-адрес, логин, данные DHCP-опции 82 и т.д.) подбираются абонентский и, если необходимо, операторский профили.
На основании результатов подбора профилей опеределяется набор атрибутов и шаблон RADIUS-ответа.
В шаблон RADIUS-ответа подставляются необходимые значения атрибутов из подобранных ранее профилей и данных RADIUS-запроса.
Тип сессии
Настраиваемые в разрезе шаблона абонентского и операторского профиля шаблоны команд управления сеансами связи абонентов и параметры выполнения этих команд.
Сессия
Совокупность хранимых в Гидре данных о сеансе связи абонента, которые формируются агентом HARD на основании RADIUS-аккаунтинга и могут использоваться в командах управления оборудованием доступа для принудительного завершения или изменения параметров соответствующего сеанса связи. В предыдущих версиях АСР «Гидра» эти данные хранились так же как и сведения о телефонных звонках — в виде CDR.
Алгоритм обработки событий
При изменении записей в отслеживаемых таблицах, таких как: регистр состояния услуг, объекты учёта, привязки адресов к объектам учёта и т. д., временные таблицы заполняются старыми значениями изменённых сущностей.
На основании данных во временных и постоянных таблицах биллинг составляет XML-пакет, содержащий старые и новые значения.
XML-пакет отправляется в очередь.
Модуль Provisioning получает XML-пакеты из очереди, разбирает их и заполняет свои таблицы.
После заполнения таблиц провижининг перевычисляет для каждого из объектов в этих таблицах все используемые и зависящие от изменившихся данных подстановки согласно соответствующему шаблону профиля.
На основании изменившихся профилей формируются конфигурации и выбираются шаблоны команд управления сетевым оборудованием и активными сессиями, к которым привязаны изменённые профили.
Готовые команды отправляются в очередь для агента HEX.
Агент HEX получает команды из очереди, выполняет их и в очередь с результатами записывает результаты.
Модуль Provisioning получает результаты выполнения и записывает их в историю выполнения команд.