地面气象资料数据访问接口设计与实现
2017-08-02闫荞荞
闫荞荞,刘 莹,刘 雯,严 婧
(湖北省气象信息与技术保障中心,湖北 武汉 430074)
地面气象资料数据访问接口设计与实现
闫荞荞,刘 莹,刘 雯,严 婧
(湖北省气象信息与技术保障中心,湖北 武汉 430074)
针对用户对高质量、高时效气象数据服务的需求,在对气象资料服务现状剖析的基础上,基于MDOS数据库设计实现了地面气象资料数据访问接口。在提高数据服务效率的同时可屏蔽底层数据结构变化对用户应用的影响,保证数据服务的规范性、稳定性和安全性。
数据访问接口;地面气象资料;数据同步;MDOS
0 引言
资料服务是气象资料业务的落脚点,为用户提供高时效、高质量的数据服务是其核心。传统的数据服务方式主要有:(1)经资料主管部门批准,资料服务单位将报文数据直接通过FTP定时推送至使用单位,数据质量较低;(2)资料使用者向资料主管部门提出申请,获批后资料服务单位制作数据集后再提供给用户,质量有保证但时效较差。这种粗放式和点对点的数据服务模式,一方面不利于资源的高效利用和集约化管理,增加用户管理数据负担的同时资料管理部门在数据服务上存在重复劳动;另一方面,时间上的滞后越来越不能满足用户对数据时效的需求,数据被订正后也很难保证不同数据副本间的一致性。
为解决传统数据服务存在的问题,提高气象资料业务对其他气象业务的支撑能力,本文基于气象资料业务系统(Meteorological Data Operational System, MDOS)设计实现了地面气象资料数据访问接口,旨在基于MDOS质控和处理后的数据,为部门内用户提供高质量的数据服务。为避免数据服务对MDOS实时业务产生影响,利用SQL Server数据复制技术建立专门用于数据服务的共享数据库,基于共享数据库建立数据访问接口;为便于监控用户的数据访问行为,保证数据访问安全,设计了基于角色和审计信息的数据访问控制策略。最后,介绍了数据访问接口的使用方式。
1 地面气象资料介绍
地面观测是气象观测的重要组成部分,是对地球表面一定范围内的气象状况及其变化进行系统、连续的观察和测定,为天气预报、气象情报、气候分析、科学研究和气象服务提供重要的依据[1]。地面气象资料按时间尺度可分为分钟、小时、日、旬、候、月、年值等资料;按测站类别可分为国家站、区站站、辐射站等资料;按产生方式可分为观测资料和统计值等;按资料所代表的状态可分为瞬时值、平均值、极端值、总量值及频率值等。数据访问接口在综合考虑各种分类方式的基础上结合业务需求确定。
2 MDOS数据库概述
MDOS数据库管理系统使用Microsoft SQL Server 2008 R2[2]数据库管理软件,由原始库、应用库和元数据库组成。其中,原始库用于存储台站上传的地面观测数据及其他子系统运行所需的信息;应用库用于存储各类面向应用的质控后数据和统计值,各统计值实时滚动更新;元数据库存储台站基本参数、历史沿革等信息。为保障实时业务运行效率,原始库仅存储资料业务需求时间域内的观测资料及系统运行产生的中间过程信息,而应用库中的数据长期在线保存。因此,为保证数据服务的持续性,将MDOS应用库作为数据访问接口设计的底层数据源。
3 系统体系结构设计
地面气象资料数据访问接口设计的目的是为用户提供高时效、高质量数据服务的同时降低底层数据结构变化对用户应用的影响。MDOS作为省级数据处理人员的核心工作平台,为保证服务数据的质量,接口基于MDOS实现是最优选择,但MDOS作为实时业务系统,其运行效率至关重要。为避免数据服务对MDOS的系统性能产生影响,采用图1所示体系结构,虽将MDOS应用库当作基础数据源,但又不让其直接参与数据服务。
图1 数据访问接口体系结构
(1)物理层:保障系统运行的资源池,包含地面气象观测设备、通信网络、应用服务器和数据服务器等硬件设备。
(2)数据层:分两层实现,底层为MDOS应用库,上层为共享数据库,共享数据库基于MDOS应用库建立,将数据服务与MDOS业务系统隔离,避免对实时业务造成影响。
(3)接口层:数据访问接口的集合,包括观测数据接口和数据变更信息接口两大类,基于共享数据库建立。
(4)应用层:数据访问接口的应用模式集合,用户可通过数据库管理系统客户端、应用程序及共享门户网站等使用接口。
(5)访问控制层:数据安全策略集合,基于用户角色实现数据访问权限控制,并建立审计信息对用户访问记录进行监控。
4 系统设计与实现
4.1 利用数据复制技术建立共享数据库
SQL Server数据复制技术[3]可在数据库间对数据表、存储过程等数据库对象进行复制并保证其一致性,采用发布-分发-订阅模式实现。为降低数据共享服务对MDOS实时业务运行效率的影响,保证系统运行的稳定性,利用数据复制技术建立专门的共享数据库,将数据服务与实时业务隔离,同时为业务服务器配置备份服务器,防止系统故障时产生数据丢失影响业务运行。实现过程及其物理布局如图2所示,业务服务器即为部署MDOS系统的服务器,备份服务器主要用于MDOS数据库备份,共享数据库部署在共享服务器,是数据服务的直接数据源,数据访问接口建立在共享数据库之上。
图2 共享数据库建立过程及物理布局
在数据同步流程中,MDOS应用库作为要复制的数据源而充当发布数据库,共享数据库因需要从MDOS应用库接收数据即为订阅服务库。为节省资源,未设置独立的分发数据库,而是让MDOS应用库作为发布数据库的同时担任分发数据库的角色。同步过程主要分为2个步骤:(1)创建数据快照,快照代理进程建立包含MDOS应用库架构、数据库对象和数据的快照文件,存储于业务服务器;(2)使用数据快照:分发代理进程将数据快照文件从业务服务器移动到共享服务器,并应用复制所需的脚本、架构和数据。同步流程建立后,MDOS应用库数据发生变更时共享数据库会同步更新。
4.2 利用存储过程实现数据访问接口
数据访问接口使用存储过程[4-5]实现,存储过程具有执行效率高、可重用、可维护、高安全等优点,且可通过调用系统存储过程对可用户数据访问行为进行记载。
(1)接口定义:由接口名称、参数列表、接口主体、返回值等部分构成,如图3所示。接口名称以pro开头,由可表述接口功能的英文单词或其缩写组成;接口参数间以逗号分隔,参数个数可根据需求动态确定;接口主体实现用户数据访问权限判识、请求数据获取和访问行为登记等功能;接口返回值为TABLE定义的数据集。
图3 数据访问接口框架定义
(2)接口实现:根据业务需求共设计实现了23个接口,各接口的参数列表设置基本一致,由站点信息、开始时间、结束时间及要素信息等组成。站点信息和要素信息均提供完整的码表供用户使用,用户可结合具体需求及权限从码表中找到参数的可赋值范围,获取对应数据。
4.3 基于角色和审计的数据访问控制
访问控制[6]是保证数据安全的基本手段,基于角色的访问控制模型通过角色的概念来简化授权和访问控制过程并提升访问控制的灵活性,能适应业务策略和人员的变化。根据用户的申请,对用户资格认证后,设定用户的访问级别,并为其分配诸如“用户名-密码”等的身份验证信息。有访问需求时,用户提供身份验证信息,通过验证后即可访问其权限范围内的数据资源。
根据气象资料管理办法规定,部门内用户按部门取得数据的基本访问权限,即部门对所辖范围内气象台站的观测数据自带访问权,故基于角色的数据访问权限控制的实现用部门界定用户角色,分为省级和地市两大类。先设置用户角色表,根据用户的数据访问申请对其进行动态维护,再关联台站信息表确定用户对台站的数据访问权限。同时为避免异常数据访问行为对数据服务造成冲击,设置用户访问审计表,记录用户名、访问时间、IP地址、访问数据等信息,实现数据服务的实时监控。
4.4 数据访问接口的应用模型
申请数据访问权限后,用户可根据实际情况通过多种方式调用数据访问接口,常用的有:
(1)通过数据库软件调用:该方式可快速获取数据,但需要用户安装数据库客户端访问工具,手动进行数据转储,适用于临时或短期数据访问。
(2)通过程序调用:利用Fortran/C/JAVA/C++等高级程序设计语言进行二次开发,用户可根据具体需求对获取数据的时间、频次、输出格式等进行灵活设定,适用于流程化或长期的数据访问。
5 结论
本文基于MDOS应用库设计了一套地面气象资料数据访问接口,借助该接口可屏蔽底层数据结构变化对用户应用的影响,降低数据环境和外部业务应用之间的耦合度,保证了数据使用的规范性、稳定性和安全性。后期须根据MDOS业务的扩充不断完善和丰富接口种类,保证数据服务的持续性发展。在接口应用方面,可借助业务内网提供数据下载服务。
[1] 中国气象局.地面气象观测规范[M].北京:气象出版社,2003.
[2] 徐照兴.SQL Server数据库中DML触发器的教学探讨[J]. 微型机与应用, 2014,33(23):29-31.
[3] 闫波,韩秀卓.数据复制技术在灾备系统中的研究与应用[J].计算机技术与发展,2007,19(9):123-132.
[4] 孙娜,曹君.存储过程的数据库安全性应用研究[J].计算机与数字工程, 2009, 37(3):154-156.
[5] 丁革媛,宋扬,袁中臣,等.利用SQL Server存储过程提高在线考试系统的性能[J].微型机与应用,2011,30(22):7-9.
[6] 邓莉,王伯民,李庆祥,等.数据访问控制在气象信息服务平台中的应用[J].计算机工程, 2011(s1):139-141.
Design and implementation of data access interfaces for surface meteorological data
Yan Qiaoqiao, Liu Ying, Liu Wen, Yan Jing
(Hubei Meteorological Information and Technology Support Center, Wuhan 430074, China)
According to the user requirements of high quality, high efficiency of meteorological data services, data access interfaces for surface meteorological data are designed and implemented based on Meteorological Data Operational System (MDOS) by analyzing the present situation of meteorological data service. The interfaces can improve the efficiency of data services and shield the influence of the change of the underlying data structure to the user application, and ensure the standardization, stability and security of data services.
data access interfaces; surface meteorological data; data synchronization; MDOS
TP391
A
10.19358/j.issn.1674- 7720.2017.14.007
闫荞荞,刘莹,刘雯,等.地面气象资料数据访问接口设计与实现[J].微型机与应用,2017,36(14):20-22.
2016-12-26)
闫荞荞(1986-),女,硕士,工程师,主要研究方向:气象资料加工处理。
刘莹(1982-),女,硕士,高级工程师,主要研究方向:气象资料加工处理。
刘雯(1986-),女,硕士,工程师,主要研究方向:气象资料加工处理。