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

кандидата технических наук
Гражданцев, Евгений Викторович
город
Красноярск
год
2008
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Транзакционная обработка данных в распределенных информационно-управляющих системах»

Автореферат диссертации по теме "Транзакционная обработка данных в распределенных информационно-управляющих системах"

Сибирский государственный аэрокосмический университет имени академика

М.Ф. Решетнева

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

Г

ииочоГЧЙО

'V

Гражданцев Евгений Викторович

ТРАНЗАКЦИОННАЯ ОБРАБОТКА ДАННЫХ В РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ

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

Автореферат

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

Научный руководитель: к.т.н., доцент Тынченко С.В.

1 2 ЛЕК 2000

Красноярск - 2008

003457468

Работа выполнена в Сибирском государственном аэрокосмическом университете имени академика М.Ф. Решетнева

Научный руководитель: доктор технических наук,

профессор Тынченко Сергей Васильевич

Официальные оппоненты: доктор технических наук,

профессор Ступина Алена Александровна

кандидат технических наук, доцент Зеленков Павел Викторович

Ведущая организация: Сибирский федеральный университет, г. Красноярск

Защита состоится 29 декабря 2008 года в 14.00 часов на заседании диссертационного Совета ДС 212.023.04 при Сибирском государственном аэрокосмическом университет по адресу: 660014, Красноярск, пр. имени газеты Красноярский рабочий, 31.

С диссертацией можно ознакомиться в библиотеке СибГАУ.

Автореферат разослан 28 ноября 2008 года.

Ученый секретарь

диссертационного совета И.В. Ковалев

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

Актуальность работы. Проектирование современных распределенных систем обработки информации и управления предъявляет высокие требования по надежности к программным средствам. Одним из таких требований является обеспечение транзакционной надежности обращения пользователя к базе данных системы. Существует ряд критичных областей науки и промышленности, где невыполнение этого требования и, как следствие, сбой работы системы управления может повлечь за собой значительные экономические потери в рамках, как предприятия, так и целого региона. Такими областями являются банковская система, финансовые организации, космос, подводные и подземные исследования, атомная промышленность, химическое производство, прогнозирование и т.д. Поэтому одной из основных задач разработчиков становится создание таких распределенных систем обработки информации и управления, которые обеспечивали бы транзакционную надежность системы как к программным, так и к аппаратным сбоям. Для обеспечения транзакционной надежности таких систем предложено множество подходов, включая организационные методы разработки, различные технологии и технологические программные средства, что требует привлечения значительных ресурсов. Следует отметить работы как российских, так и зарубежных исследователей в данной области: Васкевича Д., Голосова А.О., Фагина P. (Fagin R.), Мосса Дж. (Moss J.E.B.) и др. Однако отсутствие общепризнанных критериев надежности не позволяет ответить на вопрос, насколько надежнее становится система при соблюдении предлагаемых процедур и технологий и в какой степени оправданы затраты. Таким образом, приоритет задачи оценки и повышения транзакционной надежности следует существенно повышать, и данная тенденция в настоящее время становиться все ощутимей.

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

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

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

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

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

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

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

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

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

- анализ и модификация моделей технологии извлечения данных и знаний, пригодных для повышения транзакционной надежности распределенных информационных систем;

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

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

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

Научная новизна работы:

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

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

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

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

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

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

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

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

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

Реализация результатов работы. Диссертационная работа выполнялась по проектам межотраслевых программ Минобразования России и Минатома России по направлению «Научно-инновационное сотрудничество» (проект VU-12), а также в рамках тематического плана СибГАУ (2005-2007 гг.).

При использовании системы модельно-алгоритмической поддержки анализа транзакционной надежности программных средств был реализован модуль «Модель оценки надежности» системы Microsoft Business Solutions-Axapta, используемый в ООО «ИНТЭС».

Апробация работы. Основные положения и результаты работы прошли апробацию на всероссийских конференциях, научных семинарах и научно-практических конференциях. В том числе: на Всеросийской научно-практической конференции «Решетневские чтения» (Красноярск, 2004), на

48-й научно-технической конференции преподавателей, аспирантов и студентов Красноярского государственного технического университета ' (Красноярск, 2006), на Пленарном заседании Второй Всероссийской конференции «Молодежь и наука: начало 21-го века», посвященной 50-летию КГТУ (Красноярск, 2006), на 5-й, 6-й и 7-й Всероссийских научно-практических конференциях «Актуальные проблемы экономики, информатики и права» (Красноярск, 2005-2007).

Публикации. По теме диссертации опубликовано 16 печатных работ. Полный список публикаций представлен в конце автореферата.

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

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

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

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

Отмечены четыре важных свойства транзакции, известные как свойства АСИД:

• (А) Атомарность. Транзакция выполняется как атомарная операция -либо выполняется вся транзакция целиком, либо она целиком не выполняется.

• (С) Согласованность. Транзакция переводит базу данных из одного согласованного (целостного) состояния в другое согласованное (целостное) состояние. Внутри транзакции согласованность базы данных может нарушаться.

• (И) Изоляция. Транзакции разных пользователей не должны мешать друг другу.

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

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

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

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

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

информация должна оставаться во внешней памяти, т.к. иначе неоткуда получить информацию для восстановления.

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

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

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

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

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

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

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

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

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

В работе выявлены и подробно рассмотрены три основные проблемы параллелизма:

• Проблема потери результатов обновления.

« Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание).

• Проблема несовместимого анализа.

