Тип работы:
Предмет:
Язык работы:


Разработка интерфейса запуска и управления множественными удалёнными задачами

Работа №33624

Тип работы

Дипломные работы, ВКР

Предмет

математика

Объем работы64
Год сдачи2018
Стоимость4900 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
176
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1 Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1 Термины и определения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Общие требования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Требования к безопасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 Общие требования к безопасности . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Требования к совместимости . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Обзор задач подлежащих автоматизации . . . . . . . . . . . . . . . . . . . . 10
2 Общая архитектура и взаимодействие с
приложениями-клиентами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1 Размещение системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Размещение на выделенном сервере . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 Размещение системы на локальных машинах пользователей . . . . . . . . . 14
2.2 Взаимодействие с приложениями-клиентами . . . . . . . . . . . . . . . . . . 15
2.2.1 Взаимодействие посредством общей памяти . . . . . . . . . . . . . . . . . . 15
2.2.2 Взаимодействие через сеть . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.3 Взаимодействие через файлы . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Взаимодействие с удаленными задачами . . . . . . . . . . . . . . . . . . . . 17
2.3.1 Юнит-контроллер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Внутренняя архитектура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1 Менеджер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.1 Запуск юнитов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.2 Обработка команд общего обслуживания системы и генерация событий . . 21
3.2 Протокол обмена сообщениями . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Сообщения-команды от клиентов . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Сообщения-обновления от юнитов . . . . . . . . . . . . . . . . . . . . . . . . 23
23.3 Рассмотрение сценариев поведения при частичной неработоспособности системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.1 Разрыв связи с удаленной машиной . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.2 Выход из строя менеджера . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 Особенности реализации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1 Используемые технологии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.1 Язык Python 2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.2 Библиотека ZeroMQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Общие и вспомогательные элементы . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.1 Событийно-ориентированная архитектура . . . . . . . . . . . . . . . . . . . 28
4.2.2 Семейство классов Worker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.3 Класс Logger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Менеджер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.1 Прием и отправка сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.2 Запуск новых юнитов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.4 Базовый шаблон юнита . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4.1 Класс UnitWorker и его потомки . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4.2 Класс UnitContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.5 Универсальный юнит-контроллер . . . . . . . . . . . . . . . . . . . . . . . . 40
4.5.1 Буферизация вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5.2 Ожидание завершения процесса . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5.3 Запуск в мультиплексоре GNU Screen . . . . . . . . . . . . . . . . . . . . . . 42
4.6 Универсальный монитор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
ЗАКЛЮЧЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ . . . . . . . . . . . . . . . . . . . . 45
ПРИЛОЖЕНИЯ

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

Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


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


Pieter Hintjens; ZeroMQ. Messaging for Many Applications; O’Reilly Media, 2013.
2. Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes; SSH, The Secure Shell: The
Definitive Guide; O’Reilly Media, 2005.
3. Luciano Ramalho; Fluent Python: Clear, Concise, and Effective Programming 1st Edition;
O’Reilly Media, 2015.
4. Немет Э., Снайдер Г., Хейн Т., Уэйли Б.; Unix и Linux. Руководство системного администратора 4-е издание; ООО “И.Д. Вильямс”, 2012.
5. https://docs.python.org/2/; Оффциальная документация Python 2.7

Работу высылаем на протяжении 30 минут после оплаты.




©2024 Cервис помощи студентам в выполнении работ