您好, 访客   登录/注册

河南省气象观测站网管理系统的设计与实现

来源:用户上传      作者:

  摘  要:河南省气象观测站点数量、类型多,由于缺乏统一的管理平台,增加了气象工作人员工作的复杂度。河南省气象观测站网管理系统采用B/S架构,用网页方式呈现,主要为省、市、县业务管理人员提供一个统一、便捷的业务管理平台。该平台可实现自动气象站、区域气象站、自动土壤水分站、雷达站等站点信息的统一管理及入库、查询、修改。站网管理还设置了分级用户和权限的管理,根据不同用户需要,系统设置有超级管理员、站网管理员和一般用户,超级管理员可对各个用户分配角色及权限管理,一般情况下市县用户仅对本地的站点进行管理。通过站网管理平台对全省各类站点信息进行科学管理,可以有效地避免信息传输慢速、低效、大量消耗人力物力等缺点,实现站网的数字化、信息可视化、查询直观化、更新迅速化和信息可扩充化。为省市县管理人员提供了全面的站网管理信息服务。
  关键词:观测站点信息  实时查询  分级管理
  中图分类号:TP311                文献标识码:A 文章编号:1672-3791(2019)12(b)-0020-07
  Abstract: There are many kinds of meteorological observation stations in Henan Province. Due to the lack of a unified management platform, the complexity of the work of meteorological staff has increased. The management system of Henan Meteorological observation stations adopts B/S structure and presents by web page. It mainly provides a unified and convenient business management platform for business managers of provinces, cities and counties. The platform can realize the unified management and storage ,query, modification of automatic weather stations, regional weather stations, automatic soil moisture stations, radar stations and other stations. The management platform also sets the management of hierarchical users and rights. According to the needs of different users, the system has super administrators, station administrators and general users. Super administrators can assign roles and authority management to each user. In general, city and county users only manage local sites. The scientific management of all kinds of sites information in the province through the station management platform can effectively avoid the shortcomings of slow information transmission, inefficiency, large consumption of manpower and material resources, and realize the digitization of the station, information visualization, query visualization, rapid update and information expansion. Provides a comprehensive information service for the administrators of provinces, cities and counties.
  Key Words:Observation station information; Real-time query; Hierarchical management
  随着气象现代化的快速发展,各类气象站点不断增加,河南省气象站点数量、类型多。目前,全省共有119个国家级地面自动气象站,2431个区域自动气象站,251个自动土壤水分站,23个农田小气候自动观测站;7部新一代天气雷达、19个闪电定位仪,这些自动化观测设备不间断地向河南省气象局探测数据中心传递实时观测数据,由于缺乏对这些站网信息的统一管理平台,增加了气象管理人员的工作量。宁夏李新庆根据本省特点设计与实现了宁夏气象观测站网信息管理系统[1];广东省吕雪琴针对广东省区域自动站开发了区域自动氣象站站网管理系统[2];陕西省对目前省级气象业务中出现的站网信息管理问题进行了总结[3];不同业务单位也根据信息化管理需求进行需求分析、设计与实现[4-12];河南省也有针对该省的技术装备站、土壤水分站、气象信息网站后台、气象观测数据综合服务平台、农业气象服务平台等的管理系统[13-17];结合河南省气象信息站网的实际情况,为了提高河南省气象站网信息化程度以及全面加强河南省站网信息管理服务能力,切实将站网管理资源综合信息集中在统一的信息平台上,站网管理系统是河南省气象观测数据平台建设的一个重要基础性应用系统,实现站网系统的数字化、信息可视化、查询直观化、更新迅速化和信息可扩充化功能。河南省气象站网管理系统采用B/S架构,用网页方式呈现,主要为省、市、县业务管理人员提供一个统一、便捷的业务管理平台,可实现自动气象站、区域气象站、自动土壤水分站、雷达站等站点信息的统一管理及入库、查询、修改。 站网管理还提供了用户和权限的管理,根据不同的需要,系统有超级管理员、站网管理员和一般用户,超级管理员可对各个用户分配角色及权限管理,一般情况下市县用户仅为本地的站点进行管理。   1  系统总体设计
  1.1 设计思路
  站网管理系统是“河南省综合气象观测数据服务平台”的一部分,用于指导开发用户合理调用河南省站网信息数据等。通过设计统一的数据接口,对所列出的数据产品种类,分别建立不同数据集,集中部署数据资源,规范管理数据信息,实现对共享观测数据的调取管理、快速显示,从而供不同的用户合理调用站网信息数据。
  (1)以实用性和可扩展性为原则,选择成熟的、集成用户原有投资的软件,开发面向公共基础的服务。
  (2)应用服务平台内部服务组件之间严格按照系统定义的服务接口设计,便于相互之间的调用。
  (3)提供统一的应用集成框架。其中包含共用的服务组件、工具和系统字典以及共享数据库的访问控制等功能,封装成可以配置在应用集成框架中执行的“构件段”,形成具有简易集成、灵活扩展的业务应用系统。
  (4)基于面向服务的架构,平台内部软件层次化、构件化。
  以既满足现有一期要求,又能在一期基础上方便扩展和接入三方系统为宗旨,采用面向服务架构,解决新老应用系统在平台上开发、运行的数据获取、转换、传输等关键问题。为跨地域、跨部门、跨平台的不同应用系统之间的互联互通提供服务支撑,实现扩展性良好的“松耦合”的应用和数据集成。
  (5)遵循J2EE的显示逻辑和业务逻辑区分的体系,合理运用消息机制关联系统事件。
  基于标准技术架构,在支持二次开发的友好性、安全性和经济性等条件下,该系统具有的特点:站网设备的一站式管理及GIS(Geographic Information System,GIS)结合展示维护;共享观测数据的调取管理,高效产品输出,快速显示数据;严格的权限控制系统,角色定义灵活;平台主体部分采用B/S架构,安装部署简单,支持跨平台良好的扩展性。
  1.2 技术框架
  系统采用面向服务的架构(Service Oriented Architecture,SOA)设计思想,SOA是一个具有粗粒度、松耦合、独立于平台与编程语言、基于标准的软件体系结构模型。在SOA模型中,所有业务逻辑均以服务形式进行封装,它们可以被共享、重用和配置。任何一种应用均由若干种服务组成,这些服务通过服务总线进行通信、交互以及编排管理。每个服务通过标准的接口可以被其他的服务所调用[18]。每个应用系统由服务提供者、服务消费者和服务代理组成,它们以一种标准方式进行服务交互,从而来完成业务功能,其交互关系如图1所示。
  SOA并不是一种现成的技术,而是一种将软件组织在一起的抽象概念,是一种架构和组织IT基础结构及业务功能的方法,是一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)的模型[19]。它依赖于用XML和 Web Services实现,并以软件的形式存在。此外,它还需要安全性、策略管理、可靠消息传递等的支持,从而有效地工作。
  Web是实现SOA的具体方式之一,如Web Services。Web Services是独立于编程语言的,但Java是主要的开发语言之一。可以使用定义良好的Java接口以及各种协议丰富的Java实现,为开发每个服务的功能、管理数据对象和与其他在逻辑上封装在服务内的对象进行交互提供工具。
  Web Services是独立的、模块化的应用,它描述了操作集合的接口,可以通过标准的XML消息机制在网络中进行存取,能够通过互联网来描述、发布、定位以及调用。
  J2EE平台提供了完整的Web Services支持。因此,SOA是处于战略的角色,Web Services处于战术角色,而J2EE提供了实现的舞台。
  1.3 运行环境的配置及安装部署
  (1)计算机硬件:CPU为2.8GHz以上主频;内存要求:8GB;硬盘空间:500GB。
  (2)软件:操作系统为Window7、Window10;运行软件要求:运行软件:JDK 1.7或以上版本;sqlserver2008;Tomcat7.0及以上版本。
  (3)网络通信:在局域网内。
  (4)浏览器:浏览器:Chrome、360浏览器;分辨率测试,选择两种主流的分辨率(1024×768、1440×900、1920×1080)。
  (5)其他:SVN版本管理工具,数据库设计工具PowerDesigner。
  2  平台功能设计
  该数据接口主要包括观测数据、站网信息数据两方面接口内容。对所列出的数据产品种类,分别建立不同数据集,集中部署数据资源,规范管理数据信息,实现对共享观测数据的调取管理、快速显示。
  考虑到气象数据第三方访问的安全性,防止服务器以及数据被恶意访问和攻击,所有的接口采用jwt方式进行安全验证,jwt采用无状态方式请求Web服務器。第三方用户在请求接口之前需要向服务器申请一个token,服务验证用户的申请并授权token,token的使用有一个有效期以及读写访问的权限,用户请求接口是需要在http请求参数提交token参数。授权流程见图2。
  2.1 站网管理
  站点管理:站点基本信息添加、删除、修改、站点实景照片导入;支持站点信息批量导入。
  故障站点屏蔽:将出故障站点在前台不进行显示,也可以根据需要取消屏蔽。
  具体功能模块如下。
  (1)用户登录。
  用户输入账户和密码,以及验证码进行登录,如果登录不成功则会显示相应的错误提示,用户登录界面见图3。
  (2)GIS服务及站点管理。
  GIS服务及站点管理模块主要用户查询和管理测站信息,配置GIS地图的方式展示和操作。列表和GIS以左右的方式排列,头部为条件查询栏,图4为站网管理界面。主要包括以下功能。   ①站点管理。
  测站列表默认分页展示测站列表信息,右侧GIS地图加载数据与列表一致,测站所有的操作权限都可以根据登录用户来控制。
  一是测站分权限展示。测站列表根据所登录用户提供数据展示,例如,河南省级用户可以查询全省的测站数据,郑州市用户登录只能查看郑州市所属测站。
  二是测站查询筛选。条件查询栏提供丰富的条件查询,用户可以根据行政区划、测站类型、测站屏蔽状态以及模糊关键字搜索想要查询的测站。
  三是添加、修改、删除测站。添加测站提供编辑界面人工输入测站基本信息,测站经纬度信息可以人工填写,或者在GIS地图上拖动位置确定;修改测站可以选定测站然后进行修改操作;点击删除按钮,删除测站。
  四是测站导出。用户根据查询条件导出测站信息到excel表格。
  五是测站屏蔽。测站列表一键屏蔽故障测站。
  六是测站图片预览、上传。测站可以进行图片预览和上传操作。
  ②GIS服务。
  GIS服务提供和列表一致的数据展示测站信息,图层根据GIS缩放级别显示和隐藏站点图标、站点名称;GIS站点点击可以查看测站详情信息包括站点的探测设备厂家名称、站点编号、名称、经纬度;还可以直接在GIS地图上拖动修改测站位置,如果拖动位置有误还支持回滚操作。
  2.2 系统管理
  2.2.1 用户管理
  用户管理可以进行用户的查询、添加、删除和修改,用户管理根据不同的权限建立不同级别的用户进行管理测站。
  (1)查询用户。
  管理员用户根据行政区划、角色类别以及模糊关键字查询,对全省的用户进行查询,并设置每个用户的操作权限;管理员还可以对用户进行密码重置,用户管理界面见图5。
  (2)添加、修改用户。
  用户进入管理系统界面,点击页面右上角“添加”按钮可增加用户管理,按照用户管理界面对用户信息进行完善;添加用户时对输入的手机号具有唯一识别性,如果系统中已经存在该手机号则添加失败。
  当用户信息发生变更时,如用户所属区域,或者用户权限发生变化时,在用户管理界面点击编辑按钮,可对用户信息进行修改。
  2.2.2 角色管理
  角色管理可以进行角色的查询、添加、删除和修改。左侧展示角色列表,右侧展示角色所拥有的权限。添加角色、填写角色名称以及勾选权限树,保存成功即可,角色管理界面见图6。
  2.2.3 日志管理
  日志功能记录的用户操作的所有日志,比如用户登录IP、登录时间;测站增加,修改以及修改字段,修改结果等等。日志管理可以进行日志的查询和导出。查询日志可以根据起止時间以及模糊关键字搜索日志操作。
  3  系统功能实现关键技术
  3.1 系统核心表结构
  全省的站点信息进行不同的分类建立基础数据库表结构,不同的表之间的信息通过主外键进行关联,表结构如图,为不同权限的用户提供不同级别的查询;同时关联多个表结构为其提供各种数据支持。用户可以根据需要选择相应区域的站点进行管理,也可以对不同类型的站点进行分类查询和管理,或者直接通过站点号进行相应的操作,核心表结构见图7。
  3.2 系统主要接口
  站网管理的各个功能通过定义规范统一的接口,完成查询结果的调用。其主要接口定义见表1。
  3.3 获取站点信息
  站点信息管理系统可以给不同的用户设置权限,让不同级别的用户获取所需要的站点信息。获取站点信息关键代码如下。
  /**
  * 1.6站网管理 读取站点信息
  *
  * @param request
  * @param resp
  * @return
  */
   @RequestMapping(value = "pStationGetStations.hd")
   @ResponseBody
   public InterResp pStationGetStations(HttpServletRequest request, HttpServletResponse resp) {
   InterResp ir = new InterResp(ConstQxInter.RespErrorCodeEx);
   try {
   Map<String, Object> queryMap = new HashMap<String, Object>();
   String option = request.getParameter("option");
   String stationCategory = request.getParameter("stationCategory");
   if (CommUtils.notNull(option)) {
   queryMap.put("option", option);
   }
   if (CommUtils.notNull(stationCategory)) {
   queryMap.put("stationCategory", stationCategory);
   }
   List<PStation> list = pStationService.pStationGetStations(queryMap);
   ConstQxInter.setRespList(ir, list);    resp.setHeader("Access-Control-Allow-Origin", "*");//支持非安全的跨域
   log.info("===pStationGetStations list===");
   } catch (Exception ex) {
   log.error(ex);
   }
   return ir;
   }
  /**
  * 1.5某一时次,某市县 自动站、区域站 所有要素数据读取
  * @param request
  * @param resp
  * @return
  */
   @RequestMapping(value = "getAllElementValueOnStationFlag.hd")
   @ResponseBody
   public InterResp getAllElementValueOnStationFlag(HttpServletRequest request, HttpServletResponse resp) {
   InterResp ir = new InterResp(ConstQxInter.RespErrorCodeEx);
   try {
   Map<String, Object> queryMap = new HashMap<String, Object>();
   String option = request.getParameter("option");
   String stationFlag = request.getParameter("stationFlag");
   String dataTime = request.getParameter("dataTime");
   if (CommUtils.notNull(option)) {
   queryMap.put("option", option);
   }
   if (CommUtils.notNull(stationFlag)) {
   queryMap.put("stationFlag", stationFlag);
   }
   if (CommUtils.notNull(dataTime)) {
   queryMap.put("dataTime", dataTime);
   }
   List<AllElementValue> list = allElementValueService.getAllElementValueOnStationFlag(queryMap);
   ConstQxInter.setRespList(ir, list);
   resp.setHeader("Access-Control-Allow-Origin", "*");//支持非安全的跨域
   log.info("===getAllElementValueOnStationFlag list===");
   } catch (Exception ex) {
   log.error(ex);
   }
   return ir;
  }
  4  结语
  站网管理系统基于河南省气象观测数据服务平台,自2017年汛期投入业务以来,运行稳定,实现了全省2431个区域自动气象站,251个自动土壤水分站,23个农田小气候自动观测站;7部新一代天气雷达、19个闪电定位仪便捷的管理;有效地解决了全省站网信息更新周期长、大量消耗人力物力等缺点,为全省气象事业现代化发展提供支持和帮助,从而提供全面的站网管理信息服务,提高工作效率。
  参考文献
  [1] 李新庆,陈海波,樊宽.宁夏气象观测站网信息管理系统的设计与实现[J].智能计算机与应用,2016,6(4):12-15.
  [2] 吕雪琴,雷卫延,陈冰怀.省级区域自动气象站站网综合管理系统的设计与实现[J].气象水文海洋仪器,2013,30(4):69-72.
  [3] 何林,鄧凤东.区域自动气象站站网信息管理存在问题及对策[J].陕西气象,2018,319(5):35-38.
  [4] 张璇.全国区域自动气象站运行监控系统研究与开发[D].电子科技大学,2015.
  [5] 赵晶东,许冬梅.吉林省水文站网管理系统研发[J].农业与技术,2013(12):71-72.
  [6] 杨菊梅,邹鸿直,韩海涛,等.省级气象网络用户信息管理系统[J].干旱气象,2009,27(1):93-96.
  [7] 赵铁松.全国气象观测站网可视化管理研究与实现[D].南京信息工程大学,2012.
  [8] 宋智,吕爽,王凌,等.区域气象服务产品共享平台的设计与实现[J].高原山地气象研究,2012,32(1):77-80.
  [9] 马浩,郑志海,李正泉,等.15~30d延伸期逐日预报在线显示平台的设计与实现[J].沙漠与绿洲气象,2017,11(4):78-85.
  [10]肖天贵,肖光梁.高原山地短临预警预报系统的设计与构建[J].高原山地气象研究,2012,32(3):46-49.
  [11]张云惠,李建刚,谭艳梅,等.基于SWAP平台的新疆中尺度对流系统判识及应用[J].沙漠与绿洲气象,2017,11(3):38-46.
  [12]吴薇,宋智,蒋勇.省级气象信息共享系统的中间件设计研究[J].高原山地气象研究,2013,33(4):79-82.
  [13]魏延涛,王祖汉,徐远远,等.河南省气象技术装备监控管理系统[J].气象与环境科学,2011,34(1):79-83.
  [14]薛龙琴,陈海波,师丽魁.河南省自动土壤水分观测网的建设与运行管理[J].气象与环境科学,2011,34(4):84-87.
  [15]王林香,陈爽,高宾勇.气象信息网站后台管理技术研究[J].气象与环境科学,2006(3):78-79.
  [16]范保松.河南省气象观测数据综合服务平台的设计与实现[J].气象与环境科学,2019,42(1):135-142.
  [17]薛龙琴.河南省农业气象服务平台的设计与实现[J].气象与环境科学,2015,38(4):99-104.
  [18]Norbert Bieberstein.面向服务架构(SOA)指南[M].北京:人民邮电出版社,2008.
  [19]张峰.面向服务架构的服务总线的设计与实现[D].中国科学院研究生院(沈阳计算技术研究所),2008.
转载注明来源:https://www.xzbu.com/8/view-15154031.htm