Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Раздел 4. Интеллектуальные технологи технико-экономических систем

Поиск

 

 

Лекция №4

По дисциплине «Научный семинар «Рroblems of the development of smart grids in the energy sectors» («Проблемы развития интеллектуальных

сетей в энергетическом секторе»)

 

Раздел 4. Интеллектуальные технологи технико-экономических систем

Тема 4.1: Технологии распределенных сервисов

 

 

Изучаемые вопросы:

 

1. Распределённые сетевые приложения

2. Системы обработки информации в масштабе предприятия

3. Основные уровни архитектуры распределенного приложения

4. Контрольные вопросы

 

 

Учебная цель:

 

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

 

Время: 2 часа

 

Литература:

1. Радченко Г.И. Распределенные вычислительные системы / Г.И. Радченко. -Челябинск: Фотохудожник, 2012. - 184 с.

2. Г. Маклеод (Hugh Macleod) «Самый хорошо охраняемый секрет Облаков» technorati.com/posls/lv3vwaZ9hbuGSZx iQseIqa Sli29LQGiWvRkNoZ4bO%3D?reactions

3. Сейдаметова З.С., Аблялнмова Э.И., Меджитова Л.М., Сейтвелиева С.Н., Темненко В.А. Облачные технологии и образование: под общ. ред. З.С. Сейдаметовой. -Симферополь: «ДИАЙПИ», 2012. - 204 с.

 


 

1. Распределённые сетевые приложения.Архитектура, основанная на сервисах, - это новый шаг в направлении комплексного решения проблемы создания распределенных приложений, выполняющихся на многих компьютерах. Сетевое (распределенное) приложение является одной из составляющих программного обеспечения вычислительных сетей. Все сетевые службы, включая файловую службу, службу печати, электронной почты, службу удаленного доступа, Интернет-телефонию, по определению относятся к классу распределенных приложений. Действительно, любая сетевая служба включает в себя клиентскую и серверную части, которые могут и обычно выполняются на разных компьютерах.

Под термином распределенное приложение (Distributed application) понимается приложение, которое выполняется в среде распределенных вычислений, модули такого приложения могут выполняться на разных вычислительных системах.

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

Распределенная обработка данных (Didtributed Data Processing) - методика выполнения прикладных программ группой систем, при этом пользователь получает возможность работать с сетевыми службами и прикладными процессами, расположенными в нескольких взаимосвязанных абонентских системах.

Существует два типа сетевых приложений: чисто сетевые (pure) и обособленные (standalone). Чисто сетевые приложения разработаны для применения в сетях, их на отдельных компьютерах использовать не имеет смысла. Наоборот, обособленные приложения призваны работать на отдельном компьютере. Для расширения возможностей они перестроены для работы в сетях.

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

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

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

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

- экономия от масштабирования: новое серверное приложение не требуется для каждого пользователя.

Ниже, на рис. 10.1 и рис. 10.2, иллюстрируются различные схемы взаимодействия централизованного и распределенного сетевого приложения. Централизованное сетевое приложение целиком выполняется на данном компьютере, но обращается в процессе своего выполнения к ресурсам других компьютеров сети.

 

 

Рис. 10.1. Схема взаимодействия централизованного приложения

 

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

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

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

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

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

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

 

 

Рис. 10.2. Схема взаимодействия распределенного приложения

 

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

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

- пространственное разделение (подразделения организации разнесены в пространстве и зачастую имеют слабо унифицированное программное обеспечение);

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

- ориентация на внешнюю информацию (работа с клиентами и их запросами).

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

 

 

 

Рис. 10.3. Схема распределения вычислений

 

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

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

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

2) Объединение и интеграция. Вторым условием является наличие простых и удобных способов объединения и интеграции Web -служб.

3) Простота и удобство работы пользователя. Третье условие — это наличие простой и удобной рабочей среды для конечных пользователей и потребителей.

По мнению корпорации Microsoft, этим условиям удовлетворяет платформа .NET. Платформа .NET стимулирует развитие распределенных систем нового поколения и строится на признанных концепциях и стандартах. Платформу .NET образуют следующие компоненты: средства разработки; серверные системы; службы .NET Building Block Services — «строительные блоки»; программное обеспечение для устройств; специализированные рабочие среды (реализованы в виде приложений на платформе .NET). Она дает широкие возможности получения и использования деловой и технической информации и внедрения новых моделей интеллектуальных технических систем и бизнеса, позволяющих сочетать глобальный охват технических систем и рынка с персональным подходом к каждому клиенту.

 

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

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

- представление данных (пользовательский уровень): пользователи приложения могут просмотреть необходимые данные, отправить запрос на выполнение, ввести в систему новые данные или отредактировать их;

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

- хранение данных (уровень данных): это уровень серверов баз данных. На этом уровне расположены сами серверы, базы данных, средства доступа к данным, различные вспомогательные инструменты.

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

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

Таким образом, можно выделить четыре основных уровня распределенной архитектуры (рис. 10.4).

 

 

Рис. 10.4. Уровни архитектуры

 

Уровни архитектуры распределенного приложения:

- представление данных (пользовательский уровень);

- правила бизнес-логики (уровень обработки данных);

- управление данными (уровень управления данными);

- хранение данных (уровень хранения данных).

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

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

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

 



Поделиться:


Последнее изменение этой страницы: 2024-06-17; просмотров: 5; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.0.20 (0.009 с.)