Введение
Постановка задачи
Обзор литературы
Глава 1. Автоматизация развертывания и настройки филиала
1.1. Особенности Puppet
1.2. Настройка Puppet
1.3. Создание манифеста
1.4 Выводы
Глава 2. Управление аудио-ответами
2.1. Исследование вопроса
2.2. Обзор инструментов для синхронизации файлов
2.3. Архитектура решения
2.4. Обновленный сценарий развертывания системы
2.5. Нагрузочное тестирование
2.6. Стресс-тестирование
2.7. Достигнутые результаты
Глава 3. Синхронизация баз данных
3.1. Исследование вопроса
3.2. Выбор решения для синхронизации баз данных .
3.3. Применение репликации
3.4. Достигнутые результаты
Заключение
Список литературы и источников
Приложение 1. Код манифеста Puppet для развертывания филиала ....
Приложение 2. Исходный код модулей по управлению файлами
Приложение 3. Скрипт для развертывания базы в центре управления
Центр языкового тестирования СПбГУ осуществляет государственное
тестирование иностранных граждан по русскому языку, истории России и
основам законодательства Российской Федерации. С 1 января 2015
комплексный экзамен является обязательным для иностранных граждан,
желающих оформить разрешение на работу, патент, разрешение на временное
проживание или вид на жительство. За год эксперты Центра тестирования
СПбГУ проэкзаменовали более 200 000 мигрантов из стран ближнего и дальнего зарубежья.
Центром языкового тестирования была проведена масштабная работа по
разработке тестовых заданий, созданию и внедрению программного
обеспечения для проведения тестирования, совершенствованию
организационного аспекта — оптимизации процедуры тестирования и анализа
результатов, а также сокращению сроков выдачи сертификатов до трёх
рабочих дней. Решение поставленных задач стало возможным во многом
благодаря автоматизации процесса проведения экзамена.
Экзамен проводится с помощью программного комплекса «СТКПлюс».
Это современный программный комплекс, позволяющий выполнять задания
субтестов, оценивать результаты, автоматически формировать тест из пула
вопросов, редактировать задания, регистрировать кандидатов и организовать
документооборот, а также получать различные виды статистических данных
по любой имеющейся информации о кандидатах и выполненным ими
заданиям. На компьютере выполняются субтесты «Лексика. Грамматика»,
«Чтение», «Аудирование», «Говорение», «История России», «Основы законодательства РФ».
Система тестирования является многофилиальной. Под филиалом
подразумевается класс, где установлен программный комплекс.4
Сам программный комплекс выполнен в виде двух модулей для запуска
на Windows системах — модуль тестирования и модуль управления. Первый
модуль устанавливается на каждый компьютер, на котором тестируемый
будет отвечать на вопросы. Второй модуль устанавливается на сервере
филиала и служит для управления тестированием и анализа данных.
Следующим звеном в комплексе выступает центр управления (центр
обработки данных). Он находится в Санкт-Петербурге и должен собирать все
данные о тестировании со всех классов. Однако в текущей реализации
системы передача данных в центр не автоматизирована и проводится вручную
сотрудниками системы. При увеличении числа филиалов, это становится сложной задачей.
Передача файлов устных ответов с компьютера для тестирования на
сервер филиала также обладает рядом недостатков. Устные ответы
тестируемых записываются и сохраняются сразу на сервере филиала в общую
сетевую папку, предварительно созданную на сервере филиала. Из-за
ограничения на количество подключений к общей сетевой папке в некоторых
ОС Windows, тестирование невозможно провести одновременно с более 20
участниками. Также есть проблемы с отказоустойчивостью. Например, при
записи ответа может возникнуть сбой в сети, и ответ не будет утерян.
На рисунке 1 схематично представлена архитектура программного комплекса.
Постановка задачи
Целью данной работы является улучшение существующего варианта
управления данными в многофилиальной системе тестирования знаний СТКПлюс.
Для достижения данной цели были поставлены следующие задачи:
1. Ознакомиться с инструментами для автоматизированного
управления конфигурациями;
2. Изучить архитектуру системы СТКПлюс;
3. Ознакомиться с существующими инструментами по
синхронизации файлов;
4. Разработать архитектуру прототипа решения управления файлами;
5. Разработать прототип приложения по управлению файлами;
6. Провести тестирование приложения по управлению файлами;
7. Ознакомиться с инструментами для синхронизации баз данных;
Сделать обоснованный выбор инструмента.
В рамках работы было изучено одно из самых актуальных средств по
управлению конфигурациями — Puppet. Далее с помощью Puppet были
автоматизированы развертывание и настройка филиала. Выводы, полученные
после изучения, помогли лучше продумать архитектуру решения по управлению файлами.
Была изучена архитектура системы СТКПлюс. Просмотрены исходные
коды, используемые библиотеки и т.д. В частности, был изучен
существующий способ управления файлами в системе СТКПлюс и выявлены его недоставки.
Далее автор выполнил обзор по заданным критериями существующих
инструментов для синхронизации файлов. Полученные выводы были
использованы при построение собственного решения.
Был разработан прототип решения по управлению файлами в системе
СТКПлюс. Полученное решение лишено недостатков существующего и
обладает необходимым потенциалом гибкости. Решение включает в себя два
модуля – модуль управления файлами внутри филиала и модуль
синхронизации файлов с центром управления. Возможна независимая
модификация отдельных модулей системы и распределенный запуск
программного комплекса. Проведено тестирование разработанных модулей.
Далее был составлен обзор существующих инструментов по
синхронизации баз данных. Сделан обоснованный выбор в пользу репликации
MS SQL Server. Далее были проанализированы объекты базы данных системы
и выбраны объекты для репликации. Разработаны скрипты для настройки
центра управления и филиала. Полученные результаты могут быть в
дальнейшем использованы при разработке конечного решения