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

技术编号:19543913 阅读:28 留言:0更新日期:2018-11-24 20:38
本发明专利技术涉及一种数据迁移的方法和装置,所述方法包括全量同步流程,并且此外还可包括基于binlog机制的增量同步流程。通过该方法可实现数据库数据的无丢失的迁移,并且改进了迁移的性能。该方法包括:将源数据库中的数据全量同步至新数据库;在所述全量同步的过程中,监听所述源数据库中数据的变更情况,若所述源数据库中的数据发生变更,则将所述新数据库中对应的已实现同步的数据进行更新;按照用户维度计算迁移率,当某用户的数据的迁移率达到100%时,将所述某用户对应的数据库从源数据库切换至新数据库。

Data migration methods and devices

The invention relates to a method and device for data migration, which comprises a full synchronization process and an incremental synchronization process based on binlog mechanism. Through this method, the database data can be migrated without loss, and the migration performance can be improved. The method includes: synchronizing the data in the source database to the new database; monitoring the changes of the data in the source database during the process of the full synchronization; updating the synchronized data in the new database if the data in the source database changes; and updating the corresponding synchronized data in the new database according to the user. Dimension calculates the mobility. When the mobility of a user's data reaches 100%, the database corresponding to the user is switched from the source database to the new database.

【技术实现步骤摘要】
数据迁移的方法和装置
本专利技术涉及计算机领域,具体地涉及一种数据迁移的方法和装置。
技术介绍
伴随着互联网相关业务不断涌现,有的业务得到了快速迅猛的发展,原有的数据库存储以及表结构设计已经不能满足业务的需求。为了满足业务的正常发展以及数据存储、表结构的问题需要建立一套全新数据库,其能够容纳海量数据存储,并且需要对有设计缺陷的表结构进行重新设计。该新设计的数据库表结构相对于原数据库结构称之为异构结构。对于这种异构数据库,需要有一种方法来将用户数据从原数据库迁移到新数据库上。现有的数据迁移方法基于轮询同步,也就是说,对于数据库表中的每一条记录的修改时间进行轮询同步,如果修改时间晚于上一次同步时记录的时间,则进行同步。但是将修改时间和上一次同步时记录的时间进行比对来判断数据是否已经同步会导致很多已同步的数据重复同步,从而产生很多无效同步,这降低了同步性能。根据时间的同步方案,对于时间的精度和一致性要求较高。如果时间的精度(秒或者毫秒)不同或者两台机器时钟不同步,那么会导致数据的丢失。时钟同步和精度在大部分情况下很难保证一致精准,从而在根据时间的同步方案中,数据丢失的风险很大,不能满足互联网业务迁移的需求。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据迁移的方法及装置,其能够在不出现数据丢失、数据延迟等的情况下进行数据迁移,不会让用户感知到,也不会影响到用户的体验性。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据迁移的方法。本专利技术实施例的一种数据迁移的方法包括:将源数据库中的数据全量同步至新数据库;在所述全量同步的过程中,监听所述源数据库中数据的变更情况,若所述源数据库中的数据发生变更,则将所述新数据库中对应的已实现同步的数据进行更新;按照用户维度计算迁移率,当某用户的数据的迁移率达到100%时,将所述某用户对应的数据库从源数据库切换至新数据库。可选地,在将源数据库中的数据全量同步至新数据库之前,所述方法还包括:根据所述新数据库中表的设计结构,将源数据库中的数据进行结构转换。可选地,将源数据库中的数据全量同步至新数据库包括:利用自增主键ID,顺序选择所述源数据库中的预设条数的数据,同步至新数据库,直至完成全量同步。可选地,所述方法还包括:利用ACK机制判断每次顺序选择的所述源数据库中的预设条数的数据是否已完成同步。可选地,在将每次顺序选择的所述源数据库中的预设条数的数据完成同步之后,所述方法还包括:将所述预设条数的数据的全部自增主键ID记录至迁移记录数据库中,并将所述预设条数的数据的最后一条数据的自增主键ID作为下次顺序选择数据的起始位移ID记录在迁移记录数据库中。可选地,监听所述源数据库中数据的变更情况包括:基于binlog机制,监听所述源数据库中数据的变更情况。可选地,将所述新数据库中对应的已实现同步的数据进行更新包括:判断发生变更的数据的自增主键ID是否存在于迁移记录数据库中,若存在,则对所述新数据库中对应的数据进行更新,若不存在则不更新。通过该判断从而可以过滤无效的更新,从而提高性能。可选地,所述方法还包括:利用可视化界面,实时监控数据迁移进度。根据本专利技术实施例的另一方面,提供了一种数据迁移的装置。本专利技术实施例的一种数据迁移的装置包括:全量同步模块,用于将源数据库中的数据全量同步至新数据库;增量同步模块,用于在所述全量同步的过程中,监听所述源数据库中数据的变更情况,若所述源数据库中的数据发生变更,则将所述新数据库中对应的已实现同步的数据进行更新;切换模块,用于按照用户维度计算迁移率,当某用户的数据的迁移率达到100%时,将所述某用户对应的数据库从源数据库切换至新数据库。可选地,所述全量同步模块还用于:根据所述新数据库中表的设计结构,将源数据库中的数据进行结构转换。可选地,所述全量同步模块还用于:利用自增主键ID,顺序选择所述源数据库中的预设条数的数据,同步至新数据库,直至完成全量同步。可选地,所述全量同步模块还用于:利用ACK机制判断每次顺序选择的所述源数据库中的预设条数的数据是否已完成同步。可选地,所述装置还包括:迁移记录模块,用于将所述预设条数的数据的全部自增主键ID记录至迁移记录数据库中,并将所述预设条数的数据的最后一条数据的自增主键ID作为下次顺序选择数据的起始位移ID记录在迁移记录数据库中。可选地,所述增量同步模块还用于:基于binlog机制,监听所述源数据库中数据的变更情况。可选地,所述增量同步模块还用于:判断发生变更的数据的自增主键ID是否存在于迁移记录数据库中,若存在,则对所述新数据库中对应的数据进行更新,若不存在则不更新。可选地,所述装置还包括:可视化模块,用于利用可视化界面,实时监控数据迁移进度。根据本专利技术的再一方面,提供了一种电子设备终端,包括:一个或多个处理器;用于存储一个或多个程序的存储装置,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据本专利技术所提供的数据迁移的方法。根据本专利技术的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术所提供的数据迁移的方法。上述专利技术中的一个实施例具有如下优点或有益效果:通过上述方法的流程,从而可以实现数据库中数据的无缝迁移,保证相应的业务系统不停服,且无数据丢失和延迟,且可以做到切换用户无感知,提升业务系统的用户体验;通过将源数据库中的数据根据新数据库中表的设计结构进行表结构转换,从而可以实现异构数据库之间的数据迁移;由于该全量同步过程按照数据库自增主键进行顺序同步,所以不会存在数据的丢失;通过ACK机制,从而可以进一步地保证数据无丢失;通过记录所有已迁移数据的自增主键ID,从而可以方便的基于用户维度计算迁移率;通过记录起始位移ID,从而可以方便准确的顺序选择源数据库中的数据;通过基于binlog机制,从而可以在数据同步的过程中,监听源数据库中数据的变化,达到数据变更实时同步的效果;通过判断发生变更的数据的自增主键ID是否存在于迁移记录数据库中,从而可以过滤无效的更新,只保留有效更新,提高同步性能;通过该可视化界面,从而可以实时查看当前业务系统的数据迁移率,掌控迁移进度。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明图1是本专利技术实施例可以应用于其中的示例性系统架构图;图2是根据本专利技术实施例的数据迁移的方法的主要步骤的示意图;图3是用于实现本专利技术实施例的数据迁移的方法的系统框架的示意图;图4是根据本专利技术实施例的数据迁移的方法的具体流程的示意图;图5是根据本专利技术实施例的数据迁移的装置的主要模块的示意图;和图6是适于用来实现本申请实施例的电子设备终端的计算机系统的结构示意图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步详细描述,但不作为对本专利技术的限定。图1示出了可以应用本专利技术实施例的数据迁移的方法或数据迁移的装置的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102本文档来自技高网...

【技术保护点】
1.一种数据迁移的方法,其特征在于,包括:将源数据库中的数据全量同步至新数据库;在所述全量同步的过程中,监听所述源数据库中数据的变更情况,若所述源数据库中的数据发生变更,则将所述新数据库中对应的已实现同步的数据进行更新;按照用户维度计算迁移率,当某用户的数据的迁移率达到100%时,将所述某用户对应的数据库从源数据库切换至新数据库。

【技术特征摘要】
1.一种数据迁移的方法,其特征在于,包括:将源数据库中的数据全量同步至新数据库;在所述全量同步的过程中,监听所述源数据库中数据的变更情况,若所述源数据库中的数据发生变更,则将所述新数据库中对应的已实现同步的数据进行更新;按照用户维度计算迁移率,当某用户的数据的迁移率达到100%时,将所述某用户对应的数据库从源数据库切换至新数据库。2.根据权利要求1所述的方法,其特征在于,在将源数据库中的数据全量同步至新数据库之前,所述方法还包括:根据所述新数据库中表的设计结构,将源数据库中的数据进行结构转换。3.根据权利要求1所述的方法,其特征在于,将源数据库中的数据全量同步至新数据库包括:利用自增主键ID,顺序选择所述源数据库中的预设条数的数据,同步至新数据库,直至完成全量同步。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:利用ACK机制判断每次顺序选择的所述源数据库中的预设条数的数据是否已完成同步。5.根据权利要求3所述的方法,其特征在于,在将每次顺序选择的所述源数据库中的预设条数的数据完成同步之后,所述方法还包括:将所述预设条数的数据的全部自增主键ID记录至迁移记录数据库中,并将所述预设条数的数据的最后一条数据的自增主键ID作为下次顺序选择数据的起始位移ID记录在迁移记录数据库中。6.根据权利要求1所述的方法,其特征在于,监听所述源数据库中数据的变更情况包括:基于binlog机制,监听所述源数据库中数据的变更情况。7.根据权利要求5所述的方法,其特征在于,将所述新数据库中对应的已实现同步的数据进行更新包括:判断发生变更的数据的自增主键ID是否存在于迁移记录数据库中,若存在,则对所述新数据库中对应的数据进行更新,若不存在则不更新。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:利用可视化界面,实时监控数据迁移进度。9.一种数据迁移的装置,其特征在于,包括:全量同步模块,用于将源数据库中的数据全量同步至新数据库;增量同步模块,用于在所述全量同步的过程中...

【专利技术属性】
技术研发人员:潘新宇
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1