CN115220131A - 气象数据质检方法及系统 - Google Patents
气象数据质检方法及系统 Download PDFInfo
- Publication number
- CN115220131A CN115220131A CN202210718298.4A CN202210718298A CN115220131A CN 115220131 A CN115220131 A CN 115220131A CN 202210718298 A CN202210718298 A CN 202210718298A CN 115220131 A CN115220131 A CN 115220131A
- Authority
- CN
- China
- Prior art keywords
- data
- checking
- operators
- meteorological data
- meteorological
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01W—METEOROLOGY
- G01W1/00—Meteorology
- G01W1/02—Instruments for indicating weather conditions by measuring two or more variables, e.g. humidity, pressure, temperature, cloud cover or wind speed
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01W—METEOROLOGY
- G01W1/00—Meteorology
- G01W1/10—Devices for predicting weather conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Abstract
提供一种气象数据质检方法及系统。该方法方包括:在流处理引擎中执行内容校验程序,所述内容校验程序包括:获取指定类型的气象数据以及对应的一个或以上的内容校验规则;基于一个或以上的内容校验规则获取一个或以上的数据校验算子和每个数据校验算子的优先级;按照优先级排序调用一个或以上的数据校验算子;汇总并输出一个或多个数据校验算子的执行结果。本公开上述实施例利用流处理引擎将校验程序发布在流处理引擎中运行,以便气象数据作为数据量直接进行计算,减去中间的数据库等环节,从而加快计算的时效性和降低存储成本。
Description
技术领域
本公开涉及计算机数据处理领域,尤其涉及一种气象数据质检方法及系统。
背景技术
气象数据主要包括由国内各地气象中心和国外气象合作单位提供的气象观测数据和气象预报数据。相关公司可以向国家气象局订阅或购买气象数据并基于气象数据提供商业化的气象服务。近年来已经有公司将人工智能技术运用到天气服务领域,利用在深度学习、计算机视觉和地理空间分析等方面的技术积累,将气象观测数据、气象预报算法和人工智能技术充分融合,以产生高精度网格的天气预报数据。
但发明人在项目运行的过程中发现原始的气象数据本身存在较多的质量问题,有必要对其进行数据层面的质量检测和控制,但数据层面的质量检测和控制对气象服务的时效性造成负面影响。
发明内容
有鉴于此,本公开旨在提供一种气象数据质检方法及系统、装置、计算设备和计算机可读介质,以解决上述问题。
根据本公开的第一方面,提供一种基于流处理引擎实现的气象数据质检方法,包括:在所述流处理引擎中执行内容校验程序,所述内容校验程序包括:
获取指定类型的气象数据;
获取与所述指定类型的气象数据对应的一个或以上的内容校验规则;
基于所述一个或以上的内容校验规则获取预定义的一个或以上的数据校验算子及每个数据校验算子的优先级;
按照优先级排序调用所述一个或以上的数据校验算子,所述一个或以上的数据校验算子用于根据对应的内容校验规则校验所述气象数据文件;
汇总并输出所述一个或多个数据校验算子的执行结果。
在一些实施例中,所述获取指定类型的气象数据包括:
从指定消息队列获取气象数据更新事件;以及
根据所述气象数据更新事件下载所述指定类型的气象数据文件。
在一些实施例中,还包括:将气象数据中不同分辨率下的气象要素值转换到同一分辨率下。
在一些实施例中,所述一个或以上的内容校验规则包括以下规则中的至少一种:界限值检查、极值检查、气象要素相关一致性检查、空间相关性检查、时间序列检查,则所述一个或以上的数据校验算子包括以下算子中的至少一个算子:界限值检查算子、极值检查算子、气象要素一致性检查算子、空间相关性检查算子和时间序列检查算子。
在一些实施例中,还包括:在所述流处理引擎中执行文件超时监测程序,所述文件超时监测程序包括:
获取时间监测规则,所述时间监测规则指示多种类型的气象数据的更新时间;
基于所述时间监测规则获取预定义的一个或以上的时间监测算子;
调用所述一个或以上的时间监测算子,所述一个或以上的时间监测算子用于监测所述多种类型的气象数据是否按时到达;
汇总并输出所述一个或以上的时间监测算子的执行结果。
在一些实施例中,所述一个或以上的时间监测算子执行以下校验中的至少一种:
当监测到相应的气象数据文件的更新时间超过限定时间间隔,则报告超时;
当监测到设定时间点相应的气象数据文件尚未到达,则报告超时。
在一些实施例中,同一优先级的数据校验算子并行执行。
在一些实施例中,所述调用所述一个或以上的数据校验算子包括:所述内容校验程序向所述流处理引擎发送请求,所述流处理引擎基于所述请求为所述一个或以上的数据校验算子申请资源管理单元并将其部署到资源管理单元中执行。
在一些实施例中,所述流处理引擎根据当前的算子数量以及每个算子的并发数来为每个算子申请资源管理单元。
根据本公开的第二方面,提供一种气象数据质检系统,包括:
流处理引擎,用于执行内容校验程序和文件超时检测程序;
内容校验程序,用于获取指定类型的气象数据以及与所述指定类型的气象数据对应的一个或以上的内容校验规则,基于所述一个或以上的内容校验规则获取预定义的一个或以上的数据校验算子及每个数据校验算子的优先级,按照优先级排序调用所述一个或以上的数据校验算子,其中所述一个或以上的数据校验算子用于根据对应的内容校验规则校验所述气象数据文件,最后汇总并输出所述一个或多个数据校验算子的执行结果;
文件超时监测程序,用于获取时间监测规则,所述时间监测规则指示多种类型的气象数据的更新时间,基于所述时间监测规则获取预定义的一个或以上的时间监测算子,调用所述一个或以上的时间监测算子,所述一个或以上的时间监测算子用于监测所述多种类型的气象数据是否按时到达,最后汇总并输出所述一个或以上的时间监测算子的执行结果。
在一些实施例中,所述一个或以上的内容校验规则包括以下规则中的至少一种:界限值检查、极值检查、气象要素相关一致性检查、空间相关性检查、时间序列检查,则所述一个或以上的数据校验算子包括以下算子中的至少一个算子:界限值检查算子、极值检查算子、气象要素一致性检查算子、空间相关性检查算子和时间序列检查算子;
而所述一个或以上的时间监测算子执行以下校验中的至少一种:当监测到相应的气象数据文件的更新时间超过限定时间间隔,则报告超时;当监测到设定时间点相应的气象数据文件尚未到达,则报告超时。
根据本公开的第三方面,提供一种云系统,用于部署气象数据质检系统,所述气象数据质检系统包括流处理引擎以及基于所述流处理引擎构建并运行的流处理程序,所述流处理程序用于对气象数据进行监测和校验,并输出结果。
根据本公开的第四方面,提供一种计算设备,包括存储器和处理器,所述存储器还存储有可由所述处理器执行的计算机指令,所述计算机指令被执行时,实现上述任一项所述的气象数据质检方法。
根据本公开的第五方面,提供一种计算机可读介质,所述计算机可读介质存储有可由电子设备执行的计算机指令,所述计算机指令被执行时,实现上述任一项所述的气象数据质检方法。
本公开实施例在气象数据的实时处理中引入流处理引擎,并将用于对气象数据进行质量检测和控制的流处理程序发布到流处理引擎中运行,以便将气象数据作为数据量直接进行计算,减去中间的数据库等环节,从而加快了计算的时效性并降低存储成本。进一步地,进行质量检测和控制的流处理程序包括内容校验程序和文件超时监测程序,内容校验程序和文件超时监测程序分别基于指定类型的气象数据获取校验规则和监测规则,根据规则确定要调用的算子并实际调用算子,并从被调用算子获得结果。这种方式充分利用流处理引擎的高吞吐、低延迟、高性能、分布式导致的高效的扩缩能力等优势,实现针对气象数据的高效的质量检测和控制计算。
附图说明
通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是现有的用于气象数据质量检测和控制的B/S结构的结构图;
图2是本公开实施例提供的气象数据质检系统的结构示意图;
图3是本公开一实施例提供的内容校验程序的流程图;
图4a和图4b是气象校验算子的两种执行顺序;
图5是本公开另一实施例提供的内容校验程序的流程图;
图6是本公开一实施例提供的文件超时监测程序的流程图;
图7是一个示例性的电子设备的结构示意图;
图8是一个示例性的云系统的结构示意图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
在介绍本公开各个实施例之前,先介绍以下概念。
流式数据(或流数据)是指顺序、大量、快速、连续到达数据处理节点(具体可为计算机、计算机集群等)的数据序列。流式数据通常由数据源持续生成,可以理解为一个随时间延续而无限增长的动态数据集合。气象流数据是指和气象方面的流式数据。
流处理引擎是指可以处理各种流式数据的软件架构,用于提供基于流的时间排序的计算能力,并提供各种编程接口,以便编程人员能够利用它的编程接口构建流处理程序(流式数据的处理程序)。Flink属于一种流处理引擎,用于在流式数据上进行有状态的计算。Flink能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。流处理引擎还包括Spark Streaming、Storm、Samza和Dataflow。
NetCDF(network Common Data Form)是网络通用数据格式,是一种面向数组型并适于网络共享的数据的描述和编码标准。目前,NetCDF广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。用户可以借助多种方式方便地管理和操作NetCDF数据集。
图1是现有的用于气象数据质量检测和控制的B/S结构的结构图。如图上所示,B/S分层结构100包括三个层级:数据库层103、事务逻辑层102和表示层101。数据库层103通过数据库表存储处理前和处理后的气象数据,事务逻辑层102包括业务逻辑处理和数据访问处理,业务逻辑处理用于业务逻辑方面的处理,例如,业务逻辑处理包括气象数据质量检查和控制模块,具体地,业务逻辑处理获取原始的气象数据,检查原始的气象数据是否存在诸如数据缺失、数据值异常等问题,并进行修正,再调用数据访问处理中的接口将数据存储到数据库表中,业务逻辑处理还包括气象展示数据组织模块,该模块可从气象表示层101接收请求,并根据请求数据访问处理中的接口从数据库层103获取数据并进行组织,然后将组织好的数据提供给气象表示层101进行展示。气象表示层101包括浏览器端执行的模块,主要通过浏览器展示气象数据或气象产品。此外,其他系统,例如AI推理、气象产品生成、气象数据分析等系统,可从数据层103中提取数据进行相应处理。由于B/S结构的特点在于数据处理后会存储到数据库表中,而其他系统从数据库表中取数据,因此总会有一定延迟。
基于此,本公开实施例提出一种气象数据质检方法及系统。图2是本公开实施例提供的气象数据质检系统的结构示意图。参考图上所示,气象数据质检系统200包括流处理引擎201,并基于流处理引擎201构建一个或多个流处理程序。每个流处理程序用于完成与气象数据质量检查和控制相关的某个特定功能。然后利用流处理引擎启动每个流处理程序以产生作业(这里将流处理程序的运行时(runtime)称为作业)。每个作业不间断地对随时进入系统中的原始的气象数据进行质量检查和控制,该过程所涉及的数据计算和存储都在内存中进行,而处理后的数据被主动或被动地提供给诸如AI推理、气象产品生成、气象数据分析等气象服务系统,如此,可提高气象服务的时效性。而且,基于流处理引擎201,研发人员可专注于具体事务的处理逻辑,从而使开发效率得到提高。
在一些实施例中,如图上所示,基于流处理引擎201的一个或多个流处理程序为内容校验程序2022和文件超时监测程序2021。
内容校验程序从存储301获取各种类型的气象数据,并获取与各种类型的气象数据对应的一条或多条内容校验规则,然后基于一条或多条内容校验规则检查气象数据文件,并将检查结果输出到303中。
内容校验规则用于指示如何对气象数据进行检查,举例说明,实时气象监测数据包括实时温度、实时气压、实时风速、实时水汽含量等要素,由于实时温度通常有一个上限和下限,如果某个时刻从气象数据文件中获取到的实时温度的数值超过这个上限或小于这个下限,则说明温度数值有问题,因此针对实时气象监测数据的内容校验中需要包括这样的校验规则:下限<=实时温度<=上限,同理,其他要素也定义类似的校验规则,这些校验规则构成实时气象监测数据的内容校验规则。
通常情况下,每个气象数据类型对应一条或多条内容校验规则。参考图上,存储301是气象数据质检系统200的多个作业202的输入,存储301可采用例如文件存储、对象存储(OSS)、关系型数据存储等方式。输出303是多个任务202的输出,这些输出可作为其他系统(例如产品生成、AI算法推理等系统)的输入,或者,通过例如图1的数据访问处理中的接口转换为诸如数据库表等持久性存储。
表格1是一个示例性的气象数据类型与内容校验规则的对应关系表。在该表中,列出了实况雷达回波、实况降水网格、实况降水网格、实况气温网格、实况气温网格、相对湿度网格、风速网格这几种气象数据类型所对应的内容校验规则。
表格1
从上表可以看出,实况雷达回波对应极值检查、空间相关性检查和时间序列检查三条内容校验规则,实况降水网格对应极值检查、要素一致性检查、空间相关性检查和时间序列检查四条内容校验规则,而且内容校验规则的优先级是:(1)极值检查、(2)要素一致性检查、(3)空间相关性检查和(4)时间序列检查。其中极值检查是检查各要素值是否超过历史上出现过的最大值和最小值。气象要素相关一致性检查是由于一些观测要素相互之间关系密切,其变化规律具有一致性,根据该特性,就可对相关数据是否保持这种内部关系来检查其是否发生异常,以确定数据质量。时间序列检查是因为有些观测数据与时间显著相关,具有良好的时间一致性,因此将此类数据与其时间上前、后的观测值相比较,来判断其数据是否发生异常。空间相关性检查是指因为气象要素分布的地理空间具有相关性,空间距离较近的气象站点比距离较远的站点其特征值具有更大的相似性,因此基于这一原理,对于被检站被检时次的某个要素(如气温),可用邻近参考站的数据来估计,根据实测值与估计值差值大小,确定数据是否可疑。
可选地,流处理引擎启动多个程序,每个程序对应一个作业,每个作业专用于校验一种指定类型的气象数据。具体实施时,例如在启动一个作业时,指定该作业要校验的气象数据文件。例如,如果指定作业要校验的气象数据文件为“实况雷达回波(10分钟/1公里网格)”,则作业启动后,仅获取、解析并校验“实况雷达回波(10分钟/1公里网格)”的气象数据文件。如此,对应于表格1,则系统可启动六个作业分别对六种类型的气象数据进行校验。当然,流处理引擎也可仅启动一个作业,同时校验指定多个类型的气象数据。
在一些实施例中,对于来自国家气象中心的各种气象数据,先采用云存储引擎(公司自研的存储产品)将文件格式的气象数据存储为对象(OSS)并发送气象数据更新事件到指定消息队列中,则内容校验程序获取气象数据文件的步骤包括:先从指定消息队列中取出气象数据更新事件,然后基于数据更新事件从云存储引擎中下载对应的气象数据文件。并且,考虑到指定消息对列的容量有限,而当指定消息队列处于满状态时(例如由于内容校验程序异常退出导致大量事件挤压在消息队列中),则气象数据更新事件会丢失,因此作为优选实施例,气象数据质检系统200还包括事件转写程序,该程序用于从消息队列中取出气象数据更新事件,并进行持久化存储,如此,内容校验程序从持久化存储中获取数据更新消息。由于气象数据更新事件的数据量很小,而且可以指定只保存有限时间内的气象数据更新事件,因此对其进行持久化存储不会带来很大的存储成本。
文件超时监测程序用于实现文件超时监测。文件超时监测包括的功能有:固定时间间隔监测和固定时间区间监测。固定时间间隔监测用于监测预计在设定时间间隔到达的气象文件是否已经及时到达,没有延迟,例如,5分钟级降雨数据是指每5分钟产生的全国各个台站的降雨量数据的文件,那么,固定时间间隔监测就是每隔5分钟查看对应文件是否到达,如果在查看时发现对应没有达到,则可以发送报警信息。固定时间区间监测用于监测在一个时间区间内所要到达的文件是否都到达,固定时间区间监测比固定时间间隔监测的时间要求更低。举例说明,假设当前时间是12:10,那固定时间区间监测是检查11:00~12:00之间的全国所有台站的观测数据是否都到达,只要有对应文件,则不会产生告警信息。
图3是本公开一实施例提供的内容校验程序的流程图。如图上所示,具体包括以下步骤。
在步骤S301中,获取指定类型的气象数据。
在步骤S302中,获取与指定类型的气象数据对应的一个或以上的内容校验规则。
在步骤S303中,基于一个或以上的内容校验规则获取预定义的一个或以上的数据校验算子和每个数据校验算子的优先级。
在步骤S304中,基于优先级排序调用一个或以上的数据校验算子。
在步骤S305中,汇总并输出一个或多个数据校验算子的执行结果。
为了基于流处理引擎构建程序,流处理引擎会提供基本编程单元,基本编程单元中的逻辑需要编程人员自定义处理,基本编程单元之间的数据交互可由流处理引擎协调,因此编程人员可基于基本编程单元专注于构建流处理程序的处理逻辑。文中我们将所有流处理引擎中这样的基本编程单元称为算子。参考表格1所示,每种类型的气象数据都具有一条或以上的内容校验规则,则可预先定义若干个数据校验算子,每个数据校验算子对应一条或以上的内容校验规则,例如,目前表格1汇总的内容校验规则有:极值检查、气象要素相关一致性检查、空间相关性检查、时间序列检查,还有一个界限值检查,则可定义一一对应的算子为:极值检查算子、气象要素一致性检查算子、空间相关性检查算子、时间序列检查算子和界限值检查算子。内容校验程序的处理逻辑是:当获取一种类型的气象数据时,根据其对应的校验规则找到其对应的校验算子,并调用校验算子完成校验。从表格1可以看出,不同类型的气象数据的校验规则具有很多相同之处,因此通过复用校验算子能够快速搭建出针对一种新增类型的气象数据的校验功能。另外,还可以构建输入算子和输出算子,输入算子用于获取指定类型的气象数据,输出算子用于从多个校验算子接收执行结果汇总后输出。
图4a和图4b是气象校验算子的两种执行顺序。图4a中,校验算子1至m并行执行。图4b中,校验算子1至m串行执行。并行执行时,校验算子1至m都从输入401获取气象数据和校验规则的数据,串行执行时,校验算子1从输入401获取数据,而2至m可从上一个校验算子获取数据。并且在串行执行中,每个校验算子可将自己的校验结果提供给下一个校验算子,每个校验算子可在校验不通过时直接跳到输出402。为了方便实施,每种类型的气象数据可对应一个内容校验文件。该内容校验文件保存多条内容校验规则,每个内容校验规则对应一个校验算子,通过指定每个内容校验规则的优先级来确定各个校验规则所对应的多个算子之间的执行顺序。内容校验文件可以是诸如XML、JASON等格式。
举例说明。表格2是分钟气压数据的内容校验文件。如果两条校验规则串行,则两个校验算子中,第一校验算子进行界限值检查,并将第一检查结果、“奇异值检查”的校验规则传送给第二校验算子,第二校验算子进行奇异值检查,并将第一检查结果和第二检查结果提供给后续程序。如果两条校验规则并行执行,则第一个校验算子进行界限值检查,并将检查结果传送给输出,第二校验算子进行奇异值检查,并将检查结果传送给输出。
表格2
在编码时,例如,算子OperatorA用于实现表格2中的界限值检查,它执行时,“50.0”和“-55.0”作为OperatorA的输入参数值,并将OperatorA要检查的气象数据提供给它。算子OperatorB用于实现表格2中的奇异值检查,它执行时,将算法中的常量作为输入参数值,并将要检查的气象数据提供给它。
当然,多个算子之间的关系一般是并行和串行的组合,但基本原理不变,这里就不再描述。
图5是本公开另一实施例提供的内容校验程序的流程图。具体包括以下步骤。
在步骤S501中,从指定消息队列获取气象数据更新事件。
在步骤S502中,根据气象数据更新事件下载指定类型的气象数据文件。
在步骤S503中,获取与气象数据文件对应的一条或以上的内容校验规则。
在步骤S504中,基于一个或以上的内容校验规则获取预定义的一个或以上的数据校验算子及每个数据校验算子的优先级。
在步骤S505中,基于优先级排序调用一个或以上的数据校验算子。所述一个或以上的数据校验算子用于根据对应的内容校验规则校验指定类型的气象数据文件。
在步骤S506中,汇总并输出一个或多个数据校验算子的执行结果。
具体地,气象中心定时将气象数据文件推送到云存储引擎。云存储引擎向指定消息队列发送相关的消息更新事件。内容校验程序监听指定消息队列,当监听到有消息更新事件时,从中取出消息更新事件,并基于消息更新事件提供的信息按照指定方式下载获取气象数据文件,然后获取与气象数据文件对应的一条或以上的内容校验规则,然后基于一条或以上的内容校验规则基于所述一个或以上的内容校验规则获取预定义的一个或以上的数据校验算子及每个数据校验算子的优先级,按照优先级排序调用一个或以上的数据校验算子,最后汇总并输出一个或多个数据校验算子的执行结果。在此过程中,内容校验程序还可以基于检查结果生成告警和根据检查结果修正气象数据文件,并将修正后的气象数据文件输出以便其他系统读取。此外,如果原始的气象数据文件具有不同的分辨率,还需要将气象要素值转换到同一分辨率进行校验,所有针对气象要素的关联性校验都应该在同一分辨率下。
根据本实施例提供的气象数据质检方法,将内容校验程序发布到流处理引擎中执行,以将气象数据作为数据量直接进行计算,减去了中间的数据库等环节,从而有效地加快了计算的时效性和降低存储成本。
图6是本公开另一实施例提供的文件超时监测程序的流程图。如图上所示,具体包括以下步骤。
在步骤S601中,获取时间监测规则。
在步骤S602中,基于时间监测规则获取预定义的一个或以上的时间监测算子。
在步骤S603中,调用一个或以上的时间监测算子。所述一个或以上的时间监测算子用于监测所述多种类型的气象数据是否按时到达。
在步骤S604中,汇总并输出一个或以上的时间监测算子的执行结果。
时间监测规则指示监听一个或多个用于存储指定类型的气象数据文件的目录并确定如何进行监测。例如,当检测到气象数据文件的更新间隔超过限定时间间隔,即使这个文件后续到达,也产生超时告警。再例如,当监测到设定时间点相应的气象数据文件尚未到达,则报告超时。在本实施例中,可以为一种时间监测规则设计一种时间监测算子,然后再根据要监测的气象数据类型调用相应的时间监测算子,最后汇总并输出一个或多个时间监测算子的执行结果。根据本实施例,文件超时监测程序发布到流处理引擎中执行,以将气象数据作为数据量直接进行计算,减去了中间的数据库等环节,从而有效地加快了计算的时效性和降低存储成本。
值得说明的是,在上述实施例中,调用任何一个算子(包括数据校验算子和时间监测算子)通常是向流处理引擎发送请求,由流处理引擎基于请求为对应算子申请资源管理单元并将其部署到资源管理单元中执行。资源管理单元可以理解为所申请的计算资源和存储资源的总和,资源管理单元由流处理引擎构建、监控和回收,无需程序处理。下面以流处理引擎Flink为例说说流处理引擎提供的管理功能。
Flink支持客户端-服务端架构,用户在客户端提交一个作业到服务端,服务端为分布式的主从架构,其中,作业管理进程(JobManager)作为主节点(master),负责计算资源的管理、任务的调度、检查点的创建等工作,而任务管理进程(TaskManager)负责任务的实际执行。当作业管理进程接收到一个程序时,会按照各个算子的并发度将作业拆分成多个子任务,分配到任务管理进程的资源管理单元(slot)上执行。算子是Flink提供的基本的编程单元,编程人员就是利用算子构建流处理程序。资源管理单元(slot)由作业管理进程向资源管理进程(ResourceManager)申请得到,作业管理进程将自己优化过后的任务调度到Slot上面去执行。如此,即Flink的JobManager、TaskManager和ResourceManager这样的管理程序负责完成作业、任务和资源的管理和调度等管理功能。当然,本公开实施例对所采用的流处理引擎不作限定,研发人员可使用例如Apache Flink这样的开源架构,也可以自行构建新的流处理引擎。
总之,本公开实施例将用于气象数据的质量检测和控制的流处理程序发布到流处理引擎中运行,以便将气象数据作为数据量直接进行计算,减去中间的数据库等环节,能够加快气象服务的时效性并降低存储成本。进一步地,流处理程序包括内容校验程序和文件超时监测程序,内容校验程序和文件超时监测程序分别基于指定类型的气象数据获取校验规则和监测规则,并根据各自的规则确定要调用的算子并实际调用算子,并从被调用算子获得结果。这种方式充分利用流处理引擎的高吞吐、低延迟、高性能、分布式导致的高效的扩缩能力等优势,实现针对气象数据的高效的质量检测和控制计算。
图7是一个示例性的电子设备的结构示意图。该设备可用于部署上述实施例的流处理引擎以及在其上运行的内容校验程序和文件超时监测程序。
如图7所示,在硬件层面,包括存储器702和处理器701,除此之外,一些情况下还包括输入输出设备703和其他硬件704。存储器702例如为高速随机存取存储器(Random-Access Memory,RAM),也可能是非易失性存储器(non-volatile memory),例如为至少1个磁盘存储器等。输入输出设备703例如为显示器、键盘、鼠标、网络控制器等设备。处理器701可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
处理器701、存储器702、输入输出设备703和其他硬件704通过总线相互连接,该总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图上中仅用一个线条表示,但并不表示仅有一根总线或一种类型的总线。
存储器702用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机指令。存储器可以包括内存和非易失性存储器,并向处理器701提供计算机指令和数据。处理器701从存储器702中读取对应的计算机程序到内存中然后运行,在逻辑层面上实现各种方法。图上示出了如图2所示的气象数据的实时处理系统7021。气象数据的实时处理系统7021在被处理器701运行时,启动诸如气象数据的内容校验作业和文件超时监测作业等作业,从而高效完成气象数据的质量检测和控制。
图8是一个示例性的云系统的结构示意图。如图上所示,服务器801通过网络802与终端设备803和804进行交互。终端设备803和804可以包括但不限于以下至少之一:手机、笔记本电脑、平板电脑、掌上电脑、台式电脑、智能语音交互设备、智能家电、车载终端等计算机设备。
网络802可以包括但不限于:有线网络,无线网络,其中,有线网络包括:局域网、城域网和广域网,无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。
服务器801可以为云服务中心。云服务中心是通过计算机集群软件将海量的实体服务器作为一个整体管理。云服务中心可部署集群管理软件。在一些场景中,云服务中心利用虚拟化技术可以将海量的实体服务器的硬件和软件资源进行整合,在虚拟化层的基础上,再部署各种系统。在一些场景中,云服务中心可部署流处理引擎。依托于流处理引擎,继续部署并运行用于各种气象数据校验的各种流处理程序,例如上文所述的内容校验程序和文件超时监测程序。
本领域的技术人员能够理解,本公开可以实现为系统、方法和计算机程序产品。因此,本公开可以具体实现为以下形式,即完全的硬件、完全的软件(包括固件、驻留软件、微代码),还可以实现为软件和硬件结合的形式。
此外,在一些实施例中,本公开还可以实现为一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如但不限于为电、磁、光、电磁、红外线或半导体的系统、装置或器件,或其他任意以上的组合。计算机可读存储介质的更具体的例子包括:具体一个或多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器、磁存储器或者上述任意合适的组合。在本文中,计算机可读的存储介质可以是任意包含或存储程序的有形介质,该程序可以被处理单元、装置或者器件使用,或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为截波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者其他任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质之外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令系统、装置或器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,以及上述任意合适的组合。
需要领会,以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本说明书的实施例存在许多变形。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (14)
1.一种气象数据质检方法,包括:在流处理引擎中执行内容校验程序,所述内容校验程序包括:
获取指定类型的气象数据;
获取与所述指定类型的气象数据对应的一个或以上的内容校验规则;
基于所述一个或以上的内容校验规则获取预定义的一个或以上的数据校验算子和每个数据校验算子的优先级;
按照优先级排序调用所述一个或以上的数据校验算子,所述一个或以上的数据校验算子用于根据对应的内容校验规则校验所述指定类型的气象数据;
汇总并输出所述一个或多个数据校验算子的执行结果。
2.根据权利要求1所述的气象数据质检方法,所述获取指定类型的气象数据包括:
从指定消息队列获取气象数据更新事件;以及
根据所述气象数据更新事件下载所述指定类型的气象数据文件。
3.根据权利要求1或2所述的气象数据质检方法,还包括:将气象数据中不同分辨率下的气象要素值转换到同一分辨率下。
4.根据权利要求1或2所述的气象数据质检方法,其中,所述一个或以上的内容校验规则包括以下规则中的至少一种:界限值检查、极值检查、气象要素相关一致性检查、空间相关性检查、时间序列检查,则所述一个或以上的数据校验算子包括以下算子中的至少一个算子:界限值检查算子、极值检查算子、气象要素一致性检查算子、空间相关性检查算子和时间序列检查算子。
5.根据权利要求1所述的气象数据质检方法,还包括:在所述流处理引擎中执行文件超时监测程序,所述文件超时监测程序包括:
获取时间监测规则,所述时间监测规则指示多种类型的气象数据的更新时间;
基于所述时间监测规则获取预定义的一个或以上的时间监测算子;
调用所述一个或以上的时间监测算子,所述一个或以上的时间监测算子用于监测所述多种类型的气象数据是否按时到达;
汇总并输出所述一个或以上的时间监测算子的执行结果。
6.根据权利要求5所述的气象数据质检方法,其中,所述一个或以上的时间监测算子执行以下校验中的至少一种:
当监测到相应的气象数据文件的更新时间超过限定时间间隔,则报告超时;
当监测到设定时间点相应的气象数据文件尚未到达,则报告超时。
7.根据权利要求1所述的气象数据质检方法,其中,同一优先级的数据校验算子并行执行。
8.根据权利要求1所述的气象数据质检方法,其中,所述调用所述一个或以上的数据校验算子包括:所述内容校验程序向所述流处理引擎发送请求,所述流处理引擎基于所述请求为所述一个或以上的数据校验算子申请资源管理单元并将其部署到资源管理单元中执行。
9.根据权利要求1至8任意一项所述的气象数据质检方法,其中,所述流处理引擎根据当前的算子数量以及每个算子的并发数来为每个算子申请资源管理单元。
10.一种气象数据质检系统,包括:
流处理引擎,用于执行内容校验程序和文件超时检测程序;
内容校验程序,用于获取指定类型的气象数据以及与所述指定类型的气象数据对应的一个或以上的内容校验规则,基于所述一个或以上的内容校验规则获取预定义的一个或以上的数据校验算子和每个数据校验算子的优先级,按照优先级排序调用所述一个或以上的数据校验算子,所述一个或以上的数据校验算子用于根据对应的内容校验规则校验所述指定类型的气象数据,最后汇总并输出所述一个或多个数据校验算子的执行结果;
文件超时监测程序,用于获取时间监测规则,所述时间监测规则指示多种类型的气象数据的更新时间,基于所述时间监测规则获取预定义的一个或以上的时间监测算子,调用所述一个或以上的时间监测算子,所述一个或以上的时间监测算子用于监测所述多种类型的气象数据是否按时到达,最后汇总并输出所述一个或以上的时间监测算子的执行结果。
11.根据权利要求10所述的气象数据质检系统,其中,所述一个或以上的内容校验规则包括以下规则中的至少一种:界限值检查、极值检查、气象要素相关一致性检查、空间相关性检查、时间序列检查,则所述一个或以上的数据校验算子包括以下算子中的至少一个算子:界限值检查算子、极值检查算子、气象要素一致性检查算子、空间相关性检查算子和时间序列检查算子;
而所述一个或以上的时间监测算子执行以下校验中的至少一种:当监测到相应的气象数据文件的更新时间超过限定时间间隔,则报告超时;当监测到设定时间点相应的气象数据文件尚未到达,则报告超时。
12.一种云系统,用于部署气象数据质检系统,所述气象数据质检系统包括流处理引擎以及基于所述流处理引擎构建并运行的流处理程序,所述流处理程序用于对气象数据进行监测和校验,并输出结果。
13.一种计算设备,包括存储器和处理器,所述存储器还存储有可由所述处理器执行的计算机指令,所述计算机指令被执行时,实现如权利要求1至9任一项所述的气象数据质检方法。
14.一种计算机可读介质,所述计算机可读介质存储有可由电子设备执行的计算机指令,所述计算机指令被执行时,实现如权利要求1至9任一项所述的气象数据质检方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210718298.4A CN115220131A (zh) | 2022-06-23 | 2022-06-23 | 气象数据质检方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210718298.4A CN115220131A (zh) | 2022-06-23 | 2022-06-23 | 气象数据质检方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115220131A true CN115220131A (zh) | 2022-10-21 |
Family
ID=83609268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210718298.4A Pending CN115220131A (zh) | 2022-06-23 | 2022-06-23 | 气象数据质检方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115220131A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126552A (zh) * | 2022-12-26 | 2023-05-16 | 国家气象信息中心(中国气象局气象数据中心) | 基于Storm的海量气象观测数据处理方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103414771A (zh) * | 2013-08-05 | 2013-11-27 | 国云科技股份有限公司 | 一种云计算环境下节点间长任务操作的监测方法 |
CN107247295A (zh) * | 2017-05-12 | 2017-10-13 | 宁波绮耘软件股份有限公司 | 一种气象信息监控系统 |
CN108710689A (zh) * | 2018-05-22 | 2018-10-26 | 中国华能集团清洁能源技术研究院有限公司 | 一种风电场气象数据管理系统及方法 |
CN110187412A (zh) * | 2019-07-03 | 2019-08-30 | 中国华云气象科技集团公司 | 气象观测设备及气象观测系统 |
CN110989046A (zh) * | 2019-12-25 | 2020-04-10 | 中国气象局气象探测中心 | 一种锚碇浮标站数据质量控制方法系统 |
CN112684520A (zh) * | 2020-12-30 | 2021-04-20 | 北京墨迹风云科技股份有限公司 | 一种气象预报的订正方法、装置、计算机设备及存储介质 |
CN113743025A (zh) * | 2021-11-05 | 2021-12-03 | 中化现代农业有限公司 | 一种气象预报数据订正方法、装置、电子设备和存储介质 |
CN113946636A (zh) * | 2020-07-15 | 2022-01-18 | 华风爱科气象科技(北京)有限公司 | 气象数据处理方法及装置、可读存储介质 |
-
2022
- 2022-06-23 CN CN202210718298.4A patent/CN115220131A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103414771A (zh) * | 2013-08-05 | 2013-11-27 | 国云科技股份有限公司 | 一种云计算环境下节点间长任务操作的监测方法 |
CN107247295A (zh) * | 2017-05-12 | 2017-10-13 | 宁波绮耘软件股份有限公司 | 一种气象信息监控系统 |
CN108710689A (zh) * | 2018-05-22 | 2018-10-26 | 中国华能集团清洁能源技术研究院有限公司 | 一种风电场气象数据管理系统及方法 |
CN110187412A (zh) * | 2019-07-03 | 2019-08-30 | 中国华云气象科技集团公司 | 气象观测设备及气象观测系统 |
CN110989046A (zh) * | 2019-12-25 | 2020-04-10 | 中国气象局气象探测中心 | 一种锚碇浮标站数据质量控制方法系统 |
CN113946636A (zh) * | 2020-07-15 | 2022-01-18 | 华风爱科气象科技(北京)有限公司 | 气象数据处理方法及装置、可读存储介质 |
CN112684520A (zh) * | 2020-12-30 | 2021-04-20 | 北京墨迹风云科技股份有限公司 | 一种气象预报的订正方法、装置、计算机设备及存储介质 |
CN113743025A (zh) * | 2021-11-05 | 2021-12-03 | 中化现代农业有限公司 | 一种气象预报数据订正方法、装置、电子设备和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126552A (zh) * | 2022-12-26 | 2023-05-16 | 国家气象信息中心(中国气象局气象数据中心) | 基于Storm的海量气象观测数据处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108039959B (zh) | 一种数据的态势感知方法、系统及相关装置 | |
WO2020258290A1 (zh) | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统 | |
US20160103757A1 (en) | Quantization of Data Streams of Instrumented Software | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN111309550A (zh) | 应用程序的数据采集方法、系统、设备和存储介质 | |
CN113642300A (zh) | 一种报表生成方法、装置、电子设备及计算机可读介质 | |
CN110737726B (zh) | 一种确定待测试接口的测试数据的方法和装置 | |
CN111159897B (zh) | 基于系统建模应用的目标优化方法和装置 | |
US11182386B2 (en) | Offloading statistics collection | |
Dunne et al. | A comparison of data streaming frameworks for anomaly detection in embedded systems | |
CN112313627A (zh) | 事件到无服务器函数工作流实例的映射机制 | |
CN115588244A (zh) | 一种车联网大数据实时分析方法、装置、设备及介质 | |
CN115220131A (zh) | 气象数据质检方法及系统 | |
CN112507265B (zh) | 基于树结构进行异常侦测的方法、装置及相关产品 | |
CN113360581A (zh) | 数据处理方法、装置及存储介质 | |
CN113760677A (zh) | 异常链路分析方法、装置、设备及存储介质 | |
CN111382058B (zh) | 一种服务的测试方法、装置,服务器及存储介质 | |
CN116450355A (zh) | 一种多集群模型训练方法、装置、设备及介质 | |
CN114756301B (zh) | 日志处理方法、装置和系统 | |
CN112749204B (zh) | 一种读取数据的方法和装置 | |
CN114816955A (zh) | 数据库性能预测方法和装置 | |
CN109302723A (zh) | 一种基于互联网的多节点实时无线电监测控制系统及控制方法 | |
US20170337644A1 (en) | Data driven invocation of realtime wind market forecasting analytics | |
CN113760712A (zh) | 一种测试评估方法和装置 | |
CN110442508B (zh) | 测试任务处理方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |