基于SpringMVC的气象预警信息Web系统设计与实现

2020-07-29 19:17高祝宇韩颂雨杨明曾悠
计算机与网络 2020年12期

高祝宇 韩颂雨 杨明 曾悠

摘要:为了使用户能够方便快捷地查询与统计发布的气象预警信号,高效地开展公众气象预警服务与气象防灾减灾决策服务,设计并实现了气象预警信息Web系统。对系统的技术架构和功能设计进行了介绍,采用基于Spring MVC的分层架构技术,实现了数据模型、控制转换以及前端表现各层之间的内聚解耦,提供了气象预警信号实时查询、分类查询、历史统计等多种功能。系统具有较好的应用效果,提升了气象業务服务能力。

关键词:Spring MVC;气象预警信号;分层架构;Web系统

中图分类号:TP393文献标志码:A文章编号:1008-1739(2020)12-61-3

0引言

气象灾害预警关乎国家和人民生命财产安全,是防御和减轻气象灾害最有效的途径之一,也是我国气象部门极其重要的一项基本业务。随着现代科技的不断发展,气象灾害预警传播的媒介越来越丰富,Web网页是其中一种有效的媒介,建立气象预警信息Web系统,为社会公众提供专业气象预警服务,同时为防灾减灾提供决策依据是一项有意义的工作。

为了进一步提升气象预警信息Web系统运行效率,降低维护成本,系统采用了技术相对成熟的Spring MVC框架。S pring MVC是一个基于Spring体系和MVC模式的轻量级Web开发框架[1],一方面具备Spring框架松耦合、可扩展、面向切面的优势[2];另一方面MVC设计模式使得系统层次清晰,便于测试维护[3]。目前Spring MVC框架已广泛应用在Web系统建设中,顾文静等[4]利用Spring MVC框架设计并实现了高性能计算机监视管理系统,刘丽华等[5]基于Spring MVC开发了学生信息管理系统,刘颖等[6]在Spring MVC框架基础上开展了Web服务器部署方面的研究并开发了鲜活农产品供应链交易平台等。

以气象业务需求为指引,从提高系统性能角度出发,采用Spring MVC框架技术开发气象预警信息Web系统,为用户提供方便快捷的气象预警服务,提升气象防灾减灾工作效率。

1关键技术

Spring MVC框架技术体系主要由前端控制器(DispatcherServlet)、处理器映射(Handler Mapping)、控制器(Controller)、模型对象(Model Object)、视图解析器(View Resolver)和视图(View)等组成,工作原理如图1所示,其中前端控制器是整个Spring MVC的核心,负责接收HTTP请求并组织协调框架的各个组成部分,处理器映射和视图解析器保证了系统控制处理和视图展现之间的松耦合。此外,Spring MVC框架提供了大量独特的功能,主要包括:①JavaBean配置功能;②基于Map键/值对的模型转换功能;③强大的定制功能;④业务代码重用功能;⑤控制器适配功能等,这些功能的应用使得系统开发效率和扩展性能大大提升。

2系统设计与实现

2.1系统框架设计

气象预警信息的及时性至关重要,系统运行需确保较高的效率和稳定性,在系统总体框架设计时要尽量降低系统各个模块间的耦合性,因而采用了分层架构的设计思想,系统总体框架分为模型层、控制层和表现层3层,如图2所示。

模型层主要包括与气象预警信息有关的数据资源,分为实时气象预警数据和历史气象预警数据,这2类数据均由气象预警信息数据库统一存储管理,其中实时数据是指当前发布的气象预警信息,历史数据是指以往发布的所有气象预警信息。

控制层是系统的核心,涵盖了系统运行的业务逻辑,主要包括响应用户请求、用户身份认证、数据查询访问、数据加工处理、数据统计分析及数据转换传输这几个部分,通过对前端用户的请求进行接收,采用用户身份信息验证的方式决定是否启动对请求数据资源的访问,验证通过则按服务需求对数据进行组织、加工、封装及加密等处理,实现气象预警信息资源由原始形式向带有服务性质的组织形式转换,最后传输给前端展示页面。

表现层是指展示给用户的交互界面,按功能需求利用Web前端技术实现气象预警信息的图形展示、实时分类及历史统计等。

2.2系统功能设计

按照气象业务需求,气象预警信息Web系统主要包括气象预警信息的实时展示、实时分析、分类统计和历史查询4个模块,系统功能模块设计如图3所示。系统提供的主要功能有:①基于SVG技术的专题地图服务功能;②基于预警种类、等级、区域的多模式统计分析功能;③按年、月、日以及任意时段统计的历史预警信息查询功能;④针对台风预警的报告单发布功能。

