CN117312101B - 结构日志的确定方法及装置、存储介质、电子设备 - Google Patents
结构日志的确定方法及装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN117312101B CN117312101B CN202311604437.1A CN202311604437A CN117312101B CN 117312101 B CN117312101 B CN 117312101B CN 202311604437 A CN202311604437 A CN 202311604437A CN 117312101 B CN117312101 B CN 117312101B
- Authority
- CN
- China
- Prior art keywords
- log
- target
- sub
- target task
- analyzed
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 132
- 238000012545 processing Methods 0.000 claims abstract description 98
- 230000008569 process Effects 0.000 claims abstract description 48
- 230000000977 initiatory effect Effects 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 107
- 230000002159 abnormal effect Effects 0.000 claims description 100
- 238000004590 computer program Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 18
- 230000005856 abnormality Effects 0.000 claims description 10
- 230000008439 repair process Effects 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 17
- 238000011144 upstream manufacturing Methods 0.000 description 8
- 238000012216 screening Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请实施例提供了一种结构日志的确定方法及装置、存储介质、电子设备,其中,该方法包括:构建待分析的业务系统的业务拓扑图,在待分析的业务系统执行目标任务的情况下,确定在执行目标任务过程中调用的M个子逻辑,并在业务拓扑图中标识与M个子逻辑匹配的M个目标功能节点,得到目标任务在业务拓扑图中的执行路径;根据M个目标功能节点对应的目标逻辑和执行路径发起目标任务的日志记录,生成日志文件;对日志文件进行预设结构的数据处理,根据数据处理结果确定目标任务对应的结构日志。解决了相关技术中的解决相关技术中无法对日志数据进行结构化描述,导致使用日志数据进行业务逻辑分析的效率低下,需要消耗大量的人力资源的问题。
Description
技术领域
本申请实施例涉及大数据领域,具体而言,涉及一种结构日志的确定方法及装置、存储介质、电子设备。
背景技术
近年来,随着云计算与大数据的迅猛发展,软件系统的复杂度也跟着快速提升。与此同时,由于微服务架构的演进,软件系统的实现往往需要依赖多个服务间的共同协作。总而言之,系统的日益复杂已经成为一种常态。
日志作为软件系统的必备能力,职责就是记录程序运行期间发生的离散事件,并且在事后阶段用于程序的行为分析,比如曾经调用过什么方法、操作过哪些数据等等。在分布式系统中,ELK技术栈已经成为日志收集和分析的通用解决方案。
传统的ELK方案需要开发者在编写代码时尽可能全地打印日志,再通过关键字段从ES中搜集筛选出与业务逻辑相关的日志数据,进而拼凑出业务执行的现场信息。然而该方案存在如下的痛点:日志搜集繁琐、日志筛选困难、日志分析耗时。
由此可见,相关技术无法对日志数据进行结构化描述,导致使用日志数据进行业务逻辑分析的效率低下,需要消耗大量的人力资源的问题。
发明内容
本申请实施例提供了一种结构日志的确定方法及装置、存储介质、电子设备,以至少解决相关技术中无法对日志数据进行结构化描述,导致使用日志数据进行业务逻辑分析的效率低下,需要消耗大量的人力资源的问题。
根据本申请的一个实施例,提供了一种结构日志的确定方法,包括:构建待分析的业务系统的业务拓扑图,其中,所述业务拓扑图包括N个功能节点,所述N个功能节点与N个子逻辑一一对应,所述N个子逻辑组成所述待分析的业务系统对应的业务逻辑;在所述待分析的业务系统执行目标任务的情况下,确定在执行所述目标任务过程中调用的M个子逻辑,并在所述业务拓扑图中标识与所述M个子逻辑匹配的M个目标功能节点,得到所述目标任务在所述业务拓扑图中的执行路径;根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件;其中,所述M小于等于N,M、N为正整数;对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志。
在一个示例性实施例中,根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件之前,上述方法还包括:获取所述目标任务对应的标识信息,其中,所述标识信息包括以下至少之一:发起所述目标任务的目标对象的对象标识、所述目标任务对应的任务标识、所述目标任务的执行标识;将所述标识信息从所述M个目标功能节点中的第一个目标功能节点向第M个目标功能节点进行传递。
在一个示例性实施例中,根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件,包括:确定所述M个目标功能节点中每一个目标功能节点对于所述目标任务的执行数据和所述每一个目标功能节点在执行所述目标任务时对应的节点运行数据;根据所述执行数据和所述节点运行数据确定所述每一个目标功能节点对应的子日志文件;确定所述目标任务从第一个目标功能节点至所述执行路径中的第Q个目标功能节点已完成执行的情况下,汇总所有所述子日志文件,得到所述目标任务在业务系统中执行的日志文件;其中,0≤Q≤M,所述第Q个目标功能节点为所述执行路径上最后一个目标功能节点。
在一个示例性实施例中,对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之后,上述方法还包括:将所述结构日志存储在所述待分析的业务系统对应的日志存储空间;在获取到目标对象在与所述待分析的业务系统关联的目标终端上输入的异常标识信息的情况下,从所述日志存储空间中存储的所有日志中筛选出所述异常标识信息匹配的目标结构日志;对所述目标结构日志执行内容分析,并根据分析结果确定所述待分析的业务系统是否存在异常。
在一个示例性实施例中,对所述目标结构日志执行内容分析,并根据分析结果确定所述待分析的业务系统是否存在异常,包括:确定所述目标结构日志对应的所有执行链路,其中,所述执行链路包括至少一条执行路径;确定所述所有执行链路中每一个链路节点之间传递的标识信息是否相同;在识别到所述所有执行链路中存在异常标识信息的目标执行链路的情况下,确定所述待分析的业务系统存在异常。
在一个示例性实施例中,确定所述所有执行链路中每一个链路节点之间传递的标识信息是否相同之后,上述方法还包括:在识别到所述所有执行链路中不存在异常标识信息的目标执行链路的情况下,查阅所述所有执行链路中每一个链路节点对应的子日志文件;在所述子日志文件存在异常记录的情况下,确定所述待分析的业务系统存在异常。
在一个示例性实施例中,上述方法还包括:在识别到所述目标执行链路或异常记录的情况下,确定所述目标执行链路或所述异常记录在所述目标结构日志中对应的日志内容;对所述日志内容添加标注信息,其中,所述标注信息为预设格式的提示消息。
在一个示例性实施例中,对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之前,上述方法还包括:确定所述目标任务在所述业务系统中的实时运行数据;在所述实时运行数据指示所述目标任务已完成执行的情况下,允许发起对所述日志文件进行预设结构的数据处理,以根据处理结果确定所述目标任务在所述待分析的业务系统中运行后对应的目标日志;在所述实时运行数据指示所述目标任务未完成执行的情况下,禁止发起对所述日志文件进行预设结构的数据处理,并向所述待分析的业务系统对应的管理对象发送提示信息,其中,所述提示信息用于指示所述待分析的业务系统处理所述目标任务的业务逻辑出现异常。
在一个示例性实施例中,对所述日志文件进行预设结构的数据处理,包括:使用异步数据读取方式获取所述日志文件中每一个日志事件对应的事件数据;识别所述事件数据中标识信息以及所述事件数据所在目标功能节点的模块信息,根据所述标识信息和所述模块信息对所述日志文件对应的多个事件数据进行分类;在完成所述分类的情况下,从所述日志文件中解析出至少三种类型的子日志文件;在解析出所述至少三种类型的子日志文件的情况下,确定对所述日志文件完成预设结构的数据处理。
在一个示例性实施例中,根据数据处理结果确定所述目标任务对应的结构日志,包括:使用所述至少三种类型的子日志文件对所述预设结构进行数据填充;在所述预设结构完成数据填充的情况下,根据完成填充的所述预设结构中的数据分布确定所述目标任务对应的结构日志。
在一个示例性实施例中,所述至少三种类型的子日志文件,包括:链路日志类型对应的第一子日志文件、模块日志类型对应的第二子日志文件、业务日志类型对应的第三子日志文件;其中,所述第一子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在N个功能模块上的执行数据;所述第二子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在所述N个功能模块上的节点运行数据;所述第三子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在所述N个功能模块之间存在的逻辑关系。
在一个示例性实施例中,使用所述至少三种类型的子日志文件对所述预设结构进行数据填充,包括:在所述预设结构为树形结构的情况下,根据所述标识信息确定为所述树形结构中的根节点对应的第一数据;根据所述第一子日志文件确定为所述树形结构中的第一层子节点对应的第二数据;根据所述第二子日志文件确定为所述树形结构中的第二层子节点对应的第三数据;根据所述第三子日志文件确定为所述树形结构中叶子节点对应的第四数据;在使用所述标识信息、所述第一子日志文件、所述第二子日志文件、所述第三子日志文件对所述树形结构完成填充的情况下,确定完成填充的树形结构对应的配置文件;根据所述配置文件生成所述目标任务对应目标日志。
在一个示例性实施例中,对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之后,上述方法还包括:通过所述结构日志对所述待分析的业务系统执行所述目标任务的执行过程进行监控;在确定所述目标任务执行出现异常的情况下,通过所述结构日志中对应的异常日志信息定位所述待分析的业务系统中的异常业务逻辑。
在一个示例性实施例中,在确定所述目标任务执行出现异常的情况下,通过所述结构日志中对应的异常日志信息定位所述待分析的业务系统中的异常业务逻辑之后,上述方法还包括:在定位到所述待分析的业务系统中出现异常的业务逻辑的情况下,向所述待分析的业务系统关联的目标对象发送提示信息;通过所述提示信息指示所述目标对象对所述待分析的业务系统中的异常业务逻辑进行逻辑修复。
根据本申请的另一个实施例,提供了一种结构日志的确定装置,包括:构建模块,用于构建待分析的业务系统的业务拓扑图,其中,所述业务拓扑图包括N个功能节点,所述N个功能节点与N个子逻辑一一对应,所述N个子逻辑组成所述待分析的业务系统对应的业务逻辑;标识模块,用于在所述待分析的业务系统执行目标任务的情况下,确定在执行所述目标任务过程中调用的M个子逻辑,并在所述业务拓扑图中标识与所述M个子逻辑匹配的M个目标功能节点,得到所述目标任务在所述业务拓扑图中的执行路径;生成模块,用于根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件;其中,所述M小于等于N,M、N为正整数;处理模块,用于对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志。
在一个示例性实施例中,上述装置还包括:传递模块,用于根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件之前,获取所述目标任务对应的标识信息,其中,所述标识信息包括以下至少之一:发起所述目标任务的目标对象的对象标识、所述目标任务对应的任务标识、所述目标任务的执行标识;将所述标识信息从所述M个目标功能节点中的第一个目标功能节点向第M个目标功能节点进行传递。
在一个示例性实施例中,上述生成模块,还用于确定所述M个目标功能节点中每一个目标功能节点对于所述目标任务的执行数据和所述每一个目标功能节点在执行所述目标任务时对应的节点运行数据;根据所述执行数据和所述节点运行数据确定所述每一个目标功能节点对应的子日志文件;确定所述目标任务从第一个目标功能节点至所述执行路径中的第Q个目标功能节点已完成执行的情况下,汇总所有所述子日志文件,得到所述目标任务在业务系统中执行的日志文件;其中,0≤Q≤M,所述第Q个目标功能节点为所述执行路径上最后一个目标功能节点。
在一个示例性实施例中,上述装置还包括:存储模块,用于对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之后,将所述结构日志存储在所述待分析的业务系统对应的日志存储空间;筛选模块,用于在获取到目标对象在与所述待分析的业务系统关联的目标终端上输入的异常标识信息的情况下,从所述日志存储空间中存储的所有日志中筛选出所述异常标识信息匹配的目标结构日志;分析模块,用于对所述目标结构日志执行内容分析,并根据分析结果确定所述待分析的业务系统是否存在异常。
在一个示例性实施例中,上述分析模块,还用于确定所述目标结构日志对应的所有执行链路,其中,所述执行链路包括至少一条执行路径;确定所述所有执行链路中每一个链路节点之间传递的标识信息是否相同;在识别到所述所有执行链路中存在异常标识信息的目标执行链路的情况下,确定所述待分析的业务系统存在异常。
在一个示例性实施例中,上述分析模块,还用于在确定所述所有执行链路中每一个链路节点之间传递的标识信息是否相同之后,在识别到所述所有执行链路中不存在异常标识信息的目标执行链路的情况下,查阅所述所有执行链路中每一个链路节点对应的子日志文件;在所述子日志文件存在异常记录的情况下,确定所述待分析的业务系统存在异常。
在一个示例性实施例中,上述分析模块,还包括:标注单元,用于在识别到所述目标执行链路或异常记录的情况下,确定所述目标执行链路或所述异常记录在所述目标结构日志中对应的日志内容;对所述日志内容添加标注信息,其中,所述标注信息为预设格式的提示消息。
在一个示例性实施例中,上述装置还包括:确定模块,用于在对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之前,确定所述目标任务在所述业务系统中的实时运行数据;在所述实时运行数据指示所述目标任务已完成执行的情况下,允许发起对所述日志文件进行预设结构的数据处理,以根据处理结果确定所述目标任务在所述待分析的业务系统中运行后对应的目标日志;在所述实时运行数据指示所述目标任务未完成执行的情况下,禁止发起对所述日志文件进行预设结构的数据处理,并向所述待分析的业务系统对应的管理对象发送提示信息,其中,所述提示信息用于指示所述待分析的业务系统处理所述目标任务的业务逻辑出现异常。
在一个示例性实施例中,上述处理模块,还用于使用异步数据读取方式获取所述日志文件中每一个日志事件对应的事件数据;识别所述事件数据中标识信息以及所述事件数据所在目标功能节点的模块信息,根据所述标识信息和所述模块信息对所述日志文件对应的多个事件数据进行分类;在完成所述分类的情况下,从所述日志文件中解析出至少三种类型的子日志文件;在解析出所述至少三种类型的子日志文件的情况下,确定对所述日志文件完成预设结构的数据处理。
在一个示例性实施例中,上述处理模块,还用于使用所述至少三种类型的子日志文件对所述预设结构进行数据填充;在所述预设结构完成数据填充的情况下,根据完成填充的所述预设结构中的数据分布确定所述目标任务对应的结构日志。
在一个示例性实施例中,上述至少三种类型的子日志文件,包括:链路日志类型对应的第一子日志文件、模块日志类型对应的第二子日志文件、业务日志类型对应的第三子日志文件;其中,所述第一子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在N个功能模块上的执行数据;所述第二子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在所述N个功能模块上的节点运行数据;所述第三子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在所述N个功能模块之间存在的逻辑关系。
在一个示例性实施例中,上述处理模块,还用于在所述预设结构为树形结构的情况下,根据所述标识信息确定为所述树形结构中的根节点对应的第一数据;根据所述第一子日志文件确定为所述树形结构中的第一层子节点对应的第二数据;根据所述第二子日志文件确定为所述树形结构中的第二层子节点对应的第三数据;根据所述第三子日志文件确定为所述树形结构中叶子节点对应的第四数据;在使用所述标识信息、所述第一子日志文件、所述第二子日志文件、所述第三子日志文件对所述树形结构完成填充的情况下,确定完成填充的树形结构对应的配置文件;根据所述配置文件生成所述目标任务对应目标日志。
在一个示例性实施例中,上述装置还包括:定位模块,用于在对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之后,通过所述结构日志对所述待分析的业务系统执行所述目标任务的执行过程进行监控;在确定所述目标任务执行出现异常的情况下,通过所述结构日志中对应的异常日志信息定位所述待分析的业务系统中的异常业务逻辑。
在一个示例性实施例中,上述装置还包括:修复模块,用于在确定所述目标任务执行出现异常的情况下,通过所述结构日志中对应的异常日志信息定位所述待分析的业务系统中的异常业务逻辑之后,在定位到所述待分析的业务系统中出现异常的业务逻辑的情况下,向所述待分析的业务系统关联的目标对象发送提示信息;通过所述提示信息指示所述目标对象对所述待分析的业务系统中的异常业务逻辑进行逻辑修复。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,将待分析的业务系统以功能节点为单元的形式拆分,在完成拆分之后,根据不同功能节点之间的逻辑关系,构建待分析的业务系统的业务拓扑图,并在使用待分析的业务系统执行目标任务的情况下,利用业务拓扑图确定目标任务在业务系统执行时应用的目标功能节点,并确定出相应的执行路径,基于执行路径、目标功能节点对应的目标逻辑进行日志记录,从而明确目标任务在业务系统中执行时的执行过程,并根据预设结构对记录得到的日志文件进行处理,生成目标任务对应的结构日志,通过结构日志实现对目标任务对应日志信息的结构化存储,因此,可以解决相关技术中无法对日志数据进行结构化描述,导致使用日志数据进行业务逻辑分析的效率低下,需要消耗大量的人力资源的问题,达到将日志信息与业务系统的业务逻辑关联起来,避免不同业务场景、业务逻辑之间的重叠、干扰,将离散的日志文件高效的组织起来进行结构化呈现的效果。
附图说明
图1是本申请实施例的一种结构日志的确定方法的业务系统的硬件结构框图;
图2是根据本申请实施例的结构日志的确定方法的流程图;
图3是根据本申请实施例的一种业务拓扑图的案例示意图;
图4是根据本申请实施例的一种模块内部记录日志的示意图;
图5是根据本申请实施例的一种树形结构的日志的示意图;
图6是根据本申请实施例的结构日志的确定装置的结构框图;
图7是根据本申请实施例的一种可选的电子设备的计算机系统的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
为了更好的理解本申请实施例中的技术方案,先对相关名词进行解释说明:
ELK:一套针对日志数据做解决方案的框架,分别代表了三款产品:ElasticSearch(ES),负责日志的存储和检索;Logstash,负责日志的收集,过滤和格式化;Kibana,负责日志的展示统计和数据可视化。
RPC:远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。
DSL:为了解决某一类任务而专门设计的计算机语言。DSL的设计目标通常包括提高生产力,使非程序员可以使用,以及提供特定类型的语言构造。DSL与通用编程语言(GPL)相对,GPL如Python、Java等。
AOP:Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
本申请实施例中所提供的方法实施例可以在业务系统或者类似的运算装置中执行。以运行在业务系统上为例,图1是本申请实施例的一种结构日志的确定方法的业务系统的硬件结构框图。如图1所示,业务系统可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述业务系统还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述业务系统的结构造成限定。例如,业务系统还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的结构日志的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至业务系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括业务系统的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种结构日志的确定方法,图2是根据本申请实施例的结构日志的确定方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202、构建待分析的业务系统的业务拓扑图,其中,所述业务拓扑图包括N个功能节点,所述N个功能节点与N个子逻辑一一对应,所述N个子逻辑组成所述待分析的业务系统对应的业务逻辑;
作为一种可选的实施方式,在实际应用中,上述业务拓扑图可通过以下方式确定:
对软件系统逻辑进行抽象,描述出业务逻辑,形成业务逻辑的全景图,即业务拓扑图。业务拓扑图的节点为系统中众多相互独立的逻辑单元,可以是本地方法,也可以是RPC等远程调用方法。通过业务拓扑图能完整描述某一次业务执行的实际路径,同时作为载体对业务日志进行结构化组织。可以使用DSL(Domain Specific Language)以JSON格式描述业务拓扑节点之间的上下游关系,包括串行、并行、条件分支等。
例如,如下文本数据为一种业务系统对应的业务拓扑配置文件,具体包括如下内容:
[
{
"nodeName": "A",
"nodeType": "rpc"
},
{
"nodeName": "Invoke1",
"nodeType": "invoke",
"invokeNodes": [
[
{
"nodeName": "B",
"nodeType": "rpc"
}
],
[
{
"nodeName": "C",
"nodeType": "function"
}
]
]
},
{
"nodeName": "Join1",
"nodeType": "join",
"joinOnList": [
"B",
"C"
]
},
{
"nodeName": "D",
"nodeType": "judgment",
"cases": {
"true": [
{
"nodeName": "E",
"nodeType": "rpc"
}
],
"false": [
{
"nodeName": "F",
"nodeType": "rpc"
}
]
}
}
]。
其中,nodeType代表模块的类型,如rpc表示本模块是一个RPC远程调用方法,function表示本模块是一个本地函数,invoke表示本模块是一个方法调用(invoke为主动调用方,rpc和function为被动调用方),join表示等待多线程全部执行完成,judgment表示本模块是一个判断逻辑或函数。
可选的,上述业务拓扑配置文件对应的业务拓扑图如图3所示,图3是根据本申请实施例的一种业务拓扑图的案例示意图。
步骤S204、在所述待分析的业务系统执行目标任务的情况下,确定在执行所述目标任务过程中调用的M个子逻辑,并在所述业务拓扑图中标识与所述M个子逻辑匹配的M个目标功能节点,得到所述目标任务在所述业务拓扑图中的执行路径;
可选的,将业务系统整体的执行逻辑,分解为多个子逻辑,每一个子逻辑对应一个模块,且一个模块为拓扑图中的一个节点,当执行目标任务时,业务系统将调用响应的子逻辑对目标任务进行处理,因此,根据调用的子逻辑,便可确定与目标任务执行关联的多个目标功能节点,从而在拓扑图中识别出这些模块,便可以确定目标任务的执行路径。
可选的,通过在功能节点之间透传链路标识,明确程序逻辑实际在哪条链路执行,执行到了哪个节点。
可选的,上述链路标识可以是用户标识UserID、业务标识BussinessID、执行标识TraceID联合组成,或者可唯一标注目标任务的标识。
例如:在图3业务拓扑中,当A节点触发执行,则开始在后续链路和节点中传递链路标识,随着业务流程的执行,逐步完成整个业务流程的确认。当标识传递至E节点时,则表示D条件分支的判断结果是true。
步骤S206、根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件;其中,所述M小于等于N,M、N为正整数;
步骤S208、对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志。
通过上述步骤,将待分析的业务系统以功能节点为单元的形式拆分,在完成拆分之后,根据不同功能节点之间的逻辑关系,构建待分析的业务系统的业务拓扑图,并在使用待分析的业务系统执行目标任务的情况下,利用业务拓扑图确定目标任务在业务系统执行时应用的目标功能节点,并确定出相应的执行路径,基于执行路径、目标功能节点对应的目标逻辑进行日志记录,从而明确目标任务在业务系统中执行时的执行过程,并根据预设结构对记录得到的日志文件进行处理,生成目标任务对应的结构日志,通过结构日志实现对目标任务对应日志信息的结构化存储,因此,可以解决相关技术中无法对日志数据进行结构化描述,导致使用日志数据进行业务逻辑分析的效率低下,需要消耗大量的人力资源的问题,达到将日志信息与业务系统的业务逻辑关联起来,避免不同业务场景、业务逻辑之间的重叠、干扰,将离散的日志文件高效的组织起来进行结构化呈现的效果。
其中,上述步骤的执行主体可以为服务器、云平台、业务系统等,但不限于此。
在一个示例性实施例中,根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件之前,所述方法还包括:获取所述目标任务对应的标识信息,其中,所述标识信息包括以下至少之一:发起所述目标任务的目标对象的对象标识、所述目标任务对应的任务标识、所述目标任务的执行标识;将所述标识信息从所述M个目标功能节点中的第一个目标功能节点向第M个目标功能节点进行传递。
作为一种可选的实施方式,为了使得记录的日志数据可以更好的被解析,在对目标任务进行日志文件的生成时,还可以将目标任务对应的标识信息在执行目标任务的M个目标功能节点之间进行传输,继而在目标任务在当前目标功能节点执行后进行日记记录时,可以在每一条日志记录中添加标识信息,使得通过标识信息可以清楚知晓不同日志数据之间出现的先后次序,以及是否为同一任务对应的日志,使得,当业务系统同时执行多个目标任务时,可以通过标识信息快速从多个日志文件中确定出属于同一目标任务的日志文件。
综上,通过上述实施方式,在确定M个目标功能节点的基础上,利用标识信息实现日志记录时的准确记录,便于后需根据标识信息对日志文件进行筛选,大大提升了对日志数据的处理效率,且目标任务在不同目标功能节点之间的逻辑关系也可与日志相关联,提升通过日志进行运行场景还原的效果。
在一个示例性实施例中,根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件,可通过以下步骤执行:
步骤一、确定所述M个目标功能节点中每一个目标功能节点对于所述目标任务的执行数据和所述每一个目标功能节点在执行所述目标任务时对应的节点运行数据;
步骤二、根据所述执行数据和所述节点运行数据确定所述每一个目标功能节点对应的子日志文件;
步骤三、确定所述目标任务从第一个目标功能节点至所述执行路径中的第Q个目标功能节点已完成执行的情况下,汇总所有所述子日志文件,得到所述目标任务在业务系统中执行的日志文件;其中,0≤Q≤M,所述第Q个目标功能节点为所述执行路径上最后一个目标功能节点。
可以理解的是,上述执行数据可以是M个目标功能节点中已对目标任务执行处理的节点,包括: 目标功能节点对目标任务的开始执行的第一时间、目标功能节点对目标任务的结束执行的第二时间、目标任务在目标功能节点处的输入信息、目标任务在目标功能节点处的输出信息;上述节点运行数据主要用于指示每一个功能节点对应的节点内业务逻辑的执行情况,记录了任何对业务逻辑起到解释作用的数据,包括与上下游交互的入参出参、复杂逻辑的中间变量、逻辑执行抛出的异常。
综上,通过上述实施方式,在目标任务在M个目标功能节点执行的过程中,根据每一个节点对应的执行数据和节点运行数据形成目标任务在该目标功能节点处的子日志文件,继而汇总M个目标功能节点对应的所有子文件,得到目标任务的日志文件,从而将日志的记录过程初步与目标任务的执行流程结合,保证了后续可以通过对目标日志文件处理快速定位目标任务在业务系统中执行时遇到的问题,以及出现异常的目标功能节点。
在一个示例性实施例中,对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之后,所述方法还包括:将所述结构日志存储在所述待分析的业务系统对应的日志存储空间;在获取到目标对象在与所述待分析的业务系统关联的目标终端上输入的异常标识信息的情况下,从所述日志存储空间中存储的所有日志中筛选出所述异常标识信息匹配的目标结构日志;对所述目标结构日志执行内容分析,并根据分析结果确定所述待分析的业务系统是否存在异常。
作为一种可选的实施方式,当目标任务的执行出现问题需要进行日志分析时,首先可以根据业务标识(BussinessID)查询该业务所有的链路执行情况,筛选出现异常的执行链路;其次,可以通过某一次业务逻辑的链路标识,同时展示各个节点的执行情况;最后,可以查询任意已执行节点的详情,包括节点输入、输出,以及节点执行过程中的关键业务日志。通过这三个步骤,既可以从全局视角查看所有业务逻辑的执行情况,又可以深入到某一次具体业务的逻辑链路及具体模块内部查看详细的业务日志。
综上,通过上述方式,可以通过使用目标结构日志快速定位,目标任务出现问题时在业务系统中对应的业务逻辑,便于后续开发对象对定位出的异常部分进行业务系统的升级。
在一个示例性实施例中,对所述目标结构日志执行内容分析,并根据分析结果确定所述待分析的业务系统是否存在异常,包括:确定所述目标结构日志对应的所有执行链路,其中,所述执行链路包括至少一条执行路径;确定所述所有执行链路中每一个链路节点之间传递的标识信息是否相同;在识别到所述所有执行链路中存在异常标识信息的目标执行链路的情况下,确定所述待分析的业务系统存在异常。
在一个示例性实施例中,确定所述所有执行链路中每一个链路节点之间传递的标识信息是否相同之后,所述方法还包括:在识别到所述所有执行链路中不存在异常标识信息的目标执行链路的情况下,查阅所述所有执行链路中每一个链路节点对应的子日志文件;在所述子日志文件存在异常记录的情况下,确定所述待分析的业务系统存在异常。
在一个示例性实施例中,所述方法还包括:在识别到所述目标执行链路或异常记录的情况下,确定所述目标执行链路或所述异常记录在所述目标结构日志中对应的日志内容;对所述日志内容添加标注信息,其中,所述标注信息为预设格式的提示消息。
可以理解的是,业务执行过程中,通过全局的链路标识表示某一次完整的业务流程执行过程,通过节点标识表示在某一个模块或者函数内的执行过程。通过链路标识与节点标识结合,与已定义的链路拓扑进行结合,可以明确标识某一次业务执行过程中的执行路径与所经过的模块,以确定业务逻辑的真实路径;通过节点标识可以查询到某一路径内该模块的执行过程,以便筛选该模块的执行时间、异常信息等内容。
将日志以树形结构的形式保存为三种类型的日志记录,分别为链路日志,代表一次完整业务流程;节点日志,代表一次完整业务流程中,所经过的模块日志;业务日志,代表常规的日志,记录了程序执行过程中的变量信息及堆栈信息等内容。通过树形结构的三种类型日志,能够以自上而下的方式对异常的链路或者模块进行定位与分析。
进一步的,当确定结构日志中用于存在的指示异常的日志内容之后,还可以通过添加对应的标注信息,将结构日志中记录的异常内容可视化,便于后续进行数据查阅。
综上,通过上述实施方式,在确定结构日志的基础上,通过对结构日志进行进一步的分析,从而自上而下的方式对目标任务在业务系统中异常执行的信息进行定位,提升了日志对业务逻辑分析的分析效率,避免了人力资源的大量消耗。
在一个示例性实施例中,对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之前,所述方法还包括:确定所述目标任务在所述业务系统中的实时运行数据;在所述实时运行数据指示所述目标任务已完成执行的情况下,允许发起对所述日志文件进行预设结构的数据处理,以根据处理结果确定所述目标任务在所述待分析的业务系统中运行后对应的目标日志;在所述实时运行数据指示所述目标任务未完成执行的情况下,禁止发起对所述日志文件进行预设结构的数据处理,并向所述待分析的业务系统对应的管理对象发送提示信息,其中,所述提示信息用于指示所述待分析的业务系统处理所述目标任务的业务逻辑出现异常。
可以理解的是,在对日志文件进行数据处理时,为了保证可以包括目标任务对应的所有日志数据,在准备将日志文件处理成结构日志之前,还可以通过获取目标任务对应的实时运行数据,确定目标任务在业务系统中的运行进度,避免日志文件不全导致的结构日志对应日志信息的缺失。
综上,通过上述实施方式,在监控目标任务执行进度的情况下,再进行结构日志的确定,保证了结构日志的完整性。
在一个示例性实施例中,对所述日志文件进行预设结构的数据处理,包括:使用异步数据读取方式获取所述日志文件中每一个日志事件对应的事件数据;识别所述事件数据中标识信息以及所述事件数据所在目标功能节点的模块信息,根据所述标识信息和所述模块信息对所述日志文件对应的多个事件数据进行分类;在完成所述分类的情况下,从所述日志文件中解析出至少三种类型的子日志文件;在解析出所述至少三种类型的子日志文件的情况下,确定对所述日志文件完成预设结构的数据处理。
在一个示例性实施例中,根据数据处理结果确定所述目标任务对应的结构日志,包括:使用所述至少三种类型的子日志文件对所述预设结构进行数据填充;在所述预设结构完成数据填充的情况下,根据完成填充的所述预设结构中的数据分布确定所述目标任务对应的结构日志。
在一个示例性实施例中,所述至少三种类型的子日志文件,包括:链路日志类型对应的第一子日志文件、模块日志类型对应的第二子日志文件、业务日志类型对应的第三子日志文件;其中,所述第一子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在N个功能模块上的执行数据;所述第二子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在所述N个功能模块上的节点运行数据;所述第三子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在所述N个功能模块之间存在的逻辑关系。
在一个示例性实施例中,使用所述至少三种类型的子日志文件对所述预设结构进行数据填充,包括:在所述预设结构为树形结构的情况下,根据所述标识信息确定为所述树形结构中的根节点对应的第一数据;根据所述第一子日志文件确定为所述树形结构中的第一层子节点对应的第二数据;根据所述第二子日志文件确定为所述树形结构中的第二层子节点对应的第三数据;根据所述第三子日志文件确定为所述树形结构中叶子节点对应的第四数据;在使用所述标识信息、所述第一子日志文件、所述第二子日志文件、所述第三子日志文件对所述树形结构完成填充的情况下,确定完成填充的树形结构对应的配置文件;根据所述配置文件生成所述目标任务对应目标日志。
作为一种可选的实施方式,日志解析模块以异步的形式读取已记录的日志,最终形成树形结构的日志记录。分为三种类型,分别为链路日志,代表一次完整业务流程,包含链路类型、链路元信息(DSL描述的各模块上下游关系)、链路开始/结束时间等;模块日志,代表一次完整业务流程中,所经过模块的基本信息,包含模块名称、模块执行状态、模块开始/结束时间等。业务日志,代表已执行模块中的业务日志信息,包含日志级别、日志时间、日志数据等。对日志记录模块记录的日志进行分类和聚合,通过每条日志包含的链路标识、节点标识,解析为包含链路日志、节点日志和业务日志三种日志的树形结构。其中,链路标识作为每个树形结构的根节点,链路日志为第一层子节点,节点日志作为第二层子节点,业务日志作为树形结构的叶子节点。
综上,通过上述实施方式,将每一次业务执行过程中的日志与业务逻辑关联起来,避免不同业务场景、业务逻辑之间的重叠、干扰,方便快速的筛选出异常链路的日志记录。将离散的日志记录通过链路标识与节点标识高效组织起来,以结构化的方式呈现出来,尽可能的通过日志记录还原业务逻辑执行的真实路径。
在一个示例性实施例中,对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之后,上述方法还包括:通过所述结构日志对所述待分析的业务系统执行所述目标任务的执行过程进行监控;在确定所述目标任务执行出现异常的情况下,通过所述结构日志中对应的异常日志信息定位所述待分析的业务系统中的异常业务逻辑。
在一个示例性实施例中,在确定所述目标任务执行出现异常的情况下,通过所述结构日志中对应的异常日志信息定位所述待分析的业务系统中的异常业务逻辑之后,上述方法还包括:在定位到所述待分析的业务系统中出现异常的业务逻辑的情况下,向所述待分析的业务系统关联的目标对象发送提示信息;通过所述提示信息指示所述目标对象对所述待分析的业务系统中的异常业务逻辑进行逻辑修复。
为了更好的理解上述结构日志的确定方法的过程,以下再结合可选实施例对上述结构日志的确定方法的实现流程进行说明,但不用于限定本申请实施例的技术方案。
在理解本申请的结构日志的确定方法的过程之前,现对相关技术进行缺陷说明:
传统的ELK方案需要开发者在编写代码时尽可能全地打印日志,再通过关键字段从ES中搜集筛选出与业务逻辑相关的日志数据,进而拼凑出业务执行的现场信息。然而该方案存在如下的痛点:
日志搜集繁琐:虽然ES提供了日志检索的能力,但是日志数据往往是缺乏结构性的文本段,很难快速完整地搜集到全部相关的日志。
日志筛选困难:不同业务场景、业务逻辑之间存在重叠,重叠逻辑打印的业务日志可能相互干扰,难以从中筛选出正确的关联日志。
日志分析耗时:搜集到的日志只是一条条离散的数据,只能阅读代码,再结合逻辑,由人工对日志进行串联分析,尽可能地还原出现场。
针对上述技术缺陷,本申请可选实施例中提出一种基于结构化日志的全局定位系统,上述结构日志的确定方法可以应用于如图4所示的一种基于结构化日志的全局定位系统中,图4是根据本申请实施例的一种可选的结构化日志的全局定位系统的结构示意图,包括:
业务拓扑42:首先对软件系统逻辑进行抽象,描述出业务逻辑,形成业务逻辑的全景图。业务拓扑的节点为系统中众多相互独立的逻辑单元,可以是本地方法,也可以是RPC等远程调用方法。通过业务拓扑能完整描述某一次业务执行的实际路径,同时作为载体对业务日志进行结构化组织。可以使用DSL(Domain Specific Language)以JSON格式描述业务拓扑节点之间的上下游关系,包括串行、并行、条件分支等。
日志记录模块44:系统使用该模块进行日志记录。每条日志记录都有两种标识,分别为链路标识与节点标识。其中链路标识在每次业务全流程中保持不变,能够标识本次业务请求在业务拓扑的实际路径,节点标识表示本次请求在业务拓扑中经过的具体节点(本地方法或者RPC远程调用方法),通过链路标识与节点标识将业务请求经过的具体模块串联起来,形成一次完整的链路。日志记录也分为两种类型,分别为模块日志与业务日志。其中模块日志的作用是绘制业务拓扑中已执行的节点,记录了模块的开始、结束、输入、输出;业务日志的作用是展示拓扑中节点内业务逻辑的执行情况,记录了任何对业务逻辑起到解释作用的数据,包括与上下游交互的入参出参、复杂逻辑的中间变量、逻辑执行抛出的异常。
日志解析模块46:对日志记录模块记录的日志进行分类和聚合,通过每条日志包含的链路标识、节点标识,解析为包含链路日志、节点日志和业务日志三种日志的树形结构。其中链路标识作为每个树形结构的根节点,链路日志为第一层子节点,节点日志作为第二层子节点,业务日志作为树形结构的叶子节点。
作为一种可选的实施方式,本申请可选实施例还提供一种基于结构化日志的全局定位方法,具体包括以下流程:
步骤1、将系统按照业务逻辑抽象成多个模块,每个模块完成一定的功能,可以是本地方法,也可以是RPC远程调用方法,模块之间存在串行、并行、条件分支等执行关系,作为节点组成业务逻辑的全景图。使用DSL(Domain Specific Language)以JSON的格式描述各个模块之间的上下游关系,定义出一系列节点的组合关系,
步骤2、通过在模块之间透传链路标识(用户标识UserID+业务标识BussinessID+执行标识TraceID联合组成),明确程序逻辑实际在哪条链路执行,执行到了哪个节点。例如在图3业务拓扑中,当A节点触发执行,则开始在后续链路和节点中传递链路标识,随着业务流程的执行,逐步完成整个业务流程的确认。当标识传递至E节点时,则表示D条件分支的判断结果是true。
步骤3、程序执行过程中,记录两种类型日志,一种是业务日志,在模块内部执行过程中记录,记录程序的执行情况,如上下游交互的入参出参、复杂逻辑的中间变量、代码执行抛出的异常等。另一类是模块日志,记录了模块的开始、结束、输入、输出,作用是绘制链路中的已执行节点,可以使用AOP方式以注解的形式实现。图4是根据本申请实施例的一种模块内部记录日志的示意图。
步骤4、日志解析模块以异步的形式读取已记录的日志,最终形成树形结构的日志记录。分为三种类型,分别为链路日志,代表一次完整业务流程,包含链路类型、链路元信息(DSL描述的各模块上下游关系)、链路开始/结束时间等;模块日志,代表一次完整业务流程中,所经过模块的基本信息,包含模块名称、模块执行状态、模块开始/结束时间等。业务日志,代表已执行模块中的业务日志信息,包含日志级别、日志时间、日志数据等。
可选的,图5是根据本申请实施例的一种树形结构的日志的示意图。
步骤5、出现问题需要进行日志分析时,首先可以根据业务标识(BussinessID)查询该业务所有的链路执行情况,筛选出现异常的执行链路;其次,可以通过某一次业务逻辑的链路标识,同时展示各个节点的执行情况;最后,可以查询任意已执行节点的详情,包括节点输入、输出,以及节点执行过程中的关键业务日志。通过这三个步骤,既可以从全局视角查看所有业务逻辑的执行情况,又可以深入到某一次具体业务的逻辑链路及具体模块内部查看详细的业务日志。
也就是说,通过上述实施方式,将将系统业务以逻辑单元的形式进行拆分,按照DSL的语言描述成JSON格式的配置文件,能够用来表示各单元之间的执行关系,如串行、并行、条件分支等。业务执行过程中,通过全局的链路标识表示某一次完整的业务流程执行过程,通过模块标识表示在某一个模块或者函数内的执行过程。通过链路标识与模块标识结合,与已定义的链路拓扑进行结合,可以明确标识某一次业务执行过程中的执行路径与所经过的模块,以确定业务逻辑的真实路径;通过模块标识可以查询到某一路径内该模块的执行过程,以便筛选该模块的执行时间、异常信息等内容。将日志以树形结构的形式保存为三种类型的日志记录,分别为链路日志,代表一次完整业务流程;节点日志,代表一次完整业务流程中,所经过的模块日志;业务日志,代表常规的日志,记录了程序执行过程中的变量信息及堆栈信息等内容。通过树形结构的三种类型日志,能够以自上而下的方式对异常的链路或者模块进行定位与分析。
综上,上述可选实施方案,通过将每一次业务执行过程中的日志与业务逻辑关联起来,避免不同业务场景、业务逻辑之间的重叠、干扰,方便快速的筛选出异常链路的日志记录。将离散的日志记录通过链路标识与模块标识高效组织起来,以结构化的方式呈现出来,尽可能的通过日志记录还原业务逻辑执行的真实路径。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种结构日志的确定装置,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的结构日志的确定装置的结构框图,如图6所示,该系统包括:
构建模块62,用于构建待分析的业务系统的业务拓扑图,其中,所述业务拓扑图包括N个功能节点,所述N个功能节点与N个子逻辑一一对应,所述N个子逻辑组成所述待分析的业务系统对应的业务逻辑;
标识模块64,用于在所述待分析的业务系统执行目标任务的情况下,确定在执行所述目标任务过程中调用的M个子逻辑,并在所述业务拓扑图中标识与所述M个子逻辑匹配的M个目标功能节点,得到所述目标任务在所述业务拓扑图中的执行路径;
生成模块66,用于根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件;其中,所述M小于等于N,M、N为正整数;
处理模块68,用于对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志。
通过上述模块,将待分析的业务系统以功能节点为单元的形式拆分,在完成拆分之后,根据不同功能节点之间的逻辑关系,构建待分析的业务系统的业务拓扑图,并在使用待分析的业务系统执行目标任务的情况下,利用业务拓扑图确定目标任务在业务系统执行时应用的目标功能节点,并确定出相应的执行路径,基于执行路径、目标功能节点对应的目标逻辑进行日志记录,从而明确目标任务在业务系统中执行时的执行过程,并根据预设结构对记录得到的日志文件进行处理,生成目标任务对应的结构日志,通过结构日志实现对目标任务对应日志信息的结构化存储,因此,可以解决相关技术中无法对日志数据进行结构化描述,导致使用日志数据进行业务逻辑分析的效率低下,需要消耗大量的人力资源的问题,达到将日志信息与业务系统的业务逻辑关联起来,避免不同业务场景、业务逻辑之间的重叠、干扰,将离散的日志文件高效的组织起来进行结构化呈现的效果。
在一个示例性实施例中,上述装置还包括:传递模块,用于根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件之前,获取所述目标任务对应的标识信息,其中,所述标识信息包括以下至少之一:发起所述目标任务的目标对象的对象标识、所述目标任务对应的任务标识、所述目标任务的执行标识;将所述标识信息从所述M个目标功能节点中的第一个目标功能节点向第M个目标功能节点进行传递。
在一个示例性实施例中,上述生成模块,还用于确定所述M个目标功能节点中每一个目标功能节点对于所述目标任务的执行数据和所述每一个目标功能节点在执行所述目标任务时对应的节点运行数据;根据所述执行数据和所述节点运行数据确定所述每一个目标功能节点对应的子日志文件;确定所述目标任务从第一个目标功能节点至所述执行路径中的第Q个目标功能节点已完成执行的情况下,汇总所有所述子日志文件,得到所述目标任务在业务系统中执行的日志文件;其中,0≤Q≤M,所述第Q个目标功能节点为所述执行路径上最后一个目标功能节点。
在一个示例性实施例中,上述装置还包括:存储模块,用于对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之后,将所述结构日志存储在所述待分析的业务系统对应的日志存储空间;筛选模块,用于在获取到目标对象在与所述待分析的业务系统关联的目标终端上输入的异常标识信息的情况下,从所述日志存储空间中存储的所有日志中筛选出所述异常标识信息匹配的目标结构日志;分析模块,用于对所述目标结构日志执行内容分析,并根据分析结果确定所述待分析的业务系统是否存在异常。
在一个示例性实施例中,上述分析模块,还用于确定所述目标结构日志对应的所有执行链路,其中,所述执行链路包括至少一条执行路径;确定所述所有执行链路中每一个链路节点之间传递的标识信息是否相同;在识别到所述所有执行链路中存在异常标识信息的目标执行链路的情况下,确定所述待分析的业务系统存在异常。
在一个示例性实施例中,上述分析模块,还用于在确定所述所有执行链路中每一个链路节点之间传递的标识信息是否相同之后,在识别到所述所有执行链路中不存在异常标识信息的目标执行链路的情况下,查阅所述所有执行链路中每一个链路节点对应的子日志文件;在所述子日志文件存在异常记录的情况下,确定所述待分析的业务系统存在异常。
在一个示例性实施例中,上述分析模块,还包括:标注单元,用于在识别到所述目标执行链路或异常记录的情况下,确定所述目标执行链路或所述异常记录在所述目标结构日志中对应的日志内容;对所述日志内容添加标注信息,其中,所述标注信息为预设格式的提示消息。
在一个示例性实施例中,上述装置还包括:确定模块,用于在对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之前,确定所述目标任务在所述业务系统中的实时运行数据;在所述实时运行数据指示所述目标任务已完成执行的情况下,允许发起对所述日志文件进行预设结构的数据处理,以根据处理结果确定所述目标任务在所述待分析的业务系统中运行后对应的目标日志;在所述实时运行数据指示所述目标任务未完成执行的情况下,禁止发起对所述日志文件进行预设结构的数据处理,并向所述待分析的业务系统对应的管理对象发送提示信息,其中,所述提示信息用于指示所述待分析的业务系统处理所述目标任务的业务逻辑出现异常。
在一个示例性实施例中,上述处理模块,还用于使用异步数据读取方式获取所述日志文件中每一个日志事件对应的事件数据;识别所述事件数据中标识信息以及所述事件数据所在目标功能节点的模块信息,根据所述标识信息和所述模块信息对所述日志文件对应的多个事件数据进行分类;在完成所述分类的情况下,从所述日志文件中解析出至少三种类型的子日志文件;在解析出所述至少三种类型的子日志文件的情况下,确定对所述日志文件完成预设结构的数据处理。
在一个示例性实施例中,上述处理模块,还用于使用所述至少三种类型的子日志文件对所述预设结构进行数据填充;在所述预设结构完成数据填充的情况下,根据完成填充的所述预设结构中的数据分布确定所述目标任务对应的结构日志。
在一个示例性实施例中,上述至少三种类型的子日志文件,包括:链路日志类型对应的第一子日志文件、模块日志类型对应的第二子日志文件、业务日志类型对应的第三子日志文件;其中,所述第一子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在N个功能模块上的执行数据;所述第二子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在所述N个功能模块上的节点运行数据;所述第三子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在所述N个功能模块之间存在的逻辑关系。
在一个示例性实施例中,上述处理模块,还用于在所述预设结构为树形结构的情况下,根据所述标识信息确定为所述树形结构中的根节点对应的第一数据;根据所述第一子日志文件确定为所述树形结构中的第一层子节点对应的第二数据;根据所述第二子日志文件确定为所述树形结构中的第二层子节点对应的第三数据;根据所述第三子日志文件确定为所述树形结构中叶子节点对应的第四数据;在使用所述标识信息、所述第一子日志文件、所述第二子日志文件、所述第三子日志文件对所述树形结构完成填充的情况下,确定完成填充的树形结构对应的配置文件;根据所述配置文件生成所述目标任务对应目标日志。
在一个示例性实施例中,上述装置还包括:定位模块,用于在对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之后,通过所述结构日志对所述待分析的业务系统执行所述目标任务的执行过程进行监控;在确定所述目标任务执行出现异常的情况下,通过所述结构日志中对应的异常日志信息定位所述待分析的业务系统中的异常业务逻辑。
在一个示例性实施例中,上述装置还包括:修复模块,用于在确定所述目标任务执行出现异常的情况下,通过所述结构日志中对应的异常日志信息定位所述待分析的业务系统中的异常业务逻辑之后,在定位到所述待分析的业务系统中出现异常的业务逻辑的情况下,向所述待分析的业务系统关联的目标对象发送提示信息;通过所述提示信息指示所述目标对象对所述待分析的业务系统中的异常业务逻辑进行逻辑修复。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
图7示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。如图7所示,计算机系统800包括中央处理器801(Central Processing Unit,CPU),其可以根据存储在只读存储器802(Read-Only Memory,ROM)中的程序或者从存储部分808加载到随机访问存储器803(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器803中,还存储有系统操作所需的各种程序和数据。中央处理器801、在只读存储器802以及随机访问存储器803通过总线804彼此相连。输入/输出接口805(Input /Output接口,即I/O接口)也连接至总线804。
以下部件连接至输入/输出接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至输入/输出接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理器801执行时,执行本申请的系统中限定的各种功能。
需要说明的是,图7示出的电子设备的计算机系统800仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种结构日志的确定方法,其特征在于,包括:
构建待分析的业务系统的业务拓扑图,其中,所述业务拓扑图包括N个功能节点,所述N个功能节点与N个子逻辑一一对应,所述N个子逻辑组成所述待分析的业务系统对应的业务逻辑;
在所述待分析的业务系统执行目标任务的情况下,确定在执行所述目标任务过程中调用的M个子逻辑,并在所述业务拓扑图中标识与所述M个子逻辑匹配的M个目标功能节点,得到所述目标任务在所述业务拓扑图中的执行路径;
根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件;其中,所述M小于等于N,M、N为正整数;
对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志;
其中,所述对所述日志文件进行预设结构的数据处理,包括:
使用异步数据读取方式获取所述日志文件中每一个日志事件对应的事件数据;
识别所述事件数据中标识信息以及所述事件数据所在目标功能节点的模块信息,根据所述标识信息和所述模块信息对所述日志文件对应的多个事件数据进行分类;
在完成所述分类的情况下,从所述日志文件中解析出至少三种类型的子日志文件;
在解析出所述至少三种类型的子日志文件的情况下,确定对所述日志文件完成预设结构的数据处理;
其实,所述根据数据处理结果确定所述目标任务对应的结构日志,包括:
使用所述至少三种类型的子日志文件对所述预设结构进行数据填充;
在所述预设结构完成数据填充的情况下,根据完成填充的所述预设结构中的数据分布确定所述目标任务对应的结构日志。
2.根据权利要求1所述的方法,其特征在于,根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件之前,所述方法还包括:
获取所述目标任务对应的标识信息,其中,所述标识信息包括以下至少之一:发起所述目标任务的目标对象的对象标识、所述目标任务对应的任务标识、所述目标任务的执行标识;
将所述标识信息从所述M个目标功能节点中的第一个目标功能节点向第M个目标功能节点进行传递。
3.根据权利要求2所述的方法,其特征在于,根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件,包括:
确定所述M个目标功能节点中每一个目标功能节点对于所述目标任务的执行数据和所述每一个目标功能节点在执行所述目标任务时对应的节点运行数据;
根据所述执行数据和所述节点运行数据确定所述每一个目标功能节点对应的子日志文件;
确定所述目标任务从第一个目标功能节点至所述执行路径中的第Q个目标功能节点已完成执行的情况下,汇总所有所述子日志文件,得到所述目标任务在业务系统中执行的日志文件;其中,0≤Q≤M,所述第Q个目标功能节点为所述执行路径上最后一个目标功能节点。
4.根据权利要求1所述的方法,其特征在于,对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之后,所述方法还包括:
将所述结构日志存储在所述待分析的业务系统对应的日志存储空间;
在获取到目标对象在与所述待分析的业务系统关联的目标终端上输入的异常标识信息的情况下,从所述日志存储空间中存储的所有日志中筛选出与所述异常标识信息匹配的目标结构日志;
对所述目标结构日志执行内容分析,并根据分析结果确定所述待分析的业务系统是否存在异常。
5.根据权利要求4所述的方法,其特征在于,对所述目标结构日志执行内容分析,并根据分析结果确定所述待分析的业务系统是否存在异常,包括:
确定所述目标结构日志对应的所有执行链路,其中,所述执行链路包括至少一条执行路径;
确定所述所有执行链路中每一个链路节点之间传递的标识信息是否相同;
在识别到所述所有执行链路中存在异常标识信息的目标执行链路的情况下,确定所述待分析的业务系统存在异常。
6.根据权利要求5所述的方法,其特征在于,确定所述所有执行链路中每一个链路节点之间传递的标识信息是否相同之后,所述方法还包括:
在识别到所述所有执行链路中不存在异常标识信息的目标执行链路的情况下,查阅所述所有执行链路中每一个链路节点对应的子日志文件;
在所述子日志文件存在异常记录的情况下,确定所述待分析的业务系统存在异常。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
在识别到所述目标执行链路或异常记录的情况下,确定所述目标执行链路或所述异常记录在所述目标结构日志中对应的日志内容;
对所述日志内容添加标注信息,其中,所述标注信息为预设格式的提示消息。
8.根据权利要求1所述的方法,其特征在于,对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之前,所述方法还包括:
确定所述目标任务在所述业务系统中的实时运行数据;
在所述实时运行数据指示所述目标任务已完成执行的情况下,允许发起对所述日志文件进行预设结构的数据处理,以根据处理结果确定所述目标任务在所述待分析的业务系统中运行后对应的目标日志;
在所述实时运行数据指示所述目标任务未完成执行的情况下,禁止发起对所述日志文件进行预设结构的数据处理,并向所述待分析的业务系统对应的管理对象发送提示信息,其中,所述提示信息用于指示所述待分析的业务系统处理所述目标任务的业务逻辑出现异常。
9.根据权利要求1所述的方法,其特征在于,所述至少三种类型的子日志文件,包括:
链路日志类型对应的第一子日志文件、模块日志类型对应的第二子日志文件、业务日志类型对应的第三子日志文件;
其中,所述第一子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在N个功能节点上的执行数据;
所述第二子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在所述N个功能节点上的节点运行数据;
所述第三子日志文件用于指示所述目标任务在所述待分析的业务系统运行时在所述N个功能节点之间存在的逻辑关系。
10.根据权利要求9所述的方法,其特征在于,使用所述至少三种类型的子日志文件对所述预设结构进行数据填充,包括:
在所述预设结构为树形结构的情况下,根据所述标识信息确定所述树形结构中的根节点对应的第一数据;
根据所述第一子日志文件确定所述树形结构中的第一层子节点对应的第二数据;
根据所述第二子日志文件确定所述树形结构中的第二层子节点对应的第三数据;
根据所述第三子日志文件确定所述树形结构中叶子节点对应的第四数据;
在使用所述标识信息、所述第一子日志文件、所述第二子日志文件、所述第三子日志文件对所述树形结构完成填充的情况下,确定完成填充的树形结构对应的配置文件;
根据所述配置文件生成所述目标任务对应目标日志。
11.根据权利要求1所述的方法,其特征在于,对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志之后,所述方法还包括:
通过所述结构日志对所述待分析的业务系统执行所述目标任务的执行过程进行监控;
在确定所述目标任务执行出现异常的情况下,通过所述结构日志中对应的异常日志信息定位所述待分析的业务系统中的异常业务逻辑。
12.根据权利要求11所述的方法,其特征在于,在确定所述目标任务执行出现异常的情况下,通过所述结构日志中对应的异常日志信息定位所述待分析的业务系统中的异常业务逻辑之后,所述方法还包括:
在定位到所述待分析的业务系统中出现异常的业务逻辑的情况下,向所述待分析的业务系统关联的目标对象发送提示信息;
通过所述提示信息指示所述目标对象对所述待分析的业务系统中的异常业务逻辑进行逻辑修复。
13.一种结构日志的确定装置,其特征在于,包括:
构建模块,用于构建待分析的业务系统的业务拓扑图,其中,所述业务拓扑图包括N个功能节点,所述N个功能节点与N个子逻辑一一对应,所述N个子逻辑组成所述待分析的业务系统对应的业务逻辑;
标识模块,用于在所述待分析的业务系统执行目标任务的情况下,确定在执行所述目标任务过程中调用的M个子逻辑,并在所述业务拓扑图中标识与所述M个子逻辑匹配的M个目标功能节点,得到所述目标任务在所述业务拓扑图中的执行路径;
生成模块,用于根据所述M个目标功能节点对应的目标逻辑和所述执行路径发起所述目标任务的日志记录,生成日志文件;其中,所述M小于等于N,M、N为正整数;
处理模块,用于对所述日志文件进行预设结构的数据处理,根据数据处理结果确定所述目标任务对应的结构日志;
所述处理模块,还用于使用异步数据读取方式获取所述日志文件中每一个日志事件对应的事件数据;识别所述事件数据中标识信息以及所述事件数据所在目标功能节点的模块信息,根据所述标识信息和所述模块信息对所述日志文件对应的多个事件数据进行分类;在完成所述分类的情况下,从所述日志文件中解析出至少三种类型的子日志文件;在解析出所述至少三种类型的子日志文件的情况下,确定对所述日志文件完成预设结构的数据处理;
所述处理模块,还用于使用所述至少三种类型的子日志文件对所述预设结构进行数据填充;在所述预设结构完成数据填充的情况下,根据完成填充的所述预设结构中的数据分布确定所述目标任务对应的结构日志。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至12任一项中所述的方法的步骤。
15.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311604437.1A CN117312101B (zh) | 2023-11-28 | 2023-11-28 | 结构日志的确定方法及装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311604437.1A CN117312101B (zh) | 2023-11-28 | 2023-11-28 | 结构日志的确定方法及装置、存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117312101A CN117312101A (zh) | 2023-12-29 |
CN117312101B true CN117312101B (zh) | 2024-02-27 |
Family
ID=89288779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311604437.1A Active CN117312101B (zh) | 2023-11-28 | 2023-11-28 | 结构日志的确定方法及装置、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312101B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590182A (zh) * | 2017-08-03 | 2018-01-16 | 华南理工大学 | 一种分布式日志收集方法 |
CN114968643A (zh) * | 2022-06-24 | 2022-08-30 | 长城汽车股份有限公司 | 链路分析方法、装置、电子设备、存储介质及车辆 |
CN115840687A (zh) * | 2022-11-28 | 2023-03-24 | 天翼电子商务有限公司 | 一种基于业务层面的可视化日志链路追踪方法及系统 |
-
2023
- 2023-11-28 CN CN202311604437.1A patent/CN117312101B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590182A (zh) * | 2017-08-03 | 2018-01-16 | 华南理工大学 | 一种分布式日志收集方法 |
CN114968643A (zh) * | 2022-06-24 | 2022-08-30 | 长城汽车股份有限公司 | 链路分析方法、装置、电子设备、存储介质及车辆 |
CN115840687A (zh) * | 2022-11-28 | 2023-03-24 | 天翼电子商务有限公司 | 一种基于业务层面的可视化日志链路追踪方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117312101A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11177999B2 (en) | Correlating computing network events | |
CN111443940A (zh) | 一种基于DevOps的完整软件生命周期管理方法及平台 | |
CN106357457B (zh) | 一种告警测试方法、装置以及系统 | |
CN110928772A (zh) | 一种测试方法及装置 | |
CN112800487B (zh) | 基于区块链的审计方法和系统 | |
CN111782534A (zh) | 一种业务流程的监控方法、装置及系统 | |
CN109460307A (zh) | 基于日志埋点的微服务调用跟踪方法及其系统 | |
CN114745295A (zh) | 数据采集方法、装置、设备和可读存储介质 | |
CN112017007A (zh) | 用户行为数据的处理方法及装置、计算机设备、存储介质 | |
CN106126419A (zh) | 一种应用程序的调试方法及装置 | |
CN114912255A (zh) | 在线仿真实验系统及方法 | |
CN112202647B (zh) | 区块链网络中的测试方法、装置及测试设备 | |
CN114185770A (zh) | 生成测试数据的方法、装置、计算机设备和存储介质 | |
CN113704077B (zh) | 测试用例生成方法及装置 | |
CN112559525A (zh) | 数据检查系统、方法、装置和服务器 | |
CN103218682A (zh) | 基于Web服务编排描述语言的多方协同业务流程监控系统 | |
CN117312101B (zh) | 结构日志的确定方法及装置、存储介质、电子设备 | |
CN114092246A (zh) | 金融交易链路的问题定位方法及装置 | |
CN113449166A (zh) | 数据采集方法、装置、设备及存储介质 | |
CN114706738A (zh) | 客户端自动埋点的方法及装置 | |
CN116931965B (zh) | 集成流处理方法、装置、电子设备及存储介质 | |
CN114205276B (zh) | 用于产品管理系统的性能测试方法及装置、电子设备 | |
CN114416210B (zh) | 一种决策流仿真方法、装置、介质和设备 | |
CN117453280B (zh) | 一种代码拓扑和业务拓扑生成方法、装置、设备及介质 | |
CN116881078A (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 |