автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.06, диссертация на тему:Многоагентная распределённая отказоустойчивая система резервирования данных АСУП

кандидата технических наук
Мясников, Дмитрий Михайлович
город
Вологда
год
2011
специальность ВАК РФ
05.13.06
Диссертация по информатике, вычислительной технике и управлению на тему «Многоагентная распределённая отказоустойчивая система резервирования данных АСУП»

Автореферат диссертации по теме "Многоагентная распределённая отказоустойчивая система резервирования данных АСУП"

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

485621)0

Мясников Дмитрий Михайлович

МНОГОАГЕНТНАЯ РАСПРЕДЕЛЁННАЯ ОТКАЗОУСТОЙЧИВАЯ СИСТЕМА РЕЗЕРВИРОВАНИЯ ДАННЫХ АСУП

Специальность 05.13.06 - Автоматизация и управление технологическими процессами и производствами (промышленность)

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Вологда 2011

9 I. Л7 7

'< , I

4856205

Работа выполнена на кафедре «Автоматики и вычислительной техники» Государственного образовательного учреждения высшего профессионального образования «Вологодский государственный технический университет» (Во-ГТУ)

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

кандидат технических наук, доцент Суконщиков Алексей Александрович

Официальные оппоненты

доктор технических наук, профессор Данилюк Сергей Григорьевич

кандидат технических наук Левковский Дмитрий Иванович

Ведущая организация

ЗАО «Вологодский подшипниковый завод»

Защита диссертации состоится « /6 » марта 2011 г. в 14 ро часов на заседании диссертационного совета Д212.025.01 при ГОУ ВПО «Владимирский государственный университет» по адресу: 600000, г. Владимир, ул. Горького, 87, корпус 1.

С диссертацией можно ознакомиться в библиотеке ВлГУ. Автореферат разослан «-> I » 2011 г.

Отзывы на автореферат в двух экземплярах, заверенные печатью, просим направлять по адресу совета университета: 600000, г. Владимир, ул. Горького, 87, ученому секретарю диссертационного совета Д212.025.01.

Ученый секретарь диссертационного совета, д.т.н., профессор

Р.И. Макаров

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

Актуальность темы. Современные автоматизированные системы управления производством (далее по тексту АСУП) представляют собой сложнейшие системы, включающие технические средства, алгоритмы управления, методы и средства информационного и программного обеспечения. Но наиболее значимой частью АСУП являются данные. По результатам исследований информационно-аналитического агентства Gartner среди компаний, пострадавших от катастроф и переживших крупную необратимую потерю корпоративных данных, 43% не смогли продолжить свою деятельность. Надежность АСУП во многом определяется возможностью сохранения и восстановления данных, что в свою очередь сказывается на правильном функционировании и безопасности производства.

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

Разработками в данном направлении занимались Ади Шамир (криптография, схема разделения секрета), Майкл Рабин (разработал алгоритм распределения информации), А.Г. Тормасов (предложил модель файловой системы на основе алгоритма Рабина), A.B. Тетюшев (предложил применение (n,m)-пороговой схемы для хранения данных автоматной системы резервирования).

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

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

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

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

1. Проанализировать методы повышения надежности АСУП за счет резервирования данных.

2. На основе полученных аналитических данных разработать методику построения многоуровневой многоагентной распределённой системы резервирования данных АСУП.

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

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

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

Методы исследования. При выполнении работы использованы методы теории конечных полей, теории матриц, теории конечных автоматов, теории надежности, многоагентных систем. Были использованы технологии языка программирования Java, технология RMI (Remote Methods Invocation), XML (Extensible Markup Language).

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

Научная новизна работы заключается в следующем:

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

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

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

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

Область исследования. Работа выполнена в соответствии с паспортом специальности ВАК РФ 05.13.06 - Автоматизация и управление технологическими процессами и производствами (промышленность), пункты 9 и 12.

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

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

Особенности практической реализации системы заключаются в её открытости и кроссплатформенности.

Использование результатов работы. Результаты диссертационной работы в виде программы резервирования данных АСУП и методических указаниях по её применению приняты к внедрению на вологодских предприятиях: Вологодское отделение №8638 Сбербанка России, ООО «Вологодская нефтебаза СЕ-НАКО» и ООО «СеверИнфо», - и подтверждены актами. Основным результатом внедрения системы резервирование можно считать значительную экономию средств при достаточной надежности. Так, использование системы на предприятии ООО «Вологодская нефтебаза СЕНАКО» позволило добиться высокого коэффициента доступности в «серверном сегменте» при расчетном коэффициенте готовности 0,992, что соизмеримо с надежностью кластеров высокой доступности.

Апробация полученных результатов. Основные положения, материалы и результаты работы были опубликованы в научно-технических журналах «Системы управления и информационные технологии» (Воронеж 2009), «Информационные технологии моделирования и управления» (Воронеж 2009), «Казанская наука» (Казань, 2010) Результаты исследований представлялись и были одобрены на 4-ой и 5-ой международной научно-технической конференции «Автоматизация и энергосбережение машиностроительного и металлургического производства, технология и надежность машин, приборов и оборудования» (Вологда 2006, 2007), международной конференции «Информационные технологии в образовании, технике и медицине» (Волгоград 2004), 4-ой международной конференции «Информатизация процессов ИНФОС-2009» (Вологда 2009), всероссийской научной конференции студентов и аспирантов «Молодые исследователи - регионам» (Вологда, 2008), 5-ой научно-технической конференции

аспирантов и молодых ученых «Вооружение. Технология. Безопасность. Управление» (Ковров, 2009).

Материалы работы использованы в Федеральной целевой программе «Научные и научно-педагогические кадры инновационной России» на 2009 - 2013 годы: «Разработка методов формализации и верификации распределённых информационно-поисковых систем на основе сервис-ориентированной архитектуры»

Положения, выносимые на защиту:

1. Методика построения системы на основе многоагентного подхода к разработке распределённого хранилища данных АСУП. Теоретико-множественная модель системы.

2. Модернизация алгоритма (n,m) - пороговой схемы распределения и сборки информации на основе математического аппарата над матрицами массивов членов полей Галуа в плане использования в качестве элементов матриц массивов членов полей Галуа.

3. Методика перехода от теоретико-множественного описания многоагент-ной системы к её реализации на языке программирования высокого уровня.

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

Публикации. По материалам диссертационной работы и результатам исследования опубликовано 10 печатных работ, в том числе 1 статья в журнале, рекомендованного ВАК; 9 публикаций в сборниках материалов конференций международного и российского уровня, в том числе 6 без соавторов.

Структура и объем работы. Диссертация состоит из введения, четырёх глав, заключения, библиографического списка и четырёх приложений. Текст изложен на 158 страницах, содержит 79 рисунков и 10 таблиц. Библиографический список включает 73 наименования.

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

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

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

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

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

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

Применены такие технологии, как Java, XML, построение распределённых систем хранения данных, схемы с разделением секрета. Проведён сравнительный анализ существующих систем хранения данных. Использован многоагент-ный подход к разработке автоматизированных систем.

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

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

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

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

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

fragmentSize - размер фрагмента, единицы хранимых данных в системе JSaverStorage. Вычисляется следующим образом:

fragmentSize = nxmx bufSize. (1)

objSize - размер объекта, помещаемого для хранения в систему. fragmentCount - количество целых фрагментов в объекте. Объект, хранимый в системе JSaverStorage определяется как набор данных, которые можно представить в виде сериализуемого объекта Java. Это может быть, к примеру, любой файл, сообщение, база данных. Если размер объекта равен objSize, то количество целых фрагментов в объекте равно результату деления на цело размера объекта на размер фрагмента:

fragmentCount = objSize div fragmentSize. (2)

Методика построения системы хранения данных состоит из трёх этапов: проектирование, разработка и внедрение, и в общем виде представлена на рис. 1.

Описание системы построено от общего к частному. В этой же главе разработана модель многоуровневой многоагентной системы (MAC):

MAC = (A,R,T,Z,Y,F,S), (3)

где А есть кортеж элементов, составляющих систему, т.е. агентов, участвующих в процессе преобразования объектов в (п, ш) схему, а также выполняющих обратное преобразование; R - кортеж отношений во множестве элементов; Т -кортеж задач; Z - кортеж входов в систему; Y - кортеж выходов; F - кортеж функций, реализуемых элементами кортежа A; S - кортеж состояний системы.

В MAC выделены следующие типы агентов:

1. Агент-заказчик, рассылающий заявки на выполнение некоторого задания другим агентам.

2. Агент-координатор (посредник), который принимает заказы и распределяет их между другими (компетентными) агентами.

3. Агент-исполнитель.

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

Кортеж агентов системы определяется следующим образом:

А = (Асш,Ас,А„ь,А,,...Ал,А„...А!л), (4) где Асш - Агент-заказчик; Ас - Агент-координатор; Aiub — Агент субординатор; Air..Adx - Агенты-исполнители, принимающие участие в вычислении фрагментов объектов. Назовём их агенты-дисперсеры. Общее количество агентов-дисперсеров (определяется оператором системы) - х. А^—А,, - Агенты-исполнители, хранящие вычисленные фрагменты объектов. Назовём их агенты-хранители. Общее количество агентов-хранителей (совпадает с количеством узлов, на которых хранятся слайсы) - п.

В системе выделяется несколько логических уровней, на которых работают агенты:

I - Уровень эксперта. На данном уровне происходит формирование заказов и осуществляется взаимодействие с пользователем системы.

II - Уровень управления. На данном уровне происходит формирование задач исходя из заказов, управления задачами, а также осуществляется мониторинг работы, происходящей на II и III уровнях.

III - Уровень исполнения. На данном уровне происходит выполнение сформированных задач. Здесь можно выделить 2 подуровня:

Illa - Подуровень вычисления. На данном уровне работают агенты AJr..AJv. В задачи данного подуровня входит вычисление фрагментов объектов в случает их распределения и вычисление исходных слайсов в случает сборки.

ШЬ - Подуровень хранения. На данном уровне осуществляется получение/передача данных с подуровнем Illa, а также сохранение фрагментов объектов на файловых системах машин, на которых работают агенты Asl...Asti.

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

Для реализации распределенного хранения решено сохранять данные в виде (п,ш)-пороговой схемы, впервые предложенной Майклом Рабином. Однако оригинальная методика была доработана. С целью повышения производительности предлагается использовать массивы членов полей Галуа, закодированных байтами Java. Объект разбивается на fragmentCount+1 фрагментов. При этом последний фрагмент, если его размер меньше, чем fragmentSize байт, дополняется случайным набором байт до размера fragmentSize. Это необходимо для того, чтобы поместить каждый фрагмент в кадры, которые описаны ниже. Для сборки исходного объекта необходимо будет получить fragmentCount+1 фрагментов, а также знать исходный размер объекта. Полученные фрагменты записываются побайтно в файл, при этом от последнего восстановленного фрагмента записываются только lastSize байт. Чтобы вычислить число lastSize, необходимо из числа байт в исходном файле вычесть произведение количества фрагментов (fragmentCount) на размер фрагмента (fragmentSize).

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

при операциях ввода-вывода Таким образом, размер каждого фрагмента будет равняться т х п х ЬиАмге байт. Сформирована матрица:

Ьт Ь„. ... Ь„,_

