软件异常诊断方法、装置、电子设备及存储介质制造方法及图纸

技术编号:32608523 阅读:11 留言:0更新日期:2022-03-12 17:33
本发明专利技术实施例提供一种软件异常诊断方法、装置、电子设备及存储介质,方法包括:在检测到待诊断的软件访问请求后,根据所述待诊断的软件访问请求的日志级别确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统,若否,则根据软件异常诊断规则,对所述待诊断的软件访问请求的上下文数据进行异常诊断,并根据异常诊断结果确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统。本发明专利技术实施例使得开发者和运维人员可以根据异常诊断需求有针对性地设定软件异常诊断规则,进而可以精确控制软件异常诊断日志的输出,从而帮助开发者和运维人员快速精确的定位问题。帮助开发者和运维人员快速精确的定位问题。帮助开发者和运维人员快速精确的定位问题。

【技术实现步骤摘要】
软件异常诊断方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种软件异常诊断方法、装置、电子设备及存储介质。

技术介绍

[0002]计算机软件本身的缺陷或软件运行中异常的环境因素对软件的影响是不能够完全避免的,所以对软件运行过程中的异常诊断和处理一直都是软件开发中非常重要的一个方面。尤其是现在的互联网微服务架构需要提供高实时性,高并发,复杂业务等服务,因此,对于一些软件运行异常的快速诊断和处理就显得更为重要,直接决定着服务的质量。
[0003]现有的软件异常的诊断方法一般都是通过分级日志的方式,软件开发过程中会在代码处理逻辑中添加不同级别的日志打印逻辑用于开发调试,异常的诊断告警,错误处理等。但对于线上运行的服务,特别是业务量比较大的服务,一般不允许打印太多的日志,只允许打印异常的告警日志。可能开发者经常面对的情况是,线上服务有异常,但获取的日志太少不足以定位问题。而假设调低日志输出级别又会导致日志数据量很大,不太容易过滤出和问题相关的有用信息,这些情况都会影响问题诊断速度和效率。

技术实现思路

