Главная
страница 1 ... страница 9страница 10страница 11страница 12

4.4 Результаты


В ходе данного этапа было разработано хранилище данных, содержащее три многомерных куба. Каждый куб определяет свою область анализа данных. Разработанное хранилище реализовано на СУБД PostgreSQL и использует многие возможности данного продукта, такие как пользовательские функции (обычные и агрегирующие). Данная СУБД является реляционной, а не многомерной, поэтому для многомерного представления данных используется специальная организация реляционных таблиц – схема звезды (star schema), являющейся более эффективной, но более избыточной по сравнению с другой схемой – схемой снежинки (snowflake schema).

Описание многомерных кубов производится в программе Pentaho Mondrian Workbench и сохраняется как XML-файл, текст которого приведён в приложении №. Данный файл в дальнейшем используется OLAP-сервером.

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


5. Разработка модуля многомерного анализа данных для СППР РЭП


Разрабатываемый модуль многомерного анализа данных в СППР РЭП состоит из следующих элементов (рис 5.1):

  1. Хранилища данных, построенного на СУБД PostgreSQL

  2. OLAP-сервера Mondrian

  3. Визуализатора многомерных кубов JPalo

Рис 5.1. Структура разрабатываемого модуля

Аналитик, работая с модулем в веб-браузере, производит действия по запросу тех или иных данных, которые представляются в виде многомерной таблицы. На каждое действие пользователя визуализатор формирует OLAP-серверу MDX-запрос. Далее OLAP-сервер преобразует его в обычный SQL-запрос и отправляет в хранилище данных, откуда извлекаются необходимые данные. OLAP-сервер Mondrian использует подход In-Memory OLAP, поэтому на некоторые MDX-запросы сервер отвечает данными, хранимыми в его кэше, тем самым не отправляя SQL-запросов хранилищу. Полученные данные отображаются в веб-браузере в виде динамической таблицы.

Организация хранилища данных была описана в предыдущей главе. Рассмотрим подробнее настройку OLAP-сервера и подключение визуализатора JPalo в СППР РЭП.


5.1 Настройка OLAP-сервера


OLAP-сервер Mondrian поставляется как веб-приложение в виде WAR-файла, помещаемого в веб-сервер Apache Tomcat. Настройка сервера заключается в указании XML-файла конфигурации многомерных кубов, а также настроек подключения к хранилищу данных. Эта информация содержится в файле datasources.xml:

Jdbc = jdbc:postgresql://192.168.77.156/risks;

JdbcDrivers = org.postgresql.Driver;

JdbcUser = risks;

JdbcPassword = risks;

Catalog = /WEB-INF/Risks.mondrian.xml



В параметре Jdbc указывается URL для подключения к базе данных, содержащий ip-адрес сервера СУБД и название схемы БД. Параметр JdbcDriver указывает на используемый для подключения JDBC-драйвер, по умолчанию, для PostgreSQL это org.postgresql.Driver. Параметры JdbcUser и JdbcPassword содержат данные для авторизации пользователя в СУБД. Параметр Catalog указывает на путь к XML-файлу, содержащему описания многомерных кубов. Содержимое файла Risks.mondrian.xml приведено в приложении №.

После настройки OLAP-сервера он готов к работе. Для начала работы сервера необходимо запустить веб-сервер Apache Tomcat. Для получения доступа к OLAP-серверу по протоколу XMLA используется URL вида http://имя_сервера:порт/mondrian/xmla, где имя_сервера и порт – соответственно имя компьютера и порт, на котором запущен Apache Tomcat.

5.2 Подключение визуализатора в СППР РЭП


Основной целью визуализатора является наглядное отображение данных, приходящих от OLAP-сервера. Для достижения поставленной цели визуализатор должен выполнять следующие задачи:

  • выполнение всех операций над многомерными данными: срезы, детализация/обобщение, поворот и др.;

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

  • наличие удобного пользовательского интерфейса;

  • сохранение и печать полученных отчётов;

В процессе работы было решено использовать готовый визуализатор, а не разрабатывать собственный, и встроить его в СППР РЭП. Выбор был сделан в пользу продукта JPalo (см. приложение №), т.к. данный продукт является открытым, бесплатным и выполняет все вышеперечисленные задачи.

Основным элементом интерфейса JPalo является динамическая таблица, значения ячеек которой определяются соответствующим набором измерений, используемых аналитиком. Весь набор измерений представлен в виде объектов, находящихся в верхней части экрана. Каждый такой объект имеет заголовок – название измерения и кнопку вызова фильтра, в котором аналитик может настраивать иерархии, используемые в измерении. Переносом объектов с помощью мыши (drag’n’drop) можно добавлять в таблицу используемые измерения.

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

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

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

JPalo, также как и Mondrian, поставляется в виде WAR-файла, помещаемого в веб-сервер Apache Tomcat. Настройка JPalo заключается в указании URL к OLAP-серверу, работающему по протоколу XMLA (см. гл. 5.1). Основная проблема заключалась во встраивании JPalo в систему СППР РЭП.

Система СППР РЭП является веб-приложением написанным с использованием технологии Grails. Grails — программный каркас для создания веб-приложений, написанный на скриптовом языке Groovy, который в свою очередь основан на Java. Grails основан на шаблоне «Модель-Вид-Контроллер» (MVC) [4]. Grails — это современная инфраструктура для разработки Web-приложений, который соединяет такие давно знакомые Java-технологии, как Spring и Hibernate, с современными подходами, такими как соглашения о конфигурации. Grails может работать с Apache Tomcat, JBoss или любым другим веб-сервером, поддерживающим сервлеты [4]. Для разработки и отладки используется встроенный в Grails веб-сервер Jetty. В качестве сервера базы данных поддерживаются MySQL, Firebird, PostgreSQL, IBM DB2, Oracle и Microsoft SQL Server. Также поддерживается встраиваемая база данных SQLite.

СППР РЭП, как и любое Grails-приложение, имеет следующую структуру:



Рис. 5.2 Структура проекта СППР РЭП



  • в каталоге conf содержатся файлы конфигурации приложения;

  • в каталоге controllers содержатся Groovy-классы, представляющие собой контроллеры шаблона Model-View-Controller;

  • в каталоге domains содержатся Groovy-классы, представляющие собой сущности, которые в совокупности со связями между собой, образуют модель шаблона Model-View-Controller;

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

  • в каталоге taglib располагаются пользовательские теги для GSP-страниц;

  • в каталоге views находятся GSP-страницы – представление в шаблоне Model-View-Controller.

GSP-страницы – это динамически формируемые на стороне сервера веб-страницы, использующие синтаксис языка Java и Groovy. Для подключения визуализатора JPalo необходимо создать GSP-страницу olap.gsp, в которую будет встроен визуализатор. На страницу вставляется HTML-тэг IFRAME, который отображает дополнительное окно с веб-страницей. Созданная GSP-страница помещается в папку views. Остановимся подробнее на тэге IFRAME. Ниже приведён фрагмент GSP-кода, подключающего JPalo на страницу (исходный код GSP-страницы приведён в приложении №):

В данном коде, используется переменная paloUrl, формируемая в контроллере (используется модель MVC) и задающая путь к JPalo. Путь к JPalo изменяется в зависимости от запрашиваемого для анализа многомерного куба. Ниже приведён код контроллера OlapContoller.groovy:

class OlapController {

def index = {

String id = params.id;

if (id == null) id = "0";

String paloUrl = "/palo/com.tensegrity.wpalo.WPalo/WPalo.html?options=(user=%22admin%22,pass=%22ISMvKXpXpadDiUoOSoAfww==%22,hideNavigator,[openview=%22" + id + "%22,hideStaticFilter,hideTitlebar])";

String activeMenu = "activeMenu";

if ("0".equals(id)) {

activeMenu = "Анализ показателей предприятий";

}

if ("1".equals(id)) {



activeMenu = "Анализ рисков и оценочной стоимости";

}

if ("2".equals(id)) {



activeMenu = "Анализ стоимости мероприятий";

}

render(view: "olap", model: [paloUrl: paloUrl, activeMenu: activeMenu])



}

}

В контроллере формируется URL к визуализатору JPalo, а также определяется активное меню. Каждый созданный куб имеет идентификатор – 0, 1 или 2. Данный идентификатор передаётся в URL. Помимо идентификатора в URL передаются данные для авторизации и некоторые другие параметры, отвечающие за внешний вид визуализатора. Переменная activeMenu хранит название выделенного пункта меню (см. приложение №). Последняя строка передаёт в GSP-страницу olap.gsp модель данных, состоящую из URL к JPalo и названия выделенного меню activeMenu.



Остаётся отметить используемую среду для разработки. В ВКР использовалась интегрированная среда разработки Intellij IDEA 9.1, потому что:

  1. Intellij IDEA полностью поддерживает язык Groovy, включая отладку и рефакторинг Groovy-кода.

  2. Intellij IDEA поддерживает технологию Grails, тем самым ускоряя разработку Grails-приложений.

5.3 Результаты


В ходе данного этапа был разработан модуль многомерного анализа данных, используемый OLAP-сервер Mondrian и визуализатор JPalo. Разработанный модуль полностью выполняет поставленные задачи (см. гл. 2.4). Результат разработки модуля многомерного анализа данных приведён в приложении №.

Заключение


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

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

  3. Проведено исследование возможностей современных OLAP-серверов. На основании этого исследования был выбран подходящий для разрабатываемого модуля OLAP-сервер.

  4. Систему поддержки принятия решений совместно с разработанным модулем многомерного анализа в скором времени планируется внедрить в г. Москве.




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


  1. Архипенков С., Голубев Д., Максименко О. Хранилища данных. – М.: Диалог-МИФИ, 2002.

  2. Барсегян А., Куприянов М., Степаненко В., Холод И. Методы и модели анализа данных: OLAP и Data Mining. – СПб.: БХВ-Петербург, 2004.

  3. Бергер А. Microsoft SQL Server 2005 Analysis Services. OLAP и многомерный анализ данных. – СПб.: БХВ-Петербург, 2007.

  4. Смит Г., Ледбрук П. Grails. Гибкость Groovy и надежность Java. – М.: Символ-Плюс, 2010.

  5. Спирли Э. Корпоративные хранилища данных. Планирование, разработка и реализация. – М.: Вильямс, 2001.

  6. Харинатх С., Куинн С. SQL Server 2005 Analysis Services и MDX для профессионалов. – М.: Диалектика, 2008.

Интернет-ресурсы:

  1. http://ru.wikipedia.org/wiki - свободная Интернет-энциклопедия.

  2. http://www.fpm.com/refer/codd.html - статья Е.Ф. Кодда, С.Б. Кодда и С.Т. Солли "OLAP для пользователей-аналитиков: информационно- технологический мандат".

  3. http://www.olap.ru – сайт о бизнес-аналитике.


Приложения


<< предыдущая страница  
Смотрите также:
2. Исследование предметной области разрабатываемого модуля многомерного анализа данных 35
572.04kb.
9 стр.
2. Исследование предметной области разрабатываемого модуля многомерного анализа данных 35
816.08kb.
12 стр.
Особенности анализа многомерных данных
170.74kb.
1 стр.
Отчет о лаботарорной работе методы и средства анализа данных по теме: «Система анализа данных weka»
383.87kb.
2 стр.
Диссертация посвящена вопросу оперативного многомерного анализа данных (olap) в системах поддержки принятия решений (сппр). Рассматривается класс систем, учитывающих для формирования оптимальных решений изменяемые с течением времени факторы
945.67kb.
7 стр.
12 Пример применения: оптимизация зоны обслуживания на основе векторных данных
52.42kb.
1 стр.
Формула специальности: Содержанием специальности 22. 00. 04 – «Социальная структура, социальные институты и процессы»
36.75kb.
1 стр.
Дипломная работа студента Коробкина А. А
588.33kb.
4 стр.
Отчет о лаботарорной работе по дисциплине Методы и средства анализа данных по теме: «Система анализа данных weka»
229.16kb.
1 стр.
Лабораторные работы по дисциплине "Теория экономических информационных систем"
95.98kb.
1 стр.
Исследование предметной области 11 2 Проектирование системы 24 3 Разработка системы 38
421.31kb.
1 стр.
Место теории измерений в методах анализа данных
266.06kb.
1 стр.