1、 1基于MDA的异构交通数据管理平台的研究与开发 周翔,翁剑成,荣建 (北京工业大学交通研究中心 北京100022) 摘 要:分析了交通信息管理中异构数据的特点和数据交换问题,提出了异构交通数据管理中模型演进的基本方法。在此基础上,应用MDA方法,设计了基于模型驱动的交通数据管理平台和数据转换模式,实例研究表明该模式为智能交通系统应用中异构数据的交换提供了一种便捷的工具。 关键词:交通信息管理 异构数据 数据交换 平台 MDA Design of the MDA based Platform for Traffic Heterogeneous Data Management Zhou Xian
2、g,Weng Jiancheng, Rong Jian (Transportation Research Center, Beijing University of Technology, Beijing 100022, China) Abstract: This paper analyzes the characteristics of different data and problems of data exchanging in traffic information management and puts forward the basic principles of model e
3、volution in heterogeneous traffic data management. A platform is designed for traffic heterogeneous data management and the methodology for data changing is presented as well. The experiment showed the method based on MDA can provide a convenient tool for heterogeneous data exchanging in traffic inf
4、ormation management. Key words: traffic information management, heterogeneous data, data exchanging, platform, MDA 1 引言 交通信息管理系统是收集、储存、加工、传递、维护和使用交通信息的重要工具。我国交通信息管理系统的开发和应用从20世纪80年代开始,至今已有20多年的历史,不同单位和部门积累了大量的基于不同数据库系统的数据。1 由于各个信息系统受建设阶段不同,实施技术局限和差异以及其他经济和人为因素的影响,缺乏统一的数据建设标准,以至于在不同的交通部门或是同一个交通部门存在着大
5、量的异构数据,造成各部门的基础数据和应用系统相互孤立,从而不能对数据进行全面地综合分析,不便于交通信息的综合性和深层次应用,不能很好的为政府部门的科学决策提供支持。为促进交通信息化的建设,实现各部门数据的共享,迫切需要开发一个能够实现交通异构数据交换和共享的平台。 2 异构交通数据管理与模型演进 数据源本身不同以及数据逻辑结构不同都将导致数据的异构性。异构数据通常存在系统异构、模式异构和语义异构三种不同的形式。目前交通行业中的异构数据主要包括为交通管理和运输经营服务的各种行业内部数据,在数据源,数据库类型以及版本上均有着巨大的差异。2 这些数据以早期的dBASE和Foxbase系列的.dbf,
6、MS Access系列的.mdb文件,MS Excel的.excel文件,以及.dat, .csv等各种文本文件为表现形式,存储于各种物理存储节点上。随着数据库技术的发展和地理信息技术基金项目:北京市教委“科技创新平台建设综合交通信息平台“资助项目;北京工业大学研究生科技基金资助课题(ykj-2006-274). 作者简介:周翔(1977),男,天津人,博士生,主要研究方向为智能交通系统. 2的广泛应用,一些高级异构数据库如SQL Server,ORACLE和GIS平台如ArcGIS、Mapinfo越来越应用在以数据为核心的交通信息管理系统中,这些系统定义了不同的数据结构和模型,又采用了不同的
7、软件开发方法和系统架构,造成交通信息管理系统之间的信息共享和数据交换困难,系统之间的互连互通、互操作难以实现。3 图1表明了在浮动车数据转换工作中,一个带有匹配路链(MatchedLink)和其他属性项的DataEntry class的模型演进方法。修改后的模型具有一个新的带有网格号(gridID,表明该条数据记录在电子地图上匹配的网格号),路链号(linkID,表明该条数据记录在电子地图上匹配的路链号)属性的address class。此外,DataEntry class和MatchedLink class之间是有联系的,这样,转换方案被唯一确定下来了。但是数据转换往往比这复杂得多而且多依赖
8、于语义的变化。在这个例子中,新的MatchedLink类型的对象将被创建并且关联到相应的DataEntry对象,此时gridID和linkID的属性必须从旧的matchedlink属性中得到。假设DataEntry class中的其他属性如非matchedLink属性在新模型中具有和旧模型同样的语义结构。在这个意义上,数据转换被认为只是这些属性数据的复制。 图1 模式演进与数据转换 对于异构数据库之间的数据交换,其基本方法是将多个异构数据库中的任一数据源的数据转化为中间数据源的格式,在中间数据源再将其转化为统一的,规格化的,可以被目标数据源接受的格式,从而实现多个异构数据的互访。 3 模型驱动
9、架构(MDA) 作为交通信息交换及决策支持的枢纽,交通数据管理平台是一个开放的、智能的分布式复杂系统。中间件的出现在很大程度上解决了分布式环境中不同应用之间交互和集成的异构问题,然而,由于缺乏统一的标准,这些平台互不兼容,因此应用软件间的集成和交互就很困难。为了解决跨平台软件的互操作问题,国际对象管理组织OMG在2001年7月提出了种新的软件解决方案模型驱动体系结构(Model Driven Architecture,MDA)以代替对象管理体系(OMA)。4 图2所示为OMC提出的模型驱动体系结构: 3图2 MDA体系 MDA的核心是建模和模型映射技术,通过以更高抽象层次的模型为核心而不是以原
10、来的代码为核心来进行软件开发解决传统信息系统开发模式中存在的问题。其核心技术包括元对象设施(Meta Object Facility MOF),统一建模语言(Unified Modeling Language,UML),公共仓库元模型(Common Warehouse Metamodel,CWM)和XML元模型交换机制(XML Metamodel Interchange, XMI)。5, 6 MDA建模过程具体分为四个步骤:1)由领域专家构建计算无关模型( Compute Independent Mode CIM);2)由模型映射专家将C IM映射到平台无关模型(Platform Indepe
11、ndent Model, PIM);3)由平台技术专家将PIM映射到平台相关模型( Platform Specific Mode PSM);4)由编程人员或MDA工具把PSM转化为系统实现,整个过程如图3所示。 图3 MDA的应用过程 面对不断改变的交通信息系统基础架构,MDA增强了系统的灵活性可伸缩性、可移植性和跨平台互操作性。摆脱了具体平台的束缚,专心于交通数据业务的实现,可以更精确的把握系统需求和设计规范。并且支持大部分工业标准,能够集成已有的,在建和拟建的各类系统,从而延长信息系统的生命周期,降低维护成本。从宏观层面来看,MDA使得应用模型与领域模型在整个信息系统生命周期中得到了复用,
12、可为交通信息的采集、管理和交换提供先进的技术支持。通过构建基于MDA4的开发模式实现异构交通数据管理平台的设计和开发应用,以集成交通控制、报警监控、事故管理、道路环境监测等来自不同数据源的交通信息,充分发挥智能交通系统的效益。 4 平台设计与数据转换模式 4.1 数据管理平台设计 结合智能交通信息平台中异构数据交换的要求,按找通用性、完整性、规范性等原则,以MDA技术为核心,设计一种交通异构数据管理平台,以满足实际应用中不同层次的交通数据交换需要。平台包括三个模块,分别为:异构数据管理模块,异构数据交换模块和异构数据发布模块,整个平台架构如图4所示: 图4 交通异构数据管理平台模型 异构数据管
13、理模块提供通用的数据源访问接口,并负责对数据源进行普通的数据库管理操作(包括数据的查询、修改、插入、删除等);异构数据交换模块负责将转化为数据中间载体存储,并在交换的过程中对数据进行完整性、有效性的校验;异构数据发布模块提供数据的Web发布平台.该平台提供强大的搜索入口和交互式操作功能.以便用户能够对数据源进行有效的远程查询、检索。 数据管理、数据交换、数据发布三个模块封装在一个完整的平台之中,用户通过该平台建立和异构数据源的桥接关系。用户只需熟悉使用这个平台提供的操作入口,就能够实现对绝大多数异构数据的操作,无须关心异构数据源或是平台本身的任何细节。除此之外,平台还具有良好的扩展性和伸缩性,
14、各模块之间除了数据流的交换之外,又能够独立承担一些常见的应用工作或是被其他程序调用。用户完全能够在这个平台提供的接口之上构建更为高级和复杂的应用.例如远程管理平台、决策支持平台和数据挖掘平台等。 4.2 数据转换过程 采用Java中同步的双向工程方法和UML图来开发应用程序,提供数据转换中对关系型数据库的透明式访问和支持。图5展示了数据转换系统的构成和各要素之间的相互关系,标注有人形符号的位置为需要人工干预的操作,主要扩展部件如下: 模型标注模块:模型标注功能指定模型的持久化类,并提供对象关系匹配所必须的标准用户定制功能。 模型生成器:模型生成器产生一个标注过的UML的模型,可以作为通用数据库
15、转换器和升级生成器的输入。在具体实现中,模型由序列化的java对象组成,由文件单独存储。 通用数据库转换器:对于每一个具体的模型通用部件会为应用程序创建透明地数据库访问层,5通过检视来提取模型内的信息,并且产生必要的SQL查询。 随机SQL查询API:提供标准匹配工具的完整支持,如操作人员可以创建任意的不限于现有访问方法的SQL数据库查询。 升级产生器:升级产生器作用于旧的模型,产生一个新的模型和附件的属性文件,同时产生一个升级程序的API。 图5 数据转换方法示意图 当需要重构数据库时,则依次执行以下三个操作1) 数据克隆 2) 模式演进 3) 数据转换。 数据克隆:首先对旧数据库进行完整复
16、制,复制得到的数据将采用演进方案和数据转换问题以适应新的模型。 模式演进:复制得到的数据的模式将被改变以使其按照对象-关系匹配适应新的模型。升级生成器将比较旧的模型和新模型以找出差异,并按照既定的规则构建一个模式形态,例如名称相同的class在两个模型中的识别。通过侦测到和自行定义的变化升级生成器产生SQL代码以修改相应的数据库。 数据转换:旧数据库中的数据将被移植到新的数据库中。对于所有在模型演进步骤没有被影响的Class,数据转换已经完成。对于其他每一个class,升级生成器将为其创建一个升级class。所有生成的升级class最终形成前面提及的升级器API。对于受影响的某些class,升
17、级生成器并不能生成正确的默认数据集合,必须在类的层次结构中指明类的变动,或者某个属性从一个类到另一个类的转换。7生成的数据转换代码通过旧的数据库转换器从旧数据库读入必要的数据,将传往新数据库的数据通过RMI转到一个插入控件,然后这个控件通过新数据库的数据转换器将数据写入库中。 4.3 应用实例 应用Java语言环境构建了交通异构数据管理实验平台,完成了三个主要模块,并以Java Swing API的图形用户接口作为主要模块的组织容器,实现了一个完整、友好的异构数据管理平台。 用户只要将数据源的类型和路径进行提交,系统级可以自动识别元数据,并转换为XML数6据文档,然后将xml数据文档转换为用户
18、需要的类型的数据库。在MS Access环境下,以浮动车采集的“浮动车数据表”为例,来说明异构数据的主要功能。XML文件为异构数据交换的中间载体,通过遍历.xml文件,数据被添加到目标数据库中,以下给出了两条数据记录的转换XML文件。 - - 38240029 Taxi 116.3314 39.9879 29002356545 . 2006-05-08 10:27:01 38240086 . 2006-05-08 10:28:22 5 结束语 在交通领域集成异构交通数据将会产生相当的社会和经济效益,实现异构数据的集成需要提供一个数据管理平台。集成必须考虑不同系统在结构和设计等方而存在的差异,完
19、全推翻现有信息系统显然是不现实的,需要找到一种方法既能充分发挥现有信息管理系统的作用又能为新系统的开发提供构建思路,模型驱动体系结构(MDA,Model-Driven Architecture)就是解决上述问题的有效途径。本文提出了可用于交通数据分析和研究的异构交通数据管理平台的开发框架,可以连续、动态、协作地处理各种交通数据信息,建立并动态维护支持决策的综合交通数据库,实现信息资源的共享,从而大幅度提高交通信息处理和综合集成管理的自动化程度。 参考文献 1 李瑞敏,陆化普,史其信. 综合交通信息平台发展概况与趋势研究J.公路交通科技,2005,22(4):90-94. 2 杨兆升,保丽霞,朱
20、国华. 深圳市综合交通信息平台系统分析与设计J.公路交通科技,2005,22(2):100-103. 3 商蕾,王继峰,栗红强. 智能交通综合信息服务系统建设研究J,交通与计算机,2005,23(127):32-34. 4 Chris Raistrick, Paul Francis, John Wright et al. Model Driven Architecture with Executable MDA M Cambridge University press. 2004. 5 王赟华,陈蔚薇. 模型驱动开发方法的应用研究J. 计算机工程,2006,32(13):63-65. 6 刘云
21、杰,龚传信,周文,等. 模型驱动体系结构在信息系统中的应用研究J,计算机工程与设计,2006,27(17):3213-3216. 7 Integrated Model-Based Software Development, Data Access and Data Migration. B. Bordbar, D. Draheim, M. Horn, I. Schulz, and G. Weber. Proceeding of MoDELS/UML 2005 - ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems, Lecture notes in Computer Science, Vol 3713, pages 382-396, 2005.