本發(fā)明涉及存儲,特別是涉及一種元數(shù)據(jù)處理方法、裝置、設(shè)備及非易失性存儲介質(zhì)。
背景技術(shù):
1、海量小文件數(shù)據(jù)集的人工智能(artificial?intelligence,ai)模型訓(xùn)練,需要將數(shù)據(jù)集本地化后再進(jìn)行訓(xùn)練,不僅需要本地有足夠的存儲空間,還需要花費(fèi)很多時(shí)間等待數(shù)據(jù)集本地化。故目前的數(shù)據(jù)集處理主要采用計(jì)算環(huán)境和存儲分離的框架,但這引發(fā)了數(shù)據(jù)訪問延遲和遠(yuǎn)程獲取數(shù)據(jù)集開銷大等問題。而在大規(guī)模計(jì)算集群中,許多訓(xùn)練任務(wù)都是并發(fā)運(yùn)行,每個訓(xùn)練任務(wù)使用的數(shù)據(jù)集可能不同。因此,基于目前通用型的數(shù)據(jù)集處理框架,在讀取海量小文件數(shù)據(jù)集時(shí),千萬小文件,就需要超過千萬次的元數(shù)據(jù)和數(shù)據(jù)流量交互,不僅給存儲系統(tǒng)帶來巨大的壓力,還非常影響模型訓(xùn)練效率。
2、如何提高海量小文件存儲的元數(shù)據(jù)性能,進(jìn)而提高海量小文件的讀性能,是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種元數(shù)據(jù)處理方法、裝置、設(shè)備及非易失性存儲介質(zhì),用于提高海量小文件存儲的元數(shù)據(jù)性能,進(jìn)而提高海量小文件的讀性能。
2、為解決上述技術(shù)問題,本發(fā)明提供一種元數(shù)據(jù)處理方法,包括:
3、根據(jù)待寫入存儲系統(tǒng)的小文件數(shù)據(jù)集的文件目錄,確定所述小文件數(shù)據(jù)集中各小文件的小文件元數(shù)據(jù);
4、將所述小文件聚合處理為聚合文件,并構(gòu)造所述聚合文件的聚合文件元數(shù)據(jù),基于所述聚合文件的標(biāo)識關(guān)聯(lián)所述小文件元數(shù)據(jù)以及所述聚合文件元數(shù)據(jù);
5、根據(jù)所述聚合文件的標(biāo)識計(jì)算得到所述聚合文件在所述存儲系統(tǒng)的存儲位置,并按照存儲位置將所述聚合文件寫入所述存儲系統(tǒng);
6、將所述小文件數(shù)據(jù)集對應(yīng)的所述聚合文件元數(shù)據(jù)發(fā)送至讀數(shù)據(jù)設(shè)備,以使所述讀數(shù)據(jù)設(shè)備在需要讀取所述小文件數(shù)據(jù)集中的目標(biāo)小文件時(shí),根據(jù)所述聚合文件元數(shù)據(jù)查詢所述目標(biāo)小文件所在的目標(biāo)聚合文件的標(biāo)識,并根據(jù)所述目標(biāo)聚合文件的標(biāo)識計(jì)算得到所述目標(biāo)聚合文件在所述存儲系統(tǒng)的目標(biāo)存儲位置,以自所述目標(biāo)存儲位置讀取所述目標(biāo)聚合文件。
7、一方面,構(gòu)造所述聚合文件的聚合文件元數(shù)據(jù),基于所述聚合文件的標(biāo)識關(guān)聯(lián)所述小文件元數(shù)據(jù)以及所述聚合文件元數(shù)據(jù),包括:
8、創(chuàng)建與所述聚合文件對應(yīng)的聚合文件元數(shù)據(jù)表,所述聚合文件元數(shù)據(jù)表至少包括所述聚合文件的標(biāo)識以及所述聚合文件在所述存儲系統(tǒng)的底層存儲索引號;
9、創(chuàng)建與所述聚合文件對應(yīng)的聚合文件分片表,所述聚合文件分片表至少包括所述聚合文件的標(biāo)識以及所述聚合文件所聚合的所述小文件的所述小文件元數(shù)據(jù);
10、以所述聚合文件元數(shù)據(jù)表和所述聚合文件分片表為所述聚合文件元數(shù)據(jù)。
11、另一方面,創(chuàng)建與所述聚合文件對應(yīng)的聚合文件分片表,包括:
12、將所述聚合文件所聚合的所述小文件的所述小文件元數(shù)據(jù)壓縮后與所述聚合文件的標(biāo)識關(guān)聯(lián)存入所述聚合文件分片表。
13、另一方面,根據(jù)所述聚合文件的標(biāo)識計(jì)算得到所述聚合文件在所述存儲系統(tǒng)的存儲位置,包括:
14、建立用于存儲所述聚合文件的二級目錄結(jié)構(gòu);
15、根據(jù)所述聚合文件的標(biāo)識的大小計(jì)算得到所述聚合文件在所述二級目錄結(jié)構(gòu)中的第一級目錄的存儲位置以及第二級目錄的存儲位置。
16、另一方面,所述聚合文件的標(biāo)識用從1開始遞加的大整型數(shù)表示;
17、根據(jù)所述聚合文件的標(biāo)識的大小計(jì)算得到所述聚合文件在所述二級目錄結(jié)構(gòu)中的存儲位置,包括:
18、計(jì)算所述聚合文件的標(biāo)識除以所述二級目錄結(jié)構(gòu)中的一個第一級目錄允許存儲的文件總數(shù)并向下取整,得到所述聚合文件在所述第一級目錄的標(biāo)識;
19、計(jì)算所述聚合文件的標(biāo)識除以所述二級目錄結(jié)構(gòu)中的一個第二級目錄允許存儲的文件總數(shù)并向下取整,得到所述聚合文件在所述第一級目錄中的所述第二級目錄的標(biāo)識。
20、另一方面,還包括:
21、將所述小文件數(shù)據(jù)集的文件目錄進(jìn)行數(shù)據(jù)化處理后進(jìn)行保存;
22、攔截對所述小文件數(shù)據(jù)集的用戶空間文件系統(tǒng)查詢命令,并根據(jù)所述小文件數(shù)據(jù)集的文件目錄構(gòu)建文件視圖;
23、顯示所述文件視圖以響應(yīng)所述用戶空間文件系統(tǒng)查詢命令。
24、另一方面,根據(jù)待寫入存儲系統(tǒng)的小文件數(shù)據(jù)集的文件目錄,確定所述小文件數(shù)據(jù)集中各小文件的小文件元數(shù)據(jù),包括:
25、根據(jù)所述小文件數(shù)據(jù)集的文件目錄讀取各所述小文件的屬性信息,并根據(jù)所述小文件的屬性信息構(gòu)建小文件元數(shù)據(jù)表和小文件元數(shù)據(jù)屬性表;
26、元數(shù)據(jù)處理方法還包括:
27、攔截對所述小文件數(shù)據(jù)集的用戶空間文件系統(tǒng)查詢命令,并根據(jù)所述小文件元數(shù)據(jù)表和所述小文件元數(shù)據(jù)屬性表構(gòu)建文件視圖;
28、顯示所述文件視圖以響應(yīng)所述用戶空間文件系統(tǒng)查詢命令;
29、將所述小文件聚合處理為聚合文件,并構(gòu)造所述聚合文件的聚合文件元數(shù)據(jù),基于所述聚合文件的標(biāo)識關(guān)聯(lián)所述小文件元數(shù)據(jù)以及所述聚合文件元數(shù)據(jù),包括:
30、將所述小文件聚合處理為所述聚合文件;
31、創(chuàng)建與所述聚合文件對應(yīng)的聚合文件元數(shù)據(jù)表,所述聚合文件元數(shù)據(jù)表至少包括所述聚合文件的標(biāo)識以及所述聚合文件在所述存儲系統(tǒng)的底層存儲索引號;
32、創(chuàng)建與所述聚合文件對應(yīng)的聚合文件分片表,所述聚合文件分片表至少包括所述聚合文件的標(biāo)識以及所述聚合文件所聚合的所述小文件的所述小文件元數(shù)據(jù);
33、以所述聚合文件元數(shù)據(jù)表和所述聚合文件分片表為所述聚合文件元數(shù)據(jù);
34、根據(jù)所述聚合文件的標(biāo)識計(jì)算得到所述聚合文件在所述存儲系統(tǒng)的存儲位置,并按照存儲位置將所述聚合文件寫入所述存儲系統(tǒng),包括:
35、建立用于存儲所述聚合文件的二級目錄結(jié)構(gòu);
36、計(jì)算所述聚合文件的標(biāo)識除以所述二級目錄結(jié)構(gòu)中的一個第一級目錄允許存儲的文件總數(shù)并向下取整,得到所述聚合文件在所述第一級目錄的標(biāo)識;
37、計(jì)算所述聚合文件的標(biāo)識除以所述二級目錄結(jié)構(gòu)中的一個第二級目錄允許存儲的文件總數(shù)并向下取整,得到所述聚合文件在所述第一級目錄中的所述第二級目錄的標(biāo)識;
38、根據(jù)所述聚合文件在所述第一級目錄的標(biāo)識以及所述聚合文件在所述第一級目錄中的所述第二級目錄的標(biāo)識存儲所述聚合文件。
39、為解決上述技術(shù)問題,本發(fā)明還提供一種元數(shù)據(jù)處理方法,包括:
40、接收與小文件數(shù)據(jù)集對應(yīng)的聚合文件元數(shù)據(jù),并將所述聚合文件元數(shù)據(jù)保存在本地;
41、在需要讀取所述小文件數(shù)據(jù)集中的目標(biāo)小文件時(shí),根據(jù)所述聚合文件元數(shù)據(jù)查詢所述目標(biāo)小文件所在的目標(biāo)聚合文件的標(biāo)識,并根據(jù)所述目標(biāo)聚合文件的標(biāo)識計(jì)算得到所述目標(biāo)聚合文件在存儲系統(tǒng)的目標(biāo)存儲位置,以自所述目標(biāo)存儲位置讀取所述目標(biāo)聚合文件;
42、其中,所述聚合文件元數(shù)據(jù)為根據(jù)所述小文件數(shù)據(jù)集的小文件的小文件元數(shù)據(jù)構(gòu)造,并基于所述聚合文件的標(biāo)識關(guān)聯(lián)所述小文件元數(shù)據(jù)以及所述聚合文件元數(shù)據(jù);所述聚合文件為將所述小文件進(jìn)行聚合處理得到;所述聚合文件在所述存儲系統(tǒng)的存儲位置根據(jù)所述聚合文件的標(biāo)識計(jì)算得到。
43、為解決上述技術(shù)問題,本發(fā)明還提供一種元數(shù)據(jù)處理裝置,應(yīng)用于存儲系統(tǒng),包括:
44、確定單元,用于根據(jù)待寫入存儲系統(tǒng)的小文件數(shù)據(jù)集的文件目錄,確定所述小文件數(shù)據(jù)集中各小文件的小文件元數(shù)據(jù);
45、數(shù)據(jù)集處理單元,用于將所述小文件聚合處理為聚合文件,并構(gòu)造所述聚合文件的聚合文件元數(shù)據(jù),基于所述聚合文件的標(biāo)識關(guān)聯(lián)所述小文件元數(shù)據(jù)以及所述聚合文件元數(shù)據(jù);
46、寫數(shù)據(jù)單元,用于根據(jù)所述聚合文件的標(biāo)識計(jì)算得到所述聚合文件在所述存儲系統(tǒng)的存儲位置,并按照存儲位置將所述聚合文件寫入所述存儲系統(tǒng);
47、第一讀數(shù)據(jù)單元,用于將所述小文件數(shù)據(jù)集對應(yīng)的所述聚合文件元數(shù)據(jù)發(fā)送至讀數(shù)據(jù)設(shè)備,以使所述讀數(shù)據(jù)設(shè)備在需要讀取所述小文件數(shù)據(jù)集中的目標(biāo)小文件時(shí),根據(jù)所述聚合文件元數(shù)據(jù)查詢所述目標(biāo)小文件所在的目標(biāo)聚合文件的標(biāo)識,并根據(jù)所述目標(biāo)聚合文件的標(biāo)識計(jì)算得到所述目標(biāo)聚合文件在所述存儲系統(tǒng)的目標(biāo)存儲位置,以自所述目標(biāo)存儲位置讀取所述目標(biāo)聚合文件。
48、為解決上述技術(shù)問題,本發(fā)明還提供一種元數(shù)據(jù)處理裝置,應(yīng)用于讀數(shù)據(jù)設(shè)備,包括:
49、接收單元,用于接收與小文件數(shù)據(jù)集對應(yīng)的聚合文件元數(shù)據(jù),并將所述聚合文件元數(shù)據(jù)保存在本地;
50、第二讀數(shù)據(jù)單元,用于在需要讀取所述小文件數(shù)據(jù)集中的目標(biāo)小文件時(shí),根據(jù)所述聚合文件元數(shù)據(jù)查詢所述目標(biāo)小文件所在的目標(biāo)聚合文件的標(biāo)識,并根據(jù)所述目標(biāo)聚合文件的標(biāo)識計(jì)算得到所述目標(biāo)聚合文件在存儲系統(tǒng)的目標(biāo)存儲位置,以自所述目標(biāo)存儲位置讀取所述目標(biāo)聚合文件;
51、其中,所述聚合文件元數(shù)據(jù)為根據(jù)所述小文件數(shù)據(jù)集的小文件的小文件元數(shù)據(jù)構(gòu)造,并基于所述聚合文件的標(biāo)識關(guān)聯(lián)所述小文件元數(shù)據(jù)以及所述聚合文件元數(shù)據(jù);所述聚合文件為將所述小文件進(jìn)行聚合處理得到;所述聚合文件在所述存儲系統(tǒng)的存儲位置根據(jù)所述聚合文件的標(biāo)識計(jì)算得到。
52、為解決上述技術(shù)問題,本發(fā)明還提供一種元數(shù)據(jù)處理設(shè)備,包括:
53、存儲器,用于存儲計(jì)算機(jī)程序;
54、處理器,用于執(zhí)行所述計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任意一項(xiàng)所述元數(shù)據(jù)處理方法的步驟。
55、為解決上述技術(shù)問題,本發(fā)明還提供一種非易失性存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任意一項(xiàng)所述元數(shù)據(jù)處理方法的步驟。
56、本發(fā)明所提供的元數(shù)據(jù)處理方法,有益效果在于在將小文件數(shù)據(jù)集寫入存儲系統(tǒng)時(shí),將小文件數(shù)據(jù)集中的小文件聚合處理為聚合文件,并構(gòu)造聚合文件的聚合文件元數(shù)據(jù),基于聚合文件的標(biāo)識關(guān)聯(lián)小文件元數(shù)據(jù)以及聚合文件元數(shù)據(jù),根據(jù)聚合文件的標(biāo)識計(jì)算得到聚合文件在存儲系統(tǒng)的存儲位置,并按照存儲位置將聚合文件寫入存儲系統(tǒng);將小文件數(shù)據(jù)集對應(yīng)的聚合文件元數(shù)據(jù)發(fā)送至讀數(shù)據(jù)設(shè)備,以使讀數(shù)據(jù)設(shè)備在需要讀取小文件數(shù)據(jù)集時(shí),根據(jù)聚合文件元數(shù)據(jù)直接計(jì)算得到目標(biāo)聚合文件的位置并讀取。在通過對小文件聚合寫、聚合讀以減少對小文件的讀寫次數(shù)的基礎(chǔ)上,通過聚合文件元數(shù)據(jù)的設(shè)計(jì)以使讀數(shù)據(jù)設(shè)備無需每讀一個小文件就訪問一次該小文件的元數(shù)據(jù),只需一次性讀取小文件數(shù)據(jù)集對應(yīng)的聚合文件元數(shù)據(jù),此后在產(chǎn)生讀數(shù)據(jù)需求時(shí)只需直接訪問小文件所在的存儲位置即可,從而極大提升了海量小文件的元數(shù)據(jù)性能,進(jìn)而提升了海量小文件的存儲性能。
57、本發(fā)明提供的元數(shù)據(jù)處理裝置、設(shè)備及非易失性存儲介質(zhì),具有上述有益效果,在此不再贅述。