基于天擎的非编程用户气象数据接口访问实现方法

2022-09-13 16:10王旭东
甘肃科技 2022年10期
关键词:客户端气象资料

王旭东,徐 娟,张 鸿

(甘肃省气象信息与技术装备保障中心,甘肃 兰州 730020)

2016年底,由国家气象信息中心牵头组织实施构建的全国综合气象信息共享平台(CIMISS)正式通过业务化运行,标志着以全国综合气象信息共享平台为核心的国省统一数据环境正式建立[1],初步形成了具有标准、统一特性的支撑气象核心业务系统的数据生态[2]。自全国综合气象信息共享平台业务化运行以来,该平台承载着国内气象通信业务,实现了国家级、省级、市级、县级这四级气象数据之间的数据收集与交换、质量控制与产品生成、存储管理,同时还承担着共享服务与业务监控的任务[3]。气象数据统一服务接口(Meteorological Unified Service Interface Community,MUSIC)为气象业务、气象产品研发以及相关科研人员提供全国统一、标准、丰富的数据访问服务,与此同时,还提供了应用编程接口(API),用户可以通过业务系统输入访问参数并嵌入各数据服务接口或者是通过调用数据服务脚本命令的方式获取全国综合气象信息共享平台存储中的气象数据和产品[4]。随着信息技术的发展和气象现代化建设进程的加快,以“x86+Oracle+盘阵”为主的传统信息技术构建,在规模、性能和应用服务的针对性方面显得能力不足[5]。面对气象观测产生的海量数据存储方面还有一定困难,对于如何满足气象数据的高速交换、并发访问、多样性数据处理、数据挖掘应用等方面依然存在着很大的缺陷,如何降低该方面的性能缺陷亟待解决[6],2020年气象大数据云平台(简称“天擎”)在全国范围完成建设,“天擎”全面提升了CIMISS的能力,但其气象数据接口访问也基本保留了CIMISS数据服务接口的功能[7]。

1 天擎简介

天擎是在气象业务“云+端”新技术机制背景下的核心基础软件技术平台,该平台可以促进业务系统“云化”,形成“云+端”业务新模式格局,同时可以为气象部门的气象业务提供最完备、最权威地球系统及相关行业数据的气象大数据管理平台,天擎的投入使用,彻底改变了目前业务中存在的“小、低、散”低水平重复建设现状,消除了“数据孤岛”,对现有资源的整合、业务流程的再造起到积极作用,充分发挥数据聚集规模效应,实现业务集约化后高效、高质量发展的关键。

天擎充分应用了新一代信息技术,其中包括云计算、大数据、移动互联、人工智能等。该平台按照统一规划、统一设计、统一标准、统一建设的原则,根据先建设后改变的策略,建成在用户需求方面能够满足,技术方面具有一定的先进性,功能相对完善的气象大数据云平台,能够支持高并发、高性能、高扩展的“数算一体”气象大数据云平台,实现对气象业务所需的地球系统和相关行业数据的统一收集、处理、融合、存储和共享,实现气象业务算法、业务功能共建共享便捷装配、灵活快速组合应用,解决了“云+端”新机制下的气象业务新模式,解决业务系统需自建单独的、重复的数据库管理系统的业务顽疾。实现了技术融合、数据融合、业务融合方面有了新突破,促进了气象观测、预报、服务、管理业务的高效协同与高质量发展。

2 服务接口系统概述及服务方式

气象数据统一服务接口,基于气象大数据云平台,主要是面向气象业务和气象相关科研人员提供全国数据统一、格式结构标准、内容服务内容丰富的数据访问服务以及应用可编程的接口(API),为国家级、省部级、地市级、县区四级应用系统提供唯一权威的数据接入服务[8]。气象数据统一服务接口管理平台是为系统管理员或者气象数据工作人员设计开发的,旨在为管理员用户提供快速方便配置管理数据服务接口的工具,有效的简化数据接口配置管理工作,提高工作效率。

2.1 服务接口系统概述

