文/曾婷 董麗
數據長期保存引入SOA
文/曾婷 董麗
隨著數字資源的急速增長,如何保證資源的長期可用性和永久可讀取性,成為一個非常嚴峻的問題。
數字資源長期保存(Digital Preservation,DP)是指為了長期保存足夠的字節流(包括元數據),以再現對應的原始文件所需采取的措施,以及為了隨著時間和技術的變化繼續存取文檔所采取的行動。數字資源長期保存的概念在上世紀80年代末提出以后,于90年代開始得到正式的研究。
隨著數字資源長期保存的不斷發展,出現了若干可用來構建數字資源長期保存系統的開源倉儲軟件,如Fedora、DSpace、Lockss、aDORe、DAITSS等。DAITSS(Dark Archive In The Sunshine State)是由佛羅里達圖書館自動化中心(Florida Center for Library Automation,FCLA)為佛羅里達數字保存系統所開發的一個數字保存倉儲軟件。在2006年底,人們以GNU GPL許可證方式作為開源軟件發布了第一版。目前可下載的最新版本是2007年底發布的DAITSS 1.2. 6版本。
DAITSS與其他保存系統的最大區別在于:該系統的設計目標是作為數字圖書館和機構倉儲的后臺系統,僅提供倉儲保存功能,不支持外部用戶的直接訪問,需要與其他訪問系統聯合為用戶提供檢索訪問服務。DAITSS專注于保存功能的特點非常適于各機構構建一個基于已有資源環境的保存系統,避免了與其他系統在功能上的重復。
DAITSS基于OAIS(Open Archival Information System)參考模型,執行動態的保存策略,包括遷移、標準化和本地化。
OAIS參考模型
OAIS參考模型是一個全面分析數字資源長期保存活動,并規定其概念、術語和功能結構的總體框架。
OAIS是由美國空間數字系統咨詢委員會(Consultative Committee for Space Data Systems,CCSDS)制定的國際存檔標準,于2003年正式發布。其功能模型如圖1所示。附加功能
DAITSS在遵循開放存檔信息系統OAIS參考模型的基礎上實現了預處理、攝入、檔案存儲、數據管理、管理、分發、撤銷的功能,其中預處理和撤銷是附加功能。下文對這兩個附加功能簡要介紹。
1.預處理功能
由于DAITSS系統采用統一的SIP(提交信息包)進行攝取,因此預處理功能要對附屬機構提交的SIP進行相應的預處理,保證進入系統攝取模塊SIP的有效性;如果不需要對SIP進行進一步的檢查或改變,也可跳過預處理步驟。人們根據實際情況,當運行DAITSS的保存系統時,通過本地化的方法對SIP進行編輯、規范化等處理。
2.撤銷功能
DAITSS的撤銷功能是OAIS模型所沒有的,在客戶要求刪除倉儲內容的情況下使用撤銷功能,可用于修正錯誤(當攝入的SIP有錯誤時)、移除被格式轉換所代替的版本。
撤銷功能包括撤銷請求的認證(外部請求或內容請求)、文件刪除、元數據修改。撤銷操作移除完整的AIP,清除與數據文件相關的所有元數據,只保留與知識實體有關的元數據信息。該操作作為一個事件被記錄到數據庫中,并給用戶和保存系統發送撤銷報告。


在圖書館和博物館服務機構(IMLS)的支持下,佛羅里達圖書館自動化中心基于DAITSS開發了FDA系統。FDA采用MySQL作為關系數據庫管理系統,以IBM的Tivoli進行存儲、管理文件系統中的三個AIP存檔備份。存檔文件的保存層次由FCLA附屬圖書館指定。FDA采取FCLA與附屬保存機構簽訂協議的方式明確在資源保存中的職責和權利。FDA管理存儲資源,保證資源可獲?。桓綄俦4鏅C構選擇哪些資源予以保存,并在遵守版權規定的前提下管理保存元數據,授權予FCLA進行復制、呈現、建立衍生文件。FDA只能保存經授權的資源,極大地簡化了倉儲管理的角色和DAITSS軟件的設計應用。
與Fedora、DSpace、Lockss等用于數字資源長期保存的開源倉儲軟件相比,DAITSS還處于應用發展的初始階段,還沒有形成用戶群體和開發群體。這一方面是因為DAITSS 1.x的開發單位FCLA主要是為佛羅里達州的10所公立大學圖書館提供計算機應用支持,沒有精力為其他應用單位提供更多的應用支持。另外一方面該軟件的設計過于復雜,考慮了許多不太可能發生的情況,導致配置使用和定制比較麻煩;而且以前的設計過于緊耦合,不方便添加新的服務。
為了克服上述問題,并且考慮到數字資源長期保存的概念,涉及到諸多服務的互聯互通,還要使用到許多第三方的專業工具軟件,DAITSS從1.x到2逐漸轉向SOA架構,這樣它作為一個純粹的后臺倉儲系統,可以方便地實現與其他系統的集成、互操作,為各保存機構構建一個基于已有資源環境的保存系統提供了更多的可能性;它本身的模塊化和松耦合,方便各保存機構根據自己的特定需求自由地設計實現理想的工作流程。這些系統設計和功能上的改進將方便其它用戶群體對于DAITSS的配置使用和定制,使得它更加可能在數字保存界得到廣泛接受和應用。
目前,DAITSS 2的開發工作正在進行中,一方面是去掉一些不必要的功能,降低系統的復雜性;另外一方面的主要工作是引入SOA這種面向服務的架構,對目前單一的系統實現模塊化和松耦合,以方便組成系統的各個功能組件的獨立開發、修改、替換,而且能以Web服務調用的方式集成第三方已經實現的功能,并使得自己的各個功能組件以Web服務調用的方式被第三方集成使用。下文對為下一代DAITSS規劃的面向服務的架構的若干組成部分進行介紹。我們可以看到一些外部的開源服務工具在數據處理的工作流程中被調用(見下頁圖2)。
描述服務
在DAITSS 2中,每個數據文件被送到描述服務,進行格式識別、校驗和特征化。
人們使用到的開源服務工具及保存元數據標準如下:
1.PRONOM:由英國國家檔案館開發的一種用來支持數字保存服務的基于網絡的技術注冊機制。目前的核心服務包括:注冊服務、PRONOM永久唯一標識符體系、DROID工具;
2.DROID:全稱是Digital Record Object Identification,一種用來自動執行批量文件格式識別的開源工具;

圖 2 DAITSS系統功能結構
3.JHOVE:全稱是JSTOR/Harvard Object Validation Environment,參見http:/ /hul.harvard.edu/jhove/,是由JSTOR和哈佛大學圖書館合作產生的一個可擴展的開源工具,用于數字對象的格式識別、校驗和特征化;
4.PREMIS:全稱是Preservation Metadata Implementation Strategies,即數字保存界知名的PREMIS保存元數據體系,它在OCLC/RLG提出的保存元數據框架的工作基礎上產生,是關于在數字保存系統中保存元數據所具體實施的策略的內容。
描述服務使用DROID進行文件格式的初步識別,然后根據初步識別的結果選擇最合適的校驗器,完成格式識別、校驗和特征化。對于最常用的格式,一般使用JHOVE的一個修訂版本作為校驗器,DROID初步識別的結果用來選擇初始的JHOVE檢驗模塊。JHOVE處理的結果被解析映射到PREMIS中,同時JHOVE格式信息轉換為一個PRONOM格式標識符。也就是說,數據文件被描述服務處理后,返回一個PREMIS XML文檔,該文檔用來指導進一步的攝入處理。
行動規劃服務
數據文件被描述服務處理后產生一個PREMIS XML文檔,該文檔被送往保存行動規劃服務(作為輸入),然后返回一個簡單的XML文檔(作為輸出),其中包含到文件轉換服務(完成格式遷移或者規范化)的一個或者多個鏈接。如果DAITSS不能夠轉換某種格式,或者一個特定文件包含太多錯誤而不能夠可靠轉換,該服務返回的文檔將包含相關信息。行動規劃服務展示了RESTful方法的一個主要特點,那就是讓鏈接驅動攝入的過程。
格式轉換服務
DAITSS的當前版本是提供數據文件的規范化和遷移服務。下一代DAITSS將通過一系列轉換服務來支持這些轉換。根據行動規劃服務的規定,一個數據文件被送到合適的轉換服務,被轉換后的文件通過HTTP返回。對于提交的單個文件可能輸出多個文件,如一個PDF文件被規范化為若干個TIFF文件,每個文件代表一頁。轉換服務可能是本地開發的程序,也可能是一些開源的工具軟件。
DAITSS作為數字圖書館和機構倉儲的后臺系統,其專注于保存功能的特點非常適于各機構構建一個基于已有資源環境的保存系統,避免了與其他系統在功能上的重復。
AIP服務
所有數據文件,包括原始文件和任何后續版本都提交到一個AIP服務,元數據文件如PREMIS文檔也被保存。當SIP包中的最后一個文件被完全處理后,數據文件完成AIP包的組裝。然后整個AIP包被送往存儲服務,實現分布式存儲。
存儲服務
基于Amazon S3 Web服務的一個簡單存儲服務,將AIP包存儲在幾個位置。該服務的實施大大提高了性能。
風險評估服務
風險評估服務專門用來分析與AIP包相關的保存風險。
DAITSS系統需要運行在Unix或Linux操作系統下,也需要安裝一些基本的軟件環境:
1.MySQL Version 4.x 或更高版本,支持InnoDB data table,而且必須與DAITSS系統安裝在同一臺機器上;
2.Sun Java Virtual Machine (JVM),version 5 或更高版本;
3.Mail Transfer Agent (MTA),如Sendmail或Postfix。
可選軟件
1.Clam AntiVirus:Unix系統下的GPL防病毒軟件;
2.Ghostscript:PostScript處理工具;
3.ffmpeg:一個多媒體編碼,解碼工具集;
4.mencoder:一個視頻編碼器,可以將視頻文件編碼成mplayer支持的不同格式;
5.lqt_transcode:libquicktime項目的一部分,處理quicktime/AVI視頻格式。安裝
下載安裝包daitss-1.2-binary.tar.gz,以root用戶登錄系統,安裝過程如下:

運行安裝命令后,系統會提示一些輸入配置參數,一般情況下,可以選擇系統的缺省配置。
(作者單位為清華大學圖書館)