一种基于Hadoop平台的DNS日志分析方法及系统与流程

文档序号:15394524发布日期:2018-09-08 01:52阅读:171来源:国知局

本发明涉及大数据平台技术领域,特别涉及一种基于hadoop平台的dns日志分析方法及系统。



背景技术:

现有技术虽然在处理数据量小的日志文件时能够保证处理效率,但是在处理百亿级的日志量时并不能保证处理效率,也很难满足更精细和更多维度的日志处理需求。



技术实现要素:

本发明提供了一种基于hadoop平台的dns日志分析方法及系统,解决了现有技术的技术问题。

本发明解决上述技术问题的技术方案如下:

一种基于hadoop平台的dns日志分析方法,包括:

s1、接收云服务器发送的dns日志数据处理任务;

s2、根据所述dns日志数据处理任务从所述云服务器下载所述dns日志数据处理任务对应的海量dns日志数据并分布式存入hadoop平台;

s3、通过所述hadoop平台的多个节点分别对分配给自身的dns日志数据进行分布式处理;

s4、根据预设的多个维度对处理后的所述海量dns日志数据进行统计分析,生成多维度的dns日志数据分析结果,将所述多维度的dns日志数据分析结果存入数据库。

本发明的有益效果是:在海量dns日志数据处理环节,将海量dns日志数据分布式存入hadoop平台,通过hadoop平台的各个节点对分配给自身的dns日志数据分别进行分布式处理,从而大大地提高了dns日志数据的数据处理效率,满足了更精细和更多维度的日志处理需求。

在上述技术方案的基础上,本发明还可以做如下改进。

优选地,所述s1之前,还包括:

s0、实时采集多台dns服务器的dns日志数据,并对采集的所述dns日志数据进行汇总,得到海量dns日志数据,将所述海量dns日志数据上传至所述云服务器。

优选地,所述s4具体包括:

将公司信息作为第一维度,从所述hadoop平台的所述海量dns日志数据中检索第一预设时间段内的包含所述公司信息的第一dns日志记录,基于所述第一dns日志记录对所述第一预设时间段内对所述公司信息中的公司网站进行访问的客户端数量和访问时长进行统计,基于第一统计结果对所述公司网站的公司点击量和公司本网率进行分析,将第一分析结果存入所述数据库;

将目的ip作为第二维度,从所述hadoop平台的所述海量dns日志数据中检索第二预设时间段内的包含所述目的ip的第二dns日志记录,基于所述第二dns日志记录对所述第二预设时间段内对所述目的ip对应的网站服务器进行访问的客户端数量进行统计,基于第二统计结果对所述进行访问的客户端的分布状况进行分析,将第二分析结果存入所述数据库;

将域名作为第三维度,从所述hadoop平台的所述海量dns日志数据中检索第三预设时间段内的包含所述域名的第三dns日志记录,对所述第三dns日志记录的条数进行统计,将该统计值作为第三分析结果存入数据库。

优选地,所述s4还包括:

将泛域作为第四维度,从所述hadoop平台的所述海量dns日志数据中检索第四预设时间段内的包含所述泛域的第四dns日志记录,在接收到包含第一域名的网站访问量查询请求时,从所述第四dns日志记录中提取包含有所述第一域名的第五dns日志记录,对所述第五dns日志记录的条数进行统计,将该统计值作为第四分析结果存入数据库。

一种基于hadoop平台的dns日志分析系统,包括:

接收模块,用于接收云服务器发送的dns日志数据处理任务;

下载模块,用于根据所述dns日志数据处理任务从所述云服务器下载所述dns日志数据处理任务对应的海量dns日志数据并分布式存入hadoop平台;

处理模块,用于通过所述hadoop平台的多个节点分别对分配给自身的dns日志数据进行分布式处理;

分析模块,用于根据预设的多个维度对处理后的所述海量dns日志数据进行统计分析,生成多维度的dns日志数据分析结果,将所述多维度的dns日志数据分析结果存入数据库。

优选地,还包括:

采集模块,用于实时采集多台dns服务器的dns日志数据,并对采集的所述dns日志数据进行汇总,得到海量dns日志数据,将所述海量dns日志数据上传至所述云服务器。

优选地,所述分析模块具体用于:

将公司信息作为第一维度,从所述hadoop平台的所述海量dns日志数据中检索第一预设时间段内的包含所述公司信息的第一dns日志记录,基于所述第一dns日志记录对所述第一预设时间段内对所述公司信息中的公司网站进行访问的客户端数量和访问时长进行统计,基于第一统计结果对所述公司网站的公司点击量和公司本网率进行分析,将第一分析结果存入所述数据库;

将目的ip作为第二维度,从所述hadoop平台的所述海量dns日志数据中检索第二预设时间段内的包含所述目的ip的第二dns日志记录,基于所述第二dns日志记录对所述第二预设时间段内对所述目的ip对应的网站服务器进行访问的客户端数量进行统计,基于第二统计结果对所述进行访问的客户端的分布状况进行分析,将第二分析结果存入所述数据库;

将域名作为第三维度,从所述hadoop平台的所述海量dns日志数据中检索第三预设时间段内的包含所述域名的第三dns日志记录,对所述第三dns日志记录的条数进行统计,将该统计值作为第三分析结果存入数据库。

优选地,所述分析模块还用于:

将泛域作为第四维度,从所述hadoop平台的所述海量dns日志数据中检索第四预设时间段内的包含所述泛域的第四dns日志记录,在接收到包含第一域名的网站访问量查询请求时,从所述第四dns日志记录中提取包含有所述第一域名的第五dns日志记录,对所述第五dns日志记录的条数进行统计,将该统计值作为第四分析结果存入数据库。

附图说明

图1为本发明实施例提供的一种基于hadoop平台的dns日志分析方法的流程示意图;

图2为本发明另一实施例提供的一种基于hadoop平台的dns日志分析方法的流程示意图;

图3为本发明另一实施例提供的一种基于hadoop平台的dns日志分析系统的结构示意图;

图4为本发明另一实施例提供的一种基于hadoop平台的dns日志分析系统的结构示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,一种基于hadoop平台的dns日志分析方法,包括:

s1、接收云服务器发送的dns日志数据处理任务;

s2、根据dns日志数据处理任务从云服务器下载dns日志数据处理任务对应的海量dns日志数据并分布式存入hadoop平台;

s3、通过hadoop平台的多个节点分别对分配给自身的dns日志数据进行分布式处理;

s4、根据预设的多个维度对处理后的海量dns日志数据进行统计分析,生成多维度的dns日志数据分析结果,将多维度的dns日志数据分析结果存入数据库。

在海量dns日志数据处理环节,将海量dns日志数据分布式存入hadoop平台,通过hadoop平台的各个节点对分配给自身的dns日志数据分别进行分布式处理,从而大大地提高了dns日志数据的数据处理效率。

如图2所示,在图1中的s1之前,还包括:

s0、实时采集多台dns服务器的dns日志数据,并对采集的dns日志数据进行汇总,得到海量dns日志数据,将海量dns日志数据上传至云服务器。

在海量dns日志数据处理环节之前,首先要先将采集的dns日志数据上传至云服务器,从而实现dns日志数据的同步和共享。任何有权限的客户端均可以从云服务器下载相应dns日志数据。

优选地,s4具体包括:

将公司信息作为第一维度,从hadoop平台的海量dns日志数据中检索第一预设时间段内的包含公司信息的第一dns日志记录,基于第一dns日志记录对第一预设时间段内对公司信息中的公司网站进行访问的客户端数量和访问时长进行统计,基于第一统计结果对公司网站的公司点击量和公司本网率进行分析,将第一分析结果存入数据库;

将目的ip作为第二维度,从hadoop平台的海量dns日志数据中检索第二预设时间段内的包含目的ip的第二dns日志记录,基于第二dns日志记录对第二预设时间段内对目的ip对应的网站服务器进行访问的客户端数量进行统计,基于第二统计结果对进行访问的客户端的分布状况进行分析,将第二分析结果存入数据库;

将域名作为第三维度,从hadoop平台的海量dns日志数据中检索第三预设时间段内的包含域名的第三dns日志记录,对第三dns日志记录的条数进行统计,将该统计值作为第三分析结果存入数据库。

优选地,s4还包括:

将泛域作为第四维度,从hadoop平台的海量dns日志数据中检索第四预设时间段内的包含泛域的第四dns日志记录,在接收到包含第一域名的网站访问量查询请求时,从第四dns日志记录中提取包含有第一域名的第五dns日志记录,对第五dns日志记录的条数进行统计,将该统计值作为第四分析结果存入数据库。

第一预设时间段、第二预设时间段、第三预设时间段以及第三预设时间段均可以采用分钟、小时、日、月、自定义五个时间维度,当采用自定义维度时,自行选择开始时间和结束时间,但是得满足以下几点要求:

1)开始时间不能大于结束时间;

2)开始时间和结束时间不能为空;

3)开始时间与结束时间之差不能超过7天。

上述实施例分别从公司、目的ip、域名和泛域四个不同的维度对hadoop平台的海量dns日志数据进行统计分析,并将分析结果分别存入数据库,用以了解或掌握某个公司的网站点击率和本网率,以及目标用户群的上网行为和分布情况,从而准确分析出某个公司的受欢迎程度,从多方面把控互联网整体发展趋势。

如图3所示,一种基于hadoop平台的dns日志分析系统,包括:

接收模块101,用于接收云服务器发送的dns日志数据处理任务;

下载模块102,用于根据dns日志数据处理任务从云服务器下载dns日志数据处理任务对应的海量dns日志数据并分布式存入hadoop平台;

处理模块103,用于通过hadoop平台的多个节点分别对分配给自身的dns日志数据进行分布式处理;

分析模块104,用于根据预设的多个维度对处理后的海量dns日志数据进行统计分析,生成多维度的dns日志数据分析结果,将多维度的dns日志数据分析结果存入数据库。

如图4所示,图3所示的dns日志分析系统还包括:

采集模块100,用于实时采集多台dns服务器的dns日志数据,并对采集的dns日志数据进行汇总,得到海量dns日志数据,将海量dns日志数据上传至云服务器。

优选地,分析模块104具体用于:

将公司信息作为第一维度,从hadoop平台的海量dns日志数据中检索第一预设时间段内的包含公司信息的第一dns日志记录,基于第一dns日志记录对第一预设时间段内对公司信息中的公司网站进行访问的客户端数量和访问时长进行统计,基于第一统计结果对公司网站的公司点击量和公司本网率进行分析,将第一分析结果存入数据库;

将目的ip作为第二维度,从hadoop平台的海量dns日志数据中检索第二预设时间段内的包含目的ip的第二dns日志记录,基于第二dns日志记录对第二预设时间段内对目的ip对应的网站服务器进行访问的客户端数量进行统计,基于第二统计结果对进行访问的客户端的分布状况进行分析,将第二分析结果存入数据库;

将域名作为第三维度,从hadoop平台的海量dns日志数据中检索第三预设时间段内的包含域名的第三dns日志记录,对第三dns日志记录的条数进行统计,将该统计值作为第三分析结果存入数据库。

优选地,分析模块104还用于:

将泛域作为第四维度,从hadoop平台的海量dns日志数据中检索第四预设时间段内的包含泛域的第四dns日志记录,在接收到包含第一域名的网站访问量查询请求时,从第四dns日志记录中提取包含有第一域名的第五dns日志记录,对第五dns日志记录的条数进行统计,将该统计值作为第四分析结果存入数据库。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1