[发明专利]数据迁移的方法和装置在审
申请号: | 201710334373.6 | 申请日: | 2017-05-12 |
公开(公告)号: | CN108874828A | 公开(公告)日: | 2018-11-23 |
发明(设计)人: | 潘新宇 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;赵静 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源数据库 数据库 方法和装置 数据迁移 同步流程 迁移率 同步的 迁移 变更 数据库数据 数据发生 度计算 用户维 监听 更新 改进 | ||
本发明涉及一种数据迁移的方法和装置,所述方法包括全量同步流程,并且此外还可包括基于binlog机制的增量同步流程。通过该方法可实现数据库数据的无丢失的迁移,并且改进了迁移的性能。该方法包括:将源数据库中的数据全量同步至新数据库;在所述全量同步的过程中,监听所述源数据库中数据的变更情况,若所述源数据库中的数据发生变更,则将所述新数据库中对应的已实现同步的数据进行更新;按照用户维度计算迁移率,当某用户的数据的迁移率达到100%时,将所述某用户对应的数据库从源数据库切换至新数据库。
技术领域
本发明涉及计算机领域,具体地涉及一种数据迁移的方法和装置。
背景技术
伴随着互联网相关业务不断涌现,有的业务得到了快速迅猛的发展,原有的数据库存储以及表结构设计已经不能满足业务的需求。为了满足业务的正常发展以及数据存储、表结构的问题需要建立一套全新数据库,其能够容纳海量数据存储,并且需要对有设计缺陷的表结构进行重新设计。该新设计的数据库表结构相对于原数据库结构称之为异构结构。对于这种异构数据库,需要有一种方法来将用户数据从原数据库迁移到新数据库上。
现有的数据迁移方法基于轮询同步,也就是说,对于数据库表中的每一条记录的修改时间进行轮询同步,如果修改时间晚于上一次同步时记录的时间,则进行同步。但是将修改时间和上一次同步时记录的时间进行比对来判断数据是否已经同步会导致很多已同步的数据重复同步,从而产生很多无效同步,这降低了同步性能。
根据时间的同步方案,对于时间的精度和一致性要求较高。如果时间的精度(秒或者毫秒)不同或者两台机器时钟不同步,那么会导致数据的丢失。时钟同步和精度在大部分情况下很难保证一致精准,从而在根据时间的同步方案中,数据丢失的风险很大,不能满足互联网业务迁移的需求。
发明内容
有鉴于此,本发明实施例提供一种数据迁移的方法及装置,其能够在不出现数据丢失、数据延迟等的情况下进行数据迁移,不会让用户感知到,也不会影响到用户的体验性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据迁移的方法。
本发明实施例的一种数据迁移的方法包括:将源数据库中的数据全量同步至新数据库;在所述全量同步的过程中,监听所述源数据库中数据的变更情况,若所述源数据库中的数据发生变更,则将所述新数据库中对应的已实现同步的数据进行更新;按照用户维度计算迁移率,当某用户的数据的迁移率达到100%时,将所述某用户对应的数据库从源数据库切换至新数据库。
可选地,在将源数据库中的数据全量同步至新数据库之前,所述方法还包括:根据所述新数据库中表的设计结构,将源数据库中的数据进行结构转换。
可选地,将源数据库中的数据全量同步至新数据库包括:利用自增主键ID,顺序选择所述源数据库中的预设条数的数据,同步至新数据库,直至完成全量同步。
可选地,所述方法还包括:利用ACK机制判断每次顺序选择的所述源数据库中的预设条数的数据是否已完成同步。
可选地,在将每次顺序选择的所述源数据库中的预设条数的数据完成同步之后,所述方法还包括:将所述预设条数的数据的全部自增主键ID记录至迁移记录数据库中,并将所述预设条数的数据的最后一条数据的自增主键ID作为下次顺序选择数据的起始位移ID记录在迁移记录数据库中。
可选地,监听所述源数据库中数据的变更情况包括:基于binlog机制,监听所述源数据库中数据的变更情况。
可选地,将所述新数据库中对应的已实现同步的数据进行更新包括:判断发生变更的数据的自增主键ID是否存在于迁移记录数据库中,若存在,则对所述新数据库中对应的数据进行更新,若不存在则不更新。通过该判断从而可以过滤无效的更新,从而提高性能。
可选地,所述方法还包括:利用可视化界面,实时监控数据迁移进度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710334373.6/2.html,转载请声明来源钻瓜专利网。