毕业论文

打赏
当前位置: 毕业论文 > 计算机论文 >

ACM/ICPC智能训练助手(4)

时间:2021-03-04 21:49来源:毕业论文
1.1. 内核 NJUST Open Judge的体系结构类似于微内核操作系统,通过轻量的微内核组织内核扩展以实现业务功能,在内核之上为表示层,用于给最终用户交互。

1.1. 内核

NJUST Open Judge的体系结构类似于微内核操作系统,通过轻量的微内核组织内核扩展以实现业务功能,在内核之上为表示层,用于给最终用户交互。系统的体系结构如图 1 1所示。这一体系结构允许各种粒度的扩展,在目前可以支持很方便地添加内核扩展、添加新的策略、发布新的开放平台API等。

 相比传统的数据层、业务层、表示层三层架构,以及服务器经常使用的请求处理模型而言,基于微内核的体系结构在消息传递上会有更大的开销,但在另一方面,这一体系结构提供了很大的可扩展性,这一扩展性并不仅仅体现在对于功能的扩展上,而是更进一步地,允许各个内核扩展组件拥有最大程度的独立性,从而支持更有针对性的性能优化,如应用内核扩展的分布式部署来提升负载能力等。文献综述

微内核通过MEF框架负责内核拓展(下面简称KEXT)的发现,发现之后根据接口调用每个KEXT的初始化方法,这样可以初始化每一个KEXT。

KEXT相互通信,也可以相互服务。在KEXT开发之前,先声明好KEXT的服务接口以及事件。KEXT加载后,可以通过微内核获得指定类型的KEXT,然后根据约定的接口调用其服务;也可以订阅KEXT约定的事件。

系统原有的KEXT包括:

Problem KEXT:负责题库的管理

Code KEXT:负责代码的存储以及版本控制

User KEXT:负责账户的管理

Judge KEXT:负责提供判题的功能

Online Judge KEXT:负责管理所有Online Judge的提供商(Provider)

Contest KEXT:负责管理ACM/ICPC竞赛

1.2. 表示层

表示层使用ASP.NET MVC 3技术,该技术把一次HTTP请求分为模型、视图、控制器进行分工处理,最终渲染出用户所需要的结果。

ACM/ICPC智能训练助手(4):http://www.youerw.com/jisuanji/lunwen_70848.html
------分隔线----------------------------
推荐内容