CN110008200B - 一种数据库的数据迁移方法、装置及设备 - Google Patents
一种数据库的数据迁移方法、装置及设备 Download PDFInfo
- Publication number
- CN110008200B CN110008200B CN201910271292.5A CN201910271292A CN110008200B CN 110008200 B CN110008200 B CN 110008200B CN 201910271292 A CN201910271292 A CN 201910271292A CN 110008200 B CN110008200 B CN 110008200B
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- source unit
- incremental data
- destination
- 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.)
- Active
Links
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
- 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/23—Updating
-
- 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
技术领域
本发明涉及数据库技术领域,更具体地说,涉及一种数据库的数据迁移方法、装置、设备及计算机可读存储介质。
背景技术
数据库是计算机软件中非常核心的组成部分,当应用规模日渐增大,业务逐渐广泛,数据库的规模也逐渐增大,对性能的要求也越来越高。单数据库节点在业务实现、性能、业务可靠度的角度可能满足不了上层应用,这是就要用到数据库实时同步技术。
发明内容
本发明的目的是提供一种数据库的数据迁移方法、装置、设备及计算机可读存储介质,能够避免对需要实现数据迁移的数据库的业务持续性造成影响的前提下实现数据库实时同步技术。
为了实现上述目的,本发明提供如下技术方案:
一种数据库的数据迁移方法,包括:
确定需实现数据迁移的存储单元为源单元,需将所述源单元的数据迁移至的存储单元为目的单元,并将所述源单元的数据迁移至所述目的单元中;
获取所述迁移开始至完成的过程中所述源单元产生的增量数据为第一增量数据,忽略类型为添加且所述目的单元中存在的第一增量数据,及类型为删除且所述目的单元中不存在的第一增量数据,并将其余的第一增量数据写入至所述目的单元中;
获取所述迁移完成后所述源单元产生的增量数据为第二增量数据,并将所述第二增量数据写入至所述目的单元中。
优选的,将所述源单元的数据迁移至所述目的单元中之前,还包括:
查询并记录所述源单元当前的系统改变号值为第一系统改变号值;其中,所述系统改变号值为与所述源单元中对应时刻具有的全部数据相对应的标识值;将所述源单元的数据迁移至所述目的单元中之后,还包括:
查询并记录所述源单元当前的系统改变号值为第二系统改变号值;
获取所述迁移开始至完成的过程中所述源单元产生的增量数据,包括:
获取所述源单元实时的系统改变号值在第一系统改变号值和第一系统改变号值之间时对应产生的所述源单元的增量数据,为所述迁移开始至完成的过程中所述源单元产生的增量数据。
优选的,判断所述目的单元中是否存在任一增量数据,包括:
判断任一增量数据的标识是否存在于全量数据标识集合中,如果是,则确定所述目的单元中存在该任一增量数据,否则,则确定所述目的单元中不存在该任一增量数据,其中,所述全量数据标识集合为将源单元的数据迁移至所述目的单元的过程中记录的迁移的全部数据的标识的集合。
优选的,所述标识为ROWID。
优选的,获取增量数据,包括:
利用所述存储单元对应数据库的LogMinr抓取增量数据日志,并基于所述增量数据日志获取对应的增量数据。
优选的,将所述源单元的数据迁移至所述目的单元中之后,还包括:
输出已经完成存量迁移的提示信息。
优选的,所述源单元及所述目的单元均为数据库表。
一种数据库的数据迁移装置,包括:
初步迁移模块,用于:确定需实现数据迁移的存储单元为源单元,需将所述源单元的数据迁移至的存储单元为目的单元,并将所述源单元的数据迁移至所述目的单元中;
冲突处理模块,用于:获取所述迁移开始至完成的过程中所述源单元产生的增量数据为第一增量数据,忽略类型为添加且所述目的单元中存在的第一增量数据,及类型为删除且所述目的单元中不存在的第一增量数据,并将其余的第一增量数据写入至所述目的单元中;
增量同步模块,用于:获取所述迁移完成后所述源单元产生的增量数据为第二增量数据,并将所述第二增量数据写入至所述目的单元中。
一种数据库的数据迁移设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述数据库的数据迁移方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述数据库的数据迁移方法的步骤。
本发明提供一种数据库的数据迁移方法、装置、设备及计算机可读存储介质,其中该方法包括:确定需实现数据迁移的存储单元为源单元,需将所述源单元的数据迁移至的存储单元为目的单元,并将所述源单元的数据迁移至所述目的单元中;获取所述迁移开始至完成的过程中所述源单元产生的增量数据为第一增量数据,忽略类型为添加且所述目的单元中存在的第一增量数据,及类型为删除且所述目的单元中不存在的第一增量数据,并将其余的第一增量数据写入至所述目的单元中;获取所述迁移完成后所述源单元产生的增量数据为第二增量数据,并将所述第二增量数据写入至所述目的单元中。本发明公开的数据库的数据迁移方案中,将源单元的数据迁移至目的单元后,对于迁移过程中产生的增量数据,如果数据类型为添加且存在于目的单元中、或数据类型为删除且不存在目的单元中,则忽略,其余则写入至目的单元中,对于迁移完成后产生的增量数据,直接写入至目的单元中。其中,由于迁移过程中产生的增量数据可能为已经存在于目的单元中的数据,因此为了避免重复添加及删除等操作,忽略数据类型为添加且存在于目的单元中、或数据类型为删除且不存在目的单元这两种无需再次在目的单元中进行添加或者删除的数据,其余则写入目的单元中,对于迁移完成后产生的增量数据肯定为新的数据,因此直接写入至目的单元中,从而保证了目的单元及源单元中数据的一致性。并且本申请在实现源单元向目的单元的数据迁移过程及后续增量数据的处理过程均无需暂停源单元的各项业务,因此不会对源单元及对应数据库的业务持续性造成影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据库的数据迁移方法的流程图;
图2为本发明实施例提供的一种数据库的数据迁移方法中增量数据的处理流程图;
图3为本发明实施例提供的一种数据库的数据迁移方法的示例实现过程;
图4为本发明实施例提供的一种数据库的数据迁移装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在相关技术中为了实现数据库实时同步技术,出于数据一致性的考虑完成数据库中数据的同步时会暂停源库业务。其中,将需要实现数据迁移的数据库称为源库,需要将源库的数据迁移至的数据库称为目的库。具体来说,首先将源库的上层写业务暂停,导出源库数据后,导入到目的库。完成存量数据迁移后,确保两库数据一致,开始增量同步,恢复源库业务。但是这种暂停源库业务的方法对源库的影响程度与数据量正相关,数据量越大,对源库影响时间越长。也即这种方法存在对需要实现数据迁移的数据库的业务持续性造成影响的问题。
请参阅图1,其示出了本发明实施例提供的一种数据库的数据迁移方法的流程图,可以包括:
S11:确定需实现数据迁移的存储单元为源单元,需将源单元的数据迁移至的存储单元为目的单元,并将源单元的数据迁移至目的单元中。
需要说明的是,本发明实施例提供的一种数据库的数据迁移方法的执行主语可以为对应的数据迁移装置。其中,数据库是由一个或者多个数据库表组成的,数据库表则是由一行或者多行记录组成的,一行记录是由一个或者多个字段组成的;对应的,本申请中的存储单元可以指数据库本身(此时迁移的数据指记录),也可以指数据库表(此时迁移的数据指记录),具体可以根据实际需要设定。确定需要实现数据迁移的源单元及需要将源单元的数据迁移至的目的单元后,则开始实现将源单元的数据迁移至目的单元的步骤。
另外,将源单元的数据迁移至目的单元的过程具体可以包括:下发查询源单元的全部数据的查命令至源单元,接收源单元返回的响应查命令得到的源单元的全部数据的数据集,将数据集写入至目的单元中。并且在将源单元的数据迁移至目的单元的过程中无需停止源单元的业务提供,也即允许向源单元进行的访问(包括读、写等操作),无需侵入源单元,不会对源单元造成影响。
S12:获取迁移开始至完成的过程中源单元产生的增量数据为第一增量数据,忽略类型为添加且目的单元中存在的第一增量数据,及类型为删除且目的单元中不存在的第一增量数据,并将其余的第一增量数据写入至目的单元中。
需要说明的是,将源单元中的数据迁移至目的单元的过程中源单元可能会产生增量数据,对应的由迁移开始时刻至迁移完成时刻源单元产生的增量数据即为步骤S12中需要进行冲突处理的第一增量数据,第一增量数据可能已经被写入至目的单元中,也可能未被写入至目的单元中,因此需要通过步骤S12确定是否需要将第一增量数据写入至目的单元中,以避免由于重复写入导致数据冲突的情况存在。具体来说,第一增量数据的类型有三种,分别为INSERT(添加)、UPDATE(更新)、DELETE(删除)。
而步骤S12中对第一增量数据的处理过程具体可以如图2所示,包括:判断每个第一增量数据中的任一增量数据的类型是否为INSERT,如果是,则判断目的单元中是否包含该任一增量数据,如果包含,则忽略该任一增量数据,如果不包含,则将该任一增量数据写入至目的单元中;如果否,则判断该任一增量数据的类型是否为DELETE,如果为DELETE,则判断目的单元中是否包含该任一增量数据,如果包含,则将该任一增量数据写入目的单元中,如果不包含,则忽略该任一增量数据;如果不为DELETE,则将该任一增量数据写入目的单元中。
由此,能够忽略类型为添加且目的单元中存在的第一增量数据,及类型为删除且目的单元中不存在的第一增量数据,并将其余的第一增量数据写入至目的单元中。其中,类型为添加的第一增量数据即为添加至源单元中的数据,对于这种增量数据,如果该增量数据已经存在于目的单元中,则无需重复添加,因此需要忽略,如果该增量数据不存在于目的单元中,则需要添加至目的单元中;类型为删除的第一增量数据即为由源单元中删除的数据,对于这种增量数据,如果该增量数据存在于目的单元中,则需要由目的单元中删除,如果该增量数据不存在于目的单元中,则无需再在目的单元中执行对应增量数据的删除动作,忽略该增量数据;类型为更新的第一增量数据即为源单元中进行修改的数据,由于这部分数据无论目的单元中是否存在,用该增量数据去更新目的单元中对应数据都不会出现数据重复添加或删除的情况,因此,直接利用该增量数据更新目的单元中对应数据即可;对应的,本申请中将增量数据写入至目的单元中包含对应数据的添加、删除及更新等具体操作。
S13:获取迁移完成后源单元产生的增量数据为第二增量数据,并将第二增量数据写入至目的单元中。
在将源单元中的数据迁移至目的单元中后,由迁移完成时刻开始源单元产生的增量数据,只需实时或者定时写入至目的单元即可,从而实现源单元的增量同步。
本发明公开的数据库的数据迁移方案中,将源单元的数据迁移至目的单元后,对于迁移过程中产生的增量数据,如果数据类型为添加且存在于目的单元中、或数据类型为删除且不存在目的单元中,则忽略,其余则写入至目的单元中,对于迁移完成后产生的增量数据,直接写入至目的单元中。其中,由于迁移过程中产生的增量数据可能为已经存在于目的单元中的数据,因此为了避免重复添加及删除等操作,忽略数据类型为添加且存在于目的单元中、或数据类型为删除且不存在目的单元这两种无需再次在目的单元中进行添加或者删除的数据,其余则写入目的单元中,对于迁移完成后产生的增量数据肯定为新的数据,因此直接写入至目的单元中,从而保证了目的单元及源单元中数据的一致性。并且本申请在实现源单元向目的单元的数据迁移过程及后续增量数据的处理过程均无需暂停源单元的各项业务,因此不会对源单元及对应数据库的业务持续性造成影响。
本发明实施例提供的一种数据库的数据迁移方法,将源单元的数据迁移至目的单元中之前,还可以包括:
查询并记录源单元当前的系统改变号值为第一系统改变号值;其中,系统改变号值为与源单元中对应时刻具有的全部数据相对应的标识值;
将源单元的数据迁移至目的单元中之后,还可以包括:
查询并记录源单元当前的系统改变号值为第二系统改变号值;
获取迁移开始至完成的过程中源单元产生的增量数据,可以包括:
获取源单元实时的系统改变号值在第一系统改变号值和第一系统改变号值之间时对应产生的源单元的增量数据,为迁移开始至完成的过程中源单元产生的增量数据。
需要说明的是,本发明实施例提供的一种数据库的数据迁移方法中的数据库具体可以为oracle数据库(该数据库全称Oracle RDBMS),系统改变号(SCN,System ChangeNumber)是当Oracle数据库更新(即数据发生改变)后,由DBMS自动维护去累积递增的一个数字,因此,每次数据库更新,SCN值都会增加。对应的,本申请中在将源单元的数据迁移至目的单元的步骤开始前及结束后均记录对应时刻的源单元的SCN值(源单元的SCN即为源单元对应的数据库的SCN),从而通过SCN值的比对即可确定出在数据迁移过程中产生的增量数据,从而利用oracle数据库本身具有的特征实现本实施例需实现的技术方案,无需额外设置特征,简化了操作的同时节省了资源。另外需要说明的是,迁移过程中增量数据的确定还可以通过时间记录体现,即将源单元的数据迁移至目的单元的步骤开始前及结束后均记录对应时刻的时间,进而在记录的两次时间之间源单元产生的增量数据即为数据迁移过程中源单元产生的增量数据,当然还可以根据实际需要进行其他设定,均在本发明的保护范围之内。
本发明实施例提供的一种数据库的数据迁移方法,判断目的单元中是否存在任一增量数据,可以包括:
判断任一增量数据的标识是否存在于全量数据标识集合中,如果是,则确定目的单元中存在该任一增量数据,否则,则确定目的单元中不存在该任一增量数据,其中,全量数据标识集合为将源单元的数据迁移至目的单元的过程中记录的迁移的全部数据的标识的集合。
需要说明的是,在将源单元的数据迁移至目的单元的过程中,可以记录迁移的各个数据的标识得到对应的全量数据标识集合,也即全量数据标识集合中各标识对应目的单元中存在的各数据,其中,不同数据的标识是不同的。由此,通过判断增量数据的标识是否存在于全量数据标识集合中即可确定出增量数据是否存在于目的单元中,这种仅通过标识比对即可确定出目的单元中是否存在对应增量数据的方式,相对于遍历目的单元以确定其是否存在对应增量数据的方式,明显更加简单及快速,有利于提高数据迁移效率。
本发明实施例提供的一种数据库的数据迁移方法,标识可以为ROWID。
需要说明的是,ROWID是oracle数据库中的一个重要的概念,用于定位数据库中一条记录的地址值,对于同一源单元中的不同记录具有不同的ROWID,因此本申请中采用ROWID作为标识,不仅可以保证源单元内不同数据之间的标识不同,且利用oracle数据库本身具有的特征实现本实施例需实现的技术方案,无需额外设置特征,简化了操作的同时节省了资源。具体来说,oracle数据库在查询数据时可以获取到每条数据的ROWID,并且通过LogMinr获取增量数据日志时,也可以获取到每条增量数据的ROWID。本发明利用该特性,在实现对应数据获取的同时即可获取到数据的标识,提高了标识获取效率,进一步提高了数据迁移效率。另外,本申请中的标识还可以预先为源单元中每个数据设置的标号(如001、002等)等,当然还可以根据实际需要进行其他设置,均在本发明的保护范围之内。
本发明实施例提供的一种数据库的数据迁移方法,获取增量数据,可以包括:
利用存储单元对应数据库的LogMinr抓取增量数据日志,并基于增量数据日志获取对应的增量数据。
其中,获取增量数据包括获取将源单元中的数据迁移至目的单元对应数据迁移过程中源单元产生的增量数据,也包括对应数据迁移完成后源单元产生的增量数据。本实施例中利用oracle数据库具有的LogMinr实现增量数据日志的抓取,进而由增量数据日志确定出对应的增量数据。其中,由数据日志确定出对应数据的实现原理与现有技术中对应技术方案的实现原理一致,在此不再赘述。而LogMinr为oracle数据库具有的一项软件工具,其能够实现oracle数据库中日志的抓取、事务变化操作的跟踪、表操作的跟踪等,本实施例中利用LogMinr实现增量数据日志的抓取,由此,利用oracle数据库本身具有的工具实现增量数据对应增量数据日志的抓取,无需额外设置用于获取增量数据的工具,简化了操作的同时节省了资源。另外,本申请通过查询获取到源单元的数据进而实现对应数据迁移,通过抓取增量数据日志的方式获取到源单元的增量数据进而实现增量数据的同步,从而在无需侵入源单元(不侵入源单元则无需在源单元安装驻扎程序,从而避免了安装驻扎程序对源单元性能的消耗)的前提下,实现了源单元至目的单元的数据迁移及同步衔接;并且在本申请公开的数据迁移方法中并未使用到源单元中的结构,具有源单元结构无关性的优点。
本发明实施例提供的一种数据库的数据迁移方法,将源单元的数据迁移至目的单元中之后,还可以包括:
输出已经完成存量迁移的提示信息。
需要说明的是,本申请中完成源单元至目的单元的数据迁移即为实现存量迁移,因此,在实现源单元的存量迁移之后,可以向外界输出完成存量迁移的提示信息,从而使得外界工作人员可以及时获知该信息,进而在该信息的提示下完成相应的操作,如由目的单元查询数据、控制存量迁移之后源单元产生的增量数据的同步与否等操作,提升了工作人员的使用体验。
本发明实施例提供的一种数据库的数据迁移方法,源单元及目的单元均可以为数据库表。
需要说明的是,本发明中的存储单元可以为数据库表(可简称为表)或者记录,本申请中优选存储单元为数据库表,不仅符合日常实现数据库的数据迁移时的实际需要,并且能够避免以记录为单位实现数据迁移时重复多个步骤才能达到所需迁移数据的情况出现,进一步方便了数据库的数据迁移。
另外,本发明实施例提供的一种数据库的数据迁移方法中的数据库可以为oracle数据库,存储单元可以为数据库表(此时源单元即为源表、目的单元即为目的表),此时本发明实施例提供的技术方案的实现过程可以如图3所示,其中,增量记录即为增量数据;前置条件为开启源单元的Oracle LogMinr,以在后期使用LogMinr实现增量数据日志的抓取;数据表即为数据库表;存量迁移即为存量数据迁移,增量同步即为增量数据同步。具体来说,可以包括以下步骤:查源表SCN得到SCN1;查源表全表并将查询得到的源表的全部数据写入至目的表,并且得到写入至目的表的全部数据的ROWID的全量数据标识集合;查源表SCN得到SCN2;对SC1~SCN2之间的增量数据进行特殊处理,即通过判断增量数据的ROWID是否存在于全量数据标识集合中确定增量数据是否存在于目的表中,进而忽略类型为添加且目的表中存在的增量数据,及类型为删除且目的表中不存在的增量数据,并将其余的增量数据写入至目的表中;从SCN2开始产生的增量数据写入至目的表中。从而不影响源表数据入库、读取的情况下,完成源表的存量数据迁移、增量数据同步的衔接。
本发明实施例还提供了一种数据库的数据迁移装置,如图4所示,可以包括:
初步迁移模块11,用于:确定需实现数据迁移的存储单元为源单元,需将源单元的数据迁移至的存储单元为目的单元,并将源单元的数据迁移至目的单元中;
冲突处理模块12,用于:获取迁移开始至完成的过程中源单元产生的增量数据为第一增量数据,忽略类型为添加且目的单元中存在的第一增量数据,及类型为删除且目的单元中不存在的第一增量数据,并将其余的第一增量数据写入至目的单元中;
增量同步模块13,用于:获取迁移完成后源单元产生的增量数据为第二增量数据,并将第二增量数据写入至目的单元中。
本发明实施例提供的一种数据库的数据迁移装置,还可以包括:
查询记录模块,用于:查询并记录源单元当前的系统改变号值为第一系统改变号值;其中,系统改变号值为与源单元中对应时刻具有的全部数据相对应的标识值;以及用于:查询并记录源单元当前的系统改变号值为第二系统改变号值;
冲突处理模块可以包括:
数据确定单元,用于:获取源单元实时的系统改变号值在第一系统改变号值和第一系统改变号值之间时对应产生的源单元的增量数据,为迁移开始至完成的过程中源单元产生的增量数据。
本发明实施例提供的一种数据库的数据迁移装置,冲突处理模块可以包括:
数据判断单元,用于:判断任一增量数据的标识是否存在于全量数据标识集合中,如果是,则确定目的单元中存在该任一增量数据,否则,则确定目的单元中不存在该任一增量数据,其中,全量数据标识集合为将源单元的数据迁移至目的单元的过程中记录的迁移的全部数据的标识的集合。
其中,标识可以为ROWID,源单元及目的单元可以为数据库表。
本发明实施例提供的一种数据库的数据迁移装置,冲突处理模块及增量同步模块均可以包括:
数据获取单元,用于:利用存储单元对应数据库的LogMinr抓取增量数据日志,并基于增量数据日志获取对应的增量数据。
本发明实施例提供的一种数据库的数据迁移装置,还可以包括:
提示输出模块,用于:将源单元的数据迁移至目的单元中之后,输出已经完成存量迁移的提示信息。
本发明实施例还提供了一种数据库的数据迁移设备,可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上任一项数据库的数据迁移方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任一项数据库的数据迁移方法的步骤。
需要说明的是,本发明实施例提供的一种数据库的数据迁移装置、设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的一种数据库的数据迁移方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据库的数据迁移方法,其特征在于,包括:
确定需实现数据迁移的存储单元为源单元,需将所述源单元的数据迁移至的存储单元为目的单元,并将所述源单元的数据迁移至所述目的单元中;
获取所述迁移开始至完成的过程中所述源单元产生的增量数据为第一增量数据,忽略类型为添加且所述目的单元中存在的第一增量数据,及类型为删除且所述目的单元中不存在的第一增量数据,并将其余的第一增量数据写入至所述目的单元中;
获取所述迁移完成后所述源单元产生的增量数据为第二增量数据,并将所述第二增量数据写入至所述目的单元中;
将所述源单元的数据迁移至所述目的单元中,包括:
下发查询所述源单元的全部数据的查命令至所述源单元,接收所述源单元返回的响应所述查命令得到的源单元的全部数据的数据集,并将所述数据集写入至所述目的单元中。
2.根据权利要求1所述的方法,其特征在于,将所述源单元的数据迁移至所述目的单元中之前,还包括:
查询并记录所述源单元当前的系统改变号值为第一系统改变号值;其中,所述系统改变号值为与所述源单元中对应时刻具有的全部数据相对应的标识值;将所述源单元的数据迁移至所述目的单元中之后,还包括:
查询并记录所述源单元当前的系统改变号值为第二系统改变号值;
获取所述迁移开始至完成的过程中所述源单元产生的增量数据,包括:
获取所述源单元实时的系统改变号值在第一系统改变号值和第一系统改变号值之间时对应产生的所述源单元的增量数据,为所述迁移开始至完成的过程中所述源单元产生的增量数据。
3.根据权利要求2所述的方法,其特征在于,判断所述目的单元中是否存在任一增量数据,包括:
判断任一增量数据的标识是否存在于全量数据标识集合中,如果是,则确定所述目的单元中存在该任一增量数据,否则,则确定所述目的单元中不存在该任一增量数据,其中,所述全量数据标识集合为将源单元的数据迁移至所述目的单元的过程中记录的迁移的全部数据的标识的集合。
4.根据权利要求3所述的方法,其特征在于,所述标识为ROWID。
5.根据权利要求4所述的方法,其特征在于,获取增量数据,包括:
利用所述存储单元对应数据库的LogMinr抓取增量数据日志,并基于所述增量数据日志获取对应的增量数据。
6.根据权利要求5所述的方法,其特征在于,将所述源单元的数据迁移至所述目的单元中之后,还包括:
输出已经完成存量迁移的提示信息。
7.根据权利要求6所述的方法,其特征在于,所述源单元及所述目的单元均为数据库表。
8.一种数据库的数据迁移装置,其特征在于,包括:
初步迁移模块,用于:确定需实现数据迁移的存储单元为源单元,需将所述源单元的数据迁移至的存储单元为目的单元,并将所述源单元的数据迁移至所述目的单元中;
冲突处理模块,用于:获取所述迁移开始至完成的过程中所述源单元产生的增量数据为第一增量数据,忽略类型为添加且所述目的单元中存在的第一增量数据,及类型为删除且所述目的单元中不存在的第一增量数据,并将其余的第一增量数据写入至所述目的单元中;
增量同步模块,用于:获取所述迁移完成后所述源单元产生的增量数据为第二增量数据,并将所述第二增量数据写入至所述目的单元中;
所述初步迁移模块将所述源单元的数据迁移至所述目的单元中,包括:
下发查询所述源单元的全部数据的查命令至所述源单元,接收所述源单元返回的响应所述查命令得到的源单元的全部数据的数据集,并将所述数据集写入至所述目的单元中。
9.一种数据库的数据迁移设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述数据库的数据迁移方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述数据库的数据迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910271292.5A CN110008200B (zh) | 2019-04-04 | 2019-04-04 | 一种数据库的数据迁移方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910271292.5A CN110008200B (zh) | 2019-04-04 | 2019-04-04 | 一种数据库的数据迁移方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110008200A CN110008200A (zh) | 2019-07-12 |
CN110008200B true CN110008200B (zh) | 2021-04-13 |
Family
ID=67169964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910271292.5A Active CN110008200B (zh) | 2019-04-04 | 2019-04-04 | 一种数据库的数据迁移方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110008200B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9563628B1 (en) * | 2012-12-11 | 2017-02-07 | EMC IP Holding Company LLC | Method and system for deletion handling for incremental file migration |
CN108205559A (zh) * | 2016-12-19 | 2018-06-26 | 腾讯科技(深圳)有限公司 | 一种数据管理方法及其设备 |
CN108932282A (zh) * | 2018-05-18 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 一种数据库迁移方法、装置和存储介质 |
CN109213817A (zh) * | 2018-08-10 | 2019-01-15 | 杭州数梦工场科技有限公司 | 增量数据抽取方法、装置及服务器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150161194A1 (en) * | 2013-12-06 | 2015-06-11 | Actifio, Inc. | System and method for rapid estimation of data similarity |
CN107122360B (zh) * | 2016-02-24 | 2021-06-15 | 阿里巴巴集团控股有限公司 | 数据迁移系统和方法 |
CN106777225B (zh) * | 2016-12-26 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 一种数据的迁移方法和系统 |
-
2019
- 2019-04-04 CN CN201910271292.5A patent/CN110008200B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9563628B1 (en) * | 2012-12-11 | 2017-02-07 | EMC IP Holding Company LLC | Method and system for deletion handling for incremental file migration |
CN108205559A (zh) * | 2016-12-19 | 2018-06-26 | 腾讯科技(深圳)有限公司 | 一种数据管理方法及其设备 |
CN108932282A (zh) * | 2018-05-18 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 一种数据库迁移方法、装置和存储介质 |
CN109213817A (zh) * | 2018-08-10 | 2019-01-15 | 杭州数梦工场科技有限公司 | 增量数据抽取方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110008200A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460349B (zh) | 一种基于日志的测试用例生成方法和装置 | |
CN109933632B (zh) | 一种数据库的数据迁移方法、装置及设备 | |
CN110019218B (zh) | 数据存储与查询方法及设备 | |
CN107301214B (zh) | 在hive中数据迁移方法、装置及终端设备 | |
CN104657382A (zh) | 用于MySQL主从服务器数据一致性检测的方法和装置 | |
CN110597835B (zh) | 一种基于区块链的交易数据删除方法及装置 | |
CN110489092B (zh) | 一种数据库读写分离架构下读取数据延迟问题的解决方法 | |
CN107273449B (zh) | 一种基于内存数据库的断点处理方法及系统 | |
CN111680019A (zh) | 一种区块链的数据扩容方法及其装置 | |
CN102937923B (zh) | 一种自动保存用户界面状态的方法 | |
CN110019527B (zh) | 从库读取方法、相关装置和设备 | |
CN112783927B (zh) | 一种数据库查询方法及系统 | |
CN110008200B (zh) | 一种数据库的数据迁移方法、装置及设备 | |
CN114780489B (zh) | 一种实现分布式块存储底层gc的方法及装置 | |
CN113190281B (zh) | 一种基于rowid区间的初始化装载方法与装置 | |
CN116049306A (zh) | 数据同步方法、装置、电子设备以及可读存储介质 | |
EP3082050A1 (en) | Mass data fusion storage method and system | |
CN115469810A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN115658815A (zh) | 基于cdc实现的数据同步的方法 | |
CN111061699B (zh) | 一种电能表数据库版本更新的方法及装置 | |
CN112612647A (zh) | 日志并行重演方法、装置、设备及存储介质 | |
CN112559457A (zh) | 数据访问方法及装置 | |
CN111221801A (zh) | 一种数据库迁移方法、系统及相关装置 | |
CN112231300B (zh) | 一种函数的分析方法、装置及电子设备 | |
CN114063935B (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 |