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



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

Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Мельников Сергей Викторович

Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов
<
Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов
>

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

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

Мельников Сергей Викторович. Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов: диссертация ... кандидата технических наук: 05.13.11 / Мельников Сергей Викторович;[Место защиты: Московский государственный институт радиотехники, электроники и автоматики (технический университет)].- Москва, 2014.- 139 с.

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

Введение

Глава 1. Аналитический обзор современного состояния математического и программного обеспечения организации взаимодействия программных систем и баз данных с использованием ORM-библиотек 10

1.1. Программа и программная система как информационная система 10

1.2. Трехуровневая архитектура как современный подход к проектирования информационных систем 13

1.2.1. Доступ к данным из уровня логики сетевого портала при помощи ORM-библиотек 16

1.3. ORM-библиотеки, применяемые при разработке программных систем 19

1.3.1. Библиотека “Hibernate” 19

1.3.2. Библиотека “ADO.NET Entity Framework” 20

1.3.3. Кэширование в ORM-библиотеках как средство увеличения скорости выполнения запросов к СУБД 23

1.4. Анализ методов моделирования программных систем 23

1.4.1. Поток энтропии как причина самоорганизации системы 27

1.4.2. О философском аспекте понятия “диссипация” и его применении к программным информационным системам 31

1.4.3. О критике трактовки энтропии как меры беспорядка . 36

1.4.4. Аналитическое моделирование поведения программных систем 41

1.5. Постановка задачи 49

Глава 2. Математическая модель организации взаимодействия программных систем и систем управления базами данных с использо ванием программных ORM-библиотек 53

2.1. ORM-библиотека как программный компонент архитектуры информационных систем 53

2.2. Математическое описание работы ORM-библиотеки с помощью кинетических уравнений 55

2.2.1. Определение критерия перехода ORM-библиотеки в колебательный режим на основе линейного анализа устойчивости 58

2.2.2. Особенности стационарного и колебательного режимов работы ORM-библиотеки 61

2.3. Численное моделирование нелинейного режима работы ORM-

библиотеки при помощи системы компьютерной алгебры

MathCad 62

2.3.1. Анализ темпа запросов из ORM-библиотеки к системе управления базой данных 65

2.3.2. Расчет численных характеристик макроструктур в системе компьютерной алгебры MathCad 66

2.3.3. Возникновение диссипативных макроструктур в программных системах и системах управления базами данных 68

2.4. О развитии понятия «диссипация» в информационных системах 71

2.5. Сводка основных результатов 72

Глава 3. Разработка имитационной модели программной ORM-библиотеки и анализ режима ее работы 75

3.1. Синтез модели ORM-библиотеки 75

3.1.1. Техническое предложение для реализации модели ORM-библиотеки 75

3.1.2. Разработка имитационной модели на языке С++ в среде Visual Studio 77

3.1.3. Общий вид программы 84

3.2. Динамика выполнения имитационной модели ORM-библиотеки 86

3.2.1. Анализ динамики количества объектов X и Y 86

3.2.2. Влияние макро-структур на объем занимаемой памяти 89

3.3. Сводка основных результатов 90

Заключение 93

Глоссарий 106

Список литературы

Введение к работе

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

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

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

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

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

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

Объектом исследования являются программные информационные системы на примере современных сетевых порталов с трехуровневой архитектурой, разработанные на платформе Java или .NET.

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

Для достижения этой цели в работе поставлены следущие цели:

1. Рассмотрение возможности и целесообразности применения ORM-библио-тек в качестве компонента современной портальной архитектуры программных систем для доступа программ к данным и знаниям.

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

  2. Введение критерия возникновение диссипативных макро-структур в процессе кэширования в ORM-библиотеке. и оценка их влияния на пользовательский характеристики ORM-библиотеки.

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

  4. Исследование поведения разработанных программ, моделирующих ORM-библиотеки в процессе доступа к данным, в практических задачах с оценкой корректности теоретических заключений.

  5. Внедрение научных положений диссертации в практические разработки и учебный процесс МГТУ МИРЭА.

Перечисленные задачи определяют предмет диссертации, соответствующий области исследования №3 “Модели, методы, алгоритмы, языки и программные инструменты для организации взаимодействия программ и программных систем” и №4 “Системы управления базами данных и знаний” в паспорте специальности 05.13.11.

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

