一种问题接口的定位方法、装置、电子设备及存储介质与流程

文档序号:30257807发布日期:2022-06-02 02:37阅读:72来源:国知局
一种问题接口的定位方法、装置、电子设备及存储介质与流程

1.本发明涉及计算机技术领域,更具体的说,涉及一种问题接口的定位方法、装置、电子设备及存储介质。


背景技术:

2.随着移动互联网的蓬勃发展,涌现出各种各样的后端服务,很多后端服务之间存在数据交互,在这种复杂的、多层级的微服务软件技术架构中,一旦面向客户端的服务端接口出现响应异常,即服务端接口返回的访问数据出现异常,将会影响整个架构的正常运行。因此,当检测到服务端接口返回的访问数据出现异常时,需要快速定位出出现问题的服务端接口,并反馈给相应的开发人员。
3.现有技术定位问题接口的流程为:由直接面向客户端服务的技术人员根据客户端反馈的请求访问日志中查找到对应的请求信息,或者用网络代理工具(如charles)重现客户端问题后找到请求信息,利用本地启动项目切换到线上环境调试该请求信息,通过对服务接口的程序代码进行在线调试,定位出现问题的服务端接口。但是,如果根据请求信息发现下游服务响应内容有问题,则需要负责下游服务的技术人员切换到线上环境调试下游服务,再次对服务接口的程序代码进行在线调试。
4.现有技术对问题接口定位时,需要技术人员进行人工定位,因此问题接口定位时间较长,整个过程耗时耗力,降低了问题接口的定位效率。


技术实现要素:

5.有鉴于此,本发明公开一种问题接口的定位方法、装置、电子设备及存储介质,以实现通过调试模式重现客户端发起http请求的过程来定位接口问题,无需开发人员对服务接口的程序代码进行在线调试,节省人力和定位时长,整个过程省时省力,从而提高问题接口的定位效率。
6.一种问题接口的定位方法,应用于服务端,所述定位方法包括:
7.获取客户端在功能异常时反馈的故障基础信息以及id信息,其中,所述故障基础信息至少包括:功能分类和故障发生时间点,所述id信息包括:客户端id;
8.根据所述功能分类查找到对应的服务端接口;
9.根据所述故障发生时间点查找到所述客户端id对应的设备访问所述服务端接口的访问日志;
10.根据所述访问日志确定对应的http请求;
11.基于调试模式模拟客户端再次发起所述http请求,得到调用链所有服务端接口的调试日志信息;
12.从所有的所述调试日志信息中查找到具有错误码的目标调试日志信息,并将所述目标调试日志信息对应的服务端接口确定为问题接口。
13.可选的,当用户在所述客户端登录时,所述id信息还包括:登录用户id。
14.可选的,所述基于调试模式模拟客户端再次发起所述http请求,得到调用链所有服务端接口的调试日志信息,包括:
15.为所述http请求添加能够触发所述调试模式的httpheader,模拟所述客户端再次发起所述http请求,得到调用链所有服务端接口的所述调试日志信息。
16.可选的,所述调试日志信息的字段包括:seqid、nodeid、parentnodeid、nodename、nodeparams和noderesult;
17.所述seqid,用于表示链路唯一标识,用来标识本次http请求,以将每一个子调用与最初的http请求关联起来;
18.所述nodeid,用于表示链路中的节点,一条所述链路表征客户端发起的一次http请求;
19.所述parentnodeid,用于将两个紧邻的调用进行关联;
20.所述nodename,用于表示链路中的节点名称;
21.所述nodeparams,用于表示链路中节点本次请求的路径和参数;
22.所述noderesult,用于表示链路中节点本次请求的响应内容,以便快速定位问题。
23.可选的,所述链路中的节点关系包括:孩子节点关系和跟随节点关系,所述孩子节点关系和跟随节点关系代表了子节点和父节点间的直接因果关系;
24.当所述父亲节点依赖于孩子节点的返回结果时,所述父亲节点和所述孩子节点之间构成所述孩子节点关系;
25.当所述父亲节点不依赖于所述孩子节点的返回结果时,所述父亲节点和所述孩子节点之间构成所述跟随节点关系。
26.可选的,还包括:
27.输出并展示所述问题接口。
28.一种问题接口的定位装置,应用于服务端,所述定位装置包括:
29.第一获取单元,用于获取客户端在功能异常时反馈的故障基础信息以及id信息,其中,所述故障基础信息至少包括:功能分类和故障发生时间点,所述id信息包括:客户端id;
30.接口查找单元,用于根据所述功能分类查找到对应的服务端接口;
31.日志查找单元,用于根据所述故障发生时间点查找到所述客户端id对应的设备访问所述服务端接口的访问日志;
32.请求确定单元,用于根据所述访问日志确定对应的http请求;
33.第二获取单元,用于基于调试模式模拟客户端再次发起所述http请求,得到调用链所有服务端接口的调试日志信息;
34.问题接口确定单元,用于从所有的所述调试日志信息中查找到具有错误码的目标调试日志信息,并将所述目标调试日志信息对应的服务端接口确定为问题接口。
35.可选的,所述第二获取单元具体用于:
36.为所述http请求添加能够触发所述调试模式的httpheader,模拟所述客户端再次发起所述http请求,得到调用链所有服务端接口的所述调试日志信息。
37.一种电子设备,所述电子设备包括存储器和处理器;
38.所述存储器用于存储至少一个指令;
39.所述处理器用于执行所述至少一个指令以实现上述所述的问题接口的定位方法。
40.一种计算机可读存储介质,所述计算机可读存储介质存储至少一个指令,所述至少一个指令被处理器执行时实现上述所述的问题接口的定位方法。
41.从上述的技术方案可知,本发明公开了一种问题接口的定位方法、装置、电子设备及存储介质,获取客户端在功能异常时反馈的故障基础信息以及id信息,故障基础信息至少包括:功能分类和故障发生时间点,根据功能分类查找到对应的服务端接口,根据故障发生时间点查找到客户端id对应的设备访问服务端接口的访问日志,根据访问日志确定对应的http请求,基于调试模式模拟客户端再次发起http请求,得到调用链所有服务端接口的调试日志信息,从所有的调试日志信息中查找到具有错误码的目标调试日志信息,并将目标调试日志信息对应的服务端接口确定为问题接口。本发明通过调试模式重现客户端发起http请求的过程来定位接口问题,无需开发人员对服务接口的程序代码进行在线调试,节省了人力和定位时长,整个过程省时省力,从而提高了问题接口的定位效率。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。
43.图1为本发明实施例公开的一种问题接口的定位方法流程图;
44.图2为本发明实施例公开的一种服务依赖图;
45.图3为本发明实施例公开的一种链路示意图;
46.图4为本发明实施例公开的一种链路简图;
47.图5为本发明实施例公开的另一种链路示意图;
48.图6为本发明实施例公开的一种调试日志信息字段的示意图;
49.图7为本发明实施例公开的一种调用链的可视化视图;
50.图8为本发明实施例公开的一种播放功能依赖图;
51.图9为本发明实施例公开的一种问题接口的定位装置的结构示意图;
52.图10为本发明实施例公开的一种电子设备的结构示意图。
具体实施方式
53.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
54.本发明实施例公开了一种问题接口的定位方法、装置、电子设备及存储介质,获取客户端在功能异常时反馈的故障基础信息以及id信息,故障基础信息至少包括:功能分类和故障发生时间点,根据功能分类查找到对应的服务端接口,根据故障发生时间点查找到客户端id对应的设备访问服务端接口的访问日志,根据访问日志确定对应的http请求,基于调试模式模拟客户端再次发起http请求,得到调用链所有服务端接口的调试日志信息,
从所有的调试日志信息中查找到具有错误码的目标调试日志信息,并将目标调试日志信息对应的服务端接口确定为问题接口。本发明通过调试模式重现客户端发起http请求的过程来定位接口问题,无需开发人员对服务接口的程序代码进行在线调试,节省了人力和定位时长,整个过程省时省力,从而提高了问题接口的定位效率。
55.参见图1,本发明实施例公开的一种问题接口的定位方法流程图,该定位方法应用于服务端,定位方法包括:
56.步骤s101、获取客户端在功能异常时反馈的故障基础信息以及id信息;
57.客户端设备可以为:iphone,aphone,ipad,pc浏览器,手机浏览器等。本实施例中的客户端是指在客户端设备上运行的系统,比如芒果tv网站、app等。
58.本实施例中的客户端具有问题反馈功能,当用户所使用的客户端的功能出现异常时,可以在问题反馈功能界面提交故障基础信息和id信息。
59.故障基础信息至少包括:功能分类和故障发生时间点。在实际应用中,故障基础信息还可以包括:功能描述,等等,具体依据实际需要而定。
60.本实施例中,id信息包括:客户端id,当用户在客户端登录时,id信息还可以包括:登录用户id。
61.需要特别说明的是,本发明由服务端定位问题接口。服务端是为客户端提供业务数据的接口系统,比如有频道、点播播放、直播播放等服务端系统。
62.服务端直接的依赖是多层级的,参见图2所示的服务依赖图,包括:客户端、网关、服务端接口1、服务端接口2、服务端接口3和服务端接口4,各个服务端接口支持调试模式访问。调试模式触发方式是通过新增httpheader的方式,如x-mgtv-debug:info,同时客户端会生成全局唯一的seqid(链路唯一标识),作为参数传入到后端服务。httpheader的x-mgtv-debug和seqid参数会一直传递到下游依赖的服务,因此,一旦面向客户端的服务端接口1进入调试模式,服务端接口1依赖的后续所有服务端接口(服务端接口2、服务端接口3和服务端接口4)都进入调试模式。
63.步骤s102、根据所述功能分类查找到对应的服务端接口;
64.在实际应用中,不同的功能分类对应不同的服务端接口,比如,功能分类为:视频播放,对应的服务端接口为:视频取串接口。
65.步骤s103、根据所述故障发生时间点查找到所述客户端id对应的设备访问所述服务端接口的访问日志;
66.需要说明的是,用户正常使用客户端的功能或功能发生异常时,客户端都会请求服务端接口,服务端接收到客户端的接口请求后,会记录下所有请求的访问日志(包括请求域名、接口地址、id信息等)及对应的访问时间,因此,根据故障发生时间点查找到客户端id对应的设备访问服务端接口的访问日志。比如,故障发生时间点为2021-12-07 12:00:00,服务端接口为:视频取串接口,则查找到客户端id对应的设备访问视频取串接口的访问日志。
67.步骤s104、根据所述访问日志确定对应的http请求;
68.访问日志对应的http请求,也即当用户使用客户端的功能出现异常之前,客户端向服务端发送的http请求。
69.步骤s105、基于调试模式模拟客户端再次发起所述http请求,得到调用链所有服
务端接口的调试日志信息;
70.本实施例中,服务端的问题定位后台为http请求添加能够触发调试模式的httpheader,模拟客户端再次发起http请求,得到调用链所有服务端接口的调试日志信息。
71.其中,httpheader表示http首部。
72.需要说明的是,本发明中所述的问题定位后台是为问题定位人员快速定位问题的界面操作管理系统。
73.问题定位后台收到用户在客户端提交的问题反馈:功能分类、功能描述、故障发生时间点等信息后,根据功能分类找到对应的服务接口,根据发生时间点找到用户设备该接口的访问日志,以调试模式(添加x-mgtv-debug的httpheader)重放请求后,链路上所有服务接口的调试日志信息被存储下来。调试日志信息经过日志分析后,以接口的方式提供结果给问题定位后图形化展示出来。问题定位人员收到用户反馈时,到问题定位后台查看图形化的调试日志信息即能快速定位出现有问题的服务或方法。
74.在实际应用中,问题定位人员在问题定位后台查找到有问题的http请求后,点击调试按钮,问题定位后台为http请求添加能触发调试模式的httpheader后,模拟客户端再次发起http请求。
75.服务端在调试模式下收集所有服务端接口的调试日志信息,调试日志信息主要是重要方法、第三方服务或第三方组件的执行情况,调试日志信息的概念包括:链路和节点。
76.步骤s106、从所有的所述调试日志信息中查找到具有错误码的目标调试日志信息,并将所述目标调试日志信息对应的服务端接口确定为问题接口。
77.当服务端接口出现故障时,该服务端接口对应的调试日志信息会出现错误码,因此,通过查找到具有错误码的目标调试日志信息,即可确定问题接口,该问题接口也即出现故障的服务端接口。
78.综上可知,本发明公开了一种问题接口的定位方法,获取客户端在功能异常时反馈的故障基础信息以及id信息,故障基础信息至少包括:功能分类和故障发生时间点,根据功能分类查找到对应的服务端接口,根据故障发生时间点查找到客户端id对应的设备访问服务端接口的访问日志,根据访问日志确定对应的http请求,基于调试模式模拟客户端再次发起http请求,得到调用链所有服务端接口的调试日志信息,从所有的调试日志信息中查找到具有错误码的目标调试日志信息,并将目标调试日志信息对应的服务端接口确定为问题接口。本发明通过调试模式重现客户端发起http请求的过程来定位接口问题,无需开发人员对服务接口的程序代码进行在线调试,节省了人力和定位时长,整个过程省时省力,从而提高了问题接口的定位效率。
79.本发明中,调试日志信息的概念中,链路是一个客户端http请求在微服务架构系统中的执行过程。链路是多个节点组成的一个有向无环图(dag),每一个节点代表链路中被命名并记录调试日志信息的连续性的执行片段。
80.客户端发起一次http请求,则认为是一条链路。参见图3,本发明实施例公开的一种链路示意图,整个链路中包括:客户端、负载均衡、权限服务、订单服务和资源服务,其中,api(application programming interface,应用程序接口),rpc(remote procedure call,远程过程调用),整个过程如下:
81.1)用户在客户端操作某个功能时,发起一次http请求到负载均衡与后端服务进行
交互获取动态数据;
82.2)负载均衡首先发起权限服务的rpc调用;
83.3)权限服务rpc响应权限的数据;
84.4)负载均衡再发起订单服务的rpc调用;
85.5)订单服务rpc响应订单的数据;
86.6)负载均衡通过资源服务api请求资源服务;
87.7)资源服务api响应具体的资源内容;
88.8)负载均衡整合权限数据、订单数据和资源内容后,返回给客户端进行逻辑处理。
89.将图3通过链路和节点的语义修改完成后,做可视化处理,得到图4所示的链路简图,包括:客户端调用过程、负载均衡调用过程、权限服务过程、订单服务过程、资源的分配和提供过程、容器的初始化、分配存储空间和执行启动脚本几个模块,每个模块表示一个节点,一个节点代表系统中的逻辑运行单元,节点之间通过嵌套或者顺序排列建立逻辑因果关系。
90.参见图5所述的链路示意图,链路中除了根节点,还包括八个节点,分别为:节点a、节点b、节点c、节点d、节点e、节点f、节点g和节点h,其中,节点c是节点a的孩子节点,节点g在节点f后被调用。
91.一个节点可以和一个或多个节点间存在因果关系,本发明定义了两种节点关系:孩子节点关系和跟随节点关系,这两种节点关系代表了孩子节点和父节点间的直接因果关系。
92.当父亲节点依赖于孩子节点的返回结果,父亲节点和孩子节点之间构成孩子节点关系。比如函数调用,被调者是调用者的孩子,比如说rpc调用,服务端的节点是客户端的孩子节点。很多并发的调用,然后将结果聚合起来的操作,构成孩子节点关系。
93.如果父亲节点不依赖于孩子节点的返回结果,这时可以说父亲节点和孩子节点之间构成跟随节点关系。
94.每个节点都会有调试的日志信息,节点直接的关系以及节点的执行情况都通过日志信息来输出。调试日志信息的字段有:seqid、nodeid、parentnodeid、nodename、nodeparams和noderesult。
95.以图6为例解释调试日志信息字段。
96.collector:收集。
97.seqid:客户端生成并传给服务端的链路唯一标识,用于标识本次http请求,以将每一个子调用与最初的http请求关联起来,如图6的traceid:123。
98.nodeid:图6中的0,1,1.1,2,用于表示链路中的节点。
99.parentnodeid:比如b调用d的nodeid是1.1,则它的parentnodeid即为a调用b的nodeid即1,用于两个紧邻的调用进行关联。
100.nodename,用于表示链路中的节点名称。
101.nodeparams,用于表示链路中节点本次请求的路径和参数,方便重放本次请求,辅助定位问题。
102.noderesult,用于表示链路中节点本次请求的路径和参数,方便重放本次请求,辅助定位问题。
103.日志收集每次的调用日志信息如表1所示:
104.表1
[0105][0106]
根据表1中的信息可以绘制出调用链的可视化视图,如图7所示,从图7中可以查看到每个节点的入参和响应结果。
[0107]
在实际应用中,日志收集分为自动收集和手动收集两种情况。
[0108]
java语言可以使用javaagent形式来实现节点的调试日志信息的自动收集,从而可以做到对代码的无侵入性。
[0109]
本发明还会对收集的日志信息进行分析,日志分析是整理收集的体制信息,通过seqid将一个http请求的所有节点的调试日志信息串联起来,并为问题定位后台图形化展示提供接口。
[0110]
为进一步优化上述实施例,在步骤s106之后,还可以包括:
[0111]
在输出并展示所述问题接口。
[0112]
为便于理解本发明公开的问题接口的定位过程,本发明提供了一个具体实施例,如下:
[0113]
以视频播放功能为例,用户在客户端使用视频播放功能时,会请求后端播放服务的视频取串接口,响应内容来播放视频。
[0114]
视频取串接口依赖于后端的付费鉴权服务和取串服务,同时取串服务依赖于媒资基础服务。
[0115]
播放功能依赖图如8所示:
[0116]
当用户使用客户端的视频播放功能发生故障时,视频取串接口响应给客户端的内容为:
[0117]
{
[0118]“code”:“10002”,
[0119]“msg”:“视频信息获取失败”,
[0120]“code”:null,
[0121]
}
[0122]
由于正常的视频播放功能无法使用,因此,用户在客户端的问题反馈界面填写的故障基础信息如下:
[0123]
功能分类:视频播放
[0124]
功能描述:视频播放时提示错误
[0125]
故障发生时间点:2021-12-07 12:00:00
[0126]
客户端将故障基础信息以及id信息发送至服务端,id信息包括:客户端id,当用户在客户端登录时,id信息还可以包括:登录用户id。
[0127]
服务端的问题定位后台接收到客户端发送的故障基础信息以及id信息后,根据功能分类:视频播放查找到对应的服务端接口为播放服务的视频取串接口:video/source,然后从播放服务的请求日志中,根据故障发生时间点2021-12-07 12:00:00查找到视频取串接口的访问日志,根据访问日志确定2021-12-07 12:00:00对应的video/source接口请求(http请求),请求的信息如下:
[0128]
curl-h'host:www.mgtv.com'-h'accept:*/*'
[0129]
'http://www.mgtv.com/video/source?videoid=10000&seqid=21d75611017043108abb4882fd8d5835&did=836e02fce4fd87ff636eb68ac17cde806be51906'
[0130]
其中,videoid为视频唯一标识,seqid为链路唯一标识,did为客户端唯一标识。
[0131]
查找到有问题的请求后,问题定位后台为请求添加能触发调试模式的httpheader,模拟客户端再次发起请求,如下:
[0132]
curl-h'host:www.mgtv.com'-h'accept:*/*'-h'x-mgtv-debug:info''http://www.mgtv.com/video/source?videoid=10000&seqid=21d75611017043108abb4882fd8d5835&did=836e02fce4fd87ff636eb68ac17cde806
[0133]
播放服务及其下游收到重新发起的调试模式请求后,确定是调试模式时,输出了以下信息至日志收集,输出信息如下:
[0134]
[0135][0136]
经分析确定seqid为21d75611017043108abb4882fd8d5835的所有调试日志信息日志,通过接口输出给问题定位后台。问题定位后台图形化展示结果如图8所示,从图8中可以看出,媒资基础服务响应的结果为null,导致最终播放服务无法正常给出播放地址,因此,媒资基础服务接口为最终定位的问题接口。
[0137]
与上述方法实施例相对应,本发明还公开了一种问题接口的定位装置。
[0138]
参见图9,本发明实施例公开的一种问题接口的定位装置的结构示意图,该装置应用于服务端,定位装置包括:
[0139]
第一获取单元201,用于获取客户端在功能异常时反馈的故障基础信息以及id信息;
[0140]
本实施例中的客户端具有问题反馈功能,当用户所使用的客户端的功能出现异常时,可以在问题反馈功能界面提交故障基础信息和id信息。
[0141]
故障基础信息至少包括:功能分类和故障发生时间点。在实际应用中,故障基础信息还可以包括:功能描述,等等,具体依据实际需要而定。
[0142]
本实施例中,id信息包括:客户端id,当用户在客户端登录时,id信息还可以包括:登录用户id。
[0143]
接口查找单元202,用于根据所述功能分类查找到对应的服务端接口;
[0144]
在实际应用中,不同的功能分类对应不同的服务端接口,比如,功能分类为:视频播放,对应的服务端接口为:视频取串接口。
[0145]
日志查找单元203,用于根据所述故障发生时间点查找到所述客户端id对应的设备访问所述服务端接口的访问日志;
[0146]
需要说明的是,用户正常使用客户端的功能或功能发生异常时,客户端都会请求服务端接口,服务端接收到客户端的接口请求后,会记录下所有请求的访问日志(包括请求域名、接口地址、id信息等)及对应的访问时间,因此,根据故障发生时间点查找到客户端id对应的设备访问服务端接口的访问日志。比如,故障发生时间点为2021-12-07 12:00:00,服务端接口为:视频取串接口,则查找到客户端id对应的设备访问视频取串接口的访问日志。
[0147]
请求确定单元204,用于根据所述访问日志确定对应的http请求;
[0148]
访问日志对应的http请求,也即当用户使用客户端的功能出现异常之前,客户端向服务端发送的http请求。
[0149]
第二获取单元205,用于基于调试模式模拟客户端再次发起所述http请求,得到调用链所有服务端接口的调试日志信息;
[0150]
本实施例中,服务端的问题定位后台为http请求添加能够触发调试模式的httpheader,模拟客户端再次发起http请求,得到调用链所有服务端接口的调试日志信息。
[0151]
其中,httpheader表示http首部。
[0152]
需要说明的是,本发明中所述的问题定位后台是为问题定位人员快速定位问题的界面操作管理系统。
[0153]
问题定位后台收到用户在客户端提交的问题反馈:功能分类、功能描述、故障发生时间点等信息后,根据功能分类找到对应的服务接口,根据发生时间点找到用户设备该接口的访问日志,以调试模式(添加x-mgtv-debug的httpheader)重放请求后,链路上所有服务接口的调试日志信息被存储下来。调试日志信息经过日志分析后,以接口的方式提供结果给问题定位后图形化展示出来。问题定位人员收到用户反馈时,到问题定位后台查看图形化的调试日志信息即能快速定位出现有问题的服务或方法。
[0154]
问题接口确定单元206,用于从所有的所述调试日志信息中查找到具有错误码的目标调试日志信息,并将所述目标调试日志信息对应的服务端接口确定为问题接口。
[0155]
当服务端接口出现故障时,该服务端接口对应的调试日志信息会出现错误码,因此,通过查找到具有错误码的目标调试日志信息,即可确定问题接口,该问题接口也即出现故障的服务端接口。
[0156]
综上可知,本发明公开了一种问题接口的定位装置,获取客户端在功能异常时反
馈的故障基础信息以及id信息,故障基础信息至少包括:功能分类和故障发生时间点,根据功能分类查找到对应的服务端接口,根据故障发生时间点查找到客户端id对应的设备访问服务端接口的访问日志,根据访问日志确定对应的http请求,基于调试模式模拟客户端再次发起http请求,得到调用链所有服务端接口的调试日志信息,从所有的调试日志信息中查找到具有错误码的目标调试日志信息,并将目标调试日志信息对应的服务端接口确定为问题接口。本发明通过调试模式重现客户端发起http请求的过程来定位接口问题,无需开发人员对服务接口的程序代码进行在线调试,节省了人力和定位时长,整个过程省时省力,从而提高了问题接口的定位效率。
[0157]
需要特别说明的是,装置实施例中各组成部分的具体工作原理,请参见方法实施例对应部分,此处不再赘述。
[0158]
与上述实施例相对应,如图10所示,本发明还提供了一种电子设备,电子设备可以包括:处理器1和存储器2;
[0159]
其中,处理器1和存储器2通过通信总线3完成相互间的通信;
[0160]
处理器1,用于执行至少一个指令;
[0161]
存储器2,用于存储至少一个指令;
[0162]
处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0163]
存储器2可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0164]
其中,处理器执行至少一个指令实现如下功能:
[0165]
获取客户端在功能异常时反馈的故障基础信息以及id信息,其中,所述故障基础信息至少包括:功能分类和故障发生时间点,所述id信息包括:客户端id;
[0166]
根据所述功能分类查找到对应的服务端接口;
[0167]
根据所述故障发生时间点查找到所述客户端id对应的设备访问所述服务端接口的访问日志;
[0168]
根据所述访问日志确定对应的http请求;
[0169]
基于调试模式模拟客户端再次发起所述http请求,得到调用链所有服务端接口的调试日志信息;
[0170]
从所有的所述调试日志信息中查找到具有错误码的目标调试日志信息,并将所述目标调试日志信息对应的服务端接口确定为问题接口。
[0171]
本发明还公开了一种计算机可读存储介质,计算机可读存储介质存储至少一个指令,所述至少一个指令被处理器执行时实现如下功能:
[0172]
获取客户端在功能异常时反馈的故障基础信息以及id信息,其中,所述故障基础信息至少包括:功能分类和故障发生时间点,所述id信息包括:客户端id;
[0173]
根据所述功能分类查找到对应的服务端接口;
[0174]
根据所述故障发生时间点查找到所述客户端id对应的设备访问所述服务端接口的访问日志;
[0175]
根据所述访问日志确定对应的http请求;
[0176]
基于调试模式模拟客户端再次发起所述http请求,得到调用链所有服务端接口的调试日志信息;
[0177]
从所有的所述调试日志信息中查找到具有错误码的目标调试日志信息,并将所述目标调试日志信息对应的服务端接口确定为问题接口。
[0178]
综上可知,本发明公开的电子设备及计算机可读存储介质,获取客户端在功能异常时反馈的故障基础信息以及id信息,故障基础信息至少包括:功能分类和故障发生时间点,根据功能分类查找到对应的服务端接口,根据故障发生时间点查找到客户端id对应的设备访问服务端接口的访问日志,根据访问日志确定对应的http请求,基于调试模式模拟客户端再次发起http请求,得到调用链所有服务端接口的调试日志信息,从所有的调试日志信息中查找到具有错误码的目标调试日志信息,并将目标调试日志信息对应的服务端接口确定为问题接口。本发明通过调试模式重现客户端发起http请求的过程来定位接口问题,无需开发人员对服务接口的程序代码进行在线调试,节省了人力和定位时长,整个过程省时省力,从而提高了问题接口的定位效率。
[0179]
需要特别说明的是,电子设备及计算机可读存储介质的具体工作原理,请参见方法实施例对应部分,此处不再赘述。
[0180]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0181]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0182]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1