一种插件式实时数据处理系统及方法技术方案

技术编号:19690938 阅读:29 留言:0更新日期:2018-12-08 10:57
本发明专利技术提供的一种插件式实时数据处理方法及系统,包括:S101、通过Yarn组件生成JlogstashApplicationMaster,并向Yarn组件的ResourceManager申请可用资源,启动Container容器,由Container容器启动JLogstashWork;S102、根据配置文件生成Input组件,接收外部数据;S103、根据配置文件生成Filter组件,解析和过滤数据;S104、根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中;本发明专利技术能够在4G4核的虚拟机配置下,单机采集性能达到2w/s;能做到资源调度和资源隔离;支持水平横向扩展,避免单机性能瓶颈;能保证应用异常退出时数据能保证不丢失;通过配置文件支持插件式开发,方便第三方用户自定义自己需要的采集、过滤、输出插件;性能会得到至少3倍的提升,实用性极强。

【技术实现步骤摘要】
一种插件式实时数据处理系统及方法
本专利技术属于数据处理的
,具体涉及一种插件式实时数据处理系统及方法。
技术介绍
现有的开源方案有Logstash,它是ruby语言编写,现主要有以下缺陷:1、由于采用动态语言ruby编写,单机性能不高;2、只能是单机,不支持分布式部署,不能分布式水平横向扩展,会成为性能瓶颈;3、不支持资源调度和资源隔离;4、应用异常退出时数据有丢失的风险。
技术实现思路
本专利技术克服现有技术存在的不足,所要解决的技术问题为:提供一种能够提高单机性能、数据不易丢失,支持分布式水平扩展,也可以通过yarn做到资源调度和资源隔离的插件式实时数据处理系统及方法。为了解决上述技术问题,本专利技术采用的技术方案为:一种插件式实时数据处理方法,包括:S101、通过Yarn组件生成JlogstashApplicationMaster,并向Yarn组件的ResourceManager申请可用资源,启动Container容器,由Container容器启动JLogstashWork;S102、根据配置文件生成Input组件,接收外部数据;S103、根据配置文件生成Filter组件,解析和过滤数据;S104、根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中。优选地,所述根据配置文件生成Input组件,接收外部数据,具体包括:根据配置文件中的inputs属性生成Input组件;Input组件接收插件的数据源并写入到InputQueue队列中。优选地,所述根据配置文件生成Filter组件,解析和过滤数据,具体包括:根据配置文件中的filters属性生成Filter组件;读取InputQueue队列中的数据,经过滤后写入到FilterQueue队列中。优选地,所述根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中,具体包括:根据配置文件中的output属性生成Output组件;读取FilterQueue队列中的数据,并存储到指定的第三方存储中。优选地,所述根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中,还包括:当存储到指定的第三方存储中的数据写入失败时,将写入失败的数据存储到FailMsgQueue队列中。相应地,一种插件式实时数据处理系统,包括:启动单元:通过Yarn组件生成JlogstashApplicationMaster,并向Yarn组件的ResourceManager申请可用资源,启动Container容器,由Container容器启动JLogstashWork;数据接收单元:根据配置文件生成Input组件,接收外部数据;过滤单元:根据配置文件生成Filter组件,解析和过滤数据;输出单元:根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中。优选地,所述数据接收单元,具体包括:第一生成单元:根据配置文件中的inputs属性生成Input组件;第一读取单元:Input组件接收插件的数据源并写入到InputQueue队列中。优选地,所述过滤单元,具体包括:第二生成单元:根据配置文件中的filters属性生成Filter组件;第二读取单元:用于读取InputQueue队列中的数据,经过滤后写入到FilterQueue队列中。优选地,所述输出单元,具体包括:第三生成单元:根据配置文件中的output属性生成Output组件;第一存储单元:用于读取FilterQueue队列中的数据,并存储到指定的第三方存储中。优选地,所述输出单元,还包括:第二存储单元:当存储到指定的第三方存储中的数据写入失败时,将写入失败的数据存储到FailMsgQueue队列中。本专利技术与现有技术相比具有以下有益效果:本专利技术提供的一种插件式实时数据处理方法及系统,在4G4核的虚拟机配置下,单机采集性能达到2w/s;能做到资源调度和资源隔离;支持水平横向扩展,避免单机性能瓶颈;能保证应用异常退出时数据能保证不丢失;通过配置文件支持插件式开发,方便第三方用户自定义自己需要的采集、过滤、输出插件;性能会得到至少3倍的提升,实用性极强。附图说明下面结合附图对本专利技术做进一步详细的说明;图1为本专利技术实施例一提供的一种插件式实时数据处理方法的流程示意图;图2为本专利技术实施例一提供的一种插件式实时数据处理系统的结构示意图;图3为本专利技术实施例二提供的一种插件式实时数据处理系统的结构示意图;图4为本专利技术实施例三提供的一种插件式实时数据处理系统的结构示意图;图5为本专利技术实施例四提供的一种插件式实时数据处理系统的结构示意图;图6为本专利技术实施例五提供的一种插件式实时数据处理系统的结构示意图;其中:101为启动单元,102为数据接收单元,1021为第一生成单元,1022为第一读取单元,103为过滤单元,1031为第二生成单元,1032为第二读取单元,104为输出单元,1041为第三生成单元,1042为第一存储单元,1043为第二存储单元。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例;基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术实施例一提供的一种插件式实时数据处理方法的流程示意图,如图1所示,一种插件式实时数据处理方法,包括:S101、通过Yarn组件生成JlogstashApplicationMaster,并向Yarn组件的ResourceManager申请可用资源,启动Container容器,由Container容器启动JLogstashWork;S102、根据配置文件生成Input组件,接收外部数据;S103、根据配置文件生成Filter组件,解析和过滤数据;S104、根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中。进一步地,所述根据配置文件生成Input组件,接收外部数据,具体包括:根据配置文件中的inputs属性生成Input组件;Input组件接收插件的数据源并写入到InputQueue队列中。进一步地,所述根据配置文件生成Filter组件,解析和过滤数据,具体包括:根据配置文件中的filters属性生成Filter组件;读取InputQueue队列中的数据,经过滤后写入到FilterQueue队列中。进一步地,所述根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中,具体包括:根据配置文件中的output属性生成Output组件;读取FilterQueue队列中的数据,并存储到指定的第三方存储中。进一步地,所述根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中,还包括:当存储到指定的第三方存储中的数据写入失败时,将写入失败的数据存储到FailMsgQueue队列中。图2为本专利技术实施例一提供的一种插件式实时数据处理系统的结构示意图,如图2所示,一种插件式实时数据处理系统,包括:启动单元101:通过Yarn组件生成Jlog本文档来自技高网...

【技术保护点】
1.一种插件式实时数据处理方法,其特征在于:包括:S101、通过Yarn组件生成JlogstashApplicationMaster,并向Yarn组件的ResourceManager申请可用资源,启动Container容器,由Container容器启动JLogstashWork;S102、根据配置文件生成Input组件,接收外部数据;S103、根据配置文件生成Filter组件,解析和过滤数据;S104、根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中。

【技术特征摘要】
1.一种插件式实时数据处理方法,其特征在于:包括:S101、通过Yarn组件生成JlogstashApplicationMaster,并向Yarn组件的ResourceManager申请可用资源,启动Container容器,由Container容器启动JLogstashWork;S102、根据配置文件生成Input组件,接收外部数据;S103、根据配置文件生成Filter组件,解析和过滤数据;S104、根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中。2.根据权利要求1所述的一种插件式实时数据处理方法,其特征在于:所述根据配置文件生成Input组件,接收外部数据,具体包括:根据配置文件中的inputs属性生成Input组件;Input组件接收插件的数据源并写入到InputQueue队列中。3.根据权利要求2所述的一种插件式实时数据处理方法,其特征在于:所述根据配置文件生成Filter组件,解析和过滤数据,具体包括:根据配置文件中的filters属性生成Filter组件;读取InputQueue队列中的数据,经过滤后写入到FilterQueue队列中。4.根据权利要求3所述的一种插件式实时数据处理方法,其特征在于:所述根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中,具体包括:根据配置文件中的output属性生成Output组件;读取FilterQueue队列中的数据,并存储到指定的第三方存储中。5.根据权利要求4所述的一种插件式实时数据处理方法,其特征在于:所述根据配置文件生成Output组件,将解析和过滤后的数据发送到指定的第三方存储中,还包括:当存储到指定的第三方存储中的数据写入失败时,将写入失败的数据存储到FailMsgQueue队列中。6.一种插件式实时数据处理系统,...

【专利技术属性】
技术研发人员:杨思枢
申请(专利权)人:杭州玳数科技有限公司
类型:发明
国别省市:浙江,33

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

1