Основная идея управления параллельными транзакциями на основе многоверсионности (multiversion concurrency control, MVCC) заключается в том, что в базе данных допускается существование нескольких «версий» одного и того же элемента данных, что позволяет улучшить ряд характеристик стандартной СУБД. В данном разделе приведён ряд алгоритмов управления параллельными транзакциями: метод временных меток, многоверсионный вариант двухфазного протокола синхронизации, многоверсионный протокол для транзакций, не изменяющих данные, MVSG-планировщик.

Показано, что использование многоверсионного метода временных меток (multiversion timestamp ordering, MVTO) предпочтительней. Этот планировщик обрабатывает операции таким образом, чтобы суммарный результат выполнения операций был эквивалентен последовательному выполнению транзакций. Порядок сериализации задается порядком временных меток, которые получают транзакции во время старта. Временные метки также используются для идентификации версий данных при чтении и модификации — каждая версия получает временную метку той транзакции, которая ее записала. Планировщик не только следит за порядком выполнения действий транзакций, но также отвечает за трансформацию операций над данными в операции над версиями — каждая операция вида «прочитать элемент данных х», должна быть преобразована планировщиком в операцию: «прочитать версию^ элемента данных х».

Временную метку, полученную транзакцией ti в начале ее работы, будем обозначать как ts(ti), операцию чтения транзакцией ti элемента данных х как ri(x). Для обозначения того, что транзакция ti читает версию элемента данных х, созданную транзакцией tk, будем писать ri(xk), для обозначения того, что транзакция ti записывает версию элемента данных х, будем использовать запись wifx). Так же предложена реализация алгоритма работы планировщика MVTO.

Планировщик преобразует операцию ri(x) в операцию ri(xk), где хк — это версия элемента х, помеченная наибольшей временной меткой ts(tk), такой что ts(tk) <ts(ti).

1. Операция wi(x) обрабатывается планировщиком следующим образом:

a) если планировщик уже обработал действие вида rj(xk), такое что ts(tk) < ts(ti) < ts(tj), то операция wi(x) отменяется, a ti откатывается;

b) в противном случае wi(x) преобразуется в wi(xi).

2. Завершение транзакции ti (commit) откладывается до того момента, когда завершатся все транзакции, записавшие версии данных, прочитанные ti.

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

На рис. 1 приведен пример работы планировщика MVTO.

rlfrO)_flpp ш

t2—l-—Т ' I.-1--

CM-1-•

Время

-

Рис. 1 - Пример работы планировщика MVTO.

Взаимодействие транзакций tl и t2 отличным образом иллюстрирует плюсы использования версий. В случае подобного плана выполнения транзакций при отсутствии версионности получился бы классический случай чтения несогласованных данных. Однако в описаном примере эта ситуация вполне приемлема из-за того, что первая транзакция читает «старую» версию элемента данных у. Транзакция t3 ожидает окончания работы t2 перед собственным завершением (пунктирная линия на рис. 1). Это происходит потому, что t3 прочитала незавершенную версию х2.

Транзакция t4 является примером «поздней» транзакции изменения. Она создает версию у4, в то время как транзакция t5 (стартовавшая позднее) уже прочитала более раннюю версию у2. То есть транзакция ?5 «не видит» некоторых изменений, внесенных t4. Таким образом, сериализация транзакций в порядке получения ими временных меток невозможна — необходим откат.

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

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

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

/2...., ..., У,

где г) — объекты, входящие в анализируемые наборы; п — общее количество объектов.

Данные объекты имеют ряд атрибутов, которые представлены в соответствии с рис. 2.

Рис. 2 - Характеристика объекта анализируемых данных.

Далее, для определенности, будем считать, что они соответствуют следующему множеству объектов: I = 12, ¿з, и, Ь, к}- Очевидно, что наборы объектов из множества I, хранящиеся в БД и подвергаемые анализу, являются транзакциями. Тогда транзакцию в нашем случае опишем как подмножество множества Г.

В распределенных ИС такие транзакции соответствуют наборам терминов, необходимых лицу, принимающему решение (ЛПР), и сохраняемых в БД в виде запроса. В наборе перечисляются необходимые термины, их вес и др. Пусть, в качестве примера, следующие транзакции соответствуют требованиям ЛПР при разных условиях запроса:

Ti = {h, U, hh Т2 = {iз, U, к}-

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

D = {T/,T2' .....Tj},

где /— определяет уровень многоверсионности транзакций (l~l, ...,w).

Например, таким множеством будет:

k ¡5?, {h, i4, ¡б}!, (к U, ¡2, iз, U}', Üз. Ц, U}'}-

Показано, что применяя метод поиска ассоциативных правил можно выявить наиболее часто используемые (запрашиваемые) транзакции и уже для них применять механизмы управления данными для прогнозирования поведения пользователя в рамках информационной системы, а так же для повышения надежности обработки транзакций в распределенных информационно-управляющих системах. Процедуры секвенциального анализа целесообразно применять при анализе информации и транзакций в корпоративных ИС с учетом последовательности происходящих событий. При обнаружении закономерностей в таких последовательностях можно оценивать вероятность появления событий в будущем, а это позволяет принимать более правильные решения по организации обработки данных в ИС. Показана реализация данного подхода при многоверсионной обработке данных в ИС. Последовательностью называется упорядоченное множество объектов. Для этого на множестве должно быть задано отношение порядка. В нашем случае последовательность объектов можно описать в виде: S, = H'w-V'- ,гдcp<q, M.....W.

Например, в случае с запросами ЛПР таким отношением порядка может выступать время выполнения запроса. Тогда последовательность

S, = {(i4, 02.03.2008), (i2,05.03.2008), (i5,10.03.2008)}

можно интерпретировать как запросы, совершаемые одним лицом в разное время (вначале была запрошена многоверсионная транзакция, содержащая термин ¡4, затем i2, а потом is). Различают два вида последовательностей: с циклами и без циклов. В первом случае допускается вхождение в последовательность одного и того же объекта на разных позициях:

Определим, что многовереионная транзакция Г/ содержит последовательность Я, если 5 сГ/ и объекты, входящие в 5, входят и в множество Тк с сохранением отношения порядка. При этом допускается, что в множестве Г/ между объектами из последовательности 5 могут находиться другие объекты.

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

Зирр (5) > Бирртт-

Задачей секвенциального анализа является поиск всех частых многоверсионных последовательностей:

Х/={5|8ирр(5)>81ЦтрпА1}.

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

Например, при анализе последовательности запросов информации ЛПР наборами являются группы терминов, запрашиваемые в разное время одними и теми же ЛПР, а отношением порядка в них является хронология запросов:

£>= (т. т. Юз, у, гы (и, 4 т. т ь у, т.

Данное множество можно представить в соответствии с рисунком 3.

¡¿ЛПР 0 1 2

Последовательность запросов ^ и й ) (к и) ( и )С и. ¡1. (;>. Ь. ¡л) {и )

Рис. 3 - Хронология запросов ЛПР.

Интерпретировать такую последовательность можно следующим образом: ЛПР с идентификатором 1 вначале запросил информацию с термином 1} и и, затем и, в последний раз он запросил ¡4, ¡] и г3.

Поддержка, например, последовательности (/.<)} составит 2/3, так как она встречается у ЛПР с идентификаторами 0 и 1. У последнего ЛПР также встречается набор {(¿л), (/>)}, но не сохраняется последовательность (он запросил вначале ¡4, а затем ¡¡).

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

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

Таблица 1 - Последовательность отказов системы.

Дата Время Источник ошибки Код источника Код ошибки

01.01.03 15:04:23 Узел 1 1001 а

01.01.03 16:45:46 Узел 1 1001 ?

01.01.03 18:32:26 Узел 4 1004 7.

01.01.03 20:07:11 Узел 5 1005 Ь

01.01.03 20:54:43 Узел 1 1001 Ч

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

идентификатором иге!. Их можно представить в виде пар (е\й, /) где егс! — код ошибки, а. I — время, когда она произошла. Таким образом, последовательность сбоев на узле ИС с идентификатором яге? будет иметь следующий вид:

Для данных, приведенных в табл. 1, имеем следующие транзакции: Т, = {(а, 15:04:23 01.01.03), (/, 16:45:46 01.01.03),20:54:43 01.01.03), ...}; Т4 = {(г, 18:32:26 01.01.03),...}; Т5 = {(Ъ, 20:07:11 01.01.03),...}.

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

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

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

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

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

Определим: т — общее количество классов; п - общее количество транзакций; К, -класс, /=1 ,...,т;

О, - операционный профиль (множество входных диапазонов) г'-го класса, /=1,...,/я;

- вектор, отображающий вероятности сбоя ¡-го класса для каждого входного диапазона, г=1,...,/я;

/и - 1-й. элемент вектора ^, / - размерность вектора -Р,; 7}- транзакция, _/=1,...,«;

Г)] - множество классов принадлежащиху'-ой транзакции,/=1,...,«;

Ну - вектор вероятностей использования диапазона значений /-го класса в у-

ой транзакции;

}г-ф - к-й элемент вектора Ну;

Щ - вес (надежность) /-го классау'-й транзакции;

РЦ - вероятность использованияу'-й транзакции;

Щ— надежность у'-й транзакции;

Шг - транзакционная надежность всей системы.

Вес (надежность) /'-го классатранзакции определятся по формуле:

к=1

Надежность транзакции можно вычислить как

Аг=1

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

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

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

- поиск ассоциативных правил;

- секвенциальный анализ;

- оценка транзакционной надежности модулей ИС (отдельных транзакций);

- сбор и обработка данных на базе модели оценки транзакционной надежности (для анализа общей надежности системы);

- выработка решений и рекомендаций по повышению транзакционной надежности системы.

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

1. Повышение надежности выполнения транзакций (относится к программной реализации системы обработки транзакций).

2. Повышение надежности аппаратной среды обработки транзакций (относится к аппаратной надежности ИС).

На рис. 4 представлена диаграмма первого этапа. Как следует из рисунка, работа начинается с анализа транзакций, которые запрашиваются ЛПР. После того как данная информация получена, выполняются процедуры поиска ассоциативных/секвенциальных правил как для каждого ЛПР, так и в целом по информационной системе. После проведенного анализа формируются ассоциативные/секвенциальные транзакционные множества. На данном этапе работает модифицированный механизм извлечения данных, реализованный в виде двух подходов: поиска ассоциативных правил и секвенциального анализа. Программная среда исполнения позволяет выбирать тот или иной подход в зависимости от требований пользователя и возможностей информационной системы.

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

Процесс, представленный на рис. 5, иллюстрирует повышение надежности аппаратной среды обработки транзакций.

В работе выполнена программная реализация модуля, обеспечивающего повышение тралзакционной надежности распределенных информационно-управляющих систем. Модуль реализован в виде вспомогательного компонента «Модель надежности» системы Microsoft Business Solutions - Axapta. Главное окно модуля показано на рис. 6.

1 Повышение надежности выполнен™ трансакций

ЕЕ-1

