CN107515813B - 一种基于分布式的模块化日志处理方法、装置及系统 - Google Patents

一种基于分布式的模块化日志处理方法、装置及系统 Download PDF

Info

Publication number
CN107515813B
CN107515813B CN201710803215.0A CN201710803215A CN107515813B CN 107515813 B CN107515813 B CN 107515813B CN 201710803215 A CN201710803215 A CN 201710803215A CN 107515813 B CN107515813 B CN 107515813B
Authority
CN
China
Prior art keywords
processing
target
module
log data
target processing
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.)
Active
Application number
CN201710803215.0A
Other languages
English (en)
Other versions
CN107515813A (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.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology Co Ltd
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 Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN201710803215.0A priority Critical patent/CN107515813B/zh
Publication of CN107515813A publication Critical patent/CN107515813A/zh
Application granted granted Critical
Publication of CN107515813B publication Critical patent/CN107515813B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data

Abstract

本发明提供了一种基于分布式的模块化日志处理方法、装置及系统,涉及日志处理的技术领域,该方法包括:将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务;监测当前获取任务获取的日志数据的数量,在监测到数量达到预设数量的情况下,向目标处理模块推送日志数据,并通过目标处理模块对日志数据进行处理,其中,目标处理模块为多个处理模块中的处于空闲状态的处理模块;其中,在向目标处理模块推送日志数据之后,将推送日志数据时刻作为第二目标时刻,并将获取模块从第二目标时刻开始执行的获取任务确定为下一个获取任务。本发明缓解了传统处理后入库的日志处理方法中存在的入库速度较低的技术问题。

Description

一种基于分布式的模块化日志处理方法、装置及系统
技术领域
本发明涉及日志处理技术领域,尤其是涉及一种基于分布式的模块化日志处理方法、装置及系统。
背景技术
随着国家“互联网+”战略的不断推进,信息化带来的网络安全越来越受到人们的关注,信息化建设的工作者们也逐渐提高了认识,围绕信息系统的各个“部位”架设了安全设备,包括:信息系统所在的IDC机房的流量监控、信息系统的边界设备、信息系统的主机设备、中间件、数据库等,这些设备是否良好运行以及运行中出现的安全隐患,都会在各个设备的日志中体现。
针对如此众多安全设备的日志处理问题,目前系统建设人员多采用以下两种思路:入库后处理和处理后入库。
其中,入库后处理保证了数据入库的速度,在数据入库后,通过后台新起线程来处理库中的日志数据,然而,这种处理方式需要从面对库中庞大数据开始处理,复杂度较高,维护难度也较大。
处理后入库是每次读取到日志时,以单线程的处理方式依次对单条日志处理,例如,提取源IP、目的IP、访问时间、URL、请求方法、请求状态等等。处理后入库由于在读取到日志时就对日志进行处理,因而可以避免入库后处理存在的复杂度较高和维护难度较大的技术问题,然而,入库前的处理是通过单线程的处理方式依次对单条日志处理,速度太慢,因而,这种处理方式影响了数据的入库速度。
发明内容
有鉴于此,本发明的目的在于提供一种基于分布式的模块化日志处理方法、装置及系统,以缓解传统处理后入库的日志处理方法中存在的入库速度较低的技术问题。
第一方面,本发明实施例提供了一种基于分布式的模块化日志处理方法,包括:
将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务,以使所述当前获取任务获取日志数据,其中,所述第一目标时刻为所述获取模块中不包含日志数据的时刻,所述获取任务为所述获取模块获取日志数据的任务;
监测所述当前获取任务获取的所述日志数据的数量;
在监测到所述数量达到预设数量的情况下,向目标处理模块推送所述日志数据,并通过所述目标处理模块对所述日志数据进行处理,其中,所述目标处理模块为多个处理模块中的处于空闲状态的处理模块,一个所述处理模块对应一个处理线程;
其中,在向所述目标处理模块推送所述日志数据之后,将推送所述日志数据时刻作为第二目标时刻,并将所述获取模块从所述第二目标时刻开始执行的获取任务确定为下一个获取任务。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务之前,所述方法还包括:
接收安全检查终端推送的至少一个源数据,其中,所述源数据为所述安全检查终端监测到的客户端访问数据库的请求数据,所述请求数据中至少携带有所述客户端的网址和所述数据库的网址;
对每个所述源数据进行散列处理,得到每个所述源数据的散列参数;
基于每个所述源数据和每个所述源数据的散列参数构建日志数据,并将所述日志数据发送到所述获取模块。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,在向所述目标处理模块推送所述日志数据之后,所述方法还包括:
从所述日志数据中提取所述客户端的网址或所述数据库的网址;
根据所述客户端的网址或所述数据库的网址,确定所述日志数据的访问类型;
根据所述访问类型,判断是否处理过所属于所述访问类型的日志数据,得到第一判断结果;
基于所述第一判断结果获取目标处理策略,其中,所述目标处理策略为所述目标处理模块对所述日志数据进行处理的策略。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,基于所述第一判断结果获取目标处理策略,包括:
在所述第一判断结果为是的情况下,从所述目标处理模块中提取所述目标处理策略;
在所述第一判断结果为否的情况下,通过策略加载模块获取预先编写的所述目标处理策略。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,从所述目标处理模块中提取所述目标处理策略,包括:
从所述目标处理模块中提取策略列表,其中,所述策略列表中包括多条处理策略,所述处理策略中携带第一标识,所述第一标识至少包括第一名称和第一版本号;
根据所述访问类型,确定所述目标处理策略;
根据所述第一标识,从所述多条处理策略中提取所述目标处理策略。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,通过策略加载模块获取预先编写的所述目标处理策略,包括:
所述策略加载模块获取所述目标处理策略,其中,所述目标处理策略为针对所属于所述访问类型的日志数据编写的日志处理策略;
所述策略加载模块为所述目标处理策略赋予第二标识,所述第二标识至少包括第二名称和第二版本号;
所述策略加载模块将赋予所述第二标识的所述目标处理策略发送到所述目标处理模块。
结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,在所述策略加载模块将赋予所述第二标识的所述目标处理策略发送到所述目标处理模块之后,所述方法还包括:
将赋予所述第二标识的所述目标处理策略发送到所述处理模块;
从所述处理模块中提取策略列表;
对所述策略列表中包括的处理策略进行名称查询;
根据所述名称查询结果,判断所述第一名称和所述第二名称是否相同,得到第二判断结果;
根据所述第二判断结果,对所述处理模块中的处理策略进行更新。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,在通过所述目标处理模块对所述日志数据进行处理之后,所述方法还包括:
获取对所述日志数据进行处理的处理结果;
将所述处理结果赋予到所述散列参数上;
将赋予了所述处理结果的散列参数,发送到存储服务器。
第二方面,本发明实施例还提供一种基于分布式的模块化日志处理装置,包括:获取单元,用于将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务,以使所述当前获取任务获取日志数据,其中,所述第一目标时刻为所述获取模块中不包含日志数据的时刻,所述获取任务为所述获取模块获取日志数据的任务;
检测单元,用于监测所述当前获取任务获取的所述日志数据的数量;
处理单元,用于在监测到所述数量达到预设数量的情况下,向目标处理模块推送所述日志数据,并通过所述目标处理模块对所述日志数据进行处理,其中,所述目标处理模块为多个处理模块中的处于空闲状态的处理模块,一个所述处理模块对应一个处理线程;
其中,在向所述目标处理模块推送所述日志数据之后,将推送所述日志数据时刻作为第二目标时刻,并将所述获取模块从所述第二目标时刻开始执行的获取任务确定为下一个获取任务。
第三方面,本发明实施例还提供一种基于分布式的模块化日志处理系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的方法。
本发明实施例带来了以下有益效果:
本发明实施例提供了一种对日志进行处理后入库的处理方式,具体地,将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务,并监测当前获取任务获取的日志数据的数量,在监测到所述数量达到预设数量的情况下,向目标处理模块推送所述日志数据,其中,在向所述目标处理模块推送所述日志数据之后,将推送所述日志数据时刻作为第二目标时刻,并将所述获取模块从所述第二目标时刻开始执行的获取任务确定为下一个获取任务,获取模块以如此方式进行循环往复地执行多次获取任务。而在每次获取任务后,目标处理模块对获取模块推送来的日志数据进行处理,其中,目标处理模块为多个处理模块中的处于空闲状态的处理模块。
传统的处理后入库方式中,处理模块只有一个,处理模块每次读取到日志时,以单线程的处理方式依次对单条日志处理,对于目前安全设备在短时间内产生大量日志数据的情况,常常出现待处理日志数据进行堆积的现象。相对于传统的处理后入库方式,本发明实施例通过多个处理模块实现了多线程处理方式,加快了对待处理日志数据的处理速度。从而,本发明实施例缓解了传统处理后入库的日志处理方法中存在的入库速度较低的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种基于分布式的模块化日志处理方法流程图;
图2为本发明实施例一提供的另一种基于分布式的模块化日志处理方法流程图;
图3为本发明实施例二提供的一种基于分布式的模块化日志处理装置的示意图;
图4为本发明实施例三提供的一种基于分布式的模块化日志处理系统的示意图。
图标:1-第一获取单元;2-检测单元;3-处理单元;100-获取模块;201-第一处理模块;202-第二处理模块;203-第三处理模块;300-计数器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对众多安全设备的日志处理问题,目前系统建设人员为了避免入库后处理方式存在的复杂度较高的问题,会采用处理后入库方式对日志进程处理,然而,传统的处理后入库方式存在入库速度慢的技术问题。基于此,本发明实施例提供的一种基于分布式的模块化日志处理方法、装置以及系统,可以缓解传统处理后入库方法中存在的入库速度较低的技术问题。
实施例一
本发明实施例提供的一种基于分布式的模块化日志处理方法,如图1所示,包括:
步骤S102,将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务,以使当前获取任务获取日志数据,其中,第一目标时刻为获取模块中不包含日志数据的时刻,获取任务为获取模块获取日志数据的任务。
步骤S104,监测当前获取任务获取的日志数据的数量。
具体地,可以在获取模块设置计数器,计数器对获取模块内的日志数据进行计数。
步骤S106,在监测到数量达到预设数量的情况下,向目标处理模块推送日志数据,并通过目标处理模块对日志数据进行处理,其中,目标处理模块为多个处理模块中的处于空闲状态的处理模块,一个处理模块对应一个处理线程。
具体地,在计数器记录的日志数据的数量达到预设数量时,计数器触发获取模块执行下发任务进程,控制单元向多个处理模块发送处理请求,多个处理模块返回应答信息,应答信息包括空闲状态或工作状态,控制单元控制将任一个应答信息为空闲状态的处理模块确定为目标处理模块,然后控制获取模块向目标处理模块推送日志数据。
并且,在向目标处理模块推送日志数据之前,目标处理模块为多个处理模块中的处于空闲状态的处理模块,而在向目标处理模块推送日志数据之后,更改目标处理模块的状态,即将目标处理模块标识为“工作”状态。
其中,获取模块向目标处理模块推送了日志数据的时刻,获取模块中不包含日志数据,此时执行如下步骤:
步骤S108,将推送日志数据时刻作为第二目标时刻,并将获取模块从第二目标时刻开始执行的获取任务确定为下一个获取任务。
然后,在下一个获取任务的执行时刻,下一个获取任务就作为当前获取任务,从而循环往复执行步骤S104、步骤S106和步骤S108。
本发明实施例中,通过获取模块连续获取日志数据,并在获取模块中的日志数据的数量达到预设数量的情况下,获取模块将其中的日志数据下发到目标处理模块。其中,在获取模块连续获取日志的总的过程中,获取模块中的日志数据的数量从零增加到预设数量的过程为一个获取任务,获取模块循环往复地执行上述获取任务。每个获取任务中获取到的预设数量的日志数据被推送一个目标处理模块,其中,目标处理模块为多个处理模块中处于空闲状态的处理模块,从而可以通过多个处理模块实现对日志数据进行同时的多线程处理。
因而,与传统的处理后入库方案相比,本发明实施例提供的基于分布式的模块化日志处理方法由于采用了多线程处理方式,缓解了传统处理后入库的日志处理方法中存在的入库速度较低的技术问题。
本发明实施例的一个可选实施方式中,将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务之前,基于分布式的模块化日志处理方法还包括:
接收安全检查终端推送的至少一个源数据,其中,源数据为安全检查终端监测到的客户端访问数据库的请求数据,请求数据中至少携带有客户端的网址和数据库的网址。
具体地,可以构建一个大型缓存器,该大型缓存器和多个安全监测终端的监测点连接,接收安全检查终端推送的至少一个源数据。
对每个源数据进行散列处理(即,hash处理),得到每个源数据的散列参数。
基于每个源数据和每个源数据的散列参数构建日志数据,并将日志数据发送到获取模块。
本发明实施例中,在获取模块获取日志数据之前,先将源数据进行了散列处理,然后每个日志数据包括源数据和散列参数,散列参数用于接下来存储日志处理结果。
需要说明的是,源数据为安全检查终端监测到的客户端访问数据库的请求数据,该源数据包括源IP(客户端的IP)和目的IP(数据库的IP),还可能包括以下任意一种信息:访问时间、发起访问的超链接接口、访问的请求方法和请求状态。相应地,本发明实施例中的日志处理包括以下至少一种处理方式:从日志数据中提取源IP,提取目的IP、提取访问时间、提取URL、提取请求方法、提取请求状态,但不限于上述处理方式。
以处理方式为提取请求方法为例,此时散列参数最终用于存储相应的源数据的请求方法。但需要强调的是,在源数据不包括请求方法的情况下,日志处理结果为空,即,散列参数最终没有存储值,或者,散列参数最终存储一个预设值,该预设值表示的意义为没有得到处理结果。
此外,不同的访问数据的数据格式不同,对日志进行处理是基于日志的数据格式来确定访问数据中不同信息所处的位置,然后对目标信息进行提取。
并且,在访问数据的安全性方面存在如下事实:(1)数据库的内网用户访问数据库的访问数据的安全性较高,而数据库的外网用户访问数据库的访问数据的安全性较低;(2)不同客户端访问数据库的访问数据的安全性不同;(3)访问不同数据库的访问数据的安全要求不同。因而,不同的日志数据的处理策略也会存在差异。
针对上述情况,本发明实施例的另一个可选实施方式中,在向目标处理模块推送日志数据之后,基于分布式的模块化日志处理方法还包括:
从日志数据中提取客户端的网址或数据库的网址;
根据客户端的网址或数据库的网址,确定日志数据的访问类型;
根据访问类型,判断是否处理过所属于访问类型的日志数据,得到第一判断结果;
基于第一判断结果获取目标处理策略,其中,目标处理策略为目标处理模块对日志数据进行处理的策略。
具体地,访问类型包括内网用户访问或外网用户访问,或者,包括高风险客户端访问和低风险客户端访问,但并不限于上述访问类型。
本发明实施例的另一个可选实施方式中,基于第一判断结果获取目标处理策略,包括:
在第一判断结果为是的情况下,从目标处理模块中提取目标处理策略;
在第一判断结果为否的情况下,通过策略加载模块获取预先编写的目标处理策略。
本发明实施例的另一个可选实施方式中给出了从目标处理模块中提取目标处理策略的实施方式,具体包括:
从目标处理模块中提取策略列表,其中,策略列表中包括多条处理策略,处理策略中携带第一标识,第一标识至少包括第一名称和第一版本号;
根据访问类型,确定目标处理策略;
根据第一标识,从多条处理策略中提取目标处理策略。
具体地,多个处理模块中的各个处理模块都包括有策略列表L1,策略列表L1中包括多条处理策略,每条处理策略携带有名称M1和版本号V1。其中,名称M1表示该处理策略处理的访问类型;鉴于同一访问类型的访问数据也会因各种因素而出现数据格式的更新,因而版本号V1表示该处理策略处理的同一访问类型的不同更新版本日志。
此外,对于同一日志进行处理时,如果处理任务包括过个子任务,例如,包括提取源IP和目的IP两个子任务,处理策略中也会规定这两个子任务的处理优先级,处理模块根据处理策略中预设的的处理优先级按序对多个子任务进行处理。
本发明实施例的另一个可选实施方式中给出了通过策略加载模块获取预先编写的目标处理策略,具体包括:
策略加载模块获取目标处理策略,其中,目标处理策略为针对所属于访问类型的日志数据编写的日志处理策略;
策略加载模块为目标处理策略赋予第二标识,第二标识至少包括第二名称和第二版本号;
策略加载模块将赋予第二标识的目标处理策略发送到目标处理模块。
具体地,目标处理策略以脚本的形式加载到策略加载模块,策略加载模块对目标处理策略进行注册,并给目标处理策略赋予名称M2和版本号V2,然后将名称为M2、版本号为V2的目标处理策略发送到目标处理模块,以便使目标处理模块通过目标处理策略来处理日志数据。
本发明实施例的另一个可选实施方式中,在策略加载模块将赋予第二标识的目标处理策略发送到目标处理模块之后,基于分布式的模块化日志处理方法还包括:
将赋予第二标识的目标处理策略发送到处理模块;
从处理模块中提取策略列表;
对策略列表中包括的处理策略进行名称查询;
根据名称查询结果,判断第一名称和第二名称是否相同,得到第二判断结果;
根据第二判断结果,对处理模块中的处理策略进行更新。
具体地,处理模块接收到名称为M2、版本号为V2的目标处理策略后,从处理模块中提取策略列表L1,然后对策略列表L1中多个处理策略进行名称查询,将查询到的各个名称M1和M2进行比对。其中,如果不相同,则直接将目标处理策略加载到处理模块,即将策略列表L1进行了更新;如果相同,则将版本号为V1的处理策略和版本号为V2的处理策略进行比对,找出差异项V0,然后根据差异项V0对版本号为V1的处理策略进行更新,或者在策略列表里增加一条名称为M1、版本号为V2的处理策略,或者将策略列表里的名称为M1、版本号为V1的处理策略替换为名称为M1、版本号为V2的处理策略,具体因目标访问数据的再次出现概率而定,其中,目标访问数据为名称为M1、版本号为V1的处理策略所处理的日志数据对应的访问数据。
本发明实施例的另一个可选实施方式中,如图2所示,在通过目标处理模块对日志数据进行处理之后,基于分布式的模块化日志处理方法还包括:
步骤S201,获取对日志数据进行处理的处理结果;
步骤S202,将处理结果赋予到散列参数上;
步骤S203,将赋予了处理结果的散列参数,发送到存储服务器。
具体地,处理模块和存储服务器之间有数据传输接口,在目标处理模块对日志数据进行处理后,目标处理模块通过数据传输接口将处理结果传输给存储服务器,实现日志的处理后入库存储的目的。
实施例二
本发明实施例提供了第一种基于分布式的模块化日志处理装置,如图3所示,包括:
第一获取单元1,用于将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务,以使当前获取任务获取日志数据,其中,第一目标时刻为获取模块中不包含日志数据的时刻,获取任务为获取模块获取日志数据的任务;
检测单元2,用于监测当前获取任务获取的日志数据的数量;
处理单元3,用于在监测到数量达到预设数量的情况下,向目标处理模块推送日志数据,并通过目标处理模块对日志数据进行处理,其中,目标处理模块为多个处理模块中的处于空闲状态的处理模块,一个处理模块对应一个处理线程;
其中,在向目标处理模块推送日志数据之后,将推送日志数据时刻作为第二目标时刻,并将获取模块从第二目标时刻开始执行的获取任务确定为下一个获取任务。
在本发明实施例中,第一获取单元1将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务,以使当前获取任务获取日志数据,其中,第一目标时刻为获取模块中不包含日志数据的时刻,获取任务为获取模块获取日志数据的任务;检测单元2监测当前获取任务获取的日志数据的数量;处理单元3在检测单元2监测到数量达到预设数量的情况下,向目标处理模块推送日志数据,并通过目标处理模块对日志数据进行处理,其中,目标处理模块为多个处理模块中的处于空闲状态的处理模块。其中,在向目标处理模块推送日志数据之后,将推送日志数据时刻作为第二目标时刻,并将获取模块从第二目标时刻开始执行的获取任务确定为下一个获取任务。本发明实施例中,由于处理模块为多个,当检测单元2监测当前获取任务获取的日志数据的数量达到预设数量的情况下,向多个处理模块中的处于空闲状态的目标处理模块推送日志数据,使目标处理模块处理日志数据,即合理地使得多个处理模块对日志数据进行了多线程处理,相对于传统的处理后入库方法来说,有效提高了日志入库前的处理速度,同时也避免了传统的入库后处理方式存在的难度较大的技术问题,即同时缓解传统日志处理方法中存在的难度较大和入库速度较低的技术问题。
本发明实施例的一个可选实施方式中,基于分布式的模块化日志处理装置还包括:
接收单元,用于在将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务之前,接收安全检查终端推送的至少一个源数据,其中,源数据为安全检查终端监测到的客户端访问数据库的请求数据,请求数据中至少携带有客户端的网址和数据库的网址;
散列单元,用于对每个源数据进行散列处理,得到每个源数据的散列参数;
构建单元,用于基于每个源数据和每个源数据的散列参数构建日志数据,并将日志数据发送到获取模块。
本发明实施例的另一个可选实施方式中,基于分布式的模块化日志处理装置还包括:
第一提取单元,用于在向目标处理模块推送日志数据之后,从日志数据中提取客户端的网址或数据库的网址;
确定单元,用于根据客户端的网址或数据库的网址,确定日志数据的访问类型;
第一判断单元,用于根据访问类型,判断是否处理过所属于访问类型的日志数据,得到第一判断结果;
第二获取单元,用于基于第一判断结果获取目标处理策略,其中,目标处理策略为目标处理模块对日志数据进行处理的策略。
本发明实施例的另一个可选实施方式中,第二获取单元包括:
提取子单元,用于在第一判断结果为是的情况下,从目标处理模块中提取目标处理策略;
获取子单元,用于在第一判断结果为否的情况下,通过策略加载模块获取预先编写的目标处理策略。
本发明实施例的另一个可选实施方式中,提取子单元用于:
从目标处理模块中提取策略列表,其中,策略列表中包括多条处理策略,处理策略中携带第一标识,第一标识至少包括第一名称和第一版本号;
根据访问类型,确定目标处理策略;
根据第一标识,从多条处理策略中提取目标处理策略。
本发明实施例的另一个可选实施方式中,获取子单元用于:
策略加载模块获取目标处理策略,其中,目标处理策略为针对所属于访问类型的日志数据编写的日志处理策略;
策略加载模块为目标处理策略赋予第二标识,第二标识至少包括第二名称和第二版本号;
策略加载模块将赋予第二标识的目标处理策略发送到目标处理模块。
本发明实施例的另一个可选实施方式中,基于分布式的模块化日志处理装置还包括:
第一发送单元,用于将赋予第二标识的目标处理策略发送到处理模块;
第二提取单元,用于从处理模块中提取策略列表;
查询单元,用于对策略列表中包括的处理策略进行名称查询;
第二判断单元,用于根据名称查询结果,判断第一名称和第二名称是否相同,得到第二判断结果;
更新单元,用于根据第二判断结果,对处理模块中的处理策略进行更新。
本发明实施例的另一个可选实施方式中,基于分布式的模块化日志处理装置还包括:
第三获取单元,用于在通过目标处理模块对日志数据进行处理之后,获取对日志数据进行处理的处理结果;
赋予单元,用于将处理结果赋予到散列参数上;
第二发送单元,用于将赋予了处理结果的散列参数,发送到存储服务器。
实施例三
本发明还提供了第二种基于分布式的模块化日志处理装置的实施例,如图4所示,该基于分布式的模块化日志处理装置包括:获取模块100和多个处理模块。
获取模块100中安装有计数器300,获取模块100和多个处理模块连接,图4中所示的是三个处理模块,分别为:第一处理模块201、第二处理模块202、第三处理模块203。
其中,获取模块100将从第一目标时刻开始执行的获取任务确定为当前获取任务,以使当前获取任务获取日志数据,其中,第一目标时刻为获取模块100中不包含日志数据的时刻,获取任务为获取模块100获取日志数据的任务;
计数器300用于监测当前获取任务获取的日志数据的数量;
获取模块100还用于在计数器300监测到数量达到预设数量的情况下,向目标处理模块推送日志数据,并通过目标处理模块对日志数据进行处理,其中,目标处理模块为多个处理模块中的处于空闲状态的处理模块;
获取模块100还用于在向目标处理模块推送日志数据之后,将推送日志数据时刻作为第二目标时刻,并将获取模块100从第二目标时刻开始执行的获取任务确定为下一个获取任务。
本发明实施例中,由于处理模块为多个,当计数器300监测当前获取任务获取的日志数据的数量达到预设数量的情况下,获取模块100向多个处理模块中的处于空闲状态的目标处理模块推送日志数据,使目标处理模块处理日志数据,即合理地使得多个处理模块对日志数据进行了多线程处理,相对于传统的处理后入库方法来说,有效提高了日志入库前的处理速度,同时也避免了传统的入库后处理方式存在的难度较大的技术问题,即同时缓解传统日志处理方法中存在的难度较大和入库速度较低的技术问题。
实施例四
本发明还提供了一种基于分布式的模块化日志处理系统,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现实施例一中的基于分布式的模块化日志处理方法。
本发明实施例通过处理器执行计算机程序时实现实施例一中的基于分布式的模块化日志处理方法,由于基于分布式的模块化日志处理方法通过多个处理模块实现对日志数据进行同时的多线程处理,因而,与传统的处理后入库方案相比,本发明实施例提供的基于分布式的模块化日志处理系统缓解了传统处理后入库的日志处理方法中存在的入库速度较低的技术问题
本发明实施例所提供的基于分布式的模块化日志处理方法、装置以及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (5)

1.一种基于分布式的模块化日志处理方法,其特征在于,包括:
将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务,以使所述当前获取任务获取日志数据,其中,所述第一目标时刻为所述获取模块中不包含日志数据的时刻,所述获取任务为所述获取模块获取日志数据的任务;
监测所述当前获取任务获取的所述日志数据的数量;
在监测到所述数量达到预设数量的情况下,向目标处理模块推送所述日志数据,并通过所述目标处理模块对所述日志数据进行处理,其中,所述目标处理模块为多个处理模块中的处于空闲状态的处理模块,一个所述处理模块对应一个处理线程;
其中,在向所述目标处理模块推送所述日志数据之后,将推送所述日志数据时刻作为第二目标时刻,并将所述获取模块从所述第二目标时刻开始执行的获取任务确定为下一个获取任务;
其中,在将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务之前,所述方法还包括:
接收安全检查终端推送的至少一个源数据,其中,所述源数据为所述安全检查终端监测到的客户端访问数据库的请求数据,所述请求数据中至少携带有所述客户端的网址和所述数据库的网址;
对每个所述源数据进行散列处理,得到每个所述源数据的散列参数;
基于每个所述源数据和每个所述源数据的散列参数构建日志数据,并将所述日志数据发送到所述获取模块;
其中,在向所述目标处理模块推送所述日志数据之后,所述方法还包括:
从所述日志数据中提取所述客户端的网址或所述数据库的网址;
根据所述客户端的网址或所述数据库的网址,确定所述日志数据的访问类型;
根据所述访问类型,判断是否处理过所属于所述访问类型的日志数据,得到第一判断结果;
基于所述第一判断结果获取目标处理策略,其中,所述目标处理策略为所述目标处理模块对所述日志数据进行处理的策略;
其中,基于所述第一判断结果获取目标处理策略,包括:
在所述第一判断结果为是的情况下,从所述目标处理模块中提取所述目标处理策略;
在所述第一判断结果为否的情况下,通过策略加载模块获取预先编写的所述目标处理策略;
其中,从所述目标处理模块中提取所述目标处理策略,包括:
从所述目标处理模块中提取策略列表,其中,所述策略列表中包括多条处理策略,所述处理策略中携带第一标识,所述第一标识至少包括第一名称和第一版本号;
根据所述访问类型,确定所述目标处理策略;
根据所述第一标识,从所述多条处理策略中提取所述目标处理策略;
其中,通过策略加载模块获取预先编写的所述目标处理策略,包括:
所述策略加载模块获取所述目标处理策略,其中,所述目标处理策略为针对所属于所述访问类型的日志数据编写的日志处理策略;
所述策略加载模块为所述目标处理策略赋予第二标识,所述第二标识至少包括第二名称和第二版本号;
所述策略加载模块将赋予所述第二标识的所述目标处理策略发送到所述目标处理模块。
2.根据权利要求1所述的方法,其特征在于,在所述策略加载模块将赋予所述第二标识的所述目标处理策略发送到所述目标处理模块之后,所述方法还包括:
将赋予所述第二标识的所述目标处理策略发送到所述处理模块;
从所述处理模块中提取策略列表;
对所述策略列表中包括的处理策略进行名称查询;
根据所述名称查询结果,判断所述第一名称和所述第二名称是否相同,得到第二判断结果;
根据所述第二判断结果,对所述处理模块中的处理策略进行更新。
3.根据权利要求1所述的方法,其特征在于,在通过所述目标处理模块对所述日志数据进行处理之后,所述方法还包括:
获取对所述日志数据进行处理的处理结果;
将所述处理结果赋予到所述散列参数上;
将赋予了所述处理结果的散列参数,发送到存储服务器。
4.一种基于分布式的模块化日志处理装置,其特征在于,包括:
获取单元,用于将获取模块从第一目标时刻开始执行的获取任务确定为当前获取任务,以使所述当前获取任务获取日志数据,其中,所述第一目标时刻为所述获取模块中不包含日志数据的时刻,所述获取任务为所述获取模块获取日志数据的任务;
检测单元,用于监测所述当前获取任务获取的所述日志数据的数量;
处理单元,用于在监测到所述数量达到预设数量的情况下,向目标处理模块推送所述日志数据,并通过所述目标处理模块对所述日志数据进行处理,其中,所述目标处理模块为多个处理模块中的处于空闲状态的处理模块;
其中,在向所述目标处理模块推送所述日志数据之后,将推送所述日志数据时刻作为第二目标时刻,并将所述获取模块从所述第二目标时刻开始执行的获取任务确定为下一个获取任务;
其中,在所述获取单元之前,所述装置还包括:
接收单元,用于接收安全检查终端推送的至少一个源数据,其中,所述源数据为所述安全检查终端监测到的客户端访问数据库的请求数据,所述请求数据中至少携带有所述客户端的网址和所述数据库的网址;
散列处理单元,用于对每个所述源数据进行散列处理,得到每个所述源数据的散列参数;
日志数据构建单元,用于基于每个所述源数据和每个所述源数据的散列参数构建日志数据,并将所述日志数据发送到所述获取模块;
其中,在所述处理单元之后,所述装置还包括:
提取单元,用于从所述日志数据中提取所述客户端的网址或所述数据库的网址;
访问类型确定单元,用于根据所述客户端的网址或所述数据库的网址,确定所述日志数据的访问类型;
判断单元,用于根据所述访问类型,判断是否处理过所属于所述访问类型的日志数据,得到第一判断结果;
目标处理策略获取单元,用于基于所述第一判断结果获取目标处理策略,其中,所述目标处理策略为所述目标处理模块对所述日志数据进行处理的策略;
其中,所述目标处理策略获取单元用于:
在所述第一判断结果为是的情况下,从所述目标处理模块中提取所述目标处理策略;
在所述第一判断结果为否的情况下,通过策略加载模块获取预先编写的所述目标处理策略;
其中,所述目标处理策略获取单元还用于:
从所述目标处理模块中提取策略列表,其中,所述策略列表中包括多条处理策略,所述处理策略中携带第一标识,所述第一标识至少包括第一名称和第一版本号;
根据所述访问类型,确定所述目标处理策略;
根据所述第一标识,从所述多条处理策略中提取所述目标处理策略;
其中,所述目标处理策略获取单元还用于:
所述策略加载模块获取所述目标处理策略,其中,所述目标处理策略为针对所属于所述访问类型的日志数据编写的日志处理策略;
所述策略加载模块为所述目标处理策略赋予第二标识,所述第二标识至少包括第二名称和第二版本号;
所述策略加载模块将赋予所述第二标识的所述目标处理策略发送到所述目标处理模块。
5.一种基于分布式的模块化日志处理系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至3任一项所述的方法。
CN201710803215.0A 2017-09-07 2017-09-07 一种基于分布式的模块化日志处理方法、装置及系统 Active CN107515813B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710803215.0A CN107515813B (zh) 2017-09-07 2017-09-07 一种基于分布式的模块化日志处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710803215.0A CN107515813B (zh) 2017-09-07 2017-09-07 一种基于分布式的模块化日志处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107515813A CN107515813A (zh) 2017-12-26
CN107515813B true CN107515813B (zh) 2021-04-09

Family

ID=60723925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710803215.0A Active CN107515813B (zh) 2017-09-07 2017-09-07 一种基于分布式的模块化日志处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107515813B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381951B (zh) * 2020-03-06 2023-06-30 北京思特奇信息技术股份有限公司 一种系统架构中脏数据处理方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624628A (zh) * 2012-03-22 2012-08-01 深圳市共进电子股份有限公司 一种家庭网关及其实现数据包快速转发的方法
CN104239133A (zh) * 2014-09-26 2014-12-24 北京国双科技有限公司 一种日志处理方法、装置及服务器
CN104391934A (zh) * 2014-11-21 2015-03-04 深圳市银雁金融配套服务有限公司 数据校验方法和装置
CN106776617A (zh) * 2015-11-20 2017-05-31 北京国双科技有限公司 日志文件的保存方法和装置
CN106802904A (zh) * 2015-11-26 2017-06-06 北京国双科技有限公司 日志处理方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9910699B2 (en) * 2014-10-28 2018-03-06 Intel Corporation Virtual processor direct interrupt delivery mechanism

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624628A (zh) * 2012-03-22 2012-08-01 深圳市共进电子股份有限公司 一种家庭网关及其实现数据包快速转发的方法
CN104239133A (zh) * 2014-09-26 2014-12-24 北京国双科技有限公司 一种日志处理方法、装置及服务器
CN104391934A (zh) * 2014-11-21 2015-03-04 深圳市银雁金融配套服务有限公司 数据校验方法和装置
CN106776617A (zh) * 2015-11-20 2017-05-31 北京国双科技有限公司 日志文件的保存方法和装置
CN106802904A (zh) * 2015-11-26 2017-06-06 北京国双科技有限公司 日志处理方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于日志的网站安全监控与审计的研究;王枞;《中国优秀硕士学位论文全文数据库》;20150815;全文 *

Also Published As

Publication number Publication date
CN107515813A (zh) 2017-12-26

Similar Documents

Publication Publication Date Title
CN108804925B (zh) 用于检测恶意代码的方法和系统
CN112422484B (zh) 确定用于处理安全事件的剧本的方法、装置及存储介质
EP3068095A2 (en) Monitoring apparatus and method
CN103379099A (zh) 恶意攻击识别方法及系统
CN110086658B (zh) 接口切换方法、装置及计算机可读存储介质
CN110474911B (zh) 终端可信性识别方法、装置、设备与计算机可读存储介质
CN109657431B (zh) 用于识别用户身份的方法
US20140143625A1 (en) Computer-readable recording medium, failure prediction device and applicability determination method
CN111538563A (zh) 一种对Kubernetes的事件分析方法及装置
CN107515813B (zh) 一种基于分布式的模块化日志处理方法、装置及系统
CN111897834A (zh) 日志搜索方法、装置及服务器
CN109978114B (zh) 数据处理方法、装置、服务器及存储介质
CN113254250B (zh) 数据库服务器异常成因检测方法、装置、设备和存储介质
CN107025129B (zh) 一种数据处理方法以及装置
CN110210221B (zh) 一种文件风险检测方法和装置
US9491193B2 (en) System and method for antivirus protection
CN113010885B (zh) 一种检测伪装起始地址的内核线程的方法及装置
CN115580522A (zh) 一种容器云平台运行状态的监控方法及装置
CN115423030A (zh) 一种设备识别的方法和装置
CN111431764B (zh) 节点确定方法、设备、系统及介质
CN108900492B (zh) 物联网病毒识别与自适应远程查杀方法及系统
CN113411225A (zh) 基于云主机的qga服务管理方法、装置、设备及介质
CN111949363A (zh) 业务访问的管理方法、计算机设备、存储介质及系统
CN106709353B (zh) 搜索引擎的安全性检测方法及装置
KR20230009307A (ko) IoT 장치 식별 방법 및 이를 구현한 네트워크 관리 장치

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: No. 188, Lianhui street, Xixing street, Binjiang District, Hangzhou, Zhejiang Province, 310000

Applicant after: Hangzhou Anheng Information Technology Co.,Ltd.

Address before: 310051 15-storey Zhejiang Zhongcai Building, No. 68 Tonghe Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: DBAPPSECURITY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20171226

Assignee: Hangzhou Anheng Information Security Technology Co., Ltd

Assignor: Hangzhou Anheng Information Technology Co.,Ltd.

Contract record no.: X2021330000118

Denomination of invention: A distributed modular log processing method, device and system

Granted publication date: 20210409

License type: Common License

Record date: 20210823