CN115174542A - 业务***的全链路采集方法、采集装置和采集*** - Google Patents

业务***的全链路采集方法、采集装置和采集*** Download PDF

Info

Publication number
CN115174542A
CN115174542A CN202210768409.2A CN202210768409A CN115174542A CN 115174542 A CN115174542 A CN 115174542A CN 202210768409 A CN202210768409 A CN 202210768409A CN 115174542 A CN115174542 A CN 115174542A
Authority
CN
China
Prior art keywords
endpoint
service
data
acquisition
link
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
Application number
CN202210768409.2A
Other languages
English (en)
Other versions
CN115174542B (zh
Inventor
牛新庄
黎育龙
夏韬
吴晓吟
呼卓宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Postal Savings Bank of China Ltd
Original Assignee
Postal Savings Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Postal Savings Bank of China Ltd filed Critical Postal Savings Bank of China Ltd
Priority to CN202210768409.2A priority Critical patent/CN115174542B/zh
Publication of CN115174542A publication Critical patent/CN115174542A/zh
Application granted granted Critical
Publication of CN115174542B publication Critical patent/CN115174542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种业务***的全链路采集方法、采集装置和采集***,该方法包括:调用追踪插件采集各端点的端点数据,端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,消息发送方的端点、消息消费方的端点以及动态字节码增强的业务类的端点对应的端点数据均存储在数据库连接池对应的数据库中;在业务***出现异常的情况下,根据端点数据定位异常端点。该方法解决了现有技术中全链路跟踪方法难以快速定位应用内部的问题。

Description

业务***的全链路采集方法、采集装置和采集***
技术领域
本申请涉及软件开发技术领域,具体而言,涉及一种业务***的全链路采集方法、采集装置、计算机可读存储介质、处理器和采集***。
背景技术
在银行新一代的分布式核心***中,以组件化的方式对业务进行分层建模,以单元化的方式对数据进行分库分表拆分,以微服务的方式对公共组件和业务进行封装,一支交易会跨多个应用服务调用,一个应用也可能访问多个数据库,问题定位比传统的集中式架构更为复杂。
现有的分布式全链路跟踪的技术方案中,没有对于银行的核心业务***在分布式架构下的成熟案例,更多的只是对远程服务调用链路跟踪的实现,在定位到某个应用后去查询应用服务器日志才能跟踪问题。
全链路跟踪最重要的作用是解决交易异常情况下的问题快速定位。已有的全链路跟踪解决方案中,大都只是对于服务调用链路进行展示,当交易链路过长时,往往很难快速定位到异常节点,通用的技术解决方案(如OpenTracing标准下的skywalking实现)也无法对业务的问题进行精准定位和异常堆栈展示。
目前较为成熟的全链路跟踪技术方案大都采用了字节码增强技术,以实现对业务应用的零侵入性。但该字节码增强技术只能够在应用重启的时候进行加载探针代码,无法做到在应用运行时探针代码的动态增强和动态卸载。
在银行的业务***中,数据库访问是交易逻辑和性能的主要依赖,在银行分布式***中,会对数据进行横向拆分即分库分表,以减轻单库数据量过大所造成的容量和性能问题。因此链路跟踪需要能够追溯到数据库操作最终访问到了哪个分库和分表,才能够快速定位问题。目前的解决方案中,未发现对于分布式多数据源的链路跟踪方案描述。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。
发明内容
本申请的主要目的在于提供一种业务***的全链路采集方法、采集装置、计算机可读存储介质、处理器和采集***,以解决现有技术中全链路跟踪方法难以快速定位应用内部的问题。
根据本发明实施例的一个方面提供了一种业务***的全链路采集方法,所述业务***包括网关接入层、组合服务层和原子服务层,所述网关接入层用于根据业务请求调用所述组合服务层,所述组合服务层用于调用所述原子服务层,所述原子服务层包括多个应用内部分层模块和数据库连接池,所述方法包括:调用追踪插件采集各端点的端点数据,所述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,所述消息发送方的端点、所述消息消费方的端点以及所述动态字节码增强的业务类的端点对应的端点数据均存储在所述数据库连接池对应的数据库中;在所述业务***出现异常的情况下,根据所述端点数据定位异常端点。
可选地,在出现异常的情况下,根据所述端点数据定位异常端点,包括:在出现业务异常且所述业务***的服务框架拦截对应的端点数据的情况下,调用所述追踪插件的异常接口采集拦截的所述端点数据进行定位;在出现调用异常的情况下,调用所述追踪插件扩展所述服务调用方的扩展点进行拦截对应的所述端点数据进行定位;在出现数据库访问异常的情况下,调用所述追踪插件扩展所述数据库连接池进行拦截对应的所述端点数据进行定位。
可选地,所述应用内部分层模块包括第一模块和第二模块,所述第一模块为Spring Bean的业务类或消息组件的回调方法对应的模块,所述第二模块为非Spring Bean的业务类对应的模块,调用追踪插件采集各端点的端点数据,包括:调用注解功能采集所述第一模块的端点数据;调用动态字节码增强注入功能采集所述第二模块的端点数据。
可选地,调用追踪插件采集各端点的端点数据,包括:调用所述追踪插件的过滤器拦截所述服务调用方和所述服务提供方的请求信息和响应信息,得到所述服务提供方的端点数据和所述服务调用方的端点数据。
可选地,所述追踪插件包括监控器,在调用追踪插件采集各端点的端点数据之前,所述方法还包括:采用***获取链路采集配置;根据所述链路采集配置对各所述端点的采集开关、采样比例和字节码增强的采集方法进行更新。
可选地,根据所述链路采集配置对各所述端点的采集开关、采样比例和字节码增强的采集方法进行更新,包括:根据所述链路采集配置确定待追踪业务类,所述待追踪业务类为待加入链路跟踪的所述业务类;获取所述待追踪业务类的字节码;在所述字节码中加入探针代码,所述探针代码植入到Java应用中进行字节码增强。
可选地,在所述字节码中加入所述探针代码之后,所述方法还包括:根据所述链路采集配置确定待去追踪业务类,所述待去追踪业务类为待去除字节码增强的业务类;卸载所述待去追踪业务类对应的所述探针代码。
根据本发明实施例的另一方面,还提供了一种业务***的全链路采集装置,所述业务***包括网关接入层、组合服务层和原子服务层,所述网关接入层用于根据业务请求调用所述组合服务层,所述组合服务层用于调用所述原子服务层,所述原子服务层包括多个应用内部分层模块和数据库连接池,所述装置包括:采集单元,用于调用追踪插件采集各端点的端点数据,所述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,所述消息发送方的端点、所述消息消费方的端点以及所述动态字节码增强的业务类的端点对应的端点数据均存储在所述数据库连接池对应的数据库中;定位单元,用于在所述业务***出现异常的情况下,根据所述端点数据定位异常端点。
根据本发明实施例的再一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的方法。
根据本发明实施例的又一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
根据本发明实施例的一方面,还提供了一种全链路采集***,包括业务***、追踪插件、一个或多个处理器、存储器、显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
在本发明实施例中,上述业务***的全链路采集方法中,首先,调用追踪插件采集各端点的端点数据,上述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,上述消息发送方的端点、上述消息消费方的端点以及上述动态字节码增强的业务类的端点对应的端点数据均存储在上述数据库连接池对应的数据库中;然后,在上述业务***出现异常的情况下,根据上述端点数据定位异常端点。该方法调用追踪插件采集各端点的端点数据,实现对业务***中包括远程服务调用跟踪、应用服务内部业务分层追踪、消息的生产和消费、数据库访问跟踪等问题的一站式解决,以便于出现异常,快速定位异常端点,避免了链路过长导致很难快速定位到异常端点的问题,解决了现有技术中全链路跟踪方法难以快速定位应用内部的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的一种的实施例的全链路采集方法流程图;
图2示出了根据本申请的一种具体实施例的全链路采集装置的示意图;
图3示出了根据本申请的另一种具体实施例的全链路采集装置的示意图;
图4示出了根据本申请的一种实施例的全链路采集装置的示意图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
银行分布式核心***:采用分布式和微服务架构的存款核心***、汇款核心***等。如存款核心***有开户、支取、查询等交易;
全链路跟踪(Trace):涉及多个服务和组件之间交互的通信和调用链路,在银行分布式核心***中,主要指交易的通信和调用链路;
端点(Span):在链路中可追踪的最小单元。端点可以是服务调用方,服务提供方,数据库访问等类型;
标签(Tag):一个端点中可定义某些信息的对象。如IP端口,服务接口,方法名称等;
字节码增强:可以将探针代码逻辑植入到Java应用中,实现对应用业务地零侵入。
正如背景技术中所说的,现有技术中的全链路跟踪方法难以快速定位应用内部的问题,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种业务***的全链路采集方法、采集装置、计算机可读存储介质、处理器和采集***。
根据本申请的实施例,提供了一种业务***的全链路采集方法。
图1是根据本申请实施例的业务***的全链路采集方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,调用追踪插件采集各端点的端点数据,上述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,上述消息发送方的端点、上述消息消费方的端点以及上述动态字节码增强的业务类的端点对应的端点数据均存储在上述数据库连接池对应的数据库中;
步骤S102,在上述业务***出现异常的情况下,根据上述端点数据定位异常端点。
上述业务***的全链路采集方法中,首先,调用追踪插件采集各端点的端点数据,上述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,上述消息发送方的端点、上述消息消费方的端点以及上述动态字节码增强的业务类的端点对应的端点数据均存储在上述数据库连接池对应的数据库中;然后,在上述业务***出现异常的情况下,根据上述端点数据定位异常端点。该方法调用追踪插件采集各端点的端点数据,实现对业务***中包括远程服务调用跟踪、应用服务内部业务分层追踪、消息的生产和消费、数据库访问跟踪等问题的一站式解决,以便于出现异常,快速定位异常端点,避免了链路过长导致很难快速定位到异常端点的问题,解决了现有技术中全链路跟踪方法难以快速定位应用内部的问题。
需要说明的是,如图2所示,本申请中的采集方案包含以下几个部分:追踪插件Trace-SDK包含API层和实现IMPL层,是本方案的重点实现部分,应用开发时将依赖Trace-SDK以集成链路跟踪功能;Skywalking-agent为OpenTracing标准的Skywalking采集端组件,通过javaagent的方式增强应用的JVM以实现链路数据的发送;Skywalking-oap-cluster为链路数据采集后的分析和处理端;链路数据最终存储到ElasticSearch集群中;链路监控***的Web Service提供最终的链路数据检索和查看服务;配置中心提供链路相关配置和开关的动态加载和通知功能。
还需要说明的是,如图3所示,API层基于OpenTracing标准,定义了链路采集的接口,包括链路上下文接口Context APi、追加异常堆栈Exception APi接口、增加自定义Tag信息接口Tag APi等;实现层提供了Skywalking的链路采集功能,具体的采集对象包括:交易请求接入层即网关接入层的端点数据、RPC通信服务提供方和调用方的端点数据(按应用层级分为PCS组合曾和PBS原子层)、应用内部分层模块(按调用层级分为PBC、PBB等)的端点数据、数据库访问的端点数据、消息发送方和消息消费方的端点数据、动态字节码增强业务类和方法的端点数据。
还需要说明的是,对数据源访问进行链路进行增强,同时支持应用集成多个数据源(分库)、单个数据源的跟踪,支持逻辑sql语句以及物理sql语句和绑定参数的输出展示,数据库操作耗时统计等能力,帮助业务开发者快速定位数据库访问的逻辑问题。当服务访问数据源时,通过对数据库连接池进行扩展增强,实现对数据库物理操作的信息采集。数据源访问层采集判断所访问的DataSource对象类型,对采用多数据源管理的DataSource,根据分库分表规则获取其物理真实数据源,从而实现对多数据源应用的数据访问层链路采集和跟踪。
还需要说明的是,本申请提供了银行分布式核心***中包括远程服务调用、应用服务内部业务分层追踪、消息的生产和消费、数据源(库)访问跟踪等问题的一站式解决方案,对应用无侵入,且支持多种不同方式的采集扩展和增强;统一定义了异常采集的分类标准和处理方式,故障节点可快速定位,异常堆栈信息可跟踪;结合配置中心的配置动态刷新,实现了运行时任意方法的动态字节码增强链路采集,支持分布式多数据源应用的数据库访问链路采集。
还需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的一种实施例中,在出现异常的情况下,根据上述端点数据定位异常端点,包括:在出现业务异常且上述业务***的服务框架拦截对应的端点数据的情况下,调用上述追踪插件的异常接口采集拦截的上述端点数据进行定位;在出现调用异常的情况下,调用上述追踪插件扩展上述服务调用方的扩展点进行拦截对应的上述端点数据进行定位;在出现数据库访问异常的情况下,调用上述追踪插件扩展上述数据库连接池进行拦截对应的上述端点数据进行定位。该实施例中,在异常处理和定位方面,追踪插件Trace-SDK区分业务异常和技术异常。其中,业务异常由业务***的服务框架统一拦截,调用追踪插件Trace-SDK的异常接口向链路采集暴露;技术异常中的调用异常,追踪插件Trace-SDK通过扩展服务调用方的扩展点进行统一拦截;技术异常中的数据库访问异常,追踪插件Trace-SDK通过扩展数据库连接池进行异常拦截,并过滤如主键冲突等包含业务含义的数据库操作异常。在链路跟踪控制台展示端,对异常节点进行高亮展示,并在端点数据中对异常堆栈进行展现。
需要说明的是,本申请针对银行业务分层建模的特点,对业务异常和技术异常在链路中进行捕获,并进行统一呈现,用户可以直观地看到交易中地异常端点,并查看该异常地根因信息。
本申请的一种实施例中,上述应用内部分层模块包括第一模块和第二模块,上述第一模块为Spring Bean的业务类或消息组件的回调方法对应的模块,上述第二模块为非Spring Bean的业务类对应的模块,调用追踪插件采集各端点的端点数据,包括:调用注解功能采集上述第一模块的端点数据;调用动态字节码增强注入功能采集上述第二模块的端点数据。该实施例中,如图3所示,在服务内部的本地分层组件中,业务开发者可通过使用注解功能采集Spring Bean的业务类或消息组件的回调方法对应的端点数据,可以通过动态字节码增强注入功能采集非Spring Bean的类和方法的对应的端点数据。
本申请的一种实施例中,调用追踪插件采集各端点的端点数据,包括:调用上述追踪插件的过滤器拦截上述服务调用方和上述服务提供方的请求信息和响应信息,得到上述服务提供方的端点数据和上述服务调用方的端点数据。该实施例中,如图3所示,当交易发起时,网关接入层接收交易请求,调用追踪插件Trace-SDK的交易请求接入层API接口,设置请求报文中的全局业务跟踪号到链路上下文(Context)中,并将该跟踪号作为OpenTracing的TraceId。在网关接入层调用组合层(PCS)和组合层调用原子层(PBS)时,追踪插件Trace-SDK采用Filter扩展的方式拦截调用方和服务提供方的请求和响应,增加生成服务端点(Span)并采集所需信息的逻辑,并形成微服务调用的调用方和服务提供方的端点层级关系。
本申请的一种实施例中,上述追踪插件包括监控器,在调用追踪插件采集各端点的端点数据之前,上述方法还包括:采用***获取链路采集配置;根据上述链路采集配置对各上述端点的采集开关、采样比例和字节码增强的采集方法进行更新。该实施例中,如图3所示,追踪插件Trace-SDK的监控器Config-Listener监听配置中心相关的链路采集配置,对各上述端点即多种不同层级和组件的链路采集开关、采样比例、字节码增强(Javassist+ByteBuddy)采集的方法进行动态配置刷新,从而满足不同应用场景和开发、测试、生产环境的链路采集需求。
本申请的一种实施例中,根据上述链路采集配置对各上述端点的采集开关、采样比例和字节码增强的采集方法进行更新,包括:根据上述链路采集配置确定待追踪业务类,上述待追踪业务类为待加入链路跟踪的上述业务类;获取上述待追踪业务类的字节码;在上述字节码中加入探针代码,上述探针代码植入到Java应用中进行字节码增强。该实施例中,如图2所示,在配置中心配置需要加入链路跟踪的待追踪业务类名以及方法名,应用通过追踪插件Trace-SDK订阅到配置中心的配置变化后,定义一个ClassFileTransformer接口的实现(ApmJavassistTransformer),在transform中实现待追踪业务类及方法增强的逻辑。即使用Javassist的ClassPool,CtClass接口获取待追踪业务类字节码,使用CtMethod获取所需增强的方法并在方法前处理加入探针代码,在方法后处理时计算方法执行时间,发布链路进行端点处理,更新到ClassPool中。最终使用ByteBuddy agent install该ApmJavassistTransformer并retransform增强后的上述待追踪业务类。
需要说明的是,基于配置中心地配置监听和Javassist+ByteBuddy链路字节码动态增强方案,不需要重启应用即可对任意待追踪业务类进行链路跟踪,可以实现在应用运行时下对应用中待追踪业务类和方法进行动态字节码增强和卸载,即可以动态地将某一个待追踪业务类的方法进行增强以加入交易链路进行跟踪,也可以动态地将探针代码进行卸载以去除跟踪,极大地提升了链路跟踪地灵活性、可扩展性和配置能力。
本申请的一种实施例中,在上述字节码中加入上述探针代码之后,上述方法还包括:根据上述链路采集配置确定待去追踪业务类,上述待去追踪业务类为待去除字节码增强的业务类;卸载上述待去追踪业务类对应的上述探针代码。该实施例中,在根据链路采集配置确定待去追踪业务类后,需要动态去除待去追踪业务类和方法的链路字节码增强,同样可以通过配置监听到需要去除增强的待去追踪业务类和方法并使用ByteBuddy agentretransformClasses,即可卸载探针代码,恢复到原来待追踪业务类的字节码。
本申请实施例还提供了一种业务***的全链路采集装置,需要说明的是,本申请实施例的业务***的全链路采集装置可以用于执行本申请实施例所提供的用于业务***的全链路采集方法。以下对本申请实施例提供的业务***的全链路采集装置进行介绍。
图4是根据本申请实施例的业务***的全链路采集装置的示意图。如图4所示,该装置包括:
采集单元10,用于调用追踪插件采集各端点的端点数据,上述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,上述消息发送方的端点、上述消息消费方的端点以及上述动态字节码增强的业务类的端点对应的端点数据均存储在上述数据库连接池对应的数据库中;
定位单元20,用于在上述业务***出现异常的情况下,根据上述端点数据定位异常端点。
上述业务***的全链路采集装置中,采集单元调用追踪插件采集各端点的端点数据,上述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,上述消息发送方的端点、上述消息消费方的端点以及上述动态字节码增强的业务类的端点对应的端点数据均存储在上述数据库连接池对应的数据库中;定位单元在上述业务***出现异常的情况下,根据上述端点数据定位异常端点。该装置调用追踪插件采集各端点的端点数据,实现对业务***中包括远程服务调用跟踪、应用服务内部业务分层追踪、消息的生产和消费、数据库访问跟踪等问题的一站式解决,以便于出现异常,快速定位异常端点,避免了链路过长导致很难快速定位到异常端点的问题,解决了现有技术中全链路跟踪方法难以快速定位应用内部的问题。
需要说明的是,如图2所示,本申请中的采集方案包含以下几个部分:追踪插件Trace-SDK包含API层和实现IMPL层,是本方案的重点实现部分,应用开发时将依赖Trace-SDK以集成链路跟踪功能;Skywalking-agent为OpenTracing标准的Skywalking采集端组件,通过javaagent的方式增强应用的JVM以实现链路数据的发送;Skywalking-oap-cluster为链路数据采集后的分析和处理端;链路数据最终存储到ElasticSearch集群中;链路监控***的Web Service提供最终的链路数据检索和查看服务;配置中心提供链路相关配置和开关的动态加载和通知功能。
还需要说明的是,如图3所示,API层基于OpenTracing标准,定义了链路采集的接口,包括链路上下文接口Context APi、追加异常堆栈Exception APi接口、增加自定义Tag信息接口Tag APi等;实现层提供了Skywalking的链路采集功能,具体的采集对象包括:交易请求接入层即网关接入层的端点数据、RPC通信服务提供方和调用方的端点数据(按应用层级分为PCS组合曾和PBS原子层)、应用内部分层模块(按调用层级分为PBC、PBB等)的端点数据、数据库访问的端点数据、消息发送方和消息消费方的端点数据、动态字节码增强业务类和方法的端点数据。
还需要说明的是,对数据源访问进行链路进行增强,同时支持应用集成多个数据源(分库)、单个数据源的跟踪,支持逻辑sql语句以及物理sql语句和绑定参数的输出展示,数据库操作耗时统计等能力,帮助业务开发者快速定位数据库访问的逻辑问题。当服务访问数据源时,通过对数据库连接池进行扩展增强,实现对数据库物理操作的信息采集。数据源访问层采集判断所访问的DataSource对象类型,对采用多数据源管理的DataSource,根据分库分表规则获取其物理真实数据源,从而实现对多数据源应用的数据访问层链路采集和跟踪。
还需要说明的是,本申请提供了银行分布式核心***中包括远程服务调用、应用服务内部业务分层追踪、消息的生产和消费、数据源(库)访问跟踪等问题的一站式解决方案,对应用无侵入,且支持多种不同方式的采集扩展和增强;统一定义了异常采集的分类标准和处理方式,故障节点可快速定位,异常堆栈信息可跟踪;结合配置中心的配置动态刷新,实现了运行时任意方法的动态字节码增强链路采集,支持分布式多数据源应用的数据库访问链路采集。
本申请的一种实施例中,上述定位单元包括第一定位模块、第二定位模块和第三定位模块,上述第一定位模块用于在出现业务异常且上述业务***的服务框架拦截对应的端点数据的情况下,调用上述追踪插件的异常接口采集拦截的上述端点数据进行定位;上述第二定位模块用于在出现调用异常的情况下,调用上述追踪插件扩展上述服务调用方的扩展点进行拦截对应的上述端点数据进行定位;上述第三定位模块用于在出现数据库访问异常的情况下,调用上述追踪插件扩展上述数据库连接池进行拦截对应的上述端点数据进行定位。该实施例中,在异常处理和定位方面,追踪插件Trace-SDK区分业务异常和技术异常。其中,业务异常由业务***的服务框架统一拦截,调用追踪插件Trace-SDK的异常接口向链路采集暴露;技术异常中的调用异常,追踪插件Trace-SDK通过扩展服务调用方的扩展点进行统一拦截;技术异常中的数据库访问异常,追踪插件Trace-SDK通过扩展数据库连接池进行异常拦截,并过滤如主键冲突等包含业务含义的数据库操作异常。在链路跟踪控制台展示端,对异常节点进行高亮展示,并在端点数据中对异常堆栈进行展现。
需要说明的是,本申请针对银行业务分层建模的特点,对业务异常和技术异常在链路中进行捕获,并进行统一呈现,用户可以直观地看到交易中地异常端点,并查看该异常地根因信息。
本申请的一种实施例中,上述应用内部分层模块包括第一模块和第二模块,上述第一模块为Spring Bean的业务类或消息组件的回调方法对应的模块,上述第二模块为非Spring Bean的业务类对应的模块,上述采集单元包括第一采集模块和第二采集模块,上述第一采集模块用于调用注解功能采集上述第一模块的端点数据;上述第二采集模块用于调用动态字节码增强注入功能采集上述第二模块的端点数据。该实施例中,如图3所示,在服务内部的本地分层组件中,业务开发者可通过使用注解功能采集Spring Bean的业务类或消息组件的回调方法对应的端点数据,可以通过动态字节码增强注入功能采集非SpringBean的类和方法的对应的端点数据。
本申请的一种实施例中,上述采集单元还包括第三拦截模块,上述第三拦截模块用于调用上述追踪插件的过滤器拦截上述服务调用方和上述服务提供方的请求信息和响应信息,得到上述服务提供方的端点数据和上述服务调用方的端点数据。该实施例中,如图3所示,当交易发起时,网关接入层接收交易请求,调用追踪插件Trace-SDK的交易请求接入层API接口,设置请求报文中的全局业务跟踪号到链路上下文(Context)中,并将该跟踪号作为OpenTracing的TraceId。在网关接入层调用组合层(PCS)和组合层调用原子层(PBS)时,追踪插件Trace-SDK采用Filter扩展的方式拦截调用方和服务提供方的请求和响应,增加生成服务端点(Span)并采集所需信息的逻辑,并形成微服务调用的调用方和服务提供方的端点层级关系。
本申请的一种实施例中,上述业务***的全链路采集装置还包括监听单元和更新单元,上述追踪插件包括监控器,上述监听单元用于在调用追踪插件采集各端点的端点数据之前,采用***获取链路采集配置;上述更新单元用于根据上述链路采集配置对各上述端点的采集开关、采样比例和字节码增强的采集方法进行更新。该实施例中,如图3所示,追踪插件Trace-SDK的监控器Config-Listener监听配置中心相关的链路采集配置,对各上述端点即多种不同层级和组件的链路采集开关、采样比例、字节码增强(Javassist+ByteBuddy)采集的方法进行动态配置刷新,从而满足不同应用场景和开发、测试、生产环境的链路采集需求。
本申请的一种实施例中,上述更新单元还包括第一确定模块、第二获取模块和第三植入模块,上述第一确定模块用于根据上述链路采集配置确定待追踪业务类,上述待追踪业务类为待加入链路跟踪的上述业务类;上述第二获取模块用于获取上述待追踪业务类的字节码;上述第三植入模块用于在上述字节码中加入探针代码,上述探针代码植入到Java应用中进行字节码增强。该实施例中,如图2所示,在配置中心配置需要加入链路跟踪的待追踪业务类名以及方法名,应用通过追踪插件Trace-SDK订阅到配置中心的配置变化后,定义一个ClassFileTransformer接口的实现(ApmJavassistTransformer),在transform中实现待追踪业务类及方法增强的逻辑。即使用Javassist的ClassPool,CtClass接口获取待追踪业务类字节码,使用CtMethod获取所需增强的方法并在方法前处理加入探针代码,在方法后处理时计算方法执行时间,发布链路进行端点处理,更新到ClassPool中。最终使用ByteBuddy agent install该ApmJavassistTransformer并retransform增强后的上述待追踪业务类。
需要说明的是,基于配置中心地配置监听和Javassist+ByteBuddy链路字节码动态增强方案,不需要重启应用即可对任意待追踪业务类进行链路跟踪,可以实现在应用运行时下对应用中待追踪业务类和方法进行动态字节码增强和卸载,即可以动态地将某一个待追踪业务类的方法进行增强以加入交易链路进行跟踪,也可以动态地将探针代码进行卸载以去除跟踪,极大地提升了链路跟踪地灵活性、可扩展性和配置能力。
本申请的一种实施例中,上述业务***的全链路采集装置还包括确定单元和卸载单元,在上述字节码中加入上述探针代码之后,上述确定单元用于根据上述链路采集配置确定待去追踪业务类,上述待去追踪业务类为待去除字节码增强的业务类;上述卸载单元用于卸载上述待去追踪业务类对应的上述探针代码。该实施例中,在根据链路采集配置确定待去追踪业务类后,需要动态去除待去追踪业务类和方法的链路字节码增强,同样可以通过配置监听到需要去除增强的待去追踪业务类和方法并使用ByteBuddy agentretransformClasses,即可卸载探针代码,恢复到原来待追踪业务类的字节码。
上述业务***的全链路采集装置包括处理器和存储器,上述采集单元、定位单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决了现有技术中全链路跟踪方法难以快速定位应用内部的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述业务***的全链路采集方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述业务***的全链路采集方法。
本发明实施例提供了一种全链路采集***,包括业务***、追踪插件、一个或多个处理器、存储器、显示装置以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的方法,处理器执行程序时实现至少以下步骤:
步骤S101,调用追踪插件采集各端点的端点数据,上述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,上述消息发送方的端点、上述消息消费方的端点以及上述动态字节码增强的业务类的端点对应的端点数据均存储在上述数据库连接池对应的数据库中;
步骤S102,在出现异常的情况下,根据上述端点数据定位异常端点。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,调用追踪插件采集各端点的端点数据,上述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,上述消息发送方的端点、上述消息消费方的端点以及上述动态字节码增强的业务类的端点对应的端点数据均存储在上述数据库连接池对应的数据库中;
步骤S102,在出现异常的情况下,根据上述端点数据定位异常端点。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的业务***的全链路采集方法中,首先,调用追踪插件采集各端点的端点数据,上述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,上述消息发送方的端点、上述消息消费方的端点以及上述动态字节码增强的业务类的端点对应的端点数据均存储在上述数据库连接池对应的数据库中;然后,在上述业务***出现异常的情况下,根据上述端点数据定位异常端点。该方法调用追踪插件采集各端点的端点数据,实现对业务***中包括远程服务调用跟踪、应用服务内部业务分层追踪、消息的生产和消费、数据库访问跟踪等问题的一站式解决,以便于出现异常,快速定位异常端点,避免了链路过长导致很难快速定位到异常端点的问题,解决了现有技术中全链路跟踪方法难以快速定位应用内部的问题。
2)、本申请的业务***的全链路采集装置中,采集单元调用追踪插件采集各端点的端点数据,上述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,上述消息发送方的端点、上述消息消费方的端点以及上述动态字节码增强的业务类的端点对应的端点数据均存储在上述数据库连接池对应的数据库中;定位单元在上述业务***出现异常的情况下,根据上述端点数据定位异常端点。该装置调用追踪插件采集各端点的端点数据,实现对业务***中包括远程服务调用跟踪、应用服务内部业务分层追踪、消息的生产和消费、数据库访问跟踪等问题的一站式解决,以便于出现异常,快速定位异常端点,避免了链路过长导致很难快速定位到异常端点的问题,解决了现有技术中全链路跟踪方法难以快速定位应用内部的问题。
3)、本申请的业务***的全链路采集***中,包括业务***、追踪插件、一个或多个处理器、存储器、显示装置以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的方法。该***调用追踪插件采集各端点的端点数据,实现对业务***中包括远程服务调用跟踪、应用服务内部业务分层追踪、消息的生产和消费、数据库访问跟踪等问题的一站式解决,以便于出现异常,快速定位异常端点,避免了链路过长导致很难快速定位到异常端点的问题,解决了现有技术中全链路跟踪方法难以快速定位应用内部的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种业务***的全链路采集方法,其特征在于,所述业务***包括网关接入层、组合服务层和原子服务层,所述网关接入层用于根据业务请求调用所述组合服务层,所述组合服务层用于调用所述原子服务层,所述原子服务层包括多个应用内部分层模块和数据库连接池,所述方法包括:
调用追踪插件采集各端点的端点数据,所述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,所述消息发送方的端点、所述消息消费方的端点以及所述动态字节码增强的业务类的端点对应的端点数据均存储在所述数据库连接池对应的数据库中;
在所述业务***出现异常的情况下,根据所述端点数据定位异常端点。
2.根据权利要求1所述的方法,其特征在于,在出现异常的情况下,根据所述端点数据定位异常端点,包括:
在出现业务异常且所述业务***的服务框架拦截对应的端点数据的情况下,调用所述追踪插件的异常接口采集拦截的所述端点数据进行定位;
在出现调用异常的情况下,调用所述追踪插件扩展所述服务调用方的扩展点进行拦截对应的所述端点数据进行定位;
在出现数据库访问异常的情况下,调用所述追踪插件扩展所述数据库连接池进行拦截对应的所述端点数据进行定位。
3.根据权利要求1所述的方法,其特征在于,所述应用内部分层模块包括第一模块和第二模块,所述第一模块为Spring Bean的业务类或消息组件的回调方法对应的模块,所述第二模块为非Spring Bean的业务类对应的模块,调用追踪插件采集各端点的端点数据,包括:
调用注解功能采集所述第一模块的端点数据;
调用动态字节码增强注入功能采集所述第二模块的端点数据。
4.根据权利要求1所述的方法,其特征在于,调用追踪插件采集各端点的端点数据,包括:
调用所述追踪插件的过滤器拦截所述服务调用方和所述服务提供方的请求信息和响应信息,得到所述服务提供方的端点数据和所述服务调用方的端点数据。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述追踪插件包括监控器,在调用追踪插件采集各端点的端点数据之前,所述方法还包括:
采用***获取链路采集配置;
根据所述链路采集配置对各所述端点的采集开关、采样比例和字节码增强的采集方法进行更新。
6.根据权利要求5所述的方法,其特征在于,根据所述链路采集配置对各所述端点的采集开关、采样比例和字节码增强的采集方法进行更新,包括:
根据所述链路采集配置确定待追踪业务类,所述待追踪业务类为待加入链路跟踪的所述业务类;
获取所述待追踪业务类的字节码;
在所述字节码中加入探针代码,所述探针代码植入到Java应用中进行字节码增强。
7.根据权利要求6所述的方法,其特征在于,在所述字节码中加入所述探针代码之后,所述方法还包括:
根据所述链路采集配置确定待去追踪业务类,所述待去追踪业务类为待去除字节码增强的业务类;
卸载所述待去追踪业务类对应的所述探针代码。
8.一种业务***的全链路采集装置,其特征在于,所述业务***包括网关接入层、组合服务层和原子服务层,所述网关接入层用于根据业务请求调用所述组合服务层,所述组合服务层用于调用所述原子服务层,所述原子服务层包括多个应用内部分层模块和数据库连接池,所述装置包括:
采集单元,用于调用追踪插件采集各端点的端点数据,所述端点包括网关接入层的端点、服务提供方端点、服务调用方的端点、应用内部分层模块的端点、数据库访问的端点、消息发送方的端点、消息消费方的端点和动态字节码增强的业务类的端点,所述消息发送方的端点、所述消息消费方的端点以及所述动态字节码增强的业务类的端点对应的端点数据均存储在所述数据库连接池对应的数据库中;
定位单元,用于在所述业务***出现异常的情况下,根据所述端点数据定位异常端点。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至7中任意一项所述的方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的方法。
11.一种全链路采集***,其特征在于,包括业务***、追踪插件、一个或多个处理器、存储器、显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至7中任意一项所述的方法。
CN202210768409.2A 2022-07-01 2022-07-01 业务***的全链路采集方法、采集装置和采集*** Active CN115174542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210768409.2A CN115174542B (zh) 2022-07-01 2022-07-01 业务***的全链路采集方法、采集装置和采集***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210768409.2A CN115174542B (zh) 2022-07-01 2022-07-01 业务***的全链路采集方法、采集装置和采集***

