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

 

А.И. Шаповалов, Ю.Е. Зинченко

Донецкий национальный технический университет

Доклад на II Международной научной конференции студентов, аспирантов и молодых ученых "Компьютерный мониторинг и информационные технологии"

 

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

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

 

 

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

            Функции клиента:

            - получить задания от координатора или внешнего источника (гибкого носителя, ftp или http сервера);

            - вывод задания на экран;

            - прием ответа;

            - посылка ответа координатору.

            Функции координатора:

- прием ответов от клиента;

- выдача клиенту заданий по запросу;

- выбор подходящего сервера для обработки результата.

Функции сервера:

- прием ответа от координатора;

- обработка ответа;

- сохранение результата в специальном файле или базе данных.

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

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

Основными преимуществами такой системы являются:

- равномерность загрузки сервера – заявки обрабатываются не только в моменты приема заявок, но и в то время, когда заявки практически не поступают, например, ночью;

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

- отказ в обслуживании координатора некритичен – клиенты могут передать ответы позже или подключиться к другому координатору;

- возможность распределения заявок между координаторами – «дорогой» сервер может обслуживать несколько «дешевых» координаторов – снижается суммарная стоимость системы.

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

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

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

 

Список использованной литературы:

 

1. Гольдштейн Б. Системы коммутации, 2-е изд.  – СПб.: БХВ-Петербург, 2004. – 318 с.: ил.

2. Операционная система реального времени QNX Neutrino 6.3. Системная архитектура: Пер. с англ. – СПб.: БХВ-Петербург, 2005. – 336 с.: ил.