如今, 大部分图书馆、档案馆等机构中都长期保存着海量的数字资源, 包括文本、图像、音频、视频等, 并将其存储在不同的硬件中, 使用不同的软件来编辑和读取它们。然而, 随着信息技术的迅速发展, 数字资源的文件格式, 以及读取这些数字信息的软、硬件设备都会频繁地更新和升级, 使长期保存的数字资源面临无法访问使用的危险。数字资源的存储管理者为了保证所保存的数字资源的长期可用性, 需要频繁地、花费巨额资金对与长期保存系统相关的软硬件和格式进行维护和更新。数字资源存储机构面临着如何处理格式、软件、硬件过时的问题。
自20世纪80年代数字资源长期保存的概念提出以来, 国内外一直有大量的研究工作在进行, 例如:美国国会图书馆的NDIIPP[ 1], CEDARS[ 2], CAMiLEON[ 3], NEDLIB[ 4], 同时, OCLC/RLG保存元数据工作组[ 5]也一直着手于数字内容长期存储策略的调查研究。然而, 很多系统、服务、工具仅仅解决了整个长期保存过程中的一部分问题。例如, 英国国家档案局的PRONOM项目[ 6]、全球数字格式登记系统 (GDFR)[ 6]、统一数字格式注册表 (UDFR)[ 8]和VersionTracker[ 9]都是软件和格式注册登记机构, 可以帮助人们获取最新的及可用的文件、软件的版本;OCLC的INFORM项目[ 10]和康奈尔大学的虚拟远程控制项目 (VRC)[ 11]则提供风险测量和告知服务;输入对象模型 (TOM)[ 12]和IBM的UVC仿真项目[ 13]分别提供迁移和仿真服务;XENA[ 14]可以将数字对象转换成独立的XML格式的文件等。
本文提出一个灵活而集成的、基于Web服务的自动过时风险管理系统——AOMS。通过该系统, 存储管理者可以根据需要定期扫描本地长期保存系统中所有数字资源的格式、软件和硬件信息, 通过与注册信息库中的最新信息比较, 监控格式、软件和硬件的过时状况, 并可以通过AOMS检索发现最佳的长期保存服务, 帮助他们消除数字存储中遇到的风险。
若能开发一种灵活的、可扩展的框架模型, 整合不断增加的各种长期保存工具和服务, 利用不同时期、不同国家的长期保存成果, 将意义重大。PANIC、AONS I和AONS II系统就是这个思想的先行者。
PANIC 模型由澳大利亚国家图书馆的Hunter等[ 15]提出并开发。PANIC系统可以动态地整合不断增长的长期保存服务, 并提供决策支持和推荐服务, 从而帮助长期保存管理者为具体的数字对象或运行环境选择最佳的某个单独服务或一组服务的组合。PANIC的开发建立在三个很有潜力的组成部分基础上, 这三个部分可以共同为存储管理者制定保存计划服务:.
(1) 信息登记:存储关于文件格式的有用信息;
(2) 保存工具 (如迁移服务、仿真服务等) :预测、避免或补救这些变化的影响;
(3) 一个全球信息网:通过该网, 可以查找关于文件格式过时的说明信息, 并立即使这些信息引起存储管理者的注意, 以便对存储行为做出正确的决策。通过该网, 存储管理者还可以远程查找并获取需要的保存工具和服务。
2003年, 在澳大利亚国家图书馆 (NLA) 的倡议下, PANIC模型中“过时识别和告知”部分的进一步研究工作开始展开。2006年, NLA与澳大利亚国立大学 (ANU) 合作, 构建了AONS I的原型。AONS I[ 16]软件“是一个用来分析数字知识库, 并决定其中的任何数字对象是否危险或将要过时的软件。”为了做出决定, AONS I从PRONOM和LCSDG登记系统获取信息, 定期核查知识库中的内容。当发现知识库中包括由于格式即将过时而处于危险之中的对象时, 将以E-mail的形式发送一份提醒报告给知识库管理者。
2007年, NLA与其他APSR (澳大利亚长期存储合作联盟) 合作伙伴联合发起了AONS II[ 16]软件开发项目, 该项目优化并扩展了AONS I软件原型的功能。AONS II也是通过参考外部登记系统的文件格式信息来寻找关于格式过时危险指示的信息。如果发现相关的指示, 该工具将生成一个通知, 发送给指定的人。与AONS I不同的是, AONS II认识到查阅内部信息的必要性, 使存储管理者在内部和外部指示的基础上更加灵敏地确定危险的级别。一旦为特定的知识库格式表建立了危险分布图, 该软件可以被设置并用于定期查找目标索引, 对其变化自动生成一份通知, 或者应该实施一次新的危险评估, 或者需要进行保存活动。
PANIC 的框架结构和方法为长期保存开辟了新思路:.
(1) 充分利用和整合长期保存有关研究和开发的成果;
(2) 使长期保存的管理工作半自动化, 大大减轻了各机构的管理工作负担;
(3) 为机构寻求长期保存专业服务提供了便利、节省自雇专业人员与自购专业设施的成本;
(4) 为长期保存服务提供机构开拓了更多的市场、节省了市场营销成本。
PANIC的开发思想和理论原则相对完善, 值得借鉴, 但也有一些局限性:.
(1) 服务需求与服务的描述, 以及两者的匹配与发现是基于Semantic (Ontology) Web Service的, 整个匹配与发现的准确性和结果依赖于Ontology的建立[ 15]。但是Ontology的建立需要领域专家的大量工作, 还涉及到软硬件等不同领域, 而且该工作的成果要得到广泛的认可, 也需要很多时间和实践, 目前尚缺乏 Ontology的建立工作。因此, 就目前来看还不具有实用性 (不过未来前景是很好的) 。
(2) PANIC对风险的发现只局限于文件格式和软件[ 15], AONS II仅完成了格式过时的发现和提醒, 而实际上长期保存的风险还包括:存储介质的老化和过时;读取存储介质的硬件设备的老化和过时;创作软件和读取软件的过时;操作系统的更新和过时, 会导致软件不可用以及硬件无法驱动;文件格式的过时;灾难 (自然灾害、人为破坏或过时灾难、战争、恐怖活动等) 的风险等。
很多图书馆、情报所、高校等机构都长期保存着大量的数字资源。然而, 计算机与信息技术的迅速发展导致数字资源剧增, 并产生过时的文件格式, 软硬件的频繁升级更新也产生大量新的软件类型和硬件设备, 还有其他一些不容延迟又不可预测的因素, 均会导致很多文件格式随时无法使用已有软件打开、很多应用软件无法读取新的文件格式、很多硬件因老化而无法与新软件和新技术兼容。因此, 本文设计AOMS自动过时管理系统, 通过整合不断增长的方法、工具和服务, 有效利用不同保存机构的研究成果, 开发一个灵活的、可扩展的基于Web的框架模型, 如图1所示:
.PANIC原型系统设计了数字资源长期保存中软件和格式的若干功能, 包括:本地资源的长期保存元数据抓取、标准信息采集、风险过时提醒和服务发现的功能。通过对数字资源长期保存系统全面、综合地分析, AOMS在PANIC设计思想的基础上着重设计、扩展、实现了以下几个功能:.
(1) 全面的风险提醒:AOMS不仅考虑文件格式和软件版本, 还考虑存储介质、硬件、OS等因素, 综合全面地考虑和管理这些风险。与PANIC相比, AOMS增加了对数字存储中存储媒体和读取设备的本地信息抓取和标准信息采集, 扩展了需要扫描的本地软件的类型, 增加了对长期保存中操作系统、驱动程序、编辑软件的监测;基于多个方面的长期保存的风险因素, AOMS实现了相应元数据抓取和著录、风险发现和提醒功能;用于支持长期保存服务发现和描述的元数据也需要进行相应的扩充。
(2) 帮助规划安排保存行为:在综合考虑上述多种风险因素的情况下, 系统发现和提醒的一些风险可能是交错的, 因此, AOMS将为寻求相关长期保存服务和采取措施的顺序和步骤提供一定指导, 以帮助决策。与PANIC相比, AOMS增加了对所有发现的风险按照时间、成本、综合指数等的排序功能, 还增加了对最佳长期保存服务的调用功能。
(3) 长期保存服务的发现和描述机制:AOMS系统中对服务需求和服务信息的描述, 都是基于Web Service, 而非PANIC的基于语义Semantic (Ontology) Web Service, 从而整个匹配与发现的准确性和结果不再依赖于Ontology的建立, 提高了系统的实用性。
通过以上功能的扩展和完善, AOMS不但为数字资源长期保存的管理者提供软件、硬件、格式过时信息的监控功能, 还可以发现合适的最佳长期保存服务提供商以帮助管理者摆脱这些风险, 并对所有发现的长期保存风险进行排序, 为管理者在有限时间和精力的
.AOMS体系结构如图4所示:
.在AOMS系统中, 为了发现数字资源存储机构中存在的过时风险, 首先必须对本地长期保存系统中的数字资源、相关软件、存储媒体、读取设备的参数信息等本地信息元数据进行抓取, 并遵循规定格式的本地信息XML Schema将其存储成.XML格式的文件;然后从已有的或自建的标准参照信息库中采集所需要的相应的格式、软件或硬件信息, 同样遵循规定的标准信息XML Schema将其存储成.XML格式的文件;最后按照相同元素类型下相同参数值进行比较的原则, 将本地信息元数据和标准参照信息元数据进行相应关键字的匹配和比较, 得出相应元素的过时风险结论。根据风险结论对风险信息按照一定的规则进行排序, 继而发现解决该风险的服务提供商, 并调用相关的服务程序, 解决风险问题。AOMS系统包含5个主要的软件组成部分, 以支持整个保存过程中的5个步骤:.
(1) 本地长期保存元数据获取.
该组件包括JHOVE[17]、PREMINT[ 18]等各种获取数字对象长期保存元数据的工具。长期保存元数据被保存在扩展的METS[ 19]Schema中。
(2) 标准信息采集.
标准信息库分为软件、硬件、格式三大类, 每种类型的标准信息库由若干已有的或自建的、可以即时更新的数字文件格式登记系统组成。这些标准信息库中存储着与数字资源长期保存有关的最新的和可用的软件版本以及这些软件支持的数字格式类型、最新的和目前可用的硬件媒体以及这些硬件媒体采用的最新技术和特性。AOMS系统的标准信息采集模块采用PRONOM和GDFR两个国际数字文件格式登记系统作为软件信息和格式信息的标准信息库选项;由于目前硬件标准信息缺乏权威的信息来源, 因此AOMS硬件信息库的建立参考了“中关村在线”[ 20]中的最新硬件信息或通过自建的方式建立了注册信息库。
(3) 风险发现和提醒.
软、硬件和格式注册中心里存储着目前最新和可用的软、硬件和格式信息元数据, 并周期性地将与本地存储的数字对象相关的软、硬件和格式方面的长期保存元数据进行比较, 从而进行监测。此外, 该组件周期性地检查关于存储媒体、硬件、操作系统等元数据, 得到预期使用寿命、过时信息、潜在的兼容性等风险。当本地存储的某个数字对象的软、硬件和格式信息与最新可用和得到推荐的软件或格式存在不一致, 或者存储媒体、硬件、操作系统等造成长期保存的风险时, 该组件将向数字存储管理者发送消息。
AOMS首先遍历本地数字资源长期保存系统中存储的所有文件, 相关的所有读取软件和编辑软件, 以及所有相关的存储媒体和读取设备;然后根据得到的本地具体格式、软件或硬件的信息类型, 在相应的标准信息库中检索相同名称的信息类型下对象的名称、类型及其他相关属性的值;如果名称不同, 则提醒管理者是否需要购买新的软硬件或对格式进行大批量的迁移转换操作, 如果名称相同而其他属性值不同, 则提醒管理者是否需要对软件、格式进行更新升级操作。定量风险评估方法, 例如VRC, INFORM或AONS II等, 都能够很容易地整合进来以帮助触发这些提醒功能。
(4) 长期保存行为决策的规划和安排.
每次运行AOMS系统, 对于较大规模的数字图书馆来说, 发现数百条的风险信息不足为奇, 而且系统发现和提醒的一些风险可能是交错的。对于日常工作繁忙、事务繁杂的数字存储管理者来说, 要想在短时间内阅读、理解、选择、排序数目如此庞大的风险信息, 是件费力的事情。因此, 在AOMS系统中检测到各个风险并呈现给管理者之后, 再为数字存储管理者提供过时措施的规划建议非常必要。
应该为寻求相关长期保存服务和采取措施的顺序和步骤提供一定的参考信息, 以帮助决策。例如一些图片存放在硬盘上, 某个时刻, 系统发现和提醒的风险情况如下:图片格式过期需要转换格式, 同时硬盘快到保守使用寿命 (例如6年) 需要迁移到新购的硬盘上, 同时该种技术的硬盘正在逐渐被新技术的硬盘所取代 (2年内可能被完全取代) , 那么, 长期保存方案的规划和决策在这时就显得十分重要。
(5) 长期保存服务的发现与调用.
当需要采取长期保存行动时, AOMS系统允许存储管理者指定所需的长期保存服务的具体参数和属性信息。随后, 发现代理对用户指定的具体参数和可用的保存服务的描述信息进行匹配, 动态地发现最合适的长期保存服务。该模块使所有的长期保存软件可以通过Web Service调用, 用WSDL对其进行描述;而其他的长期保存服务则做成黄页, 提供服务信息, 并根据为AOMS设计的长期保存服务描述 (Preservation Service Description, PSD) XML Schema对其进行描述。存储管理者从由发现代理检索到的服务危险等级列表中选择合适的服务。然后, 服务选择和调用代理为子对象选择并调用最佳的长期保存服务, 并更新本地相应的长期保存元数据。
为实现该模块的功能, 首先需要建立一个或者即时捕获并自动生成一个长期保存服务提供商信息数据表, 然后根据过时检测提醒模块生成的风险信息中的关键词, 搜索合适的服务信息, 进而得到提供该服务的供应商的信息, 从而能够购买并调用该服务。该功能模块主要向数字存储管理者提供如下信息:需要升级更新、迁移转换或购买更换的文件、软件、硬件的具体位置;提供这些服务的服务商的名称;服务商的具体信息, 包括:公司名称、公司地址、电话、公司网站、E-mail等;如果需要对大批量的数字对象进行仿真或者迁移转换, 希望将处理后的数字对象放置的具体本地磁盘位置;是否需要对做过处理转换的数字对象、软件、硬件媒体等相关信息元数据进行相应更新, 以便于对更新后的数字资源长期保存系统进行管理、查询等操作。
(1) 自动元数据抓取.
①格式: 利用XENA将数字对象转换成独立于软硬件的XML格式, 通过Java程序从这些XML文件中获取有用的元数据。或者通过整合JHOVE (the JSTOR/Harvard Object Validation Environment) 这样的服务, 抽取详细的格式技术元数据。
②硬件: 编写Java程序, 从相关的Windows注册表中读取硬件信息, 获得硬件元数据。查找Java API或者通过编程, 从Windows注册表中调用与硬件相关的接口。
③软件: 与硬件元数据抓取类似。VersionTracker是一个抓取软件信息的比较好的软件, 但是需要将该软件抓取到的信息转换成XML格式的文件。
(2) 手工元数据录入.
利用PANIC团队开发的长期保存元数据输入工具 (PREMINT) , 通过动态地向用户呈现一系列表格来收集描述元数据、技术元数据、目的元数据、长期保存元数据和保存态度元数据等内容。
通过与国家图书馆数字存储的相关人员沟通, 笔者了解到:数字资源存储机构购买的各种数据集中数字资源文件的格式种类并不复杂, 数据集中的文档、图片、音频、视频等文件通常采用一种或几种格式类型;而且, 存储和读取这些数据集的硬件设施和软件类型也比较统一, 集中在一种或几种格式和版本。所以, 在AOMS的本地信息获取阶段, 采用手工录入的方式并不复杂, 而且精确度会更高。本文开发的AOMS试验系统采用手工录入的方式来提取数字对象的元数据信息。
(1) 格式注册信息库: GDFR、PRONOM[ 15]或UDFR的一个子集。
(2) 软件注册信息库: VersionTracker的官方网站拥有一个可供人们检索的软件版本注册库, 利用该库来帮助管理员决定是否应该更新、升级或修补正在使用的应用软件。
(3) 硬件注册信息库:参考“中关村在线”中的最新硬件信息自建。
(4) 推荐、建议信息库: 参考美国研究图书馆组织 (RLG) 或美国国会图书馆自行建立。
AOMS设计了本地信息和标准参考信息的XML Schema, 并通过XML编辑软件XML SPY5完成这两个XML Schema的制定, 主要包含文件格式、硬件和软件三大部分的内容。详细内容包括:.
(1) 硬件:分为存储媒体和读取设备两大类, 存储媒体包括存储数字资源的软盘、硬盘、磁带、光盘 (CD、DVD、BD-蓝光光盘) 、缩微胶片等;读取设备包括对应的用来读取这些存储媒体上的数字对象的软驱、光驱 (CD-ROM、DVD-ROM、BD-ROM) 、磁带机、磁带库、缩微胶片读取设备等。元数据项主要有:ID号、生产日期、使用寿命、最佳使用期限、容量、类型、刻录速度、记录时长等。
(2) 软件:分为读取软件、编辑软件、操作系统、驱动程序4类。元数据项主要有:安装的磁盘位置、名称、版本、功能、支持的格式、依赖的平台等。
(3) 文件格式:分为文本格式、图片格式、视频格式、音频格式、数据集格式、压缩格式等。元数据项主要有:磁盘位置、名称、版本、生产厂商、编辑/打开软件等。
.由于计算机技术不断发展, 新的文件格式和软硬件类型不断涌现, 为使AOMS系统实现动态风险提醒的功能, 本文设计的两个Schema都是可以动态添加和修改的。这两个Schema的不同点主要是:标准信息Schema中存储媒体、读取设备、软件、格式中包含的具体软硬件或格式类型更加全面, 每个软硬件或格式类型的属性信息也比本地信息Schema中相同软硬件或格式类型中的属性信息更加全面。两个Schema的具体层次结构和内容安排如图5所示。
(1) 编程来构建一个组件, 当长期保存系统中的一个对象目前的软件、硬件或格式元数据与标准参考信息库里的最新版本不一致时, 向相关责任人或软件代理发送信息, 告知其潜在的危险。AOMS风险信息生成流程如图6所示:
.(2) 当几种风险发生在同一个数字对象上时, 应将所有的风险和建议都展示给管理者。
格式风险发现与提醒模块的部分代码如下:.
for (int i = 0; i < Llist32.size () ; i++) {.
/*循环遍历本地信息中所有的格式元素*/.
Element Le1 = (Element) Llist32.get (i) ;
/*读取每个格式的所有元数据项*/.
String Lname = Le1.getName () ;
String fLocation = Le1.getAttributeValue ("Location") ;
String Lfname = Le1.getChildText ("name") ;
String Lfver = Le1.getChildText ("Version") ;
String Lfname1 =Lfname.toLowerCase () .trim () ;
String Lfver1 =Lfver.toLowerCase () .trim () ;
List Sflist = Selement31.getChildren (Lname) ;
/*找到标准信息中同格式名的元素*/.
for (int j = 0; j < Sflist.size () ; j++) {.
/*读取同名格式的所有元数据项*/.
Element Sfelement = (Element) Sflist.get (j) ;
String Sfname = Sfelement.getChildText ("name") ;
String Sfver = Sfelement.getChildText ("Version") ;
String Sfname1 = Sfname.toLowerCase () .trim () ;
String Sfver1 = Sfver.toLowerCase () .trim () ;
/*如果软件名称相同, 版本不同, 则建议进行软件的升级更新*/.
if (Lfname1.equals (Sfname1) && ! (Lfver1.equals (Sfver1) ) ) {.
aalist.add (sum1 + ". " + Lname + "格式类型中\"" + Lfname+ "\"的最新版本是\"" + Sfver + "\";您目前使用的是\""+ Lfname + Lfver + "\".请考虑是否对其进行更新."+" ("+fLocation+") ") ; } .
(1) 有几种不同的风险相互交叠时, 用来解决这些风险的所有服务都应该被列举出来。
(2) 提供建议, 例如, 各种风险的危险程度等级列表和相应的服务顺序, 帮助保存管理者确定需要采取的长期保存行为的顺序。按照标准参照版本的发布时间与当前长期保存系统中相应版本发布时间的差值大小来排序的规划安排流程, 如图7所示:
.目前, AOMS仅在一部分格式、软件和硬件信息数据的基础上进行各项功能的测试, 试验结果证明该系统是有效而且高效的。AOMS风险信息显示与过时措施规划界面分别如图9和图10所示:
![]() | 图10 AOMS过时措施规划界面 |
在未来的开发中, 将在以下三个方面做出改进和完善:.
(1) 系统应用。系统还没有正式运用到图书馆的数字资源长期保存系统服务中, 目前刚开发出一个试验系统。但是在AOMS试验系统上的成功运行使笔者相信其在数字资源长期保存系统中的运用只是一个时间问题。
(2) 扩展适用平台。目前AOMS是在Windows操作系统下开发和运行的, 对本地信息的获取主要是针对Windows环境下的文件特点实现的, 并对Windows注册表进行读取操作。若要让AOMS能够在Linux、Unix、Windows三大主流操作系统上都能运行, 还需要开发获得Linux和Unix系统信息的程序。
(3) 对XML文档的操作。本系统对所生成的XML文档并没有涉及到太多的编辑过程, 如果进行系统功能扩展, 可以考虑引入DOM技术或者SAX技术对XML文档进行系统管理。
在借鉴PANIC、AONS等系统设计原理的基础上, 本文研究并设计了一个灵活而集成的、基于Web Service的自动过时管理系统——AOMS, 定义了AOMS的基本概念, 规划AOMS系统的基本功能, 设计AOMS系统的6大功能模块, 并进行试验系统的开发和测试。AOMS将帮助数字资源管理者监控与数字资源对象有关的文件格式、软件、硬件等的过时状况;根据长期保存风险检测结果发现合适的长期保存服务;并对需要采取措施的顺序和步骤提供一定的指导信息。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|
[20] |
|