龙源期刊网 http://www.qikan.com.cn
基于Linux的OnlineJudge在线提交环境的搭建
作者:卢云宏 侯文涵 赵前 张丽颖 周世平 来源:《电子技术与软件工程》2017年第12期
摘 要OnlineJudge(OJ)是基于图形化用户界面的在线评测系统,用于在线检测代码的正确性。本文利用python语言和Linux环境的命令行方式,为当前OJ设计并搭建一个基于Linux的纯命令行在线提交环境,使用该环境可以在纯命令行下向OJ提交题目。该环境成本低,占用资源少,运行速度快,服务端便于统一管理。 【关键词】程序设计 命令行 在线提交环境(平台) 1 前言
人机交互随软件技术的发展而进步,一直在按照用户的期望向着友好、方便、自然的方向发展。人机交互从原始的命令行(Command Line Interface,CLI)到图形化用户界面(Graphical User Interface, GUI),再发展到现在的自然用户界面(NaturalUserInterface, NUI)。虽然当前CUI已经不是主流了,但命令行技术作为更接近底层的文本模式,永远不会过时。
随着程序设计基础教学的发展,各个高校纷纷建立OJ,但当前OJ平台是基于图形化用户界面的,目前还没有OJ平台使用命令行界面。针对当前的情况,本文使用纯命令行界面,设计并搭建了纯命令行的OJ在线提交环境。作为日常使用,图形化界面是方便且易于操作的,但作为服务器,图形模式会占用大量的系统资源,尤其是内存。基于服务器的考虑,该环境的搭建借用Linux环境的命令行方式。系统终端为纯文本,不使用图形化界面,占用资源少,运行速度快,可以对资源有效利用。另外,该系统运行环境相对简单,不需要太多的外部环境,客户端不需要特殊环境搭建,可以通过终端方式(借用putty,ssh,Xshell等工具)实现登录。
2 实验平台环境搭建
本文基于远程登录,ssh映射的原理,将OJ服务器与用户之间增加一个Linux服务器和一个中转服务器,搭建该环境。使用的搭建工具包括Linux服务器,OJ服务器,终端软件。搭建提交环境步骤如下:
(1)实现端口转发。因为Linux服务器使用的是局域网,只能在特定(124)网段使用,需要将端口转发到中转服务器的特定(6666)端口上才能实现外网访问。
基于Linux的OnlineJudge在线提交环境的搭建



