М. Н. Машкин Информационные технологии Учебное пособие

Вид материалаУчебное пособие

Содержание


22.1Эволюция вычислений
Подобный материал:
1   ...   28   29   30   31   32   33   34   35   ...   45

22.1Эволюция вычислений


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

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

В 80-е годы произошло то, что навсегда изменило характер вычислений: появились персональные компьютеры и рабочие станции, у которых несколько преимуществ перед большими ЭВМ. Персональные рабочие станции - это недорогие и простые в использовании компьютеры, обеспечивающие сегодня вычислительные возможности и производительность, сопоставимые с уровнем мэйнфреймов. Пользователь может выбрать тип рабочей станции, операционной системы и приложений, лучше отвечающих его потребностям. Переход к независимым персональным вычислениям не только сулит преимущества, но и порождает свои проблемы. В частности, корпоративная информация, ранее централизованная и доступная на большой ЭВМ всем сотрудникам, теперь распределяется между мэйнфреймом и персональными рабочими станциями. Таким образом, выигрыш в отношении цена/производительность и простоте использования, который обеспечивает персональная обработка данных, легко может быть сведен на нет потерями в продуктивности труда коллективов, которым необходим доступ ко всей распределенной информации. Кроме того, пользователи несвязанных персональных рабочих станций не могут совместно эксплуатировать другие ресурсы: диски, принтеры, модемы и т.д.

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

Однако отдельные свойства модели вычислений на базе сети с файловым сервером не позволяют ей адекватно обслуживать требующие высокой производительности многопользовательские приложения с разделяемыми данными, которые легко поддерживают большие ЭВМ. Кроме того, такая модель не обеспечивает необходимого для многих приложений согласованного доступа нескольких пользователей к одному набору данных. Здесь сервер имеет дело с файлами – очень большими наборами данных - и не допускает одновременного обращения к файлу из нескольких узлов сети, поскольку при доступе к нему одного пользователя он блокируется, а остальные вынуждены ждать, пока файл не освободится. К тому же если множество файлов запрашивают и передают по сети сразу несколько рабочих станций, интенсивный трафик ухудшает производительность системы.

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

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

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