УДК 004.9
ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННО-АНАЛИТИЧЕСКОЙ СИСТЕМЫ МОНИТОРИНГА НА БАЗЕ ТЕХНОЛОГИЙ OLAP И DATA
MINING
Акимов А.А.
Пензенский государственный университет, 400026, г. Пенза, ул. Красная 40, тел/факс: (8412) 36-82-47, e-mail: [email protected]
DESIGNING OF INFORMATION-ANALYTICAL SYSTEM OF MONITORING ON THE BASIS OF TECHNOLOGIES OLAP AND DATA MINING
Akimov A.A.
Penza State University, 400026, Penza, Krasnaya str., 40, tel. (8412) 36-82-47, e-mail: [email protected]
Аннотация.
Рассмотрены вопросы проектирования информационно-аналитических систем на базе технологий OLAP и Data Mining. Кроме того, приводится описание основных функций и технические данные, разработанной базе данных технологий информационно-аналитической системы мониторинга деятельности кафедры.
Abstract.
Questions of designing of information-analytical systems on the basis of technologies OLAP and Data Mining are considered. Besides, the description of the basic functions and the specifications, the developed database of technologies of information-analytical system of monitoring of activity of department is resulted.
Ключевые слова.
Информационная система; аналитическая обработка в режиме реального времени; интеллектуальный анализ данных; мониторинг деятельности кафедры; хранилище данных.
Key words.
Information system; OLAP; Data Mining; monitoring department activities. Введение
Современные подходы к анализу информации основываются на многомерном представлении данных[1]. Реализация многомерного представления данных в информационных системах базируется на концепциях сбора информации (OLTP - On-line Transaction Processing), преобразования (ETL - Extraction Transformation Loading), оперативного анализа данных (OLAP - On-line Analytical Processing).
В соответствии с этими концепциями разработчик должен представлять область данных в виде совокупности трех областей: операционной базы
данных, промежуточной области и хранилища данных. Операционные базы применяются для сбора и накопления данных, хранения справочной информации. Промежуточная область используется при реализации процессов ETL. Информация переносится в процессе загрузки данных, затем загружается таблица фактов, и формируются агрегаты[2]. Хранилище данных предназначено для организации долговременного хранения информации. Полномасштабная информационно-аналитическая система должна выполнять сложные и разнообразные функции, включающие сбор данных из различных источников, их согласование, преобразование и загрузку в хранилище, хранение аналитической информации, регламентную отчетность, поддержку произвольных запросов, многомерный анализ и др.
В настоящее время существуют фактические стандарты построения OLAP-систем, основанных на концепции хранилищ данных (Data Warehouse). Эти стандарты опираются на исследования и общемировую практику создания хранилищ данных и аналитических систем.
1. Архитектура информационно-аналитической системы на базе технологии OLAP
В общем виде архитектура подобной системы описывается схемой с тремя выделенными слоями[3]:
- извлечение, преобразование и загрузка данных;
- хранение данных;
- анализ данных.
Данные поступают из различных внутренних систем, от подчиненных структур, от внешних организаций в соответствии с установленным регламентом, формами и макетами отчетности. Вся эта информация проверяется, согласуется, преобразуется и помещается в хранилище. После этого пользователи с помощью специализированных инструментальных средств получают необходимую им информацию для прогнозирования.
1.1. Слой извлечения, преобразования и загрузки данных
С организационной точки зрения, данный слой включает подразделения и структуры организации всех уровней, поддерживающие базы данных оперативного доступа. Он представляет собой низовой уровень генерации информации, уровень внутренних и внешних информационных источников, вырабатывающих «сырую» информацию.
Из источников данных информация перемещается на основе некоторого регламента в централизованное хранилище. Эти данные обычно можно получить из исходных баз данных путем специальных преобразований, вычислений и агрегирования. Перед загрузкой в хранилище вся эта информация должна быть согласована, чтобы обеспечить целостность и непротиворечивость аналитических данных.
Дело в том, что в хранилище хранятся исторические данные, т.е. данные за достаточно большой промежуток времени. В оперативной системе данные хранятся в целостном виде за ограниченный промежуток, после чего они отправляются в архив. При изменениях в структуре или собственно данных
архивы не подвергаются никакой дополнительной обработке, а хранятся в исходном виде. Следовательно, при необходимости иметь данные за достаточно большой период времени необходимо согласовывать архивную информацию с текущей.
Таким образом, загрузка данных из источников в хранилище осуществляется специальными процедурами, позволяющими:
1. извлекать данные из различных баз данных, текстовых файлов;
2. выполнять различные типы согласования и очистки данных;
3. преобразовывать данные при перемещении их от источников к хранилищу;
4. загружать согласованные и «очищенные» данные в структуры хранилища.
1.2. Слой хранения данных
Слой хранения данных предназначен непосредственно для хранения значимой, проверенной, согласованной, непротиворечивой и хронологически целостной информации, которую с достаточно высокой степенью уверенности можно считать достоверной.
Собственно хранилище данных не ориентировано на решение какой-либо определенной функциональной аналитической задачи. Цель хранилища данных - обеспечить целостность и поддерживать хронологию всевозможных данных, и с этой точки зрения оно нейтрально по отношению к приложениям. Хранилище данных чаще всего реализуется в виде реляционной базы данных, работающей под управлением достаточно мощной реляционной СУБД. Такая СУБД должна поддерживать эффективную работу с терабайтными объемами информации, иметь развитые средства ограничения доступа, обеспечивать повышенный уровень надежности и безопасности, соответствовать необходимым требованиям по восстановлению и архивации.
1.3. Слой анализа данных
Для организации доступа к хранилищам данных используются специализированные рабочие места, поддерживающие необходимые технологии как оперативного, так и долговременного анализа. Результаты работы аналитиков оформляются в виде отчетов, графиков, рекомендаций и сохраняются как на локальном компьютере, так и в общедоступном узле локальной сети.
Аналитическая деятельность в рамках корпорации достаточно разнообразна и определяется характером решаемых задач, организационными особенностями компании, уровнем и степенью подготовленности аналитиков.
В связи с этим современный подход к инструментальным средствам анализа не ограничивается использованием какой-то одной технологи. В настоящее время принято различать следующие основные вида аналитической деятельности:
1. стандартная отчетность;
2. нерегламентированные запросы;
3. аналитическая обработка в режиме реального времени (OLAP);
4. интеллектуальный анализ данных (Data Mining).
Каждая из этих технологий имеет свои особенности, определенный набор типовых задач и должна поддерживаться специализированной инструментальной средой. Наибольший интерес представляют технологии OLAP и Data Mining.
2. Аналитическая обработка в режиме реального времени
OLAP - технология оперативной аналитической обработки данных, использующая методы и средства для сбора, хранения и анализа многомерных данных в целях поддержки процессов принятия решений. Основное назначение OLAP-систем - поддержка аналитической деятельности, произвольных запросов пользователей.
Все данные в многомерном хранилище делятся на три категории[4]:
1. детальные данные - данные, переносимые непосредственно из OLTP-подсистем. Соответствуют элементарным событиям, фиксируемым в OLTP-системах;
2. агрегированные (обобщенные) данные - данные, получаемые путем суммирования по определенным измерениям;
3. метаданные - данные о данных, содержащихся в хранилище.
Данные в хранилище образуют следующие информационные потоки[2]:
1. входной поток - образуется данными, копируемыми из OLTP-систем, данные при этом часто очищаются и обогащаются путем добавления новых атрибутов;
2. поток обобщения - образуется агрегированием детальных данных и их сохранением в хранилище;
3. архивный поток - образуется перемещением детальных данных, количество обращений к которым снизилось;
4. поток метаданных - образуется потоком информации о данных в репозиторий данных;
5. выходной поток - образуется данными, извлекаемыми пользователями;
6. обратный поток - образуется очищенными данными, записываемыми обратно в OLTP-системы.
В процессе анализа данных часто возникает необходимость построения зависимостей между различными параметрами, число которых может быть значительным.
Возможность анализа зависимостей между различными параметрами предполагает возможность представления данных в виде многомерной модели
- гиперкуба, или OLAP-куба, в ячейках которого хранятся анализируемые (числовые) данные, например объемы продаж. На пересечении осей измерений располагаются данные, количественно характеризующие анализируемые факты
- меры, например, объемы продаж, выраженные в единицах продукции.
Оси куба представляют собой измерения, по которым откладывают параметры, относящиеся к анализируемой предметной области, например, названия товаров и названия месяцев года.
В простейшем случае двумерного куба получается таблица, показывающая значения уровней продаж по товарам и месяцам.
Дальнейшее усложнение модели данных возможно по нескольким направлениям [5]:
1. увеличение числа измерений - данные о продажах не только по месяцам и товарам, но и по регионам. В этом случае куб становится трехмерным;
2. усложнение содержимого ячейки - например, нас может интересовать не только уровень продаж, но и чистая прибыль или остаток на складе. В этом случае в ячейке будет несколько значений;
3. введение иерархии в пределах одного измерения - общее понятие «время» связано с иерархией значений: год состоит из кварталов, квартал из месяцев и т.д.
3. Интеллектуальный анализ данных
Методы интеллектуального анализа данных(Ба!а Mining) подразделяются на три группы [6]: поиск зависимостей (discovery), прогнозирование (predictive modelling) и анализ аномалий (forensic analysis). Поиск зависимостей состоит в просмотре базы данных с целью автоматического выявления зависимостей. Проблема здесь заключается в отборе действительно важных зависимостей из огромного числа существующих в базы данных. Прогнозирование предполагает, что пользователь может предъявить системе записи с незаполненными полями и запросить недостающие значения. Система сама анализирует содержимое базы и делает правдоподобное предсказание относительно этих значений. Анализ аномалий - это процесс поиска подозрительных данных, сильно отклоняющихся от устойчивых зависимостей. Технологии интеллектуального анализа данных позволяют решать множество задач с привлечением методов математической статистики и теории вероятности, а также методов искусственного интеллекта.
Наибольшее распространение нашли методы использования, позволяющие решать следующие задачи:
1. Классификация - отнесение объекта (события, предмета) к одному из заранее известных классов по его характеристикам.
2. Регрессия - прогнозирование значения какого-либо выходного параметра объекта по набору входных параметров.
3. Кластеризация - задача заключается в группировке объектов на кластеры (независимых групп) по значениями присущих объектам параметров. Решение этой задачи помогает лучше понять данные.
4. Поиск ассоциативных правил - выявление закономерностей между какими-либо связанными объектами. Решение этой задачи помогает лучше понять природу анализируемых данных и может служить для прогнозирования появления событий.
5. Предсказание последовательностей - нахождение зависимостей между объектами или событиями в форме правил, указывающих, что после некоего события A наступает событие B.
6. Анализ отклонений - анализ данных на предмет вхождения явных нехарактерных шаблонов.
В качестве основных методов Data Mining принято выделять следующие [7]:
1. Регрессионный, дисперсионный и корреляционный анализ;
2. Нейросетевые алгоритмы (исходные параметры рассматриваются как сигналы, преобразующиеся в соответствии с имеющимися связями между
узлами сети; результатом анализа является отклик всей сети на исходные данные; структура связей задается в ходе специальной процедуры, называемой обучением сети);
3. Деревья решений (иерархические структуры, базирующиеся на наборе предикатов);
4. Алгоритмы сегментации (применяются для объединения сходных событий в группы на основании сходных значений нескольких полей в наборе данных);
5. Алгоритмы ограниченного перебора, вычисляющие частоты комбинаций простых логических событий в подгруппах данных;
6. Эволюционные методы (поиск и генерация производных алгоритмов, выражающих взаимозависимость данных, на основании изначально заданного алгоритма, модифицируемого в процессе поиска).
Эффективность методов Data Mining непосредственно связана с количеством исходных данных. Чем в большем объеме представлена исходная статистика, тем более устойчивые закономерности выявляются в ходе анализа. Чем в большем объеме представлена исходная статистика, тем более устойчивые закономерности выявляются в ходе анализа. Обе технологии можно рассматривать как составные части процесса поддержки принятия решений. Однако эти технологии как бы движутся в разных направлениях: OLAP сосредотачивает внимание исключительно на обеспечении доступа к многомерным данным, а методы интеллектуального анализа данных в большинстве случаев работают с плоскими одномерными таблицами и реляционными данными.
4. Информационно-аналитическая система мониторинга деятельности
кафедры
В настоящее время в большинстве ВУЗов наблюдается увеличение объемов и интенсивности документооборота. В связи с этим растет и число информационных систем, применяемых для управления ВУЗами. Однако анализ показывает, что существующие системы не всегда удовлетворяют потребностям и не учитывают специфику учебного заведения[7, 8]. Кроме этого, системы обладают некой избыточностью, т.к. пытаются обеспечить выполнение всех необходимых для управления учебным процессом функций. Несмотря на то, что большинство подобных систем представляет собой совокупность отдельных модулей: приемная комиссия, учебное управление, отдел кадров, деканат и т.д., звено - кафедра, как правило, в этом списке отсутствует. Хотя на сегодняшний день кафедры в современном ВУЗе характеризуются большим потоком информации, которая относится как к учебной и научной деятельности, так и к административной и анализ данной информации требует значительного объема временных затрат. Поэтому возникает необходимость автоматизировать процесс сбора, обработки и последующего анализа кафедральной информации.
В Пензенском государственном университете на кафедре «Системы автоматизированного проектирования» разработана информационная система, позволяющая получать актуальные данные о процессе функционирования кафедры, проводить анализ и прогнозирование вариантов развития событий,
что обеспечивает серьезную информационную поддержку процесса принятия решений по вопросам управления кафедрой [7].
Систему можно условно разделить на два измерения: измерение документооборота и измерение анализа и прогнозирования. Задачи, решаемые в рамках измерения документооборота и автоматизации работы кафедры и измерения анализа и прогнозирования, входящими в состав программного комплекса, существенно различаются. Первые рассчитаны на быстрое обслуживание относительно небольших запросов большого числа пользователей, работают с данными, которые требуют защиты от несанкционированного доступа, нарушений целостности, аппаратных и программных сбоев. Время ожидания выполнения запроса системе не превышает нескольких секунд. Аналитическая часть системы выполняет более сложные запросы, требующие статистической обработки массивов данных. Поэтому принята следующая логическая схема системы: информация через пользовательские приложения (веб-браузеры) накапливается в основной базе данных, затем проходит предварительную обработку и поступает в хранилище, а аналитические системы используют уже агрегированную информацию хранилища данных.
Основным функциям разработанной информационной системы мониторинга деятельности кафедры являются:
1. Сбор и анализ информации о работе преподавателей, в том числе публикациях и участии в научно-исследовательской деятельности;
2. Сбор и последующий анализ информации об успеваемости студентов;
3. Формирование отчётной документации, как по календарному, так и по учебному году;
4. Подготовка сведений для рейтинговой оценки деятельности кафедры и преподавателей кафедры;
5. Организация и ведение хранилища данных агрегированной информации о деятельности кафедры за прошлые годы для информационной поддержки принятия решений.
Применение методов интеллектуального анализа данных в рамках мониторинга учебной деятельности позволяет:
1. анализировать информацию об успеваемости студентов;
2. анализировать данные о работе преподавателей;
3. планировать учебный процесс на основе анализа, собранной информаций о процессе деятельности кафедры за прошлые годы, и поиска в этих данных скрытых закономерностей.
Таким образом, разработка многомерного хранилища данных и применение вместе с ним методов интеллектуального анализа позволяет[7,9]:
- оценить реальное состояние дел и выявить тенденции;
- проанализировать возможные последствия принятия управленческих решений;
- позволяет оптимизировать планирование учебной деятельности;
- грамотно моделировать стратегическую политику кафедры.
Собранная в процессе мониторинга информация может быть использована, как инструмент обратной связи в целях оценки текущей ситуации, предыдущих удачных или неудачных решений и выработки нового управляющего воздействия, направленного на объект или деятельность.
4.1. Технические данные
Представленная система функционируют на веб-сервере Internet Information Server(IIS) под управлением операционной системы Windows Server. Для работы программных модулей системы требуется СУБД Microsoft SQL Server, с наличием служб Analysis Services. Серверная часть системы реализована на языке программирования С#, c использование фреймворка ASP .NET MVC. ASP.NET MVC - это бесплатный, открытый(open source), фреймворк для создания веб-приложений, который использует шаблон проектирования «Модель-вид-контроллер». ASP.NET MVC, который полностью поддерживает аутентификацию на базе форм, роли, кэширование данных, управление состоянием сессий, мониторинг работоспособности (health monitoring), конфигурирование, архитектуру провайдеров и многое другое. MVC(Model-view-controller, «Модель-вид-контроллер») - это архитектура программного обеспечения, в которой модель данных приложения (Model), пользовательский интерфейс (View) и управляющая логика (Controller) разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты [10]. Таким образом, получаем полное отделение логики от представления данных.
ASP.NET MVC имеет ряд преимуществ:
1. Обеспечивает разделение между интерфейсом пользователя и кодом (логикой приложения и логикой представления);
2. Поддерживает изменение движка представления (View Engines);
3. По умолчанию использует REST-подход для URL-ов, что улучшает поисковую оптимизацию(SEO);
4. Обеспечивает полный контроль над генерируемым HTML-кодом;
5. Единообразие в структуре проекта;
6. Построен с акцентом на разработку через тестирование(Test Driven Development, TDD);
7. Позволяет повторно использовать модель приложения с другими интерфейсами пользователя и приложениями.
ASP.NET MVC имеет ряд особенностей, которые можно отнести к недостаткам: не имеет событийной модели, а также больший порог вхождения в технологию новых разработчиков.
Для корректной работы клиентских приложений необходима программа-обозреватель веб-страниц, удовлетворяющая требованиям: поддержка
стандартов HTML 4.0, поддержка JavaScript.
К системе организован способ подключения посредством беспроводных технологий, а именно: Wi-Fi, Bluetooth, GPRS/WAP. Подключение через Wi-Fi позволяет получать полноценный высокоскоростной доступ к системе через локальную сеть из любой точки кафедры, используя ноутбук или КПК, оснащенный картой Wi-Fi. Возможность использования Bluetooth позволяет подключаться к системе через локальную сеть, используя любые устройства,
оборудованные модулем Bluetooth и поддерживающие профиль PAN (например, КПК, смартфоны, а также некоторые мобильные телефоны). Скорость подключения Bluetooth позволяет работать с системой в полном объеме, но ввиду специфики устройств (небольшой экран, отсутствие полноразмерной клавиатуры), он используется в основном для просмотра и небольшого редактирования информации, а также загрузки файлов объемом до нескольких Мб. Поддержка WAP-протокола обеспечивает возможность доступа к системе из любой точки в зоне покрытия сотовой сети для большинства мобильных телефонов.
Заключение
Создание информационно-аналитической системы на базе технологий OLAP и Data Mining - сложный процесс, требующий знания предметной области, программно-технического инструментария и опыта выполнения крупных проектов. Вместе с тем внедрение подобных систем может дать преимущества, которые будут тем ощутимее, чем раньше организация начнет их создание. Значимость информационных систем подобного уровня очевидна. Их использование в в сфере образования позволяет существенно повысить эффективность работы структурного подразделения в целом.
Литература
1. Адоньев Р.В. Информационная система сбора и анализа образовательной статистики [Электронный ресурс]/ М.С. Заботнев, Д.В. Ионов. — Электрон. дан. — URL:
http://www.ict.edu.m/vconf/index.php?a=vconf&c=getForm&d=Hght&id_sec=59&id _thesis=1946&r=thesisDesc(дата обращения: 13.04.2011).
2. Реализация подсистемы ETL (Extract, Transform, Load) корпоративного хранилища данных[Электронный ресурс] / Project Experience. — URL: http://www.prj-exp.ru/dwh/structure_of_etl_process.php(дата обращения: 13.04.2011).
3. Полубояров. В.В. Использование MS SQL Server Analysis Services 2008 для построения хранилищ данных . — Интуит. — 2010. — 487с.
4. Борисов Д.Н. Корпоративные информационные системы. — Воронеж: Издательско-полиграфический центр Воронежского государственного университета, 2007. — с. 99.
5. Акимов А.А., Богатырев В. Е., Финогеев А. Г. Системы поддержки принятия решений на базе беспроводных сенсорных сетей с использованием интеллектуального анализа данных Надежность и качество: труды Международного симпозиума. — Пенза, 2010. — Т. 1. — с. 225-229.
6. Львов В.К. Создание систем поддержки принятия решений на основе хранилищ данных // Системы управления базами данных, 1997. — №3. — с. 30-40.
7. Бершадский А.М. , Бурукина И.П., Акимов А. А. Информационная среда мониторинга деятельности кафедры // Материалы IV Международной научно-
практической конференции «Информационная среда вуза XXI века». -Петрозаводск, 2010. — с.47-50.
8. Бершадский А.М. , Бурукина И.П. Информационная система кафедрального документооборота // Телематика'2009: Труды XVI Всероссийской научно-методической конференции, т. 1. — СПб.: СПбГУ ИТМО, 2009. — С.149-150.
9. Бершадский А.М. , Бурукина И.П., Акимов А.А Мониторинг деятельности кафедры // Сборник статей V Международной научнотехнической конференции «Аналитические и численные методы моделирования естественно-научных и социальных проблем» . — Пенза, Изд-во Приволжский Дом знаний, 2010. — с.289-291.
10. Гамма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Р. Хелм, Р. Джонсон, Дж. Влиссидес. — СПб.: Питер, 2007.
— 366 с.