c语言 在线oj系统,开源的在线评测系统——Vakuum
簡介
Vakuum是一個基于Linux+PHP的在線評測系統(Online Judge),主要面向信息學競賽(OI)和ACM/ICPC。
功能
在線評測
用戶提交程序代碼,在線編譯,執行測試數據,對其評判并返回結果。支持自定義檢查器(Speciel Judge)。支持特殊類型題目(代碼檢查、交互式、庫式、提交答案式)。
比賽舉辦
兼顧OI和ACM,支持個人賽、團隊賽。比賽模式有在線賽(ACM),離線賽(OI),自由計時賽(USACO)。
晉級模式
根據現有題庫,由管理員設置或用戶推薦一組晉級路線,即做完一組題目后才能進入下一組,并獲得相應稱號。參加USACO和UVA。
問題討論
簡潔、高效、可控。
其他功能
題庫檢索,用戶排名,隊伍系統,權限管理,代碼備份,……
架構
Vakuum 系統分為vakuum-web和vakuum-judge兩大模塊。vakuum-web是一個在線評測系統界面,需要PHP和MySQL支持,可以建立 在Linux或Windows平臺下。vakuum-judge是評測系統的核心模塊,負責處理用戶評測請求,與vakuum-web進行通信。通信模塊 為PHP,核心由C語言編寫,只能運行在Linux(Unix)平臺下。
vakuum-web是基 于PHP和MySQL的一個B/S應用程序,采用MVC(模型-視圖-控制器)架構設計,負責與用戶交互和與核心通信。支持于評測機分離或和一,支持多評 測機協同作業,不需要daemon和底層權限。用戶通過訪問vakuum-web查看題目,提交代碼,vakuum-web將請求派發給vakuum- judge終端。支持多評測機數據同步,支持測試數據分發管理。主要采用HTTP信道發送命令,FTP信道發送數據。
vakuum- judge通信模塊由PHP編寫,收到請求以后,使用C語言編寫的核心對代碼進行編譯,并在執行器沙盒中執行,保證系統安全。執行器使用ptrace監控 用戶程序的系統調用和文件調用,根據需求加以放行或禁止,同時支持內存峰值統計,內存限制,用戶時間統計,時間限制,輸出文件大小限制。
現狀
正在開發,vakuum-judge核心部分基本完成,vakuum-web底層架構設計完成,正在完善功能。現需要對PHP熟悉的開發者,善于網頁設計和美化的開發者,精通Linux系統編程的開發者,有意將內核移植到Windows的開發者,歡迎有意者加入開發。
上次修改時間 2017-02-03
總結
以上是生活随笔為你收集整理的c语言 在线oj系统,开源的在线评测系统——Vakuum的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言程序设计开封电大,最新电大《C语言
- 下一篇: 妇科疾病治疗(妇科疾病该怎么治疗?躲过3