一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

异常处理方法、装置、设备及存储介质与流程

2022-03-09 01:15:54 来源:中国专利 TAG:


1.本技术涉及请求处理领域,尤其涉及异常处理方法、装置、设备及存储介质。


背景技术:

2.在由微服务模块实现功能的业务系统中,单个应用程序由多个松散耦合且可独立部署的较小组件或者服务组成,开发人员可根据具体的业务需求,将单个服务进行组合部署,得到与业务需求相对应的业务系统,业务系统可以由多个基于微服务实现的业务模块组成。
3.对于发送至业务系统的请求,一个请求会经由业务系统中的业务模块进行处理和响应,当这个请求在业务系统中收到异常响应时,需要人工进行问题定位,人工需要通过查看多个业务模块的日志才能找到出现问题的业务模块,效率不高。


技术实现要素:

4.本技术提供异常处理方法、装置、设备及存储介质,以解决现有异常响应需要人工进行问题定位而导致的效率不高的技术问题。
5.第一方面,提供一种异常处理方法,包括:
6.获取目标业务请求的跟踪标识,所述目标业务请求为经业务系统处理对应异常响应的业务请求;
7.根据所述跟踪标识,获取所述业务系统中处理所述目标业务请求的至少一个业务模块各自对应的时间相关信息,其中,一个业务模块对应的时间相关信息包括所述一个业务模块处理所述目标业务请求所产生的时间信息;
8.根据所述至少一个业务模块各自对应的时间相关信息,生成所述目标业务请求对应的疑似异常接口信息,所述疑似异常接口信息包括所述至少一个业务模块各自包含的接口中与所述异常响应相关的至少一个第一接口以及与每个第一接口关联的异常信息,所述至少一个第一接口和所述异常信息在所述疑似异常接口信息中按与异常响应的相关度排列,其中,所述相关度基于所述时间相关信息得到。
9.在该技术方案中,通过根据在业务系统中产生异常响应的目标业务请求的跟踪标识,找到业务系统中处理该目标业务请求的业务模块处理该目标业务请求时所产生的时间信息,根据该时间信息生成目标业务请求对应的疑似异常接口信息,由于疑似异常接口信息中包含与异常响应相关的接口,且这些接口在疑似异常接口信息中按与异常响应的相关度进行排列,相关度基于时间信息得到,相当于是根据处理该目标业务请求的业务模块处理该目标业务请求所产生的时间信息确定了处理该目标业务请求的业务模块与异常响应的相关程度,因此,生成按相关度排列的疑似异常接口信息能够有助于开发人员快速定位到出现问题的业务模块,提高定位效率;另外,根据疑似异常接口信息中的各接口关联的异常情况,可方便开发人员确定接口出现异常的问题。
10.结合第一方面,在一种可能的实现方式中,所述根据所述跟踪标识,获取所述业务
系统中处理所述目标业务请求的至少一个业务模块各自对应的时间相关信息,包括:根据所述跟踪标识,从日志系统中获取与所述跟踪标识对应的模块日志,所述模块日志用于记录所述至少一个业务模块处理所述目标业务请求所产生的日志信息,所述日志信息包括所述时间相关信息;从所述模块日志中获取所述至少一个业务模块各自对应的时间相关信息。
11.结合第一方面,在一种可能的实现方式中,所述目标业务请求为在所述业务系统中的处理时延大于预设延时阈值的请求,所述一个业务模块对应的时间相关信息包括所述一个业务模块中的各个接口各自对应的第一时间和第二时间,所述第一时间为接口接收所述目标业务请求的时间,所述第二时间为接口响应所述目标业务请求的时间;所述根据所述至少一个业务模块各自对应的时间相关信息,生成所述目标业务请求对应的疑似异常接口信息,包括:根据第二接口对应的第一时间和第二时间,计算所述第二接口的接口时延,所述第二接口为所述至少一个业务模块包含的任一接口;计算所述第二接口的接口时延与所述第二接口对应的平均处理时延之间的差值,得到所述第二接口的时延差;根据所述至少一个业务模块各自包含的接口的时延差,对所述至少一个业务模块各自包含的接口进行排序,根据排序后的接口和所述排序后的接口的时延差,得到所述疑似异常接口信息。在目标业务请求为处理时延较大的慢请求的情况下,通过确定目标业务请求在各接口中的时延差,时延差反映了各接口处理该目标业务请求与处理其他请求之间的差距,根据时延差对接口进行排序,能够使开发人员优先定位到差距较大的接口。
12.结合第一方面,在一种可能的实现方式中,所述计算所述第二接口的接口时延与所述第二接口对应的平均处理时延之间的差值,得到所述第二接口的时延差之前,还包括:获取所述第二接口的预设数量的历史接口时延,所述历史接口时延为所述第二接口在历史时间中接收一次业务请求的时间至响应所述一次业务请求的时间之间的时长;对所述预设数量的历史接口时延求平均,得到所述第二接口对应的平均处理时延。
13.结合第一方面,在一种可能的实现方式中,所述目标业务请求为在所述业务系统中产生错误的请求;所述一个业务模块对应的时间相关信息包括所述一个业务模块中的各个接口各自对应的日志时间,所述日志时间为接口处理所述目标业务请求生成日志的时间;所述根据所述至少一个业务模块各自对应的时间相关信息,生成所述目标业务请求对应的疑似异常接口信息,包括:在所述至少一个业务模块各自包含的接口中确定错误码不为预设码的接口;根据所述日志时间的先后顺序,对所述错误码不为预设码的接口进行排序,根据排序后的接口和所述排序后的接口对应的错误码,得到所述疑似异常接口信息。通过按日志时间对产生错误的接口进行排序,能够有助于开发人员快速找到最后出现错误的接口。
14.结合第一方面,在一种可能的实现方式中,所述根据所述至少一个业务模块各自对应的时间相关信息,生成所述目标业务请求对应的疑似异常接口信息之后,还包括:确定所述疑似异常接口信息中的接口各自对应的第一频率,所述第一频率是指出现在所述目标业务请求对应的历史疑似异常接口信息中且在所述历史疑似异常接口信息中处于前n位的频率,n为大于等于1的正整数;在所述疑似异常接口信息中对所述第一频率高于预设频率阈值的接口进行突出标示。通过在疑似异常接口信息中对在历史响应中出现异常频率较高的接口进行突出标示,能够有助于开发人员快速定位到出现问题的接口。
15.结合第一方面,在一种可能的实现方式中,所述方法还包括:统计所述业务系统中各业务模块包含的接口各自对应的第二频率,所述第二频率是指在业务系统中生成的所有疑似异常接口信息中出现的频率;按所述第二频率对所述业务系统中各业务模块包含的接口进行排序后,生成所述业务系统的接口响应统计报表。通过统计业务系统中的接口在疑似异常接口信息中的出现频率,按出现频率对接口进行排序后再生成统计报表,能够有助于开发人员找到经常出现问题的业务模块,从而对业务模块进行改进。
16.第二方面,提供一种异常处理装置,包括:
17.标识获取模块,用于获取目标业务请求的跟踪标识,所述目标业务请求为在业务系统中对应异常响应的业务请求;
18.信息获取模块,用于根据所述跟踪标识,获取所述业务系统中处理所述目标业务请求的至少一个业务模块各自对应的时间相关信息,其中,一个业务模块对应的时间相关信息包括所述一个业务模块处理所述目标业务请求所产生的时间信息;
19.生成模块,用于根据所述至少一个业务模块各自对应的时间相关信息,生成所述目标业务请求对应的疑似异常接口信息,所述疑似异常接口信息包括所述至少一个业务模块中与异常响应相关的至少一个第一接口以及与每个第一接口关联的异常信息,所述至少一个第一接口和所述异常信息在所述疑似异常接口信息中按与异常响应的相关度排列,其中,所述相关度基于所述时间相关信息得到。
20.第三方面,提供一种计算机设备,包括存储器以及一个或多个处理器,一个或多个处理器用于执行存储在存储器中的一个或多个计算机程序,一个或多个处理器在执行一个或多个计算机程序时,使得该计算机设备实现上述第一方面的异常处理方法。
21.第四方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,上述程序指令当被处理器执行时使上述处理器执行上述第一方面的异常处理方法。
22.本技术可以实现如下技术效果:根据处理该目标业务请求的业务模块处理该目标业务请求所产生的时间信息确定了处理该目标业务请求的业务模块与异常响应的相关程度,因此,生成按相关度排列的疑似异常接口信息能够有助于开发人员快速定位到出现问题的业务模块,提高定位效率;另外,根据疑似异常接口信息中的各接口关联的异常情况,可方便开发人员确定接口出现异常的问题。
附图说明
23.图1为本技术提供的一种业务系统的系统架构示意图;
24.图2为本技术实施例提供的异常处理方法的流程示意图;
25.图3是本技术实施例提供的一种异常处理装置的结构示意图;
26.图4是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
28.本技术的技术方案可适用于如图1所示的业务系统架构中。图1为本技术提供的一种业务系统的系统架构示意图,该业务系统架构10可包括业务系统101、日志系统102和外
部设备103。外部设备103可以为用户设备(如手机、个人电脑等),外部设备103中安装有访问业务系统101的客户端,客户端可基于用户需求,向业务系统发送业务请求;业务系统101包括系统网关1011和至少一个业务模块1012,系统网关1011用于接收外部设备103发送的业务请求,并将业务请求转发给业务系统内的业务模块1012进行处理。可选的,业务模块1012可以基于微服务技术实现,用于对业务系统内的请求进行处理,以实现某种业务功能。业务系统101中的业务模块1012运行会产生日志,日志中记录有业务模块1012的运行信息,其中,运行信息包括但不限于日期、时间、业务模块的标识、业务模块具体执行的操作信息;业务系统101可将业务模块1012运行产生的日志发送至日志系统102,日志系统102用于存储所有业务模块的日志。在业务系统101、日志系统102和外部设备103的基础之上,业务系统架构10还可以包括监控系统104和异常请求定位系统105,其中,业务系统101可以把各个业务模块1012处理外部设备103发送的业务请求所产生的接口时延上传至监控系统104,监控系统104用于对接口时延进行记录和保存。业务系统101还可以在检测到在业务系统101内产生异常响应的异常业务请求上报给异常请求定位系统105,异常请求定位系统105用于根据业务系统101上报的异常业务请求,生成与异常响应相关的异常分析信息,供开发人员查看。
29.基于图1所示的系统架构,可以实现本技术的技术方案,本技术的技术方案可具体实施于上述异常请求定位系统105中,以下具体进行介绍。
30.参见图2,图2为本技术实施例提供的异常处理方法的流程示意图,其中,该方法可应用于上述图1中的异常请求定位系统105中,如图2所示,该方法包括如下步骤:
31.s201,获取目标业务请求的跟踪标识。
32.这里,目标业务请求是指在业务系统中对应异常响应的业务请求,目标业务请求又可以称之为异常业务请求。其中,异常响应与正常响应相对应,产生正常响应的业务请求,是指在预设的超时时间内得到业务系统的响应,且能够从业务系统获取到所需资源的业务请求,对应地,产生异常响应的业务请求是指未在预设的时间内得到业务系统的响应,或未从业务系统中获取到所需资源的业务请求。具体地,异常业务请求可以是指在业务系统中的处理时延大于预设延时阈值的请求,也可以是指在业务系统中产生错误的请求,等等,不限于这里描述。
33.本技术实施例中,跟踪标识是指在业务系统中用于唯一指示该目标业务请求的标识,也即唯一指示该异常业务请求的标识。
34.在一种可行的实施方式,目标业务请求的跟踪标识可以是业务系统发送的,具体可以是业务系统直接将该跟踪标识发送给异常请求定位系统;或者可以是业务系统将跟踪标识携带在该目标业务请求对应的异常日志中发送给异常请求定位系统。比如,结合上述图1所示系统结构该方案可以是:系统网关1011在检测业务系统中存在产生异常响应的业务请求的情况下向异常请求定位系统104发送的。其中,目标业务请求的跟踪标识可以是由系统网关1011直接发送给异常请求定位系统105,也可以由系统网关携带在该目标业务请求对应的异常日志中发送给异常请求定位系统105。
35.在第一种可能的情况中,业务系统接收所有的业务请求,监测各个业务请求在业务系统中的处理时延,并将各个业务请求在业务系统中的处理时延分别与各个业务请求对应的预设延时阈值进行比较,其中,不同业务请求可对应不同的预设延时阈值,各业务请求
对应的预设延时阈值可以由开发人员根据业务请求对应的业务类型预设在后台处理系统中,以方便动态修改。当业务系统接收到业务请求时,业务系统可根据业务请求对应的业务类型确定业务请求的延时阈值。若目标业务请求对应的处理时延大于目标业务请求对应的预设延时阈值,则业务系统确定目标业务请求为异常业务请求,将目标业务请求在业务系统(如系统网关)中的日志发送给异常请求定位系统。
36.其中,业务请求在业务系统中的处理时延是指业务系统接收到业务请求的时间至业务请求响应该业务请求的时间之间的时长,业务请求在业务系统中的处理时延可以等于业务请求在业务系统处理该业务请求的至少一个业务模块处产生的处理时延之和。业务请求在业务模块处产生的处理时延是指业务模块接收到业务请求的时间至业务模块响应该业务请求的时间之间的时长,业务请求在业务模块处产生的处理时延可以等于业务模块中的各个接口处理该业务请求的接口时延之和。接口处理业务请求的接口时延是指接口接收到业务请求的时间至接口响应业务请求的时间之间的时长。
37.举例进行说明,例如,有一个业务请求q1,业务请求q1对应的预设时延阈值为1s。经由业务系统中的业务模块a和业务模块b进行处理,业务模块a中包括接口a1和接口a2,业务模块b包括接口b1、接口b2和接口b3。接口a1在2021.10.1 12:00:00.000接收到业务请求q1,在2021.10.1 12:00:00.167响应业务请求q1,将业务请求q1交由接口a2进行处理;接口a2在2021.10.112:00:00.355响应业务请求q1,并将业务请求q1交由接口b1进行处理;接口b1在2021.10.1 12:00:00.670响应业务请求q1,并将业务请求q1交由接口b2进行处理;接口b2在2021.10.1 12:00:00.960响应业务请求q1,并将业务请求q1交由接口b3进行处理,接口b3在12:00:01.096响应业务请求q1。则接口a1处理业务请求q1的接口时延为167微秒(us),接口a2处理业务请求q1的接口时延为188us,业务请求q1在业务模块a处的处理时延为355us;接口b1处理业务请求q1的接口时延为315us,接口b2处理业务请求q1的接口时延为290us,接口b3处理业务请求q1的接口时延为130us,业务请求q1在业务模块b处的处理时延为741us;业务请求q1在业务系统中的处理时延为1096us(即1.096s),大于预设延时阈值1s,则业务请求q1为异常业务请求,即目标业务请求。
38.示例性地,业务系统向异常请求定位系统发送的异常日志可以如下:
39.{“traceid”:“134543213141”,“requestdata”:“test1”,“errorcode”:“0”};其中,traceid为业务请求的跟踪标识,requestdata为业务请求所请求获取的资源,errorcode为业务系统处理业务请求返回的错误码信息。
40.可选地,业务系统在监测到各个业务请求在业务系统中各个接口处的处理时延时,还可以将各个业务请求在各个业务模块的各个接口的接口时延发送至监控系统。
41.在第二种可能的情况中,业务系统接收所有的业务请求,获取业务系统中的业务模块处理各个业务请求返回的错误码信息,若监测到目标业务请求对应的错误码不为预设码,则业务系统确定目标业务请求为异常业务请求,将目标业务请求在业务系统(如系统网关)中的日志发送给目标业务请求定位系统105。示例性地,业务系统向异常请求定位系统105发送的异常日志可以如下:
42.{“traceid”:“134543213141”,“requestdata”:“test2”,“errorcode”:“123”}
43.其中,预设码是指业务模块正常响应业务请求返回的错误码信息,其中,业务模块正常响应业务请求是指业务模块处理业务请求时未产生错误。示例性地,预设码例如可以
为0。
44.可选地,目标业务请求的跟踪标识也可以是异常请求定位系统直接获取得到的,其中,异常请求定位系统可以依次读取存储在日志系统中的日志和存储在监控系统中的接口时延,按上述业务系统判定业务请求是否为异常业务请求的方式确定出异常业务请求时,从日志系统中读取该异常业务请求的跟踪标识。又或者,异常请求定位系统与业务系统集成为一体,当业务系统监测到异常业务请求时,异常请求定位系统获取该异常业务请求的追踪标识。
45.有关于获取目标业务请求的跟踪标识的具体方式,本技术不做限制。
46.s202,根据目标业务请求的跟踪标识,获取业务系统中处理目标业务请求的至少一个业务模块各自对应的时间相关信息。
47.其中,一个业务模块对应的时间相关信息包括一个业务模块处理目标业务请求所产生的时间信息,一个业务模块对应的时间信息包括但不限于业务模块接收和响应该目标业务请求的时间、业务模块中的各个接口接收和响应该目标业务请求的时间、业务模块处理该目标业务请求产生的日志的日志时间、业务模块中的各个接口处理该异常响应所产生的日志的日志时间、业务模块处理完该目标业务请求并转发给另一个业务模块进行处理的时间、业务模块中的接口处理完该目标业务请求并转发给另一个接口进行处理的时间,等等,不限于这里的描述。
48.举例进行说明,以目标业务请求为前述业务请求q1为例,对于业务模块a,其对应的时间信息包括:接口a1接收业务请求q1的时间(2021.10.112:00:00.000)、接口a1响应业务请求q1的时间(2021.10.1 12:00:00.167)、接口a转发业务请求q1的时间(2021.10.1 12:00:00.167)、接口a2接收业务请求q1的时间(2021.10.1 12:00:00.167)、接口a2响应业务请求q2的时间(2021.10.1 12:00:00.355)、接口a2转发业务请求q2的时间(2021.10.112:00:00.355)、记录接口a1处理业务请求q1这一动作的日志的日志时间和记录接口a2处理业务请求q1这一动作的日志的日志时间。
49.具体实现中,可以根据跟踪标识,从日志系统中获取与跟踪标识对应的模块日志,模块日志用于记录处理该目标业务请求的至少一个业务模块,在处理该目标业务请求时所产生的日志信息,日志信息中包含了业务模块处理该目标业务请求的所有时间信息,从模块日志中获取处理该目标业务请求的至少一个业务模块各自对应的时间相关信息。
50.s203,根据业务系统中处理目标业务请求的至少一个业务模块各自对应的时间相关信息,生成目标业务请求对应的疑似异常接口信息。
51.本技术实施例中,目标业务请求对应的疑似异常接口信息包括至少一个第一接口和至少一个第一接口各自关联的异常信息,其中,第一接口为处理目标业务请求的至少一个业务模块各自包含的接口中,与异常响应相关的接口;一个第一接口关联的异常信息是指该一个第一接口在处理目标业务请求时产生的与异常响应相关的信息。至少一个第一接口和至少一个第一接口各自关联的异常信息在疑似异常接口信息中按与异常响应的相关度排列,其中,第一接口与异常响应的相关度基于至少一个业务模块各自对应的时间相关信息得到。
52.具体地,在目标业务请求为前述步骤s201中介绍的第一种情况中的异常业务请求的情况下,可以获取每个业务模块的各个接口接收该目标业务请求的时间(以下称第一时
间)和响应该目标业务请求的时间(以下称第二时间),然后按照如下步骤生成该目标业务请求对应的疑似异常接口信息:
53.j1、根据第二接口对应的第一时间和第二时间,计算第二接口的接口时延。
54.这里,第二接口可以为处理该目标业务请求的业务模块包含的任意一个接口。以目标业务请求为前述业务请求q1为例,则前述接口a1、接口a2、接口b1、接口b2或接口b3均可以称之为第二接口。
55.具体实现中,可以计算第二接口的第二时间与第一时间之间的时间差,得到第二接口的接口时延。
56.j2、计算第二接口的接口时延与第二接口对应的平均处理时延之间的差值,得到第二接口的时延差。
57.这里,第二接口对应的平均处理时延是指第二接口在历史时间/历史相同所属时间段中处理业务请求的接口时延的平均情况,反映了第二接口处理业务请求的平均时延,可以理解为是正常处理业务请求时的时延情况。
58.在一些可行的实施方式中,可以获取第二接口的预设数量的历史接口时延,历史接口时延为第二接口在历史时间/历史相同所属时间段中接收一次业务请求的时间至响应一次业务请求的时间之间的时长,第二接口的预设数量的历史接口时延求平均,得到第二接口对应的平均处理时延。例如,第二接口为前述的接口a1,则可以获取接口a1在处理该目标业务请求之前的最近5次的接口时延,求取5次接口时延的平均值,作为接口a1的平均处理时延。
59.在另一些可行的实施方式中,也可以通过基于滑动窗的方式,获取多组历史接口时延,先将每个滑动窗中的历史接口时延求平均,得到各个滑动窗对应的平均接口时延,再将各个滑动窗口对应的平均接口时延求平均,得到平均处理时延。例如,第二接口为前述的接口a1,可以获取接口a1在处理该目标业务请求之前的最接近8次的接口时延,将前8次~前3次的接口时延作为一组历史接口时延,将前7次~前2次的接口时延作为一组历史接口时延,将前6次~前1次的接口时延作为一组历史接口时延,得到3组历史接口时延,分别求这3组历史接口时延的平均接口时延,再对这3组历史接口时延的平均接口时延求平均,作为接口a1的平均处理时延。基于滑动窗获取多组历史接口时延的方式,能够得到更准确地反映接口处理业务请求的平均时延情况的平均处理时延。
60.在又一些可行的实施方式中,还可以对第二接口的历史接口时延进行线性回归,得到反映第二接口的历史接口时延的发展变化情况的时延回归线,将处于时延回归线上的接口时延作为第二接口对应的平均处理时延。对于确定第二接口对应的平均处理时延的具体实现方式,本技术不做限制。
61.在一种具体实现方式中,异常请求定位系统可以从监控系统中获取第二接口的预设数量的历史接口时延,计算得到第二接口对应的平局处理时延。
62.j3、根据至少一个业务模块各自包含的接口的时延差,对至少一个业务模块各自包含的接口进行排序,根据排序后的接口和排序后的接口的时延差,得到疑似异常接口信息。
63.这里,接口对应的时延差反映了接口在处理该目标业务请求时的时延与该接口在正常处理业务请求时的时延之间的差距,时延差越大,则说明接口在处理该目标业务请求
时的时延与该接口在正常处理业务请求时的时延之间的差距越大,接口出现异常的可能性越高,时延差越小,则说明接口在在处理该目标业务请求时的时延与该接口在正常处理业务请求时的时延之间的差距越小,接口出现异常的可能性越低。因此,根据至少一个业务模块各自包含的接口的时延差,对至少一个业务模块各自包含的接口进行排序,相当于是根据接口造成异常响应的可能性进行排序,排序后的接口可反映接口与该目标业务请求在业务系统中产生异常响应之间的相关度高低。
64.具体实现中,可以根据至少一个业务模块各自包含的接口的时延差,将时延差较大的接口排列在前,将时延差较小的接口排列在后,以此得到排序后的接口;再获取排序后的接口的时延差,与排序后的接口组合得到疑似异常接口信息。这样,可使开发人员在定位异常响应的问题时,能优先定位到时延差较大的接口,也即定位到与异常响应相关度较高的接口,有助于快速定位异常响应的问题所在。
65.例如,处理目标业务请求的模块分别有模块d、模块e、模块f,其中,模块d有接口d1,模块e有接口e1,模块f有接口f1,排序前的各接口和接口的时延差如下:
66.{
67.模块d:接口d1——3ms
68.模块e:接口e1——5ms
69.模块f:接口f1——-1ms
70.}
71.根据时延差排序后,排序后的接口与排序后的接口的时延差组合得到疑似异常接口信息如下:
72.{
73.模块e:接口e1——5ms
74.模块d:接口d1——3ms
75.模块f:接口f1——-1ms
76.}
77.可选地,在根据至少一个业务模块各自包含的接口的时延差,对至少一个业务模块各自包含的接口排序后,还可以在排序后的接口中剔除小于预设时延差阈值的接口,得到剔除后的接口;然后根据剔除后的接口和剔除后的接口的时延差,得到疑似异常接口信息;或者,也可以先剔除小于预设时延差阈值的接口,再对剔除后的接口进行排序。或者,也可以剔除本技术不做限制。
78.具体地,在目标业务请求为前述步骤s202中介绍的第二种情况中的异常业务请求的情况下,可以获取每个业务模块的业务模块中的各个接口处理该异目标业务请求所产生的日志的日志时间,日志时间是指接口处理目标业务请求生成日志的时间。然后按照如下步骤生成该目标业务请求对应的疑似异常接口信息:
79.k1、在至少一个业务模块各自包含的接口中确定错误码不为预设码的接口。
80.这里,有关于预设码的概念,可参考前述描述,此处不再赘述。
81.k2、根据日志时间的先后顺序,对错误码不为预设码的接口进行排序,根据排序后的接口和排序后的接口对应的错误码,得到疑似异常接口信息。
82.这里,日志时间的先后顺序反映了接口处理目标业务请求的先后顺序,根据日志
时间对至少错误码不为预设码的接口进行排序,相当于是根据接口处理的先后顺序进行排序,接口出错的先后顺序反映了接口与异常响应之间的相关度。
83.具体实现中,可以根据日志时间,将日志时间较早的错误码不为预设码的接口排列在前,将日志时间较后的错误码不为预设码的接口排列在后。这样,可使开发人员在定位异常响应的问题时,能优先定位到最先出错的接口,也即与产生异常响应相关度最高的接口,从而方便开发人员从根本上解决问题。
84.例如,处理目标业务请求的模块分别有模块d、模块e,其中,模块d有接口d2,模块e有接口e2,模块f有接口f2,预设码为0,各个接口的日志时间和错误码信息如下:
85.{
86.模块d:接口d2——123 2021.10.1 12:00:00.333
87.模块e:接口e2——0 2021.10.1 12:00:00.666
88.模块f:接口f2——456 2021.10.1 12:00:00.108
89.}
90.则根据日志时间的先后顺序,将错误码不为预设码的接口进行排序后,排序后的接口与排序后的接口的错误码组合得到疑似异常接口信息如下:
91.{
92.模块f:接口f1——456 2021.10.1 12:00:00.108
93.模块d:接口d2——123 2021.10.1 12:00:00.333
94.}
95.在上述图2对应的技术方案中,通过根据在业务系统中对应异常响应的目标业务请求的跟踪标识,找到业务系统中处理该目标业务请求的业务模块处理该目标业务请求时所产生的时间信息,根据该时间信息生成目标业务请求对应的疑似异常接口信息,由于疑似异常接口信息中包含与异常响应相关的接口,且这些接口在疑似异常接口信息中按与异常响应的相关度进行排列,相关度基于时间信息得到,相当于是根据处理该目标业务请求的业务模块处理该目标业务请求所产生的时间信息确定了处理该目标业务请求的业务模块与异常响应的相关程度,因此,生成按相关度排列的疑似异常接口信息能够有助于开发人员快速定位到出现问题的业务模块,提高定位效率;;另外,根据疑似异常接口信息中的各接口关联的异常情况,可方便开发人员确定接口出现异常的问题。
96.可选地,在一些可行的实施方式中,在执行上述步骤s203后,还可以执行如下步骤:
97.l1、确定所述疑似异常接口信息中的接口各自对应的第一频率。
98.l2、在疑似异常接口信息中对第一频率高于预设频率阈值的接口进行突出标示。
99.这里,接口对应的第一频率是指疑似异常接口信息中的接口出现在目标业务请求对应的历史疑似异常接口信息中且在历史疑似异常接口信息中处于前n位的频率,n为大于等于1的正整数。其中,历史疑似异常接口信息是指在历史时间中处理该目标业务请求产生的疑似异常接口信息。接口对应的第一频率可以等于接口出现在目标业务请求对应的历史疑似异常接口信息中处于前n位的次数与历史疑似异常接口信息的总数量的比值。
100.例如,n=1,经过步骤s203确定的疑似异常接口信息为{a1,a2,b1,b2,b3},历史疑似异常接口信息有3组,分别为{b1,a2,b2,b3,a1},{a1,b3,b2,b1,a3}、{b1,b2,a2,b3,a1},
则b1对应的第一频率为2/3,a1对应的第一频率为1/3。
101.在历史疑似异常接口信息处于前n位,说明在历史时间中与异常响应产生有较大的关系;在历史疑似异常接口信息中处于前n位的频率大于预设频率阈值,说明接口是造成异常响应的根本原因的可能性较大,通过对在历史时间中出现在前n位的频率较高的接口进行突出标示,可以方便开发人员对异常响应出现的根本原因进行快速定位。
102.具体实现中,可以以颜色高亮显示、加粗显示、下划线标注等方式突出标示第一频率高于预设频率阈值的接口。
103.可选地,在一些可行的实施方式中,上述方法还可以包括如下步骤:
104.g1、统计业务系统中各业务模块包含的接口各自对应的第二频率;
105.g2、按第二频率对业务系统中各业务模块包含的接口进行排序后,生成业务系统的接口响应统计报表。
106.这里,接口对应的第二频率是指在业务系统中生成的所有疑似异常接口信息中出现的频率,其中,所有疑似异常接口信息可包括多个目标业务请求各自对应的疑似异常接口信息。接口对应的第二频率可以等于接口出现在疑似异常接口信息中的次数与疑似异常接口信息的总数量的比值,需要说明的是,这里的疑似异常接口信息指的是业务系统中生成的所有疑似异常接口信息。
107.通过按接口对应的第二频率对业务系统中各业务模块包含的接口进行排序,相当于是按接口发生异常响应的频次进行排序。具体实现中,可以将第二频率较高的接口排列在前,将第二频率较低的接口排列在后,从而将经常出现异常响应的接口排列在前,生成接口响应统计报表。能够有助于开发人员快速找到经常出现问题的业务模块,从而对业务模块进行改进。
108.上述介绍了本技术的方法,为了更好地实施本技术的方法,接下来介绍本技术的装置。
109.参见图3,图3是本技术实施例提供的一种异常处理装置的结构示意图,异常处理装置可以为上述目标业务请求定位系统的一部分。如图3所示,该异常处理装置30包括:
110.标识获取模块301,用于获取目标业务请求的跟踪标识,所述目标业务请求为在业务系统中对应异常响应的业务请求;
111.信息获取模块302,用于根据所述跟踪标识,获取所述业务系统中处理所述目标业务请求的至少一个业务模块各自对应的时间相关信息,其中,一个业务模块对应的时间相关信息包括所述一个业务模块处理所述目标业务请求所产生的时间信息;
112.生成模块303,用于根据所述至少一个业务模块各自对应的时间相关信息,生成所述目标业务请求对应的疑似异常接口信息,所述疑似异常接口信息包括所述至少一个业务模块中与异常响应相关的至少一个第一接口以及与每个第一接口关联的异常信息,所述至少一个第一接口和所述异常信息在所述疑似异常接口信息中按与异常响应的相关度排列,其中,所述相关度基于所述时间相关信息得到。
113.在一种可能的设计中,上述信息获取模块302具体用于:根据所述跟踪标识,从日志系统中获取与跟踪标识对应的模块日志,所述模块日志用于记录所述至少一个业务模块日志处理所述目标业务请求所产生的日志信息,所述日志信息包括所述时间相关信息;从所述模块日志中获取所述至少一个业务模块各自对应的时间相关信息。
114.在一种可能的设计中,所述目标业务请求为在所述业务系统中的处理时延大于预设延时阈值的请求,所述一个业务模块对应的时间相关信息包括所述一个业务模块中的各个接口各自对应的第一时间和第二时间,所述第一时间为接口接收所述目标业务请求的时间,所述第二时间为接口响应所述目标业务请求的时间;上述生成模块303具体用于:根据第二接口对应的第一时间和第二时间,计算所述第二接口的接口时延,所述第二接口为所述至少一个业务模块包含的任一接口;计算所述第二接口的接口时延与所述第二接口对应的平均处理时延之间的差值,得到所述第二接口的时延差;根据所述至少一个业务模块各自包含的接口的时延差,对所述至少一个业务模块各自包含的接口进行排序,根据排序后的接口和所述排序后的接口的时延差,得到所述疑似异常接口信息,得到所述疑似异常接口信息。
115.在一种可能的设计中,生成模块303还用于:获取所述第二接口的预设数量的历史接口时延,所述历史接口时延为所述第二接口在历史时间中接收一次业务请求的时间至响应所述一次业务请求的时间之间的时长;对所述预设数量的历史接口时延求平均,得到所述第二接口对应的平均处理时延。
116.在一种可能的设计中,所述目标业务请求为在所述业务系统中产生错误的请求;所述一个业务模块对应的时间相关信息包括所述一个业务模块中的各个接口各自对应的日志时间,所述日志时间为接口处理所述目标业务请求生成日志的时间;生成模块303具体用于:在所述至少一个业务模块各自包含的接口中确定错误码不为预设码的接口;根据所述日志时间,对所述错误码不为预设码的接口进行排序,根据排序后的接口和所述排序后的接口对应的错误码,得到所述疑似异常接口信息得到所述疑似异常接口信息。
117.在一种可能的设计中,上述异常处理装置30还包括标示模块304,用于:确定所述疑似异常接口信息中的接口各自对应的第一频率,所述第一频率是指出现在所述异常请求对应的历史疑似异常接口信息中且在所述历史疑似异常接口信息中处于前n位的频率,n为大于等于1的正整数;在所述疑似异常接口信息中对所述第一频率高于预设频率阈值的接口进行突出标示。
118.在一种可能的设计中,上述生成模块305还用于:统计所述业务系统中各业务模块包含的接口各自对应的第二频率,所述第二频率是指在业务系统中生成的所有疑似异常接口信息中出现的频率;按所述第二频率对所述业务系统中各业务模块包含的接口进行排序后,生成所述业务系统的接口响应统计报表。
119.需要说明的是,图3对应的实施例中未提及的内容可参见前述图2方法实施例的描述,这里不再赘述。
120.上述装置,通过根据在业务系统中对应异常响应的目标业务请求的跟踪标识,找到业务系统中处理该目标业务请求的业务模块处理该目标业务请求时所产生的时间信息,根据该时间信息生成目标业务请求对应的疑似异常接口信息,由于疑似异常接口信息中包含与异常响应相关的接口,且这些接口在疑似异常接口信息中按与异常响应的相关度进行排列,相关度基于时间信息得到,相当于是根据处理该目标业务请求的业务模块处理该目标业务请求所产生的时间信息确定了处理该目标业务请求的业务模块与异常响应的相关程度,因此,生成按相关度排列的疑似异常接口信息能够有助于开发人员快速定位到出现问题的业务模块,提高定位效率。
121.参见图4,图4是本技术实施例提供的一种计算机设备的结构示意图,该计算机设备40包括处理器401、存储器402。处理器401连接到存储器402,例如处理器401可以通过总线连接到存储器402。
122.处理器401被配置为支持该计算机设备40执行上述方法实施例中的方法中相应的功能。该处理器401可以是中央处理器(central processing unit,cpu),网络处理器(network processor,np),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
123.存储器402用于存储程序代码等。存储器402可以包括易失性存储器(volatile memory,vm),例如随机存取存储器(random access memory,ram);存储器302也可以包括非易失性存储器(non-volatile memory,nvm),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器402还可以包括上述种类的存储器的组合。
124.处理器401可以调用所述程序代码以执行以下操作:
125.获取目标业务请求的跟踪标识,所述目标业务请求为经业务系统处理对应异常响应的业务请求;
126.根据所述跟踪标识,获取所述业务系统中处理所述目标业务请求的至少一个业务模块各自对应的时间相关信息,其中,一个业务模块对应的时间相关信息包括所述一个业务模块处理所述目标业务请求所产生的时间信息;
127.根据所述至少一个业务模块各自对应的时间相关信息,生成所述目标业务请求对应的疑似异常接口信息,所述疑似异常接口信息包括所述至少一个业务模块各自包含的接口中与所述异常响应相关的至少一个第一接口以及与每个第一接口关联的异常信息,所述至少一个第一接口和所述异常信息在所述疑似异常接口信息中按与异常响应的相关度排列,其中,所述相关度基于所述时间相关信息得到。
128.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如前述实施例所述的方法。
129.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
130.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献