引言

地震系统每年都要进行大量的地球物理场流动观测(包括流动重力、大面积水准、流动GPS、断层形变和流动地磁测量),产出了大量宝贵的观测数据,但对这些数据的管理一直相对滞后。虽然也开展过数据库系统建设,如“十五”期间的流动数据库系统建设(薄万举,2008苏瑞等,2011),但一直没有建立比较完善和统一的地球物理场流动观测数据的数据库、数据管理、数据应用系统,以及从观测数据产出到数据应用的完整流程。而且,数据没有汇集到国家地震前兆台网中心进行共享服务。为了填补这个空白,从2013年开始,在地震行业专项“地球物理场流动观测信息融合关键技术研究”的支持下,国家地震前兆台网中心开始进行地球物理场流动观测数据管理平台的建设,包括硬件平台、流动观测数据库系统、数据管理与共享服务系统等。目前,该平台已初步建成并投入使用。本文主要介绍地球物理场流动观测数据管理系统的主要功能和关键技术。限于篇幅,地球物理场流动观测数据库设计将另文介绍。

1 主要功能
1.1 系统架构和模块

本系统是在Windows.NET平台下采用C#开发的C/S模式应用,后台数据库是在Linux平台上使用Oracle数据库系统建设的,本系统与后台数据库之间的连接通过Oracle客户端进行。系统采用模块化结构,3个主要模块是:

(1)流动地磁数据管理模块,包括流动地磁观测基础信息、观测数据以及产品录入、浏览、导出等。

(2)流动形变数据管理模块,具有流动形变数据浏览、导出等。

(3)其他功能模块,包括数据库检查、数据服务用户管理、服务日志管理等。

1.2 流动地磁观测基础信息管理

流动地磁观测基础信息管理包括以下功能:

(1)测量单位信息管理;

(2)作业员信息管理;

(3)项目课题信息管理;

(4)测量任务信息管理;

(5)测网信息管理;

(6)测点信息管理;

(7)仪器类型信息管理;

(8)测量仪器信息管理。

对以上基础信息的管理功能包括添加、修改、删除基础信息记录,信息查询等。各种基础信息的管理除内容不同外,界面和操作是相同的,下面以测量单位信息管理为例,其操作界面如图 1


图 1 测量单位信息管理界面 Fig. 1 Interface of data management by different administration units
1.3 流动地磁数据入库

将流动地磁测量的数据文件导入到数据库中。包括总强度测量的观测、通化数据,三分量矢量测量的观测、通化、长期改正和异常数据,以及地磁点志记文件。系统界面如图 2,入库结果提示信息如图 3


图 2 流动地磁数据入库操作界面 Fig. 2 Interface of operation for data uploading

图 3 入库结果提示信息 Fig. 3 Displaying result of data uploading

将数据导入数据库中时,软件自动根据观测的主测点(A桩)的6组(或8组)观测数据的通化值,计算地磁总强度通化均值和通化均方差,并将北京时间转换为世界时间。

1.4 数据目录

数据目录是数据库中所有数据的总览。本系统对流动地磁和区域水准观测提供了数据目录功能,可按观测任务列出与数据有关的信息。对流动地磁观测,数据目录中包含测量单位、测量任务、测网名称、观测点数、观测开始和结束日期,以及观测、通化、长期变化改正、异常数据等种类数据的条目数等信息。区域水准数据的数据目录中包含测量单位、测量任务、水准大区域、测段数、观测点数、开始和结束观测日期,以及测段观测和成果数据等信息。以流动地磁观测数据目录为例,数据目录显示如图 4所示。


图 4 数据目录 Fig. 4 Data catalogue
1.5 数据浏览及备份

对数据库中的数据进行浏览,导出EXCEL文件以便用户共享,并可按观测任务将所有数据及相关信息备份,以便进行数据交换和备份。以区域水准数据为例,界面如图 5所示。


图 5 数据浏览及导出界面 Fig. 5 Interface of data browsing and exporting

查询浏览时,可首先选择测量单位、任务年份,即可列出符合条件的观测任务。选中某观测任务后,按“水准大区、测线、测段”的层次结构列出该期任务所测量的水准大区域、该区域的测线及各测线中的测段。选择大区、测线或测段后,即在界面右上部的表格中列出条件下的所有成果数据,在其下方的列表中,显示测段成果的观测信息。如果在“水准大区、测线、测段列表”中选择的是水准大区,则显示该水准大区该期观测任务的所有测段的成果数据;如果选择的是某测线,则显示该测线该期观测任务观测的所有测段的成果数据。

“备份数据”按钮的功能是将该期观测任务的所有测段的观测信息、成果数据及所有的相关基础信息进行备份,包括:

(1)水准大区域、测线、测线节点、测段、测点信息;

(2)水准仪、标尺组合、检定信息;

(3)测段观测信息、测段观测成果;

(4)测量单位、作业员信息;

(5)项目课题、测量任务信息。

备份数据时,将数据库相关表中的数据条目以SQL语句的形式写入一个文本文件中。在备份基础信息时,将存放图形或WORD文档的LOB字段的内容也导出到文件中,保存为.JPG图形文件或WORD文档。一次备份后将形成一个SQL语句文件和若干个图形文件或WORD文档。备份是为了将数据从数据库中导出,以便进行数据交换,也可作为数据备份保存到备份介质上。

“导出数据”按钮的功能是将该期观测任务所测量的所有测段的成果数据导出为EXCEL文件以便用户共享。

流动地磁数据的浏览及备份与区域水准类似。跨断层水准测量数据按跨断层测量场地进行备份,定点台站水准测量数据按台站进行备份。在浏览时,跨断层水准测量、定点台站水准测量可显示该测段或测站高差的时间序列曲线。

1.6 备份数据入库

备份数据入库将本系统备份的流动地磁、区域水准、跨断层水准、定点台站水准观测的备份文件数据及相关基础信息导入到数据库中。比如,从中国地震局第一监测中心将某期观测任务的数据备份后,通过光盘报送给国家地震前兆台网中心,再通过本功能将备份数据导入国家地震前兆台网中心的数据库中,以实现数据库数据的交换。此功能要求两边的数据库的结构完成相同。

其操作为选择备份数据文件或文件所在目录,点击“入库”按钮后,逐个将文件进行入库。运行完毕后,将提示入库情况。

1.7 数据库检查

对数据库中数据的正确性及各个表格之间的数据一致性进行检查,确保数据库中数据的正确性。检查内容包括:

(1)水准测线、测段表、测段观测、成果表中的单位、任务是否与任务表一致;

(2)观测成果表中的单位、任务、测段是否与观测信息表一致;

(3)观测信息表中的测段是否与测段信息表一致;

(4)测段信息表中的测线是否与水准测线表一致;

(5)水准测线、测段表中的测段起点、终点编码是否相同,是否与水准点表一致;水准测线表中的水准大区编码是否与水准区域表一致;

(6)观测信息表中的水准仪编码是否与水准仪和水准标尺表一致;

(7)观测信息表中的水准标尺组合编码是否与水准标尺组合表一致;

(8)观测信息表中的观测者、记录者编码是否与作业人员信息表一致;

(9)作业人员信息表中的单位编码是否与单位信息表一致。

检查结果以文本文件格式保存在应用程序目录下,用户可打开该文件进行核对改正。

2 关键技术
2.1 数据交换问题的解决

