АННОТАЦИЯ 2
ВВЕДЕНИЕ 7
ЦЕЛЬ И ЗАДАЧИ РАБОТЫ 9
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 10
1.1. ОБЗОР АНАЛОГА 10
2. ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ 12
2.1. ФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ 12
2.2. НЕФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ 12
2.3. ВЫВОД 13
3. ПРОЕКТИРОВАНИЕ СИСТЕМЫ 14
3.1. АРХИТЕКТУРА ПРЕДПОЛАГАЕМОГО РЕШЕНИЯ 14
3.2. АЛГОРИТМЫ РАБОТЫ С КЛИЕНТАМИ 14
3.3. ПРОЕКТИРОВАНИЕ REST API 18
3.4. ПРОЕКТИРОВАНИЕ МОДУЛЯ DISTRIBUTION 18
3.5. ПРОЕКТИРОВАНИЕ МОДУЛЯ MESSAGE 19
3.6. ПРОЕКТИРОВАНИЕ АЛГОРИТМА РЕШЕНИЯ ПРОБЛЕМЫ
БУТЫЛОЧНОГО ГОРЛЫШКА 20
4. РЕАЛИЗАЦИЯ 21
4.1. РЕАЛИЗАЦИЯ РАБОТЫ С КЛИЕНТАМИ 21
4.2. РЕАЛИЗАЦИЯ REST API 22
4.3. РЕАЛИЗАЦИЯ МОДУЛЯ DISTRIBUTION 22
4.4. РЕАЛИЗАЦИЯ МОДУЛЯ MESSAGE 23
5.1. МЕТОДОЛОГИИ ТЕСТИРОВАНИЯ 24
5.2. РЕАЛИЗАЦИЯ ТЕСТИРОВАНИЯ 24
5.3. АВТОМАТИЧЕСКОЕ ТЕСТИРОВАНИЕ 25
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 27
ПРИЛОЖЕНИЕ А ИСХОДНЫЙ КОД REST API 27
ПРИЛОЖЕНИЕ Б ИСХОДНЫЙ КОД МОДУЛЯ DISTRIBUTION. 33
На сегодняшний день примеры использования компьютерной графики можно найти практически на каждом шагу. Огромная часть визуальной рекламы, кинематограф, архитектурное планирование, эмуляция поведения физических объектов - всё это изменилось с появлением более доступной компьютерной графики. Но масштабы росли, спецэффекты в кинематографе становились сложнее, моделирование в архитектуре вырастало до размеров микрорайонов, и в связи с этим возникла проблема - рендеринг.
Рендеринг - это термин в компьютерной графике, обозначающий процесс получения изображения по модели с помощью компьютерной программы[1]. Модель, в свою очередь, это описание любых объектов или явлений строго на определенном языке или в виде структуры данных. Любые параметры - тип источника света, направление, свойства материала смоделированного объекта, описываются различными методами в зависимости от программы для моделирования, а после превращаются в привычные глазу изображения благодаря процессу рендеринга.
Рендеринг очень крупных сцен с большим количеством сложных элементов, изображение которых должно быть высокого качества, с размещением нескольких источников света и с другими усложняющими процесс рендеринга объектами, занимает значительное количество времени даже на мощных вычислительных устройствах, а рендеринг на рабочем ноутбуке дизайнера может занимать недели непрерывной работы ЭВМ. В связи с чем появился спрос на аренду вычислительных мощностей для рендеринга сцен. И, как и в любой другой нише, компании, предоставляющие такие мощности, для повышения своей конкурентоспособности начали расширять список услуг, предоставляемых клиенту помимо самих вычислительных мощностей. Что привело к появлению организаций, предоставляющих полный цикл обработки ЗЭ-сцен. Клиент отправляет компании ЗЭ-сцену - получает готовые отрендеренные изображения или видеофайлы.
Помимо рендеринга в список оказываемых услуг входит большое количество второстепенных задач, необходимых для превращения модели в изображение или видеофайл.
Это могут быть как задачи, которые связаны с услугами, предоставляемыми непосредственно клиенту в рамках улучшения позиции компании среди конкурентов, так и задачи «технического» характера, потребность в выполнении которых появилась в связи с усложнением полного цикла превращения ЗЭ-модели в изображение или видеофайл. К задачам, предоставляемым клиентам, можно отнести, например, распаковку или запаковку архивов очень больших размеров или с высокой степенью сжатия. Иногда бывает быстрее и выгоднее прибегнуть к услугам компании, которая выполнит необходимые манипуляции с архивом на своих вычислительных мощностях, чем делать это на своей машине. К техническим задачам можно отнести, например, наложение водяных знаков, которое позволяет компании демонстрировать готовый продукт заказчику без риска остаться без оплаты.
В рамках данных работы некоторая часть таких услуг будет называться постобработкой. Именно для автоматизации процессов постобработки спроектирована система, серверная часть которой представлена в данной выпускной квалификационной работе.
В рамках выпускной квалификационной работы была разработана серверная часть автоматизированной системы управления постобработкой изображений и видеофайлов. При этом были решены следующие задачи: проведен анализ аналога системы-предшественника, выделены основные проблемы;
проведено формирование и согласование требований к системе;
выполнено проектирование системы;
выполнена реализация системы;
проведено тестирование серверной части системы, подтвердившее корректность функционирования реализованного продукта;
осуществлена консультация по интеграции системы в предприятии.
Проблема бутылочного горлышка была полностью решена, что подтвердила демонстрация работы системы. Быстродействие системы выросло относительно системы-предшественника с тем же функционалом. Также была достигнута возможность масштабируемости системы, что не было возможным в условиях старой системы.
В настоящий момент система интегрирована на предприятие и стабильно функционирует. В отличие от системы-предшественника доступно управление через API, что было отмечено заказчиком системы, как достоинство.
Перспективы развития системы:
написание новых контроллеров API в случае появления новых требований управления системой;
дальнейшая масштабируемость системы в случае увеличения объема работы предприятия.