技术特征:
1.一种数据迁移方法,其特征在于,所述方法应用于待迁移节点,所述方法包括:接收元服务器发送的数据槽迁移命令,所述数据槽迁移命令携带待迁移数据槽的标识和目标节点的标识;将所述待迁移节点中的待迁移数据槽的数据和所述待迁移数据槽的标识按照预设格式转换为数据加载命令并发送至所述目标节点,以使所述目标节点解析所述数据加载命令并将解析得到的所述待迁移数据槽的数据加载到所述目标节点的内存中;接收所述目标节点发送的用于指示数据迁移成功或者失败的指示信息。2.根据权利要求1所述的方法,其特征在于,所述将所述待迁移节点中的待迁移数据槽的数据和所述待迁移数据槽的标识按照预设格式转换为数据加载命令并发送至所述目标节点,包括:通过所述待迁移节点的子线程,将所述待迁移节点中的待迁移数据槽的数据和所述待迁移数据槽的标识按照预设格式转换为数据加载命令并发送至所述目标节点。3.根据权利要求2所述的方法,其特征在于,所述通过所述待迁移节点的子线程,将所述待迁移节点中的待迁移数据槽的数据和所述待迁移数据槽的标识按照预设格式转换为数据加载命令并发送至所述目标节点,包括:向所述子线程发送迁移信号,并设置所述待迁移数据槽的写请求状态为不可访问状态;通过所述子线程将所述待迁移节点中的待迁移数据槽的数据和所述待迁移数据槽的标识按照预设格式转换为数据加载命令;通过所述子线程将所述数据加载命令发送至所述目标节点。4.根据权利要求3所述的方法,其特征在于,所述通过所述子线程将所述待迁移节点中的待迁移数据槽的数据和所述待迁移数据槽的标识按照预设格式转换为数据加载命令,包括:通过所述子线程从所述待迁移节点预分配第一内存,将包括所述待迁移数据槽的标识的命令前缀写入所述第一内存;通过所述子线程调用数据加载函数,遍历所述待迁移数据槽的内存区域以获取所述待迁移数据槽的数据;通过所述子线程将所述待迁移数据槽的数据和所述待迁移数据槽的数据的长度写入所述第一内存,得到包括所述命令前缀、所述待迁移数据槽的数据和所述待迁移数据槽的数据的长度的加载命令;通过所述子线程调用反转函数,对所述加载命令中的所述待迁移数据槽的数据和所述待迁移数据槽的数据的长度的位置进行置换,得到所述预设格式的所述数据加载命令,其中,所述待迁移数据槽的数据以序列化的二进制流的形式存在在所述数据加载命令中。5.根据权利要求4所述的方法,其特征在于,通过所述子线程将所述待迁移数据槽的数据和所述待迁移数据槽的数据的长度写入所述第一内存,包括:通过所述子线程若确定所述待迁移数据槽的数据的长度大于预设阈值,则将所述待迁移数据槽的数据进行压缩,得到压缩后的待迁移数据槽的数据和压缩后的待迁移数据槽的数据的长度;通过所述子线程将所述压缩后的待迁移数据槽的数据和压缩后的待迁移数据槽的数
据的长度写入所述第一内存。6.根据权利要求1
‑
5任一项所述的方法,其特征在于,所述方法还包括:若接收到所述目标节点发送的用于指示数据迁移成功的指示信息,向所述元服务器发送用于指示所述待迁移数据槽的数据迁移成功的指示信息,用于所述元服务器将所述待迁移节点中所述待迁移数据槽的状态设置为不可用状态,并将所述目标节点中所述待迁移数据槽的状态设置为可用状态。7.一种数据迁移方法,其特征在于,所述方法应用于目标节点,所述方法包括:接收待迁移节点发送的数据加载命令,所述数据加载命令为所述待迁移节点将所述待迁移节点中的待迁移数据槽的数据和所述待迁移数据槽的标识按照预设格式转换得到;解析所述数据加载命令,将解析得到的待迁移数据槽的数据加载到所述目标节点的内存中;向所述待迁移节点发送用于指示数据迁移成功或者失败的指示信息。8.根据权利要求7所述的方法,其特征在于,所述数据加载命令为所述待迁移节点通过所述待迁移节点的子线程,将所述待迁移节点中的待迁移数据槽的数据和所述待迁移数据槽的标识按照预设格式转换得到;所述接收待迁移节点发送的数据加载命令,包括:接收所述待迁移节点通过所述子线程发送的所述数据加载命令。9.根据权利要求7所述的方法,其特征在于,所述解析所述数据加载命令,将解析得到的待迁移数据槽的数据加载到所述目标节点的内存中,包括:按照所述数据加载命令的预设格式从所述数据加载命令中确定所述待迁移数据槽的数据的位置,所述待迁移数据槽的数据以序列化的二进制流的形式存在在所述数据加载命令中;对所述待迁移数据槽的数据进行反序列化,得到每条二进制流对应的键
‑
值;将所述每条二进制流对应的键
‑
值加载到所述目标节点的内存中。10.根据权利要求9所述的方法,其特征在于,所述在对所述待迁移数据槽的数据进行反序列化,得到每条二进制流对应的键
‑
值,包括:对所述待迁移数据槽的数据进行解压,得到解压后的数据;对所述解压后的数据进行反序列化,得到每条二进制流对应的键
‑
值。11.一种数据迁移装置,其特征在于,包括:接收模块,用于接收元服务器发送的数据槽迁移命令,所述数据槽迁移命令携带待迁移数据槽的标识和目标节点的标识;发送模块,用于将所述待迁移节点中的待迁移数据槽的数据和所述待迁移数据槽的标识按照预设格式转换为数据加载命令并发送至所述目标节点,以使所述目标节点解析所述数据加载命令并将解析得到的所述待迁移数据槽的数据加载到所述目标节点的内存中;所述接收模块还用于:接收所述目标节点发送的用于指示数据迁移成功或者失败的指示信息。12.一种数据迁移装置,其特征在于,包括:接收模块,用于接收待迁移节点发送的数据加载命令,所述数据加载命令为所述待迁移节点将所述待迁移节点中的待迁移数据槽的数据和所述待迁移数据槽的标识按照预设
格式转换得到;处理模块,用于解析所述数据加载命令,将解析得到的待迁移数据槽的数据加载到所述目标节点的内存中;发送模块,用于向所述待迁移节点发送用于指示数据迁移成功或者失败的指示信息。13.一种数据迁移设备,其特征在于,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1
‑
6或7
‑
10任一项所述的数据迁移方法。14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1
‑
6或7
‑
10任一项所述的数据迁移方法。
技术总结
本申请公开了一种数据迁移方法、装置、设备以及存储介质,该方法包括:接收元服务器发送的数据槽迁移命令,数据槽迁移命令携带待迁移数据槽的标识和目标节点的标识,将待迁移节点中的待迁移数据槽的数据和待迁移数据槽的标识按照预设格式转换为数据加载命令并发送至目标节点,以使目标节点解析数据加载命令并将解析得到的待迁移数据槽的数据加载到目标节点的内存中,接收目标节点发送的用于指示数据迁移成功或者失败的指示信息。从而,可缩短被迁移方和待迁移方同时阻塞的时间,缩短了无法处理用户侧的读请求和写请求的时间。法处理用户侧的读请求和写请求的时间。法处理用户侧的读请求和写请求的时间。
技术研发人员:胡东旭 赵鹏
受保护的技术使用者:重庆度小满优扬科技有限公司
技术研发日:2021.07.14
技术公布日:2021/10/19
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。