Научная статья на тему 'Интеграция оперативной системы обработки и хранилища данных электромагнитных зондирований'

Интеграция оперативной системы обработки и хранилища данных электромагнитных зондирований Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
206
39
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБЪЕКТНО-РЕЛЯЦИОННОЕ ОТОБРАЖЕНИЕ / OBJECT-RELATIONAL MAPPING / ОПЕРАТИВНАЯ ОБРАБОТКА ДАННЫХ / ONLINE DATA PROCESSING / ХРАНИЛИЩЕ ДАННЫХ / DATA WAREHOUSE / ЭЛЕКТРОМАГНИТНЫЕ ЗОНДИРОВАНИЯ / ELECTROMAGNETIC SOUNDINGS (EM SOUNDINGS)

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гусейнов Роман Гасымович, Петров Александр Васильевич, Шарлов Максим Валерьевич

Разработаны библиотека для объектного отображения данных реляционного вида (ORM) и провайдер для уни-фицированного доступа к данным и файлам. Спроектирована и изготовлена кроссплатформенная гибридная система с возможностями хранилища и оперативной обработки данных электромагнитных исследований, полу-ченных методом зондирования становлением поля в ближней зоне и вызванной поляризации. Информационная система внедрена в геофизической компании ЗАО «ИЭРП» и содержит первичные и обработанные данные около 60000 зондирований с более чем 200 площадей Восточной и Западной Сибири, Якутии, Дальнего Востока, Индии, Малайзии, Индонезии.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гусейнов Роман Гасымович, Петров Александр Васильевич, Шарлов Максим Валерьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

INTEGRATION OF OPERATIONAL SYSTEM OF EM SOUNDING DATA PROCESSING AND WAREHOUSING

The library for object-relational mapping (ORM) of data and a provider enabling a unified access to data and files is developed. A cross-platform hybrid system with the functions of data warehousing and online processing of the research data received by the method of time domain electromagnetic sounding and induced polarization is designed and produced. The information system containing primary and processed data of about 60.000 soundings from more than 200 areas of Eastern and Western Siberia, Yakutia, Far East, India, Malaysia, Indonesia has been introduced in the geophysical company "IERP" CJSC.

Текст научной работы на тему «Интеграция оперативной системы обработки и хранилища данных электромагнитных зондирований»

3. Ерунов В.П., Морковин И.И. Формирование оптимального расписания учебных занятий в вузе // Вестник Оренбургского государственного университета. 2001. № 3. С. 55-63.

4. Молибог А.Г., Медведский М.В., Неверов Г.С. Методика составления расписания занятий на ЦВМ / МВИРТУ. Минск, 1972.

5. Burke E. A Genetic Algorithm for university timetabling / Burke ., Elliman D., and Weare R. // In AISB Workshop on Evolutionary Computing. University of Leeds, UK. 1994.

6. J. Landa Silva A tutorial on multiobjective metaheuristics for scheduling and timetabling. / J. Landa Silva, E. Burke // University of Nottingham, 2002.

УДК 004.9:550.837

ИНТЕГРАЦИЯ ОПЕРАТИВНОЙ СИСТЕМЫ ОБРАБОТКИ И ХРАНИЛИЩА ДАННЫХ ЭЛЕКТРОМАГНИТНЫХ ЗОНДИРОВАНИЙ

© Р.Г. Гусейнов1, А.В. Петров2, М.В. Шарлов3

1,2Иркутский государственный технический университет, 664074, Россия, г. Иркутск, ул. Лермонтова, 83. 3ЗАО «Иркутское электроразведочное предприятие», 664011, Россия, г. Иркутск, ул. Рабочая, 2а.

Разработаны библиотека для объектного отображения данных реляционного вида (ORM) и провайдер для унифицированного доступа к данным и файлам. Спроектирована и изготовлена кроссплатформенная гибридная система с возможностями хранилища и оперативной обработки данных электромагнитных исследований, полу -ченных методом зондирования становлением поля в ближней зоне и вызванной поляризации. Информационная система внедрена в геофизической компании ЗАО «ИЭРП» и содержит первичные и обработанные данные около 60000 зондирований с более чем 200 площадей Восточной и Западной Сибири, Якутии, Дальнего Востока, Индии, Малайзии, Индонезии. Ил. 4. Библиогр. 6 назв.

Ключевые слова: объектно-реляционное отображение; оперативная обработка данных; хранилище данных; электромагнитные зондирования.

INTEGRATION OF OPERATIONAL SYSTEM OF EM SOUNDING DATA PROCESSING AND WAREHOUSING R.G. Guseinov, A.V. Petrov, M.V. Sharlov

Irkutsk State Technical University, 83 Lermontov St., Irkutsk, 664074, Russia. Irkutsk Electroprospecting Company CJSC, 2a Rabochaya St., Irkutsk, 664011, Russia.

The library for object-relational mapping (ORM) of data and a provider enabling a unified access to data and files is developed. A cross-platform hybrid system with the functions of data warehousing and online processing of the research data received by the method of time domain electromagnetic sounding and induced polarization is designed and produced. The information system containing primary and processed data of about 60.000 soundings from more than 200 areas of Eastern and Western Siberia, Yakutia, Far East, India, Malaysia, Indonesia has been introduced in the geophysical company "IERP" CJSC. 4 figures. 6 sources.

Key words: object-relational mapping; online data processing; data warehouse; electromagnetic soundings (EM soundings).

Введение

Получение качественных и достоверных сигналов является важной задачей при проведении электромагнитных (ЭМ) исследований методом зондирования становлением поля в ближней зоне (ЗСБ). Для оценки качества геофизического материала в рамках экспертной системы необходима разработка и обоснование системы количественных показателей [1]. Гибридная информационная система, обладающая возможностями хранилища данных электромагнитных зондирований и оперативной системы обработки, обеспечи-

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

Хранилище, построенное на основе банка данных ЗАО «Иркутское электроразведочное предприятие», позволяет централизовать материалы, полученные за активную многолетнюю исследовательскую работу предприятия [2]. Разработка хранилища данных включает в себя интеграцию с программным комплексом БОБ-ТЕМ [3], который содержит приложения для про-

1Гусейнов Роман Гасымович, аспирант, тел.: 89246015874, e-mail: [email protected] Guseinov Roman, Postgraduate, tel.: 89246015874, e-mail: [email protected]

2Петров Александр Васильевич, доктор технических наук, профессор, тел.: 89148992771, e-mail: [email protected] Petrov Alexander, Doctor of technical sciences, Professor, tel.: 89148992771, e-mail: [email protected]

3Шарлов Максим Валерьевич, заместитель генерального директора, тел.: 89149260799, e-mail: [email protected] Sharlov Maxim, Deputy Director, tel.: 89149260799, e-mail: [email protected]

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

Доступ к данным в программном комплексе БОБ-ТЕМ

Программный комплекс SGS-TEM включает модули для:

- геоинформационного обеспечения электроразведочных работ;

- топографической привязки карт, обмена данными с GPS-приемниками, проектирования сетей наблюдения;

- регистрации и предварительной обработки данных;

- первичной обработки (с использованием подключаемых цифровых фильтров [4]);

- интерпретации (инверсии) результатов, математического моделирования;

- построения диаграмм, разрезов и карт.

Приложения работают с данными, которые можно

разделить на две группы:

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

- множество проектов, каждый из которых состоит из базы данных и сгруппированных файлов (табл. 1).

Каждое новое электромагнитное исследование сопровождается созданием проекта, в рамках которого формируется группа топографических и геологиче-

ществляется при помощи технологии ADO (рис. 1).

Рис. 1. Схема доступа к данным ЗСБ в программном комплексе SGS-TEM

Провайдер данных

Объемы первичных данных, полученных ЗАО «ИЭРП» за 2007-2013 гг., по приблизительным подсчетам, составляют более 800 Гб. Поэтому, для реализации хранилища данных необходимо использовать мощную СУБД (например, PostgreSQL). При условии сохранения возможности работы с базой данных MS Access (для автономной работы в полевых условиях) необходимо внедрение провайдера данных, который способствует унификации программного доступа к данным, независимо от используемой СУБД (рис. 2).

Внедрение провайдера данных является первым этапом интеграции программного комплекса SGS-TEM и хранилища данных. Такая схема управления данными позволяет пользователю работать как с локальной базой данных MS Access, так и СУБД PostgreSQL. Основой провайдера данных является библиотека ORM4,

Таблица 1

Состав проекта SGS-TEM

№ Название (тип файла) Описание

1 База данных (MS Access *.MDB) Схема наблюдений, параметры установок, параметры регистрации, информация об обработке и моделировании.

2 Первичные данные (бинарные файлы *.RB) Результат регистрации серии импульсов, состоит из множества реализаций сигналов становления, полученных на всех каналах с определенными параметрами.

3 Суммарные кривые (текстовые файлы *.TXT) Результат межсерийного суммирования: суммарная кривая и её трансформации (кажущееся сопротивление и кажущаяся проводимость от кажущейся глубины).

4 Модели (текстовые файлы *.AVR) Суммарная кривая и её геоэлектрическая модель (список слоев, их идентификаторов, мощностей и значений удельного электрического сопротивления).

5 Приложения (графические файлы *.BMP, *.JPG, *.TIFF; ГИС файлы *.SHP, *.TXT, *.XYZ, *.GRD; файлы обмена GPS - *.GPX и т.д.) Карты с топографической привязкой, разрезы, схемы геофизических профилей, проектные точки, треки, маршруты и т.д.

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

Программная реализация доступа к данным в комплексе SGS-TEM представляет собой параллельную работу с несколькими базами данных MS Access и множеством файлов. Доступ к базам данных осу-

4 ORM (англ. Object-relational mapping, рус. Объектно-реляционное отображение) - технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных»._

которая была реализована по аналогии с технологией Hibernate5 [6]. Применение такого подхода позволяет работать с записями таблиц как с объектами и абстрагироваться от тонкостей работы SQL в конкретной СУБД.

Рис. 2. Схема доступа к данным с использованием провайдера данных

Библиотека ORM состоит из множества классов и структур, из которых можно выделить три основных: ТЕп%, ТСШ, TORMQuery (табл. 2).

Таблица 2

Описание основных классов библиотеки ORM

Класс Описание

TEntity Базовый класс сущности, от него наследуются классы, совокупность которых описывает схему базы данных

TORMQuery Класс, позволяющий выполнять различные типы запросов

TORM Компонент для работы с объектами наследников класса ТЕп%. Основные функции: создание, загрузка, обновление, сохранение, удаление объектов в базе данных

Библиотека реализована таким образом, что для поддержки новой таблицы достаточно создать класс, наследник TEntity, содержащий параметры таблицы. Описание таблицы и её полей осуществляется путем добавления специальных аннотаций. Например, для работы с таблицей «user_tab», поля которой содержат информацию об имени и возрасте пользователя, необходимо создать следующий класс:

FUser=record const //данная структура содержит названия столбцов в таблице

ld='user_id';

Name='user_name';

Age='user_age';

end;

[Table('user_tab')] //аннотация определяет название таблицы «user_tab» в БД TUser=class(TEntity) public

[AutoGeneration] // аннотация означает, что поле

Hibernate - библиотека для языка программирования Java, предназначенная для решения задач объектно-

Id является счетчиком

[Column(FUser.Id,ctPrimary)] //определяет соответствие столбцу FUser.Id Id: Longlnt;

[Column(FUser.Name,60)] //для строкового типа можно определить длину Name:String; [Column(FUser.Age)] Age:Double; aonstructor Create; end;

Класс TORMQuery позволяет решать значительное количество прикладных задач без использования SQL напрямую. Такой подход обусловлен спецификой разных СУБД при интерпретации структурированных запросов. На данный момент реализованы четыре варианта использования класса TORMQuery (табл. 3), которые можно получить, вызывая методы Select, Insert, Update, Delete объекта типа TORM для выборки, добавления, обновления и удаления соответственно. Вышеописанные методы являются типизированными, т.е. для получения объекта класса запроса необходимо указать класс, наследуемый от TEntity. Например, получить данные обо всех пользователях (массив объектов TUser) из базы данных можно следующим образом:

ORM.Select<TUser>.Open; // возвращаемый результат будет типа TArray<TUser>

Для выбора данных с условием необходимо использовать класс TORMCondition, к которому можно применять основные логические операции (AND, OR, NOT, XOR). Для создания экземпляра класса условия в TORM реализованы статические методы: Equals, More, MoreOrEqual, Less, LessOrEqual, Likeis. Примером запроса для получения всех пользователей, возраст которых больше 18 (включительно), но меньше 60, является следующий код:

ORM.Select<TUser>.Where( TORM.MoreOrEqual(FUser.Age,18) and TORM.Less(FUser.Age,60)).Open;

Класс TORMQuery реализует инструмент построения запросов, содержащий методы для выполнения следующих операций:

- определение условий выбора записей из таблицы;

- сортировка по выбранным полям;

- исключение записей, содержащих повторяющиеся данные в выбранных полях (при использовании метода OpenEx);

- объединение записей из двух таблиц, если в связующих полях этих таблиц содержатся одинаковые значения;

- получение количества записей (с учетом условия выбора записей);

- получение минимального значения выбранного поля;

- получение максимального значения выбранного поля;

- получение массива объектов (с учетом условия выбора записей);

- получение таблицы значений (с учетом выб-

ранных полей).

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

1. Создание запросов различного типа.

2. Сохранение, обновление и удаление объектов.

3. Массовая загрузка данных. Для достижения высокой скорости загрузки большого объема данных массив объектов представляется в виде SQL запроса и выполняется с помощью компонента ADO.

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

Провайдер (рис. 3) данных представляет собой взаимосвязанную группу модулей, компонентов:

1. DAL Component - компонент для унифицированного доступа к данным, который состоит из нескольких основных элементов:

1.1. Библиотека ORM.

1.2. Компоненты ADOConnection для установки параллельных подключений к двум базам данных. Механизм переключения между подключениями реализован на основе определения класса запрашиваемых объектов.

1.3. Модуль доступа к данным, который позволяет получать первичные, обработанные сигналы становления, соответствующие им геоэлектрические модели в виде структур, как из файлов (при использовании локальной БД MS Access), так и при использовании сервера данных.

1.4. Методы настройки и инициализации подключений к базам данных.

2. Библиотека классов TEntity определяет схему базы данных.

Проектирование и наполнение хранилища данных

Основная часть схемы базы данных была перенесена с MS Access для уменьшения трудозатрат по внедрению хранилища данных и его интеграции с программно-аппаратным комплексом SGS-TEM. Схема данных проекта состоит из следующих таблиц:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. Tx - параметры источника ЭМ поля.

2. Rx - параметры приемника ЭМ поля.

3. Series - параметры регистрации сигналов становления.

6 ADO (от англ. ActiveX Data Objects - «объекты данных ActiveX») - интерфейс программирования приложений для доступа к данным, разработанный компанией Microsoft (MS Access, MS SQL Server) и основанный на технологии компонентов ActiveX.

7 RTTI (от англ. Run-time type information, Run-time type

identification) - динамическая идентификация типа данных -механизм в некоторых языках программирования, который позволяет определять тип данных переменной или объекта во время выполнения программы.

4. Curve - информация об обработанных сигналах (результаты первичной обработки).

5. Model - результаты интерпретации (геоэлектрическая модель).

6. Test - результаты тестирования измерительной аппаратуры (общие тесты, усиление канала, дисперсия электромагнитных помех).

7. Stat - статистика использования данных пользователями.

Провайдер данных

Библиотека классов TEntity

V--J

Рис. 3. Схема провайдера данных

Хранение бинарных файлов в реляционной базе неэффективно из-за низкой скорости обработки данных типа BLOB8.

Архитектура хранилища данных

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

Хранилище данных состоит из двух основных компонентов (рис. 4):

1. СУБД PostgreSQL.

2. Сервер данных.

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

Сервер данных представляет собой HTTP-сервер и файловое хранилище. Веб-приложение разработано на Java EE в среде Eclipse IDE и состоит из двух основных модулей: авторизации и обработки запросов. Пользовательский интерфейс web-приложения реализован на основе технологии Google Web Toolkit (GWT). Агрегированную информацию о состоянии исследования (регистрация, обработка, интерпретация) и статистику по обработке данных можно получить прямо в браузере. Обработка запросов клиентов (приложений)

8 BLOB (англ. Binary Large OBject - двоичный большой объект) - массив двоичных данных. В СУБД BLOB - специальный тип данных, предназначенный, в первую очередь, для хранения изображений, аудио и видео, а также компилированного программного кода._

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

Рис. 4. Архитектура хранилища данных

1. Авторизация пользователей. Веб-приложение сравнивает имя пользователя и зашифрованный пароль, полученные в результате HTTP-запроса, с данными из PostgreSQL и определяет уровень на доступ к данным.

2. Кэширование данных и их очистка. Позволяет ускорить обработку запросов.

3. Вывод технической информации о состоянии сервера, параметрах подключения к СУБД и количестве доступных проектов.

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

5. Сохранение статистики обработки данных в СУБД PostgreSQL.

Использование СУБД PostgreSQL и Apache Tomcat для реализации хранилища данных делает его кроссплатформенным и при этом не требует приобретения лицензии.

Внедрение информационной системы

Внедрение информационной системы проводилось в несколько этапов:

1. Внедрение провайдера данных в программный комплекс SGS-TEM.

2. Создание защищенного и отказоустойчивого сервера.

3. Наполнение хранилища данных.

4. Администрирование.

Внедрение провайдера представляет собой замену механизма доступа к данным промежуточным слоем (провайдером данных). Функциональных возможностей провайдера, и в частности библиотеки ORM, достаточно для решения широкого круга задач обработки данных, решаемых в программном комплексе SGS-TEM.

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

• RAID 1 - зеркальный дисковый массив.

• Асинхронная потоковая репликация СУБД PostgreSQL (Master-Slave).

• BitTorrent Sync - синхронизация файловых данных с использованием технологии peer-to-peer (P2P). Этот протокол является очень эффективным для передачи больших файлов между несколькими устройствами [5].

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

Для наполнения и администрирования хранилища данных было реализовано ПО «DW Admin», которое решает следующие задачи:

1. Создание и синхронизация схемы баз данных (таблицы, столбцы, ключи, счетчики, представления) на основе классов TEntity.

2. Копирование и синхронизация проектов (экспорт и импорт).

3. Администрирование пользователей (создание, редактирование, изменение привилегий, удаление) и разделение доступа на уровне записей таблиц.

4. Просмотр статистики обработки записей из баз данных и файлов.

5. Восстановление измененных и удаленных данных.

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

Выводы

Хранилище данных электромагнитных зондирований позволяет, с одной стороны, физически распределить большой объем геофизических данных, собранных ЗАО «Иркутское электроразведочное предприятие» (более 950 ГБ), а с другой - реализовать «централизованное» хранение всех наблюдений в плане доступа специалистов. Такой подход обеспечивает наличие у всех пользователей актуальных данных по всем проектам (с учетом установленного уровня доступа), а также дает возможность работать над одним исследованием нескольким специалистам.

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

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

Статья поступила 11.03.2014 г.

1. Гусейнов Р.Г., Агафонов Ю.А., Буддо И.В., Шарлов М.В. Многоуровневая система контроля качества и достоверности сигналов становления поля // Материалы 2-й междунар. научно-практ. конф. по электромагнитным методам исследования и комплексной интерпретации геофизических данных «ГЕОБАЙКАЛ 2012». Иркутск, 2012.

2. Гусейнов Р.Г., Петров А.В., Шарлов М.В., Кочнев А.С. Разработка хранилища данных электромагнитных исследований методом зондирования становлением поля в ближней зоне // Труды XVIII Байкальской Всероссийской конференции "Информационные и математические технологии в науке и управлении". Иркутск: ИСЭМ СО РАН, 2013. Ч. Ш. С. 308311;

3. Шарлов М.В., Агафонов Ю.А., Стефаненко С.М. Совре-

ский список

менные телеметрические электроразведочные станции SGS-TEM и FastSnap // Приборы и системы разведочной геофизики. 2010. № 1. С. 27-31.

4. Шарлов М.В., Гусейнов Р.Г. Система "EM-Processing" для многоэтапной обработки данных ЭМЗ на основе подключаемых цифровых фильтров // Материалы Пятой всероссийской школы-семинара имени М.Н. Бердичевского и Л.Л. Ваньяна по электромагнитным зондированиям Земли -ЭМЗ-2011. В 2 кн. СПб.: СПбГУ, 2011. Кн. 2. С. 134-137.

5. BitTorrent Sync Beta - Технологии : [сайт]. [2014]. URL: http://www.bittorrent.com/intl/ru/sync/technology (дата обращения: 15.02.2014).

6. Jeff Linwood, Dave Minter. Beginning Hibernate, 2nd Edition. Apress publishing, 2010. 400 p.

i Надоели баннеры? Вы всегда можете отключить рекламу.