域名解析监控方法及装置与流程

文档序号:14993541发布日期:2018-07-20 23:02阅读:308来源:国知局

本发明涉及网络信息技术领域,尤其涉及一种域名解析监控方法及装置。



背景技术:

如今,互联网使用日益频繁,各企业的数据信息急剧膨胀,每天都会产生大量的dns(domainnamesystem,域名系统)解析日志。如何从海量的日志信息中提取出数据规律并加以利用,如何对每日的访问情况进行预测并借此对可能的异常访问行为进行监控,这已成为一个亟待解决的问题。然而,由于此类数据的数据量极大,根本无法通过人工计算、统计进行数据分析,业内尚无利用dns解析日志数据进行预测分析的方案实例。



技术实现要素:

本发明提供一种域名解析监控方法及装置,以实现充分利用dns解析数据对异常访问进行告警。

本发明提供一种域名解析监控方法,包括:根据当前时间之前的dns解析日志数据生成dns解析分析训练样本和dns解析分析预测输入数据;将所述dns解析分析训练样本输入神经网络模型,经过进行迭代训练生成dns解析分析预测模型;将所述dns解析分析预测输入数据输入所述dns解析分析预测模型,预测计算得到所述当前时间之后的设定时间段的dns解析分析预测结果数据;获取所述设定时间段的dns解析日志数据并利用其生成所述设定时间段的实际dns解析分析数据;根据所述实际dns解析分析数据与所述dns解析分析预测结果数据的比较结果确定是否发出dns异常访问告警。

一个实施例中,根据当前时间之前的dns解析日志数据生成dns解析分析训练样本和dns解析分析预测输入数据,包括:通过在所述当前时间之前实时监听dns解析日志文件获取所述当前时间之前的dns解析日志数据;根据设定字段规则解析所述当前时间之前的dns解析日志数据,生成第一解析结果并从中提取第一有效信息,其中,所述第一有效信息包括域名、客户端ip及时间;在定时节点,基于设定维度信息对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果,并根据所述第一聚合结果生成所述的dns解析分析训练样本和dns解析分析预测输入数据。获取所述设定时间段的dns解析日志数据并利用其生成所述设定时间段的实际dns解析分析数据,包括:通过在所述设定时间段内实时监听dns解析日志文件获取所述设定时间段的dns解析日志数据;根据设定字段规则解析所述设定时间段的dns解析日志数据,生成第二解析结果并从中提取第二有效信息,其中,所述第二有效信息包括域名、客户端ip及时间;在定时节点,基于所述设定维度信息对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果,并根据所述第二聚合结果生成所述设定时间段的实际dns解析分析数据。

一个实施例中,根据设定字段规则解析所述当前时间之前的dns解析日志数据之前,根据当前时间之前的dns解析日志数据生成dns解析分析训练样本和dns解析分析预测输入数据,还包括:将所述当前时间之前的dns解析日志数据存储至第一分布式消息系统。根据设定字段规则解析所述设定时间段的dns解析日志数据之前,获取所述设定时间段的dns解析日志数据并利用其生成所述设定时间段的实际dns解析分析数据,还包括:将所述设定时间段的dns解析日志数据存储至第二分布式消息系统。

一个实施例中,在定时节点,基于设定维度信息对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果,并根据所述第一聚合结果生成所述的dns解析分析训练样本和dns解析分析预测输入数据,包括:在定时节点,分别基于客户端ip和域名,对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果;按时间顺序对各时间周期的所述第一聚合结果进行拼接,得到第一拼接数据;对所述第一拼接数据进行归一化,得到所述的dns解析分析训练样本和dns解析分析预测输入数据。在定时节点,基于所述设定维度信息对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果,并根据所述第二聚合结果生成所述设定时间段的实际dns解析分析数据,包括:在定时节点,分别基于客户端ip和域名,对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果;按时间顺序对各时间周期的所述第二聚合结果进行拼接,得到第二拼接数据;对所述第二拼接数据进行归一化,得到所述设定时间段的实际dns解析分析数据。

一个实施例中,按时间顺序对各时间周期的所述第一聚合结果进行拼接之前,在定时节点,基于设定维度信息对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果,并根据所述第一聚合结果生成所述的dns解析分析训练样本和dns解析分析预测输入数据,还包括:对所述第一聚合结果中数据按设定时间间隔求均值,生成预处理后的第一聚合结果,用于得到所述第一拼接数据。按时间顺序对各时间周期的所述第二聚合结果进行拼接之前,在定时节点,基于所述设定维度信息对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果,并根据所述第二聚合结果生成所述设定时间段的实际dns解析分析数据,还包括:对所述第二聚合结果中数据按设定时间间隔求均值,生成预处理后的第二聚合结果,用于得到所述第二拼接数据。

一个实施例中,dns解析分析训练样本、dns解析分析预测输入数据、dns解析分析预测结果数据、及实际dns解析分析数据均为关于dns域名解析量的数据。

