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

кандидата технических наук
Шахворостов, Георгий Ильич
город
Воронеж
год
2013
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Специальное математическое и программное обеспечение управления кэшированием данных на основе временных меток транзакций»

Автореферат диссертации по теме "Специальное математическое и программное обеспечение управления кэшированием данных на основе временных меток транзакций"

На правах рукописи 005531076

ШАХВОРОСТОВ Георгий Ильич

СПЕЦИАЛЬНОЕ МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ УПРАВЛЕНИЯ КЭШИРОВАНИЕМ ДАННЫХ НА ОСНОВЕ ВРЕМЕННЫХ МЕТОК ТРАНЗАКЦИЙ

Специальность: 05.13.11 - Математическое и программное

обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ

диссертации на соискание учёной степени кандидата технических наук

г і июн 2013

Воронеж - 2013

005531076

Работа выполнена в ФГБОУ ВПО «Воронежский государственный технический университет».

Научный руководитель Кравец Олег Яковлевич, доктор

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

Официальные оппоненты: Подвальный Евгений Семенович,

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

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

Ведущая организация: ФГБОУ ВПО «Липецкий государст-

венный технический университет»

Защита состоится 27 июня 2013 года в 1300 часов в конференц-зале на заседании диссертационного совета Д 212.037.01 ФГБОУ ВПО «Воронежский государственный технический университет» по адресу: 394026, г. Воронеж, Московский просп., 14.

С диссертацией можно ознакомиться в научно-технической библиотеке ФГБОУ ВПО «Воронежский государственный технический университет».

Автореферат разослан «27» мая 2013 г.

Ученый секретарь '-пк/

диссертационного совета 'ГТ Барабанов В.Ф.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы.

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

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

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

Большой вклад в изучение проблематики, связанной с обработкой и управлением транзакций внесли Ф. Бернштейн, Н. Гудман, М. Карэй, Дж. Грей и др.

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

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

Тематика диссертационной работы соответствует научному направлению ФГБОУ ВПО «Воронежский государственный технический университет» «Вычислительные комплексы и проблемно-ориентированные системы управления».

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

Для достижения поставленной цели необходимо решить следующие задачи:

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

провести формализацию применения кэшированных данных при описании процесса управления транзакциями;

осуществить аналитическое описание механизма временных меток в рамках мультиверсионной истории транзакций для их сериализуемости;

разработать специальное математическое обеспечение для управления и обработки транзакций в контексте использования кэшированных данных;

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

Методы исследования. В работе использованы теория транзакций, теория множеств, теория графов, методы системного анализа, объектно-ориентированного программирования.

Тематика работы соответствует п. 3 «Модели, методы, алгоритмы, языки и программные инструменты для организации взаимодействия программ и программных систем», п. 4 «Системы управления базами данных и знаний» паспорта специальности 05.13.11 - «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей».

Научная новизна. К результатам работы, отличающимся научной новизной, относятся:

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

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

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

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

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

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

Компоненты специального математического и программного обеспечения были интегрированы в состав «Интернет-ориентированной информационной системы поддержки учебной и научной деятельности», прошедшей Государственную регистрацию в ФГБУ «Федеральный институт промышленной собственности».

Реализация и внедрение результатов работы. Основные теоретические и практические результаты работы реализованы в виде «Интернет-ориентированной информационной системы поддержки учебной и научной деятельности» и внедрены в АНОО ВПО «Воронежский экономико-правовой институт». Эффект от внедрения заключается в обеспечении необходимого уровня реактивности системы при ответах на SQL-запросы пользователей к БД.

Апробация работы. Основные положения и результаты диссертационной работы докладывались и обсуждались на следующих научных конференциях и семинарах: IX Всероссийской школе-конференции молодых учёных "Управление большими системами" (Липецк, 2012), XVIII International Open Science Conference «Modern informatization problems in the technological and telecommunication systems analysis and synthesis» (Lorman, MS, USA, 2013), XVIII International Open Science Conference «Modern informatization problems in economics and safety » (Lorman, MS, USA, 2013), XVIII International Open Science Conference «Modern informatization problems in simulation and social technologies » (Lorman, MS, USA, 2013), научных семинарах кафедры автоматизированных и вычислительных систем ФБГОУ ВПО «Воронежский государственный технический университет».

