一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

日志解析方法、装置、电子装置和存储介质与流程

2022-11-12 22:05:52 来源:中国专利 TAG:


1.本技术涉及日志解析领域,特别是涉及日志解析方法、装置、电子装置和存储介质。


背景技术:

2.作为高性能、易拓展的关系型数据库管理系统,clickhouse能够实现海量数据的即时查询,因而自开源发布以来便被广泛应用于olap(on-line analytic processing,大数据联机分析处理)的解决方案中。
3.目前,在clickhouse的应用中,由于以clickhouse为主体的数据分析系统欠缺数据转换的能力,无法控制在存储分析前的数据质量,不能实现对日志数据的解析。因此,往往是将采集得到的原始日志数据发送到额外的日志解析系统中,由该日志解析系统将不同数据源的日志按照不同规则解析成可以区分不同字段的结构化数据。之后再将上述解析完成的结构化数据插入到clickhouse数据库表之中。目前这种使用额外的日志解析系统对原始日志数据进行数据解析的方式,导致日志审计系统的开发成本与运维成本较高。
4.针对相关技术中使用额外的日志解析系统对原始日志数据进行数据解析的方式,所需的技术成本与运维成本较高的问题,目前还没有提出有效的解决方案。


技术实现要素:

5.在本实施例中提供了一种日志解析方法、装置、电子装置和存储介质,以解决相关技术中使用额外的日志解析系统对原始日志数据进行数据解析的方式,所需的技术成本与运维成本较高的问题。
6.第一个方面,在本实施例中提供了一种日志解析方法,用于clickhouse数据库,包括:
7.获取原始日志数据;
8.将预设的解析需求处理为针对所述原始日志数据的解析规则;
9.基于所述clickhouse数据库预设的数据库语法,将所述解析规则转化为物化视图,并利用所述物化视图对所述原始日志数据进行实时解析,得到所述原始日志数据的解析结果。
10.在其中的一些实施例中,所述获取原始日志数据,包括:
11.获取由所述clickhouse数据库的消息组件从预设的数据源接收的原始日志数据。
12.在其中的一些实施例中,所述解析规则为由类型节点组成的树型结构;所述将预设的解析需求处理为针对所述原始日志数据的解析规则,包括:
13.根据所述预设的解析需求,确定所述类型节点,以及所述类型节点之间的组合关系;其中,所述类型节点指示对所述原始日志数据进行匹配替换、匹配提取、以及条件判断中的至少一种处理逻辑;
14.将所述类型节点按照确定的组合关系组合成树型结构,得到所述解析规则。
15.在其中的一些实施例中,所述根据所述预设的解析需求,确定所述类型节点,以及所述类型节点之间的组合关系,包括:
16.根据所述预设的解析需求,确定对所述原始日志数据进行数据处理的正则表达式和/或逻辑表达式,并基于所述正则表达式和/或逻辑表达式生成类型节点;
17.基于所述预设的解析需求确定所述类型节点之间的组合关系。
18.在其中的一些实施例中,所述基于所述clickhouse数据库预设的数据库语法,将所述解析规则转化为物化视图,包括:
19.按照所述解析规则的树型结构对所述解析规则进行遍历,在遍历过程中依次基于所述clickhouse数据库预设的数据库语法,将所述解析规则中的类型节点转化为物化视图片段;
20.在遍历结束后对所有的所述物化视图片段进行拼接,得到所述物化视图。
21.在其中的一些实施例中,所述利用所述物化视图对所述原始日志数据进行实时解析,得到所述原始日志数据的解析结果,包括:
22.基于所述物化视图中的数据库语句,对所述原始日志数据进行实时过滤和实时解析,得到所述原始日志数据的解析结果。
23.在其中的一些实施例中,在得到所述原始日志数据的解析结果之后,所述方法还包括:
24.将所述解析结果写入所述clickhouse数据库预先建立的解析结果表中进行存储。
25.第二个方面,在本实施例中提供了一种日志解析装置,用于clickhouse数据库,包括:获取模块、处理模块、以及解析模块;其中:
26.所述获取模块,用于获取原始日志数据;
27.所述处理模块,用于将预设的解析需求处理为针对所述原始日志数据的解析规则;
28.所述解析模块,用于基于所述clickhouse数据库预设的数据库语法,将所述解析规则转化为物化视图,并利用所述物化视图对所述原始日志数据进行实时解析,得到所述原始日志数据的解析结果。
29.第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的日志解析方法。
30.第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的日志解析方法。
31.与相关技术相比,在本实施例中提供的日志解析方法、装置、电子装置和存储介质,获取原始日志数据;将预设的解析需求处理为针对原始日志数据的解析规则;基于clickhouse数据库预设的数据库语法,将解析规则转化为物化视图,并利用物化视图对原始日志数据进行实时解析,得到原始日志数据的解析结果。本技术利用clickhouse数据库实现了对原始日志数据的解析,从而能够在不依赖额外的解析系统的情况下完成对原始日志数据的实时解析,进而能够提高对clickhouse数据库性能的利用率,从而降低了目前日志审计系统的开发成本和维护成本。
32.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他
特征、目的和优点更加简明易懂。
附图说明
33.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
34.图1是本实施例的日志解析方法的终端的硬件结构框图;
35.图2是本实施例的日志解析方法的流程图;
36.图3是本优选实施例的日志解析方法的流程图;
37.图4是日志解析过程中的数据流向示意图;
38.图5是本实施例的日志解析装置的结构框图。
具体实施方式
39.为更清楚地理解本技术的目的、技术方案和优点,下面结合附图和实施例,对本技术进行了描述和说明。
40.除另作定义外,本技术所涉及的技术术语或者科学术语应具有本技术所属技术领域具备一般技能的人所理解的一般含义。在本技术中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本技术中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本技术中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本技术中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本技术中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
41.在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的日志解析方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
42.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的日志解析方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联
网、企业内部网、局域网、移动通信网及其组合。
43.传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
44.在本实施例中提供了一种日志解析方法,图2是本实施例的日志解析方法的流程图,如图2所示,该流程包括如下步骤:
45.步骤s210,获取原始日志数据。
46.其中,该原始日志数据具体可以为由clickhouse数据库的kafka(分布式发布订阅消息系统)引擎表,实时从数据源系统接收到的数据。具体地,可以通过以下数据库建表语句,创建kafka引擎表,并接收由其他系统或设备通过kafka发来的原始日志数据。具体的创建kafka引擎表的语句可以为:
[0047][0048]
engine=kafka('kafka地址列表','kafka主题','消费者组','数据格式');
[0049]
其中,在填写正确的kafka相关参数,例如kafka地址列表、kafka主题、消费者组、数据格式之后,在clickhouse数据库中执行上述语句即可建立kafka引擎表,表名为rawevent_kafka。
[0050]
示例性地,该原始日志数据为上网管理系统的日志数据时,该日志格式可以为:“事件时间当事人action:行为类型[键1:值1键2:值2...]”。该上网管理系统在时间“2020-02-02 02:00:00”发来2条原始日志数据,分别记为e1、e2,其中原始日志数据e1为:
[0051]
2020-02-02 01:01:01 admin action:mail[from:a@mail.com to:b@mail.com subj:邮件主题];
[0052]
其中原始日志数据e2为:
[0053]
2020-02-02 01:10:01 tom action:web[url:www.foo.com ip:123.123.123.123]。
[0054]
上述两条原始日志数据在kafka引擎表中的存在形式如下表所示:
[0055]
[0056][0057]
另外地,在接收到原始日志数据后,可以建立用于存储该原始日志数据的本地表,并利用针对原始日志数据写入的物化视图将该kafka引擎表中的原始日志数据写入至本地表中。示例性地,可以基于如下数据库建表语句建立本地表:
[0058][0059]
engine=mergetree()
[0060]
partition by toyyyymmdd(collecttime)
[0061]
order by(sourceip,collecttime)
[0062]
settings index_granularity=8192;
[0063]
之后,通过如下数据库语句建立上述针对原始日志数据写入的物化视图,将kafka引擎表中的数据实时插入到本地表中:
[0064]
create materialized view if not exists view_rawevent_local
[0065]
to rawevent_local as
[0066]
select sourceip,todatetime(collecttime),rawevent
[0067]
from rawevent_kafka;
[0068]
其中该针对原始日志数据写入的物化视图名称为view_rawevent_local,该物化视图将实时监测kafka引擎表中原始日志数据,并将其中的增量数据插入之本地表rawevent_local中。
[0069]
至此,本实施例已经基于上述操作完成了将原始日志数据由kafka引擎表插入至
本地表中。另外,在对原始日志数据进行解析之前,本实施例还可以基于预设的解析需求,建立解析结果表。该解析结果表用于存储原始日志数据的解析结果。其中,可以根据解析需求,例如解析任务的目标,确定需要解析出的字段,在该解析结果表中,每个字段对应该解析结果表中的一列。继续以上述上网管理系统的原始日志数据为例,对应的解析结果表中的字段可以包括:事件时间、当事人、行为类型、邮件发送方、邮件接收方、邮件主题、网站域名、网站ip等。示例性地,该解析结果表的sql(structured query language,结构化查询语句)建表语句可以为:
[0070][0071]
engine=mergetree()
[0072]
partition by toyyyymmdd(collecttime)
[0073]
order by(sourceip,collecttime)
[0074]
settings index_granularity=8192;
[0075]
本领域技术人员可以理解地是,上述建表语句、原始日志数据、日志格式等信息,均为对本实施例的方法进行说明所提供的示例,并不构成对本实施例的具体限定。
[0076]
步骤s220,将预设的解析需求处理为针对原始日志数据的解析规则。
[0077]
其中,可以基于预设的解析需求来确定对应的解析规则。可以基于预设的解析需求,确定解析规则中对原始日志数据进行解析处理的具体处理逻辑,该处理逻辑可以由正则表达式和逻辑表达式中的一种或多种来表示。优选地,可以在该解析规则中设置对原始日志数据进行字符串替换的正则表达式,以对其中的特定形式的字符串进行替换;还可以在该解析规则中设置对原始日志数据进行字符串匹配的正则表达式,从中筛选出匹配到的字符串;以及,可以在解析规则中设置逻辑表达式,对原始日志数据中的字符串进行条件判断。另外,还可以设置上述不同处理逻辑之间的先后顺序,从而得到符合预设的解析需求的解析规则。
[0078]
进一步地,解析规则可以为具有若干类型节点的树型结构,为了叙述方便,下文将
该树型结构的解析规则称作解析树。其中,该解析树可以具有多种不同类型的类型节点。优选地,该解析树可以包括如下四种类型节点:根节点、匹配替换节点、匹配提取节点、以及条件判断节点。其中,根节点作为解析流程的起始节点,以原始日志数据作为输入,不对该原始日志数据进行任何变换,并将原始日志数据输出。该匹配替换节点以父节点输出作为节点输入,利用正则表达式匹配输入内容中的特定形式的字符串,将其替换成指定字符串,将整个输入字符串替换后的结果作为输出。匹配提取节点以父节点输出作为节点输入,利用正则表达式匹配输入内容中的特定形式的字符串,将匹配到的字符串结果作为节点输出。条件判断节点以父节点输出作为节点输入,利用逻辑表达式对输入进行运算。当运算结果为“真”时,以输入内容作为输出,否则以空字符串作为输出。
[0079]
另外地,在本实施例中,还可以以用户交互界面的形式,为用户提供解析规则的设置操作。在该交互界面中,用户可以从上述类型节点中选取需要的类型节点,并对其输入输出关系进行设置,从而生成解析树。例如,可以响应用户在上述交互界面的如下操作,来将解析需求处理为解析规则:选择某个类型节点的输出作为当前类型节点的输入、选择类型节点的类型、输入类型节点的名称、设置类型节点中对应的正则表达式或逻辑表达式等。在解析完成后,还可以向用户展示该解析树的结构。
[0080]
步骤s230,基于clickhouse数据库预设的数据库语法,将解析规则转化为物化视图,并利用物化视图对原始日志数据进行实时解析,得到原始日志数据的解析结果。
[0081]
具体地,可以基于clickhouse数据库中的数据库语法,按照解析规则中各处理逻辑的顺序,依次将该解析规则中的各处理逻辑转化为相应的物化视图片段,之后再对各物化视图片段进行拼接,从而得到物化视图。之后,基于该物化视图对本地表中的原始日志数据进行过滤和解析,并将解析结果插入至预先建立的解析结果表中。可以理解地,本步骤中所指的基于解析规则转化的物化视图,是针对原始日志数据进行解析和过滤的物化视图,与上述步骤s210中所涉及的针对原始日志数据写入的物化视图不同。
[0082]
优选地,基于解析树的树型结构,遍历上述解析树的各类型节点,依次将各类型节点转化为对应的sql语句片段。之后,对各类型节点转化的sql语句片段进行组合,生成完整的clickhouse物化视图定义语句,也即上述针对原始日志数据解析的物化视图。接下来,基于该clickhouse物化视图定义语句,对上述本地表中的原始日志数据进行实时过滤和解析,并将解析结果插入解析结果表中。
[0083]
在相关技术中需要预先利用额外的解析系统或组件对原始日志数据进行解析,将解析好的字段插入到clickhouse数据库中。其依赖于高质量的原始日志数据,或者需要搭配额外的解析系统,从而导致日志审计系统的开发和维护成本较高,并且不能充分利用clickhouse数据库的性能。本实施例所提供给的日志解析方法,在整个解析过程中可以基于clickhouse的物化视图来实现,无需依赖于其他大数据组件或解析系统,从而能够对clickhouse数据库性能的利用率。相比相关技术,还能够降低日志审计系统开发和维护成本。
[0084]
上述步骤s210至s230,获取原始日志数据;将预设的解析需求处理为针对原始日志数据的解析规则;基于clickhouse数据库预设的数据库语法,将解析规则转化为物化视图,并利用物化视图对原始日志数据进行实时解析,得到原始日志数据的解析结果。其利用clickhouse数据库实现了对原始日志数据的解析,从而能够在不依赖额外的解析系统的情
况下完成对原始日志数据的实时解析,进而能够提高对clickhouse数据库性能的利用率,从而降低了目前日志审计系统的开发成本和维护成本。
[0085]
在一个实施例中,基于上述步骤s210,获取原始日志数据,具体可以包括以下步骤:
[0086]
步骤s211,获取由clickhouse数据库的消息组件从预设的数据源接收的原始日志数据。
[0087]
具体地,该消息组件可以为clickhouse数据库的kafka引擎表。本实施例基于kafka引擎表实时接收从数据源头系统发送来的原始日志数据,并利用针对原始日志数据写入的物化视图将kafka引擎表中的原始日志数据写入本地表中。
[0088]
另外地,在一个实施例中,基于上述步骤s220,解析规则为由类型节点组成的树型结构;将预设的解析需求处理为针对原始日志数据的解析规则,具体可以包括以下步骤:
[0089]
步骤s221,根据预设的解析需求,确定类型节点,以及类型节点之间的组合关系;其中,类型节点指示对原始日志数据进行匹配替换、匹配提取、以及条件判断中的至少一种处理逻辑。
[0090]
具体地,类型节点可以如下四种:根节点、匹配替换节点、匹配提取节点、以及条件判断节点。其中,根节点作为解析流程的起始节点,以原始日志数据作为输入,不对该原始日志数据进行任何变换,并将原始日志数据输出。
[0091]
匹配替换节点利用正则表达式匹配输入内容中的特定形式的字符串,将其替换成指定字符串,将整个输入字符串替换后的结果作为输出。可以将匹配替换节点记为r1,匹配替换节点r1在形式上可以为:output=replace(input,pattern,target)。其中,input、output分别表示节点输入和输出,下同。pattern表示用于匹配的模板,可以为正则表达式。target表示替换成的字符串,可以为空字符串。
[0092]
匹配提取节点利用正则表达式匹配输入内容中的特定形式的字符串,将匹配到的字符串结果作为节点输出。可以将匹配提取节点记为r2,匹配提取节点r2在形式上可以表示为:output=extract(input,pattern)。其中,pattern表示用于提取的模板,可以为正则表达式。
[0093]
条件判断节点利用逻辑表达式对输入进行运算。当运算结果为“真”时,以输入内容作为输出,否则以空字符串作为输出。可以将条件判断节点记为r3,条件判断节点r3的形式可以表示为:output=if(input,condition)。其中condition表示关于任意已建立的类型节点的逻辑表达式。
[0094]
另外地,上述组合关系,具体可以为不同类型节点之间的输入输出关系。本实施例根据预设的解析需求,确定所需的类型节点,及各类型节点之间的组合关系,从而能够生成符合解析需求的针对原始日志数据的解析规则。
[0095]
步骤s222,将类型节点按照确定的组合关系组合成树型结构,得到解析规则。其中,在确定类型节点及各类型节点之间的组合关系后,可以将所需的类型节点按照已确定的组合关系进行组合,形成树形结构的解析规则。
[0096]
进一步地,在一个实施例中,基于上述步骤s221,根据预设的解析需求,确定类型节点,以及类型节点之间的组合关系,可以包括:根据预设的解析需求,确定对原始日志进行数据处理的正则表达式和/或逻辑表达式,并基于正则表达式和/或逻辑表达式生成类型
节点;基于预设的解析需求确定类型节点之间的组合关系。
[0097]
示例性地,可以为用户提供交互界面,以使用户在该交互界面上进行类型节点的选取、正则表达式和/或逻辑表达式的设置、以及各类型节点之间的输入输出关系的组合。其中,用户可以通过将其中一个类型节点设置为另一个类型节点的父节点,从而确定其输入输出关系。下表为基于用户交互界面得到的解析规则,如下表所示,解析规则的内容可以包括:
[0098][0099]
其中,可以基于节点号以及各节点的父节点,对不同的类型节点进行组合,从而得到解析规则。
[0100]
另外地,在一个实施例中,基于上述步骤s230,基于clickhouse数据库预设的数据库语法,将解析规则转化为物化视图,具体可以包括以下步骤:
[0101]
步骤s231,按照解析规则的树型结构对解析规则进行遍历,在遍历过程中依次基于clickhouse数据库预设的数据库语法,将解析规则中的类型节点转化为物化视图片段。
[0102]
其中,可以基于解析规则的树形结构,依次对该解析规则中的各类型节点进行遍
历,在遍历过程中基于对应的类型节点中的正则表达式或逻辑表达式,以及clickhouse数据库预设的数据库语法,生成对应的sql语句片段,该sql语句片段即为与类型节点对应的物化视图片段。在遍历完成后,基于各类型节点之间的组合关系,对上述sql语句片段进行组合,从而得到完整的物化视图。该完整的物化视图即上述针对原始日志数据进行解析的物化视图。
[0103]
例如,在上述步骤s222得到解析规则之后,可以将其中的每个类型节点转化为如下表所示的sql语句片段:
[0104][0105][0106]
步骤s232,在遍历结束后对所有的物化视图片段进行拼接,得到物化视图。
[0107]
也即,可以对步骤s231中的各类型节点的sql语句片段进行组合,从而生成完整的clickhouse物化视图定义语句。具体的clickhouse物化视图定义语句可以为:
[0108][0109][0110]
基于上述物化视图定义语句可知,上述物化视图能够实时将原始日志数据从本地表rawevent_local中进行过滤和解析,之后插入到解析结果表onlinebehavior中。从而在clickhouse数据库中实现对原始日志数据的过滤和解析。
[0111]
另外地,在一个实施例中,基于上述步骤s230,利用物化视图对原始日志数据进行实时解析,得到原始日志数据的解析结果,还可以包括以下步骤:
[0112]
步骤s233,基于物化视图中的数据库语句,对原始日志数据进行实时过滤和实时解析,得到原始日志数据的解析结果。
[0113]
另外地,在一个实施例中,在得到原始日志数据的解析结果之后,上述日志解析方法还可以包括以下步骤:
[0114]
步骤s240,将解析结果写入clickhouse数据库预先建立的解析结果表中进行存储。
[0115]
下面通过优选实施例对本实施例进行描述和说明。
[0116]
图3是本优选实施例的日志解析方法的流程图。如图3所示,该日志解析方法包括如下步骤:
[0117]
步骤s301,通过clickhouse的kafka引擎表接收原始日志数据;
[0118]
步骤s302,利用针对数据写入的物化视图将kafka引擎表的原始日志数据转存到本地表;
[0119]
步骤s303,建立解析结果表,该解析结果表用于存储原始日志数据的解析结果;
[0120]
步骤s304,利用用户交互解码设计解析规则;
[0121]
步骤s305,将设计的解析规则转化为clickhouse物化视图;
[0122]
步骤s306,基于解析规则转化得到的clickhouse物化视图对本地表中的原始日志数据进行解析,并将解析结果存储于解析结果表中。
[0123]
进一步地,图4为日志解析过程中的数据流向示意图。基于上述步骤s301至步骤s306,可以得到上述优选实施例中,原始日志数据的数据流向如图4所示。其中,原始日志数据由kafka引擎表,通过针对原始日志数据写入的第一物化视图,写入本地表中。之后,基于针对原始日志数据解析的第二物化视图,对本地表中的原始日志数据进行实时过滤和解析,并将解析结果存储至对应的解析结果表中。
[0124]
在本实施例中还提供了一种日志解析装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0125]
图5是本实施例的日志解析装置50的结构框图,如图5所示,该日志解析装置50包括:获取模块52、处理模块54、以及解析模块56;其中:
[0126]
获取模块52,用于获取原始日志数据;
[0127]
处理模块54,用于将预设的解析需求处理为针对原始日志数据的解析规则;
[0128]
解析模块56,用于基于clickhouse数据库预设的数据库语法,将解析规则转化为物化视图,并利用物化视图对原始日志数据进行实时解析,得到原始日志数据的解析结果。
[0129]
上述日志解析装置50,获取原始日志数据;将预设的解析需求处理为针对原始日志数据的解析规则;基于clickhouse数据库预设的数据库语法,将解析规则转化为物化视图,并利用物化视图对原始日志数据进行实时解析,得到原始日志数据的解析结果。其利用clickhouse数据库实现了对原始日志数据的解析,从而能够在不依赖额外的解析系统的情况下完成对原始日志数据的实时解析,进而能够提高对clickhouse数据库性能的利用率,从而降低了目前日志审计系统的开发成本和维护成本。
[0130]
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软
件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
[0131]
在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0132]
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0133]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0134]
s1,获取原始日志数据;
[0135]
s2,将预设的解析需求处理为针对原始日志数据的解析规则;
[0136]
s3,基于clickhouse数据库预设的数据库语法,将解析规则转化为物化视图,并利用物化视图对原始日志数据进行实时解析,得到原始日志数据的解析结果。
[0137]
需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
[0138]
此外,结合上述实施例中提供的日志解析方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种日志解析方法。
[0139]
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本技术提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本技术保护范围。
[0140]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0141]
显然,附图只是本技术的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本技术适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本技术披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本技术公开的内容不足。
[0142]“实施例”一词在本技术中指的是结合实施例描述的具体特征、结构或特性可以包括在本技术的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本技术中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
[0143]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献