# 负载均衡式在线OJ **Repository Path**: liuhaodon/load-balancing-online-oj ## Basic Information - **Project Name**: 负载均衡式在线OJ - **Description**: 这是使用c++14和17编写的负载均衡式的在线OJ,网络基于cpp-httplib库搭建,采用MVC式架构设计,实现后台编译服务和前台OJ服务高度解耦合,实现负载均衡器达到根据机器负载情况智能选择后台服务的功能 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-01-01 - **Last Updated**: 2025-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: Cpp, C语言, cmake, HTML, Ajax ## README # 负载均衡在线判题系统 ## 项目简介 这是一个基于C++的负载均衡在线判题系统,包含编译服务和判题服务两个核心模块,使用httplib库实现HTTP通信。 ## 功能模块 1. **判题服务 (Oj_Server)** - 提供Web界面和API接口 - 支持题目管理、代码提交和结果判 - 包含HTML模板和静态资源 2. **编译服务 (Compilation_services)** - 提供代码编译功能 - 包含守护进程和编译器接口 ## 技术栈 - C++11及以上 - httplib (嵌入式HTTP库) - HTML/CSS模板 - Makefile构建系统 ## 目录结构 ``` . ├── Oj_Server/ # 判题主服务 │ ├── ctemplate_html/ # HTML模板文件 │ ├── wwwroot/ # Web静态资源 │ └── questions/ # 题目资源 ├── Compilation_services/ # 编译服务模块 └── Third_Lib/ # 第三方依赖库 └── cpp-httplib/ # HTTP库源码 ``` ## 构建说明 ```bash # 判题服务构建 cd Oj_Server make # 编译服务构建 cd Compilation_services make ``` ## 运行方式 ```bash # 启动判题服务 ./Oj_Server/Oj_Server # 启动编译服务 ./Compilation_services/Compilation_server ``` ## 特性 - 支持多题目的在线判题 - 提供编译隔离服务 - 支持守护进程模式 - 包含基础HTML模板和静态资源 ## 许可证 本项目使用MIT许可证,请查看Third_Lib/cpp-httplib/LICENSE获取详细信息。