Статья опубликована в рамках: VII Международной научно-практической конференции «Наука вчера, сегодня, завтра» (Россия, г. Новосибирск, 11 декабря 2013 г.)

Наука: Технические науки

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Сергушев А.Г. РАЗРАБОТКА ВИРТУАЛЬНОЙ МАШИНЫ ДЛЯ ПОСТРОЕНИЯ АВТОМАТИЗИРОВАННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ СИСТЕМЫ КОНСТРУКЦИОННОЙ БЕЗОПАСНОСТИ НА ОСНОВЕ БЕСПРОВОДНОЙ СЕНСОРНОЙ СЕТИ // Наука вчера, сегодня, завтра: сб. ст. по матер. VII междунар. науч.-практ. конф. № 7(7). – Новосибирск: СибАК, 2013.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов
Статья опубликована в рамках:
 
Выходные данные сборника:

 

РАЗРАБОТКА  ВИРТУАЛЬНОЙ  МАШИНЫ  ДЛЯ  ПОСТРОЕНИЯ  АВТОМАТИЗИРОВАННОЙ  ИНФОРМАЦИОННОЙ  СИСТЕМЫ  ДЛЯ  СИСТЕМЫ  КОНСТРУКЦИОННОЙ  БЕЗОПАСНОСТИ  НА  ОСНОВЕ  БЕСПРОВОДНОЙ  СЕНСОРНОЙ  СЕТИ

Сергушев  Алексей  Геннадьевич

канд.  техн.  наук,  ведущий  инженер-программист  отдела  систем  безопасности  ОАО  «Авангард»,  РФ,  г.  Санкт-Петербург

E-mailags@pochta.ru

 

Одним  из  основных  требований,  предъявляемым  к  системам  конструкционной  безопасности  является  высокая  информативность  системы  (в  соответствии  с  Федеральным  законом  №  384-ФЗ  от  30.12.2009),  определяющая  объем  данных  о  деформациях  строительных  конструкций  зданий  и  сооружений,  получаемых  оператором  системы  и  соответственно  качество  принимаемых  им  решений  [1].

В  полной  мере  выполнить  указанное  требование  возможно  только  при  построении  автоматизированной  информационной  системы  (подсистемы)  для  системы  конструкционной  безопасности  на  основе  беспроводной  сенсорной  сети  [1,  2].

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

Разработанную  виртуальную  машину  логически  можно  разделить  на  несколько  компонентов:

1.  web-интерфейс  пользователя  для  работы  с  виртуальной  машиной;

2.  серверная  часть  виртуальной  машины,  принимающая  и  отдающая  информацию,  введенную  пользователем;

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

4.  база  данных,  сохраняющая  информацию,  введенную  пользователем.

При  запуске  виртуальной  машины  происходит  поиск  активных  датчиков  беспроводной  сенсорной  сети.  После  чего  производится  сравнение  физических  адресов  датчиков  с  их  виртуальными  адресами  в  базе  данных  (БД).  После  этого  Web-сервер  генерирует  пользователю  гипертекстовую  страницу,  содержащую  все  доступные  датчики,  включенные  в  беспроводную  сенсорную  сеть  и  их  параметры.  На  этой  странице  пользователь  может  добавлять/удалять/  /редактировать/устанавливать  параметры  датчиков  и  определять  их  имена.  Кроме  того,  предусмотрена  возможность  перехода  в  список  условий,  использующих  параметры  датчиков.  Добавляя  параметр  датчику,  необходимо  обязательно  указывать  имя  параметра  и  команду  передаваемую  датчику.  На  странице  условий  можно  добавлять  условия  работы  датчиков,  при  выполнении  которых  будут  выполняться  указанные  действия,  или  какому-либо  параметру  датчика  принудительно  будет  указано  новое  значение.  Добавляя  условие,  необходимо  выбрать  датчик  и  его  параметр,  от  значения  которого  будет  зависеть  дальнейшее  действие.  Затем  происходит  сравнение  параметров  датчиков.  После  чего  выбирается  зависимое  исполнительное  устройство  или  команда,  которая  будет  выполняться.  Проверка  условий  происходит  с  определенным  интервалом  времени,  который  задается  пользователем.

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

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

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

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

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

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

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

Алгоритм  работы  виртуальной  машины  выглядит  следующим  образом.

1.  Создание  экземпляров  специализированного  класса  и  класса  базы  данных.

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

3.  Вызов  функции  включения,  которая  добавляет  новые  датчики  в  базу  данных.

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

5.  Запуск  функции  сравнения  нитей,  которая  в  отдельном  потоке  выполняет  функцию  сравнения  условий,  которая,  в  свою  очередь,  проверяет  условия.  Условия  загружаются  из  БД  функцией  определения  условий  класса  базы  данных.  Интервал  сравнения  загружается  из  БД  функцией  установки  параметров  с  заранее  заданным  параметром.  Значение  параметров  устройств  получаются  путем  выполнения  функции  запроса  параметров  активных  устройств  с  параметрами:  идентификатор  устройства,  имя  параметра.  При  удовлетворении  условий  выполняется  функция  установки  параметров  устройства  с  параметрами:  идентификатор  устройства,  имя  параметра,  значение  параметра  (если  оно  указано).

6.  Запуск  web-сервера.

Виртуальная  машина  выполняется  на  специализированном  UNIX-сервере.

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

Для  работы  системы  создано  четыре  шаблона.

1.  Основной  шаблон,  наследуемый  остальными  шаблонами.  Содержит  загрузку  библиотек:

библиотеки  работы  с  html-объектами  отправки  запросов  и  др.,

библиотеки  задания  внешних  стилей  объектов,

библиотеки  форматирования  строки  в  javascript,  содержит  код  модального  окна  и  функции  работы  с  ним.

2.  Шаблон  для  работы  с  устройствами.

3.  Шаблон  для  работы  с  условиями.

4.  Шаблон  для  web-интерфейса.

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

1.  Работа  модуля  устройств:

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

3.  кнопкам  управления  устройствами  присваиваются  соответствующие  функции;

4.  запрашивается  файл  конфигурации  из  базы  данных;

5.  в  серверной  части  вызывается  функция  конфигурации  устройств,  которая  возвращает  устройства  и  их  параметры  в  формате  записи,  запрашивая  данные  из  специализированного  класса;

6.  файл  конфигурации  обрабатывается  библиотекой  таблиц  данных  для  формирования  таблицы.

 

Список  литературы:

1.Михайлов  А.Н.  Интегрированные  системы  безопасности  строительных  объектов  и  сооружений.  Электроника:  НТБ,  2008,  Спецвыпуск,  —  с.  92—94.

2.Михайлов  А.Н.,  Молев  Ф.В.,  Балашов  А.В.  Беспроводная  система  конструкционной  безопасности.  Сборник  научных  трудов  аспирантов,  соискателей  и  студентов  магистерской  подготовки  ОАО  «Авангард».  Выпуск  4.  ОАО  «Авангард»,  СПб.,  2011,  —  с.  182—194.

Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий