Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Исследование нестационарных режимов работы систем вентиляции герметичных отсеков пассажирских самолетов и их влияние на выбор рациональных параметров системы кондиционирования воздуха Волков, Андрей Алексеевич

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

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Волков, Андрей Алексеевич. Исследование нестационарных режимов работы систем вентиляции герметичных отсеков пассажирских самолетов и их влияние на выбор рациональных параметров системы кондиционирования воздуха : диссертация ... кандидата технических наук : 05.07.02 / Волков Андрей Алексеевич; [Место защиты: Моск. гос. авиац. ин-т].- Москва, 2013.- 174 с.: ил. РГБ ОД, 61 14-5/521

Содержание к диссертации

Введение

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

1.1. Направления информатизации Российской экономики 16

1.2. Проблемы и перспективы развития АСТПП 20

1.3. Развитие аутсорсинга информационных услуг 26

1.4. Тенденция к интеграции информационных потоков 30

1.5. Выводы 38

2. Архитектура и средства построения информационных систем 40

2.1. Характеристика информационных систем как объекта исследования.40

2.2. Основные компоненты и концепции архитектуры «клиент-сервер»...42

2.3. Разделение функций в информационных системах 45

2.4. Типовые технологии создания информационных систем 48

2.5. Методики анализа и моделирования информационных систем 54

2.6. Выводы 63

3. Методы разработки оптимальных структур данных 65

3.1. Оптимальное размещение данных и критерии оптимальности 65

3.2. Варианты организации иерархии данных в реляционных системах .72

3.2.1. Ограничения в иерархических структурах данных 72

3.2.2. Структура со ссылкой на предка и неограниченной иерархией .75

3.2.3. Структура с хранением уровня иерархии 79

3.2.4. Иерархия с неограниченной глубиной и конечным числом потомков 81

3.2.5. Иерархия с потабличным хранением конечного числа уровней...82

3.2.6. Иерархическая структура с поразрядным ключом 85

3.2.7. Иерархическая структура с хранением границ ветви 90

3.2.8. Иерархия с компонентом типа «узел» 91

3.3. Объектно-реляционные технологии создания баз данных 96

3.3.1. Абстракции объектов баз данных 96

3.3.2. Унифицированный подход к обобщению реляционных отношений 101

3.3.3. Метод конструирования объектов реляционной модели 105

3.3.4. Использование встроенных средств объектно-реляционных баз данных 112

3.3.5. Схемы объектно-реляционного представления хранилища данных 119

3.4. Организация единого информационного пространства и проблемы интеграции 129

3.5. Выводы 134

4. Эффективные методы разработки клиентских приложений 136

4.1. Проблемы миграции данных и процедуры их программирования 136

4.1.1. Стратегии реорганизации и перехода на другую архитектуру 136

4.1.2. Перенос данных методом обратного проектирования 138

4.1.3. Поддержка логических типов данных 140

4.1.4. Устранение несовместимости кодировок текста 141

4.1.5. Автоматическое конвертирование форматированных текстов ... 142

4.1.6. Исправление ошибок в датах 145

4.1.7. Синхронизация данных стандартными средствами SQL 148

4.1.8. Обновление данных последовательным сравнением 150

4.1.9. Обновление связки таблица-справочник 152

4.1.10. Синхронизация больших наборов данных 154

4.2. Методы оптимизации SQL-запросов 156

4.2.1. Индексация таблиц данных 158

4.2.2. Логические эквивалентные преобразования запросов 160

4.2.3. Логическая оптимизация операций соединения 163

4.2.4. Семантическая оптимизация запросов 170

4.3. Нетрадиционные способы формирования отчетов 172

4.3.1. Динамическое создание отчетов 172

4.3.2. Формирование произвольных запросов по выбору пользователя 177

4.4. Методы хранения нестандартных типов данных 183

4.4.1. Универсальный метод описания диапазонов данных 183

4.4.2. Хранение большого количества однотипных атрибутов 185

4.4.3. Разделение множества данных на подмножества 187

