![点击分享此内容可以赚币 分享](/master/images/share_but.png)
地面自动气象站数据流式处理设计与实现.pdf
《地面自动气象站数据流式处理设计与实现.pdf》由会员分享,可在线阅读,更多相关《地面自动气象站数据流式处理设计与实现.pdf(12页珍藏版)》请在咨信网上搜索。
1、肖卫青,薛蕾,刘振,等.地面自动气象站数据流式处理设计与实现.应用气象学报,2 0 2 4,3 5(3):3 7 3-3 8 4.D O I:1 0.1 1 8 9 8/1 0 0 1-7 3 1 3.2 0 2 4 0 3 1 0地面自动气象站数据流式处理设计与实现肖卫青 薛 蕾*刘 振 罗 兵 王 颖 张来恩郭 萍 霍 庆 韩书丽 何文春(国家气象信息中心,北京 1 0 0 0 8 1)摘 要针对观测密度和频次日益增加的海量地面自动气象站数据,在气象大数据云平台(天擎)中设计了基于S t o r m的实时流式处理,利用大规模并行处理的优势提高地面自动气象站数据的处理时效。在流式处理中,设计
2、处理拓扑直接解码标准格式的数据消息;消息确认采用手工确认的方式,将数据解码组件锚定数据接入组件,实现每条数据的可靠处理;数据解码时进行字节校验和时间检查等,过滤异常数据;应用批量加定时的发送策略,解决海量监控信息发送气象综合业务实时监控系统(天镜)的问题;集群部署时保留部分剩余资源,有效应对单节点异常。应用效果表明:国家气象站小时数据的服务时效由全国综合气象信息共享系统(C I M I S S)的1 7 5 s提高至天擎的7 8 s,约61 04个区域气象站小时数据的服务时效由C I M I S S的5 m i n提高至天警的2 m i n,实况分析系统将数据源切换至天擎后,相同时间检索可获取
3、的站点数量较C I M I S S增加1倍。2 0 2 1年1 2月基于S t o r m的流式处理与天擎一同在国省业务化运行,实现了长期稳定运行,为M I C A P S 4、SWAN 2.0、实况分析系统等用户提供高效稳定的地面自动气象站数据。关键词:气象大数据云平台;地面自动气象站;S t o r m;R a b b i t MQ;流式处理;B U F R引 言气象观测是气象业务和科研工作的基础,地面气象观测是气象观测的重要组成部分,是对地球表面一定范围内气象要素及其变化过程进行系统、连续观测和测定,为天气预报、气候分析、科学研究和气象服务提供重要依据1。随着现代科学技术的进步,我国地面
4、自动气象站迅速推广,其数量由2 0 1 5年的约31 04个增长至2 0 2 1年的约61 04个,同时地面自动气象站的观测频次也不断提高。国家气象站的观测频次由原来的5 m i n一次提高至1 m i n一次,区域气象站观测频次由原来的1 0 m i n一次提高至5 m i n一次,部分区域气象站达到1 m i n一次。气象站数量和观测频次的增加使观测数据快速增长,对数据传输系统和处理系统的压力越来越大;同时,天气预报分析2-3、强对流预报4-5、实况产品制作、地质灾害预警6等气象业务对地面自动气象站数据时效性和稳定性的要求不断提高。为提高数据的传输时效,国家气象站和区域气象站先后采用R a
5、 b b i t MQ消息中间件7进行消息传输8-9,数据传输时效大幅提升1 0。观测数据到达后,需要对其进行实时处理,以结构化要素的形式存储到数据库中,才能为用户提供服务。在采用R a b b i t MQ消息传输的同时,地面自动气象站数据格式由原来的文本格式改为标准化的B U F R(b i n a r y u n i v e r s a l f o r m f o r t h e r e p r e s e n t a t i o n o f m e t e o r o l o g i c a l d a t a)格式编码1 1-1 2,可减少空间占用,但增加了数据处理的复杂度1 3-1
6、 4。国家气象站采用消息传输后,对于2 4 4 2站的国家气象站小时2 0 2 3-1 1-2 9收到,2 0 2 4-0 2-2 9收到再改稿。资助项目:中国气象局气象雷达数据共享平台数据实时传输系统建设项目(Z Q C-J 1 9 1 8 7),中国气象局气象信息化系统工程感知网数据交换平台分系统 数据解码软件项目(Z Q C-H 2 2 3 2 0),中国气象局创新发展专项(C X F Z 2 0 2 1 Z 0 0 7)*通信作者,邮箱:x u e l e i c m a.g o v.c n 第3 5卷 第3期 2 0 2 4年5月 应 用 气 象 学 报J OUR NA L O F
7、A P P L I E D ME T E O R O L OG I C A L S C I E N C E V o l.3 5,N o.3 M a y 2 0 2 4数据和国家气象站分钟数据,由于全国综合气象信息共享 系统(C h i n a I n t e g r a t e d M e t e o r o l o g i c a l I n-f o r m a t i o n S h a r i n g S y s t e m,C I M I S S)原有的简约流程处理方式1 5-1 6各进程间缺乏有效调度,无法发挥多节点处理优势,导致处理速度不理想;同时当单节点出现异常时,其处理任务无法
8、自动迁移,存在稳定性不足的问题。区域气象站采用消息传输后,国家级天擎每日要处理的区域气象站消息数量超过3.51 07,C I M I S S原有处理流程无法处理如此海量的区域气象站消息。如何快速处理采用R a b b i t MQ消息传输的地面自动气象站数据,提升数据处理的时效性和稳定性,成为气象大数据云平台(天擎)亟待解决的重要问题。本文分析地面自动气象站数据的现状和数据处理面临的问题,给出基于S t o r m的流式处理解决方案,介绍S t o r m中数据处理拓扑、数据接入组件、解码入库组件、监控信息发送组件等模块的设计,结合可配置的模块化设计、内存计算、数据库连接池、异常处理、业务部署
9、等方面的设计,该方案可有效提高地面自动气象站数据的服务时效,增强数据处理的稳定性,该方案已在国家级天擎和省级天擎实现业务化运行。1 地面自动气象站数据现状地面自动气象站数据格式标准化以后的编报数据分为国家气象站小时数据、国家气象站分钟数据、区域气象站小时数据和区域气象站分钟数据4种。由于大范围内多个地面自动气象站的同时观测才能反映某一时刻大气的整体状况,因此全部地面自动气象站每日均在同一时刻进行观测,也近乎在同一时刻进行传输,导致地面自动气象站数据在相同时刻集中到达,极大增加了数据处理的压力。图1为2 0 2 3年3月1日0 0:5 00 2:1 0(世界时,下同)国家级天擎逐分钟收到的地面自
10、动气象站数据的消息数量。图1 2 0 2 3年3月1日0 0:5 00 2:1 0地面自动气象站数据的逐分钟消息数量F i g.1 M e s s a g e n u m b e r o f o b s e r v a t i o n s p e r m i n u t e f r o m g r o u n d a u t o m a t i c w e a t h e r s t a t i o n s f r o m 0 0 5 0 UT C t o 0 2 1 0 UT C o n 1 M a r 2 0 2 3 由图1可见,观测数据每隔5 m i n出现1个峰值,这是因为区域气象站观
11、测频次为5 m i n;每个整点出现1个较大峰值,这是因为地面自动气象站的小时数据和分钟数据在整点同时到达,导致此时数据量是其他时刻的2倍。国家级天擎每日收到的地面自动气象站数据总量超过3.51 07条,平均每分钟2.51 04条,整点的数据总量超过每分钟11 05条,是平均水平的4倍,这极大增加了数据处理难度。2 S t o r m流式处理设计在大数据批处理领域,H a d o o p的映射/归约计算模式在气象数据处理领域得到广泛应用1 7-1 8。但是H a d o o p的实时性处理不足,肖卫青等1 9指出H a d o o p在处理大量小文件组成的气象数据时效率较低,需要将数据进行整合
12、并在后续进行多次处理时才能发挥H a d o o p的优势。由于实时地面自动气象站数据属于大量小文件类型数据,而且实时处理入库后一般不需要重复处理,因此H a d o o p不适合用于地面自动气象站数据的实时处理。为应对海量数据实时处理,推特公司设计了分布式的、可靠的实时计算系统S t o r m,并在2 0 1 1年开源2 0。相对于H a d o o p的批处理,S t o r m实时性更强,适用于处理无限的数据流2 1,广泛应用于各行各业的实时数据处理2 2-2 4。地面自动气象站定时观测产生新数据,即为473 应 用 气 象 学 报 第3 5卷 无限数据流,其数据处理具备高时效、低时延
13、的流式处理特点,因此非常适合采用S t o r m进行流式处理。2.1 S t o r m简介S t o r m集群采用主从式结构,由1个主节点和多个从节点构成。主节点负责管理、协调、监控集群的运行,记录所有从节点状态,并分配任务;从节点等待主节点分配任务,根据需要启动/关闭具体的工作进程;集群中的状态信息通过分布式应用程序协调服务进行同步。S t o r m计算框架由拓扑、元组、流、喷口、螺栓和任务等组成。元组是S t o r m的核心数据结构,包含1个或多个键值对的列表;无限的元组组成的序列形成流。喷口负责连接外部数据源,将数据转化为元组并发射至后端的螺栓,为S t o r m流的来源。螺
14、栓负责对元组实施运算,计算后可以输出1个或者多个数据流。由流、喷口、螺栓组成S t o r m的分布式计算结构拓扑,拓扑会一直运行,可避免任务频繁启停导致的资源消耗。2.2 处理拓扑设计应用S t o r m进行实时数据处理的关键是将处理任务分解成适合高并发处理的子任务,并通过喷口和螺栓等组件构成拓扑实时调度运行。地面自动气象站数据的处理步骤包括数据消息获取、属性信息提取、B U F R字节校验、B U F R报文解码、时间检查、特征值转换、S Q L生成、数据入库、监控信息生成、监控信息发送等环节。为了减少数据在计算节点间的转发,缩短处理延迟,提高系统的处理效率。本文将每个站次的地面自动气象
15、站数据处理设计为1个完整的处理任务,并将数据处理分解为数据接入、解码入库和监控信息发送3个组件。数据接入组件、解码入库组件和监控信息发送组件构成整体的处理拓扑,数据接入组件连接R a b-b i t MQ消息队列,获取B U F R数据消息,提取属性信息,将相应数据转化为元组后发射至解码入库组件。解码入库组件收到元组后,从中提取B U F R报文,通过字节校验后进行解码,提取编报要素值,经过时间检查、特征值转换、S Q L生成,调用数据库连接池实现观测数据入库;根据数据入库的结果生成数据信息(d a t a i n f o r m a t i o n,D I),转换成元组发送至监控信息发送组件
16、。监控信息发送组件收到D I后,按照发送策略将D I发送至气象综合业务实时监控系统(天镜),用于数据全流程监视告警的计算2 5和天擎加工流水线的数据源感知调度2 6。2.3 数据接入组件数据接入组件是地面自动气象站数据流式处理中的数据源,负责从R a b b i t MQ队列获取B U F R数据消息,其获取的每条消息都包含1个地面自动气象站的1个观测 时次数据。数据接 入组件获取R a b b i t MQ消息采用手动确认模式,只有在数据接入组件显式回复确认后,R a b b i t MQ才会从队列中删除该消息,这可以保证后续的解码入库组件完成每条消息的全部处理逻辑。当某个数据接入组件由于各
17、种原因异常退出时,未确认的消息会重新分配给其他数据接入组件,这可以保证S t o r m处理拓扑重启时不丢失数据。数据接入组件与解码入库组件间采用随机分组模式,所有的处理任务均可随机分配给各解码入库组件,实现数据解码的高并发处理。2.4 数据解码入库组件数据解码入库组件负责对B U F R报文进行解码,实现地面自动气象站数据的处理入库,是S t o r m流式处理中最复杂的组件。解码入库组件收到数据接入组件发射的元组后,从中提取相应的编报数据,进行字节校验、要素解码、时间检查、特征值转换、S Q L生成、数据入库等操作,实现地面自动气象站数据的解码入库处理:字节校验。在对B U F R报文解码
18、前,先按照字节校验的流程检查报文数据,未通过字节校验的数据将不再进行后续解码,但根据特定的规则将该报文记入原始报告表,用于后续的问题排查。要素解码。通过字节校验后,解码入库组件调用相应的解码算法进行要素解码,获取编报的观测时间、站号、经纬度、海拔高度、温度、气压、风向、风速、湿度、降水量等要素值。根据B U F R编码规范,当要素描述符规定的比特位全部为1时,表示该要素缺测,由于各个要素定义的比特位长度不一,因此B U F R编报中各个要素的缺测值不同。为方便用户使用,在解码时需要对缺测值进行统一转换,将比特位全部为1的要素值 统一 转 为 缺 测 特 征 值9 9 9 9 9 9。时间检查。
19、业务实践中会有超出规定时间范围的历史数据和超前数据上传至国家级天擎。大量历史数据会引发入库冲突,降低入库速度,影响实时数据入库。超前数据会导致用户使用困惑,影响观测数据质量。为保证实时数据入库速度和提升数据质量,在数据要素解码后,检查观测时间,超过规定时间范围的数据不进行后续的入库处理,同时以错573 第3期 肖卫青等:地面自动气象站数据流式处理设计与实现 误信息(e r r o r i n f o r m a t i o n,E I)告警的形式通知天镜。时间检查的范围设计为从配置文件读取,可以根据业务要求进行快速调整。特征值转换。对于部分要素值,需要根据相应规范进行转换,将对应的特征值入库。
20、例如当风速不超过0.2 ms-1,需将风向全部转换为静风特征值9 9 9 0 1 7;当降水量编报值为-1时,需将其转换为微量降水特征值9 9 9 9 9 0。S Q L生成。全部要素解码并经过时间检查和特征值转换后,生成入库的要素值,根据数据类型按照表1生成相应的入库语句。生成S Q L语句时,除经过转换的要素值外,还需要添加管理字段,但这些信息不在报文中编报,例如行政区划字段。因为每个地面自动气象站的每条观测数据需要访问该信息,面对每分钟超过11 05次的访问,普通数据库的查询效率会严重影响数据处理的效率。内存数据库将数据库的全部或大部分数据放在内存中,使用哈希索引以及T树索引组织数据以提
21、高数据查询效率2 7。但内存数据库仍然存在节点间网络通信等开销,处理数据库连接异常使解码入库组件的逻辑更加复杂,进而降低整个系统的稳定性。将数据直接加载到程序内存,基于内存进行操作2 8,能够实现更高的查询效率和更可靠的稳定性。因此设计解码入库组件预先将所有地面自动气象站信息加载到内存,使用哈希映射进行索引存储,关键字为站号和气象站类型的组合,值为该站信息。在数据处理时使用站号和气象站类型的组合进行查询,实现地面自动气象站信息快速查询。表1 地面自动气象站数据入库数据表说明T a b l e 1 D e s c r i p t i o n o f d a t a i n s e r t t a
22、 b l e s f o r g r o u n d a u t o m a t i c w e a t h e r s t a t i o n d a t a数据名称天擎入库表名国家气象站小时数据中国地面小时原始报告表中国地面小时表全球地面小时表中国地面日值表中国地面日照表重要天气表国家气象站分钟数据中国地面分钟原始报告表中国地面分钟降水表地面分钟全要素表区域气象站小时数据中国地面小时原始报告表中国地面小时表区域气象站分钟数据中国地面分钟原始报告表中国地面分钟降水表地面分钟全要素表 数据入库。数据解码入库组件根据入库规则生成S Q L语句后调用虚谷数据库接口实现数据入库。入库时采用数据连接池
23、技术,免去每次访问建立和关闭连接的开销,提升入库效率2 9。由于网络抖动、延迟等原因,入库过程可能会出现连接中断,造成入库不完整。为解决该问题,在入库过程中设计每个数据处理任务的多个表按顺序独立入库,互不影响;当某个表的入库发生中断时,解码入库组件会尝试3次重新执行,若仍失败则将该消息重新投递至R a b b i t MQ消息队列再处理。为避免重复入库,在数据表中设计站号和观测时间作为唯一索引。结合数据库的唯一索引,通过失败重试和重新投递可以保证数据处理的完整性且避免重复数据入库。入库语句执行完成后,数据库接口会返回记录的入库状态码,解码入库组件根据状态码判断入库结果,生成相应的D I或E I
24、,将其转换为元组后发送给监控信息发送组件。2.5 监控信息发送组件监控信息发送组件负责将数据处理过程中产生的D I/E I发送至天镜,天镜对这些信息进行处理,综合通信、存储等系统的信息实现全流程、全要素、全过程的监控。为避免监控信息发送异常影响正常的业务处理流程,为其设计独立组件。D I/E I通过R E S T f u l接口3 0发送至本地代理,再由本地代理发送至天镜。由于R E S T f u l接口底层采用超文本传输协议(h y p e r t e x t t r a n s f e r p r o t o c o l,HT T P)通信,所以发送时每次都需要建立1个T C P(t r
25、 a n s m i s-s i o n c o n t r o l p r o t o c o l)连接,每个T C P连接都需要1个本地端口,一般系统默认设置的T C P连接可用端口为3 2 7 6 86 0 9 9 9,约2 8 0 0 0个。由于端口在T C P连接释放后经过2倍的报文最大生存时间才能被重复使用3 1,在整点有约61 04个区域气象站小时数据和区域气象站分钟数据集中到达,每条数据均入到多个表并生成多条D I,短时间内生成的D I数量高达几十万条,可在瞬间将S t o r m集群中所有节点的可用端口占满,导致D I发送失败,进而影响天镜对数据入库完整性的判断,产生入库不完
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 地面 自动气象站 数据流 处理 设计 实现
![提示](https://www.zixin.com.cn/images/bang_tan.gif)
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。