王繼娜
(河南省圖書館,河南 鄭州 450052)
數字長期保存是指在未來很長的一段時間,無論數字資源的生產者、目標用戶和科技發生什么樣的變化,系統都能保證其存儲數字資源的正常訪問、存取及維護,并能提供與資源相關的元數據、背景信息。隨著計算機及互聯網技術不斷的發展、進步,大數據時代正式到來,越來越多的單位和機構需要對大體量數字資源進行長期保存,比如電子郵件、電子醫療檔案、財務數據、油田開采數據等[1]。而影響數字信息長期保存的因素主要涉及標準、載體、安全、技術、經濟等多方面原因,其中,數字長期保存面臨的主要挑戰是技術落后。
云存儲技術的出現為數字長期保存項目建設更大型、更復雜的系統提供了技術保證。與傳統的數字保存系統相比,云存儲系統利用其分布式、跨系統、跨設備的存儲和計算能力,在大大降低存儲成本的同時,使系統的可擴展性、靈活性和可用性也得到了極大的提升。用戶可以在任何地點、任何地方,使用任何可連網的設備和操作系統連接到云上方便地訪問數字資源。另外,云存儲技術也催生了新的數據模型,把用戶和系統定義的元數據集成在一個數據單元中,為用戶未來使用數字資源提供更加豐富的背景信息。
云存儲是通過集群應用、網格技術或分布式文件系統等功能,將網絡中大量不同類型的存儲設備通過應用軟件集合起來協同工作,共同提供數據存儲和業務訪問功能的一個系統[2]。云存儲由多個存儲設備構成,通過存儲虛擬化、分布式技術、智能配置等多種云存儲技術的支持和融合,使多個存儲設備可以對外提供同一種服務,從而實現用戶在云端隨時隨地地訪問和管理。因此,可以說云存儲不僅是存儲技術或設備,更是一種服務[3]。
隨著云存儲和云計算技術的不斷進步,云存儲系統應該具備更強的可拓展性和兼容性,其存儲的數據應可以方便地遷移到不同的云存儲系統中,并能提供新的數據服務。而這些變化應該對終端用戶透明,用戶不用更換設備或軟件就可以一如既往地檢索、下載和使用系統中的數字資源。很多企業和機構擁有不同類型的數字資源,一般會根據數字資源的特點、價值和存儲成本等因素制定多種有針對性的數字長期保存標準和策略。隨著技術的發展和機構信息需求的不斷變化,這些標準和策略都需要不斷地進行調整和完善。其主要目標包括:
①為用戶提供不同云存儲、云計算平臺訪問服務,支持不同云存儲系統之間的數字遷移,并支持數字資源在不同云存儲平臺之間的協同存儲。
②為采用多種云存儲系統的用戶提供更加靈活的數據模型,以及更強的數據管理能力,滿足不同數字保存系統的存儲標準及不同數字訪問請求。
③基于虛擬應用,為用戶提供虛擬計算機和虛擬軟件來訪問云存儲系統,以便更好地理解系統存儲數字資源的內容信息。
④為云存儲系統提供數據完整性、真實性驗證服務,對不同云存儲系統保存的相關數據及數據關系進行有效管理、維護,保證數據的一致性。
數字長期保存面臨的問題主要分為兩個方面:物理存儲和邏輯存儲。物理存儲面臨的威脅包括存儲設備的老化、過時,人為操作失誤造成的數據丟失、損壞,黑客攻擊,甚至是由于自然災害(如水災、火災、地震等)造成的數據損失等。邏輯存儲面臨的問題包括服務器、操作系統、數據管理軟件,或者是用戶的變化造成的數據無法使用和理解等。另外,由于數字長期保存系統中存儲的數據大部分一經保存就很少使用,其完整性和真實性驗證也存在很大的問題。
云存儲系統由于支持廠家眾多,開放式接口以及分布式存儲和分布式計算能力,為數字資源長期保存提供了更大的靈活性、可拓展性和更強的冗余性能。從長遠來看,采用云儲存技術可以讓數字保存系統從容地更換服務提供商,而不會對數字資源造成任何影響,極大地提高了系統財務支持的可持續性。另外,云存儲系統采用分布式、協同保存,在進行系統數據備份和保存數據時大大提高了工作效率。
數字長期保存的一條核心要求是在不確定時間期限的未來保證數字資源的可用性和可理解性。因此,數字資源的原始狀態并不是最重要的信息,數字資源包含的內容信息才是長期保存的核心關鍵,也就是說數字資源的數據格式隨著技術的發展可能會不斷進行數字遷移而發生改變。云技術采用虛擬應用可以更好地為數字保存系統提供服務,讓用戶可以不用改變硬件設備、操作系統和應用軟件就能方便地訪問、下載和使用數字資源。
雖然云存儲技術具備諸多優勢,但數字資源長期保存系統涉及面很廣,包括軟件、硬件、機構管理和人員等,因此云存儲在數字長期保存方面還存在缺陷和不足,主要體現在以下幾點:
3.2.1 數據驗證
云存儲平臺通常只對保存的數字資源進行一次驗證,但不提供固定期限的數據核驗,這對數字長期保存系統來說是遠遠不夠的。另外,在驗證算法方面,云存儲平臺一般只支持一種算法,而數字長期保存系統要求采用多種算法進行數據檢驗。
3.2.2 數據鎖定
不同的云存儲服務提供商都對自己存儲的數字資源進行數據鎖定,從系統外部很難獲取完整、可靠的數字資源,如果在未來云存儲服務提供商破產或無法提供服務,會造成很大的數字資源丟失風險。
3.2.3 數據認證
數字保存系統通常都要求對其保存的數字資源及訪問請求進行認證、審核和驗證,從而保證數字資源的完整性、真實性和可靠性,但云存儲系統大都無法提供相關的管理標準和技術支持。
3.2.4 元數據擴展
數字保存系統對元數據的可擴展性要求很高,因為隨著時間的推移,元數據的內容可能會越來越大,變得更加復雜,這樣才能保證數據的內容信息被更容易地理解和使用。但現在的云存儲系統對元數據的支持非常有限,提供的元數據存儲空間也很小,很難滿足數字長期保存的需要。另外,云存儲系統對元數據檢索和更新等方面的技術支持也非常不足。
3.2.5 事務跟蹤
數字長期保存標準要求系統應對數據訪問、軟硬件設備升級、數據遷移等操作進行跟蹤記錄,以確保數據來源的真實性、可靠性能得到長期驗證。雖然云存儲系統提供服務的用戶群更為廣泛,但卻不對這些信息進行記錄,這樣就無法保證數據的連續性和一致性得到驗證。
3.2.6 邏輯存儲
數字資源長期保存并不是只對數據進行物理存儲就萬事大吉,在未來數據信息的理解和使用才是長期保存最根本的目的。而現有的云存儲系統大都沒有集成數字資源的邏輯存儲系統,無法達到數字長期保存的標準要求。
雖然云存儲系統還不成熟,但其靈活性、可拓展性、經濟性等優勢對數字長期保存至關重要。
從云存儲系統的對比分析發現,僅使用現有的云存儲平臺簡單地把數字資源進行保存,并不符合數字資源長期保存的要求。因此,建設一個符合數字資源長期保存標準的云存儲平臺環境對數據的長期訪問、存儲、驗證和使用至關重要。目前,國際上已經有一些數字資源保存機構開展了相關的研究。筆者以PDSCloud為例做進一步介紹。
PDS(Preservation DataStores)Cloud是歐盟 FP7(歐盟第七框架計劃)的一部分[4],是一個基于OAIS參考模型[5]的復合云存儲服務平臺環境,支持邏輯存儲并能把邏輯對象轉換為適合云存儲的物理對象。同時,它通過中間件來連接不同的云存儲服務提供商與數字保存系統,并對云存儲的元數據格式進行重新定義和擴展,以期優化數字資源的自動存儲。另外,PDS云存儲系統也對自動存儲數字資源提供了更好的支持。PDS云存儲平臺框架和組件如圖1所示。

圖1 PDS云存儲平臺框架和組件
PDS云被設計成用戶和不同云存儲系統之間的中間層,提供訪問、存儲、轉換和下載服務。PDS云通過中間件連接OAIS實體和不同的云存儲系統,在前端為用戶提供攝取、訪問、刪除和保存服務,在后端對不同云服務提供商的云存儲和云計算能力進行協調和平衡,保證其同步工作。
PDS云主要分為兩部分:多重云服務和存儲引擎。多重云服務主要處理和協調不同云存儲和云計算平臺的訪問請求;存儲引擎為系統存儲數字資源提供各種功能模塊,接收不同訪問請求并利用下層的云存儲平臺為用戶提供服務。
4.1.1 多重云服務
PDS云的系統架構支持不同云服務提供商的平臺,同時更注重云存儲和云計算的協同工作能力。為了讓用戶在未來能長期地使用不同的存儲技術,保證不同系統間的互操作性,PDS云把云存儲服務從存儲引擎中獨立出來提供服務。
PDS云使用jclouds(開源的Java類庫)[6]進行云存儲和云計算開發,通過統一接口組件和驅動與下層的云存儲、計算平臺進行交互。PDS云支持公共云和私有云,并提供在多重云存儲平臺保存高價值數據信息的能力。目前支持的云存儲平臺包括Amazon EC2和S3的云基礎架構服務[7]、OpenStack云平臺Nova和Swift,前者是NASA開發的虛擬服務器部署和業務計算模塊;后者是Rackspace開發的分布式云存儲模塊[8]。
4.1.2 存儲引擎
存儲引擎包括了所有數字長期保存的功能模塊,最頂端是服務請求處理接口,通過服務器端的Http協議與PDS云用戶進行交互,對Http訪問請求進行解析和驗證,最后提交給下層PDS云服務模塊進行處理。存儲引擎底端云映像處理器負責把AIPs(存儲信息包,包括內容信息和相關元數據)信息進行轉換,再通過存儲處理器和虛擬應用處理器對數據進行云存儲。
存儲引擎包括4個核心服務。AIPs服務負責處理攝取、訪問和刪除各類AIPs數據請求,協調AIPs相關元數據的管理,生成AIP唯一標識符等。在未來,存儲引擎還可以利用SIRF處理器在云平臺中支持SIRF容器。SIRF(Self-contained Information Retention Format)自包含信息保留格式是一種標準的存儲容器格式,它包含多個數字保存對象,不同數字保存對象之間的關系和一個完整的元數據目錄,通過標準化的設計,以期在未來以更低的成本、更快捷的速度和更容易理解的內容保證數字資源的長期保存[9]。
管理服務利用注冊處理器維護存儲系統用戶的定義、特征信息,以及相關的系統管理政策等。
遷移服務支持AIPs的邏輯存儲,它通過不斷對AIPs數據的格式轉換保證在未來不論軟硬件怎樣升級都可以正常使用數字資源。
完整性驗證服務采用多重驗證算法對系統存儲的數字資源進行不定期的檢查,確保其完整性和真實性。普通的云存儲平臺對數據完整性檢測的標準和機制通常都不太健全,無法滿足數字資源長期保存的要求。
AIPs服務、遷移服務和完整性驗證服務有時需要進行大數據量的計算,例如數據驗證、格式轉換、完整性檢測、數據加密等。與傳統的把數據復制到相關設備進行操作相比,在服務器端進行上述處理更加方便、可靠,成本也更低。存儲引擎中的計算模塊storlet處理器負責執行對數據驗證、格式轉換等操作。
PDS云設計數據模型的目標是在多重云和多用戶的環境下,提供透明的數據管理服務和數據訪問服務,并能自動進行數據管理。最終用戶無需了解云存儲系統的服務商、操作系統等細節,也不用改變自己的軟硬件系統配置就能方便地使用自己需要的數字資源。
云存儲系統中存儲的數據訪問通常都采用分層的命名路徑,數據模型包括數據容器和數據對象兩個部分。PDS云存儲系統使用邏輯數據模型和統一分層命名路徑對數據進行管理,可以適用于多種不同云存儲服務提供商的平臺。
PDS云數據結構包括租戶、聚合體、事件表和數據對象。

圖2 PDS云數據模型
租戶是一個參與云存儲的企業或機構。每個租戶都有自己特定的數字資源內容、數字保存政策和用戶群體。雖然云存儲平臺可能在同一硬件設備上為多個租戶提供數據存儲服務,但不同租戶的數據信息在邏輯上隔離,彼此沒有任何關聯。
聚合體是云存儲系統定義數字資源長期保存標準、策略,數據管理方法的配置文件,對云平臺系統以及數據驗證流程等數據訪問和維護策略進行詳細的定義和說明。每個聚合體只歸屬于一個租戶,其配置文件也根據租戶的要求進行定制。聚合體包含的數據對象可以看作是具有同一屬性的數據集合,并以同樣的方式進行管理和維護。
與云平臺的物理容器不同,事件表是一個邏輯實體,是類似于文件系統目錄的對象組。事件表的名稱并不唯一,在不同的聚合體中可以重復使用,不需要與云平臺的容器一一對應。另外,根據不同云平臺的要求,事件表可以只適用于特定的云存儲系統,不一定具有通用性。
數據對象是最基礎的存儲單元,在基于OAIS標準的數字保存系統中對應的是系統的AIP信息,一個數據對象屬于一個聚合體和事件表。通常情況下,一個數據對象有一個名稱和一個邏輯標識符,每一個邏輯標識符像網卡的物理地址一樣全球唯一。當數據對象遷移到不同的事件表和聚合體中時,邏輯標識符保持不變,從而保證系統能追溯數據來源和對數據完整性進行驗證。PDS云存儲系統會在不同的云存儲平臺(比如公共云、私有云)對數據對象進行存儲,以確保數據的安全性。
用戶在訪問數據時,不需要了解聚合體對系統和數字資源的各種規定和要求,PDS云負責對用戶要求進行解析,通過存儲引擎和多重云服務系統,設定數據訪問策略和通道,為用戶提供數據檢索、下載、修改和刪除等服務。另外,云存儲系統中相關配置的修改、更新和刪除等也由PDS云系統完成,對用戶不可見。
隨著大數據時代的來臨,數字資源長期保存需求越來越迫切,技術難度也與日俱增。云存儲和云計算技術的出現在很大程度上為數字資源長期保存提供了便利。PDS云存儲系統通過多重云服務、存儲引擎系統和邏輯數據模型,為傳統的數字保存系統和云存儲服務提供商之間架起一座橋梁,不但避免了云存儲存在的缺陷,同時保證了隨著技術發展、信息需求的變化,系統中存儲的數字資源能長期被檢索、下載、理解和利用。
我國數字資源長期保存系統建設研究實踐正處于起步階段,提供商業云存儲的服務商也非常有限,借鑒國外云存儲服務平臺的先進經驗和教訓,并立足實際情況進行數字長期保存云存儲實踐,對我國云存儲、云計算服務水平的提高,云平臺的優化和完善都有非常大的促進作用,這也是未來數字資源長期保存系統研究工作的重點之一。