Разработка технологии мониторинга ошибок в каналах связи в распределённых базах данных
|
ВВЕДЕНИЕ 3
1 ПОСТАНОВКА ЗАДАЧИ ИССЛЕДОВАНИЯ 6
1.1 Анализ проблемы 6
1.2 Примеры реализации подобных систем 8
1.3 Исходные данные для реализации системы мониторинга 11
1.4 Задачи исследования 12
1.5 Выбор средств разработки 13
2 ОПИСАНИЕ КОМПОНЕНТОВ И МЕТОДОВ РАЗРАБОТКИ,
ИСПОЛЬЗОВАННЫХ ПРИ РЕАЛИЗАЦИИ СИСТЕМЫ КОМПЛЕКСНОГО МОНИТОРИНГА КАНАЛА СВЯЗИ 16
2.1 Определение основных компонентов системы 16
2.2 Методики проверки состояния канала связи 16
2.3 Алгоритмы, реализуемые в системе 20
3 ПРАКТИЧЕСКИЕ РЕЗУЛЬТАТЫ ТЕСТОВ В «ПРОДУКТИВНОЙ» СРЕДЕ 23
3.1 Описание тестовой среды 23
3.2 Размещение сервиса внутри сервера приложений (сервисов) региональных
подсистем Орловской области 24
3.3 Измерение скорости работы системы в условиях продуктивной нагрузки .. 27
3.4 Анализ результатов 32
ЗАКЛЮЧЕНИЕ 33
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 34
ПРИЛОЖЕНИЕ А 37
1 ПОСТАНОВКА ЗАДАЧИ ИССЛЕДОВАНИЯ 6
1.1 Анализ проблемы 6
1.2 Примеры реализации подобных систем 8
1.3 Исходные данные для реализации системы мониторинга 11
1.4 Задачи исследования 12
1.5 Выбор средств разработки 13
2 ОПИСАНИЕ КОМПОНЕНТОВ И МЕТОДОВ РАЗРАБОТКИ,
ИСПОЛЬЗОВАННЫХ ПРИ РЕАЛИЗАЦИИ СИСТЕМЫ КОМПЛЕКСНОГО МОНИТОРИНГА КАНАЛА СВЯЗИ 16
2.1 Определение основных компонентов системы 16
2.2 Методики проверки состояния канала связи 16
2.3 Алгоритмы, реализуемые в системе 20
3 ПРАКТИЧЕСКИЕ РЕЗУЛЬТАТЫ ТЕСТОВ В «ПРОДУКТИВНОЙ» СРЕДЕ 23
3.1 Описание тестовой среды 23
3.2 Размещение сервиса внутри сервера приложений (сервисов) региональных
подсистем Орловской области 24
3.3 Измерение скорости работы системы в условиях продуктивной нагрузки .. 27
3.4 Анализ результатов 32
ЗАКЛЮЧЕНИЕ 33
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 34
ПРИЛОЖЕНИЕ А 37
В настоящее время информационные системы могут включать в себя невероятное количество конечных узлов и занимают важное место в нашей жизни. Множество обыденных и привычных вещей, окружающее человека в современном мире, на первый взгляд могут показаться не такими уж и сложными, тем не менее, множество примеров показывает совершенно обратное. Для примера, можно взять светофор. Что представляет из себя это небольшое изобретение? На первый взгляд - ничего сложного, но стоит только задуматься, о настоящей роли светофора в жизни современного города, как станет понятно, что это частица одного большого механизма, по управлению дорожным потоком в огромном мегаполисе, что работоспособность каждого отдельного светофора обеспечивает поддержание транспортной системы всего города. Невозможно представить себе современный город с неуправляемым транспортным потоком внутри, а парализация городского трафика, хотя бы на день, влечёт за собой огромные убытки для всей инфраструктуры города.
В любой целостной системе важен каждый её отдельно взятый компонент, отказоустойчивость системы - один из самых важных критериев при разработке.
Множество факторов постоянно оказывают влияние на работоспособность системы, в следствии чего, мы неизбежно подходим к вопросу о своевременном получение информации о выходе того или иного узла связи.
На данный момент средства тестирования и мониторинга представляют собой отдельные элементы, по тестированию тех или иных узлов, которые часто имеют зависимости друг от друга и не дают полной картины того, что действительно происходит в системе. В связи с огромным набором различных средств разработки и внедрения программного обеспечения, встаёт вопрос об универсальности такого средства. Как пример, рассмотрим стандартные проблемы, которые могут возникнуть при подключении к базе данных от одной машины к другой.
Проблемы с доступностью машин, связанные с неправильной конфигурацией сети (на уровне транспортного протокола, на уровне конфигурирования подсетей)
1. Проблемы с неактуальной структурой базы данных
2. Проблемы с набором учётных записей для установки соединения с базой данных (пара логин/пароль)
3. Проблемы с неправильным указанием экземпляра базы данных, при установке соединения
Это только малая часть проблем, с которыми встречаются сотрудники, обслуживающие большую распределённую систему, которая требует постоянного мониторинга отдельных её частей.
Целью данной научно-исследовательской работы является разработка технологии мониторинга ошибок в каналах связи в распределённых базах данных.
Основной задачей работы является создание эффективного механизма мониторинга состояния баз данных, отражающего текущее состояние отдельных узлов связи, до конечного момента установления соединения с базой данных и получения информации из неё.
Объект исследования — мониторинг состояния баз данных распределённых на отдельных серверах.
Предмет исследования — создание эффективного инструмента тестирования состояния базы данных и отдельных узлов сети, участвующих в процессе установления соединения с конечной базой данных.
Методы исследования — разработка алгоритма тестирования состояния канала связи и базы данных, а так же размещение средств тестирования на:
1. UNIX-системах (посредством Rancher+Docker),
2. WIN-системах(посредством IIS)
Данная исследовательская работа состоит из двух основных частей: теоретической и практической.
В теоретической части научно-исследовательской работы анализируется возможность создания технологии для обозначенного предмета исследования, а так же обзор возможностей фрэймворка .aspNET по разработке алгоритма для тестирования баз данных. Обзор основных компонентов системы, обзор методов реализации алгоритмов.
В практической части ведется разработка вышеуказанного технологии, а так же создание инфраструктуры (веб приложения), для получения результатов работы алгоритма и возможности её внедрения с минимальными системными требованиям.
Практическая значимость результатов исследования заключается в экономии ресурсов для мониторинга инфраструктуры целостной системы, использующей множество подключений к распределённым базам данных.
В любой целостной системе важен каждый её отдельно взятый компонент, отказоустойчивость системы - один из самых важных критериев при разработке.
Множество факторов постоянно оказывают влияние на работоспособность системы, в следствии чего, мы неизбежно подходим к вопросу о своевременном получение информации о выходе того или иного узла связи.
На данный момент средства тестирования и мониторинга представляют собой отдельные элементы, по тестированию тех или иных узлов, которые часто имеют зависимости друг от друга и не дают полной картины того, что действительно происходит в системе. В связи с огромным набором различных средств разработки и внедрения программного обеспечения, встаёт вопрос об универсальности такого средства. Как пример, рассмотрим стандартные проблемы, которые могут возникнуть при подключении к базе данных от одной машины к другой.
Проблемы с доступностью машин, связанные с неправильной конфигурацией сети (на уровне транспортного протокола, на уровне конфигурирования подсетей)
1. Проблемы с неактуальной структурой базы данных
2. Проблемы с набором учётных записей для установки соединения с базой данных (пара логин/пароль)
3. Проблемы с неправильным указанием экземпляра базы данных, при установке соединения
Это только малая часть проблем, с которыми встречаются сотрудники, обслуживающие большую распределённую систему, которая требует постоянного мониторинга отдельных её частей.
Целью данной научно-исследовательской работы является разработка технологии мониторинга ошибок в каналах связи в распределённых базах данных.
Основной задачей работы является создание эффективного механизма мониторинга состояния баз данных, отражающего текущее состояние отдельных узлов связи, до конечного момента установления соединения с базой данных и получения информации из неё.
Объект исследования — мониторинг состояния баз данных распределённых на отдельных серверах.
Предмет исследования — создание эффективного инструмента тестирования состояния базы данных и отдельных узлов сети, участвующих в процессе установления соединения с конечной базой данных.
Методы исследования — разработка алгоритма тестирования состояния канала связи и базы данных, а так же размещение средств тестирования на:
1. UNIX-системах (посредством Rancher+Docker),
2. WIN-системах(посредством IIS)
Данная исследовательская работа состоит из двух основных частей: теоретической и практической.
В теоретической части научно-исследовательской работы анализируется возможность создания технологии для обозначенного предмета исследования, а так же обзор возможностей фрэймворка .aspNET по разработке алгоритма для тестирования баз данных. Обзор основных компонентов системы, обзор методов реализации алгоритмов.
В практической части ведется разработка вышеуказанного технологии, а так же создание инфраструктуры (веб приложения), для получения результатов работы алгоритма и возможности её внедрения с минимальными системными требованиям.
Практическая значимость результатов исследования заключается в экономии ресурсов для мониторинга инфраструктуры целостной системы, использующей множество подключений к распределённым базам данных.
Результатом исследовательской работы является полностью готовая для ввода в продуктивную эксплуатацию система асинхронного опроса БД и тестирования канала связи. Результатом работы системы является предоставления отчётных данных в виде графиков или текстовом формате с количественными показателями оценки проверочных алгоритмов.
Система основана на современных средствах разработки, благодаря чему получилось добиться высокой производительности а так же гибкости приложения. Это заключается в возможности размещения на WINDOWS и LINUX системах и работе с базами данных, размещёнными на разных платформах [30].
Набор алгоритмов для тестирования в канале связи является достаточным, для оценки состояния канала связи, поиска ошибок в нём и тестирования конечных компонентов системы. Система готова к расширению моделей алгоритмов, добавлению новых и редактирование старых алгоритмов. Алгоритмический язык, который используется в проверках использует синтаксис SQL запросов объединённых с возможностями утилиты CMD.
После ввода системы в продуктивную эксплуатацию ожидается снижение времени ответа на запросы связанные с неработоспособностью системы. Повышение эффективности отказоустойчивости системы, за счёт локализации проблемы в момент её возникновения. Сокращение времени на поиск проблем в неработоспособности компонентов программного обеспечения «ТМ МИС SaaS».
Система основана на современных средствах разработки, благодаря чему получилось добиться высокой производительности а так же гибкости приложения. Это заключается в возможности размещения на WINDOWS и LINUX системах и работе с базами данных, размещёнными на разных платформах [30].
Набор алгоритмов для тестирования в канале связи является достаточным, для оценки состояния канала связи, поиска ошибок в нём и тестирования конечных компонентов системы. Система готова к расширению моделей алгоритмов, добавлению новых и редактирование старых алгоритмов. Алгоритмический язык, который используется в проверках использует синтаксис SQL запросов объединённых с возможностями утилиты CMD.
После ввода системы в продуктивную эксплуатацию ожидается снижение времени ответа на запросы связанные с неработоспособностью системы. Повышение эффективности отказоустойчивости системы, за счёт локализации проблемы в момент её возникновения. Сокращение времени на поиск проблем в неработоспособности компонентов программного обеспечения «ТМ МИС SaaS».





