CN106055670A - 一种系统间数据迁移方法及装置 - Google Patents
一种系统间数据迁移方法及装置 Download PDFInfo
- Publication number
- CN106055670A CN106055670A CN201610391443.7A CN201610391443A CN106055670A CN 106055670 A CN106055670 A CN 106055670A CN 201610391443 A CN201610391443 A CN 201610391443A CN 106055670 A CN106055670 A CN 106055670A
- Authority
- CN
- China
- Prior art keywords
- data
- migration
- migrated
- inter
- migrator
- 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
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
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明/发明提供一种系统间数据迁移方法及装置,该系统间数据迁移方法包括:根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序;根据源系统和目标系统的数据库类型导出源系统的待迁移数据;调用迁移程序将待迁移数据迁移至目标系统。通过实施本发明,自动生成风格统一、质量可靠的迁移程序,减少系统间数据迁移的人力投入,大幅减少开发工作量,提高生产效率。
Description
技术领域
本发明涉及数据处理技术,具体的讲是一种系统间数据迁移方法及装置。
背景技术
计算机技术的发展日新月异,旧系统在使用较长一段时间后,在功能性、技术先进性、可扩展性和易用性等方面逐渐无法适应企业要求,在使用新的技术和架构搭建新的系统后,可以更好的为企业服务。由于新的系统和旧的系统存在技术和架构上的差异,旧系统的存量数据不能使用已有的技术方案直接平移到新的系统,需要按照一定的规则编写迁移程序,将旧系统的数据经过程序处理后再导入到新系统,以满足新系统的使用要求。
为了保证系统对客户服务的连续性,新旧系统需要在较短的时间内平稳过渡,投产时间窗非常有限。在旧系统规模庞大,存储信息的数据表成百上千,数据表保存上亿级别的记录且单条记录的信息段也较多的情况下,现有的数据迁移,迁移效率低,无法确保在有限的投产时间窗内完成新旧系统间的数据迁移;迁移过程出现错误中断频率较高,需要人工接管;迁移过程中出现错误中断,排除错误后无法在中断处继续迁移,只能全部重新开始;没有统一的日志记录规范,迁移完成后没有有效的手段对数据迁移正确性进行核对;依靠开发人员手工编写迁移程序,工作量巨大,有限的开发资源无法在项目周期内完成任务。大量重复机械的人工编码容易引入非技术性缺陷。不同开发人员的程序风格各异,质量参差不齐,无法保证数据迁移的准确性,且不利于对移行结果进行统一的校验。
发明内容
本发明实施例提供了一种系统间数据迁移方法,包括:根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序;根据源系统和目标系统的数据库类型导出源系统的待迁移数据;调用所述迁移程序将所述待迁移数据迁移至所述的目标系统。
在一实施例中,上述的系统间数据迁移方法还包括:对迁移后的数据进行数据校验,核对所述迁移后的数据的基本信息与所述待迁移数据的基本信息是否一致;如果是,则迁移成功;否则迁移失败;其中,所述的基本信息至少包括:所述迁移后的数据及待迁移数据的数据量、关键信息、总账及分账信息。
在一实施例中,上述的根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序,包括:根据所述源系统和目标系统确定迁移规范及配置信息模板;根据所述待迁移数据及所述配置信息模板生成配置信息表;根据所述迁移规范及配置信息表生成所述的迁移程序。
在一实施例中,上述的调用所述迁移程序将所述待迁移数据迁移至所述的目标系统,包括:根据所述待迁移数据的存储特征选取并行条件将所述待迁移数据划分成多个待处理子任务;调用所述迁移程序,按照一预设并行数及各所述待处理子任务的并行参数并行处理所述的待处理子任务,以将所述待迁移数据并行迁移至所述的目标系统。
在一实施例中,上述的系统间数据迁移方法还包括:对每一所述待迁移数据添加处理标志附属信息,用以区分已迁移数据,当数据迁移过程中断时,根据所述处理标志附属信息对所述已迁移数据之外的数据继续进行数据迁移。
本发明实施例还提供一种系统间数据迁移装置,包括:迁移程序生成单元,用于根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序;待迁移数据导出单元,用于根据源系统和目标系统的数据库类型导出源系统的待迁移数据;数据迁移单元,用于调用所述迁移程序将所述待迁移数据迁移至所述的目标系统。
在一实施例中,上述的系统间数据迁移装置还包括:数据校验单元,用于对迁移后的数据进行数据校验,核对所述迁移后的数据的基本信息与所述待迁移数据的基本信息是否一致;如果是,则表示迁移成功;否则表示迁移失败;其中,所述的基本信息至少包括:所述迁移后的数据及待迁移数据的数据量、关键信息、总账及分账信息。
在一实施例中,上述的迁移程序生成单元具体用于:根据所述源系统和目标系统确定迁移规范及配置信息模板;根据所述待迁移数据及所述配置信息模板生成配置信息表;根据所述迁移规范及配置信息表生成所述的迁移程序。
在一实施例中,上述的数据迁移单元具体用于:根据所述待迁移数据的存储特征选取并行条件将所述待迁移数据划分成多个待处理子任务;调用所述迁移程序,按照一预设并行数及各所述待处理子任务的并行参数并行处理所述的待处理子任务,以将所述待迁移数据并行迁移至所述的目标系统。
在一实施例中,上述的系统间数据迁移装置还包括:断点续做单元,用于对每一所述待迁移数据添加处理标志附属信息,用以区分已迁移数据,当数据迁移过程中断时,所述断点续做单元根据所述处理标志附属信息对所述已迁移数据之外的数据继续进行数据迁移。
本发明实施例的有益效果在于,通过构建代码生成器生成风格统一、质量可靠的迁移程序,减少系统间数据迁移的人力投入,大幅减少开发工作量,提高生产效率。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的系统间数据迁移方法的流程图;
图2为根据本发明实施例中生成迁移程序的具体过程的流程示意图;
图3为根据本发明实施例的并行处理调度过程示意图;
图4为根据本发明实施例的系统间数据迁移装置的机构示意图;
图5为源系统及目标系统间进行数据迁移的整个过程的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明主要实现一种系统间数据迁移方法及装置,在数据迁移的过程中通过对各个环节进行技术优化,实现投入更少的人力,在更短的时间内更稳定的实现数据迁移。
如图1所示,本发明实施例的系统间数据迁移方法主要包括:
步骤S101:根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序;
步骤S102:根据源系统和目标系统的数据库类型导出源系统的待迁移数据;
步骤S103:调用迁移程序将待迁移数据迁移至目标系统。
通过上述的步骤S101至步骤S103,本发明实施例的系统间数据迁移方法套用模板自动生成高质量的迁移程序,减少系统间数据迁移的人力投入,大幅减少开发工作量,提高生产效率。
以下结合示例,对本发明实施例的系统间数据迁移方法中的各步骤进行具体说明。
上述的步骤S101,根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序。在本发明实施例中,是套用模板自动生成高质量的迁移程序,生成该迁移程序的具体过程如图2所示。
步骤S201:制定迁移程序应该遵循的通用迁移规范。
不同的系统不同的场景可以根据实际情况制定合适的规范,包括但不限于以下规范中的一种或多种:
◆输入输出参数规范。相同的场景使用相同个数、相同顺序、相同类型的参数,统一形式,方便调用。参数规范的制定需考虑并发执行、日志记录的需要。
举例:
IN_AREA_CODE IN VARCHAR2,--日期
IN_BATCH_DATE IN VARCHAR2,--地区,支持按地区并发
OUT_FLAG OUT VARCHAR2,--错误标识,1-正常2-异常
OUT_MESSAGE OUT VARCHAR2--错误信息,以便记录日志。
◆命名规范。统一程序及变量命名规范,如使用有含义的英文对变量进行命名,变量统一使用v_开头,合理使用大小写等。
◆日志记录规范:程序执行结果需记录日志,包括处理记录数,其中成功记录数、失败记录数,错误信息等。
◆事务提交规范:根据存储库情况规定处理多少条数据后进行一次事务提交,如处理500条记录后提交一次,目的是合理控制提交事务的大小,避免因为事务过大或者提交太频繁造成资源瓶颈。
◆规定程序的处理流程:
循环临时数据存储单元中的待处理记录:
根据配置的处理规则处理该条记录的每个字段:
如果所有字段处理成功,则处理成功记录数+1,插入到正式存储单元,如果插入冲突,则进行更新;
如果有字段处理失败,则失败记录数+1,记录失败日志;
当处理记录数=500条,进行一次事务提交;
直至所有待处理记录处理完成,然后退出。
步骤S202:根据生成程序所需要的关键要素,提取出配置信息模板,该配置信息模板包括但不限于下表1所示的关键要素中的一种或多种:
表1
步骤S203:针对迁移数据的具体情况填写配置信息模板,按照要求填写步骤S202中的每个要素即可,作为配置信息。
步骤S204:将填好的配置信息导入到一数据存储器中进行存储,供后续步骤使用。用于存储配置信息的表结构信息如下,该表字段与步骤S202中的标准模板要素进行对应。
步骤S205:校验导入的配置信息。
步骤S206:判断配置信息的校验是否存在错误,如果存在错误,则执行步骤S207,否则执行步骤S208。
步骤S207:针对步骤S206中校验出的错误信息,对配置进行修改,修改完成后转到步骤S205。
步骤S208:根据配置信息表DATA_TRANSFER_RULE和通用迁移规范生成迁移程序,具体步骤如下:
循环DATA_TRANSFER_RULE表中待迁移的每一个表的配置信息:
根据TRANSFER_PCKG_NAME生成包名;
根据TRANSFER_NAME迁移程序名;
根据INPUT_PARAM_NAME、INPUT_PARAM_TYPE和RULE_SEQ生成输入输出参数;
按命名规范生成临时变量,用于存储处理记录数、日志信息句柄等;
循环处理源表的每一个字段,根据RULE_DETAIL字段的规则生成处理程序,如果该字段为空则不做处理;
生成数据插入及插入冲突时进行更新部分程序,并更新处理标志flag字段;
生成事务提交部分程序,每处理N条记录进行一次事务提交;
根据日志记录规范生成记录日志部分程序;
生成容错处理部分程序,根据错误严重登记分别做容错处理;
直至DATA_TRANSFER_RULE表所有待迁移表都生成对应的程序,然后退出。
步骤S209:对程序进行校验。
步骤S2010:判断程序校验是否出现错误,如果存在错误,则执行步骤S2011,否则执行步骤S2012。
步骤S2011:对校验出错的程序进行调整,调整完成后转到步骤S209。
步骤S2012:结束。
在生成了迁移程序后,执行上述步骤S102,根据源系统和目标系统的数据库类型导出源系统的待迁移数据。具体实施时,根据实际应用的场景(两个系统的数据库类型等)可以使用不用的导出方法,在源系统和目标系统使用的数据库产品相同的情况下,可以将数据导出为该数据库特有的二进制格式;在源系统和目标系统使用的数据库产品不同的情况下,可以导出为通用的纯文本文件格式。以上所述的情况仅为举例说明,并非用以限制本发明。
对于导出的数据,可通过上述步骤S103,调用迁移程序将待迁移数据迁移至目标系统。
在进行大量数据处理时,串行处理速度慢、效率低,在当前硬件配置普遍配有多处理器的情况下,无法充分利用硬件资源。所以,在本发明实施例中,在数据处理时通过对逻辑上独立的数据采用并行调度处理,从而达到明显的加快速度的效果。并行处理过程具体是,对每一个待处理任务,配置好并行条件(地区、年、月等),将待处理任务划分为若干子任务,以子任务粒度进行调度。调度的原则是:以设置并行数为6为例,首次开始调度时,一次性调起6个子任务,后续当运行的子任务小于6个时,则从待处理子任务中调起补足6个,直到没有待处理子任务为止。
并行条件根据数据的存储特征进行选取,大量的数据在存储时常采用分区机制,逻辑上独立的数据分布在不同的分区上,分区条件适宜用于作为并行条件。如按地区进行并行、按年份进行并行、按月份进行并行等。
并行数应结合硬件的配置情况设置合理的数值,保证硬件资源的充分利用,但又不能设置过高,避免出现并行数过高出现硬件资源争用,导致瓶颈,反而降低处理效率。一般情况下并行数应满足以下条件:
1≤并行数≤处理器个数。
以按地区并行为例,假设并行数为6,则处理开始后同一时刻有6个地区的数据在并行处理,当有地区处理完成后,立刻从未处理地区中调起处理任务补上,保证任一时刻都有6个地区在进行处理(当正在处理的地区数+未处理的地区数<6时除外)。并且,针对每个地区的待处理任务,都有其各自对应的并行参数,用以辨识是属于哪个地区的待处理任务。例如图3所示,对于处理中地区中的浙江地区,通过识别浙江地区的并行参数来确定是属于浙江地区的处理任务,因此,将浙江地区的待迁移数据迁移至与浙江地区相对应的目标系统中,然后,可将浙江地区划分至“已处理地区”中,并从“待处理地区”中选取一个地区补入到“处理中地区”中,从而保证“处理中地区”中的并行数为6。
在实际应用中,将待迁移数据从源系统迁移至目标系统后,可对数据迁移的正确性进行校验。数据校验的方式主要是通过核对数据迁移前后的基本信息是否一致进行判断。其中,数据常见的基本信息包括:(1)数据量,核对迁移后的数据与原始待迁移数据的数据量是否匹配;(2)关键信息,抽查目标系统中的关键信息在迁移后是否正确,如金额、额度等。(3)总账及分账信息,数据迁移后,目标系统中数据所包含的分户账汇总与总账应该仍保持一致。
如果迁移前后的数据的基本信息一致,则可反馈一校验结果,表示迁移成功;如果迁移前后的数据的基本信息并不一致,则反馈的校验结果为:迁移失败。
在实际应用中,对于两系统间进行数据迁移的过程有可能会存在处理过程出错的情况,针对此种情况,本发明实施例的系统间数据迁移方法还可包含一中断容错处理步骤,该步骤主要包括:
首先,对处理过程中可能出现的错误进行分类,并标识出严重等级。只对严重错误进行中断,对一般错误,在处理时做容错处理,视具体的情况,可对错误进行默认处理,或者记录错误日志信息,在迁移完成后对这些错误进行事后修复,确保数据迁移过程中尽量减少甚至消除中断,平稳运行结束。
上述的严重错误是指出现该错误后,如果不中断,则数据无法迁移,或者迁移后无法进行事后修复的错误。对于这类错误,应该进行中断并人工接管,在排除错误后重新调起处理任务。
上述的一般错误是指该错误出现后,可以通过默认的处理方式进行迁移,或者迁移完后可以通过其他方式进行事后修复。对于这类错误,应避免中断,优先保证绝大部分数据的顺利迁移,少量的一般错误则通过事后修复解决。
而当数据迁移过程中断时,本发明实施例的系统间数据迁移方法可实现断点续做。断点续做是指已出现中断错误,在排除中断错误后,重新提交调度时,不需要清理或者还原已经成功处理的部分,而可以在中断处继续进行处理。断点续做的好处是在排除错误后,能够继续之前的处理,对已迁移成功部分不需要重复处理,节约处理时间。在时间窗有限,处理耗时较长的情况下,断点续做机制能够有效的保证数据迁移的连续性。
实现断点续做的具体过程是,通过对待迁移数据中添加处理标志Flag附属信息,在未做处理时,Flag附属信息为空。在处理成功后,返写Flag附属信息为1,当处理出现错误时,返写Flag附属信息为2。在调度处理时,只处理未处理的部分(即Flag为空的记录)以及处理出现错误的部分(即Flag为2的记录)。在中断后重新开始处理时,可跳过已成功处理的记录,只处理尚未处理的数据以及处理出现错误的记录,从而实现断点续做,继续进行数据迁移。
具体实施时,可通过日志记录的方式对整个数据迁移过程进行记录。在迁移过程中对迁移的信息记录规范统一的日志信息,分为记录级别的日志和调度级别的日志。日志的用途在于迁移完成后,能够通过日志信息对于迁移的情况进行详细的分析,对于其中出现的错误能够通过日志轻松定位问题原因,并提供核对的基础数据。
记录级别的日志用于记录每个数据的迁移是处理成功还是处理失败,如果处理失败,则记录失败的错误信息。
调度级别的日志记录迁移调度的开始时间和结束时间,用于计算迁移的耗时。记录调度中的总处理记录数,其中处理成功记录数和处理失败记录数,用于迁移完成后进行数据量核对。
本发明实施例的系统间数据迁移方法,有效解决了新旧系统之间大数据量迁移带来的工作量巨大,迁移效率低,耗时长,中断频度高,迁移完成后校验准确性困难的问题。通过优化迁移过程中的各个环节,形成一套完整的、高效的、可靠的系统间数据迁移装置和方法。如图5所示,通过构建代码生成器生成风格统一、质量可靠的迁移程序,减少系统间数据迁移的人力投入,节约企业开发资源。通过并行调度和断点续做显著提高迁移处理速度,降低对投产时间窗的要求,保证对客户服务的连续性。通过完善的日志记录,迁移完成后能够准确的评估迁移情况,并能根据日志信息对错误进行事后修复,为新旧系统之间快速平稳切换提供可靠保障。
本发明实施例还提供一种系统间数据迁移装置,如图4所示,该系统间数据迁移装置主要包括:迁移程序生成单元1、待迁移数据导出单元2及数据迁移单元3。
其中,该迁移程序生成单元1用于根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序;待迁移数据导出单元2用于根据源系统和目标系统的数据库类型导出源系统的待迁移数据;数据迁移单元3用于调用迁移程序将待迁移数据迁移至目标系统。
通过上述的各个组成部分,本发明实施例的系统间数据迁移装置套用模板自动生成高质量的迁移程序,减少系统间数据迁移的人力投入,大幅减少开发工作量,提高生产效率。
以下结合示例,对本发明实施例的系统间数据迁移装置中的各个组成部分进行具体说明。
上述的迁移程序生成单元1,用于根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序。在本发明实施例中,是套用模板自动生成高质量的迁移程序。该迁移程序生成单元1生成该迁移程序的具体过程如图2所示。
步骤S201:制定迁移程序应该遵循的通用迁移规范。
不同的系统不同的场景可以根据实际情况制定合适的规范,包括但不限于以下规范:
◆输入输出参数规范。相同的场景使用相同个数、相同顺序、相同类型的参数,统一形式,方便调用。参数规范的制定需考虑并发执行、日志记录的需要。
举例:
IN_AREA_CODE IN VARCHAR2,--日期
IN_BATCH_DATE IN VARCHAR2,--地区,支持按地区并发
OUT_FLAG OUT VARCHAR2,--错误标识,1-正常2-异常
OUT_MESSAGE OUT VARCHAR2--错误信息,以便记录日志。
◆命名规范。统一程序及变量命名规范,如使用有含义的英文对变量进行命名,变量统一使用v_开头,合理使用大小写等。
◆日志记录规范:程序执行结果需记录日志,包括处理记录数,其中成功记录数、失败记录数,错误信息等。
◆事务提交规范:根据存储库情况规定处理多少条数据后进行一次事务提交,如处理500条记录后提交一次,目的是合理控制提交事务的大小,避免因为事务过大或者提交太频繁造成资源瓶颈。
◆规定程序的处理流程:
循环临时数据存储单元中的待处理记录:
根据配置的处理规则处理该条记录的每个字段:
如果所有字段处理成功,则处理成功记录数+1,插入到正式存储单元,如果插入冲突,则进行更新;
如果有字段处理失败,则失败记录数+1,记录失败日志;
当处理记录数=500条,进行一次事务提交;
直至所有待处理记录处理完成,然后退出。
步骤S202:根据生成程序所需要的关键要素,提取出配置信息模板,包括但不限于下表1所示的要素:
表1
步骤S203:针对迁移数据的具体情况填写配置信息模板,按照要求填写步骤S202中的每个要素即可,作为配置信息。
步骤S204:将填好的配置信息导入到一数据存储器中进行存储,供后续步骤使用。用于存储配置信息的表结构信息如下,该表字段与步骤S202中的标准模板要素进行对应。
步骤S205:校验导入的配置信息。
步骤S206:判断配置信息的校验是否存在错误,如果存在错误,则执行步骤S207,否则执行步骤S208。
步骤S207:针对步骤S206中校验出的错误信息,对配置进行修改,修改完成后转到步骤S205。
步骤S208:根据配置信息表DATA_TRANSFER_RULE和通用迁移规范生成迁移程序,具体步骤如下:
循环DATA_TRANSFER_RULE表中待迁移的每一个表的配置信息:
根据TRANSFER_PCKG_NAME生成包名;
根据TRANSFER_NAME迁移程序名;
根据INPUT_PARAM_NAME、INPUT_PARAM_TYPE和RULE_SEQ生成输入输出参数;
按命名规范生成临时变量,用于存储处理记录数、日志信息句柄等;
循环处理源表的每一个字段,根据RULE_DETAIL字段的规则生成处理程序,如果该字段为空则不做处理;
生成数据插入及插入冲突时进行更新部分程序,并更新处理标志flag字段;
生成事务提交部分程序,每处理N条记录进行一次事务提交;
根据日志记录规范生成记录日志部分程序;
生成容错处理部分程序,根据错误严重登记分别做容错处理;
直至DATA_TRANSFER_RULE表所有待迁移表都生成对应的程序,然后退出。
步骤S209:对程序进行校验。
步骤S2010:判断程序校验是否出现错误,如果存在错误,则执行步骤S2011,否则执行步骤S2012。
步骤S2011:对校验出错的程序进行调整,调整完成后转到步骤S209。
步骤S2012:结束。
在生成了迁移程序后,通过上述待迁移数据导出单元2根据源系统和目标系统的数据库类型导出源系统的待迁移数据。具体实施时,根据实际应用的场景(两个系统的数据库类型等)可以使用不用的导出方法,在源系统和目标系统使用的数据库产品相同的情况下,可以将数据导出为该数据库特有的二进制格式;在源系统和目标系统使用的数据库产品不同的情况下,可以导出为通用的纯文本文件格式。以上所述的情况仅为举例说明,并非用以限制本发明。
对于导出的数据,可通过上述的数据迁移单元3调用迁移程序将待迁移数据迁移至目标系统。
在进行大量数据处理时,串行处理速度慢、效率低,在当前硬件配置普遍配有多处理器的情况下,无法充分利用硬件资源。所以,在本发明实施例中,在数据处理时通过对逻辑上独立的数据采用并行调度处理,从而达到明显的加快速度的效果。并行处理过程具体是,对每一个待处理任务,配置好并行条件(地区、年、月等),将待处理任务划分为若干子任务,以子任务粒度进行调度。调度的原则是:以设置并行数为6为例,首次开始调度时,一次性调起6个子任务,后续当运行的子任务小于6个时,则从待处理子任务中调起补足6个,直到没有待处理子任务为止。
并行条件根据数据的存储特征进行选取,大量的数据在存储时常采用分区机制,逻辑上独立的数据分布在不同的分区上,分区条件适宜用于作为并行条件。如按地区进行并行、按年份进行并行、按月份进行并行等。
并行数应结合硬件的配置情况设置合理的数值,保证硬件资源的充分利用,但又不能设置过高,避免出现并行数过高出现硬件资源争用,导致瓶颈,反而降低处理效率。一般情况下并行数应满足以下条件:
1≤并行数≤处理器个数。
以按地区并行为例,假设并行数为6,则处理开始后同一时刻有6个地区的数据在并行处理,当有地区处理完成后,立刻从未处理地区中调起处理任务补上,保证任一时刻都有6个地区在进行处理(当正在处理的地区数+未处理的地区数<6时除外)。并且,针对每个地区的待处理任务,都有其各自对应的并行参数,用以辨识是属于哪个地区的待处理任务。例如图3所示,对于处理中地区中的浙江地区,通过识别浙江地区的并行参数来确定是属于浙江地区的处理任务,因此,将浙江地区的待迁移数据迁移至与浙江地区相对应的目标系统中,然后,可将浙江地区划分至“已处理地区”中,并从“待处理地区”中选取一个地区补入到“处理中地区”中,从而保证“处理中地区”中的并行数为6。
在实际应用中,将待迁移数据从源系统迁移至目标系统后,可通过一数据校验单元对数据迁移的正确性进行校验。数据校验的方式主要是通过核对数据迁移前后的基本信息是否一致进行判断。其中,数据常见的基本信息包括:(1)数据量,核对迁移后的数据与原始待迁移数据的数据量是否匹配;(2)关键信息,抽查目标系统中的关键信息在迁移后是否正确,如金额、额度等。(3)总账及分账信息,数据迁移后,目标系统中数据所包含的分户账汇总与总账应该仍保持一致。
如果迁移前后的数据的基本信息一致,则可反馈一校验结果,表示迁移成功;如果迁移前后的数据的基本信息并不一致,则反馈的校验结果为:迁移失败。
在实际应用中,对于两系统间进行数据迁移的过程有可能会存在处理过程出错的情况,针对此种情况,本发明实施例的系统间数据迁移装置还可包含一中断容错处理单元,该中断容错处理单元主要用于执行以下过程:
首先,对处理过程中可能出现的错误进行分类,并标识出严重等级。只对严重错误进行中断,对一般错误,在处理时做容错处理,视具体的情况,可对错误进行默认处理,或者记录错误日志信息,在迁移完成后对这些错误进行事后修复,确保数据迁移过程中尽量减少甚至消除中断,平稳运行结束。
上述的严重错误是指出现该错误后,如果不中断,则数据无法迁移,或者迁移后无法进行事后修复的错误。对于这类错误,应该进行中断并人工接管,在排除错误后重新调起处理任务。
上述的一般错误是指该错误出现后,可以通过默认的处理方式进行迁移,或者迁移完后可以通过其他方式进行事后修复。对于这类错误,应避免中断,优先保证绝大部分数据的顺利迁移,少量的一般错误则通过事后修复解决。
而当数据迁移过程中断时,本发明实施例的系统间数据迁移装置可通过一断点续做单元实现断点续做。断点续做是指已出现中断错误,在排除中断错误后,重新提交调度时,不需要清理或者还原已经成功处理的部分,而可以在中断处继续进行处理。断点续做的好处是在排除错误后,能够继续之前的处理,对已迁移成功部分不需要重复处理,节约处理时间。在时间窗有限,处理耗时较长的情况下,断点续做机制能够有效的保证数据迁移的连续性。
实现断点续做的具体过程是,通过对待迁移数据中添加处理标志Flag附属信息,在未做处理时,Flag附属信息为空。在处理成功后,返写Flag附属信息为1,当处理出现错误时,返写Flag附属信息为2。在调度处理时,只处理未处理的部分(即Flag为空的记录)以及处理出现错误的部分(即Flag为2的记录)。在中断后重新开始处理时,可跳过已成功处理的记录,只处理尚未处理的数据以及处理出现错误的记录,从而实现断点续做,继续进行数据迁移。
具体实施时,可通过日志记录的方式对整个数据迁移过程进行记录。在迁移过程中对迁移的信息记录规范统一的日志信息,分为记录级别的日志和调度级别的日志。日志的用途在于迁移完成后,能够通过日志信息对于迁移的情况进行详细的分析,对于其中出现的错误能够通过日志轻松定位问题原因,并提供核对的基础数据。
记录级别的日志用于记录每个数据的迁移是处理成功还是处理失败,如果处理失败,则记录失败的错误信息。
调度级别的日志记录迁移调度的开始时间和结束时间,用于计算迁移的耗时。记录调度中的总处理记录数,其中处理成功记录数和处理失败记录数,用于迁移完成后进行数据量核对。
本发明实施例的系统间数据迁移装置,有效解决了新旧系统之间大数据量迁移带来的工作量巨大,迁移效率低,耗时长,中断频度高,迁移完成后校验准确性困难的问题。通过优化迁移过程中的各个环节,形成一套完整的、高效的、可靠的系统间数据迁移装置和方法。如图5所示,通过构建代码生成器生成风格统一、质量可靠的迁移程序,减少系统间数据迁移的人力投入,节约企业开发资源。通过并行调度和断点续做显著提高迁移处理速度,降低对投产时间窗的要求,保证对客户服务的连续性。通过完善的日志记录,迁移完成后能够准确的评估迁移情况,并能根据日志信息对错误进行事后修复,为新旧系统之间快速平稳切换提供可靠保障。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,比如ROM/RAM、磁碟、光盘等。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种系统间数据迁移方法,其特征在于,所述的系统间数据迁移方法包括:
根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序;
根据源系统和目标系统的数据库类型导出源系统的待迁移数据;
调用所述迁移程序将所述待迁移数据迁移至所述的目标系统。
2.根据权利要求1所述的系统间数据迁移方法,其特征在于,所述的系统间数据迁移方法还包括:
对迁移后的数据进行数据校验,核对所述迁移后的数据的基本信息与所述待迁移数据的基本信息是否一致;
如果是,则迁移成功;否则迁移失败;
其中,所述的基本信息至少包括:所述迁移后的数据及待迁移数据的数据量、关键信息、总账及分账信息。
3.根据权利要求1所述的系统间数据迁移方法,其特征在于,根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序,包括:
根据所述源系统和目标系统确定迁移规范及配置信息模板;
根据所述待迁移数据及所述配置信息模板生成配置信息表;
根据所述迁移规范及配置信息表生成所述的迁移程序。
4.根据权利要求1所述的系统间数据迁移方法,其特征在于,调用所述迁移程序将所述待迁移数据迁移至所述的目标系统,包括:
根据所述待迁移数据的存储特征选取并行条件将所述待迁移数据划分成多个待处理子任务;
调用所述迁移程序,按照一预设并行数及各所述待处理子任务的并行参数并行处理所述的待处理子任务,以将所述待迁移数据并行迁移至所述的目标系统。
5.根据权利要求1所述的系统间数据迁移方法,其特征在于,所述的系统间数据迁移方法还包括:
对每一所述待迁移数据添加处理标志附属信息,用以区分已迁移数据,当数据迁移过程中断时,根据所述处理标志附属信息对所述已迁移数据之外的数据继续进行数据迁移。
6.一种系统间数据迁移装置,其特征在于,所述的系统间数据迁移装置包括:
迁移程序生成单元,用于根据待迁移数据和预先设置的迁移规范及配置信息模板生成迁移程序;
待迁移数据导出单元,用于根据源系统和目标系统的数据库类型导出源系统的待迁移数据;
数据迁移单元,用于调用所述迁移程序将所述待迁移数据迁移至所述的目标系统。
7.根据权利要求6所述的系统间数据迁移装置,其特征在于,所述的系统间数据迁移装置还包括:
数据校验单元,用于对迁移后的数据进行数据校验,核对所述迁移后的数据的基本信息与所述待迁移数据的基本信息是否一致;如果是,则表示迁移成功;否则表示迁移失败;
其中,所述的基本信息至少包括:所述迁移后的数据及待迁移数据的数据量、关键信息、总账及分账信息。
8.根据权利要求6所述的系统间数据迁移装置,其特征在于,所述的迁移程序生成单元具体用于:
根据所述源系统和目标系统确定迁移规范及配置信息模板;
根据所述待迁移数据及所述配置信息模板生成配置信息表;
根据所述迁移规范及配置信息表生成所述的迁移程序。
9.根据权利要求6所述的系统间数据迁移装置,其特征在于,所述的数据迁移单元具体用于:
根据所述待迁移数据的存储特征选取并行条件将所述待迁移数据划分成多个待处理子任务;
调用所述迁移程序,按照一预设并行数及各所述待处理子任务的并行参数并行处理所述的待处理子任务,以将所述待迁移数据并行迁移至所述的目标系统。
10.根据权利要求6所述的系统间数据迁移装置,其特征在于,所述的系统间数据迁移装置还包括:
断点续做单元,用于对每一所述待迁移数据添加处理标志附属信息,用以区分已迁移数据,当数据迁移过程中断时,所述断点续做单元根据所述处理标志附属信息对所述已迁移数据之外的数据继续进行数据迁移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610391443.7A CN106055670A (zh) | 2016-06-06 | 2016-06-06 | 一种系统间数据迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610391443.7A CN106055670A (zh) | 2016-06-06 | 2016-06-06 | 一种系统间数据迁移方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106055670A true CN106055670A (zh) | 2016-10-26 |
Family
ID=57169602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610391443.7A Pending CN106055670A (zh) | 2016-06-06 | 2016-06-06 | 一种系统间数据迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106055670A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777180A (zh) * | 2016-12-22 | 2017-05-31 | 北京京东金融科技控股有限公司 | 高性能分布式数据转换的方法、装置及系统 |
CN107423334A (zh) * | 2017-04-24 | 2017-12-01 | 云宏信息科技股份有限公司 | 一种支持多数据源的自动数据迁移方法及装置 |
CN107506451A (zh) * | 2017-08-28 | 2017-12-22 | 泰康保险集团股份有限公司 | 用于数据交互的异常信息监控方法及装置 |
CN107977414A (zh) * | 2017-11-22 | 2018-05-01 | 西安财经学院 | 基于深度学习的图像风格迁移方法及其系统 |
CN108664496A (zh) * | 2017-03-29 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 数据迁移方法及装置 |
CN110297813A (zh) * | 2019-05-22 | 2019-10-01 | 平安银行股份有限公司 | 数据迁移方法、装置、计算机设备及存储介质 |
CN111104393A (zh) * | 2019-12-17 | 2020-05-05 | 深圳追一科技有限公司 | 数据迁移方法、装置、电子设备以及存储介质 |
CN111125063A (zh) * | 2019-12-20 | 2020-05-08 | 无线生活(杭州)信息科技有限公司 | 一种快速校验集群间的数据迁移的方法及装置 |
CN111367890A (zh) * | 2020-03-13 | 2020-07-03 | 深圳壹账通智能科技有限公司 | 一种数据迁移的方法、装置、计算机设备及可读存储介质 |
CN111680023A (zh) * | 2020-06-08 | 2020-09-18 | 中国银行股份有限公司 | 迁移数据核对方法及装置 |
CN112199355A (zh) * | 2020-12-09 | 2021-01-08 | 北京易真学思教育科技有限公司 | 数据迁移方法、装置、电子设备及存储介质 |
CN113364806A (zh) * | 2021-06-30 | 2021-09-07 | 深圳前海微众银行股份有限公司 | 一种服务接口迁移的校验方法及装置 |
CN113656375A (zh) * | 2021-08-19 | 2021-11-16 | 建信金融科技有限责任公司 | 账务迁移方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移系统和方法 |
CN103257878A (zh) * | 2013-05-16 | 2013-08-21 | 浪潮通信信息系统有限公司 | 一种基于云计算的应用程序的跨平台平滑迁移方法 |
CN104573056A (zh) * | 2015-01-22 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种基于oracle数据库大数据量在线迁移的方法 |
US20150373106A1 (en) * | 2012-02-13 | 2015-12-24 | SkyKick, Inc. | Migration project automation, e.g., automated selling, planning, migration and configuration of email systems |
US20160099998A1 (en) * | 2014-10-01 | 2016-04-07 | SkyKick, Inc. | Optimizing data migration processes |
-
2016
- 2016-06-06 CN CN201610391443.7A patent/CN106055670A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移系统和方法 |
US20150373106A1 (en) * | 2012-02-13 | 2015-12-24 | SkyKick, Inc. | Migration project automation, e.g., automated selling, planning, migration and configuration of email systems |
CN103257878A (zh) * | 2013-05-16 | 2013-08-21 | 浪潮通信信息系统有限公司 | 一种基于云计算的应用程序的跨平台平滑迁移方法 |
US20160099998A1 (en) * | 2014-10-01 | 2016-04-07 | SkyKick, Inc. | Optimizing data migration processes |
CN104573056A (zh) * | 2015-01-22 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种基于oracle数据库大数据量在线迁移的方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777180A (zh) * | 2016-12-22 | 2017-05-31 | 北京京东金融科技控股有限公司 | 高性能分布式数据转换的方法、装置及系统 |
CN108664496A (zh) * | 2017-03-29 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 数据迁移方法及装置 |
CN107423334A (zh) * | 2017-04-24 | 2017-12-01 | 云宏信息科技股份有限公司 | 一种支持多数据源的自动数据迁移方法及装置 |
CN107506451A (zh) * | 2017-08-28 | 2017-12-22 | 泰康保险集团股份有限公司 | 用于数据交互的异常信息监控方法及装置 |
CN107506451B (zh) * | 2017-08-28 | 2020-11-03 | 泰康保险集团股份有限公司 | 用于数据交互的异常信息监控方法及装置 |
CN107977414B (zh) * | 2017-11-22 | 2021-10-12 | 西安财经学院 | 基于深度学习的图像风格迁移方法及其系统 |
CN107977414A (zh) * | 2017-11-22 | 2018-05-01 | 西安财经学院 | 基于深度学习的图像风格迁移方法及其系统 |
CN110297813A (zh) * | 2019-05-22 | 2019-10-01 | 平安银行股份有限公司 | 数据迁移方法、装置、计算机设备及存储介质 |
CN111104393A (zh) * | 2019-12-17 | 2020-05-05 | 深圳追一科技有限公司 | 数据迁移方法、装置、电子设备以及存储介质 |
CN111104393B (zh) * | 2019-12-17 | 2024-02-20 | 深圳追一科技有限公司 | 数据迁移方法、装置、电子设备以及存储介质 |
CN111125063A (zh) * | 2019-12-20 | 2020-05-08 | 无线生活(杭州)信息科技有限公司 | 一种快速校验集群间的数据迁移的方法及装置 |
CN111125063B (zh) * | 2019-12-20 | 2023-09-26 | 无线生活(杭州)信息科技有限公司 | 一种快速校验集群间的数据迁移的方法及装置 |
CN111367890A (zh) * | 2020-03-13 | 2020-07-03 | 深圳壹账通智能科技有限公司 | 一种数据迁移的方法、装置、计算机设备及可读存储介质 |
CN111680023A (zh) * | 2020-06-08 | 2020-09-18 | 中国银行股份有限公司 | 迁移数据核对方法及装置 |
CN112199355A (zh) * | 2020-12-09 | 2021-01-08 | 北京易真学思教育科技有限公司 | 数据迁移方法、装置、电子设备及存储介质 |
CN113364806A (zh) * | 2021-06-30 | 2021-09-07 | 深圳前海微众银行股份有限公司 | 一种服务接口迁移的校验方法及装置 |
CN113364806B (zh) * | 2021-06-30 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种服务接口迁移的校验方法及装置 |
CN113656375A (zh) * | 2021-08-19 | 2021-11-16 | 建信金融科技有限责任公司 | 账务迁移方法及装置 |
CN113656375B (zh) * | 2021-08-19 | 2024-08-16 | 建信金融科技有限责任公司 | 账务迁移方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106055670A (zh) | 一种系统间数据迁移方法及装置 | |
CN100444120C (zh) | 流水线多进程之间基于消息队列的海量数据传输方法 | |
CN110209650A (zh) | 数据规整迁移方法、装置、计算机设备和存储介质 | |
CN103744906A (zh) | 一种数据同步系统、方法及装置 | |
CN103473342A (zh) | 一种报表数据生成方法及系统 | |
CN101017546A (zh) | 一种用于可分类数据批处理的方法及装置 | |
CN105677465B (zh) | 应用于银行跑批处理的数据处理方法及装置 | |
US20140222766A1 (en) | System and method for database migration and validation | |
CN102799519A (zh) | 一种集群文件系统自动化测试方法 | |
CN109597846B (zh) | 大数据平台数据仓库数据处理方法、装置和计算机设备 | |
CN102542116B (zh) | Dfm分析自动化的方法及装置 | |
CN109684304A (zh) | 数据迁移方法及装置 | |
US20230351145A1 (en) | Pipelining and parallelizing graph execution method for neural network model computation and apparatus thereof | |
CN110764747B (zh) | 基于Airflow的数据计算调度方法 | |
CN101685452A (zh) | 数据仓库调度方法及调度系统 | |
CN116594757B (zh) | 利用大语言模型执行复杂任务的方法及装置 | |
CN109947532A (zh) | 一种教育云平台中的大数据任务调度方法 | |
CN107798120A (zh) | 一种数据转换方法及装置 | |
CN114942965B (zh) | 一种数据库主备同步操作的加速方法和系统 | |
CN115881106A (zh) | 一种基于多场景语义分析的智能填单方法、设备及介质 | |
CN116361290A (zh) | 冷热数据处理方法、装置、电子设备及存储介质 | |
CN111190814A (zh) | 软件测试用例的生成方法、装置、存储介质及终端 | |
CN110990285A (zh) | 一种ui自动化测试方法及装置 | |
CN110597718A (zh) | 一种基于ai的自动化测试实现方法和系统 | |
CN1003891B (zh) | 多计算机系统程序管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161026 |