Структура архитектуры ивс "атмосферные аэрозоли"





Скачать 132.84 Kb.
НазваниеСтруктура архитектуры ивс "атмосферные аэрозоли"
Дата публикации24.10.2014
Размер132.84 Kb.
ТипДокументы
100-bal.ru > Информатика > Документы
СТРУКТУРА АРХИТЕКТУРЫ ИВС "АТМОСФЕРНЫЕ АЭРОЗОЛИ"

Молородов Ю.И.

Институт вычислительных технологий СО РАН, Новосибирск, yumo@ict.sbras.ru

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

  • интеграции и хранения временных рядов пространственно-распределённых данных инструментальных наблюдений;

  • обработки этих рядов современными математическими алгоритмами (разновидности статистического анализа: кластерный, факторный, дискриминантный, вейвлет анализ и др.);

  • алгоритмами представления и визуализации результатов обработки;

  • формирование отчетной документации.

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

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

Постановка задачи

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

Объектом исследования являются атмосферные аэрозоли, которые оказывают влияние на качество окружающей среды и климат [3]. Как точно замечено в [4] «уровень качественного и количественного содержания органических веществ в аэрозолях воздуха является важным критерием для оценки загрязнения атмосферы и окружающей среды». В крупных промышленных центрах степень загрязнения атмосферного воздуха может в ряде случаев превысить санитарные нормы. Характер временной и пространственной изменчивости концентраций вредных веществ в атмосферном воздухе определяется большим числом разнообразных факторов. Знание закономерностей формирования уровней загрязнения атмосферного воздуха, тенденций их изменений является крайне необходимым для обеспечения чистоты воздушного бассейна [5]. Основой для выявления закономерностей служат наблюдения за состоянием загрязнения воздушного бассейна.

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

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

Перечисленные выше сложности обуславливают необходимость решения задач сбора данных о различных характеристиках атмосферы, полученных от специалистов экологической сферы, а также опубликованных в разнообразных изданиях и в Интернете, и их анализа по единой методике. Развитие математических и вычислительных моделей показало явную недостаточность существующих данных о состоянии окружающей среды и стимулировало интенсивное накопление временных рядов пространственно-распределённых данных инструментальных наблюдений [1]. Это обстоятельство предопределило особую роль информационных технологий в этой области. Совместные усилия профессионалов, занимающихся изучением атмосферы, и специалистов в области информационных технологий позволят повысить эффективность использования всего объема экспериментальных данных. Сделать исследования более эффективными могут помочь современные веб-ориентированные информационно-вычислительные системы, позволяющие различным образом обрабатывать, визуализировать и оперативно пополнять хранимый массив данных.

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

На сегодняшний день разработаны информационные системы для решения различных задач из области наук об окружающей среде и экологии:

    1. HYSPLIT – обширная база данных наблюдений, позволяющая определить перенос воздушный масс за определенный период времени [8];

    2. GISS комбинирует и сравнивает результаты набора данных космических наблюдений с глобальными моделями атмосферы, земной поверхности и океанических процессов [6, 7];

    3. Научный портал для атмосферных наук – ATMOS, который представляет собой интегрированный набор множества распределенных, но координируемых предметных сайтов, содержащих типовую мультимедийную информацию с исследовательскими базами данных, моделями и аналитическим инструментарием для прямого использования и визуализации [9];

    4. Атлас «Атмосферные аэрозоли Сибири» – система для хранения, обработки и представления результатов измерений характеристик приземного слоя атмосферы [1].

Эти системы, решая, в целом, близкие задачи обладают своими недостатками. Так

атлас «Атмосферные аэрозоли Сибири» рассчитан на обработку фиксированного числа параметров атмосферы: каждое измерение в базе данных представлено в виде записи, имеющей набор полей под каждый возможный параметр, поэтому добавление поддержки новых параметров требует изменения схемы БД и модификации кода проекта, также он позволяет формировать отчеты только за фиксированные периоды. Он имеет не совсем удачную подсистему визуализации отчетов. Отсутствуют возможности аппроксимации. Является сложным для сопровождения и разработки новой функциональности, такой, как создание новых методов обработки и поддержки новых форматов данных, поскольку отсутствует подробная документации по его архитектуре и внутренним API, а сами изменения в ряде случаев требуют изменения структуры проекта и даже полной ее переделки.

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

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

