Преимущество технологии клиент сервер перед технологией файл сервер в том что

Обновлено: 06.07.2024

Организация ЛВС на предприятии дает возможность распределить ресурсы ПК по отдельным функциональным сферам деятельности и изменить технологию обработки данных в направлении децентрализации.

Распределенная обработка данных имеет следующие преимущества:

  • возможность увеличения числа удаленных взаимодействующих пользователей, выполняющих функции сбора, обработки, хранения и передачи информации;
  • снятие пиковых нагрузок с централизованной базы путем распределения обработки и хранения локальных баз на разных персональных компьютерах;
  • обеспечение доступа пользователей к вычислительным ресурсам ЛВС;
  • обеспечение обмена данными между удаленными пользователями.

При распределенной обработке производится работа с базой данных, т. е. представление данных , их обработка. При этом работа с базой на логическом уровне осуществляется на компьютере клиента, а поддержание базы в актуальном состоянии - на сервере.

Выделяют локальные и распределенные базы данных :

В настоящее время созданы базы данных по всем направлениям человеческой деятельности: экономической, финансовой, кредитной, статистической, научно-технической, маркетинга, патентной информации, электронной документации и т. д.

Создание распределенных баз данных было вызвано двумя тенденциями обработки данных, с одной стороны - интеграцией, а с другой - децентрализацией.

Интеграция обработки информации подразумевает централизованное управление и ведение баз данных.

Децентрализация обработки информации обеспечивает хранение данных в местах их возникновения или обработки, при этом скорость обработки повышается, стоимость снижается, увеличивается степень надежности системы.

Доступ пользователей к распределенной базе данных (РБД) и администрирование осуществляется с помощью системы управления распределенной базой данных, которая обеспечивает выполнение следующих функций:

  • автоматическое определение компьютера, хранящего требуемые в запросе данные;
  • декомпозицию распределенных запросов на частные подзапросы к базе данных отдельных ПК;
  • планирование обработки запросов;
  • передачу частных подзапросов и их исполнение на удаленных персональных компьютерах;
  • прием результатов выполнения частных подзапросов;
  • поддержание в согласованном состоянии копий дублированных данных на различных ПК сети;
  • управление параллельным доступом пользователей к РБД;
  • обеспечение целостности РБД.

Распределенная обработка данных реализуется с помощью технологии "клиент- сервер ".

Эта технология предполагает, что каждый из компьютеров сети имеет свое назначение и выполняет свою определенную роль. Одни компьютеры в сети владеют и распоряжаются информационно-вычислительными ресурсами (процессоры, файловая система , почтовая служба, служба печати , база данных ), другие имеют возможность обращаться к этим службам, пользуясь их услугами.

Рассматриваемая технология определяет два типа компонентов: серверы и клиенты.

Сервер - это объект , предоставляющий сервис другим объектам сети по их запросам. Сервис - это процесс обслуживания клиентов.

Сервер работает по заданиям клиентов и управляет выполнением их заданий. После выполнения каждого задания сервер посылает полученные результаты клиенту, пославшему это задание.

Сервисная функция в архитектуре "клиент- сервер " описывается комплексом прикладных программ, в соответствии с которым выполняются разнообразные прикладные процессы.

Клиенты - это рабочие станции, которые используют ресурсы сервера и предоставляют удобные интерфейсы пользователя. Интерфейсы пользователя - это процедуры взаимодействия пользователя с системой или сетью.

Клиент является инициатором и использует электронную почту или другие сервисы сервера. В этом процессе клиент запрашивает вид обслуживания, устанавливает сеанс , получает нужные ему результаты и сообщает об окончании работы.

Один из основных принципов технологии "клиент- сервер " заключается в разделении функций стандартного интерактивного приложения на три группы, имеющие различную природу:

В соответствии с этой классификацией в любом приложении выделяются следующие логические компоненты:

  • компонент представления, реализующий функции первой группы;
  • прикладной компонент, поддерживающий функции второй группы;
  • компонент доступа к информационным ресурсам, поддерживающий функции третьей группы.

Выделяют четыре модели реализации технологии "клиент- сервер ", представленные на рис. 6.11.


Рис. 6.11. Модели реализации технологии «клиент-сервер»

