1. «НЕДЕЛЯ НАУКИ СПбГПУ»
3-8 декабря 2012 года
Облачная система
интеллектуального анализа данных
Вязьмина А.Н.*, Жилин С.И.*,
Киргизов С.С.**, Ледомский П.А.*,
Мусиенко Н.П.*, Нуждин П.В.*,
Пятков В.Д.*
* Алтайский Государственный Университет, Барнаул, Россия
** Университет Пьера и Мари Кюри, Париж, Франция
Декабрь 2012г. Санкт-Петербург
2. Формулировка проблемы
• Потребность в интеллектуальной обработке
данных:
– бизнес аналитика;
– финансовая аналитика;
– наука (медицина, гномика, биология).
• Аппаратная и программная поддержка:
– наличие ресурсов у конкретного аналитика;
– обработка больших объёмов данных;
– обмен результатами анализа.
2
3. Интерфейс и потоковая модель
Потоковая модель представления сценария используется
в продуктах: RapidMiner, KNIME, Weka, Taverna и др.
3
4. Функциональные требования
• Проектирования сценария анализа данных в
виде графа.
• Параллельное вычисление сценария.
• Интеграции библиотек решения задач
большого объёма данных.
• Групповая работа.
• Расширение функционала сервиса
пользовательскими
программами
обработки данных.
5
5. Функциональные требования
• Обработка данных на любом оборудовании
из любой точки мира.
Service
• Хранение и обработка данных
предоставленных пользователем
6
6. Устройство
HTTP
Client side (Rest) Core
HTML5
HTTP Calculation
Strorage
(Rest) Manager
Calculation Server
Hadoop
Calculation
Node
7
9. Подсистема вычисления
Calculation Server
Java Вычислители Python Вычислители
Sockets
Scala Вычислители
R Вычислители
Strorage
10
10. Хранение данных
• Бинарные данные с возможностью
произвольного доступа.
• Табличные данные с объявленной
структурой с возможностью быстрого
доступа к записи по порядковому номеру.
Binary Data Binary Data
(Spec)
FS
Data Table
Binary Data
(Data Table)
11
12. Расширение функциональности
CustomNode.java ModuleMetaData.xml
<root>
public class CustomNode extends TemplateLocal { <mainClass>
@Override my.namespace.CustomNode
public Properties makeProperties() {…} </mainClass>
@Override </root>
public Ports makePorts() {…}
@Override
public TaskPropertyNotValidEx validateProperty(name, property) {…}
@Override
public TaskConnectionNotValidEx validateConnection(connection, workflow) {…}
@Override
public Status calculate(Properties properties,
Map<String, DataReadable> dataByProperty,
Map<String, DataTableReadable> inputData,
Map<String, ModelReadable> inputModel,
Map<String, DataTableWritable> outputData,
Map<String, ModelWritable> outputModel,
StatusCalculating status) {…}
} 13
13. Результаты и перспективы
• Поддержка любых устройств в любой точке
мира.
• Открытое API для доступа к сервису.
• Предоставление доступа к данным любому
пользователю.
• Простое потоковое представление сценария.
• Возможность расширения функциональными
модулями на любом популярном языке (Java,
R, Python).
14