OberonCore https://forum.oberoncore.ru/ |
|
Олимпиадный сервер https://forum.oberoncore.ru/viewtopic.php?f=7&t=1474 |
Страница 1 из 1 |
Автор: | А.П. [ Вторник, 14 Апрель, 2009 15:07 ] |
Заголовок сообщения: | Олимпиадный сервер |
Пётр Кушнир писал(а): Вроде как всё очевидно - сразу нажали Enter "Ты не умничай, ты пальцем покажи" ![]() Из Вашего ответа не стало ясней, будет ли работать вариант while без предварительного считывания символа. Но сейчас я хочу Вас спросить о более важном. Вы в подписке BLACKBOX@LISTS.OBERON.CH дали публичное пояснение некоему Rainer Neubauer про работу ББ как сервера. Мой вопрос: не могли бы Вы так настроить ББ на каком-нибудь физическом сервере, работающем под Виндами, чтобы он (ББ-сервер) мог принимать на компиляцию и прогон программы (модули КП), принимаемые через Интернет? Для организации дистанционной турнирной работы с удаленными учащимися это просто необходимо. Идти на поклон к разработчикам систем автоматического тестирования достаточно неудобно (им, например, версию под линухами подавай), а то и просто неприятно (было и такое). Федор Васильевич и Александр Ильин высказывались в том духе, что учинить турнирый сервер возможно, но надо время. Может, Ваш личный задел в этом плане и энтузиазм позволят обойтись совсем "малой кровью" и реализовать-таки идею в обозримом будущем?? |
Автор: | Info21 [ Вторник, 14 Апрель, 2009 18:56 ] |
Заголовок сообщения: | Re: Долой цикл FOR (?) |
А.П. писал(а): учинить турнирый сервер возможно, но надо время. Может, Ваш личный задел в этом плане и энтузиазм позволят обойтись совсем "малой кровью" и реализовать-таки идею в обозримом будущем?? Да, хорошая идея. Только его же, сервер в смысле, как-то обслуживать надо.
|
Автор: | Александр Ильин [ Четверг, 16 Апрель, 2009 15:03 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
В целом видится мне это так: web-сервер на базе O3 (исходники есть) получает модуль решения задачи (plain text через copy-paste в браузер либо odc-файл), компилирует в консольное приложение и получает exe-шник. Компилятор тоже лучше консольный использовать, для максимальной изоляции (уже реализован), но это обсуждаемо. Затем сервер последовательно прогоняет тесты, замеряя показатели дочерних процессов (потребление памяти, максимальное время работы и пр.), и сообщает результат пользователю. Что использовать в качестве БД участников и результатов я не знаю. |
Автор: | Пётр Кушнир [ Четверг, 16 Апрель, 2009 15:14 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
В O3 есть ODBC-сервлет(ну или что-то на него явно похожее). Так что можно например использовать MySQL. |
Автор: | Пётр Кушнир [ Четверг, 16 Апрель, 2009 15:18 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
Вообще, может, стоит использовать на стороне участника особый ББ (клиент для олимпиадного сервера). Неясно, если планируется использовать множество ЯП, то, наверное, такой клиент будет ограничением(например для линуксоидов) но зато преимуществом в плане обратной связи, интеграции. В таком случае разумно использовать джаббер, как более структурированый поток обмена инфой, нежели HTTP. Правда вознимает потрбность в джаббер-сервере, но их сейчас много бесплатных. |
Автор: | Пётр Кушнир [ Четверг, 16 Апрель, 2009 15:30 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
А для сервера стоит использовать Active BlackBox. Иначе от пары сотен клиентов ББ сдохнет. Да и компиляция тогда может проводиться в том же самом ББ(нет проблем с межпрограммным общением, нет нужды в компиляции exe-файла). |
Автор: | Пётр Кушнир [ Четверг, 16 Апрель, 2009 15:34 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
В целом, если время позволяет, то можно реализовать оба варианта. |
Автор: | А.П. [ Четверг, 16 Апрель, 2009 15:35 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
Александр Ильин писал(а): ... Что использовать в качестве БД участников и результатов я не знаю. Возможно, БД уч-ков и таблица баллов - это просто один массив записей подходящей структуры, который в ходе турнира постепенно заполняется и раз в минуту фиксируется на диск. БД решений - изначально пустые папки с вложенной структурой стандартных папок Mod, Sym и Code. Очередное решение заносится в папку уч-ка под очередным именем-номером с учетом номера решаемой задачи. Всю структуру вроде нетрудно выстроить. Потом под нее сделать сервисные функции типа занести решение в папку участника N, очистить папку участника N, удалить участника, зарегистрировать нового участника... Тесты к задачам находятся в своей иерархии папок. Поскольку размерность турнира не слишком большая (100-300 участников, не более 10 задач, не более 10 попыток на задачу), вся совокупность папок не будет чрезмерно большой. Как-то так... |
Автор: | А.П. [ Четверг, 16 Апрель, 2009 15:45 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
Пётр Кушнир писал(а): Вообще, может, стоит использовать на стороне участника особый ББ (клиент для олимпиадного сервера) Ни первый взгляд это нежелательно, поскольку я предполагаю в качестве участников и совсем наивный юный народец. Можно в штатный (школьный, лицейский) ББ вставить олимпиадные компоненты. Они ведь много места не займут. Его и распространять в школах как основной учебный инструмент. С черепашками, роботами и прочей детской атрибутикой. Или у Вас есть веские аргументы в пользу особого ББ? |
Автор: | Пётр Кушнир [ Четверг, 16 Апрель, 2009 15:50 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
Особый в том плане, что в нём будет установлена подсистема, отвечающая за нужный функционал. Ессественно, любая актуальная сборка ББ может быть использована. Пётр Кушнир писал(а): преимуществом в плане обратной связи, интеграции Ну вот такие аргументы.Плюс ещё один фактор: уж делать, так по-большому. ![]() |
Автор: | А.П. [ Четверг, 16 Апрель, 2009 16:08 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
Пётр Кушнир писал(а): Особый в том плане, что в нём будет установлена подсистема, отвечающая за нужный функционал. ...Плюс ещё один фактор: уж делать, так по-большому. ![]() Если только одна подсистема, да не очень громоздкая, то легко вставим в любую учебную сборку. Я на "по-большому" что-то уже мало надеюсь, слишком много интересных задумок не состоялось ![]() Правда, появление тут активных астраханцев внушает новые надежды ![]() |
Автор: | Пётр Кушнир [ Четверг, 16 Апрель, 2009 16:27 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
Ну одной подсистемой врядли обойдётся |
Автор: | Александр Ильин [ Четверг, 16 Апрель, 2009 16:47 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
Пётр Кушнир писал(а): А для сервера стоит использовать Active BlackBox. Иначе от пары сотен клиентов ББ сдохнет. Да и компиляция тогда может проводиться в том же самом ББ(нет проблем с межпрограммным общением, нет нужды в компиляции exe-файла). О3 имеет встроенные средства для распределения нагрузки по нескольким серверам (правда, подробно я их не изучал, но читал, что они есть).Попрошу не сбрасывать со счетов вопросы безопасности и отказоустойчивости системы. Нет ни одной причины, по которой размещение веб-сервера, компилятора и тестируемого кода в пределах одного процесса выглядело бы привлекательно. Разнесём по разным процессам, поручим распараллеливание операционной системе. К тому же, я знаю, как проконтролировать объём выделенной памяти и время _работы_ (а не время от запуска до завершения) для _процесса_ средствами ОС, но как это сделать для отдельно взятого модуля ББ? |
Автор: | Александр Ильин [ Четверг, 16 Апрель, 2009 16:49 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
К тому же, использование консольного компилятора, и тестирование консольного приложения позволяют единообразно добавить в систему другие языки программирования. Не будем забывать и о такой цели. |
Автор: | Александр Ильин [ Четверг, 16 Апрель, 2009 16:52 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
А.П. писал(а): Возможно, БД уч-ков и таблица баллов - это просто один массив записей подходящей структуры... Не хотелось бы изобретать велосипед. Я думаю, что O3 уже поддерживает генерацию страниц по результатам запросов к БД, так что можно использовать готовое решение. Надо уточнить, действительно ли там это есть.
|
Автор: | Info21 [ Четверг, 16 Апрель, 2009 18:30 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
Пётр Кушнир писал(а): ... уж делать, так по-большому. Коллеги, умоляю, попроще!
![]() |
Автор: | Info21 [ Вторник, 26 Май, 2009 06:47 ] |
Заголовок сообщения: | Re: Олимпиадный сервер |
Коллеги, хорошо бы какую-нибудь самую минимальную работающую версию сделать как можно быстрее. Чтобы могла обслужить трех соревнующихся безо всяких изысков. (На самом деле, десяток по-любому обслужит.) А дальше видно будет. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |