APP下载

一种气象数据共享接口系统的设计与实现

2021-04-13尹常红胡雅超袁文波涂明

电脑知识与技术 2021年5期
关键词:数据共享

尹常红 胡雅超 袁文波 涂明

摘要:随着气象部门与各行业部门间合作逐渐深入,气象信息对外服务越来越普遍,各行业部门对精细化气象服务提出了更高要求。在对当前气象数据共享服务需求分析基础上,基于数据库相关技术,设计一种通用气象数据共享接口系统,实现气象部门与各行业部门数据共享共用。系统接口设计灵活,使用便捷,为推进部门合作和信息共享具有一定意义。

关键词:气象数据;行业数据;数据共享;接口系统

1 引言

随着科技进步和经济社会发展,社会公众和各行业部门对气象服务的需求日益凸显。气象信息对外服务越来越普遍,大量的气象数据被挖掘和分析,服务于社会。气象服务领域遍布交通、农业、能化、旅游、水利、环保、物流等各行业,气象服务业开放程度和市场化进程日益深化,社会用户及公众对服务数据种类、数据服务手段和数据服务的多形式化表现的要求越来越高,可预见的未来还会更高,对气象服务的需求度还会随着预报技术的发展同步增长。

气象数据的共享服务是气象业务和气象科研的重要工作,近年來国家和省级气象部门都开展了一些相关的气象数据共享和信息应用的研究工作,其中中国气象局主导建设的全国综合气象信息共享平台(CIMISS)建成了气象系统内标准统一应用规范的基础气象数据库,CIMISS包括实时观测数据、历史数据和业务产品等14 大类,初步实现了各类气象数据的统一规划、分布存储和共享共用。CIMISS在一定程度上解决了气象数据共享应用,尤其是行业内部应用的问题,但是在行业共享应用还有待进一步深入。

以武汉为例,随着气象与水务、环保、农业、交管、综治等各行业间合作的加强,气象数据加工存储与行业间共享需求日益增长。在气象数据应用服务中,对于海量数据存储、高速数据交换以及并发访问、多样性数据处理、数据挖掘应用等需求也需要进一步研究解决,气象业务服务发展急需基础数据资源环境的可靠支撑。为了实现武汉市气象部门与外部门的数据应用共享,建立了气象数据中心,数据中心采集各类气象数据和部分其他部门数据,基于该数据中心,武汉国家基本气象观测站开发了一套气象数据共享接口应用系统,充分利用已有数据环境和业务成果,推动气象与行业数据互联互通、共享共用、高效利用。

2.系统设计概述

2.1设计原则

在系统设计中,遵循以下原则。

可扩展性原则:系统具备性能的可扩展性,当系统数据量和访问量增大,系统服务能力不能满足性能要求时,支持通过平台水平扩展增加系统的业务处理能力。同时功能、模块支持外部可配置,以适应不同的应用环境,通过配置实现软件的安装和升级过程。

安全性原则:支持授权和身份认证,确保授权和身份认证有效性。在认证方式中,需要支持加密的用户名/密码认证,可以查看重置密码历史。支持数据安全性,在不同系统之间的数据传输,能够保证数据在传输过程中接收与发送的一致性,以及数据交换的准确性和及时性。

规范性原则:数据共享接口系统的设计中,必须严格遵循软件工程规范化原则,在不同的设计阶段都需要进行相应的设计评审,结合评审意见完成相关的设计文档,将规范化的管理和控制贯穿整个设计过程。在系统开发中,需要遵循业务技术规范,气象数据字段定义必须与CIMISS一致,其他行业数据依照行业标准。

可维护性原则:系统支持对运维平台所有模块进行管理,能够主动识别所有模块的软件版本、部署主机,能够实时监测各模块的关键进程运行状态。同时对于涉及系统运行的相关参数的配置和修改,开发方便直观的人机交互界面,便于用户操作。系统出现异常中断时,重新启动方便快捷。

2.2系统总体架构

气象数据共享接口系统开发和实现满足了武汉市行业部门与气象部门数据交换需求,系统设计为四层结构:自下而上依次为数据存储层、数据访问层、业务逻辑层、数据表示层,系统总体架构见图1。

