一种数据传输定制系统和方法
技术领域
本发明涉及一种日志数据的传输领域,特别是涉及一种基于Flume日志收集系统的数据传输定制系统和方法。
背景技术
随着大数据日志收集技术的快速发展,基于大数据云平台的日志收集分析系统越来越多,但在日志数据的传输上,一直缺少通用性的设计。目前,使用比较多的日志收集系统是Flume日志收集系统。
Flume是Cloudera提供的日志收集系统,具有分布式、高可靠、高可用性等特点,对海量日志采集、聚合和传输,Flume支持在日志系统中定制各类数据发送方,同时,Flume提供对数据进行简单处理,并写到各种数据接受方的能力。传统的Flume架构如图1所示,其运行的核心是代理(Agent),代理是一个完整的数据收集工具,含有三个核心组件,分别是数据来源(Source)、数据传输(Channel)和数据去向(Sink)。通过这些组件,日志(Event)可以从一个地方流向另一个地方。
数据来源可以接收远端服务器(Web Server)发送过来的数据。不同的数据来源,可以接受不同的数据格式。比如有目录池(Spooling Directory)的数据源,可以监控指定文件夹中的新文件变化,如果目录中有文件产生,就会立刻读取其内容。数据传输用于传输日志。数据去向用于将日志传送至下一端。其中,数据来源有很多种可以选择,数据传输有很多种可以选择,数据去向同样也有多种可以选择,并且数据来源、数据传输和数据去向还都支持自定义,非常灵活。
一般情况下,如图1所示,Flume日志收集系统的代理100包括数据来源110、数据传输120和数据去向130。将日志从远端服务器200传到数据来源110的目录池,再到Hadoop的HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)300,需要确定三个地址:对方的服务器、本地的客户端和Flume的所在的目录池的地址,并且彼此在数据的传输、解压、解密上没有统一的代码实现和集成。这样,如果远端服务器有变化,每次手动的修改FTP、Flume日志收集系统里的配置和重新开发客户端,为Flume日志收集系统的应用带来许多的不便和开发工作量。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种数据传输定制系统和方法,用于解决现有技术中Flume日志收集系统缺少通用性的设计的问题。
为实现上述目的及其他相关目的,本发明提供一种数据传输定制系统,用于Flume日志收集系统,所述Flume日志收集系统包括代理,所述代理包括数据来源;所述数据传输定制系统包括FTP客户端、FTP服务端和IP地址输入模块;其中,所述FTP服务端位于远端服务器,用于保存所述远端服务器的日志文件;所述IP地址输入模块用于输入所述远端服务器、所述FTP客户端和所述数据来源的目录池的IP地址;所述FTP客户端位于所述远端服务器和所述数据来源之间,用于根据所述远端服务器的IP地址从所述FTP服务端下载日志文件;保存日志文件;根据所述数据来源的目录池的IP地址向所述数据来源上传日志文件。
可选地,所述FTP客户端还包括日志传输控制模块,用于控制所述FTP客户端是否上传或下载日志文件。
可选地,所述FTP客户端还包括日志解压模块,用于对从所述FTP服务端的下载的日志文件进行解压缩。
可选地,所述FTP客户端还包括日志解密模块,用于对从所述FTP服务端的下载的日志文件进行解密。
本发明还公开了一种数据传输定制方法,用于Flume日志收集系统,所述Flume日志收集系统包括代理,所述代理包括数据来源,所述数据传输定制方法包括:步骤S10,将远端服务器的日志文件保存在FTP服务端;步骤S20,输入所述远端服务器、FTP客户端和所述数据来源的目录池的IP地址;步骤S30,所述FTP客户端从所述FTP服务端下载日志文件并保存;步骤S40,所述FTP客户端向所述数据来源的目录池上传日志文件。
可选地,所述步骤S10中,所述远端服务器将日志文件压缩后保存在所述FTP服务端。
可选地,所述步骤S30还包括对下载的日志文件进行解压缩处理。
可选地,所述步骤S10中,所述远端服务器将日志文件进行加密处理后再保存在所述FTP服务端。
可选地,所述步骤S30还包括对下载的日志文件进行解密处理。
如上所述,本发明的一种数据传输定制系统和方法,用于Flume日志收集系统,在Flume日志收集系统的技术架构下,设计FTP客户端和服务端,根据Server IP和Client IP、Flume的主机IP和Flume的核心组件source的目录池,以及实现文件解压、解密等功能,使得日志数据在传输上实现可定制。本发明的数据传输定制系统和方法结合了Flume日志收集系统的技术架构,完成了对日志传输的通用性设计和开发,使得日志收集分析系统更加的灵活,适用的日志收集场景也更加的广泛;解决了Flume日志收集系统的前端的数据传输的可定制性,提高Flume日志收集系统开发的效率和应用的简洁性;并且,通过本发明还大幅提高了日志收集和传输的效率。
附图说明
图1显示为Flume日志收集系统的代理的结构示意图。
图2显示为本发明实施例公开的一种数据传输定制系统的结构示意图。
图3显示为本发明实施例公开的一种数据传输定制方法的结构示意图。
元件标号说明
100 Flume日志收集系统的代理
110 数据来源
120 数据传输
130 数据去向
200 远端服务器
300 HDFS
400 数据传输定制系统
410 FTP客户端
411 日志解压模块
412 日志解密模块
413 日志传输控制模块
420 FTP服务端
430 IP地址输入模块
S10~S40 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
请参阅附图。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
实施例1
本实施例公开了一种用于Flume日志收集系统的数据传输定制系统,其结合了Flume日志收集系统的技术架构,对日志传输进行了一些通用性的设计和开发。其中,如图1所示,Flume日志收集系统的核心是代理(Agent)100,包括数据来源(Source)110、数据传输120(Channel)和数据去向(Sink)130。Flume日志收集系统用于收集远端服务器200的日志文件。
如图2所示,本实施例的数据传输定制系统400包括:FTP客户端410、FTP服务端420和IP地址输入模块430。
其中,FTP服务端420位于远端服务器200,其用于保存远端服务器200的日志文件。
IP地址输入模块430用于输入远端服务器200的IP地址,FTP客户端410的IP地址和Flume日志收集系统的数据来源110的目录池的IP地址。
FTP客户端410位于远端服务器200和Flume日志收集系统的数据来源110之间。FTP客户端410主要用于完成以下功能:
1)根据IP地址输入模块430输入的FTP服务端420的IP地址,从FTP服务端420中下载远端服务器200的日志文件;
2)保存从FTP服务端420中下载的远端服务器200的日志文件;
3)根据IP地址输入模块430输入的Flume日志收集系统的数据来源110的目录池的IP地址,向Flume日志收集系统的数据来源110的目录池上传远端服务器200的日志文件。
通常情况下,远端服务器200的日志文件的数据量是非常大的,因此,考虑到传输方便和传输时间,往往在远端服务器200处对日志文件进行数据压缩,然后再进行传输。因此,在本实施例中,在FTP客户端410中增加了日志解压模块411,用于对压缩的日志文件进行解压处理。对于数据的压缩和解压缩处理,目前已经是非常成熟的现有技术,在此就不再予以赘述。
进一步地,为了安全起见,远端服务器200还会对其日志文件进行加密处理。因此,相对应地,在FTP客户端410中增加了日志解密模块412,用于对远端服务器200加密的日志文件进行解密处理。其中,对于数据进行加密和解密处理的方法有很多种,并且加密和解密的技术也已被广泛应用,这里就不再赘述。
同时,由于在FTP客户端410处,有可能需要对从FTP服务端420处下载的日志文件进行进一步的解压和/或解密处理,因此,为了进一步地对FTP客户端410中文件的上传和下载予以控制,在FTP客户端410中还包括日志传输控制模块413,用以控制FTP客户端410是否上传或下载日志文件。
本实施例的数据传输定制系统,结合了Flume日志收集系统的技术架构,采用了传统的FTP技术,通过配置相应地IP地址,完成了对日志文件的数据传输定制。
需要说明的是,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的模块引入,但这并不表明本实施例中不存在其它的模块。
实施例2
本实施例公开了一种用于Flume日志收集系统的数据传输定制方法,如图3所述,包括:
步骤S10,将远端服务器的日志文件保存在FTP服务端:
一般情况下,远端服务器直接将日志文件保存在FTP服务端。
进一步地,从数据传输的角度进行考量,远端服务器将日志文件进行压缩后,再保存在FTP服务端。
并且,为了数据安全,远端服务器还对日志文件进行加密处理,然后再将加密处理过的日志文件保存在FTP服务端。
步骤S20,输入所述远端服务器、FTP客户端和所述数据来源的目录池的IP地址:
由于本实施例的数据传输定制方法采用的是FTP技术,所以,其数据传输的前提就是必须要知道客户端和服务端的IP地址;即,需要获取远端服务器的IP地址、FTP客户端的IP地址、以及Flume日志收集系统的数据来源的目录池的IP地址。
步骤S30,所述FTP客户端从所述FTP服务端下载日志文件并保存:
根据步骤S20中数据的远端服务器的IP地址,FTP客户端从FTP服务端下载远端服务器的日志文件,并予以保存。
由于远端服务器在将日志文件保存在FTP服务端前,有可能会对日志文件进行压缩和/或加密处理,所以,在FTP客户端从FTP服务端下载了日志文件后,相应地,对下载的日志文件进行解压缩和/或解密的处理。
步骤S40,所述FTP客户端向所述数据来源的目录池上传所述日志文件:
根据Flume日志收集系统的数据来源的目录池的IP地址,FTP客户端将日志文件上传到数据来源的目录池中。
进一步地,由于FTP客户端会对下载的日志文件进行解压缩和/或解密处理,所以,FTP客户端会对上传日志文件进行相应的控制,要在FTP客户端对下载的日志文件进行解压缩和/或解密处理完成后,才将经过解压缩和/或解密处理的日志文件进行上传。
上面方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
不难发现,本实施例为与第一实施例相对应的方法实施例,本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
综上所述,本发明的一种数据传输定制系统和方法,用于Flume日志收集系统,在Flume日志收集系统的技术架构下,设计FTP客户端和服务端,根据Server IP和Client IP、Flume的主机IP和Flume的核心组件source的目录池,以及实现文件解压、解密等功能,使得日志数据在传输上实现可定制。本发明的数据传输定制系统和方法结合了Flume日志收集系统的技术架构,完成了对日志传输的通用性设计和开发,使得日志收集分析系统更加的灵活,适用的日志收集场景也更加的广泛;解决了Flume日志收集系统的前端的数据传输的可定制性,提高Flume日志收集系统开发的效率和应用的简洁性;并且,通过本发明还大幅提高了日志收集和传输的效率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。