CN116483548A - 多线程计算机自适应测验方法、装置及计算机设备 - Google Patents
多线程计算机自适应测验方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN116483548A CN116483548A CN202310745513.4A CN202310745513A CN116483548A CN 116483548 A CN116483548 A CN 116483548A CN 202310745513 A CN202310745513 A CN 202310745513A CN 116483548 A CN116483548 A CN 116483548A
- Authority
- CN
- China
- Prior art keywords
- question
- module
- answer
- test
- extraction
- 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 description 255
- 238000000605 extraction Methods 0.000 claims abstract description 180
- 238000000034 method Methods 0.000 claims abstract description 72
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 238000010998 test method Methods 0.000 claims abstract description 10
- 238000012423 maintenance Methods 0.000 claims description 45
- 238000005516 engineering process Methods 0.000 claims description 28
- 230000003044 adaptive effect Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 23
- 230000015654 memory Effects 0.000 claims description 16
- 230000014509 gene expression Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005259 measurement Methods 0.000 claims description 10
- 230000036316 preload Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 230000003321 amplification Effects 0.000 claims description 4
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 4
- 238000009530 blood pressure measurement Methods 0.000 abstract description 15
- 238000011156 evaluation Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000003930 cognitive ability Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 238000013101 initial test Methods 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
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000007115 recruitment Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种多线程计算机自适应测验方法、装置及计算机设备,涉及在线测评技术领域,本发明在进行计算机自适应测验前,要先基于对预设的作答者数量进行压测得到的压测结果,进行云端的抽题服务器的数量扩增,各个抽题服务器用于提供抽题服务,之后即可基于抽题服务和作答前台模块进行计算机自适应测验,其中,抽题服务包括均同时执行多线程任务的抽题站点模块、网络存储模块、运维模块和消息中间件模块。这样基于压测结果进行云端的抽题服务器的数量扩增,以及对算力要求高的抽题服务进行任务拆分,得到多个均能够同时执行多线程任务的模块,解决了因单线程和单进程设置带来的技术上高并发的问题。
Description
技术领域
本发明涉及在线测评技术领域,尤其是涉及一种多线程计算机自适应测验方法、装置及计算机设备。
背景技术
信息量估算和能力值估算都是非常消耗服务器算力的模块,现有的计算机自适应测验专利通常专注于将自适应的测验纳入到测验的流程中,但都是单进程/单线程的设置,这样会导致同时在线人数过多时,线程崩溃、进而作答程序崩溃的情况。
发明内容
本发明的目的在于提供一种多线程计算机自适应测验方法、装置及计算机设备,以解决因单线程和单进程设置带来的技术上高并发的问题。
第一方面,本发明实施例提供了一种多线程计算机自适应测验方法,包括:
基于对预设的作答者数量进行压测得到的压测结果,进行云端的抽题服务器的数量扩增;其中,各个所述抽题服务器用于提供抽题服务,所述抽题服务包括均同时执行多线程任务的抽题站点模块、网络存储模块、运维模块和消息中间件模块;所述抽题站点模块用于基于作答结果数据计算测验中的能力值,以及返回题目综合信息文件至作答前台模块,所述题目综合信息文件包括题目信息和不同能力值对应的抽题参数值;所述作答前台模块用于呈现供作答者作答的题目信息,以及输出和显示作答结果数据;所述网络存储模块用于从所述运维模块预加载相应的多个题目综合信息文件,并按照预设的抽题参数标准,基于测验中的能力值返回相应的题目综合信息文件到所述抽题站点模块;所述运维模块用于管理预先建立的题库数据库中题目的题目综合信息文件;所述消息中间件模块用于基于作答结果数据,生成测验结果和测验报告;
基于所述抽题服务和所述作答前台模块进行计算机自适应测验。
进一步地,所述基于所述抽题服务和所述作答前台模块进行计算机自适应测验,包括:
当作答者在所述作答前台模块启动答题时,所述网络存储模块从所述运维模块预加载对应的多个题目综合信息文件,同时所述作答前台模块向所述抽题站点模块发送第一题的第一抽题请求;
所述抽题站点模块基于所述第一题的第一抽题请求向所述网络存储模块发送第一题的第二抽题请求,并将所述网络存储模块返回的题目综合信息文件返回到所述作答前台模块;
所述作答前台模块基于接收到的题目综合信息文件,呈现第一题的题目信息到作答页面;
当作答者答完当前题目时,所述作答前台模块发送携带有所述当前题目的作答结果数据的下一题的第一抽题请求至所述抽题站点模块;
所述抽题站点模块基于所述下一题的第一抽题请求中的所述当前题目的作答结果数据,计算作答者的当前能力值,并将携带有所述当前题目的作答结果数据和所述当前能力值的下一题的第二抽题请求发送至所述网络存储模块;
所述网络存储模块基于所述下一题的第二抽题请求中的所述当前题目的作答结果数据和所述当前能力值,拉取下一题的题目综合信息文件,并返回所述下一题的题目综合信息文件到所述抽题站点模块;
所述抽题站点模块返回所述下一题的题目综合信息文件到所述作答前台模块;
所述作答前台模块当判定本次测验结束时,向所述消息中间件模块发送测验结束信息;
所述消息中间件模块接收到所述测验结束信息时,基于作答者的所有作答结果数据,生成测验结果和测验报告,并发送至所述作答前台模块。
进一步地,所述网络存储模块从所述运维模块预加载对应的多个题目综合信息文件,同时所述作答前台模块向所述抽题站点模块发送第一题的第一抽题请求,包括:
所述网络存储模块基于从所述作答前台模块获取的测验类型信息和测验部分信息,从所述运维模块预加载对应的多个题目综合信息文件,并以哈希存储缓存在内存中;同时,所述作答前台模块向所述抽题站点模块发送第一题的第一抽题请求,所述第一题的第一抽题请求携带有作答者的个人信息和测验部分信息;其中,测验分为多个部分,所述测验部分信息用于指示当前测验对应的目标部分。
进一步地,所述题目综合信息文件还包括主键ID;所述抽题站点模块基于所述第一题的第一抽题请求向所述网络存储模块发送第一题的第二抽题请求,并将所述网络存储模块返回的题目综合信息文件返回到所述作答前台模块,包括:
所述抽题站点模块从所述第一题的第一抽题请求中解析出作答者的个人信息和测验部分信息,并将携带有作答者的个人信息和测验部分信息的第一题的第二抽题请求发送至所述网络存储模块;
所述网络存储模块按照预设的第一抽题参数标准,对所述第一题的第二抽题请求中的作答者的个人信息和测验部分信息进行哈希操作,得到第一题的主键ID,用第一题的主键ID在预加载的以哈希存储的各个题目综合信息文件中进行索引,以O(1)的时间复杂度返回第一题的题目综合信息文件到所述抽题站点模块;
所述抽题站点模块将所述网络存储模块返回的题目综合信息文件返回到所述作答前台模块;
所述抽题参数值包括信息量值,所述网络存储模块基于所述下一题的第二抽题请求中的所述当前题目的作答结果数据和所述当前能力值,拉取下一题的题目综合信息文件,包括:
所述网络存储模块按照预设的第二抽题参数标准,对所述下一题的第二抽题请求中的所述当前题目的作答结果数据和所述当前能力值进行哈希操作,得到下一题的主键ID,并用下一题的主键ID在预加载的以哈希存储的各个题目综合信息文件中进行索引,得到下一题的题目综合信息文件;其中,所述第二抽题参数标准包括将所述当前能力值下信息量值最大的题目作为下一题。
进一步地,所述题目综合信息文件还包括题目参数数据,所述题目参数数据包括区分度参数值和难度参数值;所述抽题站点模块基于所述下一题的第一抽题请求中的所述当前题目的作答结果数据,计算作答者的当前能力值,包括:
所述抽题站点模块基于所述下一题的第一抽题请求中的所述当前题目的作答结果数据,以及所述当前题目的题目参数数据,计算得到所述当前题目对应的概率表达式,基于所述当前题目对应的概率表达式对当前的测验能力值参数估计模型进行更新,并将更新后的测验能力值参数估计模型取最大值时的能力值,确定为作答者的当前能力值;其中,所述概率表达式为能力值的函数,所述测验能力值参数估计模型由作答者已作答的各道题目对应的概率表达式的乘积构成。
进一步地,在所述网络存储模块基于所述下一题的第二抽题请求中的所述当前题目的作答结果数据和所述当前能力值,拉取下一题的题目综合信息文件,并返回所述下一题的题目综合信息文件到所述抽题站点模块之后,所述多线程计算机自适应测验方法还包括:
所述抽题站点模块基于接收到的所述下一题的题目综合信息文件,判断本次测验是否结束,当判断本次测验结束时,发送空文件给所述作答前台模块;
所述作答前台模块当读取到所述空文件时,判定本次测验结束。
进一步地,所述多线程计算机自适应测验方法还包括:
所述作答前台模块定时发送携带有临时答案和作答进度参数的作答进度消息给所述消息中间件模块;
所述消息中间件模块接收并暂存接收到的临时答案和作答进度参数;
所述消息中间件模块当在预设时间间隔内未收到作答进度消息时,将最近一次接收到的临时答案和作答进度参数作为作答者的作答部分信息,并将所述作答者的作答部分信息返回到所述作答前台模块;
所述作答前台模块当监测到所述作答者再次作答时,基于所述作答者的作答部分信息向所述抽题站点模块发送抽题请求;
所述消息中间件模块接收到所述测验结束信息时,基于作答者的所有作答结果数据,生成测验结果和测验报告,包括:
所述消息中间件模块基于作答者的所有作答结果数据,运用消息队列暂存再异步化处理技术,生成测验结果和测验报告。
进一步地,所述多线程计算机自适应测验方法还包括:
所述运维模块运用预计算技术和索引技术,生成所述题库数据库中题目的题目综合信息文件。
第二方面,本发明实施例还提供了一种多线程计算机自适应测验装置,所述多线程计算机自适应测验装置包括作答前台模块和由多个抽题服务器提供的抽题服务,所述抽题服务器的数量是基于对预设的作答者数量进行压测得到的压测结果确定的;
所述作答前台模块用于呈现供作答者作答的题目信息,以及输出和显示作答结果数据;所述抽题服务包括均同时执行多线程任务的抽题站点模块、网络存储模块、运维模块和消息中间件模块;所述抽题站点模块分别与所述作答前台模块和所述网络存储模块连接,所述抽题站点模块用于基于作答结果数据计算测验中的能力值,以及返回题目综合信息文件至所述作答前台模块,所述题目综合信息文件包括题目信息和不同能力值对应的抽题参数值;所述网络存储模块分别与所述抽题站点模块和所述运维模块连接,所述网络存储模块用于从所述运维模块预加载相应的多个题目综合信息文件,并按照预设的抽题参数标准,基于测验中的能力值返回相应的题目综合信息文件到所述抽题站点模块;所述运维模块用于管理预先建立的题库数据库中题目的题目综合信息文件;所述消息中间件模块与所述作答前台模块连接,所述消息中间件模块用于基于作答结果数据,生成测验结果和测验报告。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的多线程计算机自适应测验方法。
本发明实施例提供的多线程计算机自适应测验方法、装置及计算机设备,在进行计算机自适应测验前,要先基于对预设的作答者数量进行压测得到的压测结果,进行云端的抽题服务器的数量扩增,各个抽题服务器用于提供抽题服务,之后即可基于抽题服务和作答前台模块进行计算机自适应测验,其中,抽题服务包括均同时执行多线程任务的抽题站点模块、网络存储模块、运维模块和消息中间件模块。这样基于压测结果进行云端的抽题服务器的数量扩增,以及对算力要求高的抽题服务进行任务拆分,得到多个均能够同时执行多线程任务的模块,解决了因单线程和单进程设置带来的技术上高并发的问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多线程计算机自适应测验方法的流程示意图;
图2为本发明实施例提供的一种预计算技术生成的信息量矩阵表的示意图;
图3为本发明实施例提供的一种多线程计算机自适应测验方法的整体测验业务流程图;
图4为本发明实施例提供的一种多线程计算机自适应测验方法的抽题微服务时序图;
图5为本发明实施例提供的一种多线程计算机自适应测验装置的结构示意图;
图6为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前现有的计算机自适应测验专利都是单进程/单线程的设置。为了便于理解单进程和单线程,这里将作答者作答1道题后,计算机需要从题库获取下一道合适的题目作为一个任务,这个任务大致包括:(1)输出题目1的作答结果(作答者选择对还是错),(2)计算能力值,(3)计算信息量,(4)查询对应能力值下信息量最大的题目作为题目2,(5)获取题目2信息并呈现在作答界面。如果计算机采用单进程,就是只有1台计算机处理;采用单线程设置去处理上述任务,就需要按顺序1到5,一步一步做完才可以完成任务,这个过程中需要耗费较长时间、CPU(Central Processing Unit,中央处理器)的算力压力也很大,如果同时在线作答的人数较多时,耗费时间更长和算力要求更大,达到服务器处理极限后就会出现线程崩溃、作答系统崩溃的情况。但如果采用多进程就可以多台计算器/服务器处理这5个任务,多线程就是1个进程下的多个子任务可以同时处理,缩短整体处理的时间并分担算力负担,整体提升计算机完成任务的效率和稳定性。基于此,本发明实施例提供的一种多线程计算机自适应测验方法、装置及计算机设备,通过将算力要求高的模块进行任务的拆分、组建多线程的测验装置结构,可以解决因单线程和单进程设置带来的技术上高并发的问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种多线程计算机自适应测验方法进行详细介绍。
本发明实施例提供了一种多线程计算机自适应测验方法,该方法可以由用于在线测验的计算机设备执行。参见图1所示的一种多线程计算机自适应测验方法的流程示意图,该方法主要包括如下步骤S102~步骤S104:
步骤S102,基于对预设的作答者数量进行压测得到的压测结果,进行云端的抽题服务器的数量扩增;其中,各个抽题服务器用于提供抽题服务,抽题服务包括均同时执行多线程任务的抽题站点模块、网络存储模块、运维模块和消息中间件模块。
测验开始前,可以根据微服务AKF拆分原则,将抽题过程拆成多线程的抽题微服务站点,即按照Y轴将诸如CAT(Computerised Adaptive Testing,自适应测验)抽题测验的抽题逻辑单独抽取为一个CAT抽题服务,并按照X轴原则,水平扩展多台机器(即抽题服务器)支持CAT抽题。X轴抽题服务器的自动扩容由每次测验前邀请的作答者数量进行压测决定,按照压测结果自动扩容增加抽题站点镜像(即抽题服务器)。其中,AFK指微服务架构设计的三个基本原则,即可扩展性(Scalability)、可用性(Availability)和容错性(FaultTolerance)。压测结果可以利用特定的压测程序来跑:基于作答者数量设定好并发量参数后,压测程序最终会输出一个压测报告,压测报告里面有一定指标告知目前机器能否承受当前设置的并发量(即压测结果),根据这个结果决定扩展多少台机器。
上述抽题站点模块用于基于作答结果数据计算测验中的能力值,以及返回题目综合信息文件至作答前台模块,作答结果数据可以包括作答正确或作答错误,能力值可以是诸如认知能力值,也可以是其他方面的能力值,题目综合信息文件可以包括题目ID、题目信息和不同能力值对应的抽题参数值,题目信息可以包括题目和选项等;作答前台模块用于呈现供作答者作答的题目信息,以及输出和显示作答结果数据;网络存储模块用于从运维模块预加载相应的多个题目综合信息文件,并按照预设的抽题参数标准,基于测验中的能力值返回相应的题目综合信息文件到抽题站点模块;运维模块用于管理预先建立的题库数据库中题目的题目综合信息文件;消息中间件模块用于基于作答结果数据,生成测验结果和测验报告。
步骤S104,基于抽题服务和作答前台模块进行计算机自适应测验。
本发明实施例提供的多线程计算机自适应测验方法,在进行计算机自适应测验前,要先基于对预设的作答者数量进行压测得到的压测结果,进行云端的抽题服务器的数量扩增,各个抽题服务器用于提供抽题服务,之后即可基于抽题服务和作答前台模块进行计算机自适应测验,其中,抽题服务包括均同时执行多线程任务的抽题站点模块、网络存储模块、运维模块和消息中间件模块。这样基于压测结果进行云端的抽题服务器的数量扩增,以及对算力要求高的抽题服务进行任务拆分,得到多个均能够同时执行多线程任务的模块,解决了因单线程和单进程设置带来的技术上高并发的问题。
在一些可能的实施例中,步骤S104可以通过如下子步骤实现:
子步骤1,当作答者在作答前台模块启动答题时,网络存储模块从运维模块预加载对应的多个题目综合信息文件,同时作答前台模块向抽题站点模块发送第一题的第一抽题请求。
当作答者登录作答页面填写作答信息,点击测验的第一部分链接时,网络存储模块开始从运维模块预加载题目综合信息文件,同时,作答前台模块向抽题站点模块发送抽题请求。
网络存储模块可以采用预加载技术与减少GC(Garbage Collection,垃圾回收)技术:当作答者点击测验作答的第一部分链接时,触发网络存储模块的预加载技术执行程序,网络存储模块根据触发时获取到的测验类型信息和测验部分信息,运行一次计算,从运维模块索引返回对象的引用(即对应的题目综合信息文件),并缓存在抽题服务器的内存。基于此,在一种可能的实现方式中,网络存储模块可以基于从作答前台模块获取的测验类型信息和测验部分信息,从运维模块预加载对应的多个题目综合信息文件,并以哈希存储缓存在内存中;其中,测验类型信息可以是认知能力测验、个性测验或心理风险测验等,测验可以分为多个部分,测验部分信息用于指示当前测验对应的目标部分,比如测验分为五个部分,测验部分信息可以指示当前测验属于哪个部分;同时,作答前台模块向抽题站点模块发送第一题的第一抽题请求,第一题的第一抽题请求携带有作答者的个人信息和测验部分信息;其中,个人信息可以根据实际需求设置,例如个人信息包括姓名、年龄和专业等。
子步骤2,抽题站点模块基于第一题的第一抽题请求向网络存储模块发送第一题的第二抽题请求,并将网络存储模块返回的题目综合信息文件返回到作答前台模块。
抽题站点根据作答者的个人信息和测验部分信息向网络存储模块发送抽题请求,并获取到对应题目综合信息文件,返回到作答前台模块。
在一种可能的实现方式中,题目综合信息文件还包括主键ID,主键ID是存储题目信息至题库数据库时赋予的索引值,基于此,抽题站点模块可以从第一题的第一抽题请求中解析出作答者的个人信息和测验部分信息,并将携带有作答者的个人信息和测验部分信息的第一题的第二抽题请求发送至网络存储模块;网络存储模块按照预设的第一抽题参数标准,对第一题的第二抽题请求中的作答者的个人信息和测验部分信息进行哈希操作,得到第一题的主键ID,用第一题的主键ID在预加载的以哈希存储的各个题目综合信息文件中进行索引,以O(1)的时间复杂度返回第一题的题目综合信息文件到抽题站点模块;抽题站点模块将网络存储模块返回的题目综合信息文件返回到作答前台模块。
其中,第一抽题参数标准是第一题抽题的参数标准,主要与个人信息和测验部分信息有关,具体可以根据实际需求设置。例如本次测验是认知能力测验,使用项目反应理论的双参数模型(参数为题目的难度和区分度),那么第一题可以是从认知能力测验的第一部分对应的题库中随机抽取的一个难度为中间水平的题目;另外,如果测验中题目的出题角度有多种,也可以从1种出题角度下,随机抽取一个难度为中间水平的题目作为第一题);这里的中间水平的难度可以是[-0.5,0.5],具体可根据实际的测验的参数范围和等级水平划分来确定。通过哈希存储和索引技术能够实现O(1)的时间复杂度,使得获取题目综合信息文件的耗时与输入数据的大小无关,即无论输入数据增大多少,耗时不变。
子步骤3,作答前台模块基于接收到的题目综合信息文件,呈现第一题的题目信息到作答页面。
子步骤4,当作答者答完当前题目时,作答前台模块发送携带有当前题目的作答结果数据的下一题的第一抽题请求至抽题站点模块。
作答者作答完一道题目后,作答前台模块发送作答结果数据到抽题站点模块。
子步骤5,抽题站点模块基于下一题的第一抽题请求中的当前题目的作答结果数据,计算作答者的当前能力值,并将携带有当前题目的作答结果数据和当前能力值的下一题的第二抽题请求发送至网络存储模块。
抽题站点模块按照预设的测验能力值估计模型/公式计算作答者当前能力值,结合作答结果数据,一并发送到网络存储模块,以拉取下一道合适的题目,并返回到作答前台模块。
在一种可能的实现方式中,上述题目综合信息文件还包括题目参数数据,题目参数数据包括区分度参数值和难度参数值,基于此,作答者的当前能力值可以通过如下过程计算:抽题站点模块基于下一题的第一抽题请求中的当前题目的作答结果数据,以及当前题目的题目参数数据,计算得到当前题目对应的概率表达式,基于当前题目对应的概率表达式对当前的测验能力值参数估计模型进行更新,并将更新后的测验能力值参数估计模型取最大值时的能力值,确定为作答者的当前能力值;其中,概率表达式为能力值的函数,测验能力值参数估计模型由作答者已作答的各道题目对应的概率表达式的乘积构成。
可选地,第i题对应的概率表达式可以为:
(公式1)
其中,θ为能力值,a i表示第i题上的区分度参数值,b i表示第i题上的难度参数值,D为常数1.7。
可以基于测验能力值参数估计模型,以及当前题目的作答结果数据、区分度参数值和难度参数值,对作答者的能力值进行迭代更新。其中,测验能力值参数估计模型用于表征作答者的作答模式,测验能力值参数估计模型的取值越大,越接近作答者的作答模式。第i题作答正确的概率表达式记为P i (θ),其中θ为能力值,若第一题作答正确,则初始的测验能力值参数估计模型为P 1 (θ),若第二题作答错误,则此时测验能力值参数估计模型为P 1 (θ)*(1-P 2 (θ)),若第三题作答正确,则此时测验能力值参数估计模型为P 1 (θ)*(1-P 2 (θ))*P 3 (θ)等;在能力值的预设范围(比如-3~+3)内查找使得测验能力值参数估计模型取值最大的能力值,此能力值即为作答者的当前能力值。
需要说明的是,虽然本实施例采用的是基于双参数模型(包括区分度参数值和难度参数值)的能力值计算方式,但本发明的保护范围不限于此,在其他实施例中,题目参数数据还可以包括猜测度参数值等其他参数值,可以采用基于三参数模型(包括区分度参数值、难度参数值和猜测度参数值)的能力值计算方式,还可以采用包括更多参数值的多参数模型的能力值计算方式。
子步骤6,网络存储模块基于下一题的第二抽题请求中的当前题目的作答结果数据和当前能力值,拉取下一题的题目综合信息文件,并返回下一题的题目综合信息文件到抽题站点模块。
在一种可能的实现方式中,网络存储模块可以按照预设的第二抽题参数标准,对下一题的第二抽题请求中的当前题目的作答结果数据和当前能力值进行哈希操作,得到下一题的主键ID,并用下一题的主键ID在预加载的以哈希存储的各个题目综合信息文件中进行索引,得到下一题的题目综合信息文件。第二抽题参数标准是除第一题外的题目抽题的参数标准,主要与当前能力值有关,具体可以根据实际需求设置,例如,抽题参数值包括信息量值,第二抽题参数标准包括将当前能力值下待选题目中信息量值最大的题目作为下一题,待选题目为在预加载的各个题目中去掉已作答的题目后剩余的题目。
子步骤7,抽题站点模块返回下一题的题目综合信息文件到作答前台模块。
当作答前台模块收到抽题站点模块返回的信息后,判断是否有新的题目文件,若有,则继续循环抽题和作答;若无,则向消息中间件模块发送测验结束的信息。也即,子步骤7后,若作答前台模块判定本次测验未结束,则重新执行子步骤3,如此循环执行子步骤3~子步骤7;若作答前台模块判定本次测验结束,则执行子步骤8。
子步骤8,作答前台模块当判定本次测验结束时,向消息中间件模块发送测验结束信息。
作答前台模块判断本次测验是否结束(也即作答者是否作答完成)的方式可以有多种,在一种可能的实现方式中,作答前台模块当获取到作答者触发的结束消息(如受测者在作答页面上点击作答完成按钮)或用户触发的结束消息(如用户点击测评活动结束按钮)时,判定本次测验结束,其中,作答者可以是应聘者,用户可以是招聘HR(Human Resource,人力资源)。在另一种可能的实现方式中,当判断达到测验活动结束的标准时,判定本次测验结束:抽题站点模块可以基于接收到的下一题的题目综合信息文件,判断本次测验是否结束,例如,读取下一题的题目综合信息文件中的信息量参数(该参数为测验预设终止条件选择的参数,根据不同测验的测验终止理论和模型而变化,此处以信息量参数作为示例),根据预设测验结束标准判断测验是否结束;抽题站点模块当判断本次测验结束时,发送空文件给作答前台模块;作答前台模块当读取到空文件时,判定本次测验结束。
子步骤9,消息中间件模块接收到测验结束信息时,基于作答者的所有作答结果数据,生成测验结果和测验报告,并发送至作答前台模块。
消息中间件模块可以按照预设的计分逻辑和程序,执行计分和报告生成程序,并发送作答者最终的测验结果和对应的测验报告到作答前台模块,测验正式结束。
在一种可能的实现方式中,消息中间件模块基于作答者的所有作答结果数据,运用消息队列暂存再异步化处理技术,生成测验结果和测验报告。具体可以包含以下步骤:
①削峰填谷:消息中间件模块收到测验结束的消息后,通过消息队列暂存再异步化处理庞大的计算,生成对应的测验结果和测验报告;
②消息中间件模块向作答前台模块返回测验结果与测验报告。
为了应对在线答题业务作答量大、计分算力要求高的业务特点,本实施例消息中间件模块包括两个topic,分别处理作答进程情况和执行计分两个流程,实现分散和减轻系统负担,实现算力分流顺畅运行的效果,而不是简单的将消息中间件模块作为一种中介的消息分发站点:
•第1个topic根据作答前台模块返回的作答进程数据,判断当前受测者(即作答者)是否作答完成,其中前端采集作答进程数据有3种路径:(1)即受测者在作答页面上点击作答完成按钮时,作答前台模块将采集到该数据并发送给第1个topic,第1个topic判断当前受测者作答已完成;(2)在作答前台模块的设置界面,用户(例如招聘HR)可以点击测评活动结束按钮,作答前台模块采集该数据并发送给第1个topic,第1个topic据此判断作答已完成;(3)测验活动结束的标准达到时,作答前台模块自动发送作答进程数据给第1个topic,例如测验总时长30分钟结束等,第1个topic据此判断测验已完成。
•第2个topic根据第1个topic发送的作答完成与否的消息,执行测验计分程序:第1个topic判断当前测验已完成,将该消息发送给topic2(即第2个topic),topic2执行计分计算程序,生成当前测验结果参数(包括能力值、测验分数等数据),并生成测验的报告等文件,返回到作答前台模块呈现。
两个topic可以异步执行;第一个topic的处理速度快,执行完当前任务后,可以进行下一个任务的处理,从而进行削峰填谷。
进一步地,消息中间件模块还可以处理中断作答情况:作答前台模块定时发送携带有临时答案和作答进度参数的作答进度消息给消息中间件模块;消息中间件模块接收并暂存接收到的临时答案和作答进度参数;消息中间件模块当在预设时间间隔内未收到作答进度消息时,将最近一次接收到的临时答案和作答进度参数作为作答者的作答部分信息,并将作答者的作答部分信息返回到作答前台模块;作答前台模块当监测到作答者再次作答时,基于作答者的作答部分信息向抽题站点模块发送抽题请求。
进一步地,上述多线程计算机自适应测验方法还包括:运维模块运用预计算技术和索引技术,生成题库数据库中题目的题目综合信息文件。
下面对预计算技术与索引技术进行介绍:由专家团队出题组建基本的题库,包含题目、选项和正确答案。运维模块采用热更新技术,不断读取题库数据库更新状态,当识别到题库数据库状态参数有更新(如新加入题目会导致状态参数更新)时,启动预计算技术,自动运行参数估计模块,估算出新加入题目的参数并生成多个参数矩阵表,例如,参数为信息量,可以计算得到新加入题目在不同能力值下的信息量,得到如图2所示的信息量矩阵表。同时,按照哈希结构存储打包生成每个题目的题目综合信息文件,通过对应的主键ID进行索引,以O(1)的时间复杂度返回对应信息。
这里的参数估计是对自适应测验中对能力值进行估计所需的题目参数进行计算,举例来说,使用IRT(item response theory,项目反应理论,也称潜在特质理论或潜在特质模型)理论中的双参数估计模型,涉及上述公式1(也称为双参数模型的能力值估算公式)和下述公式2(也即信息量计算公式):
(公式2)
其中,I i (θ)为第i题在能力值θ下的信息量,P i (θ)为第i题作答正确的概率,Q i (θ)=1-P i (θ),P' i (θ)为P i (θ)的一阶导数。
参数估计模块执行参数计算程序生成题目对应的信息量、能力值参数,并生成信息量矩阵表,信息量矩阵表中包括题目ID在不同能力值下的信息量值,并按照哈希结构存储打包生成每个题目的题目综合信息文件。
综上,本发明实施例提供的多线程计算机自适应测验方法具有如下有益效果:
1、利用多线程技术解决计算机自适应测验的高并发问题。本发明实施例通过微服务AKF拆分原则,由计算机程序将抽题过程拆分,并横向扩展生成为云端的抽题微服务的方式,让自适应抽题消耗的时间和空间更短,不易出现抽题线程崩溃的情况。
2、具体来说
(1)抽题微服务技术:针对单进程/单线程易崩溃的技术缺陷,本发明实施例采用微服务AKF拆分原则中的X轴原则,将抽题过程拆分并横向扩展为一个云端的抽题微服务,生成多个模块,通过多进程/多线程的微服务技术解决高并发线程崩溃的问题。其中抽题站点模块负责测验实时能力值的计算、接收和回应作答前台模块的抽题请求;消息中间件模块集中处理测验完成时的计分和报告生成;网络存储模块主要负责题目综合信息文件的预加载;运维模块主要负责测验题库管理和中间值参数(中间值是为了实时计算出作答者的能力值而必须要在作答过程中收集或计算得到的参数值,例如信息量)的运算与存储。实现的效果是,同时在线答题人数的提升达到10万/次不受限,不会因为同时在线答题人数过多而崩溃。
(2)预计算与索引技术:运维模块的热更新技术,不断轮巡题库更新状态参数,并自动在题库更新时,根据预设的参数评估模块进行参数的计算和储存,此处的参数评估模块可以是测验采用的任意参数估计模型或公式中需要在能力值估计或者题目抽取参考值的任意参数。实现题库的热更新,节省测验抽取题目的时间。
(3)预加载技术与减少GC技术:网络存储模块通过题目综合信息文件的预加载技术和减少GC技术,让抽题过程更多使用索引,减少中间对象的产生,减少无效的内存分配和回收工作,从而节省抽题时间,并提高索引题目综合信息文件的效率。
(4)削峰填谷技术:主要是解决测验中断作答和测验结束计分与出报告时,过多消息请求造成的任务处理时间太长的问题,通过消息队列暂存再异步化处理庞大的计算请求,提升系统单位时间内的消息吞吐量,实现短时间内也能处理大量计算请求,并输出计算结果的效果。此外,该模块还解决在线测验的中断作答情况,具体来说在遇到测验中断时,该模块根据作答前台模块最后一次自动保存的作答进程参数,保存临时答案并反馈作答前台模块,在下一次作答者再次登陆后,作答前台模块按照上一次自动保存的作答进程参数,向抽题站点模块发送抽题请求,从上一次中断处继续呈现对应题目。
为了便于理解,下面参照图3和图4对上述多线程计算机自适应测验方法进行详细介绍。
如图3所示,该多线程计算机自适应测验方法的实施主要基于作答前台模块和云端多线程抽题模块(即上述抽题服务),该云端多线程抽题模块包括抽题站点模块、消息中间件模块、网络存储模块和运维模块。具体过程如下:作答者进入作答部分,作答前台模块获取部分信息,并返回部分信息给作答者;作答者点击作答前台界面上的正式答题按钮进行正式作答;运维模块通过计算中间值,生成题块文件(即题目综合信息文件);网络存储模块从运维模块预加载题块文件;同时,作答前台模块向抽题站点模块发送抽题请求,抽题站点模块向网络存储模块发送抽题请求,网络存储模块向抽题站点模块返回预加载题块文件,抽题站点模块返回题目信息至作答前台模块,作答前台模块向作答者展示下一道题目(即下一题),如此循环抽题。当作答者中断作答时,作答前台模块发送消息给消息中间件模块,消息中间件模块保存临时答案,并返回保存成功消息给作答前台模块,作答前台模块向作答者提示中断作答成功,如此循环处理中断。当作答者测验完成时,作答前台模块发送测验完成消息给消息中间件模块,消息中间件模块保存临时答案,并返回状态(即当前测验状态,如测验完成或当前部分完成)给作答前台模块,作答前台模块向作答者指示活动完成或进入下一部分。消息中间件模块在测验完成后,打包原始xml答案,计分,生成报告。
如图4所示,企业HR创建测验并发送作答邀请链接给候选人(即可能的作答者);作答者登录测验作答系统,录入个人信息并点击正式答题;作答前台模块发送抽题请求给抽题站点模块,抽题站点模块通过网络存储模块和运维模块获取题目信息,并返回题目信息给作答前台模块;作答前台模块判断是否获取到题目信息,如果是,则继续发送下一题的抽题请求给抽题站点模块,如果否,发送作答完成消息给消息中间件模块;消息中间件模块判定作答完成,输出测验结果和报告给企业HR。
本实施例提供了一种云端的多线程计算机自适应测验方法,以一位作答者的作答流程为示例,具体包括以下步骤:
S1:测验开始前,根据微服务AKF拆分原则,X轴抽题站点服务器的自动扩容,由每次测验前该活动下邀请的作答者数量进行压测决定,按照压测结果,自动扩容增加抽题站点镜像。
S2:企业HR在测验系统创建测验,并发送邀请链接给候选人,即测验的作答者。
S3:作答者登录测验作答系统,录入个人信息,点击作答前台界面上的正式答题按钮,网络存储模块根据收到的个人信息和测验部分信息从运维模块预加载对应的题目综合信息文件,并以哈希存储缓存在内存中;同时,作答前台模块向抽题站点模块发送第一题的抽题请求,抽题站点模块进行哈希操作,用对应主键ID以O(1)的时间复杂度在网络存储模块按照第一题抽题的参数标准(即第一抽题参数标准)索引,返回第一题的题目综合信息数据到作答前台模块。
S4:作答前台模块收到抽题站点模块返回的题目信息文件,读取是否含有完整的题目信息,若有,则呈现题目信息到作答页面,作答者作答第一题,作答前台模块输出第一题作答结果数据(例如题目、作答者选择的选项等)并打包发送给抽题站点模块。
S5:抽题站点模块读取作答结果数据,执行能力值估算程序,根据预设的测验能力值参数估计模型(该模型由计算机根据对应能力值估算的理论数学公式自动生成),计算作答者当前能力值,抽题站点模块加载计算得出的能力值到从作答前台模块收到的抽题请求消息中,发送给网络存储模块,执行索引技术和减少GC技术的抽题程序,按照预设的抽题参数值参考标准(即第二抽题参数标准,该参考标准由上述能力值估算理论数学公式的程序生成),在预加载的以哈希存储的题目综合信息文件中以索引技术,拉取出一道题(即测验的第二题),返回该题目综合信息文件到抽题站点模块。
S6:抽题站点模块收到题目综合信息文件,读取信息量参数(该参数为测验预设终止条件选择的参数,根据不同测验的测验终止理论和模型而变化,此处以信息量参数作为示例),根据预设测验结束标准判断测验是否结束;若未结束,返回此时的题目综合信息文件给作答前台模块,作答前台模块执行内容判断程序,判定接收到的抽题请求回复消息中是否存在完整的题目信息,若有,在PC/移动端作答的页面呈现此时收到的题目信息,作答者作答第二题。(若抽题站点模块判断测试结束,则返回给作答前台模块的题目综合信息文件为空,作答前台读取空文件后,判定测验结束,执行测验计分程序,向消息中间件模块发送测验结束消息,触发计分和报告生成程序)
S7:S4-S6中,作答前台模块按照程序设定的自动保存时间间隔(该时间间隔由最初压测程序结果建议的自动保存时间间隔决定),定时发送作答进度参数消息给消息中间件模块,消息中间件模块接收、暂存临时答案和作答进度参数,返回保存成功消息到作答前台模块,告知当前作答进度保存成功。当作答前台模块在既定的自动保存时间间隔外仍未发送作答进度参数和临时答案消息时,消息中间件模块以最近一次接收到的作答进度参数和临时答案作为该作答者最后的中断作答进度消息,并暂存和返回到作答前台模块保存为该考生的作答部分信息。作答者再次登录作答系统,作答前台模块获取当前考生的作答部分信息,继续上次的作答进度并顺利发送抽题请求,循环上述抽题和作答过程直至测验结束。
作答者作答第二题,重复S3和S4过程,并按照预设的自动保存机制,由消息中间件模块生成和保存临时答案与作答进程数据。
S8:作答者作答第二题,作答前台模块输出作答结果数据,向抽题站点模块发送包含作答结果的抽题请求,抽题站点模块执行能力值估算程序,发送含能力值数据的抽题请求到网络存储模块,执行哈希操作,索引下一题的题目综合信息文件,返回到抽题站点模块,抽题站点执行测验终止判定程序,读取此时返回的消息中的信息量参数,判断测验是否结束,若未结束,返回此时的题目综合信息文件给作答前台模块,作答前台模块执行内容判断程序,判定接收到的抽题请求回复消息中是否存在完整的题目信息,若有,在PC/移动端作答的页面呈现此时收到的题目信息,作答者作答第三题。(若抽题站点模块判断测试结束,则返回给作答前台模块的题目综合信息文件为空,作答前台模块读取空文件后,判定测验结束,执行测验计分程序,向消息中间件模块发送测验结束消息,触发计分和报告生成程序)
S9:循环上述S4-S8过程,当作答前台模块检验抽题站点模块返回的题目信息中没有题目信息时,判定该部分的测验结束并生成测验完成的消息,发送给消息中间件模块,消息中间件模块执行消息暂存异步化处理任务,保存当前测验的临时答案,打包原始xml答案,计分和生成报告。
S10:消息中间件模块发送测验计分数据和报告数据给作答前台模块,作答前台的页面呈现出测验的结果和报告。
本发明实施例还提供了一种多线程计算机自适应测验装置,参见图5所示的一种多线程计算机自适应测验装置的结构示意图,该多线程计算机自适应测验装置包括作答前台模块510和由多个抽题服务器提供的抽题服务520,抽题服务器的数量是基于对预设的作答者数量进行压测得到的压测结果确定的;
作答前台模块510用于呈现供作答者作答的题目信息,以及输出和显示作答结果数据;
抽题服务520包括均同时执行多线程任务的抽题站点模块521、网络存储模块522、运维模块523和消息中间件模块524;
抽题站点模块521分别与作答前台模块510和网络存储模块522连接,抽题站点模块521用于基于作答结果数据计算测验中的能力值,以及通过索引技术返回题目综合信息文件至作答前台模块510,题目综合信息文件包括题目信息和不同能力值对应的抽题参数值;
网络存储模块522分别与抽题站点模块521和运维模块523连接,网络存储模块522用于从运维模块523预加载相应的多个题目综合信息文件,并按照预设的抽题参数标准,基于测验中的能力值返回相应的题目综合信息文件到抽题站点模块521;网络存储模块522可以运用缓存技术、预加载技术和减少GC技术,按照预设的抽题标准返回相应题目综合信息文件到抽题站点模块521;
运维模块523用于管理预先建立的题库数据库中题目的题目综合信息文件;运维模块523可以运用预计算技术和索引技术,生成题目综合信息文件,包括题目、选项、参数、中间值、概率等数据;
消息中间件模块524与作答前台模块510连接,消息中间件模块524用于基于作答结果数据,生成测验结果和测验报告。消息中间件模块524可以运用消息队列暂存再异步化处理技术进行削峰填谷,生成测验计分结果和报告,以及处理中断作答。
本实施例所提供的多线程计算机自适应测验装置,其实现原理及产生的技术效果和前述多线程计算机自适应测验方法实施例相同,为简要描述,多线程计算机自适应测验装置实施例部分未提及之处,可参考前述多线程计算机自适应测验方法实施例中相应内容。
如图6所示,本发明实施例提供的一种计算机设备600,包括:处理器601、存储器602和总线,存储器602存储有可在处理器601上运行的计算机程序,当计算机设备600运行时,处理器601与存储器602之间通过总线通信,处理器601执行计算机程序,以实现上述多线程计算机自适应测验方法。
具体地,上述存储器602和处理器601能够为通用的存储器和处理器,这里不做具体限定。
本发明实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前面方法实施例中所述的多线程计算机自适应测验方法。该存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种多线程计算机自适应测验方法,其特征在于,包括:
基于对预设的作答者数量进行压测得到的压测结果,进行云端的抽题服务器的数量扩增;其中,各个所述抽题服务器用于提供抽题服务,所述抽题服务包括均同时执行多线程任务的抽题站点模块、网络存储模块、运维模块和消息中间件模块;所述抽题站点模块用于基于作答结果数据计算测验中的能力值,以及返回题目综合信息文件至作答前台模块,所述题目综合信息文件包括题目信息和不同能力值对应的抽题参数值;所述作答前台模块用于呈现供作答者作答的题目信息,以及输出和显示作答结果数据;所述网络存储模块用于从所述运维模块预加载相应的多个题目综合信息文件,并按照预设的抽题参数标准,基于测验中的能力值返回相应的题目综合信息文件到所述抽题站点模块;所述运维模块用于管理预先建立的题库数据库中题目的题目综合信息文件;所述消息中间件模块用于基于作答结果数据,生成测验结果和测验报告;
基于所述抽题服务和所述作答前台模块进行计算机自适应测验。
2.根据权利要求1所述的多线程计算机自适应测验方法,其特征在于,所述基于所述抽题服务和所述作答前台模块进行计算机自适应测验,包括:
当作答者在所述作答前台模块启动答题时,所述网络存储模块从所述运维模块预加载对应的多个题目综合信息文件,同时所述作答前台模块向所述抽题站点模块发送第一题的第一抽题请求;
所述抽题站点模块基于所述第一题的第一抽题请求向所述网络存储模块发送第一题的第二抽题请求,并将所述网络存储模块返回的题目综合信息文件返回到所述作答前台模块;
所述作答前台模块基于接收到的题目综合信息文件,呈现第一题的题目信息到作答页面;
当作答者答完当前题目时,所述作答前台模块发送携带有所述当前题目的作答结果数据的下一题的第一抽题请求至所述抽题站点模块;
所述抽题站点模块基于所述下一题的第一抽题请求中的所述当前题目的作答结果数据,计算作答者的当前能力值,并将携带有所述当前题目的作答结果数据和所述当前能力值的下一题的第二抽题请求发送至所述网络存储模块;
所述网络存储模块基于所述下一题的第二抽题请求中的所述当前题目的作答结果数据和所述当前能力值,拉取下一题的题目综合信息文件,并返回所述下一题的题目综合信息文件到所述抽题站点模块;
所述抽题站点模块返回所述下一题的题目综合信息文件到所述作答前台模块;
所述作答前台模块当判定本次测验结束时,向所述消息中间件模块发送测验结束信息;
所述消息中间件模块接收到所述测验结束信息时,基于作答者的所有作答结果数据,生成测验结果和测验报告,并发送至所述作答前台模块。
3.根据权利要求2所述的多线程计算机自适应测验方法,其特征在于,所述网络存储模块从所述运维模块预加载对应的多个题目综合信息文件,同时所述作答前台模块向所述抽题站点模块发送第一题的第一抽题请求,包括:
所述网络存储模块基于从所述作答前台模块获取的测验类型信息和测验部分信息,从所述运维模块预加载对应的多个题目综合信息文件,并以哈希存储缓存在内存中;同时,所述作答前台模块向所述抽题站点模块发送第一题的第一抽题请求,所述第一题的第一抽题请求携带有作答者的个人信息和测验部分信息;其中,测验分为多个部分,所述测验部分信息用于指示当前测验对应的目标部分。
4.根据权利要求2所述的多线程计算机自适应测验方法,其特征在于,所述题目综合信息文件还包括主键ID;所述抽题站点模块基于所述第一题的第一抽题请求向所述网络存储模块发送第一题的第二抽题请求,并将所述网络存储模块返回的题目综合信息文件返回到所述作答前台模块,包括:
所述抽题站点模块从所述第一题的第一抽题请求中解析出作答者的个人信息和测验部分信息,并将携带有作答者的个人信息和测验部分信息的第一题的第二抽题请求发送至所述网络存储模块;
所述网络存储模块按照预设的第一抽题参数标准,对所述第一题的第二抽题请求中的作答者的个人信息和测验部分信息进行哈希操作,得到第一题的主键ID,用第一题的主键ID在预加载的以哈希存储的各个题目综合信息文件中进行索引,以O(1)的时间复杂度返回第一题的题目综合信息文件到所述抽题站点模块;
所述抽题站点模块将所述网络存储模块返回的题目综合信息文件返回到所述作答前台模块;
所述抽题参数值包括信息量值,所述网络存储模块基于所述下一题的第二抽题请求中的所述当前题目的作答结果数据和所述当前能力值,拉取下一题的题目综合信息文件,包括:
所述网络存储模块按照预设的第二抽题参数标准,对所述下一题的第二抽题请求中的所述当前题目的作答结果数据和所述当前能力值进行哈希操作,得到下一题的主键ID,并用下一题的主键ID在预加载的以哈希存储的各个题目综合信息文件中进行索引,得到下一题的题目综合信息文件;其中,所述第二抽题参数标准包括将所述当前能力值下信息量值最大的题目作为下一题。
5.根据权利要求2所述的多线程计算机自适应测验方法,其特征在于,所述题目综合信息文件还包括题目参数数据,所述题目参数数据包括区分度参数值和难度参数值;所述抽题站点模块基于所述下一题的第一抽题请求中的所述当前题目的作答结果数据,计算作答者的当前能力值,包括:
所述抽题站点模块基于所述下一题的第一抽题请求中的所述当前题目的作答结果数据,以及所述当前题目的题目参数数据,计算得到所述当前题目对应的概率表达式,基于所述当前题目对应的概率表达式对当前的测验能力值参数估计模型进行更新,并将更新后的测验能力值参数估计模型取最大值时的能力值,确定为作答者的当前能力值;其中,所述概率表达式为能力值的函数,所述测验能力值参数估计模型由作答者已作答的各道题目对应的概率表达式的乘积构成。
6.根据权利要求2所述的多线程计算机自适应测验方法,其特征在于,在所述网络存储模块基于所述下一题的第二抽题请求中的所述当前题目的作答结果数据和所述当前能力值,拉取下一题的题目综合信息文件,并返回所述下一题的题目综合信息文件到所述抽题站点模块之后,所述多线程计算机自适应测验方法还包括:
所述抽题站点模块基于接收到的所述下一题的题目综合信息文件,判断本次测验是否结束,当判断本次测验结束时,发送空文件给所述作答前台模块;
所述作答前台模块当读取到所述空文件时,判定本次测验结束。
7.根据权利要求2所述的多线程计算机自适应测验方法,其特征在于,所述多线程计算机自适应测验方法还包括:
所述作答前台模块定时发送携带有临时答案和作答进度参数的作答进度消息给所述消息中间件模块;
所述消息中间件模块接收并暂存接收到的临时答案和作答进度参数;
所述消息中间件模块当在预设时间间隔内未收到作答进度消息时,将最近一次接收到的临时答案和作答进度参数作为作答者的作答部分信息,并将所述作答者的作答部分信息返回到所述作答前台模块;
所述作答前台模块当监测到所述作答者再次作答时,基于所述作答者的作答部分信息向所述抽题站点模块发送抽题请求;
所述消息中间件模块接收到所述测验结束信息时,基于作答者的所有作答结果数据,生成测验结果和测验报告,包括:
所述消息中间件模块基于作答者的所有作答结果数据,运用消息队列暂存再异步化处理技术,生成测验结果和测验报告。
8.根据权利要求1-7任一项所述的多线程计算机自适应测验方法,其特征在于,所述多线程计算机自适应测验方法还包括:
所述运维模块运用预计算技术和索引技术,生成所述题库数据库中题目的题目综合信息文件。
9.一种多线程计算机自适应测验装置,其特征在于,所述多线程计算机自适应测验装置包括作答前台模块和由多个抽题服务器提供的抽题服务,所述抽题服务器的数量是基于对预设的作答者数量进行压测得到的压测结果确定的;
所述作答前台模块用于呈现供作答者作答的题目信息,以及输出和显示作答结果数据;所述抽题服务包括均同时执行多线程任务的抽题站点模块、网络存储模块、运维模块和消息中间件模块;所述抽题站点模块分别与所述作答前台模块和所述网络存储模块连接,所述抽题站点模块用于基于作答结果数据计算测验中的能力值,以及返回题目综合信息文件至所述作答前台模块,所述题目综合信息文件包括题目信息和不同能力值对应的抽题参数值;所述网络存储模块分别与所述抽题站点模块和所述运维模块连接,所述网络存储模块用于从所述运维模块预加载相应的多个题目综合信息文件,并按照预设的抽题参数标准,基于测验中的能力值返回相应的题目综合信息文件到所述抽题站点模块;所述运维模块用于管理预先建立的题库数据库中题目的题目综合信息文件;所述消息中间件模块与所述作答前台模块连接,所述消息中间件模块用于基于作答结果数据,生成测验结果和测验报告。
10.一种计算机设备,其特征在于,包括存储器、处理器;所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-8中任一项所述的多线程计算机自适应测验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310745513.4A CN116483548B (zh) | 2023-06-25 | 2023-06-25 | 多线程计算机自适应测验方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310745513.4A CN116483548B (zh) | 2023-06-25 | 2023-06-25 | 多线程计算机自适应测验方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116483548A true CN116483548A (zh) | 2023-07-25 |
CN116483548B CN116483548B (zh) | 2023-08-22 |
Family
ID=87212333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310745513.4A Active CN116483548B (zh) | 2023-06-25 | 2023-06-25 | 多线程计算机自适应测验方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483548B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090183143A1 (en) * | 2008-01-10 | 2009-07-16 | Zhong Jie Li | Method and apparatus for generating test cases of software system |
US20140377734A1 (en) * | 2003-06-20 | 2014-12-25 | Prometric Inc. | System and Method for Computer Based Testing Using Cache and Cacheable Objects to Expand Functionality of a Test Driver Application |
CN108346030A (zh) * | 2017-12-29 | 2018-07-31 | 北京北森云计算股份有限公司 | 计算机自适应能力测验方法及装置 |
CN113168637A (zh) * | 2018-11-09 | 2021-07-23 | 美国运通旅游有关服务公司 | 交易验证期间的次级欺诈检测 |
CN114726876A (zh) * | 2022-02-24 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 一种数据检测方法、装置、设备和存储介质 |
-
2023
- 2023-06-25 CN CN202310745513.4A patent/CN116483548B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140377734A1 (en) * | 2003-06-20 | 2014-12-25 | Prometric Inc. | System and Method for Computer Based Testing Using Cache and Cacheable Objects to Expand Functionality of a Test Driver Application |
US20090183143A1 (en) * | 2008-01-10 | 2009-07-16 | Zhong Jie Li | Method and apparatus for generating test cases of software system |
CN108346030A (zh) * | 2017-12-29 | 2018-07-31 | 北京北森云计算股份有限公司 | 计算机自适应能力测验方法及装置 |
CN113168637A (zh) * | 2018-11-09 | 2021-07-23 | 美国运通旅游有关服务公司 | 交易验证期间的次级欺诈检测 |
CN114726876A (zh) * | 2022-02-24 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 一种数据检测方法、装置、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
SHUNGENG ZHANG等: "Improving Asynchronous Invocation Performance in Client-Server Systems", 《2018 IEEE 38TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS)》, pages 907 - 917 * |
刘洋: "基于个性化推荐的Android开发能力在线评测系统", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 138 - 245 * |
Also Published As
Publication number | Publication date |
---|---|
CN116483548B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108744504B (zh) | 游戏数据的处理方法及装置、游戏服务器、游戏系统 | |
CN111694864A (zh) | 单一进程的流式数据计算执行调度任务并避免数据丢失的方法、系统及计算机设备 | |
CN111582405B (zh) | 一种数据标注方法及装置 | |
CN111459834B (zh) | 一种异步交易性能测试方法及装置 | |
CN114844809B (zh) | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 | |
CN116483548B (zh) | 多线程计算机自适应测验方法、装置及计算机设备 | |
CN105955838A (zh) | 一种系统死机的原因查看方法及装置 | |
CN112115016A (zh) | 应用性能监控系统 | |
CN113849356B (zh) | 一种设备测试方法、装置、电子设备和存储介质 | |
CN110544136A (zh) | 计算同步投放概率的方法、装置、设备及存储介质 | |
CN110737655A (zh) | 用于上报数据的方法和装置 | |
CN113476853A (zh) | 交互任务的数据处理方法、装置、电子设备、存储介质 | |
US11475068B2 (en) | Automatic question answering method and apparatus, storage medium and server | |
CN111949493A (zh) | 一种基于推理应用的边缘ai服务器功耗测试方法及装置 | |
CN115174686B (zh) | 一种基于服务效率的多个服务通道权重动态调整方法和装置 | |
CN110908821B (zh) | 任务失败管理的方法、装置、设备和存储介质 | |
CN115373960A (zh) | 一种数据库查询性能分析方法、装置及存储介质 | |
CN111723323B (zh) | 一种在线考试系统试卷答案数据传输方法及装置 | |
CN115328891A (zh) | 数据迁移方法、装置、存储介质及电子设备 | |
CN117785487B (zh) | 一种算力资源调度方法、装置、设备和介质 | |
CN115766498B (zh) | 一种大数据链路全链路追踪监测方法及系统 | |
CN111081253B (zh) | 语音处理方法、装置及系统 | |
CN112685427B (zh) | 数据接入方法、装置、电子设备及存储介质 | |
CN113422969B (zh) | 信息拉取方法、装置及服务器 | |
CN116902041A (zh) | 接口数据处理方法、装置、电子设备及介质 |
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 |