基于flume异构数据的采集与标准化方法技术

技术编号:38364990 阅读:13 留言:0更新日期:2023-08-05 17:32
本发明专利技术涉及计算机网络技术领域,公开了基于flume异构数据的采集与标准化方法,包括:在flume配置文件中完成数据源的配置,根据数据本身的特征信息配置相应的连接信息与数据源插件;创建连接数据源和目标存储的数据流;对不同数据的类型分配对应的采集方式;对数据进行处理操作,通过自定义的拦截器实现;拦截器对json数组类数据做扁平化处理;通过配置获取解析规则,根据所述解析规则对数据提取有效字段值;通过配置获取字段和下游表字段的映射关系,方便下游存储。本发明专利技术提供的方法,使用flume内置的多种source,让采集系统具备很好的灵动性、灵活性,自定义拦截器,解决数据源数据因内容多样化而标准化数据的难题。据因内容多样化而标准化数据的难题。据因内容多样化而标准化数据的难题。

【技术实现步骤摘要】
基于flume异构数据的采集与标准化方法


[0001]本专利技术涉及计算机网络
,特别涉及一种基于flume异构数据的采集与标准化方法。

技术介绍

[0002]针对不同数据源,需要定制化开发程序来采集数据,开发和维护成本高;存在数据积压、性能扩展难题。

技术实现思路

[0003]本专利技术提供了一种基于flume异构数据的采集与标准化方法,使用flume内置的多种source,让采集系统具备很好的灵动性、灵活性,自定义拦截器FormatInterceptor,解决数据源数据因内容多样化而标准化数据的难题。
[0004]本专利技术提供了一种基于flume异构数据的采集与标准化方法,包括:
[0005]在flume配置文件中完成数据源的配置,包括关系型数据库、系统日志、服务器日志、消息队列,根据数据本身的特征信息配置相应的连接信息与数据源插件;
[0006]基于flume的agent、channel,创建一个连接数据源和目标存储的数据流,以实现数据的传输;
[0007]配置数据流插件,以实现对异构数据源的采集,对不同数据的类型分配对应的采集方式;
[0008]flume组件接收到数据后,对数据进行处理操作以将数据标准化为统一格式,所述处理操作通过自定义的拦截器FormatInterceptor实现;其中,所述处理操作包括清洗、转换和过滤;所述拦截器FormatInterceptor是java程序通过实现flume本身interceptor接口,同时内部添加静态内部类,实现Builder接口;
[0009]FormatInterceptor对json数组类数据做扁平化处理;其中,所述扁平化处理为将数据中的嵌套结构展形开成扁平的数据结构;
[0010]FormatInterceptor通过配置获取解析规则,根据所述解析规则对数据提取有效字段值;
[0011]FormatInterceptor通过配置获取字段和下游表字段的映射关系,方便下游存储。
[0012]进一步地,所述配置数据流插件,以实现对异构数据源的采集,对不同数据的类型分配对应的采集方式的步骤中,对不同数据的类型分配对应的采集方式包括:
[0013]对于web服务器日志,通过HTTP插件来实现数据实时采集;
[0014]对于传统关系型数据库,通过JDBC插件来实现数据批量获取。
[0015]进一步地,所述flume组件接收到数据后,对数据进行处理操作以将数据标准化为统一格式,所述处理操作通过自定义的拦截器FormatInterceptor实现的步骤中,包括:
[0016]FormatInterceptor中intercept方法从上下文中拿到Event对象(接收到的每条数据信息),然后对其进行删除重复信息、纠正存在的错误信息,以及处理无效数据和缺失
数值操作;其中,所述Event对象为接收到的每条数据信息。
[0017]进一步地,当需要采集安全设备日志数据,将其中的某些字段提取出来,并且只保留事件等级最高的安全事件信息数据时:
[0018]首先实现Interceptor接口,并实现其中的initialize、intercept和close方法;在initialize方法中,读取配置文件中的参数,并进行初始化工作;在intercept方法中,对每条数据进行处理,包括提取和清洗数据,最后返回一个事件等级最高的安全事件数据;在close方法中,进行资源清理工作。
[0019]进一步地,所述FormatInterceptor通过配置获取解析规则,根据所述解析规则对数据提取有效字段值的步骤中,解析规则对数据提取有效字段值,包括:
[0020]根据内部类Builder调用其configure方法从flume外部配置文件中获取自定义的规则信息;其中,所述规则信息包括数据本身有效字段的提取规则和有效字段映射关系规则。
[0021]进一步地,所述数据本身有效字段的提取规则为:
[0022]数据本身以不同形式存在,包括key

value、json、无规则数据,对其做数据转换,即数据按照指定的规则来转换提取成有效的字段数据。
[0023]进一步地,所述有效字段映射关系规则为:
[0024]从数据本身拿到有效数字段数据后,对其做字段的映射,以达到下游入库表的要求,规则内容即有效字段和表字段的映射关系。
[0025]本专利技术还提供了一种基于flume异构数据的采集与标准化装置,包括:
[0026]第一配置模块,用于在flume配置文件中完成数据源的配置,包括关系型数据库、系统日志、服务器日志、消息队列,根据数据本身的特征信息配置相应的连接信息与数据源插件;
[0027]创建模块,用于基于flume的agent、channel,创建一个连接数据源和目标存储的数据流,以实现数据的传输;
[0028]第二配置模块,用于配置数据流插件,以实现对异构数据源的采集,对不同数据的类型分配对应的采集方式;
[0029]第一处理模块,用于flume组件接收到数据后,对数据进行处理操作以将数据标准化为统一格式,所述处理操作通过自定义的拦截器FormatInterceptor实现;其中,所述处理操作包括清洗、转换和过滤;所述拦截器FormatInterceptor是java程序通过实现flume本身interceptor接口,同时内部添加静态内部类,实现Builder接口;
[0030]第二处理模块,用于FormatInterceptor对json数组类数据做扁平化处理;其中,所述扁平化处理为将数据中的嵌套结构展开形成扁平的数据结构;
[0031]第一获取模块,用于FormatInterceptor通过配置获取解析规则,根据所述解析规则对数据提取有效字段值;
[0032]第二获取模块,用于FormatInterceptor通过配置获取字段和下游表字段的映射关系,方便下游存储。
[0033]本专利技术还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0034]本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机
程序被处理器执行时实现上述方法的步骤。
[0035]本专利技术的有益效果为:
[0036]本专利技术对异构数据源(file、db、syslog、kafka等)统一配置对应的source,flume获取到数据后统一对数据进行清洗、转换后,发送下游处理。这样节省了原有采集系统对数据源获取的定制化的开发和维护成本;原有定制化开发的采集系统存在性能瓶颈,数据量上升大一定程度后,会存在数据积压问题。flume基于组件本省分布式、高性能的优势,完美解决数据采集性能问题;自定义的拦截器FormatInterceptor,可以统一对异构数据源的标准化处理,减少开发和维护成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于flume异构数据的采集与标准化方法,其特征在于,包括:在flume配置文件中完成数据源的配置,包括关系型数据库、系统日志、服务器日志、消息队列,根据数据本身的特征信息配置相应的连接信息与数据源插件;基于flume的agent、channel,创建一个连接数据源和目标存储的数据流,以实现数据的传输;配置数据流插件,以实现对异构数据源的采集,对不同数据的类型分配对应的采集方式;flume组件接收到数据后,对数据进行处理操作以将数据标准化为统一格式,所述处理操作通过自定义的拦截器FormatInterceptor实现;其中,所述处理操作包括清洗、转换和过滤;所述拦截器FormatInterceptor是java程序通过实现flume本身interceptor接口,同时内部添加静态内部类,实现Builder接口;FormatInterceptor对json数组类数据做扁平化处理;其中,所述扁平化处理是将数据中的嵌套结构展形开成扁平的数据结构;FormatInterceptor通过配置获取解析规则,根据所述解析规则对数据提取有效字段值;FormatInterceptor通过配置获取字段和下游表字段的映射关系,方便下游存储。2.根据权利要求1所述的基于flume异构数据的采集与标准化方法,其特征在于,所述配置数据流插件,以实现对异构数据源的采集,对不同数据的类型分配对应的采集方式的步骤中,对不同数据的类型分配对应的采集方式包括:对于web服务器日志,通过HTTP插件来实现数据实时采集;对于传统关系型数据库,通过JDBC插件来实现数据批量获取。3.根据权利要求1所述的基于flume异构数据的采集与标准化方法,其特征在于,所述flume组件接收到数据后,对数据进行处理操作以将数据标准化为统一格式,所述处理操作通过自定义的拦截器FormatInterceptor实现的步骤中,包括:FormatInterceptor中intercept方法从上下文中拿到Event对象(接收到的每条数据信息),然后对其进行删除重复信息、纠正存在的错误信息、以及处理无效数据和缺失数值操作;其中,所述Event对象为接收到的每条数据信息。4.根据权利要求3所述的基于flume异构数据的采集与标准化方法,其特征在于,当需要采集安全设备日志数据,将其中的某些字段提取出来,并且只保留事件等级最高的安全事件信息数据时:首先实现Interceptor接口,并实现其中的initialize、intercept和close方法;在initialize方法中,读取配置文件中的参数,并进行初始化工作;在intercept方法中,对每条数据进行处理,包括提取和清洗数据,最后返回一个事件等级最高的安全事件数据;在close方法中,进行资源清理工作。5.根据权利要求...

【专利技术属性】
技术研发人员:王敏程涛木王可锋蒋青松
申请(专利权)人:博瑞得科技有限公司
类型:发明
国别省市:

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

1