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.
【技术实现步骤摘要】
数据迁移的方法和装置
本专利技术涉及计算机领域,具体地涉及一种数据迁移的方法和装置。
技术介绍
伴随着互联网相关业务不断涌现,有的业务得到了快速迅猛的发展,原有的数据库存储以及表结构设计已经不能满足业务的需求。为了满足业务的正常发展以及数据存储、表结构的问题需要建立一套全新数据库,其能够容纳海量数据存储,并且需要对有设计缺陷的表结构进行重新设计。该新设计的数据库表结构相对于原数据库结构称之为异构结构。对于这种异构数据库,需要有一种方法来将用户数据从原数据库迁移到新数据库上。现有的数据迁移方法基于轮询同步,也就是说,对于数据库表中的每一条记录的修改时间进行轮询同步,如果修改时间晚于上一次同步时记录的时间,则进行同步。但是将修改时间和上一次同步时记录的时间进行比对来判断数据是否已经同步会导致很多已同步的数据重复同步,从而产生很多无效同步,这降低了同步性能。根据时间的同步方案,对于时间的精度和一致性要求较高。如果时间的精度(秒或者毫秒)不同或者两台机器时钟不同步,那么会导致数据的丢失。时钟同步和精度在大部分情况下很难保证一致精准,从而在根据时间的同步方案中,数据丢失的风险很大,不能满足互联网业务迁移的需求。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据迁移的方法及装置,其能够在不出现数据丢失、数据延迟等的情况下进行数据迁移,不会让用户感知到,也不会影响到用户的体验性。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据迁移的方法。本专利技术实施例的一种数据迁移的方法包括:将源数据库中的数据全量同步至新数据库;在所述全量同步的过程中,监听所述源数据库 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。