广东省公共气象服务平台的设计与实现

2022-06-24 13:57陈聪谢雨辰林江李晓娜刘云桦
广东气象 2022年3期
关键词:集约服务平台广东省

陈聪,谢雨辰,林江,李晓娜,刘云桦

(1.广东省气象公共服务中心,广东广州 510640;2.佛山市气象局,广东佛山 528000)

随着气象现代化的推进,广东公共气象服务从传统短信服务向移动互联网服务方向拓展,形成了从短信到微博、微信、网站等多元的服务方式,并取得了一定的成效。社会对建立气象防灾减灾第一道防线的需求对气象服务工作提出了更高的要求。江西省[1]、贵州省[2]等气象局建设了决策类气象服务系统。,有许多业务人员开展了服务业务集约化、产品集成技术、服务产品构建、服务素材库等方面的研究[3-6],也有业务人员设计开发了运动会气象服务、省级气象服务产品分发、市县级气象服务以及基于公有云、基于OSGi.NET的气象服务平台[7-10]。随着广东的公共气象服务业务快速发展,公共气象服务渠道之间相对独立,气象服务相对分散,组织内容不够有序化,缺乏公共气象服务平台进行统一的制作、发布、管理环节;存在产品制作能力偏低,需要提高产品制作的多样性、实用性;产品共享能力偏低,省市县产品存在信息孤岛现象。必须建立符合新需求的广东省公共气象服务平台,更好的推动全省公共气象服务发展。

1 广东省公共气象服务平台的设计

1.1 需求分析

广东省公共气象服务平台是为提高公共气象服务业务水平打造的一体化、集约化工作平台,相较旧有编辑平台有两个要求:(1)基于产品制作、发布、保存的闭合业务流程,实现气象服务的业务流程再造,从产品制作到产品发布及产品存储闭环式业务方式有利于气象服务工作的深入开展,不同以往只是单纯简单发布,有着更深的布局思维。产品的制作可以及时更新满足一线服务的需求,对产品的入库实现气象大数据沉淀,为智能化气象服务累积素材。(2)采用多渠道一体化发布思路,集约各发布渠道,方便气象服务产品快捷发布。当气象发布服务渠道越来越多时,切换不同平台的时间成本在天气过程中对服务工作有很大制约性,通过集约各发布渠道可以提高发布效率。

1.2 总体框架设计

广东省公共气象服务平台采用B/S架构,服务端采用Struts2框架,使用Java语言编程开发应用;页面端基于HTML、CSS、JavaScript、JSP技术,使用Tomcat作为Web应用服务器,可在浏览器端打开广东省公共气象服务平台;数据存储采用MySQL数据库系统,并建立数据库集群服务,根据平台的建设内容,服务器包括web应用服务器和任务分发服务器。

1.3 系统功能模块设计

广东省公共气象服务平台按照产品制作、集约发布、产品库闭合的公共气象服务流程为基础架构,如图1所示,包含产品制作、集约发布、产品库等主体模块和后台管理模块。产品制作模块目标是提高产品制作能力;产品库是提高历史产品共享能力和打牢数据分析基础;集约发布是实现快捷多渠道一体化发布功能。同时兼顾值班辅助、常用链接、公告等功能以及后台管理系统,实现气象服务闭环的工作流程。用户管理方面采用广东省突发事件预警信息发布系统用户 接口,做到用户轻量化和集约化管理。

图1 广东省公共气象服务平台总体功能结构示意图

1)产品制作。

产品制作模块能够制作用于公众气象服务的数据产品、图片产品、文字产品等气象产品。包括实况、预报、预警、指数产品以及基于GIS地图的雷达和台风产品。细化的产品需求如表1。通过点击复制按钮能够将选择的产品推送到集约发布模块,方便快捷发布。产品采用的数据主要来自IDEA接口和精细化数据引擎。

表1 产品制作模块详细产品需求

一线值班员在天气过程中,使用较多的产品有雷达图产品,通过选择开始和结束时间以及时间间隔,点击制作下载雷达图动态图,对降雨过程中的微博跟踪天气服务非常便捷有效。此外,实况要素排行中21地市的整点气温表格,可用于夏季和冬季时微博的气温实况服务。天气预报表格是21地市的天气预报表格展示,常用于每日早晚间天气预报的微博配图。丰富的产品满足值班员日常值班需求。

2)集约发布。

集约发布模块是基于广东天气短信、微博、微信、12121、网站渠道的一体化编辑发布模块,可以实现快捷发布操作。操作流程上首先选择发布渠道和发布栏目,然后录入标题、正文,并选择产品标签,然后确认提交,按照编审分离的原则,可以选择审核发布操作。短信渠道的栏目有早晚间天气和上下班天气;微博是广东天气新浪微博;微信渠道是在广东天气微信中微谈天气、天气新闻等栏目,是适用于手机端的富文本页面产品;12121渠道的栏目有天气解读和专家谈天气;网站栏目为广东应急气象网。富文本编辑框内提供了格式化卡片模板,可以使产品更加美观适宜移动端用户。以集约发布模块为核心,连接产品库及产品制作模块,产品库的历史产品和产品制作的服务产品均可通过值班口袋功能推送到集约发布模块,方便进行再编辑发布。

