骆萧萧 北京中科大洋科技发展股份有限公司产品中心成员。
关键词:系统互联 文件化 工作流 消息中间件
随着IT技术和存储技术的不断发展,电视台网络化应用日益深入,业内一些领导公司提出了全程文件化的电视台业务系统数字化网络化总体解决方案,这将使电视台业务系统在效率、管理、资源共享与数据交换等方面进一步提高。
总体看,全程文件化主要体现在业务系统文件化和数据交换文件化两部分,其中数据交换的文件化主要指跨系统的资源共享和各业务系统之间的数据交换。目前,很多电视台基本完成了业务系统的文件化工作,在各业务子系统内部已经可以实现基于文件的全程处理,但由于这些子系统建设时间有先有后,选取的技术路线各不相同,处于各自为政的工作状态,系统间交互还需要借助电话、纸张和录像带等传统方式。因此,电视台业务系统实现互联互通,其实质就是实现数据交换的文件化。
关于多系统整合的问题,一直是IT业关注的焦点,各种各样的解决方案层出不穷。电视台信息化系统的一个重要特点是:除了结构化数据需要交换外,还有大量的非结构化数据需要处理且传输通常比较耗时,这种非结构化数据主要是数字化视音频文件,而目前电视台内部使用的视音频文件的压缩格式和文件格式并不统一,相互之间也不一定兼容。因此,电视台在进行信息系统整合时,必须同时做好元数据的整合和数据文件的整合工作。
下面就实现电视台全程文件化过程中的一些关键技术路线进行分析和讨论。
数据交换文件化的四个层次
视音频系统间数据交换文件化的实现应该包含四个层面,即网络层、数据层、元数据层、应用层。如图1所示。

图1 电视台业务系统全程文件化的层次划分
网络层互联指各子系统间必须能通过以太网、FC网等进行电子化的数据访问,它是实现系统互联的基础。目前以太网技术已经十分成熟,FC网络也在广电行业得到了广泛应用,技术标准与相关产品的成熟度都比较高,只需设备集成工作。
在网络层之上是数据层,各业务子系统间进行数据交互。在视音频系统中,主要指视音频数据文件,有些情况下还包括图片、故事板文件、字幕文件等。为进行数据交换,要保证进入某系统使用的数据是该系统能识别的。由于不同的视音频系统使用的视音频编码格式和文件格式通常不尽相同,且对磁盘存储空间的管理也是独立的,因而在系统间交互时,转码和数据迁移是必不可少的,这都是对系统资源占用比较高且耗时较长的操作。因此,数据交换的效率对系统间交互的效率影响最大。
元数据层位于数据层之上。当系统间发生交互时,各子系统必须理解对方的元数据信息和控制信息,也就是说,系统间元数据记录必须能继承到另一系统中。元数据的数据量通常比较小,但其结构复杂多变,且没有统一的规范,元数据交互方式直接影响到子系统间的关联耦合度。
最后一个层面是应用层。系统间应能在数据和元数据交换的基础上完成业务应用,可以实现跨系统的业务流程。各系统的用户、权限信息等应能实现统一管理,对系统运行的管理监控应能集中完成。
使用集中的数据处理中心完成系统间数据转换传输任务
数据处理中心是整个文件化交换平台针对媒体数据的处理及传输中心。在电视台各个业务系统中,由于对媒体数据的使用要求不同,在系统之间数据交换时不可避免地要进行编解码转换、故事板打包等数据处理,数据处理中心主要就是完成这些媒体数据的处理任务。转码中心、打包中心、迁移中心等均属于这个范畴。
之所以采用集中式的数据处理中心,主要出于总体考虑:这种类似的软件产品基本上都是基于分布式运算的体系架构,在接口、任务处理、监控等方面具有很大的相似性,而这部分处理重点是基于媒体数据的交换、转换和传输,并通过统一的交换任务调度来完成;同时,数据处理中心可以共享各子系统的资源,能够以集群方式工作,可以实现设备资源的充分利用,提高数据交换过程中最耗时环节的工作效率,也避免了单点故障的发生。
子系统之间采用松散耦合的方式进行元数据交换
元数据通常数据量很小,无论是生成解析、还是传输,对系统效率都不会产生明显的影响。因此,对于系统间元数据交换方式的选择,主要应考虑通用性、开发难度和耦合度。元数据的交换包括元数据封装和元数据传输两部分内容。元数据封装可以采用二进制文件、文本文件、XML文件等格式,其中XML文件由于具有良好的可读性、灵活性和可扩展性,已经成为目前国际上信息交互的主流选择。
系统间结构化元数据传输通常有几种方式:跨数据库直接访问;访问数据库中间表;通过函数或WebService调用;通过消息机制及共享文件系统等。
开放数据库结构直接访问
要求参与互联的甲方向乙方完全开放其数据库表结构,由乙方直接针对其数据库进行开发,交互数据可以直接从甲方的业务数据库中读出,并可对其进行数据写入和修改。这种方式从理论上说效率最高,且甲方系统不需要任何修改。但是,它使得两个系统完全耦合在一起,任何一方的修改都会导致整个系统的变更;而大多数公司都不愿意将自己的数据库设计开放给第三方;另外,由于这种方式允许其他系统直接修改原有系统的数据库表,一旦出现问题,很难查清责任。

图2 系统变更的影响
共享数据库中的中间表
这种方式是在数据库中专门创建一个或一组专门用于数据交换的表,系统间交互用的元数据都写到这个表中,其他系统也从这个表读取所需交换信息。这样有效避免了其他系统对应用数据库直接修改带来的安全隐患。但这种方式仍然存在着系统间耦合度较高的问题,一旦接口约定发生改变,须要同时修改双方的程序和交换用数据库,工作量比较大;而且,当要建立多个系统间的互联时,须要创建多个中间表,维护管理都会比较困难。
通过接口函数
由甲方系统对本系统的元数据访问进行封装,对外提供接口函数供乙方系统调用。这种方案有几种实现方式,传统的方法是不同系统相互提供插件动态库,在程序需要对其他系统进行访问时调用插件,所有需要进行交互的站点均要安装插件,导致系统维护难度很大。随着技术的发展,出现了远程过程调用(RPC)技术,可以将所有插件集中部署在一两台服务器上,其他主机以RPC方式执行插件。近年来,WebService技术也取得长足发展,各子系统可以封装一些标准的Web服务供其他应用调用,将元数据作为函数参量进行传递。这两种方式比起直接进行插件调用都有了很大改进,总体看,这种通过接口函数的方式比较适合系统间有比较频繁且固定的数据交互的情况,特别是需要及时数据响应的场合;其缺陷是耦合度仍然比较高,接口变化对系统会造成比较大的影响,灵活性较差,不适合于多系统互联的情况。此外,如果采用基于WebService的方式,对于电视台现有很多基于C/S方式开发的应用系统来说,需要大量的重新开发工作,可实施性比较差。
通过消息机制将元数据在消息队列中传递
消息队列服务是一种松耦合的分布式应用集成形式。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待;二者的生命周期未必相同;发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;一对多通信,对于一个消息可以有多个接收者。消息队列中间件最重要的功能是及时提供可靠的消息通信手段。在进行元数据传输时,使用MSMQ或JMS等消息中间件创建消息队列,元数据以消息的形式发送到队列中。目前的消息服务器均支持同步队列和异步队列,并可以自行保证数据完整性。使用消息进行通信是一种耦合度较低的方案,特别适合于异步通信的环境,且目前商品化的消息服务器均比较成熟稳定,可选范围比较广,部署实施非常简便。
通过共享文件系统将元数据封装成XML文件进行传递
首先参与交互的系统将元数据封装成XML文件,再将此文件写入一个共享文件系统;另一方发现此文件后,通过对XML的解析获取元数据信息。这种元数据传输方式以最为通用的文件系统为交换介质,开发难度最低,系统之间的耦合度也比较低。当交换元数据格式发生改变时,可以通过修改Schema定义文件,在不改变程序的情况下对XML文件结构予以变更。
总之,各系统的元数据结构是最常发生变化的部分,因此,在选择元数据交换方式时,必须重点考虑耦合度的问题,保证技术架构具有灵活性。因此,采用基于消息中间件或共享文件系统等松散连接的方式,是比较好的选择。
通过工作流完成系统互联业务逻辑的控制
流程管理主要指系统交换过程的管理。工作流管理的任务包括定义、执行及监控。“定义”是对工作流过程及其组成活动的定义和建模;“执行”指在工作流运行中,数据、信息和任务能按照定义好的方式自动进行传递接收,并对用户具有交互功能;“监控”即对工作流运行过程中的状态进行管理、监控和差错控制。
在实际项目设计中,基于流程的控制和管理可以采用两种方案。
方案一、应用系统自行实现
将流程融入系统的应用,即每一个流程环节处理数据后均根据该环节在流程中的位置和作用,将数据按照预先设计好的逻辑进行分发,从而完成一个系统工作流程。它是一种相对传统的流程处理方式,几乎所有的软件在设计中均或多或少地采用流程的概念,并将应用与流程结合实现实际业务流程。其最大的优点在于实现简单;最大的问题在于流程模型在软件设计时便已经确定,如果修改流程模型,则会带来软件的修改。如图2(a)所示,当系统数目发生改变时,需要大量的重新开发工作。
方案二、由工作流引擎统一维护
采用独立的工作流中间件,将所有应用与该应用所处的流程逻辑进行剥离,所有应用均将处理后的数据发送到工作流,由工作流完成整个流程逻辑的处理,而应用之间不存在直接的联系,都是从工作流获取任务,并将结果返还给工作流。具体该数据处理后的下一步应该由谁处理,则和应用无关。
该方案克服了方案一的缺陷,将流程从应用系统中分离,并通过一个中间件系统实现应用与流程无关;而流程的实现则可以通过中间件的配置(包括数据对象的配置以及流程逻辑的配置等)来实现用户的实际业务流程。其最大的优点在于灵活,可配置;而问题在于加大系统的复杂度,使得开发成本、风险均有所增大。图2(b)所示为采用工作流技术后系统增加时的情况,可以看出,只要在新增部分开发一个与工作流引擎的接口,就可以轻而易举地将其纳入整个系统。
综上所述,对于一个节点众多、存在跨系统跨平台的需求且多种应用共存的复杂系统来说,基于中间件的方式可实现业务流程的灵活配置,且应用与流程逻辑分离,具有相当大的优势。
总而言之,电视台系统全程文件化的建设是一项涉及面非常广泛的系统工程,其中大量应用了最新的广电及IT技术,也存在着诸多技术难点有待克服。本文已经就其中一些最关键内容进行了分析讨论,可是由于各电视台实际情况各异,在项目建设实施过程中还会遇到很多具体问题。但不管怎样,建立基于全程文件化的电视台业务流程,实现各子系统的互联互通已经成为不可逆转的技术发展趋势,而全台一体化网络的建立也必将成为各电视台业务高速发展的助推器。(全文完) (DVOL本文转自:中国DV传媒 http://www.dvol.cn)