实时展示模块主要采用基于SVG技术的专题地图服务功能完成实时气象预警信息的直观展示,展示的内容有预警信号图标、预警发布单位、预警发布时间及预警发布内容等。专题地图服务主要包括地图定位、地图渲染以及图层叠加功能,地图定位功能根据预警发布区域的地理信息定位到SVG地图上的具体方位;地图渲染功能按照预警发布等级在SVG地图上改变预警发布区域的颜色,如蓝色预警即渲染成蓝色;图层叠加功能可以将预警信息作为新的图层叠加到SVG地图上的预警区域。

实时分析模块主要包括实时气象预警信息分析以及台风报告单发布功能,其中预警信息实时分析主要针对预警名称、预警发布数量以及预警发布单位等信息,给出可能引起气象灾害的天气过程以及需要及时关注的重点地区,为用户提供直观准确的气象预警整体概况;台风报告单发布功能主要是在台风影响期间,实时发布台风动态信息,包括台风位置、台风强度及台风影响路径等,为用户提供台风预警专题服务。

分类统计模块提供按照预警种类、预警等级以及预警区域的多模式分类统计分析功能,其中预警种类包括暴雪、暴雨、冰雹、大风、结冰、大雾、干旱、海上大风、地质灾害及其他等17个大类的气象灾害预警,预警等级由低到高依次为蓝色、黄色、橙色和红色预警,预警区域是指预警发布内容中所明确指出的预警行政区域范围,可精细到乡镇。分类统计模块可为用户提供精细可靠的气象预警分类概况。

历史查询模块提供按年、月、日以及任意时段的历史气象预警信息查询功能,可针对某次气象灾害过程的时间段,回顾当时发布的气象预警信息,该模块主要为气象防灾减灾工作提供历史数据查询统计支撑。

2.3系统架构实现

气象预警信息Web系统的实现主要基于Spring MVC技术架构,系统架构如图4所示。按照系统技术架构,系统实现流程为:①用户通过客户端向服务端发送HTTP请求,前端控制器接收到请求,开始查询一个或多个处理器映射;②找到处理请求的后端控制器并将请求提交,后端控制器开始调用业务逻辑Service类进行逻辑处理;③Service接口通过数据访问DAO类对气象预警信息资源进行访问操作并返回数据资源给Service类;④Service类将处理结果封装为ModelAndView返回至前端控制器,由前端控制器查询一个或多个视图解析器;⑤找到ModelAndView对应的视图,最后由视图负责响应HTTP并将结果显示到客户端。系统模型层主要基于Spring JDBC的数据库访问技术通过编写DAO类实现,控制层主要通过Spring MVC的控制器以及编写Service类实现,表现层主要由SpringMVC的视图以及前端页面實现,其中Spring MVC框架为系统实现提供了核心支撑,有效分离了客户端展示与服务器端逻辑处理,提升了系统运行效率。

3应用效果

基于Spring MVC设计并实现了气象预警信息Web系统,提供气象预警信息的实时展示与统计分析,应用效果如图5所示。目前该系统已经在浙江省气象局业务应用,应用结果表明系统性能稳定,且具有良好的扩展性和可维护性,能够为气象防灾减灾决策服务工作提供平台支撑,提升气象预警服务工作效率。

4结束语

利用Spring MVC框架开发了气象预警信息Web系统,对系统总体框架、系统功能设计以及Spring MVC关键技术进行了主要介绍,Spring MVC的应用不仅可以有效地分离气象预警数据和前端页面展示,实现数据与视图的松耦合进而提升系统运行效率,还能够灵活地拓展系统功能,提高代码重用率,降低系统维护难度。基于Spring MVC的气象预警信息Web系统有效提升了气象预警服务工作效率,提高了气象业务服务能力,但随着现代科技发展,对于气象预警服务的时效性要求越来越高,系统仍需不断完善以满足更高的气象业务需求。

参考文献

[1]葛萌,黄素萍,欧阳宏基.基于Spring MVC框架的Java Web应用[J].计算机与现代化,2018(8):97-101.

[2]汪大鹏,尹永胜.基于Spring和Hibernate驾考答题系统的设计与实现[J].电子设计工程,2017,25(17):46-49.

[3]刘桃丽,曾志超.MVC架构下网站的设计与实现[J].计算机技术与发展,2020,30(2):188-191.

[4]顾文静,赵春燕,李娟.基于Spring MVC的高性能计算机监视管理系统设计与实现[J].计算机应用与软件,2017,34(10): 102-107.

[5]刘丽华,薛玉倩.基于Spring MVC的学生信息管理系统[J].通讯世界,2019,26(10):173-174.

[6]刘颖,翟开云.基于Spring MVC框架的鲜活农产品供应链交易平台构建[J].物流技术,2016,35(10):133-137,165.