Publications (2)

Publication Number Publication Date
CN115174542A true CN115174542A (zh) 2022-10-11
CN115174542B CN115174542B (zh) 2024-06-04

Family

ID=83490041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210768409.2A Active CN115174542B (zh) 2022-07-01 2022-07-01 业务***的全链路采集方法、采集装置和采集***

Country Status (1)

Country Link
CN (1) CN115174542B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117201292A (zh) * 2023-10-30 2023-12-08 智业软件股份有限公司 能准确定位微服务间请求调用异常的方法
CN117221098A (zh) * 2023-08-21 2023-12-12 深圳市时代华盛网络科技有限公司 一种链路追踪方法及***
CN117312104A (zh) * 2023-11-30 2023-12-29 青岛民航凯亚***集成有限公司 一种基于机场生产运营***的可视化链路追踪方法及***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766205A (zh) * 2017-10-10 2018-03-06 武汉大学 一种面向微服务调用过程跟踪的监控***及方法
CN110673967A (zh) * 2019-09-26 2020-01-10 中电万维信息技术有限责任公司 一种集群***及基于EJB、ActiveMQ和ESB接入和调出的方法
CN112035191A (zh) * 2020-08-27 2020-12-04 浪潮云信息技术股份公司 基于微服务的apm全链路监控***及方法
CN112527410A (zh) * 2020-12-17 2021-03-19 深圳市欢太科技有限公司 全链路跟踪方法、装置、设备及存储介质
CN113806169A (zh) * 2021-09-03 2021-12-17 郑州阿帕斯数云信息科技有限公司 业务异常处理方法及装置
CN114116396A (zh) * 2021-11-29 2022-03-01 重庆富民银行股份有限公司 一种全链路追踪方法、***、存储介质及设备
CN114579194A (zh) * 2022-03-08 2022-06-03 杭州每刻科技有限公司 一种基于Spring远程调用的异常处理方法和***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766205A (zh) * 2017-10-10 2018-03-06 武汉大学 一种面向微服务调用过程跟踪的监控***及方法
CN110673967A (zh) * 2019-09-26 2020-01-10 中电万维信息技术有限责任公司 一种集群***及基于EJB、ActiveMQ和ESB接入和调出的方法
CN112035191A (zh) * 2020-08-27 2020-12-04 浪潮云信息技术股份公司 基于微服务的apm全链路监控***及方法
CN112527410A (zh) * 2020-12-17 2021-03-19 深圳市欢太科技有限公司 全链路跟踪方法、装置、设备及存储介质
CN113806169A (zh) * 2021-09-03 2021-12-17 郑州阿帕斯数云信息科技有限公司 业务异常处理方法及装置
CN114116396A (zh) * 2021-11-29 2022-03-01 重庆富民银行股份有限公司 一种全链路追踪方法、***、存储介质及设备
CN114579194A (zh) * 2022-03-08 2022-06-03 杭州每刻科技有限公司 一种基于Spring远程调用的异常处理方法和***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117221098A (zh) * 2023-08-21 2023-12-12 深圳市时代华盛网络科技有限公司 一种链路追踪方法及***
CN117201292A (zh) * 2023-10-30 2023-12-08 智业软件股份有限公司 能准确定位微服务间请求调用异常的方法
CN117201292B (zh) * 2023-10-30 2024-02-23 智业软件股份有限公司 能准确定位微服务间请求调用异常的方法
CN117312104A (zh) * 2023-11-30 2023-12-29 青岛民航凯亚***集成有限公司 一种基于机场生产运营***的可视化链路追踪方法及***
CN117312104B (zh) * 2023-11-30 2024-03-12 青岛民航凯亚***集成有限公司 一种基于机场生产运营***的可视化链路追踪方法及***

