Взаимосвязи объектов информационной системы

system_arch__1_

Компоненты и связи информационной системы

В общем случае, система в рамках которой происходит установка платформы Yva.ai состоит из стандартного набора компонентов.

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

Следующим компонентом выступает платформа Yva.ai. Yva.ai позволяет выбирать, настраивать и подключать источники и пользователей. Также платформа выполняет функционал по хранению, анализу и обработке мета-данных и пользователей, полученных от источника.

Между источником и платформой присутствует еще один компонент системы - приложение-посредник. В зависимости от источника, таким приложением выступает софт, устанавливаемый на сервере, или web-приложение, хостинг которого осуществляется на стороне поставщика источника данных.

Пользователей системы можно условно разделить на сотрудников и администраторов. Последние имеют доступ к специальному административному web-интерфейсу, который позволяет производить базовую настройку платформы. Сотрудники же имеют доступ только к рабочему пространству в соответствии со своими ролями (сотрудник, менеджер, администратор).

Платформа

В Yva.ai применяются принципы микросервисной распределенной архитектуры. С точки зрения функционала платформы, можно выделить следующие группы сервисов:

  • Опросы. Сервисы, обслуживающие отправку опросов пользователям платформы, обрабатывающие опросные данные, сохраняющие результаты опросов в БД.

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

  • Обработчики текста. Сервисы, реализующие текстовую аналитику, nlp, расчет вероятностей увольнения.

  • Расчет метрик и построение отчетов. Сервисы, подсчитывающие топ-контактов, аналитику, графики вовлеченности и т.д.

  • Фронтенд. Сервисы, обеспечивающие пользовательские интерфейсы решения.

  • Авторизация. Сервисы, обеспечивающие аутентификацию: SAML2, SSO, basic, token-аутентификация.

  • Базы данных MongoDB, Greenplum и очередь RabbitMQ.

  • Служебные компоненты. Сервисы, обслуживающие функционирование и взаимосвязь элементов платформы. Consul, роутеры, средство просмотра логов и т.д.

Принципиальная схема обработки корреспонденции

Вся корреспонденция и пользователи, доступная сервисному аккаунту, последовательно передается от источника к приложению (API вендора), а затем и к платформе (API yva). Перед сохранением в БД yva-mailprocessing происходит преобразование полученной корреспонденции в вектора. При этом обрабатываются только тело и заголовки сообщений, обрезая вложения и подписи.

Краулер данных реагирует на событие "Сохранение нового элемента в базе yva-mailprocessing" и ставит сообщение в очередь обработки при условии, что для владельца ящика установлен флаг “Собирать пассивные данные”. Обработанная корреспонденция сохраняется в базу yva-analitycs, из которой, в свою очередь, поступает на анализ обработчикам данных.

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