宁夏智能化气象信息综合发布系统设计与实现

2022-09-09 03:15高国弘缑晓辉
电子技术与软件工程 2022年13期
关键词:气象渠道对象

高国弘 缑晓辉

(1.中国气象局旱区特色农业气象灾害监测预警与风险管理重点实验室 宁夏回族自治区银川市 750002)

(2.宁夏气象防灾减灾重点实验室 宁夏回族自治区银川市 750002)

1 引言

为向公众、企业、政府等公共气象服务用户提供及时、丰富的服务,气象部门充分利用信息传播技术,先后建成了声讯电话、传真、邮件、网站、短信、大喇叭、电子屏、微博、微信、APP、小程序等多种气象信息发布平台。这些平台各自独立,造成了一定程度的资源浪费和重复建设。为实现发布平台间信息共享、集约化发布,全国气象部门相继开展了“气象信息一键式发布”技术方法研究。早在2012年郑立军等建设了浙江桐庐县数字电视气象预警全频道一键式发布系统,2014年杨昱等开展了天津一键式气象服务信息发布技术研究,张亚、王莹、莫云音、林红、王新秀等分别在安徽、广东、海南、上海、辽宁等省市开展了气象预警信息一键式、多渠道发布技术研究。宁夏于2014年建设了农村气象预报预警信息一键式发布平台,实现了乡村大喇叭、显示屏信息统一发布。这些一键式发布平台,大都基于统一的平台录入信息并驱动所有接入的发布渠道发布信息的模式建立。

“以信息化驱动气象现代化,建设智慧气象”是气象行业落实国家信息化发展战略的重要举措。为充分利用云计算、大数据、物联网、移动互联网和机器智能等现代信息技术,推进信息技术与气象业务的深度融合,宁夏气象局组织建设了“宁夏智能化综合气象业务服务共享管理平台(Ningxia Intelligent Integrated Meteorological Service Sharing Management Platform, NXIIMSSMP)”。该平台由基础数据库、业务产品库、服务产品库3 个数据库,智能化天气预报业务系统、智能化气候业务系统、智能化农业气象业务系统、智能化气象信息业务系统、智能化气象服务系统5个省级业务系统,1 个智能化气象信息综合发布系统,以及相应的气象信息共享与管理系统组成。5 个省级业务系统,近20 个市县级业务系统,均需利用各种发布渠道向各自的用户发布信息,这就向属于NXIIMSSMP 总出口的气象信息发布系统,提出了多平台对多发布渠道、多用户群,自动发布气象信息的新需求。再者,为充分利用各级气象部门优势资源,形成集约化技术合力,天气预报、气候预测、农业气象、气象信息等业务系统制作的产品大部分不事先指定服务对象,最终由各对外服务部门确定通过何种渠道发送给那些用户。因此,要实现服务产品发布的智能化,从而实现NXIIMSSMP 系统的全流程智能化,就必须研究服务产品与服务对象、发布渠道的智能化匹配与分发技术。

2 系统功能设计

2.1 网络拓扑

整个NXIIMSSMP 可以看作是一个分布式气象服务产品制作与发布体系。依据NXIIMSSMP 总体设计,各省级智能化气象业务系统与各市县级综合气象服务系统制作的公共服务产品均存入“气象服务产品库”,该库在存入产品时,利用三方消息件,向智能化气象信息综合发布系统(下简称“综合发布系统”)推送产品入库信息,综合发布系统利用产品入库信息,提取服务产品,并向各发布渠道转发。为确保突发事件预警信息发送时效,综合发布系统还为省级突发事件预警信息发布系统(下简称“省突系统”)开通“绿色通道”,即省突系统与综合发布系统实现直连。因此,综合发布系统有两类气象服务数据来源。以上各系统均处于气象业务宽带网(内网)。

短信、声讯、传真、邮件、大喇叭、显示屏、微博、微信、FTP、服务云等需以推送方式接收信息的渠道,设计了Web API 渠道对接接口和发布结果回传接口,由综合发布系统调用各渠道信息发布接口,以主动推送方式发布信息,各渠道系统调用综合发布系统结果回传接口,实现结果数据的回传;其他网站、APP、小程序及各行业气象信息应用系统等需通过互联网主动获取信息的渠道,由综合发布系统将信息推送至位于互联网的气象服务云,由服务云以API 接口方式提供各客户端主动调取信息。因此服务云既是发布渠道之一,也可看作综合发布系统的组成部分。综合发布系统还需与“天镜”省级气象信息监控系统连接,向天镜传输服务产品发送状况等监控数据。综合发布系统与产品制作、产品存储、天镜及发布渠道之间的位置关系见图1。