4.4.4. Репликация подмножества данных 188

4.4.5. Частичные отношения 190

4.4.6. Хранение в базе данных результатов выполнения запросов 192

4.4.7. Денормализация реляционных отношений 192

4.5. Представление графической информации в базах данных 194

4.5.1. Выбор формата графического представления данных 194

4.5.2. Организация совместной работы внешнего приложения и графической среды 199

4.5.3. Управление графическими построениями 201

4.5.4. Параметрическое представление графической информации в базе данных 204

4.6. Web-технологии разработки интерфейсов Интернет-приложений 207

4.6.1. Технология «спагетти» 209

4.6.2. HTML-шаблоны 210

4.6.3. Технология Custom Tags 211

4.6.4. Шаблоны XML/XSL 212

4.6.5. DOM-конструкторы HTML 213

4.6.6. Элементы API 213

4.7. Средства управления доступом к базам данных 215

4.8. Выводы 219

5. Обеспечение качества информационных систем 222

5.1. Принципы проверки качества и методики тестирования 222

5.2. Сравнительная оценка эффективности вариантов иерархической структуры данных 226

5.3. Оценка производительности и работоспособности систем с различной архитектурой 231

5.4. Выводы 236

6. Практическая реализация методов проектирования баз данных 238

6.1. Автоматизированный учет состояния технологического оборудования 238

6.2. Экспертная система комплексного обследования ГПМ 252

6.3. Программно-аппаратный комплекс защиты информации в БД 256

6.4. Выводы 261

Заключение 263

Список использованных источников 266

Развитие аутсорсинга информационных услуг

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

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

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

нехватка специалистов требуемой квалификации во всех сферах ИТ (на уровне 20% [74]);

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

возможность высвобождения внутренних ресурсов для других задач;

более дешевая альтернатива собственным ресурсам;

получение сервиса и конечного результата более высокого качества.

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

В России технология ИТ-аутсорсинга пока не получила такого широкого распространения, как на западе. Только половина (49%) российских ИТ-предприятий и служб работают по схеме аутсорсинга [3]. Развитию технологии ИТ-аутсорсинга препятствуют следующие основные факторы:

отсутствие быстрого экономического эффекта от реализации ИТ-проектов в ближайшем обозримом будущем;

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

подозрение в завышенных требованиях, предъявляемых внешним ИТ-поставщиком к производительности серверов и сетевой инфраструктуре, а также в избыточной функциональности ПО, создаваемого в условиях аутсорсинга по принципу универсальности;

возможность переложить ошибки, просчеты и потери поставщика ПО на плечи потребителя;

снижение уровня безопасности, риск утечки конфиденциальной информации при обслуживании БД;

опасность потерять контроль над информационными процессами, попасть под монопольную зависимость от ПО и услуг ИТ-поставщиков.

Для успешного функционирования и обеспечения качества ИТ-продукции в современных условиях руководители ИТ-организаций внедряют стратегию управления качеством. Требования к системам менеджмента качества разработаны с учетом интересов всех участников цепочки «поставщик-организация-потребитель» независимо от сектора экономики и категории продукции и утверждены на уровне государственных и международных стандартов [123,124].

ГОСТ Р ИСО 9001-2001 и соответствующий международный стандарт ISO 9001:2000 [124] различают требования к системам менеджмента качества и требования к продукции. Сертификация по ISO 9000 требует от ИТ-компании выполнения целого ряда рутинных процедур, но еще не гарантирует хорошее качество продукции. Применительно к сфере ИТ, термин «продукция» означает программный продукт или информационную услугу. Деятельность ИТ-организации является эффективной, если она демонстрирует свою способность предоставлять ИТ-продукцию и оказывать ИТ-услуги, отвечающие установленным нормам и требованиям потребителей. Обеспечение качества ИТ-продуктов во многом зависит от грамотного использования современных технологий тестирования и других методов контроля качества ПО, рассмотренных в главе 5. Недобросовестные производители ПО перекладывают функции тестирования на плечи рядовых пользователей, выпуская недостаточно проверенные или так называемые условно бесплатные бэта-версии программных продуктов. Все чаще предприятия сталкиваются с проблемой, когда при наличии квалифицированных и добросовестных ИТ-специалистов они постоянно заняты и перегружены, а количество неисправностей, инцидентов и других внештатных ситуаций постоянно увеличивается. При этом затраты на развитие ИТ непрерывно растут и уходят неизвестно куда.

