CN117608891A - 线上事故排查方法和装置、电子设备和存储介质 - Google Patents

线上事故排查方法和装置、电子设备和存储介质 Download PDF

Info

Publication number
CN117608891A
CN117608891A CN202311500066.2A CN202311500066A CN117608891A CN 117608891 A CN117608891 A CN 117608891A CN 202311500066 A CN202311500066 A CN 202311500066A CN 117608891 A CN117608891 A CN 117608891A
Authority
CN
China
Prior art keywords
target
name
accident
target method
accident investigation
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
Application number
CN202311500066.2A
Other languages
English (en)
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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202311500066.2A priority Critical patent/CN117608891A/zh
Publication of CN117608891A publication Critical patent/CN117608891A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种线上事故排查方法和装置、电子设备和存储介质,其中,该方法包括:获取来自于前端的事故排查请求;响应于所述事故排查请求,从Spring上下文中获取目标方法名称以及所述目标方法名称对应的参数类型列表,其中,所述目标方法名称用于指示待排查的方法;调用所述目标方法名称对应的目标方法,对按照所述参数类型列表输入的目标方法参数进行处理,得到所述目标方法对应的处理结果;基于所述处理结果确定出所述事故排查请求对应事故排查结果。通过本申请,解决了相关技术中存在的当无法找到线上事故对应的日志时,排查成本高且效率低下的技术问题。

Description

