用于数据库拆分的数据迁移方法、装置、介质及设备制造方法及图纸

技术编号:35355675 阅读:15 留言:0更新日期:2022-10-26 12:32
本申请公开了用于数据库拆分的数据迁移方法、装置、介质及设备,该方法包括:将待改造点的处理请求修改为对接过渡用户,以获取源数据库目标数据表中的目标数据;基于当前时刻确定迁移数据划分时间,获取目标数据表中在迁移数据划分时间之前的第一迁移数据,将第一迁移数据迁移至目标数据库;关闭过渡用户对源数据库目标数据表的写权限,并获取目标数据表中在迁移数据划分时间之后的第二迁移数据,将第二迁移数据迁移至目标数据库,将待改造点的处理请求修改为对接新用户。本申请进行数据迁移时,无需停机,将对系统的影响降到最低,提高了数据迁移时系统的稳定性,且新数据库与源数据库不同,不存在新旧数据库访问错误的问题。不存在新旧数据库访问错误的问题。不存在新旧数据库访问错误的问题。

【技术实现步骤摘要】
用于数据库拆分的数据迁移方法、装置、介质及设备


[0001]本专利技术涉及计算机
,特别涉及一种用于数据库拆分的数据迁移方法、装置、介质及设备。

技术介绍

[0002]随着业务系统的增加,数据库存储的数据越来越多,进而查询数据的时间越来越长,因此,进行业务系统的解耦和拆分,即根据业务系统进行数据库的拆分是必然的。数据库拆分是将源数据库的部分数据拆分迁移到新的数据库中,数据库进行拆分时必须做到:不能因为拆分而中断业务,不能因为拆分而降低可用性指标,更不能因为拆分带来资损。
[0003]但是系统完全无感知的静默拆分是不存在的,如何最大限度降低拆分感知和拆分稳定成了数据库拆分的关键。
[0004]在新旧数据库进行数据迁移时,目前有两种主流的做法分别是:停机进行数据迁移和不停机在线进行数据迁移。其中,停机进行数据迁移的方案在迁移期间数据库不能正常对外提供服务,中断业务,对稳定性影响极大。
[0005]不停机在线进行数据迁移的方案主要有主备切换,主备切换也常作为数据库异常的一种容灾手段,利用此方案可以几乎做到秒级别的切换,最大程度的减少感知。但是该操作需要旧数据库名和新数据库名一致,否则会带来数据库管理上的混乱,而拆分成功后旧数据库和新数据库同时存在并同时提供服务,由于旧数据库名和新数据库名一致,会带来数据库访问错误的问题。
[0006]因此,亟需一种数据迁移方法能提高数据迁移时系统的稳定性且不出现新旧数据库访问错误的问题。

技术实现思路

[0007]有鉴于此,本专利技术提供了一种用于数据库拆分的数据迁移方法、装置、介质及设备,主要目的在于解决目前数据库拆分进行数据迁移时稳定性差及存在新旧数据库访问错误的问题。
[0008]根据本申请的一个方面,提供了一种用于数据库拆分的数据迁移方法,该方法包括:
[0009]将待改造点的处理请求修改为对接过渡用户,以获取源数据库目标数据表中的目标数据,其中,所述过渡用户具有读写所述源数据库目标数据表的权限,所述待改造点为业务系统中与所述目标数据表匹配的处理节点;
[0010]基于当前时刻确定迁移数据划分时间,并获取所述目标数据表中在所述迁移数据划分时间之前的第一迁移数据,将所述第一迁移数据迁移至目标数据库的数据表中;
[0011]关闭所述过渡用户对所述源数据库目标数据表的写权限,并获取所述目标数据表中在所述迁移数据划分时间之后的第二迁移数据,将所述第二迁移数据迁移至所述目标数据库的数据表中;
[0012]将所述待改造点的处理请求修改为对接新用户,其中,所述新用户具有读写所述目标数据库中数据表的权限。
[0013]可选地,所述第一迁移数据包括存量数据、第一增量数据和第一全量更新数据,所述基于当前时刻确定迁移数据划分时间,并获取所述目标数据表中在所述迁移数据划分时间之前的第一迁移数据,将所述第一迁移数据迁移至目标数据库的数据表中,包括:
[0014]获取当前时刻之前存入所述目标数据表中的数据,作为存量数据;
[0015]从所述目标数据表中读取所述存量数据,并将读取的存量数据写入所述目标数据库的数据表中;
[0016]在所述当前时刻之后,每间隔一个第一预设时段,分别获取所述第一预设时段内新创建并存入所述目标数据表中的数据和所述目标数据表中已存数据的更新数据,作为所述第一预设时段内的第一增量数据和第一全量更新数据;
[0017]从所述目标数据表中读取所述第一预设时段内生成的第一增量数据和第一全量更新数据,并将读取的第一增量数据和第一全量更新数据写入所述目标数据库的数据表中。
[0018]可选地,所述从所述目标数据表中读取所述存量数据,并将读取的存量数据写入所述目标数据库的数据表中,包括:
[0019]获取所述存量数据的时间信息,根据所述时间信息,创建时间索引;
[0020]根据所述时间索引将所述存量数据划分为多组数据;
[0021]针对每组数据,按时间的先后顺序,从所述目标数据中读取所述组的数据,并将读取的所述组的数据写入所述目标数据库的数据表中。
[0022]可选地,所述第二迁移数据包括第二增量数据和第二全量更新数据,所述获取所述目标数据表中在所述迁移数据划分时间之后的第二迁移数据,将所述第二迁移数据迁移至所述目标数据库的数据表中,包括:
[0023]分别获取最后一个第一预设时段之后与关闭所述过渡用户对所述源数据库目标数据表的写权限时刻之前新创建并存入所述目标数据表中的数据和目标数据表中已存数据的更新数据,作为所述第二增量数据和第二全量更新数据;
[0024]从所述目标数据表中分别读取所述第二增量数据和第二全量更新数据,并将读取的第二增量数据和第二全量更新数据写入所述目标数据库的数据表中。
[0025]可选地,所述将待改造点的处理请求修改为对接过渡用户之前,还包括:
[0026]根据迁移的业务系统,确定源数据库中的目标数据表;
[0027]在全部业务系统中获取与所述目标数据表匹配的处理节点,将一个处理节点作为一个待改造点。
[0028]可选地,所述将待改造点的处理请求修改为对接过渡用户之后,还包括:
[0029]打开所述过渡用户读对所述源数据库目标数据表的读写权限:
[0030]采用监控平台监测全部待改造点的处理请求是否均对接过渡用户;
[0031]若是,则关闭原用户对源数据库目标数据表的读写权限,在第二预设时段内若全部业务系统的处理节点的处理请求均获得匹配处理,则验证不存在遗漏的待改造点。
[0032]可选地,验证不存在遗漏的待改造点且存量数据迁移完后,关闭所述过渡用户对所述源数据库目标数据表的写权限。
[0033]根据本申请的另一个方面,提供了一种用于数据库拆分的数据迁移装置,包括:
[0034]过渡用户对接模块,将待改造点的处理请求修改为对接过渡用户,以获取源数据库目标数据表中的目标数据,其中,所述过渡用户具有读写所述源数据库目标数据表的权限,所述待改造点为业务系统中与所述目标数据表匹配的处理节点;
[0035]第一迁移数据迁移模块,基于当前时刻确定迁移数据划分时间,并获取所述目标数据表中在所述迁移数据划分时间之前的第一迁移数据,将所述第一迁移数据迁移至目标数据库的数据表中;
[0036]第二迁移数据迁移模块,用于关闭所述过渡用户对所述源数据库目标数据表的写权限,并获取所述目标数据表中在所述迁移数据划分时间之后的第二迁移数据,将所述第二迁移数据迁移至所述目标数据库的数据表中;
[0037]新用户对接模块,将所述待改造点的处理请求修改为对接新用户,其中,所述新用户具有读写所述目标数据库中数据表的权限。
[0038]可选地,所述第一迁移数据包括存量数据、第一增量数据和第一全量更新数据,所述基于当前时刻确定迁移数据划分时间,并获取所述目标数据表中在所述迁移数据划分时间之前的第一迁移数据,将所述第一迁移数据迁移至目标数据库的数据表中,包括:<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于数据库拆分的数据迁移方法,其特征在于,包括:将待改造点的处理请求修改为对接过渡用户,以获取源数据库目标数据表中的目标数据,其中,所述过渡用户具有读写所述源数据库目标数据表的权限,所述待改造点为业务系统中与所述目标数据表匹配的处理节点;基于当前时刻确定迁移数据划分时间,并获取所述目标数据表中在所述迁移数据划分时间之前的第一迁移数据,将所述第一迁移数据迁移至目标数据库的数据表中;关闭所述过渡用户对所述源数据库目标数据表的写权限,并获取所述目标数据表中在所述迁移数据划分时间之后的第二迁移数据,将所述第二迁移数据迁移至所述目标数据库的数据表中;将所述待改造点的处理请求修改为对接新用户,其中,所述新用户具有读写所述目标数据库中数据表的权限。2.如权利要求1所述的用于数据库拆分的数据迁移方法,其特征在于,所述第一迁移数据包括存量数据、第一增量数据和第一全量更新数据,所述基于当前时刻确定迁移数据划分时间,并获取所述目标数据表中在所述迁移数据划分时间之前的第一迁移数据,将所述第一迁移数据迁移至目标数据库的数据表中,包括:获取当前时刻之前存入所述目标数据表中的数据,作为存量数据;从所述目标数据表中读取所述存量数据,并将读取的存量数据写入所述目标数据库的数据表中;在所述当前时刻之后,每间隔一个第一预设时段,分别获取所述第一预设时段内新创建并存入所述目标数据表中的数据和所述目标数据表中已存数据的更新数据,作为所述第一预设时段内的第一增量数据和第一全量更新数据;分别从所述目标数据表中读取所述第一预设时段内生成的第一增量数据和第一全量更新数据,并将读取的第一增量数据和第一全量更新数据写入所述目标数据库的数据表中。3.如权利要求2所述的用于数据库拆分的数据迁移方法,其特征在于,所述从所述目标数据表中读取所述存量数据,并将读取的存量数据写入所述目标数据库的数据表中,包括:获取所述存量数据的时间信息,根据所述时间信息,创建时间索引;根据所述时间索引将所述存量数据划分为多组数据;针对每组数据,按时间的先后顺序,从所述目标数据中读取所述组的数据,并将读取的所述组的数据写入所述目标数据库的数据表中。4.如权利要求3所述的用于数据库拆分的数据迁移方法,其特征在于,所述第二迁移数据包括第二增量数据和第二全量更新数据,所述获取所述目标数据表中在所述迁移数据划分时间之后的第二迁移数据,将所述第二迁移数据迁移至所述目标数据库的数据表中,包括:分别获取最后一个第一预设时段之后与关闭所述过渡用户对所述源数据库目标数据表的写权限时刻之前新创建并存入所述目标数据表中的数据和目标数据表中已存数据的更新数据...

【专利技术属性】
技术研发人员:苏剑树王健刘增
申请(专利权)人:平安付科技服务有限公司
类型:发明
国别省市:

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

1