6.3内容管理系统组件软件架构
与操作系统相比,内容管理系统是提供可集成服务与应用的平台。然而,一个大型的内容管理系统是一个复杂的联合架构,其中可扩展性的关键是分布式。附加的组件可被集成进该平台,从而增加功能并允许附加的工作流。这些附加的组件可以在设计、结构和执行上千差万别,因为内容管理系统架构不能把一个通用设计强行施加给第三方组件。因此,明确说明所有接口并尽可能标准化是至关重要的。由此,每个内容管理系统模块都需要由以下两者界定:
·完全的接口设计规范(IDS)。
·详细的功能设计规范(FDS)。
任何代码实现仅需能满足这些规范中提出的需求,就可作为一个模块集成到内容管理系统中。
遵从根据基本功能划分的原则,整个系统被分成3个平面,每一个平面主导系统是一个特定的部分。这些系统部分是:
·核心:主导与内容的管理、相关工具以及设备控制有关的所有组件。
·服务:包含增强系统功能或工作流支持的所有相关组件。
·应用:包括所有与用户交互有关的组件。
我们将在后面详细地讨论每个平面主导的特定组件或模块问题。这里需要强调的一点是,这个“分层”的观点与其说是功能的不如说是逻辑的。“应用”可以和“服务”交互,也可以直接访问“核心”组件,对于交互作用,没有特定的方式。因此,这里特意选用“平面”一词而不是“层”。
另外,系统中还有3组垂直服务是可用的:
·作业管理。
·系统管理。
·系统事务管理。
系统主要以面向作业的方式工作,即客户(可以是应用程序或其他系统组件)请求进行作业处理。系统提供的作业管理功能异步处理这些作业,对提出处理请求的实体得出作业成功或失败的报告。通过采用一个柔性且模块化的作业管理方案,在系统支持下,可以基于基本模块(或基本作业),界定新的复杂作业。由此,系统提供了在处理能力上的可扩展性。除了面向作业的方式外,系统的有些部分(如流服务器、自动化系统)依靠常规的客户机/服务器方式使客户通过对服务器的控制来管理传送过程。
系统管理提供对系统的内部监测和管理,这对于分布式内容管理系统非常重要。系统事务管理则处理那些影响整个系统或者系统所有组件的事务。
对内容管理系统中几个客户机与服务器组件之间的通信,有多种解决方案。其中之一是公共对象请求代理体系结构(Common Object Request Broker Architecture, CORBA),它是由对象管理组(Object Management Group, OMG)在2002年提出的。CORBA互操作平台后来被ITU接受为标准(ISO/IEC19500-2);完整的CORBA框架也被提交给ISO以成为标准。可用于此处的其他通信方法还包括运行于微软Windows平台的微软DCOM(1996年提出)和远程过程调用(Remote Procedure Call, RPC),后者可用于所有的通用硬件平台。
6.4核心
核心平面(或核心层)提供内容管理系统的核心功能。它实现了对存储设备的控制,是基于磁带或基于磁盘的2种解决方案。此外,它还对输入、输出、传送设备(如磁带录像机)、集线器(或矩阵开关)和其他演播室设备进行控制。核心平面的其他任务包括:内容输入、内容查找以及向其他与内容管理系统有关或使用内容管理系统的服务组件输出和传送内容。但其主要任务还是对内容的永久性存储(存档),包括对内容及其基本组成(即素材和元数据)的组织。
核心平面基本上是将实际素材、设备和数据管理子系统封装成一个“黑匣子”中,并且将内容输入、输出及控制外部设备的接口也封装于其中。
6.4.1素材管理
素材管理负责在一个分布式存储环境中存储、管理和提供素材对象。它从客户端获得请求,管理所有在处理这些请求时必要的队列,并对请求提供关于请求被处理的情况、被处理的方法以及被处理的时间等统计信息。素材管理可处理以下内容:
·通过对存档管理服务器的引导,存取海量存储系统。
·通过控制存档传输服务器,在在线和近线存储之间转移文件。
·在存档中创造素材文件的多个备份。
·通过对缓存服务器的引导,处理在线存储系统的内容和完整性。
·通过将客户端连接到流服务器,将内容传送至客户端。
·通过连接到传输服务器,从远程存储系统接收素材或向其传送素材。
素材管理涉及到系统中的许多任务。比如,它可以提供对流服务器的访问,可以通过从服务器到客户端的远程通信,播放预览品质的副本和图像。为了音频或视频的流媒体化,内容管理系统应能够集成由各供应商提供的,由客户端组件控制的第三方流服务器。在这种配置下,客户端可以使用由各流服务器提供的所有功能(如读写同时进行、音频分割编辑、多重重放速度等)。不论备份的格式如何,素材管理保证一个内容对象的不同备份之间的时码同步。
素材管理除了支持这种连续媒体流之外,对结构性数据流也同样支持。素材管理也可用此功能在服务器和客户端之间传输图像集,比如关键帧集。
为了支持新闻操作中的工作流,素材管理必须在工作流被上载时就允许访问该流。在这个环境中,重要的一点是使等待时间保持最小化。这个能力使得其他系统组件在工作流被录制的同时就能够对流进行操作。
素材管理的基本构建模块为:
·存档管理服务器。
·档案传输管理器。
·档案传输服务器。
·高速缓存服务器。
·流和传输管理器。
·流服务器。
·传输服务器。
这些组件共同提供了人们希望素材管理器具备的所有功能,每个组件处理一个特定方面。下面我们将逐一描述这些组件的功能。
6.4.1.1存档管理服务器
在大多数情况下,内容管理系统的海量存储系统的核心是近线存储系统。这种系统的一个例子是和一个或多个基于硬盘的上演区域(在线存储)相连接的机器人磁带库。近线系统的存储介质是数据磁带。另一种常用的近线系统是基于串行ATA等技术的硬盘系统。达到一定的规模后,这些系统的经济性可与基于数据磁带的系统媲美。
存档管理服务器是素材存档管理部分的“大脑”。它跟踪海量存储系统(如磁带和磁带池)或磁盘池中的所有存储单元。它从内容管理系统接收到对文件加以存档或恢复的请求。就基于数据磁带的近线存储系统而言,存档管理服务器执行命令移动磁带位置,将磁带移动至磁带库。当海量存储系统准备好执行存档或恢复任务时,存档管理服务器将相应的请求传送给存档传送管理器。
当近线存储基于数据磁带时,存档管理服务器还应该提供方法来保证存储在自动编码磁带系统中的数据磁带上的数据的总体完整性。这包括检查磁带上的内容,并在需要时采取适当行动等一系列操作,具体执行过程如下:
·将刚在一个磁带驱动器上写完的磁带装入另一磁带驱动器中,重读数据,以便减少由于失准或写入单元的其他技术故障而发生写错的可能性。
·对一段时间没有使用过的磁带进行重绕和重新拉紧,以避免磁带的黏着。
·按照有规律的时间间隔读磁带,以便检查比特错误率。
·对比特错误率超过对新磁带给定的安全值要求的磁带,加以拷贝。
·把到达使用期限的磁带拷贝到新磁带上。判断一个磁带是否到达使用期限,是根据其在受控环境中所待的时间和在受控环境之外所待的时间,两者相加得出总年龄,看是否超过给定的安全年限。在受控环境之外,磁带的老化速度会加快。
·当新的磁带驱动器被引进库时,把数据迁移至新磁带格式。
·通过读磁带及将未删除的数据写入一个新磁带,并从原磁带处删除对象,从而释放磁带上的可用空间。这个过程由可配置的水印来调控。
很重要的一点是,系统的配置方式为:这些进程的运行,不会阻碍生产性工作。在内容保存的情况下,其他高优先级任务总是有优先权的。因此,当不影响生产性工作的进程时,这些过程是在后台自动执行的。
使用标准信息技术海量存储解决方案的替代方案是在数据磁带库位置采用自动演播室磁带库,以取代数据磁带库作为高品质资料的存储库。在这个配置中,可以使用一个自动化或媒体管理系统,通过演播室(或视频线)、集线器(或矩阵开关)、路由器把素材从磁带移动至接受设备。在理想状态下,方案中的自动化或媒体管理系统也控制磁带库,但这取决于自动化系统的能力(8.3.2.1将更详细地讨论演播室自动化和媒体管理系统的集成)。因此,也可以用一个存档管理服务器来控制该库,并对附属于库的录制/重放设备中的演播室磁带进行安装或卸带,这样,媒体管理系统可以专注于素材传送。
6.4.1.2档案传输管理器
档案传输管理器从存档管理服务器接到存档和恢复文件的请求,这些请求实际上意味着在在线存储和近线存储之间拷贝文件。由于从档案传输服务器传到档案传输管理器的请求的数量可能会超过可用的档案传输服务器所能处理的并发请求数量,因此,管理器不得不提供一个事务安全请求队列。在理想情况下,请求队列提供对请求赋予优先级的方法。该队列中所包括的请求在先来先服务(但优先级高者优先)的基础上,被传到档案传输服务器。
6.4.1.3档案传输服务器
档案传输服务器处理近线和在线存储之间的数据移动。一般来说,一个档案传输服务器至少与一个磁带驱动器(可能是附属于一个机器人磁带库,也可能不是)有连接,或和一个存档磁盘池有连接。它将数据从在线存储拷贝到该驱动器中的磁带中,或拷贝到磁盘池中,或者从磁带或磁盘池中读取数据并将其写入到在线存储上。在线存储可以是一个连接到档案传输服务器(本地存储)的硬盘系统,或是一个共享的存储环境(存域网:Storage Area Network, SAN)。进一步讲,它还可以是通过网络(如网络附加存储:Network Attached Storage, NAS)进行存取的存储器,或者是一个通过文件传输协议(File Transfer Protocal, FTP,RFC 959)存取的远程存储系统。磁盘记录仪或视频服务器是典型的通过FTP存取的存储系统。
档案传输服务器在对档案进行写入和读出操作时可提供一定的优化策略。这些策略包括成批写入等。成批写入是收集文件,直到达到一个可配置的文件数量或一个最小量。此外,操作员、档案员或媒体管理者可以选择用于传送的项目。这些可选的集合可用一个文件名称的清单来界定,该清单是用户从合适的应用中选择的。另一个策略是部分文件恢复,也就是只读出存档文件中相关的部分。要注意的是,部分文件的恢复必须由用来存档的素材文件格式加以支持。
档案传输服务器也可以用来将光学的媒介整合进存储策略,或者通过引导磁带库外部的磁带驱动器,使得系统可以存取离线拷贝。然而,档案传输服务器并不适用于通过像SDI等演播室的连接来传送素材。
随着可提供更少服务器的数据传输机制——SAN管理解决方案的应用,我们可以预言,从长期看,档案传输服务器将越来越不重要(尤其是在SAN环境下)。
6.4.1.4高速缓存服务器
高速缓存服务器管理在线存储系统,即在高速缓存区的素材可以在线存取。一个高速缓存服务器总是试图使最频繁存取的资料保持在线,因为人们预测这些资料在生产时会被频繁存取。高速缓存服务器会自动地管理其缓存区。根据用户定义的存储规则,高速缓存服务器会决定保存哪些资料,清除哪些资料,以便使缓存区可装入新的内容。尽管根据定义的规则,有些内容并未被频繁地使用,但因为内容可能是关联的,所以应用或服务必须能够在存取期间把素材锁定在在线存储器中。高速缓存服务器必须遵守这一锁定,以防止数据从缓存中被不必要地释放掉。这种锁定可以是即将到来的和可预见的事件,如周年纪念日、体育锦标赛等。用户可以将资料准备好,并提前放在高速缓存器中,以保证当需要时,相关内容可以立即取得。
高速缓存服务器提供了能够在线访问的素材的位置信息。一个永久性的管理策略是:存贮的数据量是在高配量和低配量之间的值。因此,当超过高标位时,缓存服务器自动地从在线存储中删除一些素材,直到到达低标位。当选择要删除的素材时,至少应考虑以下条件:
·该素材必须已经被成功地转移到近线系统。
·该素材没有被某应用或服务锁定(即它不可处在正在被使用的状态)。
·优先删除最长时间没被使用的素材(即“最长不被使用的素材优先删除”)。
·优先删除占用大量磁盘空间的素材(即“最大的素材优先删除”)。
另外,应该可配置不同的附加选项,比如给一个特定的对象类做标识,使之不可被删除,或规定一个最小时间帧,在此期间内使上载的素材保持在线。