[0004]针对现有技术中的问题,本专利技术实施例提供一种软件异常诊断方法、装置、电子设备及存储介质。
[0005]具体地,本专利技术实施例提供了以下技术方案:
[0006]第一方面,本专利技术实施例提供了一种软件异常诊断方法,包括:
[0007]在检测到待诊断的软件访问请求后,根据所述待诊断的软件访问请求的日志级别确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统,若否,则根据软件异常诊断规则,对所述待诊断的软件访问请求的上下文数据进行异常诊断,并根据异常诊断结果确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统。
[0008]第二方面,本专利技术实施例还提供了一种软件异常诊断装置,包括:
[0009]第一确定模块,用于在检测到待诊断的软件访问请求后,根据所述待诊断的软件访问请求的日志级别确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统;
[0010]诊断模块,用于在所述第一确定模块根据所述待诊断的软件访问请求的日志级别确定不将与所述待诊断的软件访问请求对应的日志发送给日志系统时,根据软件异常诊断规则,对所述待诊断的软件访问请求的上下文数据进行异常诊断;
[0011]第二确定模块,用于根据异常诊断结果确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统。
[0012]第三方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所
述软件异常诊断方法的步骤。
[0013]第四方面,本专利技术实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述软件异常诊断方法的步骤。
[0014]第五方面,本专利技术实施例还提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现如第一方面所述软件异常诊断方法的步骤。
[0015]由上面技术方案可知,本专利技术实施例提供的软件异常诊断方法、装置、电子设备及存储介质,在检测到待诊断的软件访问请求后,根据所述待诊断的软件访问请求的日志级别确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统,若否,则根据软件异常诊断规则,对所述待诊断的软件访问请求的上下文数据进行异常诊断,并根据异常诊断结果确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统,由此可见,本专利技术实施例使得开发者和运维人员可以根据异常诊断需求有针对性地设定软件异常诊断规则,进而可以精确控制软件异常诊断日志的输出,从而帮助开发者和运维人员快速精确的定位问题。
附图说明
[0016]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本专利技术一实施例提供的软件异常诊断方法的流程图;
[0018]图2为本专利技术一实施例提供的软件访问抽象模型示意图;
[0019]图3为本专利技术一实施例提供的包含诊断策略模块的软件访问抽象模型示意图;
[0020]图4为本专利技术一实施例提供的诊断策略模块逻辑图;
[0021]图5为本专利技术一实施例提供的单条规则匹配检测逻辑示意流程图;
[0022]图6为本专利技术一实施例提供的诊断策略模块日志处理流程图;
[0023]图7为本专利技术一实施例提供的软件异常诊断装置的结构示意图;
[0024]图8为本专利技术一实施例提供的电子设备的结构示意图。
具体实施方式
[0025]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0026]在本实施例中,需要说明的是,当软件发生异常时,开发者或运维人员通常关心的是访问者在软件运行环境中操作被访问资源时的整个过程,从而发现其中的软件、数据或者运行环境的异常。当告警系统通知开发者或运维人员服务出现异常时,服务请求已经完成。异常诊断方法所要做的工作就是通过日志的方式根据规则匹配决策结果准确的记录整
个请求的过程快照,帮助开发者和运维人员还原服务访问的整个过程,从而快速定位并修复问题。
[0027]现有的软件异常的诊断方法一般都是通过分级日志的方式,软件开发过程中会在代码处理逻辑中添加不同级别的日志打印逻辑用于开发调试,异常的诊断告警,错误处理等。但对于线上运行的服务,特别是业务量比较大的服务,一般不允许打印太多的日志,只允许打印异常的告警日志。可能开发者经常面对的情况是,线上服务有异常,但获取的日志太少不足以定位问题。而假设调低日志输出级别又会导致日志数据量很大,不太容易过滤出和问题相关的有用信息,这些情况都会影响问题诊断速度和效率。为解决该问题,本专利技术实施例提供了一种软件异常诊断方法,本专利技术实施例在检测到待诊断的软件访问请求后,首先根据所述待诊断的软件访问请求的日志级别确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统,若否,则根据软件异常诊断规则,对所述待诊断的软件访问请求的上下文数据进行异常诊断,并根据异常诊断结果确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统,由此可见,本专利技术实施例使得开发者和运维人员可以根据异常诊断需求有针对性地设定软件异常诊断规则,进而可以精确控制软件异常诊断日志的输出,从而帮助开发者和运维人员快速精确的定位问题。下面将通过具体的实施例对本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件异常诊断方法,其特征在于,包括:在检测到待诊断的软件访问请求后,根据所述待诊断的软件访问请求的日志级别确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统,若否,则根据软件异常诊断规则,对所述待诊断的软件访问请求的上下文数据进行异常诊断,并根据异常诊断结果确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统。2.根据权利要求1所述的软件异常诊断方法,其特征在于,所述待诊断的软件访问请求的上下文数据包括所述待诊断的软件访问请求中包含的访问者、被访问资源、动作、环境和访问结果中的一种或多种数据;相应地,所述软件异常诊断规则为根据与待诊断的软件访问请求对应的软件异常诊断需求确定的规则;所述软件异常诊断需求包括:诊断一个或多个指定访问者,和/或,在一个或多个指定环境中,和/或,对一个或多个指定被访问资源,和/或,进行一种或多种指定动作的访问时是否出现异常。3.根据权利要求2所述的软件异常诊断方法,其特征在于,在根据软件异常诊断规则,对所述待诊断的软件访问请求的上下文数据进行异常诊断之前,所述方法还包括:根据所述软件异常诊断需求生成所述软件异常诊断规则:诊断一个或多个指定访问者,和/或,在一个或多个指定环境中,和/或,对一个或多个指定被访问资源,和/或,进行一种或多种指定动作的访问时是否出现异常的规则。4.根据权利要求2所述的软件异常诊断方法,其特征在于,在根据软件异常诊断规则,对所述待诊断的软件访问请求的上下文数据进行异常诊断之前,所述方法还包括:根据所述软件异常诊断需求从异常诊断规则库中获取与所述软件异常诊断需求匹配的异常诊断规则;所述异常诊断规则库中存储有诊断一个或多个指定访问者,和/或,在一个或多个指定环境中,和/或,对一个或多个指定被访问资源,和/或,进行一种或多种指定动作的访问时是否出现异常的规则。5.根据权利要求1所述的软件异常诊断方法,其特征在于,根据软件异常诊断规则,对所述待诊断的软件访问请求的上下文数据进行异常诊断,并根据异常诊断结果确定是否将与所述待诊断的软件访问请求对应的日志发送给日志系统,包括:将与所述待诊断的软件访问请求对应的日志进行缓存,并根据软件异常诊断规则,对所述待诊断的软件访问请求的上下文数据进行异常诊断,并在根据异常诊断结果确定所述待诊断的软件访问请求的上下文数据满足异常诊断规则时,将缓存的日志发送给日志系统,以及,在根据异常诊断结果确定所述待诊断的软件访问请求...

【专利技术属性】
技术研发人员:高波李翔
申请(专利权)人:网神信息技术北京股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1