Автор: Стасенко Л.А.
Часть 1. Задания, задания...
В этой статье мы поговорим о менеджере заданий — специальном модуле, который в многих случаях помогает облегчит жизнь и расширить функциональность системы за рамки заложенных в неё принципов функционирования.
Для чего это надо
В системе безопасности часто возникает необходимость автоматизации каких — либо действий — выполнять что — то в определённое время (например, ставить помещение на охрану на ночь), либо реализовать реакцию на конкретное событие в системе (например, известить руководителя о приходе на работу конкретного сотрудника). Именно задачи такого рода и позволяет решать менеджер заданий интегрированной системы безопасности ParsecNET 3.
Как оно работает
Система ParsecNET 3 построена по модульному принципу и имеет несколько функционально ориентированных наборов компонент: это база данных системы, сервисы, обеспечивающие основной функционал (транспорт сообщений и команд, работа с оборудованием) и пользовательский интерфейс, также состоящий из набора модулей или рабочих мест операторов.
Сервисы системы — это такие программы, которые работают независимо от пользователя и автоматически запускаются при включении компьютера. При этом они начинают работать ещё до того, как пользователь войдёт в Windows, и продолжают работать до выключения компьютера, делая свою невидимую работу.
Одним из таких сервисов является менеджер заданий, о котором идёт речь сегодня.
Какие бывают задания
Любое задание должно тем или иным способом быть запущены на исполнение, а в процессе выполнения задание должно выполнить некоторую работу. Сначала рассмотрим, как задание может быть запущено. В системе ParsecNET существует четыре способа запуска заданий:
- Периодически. При данном способе можно задать периодичность запуска заданий в секундах, минутах, часах, днях, неделях, месяцах и годах. Например, можно ежедневно вечером выключать свет в офисе в 22:00, включать кофе — машину в 9:00 утра, ставить офис на охрану в 23:00 и так далее.
- Разновидностью запуска заданий по времени является запуск по расписанию. Отличается от предыдущего способа тем, что, например, кофе — машину можно не включать по субботам и воскресеньям.
- По событию устройства. При данном способе запуска можно выбрать любое событие, происходящее в системе: срабатывание охранного датчика, проход пользователя через точку прохода, действия оператора и так далее.
- Вручную. Данный способ позволяет решать две категории задач: во первых, это возможность запуском задания выполнять набор действий над разными объектами системы (например, поставить на охрану несколько помещений одним кликом мышки), а во вторых, запустить последовательность таких действий из другого задания, что позволяет создавать достаточно сложные алгоритмы функционирования системы.
Любое задание, как бы оно ни было запущено, должно выполнить некоторую работу. В системе ParsecNET задание может выполнить следующие функции:
- Команда устройству. В данном случае можно послать любую допустимую команду любому устройству системы: открыть дверь, поставить область на охрану, включить запись с камеры видеонаблюдения и так далее.
- Текстовое сообщение. На текущий момент в системе ParsecNET текстовые сообщения можно отправлять в мини — консоль, на электронную почту и в виде SMS — сообщений на заданный телефон.
- Управление заданием. Любое другое задание можно включить, выключить, запустить на выполнение. Это позволяет создавать сложные цепочки действий, не реализуемые в рамках единичного задания.
- Задержка. Данный функция позволяет создавать задержки между отдельными заданиями, например, первое задание включает реле контроллера, следующее реализует задержку в три минуты, а третье задание выключает реле.
- Выполнить код. Функция, позволяющая реализовать практически любые алгоритмы работы системы. Но для этого необходимо написать код (скритп), который будет запущен на выполнение. Код пишется на языке C# (Си шарп), и написание такого кода требует достаточно глубокого знания не только языка программирования, но и устройства системы ParsecNET. Однако вы всегда сможете заказать написание специальных модулей разработчикам системы.
Практический пример
Создать простое задание типа «Поставить на охрану комнату № хх в 22:00» проблем не составит даже для неискушённого пользователя. Мы же рассмотрим несколько более сложный пример. Например, я хочу получать SMS сообщение о человеке, первым пришедшем на работу (в офис). Формулировка задачи кажется простой, но с помощью одного задания задача не решается (при условии, что мы не пишем специальный скрипт). Посмотрим, как это можно реализовать штатными средствами ParsecNET, не привлекая к решению задачи программистов.
Сначала мы создадим задание, которое будет запускаться заведомо до начала рабочего дня (например, в 4 часа утра), то есть это будет задача, запускаемая периодически с периодом в сутки. Эта задача будет запускать вторую задачу.
Вторая задача, которую мы создадим, будет работать по событию авторизованного входа по заданной точке прохода (вход в офис), при этом задача создаётся в остановленном состоянии (её будет запускать первая задача). Эта задача по событию авторизованного входа будет посылать на заданный номер SMS с данными пользователя, вошедшего в офис. Кроме того, эта задача запускает задачу номер три.
Третья задача, выполняемая в режиме запуска вручную, выполняет совсем простую функцию — останавливает задачу номер два, за счет чего SMS о других вошедших в офис уже формироваться не будут. До наступления следующих суток, когда опять запуститься задача номер один.
Итого
Сегодня мы познакомились вкратце с менеджером заданий интегрированной системы безопасности на базе системы контроля доступа ParsecNET-3 и попытались показать его возможности, которые далеко не исчерпываются описанными в данной статье — возможности его намного шире, особенно если использовать дополнительные скрипты, позволяющие анализировать различные условия и принимать решения в зависимости от исходных условий.
В следующих статьях мы познакомимся с другими интересными возможностями системы, позволяющими упростить жизнь её пользователям и обеспечить надёжную защиту ваших объектов.