一个实施例中,将所述dns解析分析训练样本输入神经网络模型之前,还包括:建立包含输入层、隐含层及输出层的神经网络反向传播模型,并设置所述反向传播模型的网络基本参数和训练参数,得到所述神经网络模型,其中,所述网络基本参数包括层节点数和层间激活函数,所述训练参数包括学习速率和动量因子。

本发明还提供一种域名解析监控装置,包括:输入数据生成单元,用于:根据当前时间之前的dns解析日志数据生成dns解析分析训练样本和dns解析分析预测输入数据;预测模型训练单元,用于:将所述dns解析分析训练样本输入神经网络模型,经过进行迭代训练生成dns解析分析预测模型;预测结果生成单元,用于:将所述dns解析分析预测输入数据输入所述dns解析分析预测模型,预测计算得到所述当前时间之后的设定时间段的dns解析分析预测结果数据;实际数据获取单元,用于:获取所述设定时间段的dns解析日志数据并利用其生成所述设定时间段的实际dns解析分析数据;异常告警确定单元,用于:根据所述实际dns解析分析数据与所述dns解析分析预测结果数据的比较结果确定是否发出dns异常访问告警。

一个实施例中,输入数据生成单元,包括:第一dns解析日志监听模块,用于:通过在所述当前时间之前实时监听dns解析日志文件获取所述当前时间之前的dns解析日志数据;第一数据解析模块,用于:根据设定字段规则解析所述当前时间之前的dns解析日志数据,生成第一解析结果并从中提取第一有效信息,其中,所述第一有效信息包括域名、客户端ip及时间;第一解析结果聚合模块,用于:在定时节点,基于设定维度信息对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果,并根据所述第一聚合结果生成所述的dns解析分析训练样本和dns解析分析预测输入数据。实际数据获取单元,包括:第二dns解析日志监听模块,用于:通过在所述设定时间段内实时监听dns解析日志文件获取所述设定时间段的dns解析日志数据;第二数据解析模块,用于:根据设定字段规则解析所述设定时间段的dns解析日志数据,生成第二解析结果并从中提取第二有效信息,其中,所述第二有效信息包括域名、客户端ip及时间;第二解析结果聚合模块,用于:在定时节点,基于所述设定维度信息对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果,并根据所述第二聚合结果生成所述设定时间段的实际dns解析分析数据。

一个实施例中,输入数据生成单元,还包括:第一分布式存储模块,用于:将所述当前时间之前的dns解析日志数据存储至第一分布式消息系统。实际数据获取单元,还包括:第二分布式存储模块,用于:将所述设定时间段的dns解析日志数据存储至第二分布式消息系统。

一个实施例中,第一解析结果聚合模块,包括:第一聚合模块,用于:在定时节点,分别基于客户端ip和域名,对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果;第一拼接模块,用于:按时间顺序对各时间周期的所述第一聚合结果进行拼接,得到第一拼接数据;第一归一化模块,用于:对所述第一拼接数据进行归一化,得到所述的dns解析分析训练样本和dns解析分析预测输入数据。第二解析结果聚合模块,包括:第二聚合模块,用于:在定时节点,分别基于客户端ip和域名,对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果;第二拼接模块,用于:按时间顺序对各时间周期的所述第二聚合结果进行拼接,得到第二拼接数据;第二归一化模块,用于:对所述第二拼接数据进行归一化,得到所述设定时间段的实际dns解析分析数据。

一个实施例中,第一解析结果聚合模块,还包括:第一均值处理模块,用于:对所述第一聚合结果中数据按设定时间间隔求均值,生成预处理后的第一聚合结果,用于得到所述第一拼接数据;第二解析结果聚合模块,还包括:第二均值处理模块,用于:对所述第二聚合结果中数据按设定时间间隔求均值,生成预处理后的第二聚合结果,用于得到所述第二拼接数据。

一个实施例中,dns解析分析训练样本、dns解析分析预测输入数据、dns解析分析预测结果数据、及实际dns解析分析数据均为关于dns域名解析量的数据。

一个实施例中,还包括:神经网络模型构建单元,用于:建立包含输入层、隐含层及输出层的神经网络反向传播模型,并设置所述反向传播模型的网络基本参数和训练参数,得到所述神经网络模型,其中,所述网络基本参数包括层节点数和层间激活函数,所述训练参数包括学习速率和动量因子。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述各实施例所述方法的步骤。

本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各实施例所述方法的步骤。

本发明实施例的域名解析方法及装置,利用基于神经网络的预测模型,可以实现对dns解析分析数据的变化情况进行归纳,从而实现从海量的dns日志信息中提取出相应规律。利用预测模型预测出未来一段时间的dns解析分析预测结果数据,可以实现利用提取出的规律对每个时间周期的dns访问情况进行预测,并对可能的异常访问进行告警,为相关人员分析dns异常访问行为提供了参考,极大地降低了分析成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是本发明一实施例的域名解析监控方法的流程示意图;

图2是本发明一实施例中生成dns解析分析训练样本和dns解析分析预测输入数据的方法流程示意图;

图3是本发明一实施例中生成设定时间段的实际dns解析分析数据的方法流程示意图;

