一种请求异常识别的方法与存储介质技术

技术编号:34862801 阅读:28 留言:0更新日期:2022-09-08 08:06
本发明专利技术公开了一种请求异常识别的方法与存储介质,请求发起方作为初始的调用方建立跟踪链路,并存入预设数据库;请求执行的每个调用过程中,由调用方在所述跟踪链路中新建一个跟踪节点,并在所述跟踪节点中插入调用时间戳、自身信息、上级跟踪节点信息以及被调用方信息,所述上级跟踪节点信息和所述被调用方信息可为空;向所述预设数据库获取追踪链路信息,根据所述追踪链路信息中的各个追踪节点的数据,判断请求是否存在异常,并定位异常的业务节点;本发明专利技术通过建立追踪链路,能够有效实现对一个请求的完整调用链路追踪,并能够通过其中记录的时间戳来了解每个被调用服务的响应时间,从而反映请求的执行情况和服务性能,定位异常业务节点。定位异常业务节点。定位异常业务节点。

【技术实现步骤摘要】
一种请求异常识别的方法与存储介质


[0001]本专利技术涉及计算机
,特别涉及一种请求异常识别的方法与存储介质。

技术介绍

[0002]在分布式系统,尤其是微服务系统中,一次外部请求往往需要内部多个模块,多个中间件,多台机器的相互调用才能完成。在这一系列的调用中,可能有些是串行的,而有些是并行的。在这种情况下,如何才能确定这整个请求调用了哪些应用?哪些模块?哪些节点?以及它们的先后顺序、各部分的性能如何以及是否存在异常呢?

技术实现思路

