西部大地形变数据库设计与建设*
2011-11-14陈文胜王丹宁
苏 瑞 程 林 陈文胜 王丹宁 王 雄
(中国地震局第二监测中心,西安 710054)
西部大地形变数据库设计与建设*
苏 瑞 程 林 陈文胜 王丹宁 王 雄
(中国地震局第二监测中心,西安 710054)
介绍西部大地形变数据库的设计与建设。
形变;关系型数据库;数据库设计;逻辑结构模型;西部地区
1 前言
大地形变观测数据是地震科研预报的基础分析数据。从2005年起,笔者所在的项目组历经4年多时间,设计和建设了西部大地形变数据库,并进行了大量的大地形变数据与元数据的采集入库,通过不断的测试和完善,该数据库系统目前运行良好。
西部大地形变数据库系统的建成,为广大地学研究者建立了一个完善的数据存储、交换与共享平台,让积累30多年的中国西部大地形变数据发挥它更大的社会效益,并将更好地为地震预报、灾害救援、科学研究和工程建设服务。该数据库系统的建成与运行,也将会极大地促进大地形变数据管理的数字化、标准化和规范化。
2 西部大地形变数据库基础概述
2.1 西部大地形变数据库的特点
西部大地形变数据库存储的成果主要包括在中国中西部地区观测的精密水准测量数据、GPS测量数据、精密重力测量数据及其相关元数据。其主要特点有:
1)数据海量。精密水准测量共有水准线路200余条,150多个水准环,总长度约2.9万千米。累计完成水准线路观测12万余千米。GPS测量数据主要包含2个连续观测基准站、14个基本站、237个区域站的多期观测成果,总数据量超过60G。精密重力测量数据包括中国西部7省区自1992年以来500多个测点的20多期观测数据。
2)原始数据格式、类型不统一。由于区域精密水准测量数据、GPS测量数据、精密重力测量数据和跨断层测距数据时间跨度太大,各时期观测记录使用的方式不同,数据记录格式与类型不同。另外有纸质载体、电子载体,电子数据由于计算机软硬件的更新换代,又产生了格式多样的电子数据。
3)数据间存在相关性。数据的相关性有3层含义:一是指在比如精密水准测量数据中,点表、测段、高差等数据的相关性;二是指一些点位既产生精密水准测量数据,又同时产生GPS测量数据、精密重力测量数据;三是指在同点位、同手段下不同时间观测数据的相关性。
2.2 数据库系统建设基本技术和架构
2.2.1 操作系统的选择
作为服务器上安装的网络操作系统,必须具有良好的稳定性、可靠性、安全性和可扩展性。经过对比现在流行的操作系统Windows Server 2003,Linux和Free BSD等,再基于对国家基础数据安全的考虑,我们选用了SuSE Linux企业版操作系统,该操作系统具有以下的特色:一是其Yast管理工具非常优秀,可方便地进行大多数的日常管理工作;二是最新的SuSE Linux包含了AppArmor的安全性工具,可以有针对性地对不同的应用软件采取不同的安全策略,赋予他们不同的权限。
2.2.2 数据库系统的选择
西部大地形变数据库系统应采用分布式关系型数据库管理系统,对应用于联机事务处理(OLTP)和决策支持系统(DSS),都能提供完整的、高性能的企业级数据库管理功能,包括数据完整性约束、并发控制、触发器、存储过程等。同时,该数据库系统应具有以下管理功能:高性能数据处理能力;支持数据分区技术;数据库系统具有行级锁技术以支持大量并发用户;支持并行处理技术以提高系统性能;支持多主机的Cluster系统;数据的高可用性;数据库系统的安全性保证;数据库系统维护和管理方便易用。
几种常见大型数据库特点分析:
1)SQL SERVER 2003
SQL SERVER 2003是Microsoft公司开发的大型关系数据库管理系统,具有强大的关系数据库创建、开发、设计和管理功能。经过不断地改进和版本升级,它各个方面的功能都得到了很大的提高。SQL SERVER 2000功能比较强大、操作较简便。虽然SQL SERVER 2003在数据处理、可靠性、可用性以及维护管理方面都有上佳的表现,但由于它基于Windows系统,其安全性不能得到保证,因此没有选择SQL SERVER 2003作为我们的数据库系统。
2)IBM DB2 9
DB2 9是IBM发布的新一代数据库管理系统。DB2 9既可以使用关系型存储,又可以使用层次型对象的存储;既可以访问关系型数据,又可以用对象的方式访问数据库。DB2 9通过提供新的查询语言、新的存储技术、新的索引技术和支持XML数据及其固有层次结构的特性,使得IBM DB2 9成为IBM的第一个“混合型”(即多结构)数据库管理系统。DB2具有很好的并行性。DB2引入的新的分区技术可以提高数据仓库的性能并降低管理时间。新的表分区方法通常称为范围分区,它允许为每个分区定义数据范围,并根据数据范围将数据存储为单独的对象。
3)MySQL
MySQL是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强,使用简单,管理方便,运行速度快,安全可靠性强等优点,用户可利用许多语言编写访问MySQL数据库的程序。MySQL完全采用C和 C++代码开发,坚实地保证了MySQL产品的高效和稳定性;在大量不同的作业平台上可以稳定运行;提供了事务性和非事务性的各种存储引擎支持;全面利用内核的多线程功能,可以轻易获得多CPU带来的更充足运算力;可轻易接插多种类型的存储引擎;支持的应用编程接口有,C+ +,Eiffel,Java,Perl,PHP,Python,Ruby和Tcl等;支持存储过程功能;支持触发器功能;支持视图功能;完备的数据字典。
4)Oracle 10g
ORACLE数据库产品是当前数据库技术的典型代表,是目前使用最广泛的数据库管理系统之一。它可以运行在各个平台上,对linux的应用支持相比其他数据库最好。Oracle数据库10g是业界首个为网格计算而设计的数据库。Oracle更强调网格技术,通过网格,可以在安全、可靠等方面为用户提供更多的支持。其主要特点有:数据库高可用性;可伸缩性好;安全性高;可管理性好;数据仓储功能;集成;内容管理。
通过比较,从数据库安全性能、客户端支持及应用模式、可靠性与可用性、维护管理以及数据库产品对客户服务等多个方面的综合考虑,我们采用了数据库oracle 10g。
2.2.3 系统基础技术
系统基础技术采用B/S(Brower/Server)模式。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle数据库。浏览器通过Web Server同数据库进行数据交互。网站的设计采用JSP/JSF技术。符合J2EE的相关的标准,可以运行在多种应用服务器之上。
3 数据库功能设计
现有数据类型主要有文本数据、图像数据、观测数据及元数据(表1)。
表1 现有数据的类型与内容表Tab.1 Type and content of existing data
3.1 数据管理系统
后台数据的管理是整个数据库应用中非常重要的环节。由于大地形变数据库资料一旦导入,一般不再发生更改,只提供查询利用,所以利用Oracle自身提供的工具sqlloader功能进行数据库底层各种数据表的导入、删除、修改和备份恢复。
3.2 数据信息查询系统
查询系统采用Brower/Server模式,即前台(客户端)查询界面和后台(服务器端)维护和服务功能,用户可自由指定关键词查询或者进行模糊查询。具体实现以下功能:
1)大地形变数据点之记、点位情况查询;
2)大地形变数据测量成果查询;
3)大地形变数据测量统计查询;
4)大地形变数据测量信息成果综合查询。
3.3 数据下载系统
数据下载,对观测数据表和平差结果表可以按照EXCEL格式,下载到本地磁盘。对技术文档和图像的下载,可以按照文本格式或位图格式下载到本地磁盘。
4 数据库的实现与模块设计
建库技术采用powerdesigner与oracle ADF,面向对象的开发技术(图1)。
图1 数据库建库工作流程Fig.1 Flow chart of database construction
4.1 数据库结构模型
大地形变数据库的整体逻辑结构用ER图来描述,基于整个数据库的结构比较复杂的原因,把整个数据库分为3部分进行说明。
1)区域精密水准数据逻辑结构
区域精密水准数据逻辑结构设计是本次数据库设计的一个重点,其数据本身比较复杂而且数据之间的关联也较复杂。本着稳定数据库结构和利于后期维护的原则,对该数据逻辑结构进行了一定的简化。比如,对于仪器检验信息、标尺检验等文本信息不再分条目存储,而是采用文本文件的方式整体存放于数据库中(图2)。
图2 区域精密水准数据逻辑结构Fig.2 Logical structure diagram of local precision leveling data
2)GPS数据库逻辑结构
GPS数据逻辑结构的设计较简单,主要原因是该类数据的具体观测信息都是单点信息,从一定程度上降低了其设计复杂度。另外,考虑到GPS数据文件的数据量太大,从系统开销的角度讲直接把原始观测数据文件存储在数据库中是不合适的。所以,在数据库设计中没有考虑原始数据文件,只是对观测信息进行细致的描述,保证每个数据文件都可以在观测信息中找到自己所对应的条目(图3)。
图3 GPS数据逻辑结构Fig.3 Logical structure diagram of GPS data
3)重力数据库逻辑结构
由于重力数据既包含单点信息,又存在由单点信息形成的测段信息。所以,重力数据库逻辑结构是介于区域水准数据库逻辑结构与GPS数据库逻辑结构之间的一种逻辑结构。
4.2 数据的采集
由于初始加载的数据量比较大,部分数据属于纸介质、部分数据为不同格式的电子数据,数据格式不规范,故采用数据批量装入的方法对数据加载。
对于纸介质数据,由于产生的年代跨度很大,有许多不同格式,数据不很规范,只能采取手工录入结合程序处理的方式进行数据加载,具体为手工录入到EXCEL表格中,再由程序将数据加载进入数据库。数据采集流程如图4所示。
图4 数据采集流程Fig.4 Flow chart of data acquisition
对于电子数据,由于电子数据的格式不一,也无法一次性地将数据转换入库。以水准测量数据为例,图5为1995年与1998年水准测量原始观测数据明码文件头,其中LR018.DZM为1995年数据,B5090681.Z04为1998年原始观测数据,由于电子数据产生的年代不同,导致数据格式的不同,必须利用编程进行分别数据转换后导入。
图5 1995年与1998年区域水准测量观测数据明码文件对比Fig.5 Comparison between the plainfile of local leveling measurement data in 1995 and in 1998
5 建库与设计过程中的问题与不足
1)在数据库表中,点表在整个数据库采集和测试运行中,都是最重要的关键表,其他数据表的整理、加载和调用都是以点表为基础的。由于点表信息是手工编制的,加上有部分点穿插在不同的路线中,或者由于其他原因致使同一点名写法不一致,都会产生同一点号对应的点名不一致的错误,导致数据库运行出错。对这些问题,我们一方面加强过程检查排除人为错误,另一方面通过建立别名表(表 2)处理该问题。
表2 别名表Tab.2 Alias table
2)部分水准路线在经过多年重复观测之后,进行了线路调整,如何将新旧线路的最终成果科学地提供给用户,也是需要面对的问题。如果将旧线路转换为新线路,那样会使许多历史数据失去研究意义,如果将新线路转换为旧线路,那今后所有的新线路数据入库时都要进行重复换算,并且新线路在数据库中无法查找使用,另外,新旧线路在许多节点上无法清晰转换也是一个问题。经过权衡,我们采用将新线路数据分割后,并入旧线路数据,同时将新线路再单独列出,虽然这样增加了数据冗余,但可以充分满足用户使用数据的方便和完整。
3)在数据库网站建设过程中,由于西部大地形变数据库(网站)虽然有部分图形查询功能,但并不是一个真正的GIS,如何在Oracle数据库中通过ArcInfo进行图形的数据构建、模拟、分析以及地图输出,让用户简便地通过图形界面查询相关位置地大地形变观测资料,将是我们后续完善该数据库功能的一项重要工作。
6 结论
基于关系模型建立的西部大地形变数据库,将提供给广大地震科研工作者和其他用户一个完善的数据存储、交换与共享平台。作为一种应用,它将大大降低科研预报人员对基础数据收集、计算的工作强度,提高科研工作效率,加速大地形变基础数据的共享与在线处理服务。
1 周克昌,等.地震前兆数据库结构规范[M].北京:地震出版社,2007.
2 丁宝康.数据库原理[M].北京:经济出版社,2001.
3 张启来.城市空间数据库建设中数据模型的研究探讨[J].信息技术与信息化,2006,5:97-98.
4 蒋春曦,等。安徽省防震减灾基础地理数据库设计与实现[J].华北地震科学,2006,24(3):29-32.
DESIGN AND CONSTRUCTION OF GEODETIC DEFORMATION DATABASE IN WEST OF CHINA
Su Rui,Cheng Lin,Chen Wensheng,Wang Danning and Wang Xiong
(Second Crustal Monitoring and Application Centre,CEA,Xi’an 710054)
The realization of the design and construction of the geodetic deformation database in the west of China are introduced.
deformation;relational database;design database;logical structure model;the west of China
1671-5942(2011)Supp.-0142-04
2011-01-05
苏瑞,男,1975年生,工程师,学士,主要从事科技管理、质量管理工作.E-mail:sukook@163.com
P228
A