Преодоление проблем роста
Мы стремимся сделать разрабатываемую нами систему управления качеством IQ-TERM лучше и удобнее в использовании. Командой, работающей над проектом, постоянно ведется сбор информации от потребителей нашего продукта. Анализ и обсуждение собранных данных позволяет нам своевременно проводить добавление нового функционала, который позволяет автоматизировать все больше процессов фармпредприятий связанных с управлением и обеспечением качества при хранении и транспортировке Лекарственных средств.
В процессе работы над проектом, мы убедились, что автоматизация процесса мониторинга микроклимата требует особого подхода со стороны как потребителей IQ-TERM так и разработчиков. В первую очередь это связано с наличием пристального внимания к этому вопросу, в требованиях GxP и в Правилах надлежащей дистрибьюторской практики в рамках Евразийского экономического союза. С каждым днем участники фармацевтического рынка уделяют все больше внимания контролю за соблюдением условий хранения и транспортировки на всех этапах и это приводит к трансформации подходов к выполнению этих процессов. Кроме того, мониторинг микроклимата порождает большой поток данных в режиме реального времени предназначенных для дальнейшей обработки и анализа.
Количество данных получаемых IQ-TERM от процесса мониторинга растет по мере того, как пользователи расширяют контролируемые участи холодовой цепи, включая в них не только хранение, но и транспортировку. Особенно это стало заметно, когда потребители нашего решения начали мониторить изменение микроклимата в термоконтойнерах. Количество оборудования, от которого IQ-TERM стал получать и обрабатывать данные возросло в разы.
В рамках установленного у одного из заказчиков решения, мы обрабатывали данные с более чем сотни датчиков различных производителей, подключенных как по проводным, так и по беспроводным каналам передачи данных, а также логгеров. Логгеры использовались заказчиком, в качестве апробации модели мониторинга микроклимата в термоконтейнерах и для проведения картирования. После успешного подтверждения данной модели число используемых логгеров возросло более чем в пять раз.
Заказчики стремятся постоянно оптимизировать существующие бизнес процессы в результате чего все чаще беспроводные датчики температуры стали использоваться не только в режиме передачи данных OnLine но и в режиме их накопления с дальнейшей выгрузкой архива в автоматическом режиме. Кроме того более широко применяются логгеры для мониторинга температуры в термоконтейнерах. Эти два способа информации о микроклимате в корне, отличается от обработки данных, полученных от датчиков в режиме реального времени, так как одномоментно в систему происходит выгрузка достаточно большого массива неразмеченных значений, требующего дальнейшего анализа на соответствие установленным пределам, статусам объектов мониторинга формирования отклонений в случае выходов значений за допустимые. Данные же от датчиков, попадают в систему уже проанализированными на устройствах сбора информации и не нуждающиеся в дополнительной оценке, они готовы для записи и дальнейшей их аналитики. Подобные пиковые нагрузки привели нас к решению о необходимости изменения логики обработки данных с учетом их приоритетности для пользователя. Очевидное решение для данной задачи — это вынос функционала по обработке данных микроклимата в отдельное приложение, это позволит избежать пиковых нагрузок на основное приложение, а в случае необходимости увеличение производительности появится возможность масштабирования на лету. Однако, реальность внесла свои коррективы, решение задачи нужно было получить быстро, так как заказчик активно наращивал количество используемых устройств для сбора данных о микроклимате. Был выбран более простой, но не менее эффективный способ – распараллелить потоки обработки данных создавая их для каждого датчика или логера. В дополнение разработать очередь с приоритетами, наивысший приоритет для парсинга должны получать данные приходящие в прямом эфире от датчиков, чтобы отображать актуальную информацию о состоянии объектов мониторинга Online. Данные же, приходящие из архивов или логгеров, обрабатываются с более низким приоритетом не замедляя работу основной системы. Очевидный минус такой реализации в ограничении количества потоков, так как этот показатель напрямую зависит от технических характеристик сервера. Тестирование на наших серверах показало, что мы обеспечили себе значительный запас, по количеству обрабатываемых датчиков.