3)产品库。

产品库可以实现短信、微博、微信、12121、网站渠道的历史发布产品的集合存储查询调用。常年天气具有一定相似性,通过产品库查询往年服务内容提供参考,提高产品发布工作效率。在首页中历史上的今天板块可以提供历史上当天发布的微信、微博、短信、12121产品。

值班员可以通过日期范围、产品栏目、发布地区、关键词、节气等多种查询条件快速检索出所需要的历史产品。对于不同的登录用户查询权限不同,所属不同地市的用户只能查询其所在地市的历史产品。

4)首页和后台管理系统。

首页可以提供常用业务链接和值班员值班表,同时有值班留言、首席留言、通知公告,近期和历史上的今天发布的产品,方便值班员及时掌握注意事项和前值班员的工作情况;后台管理系统主要提供了标签管理、链接管理、班种管理、排班管理、留言权限管理。

1.4 数据库设计

系统采用的数据库为MySQL,MySQL是一个关系型数据库管理系统,所使用的SQL语言是用于访问数据库的最常用标准化语言。其体积小、速度快、总体拥有成本低,适合一般中小型网站。根据各模块功能需求设计数据表,用于存储产品及相关信息。数据表主要有短信、微博、微信、网站、12121等信息表,留言表和图片产品地址表。服务产品是公共气象服务平台的核心,以微信信息表介绍为例,其字段主要有标题、内容、图片、本地地址、互联网链接地址、发布者、发布状态、栏目等。具体表结构设计如表2所示。数据库采用主从集群结构,确保数据服务不中断。

表2 微信信息表字段及属性

2 关键技术

2.1 开发工具

本系统在开发的过程中使用了Eclipse、MysqlWorkbench等工具,Eclipse是一个开放源代码的、基于Java的可扩展开发平台,是开发Java的常用IDE。Eclipse使用方便而且可以快速调试定位错误代码。MysqlWorkbench是针对MySQL数据库的可视化管理工具,可以创建数据表以及查询、导入数据。

2.2 开发技术

广东省公共气象服务平台采用的开发技术包括Struts2、JSP、HTML、CSS、JavaScript、jQuery、MySQL数据库等技术,其中Struts2是基于MVC设计模式的Web应用框架,当客户端发送请求时,首先经过过滤器,Action映射器将查找调用的Action对象,并返回Action对象的代理,通过读取相关配置,Action容器调用Action对象,Action处理请求后,将返回结果视图回应给前端浏览器。以下为部分代码示例说明。

产品制作中雷达图动图的制作,首先通过任务调度定时下载雷达图,绘制广东底图叠加雷达图,制作动图通过在浏览器页面中选择制作时间范围、高宽和播放速度参数,通过Ajax发送内容到makeGif.action,通过调用graphicToGif方法绘制雷达动图。graphicToGif代码如下:

集约发布中微信渠道涉及内网和外网的同步,首先通过浏览器页面发布按钮调用JS文件中函数,判断要素是否齐全,通过JQuery的Ajax-FileUpload方法上传文件,调用微信发送Action和Service,生成HTML文件,再将路径信息写入数据库中,通过消息队列同步到腾讯云中,采用腾讯云cos存储文件,最后完成产品的发布。其中AjaxFileUpload代码如下:

产品库中查询历史产品,首先在浏览器页面选择查询条件,应用JavaBean组件完成业务逻辑,通过JDBC技术访问数据库返回查询结果。

3 平台运行效果

广东省公共气象服务平台自上线以来作为值班员好帮手,提供了极大便利,广东省公共气象服务平台稳定为广东省公共气象服务中心以及茂名、湛江市气象局提供服务。广东省公共气象服务中心值班编辑人员在日常值班前首先登录查看值班留言、各岗位值班人员,掌握全局动态,值班过程中大量常用业务链接可供快捷点击跳转;其次,在日常不同服务场景中采用不同服务产品,在降水过程中使用雷达动态图,在寒潮过程中采用气温实况色斑图。在未建立编辑思路或者时间较为紧迫时,可以查阅往年同期短信、微博等内容进行快捷的二次创作。该平台为地市气象局提供微信栏目产品的发布服务,茂名气象局在平台中每日录入天气预报栏目,湛江市气象局每日录入海洋天气栏目,在微信公众号中展示,丰富服务内容。互联网时代服务模式不断推陈出新,广东省公共气象服务平台还要继续紧跟时代的发展,结合融媒体特别短视频业务和气象灾害案例库升级发布功能和服务产品供给。

猜你喜欢
集约服务平台广东省
打造一体化汽车服务平台
江苏省一体化在线交通运输政务服务平台构建
广东省校外培训风险防范提示
论基于云的电子政务服务平台构建
高速公路伴随式信息服务平台
广东省铸造行业协会十周年会庆暨第四届理事会就职典礼成功举行
浅谈土地资源的节约集约利用
集约转型 小城镇发展之路
城镇建设中的土地集约节约利用分析
广东省第八届大学生运动会圆满落幕