本申請涉及大數(shù)據(jù)領(lǐng)域,尤其涉及一種數(shù)據(jù)表的處理方法、裝置、設備、存儲介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、基于分布式數(shù)據(jù)庫服務,對于大數(shù)據(jù)的存儲,需要對數(shù)據(jù)表進行數(shù)據(jù)均衡處理,即對數(shù)據(jù)表進行拆分并進行分布式存儲處理。
2、現(xiàn)有技術(shù)中,基于哈希一致性算法,對待處理的數(shù)據(jù)表內(nèi)的數(shù)據(jù)進行數(shù)據(jù)重分布處理。
3、但是上述方式中,需要掃描并計算待處理的數(shù)據(jù)表內(nèi)的每一個數(shù)據(jù),過程繁雜且耗時,導致數(shù)據(jù)表處理效率降低,進而降低數(shù)據(jù)均衡效率。
技術(shù)實現(xiàn)思路
1、本申請?zhí)峁┮环N數(shù)據(jù)表的處理方法、裝置、設備、存儲介質(zhì)及程序產(chǎn)品,用以解決基于哈希一致性算法的數(shù)據(jù)重分布處理方法降低了數(shù)據(jù)均衡效率的技術(shù)問題。
2、第一方面,本申請?zhí)峁┮环N數(shù)據(jù)表的處理方法,所述方法包括:
3、獲取目標數(shù)據(jù)表的至少一個分區(qū);并確定至少一個目標分片;其中,所述分區(qū)中包括至少一個分區(qū)數(shù)據(jù)塊,所述分區(qū)數(shù)據(jù)塊用于存儲分區(qū)中的記錄數(shù)據(jù);所述目標分片用于存儲和處理目標數(shù)據(jù)表中的數(shù)據(jù);
4、根據(jù)所述分區(qū)數(shù)據(jù)塊的記錄行數(shù),對各所述分區(qū)中的分區(qū)數(shù)據(jù)塊進行排序處理,得到各所述分區(qū)對應的待分配列表;其中,所述記錄行數(shù)為分區(qū)數(shù)據(jù)塊中所存儲的記錄數(shù)據(jù)的行數(shù);
5、根據(jù)各所述目標分片的存儲信息,對各所述目標分片進行排序處理,得到分片序列;其中,所述存儲信息表征目標分片中的所述分區(qū)所占的存儲空間;
6、根據(jù)所述待分配列表和所述分片序列,生成均衡任務列表;其中,所述均衡任務列表中包括至少一個目標數(shù)據(jù)塊以及所述目標數(shù)據(jù)塊對應的目標分片;所述目標數(shù)據(jù)塊為待分配列表中待遷出的分區(qū)數(shù)據(jù)塊;
7、將所述目標數(shù)據(jù)塊分配至所述目標數(shù)據(jù)塊對應的目標分片。
8、在一種可能的實施方式中,根據(jù)所述待分配列表和所述分片序列,生成均衡任務列表,包括:
9、若確定所述分區(qū)的數(shù)據(jù)塊數(shù)大于或等于分片數(shù),則根據(jù)所述待分配列表和所述分片序列,生成所述均衡任務列表;其中,所述數(shù)據(jù)塊數(shù)為分區(qū)中各個分區(qū)數(shù)據(jù)塊的個數(shù);所述分片數(shù)為各所述目標分片的個數(shù)。
10、在一種可能的實施方式中,根據(jù)所述待分配列表和所述分片序列,生成所述均衡任務列表,包括:
11、針對所述待分配列表中的每一分區(qū)數(shù)據(jù)塊,根據(jù)所述分區(qū)數(shù)據(jù)塊所在的分區(qū)的數(shù)據(jù)塊數(shù)和所述分片數(shù),確定所述分區(qū)數(shù)據(jù)塊所在的分區(qū)對應的平均值;
12、若確定所述分區(qū)數(shù)據(jù)塊對應的數(shù)據(jù)塊數(shù)大于所述分區(qū)數(shù)據(jù)塊對應的平均值,則確定所述分區(qū)數(shù)據(jù)塊為所述目標數(shù)據(jù)塊;
13、從所述分片序列中確定所述目標數(shù)據(jù)塊對應的目標分片,并更新所述目標數(shù)據(jù)塊所在的分區(qū)的數(shù)據(jù)塊數(shù)。
14、在一種可能的實施方式中,將所述目標數(shù)據(jù)塊分配至所述目標數(shù)據(jù)塊對應的目標分片,包括:
15、若確定所述目標數(shù)據(jù)表不處于數(shù)據(jù)表變更操作狀態(tài),則關(guān)閉對所述目標數(shù)據(jù)表的數(shù)據(jù)合并處理;并對所述目標數(shù)據(jù)塊的目錄名稱進行重命名處理;
16、根據(jù)所述目標數(shù)據(jù)塊的遷出節(jié)點和遷入節(jié)點,對所述目標數(shù)據(jù)塊進行拷貝處理;其中,所述遷出節(jié)點為目標數(shù)據(jù)塊在被拷貝處理之前所在的節(jié)點;所述遷入節(jié)點為目標數(shù)據(jù)塊在被拷貝處理之后所在的節(jié)點;
17、基于所述遷入節(jié)點,對所述目標數(shù)據(jù)塊的目錄名稱進行還原處理;
18、對所述目標數(shù)據(jù)塊的文件信息和拷貝后的目標數(shù)據(jù)塊的文件信息進行校驗處理;其中,所述文件信息中包括目錄名稱和文件大小。
19、在一種可能的實施方式中,在對所述目標數(shù)據(jù)塊的目錄名稱進行還原處理之后,還包括:
20、響應于任務停止指令,停止對所述目標數(shù)據(jù)表進行數(shù)據(jù)均衡處理;
21、對各所述分區(qū)數(shù)據(jù)塊進行回退處理;
22、對所述遷入節(jié)點中拷貝后的目標數(shù)據(jù)塊進行刪除處理。
23、在一種可能的實施方式中,所述方法還包括:
24、卸載所述遷出節(jié)點中的目標數(shù)據(jù)塊對應的結(jié)構(gòu)化語言;
25、執(zhí)行所述遷出節(jié)點中的目標數(shù)據(jù)塊的目錄名稱切換命令;
26、裝載所述遷入節(jié)點中拷貝后的目標數(shù)據(jù)塊對應的結(jié)構(gòu)化語言;
27、執(zhí)行所述遷入節(jié)點中的數(shù)據(jù)表語句;或者,執(zhí)行所述遷出節(jié)點中的數(shù)據(jù)表語句;其中,所述數(shù)據(jù)表語句表征開啟對所述目標數(shù)據(jù)表的數(shù)據(jù)合并處理。
28、在一種可能的實施方式中,所述方法還包括:
29、若確定所述目標數(shù)據(jù)表的第一數(shù)據(jù)量和第二數(shù)據(jù)量一致,則基于遷出節(jié)點,刪除所述遷出節(jié)點中已卸載處理的目標數(shù)據(jù)塊;其中,所述第一數(shù)據(jù)量為目標數(shù)據(jù)表均衡處理前的表數(shù)據(jù)量;所述第二數(shù)據(jù)量為目標數(shù)據(jù)表均衡處理后的表數(shù)據(jù)量。
30、第二方面,本申請?zhí)峁┮环N數(shù)據(jù)表的處理裝置,所述裝置包括:
31、確定模塊,用于獲取目標數(shù)據(jù)表的至少一個分區(qū);并確定至少一個目標分片;其中,所述分區(qū)中包括至少一個分區(qū)數(shù)據(jù)塊,所述分區(qū)數(shù)據(jù)塊用于存儲分區(qū)中的記錄數(shù)據(jù);所述目標分片用于存儲和處理目標數(shù)據(jù)表中的數(shù)據(jù);
32、第一排序模塊,用于根據(jù)所述分區(qū)數(shù)據(jù)塊的記錄行數(shù),對各所述分區(qū)中的分區(qū)數(shù)據(jù)塊進行排序處理,得到各所述分區(qū)對應的待分配列表;其中,所述記錄行數(shù)為分區(qū)數(shù)據(jù)塊中所存儲的記錄數(shù)據(jù)的行數(shù);
33、第二排序模塊,用于根據(jù)各所述目標分片的存儲信息,對各所述目標分片進行排序處理,得到分片序列;其中,所述存儲信息表征目標分片中的所述分區(qū)所占的存儲空間;
34、生成模塊,用于根據(jù)所述待分配列表和所述分片序列,生成均衡任務列表;其中,所述均衡任務列表中包括至少一個目標數(shù)據(jù)塊以及所述目標數(shù)據(jù)塊對應的目標分片;所述目標數(shù)據(jù)塊為待分配列表中待遷出的分區(qū)數(shù)據(jù)塊;
35、分配模塊,用于將所述目標數(shù)據(jù)塊分配至所述目標數(shù)據(jù)塊對應的目標分片。
36、第三方面,本申請?zhí)峁┮环N電子設備,包括:處理器,以及與所述處理器通信連接的存儲器;
37、所述存儲器存儲計算機執(zhí)行指令;
38、所述處理器執(zhí)行所述存儲器存儲的計算機執(zhí)行指令,以實現(xiàn)第一方面所述的方法。
39、第四方面,本申請?zhí)峁┮环N計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有計算機執(zhí)行指令,所述計算機執(zhí)行指令被處理器執(zhí)行時用于實現(xiàn)第一方面所述的方法。
40、第五方面,本申請?zhí)峁┮环N計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括:計算機程序,所述計算機程序被處理器執(zhí)行時用于實現(xiàn)第一方面所述的方法。
41、本申請?zhí)峁┑臄?shù)據(jù)表的處理方法、裝置、設備、存儲介質(zhì)及程序產(chǎn)品,通過分別對目標數(shù)據(jù)表的各個分區(qū)數(shù)據(jù)塊、各個目標分片進行排序處理,得到待分配列表和分片序列,根據(jù)該待分配列表和該分片序列,生成均衡任務列表,并根據(jù)該均衡列表,即可將目標數(shù)據(jù)表的每一目標數(shù)據(jù)塊分配至該目標數(shù)據(jù)塊對應的目標分片;進而,提高數(shù)據(jù)表的數(shù)據(jù)均衡效率。
1.一種數(shù)據(jù)表的處理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述待分配列表和所述分片序列,生成均衡任務列表,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述待分配列表和所述分片序列,生成所述均衡任務列表,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述目標數(shù)據(jù)塊分配至所述目標數(shù)據(jù)塊對應的目標分片,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在對所述目標數(shù)據(jù)塊的目錄名稱進行還原處理之后,還包括:
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1-6中任一項所述的方法,其特征在于,所述方法還包括:
8.一種數(shù)據(jù)表的處理裝置,其特征在于,所述裝置包括:
9.一種電子設備,其特征在于,包括:處理器,以及與所述處理器通信連接的存儲器;
10.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)中存儲有計算機執(zhí)行指令,所述計算機執(zhí)行指令被處理器執(zhí)行時用于實現(xiàn)如權(quán)利要求1至7中任一項所述的方法。
11.一種計算機程序產(chǎn)品,其特征在于,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7中任一項所述的方法。