CN115421783A - 一种基于日志的时序图构建方法及装置、存储介质 - Google Patents
一种基于日志的时序图构建方法及装置、存储介质 Download PDFInfo
- Publication number
- CN115421783A CN115421783A CN202211083429.2A CN202211083429A CN115421783A CN 115421783 A CN115421783 A CN 115421783A CN 202211083429 A CN202211083429 A CN 202211083429A CN 115421783 A CN115421783 A CN 115421783A
- Authority
- CN
- China
- Prior art keywords
- log
- time sequence
- sequence diagram
- target data
- timing
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及人工智能技术领域,公开了一种基于日志的时序图构建方法及装置、存储介质、计算机设备,该方法包括:当监控到任一功能被启用后,对与所述任一功能对应的接口请求以及接口返回参数进行拦截,并在拦截后添加日志时序全局标识;基于添加日志时序全局标识的接口请求以及接口返回参数生成日志文件,以使第二终端基于所述日志文件确定与所述时序图对应的目标数据,并依据所述目标数据构建并展示所述时序图。本申请实施例通过生成日志文件,后续第二终端可以根据带有日志时序全局标识的日志文件构建出与功能调用对应的时序图,有助于准确、快速地确定整个功能调用的时序图,帮助代码修改人员提升待修改代码的定位效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其是涉及到一种基于日志的时序图构建方法及装置、存储介质、计算机设备。
背景技术
随着业务更新速度越来越快,代码的修改频率也变得越来越高。如果代码修改人员并非代码编写人员,或者代码编写人员在代码编写较长时间后才对代码进行修改,那么在对代码进行修改时首先需要先对代码的整个业务逻辑进行整理,接着才能对理顺业务逻辑的代码进行修改。
当前工作人员在对代码的业务逻辑进行整理时,通常通过阅读整个代码来进行整理,这种方法一方面造成了大量的时间浪费,另一方面很容易导致业务逻辑整理出错,影响代码修改的效率和准确率。
发明内容
有鉴于此,本申请提供了一种基于日志的时序图构建方法及装置、存储介质、计算机设备,有助于准确、快速地确定整个功能调用的时序图,帮助代码修改人员提升待修改代码的定位效率。
根据本申请的一个方面,提供了一种基于日志的时序图构建方法,应用于第一终端,包括:
当监控到任一功能被启用后,对与所述任一功能对应的接口请求以及接口返回参数进行拦截,并在拦截后添加日志时序全局标识;
基于添加日志时序全局标识的接口请求以及接口返回参数生成日志文件,以使第二终端基于所述日志文件确定与所述时序图对应的目标数据,并依据所述目标数据构建并展示所述时序图。
根据本申请的另一方面,提供了一种基于日志的时序图构建方法,应用于第二终端,包括:
响应于时序图构建请求,确定所述时序图构建请求指示的日志时序全局标识;
基于所述日志时序全局标识,从第一终端获取与所述日志时序全局标识对应的目标日志文件,并依据所述目标日志文件确定与所述时序图对应的目标数据;
从所述目标数据中确定时序图原始数据,对所述时序图原始数据进行图形渲染,构建所述时序图,并对所述时序图进行展示。
根据本申请的另一方面,提供了一种基于日志的时序图构建装置,应用于第一终端,包括:
拦截模块,用于当监控到任一功能被启用后,对与所述任一功能对应的接口请求以及接口返回参数进行拦截,并在拦截后添加日志时序全局标识;
日志文件生成模块,用于基于添加日志时序全局标识的接口请求以及接口返回参数生成日志文件,以使第二终端基于所述日志文件确定与所述时序图对应的目标数据,并依据所述目标数据构建并展示所述时序图。
根据本申请的另一方面,提供了一种基于日志的时序图构建装置,应用于第二终端,包括:
标识确定模块,用于响应于时序图构建请求,确定所述时序图构建请求指示的日志时序全局标识;
文件获取模块,用于基于所述日志时序全局标识,从第一终端获取与所述日志时序全局标识对应的目标日志文件,并依据所述目标日志文件确定与所述时序图对应的目标数据;
渲染模块,用于从所述目标数据中确定时序图原始数据,对所述时序图原始数据进行图形渲染,构建所述时序图,并对所述时序图进行展示。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述基于日志的时序图构建方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于日志的时序图构建方法。
借由上述技术方案,本申请提供的一种基于日志的时序图构建方法及装置、存储介质、计算机设备,如果第一终端监控到某一功能被启用后,可以对该功能使用过程中出现的所有接口请求以及所有接口返回参数先进行拦截处理,并在拦截之后进行日志时序全局标识的添加操作。接着,可以以添加日志时序全局标识的接口请求,以及添加日志时序全局标识的接口返回参数为基础,生成日志文件。这样第二终端可以从第一终端中获取日志文件,并利用日志文件确定后续构建时序图时使用的目标数据,确定目标数据之后即可构建出时序图,还可以对时序图进行展示。本申请实施例通过生成日志文件,后续第二终端可以根据带有日志时序全局标识的日志文件构建出与功能调用对应的时序图,有助于准确、快速地确定整个功能调用的时序图,帮助代码修改人员提升待修改代码的定位效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种基于日志的时序图构建方法的流程示意图;
图2示出了本申请实施例提供的另一种基于日志的时序图构建方法的流程示意图;
图3示出了本申请实施例提供的另一种基于日志的时序图构建方法的流程示意图;
图4示出了本申请实施例提供的另一种基于日志的时序图构建方法的流程示意图;
图5示出了本申请实施例提供的一种基于日志的时序图构建装置的结构示意图;
图6示出了本申请实施例提供的另一种基于日志的时序图构建装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种基于日志的时序图构建方法,应用于第一终端,如图1所示,该方法包括:
步骤101,当监控到任一功能被启用后,对与所述任一功能对应的接口请求以及接口返回参数进行拦截,并在拦截后添加日志时序全局标识;
本申请实施例提供的基于日志的时序图构建方法,可以根据日志快速构建出时序图,大大提升了时序图构建的效率和准确性。本申请基于日志的时序图构建方法可以应用于第一终端,在这里,第一终端可以是服务器端。如果第一终端监控到某一功能被启用后,可以对该功能使用过程中出现的所有接口请求以及所有接口返回参数先进行拦截处理,并在拦截之后进行日志时序全局标识的添加操作。例如,当发现接口请求时,对接口请求进行拦截,并对拦截的接口请求添加日志时序全局标识,这样将接口请求发出时可以携带这个日志时序全局标识;同样地,当发现接口返回参数时,对接口返回参数进行拦截,并对拦截的接口返回参数添加日志时序全局标识,这样接口返回参数中也可以携带有日志时序全局标识。通过在接口请求和接口返回参数中添加日志时序全局标识,可以维护日志时序全局标识在系统与系统间的传递。这样做的目的就是当系统A调用系统B的时候,虽然是两个系统进行相互调用,但是整体来说还是一个功能流程中涉及的2个系统而已,因此一个功能流程下不管调用了多少个系统,这些被调用的系统应该都有相同的日志时序全局标识。针对同一功能来说,在功能的整个使用过程中,添加的日志时序全局标识都是相同的,这样可以快速区分哪些接口请求、接口返回参数属于同一功能启用过程中使用到的。其中,日志时序全局标识可以按照UUID(Universally Unique Identifier,通用唯一识别码)规则生成,也可以按照雪花算法生成,还可以按照redis号段模式生成。具体可以在功能被启用之后即生成日志时序全局标识。
步骤102,基于添加日志时序全局标识的接口请求以及接口返回参数生成日志文件,以使第二终端基于所述日志文件确定与所述时序图对应的目标数据,并依据所述目标数据构建并展示所述时序图。
在该实施例中,可以以添加日志时序全局标识的接口请求,以及添加日志时序全局标识的接口返回参数为基础,生成日志文件。这样第二终端可以从第一终端中获取日志文件,并利用日志文件确定后续构建时序图时使用的目标数据,确定目标数据之后即可构建出时序图,还可以对时序图进行展示。其中,第二终端可以是代码修改人员对应的PC终端等,代码修改人员可以根据第二终端构建的时序图迅速确定想要修改的代码在所有代码中所处的位置,从而提升代码修改效率和代码定位的准确率。
通过应用本实施例的技术方案,如果第一终端监控到某一功能被启用后,可以对该功能使用过程中出现的所有接口请求以及所有接口返回参数先进行拦截处理,并在拦截之后进行日志时序全局标识的添加操作。接着,可以以添加日志时序全局标识的接口请求,以及添加日志时序全局标识的接口返回参数为基础,生成日志文件。这样第二终端可以从第一终端中获取日志文件,并利用日志文件确定后续构建时序图时使用的目标数据,确定目标数据之后即可构建出时序图,还可以对时序图进行展示。本申请实施例通过生成日志文件,后续第二终端可以根据带有日志时序全局标识的日志文件构建出与功能调用对应的时序图,有助于准确、快速地确定整个功能调用的时序图,帮助代码修改人员提升待修改代码的定位效率。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种日志的时序图构建方法,应用于第一终端,如图2所示,该方法包括:
步骤201,当监控到任一功能被启用后,对与所述任一功能对应的接口请求以及接口返回参数进行拦截,并在拦截后添加日志时序全局标识;
本申请实施例提供的基于日志的时序图构建方法,可以根据日志快速构建出时序图,大大提升了时序图构建的效率和准确性。本申请基于日志的时序图构建方法可以应用于第一终端,在这里,第一终端可以是服务器端。如果第一终端监控到某一功能被启用后,可以对该功能使用过程中出现的所有接口请求以及所有接口返回参数先进行拦截处理,并在拦截之后进行日志时序全局标识的添加操作。例如,当发现接口请求时,对接口请求进行拦截,并对拦截的接口请求添加日志时序全局标识,这样将接口请求发出时可以携带这个日志时序全局标识;同样地,当发现接口返回参数时,对接口返回参数进行拦截,并对拦截的接口返回参数添加日志时序全局标识,这样接口返回参数中也可以携带有日志时序全局标识。通过在接口请求和接口返回参数中添加日志时序全局标识,可以维护日志时序全局标识在系统与系统间的传递。这样做的目的就是当系统A调用系统B的时候,虽然是两个系统进行相互调用,但是整体来说还是一个功能流程中涉及的2个系统而已,因此一个功能流程下不管调用了多少个系统,这些被调用的系统应该都有相同的日志时序全局标识。针对同一功能来说,在功能的整个使用过程中,添加的日志时序全局标识都是相同的,这样可以快速区分哪些接口请求、接口返回参数属于同一功能启用过程中使用到的。其中,日志时序全局标识可以按照UUID(Universally Unique Identifier,通用唯一识别码)规则生成,也可以按照雪花算法生成,还可以按照redis号段模式生成。具体可以在功能被启用之后即生成日志时序全局标识。
步骤202,基于添加日志时序全局标识的接口请求以及接口返回参数,生成与所述任一功能对应的日志;依据指定格式框架,对每条所述日志进行整理,并依据整理后的日志生成所述日志文件,以使第二终端基于所述日志文件确定与所述时序图对应的目标数据,并依据所述目标数据构建并展示所述时序图。
在该实施例中,在生成日志文件时,首先以添加日志时序全局标识的接口请求,以及添加日志时序全局标识的接口返回参数为基础,生成和上述功能使用过程相对应的日志。接着,可以对生成的日志进行格式整理,具体地,对生成的日志按照指定格式框架进行整理,进而生成与指定格式框架相一致的日志文件。例如,指定格式框架可以是:[年月日时分秒毫秒][系统名称][对方系统名称][线程名称][日志时序全局ID][系统局部线程ID][日志级别][日志内容],对生成的日志进行整理之后,可以生成与上述指定格式框架相对应的日志文件。后续第二终端可以从第一终端中获取日志文件,并利用日志文件确定后续构建时序图时使用的目标数据,确定目标数据之后即可构建出时序图。本申请实施例中将日志按照指定格式框架进行整理,不仅便于后续确定目标数据,同时在代码修改人员进行待修改代码的定位时,也能帮助代码修改人员快速定位待修改代码在整个代码中所处的位置。
在本申请实施例中,可选地,步骤202所述“依据指定格式框架,对每条所述日志进行整理”之前,所述方法还包括:获取预设格式框架,确定所述预设格式框架中包含的日志格式变量;通过指定格式变量更新所述日志格式变量,得到与所述预设格式框架对应的指定格式框架,所述指定格式变量包括日志生成时间、系统名称以及对方系统名称。
在该实施例中,在利用指定格式框架生成日志文件之前,可以先构建指定格式框架。首先可以获取预设格式框架,预设格式框架指的是正常情况下生成日志文件时使用的格式框架。获取预设格式框架之后,可以进一步确定预设格式框架中包含的日志格式变量,例如,预设格式框架为[年月日时分秒毫秒][日志级别][日志内容],那么[日志内容]之前的可以称之为日志格式变量,即[年月日时分秒毫秒][日志级别]。接着,可以利用指定格式变量对预设格式框架对应的日志格式变量进行更新,更新后即可得到与预设格式框架相对应的指定格式框架。例如,指定格式变量为[年月日时分秒毫秒][系统名称][对方系统名称][线程名称][日志时序全局ID][系统局部线程ID][日志级别],利用指定格式变量对日志格式变量进行更新之后,即可得到指定格式框架为:[年月日时分秒毫秒][系统名称][对方系统名称][线程名称][日志时序全局ID][系统局部线程ID][日志级别][日志内容]。为了后续方便根据日志文件进行目标数据的确定,因此指定格式变量中可以包括日志生成时间、系统名称、对方系统名称,此外,还可以包括其它信息。其中,日志生成时间可以是上面指定格式框架中的[年月日时分秒毫秒],对方系统名称指的是功能实现过程中调用的系统对应的名称。
在本实施例中提供了一种基于日志的时序图构建方法,应用于第二终端,如图3所示,该方法包括:
步骤301,响应于时序图构建请求,确定所述时序图构建请求指示的日志时序全局标识;
本申请实施例提供的基于日志的时序图构建方法,可以根据日志快速构建出时序图,大大提升了时序图构建的效率和准确性。本申请基于日志的时序图构建方法可以应用于第二终端,在这里,第二终端可以是代码修改人员对应的PC终端等,代码修改人员可以根据第二终端构建的时序图快速确定想要修改的代码在所有代码中所处的位置,从而提升代码修改效率和代码定位的准确率。当代码修改人员想要通过第二终端构建时序图时,首先可以通过触发第二终端上的相关图标等方式生成时序图构建请求,时序图构建请求中可以携带有日志时序全局标识。第二终端可以响应于该时序图构建请求,从时序图构建请求中确定指示的日志时序全局标识。具体地,代码修改人员可以在PC端展示的时序图构建页面上输入日志时序全局标识,接着点击确认,生成时序图构建请求。当代码修改人员想要修改某功能对应的代码时,为了能够拿到该功能启用后对应的日志文件以及日志时序全局标识,可以重新启用一次该功能。当代码修改人员启用该功能时,代码修改人员可以通过按下键盘的F12按钮,在显示的页面上找到日志时序全局标识。重新启用该功能之后,第一终端即可监控到该功能被启用,之后可以对该功能使用过程中对应的接口请求以及接口返回参数进行拦截、添加日志时序全局标识等操作,并生成日志文件。本申请实施例在构建与某功能对应的时序图时,通过再次启用该功能,可以快速确定与该功能启用对应的日志时序全局标识以及日志文件。
步骤302,基于所述日志时序全局标识,从第一终端获取与所述日志时序全局标识对应的目标日志文件,并依据所述目标日志文件确定与所述时序图对应的目标数据;
在该实施例中,确定日志时序全局标识之后,可以进一步以日志时序全局标识为基础,从第一终端中获取与该日志时序全局标识相对应的目标日志文件。接着,第二终端可以根据目标日志文件确定后续构建时序图需要的目标数据。
步骤303,从所述目标数据中确定时序图原始数据,对所述时序图原始数据进行图形渲染,构建所述时序图,并对所述时序图进行展示。
在该实施例中,确定目标数据之后,可以进一步从目标数据中确定时序图原始数据,即从目标数据中筛选出直接用于构建时序图的时序图原始数据,对这些时序图原始数据利用UI等工具进行图形渲染,使得这些时序图原始数据可以以图形的形式表示出来,从而构建出代码修改人员需要的时序图。第二终端还可以将该时序图展示出来,供代码修改人员进行查看。
通过应用本实施例的技术方案,第二终端可以响应于时序图构建请求,从时序图构建请求中确定指示的日志时序全局标识。确定日志时序全局标识之后,可以进一步以日志时序全局标识为基础,从第一终端中获取与该日志时序全局标识相对应的目标日志文件。接着,第二终端可以根据目标日志文件确定后续构建时序图需要的目标数据。确定目标数据之后,可以进一步从目标数据中确定时序图原始数据,即从目标数据中筛选出直接用于构建时序图的时序图原始数据,对这些时序图原始数据利用UI等工具进行图形渲染,使得这些时序图原始数据可以以图形的形式表示出来,从而构建出代码修改人员需要的时序图,第二终端还可以将该时序图展示出来。本申请实施例通过生成日志文件,后续第二终端可以根据带有日志时序全局标识的日志文件构建出与功能调用对应的时序图,有助于准确、快速地确定整个功能调用的时序图,帮助代码修改人员提升待修改代码的定位效率。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种日志的时序图构建方法,应用于第二终端,如图4所示,该方法包括:
步骤401,响应于时序图构建请求,确定所述时序图构建请求指示的日志时序全局标识;
本申请实施例提供的基于日志的时序图构建方法,可以根据日志快速构建出时序图,大大提升了时序图构建的效率和准确性。本申请基于日志的时序图构建方法可以应用于第二终端,在这里,第二终端可以是代码修改人员对应的PC终端等,代码修改人员可以根据第二终端构建的时序图快速确定想要修改的代码在所有代码中所处的位置,从而提升代码修改效率和代码定位的准确率。当代码修改人员想要通过第二终端构建时序图时,首先可以通过触发第二终端上的相关图标等方式生成时序图构建请求,时序图构建请求中可以携带有日志时序全局标识。第二终端可以响应于该时序图构建请求,从时序图构建请求中确定指示的日志时序全局标识。具体地,代码修改人员可以在PC端展示的时序图构建页面上输入日志时序全局标识,接着点击确认,生成时序图构建请求。当代码修改人员想要修改某功能对应的代码时,为了能够拿到该功能启用后对应的日志文件以及日志时序全局标识,可以重新启用一次该功能。当代码修改人员启用该功能时,代码修改人员可以通过按下键盘的F12按钮,在显示的页面上找到日志时序全局标识。重新启用该功能之后,第一终端即可监控到该功能被启用,之后可以对该功能使用过程中对应的接口请求以及接口返回参数进行拦截、添加日志时序全局标识等操作,并生成日志文件。本申请实施例在构建与某功能对应的时序图时,通过再次启用该功能,可以快速确定与该功能启用对应的日志时序全局标识以及日志文件。
步骤402,基于所述日志时序全局标识,从第一终端获取与所述日志时序全局标识对应的目标日志文件;
在该实施例中,确定日志时序全局标识之后,可以进一步以日志时序全局标识为基础,从第一终端中获取与该日志时序全局标识相对应的目标日志文件。
步骤403,依据所述目标日志文件中的每条日志对应的日志生成时间,对每条日志进行升序排列;
在该实施例中,获取目标日志文件之后,可以根据目标日志文件中每条日志对应的日志生成时间,对这些日志进行升序排列处理。具体地,可以将先生成的日志排列在前面,将后生成的日志排列在后面。
步骤404,依据每条日志对应的系统名称以及对方系统名称,从升序排列后的日志中确定所述目标数据;
在该实施例中,当对每条日志按照日志生成时间进行升序排列之后,接着可以根据每条日志对应的系统名称、日志对应的对方系统名称,进一步确定目标数据。
在本申请实施例中,可选地,步骤404包括:
步骤404-1,依据每条日志对应的系统名称以及对方系统名称,将升序排列后的日志划分为多组连续日志,每组连续日志中的每条日志对应的系统名称以及对方系统名称均相同;
在该实施例中,当每条日志按照日志生成时间进行升序排列之后,可以从升序排列之后的日志中进一步确定连续日志。在这里,当日志文件中连续多条日志对应的系统名称以及对方系统名称均相同,那么这些连续多条日志即为一组连续日志。例如,日志文件中前10条日志对应的系统名称以及对方系统名称从前至后分别为:[系统A][对方系统E]、[系统A][对方系统E]、[系统A][对方系统E]、[系统A][对方系统B]、[系统A][对方系统B]、[系统A][对方系统B]、[系统A][对方系统B]、[系统A][对方系统C]、[系统A][对方系统C]、[系统A][对方系统D]。那么第1条~第3条日志为第一组连续日志,第4条~第7条日志为第二组连续日志,第8条~第9条日志为第三组连续日志。
步骤404-2,从每组连续日志中提取首条日志,并基于各组连续日志对应的所述首条日志确定所述目标数据。
在该实施例中,从日志文件中确定各组连续日志之后,可以分别从每组连续日志中确定首条日志,将各组连续日志中的首条日志抽离出来组合在一起,从而确定后续用于构建时序图的目标数据。例如:日志文件中共有9条日志,其中,第1条~第3条日志为第一组连续日志,第4条~第7条日志为第二组连续日志,第8条~第9条日志为第三组连续日志,那么从第一组连续日志中抽出第1条日志,从第二组连续日志中抽出第4条日志,从第三组连续日志中抽出第8条日志,接着由第1条日志、第4条日志、第8条日志确定目标数据。
步骤405,从所述目标数据中确定时序图原始数据,对所述时序图原始数据进行图形渲染,构建所述时序图,并对所述时序图进行展示。
在该实施例中,确定目标数据之后,可以进一步从目标数据中确定时序图原始数据,即从目标数据中筛选出直接用于构建时序图的时序图原始数据,对这些时序图原始数据利用UI等工具进行图形渲染,使得这些时序图原始数据可以以图形的形式表示出来,从而构建出代码修改人员需要的时序图。第二终端还可以将该时序图展示出来,供代码修改人员进行查看。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种基于日志的时序图构建装置,应用于第一终端,如图5所示,该装置包括:
拦截模块,用于当监控到任一功能被启用后,对与所述任一功能对应的接口请求以及接口返回参数进行拦截,并在拦截后添加日志时序全局标识;
日志文件生成模块,用于基于添加日志时序全局标识的接口请求以及接口返回参数生成日志文件,以使第二终端基于所述日志文件确定与所述时序图对应的目标数据,并依据所述目标数据构建并展示所述时序图。
可选地,所述日志文件生成模块,包括:
日志生成单元,用于基于添加日志时序全局标识的接口请求以及接口返回参数,生成与所述任一功能对应的日志;
日志整理单元,用于依据指定格式框架,对每条所述日志进行整理,并依据整理后的日志生成所述日志文件。
可选地,所述方法还包括:
框架获取模块,用于所述依据指定格式框架,对每条所述日志进行整理之前,获取预设格式框架,确定所述预设格式框架中包含的日志格式变量;
变量更新模块,用于通过指定格式变量更新所述日志格式变量,得到与所述预设格式框架对应的指定格式框架,所述指定格式变量包括日志生成时间、系统名称以及对方系统名称。
进一步的,作为图3方法的具体实现,本申请实施例提供了一种基于日志的时序图构建装置,应用于第二终端,如图6所示,该装置包括:
标识确定模块,用于响应于时序图构建请求,确定所述时序图构建请求指示的日志时序全局标识;
文件获取模块,用于基于所述日志时序全局标识,从第一终端获取与所述日志时序全局标识对应的目标日志文件,并依据所述目标日志文件确定与所述时序图对应的目标数据;
渲染模块,用于从所述目标数据中确定时序图原始数据,对所述时序图原始数据进行图形渲染,构建所述时序图,并对所述时序图进行展示。
可选地,所述文件获取模块,包括:
排列单元,用于依据所述目标日志文件中的每条日志对应的日志生成时间,对每条日志进行升序排列;
目标数据确定单元,用于依据每条日志对应的系统名称以及对方系统名称,从升序排列后的日志中确定所述目标数据。
可选地,所述目标数据确定单元,用于:
依据每条日志对应的系统名称以及对方系统名称,将升序排列后的日志划分为多组连续日志,每组连续日志中的每条日志对应的系统名称以及对方系统名称均相同;从每组连续日志中提取首条日志,并基于各组连续日志对应的所述首条日志确定所述目标数据。
需要说明的是,本申请实施例提供的一种基于日志的时序图构建装置所涉及各功能单元的其他相应描述,可以参考图1至图4方法中的对应描述,在此不再赘述。
基于上述如图1至图4所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图4所示的基于日志的时序图构建方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1至图4所示的方法,以及图5至图6所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图4所示的基于日志的时序图构建方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。如果第一终端监控到某一功能被启用后,可以对该功能使用过程中出现的所有接口请求以及所有接口返回参数先进行拦截处理,并在拦截之后进行日志时序全局标识的添加操作。接着,可以以添加日志时序全局标识的接口请求,以及添加日志时序全局标识的接口返回参数为基础,生成日志文件。这样第二终端可以从第一终端中获取日志文件,并利用日志文件确定后续构建时序图时使用的目标数据,确定目标数据之后即可构建出时序图,还可以对时序图进行展示。本申请实施例通过生成日志文件,后续第二终端可以根据带有日志时序全局标识的日志文件构建出与功能调用对应的时序图,有助于准确、快速地确定整个功能调用的时序图,帮助代码修改人员提升待修改代码的定位效率。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种基于日志的时序图构建方法,应用于第一终端,其特征在于,包括:
当监控到任一功能被启用后,对与所述任一功能对应的接口请求以及接口返回参数进行拦截,并在拦截后添加日志时序全局标识;
基于添加日志时序全局标识的接口请求以及接口返回参数生成日志文件,以使第二终端基于所述日志文件确定与所述时序图对应的目标数据,并依据所述目标数据构建并展示所述时序图。
2.根据权利要求1所述的方法,其特征在于,所述基于添加日志时序全局标识的接口请求以及接口返回参数生成日志文件,包括:
基于添加日志时序全局标识的接口请求以及接口返回参数,生成与所述任一功能对应的日志;
依据指定格式框架,对每条所述日志进行整理,并依据整理后的日志生成所述日志文件。
3.根据权利要求2所述的方法,其特征在于,所述依据指定格式框架,对每条所述日志进行整理之前,所述方法还包括:
获取预设格式框架,确定所述预设格式框架中包含的日志格式变量;
通过指定格式变量更新所述日志格式变量,得到与所述预设格式框架对应的指定格式框架,所述指定格式变量包括日志生成时间、系统名称以及对方系统名称。
4.一种基于日志的时序图构建方法,应用于第二终端,其特征在于,包括:
响应于时序图构建请求,确定所述时序图构建请求指示的日志时序全局标识;
基于所述日志时序全局标识,从第一终端获取与所述日志时序全局标识对应的目标日志文件,并依据所述目标日志文件确定与所述时序图对应的目标数据;
从所述目标数据中确定时序图原始数据,对所述时序图原始数据进行图形渲染,构建所述时序图,并对所述时序图进行展示。
5.根据权利要求4所述的方法,其特征在于,所述依据所述目标日志文件确定与所述时序图对应的目标数据,包括:
依据所述目标日志文件中的每条日志对应的日志生成时间,对每条日志进行升序排列;
依据每条日志对应的系统名称以及对方系统名称,从升序排列后的日志中确定所述目标数据。
6.根据权利要求5所述的方法,其特征在于,所述依据每条日志对应的系统名称以及对方系统名称,从升序排列后的日志中确定所述目标数据,包括:
依据每条日志对应的系统名称以及对方系统名称,将升序排列后的日志划分为多组连续日志,每组连续日志中的每条日志对应的系统名称以及对方系统名称均相同;
从每组连续日志中提取首条日志,并基于各组连续日志对应的所述首条日志确定所述目标数据。
7.一种基于日志的时序图构建装置,应用于第一终端,其特征在于,包括:
拦截模块,用于当监控到任一功能被启用后,对与所述任一功能对应的接口请求以及接口返回参数进行拦截,并在拦截后添加日志时序全局标识;
日志文件生成模块,用于基于添加日志时序全局标识的接口请求以及接口返回参数生成日志文件,以使第二终端基于所述日志文件确定与所述时序图对应的目标数据,并依据所述目标数据构建并展示所述时序图。
8.一种基于日志的时序图构建装置,应用于第二终端,其特征在于,包括:
标识确定模块,用于响应于时序图构建请求,确定所述时序图构建请求指示的日志时序全局标识;
文件获取模块,用于基于所述日志时序全局标识,从第一终端获取与所述日志时序全局标识对应的目标日志文件,并依据所述目标日志文件确定与所述时序图对应的目标数据;
渲染模块,用于从所述目标数据中确定时序图原始数据,对所述时序图原始数据进行图形渲染,构建所述时序图,并对所述时序图进行展示。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211083429.2A CN115421783A (zh) | 2022-09-06 | 2022-09-06 | 一种基于日志的时序图构建方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211083429.2A CN115421783A (zh) | 2022-09-06 | 2022-09-06 | 一种基于日志的时序图构建方法及装置、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115421783A true CN115421783A (zh) | 2022-12-02 |
Family
ID=84202457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211083429.2A Pending CN115421783A (zh) | 2022-09-06 | 2022-09-06 | 一种基于日志的时序图构建方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115421783A (zh) |
-
2022
- 2022-09-06 CN CN202211083429.2A patent/CN115421783A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017084334A (ja) | 仮想マシンイメージファイルを抽出する方法および装置 | |
CN109672722B (zh) | 数据部署方法及装置、计算机存储介质和电子设备 | |
CN112956157B (zh) | 追踪客户端设备事件的系统和方法 | |
CN112925520A (zh) | 可视化页面的搭建方法、装置及计算机设备 | |
CN111078506A (zh) | 业务数据跑批任务监控方法及装置 | |
CN113704063A (zh) | 一种云手机的性能监控方法、装置、设备及存储介质 | |
CN112463634A (zh) | 微服务架构下的软件测试方法及装置 | |
CN112631911A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN111008032A (zh) | 一种页面数据更新方法及装置 | |
CN107368407B (zh) | 信息处理方法和装置 | |
CN111414191A (zh) | 一种小程序的灰度发布方法及装置 | |
CN112783796A (zh) | 单节点的测试方法、装置、计算机设备及可读存储介质 | |
CN110442439B (zh) | 任务进程处理方法、装置和计算机设备 | |
CN112423024A (zh) | 一种视频转码方法、装置、计算机设备和存储介质 | |
CN115421783A (zh) | 一种基于日志的时序图构建方法及装置、存储介质 | |
CN113485742B (zh) | 主机应用版本登记方法及装置 | |
CN115757639A (zh) | 数据源同步方法、装置、电子设备及存储介质 | |
CN111931465B (zh) | 基于用户操作自动生成用户手册的方法及系统 | |
CN114265655A (zh) | 云应用数据处理方法及装置、系统和存储介质 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN112685360A (zh) | 内存数据的持久化方法及装置、存储介质、计算机设备 | |
CN111953583A (zh) | 信息处理系统及方法,电子设备及计算机可读存储介质 | |
CN110572310A (zh) | 基于通讯录的驾考路线分享方法及终端、存储介质 | |
CN114970479B (zh) | 图表生成方法及装置 | |
CN115981857B (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 |