论文摘要
分布式系统(distributed system)是建立在网络之上的软件系统。Donghua University On-line Judge(DHUOJ)是一个网络分布式系统。它在功能方面如获取学生提交的代码,编译这些代码,运行这些代码程序并向学生返回结果。总体上DHUOJ系统可以很好的完成在线判题的使命。本课题组的历届成员都致力于这一分布式系统平台的研究与开发。随着计算机教育的不断发展,分布式系统得到了越来越多的应用。接下来课题组希望将一种新的可发育的自主连接模型引入到DHUOJ系统,将系统升级为可发育的自主连接式程序设计教学系统,从而为本校程序设计教学的发展和改革提供一个更好的系统平台。本文结合国家自然科学基金项目:“网络知识互联结构自主发育模型研究”,针对上述问题,重点研究DHUOJ系统结构模型,目标是其结构模型在理论上能够实现程序设计教学所面临的新的任务和需求。同时其结构模型也可以作为网络知识互联结构自主发育模型研究的实验性原型系统的前期准备工作。本文按如下步骤展开:首先,学习网络知识,为以后建立可发育的分布式网络程序做准备。对于一个网络系统IP地址和端口号是必不可少的,程序取出的IP地址和可用的端口号必须被保存以方便以后程序的使用。一般情况下,安装一个分布式系统时,相应的设置是必不可少的,这些设置有网络方面的,也有系统自身方面的。DHUOJ有许多地方需要设置,我们需要一个模块来帮维护人员完成大部分系统配置功能。其次,我们的模型需要三个文件,本地地址信息文件,地址查找表文件和任务表文件。本地地址信息文件记录了本地的IP地址和可用的端口号等信息。地址查找表文件记录了各个网络节点的IP地址和端口号信息。任务表文件描述了程序所要执行的认务。为了实现任务表文件的自动设置,实现程序的自动化,我们需要使得程序可以自动的配置任务表文件。我们的模型需要先获取本地地址信息文件和地址查找表,然后参照获取到的信息表文件,修改本地的任务表文件。然后,我们的OJ系统需要实现设置IP地址,端口号的自动化。我们需要OJ模块在一台电脑上按装而不需要多余的人工操作。也就是,工程师不需要人为深入系统内部完成系统的参数配置和更新操作。为了方便修改模块中的配置信息,提高系统的自主性,需要程序可以修改相应的配置文件。程序不仅需要正确定位到所要修改的模块文件,还要对此文件进行正确的修改。最后,我们需要程序可以按照任务要求启动DHUOJ。因此,首先我们需要一个任务表来记录各种任务信息。其次,程序要获得这些任务,该程序必须正确找到该任务表并读取其中的任务指令。之后还要按照任务表中给出的模块程序地址和模块名字找到程序模块并将其启动。