会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 请求书 / 发明名称 / 一种基于Flume的数据处理方法及装置

一种基于Flume的数据处理方法及装置

阅读:997发布:2020-09-21

IPRDB可以提供一种基于Flume的数据处理方法及装置专利检索,专利查询,专利分析的服务。并且本发明公开了一种基于Flume的数据处理方法,所述方法包括:在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;保存所述源文件名称到源文件名称组;通过查询所述源文件名称组过滤掉已读取完毕的源文件。本发明还公开了一种基于Flume的数据处理装置。,下面是一种基于Flume的数据处理方法及装置专利的具体信息内容。

1.一种基于Flume的数据处理方法,其特征在于,所述方法包括:在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;

保存所述源文件名称到源文件名称组;

通过查询所述源文件名称组过滤掉已读取完毕的源文件。

2.根据权利要求1所述的方法,其特征在于,所述保存所述源文件名称到源文件名称组,包括:保存所述源文件名称到表格文件中的源文件名称组;

或者,保存所述源文件名称到数据库中的源文件名称组。

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:根据正则表达式对所述源文件进行过滤。

4.根据权利要求1或2所述的方法,其特征在于,所述过滤掉已读取完毕的源文件之后,所述方法还包括:按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。

5.根据权利要求3所述的方法,其特征在于,所述根据正则表达式对所述源文件进行过滤之前,所述方法还包括:在不需要过滤的源文件名称中预先设置筛选字段。

6.一种基于Flume的数据处理装置,其特征在于,所述装置包括:获取单元,用于在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;

保存单元,用于保存所述源文件名称到源文件名称组;

过滤单元,用于通过查询所述源文件名称组过滤掉已读取完毕的源文件。

7.根据权利要求6所述的装置,其特征在于,所述保存单元具体用于:保存所述源文件名称到表格文件中的源文件名称组;

或者,保存所述源文件名称到数据库中的源文件名称组。

8.根据权利要求6或7所述的装置,其特征在于,所述过滤单元,还用于根据正则表达式对所述源文件进行过滤。

9.根据权利要求6或7所述的装置,其特征在于,所述装置还包括读取单元,用于按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。

10.根据权利要求8所述的装置,其特征在于,所述装置还包括预设单元,用于在不需要过滤的源文件名称中预先设置筛选字段。

说明书全文

一种基于Flume的数据处理方法及装置

技术领域

[0001] 本发明涉及数据处理技术,尤其涉及一种基于Flume的数据处理方法及装置。

背景技术

[0002] Flume是Cloudera提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据,其中,Flume提供了从控制台(console)、RPC(Thrift-RPC)、文件(text)、tail(UNIX tail)、syslog及命令执行(exec)等数据源上收集数据的能力;同时,Flume提供对数据进行简单处理,并写到各种可定制的数据接收方的能力。
[0003] 图1为现有技术中Flume的系统架构示意图,如图1所示,采集agent负责进行数据采集,该数据指服务器等待采集的设备中的日志;在数据采集过程中,为agent指定监听目录后,agent默认读取该目录下所有文件的源文件;读取源文件的过程中,需要过滤已经传输完毕即已被读取的源文件。
[0004] 现有技术中,对已经传输完毕的源文件进行过滤时,agent对已经传输完毕的源文件进行重命名;通过重命名,可以实现在已经传输完毕的源文件的名称中,加入用以表征“该源文件已被读取完毕”的标识。
[0005] 但是,在重命名源文件后,可能导致agent或源文件所在的设备无法根据源文件的原有命名格式查找到具有原始名称的源文件,从而导致文件查找失败。

发明内容

[0006] 为解决上述技术问题,本发明实施例提供一种基于Flume的数据处理方法及装置,能在不改变源文件名称的情况下,过滤已被读取的源文件。
[0007] 本发明实施例的技术方案是这样实现的:
[0008] 本发明实施例提供一种基于Flume的数据处理方法及装置,包括:在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;保存所述源文件名称到源文件名称组;通过查询所述源文件名称组过滤掉已读取完毕的源文件。
[0009] 上述方案中,所述保存所述源文件名称到源文件名称组,包括:保存所述源文件名称到表格文件中的源文件名称组;或者,保存所述源文件名称到数据库中的源文件名称组。
[0010] 上述方案中,所述方法还包括:根据正则表达式对所述源文件进行过滤。
[0011] 上述方案中,所述过滤掉已读取完毕的源文件之后,所述方法还包括:按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。
[0012] 上述方案中,所述根据正则表达式对所述源文件进行过滤之前,所述方法还包括:在不需要过滤的源文件名称中预先设置筛选字段。
[0013] 本发明实施例提供一种基于Flume的数据处理装置,所述装置包括:
[0014] 获取单元,用于在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;保存单元,用于保存所述源文件名称到源文件名称组;过滤单元,用于通过查询所述源文件名称组过滤掉已读取完毕的源文件。
[0015] 上述方案中,所述保存单元具体用于:保存所述源文件名称到表格文件中的源文件名称组;或者,保存所述源文件名称到数据库中的源文件名称组。
[0016] 上述方案中,所述过滤单元,还用于根据正则表达式对所述源文件进行过滤。
[0017] 上述方案中,所述装置还包括读取单元,用于按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。
[0018] 上述方案中,所述装置还包括预设单元,用于在不需要过滤的源文件名称中预先设置筛选字段。
[0019] 本发明实施例所提供的基于Flume的数据处理方法及装置,保存已获取的源文件的源文件名称到源文件名称组,并通过查询所述源文件名称组过滤已读取完毕的源文件,相比于现有技术,可以在不改变源文件名称的情况下,过滤已被读取的源文件。

附图说明

[0020] 图1为现有技术中FLume的系统架构示意图;
[0021] 图2为本发明实施例基于Flume的数据处理方法的实现流程图;
[0022] 图3为本发明实施例基于Flume的数据处理方法的具体执行流程示意图;
[0023] 图4为本发明实施例基于Flume的数据处理装置的组成结构示意图。

具体实施方式

[0024] 为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
[0025] 图2为本发明实施例基于Flume的数据处理方法的实现流程图,如图2所示,本发明实施例提供的基于Flume的数据处理方法包括:
[0026] 步骤201,在源文件读取完毕后,获取被读取完毕的源文件的所述源文件名称。
[0027] 步骤202,保存所述源文件名称到源文件名称组。
[0028] 步骤203,通过查询所述源文件名称组过滤掉已读取完毕的源文件。
[0029] 在本发明实施例中,保存源文件名称到源文件名称组中时,可保存所述源文件名称到表格文件中的源文件名称组;也可以保存所述源文件名称到数据库中的源文件名称组。即在实施步骤202时,可以采用建立表格的方式保存源文件名称,也可以采用建立数据库的方式保存源文件名称。
[0030] 在步骤201中,agent扫描监听目录,监控源文件的读取情况,一旦监控到有源文件读取完毕,则获取被读取完毕的源文件名称。
[0031] 在步骤202中,agent将获取到的读取完毕的源文件的名称,保存在表格或数据库中。
[0032] 在步骤203,agent在对文件进行过滤时,通过查询该表格或数据库,即可以获知哪些源文件已经被读取完毕,从而可以达到过滤已读取完毕的源文件的目的。
[0033] 采用本发明实施例中的技术方案,若agent或者源文件所在的服务器期望查询文件,则可以按照原有的文件命名格式(如**年**月**日**分**日志)来生成期望查询的源文件名称,并根据生成的源文件名称进行文件查询。或者,agent或者所述服务器也可以接收用户输入的该格式的源文件名称,并根据该源文件名称进行文件查询。
[0034] 如图3所示,本发明实施例提供的基于Flume的数据处理方法中,agent首先扫描监听目录,再按照设定的规则对源文件进行过滤,之后,读取源文件。
[0035] 其中,在对源文件进行过滤时,不仅包括步骤201至步骤203中的对已读取的源文件进行过滤的文件过滤内容,还包括对预先设置的不需要读取的源文件的过滤,在发明实施例中,agent根据正则表达式对所述源文件进行过滤。
[0036] 在使用正则表达式对所述源文件进行过滤之前,需要在不需要过滤的源文件名称中预先设置筛选字段。
[0037] 例如,可以预先设置默认值^$,即若源文件名称里有这个默认值,则需要读取该源文件。例如某源文件的名称可以设置为:^.*\.tmp$.过滤.tmp文件。那么,该源文件为不过滤的源文件,即需要对该文件进行读取,否则不对该文件进行读取。
[0038] 在对源文件进行正则表达式过滤和已读取文件的过滤之后,按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。
[0039] 例如,源文件中存在同一日期的分别以18点、19点和20点为末次修改时间的源文件需要读取时,则优先读取以18点为末次修改时间的源文件,再读取以19点为末次修改时间的源文件,最后读取以20点为末次修改时间的源文件。
[0040] 本发明实施例所提供的基于Flume的数据处理方法,通过保存已获取的源文件的源文件名称到源文件名称组,并通过查询所述源文件名称组过滤已读取完毕的源文件,相比于现有技术,可以在不改变源文件名称的情况下,过滤已被读取的源文件。
[0041] 如图4所示,本发明实施例提供的基于Flume的数据处理装置包括:
[0042] 获取单元401,用于在源文件读取完毕后,获取被读取完毕的源文件的所述源文件名称。
[0043] 保存单元402,用于保存所述源文件名称到源文件名称组。
[0044] 过滤单元403,用于通过查询所述源文件名称组过滤掉已读取完毕的源文件。
[0045] 在本发明实施例中,保存单元402保存源文件名称到源文件名称组中时,具体用于保存所述源文件名称到表格文件中的源文件名称组;也可以用于保存所述源文件名称到数据库中的源文件名称组。即保存单元402可以采用建立表格的方式保存源文件名称,也可以采用建立数据库的方式保存源文件名称。
[0046] 在对源文件进行已读取源文件过滤时,获取单元401扫描监听目录,监控源文件的读取情况,一旦监控到有源文件读取完毕,则获取被读取完毕的源文件名称。
[0047] 之后,保存单元402将获取到的读取完毕的源文件的名称,保存在表格或数据库中。
[0048] 过滤单元403在对文件进行过滤时,通过查询该表格或数据库,即可以获知哪些源文件已经被读取完毕,从而可以达到过滤已读取完毕的源文件的目的。
[0049] 采用本发明实施例中的技术方案,若agent或者源文件所在的服务器期望查询文件,则可以按照原有的文件命名格式(如**年**月**日**分**日志)来生成期望查询的源文件名称,并根据生成的源文件名称进行文件查询。或者,agent或者所述服务器也可以接收用户输入的该格式的源文件名称,并根据该源文件名称进行文件查询。
[0050] 在本发明实施例中,不仅使用过滤单元403对已读取的源文件进行过滤的文件过滤内容,还对预先设置的不需要读取的源文件的过滤,因此,过滤单元403还用于根据正则表达式对所述源文件进行过滤。
[0051] 在过滤单元403使用正则表达式对所述源文件进行过滤之前,需要在不需要过滤的源文件名称中预先设置筛选字段。因此,基于Flume的数据处理装置还包括预设单元(图中为示出),用于在不需要过滤的源文件名称中预先设置筛选字段。
[0052] 例如,可以预先设置默认值^$,即若源文件名称里有这个默认值,则需要读取该源文件。例如某源文件的名称可以设置为:^.*\.tmp$.过滤.tmp文件。那么,该源文件为不过滤的源文件,即需要对该文件进行读取,否则不对该文件进行读取。
[0053] 在对源文件进行正则表达式过滤和已读取文件的过滤之后,还需要读取过滤后的源文件,因此,本发明实施例基于Flume的数据处理装置还包括读取单元(图中未示出),用于按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。
[0054] 例如,源文件中存在同一日期的分别以18点、19点和20点为末次修改时间的源文件需要读取时,读取单元优先读取以18点为末次修改时间的源文件,再读取以19点为末次修改时间的源文件,最后读取以20点为末次修改时间的源文件。
[0055] 本发明实施例所提供的基于Flume的数据处理装置,通过保存已获取的源文件的源文件名称到源文件名称组,并通过查询所述源文件名称组过滤已读取完毕的源文件,相比于现有技术,可以在不改变源文件名称的情况下,过滤已被读取的源文件。
[0056] 在实际应用中,获取单元401、保存单元402、过滤单元403、读取单元以及预设单元均可由位于基于Flume的数据处理装置上的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital  Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
[0057] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0058] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0059] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0060] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0061] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用