Font Size: a A A

The Research Of Educational Resources Online Judge System Based On Cloud Platform

Posted on:2016-03-25Degree:MasterType:Thesis
Country:ChinaCandidate:Q Q LiuFull Text:PDF
GTID:2308330473455570Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Online judge system decreases the reviewing workload of programming and makes the inspection job more fair and accurate. Because there is phase to compile and run the program in the online judge system. In this period, it will take up a lot of system resources and CPU time.When a large number of users submit their jobs to the online judge system at the same time, there may be some poor phenomena such as users having to wait for a long time in order to receive responses, the poor stability of online judge system, and even system crashes. So it has become a major problem to provide an online judge system for teaching with stable performance and short response time when mass users access the system concurrently. Taking these cases into consideration,this thesis proposes a modified online judge system based on Hadoop.This thesis analyzes the present development situation of the online judge system and points out its deficiencies such as the poor design in current online judge system and the unscientific feedback data.Therefore, this paper puts forward a new online judge system based on Java web,and this system is divided into three levels: web services layer, the database service layer and the check service layer. In aspect of limiting user program running time, this paper takes advantage of Linux operating system and uses its “proc” interface, piping and “ptrace” process to track and return the status of the child process so that makes it possible to limit the user’s time to the smallest unit in 1 millisecond. According to the current situation of distributed online judge system, this paper puts forward to distribute the online judge system in a cloud platform.Aiming at the distributed demand of online judge system, this thesis studies the frame structure of Hadoop, the storage principle of HDFS and the processes of read and write files, and then puts forward to deploy this online judge system in Hadoop cluster and store related files in HDFS file system in order to improve the judgement ability of the system.To make the overall performance of the cluster achieve its optimum state and take full use of resources in each server, this thesis analyzes the current status of the development of load balancing and concludes that those load balancing algorithms do not take the change of the statement of each server into account when the tasks are in allocation, which results that the overall performance of the cluster is not good. Onbasis of it, this thesis proposes a dynamic feedback algorithms based on neural networks, in which the system interface of proc file in Linux collect the dynamic load information of each server, and send these load information into the neural network computing module, select the most appropriate server for the current task based on the output in neural network computing modules and the weighted round robin algorithm.The algorithm improves the overall performance of the cluster online judge system.Finally, this paper tests the performance and function of the online judge system in stand-alone mode and Hadoop cluster. Through setting different sizes of the number of concurrent users and load balancing algorithms, and comparing the average response time of the online judge system, the results for the analysis can be concluded as follows:the dynamic feedback algorithms based on neural networks improves the performance of concurrent access, reduces the waiting time of user, and provides users with a good performance online judge system platform.
Keywords/Search Tags:Online judge system, Hadoop, load balancing, neural network
PDF Full Text Request
Related items