Difference between revisions of "Общая архитектура системы"
From EjudgeWiki
(...) |
|||
(16 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
Система <tt>ejudge</tt> состоит из нескольких компонент, отвечающих за разные аспекты работы: | Система <tt>ejudge</tt> состоит из нескольких компонент, отвечающих за разные аспекты работы: | ||
* Управляющие компоненты, отвечающие за доступ к основной базе данных пользователей, мониторинг активных турниров, выполнение низкоприоритетных вспомогательных задач и компиляцию решений участников. Управляющие компоненты системы работают в режиме демона все время работы системы, начиная от создания турнира, регистрации пользователей, проведения турнира и все время, когда предоставляется доступ к результатам турниров. Управляющие компоненты работают в одном экземпляре на все существующие в данный момент в системе турниры. Запуск системы <tt>ejudge</tt> заключается в запуске управляющих компонент. К этой группе относятся следующие программы: | * Управляющие компоненты, отвечающие за доступ к основной базе данных пользователей, мониторинг активных турниров, выполнение низкоприоритетных вспомогательных задач и компиляцию решений участников. Управляющие компоненты системы работают в режиме демона все время работы системы, начиная от создания турнира, регистрации пользователей, проведения турнира и все время, когда предоставляется доступ к результатам турниров. Управляющие компоненты работают в одном экземпляре на все существующие в данный момент в системе турниры. Запуск системы <tt>ejudge</tt> заключается в запуске управляющих компонент. К этой группе относятся следующие программы: | ||
− | |||
− | |||
− | |||
**<tt>[[ej-compile]]</tt> | **<tt>[[ej-compile]]</tt> | ||
+ | **<tt>[[ej-contests]]</tt> | ||
**<tt>[[ej-jobs]]</tt> | **<tt>[[ej-jobs]]</tt> | ||
− | |||
**<tt>[[ej-super-run]]</tt> | **<tt>[[ej-super-run]]</tt> | ||
− | + | **<tt>[[ej-super-server]]</tt> | |
− | * | + | **<tt>[[ej-users]]</tt> |
− | ** <tt>[[ej- | ||
* CGI-программы, непосредственно обрабатывающие запросы пользователей и администраторов системы и предоставляющие интерфейс к программам первой и второй групп.CGI-программы запускаются веб-сервером при поступлении запроса от клиента. Как правило, CGI-программы выполняют предварительный анализ запроса и передают запрос на генерацию HTML-страниц соответствующим программам серверной части <tt>[[ej-users]]</tt>, <tt>[[ej-super-server]]</tt>, <tt>[[ej-contests]]</tt>. К группе CGI-программ относятся следующие программы: | * CGI-программы, непосредственно обрабатывающие запросы пользователей и администраторов системы и предоставляющие интерфейс к программам первой и второй групп.CGI-программы запускаются веб-сервером при поступлении запроса от клиента. Как правило, CGI-программы выполняют предварительный анализ запроса и передают запрос на генерацию HTML-страниц соответствующим программам серверной части <tt>[[ej-users]]</tt>, <tt>[[ej-super-server]]</tt>, <tt>[[ej-contests]]</tt>. К группе CGI-программ относятся следующие программы: | ||
+ | ** <tt>[[judge]]</tt> | ||
+ | ** <tt>[[master]]</tt> | ||
+ | ** <tt>[[new-client]]</tt> | ||
+ | ** <tt>[[new-judge]]</tt> | ||
+ | ** <tt>[[new-master]]</tt> | ||
+ | ** <tt>[[new-register]]</tt> | ||
** <tt>[[register]]</tt> | ** <tt>[[register]]</tt> | ||
+ | ** <tt>[[serve-control]]</tt> | ||
** <tt>[[users]]</tt> | ** <tt>[[users]]</tt> | ||
** <tt>[[team]]</tt> | ** <tt>[[team]]</tt> | ||
− | |||
− | |||
− | |||
* Вспомогательные программы, предоставляющие доступ к функциям системы из командной строки и выполняющие другие функции. Вспомогательные программы выполняют прочие функции. Вспомогательные программы запускаются из командной строки и предназначены для использования администратором системы <tt>ejudge</tt>: | * Вспомогательные программы, предоставляющие доступ к функциям системы из командной строки и выполняющие другие функции. Вспомогательные программы выполняют прочие функции. Вспомогательные программы запускаются из командной строки и предназначены для использования администратором системы <tt>ejudge</tt>: | ||
** <tt>[[ejudge-config]]</tt> | ** <tt>[[ejudge-config]]</tt> | ||
** <tt>[[ejudge-configure-compilers]]</tt> | ** <tt>[[ejudge-configure-compilers]]</tt> | ||
− | |||
** <tt>[[ejudge-control]]</tt> | ** <tt>[[ejudge-control]]</tt> | ||
** <tt>[[ejudge-edit-users]]</tt> | ** <tt>[[ejudge-edit-users]]</tt> | ||
** <tt>[[ejudge-execute]]</tt> | ** <tt>[[ejudge-execute]]</tt> | ||
− | |||
** <tt>[[ejudge-setup]]</tt> | ** <tt>[[ejudge-setup]]</tt> | ||
** <tt>[[ejudge-upgrade-web]]</tt> | ** <tt>[[ejudge-upgrade-web]]</tt> | ||
+ | ** <tt>[[ejudge-change-contests]]</tt> | ||
+ | |||
+ | * Прочие программы | ||
+ | ** <tt>[[ej-agent]]</tt> | ||
+ | ** <tt>[[ej-compile-control]]</tt> | ||
+ | ** <tt>[[ej-contests-control]]</tt> | ||
+ | ** <tt>[[ej-convert-clars]]</tt> | ||
+ | ** <tt>[[ej-convert-runs]]</tt> | ||
+ | ** <tt>[[ej-convert-status]]</tt> | ||
+ | ** <tt>[[ej-convert-variant]]</tt> | ||
+ | ** <tt>[[ej-convert-xuser]]</tt> | ||
+ | ** <tt>[[ej-import-contest]]</tt> | ||
+ | ** <tt>[[ej-jobs-control]]</tt> | ||
+ | ** <tt>[[ej-normalize]]</tt> | ||
+ | ** <tt>[[ej-page-gen]]</tt> | ||
+ | ** <tt>[[ej-polygon]]</tt> | ||
+ | ** <tt>[[ej-suid-container]]</tt> | ||
+ | ** <tt>[[ej-suid-update-scripts]]</tt> | ||
+ | ** <tt>[[ej-super-run-control]]</tt> | ||
+ | ** <tt>[[ej-super-server-control]]</tt> | ||
+ | ** <tt>[[ej-users-control]]</tt> | ||
+ | ** <tt>[[ej-vcs-compile]]</tt> | ||
+ | |||
+ | * Устаревшие | ||
+ | ** <tt>[[ejudge-contests-cmd]]</tt> | ||
+ | ** <tt>[[ejudge-jobs-cmd]]</tt> | ||
+ | ** <tt>[[ej-batch]]</tt> | ||
+ | ** <tt>[[ej-fix-db]]</tt> | ||
+ | ** <tt>[[ej-nwrun]]</tt> | ||
+ | ** <tt>[[ej-run]]</tt> | ||
+ | ** <tt>[[ej-serve]]</tt> |
Latest revision as of 06:52, 14 May 2023
Навигация: Главная страница/Система ejudge/Использование/Общая архитектура системы
Система ejudge состоит из нескольких компонент, отвечающих за разные аспекты работы:
- Управляющие компоненты, отвечающие за доступ к основной базе данных пользователей, мониторинг активных турниров, выполнение низкоприоритетных вспомогательных задач и компиляцию решений участников. Управляющие компоненты системы работают в режиме демона все время работы системы, начиная от создания турнира, регистрации пользователей, проведения турнира и все время, когда предоставляется доступ к результатам турниров. Управляющие компоненты работают в одном экземпляре на все существующие в данный момент в системе турниры. Запуск системы ejudge заключается в запуске управляющих компонент. К этой группе относятся следующие программы:
- CGI-программы, непосредственно обрабатывающие запросы пользователей и администраторов системы и предоставляющие интерфейс к программам первой и второй групп.CGI-программы запускаются веб-сервером при поступлении запроса от клиента. Как правило, CGI-программы выполняют предварительный анализ запроса и передают запрос на генерацию HTML-страниц соответствующим программам серверной части ej-users, ej-super-server, ej-contests. К группе CGI-программ относятся следующие программы:
- Вспомогательные программы, предоставляющие доступ к функциям системы из командной строки и выполняющие другие функции. Вспомогательные программы выполняют прочие функции. Вспомогательные программы запускаются из командной строки и предназначены для использования администратором системы ejudge:
- Прочие программы
- ej-agent
- ej-compile-control
- ej-contests-control
- ej-convert-clars
- ej-convert-runs
- ej-convert-status
- ej-convert-variant
- ej-convert-xuser
- ej-import-contest
- ej-jobs-control
- ej-normalize
- ej-page-gen
- ej-polygon
- ej-suid-container
- ej-suid-update-scripts
- ej-super-run-control
- ej-super-server-control
- ej-users-control
- ej-vcs-compile