数据存储层:该结构层主要对武汉全市气象部门的各种气象观测数据和由各业务单位制作的服务产品以及其他业务系统生成的数据信息进行存储,作为基础数据支撑,提供数据共享接口系统对外共享的数据来源,同时存储系统运行参数和用户权限等系统数据。

数据访问层:该结构层主要实现对各类数据进行分类操作,作为承上启下的功能层,访问层设计开发了一些视图、存储过程以及数据调用方法等,便于协同开发和共享调用。同时在该层中还对部分中间过程编译为DLL文件进行加密存储,提高应用安全。

业务逻辑层:该结构层主要使用访问层中预先开发保存的数据操作方法、视图、过程等,同时对基础数据根据既定规则进行相关组合并用,然后以更加抽象和直观的方式将处理之后的数据结果推送至最上层即数据表示层。

数据表示层:该结构层主要进行数据的可视化展示,提供Web服务,数据表示层同时也定义用户可见信息和内容,包括各类气象监测数据和预报服务产品,系统运行中的告警信息和数据访问的统计信息等。

2.3系统运行环境

武汉市气象数据共享接口管理系统为B/S架构,后台采用C#语言开发,前端采用html5语言实现,前后端完全分离。数据库系统为Oracle 11g,数据库服务器运行Linux操作系统,前端应用服务器运行Windows Server 2016操作系统。数据采集和处理使用Windows服务,随着系统启动自动开启采集和数据处理服务。

3 系统设计与实现

3.1接口技术

武汉市气象数据共享接口管理系统设计功能较多,本文只讨论数据接口部分的设计思路和相关技术。系统设计在数据接口中引入了Web Service技术,通过构建Web Service,其他行业部门能方便地获取气象数据,数据主要以JSON格式返回。

3.1.1 Web Services

Web Services通过相关的系列标准协议提供数据服务,支持网络中不同主机之间的交互,保证不同平台上应用服务的互操作性。此外Web Service可以独立于开发平台以完整的形式描述所有的信息数据,解决传统情况下两个平台之间数据共享时的再集成问题。在本系统开发中采用Web Service技术,实现不同实现平台和软件之间的数据通信,在API和WEB服务和开发中发挥作用。

3.1.2 JSON數据交换

在网络上传输数据时最常用的格式有两种:XML和JSON。XML作为一种数据信息标记语言,在对数据信息进行标记时具有结构化的特点。相比于XML,JSON则是一种更加轻量级的数据交换格式,可读性好,易于快速编写,可在不同平台之间兼容性较高,进行数据交换时可以完全独立于语言文本格式。JSON数据格式简单,体积小,占用带宽小,易于解析,易于维护。基于以上优势,本系统在设计中选择JSON作为数据交换格式。

3.1.3 ODBC数据库接口

ODBC技术为异质数据库的访问提供了统一的数据接口。ODBC提供了让应用程序仅仅通过一组通用代码就能访问不同的DBMS,通过ODBC驱动程序动态链接库,将特定的开放式数据库连接的数据源和另一个应用程序相连接。本系统在开发中通过ORACLE数据库与现有系统完成良好对接,采集程序通过CIMISS、水务局提供的数据接口采集数据入库,而数据查询功能和其他业务系统(如气象水务数据共享平台)能够方便地调用数据。系统Web服务对数据的访问均通过ODBC进行数据连接。

3.1.4 Quartz.net技术

系统通过Quartz实现数据的定时采集,加工处理。Quartz是一个作业调度系统,可以与任何其他软件系统集成或一起使用,负责在执行预处理程序时执行(或通知)其他软件组件确定(调度)时间到达。Quartz非常灵活,可以单独使用或一起使用,组件使用轻便,设置/配置较少,可以“开箱即用”,且容错性好,可以在保留(记住)预定作业。

3.1.5 缓存技术

系统设计中使用的缓存技术包括客户端缓存和服务器缓存。客户端缓存主要是缓存较大数据,避免与服务器反复交互增加带宽消耗,主要包括卫星云图和雷达产品的本地缓存。服务器缓存主要是缓存经常需要调用的数据,包括整点实况、智能网格预报、短临预报等,避免反复读取数据,增加服务器性能的消耗。当用户请求数据访问时,系统将优先与速度更快的缓存进行交互,命中缓存后可以极大提升相应时效和用户体验。

