PIS系统中的动态报表技术
2011-05-08阮龙
阮 龙
(北京全路通信信号研究设计院有限公司,北京 100073)
乘客信息系统(PIS)是依托多媒体网络技术,以计算机系统为核心,以车站和车载显示终端为媒介向乘客提供信息服务的系统。车载设备通过接收无线传输的信息经处理后实时在列车车厢L C D显示屏进行音视频播放,使乘客通过正确的服务信息引导,安全、便捷地乘坐轨道交通。
针对地铁的PIS系统,通过动态报表(DR)技术,增强信息的动态收集和整理并予以呈现,自动编制和生成各类别报表格式,以模块化的方式进行数据采集、处理、应用与展示,为网管人员的运维管理工作提供全面的有关业务、网络与服务管理支持,是十分必要的。
1 PIS系统动态报表功能面临的困难
目前,市场上大部分企业管理信息系统(MIS)都包括或集成了报表功能模块。这些报表功能模块基本上都是由应用开发人员根据工程需求独立开发的。虽然这种独立开发的报表模块与其对应的系统之间耦合度较高、集成度较好,但这种方式的工作量较大,需要大量的编程,甚至报表的格式都包含在程序代码中,灵活性差,加大了后期维护工作量。
它们主要缺点如下。
1)报表数据与报表格式耦合度过高。
在传统的报表工具中,整个报表的定义往往是围绕报表格式进行的,报表定义和报表数据离开报表格式就毫无意义,一旦报表的格式发生变化,用户就需要修改大量的报表定义,而且原有的报表数据也不能在新的报表格式下展现。
2)报表数据与报表模块的通用性差
不同报表工具生成的报表只能在本系统环境下运行,生成的报表数据也保存在专用的数据结构中,代码和数据的可移植性较差。报表数据面向特定的主题,具有较高的分析价值,如利用商业报表工具生成的报表数据只能在报表工具中展现,不能被其他应用系统共享使用。
3)数据实时性较差
目前常用的报表工具的核心功能是展现数据,仅仅是把相对静态的数据“装”到报表中。面对大量、复杂的动态数据,现有的报表工具无法对其进行分类汇总和分析处理,因此无法及时地提供决策数据。
面对PIS系统所需处理的大量、异构、复杂的数据,现有的报表工具有很多局限性,不能完全适应PIS系统的需求,因此有必要建立一套能适应数据库表结构动态变化,从而实现动态数据库表结构、动态报表、动态查询的报表工具,成为摆在技术工作者面前的问题。
2 基于数据仓库的动态报表的优点
做为涉及多专业、多系统、多厂家的PIS系统,它的报表功能除了要求能够自动编制和生成各类别报表格式(帐户/权限管理类报表、信息播放类报表、设备管理类报表、维修维护管理类报表、广告播放类报表等)外,还要求事先对各子系统反馈的大量数据进行分析、整理和挖掘。
与基于数据库系统的报表不同,数据仓库中的报表功能非常强大、灵活。它不仅能生成固定格式的报表,还可以生成用户自定义格式的报表[1]。因此利用数据仓库技术非常便于多专业、多系统、多厂家的PIS系统进行信息处理,基于数据仓库的动态报表技术将能够解决上述传统报表工具的各项缺点。
数据仓库中的数据源于不同的多个事务处理系统,因此,数据仓库的报表是关于整个企业集成信息的报表。在现有各业务系统的基础上,数据仓库技术通过对数据进行抽取、清理,并有效集成,按照“主题”进行重新组织,最终确定数据仓库的物理存储结构,同时组织存储数据仓库元数据(包括数据仓库的数据字典、记录系统定义、数据转换规则、数据加载频率以及业务规则等信息)。由于数据仓库技术对数据进行了事前处理,以磁盘的存取空间换取了用户查询的时间,提高了数据存储和查询效率,以往在数据库系统中需要几十分钟才能统计出的报表,现在只需几秒钟即可完成[2]。
PIS系统的综合网管需要实现整个PIS系统的网络管理和系统维护功能,以提高系统的可用性,具体实现的功能包括网络管理、网络监测、系统设备监测、设备维护管理、备品备件管理、维护培训、远程诊断与更新等。根据上述功能需求,将PIS系统数据仓库中的数据定义为7个“主题”领域——资源、客户、服务、帐务、营销、客服和运维。每个主题领域是以一组相关的表来具体实现,每个表用来实现相应主题领域的一部分。一个主题的所有表通过一个公共键码(或属性)联系起来。
3 PIS系统数据仓库的动态报表体系结构
为便于PIS系统动态报表的模块化开发,根据从数据仓库到最终报表的数据处理流程,将PIS系统数据仓库的动态报表体系结构从上至下分为4层:应用层、表示层、处理层和数据层,如图1所示。
1)应用层为用户提供报表操作的界面环境。包括数据库访问自定义、MDX查询生成器向导(根据该向导选择维度、层次和度量)、报表格式自定义。
2)表示层主要用于实现报表数据文件(XML文件)到报表格式文件(XSL文件)之间的转换。它根据应用层的报表格式自定义对报表格式进行预处理和对报表模板进行处理,并实现报表数据文件(XML文件)和报表格式文件(XSL文件)之间的相互转化。
3)处理层实现的功能较多,主要包括3大功能:连接数据仓库、根据MDX语句执行多维查询返回多维数据查询结果,最后把这个多维查询结果集根据报表数据文件模型,转化为XML文档。
4)数据层的主要构成是数据仓库,它是通过对实际数据库进行操作和逻辑处理实现。
各层之间通过接口互联实现功能的集成。此外,应用层和处理层之间通过MDX查询生成器接口实现用户对查询的定义。
4 结束语
做为涉及多专业、多系统、多厂家的PIS系统,其动态报表基于数据仓库实现,由于将数据仓库与操作数据库进行分离,采用了数据仓库的数据预处理思想,对数据进行了事前处理,因此极大提高了报表操作对数据存储和查询的效率,极大提高了报表的生成效率和数据的实时性。
根据PIS系统各系统单元的业务,将PIS系统的数据仓库分为7大主题:资源、客户、服务、帐务、营销、客服和运维。各主题领域是以一组相关的表来具体实现的,每个表用来实现相应主题领域的一部分,一个主题的所有表通过一个公共键码联系起来。基于数据仓库的动态报表的体系结构从上至下分为4层:应用层、表示层、处理层和数据层。各层功能明确,各层之间通过接口互联实现功能的集成。
数据仓库体系结构的确定,为PIS系统动态报表的后续开发工作提供了基础和保障。
[1] William A Giovinazzo.面向对象数据仓库设计[M].北京:人民邮电出版社,2000.
[2]李小琳,李文印,何湘东,等.基于数据仓库的动态报表系统设计与实现[J].长春邮电学院学报,2001(19):39-42.
[3]方伟,左春,孙玉芳.基于XML的数据模型在报表模块上的应用[J].计算机工程与应用,2003(30):197-200.