APP下载

基于百度平台的茂名区域站监控系统建设

2022-12-27麦宗鉴李子平车凤华刘祖俐

广东气象 2022年6期
关键词:页面百度站点

麦宗鉴,李子平,车凤华,刘祖俐

(茂名市气象局,广东 茂名 525000)

近年来,区域性气象灾害频发,区域自动气象站点数据的精确程度对灾害成因分析越来越重要[1-2],站点运行状态的稳定性对站点数据在气象业务应用方面影响越来越大[3-5],数据可用性的高低直接影响到气象服务效果。近年来,国内部分气象科技工作者对区域气象自动站点数据利用越来越广泛,促使气象智能科研产品不断涌现,陈聪等[6]利用精细化预报产品智能解读算法,最终实现给用户提供天气服务产品;汤沛等[7]整合广东省气象局精细化预报系统(GIFT),搭建精细化服务平台。及时、高效掌握这些站点数据的准确性已成为做好重大天气过程预报的重要因素,为了推进气象现代化事业的发展,迫切需要加强茂名市、县2级区域自动气象站点告警信息的监控手段,进而使站点数据在茂名气象服务方面继续发挥重要的作用。

目前,茂名全市建设了170多个区域自动气象站点,但是根据未来“村村有自动站”的配置需求,各省、市先后搭建不同架构的监控平台,雷卫延等[8]搭建了广东省级气象观测资料顶层集约化监控平台,实现监控多个系统数据流传输全流程;麦宗鉴等[9]构建了市级业务保障系统,提出了监控地面国家站正点及时到报对新手业务人员的重要性;潘心顺等[10]开发了河源市自动站资料的实时更新和显示。区域站点数据作为科研项目重要的基础数据来源,为了提供更精确的数据和做好茂名市区域自动气象站监控业务,在利用原有业务平台和桌面程序[11]基础上,从茂名实际出发,结合一线保障人员综合值班情况考虑,为提高茂名市级监控管理水平,构建了符合茂名市本地化的Web监控平台。

1 百度应用接口

百度开发者平台是百度对外开放的应用接口平台,为国内开发者提供开放的多样化服务体系,包括百度地图、百度语音播放、百度人工智能、百度自动驾驶等应用接口,借助百度应用接口的灵活性和业务需求,可便捷实现基于百度接口的业务平台功能建设。

1.1 百度地图

百度地图是百度公司为用户调用网络地图应用接口的一项免费服务,提供了多种服务版本,现在比较主流的是引用JavaScript版本,该版本使用时,需要先申请百度授权密钥。百度地图不仅提供了路线导航、周边搜索、路况查询、定位标记和自定义覆盖物等服务,而且通过鼠标可以实现地图拖拽、缩放、事件触发等操作,并根据经纬度信息,实时在百度地图上展示数据,使得界面更加直观、真实反映数据的地理时空分布情况。

1.2 百度语音

百度语音是基于HTTP请求的在线应用接口技术,主要分为百度语音识别和百度语音合成。百度语音识别是一种将语音识别为文字信息的技术;百度语音合成是一种能够将文字转化成语音的技术,通过GET方式传递相关参数,参数列表说明如表1所示,它的接口地址为:“http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=5&text=要播报的站点告警信息”。

表1 百度语音接口参数列表说明

2 系统建设

2.1 系统结构

茂名区域站点告警信息监控系统基于B/S架构,主要监控区域站点不在线时长、站点要素异常等告警信息,市、县2级一线保障人员可实时在线访问页面和查询信息。该系统分为3层构架:数据层、逻辑层和界面层,数据层的数据主要通过PHP语言、HTTP协议与广东省气象局的一体化数据访问服务平台(IDEA)建立连接后获取;逻辑层是针对具体业务应用对数据层数据进行二次开发;界面层表现为用户提供交互的操作界面,主要采用HTML、CSS和Bootstrap框架使得界面层简洁美观。

该系统结构明显,进一步增强系统的可维护性和拓展性,实现了数据层、逻辑层与界面层之间的低依赖、高分离。系统结构实现流程如图1所示。

图1 茂名区域站监控系统技术流程示意图

2.2 基于IDEA的数据整合

该系统采用PHP编程语言结合IDEA平台的数据接口获取区域自动气象站点数据作为数据源,IDEA接口提供了海量详细的气象区域站点各要素的相应字段值,为数据的二次整合提供极大的便利。该系统的业务核心是监控区域气象站点产生的数据告警信息,以站点为对象,根据业务实际需求封装了数据控制类(AreaStation类)。通过调用该类中函数实现对IDEA接口数据的处理和过滤,生成业务监控所需的告警信息,最终完成以JSON数据格式结构的基于IDEA接口的数据整合。JSON数据格式结构如下:

2.3 基于Redis的页面缓存应用

