本公開涉及計算機,尤其涉及一種分布式存儲的加速訪問方法、裝置、設備及存儲介質。
背景技術:
1、隨著計算機技術的不斷發(fā)展,越來越多的企業(yè)采用分布式存儲的方式進行企業(yè)內部信息管理。
2、通常情況下,分布式存儲系統(tǒng)中各存儲節(jié)點通常需要處于同一網(wǎng)絡中,基于分布式的特性,將每個存儲節(jié)點中的文件分別同步至其他存儲節(jié)點中;若某一存儲節(jié)點中的文件未被同步至其他存儲節(jié)點中,其他存儲節(jié)點的用戶則無法順利獲取該文件。
3、因此,現(xiàn)有的文件獲取方法其網(wǎng)絡成本以及存儲成本較大,且存在同步延遲的問題。
技術實現(xiàn)思路
1、為了解決上述技術問題,本公開提供了一種分布式存儲的加速訪問方法、裝置、設備及存儲介質,以減少存儲成本,降低同步延遲。
2、第一方面,本公開實施例提供一種分布式存儲的加速訪問方法,所述方法應用于基于地域的分布式存儲系統(tǒng)中,包括:
3、從存儲系統(tǒng)的多個候選存儲節(jié)點中確定客戶端對應的目標存儲節(jié)點,所述多個候選存儲節(jié)點包括中心存儲節(jié)點、邊緣存儲節(jié)點;
4、根據(jù)客戶端發(fā)起的文件上傳請求,將所述文件上傳請求對應的待上傳文件保存至所述目標存儲節(jié)點中;
5、若所述目標存儲節(jié)點為邊緣存儲節(jié)點,則將所述待上傳文件同步至所述中心存儲節(jié)點中;
6、根據(jù)客戶端發(fā)起的文件下載請求,確定所述文件下載請求對應的目標文件;
7、若所述目標文件存在于所述存儲系統(tǒng)中,且所述目標文件的上傳途徑不是所述目標存儲節(jié)點,則從所述中心存儲節(jié)點下載所述目標文件至所述客戶端中,并將所述中心存儲節(jié)點中的目標文件緩存至所述目標存儲節(jié)點中。
8、在一些實施例中,所述從存儲系統(tǒng)的多個候選存儲節(jié)點中確定客戶端對應的目標存儲節(jié)點,包括:
9、獲取每個所述候選存儲節(jié)點的公網(wǎng)ip地址以及所述客戶端的公網(wǎng)ip地址;
10、根據(jù)所述公網(wǎng)ip地址對所述候選存儲節(jié)點以及所述客戶端進行匹配,將與所述客戶端處于同一網(wǎng)絡內的候選存儲節(jié)點作為所述客戶端的目標存儲節(jié)點。
11、在一些實施例中,所述方法還包括:
12、若不存在與所述客戶端處于同一網(wǎng)絡內的候選存儲節(jié)點,則獲取所述候選存儲節(jié)點的內網(wǎng)檢測地址,以使所述客戶端通過所述內網(wǎng)檢測地址訪問每個所述候選存儲節(jié)點,將訪問成功的候選存儲節(jié)點作為所述客戶端的目標存儲節(jié)點;或者,
13、若不存在通過所述內網(wǎng)檢測地址訪問成功的候選存儲節(jié)點,則將所述中心存儲節(jié)點分配給所述客戶端。
14、在一些實施例中,所述根據(jù)客戶端發(fā)起的文件上傳請求,將所述文件上傳請求對應的待上傳文件保存至所述目標存儲節(jié)點中,包括:
15、獲取所述待上傳文件的哈希值;
16、若基于所述哈希值確定所述存儲系統(tǒng)中不存在所述待上傳文件,則將所述待上傳文件存儲至所述目標存儲節(jié)點。
17、在一些實施例中,所述將所述待上傳文件存儲至所述目標存儲節(jié)點,包括:
18、依次將所述待上傳文件的多個分片數(shù)據(jù)上傳至所述目標存儲節(jié)點;
19、將所述多個分片數(shù)據(jù)進行合并,得到合并文件;
20、若所述合并文件的哈希值與所述待上傳文件的哈希值一致,則確定所述待上傳文件上傳完成。
21、在一些實施例中,所述根據(jù)客戶端發(fā)起的文件下載請求,確定所述文件下載請求對應的目標文件之后,所述方法還包括:
22、根據(jù)所述目標文件的文件標識獲取所述目標文件的文件存儲信息;
23、基于所述文件存儲信息,確定所述目標文件的上傳途徑。
24、在一些實施例中,所述方法還包括:
25、當基于所述文件存儲信息,確定所述目標文件處于待同步狀態(tài)時,在同步隊列中查詢所述文件標識;
26、若所述同步隊列中不存在所述文件標識,則將所述目標文件的同步任務添加至所述同步隊列中;或者,
27、若同步隊列中存在所述文件標識,則在預設等待時間后再次獲取所述文件存儲信息。
28、第二方面,本公開實施例提供一種分布式存儲的加速訪問裝置,包括:
29、第一確定模塊,用于從存儲系統(tǒng)的多個候選存儲節(jié)點中確定客戶端對應的目標存儲節(jié)點,所述多個候選存儲節(jié)點包括中心存儲節(jié)點、邊緣存儲節(jié)點;
30、上傳模塊,用于根據(jù)客戶端發(fā)起的文件上傳請求,將所述文件上傳請求對應的待上傳文件保存至所述目標存儲節(jié)點中;
31、同步模塊,用于若所述目標存儲節(jié)點為邊緣存儲節(jié)點,則將所述待上傳文件同步至所述中心存儲節(jié)點中;
32、第二確定模塊,用于根據(jù)客戶端發(fā)起的文件下載請求,確定所述文件下載請求對應的目標文件;
33、下載模塊,用于若所述目標文件存在于所述存儲系統(tǒng)中,且所述目標文件的上傳途徑不是所述目標存儲節(jié)點,則從所述中心存儲節(jié)點下載所述目標文件至所述客戶端中,并將所述中心存儲節(jié)點中的目標文件緩存至所述目標存儲節(jié)點中。
34、第三方面,本公開實施例提供一種電子設備,包括:
35、存儲器;
36、處理器;以及
37、計算機程序;
38、其中,所述計算機程序存儲在所述存儲器中,并被配置為由所述處理器執(zhí)行以實現(xiàn)如第一方面所述的方法。
39、第四方面,本公開實施例提供一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行以實現(xiàn)第一方面所述的方法。
40、第五方面,本公開實施例還提供了一種計算機程序產品,該計算機程序產品包括計算機程序或指令,該計算機程序或指令被處理器執(zhí)行時實現(xiàn)如上所述的分布式存儲的加速訪問方法。
41、本公開實施例提供的分布式存儲的加速訪問方法、裝置、設備及存儲介質,通過為客戶端分配目標存儲節(jié)點,將客戶端所上傳的文件存儲至目標存儲節(jié)點并同步至中心存儲節(jié)點中,在需要下載文件時按需同步文件,無需將文件同步至每個存儲節(jié)點,在下載文件時可以直接從中心存儲節(jié)點下載,節(jié)省了存儲資源,無需用戶承擔由中心存儲節(jié)點緩存至目標存儲節(jié)點的時間成本,保證文件同步以及下載的實時性,提高了文件獲取的效率。
1.一種分布式存儲的加速訪問方法,其特征在于,所述方法應用于基于地域的分布式存儲系統(tǒng)中,所述方法包括:
2.根據(jù)權利要求1所述的方法,其特征在于,所述從存儲系統(tǒng)的多個候選存儲節(jié)點中確定客戶端對應的目標存儲節(jié)點,包括:
3.根據(jù)權利要求2所述的方法,其特征在于,所述方法還包括:
4.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)客戶端發(fā)起的文件上傳請求,將所述文件上傳請求對應的待上傳文件保存至所述目標存儲節(jié)點中,包括:
5.根據(jù)權利要求4所述的方法,其特征在于,所述將所述待上傳文件存儲至所述目標存儲節(jié)點,包括:
6.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)客戶端發(fā)起的文件下載請求,確定所述文件下載請求對應的目標文件之后,所述方法還包括:
7.根據(jù)權利要求6所述的方法,其特征在于,所述方法還包括:
8.一種分布式存儲的加速訪問裝置,其特征在于,包括:
9.一種電子設備,其特征在于,包括:
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權利要求1-7中任一項所述的方法。