Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 828

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
44.99 Mб
Скачать

Анализ полученных данных показывает, что время обработки запросов для ХД в 1НФ гораздо больше, чем время обработки запросов для ХД в3НФ. Таким образом, можно сделать вывод о том, что оптимальной структурой ХД для подсистемы исследования ИНС является структура ,ХДприведенная к 3НФ, все поля которой проиндексированы.

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

Загрузочная секция (ЗС) является буфером, предназначенным для временного хранения данных перед их загрузкой в ХД. В технологическом плане она представляет собой набор временных промежуточных таблиц, в которых находятся данные в необработанном формате. В интересах оперативной пересылки данных для их хранения использован внутренний формат системы. Данные, содержащиеся в ЗС, становятся доступными для пользователя, после их пересылки в ХД. Информация в ЗС поступает из различных источников(локальная машина, ЛВС, интернет-сайты, унаследованные системы, файлы, архивы).

Для сопряжения БД унаследованных систем «DB2» с текущей СУБД «Access 2007» использовалась специальная служба словаря информационных ресур-

сов (Information Resource Dictionary System — IRDS). Она обеспечивала стандар-

тизацию интерфейсов словарей данных двух СУБД для достижения большей доступности и упрощения их совместного функционирования. Данная служба входит в один из стандартов Международной организации стандартизации

(International Organization for Standardization — ISO) [44, 196]. Она включает оп-

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

В схематичном виде реализация данного подхода представлена на рис. 5.3. С помощью службыIRDS информация, хранимая в IRDSсовместимом

словаре данных СУБД «DB2», передавалась в IRDS-совместимый словарь данных СУБД «Access 2007» или направлялась приложению системыDB2. Крометого, данная служба обеспечила возможность расширения словаря данных. Если у пользователя возникала задача сохранения определения нового типа информации в каком-то инструменте (например, инициализации новых отчетов в новой СУБД), то система IRDS в данной СУБД обеспечивала соответствующее расширение для включения этой информации. Служба IRDS построена на основе интерфейса служб, состоящего из набора функций, доступного для вызова с целью получения доступа к словарю данных. Интерфейс служб может вызываться со стороны таких типов пользовательских интерфейсов, как:

-графический интерфейс;

-командный язык;

181

 

 

 

 

Словарь

 

 

 

 

данных

 

 

 

 

 

Графический

 

 

 

 

интерфейс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Интерфейс

 

 

 

БД «DB2»

командного

 

 

 

 

языка

 

Интерфейс

 

 

 

 

cлужб

 

 

 

 

 

Интерфейс

 

IRDS

 

БД «Access»

экспорта/

 

 

 

 

 

 

 

импорта

 

 

 

 

Пользовательские приложения

Словарь

данных

Рис. 5.3. Структурная схема обеспечения сопряжения различных типов БД службой IRDS

-файлы экспорта/импорта;

-прикладные программы.

В демонстрационном варианте ПК НПВР используется СУБДMicrosoft Access 2007 в совокупности с языком запросовQBE (Query-by-Example — язык запросов по образцу). В языке QBE используется визуальный подход для организации доступа к информации в базе данных, основанный на применении шаблонов запросов [55]. Применение QBE осуществляется путем задания образцов значений в шаблоне запроса, предусматривающем такой тип доступа к базе данных, который требуется в данный момент, например получение ответа на некоторый вопрос. Средства поддержки языка QBE в СУБД Microsoft Access просты в эксплуатации и в то же время имеют достаточно широкий спектр возможностей -ра боты с данными. В ПК НПВР средства языкаQBE используются для ввода запросов к информации, сохраняемой в одной или нескольких таблицах, а также для определения набора полей, которые должны присутствовать в результирующей таблице.

