CN110555077A - 自动题库同步方法以及装置 - Google Patents
自动题库同步方法以及装置 Download PDFInfo
- Publication number
- CN110555077A CN110555077A CN201910801107.9A CN201910801107A CN110555077A CN 110555077 A CN110555077 A CN 110555077A CN 201910801107 A CN201910801107 A CN 201910801107A CN 110555077 A CN110555077 A CN 110555077A
- Authority
- CN
- China
- Prior art keywords
- data
- question bank
- file system
- temporary
- database
- 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.)
- Withdrawn
Links
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
- 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
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种自动题库同步方法以及装置。该方法包括分批量读取题库数据库,经过筛选后得到临时文件数据;将所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中。本申请解决了题库数据进行同步时需要人工操作而同步效率低下的技术问题。通过本申请能够将所有用户的考题练习数据从现有数据库同步到数据仓库中,设置服务器定时任务,能够实现定时自动同步数据而不需要人工参与操作。数据同步到Hadoop中,为业务运营对用户的答题情况统计分析和业务规划提供便利。
Description
技术领域
本申请涉及大数据处理领域,具体而言,涉及一种自动题库同步方法以及装置。
背景技术
由于业务分析需求,题库需要从源数据库同步至另一数据库。
发明人发现,现有的同步方法需要人工操作,效率低。
针对相关技术中题库数据进行同步时需要人工操作而同步效率低下的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种自动题库同步方法以及装置,以解决题库数据进行同步时需要人工操作而同步效率低下的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种自动题库同步方法。
根据本申请的自动题库同步方法包括:分批量读取题库数据库,经过筛选后得到临时文件数据;将所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中。
进一步地,分批量读取题库数据库,经过筛选后得到临时文件数据包括:
通过调用Hive接口,在分布式文件系统中预先创建数据表用于存储数据;
计算所述题库数据库的数据量得到数据总行数;
设定分批读取的数据量大小进行分批读取数据。
进一步地,分批量读取题库数据库,经过筛选后得到临时文件数据,还包括:
去除题库数据库中的非必要数据信息,将有用数据信息按照所述分布式文件系统的数据文件格式拼接后按行写入临时文件。
进一步地,分批量读取题库数据库,经过筛选后得到临时文件数之后,还包括:
对所述临时文件数进行压缩后再同步到分布式文件系统的服务器。
进一步地,将所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中,包括:
通过调取分布式文件系统提供的数据文件上传接口,将经过压缩后的题库数据文件上传到布式文件系统进行保存。
为了实现上述目的,根据本申请的另一方面,提供了一种自动题库同步装置。
根据本申请的自动题库同步装置包括:分批处理和筛选模块,用于分批量读取题库数据库,经过筛选后得到临时文件数据;写入模块,用于将所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中。
进一步地,所述分批处理和筛选模块,用于
通过调用Hive接口,在分布式文件系统中预先创建数据表用于存储数据;
计算所述题库数据库的数据量得到数据总行数;
设定分批读取的数据量大小进行分批读取数据。
进一步地,装置还包括:筛选模块,用于
去除题库数据库中的非必要数据信息,将有用数据信息按照所述分布式文件系统的数据文件格式拼接后按行写入临时文件。
进一步地,装置还包括:压缩模块,用于
对所述临时文件数进行压缩后再同步到分布式文件系统的服务器。
进一步地,所述写入模块,用于
通过调取分布式文件系统提供的数据文件上传接口,将经过压缩后的题库数据文件上传到布式文件系统进行保存。
在本申请实施例中自动题库同步方法以及装置,采用分批量读取题库数据库,经过筛选后得到临时文件数据的方式,通过将所述临时文件数据写入到分布式文件系统,达到了以使题库数据从所述题库数据库同步到目标数据仓库中的目的,从而实现了自动同步、操作灵活的技术效果,进而解决了题库数据进行同步时需要人工操作而同步效率低下的技术问题。
通过本申请可以自动将MongoDB数据同步到Hadoop,无需人为操作。此外,还可以通过修改代码,灵活筛选数据。优选地,与现有将MongoDB数据导出到BSON文件,再将BSON文件上传到hdfs文件系统中不同,本申请实施例中的方法减少了繁杂操作命令,也规避了人为误操作的风险,同时不影响现有数据库的使用。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例的自动题库同步方法流程示意图;
图2是根据本申请第二实施例的自动题库同步方法流程示意图;
图3是根据本申请实施例的自动题库同步装置结构示意图;
图4是根据本申请实施例的自动题库同步实现方法原理示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本专利实际基于PHP代码,从题库数据源MongoDB数据库中读取数据,根据需要选取有用数据,按照HDFS文件系统的文件格式,将数据进行组装,写入本地临时文件中,然后对文件压缩,上传到Hadoop中。以供后续业务进行数据统计分析。
如图1所示,该方法包括如下的步骤S102至步骤S10:
步骤S102,分批量读取题库数据库,经过筛选后得到临时文件数据;
步骤S104,将所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中。
对分批量读取题库数据库的处理结果进行筛选,经过筛选后得到临时文件数据。对所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中。
需要注意的是,本申请实施例的代码实现流程基于php脚本语言,也可以使用java、python语言等实现,在本申请的实施例中并不进行具体限定。
通过分批批量读取MongoDB数据库,减少服务器带宽占用,减少对业务影响,获得用户答题练习信息。
优选地,还可以再去除非必要的数据信息,将有用的数据信息写入到文件中,并且对文件进行压缩,保存于当前服务器,使用HDFS文件系统提供的接口将压缩文件同步到Hadoop分布式系统中。
从以上的描述中,可以看出,本申请实现了如下技术效果:
在本申请实施例中,采用分批量读取题库数据库,经过筛选后得到临时文件数据的方式,通过将所述临时文件数据写入到分布式文件系统,达到了以使题库数据从所述题库数据库同步到目标数据仓库中的目的,从而实现了自动同步、操作灵活的技术效果,进而解决了题库数据进行同步时需要人工操作而同步效率低下的技术问题。
根据本申请实施例,作为本实施例中的优选,如图2所示,分批量读取题库数据库,经过筛选后得到临时文件数据包括:
步骤202,通过调用Hive接口,在分布式文件系统中预先创建数据表用于存储数据;
步骤204,计算所述题库数据库的数据量得到数据总行数;
步骤206,设定分批读取的数据量大小进行分批读取数据。
具体地,编写类SQL语句,使用Hive接口,在Hadoop中创建数据表,以用于存储数据;计算MongoDB数据源数据量,即数据总行数;设定分批读取的数据量大小,进行分批读取数据。
根据本申请实施例,作为本实施例中的优选,分批量读取题库数据库,经过筛选后得到临时文件数据,还包括:
去除题库数据库中的非必要数据信息,将有用数据信息按照所述分布式文件系统的数据文件格式拼接后按行写入临时文件。
具体地,去除非必要数据信息,将有用数据信息,按照HDFS文件系统,数据文件格式拼接按行写入临时文件。
根据本申请实施例,作为本实施例中的优选,分批量读取题库数据库,经过筛选后得到临时文件数之后,还包括:
对所述临时文件数进行压缩后再同步到分布式文件系统的服务器。
具体地,对于临时文件压缩,以减少数据文件大小,也减少了同步到Hadoop服务器时的网络带宽占用。
根据本申请实施例,作为本实施例中的优选,将所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中,包括:
通过调取分布式文件系统提供的数据文件上传接口,将经过压缩后的题库数据文件上传到布式文件系统进行保存。
具体地,通过调取HDFS文件系统提供的数据文件上传接口,将压缩后的数据文件上传到HDFS文件系统保存。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述自动题库同步方法的自动题库同步装置,如图3所示,该装置包括:分批处理和筛选模块10,用于分批量读取题库数据库,经过筛选后得到临时文件数据;写入模块20,用于将所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中。
本申请的实施例中对分批量读取题库数据库的处理结果进行筛选,经过筛选后得到临时文件数据。对所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中。
需要注意的是,本申请实施例的代码实现流程基于php脚本语言,也可以使用java、python语言等实现,在本申请的实施例中并不进行具体限定。
通过分批批量读取MongoDB数据库,减少服务器带宽占用,减少对业务影响,获得用户答题练习信息。
优选地,还可以再去除非必要的数据信息,将有用的数据信息写入到文件中,并且对文件进行压缩,保存于当前服务器,使用HDFS文件系统提供的接口将压缩文件同步到Hadoop分布式系统中。
根据本申请实施例,作为本实施例中的优选,所述分批处理和筛选模块,用于通过调用Hive接口,在分布式文件系统中预先创建数据表用于存储数据;计算所述题库数据库的数据量得到数据总行数;设定分批读取的数据量大小进行分批读取数据。
具体地,编写类SQL语句,使用Hive接口,在Hadoop中创建数据表,以用于存储数据;计算MongoDB数据源数据量,即数据总行数;设定分批读取的数据量大小,进行分批读取数据。
根据本申请实施例,作为本实施例中的优选,装置还包括:筛选模块,用于去除题库数据库中的非必要数据信息,将有用数据信息按照所述分布式文件系统的数据文件格式拼接后按行写入临时文件。
具体地,去除非必要数据信息,将有用数据信息,按照HDFS文件系统,数据文件格式拼接按行写入临时文件。
根据本申请实施例,作为本实施例中的优选,装置还包括:压缩模块,用于对所述临时文件数进行压缩后再同步到分布式文件系统的服务器。
具体地,对于临时文件压缩,以减少数据文件大小,也减少了同步到Hadoop服务器时的网络带宽占用。
根据本申请实施例,作为本实施例中的优选,所述写入模块,用于通过调取分布式文件系统提供的数据文件上传接口,将经过压缩后的题库数据文件上传到布式文件系统进行保存。
具体地,通过调取HDFS文件系统提供的数据文件上传接口,将压缩后的数据文件上传到HDFS文件系统保存。
请参考图4,是本申请的实现原理示意图,
步骤S1,在Hadoop中创建数据表,用于存储数据。
编写类SQL语句,使用Hive接口,在Hadoop中创建数据表,以用于存储数据。
步骤S2,计算数据源数据总行数。
计算MongoDB数据源数据量,即数据总行数。
步骤S3,分批读取数据。
设定分批读取的数据量大小,进行分批读取数据。
步骤S4,数据筛选,按照HDFS文件系统数据文件格式拼接,按行写入文本临时文件。
去除非必要数据信息,将有用数据信息,按照hdfs文件系统,数据文件格式拼接按行写入临时文件。
步骤S5,对临时文件压缩。
对临时文件压缩,以减少数据文件大小,也减少了同步到Hadoop服务器时的网络带宽占用。
步骤S6,将数据文件上传到HDFS文件系统。
通过调取hdfs文件系统提供的数据文件上传接口,将压缩后的数据文件上传到hdfs文件系统保存。
步骤S7,当前批次是否大于总批次。
判断当前批次是否大于总批次,如果不大于则返回步骤S3,如果不大于则结束进入步骤S8。
步骤S8,结束。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种自动题库同步方法,其特征在于,包括:
分批量读取题库数据库,经过筛选后得到临时文件数据;
将所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中。
2.根据权利要求1所述的题库同步方法,其特征在于,分批量读取题库数据库,经过筛选后得到临时文件数据包括:
通过调用Hive接口,在分布式文件系统中预先创建数据表用于存储数据;
计算所述题库数据库的数据量得到数据总行数;
设定分批读取的数据量大小进行分批读取数据。
3.根据权利要求1所述的题库同步方法,其特征在于,分批量读取题库数据库,经过筛选后得到临时文件数据,还包括:
去除题库数据库中的非必要数据信息,将有用数据信息按照所述分布式文件系统的数据文件格式拼接后按行写入临时文件。
4.根据权利要求1所述的题库同步方法,其特征在于,分批量读取题库数据库,经过筛选后得到临时文件数之后,还包括:
对所述临时文件数进行压缩后再同步到分布式文件系统的服务器。
5.根据权利要求1所述的题库同步方法,其特征在于,将所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中,包括:
通过调取分布式文件系统提供的数据文件上传接口,将经过压缩后的题库数据文件上传到布式文件系统进行保存。
6.一种自动题库同步装置,其特征在于,包括:
分批处理和筛选模块,用于分批量读取题库数据库,经过筛选后得到临时文件数据;
写入模块,用于将所述临时文件数据写入到分布式文件系统,以使题库数据从所述题库数据库同步到目标数据仓库中。
7.根据权利要求6所述的自动题库同步装置,其特征在于,所述分批处理和筛选模块,用于
通过调用Hive接口,在分布式文件系统中预先创建数据表用于存储数据;
计算所述题库数据库的数据量得到数据总行数;
设定分批读取的数据量大小进行分批读取数据。
8.根据权利要求6所述的自动题库同步装置,其特征在于,还包括:筛选模块,用于
去除题库数据库中的非必要数据信息,将有用数据信息按照所述分布式文件系统的数据文件格式拼接后按行写入临时文件。
9.根据权利要求6所述的自动题库同步装置,其特征在于,还包括:压缩模块,用于
对所述临时文件数进行压缩后再同步到分布式文件系统的服务器。
10.根据权利要求6所述的自动题库同步装置,其特征在于,所述写入模块,用于
通过调取分布式文件系统提供的数据文件上传接口,将经过压缩后的题库数据文件上传到布式文件系统进行保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910801107.9A CN110555077A (zh) | 2019-08-27 | 2019-08-27 | 自动题库同步方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910801107.9A CN110555077A (zh) | 2019-08-27 | 2019-08-27 | 自动题库同步方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110555077A true CN110555077A (zh) | 2019-12-10 |
Family
ID=68737011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910801107.9A Withdrawn CN110555077A (zh) | 2019-08-27 | 2019-08-27 | 自动题库同步方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110555077A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650805A (zh) * | 2020-12-30 | 2021-04-13 | 杭州贝嘟科技有限公司 | 数据导出方法、装置、计算机设备和可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160140132A1 (en) * | 2014-11-19 | 2016-05-19 | Unisys Corporation | Online redistribution |
-
2019
- 2019-08-27 CN CN201910801107.9A patent/CN110555077A/zh not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160140132A1 (en) * | 2014-11-19 | 2016-05-19 | Unisys Corporation | Online redistribution |
Non-Patent Citations (2)
Title |
---|
多雪松等: "基于Hadoop的海量数据管理系统", 《微计算机信息》 * |
郭海红等: "公众健康科普知识阅读素养测评方法初探", 《中国医学教育技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650805A (zh) * | 2020-12-30 | 2021-04-13 | 杭州贝嘟科技有限公司 | 数据导出方法、装置、计算机设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557470B (zh) | 数据提取方法和装置 | |
CN107958028A (zh) | 数据采集的方法、装置、存储介质及终端 | |
CN109857803B (zh) | 数据同步方法、装置、设备、系统及计算机可读存储介质 | |
CN108073402A (zh) | 基于Linux系统的kafka集群自动部署方法和装置 | |
CN110275861A (zh) | 数据存储方法及装置、存储介质、电子装置 | |
CN109254988A (zh) | 报表自动测试方法、装置、计算机存储介质及设备 | |
CN104767795A (zh) | 一种基于hadoop的lte mro数据统计方法及系统 | |
CN110704400A (zh) | 实时数据同步方法以及装置、服务器 | |
CN108200070A (zh) | 一种生成榜单的方法及装置 | |
CN109117172A (zh) | 一种目标终端的终端版本号识别的方法及装置 | |
CN108628669A (zh) | 一种调度机器学习算法任务的方法和装置 | |
CN108319641A (zh) | 菜品信息录入方法及装置 | |
CN111078701A (zh) | 基于关系型数据库的数据抽取方法及装置 | |
CN108664657A (zh) | 一种大数据任务调度方法、电子设备、存储介质及平台 | |
CN110198327B (zh) | 一种数据传输方法及相关设备 | |
CN110083386A (zh) | 随机数产生控制方法、装置、计算机设备及存储介质 | |
CN109634951A (zh) | 大数据采集方法、装置、计算机设备及存储介质 | |
CN112990455A (zh) | 网络模型的发布方法及装置、存储介质、电子设备 | |
CN113656194A (zh) | 对账结果数据的通知方法、装置、电子装置及存储介质 | |
CN115526160A (zh) | 富文本处理方法、装置、设备及存储介质 | |
CN105516337A (zh) | 基于动态加载机制的web站点对接解析方法 | |
CN110555077A (zh) | 自动题库同步方法以及装置 | |
CN102340791A (zh) | 一种用于实现数据一致性的系统和方法 | |
CN111552527A (zh) | 用户界面内文字翻译方法、装置、系统及存储介质 | |
CN110362548A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191210 |