Информационная компьютерная система видеонаблюдения

Сравнительный анализ существующих систем видеонаблюдения: система видеонаблюдения "iSpy", аппаратно-программный комплекс "Видео Инспектор 1.7". Требования к клиентской части программной подсистемы. Выбор технических средств и языка реализации системы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 06.06.2013
Размер файла 776,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Информационная компьютерная система видеонаблюдения

1. Анализ задачи видеонаблюдения

1.1 Анализ предметной области

1.1.1 Построение базовой модели предметной области

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

Таким образом, система видеонаблюдения обеспечивает:

– визуальный контроль ситуации на охраняемом объекте - предоставление информации на пост наблюдения в режиме реального времени;

– организацию непрерывной видеозаписи видеонаблюдения на цифровой видеорегистратор, что позволяет документально подтвердить факт нарушения;

– выполнение функций охранной сигнализации через детекторы движения видеокамер или внешних охранных датчиков и информированность оператора системы о возникновении тревоги в контролируемой зоне.

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

Системы видеонаблюдения достигли широкого распространения во многих сферах деятельности, таких как:

– видеонаблюдение на транспорте;

– видеонаблюдение в развлекательных и торговых объектах

– видеонаблюдение в офисах

– видеонаблюдение в домашнем секторе

– высотное телевидение

Видеонаблюдение на транспорте можно разделить на:

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

– видеонаблюдение в электропоездах. Основные задачи - фиксирование преступлений в вагонах и контроль действий машиниста. Решение реализуется с помощью организации видеозаписи в каждом вагоне. В некоторых случаях видеотрансляция с камер в режиме реального времени осуществляется в кабину машиниста. После прибытия электропоезда в депо информация с локальных устройств видеозаписи передается на архивные видеосерверы железнодорожного депо.

– видеонаблюдение в вагонах метрополитена (Может быть аналогичным видеонаблюдению в электропоездах). Основные задачи - фиксирование преступлений в вагонах, контроль действий машиниста и возможность оперативной реакции на события в режиме реального времени. Решение реализуется с помощью организации видеозаписи в каждом вагоне. После прибытия электропоезда метро в депо информация с локальных устройств видеозаписи передается на архивные видеосерверы метрополитена.

– видеонаблюдение в личном автомобиле. С 2007 года начался широкий рост использования автомобильных видеорегистраторов в личных автомобилях. Цифровой автомобильный видеорегистратор совместно с видеокамерой производит непрерывную запись дорожной ситуации. Запись видеорегистратора принимается как доказательство в суде и помогает доказать невиновность или найти скрывшегося виновника ДТП.

На крупных торговых объектах видеонаблюдение используется для:

– противодействия хищениям со стороны посетителей. Путем взаимодействия оператора CCTV с магазинными детективами (сотрудниками службы безопасности, находящихся в торговом зале под видом покупателей) и группой физической охраны (сотрудниками ЧОП или СБ в форме, находящимися на постах) осуществляется негласное постоянное визуальное сопровождение подозрительных лиц по магазину.

– контроля за персоналом магазина. В отсутствие системы контроля доступа по магнитным ключам видеонаблюдение помогает контролировать трудовую дисциплину (время приходов и уходов сотрудников). Также размещенные в складских и служебных помещениях видеокамеры помогают в работе службы безопасности при анализе бизнес-потерь, возникающих в логистическом отделе

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

– поскольку крупные торговые комплексы являются местом совершения преступлений не только в отношении самого предприятия, но и посетителей, наличие сети видеонаблюдения с архивированием данных помогает расследовать и в ряде случаев предотвращать угоны автомашин с парковок, деятельность воров-карманников и барсеточников. Зачастую сотрудники правоохранительных органов обращаются в СБ магазинов с просьбой предоставить архивные видеоданные, когда подобные преступления происходят в поле обзора CCTV.

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

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

Для видеонаблюдения могут использоваться как аналоговые, так и IP-камеры, более дорогие, но дающие более высокое качество изображения, и более простые в установке. Некоторыми камерами являются поворотными, другие же камеры. Возможность управлять поворотными камерами с помощью встроенного робота называется PTZ. Управление PTZ осуществляется с помощью специальных протоколов, таких как Pelco-P, Pelco-D, Samsung и т.д. Многие производители для управления PTZ используют свои протоколы (в том числе и Pelco, которые также являются производителем аппаратуры для видеонаблюдения).

Для конфигурирования камер также существует специальный стандарт ONVIF, определяющий протоколы взаимодействия таких устройств как IP-камеры, энкодеры, видеорегистраторы и системы управления видео. Но в данный момент этот протокол работает с гигантскими оговорками. У каждого производителя своё понятие о стандарте ONVIF. Даже те, кто его создал (SONY, AXIS) работают через ONVIF по-разному. Все осложняется тем, что не существует на данный момент эталонного инструмента, позволяющего тестировать корректную работу тех же камер с ONVIF.