Модель файлового сервера представляет наиболее простой случай распределенной обработки данных. Один из компьютеров в сети считается файловым сервером и предоставляет другим компьютерам услуги по обработке файлов. Файловый сервер играет роль компонента доступа к информационным ресурсам (т. е. к файлам). На других ПК в сети функционирует приложения, в которых совмещены компонент представления и прикладной компонент . Использование файловых серверов предполагает, что вся обработка данных выполняется на рабочей станции, а сервер лишь выполняет функции накопителя данных и средств доступа ( рис. 6.12).

К недостаткам технологии данной модели относят низкий сетевой трафик (передача множества файлов, необходимых приложению), небольшое количество операций манипуляции с данными (файлами), отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы) и т. д.

Модель доступа к удаленным данным существенно отличается от модели файлового сервера методом доступа к информационным ресурсам. В этой модели компонент представления и прикладной компонент также совмещены и выполняются на компьютере-клиенте. Доступ к информационным ресурсам обеспечивается операторами специального языка ( SQL , если речь идет о базах данных) или вызовами функций специальной библиотеки.

Запросы к информационным ресурсам направляются по сети серверу базы данных , который обрабатывает и выполняет их, возвращая клиенту не файлы, а необходимые для обработки блоки данных, которые удовлетворяют запросу клиента ( рис. 6.13).

Основное достоинство модели доступа к удаленным данным заключается в унификации интерфейса "клиент- сервер " в виде языка SQL и широком выборе средств разработки приложений. К недостаткам можно отнести существенную загрузку сети при взаимодействии клиента и сервера посредством SQL -запросов и невозможность администрирования приложений, т. к. в одной программе совмещаются различные по своей природе функции (представления данных и прикладного компонента).

Модель сервера баз данных основана на механизме хранимых процедур. Процедуры хранятся в словаре базы данных , разделяются между несколькими клиентами и выполняются на том же компьютере, где функционирует SQL - сервер . В этой модели компонент представления выполняется на компьютере-клиенте, в то время как прикладной компонент оформлен как набор хранимых процедур и функционирует на компьютере-сервере базы данных . Там же выполняется компонент доступа к данным, т. е. ядро СУБД ( рис. 6.14).

Достоинства модели сервера баз данных:

  • возможность централизованного администрирования прикладных функций;
  • снижение трафика (вместо SQL-запросов по сети направляются вызовы хранимых процедур);
  • экономия ресурсов компьютера за счет использования единожды созданного плана выполнения процедуры.

Основной недостаток модели сервера баз данных является ограниченность средств написания хранимых процедур, представляющих собой разнообразные процедурные расширения SQL . Сфера их использования ограничена конкретной СУБД из-за отсутствия возможности отладки и тестирования разнообразных хранимых процедур.

Модель сервера приложений позволяет помещать прикладные программы на отдельные серверы приложений. Программа , выполняемая на компьютере-клиенте, решает задачу ввода и отображения данных, т. е. реализует операции первой группы. Прикладной компонент реализован как группа процессов , выполняющих прикладные функции, и называется сервером приложения. Доступ к информационным ресурсам, необходимым для решения прикладных задач, обеспечивается так же, как в модели доступа к удаленным данным, т. е. прикладные программы обращаются к серверу базы данных с помощью SQL -запросов ( рис. 6.15).

Технологии "клиент- сервер " имеют следующие преимущества:

  • позволяют организовывать сети с большим количеством рабочих станций;
  • обеспечивают централизованное управление учетными записями пользователей, безопасностью и доступом, что упрощает сетевое администрирование;
  • предоставляют эффективный доступ к сетевым ресурсам.

Наряду с преимуществами технология "клиент- сервер " имеет и ряд недостатков:

Одной из базовых функций информационной системы организации любого масштаба является обеспечение обмена информацией как внутри организации, так и за ее пределами. Однако в этом процессе имеются проблемы, связанные со скоростью обмена информацией и работой с информацией в режиме коллективного доступа. Решают эти проблемы программные продукты, организующие обработку информации по определенным технологиям. В настоящее время наибольшее распространение получили следующие технологии:

Файл-серверная технология – это работа в сетевом пространстве с доступом к файлам СУБД, хранящимся на сервере.

Обработка запроса одного пользователя:

· Обращение к БД (запрос)

· Перекачка данных с блокировкой доступа других пользователей

· Обработка данных на компьютере пользователя

В файл-серверной организации клиент работает с удаленными файлами, что вызывает существенную перегрузку трафика (поскольку СУБД-ФС работает на стороне клиента, то для выборки полезных данных в общем случае необходимо просмотреть на стороне клиента весь соответствующий файл целиком).

В целом, в файл-серверной архитектуре мы имеем "толстого" клиента и очень "тонкий" сервер в том смысле, что почти вся работа выполняется на стороне клиента, а от сервера требуется только достаточная емкость дисковой памяти.

Недостатки файл-серверной системы очевидны:

· Очень большая нагрузка на сеть, повышенные требования к пропускной способности. На практике это делает практически невозможной одновременную работу большого числа пользователей с большими объемами данных.

· Обработка данных осуществляется на компьютере пользователей. Это влечет повышенные требования к аппаратному обеспечению каждого пользователя. Чем больше пользователей, тем больше денег придется потратить на оснащение их компьютеров.

· Блокировка данных при редактировании одним пользователем делает невозможной работу с этими данными других пользователей.

· Безопасность. Для обеспечения возможности работы с такой системой Вам будет необходимо дать каждому пользователю полный доступ к целому файлу, в котором его может интересовать только одно поле.

Технология клиент-сервер разделяет приложение на две части, используя лучшие качества обеих сторон. Клиентская часть обеспечивает интерактивный, легкий в использовании, обычно графический интерфейс - находится на компьютере пользователя. Сервер (программа) обеспечивает управление данными, разделение информации, изощренное администрирование и безопасность - находится на специально выделенном компьютере - сервере).

Заметим, что интерфейс между клиентской частью приложения и клиентской частью сервера баз данных, как правило, основан на использовании языка SQL. Поэтому такие функции, как, например, предварительная обработка форм, предназначенных для запросов к базе данных, или формирование результирующих отчетов выполняются в коде приложения, а все обращения к серверу баз данных сводятся к передаче текста операторов языка SQL.

Поскольку вся работа с БД (выборка, добавление, выполнение триггеров и процедур) происходит на стороне сервера, то в клиент-серверной организации клиенты могут являться достаточно "тонкими", а сервер должен быть "толстым" настолько, чтобы быть в состоянии удовлетворить потребности всех клиентов.

При необходимости произвести обработку информации, хранящейся в БД, запущенное на компьютере пользователя клиентское приложение, работающее с БД, формирует запрос на языке SQL. Сервер базы данных принимает запрос и обрабатывает его самостоятельно. Никакой массив данных (файл) по сети не передается. После обработки запроса на компьютер пользователя передается только результат - то есть, в предыдущем примере, - список платежных поручений, удовлетворяющих нужным критериям. Сам же файл, в котором хранились данные, послужившие источником для обработки, остается незаблокированным для доступа самого сервера по запросам других пользователей.

В серьезных клиент-серверных СУБД существуют дополнительные механизмы, снижающие нагрузку на сеть, снижающие требования к пользовательским компьютерам. В качестве примера приведем хранимые процедуры - то есть целые программы обработки данных, хранящихся в БД. В этом случае от пользователя к серверу не передается даже SQL выражения - передается вызов функции с параметрами вызова. Таким образом, рабочее место пользователя еще сильнее упрощается, логика работы программы переносится на сервер. Пользовательское место становится всего лишь средством отображения информации. Все это означает дальнейшее снижение нагрузки на сеть и пользовательские рабочие станции.

Таким образом, все вышеперечисленные недостатки файл-серверной схемы устраняются в архитектуре клиент-сервер:


· клиент – компьютерное устройство, которое отсылает запросы серверу, касающиеся выполнения определенных задач или предоставления конкретной информации.

· сервер – компьютерное устройство, гораздо мощнее обычного ПК.

Система работает по следующему принципу:

1. Клиент отправляет запрос серверной машине.

2. Сервер принимает обращение с требованием выполнить определенное действие и выполняет поставленную задачу.

3. Программно-аппаратный комплекс отправляет клиенту результат выполненной работы, обработанного запроса.

Модель клиент-сервер предоставляет возможность разграничить поставленные задачи и работу над вычислениями между теми, кто заказывает услуги и теми, кто их поставляет.

Основные компоненты системы:

· клиент. Рабочая станция считается входной точкой конечного пользователя в данной системе. Отправляет запросы, получает ответы;

· сервер. Взаимодействует с многочисленными клиентами и решает поставленные ими задачи;

· сеть. Здесь происходит передача данных. Посредством сети можно соединить рабочие машины общими ресурсами;

· приложения. Могут обрабатывать информацию, организовывать физическое распределение данных между сервером и клиентом. Программным обеспечением оснащают серверные устройства для сбора данных, работы с ними и хранения. А также ПО устанавливают на компьютерной станции-клиенте.

О технологии клиент-сервер

Серверное устройство поддерживает многопользовательский режим и обеспечивает одновременно работу с несколькими клиентами. Конечно, машина не может решать в прямом смысле слова одновременно несколько поставленных задач, она выстраивает запросы в очередь по мере поступления, обрабатывает обращения и отправляет результаты работы. Запросы можно выстраивать в списке по приоритетности. Чем важнее запрос, тем быстрей его обрабатывают, даже, если он поступил позже.

Именно технология клиент сервер предоставляет возможность реализовать вышеуказанные многочисленные поставленные задачи. Обычно клиент – это браузер конкретного пользователя. А серверами зачастую выступают:

· наборы серверных машин (например, Denwer);

Архитектура клиент-сервер

Благодаря архитектуре клиент и сервер определены позиции взаимной связи между компьютерными машинами лишь в целом. Что же касается нюансов взаимодействия, они определены протоколами. Технология вполне прозрачно намекает на разделение в сети рабочих машин: серверы и клиенты. Рабочий контакт всегда инициирован клиентской машиной. Протокол же описывает, по каким правилам этот контакт установлен и действует.

Архитектура взаимодействия между клиентом и сервером подразделяется на два вида:

· многоуровневая. Речь идет о любой современной архитектуре СУБД. Принципиальное отличие и особенность: запросом клиента занимаются одновременно несколько серверных устройств. Операции перераспределяются, нагрузка на серверную машину снижена и оптимальная. Единственный минус: низкая надежность по сравнению с предыдущим вариантом.

Многоуровневая клиент-серверная архитектура

Обработкой данных занимаются несколько разных серверов. Благодаря такому подходу возможности серверов и клиентов используются более эффективно за счет разделения функций:

К тому же, систему можно точнее разделить на функциональные блоки для выполнения конкретной роли. Для этого между собой взаимодействуют разнообразные серверы приложений. К примеру, реально выделить сервер, необходимый для выполнения всего функционала по управлению персоналом. При этом реально сделать такую настройку, что пользователи смогут пользоваться только его общедоступным функционалом, а детали реализации серверной машины будут недоступны, так как с ней свяжут отдельную базу данных. Подобные системы легко адаптируются под веб, ведь легче организовать доступ пользователей к конкретному функционалу БД посредством html форм, чем ко всей БД.

На веб-технологию очень просто перевести многоуровневую систему. Заменяют клиентскую часть браузером спецтипа или универсального назначения. При этом дополняют веб-сервером и компактными программными модулями сервер приложений. Многоуровневая архитектура также использует менеджеры транзакций. Обмен информацией одновременно происходит между одной серверной машиной приложений и несколькими серверами БД.

· информация защищена и безопасно хранится. Так как серверная машина БД ведет базы данных, можно независимо от программ пользователя обрабатывать информацию в базе;

· повышенная стойкость к сбоям. Сохранена целостность информационных запросов, они доступны другим пользователям, если во время работы клиента случился сбой;

· масштабируемость. Архитектура адаптируется к увеличению количества пользователей. База данных также расширяется в объеме. Однако при этом не поставлена задача менять ПО. Система наращивает аппаратные средства, так происходит подстройка под меняющиеся факторы;

· повышенная защита данных от взлома и опасных атак;

· один пользователь меньше нагружает сеть, поэтому увеличивается ее пропускная способность. Можно удовлетворить запросы большего количества пользователей;

Преимущества и недостатки архитектуры клиент-сервер

Разделен код программы клиентского и серверного приложения. Это главное преимущество архитектуры. Выбрана локальная сеть. Поэтому плюсы следующие:

· к клиентским рабочим станциям выдвигают низкие запросы;

