CN114205422A - 一种无侵入式业务处理方法、装置、设备及存储介质 - Google Patents
一种无侵入式业务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114205422A CN114205422A CN202111520380.8A CN202111520380A CN114205422A CN 114205422 A CN114205422 A CN 114205422A CN 202111520380 A CN202111520380 A CN 202111520380A CN 114205422 A CN114205422 A CN 114205422A
- Authority
- CN
- China
- Prior art keywords
- processing node
- node
- target processing
- target
- service message
- 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.)
- Granted
Links
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种无侵入式业务处理方法、装置、设备及存储介质,所述方法包括:对调用链中的各个处理节点进行监控;当监控到调用链中的目标处理节点对业务报文处理完成时,在调用链中目标处理节点的下一处理节点与目标处理节点之间通过T3协议进行通信的情况下,从目标处理节点获取业务报文处理完成后的业务结果信息;获取与调用链对应的链路标识以及获取目标处理节点的节点标识,并将链路标识和节点标识添加到业务结果信息中,以形成新的业务报文;向目标处理节点发送新的业务报文,以供目标处理节点将新的业务报文发送至下一处理节点,并通过下一处理节点处理新的业务报文;本发明可以无侵入式的进行基于T3协议的业务报文传递。
Description
技术领域
本发明涉及微服务架构技术领域,特别涉及一种无侵入式业务处理方法、装置、设备及存储介质。
背景技术
在对调用链中的节点进行传递链路标识的过程中,如果调用链中存在需要使用T3协议进行通信的节点时,由于T3协议是非开源协议,所以需要对使用T3协议进行通信的每个节点的业务代码进行侵入式修改,以使得节点之间可以进行链路标识的传递,进而对整个调用链进行完整的链路标识的传递操作。但是人为修改节点的业务代码的工作量巨大,需要耗费许多人力和系统资源,而侵入式修改业务代码时还会造成业务代码拾取防护,会使业务代码面临的被入侵的风险增加,不利于业务架构的稳定性。所以如何无侵入式的支持使用T3协议进行通信的两个节点之间进行基于T3协议的业务处理是一个亟待解决的技术问题。
发明内容
本发明的目的在于提供一种无侵入式业务处理方法、装置、设备及存储介质,能够无侵入式的支持使用T3协议进行通信的两个节点之间进行业务传递。
根据本发明的一个方面,提供了一种无侵入式业务处理方法,该方法包括如下步骤:
对调用链中的各个处理节点进行监控;其中,所述调用链中的各个处理节点依次对业务报文进行处理;
当监控到所述调用链中的目标处理节点对所述业务报文处理完成时,判断在所述调用链中所述目标处理节点的下一处理节点与所述目标处理节点之间是否通过T3协议进行通信;
在通过T3协议进行通信的情况下,从所述目标处理节点获取所述业务报文处理完成后的业务结果信息;
获取与所述调用链对应的链路标识以及获取所述目标处理节点的节点标识,并将所述链路标识和所述目标处理节点的节点标识添加到所述业务结果信息中,以形成新的业务报文;
向所述目标处理节点发送所述新的业务报文,以供所述目标处理节点将所述新的业务报文发送至所述下一处理节点,并通过所述下一处理节点处理所述新的业务报文。
可选的,所述向所述目标处理节点发送所述目标业务报文,具体包括:
使用所述T3协议原生的序列化算法对所述新的业务报文进行序列化计算,得到序列化后的业务报文,并将序列化后的业务报文通过T3协议所支持的通信接口发送至所述目标处理节点,以供所述目标处理节点将序列化后的目标业务报文发送至所述下一处理节点。
可选的,所述获取与所述调用链对应的链路标识,具体包括:
从所述目标处理节点获取所述链路标识;其中,所述链路标识是所述目标处理节点从由所述调用链中所述目标处理节点的上一处理节点发送来的业务报文中解析得到的。
可选的,所述获取所述目标处理节点的节点标识,具体包括:
从所述目标处理节点的本地线程文件中解析得到所述目标处理节点的通用唯一标识码,并将所述通用唯一标识码作为所述目标处理节点的节点标识。
可选的,在获取与所述调用链对应的链路标识以及所述目标处理节点的节点标识之后,所述方法还包括:
从所述目标处理节点获取所述上一处理节点的节点标识;其中,所述上一处理节点的节点标识是所述目标处理节点从由所述上一处理节点发送来的业务报文中解析得到的;
将所述上一处理节点的节点标识作为父节点、将所述目标处理节点的节点标识作为子节点添加到所述目标处理节点的追踪信息中;
将所述链路标识添加到所述目标处理节点的追踪信息中;
将所述追踪信息发送至用于对多个调用链进行监控的链路追踪服务器。
可选的,在所述将所述追踪信息发送至用于对多个调用链进行监控的链路追踪服务器之后,所述方法还包括:
从所述链路追踪服务器中获取所述调用链中每个处理节点的追踪信息的上传时间,并计算相邻两个追踪信息的上传时间的时间间隔;
将超过预设时间的时间间隔所对应的两个追踪信息设置为异常追踪信息,并将所述异常追踪信息发送至预设管理平台进行处理。
可选的,在所述将所述追踪信息发送至用于对多个调用链进行监控的链路追踪服务器之后,所述方法还包括:
当监控到所述调用链中的全部处理节点均完成对所述业务报文的处理时,从所述链路追踪服务器中获取关于所述调用链的全部追踪信息;
根据所述全部追踪信息以得到所述调用链中每个处理节点之间的调用顺序,并将所述调用顺序添加至与所述调用链对应的预设链路追踪日志中。
为了实现上述目的,本发明还提供一种无侵入式业务处理方法的装置,该装置具体包括以下组成部分:
监控模块,用于对调用链中的各个处理节点进行监控;其中,所述调用链中的各个处理节点依次对业务报文进行处理;
判断模块,用于当监控到所述调用链中的目标处理节点对所述业务报文处理完成时,判断在所述调用链中所述目标处理节点的下一处理节点与所述目标处理节点之间是否通过T3协议进行通信;
获取模块,用于在通过T3协议进行通信的情况下,从所述目标处理节点获取所述业务报文处理完成后的业务结果信息;
添加模块,用于获取与所述调用链对应的链路标识以及获取所述目标处理节点的节点标识,并将所述链路标识和所述目标处理节点的节点标识添加到所述业务结果信息中,以形成新的业务报文;
发送模块,用于向所述目标处理节点发送所述新的业务报文,以供所述目标处理节点将所述新的业务报文发送至所述下一处理节点,并通过所述下一处理节点处理所述新的业务报文。
为了实现上述目的,本发明还提供一种计算机设备,该计算机设备具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述介绍的无侵入式业务处理方法的步骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的无侵入式业务处理方法的步骤。
本发明提供的无侵入式业务处理方法、装置、设备及存储介质,通过字节码增强技术,使用代理服务器JavaAgent对调用链中的各个处理节点进行监控,当该调用链中的业务报文传递到预设位点时,代理服务器会获取与调用链对应的链路标识以及目标处理节点的节点标识,并将链路标识和所述目标处理节点的节点标识添加到新的业务报文尾部,并向目标处理节点发送新的业务报文,以供目标处理节点将新的业务报文发送至调用链中目标处理节点的下一处理节点,并通过下一处理节点处理新的业务报文;该方法无需改动支持T3协议进行通信的处理节点的业务代码,可以无侵入式的完成标识在处理节点之间的传递,防止业务代码存在被入侵的风险,同时可以达到标识可以在整个调用链中进行传递,得到完整的链路追踪信息的目的,进而得以实现对调用链的全链路监控、系统异常分析、系统故障定位等功能。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为实例一提供的无侵入式业务处理方法的一种可选的流程示意图;
图2为实例二提供的无侵入式业务处理的装置的一种可选的程序模块示意图;
图3为实例三提供的计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种无侵入式业务处理方法,应用于代理服务器,如图1所示,该方法具体包括以下步骤:
步骤S101:对调用链中的各个处理节点进行监控;其中,所述调用链中的各个处理节点依次对业务报文进行处理。
其中,所述业务报文在传递过程中包含链路标识和处理节点的节点标识,但是在处理节点对业务报文进行业务层面的处理过程中,需要将业务报文中的链路标识和处理节点的节点标识移除,以防止处理节点在处理业务报文时发生报错。
在本实施例中,由于现有业务大多是由分布式系统中的各个处理节点进行处理,且一个业务对应一条调用链,需要调用多个处理节点依次对业务的业务报文进行处理。在本实施例中,使用代理服务器JavaAgent对调用链中的各个处理节点进行监控,以达到字节码增强的技术效果。
步骤S102:当监控到所述调用链中的目标处理节点对所述业务报文处理完成时,判断在所述调用链中所述目标处理节点的下一处理节点与所述目标处理节点之间是否通过T3协议进行通信。
其中,所述T3协议Weblogic T3是一种非开源的通信协议,支持二进制数据进行通信,T3协议中存在原生的序列化算法和反序列化算法。
在本实施例中,使用字节码增强技术,在业务报文传递过程中加入代理服务器JavaAgent,当处理节点在运行过程中如果监控到支持T3协议进行通信的两个处理节点,只需将代理服务器中预设的位点和针对该位点触发的代理操作加入处理节点的运行过程中,便可以无需侵入式的修改业务代码,以实现链路标识在两个支持T3协议的处理节点之间进行传递。调用链中的每个处理节点会依次对业务报文进行业务层面的处理,当目标处理节点对所述业务报文处理完成时,此时为代理服务器预设的第一个位点,同时触发针对该位点的代理操作,即判断在所述调用链中所述目标处理节点的下一处理节点与所述目标处理节点之间是否通过T3协议进行通信。
步骤S103:在通过T3协议进行通信的情况下,从所述目标处理节点获取所述业务报文处理完成后的业务结果信息。
其中,所述业务结果信息为业务报文中属于业务层面的信息,业务结果信息不包含链路标识和节点标识。
步骤S104:获取与所述调用链对应的链路标识以及获取所述目标处理节点的节点标识,并将所述链路标识和所述目标处理节点的节点标识添加到所述业务结果信息中,以形成新的业务报文。
其中,所述链路标识TraceID是一条完整的调用链的唯一标识,由于多个处理节点会被交叉循环调用,服务于多条调用链,所以每条调用链的TraceID用于表征处理节点所属的调用链的信息。
在本实施例中,调用链中的处理节点需要将目标业务报文进行业务层面的处理,而链路标识和节点标识是与业务层面无关的信息,所以目标处理节点需要在完成对目标业务报文的处理之后再进行链路标识和节点标识的处理。此时是代理服务器获取链路标识和节点标识,并对链路标识和节点标识进行添加到所述目标业务报文中的处理,且往往将链路标识和节点标识添加到所述目标业务报文的尾部,再传递目标业务报文之后,有助于将链路标识和节点标识从目标业务报文中解析并删除,以至于不影响下一处理节点对目标业务报文进行业务层面的处理,防止出现报错故障。
具体的,所述获取与所述调用链对应的链路标识,包括以下步骤:
从所述目标处理节点获取所述链路标识;其中,所述链路标识是所述目标处理节点从由所述调用链中所述目标处理节点的上一处理节点发送来的业务报文中解析得到的。
具体的,所述链路标识最初是由所述调用链的第一处理节点生成的,并将该链路标识在调用链中进行传递。
在本实施例中,链路标识是由调用链中目标处理节点的上一处理节点发送的业务报文中解析得到的,该链路标识在调用链的每一个处理节点之间传递,以便于链路追踪服务器监控并记录链路标识在调用链中的每个处理节点之间传递的时间和顺序,便于分析该业务报文对应的业务的处理速度和链路完整性,进而得以实现对该调用链的全链路监控、系统异常分析、系统故障定位等功能。
进一步的,所述获取所述目标处理节点的节点标识,具体包括:
从所述目标处理节点的本地线程文件中解析得到所述目标处理节点的通用唯一标识码,并将所述通用唯一标识码作为所述目标处理节点的节点标识。
其中,所述节点标识SpanID是该目标处理节点的唯一标识,由本地线程文件ThreadLocal中记录的该目标处理节点的通用唯一标识码(Universally UniqueIdentifier,UUID)构成,通用唯一标识码是由机器算法根据每个处理节点特定生成的唯一标识,通用唯一标识码由32位十六进制的字符构成,可以被分布式系统识别,并记录在本地线程文件ThreadLocal中。
在本实施例中,将目标处理节点的通用唯一标识码UUID作为该目标处理节点的节点标识,一方面因为每个处理节点的通用唯一标识码是唯一存在的且各不相同,可以保证该节点标识的唯一性,另一方面因为通用唯一标识码可以由分布式系统识别并计算,以便于该节点标识在调用链的处理节点与处理节点之间进行传递。
更进一步的,在获取与所述调用链对应的链路标识以及所述目标处理节点的节点标识之后,所述方法还包括:
步骤A1:从所述目标处理节点获取所述上一处理节点的节点标识;其中,所述上一处理节点的节点标识是所述目标处理节点从由所述上一处理节点发送来的业务报文中解析得到的;
步骤A2:将所述上一处理节点的节点标识作为父节点、将所述目标处理节点的节点标识作为子节点添加到所述目标处理节点的追踪信息中;
步骤A3:将所述链路标识添加到所述目标处理节点的追踪信息中;
步骤A4:将所述追踪信息发送至用于对多个调用链进行监控的链路追踪服务器。
优选的,所述链路追踪服务器为Zipkin服务器。
其中,所述链路追踪服务器用于收集每条调用链上各个处理节点发送的追踪信息,以得到各个处理节点的完整链路追踪信息。通过链路追踪服务器提供的API接口与各个处理节点进行追踪信息的传递,从而辅助查询链路追踪信息以实现对实现分布式系统中每条调用链的全路径监控、系统异常分析、系统故障定位等功能。
更进一步的,在所述将所述追踪信息发送至用于对多个调用链进行监控的链路追踪服务器之后,所述方法包括:
步骤B1:从所述链路追踪服务器中获取所述调用链中每个处理节点的追踪信息的上传时间,并计算相邻两个追踪信息的上传时间的时间间隔;
步骤B2:将超过预设时间的时间间隔所对应的两个追踪信息设置为异常追踪信息,并将所述异常追踪信息发送至预设管理平台进行处理。
在本实施例中,一条调用链中每个处理节点的追踪信息的上传时间与该处理节点对新的业务报文的处理速度对应,所以通过计算相邻两个追踪信息的上传时间的时间间隔可以分析得到是否存在处理新的业务报文的时间过慢以影响业务处理速度的异常处理节点,并使用预设管理平台对该异常处理节点进行节点优化。
再进一步的,在所述将所述追踪信息发送至用于对多个调用链进行监控的链路追踪服务器之后,所述方法还包括:
步骤C1:当监控到所述调用链中的全部处理节点均完成对所述业务报文的处理时,从所述链路追踪服务器中获取关于所述调用链的全部追踪信息;
步骤C2:根据所述全部追踪信息以得到所述调用链中每个处理节点之间的调用顺序,并将所述调用顺序添加至与所述调用链对应的预设链路追踪日志中。
其中,所述追踪信息中解析出存在父节点属性的上一处理节点的节点标识和存在子节点属性的目标处理节点的节点标识,并按照父节点属性和子节点属性中每个追踪信息中的处理节点进行调用父子顺序的排序,以得到该调用链中每个处理节点之间的调用顺序。
步骤S105:向所述目标处理节点发送所述新的业务报文,以供所述目标处理节点将所述新的业务报文发送至所述下一处理节点,并通过所述下一处理节点处理所述新的业务报文。
具体的,所述向所述目标处理节点发送所述新的业务报文,包括以下步骤:
使用所述T3协议原生的序列化算法对所述新的业务报文进行序列化计算,得到序列化后的业务报文,并将序列化后的业务报文通过T3协议所支持的通信接口发送至所述目标处理节点,以供所述目标处理节点将序列化后的新的业务报文发送至所述下一处理节点。
其中,所述T3协议原生的序列化算法可以将初始的数字和/或字符结构的信息转换为一个二进制的数组。
在本实施例中,由于T3协议仅支持在处理节点之间使用二进制数据进行信息传递,所以需要对目标处理节点中的新的业务报文进行序列化计算,并传递到调用链中目标处理节点的下一处理节点,由下一处理节点使用T3协议原生的反序列化计算对接收到的新的业务报文进行反序列化计算,以得到原始的新的业务报文,该下一处理节点需将链路标识和目标处理节点的节点标识从新的业务报文中删除,才可继续对该新的业务报文进行业务层面的处理。
在本实施例中,通过字节码增强技术,使用代理服务器JavaAgent对调用链中的各个处理节点进行监控,当该调用链中的业务报文传递到预设位点时,代理服务器JavaAgent会获取与调用链对应的链路标识以及目标处理节点的节点标识,并将链路标识和所述目标处理节点的节点标识添加到新的业务报文尾部,并向目标处理节点发送新的业务报文,以供目标处理节点将新的业务报文发送至调用链中目标处理节点的下一处理节点,并通过下一处理节点处理新的业务报文;该方法无需改动支持T3协议进行通信的处理节点的业务代码,可以无侵入式的完成标识在处理节点之间的传递,防止业务代码存在被入侵的风险,同时可以达到标识可以在整个调用链中进行传递,得到完整的链路追踪信息的目的,进而得以实现对该调用链的全链路监控、系统异常分析、系统故障定位等功能。
实施例二
本发明实施例提供了一种无侵入式业务处理方法,该方法用于表征实施例一所述基于T3协议的业务处理方法在整个调用链中的完整步骤,具体包括以下步骤:
步骤S1:调用链的第一处理节点接收业务报文。
步骤S2:启动代理服务器JavaAgent,对所述调用链进行监控。
步骤S3:当所述代理服务器监控到所述调用链中的第一处理节点对所述业务报文处理完成时,通过所述代理服务器判断所述第一处理节点与所述调用链中的第二处理节点之间是否通过T3协议进行通信。
步骤S4:当所述第一处理节点与所述第二处理节点之间通过T3协议进行通信时,所述代理服务器从所述第一处理节点中获取对所述业务报文处理完成后的业务结果信息。
步骤S5:通过所述代理服务器获取由所述第一处理节点生成的与所述调用链对应的链路标识,并从所述第一处理节点中获取第一处理节点的节点标识。
步骤S6:通过所述代理服务器将所述链路标识和所述第一处理节点的节点标识生成所述第一处理节点的追踪信息,以及将所述第一处理节点的节点标识作为子节点添加到所述第一处理节点的追踪信息中,并将所述第一处理节点的追踪信息发送至链路追踪服务器中。
步骤S7:通过所述代理服务器将所述链路标识和所述第一处理节点的节点标识添加至所述业务结果信息的尾部,以形成新的业务报文。
步骤S8:通过所述第一处理节点对所述新的业务报文使用所述T3协议原生的序列化算法进行序列化计算后得到序列化的新的业务报文,并由所述第一处理节点将所述序列化的新的业务报文发送至所述第二处理节点。
步骤S9:通过所述第二处理节点对所述序列化的新的业务报文使用所述T3协议原生的反序列化算法进行反序列化计算后得到所述新的业务报文。
步骤S10:当所述代理服务器监控到所述第二处理节点得到所述新的业务报文后,通过所述代理服务器将所述新的业务报文中的所述链路标识和所述第一处理节点的节点标识移除。
步骤S11:通过所述代理服务器获取所述第二处理节点的节点标识,将所述链路标识、所述第一处理节点的节点标识和所述第二处理节点的节点标识生成所述第二处理节点的追踪信息。
步骤S12:通过所述代理服务器将所述第一处理节点的节点标识作为父节点、将所述第二处理节点的节点标识作为子节点添加到所述第二处理节点的追踪信息中,并将所述第二处理节点的追踪信息发送至所述链路追踪服务器。
步骤S13:当所述代理服务器监控到所述第二处理节点对所述新的业务报文处理完成时,通过所述代理服务器判断所述第二处理节点与所述调用链中的第三处理节点之间是否通过T3协议进行通信。
步骤S14:重复步骤S4至步骤S13,直至所述调用链中的每个处理节点完成对所述业务报文的处理。
其中,本实施例中的第一处理节点、第二处理节点、第三处理节点均可作为第一实施例中的目标处理节点。
在本实施例中,详细解释了代理服务器在调用链中的如何通过监控到特定位点时触发相应的代理操作,本实施例应用字节码增强技术,使用代理服务器对调用链中的各个处理节点进行监控和代理操作,无需改动使用T3协议进行通信的处理节点的业务代码,便可以无侵入式的完成携带标识的业务报文在处理节点之间的传递,防止出现业务代码被入侵的风险,同时使得链路追踪服务器中取得完整的追踪信息,进而得以实现对该调用链的全链路监控、异常处理节点分析、系统故障定位等功能。
实施例三
基于上述实施例一中提供的无侵入式业务处理方法,本实施例中提供一种无侵入式业务处理的装置,具体地,图2示出了该无侵入式业务处理的装置的可选的结构框图,该无侵入式业务处理的装置被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述无侵入式业务处理的装置在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能。
如图2所示,所述无侵入式业务处理的装置,具体包括以下组成部分:
监控模块201,用于对调用链中的各个处理节点进行监控;其中,所述调用链中的各个处理节点依次对业务报文进行处理;
判断模块202,用于当监控到所述调用链中的目标处理节点对所述业务报文处理完成时,判断在所述调用链中所述目标处理节点的下一处理节点与所述目标处理节点之间是否通过T3协议进行通信;
获取模块203,用于在通过T3协议进行通信的情况下,从所述目标处理节点获取所述业务报文处理完成后的业务结果信息;
添加模块204,用于获取与所述调用链对应的链路标识以及获取所述目标处理节点的模块标识,并将所述链路标识和所述目标处理节点的模块标识添加到所述业务结果信息中,以形成新的业务报文;
发送模块205,用于向所述目标处理节点发送所述新的业务报文,以供所述目标处理节点将所述新的业务报文发送至所述下一处理节点,并通过所述下一处理节点处理所述新的业务报文。
具体的,所述添加模块204,用于:
从所述目标处理节点获取所述链路标识;其中,所述链路标识是所述目标处理节点从由所述调用链中所述目标处理节点的上一处理节点发送来的业务报文中解析得到的;从所述目标处理节点的本地线程文件中解析得到所述目标处理节点的通用唯一标识码,并将所述通用唯一标识码作为所述目标处理节点的节点标识。
进一步的,所述添加模块204,还用于:
从所述目标处理节点获取所述上一处理节点的节点标识;其中,所述上一处理节点的节点标识是所述目标处理节点从由所述上一处理节点发送来的业务报文中解析得到的;将所述上一处理节点的节点标识作为父节点、将所述目标处理节点的节点标识作为子节点添加到所述目标处理节点的追踪信息中;将所述链路标识添加到所述目标处理节点的追踪信息中;将所述追踪信息发送至用于对多个调用链进行监控的链路追踪服务器。
进一步的,所述装置还包括:
追踪模块,用于从所述链路追踪服务器中获取所述调用链中每个处理节点的追踪信息的上传时间,并计算相邻两个追踪信息的上传时间的时间间隔;将超过预设时间的时间间隔所对应的两个追踪信息设置为异常追踪信息,并将所述异常追踪信息发送至预设管理平台进行处理。
更进一步的,所述追踪模块,还用于:
当监控到所述调用链中的全部处理节点均完成对所述业务报文的处理时,从所述链路追踪服务器中获取关于所述调用链的全部追踪信息;根据所述全部追踪信息以得到所述调用链中每个处理节点之间的调用顺序,并将所述调用顺序添加至与所述调用链对应的预设链路追踪日志中。
更进一步的,所述发送模块205,具体用于:
使用所述T3协议原生的序列化算法对所述新的业务报文进行序列化计算,得到序列化后的业务报文,并将序列化后的业务报文通过T3协议所支持的通信接口发送至所述目标处理节点,以供所述目标处理节点将序列化后的新的业务报文发送至所述下一处理节点。
实施例四
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,本实施例的计算机设备30至少包括但不限于:可通过系统总线相互通信连接的存储器301、处理器302。需要指出的是,图3仅示出了具有组件301-302的计算机设备30,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器301(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器301可以是计算机设备30的内部存储单元,例如该计算机设备30的硬盘或内存。在另一些实施例中,存储器301也可以是计算机设备30的外部存储设备,例如该计算机设备30上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。当然,存储器301还可以既包括计算机设备30的内部存储单元也包括其外部存储设备。在本实施例中,存储器301通常用于存储安装于计算机设备30的操作系统和各类应用软件。此外,存储器301还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器302在一些实施例中可以是中央处理器(CentralProcessingUnit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器302通常用于控制计算机设备30的总体操作。
具体的,在本实施例中,处理器302用于执行存储器301中存储的无侵入式业务处理方法的程序,所述无侵入式业务处理方法的程序被执行时实现如下步骤:
对用于处理业务报文的调用链中的各个处理节点进行监控;
当监控到所述调用链中的目标处理节点对所述业务报文处理完成时,判断在所述调用链中的所述目标处理节点与下一处理节点之间是否通过T3协议进行通信;
在通过T3协议进行通信的情况下,从所述目标处理节点获取处理完成后的目标业务报文;
获取与所述调用链对应的链路标识以及获取所述目标处理节点的节点标识,并将所述链路标识和所述目标处理节点的节点标识添加到所述目标业务报文中;
向所述目标处理节点发送所述目标业务报文,以供所述目标处理节点将所述目标业务报文发送至所述调用链中所述目标处理节点的下一处理节点,并通过所述下一处理节点处理所述目标业务报文。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
实施例五
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
对用于处理业务报文的调用链中的各个处理节点进行监控;
当监控到所述调用链中的目标处理节点对所述业务报文处理完成时,判断在所述调用链中的所述目标处理节点与下一处理节点之间是否通过T3协议进行通信;
在通过T3协议进行通信的情况下,从所述目标处理节点获取处理完成后的目标业务报文;
获取与所述调用链对应的链路标识以及获取所述目标处理节点的节点标识,并将所述链路标识和所述目标处理节点的节点标识添加到所述目标业务报文中;
向所述目标处理节点发送所述目标业务报文,以供所述目标处理节点将所述目标业务报文发送至所述调用链中所述目标处理节点的下一处理节点,并通过所述下一处理节点处理所述目标业务报文。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种无侵入式业务处理方法,其特征在于,所述方法包括:
对调用链中的各个处理节点进行监控;其中,所述调用链中的各个处理节点依次对业务报文进行处理;
当监控到所述调用链中的目标处理节点对所述业务报文处理完成时,判断在所述调用链中所述目标处理节点的下一处理节点与所述目标处理节点之间是否通过T3协议进行通信;
在通过T3协议进行通信的情况下,从所述目标处理节点获取所述业务报文处理完成后的业务结果信息;
获取与所述调用链对应的链路标识以及获取所述目标处理节点的节点标识,并将所述链路标识和所述目标处理节点的节点标识添加到所述业务结果信息中,以形成新的业务报文;
向所述目标处理节点发送所述新的业务报文,以供所述目标处理节点将所述新的业务报文发送至所述下一处理节点,并通过所述下一处理节点处理所述新的业务报文。
2.根据权利要求1所述的无侵入式业务处理方法,其特征在于,所述向所述目标处理节点发送所述目标业务报文,具体包括:
使用所述T3协议原生的序列化算法对所述新的业务报文进行序列化计算,得到序列化后的业务报文;
将序列化后的业务报文通过T3协议所支持的通信接口发送至所述目标处理节点,以供所述目标处理节点将序列化后的目标业务报文发送至所述下一处理节点。
3.根据权利要求1所述的无侵入式业务处理方法,其特征在于,所述获取与所述调用链对应的链路标识,具体包括:
从所述目标处理节点获取所述链路标识;其中,所述链路标识是所述目标处理节点从由所述调用链中所述目标处理节点的上一处理节点发送来的业务报文中解析得到的。
4.根据权利要求3所述的无侵入式业务处理方法,其特征在于,所述获取所述目标处理节点的节点标识,具体包括:
从所述目标处理节点的本地线程文件中解析得到所述目标处理节点的通用唯一标识码,并将所述通用唯一标识码作为所述目标处理节点的节点标识。
5.根据权利要求4所述的无侵入式业务处理方法,其特征在于,在获取与所述调用链对应的链路标识以及所述目标处理节点的节点标识之后,所述方法还包括:
从所述目标处理节点获取所述上一处理节点的节点标识;其中,所述上一处理节点的节点标识是所述目标处理节点从由所述上一处理节点发送来的业务报文中解析得到的;
将所述上一处理节点的节点标识作为父节点、将所述目标处理节点的节点标识作为子节点添加到所述目标处理节点的追踪信息中;
将所述链路标识添加到所述目标处理节点的追踪信息中;
将所述追踪信息发送至用于对多个调用链进行监控的链路追踪服务器。
6.根据权利要求5所述的无侵入式业务处理方法,其特征在于,在所述将所述追踪信息发送至用于对多个调用链进行监控的链路追踪服务器之后,所述方法还包括:
从所述链路追踪服务器中获取所述调用链中每个处理节点的追踪信息的上传时间,并计算相邻两个追踪信息的上传时间的时间间隔;
将超过预设时间的时间间隔所对应的两个追踪信息设置为异常追踪信息,并将所述异常追踪信息发送至预设管理平台进行处理。
7.根据权利要求5所述的无侵入式业务处理方法,其特征在于,在所述将所述追踪信息发送至用于对多个调用链进行监控的链路追踪服务器之后,所述方法还包括:
当监控到所述调用链中的全部处理节点均完成对所述业务报文的处理时,从所述链路追踪服务器中获取关于所述调用链的全部追踪信息;
根据所述全部追踪信息以得到所述调用链中每个处理节点之间的调用顺序,并将所述调用顺序添加至与所述调用链对应的预设链路追踪日志中。
8.一种无侵入式业务处理的装置,其特征在于,所述装置包括:
监控模块,用于对调用链中的各个处理节点进行监控;其中,所述调用链中的各个处理节点依次对业务报文进行处理;
判断模块,用于当监控到所述调用链中的目标处理节点对所述业务报文处理完成时,判断在所述调用链中所述目标处理节点的下一处理节点与所述目标处理节点之间是否通过T3协议进行通信;
获取模块,用于在通过T3协议进行通信的情况下,从所述目标处理节点获取所述业务报文处理完成后的业务结果信息;
添加模块,用于获取与所述调用链对应的链路标识以及获取所述目标处理节点的节点标识,并将所述链路标识和所述目标处理节点的节点标识添加到所述业务结果信息中,以形成新的业务报文;
发送模块,用于向所述目标处理节点发送所述新的业务报文,以供所述目标处理节点将所述新的业务报文发送至所述下一处理节点,并通过所述下一处理节点处理所述新的业务报文。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111520380.8A CN114205422B (zh) | 2021-12-13 | 2021-12-13 | 一种无侵入式业务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111520380.8A CN114205422B (zh) | 2021-12-13 | 2021-12-13 | 一种无侵入式业务处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114205422A true CN114205422A (zh) | 2022-03-18 |
CN114205422B CN114205422B (zh) | 2023-07-25 |
Family
ID=80653177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111520380.8A Active CN114205422B (zh) | 2021-12-13 | 2021-12-13 | 一种无侵入式业务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114205422B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130111038A1 (en) * | 2010-07-09 | 2013-05-02 | Attila Technologies, Llc | Transparent Proxy Architecture for Multi-Path Data Connections |
CN107733710A (zh) * | 2017-10-17 | 2018-02-23 | 平安科技(深圳)有限公司 | 链路调用关系的构建方法、装置、计算机设备及存储介质 |
CN111382023A (zh) * | 2018-12-27 | 2020-07-07 | 中国移动通信集团贵州有限公司 | 代码故障定位方法、装置、设备及存储介质 |
WO2021008031A1 (zh) * | 2019-07-16 | 2021-01-21 | 平安普惠企业管理有限公司 | 基于微服务实现监控智能化的处理方法及电子装置 |
CN113014351A (zh) * | 2021-03-15 | 2021-06-22 | 四川英得赛克科技有限公司 | 一种无侵入式对时方法、系统及存储介质 |
CN113055492A (zh) * | 2021-03-25 | 2021-06-29 | 深圳云之家网络有限公司 | 服务灰度链路的控制方法、装置、计算机设备和存储介质 |
-
2021
- 2021-12-13 CN CN202111520380.8A patent/CN114205422B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130111038A1 (en) * | 2010-07-09 | 2013-05-02 | Attila Technologies, Llc | Transparent Proxy Architecture for Multi-Path Data Connections |
CN107733710A (zh) * | 2017-10-17 | 2018-02-23 | 平安科技(深圳)有限公司 | 链路调用关系的构建方法、装置、计算机设备及存储介质 |
CN111382023A (zh) * | 2018-12-27 | 2020-07-07 | 中国移动通信集团贵州有限公司 | 代码故障定位方法、装置、设备及存储介质 |
WO2021008031A1 (zh) * | 2019-07-16 | 2021-01-21 | 平安普惠企业管理有限公司 | 基于微服务实现监控智能化的处理方法及电子装置 |
CN113014351A (zh) * | 2021-03-15 | 2021-06-22 | 四川英得赛克科技有限公司 | 一种无侵入式对时方法、系统及存储介质 |
CN113055492A (zh) * | 2021-03-25 | 2021-06-29 | 深圳云之家网络有限公司 | 服务灰度链路的控制方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
许鹏 等: "基于人工智能代理的负荷态势感知及调控方法", 电力系统自动化, vol. 43, no. 3 * |
Also Published As
Publication number | Publication date |
---|---|
CN114205422B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108600029B (zh) | 一种配置文件更新方法、装置、终端设备及存储介质 | |
US9092230B2 (en) | Configuration of componentized software applications | |
CN110309029B (zh) | 异常数据的采集方法、装置、计算机设备和存储介质 | |
CN111144839B (zh) | 一种项目构建方法、持续集成系统及终端设备 | |
CN112039900B (zh) | 网络安全风险检测方法、系统、计算机设备和存储介质 | |
CN111475376A (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
CN112527484A (zh) | 工作流断点续跑方法、装置、计算机设备及可读存储介质 | |
JP5198154B2 (ja) | 障害監視システム及びデバイスと監視装置並びに障害監視方法 | |
CN110851471A (zh) | 分布式日志数据处理方法、装置以及系统 | |
CN113050984A (zh) | 资源调取方法、装置、电子设备及存储介质 | |
CN112817935A (zh) | 基于字段类型的数据处理方法、装置、设备及存储介质 | |
CN111367531B (zh) | 代码处理方法及装置 | |
CN115202898A (zh) | 消息消费方法、装置、计算机设备和存储介质 | |
CN114020513A (zh) | 一种处理日志信息的方法和装置 | |
CN112905197A (zh) | 一种信息处理方法、装置、系统、电子设备及存储介质 | |
CN114595219A (zh) | 一种数据存储方法、装置和系统 | |
CN112257065A (zh) | 一种进程事件处理方法和装置 | |
US20080216057A1 (en) | Recording medium storing monitoring program, monitoring method, and monitoring system | |
CN112416385A (zh) | 采集组件管理方法和系统 | |
CN114205422B (zh) | 一种无侵入式业务处理方法、装置、设备及存储介质 | |
CN111752600B (zh) | 代码异常检测方法、装置、计算机设备及存储介质 | |
CN113778800A (zh) | 一种报错信息处理方法、装置、系统、设备及存储介质 | |
CN114168108A (zh) | 代码合并方法、装置、电子设备和计算机可读存储介质 | |
CN112328267A (zh) | 一种多台服务器安装方法、装置、终端及存储介质 | |
CN112269583B (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 |