Теоретическая значимость исследования обоснована тем, что в диссертации впервые проведено математическое моделирование ORM-библиотек. Научная новизна работы состоит в восполнении пробела в области моделирования ORM-библиотек как составной части высоконагруженных сетевых порталов. Автором впервые обнаружен эффект образования макро-структур в программных системах, которые могут играть роль “программных тромбов” в процессе организации взаимодействия программных систем и баз данных с использованием ORM-5

библиотек. Установлено, что основной причиной возникновения диссипативных макро-структур является использование агрессивного кэширования результатов запросов. Для агрессивного кэширования характерна максимизация временного буфера в памяти, в котором хранятся результаты длительных операций, т.е. ради большего размера буфера кэша происходит использование дополнительной оперативной памяти. Гипотезируется, что возникновение диссипативных макроструктур может быть обобщено на более широкий класс программ. Полученый численные критерии перехода ORM-библиотеки из линейного режима работы в колебательный. Определено соотношение, выполнение которого приводит к возникновению диссипативных макро-структур в ORM-библиотеке в процессе кэширование: B > 2k3k4-kk21 34kA2-k3k32A2 Коэффициенты A и B характеризуют потоки запросов из логики портала к ORM-библиотеке, а коэффициенты k1 ...k4 скорости соответствующих трансформаций объектов ORM-библиотекой.

В работе использован математический аппарат кинетических уравнений описания процессов преобразования данных в объектно-ориентированных программах, пригодный для распространения на широкий класс информационных систем. Полученные результаты позволяют говорить о возможности снижения скорости обработки запросов (увеличения среднего времени обработки запроса) в ряде случаев при применении кэширования в ORM-библиотеке. Обнаруженный эффект может быть отождествлен с “диссипативными структурами” И.Пригожина (И.Пригожин, 1968). Установлено, что основной причиной возникновения дис-сипативных макро-структур является использование агрессивного кэширования результатов запросов. Полученный численные критерии перехода ORM-библио-теки из стационарного режима работы в колебательный. Дана расширенная философская трактовка причин возникновения диссипативных макро-структур в программных системах. Для формального описания обнаруженных явления в работе введен коэффициент повышенной загрузки СУБД, отражающий на сколько часто темп запросов к СУБД превышает средний.

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

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

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

Результаты диссертации опубликованы в 17 научных статьях, в том числе 4 статьях в журналах из перечня ВАК, доложены и обсуждены на четырех международных и двух российской конференциях.

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

Структура и объем диссертации Диссертация состоит из Введения, трех глав, Заключения и двух приложения. Текст диссертации завершает Глоссарий, содержащий 18 терминов и дефиниций, относящихся к теме диссертации. Полный объем диссертации составляет 139 страниц с 20 рисунками. Список литературы содержит 180 источников.

Трехуровневая архитектура как современный подход к проектирования информационных систем

Современные сетевые порталы являются хорошей иллюстрацией трех-звенной архитектуры на практике. За уровень представления, как было сказано выше, отвечает стандартный web-браузер, установленный у пользователя. Уровнем данных является одна из индустриально применяемых СУБД, обычно MySQL или Postgree. Созданию сетевых порталов посвящено множество публикаций [13, 37, 43, 44]. Для высоконагруженных сетевых порталов остро стоит проблема увеличения производительности, в первую очередь доступа к данным [45, 46].

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

Полное господство на рынке СУБД имеют реляционные базы данных (например: Oracle, MsSQL, Interbase/FireBird, MySQL), использующие реляционную модель организации данных: хранящие таблицы заранее определенной структуры, заполненные записями-значениями. Однако, отображения реального мира в проектировании и разработке программного обеспечения, называемые сущностями, достаточно плохо укладываются в реляционную модель данных. Например, у сущности “Задание” могут быть разные поля в зависимости от вида задания. В результате, проектировщику схемы СУБД приходится либо дробить сущность на несколько сущностей (“Задание типа 1”, “Задание типа 2”, . .. ) и создавать для хранения каждого подвида сущности отдельную таблицу в СУБД, что крайне затрудняет последующее агрегирование данных (например, для создания отчета), либо записывать разные поля сущностей разных типов в одни и те же столбцы (поля) таблицы. Также нетривиально является создание связей типа “многие-ко-многим” в реляционной модели данных, так как требуется дополнительная таблица, хранящая связи.

При рассмотрении уровня логики в работе диссертант фокусирует внимание на взаимодействии пользовательского кода с СУБД, или доступом к данным.

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