Проектирование архитектуры ИВС

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

  1. При проектировании использовать паттерн MVC (Model-View-Controller).

  2. Использовать ORM (Object-Relational Mapping) вместо прямой работы с базой данных, что позволяет абстрагироваться от особенностей конкретных СУБД и повышает переносимость.

  3. Использование веб-фреймворка вместо написания «низкоуровневого» кода, позволяет значительно ускорить разработку;

  4. Разрабатывать модульную (плагинную, pluggable) архитектуру. Монолитные архитектуры здесь плохо применимы, поскольку система должна включать в себя независимые компоненты и должна быть легко расширяемой.

  5. Использование системы контроля версий и системы управления проектом.

В качестве основы были выбраны следующие технологии и инструменты.

  1. Язык программирования: Python [15];

  2. Веб-фреймворк: Pylons [22];

  3. Менеджер объектных отношений: SQLAlchemy [19];

  4. XHTML 1.0, JavaScript и JQuery [24] (для клиентской части);

  5. Для представления географической информации используется сервис Google Maps с помощью Google API [25].

Перечисленные технологии являются открытыми, бесплатными и не имеющими тяжелых лицензионных ограничений (Free Open Source Software и Open Standards).

Структура информационной модели данных

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



Рис.1. Структура информационной модели данных

Данные наблюдений предоставляются в различных форматах (XLS, CSV, DOC, псевдографические таблицы в текстовых файлах и т.д.), однако, в результате анализа, было выявлено, что каждое измерение может быть описано следующим набором характеристик:

    1. дата проведения измерения;

    2. результат измерения;

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

    4. измеряемая характеристика (температура, концентрация, состав, направление ветра, скорость ветра...);

    5. инструмент либо прибор, которым проводилось измерение;

    6. метод обработки исходных данных (почасовое усреднение, посуточное усреднение и т.д.);

    7. станция, на которой было проведено измерение. Сущность «станция» представляет из себя набор следующих характеристик:

    1. географические координаты;

    2. тип станции (передвижная, стационарная...).

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



Рис. 2 Реляционная модель данных ИВС

Модульная архитектура проекта

Для добавления новых классов модели данных, контроллеров, изменение конфигурации ORM для поддержки новых классов, и, соответственно, повышения скорости разработки, было принято решение о разработке модульной (плагинной, pluggable) архитектуры. Реализованная система модулей (плагинов, plugins) предоставляет разработчику следующие возможности: реестр модулей, ловушки событий (hooks), и обратные вызовы (callbacks), систему пользовательских прав, генератор иерархических меню, подстройка используемых ORM типов под диалекты различных СУБД.

Зависимости модулей и их разрешение.

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

Реестр модулей

Реестр модулей представляет собой синглтон, позволяющий из произвольной точки кода обратиться к пространствам имен модулей и получить полное описание любого модуля. Данный объект позволяет обращаться к плагину двумя способами – по его идентификатору, либо по его порядковому номеру в списке модулей с разрешенными зависимостями, представляющем из себя упорядоченный список (кортеж) дескрипторов плагинов. В нем каждый следующий плагин может иметь среди зависимостей только предшествующие ему плагины. Обращение к плагинам по порядковому номеру используется во время обратных вызовов, Это гарантирует правильный порядок обращений. Если модуль B имеет в зависимостях модуль A, при этом некоторый третий модуль C должен произвести обратные вызовы функций someCallbackFromA() и someCallbackFromB() из модулей A и B соответственно, то вызов функции модуля A, очевидно, должен осуществиться раньше, чем функции модуля B. Так, функция someCallbackFromA() может подготавливать некие данные либо ресурсы, необходимые для корректной работы функции someCallbackFromB().

Ловушки событий, и обратные вызовы.

Взаимодействие менеджера плагинов и модулей осуществляется с помощью обратных вызовов (callbacks). В момент инициализации модуль может зарегистрировать обработчики заранее определенного набора событий (например, событием является поступление запроса от пользователя, см. раздел «Детали реализации»), при наступлении которых вызовы выполняются в порядке, соответствующем порядку следования плагинов в реестре модулей. Для некоторых событий обратный вызов является не только уведомлением о наступлении этих событий, но и ловушкой (hook) – некие данные, связанные с этим событием могут быть изменены внутри обработчика, а сам процесс вызова обработчиков может быть остановлен (путем возбуждения исключения, либо возвращением заранее определенного значения). Поскольку реестр модулей доступен всем модулям, он может использоваться для организации взаимодействия между модулями напрямую: один модуль может предоставлять возможность зарегистрировать обработчик событий, а другой модуль может, используя реестр модулей, зарегистрировать какой-то из своих методов в качестве обработчика.

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

