批量数据快速写入方法、系统和装置制造方法及图纸

技术编号:32968613 阅读:10 留言:0更新日期:2022-04-09 11:29
本申请公开了一种批量数据快速写入方法、系统和装置,本方法通过接收由消息中间件转发的批量数据,对所述批量数据进行数据清洗校验,得到目标数据源;基于预先定义的数据类型,对所述目标数据源进行分类处理得到所述目标数据源的数据类型;根据所述目标数据源的数据类型,构建对应的数据结构,根据所述数据结构,构建用于批量写入更新所述目标数据源的SQL语句;根据所述目标数据源的SQL语句集合,采用数据库提供的批量写入更新接口对所述目标数据源进行数据入库。本申请解决相关技术中现有数据写入效率较低的技术问题,提高了数据写入的效率,且批量写入数据来源从文件切换到数据库的可行性更强。的可行性更强。的可行性更强。

【技术实现步骤摘要】
批量数据快速写入方法、系统和装置


[0001]本申请属于计算机
,具体而言,涉及一种批量数据快速写入方法、系统、电子设备及存储介质。

技术介绍

[0002]目前数据库都是少量数据更新写入,无法满足BI数据源模块大量数据写入到数据库,对于大量数据,目前没有上限限制,针对不同的数据库,可能会触发超出数据库单次写入最大限制问题,导致数据写入效率较低。

技术实现思路

[0003]本申请实施例的第一目的在于提供一种批量数据快速写入方法,旨在解决上述现有技术存在的至少一个问题。
[0004]本申请实施例是这样实现的,一种批量数据快速写入方法,包括:
[0005]接收由消息中间件转发的批量数据,对所述批量数据进行数据清洗校验,得到目标数据源;
[0006]基于预先定义的数据类型,对所述目标数据源进行分类处理得到所述目标数据源的数据类型;
[0007]根据所述目标数据源的数据类型,构建对应的数据结构,根据所述数据结构,构建用于批量写入更新所述目标数据源的SQL语句;
[0008]根据所述目标数据源的SQL语句集合,采用数据库提供的批量写入更新接口对所述目标数据源进行数据入库。
[0009]在一个实施例中,还包括:判断数据库中是否存在所述目标数据源,若存在,则将所目标数据源批量更新至所述数据库中,若不存在,则将所述目标数据源批量插入所述数据库中。
[0010]在一个实施例中,所述接收由消息中间件转发的批量数据包括:通过Python中的Pika模块连接Rabbitmq服务器,通过consumer方法接收被清洗、转换过后的源数据源数据,得到所述批量数据。
[0011]在一个实施例中,所述对所述批量数据进行数据清洗校验,得到目标数据源包括:对所述批量数据中写入数据仓库的索引字段进行校验,将校验未通过的数据剔除,得到所述目标数据源。
[0012]在一个实施例中,所述根据所述目标数据源的数据类型,构建对应的数据结构包括:提取所述目标数据源的索引字段,通过所述索引字段得到所述目标数据源的数据类型,根据所述目标数据源的数据类型构建对应的数据结构。
[0013]在一个实施例中,所述采用数据库提供的批量写入更新接口对所述目标数据源进行数据入库包括:通过MongoDB的bulkWrite方式将所述目标数据源进行数据入库。
[0014]本申请实施例的另一目的在于提供一种批量数据快速写入系统,包括:
[0015]数据清洗校验模块,用于接收由消息中间件转发的批量数据,对所述批量数据进行数据清洗校验,得到目标数据源;
[0016]数据分类模块,用于基于预先定义的数据类型,对所述目标数据源进行分类处理得到所述目标数据源的数据类型;
[0017]数据结构构建模块,用于根据所述目标数据源的数据类型,构建对应的数据结构,根据所述数据结构,构建用于批量写入更新所述目标数据源的SQL语句;
[0018]数据入库模块,用于根据所述目标数据源的SQL语句集合,采用数据库提供的批量写入更新接口对所述目标数据源进行数据入库。
[0019]在一个实施例中,还包括:判断数据库中是否存在所述目标数据源,若存在,则将所目标数据源批量更新至所述数据库中,若不存在,则将所述目标数据源批量插入所述数据库中。
[0020]本申请实施例的又一目的在于提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述批量数据快速写入方法的步骤。
[0021]本申请实施例的再一目的在于一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述批量数据快速写入方法的步骤。
[0022]本申请实施例提供的一种批量数据快速写入方法、系统、电子设备及存储介质,通过接收由消息中间件转发的批量数据,对所述批量数据进行数据清洗校验,得到目标数据源;基于预先定义的数据类型,对所述目标数据源进行分类处理得到所述目标数据源的数据类型;根据所述目标数据源的数据类型,构建对应的数据结构,根据所述数据结构,构建用于批量写入更新所述目标数据源的SQL语句;根据所述目标数据源的SQL语句集合,采用数据库提供的批量写入更新接口对所述目标数据源进行数据入库。由此提高了数据写入的效率,且批量写入数据来源从文件切换到数据库的可行性更强。
附图说明
[0023]图1为本申请一个实施例提供的批量数据快速写入方法的实现流程;
[0024]图2为本申请一个实施例提供的批量数据快速写入系统的主要模块示意图;
[0025]图3为本申请实施例提供的可以应用于其中的示例性系统架构图;
[0026]图4为适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
[0027]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0028]在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是
指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0029]应当理解,尽管在本申请实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。
[0030]需要指出的是,在不冲突的情况下,本申请中的实施例以及实施例中的特征可以互相组合。
[0031]为了进一步阐述本申请为实现预定专利技术目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本申请的具体实施方式、结构、特征及其功效,详细说明如下。
[0032]图1示出了本申请一个实施例提供的一种批量数据快速写入方法的实现流程,为了便于说明,仅示出与本申请实施例相关的部分,详述如下:
[0033]一种批量数据快速写入方法,包括以下步骤:
[0034]S101:接收由消息中间件转发的批量数据,对所述批量数据进行数据清洗校验,得到目标数据源;
[0035]S102:基于预先定义的数据类型,对所述目标数据源进行分类处理得到所述目标数据源的数据类型;
[0036]S103:根据所述目标数据源的数据类型,构建对应的数据结构,根据所述数据结构,构建用于批量写入更新所述目标数据源的SQL语句;
[0037]S104:根据所述目标数据源的SQL语句集合,采用数据库提供的批量写入更新接口对所述目标数据源进行数据入库。
[0038]在步骤S101中:接收由消息中间件转发的批量数据,对所述批量数据进行数据清洗校验,得到目标数据源。脚本或接口端可以推送数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种批量数据快速写入方法,其特征在于,包括:接收由消息中间件转发的批量数据,对所述批量数据进行数据清洗校验,得到目标数据源;基于预先定义的数据类型,对所述目标数据源进行分类处理得到所述目标数据源的数据类型;根据所述目标数据源的数据类型,构建对应的数据结构,根据所述数据结构,构建用于批量写入更新所述目标数据源的SQL语句;根据所述目标数据源的SQL语句集合,采用数据库提供的批量写入更新接口对所述目标数据源进行数据入库。2.根据权利要求1所述的批量数据快速写入方法,其特征在于,还包括:判断数据库中是否存在所述目标数据源,若存在,则将所目标数据源批量更新至所述数据库中,若不存在,则将所述目标数据源批量插入所述数据库中。3.根据权利要求1所述的批量数据快速写入方法,其特征在于,所述接收由消息中间件转发的批量数据包括:通过Python中的Pika模块连接Rabbitmq服务器,通过consumer方法接收被清洗、转换过后的源数据源数据,得到所述批量数据。4.根据权利要求1或3所述的批量数据快速写入方法,其特征在于,所述对所述批量数据进行数据清洗校验,得到目标数据源包括:对所述批量数据中写入数据仓库的索引字段进行校验,将校验未通过的数据剔除,得到所述目标数据源。5.根据权利要求4所述的批量数据快速写入方法,其特征在于,所述根据所述目标数据源的数据类型,构建对应的数据结构包括:提取所述目标数据源的索引字段,通过所述索引字段得到所述目标数据源的数据类型,根据所述目标数据源的数据类型构建对应的数据结构...

【专利技术属性】
技术研发人员:孙晓龙
申请(专利权)人:苏州众言网络科技股份有限公司
类型:发明
国别省市:

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

1