Принципы построения мультиагентной системы аналитической отчетности удаленного web-ресурса на основе технологии OLAP

УДК 519.72

ПРИНЦИПЫ ПОСТРОЕНИЯ МУЛЬТИАГЕНТНОЙ СИСТЕМЫ АНАЛИТИЧЕСКОЙ ОТЧЕТНОСТИ УДАЛЕННОГО WEB-РЕСУРСА НА ОСНОВЕ ТЕХНОЛОГИИ OLAP С.Е. Ландсберг, А.А. Хованских

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

Ключевые слова: система, технология, web-ресурс, хранилище данных, гиперкуб

Разработка управленческих решений попадает в разряд областей, наиболее сложно поддающихся автоматизации. Однако сегодня имеется возможность оказать помощь управленцу в разработке решений и, самое главное, значительно ускорить сам процесс разработки решений, их отбора и принятия. Для этого можно использовать технологию OLAP.

OLAP (On-Line Analytical Processing) -технология оперативной аналитической обработки данных, использующая методы и средства для сбора, хранения и анализа многомерных данных в целях поддержки процессов принятия решений [1]. Основное назначение OLAP-систем - поддержка аналитической деятельности, произвольных запросов пользова-телей-аналитиков.

Исторически сложилось так, что решения по автоматизации оперативной деятельности наиболее развиты. Речь идет о системах транзакционной обработки данных (OLTP), проще называемых оперативными системами. Эти системы обеспечивают регистрацию некоторых фактов, их непродолжительное хранение и сохранение в архивах.

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

Ландсберг Сергей Евгеньевич - ВГТУ, д-р техн. наук, профессор, e-mail: LSE51@mail.ru Хованских Александр Анатольевич - ВГТУ, аспирант, e-mail: alex-nat_7@mail.ru

обращается к специалисту информационного отдела и ставит перед ним соответствующую задачу. Затем специалист строит запрос к ОЬТР -системе, получает электронный отчет, обрабатывает и затем доводит его до руководителя. Конечно, такая схема обеспечивает в какой-то мере поддержку принятия решений, но она имеет низкую эффективность и огромное число недостатков. Ничтожное количество данных используется для поддержки критически важных решений.

В процессе принятия решений пользователь генерирует некоторые гипотезы. Для превращения этих гипотез в законченные решения, они должны быть проверены. Проверка гипотез осуществляется на основании информации об анализируемой предметной области. Обычно наиболее удобным способом представления такой информации для человека является зависимость между некоторыми параметрами (например, зависимость объема продаж от региона, времени, категории товара и т.д.). Вообще в процессе анализа данных необходимо строить зависимости между различными параметрами, число которых может варьироваться в широких пределах. Традиционные системы обработки данных не могут в полной мере удовлетворять вышеизложенным требованиям, поэтому ОЬАР-технологии как нельзя лучше подходят для решения задач поддержки принятия решений.

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

количественно характеризующие анализируемые данные. Ребрами такого гиперкуба являются измерения, а ячейками - факты.

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

Программные продукты, базирующиеся на ОЬАР-технологиях [2], относятся к отдельному классу программного обеспечения, и характеризуются общими принципами построения:

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

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

3. Еще одной важной особенностью ОЬАР-анализа является синхронная графическая иллюстрация в соответствии с динамической таблицей. После выполнения любой ОЬАР-операции данные пересчитываются, а график перерисовывается.

Зачастую во многих странах создаются специальныеинтенет-порталы, предоставляющие различные информационно-статис-

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

личных программных инструментариев, в том числе и с помощью OLAP-продуктов.

В свете роста числа онлайн-ресурсов, публикующих открытые данные, ценность умения извлекать из них необходимую информацию многократно повышается. Приведём небольшой пример. Допустим, нам необходимо составить набор тематических карт, отражающих результаты Выборов Президента Российской Федерации 2012 [4]. Исходные данные можно получить на специальном сайте. Однако непосредственно использовать данные, предоставляемые на web-ресурсе в предложенном на виде, очень сложно, а так же это усложняется тем, что данные по разным регионам расположены на разных страницах. Гораздо удобнее было бы, чтобы вся эта информация была представлена, например, в виде одного или нескольких структурированных CSV или XML-файлов (в идеале, конечно, было бы иметь еще и некоторый API, позволяющий выполнять запросы к таким ресурсам), однако зачастую формирование подобных файлов отдаётся на откуп конечному пользователю. Именно проблеме создания таких агрегированных наборов данных посвящена данная статья.

Таким образом, возникает необходимость в автоматизированной поддержке процесса извлечения и накопления статистических данных с удаленных web-ресурсов и проведения OLAP-анализа данных для принятия решений.

Такие системы отчетности можно строить методами объектно-ориентированного программмирования (ООП) и путем применения интеллектуальных агентов.

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

Необходимым условием для проведения и составления аналитической отчетности web-ресурса является потребность пользователя в отдельном просмотре и анализе определенной информации, которую предоставляет web-

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

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

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

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

Процесс функционирования системы аналитической отчетности удаленного web-ресурса должен содержать следующую основную последовательность действий:

- извлечение информации из исходного web-ресурса;

- структурирование и дополнительная обработка данных, с целью повышения качества информации (очистка, фильтрация, согласование, и т.д.);

- загрузка подготовленных данных в хранилище данных;

- обновление OLAP-кубов, построенных на основе полученного хранилища данных.

Для построения системы аналитической отчетности необходимо создать хранилище

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

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

В настоящее время существуют две основные схемы реализации многомерного представления данных в виде реляционных таблиц: «звезда» и «снежинка». Основными составляющими таких схем являются денормализо-ванная таблица фактов (fact table) и множество таблиц измерений (dimension tables). Таблица фактов содержит одну строку для каждого факта в кубе. Для каждого измерения отводится отдельный столбец, содержащий значение параметра для конкретного факта, а также столбец для каждого измерения, которое содержит внешний ключ, ссылающийся на таблицу измерений для конкретного измерения.

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

Первый этап начинается с парсинга web-ресурса. Разделим парсинг на две подзадачи: собственно сам парсинг - поиск данных, которые нам интересны на страницах, и осмысливание полученных данных.

Система отчетности должна содержать парсер «постоянной» информации, условно переменной информации и модуль структурирования полученных данных. Парсер «постоянной» информации будет разбирать страницы, и извлекать из них необходимую инфор-

мацию. Парсер условно переменной информации будет запускаться часто и автоматически, будет разбирать страницы сайта для поиска и обновления этой информации в хранилище данных. Модуль структурирования полученных данных будет запускаться после парсера «постоянной» информации и разбирать и структурировать полученные данные. Методы парсинга должны включать в себя чтение HTML, конвертацию HTML-кода в XML, построение DOM-дерева, XPATH-запросы, Linq to Objects (via LINQ to Xml) и XSLT.

Второй этап подразумевает проведение OLAP-обработки данных, т.е. подготовку суммарной (агрегированной) информации на основе отобранного массива данных, структурированных по многомерному принципу.

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

Для программной реализации мультиа-гентных систем аналитической отчетности web-ресурса можно разработать собственные библиотеки, или использовать существующие специальные библиотеки и платформы для разработки мультиагентных систем, парсинга web-ресурсов (например, SgmlReader или Html Agility Pack), OLAP-обработки (например, RanetOlap), функционирующие под управлением платформы Microsoft NET.Framework и т.д.

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

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

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

Пользователь

OLAP-куб

Общая схема организации работы системы аналитической отчетности web-ресурса.

Литература

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

2. Федоров А., Елманова H. Введение в OLAP. Часть 1. Основы OLAP. // Компьютер пресс, №4, 2001. С. 145-148.

3. Федоров А., Елманова H. Введение в OLAP. Часть 2. Хранилища данных. // Компьютер пресс, №4, 2001. С. 145-148.

4. Парсинг сайтов с помощью фреймворка Scrapy. Электронный ресурс http://gis-lab.info/qa/scrapy. html

5. S. Chaudhuri and LT. Dayal, "An Overview of Data Warehousing and OLAP Technology" in SIGMOD Record, Vol. 26, No. 1, 1997, pp. 65-74.

6. Ландсберг, С. Е. Некоторые аспекты проектирования мультиагентных систем с использованием языка UML [Текст] / С. Е. Ландсберг, А. А. Хованских // Вестник Воронежского государственного технического университета. -2012. - Т. 8. - № 9. - С. 4-8.

5. Подвальный, С. Л. Многоальтернативные системы: обзор и классификация [Текст] / С. Л. Подвальный // Системы управления и информационные технологии. -. 2012. - Т. 48. - № 2. - С. 4-13.

Воронежский государственный технический университет

PRINCIPLES OF CREATION OF MULTIAGENT SYSTEM ANALYTICAL THE REPORTING OF THE REMOTE WEB-RESOURCE ON THE BASIS OF THE OLAP TECHNOLOGY S.E. Landsberg, A.A. Khovanskikh

The article deals with the support of decision-making, the concept of OLAP-technology, parsing, lists the types of OLAP-products are general guidelines, basic principles and main stages of the system, as well as the general scheme of the organization of the analytical accounting system web-resource based technology OLAP

Key words: system, technology, web-resource, data storage, hypercube