Скачать 132.84 Kb.
|
СТРУКТУРА АРХИТЕКТУРЫ ИВС "АТМОСФЕРНЫЕ АЭРОЗОЛИ" Молородов Ю.И. Институт вычислительных технологий СО РАН, Новосибирск, yumo@ict.sbras.ru Широкий класс задач, связанных с обеспечением контроля состояния атмосферы крупного промышленного центра требуют создания специализированных информационно-вычислительных систем. Они используются для решения, по крайне мере четырех важных разделов:
Целью проводимых работ являлось создание технологической среды для интеграции и аналитической обработки формируемых информационных ресурсов для мониторинга состояния окружающей природной среды в зоне действия предприятий Новосибирской области. Данные мониторинга многодисциплинарны и разнотипны: маркированные точечные поля, линии, полигоны, временные ряды, геофизические поля, растровые последовательности аэрокосмических наблюдений и т.д. Для извлечения существенной информации и знаний из данных, средства комплексного анализа должны интегрировать как доступную информацию, так и имеющиеся знания об изучаемом явлении. В нашем случае таковым является пространственно-временная изменчивость массовой концентрации аэрозоля в условиях центральной части г. Новосибирска и его пригородной зоны. Особое внимание было уделено исследованию зависимости массовой концентрации аэрозоля от метеорологических факторов. По результатам наблюдений был проведен сравнительный анализ массовой концентрации аэрозолей различного типа, измеряемых специалистами ИХКиГ СОРАН и концентраций взвешенных частиц, измеряемых на постах Росгидромета. Постановка задачи В науках об окружающей среде проблема обмена данными между исследовательскими группами по накопленным рядам и текущим наблюдениям является особенно острой. Необходимо обрабатывать и осмысливать огромные массивы информации. Современные научные достижения в области информационно-вычислительных технологий, в частности веб-ориентированные информационно-вычислительные системы (ИВС), дают основу для решения этих проблем. Объектом исследования являются атмосферные аэрозоли, которые оказывают влияние на качество окружающей среды и климат [3]. Как точно замечено в [4] «уровень качественного и количественного содержания органических веществ в аэрозолях воздуха является важным критерием для оценки загрязнения атмосферы и окружающей среды». В крупных промышленных центрах степень загрязнения атмосферного воздуха может в ряде случаев превысить санитарные нормы. Характер временной и пространственной изменчивости концентраций вредных веществ в атмосферном воздухе определяется большим числом разнообразных факторов. Знание закономерностей формирования уровней загрязнения атмосферного воздуха, тенденций их изменений является крайне необходимым для обеспечения чистоты воздушного бассейна [5]. Основой для выявления закономерностей служат наблюдения за состоянием загрязнения воздушного бассейна. Для слежения за уровнем загрязнения на территории промышленных центров службы Гидрометеоцентра организуют посты наблюдения за загрязнением атмосферы (ПНЗ). На ПНЗ производятся измерения в воздухе атмосферы таких веществ как: пыль, взвешенные частицы, свинец, кадмий, мышьяк, ртуть, сульфаты, диоксид серы, оксид азота, диоксид углерода, озон и другие хлорорганические соединения [6]. Предприятиями, занимающимися экологическим мониторингом, произведено огромное количество измерений характеристик атмосферы. На основе этого можно выделить основные сложности при работе с получаемыми данными. Специалистам, занимающимся прогнозированием, моделированием и анализом процессов, происходящих в окружающей среде, необходимо вовремя получать информацию о характеристиках и химическом составе атмосферы. Как отмечено в [1], при измерении характеристик атмосферных аэрозолей любыми авторами в течение различных измерительных кампаний, как правило, используется особый набор измерительного оборудования, охватывающий разные диапазоны размеров, поэтому получаемые данные трудно сопоставимы друг с другом. Перечисленные выше сложности обуславливают необходимость решения задач сбора данных о различных характеристиках атмосферы, полученных от специалистов экологической сферы, а также опубликованных в разнообразных изданиях и в Интернете, и их анализа по единой методике. Развитие математических и вычислительных моделей показало явную недостаточность существующих данных о состоянии окружающей среды и стимулировало интенсивное накопление временных рядов пространственно-распределённых данных инструментальных наблюдений [1]. Это обстоятельство предопределило особую роль информационных технологий в этой области. Совместные усилия профессионалов, занимающихся изучением атмосферы, и специалистов в области информационных технологий позволят повысить эффективность использования всего объема экспериментальных данных. Сделать исследования более эффективными могут помочь современные веб-ориентированные информационно-вычислительные системы, позволяющие различным образом обрабатывать, визуализировать и оперативно пополнять хранимый массив данных. Разработка информационной системы, в которой информация будет структурирована и собрана в виде, доступном для понимания пользователю любой степени подготовки [2] является необходимой для данной предметной области. На сегодняшний день разработаны информационные системы для решения различных задач из области наук об окружающей среде и экологии:
Эти системы, решая, в целом, близкие задачи обладают своими недостатками. Так атлас «Атмосферные аэрозоли Сибири» рассчитан на обработку фиксированного числа параметров атмосферы: каждое измерение в базе данных представлено в виде записи, имеющей набор полей под каждый возможный параметр, поэтому добавление поддержки новых параметров требует изменения схемы БД и модификации кода проекта, также он позволяет формировать отчеты только за фиксированные периоды. Он имеет не совсем удачную подсистему визуализации отчетов. Отсутствуют возможности аппроксимации. Является сложным для сопровождения и разработки новой функциональности, такой, как создание новых методов обработки и поддержки новых форматов данных, поскольку отсутствует подробная документации по его архитектуре и внутренним API, а сами изменения в ряде случаев требуют изменения структуры проекта и даже полной ее переделки. Со стороны заказчиков (пользователей) могут и будут возрастать новые требования, поэтому необходимо, чтобы ИВС имела возможность безболезненного расширения, для чего необходимо иметь возможность дополнять систему новыми моделями или методами обработки данных. Ни одна из вышеперечисленных систем не позволяет сделать этого, не меняя при этом уже написанный программный код. Поэтому мы считаем актуальным разработать такую ИВС, архитектура которой будет способна, без изменения уже существующего кода, вносить новые методы и модели обработки экологических данных в систему. Проектирование архитектуры ИВС С целью повышения эффективности процесса разработки и качества создаваемого продукта было принято решение о необходимости придерживаться следующих принципов:
В качестве основы были выбраны следующие технологии и инструменты.
Перечисленные технологии являются открытыми, бесплатными и не имеющими тяжелых лицензионных ограничений (Free Open Source Software и Open Standards). Структура информационной модели данных Система (рис. 1) состоит из двух принципиально отличающих частей. Первая - (общепользовательская) позволяет только визуализировать хранимую в базе данных информацию в разнообразном виде (графическим и непосредственно числовыми значениями в табличном виде). Вторая часть - административная доступна зарегистрированному пользователю и позволяет вносить изменения и новые данные в базу. Рис.1. Структура информационной модели данных Данные наблюдений предоставляются в различных форматах (XLS, CSV, DOC, псевдографические таблицы в текстовых файлах и т.д.), однако, в результате анализа, было выявлено, что каждое измерение может быть описано следующим набором характеристик:
Подобное описание может быть представлено в виде реляционной модели данных, изображенной на рис. 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. Список литературы:
URL: http://www.planet.elcat.kg/?cont=wclim&id=6
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
http://docs.djangoproject.com/en/dev/topics/db/models/
|
Концепция целевой архитектуры Листов Версия 2 Москва, 2013 Целью данного документа является описание концептуальной целевой архитектуры ит- ландшафта г. Москвы. Концептуальная целевая архитектура... | Практическое преломление принципа преемственности: методика преподавания... | ||
Темы рефератов по истории архитектуры (строительства) Зарождение... Архитектура Древнего Египта. Основные типы монументальных сооружений, их особенности | Тематический план Основы развития ландшафтной архитектуры в Сибири. Факторы, влияющие на развитие ландшафтной архитектуры | ||
К уроку географии «Атмосферные фронты, циклоны, антициклоны». 8 класс | Изучение архитектуры современного пк Основными задачами данного реферата являются рассмотрение основных компонентов архитектуры современного пк, их предназначения, функционирования... | ||
Рабочая программа По дисциплине «Теория и методика ивс» /баскетбол/... | Московский Архитектурный Институт (мархи) Кафедра «Советской и современной... Управление проектами развития территорий, архитектурными проектами, проектами строительства | ||
Урок по теме "Атмосферные фронты. Циклоны и антициклоны" Оборудование:; мультимедиа, интерактивная доска, компьютерная презентация, синоптическая карта | Негосударственное Аккредитованное Частное Образовательное Учреждение... Распределенные объектные архитектуры программных систем. Многоуровневые приложения. Основные понятия архитектуры распределенных систем.... | ||
Тестовые задания для студентов 4 курса по дисциплине Тим ивс специализация «бокс» Базовый учебник: «Enjoy English 2 Part 1» Часть 1 (3 класс) авторы: М. З. Биболетова, О. А. Денисенко, Н. В. Добрынина, Н,Н,Трубанёва.... | Программа дисциплины "История архитектуры" Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления 072500. 62 "Дизайн",... | ||
Урок географии в8 классе по теме «атмосферные фронты, циклоны и антициклоны» Муниципальное образовательное учреждение «Средняя общеобразовательная школа №13» (моу «сош №13») | Узлы как формообразующие структуры и возможности их применения в дизайне Работа выполнена в Научно-исследовательском институте теории архитектуры и градостроительства Российской Академии архитектуры и строительных... | ||
Программа по формированию навыков безопасного поведения на дорогах... Открытый урок по теме: «Облака и атмосферные осадки» в 6а классе готовимся к работе | "Этапы русского классицизма (на примере архитектуры)" учитель мхк тырыкина Е. А. Нижний Новгород План-конспект урока по теме: "Этапы русского классицизма (на примере архитектуры)" |