图1 :智能化气象信息综合发布系统在气象信息体系中所处位置

2.2 功能设计

综合发布系统由产品管理、服务对象管理、渠道管理、系统管理、系统监控5 大模块组成,其系统架构见图2。产品管理模块首先以两个数据输入接口分别与气象服务产品库、省突系统互联。气象服务产品库在收到各业务系统存入的服务产品时,即以RabbitMQ 的生产者(Producer)方式向综合发布系统推送产品,综合发布系统以消息消费(Consumer)方式接收产品并落地暂存数据库,同时利用KMP 算法将服务产品关键字与服务对象需求关键字进行匹配,匹配成功即通过为服务对象设定的发布渠道向该对象发布信息;产品管理模块设置Web API 接口供省突系统以HTTP 协议访问传递预警信息。服务对象管理模块向省市县三级系统操作员提供服务对象(用户)管理能力,各级操作员可录入本级收集的用户,设定用户所需产品、关注区域、发布单位、接收渠道等关键字,供产品管理模块调取匹配。渠道管理模块依据各发布渠道系统厂商提供的接口规范,研发不同的接口与之互联发送信息。系统管理模块提供系统操作员管理功能并为操作员分配不同的角色,为角色授予不同的权限;该模块还负责同步服务产品库中的发布单位、产品类型、地域信息数据到综合发布系统,供产品管理模块与服务对象管理模块建立匹配关系;此外该模块还负责管理系统“字典”表及其他系统参数设置调整工作。系统监控模块监测产品接收、用户匹配、各渠道发送成功率、用户关注量等数据,同时生成日志或统计报表并通过本系统监控大屏或传输给“天镜”系统展示。

图2 :智能化气象信息综合发布系统总体架构

3 关键技术

3.1 KMP算法

是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt 提出,人称克努特—莫里斯—普拉特操作(简称KMP 算法)。KMP 算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。该算法的用途广泛,是正则表达式的基础。本研究采用改进的KMP 模式匹配算法,优化服务产品与服务对象、发布渠道的匹配算法。

3.2 RabbitMQ

MQ 全称为Message Queue,是一种分布式应用程序的通信方法,它是消费者(Consumer)-生产者(Producer)模型的一个典型的代表,Producer 往消息队列中不断写入消息,而另一端Consumer 则可以读取或者订阅队列中的消息。RabbitMQ 则是MQ 产品的典型代表,是一款基于AMQP(高级消息队列协议)协议可复用的企业消息系统。业务上,可以实现服务提供者和消费者之间的数据解耦,提供高可用性的消息传输机制,在实际生产中应用相当广泛。因前期已建成的气象服务数据库采用RabbitMQ 推送数据,本研究完成了以Consumer 消息消费方式接收数据的接口软件开发。

3.3 Web API

API 应用程序编程接口(Application Programming Interface)是一些预先定义的函数,这些函数是由某个软件开放给开发人员使用的,帮助开发者实现某种功能,开发人员无须访问源码、无须理解其内部工作机制细节,只需知道如何使用即可。Web API 则是基于HTTP 协议的网页化API。本研究开发两个Web API 分别供省突、天镜系统与综合发布系统对接;引用微博、微信、短信、大喇叭平台提供的Web API 接口,向此类渠道发送信息并接收各渠道返回的用户关注量、成功接收数、设备在线率等管理信息。

3.4 FTP/SFTP

FTP 文件传输协议(File Transfer Protocol)。SFTP 为安全文件传送协议(Secure FTP),可以为传输文件提供一种安全的加密方法。SFTP 为SSH(安全外壳协议)的一部分,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP 要低得多,如果对网络安全性要求更高时,可使用SFTP 代替FTP。综合发布系统提供FTP、SFTP及被动、主动FTP 等模式选择,以连接不同要求的发布渠道。其中大喇叭/显示屏、传真、声讯、云网站等平台采用FTP或SFTP 传播文件类型产品,并提供一个专门的FTP 接口供渠道拓展。