Для оптимальной организации работы ИТ-служб разработана принципиально новая стратегия управления ИТ-услугами IT Service Management (ITSM) [125]. Этот перспективный подход позволяет реорганизовать деятельность ИТ-службы как сервисной структуры с точки зрения революционного в современных условиях процессного управления. Деятельность любой сервисной организации в области технической поддержки и предоставления ИТ-услуг рассматривается через процессы взаимодействия ИТ-поставщика с потребителями.

Результатом стремительного развития стратегии ITSM стало создание библиотеки мирового передового опыта IT Infrastructure Library (ITIL) [126], являющейся собранием лучших подходов и методик в области построения ИТ-служб и предоставления ИТ-услуг. В настоящее время библиотека ITIL поддерживается всем мировым ИТ-сообществом в качестве международного стандарта в области управления ИТ-услугами.

Структура со ссылкой на предка и неограниченной иерархией

В описание сущности добавляется поле - ссылка на первичный ключ предка. Ниже приведено описание структуры со ссылкой на предка на языке SQL (рис. 3.3): tbl_name U INTEGER pk name \ VARCHAR (254) parentjd INTEGER- - fk id = parentjd Рис. 3.3. Иерархическая структура со ссылкой на предка и неограниченной иерархией create table tbl_name ( id integer not null primary key, name varchar (254) not null, parentjd integer ) Множеством допустимых ссылок на предков (parent_id) является диапазон значений первичного ключа (id) плюс одно значение, обычно пусто (null), используемое для обозначения отсутствия родительского элемента:

Максимальное значение первичного ключа (к) отличается для разных типов серверов СУБД (например, в Oracle максимальное представление чисел целого типа 2126 или 38 десятичных разрядов, а в Informix - 32 разряда). В любом случае, это достаточно большое число, позволяющее считать число уровней вложенности и количество потомков неограниченным. И это является следствием целого ряда недостатков структуры со ссылкой на предка: для получения полного пути от произвольного узла до корня дерева нужны сложные запросы или рекурсивный вызов хранимых процедур;

сложность вычисления уровня вложенности произвольного узла;

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

отсутствие контроля правильности ссылки на родителя.

Для контроля правильности ссылок parent_id можно ввести ограничение: parent_id integer

check ((parentjd is null) or (parentjd = any (select id from tbljiame)) ) либо добавить описание внешнего ключа, что намного эффективнее: alter table tbl_name add constraint foreign key (parentjd) references tbl_name (id) constraint fk_name Получение прямых потомков осуществляется посредством SQL-запроса: select from таблица where ссылка на предка = первичный ключ предка

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

select from tbl_name where parentjd in

(select id from tbljiame where parentjd in

(select id from tbljiame where parentjd is null))

Решение задачи определения уровня вложенности элемента иерархии, обычно соответствующего какому-либо классификационному признаку, для структуры со ссылкой на предка крайне неудобно. Единственный способ для этого - построить полный путь к корню дерева и сосчитать количество предков, т. е. только через рекурсивный запрос в хранимой процедуре. Следующая SQL-процедура по значению первичного ключа произвольного элемента (параметр idjelem) вычисляет для него номер уровня иерархии, а также первичный ключ и наименование корневого предка: create procedure get_parents (id_elem integer) returning integer, integer, varchar (254); define level_elem, parent integer; define name_root varchar (254); let level_elem = 1;

select parentjd, name into parent, name_root from tbl_name where id = id_elem; while parent 0

let level_elem = level_elem + 1;

let id_elem = parent; select parentjd, name into parent, name_root from tbl_name where id = id_elem; end while;

return level_elem, id_elem, name_root; end procedure;

