APP下载

基于水利云存储技术的天气雷达数据共享服务

2020-05-11文,王

水利信息化 2020年2期
关键词:数据文件云盘记录表

郑 文,王 琳

(水利部信息中心,北京 100053)

0 引言

随着全球气候变化加剧和近年来极端天气事件频发,水旱灾害防御已成为影响国计民生的重要工作。水利气象业务作为水旱灾害防御工作的重要支撑,承担着卫星云图、天气雷达、降水、数值预报等各类气象信息的接收处理及暴雨监测预报等重要任务。长期以来,水利部信息中心与各流域机构、中国气象局通过 FTP 数据传输方式实现水文和气象信息的共享服务。但 FTP 是一种点对点的数据传输方式,存在对网络稳定性要求高,传输效率低,运维成本高,分级管理难度大,单点出现故障时会造成数据积压,应急处置较为困难等问题。

随着互联网经济的发展成熟和大数据时代的到来,海量和多类型数据的存储、分析、容灾、备份,以及统一管理对传统架构产生了很大的冲击。政府对云计算的鼓励使得云存储步入良性发展轨道,云存储在国内受到极大关注,在各个行业得到广泛的使用[1]。随着水利信息化程度的提高,水利信息化建设在信息获取、处理,以及信息数据的存储建设方面取得了较大成果,基于云存储的水利云为水利信息化数据共享提供了海量、安全、低成本、高可靠的云共享解决方案。

国家防汛抗旱指挥系统二期工程(以下简称二期工程)建设的天气雷达应用系统,要求水利部和 7 个流域机构实现 158 部天气雷达数据的实时共享[2],天气雷达探测的数据量巨大,传输时效要求高,原有的 FTP 数据共享方式完全不能满足新要求下的雷达数据共享应用需求,因此应用水利云共享存储平台解决水利部与 7 个流域机构之间天气雷达数据共享的主要方案应势而生。

1 水利云共享存储平台简介

1.1 技术架构

水利云共享存储平台采用分层架构,架构图如图 1 所示。

具体架构包括以下 3 层:

1)数据层。数据层是平台基础,各种高可靠性、高可用性、集群模式的数据库用于逻辑数据的存储,而本地磁盘、网络存储、Hadoop 等分布式存储则用于业务数据的存储。水利云共享存储平台根据用户对数据读写速度、可靠性、存储单元可扩展性的需求及现有资源等灵活选择数据层。

图 1 水利云共享存储平台架构图

2)服务层。服务层处于数据层与表现层中间,起到数据交换中承上启下的作用。水利云共享存储平台采用高可扩展设计思路,使系统能够兼容多种数据库和存储模块,并能根据行业需求快速实现对其他存储方式的支持。服务层采用内存对象缓存系统,提高了数据的访问效率。

3)表现层。表现层提供了丰富的云存储访问机制,包括 Web 页面的云存储、网盘及桌面客户端的操作,提供 SDK 和 API 的访问接口,以及高速服务等。水利云共享存储平台既提供网盘等应用供用户直接使用,又可作为基础存储服务供其他服务与应用程序使用。

通过对云存储服务合理分层,并由数据层提供灵活的数据和存储方式选择,服务层采用内存对象缓存技术,表现层提供丰富的访问机制,实现对天气雷达数据的高效访问。

1.2 技术特点

水利云共享存储平台是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量的各种不同类型的存储通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统,优点在于对于普通用户不必考虑数据存储、备份等问题,只要按需访问获取或者提供数据即可。具体特点如下:

1)数据安全性。在水利信息化建设中,要求建立数据共享体系时应采用数据加密技术进行数据的存储和传输,水利云共享存储平台利用多用户安全与隔离的特性,保证数据及平台的安全性。

2)跨平台传输。水利系统数据上传和下载可以通过目标主流的 Web Service 服务方式进行开发和应用。Web Service 对于在不同系统平台上开发的应用程序之间通信无特殊要求,完全基于 XML (可扩展标记语言)、XSD(XML 架构定义语言)等独立于平台和软件供应商的标准,是可互操作的、分布式应用程序的平台。

