Войти на сайт
Логотип
Клиентам

Монитор загруженности линий ГЭНДАЛЬФ

Вернуться к списку
  • Тип проекта:
    Корпоративный сайт
  • Тематика сайта:
    IT, Интернет, связь
  • Редакция продукта:
    Бизнес веб-кластер
  • Сайт:
  • Партнер:
ссылка на проект https://gendalf.ru/chart_of_load/
Цель проекта - мониторинг клиентами оптимального времени для звонка на линию консультаций или техподдержку Гэндальф

Описание проекта - благодаря обмену сайта с монитором звонков (реализованным в power bi) , на сайт поступают данные о кол-ве поступивших звонков, кол-ве людей в очереди на линии, среднее время ожидания. На основе этих данных строится график (цвет графика зависит от загруженности лини), а также выводится "балл загруженности линии". График можно сформировать за сегодняшний , вчерашний день и за неделю, при этом есил формировать график за вчерашний день и за неделю - клиенту выводится таблица, в которой указано оптимальное время для звонка. Также на странице находится список часто задаваемых вопросов. Обмен с Монитором звонков по кол-ву людей в очереди происходит в режиме реального времени. каждую минуту, а по остальным данные раз в 30 минут.

Техническое описание:
 Разработан обмен сайта с системой «Монитор звонков» (далее «МЗ») собственной разработкой компании, инициатором обмена является сайт. По «Агенту» происходит запрос к «МЗ», поскольку «МЗ» находится на сервере, к которому нет доступа из внешней сети «Интернет», то запрос происходит через специально настроенный сервер (Прокси сервер), к которому есть доступ из внешней сети интернет. Дополнительно для безопасности на прокси сервере настроена HTTP-авторизация для ограничения доступа. На каждом обмене происходит фильтрация полученных данных и дополнительно отправляется уведомление в случае, если данных нет продолжительное время, после фильтрации данные попадают в таблицу. Из таблицы компонент «Графика загруженности»  выбирает по фильтрам для формирования статистики за  сегодня, вчера и за неделю, т.к. данные после фильтрации или из-за неполадок могут отсутствовать, то они дополнительно заполняются нулевыми данными.

Компонент на запрос страницы отдает только верстку включающую шаблоны Vue и все необходимые JS скрипты (Vue, chartist-js – для графика). Данные для отображения на графике передаются компонентом через ajax, для этого в компоненте используются контроллеры реализуемый через интерфейс Controllerable, далее определены методы на получение отдельной статистики за сегодня, вчера и за неделю принимающую на вход параметр указывающий для какой линии необходимо отдать статистику. На странице же в компонентах Vue используется BX.ajax.runComponentAction для вызова метода компонента.

Поскольку некоторых возможностей требуемых для нас не было в библиотеке chartist-js, с нашей стороны была доработан внешний вид и добавлены подписи и указатели к графику.

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

 

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

Сегодня – время жизни кеша 15 мин

Вчера – время жизни кеша 12 часов

Неделя – время жизни кеша 12 часов