CN113806169A - 业务异常处理方法及装置 - Google Patents

业务异常处理方法及装置 Download PDF

Info

Publication number
CN113806169A
CN113806169A CN202111034526.8A CN202111034526A CN113806169A CN 113806169 A CN113806169 A CN 113806169A CN 202111034526 A CN202111034526 A CN 202111034526A CN 113806169 A CN113806169 A CN 113806169A
Authority
CN
China
Prior art keywords
abnormal
information
service
processing
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.)
Pending
Application number
CN202111034526.8A
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.)
Zhengzhou Apas Digital Cloud Information Technology Co ltd
Original Assignee
Zhengzhou Apas Digital Cloud Information 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 Zhengzhou Apas Digital Cloud Information Technology Co ltd filed Critical Zhengzhou Apas Digital Cloud Information Technology Co ltd
Priority to CN202111034526.8A priority Critical patent/CN113806169A/zh
Publication of CN113806169A publication Critical patent/CN113806169A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/321Display for diagnostics, e.g. diagnostic result display, self-test user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种业务异常处理方法及装置,用以解决现有的业务异常处理耗费人力、且效率低的问题。所述方法包括:获取业务处理对应的待分析异常信息;待分析异常信息包括业务异常信息以及各业务异常信息分别对应的调用链信息;将所述待分析异常信息与预设的异常信息库进行匹配,以确定所述业务处理对应的待分析异常关键字;将所述待分析异常关键字和预设的异常处理方法库进行匹配,以匹配出与待分析异常关键字对应的目标处理方法;发出业务处理对应的异常告警信息;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。该技术方案实现了业务异常处理的自动化,且提升了业务异常处理的效率及准确度。

Description