3.5 系统运行与开发环境

综合发布系统采用的服务器配置为至强2.4GHz 双核CPU、32GB 内存、1TB 硬盘,Windows Server 2012 操作系统、Oracle 11g 数据库管理系统、Tomcat 7.0 互联网信息服务器;系统基于B/S 架构开发,开发语言为Java、JavaScript、Html5、CSS3。

4 核心软件实现

4.1 产品格式标准

各种发布渠道所需的服务产品格式不尽相同,为制作、存储、转发等各环节都带来了困难,因此需要首先设计一个综合的服务产品标准格式,供NXIIMSSMP 各系统共同遵守,以标准化促进智能化、集约化。所制定格式的标准数据表见表1。

表1 :气象服务产品格式标准数据表

表1 是数据交换时的基本字段,NXIIMSSMP 中各系统为了各自操作便利,可增加若干辅助字段。表中产品类型、影响区域、制作单位三个字段数据由气象服务产品库设定并管理,其他系统每日定时下载更新,以保持数据的统一。综合发布系统引用此三个字段作为产品匹配关键字。依据发送渠道的不同,表中各字段及文件类型可选择填写。

4.2 服务对象管理

在综合发布系统中建立服务对象管理子系统,用于管理气象产品数据的接收对象,对象类型包括属于个人或单位的决策气象服务用户、专业气象服务用户及面向公众服务的大喇叭电子屏、微博账号、微信公众号、FTP 地址、云网站等三类。该子系统提供省市县三级服务对象数据增、删、改管理能力,以及相应的自上而下逐级管理能力,供各级气象部门存放自己收集的服务对象基本信息、服务产品接收类型、方式、发布单位等信息。子系统的核心库表——服务对象数据表见表2。

表2 :服务对象数据表

发布系统引用其中的关注区域、所需产品、发布单位三个关键字段用于与服务产品匹配,引用接收渠道关键字段向发布渠道系统推送产品信息。

4.3 产品发送原则

引用表1 产品格式标准,根据匹配到的服务对象接收渠道不同,发送内容有所区别,因此制定产品发送原则见表3。

表3 :各渠道服务产品发送原则

4.4 产品智能发送

产品与对象智能匹配发送模块是综合发布系统的核心。该模块数据流程见图3 所示。当Consumer 或Web API 接口收到外部系统发来服务产品时整个流程被启动,随即用接收到的服务产品相应关键字分别与每一个服务对象对应关键字一一比较,匹配成功即依照服务对象指定的接收渠道及产品发送原则,通过不同的发布渠道向服务对象(用户)发送服务产品。

图3 :气象服务产品智能匹配发送流程

为提高匹配效率,本研究采用改进的KMP 模式匹配算法,优化服务对象与服务产品的匹配算法,同时,将匹配算法线程数设定在1000 条,以提高匹配效率。实测,在发布渠道系统及网络环境正常情况下,本系统响应时间≤15s。

5 结论

智能化气象信息综合发布系统是智能化气象业务系统的末端,是气象信息流的总出口,只有实现了气象信息的智能化发布,方能达成气象业务系统的全流程智能化。采用本文所述技术方案建成的宁夏智能化气象信息综合发布系统,实现了个人(决策、专业)服务对象与公众对象融合管理,服务产品与发布渠道、服务对象智能化匹配,产品发布全流程监控、留痕与评估,多气象业务系统对多发布渠道的智能化集约发布。省市县各级业务人员只需在采集服务对象数据时配置相应的内容,在向气象服务产品库存放产品时选择相应的关键字,之后服务产品通过何种发布渠道发送,发给那些服务对象,再无需人工干预,完全由综合发布系统智能选择、自动完成,极大地提高了发送时效及工作效率。

猜你喜欢
气象渠道对象
神秘来电
聚焦“五个一” 打通为侨服务渠道
气象树
《内蒙古气象》征稿简则
大国气象
攻略对象的心思好难猜
美丽的气象奇观
基于熵的快速扫描法的FNEA初始对象的生成方法
区间对象族的可镇定性分析
渠道