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