Feb
10
决定了毕设做这个东西。WOJ3.0。
起名Land,不是我自己想出来的,忘了是谁贡献的了。之所以叫做Land,看如下的woj名字的演化就知道原因了:D
noah(v1.0) -> oak(ark?)(v1.1) -> flood(v2.0) -> land(v3.0)
去年暑假还写了个不成器的judge然后就荒了,不过也算是打个基础。
这次要更详细地考虑具体的OJ系统架构了。
前端就apache+php吧。如果有空可以试试加一层lighttpd。需要完成的基本功能就是题目相关(包括统计数据),比赛(虚拟比赛?),站内信,题目讨论,后台管理。模板尽量参考Noah的,保持风格统一。这个是代码量最大的,但是应该不难。主要是要实现容易扩展的架构,使得将来增加新功能比较方便,不再需要重写OJ了。
数据库还是MySQL,比较熟。得有个数据转换工具,把noah的数据转过来。
Daemon可以用java,我给oak重写的那个版本拿来改改就能用。
希望有一个judge wrapper负责数据库相关的处理,让judge只负责judge。看起来用php挺好的。
Judge可以在hustoj和之前那个oj的基础上写一个,不过还得有进一步的拆分。每个语言一个judge,因为编译、执行、监控可能都有较大区别。把判断AC/PE/WA的功能和SPJ的功能也独立出来,由wrapper来组装使用。
可能还需要一个补单的,有可能数据库中存在一些还没有judge并且不会再被自动judge的item。
此外有点想搞一个memcached,减轻在比赛时mysql的负担。
目前想到这些,这两天再仔细考虑考虑,就要动手做了。希望有人多提意见和建议。
p.s. 祈祷这个项目不会烂尾...
转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php 。
起名Land,不是我自己想出来的,忘了是谁贡献的了。之所以叫做Land,看如下的woj名字的演化就知道原因了:D
noah(v1.0) -> oak(ark?)(v1.1) -> flood(v2.0) -> land(v3.0)
去年暑假还写了个不成器的judge然后就荒了,不过也算是打个基础。
这次要更详细地考虑具体的OJ系统架构了。
前端就apache+php吧。如果有空可以试试加一层lighttpd。需要完成的基本功能就是题目相关(包括统计数据),比赛(虚拟比赛?),站内信,题目讨论,后台管理。模板尽量参考Noah的,保持风格统一。这个是代码量最大的,但是应该不难。主要是要实现容易扩展的架构,使得将来增加新功能比较方便,不再需要重写OJ了。
数据库还是MySQL,比较熟。得有个数据转换工具,把noah的数据转过来。
Daemon可以用java,我给oak重写的那个版本拿来改改就能用。
希望有一个judge wrapper负责数据库相关的处理,让judge只负责judge。看起来用php挺好的。
Judge可以在hustoj和之前那个oj的基础上写一个,不过还得有进一步的拆分。每个语言一个judge,因为编译、执行、监控可能都有较大区别。把判断AC/PE/WA的功能和SPJ的功能也独立出来,由wrapper来组装使用。
可能还需要一个补单的,有可能数据库中存在一些还没有judge并且不会再被自动judge的item。
此外有点想搞一个memcached,减轻在比赛时mysql的负担。
目前想到这些,这两天再仔细考虑考虑,就要动手做了。希望有人多提意见和建议。
p.s. 祈祷这个项目不会烂尾...
欢迎扫码关注:
转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php 。
123
2011-1-24 13:35
分页: 1/1 1