среда, 29 июня 2011 г.

Экзамены>работа>олимпиадная система.

Признаюсь сразу, я сначала усиленно готовился к переводным экзаменам, писал ООП и IPX, чтобы мне поставили зачет. Затем началась отработка и работа. Это обозначает, что я ухожу из дома в 8.30 и прихожу в 18.00. Вот такой у меня график.


Собственно говоря, началась работа над распределенной тестирующей олимпиадной системой. "Что за зверь?" - спросит наивный читатель. А это будет мощный инструментарий для проведения олимпиад по программированию, как в локальной сети, так и в интернете, поддерживающий обработку решений участников на нескольких серверах.

Схема такая:
Клиент
/\
\/
Распределяющая система <> База данных
/\
\/
 
Cервера тестирования


Теперь небольшое пояснение: У распределяющей системы есть функция: создать чемпионат. Затем, пользователь открывает клиент, регистрируется в чемпионате и участвует в нем. Результаты чемпионата (в т.ч. решенные задачи, кол-во ошибок) попадают в базу данных, где хранится информация о пользователе.


Функции компонент проекта:


  • Клиент - предоставление пользователю интерфейс работы с чемпионатами, своим аккаунтом и тестирующей системой.
  • Распределяющая система - распределяет присланные решения на проверку между серверами и занимается менеджментом базы данных.
  • Сервер тестирования - тестирует присланные решения и результаты отсылает обратно распределяющей системе. Вполне вероятно, что он будет отсылать результаты напрямую клиенту и напрямую будет работать с базой данных, чтобы снизить нагрузку на распределяющую систему. Оба варианта будут подвергнуты анализу.

Комментариев нет:

Отправить комментарий