CN114968958A - 日志解析方法、装置、计算设备及存储介质 - Google Patents
日志解析方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN114968958A CN114968958A CN202210388372.0A CN202210388372A CN114968958A CN 114968958 A CN114968958 A CN 114968958A CN 202210388372 A CN202210388372 A CN 202210388372A CN 114968958 A CN114968958 A CN 114968958A
- Authority
- CN
- China
- Prior art keywords
- log
- analysis
- analyzed
- parsing
- queue
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种日志解析方法、装置、计算设备及存储介质,日志解析方法在计算设备中执行,该方法包括:基于预设的解析配置文件,生成日志解析请求,解析配置文件至少包括各待解析日志的日志类型;响应于日志解析请求,获取各待解析日志;针对每一待解析日志,根据其日志类型,将该待解析日志置入对应的解析队列中;分别对各解析队列中的待解析日志进行解析,得到每一解析队列对应的解析结果;将各解析结果分别进行存储。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种日志解析方法、装置、计算设备及存储介质。
背景技术
在一个完整的信息系统中,日志是一个非常重要的功能组成部分。日志解析显得尤为重要。
随着企业业务层面的升级与发展,由众多应用产生的日志越来越多,日志解析任务也愈加严峻,现有解析方式存在无法实现对日志内容的深度挖掘,解析得到的解析结果的可用性和易读性差等问题。
基于此,亟需一种可以更优的日志解析方法,以解决现有技术中存在的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种日志解析方法、装置、计算设备以及存储介质。
根据本发明的一个方面,提供一种日志解析方法,在计算设备中执行,该方法包括:基于预设的解析配置文件,生成日志解析请求,解析配置文件至少包括各待解析日志的日志类型;响应于日志解析请求,获取各待解析日志;针对每一待解析日志,根据其日志类型,将该待解析日志置入对应的解析队列中;分别对各解析队列中的待解析日志进行解析,得到每一解析队列对应的解析结果;将各解析结果分别进行存储。
可选地,在根据本发明的日志解析方法中,其中,解析配置文件还包括各待解析日志的解析方式,以及分别对各解析队列中的待解析日志进行解析的步骤包括:利用各待解析日志对应的解析方式,分别对各待解析日志进行解析,解析方式为预设格式解析、特殊字符解析、以及正则表达式解析中的一种。
可选地,在根据本发明的日志解析方法中,其中,利用各待解析日志对应的解析方式,分别对各待解析日志进行解析的步骤包括:若待解析日志的解析方式为特殊字符解析,则根据选中的特殊字符对待解析日志的内容进行字符分割,并将分割后形成的各字段进行提取;若待解析日志的解析方式为特殊字符解析,则根据正则表达式对待解析日志的内容进行正则匹配切分,并将切分后形成的各字段集进行提取;若待解析日志的解析方式为预设格式解析,则不对待解析日志进行解析。
可选地,在根据本发明的日志解析方法中,其中,分别对各解析队列中的待解析任务进行解析,得到每一解析队列对应的解析结果的步骤包括:将每一解析队列中的各待解析日志均解析成预设格式的结构体,并将各结构体与其对应的待解析日志的数据源进行关联,将关联后的各结构体的集合作为所述解析结果。
可选地,在根据本发明的日志解析方法中,其中,将各解析结果分别进行存储的步骤包括:以每一解析队列对应的日志类型为一级索引,各数据源为二级索引,对该每一解析队列产生的解析结果进行存储。
可选地,在根据本发明的日志解析方法中,其中,还包括:若解析配置文件中未记录某一待解析日志的解析方式,则直接将该待解析日志的内容进行存储。
可选地,在根据本发明的日志解析方法中,其中,将各解析结果分别进行存储的步骤包括:使用内嵌式存储系统对各解析结果进行分类存储,其中,将每一解析结果作为一个存储队列,将解析结果中的各字段依次存储至存储队列的一个字段中。
可选地,在根据本发明的日志解析方法中,其中,在将切分后形成的各字段进行提取的步骤之后,还包括:响应于对各字段的重命名请求,对相应字段进行重新命名。
可选地,在根据本发明的日志解析方法中,其中,预设格式为Json格式。
可选地,在根据本发明的日志解析方法中,其中,分别对各解析队列中的待解析日志进行解析的步骤包括:采用Flink技术,分别构建各解析队列的解析任务。
可选地,在根据本发明的日志解析方法中,其中,解析配置文件还包括各待解析日志的标识和存储路径,以及响应于日志解析请求,获取各待解析日志的步骤包括:基于存储路径,确定目标待解析日志所在的存储目录;基于标识,从存储目录中确定出目标待解析日志。
根据本发明的又一个方面,提供一种日志解析装置,驻留在计算设备中,包括:生成模块,适于基于预设的解析配置文件,生成日志解析请求,解析配置文件至少包括各待解析日志的日志类型;获取模块,适于响应于日志解析请求,获取各待解析日志;置入模块,适于针对每一待解析日志,根据其日志类型,将该待解析日志置入对应的解析队列中;解析模块,适于分别对各解析队列中的待解析日志进行解析,得到每一解析队列对应的解析结果;存储模块,适于将各解析结果分别进行存储。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行上述方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的方法。
根据本发明的方案,利用各待解析日志的日志类型对各待解析日志进行分类解析和存储,可实现日志源数据的高可用性和高易用性,以此来解决日志数据的实用性问题,为广大日志用户带来操作更方便、功能更强大的日志服务体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的计算设备100的示意图;
图2示出了根据本发明一个实施例的日志解析方法200的流程图;
图3示出了根据本发明一个实施例的解析器的工作示意图;
图4示出了根据本发明一个实施例的日志解析方法的解析流程图;
图5示出了根据本发明一个实施例的日志解析装置500的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
随着日志量的提升,其原始数据的实用性逐渐成为用户的关注点。日志数据在应用服务中能够发挥重大的作用。容易理解的是,应用一旦投入生产,后续会持续输出日志。海量的日志数据就像是一座矿山,不去挖掘不知道它们的价值有多大。伴随着数据的价值挖掘被逐渐重视,利用日志中的信息能做的事情也越来越多。例如,很多互联网公司通过页面埋点来获取用户信息以辅助运营,如通过用户在公司网站上的点击记录,获取用户兴趣点,进行个性化的推送等。
从整体上而言,日志数据的作用可以概括为以下几个方面:
1、故障排查:通过日志手段可对系统进行实时健康度监控,系统日志记录程序Syslog就是为了这个目的设计的。
2、数据分析:通过对业务系统日志进行关联分析,可以掌握业务系统的整体运行情况,并可通过日志进一步掌握用户画像、用户访问地域、用户访问热点资源等信息,从而为业务平台的市场营销、销售策略等提供数据支撑。
3、安全合规审计:根据国家网络安全法等级保护要求,需要对安全设备日志进行集中存储和分析。
4、内网安全监控:很多企业的信息泄漏起始于内部,使用日志进行用户行为分析(UEBA)以监控内网安全,已成为行业共识。
5、智能运维:随着大数据时代的日益深化,数据管理和分析方案越来越智能,自动化运维已逐渐普及。而机器数据作为智能运维的基础数据,也必将在未来发挥出越来越重要的作用。
但是,如何根据用户接入日志数据进行内容深度挖掘,如何将可用性较低的原始数据变的更有利用价值,仍然是现在需要克服的问题。
为解决上述现有技术中存在的问题,提出本发明的方案。本发明的一个实施例提供了一种日志解析方法,该方法可以在计算设备中执行。图1示出了根据本发明一个实施例的计算设备100的结构图。如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器1 16。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器104读取。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。应用122实际上是多条程序指令,其用于指示处理器104执行相应的操作。在一些实施方式中,在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。操作系统120例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用122包括用于实现各种用户期望的功能的程序指令,应用122例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用122被安装到计算设备100中时,可以向操作系统120添加驱动模块。
在计算设备100启动运行时,处理器104会从存储器106中读取操作系统120的程序指令并执行。应用122运行在操作系统120之上,利用操作系统120以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用122时,应用122会加载至存储器106中,处理器104从存储器106中读取并执行应用122的程序指令。
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100还包括与总线/接口控制器130相连的储存接口总线134。储存接口总线134与储存设备132相连,储存设备132适于进行数据存储。示例的储存设备132可以包括可移除储存器136(例如CD、DVD、U盘、可移动硬盘等)和不可移除储存器138(例如硬盘驱动器HDD等)。
在根据本发明的计算设备100中,应用122包括执行方法200的多条程序指令。
图2示出了根据本发明一个实施例的日志解析方法200的流程图。方法200适于在计算设备(例如前述计算设备100)中执行。
如图2所示,方法200的目的是实现一种日志解析方法,从日志数据的可用性和易读性两个方向进行攻克,成功实现无需用户侵入内嵌SDK、更改日志原始格式等操作,只需用户根据所需进行配置即可对原始日志数据按照用户所想进行格式化解析,并对解析结果进行单独索引进行存储。最终实现配置与数据流的共享利用,解决用户原始数据的可用性、易读性问题。
方法200始于步骤S202,在步骤S202中,基于预设的解析配置文件,生成日志解析请求,解析配置文件至少包括待解析日志的日志类型。
当计算设备启动后,会向用户提供一个日志解析配置界面,配置界面中会呈现各待解析日志的标识、日志类型、解析方式和日志的存储路径等内容,以便由用户完成对各待解日志的解析参数设置,例如,用户可以选择何种解析方式来解析目标日志等。当用户设置解析参数之后,保存当前的配置设置,便生成上述预设的解析配置文件。当用户触发日志解析操作按钮后,计算设备会根据该预设的解析配置文件,生成一个日志解析请求。
随后计算设备响应该日志解析请求,进入步骤S204,在步骤S204中,获取各待解析日志。具体地,首先,基于解析配置文件中记载的各待解析日志的存储路径,确定目标待解析日志所在的存储目录。之后,基于解析配置文件中记载的各待解析日志的标识,从存储目录中确定出目标待解析日志。值得注意的是,一般同一应用产生的日志数据,都存储在一个存储目录中。应用在安装在计算设备时,会在计算设备中生成一个该应用的存储目录,由该应用产生的数据均存储在该目录或者其子目录中。当应用执行时,产生的日志数据会存储在对应的目录中,计算设备根据解析配置文件中记录的该目录的存储路径和标识,最终确定出目标待解析日志,并将该目标待解析日志提取出来进行日志解析。
计算设备将所有待解析日志均提取至解析器中,进行日志解析步骤,具体的解析步骤参考步骤S206,针对每一待解析日志,根据其日志类型,将该待解析日志置入对应的解析队列中。
值得注意的是,日志属于什么类型取决于其数据源的类型。即日志是由什么类型的应用产生的,则其属于什么类型的日志。例如,由容器型应用产生的日志则为容器型日志。另外,日志类型一般包括容器型日志和物理机型日志(也叫经典型日志)。
对于不同的日志类型,解析器会构建不同的解析队列。示例性地,解析器根据所有的日志类型,一一构建对应的解析队列。假设有日志a,b和c,其中,日志a为容器型日志,b和c为物理机型日志。则将日志a加入至容器型日志解析队列。将日志b和c加入至物理机型日志解析队列中。通过将不同类型的日志加入不同的解析队列和避免各日志的数据源(来源于哪个应用)在混合情况下,造成解析性能问题。
随后,进入步骤S208中,分别对各解析队列中的待解析日志进行解析,得到每一解析队列对应的解析结果。具体地,采用Flink技术,分别构建各解析队列的解析任务。换言之,将属于同一日志类型的各待解析日志进行统一解析,利用Flink实时计算技术,将待解析日志的源数据按用户配置解析规则进行逐行解析操作。
前述提到,解析配置文件中会记录用户为各待解析日志分配的解析方式,因此,在对各待解析日志进行解析时,利用各待解析日志对应的解析方式,分别对各待解析日志进行解析。解析方式包括多种,例如,预设格式解析(Json格式),特殊字符解析,正则表达式解析等。其中,若待解析日志的解析方式为预设格式解析,则不对待解析日志进行解析,即日志的源数据格式为Json字符串时,直接以该日志格式对日志进行存储即可。若待解析日志的解析方式为特殊字符(例如,换行符、制表符、空格等)解析,则根据选中的特殊字符对待解析日志的内容进行字符分割(待解析日志的源数据以某种分隔符分割,根据选中的分隔符可进行字符切分),然后将分割后形成的各字段进行提取。若待解析日志的解析方式正则表达式解析,则根据正则表达式对待解析日志的内容进行正则切分(根据正则表达式对待解析日志进行自由匹配提取切分),并将切分后形成的各字段进行提取。优选地,无论是通过特殊字符解析方式解析出来的各字段,还是通过正则表达式解析方式解析出来的各结果集,均按照f1至fn进行命名,同时向用户提供对f1至fn的字段的重命名功能。
在一些实施例中,将每一解析队列中的各待解析日志均解析成预设格式的结构体,并将各结构体与其对应的待解析日志的数据源进行关联,将关联后的各结构体的集合作为解析结果。具体地,预设格式为Json格式,Json的全称为:JavaScript ObjectNotation,是一种轻量级的数据交互格式。Json和Xml一样也是一种简单文本格式。相对于Xml,它更加易读、更便于肉眼检查。在语法的层面上,Json与其他格式的区别是在于分隔数据的字符,Json中的分隔符限于单引号、小括号、中括号、大括号、冒号和逗号,它们简化了数据访问。其另一个优点是它的非冗长性,在Xml中,打开和关闭标记是必需的,这样才能满足标记的依从性,而在Json中,所有这些要求只需通过一个简单的括号即可满足。因此,将各待解析日志解析成Json格式的结构体,方便存储与数据交互。其中,每个待解析日志对应一个结构体,将该结构体与对应的待解析日志的数据源(对应应用)进行关联,以便后续检索。最后,将所有进行关联的结构体的集合作为解析结果。换言之,一个解析队列最终产生一个解析结果。
最后,在步骤S210中,将各解析结果分别进行存储。具体地,以每一解析队列对应的日志类型为一级索引,各数据源为二级索引,对该每一解析队列产生的解析结果进行存储。优选地,使用内嵌式存储系统对各解析结果进行分类存储,其中,将每一解析结果作为一个存储队列,将解析结果中的各字段依次存储至存储队列的一个字段中。内嵌式存储系统(embedded storage,ES),就是把存储介质内嵌在服务器中,就好比现在PC中的硬盘。其具有安装简单,维护方便等优点。ES作为一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,能够横向扩展至数以百计的服务器存储以及处理PB级的数据。还可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。ES就是为高可用和可扩展而生的。一方面可以通过升级硬件来完成系统扩展,称为垂直或向上扩展(Vertical Scale/Scaling Up)。另一方面,增加更多的服务器来完成系统扩展,称为水平扩展或者向外扩展(Horizontal Scale/Scaling Out)。
ES系统最核心的属性为message字段,待解析日志解析出来的字段可以以Json格式动态存储在各message字段中,该字段为Object类型,其优点在于可接收存储不同长度的Json格式数据,在不改变原始message字段类型的前提下,做到字段长度动态缩容。其中,一个message字段可用来存储一个解析结果中的字段。同一个解析结果形成的message字段组作为一个存储队列。最后将各解析结果对应的原始日志的日志类型和数据源作为索引,分类存储至ES系统中。
需要说明的是,对各待解析日志的解析过程和存储过程均在解析器中完成。在一个具体示例中,参考图3,图3示出了根据本发明一个实施例的解析器的工作示意图。用户进行格式化解析配置后,解析工作交给底层Flink任务进行处理,该任务在日志数据源上按类型进行划分,分别形成如图4中的Job1、Job2、Job3等。再根据用户选择的解析规则(解析方式)来执行各解析任务。具体地,对数据源中的行数据进行对应规则解析。得到的字段一一存储至ES系统的message字段中。
另外,用户在设置解析配置文件时,会将一些不需要进行解析的日志一种写入配置文件中,以便将其与其他同日志类型的日志的解析结果进行存储。那么,用户在进行解析配置文件的设置时,只需要不对此类日志配置解析方式,便可实现。基于此,在一些实施例中,若解析配置文件中未记录某一待解析日志的解析方式,则直接将该待解析日志的内容进行存储。
在一个具体示例中,如图4所示,图4示出了根据本发明一个实施例的日志解析方法的解析流程图。
参考图4,首先,由用户设置解析配置文件,并在设置好解析配置文件之后,触发开始解析操作。
然后,计算设备会根据解析配置文件生成日志解析请求。
之后,计算设备根据解析配置文件中记录的各待解析日志的标识和存储路径,在对应的存储目录中依次获取到各待解析日志。
之后,计算设备需要判断各待解析日志中是否存在无需要进行解析的日志,若存在无需进行解析的日志,则经过Fink任务写入,将这类日志存储至同日志类型的存储队列中。对需要进行解析的日志,则根据其日志类型,加入对应的解析队列中,并构建Fink解析任务。
最后,将解析得到的解析结果存储至同日志类型的存储队列中。
根据本实施例提供的日志解析方法,具有以下优点:
无感知解析操作:采用基于动态配置化方案进行不同应用对应的日志内容解析,对于用户来说,只需要根据自身的需求进行解析配置后,一切的解析操作都基于用户无感知进行,无论多复杂的日志内容,无论用户想解析出哪些内容字段,都能实现。根据这一特色,对日志系统而言形成一整套完善的日志内容格式化解析服务体系;
多样化解析方式:根据该日志解析方法,为用户提供的并非单一解析操作方式,呈现给用户的是一套多样化解析技术服务。支持JSON格式、分隔符方式、正则匹配等常用方式,完全满足日常用户的操作需求。使用户拥有更良好、更丰富的操作体验;
精准解析操作:在进行源数据解析过程中,使用FLINK实时计算技术,根据用户的解析配置,进行动态加载,然后将源数据按用户配置解析规则、存储字段等属性进行逐行解析操作,解析结果集也按照源数据类型进行单独的索引进行存储,避免数据交集穿插,从而影响解析过程和存储结果的完整性、正确性。
图5示出了根据本发明一个实施例的日志解析装置500的结构图。装置500包括依次耦接的生成模块502、获取模块504、置入模块506、解析模块508和存储模块510。其中,生成模块520适于基于预设的解析配置文件,生成日志解析请求,解析配置文件至少包括各待解析日志的日志类型。获取模块504适于响应于日志解析请求,获取各待解析日志。置入模块506适于针对每一待解析日志,根据其日志类型,将该待解析日志置入对应的解析队列中。解析模块508适于分别对各解析队列中的待解析日志进行解析,得到每一解析队列对应的解析结果。存储模块510适于将各解析结果分别进行存储。
需要说明的是,本实施例提供的日志解析装置500的工作原理及工作流程与上述日志解析方法200相似,相关之处,可参考对上述日志解析方法200的描述。
A8、如A3所述的方法,其中,在所述将切分后形成的各字段进行提取的步骤之后,还包括:响应于对各字段的重命名请求,对相应字段进行重新命名。A9、如A1-A8任一项所述的方法,其中,所述预设格式为Json格式。A10、如A1-A9任一项所述的方法,其中,所述分别对各解析队列中的待解析日志进行解析的步骤包括:采用Flink技术,分别构建各解析队列的解析任务。A11、如A1所述的方法,其中,所述解析配置文件还包括各待解析日志的标识和存储路径,以及响应于所述日志解析请求,获取各待解析日志的步骤包括:基于所述存储路径,确定目标待解析日志所在的存储目录;基于所述标识,从所述存储目录中确定出目标待解析日志。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的较佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种日志解析方法,在计算设备中执行,该方法包括:
基于预设的解析配置文件,生成日志解析请求,所述解析配置文件至少包括各待解析日志的日志类型;
响应于所述日志解析请求,获取各待解析日志;
针对每一待解析日志,根据其日志类型,将该待解析日志置入对应的解析队列中;
分别对各解析队列中的待解析日志进行解析,得到每一解析队列对应的解析结果;
将各解析结果分别进行存储。
2.如权利要求1所述的方法,其中,所述解析配置文件还包括各待解析日志的解析方式,以及所述分别对各解析队列中的待解析日志进行解析的步骤包括:
利用各待解析日志对应的解析方式,分别对各待解析日志进行解析,所述解析方式为预设格式解析、特殊字符解析、以及正则表达式解析中的一种。
3.如权利要求2所述的方法,其中,所述利用各待解析日志对应的解析方式,分别对各待解析日志进行解析的步骤包括:
若待解析日志的解析方式为特殊字符解析,则根据选中的特殊字符对待解析日志的内容进行字符分割,并将分割后形成的各字段进行提取;
若待解析日志的解析方式为特殊字符解析,则根据正则表达式对待解析日志的内容进行正则匹配切分,并将切分后形成的各字段集进行提取;
若待解析日志的解析方式为预设格式解析,则不对待解析日志进行解析。
4.如权利要求1-3任一项所述的方法,其中,所述分别对各解析队列中的待解析任务进行解析,得到每一解析队列对应的解析结果的步骤包括:
将每一解析队列中的各待解析日志均解析成预设格式的结构体,并将各结构体与其对应的待解析日志的数据源进行关联,将关联后的各结构体的集合作为所述解析结果。
5.如权利要求1-4任一项所述的方法,其中,所述将各解析结果分别进行存储的步骤包括:
以每一解析队列对应的日志类型为一级索引,各数据源为二级索引,对该每一解析队列产生的解析结果进行存储。
6.如权利要求2所述的方法,其中,还包括:
若所述解析配置文件中未记录某一待解析日志的解析方式,则直接将该待解析日志的内容进行存储。
7.如权利要求1或4所述的方法,其中,所述将各解析结果分别进行存储的步骤包括:
使用内嵌式存储系统对各解析结果进行分类存储,其中,将每一解析结果作为一个存储队列,将解析结果中的各字段依次存储至存储队列的一个字段中。
8.一种日志解析装置,驻留在计算设备中,包括:
生成模块,适于基于预设的解析配置文件,生成日志解析请求,所述解析配置文件至少包括各待解析日志的日志类型;
获取模块,适于响应于所述日志解析请求,获取各待解析日志;
置入模块,适于针对每一待解析日志,根据其日志类型,将该待解析日志置入对应的解析队列中;
解析模块,适于分别对各解析队列中的待解析日志进行解析,得到每一解析队列对应的解析结果;
存储模块,适于将各解析结果分别进行存储。
9.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-7中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210388372.0A CN114968958A (zh) | 2022-04-13 | 2022-04-13 | 日志解析方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210388372.0A CN114968958A (zh) | 2022-04-13 | 2022-04-13 | 日志解析方法、装置、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968958A true CN114968958A (zh) | 2022-08-30 |
Family
ID=82978455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210388372.0A Pending CN114968958A (zh) | 2022-04-13 | 2022-04-13 | 日志解析方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968958A (zh) |
-
2022
- 2022-04-13 CN CN202210388372.0A patent/CN114968958A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8914419B2 (en) | Extracting semantic relationships from table structures in electronic documents | |
JP4097263B2 (ja) | ウェブアプリケーションモデル生成装置、ウェブアプリケーション生成支援方法及びプログラム | |
US11373423B2 (en) | Automated classification and interpretation of life science documents | |
CN106055618B (zh) | 一种基于网络爬虫与结构化存储的数据处理方法 | |
AU2014400621B2 (en) | System and method for providing contextual analytics data | |
US10372980B2 (en) | Electronic form identification using spatial information | |
CN110941629B (zh) | 元数据处理方法、装置、设备及计算机可读存储介质 | |
CN113688288B (zh) | 数据关联分析方法、装置、计算机设备和存储介质 | |
CN115438740A (zh) | 一种多源数据的汇聚融合方法和系统 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN113407678B (zh) | 知识图谱构建方法、装置和设备 | |
US11030409B2 (en) | Identifying attributes associated with an entity using natural language processing | |
CN114968958A (zh) | 日志解析方法、装置、计算设备及存储介质 | |
US11468228B2 (en) | Content frames for productivity applications | |
EP3500942A1 (en) | Identifying attributes associated with an entity using natural language processing | |
WO2022066195A1 (en) | Deep learning based document splitter | |
CN111581950A (zh) | 同义名称词的确定方法和同义名称词的知识库的建立方法 | |
CN105677827A (zh) | 一种表单的获取方法及装置 | |
CN117891531B (zh) | 用于saas软件的系统参数配置方法、系统、介质及电子设备 | |
CN114254081B (zh) | 企业大数据搜索系统、方法及电子设备 | |
Zou et al. | Extracting business execution processes of api services for mashup creation | |
CN110618809B (zh) | 一种前端网页输入约束提取方法和装置 | |
CN115983290A (zh) | 文本替换方法、装置以及计算机可读存储介质 | |
CN118626139A (zh) | 一种接口管理方法及相关系统 | |
CN117608839A (zh) | 任务处理方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |