潘翔宇 吕冠儒 黎泽勋
摘 要:针对湖南省区域气象自动站站点信息管理混乱的情况,用IntelliJ IDEA作为开发工具,采用b/s的数据结构,以组件化、平台化的开放性技术理念,设计一套实用可靠的区域站站点信息管理系统,以信息化技术手段实现区域站站点信息的规范化管理,为设备运维和业务发展提供准确的站点信息支撑,具有很强的实用性。
关键词:信息管理系统;区域自动气象站;数据表设计
中图分类号:TP311.52 文献标识码:A 文章编号:1671-2064(2018)22-0034-02
湖南省气象局已完成了省级区域中心站地面气象观测监控管理平台的建设,数据传输流程由“站-市-省”三级结构变成了“站-省”两级结构,提升了传输时效,减少了市级运维人员的压力,也对台站信息准确性等支撑能力提出了更高的要求。然而我省区域站个数多、品牌杂、变动大,站点信息管理较为混乱,已经无法满足业务运行和发展要求,如何获取准确的站点信息,为设备运维和业务发展提供更好的保障,是一个值得研究的课题。针对本省实际情况,开发一套区域站站点信息管理系统,通过信息化手段实现台站设备信息的规范化管理,具有很强的实用性。
1 功能设计
1.1 总体功能设计
系统基于网页应用的方式设计,对接纳入本省气象内网平台进行使用,工作人员通过一个界面就能完成区域站业务全流程覆盖,包括站点状态监控和资料的应用等,系统将按照管理职能,建立相应权限的3类账户,基层台站账户、业务管理账户、系统运维账户。
(1)系统运维账户:该账户主要提供给系统运维人员(湖南省气象信息中心)使用,完成系统的运维管理,包含创建和删除各类型用户账户、查询和导出台站信息、日志管理等系统运维相关功能。
(2)业务管理账户:该账户主要提供给省级业务管理机构(省气象局观网处)使用,完成全省站点信息的业务管理,包含审核基层台站账户提交的站点信息修改申请,完成站点信息的更新录入,查询和导出站点信息,查看站点更改记录等。
(3)基层台站账户:该账户主要提供给市(州)级业务管理机构(各市(州)局业务科)使用,完成本市站点信息的业务管理,包括提交站点信息更改申请,查询和导出站点信息,查看站点更改记录等。
1.2 工作流程设计
系统主要工作流程如图1所示,主要由基层台站账户提交站点信息变更申请,业务管理账户收到申请后对相关信息进行审核,并将审核结果反馈给基层台站账户。若审核通过,系统将会通知运维账户完成更改信息的录入,并将结果反馈给相关账户;若审核没通过,更改申请将会被驳回至申请人,不会转到系统运维账户。
业务管理账户也能够直接提出站点信息更改申请,运维账户将收到相关信息后,将信息录入数据库完成更新,并将结果反馈至业务管理账户和基层台站账户。
1.3 功能模块设计
1.3.1 站点信息要素
站点信息要素的完整性是设计重点,须充分满足使用要求。系统包括:地市名、县区名、站名、区站号、站址、考核等级、经度、纬度、观测站海拔高度(m)、气压传感器距地高度(m)、自动站型号、自动站生产厂商、设备ID号、要素数和内容、供电方式、安装时间、启用时间、站址环境。
1.3.2 站点信息查询
系统支持以台站号、地市名、站名、设备ID号等要素为检索内容,进行站点信息查询,其中业务管理账户和系统运维账户可以查询全省的台站信息,基层台站账户查询出本市所有台站的信息[1]。
1.3.3 站点信息审核
审核由行政管理人员操作,如不同意更改申请,系统直接弹出原因反馈窗口,比如不符合实际情况、信息错误,其他等选项等,若管理人员在7个工作日内没有处理更改申请,设定默认结果为“不通过”。
1.3.4 站点信息导出
系统支持导出单个站点或批量站点的台站信息,格式为标准excel文件,并且按照不同业务系统的要求,生成对应内容的表格。
1.3.5 站点信息“校准”
系统加入了本地化校准的机制,确保信息的准确和规范性,申请人必须准确规范的提交台站更改信息,否则将会弹出错误提示。对于传感器据地高度,设定阀值为范围为0.5-5米;对于设备ID号,进行重复性检查,确保唯一性;对于地市名、县区名、自动站厂商和型号,采用菜单栏选择的方式,杜绝人工填写;对于精度和纬度,地址若不在该县范围内(引入GIS模块审核),将无法提交。
1.3.6 站点信息更改记录
系统采用“留痕”的设计理念,即每一条修改内容,都会产生修改记录,确保站点信息管理的严谨。主要内容如下:以时间的形式,以列表的形式排序,显示单个台站信息更新记录,并且显示对应的区站信息,包含申请、审核和更新时间;以时间的形式,以列表的形式,按照修改时间排序,显示出1年內所有的台站更改记录;以时间的形式,以列表的形式排序,显示出1年内各市(州)气象局站点信息更改记录。
2 技术设计
2.1 设计原则
系统按照如下原则进行设计:
(1)全流程管理原则:实现从站点信息录入,修改,审核的全流程管理。
(2)可追溯原则:站点信息从录入、修改和审核全流程管理中的站点信息、时间、人员和操作等信息都能够进行追溯。
(3)开放设计原则:采用组件化、平台化的开放性结构进行设计,包括开放标准、技术、结构、系统组件和用户接口等,既保证系统的最大复用能力,又减少了功能扩充的影响,也能够满足业务功能扩展要求。
2.2 开发工具
系统采用IntelliJ IDEA作为开发工具,它在业界被公认为最好的java开发工具之一,对比其他流行的开发工具,具有以下的优点:
(1)调试更加方便:在程序调试中,笔者经常需要求一些表达式的值,该工具不仅能够直观的显示表达式的值,还能够很好地理解可能需要的表达式,并给出的建议参数变量,开发人员直接编辑并能立刻得到这个表达式的值。
(2)开发效率更高:在代码自动生成和重构方面更加智能,比如生成某个类的测试类,能够正确的放到test的相应目录下,并且针对不同的情况给用户提供最合适的解决方案。
(3)目录分层少而清:该工具的目录分层很少,但是却很清晰,IDE配置的东西都能在Settings下找到,工程的配置也能在Project Settings下找到。
2.3 技术架构
系统采用Velocity+SpringBoot的开发架构,对控制层、服务层、实体层以及数据层进行了封装。Velocity是一个基于Java的模板引擎,使Web设计人员与Jave程序员的并行工作,在提高工作效率的同时,满足系统界面操作友好性和可维护性,在以模型-视图-控制器(MVC)模型开发系统时,网页设计人员更注重于前端界面程序设计,程序员专注于后台代码的编写。Spring Boot是由Pivotal团队提供的全新框架,用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置[2]。
2.4 数据表设计
系统设计3种类型,共计5张表,内容如下:
(1)用户表(user):主要是用来进行账户管理,分别对应基层台站账户、业务管理账户、系统运维账户等3类账户,其中基层台站账户包含16个用户,分配给14个市(州)气象部门。其余业务管理和系统运维只包含1个用户。
(2)作业表:该表主要包括实时表、历史表和台站信息表。实时表主要用于临时存储站点申请信息,该表在一般情况下为空,有台站提出更改申请时,更改消息按队列排序进入该表,等待进行处理,处理完之后再清空该信息;历史表主要用来全流程追溯和流痕处理,所有更改过记录都存入到该表中,该表的内容只进行递增,具备时间标记等;台站信息表保存站点信息的最终状态,除非新增站点,里面的记录条数保持不变。
(3)同步表:该表按照维护人员要求,导出不同要素内容的excel信息表。
3 结语
该系统的设计完成,为本省区域站业务运维和发展提供了准确的站点信息支撑,其开放式设计为系统二次开发和功能扩展奠定技术框架,以该系统为基础,我省计划陆续接入土壤水分、交通站、农气站等各類型站点,最终实现所有设备信息管理全覆盖,为全省气象业务集约化和扁平化发展提供一种实用的管理工具。
参考文献
[1]冯俐,沙莉,戴军,李大明.省级区域站设备管理系统设计与实现[J].气象水文海洋仪器,2011,28(03):65-67.
[2]王鹤琴,张林静,朱珍元.基于Spring MVC的后台管理系统开发研究[J].黄山学院学报,2018,20(03):18-22.