CN101902505A - 一种分布式dns查询日志的实时统计装置及方法 - Google Patents

一种分布式dns查询日志的实时统计装置及方法 Download PDF

Info

Publication number
CN101902505A
CN101902505A CN 200910085061 CN200910085061A CN101902505A CN 101902505 A CN101902505 A CN 101902505A CN 200910085061 CN200910085061 CN 200910085061 CN 200910085061 A CN200910085061 A CN 200910085061A CN 101902505 A CN101902505 A CN 101902505A
Authority
CN
China
Prior art keywords
statistics
log server
log
website
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200910085061
Other languages
English (en)
Other versions
CN101902505B (zh
Inventor
毛伟
李晓东
金键
王欣
乔婧
李雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Internet Network Information Center
Original Assignee
Computer Network Information Center of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Computer Network Information Center of CAS filed Critical Computer Network Information Center of CAS
Priority to CN 200910085061 priority Critical patent/CN101902505B/zh
Publication of CN101902505A publication Critical patent/CN101902505A/zh
Application granted granted Critical
Publication of CN101902505B publication Critical patent/CN101902505B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种分布式DNS查询日志的实时统计装置,包括站点日志服务器和中心日志服务器,所述站点日志服务器包括:数据接收处理模块,用于接收针对当前站点的DNS请求,并从所述DNS请求中提取日志统计对象数据;统计模块,用于实时统计所述日志统计对象数据,并缓存相应的统计结果;响应模块,用于响应中心日志服务器的实时日志查询请求,并反馈所述请求对应的统计结果至中心日志服务器;所述中心日志服务器,用于对各站点日志服务器反馈的统计结果进行汇总处理。本发明可以基于DNS的分布式结构实现全局、大数据量的查询日志实时统计分析。

Description

一种分布式DNS查询日志的实时统计装置及方法
技术领域
本发明涉及网络通信领域,具体的说,涉及一种分布式DNS查询日志的实时统计装置及一种分布式DNS查询日志的实时统计方法。
背景技术
DNS(Domain Name System,域名系统)是互联网基础设施提供的一项核心服务,该系统包括一个将域名和IP地址相互映射的分布式数据库,可以实现域名和IP地址转换的功能。DNS服务器分布在广域网的各个站点,实现分布式的网络服务。在DNS服务器运行时,会生成对DNS服务器查询访问的日志记录,通过分析这些查询日志,不仅可以发现当前服务存在的问题,追踪服务过程中的各种安全和特定事件;还可以对域名的各种访问属性、DNS的工作流程进行分析,发现网络资源的使用情况,掌握网络发展的动态变化;为保证域名解析服务的高效运行,对全局分布式DNS查询日志的实时统计则显得尤为重要。
目前的DNS日志的统计方法主要采用DNS服务器自带的日志功能,如普遍使用的BIND(Berkeley Internet Name Domain Service),它通过配置文件将不同类型的日志记录在不同的文件中,BIND的查询日志记录方法过程为:在为域名解析提供查询服务的过程中,每当客户查询请求被监听到后,就启动查询开始方法ns_query_start(ns_client_t*client)。该方法首先检查client的各项参数是否正确,然后检查ns_server->log_queries是否设置为开,若是,则启动写查询日志log_query(client)方法来写日志文件。这种写查询日志的算法思想是:只要有查询,客户端发来的查询信息有效且设置记录查询日志为开,无论解析是否成功,把请求的查询写日志中;解析出错,在错误日志中会写入记录。同时,它还有一个统计全部查询次数和出错次数的变量,是常驻内存的,定期写回日志文件。缺省情况下,BIND主要把启动、关闭和一些严重错误的消息写入日志文件。
然而,这种DNS服务器软件自带的日志功能只能进行单机日志统计,而无法用于基于DNS系统的分布式结构完成全局的实时日志统计分析工作,如日志数据的实时汇总统计和集中备份等。
目前,分布式日志统计的最普通的方法是将各站点的日志汇总到一个中心日志服务器,然后由中心日志服务器对所有的日志数据进行统计计算;对于一些易于计算的统计量,比如查询量的统计,使用上述方法将各站点的局部查询量简单相加就可以实时地得出分布式系统的全局查询量,但是对于一些较为复杂的统计计算,比如全局Top-k域名(求访问次数最大的前k个域名),由于域名的数据量非常大,DNS查询量也非常大,由于服务器处理性能和传输性能的限制,现有的站点日志服务器和中心日志服务器显然无法在短时间内完成大量的数据传输和汇总统计计算工作。
因此,需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新地提出一种DNS查询日志统计的机制,用以基于DNS的分布式结构实现全局、大数据量的查询日志实时统计分析。
发明内容
本发明所要解决的技术问题是提供一种基于DNS的分布式结构实现全局、大数据量的查询日志实时统计分析机制,用以基于DNS的分布式结构实现全局、大数据量的查询日志实时统计分析。
为了解决上述问题,本发明公开了一种分布式DNS查询日志的实时统计装置,包括站点日志服务器和中心日志服务器,
所述站点日志服务器包括:
数据接收处理模块,用于接收针对当前站点的DNS请求,并从所述DNS请求中提取日志统计对象数据;
统计模块,用于实时统计所述日志统计对象数据,并缓存相应的统计结果;
响应模块,用于响应中心日志服务器的实时日志查询请求,并反馈所述请求对应的统计结果至中心日志服务器;
所述中心日志服务器,用于对各站点日志服务器反馈的统计结果进行汇总处理。
优选的,所述中心日志服务器包括:
Top-k查询请求模块,用于向各站点日志服务器发出实时日志查询请求,所述请求中包括反馈前k个统计结果的信息;
Top-k第一计算模块,用于对各站点反馈的前k个统计结果求和,并对求和结果降序排序,取第k个求和结果与站点个数的比例为第一阶段阈值,并将该阈值发送至所有站点日志服务器;
Top-k第二计算模块,用于对各站点第一次和第二次反馈的统计结果求和,并对求和结果降序排序,取第k个求和结果为第二阶段底值,并依据所述第二阶段底值筛选出候选统计结果的信息,并生成相应的候选统计结果查询请求发送至各站点日志服务器;
汇总统计模块,用于对各站点日志服务器反馈的第一次、第二次和第三次的统计结果进行汇总,并求出前k名;
站点日志服务器的响应模块包括:
第一统计结果反馈子模块,用于依据所述实时日志查询请求对当前统计结果进行排序,并将相应的前k个统计结果作为第一次的统计结果反馈至中心日志服务器;
第二统计结果反馈子模块,用于将大于所述第一阶段阈值且未反馈过的统计结果,作为第二次的统计结果反馈至中心日志服务器;
第三统计结果反馈子模块,用于依据所述候选统计结果的查询请求将相应的统计结果,作为第三次的统计结果反馈至中心日志服务器。
优选的,所述站点日志服务器还包括:
数据库访问模块,用于将一定时间内缓存中的统计结果写入数据库。
优选的,所述日志统计对象数据包括域名、域名查询类型和来源IP地址信息。
优选的,所述统计模块缓存统计结果的存储方式为键值key-value对的方式。
本发明实施例还公开了一种分布式DNS查询日志的实时统计方法,所述日志统计涉及中心日志服务器实时统计站点日志服务器中DNS查询日志的过程,所述的方法包括:
站点日志服务器接收针对当前站点的DNS请求,并从所述DNS请求中提取日志统计对象数据;
站点日志服务器实时统计所述日志统计对象数据,并缓存相应的统计结果;
站点日志服务器响应中心日志服务器的实时日志查询请求,并反馈所述请求对应的统计结果至中心日志服务器;由所述中心日志服务器对各站点日志服务器反馈的统计结果进行汇总处理。
优选的,所述响应请求及汇总处理的步骤包括:
中心日志服务器向各站点日志服务器发出实时日志查询请求,所述请求中包括反馈前k个统计结果的信息;
站点日志服务器依据所述实时日志查询请求对当前统计结果进行排序,并将相应的前k个统计结果作为第一次的统计结果反馈至中心日志服务器;
中心日志服务器对各站点反馈的前k个统计结果求和,并对求和结果降序排序,取第k个求和结果与站点个数的比例为第一阶段阈值,并将该阈值发送至所有站点日志服务器;
站点日志服务器将大于所述第一阶段阈值且未反馈过的统计结果,作为第二次的统计结果反馈至中心日志服务器;
中心日志服务器对各站点第一次和第二次反馈的统计结果求和,并对求和结果降序排序,取第k个求和结果为第二阶段底值,并依据所述第二阶段底值筛选出候选统计结果的信息,并生成相应的候选统计结果查询请求发送至各站点日志服务器;
站点日志服务器依据所述候选统计结果的查询请求将相应的统计结果,作为第三次的统计结果反馈至中心日志服务器;
中心日志服务器对各站点日志服务器反馈的第一次、第二次和第三次的统计结果进行汇总,并求出前k名。
优选的,所述的方法还包括:
将一定时间内缓存中的统计结果写入数据库。
优选的,所述日志统计对象数据包括域名、域名查询类型和来源IP地址信息。
优选的,所述缓存统计结果的存储方式为键值key-value对的方式。
与现有技术相比,本发明具有以下优点:
首先,本发明通过部署中心日志服务器,以及,在各DNS解析站点部署站点日志服务器,使该中心日志服务器可以和分布式站点的日志服务器进行通信和整个DNS系统查询日志的全局统计。在统计过程中,所述中心日志服务器和各站点日志服务器基于分布式Top-k算法进行交互,在这种情况下,各站点日志服务器可以只传输部分统计结果到中心日志服务器,中心日志服务器就能通过这部分数据推算出准确的全局统计结果。由于传输数据量的大大削减,使得服务器无需在处理性能上和存储性能上承担不可负荷的开销,即可实现全局、大数据量的查询日志实时统计分析。
再者,本发明的站点日志服务器中具有专门的缓冲区和并发处理机制,从而支持大量的并发查询访问。与目前普遍使用的DNS服务器软件相比,可应对突发的大量查询访问,完整实时地获取所有DNS查询日志数据。
此外,本发明可对大量的查询日志进行快速的聚合,排序等操作,在一分钟的误差范围内得出当前时间窗口内的查询流量的全局统计结果。
附图说明
图1是本发明的一种分布式DNS查询日志的实时统计装置实施例1的结构图;
图2是应用本发明的优选装置实施例进行DNS查询日志统计的步骤流程图;
图3是本发明的一种分布式DNS查询日志的实时统计装置实施例2的结构图;
图4是本发明的一种分布式DNS查询日志的实时统计方法实施例的流程图;
图5是本发明的中心日志服务器和站点日志服务器的交互示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,通过部署中心日志服务器,以及,在各DNS站点部署站点日志服务器,使该中心日志服务器可以对分布式站点的日志服务器进行控制和整个DNS系统查询日志的全局统计。在统计过程中,所述中心日志服务器和各站点日志服务器基于分布式Top-k算法进行交互,在这种情况下,各站点日志服务器可以只传输部分统计结果到中心日志服务器,中心日志服务器就能通过这些部分数据推算出准确的全局统计结果。由于数据量的大大削减,从而使得服务器无需在处理性能上和存储性能上承担不可负荷的开销,即可实现全局、大数据量的查询日志实时统计分析。
参考图1,示出了本发明的一种分布式DNS查询日志的实时统计装置实施例1的结构图,可以包括:
站点日志服务器11,具体包括以下模块:
数据接收处理模块111,用于接收针对当前站点的DNS请求,并从所述DNS请求中提取日志统计对象数据;
统计模块112,用于实时统计所述日志统计对象数据,并缓存相应的统计结果;
响应模块113,用于响应中心日志服务器的实时日志查询请求,并反馈所述请求对应的统计结果至中心日志服务器12;
中心日志服务器12,用于对各站点日志服务器反馈的统计结果进行汇总处理。
在具体实现中,所述站点日志服务器和中心日志服务器可以完全独立于DNS解析服务器,直接获取DNS查询日志并进行统计分析。为提高域名解析服务的性能,还可以将现有DNS服务器的查询日志功能关闭,而直接用本发明的装置进行DNS查询日志的实时统计即可。
在本发明实施例中,所述站点日志服务器的响应模块与中心日志服务器的交互可以采用分布式Top-k算法进行。
分布式Top-k算法主要用来解决在分布式环境中Top-k求解问题(求出全局数值最大的前k名)。可以定义分布式系统中的Top-k求解过程如下:
假设在一个分布式系统中有m各个节点和一个中心节点,每个节点都与中心节点相连进行通信而且维护一个<O,Si(O)>对的列表,其中O代表对象,例如域名,Si(O)代表该对象对应的某个属性数值,例如被查询次数。每个列表都根据对象的数值进行降序排列。各个列表中的对象集合是可重叠,但是不完全相同。如果一个对象没有在某个节点的对象集中存在,那么这个对象在这个节点中的数值就被赋值成缺省值0。整个过程以中心节点发出Top-k查询请求开始,以求得全局数值和最大的k个对象为结束。分布式Top-k算法的目的就是尽量减少求解过程中的数据传输量,降低对网络带宽消耗,这在广域网环境中尤其重要。
因而在本发明的一种优选实施例中,所述中心日志服务器可以包括以下模块:
Top-k查询请求模块,用于向各站点日志服务器发出实时日志查询请求,所述请求中包括反馈前k个统计结果的信息;
Top-k第一计算模块,用于对各站点反馈的前k个统计结果求和,并对求和结果降序排序,取第k个求和结果与站点个数的比例为第一阶段阈值,并将该阈值发送至所有站点日志服务器;
Top-k第二计算模块,用于对各站点第一次和第二次反馈的统计结果求和,并对求和结果降序排序,取第k个求和结果为第二阶段底值,并依据所述第二阶段底值筛选出候选统计结果的信息,并生成相应的候选统计结果查询请求发送至各站点日志服务器;
汇总统计模块,用于对各站点日志服务器反馈的第一次、第二次和第三次的统计结果进行汇总,并求出前k名;
相应地,所述站点日志服务器的响应模块可以包括以下子模块:
第一统计结果反馈子模块,用于依据所述实时日志查询请求对当前统计结果进行排序,并将相应的前k个统计结果作为第一次的统计结果反馈至中心日志服务器;
第二统计结果反馈子模块,用于将大于所述第一阶段阈值且未反馈过的统计结果,作为第二次的统计结果反馈至中心日志服务器;
第三统计结果反馈子模块,用于依据所述候选统计结果的查询请求将相应的统计结果,作为第三次的统计结果反馈至中心日志服务器。
参考图2,示出了应用本发明的优选装置实施例进行DNS查询日志统计的步骤流程图,具体可以包括以下步骤:
步骤201、站点日志服务器的数据接收处理模块接收针对当前站点的DNS请求,并从所述DNS请求中提取日志统计对象数据;
步骤202、站点日志服务器的统计模块实时统计所述日志统计对象数据,并缓存相应的统计结果;
步骤203、中心日志服务器的Top-k查询请求模块向各站点日志服务器发出实时日志查询请求,所述请求中包括反馈前k个统计结果的信息;
步骤204、站点日志服务器响应模块的第一统计结果反馈子模块依据所述实时日志查询请求对当前统计结果进行排序,并将相应的前k个统计结果作为第一次的统计结果反馈至中心日志服务器;
步骤205、中心日志服务器的Top-k第一计算模块对各站点反馈的前k个统计结果求和,并对求和结果降序排序,取第k个求和结果与站点个数的比例为第一阶段阈值,并将该阈值发送至所有站点日志服务器;
步骤206、站点日志服务器响应模块的第二统计结果反馈子模块将大于所述第一阶段阈值且未反馈过的统计结果,作为第二次的统计结果反馈至中心日志服务器;
步骤207、中心日志服务器的Top-k第二计算模块对各站点第一次和第二次反馈的统计结果求和,并对求和结果降序排序,取第k个求和结果为第二阶段底值,并依据所述第二阶段底值筛选出候选统计结果的信息,并生成相应的候选统计结果查询请求发送至各站点日志服务器;
步骤208、站点日志服务器响应模块的第三统计结果反馈子模块依据所述候选统计结果的查询请求将相应的统计结果,作为第三次的统计结果反馈至中心日志服务器;
步骤209、中心日志服务器的汇总统计模块对各站点日志服务器反馈的第一次、第二次和第三次的统计结果进行汇总,并求出前k名。
该前k名的统计结果即为中心日志服务器的当前统计结果。
为使本领域技术人员更好地理解本发明,以下以域名访问次数的Top-K计算为例说明中心日志服务器和站点日志服务器的交互过程。
第一阶段:
步骤S1、中心日志服务器实时(如每分钟)通知广域网上所有站点日志服务器,反馈站点日志服务器统计结果中访问次数最多的前k个域名、及其访问次数;各站点日志服务器依据该通知相应反馈;
步骤S2、中心日志服务器对所有收到的前k个域名的访问次数求和(注意这里相对于全局访问次数的统计而言,只是对当前的k个统计结果进行求和,而非全局求和的过程),然后按照域名访问次数的和进行排序,设第k名的求和结果为τ1,称之为第一阶段底值。然后计算T=τ1/m(m为站点的个数),T称为第一阶段的阀值。
步骤S3、中心日志服务器对所有收到的域名的访问次数求和(注意,这里也只是对当前收到的统计结果进行求和,而非全局求和的过程),然后按照访问次数的和进行排序,设第k名的求和结果为τ1,称之为第一阶段底值。将所述第一阶段的阀值T发送给所有站点日志服务器。各站点日志服务器将域名中访问次数比阀值T大,且在第一阶段中没有发送给中心日志服务器的域名及其访问次数发送到中心日志服务器;
第二阶段:
步骤S4、中心日志服务器对第一阶段和第二阶段一共接收到的域名的访问次数再求和,然后按照访问次数的和进行排序,设第k名的求和结果为τ2,称之为第二阶段底值。
第二阶段底值可以用来进一步削减需要传输的域名个数。具体计算过程为:
计算每个域名的访问次数‘上限和’,Usum(O)=S1’(O)+...+S’m(O);
其中,S’i(O)表示域名O的访问次数,i=1...m,S’i(O)的取值如下:
(1)当站点i已把域名O的访问次数Si(O)发送到中心日志服务器,S’i(O)=Si(O);
(2)当站点i还没有把域名O的访问次数发送到中心日志服务器,S’i(O)=T(T为第一阶段阀值)。
如果一个域名的‘上限和’小于τ2,则不需要传输该域名极其访问次数,即这些域名被削减,剩下的域名构成一个候选域名的集合S。
第三阶段:
步骤S5、中心日志服务器将候选集合S发送给网络中的所有站点日志服务器,站点日志服务器将集合S中在前两个阶段尚未发送给中心日志服务器的域名及其访问次数发送给中心日志服务器。中心日志服务器对集合S中的域名,根据三个阶段中收到的所有访问次数值,计算出精确访问次数和,并求出前K名,即域名访问次数的top-k。
在本例中,仅示出了日志统计对象数据为域名访问次数的一种示例,其他统计对象数据,如IP地址,域名查询类型等应用Top-K算法统计的处理是相似的。
对比现有的将各站点的全部日志或统计结果传输汇总到中心日志服务器的方法,本方法只需很少的几次通信,每次仅需有选择地传送部分数据,就可以对大量查询日志进行多种统计指标的实时计算,在一分钟的误差范围内即可得出当前时间窗口内的查询流量的统计结果。
参考图3,示出了本发明的一种分布式DNS查询日志的实时统计装置实施例2的结构图,可以包括:
站点日志服务器31,具体包括以下模块:
数据接收处理模块311,用于接收针对当前站点的DNS请求,并从所述DNS请求中提取日志统计对象数据;
统计模块312,用于实时统计所述日志统计对象数据,并缓存相应的统计结果;
响应模块313,用于响应中心日志服务器的实时日志查询请求,并反馈所述请求对应的统计结果至中心日志服务器12;
数据库访问模块314,用于将一定时间内缓存中的统计结果写入数据库。
中心日志服务器32,用于对各站点日志服务器反馈的统计结果进行汇总处理。
本实施例与图1所示实施例不同之处在于,站点日志服务器定期将缓存的统计结果写入数据库的数据库访问模块,从而可以方便实际中更为多元化的数据分析操作,如历史运动状况分析等。
在本发明的一种优选实施例中,所述统计模块缓存统计结果的存储方式可以为键值key-value对的方式。如查询的域名-访问计数,当解析每一条DNS请求得到域名,就在内存中查找该域名并将其访问次数加1。该缓存的设置可以支持大量的并发查询访问,可应对突发的大量查询访问,完整实时地获取所有DNS查询日志数据。
参考图4,示出了本发明的一种分布式DNS查询日志的实时统计方法实施例的流程图,所述日志统计涉及中心日志服务器实时统计站点日志服务器中DNS查询日志的过程,本实施例可以包括以下步骤:
步骤401、站点日志服务器接收针对当前站点的DNS请求,并从所述DNS请求中提取日志统计对象数据;
步骤402、站点日志服务器实时统计所述日志统计对象数据,并缓存相应的统计结果;
步骤403、站点日志服务器响应中心日志服务器的实时日志查询请求,并反馈所述请求对应的统计结果至中心日志服务器;由所述中心日志服务器对各站点日志服务器反馈的统计结果进行汇总处理。
参考图5所示的中心日志服务器和站点日志服务器的交互示意图,所述步骤403可以包括以下子步骤:
子步骤4031、中心日志服务器向各站点日志服务器发出实时日志查询请求,所述请求中包括反馈前k个统计结果的信息;
子步骤4032、站点日志服务器依据所述实时日志查询请求对当前统计结果进行排序,并将相应的前k个统计结果作为第一次的统计结果反馈至中心日志服务器;
子步骤4033、中心日志服务器对各站点反馈的前k个统计结果求和,并对求和结果降序排序,取第k个求和结果与站点个数的比例为第一阶段阈值,并将该阈值发送至所有站点日志服务器;
子步骤4034、站点日志服务器将大于所述第一阶段阈值且未反馈过的统计结果,作为第二次的统计结果反馈至中心日志服务器;
子步骤4035、中心日志服务器对各站点第一次和第二次反馈的统计结果求和,并对求和结果降序排序,取第k个求和结果为第二阶段底值,并依据所述第二阶段底值筛选出候选统计结果的信息,并生成相应的候选统计结果查询请求发送至各站点日志服务器;
子步骤4036、站点日志服务器依据所述候选统计结果的查询请求将相应的统计结果,作为第三次的统计结果反馈至中心日志服务器;
子步骤4037、中心日志服务器对各站点日志服务器反馈的第一次、第二次和第三次的统计结果进行汇总,并求出前k名。
作为另一实施例,本发明还可以包括以下步骤:
将一定时间内缓存中的统计结果写入数据库。
为使本领域技术人员更好地理解本发明,以下通过本发明在实际中的一种示例具体说明。
步骤1、各地站点日志服务器接收DNS请求报文(具体格式在rfc1035中有详细定义),并对报文进行解析,取得所查询的域名和来源地址等信息;
步骤2、各站点日志服务器在内存中存储一个key-value对的集合,如查询的域名-访问计数。当解析每一条查询得到域名,就在内存中查找该域名并将其访问次数加1。
在实际中,还可以在1分钟后对上1分钟的数对集合按照访问计数进行排序,得到访问计数从大到小排列的key-value对列表。
当然,其他的统计项如来源地址,查询类型等也用类似的方法进行统计。
步骤3、中心日志服务器周期性(如每隔一分钟)、向各站点日志服务器发起实时查询命令,各站点日志服务器进行响应。其二者采用Top-K算法进行交互,在交互过程,还需要执行中心日志服务器和各站点日志服务器之间的命令和数据的封包以及传输,以及报文的解析和处理。
步骤4、一段时间后,各站点日志服务器将内存中的统计数据写入数据库进行保存。
对于图4所示的方法实施例而言,由于其与图1所示的装置实施例基本相似,所以描述的比较简单,相关之处参见前述实施例的部分说明即可。
以上对本发明所提供的一种分布式DNS查询日志的实时统计装置及一种分布式DNS查询日志的实时统计方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种分布式DNS查询日志的实时统计装置,其特征在于,包括站点日志服务器和中心日志服务器,
所述站点日志服务器包括:
数据接收处理模块,用于接收针对当前站点的DNS请求,并从所述DNS请求中提取日志统计对象数据;
统计模块,用于实时统计所述日志统计对象数据,并缓存相应的统计结果;
响应模块,用于响应中心日志服务器的实时日志查询请求,并反馈所述请求对应的统计结果至中心日志服务器;
所述中心日志服务器,用于对各站点日志服务器反馈的统计结果进行汇总处理。
2.根据权利要求1所述的装置,其特征在于,所述中心日志服务器包括:
Top-k查询请求模块,用于向各站点日志服务器发出实时日志查询请求,所述请求中包括反馈前k个统计结果的信息;
Top-k第一计算模块,用于对各站点反馈的前k个统计结果求和,并对求和结果降序排序,取第k个求和结果与站点个数的比例为第一阶段阈值,并将该阈值发送至所有站点日志服务器;
Top-k第二计算模块,用于对各站点第一次和第二次反馈的统计结果求和,并对求和结果降序排序,取第k个求和结果为第二阶段底值,并依据所述第二阶段底值筛选出候选统计结果的信息,并生成相应的候选统计结果查询请求发送至各站点日志服务器;
汇总统计模块,用于对各站点日志服务器反馈的第一次、第二次和第三次的统计结果进行汇总,并求出前k名;
站点日志服务器的响应模块包括:
第一统计结果反馈子模块,用于依据所述实时日志查询请求对当前统计结果进行排序,并将相应的前k个统计结果作为第一次的统计结果反馈至中心日志服务器;
第二统计结果反馈子模块,用于将大于所述第一阶段阈值且未反馈过的统计结果,作为第二次的统计结果反馈至中心日志服务器;
第三统计结果反馈子模块,用于依据所述候选统计结果的查询请求将相应的统计结果,作为第三次的统计结果反馈至中心日志服务器。
3.根据权利要求1或2所述的装置,其特征在于,所述站点日志服务器还包括:
数据库访问模块,用于将一定时间内缓存中的统计结果写入数据库。
4.根据权利要求1或2所述的装置,其特征在于,所述日志统计对象数据包括域名、域名查询类型和来源IP地址信息。
5.根据权利要求1或2所述的装置,其特征在于,所述统计模块缓存统计结果的存储方式为键值key-value对的方式。
6.一种分布式DNS查询日志的实时统计方法,其特征在于,所述日志统计涉及中心日志服务器实时统计站点日志服务器中DNS查询日志的过程,所述的方法包括:
站点日志服务器接收针对当前站点的DNS请求,并从所述DNS请求中提取日志统计对象数据;
站点日志服务器实时统计所述日志统计对象数据,并缓存相应的统计结果;
站点日志服务器响应中心日志服务器的实时日志查询请求,并反馈所述请求对应的统计结果至中心日志服务器;由所述中心日志服务器对各站点日志服务器反馈的统计结果进行汇总处理。
7.根据权利要求6所述的方法,其特征在于,所述响应请求及汇总处理的步骤包括:
中心日志服务器向各站点日志服务器发出实时日志查询请求,所述请求中包括反馈前k个统计结果的信息;
站点日志服务器依据所述实时日志查询请求对当前统计结果进行排序,并将相应的前k个统计结果作为第一次的统计结果反馈至中心日志服务器;
中心日志服务器对各站点反馈的前k个统计结果求和,并对求和结果降序排序,取第k个求和结果与站点个数的比例为第一阶段阈值,并将该阈值发送至所有站点日志服务器;
站点日志服务器将大于所述第一阶段阈值且未反馈过的统计结果,作为第二次的统计结果反馈至中心日志服务器;
中心日志服务器对各站点第一次和第二次反馈的统计结果求和,并对求和结果降序排序,取第k个求和结果为第二阶段底值,并依据所述第二阶段底值筛选出候选统计结果的信息,并生成相应的候选统计结果查询请求发送至各站点日志服务器;
站点日志服务器依据所述候选统计结果的查询请求将相应的统计结果,作为第三次的统计结果反馈至中心日志服务器;
中心日志服务器对各站点日志服务器反馈的第一次、第二次和第三次的统计结果进行汇总,并求出前k名。
8.根据权利要求6或7所述的方法,其特征在于,还包括:
将一定时间内缓存中的统计结果写入数据库。
9.根据权利要求6或7所述的方法,其特征在于,所述日志统计对象数据包括域名、域名查询类型和来源IP地址信息。
10.根据权利要求6或7所述的装置,其特征在于,所述缓存统计结果的存储方式为键值key-value对的方式。
CN 200910085061 2009-05-31 2009-05-31 一种分布式dns查询日志的实时统计装置及方法 Active CN101902505B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910085061 CN101902505B (zh) 2009-05-31 2009-05-31 一种分布式dns查询日志的实时统计装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910085061 CN101902505B (zh) 2009-05-31 2009-05-31 一种分布式dns查询日志的实时统计装置及方法

Publications (2)

Publication Number Publication Date
CN101902505A true CN101902505A (zh) 2010-12-01
CN101902505B CN101902505B (zh) 2013-02-27

Family

ID=43227703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910085061 Active CN101902505B (zh) 2009-05-31 2009-05-31 一种分布式dns查询日志的实时统计装置及方法

Country Status (1)

Country Link
CN (1) CN101902505B (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035696A (zh) * 2010-12-22 2011-04-27 中国工商银行股份有限公司 一种网站访问性能监测方法、装置及系统
CN102055818A (zh) * 2010-12-30 2011-05-11 北京世纪互联工程技术服务有限公司 分布式智能dns库系统
CN102323942A (zh) * 2011-09-01 2012-01-18 北京中创信测科技股份有限公司 一种统计查询方法
CN102394784A (zh) * 2011-11-21 2012-03-28 北京邮电大学 基于隐私保持的分布式Top-k查询方法
CN102868548A (zh) * 2012-08-15 2013-01-09 苏州迈科网络安全技术股份有限公司 应用性能受影响的用户分布检测方法及系统
CN103209087A (zh) * 2012-01-17 2013-07-17 深圳市腾讯计算机系统有限公司 分布式日志统计处理方法和系统
CN103544259A (zh) * 2013-10-16 2014-01-29 国家计算机网络与信息安全管理中心 分组聚集排序TopK查询处理方法及系统
CN103647676A (zh) * 2013-12-30 2014-03-19 中国科学院计算机网络信息中心 域名系统数据处理方法
CN103853743A (zh) * 2012-11-29 2014-06-11 百度在线网络技术(北京)有限公司 一种分布式系统及其日志查询方法
CN104537120A (zh) * 2015-01-26 2015-04-22 浪潮通信信息系统有限公司 一种基于用户行为分析的dns数据挖掘系统及方法
CN105100128A (zh) * 2014-04-24 2015-11-25 北京金山网络科技有限公司 服务器集群日志的获取与提供方法、日志服务器及节点服务器
CN105357335A (zh) * 2015-11-25 2016-02-24 中国互联网络信息中心 一种dns权威日志信息挖掘处理方法
CN105634845A (zh) * 2014-10-30 2016-06-01 任子行网络技术股份有限公司 一种用于对海量dns日志进行多维统计分析的方法及系统
CN105912557A (zh) * 2015-02-23 2016-08-31 国际商业机器公司 用于管理存储器中的数据的系统和方法
CN106156258A (zh) * 2015-04-28 2016-11-23 腾讯科技(深圳)有限公司 一种在分布式存储系统中统计数据的方法、装置及系统
CN106484709A (zh) * 2015-08-26 2017-03-08 北京神州泰岳软件股份有限公司 一种日志数据的审计方法和审计装置
CN106649679A (zh) * 2016-12-15 2017-05-10 咪咕文化科技有限公司 一种基于HBase的网页日访问次数获得方法及装置
CN108228379A (zh) * 2018-01-24 2018-06-29 广东远峰汽车电子有限公司 日志统计方法、收集服务器、分布式服务器及汇总服务器
CN108600405A (zh) * 2018-03-14 2018-09-28 中国互联网络信息中心 一种加速dns解析软件日志记录的方法和系统
CN110138684A (zh) * 2019-04-01 2019-08-16 贵州力创科技发展有限公司 一种基于dns日志的流量监控方法及系统
CN110321373A (zh) * 2019-07-12 2019-10-11 中国农业银行股份有限公司 一种查询统计方法、装置及系统
CN112839005A (zh) * 2019-11-22 2021-05-25 中国互联网络信息中心 Dns域名异常访问监控方法及装置
CN113177153A (zh) * 2021-06-30 2021-07-27 天聚地合(苏州)数据股份有限公司 消息汇总方法、装置、存储介质及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1143662B1 (en) * 1999-06-10 2006-05-17 Alcatel Internetworking, Inc. Virtual private network having automatic updating of client reachability information
CN100365617C (zh) * 2003-07-10 2008-01-30 华为技术有限公司 一种用量统计装置及用量统计方法
CN100346610C (zh) * 2004-11-01 2007-10-31 沈明峰 基于安全策略的网络安全管理系统和方法
CN101163046A (zh) * 2007-11-22 2008-04-16 北京金山软件有限公司 一种分布式网站日志数据采集方法和分布式网站系统

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035696B (zh) * 2010-12-22 2012-10-03 中国工商银行股份有限公司 一种网站访问性能监测方法、装置及系统
CN102035696A (zh) * 2010-12-22 2011-04-27 中国工商银行股份有限公司 一种网站访问性能监测方法、装置及系统
CN102055818A (zh) * 2010-12-30 2011-05-11 北京世纪互联工程技术服务有限公司 分布式智能dns库系统
CN102055818B (zh) * 2010-12-30 2013-09-18 北京世纪互联宽带数据中心有限公司 分布式智能dns库系统
CN102323942B (zh) * 2011-09-01 2013-04-10 北京中创信测科技股份有限公司 一种统计查询方法
CN102323942A (zh) * 2011-09-01 2012-01-18 北京中创信测科技股份有限公司 一种统计查询方法
CN102394784A (zh) * 2011-11-21 2012-03-28 北京邮电大学 基于隐私保持的分布式Top-k查询方法
CN102394784B (zh) * 2011-11-21 2016-01-20 北京邮电大学 基于隐私保持的分布式Top-k查询方法
CN103209087B (zh) * 2012-01-17 2015-12-16 深圳市腾讯计算机系统有限公司 分布式日志统计处理方法和系统
CN103209087A (zh) * 2012-01-17 2013-07-17 深圳市腾讯计算机系统有限公司 分布式日志统计处理方法和系统
CN102868548A (zh) * 2012-08-15 2013-01-09 苏州迈科网络安全技术股份有限公司 应用性能受影响的用户分布检测方法及系统
CN102868548B (zh) * 2012-08-15 2016-06-15 苏州迈科网络安全技术股份有限公司 应用性能受影响的用户分布检测方法及系统
CN103853743A (zh) * 2012-11-29 2014-06-11 百度在线网络技术(北京)有限公司 一种分布式系统及其日志查询方法
CN103544259A (zh) * 2013-10-16 2014-01-29 国家计算机网络与信息安全管理中心 分组聚集排序TopK查询处理方法及系统
CN103544259B (zh) * 2013-10-16 2017-01-18 国家计算机网络与信息安全管理中心 分组聚集排序TopK查询处理方法及系统
CN103647676A (zh) * 2013-12-30 2014-03-19 中国科学院计算机网络信息中心 域名系统数据处理方法
CN103647676B (zh) * 2013-12-30 2016-09-14 中国科学院计算机网络信息中心 域名系统数据处理方法
CN105100128A (zh) * 2014-04-24 2015-11-25 北京金山网络科技有限公司 服务器集群日志的获取与提供方法、日志服务器及节点服务器
CN105634845A (zh) * 2014-10-30 2016-06-01 任子行网络技术股份有限公司 一种用于对海量dns日志进行多维统计分析的方法及系统
CN105634845B (zh) * 2014-10-30 2019-01-22 任子行网络技术股份有限公司 一种用于对海量dns日志进行多维统计分析的方法及系统
CN104537120A (zh) * 2015-01-26 2015-04-22 浪潮通信信息系统有限公司 一种基于用户行为分析的dns数据挖掘系统及方法
US10223021B2 (en) 2015-02-23 2019-03-05 International Business Machines Corporation Handling failure of a command to add a record to a log
CN105912557A (zh) * 2015-02-23 2016-08-31 国际商业机器公司 用于管理存储器中的数据的系统和方法
CN105912557B (zh) * 2015-02-23 2019-02-22 国际商业机器公司 用于管理存储器中的数据的系统和方法
CN106156258B (zh) * 2015-04-28 2019-12-24 腾讯科技(深圳)有限公司 一种在分布式存储系统中统计数据的方法、装置及系统
CN106156258A (zh) * 2015-04-28 2016-11-23 腾讯科技(深圳)有限公司 一种在分布式存储系统中统计数据的方法、装置及系统
CN106484709A (zh) * 2015-08-26 2017-03-08 北京神州泰岳软件股份有限公司 一种日志数据的审计方法和审计装置
CN105357335B (zh) * 2015-11-25 2019-01-04 中国互联网络信息中心 一种dns权威日志信息挖掘处理方法
CN105357335A (zh) * 2015-11-25 2016-02-24 中国互联网络信息中心 一种dns权威日志信息挖掘处理方法
CN106649679A (zh) * 2016-12-15 2017-05-10 咪咕文化科技有限公司 一种基于HBase的网页日访问次数获得方法及装置
CN108228379A (zh) * 2018-01-24 2018-06-29 广东远峰汽车电子有限公司 日志统计方法、收集服务器、分布式服务器及汇总服务器
CN108600405A (zh) * 2018-03-14 2018-09-28 中国互联网络信息中心 一种加速dns解析软件日志记录的方法和系统
CN110138684A (zh) * 2019-04-01 2019-08-16 贵州力创科技发展有限公司 一种基于dns日志的流量监控方法及系统
CN110138684B (zh) * 2019-04-01 2022-04-29 贵州力创科技发展有限公司 一种基于dns日志的流量监控方法及系统
CN110321373A (zh) * 2019-07-12 2019-10-11 中国农业银行股份有限公司 一种查询统计方法、装置及系统
CN112839005A (zh) * 2019-11-22 2021-05-25 中国互联网络信息中心 Dns域名异常访问监控方法及装置
CN112839005B (zh) * 2019-11-22 2022-11-04 中国互联网络信息中心 Dns域名异常访问监控方法及装置
CN113177153A (zh) * 2021-06-30 2021-07-27 天聚地合(苏州)数据股份有限公司 消息汇总方法、装置、存储介质及设备

Also Published As

Publication number Publication date
CN101902505B (zh) 2013-02-27

Similar Documents

Publication Publication Date Title
CN101902505B (zh) 一种分布式dns查询日志的实时统计装置及方法
US10831562B2 (en) Method and system for operating a data center by reducing an amount of data to be processed
US11775501B2 (en) Trace and span sampling and analysis for instrumented software
CN111435344B (zh) 一种基于大数据的钻井提速影响因素分析模型
CN105824744A (zh) 一种基于b2b平台的实时日志采集分析方法
US20130185429A1 (en) Processing Store Visiting Data
CA2656024A1 (en) Data processing over very large databases
CN109284435B (zh) 面向互联网的用户交互痕迹捕获、存储和检索系统及方法
US11755531B1 (en) System and method for storage of data utilizing a persistent queue
CN101888313A (zh) 一种主机探测系统和方法
CN110134738B (zh) 分布式存储系统资源预估方法、装置
US20180248977A1 (en) Selective distribution of messages in a publish-subscribe system
US11663172B2 (en) Cascading payload replication
CN111400288A (zh) 数据质量检查方法及系统
US20190034500A1 (en) Creating dashboards for viewing data in a data storage system based on natural language requests
US20190034247A1 (en) Creating alerts associated with a data storage system based on natural language requests
CN114201540A (zh) 工业多源数据采集及存储系统
CN111694793A (zh) 一种日志存储方法、装置及日志查询方法、装置
US20150120697A1 (en) System and method for analysis of a database proxy
CN105227386B (zh) 用于分群体统计在线用户数的方法、装置及系统
CN113868248A (zh) 指标数据预聚合方法
CN109951376B (zh) 一种即时通讯软件信息采集方法、装置、系统及存储介质
CN116126901A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN112579552A (zh) 日志存储及调用方法、装置及系统
IL268670A (en) Automatic detection of server clusters

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210202

Address after: 100190 room 506, building 2, courtyard 4, South 4th Street, Zhongguancun, Haidian District, Beijing

Patentee after: CHINA INTERNET NETWORK INFORMATION CENTER

Address before: 100190 Building 1, software park, Chinese Academy of Sciences, No.4, Nansi street, Zhongguancun, Haidian District, Beijing

Patentee before: Computer Network Information Center, Chinese Academy of Sciences