а) Базовая функциональность по управлению пользователями – регистрация, создание, удаление, редактирование прав, пользовательский профиль.

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

Важной особенностью модуля является то, что он позволяет любому другому модулю самостоятельно добавлять к дескрипторам пользователей нужные данные «на лету», без изменений в коде модуля прав доступа и модели данных (и, соответственно, в структуре таблиц СУБД). Это достигнуто путем хранения в базе данных сериализованных ассоциативных массивов, в которых ключами выступают идентификаторы данных, а значениями – экземпляры произвольных объектов, которые могут быть сериализованы с помощью библиотеки Pickle (являющейся частью стандартной библиотеки языка Python).

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

Генератор иерархических меню.

Модуль в момент инициализации может зарегистрировать произвольное число пунктов меню, имеющих следующие свойства:

а) Уникальный идентификатор

б) Название

в) Вес (для сортировки)

г) Идентификатор родителя (при отсутствии это будет элемент верхнего уровня)

д) URL

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

Подстройка используемых ORM типов под диалекты различных СУБД.Типы данных, используемые ORM по умолчанию, в связи с различиями между диалектами SQL и в реализациях СУБД, могут иметь недостаточную точность (например, для типа FLOAT), длину (для типа BLOB) и т.д.

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

Реализация механизма заключается в создании отдельного простраства имен (atlas.model.meta), содержащего набор переменных, значениями которых являются объекты-дескрипторы различных типов данных. При запуске приложения эти переменные инициализируются умолчательными типами ORM, но позже, в процессе инициализации ORM, могут быть изменены, а сам их список может быть расширен.

Разработчик, желающий использовать в своей модели данных уточненные типы, должен указывать соответствующие нужным ему типам переменные из пространства имен atlas.model.meta, а не из пространства имен ORM.

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

  1. Гуськов А.Е., Молородов Ю.И., Сударикова И.А. Атлас "Атмосферные аэрозоли Сибири" // Вычислительные технологии. 2005. Т. 10. Специальный выпуск: Труды IX рабочего совещания по электронным публикациям (El-Pub2004). Новосибирск, 23-25 сентября 2004 г. С. 71-77

  2. Шокин Ю. И, Федотов А.М., Барахнин В.В. Проблемы поиска информации //Новосибирск: Наука, 2010.

  3. Павлова И.А. Аэрозоли в атмосфере Земли [Электронный ресурс]// Планета. Информационно-образовательный и научный портал

URL: http://www.planet.elcat.kg/?cont=wclim&id=6

  1. Молородов Ю.И. Анализ и хранение данных о состоянии окружающей среды [Электронный ресурс] // Международная конференция "Современные проблемы математики, информатики и биоинформатики", посвященная 100-летию со дня рождения члена-корреспондента АН СССР Алексея Андреевича Ляпунова № гос. регистрации - 0321103262, ISBN 978-5-905569-03-6 11 -, Академгородок, Новосибирск, Россия URL: http://conf.nsc.ru/Lyap-100/reportlist

  2. Организация наблюдений и контроля загрязнения атмосферного воздуха [Электронный ресурс]// Эрудиция. Российская электронная библиотека, URL: http://www.erudition.ru/referat/printref/id.31099_1.html

  1. ВОЗ, Качество воздуха и здоровье, http://www.who.int/mediacentre/ factsheets/fs313

  2. “About GISS”, http://www.giss.nasa.gov/about/

  3. “HYSPLIT - Hybrid Single Particle Lagrangian Integrated Trajectory Model”, www.arl.noaa.gov/ready/hysplit4.html

  4. “ATMOS: научный портал для атмосферных наук”, http://atmos.iao.ru

  5. Совершенный код. Мастер-класс / Пер. с англ. ч.1 гл. 4., М. : Изд-во «Русская Редакция», 2008

  6. TIOBE Programming Community Index,

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

  1. PHP in contrast to Perl, http://tnx.nl/php.html

  2. What's wrong with Perl, http://www.garshol.priv.no/download/text/perl.html

  3. Is Weak Typing Strong Enough?, http://steve.yegge.googlepages.com/is-weak-typing-strong-enough

  4. About Python, http://www.python.org/about/

  5. Object-relational mapping, http://en.wikipedia.org/wiki/Object-relational_mapping

  6. SQLObject documentation, http://www.sqlobject.org/SQLObject.html

  7. Django models documentation,

