中国地震局前兆网络观测系统中统一访问平台的设计与实现_第1页
中国地震局前兆网络观测系统中统一访问平台的设计与实现_第2页
中国地震局前兆网络观测系统中统一访问平台的设计与实现_第3页
中国地震局前兆网络观测系统中统一访问平台的设计与实现_第4页
中国地震局前兆网络观测系统中统一访问平台的设计与实现_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单位代码 10006 学 号 37060410 分 类 号 TP311.52 密 级 毕 业 设 计 (论 文 )中国地震局前兆网络观测系统中统一数据访问平台的设计与实现院 ( 系 ) 名 称 计 算 机 学 院专 业 名 称 计 算 机 科 学 与 技 术学 生 姓 名指 导 教 师2011 年 6 月 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 1 页中国地震局前兆网络观测系统中统一数据访问平台的设计与实现 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 2 页北京航空航天大学本科生毕业设计(论文)任务书、毕业设计(论文)题目:中国地震局前兆网络观测系统中统一访问平台的设计与实现 、毕业设计(论文)使用的原始资料(数据)及设计技术要求:实现一个统一数据访问平台,建立规范统一的数据存取格式与数据访问标准,支持多种异构数据库的统一访问,提供明确的应用视图,使数据库与上层应用松耦合,支持事务性、数据变更记录,提高扩展性。 、毕业设计(论文)工作内容:了解地震数据集成现状和需求后,分析数据的海量性和应用的多样性,提出三层视图、两级映射的对象关系映射模型,设计并实现了统一数据访问平台。通过本系统可以对异构的数据资源进行统一的存取访问,并对上层应用集成所需要的数据,提供支持事务性、数据变更记录的数据访问管理。 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 3 页、主要参考资料:萨师煊,王珊.数据库系统概论(第三版).高等教育出版社. 何 涛,刘君强,张学斌.异构数据源数据集成的研究.计算机工程与科学. 朱韵篪,李双庆.基于 XML 的分布式数据交换中间件研究 .计算机应用. Liyan Liu,Hua Li.Metadata Model in Grid Database and its Application.The 9th International Conference on computer Supported Cooperative Work in Design. Giovanni Aloisio, Massimo Cafaro, Sandro Fiore. The Grid-DBMS: Towards Dynamic Data Management in Grid Environments. Proceedings of IEEE ITCC 2005, Vol. II. 计算机学院 学院(系) 计算机科学与技术 专业 班学生 毕业设计(论文)时间: 2011 年 3 月 10 日至 2011 年 6 月 10 日答辩时间: 年 月 日 成 绩: 指导教师: 兼职教师或答疑教师(并指出所负责部分):系(教研室)主任(签字): 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 4 页本人声明我声明,本论文及其研究工作是由本人在导师指导下独立完成的,在完成论文时所利用的一切资料均已在参考文献中列出。作者: 签字:时间: 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 5 页中国地震局前兆网络观测系统中统一数据访问平台的设计与实现学 生:指导教师:摘 要在国家地震前兆台网,由于全国各地地震信息化的建设情况参差不齐,各单位数据库类型不同,数据表结构也有差异,形成了数据资源分布性、异构性以及自治性的特点。这导数据难以统一管理,不同行政区域部门之间的数据的共享、协同和综合利用困难重重,阻碍了地震监测、地震预报、震源分析等数据需求量大、计算环境复杂的大型应用的开展。地震行业缺乏一个有效的数据统一管理手段,导致这些各单位独立开发的系统难以将全国的数据统一化并上报到国家中心开展行业应用。针对地震行业的现状和需求,基于对现有数据中间件实现的分析和主流数据平台的研究,结合虚拟视图和对象关系映射的思想,本文提出并实现了基于对象关系映射的统一数据访问平台。本系统的总体思路是统一管理各个数据源中的异构的数据对象,建立一个统一的全局逻辑视图,通过这种逻辑视图屏蔽底层数据的异构性,并在逻辑视图之上,为不同的应用提供相应的应用视图,使得各个应用可以根据自己的需求制定不同的应用对象,对系统中特定的数据对象进行增删查改的操作,实现对数据资源的统一管理。系统还建立了规范统一的对象存取标准,面向应用模块提供了事务性和数据变更记录等功能的全面支持。关键词 数据,视图,映射,统一,异构 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 6 页The Design and Implementation of the Unified Data Access Platform in Seismological Precursory Instruments Observation Network System of ChinaAuthor:Tutor:AbstractKey words: Data resource management, Metadata, Global view, Data integrity 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 7 页中国地震局前兆网络观测系统中统一数据访问平台的设计与实现1. 论文选题的背景与意义1.1 课题来源本课题来源于北京航空航天大学软件开发环境国家重点实验室承担的“国家地震网络计算应用系统”项目。由于地震行业中的数据资源数据量大,系统应用复杂多样,下层设备种类繁多,地震系统对于数据有着特殊的要求,而一般的数据访问平台没有很好的适应其应用需求,因此要求本课题对统一的访问存取标准进行研究,提出并实现了基于对象关系映射的数据统一访问平台1.2 研究背景课题背景在国家地震前兆台网中,中国数字地震观测网络是围绕防震减灾工作的监测预报、震灾预防和紧急救援三大工作体系,是实现地震检测预报的数字化网络化,全面提高监测预报水平的基础设施之一。在该项目的基础上开展的地震活断层探测和地震危险性评估,为工程的抗震设防积累实测数据;建立完善的全国抗震救灾指挥体系,做到信息的快速准确上报,和决策的准确快速下达。在中国地震局前兆系统中,基础前兆观测数据的采集、存储均由各行政区域的省局和台站去完成,形成了数据资源的分布式管理现状。由于全国各地地震网络的建设情况参差不齐,各单位数据库类型不同,数据表结构也有差异,形成了数据资源分布性、异构性以及自治性的特点。这导致数据难以统一管理,不同行政区域部门之间的数据的共享、协同和综合利用困难重重,阻碍了地震监测、地震预报、震源分析等数据需求量大、计算环境复杂的大型应用的开展。因此在地震前兆行业中,各级单位与 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 8 页机构虽然拥有大量丰富的设备资源,但是由于缺乏一个统一的、有效的数据访问与管理机制,形成大量数据孤岛。这些孤岛影响了地震前兆行业内业务的进一步发展,妨碍了地震前兆行业在国民经济建设中发挥更大作用。地震行业缺乏一个有效的数据统一管理手段,导致这些各单位独立开发的系统难以将全国的数据统一化并上报到国家中心开展行业应用。寻找一种有效的统一访问和集成方案,实现数据资源的统一管理,是本文研究的重点。数据访问中间件的引入数据访问中间件是客户端(表示层)和数据库之间的一个中间层, 它完成所有的数据逻辑操作( 例如数据转换 , 数据排序, 数据统计等 ) , 业务逻辑层将用户和数据访问的复杂性相隔离, 将表示层所有的数据访问请求提取到数据访问中间件中。面向数据库的中间件使开发人员可以通过单一、良好的 API 访问数据库资源,是解决异质平台、异质环境、异质数据库的统一访问、统一存取的最佳方案。上层应用模块 数据访问中间件请 求结 果 返 回数据库结 果 返 回数 据 库 访 问数据访问中间件的工作原理地震行业缺乏一个有效的数据统一管理手段,导致这些各单位独立开发的系统难以将全国的数据统一化并上报到国家中心开展行业应用。寻找一种有效的统一访问和集成方案,实现数据资源的统一管理,是本文研究的重点。1.3 国内外研究现状1、异构数据集成技术异构数据集成采用 XML 这种标准、开放的数据结构来表示数据信息。 XML 是一种半结构化的数据模型,它具备的诸多特性使其可以描述不规则的数据,集成来自不同数据源的数据,并可以将多个应用程序所生成的数据纳入同一个 XML 文件中。因此,将 XML 作为集成系统中集成层的数据描述工具和转换工具是海量异构数据集成技术和系统的必然选择。 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 9 页数据访问中间件借助于元数据字典,集成为统一视图。虚拟数据库的建立过程是针对所有数据源数据模式的抽取过程,它将各应用系统数据库中的不同数据表示成形式统一的数据视图。上层(接口层)针对虚拟数据库进行,与具体应用数据库无关,因此能够将采用目前流行、成熟的软件构件方法开发的构件集成到任意一个应用系统中, 具有构件集成简单、与数据库联系紧密等特点。另外,集成存取处理模块可以用来实现对异构数据的存取、查询等功能。数据访问中间件为用户提供针对特定集成应用而设计的虚拟集成视图。虚拟集成视图是一个虚拟关系(或虚拟对象类)的集合。采用 XML 作为集成系统的公共模型,用一个 DTD 描述集成层的一个虚拟对象类,一个元素对应虚拟对象类的一个属性,所有虚拟对象类的 DTD 组成集成系统的集成模式。根据不同用户的不同需求,可定义不同的 XSL 样式表,屏蔽部分对象或对象属性,改变对象显示形式,提供不同的用户视图。2、ORM 模型ORM 技术是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。Hibernate 也是目前 Java 开发中最为流行的数据库持久层框架,Hibernate 优点:1、透明持久化(Persistent) 2、事务 Transaction (org.Hibernate.Transaction)3、它没有侵入性,即所谓的轻量级框架。 4、移植性会很好。 5、缓存机制。提供一级缓存和二级缓存。 6、简洁的 HQL 编程。但是在地震系统中,hibernate 不能很好的适应本系统的需求,主要原因有以下几点:1、系统设计大量输出的处理,而 hibernate 在 select 在大量数据操作时的效率很低,批量数据处理时,效率低。2、对于表结构的变动,hibernate 必须重新编码。3、对于上层模块的事务要求,逻辑要求不能很好的支持。4、hibernate 内部复杂,出现问题不易分析调试和更改。 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 10 页1.4 研究目标本文的研究目标是在了解地震数据应用的现状和需求后,借鉴主流数据平台的设计与实现,重新设计并实现了基于对象关系映射的数据统一访问平台。通过本文提出的系统可以统一系统数据存取访问标准,提高系统的集成扩容能力,提高应用程序进行数据操作的便捷性,提高系统的可扩展性。针对地震系统中数据资源的特点和应用需求,论文的研究内容概括为以下几点:1设计 ORM 架构,建立统一对象存取标准建立规范统一的数据存取格式与数据访问标准2建立数据访问中间件,屏蔽底层数据库细节提供简捷明确的应用视图,面向应用屏蔽底层数据组织细节,支持用户对数据对象的定制,向下协调各数据库系统,向上集成应用所需的特定数据。3面向应用提供数据服务为上层特定应用模块提供所需数据服务,支持事务性、数据变更记录的数据访问管理, 实现对应用层事务性、变更管理的支持,使数据库中的数据一致性得到保障。4系统需要有良好的扩展性和移植性,灵活应对地震行业应用数据环境变化。1.5 论文组织结构本文的组织结构如下所示:第一章:绪论,主要阐述了本课题的课题来源和研究背景,并且提出了论文的研究目标;第二章:相关概念技术介绍,主要介绍了对象关系映射,数据源集成的概念,还对 XML,ORM 等技术进行了较为深入的介绍。第三章:本章提出了基于三层视图两级映射的统一数据访问平台的总体设计。给出了系统框架,并概要介绍了本系统各个部分的功能和接口。第四章:本章介绍视图映射机制的设计与实现。首先给出了视图映射的概念介绍,然后详细介绍了视图映射的具体格式和可编辑的实现。第五章:本章介绍了执行引擎的设计与实现。首先讲述了任务引擎的设计,然后分别详细介绍了任务调度、任务解析、任务执行三个模块的实现。 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 11 页第六章:本章介绍了系统的应用模块接口。主要包括采集业务,交换业务,前台业务以及其他应用模块接口。第七章:本章介绍了系统测试及评测分析情况。选取国家地震前兆数据交换平台的一个应用场景作为测试环境,测试了系统的主要功能,并对测试结果进行分析。 第七章:本章对全文进行总结,并对今后研究工作重点提出展望。2. 相关技术介绍2.1 对象关系映射模式概述目前,软件开发已经是面向对象的了。所有的值,操作都是基于对象的概念。而数据库还是关系数据库。记录的存储还是一条一条的。为了在逻辑上使得软件开发与存取数据库保持一致(都按照对象的概念进行开发,存取)必须采用 ormapping 技术。2.1.1 对象关系映射的基本概念对象关系映射(Object Relational Mapping,简称 ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM 是通过使用描述对象和数据库之间映射的元数据,将 java 程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 12 页2.1.2 hibernate 介绍Hibernate 是一种 Java 语言下的对象关系映射解决方案。 它是使用 GNU 宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate 也是目前 Java 开发中最为流行的数据库持久层框架,现已归 JBOSS 所有。它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用 Hibernate。Hibernate 不仅负责从 Java 类到数据库表的映射(还包括从 Java 数据类型到 SQL数据类型的映射) ,还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理 SQL 和 JDBC 上的开发时间。2.2 异构数据集成技术对于屏蔽系统底层异构数据库和数据表项,主流的方法有两种:数据仓库法和虚拟发。2.2.1 数据仓库法数据仓库方法需要建立一个存储数据的仓库,定期对数据源中的所有信息进行预处理,形成符合仓库模式的信息,然后下载数据到数据仓库。对数据源中信息的预处理及数据仓库的更新主要是通过 ETL 工具。这种方法的主要好处是查询处理性能高,但主要缺点是数据可能不是最新的,如果仓库模式设计成静态的,当有新数据源加入或已有数据源发生变化时对仓库的修改代价比较高,而且创建数据仓库比较费时费力,通常需要六到十八个月的时间。2.2.2 虚拟法虚拟法,也称中介器法,虚拟视图集成方法用于数据仓库不实用或不能解决的情况,例如:用户只需访问数据源中一小部分数据、数据频繁更新、需要实时数据、提供数据方只能处理有限的查询或全局模式本身经常改变的情况。在完全的虚拟数据集成中,全局模式是一个逻辑的或虚拟的实体,系统根据数据源相关信息将针对该模式的查询在系统运行时动态重写成针对每个实际数据源的查询,中介器通过包装器获得数据,然后整合,返回给用户。 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 13 页当用户向集成系统提交一个查询,系统会将该查询翻译成针对各个数据源的查询集,然后将结果整合返回给用户。应用这种解决方案得到的查询结果是最新数据。而且 XML 的出现使得对各种数据信息的标准化描述成为可能,使系统更易于适应数据源间的不同。虚拟视图集成优于数据仓库之处是:1、它能够集成那些只允许对数据进行有限访问的数据源:支持数据的实时视图:能够同时描述中介模式的多个版本。2、适合集成系统中的数据源数量很大,而且数据源更新频繁,不可预知用户需要查询什么信息的情况。虽然虚拟视图集成方法要以一定的性能作代价,因为每次查询都要连接数据源,如果有些数据源实际位置距中介器很远,则可能出现响应延时,但是创建数据集成系统很快,而且在中介器中增用缓存策略可解决这一问题,优化系统性能。2.3 XML 技术XML(eXtensible Markup Language)是 Internet 环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。由于其以与平台、语言和协议无关的格式实现了数据的描述,因此其在异构数据集成中提供了一个统一的数据表示方式,本节简单介绍了 XML 的基本内容,并分析了目前 XML 在数据表示上的技术优势。2.2.1 XML 的优势XML 的优势之一是它允许各个组织以及个人建立适合自己需要的标记集合。 XML的最大优点在于一篇文档包括三个要素:数据、结构以及显示方式。使得他的数据存储格式不受显示格式的制约。此外 XML 对数据结构有着严格的描述,方便数据的共享,总体来说,XML 主要具有以下一些重要特点:1、可扩展性:XML 是一种文本文档的元标记语言,它允许使用者创建和使用他们自己的标签,甚至特定行业也可以一起来定义该领域的特殊标记语言,作为该领域信息共享与数据交换的基础。2、灵活性:XML 提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。可使用样式表如 XSL (eXtensible Style sheet Language,样式扩展语言)、 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 14 页CSS2( Cascading Style Sheets Level2,层叠样式表第 2 进阶) ,将数据呈现到浏览器中。3、自描述性:XML 文档通常包含一个文档类型声明,因而 XML 文档是自描述的。不仅人能读懂 XML 文档,计算机也能处理。XML 表示数据的方式真正做到了独立于应用系统,并且数据能够重用。4、简明性:XML 只有 SGML 20%的复杂性但具有 SGML 功能的 80%。同完整的SGML 相比, XML 简单得多,易学、易用并且易实现。2.2.2 XML 的解析方式 当前有两种解析方式: dtd (文档类型定义)和 schema ( XML 模式) 。DTD 实际上可以看作一个或多个 XML 文件的模板,这些 XML 文件中的元素、元素的属性、元素的排列方式/顺序、元素能够包含的内容等,都必须符合 DTD 中的定义。DTD 的分类:DTD 可以是一个完全独立的文件,也可以在 XML 文件中直接设定。所以,DTD 分为外部 DTD(在 XML 文件中调用另外已经编辑好的 DTD)和内部DTD(在 XML 文件中直接设定 DTD)两种。比如,有几十家相互联系的、合作伙伴关系的公司、厂商,他们相互之间的交换电子文档都是用 XML 文档。那么我们可以将这些 XML 文档的 DTD 放在某个地方,让所有交换的 XML 文档都使用此 DTD,这是最方便的做法,同时也适用于公司内部的 XML 文件使用。XML Schema 是以 XML 语言为基础的,它用于可替代 DTD。一份 XML schema文件描述了 XML 文档的结构。XML Schema 语言也被称为 XML Schema Definition (XSD)( XML Schema 定义)我们认为 XML Schema 很快就会替代 DTD 在大多数的网络应用程序中被广泛使用。XML Schema 针对将来的额外内容是可扩展的 ;XML Schema 内容比 DTD 丰富,作用也更大 ;XML Schema 是以 XML 语言编写而成的 ;XML Schema 支持数据类型 ;XML Schema 支持名称空间(namespaces) ;XML Schema 于 2001 年 5 月 2 日成为 W3C 推荐使用的标准,在 W3C 教程中你能阅读到更多关于 XML Schema 标准。小结本章主要介绍了对象关系映射以及异构数据集成的概念和相关技术,并且对于 XML 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 15 页技术和解析做了简单介绍。3. 数据统一访问平台的分析与设计前面的章节,我们探讨了地震系统对于数据的特殊需求和数据统一访问平台的研究现状。基于以上讨论,本文提出了一个可以满足这一需求的数据资源访问平台基于三层视图二级映射的统一数据访问平台。本系统很好的解决了地震数据访问中海量性,高效性的问题,为实现地震行业中数据资源的统一访问奠定了基础。本章将对本系统的整体框架的设计进行介绍。在以后的章节中,还将围绕系统各主要组成部分的设计和实现展开详细的介绍。3.1 系统需求分析以下从项目的各个角度概括地震前兆系统对于数据服务的要求:数据异构性:在前兆系统中,地方区域都有一定的自主权,可根据实际情况对本规范的数据库结构进行扩展,增加表或表中字段。从而,由于一些有地方特色的应用,新增的设备,流动台站的加入,临时台站的设置等,可能导致主干业务之外的一些库表结构发生变化,进而导致地方之间,地方和国家之间的数据库类型和数据库表结构不同,出现底层数据差异,因而必须建立一个统一数据访问平台,屏蔽低层数据结构的差异。应用主题服务:在前兆系统中,有很多应用模块数据交换模块,数据采集模块,这些模块对数据平台都提出了不同的要求。采集模块提出了特定的事务控制要求;数据交换要求数据平台实现对数据库的变更管理和全局数据的统一。数据交换模块,不需要了解数据内部的具体信息细节,即可完成交换。因此,必须建立统一的数据访问平台,为数据应用、数据交换,数据采集提供应用主题服务,适应不同应用模块的特定需求。访问高效性:庞大的数据量使得软件系统必须高效,便捷的处理数据访问需求。现有的十五系统缺乏统一的数据访问服务,应用数据提取流程复杂。必须建立统一的数据访问平台,使数据库操作对象化,使应用数据的提取和更新操作更加便捷高效,提高系统数据访问效率。 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 16 页用户多样性:地震前兆观测系统的用户群的多样,这造就了前兆系统软件应用程序与数据服务的多样性,这对前兆观测系统软件统一数据存取与访问标准提出了要求。用户或者应用对数据的需求不同,那么必须要求底层数据平台按照用户或者应用的要求对上提供相应的数据服务。从而,必须建议一个可定制数据的统一访问平台,对上层应用集成相应的数据。设备多样性:前兆设备种类繁多,为方便系统对数据的采集以及用户对数据的存取与访问,应制定统一规范的数据存取与访问标准。随着高频采样设备的投入与增长,系统数据集成扩容能力要求提高,现有的十五系统数据处理能力不适应新的组织关系和增长的数据规模,系统数据集成能力较差,需建立统一的数据管理机制来管理海量数据。而现有的十五前兆系统缺乏规范,统一的数据访问标准。系统扩展性:从长远来看,随着设备的不断进步,前兆系统数据库产品,数据库表结构在未来均有变更的可能性,要求系统集成能力和扩容能力提高。现有的十五前兆软件系统上层应用程序与数据库紧耦合,系统可扩展性差。统一数据访问平台通过建立视图映射机制实现应用程序与数据库结构的逻辑独立性。通过解耦合,降低系统与数据库产品的粘合度,提高系统可扩展性,以适应未来数据库的变化。综上所述,系统对平台提出了一下几点需求:1. 稳定性、高效性平台稳定高效的处理数据访问请求。2. 屏蔽底层数据异构,支持数据统一访问屏蔽底层多种数据库的命令差异,建立规范统一的数据存取格式与数据访问标准。3. 支持事务性、数据变更订阅的数据访问管理为上层特定应用模块提供所需数据服务,支持事务性、数据变更记录的数据访问管理, 实现对应用层事务性、变更管理的支持,使数据库中的数据一致性得到保障。4. 平台扩展性系统需要有良好的增容扩容能力,灵活应对地震行业应用数据环境变化。 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 17 页3.2 系统体系结构针对以上需求,本文设计了一个基于三层视图两层映射的统一数据访问平台。平台的总体思路是为各个数据源中的异构的数据对象建立一个统一的全局逻辑视图,通过这种逻辑视图屏蔽底层数据的异构性,并在逻辑视图之上,为不同的应用提供相应的应用视图,使得各个应用可以根据自己的需求制定不同的应用对象,对系统中特定的数据对象进行增删查改的操作。系统的框架图如图 3.1 所示:错误处理采集主题视图应用主题视图国家中心原始视图应用视图映射管理表空间映射转换本地数据资源映射管理本地数据资源配置应用视图配置对象 / 虚拟表映射配置属性 / 字段映射配置映射转换对象 / 虚拟表映射转换日志管理本地数据视图连接池数据库连接管理数据插入冲突检测数据库 备份库 数据文件学科中心原始视图 区域中心原始视图 其他原始视图统一访问视图数据库负载监视任务调度交换主题视图数据应用主题视图 其他视图映射管理执行引擎任务解析会话管理S Q L 执行工厂映射管理类型管理S Q L 自动生成任务执行会话管理S Q L 执行工厂触发机制事务管理结果集拼装L O B 字段处理接口层数据采集接口 数据交换接口数据应用接口平台状态监控接口其他接口映射关系配置接口 数据库负载监视接口类型管理整个数据平台由映射管理,执行引擎,应用程序接口,数据库访问四大部分组成,负责对底层数据库和文件进行封装,为各应用提供数据访问服务。平台内含三种数据视图:数据库原始视图、统一数据视图、应用主题视图。其中,统一数据视图根据地震业务模型建立,底层原始视图向统一视图映射,提供了屏蔽底层数据结构异构的方式;上层应用主题视图向统一视图映射,提供了应用模块逻辑可以灵活变更的扩展性支持。用户可以配置两中映射关系中数据字段的对应关系,从而为底层数据存储和上层应用解耦合,使单个模块随需求变更而不影响整个系统成为可能。主要功能概括如下: 数据资源的基本操作:解析统一访问对象,生成相应的数据库任务,完成数据 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 18 页资源的增删查改等的基本操作,并且返回统一的结果集,实现对数据最基本的管理,并且提供完善的错误处理和日志记录的功能。 异构数据源的统一访问:平台通过中间逻辑视图,屏蔽底层数据源的差异,完成对异构数据源的透明访问。 视图映射的编辑:平台对视图映射的内容进行统一的管理,实现了对视图映射内容的编辑,包括上层应用对象的制定,中层逻辑视图的制定,下层数据源和数据表的添加等功能。 上层应用支持:平台提供触发反馈机制、异常管理机制,对上层应用提供完善的支持。包括采集业务的事务支持,交换业务中全局数据管理的支持。3.2 视图映射架构为了为特定的业务数据提供方便简单的访问方式,向下屏蔽数据库资源的异构性,向上集成应用系统所需数据,降低数据库结构与应用程序的耦合性,设计了应用主题视图,统一访问视图和本地数据视图三级视图以及应用视图映射和本地资源映射两级映射。本系统通过映射配置文件可以实现对数据资源的有效定义与描述。先将数据源中数据表通过本地资源映射实现与逻辑视图中虚拟表的绑定,建立针对各个应用的虚拟逻辑视图。各应用对象通过应用视图映射与虚拟逻辑视图中的数据表进行关联。具体到本系统中,应用点是视图映射管理部分在虚拟逻辑视图上集成上层应用对象,完成上层应用对象到中间逻辑虚拟对象,再到底层数据表的映射。平台的任务执行引擎从上述映射中取得关联,将对象的操作,转化成对底层数据表的操作,完成数据操作任务,如图 3.2: 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 19 页底层数据表统一访问视图 表O r a c l e表表M y s q l表表S q l S e r v e r表表 表 表 表 表应用主题视图应 用 对 象 应 用 对 象 应 用 对 象 应 用 对 象图 3.2 逻辑视图示意图3.2 任务执行引擎本系统中,业务应用数据服务模块调用数据统一访问模块接口,数据统一访问模块通过将提交的访问命令进行解析,经过两级视图映射转换,构造查询数据库的操作语句,访问数据库资源,并将结果经过反映射返回给调用接口。地震系统中,由于应用具有高并发的特点,所以在接受到上层应用的任务时,任务执行引擎先进行一定的调度,在执行特定任务时,任务引擎需要先对数据操作语句基于虚拟逻辑视图进行解析,重组为对该操作任务对应数据源(即数据库)可用的SQL 语句,最后在任务执行环节中才可以直接送到各数据源去执行。本模块对于报错管理,日志管理,事务管理,数据库连接管理等等都做了详细的处理。具体的操作流程如下图: 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 20 页3.4 应用程序接口交换应用接口:数据交换负责完成区域中心、国家中心和学科中心的所有信息和数据的交换,实现数据交换过程一致性检查和错误警示,自动重复交换,对交换策略实现参数化管理。在交换模块,区域中心向国家中心汇集数据,国家中心向学科中心分发数据,这导致数据会有一个或者多个副本,那么必须维护各个节点之间数据副本的一致性,做好数据版本的检查。数据必须在全局有唯一性,交换必须完成多个节点间的数据全局变更管理。采集应用接口:数据采集负责对非 IP 仪器、IP 仪器和人工观测设备的原始观测数据、仪器日志和事件数据进行采集、数据合法性检验和数据存储,对前兆元数据和基础数据进行采集和管理,对台站工作日志进行采集,进而实现对前兆观测设备的集成控制管理。在地震采集业务中,数据的观测采集是以测点为单位的,测点是区域中心所属的前兆观测点。一个测点包括很多测项分量,测项分量是构成地震前兆测项的每个要素,在数据库表设计中,按不同的测项分量,采样率分表存储。那么一次采集获得所有测 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 21 页项信息,这些测项信息的入库,要作为一个事务来处理。测项 A 设备测项 B 设备测项 C 设备采集系统测项 A 表测项 B 表测项 C 表测项 A 数据测项 B 数据测项 C 数据测项 A 数据测项 C 数据测项 B 数据一次采集事务数据应用接口:前台接口:地震业务前台对平台的状态进行监控,对节点信息的管理,台站信息的管理,测点信息和基础数据的管理。数据库提供数据版本和用户权限的控制,对不同版本和用户提供不同的功能,对前台进行控制管理,并且对用户登陆和操作进行记录。3.5 小结本章介绍了统一访问数据访问平台的总体设计情况。给出了系统框架,并简要论述了本系统结构中视图映射管理、执行引擎、应用程序接口三个部分的功能。从下一章开始,本文将详细介绍本系统中三个模块的设计与实现。4. 视图映射的设计与实现本系统采用视图映射的方式实现了底层数据资源的统一描述,屏蔽各地数据资源的异构型,通过中间统一访问视图,将底层异构数据统一到中层统一访问视图。上层应用主题视图,根据应用的变化,为上层提供应用所需的数据对象。视图映射机制全局协调整个平台的运作,本章将对视图映射管理的设计与实现展开详细的介绍。视图概念的介绍系统通过两层视图对底层数据进行统一描述,其中统一访问视图的作用是屏蔽底 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 22 页层异构数据,将底层数据集成到统一的访问视图进行全局的管理。应用主题视图是根据上层应用的不同需求集成适合特定应用的应用对象,方便用户访问。应用主题视图:应用主题视图针对各种应用程序的需求而建立的虚拟视图,包括数据采集视图,数据交换视图,数据应用视图以及其他视图。屏蔽了底层数据库,使得数据库表结构对应用程序和用户不可见。面向特定应用,根据具体的访问命令定制,使得应用程序对数据的访问更加简洁,数据库操作对象化,通过分析特定业务需求建立应用主题视图,使数据访问操作更加便捷高效。应用主题视图具有以下特点: 简单性:简化应用程序对数据库结构的理解和操作 逻辑独立性:当表结构发生变化时,通过更改视图屏蔽这种变化对应用程序的影响。当应用发生变化时,通过更改视图屏蔽这种变化,不需要改变数据库表结构 安全性:应用程序只能查找和修改它们可以看到的数据统一访问视图:统一访问视图表示数据库产品数据结构的虚拟表,是适应数据库产品或数据库结构变更的统一访问视图,包括学科中心统一视图,国家中心统一视图,区域中心统一视图,其他原始视图,定义了应用中使用的全部数据。统一访问视图在国家中心,区域中心,学科中心全局统一,从而可以在全局范围内提供统一的底层资源视图,屏蔽数据库差异。这层视图以虚拟表和虚拟字段的形式表示,使得应用程序不需关心数据实际的存储方式,降低了数据库产品与软件产品的耦合度,提高系统集成能力、扩展能力以及灵活性,使系统可以适应数据库产品或数据库结构变更,对数据库产品的修改完全无需引起对软件产品的修改。统一访问视图具有以下特点: 逻辑独立性:当数据库表结构发生变化时,通过修改视图映射配置屏蔽这种变化对应用程序的影响 友好型:可以使用传统的数据库访问方式操作统一访问视图本地数据视图是数据库的实际存储方式。视图机制的优点: 简化操作:视图大大简化了用户对数据的操作。 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 23 页 定制数据:视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。尤其有许多不同水平的用户共用同一数据库时,极为重要。 安全性:视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它数据库或表既不可见也不可以访问。 逻辑数据独立性:视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。映射概念的介绍两级映射规则分别是对应用主题视图和统一访问制图,统一访问视图和原始数据视图之间的对应关系的描述。具体关系见下图:应用视图映射规则:应用视图映射规则是应用视图向统一访问视图的映射。即将应用视图下的对象和属性映射到统一视图中的虚拟表和字段。我们在设计应用主题视图后,通常希望在应用中能更新相应数据来源的记录,即对视图添加、修改或删除的记录能反映到相应的数据表中去。在应用视图向统一访问视图映射时,统一访问视图通过创建数据库视图的方式将数据库表映射为相应的视图,应用视图读取统一访问视图中自己所需要的字段信息来进行信息的访问。在使用统一访问视图时,与使用普通表不太一样,因为视图没有主键,所以不能通过反视图映射功能对视图表进行操作,但是应用视图可以通过创建的实体类与 xml 的映射文件来配置统一访问视图表。对象表的映射举例:对象 OBJECT(简称 O),有三个属性 x,y,z,即 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 24 页O(x,y,z)中层视图的虚拟表 A,有 N 个字段 a1,a2, 中层视图的虚拟表 B,有 M个字段 b1,b2。对应关系如下:0.x 对应 A.a1;0.y 对应 A.a2;0.z 对应 B.b2。由此可见,一个对象对应多个表,为特定的应用设计合适的对象(即应用主题视图) ,通过操作一个对象来就可以达到操作多个数据表的目的,使数据操作更加便捷,高效。本地数据资源映射规则:本地数据资源映射规则是统一访问视图向本地资源视图的映射,即将统一访问视图下的虚拟表和字段映射到实际的数据库表和字段将统一访问视图中的表映射成本地数据库中的表。表表的映射举例:统一视图中的表 A,有 N 个字段 A1,A2 等,底层视图中的表 a,有 M 个字段 a1,a2 等。对应关系如下:A.A1 对应 a.a1;A.A2 对应 a.a4; A.AN 对应 a.aM。由此可见,统一访问视图中的表与原始数据视图中的表是一一对应的,但表中字段不是一一对应的,统一视图可以向用户屏蔽原始数据库中一些不宜暴漏的字段。关于映射配置的几点说明:1. 对于数据表之间的关联映射部分,尚为完善,只提供了简单的联表查询的功能。不支持跨库的表见关系。2. 对于映射,仅支持单表映射,多表映射功能尚不完善。视图映射的实现和配置管理视图映射的格式设计映射方法采用配置文件法。本系统中,视图映射主要对数据源、应用视图映射规则、本地数据资源映射规则三种信息进行描述。1、对于数据源的信息,通过五元组来进行描述:DataSource= DBName,Url,Username ,Password ,Driver其中,DBName 指数据源的昵称,是底层数据源的唯一标识;Url 指数据源的访问地址;Username 、Password 分别指访问数据源所用的用户名和密码;Driver 指访问数 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 25 页据源时需加载的驱动程序包名称。具体的数据定义格式是:根节点:每个一级子节点描述一个数据源,具体见图 4.4、4.5:图 4.4 数据源的描述形式图 4.5 数据源的描述示例2、对于应用视图映射规则的信息,通过三元组来进行描述:AppObject =ObjectName,ReferView,PropertyList其中,ObjectName 指应用对象昵称,其在上层应用视图中是唯一的,对应上层某个应用所涉及的应用对象;ReferView 指应用对象所涉及到的中间逻辑视图中的虚拟表的名字;PropertyList 为应用对象所包含的字段信息的集合,每一个字段的信息可以用三元组表示:Property = PropertyName,ReferViewName,ViewFieldName其中,PropertyName 指应用对象中的属性名;ReferViewName 指该对象属性所对 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 26 页应虚拟表的名字;ViewFieldName 指该属性对应虚拟表中属性的名字。具体的数据定义格式是:根节点:每个一级子节点描述一个数据对象到逻辑视图的虚拟表的详细映射关系,具体见图 4.4、4.5:图 4.8 应用视图映射规则的描述形式图 4.9 应用视图映射规则的描述示例3、对于本地数据资源映射规则的信息,通过三元组来进行描述:View = ViewName,ReferTable,FieldList其中,ViewName 指逻辑视图中虚拟表的昵称,其在中间逻辑视图中是唯一的; 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 27 页ReferTable 指该虚拟表所涉及到的底层数据表的名字;FieldList 为虚拟表所包含的表项的集合,每一个表项的信息可以用三元组表示:Field = FieldName,ReferTableName ,TableColumnName其中,FieldName 指虚拟表中的表项名;ReferTableName 指该表项所对应底层数据表的名字;TableColumnName 指该表项对应数据表中属性的名字。具体的数据定义格式是:根节点:每个一级子节点描述一个数据对象到逻辑视图的虚拟表的详细映射关系,具体见图 4.4、4.5:图 4.8 本地数据资源映射规则的描述形式 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 28 页图 4.9 本地数据资源映射规则的描述示例视图映射的配置管理通用数据访问平台可以使用 XML 数据进行映射,当采集数据平台,交换数据平台和数据应用平台发出数据访问请求时,通用数据平台解析这些模块发来的 XML 文件,解析过的 XML 数据可以被认为是对象层面上的关系型数据。将各模块发来的 XML 文件解析生成对象,通过 XML 文件映射对象的视图,这些对象通过视图来操作数据库。其中数据库连接信息是从配置文件中加载的,在配置文件中包含了一系列属性的配置,根据这些属性来连接数据库。映射关系自动生成系统根据所配置的数据库内容,按照最简单的一一对应的关系,自动生成数据库中所有表项的应用对象,保证平台的移植性。映射关系配置系统提供简单的修改映射关系的配置接口,对应的配

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论