
- •Тема 1.Корпоративные информационные системы. Задача интеграции. Корпоративные системы.
- •Модель osi – набор стандартов для построения корпоративной системы
- •Интегрированные и комплексные приложения
- •Задача: общие данные, общие процедур, общие вычислительные ресурсы.
- •Проблемы на пути интеграции
- •Тема 2.Прозрачность. Открытость. Масштабируемость. Концепции аппаратных решений. Определение распределенной системы. Прозрачность.
- •Открытость.
- •Масштабируемость.
- •Параллелизм.
- •Raid-технологии.
- •Концепции аппаратных решений. Мультипроцессоры.
- •Гетерогенные мультикомпьютерные системы.
- •Симметричное мультипроцессирование
- •Кластеры.
- •Тема 3.Двухуровневые, трехуровневые, распределенные одноранговые информационные системы. Виды ис
- •Функциональная нагрузка компонентов в ис
- •Двухуровневые архитектуры
- •Трехуровневые архитектуры
- •Распределенные одноранговые архитектуры
- •Единое информационное пространство. Подход к построению объектно-ориентированной одноранговой информационной системе.
- •Архитектура взаимодействия компонент распределенной ис
- •Тема 4.Обзор методов интеграции. Введение
- •Пути устранения аппаратных различий, кросс – платформенные приложения.
- •Java applets, апплеты.
- •Файлы (буферы) общего доступа.
- •Единый язык доступа к данным (sql).
- •Обмен сообщениями (dde).
- •Удаленный вызов процедур (rpc)
- •Вставка и внедрение объектов
- •Ole (связывание и внедрение объектов), ole Automation.
- •Классификация приложений по отношению к технологии ole (com).
- •ActiveX объекты.
- •Идентификация com объектов.
- •Сравнение com (ActiveX) объектов и java апплетов.
- •Доступ к удаленным объектам (dcom, .Net, corba)
- •Использование командных файлов и скриптов
- •Доступ к базам данных (ado, dao, odbc)
- •Применение web-технологий
- •Именованные каналы
- •Процедуры, функции, передача параметров, область видимости.
- •Типы данных.
- •Вызов макроса с вычисляемым именем
- •Запуск макроса в заданное время
- •Запуск внешней программы, управление ею
- •Вызов api-функций и других библиотечных функций
- •Программное изменение кода.
- •Динамические массивы
- •Объектно-ориентированное программирование Базовые понятия ооп
- •Расширение объектной модели
- •Коллекция
- •Раннее и позднее связывание
- •Дополнительные элементы управления (ActiveX –объекты)
- •Описание программирования в vba, модели com Доступ к вставленным в документ ole-объектам
- •Доступ к внешним com-серверам
- •Вычисляемые свойства, свойства только для чтения.
- •События. Обработчики событий.
- •Использование событий объекта Application
- •Использование диалогов
- •Свойство для программиста.
- •Пользовательские классы. Классы.
- •Класс, объекты которого реагируют на события.
- •Моделирование наследования. Фактическое наследование. WithEvents.
- •Пользовательские события.
- •Как исп польз события
- •Создание экземпляра класса.
- •Автоматическая сборка мусора
- •Уничтожение экземпляра класса
- •???Интерфейсы.
- •Тема 6.???Интеграция при помощи промежуточного буфера
- •Тема 7.Обмен сообщениями. Протокол dde.
- •Задачи интеграции и децентрализации.
- •Фрагментация данных и размещение
- •Язык доступа к данным sql Стандартные команды
- •Язык запросов
- •Изменение данных при помощи sql
- •Изменение структуры базы данных при помощи ddl
- •Выполнение команд изменения структуры, изменения базы данных
- •Расширения Jet 4.0 ansi-92
- •Доступ к базам данных.
- •Доступ к базам данных с помощью odbc.
- •Доступ через odbc из Delpi7.
- •Доступ к базам данных с помощью технологий ado. Соединение, курсор
- •Свойства и методы набора записей (курсора).
- •Вызов отчетов, сформированных в базе данных
- •Пример dao
- •???Доступ к базам данных с помощью технологий dao.
- •Удаленный вызов процедур.
- •Обращение к удаленным объектам. Привязка клиента к объекту. Статическое и динамическое удаленное обращение к методам. Передача параметров. Dce, rmi.
- •Тема 13.Распределенная система объектов corba. Введение.
- •Архитектура системы.
- •Структура связей corba.
- •Исключения corba.
- •Передача параметров.
- •Corba-объекты и серванты.
- •Отображение idl на языки программирования
- •Объектные адаптеры.
- •Транзакции и сервис транзакций в corba.
- •Тема 14.Обзор технологий dcom, .Net Определение
- •Немного истории
- •Решение .Net
- •Модель .Net
- •Обзор двоичных файлов .Net.
Параллелизм.
Программное обеспечение, запущенное на SMP или кластерных системах должны использовать параллелизм, чтобы извлечь выгоду из большого числа дисков и процессоров.
Существует два общих параллелизма:
При использовании поточного параллелизма (pipeline parallelism) задача разбивается на последовательность шагов. Параллелизм проявляется в одновременном выполнении разных шагов разных задач. Для одной же задачи шаги выполняются последовательно. Результат одного шага посылается на следующий. Пример – промышленные линии сборки. Задача – сборка автомобиля. Подзадачи – прикручивание колес, установка сидений, двигателя и т.п. Если шаг 2 не готов принять результаты шага 1, то полуфабрикаты накапливаются и используются позже. Но вследствие поточного параллелизма по конвейерной линии могут идти несколько машин одновременно.
При применении параллелизма с разбиением (partition parallelism) задача также разбивается на фрагменты, но важно то, что эти фрагменты независимы, то есть они могут выполняться параллельно. Пример - несколько комбайнов, одновременно собирающих урожай с нескольких полей. Общая задача – уборка. Подзадача – уборка одного поля.
В хороших системах должны работать оба типа параллелизма. Пример – MS SQL Server, в котором распределение данных по дискам приводит к тому, что могут одновременно считываться с дисков части информации – раздельный параллелизм. Кроме того, MS SQL Server использует поточный параллелизм, формируя выборку с упреждением чтения с диска (в этом состоянии может находиться одна задача), обрабатывая данные (в этом состоянии находится вторая задача) и посылая результат приложению (это – состояние третьей задачи).
Microsoft Windows Server является полностью поточной операционной системой. Также она имеет встроенное разделение дисков. Это позволяет распределить логические тома между несколькими физическими. Каждый логический том может быть RAID (избыточный распределенный дисковый массив) или обычным диском. Windows 2000 Server поддерживает физическую и программную реализацию RAID-массивов.
Raid-технологии.
Цель программной или аппаратной реализации RAID массивов – достижение более высокой скорости работы с дисками и/или достижение более высокой надежности работы дисков. Когда имеют дело с физически организованным RAID-массивом, обычно говорят о RAID-контроллере. Такие массивы часто используются на серверных станциях. Начиная с Windows-2000 Microsoft предлагает программную реализацию RAID-массива. Основные принципы программной реализации не отличаются от аппаратной за исключением того, что всюду в качестве носителя может быть использован раздел диска, а не весь физический диск, как это делается в случае аппаратной реализации. Ниже мы не будем делать упор на различия, а разберем сами принципы.
Существует несколько видов RAID.
Самый первый появившийся вид состоит в том, чтобы дать возможность пользователю видеть несколько физических разделов одного или нескольких диска в виде одного логического диска. Такой вид организует достаточно большое адресное пространство, он не предоставляет повышенной надежности и, вообще говоря, скорости. Хотя скорость обращения возрастает в случае одновременного обращения к разным дискам. На физически организованных массивах такого вида может объединяться до 128 дисков.
На следующей схеме изображены три диска, каждый из которых разделен на некоторое количество разделов. Зеленым отмечены фрагменты одного логического диска.
Диск 1
|
|
|
|
Диск 2
|
|
|
Диск 3
|
Рисунок 1 – Разделы, объединенные в 1 логический том
Следующий вид предоставляет повышенную скорость без повышения надежности. Это тома с чередованием, организованные следующим образом: два или более физических дисков объявляются одним логическим. При этом записываемая на диск информация разбивается на части и запись нескольких частей на разные физические диски идет параллельно. Скорость записи на такой массив возрастает практически в два раза. Возможно чередование не только двух, но и трех и более дисков.
Диск 1
|
Мама раму. |
Исходный файл: Мама мыла раму. |
Диск 2 |
|
мыла |
Рисунок 2 – Запись на RAID-том с чередованием
Следующий вид RAID – зеркальный или теневой том. Здесь также два физических диска объявляются одним логическим. Но основная цель данного вида – повышение надежности. Поэтому запись всего файла идет одновременно на оба носителя. При поломке одного носителя, информация может быть прочитана со второго. Цена надежности – фактически потерянное пространство второго диска.
Диск 1
|
Мама мыла раму. |
Исходный файл: Мама мыла раму. |
Диск 2 |
|
Мама мыла раму. |
Рисунок 3 – Запись на RAID-том с зеркалированием
RAID 5 – отказоустойчивая технология хранения, предоставляющая повышенную скорость работы. Здесь диски организованы таким образом, что одновременно идет запись одного фрагмента данных на один носитель, второго – на второй, а на третий носитель записывается их логическая сумма. По используемому пространству RAID 5 эффективнее зеркалирования, а предоставляемое повышение скорости работы делает этот вид наиболее приемлемым.
Поясним работу RAID-5. В этой технологии для хранения данных используются сразу три диска. На первом храним первую половину данных, на втором – вторую, на третьем – результат операции "исключающее ИЛИ" (XOR), примененной к этим двум половинам. В этом случае утеря любой части не критична, т.к. она восстанавливается по двум оставшимся. Деление на части может происходить по-разному. Например, по битам, по блокам. Приведем пример побитного деления. Пусть исходное данное "100111". Серым цветом выделены биты с нечетными номерами. Тогда на первый диск запишется каждый нечетный бит "101", на второй диск запишется каждый четный бит "011", на третий диск – "110". Очевидно, что при утере информации на диске 3, она заново просчитывается по исходным данным, а при утере информации на диске 1 (аналогично на 2) она вычисляется как результат операции: диск 2 XOR диск 3.
RAID 10 – отказоустойчивая система, использующая несколько физических дисков, то есть некоторая комбинация тома с чередованием и зеркального тома.