Операции вставки, удаления и перемещения родительских и дочерних элементов производятся стандартными операторами SQL. При добавлении нового элемента иерархии в операторе вставки (insert) указывается значение первичного ключа (id) предка, а если указывается пусто (null), то добавленный элемент иерархического дерева будет корневым:

insert into tbl_name (name, parentjd) values

( наименование нового элемента , первичный ключ предка ) На событие удаления родителя необходимо либо поставить запрет, либо задать правила каскадного удаления всех его потомков, чтобы в таблице не осталось записей-«сирот»:

alter table tbl_name add constraint foreign key (parentjd)

references tbl_name (id) on delete cascade constraint fkjiame

Для перемещения элемента в другую ветвь иерархического дерева нужно просто поменять ссылку на родителя: update tbljiame set parentjd = первичный ключ нового родителя where id = первичный ключ элемента

Поскольку все операции в структуре таблиц со ссылкой на предка производятся стандартными средствами SQL, такой универсальный способ организации иерархии наиболее распространен на практике и даже поддерживается в компонентах экранных форм (Grid, TreeList) популярных систем программирования (Visual C++, Delphi).

Автоматическое конвертирование форматированных текстов

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

Можно, конечно, хранить текстовые объекты целиком в полях BLOB таблиц БД. Но тогда открытие и редактирование документов будет возможно только путем вызова внешнего приложения, посредством которого создавался документ (чаще всего MS Word). Это является принципиальным недостатком, поскольку хранимая на сервере БД информация будет зависеть от настроек локали, а версии внешнего приложения на разных клиентских машинах могут отличаться и быть несовместимыми (например, документ, созданный посредством MS Word ХР и сохраненный в БД, может вызвать ошибку открытия на локали с установленным MS Word 97).

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

Экранная форма для реализации предложенного метода показана на рис. 4.2. Для представления текста в обоих форматах RTF и ASCII используется свойство PlainText компонента DBRichEdit. Когда оно установлено в логическое значение истина, содержимое контейнера DBRichEdit трактуется как текст ASCII, в противном случае на экранной форме отображается текст RTF, позволяя задать параметры форматирования. Свойства DataSource и DataField связывают компонент DBRichEdit с соответствующим полем CLOB таблицы БД.

Установка свойства Visible экранной формы и ее компонентов в логическое значение истина или ложь позволяет регулировать право пользователя на редактирование текста с клавиатуры. Более того, запрет визуализации (Visible=false) значительно увеличивает быстродействие операций обмена данными с сервером БД.

Ниже приведено словесное описание алгоритма использования компонента DBRichEdit для сохранения форматированного текста в поле CLOB таблицы БД.

Алгоритм 2:

Шаг 1. Открыть соответствующий SQL-запрос. Свойство DBRichEdit.PlainText должно быть изначально установлено в логическое значение ложь.

ТІ Таг 2. Дать возможность отредактировать текст в соответствии с предпочтениями пользователя.

Шаг 3. Запретить отображение набора данных в компонентах экранной формы стандартным методом DataSet.DisableControls. Этот шаг полезен также для ускорения операций обмена данными с сервером БД.

Шаг 4. Установить свойство DBRichEdit.PlainText в логическое значение истина. Теперь содержимое контейнера DBRichEdit трактуется как текст ASCII независимо от кодировки на сервере БД.

Шаг 5. Сохранить измененный текст в таблицу БД, используя стандартный метод DataSet.Post набора данных.

Шаг 6. Установить свойство DBRichEdit.PlainText обратно в логическое значение ложь.

Шаг 7. Закрыть набор данных.

Описанные методы преобразования кодовой страницы и включения параметров форматирования текста (алгоритмы 1 и 2) можно объединить. Это позволит хранить в полях CLOB таблиц БД текстовую информацию одновременно в разных кодировках (Windows-1251, DOS-866, KOI-8, RTF). При извлечении данных для каждой записи будет выполнено необходимое конвертирование текста. Ниже приведено словесное описание алгоритма сохранения в БД текстовой информации с мультикодировкой.

