Рубрика:
Наука и технологии
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
КОНЬКИН А.В., аспирант, МИЭМ НИУ ВШЭ, gastgeber@land.ru
Методы и алгоритмы решения задач разгрузки серверов и синхронизации распределенных данных в вычислительном комплексе информационных сервисов электронного обучения
В настоящей статье представлены методы и алгоритмы решения задач разгрузки серверов и синхронизации распределенных данных в вычислительном комплексе информационных сервисов электронного обучения. Следует отметить, что эти задачи свойственны различным распределенным вычислительным комплексам и информационным системам, а ихрешения носят индивидуальный характер
Введение
В настоящее время множество образовательных центров (ОЦ) предлагает большое количество информационных сервисов электронного обучения (ИСЭО) [1, 2, 5]. Под ОЦ внастоящей статье понимается любой поставщик ИСЭО (например, образовательное учреждение или индивидуальный предприниматель) [2, 5]. Одни ОЦ предоставляют ИСЭО посредством использования собственных разработок, другие – путем применения готовых программных решений, которые адаптируются по мере возможности под собственные нужды [2, 6]. Полученные при этом решения, как правило, удовлетворяют не всех участников образовательного процесса и имеют экспериментальный характер [2, 5]. В основном это обусловлено низким уровнем применения педагогических методов электронного обучения (ЭО); скудностью информационного наполнения; слабой технической оснащенностью ОЦ конкретных регионов России [2, 5].
Для решения задач эффективного использования ИСЭО необходимо объединить имеющийся опыт информатизации образования и перейти от создания разрозненных ИСЭО различных ОЦ к их интеграции в общее информационное пространство на основе единых принципов функционирования [2, 5, 6].
Для этого предлагается разработать вычислительный комплекс информационных сервисов электронного обучения (ВКИСЭО) [2, 5]. Под ним в настоящей статье понимается совокупность ИСЭО интегрированных ОЦ в ВКИСЭО (далее – ОЦВК) [2]. При этом предполагается, что между ОЦВК обеспечивается осуществление распределенной обработки данных на любом уровне их функционирования в рамках распределенных прикладных процессов ВКИСЭО [2, 5].
Результаты анализа предложенной в работе [2] концепции архитектуры ВКИСЭО позволили выделить следующие его особенности:
- в ВКИСЭО отсутствует центральное звено, которое является узким местом для различных крупномасштабных распределенных систем;
- лекторы будут стремиться привлечь к своим ИСЭО как можно больше учащихся из различных ОЦВК;
- в ВКИСЭО отсутствует ограничение на количество ОЦВК в нем;
- учащийся может изучать унифицированные части курса в различных ОЦВК.
Учитывая эти особенности, трудно спрогнозировать для любого ОЦВК количество учащихся из различных ОЦВК к его представителю. Если максимальное допустимое количество учащихся для конкретного представителя превышено, то это может повлиять на его стабильное функционирование. Представитель выделяется для конкретного ОЦВК, основное назначение которого – обслуживать запросы к его ОЦВК из других ОЦВК [2, 3, 5]. Поэтому если ОЦВК динамично развивается, то оно неизбежно столкнется с ситуацией, требующей рационального решения задачи разгрузки его представителя.
Задача синхронного внесения изменений в разные БД для различных распределенных систем – это практически полностью не разрешимая задача из-за ряда факторов, например ошибка в программном обеспечении, проблемы с каналами связи (коммуникациями) или с серверами обработки данных. Эта задача свойственна и для ВКИСЭО.
Для решения этих задач в ВКИСЭО необходимо разработать соответствующие решения, учитывающие особенности его функционирования в условиях неограниченного количества ОЦВК и активного использования каждым учащимся ИСЭО разных ОЦВК.
Метод и алгоритмы решения задачи разгрузки серверов
Представитель, как и любой сервер, имеет предел на одновременное обслуживание запросов учащихся. Если данный предел превышен, то это как минимум может повлиять наскорость обслуживания запросов, а как максимум – на выход представителя из строя.
У этой проблемы есть два решения:
- Организационное решение – ограничить доступ к представителю, если количество учащихся из различных ОЦВК к его ОЦВК превышает предельное значение, которое представитель способен нормально обслуживать.
- Техническое решение (поэтой теме существует ипостоянно публикуется множество статей, атакже постоянно развивается программно-аппаратное обеспечение), например:
- улучшать технические характеристики представителя;
- использовать кластер серверов для представителя.
Техническое решение позволяет быстро и гарантированно устранить проблему, но такое решение может привести к неоправданным финансовым затратам, если потребность вповышенной мощности была кратковременной (случайной).
Организационное решение не требует дополнительных инвестиций, но может привести к недовольству учащихся, которым пришлось отказать в прохождении обучения в конкретном ОЦВК в конкретный момент времени.
Поэтому предлагается использовать организационное решение, которое позволит получать статистику принятий/отказов обращений учащихся за любой период времени, наосновании которой в каждом ОЦВК будет взвешенно определяться целесообразность принятия уже технического решения.
Далее будет использоваться понятие «лектор-курс», под которым подразумевается ИСЭО, состоящий из конкретного лектора и преподаваемого им конкретного курса (илиунифицированной части курса).
Прежде всего для решения указанной задачи необходимо алгоритмически определить порядок обработки представителем запросов учащихся к его ОЦВК из других ОЦВК.
В рамках настоящего исследования для ВКИСЭО разработаны алгоритмы обработки запроса (см. рис. 1) и очереди запросов (см. рис. 2) на обучение, учитывающие: максимальное допустимое количество учащихся лектора-курса; очередь учащихся на обучение с лектором-курсом; порядок принятия учащегося на обучение из очереди, учитывая, что он может отказаться от этого обучения к этому моменту. В этих алгоритмах проблемным шагом является шаг, на котором проверяется возможность лектора-курса принять учащегося наобучение. Эта возможность основана на максимальном допустимом количестве учащихся для лектора-курса, которое зависит от его рейтинга востребованности. Для устранения этой проблемы была сформулирована и решена соответствующая математическая задача.
Рисунок 1. Алгоритм обработки запроса на обучение для ВКИСЭО
Рисунок 2. Алгоритм обработки очереди запросов на обучение для ВКИСЭО
Разработана формула для вычисления рейтинга h-го лектора-курса (h ∈ [1, N]):
(1)
где:
- N – количество всех лекторов-курсов;
- Ch – количество учащихся, которые обучаются с h-м лектором-курсом;
- Cmax – максимальное значение Cd(Cmax = max(Cd), ∀d ∈ [1, N]).
Разработана формула расчета максимального допустимого количества учащихся, которое может быть у h-го лектора-курса (h ∈ [1, N]):
(2)
где S0 – максимальное допустимое количество учащихся для представителя. S0 определяется эмпирическим путем в каждом конкретном ОЦВК.
Из формулы 2 следует, что изменение значений параметров N или S0 может влиять на конкуренцию среди лекторов, мотивируя их естественным образом улучшать качество предоставляемых ИСЭО, чтобы повысить свои показатели: rh и Sh (h ∈ [1, N]).
Кроме того, может возникнуть ситуация, когда существует N1 лекторов-курсов с ненулевым рейтингом, при этом обнаружено N0 лекторов-курсов, у которых пока отсутствуют учащиеся на обучении (N = N1 + N0), тогда рейтинг последних равен нулю. Для этой ситуации разработана формула расчета максимального допустимого количества учащихся для f-го лектора-курса c нулевым рейтингом, для которых это еще не рассчитано (f ∈ [1, ], и , где – количество лекторов-курсов с нулевым рейтингом, длякоторых ранее это уже было рассчитано):
(3)
где Pb – процент (может рассчитываться по алгоритму) от остатка максимального допустимого количества учащихся, которых b-й лектор-курс (b ∈ [1, ]) еще может принять на обучение. При этом Sb корректируется по формуле (при условии: ):
(4)
Кроме того, статистика возникновения нулевого рейтинга у действующих лекторов-курсов будет способствовать, например, своевременной их реорганизации.
На основе полученных результатов разработан алгоритм расчета rh, Sh и , вербальное описание которого состоит в следующем алгоритме:
- вычисляется Cmax;
- вычисляется rh по формуле 1 и Sh по формуле 2 (h ∈ [1, N]);
- если обнаружено лекторов-курсов с нулевым рейтингом и существует N1 лекторов-курсов с ненулевым рейтингом, то для f-го лектора-курса с нулевым рейтингом вычисляется по формуле 3 (∀f ∈ [1, ]), а для b-го лектора-курса корректируется Sb по формуле 4 (∀b ∈ [1, ] и ).
Таким образом, разработанные метод и алгоритмы решения задачи разгрузки серверов в ВКИСЭО могут быть применены:
- для рационального распределения максимального допустимого количества учащихся представителя между лекторами-курсами ОЦВК, учитывая их рейтинг востребованности;
- для определения целесообразности дополнительных инвестиций в наращивание технической мощности представителя, например, получая статистику за любой период времени на основе очереди запросов на обучение;
- для повышения качества предоставляемых ИСЭО, например, через своевременную реорганизацию лекторов-курсов или через мотивирование в какой-то степени лекторов путем изменения их количества и/или производительности представителя.
Метод и алгоритмы решения задачи синхронизации распределенных данных
В ВКИСЭО решение данной задачи обеспечивается на уровне данных, архитектуры, взаимодействующих субъектов, применяемых технологий и прикладных процессов.
- Уровень данных. Правильно организованное интегральное отношение минимизирует вероятность переноса изменений из одного ОЦВК в другое, т.е. не всякое изменение впервичных записях нужно будет передавать в соответствующие вторичные записи [4].
- Уровень архитектуры. Об обеспечении стабильного функционирования ВКИСЭО на уровне архитектуры детально написано в статье [2]:
- об узловом принципе построения ВКИСЭО;
- о том, что элементы ядра любого узла не принадлежат подключенным к нему ОЦВК;
- о независимом техническом обслуживании запросов в ОЦВК и в его представителе, соответственно, зарегистрированных в нем учащихся и учащихся из других ОЦВК;
- о возможности регулировать мощностями серверов по запросу ОЦВК;
- о целостности данных и структуры ВКИСЭО в случае отсутствия доступа к какому-либо ОЦВК.
- Уровень взаимодействующих субъектов. Как правило, в первичной записи [4], могут быть ссылки на записи только из одного другого ОЦВК. Это объясняется тем, что издругого ОЦВК может быть лектор или учащийся. Поэтому при внесении изменений в первичные записи будут максимум задействованы только два ОЦВК: первый ОЦВК – внем изменяется первичная запись, а второй ОЦВК – в нем изменяется соответствующая вторичная запись [4].
- Уровень применяемых технологий. Интерфейс монитора транзакций позволяет взаимодействовать сразу с несколькими СУБД. Технология распределенных объектов позволяет взаимодействовать с удаленными объектами в рамках одной транзакции. Эти возможности обеспечиваются, например, компонентной технологией Enterprise JavaBeans, которая к тому же позволяет создавать объектную оболочку над разными реализациями БД, предоставляя, по существу, унифицированный объектный доступ к распределенным данным.
- Уровень прикладных процессов. Предлагается предусмотреть возможность применения разработанного в рамках настоящего исследования метода отложенного синхронного внесения изменений. Предполагается, что эта задержка будет связана либо с временным отсутствием доступа к целевой БД, либо будут учитываться такие факторы, какзагруженность сети. При этом синхронное изменение данных в разные ОЦВК будет вноситься в рамках прикладных процессов.
Суть этого метода рассмотрим на примере. В A-м ОЦВК на L-м шаге прикладного процесса изменяется запись, и должны быть переданы изменения в B-й ОЦВК, а последний оказывается недоступным. Тогда указанные изменения не должны быть выполнены и в A м ОЦВК. Однако необходимо сохранить это предполагаемое изменение в специальном дляэтого месте БД A-го ОЦВК. А пользователь с L-го шага должен быть переведен на промежуточный L’-й шаг. Когда B й ОЦВК будет снова доступен, то это сохраненное предполагаемое изменение должно быть автоматически выполнено в рамках одной транзакции. Если результатом такого выполнения будет ошибка (например, пользователь изначально передал некорректные данные), то причина ее возникновения должна быть доступна пользователю на L’-м шаге.
На экранной форме L’-го шага пользователю должны быть доступны следующие кнопки:
- Кнопка «Удалить изменение» – эта кнопка доступна только до тех пор, пока сохраненное предполагаемое изменение не будет выполнено. С помощью этой кнопки пользователь может удалить это изменение, вернувшись на L-й шаг.
- Кнопка «Назад» – это кнопка доступна только после того, когда произошла какая-то ошибка в результате автоматической обработки сохраненного предполагаемого изменения. В таком случае пользователю на L’-м шаге будет предоставлен текст ошибки. С помощью этой кнопки можно вернуться на L-й шаг.
- Кнопка «Продолжить» – это кнопка доступна только в том случае, если сохраненное предполагаемое изменение было благополучно выполнено, а пользователь в этот момент находился на экранной форме L’-го шага. Пользователь либо нажимает на эту кнопку, либо просто закрывает экранную форму L’-го шага. Эти действия не влияют надальнейшее выполнение прикладного процесса, выполнение которого будет продолжено согласно настроенной в нем логике: будет переход на шаг, который должен быть после благополучного внесения изменений на L-м шаге.
В рамках настоящего исследования разработаны следующие алгоритмы для ВКИСЭО (см. рис. 3-5):
- алгоритм перехода на промежуточный шаг;
- алгоритм поведения пользователя на промежуточном шаге;
- алгоритм обработки сохраненных предполагаемых изменений.
Рисунок 3. Алгоритм перехода на промежуточный шаг для ВКИСЭО
Рисунок 4. Алгоритм поведения пользователя на промежуточном шаге для ВКИСЭО
Рисунок 5. Алгоритм обработки сохраненных предполагаемых изменений для ВКИСЭО
Выводы
Предложенные в статье метод и алгоритмы решения задачи разгрузки серверов, входящих в состав вычислительного комплекса информационных сервисов электронного обучения, позволяют рационально распределять учащихся между лекторами на серверах, обслуживающих предельное количество запросов пользователей; определять целесообразность инвестиций в наращивание технической мощности серверов; повышать качество предоставляемых информационных сервисов электронного обучения. А предложенные метод иалгоритмы решения задачи синхронизации распределенных данных вычислительного комплекса информационных сервисов электронного обучения обеспечивают распространение изменений между интегрированными образовательными центрами комплекса в рамках одной транзакции, что позволяет своевременно получать непротиворечивые данные.
- Жилин Л.Э. Анализ номенклатуры программных средств массового использования, применяемых в российских вузах (на примере Астраханского государственного университета) / Л.Э. Жилин, А.Н. Горбачева, Ю.М. Брумштейн, Е.Ю. Васьковский // «Прикаспийский журнал: управление и высокие технологии», №2, 2015 г. – С. 20-37.
- Конькин А.В. Концепция архитектуры вычислительного комплекса для интеграции разрозненных информационных сервисов электронного обучения // «Прикаспийский журнал: управление и высокие технологии», №1, 2017 г. – С. 10-17.
- Конькин А.В., Леохин Ю.Л. Подход к интеграции информационно-образовательных сред дистанционного обучения // «Качество. Инновации. Образование», №11, 2012 г.– C.17-24.
- Конькин А.В. Метод и алгоритмы эффективной распределенной обработки данных и прикладных процессов в вычислительном комплексе информационных сервисов электронного обучения // «Качество. Инновации. Образование», №1, 2017 г. – C. 62-73.
- Конькин А.В. Метод интеграции разобщенных информационных сервисов электронного обучения в единое информационное пространство // Сборник трудов VII Международной конференции «ИТ-Стандарт 2016». – М.: Московский технологический университет (МИРЭА), 2016. – C. 406-416.
- Скоблева Э.И., Шарипова А.З. Модели и механизмы выбора оптимальной стратегии реформ в системе высшего образования России // «Прикаспийский журнал: управление и высокие технологии», №4, 2015 г. – С. 45-64.
Ключевые слова: алгоритмы, методы, разгрузка серверов, синхронизация данных.
Methods and algorithms for solving tasks unloading server and synchronize distributed data in computing complex of information services of e-learning
Konkin A.V., graduate student, MIEM the HSE, gastgeber@land.ru
Abstract: This article presents methods and algorithms for solving tasks unloading server and synchronize distributed data in computing complex of information services for e-learning. It should be noted that these tasks are inherent in any distributed computing complexes and information systems, and their solutions have individual character.
Keywords: algorithms, methods, unloading servers, data synchronization.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|