3. Базовые понятия и алгоритм работы модуля

Все базовые компоненты модуля изображены на схеме.

Клиент получает доступ в сеть, проходя через машину - Шлюз, ограничивающую доступ и машину - Источник. В некоторых случаях они могут быть совмещены на одном устройстве.

Функция источника - предоставление информации о трафике абонента посредством передачи NetFlow-потока на коллектор модуля IPN (BGIPNNetFlowCollector). Функция шлюза - получение от сервера управляющих команд, закрывающих или открывающих доступ пользователя к сети и их выполнение.

Обработка входных данных разделена на несколько этапов (описание упрощено, более подробно каждый этап рассмотрен далее):

  1. Коллектор принимает поток логов и сохраняет их в бинарные файлы определённого формата с разбивкой по часам, в логах содержится сырая информация о том с какого IP-адреса на какой какое количество байт было передано;

  2. При переходе часа отдельный поток коллектора обрабатывает файлы, помещая в БД агрегированную наработку по часам, привязывая IP-адреса к договорам и разделяя их по видам услуг;

  3. По расписанию планировщик тарифицирует агрегированную наработку, используя тарифные планы абонентов и начисляя наработку на баланс договоров. Переобсчёт производится каждый раз за весь месяц.

Сервер биллинга, планировщик и коллектор - отдельные процессы. Связь между ними осуществляется исключительно через БД. Так, сервер может передать через БД задание на переобработку логов коллектору, задание на переобсчёт логов планировщику заданий. Коллектор передаёт через базу серверу информацию по статусу часовых логов (загружен/обработан/отсутсвует) для отображения в менеджере источников.