Font Size: a A A

Design And Implementation Of The Hierarchical Online Code Judge System

Posted on:2021-05-08Degree:MasterType:Thesis
Country:ChinaCandidate:C Y WangFull Text:PDF
GTID:2518306104995559Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the development of information technology,universities have launched their own OJ systems,encouraging students to practice online programming,Online Judge,or OJ for short,is a technology that uses a computer to automatically judge a problem.Many online OJ system architectures are now aging.Therefore,it is especially important to design a new online judge system with kernel optimization and architecture improvement.It mainly studies the design scheme of the online judge system,uses a three-layer architecture as a whole,which is divided into a website,message queue,evaluation part.The website part is mainly divided into the main site and the management site.Main site provides user login,topic viewing,code submission functions.The management site provides functions such as data management.The main operator is an administrator.The message queue registers the producer and consumer in the website part and the background,connects the website part and the background,mainly responsible for transmitting the user's initial submission data from the website to the background,and decoupling the entire OJ system.The main part of the evaluation focuses on accepting and processing user submissions,inspecting dangerous code,compiling code,and returning results.The evaluation core is separated from the evaluation body and implemented in the C language with higher execution efficiency.It is responsible for limiting the resources of the program,executing the user program,and obtaining the corresponding program execution consumption.The overall architecture uses Kafka message queue to decouple the website and the background,separate the evaluation core separately.The OJ system based on the layered architecture provides a large number of programming exercises.Users can use C / C ++,Java,and Python to submit code.The background executes the program and outputs the time memory and other results to the user.
Keywords/Search Tags:Online judge, Code execution, Kernel optimization, Layered architecture
PDF Full Text Request
Related items