文|譚樂娟 孫天一
隨著廣電行業信息數字化趨勢加快,音視頻數字信息量迅猛增長,存儲具有長期保存、不可更改、極少訪問、規模巨大、動態增長等特點的音視頻數據具有重大的社會價值。音視頻歸檔系統自本世紀初的前十年的發展,已經形成了比較成熟的多級存儲、層層遷移的系統體系結構,比較成功的解決了海量音視頻數據的歸檔存儲問題。
常見的存儲介質有磁盤、磁帶和光盤三種。磁盤是一種常用的在線存儲介質,具有非常好的隨機讀寫性能,讀寫速度是三者中最快的,但容量較小,價格較高,不易保存,壽命短,耗電,適合存儲較小的、訪問頻繁的數據。磁帶技術發展較為成熟,且具有容量大、價格低、壽命長、不易壞、可離線存儲等優點,但由于是線性存儲的,不適合進行隨機讀寫,因此一般用來存儲不經常訪問的歸檔數據。光盤存儲也被認為是數據歸檔的一種手段,其特點是價格低廉,技術含量低,而且便于大范圍分發,但其容量無法與磁帶和磁盤相比,能夠支持的應用也比較受限,因此目前并不適用于企業數據中心級別的數據歸檔應用。因此,現有的音視頻歸檔系統一般采取在線存儲和近線存儲相結合的方式,將某些頻繁訪問的內容和資料存儲在在線磁盤或者磁盤陣列上,而訪問頻率較低但容量較大的內容則存儲在磁帶庫中。
由于磁帶的線性存儲特性,一般都采取將實體文件和元數據分離的方式來存儲。磁帶上只存放實體文件,沒有文件名稱、時間以及目錄層次結構等用于描述文件屬性的元數據,這使得磁帶不具備自描述性。這樣,文件在磁帶上并不是完整的,它們的元數據必須通過額外的數據庫來保存。這種實體文件和元數據分開存儲的方式也給磁帶的使用帶來了很大的不便,用戶想要對磁帶進行讀寫,必須通過特定的歸檔軟件進行,不像磁盤和光盤那樣可以直接拖拽。而且市場上的歸檔軟件種類繁多,每款軟件各自的存儲格式都有所不同,彼此間缺乏相互操作性,所產生的元數據信息不能通用,這使得它們之間的信息交換變得非常困難。
為了改變這種情況,研究者們做了很多的嘗試。某些備份機制,比如Unix/Linux中的tar文件打包指令,可以建立具有自我描述行的磁帶副本,由于tar是公開的標準指令,這就解決了磁帶備份缺乏通用性的問題,任何Unix/Linux都可以用tar指令將文件從磁帶中解出來。但這種方式沒有解決磁帶文件不能立即使用的問題。某些廠商曾經推出一些可以讓磁帶擁有像磁盤一樣及時操作功能的軟件,如XenData公司的XenData Archive,Qumtum公司的SNSM系統,國內中科大洋公司和索貝數碼公司的視頻資料庫產品。這些產品的基本思路是將磁帶文件分割成小塊,預先讀入硬盤緩沖區,讓用戶可以無需完整將磁帶文件存到硬盤就能用多媒體播放軟件直接播放磁帶中的視頻文件。這種方式雖然一定程度上解決了磁帶文件立即使用的問題,但必須在廠商特定的軟件下才能生效,不是通用的。真正解決問題的是IBM的LTFS與LTO-5技術。
LTFS(線性磁帶文件系統)被公認為是一項會讓磁帶應用復蘇的技術。通過文件樹形目錄,這種技術首次讓用戶可以搜索磁帶上的信息,搜索磁帶的流程和磁盤存儲一樣。用戶可以從一盤LTFS格式的磁帶上自由拖放文件,這使得業務流程中整合磁帶應用以及簡易的長期歸檔成為可能。
LTO-5磁帶格式首次支持LTFS,其支持磁帶媒介分區,驅動器可以對每盤磁帶寫入兩個可變長度的分區。一個分區中包含獨立的分層文件系統目錄,而另一個存放內容。LTFS為管理磁帶上的文件提供了一個文件結構類型接口。用戶所需做的就是加載磁帶到驅動器,數據就可以通過瀏覽器或磁帶相關應用進行訪問。
LTFS要求磁帶支持雙分割區功能,一個數據區(Data Partition)和一個索引區(Index Partition)。數據區中存放了所有的數據內容與元數據,而索引區則存放數據區中數據的附屬子集與附加元數據。兩個分區共同構成LTFS Volume,每個分區的起始都是用于識別的標簽(Label)區段,其后則是存放索引或數據內容的區段,不同區段間則以文件標記(file mark)區隔(圖1)。
標簽結構存儲區由ANSI VOL1標簽區和LTFS標簽區組成。ANSI VOL1標簽區實際上是一個80個字節的長度的有固定格式記錄。而LTFS標簽區則是一段XML格式的數據。

圖1 LTFS格式
標簽結構存儲區后面是實際內容區域(Content Area),在索引區和數據區的內容區域(Content Area)存儲方式存在一些差別。索引區里面存儲的是索引結構(Index Construct),其索引結構也是一段XML格式的數據,描述文件的目錄結構和存儲區塊信息。當刪除或者更新文件時,由于磁帶的線性特性,數據沒有實際上被刪除或者更新,而是重新生成了一個變化了的索引結構(Index Construct)插入在之前的索引結構(Index Construct)后面。同時,在數據區中也插入了一個同樣的索引結構,放在當前數據內容的最后面。
另外,值得注意的是LTFS的索引結構(Index Construct)的XML,提供了擴展屬性字段(Extended Attributes),通過利用XML的可擴展特性為LTFS內存儲的文件添加更加復雜的描述信息,能夠存儲UTF格式的字符串和base64編碼的二進制數據。如圖片1所示。
LTFS除了單磁帶機模式外,還有一種小型磁帶庫模式。當磁帶庫將其中某卷磁帶第一次掛載起來時,LTFS軟件會替這卷磁帶的LTFS Volume在硬盤上建立一個對應的目標,作為這卷磁帶的掛載點,其中含有這卷磁帶中的目錄和文件結構。日后當這卷磁帶卸載后,用戶可以依靠保存在硬盤上的目錄知道這卷磁帶的內容,而不需要實際載入這卷磁帶。用戶甚至還可以從這個實際上只是索引的目錄中打開文件,此時LTFS軟件將會通知磁帶庫將這卷磁帶載入到空閑的磁帶機中,以便實際讀取文件。也就是說,當磁帶庫中的磁帶至少放進磁帶機中掛載一次以后,LTFS軟件就能對磁帶中的文件建立硬盤上的快速索引目錄,供日后檢索查詢使用。
在實際應用中,要讓LTFS格式發生效用,必須透過LTFS軟件。LTFS軟件主要有兩個作用:將磁帶機中的磁帶格式化為LTFS格式,并將LTFS格式磁帶掛載到操作系統上,或從操作系統中卸除。
IBM與HP兩大LTO磁帶機供應商都推出了LTFS軟件。LTFS軟件主要是通過FUSE(Filesystem in Userspace,用戶空間文件系統)來與操作系統整合的(圖2)。LTFS軟件可通過FUSE將LTFS Volume掛載到操作系統的虛擬文件系統層(VFS),通過VFS層與應用程序通信。當通過LTFS軟件將磁帶中的LTFS Volume掛載到操作系統上以后,用戶就可以將LTFS格式的磁帶當成硬盤一樣存取,利用資源管理器或者應用程序直接查看或者獲取磁帶中的文件,此時LTFS格式的磁帶就相當于外接的硬盤。當要更換另一盤磁帶時,只要用LTFS軟件指令將原來磁帶從操作系統中卸載,再掛載新的磁帶即可。如圖2所示。
LTFS軟件包括以下幾個常用指令:
LtfsCmdDrives:查看驅動器狀態,包括盤符、地址、序列號、狀態等信息。
LtfsCmdAssign:給LTFS磁帶驅動器分配一個盤符。
LtfsCmdLoad:手動加載磁帶。
LtfsCmdCheck:校驗并修復一個LTFS介質。一般用于磁帶狀態異常時。
LtfsCmdFormat:格式化磁帶為LTFS格式,可在格式化時設置寫入索引區的文件規則。
LtfsCmdEject:從驅動器卸載磁帶。
LtfsCmdUnassign:釋放驅動器的盤符。
通過LTFS軟件對磁帶進行讀寫操作的一般步驟如下:
1)使用LtfsCmdDrives查看可用的磁帶驅動器。
2)使用LtfsCmdAssign給每個驅動器分配一個盤符。
3)將一個磁帶插入驅動器,如果沒有設置自動加載磁帶,則使用LtfsCmdLoad指令手動加載。
4)使用LtfsCmdDrives命令查看磁帶狀態。如果磁帶還沒格式化,則使用LtfsCmdFormat指令格式化磁帶;如果磁帶處于不正常狀態,則使用LtfsCmdCheck指令校驗磁帶。
5)像普通硬盤一樣往磁帶讀寫數據。
6)使用LtfsCmdEject指令卸載磁帶。
7)使用LtfsCmdUnassign指令釋放驅動器盤符。