[0003]本专利技术所要解决的技术问题是:提供一种请求异常识别的方法与存储介质,能够有效追踪请求的数据流转路径并记录执行情况和性能。
[0004]为了解决上述技术问题,本专利技术采用的技术方案为:
[0005]一种请求异常识别的方法,包括步骤:
[0006]S1、请求发起方作为初始的调用方建立跟踪链路,并存入预设数据库;
[0007]S2、请求执行的每个调用过程中,由调用方在所述跟踪链路中新建一个跟踪节点,并在所述跟踪节点中插入调用时间戳、自身信息、上级跟踪节点信息以及被调用方信息,并在调用完成时补入完成时间戳;
[0008]S3、向所述预设数据库获取追踪链路信息,根据所述追踪链路信息中的各个追踪节点的数据,判断请求是否存在异常,并定位异常的业务节点。
[0009]为了解决上述技术问题,本专利技术采用的另一种技术方案为:
[0010]一种请求异常识别的存储介质,其内存储有计算机程序,所述计算机程序被执行时实现以下步骤:
[0011]S1、请求发起方作为初始的调用方建立跟踪链路,并存入预设数据库;
[0012]S2、请求执行的每个调用过程中,由调用方在所述跟踪链路中新建一个跟踪节点,并在所述跟踪节点中插入调用时间戳、自身信息、上级跟踪节点信息以及被调用方信息,并在调用完成时补入完成时间戳;
[0013]S3、向所述预设数据库获取追踪链路信息,根据所述追踪链路信息中的各个追踪节点的数据,判断请求是否存在异常,并定位异常的业务节点。
[0014]本专利技术的有益效果在于:本专利技术的一种请求异常识别的方法与存储介质,通过建立追踪链路,并在追踪链路中的每个节点中对应记录每次调用的调用方、被调用方、时间戳以及上一节点信息,从而能够有效实现对一个请求的完整调用链路追踪,并能够通过其中记录的时间戳来获取每个被调用服务的执行和响应时间,从而反映请求的执行情况和服务性能,判断请求是否存在异常,并实现异常业务节点的定位,便于开发人员对异常业务节点的修正和改进。
附图说明
[0015]图1为本专利技术实施例的一种请求异常识别的方法的流程图;
[0016]图2为本专利技术实施例的一种请求异常识别的方法的请求和响应示意图;
[0017]图3为本专利技术实施例的一种请求异常识别的方法的请求调用示意图。
具体实施方式
[0018]为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0019]请参照图1以及图2,一种请求异常识别的方法,包括步骤:
[0020]S1、请求发起方作为初始的调用方建立跟踪链路,并存入预设数据库;
[0021]S2、请求执行的每个调用过程中,由调用方在所述跟踪链路中新建一个跟踪节点,并在所述跟踪节点中插入调用时间戳、自身信息、上级跟踪节点信息以及被调用方信息,并在调用完成时补入完成时间戳;
[0022]S3、向所述预设数据库获取追踪链路信息,根据所述追踪链路信息中的各个追踪节点的数据,判断请求是否存在异常,并定位异常的业务节点。
[0023]从上述描述可知,本专利技术的有益效果在于:本专利技术的一种请求异常识别的方法与存储介质,通过建立追踪链路,并在追踪链路中的每个节点中对应记录每次调用的调用方、被调用方、时间戳以及上一节点信息,从而能够有效实现对一个请求的完整调用链路追踪,并能够通过其中记录的时间戳来获取每个被调用服务的执行和响应时间,从而反映请求的执行情况和服务性能,判断请求是否存在异常,并实现异常业务节点的定位,便于开发人员对异常业务节点的修正和改进。
[0024]进一步地,所述步骤S2包括步骤:
[0025]S21、建立调用请求,并于所述跟踪链路中新建一个所述跟踪节点,在所述跟踪节点中插入时间戳、自身信息、上级跟踪节点信息以及被调用方信息,并将所述跟踪链路存入或更新至预设数据库中;
[0026]S22、调用方将所述跟踪链路的唯一标识和所述跟踪节点的唯一标识存入请求头部,并向被调用方发送所述调用请求;
[0027]S23、被调用方接收所述调用请求,根据请求头部获取跟踪链路的唯一标识,并将请求头部中的所述跟踪节点的唯一标识作为上级跟踪节点信息;
[0028]S24、被调用方执行所述调用请求,以自身作为新的调用方,判断是否存在下一业务节点,若存在下一业务节点,则将下一业务节点作为新的被调用方,执行所述步骤S21和步骤S22,否则向上一业务节点返回执行结果,由上一业务节点在其创建的追踪节点中补入完成时间戳;
[0029]其中,请求发起方作为初始的调用方,请求起始方创建的所述跟踪节点中的上级跟踪节点信息为空,且每个调用方可以同时有多个被调用方,对应创建多个所述跟踪节点。
[0030]由上述描述可知,业务执行的每一个节点均作为调用方,建立跟踪节点,且同一个调用方可以有多个被调用方,能够适应业务请求可能存在多个并行业务的场景,从而能够完整地记录业务执行的流转链路。
[0031]进一步地,在执行所述步骤S22中向被调用方发送所述调用请求时,若出现异常信
息,则获取其中的异常代码,根据异常代码自动识别属于网络通信问题还是代码错误;
[0032]若为网络通信问题,则自动重试所述调用请求的发送,并在重试次数超过预设阈值后,记录异常代码以及所述调用请求中的调用方信息和被调用方信息,并与所述追踪链路关联;
[0033]若为代码错误,则直接记录异常代码、调用请求中的调用方信息,并与所述追踪链路关联;
[0034]返回错误信息,在所述追踪节点中补入请求中断信息,并对应将追踪链路标记为异常链路;
[0035]所述步骤S3还包括步骤:
[0036]S31、获取预设时间段内的所有异常链路,根据所述异常链路关联的信息以及异常链路中的中断信息,定位异常的业务节点。
[0037]由上述描述可知,在业务执行过程中,若出现异常信息,则能够根据异常信息识别导致异常的原因,从而采用不同的处理方式,更加有效地处理异常,并最终根据预设时间段内的所有异常链路中的中断信息,有效判断异常的业务节点。
[0038]进一步地,若所述调用方为客户端,则所述自身信息包括设备标识、网络信息、用户Id和IP地址,若所述调用方为服务器中的服务接口,则所述自身信息包括域名、方法名称和参数信息;
[0039]若所述被调用方为客户端,则所述被调用方信息包括设备标识、网络信本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种请求异常识别的方法,其特征在于,包括步骤:S1、请求发起方作为初始的调用方建立跟踪链路,并存入预设数据库;S2、请求执行的每个调用过程中,由调用方在所述跟踪链路中新建一个跟踪节点,并在所述跟踪节点中插入调用时间戳、自身信息、上级跟踪节点信息以及被调用方信息,并在调用完成时补入完成时间戳;S3、向所述预设数据库获取追踪链路信息,根据所述追踪链路信息中的各个追踪节点的数据,判断请求是否存在异常,并定位异常的业务节点。2.根据权利要求1所述的一种请求异常识别的方法,其特征在于,所述步骤S2包括步骤:S21、建立调用请求,并于所述跟踪链路中新建一个所述跟踪节点,在所述跟踪节点中插入时间戳、自身信息、上级跟踪节点信息以及被调用方信息,并将所述跟踪链路存入或更新至预设数据库中;S22、调用方将所述跟踪链路的唯一标识和所述跟踪节点的唯一标识存入请求头部,并向被调用方发送所述调用请求;S23、被调用方接收所述调用请求,根据请求头部获取跟踪链路的唯一标识,并将请求头部中的所述跟踪节点的唯一标识作为上级跟踪节点信息;S24、被调用方执行所述调用请求,以自身作为新的调用方,判断是否存在下一业务节点,若存在下一业务节点,则将下一业务节点作为新的被调用方,执行所述步骤S21和步骤S22,否则向上一业务节点返回执行结果,由上一业务节点在其创建的追踪节点中补入完成时间戳;其中,请求发起方作为初始的调用方,请求起始方创建的所述跟踪节点中的上级跟踪节点信息为空,且每个调用方可以同时有多个被调用方,对应创建多个所述跟踪节点。3.根据权利要求2所述的一种请求异常识别的方法,其特征在于,在执行所述步骤S22中向被调用方发送所述调用请求时,若出现异常信息,则获取其中的异常代码,根据异常代码自动识别属于网络通信问题还是代码错误;若为网络通信问题,则自动重试所述调用请求的发送,并在重试次数超过预设阈值后,记录异常代码以及所述调用请求中的调用方信息和被调用方信息,并与所述追踪链路关联;若为代码错误,则直接记录异常代码、调用请求中的调用方信息,并与所述追踪链路关联;返回错误信息,在所述追踪节点中补入请求中断信息,并对应将追踪链路标记为异常链路;所述步骤S3还包括步骤:S31、获取所有异常链路,根据所述异常链路关联的信息以及异常链路中的中断信息,定位异常的业务节点。4.根据权利要求2所述的一种请求异常识别的方法,其特征在于,若所述调用方为客户端,则所述自身信息包括设备标识、网络信息、用户Id和IP地址,若所述调用方为服务器中的服务接口,则所述自身信息包括域名、方法名称和参数信息;若所述被调用方为客户端,则所述被调用方信息包括设备标识、网络信息、用户Id和IP
地址,若所述被调用方为服务器中的服务接口,则所述被调用方信息包括域名、方法名称和参数信息。5.根据权利要求1所述的一种请求异常识别的方法,其特征在于,所述预设数据库为ElasticSearch数据库;所述步骤S3之后还包括步骤:S4、服务器通过Elasticsearch数据分析引擎对所述Elasticsearch数据库中的跟踪链路中的各个跟踪节点的数据进行分析,生成完整的调用链。6.一种请求异常识别的存储介质,其内存储有...

【专利技术属性】
技术研发人员:邹建峰施维串
申请(专利权)人:福州畅昕信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1