Основные характеристики современных систем видеонаблюдения:

– разрешение изображения: для охранных систем зачастую: 360х288, 640х480, 720х576 (для аналоговых камер стандарта PAL) и более высокие для IP камер;

– скорость смены кадров: варьируется в широких пределах, в зависимости от основных задач системы, для охранных систем значение зачастую равно 6 кадрам/сек. Максимальное количество для сигналов PAL - 25 к/с NTSC - 30 к/с;

– глубина видеоархива (при наличии);

– наличие дополнительных средств автоматизации на основе видеоанализа.

В наше время, наверное, не найдется ни одной системы видеонаблюдения без функций видеоанализа. Любая система видеонаблюдения умеет, как минимум, распознавать движение. Сами камеры так же часто обладают функциями видеоанализа, начиная от простого распознавания движения и заканчивая функциями подсчета объектов, пересекших определенную границу. Некоторые системы видеонаблюдения умеют получать данные видеоанализа непосредственно с камер. Таким образом, уменьшается нагрузка на сервер. Сложность состоит в том, что разные производители видеоаппаратуры отправляют эти данные по-разному. Некоторые поставляют специальные SDK, некоторые дают возможность получить различные данные с помощью CGI-скриптов (часто плохо документированных), некоторые используют более изощренные способы передачи данных. Именно поэтому есть смысл реализовать свои модули видеоанализа.

Наиболее часто встречаемые функции видеоанализа, встречаемые в системах видеонаблюдения:

– распознавание движения

– распознавание автомобильных номеров

– распознавание номеров вагонов

– распознавание лиц

– подсчет количества людей, стоящих в очереди.

– подсчет людей, вошедших / вышедших на объект.

Некоторые системы могут кроме видео анализировать уровень шума, и, если он превышает заданный уровень, оповещать пользователя.

Так же современная система видеонаблюдения немыслима без возможности сохранения видео в архив. Часто запись видео ведется непрерывно), иногда запись видео происходит по расписанию (например с понедельника по пятницу, с 8:00 до 22:00), иногда по событиям (например по движению, шуму, и т.д.). Современная система позволяет пользователю выбрать и настроить любой из этих способов ведения архива, а так же комбинировать их. Так, например, на объектах с большой плотностью движения запись чаще всего ведется непрерывно либо по расписанию. На объектах, на которых движение не предусмотрено (склады, и т.д.) удобнее вести запись по тревожным событиям.

1.1.2 Анализ существующих систем

Система видеонаблюдения «iSpy»

iSpy - открытая система видеонаблюдения. Данная система включает в себя множество интересных решений, таких как реакция на звук и движение. Так как система является открытой, она нашла множество различных применений, например наблюдение за штормами, метеоритами, или даже за НЛО. Система доступна на двадцати языках и поддерживает множество камер различных производителей.

Существует возможность использовать проигрователь iSpy на своем сайте.

Система поддерживает управление PTZ по многим протоколам.

Есть возможность конвертации текста в речь для последующей передачи на встроенный микрофон IP-камеры.

Возможен доступ к системе для просмотра видео или же конфигурирования через iPhone, Android, Windows Phone 7 из любой точки мира.

В системе есть встроенный детектор движения. Также возможна запись видео по тревоге с последующей загрузкой видео на youtube или же удаленный FTP-сервер. Также есть возможность настроить оповещения по тревоге, через SMS / MMS / Twitter. Существует возможность настроить систему в режим мониторинга, то есть настроить периодическое оповещения даже когда тревога не сработала.

Возможна настройка записи видео / аудио потока по расписанию.

Типичные применения данной системы - домашнее или же офисное видеонаблюдение.

К сожалению недостаток данной системы - ее не кроссплатформенность.

Аппаратно-программный комплекс «Видео Инспектор 1.7»

Компьютерная система видеонаблюдения и видеозаписи «Видео-Инспектор» представляет собой комплексное программно-аппаратное решение в области организации видеоохраны.

Основное назначение комплекса - осуществление видеоконтроля охраняемой зоны и автоматическая обработка видеоданных - управление детектором движений, процессом записи на диск, выявление тревожных ситуаций и т.д.

Аппаратно-программный комплекс «Видео-Инспектор» разработан для работы на основе персонального компьютера. Работает в операционных средах семейства Microsoft Windows.

Присутствует поддержка удалённого рабочего места. К серверной машине подключаются видеокамеры, на ней ведётся обработка всех данных и настройка системы. Клиентская машина представляет собой удалённый терминал для работы оператора.

Сама же система «Видео-Инспектор» состоит из двух частей: аппаратной - платы видеоввода, и программной - ПО «ВидеоИнспектор».

При работе с системой «ВидеоИнспектор» пользователю доступны:

– Автоматическая цифровая запись видео от нескольких ТВ-камер одновременно;

– Гибкая настройка приоритета обслуживания, продолжительности и темпа записи для каждой ТВ-камеры;

– Четырехуровневая компрессия (сжатие) видеоизображения;

– Использование программного детектора движения:

1) Индивидуальная настройка детектора движения для каждой камеры;

2) Настройка детектора по размеру объектов;

3) Возможность автоматической записи на диск событий, предшествующих тревожной ситуации;

4) Запись тревожной ситуации;

5) Возможность автоматической записи на диск событий, произошедших после возникновения тревожной ситуации;

– Работа с виртуальным пользовательским экраном:

1) Показ изображения, поступающего от «тревожной» ТВ-камеры;

2) Изменение кратности экрана (количество изображений на экран).

Система уличного видеонаблюдения «SMB»

«SMB» - строится на базе видеорегистратора со встроенными передатчиками видеосигнала по витой паре TWIST. Используется технология передачи электропитания видеокамеры в одном кабеле «витой пары» с видеосигналом (технология PwA). Такое решение позволяет избежать сильных помех, в том числе защищает систему от грозовых разрядов. Использование технологии PwA позволяет отказаться от дополнительных блоков питания и работ по прокладке отдельного кабеля для питания видеокамер. Для питания регистратора и видеокамер используется один высококачественный импульсный блок питания с минимальным уровнем вносимых помех, обеспечивая при этом качественное и стабильное электропитание. Передатчики по витой паре имеют встроенную грозозащиту до 5 кВ.

Для обработки видеопотока, отображения и хранения видеоархива используется видеорегистратор Mustang с возможностью локального просмотра потокового видео и видео архива (требуется монитор с VGA входом). Запись при этом может вестись со скоростью до 25 кадров в секунду при разрешении D1. Для хранения видеоархива в видеорегистраторе установлен один жесткий диск объемом 2 Тб. Такого объема хватит примерно на 5-20 дней записи в зависимости от формата записи.

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

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

– MS Windows Mobile Professional 6.1 or 6.5;

– Android;

– iPhone;

– Blackberry;

– Symbian.

Данную систему рекомендуется использовать для видеоконтроля объектов с открытой территорией (автопарки, складские комплексы, в том числе крытые неотапливаемые, сельскохозяйственные комплексы, санатории и т.п.).

Видеорегистратор имеет 16 видеоканалов - это максимально возможное количество. Однако в видеорегистратор можно установить дополнительно до 4-х плат аудиозахвата (по 4 канала на плату, всего 16 каналов) и два жестких диска до 2 Тб каждый.

Возможности регистратора позволяют укомплектовать его (вместо указанных в спецификации плат расширения) платами Twist-auto-PwA-4 на 4 видеоканала для передачи видеосигнала с питанием видеокамеры до 600 метров и / или Twist-PwA-4/TVR на 4 видеоканала для передачи видеосигнала без питания видеокамеры до 1100 метров с автоподстройкой параметров. Причем платы видеоканалов могут использоваться в любой комбинации (суммарно 16 каналов).

В системе могут использоваться любые видеокамеры. Их выбор зависит от поставленных задач (могут использоваться и внутренние видеокамеры). Однако необходимо учитывать, что камеры без встроенных передатчиков необходимо доукомплектовывать.

Програмно-аппаратный комплекс «СОВА»

ПАК СОВА представляет собой видеосервер с возможностью записи и отображения от 8 до 32 каналов видео, управления релейными контактами (4 входа/4 выхода) и функциями видеоаналитики, такими как распознавание автомобильных номеров и интеграция с кассовыми аппаратами. Расширенные функции видеоаналитики: распознавание лиц, подсчет количества посетителей и длины очереди.

Рисунок 1.2 - Общая схема работы блока распознавания авомобильных номеров

Блок распознавания автомобильных номеров (БРАН) позволяет вести базу данных автомобилей, въехавших в зону контроля системы и выехавших из нее. Модуль «Парковка», получающий информацию от каналов БРАН, обладает следующими возможностями:

– ведение «белых» и «черных» списков автомобилей;

– подсчет автомобилей на парковке;

– ведение базы данных автомобилей с регистрацией даты и времени въезда (выезда), а также с фоторегистрацией автомобилей;

– возможность интеграции ПАК СОВА со сторонними системами с помощью блока управления релейными контактами (БУР) и автоматизации реакций на тревожные события.

Рисунок 1.3 - Общая схема интеграции с кассовыми апаратами и POS терминалами