业务异常处理方法及装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种业务异常处理方法及装置。
背景技术
目前,大型软件后台服务为了提高性能和可用性,逐渐微服务化,微服务之间的依赖关系复杂,跨进程服务调用链变长。如果某个服务器节点进程出错,就会导致依赖此服务器节点的各层服务同时出错。此时,为了抑制告警风暴,需要找到出错的根源节点并聚合告警信息。
现有技术中,当系统出现异常时,通常需要相关人员(如程序员)查找分析出错的根本原因并查找解决方案,不仅耗时较久,且影响线上服务的稳定性及可用性。因此,亟需一种高效、智能化的纠错及解决问题的机制。
发明内容
本申请实施例的目的是提供一种业务异常处理方法及装置,用以解决现有的业务异常处理耗费人力、且效率低的问题。
为解决上述技术问题,本申请实施例是这样实现的:
一方面,本申请实施例提供一种业务异常处理方法,应用于异常告警设备,所述方法包括:
获取业务处理对应的待分析异常信息;所述待分析异常信息基于业务处理过程中各服务节点抛出的业务异常信息所生成;所述待分析异常信息包括所述业务异常信息以及各所述业务异常信息分别对应的调用链信息;
将所述待分析异常信息与预设的异常信息库进行匹配,以确定所述业务处理对应的待分析异常关键字;所述异常信息库中包括多个异常关键字;
将所述待分析异常关键字和预设的异常处理方法库进行匹配,以匹配出与所述待分析异常关键字对应的目标处理方法;所述异常处理方法库中包括与各所述异常关键字分别对应的异常处理方法;
发出所述业务处理对应的异常告警信息,以使异常处理方基于所述异常告警信息进行业务异常处理;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
另一方面,本申请实施例提供一种业务异常处理方法,应用于服务集群,所述方法包括:
根据接收到的业务处理请求进行业务处理;在所述业务处理过程中,若监测到所述业务处理对应的服务节点发生异常,则获取所述服务节点对应的业务异常信息;
确定所述业务处理对应的调用链信息;所述调用链信息包括所述业务处理过程中各所述服务节点之间的调用关系;
根据所述调用链信息和所述业务异常信息,生成所述业务处理对应的待分析异常信息;
将所述待分析异常信息发送至异常告警设备,以使所述异常告警设备根据所述待分析异常信息确定所述业务异常信息对应的目标处理方法,并向异常处理方发出所述业务处理对应的异常告警信息;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
再一方面,本申请实施例提供一种业务异常处理装置,应用于异常告警设备,所述装置包括:
第一获取模块,用于获取业务处理对应的待分析异常信息;所述待分析异常信息基于业务处理过程中各服务节点抛出的业务异常信息所生成;所述待分析异常信息包括所述业务异常信息以及各所述业务异常信息分别对应的调用链信息;
第一确定模块,用于将所述待分析异常信息与预设的异常信息库进行匹配,以确定所述业务处理对应的待分析异常关键字;所述异常信息库中包括多个异常关键字;
匹配模块,用于将所述待分析异常关键字和预设的异常处理方法库进行匹配,以匹配出与所述待分析异常关键字对应的目标处理方法;所述异常处理方法库中包括与各所述异常关键字分别对应的异常处理方法;
告警模块,用于发出所述业务处理对应的异常告警信息,以使异常处理方基于所述异常告警信息进行业务异常处理;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
再一方面,本申请实施例提供一种业务异常处理装置,应用于服务集群,所述装置包括:
第二获取模块,用于根据接收到的业务处理请求进行业务处理;在所述业务处理过程中,若监测到所述业务处理对应的服务节点发生异常,则获取所述服务节点对应的业务异常信息;
第二确定模块,用于确定所述业务处理对应的调用链信息;所述调用链信息包括所述业务处理过程中各所述服务节点之间的调用关系;
第一生成模块,用于根据所述调用链信息和所述业务异常信息,生成所述业务处理对应的待分析异常信息;
发送模块,用于将所述待分析异常信息发送至异常告警设备,以使所述异常告警设备根据所述待分析异常信息确定所述业务异常信息对应的目标处理方法,并向异常处理方发出所述业务处理对应的异常告警信息;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
再一方面,本申请实施例提供一种业务异常处理设备,包括处理器和与所述处理器电连接的存储器,所述存储器存储有计算机程序,所述处理器用于从所述存储器调用并执行所述计算机程序以实现如上述任一方面所述的业务异常处理方法。
再一方面,本申请实施例提供一种存储介质,用于存储计算机程序,所述计算机程序在被处理器执行时以实现如上述任一方面所述的业务异常处理方法。
采用本申请实施例的技术方案,通过获取业务处理对应的待分析异常信息,该待分析异常信息基于业务处理过程中各服务节点抛出的业务异常信息所生成,包括业务异常信息以及各业务异常信息分别对应的调用链信息;将待分析异常信息与预设的异常信息库进行匹配,以确定出业务处理对应的待分析异常关键字,进而根据待分析异常关键字和预设的异常处理方法库匹配出目标处理方法。可见,该技术方案使得业务异常的处理过程不再依赖于人工,实现了业务异常处理的自动化。并且,通过发出业务处理对应的异常告警信息,该异常告警信息包括业务异常信息、调用链信息、目标处理方法中的至少一项,使得业务处理过程中的异常情况能够直观地展示给异常处理方,从而便于异常处理方基于该异常告警信息进行业务异常处理,提升业务异常处理的效率以及解决异常的准确度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请一实施例的一种业务异常处理系统的示意性结构图;
图2是根据本申请一实施例的一种业务异常处理方法的示意性流程图;
图3是根据本申请另一实施例的一种业务异常处理方法的示意性流程图;
图4是根据本申请再一实施例的一种业务异常处理方法的示意性流程图;
图5和图6是根据本申请一实施例的一种服务集群中各服务节点间的调用关系示意图;
图7和图8是根据本申请一实施例的一种业务异常处理方法中待分析异常信息的示意性界面图;
图9是根据本申请一实施例的一种业务异常处理装置的示意性框图;
图10是根据本申请另一实施例的一种业务异常处理装置的示意性框图;
图11是根据本申请一实施例的一种业务异常处理设备的示意性框图。
具体实施方式
本申请实施例提供一种业务异常处理方法及装置,用以解决现有的业务异常处理耗费人力、且效率低的问题。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供的一种业务异常处理方法,应用于业务异常处理系统。图1是根据本申请实施例的一种业务异常处理系统的示意性结构图,如图1所示,业务异常处理系统包括服务集群10和异常告警设备20,服务集群10中包括多个服务节点。其中,服务集群10用于在接收到业务处理请求时,执行相应的业务处理,并捕获业务处理过程中出现异常情况时的业务异常信息,并将业务异常信息处理为包括业务异常信息以及业务处理的各服务节点之间的调用链信息的待分析异常信息。进而将待分析异常信息发送至异常告警设备20。异常告警设备20用于对接收到的待分析异常信息进行分析,以分析出业务异常信息对应的目标处理方法,并发出包括业务异常信息、调用链信息、目标处理方法中的至少一项的异常告警信息,使得异常处理方式能够基于异常告警信息进行业务异常处理。通过服务集群10和异常告警设备20之间的交互,实现了业务异常处理的自动化,提升业务异常处理的效率。
图2是根据本申请一实施例的一种业务异常处理方法的示意性流程图,该方法应用于如图1所示的异常告警设备,如图2所示,业务异常处理包括以下步骤S202-S208:
S202,获取业务处理对应的待分析异常信息;其中,待分析异常信息基于业务处理过程中各服务节点抛出的业务异常信息所生成,包括业务异常信息以及各业务异常信息分别对应的调用链信息。
其中,业务处理对应的待分析异常信息由服务集群发送,服务集群包括多个服务节点。服务集群中的服务节点在业务处理过程中,实时监测业务处理状况,当监测到业务处理过程中发生异常时,抛出业务异常信息,并将业务异常信息处理为待分析异常信息发送至异常告警设备。服务集群可直接将待分析异常信息发送至异常告警设备,也可通过中间设备将待分析异常信息转发至异常告警设备。其中,中间设备例如为kafka服务器。
S204,将待分析异常信息与预设的异常信息库进行匹配,以确定业务处理对应的待分析异常关键字;异常信息库中包括多个异常关键字。
其中,异常信息库中的多个异常关键字可根据技术人员的经验预先设置,如连接池中连接数过多、java虚拟机内存溢出等、找不到文件;等等。这些异常关键字可按照异常类型划分为计算机硬件类、java本地方法类、web容器类、数据库类、缓存类、中间件类、第三方类库类等,以体现业务异常信息对应的异常类型。例如,计算机硬件类可以包含内存问题、磁盘问题、网络问题等子类型;数据库类可以包含死锁问题、数据库连接池问题、慢查询问题等子类型。
此外,若异常类型为软件方法类,则异常关键字还可对应有依赖包,通过匹配异常信息库,可以匹配到待分析异常信息对应的依赖包,从而获知哪一(些)依赖包发生异常。异常信息库的数据结构将在下述实施例中详细说明,此处不再赘述。
在一个实施例中,依赖包也可单独存储于一个库中,如依赖包匹配库,这样,在匹配异常信息库时,可同时匹配依赖包匹配库,不仅能够通过异常信息库匹配出待分析异常信息对应的异常关键字,还能通过依赖包匹配库匹配出发生异常的依赖包。
S206,将待分析异常关键字和预设的异常处理方法库进行匹配,以匹配出与待分析异常关键字对应的目标处理方法;异常处理方法库中包括与各异常关键字分别对应的异常处理方法。
其中,异常处理方法库中包括的异常处理方法可根据技术人员的经验预先设置,一种类型的业务异常信息可对应有多个异常处理方法,即,同一异常关键词可对应多个异常处理方法。异常处理方法库的数据结构将在下述实施例中详细说明,此处不再赘述。
S208,发出业务处理对应的异常告警信息,以使异常处理方基于异常告警信息进行业务异常处理;异常告警信息包括业务异常信息、调用链信息、目标处理方法中的至少一项。
其中,异常处理方可以是具有权限的技术人员,通过向异常处理方发出异常告警信息,使得异常处理方能够直观看到业务处理过程中的详细异常信息,从而便于对业务异常进行处理及维护。
采用本申请实施例的技术方案,通过获取业务处理对应的待分析异常信息,该待分析异常信息基于业务处理过程中各服务节点抛出的业务异常信息所生成,包括业务异常信息以及各业务异常信息分别对应的调用链信息;将业务异常信息与预设的异常信息库进行匹配,以确定出业务处理对应的待分析异常关键字,进而根据待分析异常关键字和预设的异常处理方法库匹配出目标处理方法。可见,该技术方案使得业务异常的处理过程不再依赖于人工,实现了业务异常处理的自动化。并且,通过发出业务处理对应的异常告警信息,该异常告警信息包括业务异常信息、调用链信息、目标处理方法中的至少一项,使得业务处理过程中的异常情况能够直观地展示给异常处理方,从而便于异常处理方基于该异常告警信息进行业务异常处理,提升业务异常处理的效率以及解决异常的准确度。
下面首先介绍需要预先建立的异常信息分析库。异常信息分析库至少包括上述实施例中所述的异常信息库和异常处理方法库。此外,还可以包括依赖包匹配库。
在一个实施例中,异常信息库中的多个异常关键字用于体现业务异常信息的异常类型,如连接池中连接数过多、java虚拟机内存溢出等、找不到文件;等等。例如,异常信息库的数据结构可表示为以下:
Figure BDA0003246444050000071
从上述结构可看出,异常信息库中的异常关键字可以根据不同维度的异常类型进行划分。例如,由于业务发生异常的原因可以是数据库或者java虚拟机等发生异常,因此从这一维度出发,可划分出数据库、java虚拟机这两大类的异常关键字。在java虚拟机这一类别中,又可以更具体地划分为内存和文件这两个类别的异常关键字;更进一步的,在内存这一类别中,可包括异常关键字“内存溢出”、“堆栈溢出”等;在文件这一类别中,可包括异常关键字“找不到文件”等。
在一个实施例中,异常处理方法库的数据结构可以是数组,数组元素为键值对,键为异常处理方法库的值,值为异常处理方法。考虑到同一种异常情况可以有多种异常处理方法,因此异常处理方法库的值也可以是数据结构。一种异常处理方法库的数据结构示例如下:
[{“连接数过多”:[{“解决方法1”:“解决方法内容”},{“解决方法2”:“解决方法内容2参考链接”}]},
{“内存溢出”:[{“解决方法1”:“解决方法内容”},{“解决方法2”:“解决方法内容2参考链接”}]},
{“堆栈溢出”:[{“解决方法1”:“解决方法内容”},{“解决方法2”:“解决方法内容2参考链接”}]},
{“找不到文件”:[{“解决方法1”:“解决方法内容”},{“解决方法2”:“解决方法内容2参考链接”}]}
]
由上述数据结构可看出,对于列举出的任一种异常关键字,均对应有“解决方法1”和“解决方法2”两种异常处理方法。
在一个实施例中,待分析异常信息还包括业务处理对应的业务标识信息。可选的,服务节点在接收到业务处理请求时,为业务处理请求分配唯一的业务标识信息,并在将业务标识信息处理为待分析异常信息时,将业务标识信息携带于待分析异常信息中,一并发送给异常告警设备。
其中,服务节点可随机为每个业务处理请求分配唯一的业务标识信息,例如,利用分布式唯一ID生成算法(如雪花算法)为每个业务处理请求生成一个唯一ID。
本实施例中,在获取到业务处理对应的待分析异常信息之后,若业务标识信息对应有多个业务异常信息、且各业务异常信息分别对应一个调用链信息,则从多个调用链信息中筛选调用链最长的目标调用链信息,并将目标调用链信息对应的业务异常信息与异常信息库进行匹配。
或者,也可在筛选出调用链最长的目标调用链信息之后,将目标调用链信息以及其他调用链信息分别对应的业务异常信息均和异常信息库进行匹配,以确定出待分析异常信息对应的待分析异常关键字。通过将待分析异常信息中的所有业务异常信息和异常信息库匹配,能够使匹配出的异常关键字更加完整、准确,进而能够分析出更加准确的异常解决方法。
在一个实施例中,异常告警信息还包括根因异常节点的节点信息。可先根据调用链信息,确定服务节点调用链中最后一个被调用的服务节点,作为业务处理对应的根因异常节点。在发出异常告警信息时,将根因异常节点的节点信息携带于异常告警信息中。
如果针对同一个业务标识信息对应有多个业务异常信息,且各业务异常信息分别对应一个调用链信息,则先筛选出调用链最长的目标调用链信息,并根据该目标调用链信息,确定调用链中最后一个被调用的服务节点,作为业务处理对应的根因异常节点。在发出异常告警信息时,将根因异常节点的节点信息携带于异常告警信息中。
本实施例中,通过确定业务处理对应的根因异常节点,并将根因异常节点作为异常告警信息中的一部分进行告警,使得异常处理方能够直观获知导致业务异常的根因异常节点,从而从源头解决业务异常的问题。
在一个实施例中,若在预设时长内获取到多个业务标识信息对应的待分析异常信息,则判断各业务标识信息对应的根因异常节点是否相同;若存在多个业务标识信息对应相同的根因异常节点,则针对具有相同根因异常节点多个业务标识信息,仅发出一次异常告警信息。
本实施例中,为避免短时间内对同一服务节点频繁进行异常告警,可将预设时长设置为较短的时间,例如1秒。假设在1秒内获取到多个业务标识信息对应的待分析异常信息,且通过分析待分析异常信息,确定多个待分析异常信息对应相同的根因异常节点,即导致多个业务处理发生异常的根因异常节点相同,则针对该多个待分析异常信息,仅执行一次异常告警。
图3是根据本申请另一实施例的一种业务异常处理方法的示意性流程图,该方法应用于如图1所示的服务集群。如图3所示,业务异常处理包括以下步骤S302-S308:
S302,根据接收到的业务处理请求进行业务处理;在业务处理过程中,若监测到业务处理对应的服务节点发生异常,则获取服务节点对应的业务异常信息。
其中,服务集群中的服务节点在业务处理过程中,实时监测业务处理状况,当监测到业务处理过程中发生异常时,抛出业务异常信息。服务集群中可包括用于捕获业务异常信息的服务节点,该服务节点在监测到任一服务节点抛出业务异常信息时,对监测到的业务异常信息进行捕获。
S304,确定业务处理对应的调用链信息;调用链信息包括业务处理过程中各服务节点之间的调用关系。
S306,根据调用链信息和业务异常信息,生成业务处理对应的待分析异常信息。
服务集群中可包括用于生成待分析异常信息的服务节点,该服务节点与用于捕获业务异常信息的服务节点可以相同、也可以不同,本实施例对此不作限定。服务节点在获取到业务异常信息后,根据业务处理过程中所监测到的服务节点调用关系,确定业务处理对应的调用链信息。进而,将调用链信息添加到业务异常信息的文本头部,以得到待分析异常信息。
例如,在业务处理过程中,各服务节点之间的调用关系为服务节点A调用服务节点B,然后服务节点B调用服务节点C,则该业务处理对应的调用链信息即为A→B→C,其中,箭头“→”表示调用关系。
在一个实施例中,为了统一捕获和收集业务异常信息,便于后续进行业务异常信息的统一分析,服务节点可通过spring aop面向切面编程,或者java动态代理、字节码注入等技术,统一捕获业务异常信息,并将服务节点调用关系处理成链表形式(即调用链),进而发送至异常告警设备。并且,通过统一捕获和收集业务异常信息,无需侵入业务本身,使得业务异常处理成本大大降低。
S308,将待分析异常信息发送至异常告警设备,以使异常告警设备根据待分析异常信息确定业务异常信息对应的目标处理方法,并向异常处理方发出业务处理对应的异常告警信息;异常告警信息包括业务异常信息、调用链信息、目标处理方法中的至少一项。
该步骤中,用于生成待分析异常信息的服务节点在生成待分析异常信息之后,可直接将待分析异常信息发送至异常告警设备,也可通过中间设备将待分析异常信息转发至异常告警设备。其中,中间设备例如为kafka服务器。利用kafka服务器转发待分析异常信息的方法将在下述实施例中详述,此处不再赘述。
采用本申请实施例的技术方案,通过在业务处理过程中,若监测到业务处理对应的服务节点发生异常,则获取服务节点对应的业务异常信息,并确定业务处理对应的调用链信息;进而根据调用链信息和业务异常信息,生成业务处理对应的待分析异常信息,并将待分析异常信息发送至异常告警设备,使得异常告警设备根据待分析异常信息分析业务异常信息对应的目标处理方法。可见,该技术方案使得业务异常的处理过程不再依赖于人工,实现了业务异常处理的自动化。并且,通过将待分析异常信息发送至异常告警设备,以使异常告警设备发出业务处理对应的异常告警信息,该异常告警信息包括业务异常信息、调用链信息、目标处理方法中的至少一项,使得业务处理过程中的异常情况能够直观地展示给异常处理方,从而便于异常处理方基于该异常告警信息进行业务异常处理,提升业务异常处理的效率以及解决异常的准确度。
在一个实施例中,服务集群通过中间设备将待分析异常信息转发至异常告警设备。例如,可以利用spring的aspectj面向切面编程,定义方法切入点,拦截所有public修饰的方法,在所拦截的方法执行后,如果监测到抛出业务异常信息,则进行业务信息异常提取及处理,并调用kafka生产者API(Application Programming Interface,应用程序接口),发送待分析异常信息到kafka服务器,由kafka服务器将待分析异常信息发送至异常告警设备。
具体的,首先定义kafka生产者,包括定义kafka服务器的地址列表(如连接和端口)、客户端ID以及kafka相关编解码配置信息等。然后定义切面,拦截方法中的异常信息。例如,使用@Aspect注解定义切面,并使用@AfterTrowing注解在方法执行抛出业务异常信息后,拦截并获取业务异常信息。其中,定义kafka生产者以及定义切面均属现有技术,此处不再详述。
在一个实施例中,服务节点在接收到业务处理请求时,首先生成业务处理对应的业务标识信息。在业务处理过程中,服务节点基于业务处理请求调用其他服务节点时,可将业务标识信息携带于调用协议头部。例如,若服务节点使用HTTP协议访问其他服务节点时,将请求ID(即业务标识信息)放入HTTP协议的请求头REQ-ID,并将服务节点自身的节点IP放入请求头INVOKE-CHAIN。
本实施例中,根据调用链信息和业务异常信息生成业务处理对应的待分析异常信息时,若获取到多个业务标识信息对应的业务异常信息,则根据相互对应的业务标识信息、调用链信息以及业务异常信息,分别生成各业务标识信息对应的待分析异常信息。其中,待分析异常信息包括业务标识信息、调用链信息和业务异常信息中的至少一项。
在一个实施例中,根据调用链信息和业务异常信息,生成业务处理对应的待分析异常信息之后,可将待分析异常信息转换为指定格式;指定格式与预设的异常信息库中包括的异常关键字相匹配,以使异常告警设备根据异常信息库匹配出待分析异常信息中包括的异常关键字。
本实施例中,指定格式可以是文本格式,由于指定格式与异常信息库中包括的异常关键字相匹配,因此异常关键字也为文本格式。服务集群可将待分析异常信息打印到字符串输出流StringWriter中,然后再将字符串输入流调用toString方法转为字符串,即可将待分析异常信息转换为文本格式。
图4是根据本申请再一实施例的一种业务异常处理方法的示意性流程图。本实施例中,业务异常处理方法应用于如图1所示的业务异常处理系统中,通过服务集群和异常告警设备之间的交互,完成业务异常处理过程。如图4所示,该方法包括以下步骤S401-S410:
S401,服务节点接收到业务处理请求时,为业务处理请求生成唯一的业务标识信息,并执行业务处理。
S402,当服务节点监测到业务处理过程中发生异常时,获取服务节点对应的业务异常信息,并确定业务处理对应的调用链信息。
S403,服务节点将服务节点标识、业务标识信息和调用链信息添加至业务异常信息中,生成业务处理对应的待分析异常信息。
其中,待分析异常信息包括业务标识信息、业务异常信息以及调用链信息。
由于在业务处理过程中,通常需调用多个服务节点来完成业务处理,这种情况下,业务异常信息由多个服务节点抛出,即,待分析异常信息中包括由多个服务节点抛出的业务异常信息,各业务异常信息携带有对应的服务节点的节点IP。
S404,服务节点将待分析异常信息转换为文本格式,得到文本格式的待分析异常信息。
S405,服务节点将待分析异常信息发送至kafka服务器,并指定待分析异常信息中包括的各部分信息。
上述各步骤中所述的服务节点可以是服务集群中的任一节点。
S406,kafka服务器将待分析异常信息发送至异常告警设备。
S407,异常告警设备根据待分析异常信息,筛选出调用链最长的目标调用链信息,并根据目标调用链信息,确定调用链中最后一个被调用的服务节点为业务处理对应的根因异常节点。
该步骤中,异常告警设备筛选调用链最长的目标调用链信息,同时可以将其他调用链较短的调用链舍弃掉。
S408,异常告警设备将待分析异常信息和预设的异常信息库进行匹配,以确定业务处理对应的待分析异常关键字。
其中,异常信息库中包括多个文本格式的异常关键字,异常关键字用于体现业务异常信息的异常类型,如连接池中连接数过多、java虚拟机内存溢出等、找不到文件;等等。
S409,异常告警设备将待分析异常关键字和预设的异常处理方法库进行匹配,以匹配出与待分析异常关键字对应的目标处理方法。
其中,异常处理方法库中包括与各异常关键字分别对应的一个或多个异常处理方法。
S410,异常告警设备生成并发出业务处理对应的异常告警信息,该异常告警信息包括业务异常信息、目标调用链信息、根因异常节点和目标处理方法。
例如,异常告警设备向异常处理方发出以下告警信息:“根因服务节点A发生异常,请及时处理;处理方法为*****”。
本实施例中,如果异常告警设备在异常处理方法库中匹配不到与待分析异常关键字相对应的异常处理方法,则可以返回“空”。异常处理方对于为“空”的异常处理方法,可根据经验进行补充,并更新和逐步完善异常处理方法库,以使异常处理方法库中的异常处理方法更丰富和完善。
图5是根据本申请一实施例的一种服务集群中各服务之间的调用关系示意图。如图5所示,服务集群中包括有服务网关gateway、服务A、服务B、服务C、服务D、服务E以及Mysql数据库(简称M)。其中,服务网关gateway用于接收业务处理请求,并将业务处理请求传输至服务节点,通过各服务之间的调用完成业务处理。各服务中分别包括有多个服务节点。
在微服务环境下,每个服务通常部署有多个服务节点。如图6所示,图5中所示的服务A具体包括有服务节点A1、A2和A3,服务B具体包括有服务节点B1和B2,服务C具体包括有服务节点C1、C2和C3,服务D具体包括有服务节点D1和D2,服务E具体包括有服务节点E1和E2。由图6可看出,服务网关gateway接收到业务处理请求R1、R2,在处理请求R1时,依次调用了服务节点A1、B1、C1、D1和M(即Mysql数据库);在处理请求R2时,依次调用了服务节点E1、C2和M。如果此时Mysql数据库出现异常,则会导致业务处理请求返回失败,即请求R1和R2处理失败。
图7和图8分别示出了请求R1对应的各服务节点(包括服务节点A1、B1、C1、D1)以及请求R2对应的各服务节点(包括服务节点E1、C2)发出的待分析异常信息。其中,待分析异常信息包括服务节点IP、业务标识信息、业务异常信息以及调用链信息,每个服务节点IP对应一个业务异常信息和调用链信息。以请求R1对应的服务节点C1为例,如图7所示的待分析异常信息中的第三行,服务节点C1的IP为“主机C1”,业务标识信息为“R1”,调用链信息为“A1→B1→C1→D1”,业务异常信息为“invoke-chain-R1:192.168.1.1-192.168.3.1-192.168.4.1 Exception:请求超时”。
图7和图8所示的待分析异常信息由服务集群发送至异常告警设备,异常告警设备首先对同一业务标识信息对应的调用链信息进行合并,即针对同一业务标识信息,仅筛选出调用链最长的目标调用链信息。以图7所示待分析异常信息为例,对于请求R1,由于服务节点D1对应的调用链信息中的调用链最长,因此筛选出服务节点D1对应的调用链信息“A1→B1→C1→D1”,作为请求R1对应的目标调用链信息。进而根据目标调用链信息“A1→B1→C1→D1”,确定其中最后一个被调用的服务节点D1为请求R1对应的根因异常节点。即,导致请求R1处理失败的根因异常节点即为服务节点D1。异常告警设备通过确定待分析异常关键字,并根据异常处理方法库匹配出请求R1、R2对应的异常处理方法,进而向异常处理方发出异常告警信息,以使异常处理方及时获知根因异常节点以及异常处理方法。例如,异常告警设备通过匹配异常处理方法库,确定出请求R1对应的异常处理方法为“修改Mysql数据库的最大连接数”,以及请求R2对应的异常处理方法为“检测排查数据库连接数不释放定位代码,参考链接为https://www.……”。
可见,本申请实施例的通过服务集群和异常告警设备之间的交互,使得业务异常的处理过程不再依赖于人工,实现了业务异常处理的自动化。并且,通过异常告警设备发出业务处理对应的异常告警信息,该异常告警信息包括业务异常信息、根因异常节点、调用链信息及目标处理方法,使得业务处理过程中的异常情况能够直观地展示给异常处理方,从而便于异常处理方基于该异常告警信息进行业务异常处理,提升业务异常处理的效率以及解决异常的准确度。
综上,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
以上为本申请实施例提供的业务异常处理方法,基于同样的思路,本申请实施例还提供一种业务异常处理装置。
图9是根据本申请一实施例的一种业务异常处理装置的示意性框图。如图9所示,该装置应用于异常告警设备,包括:
第一获取模块910,用于获取业务处理对应的待分析异常信息;所述待分析异常信息基于业务处理过程中各服务节点抛出的业务异常信息所生成;所述待分析异常信息包括所述业务异常信息以及各所述业务异常信息分别对应的调用链信息;
第一确定模块920,用于将所述待分析异常信息与预设的异常信息库进行匹配,以确定所述业务处理对应的待分析异常关键字;所述异常信息库中包括多个异常关键字;
匹配模块930,用于将所述待分析异常关键字和预设的异常处理方法库进行匹配,以匹配出与所述待分析异常关键字对应的目标处理方法;所述异常处理方法库中包括与各所述异常关键字分别对应的异常处理方法;
告警模块940,用于发出所述业务处理对应的异常告警信息,以使异常处理方基于所述异常告警信息进行业务异常处理;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
在一个实施例中,所述待分析异常信息还包括所述业务处理对应的业务标识信息;
所述装置还包括:
筛选模块,用于所述获取业务处理对应的待分析异常信息之后,若所述业务标识信息对应有多个所述业务异常信息、且各所述业务异常信息分别对应一个所述调用链信息,则从多个所述调用链信息中筛选调用链最长的目标调用链信息;
所述第一确定模块920包括:
匹配单元,用于将所述目标调用链信息对应的所述业务异常信息与所述异常信息库进行匹配。
在一个实施例中,所述异常告警信息还包括根因异常节点的节点信息;
所述装置还包括:
第三确定模块,用于所述发出所述业务处理对应的异常告警信息之前,根据所述目标调用链信息,确定调用链中最后一个被调用的所述服务节点,作为所述业务处理对应的所述根因异常节点。
在一个实施例中,所述装置还包括:
判断模块,用于若在预设时长内获取到多个所述业务标识信息对应的所述待分析异常信息,则判断各所述业务标识信息对应的所述根因异常节点是否相同;
所述告警模块940包括:
告警单元,用于若存在多个所述业务标识信息对应相同的所述根因异常节点,则针对多个所述业务标识信息,仅发出一次所述异常告警信息。
采用本申请实施例的装置,通过获取业务处理对应的待分析异常信息,该待分析异常信息基于业务处理过程中各服务节点抛出的业务异常信息所生成,包括业务异常信息以及各业务异常信息分别对应的调用链信息;将业务异常信息与预设的异常信息库进行匹配,以确定出业务处理对应的待分析异常关键字,进而根据待分析异常关键字和预设的异常处理方法库匹配出目标处理方法。可见,该装置使得业务异常的处理过程不再依赖于人工,实现了业务异常处理的自动化。并且,通过发出业务处理对应的异常告警信息,该异常告警信息包括业务异常信息、调用链信息、目标处理方法中的至少一项,使得业务处理过程中的异常情况能够直观地展示给异常处理方,从而便于异常处理方基于该异常告警信息进行业务异常处理,提升业务异常处理的效率以及解决异常的准确度。
本领域的技术人员应可理解,图9中的业务异常处理装置能够用来实现前文所述由异常告警设备执行的业务异常处理方法,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。
图10是根据本申请另一实施例的一种业务异常处理装置的示意性框图。如图10所示,该装置应用于服务集群,包括:
第二获取模块1010,用于根据接收到的业务处理请求进行业务处理;在所述业务处理过程中,若监测到所述业务处理对应的服务节点发生异常,则获取所述服务节点对应的业务异常信息;
第二确定模块1020,用于确定所述业务处理对应的调用链信息;所述调用链信息包括所述业务处理过程中各所述服务节点之间的调用关系;
第一生成模块1030,用于根据所述调用链信息和所述业务异常信息,生成所述业务处理对应的待分析异常信息;
发送模块1040,用于将所述待分析异常信息发送至异常告警设备,以使所述异常告警设备根据所述待分析异常信息确定所述业务异常信息对应的目标处理方法,并向异常处理方发出所述业务处理对应的异常告警信息;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
在一个实施例中,所述装置还包括:
第二生成模块,用于生成所述业务处理对应的业务标识信息;
所述第一生成模块1030包括:
生成单元,用于若获取到多个业务标识信息对应的所述业务异常信息,则根据相互对应的所述业务标识信息、所述调用链信息以及所述业务异常信息,分别生成各所述业务标识信息对应的所述待分析异常信息;
其中,所述待分析异常信息包括所述业务标识信息、所述调用链信息和所述业务异常信息中的至少一项。
在一个实施例中,所述装置还包括:
转换单元,用于所述根据所述调用链信息和所述业务异常信息,生成所述业务处理对应的待分析异常信息之后,将所述待分析异常信息转换为指定格式;所述指定格式与预设的异常信息库中包括的异常关键字相匹配,以使所述异常告警设备根据所述异常信息库匹配出所述待分析异常信息中包括的异常关键字。
采用本申请实施例的装置,通过在业务处理过程中,若监测到业务处理对应的服务节点发生异常,则获取服务节点对应的业务异常信息,并确定业务处理对应的调用链信息;进而根据调用链信息和业务异常信息,生成业务处理对应的待分析异常信息,并将待分析异常信息发送至异常告警设备,使得异常告警设备根据待分析异常信息分析业务异常信息对应的目标处理方法。可见,该装置使得业务异常的处理过程不再依赖于人工,实现了业务异常处理的自动化。并且,通过将待分析异常信息发送至异常告警设备,以使异常告警设备发出业务处理对应的异常告警信息,该异常告警信息包括业务异常信息、调用链信息、目标处理方法中的至少一项,使得业务处理过程中的异常情况能够直观地展示给异常处理方,从而便于异常处理方基于该异常告警信息进行业务异常处理,提升业务异常处理的效率以及解决异常的准确度。
本领域的技术人员应可理解,图10中的业务异常处理装置能够用来实现前文所述由服务集群执行的业务异常处理方法,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。
基于同样的思路,本申请实施例还提供一种业务异常处理设备,如图11所示。业务异常处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1101和存储器1102,存储器1102中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1102可以是短暂存储或持久存储。存储在存储器1102的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对业务异常处理设备中的一系列计算机可执行指令。更进一步地,处理器1101可以设置为与存储器1102通信,在业务异常处理设备上执行存储器1102中的一系列计算机可执行指令。业务异常处理设备还可以包括一个或一个以上电源1103,一个或一个以上有线或无线网络接口1104,一个或一个以上输入输出接口1105,一个或一个以上键盘1106。
在一个实施例中,业务异常处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对业务异常处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取业务处理对应的待分析异常信息;所述待分析异常信息基于业务处理过程中各服务节点抛出的业务异常信息所生成;所述待分析异常信息包括所述业务异常信息以及各所述业务异常信息分别对应的调用链信息;
将所述待分析异常信息与预设的异常信息库进行匹配,以确定所述业务处理对应的待分析异常关键字;所述异常信息库中包括多个异常关键字;
将所述待分析异常关键字和预设的异常处理方法库进行匹配,以匹配出与所述待分析异常关键字对应的目标处理方法;所述异常处理方法库中包括与各所述异常关键字分别对应的异常处理方法;
发出所述业务处理对应的异常告警信息,以使异常处理方基于所述异常告警信息进行业务异常处理;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
在另一个实施例中,业务异常处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对业务异常处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
根据接收到的业务处理请求进行业务处理;在所述业务处理过程中,若监测到所述业务处理对应的服务节点发生异常,则获取所述服务节点对应的业务异常信息;
确定所述业务处理对应的调用链信息;所述调用链信息包括所述业务处理过程中各所述服务节点之间的调用关系;
根据所述调用链信息和所述业务异常信息,生成所述业务处理对应的待分析异常信息;
将所述待分析异常信息发送至异常告警设备,以使所述异常告警设备根据所述待分析异常信息确定所述业务异常信息对应的目标处理方法,并向异常处理方发出所述业务处理对应的异常告警信息;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
本申请实施例还提出了一种存储介质,该存储介质存储一个或多个计算机程序,该一个或多个计算机程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行上述一种业务异常处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (11)

