基于分布式系统的Online Judge系统

摘要
社会经济迅猛发展之下,计算机科学与技术的应用范围更加广阔,并且逐渐成为生产与生活中的重要组成部分,逐渐对人们的日常生活产生潜移默化的影响。另外,计算机科学与技术的发展也在很大的程度上促进了社会的发展。
因此,“IT Skill”正在逐渐成为每一个人的必备技能。本课题通过在云端集群部署HaHadoop Online Judge系统,支持多种语言,由网页形式展现给IT爱好者,实时反馈判题结果;并且,本OJ系统内置技术论坛,方便IT爱好者互相交流。
同时,本课题结合现实情况,从现实出发,对系统整体架构进行设计,充分考虑了各种不可抗力因素(服务器宕机以及单体服务器性能瓶颈等问题),实现了HaHadoop Online Judge系统的灾备以及负载均衡能力;在实现了界面友好美观、功能齐全完备的前提下,促进课题与现实应用深度结合,助力计算机科学与技术事业蓬勃发展。
1.系统整体架构
基于分布式系统的Online Judge系统基于分布式系统的Online Judge系统基于分布式系统的Online Judge系统前端网页严格按照“响应式布局”编写,以尽可能多地适配移动端(服务器端部署Apache2进行静态网页调试)。前端网页主要包含主页、Rank、题库列表、Judge页面、登录/注册、关于我们、后台管理员管理界面,以及内嵌的论坛(包含论坛主页、section、topic、reply等)。
基于分布式系统的Online Judge系统基于分布式系统的Online Judge系统基于分布式系统的Online Judge系统2.数据库设计
基于分布式系统的Online Judge系统
基于分布式系统的Online Judge系统
基于分布式系统的Online Judge系统
基于分布式系统的Online Judge系统
基于分布式系统的Online Judge系统
基于分布式系统的Online Judge系统
基于分布式系统的Online Judge系统
基于分布式系统的Online Judge系统
基于分布式系统的Online Judge系统
基于分布式系统的Online Judge系统
基于分布式系统的Online Judge系统数据库实现时考虑了安全性(私密)以及事务等要求。
MD5加密算法:
基于分布式系统的Online Judge系统数据库事务(锁)实现:
基于分布式系统的Online Judge系统3.Judge设计
基于分布式系统的Online Judge系统基于分布式系统的Online Judge系统基于分布式系统的Online Judge系统项目地址:http://120.78.172.149:8080/oj/index.jsp
(注:由于后端评测机已移除,故只可简单浏览前端页面)