本技术涉及分布式领域,尤其涉及一种基于单元化架构的数据迁移方法、装置及电子设备。
背景技术:
1、单元化架构是指把单元作为部署的基本单位,在全站所有机房中部署数个单元,其中,任意一个单元都是一个能完成所有业务操作的自包含集合,每个单元能操作全量数据中的一部分数据,以进行业务处理。在单元化架构下,单元进行业务处理的过程中,随着时间的增长,数据越来越多或者越来越少时,需要对该单元化架构下机房中的单元数量作出调整,并进行数据迁移。
2、现有技术中,当数据增多或减少时,需新增或者减少单元数量,对现有的全部数据进行重新分片,再将数据分片和单元进行重新分配,再将数据分片对应的数据进行迁移处理。
3、但是上述方式中,对数据分片和单元进行重新分配时,整体数据迁移量增多,导致业务系统升级较慢,停业时间较长,进而增大业务系统业务处理压力。
技术实现思路
1、本技术提供一种基于单元化架构的数据迁移方法、装置及电子设备,用以解决因整体数据迁移量增多导致业务系统升级较慢的问题。
2、第一方面,本技术提供一种基于单元化架构的数据迁移方法,所述方法包括:
3、基于单元化架构,在单元进行业务处理的过程中,监测第一机房中每一所述单元的数据量和流量;其中,所述第一机房包括至少一个所述单元;所述数据量为当前时刻下每一所述单元所连接的数据库中的业务数据量;所述流量为当前时刻下每一所述单元所部署的业务系统的访问总量;
4、根据所述数据量和所述流量,将所述第一机房增加至少一个单元;
5、获取每一所述单元中的每一数据分片的序号;其中,每一所述数据分片为对所述数据库中的业务数据进行分片处理后得到的;并根据每一所述单元中的每一所述数据分片的序号,确定目标数据分片;其中,所述目标数据分片为需要进行迁移的数据分片;
6、将所述目标数据分片所对应的业务数据迁移至所述第一机房所增加的单元中。
7、一个示例中,根据所述数据量和所述流量,将所述第一机房增加至少一个单元,包括:
8、针对所述第一机房中每一所述单元,若监测到该单元的数据量大于或等于第一预设数据量,则为所述第一机房增加n个单元;其中,n为大于或者等于1的正整数;被增加了所述n个单元的第一机房中的单元总数小于或者等于第一参数所表征的数值;所述第一参数用于指示所述第一机房可包括的单元的最大数量。
9、一个示例中,根据所述数据量和所述流量,将所述第一机房增加至少一个单元,还包括:
10、若确定监测到每一所述单元的流量大于或者等于第一预设流量,则为所述第一机房增加m个单元;其中,m为大于或者等于1的正整数;被增加了所述m个单元的第一机房中的单元总数小于或者等于所述第一参数所表征的数值。
11、一个示例中,所述单元中包括至少一个数据集合,所述数据集合中包括p个数据分片,p为大于1的正整数;根据每一所述单元中的每一所述数据分片的序号,确定目标数据分片,包括:
12、针对每一所述单元,确定所述单元中的数据集合中的第p个数据分片和第p-1个数据分片,为目标数据分片;
13、或者,针对每一所述单元,确定所述单元中的数据集合中的第p个数据分片、第p-1个数据分片以及第p-2个数据分片,为目标数据分片。
14、一个示例中,所述单元中的数据分片具有优先级;所述优先级为基于数据分片的业务类型、用户信息、以及数据分片的时间信息所确定的;根据每一所述单元中的每一所述数据分片的序号,确定目标数据分片,包括:
15、针对每一所述单元,根据所述单元中的数据分片的优先级,确定优先级最高的数据分片为目标数据分片。
16、一个示例中,将所述目标数据分片所对应的数据迁移至所述第一机房所增加的单元中,包括:
17、根据所述第一机房所增加的单元数量,将所述目标数据分片平均划分至所述第一机房所增加的单元中;
18、针对每一所述目标数据分片,将该目标数据分片所对应的业务数据迁移至该目标数据分片所在单元对应的数据库中。
19、一个示例中,还包括:
20、根据所述数据量和所述流量,将所述第一机房删除至少一个单元;
21、将所述第一机房中被删除的单元所对应的所有数据分片,确定为所述目标数据分片;
22、将所述目标数据分片迁移至所述第一机房中剩余的单元中;并将每一所述数据迁移分片所对应的业务数据,迁移至每一所述目标数据分片所在单元对应的数据库中。
23、一个示例中,根据所述数据量和所述流量,将所述第一机房删除至少一个单元,包括:
24、针对所述第一机房中每一所述单元,若监测到该单元的数据量小于或者等于第二预设流量,则为所述第一机房删除k个新单元;其中,k为大于或者等于1的正整数;所述第一机房中剩余的单元的总数小于或者等于第二参数所表征的数值;所述第二参数用于指示所述第一机房可包括的单元的最小数量。
25、一个示例中,根据所述数据量和所述流量,将所述第一机房删除至少一个单元,还包括:
26、针对所述第一机房中每一所述单元,若监测到该单元的流量小于或者等于第二预设流量,则为所述第一机房删除l个新单元;其中,l为大于或者等于1的正整数;所述第一机房中剩余的单元的总数小于或者等于所述第二参数所表征的数值。
27、一个示例中,所述单元化架构还包括第二机房;其中,所述第二机房为所述第一机房的灾备机房;所述第二机房中的所有单元与所述第一机房中的所有单元一一对应;所述方法还包括:
28、基于所述单元化架构,更新所述第一机房的配置信息;并更新所述第二机房的配置信息;其中,所述配置信息包括第一信息和第二信息;所述第一信息为每一所述单元与每一所述数据分片之间的对应信息;所述第二信息为每一所述数据分片与每一所述数据库之间的对应信息。
29、第二方面,本技术提供一种基于单元化架构的数据迁移装置,所述装置包括:
30、监测单元,用于基于单元化架构,在单元进行业务处理的过程中,监测第一机房中每一所述单元的数据量和流量;其中,所述第一机房包括至少一个所述单元;所述数据量为当前时刻下每一所述单元所连接的数据库中的业务数据量;所述流量为当前时刻下每一所述单元所部署的业务系统的访问总量;
31、增加单元,用于根据所述数据量和所述流量,将所述第一机房增加至少一个单元;
32、获取单元,用于获取每一所述单元中的每一数据分片的序号;其中,每一所述数据分片为对所述数据库中的业务数据进行分片处理后得到的;
33、第一确定单元,用于根据每一所述单元中的每一所述数据分片的序号,确定目标数据分片;其中,所述目标数据分片为需要进行迁移的数据分片;
34、第一迁移单元,用于将所述目标数据分片所对应的业务数据迁移至所述第一机房所增加的单元中。
35、一个示例中,所述增加单元,包括:
36、第一增加模块,用于针对所述第一机房中每一所述单元,若监测到该单元的数据量大于或等于第一预设数据量,则为所述第一机房增加n个单元;其中,n为大于或者等于1的正整数;被增加了所述n个单元的第一机房中的单元总数小于或者等于第一参数所表征的数值;所述第一参数用于指示所述第一机房可包括的单元的最大数量。
37、一个示例中,所述增加单元,还包括:
38、第二增加模块,用于若确定监测到每一所述单元的流量大于或者等于第一预设流量,则为所述第一机房增加m个单元;其中,m为大于或者等于1的正整数;被增加了所述m个单元的第一机房中的单元总数小于或者等于所述第一参数所表征的数值。
39、一个示例中,所述单元中包括至少一个数据集合,所述数据集合中包括p个数据分片,p为大于1的正整数;所述第一确定单元,包括:
40、第一确定模块,用于针对每一所述单元,确定所述单元中的数据集合中的第p个数据分片和第p-1个数据分片,为目标数据分片;
41、第二确定模块,用于针对每一所述单元,确定所述单元中的数据集合中的第p个数据分片、第p-1个数据分片以及第p-2个数据分片,为目标数据分片。
42、一个示例中,所述单元中的数据分片具有优先级;所述优先级为基于数据分片的业务类型、用户信息、以及数据分片的时间信息所确定的;所述第一确定单元,还包括:
43、第三确定模块,用于针对每一所述单元,根据所述单元中的数据分片的优先级,确定优先级最高的数据分片为目标数据分片。
44、一个示例中,所述第一迁移单元,包括:
45、划分模块,用于根据所述第一机房所增加的单元数量,将所述目标数据分片平均划分至所述第一机房所增加的单元中;
46、迁移模块,用于针对每一所述目标数据分片,将该目标数据分片所对应的业务数据迁移至该目标数据分片所在单元对应的数据库中。
47、一个示例中,所述装置还包括:
48、删除单元,用于根据所述数据量和所述流量,将所述第一机房删除至少一个单元;
49、第二确定单元,用于将所述第一机房中被删除的单元所对应的所有数据分片,确定为所述目标数据分片;
50、第二迁移单元,用于将所述目标数据分片迁移至所述第一机房中剩余的单元中;并将每一所述数据迁移分片所对应的业务数据,迁移至每一所述目标数据分片所在单元对应的数据库中。
51、一个示例中,所述删除单元,包括:
52、第一删除模块,用于针对所述第一机房中每一所述单元,若监测到该单元的数据量小于或者等于第二预设流量,则为所述第一机房删除k个新单元;其中,k为大于或者等于1的正整数;所述第一机房中剩余的单元的总数小于或者等于第二参数所表征的数值;所述第二参数用于指示所述第一机房可包括的单元的最小数量。
53、一个示例中,所述删除单元,还包括:
54、第二删除模块,用于针对所述第一机房中每一所述单元,若监测到该单元的流量小于或者等于第二预设流量,则为所述第一机房删除l个新单元;其中,l为大于或者等于1的正整数;所述第一机房中剩余的单元的总数小于或者等于所述第二参数所表征的数值。
55、一个示例中,所述单元化架构还包括第二机房;其中,所述第二机房为所述第一机房的灾备机房;所述第二机房中的所有单元与所述第一机房中的所有单元一一对应;所述装置还包括:
56、更新单元,用于基于所述单元化架构,更新所述第一机房的配置信息;并更新所述第二机房的配置信息;其中,所述配置信息包括第一信息和第二信息;所述第一信息为每一所述单元与每一所述数据分片之间的对应信息;所述第二信息为每一所述数据分片与每一所述数据库之间的对应信息。
57、第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
58、所述存储器存储计算机执行指令;
59、所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面所述的方法。
60、第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面所述的方法。
61、第五方面,本技术提供一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序,使得电子设备执行第一方面所述的方法。
62、本技术提供的基于单元化架构的数据迁移方法、装置及电子设备,首先,在单元化架构下机房设置多个单元,针对机房中每一单元,通过实时监测每一单元对应的数据量和应用访问量,来为机房中增加新单元;然后将每一单元预先排序的数据分片中的末位数据分片划分出去,作为新的单元中的数据分片,把新单元中数据分片对应的数据进行迁移;进而,通过只迁移序号为末位的数据分片对应的数据,使得单元化架构下的整体数据迁移量减少,进而该单元化架构下减少应用系统的停业时间,提高业务处理效率。