System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种高效的数据库增量数据迁移方法技术_技高网

一种高效的数据库增量数据迁移方法技术

技术编号:42235115 阅读:5 留言:0更新日期:2024-08-02 13:49
本发明专利技术涉及数据库增量迁移技术领域,尤其为一种高效的数据库增量数据迁移方法,包括以下步骤:S1,获取增量数据并将增量数据写入数据库中,将获取的增量数据按目标库表分为不同数据表组,采用多线程分别对这些数据表组中的数据进行单表数据遍历分组,并从数据表组中逐一提取出单条增量数据;S2,对提取出的单条增量数据进行类型判别,并根据单条增量数据判别类型将单条增量数据按照顺序放入新增组或删除组或更改组中,重复上述过程,本发明专利技术可以有效解决目前现有数据增量迁移批次中同时存在多种数据类型的增量数据且相同数据类型顺序比较分散,写入时数据库驱动会在不同类型预编译器之间切换,执行效率比较慢。

【技术实现步骤摘要】

本专利技术涉及数据库增量迁移,具体为一种高效的数据库增量数据迁移方法


技术介绍

1、目前现有数据增量迁移是在写入增量数据时,按照当前批次的增量数据顺序写入目标端,如果当前批次同时存在多种数据类型的增量数据且相同数据类型顺序比较分散,写入时数据库驱动会在不同类型预编译器之间切换,执行效率比较慢。

2、因此,需要一种高效的数据库增量数据迁移方法来解决上述
技术介绍
中提出的问题。


技术实现思路

1、本专利技术的目的在于提供一种高效的数据库增量数据迁移方法,以解决上述
技术介绍
中提出的问题。

2、为实现上述目的,本专利技术提供如下技术方案:

3、一种高效的数据库增量数据迁移方法,包括以下步骤:

4、s1,获取增量数据并将增量数据写入数据库中,将获取的增量数据按目标库表分为不同数据表组,采用多线程分别对这些数据表组中的数据进行单表数据遍历分组,并从数据表组中逐一提取出单条增量数据;

5、s2,对提取出的单条增量数据进行类型判别,并根据单条增量数据判别类型将单条增量数据按照顺序放入新增组或删除组或更改组中,重复上述过程,将数据表组中的增量数据逐一放入新增组或删除组或更改组中,并去除分组中唯一id但非必要再次执行的数据;

6、s3,通过数据库驱动批量添加并执行删除组里的单表删除类型数据,接着通过数据库驱动批量添加并执行新增组里的单表新增类型数据,最后通过数据库驱动批量添加并执行更改组里的单表更改类型数据,完成数据增量写入。p>

7、作为本专利技术优选的方案,所述s1中增量数据写入数据库时,通过数据库驱动的批量执行接口,对分好的数据组按一定逻辑顺序进行批量写入操作。

8、作为本专利技术优选的方案,所述s2中将单条增量数据按照顺序放入新增组的具体方法为:判断单条增量数据类型是否为新增,若是,则将单条增量收集顺序加入新增组中,若不是,则将当前单条增量数据送去进行更改判断。

9、作为本专利技术优选的方案,所述s2中将单条增量数据按照顺序放入更改组的具体方法为:对数据类型不是新增的单条增量数据进行更改判断,判断其数据类型是否为更改,若是,则根据单条增量数据对新增组内数据进行处理,并将处理后的单条增量数据加入更改组中,若不是,则将当前单条增量数据送去进行删除判断。

10、作为本专利技术优选的方案,所述根据单条增量数据对新增组内数据进行处理的具体步骤为:以数据类型判断为更改的单条增量数据作为基准数据,在新增组中寻找与基准数据主键相同的数据,并将新增组中与基准数据主键相同的数据移除,等待新增组中数据移除完成后,将数据类型判断为更改的单条增量数据加入更改组中。

11、作为本专利技术优选的方案,所述s2中将单条增量数据按照顺序放入删除组的具体方法为:将数据类型不是新增和更改的单条增量数据类型判断为删除,将判断为删除的单条增量数据与新增组内数据进行比对,接着将判断为删除的单条增量数据与新增组内数据进行比对,比对完成后,将当前单条增量数据加入删除组中。

12、作为本专利技术优选的方案,所述将判断为删除的单条增量数据与新增组内数据进行比对的具体步骤为:以判断为删除的单条增量数据作为基准数据,在新增组中寻找与基准数据主键相同的数据,并将新增组中与基准数据主键相同的数据移除。

13、作为本专利技术优选的方案,所述将判断为删除的单条增量数据与更改组内数据进行比对的具体步骤为:以判断为删除的单条增量数据作为基准数据,在更改组中寻找与基准数据主键相同的数据,并将新增组中与基准数据主键相同的数据移除。

14、与现有技术相比,本专利技术的有益效果是:

15、1、本专利技术中,通过获取增量数据并将增量数据写入数据库中,将获取的增量数据按目标库表分为不同数据表组,采用多线程分别对这些数据表组中的数据进行单表数据遍历分组,并从数据表组中逐一提取出单条增量数据,对提取出的单条增量数据进行类型判别,并根据单条增量数据判别类型将单条增量数据按照顺序放入新增组或删除组或更改组中,重复上述过程,将数据表组中的增量数据逐一放入新增组或删除组或更改组中,并去除分组中唯一id但非必要再次执行的数据,通过数据库驱动批量添加并执行删除组里的单表删除类型数据,接着通过数据库驱动批量添加并执行新增组里的单表新增类型数据,最后通过数据库驱动批量添加并执行更改组里的单表更改类型数据,完成数据增量写入,采用数据分组算法,去除重复执行的数据,对数据执行批量写入操作,避免了数据库预编译期多次切换所带来的开销,提高了写入效率。

本文档来自技高网...

【技术保护点】

1.一种高效的数据库增量数据迁移方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种高效的数据库增量数据迁移方法,其特征在于:所述S1中增量数据写入数据库时,通过数据库驱动的批量执行接口,对分好的数据组按一定逻辑顺序进行批量写入操作。

3.根据权利要求1所述的一种高效的数据库增量数据迁移方法,其特征在于:所述S2中将单条增量数据按照顺序放入新增组的具体方法为:判断单条增量数据类型是否为新增,若是,则将单条增量收集顺序加入新增组中,若不是,则将当前单条增量数据送去进行更改判断。

4.根据权利要求1所述的一种高效的数据库增量数据迁移方法,其特征在于:所述S2中将单条增量数据按照顺序放入更改组的具体方法为:对数据类型不是新增的单条增量数据进行更改判断,判断其数据类型是否为更改,若是,则根据单条增量数据对新增组内数据进行处理,并将处理后的单条增量数据加入更改组中,若不是,则将当前单条增量数据送去进行删除判断。

5.根据权利要求4所述的一种高效的数据库增量数据迁移方法,其特征在于:所述根据单条增量数据对新增组内数据进行处理的具体步骤为:以数据类型判断为更改的单条增量数据作为基准数据,在新增组中寻找与基准数据主键相同的数据,并将新增组中与基准数据主键相同的数据移除,等待新增组中数据移除完成后,将数据类型判断为更改的单条增量数据加入更改组中。

6.根据权利要求1所述的一种高效的数据库增量数据迁移方法,其特征在于:所述S2中将单条增量数据按照顺序放入删除组的具体方法为:将数据类型不是新增和更改的单条增量数据类型判断为删除,将判断为删除的单条增量数据与新增组内数据进行比对,接着将判断为删除的单条增量数据与新增组内数据进行比对,比对完成后,将当前单条增量数据加入删除组中。

7.根据权利要求6所述的一种高效的数据库增量数据迁移方法,其特征在于:所述将判断为删除的单条增量数据与新增组内数据进行比对的具体步骤为:以判断为删除的单条增量数据作为基准数据,在新增组中寻找与基准数据主键相同的数据,并将新增组中与基准数据主键相同的数据移除。

8.根据权利要求6所述的一种高效的数据库增量数据迁移方法,其特征在于:所述将判断为删除的单条增量数据与更改组内数据进行比对的具体步骤为:以判断为删除的单条增量数据作为基准数据,在更改组中寻找与基准数据主键相同的数据,并将新增组中与基准数据主键相同的数据移除。

...

【技术特征摘要】

1.一种高效的数据库增量数据迁移方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种高效的数据库增量数据迁移方法,其特征在于:所述s1中增量数据写入数据库时,通过数据库驱动的批量执行接口,对分好的数据组按一定逻辑顺序进行批量写入操作。

3.根据权利要求1所述的一种高效的数据库增量数据迁移方法,其特征在于:所述s2中将单条增量数据按照顺序放入新增组的具体方法为:判断单条增量数据类型是否为新增,若是,则将单条增量收集顺序加入新增组中,若不是,则将当前单条增量数据送去进行更改判断。

4.根据权利要求1所述的一种高效的数据库增量数据迁移方法,其特征在于:所述s2中将单条增量数据按照顺序放入更改组的具体方法为:对数据类型不是新增的单条增量数据进行更改判断,判断其数据类型是否为更改,若是,则根据单条增量数据对新增组内数据进行处理,并将处理后的单条增量数据加入更改组中,若不是,则将当前单条增量数据送去进行删除判断。

5.根据权利要求4所述的一种高效的数据库增量数据迁移方法,其特征在于:所述根据单条增量数据对新增组内数据进行处理的具体步骤为:以数据类型判断为更改的单条增量数据作为基准数据,...

【专利技术属性】
技术研发人员:堵炜炜朱奕健顾剑峰宋欣波海继尚陈正伟赵娴
申请(专利权)人:联通上海产业互联网有限公司
类型:发明
国别省市:

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

1