Типичные БД (DB2, Oracle, Sybase, MS SQL) являются реляционными и оперируют таблицами, полями и записями (кортежами) [48, 49]. Такая форма удобна для организации хранилища, но довольно слабо отражает понятия императивных языков программирования. Термины поле и запись, которыми оперирует БД, довольно плохо транслируются в объектное представление, с которым оперирует типичный язык программирования (PHP, C++, java, ObjectPascal, . . . ). Если простой набор полей объекта просто и однозначно транслируется в запись таблицы БД, то описание связей объектов уже представляет определенную сложность. Наиболее ярко это проявляется в связях Многие-Ко-Многим: необходима дополнительная таблица, в которой хранятся списки связанных объектов.

Разработчики сетевых порталов вынуждены абстрагироваться от логики БД с помощью т.н. программных “оберток” (англ. wrapper). Написание кода “оберток” хоть и рутинно, но отнимает ощутимое время и в большинстве случаев нецелесообразно [50]. Для его минимизации возможно применение готовых программных библиотек для организации взаимодействия с БД. Такая готовая библиотека с одной стороны сохраняет особенности способа хранения данных в БД, а с другой стороны предлагает разработчику удобный интерфейс доступа к данным, выраженный в терминах языка программирования, а не БД. Такие библиотеки называют Библиотеками Объектно-Реляционного Соответствия (англ. Object – Relation Mapping frameworks), представляющими собой набор необходимых подпрограмм [51, 52]. Далее по тексту эти библиотеки будут называться ORM-библиотеками. В диссертации ORM-библио-тека рассматривается как программный инструмент (набор необходимых подпрограмм) для организации взаимодействия высокоуровневой логики сетевого портала и низкоуровневой логики физического хранения данных в СУБД.

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

Кэширование в ORM-библиотеках как средство увеличения скорости выполнения запросов к СУБД

В результате аналитического обзора современного состояния проектирования программных систем и сетевых порталов выявлены пробелы в существующих технических решениях в области моделирования, прогнозирования и оценки качества использования ORM-библиотек в качестве слоя доступа к СУБД. Применение готовых библиотек (программных компонентов) доступа к данным – ORM-библиотек позволяет в большинстве случаев увеличить скорость разработки сетевых порталов, что является актуальной задачей при увеличении требований к скорости разработки порталов. Однако, исследования, проведенные диссертантом в период 2009-2014гг. показывают, что кэширование в ORM-библиотеке может стать причиной возникновения колебательных явлений, которые могут быть отождествлены с “диссипативными структурами” И.Пригожина [10–12]. В связи с этим, актуальным являются вопросы применимости ORM-библиотек, их моделирования, а следовательно и прогнозирования поведения при возрастающей нагрузке на сетевой портал.

В подавляющем большинстве открытых публикации, посвященные ORM-библиотекам [51, 55–63] отражают в основном сугубо инженерные аспекты их конкретных применений.

В работе гипотезируется, что программные системы могут демонстрировать диссипативное поведение, подобно физическим системам, таким как реакция Белоусова-Жаботинского [138]. Данное предположение влечет за собой в том числе и философское переосмысление понятия “диссипация” и его применимости в информационных системах. Попытка такого переосмысления нашла отражение в параграфе 1.4.2 диссертации и публикациями автора (см. рис. 1.5).

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

В Главе 1 рассмотрены следующие методы моделирования систем:

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

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

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

Проведенный в Главе 1 аналитический обзор, позволяет уточнить и дополнить перечень задач диссертации, решение которых необходимо для достижения цели работы, сформулированной во Введении к диссертации:

Основные задачи, решаемые в диссертации 1. Рассмотрение возможности и целесообразности применения ORM-биб-лиотек в качестве компонента современной портальной архитектуры программных систем для доступа программ к данным и знаниям. 2. Исследование причин и следствий возникновения диссипативных макро-структур в процессе доступа к данным (образования диссипатив-ных структур ). 3. Введение критерия возникновение диссипативных макро-структур в процессе кэширования в ORM-библиотеке. и оценка их влияния на пользовательский характеристики ORM-библиотеки. 4. Создание программ, моделирующих ORM-библиотеки в процессе доступа к данным, с целью верификации теоретических положений. 5. Исследование поведения разработанных программ, моделирующих ORM-библиотеки в процессе доступа к данным, в практических задачах с оценкой корректности теоретических заключений. 6. Внедрение научных положений диссертации в практические разработки и учебный процесс МГТУ МИРЭА.

Математическое описание работы ORM-библиотеки с помощью кинетических уравнений

Связь диссипативного поведения программной системы и диссипации в ней информации ни в отечественной ни в зарубежной литературе до сих пор не обсуждалась. По аналогии с термодинамическими системами, в которых диссипация энергии является причиной возникновения диссипативных структур, диссипация информации в работах [13, 14, 39, 115, 149] трактуется как причина возникновения диссипативных структур в программных системах. Полагаем, что данный подход во многих случаях не может быть распространен на информационные системы. Очевидно, что любую непредусмотренную разработчиками диссипацию (потерю) информации в информационной системе можно считать лишь следствием ошибки в разработке. В качестве примера, иллюстрирующего данный тезис, можно привести банковскую (или биллин-говую) систему. “Диссипацию” информации о платеже нельзя считать ничем кроме ошибки в логике работы банковской (или биллинговой) системы.

Вместе с тем, как показано в работе, программная система может демонстрировать диссипативное поведение. Достаточным условием мы считаем “эмуляцию” (возможно, случайную) физической системы, в которой возможен процесс диссипации, как необратимого рассеивания энергии. Эманация этой диссипации и будет отображаться как диссипативное поведение информационной системы. Иными словами, диссипативное поведение информационной системы будет вызвано не прямой диссипацией информации, а лишь отражением, эманацией, диссипации эмулируемой «энергии». Этот тезис во многом объясняет диссипативное поведение рассматриваемой системы – ORM-биб-лиотеки.

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

Исследование системы уравнений (2.7)-(2.8), описывающих функционирование ORM-библиотеки, проводилось с помощью метода линейного анализа устойчивости [150]. В результате исследования оказалось, что рассматриваемая система уравнений (и описываемая ими ORM-библиотека) может демонстрировать колебательную динамику, или, по терминологии И.Пригожина возникновение “диссипативных структур” [80]. Это подтверждает выдвинутый во введении тезис о возможности перехода ORM-библиотеках, при организации взаимодействия сетевых порталов и СУБД, в колебательный режим работы, характеризуемый возникновением диссипативных макро-структур в .

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

Для колебательного режима работы ORM-библиотек выделены следующие ключевые отличия от линейного режима, наблюдаемого в большинстве известных случаев [51, 55–63]: Изменяющийся во времени расход памяти: потребление памяти периодически изменяется, увеличивая нагрузку на менеджер памяти ОС.

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

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

Проведенное в дальнейшем исследование выявило влияние циклического изменения количества объектов X и Y на подсистему памяти: от менеджера свободной памяти процесса до подсистемы виртуальной памяти.

Следствием циклического изменения количества объектов X и Y является циклическое изменение количества объектов D и E. Рассмотрен случай, когда СУБД обладает конечной скоростью обработки запросов в 1.5 и 2 раза больше среднего потока запросов. На рис. 2.7 явно видны плато, возникающие из-за ограниченности производительности СУБД, обозначенные пунктирной или точечной линиями. В эти моменты времени необработанные запросы будут скапливаться в некотором входном буфере, в результате чего время обработки запроса будет увеличено. Данные периодические явления недостаточной скорости обработки запросов СУБД можно отождествить с возникающими тромбами сосудистой системы. Это может ощутимо повлиять на время обработки запросов ORM-библиотекой и производительность всей информационной системы в целом.

Разработка имитационной модели на языке С++ в среде Visual Studio

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

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

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

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

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

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

Научная новизна работы состоит в восполнении пробела в области моделирования ORM-библиотек как составной части высоконагруженных сетевых порталов. Автором впервые обнаружен эффект образования диссипативных макро-структур в программных системах, которые могут играть роль “программных тромбов” в процессе организации взаимодействия программных систем и баз данных с использованием ORM-библиотек. Эффект может быть отождествлен с “диссипативными структурами” И. Пригожина (В.Ф., 2013г.). Исследованы причины их возникновения в процессе доступа к данным. Установлено, что основной причиной возникновения диссипативных макро-структур является использование агрессивного кэширования6 результатов запросов. Гипотезируется, что возникновение диссипативных макроструктур может быть обобщено на более широкий класс программ. Полученный численные критерии перехода ORM-библиотеки из линейного режима работы в колебательный. Определено соотношение, выполнение которого приводит к возникновению диссипативных макро-структур в ORM-библиотеке в процессе кэширование:

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