Redis是一个高性能的、二进制安全的以键-值存储的非关系型数据库,最大可以存储512 Mb字节和任意格式的数据,数据不仅可以定期更新写入文件持久保存,而且还可以将数据缓存在内存中,实现动态页面的缓存机制,提高页面的访问速度。该系统采用Redis实现动态页面的缓存,当后端数据量庞大且访问的并发量较高时,很好地解决了页面访问过慢或内存溢出的问题,缓存在页面生命周期内充当临时服务器为用户提供数据,降低了服务器的访问频次,适当减轻了服务器的压力。核心代码如下:

2.4 系统功能

根据茂名全市气象区域站业务监控本地现状综合分析,面向市、县保障人员开发了本监控系统,该系统通过对后端算法设定判别条件,自定义设计告警信息字符格式并在百度地图上实现了6项功能的显示:

1)统计站点当前时次和连续不在线时段告警信息。系统提供智能识别、统计当前时次不在线及站点连续不在线时段站点个数,可以很方便直观反映出区域站点的运行状态,确保保障人员及时看到告警信息,提前安排工作计划,快速响应装备保障任务,有效提升茂名气象的业务质量。

2)站点要素值异常告警信息。气象站点要素值的准确性反映着当地实际的气象状况,它在预报预警方面发挥着重要的作用。从该系统获取的气象要素异常告警信息包括要素值缺测、要素值超阀值、要素值疑误等内容,不同的异常信息为市级管理员安排具体事项提供数据支撑,进一步提升市级业务管理监控水平。

3)站点降雨量级告警信息。系统后台自动统计过去3、6和24 h的降水量,当累积降水量达到设置的降水阈值时,产生相应的雨量量级告警信息。这些信息很直观反映了站点区域周边的降水实况,为业务值班人员在预警发布和防灾减灾工作提供重要的数据参考。

4)百度地图页面显示。该系统前端采用Bootstrap框架结合百度地图根据站点经纬度叠加显示区域站告警信息出现的具体位置,并通过地图定位标注功能和鼠标点击事件可以更直观掌握各区域站点出现告警信息的具体内容。要在页面显示百度地图,须在"<head></head>"标签内引入百度地图应用接口地址:"http://api.map.baidu.com/api?v=3.0&ak=密钥"并添加"<div></div>"标签容器用于创建地图实例。

百度地图实例创建之后,通过城市地名以覆盖物的形式设置市级行政边界,同时运用jQuery异步技术请求后端JSON数据生成告警信息在行政边界内叠加显示,并利用Javascript原生技术设计定时器结合AJAX技术实现页面数据局部更新,从而构建出界面友好、美观和简洁的交互系统。百度地图显示告警信息核心代码如下:

5)百度语音播报告警信息。百度语音是百度公司面向网络服务而开发关于文字合成语音的一项数字信号转换技术。该系统最终将生成的告警信息自动加入表1所示的参数列表“text”队列中按顺序进行播报,通过调整适当的语速,可以非常方便起到自动提醒作用,其主要目的就是引起保障人员的重视。

6)业务监控应用。在实际工作中,市级业务管理员可以利用该系统实时捕获到具体站点的告警信息如图2所示,实现茂名市、县2级的区域自动气象站监控管理,响应市级职能;县级保障人员根据告警信息,第一时间响应处理,完成县级职能。该系统为市县业务人员协同提高基层气象服务水平提供一定的技术支撑。

图2 茂名区域站告警信息监控效果

3 系统WebService应用扩展

WebService是一种跨编程语言和跨操作系统平台的远程调用技术,使用XML语言描述的应用平台。按该系统2.2节封装的AreaStation类搭建WebService应用平台,利用该类与转换工具类(SoapDiscovery类)绑定自动生成以AreaStation类命名的wsdl文件(AreaStation.wsdl)。wsdl是基于XML语言编写的,是WebService客户端和服务器端相互通讯的标准格式,是客户端访问服务器的“桥梁”。wsdl本质是使用XML解析AreaStation类及其函数、参数和返回值,并在服务器端提供Web服务地址供客户端调用,为开发人员利用该系统的数据接口进行二次开发提供便利。

茂名区域站监控系统基于百度应用接口设计,引用百度地图和百度语音辅助决策,采用AJAX和JSON进行数据交互,降低页面数据的重复加载,为用户带来更好的体验,利用Redis缓存技术,提高页面访问速度,减轻服务器压力,通过设置自动提醒界面有助于更好实时监控告警信息,有效避免了人工监控造成的错漏。

该系统架构层次分明,运行稳定,可维护性、移植性高,无须变更基础架构,只需更改少量参数,即可完成广东任何城市的本地化扩展应用。实践证明,自开发完成以来,区域站出现的疑误、缺测、下线等告警可以及时发现,并快速响应解决,对提升区域自动气象站的监控水平发挥着重要的作用,为市、县二级管理人员和保障人员提供一个很好的监控系统。

猜你喜欢

页面百度站点
刷新生活的页面
Robust adaptive UKF based on SVR for inertial based integrated navigation
基于Web站点的SQL注入分析与防范
2017~2018年冬季西北地区某站点流感流行特征分析
百度年度热搜榜
首届欧洲自行车共享站点协商会召开
怕被人认出
百度医生
百度“放卫星”,有没有可能?
Web安全问答(3)