[发明专利]基于手机的实时抢答器实现方法在审
申请号: | 201710273264.8 | 申请日: | 2017-04-19 |
公开(公告)号: | CN107122445A | 公开(公告)日: | 2017-09-01 |
发明(设计)人: | 张佳钰;史晨阳;许建秋 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 手机 实时 抢答 实现 方法 | ||
1.该实时抢答器的特点是借助选手自己的手机完成答题,不需要额外安装软件,简单快捷;网站借助MySQL数据库完成对参赛选手信息,比赛题目和答案,选手答题等信息的存储;前端界面通过HTML实现;后台通过PHP读取数据库信息,生成题目界面并在选手答题后返回选手答题的结果;这个技术降低了对设备的高要求性,选手答题简单快捷,并采用一定的技术保证比赛的公正公平;实现流程主要由以下四部分组成:
(1)题目导入:赛前工作人员通过后台管理系统录入题目,选项和正确答案,存储到数据库中;然后生成每道题的答题界面链接,工作人员利用现有技术将链接放入到二维码中,留作比赛时使用;
(2)选手注册和登陆:比赛前,工作人员利用网络上现有技术将注册页面的链接放到二维码中,选手线下扫描二维码完成注册报名,使得比赛变得易于推广,提高参与度;比赛当日,选手再次通过二维码进入比赛登陆界面,完成登陆后,等待答题;
(3)选手答题:主持人宣布开始回答某道题时,后台工作人员在比赛现场大屏幕上放出该题的二维码,选手扫描二维码后网页跳转到答题界面开始答题;二维码会随着题目变化进行更新,每道题的答题链接对应一个专属的二维码;每位选手都有10s的时间回答问题,时间结束后,系统自动提交答案,在答题过程中,选手被要求停留在答题界面,如果离开答题界面则被系统判为正在借助网络搜索答案,系统就会锁定页面,无法修改答案,并立即提交;
(4)返回结果:每道题答完后,后台会自动生成答对者名单,保存在后台中,在主持人需要时,在现场大屏幕上显示;所有问题答题结束后,根据比赛规则和选手答题情况,生成最后的比赛结果;对于每一道具体的题目,可以统计出每道题的正确率和平均答题时间,并根据答题情况实时显示统计结果。
2.注册和登陆主要通过HTML的表单和PHP来实现;参赛者在注册界面填写HTML表单,当参赛选手点击submit按钮后,表单数据发送到对应的PHP文件中,PHP文件连接数据库,函数执行INSERT INTO语句,一条新的记录会添加到数据库表中;另外在提交用户填写的数据外,PHP文件中调用get_client_ip函数,获取用户端的IP地址,作为用户的标识信息,或者用来限制每个IP的注册次数;选手信息存放在数据库中的user数据表中,数据表中有id,phone_num(手机号码),ip(ip地址),user_name(姓名),user_password(登陆密码),add_time(注册时间)。
3.选手扫描二维码打开某一题的答题界面,页面会出现倒计时,以10s为例;打开页面后,页面先向后台发一个请求得到起始时间和终止时间通过JavaScript变化数字;在10s之内,选手可以答题,如果提前答完,可以点击提交按钮完成答案提交,后台会记录当前的服务器时间,并将选手的答案和提交时间插入到数据库中;如果时间结束选手没有自动提交,页面会自动提交;选手答案被存储在数据库中的user_answer数据表中,数据表中有id,q_id(题目的id),answer(所作的回答),time(提交时间)。
4.利用选手自己的手机答题,最大的问题就是防止选手利用网络进行作弊行为;鉴于无法限制手机的网络使用,因此采取将选手的网页限定在答题界面的方式解决选手作弊问题:HTML5里页面可见性接口为我们提供了一个方法,我们可以使用visibilitychange页面事件来判断当前页面可见性的状态,并针对性的执行任务;document.hidden属性显示页面是否为选手当前观看的页面,值为ture或false;document.visibilityState的值要么是visible(表明页面为浏览器当前激活tab,而且窗口不是最小化状态),要么是hidden(页面不是当前激活tab页面,或者窗口最小化了);我们通过监听visibilitychange这个事件来防止选手作弊,当选手打开其他页面而离开答题界面时,会触发visibilitychange事件,监听器从而执行动作,锁定答题界面并提交答案。
5.后台管理部分主要实现题目的添加,答题结果的生成,数据的存储借助于MySQL数据库;比赛前工作人员在后台中添加题目,题目类型,选项(如果有),正确答案;其中题目类型包括单项选择,多项选择和填空;题目可以是文本内容也可以是图片;题目的导入通过JSON格式实现,然后再将JSON格式转化为对象,插入到数据库中;题目的存储由三张数据表组成,question数据表,choices数据表和ture_answer数据表,question数据表中有id(题目编号),question(题目内容),version(题目版本),type(题目类型),add_time(添加时间)和allow_time(答题时间,默认10s);choices数据表有id,q_id(对应question数据表中的id,通过此将题目和选项联系起来)和choice(题目选项);true_answer数据表有id,q_id(对应question数据表中的id,通过此将题目与正确答案联系起来)和true_answer(正确答案);选手提交答案后,利用PHP写的函数来统计成绩,成绩由两部分组成:正确性和时间,在正确性的前提下比较答题时间;每道题答完之后,后台将会把答对者的名单返回给现场的主持人,名单上有答对者的姓名和答题时间;比赛结束后,后台自动统计所有选手的成绩,假如出现分数相同的情况,答题时间少的人优胜。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710273264.8/1.html,转载请声明来源钻瓜专利网。