圖2 LTFS軟件與操作系統整合
與傳統磁帶操作比較,LTFS的優點包括:
更直觀的文件和目錄結構顯示:只要將LTFS格式的磁帶掛載到操作系統上,便能通過操作系統的資源管理器將磁帶中的文件和目錄直接顯示在系統桌面上,讓用戶可更直觀地了解磁帶中存儲的文件。
更方便、快速的文件存取:可通過操作系統的資源管理器,以拖拽的操作方式將文件移出或者存入磁帶。
更方便的磁帶文件交換與移動:由于磁帶文件是以開放規格的LTFS格式寫入的,所以無需依賴任何特定的應用程序,只要系統能識別LTFS格式,無論什么平臺都能存取LTFS磁帶中的文件。
HP和IBM是兩家主要的LTFS軟件開發商,而LTFS開放式標準為整個LTO聯合會所支持。HP在其StoreOpen Automation上支持LTFS,而IBM則在2012年5月在其IBM System Storage LTFS Library Edition中發布支持LTFS的磁帶庫。其他公司也同樣發布了支持LTFS的產品,比如Crossroads發布的StrongBox設備;Cache-A在其旗艦產品Pro-Cache5、Power-Cache和Prime-Cache5支持LTFS功能。此外,Atempo現在使用的Atempo Digital Archive,一種文件歸檔產品,也全面兼容LTFS平臺。
視頻歸檔一般通過磁帶庫存儲不常用的視頻資料。由于傳統的磁帶不具備存儲元數據和流媒體的功能,現有的磁帶庫需要利用數據庫和歸檔軟件來實現視頻歸檔,給使用和管理帶來了很多不便,也提高了系統建設的成本。特別是在小型視頻歸檔系統中(如“新華08”視頻歸檔系統),更是需要一套更為簡單有效的歸檔解決方案。而LTFS技術正好能滿足這樣的需求。

圖3 “新華08”視頻歸檔系統
據統計,“新華08”的視頻資料總數據量約為25T,視頻時長約為3100小時。為了幫助“新華08”建立視頻資料統一存儲歸檔,并更好地對現有視頻資料進行管理,我們建設了“新華08”視頻歸檔系統。該系統能夠實現視頻資料的(實體文件+元數據文件)入庫歸檔,權限控制,分類瀏覽,流媒體在線預覽,描述信息的檢索查詢,元數據的編目加工和修改,歸檔審核等基本功能。系統由非編工作站、工作站、LTO-5磁帶機、Lucence檢索服務器組成,如圖3所示。
工作站上裝有LTFS軟件,可將磁帶機中的LTO-5磁帶格式化成LTFS格式,掛載在HP工作站上。通過非編工作站完成編輯的視頻文件一般包括高碼流文件.mxf,低碼流文件.wmv,和元數據文件.xml、.jpg。低碼流文件和元數據文件一份放在檢索服務器上的數據庫,供用戶檢索用,另一份則和高碼流一起通過磁帶機存放在LTO-5磁帶中。
由 于LTFS提供了索引區和數據區兩個部分,系統利用索引區存儲數據區中視頻的元數據信息和低碼流信息,從而去掉了視頻磁帶歸檔對數據庫的依賴性,使得每一盤磁帶成為一個獨立的歸檔單元。在沒有數據庫的情況下,只需要讀取索引區的信息,就能快速得到這盤磁帶中的視頻信息。另外,由于LTFS可以將磁帶像磁盤一樣掛載到操作系統中,因此可以像磁盤一樣對磁帶中的文件進行窗口查看和拖拽操作。
為了實現上述技術,首先用LtfsCmdFormat命令將磁帶格式化成LTFS格式,讓所有高碼流文件存到數據區,所有元數據文件和低碼流文件存到索引區。然后將該磁帶掛載到HP工作站上,比如L盤。非編工作站歸檔時,將要歸檔的文件直接存到L盤即可。
當用戶需要獲取某個歸檔視頻時,只需要找到該文件所在的磁帶,將磁帶掛載通過到操作系統中,打開盤符并直接將對應文件拖拽到硬盤上。
當不同的歸檔系統之間需要進行數據交換時,可以直接以文件為單位進行應用級別的數據交換,也可以復制一份磁帶的副本進行物理級別的交換。
LTFS技術是磁帶技術的一大革新,索引區的提出解決了實體文件與元數據分離的問題,實現了文件歸檔的原子操作,使磁帶讀寫不再依賴其他歸檔軟件,便于用戶進行數據交換。它將磁帶上的數據以文件的形式展現給用戶,使得用戶可以像磁盤一樣對磁帶進行拖拽操作,實現了磁帶數據的立即可用。
本文對LTFS技術進行了研究,并詳細介紹了“新華08”視頻歸檔系統中LTFS技術的應用。該系統將LTO-5磁帶格式化成LTFS格式,利用索引區存儲元數據文件和低碼流文件,數據區存儲高碼流文件,簡化了視頻歸檔操作流程,給歸檔文件的查找與獲取提供了更直觀的方式,實現了視頻歸檔的原子操作,解決了磁帶的數據交換問題,降低了系統建設的成本。
“新華08”視頻歸檔系統中LTFS的應用是新華社音視頻媒資系統擴容改造的一個試點。LTFS作為一個新興技術,其技術的成熟程度和系統的穩定性還需要進一步實踐驗證。另外由于LTFS對磁帶有了更高的要求,原有的磁帶不能支持LTFS,系統的升級也是應用中需要考慮的一個問題。■