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

Промзона \ Получение и использование данных системы учета рабочего времени Орион 7.5.1.
Как извлечь данные системы учета рабочего времени Орион 7.5.1. и как их можно использовать

 

Постановка задачи
В здании нашего предприятия внедрена система охраны на базе программного комплекса Орион 7.5.1.
Данное программное обеспечение в частности предоставляет возможность получения данных о входе и выходе людей в здание предприятия. Для этого комплекс охраны оснащен турникетами и считывателями RIF карт, а сотрудники и гости предприятия - соответственно RIF картами.
Данные о сотрудниках и выданным им картам внесены в систему Орион 7.5.1.
Таким образом, в системе Орион 7.5.1. накапливаются данные о том, кто и во сколько вошел или вышел в здание предприятия. Эта информация может быть использована для учета рабочего времени сотрудников предприятия.
Система Орион 7.5.1. оснащена собственным инструментом анализа данной информации (программа "Учёт рабочего времени", "NWTime.exe"), но он имеет определенные недостатки:
  • Невозможность получения информации в автоматическом режиме, сформировать отчет можно только вручную. Это исключает интеграцию системы учета рабочего времени Орион 7.5.1 с другими информационными системами предприятия, в частности с внутренним web сайтом компании.
  • Другие способы коммуникаций с сервером Орион 7.5.1. невозможны, т.к. протоколы имеет закрытый формат и недоступны в свободном виде.
    Этих недостатков лишено решение Орион Pro, которое может использовать в качестве СУБД MS SQL сервер. Понятно, что в этом случае с использованием информации системы учета рабочего времени Орион Pro с другими информационными системами предприятия не вызовет проблем.
    Решение
    Анализируя файлы БД, с которыми работает Орион 7.5.1, удалось установить, что это файлы СУБД Paradox.
    Информационные службы предприятия используют в качестве СУБД MS SQL 2005.
    Значит нужно создать решение, позволяющее реплицировать информацию системы учета рабочего времени на базе СУБД Paradox Орион 7.5.1 и СУБД MS SQL 2005.
    Задача осложняется тем, что открытие таблиц СУБД Paradox Орион 7.5.1 с использованием штатных средств MS Windows (ODBC, MS Jet) или BDE занимала неприлично много времени (около 10 мин на P IV 3000 1Gb RAM).
    Кроме того, из соображений безопасности, сервер системы Орион 7.5.1 связан с основной сетью предприятия только физически. Т.е. физическое подключение к сети есть, но этот компьютер не входит в домен предприятия, не использует сервисы DNS, DHCP и т.д.
    Все возможные подключения извне, к данному компьютеру, закрыты брандмауэром.
    По этим причинам пришлось отказаться от идеи репликации БД штатными средствами MS SQL 2005, и было разработано собственное решение.
    Как видно из этого рисунка, на компьютере с системой Орион 7.5.1 работает специальная служба, основная и единственная задача которой - периодически (раз в 5-7 мин) подключаться к СУБД Paradox Орион 7.5.1 и считывать информацию о сотрудниках, их характеристиках, и данные о проходе сотрудников через турникеты (не все данные, а только последние несколько сотен событий входа/выхода).
    Объем пересылаемой информации, за одну пересылку не превышает нескольких сотен Kb.
    Полученная информация, после считывания, кодируется и пересылается по протоколу UDP на компьютер в основной сети предприятия.
    Там она расшифровывается и обрабатывается.
    При анализе данных о сотрудниках из Орион 7.5.1. производится сопоставление с данными о сотрудниках из AD домена предприятия. Так однозначно устанавливается соответствие между этими двумя источниками информации о сотрудниках.
    После этого анализируются полученные данные о входе/выходе сотрудников:
  • Находится соответствующая запись о сотруднике и его данных в AD
  • Проверяется, не внесена ли уже в основную БД такая запись о входе/выходе
    При прохождении этих шагов, запись заносится в основную СУБД предприятия.
    Такой подход позволяет минимизировать объем пересылаемой по сети информации, одновременно избежав потерь данных, так как вся информация передается избыточно (по факту, максимум возможных событий проходов через турникеты за 5 мин ~10-60).
    Информация о входе/выходе сотрудников в здание предприятия, попавшая в основную СУБД предприятия, используется во всех необходимых случаях, в частности на внутреннем сайте предприятия в системе "Рабочее время и заметки".
    Вкратце некоторые возможности, которые стали доступны пользователям внутреннего сайта предприятия, после интеграции данных системы Орион 7.5.1. c с остальными информационными службами предприятия:
  • Любой сотрудник предприятия на своем рабочем месте может получить информацию о том, когда он входил в здание, когда выходил, за любой необходимый ему период времени. Кроме того, автоматически рассчитывается суммарное проведенное в здании предприятия время и для справки приводится суммарное необходимое рабочее время (с учетом переноса рабочих дней при праздниках, работы на 1 час меньше в предпраздничные дни). Так вычисляется показатель "переработки/недоработки".
  • Начальники отделов и топ-менеджеры предприятия могут получать перечисленную выше информацию о сотрудниках своего отдела, или любого сотрудника предприятия соответственно.
  • Имеется система, позволяющая сотрудникам отчитываться например о выполняемых ими задачах, требующих их отсутствия в здании предприятия, а так же возможность уведомлений сотрудников пердприятия о поставленным им задачам, со стороны начальников отделов и/или топ-менеджеров.
  • Можно получить информацию о том, находится ли какой либо сотрудник в здании предприятия в текущее время.
    Некоторое представление о работе данной подсистемы внутреннего сайта предприятия может дать презентация, посвященная этой моей разработке.

    Данная разработка не использует никаких частей кода, скриптов, настроек, алгоритмов или иных составляющих "системы Орион", кроме файлов СУБД Paradox, используемых комплексом для хранения данных.

    Delphi 2005
    Платформа WinXP/Win2003serv, IIS6

    Презентация "Рабочее время и заметки"    Орион 7.5.1.
     
  •