CN110502491A - 一种日志采集***及其数据传输方法、装置 - Google Patents
一种日志采集***及其数据传输方法、装置 Download PDFInfo
- Publication number
- CN110502491A CN110502491A CN201910677014.XA CN201910677014A CN110502491A CN 110502491 A CN110502491 A CN 110502491A CN 201910677014 A CN201910677014 A CN 201910677014A CN 110502491 A CN110502491 A CN 110502491A
- Authority
- CN
- China
- Prior art keywords
- sink
- data
- extension element
- component
- collect system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000005540 biological transmission Effects 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 27
- 238000001914 filtration Methods 0.000 claims description 22
- 230000000712 assembly Effects 0.000 claims description 19
- 238000000429 assembly Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 19
- 238000003672 processing method Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 claims description 4
- 230000001052 transient effect Effects 0.000 claims description 4
- 239000000306 component Substances 0.000 description 88
- 230000008901 benefit Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种日志采集***及其数据传输方法、装置。日志采集***的数据传输方法包括:在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件;利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照预设业务处理规则对所述原始数据进行处理,得到目标数据;将所述目标数据传输到相应的数据接收方。通过增加Sink扩展组件,利用Sink扩展组件按照业务要求对原始数据进行处理,提取需要的、可用的数据向后传输,避免了后端服务器IO流瓶颈以及数据积压问题。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种日志采集***及其数据传输方法、装置。
背景技术
Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的***。Flume提供对数据进行简单处理的能力,Flume运行的核心是Agent,Flume以Agent为最小的独立运行单位。一个Agent就是一个JVM(Java虚拟机)。它是一个完整的数据收集工具,含有三个核心组件,分别是Source、Channel、Sink。通过这些组件,Event(事件)可以从一个地方流向另一个地方,如图1所示,Source是数据的收集端,负责将数据捕获后封装到事件(event)里,然后将事件推入Channel中,Channel(管道)是用来传输数据的,Sink组件从Channel中取出事件,然后将数据发到别处(比如分发到文件***、数据库,也可以分发到其他Agent的Source处)。图1中箭头的指向代表了数据的流向,比如数据从Web服务器-->Source-->Channel-->Sink(组件)-->数据存储,图1的中间被矩形框起来的部分即是一个Agent。
由于现有Flume主要用于日志数据收集和传输,为了保证日志数据采集效率其对日志数据的处理基本与业务无关,当传输的数据量较大时,比如每秒几十亿的数据量,容易造成后端数据库服务器或业务服务器不能实时消费处理Flume传输的数据,造成了数据积压,服务器假死等问题。
发明内容
有鉴于此,本申请实施例提供了一种日志采集***的数据传输方法、装置,通过增加Sink扩展组件,使得日志采集***按照业务要求对原始数据进行处理,提取需要的、可用的数据向后传输,避免了后端服务器IO流瓶颈以及数据积压问题。
根据本申请的一个方面,提供了一种日志采集***的数据传输方法,包括:
在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件;
利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照预设业务处理规则对所述原始数据进行处理,得到目标数据;
将所述目标数据传输到相应的数据接收方。
根据本申请的另一个方面,提供了一种日志采集***的数据传输装置,包括:
组件扩展模块,用于在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件;
数据处理模块,用于利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照预设业务处理规则对所述原始数据进行处理,得到目标数据;
传输模块,用于将所述目标数据传输到相应的数据接收方。
根据本申请的又一个方面,提供了一种日志采集***,其中,该***包括:客户端和日志采集服务器;所述日志采集服务器中包括如本申请的另一个方面所述的日志采集***的数据传输装置。
根据本申请的再一个方面,提供了一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请的一个方面所述方法的步骤。
有益效果:应用本申请实施例的日志采集***的数据传输方案,在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件,利用各Sink扩展组件从Sink组件中获取原始数据,并按照预设业务处理规则对原始数据进行处理,得到目标数据后将目标数据传输到相应的数据接收方,由此将业务处理规则提前到Sink组件中处理,避免了Sink组件对数据不作业务处理而是简单传输导致的后端服务器压力大,数据积压、服务器假死问题。
附图说明
图1是现有技术Flume***的数据传输示意图;
图2是本申请实施例一的日志采集***的数据传输方法的流程图;
图3是本申请实施例二的日志采集***的数据传输方法的流程图;
图4是本申请实施例三的日志采集***的数据传输方法的流程图;
图5是本申请实施例四的日志采集***的数据传输方法的流程图;
图6是本申请实施例五的日志采集***的数据传输方法的流程图;
图7是本申请一个实施例的日志采集***的数据传输装置的框图;
图8是本申请一个实施例的日志采集***的框图;
图9是本申请一个实施例的非瞬时性计算机可读存储介质的结构示意图。
具体实施方式
为使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
实施例一
本实施例提出一种日志采集***的数据传输方法,图2是本申请实施例一的日志采集***的数据传输方法的流程图,参见图2,本实施例的日志采集***的数据传输方法,包括下列步骤:
步骤S201,在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件;
步骤S202,利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照所述Sink扩展组件中的业务处理规则对所述原始数据进行处理,得到目标数据;
步骤S203,将所述目标数据传输到相应的数据接收方。
由图2所示可知,本实施例的日志采集***的数据传输方法,在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件,利用各Sink扩展组件按照预设业务处理规则对原始数据进行处理,得到目标数据后将目标数据传输到相应的数据接收方,由此,相当于将业务处理流程提前,扩展了现有Sink组件的数据处理功能,避免了Sink组件不作处理仅仅简单传输数据导致后端服务器压力大,数据积压问题,有利于提高日志数据的全流程的处理效率。
本实施例中,在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件包括:创建一个框架类,所述框架类继承所述日志采集***Flume的AbstractSink抽象类,并实现所述日志采集***Flume的Configurable接口;定义公共接口,所述公共接口中包括多种业务处理方法;根据业务需求创建Sink扩展组件,所述Sink扩展组件继承所述框架类,并实现所述公共接口。
具体的,配置过程是:
创建一个框架类,BDIAFlumeSinkFramework;
所述框架类BDIAFlumeSinkFramework继承日志采集***Flume的AbstractSink抽象类,并实现日志采集***Flume的Configurable接口,从而构建自定义业务框架。
接着,定义所有的业务都需要实现的公共接口,如BusinService接口,公共接口中包括的不同的方法用于实现相应的业务处理,比如初始化方法,业务处理方法,分发方法,过滤方法、标准化方法、数据封装方法、关系数据库方法、预警方法,线程控制方法,流转方法,动态配置刷新方法,销毁方法等。
以创建的扩展组件为日志监控组件为例,一个实施例中日志监控组件的配置文件如下:
agent.sinks.log_monitor_sink.type=com.dm.software.sink.BDIAFlumeSinkFramework;
agent.sinks.log_monitor_sink.service=com.dm.software.serviceImpl.LogMonitorService
agent.sinks.log_monitor_sink.assembly.jar=/home/bdia/LogMonitorServerV1.0.jar
agent.sinks.log_monitor_sink.assembly.configure=/home/bdia/logmonitor.properties
其中,LogMonitorService实现了BusinService公共接口,
agent.sinks.log_monitor_sink.assembly配置的是自定义的组件包,
agent.sinks.log_monitor_sink.assembly.configure是加载动态配置文件信息,非必填项,框架类的默认组件包里有default.properties,即默认属性。
通过定义框架类和公共接口,利用框架类从数据源(比如Sink组件处)获取数据和配置信息,并进行不同业务的流转和控制。利用公共接口封装有多种方法,不同的业务选择实现相应的公共接口内的方法即可。
实施例二
本实施例中通过在Sink组件加入过滤组件,利用过滤组件过滤非法数据,垃圾数据,黑名单等信息数据。也就是说,前述在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件包括:依据数据过滤业务需求,在日志采集***Flume的Sink组件中配置与数据过滤业务需求对应的Sink过滤组件;利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照预设业务处理规则对所述原始数据进行处理,得到目标数据包括:利用所述Sink过滤组件通过所述框架类从所述Sink组件获取原始数据,并通过所述公共接口中的过滤业务处理方法对所述原始数据进行处理,得到目标数据;其中,所述过滤业务处理方法用于过滤非法数据,过滤垃圾数据,过滤黑名单数据中的一项或多项。
当然,所述在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件还可以包括:依据具有数据流转关系的第一业务需求和第二业务需求,在日志采集***Flume的Sink组件中配置与所述第一业务需求对应的第一Sink扩展组件;并依据第二业务需求,在日志采集***Flume的Sink组件中配置与所述第二业务需求对应的第二Sink扩展组件,所述第一Sink扩展组件为所述第二Sink扩展组件的上一级Sink扩展组件;所述利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照预设业务处理规则对所述原始数据进行处理,得到目标数据包括:利用所述第一Sink扩展组件从所述Sink组件获取原始数据,并按照预设业务处理规则对所述原始数据进行处理;利用所述第二Sink扩展组件从所述第一Sink扩展组件获取过程数据,并按照预设业务处理规则对所述过程数据进行处理,得到目标数据;其中,所述第一Sink扩展组件为过滤组件,所述第二Sink扩展组件为标准化组件。标准化组件可以设计数据库存储格式,字段长度,位置,字段内容、格式等标准化信息。
即,本实施例中支持设置多个Sink扩展组件并设置各Sink扩展组件与其他Sink扩展组件的数据流转关系。
过滤组件,标准化组件,数据库组件,分发组件等,这些组件都是开发好的工具组件,可直接应用于实际场景中。过滤组件是实现数据流中噪音数据进行清洗来减少IO的输出的目的,通过前述配置文件的规则进行清洗实现上述效果。标准化组件是实现适配的功能,比如,业务A的存储结构是固定的,字段顺序和类型都是固定的,那么则需要对原始数据进行标准化处理。数据库组件是将数据存储到相应的数据库中。分发组件是实现下个流程的流转过程。具体按实际业务情况加载不同的组件。
如图3所示,图3中方框所示为一个Flume agent,由图3所示可知,每个Flumeagent都包括Source组件、Channel组件和Sink组件。Source组件用于从安装在Web server上的客户端处收集日志数据,将数据封装到事件(event)里;然后将事件推入Channel组件中,Channel(管道)是连接Source组件和Sink组件,相当于缓存区;Sink组件用于从Channel组件中取出事件,然后将事件发到别处。
为了解决现有技术中的技术问题,本申请对传统Sink组件进行改进,增加了Sink扩展组件,每个应用场景都可以自定义相应的Sink扩展组件,通过配置来实现相应的功能。
图3中示意了两个Sink扩展组件,分别是Sink过滤组件和Sink标准化组件,需要说明的是,图3中是增加两个自定义的Sink扩展组件的情况,但在本申请的其他实施例中,自定义组件的数量不限于图3所示的两个,应根据实际需求进行设置。比如,图4所示的那样,在Sink组件中增加三个Sink扩展组件。
实施例三
图4是在图3的基础上,增加Sink关系数据库组件,关系数据库组件是满足下列应用场景:如果需要将日志数据导入关系型数据库,则可以加入关系数据库组件,进而分发到想要的关系数据库(比如Mysql,Oracle)中。
例如,在日志采集中,采集到的日志里,字段包括时间,信息级别,类,线程,方法,输出信息,异常信息等共50个字段,这是在整个流程的全量数据,如果直接传输容易造成网络IO,存储IO过高,卡死现象。
引入过滤组件,只需要将时间、级别、输出信息、异常信息这四个字段,那么对原始数据执行一次去除噪声数据的过程,减少了IO流。
而标准化组件的作用是按照标准配置转换,以适应后续的业务处理,比如,日志数据中时间格式有的是yyyy/MM/dd,有的是yyy-MM-dd,还有的格式是yyMMdd,这就需要对时间格式进行标准化以满足后续处理需求。不同的业务场景标准化组件输出情况不同,比如,标准化后直接入库到oracle关系数据,这就不要后续流转,也减少了IO的问题。
由此,通过增加Sink扩展组件,进行过滤、标准化等业务处理,避免Sink组件将大量的无关数据向后传输,从而降低了IO流的压力,有利于解决数据积压问题并提高数据处理效率。
实施例四
考虑到同一个数据源可能需要不同的业务进行处理,进而可能需要将同一份数据分发到多个业务组件中,如图5所示,本实施例的Flume agent中包括Sink过滤组件、Sink标准化组件、Sink关系数据库组件,这三个扩展组件分别从Channel组件处获取事件,各自进行相应的处理后发送给后端,比如,Sink过滤组件从Channel组件获取事件,并进行过滤后分发到HDFS存储,Sink标准化组件从Channel组件获取事件,并进行标准化处理后分发到Redis存储,Sink关系数据库组件从Channel组件获取事件,按照关系数据库的存储规则处理后发送给关系数据库。
由此,对同一个数据源,根据不同的业务要求分别进行处理,然后发送到相应的数据库中,采取分而治之的思想,避免了不加区分、集中处理导致后端数据库IO流压力巨大,解决了IO流瓶颈以及数据处理效率低下的问题,达到快速存储、响应,满足了业务需求。
实施例五
本实施例的数据采集***数据传输方法还提供了对分布式数据处理而后集中以及数据融合的支持。如图6所示,不同的Flume agent从不同的网络服务器Web Server获取日志数据,图6中左侧示意了两个网络服务器,各网络服务器分别连接一个Flume agent,Flume agent收集日志数据,进行过滤、标准化、数据封装,然后分发到图6右侧Flume agent中的Source组件,由图6右侧Flume agent的Source组件将数据传递到图6右侧Flume agent中的Sink过滤组件进行过滤并由Sink标准化组件进行标准化后传递到Sink关系数据库组件,由Sink关系数据库组件进行处理后分发到关系数据库存储。
日志采集***Flume支持分布式,因此,为了避免单点处理的瓶颈,本实施例图6左侧示意了不同的Flume agent分别获取处理进行处理,然后进行数据融合的方案,具体应用时,图6左上的Flume agent可以从Web Server获取订单日志数据,按照预设的小于10个字段的订单日志数据过滤掉的规则进行过滤,图6左下的Flume agent可以从Web Server获取商品浏览日志数据,按照预设的小于15个字段的商品浏览日志数据过滤掉的规则进行过滤,左侧的两个Flume agent将各自处理后的数据封装,然后发送到后端的Flume agent的Source组件进行融合。
针对大数据的数据流匹配输出效率高,准确率高,从源头上解决了不同业务的需求,避免了服务器因数据IO流瓶颈问题出现假死,卡死等状态。
与前述日志采集***的数据传输方法同属于一个技术构思,本申请实施例还提供了一种日志采集***的数据传输装置,如图7所示,该日志采集***的数据传输装置700包括:
组件扩展模块701,用于在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件;
数据处理模块702,用于利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照预设业务处理规则对所述原始数据进行处理,得到目标数据;
传输模块703,用于将所述目标数据传输到相应的数据接收方。
在本申请的一个实施例中,组件扩展模块701,具体用于创建一个框架类,所述框架类继承所述日志采集***Flume的AbstractSink抽象类,并实现所述日志采集***Flume的Configurable接口;定义公共接口,所述公共接口中包括多种业务处理方法;根据业务需求创建Sink扩展组件,所述Sink扩展组件继承所述框架类,并实现所述公共接口。
在本申请的一个实施例中,所述组件扩展模块701,具体用于依据数据过滤业务需求,在日志采集***Flume的Sink组件中配置与所述数据过滤业务需求对应的Sink过滤组件;
所述数据处理模块702,具体用于利用所述Sink过滤组件通过所述框架类从所述Sink组件获取原始数据,并通过所述公共接口中的过滤业务处理方法对所述原始数据进行处理,得到目标数据;其中,所述过滤业务处理方法用于过滤非法数据,过滤垃圾数据,过滤黑名单数据中的一项或多项。
在本申请的一个实施例中,所述组件扩展模块701,具体用于依据具有数据流转关系的第一业务需求和第二业务需求,在日志采集***Flume的Sink组件中配置与所述第一业务需求对应的第一Sink扩展组件;并依据第二业务需求,在日志采集***Flume的Sink组件中配置与所述第二业务需求对应的第二Sink扩展组件,所述第一Sink扩展组件为所述第二Sink扩展组件的上一级Sink扩展组件;
所述数据处理模块702,具体用于利用所述第一Sink扩展组件从所述Sink组件获取原始数据,并按照预设业务处理规则对所述原始数据进行处理;利用所述第二Sink扩展组件从所述第一Sink扩展组件获取过程数据,并按照预设业务处理规则对所述过程数据进行处理,得到目标数据;其中,所述第一Sink扩展组件为过滤组件,所述第二Sink扩展组件为标准化组件。
关于图7所示装置中的各模块所执行的各功能的举例解释说明,与前述方法实施例中的举例解释说明一致,这里不再一一赘述。
图8是本申请一个实施例的日志采集***的框图,参见图8,本实施例的日志采集***800包括客户端801和日志采集服务器802;
所述日志采集服务器802中包括前述实施例中的日志采集***的数据传输装置700。
本实施例的日志采集***,通过增加Sink扩展组件,将采集的原始数据经Sink扩展组件业务处理后进行分发和存储,以此缓解后端***IO流的瓶颈问题,提高业务处理效率,满足了大数据日志采集以及平台日志采集分析的需求。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请实施例的内容,并且上面对特定语言所做的描述是为了披露本申请实施例的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个申请方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,申请方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请实施例的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的页面性能测试装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
图9是本申请一个实施例的非瞬时性计算机可读存储介质的结构示意图。该计算机可读存储介质900存储有用于执行根据本申请实施例的方法步骤的计算机程序,可以被日志采集服务器的处理器读取,当计算机程序由日志采集服务器运行时,导致该日志采集服务器执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算程序可以执行上述任一实施例中示出的方法。计算机程序可以以适当形式进行压缩。
应该注意的是上述实施例对本申请实施例进行说明而不是对本申请实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词、第二、以及第三等的使用不表示任何顺序,可将这些单词解释为名称。
Claims (10)
1.一种日志采集***的数据传输方法,其特征在于,包括:
在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件;
利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照预设业务处理规则对所述原始数据进行处理,得到目标数据;
将所述目标数据传输到相应的数据接收方。
2.如权利要求1所述的方法,其特征在于,所述在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件包括:
创建一个框架类,所述框架类继承所述日志采集***Flume的AbstractSink抽象类,并实现所述日志采集***Flume的Configurable接口;
定义公共接口,所述公共接口中包括多种业务处理方法;
创建Sink扩展组件,所述Sink扩展组件继承所述框架类,并实现所述公共接口。
3.如权利要求2所述的方法,其特征在于,所述在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件包括:
依据数据过滤业务需求,在日志采集***Flume的Sink组件中配置与所述数据过滤业务需求对应的Sink过滤组件;
所述利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照预设业务处理规则对所述原始数据进行处理,得到目标数据包括:
利用所述Sink过滤组件通过所述框架类从所述Sink组件获取原始数据,并通过所述公共接口中的过滤业务处理方法对所述原始数据进行处理,得到目标数据;
其中,所述过滤业务处理方法用于过滤非法数据,过滤垃圾数据,过滤黑名单数据中的一项或多项。
4.如权利要求1所述的方法,其特征在于,所述在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件包括:
依据具有数据流转关系的第一业务需求和第二业务需求,在日志采集***Flume的Sink组件中配置与所述第一业务需求对应的第一Sink扩展组件;并依据第二业务需求,在日志采集***Flume的Sink组件中配置与所述第二业务需求对应的第二Sink扩展组件,所述第一Sink扩展组件为所述第二Sink扩展组件的上一级Sink扩展组件;
所述利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照预设业务处理规则对所述原始数据进行处理,得到目标数据包括:
利用所述第一Sink扩展组件从所述Sink组件获取原始数据,并按照预设业务处理规则对所述原始数据进行处理;
利用所述第二Sink扩展组件从所述第一Sink扩展组件获取过程数据,并按照预设业务处理规则对所述过程数据进行处理,得到目标数据;其中,所述第一Sink扩展组件为过滤组件,所述第二Sink扩展组件为标准化组件。
5.一种日志采集***的数据传输装置,其特征在于,该装置包括:
组件扩展模块,用于在日志采集***Flume的Sink组件中配置与业务需求对应的Sink扩展组件;
数据处理模块,用于利用各所述Sink扩展组件从所述Sink组件中获取原始数据,并按照预设业务处理规则对所述原始数据进行处理,得到目标数据;
传输模块,用于将所述目标数据传输到相应的数据接收方。
6.如权利要求5所述的装置,其特征在于,所述组件扩展模块,具体用于创建一个框架类,所述框架类继承所述日志采集***Flume的AbstractSink抽象类,并实现所述日志采集***Flume的Configurable接口;定义公共接口,所述公共接口中包括多种业务处理方法;创建Sink扩展组件,所述Sink扩展组件继承所述框架类,并实现所述公共接口。
7.如权利要求6所述的装置,其特征在于,所述组件扩展模块,具体用于依据数据过滤业务需求,在日志采集***Flume的Sink组件中配置与所述数据过滤业务需求对应的Sink过滤组件;
所述数据处理模块,具体用于利用所述Sink过滤组件通过所述框架类从所述Sink组件获取原始数据,并通过所述公共接口中的过滤业务处理方法对所述原始数据进行处理,得到目标数据;其中,所述过滤业务处理方法用于过滤非法数据,过滤垃圾数据,过滤黑名单数据中的一项或多项。
8.如权利要求5所述的装置,其特征在于,所述组件扩展模块,具体用于依据具有数据流转关系的第一业务需求和第二业务需求,在日志采集***Flume的Sink组件中配置与所述第一业务需求对应的第一Sink扩展组件;并依据第二业务需求,在日志采集***Flume的Sink组件中配置与所述第二业务需求对应的第二Sink扩展组件,所述第一Sink扩展组件为所述第二Sink扩展组件的上一级Sink扩展组件;
所述数据处理模块,具体用于利用所述第一Sink扩展组件从所述Sink组件获取原始数据,并按照预设业务处理规则对所述原始数据进行处理;利用所述第二Sink扩展组件从所述第一Sink扩展组件获取过程数据,并按照预设业务处理规则对所述过程数据进行处理,得到目标数据;其中,所述第一Sink扩展组件为过滤组件,所述第二Sink扩展组件为标准化组件。
9.一种日志采集***,其中,该***包括:客户端和日志采集服务器;
所述日志采集服务器中包括如权利要求5-8中任一项所述的日志采集***的数据传输装置。
10.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910677014.XA CN110502491A (zh) | 2019-07-25 | 2019-07-25 | 一种日志采集***及其数据传输方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910677014.XA CN110502491A (zh) | 2019-07-25 | 2019-07-25 | 一种日志采集***及其数据传输方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110502491A true CN110502491A (zh) | 2019-11-26 |
Family
ID=68587276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910677014.XA Pending CN110502491A (zh) | 2019-07-25 | 2019-07-25 | 一种日志采集***及其数据传输方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502491A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112019605A (zh) * | 2020-08-13 | 2020-12-01 | 上海哔哩哔哩科技有限公司 | 数据流的数据分发方法和*** |
CN112269902A (zh) * | 2020-11-10 | 2021-01-26 | 珠海市新德汇信息技术有限公司 | 一种大数据的数据采集方法 |
CN112559215A (zh) * | 2020-12-21 | 2021-03-26 | 长沙树根互联技术有限公司 | 一种物联网数据处理方法、装置、存储介质及物联盒 |
CN113032375A (zh) * | 2019-12-24 | 2021-06-25 | 广州如加网络科技有限公司 | 一种基于Flume的数据采集与汇聚方法 |
CN113051354A (zh) * | 2021-04-09 | 2021-06-29 | 金蝶软件(中国)有限公司 | 一种基于动态配置的线上寻源方法、装置和计算机设备 |
CN113157475A (zh) * | 2021-03-30 | 2021-07-23 | 北京大米科技有限公司 | 日志处理方法、装置、存储介质及电子设备 |
CN114936245A (zh) * | 2022-04-28 | 2022-08-23 | 北京远舢智能科技有限公司 | 一种多源异构数据的集成和处理方法及装置 |
CN115086303A (zh) * | 2022-06-29 | 2022-09-20 | 徐工汉云技术股份有限公司 | 一种多数据源数据转发器及其设计方法 |
CN115168030A (zh) * | 2022-06-24 | 2022-10-11 | 天翼爱音乐文化科技有限公司 | 一种动态调控的日志采集、处理方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401934A (zh) * | 2013-08-06 | 2013-11-20 | 广州唯品会信息科技有限公司 | 获取日志数据的方法和*** |
CN105512201A (zh) * | 2015-11-26 | 2016-04-20 | 晶赞广告(上海)有限公司 | 数据收集和加工方法及装置 |
US20180173777A1 (en) * | 2013-02-25 | 2018-06-21 | Leidos, Inc. | System and Method For Correlating Cloud-Based Big Data in Real-Time For Intelligent Analytics and Multiple End Uses |
CN108197233A (zh) * | 2017-12-29 | 2018-06-22 | 飞狐信息技术(天津)有限公司 | 一种数据管理方法、中间件及数据管理*** |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及*** |
-
2019
- 2019-07-25 CN CN201910677014.XA patent/CN110502491A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180173777A1 (en) * | 2013-02-25 | 2018-06-21 | Leidos, Inc. | System and Method For Correlating Cloud-Based Big Data in Real-Time For Intelligent Analytics and Multiple End Uses |
CN103401934A (zh) * | 2013-08-06 | 2013-11-20 | 广州唯品会信息科技有限公司 | 获取日志数据的方法和*** |
CN105512201A (zh) * | 2015-11-26 | 2016-04-20 | 晶赞广告(上海)有限公司 | 数据收集和加工方法及装置 |
CN108197233A (zh) * | 2017-12-29 | 2018-06-22 | 飞狐信息技术(天津)有限公司 | 一种数据管理方法、中间件及数据管理*** |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及*** |
Non-Patent Citations (4)
Title |
---|
RANGEYAN2012: "《flume开发-自定义sink》", 《HTTPS://BLOG.CSDN.NET/YANSHU2012/ARTICLE/DETAILS/53391070》 * |
健康平安的活着: "《flume学习一:flume基础知识》", 《CSDN》 * |
陆世鹏: "《基于SparkStreaming的海量日志实时处理***的设计》", 《电子产品可靠性与环境试验》 * |
非勤能补拙: "《8、Flume高阶自定义组件_Flume自定义Sink》", 《简书-HTTPS://WWW.JIANSHU.COM/P/2625AB7C2651》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032375A (zh) * | 2019-12-24 | 2021-06-25 | 广州如加网络科技有限公司 | 一种基于Flume的数据采集与汇聚方法 |
CN112019605B (zh) * | 2020-08-13 | 2023-05-09 | 上海哔哩哔哩科技有限公司 | 数据流的数据分发方法和*** |
CN112019605A (zh) * | 2020-08-13 | 2020-12-01 | 上海哔哩哔哩科技有限公司 | 数据流的数据分发方法和*** |
CN112269902A (zh) * | 2020-11-10 | 2021-01-26 | 珠海市新德汇信息技术有限公司 | 一种大数据的数据采集方法 |
CN112559215A (zh) * | 2020-12-21 | 2021-03-26 | 长沙树根互联技术有限公司 | 一种物联网数据处理方法、装置、存储介质及物联盒 |
CN113157475A (zh) * | 2021-03-30 | 2021-07-23 | 北京大米科技有限公司 | 日志处理方法、装置、存储介质及电子设备 |
CN113051354A (zh) * | 2021-04-09 | 2021-06-29 | 金蝶软件(中国)有限公司 | 一种基于动态配置的线上寻源方法、装置和计算机设备 |
CN114936245A (zh) * | 2022-04-28 | 2022-08-23 | 北京远舢智能科技有限公司 | 一种多源异构数据的集成和处理方法及装置 |
CN114936245B (zh) * | 2022-04-28 | 2023-04-14 | 北京远舢智能科技有限公司 | 一种多源异构数据的集成和处理方法及装置 |
CN115168030A (zh) * | 2022-06-24 | 2022-10-11 | 天翼爱音乐文化科技有限公司 | 一种动态调控的日志采集、处理方法、装置及存储介质 |
CN115168030B (zh) * | 2022-06-24 | 2023-10-20 | 天翼爱音乐文化科技有限公司 | 一种动态调控的日志采集、处理方法、装置及存储介质 |
CN115086303A (zh) * | 2022-06-29 | 2022-09-20 | 徐工汉云技术股份有限公司 | 一种多数据源数据转发器及其设计方法 |
CN115086303B (zh) * | 2022-06-29 | 2024-05-17 | 徐工汉云技术股份有限公司 | 一种多数据源数据转发器及其设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502491A (zh) | 一种日志采集***及其数据传输方法、装置 | |
CN104699718B (zh) | 用于快速引入业务数据的方法和装置 | |
US20210248146A1 (en) | Pipeline Data Processing | |
CN102404126B (zh) | 一种云计算在应用过程中的收费方法 | |
US9633104B2 (en) | Methods and systems to operate on group-by sets with high cardinality | |
CN107103064B (zh) | 数据统计方法及装置 | |
CN106354876A (zh) | 一种数据处理***和方法 | |
CN113360554B (zh) | 一种数据抽取、转换和加载etl的方法和设备 | |
JP2010524060A (ja) | 分散コンピューティングにおけるデータマージング | |
CN108197237A (zh) | 可视化数据采集到展现*** | |
CN102662993A (zh) | 一种页面数据提供方法 | |
CN104572975B (zh) | 一种实时数据处理分析*** | |
CN105989163A (zh) | 数据实时处理方法及*** | |
CN107025222A (zh) | 一种分布式日志采集方法及装置 | |
CN112286957B (zh) | 基于结构化查询语言的bi***的api应用方法及*** | |
US10776359B2 (en) | Abstractly implemented data analysis systems and methods therefor | |
CN108268529A (zh) | 一种基于业务抽象和多引擎调度的数据汇总方法和*** | |
CN101739454A (zh) | 数据处理*** | |
CN107506422A (zh) | 一种多数据源的分布式日志处理***及方法 | |
CN112631754A (zh) | 数据处理方法、装置、存储介质及电子装置 | |
CN106599120A (zh) | 基于流处理框架的数据处理方法及装置 | |
CN107426017A (zh) | 一种通过采集交换机网络流量进行数据分析的方法 | |
CN116644136A (zh) | 一种增量和全量数据的数据采集方法、装置、设备及介质 | |
CN111125209A (zh) | 一种支持多元异构类型数据的接入配置*** | |
CN110881030A (zh) | 基于logstash的记录web服务管理员操作日志的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191126 |