Интеграция с кассовыми аппаратами и POS терминалами позволяет реализовать следующие функции:

– привязка конкретного канала (камеры) к конкретной кассе и их синхронизация по времени, позволяющая наложить информацию по кассовой операции на видеофайл;

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

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

– прогнозирование продаж на основе данных о реальном потоке посетителей;

– оценка эффективности рекламных компаний и вложений в PR и маркетинг на основании данных о посещаемости объекта;

– расчет объёма продаж на количество посетителей и (или) на единицу площади;

– анализ эффективности использования торговых площадей и работы обслуживающего персонала.

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

Функция распознавания лиц позволяет осуществлять:

– пропускной режим на предприятии;

– ведение базы посещения сотрудников;

– ведение «черных» и «белых» списков посетителей.

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

Система видеонаблюдения «Линия»

Компания линия специализируется на производстве плат видеозахвата для аналоговых, для IP камер, или же гибридных плат.

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

Доступ к системе возможен через различные браузеры. Возможен просмотр видео с помощью мобильных клиентов для iPhone, Android, Windows Phone.

«Линия» поддерживает множество камер различных производителей, имеет функцию управления PTZ, есть возможность записи видео в архив.

Так же система поддерживает протокол конфигурирования камер ONVIF.

Имеется возможность интеграции ПО Линия с системой 1C, но только в режиме «толстого» клиента.

Преимущества системы - относительная дешевизна, гибридность.

Найболее важные недостатки - передача видео в формате JPEG, который имеет недостаточно хорошую степень сжатия по сравнению с другими видеоформатами, такими как H264, MJPEG, или MPEG4.

Сравнительный анализ существующих систем видеонаблюдения

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

Базовые требования:

- Наличие видеоархива;

- ведение логов системы;

- возможность удаленного конфигурирования сервера;

- возможность просмотра видео с помощью веб-интерфейса;

- возможность просмотра видео с помощью мобильных устройств.

- поддержка протоколов управления роботом;

- возможность настройки уведомлений по тревожным событиям;

- видео аналитика;

- возможность интеграции с кассовыми аппаратами;

- открытость системы.

Наличие или отсутствие этих требований в каждой из рассмотренных систем проанализировано в таблице 1.1.

Таблица 1.1 - Таблица оценки существующих систем

Критерии оценки

«iSpy»

«Видео Инспектор»

«SMB»

«СОВА»

Система

«Линия»

наличие видеоархива

+

+

+

+

+

ведение логов

-

+

+

+

-

Удаленное конфигурирование

+

+

+

+

+

Наличие веб-интерфейса

+

-

+

-

+

Наличие мобильных клиентов

+

-

+

-

+

Поддержка протоколов управления роботами

-

-

-

+

-

Уведомления по тревожным событиям

+

+

-

+

+

Видео аналитика

+

+

-

+

+

Интеграция с кассовыми аппаратами

-

+

-

+

-

Открытость системы

+

-

-

-

-

Примечания:

– знак «-» означает отсутствие реализации данного требования у рассматриваемой системы;

– знак «+» означает наличие реализации данного требования у рассматриваемой системы.

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

1.1.3 Уточнение общей модели системы

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

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

Общая модель системы представлена на рисунке 1.1.

Рисунок 1.4 - Общая модель системы видеонаблюдения

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

1.2 Требования к системе и ее функциональности

1.2.1 Требования к интерфейсу системы

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

1.2.2 Требования к клиентской части программной подсистемы

Рассмотрим основные требования к клиентской части системы и ее функциональности:

– клиентская часть системы должна обеспечивать возможность удаленного просмотра видео из любой точки мира;

– клиентская часть системы должна обладать возможностью удаленного конфигурирования;

– клиентская часть системы должна поддерживать протоколы управления роботами;

– клиентская часть системы должна отправлять SMS и / или E-Mail уведомления по тревожным событиям;

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

1.2.3 Требования к аппаратной подсистеме

Торгово-развлекательный комплекс - это многоэтажное здание, которое состоит из отделов различного назначения. Можно выделить такие подразделения:

- отдел администрации;

- бухгалтерия;

- отдел менеджеров;

- отдел кадров;

- отдел безопасности;

- отдел продаж и маркетинга;

- отдел снабжения;

- служба дополнительных услуг.

Отдел администрации предназначен для разработки стратегий развития торгово-развлекательного комплекса, обеспечивает управление им и выполняет представительские функции. Также является представительным и юридическим лицом комплекса. Отдел состоит из 8 человек, каждому из которых отведена своя задача для выполнения. Уровень безопасности - стандартный. Общие ресурсы: файловый сервер, сетевой принтер, сервер базы данных, сервер доступа в Интернет, сервер доступа к видеонаблюдению.

Бухгалтерия занимается учетом доходов и расходов торгово-развлекательного комплекса, ведет налоговую отчетность, рассчитывает заработную плату сотрудникам, занимается экономическими вопросами. Штат отдела - 5 бухгалтеров. Общие ресурсы: файловый сервер, сетевой принтер. Уровень безопасности - высокий.

Отдел менеджеров отвечает за работу с клиентами. Штат отдела состоит из 5 человек: операторы. Уровень безопасности - стандартный. Общие ресурсы: файловый сервер, сетевой принтер, сервер доступа в Интернет, сервер VoIP.

Отдел кадров отвечает за управление сотрудниками торгово-развлекательного комплекса. Он занимается проведением собеседований и курсов повышения квалификации, приемом на работу, увольнением с работы, составлением расписаний. Штат отдела состоит из 5 человек. Уровень безопасности - стандартный. Общие ресурсы: файловый сервер, сетевой принтер, сервер базы данных, сервер доступа в Интернет.

Отдел безопасности занимается видеонаблюдением и следит за порядком в торгово-развлекательном комплексе. Штат отдела состоит из 10 человек. Уровень безопасности - высокий. Общие ресурсы: файловый ресурс с видео-файлами и аудиозаписями, сервер VoIP, сервер доступа к видеонаблюдению.

Отдел продаж и маркетинга контролирует выполнение договорных обязательств по объему, качеству и сроку, составление планов по основным показателям деятельности комплекса. Уровень безопасности - стандартный. Штат отдела состоит из 10 человек. Общие ресурсы: файловый сервер, сетевой принтер, сервер доступа в Интернет.

Отдел снабжения контролирует своевременность и качество материально-технического обеспечения, выполнение плана поставок по объему, номенклатуре, сроку и качеству, состояние и сохранность складских запасов, соблюдение норм отпуска. Штат отдела состоит из 3 человек. Уровень безопасности - стандартный. Общие ресурсы: файловый сервер, сетевой принтер, сервер доступа в Интернет.

Служба дополнительных услуг занимается управлением ресторанами, барами, кафе. Штат отдела состоит из 5 человек. Уровень безопасности - стандартный. Общие ресурсы: файловый сервер, сетевой принтер, сервер доступа в Интернет.

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

2. Разработка видеонаблюдения

2.1 Выбор технических средств построения системы

В данном разделе будет изложен процесс выбора технологий и языков реализации системы. А именно будет произведен выбор конкретного языка web-программирования, выбор способа объектно-реляционного отображения. Будет произведен обзор выбранных технологий.

2.1.1 Выбор языка реализации системы

Языки веб-программирования - это языки, которые в основном предназначены для работы с веб-технологиями. Языки веб-программирования можно условно разделить на две пересекающиеся группы: клиентские и серверные. Самые популярные из них представлены на рисунке 2.1.

Рисунок 2.1 - Классификация языков web-программирования

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

Среди клиентских языков программирования стоит выделить JavaScript, которые, также как и HTML, лежит в основе многих веб-технологий.

Другие популярные клиентские языки, а точнее фреймворки - это Adobe Flash (язык Action Script) и Silver Light (любые.NET языки). Adobe Flash применяется веб-мастерами довольно долгое время. Основное применение этой технологии - интерактивные сайты и сервисы, онлайновые игры, мультимедийный контент, реклама. Silver Light - это новая технология, разработанная компанией Microsoft и позиционируемая как замена Adobe Flash. Не смотря на то, что с помощью Adobe Flash и Silver Light можно построить полностью весь сайт, этого делать не следует, потому, что современные поисковые системы не могут индексировать ни Adobe Flash ни Silver Light.

Серверные языки программирования могут быть условно разделены по операционной системе, на которой они работают, это операционные системы семейства Windows и Unix. Это разделение в некоторой степени условно, т. к. практически все популярные языки и фреймворки разработаны для обоих ОС и тем не менее, они редко используются на не родных ОС.

Если говорить про ОС Windows, то здесь лучше всего и быстрее всего работает технология ASP.NET, разработанная компанией Microsoft. С помощью ASP.NET можно создавать сайты любого уровня сложности - от самых простых, состоящих из нескольких страниц, до очень сложных, обрабатывающих миллионы запросов в день. Сайты Microsoft, написанные на ASP.NET, являются одними из самых посещаемых в Интернет. Здесь основным языком веб-программирования служит C#. Основной недостаток этой технологии - меньшее, по сравнению с Unix, количество дешевых хостингов и необходимость покупки серверной лицензии, в случае с выделенным хостингом.

