CN105824846A - 数据迁移方法及装置 - Google Patents
数据迁移方法及装置 Download PDFInfo
- Publication number
- CN105824846A CN105824846A CN201510009881.8A CN201510009881A CN105824846A CN 105824846 A CN105824846 A CN 105824846A CN 201510009881 A CN201510009881 A CN 201510009881A CN 105824846 A CN105824846 A CN 105824846A
- Authority
- CN
- China
- Prior art keywords
- data
- new database
- data migration
- migration device
- former
- 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 230
- 238000013508 migration Methods 0.000 title claims abstract description 230
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000008569 process Effects 0.000 claims description 38
- 230000007704 transition Effects 0.000 claims description 25
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
Abstract
本申请提供一种数据迁移方法及装置。方法包括:数据迁移装置确定开展目标业务所需的目标数据;数据迁移装置将所述目标数据从原数据库迁移到新数据库中;数据迁移装置将所述原数据库中除所述目标数据之外的其他数据迁移到所述新数据库中。本申请可以提高数据迁移的灵活度,有利于及时快速的开展业务。
Description
【技术领域】
本申请涉及数据库技术领域,尤其涉及一种数据迁移方法及装置。
【背景技术】
数据库是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。在数据库使用过程中,当数据库的存储结构无法满足业务需求时,需要将数据库中的数据迁移到能够满足业务需求的新数据库中,这就涉及对大量数据进行迁移的问题。
目前,数据迁移一般是按照数据的存储时间,从最早数据开始依次将数据从原数据库迁移到新数据库中。这种数据迁移方法灵活度较差,无法及时、快速的开展业务。
【发明内容】
本申请的多个方面提供一种数据迁移方法及装置,用以提高数据迁移的灵活度,用以及时快速的开展业务。
本申请的一方面,提供一种数据迁移方法,包括:
数据迁移装置确定开展目标业务所需的目标数据;
所述数据迁移装置将所述目标数据从原数据库迁移到新数据库中;
所述数据迁移装置将所述原数据库中除所述目标数据之外的其他数据迁移到所述新数据库中。
本申请的另一方面,提供一种数据迁移装置,包括:
第一确定模块,用于确定开展目标业务所需的目标数据;
第一迁移模块,用于将所述目标数据从原数据库迁移到新数据库中;
第二迁移模块,用于将所述原数据库中除所述目标数据的其他数据迁移到所述新数据库中。
在本申请中,当需要进行数据库迁移时,首先确定开展目标业务所需的目标数据,将目标数据从原数据库中迁移到新数据库中,再将除目标数据之外的其他数据迁移到新数据库中,完成数据迁移。由于本申请不再根据数据存储时间,从最早数据开始依次进行数据迁移,而是根据目标业务进行数据迁移,具有较高的灵活度,并且优先迁移开展目标业务所需的目标数据,有利于及时快速的开展该目标业务。
【附图说明】
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的数据迁移方法的流程示意图;
图2为本申请一实施例提供的数据迁移装置的结构示意图;
图3为本申请另一实施例提供的数据迁移装置的结构示意图。
【具体实施方式】
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请一实施例提供的数据迁移方法的流程示意图。如图1所示,该方法包括:
101、数据迁移装置确定开展目标业务所需的目标数据。
102、数据迁移装置将目标数据从原数据库迁移到新数据库中。
103、数据迁移装置将原数据库中除目标数据之外的其他数据迁移到新数据库中。
本实施例提供一种数据迁移方法,可由数据迁移装置来执行。数据迁移装置可以是各种具有能力实施本实施例提供的数据迁移方法的设备,例如专用于数据迁移的迁移设备等。
在数据库的使用过程中,经常面临数据迁移的情况,例如当数据库的存储结构无法满足业务需求,需要将数据库中的数据迁移到能够满足业务需求的新数据库,或者当数据库因扩容,需要将数据库中的数据迁移到容量更大的新数据库,等等。为便于描述,将之前存储数据的数据库称为原数据库。本实施例提供的方法适用于各种需要进行数据库迁移的情况。
具体的,当需要进行数据迁移时,数据迁移装置并不像现有技术那样按照数据的存储时间,从最早数据开始进行数据迁移,而是先确定目标业务以及开展目标业务所需的目标数据,以便于从业务需求角度进行数据迁移,提高数据迁移的灵活度。
这里的目标业务是指需要基于数据库中的数据才能开展的业务,具体可以是根据应用场景自行设定,例如可以是业务比重较大的业务、用户较多的业务、活跃度较高的公司或单位涉及的业务或者满足一定要求的业务等。具体来说,目标业务可以是查询业务、统计业务等。相应的,目标数据是指存储于原数据库中用于开展目标业务所需的数据。
当确定目标业务及开展目标业务所需的目标数据后,数据迁移装置优先将目标数据从原数据库中迁移到新数据库中,这样可以保证目标业务的及时开展。进一步,数据迁移装置将除目标数据之外的其他数据也迁移到新数据库中,完成整个数据迁移过程。
由上述可见,本实施例不再根据数据的存储时间,从最早数据开始依次进行数据迁移,而是根据目标业务进行数据迁移,具有较高的灵活度,并且优先迁移开展目标业务所需的目标数据,有利于及时快速的开展该目标业务。
在一可选实施方式中,根据迁移数据量的多少,原数据库和新数据库可以有多个。例如,对于具有三十亿数据量的询盘系统来说,一般需要256个数据库,也就是说,本实施例中的原数据库和新数据库需要256个。基于此,在根据业务进行数据迁移时,数据迁移装置可以根据目标业务的业务标识(ID)来确定新库ID,进而直接将开展目标业务所需的目标数据迁移到该新库ID所标识的新数据库中。
进一步,在上述目标数据的迁移过程中,数据迁移装置可以在将目标数据从原数据库迁移到新数据库之后,将目标业务的业务ID存储在本地,用于标识已经迁移到新数据库中的目标数据,以便于在迁移除目标数据之外的其他数据的过程中进行数据去重。可选的,目标业务的业务ID可以存储在本地文件中。
进一步,考虑到数据迁移装置随时可能因为故障等各种原因发生宕机,为便于数据迁移装置重启后能够断点续迁,在上述目标数据的迁移过程中,数据迁移装置可以按照预设的时间间隔周期性的记录已迁移到的数据位置,该已迁移到的数据位置可以存储在本地文件中。
具体的,数据迁移装置在目标数据的迁移过程中,每执行一次数据迁移操作,将数据迁移操作所迁移到的数据位置存储到数据迁移装置的内存中,并按照预设的时间间隔周期性的将内存中的数据位置记录到第一文件中。例如,可以每隔10分钟刷新第一文件中的数据位置。
基于上述,当数据迁移装置在迁移目标数据过程中因故障等因宕机并重启后,就可以从最后记录的数据位置开始继续从原数据库向新数据库中迁移目标数据,这样有利于提高数据迁移效率,节约数据迁移装置的资源。值得说明的是,由于数据迁移装置宕机重启后内存中的数据会丢失,所以这里最后记录的数据位置是从上述第一文件中获取的。
进一步,考虑到数据迁移装置有可能在前后两次刷新第一文件之间发生宕机并重启,这样从最后记录的数据位置之后可能有一部分目标数据已经迁移到新数据库中,为避免数据重复,可以对这部分目标数据进行去重。具体的,当数据迁移装置重启后,对于在最后记录的数据位置之后存入原数据库,且会在数据迁移装置重启后上述时间间隔内被迁移的目标数据,例如对于在数据迁移装置重启后如10分钟内迁移的目标数据,数据迁移装置判断是否已经存在于新数据库中;若存在,则丢弃,若不存在,则迁移到新数据库中;而对于在最后记录的数据位置之后存入原数据库,且会在数据迁移装置重启后上述时间间隔之外被迁移的目标数据,数据迁移装置直接迁移到新数据库中。这样不仅可以达到去重的目的,还可以提高数据迁移速度。
进一步,在上述目标数据的迁移过程中,对于未能成功迁移到新数据库中的目标数据(又可称为处理失败的目标数据),数据迁移装置可以将其存储在本地,例如可以存储在本地第三文件中,以便于向新数据库重传该处理失败的目标数据。例如,数据迁移装置可以设置单独的线程,来重传处理失败的目标数据。具体的,该线程可以从本地第三文件中读取处理失败的目标数据,并向新数据库传输所读取的目标数据。通过将处理失败的目标数据存储在数据迁移装置本地,在重传时不用从原数据库读取数据,有利于提高数据迁移效率,同时保证了新数据库中数据的完整性。
在一可选实施方式中,在将目标数据迁移到新数据库之后,对于原数据库中除目标数据之外的其他数据,数据迁移装置可以采用全量数据迁移策略进行迁移,全量数据迁移策略以库为单位进行数据的全量迁移,该全量迁移的主要目的是将原数据库中除目标数据之外的其他数据迁移到新数据库中。具体的,数据迁移装置可以按照数据的存储时间,依次从原数据库中获取数据,将所获取的数据迁移到新数据库中。
进一步,考虑到原数据库中有一部分数据(即目标数据)已经迁移到新数据库中,为避免新数据库中的数据发生重复,在进行全量数据迁移过程中可以进行数据去重处理。具体的,数据迁移装置按照数据存储时间,依次从原数据库中获取数据;将所获取的数据对应的业务ID与数据迁移装置本地存储的目标业务的业务ID进行比对;若所获取的数据对应的业务ID与本地存储的目标业务的业务ID不同,说明所获取的数据不属于目标数据,也就意味着不存在于新数据库中,于是将所获取的数据迁移到新数据库中;若所获取的数据对应的业务ID与本地存储的目标业务的业务ID相同,说明所获取的数据属于目标数据,也就意味着已经存在于新数据库中,可以将所获取的数据丢弃。
进一步,考虑到数据迁移装置随时可能因为故障等各种原因发生宕机,为便于数据迁移装置重启后能够断点续迁,在上述除目标数据之外的其他数据的迁移过程中,数据迁移装置可以按照预设的时间间隔周期性的记录已迁移到的数据位置,例如可以是每1分钟、5分钟或10分钟记录一次已迁移到的数据位置,该已迁移到的数据位置可以存储在本地文件中。
具体的,数据迁移装置在其他数据的迁移过程中,每执行一次数据迁移操作,将数据迁移操作所迁移到的数据位置存储到数据迁移装置的内存中,并按照时间间隔周期性的将内存中的数据位置记录到第二文件中。例如,可以每隔10分钟刷新第二文件中的数据位置。
基于上述,当数据迁移装置在迁移其他数据过程中因故障等因宕机并重启后,就可以从最后记录的数据位置开始继续从原数据库向新数据库中迁移其他数据,这样有利于提高数据迁移效率,节约数据迁移装置的资源。
进一步,考虑到数据迁移装置有可能在前后两次刷新第二文件之间发生宕机并重启,这样从最后记录的数据位置之后可能有一部分其他数据已经迁移到新数据库中,为避免数据重复,可以对这部分其他数据进行去重。具体的,当数据迁移装置重启后,对于在最后记录的数据位置之后存入原数据库,且会在数据迁移装置重启后上述时间间隔内被迁移的其他数据,例如对于数据迁移装置在重启之后10分钟内迁移的其他数据,数据迁移装置判断是否已经存在于新数据库中;若存在,则丢弃,若不存在,则迁移到新数据库中;而对于在最后记录的数据位置之后存入原数据库,且会在数据迁移装置重启后上述时间间隔之外被迁移的其他数据,数据迁移装置直接迁移到新数据库中。这样不仅可以达到去重的目的,还可以提高数据迁移速度。
在此说明,由于数据一般是按照时间入库的,所以上述数据位置可以是数据存入原数据库时的时间点。
在一可选实施方式中,业务装置还可以将数据迁移过程中以及在数据迁移完成后的业务过渡期内产生的数据,同时存储到原数据库和新数据库中,实现对增量数据的双写。业务装置是指产生数据且需要将数据写入数据库的装置,业务过渡期是指业务装置从原数据库完全切换到新数据库所需的时间。
其中,由于在数据迁移过程中新数据库中的数据是不完整的,所以有些业务无法基于新数据库开展,通过将新产生的数据存储到原数据库中,可以保证原数据库中数据的完整性,以便于保证在数据迁移过程中部分业务仍可以基于原数据库开展;另外,将数据迁移过程中新产生的数据存储到新数据库中,这样数据迁移装置只需将原数据库中在新产生的数据之前的数据迁移到新数据库即可,可以减轻数据迁移装置的负担,提高数据迁移速度。再者,通过将业务过渡期内产生的数据进行双写,可以给用户留有适应使用新数据库的时间,有利于提高用户体验。
其中,数据迁移过程一般可由数据迁移起始时刻和数据迁移结束时刻确定。数据迁移装置开始进行数据迁移时,记录该数据迁移起始时刻。
考虑到数据迁移开始时刻有时不是很精确,为保证新数据库中数据的完整性,可以设置一滞后时间,例如可以是30秒钟、1分钟等,数据迁移装置除了将在所确定的数据迁移开始时刻之前产生的数据迁移到新数据库之外,进一步可以将在所确定的数据迁移开始时刻之后所述滞后时间内新产生的数据也向新数据库中迁移,以防止发生遗漏。
在上述情况下,因为双写,有可能在所确定的数据迁移开始时刻之后所述滞后时间内新产生的数据已经存储到新数据库中,此时再向新数据库中迁移就会发生数据重复,为了避免数据重复,在向新数据库存储这些数据之前,需要判断新数据库中是否已经存在这些数据,若存在,则丢弃;若不存在,则迁移到新数据库中。
在一可选实施方式中,数据迁移装置在整个数据迁移过程结束后,确定待核实业务;根据原数据库中的开展待核实业务所需的数据和新数据库中的开展待核实业务所需的数据,对新数据库进行一致性验证。
上述验证过程包括但不限于以下几种:
基本检查:检查原数据库中待核实业务所需的数据对应的业务ID和新数据库中待核实业务所需的数据对应的业务ID是否一致;
状态检查:对原数据库中待核实业务所需的数据和新数据库中待核实业务所需的数据进行联合(JOIN)操作,按照时间每次取100条数据,获取所有信息,进行比对。
例如,比对上述数据对应的收发件信息是否一致:收发件信息包括:接收者ID(RECEIVERID)、接收账号ID(RECEIVERVACCOUNTID)、发送者ID(SENDERID)以及发送账号ID(SENDERVACCOUNTID)。
又例如,比对上述数据的各种状态是否一致,所述各种状态可以包括:接收状态(RECEIVER_STATUS)、查看状态(VIEW_STATUS)、删除状态(DELETE_STATUS)、垃圾状态(SPAM_STATUS)、读取状态(READ_STATUS)等。
特殊逻辑的比对:所述特殊逻辑包括:退回询盘逻辑、RFQ逻辑等;
值得说明的是,当上述验证出现不一致情况时,数据迁移装置可以将有关信息记录到本地文件中,以便于后续排查。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图2为本申请一实施例提供的数据迁移装置的结构示意图。如图2所示,该装置包括:第一确定模块21、第一迁移模块22和第二迁移模块23。
第一确定模块21,用于确定开展目标业务所需的目标数据。
第一迁移模块22,与第一确定模块21连接,用于将目标数据从原数据库迁移到新数据库中。
第二迁移模块23,与第一确定模块21连接,用于将原数据库中除目标数据的其他数据迁移到新数据库中。
在一可选实施方式中,如图3所示,该装置还包括:第一记录模块31,用于在第一迁移模块22将目标数据从原数据库迁移到新数据库后,将目标业务的业务标识存储在本地。
基于上述,第二迁移模块23具体用于按照数据存储时间,依次从原数据库中获取数据;若所获取的数据对应的业务标识与本地存储的目标业务的业务标识不同,将所获取的数据迁移到新数据库中。
在一可选实施方式中,如图3所示,该装置还包括:第二记录模块32,用于在目标数据的迁移过程中,按照预设的时间间隔周期性的记录已迁移到的数据位置。
进一步,第二记录模块32具体用于:在目标数据的迁移过程中,每执行一次数据迁移操作,将数据迁移操作所迁移到的数据位置存储到数据迁移装置的内存中,并按照时间间隔周期性的将内存中的数据位置记录到第一文件中。
基于上述,第一迁移模块22具体用于:当数据迁移装置重启之后,从最后记录的数据位置开始继续从原数据库向新数据库中迁移目标数据。
进一步,第一迁移模块22具体用于:当数据迁移装置重启之后,对于在最后记录的数据位置之后存入原数据库,且会在数据迁移装置重启后时间间隔内被迁移的目标数据,判断是否已经存在于新数据库中;若存在,则丢弃,若不存在,则迁移到新数据库中;对于在最后记录的数据位置之后存入原数据库,且会在数据迁移装置重启后时间间隔之外被迁移的目标数据,直接迁移到新数据库中。
在一可选实施方式中,如图3所示,该装置还包括:第三记录模块33,用于在其他数据的迁移过程中,按照时间间隔周期性的记录已迁移到的数据位置。
进一步,第三记录模块33具体用于:在其他数据的迁移过程中,每执行一次数据迁移操作,将数据迁移操作所迁移到的数据位置存储到数据迁移装置的内存中,并按照时间间隔周期性的将内存中的数据位置记录到第二文件中。
基于上述,第二迁移模块23具体用于:当数据迁移装置重启之后,从最后记录的数据位置开始继续从原数据库向新数据库中迁移其他数据。
进一步,第二迁移模块23具体用于:当数据迁移装置重启之后,对于在最后记录的数据位置之后存入原数据库,且会在数据迁移装置重启后时间间隔内被迁移的其他数据,判断是否已经存在于新数据库中;若存在,则丢弃,若不存在,则迁移到新数据库中;对于在最后记录的数据位置之后存入原数据库,且会在数据迁移装置重启后时间间隔之外被迁移的其他数据,直接迁移到新数据库中。
在一可选实施实施方式中,如图3所示,该装置还包括:
第二确定模块34,用于在整个数据迁移过程结束后,确定待核实业务;
验证模块35,与第二确定模块34连接,用于根据原数据库中的开展待核实业务所需的数据和新数据库中的开展待核实业务所需的数据,对新数据库进行一致性验证。
本实施例提供的数据迁移装置,当需要进行数据库迁移时,首先确定开展目标业务所需的目标数据,将目标数据从原数据库中迁移到新数据库中,再将除目标数据之外的其他数据迁移到新数据库中,完成数据迁移。由于本实施例提供的数据迁移装置不再根据数据存储时间,从最早数据开始依次进行数据迁移,而是根据目标业务进行数据迁移,具有较高的灵活度,并且优先迁移开展目标业务所需的目标数据,有利于及时快速的开展该目标业务。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种数据迁移方法,其特征在于,包括:
数据迁移装置确定开展目标业务所需的目标数据;
所述数据迁移装置将所述目标数据从原数据库迁移到新数据库中;
所述数据迁移装置将所述原数据库中除所述目标数据之外的其他数据迁移到所述新数据库中。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述数据迁移装置在将所述目标数据从所述原数据库迁移到所述新数据库后,将所述目标业务的业务标识存储在本地;
所述数据迁移装置将所述原数据库中除所述目标数据之外的其他数据迁移到所述新数据库中,包括:
所述数据迁移装置按照数据存储时间,依次从所述原数据库中获取数据;若所述获取的数据对应的业务标识与本地存储的所述目标业务的业务标识不同,将所述获取的数据迁移到所述新数据库中。
3.根据权利要求1所述的方法,其特征在于,还包括:
所述数据迁移装置在所述目标数据的迁移过程中,按照预设的时间间隔周期性的记录已迁移到的数据位置;
所述数据迁移装置将所述目标数据从原数据库迁移到新数据库中,包括:
当所述数据迁移装置重启之后,从最后记录的数据位置开始继续从所述原数据库向所述新数据库中迁移所述目标数据。
4.根据权利要求3所述的方法,其特征在于,还包括:
所述数据迁移装置在所述其他数据的迁移过程中,按照所述时间间隔周期性的记录已迁移到的数据位置;
所述数据迁移装置将所述原数据库中除所述目标数据之外的其他数据迁移到所述新数据库中,包括:
当所述数据迁移装置重启之后,从最后记录的数据位置开始继续从所述原数据库向所述新数据库中迁移所述其他数据。
5.根据权利要求4所述的方法,其特征在于,所述数据迁移装置在所述目标数据的迁移过程中,按照预设的时间间隔周期性的记录已迁移到的数据位置,包括:
所述数据迁移装置在所述目标数据的迁移过程中,每执行一次数据迁移操作,将所述数据迁移操作所迁移到的数据位置存储到所述数据迁移装置的内存中,并按照所述时间间隔周期性的将所述内存中的数据位置记录到第一文件中;
所述数据迁移装置在所述其他数据的迁移过程中,按照所述时间间隔周期性的记录已迁移到的数据位置,包括:
所述数据迁移装置在所述其他数据的迁移过程中,每执行一次数据迁移操作,将所述数据迁移操作所迁移到的数据位置存储到所述数据迁移装置的内存中,并按照所述时间间隔周期性的将所述内存中的数据位置记录到第二文件中。
6.根据权利要求4或5所述的方法,其特征在于,所述当所述数据迁移装置重启之后,从最后记录的数据位置开始继续从所述原数据库向所述新数据库迁移所述目标数据,包括:
对于在所述最后记录的数据位置之后存入所述原数据库,且会在所述数据迁移装置重启后所述时间间隔内被迁移的所述目标数据,所述数据迁移装置判断是否已经存在于所述新数据库中;若存在,则丢弃,若不存在,则迁移到所述新数据库中;
对于在所述最后记录的数据位置之后存入所述原数据库,且会在所述数据迁移装置重启后所述时间间隔之外被迁移的所述目标数据,所述数据迁移装置直接迁移到所述新数据库中;
所述当所述数据迁移装置重启之后,从最后记录的数据位置开始继续从所述原数据库向所述新数据库中迁移所述其他数据,包括:
对于在所述最后记录的数据位置之后存入所述原数据库,且会在所述数据迁移装置重启后所述时间间隔内被迁移的所述其他数据,所述数据迁移装置判断是否已经存在于所述新数据库中;若存在,则丢弃,若不存在,则迁移到所述新数据库中;
对于在所述最后记录的数据位置之后存入所述原数据库,且会在所述数据迁移装置重启后所述时间间隔之外被迁移的所述其他数据,所述数据迁移装置直接迁移到所述新数据库中。
7.根据权利要求1-5任一项所述的方法,其特征在于,还包括:
业务装置将在数据迁移过程中以及在数据迁移完成后的业务过渡期内产生的数据,同时存储到所述原数据库和所述新数据库中;所述业务过渡期是指所述业务装置从所述原数据库完全切换到所述新数据库所需的时间。
8.根据权利要求1-5任一项所述的方法,其特征在于,还包括:
所述数据迁移装置在整个数据迁移过程结束后,确定待核实业务;
根据所述原数据库中的开展所述待核实业务所需的数据和所述新数据库中的开展所述待核实业务所需的数据,对所述新数据库进行一致性验证。
9.一种数据迁移装置,其特征在于,包括:
第一确定模块,用于确定开展目标业务所需的目标数据;
第一迁移模块,用于将所述目标数据从原数据库迁移到新数据库中;
第二迁移模块,用于将所述原数据库中除所述目标数据的其他数据迁移到所述新数据库中。
10.根据权利要求9所述的装置,其特征在于,还包括:
第一记录模块,用于在将所述目标数据从所述原数据库迁移到所述新数据库后,将所述目标业务的业务标识存储在本地;
所述第二迁移模块具体用于按照数据存储时间,依次从所述原数据库中获取数据;若所述获取的数据对应的业务标识与本地存储的所述目标业务的业务标识不同,将所述获取的数据迁移到所述新数据库中。
11.根据权利要求9所述的装置,其特征在于,还包括:
第二记录模块,用于在所述目标数据的迁移过程中,按照预设的时间间隔周期性的记录已迁移到的数据位置;
所述第一迁移模块具体用于:
当所述数据迁移装置重启之后,从最后记录的数据位置开始继续从所述原数据库向所述新数据库中迁移所述目标数据。
12.根据权利要求11所述的装置,其特征在于,还包括:
第三记录模块,用于在所述其他数据的迁移过程中,按照所述时间间隔周期性的记录已迁移到的数据位置;
第二迁移模块具体用于:
当所述数据迁移装置重启之后,从最后记录的数据位置开始继续从所述原数据库向所述新数据库中迁移所述其他数据。
13.根据权利要求12所述的装置,其特征在于,
所述第二记录模块具体用于:在所述目标数据的迁移过程中,每执行一次数据迁移操作,将所述数据迁移操作所迁移到的数据位置存储到所述数据迁移装置的内存中,并按照所述时间间隔周期性的将所述内存中的数据位置记录到第一文件中;
所述第三记录模块具体用于:在所述其他数据的迁移过程中,每执行一次数据迁移操作,将所述数据迁移操作所迁移到的数据位置存储到所述数据迁移装置的内存中,并按照所述时间间隔周期性的将所述内存中的数据位置记录到第二文件中。
14.根据权利要求12或13所述的装置,其特征在于,
所述第一迁移模块具体用于:当所述数据迁移装置重启之后,对于在所述最后记录的数据位置之后存入所述原数据库,且会在所述数据迁移装置重启后所述时间间隔内被迁移的所述目标数据,判断是否已经存在于所述新数据库中;若存在,则丢弃,若不存在,则迁移到所述新数据库中;对于在所述最后记录的数据位置之后存入所述原数据库,且会在所述数据迁移装置重启后所述时间间隔之外被迁移的所述目标数据,直接迁移到所述新数据库中;
所述第二迁移模块具体用于:当所述数据迁移装置重启之后,对于在所述最后记录的数据位置之后存入所述原数据库,且会在所述数据迁移装置重启后所述时间间隔内被迁移的所述其他数据,判断是否已经存在于所述新数据库中;若存在,则丢弃,若不存在,则迁移到所述新数据库中;对于在所述最后记录的数据位置之后存入所述原数据库,且会在所述数据迁移装置重启后所述时间间隔之外被迁移的所述其他数据,直接迁移到所述新数据库中。
15.根据权利要求9-13任一项所述的装置,其特征在于,还包括:
第二确定模块,用于在整个数据迁移过程结束后,确定待核实业务;
验证模块,用于根据所述原数据库中的开展所述待核实业务所需的数据和所述新数据库中的开展所述待核实业务所需的数据,对所述新数据库进行一致性验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510009881.8A CN105824846B (zh) | 2015-01-09 | 2015-01-09 | 数据迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510009881.8A CN105824846B (zh) | 2015-01-09 | 2015-01-09 | 数据迁移方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105824846A true CN105824846A (zh) | 2016-08-03 |
CN105824846B CN105824846B (zh) | 2021-04-13 |
Family
ID=56514136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510009881.8A Active CN105824846B (zh) | 2015-01-09 | 2015-01-09 | 数据迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105824846B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315814A (zh) * | 2017-06-29 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种kdb数据库数据迁移后数据一致性验证方法及系统 |
CN107391539A (zh) * | 2017-04-28 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 事务处理方法、服务器和存储介质 |
CN107766374A (zh) * | 2016-08-19 | 2018-03-06 | 上海凯翔信息科技有限公司 | 一种海量小文件存储读取的优化方法和系统 |
CN107943572A (zh) * | 2017-11-16 | 2018-04-20 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN108829779A (zh) * | 2018-05-30 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种数据处理的方法以及相关设备 |
CN110019133A (zh) * | 2017-12-21 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据在线迁移方法和装置 |
CN110196844A (zh) * | 2018-04-16 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法、系统及存储介质 |
CN111797172A (zh) * | 2020-09-04 | 2020-10-20 | 阿里云计算有限公司 | 数据迁移方法、装置、设备、分布式系统及存储介质 |
WO2023179040A1 (zh) * | 2022-03-22 | 2023-09-28 | 华为云计算技术有限公司 | 一种节点切换方法及相关系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044085A1 (en) * | 2003-08-18 | 2005-02-24 | Todres Yampel | Database generation method |
CN102982085A (zh) * | 2012-10-31 | 2013-03-20 | 北京奇虎科技有限公司 | 数据迁移系统和方法 |
CN103455589A (zh) * | 2013-08-29 | 2013-12-18 | 中国农业银行股份有限公司 | 产品工厂模式下的产品数据迁移方法、装置及系统 |
CN103530290A (zh) * | 2012-07-03 | 2014-01-22 | 深圳市腾讯计算机系统有限公司 | 数据库间的数据迁移方法和系统 |
CN103577249A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
-
2015
- 2015-01-09 CN CN201510009881.8A patent/CN105824846B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044085A1 (en) * | 2003-08-18 | 2005-02-24 | Todres Yampel | Database generation method |
CN103530290A (zh) * | 2012-07-03 | 2014-01-22 | 深圳市腾讯计算机系统有限公司 | 数据库间的数据迁移方法和系统 |
CN102982085A (zh) * | 2012-10-31 | 2013-03-20 | 北京奇虎科技有限公司 | 数据迁移系统和方法 |
CN103455589A (zh) * | 2013-08-29 | 2013-12-18 | 中国农业银行股份有限公司 | 产品工厂模式下的产品数据迁移方法、装置及系统 |
CN103577249A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
Non-Patent Citations (1)
Title |
---|
李永良: "数据迁移:在新旧系统中切换", 《中国计算机用户》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766374A (zh) * | 2016-08-19 | 2018-03-06 | 上海凯翔信息科技有限公司 | 一种海量小文件存储读取的优化方法和系统 |
CN107391539B (zh) * | 2017-04-28 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 事务处理方法、服务器和存储介质 |
CN107391539A (zh) * | 2017-04-28 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 事务处理方法、服务器和存储介质 |
CN107315814A (zh) * | 2017-06-29 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种kdb数据库数据迁移后数据一致性验证方法及系统 |
CN107315814B (zh) * | 2017-06-29 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种kdb数据库数据迁移后数据一致性验证方法及系统 |
CN107943572A (zh) * | 2017-11-16 | 2018-04-20 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN107943572B (zh) * | 2017-11-16 | 2019-09-03 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
WO2019095576A1 (zh) * | 2017-11-16 | 2019-05-23 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN110019133A (zh) * | 2017-12-21 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据在线迁移方法和装置 |
CN110196844A (zh) * | 2018-04-16 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法、系统及存储介质 |
CN110196844B (zh) * | 2018-04-16 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法、系统及存储介质 |
CN108829779A (zh) * | 2018-05-30 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种数据处理的方法以及相关设备 |
CN111797172A (zh) * | 2020-09-04 | 2020-10-20 | 阿里云计算有限公司 | 数据迁移方法、装置、设备、分布式系统及存储介质 |
WO2022048622A1 (zh) * | 2020-09-04 | 2022-03-10 | 阿里云计算有限公司 | 数据迁移方法、装置、设备、分布式系统及存储介质 |
WO2023179040A1 (zh) * | 2022-03-22 | 2023-09-28 | 华为云计算技术有限公司 | 一种节点切换方法及相关系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105824846B (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105824846A (zh) | 数据迁移方法及装置 | |
CN103268318B (zh) | 一种强一致性的分布式键值数据库系统及其读写方法 | |
CN102934097B (zh) | 数据去重 | |
US8468313B2 (en) | Asynchronous replication with write concurrency grouping | |
CN102306115B (zh) | 异步远程复制方法、系统及设备 | |
WO2018098972A1 (zh) | 一种日志恢复方法、存储装置和存储节点 | |
CN103761190B (zh) | 数据处理方法及装置 | |
CN104077380B (zh) | 一种重复数据删除方法、装置及系统 | |
CN104301360A (zh) | 一种日志数据记录的方法、日志服务器及系统 | |
CN110263014A (zh) | 面向时序型数据的区块链存储系统及方法 | |
WO2021226905A1 (zh) | 一种数据存储方法、系统及存储介质 | |
CN103530388A (zh) | 一种云存储系统中提升性能的数据处理方法 | |
EP3862883A1 (en) | Data backup method and apparatus, and system | |
CN105376277A (zh) | 一种数据同步方法及装置 | |
CN103324533A (zh) | 分布式数据处理方法、装置及系统 | |
JP2020506444A (ja) | 期限切れバックアップ処理方法及びバックアップサーバ | |
US20210326211A1 (en) | Data backup method, apparatus, and system | |
TW201723857A (zh) | 使用多串流的系統、方法以及製品 | |
CN107577549A (zh) | 一种存储重删功能的测试方法 | |
CN109669818A (zh) | 无本地缓存的连续数据保护方法和系统 | |
CN104636218B (zh) | 数据恢复方法及装置 | |
CN109614272B (zh) | 无本地缓存的数据备份方法和系统 | |
WO2017113861A1 (zh) | 一种数据访问方法和装置 | |
CN106610788B (zh) | 硬盘阵列控制方法及装置 | |
CN103631682A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240329 Address after: Singapore Patentee after: Alibaba Singapore Holdings Ltd. Country or region after: Singapore Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: ALIBABA GROUP HOLDING Ltd. Country or region before: Cayman Islands |