常 亮 毛国良 李小军 刘胜国 刘 新李冬圣 尹康达 王光冲 郭垚嘉
(中国石家庄 050021 河北省地震局)
仪修工作设备管理系统研制
常 亮 毛国良 李小军 刘胜国 刘 新李冬圣 尹康达 王光冲 郭垚嘉
(中国石家庄 050021 河北省地震局)
针对测震台网台站设备数量多、信息保存混乱的问题,提出开发1套基于B/S模式的测震设备管理系统,利用数据库使信息管理规范化,并采用二维码技术为用户提供快速查询服务。台站设备管理系统与二维码技术的结合,可提高工作效率、降低运维成本,值得推广。
二维码;台站运维;管理系统
随着地震监测能力的提升,地震设备种类增多、数量增大(陈吉锋,2015)。目前河北省测震台网负责维护本省57个测震台站、59个强震台站、48个背景场项目强震台站及数百个烈度速报台站设备,同时承担华北片区7个单位设备的相关维修和管理工作。在如此繁重的设备维护工作中,设备信息依靠纸介质、文本文件或Excel表格记录,记录散乱、不规范,无固定存储位置、易丢失。如今地震领域广泛使用网络和数据库管理资料(郭祥云,2012),开发一套基于B/S模式的测震设备管理系统,利用数据库管理设备信息,可提高工作效率、降低运维成本。为实现设备管理系统的快速查询,考察其他行业现状,发现利用二维码可显著提高查询效率。管理系统与二维码技术的结合,将解决目前地震台网运维工作中设备数量多、信息保存散乱的问题。
1.1 开发框架与系统架构
设备管理系统采用Struts2、Hibernate和Spring框架搭建,此3个框架是B/S模式开发常用的轻量级框架。其中,Struts2负责拦截用户请求,并根据请求调用适当的模块处理业务需求,大多数核心功能是以拦截器形式实现(孙鑫,2008);Hibernate是连接数据库的中间件,封装JDBC API(孙卫琴,2005),为数据库操作提供各类方法,供开发人员调用;Spring提供的IOC功能降低应用组件之间的依赖性(罗时飞,2005),可以帮助用户管理Java Bean,并生成Java Bean实例。
系统整体架构分为数据持久层、业务逻辑层、控制层和显示层(图1)。其中,数据持久层利用Hibernate框架处理CRUD操作;业务逻辑层提供处理各类请求的业务逻辑方法;控制层利用Struts2框架拦截用户请求并调用适合的业务逻辑方法;显示层负责展示数据。用户通过浏览器访问Web服务器,成功登录的用户名和用户角色将被写入Session,用户访问其他页面时即可判断其访问权限。
图1 系统架构Fig.1 System architecture diagram
1.2 功能模块
该系统分为运维模块、普通用户模块和管理员模块3部分,见图2。其中,运维模块管理厂商信息、设备类型信息、设备参数信息、设备信息、台站信息、维修记录信息、维修出差信息;普通用户模块可以浏览运维模块涉及信息,无增、删、改功能;管理员模块负责用户信息管理。3个模块分别对应系统的3种用户角色:运维、普通用户和管理员角色,其中运维角色分配给运维组成员,可以有多个用户;普通用户角色分配给测震台网除运维人员的其他工作人员,可以有多个用户;管理员用户只有1个。
图2 系统功能模块Fig.2 System function modules diagram
1.3 信息统计
地震台站维护次数、人员出差次数是运维工作年终总结的2项重要指标。仅利用数据列表展示不够直观,本系统在保留表格方式的同时增加图形展示方式。图形生成采用第三方框架JFreeChart,它是一个开源项目,主要在Java平台下生成各类图形和图表(谢星星等,2008),目前很多Java项目采用该技术作为绘图的主要工具。地震台站维修和人员出差次数统计(图3)均采用直方图展示,可直观显示数据频次和极值。
1.4 台站布局展示
运维人员经常查看地震台站信息,利用地图展示台站位置比枯燥的表格文字更直观,测震领域一些软件利用地理坐标数据绘制地图,考虑到本系统对地图的精确度要求不高,且地图信息时有变化,地理坐标数据维护不便,在此采用通用的电子地图进行处理。管理系统将地震台站位置标识在地图上(图4),点击可查看设备信息。系统开发时将台站相关信息写入文本文件,每次显示地图时无需在数据库读取信息,从文本文件读取即可(出于信息安全考虑,台站经纬度坐标做适当变动)。当台站信息发生变动时,运维人员可利用系统提供的“更新台站信息”功能,将更新信息重新写入文本文件。
图3 台站维修及人员出差次数统计Fig.3 Statistical bar chart of station maintenance frequency and staff travel
图4 台站信息地图Fig.4 Station information map
1.5 资源文件
软件开发及调试阶段会频繁修改软件中的某些文字,出现在不同Java类中会增加代码维护难度,为此系统采用资源文件解决此类问题。开发时写一个资源文件,使用英文字母作为标识名,用Unicode编码过的中文(防止网络传输出现乱码)作为标识值。JSP文件需要用到的按钮名、列表的字段名、出错信息和提示信息均采用资源文件处理,此方式实现系统各类文字的快速修改,既减少开发者的工作量,又保证系统正常运行。
2.1 二维码技术
二维码是当前流行的信息传播方式,将各类信息编码保存在一个图片中,利用扫描设备解码,可在数秒内迅速得到信息。二维码技术始于20世纪80年代末,中国1993年开始研究此项技术,现在常用的QR Code(Quick Response Code)是多种二维码技术中的一种,由日本Denso公司研制,是一种矩阵二维码,具有识别速度快、编码字符集广泛等特点(刘志海等,2009)。一个QR Code标识最多容纳7 089个数字字符,1 817个汉字,4 296个字母数字字符(庞明,2011)。二维码解码时,扫描设备发出的光源照射二维码图片,反射光经透镜聚焦到光电转换器上,该转化器将电信号输出放大到整形电路,完成模数转换,经译码变为字符信息(刘志海等,2009)。随着智能手机的出现,二维码技术应用范围扩大,利用手机软件扫描二维码,随时随地获取信息。在商业领域二维码被用来保存制造商网址,用户扫码得到网址并利用手机浏览器访问。地震台站设备管理系统利用二维码将设备信息编码,用户通过扫码可直接获取设备信息。
2.2 需求简述
地震台站设备管理系统实现了对设备信息的管理,考虑到台网设备数量众多,仅依靠系统条件查询很难提高效率,当运维人员需要及时获取设备信息时此问题尤为突出。如果将设备的基本信息做成二维码图片粘贴在设备表面,只需利用扫码枪或智能手机扫码,就能迅速获得设备信息,提高查询速度,减轻运维人员负担。
一台测震设备进入台网时运维人员把相关信息录入数据库,生成二维码图片保存在服务器中,同时将图片的保存路径存储在数据库,这样能减少数据库中存储的数据量,用户可随时打印二维码图片粘贴在设备表面实现快速查询,在管理系统的Web页面上也能浏览到设备信息的二维码图片。每台设备在数据库保存信息,也自身携带一份信息。
2.3 具体实现
为了生成二维码,需要在系统中添加二维码编码模块,该模块归到系统运维模块,由运维人员负责处理。用于编码的设备信息包括:设备类型、设备名称、序列号、厂商、出厂日期等信息。由于这些信息可能存储在不同的数据表中,编码前需要利用SQL语言对数据表做关联查询,将查询结果编码生成二维码图片,流程见图5。使用二维码技术成本低,普通打印机也能打印二维码图片。利用手机二维码扫描软件,用户可随时扫码获取相关测震设备信息。相对于电脑,手机终端更为便捷,手机扫码查询让用户摆脱对电脑的依赖。
图5 二维码生成流程Fig.5 QR code generating fow chart
仪修设备管理系统具有以下优点:①统一管理各类测震设备信息,根据用户请求提供浏览查询功能,减轻人工管理负担,降低出错概率; ②利用二维码技术提供便捷的快速查询;③利用地图和直方图直观展示数据。
系统开发过程中涉及表单验证和分页显示2个细节。B/S模式应用均会用到表单验证功能,很多系统利用JS代码或AJAX框架做前台验证。笔者考虑到本系统部署在测震台网内部,即使后台验证也不会对访问速度产生太大影响,因此选择Struts2自带表单验证功能,该验证采用XML文件配置,将表单数据传至后台服务器。分页显示是B/S应用的另一个重要功能,为了提升分页的显示效果,笔者采用Display Tag标签实现分页,使用时只需在JSP的头文件中加入标签库的引用即可,分页显示效果明显比HTML自身表格美观。
仪修设备管理系统为测震台网非运维人员提供设备查询功能,为相关人员了解测震设备运维工作进展及地震台站、设备信息提供便利,保障了河北省地震局测震台网设备运维工作的高效运行。
陈吉锋,陈军辉,张帆.物联网技术在浙江省地震台站设备管理中的应用[J].地震地磁观测与研究,2015,36(2):108-113.
郭祥云.基于B/S结构的地震信息管理系统设计[J].地震地磁观测与研究,2012,33(2):132-138.
罗时飞.精通Spring [M].北京:电子工业出版社,2005:3.
刘志海,万丽荣,宋作玲.条码技术及程序设计案例[M].北京:化学工业出版社,2009:13-119.
庞明.物联网条码技术与射频识别技术[M].北京:中国物资出版社,2011:3-64.
孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005:1.
孙鑫.Struts2深入详解[M].北京:电子工业出版社,2008:57.
谢星星,陈育春.贯通开源Web图形与报表技术全集[M].北京:电子工业出版社,2008:26.
The development of management system for repairing seismic equipment
Chang Liang,Mao Guoliang,Li Xiaojun,Liu Shengguo,Liu Xin,Li Dongsheng,Yin Kangda,Wang Guangchong and Guo Yaojia
(Earthquake Administration of Heibei Province,Shijiazhuang050021,China)
To aim at the large quantity of seismic network station equipment and the problem of information storage confusion, a set of seismic equipment management system that based on B/S mode is developed.Using database to make the information management standardization and using two-dimensional code technology to provide fast query service for user, this system can improve work effciency, reduce operation and maintenance costs.It is worth to be popularized.
two-dimensional code,station operation and maintenance,management system
10.3969/j.issn.1003-3246.2016.06.027
常亮(1981—),男,工程师,陕西榆林市人,主要从事地震监测工作
2015年度测震台网青年骨干培养专项(专项编号:20150403)
本文收到日期:2016-01-20