想做一个在线考试系统,用C/S架构

12 views
Skip to first unread message

曹源

unread,
Nov 20, 2009, 9:02:02 PM11/20/09
to python-cn
服务端用来根据题库随机生成试卷,并且试卷可以在服务器上打印出纸质档
客户端要求身份验证,下载试卷,在线考试,提交答案。
 
最后想问一下:
题库能不能不存在数据库里面,就用一般的文档?XML能否用来组织题库?
 

limodou

unread,
Nov 20, 2009, 9:05:43 PM11/20/09
to pyth...@googlegroups.com
2009/11/21 曹源 <lucas...@gmail.com>:

当然可以放在数据库里了,用xml也可以,不过加工不如数据库方便。

--
I like python!
UliPad <<The Python Editor>>: http://code.google.com/p/ulipad/
UliWeb <<simple web framework>>: http://uliwebproject.appspot.com
My Blog: http://hi.baidu.com/limodou

limodou

unread,
Nov 20, 2009, 9:06:18 PM11/20/09
to pyth...@googlegroups.com
2009/11/21 limodou <lim...@gmail.com>:

> 2009/11/21 曹源 <lucas...@gmail.com>:
>> 服务端用来根据题库随机生成试卷,并且试卷可以在服务器上打印出纸质档
>> 客户端要求身份验证,下载试卷,在线考试,提交答案。
>>
>> 最后想问一下:
>> 题库能不能不存在数据库里面,就用一般的文档?XML能否用来组织题库?
>>
>
> 当然可以放在数据库里了,用xml也可以,不过加工不如数据库方便。
>

另外即然是在线考试,怎么还要下载试卷?

can xiang

unread,
Nov 20, 2009, 9:16:27 PM11/20/09
to pyth...@googlegroups.com
以前有人问道过相似的问题,当时的问题是瓶颈在交卷的并发上。后来我看到RabbitMQ,觉得是解决这个问题的最佳技术手段。但是如果你没有并发问题也就没有关系了。

2009/11/21 limodou <lim...@gmail.com>:

limodou

unread,
Nov 20, 2009, 9:22:16 PM11/20/09
to pyth...@googlegroups.com
2009/11/21 can xiang <xian...@gmail.com>:

> 以前有人问道过相似的问题,当时的问题是瓶颈在交卷的并发上。后来我看到RabbitMQ,觉得是解决这个问题的最佳技术手段。但是如果你没有并发问题也就没有关系了。
>

为什么在交卷的并发上?

曹源

unread,
Nov 20, 2009, 9:52:20 PM11/20/09
to pyth...@googlegroups.com
我想法是把试卷下载到本地以后在考试,最后只提交答案,不是一直保持与服务器的连接
用Sqlite可以么?也就是服务器在数据库里生存试题的时候读一下数据库,生成完了,就用不着数据库了。

2009/11/21 limodou <lim...@gmail.com>

曹源

unread,
Nov 20, 2009, 9:53:33 PM11/20/09
to pyth...@googlegroups.com
还有打印的问题,我刚才看了一下Geraldo 好像是基于web的。


2009/11/21 曹源 <lucas...@gmail.com>

can xiang

unread,
Nov 20, 2009, 10:07:43 PM11/20/09
to pyth...@googlegroups.com
在考试结束的时候所有人一起交卷的缘故吧。


2009/11/21 limodou <lim...@gmail.com>:

gamexg hzly

unread,
Nov 20, 2009, 11:32:20 PM11/20/09
to pyth...@googlegroups.com
就应该是这样啊。
获得题目列表,客户端一个一个的做,最后一起提交。

2009/11/21 曹源 <lucas...@gmail.com>:

四不象

unread,
Nov 20, 2009, 11:56:19 PM11/20/09
to pyth...@googlegroups.com
提交试卷会有很大开销吗?
即便如此在客户端进行排队提交也不难呀

Kent

unread,
Nov 24, 2009, 6:12:44 AM11/24/09
to pyth...@googlegroups.com
没做过这样的应用,但是使用过。
其实并发上应该没什么问题吧,就是大家一起提交也没事。

其实这类东西很多规则上的条款比技术重要。比如,虽然是WEB的,最好不要直接通过浏览器使用,最好用一个应用程序包一下。我以前考驾照理论就是这种系统,作为考生,这个软件不能被关闭,而且原则上不能使用操作系统的或者除考试软件外第三方的软件功能,比如什么WINDOWS 记事本阿,什么vi 阿什么计算器阿,当然python也不行哈。甚至浏览器的刷新阿,后退。如果你有应用程序包着,这些功能都可以做到应用程序里。因为,考试这边要杜绝一切可能,因为考生使用软件等问题出现意外。这样一般责任有软件提供方面或者考试组织方负责。考生拔电源,砸机箱是考生的责任。





Best regards,

Kent

Zoom.Quiet

unread,
Nov 24, 2009, 7:21:58 AM11/24/09
to pyth...@googlegroups.com
2009/11/21 limodou <lim...@gmail.com>:

> 2009/11/21 can xiang <xian...@gmail.com>:
>> 以前有人问道过相似的问题,当时的问题是瓶颈在交卷的并发上。后来我看到RabbitMQ,觉得是解决这个问题的最佳技术手段。但是如果你没有并发问题也就没有关系了。
>>
>
> 为什么在交卷的并发上?
>
根儿还是 DB 的锁问题>..

其实根本不用 MQ,自个儿用个内存队列就好,
不论多少先缓存在内存中一点点儿顺序处理就好;
或是直接写到文件中,
每个试卷对应一个文件,
将提交,处理和入库分离进行就好...


--
http://zoomquiet.org 人生苦短? Pythonic!
向靠谱,反脑残! Kaopulity,小白退散! [Kaopulity~= Keep all processes usablity!]

Reply all
Reply to author
Forward
0 new messages