图4是本发明另一实施例中生成dns解析分析训练样本和dns解析分析预测输入数据的方法流程示意图;

图5是本发明另一实施例中生成设定时间段的实际dns解析分析数据的方法流程示意图;

图6是本发明一实施例中对有效信息进行聚合并生成训练样本和预测输入数据的方法流程示意图;

图7是本发明一实施例中对有效信息进行聚合并生成实际dns解析分析数据的方法流程示意图;

图8是本发明另一实施例中对有效信息进行聚合并生成训练样本和预测输入数据的方法流程示意图;

图9是本发明另一实施例中对有效信息进行聚合并生成实际dns解析分析数据的方法流程示意图;

图10是本发明另一实施例的域名解析监控方法的流程示意图;

图11是本发明一实施例中当日阀值曲线预测的方法流程示意图;

图12是本发明一实施例中实时监控告警的方法流程示意图;

图13是本发明一实施例的域名解析监控装置的结构示意图;

图14是本发明一实施例中输入数据生成单元的结构示意图;

图15是本发明一实施例中实际数据获取单元的结构示意图;

图16是本发明另一实施例的输入数据生成单元的结构示意图;

图17是本发明另一实施例的实际数据获取单元的结构示意图;

图18是本发明一实施例中第一解析结果聚合模块的结构示意图;

图19是本发明另一实施例中第二解析结果聚合模块的结构示意图;

图20是本发明另一实施例中第一解析结果聚合模块的结构示意图;

图21是本发明另一实施例的第二解析结果聚合模块的结构示意图;

图22是本发明另一实施例的域名解析监控装置的结构示意图;

图23是本发明一实施例的基于神经网络的域名解析监控系统的结构示意图;

图24是本发明一实施例中分布式存储装置的结构示意图;

图25是本发明一实施例中流式数据解析装置的结构示意图;

图26是本发明一实施例中机器学习装置的结构示意图;

图27是本发明一实施例中告警输出显示装置的结构示意图;

图28是本发明一实施例中bp神经网络算法结构模型示意图;

图29是本发明一实施例中所得预测结果与实际情况的对比示意图;

图30是本发明一实施例的计算机设备示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

图1是本发明一实施例的域名解析监控方法的流程示意图。如图1所示,本实施例的域名解析监控方法,可包括:

步骤s110:根据当前时间之前的dns解析日志数据生成dns解析分析训练样本和dns解析分析预测输入数据;

步骤s120:将所述dns解析分析训练样本输入神经网络模型,经过进行迭代训练生成dns解析分析预测模型;

步骤s130:将所述dns解析分析预测输入数据输入所述dns解析分析预测模型,预测计算得到所述当前时间之后的设定时间段的dns解析分析预测结果数据;

步骤s140:获取所述设定时间段的dns解析日志数据并利用其生成所述设定时间段的实际dns解析分析数据;

步骤s150:根据所述实际dns解析分析数据与所述dns解析分析预测结果数据的比较结果确定是否发出dns异常访问告警。

在上述步骤s110中,当前时间可指实施步骤s120之前的一个时间点。当前时间之前的dns解析日志数据可以称之为历史数据。生成dns解析分析训练样本和dns解析分析预测输入数据所用的dns解析日志数据可以完全相同、部分相同或完全不同。生成dns解析分析训练样本所用的dns解析日志数据一般倾向于数据量大。生成dns解析分析预测输入数据所用的dns解析日志数据一般倾向于数据时效新,例如最近三天的dns解析日志数据。

在上述步骤s120中,神经网络模型可以是各种类型的神经网络,例如基于反向传播算法的网络模型。在上述步骤s140中,所述设定时间段为上述当前时间之后的时间。在实施步骤s130时,所述设定时间段的dns解析日志数据可以已经获得,或者在步骤s130实施结束后获得。在上述步骤s150中,所述dns解析分析预测结果数据例如可为dns解析量阀值,可以通过判断实际dns解析分析数据是否超出dns解析量阀值范围来确定是否发出告警,以此可以实现对dns解析情况进行监控。dns异常告警,例如可以是某ip地址突发大量域名访问,利用本实施例的方案可以于第一时刻产生告警信息,并通知此ip对应的机构及时进行确认。

本实施例中,利用基于神经网络的预测模型,可以实现对dns解析分析数据的变化情况进行归纳,从而实现从海量的dns日志信息中提取出相应规律。利用预测模型预测出未来一段时间的dns解析分析预测结果数据,可以实现利用提取出的规律对每个时间周期的dns访问情况进行预测,并对可能的异常访问进行告警,为相关人员分析dns异常访问行为提供了参考,极大地降低了分析成本。

实施例中,dns解析分析训练样本、dns解析分析预测输入数据、dns解析分析预测结果数据、及实际dns解析分析数据均为关于dns域名解析量的数据。以此可以通过分析dns的域名解析量,来提取用的信息,对dns可能的异常访问进行告警。在其他实施例中,可以通过分析dns的其他数据情况,例如域名解析密度(即单位时间内对某域名的请求次数)或解析请求的地域分布,提取有用信息,对dns可能的异常访问进行告警。

图2是本发明一实施例中生成dns解析分析训练样本和dns解析分析预测输入数据的方法流程示意图。如图2所示,在上述步骤s110中,根据当前时间之前的dns解析日志数据生成dns解析分析训练样本和dns解析分析预测输入数据的方法,可包括:

步骤s111:通过在所述当前时间之前实时监听dns解析日志文件获取所述当前时间之前的dns解析日志数据;

步骤s112:根据设定字段规则解析所述当前时间之前的dns解析日志数据,生成第一解析结果并从中提取第一有效信息,其中,所述第一有效信息包括域名、客户端ip及时间;

步骤s113:在定时节点,基于设定维度信息对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果,并根据所述第一聚合结果生成所述的dns解析分析训练样本和dns解析分析预测输入数据。

图3是本发明一实施例中生成设定时间段的实际dns解析分析数据的方法流程示意图。如图3所示,在上述步骤s140中,获取所述设定时间段的dns解析日志数据并利用其生成所述设定时间段的实际dns解析分析数据的方法,可包括:

步骤s141:通过在所述设定时间段内实时监听dns解析日志文件获取所述设定时间段的dns解析日志数据;

步骤s142:根据设定字段规则解析所述设定时间段的dns解析日志数据,生成第二解析结果并从中提取第二有效信息,其中,所述第二有效信息包括域名、客户端ip及时间;

步骤s143:在定时节点,基于所述设定维度信息对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果,并根据所述第二聚合结果生成所述设定时间段的实际dns解析分析数据。

在上述步骤s111和步骤s141中,可以通过实施监听dns解析日志文件获取dns解析日志数据。实施例中,获取的dns解析日志数据可以以数据流的形式传输至存储模块,例如分布式消息系统,然后可以从存储模块读取dns解析日志数据进行解析(实施步骤s112和步骤s142)。

在上述步骤s112和步骤s142中,该设定字段规则可以是dns解析日志数据中的字段规则。例如,在日志中字段规则是以逗号作为各字段的分割标识,可以根据该分割标识从日志数据中提取出例如时间、域名、客户端ip、视图等各种信息。

在上述步骤s113和步骤s143中,该定时节点,可以是一些固定的时间点,例如各小时内的10分、20分、30分等(聚合所用数据为两定时节点间所产生的数据),或者可以是间隔一定时间长度的各时间点,例如间隔一分钟。第一有效信息和第二有效信息例如可以是时间、域名、客户端ip、视图等一种或多种信息。对相同时刻的所述第二有效信息进行聚合,可以是指对同一时刻的数据进行统计,例如统计在某一时刻相同客户端ip所访问的域名情况。

上述实施例中,通过对dns解析日志数据进行监听、解析及聚合成功获取了用于神经网络训练及预测的数据基础。

图4是本发明另一实施例中生成dns解析分析训练样本和dns解析分析预测输入数据的方法流程示意图。如图4所示,图2所示的根据当前时间之前的dns解析日志数据生成dns解析分析训练样本和dns解析分析预测输入数据的方法,在步骤s112之前,即,根据设定字段规则解析所述当前时间之前的dns解析日志数据之前,还可包括:

步骤s114:将所述当前时间之前的dns解析日志数据存储至第一分布式消息系统。

图5是本发明另一实施例中生成设定时间段的实际dns解析分析数据的方法流程示意图。如图5所示,图3所示的获取所述设定时间段的dns解析日志数据并利用其生成所述设定时间段的实际dns解析分析数据的方法,在步骤s142之前,即,根据设定字段规则解析所述设定时间段的dns解析日志数据之前,还可包括:

步骤s144:将所述设定时间段的dns解析日志数据存储至第二分布式消息系统。

在上述步骤s114和步骤s144中,可以以数据流的方式将获取的dns解析日志数据存储至第二分布式消息系统中,以此可以实现dns解析日志数据的分布式(分时间、分空间)处理,有助于提高告警的实时性。利用分布式消息系统可以避免数据因重复读取产生较大耗时,从而提高解析效率。

在其他实施例中,可以将dns解析日志数据直接存储至存储器中。

图6是本发明一实施例中对有效信息进行聚合并生成训练样本和预测输入数据的方法流程示意图。如图6所示,上述步骤s113,即,在定时节点,基于设定维度信息对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果,并根据所述第一聚合结果生成所述的dns解析分析训练样本和dns解析分析预测输入数据,可包括:

步骤s1131:在定时节点,分别基于客户端ip和域名,对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果;

步骤s1132:按时间顺序对各时间周期的所述第一聚合结果进行拼接,得到第一拼接数据;

步骤s1133:对所述第一拼接数据进行归一化,得到所述的dns解析分析训练样本和dns解析分析预测输入数据。

图7是本发明一实施例中对有效信息进行聚合并生成实际dns解析分析数据的方法流程示意图。如图7所示,上述步骤s143,即,在定时节点,基于所述设定维度信息对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果,并根据所述第二聚合结果生成所述设定时间段的实际dns解析分析数据,可包括:

步骤s1431:在定时节点,分别基于客户端ip和域名,对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果;

步骤s1432:按时间顺序对各时间周期的所述第二聚合结果进行拼接,得到第二拼接数据;

步骤s1433:对所述第二拼接数据进行归一化,得到所述设定时间段的实际dns解析分析数据。

在上述步骤s1131和步骤s1431中,可以基于客户端ip的维度或基于域名的维度对提取的有效信息进行聚合。例如,对同一时刻的解析结果,以相同客户端ip进行聚合、汇总,从而获取该时刻下该客户端ip所访问的域名情况,可以同时对域名进行同样处理,获取同一时刻下访问此域名的客户端ip明细。

在上述步骤s1132和步骤s1432中,时间周期例如可以是天,时间顺序例如可以是日期。将多日数据按日期顺序进行拼接,以此可以保证足够的训练数据样本和/或预测输入数据。

在上述步骤s1133和步骤s1433中,通过对拼接数据进行归一化,可以便于数据处理及加快训练和/或预测过程的收敛速度。

图8是本发明另一实施例中对有效信息进行聚合并生成训练样本和预测输入数据的方法流程示意图。如图8所示,图6所示的在定时节点,基于设定维度信息对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果,并根据所述第一聚合结果生成所述的dns解析分析训练样本和dns解析分析预测输入数据的方法,在步骤s1132之前,即,按时间顺序对各时间周期的所述第一聚合结果进行拼接之前,还可包括:

步骤s1134:对所述第一聚合结果中数据按设定时间间隔求均值,生成预处理后的第一聚合结果,用于得到所述第一拼接数据。

图9是本发明另一实施例中对有效信息进行聚合并生成实际dns解析分析数据的方法流程示意图。如图9所示,图7所示的在定时节点,基于所述设定维度信息对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果,并根据所述第二聚合结果生成所述设定时间段的实际dns解析分析数据的方法,在步骤s1432之前,即,按时间顺序对各时间周期的所述第二聚合结果进行拼接之前,还可包括:

步骤s1434:对所述第二聚合结果中数据按设定时间间隔求均值,生成预处理后的第二聚合结果,用于得到所述第二拼接数据。

在上述步骤s1134和步骤s1434中,该设定时间间隔例如可以是10min。通过对各段时间间隔内的数求平均,可以减少异常数据对预测模型的影响。

图10是本发明另一实施例的域名解析监控方法的流程示意图。如图10所示,图1所示的域名解析监控方法,在步骤s120之前,即,将所述dns解析分析训练样本输入神经网络模型之前,还可包括:

步骤s160:建立包含输入层、隐含层及输出层的神经网络反向传播模型,并设置所述反向传播模型的网络基本参数和训练参数,得到所述神经网络模型,其中,所述网络基本参数包括层节点数和层间激活函数,所述训练参数包括学习速率和动量因子。

在上述步骤s160中,在节点方面,输入层的节点数例如为3,可用于训练样本和预测输入数据的输入,例如对应最近3天的dns解析量数据;隐含层的节点数例如为10,可用于传递输出及反向误差传递;输出层节点数例如为1,可用于输出预测结果,可对应今日的dns解析量数据。各层间的激活函数可用于限制输入输出振幅,输入层与隐含层间可采用sigmoid函数,隐含层与输出层间可采用linear函数。学习速率表示网络在每次训练过程中的权值变化量,动量因子则是为了促使网络更快收敛并避免在训练过程中陷入局部最小。

实施例中,实现基于神经网络反向算法的dns解析量监控方法,分为当日阀值曲线预测及实时监控告警两部分。图11是本发明一实施例中当日阀值曲线预测的方法流程示意图,如图11所示,可包含如下步骤:

步骤s101:预测任务启动:每日0点或12点,启动定时任务;

步骤s102:网络模型建立:建立网络模型,并设置网络相关参数;

步骤s103:训练样本获取:获取历史数据,并对数据进行预处理,以满足训练要求,包括:数据拼接,即将多日数据按日期顺序进行拼接,以保证足够的训练数据样本;归一化,以便于数据处理及加快收敛速度;

步骤s104:网络学习训练:将训练样本置入网络模型,进行迭代训练,获得最终预测模型;

步骤s105:当日阀值预测:将满足要求的最近3日数据输入预测模型,经计算后获得当日的预测阀值,并存储于数据库。

图12是本发明一实施例中实时监控告警的方法流程示意图。如图12所示,可包含如下步骤:

步骤s201:实时数据获取:监听dns解析日志记录文件,获取实时数据并转发至分布式消息系统;

步骤s202:数据解析聚合:受新消息到达驱动,根据指定数据格式,提取有效数据,并基于不同维度进行聚合;

步骤s203:解析结果存储:聚合结果存储于数据库以供相关查询、使用;

步骤s204:实时监控比对:读取对应时刻的预测阀值,对比上述聚合结果,并绘制两者曲线图;