线上事故排查方法和装置、电子设备和存储介质
技术领域
本申请涉及故障排查技术领域,尤其涉及一种线上事故排查方法和装置、电子设备和存储介质。
背景技术
在Java Web系统里,如果线上发生事故,现有的排查解决的实现方式:当存在日志信息的情况下,则可通过查看日志信息,通过关键字从日志中找到事故发生的信息进行分析。但是,当日志信息太多或离发生故障已经过去一段时间时,关键日志信息存在无法找到的问题,此类情况下,则通过复现当时的事故发生的场景来进行事故的排查解决。
1、从源头开始,一步一步往下走,看方法的入参和出参是否满足预期。看流程走到某个节点是否会发生异常,此类方法经常存在想要看某个方法或接口的处理结果的时候,发现这个方法或接口的返回值没有打印出来,或者因担心打印日志太多,影响接口的性能,故没有打印日志。这个时候只有靠看代码进行分析方法的逻辑处理,增加了排查事故的难度。
2、从中间某个流程开始。问题定位到了某个环节的某个方法上,想要看这个方法的处理结果是否达到预期,发现日志没有打印返回值,且这个方法位于底层,没法将返回结果展示在浏览器中查看。这个时候只有修改代码,添加返回值日志输出,发布上线,看日志再分析。这延长了排查事故的时间。
综上所述,现有技术中存在如下问题:线上事故发生的时候,往往会遇到没有日志可寻的情况,因此需要调用某个方法或接口查看处理结果,但这个需要调用的方法或接口处于底层,只能通过修改代码,打印日志,或在上层写个RESTful接口调用底层方法,才能将结果呈现到浏览器中进行查看。这样的方式,排查成本高,而且效率比较低。
因此,相关技术中存在当无法找到线上事故对应的日志时,排查成本高且效率低下的技术问题。
发明内容
本申请提供了一种线上事故排查方法和装置、电子设备和存储介质,以至少解决相关技术中存在当无法找到线上事故对应的日志时,排查成本高且效率低下的技术问题。
根据本申请实施例的一个方面,提供了一种线上事故排查方法,包括:
获取来自于前端的事故排查请求;
响应于所述事故排查请求,从Spring上下文中获取目标方法名称以及所述目标方法名称对应的参数类型列表,其中,所述目标方法名称用于指示待排查的方法;
调用所述目标方法名称对应的目标方法,对按照所述参数类型列表输入的目标方法参数进行处理,得到所述目标方法对应的处理结果;
基于所述处理结果确定出所述事故排查请求对应事故排查结果。
可选地,如前述的方法,所述响应于所述事故排查请求,从Spring上下文中获取目标方法名称以及所述目标方法名称对应的参数类型列表,包括:
响应于所述事故排查请求,从Spring上下文中获取至少一个候选类实例名称;
确定出在所述至少一个候选类实例名称中被选择的目标类实例名称;
从所述Spring上下文中获取所述目标类实例名称对应的所述目标方法名称以及所述目标方法名称对应的所述参数类型列表。
可选地,如前述的方法,所述响应于所述事故排查请求,从Spring上下文中获取至少一个候选类实例名称,包括:
在首次接收到所述事故排查请求的情况下,从所述Spring上下文中装载类实例;
通过获取与所述Spring上下文中装载的每个类实例对应的候选类实例名称,得到所述至少一个候选类实例名称;
生成包括所述至少一个候选类实例名称的类实例名称列表。
可选地,如前述的方法,所述从所述Spring上下文中获取所述目标类实例名称对应的所述目标方法名称以及所述目标方法名称对应的所述参数类型列表,包括:
从所述Spring上下文中获取所述目标类实例名称对应的目标类实例;
获取所述目标类实例对应的目标方法的目标方法名称;
基于所述目标方法名称以及所述目标方法对应的参数类型列表生成方法名称列表;
将所述方法名称列表返回给所述前端。
可选地,如前述的方法,所述调用所述目标方法名称对应的目标方法,对按照所述参数类型列表输入的目标方法参数进行处理,得到所述目标方法对应的处理结果,包括:
通过Java反射机制,调用所述目标方法名称对应的所述目标方法;
将所述目标方法参数输入所述目标方法,得到所述目标方法对应的处理结果。
可选地,如前述的方法,所述基于所述处理结果确定出所述事故排查请求对应事故排查结果,包括:
在所述处理结果异常的情况下,判断所述处理结果是否符合所述事故排查请求所指示的目标事故类型;
在所述目标事故类型符合所述事故排查请求的情况下,确定出所述目标方法为事故起因的所述事故排查结果。
可选地,如前述的方法,在所述基于所述处理结果确定出所述事故排查请求对应事故排查结果之后,所述方法还包括:
在所述事故排查结果指示所述目标方法不是事故起因的情况下,基于所述事故排查请求的指定事故类型,在所有候选方法中确定出进行排查的指定方法,其中,所述指定方法出现异常的情况下,导致的事故类型包括所述指定事故类型。
根据本申请实施例的另一个方面,还提供了一种线上事故排查装置,包括:
获取模块,用于获取来自于前端的事故排查请求;
响应模块,用于响应于所述事故排查请求,从Spring上下文中获取待排查的目标方法对应的目标方法名称以及所述目标方法的参数类型列表;
处理模块,用于调用所述目标方法名称对应的目标方法,对按照所述参数类型列表输入的目标方法参数进行处理,得到所述目标方法对应的处理结果;
确定模块,用于基于所述处理结果确定出所述事故排查请求对应事故排查结果。
根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
在本申请实施例中,采用在获取事故排查请求之后,采用从Spring上下文中获取目标方法名称以及目标方法名称对应的参数类型列表,其中,目标方法名称用于指示待排查的方法;调用目标方法名称对应的目标方法,对按照参数类型列表输入的目标方法参数进行处理,得到目标方法对应的处理结果的方式,从而可以直接调用目标方法,获取目标方法的处理结果,便于之后基于处理结果来确定出事故排查结果;从而,通过本实施例的方法可以有效克服相关技术中存在的当无法找到线上事故对应的日志时,排查成本高且效率低下的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种可选的线上事故排查方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的线上事故排查方法的流程示意图;
图3是根据本申请实施例的另一种可选的线上事故排查方法的流程示意图;
图4是根据本申请应用例的一种可选的线上事故排查方法的流程示意图;
图5是根据本申请实施例的一种可选的线上事故排查装置的结构框图;
图6是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种线上事故排查方法。可选地,在本实施例中,上述线上事故排查方法可以应用于如图1所示的由终端1402和服务器1404所构成的硬件环境中。如图1所示,服务器1404通过网络与终端1402进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器1404提供数据存储服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端可以并不限定于为PC、手机、平板电脑等。
本申请实施例的线上事故排查方法可以由服务器来执行,也可以由终端来执行,还可以是由服务器和终端共同执行。其中,终端执行本申请实施例的线上事故排查方法也可以是由安装在其上的客户端来执行。
以由服务器来执行本实施例中的线上事故排查方法为例,图2为本申请实施例提供的一种线上事故排查方法,包括如下所述步骤:
步骤S101,获取来自于前端的事故排查请求。
本实施例中的线上事故排查方法可以应用于发生线上事故,且没有日志可循的情况下,排查事故发生的原因场景。
具体的,可以通过在Java Web系统里嵌入一个插件,来实现本实施例方法的各个步骤。
当用户发现存在线上事故的情况下,可以在前端生成事故排查请求。
前端在生成事故排查请求之后,前端将该事故排查请求发送至实现本实施例方法的插件。
步骤S102,响应于事故排查请求,从Spring上下文中获取目标方法名称以及目标方法名称对应的参数类型列表,其中,目标方法名称用于指示待排查的方法。
具体的,在获取该事故排查请求之后,即可对该事故排查请求进行响应。
本实施例中,从Spring上下文中,获取待排查的目标方法的目标方法名称;以及获取该目标方法对应的参数类型列表。
Spring上下文可以是:就是将需要Spring IoC容器管理的对象(Spring中称对象为bean),bean与bean之间的协作关系,基于xml或Java注解的形式配置好,然后通过Spring应用上下文对象将其加载进Spring IoC容器中,这样容器就能提供想要的对象管理服务,简单来说,Spring上下文就是将需要Spring管理的对象加载到Spring IoC容器中的一种容器对象。
可选地,目标方法名称可以是由用户在一个或多个可选的方法名称中进行选择操作后确定出的方法名称。并且,目标方法名称所对应的方法是引起事故排查请求所要排查的事故的原因之一。
参数类型列表用于指示目标方法名称所指示的方法的每个入参所对应的参数类型。
步骤S103,调用目标方法名称对应的目标方法,对按照参数类型列表输入的目标方法参数进行处理,得到目标方法对应的处理结果。
具体的,在获取目标方法名称之后或同时,可以获取用户按照参数类型列表输入的目标方法参数;之后,可以通过Java反射机制,调用得到目标方法名称对应的目标方法;将目标方法参数输入目标方法,得到目标方法对应的处理结果。
步骤S104,基于处理结果确定出事故排查请求对应事故排查结果。
具体的,在得到处理结果之后,可以基于该处理结果是否正常,来确定出事故排查请求对应的事故排查结果。
例如,在处理结果指示目标方法正常的情况下,则事故排查结果可以是用于指示未完成排查的信息。在处理结果指示目标方法异常的情况下,则事故排查结果可以是用于指示事故原因可能是目标方法异常导致的信息。
通过本实施例的方法,在获取事故排查请求之后,采用从Spring上下文中获取目标方法名称以及目标方法名称对应的参数类型列表,其中,目标方法名称用于指示待排查的方法;调用目标方法名称对应的目标方法,对按照参数类型列表输入的目标方法参数进行处理,得到目标方法对应的处理结果的方式,从而可以直接调用目标方法,获取目标方法的处理结果,便于之后基于处理结果来确定出事故排查结果;从而,通过本实施例的方法可以有效克服相关技术中存在的当无法找到线上事故对应的日志时,排查成本高且效率低下的技术问题。
如图3所示,作为一种可选的实施例,如前述的方法,所述步骤S102响应于事故排查请求,从Spring上下文中获取待排查的目标方法对应的目标方法名称以及目标方法的参数类型列表,包括如下所述步骤:
步骤S201,响应于事故排查请求,从Spring上下文中获取至少一个候选类实例名称。
具体的,在获取该事故排查请求之后,如果是首次接收到事故排查请求时,可以从Spring上下文中装载类实例;通过获取与Spring上下文中装载的每个类实例对应的候选类实例名称,得到至少一个候选类实例名称;生成包括至少一个候选类实例名称的类实例名称列表。
在生成类实例名称列表之后,将该类实例名称列表返回给前端。以便于前端可以在类实例名称列表中进行选择。
步骤S202,确定出在至少一个候选类实例名称中被选择的目标类实例名称。
具体的,前端在接收到类实例名称列表之后,即可在所有候选类实例名称中进行选择,将被选择的作为目标类实例名称。
实现本实施例方法的插件可以获取前端被选择的目标类实例名称。
步骤S203,从Spring上下文中获取目标类实例名称对应的目标方法名称以及目标方法名称对应的参数类型列表。
具体的,在获取目标类实例名称之后,可以从Spring上下文中获取目标类实例名称对应的目标类实例;获取目标类实例对应的目标方法的目标方法名称;基于目标方法名称以及目标方法对应的参数类型列表生成方法名称列表;将方法名称列表返回给前端。
作为一种可选的实施例,如前述的方法,基于处理结果确定出事故排查请求对应事故排查结果,包括如下所述步骤:
在处理结果异常的情况下,判断处理结果是否符合事故排查请求所指示的目标事故类型;在目标事故类型符合事故排查请求的情况下,确定出目标方法为事故起因的事故排查结果。
具体的,处理结果异常的情况,可以是目标方法在对目标方法参数处理后得到的结果,与该目标方法在正常情况下对该目标方法参数处理后的结果不一样,或者无法得到处理结果。
在确定处理结果异常的情况下,则继续判断处理结果是否符合事故排查请求所指示的目标事故类型;进一步的,方法出现不同的异常时,导致的事故类型各不相同,因此,可以通过判断目标事故类型是否符合事故排查请求,即判断目标事故类型是否符合事故排查请求所要排查的事故类型,来确定出目标方法是否为事故起因的事故排查结果。
在目标事故类型符合事故排查请求的情况下,则可以确定出目标方法为事故起因的事故排查结果。
作为一种可选的实施例,如前述的方法,在基于处理结果确定出事故排查请求对应事故排查结果之后,方法还包括:
在事故排查结果指示目标方法不是事故起因的情况下,基于事故排查请求的指定事故类型,在所有候选方法中确定出进行排查的指定方法,其中,指定方法出现异常的情况下,导致的事故类型包括指定事故类型。
具体的,在事故排查结果指示目标方法正常或者目标方法的异常并非是导致该事故排查请求所要排查的故障的情况下,则该事故排查结果指示目标方法不是事故起因,因此,可以基于事故排查请求所对应的指定事故类型,在所有候选方法中,确定出进行排查的指定方法。
预先可以确定出每个候选方法对应的所有事故类型;一个候选方法可以对应有多个事故类型。
因此,可以基于指定事故类型,在所有候选方法中匹配得到包括该指定事故类型的指定方法。
在确定出指定方法之后,即可按照前述步骤S103和S104的步骤判断指定方法是否是导致事故排查请求对应的故障的原因。
如图4所示,提供一种应用前述任一实施例的应用例:
接口采用策略设计模式,分别处理类实例、方法、参数类型、调用,根据前端入参不同,执行相应的策略;
1、第一次获取事故排查请求时,从Spring上下文中装载类实例,并从类实例获取类实例名称,返回给前端类实例名称列表;
2、用户选中目标类实例名称后请求后端接口,后端由目标类实例名称从Spring上下文中获取目标类实例,进而获取目标方法名称及参数类型列表,返回给前端完整的方法名称列表;
3、用户选中类实例名称、方法名称,并输入目标方法参数后提交请求,后端通过Java反射机制调用目标方法名称对应的目标方法处理,然后将处理结果返回给浏览器中展示结果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述线上事故排查方法的线上事故排查装置。图5是根据本申请实施例的一种可选的线上事故排查装置的结构框图,如图5所示,该装置可以包括:
获取模块1,用于获取来自于前端的事故排查请求;
响应模块2,用于响应于事故排查请求,从Spring上下文中获取待排查的目标方法对应的目标方法名称以及目标方法的参数类型列表;
处理模块3,用于调用目标方法名称对应的目标方法,对按照参数类型列表输入的目标方法参数进行处理,得到目标方法对应的处理结果;
确定模块4,用于基于处理结果确定出事故排查请求对应事故排查结果。
需要说明的是,该实施例中的获取模块1可以用于执行上述步骤S101,该实施例中的响应模块2可以用于执行上述步骤S102,该实施例中的处理模块3可以用于执行上述步骤S103,该实施例中的确定模块4可以用于执行上述步骤S104。
本实施例中的装置,除包含上述模块之外,还可以包含执行如前述任一线上事故排查方法的实施例中任意方法的模块。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种用于实施上述线上事故排查方法的电子设备,该电子设备可以是服务器、终端、或者其组合。
根据本申请的另一个实施例,还提供一种电子设备,包括:如图6所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现如下步骤:
步骤S101,获取来自于前端的事故排查请求。
步骤S102,响应于事故排查请求,从Spring上下文中获取目标方法名称以及目标方法名称对应的参数类型列表,其中,目标方法名称用于指示待排查的方法。
步骤S103,调用目标方法名称对应的目标方法,对按照参数类型列表输入的目标方法参数进行处理,得到目标方法对应的处理结果。
步骤S104,基于处理结果确定出事故排查请求对应事故排查结果。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器1503中可以但不限于包括上述线上事故排查装置中的获取模块1/响应模块2/处理模块3以及确定模块4。此外,还可以包括但不限于上述线上事故排查装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processor,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种计算机可读存储介质,存储介质包括存储的程序,其中,程序运行时执行上述方法实施例的方法步骤。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种线上事故排查方法,其特征在于,包括:
获取来自于前端的事故排查请求;
响应于所述事故排查请求,从Spring上下文中获取目标方法名称以及所述目标方法名称对应的参数类型列表,其中,所述目标方法名称用于指示待排查的方法;
调用所述目标方法名称对应的目标方法,对按照所述参数类型列表输入的目标方法参数进行处理,得到所述目标方法对应的处理结果;
基于所述处理结果确定出所述事故排查请求对应事故排查结果。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述事故排查请求,从Spring上下文中获取目标方法名称以及所述目标方法名称对应的参数类型列表,包括:
响应于所述事故排查请求,从Spring上下文中获取至少一个候选类实例名称;
确定出在所述至少一个候选类实例名称中被选择的目标类实例名称;
从所述Spring上下文中获取所述目标类实例名称对应的所述目标方法名称以及所述目标方法名称对应的所述参数类型列表。
3.根据权利要求2所述的方法,其特征在于,所述响应于所述事故排查请求,从Spring上下文中获取至少一个候选类实例名称,包括:
在首次接收到所述事故排查请求的情况下,从所述Spring上下文中装载类实例;
通过获取与所述Spring上下文中装载的每个类实例对应的候选类实例名称,得到所述至少一个候选类实例名称;
生成包括所述至少一个候选类实例名称的类实例名称列表。
4.根据权利要求2所述的方法,其特征在于,所述从所述Spring上下文中获取所述目标类实例名称对应的所述目标方法名称以及所述目标方法名称对应的所述参数类型列表,包括:
从所述Spring上下文中获取所述目标类实例名称对应的目标类实例;
获取所述目标类实例对应的目标方法的目标方法名称;
基于所述目标方法名称以及所述目标方法对应的参数类型列表生成方法名称列表;
将所述方法名称列表返回给所述前端。
5.根据权利要求1所述的方法,其特征在于,所述调用所述目标方法名称对应的目标方法,对按照所述参数类型列表输入的目标方法参数进行处理,得到所述目标方法对应的处理结果,包括:
通过Java反射机制,调用所述目标方法名称对应的所述目标方法;
将所述目标方法参数输入所述目标方法,得到所述目标方法对应的处理结果。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于所述处理结果确定出所述事故排查请求对应事故排查结果,包括:
在所述处理结果异常的情况下,判断所述处理结果是否符合所述事故排查请求所指示的目标事故类型;
在所述目标事故类型符合所述事故排查请求的情况下,确定出所述目标方法为事故起因的所述事故排查结果。
7.根据权利要求1至5中任一项所述的方法,其特征在于,在所述基于所述处理结果确定出所述事故排查请求对应事故排查结果之后,所述方法还包括:
在所述事故排查结果指示所述目标方法不是事故起因的情况下,基于所述事故排查请求的指定事故类型,在所有候选方法中确定出进行排查的指定方法,其中,所述指定方法出现异常的情况下,导致的事故类型包括所述指定事故类型。
8.一种线上事故排查装置,其特征在于,包括:
获取模块,用于获取来自于前端的事故排查请求;
响应模块,用于响应于所述事故排查请求,从Spring上下文中获取待排查的目标方法对应的目标方法名称以及所述目标方法的参数类型列表;
处理模块,用于调用所述目标方法名称对应的目标方法,对按照所述参数类型列表输入的目标方法参数进行处理,得到所述目标方法对应的处理结果;
确定模块,用于基于所述处理结果确定出所述事故排查请求对应事故排查结果。
9.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,
所述存储器,用于存储计算机程序;
所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行权利要求1至7中任一项所述的方法步骤。
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项中所述的方法步骤。
CN202311500066.2A 2023-11-10 2023-11-10 线上事故排查方法和装置、电子设备和存储介质 Pending CN117608891A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311500066.2A CN117608891A (zh) 2023-11-10 2023-11-10 线上事故排查方法和装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311500066.2A CN117608891A (zh) 2023-11-10 2023-11-10 线上事故排查方法和装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN117608891A true CN117608891A (zh) 2024-02-27

