1.本发明涉及数据处理技术领域,具体而言,涉及一种数据处理方法、装置、存储介质及电子设备。
背景技术:2.针对海量数据的计算与存储是大数据平台的核心能力,mysql和oracle作为主流的关系型据库是大数据平台数据的主要来源。通常情况下一张表的数据只会存储在mysql或oracle其中一种数据库中,但是随着去oracle的大趋势,需要将oracle数据库中的数据迁移到mysql数据库。为了保障数据库迁移过程中数据的稳定性,常见的做法是将新增数据双写到mysql和oracle数据库,待系统运行一段时间,验证数据准确性后,再将oracle数据库下线,需要数据同步工具同时将oracle和mysql同一张表数据同步到大数据平台,相关技术中通过数据同步工具不能在短时间内实现上述数据的迁移,使得数据库数据迁移效率较低。
技术实现要素:3.本发明实施例提供了一种数据处理方法、装置、存储介质及电子设备,以至少解决相关技术中数据库数据迁移效率较低的技术问题。
4.根据本发明实施例的一个方面,提供了一种数据处理方法,包括:判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库。
5.根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:判断单元,判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;
6.配置单元,用于若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;
7.第一生成单元,用于基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;
8.第一获取单元,用于根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库。
9.根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的数据处理方法。
10.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机
可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据处理方法。
11.在本发明实施例中,采用了判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库的方法,在上述方法中,由于通过将待迁移的数据配置为不同的抽数任务,并将抽数任务通过线程池多线程同步执行数据迁移任务,不仅缩短了数据迁移的时间,而且提高数据库数据迁移的效率,提升了用户体验,进而解决了相关技术中数据库数据迁移效率较低的技术问题。
附图说明
12.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
13.图1是根据本发明实施例的一种可选的数据处理方法的应用环境的示意图;
14.图2是根据本发明实施例的另一种可选的数据处理方法的应用环境的示意图;
15.图3是根据本发明实施例的一种可选的数据处理方法的流程示意图;
16.图4是根据本发明实施例的一种可选的数据源抽数的框架示意图;
17.图5是根据本发明实施例的另一种可选的数据源抽数的框架示意图;
18.图6是根据本发明实施例的另一种可选的数据处理方法的流程示意图;
19.图7是根据本发明实施例的一种可选的数据处理装置的结构示意图;
20.图8是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
21.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
22.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.根据本发明实施例的一个方面,提供了一种数据处理方法,可选地,作为一种可选地实施方式,上述数据处理方法可以但不限于应用于如图1所示的应用环境中。该应用环境中包括:与用户进行人机交互的终端设备102、网络104、服务器106。用户108与终端设备102
之间可以进行人机交互,终端设备102中运行有数据处理应用程序。上述终端设备102中包括人机交互屏幕1022,处理器1024及存储器1026。人机交互屏幕1022用于显示多数据源数据;处理器1024用于获取当前待迁移的数据。存储器1026用于存储上述当前待迁移的数据和抽数任务表。
24.此外,服务器106中包括数据库1062及处理引擎1064,数据库1062中用于存储当前待迁移的数据和抽数任务表。处理引擎1064用于判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库;将数据迁移结果信息返回至上述终端设备102的客户端。
25.在一个或多个实施例中,本技术上述数据处理方法可以应用于图2所示的应用环境中。如图2所示,用户202与用户设备204之间可以进行人机交互。用户设备204中包含有存储器206和处理器208。本实施例中用户设备204可以但不限于参考执行上述终端设备102所执行的操作,获取数据迁移结果信息。
26.可选地,上述终端设备102和用户设备204包括但不限于为手机、机顶盒、电视、平板电脑、笔记本电脑、pc机,车载电子设备,可穿戴设备等终端,上述网络104可以包括但不限于无线网络或有线网络。其中,该无线网络包括:wifi及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器106可以包括但不限于任何可以进行计算的硬件设备。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
27.相关技术中一张表的数据只会存储在mysql或oracle一种数据库中,但是随着去oracle的大趋势,数据存储工具主要选择为mysql。为了保障迁移过程中数据的稳定性,稳妥的策略是将新增数据双写到mysql和oracle数据库,待运行一段时间,验证数据准确性后,再将oracle数据库卸载,只用mysql数据库,这就需要通过数据迁移工具同时将oracle和mysql同一张表数据同步到大数据平台,数据迁移工具并不具备同步迁移全量数据的能力。
28.为了解决上述技术问题,作为一种可选地实施方式,如图3所示,本发明实施例提供了一种数据处理方法,包括如下步骤:
29.s302,判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据。
30.具体地,这里的多数据源数据例如包括mysql数据的数据以及oracle数据库的数据,或者是同一类型的不同版本的数据库中的数据。
31.s304,若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应。
32.具体地,这里的抽数任务表为数据迁移工具中的配置任务表,通过该抽数任务表中包含有待迁移的数据,以及将待迁移数据进行迁移的配置参数。
33.s306,基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列。
34.具体地,根据上述抽数任务表中的数据,调用数据迁移工具生成多个数据抽取指令,每个手机抽取指令对应一组数据源;然后将所述抽数命令集合存储至预设的线程池中的任务队列,然后同步执行数据获取操作。
35.s308,根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库。
36.这里,执行所述任务队列中的每个抽数命令,可以得到待迁移的数据,即目标数据存储至大数据仓库,方便后续对目标数据写入到目标数据库;这里,需要说明的是,大数据仓库包括但不限于lambda,kappa,hive等数据仓库。
37.在本发明实施例中,采用了判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库的方法,在上述方法中,由于通过将待迁移的数据配置为不同的抽数任务,并将抽数任务通过线程池多线程同步执行数据迁移任务,不仅缩短了数据迁移的时间,而且提高数据库数据迁移的效率,提升了用户体验,进而解决了相关技术中数据库数据迁移效率较低的技术问题。
38.在一个或多个实施例中,所述根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库,包括:
39.同步执行所述任务队列中的抽数命令,获取每个抽数命令对应的目标子数据;
40.将每个抽数命令对应的目标子数据存储至大数据仓库;其中,所述目标数据包括所述目标子数据。
41.具体地,同步执行所述任务队列中的多条抽数命令,获取每个抽数命令对应的目标子数据,这里的目标子数据为每个抽数命令在目标数据中抽取的迁移数据;当每个抽数命令均执行完毕,获取到待迁移数据后,将待迁移的数据存储到大数据仓库中。通过线程池的多线程节点,可以快速便捷的获取到待迁移数据的全量数据,提高了数据迁移的效率。需要说明的是,这里的多线程节点包括但不限于为多个服务器的任务进程。
42.在一个或多个实施例中,所述数据处理方法还包括:当所述任务队列中的多个抽数命令均指向同一数据库的相同数据时,分别生成所述多个抽数命令中每个数据命令对应的数据抽取的目标文件名,其中,每个数据命令对应的目标文件名均不同。
43.这里,需要说明的是,相关技术中当多条抽数命名均对应同一数据库的相同数据时,会生成名称重复的抽数文件,不便于数据迁移的统计;而在本发明实施例中,分别生成所述多个抽数命令中每个数据命令对应的数据抽取的目标文件名,而且每个数据命令对应的目标文件名均不同,如此,可以保障从不同的数据源抽数后生成的文件名不重复,便于数据迁移的统计。
44.在一个或多个实施例中,所述数据处理方法还包括:若当前待迁移的数据不是多数据源数据时,获取当前数据库的类型;生成与所述当前数据库的类型对应的单条抽数命令。
45.具体地,这里的数据库类型包括但不限于不同架构的数据,例如oracle数据库,mysql数据库,sqlserver数据,或者同一类型数据的不同版本。
46.在一个或多个实施例中,所述数据库的类型为oracle,所述生成与所述当前数据
库的类型对应的单条抽数命令,包括:
47.启动oracle抽数处理服务;根据所述oracle抽数处理服务生成所述待迁移的数据对应的单条抽数命令。
48.在本发明实施例中,当待迁移的数据类型为oracle数据库数据时,启动oracle抽数处理服务;根据所述oracle抽数处理服务生成所述待迁移的数据对应的单条抽数命令,然后根据该单条抽数命令获取待迁移的数据。
49.在一个或多个实施例中,所述数据库的类型为mysql,所述生成与所述当前数据库的类型对应的单条抽数命令,还包括:
50.启动mysql抽数处理服务;根据所述mysql抽数处理服务生成所述待迁移的数据对应的单条抽数命令。
51.在本发明实施例中,当待迁移的数据类型为mysql数据库数据时,启动oracle抽数处理服务;根据所述mysql抽数处理服务生成所述待迁移的数据对应的单条抽数命令,然后根据该单条抽数命令获取待迁移的数据。
52.在一个或多个实施例中,所述基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,包括:
53.基于所述抽数任务表和sqoop数据迁移工具生成sqoop抽数命令集合。
54.这里,sqoop主要用于在hive数据仓库与传统的数据库,如mysql、postgresql等数据库之间进行数据的传递,可以将一个关系型数据库,例如mysql,oracle,postgres等数据库中的数据导进到hive的分布式文件系统hdfs中,也可以将hdfs的数据导进到关系型数据库中。
55.相关技术中,如图4所示,在面对多个同时运行的数据库的数据迁移时,而且抽数系统对于同一张表而言只能从同一数据源抽数,即从oracle数据或从mysql数据中抽取。这里的抽数系统包括但不限于将关系型数据库同步到大数据hive仓库的系统,其作用是包装sqoop插件、对抽取的数据进行加解密、数据合并、过期数据删除等。
56.如图5所示,当待迁移的数据为多数据源数据时,抽数解决方案需要新建两个抽数任务并添加一个数据合并逻辑,现有的抽数系统性能要求较高,且会耗费大量的计算资源。
57.此外,另一种数据迁移方式中直接将新增数据直接写入到mysql,这就需要大数据平台实时跟着数据库的切换节奏并同步数据,这对抽数系统的时效要求较高,且会对大数据平台的任务调度造成影响。
58.为了解决上述技术问题,基于上述实施例,如图6所示,在一应用实施例中,上述的数据处理方法还包括如下步骤:
59.s602,获取抽数任务。
60.s604,判断当前抽数任务中的数据是否为多数据源数据,若是,转入步骤s606,若否,转入步骤s614或步骤s616。
61.s606,启动多数据源抽数服务。
62.s608,基于所述多数据源数据生成多条sqoop抽数命令。
63.s610,将所述多条sqoop抽数命令加入任务队列。
64.s612,将所述任务队列放入线程池中,并分配到多个线程中,并行执行该多条sqoop该抽数命令。当多个sqoop抽数命令同时指向同一个目标表(地址)时,会重新生成不
重复的随机数作为每个sqoop抽数命令的目标文件名,如此就具备同时从多数据源抽数的能力。
65.s614,启动oracle抽数数据服务。
66.s616,启动mysql抽数数据服务。
67.s618,生成单条抽数命令。
68.s620,返回表单问题信息。通过上述技术手段即可高效的从多数据源以及单数据源中抽取数据到大数据hive仓库。
69.本发明实施例还具备如下有益的技术效果:
70.1、并行执行sqoop命令抽数任务,缩短抽数时间,提升抽数效率数倍以上,使整个大数据集群运行时间得以提前。
71.2、通过底层架构的改造支持多数据源抽数且让大数据数仓无感知,以最小的工作量使大数据平台支持去oracle工作。
72.3、支持横向扩展,通过配置化完成多数据源抽数,降低数据迁移的出错概率。
73.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
74.根据本发明实施例的另一个方面,还提供了一种用于实施上述数据处理方法的数据处理装置。如图7所示,该装置包括:
75.判断单元702,判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;
76.配置单元704,用于若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;
77.第一生成单元706,用于基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;
78.第一获取单元708,用于根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库。
79.在本发明实施例中,采用了判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库的方法,在上述方法中,由于通过将待迁移的数据配置为不同的抽数任务,并将抽数任务通过线程池多线程同步执行数据迁移任务,不仅缩短了数据迁移的时间,而且提高数据库数据迁移的效率,提升了用户体验,进而解决了相关技术中数据库数据迁移效率较低的技术问题。
80.在一个或多个实施例中,所述第一获取单元708,包括:
81.第一获取模块,用于同步执行所述任务队列中的抽数命令,获取每个抽数命令对应的目标子数据;
82.存储模块,用于将每个抽数命令对应的目标子数据存储至大数据仓库;其中,所述目标数据包括所述目标子数据。
83.在一个或多个实施例中,所述数据处理装置还包括:
84.第二生成单元,用于当所述任务队列中的多个抽数命令均指向同一数据库的相同数据时,分别生成所述多个抽数命令中每个数据命令对应的数据抽取的目标文件名,其中,每个数据命令对应的目标文件名均不同。
85.在一个或多个实施例中,所述数据处理装置还包括:
86.第二获取单元,用于若当前待迁移的数据不是多数据源数据时,获取当前数据库的类型;
87.第三生成单元,用于生成与所述当前数据库的类型对应的单条抽数命令。
88.在一个或多个实施例中,所述数据库的类型为oracle,所述第三生成单元,包括:
89.第一启动模块,用于启动oracle抽数处理服务;
90.第一生成模块,用于根据所述oracle抽数处理服务生成所述待迁移的数据对应的单条抽数命令。
91.在一个或多个实施例中,所述数据库的类型为mysql,所述第三生成单元,还包括:
92.第二启动模块,用于启动mysql抽数处理服务;
93.第二生成模块,用于根据所述mysql抽数处理服务生成所述待迁移的数据对应的单条抽数命令。
94.在一个或多个实施例中,所述第一生成单元706,包括:
95.第三生成模块,用于基于所述抽数任务表和sqoop数据迁移工具生成sqoop抽数命令集合。
96.根据本技术实施例的又一个方面,还提供了一种用于实施上述数据处理方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图8所示,该电子设备包括存储器802和处理器804,该存储器802中存储有计算机程序,该处理器804被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
97.可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
98.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
99.s1,判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;
100.s2,若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;
101.s3,基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;
102.s4,根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库。
103.可选地,本领域普通技术人员可以理解,图8所示的结构仅为示意,电子装置电子设备也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图8其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图8中所示更多或者更少的组件
(如网络接口等),或者具有与图8所示不同的配置。
104.其中,存储器802可用于存储软件程序以及模块,如本技术实施例中的数据处理方法和装置对应的程序指令/模块,处理器804通过运行存储在存储器802内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器802可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器802可进一步包括相对于处理器804远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器802具体可以但不限于用于存储待迁移的数据信息。作为一种示例,如图8所示,上述存储器802中可以但不限于包括上述数据处理装置中的判断单元702、配置单元704、第一生成单元706和第一获取单元708。此外,还可以包括但不限于上述数据处理装置中的其他模块单元,本示例中不再赘述。
105.可选地,上述的传输装置806用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置806包括一个网络适配器(network interface controller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置806为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
106.此外,上述电子设备还包括:显示器808,用于显示待迁移的数据信息;和连接总线810,用于连接上述电子设备中的各个模块部件。
107.在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peer to peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
108.在一个或多个实施例中,本技术还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据处理方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
109.可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
110.s1,判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;
111.s2,若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;
112.s3,基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;
113.s4,根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库。
114.可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于
一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
115.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
116.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
117.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
118.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
119.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
120.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
121.以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:1.一种数据处理方法,其特征在于,包括:判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库。2.根据权利要求1所述的方法,其特征在于,所述根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库,包括:同步执行所述任务队列中的抽数命令,获取每个抽数命令对应的目标子数据;将每个抽数命令对应的目标子数据存储至大数据仓库;其中,所述目标数据包括所述目标子数据。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:当所述任务队列中的多个抽数命令均指向同一数据库的相同数据时,分别生成所述多个抽数命令中每个数据命令对应的数据抽取的目标文件名,其中,每个数据命令对应的目标文件名均不同。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:若当前待迁移的数据不是多数据源数据时,获取当前数据库的类型;生成与所述当前数据库的类型对应的单条抽数命令。5.根据权利要求4所述的方法,其特征在于,所述数据库的类型为oracle,所述生成与所述当前数据库的类型对应的单条抽数命令,包括:启动oracle抽数处理服务;根据所述oracle抽数处理服务生成所述待迁移的数据对应的单条抽数命令。6.根据权利要求4所述的方法,其特征在于,所述数据库的类型为mysql,所述生成与所述当前数据库的类型对应的单条抽数命令,还包括:启动mysql抽数处理服务;根据所述mysql抽数处理服务生成所述待迁移的数据对应的单条抽数命令。7.根据权利要求1所述的方法,其特征在于,所述基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,包括:基于所述抽数任务表和sqoop数据迁移工具生成sqoop抽数命令集合。8.一种数据处理装置,其特征在于,包括:判断单元,判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;配置单元,用于若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;第一生成单元,用于基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;第一获取单元,用于根据所述任务队列获取目标数据,并将所述目标数据存储至大数
据仓库。9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至7任一项中所述的方法。10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
技术总结本发明公开了一种数据处理方法、装置、存储介质及电子设备。其中,上述方法包括:判断当前待迁移的数据是否为多数据源数据;其中,所述多数据源数据为包含至少两个数据库中的数据;若是,则将所述当前待迁移的数据配置到抽数任务表,所述抽数任务表中每个子任务与数据源一一对应;基于所述抽数任务表和预设的数据迁移工具生成抽数命令集合,并将所述抽数命令集合存储至预设的线程池中的任务队列;根据所述任务队列获取目标数据,并将所述目标数据存储至大数据仓库。本发明解决了相关技术中数据库数据迁移效率较低的技术问题。库数据迁移效率较低的技术问题。库数据迁移效率较低的技术问题。
技术研发人员:吴有亮
受保护的技术使用者:平安付科技服务有限公司
技术研发日:2022.07.22
技术公布日:2022/11/1