1.一种业务异常处理方法,其特征在于,应用于异常告警设备,所述方法包括:
获取业务处理对应的待分析异常信息;所述待分析异常信息基于业务处理过程中各服务节点抛出的业务异常信息所生成;所述待分析异常信息包括所述业务异常信息以及各所述业务异常信息分别对应的调用链信息;
将所述待分析异常信息与预设的异常信息库进行匹配,以确定所述业务处理对应的待分析异常关键字;所述异常信息库中包括多个异常关键字;
将所述待分析异常关键字和预设的异常处理方法库进行匹配,以匹配出与所述待分析异常关键字对应的目标处理方法;所述异常处理方法库中包括与各所述异常关键字分别对应的异常处理方法;
发出所述业务处理对应的异常告警信息,以使异常处理方基于所述异常告警信息进行业务异常处理;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
2.根据权利要求1所述的方法,其特征在于,所述待分析异常信息还包括所述业务处理对应的业务标识信息;
所述获取业务处理对应的待分析异常信息之后,还包括:
若所述业务标识信息对应有多个所述业务异常信息、且各所述业务异常信息分别对应一个所述调用链信息,则从多个所述调用链信息中筛选调用链最长的目标调用链信息;
所述将所述业务异常信息与预设的异常信息库进行匹配,包括:
将所述目标调用链信息对应的所述业务异常信息与所述异常信息库进行匹配。
3.根据权利要求2所述的方法,其特征在于,所述异常告警信息还包括根因异常节点的节点信息;
所述发出所述业务处理对应的异常告警信息之前,所述方法还包括:
根据所述目标调用链信息,确定调用链中最后一个被调用的所述服务节点,作为所述业务处理对应的所述根因异常节点。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若在预设时长内获取到多个所述业务标识信息对应的所述待分析异常信息,则判断各所述业务标识信息对应的所述根因异常节点是否相同;
所述发出所述业务处理对应的异常告警信息,包括:
若存在多个所述业务标识信息对应相同的所述根因异常节点,则针对多个所述业务标识信息,仅发出一次所述异常告警信息。
5.一种业务异常处理方法,其特征在于,应用于服务集群,所述方法包括:
根据接收到的业务处理请求进行业务处理;在所述业务处理过程中,若监测到所述业务处理对应的服务节点发生异常,则获取所述服务节点对应的业务异常信息;
确定所述业务处理对应的调用链信息;所述调用链信息包括所述业务处理过程中各所述服务节点之间的调用关系;
根据所述调用链信息和所述业务异常信息,生成所述业务处理对应的待分析异常信息;
将所述待分析异常信息发送至异常告警设备,以使所述异常告警设备根据所述待分析异常信息确定所述业务异常信息对应的目标处理方法,并向异常处理方发出所述业务处理对应的异常告警信息;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
生成所述业务处理对应的业务标识信息;
所述根据所述调用链信息和所述业务异常信息,生成所述业务处理对应的待分析异常信息,包括:
若获取到多个业务标识信息对应的所述业务异常信息,则根据相互对应的所述业务标识信息、所述调用链信息以及所述业务异常信息,分别生成各所述业务标识信息对应的所述待分析异常信息;
其中,所述待分析异常信息包括所述业务标识信息、所述调用链信息和所述业务异常信息中的至少一项。
7.根据权利要求5所述的方法,其特征在于,所述根据所述调用链信息和所述业务异常信息,生成所述业务处理对应的待分析异常信息之后,所述方法还包括:
将所述待分析异常信息转换为指定格式;所述指定格式与预设的异常信息库中包括的异常关键字相匹配,以使所述异常告警设备根据所述异常信息库匹配出所述待分析异常信息中包括的异常关键字。
8.一种业务异常处理装置,其特征在于,应用于异常告警设备,所述装置包括:
第一获取模块,用于获取业务处理对应的待分析异常信息;所述待分析异常信息基于业务处理过程中各服务节点抛出的业务异常信息所生成;所述待分析异常信息包括所述业务异常信息以及各所述业务异常信息分别对应的调用链信息;
第一确定模块,用于将所述待分析异常信息与预设的异常信息库进行匹配,以确定所述业务处理对应的待分析异常关键字;所述异常信息库中包括多个异常关键字;
匹配模块,用于将所述待分析异常关键字和预设的异常处理方法库进行匹配,以匹配出与所述待分析异常关键字对应的目标处理方法;所述异常处理方法库中包括与各所述异常关键字分别对应的异常处理方法;
告警模块,用于发出所述业务处理对应的异常告警信息,以使异常处理方基于所述异常告警信息进行业务异常处理;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
9.一种业务异常处理装置,其特征在于,应用于服务集群,所述装置包括:
第二获取模块,用于根据接收到的业务处理请求进行业务处理;在所述业务处理过程中,若监测到所述业务处理对应的服务节点发生异常,则获取所述服务节点对应的业务异常信息;
第二确定模块,用于确定所述业务处理对应的调用链信息;所述调用链信息包括所述业务处理过程中各所述服务节点之间的调用关系;
第一生成模块,用于根据所述调用链信息和所述业务异常信息,生成所述业务处理对应的待分析异常信息;
发送模块,用于将所述待分析异常信息发送至异常告警设备,以使所述异常告警设备根据所述待分析异常信息确定所述业务异常信息对应的目标处理方法,并向异常处理方发出所述业务处理对应的异常告警信息;所述异常告警信息包括所述业务异常信息、所述调用链信息、所述目标处理方法中的至少一项。
10.一种业务异常处理设备,其特征在于,包括处理器和与所述处理器电连接的存储器,所述存储器存储有计算机程序,所述处理器用于从所述存储器调用并执行所述计算机程序以实现如权利要求1-4任一项所述的业务异常处理方法;或者,所述处理器用于从所述存储器调用并执行所述计算机程序以实现如权利要求5-7任一项所述的业务异常处理方法。
11.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,所述计算机程序在被处理器执行时以实现如权利要求1-4任一项所述的业务异常处理方法;或者,所述计算机程序在被处理器执行时以实现如权利要求5-7任一项所述的业务异常处理方法。
CN202111034526.8A 2021-09-03 2021-09-03 业务异常处理方法及装置 Pending CN113806169A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111034526.8A CN113806169A (zh) 2021-09-03 2021-09-03 业务异常处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111034526.8A CN113806169A (zh) 2021-09-03 2021-09-03 业务异常处理方法及装置

Publications (1)

Publication Number Publication Date
CN113806169A true CN113806169A (zh) 2021-12-17

Family

ID=78894674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111034526.8A Pending CN113806169A (zh) 2021-09-03 2021-09-03 业务异常处理方法及装置

Country Status (1)

Country Link
CN (1) CN113806169A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579194A (zh) * 2022-03-08 2022-06-03 杭州每刻科技有限公司 一种基于Spring远程调用的异常处理方法和系统
CN115174542A (zh) * 2022-07-01 2022-10-11 中国邮政储蓄银行股份有限公司 业务系统的全链路采集方法、采集装置和采集系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579194A (zh) * 2022-03-08 2022-06-03 杭州每刻科技有限公司 一种基于Spring远程调用的异常处理方法和系统
CN114579194B (zh) * 2022-03-08 2024-04-05 杭州每刻科技有限公司 一种基于Spring远程调用的异常处理方法和系统
CN115174542A (zh) * 2022-07-01 2022-10-11 中国邮政储蓄银行股份有限公司 业务系统的全链路采集方法、采集装置和采集系统
CN115174542B (zh) * 2022-07-01 2024-06-04 中国邮政储蓄银行股份有限公司 业务系统的全链路采集方法、采集装置和采集系统

Similar Documents

Publication Publication Date Title
US10528454B1 (en) Intelligent automation of computer software testing log aggregation, analysis, and error remediation
US10560465B2 (en) Real time anomaly detection for data streams
CN112910945B (zh) 请求链路跟踪方法和业务请求处理方法
US9804951B2 (en) Quantization of data streams of instrumented software
US20210385251A1 (en) System and methods for integrating datasets and automating transformation workflows using a distributed computational graph
JP2019523952A (ja) ストリーミングデータ分散処理方法及び装置
US10657099B1 (en) Systems and methods for transformation and analysis of logfile data
CN113806169A (zh) 业务异常处理方法及装置
CN109460307B (zh) 基于日志埋点的微服务调用跟踪方法及其系统
US11546380B2 (en) System and method for creation and implementation of data processing workflows using a distributed computational graph
US11163552B2 (en) Federated framework for container management
US11405413B2 (en) Anomaly lookup for cyber security hunting
US20200136908A1 (en) Autodiscovery with Dynamic Configuration Launching
CN112015618A (zh) 异常告警方法及装置
CN114745295A (zh) 数据采集方法、装置、设备和可读存储介质
US11816511B1 (en) Virtual partitioning of a shared message bus
CN115567607A (zh) 调用链路的处理方法、装置、系统、电子设备及存储介质
EP4010828A1 (en) Automatic generation of detection alerts
CN111327466A (zh) 一种告警分析方法、系统、设备以及介质
CN114116509A (zh) 程序分析方法、装置、电子设备和存储介质
WO2023229784A1 (en) Allow list of container images based on deployment configuration at a container orchestration service
KR20170122874A (ko) 데이터 분산 서비스 기반의 응용 시스템의 통합 로그 관리 장치
CN115756888A (zh) 数据处理方法、处理器、装置及存储介质
Plale et al. Data provenance for preservation of digital geoscience data
US11100077B2 (en) Event table management using type-dependent portions

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