Family

ID=89947171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311500066.2A Pending CN117608891A (zh) 2023-11-10 2023-11-10 线上事故排查方法和装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN117608891A (zh)

Similar Documents

Publication Publication Date Title
CN108153670B (zh) 一种接口测试方法、装置及电子设备
CN109344066B (zh) 一种浏览器页面的测试方法、系统及终端
CN114064208A (zh) 检测应用服务状态的方法、装置、电子设备及存储介质
CN112732499A (zh) 一种基于微服务架构的测试方法、装置及计算机系统
CN110874315A (zh) 测试方法、装置、电子设备和存储介质
CN113656107A (zh) 移动应用的加载方法、装置及电子设备
CN114265737A (zh) 系统迁移完整度检测方法、装置及电子设备
CN111045935A (zh) 版本自动审核方法、装置、设备及存储介质
CN112052070A (zh) 应用容器化评估方法、装置、电子设备及存储介质
CN109274533B (zh) 一种基于规则引擎的Web服务故障的定位装置和方法
CN112416735A (zh) 一种应用程序检测方法、装置及终端设备、存储介质
CN117608891A (zh) 线上事故排查方法和装置、电子设备和存储介质
CN113869989B (zh) 一种信息处理方法及装置
CN111198725B (zh) 应用启动的处理方法、计算设备及计算机存储介质
CN115052037A (zh) 客户端检测方法、装置、存储介质和设备
CN111767178B (zh) 物理机性能测试方法及装置
CN110618943B (zh) 安防服务测试方法、装置、电子设备及可读存储介质
CN107919980B (zh) 一种集群化系统的评测方法和装置
CN114428723A (zh) 测试系统、系统测试方法、相关设备及存储介质
CN111737129A (zh) 服务控制方法、装置、计算机可读介质及电子设备
CN111506507A (zh) 业务服务的状态检测方法及装置、电子设备、存储介质
CN110727537A (zh) 统一处理响应报文的方法、装置、计算机设备及存储介质
CN115174343B (zh) B/s架构页面巡检方法、装置和页面巡检系统
CN115016824B (zh) 一种服务安全更新方法及相关设备
CN113141366B (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