地震台站观测数据备份统计软件设计与实现

2022-09-11

地震台站每日产生大量数据, 这些数据每天都通过人工操作的方式汇集到前兆数据库 (Oracle) [1], 由于前兆数据库的数据存储空间有限, 会自动清除几个月前产生的数据。同时, 因为没有备份数据库, 因此一旦发生系统故障或通信故障, 那么很可能造成数据丢失。因此, 开发一个备份数据库, 同时实现在本地磁盘文件系统的双重备份就显得尤为必要。在此基础上, 开发部分的统计功能, 对于做数据年报也是大有裨益。

本次设计的思路是基于前兆台网Oracle数据库的已有数据, 通过自动下载程序备份到本地的存储设备和My SQL系统, 自动实现双重备份。若数据下载失败, 则从仪器端直接下载数据, 这样就减轻了仪器的负担。软件在每日的固定时间自动启动程序, 向前兆台网Oracle数据库发出数据下载请求, 若请求失败, 可多次发送请求, 并且避免了对原有数据库造成负担。同时实现自动补足当前数据库30天内的缺数, 全过程不需要人工干预, 大大节省了人力物力。

一、软件技术特点

软件采用JAVA开发, 支持灵活扩展、扩平台。概况来说, 具有如下特点:

(1) 采用B/S架构, 不需要安装客户端, 用户通过浏览器便可访问。 (2) 系统分层明确, 分为访问层、数据采集层、数据访问层、数据存储层, 便于扩展与维护。 (3) 在数据存储方面, 文件存储在指定路径上, 如果以后数据量增大, 可以扩展磁盘容量或者直接挂载云盘进行扩容。 (4) 数据采集通过跨数据源方式, 目前支持采集Oracle的数据, 并将关键数据直接保存成文件, 同时将对应的索引信息存放在My SQL中。以后也可以支持其它数据源的采集。 (5) 底层的数据采集通过多定时任务的方式进行, 将历史数据与实时数据采集分离, 即避免了频繁无效访问, 降低了数据库访问压力, 又增大了系统容量, 可以方便的调节定时任务的间隔时间来保证软件的高可用, 并且一旦发生异常, 也能够自动进行恢复, 不影响数据质量。 (6) 当前的Web架设在tomcat上, 可以方便的进行负载均衡扩容, 支持大并发访问。

二、软件实现过程

(一) 系统结构

每日的定时同步工具会在几个固定时间点, 向前兆台网数据库 (oracle) 发送请求, 来定时同步每日新产生的数据, 并同步到My SQL和文件系统 (比如本地磁盘) 中。

终端用户通过本地计算机向服务器发送访问请求, 服务器把请求同时传到My SQL和文件系统。如果当前的数据库包含用户所查找的信息, 那么服务器会返回相应的结果给用户。

(二) 业务架构与功能模块

对于业务架构, 共包含四个模块:定时数据同步器、数据统计模块、后台数据配置模块、文件管理模块。对于数据同步和连续率统计相关的功能, 程序设计了定时文件下载管理和连续率统计两个功能模块。定时文件下载管理的实现形式如下:通过位于数据管理系统的定时任务触发器, 分批读取Oracle中的数据并返回相应的结果, 经过逻辑处理, 把处理后的数据分别保存在文件系统和本地My SQL数据库, 并返回相应结果。连续率统计的实现形式:用户通过向数据管理系统发出获取连续率的请求, 管理系统根据条件在My SQL中进行查询并返回相应结果到数据管理系统, 管理系统将结果汇总并输出为图标格式。

(三) 后台数据管理数据库设计

数据库主要包含三个表, 分别为设备表 (Device) 、台站表 (Station) 、任务表 (Task) [2], 每个任务分别对应一个台站及其相应的设备。与Station、Device、Task三个表相对应的有两个任务:Task Create Service和Task Execute Service, 其功能分别为创建任务和执行任务。从而实现每日定时下载数据, 若下载数据失败, 还能在规定的时间后反复下载, 从而达到数据的补足。创建任务和执行任务的分开, 也使得软件的稳定性和效率大大提高。

(四) 任务状态机

当任务开始, 首先是初始化的过程, 开始执行数据下载, 如果下载成功, 则返回成功信息;若下载数量不足, 则返回失败信息。至此, 一个任务的生命周期结束。

(五) 软件界面

软件的界面主要分为台站查询、台站列表、设备列表、查询结果四个模块。通过鼠标点击台站查询部分的台站名称、设备列表的相应设备和查询结果部分的下载时段 (以上海市地震局崇明地震台数据为例) , 用户便能够在查询结果部分得到以图表形式输出的结果。整个界面非常简洁, 操作简单, 用户通过浏览器输入网址便可实现查询, 数据查询的结果以柱状图的形式显示, 当出现缺数的时候, 用户能够直观的从图表中看出结果。对于数据的采集、统计、定时任务的触发, 都在后台自动完成, 不需要人工的操作, 大量节省了人力物力。下载趋势图中的横纵坐标分别为时间和采集数目, 而柱状图里的数字代表实际下载量, 当数据有缺失, 那么从图表中便能看出, 非常直观。

三、结语

软件通过多重备份与每日的定时任务, 实现了对地震台站数据的科学化管理, 避免了人工管理的弊端;界面简洁友好, 一目了然。

通过一段时间的试运行, 运行结果良好、系统稳定性高、速度快。自动定时下载数据的功能, 极大地节省了人力, 特别是在本地有通信故障时, 能实现数据的自动补足。此软件针对台站的实际情况而设计, 做到了小而精, 并具有可扩展性, 为将来开发更多功能、扩充更多台站、多数据源采集留有空间。

摘要:根据地震台站的相关数据特性, 我们设计了一个备份、统计软件, 该软件包含定时数据同步器、数据统计模块、后台数据配置模块、文件管理模块四个模块, 共设计设备表 (Device) 、台站表 (Station) 、任务表 (Task) 三个表, 每日的定时同步工具会在每天几个固定的时间, 向前兆台网数据库发送请求, 来定时同步每日新产生的数据, 并同步到My SQL和本地文件系统中。从而减少人工操作, 为地震台站数据的自动备份和科学管理提供强大的保障。

关键词:地震业务数据库,数据统计软件,崇明地震台

参考文献

[1] 滕永昌, 高杨.Oracle数据库系统管理[M].北京:清华大学出版社, 2003.

[2] 周克昌, 蒋春花, 纪寿文, 刘春国, 叶青.地震前兆数据库系统设计[J].地震, 2010, (02) :143-151.

上一篇:浅谈张仃的焦墨写意山水下一篇:以就业为导向推进高职语文教学职业化的改革