工作交接说明郝宁2015/3/3一.文档资料项目介绍项目名称:测验系统 1.0项目地址:http://svn.yanxiu.net/yanxiu/yanxiu-quiz/trunk概要说明该项目主要为培训业务提供考试服务。试卷分为在线考试和在线测验,随堂测和随堂练,包含一部分调查问卷的功能在里面。考试题目支持单选、多选、判断、填空、简答五种题目。数据字典参照:http://svn.yanxiu.net/yaxniu/yanxiu-quiz/doc/考试系统数据字典 1.doc接口定义参照:http://svn.yanxiu.net/yaxniu/yanxiu-quiz/doc/考试系统接口定义.doc命令清单启动命令:sh /opt/yanxiu/yanxiu-quiz/bin/start.sh (测验系统后台服务) sh /opt/yanxiu/yanxiu-quiz/bin/kill.sh(测验系统后台服务)sh /opt/yanxiu/bin/start-quiz.sh | stop-quiz.sh | restart-quiz.sh (测验系统 WEB RESIN 服务) sh /opt/yanxiu/bin/createQuiz.sh -qid 18000 (测验系统考试静态化命令)环境介绍开发环境:本地开发线上环境:192.168.1.211 192.168.1.95依赖服务单点登录:yanxiu-passportNOSQL 服务: ttserver 存储用户考试过程中的相关状态(答题机会,答题草稿) redis 存储考试相关数据信息(试卷,试题,成绩)系统架构服务器架构代理服务器(Ngnix) + WEB 服务器(Resin),通过 Ngnix 做负载均衡代码设计 MVC 框架:Struts + Spring + Hibernate R P C 框架:Thrift 服务策略 试卷访问采用页面静态化策略安全策略 所有内网接口,采用参数过时时间,加密传输方式在线考试接口 WEB 前端采用 FLASH 插件方式进行数据交互,交互过程采用参数过时时间,加密传输方式具体实现:增加时间戳,加密字符串(参数加密后)同步策略异步同步,失败容错,阻塞队列设计模式 生产者-消费者模式 单例模式二. 代码介绍用户访问(QuizAction.java)页面展示 .quiz() 题目提交 .submitQuiz() 创建试卷 .createQuiz()开始答题 .startQuiz()查看成绩 .viewScore() 培训业务(CreateQuizAction.java)创建/修改试卷 .createQuiz()用户所有测验结果 .p_res()试卷所有测验结果 .quiz_res()取消成绩 .qs_c()注销成绩 .zs_c()三.提交流程第一步:用户答题后,访问提交接口第二步:解析答题信息,计算成绩第三步:同步用户成绩用户成绩同步流程客户端访问成绩同步接口,成绩加入队列服务端读取队列,调用培训接口,同步数据