气象数据统一服务接口管理平台的管理菜单包含了基本信息管理、数据库定义、通用接口、访问接口、气象资料、气象要素、模式信息、数据实体、流域信息、用户管理、服务配置、数据写入审核、数据同步、省际备份切换、监视统计、文档配置管理、网关配置管理、众创接口等。其特点是能够提供多样的服务方式,拥有强大的服务功能,可以跨平台、多语言地开发支撑能力,极度精简、稳定不变的客户端,多种选择的返回格式,支持异构、不同存储技术的多源数据库,可配置、针对业务的访问接口。

2.2 服务接口功能

省级天擎接口提供包括地面、高空、大气成分、辐射、农气、数值预报、雷达、卫星等在内的14个大类200余种资料的访问服务,天擎MUSIC可实现文件级气象资料的查询、下载,站点类资料的保存、查询和统计,气象格点资料的裁剪、解析和下载保存等功能,这基本满足了非开发用户对气象数据的访问需求。对于开发人员,接口还提供了文件产品、站点资料以及格点要素的数据回写功能,并且天擎接口新的服务功能仍在发展中。

2.3 服务接口服务方式

天擎MUSIC提供包括客户端调用、REST服务和脚本服务等多种服务方式,以数值预报为例,该平台不但能够满足大数据量数据的高效传输和获取,并且为前台交互应用提供便捷的编程体验,而且还能为广大气象科研人员提供非编程模式下的数据获取服务。天擎平台下的MUSIC支持跨平台多语言开发,客户端调用服务和脚本服务支持包括Windows、Linux等主流操作系统,并且MUSIC提供包括C#、Java、C/C++、Fortran、Python 等语言的软件开发工具包。天擎接口调用的数据返回格式亦是十分丰富,支持序列化字符串、数据文件和内存对象等。天擎MUSIC提供了多样的调用方法,其中包含9个标准的调用方法,用户可以灵活选择合适的接口、资料类别和返回格式,灵活获取所需的气象数据,具有很强的应用性。

2.4 访问接口分类

在服务接口管理平台的列表中,主要罗列了访问接口分类的相关信息,包括(序号、接口分类ID、接口分类名称、描述),用户可进行增加、删除、修改、查询等操作。目前,访问接口分为14个大类:地面资料接口、高空资料接口、海洋资料接口、辐射资料接口、农气资料接口、数值模式接口、大气成分接口、历史代用接口、气象灾害接口、雷达资料接口、卫星资料接口、科考资料接口、服务产品接口和其他资料接口。

2.5 应用接入流程

(1)用户根据自己应用所需的资料,找见应用所要实现的功能,然后在接口网站[资源共享]目录下的[数据]栏目中查找资料。打开[资源共享]菜单栏的[接口]目录,查看可调用该资料的接口清单。选择自己擅长的接口,进入接口的详细说明页面,查看所需资料是否存在或者存在的资料是否满足需求,如果符合条件进入第二步。在[示例代码]栏中,可以显示获取此类接口所支持的开发模式、开发语言以及不同的返回对象的编程示例,也会有相对应的示例下所对应的结果。根据相关提示,在线申请注册接口账户,经管理员审核通过并激活后方可使用。

(2)用户根据自己的实际情况选择开发模式与语言,该平台当前支持的访问方式有客户端、REST等主要服务方式。以上方式不仅支持JAVA、C#、C++,同时还支持Python等多种语言。这些服务方式各有特色,如果在进行大量数据获取的同时能保持高效的传输性能。例如,数值预报,建议使用客户端方式进行数据调用;如果需要通过编程方式并且与前台进行交互应用,建议选择REST服务方式。

(3)通过应用支撑门户网站下载的SDK与DEMO文件中,SDK主要是支持C/S开发客户端所需的开发包,该包中就包含了数据请求、数据解析以及数据高效传输等必要的功能,进而参考DEMO 程序,从接口调用端选择合适的资料与相应的接口,开发应用程序,就可获得所需要的资料。

3 非编程用户友好的接口访问方式

天擎提供了丰富的气象数据接口访问方式,但是对于只想获取特定时间或时间段气象数据而不想过多考虑操作系统和开发语言的用户,脚本服务作为一种简单便捷的气象数据获取方式优势明显。用户只需登录天擎业务账户,根据自己所申请业务账户的权限,在PC端修改脚本运行环境变量和参数,通过执行相关脚本就可以进行气象数据检索和批量下载任务。

3.1 账户申请

根据天擎的管理要求,用户首先联系省级信息中心天擎管理人员获取并登陆天擎应用门户网站访问界面申请业务账户,接口访问需要开通数据服务接口功能权限,并且用户要牢记申请账户的账户名和密码,以便进行脚本配置。在业务账户审核通过后,用户需要申请接口访问的气象数据资源并进行提交,在管理员审核通过后利用接口访问验证工具进行数据访问验证。

3.2 环境配置

在数据调取的PC端安装1.7版本以上的JRE环境,具体安装步骤可参考相关网络教程,文中不再赘述。添加环境变量后并执行Java -version命令进行版本确认。

3.3 参数配置

下载开发语言为Script的客户端开发包或demo工程包,解压至不带中文字符的本地目录,首先配置client.config中与访问环境有关的music_server、music_port和music_ServiceId参数。

3.3.1 关于clinet的参数配置

3.3.2 关于配置demo.ini中接口资料调用参数

Demo文件为用户开发所使用接口时的示范工程项目内容,demo工程项目内容中就已经包含了客户端、REST等常见的开发模式。用户应当结合自己所使用的开发语言获取与之相对应的demo示范工程,按照实际的IP和所申请的业务账户执行操作。

关于配置注意的事项:

(1)接口名称。第一个参数接口名称,依据MUSIC接口规范进行接口选择,接口名称需用“[]”括起来。

(2)账户信息。userinfo为用户申请的业务账户信息。

(3)保存格式。dataFormat为要保存的气象数据类型,脚本方式支持TEXT/HTML/XML/JSON/JSONP/CSV格式。

(4)保存路径。文件保存路径支持相对路径,可配置为“savePath=全路径含文件名”或“saveDir=路径”形式,路径中支持正则表达式匹配日期$(YYYYMMDDHHMISS)。

(5)参数配置。时间范围支持times时间点参数和timeRange时间段参数,可包含正则表达式匹配日期及对日期进行减操作;orderby可设置输出内容按照某一或某几项要素进行升序或降序排列,desc为降序,asc为升序。台站级别支持同类不同级别台站同时选择,不同级别台站代码之间用逗号隔开,地面观测站站网代码为01,包括基准站011、基本站012、一般站013、区域站014和其他015;高空气球探空仪探测站站网代码为04,探空站为041,测风站为042;辐射观测站站网代码为11,一级、二级、三级辐射站代码分别为111、112和113;农气站站网代码为12,一级站和二级站代码分别为121和122。

3.4 程序执行

完成参数配置后,进入程序所在目录,Windowns环境下左键双击run.bat,Linux环境下输入sh run.sh便可执行程序。程序执行时会在程序所在的当前目录自动生成apilog日志文件夹记录程序运行日志和异常信息,供用户进行问题排查。

4 结束语

天擎系统存储的气象数据几乎涵盖了气象部门的气象业务所需资源,该平台的投入使用很大程度上改变了气象业务的传统模式,为气象业务人员在数值预报和科研方面带来了极大的便利,但是服务接口方面并未考虑到非编程用户的使用感受,本研究虽然提出了通过简单的脚本访问方式获取所需的气象数据,降低了非编程用户天擎气象数据的获取难度,但是在操作层面上还需要一定的计算机业务常识。如何通过建立可视化界面的客户端进行操作,才能够真正意义上达到友好访问的模式,才能更好地增加用户的体验感,同时也可以更加有效地拓宽气象大数据云平台的受众范围,为气象事业的发展提供数据力量。

猜你喜欢
客户端气象资料
你的手机安装了多少个客户端
你的手机安装了多少个客户端
气象树
《内蒙古气象》征稿简则
Party Time
PAIRS & TWOS
JUST A THOUGHT
如何看待传统媒体新闻客户端的“断舍离”?
大国气象
美丽的气象奇观