Публикации. По результатам исследований опубликовано 12 научных работ, в том числе 3 - в изданиях, рекомендованных ВАК РФ. В работах, опубликованных в соавторстве и приведенных в конце автореферата, лично соискателю принадлежат: [1] - разработка методов управления базами данных в составе специализированных информационных систем реального времени; [2, 9] - математическое обеспечение кэширования данных на основе специального обработчика транзакций; [3, 6] - выделение специального класса информационных систем; [8, 10] - архитектура и алгоритмизация функционирования планировщика транзакций; [11, 12] -

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

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы из 121 наименования. Основная часть работы изложена на 173 страницах, содержит 50 рисунков, 23 таблицы.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

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

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

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

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

Предложено формальное описание процесса работы метода кэширования S. Дня этого метод кэширования S был представлен как некоторый метод сервиса, реализующий вызов операций чтения и записи. Также был определен вызов соответствующего метода Sj(z) (где z представляет некоторую совокупность аргументов, ad- номер соответствующего метода). При необходимости осуществить вызов метода <5j(z) реализуется проверка наличия ключа кэша (S,d,z) в хранилище.

Для эффективной работы метода кэширования в составе планировщика были определены основные элементы взаимодействия:

- уникальные идентификаторы (;', к) для кэшированных вызовов метода 8 ;

- списки I,, /,, s;

- таблица М для поддержки согласованного выполнения и упорядочивания транзакций для постоянного обновления кэшированных данных.

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

Предложено описание метода операций в некоторой последовательности операций, представляющей историю транзакций.

Д (1)

где г[х] - операция чтения; w[x] - операция записи; х,у — элементы данных; Л - параметр, характеризующий выполненную транзакцию.

В составе истории /?, операция г,4[дс] является операцией чтения. Индекс 4 представляет собой идентификатор вызова метода, от имени которого была сделана операция чтения. Вызов метода разъясняет, что для двух элементов данных существует ряд операций чтения с тем же индексом, а именно г* [у] и г,4[дг]. После вызова метода с индексом 4 транзакцией Г, считываются только данные, а результат может быть кэширован.

История /?, содержит метод /¿з '(рис. 1). Метод операции /л\ А отражает доступ к кэшированным результатам метода в транзакции Г3. Индекс 3 указывает, что метод принадлежит транзакции Т,. Кроме того, индекс транзакции Т3 определяет результат кэширования метода, к которому он относится. Следовательно, результат был произведен по операциям г* \у] и г,4М, транзакции 7]. Таким образом, число 1 верхнего индекса относится к транзакции 7], а число 4 определяет вызов метода с индексом 4.

>■'[)']—*• г/[.т]—>\——

I

м1А —»r/M—ы Рис. 1. Связь метода операций в истории транзакций Д

В контексте истории транзакций и метода операций проведено описание возникновения возможных конфликтов. Две операции w,,v, є ß конфликтуют друг с другом Ы, 5 Vj , если

d(u,)r>d(v,)* л(Г: * Tj а(а(и,) = и> va(Vj) = w)) v(a(u,) = WAa(vJ) = p)v(a(ul) = /JAa(vJ)-w)

