Диссертация (Разработка архитектуры, алгоритмов и принципов функционирования распределенного вычислительного комплекса информационных сервисов электронного обучения), страница 12
Описание файла
Файл "Диссертация" внутри архива находится в папке "Разработка архитектуры, алгоритмов и принципов функционирования распределенного вычислительного комплекса информационных сервисов электронного обучения". PDF-файл из архива "Разработка архитектуры, алгоритмов и принципов функционирования распределенного вычислительного комплекса информационных сервисов электронного обучения", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "диссертации и авторефераты" в общих файлах, а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 12 страницы из PDF
1 создается дубликат записи в таблице «ВнешниеКлючи_3»;• в п. 2 создается массив Array, в который будут вноситься все изменения первичной записи. Наоснове Array будет изменяться/создаваться вторичная запись в соответствующем ОЦВК.Элемент массива Array состоит из следующих обязательных элементов: ID – идентификатор первичной записи; AC_1 – код ОЦВК, содержащего первичную запись; AC_2 – код ОЦВК, содержащего вторичную запись; Tables_List – это массив данных для вторичных записей. Элемент Tables_List состоит изнаименования таблицы («ПоискВнешКлючи_33» и/или «ПоискСвойства_22») и списка еёатрибутов со значениями.
На основе этого массива либо будет создана вторичная запись,либо будут внесены в неё изменения;• в п. 3 проверяется наличие изменения кода ОЦВК в «КодыОрганизаций_3_1» по какой-либоизмененной ссылке в «ВнешниеКлючи_3». Если такое обнаружено, то создается дубликатзаписи в «КодыОрганизаций_3_1», учитывая вносимые изменения (п.
4);• в п. 5-17 осуществляется проверка изменений по каждому атрибуту записи в таблице«ВнешниеКлючи_3» и в «КодыОрганизаций_3_1», формируя Array: в п. 5 проверяется, является ли атрибут поисковым. Если не является, то проверяетсяследующий атрибут; в п. 6 проверяется, было ли изменение кода ОЦВК в поисковом атрибуте; в п.
7 проверяется, был ли предыдущий ОЦВК, указанный в поисковом атрибуте, этим жеОЦВК; в п. 8 добавляются данные в Array об удалении значения из атрибута записи таблицы«ПоискВнешКлючи_33» в том ОЦВК, который был изменен на другой ОЦВК всоответствующем атрибуте «КодыОрганизаций_3_1» первичной записи; в п. 9 проверяется, является ли новое ОЦВК в поисковом атрибуте этим же ОЦВК; в п. 10 добавляются данные в Array на изменение атрибута записи таблицы«ПоискВнешКлючи_33» в том ОЦВК, на которое был изменен соответствующий атрибут в«КодыОрганизаций_3_1» первичной записи; в п. 11 проверяется, изменилось ли значение ссылки в поисковом атрибуте; в п. 12 проверяется, является ли измененный атрибут поисковым общим атрибутом; в п.
13 добавляются данные в Array на изменение атрибута записи таблицы«ПоискВнешКлючи_33» во всех вторичных записях, поскольку атрибут является поисковымобщим атрибутом; в п. 14 и п. 15 – это аналогично, соответственно, п. 9 и п. 10; в п. 16 проверяется, если в поисковый атрибут изменился на ОЦВК, в котором нетсоответствующей вторичной записи, то в п. 17 добавляются данные в Array для её создания;• в п.
18-22 элементы Array отправляются в соответствующие ОЦВК для внесения изменений всоответствующие вторичные записи (а, возможно, и их создания): в п. 18 проверяется каждый ОЦВК, который был задействован в исходной или в измененнойпервичной записи, на наличие его в сформированном массиве Array; в п. 19 отправляется элемент Array в соответствующий ОЦВК для внесения всехнеобходимых изменений во вторичную запись (а, возможно, и её создания); в п. 20 проверяется, существует ли соответствующая вторичная запись в ОЦВК, в которыйследует передать изменения первичной записи; в п.
21 создается вторичная запись, со всеми необходимыми текущими значениямипервичной записи; в п. 22 вносятся изменения первичной записи в существующую вторичную запись.69начало1) Создается запись-дубликатB’ записи B в «Свойства_2»i := 0i := i + 12) Создается запись-дубликат B’’’ записиB’’ в «ПоискСвойства_22» в ОЦВК_ii<NДаНетконецРисунок 3.6 – Алгоритм изменения свойств интегральных записейПримечания к рисунку 3.6 [54]:• в п. 1.
создается дубликат записи в «Свойства_2», учитывая вносимые изменения;• в п. 2 запись создается только в том случае, если изменение коснулось поисковых свойствинтегральной записи, иначе в i-м ОЦВК ничего не происходит3.2.4. Алгоритм поиска данныхНеобходимо разработать алгоритм, обеспечивающий автоматизированныйпоиск данных в ВКИСЭО, поскольку:• записи конкретного ОЦВК могут ссылаться на записи из других ОЦВК, ате, в свою очередь, могут ссылаться также на записи из других ОЦВК;• локализация записей осуществляется во время выполнения запросов.В реляционной БД используются следующие типы связей между таблицами(в скобках указаны условные обозначения этих связей):• один ко многим (1:M);• многие к одному (M:1);• один к одному (1:1);• многие ко многим (M:M).В ВКИСЭО достаточно учитывать только следующие связи: 1:M и M:1,70поскольку:• связь 1:1 может быть реализована в виде частного случая 1:M или M:1, вкоторых атрибут внешнего ключа содержит только уникальныезначения;• связь M:M реализуется в виде последовательного использования связейM:1 и 1:M.В ВКИСЭО могут быть отношения двух видов, а записи – трёх:• обычное отношение – для обычных записей;• интегральное отношение – для первичных и вторичных записей.На рисунке 3.7 схематично представлены комбинации связей междутаблицами в ВКИСЭО.Используемые сокращенные обозначения таблиц на рисунке 3.7:• «0» – таблица обычного отношения;• «1» – таблица «ПервичныеКлючи_1» интегрального отношения;• «2» – таблица «Свойства_2» интегрального отношения;• «22» – таблица «ПоискСвойства_22» интегрального отношения;• «3» – таблица «ВнешниеКлючи_3» интегрального отношения;• «33» – таблица «ПоискВнешКлючи_33» интегрального отношения.Кроме типов связей и комбинаций таблиц необходимо также учитывать ихрасположение по отношению как друг к другу, так и к ОЦВК, из которого былинициирован поиск по этим таблицам:• 1-я таблица в ОЦВК, в котором инициирован поиск, а 2-я таблица – вдругом ОЦВК;• 1-я и 2-я таблица в ОЦВК, в котором инициирован поиск;• 1-я и 2-я таблица в одном ОЦВК, а поиск был инициирован в другомОЦВК;• 1-я таблица в одном ОЦВК, 2-я таблица в другом ОЦВК, а поиск былинициирован совсем в другом ОЦВК.711-я таблица1)102-я таблицаM1-я таблица7)01M1M12-я таблица213)032-я таблица1-я таблица1M1M122033M2)M018)01M1M13)0M1M129)31M1M1M23M1214)0M1M4)011M1M15)01M16)0MM1M10)31M11M123–M1M223311)12233M1M1MM1212315)1M1M12233M12201M133MMMMMM131231M1M1M21M13M23223312)M213Mтаблицы интегральногоотношения для храненияпервичных записей11M1M1MM1M2233–22333M16)1M1M17)1M1M122331M1M1M221M133MM12232233M18)1M1таблицы интегральногоотношения для хранениявторичных записейРисунок 3.7 – Комбинации связей между таблицами в ВКИСЭОM02233–1M1M1M2233таблица обычногоотношения для храненияобычных записей72В общем случае, любая функциональность состоит из следующих основныхобластей:• фильтр, через который пользователь может настроить выполнениефункциональности под свои предпочтения;• результат, который отображает полученную выборку данных всоответствиисназначениемфункциональностиивыбраннымизначениями фильтра.Каждая запись выборки – это информация, состоящая из организованнойсовокупности данных.
А данные – это значения атрибутов отношений.Следовательно, выборка, в общем виде, состоит из организованной совокупностиатрибутов отношений. Отношения связаны между собой через внешние ключи.Отношение может иметь сразу несколько различных связей с другимиотношениями – это, например, продемонстрировано на рисунке 3.8.M1Таблица_2Таблица_1M1Таблица_3Рисунок 3.8 – Множественность связей между таблицами.Из рисунка 3.8 видно, что одной записи 1-й таблицы может соответствоватьнесколько записей из 2-й и таблицы, а из 3-й таблицы – только одна запись.Предположим, выборка данных начинается с 1-й таблицы, а затемизвлекаются связанные данные из 2-й и 3-й таблицы. Если найдена t-я запись в1-й таблице, то могут возникнуть следующие ситуации:1) удалось найти хотя бы одну запись во 2-й и 3-й таблице, котораясоответствует t-й записи;2) удалось найти хотя бы одну запись только во 2-й или в 3-й таблице,которая соответствует t-й записи;3) не удалось найти ни одной записи из 2-й и 3-й таблицы, котораясоответствует t-й записи.Во 2-й и в 3-й ситуации может быть ещё несколько вариантов: найденные73данные записей из 1-й, 2-й или 3-й таблицы, могут быть оставлены в выборке илиудалены из неё.Обозначим множество атрибутов из всех отношений через F={F1,…,Fm}, гдеm – количество атрибутов.
Тогда конкретная выборка Vt может бытьпредставлена: Vt=<Ft1,…,Ftk>, где k – количество атрибутов выборки Vt. При этоматрибут Ftx ∈ F (где 1 < x ≤ k) находится в зависимости от предыдущего атрибутаFtp ∈ F (где 1 ≤ p < x), т.е. атрибуты Ftx и Ftp либо из одного отношения, либо извзаимосвязанных отношений. Таким образом, если значение атрибута Fth (где1 ≤ h < k) какой-либо записи выборки Vt не удовлетворяет критериям выборки, тозначения атрибутов Ftb (где h < b ≤ k) тоже не определены. Остается вопрос: “чтоделать со значениями атрибутов Ftd, где 1 ≤ d < h?”. В такой ситуациипредлагается либо не сохранять, либо сохранять то, что удалось определить.Для этой цели введен параметр ST (state – состояние) – признак сохранения,который может принимать одно из следующих значений (в квадратных скобкахуказано, когда может устанавливаться соответствующее значение):• «0» – [до обработки] сохраняются значения атрибутов Ftd, где d < h;• «1» – [до обработки] не сохраняются значения атрибутов Ftd, где d < h;• «2» – [после обработки] запись не удовлетворяет критериям выборки, приэтом первоначально значение параметра ST было равно «0»;• «3» – [после обработки] запись не соответствует фильтру, при этомпервоначально значение параметра ST было равно «1».Для обработки технических сбоев (например, отсутствует доступ к БДдругого ОЦВК) введен параметр TF (technical failure – технический сбой),который может принимать два значения:• «0» – обработка прошла успешна;• «1» – обработку не удалось выполнить из-за технического сбоя.Если при обращении в другой ОЦВК произошел технический сбой (т.е.параметр TF равен «1»), то запрос к нему повторяется в соответствии снастройками повторного запроса в другое ОЦВК.74Под каждую функциональность формируется шаблон заполнения, которыйописывает структуру выборки (например, значение параметра ST, условия поиска,возвращаемыеатрибуты).Дляреализациифункциональностиможетпотребоваться несколько шаблонов заполнения.