2. 青岛市气象局, 青岛 266003
2. Qingdao Meteorological Bureau, Qingdao 266003, China
沿海港口是我国国民经济和社会发展的重要基础设施, 2019年习近平总书记提出的“港口兴则城市兴” 发展理念, 进一步表明了港口经济产业为中国经济和贸易发展及人民生活水平提升提供了重要支撑. 而海洋气象灾害对港口航区的生产建设影响非常巨大, 严重阻碍了港口经济的发展. 近年来, 海洋气象灾害频发对港口基础设施、航运及海上作业平台等都造成了较大的经济损失. 随着我国气象观测网络及预报技术的不断发展, 海洋气象探测和预报能力也不断增强, 为海洋气象服务水平的提升奠定了基础[1]. 刘欢等[2]提出的海洋气象服务思考, 系统阐述了海洋气象服务发展现状及发展方向. 谢琛等[3]设计的海洋气象预报预警系统建设方案, 对海洋气象综合监测及预报预警进行了探讨. 周福等[4]建立了基于港口的气象服务模式, 探讨了港口气象服务的发展方向.
但这些方案和思考多侧重于海洋综合气象服务系 统建设或气象服务模式的探讨, 在针对港口专业气象服务系统建设方面并未进行深入研究. 随着港口气象服务需求的细化和凸显, 综合性海洋气象服务已不能满足港口业务部门实际需求. 结合港口气象服务需求, 基于能够支持多源异构业务数据实时融合、快速响应业务变化需求的面向服务架构, 对港口气象服务系统及产品进行靶向研发和展示, 进行定制化专业气象服务, 构建港口智慧气象服务系统, 才能不断提升港口专业气象服务保障水平, 取得更好的港口气象服务效果.
1 港口气象服务需求分析天气原因导致的海洋气象灾害已成为影响港口安 全生产作业和船舶进出港航行停泊的主要因素[5]. 海陆交界特殊地理位置形成复杂下垫面, 使得港口及周边多发大风、大雾、强降水及雷电和台风等灾害性天气. 通过对青岛及国内其他港口通航数据进行调研发现, 大雾及强降水造成的能见度状况不良直接影响船舶进出港、锚地停泊及航道行驶; 大风、强对流、台 风、雷电等天气现象对港口货物装卸、吊装作业影响较大; 温湿度对港口仓储、物流、加工作业影响较大[6, 7].
港口多功能性业务特点和各业务环节受不同天气状况影响程度, 对港口气象服务提出了精细多样和快速响应的全新服务需求, 同时随着港口业务不断发展, 气象服务需求也不断更新. 构建针对港口业务特点, 融合港口相关业务数据, 及时高效并能够灵活扩展的气象服务系统, 能够有效提升港口气象服务准确率和时效性, 更好地为港口安全生产、作业调度、引航航运提供气象服务保障.
2 港口智慧气象服务系统设计原则及目标 2.1 系统设计原则系统设计遵循安全性、稳定性、适用可扩展性及开放灵活性原则[8, 9].
(1)安全性原则: 严格按国家安全保密标准和相关气象数据及港口业务数据保密文件要求, 采用多级安全保密措施. 在系统设计过程中采取严格的安全和保密手段, 确保系统本身和应用内各种数据的安全性和保密性.
(2)稳定性原则: 使用技术成熟、稳定的系统架 构, 结合港口实际业务需求进行开发创新, 确保各业务功能模块稳定运行.
(3)适用可扩展性原则: 充分考虑港口智慧气象服务系统的可扩展性, 未来系统扩展只须在现有框架及应用机制基础上, 增加新的应用与服务模块, 确保新业务功能模块的开发及系统融合过程无缝衔接平滑过渡, 不影响已有业务正常功能及用户使用.
(4)开放灵活性原则: 充分考虑未来港口气象服务需求发展及气象业务发展, 系统设计符合开放性功能需求, 能够根据业务需要实时融合气象内部业务系统及其他业务产品相关功能, 支持业务系统集成, 以满足复杂多变的业务需求.
2.2 系统设计目标结合港口气象服务需求, 考虑以气象内部业务系统为支撑, 以气象监测预报预警数据和港内业务数据为基点, 开发定制专业气象服务系统及产品. 实现气象服务与港口业务相结合, 预报预警与应急预案实时联动, 对灾害性天气进行提前防范. 港口智慧气象服务系统具体建设目标包括以下几点[8, 9].
(1)集成气象观测业务数据、港区风速仪数据、港口相关业务数据和矢量地图数据等多源异构数据作为系统基础数据支撑, 构建港口专业气象服务数据集合.
(2)基于地理信息数据、气象实况数据、港口业务共享数据和预报预警数据产品, 结合用 WebGIS 技 术, 实现港口防护圈及口岸航区观测数据和预报预警数据实时空间展示.
(3)针对各高影响天气因素, 结合气象实况观测数据实现预报预警信息智能自动告警和一键定向发布, 提升港口灾害性天气气象服务效能.
(4)集成预报预警产品及应急预案制作、观测站点位置管理、告警阈值管理、人员用户权限管理等功能, 满足港口气象智慧化服务需求, 对业务变更进行快速、高效响应和实现.
3 港口智慧气象服务系统设计与实现 3.1 系统架构选型面向服务架构(SOA)从软件角度可以看作一种组件模型, 将业务应用程序按照不同业务逻辑拆分划分为不同服务, 并以服务间定义良好、独立于硬件、操作系统和编程语言的接口进行联系, 以通用方式进行交互, 以实现不同业务功能. 其服务自治原则和位置透明、协议无关及松散耦合和的特性, 能够更好地实现数及系统资源共享, 从数据方面能够更好实现各类业务数据统一管理与服务, 从业务功能方面能够降低系统耦合程度, 实现业务功能拆解复用. 同时, 其服务总线(ESB)模式为系统提供了很好的容错、维护和扩展机制, 为保障系统业务功能稳定、快速高效响应业务变化需求提供了良好保障[8–13].
3.2 系统技术路线基于系统设计的稳定性、适用可扩展性及开放灵活性原则, 系统整体遵循面向服务架构, 采用易于二次开发的“框架+组件”体系模式, 通过对应用服务安全性更有保障的 SOAP-Web service 技术方式进行实现.
后端依托 ASP.NET, 使用 C#语言进行开发, 基于业务组件 (business component, BC) 模型, 使用软件构件技术对内部实现及接口到实现的映射进行封装, 并通过 IIS 发布 Web 服务, 外部通过 Web service 接口对组件进行调用集成.
数据方面, 利用 XML 作为统一数据交换标准, 将数据仓库和数据集成中间件模式相结合、通过 Web service 对多源异构数据资源进行整合集成, 实现前后端数据交换.
前端采用 HTML+CSS+JS 技术进行开发, 结合 WebGIS 技术在天地图及高分辨率电子海图等开放地图服务基础上进行页面功能扩展, 对港口、锚地、近海航路、自动站数据、浮标数据、港口风速仪数据、气象预报预警信息进行集成及空间可视化呈现.
3.3 系统架构设计结合港口气象服务需求, 基于 SOA 架构对系统从 逻辑上划分为5层, 分别为业务存储层、服务组件层、服务应用层、功能应用层以及用户界面层, 如图1所示[8-13].
业务存储层建立港口气象服务业务数据集成模型, 对气象业务数据、港航部门相关业务数据、基础地理信息数据等多源异构业务数据进行存储集成, 以统一接口对外提供数据访问; 服务组件层为虚拟应用服务层提供功能服务组件, 作为应用服务功能支撑; 虚拟应用服务层对业务流程中可重复调用的业务功能封装为构件, 通过服务总线(ESB)模式, 按照业务流程进行服务调用及服务流程编排, 形成不同业务功能服务模块, 以服务形式通过 Web service标准接口进行发布; 功能应用层包含实况监测、预报预警、应急预案案及后台管理功能; 用户界面层展示综合监测信息, 设置首页预警实时提示, 并提供服务功能概览, 通过户登录身份认证, 面向港口及气象部门业务人员和系统管理人员提供业务服务及系统后台管理功能[13].
3.4 系统功能设计基于港口智慧气象服务系统设计目标, 整体在功能应用上划分为实况监测、预报预警、应急预案、后 台管理4个功能模块, 首页设置综合监测显示界面[14, 15]具体功能结构见图2.
3.4.1 实况监测功能模块实况监测通过后台数据同步程序, 实时将青岛本地自动站观测数据、周边地市自动站观测数据、海上浮标站观测数据、港口风速仪观测数据同步至系统业务数据库. 以一定刷新频率从数据库中获取风、雨、雷电、能见度、温湿度及涌浪、风速仪和卫星云图等 实时气象数据最新监测实况, 基于 WebGIS 按照站点地理位置进行展示. 点击站点选中对应气象要素, 以曲线图的形式对该站点过去 24 小时观测数据进行展示.
3.4.2 预报预警功能模块预报预警设置常规气象服务及港区专业气象服务.
常规气象服务包括气象预警信息、近海气象预报、海区气象预报. 预警信息后台同步预警信号发布数据 库, 调取显示最新发布预警信号, 同时显示最近一段时间预警发布历史记录. 近海预报程序定时同步青岛近海预报, 存入系统数据库, 以时间线形式显示青岛近海 24 及 48 小时天气预报, 同时可查询最近一段时间发布记录. 海区预报程序自动同步山东沿海气象预报数据, 按照各海区地理位置进行展示, 点击地图上海区名称显示山东沿海 12 个海区 24 、48 、72 小时天气预报.
港区专业气象服务包括港区精细化天气预报、口岸航区天气预报、台风路径预报. 精细化预报显示大港、前湾港、油港、董家口港4港区最新天气预报, 包括未来 24 小时气温、降水、能见度、湿度等常规天气预报以及未来 3 天天气概况. 口岸航区预报显示青岛口岸航区最新天气预报, 同时实现口岸航区预报制作功能, 包括未来 24 小时降水、能见度等常规天气预报及未来 3 天天气概况, 并标注能见度风险等级. 台风路径预报为保证台风数据准确性和及时性, 集成已有台风观测系统, 显示台风位置、强度、影响范围、未来活动方向等信息.
同时制作港区气象服务周报及专报, 提供港口作业及灾害性天气过程针对性服务产品.
3.4.3 应急预案功能模块设置港口灾害性天气应急预案发布解除功能. 系统实时统计最新实况观测数据, 超过气象实况预警阈值时, 综合监测页面弹出窗口进行告警提醒, 并根据预案模板设定进行提示制作应急预案. 如有其他情况需发布应急预案, 则通过顶部菜单进入应急预案制作模板.
应急预案模板按照用户需求格式及内容建立模板库, 通过预定义文字信息库, 实现应急预案自动生成、人工编辑功能, 内容包含应急处置方案、应急响应部 门、应急响应区域、时效等, 并支持应急预案一键导出.
决策人员点击开始制作预案后, 页面汇总显示最新实况监数据、最新天气预报、以及预案内容输入框、待发送人员列表等. 预案内容编写完毕, 选择发送人员, 进行短信推送, 并记录短信发送状态.
3.4.4 后台管理功能模块设置用户管理、权限管理、站点管理、阈值管理、港区位置管理及应急预案模板管理.
用户管理通过对用户信息表的增删改查进行用户的管理操作.
权限管理通过管理用户对应角色、所在公司、职务等进行业务操作权限限制.
站点管理考虑设备故障、网络异常、数据出错等故障因素, 对站点进行添加删除, 后台自动记录站点信息更改情况.
阈值管理按照到港区中心距离、不同气象要素类型, 进行不同等级阈值设定, 建立阈值信息数据表.
港区位置管理通过选择港区名称, 地图点击港区所在位置, 自动获取港区经纬度信息实现对港区地理位置的调整.
应急预案模板管理建立应急预案信息表, 按照不同气象要素、不同阈值范围设置不同等级应急预案模板, 支持应急预案模板内容增删改查, 同时支持模板信息管理.
4 关键技术 4.1 多源异构数据动态集成基于港口气象服务系统需求, 将气象数据、港行部门相关业务数据、GIS 数据等多源异构数据进行整合, 建立规范化、可扩展性强、灵活度高的港口气象服务数据库, 以实现港口气象服务系统各类业务源数据的统一管理与服务.
气象及港口业务数据体量巨大, 同时业务功能应用对数据联机分析及实时查询性能要求都很高. 在对联邦数据库、数据仓库及中间件模式等数据集成模式进行综合对比后, 考虑设计数据仓库与中间件模式相结合, 并采用 Web service 和 XML 技术的动态数据集成模型. 以数据仓库形式作为整个业务系统的中间数据库, 存储海量历史气象数据、港行部门相关业务数据及 GIS 数据, 以满足气象业务服务决策数据分析; 同时利用中间件模式实现各类数据实时查询的业务需求.
由于涉及 GIS 数据集成, 在对异构数据进行转换时, 使用 XML/GML (建模、传输和存储地理及与地理相关信息的 XML 编码语言) 作为数据传输媒介, 以解决数据源数据格式不统一的问题, 同时采用XML Schema定义各应用系统间的 XML 文件接口, 对文件 的易读性和可扩充性进行规范. 数据集成模型逻辑架构如图3 所示[16].
数据请求中间件包括元数据库、中介器和包装器.
元数据库通过对气象数据、港口业务数据、风速仪数据、AIS、GIS 等数据的梳理抽取, 设计全局数据 模式, 存放局部数据源、全局数据源及其映射关系.
中介器对客户端传来的针对全局数据源的XQuery查询通过解析、分解及分发转换为对各局部数据源的查询发送至包装器, 同时负责将包装器返回的查询结果进行整合返回客户端和中间数据库.
包装器对分解后的 XQuery 查询进行查询语言转换, 并根据查询引擎选择不同 JDBC 驱动程序与对应局部数据源建立连接进行查询, 并将查询结果转换为统一的 XML/GML 格式返回中介器.
客户端应用程序通过数据请求 Web service 向数据请求中间件发出查询指令, 为每个数据请求生成全 局唯一任务编号, 根据编号检查该数据请求结果是否存在于中间数据库, 如果存在则通过查询中间数据库直接反馈客户端结果数据, 否则根据客户端请求生成请求条件描述接口文件, 转发给数据请求中间件. 数据请求中间件解析描述接口文件, 完成查询分发、查询语言转换、数据检索、结果转换、查询整合、状态更新等一系列处理, 将请求结果状态信息和结果数据返回 Web 服务, 客户端再通过任务号对请求任务执行情况进行查询并获得相应数据. 数据请求流程如图4所示.
4.2 实时业务数据空间可视化
对气象及港口部门业务实况数据、实时预报预警数据、空间数据统一组织管理后, 按照地理信息数据金字塔图层分级方式, 对各个图层进行制作及叠加显示.
遵循 OGS 标准, 通过 GIS 服务组件创建、部署地图服务应用程序, 并通过 GML 对地理空间信息进行解析和编码, 以 Web service 形式提供标准化地图服务调用接口. 客户端请求地图服务时, 通过 Web 服务WSDL描述文件中的方法、参数等信息对地图服务进行调用, 实现实时业务数据空间可视化呈现.
使用 WMS (Web map service)对行政区面、海域面、港口位置、港口防护圈、航线、锚地、气象站点等地理空间位置信息数据进行解析绘制, 通过GetCapabilities 操作获取用户请求和服务内容, 通过 GetMap 和 GetFeatureInfo 操作返回相应地图作为底图展现.
在此基础上, 使用 WFS (Web feature service), 根据客户端请求提供对防护圈、站点、告警信息数据等地图要素的增加、删除、修改在线编辑功能, 返回图层级地图影像, 实现 Web 地图服务的进一步深入.
同时, 使用 WMTS (Web map tile service)瓦片缓存技术, 对天地图、高分辨率电子海图进行加载, 在 GIS 服务器端使用瓦片矩阵把地图切割为不同级别大小的瓦片, 客户端进行图层叠加及地图缩放等访问处理时, 显示其对应级别瓦片数据, 以此缓解 GIS 服务器端数据处理压力和客户端显示压力, 提高前后端交互响应速度[17, 18]. 实时业务数据可视化流程见图5.
4.3 港口气象服务产品一键定向发布
采用消息队列(MQ)的发布-订阅模式 (publish-subscribe pattern)对港口气象服务一键定向发布功能进行设计, 应用MQ 解耦、异步及削峰特性实现各不同发送应用程序之间的分离, 减少业务人员操作等待时间, 提升气象服务产品发送效率.
专业服务产品制作模块作为消息发布者(publisher)对港区口岸航区预报、专业服务周报、专报、快报及预警信息等不同类型服务产品进行制作, 通过 Web 服务接口将产品推送给消息队列服务器, 消息队列服务器将产品数据作为消息写入本地内存队列后立即返回成功响应, 业务人员即刻收到服务产品发布成功反馈信息.
消息队列服务器根据消息订阅列表查找订阅该产品的订阅者(subscriber)应用程序, 产品订阅者按照微信、短信、邮件、传真等不同发布渠道分为不同订阅组, 通过分组订阅方式对系统信息发布进行有效负载均衡, 同时对后期产品发布渠道的线性扩展能力进行提升.
气象服务产品按照先进先出原则, 通过消息队列服务器向产品发布应用程序进行推送, 通过 Web 服务接口与发布应用程序中订阅者对接, 订阅者收到推送的服务产品后, 再通过各渠道自身发布机制对服务产品进行发布[15, 19] . 一键定向发布流程如图6所示.
5 系统应用示例
首页综合监测, 结合 WebGIS 将港口提供的港区范围叠加至地图进行空间展示, 以各个港区中心点位置为圆心在地图上绘制出 30 公里、50 公里半径港区防护圈, 显示各港区对应气象实况概况及专业预报预警内容. 实时监测显示风力风速、能见度、温湿度及降水实况, 同时通过模式预报实时计算发布各港区未来30分钟、1小时、2 小时降水及能见度预报数据, 以及未来1小时雷电预警数据, 提供港区防护圈范围能见度、降水及雷电短时临近预报.
同时后台关联气象内部业务系统实时显示常规气象预警信号. 对最新监测数据进行汇总统计, 将各站点分钟级气象要素观测数据同预先设定阈值进行比较, 当有站点要素值超过设定阈值时, 以声音、色斑色块形式进行预警.
实况监测将风、雨、雷电、能见度、温湿度和涌浪等气象要素基于站点位置进行展示, 选择对应要素点击页面相应站点, 即实时显示该站点过去24 小时观测数据及未来24小时预报数据曲线图, 同时页面右侧显示该要素有效观测站点、正常范围观测站点、极值站点及最新观测时间, 并对应不同要素呈现其最大值、平均值、瞬时值及当前预警情况.
预报预警分别对常规气象服务中近海气象预报、海区气象预报、气象预警信息和港区专业气象服务中港区精细化天气预报、口岸航区天气预报、台风路径预报等预报预警内容进行展示. 其中近海预报发布时间为每天6、9、12、15、18、21时, 提供未来3、6、9、12小时近海天气情况预报, 海区港区及口岸航区预报时间为每天9、16时, 提供未来12–72小时相应区域精细化预报内容. 预警信息根据最新气象实况, 结合气象灾害预警等级进行快速制作, 并通过一键发布功能实现预警信息实时发布. 预报预警模块预警信息页面如图7 所示.
应急预案通过选择预案模板实现应急预案快速制作, 并通过一键定向发布实现应急预案实时发布, 同时可查看已发布预案列表, 应急预案模板如图8所示.
后台管理对用户、站点、港区位置、预警阈值、用户权限及预案模板等系统相关设置进行管理, 后台管理模块气象要素预警阈值管理页面如图9 所示.
6 结语本文围绕港口安全生产气象服务需求, 研究和设计了港口智慧气象服务系统. 通过对 SOA、Web service、数据仓库、中间件模式及 WebGIS 和消息队列等计算机技术的深入应用, 将气象、港口、空间地理信息等多源异构业务数据进行了动态集成, 并根据港口业务需求进行了定制化系统功能开发, 打造了港口专业气象服务系统, 实现了港口智慧化气象服务. 系统投入业务应用后, 有效减少了海上大风、低能见度等灾害性天气对港口安全生产的不利影响, 提升了港口气象灾害应急防御能力, 为港口业务决策提供了技术支撑, 对港口安全运营和经济发展起到了重要的保障作用.
实际业务应用结果表明, SOA 架构在港口智慧气象服务系统中的应用, 实现了多源异构业务数据的统一管理服务和业务功能的拆解复用. 降低了系统耦合程度, 提升了系统灵活性和扩展性, 满足了对业务变更快速高效响应的业务需求, 达到了系统设计目标. 系统建设针对港口专业气象服务, 但 SOA 架构良好的通用性, 对其他专业类气象服务系统也具有较高的应用推广价值. 后续考虑进一步根据港口业务实际需求, 结合微服务架构进行港口专业气象服务系统移动终端开发, 以期进一步提升港口智慧气象服务效能.
[1] |
孙玫玲, 王雪娇, 郭玲. 智慧港口气象服务系统建设——以天津港为例. 气象研究与应用, 2020, 41(1): 31-34. DOI:10.19849/j.cnki.CN45-1356/P.2020.1.07 |
[2] |
刘欢, 谭庆岭, 林行, 等. 青岛市海洋气象服务发展与思考. 现代农业科技, 2017, 17: 213-214, 217. DOI:10.3969/j.issn.1007-5739.2017.17.126 |
[3] |
谢琛, 谢文宁. 港口海洋气象预警中心建设研究. 中国水运, 2015, 15(3): 58-60. |
[4] |
周福, 黄思源, 许利明. 宁波国际港口气象服务模式初探. 气象科技进展, 2017, 7(1): 134-137. |
[5] |
韩冰. 国内外海事气象保障服务之比较研究[硕士学位论文]. 大连: 大连海事大学, 2016.
|
[6] |
丁锋, 刘飞, 张晋, 等. 基于气象条件的船舶引航风险等级. 中国航海, 2019, 42(2): 71-74, 113. DOI:10.3969/j.issn.1000-4653.2019.02.014 |
[7] |
孙贞, 徐晓亮. 青岛港口航区气象风险指标服务产品研发及业务应用. 气象水文海洋仪器, 2019, 36(3): 45-48. DOI:10.19441/j.cnki.issn1006-009x.2019.03.011 |
[8] |
陈宇明. 基于SOA的卷烟市场监管信息共享平台. 计算机系统应用, 2015, 24(9): 80-84. DOI:10.3969/j.issn.1003-3254.2015.09.014 |
[9] |
林雨萌, 陈炳才, 马致明, 等. 新疆智慧水利综合管理平台. 计算机系统应用, 2021, 30(10): 86-94. DOI:10.15888/j.cnki.csa.008103 |
[10] |
赵杨, 关宁, 王俊霖. SOA架构在辽河流域报表管理系统的研究与实践. 计算机系统应用, 2017, 26(3): 114-118. DOI:10.15888/j.cnki.csa.005648 |
[11] |
杨辰, 周立新, 毕奔腾. 基于SOA的岩溶地质数据服务系统设计与实现. 计算机技术与发展, 2019, 29(4): 149-153. DOI:10.3969/j.issn.1673-629X.2019.04.030 |
[12] |
贾佳, 邱曙光, 白若琛, 等. 基于SOA的智慧河道水质监测预警平台设计及应用. 计算机应用与软件, 2021, 38(2): 13-18, 26. DOI:10.3969/j.issn.1000-386x.2021.02.003 |
[13] |
谢丰, 丁锋, 任兆鹏, 等. 面向服务架构在气象服务系统中的应用——以近海船舶交通气象服务系统为例. 科技促进发展, 2022, 18(3): 408–415.
|
[14] |
江双五, 温华洋, 盛绍学, 等. 智慧档案馆背景下安徽省气象档案业务系统. 计算机系统应用, 2021, 30(9): 128-137. DOI:10.15888/j.cnki.csa.008144 |
[15] |
郭庆燕, 杨晖, 张敏, 等. 气象数据应用服务系统的研究. 计算机应用与软件, 2018, 35(2): 107-111. DOI:10.3969/j.issn.1000-386x.2018.02.019 |
[16] |
姚燕, 李湘, 郭萍, 等. 基于多源异构数据的北京GISC数据请求服务. 计算机技术与发展, 2021, 31(8): 150-155. DOI:10.3969/j.issn.1673-629X.2021.08.026 |
[17] |
李玉涛, 王凯, 周元. 基于GIS的气象信息标准化服务平台的设计与实现. 计算机技术与发展, 2021, 31(1): 198-203. DOI:10.3969/j.issn.1673-629X.2021.01.035 |
[18] |
肖昕, 方朝阳. 基于GIS的土地执法监察系统设计与实现. 计算机应用与软件, 2019, 36(7): 117-121. DOI:10.3969/j.issn.1000-386x.2019.07.020 |
[19] |
黄震宇, 刘玲. 江西省一键式预警信息发布系统的研发. 信息系统工程, 2020, 3: 56-59. DOI:10.3969/j.issn.1001-2362.020.03.026 |