Распределенная система обработки инфсмарцти уравленмя

1,1

сведешяо

Папучениг с&едежйо транзакциях

__С8едемяо

транзакциях

М

Поиск

ас сациативньпЛек ве щиоп ьныхпраеип среди множества транзакций

на^ежые ассоциативны е/сек ва1циалььые множества

15

Применеже метод од об повышения надежности трек$8кцм4

Г~

13

1.4

показатели надежности ассоциативного*:» венциальнэ!х тржз акциожэ го множеств а

Оценса транзакциожой надежности а^социатмвныхСсек вещ иапьлых тра<зекцио(+ь1Х множеств

Фсрм*|»ванив ас ссциатушны^сек вен^иа л ьнэю транзакцюнных мюяесге

ассациативьы е/сек вещиалыые трэнз асцио i+ые м нажества

Рис. 4 - Повышение надежности выполнения транзакций.

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

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

Рис. 5 - Повышение надежности аппаратной среды обработки транзакций.

Рис. 6 Модуль анализа транзакционной надежности.

Поиск ассоциативных правил

Щйьс&к пользователей

Сергей Васильевич {нам Иатушанко Иван Павлович (руко Кардашвв Денис Викторович (ис Круковский Евгений Евгеньевич •Я»ш?»»а Щяяа Вгсзвгьзшз (ш-Лешкова Шд«з*дй Васильевна { Маринин Павел Павлович {руко Мельник Степан Анатольевич (и Михааь Михаил Ивансншч (мене Михеева Анастасия Петровна {м Мчхша Мван Васильевич (гфсгр Ноокова Ольга Федоровна {бух

Выпс трдизакции •

— Леш- ■ ■ - а Васильевна

Прайс яисг апрвйь |

Выборка - Анализ продаж яявар I

Выборга - Анализ продаж февр £ - Анализ. продаж март

Ш- Выборка - Исходная цена ноутб |

Выборг - Исходна« цена ноутб |

Выборка - Исходна» цена яоутб |

Ш-; Выборка - Отчет т продажам н |

; Выборка - Сотрудник отдела п |

щУ Удаление - Цена ноутбук ИР Ш | - Прайс лист апрель

£

.11_I •

- Пе-ать

И] .

транзакций

Ц . В,

Рис. 7 Главное окно функции поиска ассоциативных правил.

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

Секвенциальный анализ - последо&атепьиость транзакций

■ ■ ■ ■ ' ..

i Щ Пользователь".............

а Иванов;С-е. [ (ртч«т rio Продажам - явиарь), (продажи ноутбука. проа

; 11 Ивтущекко И. П. | (отчет по продажам - январь, февраль), {продажи Пеш«о ;

1г 'SSL Кардаимн? Д.В. (остатка ноутбук. ASUS), (заказы - ASUS. Sony, HP}, (вы i 1

§11 Крукоэекий£.£. i TOSHIBA Aser), (остаток, ноутбук, HP.. Азег); {

■я ЯВШХО&З И.3. i (ноутбук), {ноутбук, ASUS, Sony). (йОугбук, ASUS. T5250) i

Я вдовев H.a. (монитор. Samsung, HP, Sony), {конитор, LCD). (остатки j :

Мэримим ГШ. (продажи 17 февраля), (продажи ноутбук. "7 ф«арзяя), { i

HI

ц I „ , III - ^^ ш

Рис. 8 - Главное окно секвенциального анализа.

[Секвенциальный-анализ • сбои системы

ш Дша >

12.02.03 Сервер 1

¡ЙЁ 12.02. Ой 31 $1:12 С&рвер 1 1281 Ш

ч 12.02.03 Сервер 1

.5 I2.fi2.0a Сервер 1 №

¡ц 12.02. оа Сервер 4 Ш5

1 з.о2.оа Сер1«р г _ И

и« 13.02.08 11:43:17 (248

■в и

Рис. 9 Анализ сбоев системы.

Рис. 9 демонстрирует работу функции - анализ сбоев системы.

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

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

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

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

2. На основе анализа транзакционных структур в распределенных ИС предложен и реализован многоверсионный метод временных меток, который позволяет параллельно инициализировать многоверсионные транзакции. При этом результат операций обработки данных в ИС эквивалентен последовательному выполнению набора транзакций.

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

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

5. Предложена комбинированная процедура повышения транзакционной надежности распределенных ИС, основанная на

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

6. Предложена реализация программно-алгоритмической поддержки анализа транзакционной надежности путем интеграции в корпоративную ИС - Microsoft Business Solutions - Axapta, обеспечивающая за счет уменьшения вероятности сбоя в соответствующих входных диапазонах данных, требуемый коэффициент готовности системы.

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

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

1. Гражданцев, Е.В. Оптимизация настроек систем управления базами данных / Е.В. Гражданцев, С.Н. Ежеманская, A.B. Прокопенко, Р.Ю. Царев // Программные продукты и системы.- 2008.- № 2,- С. 54-56.

2. Гражданцев, Е.В. Анализ пользовательских транзакций в распределенных информационно-управляющих системах / Е.В. Гражданцев, М.В. Карасева, В.В. Брезицкая // Вестник СибГАУ.- 2008,- № 3(20).- С. 85-89.

3. Гражданцев, Е.В. Практическая реализация надежностного анализа архитектуры программной системы / Е.В. Гражданцев, М.А. Русаков, О.И. Завьялова, Р.Ю. Царев // Вестник СибГАУ.- 2008,- № 1(18).- С. 37-40.

4. Гражданцев, Е.В. Система стохастического моделирования распределенной среды обработки информации и управления (Программная система «MGNetView ver. 1.0») / Е.В. Гражданцев, А.П. Иванов, Р.Ю. Царев, Ю.Д. Цветков, Е.Л. Вайтекунене // Инновации в науке и образовании. №7.2008. - С. 27.

5. Гражданцев, Е.В. Система модельно-алгоритмической поддержки анализа транзакционной надежности / Е.В. Гражданцев, В.В. Брезицкая, H.A. Распопин // Инновации в науке и образовании. №8.- 2008.- С. 28.

6. Гражданцев, Е.В. Система повышения транзакционной надежности / Е.В. Гражданцев, В.В. Брезицкая, H.A. Распопин II Инновации в науке и образовании. №8.- 2008. - С. 28-29.

7. Гражданцев, Е.В. Программный модуль анализа транзакционной надежности распределенных систем обработки информации и управления / Е.В. Гражданцев // Вестник НИИ СУВПТ,- 2007.- Вып. 25,- С. 118-121.

8. Гражданцев, Е.В. Транзакционная структура модели управления технологическими процессами / Е.В. Гражданцев, A.B. Лосев, О.В. Богданова // Вестник НИИ СУВПТ,- 2007.- Вып. 25.- С. 39-42.

9. Гражданцев, E.B. Многоверсионный подход к анализу и оптимизации систем баз данных / Е.В. Гражданцев // Актуальные проблемы экономики, права и информационных технологий. Сборник научных статей. Красноярск: КФ МЭСИ, 2006.- Часть 3. - С. 227-231.

Ю.Гражданцев, Е.В. Многоверсионная защита баз данных на физическом уровне / Е.В. Гражданцев // Актуальные проблемы экономики, права н информационных технологий. Сборник научных статей. Красноярск: КФ МЭСИ, 2006,- Часть 3. - С. 267-271.

11.Гражданцев, Е.В. Повышение качества работы баз данных под управлением СУБД «ORACLE» / Е.В. Гражданцев, A.B. Штенцель // Актуальные проблемы экономики, права и информационных технологий. Сборник научных статей. Красноярск: КФ МЭСИ, 2005.- Часть 3. - С. 107112.

12.Гражданцев, Е.В. Обеспечение защиты данных БД / Е.В. Гражданцев // Актуальные проблемы экономики, права и информационных технологий. Сборник научных статей. Красноярск: КФ МЭСИ, 2007.- Часть 3. - С. 372379.

13.Гражданцев, Е.В. Управление качеством при моделировании БД биллинговых систем / Е.В. Гражданцев // Актуальные проблемы экономики, права и информационных технологий. Сборник научных статей. Красноярск: КФ МЭСИ, 2005,- Часть 3. - С. 381-384.

Программные разработки, зарегистрированные в Отраслевом фонде алгоритмов и программ:

М.Гражданцев Е.В., Брезицкая В.В., Распопин H.A. Система модельно-алгоритмической поддержки анализа транзакционной надежности.- М.: ВНТИЦ, 2008. № 50200801748, Per. № ОФАП 11265.

15.Гражданцев Е.В., Брезицкая В.В., Распопин H.A. Система повышения транзакционной надежности,- М.: ВНТИЦ, 2008. № 50200801749, Per. № ОФАП 11266.

16.Гражданцев Е.В., Иванов А.П., Царев Р.Ю., Цветков Ю.Д., Вайтекунене E.JI. Система стохастического моделирования распределенной среды обработки информации и управления (Программная система "MGNetView ver. 1.0").- М.: ВНТИЦ, 2008. № 50200801508, Per. № ОФАП 11028.

Заказ № Шн Тираж /00 экз.

Отпечатано ООО «Новые компьютерные технологии» 660049 г. Красноярск, ул. К. Маркса, 62; офис 120; тел.: (391)226-31-31,226-31-11.

Оглавление автор диссертации — кандидата технических наук Гражданцев, Евгений Викторович

ВВЕДЕНИЕ.

1 ПОНЯТИЕ ТРАНЗАКЦИЙ.

1.1 Транзакции и целостность баз данных.

1.2 Транзакции и восстановление данных.

Выводы по разделу 1.

2 МНОГОВЕРСИОННОСТЬ ДАННЫХ И УПРАВЛЕНИЕ ПАРАЛЛЕЛЬНЫМИ ТРАНЗАКЦИЯМИ.

2.1 Транзакции и параллелизм.

2.2 Временные метки.

2.3 Многоверсионный вариант двухфазного протокола синхронизации.

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

2.5 МУБО-планировщики.

2.6 Проблемы реализации версионных алгоритмов.

Выводы по разделу 2.

3 ПРИМЕНЕНИЕ ТЕХНОЛОГИИ ИЗВЛЕЧЕНИЯ ДАННЫХ ПРИ АНАЛИЗЕ ТРАНЗАКЦИОННОЙ НАДЕЖНОСТИ РАСПРЕДЕЛЕННЫХ СИСТЕМ.

3.1 Формальная постановка задачи.

3.1.1 Поиск ассоциативных правил.

3.1.2 Секвенциальный анализ.

3.1.3 Разновидности задачи поиска ассоциативных правил.

3.2 Представление результатов.

3.3 Алгоритмы.

3.3.1 Алгоритм Арпоп.

3.3.2. Разновидности алгоритма Арпоп.

Выводы по разделу 3.

4 МОДЕЛЬ ПОВЫШЕНИЯ ТРАНЗАКЦИОННОЙ НАДЕЖНОСТИ СИСТЕМ ОБРАБОТКИ ИНФОРМАЦИИ И УПРАВЛЕНИЯ.

4.1 Описание модели оценки транзакционной надежности.

4.2 Комбинированная схема повышения транзакционной надежности распределенных систем обработки информации и управления.

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

4.4 Анализ транзакционной надежности.

Выводы по разделу 4.

Введение 2008 год, диссертация по информатике, вычислительной технике и управлению, Гражданцев, Евгений Викторович

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

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

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

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

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

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

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

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

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

- анализ и модификация моделей технологии извлечения данных и знаний, пригодных для повышения транзакционной надежности распределенных информационных систем;

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

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

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

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

Научная новизна работы:

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

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

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

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

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

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

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

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

Реализация результатов работы. Диссертационная работа выполнялась по проектам межотраслевых программ Минобразования России и Минатома России по направлению «Научно-инновационное сотрудничество» (проект VII-12), а также в рамках тематического плана СибГАУ (2005-2007 гг.).

При использовании системы модельно-алгоритмической поддержки анализа транзакционной надежности программных средств был реализован модуль «Модель оценки надежности» системы Microsoft Business Solutions-Axapta, используемый в ООО «ИНТЭС».

Апробация работы. Основные положения и результаты работы прошли апробацию на всероссийских конференциях, научных семинарах и научно-практических конференциях. В том числе: на Всеросийской научно-практической конференции «Решетневские чтения» (Красноярск, 2004), на 48-й научно-технической конференции преподавателей, аспирантов и студентов Красноярского государственного технического университета (Красноярск, 2006), на Пленарном заседании Второй Всероссийской конференции «Молодежь и наука: начало 21-го века», посвященной 50-летию КГТУ (Красноярск, 2006), на 5-й, 6-й и 7-й Всероссийских научно-практических конференциях «Актуальные проблемы экономики, информатики и права» (Красноярск, 2005-2007).

Публикации. По теме диссертации опубликовано 16 печатных работ. Полный список публикаций представлен в конце автореферата.

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

Заключение диссертация на тему "Транзакционная обработка данных в распределенных информационно-управляющих системах"

Выводы по разделу 4.

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

2. На основе анализа транзакционных структур в распределенных ИС предложен и реализован многоверсионный метод временных меток, который позволяет параллельно инициализировать многоверсионные транзакции. При этом результат операций обработки данных в ИС эквивалентен последовательному выполнению набора транзакций.

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

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

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

6. Предложена реализация программно-алгоритмической поддержки анализа транзакционной надежности путем интеграции в корпоративную ИС - Microsoft Business Solutions - Axapta, обеспечивающая за счет уменьшения вероятности сбоя в соответствующих входных диапазонах данных, требуемый коэффициент готовности системы.

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

Библиография Гражданцев, Евгений Викторович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. М.: Финансы и статистика, 1989.

2. Боуман Д., Эмерсон С., Дарновски М. Практическое руководство по SQL. Киев: Диалектика, 1997.

3. Брой М. Информатика. Часть 2. М.: Диалог-МИФИ, 1996.

4. Брой М. Информатика, Часть 3. М.: Диалог-МИФИ, 1996.

5. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. М.: Издательство Бином, 2006.

6. Васкевич Д. Стратегии клиент/сервер. Киев: Диалектика, 2001.

7. Гаврилов Е.С., Ковалёв И.В., Царёв Р.Ю., Слободин М.Ю. Программная система «Real-Time System Analyzer ver. 1.0» (Система оценки архитектурной надёжности телекоммуникационных систем реального времени). М.: ВНТИЦ, 2005. - № 50200500696, Per. № ОФАП 4749.

8. Гаврилов Е.С., Ковалёв И.В., Антамошкин O.A., Русаков М.А. Диалоговая система оценки надёжности архитектуры программного обеспечения (Rapid Reliability ArchitecEstimator ver. 1.0)- M.: ВНТИЦ, 2005. № 50200500525, Per. № ОФАП 4623.

9. Гилуа М.М. Множественная модель данных в информационных системах. М.: Наука, 1998.

10. Голосов А.О. Аномалии в реляционных базах данных //СУБД. 1996. - №3. - С.23-28.

11. Грабер М. Введение в SQL. М.: Лори, 2001.-379 с.

12. Грабер М. Справочное руководство по SQL. М.: Лори, 2004. - 291 с.

13. Гражданцев, Е.В. Оптимизация настроек систем управления базами данных / Е.В. Гражданцев, С.Н. Ежеманская, И.В.Ковалев, A.B. Прокопенко, Р.Ю. Царев // Программные продукты и системы.- 2008.- № 2.- С. 54-56.

14. Гражданцев, Е.В. Анализ пользовательских транзакций в распределенных информационно-управляющих системах / Е.В. Гражданцев, М.В. Карасева, В.В. Брезицкая // Вестник СибГАУ.- 2008.- № 3(20).- С. 85-89.

15. Гражданцев, Е.В. Практическая реализация надежностного анализа архитектуры программной системы / Е.В. Гражданцев, М.А. Русаков, О.И. Завьялова, Р.Ю. Царев // Вестник СибГАУ.- 2008.- № 1(18).- С. 37-40.

16. Гражданцев, Е.В. Программный модуль анализа транзакционной надежности распределенных систем обработки информации и управления / Е.В. Гражданцев //Вестник НИИ СУВПТ.- 2007.- Вып. 25,- С. 118-121.

17. Гражданцев, Е.В. Система модельно-алгоритмической поддержки анализа транзакционной надежности / Е.В. Гражданцев, В.В. Брезицкая, H.A. Распопин // Инновации в науке и образовании. №8 2008. С. 28.

18. Гражданцев, Е.В. Система повышения транзакционной надежности / Е.В. Гражданцев, В.В. Брезицкая, H.A. Распопин // Инновации в науке и образовании. №8 2008. С. 28-29.

19. Гражданцев, Е.В. Транзакционная структура модели управления технологическими процессами / Е.В. Гражданцев, A.B. Лосев, О.В. Богданова // Вестник НИИ СУВПТ.- 2007.- Вып. 25.- С. 39-42.

20. Гражданцев, Е.В. Многоверсионный подход к анализу и оптимизации систем баз данных / Е.В. Гражданцев // Актуальные проблемы экономики,права и информационных технологий. Сборник научных статей. Красноярск: КФ МЭСИ, 2006, Часть 3. С. 227-231.

21. Гражданцев, Е.В. Многоверсионная защита баз данных на физическом уровне / Е.В. Гражданцев // Актуальные проблемы экономики, права и информационных технологий. Сборник научных статей. Красноярск: КФ МЭСИ, 2006, Часть 3. С. 267-271.

22. Гражданцев, Е.В. Обеспечение защиты данных БД / Е.В. Гражданцев // Актуальные проблемы экономики, права и информационных технологий. Сборник научных статей. Красноярск: КФ МЭСИ, 2007, Часть 3. С. 372379.

23. Гражданцев, Е.В. Управление качеством при моделировании БД биллинговых систем / Е.В. Гражданцев // Актуальные проблемы экономики, права и информационных технологий. Сборник научных статей. Красноярск: КФ МЭСИ, 2005, Часть 3. С. 381-384.

24. Дейт К. Введение в системы баз данных // 6-издание. Киев: Диалектика, 2003. - 784 с.

25. Диго С.М. Проектирование и использование баз данных. М.: Финансы и статистика, 2001. - 208 с.

26. Злуф М.М. Query-by-Example: язык баз данных // СУБД. 2006. - №3. - С.149-160.

27. Кириллов В.В. Структуризованный язык запросов (SQL). СПб.: ИТМО, 2001. - 80 с.

28. Кузнецов С.Д. Введение в системы управления базами данных //СУБД. 1995. - №1,2,3,4, 1996. - №1,2,3,4,5.

29. Кузнецов С.Д. Стандарты языка реляционных баз данных SQL: краткий обзор //СУБД. 1999. - №2. - С.6-36.

30. Кузнецов С.Д. Операционные системы для управления базами данных //СУБД. 2003. - №3. - С.95-102.

31. Ладыженский Г.М. Системы управления базами данных коротко о главном //СУБД. - 2005. - №1,2,3,4.

32. Мартин Д. Планирование развития автоматизированных систем. М.: Финансы и статистика, 2000. - 196 с.

33. Мейер М. Теория реляционных баз данных. М.: Мир, 1997. - 608 с.

34. Оззу М.Т., Валдуриз П. Распределенные и параллельные системы баз данных //СУБД. 1996. - №4. - С.4-26.

35. Пржиялковский В. В. Абстракции в проектировании БД // СУБД. -1998.-№1.-С.90-97.

36. Прохоров А., Определение оптимальной структуры базы данных // Informix magazine. Русское издание. 1998. - Апрель.

37. Рузинкевич М., Цикоцки А. Определение и выполнение потоков транзакций//СУБД, 1995. N2. 106-115. N4. 58-68.

38. Смит Д.М., Смит Д.К. Абстракции баз данных: агрегация и обобщение//СУБД, 1996. N2. 141-160.

39. Ульман Д. Основы систем баз данных. М.: Финансы и статистика, 1983.-334 с.

40. Философский словарь / Под ред. И.Т. Фролова. М.: Политиздат, 1980.

41. Хомяков Д.М., Хомяков П.М. Основы системного анализа. М.: Изд-во механико-математического факультета МГУ, 1996.

42. Царёв Р.Ю., Семенько Т.П., Гаврилов Е.С. Информатика и вычислительная техника. Модели формирования и алгоритмыраспределённой обработки информации и управления: Учеб. пособие. Красноярск: ИПЦ КГТУ, 2005. 240с.

43. Чаудхари С. Методы оптимизации запросов в реляционных системах //СУБД. 1998. - №3. - С.22-36.

44. Чен П. Модель "сущность-связь" шаг к единому представлению о данных //СУБД. - 1995. - №3. - С.137-158.

45. Abowd G., Allen R., Gralan D. Formalizing style to understand descriptions of software architecture. Technical Report CMU-CS-95-111. Pittsburgh, 1999.

46. Allen R.J. A formal approach to software architecture: Thesis, Pittsburgh, 2001.

47. ANSI X3.135-1992, American National Standart for Information Systems Database Language - SQL, November, 2001.

48. Astrahan M.M., System R: A Relational Approach to Data Base Management //ACM Transactions on Data Base Systems. 1996. - VI, 97, June.

49. Bachmann F., Bass L., Chastek G., Donohoe P., Peruzzi F. The architecture based design method. Technical Report CMU/SEI-2000-TR-001, ESC-TR-2000-001. Pittsburgh, 2000.

50. Bass L., Clements P., Kazman R. Software architecture in practice. Reading: Addison Wesley, 1998.

51. Biliris A., Bar S., Gehani N., Jagadish H.V., Ramamritham K. ASSET: A system for supporting extended transactions // Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data, pp. 44-54. Minneapolis, Minnesota, 1994.

52. Booch C., Rumbaugh J., Jacobson I. The unified modeling language user guide. Reading: Addison Wesley, 1999.

53. Budgen D. Software design. Reading: Addison-Wesley, 1994.

54. Chrysanthis P., Ramamritham K. ACTA : A framework for specifying and reasoning about transaction structure and behavior // Proceedings of the 1995

55. ACM SIGMOD International Conference on Management of Data, pp. 194-203. Atlantic City, 1995.

56. Clements P.C., Northrop L.M. Software architecture: an executive overview. Technical Report CMU/SEI-96-TR-003, ESC-TR-96-003. Pittsburgh, 1996.

57. Common Business Object and Business Object Facility. OMG TC Document CF/96-01-04.

58. Edwards J., Devoe D. 3-tier client/server at work. New Work: Wiley Computer Publishing, 1997.

59. Egyed A. Integrated architectural views in UML. Technical Report USC/CSE-99-TR-514. Los Angeles, 1999.

60. Eswaran K.P., Gray J.N., Lorie R.A., Traiger I.L. The Notions of Consistency and Predicate Locks in a Data Base System //CACM. 1996. - V.19, №11.

61. Fagin R. Multivalued Dependencies and New Normal Form for Relational Databases //ACM TODS. 1997. - V.2, №3.

62. Fowler M., Scott K. UML distilled applying the standard object modeling language. Reading: Addison Wesley, 1997.

63. Gacek C. Detecting architectural mismatches during systems composition: Thesis. Los Angeles, 1998

64. Gamma E., Helm R., Johnson R., Vlisssides J. Design patterns: elements of reusable object-oriented software. Reading: Addison Wesley, 1995.

65. Garlan D., Shaw M. An introduction to software architecture // Advances in Software Engineering and Knowledge Engineering. Vol. 2, pp. 1—39. Singapore: World Scientific Publishing Company, 1993.

66. Garlan D., Monroe R., Wile D. Acme: an architecture description interchange language // Proceeding of CAS-CON'97, pp. 169-183. Toronto, 1997.

67. Gollofello J.S. Introduction to software verification and validation. SE Curriculum Module SEI-CM-13-1.1. Pittsburgh, 1988.

68. Gray J., Lorie R., Putzolu G., Traiger I. Granularity of Locks and Degrees of Consistency in a Shared Data Base //in Readings in Database Systems, Second Edition, Chapter 3, Michael Stonebraker, Ed., Morgan Kaufmann. 1994.

69. Held G.D., Stonebraker M.R., Wong E. INGRES: A Relational Data Base System //Proceedings of AFIPS National Computer Conference, Anaheim, CA, May. 1975.

70. Hoque R. CORBA 3 developer's guide. Foster City: IDG Books Worldwide, 1998.

71. Jacobson I., Booch C., Rumbaugh J. The unified software development process. Reading: Addison Wesley, 1999.

72. Kruchten P. The Rational unified process: an introduction. Reading: Addison Wesley, 1999.

73. Kruchten P. The 4+1 view model of architecture // IEEE Software. 1995. 12, N6. 42-50.

74. Medvidovic N. A classification and comparison framework for software architecture description languages. Technical Report UCI-ICS-97-02. Irvine, 1996.

75. Meiton J., Simon A.R. Understanding The New SQL: A Comlete Guide // Morgan Kaufmann. 1993.

76. Moriconi M., Qian X., Riemenschneider R. Correct architecture refinement // IEEE Transactions on Software Engineering. 1995. 21, N 4. 356-372.

77. Morris G.R., Ferguson G.H. How architecture wins technology wars // Harvard Business Review. 1993. 86-96.

78. Moss J.E.B. Nested transactions: an approach to reliable computing. Cambridge: MIT Press, 1985.

79. Murphy G.C., Notkin D., Sullivan K. Software reflexion models: bridging the gap between source and high-level models // Proceedings of the Third ACM SIGSOFT Symposium on the Foundations, pp. 18-28. Washington, 1995.

80. OMG Unified Modeling Language Specification. Version 1.3. June 1999.

81. Orfali R., Harkey D. Client/server programming with Java and CORBA. New York: John Wiley & Sons, 1998.

82. Orfali R., Harkey D., Edwards J. The essential distributed objects. New York: Wiley Computer Publishing, 1996.

83. Perry D.E., Wolf A.L. Foundations for the study of software architecture // ACM SIGSOFT Software Engineering Notes. 1992. 17, N 4. 40-52.

84. Robbins J.E., Medvidovic N., Redmiles D.F., Rosenblum D.S. Integrated architecture description languages with a standard design method. University of California, Irvine, 1997.

85. Shaw M., Garlan D. Software architecture. London: Prentice-Hall, 1996.

86. Shaw M., Garlan D. Formulations and formalisms in software architecture // Computer Science Today. 1995. N 1000. 307-323.

87. Spencer D. Webster's new world dictionary of computer terms. New York: Prentice Hall, 1993.

88. Vaskevitch D. Client/server strategies. A survival guide for corporate reengineers. Foster City: IDG Books Worldwide, 1995.

89. What is software architecture? URL: http://www.sei.cmu.edu/architecture/definitions.html, Carnegie-Mellon University.

90. Wermelinger M. Specification, testing and analysis of (dynamic) software architecture with the chemical abstract machine. Departamento de Infomatica, Universidade Nova de Lisboa, Portugal, 1998.

91. Zloof M.M. Query By Example //Proceedings of AFIPS National Computer Conference, Anaheim, CA, May. 1975.