一种日志数据的聚合方法与系统技术方案

技术编号:38358907 阅读:13 留言:0更新日期:2023-08-05 17:29
本发明专利技术公开一种日志数据的聚合方法及系统,将数据在入库时进行一定的归并,从而缩小数据统计的规模,解决统计规模较大的问题,通过空间换取时间的方式可以加快复杂聚合的处理速度;将归并后的数据做一份数据冗余,对于该数据集进行聚合,解决大数据量下的聚合问题。题。

【技术实现步骤摘要】
一种日志数据的聚合方法与系统


[0001]本专利技术属于数据分析
,尤其是涉及一种日志数据的聚合处理方法及系统。

技术介绍

[0002]随着大数据时代的到来,一方面由于数据量的爆炸式增长,另一方面由于数据类型的增加,传统的数据分析方法面临巨大的挑战。大数据量的即席查询和应用于数据产品的快速查询,对大数据业务的有效实现至关重要。为了能够满足对一些特定查询、数据挖掘应用的快速处理,数据库需要按照各种维度或多种维度组合,对一些数据字段进行统计分析,如对数据进行分组的求和,求数,最大值,最小值,或者其它的自定义的统计功能,聚合得到特定的一些数据概览。
[0003]数据的聚合统计性能是大数据分析领域经常面临的问题。特别是随着数据量的不断增加,涉及复杂聚合的场景开始出现聚合较慢,大于十秒以上的情况,在亿级数据下出现甚至聚合超时的情况。

技术实现思路

[0004]有鉴于此,本专利技术旨在提出一种日志数据的聚合方法及系统,解决在大数据量的复杂场景下数据分析处理与统计超时的问题。
[0005]本专利技术的技术方案,首先提供一种日志数据的聚合方法,具体包括:获取原始日志数据;判断数据是否符合过滤策略,若是则丢弃数据,否则根据源IP和目的IP的资产属性与地理信息,利用KafkaStream或Siddhi对数据进行归并处理,并将数据写回Kafka;同时在ClickHouse中建立Kafka表,根据Kafka主题将数据写入ClickHouse;以及将归并后的原始数据通过Logstash或Beats写入ES
[0006]作为较佳的,上述的将数据写入ClickHouse,包括根据源ip、源属性、目标IP、目标属性与目的端口五个维度,通过Flink每隔五分钟进行一次聚合统计,并将聚合结果写入ClickHouse。
[0007]上述的日志数据聚合方法,还包括对聚合后的数据进行查询筛选,具体为:先根据日志产生时间筛选数据,并对数据量进行累加排序;再根据源ip、源属性、目标IP与目标属性从ES中进行筛选,对筛选结果计算各维度对应的服务top3、流量大小、访问次数,返回至查询请求端。
[0008]本专利技术还提供一种日志数据聚合系统,包括:数据采集模块,获取原始日志数据,并判断数据是否符合过滤策略,若是则丢弃数据,否则发送至数据归并模块进行归并处理;数据归并模块,根据源IP和目的IP的资产属性与地理信息,利用KafkaStream或Siddhi对数据进行归并处理并将数据写回Kafka;
数据聚合模块,根据Kafka主题取数据,通过Flink每隔五分钟进行一次聚合统计;数据存储模块,用于存储日志数据,包括归并数据、聚合数据与原始数据。
[0009]所述数据存储模块包括:聚合数据存储单元,将聚合后的数据写入ClickHouse的Kafka表。
[0010]原始数据存储单元,将归并后的原始数据通过Logstash或Beats写入ES。
[0011]上述的日志数据聚合系统还包括数据查询模块,先根据日志产生时间筛选数据,并对数据量进行累加排序;再根据源ip、源属性、目标IP与目标属性从ES中进行筛选,对筛选结果计算各维度对应的服务top3、流量大小、访问次数,返回至查询请求端。
[0012]基于上述技术方案,本专利技术的日志数据聚合方法及系统具有以下有益效果:将数据在入库时进行一定的归并,从而缩小数据统计的规模,解决统计规模较大的问题,通过空间换取时间的方式可以加快复杂聚合的处理速度;将归并后的数据做一份数据冗余,对于该数据集进行聚合,解决大数据量下的聚合问题。
具体实施方式
[0013]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例,对本专利技术实施例中的技术方案进行清楚、完整地描述。
[0014]为了方便理解,下面对本专利技术实施例中涉及的名词进行解释:数据处理大致可以分成两大类:联机事务处理OLTP(on

line transaction processing)、联机分析处理OLAP(On

Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
[0015]不同于事务处理(OLTP)的场景,如电商场景中加购物车、下单、支付等需要在原地进行大量insert、update、delete操作;数据分析(OLAP)场景通常是将数据批量导入后,进行任意维度的灵活探索、BI工具洞察、报表制作等。
[0016]Kylin、Druid、ClickHouse是目前常见的OLAP 引擎。其中,Kylin基于Hbase,Druid基于HDFS,主要解决的是Hadoop架构下的即席查询问题,而ClickHouse是基于磁盘的本地存储,不需要依赖其他组件。
[0017]ElasticSearch是目前流行的基于Lucene底层技术的分布式全文搜索引擎,通过扩展Lucene的单机搜索能力,使其具有分布式的搜索和分析能力;通过提高数据入库与过滤性能的机制,能够在一定程度上实现快速查询,但是ES在大规模数据统计和数据去重上存在明显短板,面对大规模数据量下根据不同业务对数据进行搜索、过滤和聚合分析,将会消耗更多的资源,性能上与OLAP引擎差距较大。
[0018]Logstash是一个开源的数据收集引擎,它具有备实时数据传输能力。它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。顾名思义,Logstash 收集的数据对象就是日志文件。由于日志文件来源多(如:系统日志、服务器 日志等),且内容杂乱,不便于进行观察。因此,使用 Logstash 对日志文件进行收集和统一过滤,变成可读性高的内容,方便开发者或运维人员观察,从而有效的分析系统/项目运行的性能,做好监控和预警的准备工作等。
[0019]Kafka是一个分布式、支持分区的(partition)、多副本的(replica),基于
zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等。具有以下优点:高吞吐量、低延迟;可扩展性;持久性、可靠性;容错性;高并发。常用的场景,包括:日志收集,用户活动跟踪,流式处理等。
[0020]Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。基于流执行引擎,Flink提供了诸多更高抽象层的API以便用户编写分布式任务,例如DataStream API,对数据流进行流处理操作,将流式的数据抽象成分布式的数据流,用户可以方便地对分布式数据流进行各种操作,支持Java和Scala。此外,Flink也本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志数据的聚合方法,其特征在于,包括:获取原始日志数据;判断数据是否符合过滤策略,若是则丢弃数据,否则根据源IP和目的IP的资产属性与地理信息,利用KafkaStream或Siddhi对数据进行归并处理,并将数据写回Kafka;同时在ClickHouse中建立Kafka表,根据Kafka主题将数据写入ClickHouse;以及将归并后的原始数据通过Logstash或Beats写入ES。2.根据权利要求1所述的日志数据聚合方法,其特征在于,所述将数据写入ClickHouse,包括根据源ip、源属性、目标IP、目标属性与目的端口五个维度,通过Flink每隔五分钟进行一次聚合统计,并将聚合结果写入ClickHouse。3.根据权利要求1所述的日志数据聚合方法,其特征在于, 该方法还包括对聚合后的数据进行查询筛选,具体为:先根据日志产生时间筛选数据,并对数据量进行累加排序;再根据源ip、源属性、目标IP与目标属性从ES中进行筛选,对筛选结果计算各维度对应的服务top3、流量大小、访问次数,返回至查询请求端。4.一种日志...

【专利技术属性】
技术研发人员:王平何建锋李周
申请(专利权)人:西安交大捷普网络科技有限公司
类型:发明
国别省市:

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

1