Also Published As

Publication number Publication date
CN115174542B (zh) 2024-06-04

Similar Documents

Publication Publication Date Title
CN115174542B (zh) 业务***的全链路采集方法、采集装置和采集***
CN111124906B (zh) 基于动态埋点的跟踪方法、编译方法、装置和电子设备
US9477727B2 (en) Abstracting data for use by a mobile device having occasional connectivity
US9111019B2 (en) Modeling and testing interactions between components of a software system
CN105913316B (zh) 一种规则配置方法和装置
US20080195622A1 (en) Service provisioning system
US7882209B1 (en) Tiered and modular approach to operational support systems
US8850412B2 (en) System and method for using aspects to generate event data records
CN101727475B (zh) 一种获取数据库访问过程的方法、装置及***
CN109241731A (zh) 一种基于虚拟应用的隐私信息保护方法、装置及存储介质
CN114978940B (zh) 链路监控及告警方法、装置、计算机设备和存储介质
CN109753419A (zh) 一种非侵入式监控android***的所有应用的异常日志信息的方法及装置
CN108667660B (zh) 路由管理和业务路由的方法和装置及路由***
CN110515750B (zh) 一种应用拓扑生成方法、***及集群
US10873628B2 (en) System and method for non-intrusive context correlation across cloud services
CN113835921A (zh) 接口服务异常的处理方法、装置、设备和存储介质
CN112565340B (zh) 分布式应用的服务调度方法、装置、计算机***及介质
CN111159033A (zh) 一种软件测试方法及装置
CN112491943A (zh) 数据请求方法、装置、存储介质和电子设备
CN114895879B (zh) 管理***设计方案确定方法、装置、设备及存储介质
US20070074164A1 (en) Systems and methods for information brokering in software management
CN110489392A (zh) 多租户间的数据访问方法、装置、***、存储介质及设备
US20140337728A1 (en) Operating oracle forms using a web service
CN112306723B (zh) 一种应用于小程序的运行信息获取方法和装置
CN114528266B (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