Очевидно, что элементы данных, которые вызывают конфликты в отношении являются операциями вида г/[...]. Рассмотрим историю метода кэширования Д (рис. 2). Предположим, что история Д содержит следующие конфликты: r*[x\ $ w2[x],w2[x] $ r/М, ц\А $ w2M-Исходя из определения

d(r' W) = d(w, М) = {*}, d(My ) = {х\3 rl[x]eß], (3)

которое утверждает, что конфликты внутри одной транзакции 7] возможны, если одна из конфликтующих операций является операцией записи, а другая - методом операции. На рис. 2 представлена история ß2 = г'[хЦи*,M/i-j1 J-?, отражающая конфликты.

I'M——W*]—►у""—»4

Рис. 2. Графическое представление конфликтующих операций в истории транзакций ß2

Запись конфликтаможно объяснить тем, что /4' относится к значению элемента л:, которое было прочтено перед выполнением [х].

Получено определение истории метода кэширования. История метода кэширования р является историей, если выполняется условие

Ур.Ч^Р'.р 5 д ^>р<Ч\,д<р. (4)

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

Определена сериализуемость мультиверсионных историй метода кэширования с помощью функции МУ. Пусть функция МУ создает множество мультиверсионных историй р„р2,рэ,...,/?„, а также отражает все конфликты, которые существуют для некоторой истории Р .

В качестве примера рассмотрим историю Д, которая переходит в следующую мультиверсионную историю с применением метода операций: -^[уХМ^х^Х^гиуММ^хЛХ,. (5)

14Ы

>2]

Рис. 3. Графическое представление мультиверсионной истории МУ{рл) и метода операций ц

Метод операции отображается на операции чтения г3' [дг0 ] /•,'[>>„], так как он, по существу, обращается к той же версии х и у, как операция чтения, к которой относится история рх (а именно Г,4 [л:] Г," [>>]).

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

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

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

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

Для того, чтобы избавиться от вышеуказанного недостатка, была определена новая функция г*(Г,). Основное ее предназначение заключается в вычислении минимальных меток времени для тех транзакций, которые могут быть образованы от транзакции Тп пути которых состоят из обратных дуг. Нахождение таких минимальных временных меток основано на порядке выполнения операций метода // и может быть выполнено некоторым компонентом специального программного обеспечения, реализованного в виде планировщика транзакций. Таким образом, вычисление функции г*(Г,) позволит реализовать сериализованный граф.

Вычисление функции г * (Г,) реализуется следующим образом:

г*(7;) = тт«г(7;)}и

(г* (Ту) I З/^'г/Ме /7:(/•/[*] < »^[х] л г(Гу) < г(7]) л е /?}). (6)

Таким образом, осуществлены:

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

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

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

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

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

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

Начало

Старт транзакции

Присвоение начальной временной метки

Условие 2

7 Да

Нет

Выполнение операции чтения

Промежуточная запись версии

12

Отпр уведоі. авка 1ЛЄНИЯ

13

Фиксация временной метки

14

Отправка уведомления

15

Завер транз ление акции

Ґ

( Конец

V_

Рис. 4. Блок-схема алгоритма планирования использования кэширо-ванных данных на основе временных меток

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

Рис. 5. Структура алгоритма кэширования соединений с СУБД

Разработан и применен алгоритм кэширования соединений с СУБД на основе технологии ЕЛЗ и драйвера ЛЭВС (рис. 5). Процесс управления пулом соединений с СУБД имеет следующие этапы и особенности.

На первом этапе (блок 1) компонент приложения устанавливает соединение с СУБД, когда это реально необходимо. Например, установка соединения реализуется тогда, когда происходят вызов и обращение к методу getConnection ( ), который принадлежит к унифицированному интерфейсу Оа1а8оигсе драйвера ЛЭВС. Интерфейс Оа1а8оигсе позволяет обеспечить соединение с СУБД.

На втором этапе (блок 2) после того как произошел вызов метода £е1Соппес1юп ( ), осуществляются синхронизация и сопоставление транзакции и соединения. То есть каждой транзакции принадлежит и соответствует определенное соединение с СУБД. Если же опять происходит вызов

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

На третьем этапе компонент реализует вызов метода commit ( ) (блок 3).

На четвертом инициируется проверка, принадлежит ли выполняемый метод commit () к соединению (блок 4), которое ранее использовалось. Если вызванный метод commit () принадлежит к такому соединению, то оно используется (блок 5). В противном случае создается новое соединение (блок 6). После чего происходит его кэширование (блок 7).

На пятом этапе происходит завершение транзакций (блок 8).

Когда инициируется новая транзакция, которая использует соединения с аналогичными параметрами, то компонент специального программного обеспечения использует кэшированные соединения из пула.

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

Таким образом, разработаны:

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

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

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

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

ХА интерфейс представляет стандартный набор программных интерфейсов (методов), которые реализуют доступ к СУБД. Данный интерфейс определяет набор правил и методов для взаимодействия менеджера транзакций и планировщика с СУБД. К методам ХА интерфейса относятся: start (), end (), start (), prepare (), commit (), recover ().

ТХ интерфейс состоит из набора методов, которые направлены на реализацию взаимодействия клиентского приложения (прикладная программа, веб-браузер) с менеджером транзакций. В процессе вызова методов клиентское приложение инициирует процесс начала и завершения

транзакции. К методам ТХ интерфейса относятся: begin ( ), commit( ),

Рис. 6. Общая структура специального программного обеспечения, включающего специальный обработчик транзакций

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

Уровень представления реализуется клиентом в виде клиентского приложения, прикладной программы или веб-браузером. Связь клиентского приложения (клиента) с сервером приложений реализуется с помощью HTML, JavaScript или JavaScript-апплет, которые являются частью клиентского приложения. Связь сервера приложений с клиентом осуществляется при помощи сервлетов, которые размещены на сервере приложений. Серв-лет является частью контейнера JSP (Java Server Pages) и управляется сервером приложений в виде веб-сервера. В процессе работы сервлет взаимодействует с клиентом посредством запроса и ответа на этот запрос. Клиент посредством веб-интерфейса направляет запрос к сервлету, который направляет его EJB контейнеру (является частью EJB-приложения) специального обработчика транзакций. В процессе работы сервлет вызывается

запросом клиента, на сервере приложений инициализируя класс HttpServlet с методами HttpServletRequest и HttpServletResponse. Методы HttpServletRequest и HttpServletResponse выполняют обработку информации, поступившей к сервлету и формируют ответ клиенту. На уровне сервера приложений специальный обработчик транзакций реализуется компонентами EJB и драйвером JDBC. Компоненты приложения EJB взаимодействуют с уровнем представления через Ноте и Remote интерфейсы. Уровень данных представлен в виде СУБД и взаимодействует с сервером приложений с помощью специального обработчика транзакций.

Сервер приложений

Рис. 7. Структура специального обработчика транзакций

Для реализации специализированного программного обеспечения был использован язык программирования Java и свободная интегрирован-

ная среда разработки NetBeans IDE 7. Спроектированное специальное программное обеспечение рассчитано на работу под управлением операционной системы Windows версий ХР, Vista, 7 и Windows Server 2003/2008. Также для успешной работы разработанного специального программного обеспечения необходимо наличие установленного сервера приложений JBoss Application Server с возможностью использования контейнера серв-летов.

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

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

1. Управляющий компонент, реализующий интерфейс управления EJB-приложением.

2. Драйвер взаимодействия с СУБД.

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

Рис. 8. Состав основных интерфейсных компонентов специального обработчика транзакций

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

Тестирование выполнялось в три этапа:

- в рамках первого теста производилась фиксация успешно выполненных транзакций (рис. 9);

- в рамках второго теста фиксировалась продолжительность среднего времени выполнения транзакции при выполнении 10 потоков с запросами (рис. 10);

- в контексте третьего теста осуществлялась фиксация количества прерванных транзакций (рис. 11).

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

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

1650

3

л

"0 80 90 100 ио Количество клиентов

Рис. 9. График зависимости совершенных транзакций от количества одновременных потоков, исходящих от клиентов

Рис. 10. График средней продолжительности выполнения транзакции

5.50 5.00 4.50 4.00 3.50 3.00 2.50

:.оо

1.50 1.00 0.50 0.00

-Без кэш! гровяния

Алгоритм»,-! основе временных меток - Алгоритм ОСС

Разработанное специальное программное обеспечение управления транзакциями и интегрированное в состав «Интернет-ориентированной информационной системы поддержки учебной и научной деятельности» зарегистрировано в ФГБУ «ФИПС», внедрено в составе системы дистанционного обучения Воронежского экономико-правового института._______

Рис. 11. График зависимости количества прерванных транзакций относительно инициированных

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

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

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

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

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

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

6. Компоненты математического и программного обеспечения прошли государственную регистрацию в ФГАНУ «Центр информационных технологий и систем органов исполнительной власти».

7. Разработано специальное программное обеспечение управления и обработки транзакций, которое интегрировано в состав реализованной и зарегистрированной ФГБУ «Федеральный институт промышленной собственности» «Интернет-ориентированной информационной системы поддержки учебной и научной деятельности».

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

Публикации в изданиях, рекомендованных ВАК РФ

1.Кравец О.Я. Особенности разработки методов управления базами данных в составе специализированных информационных систем реального времени / О.Я. Кравец, Г.И. Шахворостов // Системы управления и информационные технологии: научно-технический журнал. 2012. № 3.1(49). С. 147-151.

2. Шахворостов Г.И. Особенности математического обеспечения кэширования данных на основе специального обработчика транзакций / Г.И. Шахворостов, О.Я. Кравец // Системы управления и информационные технологии: научно-технический журнал. 2012. № 4.1(50). С. 200-204.

3. Шахворостов Г.И. Особенности управления разработкой программного обеспечения для специального класса информационных систем / Г.И. Шахворостов, О.Я. Кравец // Экономика и менеджмент систем управления. 2012. №4.1(6). С. 181-191.

Статьи и материалы конференций

4. Шахворостов Г.И. Сущность и задачи референционной модели модульной объектно-ориентированной системы интерактивной оценки знаний / Г.И. Шахворостов // Научная перспектива. 2011. №7. С. 72-73.

5. Шахворостов Г.И. Организация метаданных системы интерактивной оценки знаний в рамках концепции MOF / Г.И. Шахворостов // Научный обозреватель. 2011. №11. С. 44-45.

6. Шахворостов Г.И. Параметризация одного класса информационных систем / Г.И. Шахворостов, О.Я. Кравец // Информационные технологии моделирования и управления. 2012. № 6(78). С. 465-477.

7. Шахворостов Г.И. Проектирование программного обеспечения в рамках модельно-ориентированного подхода / Г.И. Шахворостов // Научный обозреватель. 2012. №6. С. 37-38.

8. Shakhvorostov G.I. Special transaction processor application for the productivity of transaction processing increase and optimization in a specialized

information system / G.I. Shakhvorostov, O.Ja. Kravets // Modem informatization problems in simulation and social technologies: Proc. of the XVIII-th Int. Open Science Conf. - Lorman, MS, USA: Science Book Publishing House. 2013. № 18. P. 283-289.

9. Shakhvorostov G.I. Transaction theory features application as tool for the data caching special protocol implementation / G.I. Shakhvorostov, O.Ja. Kravets // Modern informatization problems in economics and safety: Proc. of the XVIII-th Int. Open Science Conf. - Lorman, MS, USA: Science Book Publishing House. 2013. № 18. P. 44-49.

10. Shakhvorostov G.I. Features of the data caching protocol development on the basis of temporal tags for the special transaction processor / G.I. Shakhvorostov, O.Ja. Kravets // Modern informatization problems in the technological and telecommunication systems analysis and synthesis: Proc. of the XVIII-th Int. Open Science Conf. - Lorman, MS, USA: Science Book Publishing House. 2013. № 18. P. 330-335.

Зарегистрированные программы • 11. Шахворостов Г.И. Программная система "Интернет-ориентированная информационная система поддержки учебной и научной деятельности" / Г.И. Шахворостов - Свидетельство о государственной регистрации 2013611590 от 25.01.2013. М.: ФГБУ ФИПС, 2013.

12. Кравец О Л., Шахворостов Г.И. Программный модуль "Подсистема генерации контента интерактивного взаимодействия" / О.Я. Кравец, Г.И. Шахворостов. М.: ФГНУ ЦИТИС, 2013. - Per. №50201350123.

Подписано в печать 30.04.2013. Формат 60x84/16. Бумага для множительных аппаратов. Усл. печ. л. 1,0. Тираж 80 экз. Заказ № 107

ФГБОУ ВПО «Воронежский государственный технический университет» 394026 Воронеж, Московский просп., 14

Текст работы Шахворостов, Георгий Ильич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Воронежский государственный технический университет

На правах рукописи

04201 ЗВ^О

ШАХВОРОСТОВ Георгий Ильич

СПЕЦИАЛЬНОЕ МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ УПРАВЛЕНИЯ КЭШИРОВАНИЕМ ДАННЫХ НА ОСНОВЕ ВРЕМЕННЫХ МЕТОК ТРАНЗАКЦИЙ

Специальность: 05.13.11 - Математическое и программное обеспечение вычислительных систем, комплексов и сетей

ДИССЕРТАЦИЯ

на соискание учёной степени кандидата технических наук

Научный руководитель: д.т.н., профессор Кравец О. Я.

Воронеж - 2013

Содержание

Введение...................................................................................................................4

ГЛАВА 1. Анализ предметной области и постановка задачи...........................9

1.1 .Параметризация нового класса многозвенных клиент-серверных

информационных систем.................................................................................9

1.2.0собенности создания специального программного обеспечения для оптимизации распределенных информационных систем с использованием ЕЛЗ-технологии.................................................................28

1.3.Методы управления транзакциями как инструмент повышения производительности специализированных систем.................................32

1.4. Цель и задачи работы................................................................................38

ГЛАВА 2. Теория транзакций как средство повышения производительности распределенных специализированных информационных систем......................................................................................40

2.1 .Формализация метода управления кэшированием данных.............40

2.2. Тр анз акционное представление метода кэширования и инструмента применения кэшированных данных в последовательности транзакций.................................................................45

2.3.Сериализуемость историй метода кэширования................................57

2.4.Аналитическое представление метода кэширования на основе временных меток транзакций.......................................................................61

2.5. Выводы........................................................................................................69

ГЛАВА 3. Проектирование и алгоритмизация специального программного обеспечения управления кэшированием данных на основе временных меток транзакций...................................................................................................71

3.1.Общий алгоритм функционирования специального

программного обеспечения управления транзакциями..........................71

3.2.Алгоритмизация взаимодействия компонентов специального

программного обеспечения управления транзакциями..........................80

3.3.Особенности алгоритмизации взаимодействия и обмена

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

3.4.Особенности алгоритмизации поддержки пула соединений

между компонентами специального программного обеспечения.......97

3.5. Выводы......................................................................................................106

ГЛАВА 4. Реализация специального программного обеспечения управления кэшированием данных на основе временных меток транзакций............................................................................................................108

4.1. Структурно-функциональные особенности специального

программного обеспечения управления транзакциями........................108

4.2.0собенности программной реализации специального программного обеспечения управления транзакциями на основе

специального обработчика транзакций....................................................116

4.3.Экспериментальная оценка специального программного

обеспечения....................................................................................................124

4.4.Структур а и функционирование специального программного

обеспечения в составе «интернет-ориентированной

информационной системы поддержки учебной и научной

деятельности»................................................................................................132

4.5 Выводы.......................................................................................................147

Основные результаты работы............................................................................149

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

Приложения..........................................................................................................165

Введение

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

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

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

Большой вклад в изучение проблематики, связанной с обработкой и управлением транзакций внесли Ф. Бернштейн, Н. Гудман, М. Карэй, Дж. Грей и др.

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

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

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

Тематика диссертационной работы соответствует научному направлению ФГБОУ ВПО «Воронежский государственный технический университет» «Вычислительные комплексы и проблемно-ориентированные системы управления».

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

Для достижения поставленной цели необходимо решить следующие задачи:

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

провести формализацию применения кэшированных данных при описании процесса управления транзакциями;

осуществить аналитическое описание механизма временных меток в рамках мультиверсионной истории транзакций для их сериализуемости;

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

кэшированных данных;

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

Методы исследования. В работе использованы теория транзакций, теория множеств, теория графов, методы системного анализа, объектно-ориентированного программирования.

Тематика работы соответствует п. 3 «Модели, методы, алгоритмы, языки и программные инструменты для организации взаимодействия программ и программных систем», п. 4 «Системы управления базами данных и знаний» паспорта специальности 05.13.11 - «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей».

Научная новизна. К результатам работы, отличающимся научной новизной, относятся:

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

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

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

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

специальными сообщениями для поддержки пула соединений и обеспечивающие повышение производительности при соединении с СУБД;

структура специального программного обеспечения в составе многозвенной клиент-серверной интернет-ориентированной

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

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

Компоненты специального математического и программного обеспечения были интегрированы в состав «Интернет-ориентированной информационной системы поддержки учебной и научной деятельности», прошедшей Государственную регистрацию в ФГБУ «Федеральный институт промышленной собственности».

Реализация и внедрение результатов работы. Основные теоретические и практические результаты работы реализованы в виде «Интернет-ориентированной информационной системы поддержки учебной и научной деятельности» и внедрены в АНОО ВПО «Воронежский экономико-правовой институт». Эффект от внедрения заключается в обеспечении необходимого уровня реактивности системы при ответах на 8С)Ь-запросы пользователей к БД.

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

конференции молодых учёных "Управление большими системами" (Липецк, 2012), XVIII International Open Science Conference «Modern informatization problems in the technological and telecommunication systems analysis and synthesis» (Lorman, MS, USA, 2013), XVIII International Open Science Conference «Modern informatization problems in economics and safety » (Lorman, MS, USA, 2013), XVIII International Open Science Conference «Modern informatization problems in simulation and social technologies » (Lorman, MS, USA, 2013), научных семинарах кафедры автоматизированных и вычислительных систем ФБГОУ ВПО «Воронежский государственный технический университет».

Публикации. По результатам исследований опубликовано 12 научных работ, в том числе 3 - в изданиях, рекомендованных ВАК РФ. В работах, опубликованных в соавторстве и приведенных в конце автореферата, лично соискателю принадлежат: [29] - разработка методов управления базами данных в составе специализированных информационных систем реального времени; [68, 116] - математическое обеспечение кэширования данных на основе специального обработчика транзакций; [69, 70] - выделение специального класса информационных систем; [114, 115] - архитектура и алгоритмизация функционирования планировщика транзакций; [30, 71] - компоненты специального программного обеспечения управления транзакциями.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы из 121 наименования. Основная часть работы изложена на 173 страницах, содержит 50 рисунков, 23 таблицы.

ГЛАВА 1. Анализ предметной области и постановка задачи

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

1.1. Параметризация нового класса многозвенных клиент-серверных информационных систем

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

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

- распределенная обработка данных. Обработка данных разделена между несколькими компьютерами.

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

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

В широком смысле ИС есть совокупность технического, математического, лингвистического, программного, организационного, правового и информационного обеспечения, предназначенного для обеспечения пользователей необходимой информацией [95, 36]. Также в достаточно широком смысле трактует понятие ИС Федеральный закон № 149-ФЗ «Об информации, информационных технологиях и о защите информации»: «Инофрмационная система - совокупность содержащейся в базах данных информации и обеспечивающих ее

обработку информационных технологий и технических средств» [62].

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

В настоящее время информационные системы классифицируются по

целому ряду признаков. В основу классификации ИС положены наиболее существенные и значимые признаки, определяющие функциональные возможности и особенности построения ИС. Наиболее подробную и развернутую классификацию ИС дают И.Г. Гниденко, В.И. Грекул и Н.В. Макарова [12, 16, 37, 38]. Рис. 1.1 иллюстрирует классификацию ИС.

По признаку структурированности задач

По архитектуре

\ > к /

По характеру использования информации ■4— Информационные —^

системы

По степени автоматизации

По уровню управления

По сферам применения

По функциональному признаку

Рис. 1.1. Классификация информационных систем

1. По признаку структурированности задач:

1.1. ИС для структурированных задач;

1.2. ИС для неструктурированных или частично структурированных задач.

2. По функциональному признаку:

2.1. Производственные ИС;

2.2. Маркетинговые ИС;

2.3. Бухгалтерские ИС;

2.4. Финансовые ИС;

2.5. Кадровые ИС.

3. По характеру использования или обработки информации ИС делятся:

3.1. Информационно-поисковые;

3.2. Информационно-решающие:

3.2.1. Управляющие;

3.2.2. Советующие.

4. По сферам применения:

4.1. ИС организационного управления;

4.2. ИС управления технологическими процессами;

4.3. ИС автоматизированного проектирования или системы автоматизированного проектирования (САПР);

4.4. Интегрированные (корпоративные) ИС.

5. По степени автоматизации:

5.1. Ручные;

5.2. Автоматизированные;

5.3. Автоматические.

6. По уровню управления:

6.1. Стратегические;

6.2. Функциональные;

6.3. Операционные.

7. По архитектуре:

7.1. Распределенные ИС:

7.1.1. Файл-серверные ИС (ИС с архитектурой «файл-сервер»);

7.1.2. Клиент-серверные ИС (информационные системы с архитектурой «клиент-сервер»):

7.1.2.1. Двухзвенные клиент-серверные ИС;

7.1.2.2. Многозвенные клиент-серверные ИС;

7.2. Локальные ИС.

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