基于MongoDB的答题数据统计方法及装置、存储介质制造方法及图纸

技术编号:23084959 阅读:14 留言:0更新日期:2020-01-11 01:06
本发明专利技术实施例公开一种基于MongoDB的答题数据统计方法及装置、存储介质,其中方法包括如下步骤:将终端应用中的原始用户答题数据分批从MongoDB同步至数据仓库Hive的数据表中,在数据仓库Hive中统计原始用户答题数据对应的答题正确率,将答题正确率存入结果表中,将Hive中的结果表中的数据写入Mysql中,以便从Mysql中查询结果表中的数据。采用本发明专利技术,在适应大数据增长的前提下,可以提高答题正确率统计的效率,通过将统计结果写入Mysql中可以有效地提高统计结果的查询性能。

The statistical method, device and storage medium of answer data based on mongodb

【技术实现步骤摘要】
基于MongoDB的答题数据统计方法及装置、存储介质
本专利技术涉及计算机
,尤其涉及一种基于MongoDB的答题数据统计方法及装置、存储介质。
技术介绍
在各种模拟或真实答题考试的终端应用中均涉及答题正确率的统计以及答题统计结果的查询,例如在驾考终端应用中通常考驾照答题信息存储在mysql数据库中,当数据库答题记录表里数据量不多时,可以直接在上面统计计算每道题的答题正确率。但随着业务的增长,记录达到数千万以上,每次统计就会变得异常缓慢,效率很差。
技术实现思路
本专利技术实施例提供一种基于MongoDB的答题数据统计方法及装置、存储介质,可以在适应大数据增长的前提下,提高答题正确率统计的效率和统计结果的查询性能。本专利技术实施例第一方面提供了一种基于MongoDB的答题数据统计方法,可包括:将终端应用中的原始用户答题数据分批从MongoDB同步至数据仓库Hive的数据表中;在数据仓库Hive中统计原始用户答题数据对应的答题正确率,将答题正确率存入结果表中;将Hive中的结果表中的数据写入Mysql中,以便从Mysql中查询结果表中的数据。进一步的,上述方法还包括:在数据仓库Hive中创建数据表。进一步的,将终端应用中的原始用户答题数据分批从MongoDB同步至数据仓库Hive的数据表中,包括:基于同步周期从MongoDB中存储的终端应用中的原始用户答题数据中选取相关的答题信息数据;对答题信息数据进行拼接、压缩后上传至数据仓库Hive的数据表中。进一步的,对答题信息数据进行拼接、压缩后上传至数据仓库Hive的数据表中,包括:将答题信息数据按照hdfs数据文件的格式拼接,并将拼接后的数据写入数据文件中进行压缩;调用WebHDFSRESTAPI将压缩后的数据文件上传至数据仓库Hive的数据表中。进一步的,上述方法还包括:根据输入的调用参数,从Mysql中返回相匹配的查询结果。本专利技术实施例第二方面提供了一种基于MongoDB的答题数据统计装置,可包括:数据同步模块,用于将终端应用中的原始用户答题数据分批从MongoDB同步至数据仓库Hive的数据表中;数据统计模块,用于在数据仓库Hive中统计原始用户答题数据对应的答题正确率,将答题正确率存入结果表中;数据写入模块,用于将Hive中的结果表中的数据写入Mysql中,以便从Mysql中查询结果表中的数据。进一步的,上述装置还包括:数据表创建模块,用于在数据仓库Hive中创建数据表。进一步的,数据同步模块包括:同步设置单元,用于基于同步周期从MongoDB中存储的终端应用中的原始用户答题数据中选取相关的答题信息数据;数据同步单元,用于对答题信息数据进行拼接、压缩后上传至数据仓库Hive的数据表中。进一步的,数据同步单元包括:数据处理子单元,用于将答题信息数据按照hdfs数据文件的格式拼接,并将拼接后的数据写入数据文件中进行压缩;数据上传子单元,用于调用WebHDFSRESTAPI将压缩后的数据文件上传至数据仓库Hive的数据表中。进一步的,上述装置还包括:数据查询模块,用于根据输入的调用参数,从Mysql中返回相匹配的查询结果。本专利技术实施例第三方面提供了一种计算机设备,该设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方面所述的基于MongoDB的答题数据统计方法。本专利技术实施例第四方面提供了一种计算机存储介质,该计算机存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方面所述的基于MongoDB的答题数据统计方法。在本专利技术实施例中,将原始用户答题数据,定期从MongoDB同步到数据仓库Hive中存储,利用Hive进行统计,得出每个科目每道考题的总做题人数,与答对该道题目的人数,最后计算得出该到题目的正确率,在适应大数据增长的前提下,提高了答题正确率统计的效率,通过将统计结果写入Mysql中有效地提高了查询性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种基于MongoDB的答题数据统计方法的流程示意图;图2是本专利技术实施例提供的一种基于MongoDB的答题数据统计装置的结构示意图;图3是本专利技术实施例提供的数据同步模块的结构示意图;图4是本专利技术实施例提供的数据同步单元的结构示意图;图5是本专利技术实施例提供的一种计算机设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含,术语“第一”和“第二”仅是为了区别命名,并不代表数字的大小或者排序。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。需要说明的是,本申请提供的基于MongoDB的答题数据统计方法可以应用于驾考APP中统计答题正确率的应用场景,也可以应用于其他类似的答题统计相关的场景中。本专利技术实施例中,基于MongoDB的答题数据统计方法可以应用于计算机设备中,该计算机设备可以是智能手机、平板电脑、PC(PersonalComputer,个人计算机)等终端,也可以是其它具备计算处理能力的电子设备。如图1所示,基于MongoDB的答题数据统计方法至少可以包括以下几个步骤:S101,将终端应用中的原始用户答题数据分批从MongoDB同步至数据仓库Hive的数据表中。可以理解的是,在本申请中终端应用的原始答题数据是存储在MongoDB中的,通过分批从MongoDB读取数据,不会因数据量过大长期占用公司网络带宽。在可选实施例中,装置可以基于同步周期从MongoDB中存储的原始用户答题数据中选取相关的答题信息数据,其中同步周期可以是预先设置好的调用周期,该周期可以随时根据业务需求进行更改,上述答题信息数据可以是原始用户答题数据用于答题直接相关本文档来自技高网...

【技术保护点】
1.一种基于MongoDB的答题数据统计方法,其特征在于,包括:/n将终端应用中的原始用户答题数据分批从MongoDB同步至数据仓库Hive的数据表中;/n在所述数据仓库Hive中统计所述原始用户答题数据对应的答题正确率,将所述答题正确率存入结果表中;/n将所述Hive中的结果表中的数据写入Mysql中,以便从所述Mysql中查询所述结果表中的数据。/n

【技术特征摘要】
1.一种基于MongoDB的答题数据统计方法,其特征在于,包括:
将终端应用中的原始用户答题数据分批从MongoDB同步至数据仓库Hive的数据表中;
在所述数据仓库Hive中统计所述原始用户答题数据对应的答题正确率,将所述答题正确率存入结果表中;
将所述Hive中的结果表中的数据写入Mysql中,以便从所述Mysql中查询所述结果表中的数据。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在数据仓库Hive中创建数据表。


3.根据权利要求1所述的方法,其特征在于,所述将终端应用中的原始用户答题数据分批从MongoDB同步至数据仓库Hive的数据表中,包括:
基于同步周期从MongoDB中存储的终端应用中的原始用户答题数据中选取相关的答题信息数据;
对所述答题信息数据进行拼接、压缩后上传至数据仓库Hive的数据表中。


4.根据权利要求3所述的方法,其特征在于,所述对所述答题信息数据进行拼接、压缩后上传至数据仓库Hive的数据表中,包括:
将所述答题信息数据按照hdfs数据文件的格式拼接,并将拼接后的数据写入数据文件中进行压缩;
调用WebHDFSRESTAPI将压缩后的数据文件上传至数据仓库Hive的数据表中。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据输入的调用参数,从所述Mysql中返回相匹配的查询结果。


6.一种基于MongoDB的答题数据统计装置,其特征...

【专利技术属性】
技术研发人员:梁涌吴峰郭伟
申请(专利权)人:上海易点时空网络有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1