image

Nexign Academy

Образовательная площадка
для ИТ-компаний

Nexign

GUS

Хранилище данных о потреблении клиента (GUS)

Назначение продукта

Продукт «Хранилище данных о потреблении клиента» (GUS) предназначен для учета движения средств по счетам клиентов и объема предоставленных абонентам услуг.

Функциональные возможности

Расчет биллинговых агрегатов

Биллинг – это процедура расчета стоимости оказанных услуг, учитываемых за указанный период. Биллинг позволяет формировать ежемесячные отчёты о состоянии баланса клиентам и отчёты о состоянии баланса по запросу.
Биллинг позволяет детально учесть все события потребления: платежи, поступившие от клиента за заданный период, начисления за услуги связи, оказанные в тот же период, и корректировки.

События потребления, объединённые по определенным правилам в единую запись, которая имеет уникальный идентификатор и хранит суммы начислений и потреблённых услуг этих событий, составляют биллинговый агрегат.

В GUS предусмотрена возможность расчёта биллинговых агрегатов для проведения биллинга.

Отсев вызовов

В GUS реализована возможность анализировать данные «отбракованных» записей, попавших в отсев в результате ошибок тарификации или отсутствия сведений по абоненту, а также проводить повторную тарификацию по данным записям в случае необходимости.

Хранение данных о вызовах

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

Вызовы хранятся в таблицах, разбитых по месяцам. Такое разбиение позволяет улучшить производительность и управляемость сохраняемой в таблицах информации, ускоряет выборку и запись в таблицу данных.

Хранение и выгрузка данных по истории балансов

GUS принимает на себя функции по предоставлению данных о балансах сторонним системам-потребителям.

Система тарификации передает через RabbitMQ информацию об изменении баланса в GUS. GUS сохраняет актуальный баланс клиента и по запросу передает информацию системе-потребителю.

Получение данных по справочникам

Данные, которые GUS возвращает во внешние системы по API-запросу, обогащаются справочной информацией: названиями операторов, регионов, пакетов, типами вызовов, ценами, валютами и т.д.

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

В зависимости от указанного в запросе значения параметра content-language, определяющего язык выдачи информации, данные из справочника будут выдаваться на соответствующем языке.

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

Перетарификация вызовов

В GUS предусмотрена возможность перетарификации некорректно протарифицированных вызовов.

В результате перетарификации исключаются некорректные события из хранилища и выполняется их повторный учет с корректными данными.

Процесс перетарификации состоит из двух основных шагов:

1. Откат исходного вызова и потребленных им ресурсов, то есть возвращение стоимости вызова на баланс и уменьшение объемов по тарификационным скидкам и накопителям.

2. Повторная подача на тарификацию вызова.

Выгрузка данных по вызовам в асинхронном режиме

Для выгрузки больших объемов данных при массовом формировании отчетов реализован асинхронный API.

Рассылка уведомлений

GUS выполняет рассылку уведомлений с помощью AMQP-сообщений, системам, подписанным на получение этих сообщений.

Отправляются сообщения при обработке вызовов, откатов вызовов и событий.

Работа с витриной монетарных и немонетарных балансов

В GUS реализована работа с витриной балансов, включая баланс, выраженный в деньгах (монетраный), и баланс, выраженный в натуральных показателях, например: минутах, гигабайтах, штуках SMS-сообщений (немонетарный).

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

Подробнее см. в документе «Руководство пользователя» [GUS-DOC_USER].

Работа с единым счетом

В процессе обслуживания в самом простом варианте клиент имеет один договор, один лицевой счет (ЛС) и один комплект расчетно-платежных документов (РПД).

Зачастую для повышения качества обслуживания клиентов оператору связи требуется поддержка более сложных схем обслуживания, например, «единый счет». Такой тип ЛС создается для одного договора одного клиента и используется для формирования комплекта РПД, в котором объединяются биллинговые данные по нескольким ЛС.

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

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

В GUS реализована возможность создания, хранения и отображения связи событий потребления (вызовов/начислений) с клиентским обращением.

При использовании пользовательского интерфейса доступны функциональности:

  • создание и удаление связи обращения с вызовами или начислениями;
  • запрос информации о вызовах (или начислениях) клиента, по которому зарегистрировано обращение;
  • запрос детализации вызова (или начисления) клиента, который имеет связь с обращением.

Подробнее см. в документе «Руководство пользователя» [GUS-DOC_USER].

Работа с биржей немонетарных остатков

В GUS реализована возможность, позволяющая пользователям выставлять на продажу и покупать материальные и нематериальные объемы.

Продавец может выставить на продажу имеющиеся у него неиспользованные остатки на немонетарном балансе (лот), а покупатель – выбрать и приобрести подходящий ему объем.

При использовании пользовательского интерфейса доступны функциональности:

  • выставление лота на продажу;
  • просмотр списка лотов;
  • аннулирование лота;
  • покупка лота.

Подробнее см. в документе «Руководство пользователя» [GUS-DOC_USER].

Особенности эксплуатации

Для эксплуатации продукта GUS необходим сервер под управлением операционной системы РЕД ОС.

Для корректной работы продукта обеспечьте наличие следующего ПО:

  • РЕД ОС версии 7.3.1 или более новой;
  • «Сервер сообщений RabbitMQ» (RABBITMQ) версии 3.6 или более новой;
  • Apache Cassandra версии 3.11 или более новой, или ScyllaDB версии 1.1.2 или более новой;
  • брокер сообщений Kafka версии 2.13-3.1.0 или более новой;
  • Java 8 или более новой;
  • Apache ZooKeeper версии 3.5 или более новой.

При необходимости дополнительных интеграций установите Apache Spark версии 2.2.0 или более новой.

Администратор, программист и системный программист должны иметь высшее профильноет образование и сертификаты компании – производителя операционной системы, а также понимать основы функционирования продукта.

Параметры настройки продукта хранятся на сервере ZooKeeper и в файлах конфигурации.

В продукте реализованы мониторинг и журналирование.

Метрики мониторинга отличаются по уровню критичности:

  • высокая – возникновение события, влекущего за собой прекращение предоставления основной услуги компонента;
  • средняя – возникновение события, не влияющего на уровень предоставления основной услуги, но повлекшего за собой сбой в работе компонента или его части;
  • низкая – информационное сообщение, указывающее на восстановление основной услуги компонента.

Для централизованного журналирования событий продукта поддерживаются уровни:

  • ALL, OFF – специальные уровни для включения/выключения записи всех сообщений;
  • ERROR – уровень сообщений об ошибках;
  • WARN – уровень предупреждений;
  • INFO – уровень информационных сообщений;
  • DEBUG – уровень детальной информации для отладки;
  • TRACE – уровень трассировки всех сообщений. 

Установка

Порядок установки GUS:

1. Установите компонент gus_admin_tools.

2. Установите остальные компоненты.

Установка gus_admin_tools

Для установки gus_admin_tools используйте команды консоли, передав аргументы скрипту gus_console.sh, например: gus_console.sh "<command>".

Для установки компонента:

1. Создайте пространство ключей в базе данных с помощью команды:

create keyspace --name {{cassandra.keyspace}} --durable_writes true --replication \"{{cassandra.replication}}\" --databases {{ ps.gus.gus_admin_tools.database_to_deploy }}

2. Создайте очереди в RabbitMQ:

rabbitmq init --host localhost --port 5672 --user admin --password admin --vhost / --path <path> --scripts .*

3. Создайте таблицы и обновите схему до текущей версии:

up schema --from <from> --to <to>

Установка компонентов

Порядок установки остальных компонентов GUS:

1. Скачайте из Artifactory архивы:

  • GUS_4/<version>/<component_name>/app/gus-<version>-<component_name>-<version>-app.zip – содержит исполняемые файлы компонента;
  • GUS_4/<version>/<component_name>/app/gus-<version>-<component_name>-<version>-conf.zip – содержит файлы конфигурации компонента.

2. Распакуйте в каталог, где будет устанавливаться компонент.

3. Заполните файлы конфигурации.

4. Запустите компонент, выполнив команду cd bin/; ./gusctl.sh start.

Стоимость продукта

Чтобы узнать стоимость продукта и детали по услугам внедрения и поддержки, свяжитесь с нами: sales@nexign.com

Полная документация по продукту

Полный пакет документации передается заказчику с дистрибутивом и содержит подробное описание функциональности, инструкции по установке продукта, детали по взаимодействию с внешним окружением и особенности эксплуатации. Свяжитесь с нами, чтобы узнать подробности: sales@nexign.com

Материалы по теме