М =

(5)

элементами которой являются кадры размером ЬиГ51ге. Каждому элементу данной матрицы соответствует байтовый массив. Каждый кадр фрагмента помещается в соответствующую ячейку данной матрицы.

Если представить каждый столбец данной матрицы в виде вектора, то она примет следующий вид:

М = [б0 Б, ... 8..,], (6)

где

(7)

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

1 Ро Ро - Р„"

Ьоо " ь01 " Ьо(п-|)

Ь,0 = Ь„ Ьк»-1>

_Ь(ш-.)0.

А =

1

(8)

.1 р.., р.-1 - рГ:

где р0...рл_, - п различных кадров. Каждый кадр из р0...рп1 представляет собой массив байтов, которыми соответственно закодированы члены поля Галуа. Все соответствующие элементы массивов р0...рп_, различны. Выбрать из поля Галуа п различных чисел можно при помощи определённого алгоритма, к примеру, инкрементом. Если представить каждую строку данной матрицы в виде вектора, то она примет следующий вид:

а„

А =

(9)

Результатом перемножения матрицы А на матрицу М будет матрица Я

Я = А х М =

>Ф<,

и=

а, э.

(10)

Каждый элемент матрицы Я есть результат перемножения двух векторов (соответственно строка матрицы А и столбец матрицы М) и является кадром, размером ЬиПмге, Если представить каждую строку матрицы Я в виде вектора, то она примет следующий вид:

(II)

где

= к ^ о

Г, = [а,

а.э.

а^п-Л'

С, = к-, 50

Каждый из объектов , переводится в форму массива из байтов и размещается на одном из п узлов системы. Объект ^ предлагается называть ¡-ым слайсом. Таким образом, на каждом узле размещено по одной строке матрицы Я - один слайс каждого фрагмента:

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

Реализована операция восстановления данных.

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

С доступных рабочих станций происходит получение ш строк исходной матрицы Я: ^ ...Г . Информация о том, с каких узлов получены эти данные, доступна, поэтому есть возможность выбрать из матрицы А строки, соответствующие строкам ^ из матрицы Я. Получим матрицу А,, из полученных

наборов которой формируется матрица И:

А, =

(12)

Тогда

Р = А,хМ (14) и М = А;'хР =

г '1 ■ (13)

1т[

Ч -1 X

а^ Г

X

а1

(15)

Таким образом, восстанавливается каждый из Рга£шеп1Соип1+1 фрагментов, распределённым ранее по узлам системы и из них составляется исходный объект.

и

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

Рис. 2. Обобщенный алгоритм разбиения объекта

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

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

Получение параметров п, m. bufSize /

Получение размера объекта objSize

Инициализация математического аппарата

Вычисление размера фрагмента fragmentSize !

Вычисление количества фрагментов fragmentCount

~~- —!--------

Для ¡ от 0 до fragmentCount

Считать фрагмент объекта

Поместить считанный фрагмент в матрицу М

Рабочая станция доступна? --• "

—fir^"

поместить строку j матрицы R на рабочую / [ / станцию) / | Выход из цикла

i

i Конец цикла J / -1- , / Сообщить об ошибке /

/Записать на узлы информацию о размере / / объекта objSize _J

Сообщить результаты

Г

D

Рис. 3. Обобщенный алгоритм сборки объекта

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

Произведена оценка надежности и производительности системы.

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

К = тХ, (16)

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

г=-, (17)

т

Параметр п влияет на надёжность системы. Если выразиться точнее:

Р = 1Рк=ЁсУ(1-рГк-, (18)

к=т к=т

где Р - вероятность безотказной работы системы, р - надежность одного узла, С* - биномиальный коэффициент.

То есть, при т —> п получаем наибольшую эффективность использования пространства жестких дисков и наименьшую надёжность, и, наоборот, при ш -> 1 надёжность максимальна, но использование дискового пространства -крайне неэффективно, так как на каждом узле будет находиться копия объекта.

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

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

Получение списка доступных дисперсеров

Вычисление значения х -количества дислерсеров

Вычисление длины буфера bufSize

Получение размера объекта fileSize

Создание вычислительного потока N51

Создание вычислительного потока №х

I -

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

- Реализация модуля математического аппарата.

- Реализация интерфейсов агентов.

- Реализация агентов - объектов, реализующие данные интерфейсы.

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

- Привязка визуального интерфейса к агентам.

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

агента-координатора, агента-субординатора, агента-

заказчика, агента-хранителя и агента-дисперсера. Пояснены моменты реализации данных интерфейсов, в частности, на уровне интерфейса агента-заказчика описан процесс взаимодействия пользователя с агентом-заказчиком и передача заказов агенту-координатору; на уровне интерфейса агента-субординатора описан процесс мониторинга всех агентов-системы и обновления модели системы; на уровне интерфейса агента-координатора реализована модель системы на основе формата данных XML, описаны основные алгоритмы: сборки и распределения фрагментов (рис. 1), представлены UML-диаграммы последовательностей данных процессов; на уровне интерфейса агента-хранителя описана структура хранилища, форматы файлов и их имён, процесс сохранения информации об именах и размерах файлов; на уровне интерфейса агента-дисперсера рассмотрен процесс вычисления слайсов из фрагмента и сборки фрагментов из слайсов. Представлены блок-схемы алгоритмов данных процессов.

Пока currPos<fileSize

Г

Пока currPos <fi!eSize

Считать фрагмент размером bufSize с позиции currPos

Считать фрагмент размером bufSize с позиции currPos

Поместить фрагмент в матрицу GFBSimpleMatrix

Поместить фрагмент в матрицу GFßSimpleMatrix

Передать матрицу дислерсеру №1

Передать матрицу дислерсеру №х

currPos = currPos+x'bufSize

currPos = currPos+x'bufSize

Конец цикла

L

Конец

D

Рис. 4. Алгоритм распараллеливания процесса разбиения объекта

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

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

ых

Рис. 5. Алгоритм распараллеливания процесса восстановления объекта

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

узлах, осуществляемое с использованием протокола RMI.

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

задан'

Рис. 6. Архитектура системы. Структурная схема приложения эксперта

Прмлохения-Aretfrw

с__ N

{ Игеи^Ч

- "i дио*рсор J

V \ 7 У

Рис. 7. Архитектура системы. Структурная схема многоагентной системы

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

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

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

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

В четвертой главе приводятся конкретные реализации системы распределённого хранения данных АСУП JSaverStorage для предприятий Вологодское отделение №8638 Сбербанка России, ООО «Вологодская нефтебаза СЕНА-КО»

и ООО «СеверИнфо». Проанализированы затраты на сопровождение системы резервирования JSaverStorage в сравнении с известными технологиями резервирования. Проведены экспериментальные исследования эффективности и надежности системы.

Так, при тестировании системы, при условии подключения тестовых машин к ЛВС с пропускной способностью 100 Мбит/с и достаточно мощных рабочих станциях, получен практиче-

рублей

300 000 -

суммарная стоимость системы рвлрлире&анил

О 20 40 60 80 100 _арсцд наработки стгтгее»ьг j>c жр&ыр&ъапыл

|—— — was -— pas - аср -— san |

Рис. 8. Сравнение известных систем резервирования

ский результат пропускной способности 9-11 Мб/с, что соответствует производительности промышленных систем хранения данных.

Основной объект внедрения системы JSaverStorage - ООО «Вологодская нефтебаза СЕНАКО», промышленное предприятие г. Вологды, занимающееся поставками и переработкой нефтепродуктов. Система резервирования интегрирована в автоматизированные производственные процессы предприятия параллельно существующей на базе Acronis True Image Server:

Система : резервирования : JSaverStorage :

...........t...........:

Система резервирования на базе Acronis True Image

-1-

Рис. 9. Производственные процессы ООО «Вологодская нефтебаза СЕНАКО»

Экономический эффект достигается за счёт экономии средств по сравнению с внедрением известных систем отказоустойчивого резервирования. При этом снижаются накладные расходы предприятия на создание системы резервирования.

Система резервирования Цена программного обеспечения (руб.) Цена дополнительного оборудования (руб.) Стоимость решения (руб.)

HP OV Data Protector 244.000 190.000 434.000

ARCserve 288.000 190.000 478.000

VERITAS NetBackup 180.000 190.000 370.000

Помимо этого экономия достигается со временем, так как система 15ауег8юга§е модернизируется параллельно с модернизацией работающего оборудования ЛВС предприятия, рабочих станций и серверов.

Ёмкость организованного в ООО «Вологодская нефтебаза СЕНАКО» хранилища равняется 1,5 Тб, а средняя пропускная способность ~8-9 Мб/с. Этого достаточно для резервирования файлов-образов основных рабочих мест нефтебазы (главный бухгалтер, директор), а также серверов предприятия и организации хранения архивов документальных результатов работы подразделений.

ОСНОВНЫЕ НАУЧНЫЕ И ПРАКТИЧЕСКИЕ РЕЗУЛЬТАТЫ

1. Проанализированы методы повышения надежности АСУП за счет резервирования данных. Отмечено, что в качестве хранилища для системы резервирования имеется возможность использовать незадействованные ресурсы ЛВС предприятия. Для повышения надежности такого хранилища необходимо обеспечить его структурную избыточность. '

2. Разработана методика построения многоуровневой многоагентной распределённой системы резервирования данных АСУП. Такая система представляет собой новое направление в технологии хранения данных АСУП, сочетающие универсальность и малую стоимость сопровождение.

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

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

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

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

В изданиях из перечня ВАК

1. Мясников Д.М. Многоагентный подход к разработке распределённой системы хранения данных // «Системы управления и информационные технологии» 2009. -№4(38). с.59-62

В прочих изданиях

2. Мясников Д. М. Разработка мультиагентной системы хранения данных / Д.М. Мясников, A.A. Суконщиков // «Информационные технологии моделирования и управления» 2009,- №1. с. 133-139. (соискатель - 60%)

3. Мясников Д. М., Кроссплатформенная распределённая система хранения данных // «Молодые исследователи - регионам: Материалы всероссийской научной конференции студентов и аспирантов» 2008, Т. 1, с. 100-102.

4. Мясников Д. М. Хранение данных с регулируемой избыточностью в гетерогенной среде / Д.М. Мясников, A.A. Суконщиков // «Автоматизация

и энергосбережение машиностроительного и металлургического производств, технология и надежность машин, приборов и оборудования: Материалы четвертой международной научно-технической конференции» 2008, Т. 2, с. 36-38. (соискатель - 50%)

5. Мясников Д.М. Применение многоагентного подхода и пороговых схем к разработке систем хранения данных / Д.М. Мясников, A.A. Суконщиков // «Информатизация процессов формирования открытых систем на основе СУБД, САПР, АСНИ и систем искусственного интеллекта: Материалы 5-й межд. научно-техн. конф.» - Вологда: ВоГТУ, 2009. - 379 е., с. 195-200. (соискатель - 60%)

6. Мясников Д. М. Оптимизация алгоритма распределения данных при его реализации на платформе Java // «Автоматизация и энергосбережение машиностроительного и металлургического производств, технология и надежность машин, приборов и оборудования: Материалы пятой международной научно-технической конференции» Т. 2.- Вологда: ВоГТУ, 2009. - 275 е., с. 26-30.

7. Мясников Д.М. Построение системы резервирования на базе рабочих станций ЛВС // «Казанская наука» №3. 2010 г. - Казань: Изд-во Казанский Издательский Дом, 2010. - 303. с. 18-22

8. Мясников Д.М. Вопросы применения системы распределённого хранения данных // Материалы III ежегодных смотров-сессий аспирантов и молодых ученых по отраслям наук: в 2-х т. - Вологда: ВоГТУ, 2009. - Т.2: Экономические науки. - 276 с. 244-248

9. Мясников Д.М. Многоуровневая структура многоагентной системы хранения данных / Д.М. Мясников, A.A. Суконщиков // «Вооружение. Технология. Безопасность. Управление.» : материалы V научно-технической конференции аспирантов и молодых ученых. В 6 ч. Ч.4.-Ковров: ГОУ ВПО "КГТА им. В.А. Дегтярева", 2010.-246 с. 106-112 (соискатель - 70%)

10.Мясников Д.М. Снижение накладных расходов предприятия на резервирование данных за счет использования незадействованных вычислительных ресурсов // «Автоматизация и энергосбережение машиностроительного и металлургического производств, технология и надежность машин, приборов и оборудования: Материалы шестой международной научно-технической конференции» Т. 1. - Вологда: ВоГТУ, 2010. - 219 е., с. 213-216.

Подписано в печать 28.01.2011 г. Печать офсетная. Бумага офисная. Формат 60x84/16. Усл. печ. л. 1,0. Тираж 100. Заказ № 45.

Отпечатано: РИО ВоГТУ, г. Вологда, ул. Ленина, 15

Оглавление автор диссертации — кандидата технических наук Мясников, Дмитрий Михайлович

ВВЕДЕНИЕ.

Общие положения.

Актуальность работы.

Цели и задачи исследования.

Методы исследования.

Научная новизна.

Практическая ценность результатов.

Реализация и внедрение результатов.

Апробация работы и публикации.

Положения, выдвигаемые на защиту.

Структура и объем работы.

1. АНАЛИТИЧЕСКИЙ ОБЗОР СИСТЕМ РЕЗЕРВИРОВАНИЯ ДАННЫХ АСУП.

1.1. Вычислительная система.

1.2. Надежность вычислительных систем.

1.3. Основные термины теории надежности, используемые в работе.

1.4. Классификация технологий резервирования.

1.5. Выигрыш в надежности за счет резервирования данных вычислительных систем АСУП.

1.6. Применение незадействованных ресурсов ЛВС предприятия.

1.7. Обзор применяемых в работе методов и технологий.

1.8. Обзор распределённых систем хранения данных.

1.9. Выводы.

2. МЕТОДИКА ПОСТРОЕНИЯ ОТКАЗОУСТОЙЧИВОЙ СИСТЕМЫ ХРАНЕНИЯ ДАННЫХ.

2.1. Обобщённая методика построения системы, основные понятия и параметры.

2.2. Описание мультиагентной системы.

2.3. Представление данных и алгоритмы.

2.4. Описание математического аппарата.

2.5. Распараллеливание вычислительного процесса.

2.6. Выбор рабочих станций для размещения агентов.

2.7. Оценка надежности и производительности системы.".

2.8. Выводы.

3. РЕАЛИЗАЦИЯ МНОГОАГЕНТНОЙ СИСТЕМЫ.

3.1. Приемы разработки программного обеспечения.

3.2. Математический аппарат.

3.3. Разработка программных агентов.

3.3.1. Проектирование и разработка агента-координатора.

3.3.1Л. Проектирование и разработка интерфейса агента-координатора.

3.3.1.2. Описание и модель среды.

3.3.1.3. Процесс распределения объекта.

3.3.1.4. Процесс сборки объекта.

3.3.1.5. Реализация агента-координатора.

3.3.2. Разработка агента-заказчика.

3.3.2.1. Проектирование и разработка интерфейса агента-заказчика.

3.3.2.2. Реализация агента-заказчика.

3.3.3. Разработка агента-субординатора.

3.3.3.1. Проектирование и разработка интерфейса агента-субординатора.

3.3.3.2. Реализация агента-субординатора.

3.3.4. Разработка агента-дисперсера.

3.3.4.1. Проектирование и разработка интерфейса агента-дисперсера.

3.3.4.2. Реализация агента-дисперсера.

3.3.5. Проектирование и разработка агента-хранителя.

3.3.5.1. Разработка интерфейса агента-хранителя.

3.3.5.2. Реализация агента-хранителя.

3.4. Разработка пользовательских приложений.

3.4.1. Взаимодействие с интерфейсом пользователя.

3.4.2. Разработка приложения-агента.

3.4.3. Разработка приложения-эксперта.

3.5. Обеспечение безопасности от несанкционированного доступа к данным.

3.6. Выводы.

4. ПРАКТИЧЕСКИЕ РЕЗУЛЬТАТЫ РАБОТЫ.

4.1. Описание приложений.

4.2. Результаты практических испытаний.

4.3. Опробирование системы на базе отдела банковских карт Вологодского отделения №8638 Сбербанка

России

4.4. Внедрение системы в ООО «Вологодская нефтебаза СЕНАКО».

4.5. Внедрение системы в ООО «Север-Инфо».

4.6. Оценка экономического эффекта от внедрения системы.

4.7. Выводы.

Введение 2011 год, диссертация по информатике, вычислительной технике и управлению, Мясников, Дмитрий Михайлович

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

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

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

Ещё одна причина - это расширение функциональных возможностей оборудования и диапазона условий эксплуатации АСУП. Не зависимо от назначения, более современные системы управления включают больше возможностей для анализа, используя более новые особенности оборудования или более глубокую статистику. Как следствие, программное обеспечения АСУП усложняется и укрупняется, что приводит к появлению ошибок. Согласно отчету National Cyber Security Partnership's Working Group [22], в каждой 1000 строк кода находится от одной до семи ошибок.

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

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

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

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

Общие положения

Теория надежности - общетехническая дисциплина, имеющая собственные предмет исследования, методы и область применения. Первая классификация математических методов теории надежности была предпринята в известных работах А.Н. Колмогорова, Ю.К Беляева, А.Д Соловьева, Б. В. Гнеденко [25, 26].

Попытки использования классической теории надежности к вычислительным системам предпринимались неоднократно, начиная от создателя кибернетики Норберта Винера и закачивая последними работами Г.Н. Черкасова и В.В. Липаева [27, 28]. Из всего многообразия подходов к решению проблемы расчета надежности вычислительных систем отметим два важных направления.

Первый подход, предложенный В.А. Торгашевым [29], основан на представлении вычислительной системы конечными машинами с динамической архитектурой. При таком рассмотрении каждый объект вычислений представляется автоматом с конечным числом состояний. Надежность такой системы может быть рассчитана классическими методами теории надежности.

Второй метод основан на разделении вычислительной системы на аппаратно-программные составляющие, для которых надежность рассчитывается независимо, с последующим их объединением по схеме независимых событий [30]. Заметим, что аппаратно-программные составляющие могут быть разделены далее до самых элементарных модулей. На основе этих методов существует большое количество работ, объединяющих оба подхода в той или иной степени [31-34]. К большому сожалению, абсолютное большинство этих работ представляют собой только теоретическое исследование.

Актуальность работы

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

АСУП, являются данные. По результатам исследований информационно-аналитического агентства Gartner [23], среди компаний, пострадавших от катастроф и переживших крупную необратимую потерю корпоративных данных, 43% не смогли продолжить свою деятельность. Надежность АСУП во многом определяется возможностью сохранения и восстановления данных, что в свою очередь сказывается на правильном функционировании и безопасности производства.

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

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

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

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

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

Цели и задачи исследования

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

1. Проанализированы методы повышения надежности АСУП за счет резервирования данных.

2. На основе полученных аналитических данных разработана методика построения многоуровневой многоагентной распределённой системы резервирования данных АСУП.

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

4. Для повышения структурной надёжности модифицирован алгоритм распределения информации на базе математического аппарата над матрицами, содержащими массивы элементов-членов полей Галуа.

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

Методы исследования

При выполнении работы использованы методы теории конечных полей, теории матриц, теории конечных автоматов, теории надежности, многоагентных систем. При реализации системы были использованы технологии языка программирования Java, технология RMI (Remote Methods Invocation), XML (Extensible Markup Language).

Научная новизна

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

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

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

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

Практическая ценность результатов

1. Созданы алгоритмические и программные средства системы хранения данных, обеспечивающие гарантийное восстановление данных АСУП в случае доступности определенного количества сетевых носителей.

2. Возможность без дополнительных затрат организовать надежное хранилище данных АСУП, предоставляя системному администратору возможность повышения надежности АСУП и задействуя неиспользуемые ресурсы ЛВС.

3. Возможность модернизировать систему совместно с остальным оборудованием.

4. Система открыта и кроссплатформенна.

Реализация и внедрение результатов

Результаты диссертационной работы в виде программы резервирования данных АСУП и методических указаниях по её применению приняты к внедрению на вологодских предприятиях: Вологодское отделение №8638 Сбербанка России, ООО «Вологодская нефтебаза СЕНАКО» и ООО «СеверИнфо», - и подтверждены актами. Основным результатом внедрения системы резервирование можно считать значительную экономию средств при достаточной надежности. Так, использование системы на предприятии ООО «Вологодская нефтебаза СЕНАКО» позволило добиться высокого коэффициента доступности в «серверном сегменте» при расчетном коэффициенте готовности 0,992, что соизмеримо с надежностью кластеров высокой доступности.

Апробация работы и публикации

Основные положения, материалы и результаты работы были опубликованы в научно-технических журналах «Системы управления и информационные технологии» (Воронеж 2009), «Информационные технологии моделирования и управления» (Воронеж 2009), «Казанская наука» (Казань, 2010) Результаты исследований представлялись и были одобрены на 4-ой, 5-ой и 6-ой международной научно-технической конференции «Автоматизация и энергосбережение машиностроительного и металлургического производства, технология и надежность машин, приборов и оборудования» (Вологда 2006, 2007), международной конференции «Информационные технологии в образовании, технике и медицине» (Волгоград 2004), 4-ой международной конференции «Информатизация процессов ИНФОС-2009» (Вологда 2009), всероссийской научной конференции студентов и аспирантов «Молодые исследователи - регионам» (Вологда, 2008), 5-ой научно-технической конференции аспирантов и молодых ученых «Вооружение. Технология. Безопасность. Управление» (Ковров, 2009).

Материалы работы использованы в Федеральной целевой программе «Научные и научно-педагогические кадры инновационной России» на 2009 -2013 годы: «Разработка методов формализации и верификации распределённых информационно-поисковых систем на основе сервис-ориентированной архитектуры»

Положения, выдвигаемые на защиту

На защиту выдвигаются следующие положения:

1. Методика построения системы на основе многоагентного подхода к разработке распределённого хранилища данных АСУП. Теоретико-множественная модель системы.

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

3. Методика перехода от теоретико-множественного описания многоагентной системы к её реализации на языке программирования высокого уровня.

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

Структура и объем работы

Диссертация состоит из введения, 4-х глав и заключения. Работа изложена на 158 листах, содержит список литературы из 73 наименований, 79 рисунков, 10 таблиц и 4 приложения.

Заключение диссертация на тему "Многоагентная распределённая отказоустойчивая система резервирования данных АСУП"

4.7. Выводы

- Разработаны приложения, демонстрирующие возможности многоагентной распределённой системы хранения данных. Данные приложения являются открытыми и размещены на ресурсе http://jsaverstorage.sourceforge.net.

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

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

На основе вышеперечисленных решений сформулирована оригинальная поэтапная методика построения системы, обладающей предъявленными к ней требованиями. В процессе работы над системой решались различные алгоритмические задачи, задачи проектирования интерфейсов агентов, пользовательских интерфейсов, применялись различные технологии в проектировании (такие как UML) и разработке (RMI, XML)

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

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

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

Библиография Мясников, Дмитрий Михайлович, диссертация по теме Автоматизация и управление технологическими процессами и производствами (по отраслям)

1. Мясников Д. М. Многоагентный подход к разработке распределённой системы хранения данных // «Системы управления и информационные технологии» 2009. -№4(38). с.59-62 публикация в журнале из списка изданий, рекомендованных к публикациям ВАК

2. Мясников Д. М., Суконщиков A.A. Разработка мультиагентной системы хранения данных // «Информационные технологии моделирования и управления» 2009.-№1. с. 133-139.

3. Мясников Д. М., Кроссплатформенная распределённая система хранения данных // «Молодые исследователи регионам: Материалы всероссийской научной конференции студентов и аспирантов» 2008, Т. 1, с. 100-102.

4. Мясников Д.М. Построение системы резервирования на базе рабочих станций ЛВС // «Казанская наука» №3. 2010 г. Казань: Изд-во Казанский Издательский Дом, 2010. - 303. с. 18-22

5. Мясников Д.М. Вопросы применения системы распределённого хранения данных // Материалы III ежегодных смотров-сессий аспирантов и молодых ученых по отраслям наук: в 2-х т. Вологда: ВоГТУ, 2009. -Т.2: Экономические науки. - 276 с. 244-248

6. Расширяемый язык разметки (XML) 1.0 (вторая редакция) Режим доступа: http://wvvw.rol.ru/news/it/helpdesk/xml01.htm.

7. Е. Biham and A. Shamir. Differential Cryptanalysis of DES-like Crypto systems. Journal of Cryptology, Vol.4, No. 1, pp. 3-72, 1991.

8. Тетюшев Александр Викторович. Автоматная система резервирования данных АСУП: диссертация . кандидата технических наук: 05.13.06 / Тетюшев Александр Викторович; Место защиты: Владимир, гос. ун-т.-Вологда, 2008.- 123 е.: ил. РГБ ОД, 61 09-5/515

9. Michael О. Rabin. Efficient dispersal of information for security, load balancing, and fault tolerance. J. ACM, 36(2):335-348, April 1989.

10. Тормасов А.Г., Хасин M.A., Пахомов Ю.И. Электронный журнал

11. Исследовано в России", 35, 355-364, 2001. Модель распределенного хранения данных с регулируемой избыточностью

12. Левин В.И. Логическая теория надежности сложных систем. М.: Энергоатомиздат, 1985. - 128 с.

13. Швецов А.Н., Яковлев С.А. Распределенные интеллектуальные информационные системы. СПб.:Изд-во СПбГЭТУ «ЛЭТИ», 2003. -318 с.

14. Тарасов В.Б. Системно-организационный подход в искусственном интеллекте// Программные продукты и системы. 1997. - №3. - С.6-13.

15. Тарасов В.Б. Эволюционная семиотика и нечеткие многоагентные системы основные теоретические подходы к построению интеллектуальных организаций// Информационные технологии и вычислительные системы. - 1998. — №1. - С.54-68.

16. Вернер М. Основы кодирования. — М.: Техносфера, 2004.

17. ГОСТ 27.002-89. Надежность в технике. Основные понятия, термины и определения. — М.: Изд-во стандартов, 1990 с. 24 •

18. Всемирная организация по безопасности National Cyber Security Partnership's Working Group 2008 Режим доступа: http://www.cybeфartnership.org/index.html

19. Информационно-аналитическое агентство Gartner Режим доступа: http://www.gartner.com/index.htm

20. Рекомендации по оценке надежности функционирования компьютеров и использованию резервных компьютеров на предприятии Режим доступа: http://www.cio-world.ru/techniques/argument/33594/

21. Гнеденко Б.В. Математические методы в теории надежности /Ю.К.Беляев, А.Д.Соловьев М.: Наука 1965. - с. 54

22. Колмогоров А.Н. Автоматы и жизнь / Техника молодежи № 10 -М:.1961 -с. 18

23. Черкасов Г.Н. Надежность аппаратно программных комплексов: учебное пособие /Г.Н. Черкасов - СПБ.: Питер 2005 - с. 64

24. Липаев B.B. Надежность программных средств М.:СИНТЕГ 1988 - с.

25. Игнатьев М. Б. Рекурсивные вычислительные машины / М.Б. Игнатьев, В. А. Мясников, В. А. Торгашев Препринт №12. ИТМ и ВТ АН СССР, 1977

26. Воеводин В.В. Параллельные вычисления. / В.В. Воеводин, Вл. В. Воеводин СПБ.: БХВ-Петербург. 2002 - с. 608

27. Ладыгин И.И. Исследование надежности вычислительных систем. Описание лабораторных работ по курсу «Основы теории надежности» / Ладыгин И.И., Калинина Г.А. М.: Издательство МЭИ,1999 - с. 32

28. Кораблев А.Н. Лекции по теории надежности вычислительных систем -Режим доступа: http://www.prostoev.net/article.php?storyid=87

29. Феррари Д. Оценка производительности вычислительных систем. — М.:Мир, 1981 с. 550-576

30. Абросимов Л.И. Основные положения теории производительности вычислительных сетей. / Вестник МЭИ, № 4, МЭИ, М.: 2004 - с. 70-75

31. SUN Microsystems Язык программирования и технологии Java ЕЕ фирмы Sun Microsystems Режим доступа: java.sun.com

32. Леонтьев Е. А. Надежность экономических информационных систем: Учеб. пособие. Тамбов: Изд-во Тамб. гос. техн. ун-та, 2002. 128 с. ISBN 5-8265-0190-1

33. Устюжанин А.Е. Многоагентные интеллектуальные системы: Учебный курс. М.: МФТИ, 2007.

34. Шеер А. В. Моделирование бизнес-процессов / А. В. Шеер.-М.: Весть-метаТехнология, 2000. 206 с.

35. Мамиконов А.Г. Проектирование АСУ: Учебник для спец. "АСУ" вузов. М.: Высш. шк., 1987. - 303 е.: ил.

36. Vlassis, N., A concise introduction to multiagent systems and distributed AI. Informatics Institute, University of Amsterdam. http://www.science.uva.nl/vlassis/cimasdai, 2003

37. B. Moulin, B. Chaib-draa. "An Overview of Distributed Artificial1.telligence". In: G. M. P. O'Hare, N. R. Jennings (eds). Foundations of Distributed Artificial Intelligence, John Wiley & Sons, 1996, pp. 3-56.

38. Винберг Э.Б. Курс алгебры. — 3-е изд. — M.: Факториал Пресс, 2002. — 544 е. —3000 экз.

39. Костров A.B. Основы информационного менеджмента. М.: Финансы и статистика, 2004.

40. Костров A.B. Уроки информационного менеджмента / A.B. Костров, Д.В. Александров. М.: Финансы и статистика, 2005.

41. Nwana H. S. Software Agents: An Overview // Knowledge Engineering Review. 1996. - Vol. 11, № 3. - P. 1-40.

42. FIPA Abstract Architecture Specification. -http://www.fipa.org/specs/fipa00001/XC00Q01J.html.

43. Смагин B.A. Физический принцип надежности. Обратная задача.- АВТ 1975 №5-с. 22-28

44. ЛипаевВ.В. Надежность программных средств М.: Синтег 1998. г с. 232 :

45. Открытая среда для разработки кросс-платформенных приложений Eclipse Режим доступа: www.eclipse.org

46. Яковлев Ю. А. Программируемые автоматы Изв. вузов. Сер. Приборостроение. 1981, № 11 - с. 381

47. Гамма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования./ Гамма Э., Хелм Р., Джонсон Р., Влассидес Дж. СПб.: Питер, 2001 -с. 233

48. Лазарев В. Г. Синтез управляющих автоматов./ Лазарев В. Г., Пийль Е. И. М.: Энергоиздат, 1989-е. 127

49. Трахтенброт Б. А. Конечные автоматы. Поведение и синтез./ Трахтенброт Б. А., Бардзинь Я. M. М.: Наука, 1970. - с. 23

50. Варшавский В.И. Автоматное управление асинхронными процессами в ЭВМ и дискретных системах / В. И. Варшавский, Л. Я. Розенблюм, Б. С. Цирлин и др.- М.: Наука, 1986 -с. 308

51. Северцев Н.А. Надежность сложных систем в эксплуатации и обработке -М.: Высш. Школа 1989 с. 432

52. Ллойд Д. Надежность//Ллойд Д., Липов М. М.: Сов. Радио 1964 - с. 686

53. Черкасов Г.Н. Основы теории надежности АСУ / Учеб. пособие ЛПИ -Л.: 1975 - с. 220

54. Ушаков И.А. Надежность технических систем: Справочник / под ред. И.А. Ушакова М.: Радио и связь 1985 - с. 606

55. Половко A.M. Основы теории надежности М.: Наука 1964 - с. 446

56. Непейвода Н. Н. Стили и методы программирования. М.: Интернет-Университет Информационных технологий. 2005 с. 76

57. A. Shamir. How to share a secret. Communications of the ACM / vol. 24. 1979. —pp. 612-613.

58. G. Blakley. Safeguarding cryptographic keys. Proceeding of AFIPS / vol. 48. 1979. —pp.313 -317.

59. КолесниковС.В. SAS, NAS или SAN: выбор правильной технологии хранения данных для организации. Режим доступа: http://www.ci.ru/inform0105/p10.htm

60. StatSoft Реализация хранилищ данных. Режим доступа: http://www.spc-consulting.ru/solution/database3.htm

61. Jerome Wendt SAN, NAS, ILM, SAS — Your Boss Doesn't Care / Computerworld (US) 06 July, 2007.

62. ХетегуровЯ.А. Надежность автоматизированных систем управления -М.: Наука 1979 с. 223-225

63. БеляевЮ.К. Надежность технических систем /под редакцией И. А. Ушакова Москва «Радио и связь» 1965 - с. 143

64. Ф. Дж. Мак-Вильямс Теория кодов исправляющих ошибки / Ф. Дж. Мак-Вильямс, Дж. А. Слоэн Москва:. Связь 1979 -с. 23

65. Цикритизис Д., Лоховски Ф. Модели данных. М.: Финансы и статистика, 1985.-344 с.

66. Атре Ш. Структурный подход к организации баз данных. М.: Финансыи статистика, 1983. 320 с.

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

68. Майерс Г. Искусство тестирования программ: Пер. с англ. М.: Финансы и статистика, 1982.

69. Внедрение типовой системы управления предприятием / В.М. Португал, А.И. Семенов, А.Л Марголин. М.: Наука, 1981.