一种用于对海量dns日志进行多维统计分析的方法及系统的制作方法_2

文档序号:9869957阅读:来源:国知局
应的海量DNS日志数据中的其中一部分DNS日志数据,并对该部分DNS日志数据进行分布式处理。
[0036]在本发明上述用于对海量DNS日志进行多维统计分析的系统中,每一所述分布式文件系统均包括一个主服务器及多个子服务器;
[0037]所述主服务器用于接收到由所述任务调度中心分配的一个子任务时,先将该子任务进一步拆分为由多个执行任务构成的第二任务队列(task I, task 2......task N),再基于MapReduce任务调度机制将该第二任务队列(task I, task 2......task N)中的多个执行任务分配到所述多个子服务器,并指令所述多个子服务器分别同时处理分配到其的执行任务;
[0038]每一所述子服务器均用于从所述云服务器下载用于完成其执行任务所需的DNS日志数据,对该DNS日志数据进行排重、更新或删除处理。
[0039]由于本发明用于对海量DNS日志进行多维统计分析的方法及系统采用了将繁重的海量DNS日志数据处理任务拆分为多个子任务,并将该多个子任务合理分配到系统下的多个HDFS分布式文件系统,并通过各个HDFS分布式文件系统对其分配到的子任务进行分布式处理的技术方案,所以克服了现有技术中基于数据库或文件索引方式的数据统计方案存在数据处理效率随入库数据规模的增长而逐步下降的缺陷,达到了以下有益效果:
[0040]1、本发明提出了一种高效的数据分布式处理方案,在海量DNS日志数据处理环节,本发明通过DNS日志处理中心将海量DNS日志数据处理任务拆分为多个子任务,基于各HDFS分布式文件系统的当前运行状况将该多个子任务在各HDFS分布式文件系统之间进行合理分配,并由各个HDFS分布式文件系统对分配到的子任务分别进行分布式处理,从而大大地提高了 DNS日志数据的数据处理效率,降低了各个HDFS分布式文件系统的工作负荷,提高了各个HDFS分布式文件系统的稳定性。
[0041]2、本发明可基于不同维度或标签(包括客户端IP地址、域名及解析IP)对经过滤并存储于数据库的有效DNS日志数据进行统计分析,以了解或掌握目标用户群的上网行为,把控互联网整体发展趋势。
[0042]例如,在海量DNS日志的统计分析环节,本发明可将客户端IP作为第一维度对数据库中的DNS日志数据进行检索,以统计源于某一客户端IP地址的一给定时段T (小时/天/月)的网站点击量及访问网站类型,基于上述统计结果准确地分析出目标用户群的上网行为、个人消费习惯及兴趣点,以为目标用户群提供专属服务。
[0043]本发明还可将域名或解析IP地址作为第二维度对存储于各个HDFS分布式文件系统的DNS日志数据进行检索,以统计某一特定网站在给定时段T(小时/天/月)累积的客户端访问量及其分布特征,并基于统计的客户端访问量及客户端分布特征制定、部署、推广或执行各种商业计划。
【附图说明】
[0044]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0045]图1是本发明较佳实施例提供的用于对海量DNS日志进行多维统计分析的系统的结构示意图;
[0046]图2是图1所示的用于对海量DNS日志进行多维统计分析的系统的DNS日志处理中心的结构框图;
[0047]图3是图2所示的DNS日志处理中心的任意一个分布式文件系统的结构框图;
[0048]图4是本发明较佳实施例提供的用于对海量DNS日志进行多维统计分析的方法的流程图。
【具体实施方式】
[0049]为了解决现有技术中基于传统的数据库或文件索引方式的数据统计方案的数据处理及数据统计效率随入库数据规模的增长而逐步下降的缺陷,本发明的主要创新点在于:
[0050]1、将繁重的海量DNS日志数据处理任务拆分为由M个子任务构成的第一任务队列
(subjobl,......subjobM),将第一任务队列(subjobl,......subjobM)下的每一个子任务进一步拆分为由N个执行任务(即DNS日志排重任务)构成的第二任务队列(task 1,task
2......task N),基于MapReduce任务调度机制将拆分的M*N个执行任务合理分配到本发明系统下的M*N个子服务器3022,本发明系统下的每一个子服务器3022接收到执行任务时,从云服务器200单独下载用于处理其执行任务所需的DNS日志数据,并对下载的DNS日志数据进行排重、更新或删除操作。
[0051]2、基于不同维度/标签(包括客户端IP地址、域名及解析IP)对经过滤并存储于数据库500的有效DNS日志数据进行统计分析,以了解或掌握目标用户群的上网行为、兴趣点,把控互联网整体发展趋势。
[0052]由于本发明采用了将繁重的海量DNS日志数据处理任务拆分为多个子任务,并将该多个子任务合理分配到系统下的多个HDFS分布式文件系统302,并通过各个HDFS分布式文件系统302对其分配的子任务进行分布式处理的设计,所以解决了现有技术中基于数据库或文件索引方式的数据统计方案的数据处理效率随入库数据规模的增长而逐步下降的技术问题,实现了大幅度提高海量DNS日志数据的处理效率,降低各个HDFS分布式文件系统302的工作负荷,以及提高各个HDFS分布式文件系统302的稳定性的目的。
[0053]为了使本发明的目的更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0054]如图1所示,本发明用于对海量DNS日志进行多维统计分析的系统包括依次连接的多个DNS数据采集模块600、DNS数据汇总中心100、云服务器200、DNS日志处理中心300、DNS日志统计分析中心400、以及数据库500。其中
[0055]上述每一个DNS数据采集模块600均用于通过分光镜像方式对记录及存储到与之对应的一台DNS服务器的DNS日志数据进行实时采集,并将实时采集的DNS日志数据输入DNS数据汇总中心100。
[0056]该DNS数据汇总中心100用于汇总由上述多个DNS数据采集模块600输入的DNS日志数据,并将汇总形成的海量DNS日志数据定期上传到云服务器200。在本发明中,每一条DNS日志数据至少包括客户端IP地址(对应于各个客户端)、域名及解析IP地址(对应于用户通过客户端访问到的各个网站服务器)。
[0057]该云服务器200用于判断该DNS数据汇总中心100已将汇总形成的海量DNS日志数据成功上传时,向该DNS日志处理中心300提交DNS日志数据处理任务。
[0058]该DNS日志处理中心300用于根据接收到的DNS日志数据处理任务从该云服务器200下载海量DNS日志数据,对海量DNS日志数据进行分布式处理,并汇总经分布式处理的DNS日志数据。
[0059]该DNS日志统计分析中心400用于基于给定的多个维度对该汇总的DNS日志数据进行统计及分析,生成多维度的DNS日志数据统计及分析结果,并将所生成的多维度的DNS日志数据统计及分析结果存储于数据库500。
[0060]如图2所示,本发明DNS日志处理中心300包括一个任务调度中心301及受控于该任务调度中心301的M个分布式文件系统302。其中
[0061]该任务调度中心301用于将接收到的海量DNS日志数据整理任务拆分为由M个子任务构成的第一任务队列(subjobl,......subjobM),并将该M个子任务(subjobl,......subjobM)随机分配到所述M个分布式文件系统302。
[0062]上述的每一个分布式文件系统302均用于根据分配到的第一任务队列
(subjobl,......subjobM)中的一个子任务从云服务器200下载海量DNS日志数据中的其中一部分DNS日志数据,对该部分的DNS日志数据作分布式处理,并汇总经处理的DNS日志数据,以便于后续的DNS日志统计分析中心400执行DNS日志数据统计及分析工作的需要。
[0063]在本发明中,该分布式文件系统302优选为HDFS分布式
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1