CN115001952B - 一种业务接口的故障定位方法及装置 - Google Patents
一种业务接口的故障定位方法及装置 Download PDFInfo
- Publication number
- CN115001952B CN115001952B CN202210576347.5A CN202210576347A CN115001952B CN 115001952 B CN115001952 B CN 115001952B CN 202210576347 A CN202210576347 A CN 202210576347A CN 115001952 B CN115001952 B CN 115001952B
- Authority
- CN
- China
- Prior art keywords
- execution
- service
- node
- response
- domain parameter
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
Abstract
本申请提供一种业务接口的故障定位方法及装置。方法包括:获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息。基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态。对所述链路工作状态进行业务接口故障分析,确定所述目标业务中存在故障的业务接口。
Description
技术领域
本文件涉及计算机技术领域,尤其涉及一种业务接口的故障定位方法及装置。
背景技术
针对多节点调用的业务,一旦链路发生异常,如何进行故障定位一直是目前业内所困扰的问题。这需要多方节点之间反复协调才能发现问题,因此耗时相对较长。
对于业务运营方而言,如果无法及时定位问题并排除故障,会影响业务的正常运营。对于用户而言,业务发生中断而无法快速恢复,也会带来较差的使用体验。
发明内容
本申请目的是提供一种业务接口的故障定位方法及装置,能够高效、及时排查出对多节点调用业务中的故障业务接口。
为了实现上述目的,本申请实施例是这样实现的:
第一方面,提供一种业务接口的故障定位方法,包括:
获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息;
基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态;
对所述链路工作状态进行业务接口故障分析,确定所述目标业务中存在故障的业务接口。
第二方面,提供一种弄业务接口的故障定位装置,包括:
指纹获取模块,用于获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息;
链路状态确定模块,用于基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态;
故障分析模块,用于对所述链路工作状态进行业务接口故障分析,确定所述目标业务中存在故障的业务接口。
本申请实施例的方案可以获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息。基于至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,可以掌握目标业务的链路工作状态,从而以全局的角度确定出哪些执行节点未能及时发起业务请求,哪些执行节点未能及时反馈业务响应,进而可以在这些执行节点中定位出存在故障的业务接口,以为后续故障排查提供数据支持。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的业务接口的故障定位方法的流程示意图。
图2为本申请实施例提供的故障定位方法的执行追踪指纹的第一种传输示意图。
图3为本申请实施例提供的故障定位方法的执行追踪指纹的第二种传输示意图。
图4为本申请实施例提供的故障定位方法中执行追踪指纹的结构示意图。
图5为本申请实施例提供的故障定位方法的执行追踪指纹的第三种传输示意图。
图6为本申请实施例提供的业务接口的故障定位装置的结构示意图。
图7为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
针对多节点调用的业务,由于业务调用链复杂且冗长,一旦发生异常现象,经常需要多方节点反复协调才能发现问题并排除故障。
这里以业务链路包含有节点A、B、C为例,假设调用方B向请求方A提供业务接口,被请求方C向请求方B提供业务接口,从而形成调用链A->B->C。
由于A、B、C所提供的接口是分离的,归属于不同的系统和平台上,如果用户在A节点提供的页面上发现报错或者无法访问的问题,在排除A的自身节点的故障的情况下,需要排查A->B->C链路。
假设C节点提供的接口出现性能问题或者故障,在排查A->B->C链路,首先联系B节点,要求B节点提供相关的日志及接口性能等信息;待B节点确认系统正常时,需要联系C节点提供日志及接口性能等信息,才能最终确认问题的根源,进而要求C节点进行恢复服务或者提高性能。如果链路有其他节点,也要依次排查。
可见,针对多节点调用业务的链路,各节点的接口能力隶属于不同的机构或系统,需要节点之间相互沟通跟进才能及时排查的故常,需要投入较大的人力和时间,且效率较低。
针对上述问题,本申请旨在提供一种业务接口的故障定位方案,能够收集业务链路中各个执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息;本申请基于各执行节点的执行追踪指纹,可以全局掌握链路中的各个业务接口的全貌,从而及时发现存在故障的业务接口,为后续针对性地故障排查提供数据支持。
一方面,本申请实施例提供一种业务接口的故障定位方法。图1是该故障定位方法的流程图,包括如下步骤:
S102,获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息。
本申请实施例中,目标业务的链路由各级的执行节点构成,相邻两级的执行节点中,前一级执行节点作为后一级执行节点的上游执行节点,后一级执行节点作为前一级执行节点的下游执行节点。任一级的执行节点可以是一个也可以是集群形式的多个,这里不作具体限定。
其中,请求域参数可以但不限于记录有:向下游执行节点发起业务请求时的时间戳,本地执行节点的网络地址和本地执行节点的节点标识;响应域参数可以但不限于:向上游执行节点反馈业务响应时的时间戳、业务响应的耗时和业务响应的应处理结果。
S104,基于至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定目标业务的链路工作状态。
应理解,通过目标业务的各执行节点的请求域参数可以了解各执行节点向下游节点所发起的业务请求的时间。同理,通过目标业务的各执行节点的响应域参数可以了解各执行节点向上游节点反馈的业务响应的时间。
显然,基于目标业务中至少一部分执行节点的业务请求时间和业务响应时间,即可掌握目标业务的链路工作状态,可以确定出哪些执行节点未能及时发起业务请求,哪些执行节点未能及时反馈业务响应。
S106,对链路工作状态进行业务接口故障分析,确定目标业务中存在故障的业务接口。
如前文所述,本申请基于目标业务的链路工作状态,可以确定哪些执行节点未能及时发起业务请求,哪些执行节点未能及时反馈业务响应。这些处理目标业务超时的执行节点视为存在问题的执行节点。
为此,可以将业务请求超时的执行节点定义为第一问题执行节点,将业务响应超时的执行节点定义为第二问题执行节点。其中,业务请求超时是指在接收到上游执行节点所发起的业务请求后,未能在第一预设时间内向下游执行节点发起业务请求;业务响应超时是指在接收到上游执行节点所发起的业务请求后,未能在第二预设时间内向上游执行节点反馈业务响应。
对应地,本步骤基于目标业务的链路工作状态,从至少部分执行节点中直接找出第一问题执行节点和/或第二问题节点。之后,针对第一问题执行节点,可以将其用于业务请求的接口确定为目标业务中存在故障的业务接口;针对第二问题执行节点,可以将其用于业务响应的接口确定为目标业务中存在故障的业务接口。
基于上述内容可知,本申请实施例的方法可以获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息。基于至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,可以掌握目标业务的链路工作状态,从而以全局的角度确定出哪些执行节点未能及时发起业务请求,哪些执行节点未能及时反馈业务响应,进而可以在这些执行节点中定位出存在故障的业务接口,以为后续故障排查提供数据支持。
在上述基础之上,本申请的执行追踪指纹还可以包括:
配置域参数,包括用于记录所属执行追踪指纹中的请求域参数和响应域参数的加密方式,这里所述的加密方式可以是对称加密或者是非对称加密,本申请从获取到少部分执行节点的执行追踪指纹后,可以按照至少部分执行节点的执行追踪指纹中配置域参数的加密方式,从该至少部分执行节点的执行追踪指纹中解析得到请求域参数和响应域参数。
比如,某一目标执行节点的执行追踪指纹中,配置域参数的加密方式指示为未非对称加密,则可以基于目标执行节点针对未非对称加密的公钥,从目标执行节点的执行追踪指纹中解析出请求域参数和响应域参数进。
此外,配置域参数还可以包括用于记录所属执行追踪指纹对应目标业务的业务批次号,本申请可以基于至少部分执行节点的同一业务批次号的执行追踪指纹中的请求域参数和响应域参数,确定目标业务的链路工作状态。
此外,本申请的执行追踪指纹还可以包括:
校验域参数,包括用于记录所属执行追踪指纹中的请求域参数和响应域参数的电子摘要。
本申请可以基于至少部分执行节点的执行追踪指纹中校验域参数的电子摘要,对至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数进行防篡改校验;如果防篡改校验通过,则再基于少部分执行节点的执行追踪指纹,确定目标业务的链路工作状态;如果果防篡改校验未通过,则表示求域参数和/或响应域参数发生篡改,这可以将篡改过的执行追踪指纹作废。
参考图2所示,在实际应用中,本申请可以设置一个数据处理中心,目标业务的各个执行节点(图2以执行节点A、B、C为实例)将各自的执行追踪指纹上传至数据处理中心以进行集中存储。在需要确定出目标业务存在故障的业务接口时,可以从数据处理中心获取目标业务的所有执行节点对应目标业务的执行追踪指纹,并根据所有执行节点对应目标业务的执行追踪指纹,确定出目标业务对应的完整链路的链路工作状态。
或者,本申请目标业务的各执行节点之间可以将自己的执行追踪指纹发送给其他执行节点,这样一来每个执行节点即可具有确定目标业务的链路工作状态的能力,当确定目标业务的链路出现问题时,可以基于本地收集的执行追踪指纹自行确定业务请求超时或者业务响应超时的问题执行节点。
比如,上游执行节点可以通过向下发送的业务请求,将自己的执行追踪指纹以及其自己对应的上游执行节点的执行追踪指纹发送给下游执行节点(第一级执行节点没有上游执行节点则可以通过业务请求只发送自己的执行追踪指纹)。下游执行节点可以通过向上反馈的业务响应,将自己的执行追踪指纹以及其自己对应的下游执行节点的执行追踪指纹发送给下游执行节点(最后一级执行节点没有下游执行节点则可以通过业务响应只发送自己的执行追踪指纹)。
这里为方便理解,参考图3,图3所示的目标业务具有执行节点A、B、C,其中,执行节点A属于第一级执行节点,执行节点B属于第二级执行节点,执行节点C属于第三级执行节点。执行节点A可以通过向下发送的业务请求,将执行节点A的执行追踪指纹发送给其下游执行节点,即执行节点B;执行节点B在收到执行节点A的执行追踪指纹后,通过向下发送的业务请求,将执行节点A和B的执行追踪指纹发送给其下游执行节点,即执行节点C。同理,执行节点C可以通过向上反馈的业务响应,将执行节点C的执行追踪指纹发送给其上游执行节点,即执行节点B;执行节点B在收到执行节点C的执行追踪指纹后,通过向上反馈的业务响应,将执行节点B和C的执行追踪指纹发送给其上游执行节点,即执行节点A。
通常情况下,对于多执行节点调用的目标业务,各级执行节点来自不同的机构,这些结构作为独立的个体,本身希望能够自己确定目标业务的链路工作状态,从容排查初选故障的业务结构。为此,下面针对图3所示的各执行节点交互自己的执行追踪指纹场景进行详细介绍。
这里考虑到各级执行节点之间的不信问题,本申请实施例的执行追踪指纹可以设置有图4所示的几类参数。
1)配置域参数,主要包括的信息项如下:
链路类型,有0、1、3三种取值。1表示跟踪模式记录路径;0表示不开启跟踪,不记录路径;2表示透传模式,可作为统一机构内部执行节点之间的转发。
加密方式,RSA有0、1两种取值。0表示使用DES对称加密,1表示使用非对称加密。这里对称加密和非对称加密取决于对于安全性的要求,如果对安全性要求不高的使用对称加密即可,对于安全性要求高的可以使用非对称加密。
步长,表示指纹信息的长度,默认为10。设置步长是为了防止配置错误或者一些超长调用链的场景,使得链路的指纹信息太庞大,影响接口访问性能。
业务批次号,用于表示某一次完整业务链路的唯一标记。每次目标业务的调用会产生新的不重复的业务批次号。
2)请求域参数,主要包括的信息项如下:
请求时间戳,发起业务请求时的服务器时间戳,精确到毫秒。
IP地址,业务请求发起方的ipv4/ipv6地址。
业务请求发起方的系统命名,其中,系统命名可以经脱密处理,从而不暴露给其他结构的执行节点。
业务请求发起方的的域名信息。
预留字段,用于存放备注或者其他自定义信息。
3)校验域参数,主要包括的信息项如下:
电子摘要,由执行追踪指纹来源的执行节点,对执行追踪指纹的请求域参数和响应域参数(还可以进一步包含有全天域参数,这里不作限定)进行加密后生成,一旦请求域参数和响应域参数发生篡改,则与电子摘要不匹配,因此电子摘要用于防篡改校验。
4)响应参数,主要包括的信息项如下:
响应时间戳,即反馈业务响应时的服务器时间戳,精确到毫秒。
响应状态,记录业务响应的结果,成功还是失败。
业务响应耗时,从接收到业务请求再到反馈业务响应的时间,精确单位毫秒。
这里,以目标链路包含有执行节点A、B、C为实例,各执行节点之间采用DEC对称加密交互执行追踪指纹的流程如图5所示,包括:
1)执行节点A创建本地的执行追踪指纹,包含含配置域CZ_a,数据域DZ_a,校验域VZ_a,并向执行节点B发起业务请求时,需要使用执行节点A的对称密钥DES_a进行加密传输,使用密文E1=DES_a_encrypt(CZ_a+DZ_a+VZ_a)。此时,响应域RZ_a未创建。
2)执行节点B接收到执行节点A的业务请求后,使用执行节点A的对称密钥DES_a进行解密,得到明文D1=DES_a_decrypt(CZ_a+DZ_a+VZ_a),校验VZ_a以防篡改。
此外,执行节点B创建本地的执行追踪指纹,包含配置域CZ_b,数据域DZ_b,校验域VZ_b。在执行节点B向执行节点C发起业务请求时,对执行节点A、B的执行追踪指纹使用执行节点B的对称密钥DES_b进行加密传输,得到E2=DES_b_encrypt(CZ_b+DZ_b+VZ_b)。
3)执行节点C接收到请求后,使用执行节点B的对称密钥DES_b进行解密,得到明文D2=DES_b_decrypt(CZ_b+DZ_b+VZ_b),校验VZ_b以防篡改。
此外,执行节点C创建本地的执行追踪指纹,包含配置域CZ_c,数据域DZ_c,校验域VZ_c,由于执行节点C为目标链路最后一级执行节点,这里只创建响应域RZ_c(请求域不创建或为空集)。在执行节点C向执行节点B反馈哦业务响应时,对执行节点C的执行追踪指纹使用C的对称密钥DES_c进行加密传输,密文E3=DES_c_encrypt(CZ_c+DZ_c+VZ_c+RZ_c)。
4)执行节点B获取到执行节点C的业务响应中的密文E3后,使用执行节点C的对称密钥DES_c解密得到明文D3=DES_c_decrypt(CZ_c+DZ_c+VZ_c+RZ_c),并创建对应执行节点B的响应域RZ_b。
之后,执行节点B向执行节点A反馈业务响应时,先使用执行节点B的对称密钥DES_b加密密文E4=DES_b_encrypt(CZ_b+DZ_b+VZ_b+RZ_b,CZ_c+DZ_c+VZ_c+RZ_c),之后将密文E4封装至业务响应中再发送给行执行节点A。
5)执行节点A获取到执行节点B的业务响应中的密文E4后,使用执行节点B的对称密钥DES_b解密得到明文D4=DES_b_decrypt(CZ_b+DZ_b+VZ_b+RZ_b,CZ_c+DZ_c+VZ_c+RZ_c),校验VZ_b、VZ_c以防篡改。
执行节点A创建响应域RZ_a,从而完成跨平台的全链路跟踪,得到全链路的执行追踪指纹:CZ_a+DZ_a+VZ_a+RZ_a,CZ_b+DZ_b+VZ_b+RZ_b,CZ_c+DZ_c+VZ_c+RZ_c。
基于图5所示的流程,各目标业务的执行节点可以基于本地收集的执行追踪指纹定位故障节点。
比如,当目标业务的第一执行节点(目标业务的中间级执行节点或第一级执行节点)基于第一执行节点的执行追踪指纹的请求域参数和对应的相邻一级下游执行节点的执行追踪指纹的响应域参数,确定该相邻一级下游执行节点业务响应超时,可以发送下游故障通知。在接收到下游故障通知后,即可向第一执行节点获取第一执行节点和对应的所有下游执行节点的执行追踪指纹,并基于第一执行节点和对应的所有下游执行节点的执行追踪指纹,确定第一执行节点和对应的所有下游执行节点这段链路中的链路工作状态。
再比如,目标业务的第二执行节点(目标业务第三级执行节点或第三级之后的执行节点)基于对应的相邻两级上游执行节点的执行追踪指纹的发送域参数,确定对应的相邻一级上游执行节点业务请求超时,可以发送上游故障通知。在接收到上游故障通知后,即可向第二执行节点获取对应的相邻两级上游执行节点的执行追踪指纹,并基于对应的相邻两级上游执行节点的执行追踪指纹,确定对应的相邻两级上游执行节点这段链路中的链路工作状态。
总上所述,本申请实施例的故障定位方法中,相邻两级的执行节点基于密钥交换执行追踪指纹,保证了信息的安全,即便某一执行节点被攻破,也不会造成其他执行节点的信息泄露。此外,执行追踪指纹复用业务调用中所需要发送的业务请求和业务响应进行传输,不会差生额外的信息开销,同时还可以兼容HTTP协议。此外,校验域参数的设置,可以防止某个执行节点隐瞒和错误上报,通过各执行节点的响应域参数,即便在各平台的服务器时间戳存在差异的情况下,通过响应域的时间戳和耗时字段,可以还原链路中各执行节点的真实接口情况。
另一方面,与上述图1所示方法相对应地,本申请实施例还提供一种业务接口的故障定位装置。图6是本申请实施例故障定位装置600的结构示意图,包括:
指纹获取模块610,用于获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息。
链路状态确定模块620,用于基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态。
故障分析模块630,用于对所述链路工作状态进行业务接口故障分析,确定所述目标业务中存在故障的业务接口。
本申请实施例的装置可以获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息。基于至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,可以掌握目标业务的链路工作状态,从而以全局的角度确定出哪些执行节点未能及时发起业务请求,哪些执行节点未能及时反馈业务响应,进而可以在这些执行节点中定位出存在故障的业务接口,以为后续故障排查提供数据支持。
可选地,故障分析模块630具体用于:基于链路工作状态,从所述至少部分执行节点中确定出业务请求超时的第一问题执行节点,并将所述第一问题执行节点用于业务请求的接口确定为所述目标业务中存在故障的业务接口,所述业务请求超时是指在接收到上游执行节点所发起的业务请求后,未能在第一预设时间内向下游执行节点发起业务请求;和/或,基于链路工作状态,从所述至少部分执行节点中确定出业务响应超时的第二问题执行节点,并将所述第二问题执行节点用于业务响应的接口确定为所述目标业务中存在故障的业务接口,所述业务响应超时是指在接收到上游执行节点所发起的业务请求后,未能在第二预设时间内向上游执行节点反馈业务响应。
可选地,指纹获取模块610具体用于:接收所述目标业务的第一执行节点上报的下游故障通知,其中,所述下游故障通知是所述第一执行节点基于所述第一执行节点的执行追踪指纹的请求域参数和对应的相邻一级下游执行节点的执行追踪指纹的响应域参数,确定该相邻一级下游执行节点业务响应超时所发送的,所述第一执行节点为所述目标业务的中间级执行节点或第一级执行节点;向所述第一执行节点获取所述第一执行节点和对应的所有下游执行节点的执行追踪指纹,其中,所述第一执行节点提供的所有下游执行节点的执行追踪指纹是该所有下游执行节点将各自的执行追踪指纹通过向上游执行节点反馈的业务响应传递至所述第一执行节点的。
可选地,指纹获取模块610具体用于:接收所述目标业务的第二执行节点上报的上游故障通知,其中,所述上游故障通知是所述第二执行节点基于对应的相邻两级上游执行节点的执行追踪指纹的发送域参数,确定对应的相邻一级上游执行节点业务请求超时所发送的,所述第二执行节点为所述目标业务第三级执行节点或第三级之后的执行节点;向所述第二执行节点获取对应的相邻两级上游执行节点的执行追踪指纹,其中,所述第二执行节点提供的该相邻两级上游执行节点的执行追踪指纹是该相邻两级上游执行节点将各自的执行追踪指纹通过向下游执行节点发起的业务请求传递至所述第二执行节点的。
可选地,指纹获取模块610具体用于:从数据处理中心获取所述目标业务的所有执行节点对应所述目标业务的执行追踪指纹,其中,所述数据处理中心提供的所有执行节点的执行追踪指纹是由所述目标业务的各个执行节点将各自的执行追踪指纹上传至所述数据处理中心的。
可选地,执行追踪指纹还包括:配置域参数,所述配置域参数包括用于记录所属执行追踪指纹中的请求域参数和响应域参数的加密方式;所述链路状态确定模块620在基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务对应目标链路范围的链路工作状态前,还基于所述至少部分执行节点的执行追踪指纹中配置域参数的加密方式,从所述至少部分执行节点的执行追踪指纹中解析得到所述请求域参数和响应域参数。
可选地,所述配置域参数还包括用于记录所属执行追踪指纹对应所述目标业务的业务批次号;所述链路状态确定模块620基于所述至少部分执行节点的同一业务批次号的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态。
可选地所述执行追踪指纹还包括:校验域参数,所述校验域参数包括用于记录所属执行追踪指纹中的请求域参数和响应域参数的电子摘要;所述链路状态确定模块620在基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务对应目标链路范围的链路工作状态前,还基于所述至少部分执行节点的执行追踪指纹中校验域参数的电子摘要,对所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数进行防篡改校验;其中,基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态的步骤是在所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数通过所述防篡改校验后执行的。
可选地,所述请求域参数具体记录:向下游执行节点发起业务请求时的时间戳,本地执行节点的网络地址和本地执行节点的节点标识;和/或,所述响应域参数具体记录:向上游执行节点反馈业务响应时的时间戳、业务响应的耗时和业务响应的应处理结果。
显然,本申请实施例的装置可以作为图1所示方法的执行主体,因此可以实现该方法在图1中所示的步骤和相应的功能。由于原理相同,本文不再具体赘述。
图7是本说明书的一个实施例电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
其中,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成上述故障定位装置。对应地,处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息。
基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态。
对所述链路工作状态进行业务接口故障分析,确定所述目标业务中存在故障的业务接口。
上述如本说明书图1所示实施例揭示的方法可以应用于处理器中,由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
应理解,本申请实施例的电子设备可以使业务处理装置实现对应于图1所示方法中的步骤和功能。由于原理相同,本文不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
此外,本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令。
其中,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示方法的步骤,包括:
获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息。
基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态。
对所述链路工作状态进行业务接口故障分析,确定所述目标业务中存在故障的业务接口。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。此外,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
Claims (9)
1.一种业务接口的故障定位方法,其特征在于,包括:
获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息;
基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态;
对所述链路工作状态进行业务接口故障分析,确定所述目标业务中存在故障的业务接口;
所述对所述链路工作状态进行业务接口故障分析,确定所述目标业务中存在故障的业务接口,包括:
基于链路工作状态,从所述至少部分执行节点中确定出业务请求超时的第一问题执行节点,并将所述第一问题执行节点用于业务请求的接口确定为所述目标业务中存在故障的业务接口,所述业务请求超时是指在接收到上游执行节点所发起的业务请求后,未能在第一预设时间内向下游执行节点发起业务请求;
和/或,
基于链路工作状态,从所述至少部分执行节点中确定出业务响应超时的第二问题执行节点,并将所述第二问题执行节点用于业务响应的接口确定为所述目标业务中存在故障的业务接口,所述业务响应超时是指在接收到上游执行节点所发起的业务请求后,未能在第二预设时间内向上游执行节点反馈业务响应。
2.根据权利要求1所述的方法,其特征在于,
获取目标业务的至少部分执行节点的执行追踪指纹,包括:
接收所述目标业务的第一执行节点上报的下游故障通知,其中,所述下游故障通知是所述第一执行节点基于所述第一执行节点的执行追踪指纹的请求域参数和对应的相邻一级下游执行节点的执行追踪指纹的响应域参数,确定该相邻一级下游执行节点业务响应超时所发送的,所述第一执行节点为所述目标业务的中间级执行节点或第一级执行节点;
向所述第一执行节点获取所述第一执行节点和对应的所有下游执行节点的执行追踪指纹,其中,所述第一执行节点提供的所有下游执行节点的执行追踪指纹是该所有下游执行节点将各自的执行追踪指纹通过向上游执行节点反馈的业务响应传递至所述第一执行节点的。
3.根据权利要求1所述的方法,其特征在于,
获取目标业务的至少部分执行节点的执行追踪指纹,包括:
接收所述目标业务的第二执行节点上报的上游故障通知,其中,所述上游故障通知是所述第二执行节点基于对应的相邻两级上游执行节点的执行追踪指纹的发送域参数,确定对应的相邻一级上游执行节点业务请求超时所发送的,所述第二执行节点为所述目标业务第三级执行节点或第三级之后的执行节点;
向所述第二执行节点获取对应的相邻两级上游执行节点的执行追踪指纹,其中,所述第二执行节点提供的该相邻两级上游执行节点的执行追踪指纹是该相邻两级上游执行节点将各自的执行追踪指纹通过向下游执行节点发起的业务请求传递至所述第二执行节点的。
4.根据权利要求1所述的方法,其特征在于,
获取目标业务的至少部分执行节点的执行追踪指纹,包括:
从数据处理中心获取所述目标业务的所有执行节点对应所述目标业务的执行追踪指纹,其中,所述数据处理中心提供的所有执行节点的执行追踪指纹是由所述目标业务的各个执行节点将各自的执行追踪指纹上传至所述数据处理中心的。
5.根据权利要求1至3任一项所述的方法,其特征在于,
执行追踪指纹还包括:配置域参数,所述配置域参数包括用于记录所属执行追踪指纹中的请求域参数和响应域参数的加密方式;
在基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务对应目标链路范围的链路工作状态前,所述方法还包括:
基于所述至少部分执行节点的执行追踪指纹中配置域参数的加密方式,从所述至少部分执行节点的执行追踪指纹中解析得到所述请求域参数和响应域参数。
6.根据权利要求1至3任一项所述的方法,其特征在于,
所述配置域参数还包括用于记录所属执行追踪指纹对应所述目标业务的业务批次号;
基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态,包括:
基于所述至少部分执行节点的同一业务批次号的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态。
7.根据权利要求1至3任一项所述的方法,其特征在于,
所述执行追踪指纹还包括:校验域参数,所述校验域参数包括用于记录所属执行追踪指纹中的请求域参数和响应域参数的电子摘要;
在基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务对应目标链路范围的链路工作状态前,所述方法还包括:
基于所述至少部分执行节点的执行追踪指纹中校验域参数的电子摘要,对所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数进行防篡改校验;其中,基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态的步骤是在所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数通过所述防篡改校验后执行的。
8.根据权利要求1至3任一项所述的方法,其特征在于,
所述请求域参数具体记录:向下游执行节点发起业务请求时的时间戳,本地执行节点的网络地址和本地执行节点的节点标识;
和/或,所述响应域参数具体记录:向上游执行节点反馈业务响应时的时间戳、业务响应的耗时和业务响应的应处理结果。
9.一种业务接口的故障定位装置,其特征在于,包括:
指纹获取模块,用于获取目标业务的至少部分执行节点的执行追踪指纹,执行追踪指纹包括请求域参数和响应域参数,请求域参数包括用于记录对下游执行节点发起业务请求的时间信息,响应域参数包括用于记录对上游执行节点反馈业务响应的时间信息;
链路状态确定模块,用于基于所述至少部分执行节点的执行追踪指纹中的请求域参数和响应域参数,确定所述目标业务的链路工作状态;
故障分析模块,用于对所述链路工作状态进行业务接口故障分析,确定所述目标业务中存在故障的业务接口;
所述故障分析模块,具体用于基于链路工作状态,从所述至少部分执行节点中确定出业务请求超时的第一问题执行节点,并将所述第一问题执行节点用于业务请求的接口确定为所述目标业务中存在故障的业务接口,所述业务请求超时是指在接收到上游执行节点所发起的业务请求后,未能在第一预设时间内向下游执行节点发起业务请求;
和/或,
基于链路工作状态,从所述至少部分执行节点中确定出业务响应超时的第二问题执行节点,并将所述第二问题执行节点用于业务响应的接口确定为所述目标业务中存在故障的业务接口,所述业务响应超时是指在接收到上游执行节点所发起的业务请求后,未能在第二预设时间内向上游执行节点反馈业务响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210576347.5A CN115001952B (zh) | 2022-05-25 | 2022-05-25 | 一种业务接口的故障定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210576347.5A CN115001952B (zh) | 2022-05-25 | 2022-05-25 | 一种业务接口的故障定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115001952A CN115001952A (zh) | 2022-09-02 |
CN115001952B true CN115001952B (zh) | 2023-09-19 |
Family
ID=83028869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210576347.5A Active CN115001952B (zh) | 2022-05-25 | 2022-05-25 | 一种业务接口的故障定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115001952B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134739A (zh) * | 2020-09-24 | 2020-12-25 | 平安科技(深圳)有限公司 | 链路状态的追踪方法、装置、电子设备及计算机存储介质 |
CN112363897A (zh) * | 2020-11-04 | 2021-02-12 | 珠海市卓轩科技有限公司 | 一种全链路日志追踪方法、装置及存储介质 |
CN112448969A (zh) * | 2019-08-29 | 2021-03-05 | 北京京东尚科信息技术有限公司 | 链路追踪方法、装置、系统、设备及可读存储介质 |
CN112615753A (zh) * | 2020-12-30 | 2021-04-06 | 中国工商银行股份有限公司 | 一种链路异常追踪方法、第一节点、第二节点以及链路 |
CN112737856A (zh) * | 2020-12-31 | 2021-04-30 | 青岛海尔科技有限公司 | 链路追踪方法和装置、存储介质及电子装置 |
CN113596078A (zh) * | 2021-06-17 | 2021-11-02 | 微梦创科网络科技(中国)有限公司 | 业务问题定位方法及装置 |
CN113806225A (zh) * | 2021-09-24 | 2021-12-17 | 上海淇玥信息技术有限公司 | 一种业务异常节点识别方法、装置和电子设备 |
CN114490565A (zh) * | 2020-10-27 | 2022-05-13 | 网联清算有限公司 | 数据库故障处理方法和装置 |
-
2022
- 2022-05-25 CN CN202210576347.5A patent/CN115001952B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112448969A (zh) * | 2019-08-29 | 2021-03-05 | 北京京东尚科信息技术有限公司 | 链路追踪方法、装置、系统、设备及可读存储介质 |
CN112134739A (zh) * | 2020-09-24 | 2020-12-25 | 平安科技(深圳)有限公司 | 链路状态的追踪方法、装置、电子设备及计算机存储介质 |
CN114490565A (zh) * | 2020-10-27 | 2022-05-13 | 网联清算有限公司 | 数据库故障处理方法和装置 |
CN112363897A (zh) * | 2020-11-04 | 2021-02-12 | 珠海市卓轩科技有限公司 | 一种全链路日志追踪方法、装置及存储介质 |
CN112615753A (zh) * | 2020-12-30 | 2021-04-06 | 中国工商银行股份有限公司 | 一种链路异常追踪方法、第一节点、第二节点以及链路 |
CN112737856A (zh) * | 2020-12-31 | 2021-04-30 | 青岛海尔科技有限公司 | 链路追踪方法和装置、存储介质及电子装置 |
CN113596078A (zh) * | 2021-06-17 | 2021-11-02 | 微梦创科网络科技(中国)有限公司 | 业务问题定位方法及装置 |
CN113806225A (zh) * | 2021-09-24 | 2021-12-17 | 上海淇玥信息技术有限公司 | 一种业务异常节点识别方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115001952A (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109670950B (zh) | 基于区块链的交易监听方法、装置、设备和存储介质 | |
US8850185B1 (en) | Post attack man-in-the-middle detection | |
CN108512939B (zh) | 一种区块链共识方法、装置及相关设备 | |
US11546348B2 (en) | Data service system | |
CN109510840B (zh) | 非结构化数据的共享方法、装置、计算机设备和存储介质 | |
CN108347361B (zh) | 应用程序测试方法、装置、计算机设备和存储介质 | |
CN111475376B (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
JP2012150805A (ja) | システムアプリケーション処理に関連する詐欺を検出するシステムおよび方法 | |
CN112737800B (zh) | 服务节点故障定位方法、调用链生成方法及服务器 | |
CN109508295B (zh) | 区块链共识算法测试方法、装置、计算装置和存储介质 | |
CN111492355B (zh) | 用于控制和/或监控装置的方法和控制系统 | |
CN113422686B (zh) | 网关层鉴权方法、系统、电子设备及存储介质 | |
CN109542781B (zh) | 区块链共识算法测试方法、装置、计算装置和存储介质 | |
CN111899019A (zh) | 一种黑名单多方交叉验证和共享的方法及系统 | |
CN111782456B (zh) | 异常检测方法、装置、计算机设备和存储介质 | |
CN112865959A (zh) | 分布式节点设备的共识方法、节点设备及分布式网络 | |
CN112866193A (zh) | 设备部署方法、装置、设备及存储介质 | |
CN115001952B (zh) | 一种业务接口的故障定位方法及装置 | |
CN112948499A (zh) | 信息获取方法和装置、电子设备和存储介质 | |
CN112291321A (zh) | 业务处理方法、装置及系统 | |
CN111149105B (zh) | 用于立即并且无反作用地传输日志消息的方法和设备 | |
CN115022012B (zh) | 一种数据传输方法、装置、系统、设备及存储介质 | |
Yoon et al. | ADLP: accountable data logging protocol for publish-subscribe communication systems | |
CN115334150A (zh) | 一种数据转发的方法、装置、系统、电子设备及介质 | |
US7424739B2 (en) | On-machine communication verification |
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 |