2. 中国福建 350400 福建省地震局平潭地震台
2. Pingtan Seismic Station, Fujian Earthquake Agency, Fujian Province 350400, China
随着计算机信息技术日益发展,信息化程度已经成为企事业单位信息化水平的重要标志。目前,计算机技术逐渐渗入地震台网工作的各个角落,借助计算机技术,特别是使用数据库对各类数据进行保存已成为常态。采用数据库管理具有以下优点:数据库存储能力可以保证大量数据存储;数据库检索能力可以保证查询的便利;数据库备份功能可以保证数据随时备份,防止数据丢失等。
福建省地震局震情值班采用由监测预警中心地震观测产品产出室人员24 h(分为白班和夜班)全年无间断值班的方法,负责地震预警、烈度速报、地震速报、地震新参数及地震观测报告等产品产出,负责地震速报和地震应急信息发布,负责推进观测数据资源化、共享化、智能化。值班日常工作中值班员要对速报、编目及故障申派单等数据表格进行登记,这些是反映工作量及日常工作情况的重要依据,目前是以Excel表格形式填写,不易维护和管理,并且Excel的执行效率相对比较低。从以往登记情况来看,时有值班员填写错误、填写至他人空栏、漏登记等情况,需要人工校核数据输入的正确性。对编目校核震相数查询是通过Navicat Premium数据库管理工具软件执行Sql数据库查询语句实现的,该查询方式操作步骤繁琐。同时,地震台站参数信息、地震系统速报短信发送名单是以.txt文件存放的,也不利于对该类数据进行有效管理和查询。数据库系统是用来管理数据的,建立在数理逻辑和集合操作基础上,具有高效、可靠、完整、自同步等特性,是业务系统进行数据控制的最佳选择。数据库系统一般可提供高效的数据控制和数据检索功能,采用SQL语言来进行数据操作。数据库通常可以存放相当大的数据量,且数据之间的结构也非常复杂,这些都是Excel所不能企及的。目前,已有测震台网研发了值班管理系统并应用于日常工作中,为台网震情值班日常工作提供了方便。其主要是针对震情值班日志的信息化操作,常亮等(2009)以Java语言作为开发工具,通过B/S模式,研制了河北地震台网日志管理系统;朱凤梅等(2013)利用Python语言作为开发工具,设计开发基于Web的测震台网值班管理系统,实现了值班信息的录入、查询等功能;朱宏等(2014)采用J2EE技术和B/S架构,以MySQL为数据库开发震情值班日志管理系统;孙路强等(2013)采用VB.net开发技术结合Access数据库研发了测震台网综合管理系统,实现了台网日志和台站信息的管理、台站状态监控等功能。本文的研发目标是使用数据库对震情值班工作数据信息进行管理。基于此,根据福建省地震局震情值班的实际工作需求,采用C/S架构,以Sql Server为数据库设计与开发适用于福建省地震局震情值班需求的信息管理系统,以保证震情值班数据的正确性和完整性,提高值班员的值班工作效率,并有效推进震情值班的管理工作。
1 软件设计 1.1 功能界面经过对值班登记数据进行整合,将震情值班原有的多个表都集成在震情值班信息管理系统中,主要需要创建的数据表有速报及编目登记表、速报地震参数登记表、地震系统速报短信发送名单、台站参数表、故障处理申派单、岗位练兵评分表等。系统对各部分数据可进行查询、统计操作,应具有强大的模糊查询功能,以保证数据查询的灵活性;还应提供灵活、方便的权限设置功能,使整个系统的管理分工明确;对用户输入的数据,系统具有数据检验功能,以尽可能排除人为错误。
根据系统需求分析,将数据管理、数据查询、报表产出、系统管理等作为第1级菜单,增加帮助功能模块。程序设计采用MDI主窗体和MDI子窗体,将主界面设计为主窗体,其它功能界面为子窗体(图 1)。
整个系统由5大模块组成,根据功能架构(图 2),设计并实现各模块功能,建立相关数据库表,实现系统与数据库互联。
(1) 数据管理功能模块。数据管理功能模块共有4个子功能,分别为故障申派单、速报地震参数登记、岗位练兵评分登记、地震速报编目登记等,其功能是实现对各部分数据进行添加、删除、导入、修改等操作。其中,对地震速报参数可人工输入提交,也可导入.P35速报文件提交。地震速报参数导入功能,提高了该项数据输入的便捷性,此外,对地震速报参数数据还具有导出Excel功能。
(2) 数据查询功能模块。数据查询功能模块共有4个子功能,分别为年度工作及个人查询、编目校核震相数查询、速报短信名单查询、台站参数查询等,可实现对年度科室或个人工作量的查询、编目校核震相数据量的查询、速报短信名单中某个人员姓名或电话的查询、台站参数信息的查询。
(3) 报表产出功能模块。报表产出功能模块共有2个子功能,分别为值班费统计报表、速报编目数据报表等,可产出并打印科室工作人员震情值班费统计报表及速报编目数据报表,为值班费报领和年度科室、个人工作总结提供依据。
(4) 系统管理功能模块。系统管理功能模块共有4个子功能,分别为个人密码设置、用户权限设置(管理员权限)、添加删除用户(管理员权限)、数据检测与数据备份(管理员权限)等,可进行个人密码设置、用户权限设置、添加删除用户、数据检测及数据备份。对用户权限进行设置时,管理员用户权限为“1”,普通用户为权限为“2”;对输入数据进行检测时,选择检测起始终止时间段,若数据输入不规范或漏登记,则系统给出错误提示。
(5) 帮助功能模块。可获得本系统软件信息及查看软件的用户使用手册。
1.3 用户权限设置根据系统需求设计用户权限,用户角色主要分为:管理员用户和普通值班员用户,不同权限用户登录后的界面功能不同,可避免产生误操作。管理员用户拥有对值班数据进行删除、数据备份、用户权限设置及增加删除用户等特殊权限。
具体实现方法:在设计登录信息时增加1个权限字段,在登录界面成功后,将权限赋值给变量,在菜单的界面调用变量,然后进行判断,根据权限决定菜单可用或不可用。代码实例如下
If QX=“管理员”Then
菜单名. Enabled=True
Else
菜单名. Enabled=False
1.4 数据库的构建本研究使用Windows操作系统,系统开发语言为Visual Basic 6.0,数据库采用Sql Server数据库。考虑到面向相对固定的用户群,对信息安全要求较高,因此采用C/S架构即客户/服务器模式。Visual Basic 6.0具有强大的数据库管理功能,利用其提供的ADO访问机制和ODBC数据库连接机制,可以访问多种数据库。Sql Server是由微软公司开发的一套功能强大的数据库管理系统,在安全性、准确性和运行速度方面具有优势,并且处理数据量大、效率高,所以采用Sql Server数据库作为后台数据库。
1.4.1 主要数据表设计。数据库开发的关键在于数据库各表结构及表中各字段的设计优劣,直接关系到程序的处理速度和整个系统的性能。设计的主要数据表见表 1、表 2。
数据库的连接在开发数据库管理系统中经常用到。本研究中为了优化数据库连接,减少代码的使用,在公共模块定义了1个函数用于执行数据库连接。在编程过程中,如果需要使用数据库连接,就可以直接调用数据库连接函数cnn来操作数据库(明日科技,2012)。关键代码如下
Public Functoncnn() As ADODB.Connection '共享数据库连接
Set cnn=New ADODB.Connection '实例化cnn对象
'利用cnn执行数据库连接
cnn.Open"Provider=SQLOLEDB.1;Password=123456;Persist
Security Info=True;User ID=sa;Initial Catalog=db_SSS;Data Source=JCZX-PC"
End Function
1.5 功能实现示例 1.5.1 震相校核数据查询功能。震相校核数据查询功能可实现对个人(指每个值班员登记数据)或总计(指全体人员登记数据总和)震相及校核震相数据的查询,该功能实现的关键在于对JOPENS-MSDP系统Mysql数据库中的Catalog表进行访问。首先,下载安装32位与64位版本的ODBC连接驱动,根据系统开发客户端是32位或64位应用程序进行相应的安装,本研究安装32位版本。安装完成后在Windows操作系统中配置ODBC数据源,打开ODBC数据源管理器配置界面,需要注意的是,本文开发客户端是32位应用程序,需要配置32位ODBC数据源,此时需要运行C:\Windows\Syswow64\odbcad32.exe来启动ODBC数据源管理器,并添加32位的ODBC数据源。在配置界面中选择添加用户DSN,在输入框中分别输入数据源名称(自命名)、远程数据库IP地址、数据库用户名、登陆密码、Mysql数据库名称等。完成以上设置后,进行窗体界面的设计。设计界面如图 3所示,具体为:①创建1个ADO控件,用于连接Mysql数据库;②创建3个组合框ComboBox控件,用于选择某年度及分析校核操作员;③创建4个CommandButton控件,分别命名为“个人震相查询”“个人校核查询”“总计查询”“退出”;④创建1个DataGrid控件,用于显示查询结果。关键代码如下
'定义并创建MySQL数据库连接和访问对象
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strCn As String
Dim db_host As String
Dim db_user As String
Dim db_pass As String
Dim db_data As String
Dim sql As String
db_host = " " 'MySQL服务器地址
db_user = " " 'MySQL用户名
db_pass = " " 'MySQL用户密码
db_data = " " '连接的数据库名
strCn = "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _
"SERVER=" & db_host & ";" & _
"DATABASE=" & db_data & ";" & _
"UID=" & db_user & ";PWD=" & db_pass & ";" & _
"OPTION=3;stmt=SET NAMES GB2312"
cn.OpenstrCn
cn.CursorLocation = adUseClient
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "SELECT SUM(Loc_pha) AS zxsj FROM Catalog WHERE id LIKE '" + Combo2.Text + "' AND Operator LIKE '" + Combo1.Text + "' AND Auto_flag = 'c' "
Adodc1.Refresh
1.5.2 数据报表的创建。首先,设计数据环境,在VB工程中添加1个数据环境DataEnvironment1,打开数据环境设计器;创建连接对象Connection1与命令对象Command1,并设置Connection1属性连接所需要的数据表;在“Command1属性”对话框中选定分组字段及所需要的功能。其次,在工程中添加1个数据报表对象DataReport1,设置DataReport1对象的属性,即DataSource属性为:DataEnvironment1,DataMember属性为:Command1_分组。最后,对报表界面进行设计,在报表分组标头栏中设置数据标签RptLabel,在报表细节中创建RptTextbox控件,并设置字段数据源属性为Command1(图 4)。
震情值班信息管理系统开发完成后,对其进行测试,主要测试内容有对系统各项功能进行确认、对各项数据报表统计的正确性进行验证、软件异常处理测试。测试结果显示,数据记录情况完整正确,各项功能均可正常操作,符合软件需求说明的要求。该系统于2018年10月投入使用,共登记震情值班速报及编目数据424条、速报地震参数65条、故障处理申派单13单,实现了台站参数信息管理、地震系统速报短信发送名单管理等功能。系统安装在多台性能配置较高的日常编目工作机上,此外,系统还具有数据备份及数据检验功能,这些都有效保证了系统运行的稳定性和可靠性。
震情值班信息管理系统可在菜单栏中选择相应子菜单进行操作。值班员每天登陆系统,将值班速报及编目数据进行录入;对地震速报事件参数数据,可自动读取.P35速报文件导入数据库表,也可手工录入;如遇到仪器故障,则对故障处理申派单进行填写并提交。个人工作量可在系统中提交存档,以便对个人工作成绩进行总评及了解地震观测室工作质量情况,并可计算产出每个工作人员值班费及速报编目数据报表。总体工作情况及个人工作情况的查询和统计功能可为室及个人年终总结提供数据。数据检验功能,可减少人为错误的发生,保证了数据真实有效。该系统的投入使用,为震情值班人员的日常工作提供了方便,提高了工作效率。图 5为地震速报及编目数据登记界面。
目前,震情值班信息管理系统已应用在福建省地震局日常震情值班工作中,运行良好,实现了值班数据信息化管理。该软件界面设计简洁友好、操作简单、快捷方便。震情值班人员原有多个表的填写都可以集成在该系统提交,有效提高了工作效率,减少了人为错误的发生。但从实际应用角度来看,系统也存在一些不足,如系统自动化程度不高,功能还需完善。今后,需要对系统进一步完善,提高系统自动化程度,并根据值班工作的适时需求增加更多实用功能,如尽可能实现值班登记数据的自动读取,开发震情值班日常应用软件一键检测功能,提高交接班工作效率和便捷性等。
常亮, 蔡玲玲, 李冬圣, 等. 2009. 河北省地震局遥测台网日志统一管理系统[J]. 华北地震科学, 27(3): 49-53. DOI:10.3969/j.issn.1003-1375.2009.03.011 |
明日科技. Visual Basic从入门到精通[M]. 3版.北京: 清华大学出版社, 2012.
|
孙路强, 栗连弟, 刘磊, 等. 2013. 天津测震台网综合管理系统的设计与实现[J]. 地震研究, 36(2): 258-262. DOI:10.3969/j.issn.1000-0666.2013.02.021 |
朱凤梅, 缪发军. 2013. 基于Web的测震台网值班管理系统设计与实现[J]. 地震地磁观测与研究, 34(3/4): 257-259. |
朱宏, 孙嘉良, 高文晶. 2014. 天津市地震局值班日志管理系统的设计与实现[J]. 科技视界, (4): 48. |