Система контроля тиражей ПО на ATM

Мои работы

Для автоматизации отслеживания статусов банкоматов после применения обновлений разработан инструмент, позволяющий автоматически проверять состояние каждого узла АТМ без участия человека. Скрипт использует сложный алгоритм для анализа статусных сообщений с хоста до выполнения задания и после. С помощью данного инструмента можно проводить оценку эффективности проведения тиража ПО на банкоматах.

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

По просьбе коллег из отдела, отвечающего за тиражирование ПО на банкоматах, был разработан инструмент, который в автоматическом режиме может проверять изменения в поведении узла банкомата после проведения обновления. В проекте я использовал для backend - php, mysql, python, для frontend - bootstrap, chart.js и table sortable js для удобной разбивки на страницы.

Интерфейс программы

На основной странице отображены названия тиражей, по умолчанию показано всего 5 записей, чтобы не перегружать страницу.

Главный интерфейс программы

Создание задачи для отслеживания

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

Окно добавления задания

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

Контроль результата

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

Сотрудник может изменить время отслеживания статусов "До" и "После". Визуально подсвечены статусы основных узлов банкоматов (Связь, Открыт/Закрыт, Диспенсер, Модуль приема наличных, EPP-клавиатура, NFC) и в случае, если из "хорошего" состояния произошел переход в "плохой" номер банкомата попадает в список "УС с ошибкой". 

Ниже, в виде круговой диаграммы отображено процентное соотношение сбойных устройств относительно успешных, вывод реализован с помощью библиотеки chart.js.

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

Для сравнения результатов работает служба написанная на Python, которая выгружает из общей выгрузки только нужные устройства и сохраняет данные в виде json файла со статусами. 

Окно добавления задания

Общая статистика по обновлению

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

Окно добавления задания

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

Сейчас коллеги активно пользуются, по последней выгрузке через систему отслеживалось состояние около 180 000 банкоматов. 

Смогли уйти от рутинной работы с отчетами, инструментом сможет пользоваться практически любой сотрудник, который имеет базовое представление в работе АТМ.

75 2024.12.21 13:48 prod python php