本技術(shù)涉及數(shù)據(jù)處理,尤其涉及一種磁帶文件系統(tǒng)的控制方法、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、線性磁帶文件系統(tǒng)(ltfs,linear?tape?file?system)包括索引分區(qū)和數(shù)據(jù)分區(qū),可以通過索引分區(qū)中的元數(shù)據(jù)搜索數(shù)據(jù)分區(qū)中存儲(chǔ)的文件數(shù)據(jù)。
2、在相關(guān)技術(shù)中,ltfs采用追加寫的方式寫入文件數(shù)據(jù),并在將增量的文件數(shù)據(jù)寫入數(shù)據(jù)分區(qū)的同時(shí),生成元數(shù)據(jù)寫入索引分區(qū)中。其中,ltfs通常以全量方式寫入元數(shù)據(jù)。因而,在每次寫入元數(shù)據(jù)時(shí),該元數(shù)據(jù)都包含當(dāng)前磁帶上所有文件數(shù)據(jù)的索引信息。這導(dǎo)致元數(shù)據(jù)所占用的磁帶存儲(chǔ)空間較大。
3、上述內(nèi)容僅用于輔助理解本技術(shù)的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)思路
0、發(fā)明概述
1、技術(shù)問題
2、本技術(shù)的主要目的在于提供一種磁帶文件系統(tǒng)的控制方法、設(shè)備及存儲(chǔ)介質(zhì),旨在解決磁帶文件系統(tǒng)中元數(shù)據(jù)所占用的磁帶空間較大的技術(shù)問題。
3、技術(shù)解決方案
4、為實(shí)現(xiàn)上述目的,本技術(shù)提供一種磁帶文件系統(tǒng)的控制方法,所述的方法包括以下步驟:
5、根據(jù)所述磁帶存儲(chǔ)器的已存儲(chǔ)區(qū)域,確定待存儲(chǔ)文件于所述磁帶存儲(chǔ)器的文件起始?jí)K;
6、基于所述文件起始?jí)K將所述待存儲(chǔ)文件的元數(shù)據(jù)和所述待存儲(chǔ)文件作為磁帶文件,寫入所述磁帶存儲(chǔ)器;
7、根據(jù)所述元數(shù)據(jù)和所述文件起始?jí)K,生成所述待存儲(chǔ)文件的文件存儲(chǔ)記錄,并存儲(chǔ)所述文件存儲(chǔ)記錄至所述外部存儲(chǔ)器。
8、在一實(shí)施例中,所述磁帶文件包含文件頭元數(shù)據(jù)、所述待存儲(chǔ)文件和文件尾元數(shù)據(jù),所述基于所述待存儲(chǔ)文件的元數(shù)據(jù)和所述待存儲(chǔ)文件,生成所述磁帶文件,并根據(jù)所述文件起始?jí)K將所述磁帶文件寫入所述磁帶存儲(chǔ)器的步驟包括:
9、基于所述元數(shù)據(jù)和所述校驗(yàn)碼類型生成所述文件頭元數(shù)據(jù);
10、根據(jù)所述校驗(yàn)碼類型計(jì)算所述待存儲(chǔ)文件的校驗(yàn)碼,并根據(jù)所述校驗(yàn)碼和所述元數(shù)據(jù)生成所述文件尾元數(shù)據(jù);
11、從所述文件起始?jí)K開始,依次將所述文件頭元數(shù)據(jù)、所述待存儲(chǔ)文件以及所述文件尾元數(shù)據(jù)寫入所述磁帶存儲(chǔ)器。
12、在一實(shí)施例中,所述基于所述文件起始?jí)K將所述待存儲(chǔ)文件的元數(shù)據(jù)和所述待存儲(chǔ)文件作為磁帶文件,寫入所述磁帶存儲(chǔ)器的步驟之后,包括:
13、寫入所述磁帶文件的文件分割符;和/或,
14、定位至所述磁帶存儲(chǔ)器的所述文件分割符;
15、基于所述文件分隔符的上一數(shù)據(jù)塊,讀取所述磁帶文件的所述文件尾元數(shù)據(jù);
16、獲取所述文件尾元數(shù)據(jù)中所述磁帶文件的文件存儲(chǔ)量,并根據(jù)所述文件尾元數(shù)據(jù)和所述文件存儲(chǔ)量定位所述文件頭元數(shù)據(jù);
17、根據(jù)所述文件頭元數(shù)據(jù),生成所述文件存儲(chǔ)記錄。
18、在一實(shí)施例中,所述基于所述文件起始?jí)K將所述待存儲(chǔ)文件的元數(shù)據(jù)和所述待存儲(chǔ)文件作為磁帶文件,寫入所述磁帶存儲(chǔ)器的步驟之后,包括:
19、確定所述磁帶存儲(chǔ)器的剩余存儲(chǔ)量;
20、在所述剩余存儲(chǔ)量小于存儲(chǔ)量閾值時(shí),根據(jù)所述磁帶存儲(chǔ)器中存儲(chǔ)的所述磁帶文件,確定磁帶文件存儲(chǔ)信息;
21、根據(jù)所述磁帶文件存儲(chǔ)信息,生成條目信息文件,并根據(jù)所述磁帶文件存儲(chǔ)信息的磁帶文件占用空間和磁帶文件條目數(shù)量,生成條目信息文件頭和條目信息文件尾;
22、基于所述條目信息文件頭、所述條目信息文件和所述條目信息文件尾,生成磁帶尾部文件;
23、將所述磁帶尾部文件寫入所述磁帶存儲(chǔ)器的存儲(chǔ)空間末端,并將所述磁帶存儲(chǔ)器的磁帶狀態(tài)更新為已封印狀態(tài)。
24、在一實(shí)施例中,所述將所述磁帶尾部文件寫入所述磁帶存儲(chǔ)器的存儲(chǔ)空間末端,并將所述磁帶存儲(chǔ)器的磁帶狀態(tài)更新為已封印狀態(tài)的步驟之后,包括:
25、于所述存儲(chǔ)空間末端的最后一個(gè)數(shù)據(jù)塊,讀取所述磁帶尾部文件的條目信息文件尾;
26、獲取所述條目信息文件尾中記錄的所述磁帶文件占用空間;
27、根據(jù)所述磁帶文件占用空間,確定所述條目信息文件的存儲(chǔ)位置,并基于所述存儲(chǔ)位置獲取所述條目信息文件;
28、根據(jù)所述條目信息文件的所述磁帶信息存儲(chǔ)信息,生成所述文件存儲(chǔ)記錄。
29、在一實(shí)施例中,所述根據(jù)磁帶存儲(chǔ)器的已存儲(chǔ)區(qū)域,確定待存儲(chǔ)文件的數(shù)據(jù)塊于所述磁帶存儲(chǔ)器的文件起始?jí)K的步驟之前,還包括:
30、清空所述磁帶存儲(chǔ)器的存儲(chǔ)數(shù)據(jù);
31、獲取預(yù)存的文件系統(tǒng)布局,并根據(jù)所述文件系統(tǒng)布局生成所述磁帶存儲(chǔ)器的磁帶頭部文件;
32、將所述磁帶頭部文件寫入所述磁帶存儲(chǔ)器,并將所述磁帶存儲(chǔ)器的磁帶狀態(tài)更新為可寫狀態(tài)。
33、在一實(shí)施例中,所述根據(jù)所述元數(shù)據(jù)和所述數(shù)據(jù)塊的文件起始?jí)K,生成所述待存儲(chǔ)文件的文件存儲(chǔ)記錄,并存儲(chǔ)所述文件存儲(chǔ)記錄至所述外部存儲(chǔ)器的步驟之后,還包括:
34、接收文件讀取請(qǐng)求,并確定所述文件讀取請(qǐng)求的待讀取文件和讀取參數(shù);
35、于存儲(chǔ)記錄文件中獲取所述待讀取文件的所述文件存儲(chǔ)記錄,并根據(jù)所述文件存儲(chǔ)記錄確定所述待讀取文件于對(duì)應(yīng)的目標(biāo)磁帶文件的偏移量和所述目標(biāo)磁帶文件的所述文件起始?jí)K;
36、根據(jù)所述文件起始?jí)K和所述偏移量,確定所述待讀取文件的讀取起始?jí)K;
37、獲取所述讀取參數(shù)中所述待讀取文件的讀取數(shù)據(jù)塊數(shù)量,并根據(jù)所述讀取起始?jí)K和所述讀取數(shù)據(jù)塊數(shù)量讀取所述待讀取文件。
38、在一實(shí)施例中,所述根據(jù)所述元數(shù)據(jù)和所述數(shù)據(jù)塊的文件起始?jí)K,生成所述待存儲(chǔ)文件的文件存儲(chǔ)記錄,并存儲(chǔ)所述文件存儲(chǔ)記錄至所述外部存儲(chǔ)器的步驟之后,還包括:
39、在接收到文件刪除請(qǐng)求后,確定所述文件刪除請(qǐng)求中的待刪除文件;
40、于存儲(chǔ)記錄文件中確定所述待刪除文件的所述文件存儲(chǔ)記錄,并將所述文件存儲(chǔ)記錄標(biāo)記為已刪除;
41、基于所述待存儲(chǔ)文件,覆蓋所述磁帶存儲(chǔ)器中的所述待刪除文件。
42、此外,為實(shí)現(xiàn)上述目的,本技術(shù)還提供一種磁帶文件系統(tǒng)的控制設(shè)備,所述設(shè)備包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序配置為實(shí)現(xiàn)如上所述的磁帶文件系統(tǒng)的控制方法的步驟。
43、此外,為實(shí)現(xiàn)上述目的,本技術(shù)還提供一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的磁帶文件系統(tǒng)的控制方法的步驟。
44、有益效果
45、本技術(shù)提出的一個(gè)或多個(gè)技術(shù)方案,至少具有以下技術(shù)效果:
46、本技術(shù)通過在將待存儲(chǔ)文件保存至磁帶存儲(chǔ)器的時(shí)候,將待存儲(chǔ)文件的元數(shù)據(jù)與該待存儲(chǔ)文件一同生成磁帶文件,并根據(jù)磁帶存儲(chǔ)器為該待存儲(chǔ)文件分配的文件起始?jí)K和該元數(shù)據(jù),生成外部的文件存儲(chǔ)記錄,使得用戶在根據(jù)文件存儲(chǔ)記錄和元數(shù)據(jù)可以快速查詢磁帶存儲(chǔ)器中數(shù)據(jù)的同時(shí),避免每次元數(shù)據(jù)都需要以全量寫入的方式進(jìn)行寫入,從而降低了磁帶存儲(chǔ)器中元數(shù)據(jù)占用的存儲(chǔ)空間。