数据采集系统及数据采集方法技术方案

技术编号:14746246 阅读:69 留言:0更新日期:2017-03-01 22:39
本发明专利技术公开一种数据采集系统,包括采集器、分布式消息队列系统、云分拣器;其中:所述采集器用于采集业务日志服务器上的日志数据,将所采集的日志数据发送至所述共享传输通道;所述共享传输通道的接收端用于接收所述采集器采集的日志数据,所述共享传输通道的发送端用于将通道内的日志数据发送至所述分布式消息队列系统;所述云分拣器从所述分布式消息队列系统中读取日志数据,并对所述日志数据进行分拣处理,获得分拣数据,再将所述分拣数据存储至所述分布式消息队列系统;所述分布式消息队列系统将所接收到的数据和所存储的数据同步至文件存储系统。本发明专利技术避免了数据采集过程中,程序意外终止时的数据丢失,从而保证了数据的完整性。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,尤其涉及数据采集系统及数据采集方法
技术介绍
Flume是Cloudera提供的日志收集系统,该日志收集系统主要包括数据采集器Source、传输队列Channel、数据取出器Sink,其中Source用于对日志数据进行采集,并分成transtion和event放入Channel中进行缓存,Sink取出Channel中缓存的数据,并将其存储至相应的存储文件系统、数据库或者提交到远程服务器。但是上述Flume中使用的传输队列是基于jvm创建的用户空间内存,如果程序意外终止时存在该传输队列中的数据会丢失。
技术实现思路
本专利技术实施例的主要目的在于提供一种数据采集系统及数据采集方法,旨在避免数据采集过程中,程序意外终止时的数据丢失,从而保证了数据的完整性。为实现上述目的,本专利技术实施例提供了一种数据采集系统,包括采集器、共享传输通道、分布式消息队列系统、云分拣器;其中:所述采集器用于采集业务日志服务器上的日志数据,将所采集的日志数据发送至分布式消息队列系统;所述共享传输通道的接收端用于接收所述采集器采集的日志数据,所述共享传输通道的发送端用于将通道内的日志数据发送至所述分布式消息队列系统;所述云分拣器从所述分布式消息队列系统中读取日志数据,并对所述日志数据进行分拣处理,获得分拣数据,再将所述分拣数据存储至所述分布式消息队列系统;所述分布式消息队列系统将所接收到的数据和所存储的数据同步至文件存储系统。此外,为实现上述目的,本专利技术还提出了一种数据采集方法,包括以下步骤:采集业务日志服务器上的日志数据,将所采集的日志数据发送至共享传输通道;将所述共享传输通道内的日志数据发送至所述分布式消息队列系统;从所述分布式消息队列系统中读取日志数据,并对所述日志数据进行分拣处理,获得分拣数据,再将所述分拣数据存储至所述分布式消息队列系统;将所述分布式消息队列系统所接收到的数据和所存储的数据同步至文件存储系统。本专利技术实施例利用共享传输通道接收采集器所采集的数据,并将所采集的数据发送至分布式消息队列系统进行存储,因此,该数据采集系统避免了数据采集过程中,程序意外终止时的数据丢失,从而保证了数据的完整性。同时,还利用云分拣器对其进行分拣处理,以供下游系统使用,而且分布式消息队列系统还将接收到的采集器的数据以及分拣处理后的分拣数据同步至文件存储系统。因此,本专利技术数据采集系统既实现了下游系统对分布式消息队列系统中的实时日志数据的使用,也实现了数据采集系统处于离线状态下时,下游系统对文件存储系统中的日志数据的使用。附图说明图1为本专利技术数据采集系统第一实施例的功能模块示意图;图2为本专利技术数据采集系统第二实施例的功能模块示意图;图3为本专利技术数据采集系统第三实施例的功能模块示意图;图4为本专利技术数据采集方法第一实施例的流程示意图;图5为本专利技术数据采集方法第二实施例的流程示意图;图6为本专利技术数据采集方法第三实施例的流程示意图。本专利技术目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式以下结合说明书附图及具体实施例进一步说明本专利技术的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提出了一种数据采集系统,利用采集器从业务日志服务器中采集日志数据,并将该日志数据先暂存至共享传输通道,再通过共享传输通道发送至分布式消息队列系统进行存储。因此,该数据采集系统避免了数据采集过程中,程序意外终止时的数据丢失,从而保证了数据的完整性。同时,还利用云分拣器对其进行分拣处理,以供下游系统使用,而且分布式消息队列系统还将存储的数据同步至文件存储系统,供下游系统使用。该数据采集系统使得下游系统可以使用分布式消息队列系统或者文件存储系统中的日志数据。因此,本专利技术数据采集系统既实现了下游系统对实时日志数据的使用,也实现了数据采集系统处于离线状态下时,下游系统对文件存储系统中的日志数据的使用。如图1所示,示出了本专利技术一种数据采集系统第一实施例的结构。该数据采集系统100包括:采集器110、分布式消息队列系统120、云分拣器130、共享传输通道140。其中,所述采集器110用于采集业务日志服务器上的日志数据,将所采集的日志数据发送至共享传输通道140。所述共享传输通道140的接收端用于接收所述采集器采集的日志数据,所述共享传输通道140的发送端用于将通道内的日志数据发送至所述分布式消息队列系统120。所述云分拣器130从所述分布式消息队列系统中读取日志数据,并对所述日志数据进行分拣处理,获得分拣数据,再该分拣数据存储至所述分布式消息队列系统120。所述分布式消息队列系统120将所接收到的数据和所存储的数据同步至文件存储系统200。该采集器110可与业务日志服务器300进行通信,以读取业务日志服务器上记录的日志数据。业务日志服务器300用于接收与业务日志服务器300连接的各业务单元上报的业务日志。优选地,该采集器110将设置在业务日志服务器上,且每个业务日志服务器300均设有至少1个采集器110。具体地,预先在业务日志服务器300中嵌入API接口,业务日志服务器300实时或定时将记录的日志数据通过该API接口发送至采集器110中;或者采集器110通过该API接口实时或定时获取业务日志服务器300中记录的日志数据。在此不做限定。上述文件存储系统200可包括分布式消息系统、本地文件系统、数据库系统等等。上述共享传输通道140为共享内存队列,用于接收各采集器110发送的日志数据。该共享传输通道140为各采集器110共享,而不再属于单个的采集器110。因此,当数据采集系统100突然停止运行时,该共享内存队列中存储的日志数据将被保存下来,不会被丢失。该分布式消息队列系统120可包括Tdbank、Kafka、metaq、RocketMQ等等。该分布式消息队列系统120对日志数据进行预处理,例如数据解压缩、数据分类分队列存储等等,并分发至离线或在线处理平台。因此,该分布式消息队列系统120用于构建数据源和数据处理系统间的桥梁,将数据处理系统与数据源进行解耦。云分拣器130可包括实时分拣引擎,且该实时分拣引擎持续执行分拣任务,即不断从分布式消息队列系统120中读取日志数据,并对其进行分拣处理,获得分拣数据,存储至分布式消息队列系统120中。可以理解的是,采集器110发送至分布式消息队列系统120的数据与经过云分拣器130的处理后获得的分拣数据存储在分布式消息队列系统120的不同位置。本专利技术实施例利用共享传输通道接收采集器所采集的数据,并将所采集的数据发送至分布式消息队列系统进行存储,因此,该数据采集系统避免了数据采集过程中,程序意外终止时的数据丢失,从而保证了数据的完整性。同时,还利用云分拣器对其进行分拣处理,以供下游系统使用,而且分布式消息队列系统还将接收到的采集器的数据以及分拣处理后的分拣数据同步至文件存储系统。因此,本专利技术数据采集系统既实现了下游系统对分布式消息队列系统中的实时日志数据的使用,也实现了数据采集系统处于离线状态下时,下游系统对文件存储系统中的日志数据的使用。进一步地,如图2所示,上述数据采集系统还包括存储盘150,所述存储盘150用于存本文档来自技高网...
数据采集系统及数据采集方法

