Главная » Просмотр файлов » Диссертация

Диссертация (1091077), страница 14

Файл №1091077 Диссертация (Разработка архитектуры, алгоритмов и принципов функционирования распределенного вычислительного комплекса информационных сервисов электронного обучения) 14 страницаДиссертация (1091077) страница 142018-01-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 14)

«Начитка». Начитываются вторичные записи в массив ARR_Temp. Приэтом учитываются результаты выполнения п. 1 и п. 2, благодаря которымнекоторые из элементов могут быть обработаны так, что не нужно будетобращаться в другой ОЦВК, чтобы их там обработать, поскольку,например, произведенных проверок (п. 1) и полученных данных (п. 2) повторичным записям вполне достаточно для данной выборки;4. «Обработкаудаленная».СоздаетсямассивARR1_AC,элементыкоторого являются массивами, состоящими из элементов массиваARR_Temp (п. 3), у которых одинаковый AC. Элементы ARR1_ACпараллельно отправляются в соответствующие ОЦВК для удаленнойобработки.ПослеобработкикаждогоэлементаARR1_AC[i]изARR1_AC выполняется алгоритм «Отказ в доступе»:1) начитываются в массив ARR_TMP элементы из обработанногомассива ARR1_AC[i], которые в другом ОЦВК не удалось обработатьиз-за технического сбоя;2) ARR_TMP повторно отправляется в соответствующий ОЦВК наобработку;823) обновляются элементы из массива ARR1_AC[i] на удачно повторнообработанные элементы из ARR_TMP;4) описанные выше действия повторяются до тех пор, пока существуютэлементы в ARR_TMP и пока не превышен лимит повторений RT дляданной функциональности.

После всей обработки п. 4 массивARR1_AC снова преобразуется в структуру массива ARR_Temp.5. «Обновление».Обновляютсяэлементыосновногомассиванаобработанные элементы массива ARR_Temp (п. 4);6. «Заполнение».ЗаполняютсяданнымивсеэлементымассивовARR_Field_Result.ПослеобработкиосновногомассиваARR1можетпотребоватьсявыполнение дополнительных действий над ним, соответствующие требованиямконкретной функциональности. Это предлагается реализовать либо программно,либо с помощью временной таблицы БД, в которую загружаются полученныеданные этого массива, чтобы выполнить с помощью SQL дополнительнуюлокальную обработку, например:• применить групповые SQL-функции (SUM, AVG, MAX и т.п.);• сортировать данные;• выполнить сложную фильтрацию данных, например, включающуюпроверку данных сразу в нескольких таблицах.Обработанный основной массив может быть конечным результатомвыборки для данной функциональности, а может быть использован для обработкидругого основного массива ARR1, к которому также необходимо применитьалгоритм «Поиск данных», поскольку функциональность может состоять изнескольких основных массивов.Примечания:• «этот же ОЦВК» – ОЦВК, в котором выполняется в данный моментобработка;• важно: в Table вместо таблиц интегрального отношения с окончанием «22»или «33», всегда указываются, соответственно, таблицы интегрального83отношения с окончанием «2» или «3».

Если Table с окончанием «2» или «3»,а в AC указан этот же ОЦВК, то обработка в БД ведется по этим же таблицам,иначе по соответствующим таблицам, но с окончанием «22» или «33»;• используемый элемент из ARR_Rule (всего два: первый элемент – это длявсех таблиц, исключая таблицы интегрального отношения с окончанием «22»или «33», а второй – для таблиц интегрального отношения с окончанием «22»или «33») для таблиц интегрального отношения определяется по следующемупринципу: если ОЦВК, указанный в AC, совпадает с этим же ОЦВК, тоиспользуется первый элемент из ARR_Rule, иначе – второй;• Элементы с ST=1 обрабатываются в первую очередь;• Для таблиц Table интегрального отношения в ARR1 с окончанием «2» или«3» в качестве AC и Id_real указываются значения из соответствующейзаписи таблицы интегрального отношения с окончанием «1».Расшифровка используемых обозначений:• «Свой AC» и «Чужой AC» – это для обозначения ОЦВК, в котором,соответственно, выполняется и не выполняется в данный момент обработка;• «∃a ∈ A» – это означает, что существует (∃) элемент а в множестве A;• «length(ARR1)» – количество элементов массива ARR1;•«Добавляем ARR_Data[j] в ARR_Temp» – массив ARR_Temp имеетаналогичную структуру массива ARR1, поэтому в ARR_Temp добавляется нетолько ARR_Data[j] ∈ ARR_Data из ARR1[i], но и соответствующаяструктура из ARR1[i];• «ARR_Main1(ARR1[i])» – это означает, что по значениям Step, Table,Key_Field из элемента ARR1[i] определяется соответствующий элемент вARR_Main1;• «ARR_Data1[j] ⊂ ARR_Temp» – ARR_Data1[j] содержится в ARR_Temp;•«в ARR_Data1[j] есть неопределенность» – это означает, что в ARR_Data1[j]имеются не обработанные (или не полностью обработанные) массивыARR_Cond_Result, ARR_Field_Result или ARR1;84•«{Id/Id_real}» – это равно:ƒ Id, если в AC указан этот же ОЦВК и таблица Table не является таблицейинтегрального отношения;ƒ Id, если в AC указан другой ОЦВК и таблица Table является интегральнойтаблицей с окончанием «2» или «3»;ƒ Id, если в AC указан другой ОЦВК и таблица Table является интегральнойтаблицей с окончанием «1»;ƒ Id_real, если в AC указан этот же ОЦВК и таблица Table являетсяинтегральной таблицей с окончанием «1»;ƒ если в AC указан этот же ОЦВК и таблица Table с окончанием «2» или«3», то по Id_real определяется запись в таблице интегрального отношенияс окончанием «1», по которой определяется соответствующий искомый Idзаписи из таблицы Table, используя DT.• «Rec» – реальная запись в БД ОЦВК, в котором выполняется обработкаэлемента массива, соответствующего этой записи.

При этом поиск записи вБД выполняется по {Id/Id_real};• «ARR2[t], созданный на основе ARR_Main2[t]» – элемент ARR2[t] ∈ ARR2созданнаосновесоответствующихзначенийэлементаARR_Main2[t] ∈ ARR_Main2;• «RT» – количество повторных обращений к другой ОЦВК, если былтехнический сбой в ней. RT определяется для каждой функциональности,исходя из значимости и необходимой скорости обработки массива выборки;• «Формируем массив ARR_Data2, дополняя его X-элементами» – частьX-элементов может быть получена с помощью вторичных записей в одномОЦВК, а часть X-элементов – с помощью первичных записей в другомОЦВК.

При этом схожие X-элементы по Id_real и AC не добавляются вARR_Data2.85началоВходные параметры:* массив ARR1;* RT1)Выполняем алгоритм «Ограничение»:ВХОД: ARR1ВЫХОД: ARR12)Выполняем алгоритм «Заполнение»:ВХОД: TAB := 1; ARR1ВЫХОД: ARR1ARR_Temp := ∅3)Выполняем алгоритм «Начитка»:ВХОД: ARR1; ARR_TempВЫХОД: ARR_TempARR_Temp = ∅ДаНет4)Выполняем алгоритм «Обработка удаленная»:ВХОД: ARR_Temp; RTВЫХОД: ARR_Temp5)Выполняем алгоритм «Обновление»:ВХОД: ARR1; ARR_TempВЫХОД: ARR16)Выполняем алгоритм «Заполнение»:ВХОД: TAB := 2; ARR1ВЫХОД: ARR1Выходные параметры:* массив ARR1конецРисунок 3.10 – Алгоритм «Обработка локальная» для поиска данных86началоВходные параметры:* массив ARR1N := length(ARR1); i := -1; ARR_Temp1 := ∅N>0НетДа3i := i + 14N2 := length(ARR_Data1); j := -1/*ARR_Data1∈ARR1[i]*/N2 > 0НетДа5j := j + 16N3 := length(ARR_Temp1); r := -1НетN3 > 0Да7r := r + 18Step1 = Step2 и Table1 = Table2 и Key_Field1 = Key_Field2/*Table1, Step1, Key_Field1 ∈ ARR1[i];Table2, Step2, Key_Field2 ∈ ARR_Temp1[r]*/ДаN4 := length(ARR_Data1); k := -1/*ARR_Data1 ∈ ARR_Temp1[r]*/N4 > 0НетДаk := k + 1ДаId_real1 = Id_real2 и AC1 = AC2/*Id_real1, AC1 ∈ ARR_Data1[j];Id_real2, AC2 ∈ ARR_Data1[k]*/ARR_Data1[j] := ARR_Data1[k]Нетk < N4ДаНет91Рисунок 3.11 – Алгоритм «Ограничение» для поиска данныхНет87718Даr < N3НетНет∃Rec и ∃ARR_Cond ∈ ARR_Main1(ARR1[i])ДаОпределяем ARR_Cond_Result и DL на основе ARR_Cond, ARR_Rule по {Id/Id_real} и AC/*ARR_Cond_Result, DL, Id, Id_real, AC ∈ ARR_Data1[j]; ARR_Cond, ARR_Rule ∈ ARR_Main_1(ARR1[i])*/DL = 1Да/*DL ∈ ARR_Data1[j]*/НетНет∃Rec и ∃ARR_Main2 ∈ ARR_Main1(ARR1[i])ДаN2 := length(ARR_Main2); t := -110/*ARR_Main2 ∈ ARR_Main1(ARR1[i])*/t := t + 111∃ARR2[t], созданный на основеARR_Main2[t], в ARR_Data1[j]ДаНетСоздаем ARR2[t] в ARR_Data1[j], используя Step, Table, Key_Field, DT, ST ∈ ARR_Main2[t]НетLK = 1Да/*LK ∈ ARR_Main2[t]*/Формируем массив ARR_Data2, дополняя егоX-элементом, заполняя в них Id, Id_real и ACна основе {Id/Id_real} и Key_FieldФормируем массив ARR_Data2, дополняя егоX-элементами, заполняя в них Id, Id_real и ACна основе {Id/Id_real}, DT и Key_Field/*Key_Field ∈ ARR2[t]; ARR_Data2 ∈ ARR2[t]; X – x-запись вБД, на которую ссылается запись с {Id/Id_real} ∈ ARR_Data1[j]*//*DT, Key_Field ∈ ARR2[t]; X – x-запись в БД, в которой естьссылка на {Id/Id_real}∈ARR_Data1[j]; ARR_Data2∈ARR2[t]*/Выполняем алгоритм «Ограничение»:ВХОД: ARR2[t]ВЫХОД: ARR2[t]ST = 3/*ST ∈ ARR2[t]*/ДаDL:= 1/*DL ∈ ARR_Data1[j]*/2Продолжение рисунка 3.11Нет881121069t < N2 и DL ≠ 1Да/*DL ∈ ARR_Data1[j]*/НетDL := 1НетДобавляемARR_Data1[j] вARR_Temp1/*DL ∈ ARR_Data1[j]*/DL = 1/*DL ∈ ARR_Data1[j]*/ДаУдаляем ARR_Cond_Result,ARR_Field_Result, ARR2 ∈ ARR_Data1[j]НетДаДобавляем ARR_Data1[j] в ARR_Temp1Step = 1Нет/*Step ∈ ARR1[i]*/ДаУдаляем ARR_Data1[j]j < N1ДаНет5ARR_Data1 = ∅ или все DL = 1/*DL ∈ ARR_Data1*/НетДаУдаляем ARR_Data1 ∈ ARR1[i]НетДаST = 1/*ST ∈ ARR1[i]*/ST := 2ST := 3/*ST ∈ ARR1[i]*//*ST ∈ ARR1[i]*/НетStep = 1 и (ST = 2 или ST = 3)/*Step, ST ∈ ARR1[i] */ДаУдаляем ARR1[i]3i<N4ДаНетВыходные параметры:* массив ARR1конецОкончание рисунка 3.1189началоВходные параметры:* массивы: ARR1, ARR_TempN := length(ARR1); i := -1НетN>0Даi := i + 1N1 := length(ARR_Data1); j := -1/*ARR_Data1 ∈ ARR1[i]*/НетN1 > 0 и ST ≠ 2 и ST ≠ 3/*ST ∈ ARR1[i]*/Даj := j + 1ДаDL = 1/*DL ∈ ARR_Data1[j]*/НетЧужой AC и в ARR_Data1[j] есть неопределенность/*AC ∈ ARR_Data1[j]*/ДаДаARR_Data1[j] ⊂ ARR_TempНетДобавляем ARR_Data1[j] в ARR_TempНет∃ARR2 ∈ ARR_Data1[j]ДаN2 := length(ARR2); t := -1НетN2 > 0Даt := t + 1Выполняем алгоритм «Начитка»:ВХОД: ARR2[t]; ARR_TempВЫХОД: ARR_Tempt < N2ДаНетj < N1ДаНетi<NДаНетВыходные параметры:* массив ARR_TempконецРисунок 3.12 – Алгоритм «Начитка» для поиска данныхНет90началоВходные параметры:* массив ARR1, ARR_TempN := length(ARR1); i := -1i := i + 1N2 := length(ARR_Data1); j := -1/*ARR_Data1 ∈ ARR1[i]*/N2 > 0 и ST ≠ 2 и ST ≠ 3Нет/*ST ∈ ARR1[i]*/Да4j := j + 1DL = 1Да/*DL ∈ ARR_Data1[j]*/НетЧужой AC и в ARR_Data1[j]есть неопределенностьНет/*AC ∈ ARR_Data1[j]*/ДаN3 := length(ARR_Temp), r := -1НетN3 > 0Да6r := r + 1Table1 = Table2 и Step1 = Step2 иKey_Field1 = Key_Field2Нет/*Table1, Step1, Key_Field1 ∈ ARR1[i];Table2, Step2, Key_Field2 ∈ ARR_Temp[r]*/ДаST = 2 или ST = 3/*ST ∈ ARR_Temp[r]*/Нет1ДаARR1[i] := ARR_Temp[r]498Рисунок 3.13.

Характеристики

Список файлов диссертации

Разработка архитектуры, алгоритмов и принципов функционирования распределенного вычислительного комплекса информационных сервисов электронного обучения
Документы
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее