铁路信息共享平台中共享数据库结构和关键技术研究
2010-08-07史天运
赵 静,史天运,李 平
( 中国铁道科学研究院电子计算技术研究所,北京100081 )
铁路信息化经过多年建设,初步建成了覆盖客货营销、经营管理、调度指挥3个业务领域的多个业务信息系统,实现多个异构、异域、分布的业务信息系统之间的信息共享和资源共享亟待解决。
信息共享平台是铁路业务信息系统间信息交换和共享的枢纽,是为铁道部、铁路局和主要站段的业务信息系统间、业务信息系统与公用基础信息平台间、业务信息系统与铁路门户间提供信息交换服务、信息共享服务和功能共享服务的平台。该平台具有一定信息加工、数据转换和处理能力,采用优先级服务机制,优先满足实时性要求高的交换和共享请求,并保证信息交换和共享的安全性和可靠性[1]。
铁路信息共享平台的主要功能包括数据抽取、数据处理、数据存储管理、数据共享管理、服务共享管理、系统监控、安全保障。这些功能的实现都依赖于数据的集成,而数据集成是通过建立共享数据库完成的。由于数据集成在共享平台中的重要地位,决定了共享数据库是整个平台建设的核心。
文中提出共享数据库的总体结构,并对共享数据库进行设计,研究数据联邦机制、ETL数据集成机制、基于中间件的数据集成机制等关键共享技术,给出具体的实现方法。
1 铁路信息共享平台中共享数据库总体结构
基于铁路各业务信息系统的松耦合性质,可以利用数据驱动模型和查询驱动模型,建立一个共享数据库,把各个系统需要的共享数据抽取到共享数据库中。数据源为铁路各业务系统的基础数据和业务数据,为共享数据库提供主要的源数据,同时又从共享数据库中得到本系统所需要的数据。
共享数据库采用铁道部和铁路局两级部署和维护机制,最终要形成共享信息资源的统一采集管理、统一存储管理、统一利用管理和基于共享信息资源的应用系统管理,形成相应的技术和管理规范,保障业务信息资源的有效共享。
共享数据库的总体结构见图1。
整个共享中心可以分为3个层次:数据源层、共享数据库层和主题分析库层。
图1 共享数据库总体结构
数据源层是各个应用系统的内部数据库,它为共享数据库提供主要的源数据,同时又从共享数据库中得到自己需要的数据。
共享数据库层是整个系统的核心,它一方面从数据源中抽取共享数据,一方面为主题数据库和OLAP数据库提供源数据。
主题分析库层包括OLAP数据库和主题数据库。OLAP库是一个数据仓库,它的数据源是历史库,OLAP库从历史库中抽取出用于查询、统计和分析的各种数据。主题数据库是共享数据中心应用的基础,它直接从共享数据库中抽取数据,通过一定的规则进行组合后形成一个应用主题所需要的数据集成,以Portal发布。
2 铁路信息平台中共享数据库设计
根据共享数据库的总体结构可知,共享数据库除业务系统的数据源外,主要包括核心数据库、历史数据库、主题数据库和OLAP库。
历史数据库用于存放共享数据库的历史记录,以便系统出现问题的时候进行查询。
核心共享数据库中的数据可以分为7个部分:基本数据库、业务数据库、数据字典库、统计数据库、管理信息库、标准库和平台日志库,如图2。
(1)基本数据库:基本数据是数据共享服务系统中最为基础的数据。它包含了统一的公用基础编码、铁路空间信息、运输基础信息等公用共享信息。各铁路单位的基本信息、铁路运营规章、制度信息、铁路质量安全控制信息、机车车辆相关信息、客运货运站基本信息、信息化规划、标准、规范和路网规划等铁路大部分业务系统均需使用、共享程度很高的数据信息。
(2)业务数据库:业务数据库中存放的是各业务信息系统在日常业务工作中直接产生的原始业务数据,是各类信息查询和分析的基础,数据量将随着时间和业务量的增长而增加。这些数据是整个共享数据库最核心的数据,对它们的统计与分析构成了系统的业务要求,也是构建共享数据库的最终目的。
(3)数据字典库:数据字典共享库存放描述共享数据库中的数据。主要包括:共享数据的元数据、数据的来源、数据的用户、应用系统库的描述信息,信息共享平台数据库中各节点的配置信息、安全权限验证信息、基本数据集结构信息等。
(4)统计数据库:铁路信息共享平台的数据共享服务除了提供基本业务数据外,就是统计业务数据。它们是在各项基本数据和基本业务数据基础上通过各种统计分析手段,根据地域性、时间段或其它限制条件得出的二次数据,它们不是直接由业务系统产生的数据结果,是基本数据和基本业务数据的衍生物,是大量业务报表和统计工作的具体反映,在确定了产生方式时,可以根据现存的基本数据和基本业务数据推出,其准确性依赖于基本数据和基本业务数据的准确性和真实性。统计数据也由基本数据集的标准进行规范。对于基本数据集中未进行规范化的统计和分析,可以在相应的各层次的数据共享应用中根据底层存储的基本数据和基本业务数据进行统计和分析,满足不同情况的需要。
(5)管理信息库:管理信息库主要存放管理共享数据库所需要的数据,包括各业务系统作为用户的注册信息、权限信息和其它信息,各个业务系统共享数据的提供和使用情况等。
(6)标准库:主要包括国际、国家信息化标准,铁路内部的行业标准及规范,以及由此制定的铁路信息系统基础数据编码规范。
(7)平台日志库:平台日志库存放的主要内容是数据交换过程中产生的一系列信息。
3 铁路信息共享平台中共享数据库技术实现
3.1 数据联邦技术及实现策略
数据联邦(Data Federation)能够提供数据访问、移动数据、转换数据等诸如此类的服务。数据联邦或企业信息集成,可一次查询访问多个数据源。它的运行方式就像是虚拟数据仓库:被查询的数据仍保留在原地而不是被复制到中央信息库中。数据联邦软件在下面承担协调数据格式、保护数据完整性和建立信息的聚合视图等多种任务。
数据联邦机制提供了组织、访问和更新共享信息的逻辑方法,是多个自治的成员数据库系统的集合。集成各个应用系统,提供统一、透明的全局操作的同时,仍能保持各个应用系统具有的高度自治。它不采用一个全局的模式,各成员数据库可以自由加入或集成框架,以及以不同的程度集成到集成框架中去。联邦系统结构主要包括通信接口、数据字典、数据组装模块、数据映射模块和中心虚拟数据库[2],如图2。
图2 数据联邦结构
中心虚拟数据库是业务操作的数据库,由业务根据需要结合数据字典构造,集成各业务系统的数据;数据字典记录对各业务系统数据的集体描述,包括所有的业务系统数据库中表和数据项的定义等,是构造中心虚拟数据库和语法分析模块的基础;数据映射模块根据应用需求,将中心虚拟数据的构造与操作映射为对各业务系统数据库的 SQL 操作;数据组装模块负责将由通信接口取回的分组数据“组装”至中心虚拟数据库;通信接口负责进行操作命令与数据的传送与通信。
3.2 ETL数据集成技术及实现策略
ETL数据集成技术主要用于数据库级数据共享,要求业务系统数据库能够保持与共享平台数据库之间的联通,并且开放访问权限。根据集成数据的不同特征,将采用不同的集成技术。ETL中3个字母分别代表的是Extract(抽取)、Transform(转换)、Load(加载[3]),如图3。
(1)数据抽取:从业务数据库抽取需要共享的数据。
(2)数据转换:将从业务数据库获取的共享数据按照共享数据模式,转换成共享数据库存储的形式,并对错误、不一致的数据进行清洗和加工。
图3 采用ETL技术数据集成框图
(3)数据加载:将转换后的数据装载到共享数据库。
3.3 基于中间件的数据集成技术及策略
业务数据库由于网络或安全原因不能够直接连接的情况下,比较适宜采用中间件数据集成技术。业务源系统将需要共享的数据转换成文件的形式,通过中间件传输到信息共享平台。
基于中间件的数据集成系统主要包括中间件、接口适配器和数据转换组件, 根据业务系统的需求提供文件适配器、消息适配器等传输不同形式的数据。中间件通过接口适配器和数据源交互。数据转换组件根据共享平台共享数据管理的要求,将业务源数据进行处理转换入库,如图4。
图4 数据集成中间件
4 结束语
文章主要研究铁路信息共享平台中共享数据库,提出共享数据库的总体结构,对核心数据库的内容进行设计,研究了数据联邦、ETL数据集成和基于中间件的数据集成技术及实现策略。通过实验室仿真环境的验证,在数据共享方面取到了很好的效果。
[1] 史天运,李平,裴坤寿. 铁路信息共享平台体系结构研究[J] .铁路计算机应用,2008,17(9).
[2] 缪嘉嘉,邓 苏,刘青宝. E T L综述[J] . 计算机工程,2004,30(3).