[发明专利]一种基于双写的数据库扩展的方法及其装置在审
申请号: | 202011504646.5 | 申请日: | 2020-12-18 |
公开(公告)号: | CN112527775A | 公开(公告)日: | 2021-03-19 |
发明(设计)人: | 刘德建;陈宏展;岳万恕;郑彬 | 申请(专利权)人: | 福建天晴数码有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/215;G06F16/23;G06F16/27 |
代理公司: | 福州旭辰知识产权代理事务所(普通合伙) 35233 | 代理人: | 程勇 |
地址: | 350000 福建省福州市君竹路83*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据库 扩展 方法 及其 装置 | ||
本发明提供了一种基于双写的数据库扩展的方法,所述方法包括如下步骤:步骤S1、对旧服务进行升级,让服务同时操作新旧两库,并对数据修改进行双写到新库;步骤S2、设置离线的数据迁移工具,进行异步的数据同步;步骤S3、同时进行数据校验,保证完全一致性后进行数据库流量迁移,对数据库的流量从旧库迁移到新库,改为由新库提供线上服务;本发明不影响线上业务,不会导致数据丢失。
技术领域
本发明涉及数据库管理技术领域,特别是一种基于双写的数据库扩展的方法及其装置。
背景技术
目前数据库扩展,主要包括:底层表结构变更、水平扩展,分库个数变化、底层存储介质变化等,常用的解决数据库扩展问题方案主要有2类:一、停服扩展,一般步骤是挂公告,暂停服务;离线迁移数据;最后恢复服务。存在的缺点是,这是一种离线的,非高可用方案,另外这个方案还有一个很大缺点,就是必须在指定的时间完成升级,一旦出现问题,比如数据不一致,必须在规定的时间内解决,否则只能回滚,也不能保证能按计划完成。二、采用“pt-online-schema-change的工具”进行扩展,这个是互联网公司中相对成熟的方案,缺点是只适用于MySQL数据库,也只适用于表结构变更,对于分库个数的变化等无法适用;同时需要用到数据库的触发器,因为触发器性能比较低,所以这个操作必须在流量的低峰期进行。
发明内容
为克服上述问题,本发明的目的是提供一种基于双写的数据库扩展的方法,能进行高可用的平滑迁移,不影响线上业务,不会导致数据丢失。
本发明采用以下方案实现:一种基于双写的数据库扩展的方法,所述方法包括如下步骤:
步骤S1、对旧服务进行升级,让服务同时操作新旧两库,并对数据修改进行双写到新库;
步骤S2、设置离线的数据迁移工具,将异步的数据进行同步;
步骤S3、同时进行数据校验,保证完全一致性后进行数据库流量迁移,对数据库的流量从旧库迁移到新库,改为由新库提供线上服务。
进一步的,所述步骤S1进一步具体为:对旧服务进行升级,对数据进行修改的要写接口,该修改主要是对数据进行insert、delete和update操作,在新库上进行相同的操作即进行双写,而对于微服务接口这三个操作需要旧库和新库同时执行;由于此时新库中是没有数据,所以对于旧库、新库执行操作影响的行数不一样,但是仍然是旧服务对线上提供服务,不影响业务;该旧服务升级风险系数低,即第一、写接口的数量有限,则改动点相对比较少;第二、新库中的写操作执行成功与否,并不会对业务产生任何影响,因为一直是旧库对线上提供服务。
进一步的,所述步骤S2进一步具体为:数据迁移工具将数据从旧库迁移到新库,整个过程中依然是旧库对线上提供服务;迁移任何时间发现问题,能把新库中的数据清掉重来;数据迁移工具的实现方式为:将旧库与新库进行数据对应起来,然后进行数据解析服务,将旧库的数据解析生成目标数据,将目标数据保存到新库中。
进一步的,所述步骤S3进一步具体为:数据迁移完,理论上新旧库的数据已经一致,因为将双写进行了前置;但是极端情况下,发生了一个新库和旧库的删除操作,删除操作完,迁移数据将这些数据又插入到了新库中,这种不一致会导致新库中比旧库中会多几条数据,为了保证数据的一致性,在切库之前将旧库中的数据与新库进行比较,进行数据质量检查,并以旧库数据为准,直到数据完全一致,发现问题可及时进行回滚,风险低,服务对数据库的流量从旧库迁移到新库,由新库提供线上服务,此时能对数据库就行秒级的读操作,等日志重复程序完全追上之后,进行一个流量的切换。
本发明还提供了一种基于双写的数据库扩展的装置,所述装置包括双写模块、数据迁移模块、校验模块;
所述双写模块,用于对旧服务进行升级,让服务同时操作新旧两库,并对数据修改进行双写到新库;
所述数据迁移模块,设置离线的数据迁移工具,将异步的数据进行同步;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴数码有限公司,未经福建天晴数码有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011504646.5/2.html,转载请声明来源钻瓜专利网。