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

книги2 / монография 31

.pdf
Скачиваний:
0
Добавлен:
10.05.2024
Размер:
3.71 Mб
Скачать

­технологическая матрица смежности;

­множество допустимых последовательностей выполнения процедур;

­характеристики процедур и атрибутов фрагментов таблиц.

4.2.3.Этап 3. Размещение фрагментов таблиц по узлам сети

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

Формальные модели и методы анализа предметных областей пользователей детально представлены в цитированной выше литературе, поэтому более подробно рассмотрим работы второго и третьего этапа процесса проектирования и размещения фрагментов таблиц в узлах РСОД.

4.3.Этап синтеза программных модулей и логической структуры фрагментов таблиц

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

 

= {

,

, … ,

 

, … ,

 

}

– множество процедур

 

1

2

 

 

 

 

обработки данных;

= { 1, 2, … , , … , } – множество информационных элементов (атрибутов записей фрагментов), обрабатываемых процедурами из множества A;

= ‖ ‖ – технологическая матрица смежности. Матрица отражает взаимосвязи атрибутов записей фрагментов таблиц с процедурами их обработки. В этой матрице:

99

 

 

+1, если − й атрибут является исходным

 

 

для − й процедуры;

 

=

−1, если − й атрибут является результатом

 

 

работы − й процедуры;

 

 

0, если − й атрибут не используется

