Диссертация (1091077), страница 7
Текст из файла (страница 7)
Анализ методов распределенной обработки данныхЭффективноефункционированиеВКИСЭОвомногомзависитотэффективности метода решения задачи распределенной обработки данных. Дляпоиска подходящего решения этой задачи проведем анализ существующихметодов распределенной обработки данных, поэтому рассмотрим областьраспределенных БД.Рассмотренные методы интеграции данных (п. 1.2.3) являются вариациямидвух основных механизмов поддержки распределенных БД [26, 77]:• Фрагментация данных – это разбиение БД или любой её таблицы на38фрагменты, которые физически хранятся в разных БД, располагающихся наразличныхразличнымиузлахкомпьютернойСУБД.сетиФрагментацияи,данныхвозможно,позволяетуправляющихсяпользователямвоспринимать эти фрагменты так, как будто они работают с локальной БД.Выделяют два основных вида фрагментации таблиц [25]: горизонтальная ивертикальная – это, соответственно, когда строки и столбцы одной таблицыБД распределены по нескольким узлам.• Репликация данных – это процесс копирования данных из исходной БД вцелевую БД.
При этом данные могут копироваться интенсивным илиинертным способом [1, 37, 67, 77, 110, 114]. Интенсивный способпредполагает, что изменения данных в исходной БД будут синхронно внесеныв целевую БД как часть одной транзакции. Инертный способ предполагает, чтоизменения данных из исходной БД будут асинхронно внесены в целевую БД врамках уже другой транзакции.Практически предпочтение отдается инертному способу, чтобы повыситьнадежность работы распределенных систем, поскольку можно вносить измененияв исходную БД без необходимости дожидаться внесения изменений в целевуюБД, но, поскольку изменения переносятся с определенной задержкой, то в какойто момент данные могут отличаться.
Инертный способ не соответствуетразработанным в диссертации требованиям к ВКИСЭО, поэтому этот способ далеене учитывается.В ВКИСЭО интенсивный способ копирования данных неприемлем из-завозможной необходимости копирования данных между всеми ОЦВК, посколькулюбой ОЦВК может взаимодействовать с любым ОЦВК в любой моментвремени, а это может привести к исчерпанию сетевых ресурсов, которыенеобходимы для стабильного функционирования ВКИСЭО.
Кроме того, БДкаждого ОЦВК должна постоянно присутствовать в сети, иначе нельзя будетвнести изменения даже в исходную БД ОЦВК. Поэтому этот способ нерассматривается в данной работе. Но будет учитываться такой способ, в которомбудут совмещены возможности интенсивного и инертного способа копирования39данных: изменения данных будут синхронно внесены в исходную БД и в целевуюБД в рамках одной транзакции, как при интенсивном способе, но, возможно, сотложенным временем выполнения, как при инертном способе.
Предполагается,что это отложенное время будет связано либо с временным отсутствием доступа кцелевой БД, либо будут учитываться иные факторы, например, можетучитываться загруженность сети. Далее именно такой способ копированияданных будет считаться синхронным.Таким образом, на основе вышеизложенного, можно выделить следующиесуществующие методы распределенной обработки данных для эффективногофункционирования ВКИСЭО [52, 54]:1) широковещательный опрос;2) распространение данных;3) общий сервер;4) ссылочный массив.Проанализируем эти методы относительно критериев, которые подобранына основе разработанных в диссертации требований к ВКИСЭО (п.
2.1) [52, 54]:• скорость – высокая скорость выполнения запросов;• трафик – низкий сетевой трафик;• нагрузка – низкая вычислительная нагрузка на серверах;• объем БД – небольшой объем записей в БД;• синхронизация – данные не синхронизируются между ОЦ;• количество ОЦ/пользователей – сохранение производительности серверовпри увеличении количества ОЦ/пользователей;• прозрачность – прозрачность расположения данных;• централизация – отсутствует зависимость от центрального узла.• реактивность – изменения данных вносятся без существенных задержек.1.
Широковещательный опросСуть. Новые записи и изменения данных в любом ОЦ не переносятся вдругие ОЦ [52, 54]. Чтобы получить необходимые данные, нужно опросить все40ОЦ [52, 54]. При этом результат предоставляется в единой форме представления[52].Достоинства. Не требуется синхронизация данных между ОЦ, посколькуБД каждого ОЦ не содержит данные из других ОЦ [52]. Поэтому измененияданных вносятся без задержек. Отсутствует зависимость от центрального узла.Недостатки.
Создается избыточная вычислительная нагрузка на серверекаждого ОЦ и повышенный сетевой трафик, поскольку, чтобы получитьнеобходимые данные приходится опрашивать ОЦ, в которых эти данныеотсутствуют [52]. Это негативно сказывается на скорости выполнения запроса[52].2.
Распространение данныхСуть. Новые записи или изменения данных в любом ОЦ переносятся во всеОЦ [52, 54]. Чтобы получить необходимые данные из любого ОЦ, не нужнообращаться в другие ОЦ [52, 54].Достоинства. Отсутствует зависимость от центрального узла.Недостатки. Завышенный сетевой трафик, поскольку новые записи илиизмененные данные переносятся во все ОЦ.
При этом новые записи переносятсяцеликом.СуммарныйобъемБДкаждогоОЦможетравнятьсясуммепроизводимых данных всеми ОЦ [52]. Такой объем БД каждого ОЦ негативносказывается на вычислительной нагрузке его сервера и на скорости выполнениязапросов [52]. Новые записи или изменения данных в любом ОЦ могут вноситьсяс существенными задержками, поскольку они вносятся во все ОЦ, которые приэтом должны быть обязательно доступны в этот момент.3. Общий серверСуть.
Новые записи и изменения данных в любом ОЦ переносятся на общийсервер, который используется для получения данных из разных ОЦ в единойформе представления [52, 54].Достоинства. Нормальный сетевой трафик, поскольку новые записипереносятся только на общий сервер [52]. Нормальная вычислительная нагрузка вкаждом ОЦ, поскольку его БД не загружена данными из других ОЦ [52].41Недостатки.
Суммарный объем БД общего сервера может равняться суммепроизводимых данных всеми ОЦ [52]. Кроме того, имеется зависимость отцентрального узла – это общий сервер. Всё это негативно сказывается навычислительной нагрузке общего сервера и на скорости выполнения запросов кнему. Новые записи переносятся с незначительными задержками, поскольку намомент внесения изменений должен быть доступен только общий сервер. Крометого, изменения данных так же переносятся с незначительными задержками,поскольку на момент внесения изменений должен быть доступен общий сервер, атакже, возможно, ОЦ, имеющие отношение к вносимым изменениям.4. Ссылочный массивСуть.
Из каждой записи любого ОЦ копируется часть данных на сервер сединым ссылочным массивом [52, 54]. Это такие данные, которые позволяютфильтровать и локализовать необходимые записи [52, 54]. Пользовательскиезапросы обрабатываются через единую точку входа (сервер со ссылочныммассивом): необходимые данные извлекаются из ОЦ и возвращаются в единойформе представления [52, 54].Достоинства. Нормальный сетевой трафик и вычислительная нагрузка вкаждом ОЦ, поскольку опрашиваются только те ОЦ, которые содержатнеобходимые данные [52].
При этом данные переносятся только на сервер соссылочным массивом. БД каждого ОЦ не загружена данными из других ОЦ [52].Недостатки. Поскольку локализация, фильтрация и получение записейосуществляется с помощью ссылочного массива, то он содержит избыточноеколичество данных из каждой записи, чтобы предусмотреть всевозможныезапросы к ней [52].
С одной стороны, копируется только часть данных из каждойзаписи всех ОЦ. С другой стороны, многогранный характер структуры БДссылочного массива (включающий данные для локализации, фильтрации иизвлечения записи) увеличивает количество хранимых данных по каждой записииз всех ОЦ [52]. Поэтому суммарный объем БД ссылочного массива, возможно,будет даже больше объема БД общего сервера (см. метод “Общий сервер”) [52].Такой объем БД и затраты на дополнительные операции с данными (локализация42и извлечение) негативно сказываются на вычислительной нагрузке сервера соссылочным массивом и на скорости выполнения запросов в нем [52]. Имеетсязависимость от центрального узла – сервер со ссылочным массивом. Новыезаписи любого ОЦ переносятся с незначительными задержками, поскольку намомент внесения изменений должен быть доступен только сервер со ссылочныммассивом.
Кроме того, изменения данных любого ОЦ так же переносятся снезначительными задержками, поскольку на момент внесения изменений долженбыть доступен сервер со ссылочным массивом, а также, возможно, ОЦ, имеющиеотношение к вносимым изменениям.Общее достоинство этих методов: прозрачность расположения данных [52,54].Общий недостаток этих методов: при возрастании количества ОЦ и/илипользователей указанные негативные факторы усиливаются [52, 54].Полученные результаты данного анализа представлены в таблице 2.1.Таблица 2.1 – Результаты анализа методов распределенной обработки данныхМетод Широковещательный Распространение Общий сервер СсылочныйопросданныхмассивКритерийСкоростьТрафикНагрузкаСинхронизацияОбъем БДКоличество ОЦКоличествопользователейПрозрачностьЦентрализацияРеактивностьСуммарныйпоказатель–––++––––––––+±–±––+±–––––––+++++–+–±+–±0-6-3-4Таким образом, ни один из этих методов не является приемлемым дляэффективногофункционированияВКИСЭО,хотяметод№1:“Широковещательный опрос”, в большей степени соответствует его требованиямпри сравнительно небольшом количестве ОЦ и пользователей [52, 54].Следовательно, необходимо разработать новый метод распределеннойобработки данных для эффективного функционирования ВКИСЭО.432.3.
Анализ компонентных технологийВ этом пункте при рассмотрении технологии Enterprise JavaBeans (EJB)вместо слов компонент EJB, контейнер EJB и сервер EJB, используется просто,соответственно, компонент, контейнер и сервер.2.3.1. Компонентные технологииВ настоящее время повышено внимание к средствам создания ПО на основекомпонентов. Это объясняется тем, что использование компонентов позволяетсоздавать крупномасштабные распределенные информационные системы свысокими показателями жизнеспособности, затрачивая намного меньше усилий,по сравнению с объектно-ориентированным подходом.Основой объектно-ориентированного подхода является понятие объекта,как целостной сущности.
Объект – экземпляр класса. Класс описывает объекты,имеющие одинаковые свойства и поведение. Объекты взаимодействуют междусобой через строго определенный интерфейс, обмениваясь сообщениями.Если класс обычно используется для описания одной конкретной сущностипредметнойобласти,токомпонентможетинкапсулироватьнаборвзаимосвязанных сущностей. У компонентов, в отличие от классов, может бытьнесколько интерфейсов.Поскольку компонент может объединять в себе один или несколькоклассов, то с его помощью можно решать определенный класс задач. Если наэтапе проектирования выделена конкретная задача, то она может бытьнепосредственно отображена в соответствующий компонент. Это позволяетразработчикам лучше представить общую структуру информационной системы,поскольку можно манипулировать абстракциями более высокого уровня, чем приобъектно-ориентированном подходе.При модификации элемента информационной системы, разработанного наоснове объектов, требуется её повторное тестирование.