Самым популярным языком веб-программирования является, безусловно, PHP. Его основными преимуществами являются: простой синтаксис, высокое быстродействие, поддержка большинством хостингов. К недостаткам этого языка можно отнести отсутствие JIT-компиляции, несовершенной и устаревшей моделью ООП, нестрогую типизацию.

Другой популярный язык веб-программирования на платформе Unix - язык Perl. Он имеет сложный и запутанный синтаксис и никогда не предназначался для веб, но тем не менее зачастую используется для создания небольших проектов.

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

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

2.1.2 Выбор технологий реализации

В процессе создания корпоративного приложения традиционно используются проверенные временем стратегии проектирования (разбиение приложения на слои, выбор стратегии проектирования каждого слоя) и технологии реализации отдельных частей программной системы. К таким технологиям относятся JSF (служит для реализации слоя представления), Hibernate (для реализации слоя интеграции), технология аспектно-ориентированного программирования и т.д.

Реализация object-relational mapping (O/R mapping) является общей потребностью для множества проектов по разработке программного обеспечения. Обычно работа над автоматизацией процесса хранения данных очень скучна, и при ручной реализации существует опасность возникновения ошибок. Если к этому прибавить постоянно меняющиеся требования, разработчику необходимо учитывать сложный процесс синхронизации исходного кода и структуры хранения данных. Также необходима переносимость приложений между платформами, и все становится еще более сложным и запутанным.

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

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

Session - основной интерфейс, используемый приложениями Hibernate. Представляет собой сеанс взаимодействия клиентского кода с Hibernate. Также называется менеджером постоянства (persistence manager). Объекты сеанса создаются очень быстро и не требуют большого количества ресурсов. Они не являются потокобезопасными.

Session Factory. Предназначен для получения объектов сеанса. Экземпляры требуют много ресурсов и должны создаваться один раз для всего приложения в самом начале. Может содержать кэш 2-го уровня.

Configuration. Предназначен для хранения настроек Hibernate. Обычно создается на основе файлов конфигурации. Необходим прежде всего для создания экземпляров Session Factory.

Transaction. Предназначен для управления транзакциями. Основное преимущество состоит в сокрытии конкретного механизма управления транзакциями от клиентского кода.

Query и Criteria. Позволяют выполнять различного рода запросы к источнику данных. Criteria позволяет формировать объектно-ориентированные запросы. Экземпляры не могут существовать вне сеанса. В интерфейсе Session есть несколько методов, позволяющих выполнять запросы без создания конкретных экземпляров интерфейса Query, но они не рекомендованы к использованию.

Lifecycle и Validatable. Изначально предназначались для обеспечения возможности сохраняемым объектам реагировать на изменение своего жизненного цикла. В данное время не используются.

Interceptor. Позволяет реагировать на изменение жизненного цикла сохраняемых объектов. При этом не требует реализации каких-либо специфических интерфейсов самими классами слоя бизнес-логики.

Hibernate хорошо поддерживает все примитивные типы, используемые в Java, в том числе и даты и валюты. Но иногда возникает необходимость в упорядоченной работе с так называемыми пользовательскими типами, которые относятся к модели предметной области. Например, пол студента или форма обучения. Для реализации концепции пользовательских типов существует 2 основных интерфейса - UserType и CompositeUserType.

Java Server Faces (JSF) - это фреймворк для веб-приложений написанный на Java. Он служит для того, чтобы упростить разработку пользовательских интерфейсов для Java EE приложений. В отличие от прочих MVC (Model-view-controller, «Модель-представление-поведение») фреймворков, которые управляются запросами, подход JSF основывается на использовании компонент. Состояние компонентов пользовательского интерфейса сохраняется, когда пользователь запрашивает новую страницу и затем восстанавливается, если запрос повторяется. Для отображения данных обычно используется JSP, но JSF можно приспособить и под другие технологии.

Технология Java Server Faces включает в себя:

- набор API для представления компонент пользовательского интерфейса (UI) и управления их состоянием, обработкой событий и проверкой на достоверность вводимой информации, определения навигации, а также поддержку интернационализации и доступности (accessibility);

- специальная библиотека JSP тегов для выражения интерфейса JSF на JSP странице.

Разработанная быть гибкой, технология Java Server Faces усиливает существующие, стандартные концепции пользовательского интерфейса (UI) и концепции Web-уровня без привязки разработчика к конкретному языку разметки, протоколу или клиентскому устройству. Классы компонент пользовательского интерфейса, поставляемые вместе с технологией Java Server Faces, содержат функциональность компонент, а не специфичное для клиента отображение, открывая тем самым возможность передачи JSF-компонент на различных клиентских устройствах.

OpenSocial - это набор программных интерфейсов для построения web-приложений. Цель данной технологии сделать больше приложений доступных большему числу пользователей с использованием общего API который может быть использован для самых разных целей. Разработчики могут создавать приложения используя стандартный JavaScript и HTML, которые могут работать на Web-сайтах, которые имеют реализацию программных интерфейсов OpenSocial. Такие веб-сайты, называют OpenSocial контейнеры, которые позволяют разработчикам получить доступ к информации на сайте, в результате разработчик реализации программных интерфейсов OpenSocial получает большое количество приложений для своих пользователей.

Фактически, OpenSocial контейнер - это Web-сайт на котором могут выполняться любые приложения написанные с использованием OpenSocial API.

Для того, чтобы реализовать эту возможность необходимо:

– Контейнер должен реализовывать все интерфейсы из OpenSocial API Reference. Если какие-то из методов не были реализованы, то они должны содержать стандартную заглушку, которая возвращает код ошибкиopensocial. ResponseItem.NOT_IMPLEMENTED;

– Контейнер должен использовать только определенные механизмы расширяемости для любых контейнерно-ориентированных приложений;

– Контейнер должен выполнять требования Gadgets API Specification;

– Контейнер должен поддерживать RESTful протокол;

– Контейнер должен поддерживать RPC протокол.

2.1.3 Выбор СУБД

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

Таким образом, для разрабатываемой системы необходимо выбрать СУБД, которая наиболее бы подходила выдвинутым требованиям и была бесплатной.

Microsoft SQL Server