· преимущественно все вычислительные операции выполняются на серверах;

· реально повысить защиту локальной сети.

Но не все так гладко с клиент-серверной архитектурой, есть и недостатки:

· серверные машины стоят в разы дороже, чем клиентские рабочие станции;

· обслуживание серверов доверяют только квалифицированным и профессионально подготовленным специалистам;

· работа клиентских компьютерных устройств остановлена, если в локальной сети «полетело» серверное оборудование.

Важно понимать, что нет четкого разделения оборудования на клиентское и серверное. Просто архитектура к/с дает возможность перераспределить и оптимизировать загруженность и распределить функциональность между этими рабочими станциями.

В классическом понимании СУБД представляет собой набор программ, позволяющих создавать и поддерживать базу данных в актуальном состоянии и обслуживать запросы пользователей. Функционально СУБД состоит из трех частей: ядра базы данных, языка и инструментальных средств программирования. Инструментальные средства программирования относятся к интерфейсу клиента, или внешнему интерфейсу. Они могут включать процессор обработки данных на языке запросов. Наиболее употребительными языками являются SQL и QBE. Язык – это совокупность процедурных и непроцедурных команд, поддерживаемых СУБД. В последнее время наблюдается тенденция применения объектно-ориентированных языков (Visual Objects – VO) для разработки приложений с использованием СУБД. Например, такие СУБД, как FoxPro, Dbase, расширены визуальными редакторами.

Ядро выполняет все остальные функции, которые включены в понятие «обработка базы данных». Термины «ядро», «сервер базы данных», «внутренний интерфейс» синонимы.

Основная идея технологии «клиент-сервер» заключается в том, что­бы расположить серверы на мощных машинах, а приложения клиентов, использующих язык инструментальных средств, – на менее мощных машинах. Тем самым будут задействованы ресурсы более мощного сервера и менее мощных машин клиентов. Ввод-вывод к базе основан не на физиче­ском дроблении данных, а на логическом, т.е. клиентам отправляется не полная копия базы, а сервер посылает только логически необходимые порции, тем самым, сокращая трафик сети. Трафик сети – это поток сообще­ний сети. В технологии «клиент-сервер» программы клиента и его запросы хранятся отдельно от СУБД. Сервер обрабатывает запросы клиентов, вы­бирает необходимые данные из базы данных, посылает их клиентам по сети, производит обновление информации, обеспечивает целостность и сохранность данных.

Рассмотрим основные виды технологии распределенной обработки данных:

1. Технология «клиент-сервер», ориентированная на автономный компьютер, т.е. и клиент, и сервер размещены на одной ЭВМ. По функциональным возможностям такая система аналогична централизованной СУБД. Ни распределенная обработка, ни распределенная СУБД не поддерживаются.

2. Технология «клиент-сервер», ориентированна на централизованное распределение. Клиенты получают доступ к данным одиночного сервера. Данные могут только считываться. Динамический доступ к данным реализуется посредством удаленных транзакций и запросов. Их число должно быть невелико, иначе снизится производительность системы.

3. Технология «клиент-сервер», ориентированная на локальную вычислительную сеть. Единственный сервер обеспечивает доступ к базе. Клиент формирует процесс, отвечающий за содержательную обработку данных, их представление и логический доступ к базе. Доступ к базе данных замедлен, так как клиент и сервер связаны через локальную сеть.

4. Технология «клиент-сервер», ориентированная на изменения данных в одном месте. Удаленные серверы не связаны между собой сетью ЭВМ, т.е. отсутствует сервер-координатор. Клиент может изменять данные только в своей локальной базе. Возникает опасность «смертельных объятий», т.е. ситуация, когда задача А ждет записи, заблокированные задачей В, а задача В ждет записи, заблокированные задачей А. Поэтому распределенная СУБД должна иметь средство контроля совпадений противоречивых запросов. Распределение данных реализует метод расчленения; реализуется обработка распределенной транзакции.

5. Технология «клиент-сервер», ориентированная на изменение дан­ных в нескольких местах. В отличие от предыдущей технологии здесь име­ется сервер-координатор, поддерживающий протокол передачи данных между различными серверами.


Возможна обработка распределенных тран­закций в разных удаленных серверах. Это создает предпосылки разработки распределенной СУБД. Реализуется стратегия смешанного распределения путем передачи копий с помощью сетевой СУБД.