步骤s205:告警输出:基于相应规则对上述比对结果进行判断,产生相应告警。

本发明实施例的方法解决了对每日dns解析量进行实时监控的问题。利用机器学习中神经网络反向传播算法,通过对近段时间内dns解析量的变化情况进行归纳,预测出今日dns的解析量阀值曲线,从而实现预测的能力。结合预测曲线对异常访问情况予以告警,为分析异常访问行为提供了理论依据。本发明实施例的方法利用神经网络中的反向传播算法,建立了对每日dns访问情况的预测模型,借助预测结果可有效反映可能的dns异常访问情况。结合分析人员的日常经验,可实现对异常访问行为的快速分析。

基于与图1所示的域名解析监控方法相同的发明构思,本申请实施例还提供了一种域名解析监控装置,如下面实施例所述。由于该域名解析监控装置解决问题的原理与域名解析监控方法相似,因此该域名解析监控装置的实施可以参见域名解析监控方法的实施,重复之处不再赘述。

图13是本发明一实施例的域名解析监控装置的结构示意图。如图13所示,本实施例的域名解析监控装置,可包括:输入数据生成单元210、预测模型训练单元220、预测结果生成单元230、实际数据获取单元240及异常告警确定单元250,上述各单元顺序连接。

输入数据生成单元210,用于:根据当前时间之前的dns解析日志数据生成dns解析分析训练样本和dns解析分析预测输入数据;

预测模型训练单元220,用于:将所述dns解析分析训练样本输入神经网络模型,经过进行迭代训练生成dns解析分析预测模型;

预测结果生成单元230,用于:将所述dns解析分析预测输入数据输入所述dns解析分析预测模型,预测计算得到所述当前时间之后的设定时间段的dns解析分析预测结果数据;

实际数据获取单元240,用于:获取所述设定时间段的dns解析日志数据并利用其生成所述设定时间段的实际dns解析分析数据;

异常告警确定单元250,用于:根据所述实际dns解析分析数据与所述dns解析分析预测结果数据的比较结果确定是否发出dns异常访问告警。

图14是本发明一实施例中输入数据生成单元的结构示意图。如图14所示,输入数据生成单元210,可包括:第一dns解析日志监听模块211、第一数据解析模块212及第一解析结果聚合模块213,上述各模块顺序连接。

第一dns解析日志监听模块211,用于:通过在所述当前时间之前实时监听dns解析日志文件获取所述当前时间之前的dns解析日志数据;

第一数据解析模块212,用于:根据设定字段规则解析所述当前时间之前的dns解析日志数据,生成第一解析结果并从中提取第一有效信息,其中,所述第一有效信息包括域名、客户端ip及时间;

第一解析结果聚合模块213,用于:在定时节点,基于设定维度信息对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果,并根据所述第一聚合结果生成所述的dns解析分析训练样本和dns解析分析预测输入数据。

图15是本发明一实施例中实际数据获取单元的结构示意图。如图15所示,实际数据获取单元240,可包括:第二dns解析日志监听模块241、第二数据解析模块242及第二解析结果聚合模块243,上述各模块顺序连接。

第二dns解析日志监听模块241,用于:通过在所述设定时间段内实时监听dns解析日志文件获取所述设定时间段的dns解析日志数据;

第二数据解析模块242,用于:根据设定字段规则解析所述设定时间段的dns解析日志数据,生成第二解析结果并从中提取第二有效信息,其中,所述第二有效信息包括域名、客户端ip及时间;

第二解析结果聚合模块243,用于:在定时节点,基于所述设定维度信息对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果,并根据所述第二聚合结果生成所述设定时间段的实际dns解析分析数据。

图16是本发明另一实施例的输入数据生成单元的结构示意图。如图16所示,图14所示的输入数据生成单元210,还可包括:第一分布式存储模块214,可连接于第一dns解析日志监听模块211和第一数据解析模块212之间。

第一分布式存储模块214,用于:将所述当前时间之前的dns解析日志数据存储至第一分布式消息系统。

图17是本发明另一实施例的实际数据获取单元的结构示意图。如图17所示,图15所示的实际数据获取单元240,还可包括:第二分布式存储模块244,可连接于第二dns解析日志监听模块241和第二数据解析模块242之间。

第二分布式存储模块244,用于:将所述设定时间段的dns解析日志数据存储至第二分布式消息系统。

图18是本发明一实施例中第一解析结果聚合模块的结构示意图。如图18所示,第一解析结果聚合模块213,可包括:第一聚合模块2131、第一拼接模块2132及第一归一化模块2133,上述各模块顺序连接。

第一聚合模块2131,用于:在定时节点,分别基于客户端ip和域名,对相同时刻的所述第一有效信息进行聚合,生成第一聚合结果;

第一拼接模块2132,用于:按时间顺序对各时间周期的所述第一聚合结果进行拼接,得到第一拼接数据;

第一归一化模块2133,用于:对所述第一拼接数据进行归一化,得到所述的dns解析分析训练样本和dns解析分析预测输入数据。

图19是本发明另一实施例中第二解析结果聚合模块的结构示意图。如图19所示,第二解析结果聚合模块243,可包括:第二聚合模块2431、第二拼接模块2432及第二归一化模块2433,上述各模块顺序连接。

第二聚合模块2431,用于:在定时节点,分别基于客户端ip和域名,对相同时刻的所述第二有效信息进行聚合,生成第二聚合结果;

第二拼接模块2432,用于:按时间顺序对各时间周期的所述第二聚合结果进行拼接,得到第二拼接数据;

第二归一化模块2433,用于:对所述第二拼接数据进行归一化,得到所述设定时间段的实际dns解析分析数据。

图20是本发明另一实施例中第一解析结果聚合模块的结构示意图。如图20所示,图18所示的第一解析结果聚合模块213,还可包括:第一均值处理模块2134,可连接于第一聚合模块2131和第一拼接模块2132之间。

第一均值处理模块2134,用于:对所述第一聚合结果中数据按设定时间间隔求均值,生成预处理后的第一聚合结果,用于得到所述第一拼接数据。

图21是本发明另一实施例的第二解析结果聚合模块的结构示意图。如图21所示,图19所示的第二解析结果聚合模块243,还可包括:第二均值处理模块2434,可连接于第二聚合模块2431和第二拼接模块2432之间。

第二均值处理模块2434,用于:对所述第二聚合结果中数据按设定时间间隔求均值,生成预处理后的第二聚合结果,用于得到所述第二拼接数据。

实施例中,dns解析分析训练样本、dns解析分析预测输入数据、dns解析分析预测结果数据、及实际dns解析分析数据均为关于dns域名解析量的数据。

图22是本发明另一实施例的域名解析监控装置的结构示意图。如图22所示,图13所示的域名解析监控装置,还可包括:神经网络模型构建单元260,可连接于输入数据生成单元210和预测模型训练单元220之间。

神经网络模型构建单元260,用于:建立包含输入层、隐含层及输出层的神经网络反向传播模型,并设置所述反向传播模型的网络基本参数和训练参数,得到所述神经网络模型,其中,所述网络基本参数包括层节点数和层间激活函数,所述训练参数包括学习速率和动量因子。

图23是本发明一实施例的基于神经网络的域名解析监控系统的结构示意图。如图23所示,本实施例的基于神经网络的域名解析监控系统,可包含分布式存储装置001,流式数据解析装置002,机器学习装置003,以及告警输出显示装置004。

分布式存储装置001可主要完成实时数据的分布式存放功能;流式数据解析装置002可完成数据格式解析及解析结果重新聚合;机器学习装置003可完成历史数据规律归纳及今日dns解析量曲线阀值预测等工作;告警输出显示装置004则可完成预测结果的输出及告警展示等功能。

图24是本发明一实施例中分布式存储装置的结构示意图。如图24所示,分布式存储装置001,可主要完成实时数据的分布式存放功能,可包括dns解析日志监听模块101及分布式存储模块102。

dns解析日志监听模块101,主要完成的功能可包含:

a)监听实时dns解析日志;

b)将实时读取的最新数据以数据流形式传输给模块102。

分布式存储模块102,主要完成的功能可包括:

a)受dns解析日志监听模块101驱动,将所接收到的原始实时解析日志存储于分布式消息系统。

图25是本发明一实施例中流式数据解析装置的结构示意图。如图25所示,流式数据解析装置002,可主要以数据流方式完成数据格式解析及解析结果重新聚合等工作,可包括数据解析模块201,解析结果聚合模块202及结果存储模块203等。

数据解析模块201,主要完成的功能可包含:

a)受分布式存储模块102驱动,可负责读取实时dns解析日志数据;

b)根据字段规则解析,提取有效信息,即例如将日志中的逗号作为各字段的分割标志,继而获得例如时间、域名、客户端ip及视图等信息;

解析结果聚合模块202,主要完成的功能可包含:

a)借助定时节点,对同一时刻的解析结果以相同客户端ip进行聚合,从而获取该时刻下该客户端ip所访问的域名情况;同时对域名进行同样处理,获取同一时刻下访问此域名的客户端ip明细;

b)将聚合结果转换为特定存储格式,即以客户端ip为主键,将同一时刻内该ip所访问的各域名及其次数统一存储于该条目内;而域名存储条目的格式与此类似;

结果存储模块203,主要完成的功能可包含:

a)用于存储解析结果聚合模块202最后所得的聚合结果。

图26是本发明一实施例中机器学习装置的结构示意图。如图26所示,机器学习装置003,可主要利用历史数据结合后向传播算法完成dns每日解析量阀值曲线的建模及今日阀值曲线的预测工作,可包括模型建立模块301、数据读取模块302、数据预处理模块303、模型训练模块304及预测实现模块305。

模型建立模块301,主要完成的功能可包含:

a)建立三层神经网络反向传播模型,即输入层、隐含层及输出层;

b)设置网络基本参数,包括各层节点数及各层间激活函数等,网络结构如图28所示。

节点方面,例如,输入层节点数为3,用于样例输入,对应最近3天的dns解析量数据;例如,隐含层节点数为10,用于传递输出及反向误差传递;输出层节点数为1,用于输出预测计算结果,对应今日的dns解析量数据。

各层间激活函数可用于限制输入输出振幅,输入层与隐含层间采用可sigmoid函数,隐含层与输出层间可采用linear函数,两函数分别定义可为:

sigmoid函数:

linear函数:f(z)=kz+b(2)

公式(1)中,f(z)为激励函数输出,z为输入;

公式(2)中,f(z)为本层计算值输出,z为输入,k为权值,b为偏移量。

数据读取模块302,主要完成的功能可包含:

a)获取经结果存储模块203存储后所积累的历史数据。

数据预处理模块303,主要完成的功能可包含:

a)对数据读取模块302中的数据计算每段时间段内的解析量均值,减少异常数据影响;

b)组合计算结果以形成训练样本及预测所需的输入数据;

c)训练样本归一化,以避免因数据样本范围不同对训练结果产生影响。

模型训练模块304,主要完成的功能可包含:

a)设置训练参数,可包括:学习速率,用于增加网络的稳定性,同时使训练得以尽快收敛;动量因子,以避免训练陷入局部最小情况;以及最大训练次数。

b)引入数据预处理模块303处理后的训练样本数据进行迭代训练;

c)获取每日dns解析量阀值曲线预测模型。

预测结果实现模块305,主要完成的功能可包含:

a)引入经数据预处理模块303处理后的预测所需输入数据;

b)利用模型训练模块304中的预测模型计算输出预测结果;

c)将预测结果存储于数据库以与实时数据进行对比。

图27是本发明一实施例中告警输出显示装置的结构示意图。如图27所示,告警输出显示装置004,可主要利用预测结果数据与实时数据进行对比,以发现可能存在的异常dns访问行为。其可包括输出显示模块401和告警实现模块402。

输出显示模块401,主要完成的功能可包含:

a)获取模块203的实时存储结果;

b)绘制实时数据与预测阀值曲线对比图。

图29是本发明一实施例中所得预测结果与实际情况的对比示意图。如图29所示,以某日实时对比为例:其中上下两条黑色粗体曲线为预测阀值曲线,中间曲线部分为实际当日dns实时解析量曲线。由图29可见,预测阀值曲线间的涵盖区域基本可完全覆盖当日解析量曲线,同时,该区域在不同时刻的变化趋势与实际情况大致相符,表明本发明实施例的方法及装置适用于对dns解析量的监控工作。

告警实现模块402,主要完成的功能可包含:

a)获取结果存储模块203的实时存储结果;

b)与预测实现模块305所得预测结果进行对比,判断是否超出预测阀值;

c)根据规则对超出情况进行相应告警。

实施例中,上述四个装置(即分布式存储装置001、流式数据解析装置002、机器学习装置003、告警输出显示装置004)之间的交互过程描述如下:

首先,例如每日0点及12点,机器学习装置003将读取流式数据解析装置002中的结果存储模块203中所存储的历史数据,经由数据预处理模块303、模型训练模块304,最终达到预测结果实现模块305,完成对12小时之后的dns解析量阀值曲线预测,预测范围为12小时,预测结果通过模块305进行存储。

之后,流式数据解析装置002中的数据解析模块201,实时接收分布式存储装置001中的数据,完成数据解析后,将解析聚合结果存储于模块203中。

最后,信息输出装置004通过读取模块305所存储的预测阀值,并与模块203的实时解析量进行对比,从而判断访问情况是否异常,并根据规则进行相应告警。

本发明实施例的基于神经网络的域名解析监控系统与方法,结合现有大量历史数据,利用机器学习的方法借助神经网络反向传播算法对近段时间内的dns解析量变化规律进行归纳,达到对近段dns解析量曲线阀值的预测,从而实现预测能力。最终通过与实时数据的对比,发现可能出现的异常dns解析情况,实现对dns解析量的实时监控。本发明实施例的方法可有效地对dns解析情况进行实时监控,对可能的异常访问情况将进行告警。此方法使实时了解dns解析情况是否正常成为可能,为分析异常访问行为提供了理论依据,为相关人员分析dns异常访问行为提供了参考,使分析成本得到了极大的降低。结合分析人员的日常经验,可实现对异常访问行为的快速分析。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述各实施例所述方法的步骤。

本发明实施例还提供一种计算机设备,如图30所示,包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序,所述处理器320执行所述程序时实现权利要求1至7所述方法的步骤。

综上所述,本发明实施例的域名解析方法、装置、存储介质及计算机设备,利用基于神经网络的预测模型,可以实现对dns解析分析数据的变化情况进行归纳,从而实现从海量的dns日志信息中提取出相应规律。利用预测模型预测出未来一段时间的dns解析分析预测结果数据,可以实现利用提取出的规律对每个时间周期的dns访问情况进行预测,并对可能的异常访问进行告警,为相关人员分析dns异常访问行为提供了参考,极大地降低了分析成本。

在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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