由于客户要求当考生答题时,如果客户机不幸当机,则重启或换机后,能把考生的答卷还原至当机前的状态。这样对不同的题型就有不同的处理方法:
选择题、判断题:(1)如果考生每选中一个选项,就将答案保存在服务器数据库中,那对于同时200人考试来说,网络流量会不会过大?
(2)还有没有更好的解决方案?
问答题:如果一道题很长,除了定时保存(比如说每隔5分钟保存一次)外,还有没有更好的方法?而定时保存也是直接写到数据库中吗?还是先放到缓存中?请大家讨论一下。

解决方案 »

  1.   

    定时保存可以先存在文件里面,每个考试的人都有一个临时文件,可以考虑用XML格式,最终提交时
    删除临时文件,存回数据库
      

  2.   

    最好采用 ctrl + s 键进行手动保存。客户端响应这个组合键后,js遍历所有选项,得到数据后再通过xmlhttp发送数据到服务器端,这样做是为了不影响客户端界面操作。在发送中还可以继续答题。网络流量要看使用人数和网络带宽以及机器的好坏决定,直接写数据库是个好办法,这可以确保数据的完整性,当服务器当机时也能保全数据。不过最后还是能不用web就不用web。
      

  3.   

    你可以尝试将题目ID保存再cookie中..每次答题完毕将答案和题目存入cookie...如果不幸死机或者发生意外..下次登陆后重新读取该学生ID..将信息再次读取..没有测试过,,只是个思路..
      

  4.   

    数据量不大,可以考虑cookie
    数据量大的话,可以考虑XML
    不过,一定要在退出或新用户登录时删除之