CN107301125B - 一种寻找根源错误的方法、装置及电子设备 - Google Patents
一种寻找根源错误的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN107301125B CN107301125B CN201710464925.5A CN201710464925A CN107301125B CN 107301125 B CN107301125 B CN 107301125B CN 201710464925 A CN201710464925 A CN 201710464925A CN 107301125 B CN107301125 B CN 107301125B
- Authority
- CN
- China
- Prior art keywords
- error
- root
- type
- types
- error type
- 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 222
- 230000008569 process Effects 0.000 claims abstract description 179
- 230000000903 blocking effect Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种寻找根源错误的方法、装置及电子设备,所述方法包括:接收到目标业务进程独立上报的错误类型和对应于所述错误类型的属性数据;基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系;其中,所述错误模型包括若干具有层级关系的错误类型,其中任一层级的错误类型,为下一层级错误类型的发生原因;基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,并基于该根源错误类型对应的属性数据进一步确定所述目标业务进程的根源错误。本申请可以通过预设的错误模型,及时确定目标业务进程的根源错误。
Description
技术领域
本申请涉及计算机技术领域,特别涉及寻找系统错误的技术。
背景技术
在大型分布式系统中,执行任务往往需要涉及多个业务进程,如果单个业务进程或多个业务进程中出现错误,则任务无法完成。因此,需要对执行任务过程中出现的错误进行准确定位,确定发生错误的业务进程,从而解决进程内的错误。大部分系统通过简单的错误日志去收集各业务进程上报的错误类型和对应于错误类型的属性数据。
然而,由于各业务进程独立上报错误类型和对应于错误类型的属性数据,系统从错误日志中获得的各个错误类型相互独立,因此很难确定各个错误类型的关联关系,进而确定任务执行过程中的根源错误类型,以及基于根源错误类型和对应于该根源错误类型的属性数据确定根源错误。而没有找到根源错误就无法直接解决问题,延缓了找出根源错误并进行解决的时机。
发明内容
有鉴于此,本申请提供一种寻找根源错误的方法、装置及电子设备,用以及时找出任务执行过程中的根源错误。
具体地,本申请是通过如下技术方案实现的:
一种寻找根源错误的方法,包括:
接收到目标业务进程上报的错误类型和对应于所述错误类型的属性数据;
基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系;其中,所述错误模型包括若干具有层级关系的错误类型,其中任一层级的错误类型,为下一层级错误类型的发生原因;
基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,并基于与该根源错误类型对应的属性数据进一步确定所述目标业务进程的根源错误。
在所述寻找根源错误的方法中,所述层级关系包括业务进程内的错误类型之间的层级关系;以及,业务进程内的错误类型与跨进程的错误类型之间的层级关系。
在所述寻找根源错误的方法中,所述基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系,包括:
当接收到多个具有调用关系的目标业务进程上报的错误类型和对应于所述错误类型的属性数据时,基于预设的错误模型分别确定各目标业务进程上报的各错误类型之间的层级关系;
在确定出各目标业务进程上报的各错误类型之间的层级关系后,基于所述调用关系,对多个层级关系进行连接,获得跨进程的层级关系。
在所述寻找根源错误的方法中,所述基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,包括:
基于所述层级关系,确定层级最高的错误类型为根源错误类型。
在所述寻找根源错误的方法中,所述方法还包括:
输出所述根源错误对应的查找路径上的各错误类型和对应于各错误类型的属性数据。
在所述寻找根源错误的方法中,所述方法还包括:
获取用户输入的扩展错误类型;其中,所述扩展错误类型为用户为扩展所述错误模型而新增的错误类型;
将所述扩展错误类型添加至所述错误模型,并更新所述错误模型中的层级关系。
一种寻找根源错误的装置,包括:
接收单元,用于接收到目标业务进程上报的错误类型和对应于所述错误类型的属性数据;
第一确定单元,用于基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系;其中,所述错误模型包括若干具有层级关系的错误类型,其中任一层级的错误类型,为下一层级错误类型的发生原因;
第二确定单元,用于基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,并基于与该根源错误类型对应的属性数据进一步确定所述目标业务进程的根源错误。
在所述寻找根源错误的装置中,所述层级关系包括业务进程内的错误类型之间的层级关系;以及,业务进程内的错误类型与跨进程的错误类型之间的层级关系。
在所述寻找根源错误的装置中,所述第一确定单元,进一步用于:
当接收到多个具有调用关系的目标业务进程上报的错误类型和对应于所述错误类型的属性数据时,基于预设的错误模型分别确定各目标业务进程上报的各错误类型之间的层级关系;
在确定出各目标业务进程上报的各错误类型之间的层级关系后,基于所述调用关系,对多个层级关系进行连接,获得跨进程的层级关系。
在所述寻找根源错误的装置中,所述第二确定单元,进一步用于:
基于所述层级关系,确定层级最高的错误类型为根源错误类型。
在所述寻找根源错误的装置中,所述装置还包括:
输出单元,用于输出所述根源错误对应的查找路径上的各错误类型和对应于各错误类型的属性数据。
在所述寻找根源错误的装置中,所述装置还包括:
获取单元,用于获取用户输入的扩展错误类型;其中,所述扩展错误类型为用户为扩展所述错误模型而新增的错误类型;
添加单元,用于将所述扩展错误类型添加至所述错误模型,并更新所述错误模型中的层级关系。
一种电子设备,所述电子设备搭载了处理器,以及,用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:
接收到目标业务进程上报的错误类型和对应于所述错误类型的属性数据;
基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系;其中,所述错误模型包括若干具有层级关系的错误类型,其中任一层级的错误类型,为下一层级错误类型的发生原因;
基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,并基于与该根源错误类型对应的属性数据进一步确定所述目标业务进程的根源错误。
在本申请实施例中,电子设备接收到目标业务进程上报的错误类型和对应于所述错误类型的属性数据;然后基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系;其中,所述错误模型包括若干具有层级关系的错误类型,其中任一层级的错误类型,为下一层级错误类型的发生原因;接着基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,并基于该根源错误类型对应的属性数据进一步确定所述目标业务进程的根源错误;
由于错误模型预先定义了多种错误类型之间的层级关系,因此,上述电子设备可以基于该错误模型确定目标业务进程上报的各错误类型之间的层级关系,并可以根据该层级关系和对应于各错误类型的属性数据,确定目标业务进程的根源错误。
附图说明
图1是本申请示出的一种寻找根源错误的方法的流程图;
图2是本申请示出的一种错误模型的示意图;
图3是本申请示出的一种寻找根源错误的实例示意图;
图4是本申请示出的另一种寻找根源错误的实例示意图;
图5是本申请示出的一种寻找根源错误的装置的实施例框图;
图6是本申请示出的一种电子设备的硬件结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对现有技术方案和本发明实施例中的技术方案作进一步详细的说明。
大型分布式系统在执行任务时通常会涉及多个业务进程,如果其中单个业务进程或多个业务进程发生错误,则任务无法完成。此时系统会从错误日志中收集各业务进程独立上报的错误类型和对应于错误类型的属性数据,然后找出根源错误类型,进而定位出系统问题并告警输出,以由系统维护人员针对输出的问题进行处理。
然而,系统从错误日志中获得的各业务进程上报的错误类型相互独立,系统缺少对各个错误类型之间的关联分析,因此很难确定各个错误类型的关联关系,进而确定任务执行过程中的根源错误。可见,现有技术被各业务进程独立上报的错误类型延缓了找出根源错误的时机。
有鉴于此,本申请实施例的技术方案通过预设的错误模型,预先定义用户和系统可识别的多种错误类型以及各错误类型之间的层级关系;系统获得各业务进程上报的错误类型和对应于错误类型的属性数据后,可以基于上述错误模型查找各业务进程上报的错误类型的层级关系,进而确定根源错误类型,并结合对应于该根源错误类型的属性数据及时确定根源错误。
参见图1,为本申请示出的一种寻找根源错误的方法的流程图,所述方法包括以下步骤:
步骤101:接收到目标业务进程上报的错误类型和对应于所述错误类型的属性数据。
步骤102:基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系;其中,所述错误模型包括若干具有层级关系的错误类型,其中任一层级的错误类型,为下一层级错误类型的发生原因。
步骤103:基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,并基于与该根源错误类型对应的属性数据进一步确定所述目标业务进程的根源错误。
其中,上述方法可以应用于大型分布式系统(比如:网站的后台系统)的服务器或服务器集群上,上述方法的具体执行设备可以是被指定专用于分析系统错误的电子设备。
参见图2,为本申请示出的一种错误模型的示意图,如图2所示,该错误模型包括多种错误类型,各错误类型之间的层级关系以箭头表示,各错误类型通过箭头指向上一层级的错误类型;任一层级的错误类型,为下一层级错误类型的发生原因。例如:“线程执行超时”的下一层级为“请求队列堵”和“定时任务超时”,“线程执行超时”也是“请求队列堵”和“定时任务超时”的发生原因。
进一步地,高层级的错误类型,为低层级的错误类型的发生原因。例如:目标业务进程只上报“定时任务超时”和“线程阻塞超时”,“线程阻塞超时”为“定时任务超时”的高层级的错误类型,即使目标业务进程未上报“线程执行超时”,仍可以确定“线程阻塞超时”为“定时任务超时”的发生原因。
需要指出的是,上述错误模型可以根据实际应用场景进行扩展。当用户扩展上述错误模型时,可以向配置上述错误模型的电子设备输入扩展错误类型;其中,该扩展错误类型为用户为扩展上述错误模型而新增的错误类型。
上述电子设备可以获取用户输入的上述扩展错误类型,并将上述错误扩展类型添加至预配置的错误模型中,然后基于上述扩展错误类型与其它错误类型的层级关系,更新该错误模型中的层级关系。
其中,上述错误模型中的层级关系包括业务进程内的错误类型之间的层级关系。如图2所示,如果执行任务涉及的业务进程未调用其它业务进程,则其上报的错误类型之间的层级关系不会包括图中标注“RPC调用下一进程”箭头所表示的层级关系。
此外,上述错误模型中的错误类型还包括各业务进程发生跨进程调用错误时,由发生调用错误的业务进程上报的错误类型之间的层级关系。如图2所示,如果执行任务涉及的业务进程之间存在调用关系,则各业务进程上报的错误类型之间的层级关系包括图中标注“RPC调用下一进程”箭头所表示的层级关系。
在本申请实施例中,系统在执行任务的过程中,如果发生错误,则发生错误的目标业务进程可以独立地向上述电子设备上报错误。其中,为了详尽地说明错误的具体情况,目标业务进程可以向电子设备上报本次错误的错误类型和对应于该错误类型的属性数据;其中,上述属性数据可以包括上述目标业务进程所在主机的IP地址、统计次数、错误发生次数和错误率等。
上述电子设备可以接收到上述目标业务进程上报的错误类型和对应于上述错误类型的属性数据。
在示出的另一种实施方式中,上述电子设备也可以依照现有技术的做法,在系统发生错误时,从错误日志中获取目标业务进程上报的错误类型和对应于错误类型的属性数据。
在本申请实施例中,上述电子设备获得上述目标业务进程上报的错误类型和对应于上述错误类型的属性数据后,可以基于预设的错误模型,查找上述目标业务进程上报的各错误类型之间的层级关系。
为进一步说明查找目标业务进程上报的各错误类型之间的层级关系的过程,请参见图3,为本申请示出的一种寻找根源错误的实例示意图,如图3所示,直播网站的后台系统接收到用户通过直播客户端发起的赠送礼物的操作请求。后台系统响应赠送礼物的操作请求,在执行任务时,礼物服务进程发生错误。因此,礼物服务进程向集成在上述电子设备的错误分析进程上报两种错误类型和对应于两种错误类型的属性数据;其中,两种错误类型分别为“请求队列堵”和“线程阻塞超时”。
上述电子设备接收到礼物服务进程上报的“请求队列堵”和“线程阻塞超时”这两种错误类型后,可以基于图2示出的错误模型,确定礼物服务进程上报的“线程阻塞超时”为“请求队列堵”的高层级的错误类型。
在示出的一种实施方式中,当上述电子设备接收到多个具有调用关系的目标业务进程上报的错误类型和对应于上述错误类型的属性数据时,可以基于预设的错误模型分别确定各目标业务进程上报的各错误类型之间的层级关系,并在确定出各目标业务进程上报的各错误类型之间的层级关系后,基于上述调用关系,对多个层级关系进行连接,获得跨进程的层级关系。其中,上述调用关系可以在上述属性数据中获得。
请继续参见图4,为本申请示出的另一种寻找根源错误的实例示意图,该示意图示出了跨进程错误发生的情况。如图4所示,直播网站的后台系统接收到用户通过直播客户端发起的赠送礼物的操作请求。后台系统响应赠送礼物的操作请求,在执行任务时,礼物服务进程和扣费服务进程发生错误。
因此,礼物服务进程和扣费服务进程分别上报两种错误类型和对应于两种错误类型的属性数据至集成在上述电子设备的错误分析进程;其中,两种错误类型分别为“请求队列堵”和“RPC调用超时”。
上述电子设备接收到礼物服务进程和扣费服务进程分别上报的“请求队列堵”和“RPC调用超时”这两种错误类型后,首先可以基于图2所示的错误模型分别确定礼物服务进程上报的“RPC调用超时”为“请求队列堵”的高层级的错误类型;以及,扣费服务进程上报的“RPC调用超时”为“请求队列堵”的高层级的错误类型。
在确定礼物服务进程和扣费服务进程上报的各错误类型的层级关系后,可以基于礼物服务进程和扣费服务进程之间的调用关系,对两个层级关系进行连接。
图4的示例,在礼物服务进程中,对应于“请求队列堵”的属性数据如下所示:
Queue ID:1(队列标识);
Max Size:1000(队列大小);
Count:800(当前请求数);
Rate:80%(请求在队列中的总占比);
reqURL:[“/sendGift”:90%,“/getGiftList”:10%](请求url在队列中的占比);
对应于“RPC调用超时”的属性数据可以如下所示:
Host:192.168.0.2:8080(远程调用的IP和端口);
Total Count:1000(总的RPC请求数);
Error Count:800(超时错误数);
Error Rate:80%(超时错误率);
reqURL:[“/costMoney”:90%,……](请求url的超时错误占比)。
上述电子设备可以根据对应于“RPC调用超时”的属性数据,确定礼物服务进程远程调用了扣费服务进程,进而可以对两个层级关系进行连接。
因此,上述电子设备可以查找到礼物服务进程和扣费服务进程上报的错误类型的层级关系从高到低依次为:扣费服务进程上报的“RPC调用超时”、扣费服务进程上报的“请求队列堵”、礼物服务进程上报的“RPC调用超时”和礼物服务进程上报的“请求队列堵”。
在本申请实施例中,上述电子设备在确定出上述目标业务进程上报的各错误类型之间的层级关系后,可以确定出上述目标业务进程上报的各错误类型中的根源错误类型,并基于与该根源错误类型对应的属性数据,进一步确定上述目标业务进程的根源错误。
在示出的一种实施方式中,上述电子设备可以基于查找到的上述层级关系,确定层级最高的错误类型为根源错误类型。
仍以图4的示例进行说明,上述电子设备在确定出礼服服务进程和扣费服务进程上报的错误类型的层级关系后,可以确定根源错误类型为扣费服务进程上报的“RPC调用超时”。
上述电子设备可以进一步基于与该根源错误类型对应的属性数据,确定礼物服务进程和扣费服务进程的根源错误是扣费服务进程上的“RPC调用超时”;其中,上述属性数据包括扣费服务进程所在主机的IP地址。
在本申请实施例中,上述电子设备在确定上述目标业务进程的根源错误后,可以输出上述根源错误对应的查找路径上的各错误类型和对应于各错误类型的属性数据,以由用户基于输出结果对系统中的错误进行处理。
在示出的一种实施方式中,上述电子设备可以将查找路径上的各错误类型和对应于各错误类型的属性数据倒序整体输出,在这种实施方式中,上述电子设备会将根源错误类型和对应该根源错误类型的属性数据在第一行输出,便于用户直观地获知上述目标业务进程的根源错误,此外,除根源错误类型以外的错误类型可以视为根源错误类型的影响范围。
以发生进程内错误为例:业务进程所在主机192.168.0.1上报了“线程阻塞超时”的错误类型和对应的属性数据,以及,“请求队列堵”的错误类型和对应的属性数据。上述电子设备基于错误模型确定本次错误的根源错误类型为“线程阻塞超时”的错误类型,然后将查找路径上的各错误类型和对应的属性数据倒序整体输出,如下所示:
线程阻塞超时(Count:1000,Rate:0.7),业务进程(192.168.0.1:8080);
——请求队列堵(Queue ID:1,Count:4000,Rate:0.8)。
用户可以从输出结果中直观地获知本次错误的根源错误是主机192.168.0.1上的线程阻塞超时,从而对本次错误进行处理。
以发生跨进程错误为例:第一业务进程远程调用第二业务进程,发生错误,第一业务进程所在主机192.168.0.1上报了“请求队列堵”的错误类型和对应的属性数据,以及,“RPC调用超时”的错误类型和对应的属性数据;第二业务进程所在主机192.168.0.2上报了“请求队列堵”的错误类型和对应的属性数据,以及,“线程阻塞超时”的错误类型和对应的属性数据。
上述电子设备基于错误模型确定本次错误的根源错误为第二业务进程上报的对应“线程阻塞超时”的错误,然后将查找路径上的各错误类型和对应于各错误类型的属性数据倒序整体输出,如下所示:
线程阻塞超时(Count:1000,Rate:0.7),业务进程(192.168.0.2:8080);
——请求队列堵(Queue ID:1,Count:4000,Rate:0.8);
————RPC调用超时(Host:192.168.0.1:8080,Count:1000,Rate:0.7,top3:uri),业务进程(192.168.0.1:8080);
——————请求队列堵(Queue ID:1,Count:4000,Rate:0.8)。
用户可以从输出结果中直观地获知本次错误的根源错误是主机192.168.0.2上的线程阻塞超时,从而对本次错误进行处理。
在示出的另一种实施方式中,上述电子设备可以将查找路径上隶属于相同的业务进程的错误类型和对应于错误类型的属性数据分别进行输出,在这种实施方式中,用户可以清楚地从输出结果中获知产生错误的各业务进程,以及,各业务进程分别产生的错误。
仍以图4的示例进行说明,上述电子设备可以将查找路径上隶属于礼物服务进程和扣费服务进程的错误类型和对应于错误类型的属性数据分别进行输出,如下所示:
扣费服务进程(192.168.0.2:8080)
请求队列堵(Queue ID:1,Max Size:1000,Count:800,Rate:0.8,reqURL:[“/costMoney”:90%]);
——RPC调用超时(Host:192.168.0.3:8080,Total Count:1000,Error Count:800,Error Rate:80%,reqURL[“/other”:90%,……]);
礼物服务进程(192.168.0.1:8080)调用扣费服务进程(192.168.0.2:8080)
请求队列堵(Queue ID:1,Max Size:1000,Count:800,Rate:0.8,reqURL:[“/sendGift”:90%,“/getGiftList”:10%])
——RPC调用超时(Host:192.168.0.2:8080,Total Count:1000,Error Count:800,Error Rate:80%,reqURL[“/costMoney”:90%,……])
综上所述,在本申请实施例中,用于分析系统错误的电子设备可以接收到目标业务进程上报的错误类型和对应于上述错误类型的属性数据;然后基于预设的错误模型确定上述目标业务进程上报的各错误类型之间的层级关系;并基于查找到的上述层级关系确定上述目标业务进程上报的各错误类型中的根源错误类型,进而基于与该根源错误类型对应的属性数据确定上述目标业务进程的根源错误;
由于错误模型预先定义了多种错误类型之间的层级关系,因此,上述电子设备可以基于错误模型确定目标业务进程上报的各错误类型之间的层级关系,并根据该层级关系确定目标业务进程的根源错误类型,进而根据该根源错误类型和对应于该根源错误类型的属性数据,确定目标业务进程的根源错误。
与本申请寻找根源错误的方法相对应,本申请还提供了用于执行上述方法实施例的装置的实施例。
参见图5,为本申请示出的一种寻找根源错误的装置的实施例框图:
如图5所示,该寻找根源错误的装置50包括:
接收单元510,用于接收到目标业务进程上报的错误类型和对应于所述错误类型的属性数据。
第一确定单元520,用于基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系;其中,所述错误模型包括若干具有层级关系的错误类型,其中任一层级的错误类型,为下一层级错误类型的发生原因。
第二确定单元530,用于基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,并基于与该根源错误类型对应的属性数据进一步确定所述目标业务进程的根源错误。
在本例中,所述层级关系包括业务进程内的错误类型之间的层级关系;以及,业务进程内的错误类型与跨进程的错误类型之间的层级关系。
在本例中,所述第一确定单元520,进一步用于:
当接收到多个具有调用关系的目标业务进程上报的错误类型和对应于所述错误类型的属性数据时,基于预设的错误模型分别确定各目标业务进程上报的各错误类型之间的层级关系;
在确定出各目标业务进程上报的各错误类型之间的层级关系后,基于所述调用关系,对多个层级关系进行连接,获得跨进程的层级关系。
在本例中,所述第二确定单元530,进一步用于:
基于所述层级关系,确定层级最高的错误类型为根源错误类型。
在本例中,所述装置还包括:
输出单元540(图中未示出),用于输出所述根源错误对应的查找路径上的各错误类型和对应于各错误类型的属性数据。
在本例中,所述装置还包括:
获取单元550(图中未示出),用于获取用户输入的扩展错误类型;其中,所述扩展错误类型为用户为扩展所述错误模型而新增的错误类型。
添加单元560(图中未示出),用于将所述扩展错误类型添加至所述错误模型,并更新所述错误模型中的层级关系。
本申请寻找根源错误的装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
从硬件层面而言,如图6所示,为本申请示出的一种电子设备的硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中电子设备通常根据该寻找根源错误的装置的实际功能,还可以包括其他硬件,对此不再赘述。其中,该电子设备的内存和非易失性存储器中还分别搭载了上述接收单元510对应的机器可执行指令、上述第一确定单元520对应的机器可执行指令、上述第二确定单元530对应的机器可执行指令、上述输出单元540(图中未示出)对应的机器可执行指令、上述获取单元550(图中未示出)对应的机器可执行指令和上述添加单元560(图中未示出)对应的机器可执行指令。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种寻找根源错误的方法,其特征在于,包括:
接收到多个具有调用关系的目标业务进程上报的错误类型和对应于所述错误类型的属性数据;
基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系;其中,所述错误模型包括若干具有层级关系的错误类型,其中任一层级的错误类型,为下一层级错误类型的发生原因;所述层级关系包括业务进程内的错误类型与跨进程的错误类型之间的层级关系;基于所述调用关系,对多个层级关系进行连接,获得跨进程的层级关系,所述调用关系从所述属性数据中获得;
基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,并基于与该根源错误类型对应的属性数据进一步确定所述目标业务进程的根源错误。
2.根据权利要求1所述的方法,其特征在于,所述层级关系还包括业务进程内的错误类型之间的层级关系。
3.根据权利要求1所述的方法,其特征在于,所述基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,包括:
基于所述层级关系,确定层级最高的错误类型为根源错误类型。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
输出所述根源错误对应的查找路径上的各错误类型和对应于各错误类型的属性数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取用户输入的扩展错误类型;其中,所述扩展错误类型为用户为扩展所述错误模型而新增的错误类型;
将所述扩展错误类型添加至所述错误模型,并更新所述错误模型中的层级关系。
6.一种寻找根源错误的装置,其特征在于,包括:
接收单元,用于接收到多个具有调用关系的目标业务进程上报的错误类型和对应于所述错误类型的属性数据;
第一确定单元,用于基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系;其中,所述错误模型包括若干具有层级关系的错误类型,其中任一层级的错误类型,为下一层级错误类型的发生原因;所述层级关系包括业务进程内的错误类型与跨进程的错误类型之间的层级关系;基于所述调用关系,对多个层级关系进行连接,获得跨进程的层级关系,所述调用关系从所述属性数据中获得;
第二确定单元,用于基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,并基于与该根源错误类型对应的属性数据进一步确定所述目标业务进程的根源错误。
7.根据权利要求6所述的装置,其特征在于,所述层级关系还包括业务进程内的错误类型之间的层级关系。
8.根据权利要求6所述的装置,其特征在于,所述第二确定单元,进一步用于:
基于所述层级关系,确定层级最高的错误类型为根源错误类型。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
输出单元,用于输出所述根源错误对应的查找路径上的各错误类型和对应于各错误类型的属性数据。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
获取单元,用于获取用户输入的扩展错误类型;其中,所述扩展错误类型为用户为扩展所述错误模型而新增的错误类型;
添加单元,用于将所述扩展错误类型添加至所述错误模型,并更新所述错误模型中的层级关系。
11.一种电子设备,其特征在于,所述电子设备搭载了处理器,以及,用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:
接收到多个具有调用关系的目标业务进程上报的错误类型和对应于所述错误类型的属性数据;
基于预设的错误模型确定所述目标业务进程上报的各错误类型之间的层级关系;其中,所述错误模型包括若干具有层级关系的错误类型,其中任一层级的错误类型,为下一层级错误类型的发生原因;所述层级关系包括业务进程内的错误类型与跨进程的错误类型之间的层级关系;基于所述调用关系,对多个层级关系进行连接,获得跨进程的层级关系,所述调用关系从所述属性数据中获得;
基于所述层级关系确定所述目标业务进程上报的各错误类型中的根源错误类型,并基于与该根源错误类型对应的属性数据进一步确定所述目标业务进程的根源错误。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710464925.5A CN107301125B (zh) | 2017-06-19 | 2017-06-19 | 一种寻找根源错误的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710464925.5A CN107301125B (zh) | 2017-06-19 | 2017-06-19 | 一种寻找根源错误的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107301125A CN107301125A (zh) | 2017-10-27 |
CN107301125B true CN107301125B (zh) | 2021-08-24 |
Family
ID=60134815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710464925.5A Active CN107301125B (zh) | 2017-06-19 | 2017-06-19 | 一种寻找根源错误的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107301125B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110875832B (zh) * | 2018-08-31 | 2023-05-12 | 北京京东尚科信息技术有限公司 | 异常业务监控方法、装置、系统及计算机可读存储介质 |
CN110609761B (zh) * | 2019-09-06 | 2020-10-16 | 北京三快在线科技有限公司 | 确定故障源的方法、装置、存储介质和电子设备 |
CN115983393B (zh) * | 2022-12-30 | 2024-05-24 | 北京百度网讯科技有限公司 | 量子电路任务超时原因确定方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060683A (zh) * | 2006-04-20 | 2007-10-24 | 大唐移动通信设备有限公司 | 通信系统中告警信息的生成方法及装置 |
CN101778017A (zh) * | 2010-01-05 | 2010-07-14 | 中国工商银行股份有限公司 | 一种大型机联机交易的故障事件处理方法及服务器 |
CN105243023A (zh) * | 2015-11-24 | 2016-01-13 | 无锡江南计算技术研究所 | 并行运行时错误检测方法 |
CN106603264A (zh) * | 2015-10-20 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种定位故障根源的方法和设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958512B2 (en) * | 2005-10-31 | 2011-06-07 | Microsoft Corporation | Instrumentation to find the thread or process responsible for an application failure |
CN101355451B (zh) * | 2008-09-09 | 2011-05-11 | 中兴通讯股份有限公司 | 一种告警相关性分析方法及系统 |
CN101651576B (zh) * | 2009-08-28 | 2011-11-30 | 国家计算机网络与信息安全管理中心 | 告警信息处理方法和系统 |
US8230262B2 (en) * | 2010-07-02 | 2012-07-24 | Oracle International Corporation | Method and apparatus for dealing with accumulative behavior of some system observations in a time series for Bayesian inference with a static Bayesian network model |
CN104009854B (zh) * | 2013-02-21 | 2019-01-22 | 中兴通讯股份有限公司 | 一种告警处理方法及装置、告警关联信息设置方法 |
CN105095048B (zh) * | 2015-07-23 | 2018-07-10 | 上海新炬网络信息技术股份有限公司 | 一种基于业务规则的监控系统告警关联处理方法 |
-
2017
- 2017-06-19 CN CN201710464925.5A patent/CN107301125B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060683A (zh) * | 2006-04-20 | 2007-10-24 | 大唐移动通信设备有限公司 | 通信系统中告警信息的生成方法及装置 |
CN101778017A (zh) * | 2010-01-05 | 2010-07-14 | 中国工商银行股份有限公司 | 一种大型机联机交易的故障事件处理方法及服务器 |
CN106603264A (zh) * | 2015-10-20 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种定位故障根源的方法和设备 |
CN105243023A (zh) * | 2015-11-24 | 2016-01-13 | 无锡江南计算技术研究所 | 并行运行时错误检测方法 |
Non-Patent Citations (3)
Title |
---|
"Fault tree models for the analysis of complex computer-based systems";L.L. Pullum等;《Proceedings of 1996 Annual Reliability and Maintainability Symposium》;20020806;第200-207页 * |
"基于故障树的网络环境主机故障检测系统的设计与实现";张林;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120215(第02期);I139-224 * |
"面向服务的网络故障管理技术研究";王文;《中国优秀硕士学位论文全文数据库 信息科技辑》;20141215(第12期);I139-19 * |
Also Published As
Publication number | Publication date |
---|---|
CN107301125A (zh) | 2017-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021201512B2 (en) | Data stream processing language for analyzing instrumented software | |
US10380002B1 (en) | User interface for specifying data stream processing language programs for analyzing instrumented software | |
US11194807B2 (en) | Query processing method, query processing system, server and computer readable medium | |
US9009539B1 (en) | Identifying and grouping program run time errors | |
US20160103665A1 (en) | Real-Time Reporting Based on Instrumentation of Software | |
CN111949402B (zh) | 数据库请求处理方法、装置、计算机设备及存储介质 | |
CN112910945A (zh) | 请求链路跟踪方法和业务请求处理方法 | |
US8185624B2 (en) | Efficient on-demand provisioning of servers for specific software sets | |
CN104991821B (zh) | 批量处理监控任务的方法及装置 | |
CN108804215B (zh) | 一种任务处理方法、装置以及电子设备 | |
CN107301125B (zh) | 一种寻找根源错误的方法、装置及电子设备 | |
US20180349251A1 (en) | Automated Root Cause Detection Using Data Flow Analysis | |
WO2019148728A1 (zh) | 电子装置、分布式系统执行任务分配方法及存储介质 | |
CN110912949B (zh) | 位点提交方法和装置 | |
CN111046007B (zh) | 管理存储系统的方法、装置和计算机程序产品 | |
US20170126580A1 (en) | Tracking Contention in a Distributed Business Transaction | |
WO2016175850A1 (en) | Detection of node.js memory leaks | |
CN112434043A (zh) | 一种数据同步方法、装置、电子设备及介质 | |
CN111224843A (zh) | 资源链路监控方法、装置、设备和存储介质 | |
CN110647472A (zh) | 崩溃信息统计方法、装置、计算机设备及存储介质 | |
CN112306833A (zh) | 应用程序的崩溃统计方法、装置、计算机设备及存储介质 | |
US9442818B1 (en) | System and method for dynamic data collection | |
CN111158995B (zh) | 基于skywalking、ELK平台实现跨系统日志跟踪查询的方法及系统 | |
EP3832985B1 (en) | Method and apparatus for processing local hot spot, electronic device and storage medium | |
CN111444253A (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 |