【技术保护点】
一种数据采集系统,其特征在于,所述数据采集系统包括采集器、共享传输通道、分布式消息队列系统、云分拣器;其中:所述采集器用于采集业务日志服务器上的日志数据,将所采集的日志数据发送至所述共享传输通道;所述共享传输通道的接收端用于接收所述采集器采集的日志数据,所述共享传输通道的发送端用于将通道内的日志数据发送至所述分布式消息队列系统;所述云分拣器从所述分布式消息队列系统中读取日志数据,并对所述日志数据进行分拣处理,获得分拣数据,再将所述分拣数据存储至所述分布式消息队列系统;所述分布式消息队列系统将所接收到的数据和所存储的数据同步至文件存储系统。

【技术特征摘要】
1.一种数据采集系统,其特征在于,所述数据采集系统包括采集器、共享传输通道、分布式消息队列系统、云分拣器;其中:所述采集器用于采集业务日志服务器上的日志数据,将所采集的日志数据发送至所述共享传输通道;所述共享传输通道的接收端用于接收所述采集器采集的日志数据,所述共享传输通道的发送端用于将通道内的日志数据发送至所述分布式消息队列系统;所述云分拣器从所述分布式消息队列系统中读取日志数据,并对所述日志数据进行分拣处理,获得分拣数据,再将所述分拣数据存储至所述分布式消息队列系统;所述分布式消息队列系统将所接收到的数据和所存储的数据同步至文件存储系统。2.如权利要求1所述的数据采集系统,其特征在于,所述数据采集系统还包括存储盘、数据发送器;所述存储盘用于存储所述共享传输通道被写满时所述共享传输通道的日志数据;所述数据发送器从所述共享传输通道和所述存储盘中读取日志数据,并将所读取的日志数据发送至所述分布式消息队列系统。3.如权利要求1所述的数据采集系统,其特征在于,所述数据采集系统包括配置中心,用于配置分拣规则;所述云分拣器包括实时分拣引擎,所述实时分拣引擎用于按照所述配置中心的分拣规则,对从所述分布式消息队列系统中读取的所述日志数据进行分拣处理,获得分拣数据,再将该分拣数据存储至所述分布式消息队列系统中。4.如权利要求3所述的数据采集系统,其特征在于,所述云分拣器还包括备用分拣引擎,所述备用分拣引擎用于在实时分拣引擎无法进行分拣时,从所述文件存储系统中读取日志数据,并按照所述配置中心的分拣规则对所
\t述日志数据进行分拣处理,获得分拣数据,再将该分拣数据存储至所述文件存储系统;所述备用分拣引擎的分拣规则与实时分拣引擎的分拣规则相同。5.如权利要求3或4...

【专利技术属性】
技术研发人员:黄浩万春晓徐波
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1