CN111723079A - 数据迁移方法、装置、计算机设备及存储介质 - Google Patents
数据迁移方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111723079A CN111723079A CN202010596445.6A CN202010596445A CN111723079A CN 111723079 A CN111723079 A CN 111723079A CN 202010596445 A CN202010596445 A CN 202010596445A CN 111723079 A CN111723079 A CN 111723079A
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- parameter information
- migration
- target
- 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.)
- Pending
Links
- 238000013508 migration Methods 0.000 title claims abstract description 133
- 230000005012 migration Effects 0.000 title claims abstract description 133
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012544 monitoring process Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims description 14
- 230000002159 abnormal effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002776 aggregation Effects 0.000 claims description 6
- 238000004220 aggregation Methods 0.000 claims description 6
- 238000012935 Averaging Methods 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了数据迁移方法、装置、计算机设备及存储介质,属于数据处理领域。本发明通过将源数据库中的待迁移数据分割为多批子数据,每个子数据对应一个子任务,每个子任务对应一个线程;依据子任务在目标数据库中建立与子任务关联的目标表;依据划分的子数据生成任务配置库,根据任务配置库中的信息,将多个子数据从源数据库中导出迁移至目标数据库中关联的目标表中,同时运行多个线程执行相应的子任务,从而实现同时将多个子数据迁移至目标表的目的;还可通过监测每个子数据的迁移状态,了解每个子数据的迁移情况,以便于数据溯源。本发明还具有数据迁移的效率高,耗时短的优点。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据迁移方法、装置、计算机设备及存储介质。
背景技术
常规的数据迁移方法为:将一个数据库的源表中的所有数据加载到内存中,逐条转换在加载(load)到目标表中。例如:源表中有五千万条记录,需要将源表中所有的记录加载到内存中,容易撑爆内存;在数据迁移的过程出现了异常,需要重新从源表进行数据迁移。现有的数据迁移方法效率低,耗时长。
发明内容
针对现有数据迁移方法效率低、耗时长的问题,现提供一种旨在耗时短、效率高的数据迁移方法、装置、计算机设备及存储介质。
为实现上述目的,本发明提供了一种数据迁移方法,包括:
读取源数据库的待迁移数据,将所述待迁移数据分割为多批子数据,每个所述子数据对应一个子任务;
在目标数据库中建立与多个所述子任务关联的目标表;
生成任务配置库,所述任务配置库中包括所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息;
根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中;
监测每个所述子数据的迁移状态。
优选的,所述读取源数据库的待迁移数据,将所述待迁移数据分割为多批子数据,包括:
以预设时间间隔读取所述源数据库的所述待迁移数据;
识别所述待迁移数据的数据量是否符合预设条件,若是,将所述待迁移数据分割为多批子数据。
优选的,所述根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中,包括:
根据所述任务配置库中每一个所述子数据在所述源数据库中所属表的参数信息,分别抽取所述源数据库中相应的所述子数据;
根据每个所述子数据对应的子任务的参数信息,分别选择相应的映射策略将所述子数据转换为目标数据;
根据所述子任务关联的所述目标表的参数信息,将各个所述目标数据分别写入相应的所述目标表中。
优选的,所述映射策略包括以下至少两种策略:字段聚合策略、字段累加策略、求平均值策略和字段过滤策略。
优选的,所述监测每个所述子数据的迁移状态,包括:
根据所述任务配置库中每个所述子数据对应的子任务的参数信息,监测每个所述子数据的迁移状态,生成任务记录表,所述任务记录表包括每个所述子数据对应的子任务的参数信息和当前的迁移状态信息。
优选的,所述迁移状态包括:数据迁移状态、导出异常状态和完成迁移状态。
优选的,还包括:
当所述子数据的迁移状态异常时,根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中。
为实现上述目的,本发明还提供了一种数据迁移装置,包括:
分割单元,用于读取源数据库的待迁移数据,将所述待迁移数据分割为多批子数据,每个所述子数据对应一个子任务;
建立单元,用于在目标数据库中建立与多个所述子任务关联的目标表;
生成单元,用于生成任务配置库,所述任务配置库中包括所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息;
迁移单元,用于根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中;
监测单元,用于监测每个所述子数据的迁移状态。
为实现上述目的,本发明还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的数据迁移方法、装置、计算机设备及存储介质,通过将源数据库中的待迁移数据分割为多批子数据,每个子数据对应一个子任务,每个子任务对应一个线程;依据子任务在目标数据库中建立与子任务关联的目标表;依据划分的子数据生成任务配置库,根据任务配置库中的信息,将多个子数据从源数据库中导出迁移至目标数据库中关联的目标表中,同时运行多个线程执行相应的子任务,从而实现同时将多个子数据迁移至目标表的目的;还可通过监测每个子数据的迁移状态,了解每个子数据的迁移情况,以便于数据溯源。本发明还具有数据迁移的效率高,耗时短的优点。
附图说明
图1为本发明数据迁移方法的一种实施例的流程图;
图2为本发明将待迁移数据分割为多批子数据的流程图;
图3为本发明子数据从源数据库中导出迁移至目标表的流程图;
图4为本发明所述的数据迁移方法的另一种是实施例的流程图;
图5为本发明所述的数据迁移装置的一种实施例的模块图;
图6为本发明分割单元内部的模块图;
图7为本发明计算机设备的一个实施例的硬件架构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明提供的数据迁移方法、装置、计算机设备及存储介质,适用于保险、金融、医疗等领域。本发明数据迁移方法及装置的可应用于高可用、容灾、数据回流、备份等场景中。本发明通过将源数据库中的待迁移数据分割为多批子数据,每个子数据对应一个子任务,每个子任务对应一个线程;依据子任务在目标数据库中建立与子任务关联的目标表;依据划分的子数据生成任务配置库,根据任务配置库中的信息,将多个子数据从源数据库中导出迁移至目标数据库中关联的目标表中,同时运行多个线程执行相应的子任务,从而实现同时将多个子数据迁移至目标表的目的;还可通过监测每个子数据的迁移状态,了解每个子数据的迁移情况,以便于数据溯源。本发明还具有数据迁移的效率高,耗时短的优点。
实施例一
请参阅图1,本实施例的一种数据迁移方法,包括下述步骤:
S1.读取源数据库的待迁移数据,将所述待迁移数据分割为多批子数据,每个所述子数据对应一个子任务;
需要说明的是:本实施例中的待迁移数据为结构化数据。
在本实施例中,每一个子任务对应一个线程,通过该线程可调用相应的子任务。
进一步地,如图2所示步骤S1可包括:
S11.以预设时间间隔读取所述源数据库的所述待迁移数据;
其中,预设时间间隔可以根据需要设置,如:1秒,1分钟,10毫秒等。
在本实施例中,通过根据预设时间间隔读取源数据库的方式,可实现实时读取源数据库的效果,能够对源数据库中新增的待迁移数据进行数据迁移,达到了动态迁移源数据库中数据的目的。本实施例不仅可对源数据库中静态的数据进行数据迁移,还可源数据库中动态的数据进行迁移。
在实际应用中,还可采用监测源数据库中是否有待迁移数据的方式替换步骤S11,当监测到源数据库中存在待迁移数据时,执行步骤S12。
S12.识别所述待迁移数据的数据量是否符合预设条件,若是,执行步骤S13;若否,执行步骤S11;
其中,预设条件为待迁移数据的数据量是否大于预设阈值。例如:预设阈值为5千条数据记录,识别待迁移数据的数据量是否大于5千条数据记录。
S13.将所述待迁移数据分割为多批子数据。
具体地,可根据预设间隔将待迁移数据分割为若干个批次。
需要说明的是:预设间隔可以根据需要设定,如:1千条数据、2万条数据等。
若待迁移数据包括50万条数据记录,预设间隔为2万条数据,则可将待迁移数据划分为25个批次,每个批次包括2万条数据记录,每个批次对应一个子任务,该子任务与一线程关联,通过运行线程可执行与其关联的子任务,将与该子任务关联的子数据迁移至目标数据库中。
S2.在目标数据库中建立与多个所述子任务关联的目标表;
在实际应用中,可在目标数据库中建立多个目标表,每个子任务对应一个目标表;也可以在目标数据库中建立一个目标表,该目标表包括多个子表,每子表对应一个子任务。
S3.生成任务配置库;
其中,所述任务配置库中包括所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息;
在本实施例中,子任务的参数信息可包括任务名称、调度时间以及与该子数据关联的sql_template字段等信息。
S4.根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中;
在本实施例中,根据任务配置库中的信息,可同时运行多个线程执行相应的子任务,从而实现同时将多个子数据迁移至目标表的目的。
进一步地,参考图3所示步骤S4可包括:
S41.根据所述任务配置库中每一个所述子数据在所述源数据库中所属表的参数信息,分别抽取所述源数据库中相应的所述子数据;
S42.根据每个所述子数据对应的子任务的参数信息,分别选择相应的映射策略将所述子数据转换为目标数据;
其中,所述映射策略可包括以下至少两种策略:字段聚合策略、字段累加策略、求平均值策略和字段过滤策略。
在本实施例中,可根据子数据的数据源类型选择相应的映射策略,子数据的数据源类型在任务配置库中可采用sql语言表达。子数据的数据源类型可包string、int、double、date和text等类型。String类型可用于做字符修改;date类型可规范统一时间格式;text类型可以分词做文本挖掘。对于int和double这两种数值类型的,可采用字段聚合策略进行数据转换。
在步骤S42中采用映射策略逐条对子数据中的每一条数据进行转换,生成目标数据对象,其中,涉及到任务标识(如ID)映射的转换。
S43.根据所述子任务关联的所述目标表的参数信息,将各个所述目标数据分别写入相应的所述目标表中。
S5.监测每个所述子数据的迁移状态。
进一步地,步骤S5可包括:
根据所述任务配置库中每个所述子数据对应的子任务的参数信息,监测每个所述子数据的迁移状态,生成任务记录表,所述任务记录表包括每个所述子数据对应的子任务的参数信息和当前的迁移状态信息。任务记录表还可包括表示每个子任务的唯一标识(如:ID)。
其中,所述迁移状态包括:数据迁移状态、导出异常状态和完成迁移状态。数据迁移状态表示子数据当前处于数据迁移状态;完成迁移状态表示子数据当前完成数据迁移;导出异常状态表示子数据的数据迁移失败出现异常。
在实际应用中,当数据迁移时遇到带宽被占用、数据繁忙、机器宕机不能正常转换等情况时,会触发导出异常状态。
在本实施例中,可采用状态机监测每个子数据的迁移状态,从而了解每个子数据的迁移情况。
在本实施例中,数据迁移方法通过将源数据库中的待迁移数据分割为多批子数据,每个子数据对应一个子任务,每个子任务对应一个线程;依据子任务在目标数据库中建立与子任务关联的目标表;依据划分的子数据生成任务配置库,根据任务配置库中的信息,将多个子数据从源数据库中导出迁移至目标数据库中关联的目标表中,同时运行多个线程执行相应的子任务,从而实现同时将多个子数据迁移至目标表的目的;还可通过监测每个子数据的迁移状态,了解每个子数据的迁移情况,以便于数据溯源。本发明还具有数据迁移的效率高,耗时短的优点。
在优选的实施例中,如图4所示数据迁移方法还可包括:
S6.当所述子数据的迁移状态异常时,根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中。
在本实施例中,当子数据在数据迁移过程中发生异常时,在任务记录表写入导出异常状态的信息,并生成报错消息,根据该报错消息查询任务配置库,获取记录该子数据的子任务的参数信息,重新执行该子任务,将子数据从源数据库中导出迁移至目标数据库中关联的目标表,当完成该子数据的迁移时,更新任务记录表中的迁移状态信息,将导出异常状态修改为完成迁移状态。通过任务记录表溯源子数据的迁移状态,对于发生迁移异常的子数据重新执行数据迁移,提高数据迁移的安全性和可用性。
数据迁移的过程中,最小的颗粒度是一个子数据,例如:一个子数据中第101条数据执行失败,前100条执行成功,可重新对该子数据进行补偿操作,重新对该子数据执行数据迁移。
本实施例的数据迁移方法保证了数据迁移的效率和高可用性,采用分布式数据迁移,减少了对内存资源的占用,同时,采用分批次的数据抽取以及对迁移状态异常的续传功能,增加了数据迁移的安全性和可用性,提升了用户体验效果。本发明对业务代码侵入较小,便于系统无感升级和迁移,对业务开发透明,增强了扩展性。
实施例二
请参阅图5,本实施例的一种数据迁移装置1包括:分割单元11、建立单元12、生成单元13、迁移单元14和监测单元15;其中,
分割单元11,用于读取源数据库的待迁移数据,将所述待迁移数据分割为多批子数据,每个所述子数据对应一个子任务;
需要说明的是:本实施例中的待迁移数据为结构化数据。
在本实施例中,每一个子任务对应一个线程,通过该线程可调用相应的子任务。
进一步地,如图6所示分割单元11可包括:读取模块111、识别模块112和分割模块113;其中,
读取模块111,用于以预设时间间隔读取所述源数据库的所述待迁移数据;
其中,预设时间间隔可以根据需要设置,如:1秒,1分钟,10毫秒等。
在本实施例中,通过根据预设时间间隔读取源数据库的方式,可实现实时读取源数据库的效果,能够对源数据库中新增的待迁移数据进行数据迁移,达到了动态迁移源数据库中数据的目的。本实施例不仅可对源数据库中静态的数据进行数据迁移,还可源数据库中动态的数据进行迁移。
在实际应用中,读取模块111还可采用监测源数据库中是否有待迁移数据的方式读取待迁移数据;
识别模块112,用于识别所述待迁移数据的数据量是否符合预设条件;
其中,预设条件为待迁移数据的数据量是否大于预设阈值。例如:预设阈值为5千条数据记录,识别待迁移数据的数据量是否大于5千条数据记录。
分割模块113,当待迁移数据的数据量符合预设条件时,所述分割模块113用于将所述待迁移数据分割为多批子数据。
具体地,可根据预设间隔将待迁移数据分割为若干个批次。
需要说明的是:预设间隔可以根据需要设定,如:1千条数据、2万条数据等。
若待迁移数据包括50万条数据记录,预设间隔为2万条数据,则可将待迁移数据划分为25个批次,每个批次包括2万条数据记录,每个批次对应一个子任务,该子任务与一线程关联,通过运行线程可执行与其关联的子任务,将与该子任务关联的子数据迁移至目标数据库中。
建立单元12,用于在目标数据库中建立与多个所述子任务关联的目标表;
在实际应用中,可在目标数据库中建立多个目标表,每个子任务对应一个目标表;也可以在目标数据库中建立一个目标表,该目标表包括多个子表,每子表对应一个子任务。
生成单元13,用于生成任务配置库,所述任务配置库中包括所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息;
在本实施例中,子任务的参数信息可包括任务名称、调度时间以及与该子数据关联的sql_template字段等信息。
迁移单元14,用于根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中;
在本实施例中,根据任务配置库中的信息,可同时运行多个线程执行相应的子任务,从而实现同时将多个子数据迁移至目标表的目的。
进一步地,迁移单元14用于根据所述任务配置库中每一个所述子数据在所述源数据库中所属表的参数信息,分别抽取所述源数据库中相应的所述子数据;
迁移单元14用于根据每个所述子数据对应的子任务的参数信息,分别选择相应的映射策略将所述子数据转换为目标数据;
其中,所述映射策略可包括以下至少两种策略:字段聚合策略、字段累加策略、求平均值策略和字段过滤策略。
在本实施例中,可根据子数据的数据源类型选择相应的映射策略,子数据的数据源类型在任务配置库中可采用sql语言表达。子数据的数据源类型可包string、int、double、date和text等类型。String类型可用于做字符修改;date类型可规范统一时间格式;text类型可以分词做文本挖掘。对于int和double这两种数值类型的,可采用字段聚合策略进行数据转换。
迁移单元14可采用映射策略逐条对子数据中的每一条数据进行转换,生成目标数据对象,其中,涉及到任务标识(如ID)映射的转换。
迁移单元14还用于根据所述子任务关联的所述目标表的参数信息,将各个所述目标数据分别写入相应的所述目标表中。
监测单元15,用于监测每个所述子数据的迁移状态。
进一步地,监测单元15用于根据所述任务配置库中每个所述子数据对应的子任务的参数信息,监测每个所述子数据的迁移状态,生成任务记录表,所述任务记录表包括每个所述子数据对应的子任务的参数信息和当前的迁移状态信息。任务记录表还可包括表示每个子任务的唯一标识(如:ID)。
其中,所述迁移状态包括:数据迁移状态、导出异常状态和完成迁移状态。数据迁移状态表示子数据当前处于数据迁移状态;完成迁移状态表示子数据当前完成数据迁移;导出异常状态表示子数据的数据迁移失败出现异常。
在实际应用中,当数据迁移时遇到带宽被占用、数据繁忙、机器宕机不能正常转换等情况时,会触发导出异常状态。
在本实施例中,可采用状态机监测每个子数据的迁移状态,从而了解每个子数据的迁移情况。
在本实施例中,数据迁移装置1通过将源数据库中的待迁移数据分割为多批子数据,每个子数据对应一个子任务,每个子任务对应一个线程;依据子任务在目标数据库中建立与子任务关联的目标表;依据划分的子数据生成任务配置库,根据任务配置库中的信息,将多个子数据从源数据库中导出迁移至目标数据库中关联的目标表中,同时运行多个线程执行相应的子任务,从而实现同时将多个子数据迁移至目标表的目的;还可通过监测每个子数据的迁移状态,了解每个子数据的迁移情况,以便于数据溯源。本发明还具有数据迁移的效率高,耗时短的优点。
实施例三
为实现上述目的,本发明还提供一种计算机设备2,该计算机设备2包括多个计算机设备2,实施例二的数据迁移装置1的组成部分可分散于不同的计算机设备2中,计算机设备2可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备2至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器23、网络接口22以及数据迁移装置1(参考图7)。需要指出的是,图7仅示出了具有组件-的计算机设备2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,所述存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例一的数据迁移方法的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器23在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器23通常用于控制计算机设备2的总体操作例如执行与所述计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器23用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述的数据迁移装置1等。
所述网络接口22可包括无线网络接口或有线网络接口,该网络接口22通常用于在所述计算机设备2与其他计算机设备2之间建立通信连接。例如,所述网络接口22用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图7仅示出了具有部件21-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述数据迁移装置1还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器23)所执行,以完成本发明。
实施例四
为实现上述目的,本发明还提供一种计算机可读存储介质,其包括多个存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器23执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据迁移装置1,被处理器23执行时实现实施例一的数据迁移方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据迁移方法,其特征在于,包括:
读取源数据库的待迁移数据,将所述待迁移数据分割为多批子数据,每个所述子数据对应一个子任务;
在目标数据库中建立与多个所述子任务关联的目标表;
生成任务配置库,所述任务配置库中包括所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息;
根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中;
监测每个所述子数据的迁移状态。
2.根据权利要求1所述的数据迁移方法,其特征在于,所述读取源数据库的待迁移数据,将所述待迁移数据分割为多批子数据,包括:
以预设时间间隔读取所述源数据库的所述待迁移数据;
识别所述待迁移数据的数据量是否符合预设条件,若是,将所述待迁移数据分割为多批子数据。
3.根据权利要求1所述的数据迁移方法,其特征在于,所述根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中,包括:
根据所述任务配置库中每一个所述子数据在所述源数据库中所属表的参数信息,分别抽取所述源数据库中相应的所述子数据;
根据每个所述子数据对应的子任务的参数信息,分别选择相应的映射策略将所述子数据转换为目标数据;
根据所述子任务关联的所述目标表的参数信息,将各个所述目标数据分别写入相应的所述目标表中。
4.根据权利要求3所述的数据迁移方法,其特征在于,所述映射策略包括以下至少两种策略:字段聚合策略、字段累加策略、求平均值策略和字段过滤策略。
5.根据权利要求1所述的数据迁移方法,其特征在于,所述监测每个所述子数据的迁移状态,包括:
根据所述任务配置库中每个所述子数据对应的子任务的参数信息,监测每个所述子数据的迁移状态,生成任务记录表,所述任务记录表包括每个所述子数据对应的子任务的参数信息和当前的迁移状态信息。
6.根据权利要求1或5所述的数据迁移方法,其特征在于,所述迁移状态包括:数据迁移状态、导出异常状态和完成迁移状态。
7.根据权利要求1所述的数据迁移方法,其特征在于,还包括:
当所述子数据的迁移状态异常时,根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中。
8.一种数据迁移装置,其特征在于,包括:
分割单元,用于读取源数据库的待迁移数据,将所述待迁移数据分割为多批子数据,每个所述子数据对应一个子任务;
建立单元,用于在目标数据库中建立与多个所述子任务关联的目标表;
生成单元,用于生成任务配置库,所述任务配置库中包括所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息;
迁移单元,用于根据所述任务配置库中所述子数据对应的子任务的参数信息、所述子数据在所述源数据库中所属表的参数信息,与所述子任务关联的所述目标表的参数信息,将多个所述子数据从所述源数据库中导出迁移至所述目标数据库中关联的所述目标表中;
监测单元,用于监测每个所述子数据的迁移状态。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010596445.6A CN111723079A (zh) | 2020-06-28 | 2020-06-28 | 数据迁移方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010596445.6A CN111723079A (zh) | 2020-06-28 | 2020-06-28 | 数据迁移方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111723079A true CN111723079A (zh) | 2020-09-29 |
Family
ID=72569213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010596445.6A Pending CN111723079A (zh) | 2020-06-28 | 2020-06-28 | 数据迁移方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723079A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286905A (zh) * | 2020-10-15 | 2021-01-29 | 北京沃东天骏信息技术有限公司 | 数据迁移方法及装置、存储介质、电子设备 |
CN112347080A (zh) * | 2020-11-11 | 2021-02-09 | 金蝶云科技有限公司 | 一种数据迁移方法及相关装置 |
CN112579569A (zh) * | 2020-12-15 | 2021-03-30 | 中国建设银行股份有限公司 | 一种数据迁移方法和装置 |
CN112685384A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 数据迁移方法、装置、电子设备及存储介质 |
CN113127412A (zh) * | 2021-04-23 | 2021-07-16 | 深圳市酷开网络科技股份有限公司 | 一种数据迁移方法、装置、计算机设备及存储介质 |
CN113220660A (zh) * | 2021-04-15 | 2021-08-06 | 远景智能国际私人投资有限公司 | 一种数据迁移方法、装置、设备及可读存储介质 |
CN113239015A (zh) * | 2021-05-27 | 2021-08-10 | 广东好太太智能家居有限公司 | 一种数据迁移方法、系统及存储介质 |
CN113568890A (zh) * | 2021-08-03 | 2021-10-29 | 拉扎斯网络科技(上海)有限公司 | 数据迁移方法、装置、电子设备及计算机可读存储介质 |
CN113742318A (zh) * | 2021-09-14 | 2021-12-03 | 央视国际网络无锡有限公司 | 一种关系型数据库之间大数据迁移的方法 |
CN114116681A (zh) * | 2022-01-21 | 2022-03-01 | 阿里巴巴(中国)有限公司 | 数据迁移方法及装置 |
CN114363190A (zh) * | 2021-12-31 | 2022-04-15 | 网络通信与安全紫金山实验室 | 一种基于镜像快照提供网络仿真数据的方法和装置 |
CN116821100A (zh) * | 2023-07-20 | 2023-09-29 | 广州云臻数据科技有限公司 | 一种基于双态协同的数据库高保真迁移方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283564A1 (en) * | 2004-06-18 | 2005-12-22 | Lecrone Douglas E | Method and apparatus for data set migration |
CN108280148A (zh) * | 2018-01-02 | 2018-07-13 | 中国民生银行股份有限公司 | 一种数据迁移方法和数据迁移服务器 |
WO2019148722A1 (zh) * | 2018-02-01 | 2019-08-08 | 平安科技(深圳)有限公司 | 电子装置、数据迁移及调用方法及存储介质 |
CN111125261A (zh) * | 2020-03-31 | 2020-05-08 | 四川新网银行股份有限公司 | 基于分布式缓存的数据传输方法 |
-
2020
- 2020-06-28 CN CN202010596445.6A patent/CN111723079A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283564A1 (en) * | 2004-06-18 | 2005-12-22 | Lecrone Douglas E | Method and apparatus for data set migration |
CN108280148A (zh) * | 2018-01-02 | 2018-07-13 | 中国民生银行股份有限公司 | 一种数据迁移方法和数据迁移服务器 |
WO2019148722A1 (zh) * | 2018-02-01 | 2019-08-08 | 平安科技(深圳)有限公司 | 电子装置、数据迁移及调用方法及存储介质 |
CN111125261A (zh) * | 2020-03-31 | 2020-05-08 | 四川新网银行股份有限公司 | 基于分布式缓存的数据传输方法 |
Non-Patent Citations (2)
Title |
---|
彭展;李密;杨楠;: "基于XML数据迁移技术应用研究", 现代计算机(专业版), no. 07 * |
赵艳妮;郭华磊;: "一种异构信息系统数据迁移技术研究", 现代计算机(专业版), no. 24 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286905A (zh) * | 2020-10-15 | 2021-01-29 | 北京沃东天骏信息技术有限公司 | 数据迁移方法及装置、存储介质、电子设备 |
CN112347080A (zh) * | 2020-11-11 | 2021-02-09 | 金蝶云科技有限公司 | 一种数据迁移方法及相关装置 |
CN112579569A (zh) * | 2020-12-15 | 2021-03-30 | 中国建设银行股份有限公司 | 一种数据迁移方法和装置 |
CN112685384A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 数据迁移方法、装置、电子设备及存储介质 |
CN113220660A (zh) * | 2021-04-15 | 2021-08-06 | 远景智能国际私人投资有限公司 | 一种数据迁移方法、装置、设备及可读存储介质 |
CN113127412A (zh) * | 2021-04-23 | 2021-07-16 | 深圳市酷开网络科技股份有限公司 | 一种数据迁移方法、装置、计算机设备及存储介质 |
CN113239015B (zh) * | 2021-05-27 | 2022-12-13 | 广东好太太智能家居有限公司 | 一种数据迁移方法、系统及存储介质 |
CN113239015A (zh) * | 2021-05-27 | 2021-08-10 | 广东好太太智能家居有限公司 | 一种数据迁移方法、系统及存储介质 |
CN113568890A (zh) * | 2021-08-03 | 2021-10-29 | 拉扎斯网络科技(上海)有限公司 | 数据迁移方法、装置、电子设备及计算机可读存储介质 |
CN113742318A (zh) * | 2021-09-14 | 2021-12-03 | 央视国际网络无锡有限公司 | 一种关系型数据库之间大数据迁移的方法 |
CN113742318B (zh) * | 2021-09-14 | 2024-02-20 | 央视国际网络无锡有限公司 | 一种关系型数据库之间大数据迁移的方法 |
CN114363190A (zh) * | 2021-12-31 | 2022-04-15 | 网络通信与安全紫金山实验室 | 一种基于镜像快照提供网络仿真数据的方法和装置 |
CN114363190B (zh) * | 2021-12-31 | 2023-08-22 | 网络通信与安全紫金山实验室 | 一种基于镜像快照提供网络仿真数据的方法和装置 |
CN114116681A (zh) * | 2022-01-21 | 2022-03-01 | 阿里巴巴(中国)有限公司 | 数据迁移方法及装置 |
CN116821100A (zh) * | 2023-07-20 | 2023-09-29 | 广州云臻数据科技有限公司 | 一种基于双态协同的数据库高保真迁移方法 |
CN116821100B (zh) * | 2023-07-20 | 2023-12-22 | 广州云臻数据科技有限公司 | 一种基于双态协同的数据库高保真迁移方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111723079A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN107844634B (zh) | 多元通用模型平台建模方法、电子设备及计算机可读存储介质 | |
CN108958714B (zh) | 业务组件式开发方法、装置、计算机设备及存储介质 | |
CN108462760B (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
CN108388599B (zh) | 电子装置、数据迁移及调用方法及存储介质 | |
CN110046029A (zh) | 应用于集群内多级缓存的数据处理方法和装置 | |
CN111414391A (zh) | 一种访问多数据源的方法及系统 | |
CN112148700A (zh) | 日志数据处理方法、装置、计算机设备和存储介质 | |
CN111736884A (zh) | 组件化方法和系统 | |
CN110708197B (zh) | 监控装置、监控装置的监控策略的设置方法及存储介质 | |
CN109646947B (zh) | 游戏数据的存盘方法、装置、设备和存储介质 | |
CN113886419A (zh) | Sql语句处理方法、装置、计算机设备及存储介质 | |
CN112463799A (zh) | 数据提取方法、装置、设备及存储介质 | |
CN112001707A (zh) | 基于业务数据的业务工作流生成方法及系统 | |
CN115951845A (zh) | 一种磁盘管理方法、装置、设备及存储介质 | |
CN113595762B (zh) | 一种网卡配置的保存方法及装置 | |
CN115359828A (zh) | 一种服务器固件刷新方法、装置、终端及存储介质 | |
CN109582411A (zh) | 图形用户界面生成方法、装置、计算机设备及存储介质 | |
CN114553859A (zh) | 一种bmc配置管理方法、装置、电子设备及存储介质 | |
CN110703988B (zh) | 一种分布式存储的存储池创建方法、系统、终端及存储介质 | |
CN113220368A (zh) | 一种存储客户端资源隔离方法、系统、终端及存储介质 | |
CN108415922B (zh) | 数据库修改方法及应用服务器 | |
CN113656378A (zh) | 一种服务器管理方法、装置、介质 | |
CN111475335A (zh) | 一种数据库快速恢复的方法、系统、终端及存储介质 | |
CN112434013A (zh) | 数据表迁移方法、装置、电子设备及存储介质 |
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 |