陕西省地震台站信息管理系统平台设计与实现
2019-08-23白若冰闫俊义古云鹤杜睿攀王卫平
白若冰,闫俊义,古云鹤,杜睿攀,贺 巍,王卫平
(陕西省地震局,陕西 西安 710068)
0 引 言
本系统针对省局所管辖台站,以Java语言作为B/S结构的开发环境,选用MySQL作为平台完成整个数据库设计,最终能够直观展示所有台站详尽的介绍及资产相关信息,为台站运维业务、信息管理及台网规划提供相应服务,实现对各台站设备、网络、方位坐标、国有资产及看护人等基本信息的实时调阅,也可通过后台对各项信息根据实际情况进行管理、更新。此平台具有方便查阅、实时显示以及使用简便等优点。
当前,很多国内外的科研人员都投身于数据库技术研究中。结合当前数据库厂商在应用方面的需求和未来的发展方向,未来数据库技术势必朝着数据仓库和电子商务的方向发展。目前,云南局的倪泰山、阙云彩等人结合云南地震台站管理实际开发的地震台站信息管理系统,已在云南省红河州地震局信息节点服务器上运行,提高了地震台站的管理效率。而陕西省地震局目前则相对缺乏与台站有关的信息管理方面的软件开发。
1 存在的问题和解决思路
目前,陕西省地震局通过《陕西省地震监测区域中心台建设方案》和《陕西省地震局地震台站管理办法》等相关制度改革,由过去的陕西省地震局监测中心运维管理陕西省所有无人台站发展为现在的以区域中心台为主、监测技术室为辅的两级运维管理方式。近年来,通过由台站为主体进行运维的实践经验,发现了运维过程中存在的一些问题。
1.1 台站资料均为纸质化
目前,台站的一些基础信息均为纸质化、手册版等形式,存在管理不便、查找效率低、信息更新不及时等问题。台站故障时,需要使用看护人联系方式、台站所在供电所、通信方式、光缆线号以及仪器设备IP等一系列信息,导致查找及更新所需信息的方式繁琐、效率低下,无法确保设备故障应急的及时性和精确性。
1.2 台站维修记录不全
由于台站的仪器、供电设施和通信光缆方式基本固定,所以台站的故障可通过规范化、表格化统一进行整理、统计。目前,仅部分台站存有维修日志且只以纸质化形式进行记录,容易丢失,不方便整理统计。
针对以上问题,现在要求所设计的台站信息管理系统应具备以下特性[1]:
(1)利用WEB前端技术设计基础信息展示界面,使得管辖范围内无人台站的基本信息及仪器设备等相关资产信息更加详尽、系统;
(2)利用MySQL设计相应数据库表,便于维护人员及时有效地对所辖台站及仪器设备的基础信息进行增、删、改、查;
(3)设置用户权限并定义业务职能,使无人台站的信息管理、维护及更新趋向智能化、规范化和流程化。
2 系统设计
基于台站信息管理实际需要,现利用JAVA编程语言,结合陕西区域特点研发了“陕西省地震台站信息管理系统”。该系统设计了登录页面、首页门户、用户/权限管理以及台站管理4大功能模块。
2.1 登录页面
登录页面主要进行用户的用户名和密码校验,使用者可以通过输入自己的用户名和密码登录,输入的用户名和密码将通过后台服务的登录校验服务进行校验,从而进行跳转或错误提示,如图1所示。
图1 登录界面
2.2 首页门户
首页门户主要用于存放系统所能提供的功能,使用桌面式的方法,将每一个功能通过桌面APP的方式展现,便于用户点击查看。点击桌面的App图标后,系统会进行链接跳转,打开指定的功能页面,如图2所示。目前,系统提供用户管理和台站管理功能,而门户可以很好地保证系统的扩展性。如果后续需要提供相应功能,则可以以这种APP的方式添加在门户上,同样使用点击跳转的方法进行打开操作。此外,门户还提供快捷操作和轮播组件,可以方便用户使用。快捷操作可以快速注销,跳转到用户管理;轮播组件可以循环播放向使用者开放的公告信息[2]。
图2 首页门户
2.3 用户/权限管理
用户/权限管理主要实现对使用本系统的用户进行管理的功能,包含用户添加、删除、编辑和权限的控制功能,由系统管理员统一操作。
用户信息包含用户名、创建时间、所属部门以及权限分组,对系统的使用者进行一个全方位描述,并将所有用户的信息保存在MySQL数据库表中进行持久化,通过用户的增、删、改、查操作更新数据库,实现用户对系统使用的一致性。
图3 用户信息表
连接MySQL的配置:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/dz?useUnicode=true&characterEncoding=UTF-8&autoReco nnect=true&autoReconnectForPools=true
spring.datasource.username=root
spring.datasource.password=123456
对应MySQL库表是为sys_user表,如图4所示。
图4 对应的MySQL库表为sys_user表
2.4 台站管理
系统目前的核心功能是台站管理功能,主要实现台站基本信息的增、删、改、查和资产信息的增、删、改、查[3]。展现的台站基本信息主要包括台站管理人员信息、看护人信息、台站信息概述及台站资产明细,如图5所示。
台站信息从数据库中获取,打开页面时向后台服务发起请求,通过后台的台站查询服务将数据库中的有关台站的各个字段分别渲染展示在页面上。
以下为后台查询服务的对外接口:
@RequestMapping("/getList.action")
@ResponseBody
public JSONObject getDzType(){
String status = "0";
String error = "";
String parentId = "0";
图5 台站信息表
JSONObject ret = new JSONObject();
try{
List
if(typeList != null && typeList.size() > 0){
JSONArray array = JSONArray.parseArray(JSON.toJSONString(typeList));
ret.put("typeList",array);
}
}catch(Exception e){
e.printStackTrace();
status = "1";
error = "获取tz信息失败";
}
JSONObject result = DzManageUtils.orgReturn(status,error,ret);
return result;
}
以上是通过springmvc模式发布的接口,页面可以直接调用。如果调用失败,则返回错误信息在页面展示。
页面通过下拉菜单的方式对台站进行分类展现,通过编辑按钮可以分别对台站的管理人员和台站信息进行编辑保存,编辑保存后调用台站更新的服务更新数据库,进行台站信息的持久化操作,如图6所示。
图6 台站信息概述界面
以下为后台台站更新的对外接口:
@RequestMapping("/update.action")
@ResponseBody
public JSONObject updateType(String params){
String status = "0";
String error = "";
JSONObject result = new JSONObject();
JSONObject ret = new JSONObject();
try{
JSONObject paramsObj = JSONObject.parseObject(params);
DzManageType dzManageType = JSON.toJav aObject(paramsObj,DzManageType.class);
this.dzTypeMapper.update(dzManageType);
}catch(Exception e){
e.printStackTrace();
status = "1";
error = "更新失败,请检查输入格式";
}
result = DzManageUtils.orgReturn(status,error,ret);
return result;
}
对应的MySQL库表为sys_station表,如图7所示。
图7 对应的MySQL库表为sys_station表
通过台站信息页面的查看台站资产信息明细表按钮,可以查看台站的详细资产信息,如图8所示。通过弹出页面表格的形式进行展示,也可以支持增删改查。
3 结 论
本系统由陕西省地震局台站一线人员开发,以台站运维工作实用性为前提和基础。开发成功后,在陕西省地震局西安中心台、榆林中心台进行了试运行。该系统平台的应用推广,在一定程度上提高了台站工作效率。系统运行安全稳定,方便快捷,具有良好的二次开发性,同时其实用性及便捷性得到了值班人员和专家的一致认可,为台站智能化管理系统开发提供了借鉴。下一步将继续在保障台网运行和观测资料质量的基础上,将日常运维工作从较为繁琐的人工化、纸张化中解放出来,并将向智能化和信息化逐步转型作为长期的工作目标和努力方向。
图8 台站资产信息表