Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Сетевые системы контроля и управления доступом



Сетевые системы контроля доступа включают несколько (много) считывателей и один или несколько (или много) контроллеров или компьютеров, объединённых в единую систему через сеть передачи данных. Сетевые СКУД - это уже комплекс программных и аппаратных средств, обеспечивающий

* открытие/блокировку прохода на охраняемые территории офиса/здания/предприятия,
* возможность мониторинга событий в реальном времени и прямого управления оборудованием с компьютера оператора службы охраны,
* сбор и обработку информации о перемещении персонала по объекту,
* назначение сотрудникам различных прав доступа - по помещениям, по времени и по статусу,
* организацию и учет рабочего времени сотрудников компании,
* оформление карт доступа в виде пропусков с фотографией и данными сотрудника,
* составление и распечатку различных отчетов,
* автоматизацию табельного и кадрового учета,
* возможность импорта в систему имеющихся в электронном виде данных о сотрудниках,
* управление режимами работы и автоматикой автостоянок,
* управление пропуском автотранспорта на контролируемую территорию,
* мониторинг работоспособности оборудования и конфигурирование системы.

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

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

Такие системы контроля и управления доступом позволяют обеспечить их интеграцию с современными системами охранно-пожарной сигнализации и системами видеонаблюдения, что приводит к более высокой эффективности использования как СКУД, так и всей системы обеспечения безопасности объекта.

Аббревиатура СКУД представляет собой интеллектуальный замок на вашей двери. Конечно, под понятием электрозамок может скрываться масса устройств, преграждающих проход в помещение (здание, территорию и т.д. и т.п.). Все эти устройства в системах контроля доступа обозначаются термином исполнительные устройства. Исполнительным устройством может быть собственно электрозамок (электромеханический или электромагнитный), электромеханическая защелка, турникет, шлагбаум и т.п.

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

Системой контроля доступа (СКД) называется совокупность программно-технических средств и организационно-методических мероприятий, с помощью которых решается задача контроля и управления посещением отдельных помещений, а также оперативный контроль перемещения персонала и времени его нахождения на территории объекта. Действительно, СКУД это не только аппаратура и программное обеспечение, это продуманная система управления движением персонала.

 

ХЭШ-Функция

Хеширование.

Выше мы вывели ряд списковых структур, позволяющих программе-клиенту осуществлять поиск и выборку данных. В каждой такой структуре метод Find выполняет обход списка и ищет элемент данных, совпадающий с ключом. При этом эффективность поиска зависит от структуры списка. В случае последовательного списка метод Find гарантированно просматривает O(n) элементов, в то время как в случае бинарных поисковых деревьев и при бинарном поиске обеспечивается более высокая эффективность O(log2n).

В идеале нам хотелось бы выбирать данные за время O(1). В этом случае число необходимых сравнений не зависит от количества элементов данных. Выборка элемента осуществляется за время O(1) при использовании в качестве индекса в массиве некоторого ключа. Например, блюда из меню в закусочной в целях упрощения бухгалтерского учета обозначаются номерами. Какой-нибудь деликатес типа «бастурма, маринованная в водке» в базе данных обозначается просто №2. Владельцу закусочной остается лишь сопоставить ключ 2 с записью в списке (рисунок 25).


Рис. 25.

Мы знаем и другие примеры. Файл клиентов пункта проката видеокассет содержит семизначные номера телефонов. Номер телефона используется в качестве ключа для доступа к конкретной записи файла клиентов.


Рис. 26.

Ключи не обязательно должны быть числовыми. Например, формируемая компилятором таблица символов(symbol table) содержит все используемые в программе идентификаторы вместе с сопутствующей каждому из них информацией. Ключом для доступа к конкретной записи является сам идентификатор.

Ключи и хеш-функция

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

В большинстве приложений ключ обеспечивает косвенную ссылку на данные. Ключ отображается во множество целых чисел посредством хеш-функции(hash function). Полученное в результате значение затем используется для доступа к данным. Давайте исследуем эту идею. Предположим, есть множество записей с целочисленными ключами. Хеш-функция HF отображает ключ в целочисленный индекс из диапазона 0...n-1. С хеш-функцией связана так называемая хеш-таблица(hash table), ячейки которой пронумерованы от 0 до n-1 и хранят сами данные или ссылки на данные.


Рис. 27.

Предположим, Key – положительное целое, а HF(Key) – значение младшей цифры числа Key. Тогда диапазон индексов равен 0-9. Например, если Key = 49, HF(Key) = HF(49) = 9. Эта хеш-функция в качестве возвращаемого значение использует остаток от деления на 10.

// Хеш-функция, возвращающая младшую цифру ключа int HF(int key) { return key % 10; }

Часто отображение, осуществляемое хеш-функцией, является отображением «многие к одному» и приводит к коллизиям(collisions). Например, выше мы видим HF(49) = HF(29) = 9. При возникновении коллизии два или более ключа ассоциируются с одной и той же ячейкой хеш-таблицы. Поскольку два ключа не могут занимать одну и ту же ячейку в таблице, мы должны разработать стратегию разрешения коллизий.

Схемы разрешения коллизий обсуждаются после знакомства с некоторыми типами хеш-функций.


Рис. 28.

Хеш-функции

Хеш-функция должна отображать ключ в целое число из диапазона 0...n-1. При этом количество коллизий должно быть ограниченным, а вычисление самой хеш-функции – очень быстрым. Некоторые методы удовлетворяют этим требованиям.

Наиболее часто используется метод деления(division method), требующий двух шагов. Сперва ключ должен быть преобразован в целое число, а затем полученное значение вписывается в диапазон 0...n-1 с помощью оператора получения остатка. На практике метод деления используется в большинстве приложений, работающих с хешированием.

Предположим, что ключ – пятизначное число. Хеш-функция извлекает две младшие цифры. Например, если это число равно 56389, то HF(56389) = 89. Две младшие цифры являются остатком от деления на 100.

int HF(int key) { return key % 100; // метод деления на 100 }

Эффективность хеш-функции зависит от того, обеспечивает ли она равномерное распределение ключей в диапазоне 0...n-1. Если две последние цифры соответствуют году рождения, то будет слишком много коллизий при идентификации подростков, играющих в юношеской бейсбольной лиге.

Другой пример – ключ-символьная строка С++. Хеш-функция отображает эту строку в целое число посредством суммирования первого и последнего символов и последующего вычисления остатка от деления на 101 (размер таблицы).

// хеш-функция для символьной строки. // Возвращает значение в диапазоне от 0 до 100 int HF(char *key) { int len = strlen(key), hashf = 0;   // если длина ключа равна 0 или 1, возвратить key[0]. // иначе сложить первый и последний символ if (len <= 1) hashf = key[0]; else hashf = key[0] + key[len-1];   return hashf % 101; }

Эта хеш-функция приводит к коллизии при одинаковых первом и последнем символах строки. Например, строки «start» и «slant» будут отображаться в индекс 29. Так же ведет себя хеш-функция, суммирующая все символы строки.

int HF(char *key) { int hashf = 0;   // просуммировать все символы строки и разделить на 101 while (*key) hashf += *key++;   return hashf % 101; }

Строки «bad» и «dab» преобразуются в один и тот же индекс. Лучшие результаты дает хеш-функция, производящая перемешивание битов в символах.

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

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.