3.2数据接口设计

3.2.1系统数据库设计

系统数据库设计主要包括数据库管理功能、数据库访问功能、数据库存储结构设计、数据信息流程设计、数据库接口设计、系统安全设计等。设计中采用了相关的数据库管理技术,使用了灵活的库表结构设计,实现对行业和气象数据有针对性的加工存储以及对共享接口系统的特定信息的管理等功能。数据库表设计围绕和服务于数据共享接口,主要包括:逐小时数据、逐日数据、接口管理、接口调用数据、系统管理等。数据信息流程设计如图2。

3.2.2数据表结构

根据数据库存储数据的要求,系统设计了系列数据表,主要包括业务数据类,用户管理类和系统功能类。比如业务数据类建立了整点数据表、逐日数据表、预报服务产品表等,用户管理类建立了服务用户表、系统用户表、角色表、角色权限表、用户角色表等,系统功能类建立了接口表、接口权限表、功能权限表、告警阈值表等。业务类数据表的字段定义与CIMISS数据表一致,具有规范性。

本系统的设计中,与接口相关的数据表主要有对外服务用户表(t_UserJk)、用户接口权限表(t_UserJK)、接口表(t_JK)等。对外服务用户表(t_UserJk)用于存储对外服务的用户信息,如武汉水务局,综合治理办公室等;接口表(t_JK)主要用于对几口的基本信息进行管理;用户接口权限表(t_UserJK)则存储对外接口用户能够调取接口的相关权限信息。相关表结构见表1。

3.3 接口调用实例

接口管理系统设计了较为完整和灵活的配置功能,在接口管理业务系统中配置好用户信息、用户接口权限等,通过接口地址获取所需要的气象数据,以JSON格式返回。

例如,配置好综治办用户的接口账户信息、接口权限信息以及相关的数据信息,如图3所示,访问接口地址返回所需数据。比如综治办用户需要通过数据接口方式查看2020年12月1日22时武汉市部分区域自带气象站观测到的小时降水、气温、风向风速等历史数据,接口格式为:http://IP:8001/jk/hour.ashx?ywtype=getHourSkInfo&loginName=用户名&pwd=密码&time=时间。

图4为浏览器访问的历史观测数据的返回信息,返回信息包括站名(STATIONNAME)、站号(STATIONNUM)、区县(COUNTY)、经纬度(LONGITUDE、LATITUDE)、小时降水量(PRE_1H)、气温(TEM)、十分钟平均风向(WIN_D_AVG_10MI)、十分钟平均风速(WIN_S_AVG_10MI)等。

再如水务局用户根据数据访问需求和数据访问权限,需要获取武汉市全市区域自动气象站最新的整点实时降水量,在系统管理后台配置后,可以通过接口方式返回JSON格式数据,返回数据要素包括站名、站号、区域、经纬度和小时降水量等,见图5。

4 结束语

在数据融合与共享的大环境下,气象部门与其他行业部门交换共享的数据日益增多,相关的系统建设和技术开发也百花齐放。本文提出的气象数据共享接口系统的设计思路能够在相关业务开发中参考和借鉴。建设气象数据共享接口系统,在气象部门与其他行业部门之间开启了便捷的数据通道,能够显著提高数据交换的及时性和数据使用的完整性,为推进部门合作信息共享提供稳定高效的数据环境,为大城市开展精细化气象服务和跨学科科学研究提供有力的数据支撑。

参考文献:

[1] 熊安元,赵芳,王颖,等.全国综合气象信息共享系统的设计与实现[J].应用气象学报,2015,26(4):500-512.

[2] 李新庆,陈海波,杨有林,等.宁夏综合气象信息共享与管理系统设计研究[J].计算机技术与发展,2019,29(5):135-141.

[3] 陈蓓青,谭德宝,田雪冬,等.大数据技术在水利行业中的应用探讨[J].长江科学院院报,2016,33(11):59-62.

[4] 何林,邓凤东,李亚丽,等. 陕西省气象数据共享系统[J].陕西气象,2017(6):32-35.

【通联编辑:梁书】

猜你喜欢

数据共享
浅谈天津气象信息化发展现状和发展趋势
网络时代电子文件和档案管理的探索
高校一表通系统建设探究