掌桥专利:专业的专利平台
掌桥专利
首页

一种业务异常节点识别方法、装置和电子设备

文献发布时间:2023-06-19 13:45:04


一种业务异常节点识别方法、装置和电子设备

技术领域

本申请涉及计算机领域,尤其涉及一种业务异常节点识别方法、装置和电子设备。

背景技术

一个业务请求的执行过程中,往往会由于某些环节故障导致执行节点恶化,引起整个业务请求执行出现问题,为了能够快速识别到这些异常的环节,以助于后续采取补救措施,有必要提供一种业务异常节点识别方法,以快速定位识别异常节点。

发明内容

本说明书实施例提供一种业务异常节点识别方法、装置和电子设备,用以快速定位识别异常节点。

本说明书实施例还提供一种业务异常节点识别方法,包括:

构造分布式的链路追踪规则;

在执行业务请求时,执行所述分布式的链路追踪规则,对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,生成执行链路信息;

根据执行链路中各子任务之间的调用关系和各子任务的耗时识别耗时超出预设条件的异常节点。

可选地,所述子任务包括第一子任务,第二子任务和第三子任务;

所述方法还包括:

在执行所述第一子任务时创建第二子任务,响应于第二子任务的执行结果创建并执行第三子任务,调用第三子任务的执行结果继续执行第一子任务;

所述对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,包括:

对第一子任务和第二子任务进行追踪,并收集第一子任务的耗时和第二子任务的耗时;

所述根据执行链路中各子任务之间的调用关系和各子任务的耗时识别耗时超出预设条件的异常节点,包括:

用第一子任务的耗时减去第二子任务的耗时,得到第三子任务的耗时;

分别根据第一、二、三子任务的耗时识别异常节点。

可选地,所述分别根据第一、二、三子任务的耗时识别异常节点,包括:

结合预设的任务耗时比值关系识别异常节点。

可选地,所述第一子任务包括应用处理请求任务,所述第二子任务为内部服务任务,所述第三子任务为外部服务任务。

可选地,所述识别耗时超出预设条件的异常节点,包括:

根据串行的多个子任务的耗时识别耗时最大的任务异常节点。

可选地,所述对执行所述业务请求创建的多个子任务分别进行追踪,还包括:

追踪子任务的调用关系,根据子任务之间的调用关系划分层级。

可选地,还包括:

配置备用节点,响应于识别到异常节点,用所述异常节点的备用节点替换异常节点。

本说明书实施例还提供一种业务异常节点识别装置,包括:

规则模块,构造分布式的链路追踪规则;

追踪模块,在执行业务请求时,执行所述分布式的链路追踪规则,对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,生成执行链路信息;

识别模块,根据执行链路中各子任务之间的调用关系和各子任务的耗时识别耗时超出预设条件的异常节点。

本说明书实施例还提供一种电子设备,其中,该电子设备包括:

处理器;以及,

存储计算机可执行程序的存储器,所述可执行程序在被执行时使所述处理器执行上述任一项方法。

本说明书实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述任一项方法。

本说明书实施例提供的各种技术方案通过构造分布式的链路追踪规则,在执行业务请求时,执行所述分布式的链路追踪规则,对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,生成执行链路信息,根据执行链路中各子任务之间的调用关系和各子任务的耗时识别耗时超出预设条件的异常节点。通过分布式方式对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,利用调用关系识别耗时超出预设条件的异常节点,快速定位识别异常节点。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本说明书实施例提供的一种业务异常节点识别方法的原理示意图;

图2为本说明书实施例提供的一种业务异常节点识别装置的结构示意图;

图3为本说明书实施例提供的一种电子设备的结构示意图;

图4为本说明书实施例提供的一种计算机可读介质的原理示意图。

具体实施方式

现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。

在符合本发明的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。

在对于具体实施例的描述中,本发明描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本发明的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

术语“和/或”或者“及/或”包括相关联的列出项目中的任一个或多者的所有组合。

图1为本说明书实施例提供的一种业务异常节点识别方法的原理示意图,该方法可以包括:

S101:构造分布式的链路追踪规则。

在本说明书实施例中,链路追踪规则可以对多个任务分别进行监测,当被监测的任务启动时,开始计时,被监测的任务结束时,停止计时。

分布式的链路追踪规则可以相互独立地对不同的任务进行追踪。S102:在执行业务请求时,执行所述分布式的链路追踪规则,对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,生成执行链路信息。

在本说明书实施例中,所述对执行所述业务请求创建的多个子任务分别进行追踪,还包括:

追踪子任务的调用关系,根据子任务之间的调用关系划分层级。

这样,可以按照不同的层级来抽象出任务节点,从而识别出抽象的异常节点。

S103:根据执行链路中各子任务之间的调用关系和各子任务的耗时识别耗时超出预设条件的异常节点。

通过构造分布式的链路追踪规则,在执行业务请求时,执行所述分布式的链路追踪规则,对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,生成执行链路信息,根据执行链路中各子任务之间的调用关系和各子任务的耗时识别耗时超出预设条件的异常节点。通过分布式方式对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,利用调用关系识别耗时超出预设条件的异常节点,快速定位识别异常节点。

考虑到实际应用中,并非所有的子节点的耗时都能被监测到,但是为了对其进行分析,我们依然需要计算出其耗时。

对此,我们可以利用已追踪任务的耗时进行加减的方式,来获得未追踪任务的耗时。

因此,在本说明书实施例中,所述子任务包括第一子任务,第二子任务和第三子任务;

所述方法还包括:

在执行所述第一子任务时创建第二子任务,响应于第二子任务的执行结果创建并执行第三子任务,调用第三子任务的执行结果继续执行第一子任务;

所述对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,包括:

对第一子任务和第二子任务进行追踪,并收集第一子任务的耗时和第二子任务的耗时;

所述根据执行链路中各子任务之间的调用关系和各子任务的耗时识别耗时超出预设条件的异常节点,包括:

用第一子任务的耗时减去第二子任务的耗时,得到第三子任务的耗时;

分别根据第一、二、三子任务的耗时识别异常节点。

考虑到,一个任务的执行耗时,实际上会受多种因素的影响,如果单纯的以耗时绝对值来判断子任务节点是否异常,那么,可能会出现由于外因导致的多个节点都异常的情况,这种情况下,反倒无法识别出真正异常的可改进的节点。

对此,考虑到不同任务之间的执行耗时,往往会有一定的比例关系,如果某个外因造成多个子任务的耗时均上升,那么,只要其比例正常,就说明没有产生异常的节点。

因此,在本说明书实施例中,所述分别根据第一、二、三子任务的耗时识别异常节点,可以包括:

结合预设的任务耗时比值关系识别异常节点。

在本说明书实施例中,所述第一子任务包括应用处理请求任务,所述第二子任务为内部服务任务,所述第三子任务为外部服务任务。

这样,能够以分布式追踪的方法分别统计一个应用处理请求的总耗时,以及调用外部远程服务的耗时,根据“应用处理请求的总耗时”减去“所有远程服务调用总耗时”,可以获取其“自身业务运行的耗时”。通过分析整个链路多个服务的业务耗时比较,可以得到业务耗时最大的节点在哪个应用节点。

在本说明书实施例中,所述识别耗时超出预设条件的异常节点,包括:

根据串行的多个子任务的耗时识别耗时最大的任务异常节点。

在本说明书实施例中,还包括:

配置备用节点,响应于识别到异常节点,用所述异常节点的备用节点替换异常节点。

这样,能够及时对异常节点进行替换,以维护服务的正常进行。

在本说明书实施例中,我们还可以定期通过链路聚合运行,这样,可以自动化发现性能恶化的节点,帮助技术人员快速发现系统性能问题,缩小问题排查范围。

图2为本说明书实施例提供的一种业务异常节点识别装置的结构示意图,该装置可以包括:

规则模块201,用于构造分布式的链路追踪规则;

追踪模块202,用于在执行业务请求时,执行所述分布式的链路追踪规则,对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,生成执行链路信息;

识别模块203,用于根据执行链路中各子任务之间的调用关系和各子任务的耗时识别耗时超出预设条件的异常节点。

该装置通过构造分布式的链路追踪规则,在执行业务请求时,执行所述分布式的链路追踪规则,对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,生成执行链路信息,根据执行链路中各子任务之间的调用关系和各子任务的耗时识别耗时超出预设条件的异常节点。通过分布式方式对执行所述业务请求创建的多个子任务分别进行追踪,收集各子任务的耗时,利用调用关系识别耗时超出预设条件的异常节点,快速定位识别异常节点。

基于同一发明构思,本说明书实施例还提供一种电子设备。

下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。

图3为本说明书实施例提供的一种电子设备的结构示意图。下面参照图3来描述根据本发明该实施例的电子设备300。图3显示的电子设备300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图3所示,电子设备300以通用计算设备的形式表现。电子设备300的组件可以包括但不限于:至少一个处理单元310、至少一个存储单元320、连接不同系统组件(包括存储单元320和处理单元310)的总线330、显示单元340等。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元310可以执行如图1所示的步骤。

所述存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(ROM)3203。

所述存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备300也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备300交互的设备通信,和/或与使得该电子设备300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口350进行。并且,电子设备300还可以通过网络适配器360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器360可以通过总线330与电子设备300的其它模块通信。应当明白,尽管图3中未示出,可以结合电子设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:如图1所示的方法。

图4为本说明书实施例提供的一种计算机可读介质的原理示意图。

实现图1所示方法的计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 一种业务异常节点识别方法、装置和电子设备
  • 模型训练、业务节点识别方法、装置及电子设备
技术分类

06120113792930