Алгоритм 3:

Шаг 1. Открыть соответствующий SQL-запрос для доступа к БД.

Шаг 2. Назначить свойства DataSet.DisableControls и DBRichEdit.PlainText, как описано в алгоритме 2 шагами 2-4.

Шаг 3. Выполнить конвертирование текста через внешние файлы ASCII посредством функции Win2DOS, как описано в алгоритме 1 шагами 4-8.

Шаг 4. Если возникла ошибка обращения к внешнему файлу, вывести сообщение и перейти к шагу 6, иначе перейти к шагу 5.

Шаг 5. Сохранить изменения в БД, как описано в алгоритме 2 шагами 5-6.

Шаг 6. Закрыть набор данных и удалить временные внешние файлы ASCII.

Сравнительная оценка эффективности вариантов иерархической структуры данных

В данном разделе приведены результаты измерения производительности СУБД при различных методах организации иерархии данных, описанных в разделе 3.2. Для проверки относительных преимуществ классических и нетрадиционных подходов к организации иерархии данных поставлены 2 категории вычислительных экспериментов по оценке следующих характеристик производительности СУБД:

1) измерение производительности операций доступа к данным (scan) в зависимости от глубины вложенности и размера иерархических таблиц;

2) измерение операций соединения таблиц (join) при получении потомков на различных уровнях вложенности.

В целях удобства проведения сравнительных тестов и анализа результатов все варианты иерархической структуры сгруппированы по критерию наличия рекурсии в реляционных отношениях и SQL-запросах (табл. 3.1):

1) традиционные иерархические структуры с рекурсивными связями;

2) варианты иерархии данных без рекурсивности.

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

На рис. 5.1 приведены временные диаграммы сравнения производительности операции доступа в зависимости от глубины вложенности (рис. 5.1,а) и от размера таблицы данных (рис. 5.1,6) для различных вариантов иерархии - традиционных и без рекурсии. На диаграммах (рис. 5.1,в,г) представлены относительные показатели производительности, которые вычислялись по технологии SPEC как отношение времени доступа соответственно к числу уровней вложенности и к количеству записей в иерархической таблице:

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

Относительные показатели позволяют оценить производительность различных вариантов иерархии в терминах удельных единиц измерения (сек/уровень, сек/запись).

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

На рис. 5.2 показаны диаграммы сравнения производительности операции соединения в зависимости от глубины иерархии (рис. 5.2,а) и от размера таблицы данных (рис. 5.2,6), а также их относительные показатели Ry и R3 (рис. 5.2,в,г) для различных вариантов иерархии - традиционных и без рекурсии.

Улучшение производительности выполнения каждого вида операций оценивается коэффициентами:

Результаты тестирования показывают, что при небольшом размере таблиц данных (до 500 записей) и ограниченной глубине вложенности (2-3 уровня) традиционный подход организации иерархии несколько эффективнее. При большой глубине вложенности отсутствие рекурсии дает значительное улучшение производительности Рт- от 4 до 125 раз в зависимости от глубины иерархии и размера таблицы данных. Кроме того, сложность рекурсивных ссылок и SQL-запросов ухудшает производительность получения упорядоченной выборки данных.

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

Вторая серия вычислительных экспериментов посвящена тестированию ИС и приложений БД как готовых программно-аппаратных решений, оценке их производительности и работоспособности при различной конфигурации сети -двухуровневой и с промежуточным слоем (middleware) [45].

Целью компьютерных измерений характеристик работоспособности и производительности СУБД является сравнительный анализ, а также выявление «узких» мест при выполнении SQL-запросов, снижающих как общую, так и пиковую пропускную способность ИС. «Узкими» считаются компоненты ИС, снижающие ее производительность до критических значений (длительное время ожидания запроса, появление неустранимой ошибки выполнения, зависание системы).

Похожие диссертации на Исследование нестационарных режимов работы систем вентиляции герметичных отсеков пассажирских самолетов и их влияние на выбор рациональных параметров системы кондиционирования воздуха