6.3. Распределенная обработка данных. Технология «клиент-сервер»
Организация ЛВС на предприятии дает возможность распределить ресурсы ПК по отдельным функциональным сферам деятельности и изменить технологию обработки данных в направлении децентрализации.
Распределенная обработка данных имеет следующие преимущества:
• возможность увеличения числа удаленных взаимодействующих пользователей, выполняющих функции сбора, обработки, хранения и передачи информации;
• снятие пиковых нагрузок с централизованной базы путем распределения обработки и хранения локальных баз на разных персональных компьютерах;
• обеспечение доступа пользователей к вычислительным ресурсам ЛВС;
• обеспечение обмена данными между удаленными пользователями.
При распределенной обработке производится работа с базой данных, т.е. представление данных, их обработка. При этом работа с базой на логическом уровне осуществляется на компьютере клиента, а поддержание базы в актуальном состоянии — на сервере.
Выделяют локальные и распределенные базы данных:
Локальная база данных — это база данных, которая полностью располагается на одном ПК. Это может быть компьютер пользователя или сервер.
Распределенная база данных характеризуется тем, что может размещаться на нескольких ПК, чаще всего в роли таких ПК выступают серверы.
В настоящее время созданы базы данных по всем направлениям человеческой деятельности: экономической, финансовой, кредитной, статистической, научно-технической, маркетинга, патентной информации, электронной документации и т.д.
Создание распределенных баз данных было вызвано двумя тенденциями обработки данных, с одной стороны — интеграцией, а с другой — децентрализацией.
Интеграция обработки информации подразумевает централизованное управление и ведение баз данных.
Децентрализация обработки информации обеспечивает хранение данных в местах их возникновения или обработки, при этом скорость обработки повышается, стоимость снижается, увеличивается степень надежности системы.
Доступ пользователей к распределенной базе данных (РБД) и администрирование осуществляется с помощью системы управления распределенной базой данных, которая обеспечивает выполнение следующих функций:
• автоматическое определение компьютера, хранящего требуемые в запросе данные;
• декомпозицию распределенных запросов на частные подзапросы к базе данных отдельных ПК;
• планирование обработки запросов;
• передачу частных подзапросов и их исполнение на удаленных ПК;
• прием результатов выполнения частных подзапросов;
• поддержание в согласованном состоянии копий дублированных данных на различных ПК сети;
• управление параллельным доступом пользователей к РБД;
• обеспечение целостности РБД.
Распределенная обработка данных
реализуется с помощью технологии «клиент-сервер».
Эта технология предполагает, что каждый из компьютеров сети имеет свое назначение и выполняет свою определенную роль. Одни компьютеры в сети владеют и распоряжаются информационно-вычислительными ресурсами (процессоры, файловая система, почтовая служба, служба печати, база данных), другие имеют возможность обращаться к этим службам, пользуясь их услугами.
Рассматриваемая технология определяет два типа компонентов: серверы и клиенты.
Сервер — это объект, предоставляющий сервис другим объектам сети по их запросам.
Сервис — это процесс обслуживания клиентов.
Технология «клиент-сервер» — это технология информационной сети, в которой основная часть ее ресурсов сосредоточена в серверах, обслуживающих своих клиентов
Сервер работает по заданиям клиентов и управляет выполнением их заданий. После выполнения каждого задания сервер посылает полученные результаты клиенту, пославшему это задание.
Сервисная функция в архитектуре «клиент-сервер» описывается комплексом прикладных программ, в соответствии с которым выполняются разнообразные прикладные процессы.
Клиенты — это рабочие станции, которые используют ресурсы сервера и предоставляют удобные интерфейсы пользователя.
Интерфейсы пользователя — это процедуры взаимодействия пользователя с системой или сетью.
Клиент является инициатором и использует электронную почту или другие сервисы сервера. В этом процессе клиент запрашивает вид обслуживания, устанавливает сеанс, получает нужные ему результаты и сообщает об окончании работы.
Один из основных принципов технологии «клиент-сервер» заключается в разделении функций стандартного интерактивного приложения на три группы, имеющие различную природу:
Это функции ввода и отображения данных
Это прикладные операции обработки данных, характерные для решения задач данной предметной области (например, для банковской системы — открытие счета, перевод денег с одного счета на другой и т. д.)
Это операции хранения и управления информационно-вычислительными ресурсами (базами данных, файловыми системами и т. д.)
В соответствии с этой классификацией в любом приложении выделяются следующие логические компоненты:
- компонент представления, реализующий функции первой группы;
- прикладной компонент, поддерживающий функции второй группы;
- компонент доступа к информационным ресурсам, поддерживающий функции третьей группы.
Выделяют четыре модели реализации технологии «клиент-сервер», представленные на рис.6.11. Модель файлового сервера представляет наиболее простой случай распределенной обработки данных. Один из компьютеров в сети считается файловым сервером и предоставляет другим компьютерам услуги по обработке файлов. Файловый сервер играет роль компонента доступа к информационным ресурсам (т. е. к файлам). На других ПК в сети функционирует приложения, в которых совмещены компонент представления и прикладной компонент. Использование файловых серверов предполагает, что вся обработка данных выполняется на рабочей станции, а сервер лишь выполняет функции накопителя данных и средств доступа (рис.6.12). Рис. 6.12. Модель файлового сервера К недостаткам технологии данной модели относят высокий сетевой трафик (передача множества файлов, необходимых приложению), небольшое количество операций манипуляции с данными (файлами), отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы) и т.д. Модель доступа к удаленным данным существенно отличается от модели файлового сервера методом доступа к информационным ресурсам. В этой модели компонент представления и прикладной компонент также совмещены и выполняются на компьютере-клиенте. Доступ к информационным ресурсам обеспечивается операторами специального языка (SQL, если речь идет о базах данных) или вызовами функций специальной библиотеки. Запросы к информационным ресурсам направляются по сети серверу базы данных, который обрабатывает и выполняет их, возвращая клиенту не файлы, а необходимые для обработки блоки данных, которые удовлетворяют запросу клиента (рис.6.13). Основное достоинство модели доступа к удаленным данным заключается в унификации интерфейса «клиент-сервер» в виде языка SQL и широком выборе средств разработки приложений. К недостаткам можно отнести существенную загрузку сети при взаимодействии клиента и сервера посредством SQL-запросов и невозможность администрирования приложений, т.к. в одной программе совмещаются различные по своей природе функции (представления данных и прикладного компонента). Модель сервера баз данных основана на механизме хранимых процедур. Процедуры хранятся в словаре баз данных, разделяются между несколькими клиентами и выполняются на том же компьютере, где функционирует SQL-сервер. В этой модели компонент представления выполняется на компьютере-клиенте, в то время как прикладной компонент оформлен как набор хранимых процедур и функционирует на компьютере-сервере базы данных. Там же выполняется компонент доступа к данным, т.е. ядро СУБД (рис. 6.14). Достоинства модели сервера баз данных: • возможность централизованного администрирования прикладных функций; • снижение трафика (вместо SQL-запросов по сети направляются вызовы хранимых процедур); • экономия ресурсов компьютера за счет использования единожды созданного плана выполнения процедуры. Основной недостаток модели сервера баз данных является ограниченность средств написания хранимых процедур, представляющих собой разнообразные процедурные расширения SQL. Сфера их использования ограничена конкретной СУБД из-за отсутствия возможности отладки и тестирования разнообразных хранимых процедур. Модель сервера приложений позволяет помещать прикладные программы на отдельные серверы приложений. Программа, выполняемая на компьютере-клиенте, решает задачу ввода и отображения данных, т. е. реализует операции первой группы. Прикладной компонент реализован как группа процессов, выполняющих прикладные функции, и называется сервером приложения. Доступ к информационным ресурсам, необходимым для решения прикладных задач, обеспечивается так же, как в модели доступа к удаленным данным, т.е. прикладные программы обращаются к серверу базы данных с помощью SQL-запросов (рис. 6.15). Технологии «клиент-сервер» имеют следующие преимущества: • позволяют организовывать сети с большим количеством рабочих станций; • обеспечивают централизованное управление учетными записями пользователей, безопасностью и доступом, что упрощает сетевое администрирование; • предоставляют эффективный доступ к сетевым ресурсам. Наряду с преимуществами технология «клиент-сервер» имеет и ряд недостатков: • неисправность сервера может сделать сеть неработоспособной, что влечет как минимум потерю сетевых ресурсов; • требует квалифицированного персонала для администрирования; • имеет более высокую стоимость сетей и сетевого оборудования.
Лекция 14. Распределенная обработка данных (2 часа)
Организация ЛВС на предприятии дает возможность распределить ресурсы ПК по отдельным функциональным сферам деятельности и изменить технологию обработки данных в направлении децентрализации.
Распределенная обработка данных имеет следующие преимущества:
- возможность увеличения числа удаленных взаимодействующих пользователей, выполняющих функции сбора, обработки, хранения и передачи информации;
- снятие пиковых нагрузок с централизованной базы путем распределения обработки и хранения локальных баз на разных персональных компьютерах;
- обеспечение доступа пользователей к вычислительным ресурсам ЛВС;
- обеспечение обмена данными между удаленными пользователями.
- автоматическое определение компьютера, хранящего требуемые в запросе данные;
- декомпозицию распределенных запросов на частные подзапросы к базе данных отдельных ПК;
- планирование обработки запросов;
- передачу частных подзапросов и их исполнение на удаленных персональных компьютерах;
- прием результатов выполнения частных подзапросов;
- поддержание в согласованном состоянии копий дублированных данных на различных ПК сети;
- управление параллельным доступом пользователей к РБД;
- обеспечение целостности РБД.
14.2. Технология «клиент-сервер»
- компонент представления, реализующий функции первой группы;
- прикладной компонент, поддерживающий функции второй группы;
- компонент доступа к информационным ресурсам, поддерживающий функции третьей группы.