程中运用到的算法的组织、知识整合以及共享,还有对于题目难度和倾向性的分析等。
而这些需求,在用户对在线评测系统的使用日渐深化的过程中是必然会出现的,对这
些需求的忽视也必然会影响在线评测系统的整体用户体验。可以注意到目前一些主流
的在线评测系统也在进行小幅度的改进,主要集中在添加一些基于原始数据进行分
析,进而帮助用户进行决策的辅助功能,例如题目的难度预测以及做题的路线推荐等,
而另一些改进则更多偏重于开发相对独立的功能,例如整合各大评测系统的资源,利
用代理提交的方式实现资源的合理利用等。然而对于这些以判题子系统为中心的在线
评测系统而言,这样的改进与原有的体系结构并不相容,系统最终将拖累于经典三层
模型中业务层各组件的混乱,并导致新功能难以添加。
而这些问题的根源主要是组件之间的紧耦合。以判题子系统为核心的在线评测平
台中所有额外的支持模块,例如用户管理、代码管理,甚至是前台用户界面和后台的
数据库访问层都只是为判题子系统服务。这一设计一方面可以保证判题核心的高效,
但在另一方面,所有其他模块均受制于判题子系统的性能,特别是在一些将前台用户
界面也和判题核心偶合起来的在线评测系统中,一旦系统出现高负载,或是由于恶意
代码的破坏导致判题核心崩溃,将直接产生连锁反应,使得整个系统停止服务。由一
个模块的错误导致其他本不必有关联的模块一起出错,这在实际应用中也是不能容忍
的。 本科毕业设计说明书(论文) 第 3 页 共 44 页 在线评测系统国内外研究现状(2):http://www.youerw.com/yanjiu/lunwen_3092.html