3)用户权限管理。在通常免费使用的公共云存储中,没有用户级别及相关使用权限的划分,但在实际应用过程中,不同身份的用户对不同文件及文件夹需要划分不同的使用权限,以满足不同的应用需求。水利云共享存储平台不仅根据不同的用户划分不同权限,而且通过高强度密码等机制保证用户认证授权的安全性,以及通过冗余节点保证用户文件的安全性。用户权限分配如表 1 所示。

表 1 用户级别及权限分配表

2 天气雷达数据共享系统

2.1 天气雷达数据情况

截至 2018 年底,天气雷达数据包括水利部部本级及各流域共计 104 部雷达站的相关数据,其中单部雷达(PUP)产品数据每日处理的文件数量约为15 万个,日数据量约为 2.3 GB,每年需处理的文件数量约为 5 780 万个,年数据总量约为 840 GB;雷达基数据每日需处理的文件数量约为 2 万个,日数据量约为 14 GB;每年需处理的文件数量约为770 万个,年数据总量约为 5 TB;雷达探测数据每日生成的文件数量约为 41 万个,日数据量约为6 GB;每年生成的文件数量约为 1.5 亿个,年数据总量约为 2.2 TB;雷达反演降水产品数据每日生成的文件数量约为 1 500 个,日数据量约为 140 MB;每年生成的文件数量约为 58 万个,年数据总量约为50 GB;GIS 服务产品数据每日生成的文件数量约为21 万个,日数据量约为 18 GB;每年生成的文件数量约为 790 万个,年数据总量约为 6.32 TB。由此可见,需要共享的天气雷达数据从文件数量到数据量都是非常巨大的。

2.2 天气雷达数据共享系统结构

二期工程天气雷达应用系统中,水利部和 7 个流域机构分别通过专线方式从中国气象局和流域气象中心获取天气雷达原始基数据[3]。由于雷达原始基数据包含巨大的信息量,水利部和 7 个流域机构在接收到雷达原始基数据后,需要对原始基数据进行标准化处理,将基数据中与降水有关的数据抽取出来,并按照统一的水利部标准雷达基数据格式进行保存。

根据水旱灾害防御工作中暴雨监视预警和定量估算降水业务的要求,水利部和 7 个流域机构需接收的天气雷达基数据、单部和多部雷达产品(约30 种)、自动气象站观测数据的汇集传输时效要达到1 min 以内。天气雷达数据共享系统通过 Web Service上传接口,实时将标准雷达基数据上传到水利云盘中;同时通过 Web Service 下载接口,从云盘中下载本地需要的标准雷达基数据进行产品处理,满足水旱灾害防御工作对时效性的要求[4],并对共享的标准雷达数据进行统一的管理和维护,保证数据检索的稳定和高效。天气雷达数据共享系统结构图如图2 所示。

2.3 天气雷达数据共享系统功能

天气雷达数据共享系统可将天气雷达数据上传到水利云共享存储平台,从水利云共享存储平台下载天气雷达数据,并对水利云共享存储平台上的数据进行维护,主要有用户登录身份验证、雷达数据共享和水利云共享存储平台数据维护三大功能。

图 2 天气雷达数据共享系统结构图

2.3.1 用户登录身份验证

用户登录身份验证采用用户名加密码方式,可有效防止非本系统或者恶意用户进行非法操作,影响共享系统的正常工作。

2.3.2 雷达数据共享管理

雷达数据共享管理通过水利云共享存储平台,对实时共享的天气雷达数据进行上传、下载和删除等操作的统一管理。

1)数据上传流程。流程如下:

a.读取日志文件记录表。查询记录表中是否有相应的数据文件存在,并查询文件状态。当数据文件不存在时,向文件记录表中增加 1 条文件记录,文件状态为“上传中”,准备上传文件,记录添加成功;记录添加失败或者查询记录已有用户“上传中”,停止上传操作,等待下次查询文件记录表。

b.数据上传,读取本地数据文件,通过水利云共享存储平台中的 Web Services 接口上传数据文件。

c.修改日志记录表。文件上传完毕,修改文件记录表中文件状态为“完成”。如文件上传失败,重复 3 次上传操作流程,上传成功,则修改记录表状态为“完成”;如 3 次上传失败,则删除文件记录表当前文件记录信息,退出上传操作,等待下次启动上传操作。

2)数据文件下载流程。流程如下:

a.读取日志文件记录表。查询文件记录表中是否有相应的数据文件存在,并查询文件状态。当文件存在且状态为“已完成”时,读取文件存放路径,准备下载文件;当未查询到相关数据记录时,记录本地日志文件,退出平台链接,等待下次链接操作。

b.数据下载。当查询到相关数据文件存在且可下载时,通过水利云共享存储平台中的Web Service 接口,以“只读”方式从相应的文件目录中查找文件并下载到本地文件目录。

3)数据文件删除流程。流程如下:

a.查询文件记录表。查询文件记录表中是否有相应的数据文件记录信息,并读取文件存放的云盘路径信息,以及修改此记录状态为“删除中”。

b.删除数据文件。调用水利云共享存储平台删除文件操作接口,执行删除操作。

c.删除文件记录表记录。将文件记录表中相应的文件记录信息删除;将模块操作信息写入本地日志文件,然后退出模块。

2.3.3 水利云共享存储平台数据维护

1)数据一致性维护。当水利云共享存储平台或网络出现故障时,可能出现文件记录表信息和实际云盘文件信息不一致的情况,从而导致一些无效的文件日志记录或者无法访问到的雷达数据长期存放,会使平台数据混乱。

水利云共享存储平台数据维护功能是,对云平台上已有的所有数据文件及文件记录表中的信息进行逐一比对,将没有文件记录信息的数据文件或者没有数据文件的记录信息进行删除操作,从而保证文件记录信息和数据文件一一对应。此功能每天执行 1 次。

数据一致性维护流程如下:

a.读取云盘文件信息。调用 method=getAllFileL istByUid,获取云盘文件信息列表。

b.读取云盘文件信息列表。通过云盘 Web Services接口读取云盘文件信息记录表中的所有记录。

c.比对文件信息和记录表信息。首先比对文件数量和日志记录条数是否一致,不一致时再逐个比对文件和记录。如记录表中没有数据文件,将数据文件进行删除操作(比对不包括正在上传、删除中的记录和对应的文件等信息);如记录表中有相应数据文件的记录信息,将记录信息的标志位更改为1。数据文件比对结束后,将记录表中标志位为 0(没有比对上的)的记录信息进行删除操作。

2)历史数据维护。由于水利云共享存储平台存储空间有限,所以云平台上只保留一定时间内的天气雷达数据,当数据超过有效期限时,需要对历史数据进行删除操作。数据的有效期由运行控制系统进行设定,一般设定为 3 d。

历史数据删除流程如下:

a.读取云盘文件信息列表。通过云盘 Web Services接口读取云盘文件信息记录表中的所有记录。

b.判断文件上传时间。将记录表中的时间字段“upTM”与设定的有效期进行比较,判断是否超时。

c.历史数据删除。对于过期的历史数据,先将文件日志表中对应的记录状态标识设置成“删除中”,然后从云盘中删除文件,再对对应的文件日志记录进行删除操作;对超时的文件和日志记录进行相同操作,直到所有过期数据删除完毕。

3)数据存储维护。数据存储维护功能可方便运维人员对云平台上的数据存储进行管理维护,在运行控制端可查询云平台上数据的存储情况,并对数据进行手动上传和删除操作。

3 结语

利用水利云平台的云存储技术实现巨量雷达数据实时共享与交换的方式方法,对未来海量雷达数据的实时共享和快速交换具有重要参考价值[5]。但目前天气雷达数据的标准化处理全部在水利部部本级服务器上完成,随着需要共享的雷达数据进一步增加,达到设计的 158 部乃至更多时,这种处理方式会给水利部部本级服务器带来巨大的处理压力。今后,需要升级完善水利 PaaS 平台(平台即服务)功能,实现雷达数据的标准化处理在水利云平台上多节点、进程实时完成[6],才能真正做到天气雷达数据高效处理和实时共享与交换。

猜你喜欢

数据文件云盘记录表
一键搬家!轻松实现从百度网盘到阿里云盘的直传
2022.04.21~2022.05.20国外运载火箭发射记录表
2022.1.21~2022.2.20国外运载火箭发射记录表
编辑精选APP
2021.01.21~2021.02.20 国外运载火箭发射记录表
2020.7.21~2020.8.20国外运载火箭发射记录表
基于表空间和数据文件探讨MIS中数据库架构设计
基于网络环境的社区协同办公问题探讨(二)
云端难题巧解决
阿里发布SSD云盘 性能大幅提升