根据中国地震局有关数据管理的规定,数据应从生产单位汇交到学科中心,再从学科中心汇交到国家中心进行数据共享服务。从生产单位汇交到学科中心可以文件方式进行,学科中心进行质量检查后将数据入库。但数据应如何从学科中心汇交到国家中心呢?如果也以数据文件的形式汇交,国家中心在进行数据入库将费时费力,因为除观测数据文件外,还有一些基础信息(如项目、任务、人员、仪器及检定信息等)需要入库,这些信息不包含在观测数据文件中,需要单独录入。因此,在国家中心和学科中心间基于数据库进行数据汇交是比较好的方式。但问题是,学科中心每次将数据入库后,如何将库中新增的数据汇交给国家中心。如果利用Oracle数据库系统提供的数据备份与恢复工具,则只能对整个库进行,无法单独添加新增数据,每次都将整个库进行汇交显然是不可取的。如果人工逐个将新增数据导出进行汇交,则非常繁琐且容易出错。对此,为了使学科中心向国家中心汇交数据时更加方便快捷易操作,开发了数据备份及备份数据入库功能。该功能根据流动观测的特点,以任务期次为单位进行数据备份,可将该期任务观测的所有测点的数据以及相关基础信息全部导出。而且,备份的数据还可作为数据库的冷备份进行保存,将来如果数据库损坏重建时,也可以使用该备份恢复数据。

2.2 数据库健康检查

关系型数据库在设计时,为了保持数据库的正确性和完整性,需要满足一定的要求,一般是第三范式的要求,通常包括各种完整性约束,如数据取值的正确性、相关数据的一致性等。此外,还有很多业务规则的要求,如本系统中的各种编码的规则等。完整性约束通过数据库各表之间的主键外键关联、唯一性、非空性、指定取值范围等等形式实现。其中,有些约束可在数据库上实施,如主键外键关联、唯一性、非空性,但有些业务规则无法在数据库上实施,如各种编码的正确性检查等,需要在数据入库软件中进行。

在数据入库时,可通过多种方式将数据导入到数据库中。比较普遍的方式是通过开发的各种数据入库软件进行数据录入,或通过Oracle数据库系统的数据导入工具进行入库等等。

如果在数据入库时没有很好地实现数据库设计的各种完整性约束,则可能导致库中的数据不正确,如编码不符合规则,数据之间不匹配等。因此,为了确保数据库中数据的正确性,本系统开发了数据库检查功能,用于根据设计的业务规则对数据库进行检查,对不正确的数据进行改正。一般来说,为了保持数据库的健康性,需要定期进行检查,以清除数据垃圾。

2.3 数据库数据总览

数据库就像一个仓库,了解库里有哪些数据对于用户和管理者来说都是非常重要的,因此通常要编写目录,但这个目录往往并不好列。本系统中,根据流动观测的特点,以观测任务期次为线列出库中数据的目录,让用户和管理者可以对库里的数据内容一目了然,较好地解决了这个问题。

2.4 二进制大对象数据对象(BLOB)管理

为了保存原始记录,本系统中有大量图形、照片、文档、电子手簿等,以二进制大对象(BLOB)的形式完整地保存在数据库中。对BLOB的操作比普通的字符字段要复杂很多。本系统使用Oracle客户端底层函数,成功实现了对BLOB类型字段的读写操作。

3 结束语

在国家中心,采用了主、备2台数据库服务器保障系统安全。2台服务器均安装了SUSE Linux操作系统和Oracle 10g数据库管理系统,硬盘存储容量分别为1.8TB和16TB,可以满足目前地球物理场流动观测数据存储的需要。按照制定的数据库结构,编制了数据库建库脚本,并在服务器上创建了流动地磁和流动形变观测数据库。

目前,地球物理场流动观测数据库已在国家中心部署使用,并根据使用情况和用户需求不断完善。由于地球物理场流动观测数据的敏感性,无法在线提供数据服务。下一步,将在国家网站上提供元数据服务,以方便用户查找和获取数据。相信本平台的建成将为加强地球物理场流动观测数据的有效管理、促进数据共享和应用发挥积极作用。

参考文献
薄万举, 2008. 流动形变监测系统 (上册)-大地形变数据库. 北京: 地震出版社.
苏瑞, 程林, 陈文胜, 等, 2011. 西部大地形变数据库设计与建设. 大地测量与地球动力学, 31(s): 142–145.