CN115757049A - 多业务模块日志记录方法、系统、电子设备及存储介质 - Google Patents

多业务模块日志记录方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN115757049A
CN115757049A CN202310024265.4A CN202310024265A CN115757049A CN 115757049 A CN115757049 A CN 115757049A CN 202310024265 A CN202310024265 A CN 202310024265A CN 115757049 A CN115757049 A CN 115757049A
Authority
CN
China
Prior art keywords
log
attribute
attributes
data
template
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
CN202310024265.4A
Other languages
English (en)
Other versions
CN115757049B (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.)
Shenzhen Landray Software Co ltd
Original Assignee
Shenzhen Landray Software 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 Shenzhen Landray Software Co ltd filed Critical Shenzhen Landray Software Co ltd
Priority to CN202310024265.4A priority Critical patent/CN115757049B/zh
Publication of CN115757049A publication Critical patent/CN115757049A/zh
Application granted granted Critical
Publication of CN115757049B publication Critical patent/CN115757049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请提供了多业务模块日志记录方法、系统、电子设备及存储介质,属于计算机技术领域。多业务模块日志记录方法包括从预设的日志模板库中获取与当前业务模块匹配的日志模板,其中,日志模板库为通过以下方式建立:获取同一类别业务模块的多个样本数据,提取样本数据的日志属性;获取样本数据之间日志属性的相关性,确定具有相关性的日志属性为通用属性;将通用属性作为模板属性,根据模板属性建立日志模板,并根据多个业务模块形成多种日志模板,以建立日志模板库;获取目标数据,并根据日志模板对目标数据进行数据提取,将目标数据中与模板属性对应的数据存放在日志模板中,得到目标日志。本申请能够提高日志处理的效率。

Description

多业务模块日志记录方法、系统、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种多业务模块日志记录方法、系统、电子设备及存储介质。
背景技术
日志在计算机系统中是一个非常广泛的概念,计算机系统中有各种各样的日志,如应用程序日志、安全日志、系统日志等,日志都记载着相关操作的描述。
相关技术中,每个计算机系统的业务模块均需要各自记录对应的日志数据。当业务模块增多、业务量增大,特别是在微服务情况下,服务多、机器多,日志的数据量大且分散,若继续针对每个业务模块开发日志服务,将耗费更多的时间和精力来进行重复性的工作,导致日志处理的效率低下。
发明内容
本申请实施例的主要目的在于提出一种多业务模块日志记录方法、系统、电子设备及存储介质,能够提高日志处理的效率。
为实现上述目的,本申请实施例的第一方面提出了一种多业务模块日志记录方法,所述方法包括下列步骤S1和S2:S1、从预设的日志模板库中获取与当前业务模块匹配的日志模板,其中,所述日志模板库至少通过以下步骤S11至步骤S14建立:S11、获取同一类别业务模块的多个样本数据,提取所述样本数据的日志属性;S12、获取所述日志属性中的特征信息;S13、将所述样本数据之间的所述日志属性进行对比,若所述日志属性之间存在相同或相似的所述特征信息,确定对应的所述日志属性为具有相关性的通用属性;其中,所述特征信息包括存储内容,判断所述日志属性之间存在相同或相似的所述特征信息的依据包括:所述存储内容包含的内容、格式或编号规则满足第一预设要求;S14、将所述通用属性作为模板属性,根据所述模板属性建立所述日志模板,并根据多个业务模块形成多种所述日志模板,以建立所述日志模板库;S2、获取目标数据,并根据所述日志模板对所述目标数据进行数据提取,将所述目标数据中与所述模板属性对应的数据存放在所述日志模板中,得到目标日志。
在一些实施例中,当所述特征信息包括属性名称和属性类型;所述若所述日志属性之间存在相同或相似的所述特征信息,确定对应的所述日志属性为具有相关性的通用属性,包括:若所述日志属性之间存在相同的所述属性名称和所述属性类型,确定对应的所述日志属性为具有相关性的通用属性;若所述日志属性之间存在相同的所述属性名称和不同的所述属性类型,确定对应的所述日志属性为具有相关性的通用属性;若所述日志属性之间存在相似的所述属性名称和相同的所述属性类型,确定对应的所述日志属性为具有相关性的通用属性。
在一些实施例中,当所述特征信息包括存储内容;所述若所述日志属性之间存在相同或相似的所述特征信息,确定对应的所述日志属性为具有相关性的通用属性,包括:根据所述日志属性之间存在相同的所述存储内容,确定对应的所述日志属性为具有相关性的通用属性;根据所述日志属性之间的所述存储内容,确定相似的所述存储内容之间的存储类型或相似度,并确定所属的所述存储类型或所述相似度满足第一预设要求的所述日志属性为具有相关性的通用属性。
在一些实施例中,所述根据所述日志属性之间的所述存储内容,确定相似的所述存储内容之间的存储类型或相似度,并确定所属的所述存储类型或所述相似度满足第一预设要求的所述日志属性为具有相关性的通用属性,包括:根据所述日志属性之间的所述存储内容,确定所述存储内容是否均包含第一特定内容,如是,则确定所述日志属性为具有相关性的通用属性;和/或,根据所述日志属性之间的所述存储内容,确定所述存储内容是否均符合第一特定格式,如是,则确定所述日志属性为具有相关性的通用属性;和/或,根据所述日志属性之间的所述存储内容,确定所述存储内容是否均符合第一编号规则,如是,则确定所述日志属性为具有相关性的通用属性。
在一些实施例中,对每个所述业务模块的所述存储内容进行识别,确定其中的第一字符串内容,根据所述第一字符串内容与预设的第一特定内容之间的匹配度得到第一分值;当所述第一分值大于预设的第一分值阈值,确定所述存储内容包含所述第一特定内容,并获取所述第一特定内容前后的临近字符串内容;若所述临近字符串内容为符号信息,则确定当前所述日志属性中的所述第一字符串内容为第一属性;若所述临近字符串内容为字符内容,根据所述临近字符串内容与预设的第二特定内容之间的匹配度得到第二分值,当所述第二分值大于预设的第二分值阈值,确定所述存储内容包含所述第二特定内容,则确定当前所述日志属性中的所述第一字符串内容为所述第一属性,否则确定当前所述日志属性中的所述第一字符串内容为非第一属性;获取所述业务模块的数量,得到第一数值K;获取多个所述业务模块中存在所述第一属性的模块数量,得到第二数值P;获取第i个所述业务模块中所述第一字符串内容被判定为所述非第一属性的次数,得到第三数值
Figure 379891DEST_PATH_IMAGE001
;获取第i个所述业务模块中所述第一字符串内容被判定为所述第一属性的次数,得到第四数值
Figure 46496DEST_PATH_IMAGE002
;根据以下公式计算得到目标数值
Figure 859731DEST_PATH_IMAGE003
Figure 780545DEST_PATH_IMAGE004
其中,a为所述第一字符串内容,并在所述目标数值
Figure 286612DEST_PATH_IMAGE003
大于预设的目标数值阈值时,确定所述第一属性为具有相关性的通用属性。
在一些实施例中,所述将所述通用属性作为模板属性,根据所述模板属性建立所述日志模板,包括:获取用户端输入的自定义配置信息;根据所述自定义配置信息确定日志提取中的拓展属性,并根据所述通用属性和所述拓展属性得到模板属性;根据所述模板属性建立所述日志模板。
在一些实施例中,所述从预设的日志模板库中获取与当前业务模块匹配的日志模板,包括:获取用户端输入的相关属性信息;根据所述相关属性信息,从预先存储的日志模板库中匹配一个与所述相关属性信息对应的日志模板。
在一些实施例中,所述得到目标日志之后,还包括:获取所述目标日志的数据归属类型;当所述数据归属类型表征所述目标日志属于第一企业数据,将所述目标日志存储在本地文件中;当所述数据归属类型表征所述目标日志属于第二企业数据,将所述目标日志存储在预设的分布式消息系统中。
在一些实施例中,所述方法还包括:从所述本地文件或所述分布式消息系统中获取日志数据包,所述日志数据包包括多个所述目标日志;将所述日志数据包发送到预设的平台存储服务器中进行永久化存储。
在一些实施例中,所述得到目标日志之后,还包括:持续根据所述日志模板对所述目标数据进行数据提取,得到多个所述目标日志;对多个所述目标日志的数据量进行累加,得到数据量累加值;对多个所述目标日志的数据大小进行累加,得到数据大小累加值;若当前的所述数据量累加值大于预设的第一阈值,或者当前的所述数据大小累加值大于预设的第二阈值,将多个所述目标日志发送到日志服务端中,以使所述日志服务端进行可视化展示。
在一些实施例中,所述将多个所述目标日志发送到日志服务端中,还包括:统计多个所述目标日志中字符的出现次数;根据所述出现次数为权值构建哈夫曼树;根据所述哈夫曼树数据中每一级节点中的子节点的高度,得到对应的编码位长;通过所述哈夫曼树获取每个所述字符对应的哈夫曼编码,并按照所述编码位长为第一字段,以所述字符的大小为第二字段进行排序,得到排序结果;根据所述排序结果,以及解压缩时需要用到的所述字符的信息和所述编码位长,对多个所述目标日志进行压缩;将压缩后的多个所述目标日志发送到日志服务端中。
为实现上述目的,本申请实施例的第二方面提出了一种多业务模块日志记录系统,所述系统包括:日志模板建立模块,用于从预设的日志模板库中获取与当前业务模块匹配的日志模板,其中,所述日志模板库为通过以下方式建立:获取同一类别业务模块的多个样本数据,提取所述样本数据的日志属性;获取所述日志属性中的特征信息;将所述样本数据之间的所述日志属性进行对比,若所述日志属性之间存在相同或相似的所述特征信息,确定对应的所述日志属性为具有相关性的通用属性;其中,所述特征信息包括存储内容,判断所述日志属性之间存在相同或相似的所述特征信息的依据包括:所述存储内容包含的内容、格式或编号规则满足第一预设要求;将所述通用属性作为模板属性,根据所述模板属性建立所述日志模板,并根据多个业务模块形成多种所述日志模板,以建立所述日志模板库;日志生成模块,用于获取目标数据,并根据所述日志模板对所述目标数据进行数据提取,将所述目标数据中与所述模板属性对应的数据存放在所述日志模板中,得到目标日志。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面实施例所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面实施例所述的方法。
本申请实施例提出的多业务模块日志记录方法、系统、电子设备及存储介质,其中,多业务模块日志记录方法可以应用在多业务模块日志记录系统中。通过执行多业务模块日志记录方法,本申请实施例中可以先从预设的日志模板库中获取与当前业务模块匹配的日志模板,建立日志模板库的过程中,需要对样本数据的日志属性进行处理,确定具有相关性的日志属性为通用属性,还包括根据存储内容包含的内容、格式或编号规则是否满足第一预设要求来确定通用属性,随后据此建立日志模板,并存放在日志模板库中,在随后的日志处理中,可以根据建立得到的日志模板来提取数据,最终将目标数据中与模板属性对应的数据存放在日志模板中,得到目标日志。由于本申请实施例中在数据提取过程中采用预先根据属性的相关性建立的日志模板,可以适用不同业务模块的日志服务,无需耗费多余时间和精力来进行重复性的工作,能够提高日志处理的效率。
附图说明
图1是本申请实施例提供的多业务模块日志记录系统的框架图;
图2是本申请实施例提供的多业务模块日志记录系统的存储过程示意图;
图3是本申请实施例提供的多业务模块日志记录系统的监听过程示意图;
图4是本申请实施例提供的多业务模块日志记录方法的流程图;
图5是本申请实施例提供的日志模板库的建立流程图;
图6是图5中的步骤A102的流程图;
图7是图6中的步骤S202的流程图;
图8是图6中的步骤S202的另一个流程图;
图9是图8中的步骤S402的流程图;
图10是图5中的步骤A103的流程图;
图11是图4中的步骤S101的流程图;
图12是图4中的步骤S102之后的流程图;
图13是本申请另一个实施例中的多业务模块日志记录方法的流程图;
图14是图4中的步骤S102之后的另一个流程图;
图15是本申请实施例提供的可视化界面的示意图;
图16是图14中的步骤S1002之中的流程图;
图17是图14中的步骤S1002之中的另一个流程图;
图18是本申请实施例提供的数据导入阶段的多业务模块日志记录系统的功能模块示意图;
图19是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
计算机系统中有各种各样的日志,如应用程序日志,安全日志、系统日志等,日志都记载着相关操作的描述,计算机系统的各业务模块需要完善整体的日志采集、上报、查询功能。
申请人发现,不同的业务模块需要记录日志的时候,需要各个业务模块各自记录对应的日志信息,并且各业务模块需要完善整体的日志采集、上报、查询功能,因此每个业务产品、开发、测试需在日志服务投入精力与时间。特别是在微服务情况下,服务多、机器多,日志的数据量大且分散,若继续针对每个业务模块开发日志服务,将耗费更多的时间和精力来进行重复性的工作,导致日志处理的效率低下。
基于此,本申请实施例提供了一种多业务模块日志记录方法、系统、电子设备及存储介质,能够提高日志处理的效率。
本申请实施例提供的多业务模块日志记录方法、系统、电子设备及存储介质,具体通过如下实施例进行说明,首先介绍本申请中的多业务模块日志记录系统的系统框架。
参照图1所示,本申请实施例中的多业务模块日志记录系统可以包括多个业务模块(如图1中业务模块1、业务模块2等等)、日志客户端、平台存储服务器。业务模块、日志客户端、平台存储服务器可以是独立的物理实体,也可以是逻辑上的实体。例如,多业务模块日志记录系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以微服务架构的多业务模块日志记录系统为例进行说明。
其中,业务模块为多业务模块日志记录系统中的功能模块,例如在微服务系统中,一个业务模块可以是一个微服务,每个业务模块中可以安装有日志客户端,通过日志客户端可以获取各个业务模块的目标数据,提取目标数据的代码,系统中可以设置有多个业务模块,因此可以通过一个或多个日志客户端来获取多个业务模块的目标数据(如图1中的目标数据1、目标数据2等等),随后将获得的目标数据发送给日志客户端中进行处理,经过处理后将生成目标日志,目标日志可以由日志客户端发送给平台存储服务器或日志服务端进行存储或展示,在此不做具体限制。
示例性的,业务模块可以与日志客户端通信连接,业务模块与日志客户端为独立的物理实体。此外,日志客户端也可以部署在业务模块上,例如,在微服务系统中,每个微服务均设置有日志客户端和日志客户端,在日志客户端获取到目标数据后,可以发送给部署在微服务中的日志客户端处理。
平台存储服务器可以部署在后端服务器或用户终端。例如,当需要对目标日志进行存储时,平台存储服务器可以部署在后端服务器中,通过云端接收到日志客户端发送过来的目标日志并进行存储;平台存储服务器也可以部署在用户终端中,以便用户查看。
日志服务端可以是独立的服务端,日志服务端也可以是安装在平台存储服务器上的日志服务端,用于提供用户交互界面,与用户进行人机交互,因此日志服务端与平台存储服务器可以为同一设备,此外,日志服务端也可以单独部署在用户终端中,并提供用户交互界面,与用户进行人机交互。
示例性的,参照图2所示,本申请实施例中的多业务模块日志记录系统的日志存储方式有多种,例如,在上述得到各个业务模块的目标日志后,本申请实施例中可以将目标日志存储在本地文件后,也可以发送目标日志到消息队列(Message Queue,MQ)中间件中进行存储,在此不做具体限制。
示例性的,参照图3所示,本申请实施例中日志客户端可以对本地文件的存储进行监听,从而获取存储在本地文件中的目标日志,或者,日志客户端可以对MQ中间件进行监听,从而获取存储在MQ中间件中的目标日志,又或者,本申请实施例中还可以设置有日志其他对应的处理器,对第三方资源上的目标日志进行监听,从而获取第三方上存放的目标日志。在监听得到目标日志后,本申请实施例中可以将目标日志发送到ES(elasticsearch)服务器中进行永久化,可以理解的是,上述图1中的平台存储服务器也可以为本申请实施例中的ES服务器。
本申请实施例中的多业务模块日志记录方法可以通过如下实施例进行说明。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,例如,获取用户存储的数据以及用户的缓存数据访问请求时,均会先获得用户的许可或者同意;或者,获取系统的样本数据或目标数据的时候,均会先获得用户的许可或者同意。而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
图4是本申请实施例提供的多业务模块日志记录方法的一个可选的流程图,图4中的方法可以包括但不限于包括步骤S101至步骤S102。
步骤S101,从预设的日志模板库中获取与当前业务模块匹配的日志模板;
步骤S102,获取目标数据,并根据日志模板对目标数据进行数据提取,将目标数据中与模板属性对应的数据存放在日志模板中,得到目标日志。
其中,日志模板库为通过以下方式建立,参照图5所示,可以包括但不限于包括步骤A101至步骤A103:
步骤A101,获取同一类别业务模块的多个样本数据,提取样本数据的日志属性;
步骤A102,获取样本数据之间日志属性的相关性,确定具有相关性的日志属性为通用属性;
步骤A103,将通用属性作为模板属性,根据模板属性建立日志模板,并根据多个业务模块形成多种日志模板,以建立日志模板库。
可以理解的是,步骤S101和步骤S102可以由日志客户端执行,然后将得到的目标日志发给日志服务端;步骤S101和步骤S102也可以由日志服务端执行,即由日志服务端接收来自日志客户端采集的目标数据,然后执行步骤S101和步骤S102以生成目标日志。
示例性的,本申请实施例中的多业务模块日志记录方法,可以应用在多业务模块日志记录系统中,多业务模块日志记录系统为一个计算机系统或服务器,也可以是计算机系统中的一部分业务模块组成的子系统,在此不做具体限制。在多业务模块日志记录系统中,设置有多个不同的业务模块,各个业务模块均能产生相应的数据,因此本申请实施例需要采集这些业务模块的日志。
具体的,在为多个业务模块提供日志服务时,本申请实施例可以从预设的日志模板库中获取与当前业务模块匹配的日志模板,日志模板库是预先建立的。
在建立日志模板库的过程中,需要先获取同一类别业务模块的多个样本数据,并对样本数据进行属性提取,得到多个样本数据的日志属性,以便后续可以根据日志属性进行进一步的操作。
需要说明的是,样本数据可以是当前多业务模块日志记录系统中各个业务模块的数据,因此本申请实施例中可以根据当前多业务模块日志记录系统中的数据来提取日志属性;样本数据也可以是预先建立的样本中的数据,这些数据与当前多业务模块日志记录系统中各个业务模块的数据相似,可以用来建立日志模板,随后并根据多个业务模块下的数据进行处理,形成多种日志模板,将多个日志模板存放在日志模板库中。
示例性的,日志属性是日志的属性信息,例如,日志属性可以是日志id(fdId)、版本(fdVersion)、签名(fdSign)、日志分组(fdGroup)、模块编码(fdModule)、模块名称(fdModuleLabel)等属性。本申请实施例中可以通过对样本数据的内容进行识别,从而得到其中的表征属性信息的内容,从而得到日志属性。
示例性的,在获得日志属性后,需要为后续建立日志模板提供一些建立依据,本申请实施例中通过获取样本数据之间日志属性的相关性,相关性表明二者之间是否有相同或相似的特征,若有,则说明日志属性之间有关联,确定具有相关性的日志属性为通用属性。
需要说明的是,在确定相关性的过程中,本申请实施例是针对样本数据之间的数据进行对比的,可以理解的是,日志属性是某个样本数据中提取出来的,这些日志属性是否是通用的属性,需要与另一个样本数据中提取出来的日志属性进行对比,从而明确哪些日志属性可以作为通用属性。
需要说明的是,通用属性是一个表明在多个样本数据之中均有的一个日志属性,同样是一个属性信息,是通过相关性判断确定得到的,本申请实施例中可以对两个,或两个以上的样本数据之间的日志属性进行对比,从而确定可以通用的通用属性。
示例性的,本申请实施例中可以根据上述步骤中得到的通用属性来建立模板。具体的,本申请实施例中可以将上述确定得到的通用属性作为模板中的模板属性,并根据模板属性来建立日志模板。需要说明的是,模板属性是定义在日志模板中的属性信息。
示例性的,本申请实施例中在设计阶段可以根据不同的模板属性,定义不同的日志模板,通过声明日志模板,并且由模板指定固定的模板属性,可以实现日志数据的提取,因此本申请实施例中最终可以根据日志模板对目标数据进行数据提取,并在提取过程中,以日志模板为依据,将目标数据中与模板属性对应的数据存放在日志模板中,从而得到目标日志,完成日志服务。
需要说明的是,目标数据是当前多业务模块日志记录系统中各个业务模块的运行数据,即各个业务模块中特定对象的某些操作和其操作结果的集合,因此本申请实施例中可以根据当前多业务模块日志记录系统中的数据来提取目标日志。目标数据可以有多个,面对多个不同的目标数据,本申请实施例均可以依据预先建立的日志模板来提取数据,得到所需要的目标日志。目标日志是与当前提取的目标数据对应的日志,是最终得到的一个日志信息,在一实施例中,目标日志可以是一个日志列表,描述了各个模板属性下的具体信息。
由于本申请实施例中在数据提取过程中采用预先根据属性的相关性建立的日志模板,可以适用不同业务模块的日志服务,无需耗费多余时间和精力来进行重复性的工作,能够提高日志处理的效率。此外,通过建立日志模板来得到日志,提供了公共的日志服务,减少了实际工作中各业务线在日志功能的投入,达到了开箱即用,对应整体的日志服务程序质量也提高了。
需要指出的是,本申请实施例中的多业务模块日志记录方法可以应用在微服务架构中,并可获取微服务结构中的日志,在微服务架构中,提供标准日志服务,通过建立日志模板来约束标准的日志结构,提供标准的客户端功能,减少重复功能开发。不仅如此,本申请实施例可以提供对日志进行穿透查询,不同服务之间的日志可以通过日志链路id(traceId)来进行关联查询,满足微服务情况下,服务多、机器多、日志分散的情况。
请参阅图6,在一些实施例中,步骤A102中还可以包括步骤S201至步骤S202:
步骤S201,获取日志属性中的特征信息;
步骤S202,将样本数据之间的日志属性进行对比,若日志属性之间存在相同或相似的特征信息,确定对应的日志属性为具有相关性的通用属性。
示例性的,本申请实施例中在进行相关性对比的过程中,是根据特征信息来对比实现的。
具体的,本申请实施例中可以获取日志属性中的特征信息,特征信息用于表明所属的日志属性的特征,例如,特征信息可以用来表明该日志属性的名称、类型或内容。其中,特征信息包括存储内容,判断日志属性之间存在相同或相似的特征信息的依据包括:存储内容包含的内容、格式或编号规则满足第一预设要求。
在获取得到日志属性的特征信息后,本申请实施例中将样本数据之间的日志属性进行对比,并通过让二者之间日志属性的特征信息来进行判断,若日志属性之间存在相同或相似的特征信息,表明这两个日志属性之间的特征是相同或相似的,而当日志属性之间的名称、类型或内容,是相同或相似的,则足以说明二者之间存在相关性,因此确定对应的日志属性为具有相关性的通用属性。
当特征信息包括属性名称和属性类型,请参阅图7,在一些实施例中,步骤S202中还可以包括步骤S301至步骤S303:
步骤S301,若日志属性之间存在相同的属性名称和属性类型,确定对应的日志属性为具有相关性的通用属性;
步骤S302,若日志属性之间存在相同的属性名称和不同的属性类型,确定对应的日志属性为具有相关性的通用属性;
步骤S303,若日志属性之间存在相似的属性名称和相同的属性类型,确定对应的日志属性为具有相关性的通用属性。
示例性的,本申请实施例中的特征信息可以表明该日志属性的名称和类型,因此特征信息包括日志属性的属性名称和属性类型,属性名称是该日志属性的字段名称,属性类型则是该日志属性的字段类型,因此在进行相关性判断的过程中,本申请实施例可以判断日志属性之间是否存在相同的属性名称和属性类型,若存在,则确定对应的日志属性为具有相关性的通用属性;或者,判断是否存在相同的属性名称和不同的属性类型,也可以确定对应的日志属性为具有相关性的通用属性;又或者,判断是否存在相似的属性名称和相同的属性类型,也可以确定对应的日志属性为具有相关性的通用属性。
需要指出的是,本申请实施例中可以对日志属性进行分析,找出相同的一定信息,满足归纳性推理,自我归纳出“类别与特征”之相关联的规律,并且形成一定的规则信息,可以设置使用率来筛选通用属性,或者人工手动同步到规则信息表中,用来特定筛选通用属性。其中,本申请实施例可以深入学习,自动学习构建规则信息,自动识别出相关规则特性,判断日志属性之间的字段名称和字段类型的相同情况。
例如,在样本数据1中,存在以下两个日志属性:
字段 字段类型
name String
time long
表1 样本数据1中的日志属性表
在样本数据2中,存在以下两个日志属性:
字段 字段类型
name String
create long
表2 样本数据2中的日志属性表
通过分析可以找到字段名称与类型都相同的name,因此该日志属性可以作为通用属性。
通过分析发现time、create是相同的long类型,可以理解的是,若两个日志属性具有相同的字段名称,但是字段类型不同,也可以考虑作为通用属性,这是因为字段名称相同而字段类型不一样,可能由于不同的业务存储的值不一样,有的可能存储的是中文名称,有的可能是常量值,在此不做具体限制。
又例如,在样本数据3中,存在以下两个日志属性:
字段 字段类型
sex String
create long
表3 样本数据3中的日志属性表
在样本数据4中,存在以下两个日志属性:
字段 字段类型
sex1 String
crete long
表4 样本数据4中的日志属性表
通过分析,发现sex、sex1是相似的属性名称,属于是多拼写了单词的情况,且具有相同的字段类型,因此可以认为是同一个属性名称,因此,该日志属性可以作为通用属性。
通过分析create、crete之间有个属性名称可能是拼写错误,属于是多少拼写单词,且具有相同的字段类型,因此可以认为是同一个属性名称,因此,该日志属性可以作为通用属性。进一步的,还可以通过最优匹配算法来匹配,判断两个属性名称是否相似。
当特征信息包括存储内容,请参阅图8,在一些实施例中,步骤S202中还可以包括步骤S401至步骤S402:
步骤S401,根据日志属性之间存在相同的存储内容,确定对应的日志属性为具有相关性的通用属性;
步骤S402,根据日志属性之间存在相似的存储内容,确定相似的存储内容之间的存储类型或相似度,并确定所属的存储类型或相似度满足第一预设要求的日志属性为具有相关性的通用属性。
示例性的,本申请实施例中的特征信息可以表明该日志属性的内容,因此特征信息包括日志属性的存储内容,在进行相关性判断的过程中,本申请实施例可以判断日志属性之间是否存在相同或相似的存储内容,若存在相同的存储内容,则确定对应的日志属性为具有相关性的通用属性。
示例性的,根据日志属性之间存在相似的存储内容,需要对存储内容之间的相似性进行判断,确定相似的存储内容之间的存储类型或相似度,若存储类型或相似度中的一个满足第一预设要求,就认为这两个存储内容之间相似,则可以确定日志属性为具有相关性的通用属性。
可以理解的是,存储类型可以是表达存储内容的数据类型,例如地址信息(省市区信息匹配),是为邮箱(@xx.com)、QQ(QQ号码规则)、电话(手机号码、座机规则)等不同的存储类型,不同的存储类型的分析可以通过设定不同的规则分析器来实现,例如,地址设置有地址规则分析器,而邮箱则有邮箱规则分析器等。而相似性则需要对存储内容之间的重合率进行对比。需要说明的是,可以针对存储类型和相似度设定不同的第一预设要求,例如,可以分别设定不用的阈值,来确定二者之间是否相似。
请参阅图9,在一些实施例中,步骤S402中还可以包括步骤S501至步骤S503:
步骤S501,根据日志属性之间的存储内容,确定存储内容是否均包含第一特定内容,如是,则确定日志属性为具有相关性的通用属性;
步骤S502,和/或,根据日志属性之间的存储内容,确定存储内容是否均符合第一特定格式,如是,则确定日志属性为具有相关性的通用属性;
步骤S503,和/或,根据日志属性之间的存储内容,确定存储内容是否均符合第一编号规则,如是,则确定日志属性为具有相关性的通用属性。
示例性的,本申请实施例中可以根据具体的存储内容来判断,基于日志属性之间的存储内容是否包含有共性的特征,来确定对应的日志属性为具有相关性的通用属性,上述所说的第一预设要求包括满足第一特定内容、第一特定格式或第一编号规则中的至少一个。
具体的,本申请实施例中可以对日志属性之间的存储内容进行对比,确定存储内容是否均包含第一特定内容,如是,则确定日志属性为具有相关性的通用属性。需要说明的是,第一特定内容是预先设定的一个内容,在一实施例中,系统中预存有地址内容库,第一特定内容是一个表征地址信息的内容,本申请实施例中在对比日志属性之间的存储内容时,若发现二者之间均包含有地址信息,且符合预设的地址内容库中的内容,则确定存储内容均包含有第一特定内容,最终可以将均包含有地址信息的日志属性确定为具有相关性的通用属性。
具体的,本申请实施例中可以对日志属性之间的存储内容进行对比,确定存储内容的格式是否均符合第一特定格式,如是,则确定日志属性为具有相关性的通用属性。需要说明的是,第一特定格式是预先设定的一个格式,在一实施例中,第一特定格式是一个邮箱格式,本申请实施例中在对比日志属性之间的存储内容时,可以进行邮箱匹配,对存储内容中包含符号“@”进行识别,同时符号“@”后面的域名信息进行匹配,若发现二者之间的格式均为邮箱格式,则确定存储内容均符合第一特定格式,最终可以将均包含有邮箱格式的日志属性确定为具有相关性的通用属性。
具体的,本申请实施例中可以对日志属性之间的存储内容进行对比,确定存储内容中的数字是否均符合第一编号规则,如是,则确定日志属性为具有相关性的通用属性。需要说明的是,第一编号规则是预先设定的一个数字编码格式,在一实施例中,第一编号规则是一个连续的数字编码,本申请实施例中在对比日志属性之间的存储内容时,可以进行数字编码匹配,对存储内容中包含连续一定位数的数字进行识别,再与预设的第一编号规则进行匹配,若发现二者之间的数字编码与第一编号规则规定的数字编码相同,如同为9至11位连续数字的为“QQ号码”,或同为18位连续数字的个人ID号码,则确定存储内容均符合第一编号规则,最终可以将均包含有一定位数连续数字编码的日志属性确定为具有相关性的通用属性。
以确定存储内容之间是否符合第一特定内容或第一特定格式为例子。例如,在样本数据5中,存在以下不同的存储内容:
address:深圳;
email:123@163.com。
在样本数据6中,存在以下不同的存储内容:
text:广州;
tx1:23@qq.com。
通过对比日志数据存储内容中的信息,分析存储内容是否相同,上述存储内容中,可以对地址信息进行匹配,可以是对省、市、县任意部分数据进行相似度匹配,且在相似度比重超过80%时,则认为这两个存储内容之间相似,满足第一特定内容。此外,还可以进行邮箱匹配,对邮箱信息中包含符号“@”,同时符号“@”后面的域名信息进行匹配,若格式上相似度达到100%,尽管具体的邮箱信息不同,也认为两个存储内容之间相似,并满足第一特定格式。
在上述例子中,样本数据5中的地址是深圳,但是样本数据6中广州是作为文本信息进行存储,也可以认为二者相似;而样本5中的邮箱信息是123@163.com,且标记有email的标识,但是样本数据6中将邮箱23@qq.com作为文字信息tx1进行存储了,也可以认为二者相似。
可以理解的是,由于数据之间的存储内容并不是完全一样的,在不完全一样的数据之间,也可能是相关的,因此可以通过存储内容之间的相似性来判断,从而确定之间是否满足相关性要求。
在一些实施例中,上述步骤S501中的内容还可以包括如下:
示例性的,在将地址相关信息作为通用属性的过程中,需要进一步进行筛选判断,这是因为地址前后可能存在其他内容,导致即使字段中虽然存在地址,但是也不能作为通用属性的情况,例如:“我要去广州玩”这句话中,虽然存在地址“广州”,但是该信息并不能作为地址,而如“广州市番禺区”这样的字段,才能作为通用属性中的地址信息。
因此,本申请实施例可以对每个业务模块的存储内容进行识别,确定其中的第一字符串内容,可以理解的是,第一字符串内容是一个地址信息,随后根据第一字符串内容与预设的第一特定内容之间的匹配度得到第一分值。需要说明的是,第一特定内容是预先设置的一个内容,在一实施例中,系统中预存有地址内容库,第一特定内容是一个表征地址信息的内容,因此进行匹配度计算后,根据第一分值可以判断当前的第一字符串内容是否为地址信息。
随后,当第一分值大于预设的第一分值阈值,说明当前的第一字符串内容与预设的第一特定内容较为匹配,则可以确定该日志属性的存储内容包含第一特定内容,为了进一步判断所在的字段是否属于地址,本申请实施例需要获取第一特定内容的字段前后的内容,并作为临近字符串内容。在一些实施例中,当第一分值小于或等于预设的第一分值阈值,则结束当前判断。
示例性的,在得到临近字符串内容后,若临近字符串内容为符号信息,例如存储内容为“@广州。”,“广州”为第一字符串内容,“@”和“。”为符号信息,则确定当前日志属性中的第一字符串内容为第一属性,可以理解的是,第一属性是地址属性,在满足本申请实施例要求的前提下,当第一特定内容表征其他内容时,第一属性还可以是其他属性,本申请实施例中仅以第一属性为地址属性为例。
示例性的,若临近字符串内容为字符内容,例如“我要去广州玩”和“广州市番禺区”等字符串内容,本申请实施例根据临近字符串内容与预设的第二特定内容之间的匹配度得到第二分值,第二特定内容与第一特定内容下一级内容,是用于进一步限定地址的内容,例如,第一特定内容如果是城市名称,第二特定内容可以是对应城市下属的区的名称,在此不再赘述。当第二分值大于预设的第二分值阈值,说明当前的临近字符串内容与预设的第二特定内容较为匹配,则可以确定存储内容包含第二特定内容,则确定当前日志属性中的第一字符串内容为第一属性,否则确定当前日志属性中的第一字符串内容为非第一属性,当第一属性为地址属性,非第一属性就表明当前的第一字符串内容不是一个地址属性。
例如,在字段“我要去广州玩”中,“广州”为第一字符串内容,与第一特定内容“广州”匹配程度达到100%,大于第一分值阈值70%,则需进一步判断前后信息;前后信息的临近字符串内容均为字符,与第二特定内容(例如番禺区、天河区)的匹配程度为0,确定当前的第一字符串内容不是地址信息,即为非第一属性。
又例如,在字段“广州市番禺区”中,“广州”为第一字符串内容,与第一特定内容“广州”匹配程度达到100%,前后信息的临近字符串内容均为字符,与第二特定内容(例如番禺区、天河区)中的“番禺区”的匹配程度为100%,大于第二分值阈值80%,则确定当前的第一字符串内容是地址信息,即为第一属性。
本申请实施例中的第一分值和第二分值可以根据实际应用设置,在此不做具体限制。
随后,本申请实施例可以获取业务模块的数量,得到第一数值K;获取多个业务模块中存在第一属性的模块数量,得到第二数值P;获取第i个业务模块中第一字符串内容被判定为非第一属性的次数,得到第三数值
Figure 706092DEST_PATH_IMAGE001
;获取第i个业务模块中第一字符串内容被判定为第一属性的次数,得到第四数值
Figure 509969DEST_PATH_IMAGE002
对上述第一数值、第二数值、第三数值、第四数值进行归一化计算,可以得到目标数值,具体的,本申请实施例中根据以下公式计算得到目标数值
Figure 596874DEST_PATH_IMAGE003
Figure 8264DEST_PATH_IMAGE004
其中,a为第一字符串内容,并在目标数值
Figure 869035DEST_PATH_IMAGE003
大于预设的目标数值阈值时,确定第一属性为具有相关性的通用属性。目标数值阈值用于进行通用属性的筛选,因此,可以根据实际应用设置,在此不做具体限制。
本申请实施例中通过上述公式来计算目标数值,并根据目标数值来判断第一属性是否可以作为通用属性。需要说明的是,由于本申请实施例中判断通用属性的是通过获取多个业务模块中的数据来计算后得到的,如根据图1中各个业务模块的数据,这样,在建立通用属性的过程中,可以减少字段中其他杂项信息造成的干扰,通过阈值进行筛选,提高了识别第一属性为通用属性的准确性,减少建立通用属性的误差,提高了日志模板的准确性和适用性。
请参阅图10,在一些实施例中,步骤A103中还可以包括步骤S601至步骤S603:
步骤S601,获取用户端输入的自定义配置信息;
步骤S602,根据自定义配置信息确定日志提取中的拓展属性,并根据通用属性和拓展属性得到模板属性;
步骤S603,根据模板属性建立日志模板。
示例性的,本申请实施例中还可以根据用户的自定义要求,为日志模板新增一些拓展的属性。具体的,本申请实施例可以获取用户端输入的自定义配置信息,本申请实施例中的多业务模块日志记录系统可以与用户端建立通信连接,用户在用户端输入自定义配置信息后,可将自定义配置信息发送到多业务模块日志记录系统中;此外,多业务模块日志记录系统也可以设置有用于交互的用户端,用户可以直接在该用户端上输入自定义配置信息,在此不做具体限制。
需要说明的是,自定义配置信息是用来自定义日志模板的,因此,本申请实施例中可以对自定义配置信息进行解析,从而确定日志提取中的拓展属性,最终可以根据通用属性和拓展属性两种属性来得到模板属性,再根据包含了拓展属性的模板数据来建立日志模板,使得本申请实施例可以在设计阶段定义不同的日志模板,通过声明日志模板,并且由模板指定固定的通用属性、自定义的拓展属性来产生不同的日志模板,最终可以提取得到不同的日志列表,实现日志动态扩展。
例如,在一实施例中,确定的日志模板包含如下属性:
{
“fdId”:“日志id”,
“fdTenantId”:0,
“fdVersion”:“版本”,
“fdSign”:“签名”,
“fdReportTime”:0,
“fdBeginTime”:0,
“fdEndTime”:0,
“fdTimeConsuming”:0,
“fdGroup”:“日志分组”,
“fdModule”:“模块编码”,
“fdModuleLabel”:“模块名称”,
“fdTraceId”:“链路id”,
“fdMessage”:“描述信息”,
“fdSuccess”:“是否成功”,
“fdAudit”:“是否审计”,
“fdExtend”:{扩展区域}
}。
上述从“fdId”一行到“fdAudit”一行,均为配置的通用属性,在此不再赘述,而在通用属性后,还存在有“fdExtend”的内容,这是拓展属性所在的拓展区域。
在一实施例中,拓展区域内的拓展属性包括如下:
“fdOperator”:{
“fdLoginName”:“登录名”,
“fdUserId”:“用户id”,
“fdUserName”:“用户名称”,
“fdDeptId”:“部门id”,
“fdDeptPath”:“部门名称”,
“fdUserGrade”:“用户类型”}。
上述从“fdLoginName”一行到“fdUserGrade”均为根据用户的自定义配置信息得到的拓展属性。
在一些实施例中,日志模板有多个,请参阅图11,步骤S101之中,还可以包括步骤S701至步骤S702:
步骤S701,获取用户端输入的相关属性信息;
步骤S702,根据相关属性信息,从预先存储的日志模板库中匹配一个与相关属性信息对应的日志模板。
示例性的,本申请实施例中可以根据多个样本数据,建立多个日志模板,并且,本申请实施例中还提供了可交互的操作界面,用户可以登陆到多业务模块日志记录系统中。此外,用户可以在多业务模块日志记录系统中选择性的提取哪些功能模块的日志,因此,本申请实施例可以为用户提供日志模板的推荐服务。
具体的,由于本申请实施例预先可以建立多个日志模板,因此可以将多个日志模板存储到日志模板库中,在用户需要针对性提取某些功能模块的日志后,多业务模块日志记录系统可以获取用户端输入的相关属性信息,相关属性信息是针对所要提取的功能模块的定义信息,可以是相关的功能模块的模块名称、位置等信息。随后再根据相关属性信息从预先存储的日志模板库中,匹配一个与相关属性信息对应的日志模板,完成模板推荐服务,而最终推荐得到的日志模板,可以在后续的步骤S102中,完成对目标数据的提取,得到所需要的目标日志。
需要说明的是,本申请实施例可以获取用户端输入的相关属性信息,本申请实施例中的多业务模块日志记录系统可以与用户端建立通信连接,用户在用户端输入相关属性信息后,可将相关属性信息发送到多业务模块日志记录系统中;此外,多业务模块日志记录系统也可以设置有用于交互的用户端,用户可以直接在该用户端上输入相关属性信息,在此不做具体限制。
示例性的,本申请实施例可以多业务模块日志记录系统通过匹配算法,对相关属性信息进行处理,从而推荐现有匹配的日志模板。例如,用户输入的相关属性信息可以是需要使用的字段与类型信息,通过与系统中的已存储的日志模板进行匹配,通过使用Sunday算法来按照字段匹配度(权重高)、类型匹配度(权重低)进行计算,最终找出匹配度高的日志模板进行推荐。在满足本申请实施例要求的前提下,可以根据其他匹配算法来实现日志模板的推荐,在此不做具体限制。
请参阅图12,在一些实施例中,步骤S102之后,还可以包括步骤S801至步骤S803:
步骤S801,获取目标日志的数据归属类型;
步骤S802,当数据归属类型表征目标日志属于第一企业数据,将目标日志存储在本地文件中;
步骤S803,当数据归属类型表征目标日志属于第二企业数据,将目标日志存储在预设的分布式消息系统中。
示例性的,本申请实施例中可以将获取得到的目标日志进行存储,并根据不同的类型实现多种存储。具体的,目标日志均有对应的数据归属类型,本申请实施例可以获取目标日志的数据归属类型,这个数据归属类型可以是在目标数据中带有的,并随着目标日志的生成附加在目标日志上,此外,数据归属类型还可以是用户配置得到的,用户在通过多业务模块日志记录系统提取指定的功能模块的目标日志时,可以自定义配置对应功能模块的数据归属类型。
随后,本申请实施例可以对数据归属类型进行进一步判断,当数据归属类型表征目标日志属于第一企业数据,将目标日志存储在本地文件中,而当数据归属类型表征目标日志属于第二企业数据,将目标日志存储在预设的分布式消息系统中。
可以理解的是,当目标日志属于第一企业数据,说明目标日志是微小型企业的日志,此时目标日志的数据量不大,所占用的存储空间并不多,可以存放在本地文件中;而当目标日志属于第二企业数据,说明目标日志是中大型企业的日志,此时目标日志的数据量较大,所占用的存储空间较多,需要存放在预设的分布式消息系统中。
需要说明的是,分布式消息系统是本申请实施例中预先建立的一个用于存放目标日志的系统。在一实施例中,分布式消息系统是Kafaka系统,Kafaka是一种高吞吐量的分布式发布订阅分布式消息系统,它可以处理所有动作流数据。在Kafaka系统中,通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能;Kafaka系统具有高吞吐量,即使是非常普通的硬件Kafka也可以支持每秒数百万的消息;Kafaka系统持通过Kafaka服务器和消费机集群来分区消息,并支持Hadoop并行数据加载。因此,Kafaka系统满足对中大型企业的目标日志的存储。在满足本申请实施例要求的前提下,分布式消息系统还可以是其他类型的分布式消息系统,例如,可以是云存储器建立的分布式消息系统,在此不做具体限制。
请参阅图13,在一些实施例中,多业务模块日志记录方法还可以包括步骤S901至步骤S902:
步骤S901,从本地文件或分布式消息系统中获取日志数据包,日志数据包包括多个目标日志;
步骤S902,将日志数据包发送到预设的平台存储服务器中进行永久化存储。
示例性的,本申请实施例中可以将日志数据进行上报。具体的,本申请实施例中可以从本地文件或分布式消息系统中获取日志数据包,日志数据包包括多个目标日志,将多个目标日志作为或放置在一个日志数据包中,再将日志数据包发送到预设的平台存储服务器中进行永久化存储。需要指出的是,将日志数据包上报给平台存储服务器是做为数据存储,平台存储服务器可以看做数据库,可以为后续的日志查询分析提供数据。
需要说明的是,平台存储服务器是可以长时间,或者永久存放日志数据包的服务器,在一实施例中,本申请实施例将ES服务器作为平台存储服务器,ES服务器是一个基于Lucene的搜索服务器。具体的,本申请实施例中将目标日志存放在本地文件或分布式消息系统后,通过相应的监听服务监听本地文件或分布式消息系统中的资源,并把基于多个目标日志得到的日志数据包上报到ES服务器中。在满足本申请实施例要求的前提下,平台存储服务器还可以是其他类型的服务器、云端或消息队列(Message Queue,MQ)中间件,例如,还可以是专用(Dedicated Server,DS)服务器,在此不做具体限制。
需要说明的是,由于上报基于多个目标日志得到的日志数据包是一个并发、数据量大的操作,因此不能直接对ES、DB等平台存储服务器进行操作,因此本申请实施例中使用本地文件、分布式消息系统来进行消峰,避免对ES、DB等平台存储服务器造成影响。
请参阅图14,在一些实施例中,步骤S102之后,还可以包括步骤S1001至步骤S1002:
步骤S1001,持续根据日志模板对目标数据进行数据提取,得到多个目标日志;
步骤S1002,将多个目标日志发送到日志服务端中,以使日志服务端进行可视化展示。
示例性的,本申请实施例中可以不断根据日志模板对多个目标数据进行数据提取,从而得到多个目标日志,每个目标日志与所提取的目标数据对应,而在持续提取日志后,可以将多个目标日志发送到日志服务端中,日志服务端在接收到多个目标日志后,针对目标日志进行可视化展示,例如,可以展示目标日志的日志id(fdId)、版本(fdVersion)、签名(fdSign)、日志分组(fdGroup)、模块编码(fdModule)、模块名称(fdModuleLabel)等属性。
需要说明的是,日志服务端是一个可以展示日志内容的客户端,在一实施例中,本申请实施例中的多业务模块日志记录系统可以与日志服务端建立通信连接,多业务模块日志记录系统可以向日志服务端发送多个目标日志;此外,日志服务端也可以是多业务模块日志记录系统的一部分,用户可以直接在多业务模块日志记录系统上查看可视化展示的目标日志,在此不做具体限制,日志服务端实现了对数据的采集和展示。
需要说明的是,多个目标日志之间可以合成一个数据包,再由多业务模块日志记录系统将数据包发送给日志服务端,此外,多业务模块日志记录系统可以直接将多个目标日志发送给日志服务端。
示例性的,本申请实施例中支持动态扩展日志分组菜单,可以获取不同的业务模块的日志,并在可视化的过程中存放在同一菜单下,不同菜单可以复用同一个日志模板,不同业务可以声明不同的菜单,通过不同权限来控制菜单的显示。参照图15所示,可视化的界面中,左侧可以为多个不同的菜单,日志服务产生的目标日志可以存放在“日志管理”菜单中,在日志管理下,可以有多个不同业务模块对应的菜单,包括“用户日志”、“接口日志”和“日志备份”菜单,往右侧一栏是不同的目标日志的名称,可以包括“登陆登出”、“阅读访问”和“数据变更”等业务下的目标日志,在用户点击到对应的菜单后,可视化界面的最右侧将展示目标日志的内容。
请参阅图16,在一些实施例中,步骤S1002,还可以包括步骤S1101至步骤S1103:
步骤S1101,对多个目标日志的数据量进行累加,得到数据量累加值;
步骤S1102,对多个目标日志的数据大小进行累加,得到数据大小累加值;
步骤S1103,若当前的数据量累加值大于预设的第一阈值,或者当前的数据大小累加值大于预设的第二阈值,将多个目标日志发送到日志服务端中。
示例性的,本申请实施例中可以在日志服务端采集到数据后,将日志上报给日志服务端进行存储,实现上报日志服务。在上报目标日志给日志服务端的过程中,需要对目标日志的数据大小和数据量进行判断,都有一定的限制,防止不同业务数据大小不一样,导致当前服务内存溢出,当日志服务端为ES服务器时,还可以防止ES服务请求过多。
具体的,本申请实施例在限制目标日志的发送过程中,可以对多个目标日志的数据量进行累加,得到数据量累加值,若当前的数据量累加值大于预设的第一阈值,则将多个目标日志发送到日志服务端中。第一阈值是根据数据量设定的一个阈值,可根据实际需要设置不同的大小,例如,第一阈值可以设定为100条,当累计当前的目标日志达到100条时,就将这些目标日志发送到日志服务端中。
具体的,本申请实施例在限制目标日志的发送过程中,可以对多个目标日志的数据大小进行累加,得到数据大小累加值,若当前的数据大小累加值大于预设的第二阈值,则将多个目标日志发送到日志服务端中。第二阈值是根据数据大小设定的一个阈值,可根据实际需要设置不同的大小,例如,第二阈值可以设定为10M,当累计当前的目标日志的数据大小达到10M时,就将这些目标日志发送到日志服务端中。
可以理解的是,上述通过数据量和数据大小来判断是否将当前的目标日志发送给日志服务端的过程中,只需要满足其中一个条件即可,也就是,只要当前的数据量累加值或数据大小累加值超过对应的阈值,则将目标日志发送到日志服务端中。
请参阅图17,在一些实施例中,步骤S1002,还可以包括步骤S1201至步骤S1206:
步骤S1201,统计多个目标日志中字符的出现次数;
步骤S1202,根据出现次数为权值构建哈夫曼树;
步骤S1203,根据哈夫曼树数据中每一级节点中的子节点的高度,得到对应的编码位长;
步骤S1204,通过哈夫曼树获取每个字符对应的哈夫曼编码,并按照编码位长为第一字段,以字符的大小为第二字段进行排序,得到排序结果;
步骤S1205,根据排序结果,以及解压缩时需要用到的字符的信息和编码位长,对多个目标日志进行压缩;
步骤S1206,将压缩后的多个目标日志发送到日志服务端中。
示例性的,在日志客户端发送目标日志到日志服务端的过程中,需要对发送的数据进行压缩,减少数据的大小,在压缩过程中,本申请实施例采用GZIP压缩的方式。具体的,GZIP压缩就是LZ77压缩和哈夫曼(Huffman)压缩的结合,但并不是直接将LZ77压缩的结果使用哈夫曼再压缩一次,LZ77之后,有接近1/8的大小是标记位,如果直接采用哈夫曼的方式压缩LZ77的结果,标记位也会参与压缩;LZ77之后,压缩文件的结果也会非常大,直接交给哈夫曼压缩,可能会导致哈夫曼树非常高,可能就会导致平均每个字节的编码超过8个比特位,就会导致压缩结果较大,从而影响压缩效率。因此,GZIP压缩算法就是针对上述的两条缺陷进行改进。
具体的,在压缩过程中,本申请实施例先统计多个目标日志中字符的出现次数,并根据出现次数为权值构建哈夫曼树,再根据哈夫曼树数据中每一级节点中的子节点的高度,得到对应的编码位长,随后通过哈夫曼树获取每个字符对应的哈夫曼编码,并按照编码位长为第一字段,以字符的大小为第二字段进行排序,得到排序结果。最后,本申请实施例中使用了泛式哈夫曼树进行编码,压缩文件中只需要保存编码位长即可,这样解压缩的时候不需要构造哈夫曼树,因此本申请实施例根据排序结果,以及解压缩时需要用到的字符的信息和编码位长,对多个目标日志进行压缩,对目标日志中的每个字符使用获取的哈夫曼编码进行改写,将改写结果写到压缩文件中,直到结束,最终将压缩后的多个目标日志发送到日志服务端中。
可以理解的是,在本申请实施例的GZIP压缩中,可以将源字符和长度放在一个放在一颗哈夫曼树进行压缩,将距离使用另一颗哈夫曼树进行压缩,因为源字符和长度使用一颗哈夫曼树进行编码,所以为了对源字符和长度进行区分,将长度统一向后偏移了若干位,例如偏移了257位。进一步的,为了解决二叉树节点过多的情况,可以对其节点进行了分区;此外,进一步的,对大文件可以采取分片压缩的方式,这样就不会导致哈夫曼树过高。
请参阅图18,本申请实施例还提供一种多业务模块日志记录系统,可以实现上述数据导入阶段的多业务模块日志记录方法,多业务模块日志记录系统包括:
日志模板建立模块1801,用于从预设的日志模板库中获取与当前业务模块匹配的日志模板,其中,日志模板库为通过以下方式建立:获取同一类别业务模块的多个样本数据,提取样本数据的日志属性;获取日志属性中的特征信息;将样本数据之间的日志属性进行对比,若日志属性之间存在相同或相似的特征信息,确定对应的日志属性为具有相关性的通用属性;其中,特征信息包括存储内容,判断日志属性之间存在相同或相似的特征信息的依据包括:存储内容包含的内容、格式或编号规则满足第一预设要求;将通用属性作为模板属性,根据模板属性建立日志模板,并根据多个业务模块形成多种日志模板,以建立日志模板库;
日志生成模块1802,用于获取目标数据,并根据日志模板对目标数据进行数据提取,将目标数据中与模板属性对应的数据存放在日志模板中,得到目标日志。
示例性的,本申请实施例中的多业务模块日志记录系统可以执行上述实施例中的多业务模块日志记录方法,多业务模块日志记录系统为一个计算机系统或服务器,也可以是计算机系统中的一部分业务模块组成的子系统,在此不做具体限制。在多业务模块日志记录系统中,设置有多个不同的业务模块,各个业务模块均能产生相应的数据,因此本申请实施例需要采集这些业务模块的日志。
具体的,在为多个业务模块提供日志服务时,本申请实施例可以从预设的日志模板库中获取与当前业务模块匹配的日志模板,日志模板库是预先建立的。
在建立日志模板库的过程中,需要先获取同一类别业务模块的多个样本数据,并对样本数据进行属性提取,得到多个样本数据的日志属性,以便后续可以根据日志属性进行进一步的操作。
需要说明的是,样本数据可以是当前多业务模块日志记录系统中各个业务模块的数据,因此本申请实施例中可以根据当前多业务模块日志记录系统中的数据来提取日志属性;样本数据也可以是预先建立的样本中的数据,这些数据与当前多业务模块日志记录系统中各个业务模块的数据相似,可以用来建立日志模板,随后并根据多个业务模块下的数据进行处理,形成多种日志模板,将多个日志模板存放在日志模板库中。
示例性的,日志属性是日志的属性信息,例如,日志属性可以是日志id(fdId)、版本(fdVersion)、签名(fdSign)、日志分组(fdGroup)、模块编码(fdModule)、模块名称(fdModuleLabel)等属性。本申请实施例中可以通过对样本数据的内容进行识别,从而得到其中的表征属性信息的内容,从而得到日志属性。
示例性的,在获得日志属性后,需要为后续建立日志模板提供一些建立依据,本申请实施例中通过获取样本数据之间日志属性的相关性,相关性表明二者之间是否有相同或相似的特征,若有,则说明日志属性之间有关联,确定具有相关性的日志属性为通用属性。
需要说明的是,在确定相关性的过程中,本申请实施例是针对样本数据之间的数据进行对比的,可以理解的是,日志属性是某个样本数据中提取出来的,这些日志属性是否是通用的属性,需要与另一个样本数据中提取出来的日志属性进行对比,从而明确哪些日志属性可以作为通用属性。
需要说明的是,通用属性是一个表明在多个样本数据之中均有的一个日志属性,同样是一个属性信息,是通过相关性判断确定得到的,本申请实施例中可以对两个,或两个以上的样本数据之间的日志属性进行对比,从而确定可以通用的通用属性。
示例性的,本申请实施例中可以根据上述步骤中得到的通用属性来建立模板。具体的,本申请实施例中可以将上述确定得到的通用属性作为模板中的模板属性,并根据模板属性来建立日志模板。需要说明的是,模板属性是定义在日志模板中的属性信息。
示例性的,本申请实施例中在设计阶段可以根据不同的模板属性,定义不同的日志模板,通过声明日志模板,并且由模板指定固定的模板属性,可以实现日志数据的提取,因此本申请实施例中最终可以根据日志模板对目标数据进行数据提取,并在提取过程中,以日志模板为依据,将目标数据中与模板属性对应的数据存放在日志模板中,从而得到目标日志,完成日志服务。
需要说明的是,目标数据是当前多业务模块日志记录系统中各个业务模块的数据,因此本申请实施例中可以根据当前多业务模块日志记录系统中的数据来提取目标日志。目标数据可以有多个,面对多个不同的目标数据,本申请实施例均可以依据预先建立的日志模板来提取数据,得到所需要的目标日志。目标日志是与当前提取的目标数据对应的日志,是最终得到的一个日志信息,在一实施例中,目标日志可以是一个日志列表,描述了各个模板属性下的具体信息。
由于本申请实施例中在数据提取过程中采用预先根据属性的相关性建立的日志模板,可以适用不同业务模块的日志服务,无需耗费多余时间和精力来进行重复性的工作,能够提高日志处理的效率。此外,通过建立日志模板来得到日志,提供了公共的日志服务,减少了实际工作中各业务线在日志功能的投入,达到了开箱即用,对应整体的日志服务程序质量也提高了。
该多业务模块日志记录系统的具体实施方式与上述的多业务模块日志记录方法的具体实施例基本相同,在此不再赘述。在满足本申请实施例要求的前提下,多业务模块日志记录系统还可以设置其他功能模块,以实现上述实施例中的多业务模块日志记录方法。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述多业务模块日志记录方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图19,图19示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1901,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器1902,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器1902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1902中,并由处理器1901来调用执行本申请实施例中的多业务模块日志记录方法;
输入/输出接口1903,用于实现信息输入及输出;
通信接口1904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线1905,在设备的各个组件(例如处理器1901、存储器1902、输入/输出接口1903和通信接口1904)之间传输信息;
其中处理器1901、存储器1902、输入/输出接口1903和通信接口1904通过总线1905实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述的多业务模块日志记录方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。

Claims (14)

1.一种多业务模块日志记录方法,其特征在于,所述方法包括下列步骤S1和S2:
S1、从预设的日志模板库中获取与当前业务模块匹配的日志模板,其中,所述日志模板库至少通过以下步骤S11至步骤S14建立:
S11、获取同一类别业务模块的多个样本数据,提取所述样本数据的日志属性;
S12、获取所述日志属性中的特征信息;
S13、将所述样本数据之间的所述日志属性进行对比,若所述日志属性之间存在相同或相似的所述特征信息,确定对应的所述日志属性为具有相关性的通用属性;其中,所述特征信息包括存储内容,判断所述日志属性之间存在相同或相似的所述特征信息的依据包括:所述存储内容包含的内容、格式或编号规则满足第一预设要求;
S14、将所述通用属性作为模板属性,根据所述模板属性建立所述日志模板,并根据多个业务模块形成多种所述日志模板,以建立所述日志模板库;
S2、获取目标数据,并根据所述日志模板对所述目标数据进行数据提取,将所述目标数据中与所述模板属性对应的数据存放在所述日志模板中,得到目标日志。
2.根据权利要求1所述的多业务模块日志记录方法,其特征在于,当所述特征信息包括属性名称和属性类型;
所述若所述日志属性之间存在相同或相似的所述特征信息,确定对应的所述日志属性为具有相关性的通用属性,包括:
若所述日志属性之间存在相同的所述属性名称和所述属性类型,确定对应的所述日志属性为具有相关性的通用属性;
若所述日志属性之间存在相同的所述属性名称和不同的所述属性类型,确定对应的所述日志属性为具有相关性的通用属性;
若所述日志属性之间存在相似的所述属性名称和相同的所述属性类型,确定对应的所述日志属性为具有相关性的通用属性。
3.根据权利要求1所述的多业务模块日志记录方法,其特征在于,所述若所述日志属性之间存在相同或相似的所述特征信息,确定对应的所述日志属性为具有相关性的通用属性,包括:
根据所述日志属性之间存在相同的所述存储内容,确定对应的所述日志属性为具有相关性的通用属性;
根据所述日志属性之间的所述存储内容,确定相似的所述存储内容之间的存储类型或相似度,并确定所属的所述存储类型或所述相似度满足第一预设要求的所述日志属性为具有相关性的通用属性。
4.根据权利要求3所述的多业务模块日志记录方法,其特征在于,所述根据所述日志属性之间的所述存储内容,确定相似的所述存储内容之间的存储类型或相似度,并确定所属的所述存储类型或所述相似度满足第一预设要求的所述日志属性为具有相关性的通用属性,包括:
根据所述日志属性之间的所述存储内容,确定所述存储内容是否均包含第一特定内容,如是,则确定所述日志属性为具有相关性的通用属性;
和/或,
根据所述日志属性之间的所述存储内容,确定所述存储内容是否均符合第一特定格式,如是,则确定所述日志属性为具有相关性的通用属性;
和/或,
根据所述日志属性之间的所述存储内容,确定所述存储内容是否均符合第一编号规则,如是,则确定所述日志属性为具有相关性的通用属性。
5.根据权利要求4所述的多业务模块日志记录方法,其特征在于,所述确定所述存储内容是否均包含第一特定内容,如是,则确定所述日志属性为具有相关性的通用属性,包括:
对每个所述业务模块的所述存储内容进行识别,确定其中的第一字符串内容,根据所述第一字符串内容与预设的第一特定内容之间的匹配度得到第一分值;
当所述第一分值大于预设的第一分值阈值,确定所述存储内容包含所述第一特定内容,并获取所述第一特定内容前后的临近字符串内容;
若所述临近字符串内容为符号信息,则确定当前所述日志属性中的所述第一字符串内容为第一属性;若所述临近字符串内容为字符内容,根据所述临近字符串内容与预设的第二特定内容之间的匹配度得到第二分值,当所述第二分值大于预设的第二分值阈值,确定所述存储内容包含所述第二特定内容,则确定当前所述日志属性中的所述第一字符串内容为所述第一属性,否则确定当前所述日志属性中的所述第一字符串内容为非第一属性;
获取所述业务模块的数量,得到第一数值K;获取多个所述业务模块中存在所述第一属性的模块数量,得到第二数值P;获取第i个所述业务模块中所述第一字符串内容被判定为所述非第一属性的次数,得到第三数值
Figure 756617DEST_PATH_IMAGE001
;获取第i个所述业务模块中所述第一字符串内容被判定为所述第一属性的次数,得到第四数值
Figure 858565DEST_PATH_IMAGE002
根据以下公式计算得到目标数值
Figure 54185DEST_PATH_IMAGE003
Figure 266992DEST_PATH_IMAGE004
其中,a为所述第一字符串内容,并在所述目标数值
Figure 566255DEST_PATH_IMAGE003
大于预设的目标数值阈值时,确定所述第一属性为具有相关性的通用属性。
6.根据权利要求1所述的多业务模块日志记录方法,其特征在于,所述将所述通用属性作为模板属性,根据所述模板属性建立所述日志模板,包括:
获取用户端输入的自定义配置信息;
根据所述自定义配置信息确定日志提取中的拓展属性,并根据所述通用属性和所述拓展属性得到模板属性;
根据所述模板属性建立所述日志模板。
7.根据权利要求1所述的多业务模块日志记录方法,其特征在于,所述从预设的日志模板库中获取与当前业务模块匹配的日志模板,包括:
获取用户端输入的相关属性信息;
根据所述相关属性信息,从预先存储的日志模板库中匹配一个与所述相关属性信息对应的日志模板。
8.根据权利要求1所述的多业务模块日志记录方法,其特征在于,所述得到目标日志之后,还包括:
获取所述目标日志的数据归属类型;
当所述数据归属类型表征所述目标日志属于第一企业数据,将所述目标日志存储在本地文件中;
当所述数据归属类型表征所述目标日志属于第二企业数据,将所述目标日志存储在预设的分布式消息系统中。
9.根据权利要求8所述的多业务模块日志记录方法,其特征在于,所述方法还包括:
从所述本地文件或所述分布式消息系统中获取日志数据包,所述日志数据包包括多个所述目标日志;
将所述日志数据包发送到预设的平台存储服务器中进行永久化存储。
10.根据权利要求1或8所述的多业务模块日志记录方法,其特征在于,所述得到目标日志之后,还包括:
持续根据所述日志模板对所述目标数据进行数据提取,得到多个所述目标日志;
对多个所述目标日志的数据量进行累加,得到数据量累加值;
对多个所述目标日志的数据大小进行累加,得到数据大小累加值;
若当前的所述数据量累加值大于预设的第一阈值,或者当前的所述数据大小累加值大于预设的第二阈值,将多个所述目标日志发送到日志服务端中,以使所述日志服务端进行可视化展示。
11.根据权利要求10所述的多业务模块日志记录方法,其特征在于,所述将多个所述目标日志发送到日志服务端中,还包括:
统计多个所述目标日志中字符的出现次数;
根据所述出现次数为权值构建哈夫曼树;
根据所述哈夫曼树数据中每一级节点中的子节点的高度,得到对应的编码位长;
通过所述哈夫曼树获取每个所述字符对应的哈夫曼编码,并按照所述编码位长为第一字段,以所述字符的大小为第二字段进行排序,得到排序结果;
根据所述排序结果,以及解压缩时需要用到的所述字符的信息和所述编码位长,对多个所述目标日志进行压缩;
将压缩后的多个所述目标日志发送到日志服务端中。
12.一种多业务模块日志记录系统,其特征在于,所述系统包括:
日志模板建立模块,用于从预设的日志模板库中获取与当前业务模块匹配的日志模板,其中,所述日志模板库为通过以下方式建立:获取同一类别业务模块的多个样本数据,提取所述样本数据的日志属性;获取所述日志属性中的特征信息;将所述样本数据之间的所述日志属性进行对比,若所述日志属性之间存在相同或相似的所述特征信息,确定对应的所述日志属性为具有相关性的通用属性;其中,所述特征信息包括存储内容,判断所述日志属性之间存在相同或相似的所述特征信息的依据包括:所述存储内容包含的内容、格式或编号规则满足第一预设要求;将所述通用属性作为模板属性,根据所述模板属性建立所述日志模板,并根据多个业务模块形成多种所述日志模板,以建立所述日志模板库;
日志生成模块,用于获取目标数据,并根据所述日志模板对所述目标数据进行数据提取,将所述目标数据中与所述模板属性对应的数据存放在所述日志模板中,得到目标日志。
13.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至11任意一项所述的多业务模块日志记录方法。
14.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任意一项所述的多业务模块日志记录方法。
CN202310024265.4A 2023-01-09 2023-01-09 多业务模块日志记录方法、系统、电子设备及存储介质 Active CN115757049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310024265.4A CN115757049B (zh) 2023-01-09 2023-01-09 多业务模块日志记录方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310024265.4A CN115757049B (zh) 2023-01-09 2023-01-09 多业务模块日志记录方法、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115757049A true CN115757049A (zh) 2023-03-07
CN115757049B CN115757049B (zh) 2023-05-05

Family

ID=85348414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310024265.4A Active CN115757049B (zh) 2023-01-09 2023-01-09 多业务模块日志记录方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115757049B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049287A (zh) * 2015-07-28 2015-11-11 小米科技有限责任公司 日志处理方法及装置
US20160070739A1 (en) * 2014-09-10 2016-03-10 Ca, Inc, Batch processed data structures in a log repository referencing a template repository and an attribute repository
CN112882900A (zh) * 2021-02-26 2021-06-01 山东浪潮通软信息科技有限公司 一种记录业务数据变更日志的方法及设备
CN113868214A (zh) * 2021-09-30 2021-12-31 中国电信股份有限公司 日志的存储方法、装置、电子设备及计算机可读介质
US11243834B1 (en) * 2020-11-16 2022-02-08 International Business Machines Corporation Log parsing template generation
CN115408350A (zh) * 2022-07-13 2022-11-29 深圳市腾讯计算机系统有限公司 日志压缩、日志还原方法、装置、计算机设备和存储介质
CN115525617A (zh) * 2022-08-24 2022-12-27 青岛海尔智能家电科技有限公司 用于日志模板的提取方法及装置、服务器、存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160070739A1 (en) * 2014-09-10 2016-03-10 Ca, Inc, Batch processed data structures in a log repository referencing a template repository and an attribute repository
CN105049287A (zh) * 2015-07-28 2015-11-11 小米科技有限责任公司 日志处理方法及装置
US11243834B1 (en) * 2020-11-16 2022-02-08 International Business Machines Corporation Log parsing template generation
CN112882900A (zh) * 2021-02-26 2021-06-01 山东浪潮通软信息科技有限公司 一种记录业务数据变更日志的方法及设备
CN113868214A (zh) * 2021-09-30 2021-12-31 中国电信股份有限公司 日志的存储方法、装置、电子设备及计算机可读介质
CN115408350A (zh) * 2022-07-13 2022-11-29 深圳市腾讯计算机系统有限公司 日志压缩、日志还原方法、装置、计算机设备和存储介质
CN115525617A (zh) * 2022-08-24 2022-12-27 青岛海尔智能家电科技有限公司 用于日志模板的提取方法及装置、服务器、存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘吉强等: "基于解析器树的日志压缩优化方法" *

Also Published As

Publication number Publication date
CN115757049B (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
CN110275965B (zh) 假新闻检测方法、电子装置及计算机可读存储介质
CN110347716B (zh) 日志数据处理方法、装置、终端设备及存储介质
CN112636957B (zh) 基于日志的预警方法、装置、服务器及存储介质
CN106959976B (zh) 一种搜索处理方法以及装置
US20180349250A1 (en) Content-level anomaly detector for systems with limited memory
CN107085568B (zh) 一种文本相似度判别方法及装置
CN109711189B (zh) 数据脱敏方法及装置、存储介质、终端
WO2019019767A1 (zh) 客户身份信息处理方法、装置、存储介质和计算机设备
CN111078737B (zh) 共性分析方法、装置、数据处理设备及可读存储介质
CN111258819A (zh) MySQL数据库备份文件的数据获取方法、装置和系统
CN107122464B (zh) 一种辅助决策系统及方法
CN107291743B (zh) 数据的调用方法和装置
CN112347355A (zh) 数据处理方法、装置、服务器及存储介质
CN115757049B (zh) 多业务模块日志记录方法、系统、电子设备及存储介质
CN114840634B (zh) 信息存储方法、装置、电子设备和计算机可读介质
CN115982241A (zh) 一种数据处理方法、装置、电子设备及计算机可读介质
CN110096478A (zh) 文档索引生成方法及设备
CN108376170A (zh) 确定检索结果的方法和装置
CN114581219A (zh) 一种反电信网络诈骗预警方法及系统
CN110263082B (zh) 数据库的数据分布分析方法、装置、电子设备及存储介质
CN113792211A (zh) 一种资源推送处理方法、装置、电子设备及存储介质
CN113779017A (zh) 数据资产管理的方法和装置
CN104951869A (zh) 一种基于工作流的舆情监控方法及装置
CN111881356A (zh) 内容推荐方法、装置、电子设备及存储介质
CN115941712B (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
GR01 Patent grant
GR01 Patent grant