Учет особенностей технологии хранения данных позволил при выборе инструмента использования ХД, отдать предпочтение витрине данных. Витрина данных (ВД) обеспечивает работу с актуальными данными. Она представляет собой интегрированный, статичный, поддерживающий хронологию набор данных из разных источников, используемый для поддержки принятия инвестиционных решений. ВД базируется на нормализованной реляционной модели хранения данных. В состав ПВХД входит несколько витрин данных(поддержки НМШ, исследования ИНС, терминологического поиска, OLAP приложений). Тематические ВД (поддержки НМШ, исследования ИНС, терминологического поиска) реализованы в настоящей версии ПК НПВР. Применение нескольких ВД обусловлено необхо-

182

димостью поддержки различных форматов данных в соотвествующих приложениях. ВД оптимизированы под специфические требования соотвествующих приложений. ВД OLAP (on-line analytical processing - оперативной аналитической обработки) приложений являются перспективными и в данной версии ПК НПВР не используются.

Модуль накопления и очистки данных обеспечивает проверку данных, поступающих в хранилище из различных источников. Необходимость этих действий обусловлена причиной существования данных с ошибками(«замусоренных» данных), возникающих в результате ввода данных операторами ПК, различных форматов используемых словарей и отсутствием, системы контроля вводимых данных.

Модуль контроля качества данных предназначен для сохранения консистентности, целостности и непротиворечивости последних, а также устранения их избыточности.

Модуль оптимизации ВД и доступа к данным предназначен для повышения оперативности реализации запросов пользователя и размещения актуальных данных на ВД. С целью повышения оперативности реализации запросов пользователя, был пересмотрен стандарный метод индексирования записей в БД и разработан модифицированный алгоритм обобщенного индексного дерева. Индексирование данных призвано ускорить все операции, связанные с поиском соответствующей информации [181]. В процессе реализации индексирования выявилось некоторое противоречие, суть которого заключалась в следующем. Если поиск удаляемых (корректируемых) записей осуществлялся по условиям, наложенным на индексированный столбец, то имело место ускорение данного процесса. Однако, в случае добавления записи, происходило наоборот его замедление. Поскольку происходило выполнение нескольких операцийдобавления информации в файл данных и модификации индексов. Поэтому увеличение индексов в таблице привело к замедлению процесса модификации. Для разрешения данного противоречия была использована идея применения при индексировании Р*-дерева. В основном, Р*-деревья используются при индексировании пространственных объектов. Исследовались классический метод индексирования пространственных объектов и алгоритм обобщенного индексного дерева [35]. Кроме того был разработан модифицированный алгоритм обобщенного индексного дерева. Его суть заключалась в дополнении основной функции «деления узла» поиском непересекающихся множеств и процедурой деления узла без пересечений. Для просмотра всех записей находящихся в узле строились списки разбиения ребер охватывающего прямоугольника без пересечений. После чего, в главном цикле функции «деления узла», проводился анализ возможных разбиений, что обеспечило алгоритмическую сходимость метода. В случае нескольких вариантов разбиения узла без пересечений выбирался тот, при котором площадь охватывающих прямоугольников была минимальной. Если деление без пересечений было невозможным, выполнялся уже существующий алгоритм. В результате, к существующему алгоритму индексирования Р*-дерева был добавлен ряд дополнительных процедур, часть которых реа-

183

лизованна с использованием стандартной библиотеки Delphi 7.0.

Врезультате проведенных экспериментов установлено[78], что по временным параметрам реализация классических Р-деревьев уступает реализациям обобщенных Р-деревьев достаточно весомо(более 26%). Поэтому в дальнейшем сравнивались метод обобщенного индексного дерева и модифицированный алгоритм обобщенного индексного дерева. В ходе проведенных экспериментов, были получены зависимости производительности индексных структур этих типов от их внутренней архитектуры.

Были созданы три группы типов объектов: малые, большие и объекты случайных размеров. Для каждой из групп были сформированы случайным образом множества, состоящие из 5, 10, 100, 1000, 10000, 1000000 объектов соответственно. Всего исследовалось 50 пакетов экспериментальных данных.

Входе проведения каждого эксперимента выполнялась следующая последовательность действий:

-добавление в БД единичного множества объектов;

-задание количества запросов, связанных с пересечением некоторых запи-

сей;

-реализация сформированных запросов;

-хронометраж времени реализации всех запросов и определение среднего времени реализации запроса;

-формирование выходных результатов.

В таблице 5.3 представлены значения длительностей (в ms) реализаций запросов, для различных методов формирования и протяженностей объектов.

Таблица 5.3 Экспериментальные значения длительностей (ms) реализаций запросов, для

различных алгоритмов их формирования и протяженности объектов

Количество

Алгоритм обобщен-

Модифицированный

Временной

записей в таблице

ного индексного

алгоритм обобщен-

выигрыш, %

 

дерева

ного индексного

 

 

 

дерева

 

5

4,34

4,12

5,3

10

35,16

33,08

6,3

100

201,53

175,2

15

1000

408,51

317,14

28,8

10000

3152,33

2178,21

44,7

1000000

8677,12

5405,59

60,5

Анализ полученных результатов показывает, что модифицированный алгоритм обобщенного индексного дерева превосходит по быстродействию существующий в среднем более чем на25%. В случае увеличения количества записей в таблице, производительность предложенного алгоритма возрастает в среднем более чем на 50%, что актуально для БД данной предметной области.

Это позволяет сделать вывод о перспективности его использования.

184

В модуле оптимизации ВД и доступа к данным реализован алгоритм взаимообмена данными между ВД и ХД, названный алгоритмом оптимизации доступа, который обеспечивает:

-эффективный обмен данными между ХД и ВД;

-быстрый доступ к актуальным данным;

-долговременное гарантированное хранение наборов данных включенных в ХД.

Блок-схема алгоритма оптимизации доступа, представлена на рис. 5.4.

 

1

 

 

 

 

 

 

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод исход-

 

 

 

 

 

 

 

 

ных данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

3

 

 

 

 

 

 

 

 

Заполнена ли

Да

 

 

Архивация и перемеще-

 

 

 

 

 

 

 

 

 

 

 

ние данных из ВД в ХД

 

 

 

 

ВД?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

5

 

Удовлетворен

Нет

 

 

Перемещение и распа-

 

 

 

 

 

ковка запрашиваемых

 

 

 

ли запрос?

 

 

 

 

 

 

 

 

 

 

данных из ХД в ВД

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

Сохранение оперативных данных

8

Конец

Рис. 5.4. Блок-схема алгоритма оптимизации доступа

Блоки 1,8 используются для пуска и остановки процесса обмена данными. В блоке 2 реализован ввод исходных данных, таких как значение верхне-

го уровня объема данных ВД и значение нижнего уровня объема данных ВД. Запуск и остановка процедуры перемещения данных реализуется в соответствии со следующими критериями:

-система перемещения данных из ВД в ХД запускается, если общий объем хранимых в ВД данных превышает верхний допустимый уровень;

-система перемещения данных из ВД в ХД прекращает работу, когда общий объем хранимых в ВД данных становится меньшим, чем нижний допустимый уровень.

Блок 3 используется для проверки состояния загруженности ВД. Если ВД не загружено, то осуществляется переход к блоку 5. В противном случае управление переходит к блоку 4.

Блок 4 реализует архивацию и перемещение данных из ВД в ХД.

185

В блоке 5 реализован поиск данных, запрашиваемых пользователем. Если они содержатся в ХД, то осуществляется их непосредственная загрузка и дальнейшая работа с ними. В случае их размещения в ХД управление передается блоку 6.

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

Блок 7 реализует запись полученных оперативных данных в ВД.

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

Для оценки вероятности поступления запроса использовано предположение о том, что запросы формируют поток событий, подчиняющийся статистике простого пуассоновского потока [1]. В рамках данного предположения интенсивность потока (количества событий в единицу времени) запросов на i- й набор данных определяется в соответствии со следующей эмпирической оценкой:

i

 

 

N i

 

l

=

 

 

,

(5.1)

ti

- ti

 

 

N

O

 

где Ni - полное количество запросов на i - й набор данных, tOi

- время по-

ступления данных в архив, tNi - время поступления Ni -го запроса. Вероятность поступления запроса на i - й набор данных при интенсивности потока заказов li

в момент времени t > tNi

определяется выражением (вероятность единичного со-

бытия на интервале t - tNi

> 0 ) [1]

 

 

pi = 1 - exp{- li (t - tNi )}.

(5.2)

Полученные оценки определяют ранг набора данных. Для множества из

K наборов данных ранжирование сводится к сортировке данных в соответст-

вии с правилом:

pi < pj , при i<j для любых i Î1, K ; j Î1, K .

(5.3)

 

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

Предложенный подход реализован в виде набора процедур, обеспечивающих:

186

1)контроль ресурсов ВД;

2)расчет ранга популярности данных;

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

5.2. Архивация данных в ПВХД

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

Методы сжатия данных

Универсальные методы (без потерь информации)

Специальные методы (с потерями информации)

Посимвольное

 

 

Кодирование

 

 

Для графики

 

 

кодирование

 

 

цепочек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Статистиче-

 

 

Кодирование

 

 

«Блочное»

 

 

ское кодиро-

 

 

однородных

 

 

сжатие

 

 

 

вание

 

 

 

 

 

 

(по Хаффма-

 

 

повторов

 

 

(JPEG)

 

 

 

ну)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Кодирование

 

 

«Волновое»

 

 

 

 

 

 

разнородных

 

 

сжатие

 

 

 

 

 

 

повторов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(по Лемпелю-

 

 

Фрактальное

 

 

 

 

 

 

Зиву)

 

 

 

 

 

 

 

 

 

 

сжатие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 5.5. Классификация методов сжатия данных

 

 

 

 

 

 

 

 

 

 

 

Подробное обоснование методов архивации данных приведено в [153]. Анализ эффективности архиваторов, базирующихся на методах сжатия

данных, представленных на рис. 5.5 и используемых на практике, показал следующее. Оценивались следующие архиваторы[18]: 7-Zip; АСЕ; ARJ; ARJZ; CABARC; Imp; JAR; PKZIP; RAR; WinZip; 1Zip.

Данные архиваторы являются или одними из самых эффективных в классе, применяющих методы ЗиваЛемпела, или пользуются популярностью, или оказали существенное влияние на развитие словарных алгоритмов, или интересны с точки зрения нескольких указанных критериев.

В табл. 5.4 представлены результаты сравнения ряда архиваторов по степени сжатия файлов, времени кодирования и декодирования на специальном наборе исходных данных CalgCC [18].

187

Таблица 5.4 Сравнительная характеристика архиваторов по степени сжатия файлов,

времени кодирования и декодирования специального набора

 

ARJ

PKZIP

ACE

RAR

CABARC

7-Zip

Bib

3.08

3.16

3.38

3.39

3.45

3.62

Book1

2.41

2.46

2.78

2.80

2.91

2.94

Book2

2.90

2.95

3.36

3.39

3.51

3.59

Geo

1.48

1.49

1.56

1.53

1.70

1.89

News

2.56

2.61

3.00

3.00

3.07

3.16

Obj1

2.06

2.07

2.19

2.18

2.20

2.26

Obj2

3.01

3.04

3.39

3.38

3.54

3.96

Paper1

2.84

2.85

2.91

2.93

2.99

3.07

Paper2

2.74

2.77

2.86

2.88

2.95

3.01

Pic

9.30

9.76

10.53

10.39

10.67

11.76

Progc

2.93

2.94

3.00

3.01

3.04

3.15

Progl

4.35

4.42

4.49

4.55

4.62

4.76

Progp

4.32

4.37

4.55

4.57

4.62

4.73

Trans

4.65

4.79

5.19

5.23

5.30

5.56

 

 

 

 

 

 

 

Итого

3.47

3.55

3.80

3.80

3.90

4.10

Ткод

2.60

1.68

2.73

2.55

3.77

1.0

Тдек

2.5

1.90

2.80

2.97

3.98

1.0

Коэффициент сжатия оценивался с помощью набора файлов, получивше-

го название Calgary Compression Corpus2 (CalgCC). В состав CalgCC входят файлы различных типов данных. Набор состоит из 14 файлов, большая часть которых представляет собой тексты на английском языке или языках программирования [18].

При проведении исследований применялся тот алгоритм, который обеспечивал наилучшее сжатие. Следует отметить, что 7-Zip использует специальные методы препроцессинга нетекстовых данных, "отключить" которые не удалось, что до некоторой степени исказило картину. Тем не менее, преимущество этого архиватора на данном тестовом наборе несомненно. В случае WinRAR и АСЕ режим мультимедийной компрессии намеренно не включался.

Полученные результаты показали, что скорость сжатия ARJ и PKZIP была примерно в 4,5 раза выше, чем у RAR и АСЕ, которые, в свою очередь, былибыстрее CABARC и 7-Zip приблизительно на 30 %. Размер словаря в ARJ и PKZIP в десятки раз меньше, чем в остальных программах.

Для Ткод и Тдек за единицу принято время сжатия всегоCalgCC архиватором 7-Zip. Следует отметить, что единица соответствует скорости кодирования 2 Гб/с для ПК с процессором типаPentium IV 2,8 ГГц, объеме оперативной памяти 1ГГц, частоте шины 800 МГц, объеме жесткого диска 160 ГГб.

Дальнейшая оценка возможностей архиваторов с целью выбора наиболее

188

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

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

Среди исследуемых архиваторов рассматривались PKZIP, RAR и 7-Zip. В настоящее время они находят наибольшее распространение и являются представителями определенных диапазонов значений коэффициентов сжатия данных (табл. 5.4).

В табл. 5.5 приведены результаты сравнения архиваторов по степени сжатия файлов на реальном наборе данных.

Таблица 5.5 Результаты сравнения архиваторов по степени сжатия файлов

на реальном наборе данных

 

PKZIP

RAR

7-Zip

I1.txt

2.94

3.15

3.55

I2.txt

2.46

3.08

3.44

I3.txt

2.22

2.93

3.18

I4.txt

2.12

2.81

2.80

I5.txt

2.08

2.66

3.40

R1.doc

2.01

2.11

2.18

R2.doc

2.00

2.05

2.16

R3.doc

2.05

2.07

2.22

R4.doc

2.00

2.01

2.15

R5.doc

1.92

2.05

2.31

F1.bmp

2.94

3.01

3.15

F2.bmp

4.42

4.55

4.76

F3.bmp

4.37

4.57

4.73

F4.bmp

4.79

5.23

5.56

G1.jpeg

4.01

4.25

4.75

G1.jpeg

4.17

4.46

4.98

G1.jpeg

4.23

4.29

5.17

G1.jpeg

5.01

5.59

5.97

Итого

3.09

3.38

3.69

Ткод

1.60

1.12

2.55

Тдек

1.8

1.25

2.68

189

Набор включал 18 файлов фиксированного размера 1639139 байт. Анализ полученных данных показывает, что они незначительно отличаются от данных, приведенных в табл. 5.4 (на десятые доличто повышает степень доверия к полученным результатам.

Лучшие характеристики продемонстрировал архиватор 7-Zip. Ему незначительно уступает RAR.

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

По результатам проведенных экспериментов, для архивации данных при пересылке последних из оперативного хранилища в долговременное хранилище, был выбран алгоритм 7-Zip.

Важное значение для СППИР имеет ее надежность, одним из элементов обеспечения которой является резервирование.

5.3. Резервирование данных в ПВХД

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

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

Основными проблемами при резервном копировании являются:

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

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

-невозможность резервного копирования файлов, которые открыты и активно используются приложениями.

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

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

190