一种数据采集方法及Flume数据采集客户端技术

技术编号:18668303 阅读:114 留言:0更新日期:2018-08-14 20:39
本发明专利技术提供了一种数据采集方法及Flume数据采集客户端,其中,方法包括:在数据库设备中安装至少一个Flume数据采集客户端,其中,Flume数据采集客户端包括:Source组件,被配置为查询数据库设备中数据库表更新的数据,利用过滤算法对所述更新的数据进行过滤,读取过滤后的数据,将读取的数据发送至Channel组件;Channel组件,被配置为将所述Source组件读取的数据缓存至内存;Sink组件,被配置为从内存中抽取数据,将抽取的数据发送至目标服务器;启动Flume数据采集客户端完成数据采集。本发明专利技术能够降低冗余数据的采集,减少分析系统的负担。

A data acquisition method and Flume data acquisition client

The invention provides a data acquisition method and a Flume data acquisition client, wherein the method includes: installing at least one Flume data acquisition client in a database device, wherein the Flume data acquisition client includes: Source component, which is configured to query data updated by a database table in a database device, and utilizing The filtering algorithm filters the updated data, reads the filtered data, and sends the read data to the Channel component; the Channel component is configured to cache the data read by the Source component into memory; and the Sink component is configured to extract data from memory and send the extracted data to the target server. Start the Flume data acquisition client to complete data acquisition. The invention can reduce the collection of redundant data and reduce the burden of the analysis system.

【技术实现步骤摘要】
一种数据采集方法及Flume数据采集客户端
本专利技术属于数据采集领域,尤其涉及一种数据采集方法及Flume数据采集客户端。
技术介绍
近年来,随着信息技术的快速发展,带来的是各种信息、数据的爆发式增长,大数据时代应运而生。2008年8月,首次提出大数据的概念。在大数据时代,TB、PB,甚至EB级的数据已经成为一种常态。为了应对大数据的存储、处理以及大型计算机成本高的难题,集群化的分布式系统快速发展并取代了单机服务系统。各大公司和开源社区纷纷提出了自己的大数据解决方案,其中开源的Hadoop生态系统最为热门,Hadoop是一个并行处理大规模数据的分布式计算和存储系统,可以将分布式系统部署在廉价机器上。要使用Hadoop来存储、处理数据,首先要解决的问题是如何将数据收集到Hadoop平台上。而将原始关系型数据库中的数据导入到Hadoop中的非关系型数据库HBase中显得尤为重要。但在数据采集过程中会采集到大量陈冗无效的数据,造成系统负担增大,分析系统分出一部分资源在过滤无效信息上,降低系统效率。目前收集结构化数据的方法有OGG方法,可通过ORACLEGOLDENGATEforBIGDATA直接在结构化数据库ORACLE、MYSQL和HADOOP、HBASE之间传输数据。但OGG在维护方面工作量巨大,且经常有进程abend、数据重复收取等问题,在Hadoop系统中,Sqoop可以实现Hadoop集群与关系型数据之间的数据交换,但是由于它底层使用的是MapReduce计算框架,故依赖于Hadoop的集群环境,这是一大缺陷。
技术实现思路
本专利技术用于解决现有技术中收集关系型数据库中的数据时会采集到大量陈冗无效的数据,造成系统负担增大;OGG方法存在维护方面工作量巨大的问题,另外,由于OGG底层使用的是MapReduce计算框架,存在依赖Hapoop的集群环境的缺陷。本专利技术的一技术方案为提供一种数据采集方法,包括:在数据库设备中安装至少一个Flume数据采集客户端,其中,Flume数据采集客户端包括:Source组件,被配置为查询数据库设备中预定数据库表更新的数据,利用过滤算法对所述更新的数据进行过滤,读取过滤后的数据,将读取的数据发送至Channel组件;Channel组件,被配置为将所述Source组件读取的数据缓存至内存;Sink组件,被配置为从内存中抽取数据,将抽取的数据发送至目标服务器;启动Flume数据采集客户端完成数据采集。本专利技术另一技术方案为提供一种Flume数据采集客户端,包括:Source组件、Channel组件及Sink组件;所述Source组件被配置为查询数据库设备中预定数据库表更新的数据,利用过滤算法对所述更新的数据进行过滤,读取过滤后的数据,将读取的数据发送至所述Channel组件;所述Channel组件被配置为将所述Source组件读取的数据缓存至内存;所述Sink组件被配置为从内存中抽取数据,将抽取的数据发送至目标服务器。本专利技术通过将Source组件配置为利用过滤算法对客户端更新的数据进行过滤,将Channel组件配置为将Source组件读取的数据缓存至内存,将Sink组件配置为从内存中抽取数据,将抽取的数据发送至服务端,能够减少冗余数据的采集,减少分析系统(Hadoop平台)的负担。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例的数据采集方法流程图;图2为本专利技术实施例的Flume数据采集客户端的架构图;图3为本专利技术实施例的Flume数据采集客户端的架构图;图4为本专利技术具体实施例的Flume数据采集客户端的架构图;图5为本专利技术具体实施例的Flume数据采集客户端配置文件示意图;图6为本专利技术具体实施例的Flume数据采集客户端传输速度随分页大小变化的曲线。具体实施方式为了使本专利技术的技术特点及效果更加明显,下面结合附图对本专利技术的技术方案做进一步说明,本专利技术也可有其他不同的具体实例来加以说明或实施,任何本领域技术人员在权利要求范围内做的等同变换均属于本专利技术的保护范畴。在本说明书的描述中,参考术语“一实施例”、“一具体实施例”、“一些实施例”、“例如”、“一些实施方式”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本专利技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本专利技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。如图1所示,图1为本专利技术实施例的数据采集方法的流程图。本实施例能够降低冗余数据的采集,减少分析系统的负担。具体的,包括:步骤110,在数据库设备中安装至少一个Flume数据采集客户端,其中,Flume数据采集客户端包括Source组件(数据收集器)、Channel组件(传输通道)及Sink组件(接收器)。Source组件被配置为查询数据库设备中预定数据库表更新的数据,利用过滤算法对所述更新的数据进行过滤,读取过滤后的数据,将读取的数据发送至所述Channel组件。具体实施时,可通过设置拦截器和正则过滤方法对更新数据进行过滤,本专利技术对具体过滤数据及过滤算法不做限定。Channel组件被配置为将所述Source组件读取的数据缓存至内存。Channel组件的配置能够提高数据传输速度,减少数据由读入端到写出端的时延。Sink组件被配置为从内存中抽取数据,将抽取的数据发送至目标服务器。目标服务器接收及存储数据的过程可参见现有技术,本专利技术对此不作限定。步骤120,启动Flume数据采集客户端,完成数据采集。详细的说,本专利技术中的数据库设备为单机系统(其操作系统可以为Linux、Unix、Windows),存储有需要采集的源数据,安装有关系型数据库(例如Mysql数据库)。目标服务器为Hadoop分布式系统,指的是接收并存储数据的服务器,安装有非关系型数据库HBase和/或分布式文件系统HDFS,目标服务器用于按不同的业务要求对接收到的数据进行存储或流向分析。Flume数据采集客户端为一个进程,用于完成数据的收集服务,Flume数据采集客户端各组件实现的功能可通过配置文件(如图5所示)进行设定。具体实施时,可根据数据收集需求确定需要安装的Flume数据采集客户端的个数,当一数据库设备中安装多个Flume数据采集客户端时,各Flume数据采集客户端之间相互独立,可以实现同时对多个数据源进行并行处理。Flume数据采集客户端在运行的过程中,并不依赖于Hadoop环境,这使得将非Hadoop集群上的数据交换到集群中变得可行。本专利技术能够自动检测数据库中的更新数据,实现实时增量收集,最终将数据存储到非关系型数据库HBase中,可在脱离Hadoop环境的前提下将原本非Hadoop集群中的数据导入到Hadoop集群中,实现单机系统与分布式系统的数据交换,具有依赖小、量级轻的优点。本本文档来自技高网...

【技术保护点】
1.一种数据采集方法,其特征在于,包括:在数据库设备中安装至少一个Flume数据采集客户端,其中,Flume数据采集客户端包括:Source组件,被配置为查询数据库设备中预定数据库表更新的数据,利用过滤算法对所述更新的数据进行过滤,读取过滤后的数据,将读取的数据发送至Channel组件;Channel组件,被配置为将所述Source组件读取的数据缓存至内存;Sink组件,被配置为从内存中抽取数据,将抽取的数据发送至目标服务器;启动Flume数据采集客户端完成数据采集。

【技术特征摘要】
1.一种数据采集方法,其特征在于,包括:在数据库设备中安装至少一个Flume数据采集客户端,其中,Flume数据采集客户端包括:Source组件,被配置为查询数据库设备中预定数据库表更新的数据,利用过滤算法对所述更新的数据进行过滤,读取过滤后的数据,将读取的数据发送至Channel组件;Channel组件,被配置为将所述Source组件读取的数据缓存至内存;Sink组件,被配置为从内存中抽取数据,将抽取的数据发送至目标服务器;启动Flume数据采集客户端完成数据采集。2.如权利要求1所述的数据采集方法,其特征在于,所述Source组件还被配置为对读取到的数据做封装处理得到事件,将事件发送至所述Channel组件。3.如权利要求2所述的数据采集方法,其特征在于,所述Sink组件还被配置为对抽取到的数据进行解析处理,将解析后的数据发送至目标服务器。4.如权利要求1所述的数据采集方法,其特征在于,所述Source组件还被配置为根据读取的数据确定并记录已读数据的位置信息。5.如权利要求4所述的数据采集方法,其特征在于,所述已读数据的位置信息为每条已读数据的哈希值,或已读数据的行数,或每预定条已读数据的哈希值。6.如权利要求1至5任一项所述的数据采集方法,其特征在于,所述Sink组件将抽取的数据发送至目标服务器包括:所述Sink组件将抽取的数据发送至中心路由服务器,由所述中心路由服务器根据路由规则将抽取的数据发送至目标服务器。7.一...

【专利技术属性】
技术研发人员:章小文罗春水强华盛沈滨王彤
申请(专利权)人:中体彩科技发展有限公司
类型:发明
国别省市:北京,11

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

1