6. Технология «клиент-сервер», ориентированная на сетевую СУБД. Обеспечивает стратегию расчленения и дублирования. Позволяет получить более быстрый доступ к данным. Распределенная СУБД обеспечивает не­зависимость клиента от места размещения сервера, глобальную оптимиза­цию, распределенный контроль целостности базы, распределенное адми­нистративное управление.

Во всех технологиях существуют два способа связи прикладных программ клиента и сервера баз данных: прямой и непрямой. При прямом соединении прикладная программа клиента связывает­ся непосредственно с сервером базы данных, а при непрямом – доступ к удаленному серверу обеспечивается средствами локальной базы. Возможно объединение обоих способов.

Преимущества технологии «клиент-сервер»:

ü не требуются одновременные крупные финансовые вложения, так как мощность можно наращивать постепенно;

ü добавление сервера или рабочей станции повышает общую мощность системы;

ü пользователь имеет большой выбор платформ;

ü технология «клиент-сервер» имеет большую гибкость и производительность при построении многоуровневых информационных систем.

Использование технологии «клиент-сервер» позволяет перенести часть работы с сервера баз данных на ЭВМ клиента, оснащенную инстру­ментальными средствами для выполнения его профессиональных обязан­ностей. Тем самым данная технология позволяет независимо наращивать возможности сервера баз данных и инструментальные средства клиента. Недостаток технологии «клиент-сервер» заключается в повышении требо­ваний к производительности ЭВМ-сервера, в усложнении управления вычислительной сетью, кроме того, при отсутствии сетевой СУБД трудно ор­ганизовать распределенную обработку.

Под платформой сервера баз данных понимают возможности опе­рационной системы компьютера и сетевой операционной системы (ОС). Каждый сервер баз данных может работать на определенном типе компью­тера и сетевой ОС. Операционные системы серверов – это DOS версии выше 5.0, Unix, Windows NT, OS/2 и др. В настоящее время наиболее употребительными являются около десяти серверов. Наиболее популярными из них являются Microsoft SQL-server 6.5, SQLbase-server, Oracle-server и др.

Серверы баз данных рассчитаны на поддержку большого числа различных типов приложений. Для реализации интерфейса с сервером базы данных можно использовать объектно-ориентированные средства, электронные таблицы, текстовые процессоры, графические пакеты, настольные издательства и другие информационные технологии. Рост объемов распределенных баз данных выявил следующие проблемы их использования:

ü управление распределенными системами очень сложно, и инструментов для него катастрофически не хватает;

ü сложные распределенные решения обходятся дороже, чем планировалось;

ü производительность многих приложений в распределенных системах недостаточна;

ü усложнилось решение проблем безопасности данных.

Решением этих проблем становится возврат к централизованной об­работке на базе больших ЭВМ, называемых мэйнфреймами третьего поко­ления. Новое семейство CMOS-мэйнфреймов IBM S/390 Parallel Enterprise Server – Generation 3 с воздушным охлаждением конкурентно по цене и производительности Unix/RISC-серверам. Оперативная память мэйнфрей­мов от 512 Мбайтов до 8 Гбайт. Они имеют от 3 до 25 каналов. Внутреннее дисковое устройство может иметь суммарную емкость от 18 до 288 Гбайт. Операционная система OS/390 версия 2 поддерживает реляционную СУБД ДВ2, систему обеспечения транзакций CICS и серверы безопасности, отве­чающие стандартам DCE Security Server OSF 1.1 и RACF V2R2. Посредст­вом Web-сервера можно подключаться к сети Internet и вести коммерче­скую деятельность. Операционная система OS/390 имеет средства работы с Java-приложениями.

Компания Oracle совместно с Hewlett-Packard и ЕМС предложила другое решение. Для хранения данных предназначены направляемые дис­ковые подсистемы Integrated Cached Disk Array ЕМС Symmetrix 3500, рабо­тающие под управлением операционной системы HP-UX 100. Суммарная информационная емкость таких систем от 500 Гбайт до 1 Тбайт. Такие системы являются основой для создания информационных хранилищ.

Срочно?
Закажи у профессионала, через форму заявки
8 (800) 100-77-13 с 7.00 до 22.00

Читайте также: