一种无侵入式数据迁移方法及系统技术方案

技术编号:38145268 阅读:14 留言:0更新日期:2023-07-08 10:02
本发明专利技术提供了无侵入式数据迁移方法及系统,该方法包括:配置包含迁出数据源的迁出数据信息和包含迁入数据源的迁入数据信息;根据迁出数据信息和迁入数据信息设定迁移规则;根据迁移规则查询迁出数据源,根据查询到的数据生成SQL文件中,执行SQL文件,完成数据迁移。该方法可独立于各业务系统运行,兼容主流数据库,实现无侵入性数据迁移,用户可以自行配置迁出数据信息和迁入数据信息实现数据拆分。该方法实现了无侵入式、多数据源、跨库、跨表、批量的数据迁移,解决现有技术中跨库、跨表、海量数据迁移成本过高、时间太长、兼容性低的问题。兼容性低的问题。兼容性低的问题。

【技术实现步骤摘要】
一种无侵入式数据迁移方法及系统


[0001]本专利技术属于数据库
,具体涉及一种无侵入式数据迁移方法及系统。

技术介绍

[0002]目前,在互联网支付场景及大数据体系中,大部分项目都采用分布式微服务架构,各系统进行微服务拆分,且使用到多数据源及分库分表场景。但是如果存在大批量历史数据及多表维护查询、垮数据库访问时,传统的视图、函数、临时库表存储已经不能满足海量数据日益增长的需求,传统的数据迁移无法做到实时,且需要迁出数据库进行多方配合,耦合性较高,给大批量的历史数据跨库夸表查询维护带来很大的困难,成本消耗较大。

技术实现思路

[0003]针对现有技术中的缺陷,本专利技术提供一种无侵入式数据迁移方法及系统,解决现有技术中跨库、跨表、海量数据迁移成本过高、时间太长、兼容性低的问题。
[0004]第一方面,一种无侵入式数据迁移方法,包括:
[0005]配置包含迁出数据源的迁出数据信息和包含迁入数据源的迁入数据信息;
[0006]根据迁出数据信息和迁入数据信息设定迁移规则;
[0007]根据迁移规则查询迁出数据源,根据查询到的数据生成SQL文件,执行SQL文件,完成数据迁移。
[0008]进一步地,根据迁出数据信息和迁入数据信息设定迁移规则具体包括:
[0009]解析迁出数据信息,以得到迁出数据源以及迁出字段;
[0010]解析迁入数据信息,以得到迁入数据源以及迁入字段;
[0011]构建所有迁出字段的关联关系;
[0012]根据关联关系、迁入数据源以及迁入字段确定迁移规则。
[0013]进一步地,在根据迁移规则查询迁出数据源之前,还包括:
[0014]根据关联关系确定临时库表信息;
[0015]当缓存空间中不存在与临时库表信息对应的临时库表时,在缓存空间中根据临时库表信息创建临时库表。
[0016]进一步地,根据迁移规则查询迁出数据源,根据查询到的数据生成SQL文件具体包括:
[0017]从迁出数据源中,按照迁出字段进行抽数,将抽数得到的字段名称和对应的数值迭代缓存至临时库表中;
[0018]当完成迁出数据库的迭代缓存后,按照缓存先后顺序读取临时库表中的字段名称,作为迁入数据库的INSERT前缀;
[0019]根据INSERT前缀从临时库表中依次取出各个字段名称对应的数值,将数值与INSERT前缀组装得到SQL文件;
[0020]清除临时库表中对应的字段名称和数值。
[0021]进一步地,执行SQL文件,完成数据迁移具体包括:
[0022]查询当日的SQL文件;
[0023]执行SQL文件,完成数据迁移;
[0024]删除执行完的SQL文件。
[0025]第二方面,一种无侵入式数据迁移系统,包括:
[0026]配置单元:用于配置包含迁出数据源的迁出数据信息和包含迁入数据源的迁入数据信息;
[0027]规则设定单元:用于根据迁出数据信息和迁入数据信息设定迁移规则;
[0028]迁移单元:用于根据迁移规则查询迁出数据源,根据查询到的数据生成SQL文件,执行SQL文件,完成数据迁移。
[0029]进一步地,规则设定单元具体用于:
[0030]解析迁出数据信息,以得到迁出数据源以及迁出字段;
[0031]解析迁入数据信息,以得到迁入数据源以及迁入字段;
[0032]构建所有迁出字段的关联关系;
[0033]根据关联关系、迁入数据源以及迁入字段确定迁移规则。
[0034]进一步地,迁移单元还用于:
[0035]根据关联关系确定临时库表信息;
[0036]当缓存空间中不存在与临时库表信息对应的临时库表时,在缓存空间中根据临时库表信息创建临时库表。
[0037]进一步地,迁移单元具体用于:
[0038]从迁出数据源中,按照迁出字段进行抽数,将抽数得到的字段名称和对应的数值迭代缓存至临时库表中;
[0039]当完成迁出数据库的迭代缓存后,按照缓存先后顺序读取临时库表中的字段名称,作为迁入数据库的INSERT前缀;
[0040]根据INSERT前缀从临时库表中依次取出各个字段名称对应的数值,将数值与INSERT前缀组装得到SQL文件;
[0041]清除临时库表中对应的字段名称和数值。
[0042]进一步地,迁移单元具体用于:
[0043]查询当日的SQL文件;
[0044]执行SQL文件,完成数据迁移;
[0045]删除执行完的SQL文件。
[0046]由上述技术方案可知,本专利技术提供的无侵入式数据迁移方法及系统,可独立于各业务系统运行,兼容主流数据库,实现无侵入性数据迁移,用户可以自行配置迁出数据信息和迁入数据信息实现数据拆分。该方法实现了无侵入式、多数据源、跨库、跨表、批量的数据迁移,解决现有技术中跨库、跨表、海量数据迁移成本过高、时间太长、兼容性低的问题。
附图说明
[0047]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件
或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0048]图1为实施例提供的无侵入式数据迁移方法的流程图。
[0049]图2为实施例提供的临时库表信息的确定方法的流程图。
[0050]图3为实施例提供的SQL文件的生成方法。
[0051]图4为实施例提供的无侵入式数据迁移系统的模块框图。
具体实施方式
[0052]下面将结合附图对本专利技术技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,因此只作为示例,而不能以此来限制本专利技术的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本专利技术所属领域技术人员所理解的通常意义。
[0053]应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0054]还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0055]如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。...

【技术保护点】

【技术特征摘要】
1.一种无侵入式数据迁移方法,其特征在于,包括:配置包含迁出数据源的迁出数据信息和包含迁入数据源的迁入数据信息;根据所述迁出数据信息和所述迁入数据信息设定迁移规则;根据所述迁移规则查询迁出数据源,根据查询到的数据生成SQL文件,执行所述SQL文件,完成数据迁移。2.根据权利要求1所述无侵入式数据迁移方法,其特征在于,所述根据所述迁出数据信息和所述迁入数据信息设定迁移规则具体包括:解析所述迁出数据信息,以得到所述迁出数据源以及迁出字段;解析所述迁入数据信息,以得到所述迁入数据源以及迁入字段;构建所有所述迁出字段的关联关系;根据所述关联关系、所述迁入数据源以及所述迁入字段确定所述迁移规则。3.根据权利要求2所述无侵入式数据迁移方法,其特征在于,在根据所述迁移规则查询迁出数据源之前,还包括:根据所述关联关系确定临时库表信息;当缓存空间中不存在与所述临时库表信息对应的临时库表时,在所述缓存空间中根据所述临时库表信息创建临时库表。4.根据权利要求3所述无侵入式数据迁移方法,其特征在于,所述根据所述迁移规则查询迁出数据源,根据查询到的数据生成SQL文件具体包括:从所述迁出数据源中,按照所述迁出字段进行抽数,将抽数得到的字段名称和对应的数值迭代缓存至所述临时库表中;当完成所述迁出数据库的迭代缓存后,按照缓存先后顺序读取所述临时库表中的所述字段名称,作为所述迁入数据库的INSERT前缀;根据所述INSERT前缀从所述临时库表中依次取出各个字段名称对应的数值,将所述数值与所述INSERT前缀组装得到所述SQL文件;清除所述临时库表中对应的字段名称和数值。5.根据权利要求4所述无侵入式数据迁移方法,其特征在于,所述执行所述SQL文件,完成数据迁移具体包括:查询当日的所述SQL文件;执行所述SQL文件,完成数据...

【专利技术属性】
技术研发人员:李江
申请(专利权)人:深圳市雁联计算系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1