[发明专利]一种用于采集自动气象站数据的系统及方法在审
申请号: | 201710044854.3 | 申请日: | 2017-01-20 |
公开(公告)号: | CN106897159A | 公开(公告)日: | 2017-06-27 |
发明(设计)人: | 龚杰;金琪;王希;谢道奇;王勇华;彭琦;蔡杨;房珊珊;彭姗姗 | 申请(专利权)人: | 武汉华信联创技术工程有限公司;湖北省气象信息与技术保障中心 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F17/30 |
代理公司: | 北京轻创知识产权代理有限公司11212 | 代理人: | 杨立,陈振玉 |
地址: | 430070 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 采集 自动气象站 数据 系统 方法 | ||
技术领域
本发明涉及气象科学和大数据技术应用领域,具体涉及一种用于采集自动气象站数据的系统及方法。
背景技术
目前气象部门在自动气象站数据采集方面主要是通过在各个项目中编写程序直接向自动气象站数据接口请求数据并写入数据库。由于自动气象站数量庞大,所有的站点数据在整点同时更新,数据写入和读取请求均在整点达到峰值,造成整点时数据库负担增加,访问缓慢。目前的解决方案是通过在数据库硬件资源上分配更多的CPU和内存来应对高峰;另外,由于数据请求与入库由同一个程序完成,对于经常出现的程序异常停止的状况,只能通过人工分析采集程序日志采集了解中断发生的时间,在合适的时候运行数据补录程序来补入程序异常时漏掉的数据;同时国内在自动气象站数据采集方面并没有形成一个可以完成海量自动站数据采集的专有系统,自动气象站数据采集工作仅仅作为彼此独立项目开发的附属任务,在项目开发过程中由不同厂家,使用不同技术手段,反复临时开发实现。
从现有技术方案分析来看,整体存在以下缺陷:1.该方案将自动气象站数据的请求和入库放在同一个模块中完成,导致采集程序与数据库厂商高度耦合,在遇到其他厂商数据库时无法移植;2.在某些情况下,请求数据或数据入库的过程中会发生异常,该方案未对数据进行持久化处理,会造成数据丢失,对于丢失的数据只能人工干预补入数据;3.该方案直接将整点的峰值压力转嫁给数据库,逼迫数据库以峰值访问量配置资源,造成资源浪费;4.采集程序在不同项目中被反复开发,但都仅限于临时解决项目中遇到的一两种自动气象站数据格式的解析入库,并没有对自动气象站数据本身做很好的支持。
发明内容
本发明所要解决的技术问题是提供一种用于采集自动气象站数据的系统及方法,可以实现不同厂商的移植、减少人工干预、节约资源和避免程序被反复开发。
本发明解决上述技术问题的技术方案如下:一种用于采集自动气象站数据的系统,包括消息生产模块、消息队列模块和消息消费模块,所述消息生产模块与所述消息消费模块之间是相互独立的,且所述消息生产模块中设有与不同的自动气象站相连的兼容接口,所述消息消费模块中配置有与不同的自动气象站相匹配的数据解析类和数据仓库类;
所述消息生产模块,其用于采用消息队列持久化技术通过兼容接口向不同的自动气象站请求相应的自动气象站数据,并将请求到的自动气象站数据发送给所述消息列队模块;
所述消息队列模块,其用于将所述消息生产模块发送过来的自动气象站数据进行存储并以消息队列的方式进行异步传输;
所述消息消费模块,其用于接收所述消息队列模块异步传输过来的自动气象站数据,并通过数据解析类和数据仓库类对获取的自动气象站数据进行解析后写入到数据库中。
本发明的有益效果是:本发明一种用于采集自动气象站数据的系统针对自动站数据的采集工作构建了专有系统,支持了更多种自动站数据格式,增加对不同数据库厂商的兼容,并对采集来的数据做了持久化处理,降低了数据丢失的风险,减少了数据采集过程的人工干预,并对整点峰值压力做了缓冲,使得使用更低配置的数据库也能平稳应对整点峰值。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述消息队列模块具体为Kafka、ActiveMQ和RabbitMQ中的任一个。
采用上述进一步方案的有益效果是:本发明的系统默认使用Kafka作为消息队列中间件,原因是Kafka是一种分布式的消息系统,提供了消息持久化能力,对TB级以上数据也能保证常数时间复杂度的访问性能;而且它吞吐率高,即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输,可以让RCollector在海量自动气象站数据采集场景下出色工作。同时本发明的系统也能使用ActiveMQ、RabbitMQ等其他支持持久化的消息队列来完成工作,选择哪种消息队列可以视数据量级和开发团队的熟悉的技术栈而定。
进一步,所述消息生产模块采用消息队列持久化技术具体为,所述消息生产模块配置有数据采集日志,所述数据采集日志用于记录当发生网络异常时所述消息生产模块请求和/或发送失败的异常节点数据,且所述消息生产模块在网络恢复后自动的对所述数据采集日志记录的异常节点数据进行重新请求和/或发送。
采用上述进一步方案的有益效果是:通过维护消息消费模块中的数据采集日志,和采用消息队列持久化技术对消息在传输过程中进行持久化,降低了程序异常引起的数据丢失,减少了人工干预。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉华信联创技术工程有限公司;湖北省气象信息与技术保障中心,未经武汉华信联创技术工程有限公司;湖北省气象信息与技术保障中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710044854.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据加载方法和装置
- 下一篇:一种文件处理方法、装置及系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置