一种基于Flume的数据处理方法和装置的制造方法_2

文档序号:9887763阅读:来源:国知局
据库表的数据查询效率。例如,数据库表的〈key,value〉可以是〈店铺ID,商户ID>的形式,解析得到的原始数据可通过关键词key (例如,解析得到的原始数据关键字段)进行关联查询,形成一条可直接用于指标统计的完整数据。本发明在日志数据的关联查询预处理中,对于属于海量数据的数据库表数据采用内存缓存方式,可有效解决原始数据关联查询中频繁访问数据库而带来的资源浪费和效率低下的问题,显著提高系统的数据吞吐量。
[0036]原始数据进行关联查询后形成的完整数据可发送至Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)进行存储,供后续相关指标的统计使用。HDFS有着高容错性的特点,并且部署在低廉的硬件上,适合超大数据集计算。
[0037]上面结合【具体实施方式】描述了本发明的基于Flume的数据处理方法的流程,下面将结合【具体实施方式】描述应用上述方法的装置。
[0038]参见图2,图2是根据本发明一种实施方式的基于Flume的数据处理装置的结构示意图,该装置200可包括:
[0039]收集模块201,设置于应用服务器,用于收集所述应用服务器的日志数据;
[0040]均衡模块202,用于根据Flume服务器的运行参数将所述日志数据均衡地分发至所述Flume服务器,其中,所述运行参数包括以下的一种或多种:负载、性能和带宽。
[0041 ]本发明的基于Flume的数据处理装置200可包括收集模块201和均衡模块202,各个模块可设置于不同的服务器上,其中,收集模块201可设置于应用服务器,均衡模块202可设置于专用的均衡服务器,均衡服务器与应用服务器和Flume服务器进行数据通信,其接收来自应用服务器的日志数据,根据预定的均衡策略将这些日志数据分发到Flume服务器。
[0042]本发明的应用服务器可以是对外提供各种业务处理应用的服务器,并且可以通过服务器集群的形式实现。应用服务器在提供应用服务的过程中,产生各种日志数据,例如,可包括访问日志(例如,WEB访问日志等)和javascript标记日志数据等。在每台应用服务器上均可设置收集模块201,各台应用服务器上的收集模块201收集本台应用服务器上的日志数据。收集模块201收集的日志数据可以实时地同步发送,而且可具有队列缓存功能,在日志数据接收方出现异常时,将日志数据缓存到队列中,等待接收方恢复正常时继续发送,避免发送方一端日志数据的丢失。
[0043]在一些实施方式中,应用服务器可以是WEB服务器。WEB服务器可使用Apache记录接收的每一个HTTP请求日志,然后使用customlog配置来调用Linux系统的logger写日志,所写的日志可被收集模块201监听到,监听到的日志数据可发送至相应的均衡模块202进行分发。
[0044]均衡模块202可根据Flume服务器的运行参数将日志数据均衡地分发至所述Flume服务器,其中,所述Flume服务器的运行参数包括以下的一种或多种:负载、性能(例如,CPU和内存等)和带宽。本发明的Flume服务器可以是集群的形式,可包括多个服务器。均衡模块202可事先进行配置,例如,可包括网络映射关系的配置,即日志数据统一发往均衡服务器的均衡模块,再由均衡模块分发到各台Flume服务器,还可包括均衡策略的配置,即基于Flume服务器的运行参数动态调节分发策略,例如,可以采用加权的方式进行负载均衡。
[0045]均衡模块202可以定时接收各个Flume服务器报告的各自的运行参数,并根据各个Flume服务器报告的运行参数对Flume服务器的运行参数进行更新。均衡模块202根据定时更新的Flume服务器的运行参数,可获知各个Flume服务器的动态负载状态及相关运行状态,基于Flume服务器的动态的综合状态均衡地将日志数据分发到Flume服务器。相对于现有的Flume收集直接从不同的WEB服务器收集日志数据相比,本发明根据Flume服务器的运行参数对日志数据均衡分发,可最大限度地利用分布式日志收集服务器资源,提高系统的数据吞吐量。
[0046]本发明的Flume服务器可包括source (接收)模块、channel (队列)模块和sink (处理)模块。本发明的基于Flume的数据处理装置200还可包括传输处理模块203,设置于Flume服务器的channel队列模块,如图3所示。传输处理模块203可以用于通过文件file类型的channel(队列)对日志数据进行队列缓存,这种缓存方式可有效避免使用内存类型队列而出现的服务器重启后数据丢失的情况,改善数据处理的可靠性。
[0047]由上述可知,从应用服务器集群中收集的日志数据可包括访问日志数据和javascript标记日志数据等。本发明的基于Flume的数据处理装置200还可包括解析模块204,设置于Flume服务器的sink模块。解析模块204可用于对日志数据中的访问日志数据和javascript标记日志数据分别解析,得到原始数据。本发明针对不同类别的日志数据分别解析,可显著改善日志数据解析的效率。
[0048]由于WEB应用服务器上日志数据的不完整性,还需要对解析得到的原始数据进行关联查询,从而得到可用于指标统计的一条完整数据。而且,原始数据关联查询的查询效率是影响Flume服务器收集日志数据吞吐量的关键因素之一。
[0049]本发明的基于Flume的数据处理装置200还可包括查询模块205,设置Flume服务器的sink模块。查询模块205将日志数据解析得到的原始数据与缓存于内存中的数据库表的业务数据进行关联查询。从而形成用于指标统计的数据。其中,缓存的数据库表可以通过EHcache分布式缓存进行缓存,并且还可以结合LRU(Least Recently Used,近期最少使用)算法,将数据库表中的数据以〈key,Value>的形式缓存于内存中,多方面提高数据库表的数据查询效率。例如,数据库表的〈key,value〉可以是〈店铺ID,商户ID>的形式,解析得到的原始数据可通过关键词key(例如,解析得到的原始数据关键字段)进行关联查询,形成一条可直接用于指标统计的完整数据。本发明在日志数据的关联查询预处理中,对于属于海量数据的数据库表数据采用内存缓存方式,可有效解决原始数据关联查询中频繁访问数据库而带来的资源浪费和效率低下的问题,显著提高系统的数据吞吐量。
[0050]原始数据进行关联查询后形成的完整数据可发送至Hadoop分布式文件系统HDFS进行存储,供后续相关指标的统计使用。HDFS有着高容错性的特点,并且部署在低廉的硬件上,适合超大数据集计算。
[0051]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0052]本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。
【主权项】
1.一种基于Flume的数据处理方法,其特征在于,所述方法包括: 从应用服务器收集日志数据; 根据Flume服务器的运行参数将所述日志数据均衡地分发至所述Flume服务器,其中,所述运行参数包括以下的一种或多种:负载、性能和带宽。2.根据权利要求1所述的方法,其特征在于,所述运行参数是通过所述Flume服务器定时报告进行更新。3.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在将所述日志数据发送至Flume服务器之后,通过文件类型的队列Channel对所述日志数据进行缓存。4.根据权利要求1所述的方法,其特征在于,所述日志数据包括访问日志数据和javascript标记日志数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括: 在将所述日志数据发送至Flume服务器之后,将所述日志数据中的访问日志数据和javascript标记日志数据分别解析。6.根据权利要求5所述的方法,其特征在于,所述方法还包括: 将所述日志数据解析后的原始数据与缓存于内存中的数据库表中的业务数据进行关联查询以形成用于指标统计的数据。7.根据权利要求6所述的方法,其特征在于,所述数据库表是通过EHcache分布式缓存。8.一种基于Flume的数据处理装置,其特征在于,所述装置包括: 收集模块,设置于应用服务器,用于收集所述应用服务器的日志数据; 均衡模块,用于根据Flume服务器的运行参数将所述日志数据均衡地分发至所述Flume服务器,其中,所述运行参数包括以下的一种或多种:负载、性能和带宽。9.根据权利要求8所述的装置,其特征在于,所述均衡模块,还用于定时接收所述Flume服务器报告的运行参数,并对所述Flume服务器的运行参数进行更新。10.根据权利要求8所述的装置,其特征在于,所述装置还包括: 传输处理模块,设置于Flume服务器,用于通过文件类型的队列Channel对所述日志数据进行缓存。11.根据权利要求8所述的装置,其特征在于,所述日志数据包括访问日志数据和javascript标记日志数据。12.根据权利要求11所述的装置,其特征在于,所述装置还包括: 解析模块,用于将所述日志数据中的访问日志数据和javascript标记日志数据分别解析。13.根据权利要求12所述的装置,其特征在于,所述装置还包括: 查询模块,用于将所述日志数据解析后的原始数据与缓存于内存中的数据库表中的业务数据进行关联查询以形成用于指标统计的数据。14.根据权利要求13所述的装置,其特征在于,所述数据库表是通过EHcache分布式缓存。
【专利摘要】本发明提供了基于Flume的数据处理方法和装置。该方法包括:从应用服务器收集日志数据;根据Flume服务器的运行参数将所述日志数据均衡地分发至所述Flume服务器,其中,所述运行参数包括以下的一种或多种:负载、性能和带宽。实施本发明提供的方法和装置,可显著改善系统的可靠性和吞吐量。
【IPC分类】G06F17/30
【公开号】CN105653662
【申请号】
【发明人】王力, 彭塨烨, 王明龙, 谢潇宇, 王伟, 包辰明, 赵金鑫, 张舜华, 胡立强, 陈暑生
【申请人】中国建设银行股份有限公司
【公开日】2016年6月8日
【申请日】2015年12月29日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1