Font Size: a A A

The Design And Implementation Of Online Judge System

Posted on:2016-10-10Degree:MasterType:Thesis
Country:ChinaCandidate:P ChenFull Text:PDF
GTID:2308330482975208Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Online judge system (OJ) refers the online web system used to judge the correctness and evaluate the time and space efficiency of the programs, which is generally used in the ACM/ICPC (International Collegiate Programming Contest) and other forms of programming contest to judge the submitted program. In recent years, various types of programming contest has attracted wide attention. For online judge system, the requirements in performance and compatibility are rapidly growing. The current mainstream online judge systems mainly concern the correctness of the evaluation methods of a single server. In the single machine structure, the OJ can guarantee the correctness of program evaluation and fairness. But the evaluation process work in serialized can not meet the requirement of the mass and short time explosive submission. In order to solve the current existing problems of low efficiency, lacking of support for competition, lacking of security guarantee for the compiler implementation process and poor compressive ability, based on SAE (Sina App Engine), we proposes ODOJ(Open Distributed Online Judge).Base on the detailed analysis of the requirement, focus on the main requirement of current OJ systems, we design ODOJ into a distributed online judge system. Because the system based on the distributed platform, which can better solve the problem of low efficiency of concurrent judgement. In the development procedure, we introduce the sandbox technology, to solve the core problem and differential current security at the same time. In the design process, system solutions focused more practical competition mode support, including support "practice mode", "game mode", "sitimulate mode". At the same time, we introduces the design of database in the system design process, supporting the database concurrency of program.In this thesis, we mainly introduces the system design, construction, architecture and the implementation of ODOJ. The deployment details of the technology involved is introduced. Furthermore, we also discussed the distributed deployment module, the construction of distributed database, sandbox modules, implementation of the page cache and distributed evaluation of kernel module.Including Sina open distributed platform, the paper relates to the system development technology (SAE) technology, remote procedure call with HTTP, the memcached data cache technology, redundancy backup technology and LAMP(Linux, Apache, Mysql, and PHP) technology. Base on these technologies, ODOJ greatly improved the working efficiency of the online judge system. Under the high concurrency situation, ODOJ can return the judge result in a short time maintaining the security of the system.
Keywords/Search Tags:Online Judge system, LAMP technology, Distributed web system, SAE application
PDF Full Text Request
Related items