CN116821100A - 一种基于双态协同的数据库高保真迁移方法 - Google Patents
一种基于双态协同的数据库高保真迁移方法 Download PDFInfo
- Publication number
- CN116821100A CN116821100A CN202310893546.3A CN202310893546A CN116821100A CN 116821100 A CN116821100 A CN 116821100A CN 202310893546 A CN202310893546 A CN 202310893546A CN 116821100 A CN116821100 A CN 116821100A
- Authority
- CN
- China
- Prior art keywords
- data
- migration
- database
- file
- redo log
- 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.)
- Granted
Links
- 230000005012 migration Effects 0.000 title claims abstract description 83
- 238000013508 migration Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000003068 static effect Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据迁移技术领域,公开了一种基于双态协同的数据库高保真迁移方法,该方法包括静态数据迁移和动态数据迁移。本申请的基于双态协同的数据库高保真迁移方法,实现了近实时迁移和近实时校验,一方面能为工程项目割接节省时间,另一方面能及时发现数据同步中出现不一致的地方并及时进行修正,提高了数据高保真迁移的效率。
Description
技术领域
本申请涉及数据迁移技术领域,具体是一种基于双态协同的数据库高保真迁移方法。
背景技术
在数据迁移领域中,双态指的是静态和动态。数据库里表中的数据基于是否随着时间向前而变化进行区分静态和动态。数据库里表中的数据生成后不随着时间向前而变化的,则为静态数据。数据库里表中的数据生成后不随着时间向前会变化的,则为动态数据。
数据库迁移,是指将一个源库的数据迁移到目标数据库里,其中源库和目标数据库可以为不同品牌或不同版本的数据库。为了确保数据迁移后不出现数据紊乱从而影响后续数据库的使用,在进行数据库迁移时,往往需要进行高保真迁移,高保真迁移是指将一个源库的数据迁移到目标数据库里,且源库和目标库的数据内容或意义是一致的。
对于现有的数据库迁移技术而言,有些简单的数据迁移方式,由于无法确保数据高保真迁移,从而导致迁移完成后需要对迁移后的数据进行逐一校验修正,这就导致了工程项目割接时间的浪费。
发明内容
本申请的目的在于提供一种基于双态协同的数据库高保真迁移方法,以解决上述背景技术中提出的现有的一些数据库迁移方法,由于无法确保数据高保真迁移,从而导致迁移完成后需要对迁移后的数据进行逐一校验修正,进而导致工程项目割接时间浪费的问题。
为实现上述目的,本申请公开了以下技术方案:一种基于双态协同的数据库高保真迁移方法,该方法包括静态数据迁移和动态数据迁移;其中,
所述静态数据迁移具体包括:
步骤S11:将源库中的静态数据导出后进行排序,生成文件一;
步骤S12:将所述文件一以逻辑方式导入目标数据库;
步骤S13:从所述目标数据库中以该目标数据库的工具逻辑导出静态数据后进行排序,生成文件二;
步骤S14:比较确认文件一和文件二是否为相同的文件,如有不同,则将不同的内容输出到文件三中进行存储进行迁移差异的提取,否则,表示完成静态数据迁移的一致性;
所述动态数据迁移具体包括:
步骤S21:对源库进行全库备份恢复,并建立虚拟数据库;
步骤S22:实时获取重做日志,并将获取到的重做日志应用到虚拟数据库中;
步骤S23:对所述重做日志进行解析,并重构该重做日志记录的数据变化;
步骤S24:基于所述数据变化中的数据,并将每个数据进入所述虚拟数据库中进行查询,确认数据在所述虚拟数据库中是否存在,并将数据转化为json格式并应用到目标数据库里,完成动态数据的迁移;
步骤S25:在目标数据库查询所述重做日志记录对应的数据变化中的数据,将每个数据在所述目标数据库中的查询结果与在所述虚拟数据库中的查询结果进行比较,如有不同,则将不同的内容输出到文件三中进行存储进行迁移差异的提取,否则,表示完成动态数据迁移的一致性。
在一种实施方式中,在所述步骤S11中,当所述源库导出后生成的文件一中的数据量超出存量阈值时,将该文件一分割为多个分体文件一,并将所有的分体文件一以逻辑方式导入目标数据库以及进行后续处理。
在一种实施方式中,在所述步骤S13中,当所述目标数据库导出后生成的文件一中的数据量超出存量阈值时,将该文件二分割为多个分体文件二,并进行后续处理。
在一种实施方式中,在所述步骤S22中,按照延迟时间ΔT将获取到的重做日志应用到虚拟数据库中,ΔT≤1min。
在一种实施方式中,在所述步骤S23中,所述的对所述重做日志进行解析具体包括:创建一个进程,该进程对所述重做日志进行解析。
在一种实施方式中,在所述步骤S24中,所述的确认该数据在所述虚拟数据库中是否存在具体包括:
数据确实存在于所述虚拟数据库中和数据确实不存在于所述虚拟数据库中;
其中,当一个数据对应的事务记录的操作为删除时,表示所述虚拟数据库中不存在该数据。
在一种实施方式中,该种基于双态协同的数据库高保真迁移方法还包括:通过所述迁移差异的提取,对数据迁移过程中出现的不一致性进行修正。
有益效果:本申请的基于双态协同的数据库高保真迁移方法,实现了近实时迁移和近实时校验,一方面能为工程项目割接节省时间,另一方面能及时发现数据同步中出现不一致的地方并及时进行修正,提高了数据高保真迁移的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中基于双态协同的数据库高保真迁移方法的流程框图。
具体实施方式
下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
参考图1所示的一种基于双态协同的数据库高保真迁移方法,该方法包括静态数据迁移和动态数据迁移。可以理解的,静态数据为数据库里表中的数据生成后不随着时间向前而变化的数据,动态数据为数据库里表中的数据生成后不随着时间向前会变化的数据。
具体来说,所述静态数据迁移具体包括:
步骤S11:将源库中的静态数据导出后进行排序,生成文件一,将该文件一命名为source_table.text;
步骤S12:将所述文件一以逻辑方式导入目标数据库;
步骤S13:从所述目标数据库中以该目标数据库的工具逻辑导出静态数据后进行排序,生成文件二,将该文件二命名为target_table.text;
步骤S14:比较确认文件一和文件二是否为相同的文件,如有不同,则将不同的内容输出到文件三中进行存储进行迁移差异的提取,将文件三命名为diff_table,否则,表示完成静态数据迁移的一致性,即如果diff_table为空文件,则意味着实现了数据的一致性。
上述的静态数据迁移步骤,实现了静态数据的高保真迁移和校验,并确保了数据一致,同时,还可以通过所述迁移差异的提取,对数据迁移过程中出现的不一致性进行及时修正。
在上述的静态数据迁移步骤中,当所述源库导出后生成的文件一中的数据量超出存量阈值时,将该文件一分割为多个分体文件一,每个分体文件一均命名为source_table.text,且通过后缀的标号(如source_table-1.text、source_table-2.text、source_table-3.text……)来区分每个不同的分体文件,并将所有的分体文件一以逻辑方式导入目标数据库以及进行后续处理。以及,当所述目标数据库导出后生成的文件一中的数据量超出存量阈值时,将该文件二分割为多个分体文件二,每个分体文件二均命名为target_table.text,且通过后缀的标号(如target_table-1.text、target_table-2.text、target_table-3.text……)来区分每个不同的分体文件,并进行后续处理。
具体来说,所述动态数据迁移具体包括:
步骤S21:对源库进行全库备份恢复,并建立虚拟数据库;
步骤S22:实时获取重做日志(记录状态为pre_apply),并将获取到的重做日志应用到虚拟数据库中,进而确保虚拟数据库和源库保持近实时一致;
步骤S23:对所述重做日志进行解析,并重构该重做日志记录的数据变化;
步骤S24:基于所述数据变化中的数据,并将每个数据进入所述虚拟数据库中进行查询,确认数据在所述虚拟数据库中是否存在,并记录该数据为:source_table_row_record_(insert/update/delete,以及将数据转化为json格式并应用到目标数据库里,完成动态数据的迁移;
步骤S25:在目标数据库查询所述重做日志记录对应的数据变化中的数据,将每个数据在所述目标数据库中的查询结果与在所述虚拟数据库中的查询结果进行比较,如有不同,则将不同的内容输出到文件三中进行存储进行迁移差异的提取,将文件三命名为diff_table,否则,表示完成动态数据迁移的一致性,即如果diff_table为空文件,则意味着实现了数据的一致性。
上述的动态数据迁移步骤,实现了动态数据的高保真迁移和校验,并确保了数据一致,同时,还可以通过所述迁移差异的提取,对数据迁移过程中出现的不一致性进行及时修正。
在上述的动态数据迁移步骤中,按照延迟时间ΔT将获取到的重做日志应用到虚拟数据库中,ΔT≤1min。所述的对所述重做日志进行解析具体包括:创建一个进程,该进程对所述重做日志进行解析。并且以及,所述的确认该数据在所述虚拟数据库中是否存在具体包括:数据确实存在于所述虚拟数据库中和数据确实不存在于所述虚拟数据库中。其中,当一个数据对应的事务记录的操作为删除时,表示所述虚拟数据库中不存在该数据。
基于上述的静态数据迁移步骤和动态数据迁移步骤,本申请的基于双态协同的数据库高保真迁移方法,实现了近实时迁移和近实时校验,一方面能为工程项目割接节省时间,另一方面能及时发现数据同步中出现不一致的地方并及时进行修正,提高了数据高保真迁移的效率。
最后应说明的是:以上所述仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (7)
1.一种基于双态协同的数据库高保真迁移方法,其特征在于,该方法包括静态数据迁移和动态数据迁移;其中,
所述静态数据迁移具体包括:
步骤S11:将源库中的静态数据导出后进行排序,生成文件一;
步骤S12:将所述文件一以逻辑方式导入目标数据库;
步骤S13:从所述目标数据库中以该目标数据库的工具逻辑导出静态数据后进行排序,生成文件二;
步骤S14:比较确认文件一和文件二是否为相同的文件,如有不同,则将不同的内容输出到文件三中进行存储进行迁移差异的提取,否则,表示完成静态数据迁移的一致性;
所述动态数据迁移具体包括:
步骤S21:对源库进行全库备份恢复,并建立虚拟数据库;
步骤S22:实时获取重做日志,并将获取到的重做日志应用到虚拟数据库中;
步骤S23:对所述重做日志进行解析,并重构该重做日志记录的数据变化;
步骤S24:基于所述数据变化中的数据,并将每个数据进入所述虚拟数据库中进行查询,确认数据在所述虚拟数据库中是否存在,并将数据转化为json格式并应用到目标数据库里,完成动态数据的迁移;
步骤S25:在目标数据库查询所述重做日志记录对应的数据变化中的数据,将每个数据在所述目标数据库中的查询结果与在所述虚拟数据库中的查询结果进行比较,如有不同,则将不同的内容输出到文件三中进行存储进行迁移差异的提取,否则,表示完成动态数据迁移的一致性。
2.根据权利要求1所述的基于双态协同的数据库高保真迁移方法,其特征在于,在所述步骤S11中,当所述源库导出后生成的文件一中的数据量超出存量阈值时,将该文件一分割为多个分体文件一,并将所有的分体文件一以逻辑方式导入目标数据库以及进行后续处理。
3.根据权利要求1所述的基于双态协同的数据库高保真迁移方法,其特征在于,在所述步骤S13中,当所述目标数据库导出后生成的文件一中的数据量超出存量阈值时,将该文件二分割为多个分体文件二,并进行后续处理。
4.根据权利要求1所述的基于双态协同的数据库高保真迁移方法,其特征在于,在所述步骤S22中,按照延迟时间ΔT将获取到的重做日志应用到虚拟数据库中,ΔT≤1min。
5.根据权利要求1所述的基于双态协同的数据库高保真迁移方法,其特征在于,在所述步骤S23中,所述的对所述重做日志进行解析具体包括:创建一个进程,该进程对所述重做日志进行解析。
6.根据权利要求1所述的基于双态协同的数据库高保真迁移方法,其特征在于,在所述步骤S24中,所述的确认该数据在所述虚拟数据库中是否存在具体包括:
数据确实存在于所述虚拟数据库中和数据确实不存在于所述虚拟数据库中;
其中,当一个数据对应的事务记录的操作为删除时,表示所述虚拟数据库中不存在该数据。
7.根据权利要求1所述的基于双态协同的数据库高保真迁移方法,其特征在于,该种基于双态协同的数据库高保真迁移方法还包括:通过所述迁移差异的提取,对数据迁移过程中出现的不一致性进行修正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310893546.3A CN116821100B (zh) | 2023-07-20 | 2023-07-20 | 一种基于双态协同的数据库高保真迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310893546.3A CN116821100B (zh) | 2023-07-20 | 2023-07-20 | 一种基于双态协同的数据库高保真迁移方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116821100A true CN116821100A (zh) | 2023-09-29 |
CN116821100B CN116821100B (zh) | 2023-12-22 |
Family
ID=88141182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310893546.3A Active CN116821100B (zh) | 2023-07-20 | 2023-07-20 | 一种基于双态协同的数据库高保真迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116821100B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914458A (zh) * | 2012-12-29 | 2014-07-09 | 中国移动通信集团河北有限公司 | 一种海量数据迁移的方法及装置 |
CN106372103A (zh) * | 2016-08-19 | 2017-02-01 | 成都全码特时代科技有限公司 | 一种云数据库系统 |
CN107992512A (zh) * | 2017-10-20 | 2018-05-04 | 中国建设银行股份有限公司上海市分行 | 一种数据迁移的方法、系统及计算机可读存储介质 |
CN111723079A (zh) * | 2020-06-28 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 数据迁移方法、装置、计算机设备及存储介质 |
CN112685391A (zh) * | 2021-03-22 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 一种服务数据迁移方法、装置、计算机设备和存储介质 |
CN113010489A (zh) * | 2021-02-19 | 2021-06-22 | 中国建设银行股份有限公司 | 一种数据迁移方法及系统 |
WO2021184679A1 (zh) * | 2020-03-16 | 2021-09-23 | 上海爱数信息技术股份有限公司 | 持续数据保护系统及方法 |
CN114185867A (zh) * | 2020-09-14 | 2022-03-15 | 北京金山云网络技术有限公司 | 确认数据一致性的方法、装置和电子设备 |
CN115098469A (zh) * | 2022-06-28 | 2022-09-23 | 中国工商银行股份有限公司 | 数据库迁移方法及装置、电子设备和可读存储介质 |
-
2023
- 2023-07-20 CN CN202310893546.3A patent/CN116821100B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914458A (zh) * | 2012-12-29 | 2014-07-09 | 中国移动通信集团河北有限公司 | 一种海量数据迁移的方法及装置 |
CN106372103A (zh) * | 2016-08-19 | 2017-02-01 | 成都全码特时代科技有限公司 | 一种云数据库系统 |
CN107992512A (zh) * | 2017-10-20 | 2018-05-04 | 中国建设银行股份有限公司上海市分行 | 一种数据迁移的方法、系统及计算机可读存储介质 |
WO2021184679A1 (zh) * | 2020-03-16 | 2021-09-23 | 上海爱数信息技术股份有限公司 | 持续数据保护系统及方法 |
CN111723079A (zh) * | 2020-06-28 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 数据迁移方法、装置、计算机设备及存储介质 |
CN114185867A (zh) * | 2020-09-14 | 2022-03-15 | 北京金山云网络技术有限公司 | 确认数据一致性的方法、装置和电子设备 |
CN113010489A (zh) * | 2021-02-19 | 2021-06-22 | 中国建设银行股份有限公司 | 一种数据迁移方法及系统 |
CN112685391A (zh) * | 2021-03-22 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 一种服务数据迁移方法、装置、计算机设备和存储介质 |
CN115098469A (zh) * | 2022-06-28 | 2022-09-23 | 中国工商银行股份有限公司 | 数据库迁移方法及装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116821100B (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11314701B2 (en) | Resharding method and system for a distributed storage system | |
CN105243067B (zh) | 一种实现实时增量同步数据的方法及装置 | |
CN109284073B (zh) | 数据存储方法、装置、系统、服务器、控制节点及介质 | |
CN102402596B (zh) | 一种主从分离数据库的读写方法和系统 | |
CN102629247B (zh) | 一种数据处理方法、装置和系统 | |
CN111858760B (zh) | 一种异构数据库的数据处理方法及装置 | |
CN107391634B (zh) | 数据迁移方法及装置 | |
CN106933823B (zh) | 数据同步方法及装置 | |
CN109376196B (zh) | 一种redo日志批量同步方法及装置 | |
CN104615736A (zh) | 基于数据库的大数据快速解析存储方法 | |
CN110597821B (zh) | 数据仓库表结构变更方法及装置 | |
CN105376277A (zh) | 一种数据同步方法及装置 | |
KR20190063835A (ko) | 인-메모리 데이터베이스의 실시간 데이터 변경 처리 시스템 | |
CN105608126A (zh) | 一种建立海量数据库二级索引的方法和装置 | |
CN106294769B (zh) | 同步工程数据的方法、系统和装置 | |
CN116821100B (zh) | 一种基于双态协同的数据库高保真迁移方法 | |
CN105677579A (zh) | 缓存系统中的数据访问方法和系统 | |
CN107273449A (zh) | 一种基于内存数据库的断点处理方法及系统 | |
WO2021163856A1 (zh) | 内容推送方法、装置、服务器及存储介质 | |
CN110019169A (zh) | 一种数据处理的方法及装置 | |
CN117349880A (zh) | 一种基于区块链的分布式数据存储与记录方法 | |
CN111563123B (zh) | 一种hive仓库元数据实时同步方法 | |
CN113407378A (zh) | 一种分布式数据库的分片信息备份方法及装置 | |
CN108090095B (zh) | 批量重建数据库的方法和装置 | |
CN111966650B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |