<< Click to Display Table of Contents >> Объектная модель > Базовое решение Directum RX SmartProcessing – интеллектуальная обработка |
Модуль SmartProcessing (Интеллектуальная обработка) включает в себя конвейер обработки документов.
Конвейер обработки документов делится на клиентскую и серверную часть.
1.DCS захватывает файлы и запускает команду RxCmd smart process-pkg, которая стартует клиентский конвейер со следующими этапами:
•валидация настроек интеллектуальной обработки (вызывается серверная функция ValidateSettings модуля SmartProcessing);
•подготовка пакета документов из DCS (вызывается серверная функция PrepareBlobPackage модуля SmartProcessing). На сервере создается пакет документов, и в него записывается значение идентификатора пакета DCS;
•получение пакета документов на клиенте. Осуществляется с помощью запроса к сервису интеграции с фильтрацией по идентификатору пакета DCS;
•отправка пакета на распознавание в Directum Ario (деление пакета на документы, классифицикация и извлечение фактов). В результате для каждого бинарного образа возвращается и записывается ИД задачи его обработки в Directum Ario для дальнейшего отслеживания статуса обработки;
•стартует запуск обработки пакета документов на сервере (вызывается перегрузка серверной функции ProcessCapturedPackage() модуля SmartProcessing, запускающая асинхронный обработчик распознавания пакета документов в Directum Ario). Работа DCS и клиентского конвейера полностью завершается.
Примечание. RxCmd использует сервис интеграции для тех действий, которые должны выполняться на сервере, например, вызов прикладных серверных функций или чтение/изменение сущностей.
2.Асинхронный обработчик событий ProcessBlobPackage периодически запрашивает статус обработки в Directum Ario по каждому бинарному образу до тех пор, пока не вернется один из нижеперечисленных результатов:
•если обработка успешно завершена, то ее результат в формате Json записывается в бинарный образ, и также в нем проставляется статус успешной обработки.
•если в процессе обработки произошла ошибка, то в бинарный образ проставляется статус ошибки.
3.Если нет ошибок в Directum Ario, или пакет документов поступает с почты, то начинает выполняться серверный конвейер (в асинхронном обработчике событий ProcessBlobPackage запускается серверная функция ProcessCapturedPackage()). В остальных случаях ответственному за верификацию отправляется уведомление об ошибках.
Этапы серверного конвейера:
•распаковка результатов распознавания Directum Ario (серверная функция UnpackArioPackage() модуля SmartProcessing). Десериализация результата обработки пакета в Directum Ario. Создаются результаты распознавания сущности;
•формирование пакета документов (серверная функция BuildDocumentPackage() модуля SmartProcessing). Для каждого поступившего документа создается документ в системе. Свойства документа заполняются с применением нечеткого поиска по поисковой системе, если такая возможность доступна. В других случаях с помощью четкого поиска по системе Directum RX ищутся документы по штрихкоду. Нечеткий поиск доступен при соблюдении условий:
•наличие лицензии на модуль Intelligence;
•настроенный Elasticsearch;
•наличие проведенной индексации.
•сортировка и связывание пакета (серверная функция OrderAndLinkDocumentPackage() модуля SmartProcessing). В пакете определяется ведущий документ, создаются связи;
•отправка на верификацию (серверная функция SendToResponsible() модуля SmartProcessing). Пакет с документами отправляется на верификацию ответственному;
•завершение работы конвейера (серверная функция FinalizeProcessing() модуля SmartProcessing). Завершение работы, удаление ненужных данных. В пакете документов устанавливается ProcessState (Обработка) = Processed. Далее такие пакеты будут удалены в фоновом процессе DeleteBlobPackages (Интеллектуальная обработка. Удаление пакетов бинарных образов документов).
© Компания Directum, 2024 |