http://docs.djangoproject.com/en/dev/topics/db/models/

  1. SQLAlchemy - The Database Toolkit for Python, http://www.sqlalchemy.org/

  2. Rick Copeland, Essential SQLAlchemy, O'Reilly, 2008, ISBN: 9780596516147

  3. Pylons: lightweight web framework, http://pylonshq.com/

  4. Django: high-level Python Web framework, http://www.djangoproject.com/

  5. JQuery JavaScript Library, http://jquery.com/

  6. Google Maps API, http://code.google.com/intl/en/apis/maps/

Добавить документ в свой блог или на сайт

Похожие:

Структура архитектуры ивс \"атмосферные аэрозоли\" iconКонцепция целевой архитектуры Листов Версия 2 Москва, 2013
Целью данного документа является описание концептуальной целевой архитектуры ит- ландшафта г. Москвы. Концептуальная целевая архитектура...
Структура архитектуры ивс \"атмосферные аэрозоли\" iconПрактическое преломление принципа преемственности: методика преподавания...

Структура архитектуры ивс \"атмосферные аэрозоли\" iconТемы рефератов по истории архитектуры (строительства) Зарождение...
Архитектура Древнего Египта. Основные типы монументальных сооружений, их особенности
Структура архитектуры ивс \"атмосферные аэрозоли\" iconТематический план
Основы развития ландшафтной архитектуры в Сибири. Факторы, влияющие на развитие ландшафтной архитектуры
Структура архитектуры ивс \"атмосферные аэрозоли\" iconК уроку географии «Атмосферные фронты, циклоны, антициклоны». 8 класс

Структура архитектуры ивс \"атмосферные аэрозоли\" iconИзучение архитектуры современного пк
Основными задачами данного реферата являются рассмотрение основных компонентов архитектуры современного пк, их предназначения, функционирования...
Структура архитектуры ивс \"атмосферные аэрозоли\" iconРабочая программа По дисциплине «Теория и методика ивс» /баскетбол/...

Структура архитектуры ивс \"атмосферные аэрозоли\" iconМосковский Архитектурный Институт (мархи) Кафедра «Советской и современной...
Управление проектами развития территорий, архитектурными проектами, проектами строительства
Структура архитектуры ивс \"атмосферные аэрозоли\" iconУрок по теме "Атмосферные фронты. Циклоны и антициклоны"
Оборудование:; мультимедиа, интерактивная доска, компьютерная презентация, синоптическая карта
Структура архитектуры ивс \"атмосферные аэрозоли\" iconНегосударственное Аккредитованное Частное Образовательное Учреждение...
Распределенные объектные архитектуры программных систем. Многоуровневые приложения. Основные понятия архитектуры распределенных систем....
Структура архитектуры ивс \"атмосферные аэрозоли\" iconТестовые задания для студентов 4 курса по дисциплине Тим ивс специализация «бокс»
Базовый учебник: «Enjoy English 2 Part 1» Часть 1 (3 класс) авторы: М. З. Биболетова, О. А. Денисенко, Н. В. Добрынина, Н,Н,Трубанёва....
Структура архитектуры ивс \"атмосферные аэрозоли\" iconПрограмма дисциплины "История архитектуры"
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления 072500. 62 "Дизайн",...
Структура архитектуры ивс \"атмосферные аэрозоли\" iconУрок географии в8 классе по теме «атмосферные фронты, циклоны и антициклоны»
Муниципальное образовательное учреждение «Средняя общеобразовательная школа №13» (моу «сош №13»)
Структура архитектуры ивс \"атмосферные аэрозоли\" iconУзлы как формообразующие структуры и возможности их применения в дизайне
Работа выполнена в Научно-исследовательском институте теории архитектуры и градостроительства Российской Академии архитектуры и строительных...
Структура архитектуры ивс \"атмосферные аэрозоли\" iconПрограмма по формированию навыков безопасного поведения на дорогах...
Открытый урок по теме: «Облака и атмосферные осадки» в 6а классе готовимся к работе
Структура архитектуры ивс \"атмосферные аэрозоли\" icon"Этапы русского классицизма (на примере архитектуры)" учитель мхк тырыкина Е. А. Нижний Новгород
План-конспект урока по теме: "Этапы русского классицизма (на примере архитектуры)"


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск