CN112463163B - 一种实现对功能模块代码问题快速定位的方法及装置 - Google Patents
一种实现对功能模块代码问题快速定位的方法及装置 Download PDFInfo
- Publication number
- CN112463163B CN112463163B CN202011465888.8A CN202011465888A CN112463163B CN 112463163 B CN112463163 B CN 112463163B CN 202011465888 A CN202011465888 A CN 202011465888A CN 112463163 B CN112463163 B CN 112463163B
- Authority
- CN
- China
- Prior art keywords
- log
- code
- software
- abnormal
- module
- 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 42
- 230000002159 abnormal effect Effects 0.000 claims abstract description 57
- 238000012544 monitoring process Methods 0.000 claims abstract description 25
- 230000007488 abnormal function Effects 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 abstract description 2
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种实现对功能模块代码问题快速定位的方法及装置,所述方法:对软件各功能模块代码执行过程采用覆盖方式进行日志记录,并根据日志记录以功能模块为单位生成日志校验码;实时监控软件各功能模块代码执行过程的日志校验码,当日志校验码异常时,将异常日志校验码对应日志记录进行远程备份,存储异常日志记录;根据异常日志记录对软件各功能模块的代码问题进行定位。本发明通过详细的日志记录功能模块代码的整个运行流程,便于问题定位;对于详细日志,以覆盖的方式进行,节约了系统空间,而异常情况,做简单的日志快照功能,并将其异常日志保存下来同步到远端服务器,避免日志瀑布将有用信息冲掉,且在系统发生问题时,日志不会丢失。
Description
技术领域
本发明属于软件问题定位技术领域,具体涉及一种实现对功能模块代码问题快速定位的方法及装置。
背景技术
在产品的开发过程中,很多重要的代码功能模块在产品运行过程中极易出现问题。所以,对于这种重要的、易出错的并且独立的功能模块问题的快速定位,即如何开发一个很好的日志系统对问题进行根因定位显得极其重要。现有的日志记录方法是在容易出问题的关键点进行记录,但这种方式经过较长运行时间后,往往有效的日志信息会被覆盖掉,研发人员针对日志进行分析,不会得到有用信息,问题也就不会得到解决,而且这种方式记录的日志没有起到效果,可有可无。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种实现对功能模块代码问题快速定位的方法及装置,是非常有必要的。
发明内容
针对现有技术的上述现有基于日志定位软件问题的方式导致有效日志被覆盖,导致问题不会得到解决的缺陷,本发明提供一种实现对功能模块代码问题快速定位的方法及装置,以解决上述技术问题。
第一方面,本发明提供一种实现对功能模块代码问题快速定位的方法,包括如下步骤:
S1.对软件各功能模块代码执行过程采用覆盖方式进行日志记录,并根据日志记录以功能模块为单位生成日志校验码;
S2.实时监控软件各功能模块代码执行过程的日志校验码,当日志校验码异常时,将异常日志校验码对应日志记录进行远程备份,存储异常日志记录;
S3.根据异常日志记录对软件各功能模块的代码问题进行定位。通过覆盖方式进行日志记录,可对每个功能模块代码执行过程进行全方位详细记录,而不必担心存储问题,避免有用日志记录信息的缺失;通过日志校验码对异常日志记录进行识别备份,保证异常日志记录不会被覆盖掉。
进一步地,步骤S1具体步骤如下:
S11.对软件各功能模块代码进行分析,分别对各功能模块提取出典型参数;
S12.软件各功能模块代码按照设定顺序依次执行;
S13.按照各功能模块代码执行顺序采用覆盖方式进行日志记录,并将日志记录根据对应功能模块的典型参数,生成日志校验码。将各功能模块冗余出现问题的关键点参数设定为典型参数;各功能模块的日志记录的存储是有空间限制的,尤其是全方位详细的日志记录占用空间更大,通常情况下,日志记录是没有用的,所以采用覆盖方式进行记录,日志记录是否异常的判定通过日志校验码进行。
进一步地,步骤S13具体步骤如下:
S131.定位正在执行的软件功能模块代码;
S132.判断进行日志存储的磁盘是否已满;
若是,设置新的日志记录覆盖原有日志记录,进入步骤S133;
若否,进入步骤S133;
S133.对正在执行的软件功能模块代码进行日志记录,并根据典型参数为日志记录生成日志校验码。
进一步地,步骤S2具体步骤如下:
S21.实时监控正在执行的软件功能模块代码的日志校验码,判断日志校验码是否正常;
若是,进入步骤S23;
若否,进入步骤S22;
S22.判定当前日志记录为异常日志,对异常日志进行日志快照,并将日志快照同步到远端服务器的数据库;
S23.判断软件各功能模块是否执行完毕;
若是,进入步骤S3;
若否,执行下一个软件功能模块代码,返回步骤S131。对于通过日志校验码判定为异常的日志记录,需要追加保存到远端服务器的数据库,以便于后期进行功能模块问题定位。
进一步地,步骤S11中,根据需求对各功能模块提取出的典型参数,生成预设日志码;
步骤S21中,将日志校验码与预设日志码进行比较,判断日志校验码是否正常。而日志校验码是否异常是要与提前设好的预设日志码进行比较,预设日志码是根据典型参数正确的情形进行设置的,因此通过比较日志校验码与预设日志码可以判断出日志记录是否异常。
进一步地,步骤S3具体步骤如下:
S31.从远端服务器的数据库中提取出日志快照;
S32.定位日志快照对应的软件异常功能模块代码,分析异常功能模块代码的典型参数信息。对远端服务器存储的日志快照进行还原,从而定位出异常功能模块代码及其存在问题的关键参数点。
第二方面,本发明提供一种实现对功能模块代码问题快速定位的装置,包括:
覆盖日志记录及校验码生成模块,用于对软件各功能模块代码执行过程采用覆盖方式进行日志记录,并根据日志记录以功能模块为单位生成日志校验码;
校验码监控模块,用于实时监控软件各功能模块代码执行过程的日志校验码,当日志校验码异常时,将异常日志校验码对应日志记录进行远程备份,存储异常日志记录;
功能模块问题定位模块,用于根据异常日志记录对软件各功能模块的代码问题进行定位。
进一步地,覆盖日志记录及校验码生成模块包括:
典型参数提取单元,用于对软件各功能模块代码进行分析,分别对各功能模块提取出典型参数;
代码执行单元,用于设置软件各功能模块代码按照设定顺序依次执行;
日志记录及校验码生成单元,用于按照各功能模块代码执行顺序采用覆盖方式进行日志记录,并将日志记录根据对应功能模块的典型参数,生成日志校验码。
进一步地,校验码监控模块包括:
日志校验码监控单元,用于实时监控正在执行的软件功能模块代码的日志校验码,判断日志校验码是否正常;
日志快照单元,用于日志校验码异常时,判定当前日志记录为异常日志,对异常日志进行日志快照,并将日志快照同步到远端服务器的数据库;
软件执行判断单元,用于判断软件各功能模块是否执行完毕;
软件功能模块代码继续执行单元,用于软各功能模块未执行完毕时,执行下一个软件功能模块代码,重复进行日志记录及日志校验码生成。
进一步地,功能模块问题定位模块包括:
日志快照提取单元,用于从远端服务器的数据库中提取出日志快照;
典型参数信息分析单元,用于定位日志快照对应的软件异常功能模块代码,分析异常功能模块代码的典型参数信息。
本发明的有益效果在于,
本发明提供的实现对功能模块代码问题快速定位的方法及装置,能够详细的记录一个功能模块代码的整个运行流程,对于后期的问题定位有很大帮助;对于详细日志,日志以覆盖的方式进行,节约了系统空间,而异常情况,做简单的日志快照功能,并将其异常日志的日志快照保存下来同步到远端服务器,从而避免了日志瀑布将其有用信息冲掉,同时在系统发生问题时,日志不会丢失。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二;
图3是本发明的系统示意图;
图中,1-覆盖日志记录及校验码生成模块;1.1-典型参数提取单元;1.2-代码执行单元;1.3-日志记录及校验码生成单元;2-校验码监控模块;2.1-日志校验码监控单元;2.2-日志快照单元;2.3-软件执行判断单元;2.4-软件功能模块代码继续执行单元;3-功能模块问题定位模块;3.1-日志快照提取单元;3.2-典型参数信息分析单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种实现对功能模块代码问题快速定位的方法,包括如下步骤:
S1.对软件各功能模块代码执行过程采用覆盖方式进行日志记录,并根据日志记录以功能模块为单位生成日志返校验码;
S2.实时监控软件各功能模块代码执行过程的日志校验码,当日志校验码异常时,将异常日志校验码对应日志记录进行远程备份,存储异常日志记录;
S3.根据异常日志记录对软件各功能模块的代码问题进行定位。
实施例2:
如图2所示,本发明提供一种实现对功能模块代码问题快速定位的方法,包括如下步骤:
S1.对软件各功能模块代码执行过程采用覆盖方式进行日志记录,并根据日志记录以功能模块为单位生成日志校验码;具体步骤如下:
S11.对软件各功能模块代码进行分析,分别对各功能模块提取出典型参数;
S12.软件各功能模块代码按照设定顺序依次执行;
S13.按照各功能模块代码执行顺序采用覆盖方式进行日志记录,并将日志记录根据对应功能模块的典型参数,生成日志校验码;具体步骤如下:
S131.定位正在执行的软件功能模块代码;
S132.判断进行日志存储的磁盘是否已满;
若是,设置新的日志记录覆盖原有日志记录,进入步骤S133;
若否,进入步骤S133;
S133.对正在执行的软件功能模块代码进行日志记录,并根据典型参数为日志记录生成日志校验码;
S2.实时监控软件各功能模块代码执行过程的日志校验码,当日志校验码异常时,将异常日志校验码对应日志记录进行远程备份,存储异常日志记录;具体步骤如下:
S21.实时监控正在执行的软件功能模块代码的日志校验码,判断日志校验码是否正常;
若是,进入步骤S23;
若否,进入步骤S22;
S22.判定当前日志记录为异常日志,对异常日志进行日志快照,并将日志快照同步到远端服务器的数据库;
S23.判断软件各功能模块是否执行完毕;
若是,进入步骤S3;
若否,执行下一个软件功能模块代码,返回步骤S131;
S3.根据异常日志记录对软件各功能模块的代码问题进行定位;具体步骤如下:
S31.从远端服务器的数据库中提取出日志快照;
S32.定位日志快照对应的软件异常功能模块代码,分析异常功能模块代码的典型参数信息。
在某些实施例中,步骤S11中,根据需求对各功能模块提取出的典型参数,生成预设日志码;
步骤S21中,将日志校验码与预设日志码进行比较,判断日志校验码是否正常。
实施例3:
如图3所示,本发明提供一种实现对功能模块代码问题快速定位的装置,包括:
覆盖日志记录及校验码生成模块1,用于对软件各功能模块代码执行过程采用覆盖方式进行日志记录,并根据日志记录以功能模块为单位生成日志校验码;覆盖日志记录及校验码生成模块1包括:
典型参数提取单元1.1,用于对软件各功能模块代码进行分析,分别对各功能模块提取出典型参数;
代码执行单元1.2,用于设置软件各功能模块代码按照设定顺序依次执行;
日志记录及校验码生成单元1.3,用于按照各功能模块代码执行顺序采用覆盖方式进行日志记录,并将日志记录根据对应功能模块的典型参数,生成日志校验码;
校验码监控模块2,用于实时监控软件各功能模块代码执行过程的日志校验码,当日志校验码异常时,将异常日志校验码对应日志记录进行远程备份,存储异常日志记录;校验码监控模块2包括:
日志校验码监控单元2.1,用于实时监控正在执行的软件功能模块代码的日志校验码,判断日志校验码是否正常;
日志快照单元2.2,用于日志校验码异常时,判定当前日志记录为异常日志,对异常日志进行日志快照,并将日志快照同步到远端服务器的数据库;
软件执行判断单元2.3,用于判断软件各功能模块是否执行完毕;
软件功能模块代码继续执行单元2.4,用于软各功能模块未执行完毕时,执行下一个软件功能模块代码,重复进行日志记录及日志校验码生成;
功能模块问题定位模块3,用于根据异常日志记录对软件各功能模块的代码问题进行定位;功能模块问题定位模块3包括:
日志快照提取单元3.1,用于从远端服务器的数据库中提取出日志快照;
典型参数信息分析单元3.2,用于定位日志快照对应的软件异常功能模块代码,分析异常功能模块代码的典型参数信息。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (4)
1.一种实现对功能模块代码问题快速定位的方法,其特征在于,包括如下步骤:
S1.对软件各功能模块代码执行过程采用覆盖方式进行日志记录,并根据日志记录以功能模块为单位生成日志校验码;步骤S1具体步骤如下:
S11.对软件各功能模块代码进行分析,分别对各功能模块提取出典型参数;
S12.软件各功能模块代码按照设定顺序依次执行;
S13.按照各功能模块代码执行顺序采用覆盖方式进行日志记录,并将日志记录根据对应功能模块的典型参数,生成日志校验码;
S2.实时监控软件各功能模块代码执行过程的日志校验码,当日志校验码异常时,将异常日志校验码对应日志记录进行远程备份,存储异常日志记录;步骤S2具体步骤如下:
S21.实时监控正在执行的软件功能模块代码的日志校验码,判断日志校验码是否正常;
若是,进入步骤S23;
若否,进入步骤S22;
S22.判定当前日志记录为异常日志,对异常日志进行日志快照,并将日志快照同步到远端服务器的数据库;
S23.判断软件各功能模块是否执行完毕;
若是,进入步骤S3;
若否,执行下一个软件功能模块代码,返回步骤S131;
S3.根据异常日志记录对软件各功能模块的代码问题进行定位;步骤S3具体步骤如下:
S31.从远端服务器的数据库中提取出日志快照;
S32.定位日志快照对应的软件异常功能模块代码,分析异常功能模块代码的典型参数信息。
2.如权利要求1所述的实现对功能模块代码问题快速定位的方法,其特征在于,步骤S13具体步骤如下:
S131.定位正在执行的软件功能模块代码;
S132.判断进行日志存储的磁盘是否已满;
若是,设置新的日志记录覆盖原有日志记录,进入步骤S133;
若否,进入步骤S133;
S133.对正在执行的软件功能模块代码进行日志记录,并根据典型参数为日志记录生成日志校验码。
3.如权利要求2所述的实现对功能模块代码问题快速定位的方法,其特征在于,步骤S11中,根据需求对各功能模块提取出的典型参数,生成预设日志码;
步骤S21中,将日志校验码与预设日志码进行比较,判断日志校验码是否正常。
4.一种实现对功能模块代码问题快速定位的装置,其特征在于,包括:
覆盖日志记录及校验码生成模块(1),用于对软件各功能模块代码执行过程采用覆盖方式进行日志记录,并根据日志记录以功能模块为单位生成日志校验码;覆盖日志记录及校验码生成模块(1)包括:
典型参数提取单元(1.1),用于对软件各功能模块代码进行分析,分别对各功能模块提取出典型参数;
代码执行单元(1.2),用于设置软件各功能模块代码按照设定顺序依次执行;
日志记录及校验码生成单元(1.3),用于按照各功能模块代码执行顺序采用覆盖方式进行日志记录,并将日志记录根据对应功能模块的典型参数,生成日志校验码;
校验码监控模块(2),用于实时监控软件各功能模块代码执行过程的日志校验码,当日志校验码异常时,将异常日志校验码对应日志记录进行远程备份,存储异常日志记录;校验码监控模块(2)包括:
日志校验码监控单元(2.1),用于实时监控正在执行的软件功能模块代码的日志校验码,判断日志校验码是否正常;
日志快照单元(2.2),用于日志校验码异常时,判定当前日志记录为异常日志,对异常日志进行日志快照,并将日志快照同步到远端服务器的数据库;
软件执行判断单元(2.3),用于判断软件各功能模块是否执行完毕;
软件功能模块代码继续执行单元(2.4),用于软各功能模块未执行完毕时,执行下一个软件功能模块代码,重复进行日志记录及日志校验码生成;
功能模块问题定位模块(3),用于根据异常日志记录对软件各功能模块的代码问题进行定位;功能模块问题定位模块(3)包括:
日志快照提取单元(3.1),用于从远端服务器的数据库中提取出日志快照;
典型参数信息分析单元(3.2),用于定位日志快照对应的软件异常功能模块代码,分析异常功能模块代码的典型参数信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011465888.8A CN112463163B (zh) | 2020-12-14 | 2020-12-14 | 一种实现对功能模块代码问题快速定位的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011465888.8A CN112463163B (zh) | 2020-12-14 | 2020-12-14 | 一种实现对功能模块代码问题快速定位的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463163A CN112463163A (zh) | 2021-03-09 |
CN112463163B true CN112463163B (zh) | 2023-01-10 |
Family
ID=74804055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011465888.8A Active CN112463163B (zh) | 2020-12-14 | 2020-12-14 | 一种实现对功能模块代码问题快速定位的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463163B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168773A (zh) * | 2017-06-12 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种jvm崩溃后问题定位及应用恢复的处理方法及装置 |
-
2020
- 2020-12-14 CN CN202011465888.8A patent/CN112463163B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168773A (zh) * | 2017-06-12 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种jvm崩溃后问题定位及应用恢复的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112463163A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109343395B (zh) | 一种核电厂dcs操作日志的异常检测系统和方法 | |
CN107832196B (zh) | 一种用于实时日志异常内容的监测装置及监测方法 | |
CN111176879A (zh) | 设备的故障修复方法及装置 | |
CN101197621B (zh) | 一种对网管系统故障进行远程诊断定位的方法及其系统 | |
CN109614283B (zh) | 分布式数据库集群的监控系统 | |
CN104052634B (zh) | 信息安全监控系统及方法 | |
CN111463902A (zh) | 架空线路监控方法、系统、装置和服务器 | |
CN111814999A (zh) | 一种故障工单生成方法、装置、设备 | |
CN110784352A (zh) | 一种基于Oracle Goldengate的数据同步监控告警方法及装置 | |
CN104636242A (zh) | 一种基于Linux操作系统的系统日志自动删除重复内容的方法 | |
Gurumdimma et al. | Towards detecting patterns in failure logs of large-scale distributed systems | |
CN111046000A (zh) | 一种面向政府数据交换共享的安全监管元数据组织方法 | |
CN109582504A (zh) | 一种用于苹果设备的数据恢复方法和装置 | |
CN112395180A (zh) | 一种业务日志全链路跟踪的实现方法 | |
CN112733147A (zh) | 设备安全管理方法及系统 | |
CN112463163B (zh) | 一种实现对功能模块代码问题快速定位的方法及装置 | |
CN112444697A (zh) | 一种电力线路信息监测系统及方法 | |
CN116980285B (zh) | 基于数据处理的驻场运维智能检测响应方法、系统和介质 | |
CN117170724A (zh) | 用于检测业务异常的ai模型自动化更新方法、装置及设备 | |
CN115840656A (zh) | 一种基于故障自愈的应用程序自动化运维方法和系统 | |
CN113884976A (zh) | 一种基于云平台的智能电表数据保护方法、系统 | |
CN111343018B (zh) | 一种数据中心交换机告警日志采集的方法及装置 | |
CN110289977B (zh) | 物流仓库系统的故障检测方法及系统、设备和存储介质 | |
CN113328898A (zh) | 一种具有自主学习能力的故障诊断方法和系统 | |
CN107590647A (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 |