一种数据迁移的方法和装置制造方法及图纸

技术编号:15650037 阅读:183 留言:0更新日期:2017-06-17 02:57
本申请提供一种数据迁移的方法和装置。所述方法包括:获取原始库中目标数据的迁移标识;当所述迁移标识为未迁移时,锁定所述目标数据;将所述目标数据迁移至目标库,并在迁移完毕后将原始库中所述目标数据的迁移标识置为已迁移。本申请通过迁移标识实现不停机的数据迁移,在不中断业务的同时确保迁移前后数据的高一致性,提高用户的业务使用体验。

【技术实现步骤摘要】
一种数据迁移的方法和装置
本申请涉及通信
,尤其涉及一种数据迁移的方法和装置。
技术介绍
相关技术中,存储在数据库中的各种数据由于业务需要等原因,可能需要进行迁移,比如:将某些数据从原始数据库迁移到目标数据库。目前,为确保数据迁移前后的一致性,通常会先停机,然后进行数据的迁移。然而,在这样的实现方式中,数据迁移期间只能读不能写,无法提供写相关的业务服务,会导致相关业务中断。当待迁移的数据量较大时,可能会导致业务长时间中断,影响用户的业务使用体验。
技术实现思路
有鉴于此,本申请提供一种数据迁移的方法和装置,以解决相关技术中数据迁移导致业务中断的问题。具体地,本申请是通过如下技术方案实现的:一种数据迁移的方法,所述方法包括:获取原始库中目标数据的迁移标识;当所述迁移标识为未迁移时,锁定所述目标数据;将所述目标数据迁移至目标库,并在迁移完毕后将原始库中所述目标数据的迁移标识置为已迁移。可选的,所述方法还包括:在接收到针对目标数据的业务访问时,获取原始库中所述目标数据的迁移标识;当所述迁移标识为已迁移时,基于目标库中的所述目标数据执行所述业务访问。可选的,所述方法还包括:当所述迁移标识为未迁移时,锁定原始库中所述目标数据;再次获取原始库中所述目标数据的迁移标识;当所述迁移标识仍为未迁移时,基于原始库中的所述目标数据执行所述业务访问。可选的,所述方法还包括:当所述迁移标识变为已迁移时,异常退出。可选的,所述锁定所述目标数据,包括:在所述目标数据的当前状态为未锁定时,锁定所述目标数据;所述方法还包括:在迁移完毕后解锁所述目标数据。一种数据迁移的装置,所述装置包括:第一获取单元,获取原始库中目标数据的迁移标识;第一锁定单元,在所述迁移标识为未迁移时,锁定所述目标数据;数据迁移单元,将所述目标数据迁移至目标库,并在迁移完毕后将原始库中所述目标数据的迁移标识置为已迁移。可选的,所述装置还包括:第二获取单元,在接收到针对目标数据的业务访问时,获取原始库中所述目标数据的迁移标识;第一执行单元,在所述迁移标识为已迁移时,基于目标库中的所述目标数据执行所述业务访问。可选的,所述装置还包括:第二锁定单元,在所述迁移标识为未迁移时,锁定原始库中所述目标数据;第三获取单元,再次获取原始库中所述目标数据的迁移标识;第二执行单元,在所述迁移标识仍为未迁移时,基于原始库中的所述目标数据执行所述业务访问。可选的,所述装置还包括:异常退出单元,在所述迁移标识变为已迁移时,异常退出。可选的,所述第一锁定单元,具体在所述目标数据的当前状态为未锁定时,锁定所述目标数据;所述装置还包括:数据解锁单元,在迁移完毕后解锁所述目标数据。由以上描述可以看出,本申请可以在目标数据的迁移标识为未迁移时,锁定所述目标数据,将所述目标数据迁移至目标库,并在迁移完毕后将原始库中所述目标数据的迁移标识置为已迁移。本申请通过迁移标识实现不停机的数据迁移,在不中断业务的同时确保迁移前后数据的高一致性,提高用户的业务使用体验。附图说明图1是本申请一示例性实施例示出的一种数据迁移的方法的流程示意图。图2是本申请一示例性实施例示出的一种业务访问的处理方法的流程示意图。图3是本申请一示例性实施例示出的一种用于数据迁移的装置的一结构示意图。图4是本申请一示例性实施例示出的一种数据迁移的装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。相关技术中,在进行数据迁移时,根据实际需要,可能需要将原始库中的数据迁移到一个目标库中,也可能需要将原始库中的数据迁移到多个目标库中。其中,将原始库中的数据迁移到多个目标库中的情况较为复杂,停机后可能会耗费几个小时,甚至几天才能完成迁移,这样长时间的业务中断是不能被接受的。针对目前数据迁移存在的上述问题,本申请提供一种无需停机的数据迁移方案。图1是本申请一示例性实施例示出的一种数据迁移的方法的流程示意图。请参考图1,所述数据迁移的方法可以应用在服务端中,包括有以下步骤:步骤101,获取原始库中目标数据的迁移标识。在本实施例中,所述原始库为目标数据在迁移前的存储位置,所述原始库可以包括:原始分库、原始分表等。所述原始库中通常包括有多条目标数据。与所述原始库对应的是目标库,所述目标库为目标数据在迁移后的存储位置,即在数据迁移时需要将所述目标数据由原始库迁移到目标库。所述目标库也可以包括:目标分库、目标分表等。在本实施例中,在进行数据迁移之前,可以分别为所述原始库中的每条目标数据设置迁移标识,所述迁移标识包括:已迁移和未迁移,所述迁移标识的初始状态为未迁移。在实际应用中,较为简单的,可以采用预设的字符来表示所述迁移标识,比如:采用0表示未迁移,采用1表示已迁移等,本申请对此不作特殊限制。在本实施例中,在进行数据迁移时,可以遍历所述原始库中的每条目标数据,以获取所述目标数据的迁移标识。步骤102,当所述迁移标识为未迁移时,锁定所述目标数据。在本实施例中,在获取到所述目标数据的迁移标识时,可以判断所述迁移标识是否为已迁移,如果所述迁移标识为已迁移,可以说明所述目标数据已被成功迁移到目标库,可以继续执行步骤101,获取下一条目标数据的迁移标识。如果所述迁移标识为未迁移,则可以判断所述目标数据的当前状态是否为未锁定,如果所述目标数据的当前状态为未锁定,可以说明当前没有针对所述目标数据的写业务,可以锁定所述目标数据,以便后续执行迁移操作。如果所述目标数据的当前状态为已锁定,通常说明当前存在针对所述目标数据的写业务,为确保数据的一致性,还不能进行迁移操作,此时,也可以继续执行步骤101,获取下一条目标数据的迁移标识。步骤103,将所述目标数据迁移至目标库,并在迁移完毕后将原始库中所述目标数据的迁移标识置为已迁移。基于前述步骤102,在锁定所述目标数据之后,可以将所述目标数据迁移至目标库,比如:可以先复制所述目标数据,然后将所述目标数据粘贴到目标库。在本实施例中,在将所述目标数据迁移到目标库之后,可以将原始库中所述目标数据的迁移标识置为已迁移,并解锁原始库中的所述目标数据,即将原始库中的所述目标数据的当前状态置为未锁定。在本实施例中,服务端可以定期遍历原始本文档来自技高网...
一种数据迁移的方法和装置

