您好, 访客   登录/注册

基于Spring框架的气象探测设备监控系统设计与实现

来源:用户上传      作者:

  摘 要:为了提升现有气象探测设备监控管理效率,实现对气象设备探测监控管理的统一调度,采用MVC三层模式和Spring MVC框架,对气象探测设备监控系统中的关键技术进行研究与实现,主要包括Spring MVC框架的概念与特性、Spring框架的气象探测设备监控系统框架设计,同时对Spring框架应用于气象探测设备监控系统的层次结构和主要模块进行讨论与分析,最后基于Spring MVC与Mybatis框架实现了气象探测设备监控系统。应用结果显示,该系统有效降低了气象探测设备故障率,提高了其运维效率,对气象设备探测监控管理发挥了一定作用。
  关键词:气象设备;监控运维;Spring MVC;Spring框架
  DOI:10. 11907/rjdk. 192412 开放科学(资源服务)标识码(OSID):
  中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2020)007-0112-05
  Research on Meteorological Equipment Monitoring System
  Based on Spring Framework
  CHEN Kai1, CHEN Ke-chen 2
  (1. Zhejiang Provincial Center for Technical Support of Atmospheric Exploration, Hangzhou 310017,China;
  2. Shaoxing Meteorological Service, Shaoxing 312000,China)
  Abstract: In order to improve the efficiency of monitoring and management of existing meteorological detection equipment and realize the unified dispatch of monitoring and management of meteorological equipment, this paper uses MVC three-tier model and Spring MVC framework to study and implement the key technologies of monitoring and control system of meteorological detection equipment, including the concept and characteristics of Spring MVC framework, and the meteorological detection equipment monitoring and control framework of Spring framework. At the same time, the hierarchical structure and main modules of Spring framework applied in meteorological detection equipment monitoring system are discussed and analyzed. Finally, meteorological detection equipment monitoring system is realized based on Spring MVC and Mybatis framework. The application results show that the system can effectively reduce the failure rate of meteorological detection equipment, improve its operation and maintenance efficiency, and play a certain role in meteorological equipment detection, monitoring and management.
  Key Words: meteorological equipment; monitoring and management; spring MVC; Spring framework
  0 引言
  气象探测设备探测的气象数据种类多、信息量大、精度高[1],是气象业务的重要基础及组成部分[2]。随着我国自动化气象探测网的不断发展和更新,气象部门气象探测装备保障任务的压力与日俱增[3],统一规范的气象探测设备的技术保障体系建设显得尤其重要,先进的气象探测设备保障体系建设,可以为气象监测、预报预警和服务提供高效、准确的气象信息,为公众提供更加准确的天气预报,为人们的生活提供更多的便利[4]。其中,气象探测设备监控系统是气象探测设备技术保障体系建设的关键环节,为气象探测设备技术保障提供基础的设备信息和技术保障信息。因此,需要研发一套气象探测设备监控系统以实现信息化管理。
  Spring框架是经典的模型—视图—控制器(Model-View-Controller,MVC)分层次设计模式,技术框架成熟且开发简捷方便,较多的学者对其框架的应用进行了研究[5-10],为了提升现有的气象探测设备监控管理效率,实现对气象设备探测监控管理的统一的调度,本文尝试采用Spring MVC框架,对气象设备监控系统中的关键技术进行研究,并对其采用的技术方法加以实现。
  鉴于此,本文以气象设备监控保障需求为牵引,结合气象探测设备监控管理现有应用成果,利用Spring MVC框架,设计与研发了一套能充分发挥分层结构、提高气象设备监控保障应用服务性能,为用户提供扁平化服务体验的气象探测设备监控管理服务平台。应用结果表明,系统为准确高效的气象探测设备监控管理提供了翔实的基础及服务平台,且操作简单、实用性强、服务效率高,有效地提高了氣象探测设备监控保障效率。   1 Spring MVC模式概述
  目前流行的大部分应用程序设计与实现都是基于MVC模式[11-18],Spring MVC为Spring框架的一部分,Spring框架提供了对MVC模式的实现机制,主要应用于Web应用程序开发。MVC作为一种设计模型,主要由模型、视图和控制器3部分组成。其中,模型主要位于数据端,负责数据访问、数据持久化及数据相关逻辑处理。视图又称表示层,它是模型的外在表现,一个模型可以对应一个或多个视图。视图是应用程序与外界输入的接口。控制器是MVC模型中最重要的核心部分,是模型和视图联系的纽带,一方面将外界输入交给模型处理,另一方面又将模型处理好的数据交给视图来表现,起到负责分发请求和返回处理结果的作用。
  Spring MVC模型采用“分治”思想,使用控制器将数据模型和视图进行分离,将视图和数据解耦。当数据模型或视图发生变化时,相互之间的影响也会降到最低。
  Spring MVC的主要功能特性如下:
  (1)实现应用快捷构建。Spring MVC框架集成了Spring框架的所有其它功能,Spring MVC架构通过配置,能够快速实现应用程序搭建。
  (2)角色结构清晰。控制器(Controller)、验证器(Validator)、命令对象(Command Obect)、表单对象(Form Object)、模型对象(Model Object)、Servlet分发器(DispatcherServlet)、处理器映射(Handler Mapping)、试图解析器(View Resoler)等。每一个角色都可以由一个专门的对象加以实现,且提供了域模型代码与视图。
  (3)Spring MVC提供了一种绑定机制。通过该机制可以从用户请求中提取数据,然后将数据转换为预定义的数据格式,最后映射到一个模型类,从而创建一个对象。该实现机制只需请求参数名称与Java类的属性相匹配即可。
  (4)Spring MVC视图灵活性。Spring MVC视图可以采用JSP,也可以是Velocity模板、Tiles以及XSLT等。
  (5)Spring MVC是非侵入性的,因为业务逻辑代码与框架本身是相分离的。
  2 气象探测设备监控系统中的Spring MVC框架应用
  Spring MVC框架集成了Spring框架功能,能够快速实现应用程序,减低应用系统实现的复杂性,以简单快速的方式实现系统开发与部署,并且具有跨平台的代码重用性、结构清晰、互操作性等优势,利用Spring MVC框架可以有效实现应用层次结构,提高应用扩展性、快速开发部署、跨平台等能力。Spring MVC框架应用于气象探测设备监控系统的实现层次结构如下:①数据模型层定义实现了一套标准规范的数据持久化和数据访问模型,为气象探测设备监控系统中气象探测设备的基本信息、运行状态、故障运维等信息的查询、计算及统计分析等提供标准化的数据支撑;②逻辑控制层实现了系统的各种逻辑操作,对数据与视图进行了有效结合;③表示层实现了气象探测设备监控系统中气象探测设备的分布及运行状态模块、故障运维模块、信息管理模块等界面及操作。
  Spring MVC框架对气象探测设备监控系统的实现作用主要有以下6点:①负责对数据库的操作,包括查询、增加、编辑、删除、统计等;②负责对数据库中气象探测设备的基本信息、运行状态、故障运维等数据表进行持久化操作;③负责对气象探测设备监控数据的清洗和质量控制;④负责对系统数据流程逻辑进行实现;⑤负责对系统表示层进行实现;⑥负责对系统用户及运维日志等数据进行管理。
  3 系统总体框架
  为了保证气象探测设备监控系统的高扩展性和高可用性,系统采用了层次化的设计框架。系统总体框架主要分为4部分:数据资源层、数据服务层、逻辑控制层和视图层。总体层次结构框架如图1所示。
  数据资源层,即数据存储环境,主要存储气象探测设备监控的4类数据,包括气象设备数据、基础地理信息数据、监控运维数据和系统管理数据。所有数据均按照结构化数据与非结构化数据进行分类存储,其中,地理信息数据采用地图瓦片方式存储在非结构化NoSQL数据系统中,地理信息服务采用JSON的方式。气象设备数据、监控运维数据和系统管理数据等结构化数据采用MySQL数据库存储,并对数据量大的监控日志数据进行按日期分表混合存储。
  数据服务层,即数据模型层,主要负责系统的数据逻辑处理和访问数据库等操作。包括实现访问MySQL数据库、对数据封装持久化、数据访问DAO和数据服务层配置等。通过门面模式提供业务控制层调用。
  业务控制层主要提供气象设备信息、监控运维和系统管理等相关数据处理、统计分析、预警报警等操作的业务控制逻辑,然后请求相应数据,并提供给表示层,它是系统核心部分。
  表现层主要展示气象探测设备的分布及运行状态、故障运维、统计分析、预警报警和系统信息管理等五大类内容,采用流行前端框架,为用户提供直观快捷的体验。
  系统框架流程如图2所示。①客户端请求被前端控制器DispatcherSerlet接收后,根据请求映射HandlerMapping映射到业务逻辑处理器;②创建业务逻辑处理器和处理拦截器,然后以处理执行链的方式,返回给前端控制器DispatcherSerlet;③前端控制器通过处理器适配器调用业务逻辑处理器,根据业务需求,调用气象设备监控数据,进行业务逻辑处理,完成业务逻辑处理后,将模型数据和视图对象给前端控制器;④前端控制器将获取的对象传给视图解析器,将逻辑视图解析为物理视图,然后前端控制器根据返回的视图进行渲染;⑤将渲染后的视图响应给系统客户端,完成整体流程。
  4 系统主要模块设计
  4.1 監控信息收集及入库模块   设备监控信息收集及入库模块作为数据层模块,通过消息一直在监听设备状态信息,随时准备接收信息。如果接收发生状态变化的消息,则开始信息提取、分类和分析,然后生成标准的设备状态数据格式,通过传输模块发送到中心通信机接收数据,根据数据传输协议将数据解包,然后分类导入数据库中。
  4.2 设备分布及运行状态模块
  设备分布主要采用ArcGIS地图组件和JSP视图技术,结合基础地图数据和设备位置信息,实现在地图上显示设备所在位置信息。运行状态主要采用红、黄和绿点的方式,分别表示设备故障、设备维护、设备正常3种运行状态,可以查看各设备详细信息,包括运行状态时序曲线图、环境参数、负责人员、运维资料等。
  4.3 故障运维模块
  故障运维模块用于在线故障运维管理,实时显示故障设备列表信息、故障类型、故障原因、故障日期、实时设备监控信息、维护进度、维护人员、维护日期等信息,主要采用流行框架实现图表综合展示和管理。
  4.4 监控信息显示与分析统计模块
  采用全流程方式对气象探测设备进行监控显示,可以从全局角度,查看所有气象探测设备的运行状态、数据传输状态等信息。按照气象探测设备类型、故障类型等关键信息,对气象探测设备监控信息进行直观显示。按照日期、类型等方式,结合统计方法,对监控信息进行统计分析,并以图表的方式显示。
  4.5 预警报警模块
  采用预警报警阈值配置方式,实时监控气象探测设备运行状态和环境参数是否超过其预警报警阈值,当超过其阈值时,将相应的报警信息通过邮件短信方式发送给业务值班人员,同时在系统视图中显示提醒,对报警信息进行跟踪管理。
  5 应用实现
  按照MVC设计模式思路,采用Spring MVC开源框架实现气象探测设备监控系统。主要模块实现分为数据访问(包括数据层和数据服务)、业务逻辑和表示三层结构。
  5.1 数据服务层实现
  数据服务层主要采用Spring MVC整合Mybatis實现数据库访问、数据持久化、数据访问DAO和数据服务层配置等[19-21]。主要实现步骤如下:①在Pom.xml加载Spring MVC、Mybatis和MySQL相关依赖库;②配置整合Mybatis,流程包括配置数据源参数、数据库连接属性、SqlSessionFactory对象等;③Mybatis扫描别名的基本包与数据源等信息;按照门面模式提供数据服务接口。其中,数据源参数配置文件如下:
  datasource.properties
  jdbc.datasource.url=jdbc:mysql://数据库地址:3306/数据库名称?useUnicode=true&characterEncoding=utf8& useSSL=false
  jdbc.datasource.username=用户名
  jdbc.datasource.password=密码
  Mybatis主要配置如下:
  mybatis-config.xml
  <configuration>
  <settings>
  <!--使用列别名替换列名-->
  <setting name=“ useColumnLabel ” value=“ true ”/>
   <!--开启自动驼峰命名规则映射-->
   <setting name=“mapUnderscoreToCamelCase” value=“true”/>
   <!-- 支持自动生成主键 -->
   <setting name=“useGeneratedKeys” value=“true”/>
  </settings>
  </configuration>
  DAO实现定义一个由@Mapper注解标注的接口即可,因为MyBatis会扫描由@Mapper注解标注的类,将里面的@SELECT、@INSERT等注解加以解析,实现代理类。
  5.2 业务逻辑层实现
  业务逻辑层主要分为3步:①扫描Service包所有注解 @Service;②配置事务管理器,将事务管理交由Spring完成;③配置基于注解的声明式事务,可以直接在方法上@Transaction。配置文件如下:
  service-config.xml
  <!-- 扫描service包下所有使用注解的类型 -->
  <context:component-scan base-package=“com.soecode.lyf.service” />
  <!-- 配置事务管理器 -->
  <bean id=“transactionManager” class=“org.springframework. jdbc. datasource.DataSourceTransactionManager”>
  <!-- 注入数据库连接池 -->
  <property name=“dataSource” ref=“dataSource” />
  </bean>
  <!-- 配置基于注解的声明式事务 -->
  <tx:annotation-driven transaction-manager=“transactionManager” />   根据气象探测设备监控系统分别实现监控信息业务逻辑与显示分析业务逻辑@Service类。
  5.3 前端展示实现
  系统前端采用Bootstrap、Thymeleaf模板引擎等框架,结合HTML5和JSP视图,实现气象探测设备分布及运行状态、故障运维、统计分析、预警报警和系统信息管理等5个主要前端表示模块。
  为了实现解析html文件,需要修改视图解析器配置文件。spring-mvc.xml主要配置如下:
  spring-mvc.xml
  <bean id=“viewResolver” class=“org.springframework.web.servlet.view.InternalResourceViewResolver”>
   <property name=“prefix” value=“/WEB-INF/views/”/>
   <property name=“suffix” value=“.html”/>
  </bean>
  同时,在web.xml中注册。web.xml主要配置如下:
  web.xml
  <servlet-mapping>
  <servlet-name>jsp</servlet-name>
  <url-pattern>*。html</url-pattern>
  </servlet-mapping>
  在Spring MVC框架实现中,数据资源层只与数据服务层交互,为数据服务层提供系统的所有数据。数据服务层具有数据解析、封装和重组等操作,是视图层的基础;逻辑控制层主要根据视图层提交的业务操作,与数据服务层进行交互;视图层主要采用Html5实现,为用户提供直观快捷的操作界面,包括图表、文字等,响应用户的操作。其中,信息管理还为用户提供了用户、角色、权限等基础安全管理,不同的用户可以访问、监控运维、管理不同的气象设备信息。
  本文将基于Spring MVC框架的气象探测设备监控系统应用于浙江气象设备监控业务中,提高了气象探测设备运维和监控能力,气象探测设备故障率同比下降了10.3%,运维效率得以极大提高,且系统具有较高的气象设备监控性能、高擴展性和友好的前端界面,具有较高应用价值。
  6 结语
  本文在Spring MVC框架概念及特征基础上,搭建了基于Spring MVC框架的气象探测设备监控系统应用总体设计框架,包括各功能模块设计,最后介绍了实现方法和应用情况。由此可见,在实际业务中,Spring MVC框架的应用实践为气象探测设备监控系统提供了一种建设思路和手段,有效降低了气象探测设备的故障率,提高了其运维效率,增强了气象探测设备业务服务能力。但同时,系统也存在一些问题,如较难实现与其它系统共享数据等,未来将采用服务方式改造系统,实现数据共享。
  参考文献:
  [1] 杨明,陈晔峰,陈晴,等. 气象数据云数据存储技术及应用[J]. 气象科技,2017(6):65-69.
  [2] 周钦强,李源鸿,李建勇,等. 自动气象站探测网实时监控关键技术[J]. 气象科技,2011,39(4):477-482.
  [3] 史静,李文博,马云波,等. 气象技术装备社会化保障发展现状分析及评价[J]. 阅江学刊,2016(6):52-58.
  [4] 包伟智. 气象探测装备技术保障体系建设探讨[J].  农业科技与信息,2016(21):48-49.
  [5] 刘樱,杨明,王锐,等. 基于Spring Boot框架的气象风参数查询服务平台设计与实现[J]. 软件导刊,2019, 18(5):116-119.
  [6] 李晓静,魏振钢. 基于Spring与Hibernate的Web应用开发研究[J]. 软件导刊,2017(5):73-75.
  [7] 陈琳. 基于Spring架构的德育量化考核系统设计与实现[J]. 软件导刊,2015(7):126-128.
  [8] 杨阳. 基于SSH框架的个性化博客系统设计与实现[J]. 软件导刊,2016(12).
  [9] 周巧婷,王晓玲. 基于S2SH架构的教学质量评价系统设计与实现[J]. 软件导刊,2017(7):109-113.
  [10] 杨丰瑞,杜奎,姜赖赢. 基于ESSH框架的高校科研团队信息管理系统设计与实现[J]. 软件导刊,2017, 16(4):94-96.
  [11] 刘宁,陆荣国,缪万胜. MVC体系架构从模式到框架的持续抽象进化[J]. 计算机工程,2008,34(4): 107-110.
  [12] 王映辉,王英杰,王彦君,等. 基于MVC的软件界面体系结构研究与实现[J]. 计算机应用研究,2004, 21(8): 188-190.
  [13] 张宇,王映辉,张翔南. 基于Spring的MVC框架设计与实现[J]. 计算机工程, 2010,36(4):59-62.
  [14] 卜庆禹. 基于Spring的MVC框架实现Web应用系统设计与实现[J]. 数码世界,2017(4):21-22.
  [15] 韩森,邓停东,张占强.  Spring MVC+Hibernate框架的应用研究[J]. 软件导刊,2009(6):44-45.
  [16] 陈琳. 基于Spring架构的德育量化考核系统设计与实现[J]. 软件导刊,2015,14(7):126-128.
  [17] 伍文彬.  Spring环境下的敏捷ORM框架设计与实现[J]. 软件导刊,2019,18(5):140-142.
  [18] 刘义忠,张伟. 基于SSM框架的后台管理系统设计与实现[J]. 软件导刊,2019,18(2):74-77.
  [19] ZHANG D,WEI Z,YANG Y.Research on lightweight MVC framework based on Spring MVC and Mybatis[C]. the 2013 Sixth International Symposium on Computational Intelligence and Design,2013.
  [20] 刘杰,孙浩,郭东旭,等. 基于Spring MVC及MyBatis框架的在线教育平台的设计与实现[J]. 沈阳师范大学学报(自然科学版),2019(3):268-273.
  [21] 时月梅. 基于Spring MVC、MyBatis实现数据分页显示处理[J]. 信息技术与信息化,2015(7):203-206.
  (责任编辑:孙 娟)
转载注明来源:https://www.xzbu.com/8/view-15286241.htm