本申請涉及計算機,尤其涉及一種數(shù)據(jù)存儲方法、裝置、計算機設(shè)備和存儲介質(zhì)。
背景技術(shù):
1、在大數(shù)據(jù)的分布式作業(yè)的執(zhí)行過程中,作業(yè)被分解為多個小任務(wù),然后分發(fā)給不同的處理單元進行處理,這些小任務(wù)在執(zhí)行過程中,會將執(zhí)行結(jié)果臨時存儲在“_temporary”目錄中,當(dāng)所有小任務(wù)都執(zhí)行完成后,“_temporary”目錄會重命名(rename)為作業(yè)執(zhí)行結(jié)果對應(yīng)的目錄名稱(一般是"task_"前綴的目錄名稱)。
2、隨著存儲數(shù)據(jù)量的不斷增加,對象存儲由于性能穩(wěn)定,易于擴展,費用低廉,成為各公司優(yōu)選的存儲工具。但是與傳統(tǒng)存儲系統(tǒng)不同的是對象存儲沒有重命名(rename)的功能,而是使用拷貝+刪除(copy+delete)變相實現(xiàn)了重命名,同時對象存儲的交互使用的是http通信,利用對象存儲作為分布式作業(yè)對應(yīng)執(zhí)行結(jié)果的存儲介質(zhì)時,對象存儲會頻繁發(fā)送http請求以實現(xiàn)臨時目錄的創(chuàng)建、臨時結(jié)果的寫入、目錄重命名,導(dǎo)致小任務(wù)執(zhí)行效率比較低。
技術(shù)實現(xiàn)思路
1、本申請?zhí)峁┝艘环N數(shù)據(jù)存儲方法、裝置、計算機設(shè)備和存儲介質(zhì),以解決利用對象存儲作為分布式作業(yè)對應(yīng)執(zhí)行結(jié)果的存儲介質(zhì)產(chǎn)生大量http請求的問題。
2、第一方面,本申請?zhí)峁┝艘环N數(shù)據(jù)存儲方法,所述方法包括:
3、獲取不同分布式作業(yè)拆分后的多個拆分任務(wù);
4、在本地磁盤創(chuàng)建各個所述分布式作業(yè)對應(yīng)的臨時目錄;
5、執(zhí)行各個所述拆分任務(wù)得到對應(yīng)的任務(wù)執(zhí)行結(jié)果;
6、將各個所述任務(wù)執(zhí)行結(jié)果寫入對應(yīng)拆分任務(wù)所屬分布式作業(yè)相對應(yīng)的臨時目錄中;
7、在屬于目標(biāo)分布式作業(yè)的各個所述拆分任務(wù)執(zhí)行完成時,以所述目標(biāo)分布式作業(yè)對應(yīng)的作業(yè)名稱對所述目標(biāo)分布式作業(yè)對應(yīng)的臨時目錄進行重命名,得到所述目標(biāo)分布式作業(yè)對應(yīng)的重命名目錄,其中,所述目標(biāo)分布式作業(yè)為任意一個所述分布式作業(yè);
8、將所述目標(biāo)分布式作業(yè)對應(yīng)的重命名目錄上傳至對象存儲進行存儲。
9、第二方面,本申請?zhí)峁┝艘环N數(shù)據(jù)存儲方法,所述方法包括:
10、接收并保存不同計算節(jié)點上傳的不同分布式作業(yè)對應(yīng)的重命名目錄;
11、將同一分布式作業(yè)對應(yīng)的不同重命名目錄匯總形成作業(yè)計算結(jié)果。
12、第三方面,本申請?zhí)峁┝艘环N數(shù)據(jù)存儲裝置,所述裝置包括:
13、獲取模塊,用于獲取不同分布式作業(yè)拆分后的多個拆分任務(wù);
14、創(chuàng)建模塊,用于在本地磁盤創(chuàng)建各個所述分布式作業(yè)對應(yīng)的臨時目錄;
15、執(zhí)行模塊,用于執(zhí)行各個所述拆分任務(wù)得到對應(yīng)的任務(wù)執(zhí)行結(jié)果;
16、寫入模塊,用于將各個所述任務(wù)執(zhí)行結(jié)果寫入對應(yīng)拆分任務(wù)所屬分布式作業(yè)相對應(yīng)的臨時目錄中;
17、重命名模塊,用于在屬于目標(biāo)分布式作業(yè)的各個所述拆分任務(wù)執(zhí)行完成時,以所述目標(biāo)分布式作業(yè)對應(yīng)的作業(yè)名稱對所述目標(biāo)分布式作業(yè)對應(yīng)的臨時目錄進行重命名,得到所述目標(biāo)分布式作業(yè)對應(yīng)的重命名目錄,其中,所述目標(biāo)分布式作業(yè)為任意一個所述分布式作業(yè);
18、上傳模塊,用于將所述目標(biāo)分布式作業(yè)對應(yīng)的重命名目錄上傳至對象存儲進行存儲。
19、第四方面,本申請?zhí)峁┝艘环N數(shù)據(jù)存儲裝置,所述裝置包括:
20、存儲模塊,用于接收并保存不同計算節(jié)點上傳的不同分布式作業(yè)對應(yīng)的重命名目錄;
21、匯總模塊,用于將同一分布式作業(yè)對應(yīng)的不同重命名目錄匯總形成作業(yè)計算結(jié)果。
22、第五方面,本申請?zhí)峁┝艘环N計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述數(shù)據(jù)存儲方法。
23、第六方面,本申請還提供了一種計算機存儲介質(zhì),存儲有計算機可執(zhí)行指令,所述計算機可執(zhí)行指令用于執(zhí)行上述數(shù)據(jù)存儲方法。
24、本申請實施例提供的上述技術(shù)方案與現(xiàn)有技術(shù)相比具有如下優(yōu)點:本申請實施例提供的該方法,獲取不同分布式作業(yè)拆分后的多個拆分任務(wù);在本地磁盤創(chuàng)建各個所述分布式作業(yè)對應(yīng)的臨時目錄;執(zhí)行各個所述拆分任務(wù)得到對應(yīng)的任務(wù)執(zhí)行結(jié)果;將各個所述任務(wù)執(zhí)行結(jié)果寫入對應(yīng)拆分任務(wù)所屬分布式作業(yè)相對應(yīng)的臨時目錄中;在屬于目標(biāo)分布式作業(yè)的各個所述拆分任務(wù)執(zhí)行完成時,以所述目標(biāo)分布式作業(yè)對應(yīng)的作業(yè)名稱對所述目標(biāo)分布式作業(yè)對應(yīng)的臨時目錄進行重命名,得到所述目標(biāo)分布式作業(yè)對應(yīng)的重命名目錄,其中,所述目標(biāo)分布式作業(yè)為任意一個所述分布式作業(yè);將所述目標(biāo)分布式作業(yè)對應(yīng)的重命名目錄上傳至對象存儲進行存儲。
25、基于上述方法,將計算拆分任務(wù)所產(chǎn)生的臨時文件存儲至計算節(jié)點本地磁盤的臨時目錄中,并在本地磁盤中實現(xiàn)數(shù)據(jù)存儲的重命名,將重命名后的重命名目錄一次發(fā)送給對象存儲,從而避免了對象存儲對臨時文件的存儲以及重命名過程,減少了對象存儲與計算節(jié)點之間的交互次數(shù),即減少了對象存儲的http請求,提高了拆分任務(wù)的執(zhí)行效率,解決了利用對象存儲作為分布式作業(yè)對應(yīng)執(zhí)行結(jié)果的存儲介質(zhì)產(chǎn)生大量http請求的問題。
1.一種數(shù)據(jù)存儲方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,其特征在于,所述獲取不同分布式作業(yè)拆分后的多個拆分任務(wù)之后,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)存儲方法,其特征在于,獲取與各個所述拆分任務(wù)相關(guān)的相關(guān)數(shù)據(jù),包括:
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,其特征在于,所述在本地磁盤創(chuàng)建各個所述分布式作業(yè)對應(yīng)的臨時目錄,包括:
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)存儲方法,其特征在于,所述將各個所述任務(wù)執(zhí)行結(jié)果寫入對應(yīng)拆分任務(wù)所屬分布式作業(yè)相對應(yīng)的臨時目錄中,包括:
6.一種數(shù)據(jù)存儲方法,其特征在于,所述方法包括:
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)存儲方法,其特征在于,接收并保存不同計算節(jié)點上傳的不同分布式作業(yè)對應(yīng)的重命名目錄之前,所述方法還包括:
8.一種數(shù)據(jù)存儲裝置,其特征在于,所述裝置包括:
9.一種數(shù)據(jù)存儲裝置,其特征在于,所述裝置包括:
10.一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權(quán)利要求1至5或6至7中任一項所述的數(shù)據(jù)存儲方法。
11.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至5或6至7中任一項所述的數(shù)據(jù)存儲方法。