一种跨数据库批量传导数据的方法与装置制造方法及图纸

技术编号:20242308 阅读:52 留言:0更新日期:2019-01-29 23:20
本发明专利技术公开了一种跨数据库批量传导数据的方法与装置,包括:对第一数据库中待传导的数据分段,依次生成多个数据切片;在每个数据切片被生成后,立即将该数据切片导出到内存中;当内存中存在的数据切片达到指定数量时,将数据切片并行地同时导入第二数据库。本发明专利技术的技术方案能够针对不同数据或不同类型的数据进行跨数据库批量传导,提高数据批量传输效率,降低传输时间。

【技术实现步骤摘要】
一种跨数据库批量传导数据的方法与装置
本专利技术涉及数据传输领域,并且更具体地,特别是涉及一种跨数据库批量传导数据的方法与装置。
技术介绍
现有技术中最常用的大数据搜索引擎是ElasticSearch(ES),加载进ES的数据可以快速地被搜索和查询。ES数据来源之一是从关系型数据库(如K-DB数据库)。现有技术中缺乏将数据从K-DB快速批量载入ES的方案。现有技术是把数据从K-DB数据库查询出并生成数据文件(即所谓的文件落地),再把落地的数据文件导入ES中,由于导入是全量导入,在数据量大时导入效率较低。针对现有技术中缺乏跨数据库快速批量传导数据方法的问题,目前尚未有有效的解决方案。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提出一种跨数据库批量传导数据的方法与装置,能够针对不同数据或不同类型的数据进行跨数据库批量传导,提高数据批量传输效率,降低传输时间。基于上述目的,本专利技术实施例的一方面提供了一种跨数据库批量传导数据的方法,包括以下步骤:对第一数据库中待传导的数据分段,依次生成多个数据切片;在每个数据切片被生成后,立即将该数据切片导出到内存中;当内存中存在的数据切片达到指定数量时,将数据切片并行地同时导入第二数据库。在一些实施方式中,将数据切片并行地同时导入第二数据库包括:将该指定数量的数据切片并行地同时导入第二数据库。在一些实施方式中,对第一数据库中待传导的数据分段包括:获取数据切片阈值,并将传导的数据按照数据切片阈值来分割成指定大小的多个数据切片。在一些实施方式中,将数据切片存储在内存的缓冲区中,并且不为数据切片生成相应的切片文件。在一些实施方式中,将数据切片并行地同时导入第二数据库包括:将内存中的所有数据切片并行地同时导入第二数据库。在一些实施方式中,在第一数据库依次生成多个数据切片时,每两个相邻的数据切片之间具有生成时间间隔。在一些实施方式中,第一数据库为关系型数据库K-DB;第二数据库为ElasticSearch搜索引擎的数据库。在一些实施方式中,对K-DB数据库中待传导的数据使用shell脚本进行分段;将内存中的多个数据切片使用bulk导入ElasticSearch搜索引擎的数据库。本专利技术实施例的另一方面,还提供了一种跨数据库批量传导数据的装置,包括:第一数据库;第二数据库;内存;存储器,存储有可运行的程序代码;至少一个处理器,在运行存储器存储的程序代码时执行上述跨数据库批量传导数据的方法,以将数据从第一数据库通过内存而传导到第二数据库。本专利技术实施例的另一方面,还提供了一种数据库,包括:存储器,存储有可运行的程序代码;至少一个处理器,在运行存储器存储的程序代码时能够通过执行上述跨数据库批量传导数据的方法来批量传导数据。本专利技术具有以下有益技术效果:本专利技术实施例提供的跨数据库批量传导数据的方法与装置,通过对第一数据库中待传导的数据分段,依次生成多个数据切片,在每个数据切片被生成后,立即将该数据切片导出到内存中,当内存中存在的数据切片达到指定数量时,将数据切片并行地同时导入第二数据库的技术方案,能够针对不同数据或不同类型的数据进行跨数据库批量传导,提高数据批量传输效率,降低传输时间。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的跨数据库批量传导数据的方法的流程示意图;图2为本专利技术提供的跨数据库批量传导数据的方法的实施例的数据传送示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。基于上述目的,本专利技术实施例的第一个方面,提出了一种能够针对不同数据或不同类型的数据进行跨数据库批量传导的方法的实施例。图1示出的是本专利技术提供的跨数据库批量传导数据的方法的实施例的流程示意图。所述跨数据库批量传导数据的方法包括以下步骤:步骤S101,对第一数据库中待传导的数据分段,依次生成多个数据切片;步骤S103,在每个数据切片被生成后,立即将该数据切片导出到内存中;步骤S105,当内存中存在的数据切片达到指定数量时,将数据切片并行地同时导入第二数据库。本专利技术通过JDBC方式把数据从第一数据库导出到内存,在导出的同时对数据进行切片,同时对切片的数据批量并行导入第二数据库,实现数据快速传导的目的。JDBC是一种用于执行SQL语句的Java应用程序接口(API),包括用Java语言编写的类和接口,JDBC可以为多种关系数据库提供统一访问。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。在一些实施方式中,当内存中存在多个数据切片时,将多个数据切片并行地同时导入第二数据库。在一些实施方式中,对第一数据库中待传导的数据分段包括:获取数据切片阈值,并将传导的数据按照数据切片阈值来分割成指定大小的多个数据切片。数据切片阈值可以是数据条数,例如可以每1万条数据就形成一个数据切片。根据本专利技术实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本专利技术实施例公开的方法中限定的上述功能。上述方法步骤也可以利用控制器以及用于存储使得控制器实现上述步骤的计算机程序的计算机可读存储介质实现。在一些实施方式中,将数据切片存储在内存的缓冲区中,并且不为数据切片生成相应的切片文件。数据切片在内存中以JSON格式存储,JSON格式是ElasticSearch默认的数据格式。本文所述的计算机可读存储介质(例如内存的缓冲区)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接RambusRAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。在一些实施方式中,将数据切片并行地同时导入第二数据库本文档来自技高网...

【技术保护点】
1.一种跨数据库批量传导数据的方法,其特征在于,包括以下步骤:对第一数据库中待传导的数据分段,依次生成多个数据切片;在每个所述数据切片被生成后,立即将该所述数据切片导出到内存中;当所述内存中存在的所述数据切片达到指定数量时,将所述数据切片并行地同时导入第二数据库。

【技术特征摘要】
1.一种跨数据库批量传导数据的方法,其特征在于,包括以下步骤:对第一数据库中待传导的数据分段,依次生成多个数据切片;在每个所述数据切片被生成后,立即将该所述数据切片导出到内存中;当所述内存中存在的所述数据切片达到指定数量时,将所述数据切片并行地同时导入第二数据库。2.根据权利要求1所述的方法,其特征在于,将所述数据切片并行地同时导入所述第二数据库包括:将所述指定数量的数据切片并行地同时导入第二数据库。3.根据权利要求1所述的方法,其特征在于,对所述第一数据库中待传导的所述数据分段包括:获取数据切片阈值,并将传导的所述数据按照所述数据切片阈值来分割成指定大小的多个所述数据切片。4.根据权利要求1所述的方法,其特征在于,将所述数据切片存储在所述内存的缓冲区中,并且不为所述数据切片生成相应的切片文件。5.根据权利要求1所述的方法,其特征在于,将所述数据切片并行地同时导入所述第二数据库包括:将所述内存中的所有所述数据切片并行地同时导入所述第二数据库。6.根据权利要求1所述的方法,其特征在于,在所述第一数据库依次生...

【专利技术属性】
技术研发人员:魏本帅杜彦魁
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1