文|譚樂娟 孫天一
隨著廣電行業(yè)信息數(shù)字化趨勢加快,音視頻數(shù)字信息量迅猛增長,存儲具有長期保存、不可更改、極少訪問、規(guī)模巨大、動態(tài)增長等特點的音視頻數(shù)據(jù)具有重大的社會價值。音視頻歸檔系統(tǒng)自本世紀(jì)初的前十年的發(fā)展,已經(jīng)形成了比較成熟的多級存儲、層層遷移的系統(tǒng)體系結(jié)構(gòu),比較成功的解決了海量音視頻數(shù)據(jù)的歸檔存儲問題。
常見的存儲介質(zhì)有磁盤、磁帶和光盤三種。磁盤是一種常用的在線存儲介質(zhì),具有非常好的隨機讀寫性能,讀寫速度是三者中最快的,但容量較小,價格較高,不易保存,壽命短,耗電,適合存儲較小的、訪問頻繁的數(shù)據(jù)。磁帶技術(shù)發(fā)展較為成熟,且具有容量大、價格低、壽命長、不易壞、可離線存儲等優(yōu)點,但由于是線性存儲的,不適合進行隨機讀寫,因此一般用來存儲不經(jīng)常訪問的歸檔數(shù)據(jù)。光盤存儲也被認(rèn)為是數(shù)據(jù)歸檔的一種手段,其特點是價格低廉,技術(shù)含量低,而且便于大范圍分發(fā),但其容量無法與磁帶和磁盤相比,能夠支持的應(yīng)用也比較受限,因此目前并不適用于企業(yè)數(shù)據(jù)中心級別的數(shù)據(jù)歸檔應(yīng)用。因此,現(xiàn)有的音視頻歸檔系統(tǒng)一般采取在線存儲和近線存儲相結(jié)合的方式,將某些頻繁訪問的內(nèi)容和資料存儲在在線磁盤或者磁盤陣列上,而訪問頻率較低但容量較大的內(nèi)容則存儲在磁帶庫中。
由于磁帶的線性存儲特性,一般都采取將實體文件和元數(shù)據(jù)分離的方式來存儲。磁帶上只存放實體文件,沒有文件名稱、時間以及目錄層次結(jié)構(gòu)等用于描述文件屬性的元數(shù)據(jù),這使得磁帶不具備自描述性。這樣,文件在磁帶上并不是完整的,它們的元數(shù)據(jù)必須通過額外的數(shù)據(jù)庫來保存。這種實體文件和元數(shù)據(jù)分開存儲的方式也給磁帶的使用帶來了很大的不便,用戶想要對磁帶進行讀寫,必須通過特定的歸檔軟件進行,不像磁盤和光盤那樣可以直接拖拽。而且市場上的歸檔軟件種類繁多,每款軟件各自的存儲格式都有所不同,彼此間缺乏相互操作性,所產(chǎn)生的元數(shù)據(jù)信息不能通用,這使得它們之間的信息交換變得非常困難。
為了改變這種情況,研究者們做了很多的嘗試。某些備份機制,比如Unix/Linux中的tar文件打包指令,可以建立具有自我描述行的磁帶副本,由于tar是公開的標(biāo)準(zhǔn)指令,這就解決了磁帶備份缺乏通用性的問題,任何Unix/Linux都可以用tar指令將文件從磁帶中解出來。但這種方式?jīng)]有解決磁帶文件不能立即使用的問題。某些廠商曾經(jīng)推出一些可以讓磁帶擁有像磁盤一樣及時操作功能的軟件,如XenData公司的XenData Archive,Qumtum公司的SNSM系統(tǒng),國內(nèi)中科大洋公司和索貝數(shù)碼公司的視頻資料庫產(chǎn)品。這些產(chǎn)品的基本思路是將磁帶文件分割成小塊,預(yù)先讀入硬盤緩沖區(qū),讓用戶可以無需完整將磁帶文件存到硬盤就能用多媒體播放軟件直接播放磁帶中的視頻文件。這種方式雖然一定程度上解決了磁帶文件立即使用的問題,但必須在廠商特定的軟件下才能生效,不是通用的。真正解決問題的是IBM的LTFS與LTO-5技術(shù)。
LTFS(線性磁帶文件系統(tǒng))被公認(rèn)為是一項會讓磁帶應(yīng)用復(fù)蘇的技術(shù)。通過文件樹形目錄,這種技術(shù)首次讓用戶可以搜索磁帶上的信息,搜索磁帶的流程和磁盤存儲一樣。用戶可以從一盤LTFS格式的磁帶上自由拖放文件,這使得業(yè)務(wù)流程中整合磁帶應(yīng)用以及簡易的長期歸檔成為可能。
LTO-5磁帶格式首次支持LTFS,其支持磁帶媒介分區(qū),驅(qū)動器可以對每盤磁帶寫入兩個可變長度的分區(qū)。一個分區(qū)中包含獨立的分層文件系統(tǒng)目錄,而另一個存放內(nèi)容。LTFS為管理磁帶上的文件提供了一個文件結(jié)構(gòu)類型接口。用戶所需做的就是加載磁帶到驅(qū)動器,數(shù)據(jù)就可以通過瀏覽器或磁帶相關(guān)應(yīng)用進行訪問。
LTFS要求磁帶支持雙分割區(qū)功能,一個數(shù)據(jù)區(qū)(Data Partition)和一個索引區(qū)(Index Partition)。數(shù)據(jù)區(qū)中存放了所有的數(shù)據(jù)內(nèi)容與元數(shù)據(jù),而索引區(qū)則存放數(shù)據(jù)區(qū)中數(shù)據(jù)的附屬子集與附加元數(shù)據(jù)。兩個分區(qū)共同構(gòu)成LTFS Volume,每個分區(qū)的起始都是用于識別的標(biāo)簽(Label)區(qū)段,其后則是存放索引或數(shù)據(jù)內(nèi)容的區(qū)段,不同區(qū)段間則以文件標(biāo)記(file mark)區(qū)隔(圖1)。
標(biāo)簽結(jié)構(gòu)存儲區(qū)由ANSI VOL1標(biāo)簽區(qū)和LTFS標(biāo)簽區(qū)組成。ANSI VOL1標(biāo)簽區(qū)實際上是一個80個字節(jié)的長度的有固定格式記錄。而LTFS標(biāo)簽區(qū)則是一段XML格式的數(shù)據(jù)。
圖1 LTFS格式
標(biāo)簽結(jié)構(gòu)存儲區(qū)后面是實際內(nèi)容區(qū)域(Content Area),在索引區(qū)和數(shù)據(jù)區(qū)的內(nèi)容區(qū)域(Content Area)存儲方式存在一些差別。索引區(qū)里面存儲的是索引結(jié)構(gòu)(Index Construct),其索引結(jié)構(gòu)也是一段XML格式的數(shù)據(jù),描述文件的目錄結(jié)構(gòu)和存儲區(qū)塊信息。當(dāng)刪除或者更新文件時,由于磁帶的線性特性,數(shù)據(jù)沒有實際上被刪除或者更新,而是重新生成了一個變化了的索引結(jié)構(gòu)(Index Construct)插入在之前的索引結(jié)構(gòu)(Index Construct)后面。同時,在數(shù)據(jù)區(qū)中也插入了一個同樣的索引結(jié)構(gòu),放在當(dāng)前數(shù)據(jù)內(nèi)容的最后面。
另外,值得注意的是LTFS的索引結(jié)構(gòu)(Index Construct)的XML,提供了擴展屬性字段(Extended Attributes),通過利用XML的可擴展特性為LTFS內(nèi)存儲的文件添加更加復(fù)雜的描述信息,能夠存儲UTF格式的字符串和base64編碼的二進制數(shù)據(jù)。如圖片1所示。
LTFS除了單磁帶機模式外,還有一種小型磁帶庫模式。當(dāng)磁帶庫將其中某卷磁帶第一次掛載起來時,LTFS軟件會替這卷磁帶的LTFS Volume在硬盤上建立一個對應(yīng)的目標(biāo),作為這卷磁帶的掛載點,其中含有這卷磁帶中的目錄和文件結(jié)構(gòu)。日后當(dāng)這卷磁帶卸載后,用戶可以依靠保存在硬盤上的目錄知道這卷磁帶的內(nèi)容,而不需要實際載入這卷磁帶。用戶甚至還可以從這個實際上只是索引的目錄中打開文件,此時LTFS軟件將會通知磁帶庫將這卷磁帶載入到空閑的磁帶機中,以便實際讀取文件。也就是說,當(dāng)磁帶庫中的磁帶至少放進磁帶機中掛載一次以后,LTFS軟件就能對磁帶中的文件建立硬盤上的快速索引目錄,供日后檢索查詢使用。
在實際應(yīng)用中,要讓LTFS格式發(fā)生效用,必須透過LTFS軟件。LTFS軟件主要有兩個作用:將磁帶機中的磁帶格式化為LTFS格式,并將LTFS格式磁帶掛載到操作系統(tǒng)上,或從操作系統(tǒng)中卸除。
IBM與HP兩大LTO磁帶機供應(yīng)商都推出了LTFS軟件。LTFS軟件主要是通過FUSE(Filesystem in Userspace,用戶空間文件系統(tǒng))來與操作系統(tǒng)整合的(圖2)。LTFS軟件可通過FUSE將LTFS Volume掛載到操作系統(tǒng)的虛擬文件系統(tǒng)層(VFS),通過VFS層與應(yīng)用程序通信。當(dāng)通過LTFS軟件將磁帶中的LTFS Volume掛載到操作系統(tǒng)上以后,用戶就可以將LTFS格式的磁帶當(dāng)成硬盤一樣存取,利用資源管理器或者應(yīng)用程序直接查看或者獲取磁帶中的文件,此時LTFS格式的磁帶就相當(dāng)于外接的硬盤。當(dāng)要更換另一盤磁帶時,只要用LTFS軟件指令將原來磁帶從操作系統(tǒng)中卸載,再掛載新的磁帶即可。如圖2所示。
LTFS軟件包括以下幾個常用指令:
LtfsCmdDrives:查看驅(qū)動器狀態(tài),包括盤符、地址、序列號、狀態(tài)等信息。
LtfsCmdAssign:給LTFS磁帶驅(qū)動器分配一個盤符。
LtfsCmdLoad:手動加載磁帶。
LtfsCmdCheck:校驗并修復(fù)一個LTFS介質(zhì)。一般用于磁帶狀態(tài)異常時。
LtfsCmdFormat:格式化磁帶為LTFS格式,可在格式化時設(shè)置寫入索引區(qū)的文件規(guī)則。
LtfsCmdEject:從驅(qū)動器卸載磁帶。
LtfsCmdUnassign:釋放驅(qū)動器的盤符。
通過LTFS軟件對磁帶進行讀寫操作的一般步驟如下:
1)使用LtfsCmdDrives查看可用的磁帶驅(qū)動器。
2)使用LtfsCmdAssign給每個驅(qū)動器分配一個盤符。
3)將一個磁帶插入驅(qū)動器,如果沒有設(shè)置自動加載磁帶,則使用LtfsCmdLoad指令手動加載。
4)使用LtfsCmdDrives命令查看磁帶狀態(tài)。如果磁帶還沒格式化,則使用LtfsCmdFormat指令格式化磁帶;如果磁帶處于不正常狀態(tài),則使用LtfsCmdCheck指令校驗磁帶。
5)像普通硬盤一樣往磁帶讀寫數(shù)據(jù)。
6)使用LtfsCmdEject指令卸載磁帶。
7)使用LtfsCmdUnassign指令釋放驅(qū)動器盤符。
圖2 LTFS軟件與操作系統(tǒng)整合
與傳統(tǒng)磁帶操作比較,LTFS的優(yōu)點包括:
更直觀的文件和目錄結(jié)構(gòu)顯示:只要將LTFS格式的磁帶掛載到操作系統(tǒng)上,便能通過操作系統(tǒng)的資源管理器將磁帶中的文件和目錄直接顯示在系統(tǒng)桌面上,讓用戶可更直觀地了解磁帶中存儲的文件。
更方便、快速的文件存?。嚎赏ㄟ^操作系統(tǒng)的資源管理器,以拖拽的操作方式將文件移出或者存入磁帶。
更方便的磁帶文件交換與移動:由于磁帶文件是以開放規(guī)格的LTFS格式寫入的,所以無需依賴任何特定的應(yīng)用程序,只要系統(tǒng)能識別LTFS格式,無論什么平臺都能存取LTFS磁帶中的文件。
HP和IBM是兩家主要的LTFS軟件開發(fā)商,而LTFS開放式標(biāo)準(zhǔn)為整個LTO聯(lián)合會所支持。HP在其StoreOpen Automation上支持LTFS,而IBM則在2012年5月在其IBM System Storage LTFS Library Edition中發(fā)布支持LTFS的磁帶庫。其他公司也同樣發(fā)布了支持LTFS的產(chǎn)品,比如Crossroads發(fā)布的StrongBox設(shè)備;Cache-A在其旗艦產(chǎn)品Pro-Cache5、Power-Cache和Prime-Cache5支持LTFS功能。此外,Atempo現(xiàn)在使用的Atempo Digital Archive,一種文件歸檔產(chǎn)品,也全面兼容LTFS平臺。
視頻歸檔一般通過磁帶庫存儲不常用的視頻資料。由于傳統(tǒng)的磁帶不具備存儲元數(shù)據(jù)和流媒體的功能,現(xiàn)有的磁帶庫需要利用數(shù)據(jù)庫和歸檔軟件來實現(xiàn)視頻歸檔,給使用和管理帶來了很多不便,也提高了系統(tǒng)建設(shè)的成本。特別是在小型視頻歸檔系統(tǒng)中(如“新華08”視頻歸檔系統(tǒng)),更是需要一套更為簡單有效的歸檔解決方案。而LTFS技術(shù)正好能滿足這樣的需求。
圖3 “新華08”視頻歸檔系統(tǒng)
據(jù)統(tǒng)計,“新華08”的視頻資料總數(shù)據(jù)量約為25T,視頻時長約為3100小時。為了幫助“新華08”建立視頻資料統(tǒng)一存儲歸檔,并更好地對現(xiàn)有視頻資料進行管理,我們建設(shè)了“新華08”視頻歸檔系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)視頻資料的(實體文件+元數(shù)據(jù)文件)入庫歸檔,權(quán)限控制,分類瀏覽,流媒體在線預(yù)覽,描述信息的檢索查詢,元數(shù)據(jù)的編目加工和修改,歸檔審核等基本功能。系統(tǒng)由非編工作站、工作站、LTO-5磁帶機、Lucence檢索服務(wù)器組成,如圖3所示。
工作站上裝有LTFS軟件,可將磁帶機中的LTO-5磁帶格式化成LTFS格式,掛載在HP工作站上。通過非編工作站完成編輯的視頻文件一般包括高碼流文件.mxf,低碼流文件.wmv,和元數(shù)據(jù)文件.xml、.jpg。低碼流文件和元數(shù)據(jù)文件一份放在檢索服務(wù)器上的數(shù)據(jù)庫,供用戶檢索用,另一份則和高碼流一起通過磁帶機存放在LTO-5磁帶中。
由 于LTFS提供了索引區(qū)和數(shù)據(jù)區(qū)兩個部分,系統(tǒng)利用索引區(qū)存儲數(shù)據(jù)區(qū)中視頻的元數(shù)據(jù)信息和低碼流信息,從而去掉了視頻磁帶歸檔對數(shù)據(jù)庫的依賴性,使得每一盤磁帶成為一個獨立的歸檔單元。在沒有數(shù)據(jù)庫的情況下,只需要讀取索引區(qū)的信息,就能快速得到這盤磁帶中的視頻信息。另外,由于LTFS可以將磁帶像磁盤一樣掛載到操作系統(tǒng)中,因此可以像磁盤一樣對磁帶中的文件進行窗口查看和拖拽操作。
為了實現(xiàn)上述技術(shù),首先用LtfsCmdFormat命令將磁帶格式化成LTFS格式,讓所有高碼流文件存到數(shù)據(jù)區(qū),所有元數(shù)據(jù)文件和低碼流文件存到索引區(qū)。然后將該磁帶掛載到HP工作站上,比如L盤。非編工作站歸檔時,將要歸檔的文件直接存到L盤即可。
當(dāng)用戶需要獲取某個歸檔視頻時,只需要找到該文件所在的磁帶,將磁帶掛載通過到操作系統(tǒng)中,打開盤符并直接將對應(yīng)文件拖拽到硬盤上。
當(dāng)不同的歸檔系統(tǒng)之間需要進行數(shù)據(jù)交換時,可以直接以文件為單位進行應(yīng)用級別的數(shù)據(jù)交換,也可以復(fù)制一份磁帶的副本進行物理級別的交換。
LTFS技術(shù)是磁帶技術(shù)的一大革新,索引區(qū)的提出解決了實體文件與元數(shù)據(jù)分離的問題,實現(xiàn)了文件歸檔的原子操作,使磁帶讀寫不再依賴其他歸檔軟件,便于用戶進行數(shù)據(jù)交換。它將磁帶上的數(shù)據(jù)以文件的形式展現(xiàn)給用戶,使得用戶可以像磁盤一樣對磁帶進行拖拽操作,實現(xiàn)了磁帶數(shù)據(jù)的立即可用。
本文對LTFS技術(shù)進行了研究,并詳細(xì)介紹了“新華08”視頻歸檔系統(tǒng)中LTFS技術(shù)的應(yīng)用。該系統(tǒng)將LTO-5磁帶格式化成LTFS格式,利用索引區(qū)存儲元數(shù)據(jù)文件和低碼流文件,數(shù)據(jù)區(qū)存儲高碼流文件,簡化了視頻歸檔操作流程,給歸檔文件的查找與獲取提供了更直觀的方式,實現(xiàn)了視頻歸檔的原子操作,解決了磁帶的數(shù)據(jù)交換問題,降低了系統(tǒng)建設(shè)的成本。
“新華08”視頻歸檔系統(tǒng)中LTFS的應(yīng)用是新華社音視頻媒資系統(tǒng)擴容改造的一個試點。LTFS作為一個新興技術(shù),其技術(shù)的成熟程度和系統(tǒng)的穩(wěn)定性還需要進一步實踐驗證。另外由于LTFS對磁帶有了更高的要求,原有的磁帶不能支持LTFS,系統(tǒng)的升級也是應(yīng)用中需要考慮的一個問題?!?/p>