Microsoft SQL Server - система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов - Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для небольших и средних по размеру баз данных, и в последние 5 лет - для крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка.

Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact-SQL (сокращённо T-SQL), являющуюся реализацией SQL-92 (стандарт ISO для SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.

Microsoft SQL Server также поддерживает Open Database Connectivity (ODBC) - интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.

MySQL

MySQL - свободная система управления базами данных (СУБД). MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

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

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы.NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.

2.1.4 Выбор элементной базы для ЛВС

Для соединения компьютеров друг с другом - создания инфраструктуры локальной сети - применяется наиболее простой и дешевый вариант локальной сети с использованием кабеля с витыми парами. В качестве коммутирующих устройств устанавливаются концентраторы - хабы (hub) и коммутаторы (swith).

Хаб - наиболее простое устройство для соединения группы компьютеров в локальную сеть. Небольшая коробочка или печатная плата, вставляемая в слот компьютера, снабжена розетками - портами - для подключения сетевых кабелей. Наиболее популярны варианты, когда количество розеток составляет 8 и 16 для внешних хабов и 5 - для внутренних. Внутри хаба находятся усилители, которые связывают все сетевые розетки друг с другом. Отличительная черта хаба - все входные сигналы транслируются на все выходные линии без всяких преобразований (что поступило, то и вышло). Некоторая аналогия хаба - это электрический удлинитель, к которому можно подключить столько устройств, сколько нужно, но каждое получает одинаковое напряжение. Отсюда и некоторое неудобство хаба - подключать можно только такие сетевые платы, которые могут дружно работать на скорости 10 или 100 Мбит/с. А вариант, когда одна плата использует стандарт 10, а остальные более совершенный стандарт 100 Мбит/с, невозможен. Для согласования скоростей в различных частях сети используют либо двухскоростные хабы, либо коммутаторы.

Коммутатор - это усовершенствованная версия хаба, у которого есть некоторый «интеллект». В отличие от хаба, коммутатор может определить маршрут, по которому должны пересылаться данные. То есть пакеты, поступившие на какой-либо порт, отправляются по нужному адресу. Кроме того, коммутатор преобразовывает входные сигналы, обеспечивая согласование работы всех сетевых плат, подключенных к нему, поэтому с помощью коммутатора можно соединить две сетевые платы, работающие в разных стандартах 10 и 100 Мбит/с. Для этого используется функция Auto MDI/MDIX.

В более сложных сетях устанавливают маршрутизаторы, которые не только обеспечивают согласование между компьютерами в локальной сети, но и, например, преобразуют IP-адреса пакетов, отправляя их только по нужному адресу. В отличие от хабов и коммутаторов, маршрутизатор разбирается в адресах компьютеров и может добавлять к пакетам служебную информацию. Маршрутизаторы обычно применяются для соединения нескольких сетей. Например, сеть Интернет создана на основе маршрутизаторов.
Концентраторы, коммутаторы и маршрутизаторы для сети Ethernet всегда снабжаются большим количеством светодиодных индикаторов - от 1 до 3 на каждый сетевой порт. Причем цвет светодиода и режим работы - горит постоянно или мигает - зависит от состояния сетевого канала, подключенного к тому или иному порту.

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

– с использованием маршрутизирующих коммутаторов (routing switches);

– c использованием коммутирующих маршрутизаторов (switching routers).

Первыми устройствами, реализовавшими коммутацию третьего уровня, были маршрутизирующие коммутаторы. Основа работы маршрутизирующего коммутатора это нахождение кратчайшего пути (путей) через сердцевину сети используя аппаратное обеспечение в обход традиционных программных маршрутизаторов. Т. е. суть работы устройства видна из его названия: сам процесс обработки (передачи) данных осуществляется на 2-м (канальном) уровне, предварительный же поиск оптимального маршрута осуществляется при помощи 3-го уровня. Обычно задействуется внешний маршрутизатор или плата маршрутизации которую коммутатор воспринимает как отдельное (внешнее) устройство. Исходя из вышесказанного, можно утверждать следующее: маршрутизируемые протоколы (3-го уровня), ни как не связаны с маршрутизирующими коммутаторами (в отличии от маршрутизаторов), т.е. это протокольно-независимые устройства; маршрутизирующие коммутаторы не могут использовать в своей работе протоколы маршрутизации, такие как RIP, OSPF, EIGRP, вместо этого в них применяются различные методы обнаружения, создания или кэширования (cache) информации о кратчайшем маршруте. В качестве примера можно привести мультипротокольную передачу данных по сетям ATM (Multiprotocol over ATM - MPOA). Такая стандартизированная технология позволяет присоединенным к ATM-сети устройствам создавать виртуальный канал, который дает маршрутизаторам возможность избегать перегрузок. Cisco разработала другую методику поиска кратчайшего пути, не требующую наличия ATM-магистрали, - многоуровневая коммутация (Multilayer Switching - MLS) или LAN-коммутация NetFlow (NetFlow LAN Switching - NFLS). Последним комплексным «проявлением» маршрутизирующей коммутации является технология Мультипротокольной Коммутации Меток (MultiProtocol Label Switching - MPLS), которая пытается сразу решить как задачи непосредственно быстрой передачи данных (Switching), так и качества обслуживания и приоритезации трафика (QoS) плюс изоляции и безопасности (VLAN). Собственно VLAN и является основой MPLS, чей алгоритм работы похож на MPOA, только вместо создания виртуального канала

Коммутирующие маршрутизаторы появились на рынке позже своих «кузенов». В них, как и в традиционных маршрутизаторах, обработка пакетов осуществляется с помощью процессора общего назначения. Однако в отличии от традиционных маршрутизаторов, коммутирующие маршрутизаторы используют процессор общего назначения только для управления (control-plane). Передача же данных (data plane) осуществляется при помощи высокоскоростных специализированных интегральных микросхем (application specific integrated circuit - ASIC). Так как процессор не участвует в передаче данных, достигается производительность, сравнимая с максимальной физической скоростью среды передачи данных (wire speed perfomance).

Проведя выбор среди языков web-программирования было рассмотрено несколько различных языков и технологий, однако, для выполнения поставленной была выбран язык Java, так как она является кросcплатформенным языком программирования, с помощью которого можно разрабатывать web-приложения и для которого существует множество фреймворков.

Для объектно-реляционного отображения будет использована Java библиотека Hibernate, которая также представляет собой свободное программное обеспечение. Данная библиотека предоставляет легкий в использовании каркас для отображения объектно-реляционной модели данных в традиционные реляционные модели данных.

Для слоя представления была выбрана технология Java Server Faces, так как с использованием этой технологии можно создать динамически обновляемый интерфейс с множеством возможностей.

В качестве системы управления базами данных была выбрана MySQL так как эта СУБД соответствует практически всем поставленным требованиям, является кроссплатформенной, поддерживает множество языков программирования, в том числе и C++, и что самое главное - является свободно распространяемой СУБД с открытым исходным текстом.

Для ЛВС были выбраны коммутаторы уровня 3 с возможной скоростью до 1000 Мбит/c.

2.2 Разработка архитектуры системы

На рисунке 2.2 представлена архитектура системы видеонаблюдения.

Для функционирования разрабатываемой системы необходим Ftp - сервер, на котором хранится вся важная информация. Также нужен сервер, к которому подключены камеры. Доступ персонала к серверам системы и интернету осуществляется средствами VPN либо WI-FI. Также можно получить доступ к любому терминалу через интернет.

Рисунок 2.2 - Архитектура системы видеонаблюдения

видеонаблюдение язык клиентский программный

Расширить описание архитектуры

Представленная архитектура сети имеет топологию звезда. ЛВС включает в себя ядро («Backbone»), внешний маршрутизатор (предоставляет доступ в интернет и к серверам системы) и сервера (DNS, LDAP, WEB, DHCP, FTP). Ядро является коммутатором уровня 3 и содержит в себе отдел охраны, рабочие станции которого защищены внутренними маршрутизаторами.

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.