【技术保护点】
一种数据迁移的方法,其特征在于,所述方法包括:获取原始库中目标数据的迁移标识;当所述迁移标识为未迁移时,锁定所述目标数据;将所述目标数据迁移至目标库,并在迁移完毕后将原始库中所述目标数据的迁移标识置为已迁移。

【技术特征摘要】
1.一种数据迁移的方法,其特征在于,所述方法包括:获取原始库中目标数据的迁移标识;当所述迁移标识为未迁移时,锁定所述目标数据;将所述目标数据迁移至目标库,并在迁移完毕后将原始库中所述目标数据的迁移标识置为已迁移。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在接收到针对目标数据的业务访问时,获取原始库中所述目标数据的迁移标识;当所述迁移标识为已迁移时,基于目标库中的所述目标数据执行所述业务访问。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述迁移标识为未迁移时,锁定原始库中所述目标数据;再次获取原始库中所述目标数据的迁移标识;当所述迁移标识仍为未迁移时,基于原始库中的所述目标数据执行所述业务访问。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当所述迁移标识变为已迁移时,异常退出。5.根据权利要求1所述的方法,其特征在于,所述锁定所述目标数据,包括:在所述目标数据的当前状态为未锁定时,锁定所述目标数据;所述方法还包括:在迁移完毕后解锁所述目标数据。6.一种数据迁移的装置,其特征在于,所述装置包括:第一获取单元,获取...

【专利技术属性】
技术研发人员:张亮
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1