Online Judge(OJ) systems are a basic and important component of computer education. Here, we present MetaOJ, an OJ system that can be used for holding massive programming tests online. MetaOJ is designed to create a d...Online Judge(OJ) systems are a basic and important component of computer education. Here, we present MetaOJ, an OJ system that can be used for holding massive programming tests online. MetaOJ is designed to create a distributed, fault-tolerant, and easy-to-scale OJ system from an existing ordinary OJ system by adding several interfaces into it and creating multiple instances of it. Our case on modifying the TUOJ system shows that the modification adds no more than 3% lines of code and the performance loss on a single OJ instance is no more than 12%. We also introduce mechanisms to integrate the system with cloud infrastructure to automate the deployment process. MetaOJ provides a solution for those OJ systems that are designed for a specific programming contest and are now facing performance bottlenecks.展开更多
In order to provide a good practice platform for the program design contestants and algorithm enthusiasts,this paper designs and implements a programming online evaluation system based on cloud platform,which is a web...In order to provide a good practice platform for the program design contestants and algorithm enthusiasts,this paper designs and implements a programming online evaluation system based on cloud platform,which is a web system that can return the test results of the program source codes submitted by users in real time.It realizes the automatic evaluation of the program design training questions.The system is implemented by the way of front-end and back-end separation and modular programming.The front-end of the web is implemented by Vue framework,the back-end is implemented by Django framework.The judgment core is written in C language for the sake of improving the efficiency of the system.Sandbox technology is used to ensure the security of the judgment system.Experimental results show that the system can meet the need of daily teaching and competition.展开更多
文摘Online Judge(OJ) systems are a basic and important component of computer education. Here, we present MetaOJ, an OJ system that can be used for holding massive programming tests online. MetaOJ is designed to create a distributed, fault-tolerant, and easy-to-scale OJ system from an existing ordinary OJ system by adding several interfaces into it and creating multiple instances of it. Our case on modifying the TUOJ system shows that the modification adds no more than 3% lines of code and the performance loss on a single OJ instance is no more than 12%. We also introduce mechanisms to integrate the system with cloud infrastructure to automate the deployment process. MetaOJ provides a solution for those OJ systems that are designed for a specific programming contest and are now facing performance bottlenecks.
基金This work is supported in part by National Natural Science Foundation of China(61373132,61872408)the Key Laboratory of informationization technology for basic education in Hunan province(2015TP1017)+1 种基金Hunan provincial higher education reform research project(2012[528])Project of research study and innovative experiment for college students in Hunan Province(2017[873]).
文摘In order to provide a good practice platform for the program design contestants and algorithm enthusiasts,this paper designs and implements a programming online evaluation system based on cloud platform,which is a web system that can return the test results of the program source codes submitted by users in real time.It realizes the automatic evaluation of the program design training questions.The system is implemented by the way of front-end and back-end separation and modular programming.The front-end of the web is implemented by Vue framework,the back-end is implemented by Django framework.The judgment core is written in C language for the sake of improving the efficiency of the system.Sandbox technology is used to ensure the security of the judgment system.Experimental results show that the system can meet the need of daily teaching and competition.