一种数据转移方法、装置、电子设备和存储介质与流程



1.本技术涉及数据处理技术领域,更具体地说,涉及一种数据转移方法、装置、电子设备和存储介质。


背景技术:



2.随着银行业数字化转型,银行业目前部署的it系统种类越来越多,如主机上的db2数据库、开放平台上的oracle数据库、mysql数据库、基于大数据的gbase数据库、分布式数据库等等,这些数据库在数据备份上一般通过工具导出文件,然后进行压缩,将压缩后的文件通过文件传输工具发送到大数据平台,再给下游系统消费使用。
3.在传统数据传输消费设计上,一般会先把数据从数据库用工具导出来,然后压缩成文件,再通文件过传输工具传输给大数据平台或下游消费方系统,最后由下游消费方系统解压缩文件,进行入库分析。整个流程时间比较长,对于时效性要求较高的文件往往不能满足需求。


技术实现要素:



4.有鉴于此,本技术提供一种数据转移方法、装置、电子设备和存储介质,用于以较高的速度将数据库中数据实现转移备份等操作,以满足高时效性文件对时效性的要求。
5.为了实现上述目的,现提出的方案如下:
6.一种数据转移方法,应用于电子设备,所述数据转移方法包括步骤:
7.采用对比方式从源数据库抽取增量数据;
8.将所述增量数据发送至新建的hadoop集;
9.将所述hadoop集中的所述增量数据直接复制到目标数据库。
10.可选的,所述采用对比从源数据库抽取增量数据,包括步骤:
11.利用具有比对功能的抽取工具对源数据库的数据进行比对,得到所述增量数据;
12.抽取所述增量数据。
13.可选的,所述将所述增量数据发送至新建的hadoop集,包括步骤:
14.新建所述hadoop集;
15.将抽取的所述增量数据转移至所述hadoop集。
16.可选的,所述将所述hadoop集中的所述增量数据直接复制到目标数据库,包括步骤:
17.采用distcp将所述增量数据复制到所述目标数据库。
18.一种数据转移装置,应用于电子设备,所述数据转移装置包括:
19.比对提取模块,被配置为采用对比方式从源数据库抽取增量数据;
20.第一转移模块,被配置为将所述增量数据发送至新建的hadoop集;
21.第二转移模块,被配置为将所述hadoop集中的所述增量数据直接复制到目标数据库。
22.可选的,所述比对提取模块包括:
23.比对执行单元,被配置为利用具有比对功能的抽取工具对源数据库的数据进行比对,得到所述增量数据;
24.抽取执行单元,被配置为抽取所述增量数据。
25.可选的,所述第一转移模块包括:
26.集新建单元,被配置为新建所述hadoop集;
27.数据转移单元,被配置为将抽取的所述增量数据转移至所述hadoop集。
28.可选的,所述第二转移模块包括:
29.转移执行单元,被配置为采用distcp将所述增量数据复制到所述目标数据库。
30.一种电子设备,包括至少一个处理器和与所述处理器连接的存储器,其中:
31.所述存储器用于存储计算机程序或指令;
32.所述处理器用于执行所述计算机程序或指令,以使所述电子设备实现如上所述的数据转移方法。
33.一种存储介质,应用于电子设备,可选的,所述存储介质承载一个或多个计算机程序,所述一个或多个计算机程序能够被所述电子设备执行,从而能够使所述电子设备实现如上所述的数据转移方法。
34.从上述的技术方案可以看出,本技术公开了一种数据转移方法、装置、电子设备和存储介质,该方法和装置应用于电子设备,具体为采用对比方式从源数据库抽取增量数据;将增量数据发送至新建的hadoop集;将hadoop集中的增量数据直接复制到目标数据库。本方案无需将所有数据予以转移,仅转移增量数据,从而有效减少了需要转移的数据,从而以较高的速度将数据库中数据实现转移备份等操作,满足了高时效性文件对时效性的要求。
35.另外,本技术的方案优化流程,缩短步骤,减少了耗时。跟旧的数据备份方法对比,本发明去掉了数据导出、数据压缩、数据传输、数据解压缩的步骤,改成了数据抽取、数据同步两个步骤,操作步骤减少,耗时减少。
36.还有,通过提前分析,增量比对,降低了带宽消耗。由于抽取的时候进行了比对,将每日新增的数据或变化的数据分析出来进行抽取,在数据量上与全量数据相比大大减少,因此在进行异地传输时对网络带宽消耗也大大降低。
附图说明
37.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本技术实施例的一种数据转移方法的流程图;
39.图2为本技术实施例的一种数据转移装置的框图;
40.图3为本技术实施例的另一种数据转移装置的框图;
41.图4为本技术实施例的又一种数据转移装置的框图;
42.图5为本技术实施例的又一种数据转移装置的框图;
43.图6为本技术实施例的一种电子设备的框图。
具体实施方式
44.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.实施例一
46.图1为本技术实施例的一种数据转移方法的流程图。
47.如图1所示,本实施例提供的数据转移方法应用于电子设备,用于将需要转移的数据从源数据库转移至目标数据库,这里的电子设备可以理解为具有信息处理能力和数据计算能力的计算机、服务器或集,本实施例中的数据转移方法包括如下步骤:
48.s1、采用比对方式从源数据库中抽取增量数据。
49.这里的增量数据是指一个阶段或一个时长范围内该源数据库新增的数据,相对于增量数据的原有数据默认已经被预先备份或转移至目标数据库。本实施例采用开源工具sqoop连接各类型关系数据库实现抽取。
50.具体来说,本技术采用下面的步骤实现增量数据的抽取:
51.首先,利用该sqoop对各类型关系数据库进行增量对比;然后,从各类型关系数据库中比对出的增量数据予以抽取。
52.sqoop采用maponly作业进行hadoop(hdfs/hbase/hive)与关系型数据库之间的数据导入导出,对hadoop的map task具有较强的依赖,因此其通常以模块形式部署在hadoop端。理论上hqoop支持任何一款支持jdbc规范的数据库,并且能将db2数据以定界文本、avro二进制以及squencefiles等多种文件类型保存在hdfs上。sqoop向用户提供了命令行模式的控制方式,支持基于参数的shell脚本与java程序调用,使用方式均较为简单。本技术中是基于在sqoop上编写sql语句实现进行增量比对的抽取。
53.s2、将增量数据发送至新建的hadoop集。
54.在完成增量数据的抽取后,将其发送至hadoo集进行暂存,具体方案如下:
55.本技术泛起直接的文件传输,而是,首先新建一个hadoop集,然后将抽取的增量数据发抽取到hadoop集实施暂存。
56.s3、将增量数据直接复制到目标数据库。
57.即在完成将增量数据发送至新建的hadoop集后,使用distcp直接复制到目的数据库。
58.之所以采用distcp,而不采用文件传输工具,其原因是:1)distcp是hdfs层面的数据分布式拷贝,迁移过程中虽然会占用磁盘和网络的资源,但不占用hbase的资源,迁移效率较高。2)distcp迁移至目标集的数据文件,可以直接在hbase表恢复,恢复速度较快,对原集无影响。3)使用distcp迁移速度较快,在6结点对6结点的测试环境中,数据迁移速度平均在135m/s左右,每小时可以迁移数据约500g。
59.从上述技术方案可以看出,本实施例提供了一种数据转移方法,该方法应用于电子设备,具体为采用对比方式从源数据库抽取增量数据;将增量数据发送至新建的hadoop
集;将hadoop集中的增量数据直接复制到目标数据库。本方案无需将所有数据予以转移,仅转移增量数据,从而有效减少了需要转移的数据,从而以较高的速度将数据库中数据实现转移备份等操作,满足了高时效性文件对时效性的要求。
60.另外,本技术的方案优化流程,缩短步骤,减少了耗时。跟旧的数据备份方法对比,本发明去掉了数据导出、数据压缩、数据传输、数据解压缩的步骤,改成了数据抽取、数据同步两个步骤,操作步骤减少,耗时减少。
61.还有,通过提前分析,增量比对,降低了带宽消耗。由于抽取的时候进行了比对,将每日新增的数据或变化的数据分析出来进行抽取,在数据量上与全量数据相比大大减少,因此在进行异地传输时对网络带宽消耗也大大降低。
62.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
63.虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
64.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
65.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如c语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机。
66.实施例二
67.图2为本技术实施例的一种数据转移装置的框图。
68.如图2所示,本实施例提供的数据转移装置应用于电子设备,用于将需要转移的数据从源数据库转移至目标数据库,这里的电子设备可以理解为具有信息处理能力和数据计算能力的计算机、服务器或集,本实施例中的数据转移装置包括比对提取模块10、第一转移模块20和第二转移模块30。
69.比对提取模块以农耕有采用比对方式从源数据库中抽取增量数据。
70.这里的增量数据是指一个阶段或一个时长范围内该源数据库新增的数据,相对于增量数据的原有数据默认已经被预先备份或转移至目标数据库。本实施例采用开源工具
sqoop连接各类型关系数据库实现抽取。
71.具体来说,该比对提取模块包括比对执行单元11和抽取执行单元12,如图3所示,基于此实现增量数据的抽取:
72.比对执行单元用于利用该sqoop对各类型关系数据库进行增量对比;抽取执行单元用于从各类型关系数据库中比对出的增量数据予以抽取。
73.sqoop采用maponly作业进行hadoop(hdfs/hbase/hive)与关系型数据库之间的数据导入导出,对hadoop的map task具有较强的依赖,因此其通常以模块形式部署在hadoop端。理论上hqoop支持任何一款支持jdbc规范的数据库,并且能将db2数据以定界文本、avro二进制以及squencefiles等多种文件类型保存在hdfs上。sqoop向用户提供了命令行模式的控制方式,支持基于参数的shell脚本与java程序调用,使用方式均较为简单。本技术中是基于在sqoop上编写sql语句实现进行增量比对的抽取。
74.第一转移模块用于将增量数据发送至新建的hadoop集。
75.在完成增量数据的抽取后,将其发送至hadoo集进行暂存,该第一转移模块包括集新建单元21和数据转移单元22,如图4所示。
76.本技术泛起直接的文件传输,而是,利用集新建单元新建一个hadoop集,然后数据转移单元将抽取的增量数据发抽取到hadoop集实施暂存。
77.第二转移模块用于将增量数据直接复制到目标数据库。本模块包括转移执行单元31,如图5所示。
78.转移执行单元用于在完成将增量数据发送至新建的hadoop集后,使用distcp直接复制到目的数据库。
79.之所以采用distcp,而不采用文件传输工具,其原因是:1)distcp是hdfs层面的数据分布式拷贝,迁移过程中虽然会占用磁盘和网络的资源,但不占用hbase的资源,迁移效率较高。2)distcp迁移至目标集的数据文件,可以直接在hbase表恢复,恢复速度较快,对原集无影响。3)使用distcp迁移速度较快,在6结点对6结点的测试环境中,数据迁移速度平均在135m/s左右,每小时可以迁移数据约500g。
80.从上述技术方案可以看出,本实施例提供了一种数据转移方法,该方法应用于电子设备,具体为采用对比方式从源数据库抽取增量数据;将增量数据发送至新建的hadoop集;将hadoop集中的增量数据直接复制到目标数据库。本方案无需将所有数据予以转移,仅转移增量数据,从而有效减少了需要转移的数据,从而以较高的速度将数据库中数据实现转移备份等操作,满足了高时效性文件对时效性的要求。
81.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
82.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
83.实施例三
84.图6为本技术实施例的一种电子设备的框图。
85.参考图6所示,其示出了适于用来实现本公开实施例中的电子设备的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。该电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
86.电子设备可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器rom中的程序或者从输入装置606加载到随机访问存储器ram603中的程序而执行各种适当的动作和处理。在ram中,还存储有电子设备操作所需的各种程序和数据。处理装置、rom以及ram通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
87.通常,以下装置可以连接至i/o接口:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
88.实施例四
89.本实施例提供了一种计算机可读的存储介质,该存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备采用对比方式从源数据库抽取增量数据;将增量数据发送至新建的hadoop集;将hadoop集中的增量数据直接复制到目标数据库。本方案无需将所有数据予以转移,仅转移增量数据,从而有效减少了需要转移的数据,从而以较高的速度将数据库中数据实现转移备份等操作,满足了高时效性文件对时效性的要求。
90.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
91.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
92.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
93.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
94.以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:


1.一种数据转移方法,应用于电子设备,其特征在于,所述数据转移方法包括步骤:采用对比方式从源数据库抽取增量数据;将所述增量数据发送至新建的hadoop集;将所述hadoop集中的所述增量数据直接复制到目标数据库。2.如权利要求1所述的数据转移方法,其特征在于,所述采用对比从源数据库抽取增量数据,包括步骤:利用具有比对功能的抽取工具对源数据库的数据进行比对,得到所述增量数据;抽取所述增量数据。3.如权利要求1所述的数据转移方法,其特征在于,所述将所述增量数据发送至新建的hadoop集,包括步骤:新建所述hadoop集;将抽取的所述增量数据转移至所述hadoop集。4.如权利要求1所述数据转移方法,其特征在于,所述将所述hadoop集中的所述增量数据直接复制到目标数据库,包括步骤:采用distcp将所述增量数据复制到所述目标数据库。5.一种数据转移装置,应用于电子设备,其特征在于,所述数据转移装置包括:比对提取模块,被配置为采用对比方式从源数据库抽取增量数据;第一转移模块,被配置为将所述增量数据发送至新建的hadoop集;第二转移模块,被配置为将所述hadoop集中的所述增量数据直接复制到目标数据库。6.如权利要求5所述的数据转移装置,其特征在于,所述比对提取模块包括:比对执行单元,被配置为利用具有比对功能的抽取工具对源数据库的数据进行比对,得到所述增量数据;抽取执行单元,被配置为抽取所述增量数据。7.如权利要求5所述的数据转移装置,其特征在于,所述第一转移模块包括:集新建单元,被配置为新建所述hadoop集;数据转移单元,被配置为将抽取的所述增量数据转移至所述hadoop集。8.如权利要求5所述数据转移装置,其特征在于,所述第二转移模块包括:转移执行单元,被配置为采用distcp将所述增量数据复制到所述目标数据库。9.一种电子设备,其特征在于,包括至少一个处理器和与所述处理器连接的存储器,其中:所述存储器用于存储计算机程序或指令;所述处理器用于执行所述计算机程序或指令,以使所述电子设备实现如权利要求1~4任一项所述的数据转移方法。10.一种存储介质,应用于电子设备,其特征在于,所述存储介质承载一个或多个计算机程序,所述一个或多个计算机程序能够被所述电子设备执行,从而能够使所述电子设备实现如权利要求1~4任一项所述的数据转移方法。

技术总结


本申请公开了一种数据转移方法、装置、电子设备和存储介质,该方法和装置应用于电子设备,具体为采用对比方式从源数据库抽取增量数据;将增量数据发送至新建的hadoop集;将hadoop集中的增量数据直接复制到目标数据库。本方案无需将所有数据予以转移,仅转移增量数据,从而有效减少了需要转移的数据,从而以较高的速度将数据库中数据实现转移备份等操作,满足了高时效性文件对时效性的要求。满足了高时效性文件对时效性的要求。满足了高时效性文件对时效性的要求。


技术研发人员:

徐进晓

受保护的技术使用者:

中国农业银行股份有限公司

技术研发日:

2022.10.11

技术公布日:

2022/12/23

本文发布于:2024-09-26 02:11:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/47684.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   所述   增量   集群
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议