一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

集群数据迁移方法、装置、电子设备和存储介质与流程

2022-02-20 23:55:01 来源:中国专利 TAG:


1.本公开涉及大数据技术领域,尤其涉及集群数据迁移方法、装置、电子设备和存储介质。


背景技术:

2.由于业务数据的增长以及集群扩容的限制,需要通过数据迁移的方式,将一些数据从一个数据集群迁移到另一个数据集群中,相关技术中,在进行数据迁移时,通过人力迁移的方式或者通过双消费切换集群的方式,需要业务方对数据迁移进行配合,从而影响到消费者方的业务以及生产者方的业务,且会耗费人力成本和时间成本,导致数据迁移的效率低。


技术实现要素:

3.本公开提供集群数据迁移方法、装置、电子设备和存储介质,以至少解决相关技术中数据迁移耗费人力成本和时间成本,且数据迁移的效率低的问题。本公开的技术方案如下:
4.根据本公开实施例的第一方面,提供一种集群数据迁移方法,该方法包括:
5.在源数据集群中目标数据向所述目标数据集群迁移的过程中,将所述目标数据对应的读写地址设置为所述源数据集群对应的地址信息;
6.在所述目标数据的迁移时间大于预设迁移时间的情况下,关闭所述源数据集群对应的数据写入功能,所述预设迁移时间为所述源数据集群中数据的消费延迟时间;
7.在所述目标数据被完全迁移至所述目标数据集群的情况下,将所述目标数据对应的读写地址更新为所述目标数据集群对应的地址信息。
8.作为一个可选的实施例,所述在所述目标数据被完全迁移至所述目标数据集群之前,所述方法还包括:
9.接收基于所述源数据集群中的源数据节点转发的,消费者发送的第一地址获取请求;
10.在所述目标数据的迁移状态信息为数据迁移过程中的情况下,基于所述源数据集群对应的地址信息,在所述源数据集群中,确定所述第一地址获取请求对应的待处理数据的第一节点地址信息;
11.基于所述源数据节点向所述消费者转发所述第一节点地址信息,所述第一节点地址信息用于指示所述消费者从所述第一节点地址信息对应的第一数据节点中读取所述待处理数据。
12.作为一个可选的实施例,向所述源数据集群的数据节点发送所述第一节点地址信息,并通过所述源数据节点向所述消费者转发所述第一节点地址信息之后,所述方法还包括:
13.接收基于所述第一数据节点转发的,所述消费者发送的第一进度获取请求;
14.在所述待处理数据的迁移状态信息为数据迁移过程中的情况下,从所述源数据集群中确定所述消费者对应的第一数据处理进度;
15.基于所述第一数据节点向所述消费者转发所述第一数据处理进度,所述第一数据处理进度用于指示所述消费者从所述第一数据节点存储的数据中确定所述待处理数据。
16.作为一个可选的实施例,所述在所述目标数据被完全迁移至所述目标数据集群之后,所述方法还包括:
17.接收基于所述源数据节点转发的,所述消费者发送的第二地址获取请求;
18.在所述目标数据的迁移状态信息为完成数据迁移的情况下,基于所述目标数据集群对应的地址信息,在所述目标数据集群中,确定所述第二地址获取请求对应的待处理数据的第二节点地址信息;
19.基于所述源数据节点向所述消费者转发所述第二节点地址信息,所述第二节点地址信息用于指示所述消费者和所述第二节点地址信息对应的第二数据节点建立订阅关系,并从所述第二数据节点中读取所述待处理数据。
20.作为一个可选的实施例,向所述源数据集群的数据节点发送所述第二节点地址信息,并通过所述源数据节点向所述消费者转发所述第二节点地址信息之后,所述方法还包括:
21.接收基于所述第二数据节点转发的,所述消费者发送的第二进度获取请求;
22.在所述待处理数据的迁移状态信息为完成数据迁移的情况下,从所述源数据集群中确定所述消费者对应的第二数据处理进度;
23.基于所述第二数据节点向所述消费者转发所述第二数据处理进度,所述第二数据处理进度用于指示所述消费者从所述第二数据节点存储的数据中确定所述待处理数据。
24.作为一个可选的实施例,在关闭所述源数据集群对应的数据写入功能之前,所述方法还包括:
25.接收基于源数据节点转发的,生产者发送的第三地址获取请求;
26.在所述目标数据的迁移状态信息为数据迁移过程中的情况下,基于所述源数据集群对应的地址信息,在所述目标数据集群中确定所述第三地址获取请求对应的第三节点地址信息;
27.基于所述源数据节点向所述生产者转发所述第三节点地址信息,所述第三节点地址信息用于指示所述生产者向所述第三节点地址信息对应的第三数据节点执行数据写入。
28.作为一个可选的实施例,在关闭所述源数据集群对应的数据写入功能之后,所述方法还包括:
29.接收基于源数据节点转发的,所述生产者发送的第四地址获取请求;
30.在所述目标数据的迁移状态信息为完成数据迁移的情况下,基于所述目标数据集群对应的地址信息,在所述目标数据集群中确定所述第四地址获取请求对应的第四节点地址信息;
31.基于所述源数据节点向所述生产者转发所述第四节点地址信息,所述第四节点地址信息用于指示所述生产者和所述第四节点地址信息对应的第四数据节点建立发布关系,并向所述第四数据节点执行数据写入。
32.作为一个可选的实施例,所述在所述目标数据进行迁移的时间大于预设迁移时间
的情况下,关闭所述源数据集群对应的数据写入功能包括:
33.在所述目标数据进行迁移的时间大于预设迁移时间的情况下,确定所述源数据集群和所述目标数据集群分别对应的数据处理状态;
34.确定所述目标数据集群对应的数据迁移状态;
35.在所述数据处理状态为目标处理状态,且所述数据迁移状态为目标迁移状态的情况下,关闭所述源数据集群对应的数据写入功能。根据本公开实施例的第二方面,提供一种集群数据迁移方法,所述方法包括;
36.基于已迁移数据对应的数据迁移进度,从源数据集群中的目标数据中获取当前迁移数据,所述当前迁移数据为所述数据迁移进度和所述源数据集群对应的数据写入进度间的差异数据;
37.基于所述当前迁移数据,更新所述已迁移数据和所述数据迁移进度,在所述目标数据迁移的过程中,所述目标数据对应的读写地址为所述源数据集群对应的地址信息,在所述目标数据迁移结束后,所述目标数据对应的读写地址为目标数据集群对应的地址信息。
38.根据本公开实施例的第三方面,提供一种集群数据迁移装置,所述装置包括;
39.数据地址设置模块,被配置为执行在将源数据集群中目标数据向所述目标数据集群迁移的过程中,将所述目标数据对应的读写地址设置为所述源数据集群对应的地址信息;
40.写入功能关闭模块,被配置为执行在所述目标数据进行迁移的时间大于预设迁移时间的情况下,关闭所述源数据集群对应的数据写入功能,所述预设迁移时间为所述源数据集群中数据的消费延迟时间;
41.数据地址更新模块,被配置为执行在所述目标数据被完全迁移至所述目标数据集群的情况下,将所述目标数据对应的读写地址更新为所述目标数据集群对应的地址信息。
42.作为一个可选的实施例,所述装置还包括:
43.第一地址请求接收模块,被配置为执行接收基于所述源数据集群中的源数据节点转发的,消费者发送的第一地址获取请求;
44.第一节点地址确定模块,被配置为执行在所述目标数据的迁移状态信息为数据迁移过程中的情况下,基于所述源数据集群对应的地址信息,在所述源数据集群中,确定所述第一地址获取请求对应的待处理数据的第一节点地址信息;
45.第一节点地址信息发送模块,被配置为执行基于所述源数据节点向所述消费者转发所述第一节点地址信息,所述第一节点地址信息用于指示所述消费者从所述第一节点地址信息对应的第一数据节点中读取所述待处理数据。
46.作为一个可选的实施例,所述装置还包括:
47.第一进度获取请求接收模块,被配置为执行接收基于所述第一数据节点转发的,所述消费者发送的第一进度获取请求;
48.第一数据处理进度获取模块,被配置为执行在所述待处理数据的迁移状态信息为数据迁移过程中的情况下,从所述源数据集群中确定所述消费者对应的第一数据处理进度;
49.第一数据处理进度发送模块,被配置为执行基于所述第一数据节点向所述消费者
转发所述第一数据处理进度,所述第一数据处理进度用于指示所述消费者从所述第一数据节点存储的数据中确定所述待处理数据。
50.作为一个可选的实施例,所述装置还包括:
51.第二地址请求接收模块,被配置为执行接收基于所述源数据节点转发的,所述消费者发送的第二地址获取请求;
52.第二节点地址确定模块,被配置为执行在所述目标数据的迁移状态信息为完成数据迁移的情况下,基于所述目标数据集群对应的地址信息,在所述目标数据集群中,确定所述第二地址获取请求对应的待处理数据的第二节点地址信息;
53.第二节点地址信息发送模块,被配置为执行基于所述源数据节点向所述消费者转发所述第二节点地址信息,所述第二节点地址信息用于指示所述消费者和所述第二节点地址信息对应的第二数据节点建立订阅关系,并从所述第二数据节点中读取所述待处理数据。
54.作为一个可选的实施例,所述装置还包括:
55.第二进度获取请求接收模块,被配置为执行接收基于所述第二数据节点转发的,所述消费者发送的第二进度获取请求;
56.第二数据处理进度获取模块,被配置为执行在所述待处理数据的迁移状态信息为完成数据迁移的情况下,从所述源数据集群中确定所述消费者对应的第二数据处理进度;
57.第二数据处理进度发送模块,被配置为执行基于所述第二数据节点向所述消费者转发所述第二数据处理进度,所述第二数据处理进度用于指示所述消费者从所述第二数据节点存储的数据中确定所述待处理数据。
58.作为一个可选的实施例,所述装置还包括:
59.第三地址请求接收模块,被配置为执行接收基于源数据节点转发的,生产者发送的第三地址获取请求;
60.第三节点地址确定模块,被配置为执行在所述目标数据的迁移状态信息为数据迁移过程中的情况下,基于所述源数据集群对应的地址信息,在所述目标数据集群中确定所述第三地址获取请求对应的第三节点地址信息;
61.第三节点地址信息发送模块,被配置为执行基于所述源数据节点向所述生产者转发所述第三节点地址信息,所述第三节点地址信息用于指示所述生产者向所述第三节点地址信息对应的第三数据节点执行数据写入。
62.作为一个可选的实施例,所述装置还包括:
63.第四地址请求接收模块,被配置为执行接收基于源数据节点转发的,所述生产者发送的第四地址获取请求;
64.第四节点地址确定模块,被配置为执行在所述目标数据的迁移状态信息为完成数据迁移的情况下,基于所述目标数据集群对应的地址信息,在所述目标数据集群中确定所述第四地址获取请求对应的第四节点地址信息;
65.第四节点地址信息发送模块,被配置为执行基于所述源数据节点向所述生产者转发所述第四节点地址信息,所述第四节点地址信息用于指示所述生产者和所述第四节点地址信息对应的第四数据节点建立发布关系,并向所述第四数据节点执行数据写入。
66.作为一个可选的实施例,所述写入功能关闭模块包括:
67.数据处理状态确定单元,被配置为执行在所述目标数据集群中已同步数据的数据量大于预设数据量的情况下,确定所述源数据集群和所述目标数据集群分别对应的数据处理状态;
68.数据同步状态确定单元,被配置为执行确定所述目标数据集群对应的数据同步状态;
69.写入功能关闭单元,被配置为执行在所述数据处理状态为目标处理状态,且所述数据同步状态为目标同步状态的情况下,关闭所述源数据集群对应的数据写入功能。
70.根据本公开实施例的第四方面,提供一种集群数据迁移装置,所述装置包括;
71.当前迁移数据确定模块,被配置为执行基于已迁移数据对应的数据迁移进度,从源数据集群中的目标数据中获取当前迁移数据,所述当前迁移数据为所述数据迁移进度和所述源数据集群对应的数据写入进度间的差异数据;
72.数据迁移模块,被配置为执行基于所述当前迁移数据,更新所述已迁移数据和所述数据迁移进度,在所述目标数据迁移的过程中,所述目标数据对应的读写地址为所述源数据集群对应的地址信息,在所述目标数据迁移结束后,所述目标数据对应的读写地址为目标数据集群对应的地址信息。
73.根据本公开实施例的第五方面,提供一种集群数据迁移系统,所述系统包括:
74.所述系统包括:服务器集群、源数据集群和目标数据集群;
75.所述服务器集群包括多个服务器和控制服务器,所述控制服务器与所述多个服务器中的每个服务器电连接;
76.所述服务器集群基于所述控制服务器与所述源数据集群电连接,所述服务器集群基于所述控制服务器与所述目标数据集群电连接;
77.所述目标数据集群被配置为执行响应于数据迁移指令,从所述源数据集群中获取目标数据;
78.所述控制服务器被配置为执行在将源数据集群中目标数据向所述目标数据集群迁移的过程中,将所述目标数据对应的读写地址设置为所述源数据集群对应的地址信息;
79.所述控制服务器被配置为执行在所述目标数据进行迁移的时间大于预设迁移时间的情况下,关闭所述源数据集群对应的数据写入功能,所述预设迁移时间为所述源数据集群中数据的消费延迟时间;
80.所述控制服务器被配置为执行在所述目标数据被完全迁移至所述目标数据集群的情况下,将所述目标数据对应的读写地址更新为所述目标数据集群对应的地址信息。
81.作为一个可选的实施例,所述系统还包括:消费者;
82.所述源数据集群包括多个源数据节点和源集群控制节点,所述源集群控制节点和所述多个源数据节点中的每个源数据节点电连接;
83.所述控制服务器包括第一地址请求接收模块、第一节点地址确定模块和第一节点地址信息发送模块,所述第一地址请求接收模块和所述第一节点地址确定模块电连接,所述第一节点地址确定模块和所述第一节点地址信息发送模块电连接;
84.所述消费者被配置为执行向所述源数据节点发送第一地址获取请求
85.所述源数据节点被配置为执行向所述源集群控制节点转发所述第一地址获取请求;
86.所述源集群控制节点被配置为执行向所述控制服务器发送所述第一地址获取请求;
87.所述第一地址请求接收模块被配置为执行接收基于所述源数据集群中的源数据节点转发的,所述消费者发送的第一地址获取请求;
88.所述第一节点地址确定模块被配置为执行在所述目标数据的迁移状态信息为数据迁移过程中的情况下,基于所述源数据集群对应的地址信息,在所述源数据集群中,确定所述第一地址获取请求对应的待处理数据的第一节点地址信息;
89.所述第一节点地址信息发送模块被配置为执行向所述源集群控制节点发送所述第一节点地址信息;
90.所述源集群控制节点被配置为执行向所述源数据节点转发所述第一节点地址信息;
91.所述源数据节点被配置为执行向所述消费者转发所述第一节点地址信息;
92.所述消费者被配置为执行从所述第一节点地址信息对应的第一数据节点中读取所述待处理数据。
93.作为一个可选的实施例,所述控制服务器还包括第一进度获取请求接收模块、第一数据处理进度获取模块和第一数据处理进度发送模块;
94.所述第一进度获取请求接收模块和所述第一数据处理进度获取模块电连接;
95.所述第一数据处理进度获取模块和所述第一数据处理进度发送模块电连接:
96.所述消费者被配置为执行向所述第一数据节点发送第一进度获取请求;
97.所述第一数据节点被配置为执行向所述源集群控制节点转发的第一进度获取请求;
98.所述源集群控制节点被配置为执行转发所述第一进度获取请求到所述控制服务器;
99.所述第一进度获取请求接收模块被配置为执行接收基于所述第一数据节点转发的,所述消费者发送的第一进度获取请求;
100.所述第一数据处理进度获取模块被配置为执行在所述待处理数据的迁移状态信息为数据迁移过程中的情况下,从所述源数据集群中确定所述消费者对应的第一数据处理进度;
101.所述第一数据处理进度发送模块被配置为执行向所述源集群控制节点发送所述第一数据处理进度;
102.所述源集群控制节点被配置为执行向所述第一数据节点发送所述第一数据处理进度;
103.所述第一数据节点被配置为执行向所述消费者转发所述第一数据处理进度;
104.所述消费者被配置为执行基于所述第一数据处理进度,从所述第一数据节点存储的数据中确定所述待处理数据。
105.作为一个可选的实施例,所述控制服务器还包括:第二地址请求接收模块、第二节点地址确定模块和第二节点地址信息发送模块;
106.所述第二地址请求接收模块和所述第二节点地址确定模块电连接;
107.所述第二节点地址确定模块和所述第二节点地址信息发送模块电连接;
108.所述目标数据集群包括多个目标数据节点和目标数据集群控制节点,所述目标数据集群控制节点和所述多个目标数据节点中的每个目标数据节点电连接;
109.所述消费者被配置为执行向所述源数据节点发送第二地址获取请求;
110.所述源数据节点被配置为执行接收所述消费者发送的第二地址获取请求,并向所述源集群控制节点转发所述第二地址获取请求;
111.所述源集群控制节点被配置为执行向所述控制服务器转发所述第二地址获取请求;
112.所述第二地址请求接收模块被配置为执行接收基于所述源数据节点转发的,所述消费者发送的第二地址获取请求;
113.所述第二节点地址确定模块被配置为执行在所述待处理数据对应的数据的迁移状态信息为完成数据迁移的情况下,基于所述目标数据集群对应的地址信息,在所述目标数据集群中,确定所述第二地址获取请求对应的待处理数据的第二节点地址信息;
114.所述第二节点地址信息发送模块被配置为执行向所述源集群控制节点发送所述第二节点地址信息;
115.所述源集群控制节点被配置为执行向所述源数据节点转发所述第二节点地址信息;
116.所述源数据节点被配置为执行向所述消费者转发所述第二节点地址信息;
117.所述消费者被配置为执行和所述第二节点地址信息对应的第二数据节点建立订阅关系,并从所述第二数据节点中读取所述待处理数据。
118.作为一个可选的实施例,所述控制服务器还包括:第二进度获取请求接收模块、第二数据处理进度获取模块和第二数据处理进度发送模块;
119.所述第二进度获取请求接收模块和所述第二数据处理进度获取模块电连接;
120.所述第二数据处理进度获取模块和所述第二数据处理进度发送模块电连接;
121.所述消费者被配置为执行向所述第二数据节点发送第二进度获取请求;
122.所述第二数据节点被配置为执行向所述目标集群控制节点转发所述第二进度获取请求;
123.所述目标集群控制节点被配置为执行向控制服务器转发所述第二进度获取请求;
124.所述第二进度获取请求接收模块被配置为执行接收基于所述第二数据节点转发的,所述消费者发送的第二进度获取请求;
125.所述第二数据处理进度获取模块被配置为执行在所述待处理数据的迁移状态信息为完成数据迁移的情况下,从所述源数据集群中确定所述消费者对应的第二数据处理进度;
126.所述第二数据处理进度发送模块被配置为执行向所述目标集群控制节点发送所述第二数据处理进度;
127.所述目标集群控制节点被配置为执行向所述第二数据节点转发所述第二数据处理进度;
128.所述第二数据节点被配置为执行向所述消费者转发所述第二数据处理进度;
129.所述消费者被配置为执行基于所述第二数据处理进度,从所述第二数据节点存储的数据中确定所述待处理数据。
130.作为一个可选的实施例,所述系统还包括:生产者;
131.所述控制服务器还包括:第三地址请求接收模块、第三节点地址确定模块和第三节点地址信息发送模块;
132.所述第三地址请求接收模块和所述第三节点地址确定模块电连接;
133.所述第三节点地址确定模块和所述第三节点地址信息发送模块电连接;
134.所述生产者被配置为执行向所述源数据节点发送第三地址获取请求;
135.所述源数据节点被配置为执行向所述源集群控制节点转发所述第三地址获取请求;
136.所述源集群控制节点被配置为执行向所述控制服务器转发所述第三地址获取请求;
137.所述第三地址请求接收模块被配置为执行接收基于源数据节点转发的,所述生产者发送的第三地址获取请求;
138.所述第三节点地址确定模块被配置为执行在所述目标数据的迁移状态信息为数据迁移过程中的情况下,基于所述源数据集群对应的地址信息,在所述目标数据集群中确定所述第三地址获取请求对应的第三节点地址信息;
139.所述第三节点地址信息发送模块被配置为执行向所述源集群控制节点发送所述第三节点地址信息;
140.所述源集群控制节点被配置为执行向所述源数据节点转发所述第三节点地址信息;
141.所述源数据节点被配置为执行向所述生产者转发所述第三节点地址信息;
142.所述生产者被配置为执行向所述第三节点地址信息对应的第三数据节点执行数据写入。
143.作为一个可选的实施例,所述控制服务器还包括:第四地址请求接收模块、第四节点地址确定模块和第四节点地址信息发送模块;
144.所述第四地址请求接收模块和所述第四节点地址确定模块电连接;
145.所述第四节点地址确定模块和所述第四节点地址信息发送模块电连接;
146.所述生产者被配置为执行向所述源数据节点发送第四地址获取请求;
147.所述源数据节点被配置为执行向所述源集群控制节点转发所述第四地址获取请求;
148.所述源集群控制节点被配置为执行向所述控制服务器转发所述第四地址获取请求;
149.所述第四地址请求接收模块被配置为执行接收基于源数据节点转发的,所述生产者发送的第四地址获取请求;
150.所述第四节点地址确定模块被配置为执行在所述目标数据的迁移状态信息为完成数据迁移的情况下,基于所述目标数据集群对应的地址信息,在所述目标数据集群中确定所述第四地址获取请求对应的第四节点地址信息;
151.所述第四节点地址信息发送模块被配置为执行向所述源数据控制节点发送所述第四节点地址信息;
152.所述源数据控制节点被配置为执行向所述源数据节点转发所述第四节点地址信
息;
153.所述源数据节点被配置为执行向所述生产者转发所述第四节点地址信息;
154.所述生产这被配置为执行和所述第四节点地址信息对应的第四数据节点建立发布关系,并向所述第四数据节点执行数据写入。
155.作为一个可选的实施例,所述系统还包括:
156.所述目标数据集群被配置为执行基于数据迁移进度,从所述目标数据中获取当前迁移数据,所述当前迁移数据为所述目标数据集群中的数据迁移进度和所述源数据集群中数据对应的数据写入进度间的差异数据。
157.作为一个可选的实施例,所述控制服务器还包括:写入功能关闭模块,所述写入功能关闭模块包括:数据处理状态确定单元、数据同步状态确定单元和写入功能关闭单元;
158.所述数据处理状态确定单元和数据同步状态确定单元电连接;
159.所述数据同步状态确定单元和所述写入功能关闭单元电连接;
160.所述数据处理状态确定单元,被配置为执行在所述目标数据进行迁移的时间大于预设迁移时间的情况下,确定所述源数据集群和所述目标数据集群分别对应的数据处理状态;
161.所述数据同步状态确定单元,被配置为执行确定所述目标数据集群对应的数据迁移状态;
162.写入功能关闭单元,被配置为执行在所述数据处理状态为目标处理状态,且所述数据迁移状态为目标迁移状态的情况下,关闭所述源数据集群对应的数据写入功能。
163.作为一个可选的实施例,所述目标数据集群被配置为执行响应于数据迁移指令,从所述源数据集群中获取目标数据包括:
164.所述目标数据集群被配置为执行响应于数据迁移指令,基于数据迁移进度,从所述目标数据中确定当前迁移数据,所述当前迁移数据为所述目标数据集群中的数据迁移进度和所述源数据集群中数据对应的数据写入进度间的差异数据;
165.所述目标数据集群被配置为执行将所述当前迁移数据从所述源数据集群中迁移到所述目标数据集群中。
166.根据本公开实施例的第六方面,提供一种电子设备,包括:
167.处理器;
168.用于存储所述处理器可执行指令的存储器;
169.其中,所述处理器被配置为执行所述指令,以实现上述所述的集群数据迁移方法。
170.根据本公开实施例的第七方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上述所述的集群数据迁移方法。
171.根据本公开实施例的第八方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述所述的集群数据迁移方法。
172.本公开的实施例提供的技术方案至少带来以下有益效果:
173.在将目标数据从源数据集群迁移到目标数据集群的过程中,设置目标数据的读写地址为源数据集群对应的数据地址,在数据迁移完成后,更新目标数据的读写地址为目标数据集群对应的数据地址,从而指示生产者和消费者在数据迁移过程中以及数据迁移完成
之后,写入数据或读取数据的位置。该方法可以在执行数据迁移的过程中,使得消费者和生产者在执行各自的业务的过程中对数据迁移业务无感,从而无需业务方配合进行数据迁移,降低了人力成本并提高了数据迁移的效率,可以完成数据在各个集群间的无缝迁移。
174.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
175.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
176.图1是根据一示例性实施例示出的一种集群数据迁移方法的应用场景示意图;
177.图2是根据一示例性实施例示出的一种集群数据迁移方法的流程图。
178.图3是根据一示例性实施例示出的一种集群数据迁移方法中在迁移完目标数据之前消费者请求地址的流程图。
179.图4是根据一示例性实施例示出的一种集群数据迁移方法中消费者或生产者请求读写地址时的交互示意图。
180.图5是根据一示例性实施例示出的一种集群数据迁移方法中消费者请求第一数据处理进度的流程图。
181.图6是根据一示例性实施例示出的一种集群数据迁移方法中消费者请求数据处理进度时的交互示意图。
182.图7是根据一示例性实施例示出的一种集群数据迁移方法中关闭源数据集群对应的数据写入功能的流程图。
183.图8是根据一示例性实施例示出的一种集群数据迁移方法中在迁移完目标数据之后消费者请求读写地址的流程图。
184.图9是根据一示例性实施例示出的一种集群数据迁移方法中消费者请求第一数据处理进度的流程图。
185.图10是根据一示例性实施例示出的一种集群数据迁移方法中在关闭源数据集群对应的数据写入功能之前消费者请求读写地址的流程图。
186.图11是根据一示例性实施例示出的一种集群数据迁移方法中在关闭源数据集群对应的数据写入功能之后消费者请求读写地址的流程图。
187.图12是根据一示例性实施例示出的一种集群数据迁移方法中进行数据迁移的示意图。
188.图13是根据一示例性实施例示出的一种集群数据迁移方法中目标数据集群、控制服务器和源数据集群的交互流程图。
189.图14是根据一示例性实施例示出的一种集群数据迁移方法中集群的联邦框架的示意图。
190.图15是根据一示例性实施例示出的一种集群数据迁移装置的在控制服务器侧的框图。
191.图16是根据一示例性实施例示出的一种集群数据迁移装置在目标数据集群侧的框图。
192.图17是根据一示例性实施例示出的一种集群数据迁移系统的框图。
193.图18是根据一示例性实施例示出的一种服务器侧电子设备的框图。
具体实施方式
194.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
195.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
196.图1是根据一示例性实施例示出的一种集群数据迁移方法的应用场景示意图,该应用场景包括消费者110、生产者120、源数据集群130、目标数据集群140和服务器150。服务器150将目标数据从源数据集群130中迁移到目标数据集群140中,并将目标数据对应的读写地址设置为源数据集群对应的地址信息。基于源数据集群对应的地址信息,生产者120向源数据集群130写入数据,消费者110在源数据集群130中读取数据。服务器150将目标数据迁移完成后,将目标数据对应的读写地址更新为目标数据集群对应的地址信息。基于目标数据集群对应的地址信息,生产者120向目标数据集群130写入数据,消费者110在目标数据集群130中读取数据。
197.在本公开实施例中,客户端110包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。本技术实施例中实体设备上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、unix、windows等。客户端110包括消费者110和生产者120,消费者110在源数据集群130或目标数据集群140中读取数据,生产者向源数据集群130或目标数据集群140写入数据。
198.在本公开实施例中,服务器150可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。服务器150可以包括有网络通信单元、处理器和存储器等等。具体的,服务器150可以用于确定目标数据的读写地址和确定数据处理进度。
199.图2是根据一示例性实施例示出的一种集群数据迁移方法的流程图,如图2所示,该方法应用于服务器中,该方法应用的服务器可以为服务器集群,在服务器集群中可以由控制服务器来执行该方法。该方法包括以下步骤。
200.s210.在源数据集群中目标数据向目标数据集群迁移的过程中,将目标数据对应的读写地址设置为源数据集群对应的地址信息;
201.作为一个可选的实施例,目标数据包括源数据集群的历史写入数据和生产者在数据迁移过程中写入源数据集群的数据。在将目标数据从源数据集群中迁移到目标数据集群中的情况下,将目标数据对应的读写地址设置为源数据集群对应的地址信息。在目标数据对应的读写地址为源数据集群对应的地址信息时,表示在目标数据迁移的过程中,目标数据仍然存储在源数据集群中,消费者需要从源数据集群中读取该目标数据,同时,生产者也
需要从源数据集群中写入该目标数据。
202.作为一个可选的实施例,在进行数据迁移时,可以将目标数据对应的数据主题标识为迁移状态,则该数据主题对应的目标数据为迁移中或迁移完成的数据,即可以得到目标数据对应的迁移状态信息,源数据节点、生产者和消费者不能根据迁移状态信息,确定目标数据在迁移中还是已经迁移完成,只能通过服务器根据迁移状态信息,获取目标数据对应的读写地址,从而确定目标数据当前在源数据集群中还是在目标数据集群中,即判断目标数据在迁移中还是已经迁移完成。
203.作为一个可选的实施例,请参见图3,在目标数据被完全迁移至目标数据集群之前,该方法还包括:
204.s310.接收基于源数据集群中的源数据节点转发的,消费者发送的第一地址获取请求;
205.s320.在目标数据的迁移状态信息为数据迁移过程中的情况下,基于源数据集群对应的地址信息,在源数据集群中,确定第一地址获取请求对应的待处理数据的第一节点地址信息;
206.s330.基于源数据节点向消费者转发第一节点地址信息,第一节点地址信息用于指示消费者从第一节点地址信息对应的第一数据节点中读取待处理数据。
207.作为一个可选的实施例,在目标数据被完全迁移至目标数据集群之前,服务器接收基于源数据集群中的源数据节点转发的第一地址获取请求,该第一地址获取请求为消费者发送到源数据节点中的。在关闭源数据集群对应的数据写入功能之前的时间段中,或在关闭源数据集群对应的数据写入功能之后到数据迁移完成的时间段中,目标数据处于迁移状态,目标数据集群持续进行数据迁移,因此这两个时间段为在目标数据被完全迁移至目标数据集群之前的时间段,此时,消费者请求读取的待处理数据为设置有迁移状态信息的目标数据中的数据,消费者和源数据节点不能确定待处理数据位于源数据集群还是目标数据集群中,服务器则可以通过目标数据对应的读写地址,确定目标数据位于源数据集群还是目标数据集群中,因此由源数据节点将第一地址获取请求转发到服务器中。
208.在目标数据的迁移状态信息为数据迁移过程中的情况下,目标数据对应的读写地址为源数据集群对应的地址信息,指示目标数据存储在源数据集群中,则服务器可以基于源数据集群对应的地址信息,在源数据集群中,确定第一地址获取请求对应的待处理数据的第一节点地址信息。服务器将第一节点地址信息发送到源数据节点,由源数据节点转发到消费者中,消费者则可以从第一节点地址信息对应的第一数据节点中读取待处理数据。由于第一数据节点位于源数据集群中,消费者与第一数据节点对应的源分区间具有订阅关系,因此消费者可以直接从第一数据节点中获取待处理数据,并对待处理数据进行处理。
209.作为一个可选的实施例,在消费者、源数据节点和服务器三端交互时,在源数据集群中的数据正在进行数据迁移的情况下,请参见图4,如图4所示,消费者将第一地址获取请求发送到源数据集群的源数据节点中,源数据节点识别到该第一地址获取请求对应的待处理数据为设置有迁移状态信息的数据,则将第一地址获取请求转发到服务器中,服务器确定目标数据对应的读写地址为源数据集群对应的地址信息。服务器基于源数据集群对应的地址信息,确定目标数据对应的第一节点地址信息,并将第一节点地址信息发送到源数据节点中,源数据节点将该第一节点地址信息转发到消费者中,使得消费者基于该第一节点
地址信息,访问对应的第一数据节点进行数据读取。
210.作为一个可选的实施例,源数据节点和服务器交互时,可以通过源数据集群中的源集群控制节点和服务器集群中的控制服务器进行交互,即源数据节点将第一地址获取请求转发到源集群控制节点中,源集群控制节点将第一地址获取请求转发到控制服务器中。控制服务器将第一节点地址信息发送到源集群控制节点中,源集群控制节点将第一节点地址信息转发到源数据节点中,源数据节点将第一节点地址信息转发到消费者中。
211.在目标数据被完全迁移至目标数据集群之前,消费者在读取标识有迁移状态信息的数据时,可以经过源数据节点转发第一地址获取请求到服务器中,由服务器确定此时数据存储在源数据集群中,使得在数据迁移的过程中,消费者能够获得正确的地址信息,从而正常进行数据读取,使得数据迁移对消费者方的业务无感,从而提高了数据迁移过程中消费者业务的稳定性和持续性。
212.作为一个可选的实施例,请参见图5,向源数据集群的数据节点发送第一节点地址信息,并通过源数据节点向消费者转发第一节点地址信息之后,该方法还包括:
213.s510.接收基于第一数据节点转发的,消费者发送的第一进度获取请求;
214.s520.在待处理数据的迁移状态信息为数据迁移过程中的情况下,从源数据集群中确定消费者对应的第一数据处理进度;
215.s530.基于第一数据节点向消费者转发第一数据处理进度,第一数据处理进度用于指示消费者从第一数据节点存储的数据中确定待处理数据。
216.作为一个可选的实施例,在消费者接收到第一节点地址信息之后,服务器接收到基于第一数据节点转发的第一进度获取请求,该第一进度获取请求为消费者发送的,用于获取待处理数据对应的目标数据处理进度。第一数据节点即为第一节点地址信息对应的数据节点。消费者与源数据集群中的数据节点对应的源分区间具有订阅关系,在待处理数据的迁移状态信息为数据迁移过程中的情况下,消费者仍然是从源数据集群中读取待处理数据,服务器可以从源数据集群中消费者订阅的数据节点处确定消费者对应的第一数据处理进度,并基于第一数据节点向消费者转发第一数据处理进度,消费者可以基于第一数据处理进度,从第一数据节点存储的数据中获取待处理数据,对待处理数据进行处理。
217.作为一个可选的实施例,由于每个消费者与源数据集群中的数据节点具有订阅关系,则消费者与源数据集群间具有对应关系,每个源数据集群可以对应至少一个消费者。消费者从订阅的数据节点上获取数据并进行数据处理时,该数据节点会记录消费者的数据处理进度,因此数据处理进度存储在源数据集群中。在服务器接收到消费者对应的第一进度获取请求时,服务器从数据库中获取预设映射信息,该预设映射信息为消费者和源数据集群间的对应关系,从而确定与消费者对应的目标源数据集群,服务器从目标源数据集群中与消费者具有订阅关系的数据节点上获取第一数据处理进度。
218.作为一个可选的实施例,在消费者、第一数据节点和服务器三端交互时,请参见图6,如图6所示,消费者接收到第一节点地址信息之后,向第一节点地址信息对应的第一数据节点发送第一进度获取请求,第一数据节点转发第一进度获取请求到服务器中,服务器则在数据库中获取消费者和源数据集群间的对应关系,确定与消费者对应的目标源数据集群,服务器从该目标源数据集群中获取第一数据处理进度,并向第一数据节点发送第一数据处理进度,第一数据节点将第一数据处理进度转发到消费者中。若服务器在预设映射信
息中无法确定与消费者对应的目标源数据集群,则可以根据预设的集群查询方式,查询消费者对应的目标源数据集群,并建立消费者和查询到的目标源数据集群间的对应关系,基于该对应关系,更新预设映射信息。
219.作为一个可选的实施例,第一数据节点和服务器交互时,可以通过源数据集群中的源集群控制节点和服务器集群中的控制服务器进行交互,即第一数据节点将第一进度获取请求转发到源集群控制节点中,源集群控制节点将第一进度获取请求转发到控制服务器中。控制服务器将第一数据处理进度发送到源集群控制节点中,源集群控制节点将第一数据处理进度转发到第一数据节点中,第一数据节点将第一数据处理进度转发到消费者中。
220.消费者在获取数据处理进度时,无论此时为数据迁移过程中还是数据迁移完成后,该数据处理进度存储在源数据集群中,由服务器获取后转发给消费者,在数据迁移过程中,消费者基于该数据处理进度在源数据集群中进行消费,从而可以保证数据处理进度不丢失,避免消费者发生重复消费、漏消费等问题,提高了数据迁移前后,消费者的数据处理进度的连续性。
221.s220.在目标数据的迁移时间大于预设迁移时间的情况下,关闭源数据集群对应的数据写入功能,预设迁移时间为源数据集群中数据的消费延迟时间;
222.作为一个可选的实施例,源数据集群中存在至少一个消费者在读取数据,至少一个消费者对应不同的消费延迟时间,目标数据集群需要从不同的消费延迟时间中确定目标延迟时间作为预设迁移时间,该目标延迟时间可以为不同的消费延迟时间中的最大值。例如,在源数据集群中存在消费者a、消费者b和消费者c,其中消费者a的消费延迟时间为4个小时,消费者b的消费延迟时间为1个小时,消费者c的消费延迟时间为5个小时,则目标数据集群中至少要同步5个小时的数据,若目标数据集群只同步1个小时的数据,就开始执行后续步骤,那么对于消费者c而言中间会无法读取延迟的4个小时的数据,因此,需要至少同步5个小时的数据。
223.作为一个可选的实施例,关闭源数据集群对应的数据写入功能,使得源数据集群中不再有新增数据,在后续步骤中,将源数据集群和目标数据集群间的相差的数据迁移到目标数据集群中,完成数据迁移。
224.作为一个可选的实施例,请参见图7,在目标数据进行迁移的时间大于预设迁移时间的情况下,关闭源数据集群对应的数据写入功能包括:
225.s710.在目标数据进行迁移的时间大于预设迁移时间的情况下,确定源数据集群和目标数据集群分别对应的数据处理状态;
226.s720.确定目标数据集群对应的数据迁移状态;
227.s730.在数据处理状态为目标处理状态,且数据迁移状态为目标迁移状态的情况下,关闭源数据集群对应的数据写入功能。
228.作为一个可选的实施例,目标处理状态为源数据集群中的数据和目标数据集群中的数据处于进队状态,源数据集群中的数据和目标数据集群中的数据中没有数据发生掉队的情况。进队状态为源数据集群或目标数据集群中各个数据分区的副本在备份主分区的数据时与主分区的数据同步,掉队状态则为源数据集群或目标数据集群中各个数据分区的副本在备份主分区的数据时与主分区的数据不同步,在掉队发生时,发生掉队的副本的数据量会与主分区中的数据量存在较大的差异。目标迁移状态为将目标数据从源数据集群迁移
到目标数据集群时没有发生延迟。在满足无消费者掉队以及数据迁移无延迟的条件下,关闭源数据集群对应的数据写入功能,使得源数据集群中不再有新增数据。
229.若在数据处理状态为源数据集群中的数据掉队或目标数据集群中的数据掉队的情况下,关闭源数据集群对应的数据写入功能,会使得源数据集群中发生掉队的副本来不及备份和主分区之间相差的数据,或目标数据集群中发生掉队的副本来不及备份和主分区之间相差的数据。
230.若在将目标数据从源数据集群迁移到目标数据集群时发生延迟的情况下,关闭源数据集群对应的数据写入功能,则需要经过更长的时间,才能将目标数据中剩余的数据从源数据集群中迁移到目标数据集群中。
231.在保证集群中无数据掉队且数据迁移无延迟的情况下,关闭源数据集群对应的数据写入功能,可以避免数据丢失,且可以避免数据迁移的时间过长的问题,从而可以提高数据迁移的效率和准确性。
232.作为一个可选的实施例,在目标数据被完全迁移至目标数据集群的情况下,启动目标数据集群的数据写入功能和数据读取功能;
233.作为一个可选的实施例,在目标数据被完全迁移至目标数据集群的情况下,启动目标数据集群的数据写入功能和数据读取功能,使得消费者可以从目标数据集群中读取数据,且生产者可以向目标数据集群中写入数据。源数据集群的数据写入功能可以开启也可以保持关闭,无论源数据集群的数据写入功能开启或者关闭,生产者不再向源数据集群中写入数据。
234.s230.在目标数据被完全迁移至目标数据集群的情况下,将目标数据对应的读写地址更新为目标数据集群对应的地址信息。
235.作为一个可选的实施例,在目标数据被完全迁移至目标数据集群的情况下,将目标数据的读写地址更新为目标数据集群对应的地址信息,在目标数据对应的读写地址为目标数据集群对应的地址信息时,表示在目标数据迁移完成后,目标数据已经迁移到目标数据集群中,数据消费对应的数据读取功能和数据生产对应的数据写入功能由目标数据集群执行,消费者需要从目标数据集群中读取数据,同时,生产者也需要从目标数据集群中写入该数据。
236.作为一个可选的实施例,在目标数据被完全迁移至目标数据集群目标数据之后,请参见图8,该方法还包括:
237.s810.接收基于源数据节点转发的,消费者发送的第二地址获取请求;
238.s820.在目标数据的迁移状态信息为完成数据迁移的情况下,基于目标数据集群对应的地址信息,在目标数据集群中,确定第二地址获取请求对应的待处理数据的第二节点地址信息;
239.s830.基于源数据节点向消费者转发第二节点地址信息,第二节点地址信息用于指示消费者和第二节点地址信息对应的第二数据节点建立订阅关系,并从第二数据节点中读取待处理数据。
240.作为一个可选的实施例,在目标数据被完全迁移至目标数据集群之后,设置目标数据集群中的数据的迁移状态信息为迁移完成状态。服务器接收基于源数据集群中的源数据节点转发的第二地址获取请求,该第二地址获取请求为消费者发送到源数据节点中的。
此时,服务器可以根据待处理数据对应的迁移完成状态,确定消费者请求读取的待处理数据为已经迁移完成的数据,需要获取迁移后的数据对应的节点地址信息,因此由源数据节点将第二地址获取请求转发到服务器中。
241.在目标数据的迁移状态信息为完成数据迁移的情况下,目标数据对应的读写地址为目标数据集群对应的地址信息,指示目标数据存储在目标数据集群中,则服务器可以基于目标数据集群对应的地址信息,在目标数据集群中,确定第二地址获取请求对应的待处理数据的第二节点地址信息。服务器将第二节点地址信息发送到源数据节点,由源数据节点转发到消费者中,消费者则可以从第二节点地址信息对应的第二数据节点中读取待处理数据。由于第二数据节点位于目标数据集群中,第二数据节点对应的目标分区为目标数据主题下的数据分区,而不是源分区,消费者与第二数据节点对应的目标分区间并不具有订阅关系,因此消费者需要与第二数据节点对应的目标分区建立订阅关系,才可以从第二数据节点中获取待处理数据,并对待处理数据进行处理。
242.作为一个可选的实施例,在完成数据迁移的情况下,请参见图4,如图4所示,消费者将第二地址获取请求发送到源数据集群的源数据节点中,源数据节点将第二地址获取请求转发到服务器中,服务器确定目标数据对应的读写地址为目标数据集群对应的地址信息。服务器基于目标数据集群对应的地址信息,确定目标数据对应的第二节点地址信息,并将第二节点地址信息发送到源数据节点中,源数据节点将该第二节点地址信息转发到消费者中,使得消费者基于该第二节点地址信息,访问对应的第二数据节点进行数据读取。
243.作为一个可选的实施例,源数据节点和服务器交互时,可以通过源数据集群中的源集群控制节点和服务器集群中的控制服务器进行交互,即源数据节点将第二地址获取请求转发到源集群控制节点中,源集群控制节点将第二地址获取请求转发到控制服务器中。控制服务器将第二节点地址信息发送到源集群控制节点中,源集群控制节点将第二节点地址信息转发到源数据节点中,源数据节点将第二节点地址信息转发到消费者中。
244.作为一个可选的实施例,在每一次进行数据处理前,消费者会向源数据节点发送地址获取请求。在源数据集群中的数据未设置有迁移状态信息的情况下,源数据集群的消费者在向源数据集群中的源数据节点发送地址获取请求时,可以由源数据节点直接将对应的节点地址信息发送给消费者,无需再转发给服务器。在源数据集群中的数据设置有迁移状态信息的情况下,无论该迁移状态信息指示在数据迁移过程中还是指示完成数据迁移,源数据节点需要将接收到的地址获取请求转发给服务器。在这种情况下,接收到的地址获取请求可以包括第一地址获取请求或者第二地址获取请求。
245.在目标数据被完全迁移至目标数据集群之后,消费者在读取标识有迁移状态信息的数据时,可以经过源数据节点转发第二地址获取请求到服务器中,由服务器确定此时数据存储在目标数据集群中,使得在数据迁移完成后,消费者能够获得正确的地址信息,从而正常进行数据读取,使得数据迁移后消费者方的业务能够顺利过渡,从而提高了数据迁移后消费者业务的稳定性和持续性。
246.作为一个可选的实施例,请参见图9,向源数据集群的数据节点发送第二节点地址信息,并通过源数据节点向消费者转发第二节点地址信息之后,该方法还包括:
247.s910.接收基于第二数据节点转发的,消费者发送的第二进度获取请求;
248.s920.在待处理数据的迁移状态信息为完成数据迁移的情况下,从源数据集群中
确定消费者对应的第二数据处理进度;
249.s930.基于第二数据节点向消费者转发第二数据处理进度,第二数据处理进度用于指示消费者从第二数据节点存储的数据中确定待处理数据。
250.作为一个可选的实施例,在消费者接收到第二节点地址信息之后,服务器可以接收到基于第二数据节点转发的第二进度获取请求,该第二进度获取请求为消费者发送的,用于获取待处理数据对应的目标数据处理进度。第二数据节点即为第二节点地址信息对应的数据节点。消费者在数据迁移之前与源数据集群中的数据节点间具有订阅关系,在待处理数据的迁移状态信息为完成数据迁移的情况下,消费者是从目标数据集群中读取待处理数据,但是消费者之前是在源数据集群中读取待处理数据的,因此消费者对应的数据处理进度还保存在源数据服务器中,服务器可以从源数据集群中消费者订阅的数据节点处确定消费者对应的第二数据处理进度,并基于第二数据节点向消费者转发第二数据处理进度,消费者可以基于第二数据处理进度,从第二数据节点存储的数据中获取待处理数据,对待处理数据进行处理。也就是说,服务器从源数据集群中获取消费者对应的第二数据处理进度,消费者基于第二数据处理进度在目标数据集群中的第二数据节点中读取数据。
251.由于源数据集群中的数据不再更新,随着消费者在目标数据集群中读取数据,消费者对应的数据处理进度会逐渐增加,直到该数据处理进度对应在完成数据迁移后目标数据集群中更新的数据,此时消费者对应的数据处理进度会转移到目标数据集群中。在下一次数据迁移时,该目标数据集群即作为新的源数据集群,在下一次数据迁移完成后,服务器会从新的源数据集群中获取消费者对应的第二数据处理进度,消费者则会基于第二数据处理进度,在新的目标数据集群中的第二数据节点中读取数据。
252.作为一个可选的实施例,在消费者、源数据节点和服务器三端交互时,请参见图6,如图6所示,消费者接收到第二节点地址信息之后,向第二节点地址信息对应的第二数据节点发送第二进度获取请求,第二数据节点转发第二进度获取请求到服务器中,服务器则在数据库中获取消费者和源数据集群间的对应关系,确定与消费者对应的目标源数据集群,服务器从该目标源数据集群中获取第二数据处理进度,并向第二数据节点发送第二数据处理进度,第二数据节点将第二数据处理进度转发到消费者中。若服务器在预设映射信息中无法确定与消费者对应的目标源数据集群,则可以根据预设的集群查询方式,查询消费者对应的目标源数据集群,并建立消费者和查询到的目标源数据集群间的对应关系,基于该对应关系,更新预设映射信息。
253.作为一个可选的实施例,第二数据节点和服务器交互时,可以通过目标数据集群中的目标集群控制节点和服务器集群中的控制服务器进行交互,即第二数据节点将第二进度获取请求转发到目标集群控制节点中,目标集群控制节点将第二进度获取请求转发到控制服务器中。控制服务器将第二数据处理进度发送到目标集群控制节点中,目标集群控制节点将第二数据处理进度转发到第二数据节点中,第二数据节点将第二数据处理进度转发到消费者中。
254.消费者在获取数据处理进度时,无论此时为数据迁移过程中还是数据迁移完成后,该数据处理进度存储在源数据集群中,由服务器获取后转发给消费者,在数据迁移完成后,消费者基于该数据处理进度在目标数据集群中进行消费,从而可以保证数据处理进度不丢失,避免消费者发生重复消费、漏消费等问题,提高了数据迁移前后,消费者的数据处
理进度的连续性。
255.作为一个可选的实施例,请参见图10,在关闭源数据集群对应的数据写入功能之前,该方法还包括:
256.s1010.接收基于源数据节点转发的,生产者发送的第三地址获取请求;
257.s1020.在目标数据的迁移状态信息为数据迁移过程中的情况下,基于源数据集群对应的地址信息,在目标数据集群中确定第三地址获取请求对应的第三节点地址信息;
258.s1030.基于源数据节点向生产者转发第三节点地址信息,第三节点地址信息用于指示生产者向第三节点地址信息对应的第三数据节点执行数据写入。
259.作为一个可选的实施例,在关闭源数据集群对应的数据写入功能之前,服务器接收基于源数据集群中的源数据节点转发的第三地址获取请求,该第三地址获取请求为生产者发送到源数据节点中的。此时,由于目标数据设置有迁移状态信息,消费者和源数据节点不能确定生产者请求写入的对象为源数据集群还是目标数据集群,服务器则可以通过目标数据对应的读写地址,确定生产者请求写入的对象为源数据集群还是目标数据集群,因此由源数据节点将第三地址获取请求转发到服务器中。
260.在目标数据的迁移状态信息为数据迁移过程中的情况下,目标数据对应的读写地址为源数据集群对应的地址信息,指示目标数据存储在源数据集群中,则生产者请求写入的对象也为源数据集群,则服务器可以基于源数据集群对应的地址信息,在源数据集群中,确定第三地址获取请求对应的第三节点地址信息。服务器将第三节点地址信息发送到源数据节点,由源数据节点转发到生产者中,生产者则可以从第三节点地址信息对应的第三数据节点中读取待处理数据。由于第三数据节点位于源数据集群中,生产者与第三数据节点对应的源分区间具有发布关系,因此生产者可以直接从第三数据节点中获取待处理数据,并对待处理数据进行处理。
261.作为一个可选的实施例,在生产者、源数据节点和服务器三端交互时,在源数据集群中的数据正在进行数据迁移的情况下,请参见图4,如图4所示,生产者将第三地址获取请求发送到源数据集群的源数据节点中,源数据节点确定到源数据集群中的数据设置有迁移状态信息,因此识别到该第三地址获取请求对应的数据写入对象为正在进行数据迁移的集群,则将第三地址获取请求转发到服务器中,服务器确定目标数据的读写地址为源数据集群对应的地址信息。服务器基于源数据集群对应的地址信息,确定第三地址获取请求对应的第三节点地址信息,并将第三节点地址信息发送到源数据节点中,源数据节点将该第三节点地址信息转发到生产者中,使得生产者基于该第三节点地址信息,对对应的第三数据节点进行数据写入。
262.作为一个可选的实施例,源数据节点和服务器交互时,可以通过源数据集群中的源集群控制节点和服务器集群中的控制服务器进行交互,即源数据节点将第三地址获取请求转发到源集群控制节点中,源集群控制节点将第三地址获取请求转发到控制服务器中。控制服务器将第三节点地址信息发送到源集群控制节点中,源集群控制节点将第三节点地址信息转发到源数据节点中,源数据节点将第三节点地址信息转发到生产者中。
263.作为一个可选的实施例,在每一次进行数据写入前,生产者会向源数据节点发送地址获取请求。在源数据集群中的数据未设置有迁移状态信息的情况下,源数据集群的生产者在向源数据集群中的源数据节点发送地址获取请求时,可以由源数据节点直接将对应
的节点地址信息发送给生产者,无需再转发给服务器。在源数据集群中的数据设置有迁移状态信息的情况下,无论该迁移状态信息指示在数据迁移过程中还是指示完成数据迁移,源数据节点需要将接收到的地址获取请求转发给服务器。在这种情况下,在完成数据迁移时接收到的地址获取请求可以为第三地址获取请求或第四地址获取请求。
264.在关闭源数据集群对应的数据写入功能之前,生产者在写入的对象为进行数据迁移的集群时,可以经过源数据节点转发第三地址获取请求到服务器中,由服务器确定此时写入的对象在源数据集群中,使得在关闭源数据集群对应的数据写入功能之前,生产者能够获得正确的地址信息,从而正常进行数据写入,使得数据迁移后生产者方的业务能够顺利过渡,从而提高了数据迁移后生产者业务的稳定性和持续性。
265.作为一个可选的实施例,请参见图11,在关闭源数据集群对应的数据写入功能之后,该方法还包括:
266.s1110.接收基于源数据节点转发的,生产者发送的第四地址获取请求;
267.s1120.在目标数据的迁移状态信息为完成数据迁移的情况下,基于目标数据集群对应的地址信息,在目标数据集群中确定第四地址获取请求对应的第四节点地址信息;
268.s1130.基于源数据节点向生产者转发第四节点地址信息,第四节点地址信息用于指示生产者和第四节点地址信息对应的第四数据节点建立发布关系,并向第四数据节点执行数据写入。
269.作为一个可选的实施例,在关闭源数据集群对应的数据写入功能之后,正在源数据集群中进行数据写入的生产者会接收到预设提示指令,该预设提示指令指示源数据集群中的数据异常。生产者响应于预设提示指令,重新生成地址获取请求,该地址获取请求即为第四地址获取请求。服务器接收基于源数据集群中的源数据节点转发的第四地址获取请求,该第四地址获取请求为生产者发送到源数据节点中的。
270.在目标数据的迁移状态信息为完成数据迁移的情况下,目标数据对应的读写地址为目标数据集群对应的地址信息,指示目标数据存储在目标数据集群中,则生产者请求写入的对象也为目标数据集群,则服务器可以基于目标数据集群对应的地址信息,在目标数据集群中,确定第四地址获取请求对应的第四节点地址信息。服务器将第四节点地址信息发送到源数据节点,由源数据节点转发到生产者中,生产者则可以从第四节点地址信息对应的第四数据节点中读取待处理数据。由于第四数据节点位于目标数据集群中,生产者与第四数据节点对应的目标分区间并不具有订阅关系,因此消费者需要与第四数据节点对应的目标分区间建立发布关系,才可以对第四数据节点进行数据写入。
271.作为一个可选的实施例,在源数据集群中的数据完成数据迁移的情况下,请参见图4,如图4所示,在关闭源数据集群对应的数据写入功能之后。生产者基于预设提示指令,生成第四地址获取请求。生产者将第四地址获取请求发送到源数据集群的源数据节点中,源数据节点确定到源数据集群中的数据设置有迁移状态信息,因此识别到该第四地址获取请求对应的数据写入对象为正在进行数据迁移的集群,则将第四地址获取请求转发到服务器中,服务器确定目标数据对应读写地址为目标数据集群对应的地址信息,服务器基于目标数据集群对应的地址信息,确定第四地址获取请求对应的第四节点地址信息,并将第四节点地址信息发送到源数据节点中,源数据节点将该第四节点地址信息转发到生产者中,使得生产者基于该第四节点地址信息,对对应的第四数据节点进行数据写入。
272.作为一个可选的实施例,源数据节点和服务器交互时,可以通过源数据集群中的源集群控制节点和服务器集群中的控制服务器进行交互,即源数据节点将第四地址获取请求转发到源集群控制节点中,源集群控制节点将第四地址获取请求转发到控制服务器中。控制服务器将第四节点地址信息发送到源集群控制节点中,源集群控制节点将第四节点地址信息转发到源数据节点中,源数据节点将第四节点地址信息转发到生产者中。
273.在关闭源数据集群对应的数据写入功能之后,生产者在写入的对象为进行数据迁移的集群时,可以经过源数据节点转发第四地址获取请求到服务器中,由服务器确定此时写入的对象在目标数据集群中,使得在数据迁移完成后,生产者能够获得正确的地址信息,从而正常进行数据写入,使得数据迁移后生产者方的业务能够顺利过渡,从而提高了数据迁移后生产者业务的稳定性和持续性。
274.作为一个可选的实施例,示出了一种集群数据迁移方法,该方法应用于目标数据集群侧,该方法包括:
275.基于已迁移数据对应的数据迁移进度,从源数据集群中的目标数据中获取当前迁移数据,当前迁移数据为数据迁移进度和源数据集群对应的数据写入进度间的差异数据;
276.基于当前迁移数据,更新已迁移数据和所述数据迁移进度,在目标数据迁移的过程中,目标数据对应的读写地址为源数据集群对应的地址信息,在目标数据迁移结束后,目标数据对应的读写地址为目标数据集群对应的地址信息。
277.作为一个可选的实施例,创建目标数据集群,将目标数据从源数据集群中迁移到目标数据集群中,目标数据包括源数据集群的历史写入数据和生产者在数据迁移过程中写入源数据集群的数据。源数据集群为数据迁移前进行目标数据的生产和消费的集群,目标数据集群为数据迁移后进行目标数据的生产和消费的集群。可以基于消费队列的副本机制,将目标数据集群作为源数据集群的副本(follower),从源数据集群中获取目标数据。在数据迁移的过程中,生产者可以继续对源数据集群写入数据,直到源数据集群的数据写入功能关闭。
278.作为一个可选的实施例,由于在数据迁移的过程中,生产者还在持续对源数据集群进行数据写入,源数据集群中的目标数据对应的数据写入进度在持续增加,在每一次数据写入进度增加时,确定目标数据集群中的数据迁移进度和源数据集群中数据写入进度间的进度差值,该进度差值对应的差异数据即为当前迁移数据。
279.作为一个可选的实施例,将目标数据集群作为源数据集群的一个副本,将目标数据集群中数据的末端位移(logendoffset,leo)作为数据迁移进度,leo用于指示迁移到目标数据集群中的数据的末尾位置,将源数据集群中数据的末尾位置作为数据写入进度。确定源数据集群中与leo对应的数据进度,从而可以获取该数据进度和数据写入进度间进度差值对应的差异数据,即对比源数据集群中数据的末尾位置和目标数据集群中数据的末尾位置间相差的数据,从而可以得到当前迁移数据。由于生产者写入到源数据集群中对应的数据写入进度和数据迁移进度是对应的,在迁移完成后,生产者对目标数据集群进行数据写入时,可以从数据迁移进度对应的数据开始写入。
280.作为一个可选的实施例,在源数据集群中,目标数据与源数据主题间具有对应关系,每个源数据主题至少对应一个数据分区,目标数据存储在目标数据分区对应的数据节点上。在进行数据迁移时,可以在目标数据节点中创建与目标数据对应的源数据主题具有
相同的标识信息的目标数据主题,该目标数据主题与源数据主题同名。目标数据集群中目标数据主题对应的目标分区,从源数据集群中源数据主题对应的源分区中拉取数据。将当前迁移数据从源数据集群中迁移到目标数据集群中后,对应存储在该目标数据主题对应的目标分区中。源数据主题和目标数据主题可以为卡夫卡队列中的数据主题(topic),源分区和目标分区可以为卡夫卡队列中的数据分区(partition)。
281.作为一个可选的实施例,请参见图12,如图12所示集群b为目标数据集群,集群a为源数据集群,集群b作为集群a的一个副本,集群b的目标数据主题b对应的目标分区b1从集群a的源数据主题a对应的源分区a1中获取数据,并对应存储在目标数据主题b对应的目标分区b1中。
282.基于副本机制,将目标数据从源数据集群中迁移到目标数据集群中,可以使得目标数据集群为源数据集群的完全镜像集群,数据迁移进度和数据写入进度对应,从而避免数据迁移时数据重复或数据丢失的问题,提高了数据迁移的稳定性和一致性。
283.作为一个可选的实施例,如图13所示为目标数据集群、控制服务器和源数据集群的交互流程图,其中控制服务器属于服务器集群,该方法包括:
284.s1310.目标数据集群响应于数据迁移指令,从源数据集群中获取目标数据;
285.s1320.控制服务器在将源数据集群中目标数据向目标数据集群迁移的过程中,将目标数据对应的读写地址设置为源数据集群对应的地址信息;
286.s1330.控制服务器在目标数据进行迁移的时间大于预设迁移时间的情况下,关闭源数据集群对应的数据写入功能,预设迁移时间为源数据集群中数据的消费延迟时间;
287.s1340.控制服务器在目标数据被完全迁移至目标数据集群的情况下,将目标数据对应的读写地址更新为目标数据集群对应的地址信息。
288.作为一个可选的实施例,服务器可以为联邦架构(federation)对应的服务端,联邦架构中包括多个数据集群和服务集群,该服务集群中包括数据迁移服务、元数据服务和全局调度服务。在执行数据迁移的过程中,在联邦架构中创建目标数据集群,并将存储有待迁移的目标数据的数据集群作为源数据集群,将目标数据对应的目标数据主题标识为迁移状态,得到目标数据对应的迁移状态信息。
289.服务集群中的控制服务器将目标数据从源数据集群迁移到目标数据集群中,并将目标数据的读写地址设置为源数据集群对应的地址信息。源数据集群对应的数据地址可以存储在元数据服务中。在目标数据集群中已迁移数据的数据量大于预设数据量的情况下,关闭源数据集群对应的数据写入功能,等待目标数据集群和源数据集群间的数据迁移完成。在数据迁移完成后,启动目标数据集群的数据写入功能和数据读取功能,并将目标数据的读写地址更新为目标数据集群对应的地址信息。目标数据集群对应的地址信息可以存储在元数据服务中。在数据迁移完成后,服务集群中的控制服务器还可以更新目标数据对应的迁移状态信息为迁移完成状态。
290.在目标数据被完全迁移至目标数据集群之前,以及在目标数据被完全迁移至目标数据集群之后,在消费者读取数据时,由于读取的数据为具有迁移状态信息的数据,因此源数据节点接收到消费者发送的第一地址获取请求或第二地址获取请求时,将第一地址获取请求或第二地址获取请求转发到服务集群中的控制服务器中,由控制服务器从元数据服务中确定目标数据对应的读写地址,从而确定消费者读取数据的节点地址信息。控制服务器
将该节点地址信息经过源数据节点转发到消费者中。
291.在消费者接收到读取数据的节点地址信息时,该节点地址信息对应的数据节点发送第一进度获取请求或第二进度获取请求,该对应的数据节点将第一进度获取请求或第二进度获取请求转发到服务集群中的控制服务器中,由控制服务器启动全局调度服务,由全局调度服务从数据库中确定具有第一数据处理进度的源数据集群或具有第二数据处理进度的源数据集群,得到第一数据处理进度或第二数据处理进度。控制服务器将该第一数据处理进度或第二数据处理进度,经过对应的数据节点转发到消费者中。
292.在关闭源数据集群对应的数据写入功能之前,以及关闭源数据集群对应的数据写入功能之后,在生成消费者写入数据时,由于写入的对象为正在进行数据迁移的集群,因此源数据节点接收到生产者发送的第三地址获取请求或第四地址获取请求时,将第三地址获取请求或第四地址获取请求转发到服务器集群的控制服务器中,由控制服务器从元数据服务中确定目标数据对应的读写地址,从而确定生产者写入数据的节点地址信息。控制服务器将该节点地址信息经过源数据节点转发到生产者中。
293.作为一个可选的实施例,请参见图14,联邦架构中的每个数据集群包括多个数据节点和一个集群控制节点,该集群控制节点用于将各个数据节点接收到的请求转发给服务器,服务集群中也包括多个服务器和一个控制服务器,除控制服务器以外的其他服务器可以为子服务器,该控制服务器可以为元数据控制服务器,元数据控制服务器用来维护联邦架构内所有数据集群的元数据信息,元数据控制服务器可以将元数据信息同步到各个子服务器中,从而保证元数据管理的一致性。
294.本公开实施例提出了一种集群数据迁移方法,该方法包括:在将目标数据从源数据集群迁移到目标数据集群的过程中,将目标数据的读写地址设置为源数据集群对应的地址信息,在数据迁移完成后,更新目标数据的读写地址为目标数据集群对应的地址信息,从而指示生产者和消费者在数据迁移过程中以及数据迁移完成之后,写入数据或读取数据的位置。该方法可以在执行数据迁移的过程中,使得消费者和生产者在执行各自的业务的过程中对数据迁移业务无感,从而无需业务方配合进行数据迁移,由服务器执行数据迁移即可,不需要人工操作,降低了人力成本并提高了数据迁移的效率,可以完成数据在各个集群间的无缝迁移。
295.图15是根据一示例性实施例示出的一种集群数据迁移装置框图。参照图15,该装置包括;
296.数据地址设置模块1510,被配置为执行在将源数据集群中目标数据向目标数据集群迁移的过程中,将目标数据对应的读写地址设置为源数据集群对应的地址信息;
297.写入功能关闭模块1520,被配置为执行在目标数据进行迁移的时间大于预设迁移时间的情况下,关闭源数据集群对应的数据写入功能,预设迁移时间为源数据集群中数据的消费延迟时间;
298.数据地址更新模块1530,被配置为执行在目标数据被完全迁移至目标数据集群的情况下,将目标数据对应的读写地址更新为目标数据集群对应的地址信息。
299.作为一个可选的实施例,装置还包括:
300.第一地址请求接收模块,被配置为执行接收基于源数据集群中的源数据节点转发的,消费者发送的第一地址获取请求;
301.第一节点地址确定模块,被配置为执行在目标数据的迁移状态信息为数据迁移过程中的情况下,基于源数据集群对应的地址信息,在源数据集群中,确定第一地址获取请求对应的待处理数据的第一节点地址信息;
302.第一节点地址信息发送模块,被配置为执行基于源数据节点向消费者转发第一节点地址信息,第一节点地址信息用于指示消费者从第一节点地址信息对应的第一数据节点中读取待处理数据。
303.作为一个可选的实施例,装置还包括:
304.第一进度获取请求接收模块,被配置为执行接收基于第一数据节点转发的,消费者发送的第一进度获取请求;
305.第一数据处理进度获取模块,被配置为执行在待处理数据的迁移状态信息为数据迁移过程中的情况下,从源数据集群中确定消费者对应的第一数据处理进度;
306.第一数据处理进度发送模块,被配置为执行基于第一数据节点向消费者转发第一数据处理进度,第一数据处理进度用于指示消费者从第一数据节点存储的数据中确定待处理数据。
307.作为一个可选的实施例,装置还包括:
308.第二地址请求接收模块,被配置为执行接收基于源数据节点转发的,消费者发送的第二地址获取请求;
309.第二节点地址确定模块,被配置为执行在目标数据的迁移状态信息为完成数据迁移的情况下,基于目标数据集群对应的地址信息,在目标数据集群中,确定第二地址获取请求对应的待处理数据的第二节点地址信息;
310.第二节点地址信息发送模块,被配置为执行基于源数据节点向消费者转发第二节点地址信息,第二节点地址信息用于指示消费者和第二节点地址信息对应的第二数据节点建立订阅关系,并从第二数据节点中读取待处理数据。
311.作为一个可选的实施例,装置还包括:
312.第二进度获取请求接收模块,被配置为执行接收基于第二数据节点转发的,消费者发送的第二进度获取请求;
313.第二数据处理进度获取模块,被配置为执行在待处理数据的迁移状态信息为完成数据迁移的情况下,从源数据集群中确定消费者对应的第二数据处理进度;
314.第二数据处理进度发送模块,被配置为执行基于第二数据节点向消费者转发第二数据处理进度,第二数据处理进度用于指示消费者从第二数据节点存储的数据中确定待处理数据。
315.作为一个可选的实施例,装置还包括:
316.第三地址请求接收模块,被配置为执行接收基于源数据节点转发的,生产者发送的第三地址获取请求;
317.第三节点地址确定模块,被配置为执行在目标数据的迁移状态信息为数据迁移过程中的情况下,基于源数据集群对应的地址信息,在目标数据集群中确定第三地址获取请求对应的第三节点地址信息;
318.第三节点地址信息发送模块,被配置为执行基于源数据节点向生产者转发第三节点地址信息,第三节点地址信息用于指示生产者向第三节点地址信息对应的第三数据节点
执行数据写入。
319.作为一个可选的实施例,装置还包括:
320.第四地址请求接收模块,被配置为执行接收基于源数据节点转发的,生产者发送的第四地址获取请求;
321.第四节点地址确定模块,被配置为执行在目标数据的迁移状态信息为完成数据迁移的情况下,基于目标数据集群对应的地址信息,在目标数据集群中确定第四地址获取请求对应的第四节点地址信息;
322.第四节点地址信息发送模块,被配置为执行基于源数据节点向生产者转发第四节点地址信息,第四节点地址信息用于指示生产者和第四节点地址信息对应的第四数据节点建立发布关系,并向第四数据节点执行数据写入。
323.作为一个可选的实施例,写入功能关闭模块包括:
324.数据处理状态确定单元,被配置为执行在目标数据集群中已同步数据的数据量大于预设数据量的情况下,确定源数据集群和目标数据集群分别对应的数据处理状态;
325.数据同步状态确定单元,被配置为执行确定目标数据集群对应的数据同步状态;
326.写入功能关闭单元,被配置为执行在数据处理状态为目标处理状态,且数据同步状态为目标同步状态的情况下,关闭源数据集群对应的数据写入功能。
327.图16是根据一示例性实施例示出的一种集群数据迁移装置,装置包括;
328.当前迁移数据确定模块1610,被配置为执行基于已迁移数据对应的数据迁移进度,从源数据集群中的目标数据中获取当前迁移数据,当前迁移数据为数据迁移进度和源数据集群对应的数据写入进度间的差异数据;
329.数据迁移模块1620,被配置为执行基于当前迁移数据,更新已迁移数据和数据迁移进度,在目标数据迁移的过程中,目标数据对应的读写地址为源数据集群对应的地址信息,在目标数据迁移结束后,目标数据对应的读写地址为目标数据集群对应的地址信息。
330.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
331.图17是根据一示例性实施例示出的一种集群数据迁移系统框图。参照图17,该系统包括;
332.系统包括:服务器集群1710、源数据集群1720和目标数据集群1730;
333.服务器集群1710包括多个服务器和控制服务器,控制服务器与多个服务器中的每个服务器电连接;
334.服务器集群基于控制服务器与源数据集群电连接,服务器集群基于控制服务器与目标数据集群电连接;
335.目标数据集群被配置为执行响应于数据迁移指令,从源数据集群中获取目标数据;
336.控制服务器被配置为执行在将源数据集群中目标数据向目标数据集群迁移的过程中,将目标数据对应的读写地址设置为源数据集群对应的地址信息;
337.控制服务器被配置为执行在目标数据进行迁移的时间大于预设迁移时间的情况下,关闭源数据集群对应的数据写入功能,预设迁移时间为源数据集群中数据的消费延迟时间;
338.控制服务器被配置为执行在目标数据被完全迁移至目标数据集群的情况下,将目标数据对应的读写地址更新为目标数据集群对应的地址信息。
339.作为一个可选的实施例,系统还包括:消费者;
340.源数据集群包括多个源数据节点和源集群控制节点,源集群控制节点和多个源数据节点中的每个源数据节点电连接;
341.控制服务器包括第一地址请求接收模块、第一节点地址确定模块和第一节点地址信息发送模块,第一地址请求接收模块和第一节点地址确定模块电连接,第一节点地址确定模块和第一节点地址信息发送模块电连接;
342.消费者被配置为执行向源数据节点发送第一地址获取请求
343.源数据节点被配置为执行向源集群控制节点转发第一地址获取请求;
344.源集群控制节点被配置为执行向控制服务器发送第一地址获取请求;
345.第一地址请求接收模块被配置为执行接收基于源数据集群中的源数据节点转发的,消费者发送的第一地址获取请求;
346.第一节点地址确定模块被配置为执行在目标数据的迁移状态信息为数据迁移过程中的情况下,基于源数据集群对应的地址信息,在源数据集群中,确定第一地址获取请求对应的待处理数据的第一节点地址信息;
347.第一节点地址信息发送模块被配置为执行向源集群控制节点发送第一节点地址信息;
348.源集群控制节点被配置为执行向源数据节点转发第一节点地址信息;
349.源数据节点被配置为执行向消费者转发第一节点地址信息;
350.消费者被配置为执行从第一节点地址信息对应的第一数据节点中读取待处理数据。
351.作为一个可选的实施例,控制服务器还包括第一进度获取请求接收模块、第一数据处理进度获取模块和第一数据处理进度发送模块;
352.第一进度获取请求接收模块和第一数据处理进度获取模块电连接;
353.第一数据处理进度获取模块和第一数据处理进度发送模块电连接:
354.消费者被配置为执行向第一数据节点发送第一进度获取请求;
355.第一数据节点被配置为执行向源集群控制节点转发的第一进度获取请求;
356.源集群控制节点被配置为执行转发第一进度获取请求到控制服务器;
357.第一进度获取请求接收模块被配置为执行接收基于第一数据节点转发的,消费者发送的第一进度获取请求;
358.第一数据处理进度获取模块被配置为执行在待处理数据的迁移状态信息为数据迁移过程中的情况下,从源数据集群中确定消费者对应的第一数据处理进度;
359.第一数据处理进度发送模块被配置为执行向源集群控制节点发送第一数据处理进度;
360.源集群控制节点被配置为执行向第一数据节点发送第一数据处理进度;
361.第一数据节点被配置为执行向消费者转发第一数据处理进度;
362.消费者被配置为执行基于第一数据处理进度,从第一数据节点存储的数据中确定待处理数据。
363.作为一个可选的实施例,控制服务器还包括:第二地址请求接收模块、第二节点地址确定模块和第二节点地址信息发送模块;
364.第二地址请求接收模块和第二节点地址确定模块电连接;
365.第二节点地址确定模块和第二节点地址信息发送模块电连接;
366.目标数据集群包括多个目标数据节点和目标数据集群控制节点,目标数据集群控制节点和多个目标数据节点中的每个目标数据节点电连接;
367.消费者被配置为执行向源数据节点发送第二地址获取请求;
368.源数据节点被配置为执行接收消费者发送的第二地址获取请求,并向源集群控制节点转发第二地址获取请求;
369.源集群控制节点被配置为执行向控制服务器转发第二地址获取请求;
370.第二地址请求接收模块被配置为执行接收基于源数据节点转发的,消费者发送的第二地址获取请求;
371.第二节点地址确定模块被配置为执行在待处理数据对应的数据的迁移状态信息为完成数据迁移的情况下,基于目标数据集群对应的地址信息,在目标数据集群中,确定第二地址获取请求对应的待处理数据的第二节点地址信息;
372.第二节点地址信息发送模块被配置为执行向源集群控制节点发送第二节点地址信息;
373.源集群控制节点被配置为执行向源数据节点转发第二节点地址信息;
374.源数据节点被配置为执行向消费者转发第二节点地址信息;
375.消费者被配置为执行和第二节点地址信息对应的第二数据节点建立订阅关系,并从第二数据节点中读取待处理数据。
376.作为一个可选的实施例,控制服务器还包括:第二进度获取请求接收模块、第二数据处理进度获取模块和第二数据处理进度发送模块;
377.第二进度获取请求接收模块和第二数据处理进度获取模块电连接;
378.第二数据处理进度获取模块和第二数据处理进度发送模块电连接;
379.消费者被配置为执行向第二数据节点发送第二进度获取请求;
380.第二数据节点被配置为执行向目标集群控制节点转发第二进度获取请求;
381.目标集群控制节点被配置为执行向控制服务器转发第二进度获取请求;
382.第二进度获取请求接收模块被配置为执行接收基于第二数据节点转发的,消费者发送的第二进度获取请求;
383.第二数据处理进度获取模块被配置为执行在待处理数据的迁移状态信息为完成数据迁移的情况下,从源数据集群中确定消费者对应的第二数据处理进度;
384.第二数据处理进度发送模块被配置为执行向目标集群控制节点发送第二数据处理进度;
385.目标集群控制节点被配置为执行向第二数据节点转发第二数据处理进度;
386.第二数据节点被配置为执行向消费者转发第二数据处理进度;
387.消费者被配置为执行基于第二数据处理进度,从第二数据节点存储的数据中确定待处理数据。
388.作为一个可选的实施例,系统还包括:生产者;
389.控制服务器还包括:第三地址请求接收模块、第三节点地址确定模块和第三节点地址信息发送模块;
390.第三地址请求接收模块和第三节点地址确定模块电连接;
391.第三节点地址确定模块和第三节点地址信息发送模块电连接;
392.生产者被配置为执行向源数据节点发送第三地址获取请求;
393.源数据节点被配置为执行向源集群控制节点转发第三地址获取请求;
394.源集群控制节点被配置为执行向控制服务器转发第三地址获取请求;
395.第三地址请求接收模块被配置为执行接收基于源数据节点转发的,生产者发送的第三地址获取请求;
396.第三节点地址确定模块被配置为执行在目标数据的迁移状态信息为数据迁移过程中的情况下,基于源数据集群对应的地址信息,在目标数据集群中确定第三地址获取请求对应的第三节点地址信息;
397.第三节点地址信息发送模块被配置为执行向源集群控制节点发送第三节点地址信息;
398.源集群控制节点被配置为执行向源数据节点转发第三节点地址信息;
399.源数据节点被配置为执行向生产者转发第三节点地址信息;
400.生产者被配置为执行向第三节点地址信息对应的第三数据节点执行数据写入。
401.作为一个可选的实施例,控制服务器还包括:第四地址请求接收模块、第四节点地址确定模块和第四节点地址信息发送模块;
402.第四地址请求接收模块和第四节点地址确定模块电连接;
403.第四节点地址确定模块和第四节点地址信息发送模块电连接;
404.生产者被配置为执行向源数据节点发送第四地址获取请求;
405.源数据节点被配置为执行向源集群控制节点转发第四地址获取请求;
406.源集群控制节点被配置为执行向控制服务器转发第四地址获取请求;
407.第四地址请求接收模块被配置为执行接收基于源数据节点转发的,生产者发送的第四地址获取请求;
408.第四节点地址确定模块被配置为执行在目标数据的迁移状态信息为完成数据迁移的情况下,基于目标数据集群对应的地址信息,在目标数据集群中确定第四地址获取请求对应的第四节点地址信息;
409.第四节点地址信息发送模块被配置为执行向源数据控制节点发送第四节点地址信息;
410.源数据控制节点被配置为执行向源数据节点转发第四节点地址信息;
411.源数据节点被配置为执行向生产者转发第四节点地址信息;
412.生产这被配置为执行和第四节点地址信息对应的第四数据节点建立发布关系,并向第四数据节点执行数据写入。
413.作为一个可选的实施例,系统还包括:
414.目标数据集群被配置为执行基于数据迁移进度,从目标数据中获取当前迁移数据,当前迁移数据为目标数据集群中的数据迁移进度和源数据集群中数据对应的数据写入进度间的差异数据。
415.作为一个可选的实施例,控制服务器还包括:写入功能关闭模块,写入功能关闭模块包括:数据处理状态确定单元、数据同步状态确定单元和写入功能关闭单元;
416.数据处理状态确定单元和数据同步状态确定单元电连接;
417.数据同步状态确定单元和写入功能关闭单元电连接;
418.数据处理状态确定单元,被配置为执行在目标数据进行迁移的时间大于预设迁移时间的情况下,确定源数据集群和目标数据集群分别对应的数据处理状态;
419.数据同步状态确定单元,被配置为执行确定目标数据集群对应的数据迁移状态;
420.写入功能关闭单元,被配置为执行在数据处理状态为目标处理状态,且数据迁移状态为目标迁移状态的情况下,关闭源数据集群对应的数据写入功能。
421.作为一个可选的实施例,目标数据集群被配置为执行响应于数据迁移指令,从源数据集群中获取目标数据包括:
422.目标数据集群被配置为执行响应于数据迁移指令,基于数据迁移进度,从目标数据中确定当前迁移数据,当前迁移数据为目标数据集群中的数据迁移进度和源数据集群中数据对应的数据写入进度间的差异数据;
423.目标数据集群被配置为执行将当前迁移数据从源数据集群中迁移到目标数据集群中。
424.关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
425.图18是根据一示例性实施例示出的一种用于集群数据迁移的电子设备的框图,该电子设备可以是服务器,其内部结构图可以如图18所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种集群数据迁移方法。
426.本领域技术人员可以理解,图18中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
427.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1804,上述指令可由电子设备1800的处理器1820执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
428.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述的集群数据迁移方法。
429.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
430.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献