CN111723323A - 一种在线考试系统试卷答案数据传输方法及装置 - Google Patents
一种在线考试系统试卷答案数据传输方法及装置 Download PDFInfo
- Publication number
- CN111723323A CN111723323A CN202010529006.3A CN202010529006A CN111723323A CN 111723323 A CN111723323 A CN 111723323A CN 202010529006 A CN202010529006 A CN 202010529006A CN 111723323 A CN111723323 A CN 111723323A
- Authority
- CN
- China
- Prior art keywords
- answer data
- test paper
- actor object
- answer
- modified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 168
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000005540 biological transmission Effects 0.000 claims abstract description 26
- 238000012795 verification Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Educational Technology (AREA)
- Strategic Management (AREA)
- Educational Administration (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本发明提出了一种在线考试系统试卷答案数据传输方法及装置。包括:获取试卷答案数据,并建立Actor对象A以及Actor对象B;通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B;Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。本发明通过利用WebSocket连接以及后台Play程序实现对试卷答案数据传输安全性的提高,同时提高了整个系统的容错率,提升用户体验。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种在线考试系统试卷答案数据传输方法及装置。
背景技术
随着互联网技术的发展,在线考试越来越流行。相比与传统线下纸质考试,在线考试不仅成本低、效率高、快捷方便、省时省力,打破了时间和地域的限制,而且可以自动判卷出成绩,并提供精准的考试报表分析。市面上的在线考试系统种类繁多,良莠不齐,由于自主开发相对较易,很多机构都有自己的在线考试系统。除了防作弊难以实现外,在线考试系统还存在稳定性不足的问题。例如,有些系统在考试过程中可能会因高负荷而卡顿或崩溃,有些系统在刷新浏览器后已有的答案会全部丢失。
在线考试系统本质上是一个Web应用,如果开发者使用Java语言进行开发,则基本都会选择Spring框架。传统的Spring MVC基于Servlet技术,每一个请求都要占用一个线程,而服务器可提供的线程数是有限的,这就导致单个Spring MVC应用不可能提供太大的并发量。这就导致了在线考试系统试卷答案数据传输慢,而且容错率低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
有鉴于此,本发明提出了一种在线考试系统试卷答案数据传输方法及装置,旨在解决现有技术无法通过WebSocket连接以及Play程序来提高的在线考试系统试卷答案数据传输安全性的技术问题。
本发明的技术方案是这样实现的:
一方面,本发明提供了一种在线考试系统试卷答案数据传输方法,所述在线考试系统试卷答案数据传输方法包括以下步骤:
S1,获取试卷答案数据,并建立Actor对象A以及Actor对象B;
S2,通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B;
S3,Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。
在以上技术方案的基础上,优选的,步骤S1中,获取试卷答案数据,并建立Actor对象A以及Actor对象B之前,还包括以下步骤,Web前端从后台获取考生的试卷答案数据,所述考生的试卷答案数据包括:考生id、考试id、题目id、题目答案以及答题时间戳,将该试卷答案数据保存到LocalStorage中,并与后台Play程序建立WebSocket连接。
在以上技术方案的基础上,优选的,步骤S1中,获取试卷答案数据,并建立Actor对象A以及Actor对象B,还包括以下步骤,后台Play程序获取WebSocket连接建立指令,根据该WebSocket连接建立指令建立Actor对象A以及Actor对象B。
在以上技术方案的基础上,优选的,步骤S2中,通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B,还包括以下步骤,通过Actor对象A对试卷答案数据进行正确性验证,当正确性验证通过时,记录当前时刻,并根据当前时刻对试卷答案数据中的答题时间戳进行修改,获取修改后的试卷答案数据,并转发试卷答案数据给Actor对象B,当正确性验证不通过时,丢弃该试卷答案数据。
在以上技术方案的基础上,优选的,步骤S3中,Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面,还包括以下步骤,Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,Actor对象B会生成特定格式消息并反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面;当存储失败时,Actor对象B会不断进行重新存储操作,直至存储成功。
在以上技术方案的基础上,优选的,当存储成功时,Actor对象B会生成特定格式消息并反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面,还包括以下步骤,Actor对象A接收到特定格式消息后,对该特定格式消息进行验证,当验证通过时,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。
在以上技术方案的基础上,优选的,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面之后,还包括以下步骤,答题页面接收到修改后的试卷答案数据后,根据该修改后的试卷答案数据对LocalStorage中存储的试卷答案数据进行修改,并向考生发送提示。
更进一步优选的,所述在线考试系统试卷答案数据传输装置包括:
获取模块,用于获取试卷答案数据,并建立Actor对象A以及Actor对象B;
验证模块,用于通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B;
转发模块,用于Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。
第二方面,所述在线考试系统试卷答案数据传输方法还包括一种设备,所述设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的在线考试系统试卷答案数据传输方法程序,所述在线考试系统试卷答案数据传输方法程序配置为实现如上文所述的在线考试系统试卷答案数据传输方法的步骤。
第三方面,所述在线考试系统试卷答案数据传输方法还包括一种介质,所述介质为计算机介质,所述计算机介质上存储有在线考试系统试卷答案数据传输方法程序,所述在线考试系统试卷答案数据传输方法程序被处理器执行时实现如上文所述的在线考试系统试卷答案数据传输方法的步骤。
本发明的一种在线考试系统试卷答案数据传输方法相对于现有技术具有以下有益效果:
(1)通过使用基于Reactive模型的Play框架进行开发,不仅可以提升单个应用并发连接数,还方便对应用进行水平扩展,因此能够更好地满足大规模用户量的在线考试需求。
(2)通过采用WebSocket对考试答案进行实时提交,很大程度上避免了传统考试系统一次提交全部答案的风险。考生在答题过程中,能够实时掌握题目答案的保存情况和网络连接情况,及时发现和解决考试过程中出现的问题,减少不必要的心理恐慌,更加从容地完成考试,提升用户体验。
(3)通过采用高可用、高吞吐、高容错和分布式的Kafka进行存储,不仅有利于提高数据保存的安全性,还能为考试结果的实时分析提供可能性。此外,根据答案提交的时间顺序,可以重建考生的答题过程,从而方便对考生进行行为分析。
(4)通过利用浏览器的LocalStorage存储考题和答案,当出现浏览器关闭、页面刷新或临时断网等情况时,答题页面的内容可以快速本地恢复,方便考生继续进行考试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例方案涉及的硬件运行环境的设备的结构示意图;
图2为本发明在线考试系统试卷答案数据传输方法第一实施例的流程示意图;
图3为本发明在线考试系统试卷答案数据传输方法流程示意图;
图4为本发明在线考试系统试卷答案数据传输方法第一实施例的功能模块示意图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
如图1所示,该设备可以包括:处理器1001,例如中央处理器(Central ProcessingUnit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对设备的限定,在实际应用中设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及在线考试系统试卷答案数据传输方法程序。
在图1所示的设备中,网络接口1004主要用于建立设备与存储在线考试系统试卷答案数据传输方法系统中所需的所有数据的服务器的通信连接;用户接口1003主要用于与用户进行数据交互;本发明在线考试系统试卷答案数据传输方法设备中的处理器1001、存储器1005可以设置在在线考试系统试卷答案数据传输方法设备中,所述在线考试系统试卷答案数据传输方法设备通过处理器1001调用存储器1005中存储的在线考试系统试卷答案数据传输方法程序,并执行本发明实施提供的在线考试系统试卷答案数据传输方法。
结合图2,图2为本发明在线考试系统试卷答案数据传输方法第一实施例的流程示意图。
本实施例中,所述在线考试系统试卷答案数据传输方法包括以下步骤:
S10:获取试卷答案数据,并建立Actor对象A以及Actor对象B。
应当理解的是,Web前端从后台获取考生的试卷答案数据,初始化答题页面,保存试卷答案数据到浏览器的LocalStorage中,并建立与考试后台Play程序的WebSocket连接。
应当理解的是,LocalStorage就是浏览器中的一个存储数据的模块,用于对浏览器中的一些缓存数据进行存储,以保证用户使用浏览器时的数据安全。
应当理解的是,当考生完成某一题的作答或修改后,对应的JavaScript方法被触发执行,会将包含考生id、考试id、题目id、题目答案、答题时间戳等字段的特定格式答题信息保存到浏览器的LocalStorage中,并通过WebSocket发送给后台的Play程序。
应当理解的是,每次新建一个WebSocket连接,Play程序都会创建一个新的Actor对象(连接断开后,该对象会被Play自动销毁)以及一个Actor对象B,此处命名为A,负责与WebSocket的另一端进行交互。
应当理解的是,一般情况下,Actor对象B只存在一个用于对数据进行处理,但是当系统检测到需要处理的数据量过大,一个Actor对象B处理不过来时,会根据需要处理的数据量来增加Actor对象B。
S20:通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B。
应当理解的是,当对象A接收到Web端发送的答题信息后,会对答题信息的格式正确性进行验证(若验证不通过,则直接丢弃),然后修改答题时间戳为当前时刻(即统一答题时间为服务器收到消息的时刻),接着转发给另一个Actor对象B。
应当理解的是,对象A修改答题时间戳为当前时刻,此处提到的当前时刻是指对象A接收到Web端发送的答题信息并完成验证的时刻,然后将这个时刻记录并对答题时间戳进行修改,这样是为了提高这个系统的协调统一性。
应当理解的是,Actor对象B本质上是一个acks参数设置为“-1”的Kafka生产者,负责接收所有A对象转发的答题信息,并将其安全存储到Kafka中(若存储失败,则对象B会不断重试)。当某一条答题信息被成功存储到Kafka后,对象B会发送包含答题信息的特定格式消息给对应的A对象,后者收到消息后通过WebSocket将提取到的答题信息转发给Web前端答题页面。
应当理解的是,此处若存储失败,则对象B会模拟对象A给自己发送修改后的试卷答案数据的场景,实际上对象B就是将修改后的试卷答案数据重复了一遍安全存储到Kafka中的流程,就这样不断重复,直到成功存储为止。
应当理解的是,acks参数设置为“-1”是为了更好保证整个数据传输过程的安全性,除此之外acks参数还可以设置为“0”以及“1”,但是相对而言,acks参数设置为“-1”的安全性是最高的,此处的acks参数设置可以由管理员事先进行设置。
S30:Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。
应当理解的是,本实施例提到的方法本质上是对学生在网上进行试卷作答的答案进行传输,主要针对目标是学生的答案数据,本实施例的方法提高了答案数据传输过程中的安全性,同时实时对学生选择的答案进行保存,并进行相对应提示,提高了用户体验。
应当理解的是,答题页面收到WebSocket中的答题信息后,会将LocalStorage中的对应答题信息替换为接收到的信息,并将页面上的对应题目进行特殊标记,以提示考生该题已实时保存。在答题过程中,若考生关闭、刷新答题页面或跳转到其它页面,WebSocket连接会断开。当考生重新进入答题页面后,对应的方法会被再次触发,具体作用包括从LocalStorage中恢复题目和保存的答案,以及与后台重建WebSocket连接。若LocalStorage中没有题目和答案,则再次从后台请求本次考试的题目和保存的答案数据,保存到LocalStorage中,并恢复答题页面。
应当理解的是,当考试结束时间已到或考生点击提交试卷按钮并确认提交后,当前页面被冻结,10秒倒计时提醒考生勿对当前页面进行关闭或刷新操作,并将LocalStorage中未被保存的所有答题信息通过WebSocket发送给后台。
应当理解的是,倒计时完成后,浏览器显示考试结束信息并跳转到其它页面,本实施例流程图如图3所示。
应当理解的是,在答题过程中,可能由于网络原因导致WebSocket断开连接,此时答题页面会触发对应的方法,采用弹框形式及时提醒考生。考生可点击页面上的断线重连,恢复WebSocket连接并继续答题。若暂时无法恢复网络连接,考生可继续答题,并稍后手动重试WebSocket连接。页面上可添加一个提交未保存答案的按钮,一旦WebSocket连接恢复正常,考生可一键提交。
应当理解的是,若考试时间内发生无法恢复的断网、机器软硬件故障或断电等情况,考生可在其它设备上重新进入本次考试,答题页面会从后台恢复题目和保存的答案。
需要说明的是,以上仅为举例说明,并不对本申请的技术方案构成任何限定。
通过上述描述不难发现,本实施例通过获取试卷答案数据,并建立Actor对象A以及Actor对象B;通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B;Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。本实施例通过利用WebSocket连接以及后台Play程序实现对试卷答案数据传输安全性的提高,同时提高了整个系统的容错率,提升用户体验。
此外,本发明实施例还提出一种在线考试系统试卷答案数据传输装置。如图4所示,该在线考试系统试卷答案数据传输装置包括:获取模块10、验证模块20、转发模块30。
获取模块10,用于获取试卷答案数据,并建立Actor对象A以及Actor对象B;
验证模块20,用于通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B;
转发模块30,用于Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。
此外,需要说明的是,以上所描述的装置实施例仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的在线考试系统试卷答案数据传输方法,此处不再赘述。
此外,本发明实施例还提出一种介质,所述介质为计算机介质,所述计算机介质上存储有在线考试系统试卷答案数据传输方法程序,所述在线考试系统试卷答案数据传输方法程序被处理器执行时实现如下操作:
S1,获取试卷答案数据,并建立Actor对象A以及Actor对象B;
S2,通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B;
S3,Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。
进一步地,所述在线考试系统试卷答案数据传输方法程序被处理器执行时还实现如下操作:
Web前端从后台获取考生的试卷答案数据,所述考生的试卷答案数据包括:考生id、考试id、题目id、题目答案以及答题时间戳,将该试卷答案数据保存到LocalStorage中,并与后台Play程序建立WebSocket连接。
进一步地,所述在线考试系统试卷答案数据传输方法程序被处理器执行时还实现如下操作:
后台Play程序获取WebSocket连接建立指令,根据该WebSocket连接建立指令建立Actor对象A以及Actor对象B。
进一步地,所述在线考试系统试卷答案数据传输方法程序被处理器执行时还实现如下操作:
通过Actor对象A对试卷答案数据进行正确性验证,当正确性验证通过时,记录当前时刻,并根据当前时刻对试卷答案数据中的答题时间戳进行修改,获取修改后的试卷答案数据,并转发试卷答案数据给Actor对象B,当正确性验证不通过时,丢弃该试卷答案数据。
进一步地,所述在线考试系统试卷答案数据传输方法程序被处理器执行时还实现如下操作:
Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,Actor对象B会生成特定格式消息并反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面;当存储失败时,Actor对象B会不断进行重新存储操作,直至存储成功。
进一步地,所述在线考试系统试卷答案数据传输方法程序被处理器执行时还实现如下操作:
Actor对象A接收到特定格式消息后,对该特定格式消息进行验证,当验证通过时,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。
进一步地,所述在线考试系统试卷答案数据传输方法程序被处理器执行时还实现如下操作:
答题页面接收到修改后的试卷答案数据后,根据该修改后的试卷答案数据对LocalStorage中存储的试卷答案数据进行修改,并向考生发送提示。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种在线考试系统试卷答案数据传输方法,其特征在于:包括以下步骤;
S1,获取试卷答案数据,并建立Actor对象A以及Actor对象B;
S2,通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B;
S3,Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。
2.如权利要求1所述的在线考试系统试卷答案数据传输方法,其特征在于:步骤S1中,获取试卷答案数据,并建立Actor对象A以及Actor对象B之前,还包括以下步骤,Web前端从后台获取考生的试卷答案数据,所述考生的试卷答案数据包括:考生id、考试id、题目id、题目答案以及答题时间戳,将该试卷答案数据保存到LocalStorage中,并与后台Play程序建立WebSocket连接。
3.如权利要求2所述的在线考试系统试卷答案数据传输方法,其特征在于:步骤S1中,获取试卷答案数据,并建立Actor对象A以及Actor对象B,还包括以下步骤,后台Play程序获取WebSocket连接建立指令,根据该WebSocket连接建立指令建立Actor对象A以及Actor对象B。
4.如权利要求3所述的在线考试系统试卷答案数据传输方法,其特征在于:步骤S2中,通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B,还包括以下步骤,通过Actor对象A对试卷答案数据进行正确性验证,当正确性验证通过时,记录当前时刻,并根据当前时刻对试卷答案数据中的答题时间戳进行修改,获取修改后的试卷答案数据,并转发试卷答案数据给Actor对象B,当正确性验证不通过时,丢弃该试卷答案数据。
5.如权利要求4所述的在线考试系统试卷答案数据传输方法,其特征在于:步骤S3中,Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面,还包括以下步骤,Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,Actor对象B会生成特定格式消息并反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面;当存储失败时,Actor对象B会不断进行重新存储操作,直至存储成功。
6.如权利要求5所述的在线考试系统试卷答案数据传输方法,其特征在于:当存储成功时,Actor对象B会生成特定格式消息并反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面,还包括以下步骤,Actor对象A接收到特定格式消息后,对该特定格式消息进行验证,当验证通过时,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。
7.如权利要求6所述的在线考试系统试卷答案数据传输方法,其特征在于:通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面之后,还包括以下步骤,答题页面接收到修改后的试卷答案数据后,根据该修改后的试卷答案数据对LocalStorage中存储的试卷答案数据进行修改,并向考生发送提示。
8.一种在线考试系统试卷答案数据传输装置,其特征在于,所述在线考试系统试卷答案数据传输装置包括:
获取模块,用于获取试卷答案数据,并建立Actor对象A以及Actor对象B;
验证模块,用于通过Actor对象A对试卷答案数据进行正确性验证,根据验证结果,对试卷答案数据进行修改,获取修改后的试卷答案数据并将该修改后的试卷答案数据转发给Actor对象B;
转发模块,用于Actor对象B将修改后的试卷答案数据存储至Kafka中,当存储成功时,同步反馈至Actor对象A,通过Actor对象A将修改后的试卷答案数据转发至Web前端答题页面。
9.一种设备,其特征在于,所述设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的在线考试系统试卷答案数据传输方法程序,所述在线考试系统试卷答案数据传输方法程序配置为实现如权利要求1至7任一项所述的在线考试系统试卷答案数据传输方法的步骤。
10.一种介质,其特征在于,所述介质为计算机介质,所述计算机介质上存储有在线考试系统试卷答案数据传输方法程序,所述在线考试系统试卷答案数据传输方法程序被处理器执行时实现如权利要求1至7任一项所述的在线考试系统试卷答案数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010529006.3A CN111723323B (zh) | 2020-06-11 | 2020-06-11 | 一种在线考试系统试卷答案数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010529006.3A CN111723323B (zh) | 2020-06-11 | 2020-06-11 | 一种在线考试系统试卷答案数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723323A true CN111723323A (zh) | 2020-09-29 |
CN111723323B CN111723323B (zh) | 2021-02-19 |
Family
ID=72566402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010529006.3A Active CN111723323B (zh) | 2020-06-11 | 2020-06-11 | 一种在线考试系统试卷答案数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723323B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604254A (zh) * | 2022-12-15 | 2023-01-13 | 济南丽阳神州智能科技有限公司(Cn) | 一种断点续考处理方法及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042767A (zh) * | 2006-02-28 | 2007-09-26 | 国际商业机器公司 | web服务数据库群集体系结构及其方法 |
CN102256285A (zh) * | 2011-01-21 | 2011-11-23 | 珠海世纪鼎利通信科技股份有限公司 | 一种移动通信网络自动路测系统 |
US20150180806A1 (en) * | 2013-12-20 | 2015-06-25 | Rovio Entertainment Ltd. | Stateless message routing |
US9792250B1 (en) * | 2015-04-21 | 2017-10-17 | National Technology & Engineering Solutions Of Sandia, Llc | System on chip module configured for event-driven architecture |
CN110231995A (zh) * | 2019-05-20 | 2019-09-13 | 平安科技(深圳)有限公司 | 一种基于Actor模型的任务调度方法、装置及存储介质 |
CN110737498A (zh) * | 2019-10-16 | 2020-01-31 | 黑龙江鑫联华信息股份有限公司 | 一种基于虚拟容器图形界面的大数据、人工智能在线考试方法及系统 |
US10621157B2 (en) * | 2016-10-10 | 2020-04-14 | AlphaPoint | Immediate order book failover |
-
2020
- 2020-06-11 CN CN202010529006.3A patent/CN111723323B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042767A (zh) * | 2006-02-28 | 2007-09-26 | 国际商业机器公司 | web服务数据库群集体系结构及其方法 |
CN102256285A (zh) * | 2011-01-21 | 2011-11-23 | 珠海世纪鼎利通信科技股份有限公司 | 一种移动通信网络自动路测系统 |
US20150180806A1 (en) * | 2013-12-20 | 2015-06-25 | Rovio Entertainment Ltd. | Stateless message routing |
US9792250B1 (en) * | 2015-04-21 | 2017-10-17 | National Technology & Engineering Solutions Of Sandia, Llc | System on chip module configured for event-driven architecture |
US10621157B2 (en) * | 2016-10-10 | 2020-04-14 | AlphaPoint | Immediate order book failover |
CN110231995A (zh) * | 2019-05-20 | 2019-09-13 | 平安科技(深圳)有限公司 | 一种基于Actor模型的任务调度方法、装置及存储介质 |
CN110737498A (zh) * | 2019-10-16 | 2020-01-31 | 黑龙江鑫联华信息股份有限公司 | 一种基于虚拟容器图形界面的大数据、人工智能在线考试方法及系统 |
Non-Patent Citations (4)
Title |
---|
IT屋: "Scala,Play,Akka,Websocket:如何通过websocket传递actor消息(Scala, Play, Akka, Websocket: how to pass actor messages through websocket)", 《HTTPS://WWW.IT1352.COM/1752303.HTML》 * |
PURIPUNPINYO等: "Design, Prototype Implementation, and Comparison of Scalable Web-Push Architectures on Amazon Web Services Using the Actor Model", 《2017 25TH INTERNATIONAL CONFERENCE ON SYSTEMS ENGINEERING》 * |
XIN WANG等: "Application of WebSocket in English Test System", 《11TH ASIAN CONFERENCE ON CHEMICAL SENSORS: (ACCS2015)》 * |
飞末: "PLAY2.6-SCALA(九) WebSockets", 《HTTPS://WWW.CNBLOGS.COM/FEIYUMO/P/9146508.HTML》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604254A (zh) * | 2022-12-15 | 2023-01-13 | 济南丽阳神州智能科技有限公司(Cn) | 一种断点续考处理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111723323B (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10523784B2 (en) | Capturing and replaying application sessions using resource files | |
US9449525B2 (en) | Systems and methods for testing over a distributed network | |
US20170337116A1 (en) | Application testing on different device types | |
CN110378812A (zh) | 一种自适应在线教育系统及方法 | |
DE112011103486T5 (de) | Kontinuierliche Anwendungsausführung zwischen mehreren Vorrichtungen | |
US10795793B1 (en) | Method and system for simulating system failures using domain-specific language constructs | |
CN102509482A (zh) | 基于移动终端架构的多媒体教学系统 | |
CN111723323B (zh) | 一种在线考试系统试卷答案数据传输方法及装置 | |
CN108270646B (zh) | 一种检测电子班牌网络的方法及装置 | |
WO2015184787A1 (zh) | 网络课堂故障处理方法、装置及系统 | |
CN108122439B (zh) | 一种云课堂实验方法和装置 | |
CN118042232A (zh) | 一种基于知识点的视频播放方法、装置及电子设备 | |
CN113535535A (zh) | 游戏服务器的测试方法、装置、系统和计算机存储介质 | |
CN108881373B (zh) | 一种基于mvc框架的前端数据流处理方法 | |
CN112783315A (zh) | 实现用于班组培训的知识竞赛的方法、装置和系统 | |
CN115382216A (zh) | 一种可视化游戏数据调试方法和系统 | |
CN112363661B (zh) | 魔法表情数据处理方法、装置及电子设备 | |
US20140147822A1 (en) | Computerized teaching and learning diagnosis tool | |
CN114817059A (zh) | 一种网页程序测试方法、装置、设备及存储介质 | |
CN105118341A (zh) | 一种网络课堂教学方法及系统 | |
CN112199229A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN111068315A (zh) | 一种帧同步问题的定位方法、装置及电子设备 | |
CN111796846A (zh) | 信息更新方法、装置、终端设备及可读存储介质 | |
CN111311456A (zh) | 辅助学习方法、装置、计算机可读存储介质及电子设备 | |
CN110995565A (zh) | 一种基于mvvm架构的页面显示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 430000 room 01, floor 2, building A14, phase 1-1, Wuhan National Geospatial Information Industrialization Base (New Area), No. 6, Beidou Road, East Lake New Technology Development Zone, Wuhan City, Hubei Province Patentee after: Wuhan Meihe Yisi Digital Technology Co.,Ltd. Address before: Room 01, 2 / F, building A14, phase 1.1, Wuhan National Geospatial Information Industrialization Base (New Area), no.6, Beidou Road, Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430000 Patentee before: HUBEI MEIHE YISI EDUCATION TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |