数据迁移方法、装置、电子设备及存储介质与流程
- 国知局
- 2024-07-31 23:19:25
本发明涉及计算机,尤其涉及一种数据迁移方法、装置、电子设备及存储介质。
背景技术:
1、远程字典服务(remote dictionary server,redis)是一种高性能的键(key)-值(value)数据库,属于非关系型数据库,可以支持存储的value类型很多,包括字符串(string)、链表(list)、集合(set)和哈希(hash)等类型;并且redis在其缓存里实时存放redis数据,以便于后续灵活方便地使用。当一个redis服务器中创建多个redis实例时,若某个redis实例接收到实际业务迁移需求获取其含有的key数据较多,则可以将该redis实例中的key数据迁移至另一redis实例中。因此,如何在不同redis实例之间迁移redis数据成为当前亟需解决的关键问题。
2、相关技术中,通常根据指定key前缀类型从源redis实例中查找到含有指定key前缀类型的所有key数据,再针对查找到的不同类型key数据批量生成get语句和set语句等导入语句,每类key数据分别对应不同的导入语句;然后根据上述所有导入语句,将从源redis实例中导出的上述所有key数据逐个导入至目标redis实例中。
3、然而,由于现有不同redis实例之间迁移key数据,不仅需要区分key数据的类型,而且只有在根据不同类型的key数据生成各自对应的导入语句后,才能将一redis实例中导出的key数据逐个导入至另一redis实例中,整个迁移操作过程繁琐且费时费力,导致数据迁移效率很低。
技术实现思路
1、本发明提供一种数据迁移方法、装置、电子设备及存储介质,用以解决现有数据迁移既需要区分key数据类型、又需要批量生成导入语句才能执行数据迁移所导致的数据迁移效率很低的缺陷,既无需区分key数据类型,也无需批量生成get语句和set语句等导入语句,只需针对不同key前缀确定各自对应的至少一个待迁移key数据,即可执行不同redis实例之间的key数据迁移,不仅简化了数据迁移操作流程,也能通过批量导入导出方式大幅提高不同redis实例之间的key数据迁移效率。
2、本发明提供一种数据迁移方法,包括:
3、响应于key数据迁移指令,从redis数据库中获取多个目标key前缀;
4、确定各所述目标key前缀各自对应的至少一个待迁移key数据;
5、从所述redis数据库中的源redis实例中导出各所述待迁移key数据,再将导出的各所述待迁移key数据导入至所述redis数据库中的目标redis实例中。
6、根据本发明提供的一种数据迁移方法,所述从所述redis数据库中的源redis实例中导出各所述待迁移key数据,再将导出的各所述待迁移key数据导入至所述redis数据库中的目标redis实例中,包括:
7、获取源redis地址和目标redis地址,并从所述redis数据库中确定所述源redis地址对应的所述源redis实例以及所述目标redis地址对应的所述目标redis实例;
8、调用预先设置的备份恢复命令,将各所述待迁移key数据从所述源redis实例中导出,再将导出的各所述待迁移key数据导入至所述目标redis实例中。
9、根据本发明提供的一种数据迁移方法,所述将导出的各所述待迁移key数据导入至所述目标redis地址对应的所述目标redis实例中,包括:
10、将导出的各所述待迁移key数据的数据量与预设数据量阈值进行比较:
11、在所述数据量大于或等于所述预设数据量阈值的情况下,将导出的各所述待迁移key数据批量导入至所述目标redis实例中。
12、根据本发明提供的一种数据迁移方法,所述确定各所述目标key前缀各自对应的至少一个待迁移key数据,包括:
13、基于预先设置的scan迭代遍历命令,对各所述目标key前缀分别执行key数据生成操作,得到各所述目标key前缀各自对应的至少一个所述待迁移key数据。
14、根据本发明提供的一种数据迁移方法,所述获取多个目标key前缀,包括:
15、从所述key数据迁移指令中解析出key前缀范围,所述key前缀范围中包括所述多个目标key前缀;
16、从所述key前缀范围中获取所述多个目标key前缀。
17、根据本发明提供的一种数据迁移方法,所述获取多个目标key前缀,还包括:
18、从所述key数据迁移指令中解析服务迁移操作的次数,每次所述服务迁移操作均用于关联不同的key前缀;
19、确定各所述服务迁移操作各自关联的key前缀,并将关联到的各所述key前缀,确定为所述多个目标key前缀。
20、根据本发明提供的一种数据迁移方法,所述从所述key数据迁移指令中解析服务迁移操作的次数,包括:
21、基于用户输入的目标redis集群信息生成所述key数据迁移指令,所述目标redis集群信息基于所述服务迁移操作的次数构建;并从所述key数据迁移指令携带的所述目标redis集群信息中解析出所述服务迁移操作的次数。
22、本发明还提供一种数据迁移装置,包括:
23、获取单元,用于响应于key数据迁移指令,从redis数据库中获取多个目标key前缀;
24、确定单元,用于确定各所述目标key前缀各自对应的至少一个待迁移key数据;
25、迁移单元,用于从所述redis数据库中的源redis实例中导出各所述待迁移key数据,再将导出的各所述待迁移key数据导入至所述redis数据库中的目标redis实例中。
26、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据迁移方法。
27、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据迁移方法。
28、本发明实施例提供的数据迁移方法、装置、电子设备及存储介质,其中数据迁移方法,电子设备在响应于key数据迁移指令时,先从redis数据库中获取多个目标key前缀,再进一步确定各目标key前缀各自对应的至少一个待迁移key数据,然后从redis数据库中的源redis实例中导出各待迁移key数据,并将导出的各待迁移key数据导入至redis数据库中的目标redis实例中。这样,既无需区分key数据类型,也无需批量生成get语句和set语句等导入语句,只需针对不同key前缀确定各自对应的至少一个待迁移key数据,即可执行不同redis实例之间的key数据迁移,不仅简化了数据迁移操作流程,也能通过批量导入导出方式大幅提高不同redis实例之间的key数据迁移效率。
技术特征:1.一种数据迁移方法,其特征在于,包括:
2.根据权利要求1所述的数据迁移方法,其特征在于,所述从所述redis数据库中的源redis实例中导出各所述待迁移key数据,再将导出的各所述待迁移key数据导入至所述redis数据库中的目标redis实例中,包括:
3.根据权利要求2所述的数据迁移方法,其特征在于,所述将导出的各所述待迁移key数据导入至所述目标redis地址对应的所述目标redis实例中,包括:
4.根据权利要求1至3任一项所述的数据迁移方法,其特征在于,所述确定各所述目标key前缀各自对应的至少一个待迁移key数据,包括:
5.根据权利要求1至3任一项所述的数据迁移方法,其特征在于,所述获取多个目标key前缀,包括:
6.根据权利要求1至3任一项所述的数据迁移方法,其特征在于,所述获取多个目标key前缀,还包括:
7.根据权利要求6所述的数据迁移方法,其特征在于,所述从所述key数据迁移指令中解析服务迁移操作的次数,包括:
8.一种数据迁移装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述数据迁移方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述数据迁移方法。
技术总结本发明提供一种数据迁移方法、装置、电子设备及存储介质,包括:响应于key数据迁移指令,从redis数据库中获取多个目标key前缀;确定各目标key前缀各自对应的至少一个待迁移key数据;从redis数据库中的源redis实例中导出各待迁移key数据,再将导出的各待迁移key数据导入至redis数据库中的目标redis实例中。本发明无需区分key数据类型,无需批量生成get语句和set语句等导入语句,只需针对不同key前缀确定所有待迁移key数据,即可执行不同redis实例之间的key数据迁移,简化了数据迁移操作流程,也能通过批量导入导出方式大幅提高不同redis实例之间的key数据迁移效率。技术研发人员:于鑫受保护的技术使用者:北京声智科技有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/197009.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。