CN110990405B - 一种数据装载方法、装置、服务器及存储介质 - Google Patents
一种数据装载方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN110990405B CN110990405B CN201911190215.3A CN201911190215A CN110990405B CN 110990405 B CN110990405 B CN 110990405B CN 201911190215 A CN201911190215 A CN 201911190215A CN 110990405 B CN110990405 B CN 110990405B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- loading
- sub
- applicable
- 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.)
- Active
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 226
- 238000000034 method Methods 0.000 claims abstract description 75
- 230000008569 process Effects 0.000 claims abstract description 53
- 238000012544 monitoring process Methods 0.000 claims abstract description 46
- 230000008859 change Effects 0.000 claims description 20
- 230000001680 brushing effect Effects 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据装载方法、装置、服务器及存储介质,对从第一数据库系统获取到的数据集进行拆分得到分别适用于第二数据库系统的每个数据分库的数据;监控将适用于数据分库的数据装载至数据分库的过程生成监控信息,以将监控信息指示的未装载成功的目标数据装载至目标数据所适用于的数据分库。本申请基于对将数据装载至数据分库的过程的监控可以获知未装载成功的目标数据,进而通过将目标数据装载至目标数据所适用于的数据分库可以达到将数据集的全部数据正确装载至第二数据库系统的目的;本申请通过设置第二数据库系统包括多个数据分库,既可以保证提供足够的数据存储空间,又可以由各个数据分库单独进行各自的数据装载,提高数据装载效率。
Description
技术领域
本发明涉及数据装载技术领域,更具体地说,涉及一种数据装载方法、装置、服务器及存储介质。
背景技术
俗话说“兵马未动,数据先行”,数据装载对于数据库系统是至关重要的。尤其是跨数据库系统的数据装载,因为数据量大,数据装载过程中很容易出现数据丢数、数据装错的情况,如何在保证数据装载正确性的同时提高数据装载效率是必须要解决的一个难题。
发明内容
有鉴于此,本发明提出一种数据装载方法、装置、服务器及存储介质,以在保证数据装载正确性的同时提高数据装载效率。
为了实现上述目的,现提出的方案如下:
一种数据装载方法,包括:
从第一数据库系统获取待进行数据装载的数据集;
对所述数据集进行拆分得到分别适用于至少一个数据分库中每个所述数据分库的数据,所述至少一个数据分库属于同一第二数据库系统;
监控将适用于所述数据分库的数据装载至所述数据分库的过程生成监控信息,所述监控信息指示未装载成功的目标数据;
将所述目标数据装载至所述目标数据所适用于的所述数据分库。
一种数据装载装置,包括:
数据集获取单元,用于从第一数据库系统获取待进行数据装载的数据集;
数据拆分单元,用于对所述数据集进行拆分得到分别适用于至少一个数据分库中每个所述数据分库的数据,所述至少一个数据分库属于同一第二数据库系统;
数据监控单元,用于监控将适用于所述数据分库的数据装载至所述数据分库的过程生成监控信息,所述监控信息指示未装载成功的目标数据;
数据装载单元,用于将所述目标数据装载至所述目标数据所适用于的所述数据分库。
一种服务器,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现所述数据装载方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行所述数据装载方法。
本申请提供一种数据装载方法、装置、服务器及存储介质,对从第一数据库系统获取到的数据集进行拆分得到分别适用于第二数据库系统的每个数据分库的数据;监控将适用于数据分库的数据装载至数据分库的过程生成监控信息,以将监控信息指示的未装载成功的目标数据装载至该目标数据所适用于的数据分库。本申请基于对将数据装载至数据分库的过程的监控可以获知未装载成功的目标数据,进而通过将目标数据装载至目标数据所适用于的数据分库可以达到将数据集中的全部数据正确装载至第二数据库系统的目的;并且本申请通过设置第二数据库系统包括多个数据分库,既可以保证提供足够的数据存储空间,又可以由各个数据分库单独进行各自的数据装载,提高数据装载效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种数据装载系统的结构示意图;
图2为本申请实施例提供的一种数据装载方法流程图;
图3为本申请实施例提供的一种将适用于数据分库的数据装载至数据分库的方法流程图;
图4为本申请实施例提供的另一种将适用于数据分库的数据装载至数据分库的方法流程图;
图5为本申请实施例提供的一种数据装载装置的结构示意图;
图6为本申请实施例提供的一种数据装载服务器的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:
跨数据库系统的数据装载可以理解为是将一个数据库系统的数据装载至另一个数据库系统的过程。本申请实施例提供一种数据装载方法、装载、服务器及存储介质,以在保证跨数据库数据装载准确性的同时提高数据装载效率。
图1为本申请实施例提供的一种数据装载系统的结构示意图。
如图1所示,该系统包括:第一数据库系统、共享服务器、第二数据库系统,其中,第二数据库系统由多个数据分库构成。
本申请实施例提供的一种数据装载方法提供拆分功能、装载功能、监控功能和下刷功能。参见图1,本申请实施例提供的一种数据装载方法用于将第一数据库系统中的数据装载至第二数据库系统,第一数据库系统中的数据装载至第二数据库系统的过程可以分为先后两个过程,第一个过程是将第一数据库系统中的全量数据装载至第二数据库系统的过程,第二个过程是将第一数据库系统中的增量数据装载至第二数据库系统的过程。
本申请实施例,第一数据库系统的全量数据可以认为是在首次启动将第一数据库系统中的数据装载至第二数据库系统时第一数据库系统中已存在的数据;可以将首次启动将第一数据库系统中的数据装载至第二数据库系统以后第一数据库系统中产生变更的数据看成是第一数据库系统的增量数据,其中,第一数据库系统中产生变更的数据可以称为第一数据库系统中的变更数据。比如,增量数据可以为在第一数据库系统中增加的数据、在第一数据库系统中修改的数据、在第一数据库系统中删除的数据。
需要说明的是,将第一数据库系统中的全量数据装载至第二数据库系统的过程可以由本申请实施例提供的如图2所示的数据装载方法实现,此时如图2所示的数据装载方法的数据集可以认为是全量数据;下刷工具可以由QREP工具实现,在搭建QREP工具之前,将第一数据库系统中的增量数据装载至第二数据库系统的过程可以由本申请实施例提供的如图2所示的数据装载方法实现,该如图2所示的数据装载方法的数据集可以认为是增量数据;在QREP工具搭建完成之后,将第一数据库系统中的增量数据装载至第二数据库系统的过程可以由QREP工具实现,且该过程中的增量数据可以称为变更数据。
本申请实施例,第一数据库系统可以将文件下传到共享服务器,在首次启动数据装载时,第一数据库系统可以将包括全量数据的文件下传到共享服务器,以基于如图2所示的数据装载方法实现数据装载。其中,包括全量数据的文件可以是一个或多个文件。
本申请实施例提供的拆分功能可以将全量数据分配给不同的拆分节点,针对每个拆分节点而言,该拆分节点对其所接收到的数据进行多线程并行拆分,以将其接收到的数据拆分成适用于不同数据分库的数据。通过多个拆分节点拆分文件,并且每个拆分节点多线程拆分文件的方式来提高文件拆分效率,高效拆分文件为高效装载做准备。
在共享服务器中建立有分别与每个数据分库对应的文件夹,针对每个数据分库,将适用于该数据分库的数据存储至该数据分库对应的文件夹。
第二数据库系统由多个数据分库构成,每个数据分库挂载装载工具,装载工具用于执行数据装载功能,针对每个数据分库而言,该数据分库的装载工具执行SQLLDR命令去与该数据分库对应的文件夹中读取数据以实现该数据分库的数据装载。通过多个数据分库的装载工具并行执行,并且每个装载工具多线程执行SQLLDR命令的方式来提高装载效率,解决高效装载的问题。
监控功能,通过使用监控功能来监控每个数据分库的数据装载的过程并统计未装载成功的数据,为了便于区分可以将未装载成功的数据称为目标数据,以通过对目标数据的进一步装载来保证数据装载的正确性。以及,通过监控功能还并记录当前数据装载状态信息以提供断点恢复现场的机制。
本申请实施例,目标数据可以认为是脏数据。脏数据是因为历史原因或者其他原因,导致不能正常装载或者装载后出现乱码的数据,本申请会删除并监控装载后出现乱码的数据,因此,也可以认为装载后出现乱码的数据为未装载成功的数据。
下刷功能可以由QREP工具修补数据,该修补的数据可以为目标数据也可以为变更数据,当修补的数据为目标数据时,通过使用QREP工具来解决装载无法解决的脏数据难题。
有关数据装载系统的具体功能参见下文详细描述。
下面结合上述共性对本申请实施例提供的一种数据装载方法进行详细说明。
图2为本申请实施例提供的一种数据装载方法流程图。
如图2所示,该方法包括:
S201、从第一数据库系统获取待进行数据装载的数据集;
本申请实施例,当首次启动将第一数据库系统的数据装载至第二数据库系统时,可以将第一数据库系统中的全部数据看成是全量数据,将全量数据下发至共享服务器,该全量数据可以认为是首次启动将第一数据库系统的数据装载至第二数据库系统时,从第一数据库系统获取到的待进行数据装载的数据集。
在首次启动将第一数据库系统中的数据装载至第二数据库系统以后,第一数据库系统中的数据也是有可能会被修改的,此时,需要实现第一数据库系统和第二数据库系统中的数据同步。如果将用于修改第一数据库系统中的数据看成是增量数据,该增量数据也可以为从第一数据库系统获取到的待进行数据装载的数据。比如,可以在首次启动全量数据装载以后每隔预设时间间隔将该段时间间隔中的第一数据库系统的增量数据看成是从第一数据库系统获取到的待进行数据装载的数据集,执行一次本申请实施例提供的如图2所示的数据装载方法。
在本申请实施例中,预设时间间隔可以为一天、两天等等。以上仅仅是本申请实施例提供的预设时间间隔的优选内容,有关预设时间间隔的具体内容,发明人可根据自己的需求进行设置,在此不做限定。
需要说明的是,可以将装载全量数据的过程看成是全量装载过程,将装载增量数据的过程看成是增量数据装载过程。由本申请实施例提供的如图2所示的数据装载方法实现全量数据装载;若当前已构建有QREP工具,可以由QREP工具下刷增量数据的方式实现增量数据装载,若当前未构建QREP工具,可以通过本申请实施例提供的如图2所示的装载方法实现增量数据装载。
S202、对数据集进行拆分得到分别适用于至少一个数据分库中每个数据分库的数据,至少一个数据分库属于同一第二数据库系统;
本申请实施例中,第二数据库系统是由至少一个数据分库构成的。通过设置第二数据库系统由多个数据分库构成不仅可以提供更多的存储空间,而且各个数据分库的数据装载过程可以并行执行,提高数据装载效率。
本申请实施例中,可以对共享服务器上的数据集进行数据拆分(比如,横向数据拆分、纵向数据拆分等等),将数据集拆分成分别适用于每个数据分库的数据。其中,适用于各个数据分库的数据的总和可以认为是数据集。
作为本申请实施例的一种优选实施方式,可以将数据集分割成至少一个数据子集;多线程并行拆分数据子集得到与数据子集匹配的分别适用于至少一个数据分库中每个数据分库的数据;与数据子集匹配的分别适用于至少一个数据分库中每个数据分库的数据构成数据子集。
本申请实施例,可以预先设置多个拆分节点,拆分节点可以为服务器等具有拆分功能的设备。将数据集分割成多个数据子集,将多个数据子集分发给各个拆分节点,进而由拆分节点对其接收到的数据子集进行数据拆分,进而将其接收到的数据子集拆分成适用于不同数据分库的数据。
作为本申请实施例的一种优选实施方式,可以预先设置分别与每个数据分库对应的数据规则,针对每个数据分库而言,可以将数据集中符合该数据库对应的数据规则的数据,认为是数据集中适用于该数据分库的数据。以上仅仅是本申请实施例提供的一种优选拆分方式,有关具体的拆分过程发明人可根据自己的需求进行设置,在此不做限定。
S203、监控将适用于数据分库的数据装载至数据分库的过程生成监控信息,监控信息指示未装载成功的目标数据;
在本申请实施例中,可以分别在每个数据分库中挂载装载工具,针对每个数据分库而言,该数据分库的装载工具用于从共享服务器与该数据分库对应的文件夹中读取数据,并将读取的数据装载至该数据分库。
本申请实施例,各个数据分库的数据装载过程并行执行,可以监控每个数据分库的数据装载过程,记录各个数据分库的数据装载过程中未装载成功的数据(为了便于区分,将未装载成功的数据看成是目标数据)生成监控信息。
作为本申请实施例的一种优选实施方式,当数据集为全量数据时和当数据集为增量数据时,装载工具装载数据的方式是有差异的。其中,若数据集为全量数据,将适用于数据分库的数据装载至数据分库的方式请参见图3;若数据集为增量数据,将适用于数据分库的数据装载至数据分库的方式请参见图4。
在本申请实施例中,目标数据包括第一数据和/或第二数据,第一数据为乱码数据,第二数据为在同一数据分库中存在索引重复的数据。以上仅仅是本申请实施例提供的目标数据的优选内容,有关目标数据的具体内容,发明人可根据自己的需求进行设置,在此不做限定。
进一步的,为了方便追踪数据装载过程,数据装载的过程中可以通过“打标”的方式,详细记录数据装载的每一步骤以生成监控信息。本申请实施例,监控信息可以包括每个数据分库的当前数据装载状态信息,这样设计的原因是如果某一数据分库数据装载过程发生中断,可以根据监控信息中该数据分库的当前数据装载状态信息恢复现场,以继续执行该数据分库的数据装载过程。
更进一步的,监控信息还可以详细记录了每个数据分库成功装载的数据装载条数,通过对比数据集和数据装载条数,可以准确做到“不漏数,不丢数”。有关数据集和数据装载条数的具体比对方式,可以为数据分库的待装载的数据条数和数据分库中装载成功的数据装载条数的对比,也可以为第二数据库系统的待装载的数据条数和第二数据库系统中装载成功的数据装载条数的对比,本申请不做限定。
S204、将目标数据装载至目标数据所适用于的数据分库。
本申请实施例,可能会因数据传输等原因,导致在将数据集中适用于数据分库的数据装载至数据分库时,出现数据未成功装载的情况(即,数据装载失败的情况),未装载成功的数据可以称为是目标数据。本方案向第二数据库系统装载数据集的过程进行监控得到目标数据,以便于在将数据集装载至第二数据库系统后,可以通过进一步将目标数据装载至第二数据库系统的方式,保证数据集可以准确装载的目的。
作为本申请实施例的一种优选实施方式,将目标数据装载至第二数据库系统的过程可以由QREP工具实现。在部署QREP工具之前,可以暂时不用装载目标数据,在部署QREP工具之后,由QREP工具将目标数据装载至第二数据库系统。其中,将目标数据装载至第二数据库系统可以为将目标数据中的数据装载至其所适用于的第二数据库系统的数据分库。
为了便于对本申请实施例提供的一种数据装载方法的理解现通过以下实例进行详细说明。在首次启动将第一数据库系统的数据装载至第二数据库系统时,可以将第一数据库系统的全量数据作为从第一数据库系统获取到的待进行数据装载的数据集,以执行本申请实施例提供的如图2所示的数据装载方法将全量数据装载至第二数据库系统;在首次启动将第一数据库系统的数据装载至第二数据库系统后,可以每隔一天获取一次当天第一数据库系统的变更数据,若当前未部署QREP工具,则将该变更数据作为数据集以执行本申请实施例提供的如图2所示的数据装载方法将变更数据装载至第二数据库系统;若当前部署有QREP工具,则通过QREP工具下刷该变更数据到第二数据库系统。
本申请实施例,第一数据库系统可以为大型主机系统,大型机最初是指装在非常大的带框铁盒子里的大型计算机系统,以用来同小一些的迷你机和微型机有所区别,大多数时候指system/360开始的一系列的IBM计算机。由于其首屈一指的稳定性、安全性以及强大的数据处理能力,多用于政府、银行、保险公司和大型制造企业。在本申请实施例中,大型主机系统可以为DB2数据库系统。第二数据库系统可以为分布式数据库系统,该分布式数据库系统可以为ORACLE数据库。QREP为IBM的同步工具,能支持从主机数据库实时同步到ORACLE数据库。
以上仅仅是本申请实施例提供的第一数据库系统和第二数据库系统的优选内容,有关第一数据库系统和第二数据库系统的具体内容,发明人可根据自己的需求进行设置,在此不做限定。
图3为本申请实施例提供的一种将适用于数据分库的数据装载至数据分库的方法流程图。如图3所示的方法适用于数据集为全量数据的情况。
参见图3,该方法包括:
S301、在数据分库中构建第一数据表;
在本申请实施例中,在将适用于数据分库的数据装载至数据分库时,可以先在数据分库中构建一张数据表,为了便于区分将此处构建的数据表称为第一数据表。
S302、将适用于数据分库的数据的内容装载至第一数据表;
本申请实施例,数据集中的数据可以由索引和内容构成,在数据分库构建第一数据表后,将适用于该数据分库的数据的内容装载至该第一数据表。
S303、基于数据的内容在第一数据表中生成数据的索引。
本申请实施例,在将适用于数据分库的数据的内容装载至数据分库的第一数据表后,可以根据第一数据表中数据的内容在第一数据表征构建数据的索引。
需要说明的是,数据集中数据的索引也可以是根据数据的内容构建的,由此,在正确装载的情况下,同一条数据在数据集中的索引和在第一数据表中构建的索引是相同的。
正常情况下,不同的数据的索引是唯一的。然而,因数据传输错误、全量数据中存在数据错误等原因可能会导致在同一数据分库的第一数据表中,构建出的多条数据的索引相同,这种情况下,可以将同一第一数据表中索引相同的多条数据删除,并且记录同一第一数据表中索引相同的多条数据记录为目标数据。
全量数据装载是一次性把第一数据库系统下发的全量数据装载到第二数据库系统的各个数据分库的过程。全量装载的特点是装载文件大、文件多、数据量大、装载方式可以是SQLLDR,SQLLDR是ORACLE的数据加载工具,通常用来将操作系统文件(数据)装载到ORACLE数据库中。全量装载使用SQLLDR命令执行数据装载,由于SQLLDR在目标表(第一数据表)有无索引情况下效率差别很大,所以全量装载的过程是,先建第一数据表,执行全量装载数据的内容,然后建数据的索引,如果有“脏数据”,建唯一索引时会报重复索引,需要清理掉“脏数据”,然后继续建索引。索引建好后,全量装载完成。
图4为本申请实施例提供的一种将适用于数据分库的数据装载至数据分库的方法流程图。如图4所示的方法适用于数据集为增量数据的情况。
参见图4,该方法包括:
S401、在数据分库中构建第二数据表;
本申请实施例,在数据分库已进行过全量数据装载的情况下进行增量数据装载,在进行数据分库进行增量数据装载时,在数据分库中构建临时的第二数据表。
S402、将适用于数据分库的数据装载至第二数据表;
本申请实施例,数据集为增量数据时,将数据集中适用于数据分库的数据装载至第二数据表。
S403、将第二数据表中的数据融合至数据分库中的第一数据表生成数据分库的目标第一数据表。
本申请实施例,在将数据集中适用于数据分库的数据装载至在数据分库中构建的临时的第二数据表后,可以将该数据分库的第二数据表merge到该数据分库的第一数据表,以实现对该数据分库中第一数据表的更新,将更新后的第一数据表称为目标第一数据表。进一步的,在将数据分库的第二数据表merge到数据分库的第一数据表后,可以将该数据分库的第二数据表删除。
增量数据装载是把第一数据库系统下发的每日增量数据装载到第二数据库系统的各个数据分库的过程。增量数据装载的特点是装载文件小、文件少、数据量相对较小、装载方式merge。增量数据装载分两步,第一步把文件装载到临时表(第二数据表),第二步把临时表(第二数据表)merge到主表(第一数据表)。因为增量装载的策略是“有则更新,无则插入”,即merge,所以需要先把增量数据装载到临时表,再合并到主表。
更进一步的,在部署QREP工具之前,可以通过如图4所示的数据装载方法实现每日增量数据的装载,在部署QREP工具之后,可以通过QREP工具实现每日增量数据的装载。
本申请实施例,在部署QREP之后,可以将每日增量数据看成是每日变更数据,并由QREP工具将每日的变更数据下刷到该变更数据所适用于的数据分库。
因为一些历史原因和其他原因,“脏数据”是不可避免的,如果出现脏数据导致装载不成功的情况,在装载完成后,需要使用QREP工具继续追这部分数据。因为大部分数据是比较“健康”的,需要使用QREP工具“修补”的数据毕竟只占小部分,所以不会对第一数据库系统和第二数据库系统造成很大的压力。
图5为本申请实施例提供的一种数据装载装置的结构示意图。
如图5所示,该装置包括:
数据集获取单元51,用于从第一数据库系统获取待进行数据装载的数据集;
数据拆分单元52,用于对数据集进行拆分得到分别适用于至少一个数据分库中每个数据分库的数据,至少一个数据分库属于同一第二数据库系统;
数据监控单元53,用于监控将适用于数据分库的数据装载至数据分库的过程生成监控信息,监控信息指示未装载成功的目标数据;
数据装载单元54,用于将目标数据装载至目标数据所适用于的数据分库。
进一步的,本申请实施例提供的一种数据装载装置还包括目标装载单元。
本申请实施例中,若数据集为全量数据,目标装载单元用于在数据分库中构建第一数据表;将适用于数据分库的数据的内容装载至第一数据表;基于数据的内容在第一数据表中生成数据的索引。
本申请实施例中,若数据集为增量数据,目标装载单元用于在数据分库中构建第二数据表;将适用于数据分库的数据装载至第二数据表;将第二数据表中的数据融合至数据分库中的第一数据表生成数据分库的目标第一数据表。
进一步的,本申请实施例提供的一种数据装载装置还包括下刷单元,用于基于QREP工具将第一数据库系统相对于第二数据库系统的变更数据下刷到变更数据所适用于的数据分库中,变更数据为在部署QREP工具后第一数据库系统相对于第二数据库系统的变更数据。
相应的,本申请实施例中的目标装载单元具体用于基于QREP工具将目标数据装载至目标数据所适用于的数据分库。
更进一步的,监控信息还包括数据分库的当前数据装载状态信息。本申请实施例提供的一种数据装载装置还包括断点执行单元,用于若在将适用于数据分库的数据装载至数据分库的过程中发生中断,基于数据分库的当前数据装载状态信息继续执行将适用于数据分库的数据装载至数据分库的过程。
在本申请实施例中,优选的,目标数据包括第一数据和/或第二数据,第一数据为乱码数据,第二数据为在同一数据分库中存在索引重复的数据。
在本申请实施例中,优选的,数据拆分单元,包括:
数据分割单元,用于将数据集分割成至少一个数据子集;
数据拆分子单元,用于多线程并行拆分数据子集得到与数据子集匹配的分别适用于至少一个数据分库中每个数据分库的数据;与数据子集匹配的分别适用于至少一个数据分库中每个数据分库的数据构成数据子集。
为了便于理解,现从服务器的角度对本申请实施例提供的一种数据装载方法进行详细说明。本申请实施例提供的一种数据装载方法可以应用于数据装载服务器,该数据装载服务器可以是网络侧为用户提供服务的服务设备,其可能是多台服务器组成的服务器集群,也可能是单台服务器。
图6为本申请实施例提供的一种数据装载服务器的硬件结构框图。参照图6,数据装载服务器的硬件结构可以包括:处理器61,通信接口62,存储器63和通信总线64;
在本发明实施例中,处理器61、通信接口62、存储器63、通信总线84的数量均可以为至少一个,且处理器61、通信接口62、存储器63通过通信总线64完成相互间的通信;
处理器61可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器63可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,程序用于:
从第一数据库系统获取待进行数据装载的数据集;
对数据集进行拆分得到分别适用于至少一个数据分库中每个数据分库的数据,至少一个数据分库属于同一第二数据库系统;
监控将适用于数据分库的数据装载至数据分库的过程生成监控信息,监控信息指示未装载成功的目标数据;
将目标数据装载至目标数据所适用于的数据分库。
可选的,程序的细化功能和扩展功能可参照上文描述。
进一步的,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行上述数据装载方法。
可选的,计算机可执行指令的细化功能和扩展功能可参照上文描述。
本申请提供一种数据装载方法、装置、服务器及存储介质,对从第一数据库系统获取到的数据集进行拆分得到分别适用于第二数据库系统的每个数据分库的数据;监控将适用于数据分库的数据装载至数据分库的过程生成监控信息,以将监控信息指示的未装载成功的目标数据装载至该目标数据所适用于的数据分库。本申请基于对将数据装载至数据分库的过程的监控可以获知未装载成功的目标数据,进而通过将目标数据装载至目标数据所适用于的数据分库可以达到将数据集中的全部数据正确装载至第二数据库系统的目的;并且本申请通过设置第二数据库系统包括多个数据分库,既可以保证提供足够的数据存储空间,又可以由各个数据分库单独进行各自的数据装载,提高数据装载效率。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对本发明所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种数据装载方法,其特征在于,包括:
从第一数据库系统获取待进行数据装载的数据集;
对所述数据集进行拆分得到分别适用于至少一个数据分库中每个所述数据分库的数据,所述至少一个数据分库属于同一第二数据库系统;
监控将适用于所述数据分库的数据装载至所述数据分库的过程生成监控信息,所述监控信息指示未装载成功的目标数据,各个数据分库的数据装载过程并行执行;
将所述目标数据装载至所述目标数据所适用于的所述数据分库;
所述对所述数据集进行拆分得到分别适用于至少一个数据分库中每个所述数据分库的数据,包括:
将所述数据集分割成至少一个数据子集;
多线程并行拆分所述数据子集得到与所述数据子集匹配的分别适用于所述至少一个数据分库中每个所述数据分库的数据;与所述数据子集匹配的分别适用于所述至少一个数据分库中每个所述数据分库的数据构成所述数据子集;
若所述数据集为全量数据,所述将适用于所述数据分库的数据装载至所述数据分库,包括:
在所述数据分库中构建第一数据表;
将适用于所述数据分库的数据的内容装载至所述第一数据表;
基于所述数据的内容在所述第一数据表中生成所述数据的索引;
若所述数据集为增量数据,所述将适用于所述数据分库的数据装载至所述数据分库,包括:
在所述数据分库中构建第二数据表;
将适用于所述数据分库的数据装载至所述第二数据表;
将所述第二数据表中的数据融合至所述数据分库中的所述第一数据表生成所述数据分库的目标第一数据表。
2.根据权利要求1所述的方法,其特征在于,还包括:
基于QREP工具将所述第一数据库系统相对于所述第二数据库系统的变更数据下刷到所述变更数据所适用于的所述数据分库中,所述变更数据为在部署所述QREP工具后所述第一数据库系统相对于所述第二数据库系统的变更数据;
所述将所述目标数据装载至所述目标数据所适用于的所述数据分库,包括:基于所述QREP工具将所述目标数据装载至所述目标数据所适用于的所述数据分库。
3.根据权利要求1所述的方法,所述监控信息还包括所述数据分库的当前数据装载状态信息,该方法还包括:
若在将适用于所述数据分库的数据装载至所述数据分库的过程中发生中断,基于所述数据分库的当前数据装载状态信息继续执行将适用于所述数据分库的数据装载至所述数据分库的过程。
4.根据权利要求1所述的方法,其特征在于,所述目标数据包括第一数据和/或第二数据,所述第一数据为乱码数据,所述第二数据为在同一数据分库中存在索引重复的数据。
5.一种数据装载装置,其特征在于,包括:
数据集获取单元,用于从第一数据库系统获取待进行数据装载的数据集;
数据拆分单元,用于对所述数据集进行拆分得到分别适用于至少一个数据分库中每个所述数据分库的数据,所述至少一个数据分库属于同一第二数据库系统;
数据监控单元,用于监控将适用于所述数据分库的数据装载至所述数据分库的过程生成监控信息,所述监控信息指示未装载成功的目标数据,各个数据分库的数据装载过程并行执行;
数据装载单元,用于将所述目标数据装载至所述目标数据所适用于的所述数据分库;
所述数据拆分单元具体用于:
将所述数据集分割成至少一个数据子集;
多线程并行拆分所述数据子集得到与所述数据子集匹配的分别适用于所述至少一个数据分库中每个所述数据分库的数据;与所述数据子集匹配的分别适用于所述至少一个数据分库中每个所述数据分库的数据构成所述数据子集;
若所述数据集为全量数据,所述数据装载单元具体用于:
在所述数据分库中构建第一数据表;
将适用于所述数据分库的数据的内容装载至所述第一数据表;
基于所述数据的内容在所述第一数据表中生成所述数据的索引;
若所述数据集为增量数据,所述数据装载单元具体用于:
在所述数据分库中构建第二数据表;
将适用于所述数据分库的数据装载至所述第二数据表;
将所述第二数据表中的数据融合至所述数据分库中的所述第一数据表生成所述数据分库的目标第一数据表。
6.一种服务器,其特征在于,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如权利要求1-4任意一项所述的数据装载方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-4任意一项所述的数据装载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911190215.3A CN110990405B (zh) | 2019-11-28 | 2019-11-28 | 一种数据装载方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911190215.3A CN110990405B (zh) | 2019-11-28 | 2019-11-28 | 一种数据装载方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990405A CN110990405A (zh) | 2020-04-10 |
CN110990405B true CN110990405B (zh) | 2024-04-12 |
Family
ID=70087796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911190215.3A Active CN110990405B (zh) | 2019-11-28 | 2019-11-28 | 一种数据装载方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990405B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181917B (zh) * | 2020-09-25 | 2024-07-19 | 中国建设银行股份有限公司 | 一种流水文件装载方法、装置、服务器和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156209A (zh) * | 2015-04-23 | 2016-11-23 | 中兴通讯股份有限公司 | 数据处理方法及装置 |
CN107301196A (zh) * | 2017-05-03 | 2017-10-27 | 北京小度信息科技有限公司 | 数据同步方法、装置、设备及监控服务器 |
CN109241175A (zh) * | 2018-06-28 | 2019-01-18 | 东软集团股份有限公司 | 数据同步方法、装置、存储介质及电子设备 |
CN109561126A (zh) * | 2017-09-27 | 2019-04-02 | 北京国双科技有限公司 | 一种数据同步方法和装置、存储介质、处理器 |
CN109933631A (zh) * | 2019-03-20 | 2019-06-25 | 江苏瑞中数据股份有限公司 | 基于Infiniband网络的分布式并行数据库系统及数据处理方法 |
CN110334152A (zh) * | 2019-06-28 | 2019-10-15 | 浙江吉利控股集团有限公司 | 一种数据同步方法、装置及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313560B2 (en) * | 2002-12-09 | 2007-12-25 | International Business Machines Corporation | Data migration system and method |
US10261961B2 (en) * | 2016-03-17 | 2019-04-16 | Change Healthcare Holdings, Llc | Method and apparatus for replicating data across multiple data centers |
-
2019
- 2019-11-28 CN CN201911190215.3A patent/CN110990405B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156209A (zh) * | 2015-04-23 | 2016-11-23 | 中兴通讯股份有限公司 | 数据处理方法及装置 |
CN107301196A (zh) * | 2017-05-03 | 2017-10-27 | 北京小度信息科技有限公司 | 数据同步方法、装置、设备及监控服务器 |
CN109561126A (zh) * | 2017-09-27 | 2019-04-02 | 北京国双科技有限公司 | 一种数据同步方法和装置、存储介质、处理器 |
CN109241175A (zh) * | 2018-06-28 | 2019-01-18 | 东软集团股份有限公司 | 数据同步方法、装置、存储介质及电子设备 |
CN109933631A (zh) * | 2019-03-20 | 2019-06-25 | 江苏瑞中数据股份有限公司 | 基于Infiniband网络的分布式并行数据库系统及数据处理方法 |
CN110334152A (zh) * | 2019-06-28 | 2019-10-15 | 浙江吉利控股集团有限公司 | 一种数据同步方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110990405A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509462B (zh) | 一种同步活动事务表的方法及装置 | |
US9069800B2 (en) | Parallel database backup and restore | |
CN105608086A (zh) | 分布式数据库系统的事务处理方法及装置 | |
US10599676B2 (en) | Replication control among redundant data centers | |
EP2330519A1 (en) | Distributed file system and data block consistency managing method thereof | |
US9170748B2 (en) | Systems, methods, and computer program products providing change logging in a deduplication process | |
CN109918229B (zh) | 非日志模式的数据库集群副本构建方法及装置 | |
US11226985B2 (en) | Replication of structured data records among partitioned data storage spaces | |
US20170169090A1 (en) | Promoted properties in relational structured data | |
CN104572920A (zh) | 一种数据整理方法和装置 | |
US20150006485A1 (en) | High Scalability Data Management Techniques for Representing, Editing, and Accessing Data | |
CN113553313B (zh) | 一种数据迁移方法及系统、存储介质、电子设备 | |
CN105550306A (zh) | 多副本数据的读写方法及系统 | |
US20170270149A1 (en) | Database systems with re-ordered replicas and methods of accessing and backing up databases | |
WO2017105933A1 (en) | Reminder processing of structured data records among partitioned data storage spaces | |
CN106326222A (zh) | 一种数据处理方法和装置 | |
US11151157B2 (en) | Database management method | |
CN110990405B (zh) | 一种数据装载方法、装置、服务器及存储介质 | |
Pankowski | Consistency and availability of Data in replicated NoSQL databases | |
CN108885622A (zh) | 多主同步复制优化的系统和方法 | |
KR102019565B1 (ko) | 데이터 베이스 관리 방법 | |
CN111221801A (zh) | 一种数据库迁移方法、系统及相关装置 | |
CN113672277B (zh) | 代码同步方法、系统、计算机设备和存储介质 | |
CN115357429B (zh) | 恢复数据文件的方法、装置和客户端 | |
US11074141B2 (en) | Database recovery using shared memory |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Liu Nannan Inventor after: Song Liguo Inventor before: Liu Nannan |
|
GR01 | Patent grant | ||
GR01 | Patent grant |