{в − й процедуре.

= ‖ ‖ и з = ‖ з – соответственно матрицы взаимосвязей атрибутов записей фрагментов с процедурами при считывании и записи, где

=

1, если − й атрибут считывается (записывается)

− й процедурой

{0 в противном случае, т. е. не используется

в− й процедуре

( ) – множество допустимых последовательностей исполнения процедур при обработке запросов, которое определено на множестве процедур A.

При этом:

( ) – это конкретная последовательность выполнения процедур обработки данных.

Вдополнение к множеству ( ) определим в виде матрицы P множество всех возможных последовательностей выполнения процедур:

= ‖ ‖, где

1, если процедура может быть выполнена − й

в заданной последовательности реализации процедур

=при обработке данных,

{0, в противном случае

Также определим следующие усредненные характеристики серверов сети:

­– среднее время считывания v-го программного модуля из внешней памяти в оперативную память сервера;

100

­ – это среднее время считывания f-го фрагмента данных из

внешней памяти в оперативную память сервера;

­ з - среднее время записи результатов обработки данных в f-

йфрагмент;

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

памяти. Поэтому для величин (

, , з ) будем использовать

 

 

 

усредненные оценки на множестве всех серверов сети.

Для оценки значений перечисленных выше величин можно использовать методы, представленные в работах [43–45].

Введем следующие переменные:

 

 

 

 

 

 

 

 

1, если ∑ (з)

≥ 1,

 

 

 

 

 

 

(з)

=

=1

 

 

 

 

 

 

 

0, если ∑ (з) ≥ 0;

{=1

 

 

 

 

 

 

 

 

1, если ∑ (з)

≥ 1,

 

 

 

 

 

 

(з)

=

=1

 

 

 

 

 

 

 

0, если ∑ (з) ≥ 0.

{=1

Где:

1, если − я по порядку выполнения процедура

= {

включается в состав − го модуля,

 

 

 

0, в противном случае.

 

 

1, если − й атрибут включается в состав

 

= {

̅̅̅̅̅

− го фрагмента = 1, ; ≤ ,

0, в противном случае

101

Определенные выше переменные (з)и

(з)

служат для

 

 

 

формализации взаимосвязи программных модулей с атрибутами и фрагментами таблиц при считывании/записи данных в процессе обмена с внешней памятью серверов.

С использованием определенных выше переменных можно сформулировать задачи поиска оптимальной структуры фрагментов таблиц для заданной предметной области и множества запросов пользователей РСОД [43–45].

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

{∑

(1

) [

+ ∑( + з з)]} (4.1)

 

 

 

 

 

+1,

 

 

 

 

,

=1 =1

 

 

 

=1

 

 

 

 

 

 

 

Сиспользованием следующих ограничений:

­На общее число процедур обработки данных в составе каждого модуля.

 

̅

= 1,2, … , ,

(4.2)

 

≤ ,

 

 

 

 

=1

где ̅ – это максимальное количество процедур, которое может входить в состав одного модуля.

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

 

(4.3)

̅

≤ , = 1,2, … ,

 

 

=1

 

 

102

Здесь ̅ – это максимальное количество атрибутов, обрабатываемых –м модулем.

­На сложность взаимодействия между отдельными модулями

−1

∑ ∑ ∑

̅

(4.4)

≤ ,

 

 

 

=1 =1 = +1

где ̅ – это максимально информационного интерфейса максимальное допустимое число программных модулей.

допустимая мощность между модулями, т.е. переменных, общих для

-На сложность информационного интерфейса между отдельными парами модулей

 

 

,

(4.5)

 

 

 

 

 

=1

Здесь – это максимально допустимое число общих атрибутов фрагментов таблиц, обрабатываемых модулями и

.

-На однократность включения процедур в программные модули.

∑ = 1, = 1,2, … , (4.6)

=1

- На включение отдельных процедур в состав одного модуля

 

+

 

≤ 1

(4.7)

 

 

 

 

(для конкретных процедур и при = 1,2, … , ).

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

(1 − ) = 1,

= 1,2, … ,

(4.8)

 

+1,

 

 

=1

103

- На дублирование атрибутов во фрагментах таблиц.

∑ = , = 1,2, … , (4.9)

=1

Здесь K – допустимая степень дублирования атрибутов в записях фрагментов таблиц.

­ На размер записи каждого фрагмента таблиц.

 

 

(4.10)

≤ ,

= 1,2, … ,

 

 

 

=1

 

 

Здесь N – максимально допустимое число атрибутов в записи фрагмента.

Если существуют затруднения в получении оценок временных характеристик серверов сети, то тогда возможна постановка сформулированной выше задачи по критерию обеспечения минимального числа обращений к внешней памяти серверов при обработке запросов пользователей к данным фрагментов таблиц. Такая задача является вариантом задачи (4.1 6.1) – (4.10 6.10), в котором используется другой критерий оптимизации, а задача при этом имеет следующую формулировку:

min

{∑ ∑ xrv(1 − xr+1,v)[1 + ∑(zvfc + zvfз )]}

(4.11)

(xrvzlf)

=1 =1

=1

 

 

 

При ограничениях (4.2) – (4.10).

Рассмотренные задачи (4.1–4.11) синтеза модульной структуры программного обеспечения и логической структуры вертикальных фрагментов таблиц данных это нелинейные задачи целочисленного программирования комбинаторного типа. Для решения данных задач целесообразно использовать алгоритмы, приведенные в работе [45].

Результатом решения задач (4.1–4.11) являются структуры прикладных модулей и логические структуры фрагментов таблиц

104

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

вузлах системы полученных программных модулей.

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

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

Вчастности, принимаются во внимание такие параметры распределенной системы как:

­топология компьютерной сети, на базе которой функционирует система,

­трафик информационных запросов к данным,

­трафик запросов на модификацию данных,

­затраты на передачу информации между узлами сети,

­затраты на хранение фрагментов данных в узлах сети,

­затраты на обработку запросов в узлах сети с необходимыми данными.

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

В модели предполагается, что известно первоначальное распределение фрагментов таблиц баз данных, используемых в РСОД, и необходимо выполнить перераспределение этих фрагментов для улучшения эффективности работы системы. При

105

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

В качестве критерия оптимальности распределения фрагментов используется минимум затрат на функционирование распределенной системы.

4.5.Формальная модель метода динамического перераспределения фрагментов таблиц

Предполагается, что РСОД использует распределенную базу данных и функционирует на основе компьютерной сети из K узлов:= {1, … … , }. Топология сети представлена взвешенным графом = ( , Г). Заданы длины дуг графа.

Предположим, что компьютерная сеть неоднородная и для нее задана матрица = { } стоимости передачи единицы данных (стоимость связи) между всеми парами узлов сети ,

(, =

̅̅̅̅̅

 

 

 

1, ).

 

 

 

 

 

 

 

 

На основе матрицы , с использованием любого известного

алгоритма

поиска кратчайших путей в

графе, строится матрица

( = { },

̅̅̅̅̅̅

передачу

запросов по

, = 1, ) затрат на

кратчайшим путям между узлами сети.

 

 

Каждый узел

сети характеризуется его

максимальной

 

 

 

 

 

емкостью , т.е. максимально возможным объемом размещенных в узле фрагментов, и ограничением на максимальное количество фрагментов, которые могут быть размещены в узле k.

В результате фрагментирования таблиц РБД получено множество из M фрагментов = {1, … , … , }. Для каждого фрагмента известна его мощность ( ), т.е. количество кортежей во фрагменте, и длина ( ) его кортежей, равная сумме длин атрибутов кортежа.

Размеры (объемы данных) фрагментов вычисляются по формуле:

( ) = ( ) ( )

Длина кортежа ( ) фрагмента m вычисляется как произведение:

106

( ) = ∑

=1

В данной формуле – количество атрибутов в кортеже фрагмента , а – длина i-го атрибута в кортеже этого фрагмента.

Таким образом, размеры (объемы данных) фрагментов:

( ) = ( ) ∑

=1

4.5.1.Параметры и ограничения размещения фрагментов таблиц

Размещение фрагментов таблиц по узлам сети описывается в матрице = { }, в которой:

1, если фрагмент размещен в узле ,= {0, если фрагмент не размещен в узле .

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

При этом в отдельных узлах сети может быть размещен только один экземпляр конкретного фрагмента (используется неизбыточное размещение фрагментов).

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

 

 

 

(4.12)

(

) ≤ ,

1 ≤ ≤

 

 

 

 

=1

 

 

 

Ограничение (6.12) означает, что суммарный объем всех фрагментов, размещенных в узле k, не может превышать емкость этого узла.

107

 

 

(4.13)

≤ ,

1 ≤ ≤

 

 

 

=1

 

 

Ограничение (6.13) гарантирует, что в каждом узле k хранится фрагментов не более, чем заданное максимальное количество фрагментов .

 

 

 

(4.14)

= 1 ,

1 ≤ ≤

 

 

 

 

 

=1

 

 

 

Ограничение (6.14) означает, что каждый фрагмент может быть

распределен только в одном из узлов сети.

 

 

(4.15)

Ограничение (4.15) требует, чтобы найденное распределение фрагментов по узлам обеспечивало среднее время обработки запроса не выше заданного максимального времени.

Стоимость ( , ) (fragment storage costs) хранения фрагмента в узле вычисляется с использованием данных кортежа DSC(k) (data storage cost), элементы которого определяют стоимость хранения единицы данных в узлах сети, и данных кортежа FV с размерами (объемами) фрагментов:

( ,

) = (

) ( ),

̅̅̅̅̅

̅̅̅̅̅̅

= 1, , = 1,

 

 

 

 

 

4.5.2.Параметры запросов к фрагментам и процессов их обработки в узлах сети

Вотдельных узлах РСОД выполняется различное (один или несколько) количество прикладных процессов (пользовательских задач), каждый из которых принадлежит одному из P типов

множества = {

, = 1, … , } всех процессов. Каждый

 

 

прикладной процесс в ходе работы генерирует в единицу времени некоторое количество информационных запросов (SELECT) и запросов на модификацию (UPDATE) данных в одном или нескольких фрагментов таблиц.

108

Соседние файлы в папке книги2