CN115562945A - 链路信息的确定方法及装置、存储介质、电子设备 - Google Patents

链路信息的确定方法及装置、存储介质、电子设备 Download PDF

Info

Publication number
CN115562945A
CN115562945A CN202211336859.0A CN202211336859A CN115562945A CN 115562945 A CN115562945 A CN 115562945A CN 202211336859 A CN202211336859 A CN 202211336859A CN 115562945 A CN115562945 A CN 115562945A
Authority
CN
China
Prior art keywords
target
link
transaction
link information
determining
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.)
Pending
Application number
CN202211336859.0A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202211336859.0A priority Critical patent/CN115562945A/zh
Publication of CN115562945A publication Critical patent/CN115562945A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种链路信息的确定方法及装置、存储介质、电子设备。涉及金融科技或其他相关技术领域。其中,该方法包括:依据目标交易的交易链路查询参数读取目标日志文件,其中,交易链路查询参数为查询分布式框架下的交易链路的查询参数,目标日志文件至少包括入口类程序在执行前后确定的目标传输参数,入口类程序用于查找交易链路的下层服务的链路入口,目标传输参数至少包括排错标志;依据目标日志文件的目标传输参数,确定交易链路的链路信息。本发明解决了相关技术中从分布式框架集群中的每个容器中提取日志确定交易链路,导致交易链路的确定效率低的技术问题。

Description

链路信息的确定方法及装置、存储介质、电子设备
技术领域
本发明涉及金融科技或其他相关技术领域,具体而言,涉及一种链路信息的确定方法及装置、存储介质、电子设备。
背景技术
对于dsf分布式分层的服务,由outer层-inner层-ats层-acs层的链路排错需要依赖日志进行分析,确定交易链路后进入每层的容器中查看日志,从日志中确定链路调用关系,从而排查问题。
在服务高可用环境下,由于应用各层服务部署在多个集群下。为了保证业务的连续性,一个集群下通常存在多台容器,从而保证容器异常可迅速切换至其他容器。在多个集群,每个集群又存在多个容器的情况下,确定交易链路,只能通过每个容器日志确定交易链路,耗费开发人员大量时间和精力。同时日志过多也会导致交易链路排错效率低且不准确的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种链路信息的确定方法及装置、存储介质、电子设备,以至少解决相关技术中从分布式框架集群中的每个容器中提取日志确定交易链路,导致交易链路的确定效率低的技术问题。
根据本发明实施例的一个方面,提供了一种链路信息的确定方法,包括:依据目标交易的交易链路查询参数读取目标日志文件,其中,所述交易链路查询参数为查询分布式框架下的交易链路的查询参数,所述目标日志文件至少包括入口类程序在执行前后确定的目标传输参数,所述入口类程序用于查找所述交易链路的下层服务的链路入口,所述目标传输参数至少包括排错标志;依据所述目标日志文件的目标传输参数,确定所述交易链路的链路信息。
进一步地,在依据目标交易的交易链路查询参数读取目标日志文件之前,包括:将目标客户端程序注入目标工程项目文件中,监控多个服务层的入口类程序是否被执行,其中,所述目标工程项目文件用于在分布式框架下的执行交易任务;在监测到所述入口类程序被执行的情况下,在所述入口类程序的执行前后的传输参数中添加所述排错标志,得到所述目标传输参数;将所述目标传输参数存入所述目标日志文件。
进一步地,将目标客户端程序注入目标工程项目文件中,还包括:基于客户端启动脚本,确定所述目标客户端程序的目标地址,其中,所述客户端启动脚本用于将所述目标客户端程序注入所述目标工程项目文件中;通过客户端启动脚本启动所述目标客户端程序的启动类,依据所述目标客户端程序的目标地址,将所述目标客户端程序注入所述目标工程项目文件中。
进一步地,依据所述目标日志文件的目标传输参数,确定所述交易链路的链路信息,包括:解析所述目标日志文件,得到所述目标传输参数;依据所述目标传输参数中的排错标志,确定所述目标交易在所述分布式框架中每个服务层调用的服务器地址;依据所述每个服务层调用的服务器地址,确定所述交易链路的链路信息。
进一步地,依据所述目标传输参数中的排错标志,确定所述交易链路的链路信息之后,包括:将所述交易链路的链路信息存入数据库中;调用所述数据库中的所述交易链路的链路信息,对所述链路信息进行展示。
进一步地,将所述目标传输参数存入所述目标日志文件之后,包括:将所述目标日志文件传输至日志解析平台,其中,所述日志解析平台用于解析所述目标日志文件,确定所述目标交易的交易链路的链路信息,并将所述目标交易的交易链路的链路信息存入数据库中。
进一步地,所述排错标志为键值对形式,所述键值对的键表示所述排错标志的标识、所述键值对的值表示所述排错标志的服务器地址。
根据本发明实施例的另一方面,还提供了一种链路信息的确定装置,包括:读取单元,用于依据目标交易的交易链路查询参数读取目标日志文件,其中,所述交易链路查询参数为查询分布式框架下的交易链路的查询参数,所述目标日志文件至少包括入口类程序在执行前后确定的目标传输参数,所述入口类程序用于查找所述交易链路的下层服务的链路入口,所述目标传输参数至少包括排错标志;确定单元,用于依据所述目标日志文件的目标传输参数,确定所述交易链路的链路信息。
进一步地,链路信息的确定装置还包括,监控单元,用于在依据目标交易的交易链路查询参数读取目标日志文件之前,将目标客户端程序注入目标工程项目文件中,监控多个服务层的入口类程序是否被执行,其中,所述目标工程项目文件用于在分布式框架下的执行交易任务;添加单元,用于在监测到所述入口类程序被执行的情况下,在所述入口类程序的执行前后的传输参数中添加所述排错标志,得到所述目标传输参数;存储单元,将所述目标传输参数存入所述目标日志文件。
进一步地,监控单元包括:第一确定子单元,用于基于客户端启动脚本,确定所述目标客户端程序的目标地址,其中,所述客户端启动脚本用于将所述目标客户端程序注入所述目标工程项目文件中;注入子单元,用于通过客户端启动脚本启动所述目标客户端程序的启动类,依据所述目标客户端程序的目标地址,将所述目标客户端程序注入所述目标工程项目文件中。
进一步地,确定单元包括:解析子单元,用于解析所述目标日志文件,得到所述目标传输参数;第二确定子单元,用于依据所述目标传输参数中的排错标志,确定所述目标交易在所述分布式框架中每个服务层调用的服务器地址;第三确定子单元,用于依据所述每个服务层调用的服务器地址,确定所述交易链路的链路信息。
进一步地,确定单元还包括,存储子单元,用于依据所述每个服务层调用的服务器地址,确定所述交易链路的链路信息之后,将所述交易链路的链路信息存入数据库中;展示子单元,用于调用所述数据库中的所述交易链路的链路信息,对所述链路信息进行展示。
进一步地,存储单元还包括:传输子单元,用于将所述目标传输参数存入所述目标日志文件之后,将所述目标日志文件传输至日志解析平台,其中,所述日志解析平台用于解析所述目标日志文件,确定所述目标交易的交易链路的链路信息,并将所述目标交易的交易链路的链路信息存入数据库中。
进一步地,所述排错标志为键值对形式,所述键值对的键表示所述排错标志的标识、所述键值对的值表示所述排错标志的服务器地址。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的链路信息的确定方法。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的链路信息的确定方法。
在本发明中,依据目标交易的交易链路查询参数读取目标日志文件,其中,交易链路查询参数为查询分布式框架下的交易链路的查询参数,目标日志文件至少包括入口类程序在执行前后确定的目标传输参数,入口类程序用于查找交易链路的下层服务的链路入口,目标传输参数至少包括排错标志;依据目标日志文件的目标传输参数,确定交易链路的链路信息。进而解决了相关技术中从分布式框架集群中的每个容器中提取日志确定交易链路,导致交易链路的确定效率低的技术问题。在本发明中,通过依据入口类程序的方法执行前后传输参数中加入的排除标志,确定交易链路,避免了频繁读取每个服务器中的日志,分析确定交易链路的,从而实现了提高交易链路确定效率、进而提高交易链路排除效率的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的链路信息的确定方法的流程图;
图2是根据本发明实施例的一种可选的链路信息树形图的示意图;
图3是根据本发明实施例的一种可选的链路信息的确定***的总体架构的示意图;
图4是根据本发明实施例的一种可选的可视化链路信息的流程图;
图5是根据本发明实施例的一种可选的查询报文信息的界面的示意图;
图6是根据本发明实施例的一种可选的Seas平台查询的接口具体信息的展示界面的示意图;
图7是根据本发明实施例的一种可选的链路信息的确定装置的示意图;
图8是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述下面对本发明涉及的部分术语或名称进行说明。
dsf:分布式分层服务,在分布式框架下,将服务层由外至内分为多层,分别为outer层(对外提供服务的服务层)-inner层(对内提供服务的服务层)-ats层(各种服务的组合层)-acs层(数据层),分层间服务调用通过rpc调用完成。
rpc:remote procedure call,简称rpc,远程调用。
Instrumentation特性:Java SE5及后续版本,提供的一种可以独立于应用程序之外的代理程序来检测和协助运行在JVM(Java虚拟机)上的应用程序,提供一套代理机制,支持独立于JVM应用程序之外的程序以代理的方式连接和访问JVM。
服务高可用:指服务部署在多园区上,具备灾备能力,服务可以保持高可用状态。
Seas平台:管理与登记接口调用信息的平台。
需要说明的是,本公开中的链路信息的确定方法及其装置可用于金融科技领域在对业务的交易链路进行查询的情况下,也可用于除金融科技领域之外的任意领域在处理业务的交易链路进行查询的情况下,本公开中对链路信息的确定方法及其装置的应用领域不做限定。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本***和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
本发明可以应用于各金融机构的各种软件产品、控制***、客户端(包括但不限于:移动客户端、PC机等)的软件工程项目中,以软件产品为例进行示意说明,通过在软件产品的软件项目工程文件中应用链路信息的确定方法,可以实现金融机构的业务内容(包括但不限于:转账、理财、基金、缴费、查账、广告、推荐等业务功能)的交易链路进行查询,以此对交易链路进行排错。
下面结合各实施例来进一步说明本发明。
实施例一
根据本发明实施例,提供了一种可选的链路信息的确定的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的链路信息的确定方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,依据目标交易的交易链路查询参数读取目标日志文件,其中,交易链路查询参数为查询分布式框架下的交易链路的查询参数,目标日志文件至少包括入口类程序在执行前后确定的目标传输参数,入口类程序用于查找交易链路的下层服务的链路入口,目标传输参数至少包括排错标志。
上述的目标交易可以是业务交易,上述的交易链路查询参数可以为查询分布式框架下的交易链路的查询参数,交易链路可以是目标交易执行过程中,分布式框架下多个服务层中的每个服务层调用的容器或服务器组成的交易链路,交易链路查询参数可以是业务交易的应用、报文关键字等参数。上述的目标日志文件可以是与目标交易的交易链路相关的日志文件。
上述的入口类程序可以用于查找交易链路的下层服务的链路入口,具体的,上述入口类可以用于查找目标交易执行过程中所调用的服务层中的哪个服务器的程序方法。
上述的目标传输参数可以包括排错标志,排错标志可以是在入口类程序中的方法被执行前后,基于Instrumentation特性在传输参数中***的标志。
步骤S102,依据目标日志文件的目标传输参数,确定交易链路的链路信息。
在本实施例中,依据上述的目标日志文件中的目标传输参数中的排错日志可以确定交易链路的链路信息,确定出交易链路的链路信息后还可以对链路信息进行展示,提高了链路信息的确定效率,同时依据展示的交易链路的链路信息还可以对交易链路进行快速的排错处理,提高对交易链路进行链路排错的排错效率。
需要说明的是,还可以在上述目标日志文件生成过程中,直接依据目标日志文件的目标传输参数,确定交易链路的链路信息,将链路信息存储在数据库中,依据交易链路查询参数直接在数据库中读取目标交易的交易链路的链路信息。
通过上述步骤,通过依据入口类程序的方法执行前后传输参数中加入的排除标志,确定交易链路,避免了频繁读取每个服务器中的日志,分析确定交易链路的,从而实现了提高交易链路确定效率、进而提高交易链路排除效率的技术效果。进而解决了相关技术中从分布式框架集群中的每个容器中提取日志确定交易链路,导致交易链路的确定效率低的技术问题。
为了避免从服务器中频繁读取日志的情况,在本实施例中,在依据目标交易的交易链路查询参数读取目标日志文件之前,还包括以下内容:将目标客户端程序注入目标工程项目文件中,监控多个服务层的入口类程序是否被执行,其中,目标工程项目文件用于在分布式框架下执行交易任务;在监测到入口类程序被执行的情况下,在入口类程序的执行前后的传输参数中添加排错标志,得到目标传输参数;将目标传输参数存入目标日志文件。
上述的目标客户端程序可以在交易执行过程中,用于监控入口类程序是否被执行,在入口类程序中的方法被调用前后添加排错标志,上述的目标工程项目文件可以是分布式框架的应用程序文件,可以是运行在JVM中的应用程序的程序文件,用于在分布式框架下执行交易任务。
目标客户端程序,在监测到入口类程序被执行的情况下,在入口类程序的执行前后的传输参数中添加排错标志,得到目标传输参数;将目标传输参数存入目标日志文件,实现了便于后续确定交易链路的技术效果。
为了便于监控多个服务层每个容器被调用的过程,及时***排错标志中,在本实施例中,将目标客户端程序注入目标工程项目文件中,还包括:基于客户端启动脚本,确定目标客户端程序的目标地址,其中,客户端启动脚本用于将目标客户端程序注入目标工程项目文件中;通过客户端启动脚本启动目标客户端程序的启动类,依据目标客户端程序的目标地址,将目标客户端程序注入目标工程项目文件中。
例如:loadAgent脚本(对应于上述的客户端启动脚本):通过loadAgent脚本将agent.jar(对应于上述的目标客户端程序的启动类)启动,由于loadAgent脚本中定义core.jar(对应于上述的目标客户端程序)的目标地址,因此,可以基于客户端启动脚本,确定目标客户端程序的目标地址,上述的agent.jar作为agent(对应于上述的目标客户端)启动类,接收core.jar的路径,即目标地址,可以依据目标地址将core.jar注入jvm进程中,客户端启动脚本实现了将客户端程序无感侵入目标工程项目文件中的技术效果。
为了提高链路信息的确定效率,在本实施例中,依据目标日志文件的目标传输参数,确定交易链路的链路信息,包括:解析目标日志文件,得到目标传输参数;依据目标传输参数中的排错标志,确定目标交易在分布式框架中每个服务层调用的服务器地址;依据每个服务层调用的服务器地址,确定交易链路的链路信息。
在本实施例中,在排错标志中可以包括执行目标交易过程中调用的每个服务层中的服务器地址,依据服务器地址可以确定交易链路,还可以依据排错标志确定调用的服务器的程序方法,依据每个服务层被调用的程序方法也可以确定上述的链路信息,实现了提高交易链路的链路信息的确定速度的技术效果。
为了便于开发人员对交易链路进行链路排错,在本实施例中,依据目标传输参数中的排错标志,确定交易链路的链路信息之后,还包括以下内容:将交易链路的链路信息存入数据库中;调用数据库中的交易链路的链路信息,对链路信息进行展示。
在本实施例中,确定交易链路的链路信息之后,还可以将交易链路的链路信息存入数据库中,调用数据库中的交易链路的链路信息,对链路信息进行展示,便于开发人员对交易链路进行链路排错,实现了提高交易链路的链路排错效率的技术效果。
为了便于提高交易的链路信息的提取速度,将目标传输参数存入目标日志文件之后,包括:将目标日志文件传输至日志解析平台,其中,日志解析平台用于解析目标日志文件,确定目标交易的交易链路的链路信息,并将目标交易的交易链路的链路信息存入数据库中。
上述的目标日志文件还可以从容器端(服务器上)生成,传输至日志解析平台,通过日志解析平台对目标日志文件进行解析,选出与目标交易的交易链路的链路信息,并将目标交易的交易链路的链路信息和与链路信息相关的日志信息文件存入数据库中,上述的数据库可以是Mysql数据库,还可以是其他类型的数据库,依据链路信息和与链路信息相关的日志信息文件,可以直接将目标交易的链路信息进行展示,实现了提高提高交易的链路信息的提取速度的技术效果。
为了便于在传输参数中***排错标志,在本实施例中,排错标志为键值对形式,键值对的键表示排错标志的标识、键值对的值表示排错标志的服务器地址。
例如:标志位以key-value形式,key为ServerIp(对应于上述的排错标志的标识),vaule为当前容器ip(对应于上述的排错标志的服务器地址),实现了便于在传输参数中***排错标志的技术效果。
实施例二
本实施例提供了一种可选的链路信息的确定***,用户只需在项目工程(如项目的jvm)中引入排错客户端即可,服务调用相关信息记录对应用无感。
可视化全链路排错装置分为服务端和客户端。客户端负责记录下交易的路由链路和调用方法的参数,再经过日志分析平台将数据记录到数据库中,开发人员在服务端页面通过模糊查询匹配数据找到交易对应的链路和方法调用的链路。
服务端负责提供交易链路信息查询。服务端使用操作简单,开发和测试人员登录服务端,通过输入应用、报文关键字等参数(对应于实施例一中的交易链路查询参数),点击查询,可以展示出相关的链路和方法调用信息。可以采用树形结构展示交易调用链路全视图,图2是根据本发明实施例的一种可选的链路信息树形图的示意图,交易链路中调用的各个服务层的方法如图2所示。简洁清晰,并监控节点运行情况。记录每笔交易从入口到结束调用链路,包括服务方法信息等。对链路上的每一次调用请求,支持直接查询报文信息。同时,在查询交易报文中,将seas所登记的服务维护人信息同步返回,排查问题更为方便。
在本实施例中,还可以在不阻塞正常业务流程的情况下设置断点,观察断点所拦截的所有信息,实现不中断程序执行的过程中利用切面完成交易链路和参数的记录和JVM的问题排查。本实施例克服了多容器(或多服务器)取日志繁琐、效率低的缺点,实现了便捷、高效的全链路排错的技术效果。
本实施例可以通过将客户端无感侵入项目jvm进程中,在服务器容器生成监控信息,并上送至日志解析平台进行加工,然后传到mysql数据库,实时写入数据库表中,供服务端展示使用。
图3是根据本发明实施例的一种可选的链路信息的确定***的总体架构的示意图,如图3所示,本实施例的总体架构分为管理端、收集端、客户端和容器端,下面对总体架构的各个部分进行说明。
容器端模块说明:
1、设备注册:将服务入口参数传给日志解析平台。
2、类注入/恢复:将客户端无感侵入项目的jvm进程中,监控指定类。
3、日志生成:类注入后,在入口类中的方法调用前和调用后生成对应参数日志(对应于实施例一中的目标日志文件)。
4、日志上报:将生成的参数日志传给日志解析平台。
日志解析平台模块说明:
把容器端传送上来的日志以及参数进行解析工作,选出链路日志信息,存储在Mysql数据库中。
服务端展示模块说明:
通过输入应用、报文关键字等参数,从数据库中选取对应日志信息,将链路信息展示在页面。
插件远程debug专用模块说明:
通过动态增强指定类,实现开发人员本地debug(计算机故障排除)排错。
客户端及日志解析平台设计:
主要的功能在于可以在***不停机的情况下,将客户端无感侵入项目的jvm中,生成对应监控信息。
设计如下:
1、客户端设计。
loadAgent脚本:
通过脚本将agent.jar启动,脚本中定义core.jar的目标地址。
Agent.jar设计:
作为agent启动类,接收core.jar的路径,并将core.jar注入jvm进程中。
2、日志解析平台设计。
Core.jar(对应于实施例一中的客户端启动脚本)设计:
由agent.jar(对应于实施例一中的目标客户端程序的启动类)启动时注入到jvm进程中,通过instrument对象,修改链路入口类的字节码文件,在传参(传输参数)中***标志位,传给下一层链路方法,并生成监控日志(对应于实施例一中的目标日志文件)。标志位以key-value(键值对)形式,key为ServerIp,vaule为当前容器ip。设置定时任务解析监控日志,分析日志,***mysql数据库中。
图4是根据本发明实施例的一种可选的可视化链路信息的流程图,可视化链路信息的流程如图4所示,具体如下:
步骤S401:dsf各层容器引入客户端jar包。在loadAgent脚本中指定core.jar包路径。
步骤S402:容器启动后执行loadAgent脚本,调起agent.jar,通过jvm注入到进程中。
步骤S403:注入后由instrument特性监控链路入口类。
步骤S404:当监控类的方法被执行时,在方法执行前和执行后,在传参中加入排错标志。
步骤S405:日志解析平台对各层日志中的传参的排错标志进行分析。
步骤S406:将链路信息日志存储在mysql数据库中。
步骤S407:服务端将链路调用情况展示出来。
在本实施例中,查询报文信息的界面如图5所示。还可以从Seas平台查询的接口具体信息,也即是Seas平台所登记的服务维护人信息,Seas平台查询的接口具体信息如图6所示。
实施例三
本实施例提供了一种可选的链路信息的确定装置,该确定装置中的各个实施单元对应于实施例一中的各个实施步骤。
图7是根据本发明实施例的一种可选的链路信息的确定装置的示意图,如图7所示,链路信息的确定装置包括:读取单元71、确定单元72。
具体的,读取单元71,用于依据目标交易的交易链路查询参数读取目标日志文件,其中,交易链路查询参数为查询分布式框架下的交易链路的查询参数,目标日志文件至少包括入口类程序在执行前后确定的目标传输参数,入口类程序用于查找交易链路的下层服务的链路入口,目标传输参数至少包括排错标志;
确定单元72,用于依据目标日志文件的目标传输参数,确定交易链路的链路信息。
在本申请实施例三提供的链路信息的确定装置中,可以通过读取单元71依据目标交易的交易链路查询参数读取目标日志文件,其中,交易链路查询参数为查询分布式框架下的交易链路的查询参数,目标日志文件至少包括入口类程序在执行前后确定的目标传输参数,入口类程序用于查找交易链路的下层服务的链路入口,目标传输参数至少包括排错标志,通过确定单元72依据目标日志文件的目标传输参数,确定交易链路的链路信息。进而解决了相关技术中从分布式框架集群中的每个容器中提取日志确定交易链路,导致交易链路的确定效率低的技术问题。在本实施例中,通过依据入口类程序的方法执行前后传输参数中加入的排除标志,确定交易链路,避免了频繁读取每个服务器中的日志,分析确定交易链路的,从而实现了提高交易链路确定效率、进而提高交易链路排除效率的技术效果。
可选的,在本申请实施例三提供的链路信息的确定装置中,链路信息的确定装置还包括,监控单元,用于在依据目标交易的交易链路查询参数读取目标日志文件之前,将目标客户端程序注入目标工程项目文件中,监控多个服务层的入口类程序是否被执行,其中,目标工程项目文件用于在分布式框架下的执行交易任务;添加单元,用于在监测到入口类程序被执行的情况下,在入口类程序的执行前后的传输参数中添加排错标志,得到目标传输参数;存储单元,将目标传输参数存入目标日志文件。
可选的,在本申请实施例三提供的链路信息的确定装置中,监控单元包括:第一确定子单元,用于基于客户端启动脚本,确定目标客户端程序的目标地址,其中,客户端启动脚本用于将目标客户端程序注入目标工程项目文件中;注入子单元,用于通过客户端启动脚本启动目标客户端程序的启动类,依据目标客户端程序的目标地址,将目标客户端程序注入目标工程项目文件中。
可选的,在本申请实施例三提供的链路信息的确定装置中,确定单元72包括:解析子单元,用于解析目标日志文件,得到目标传输参数;第二确定子单元,用于依据目标传输参数中的排错标志,确定目标交易在分布式框架中每个服务层调用的服务器地址;第三确定子单元,用于依据每个服务层调用的服务器地址,确定交易链路的链路信息。
可选的,在本申请实施例三提供的链路信息的确定装置中,确定单元72还包括:存储子单元,用于依据每个服务层调用的服务器地址,确定交易链路的链路信息之后,将交易链路的链路信息存入数据库中;展示子单元,用于调用数据库中的交易链路的链路信息,对链路信息进行展示。
可选的,在本申请实施例三提供的链路信息的确定装置中,存储单元还包括:传输子单元,用于将目标传输参数存入目标日志文件之后,将目标日志文件传输至日志解析平台,其中,日志解析平台用于解析目标日志文件,确定目标交易的交易链路的链路信息,并将目标交易的交易链路的链路信息存入数据库中。
可选的,在本申请实施例三提供的链路信息的确定装置中,排错标志为键值对形式,键值对的键表示排错标志的标识、键值对的值表示排错标志的服务器地址。
上述的链路信息的确定装置还可以包括处理器和存储器,上述的读取单元71,确定单元72等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来通过依据入口类程序的方法执行前后传输参数中加入的排除标志,确定交易链路,避免了频繁读取每个服务器中的日志,分析确定交易链路的,从而实现了提高交易链路确定效率、进而提高交易链路排除效率的技术效果。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的链路信息的确定方法。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的链路信息的确定方法。
图8是根据本发明实施例的一种可选的电子设备的示意图,如图8所示,本发明实施例提供了一种电子设备80,电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述任意一项的链路信息的确定方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种链路信息的确定方法,其特征在于,包括:
依据目标交易的交易链路查询参数读取目标日志文件,其中,所述交易链路查询参数为查询分布式框架下的交易链路的查询参数,所述目标日志文件至少包括入口类程序在执行前后确定的目标传输参数,所述入口类程序用于查找所述交易链路的下层服务的链路入口,所述目标传输参数至少包括排错标志;
依据所述目标日志文件的目标传输参数,确定所述交易链路的链路信息。
2.根据权利要求1所述的确定方法,其特征在于,在依据目标交易的交易链路查询参数读取目标日志文件之前,包括:
将目标客户端程序注入目标工程项目文件中,监控多个服务层的入口类程序是否被执行,其中,所述目标工程项目文件用于在分布式框架下的执行交易任务;
在监测到所述入口类程序被执行的情况下,在所述入口类程序的执行前后的传输参数中添加所述排错标志,得到所述目标传输参数;
将所述目标传输参数存入所述目标日志文件。
3.根据权利要求2所述的确定方法,其特征在于,将目标客户端程序注入目标工程项目文件中,还包括:
基于客户端启动脚本,确定所述目标客户端程序的目标地址,其中,所述客户端启动脚本用于将所述目标客户端程序注入所述目标工程项目文件中;
通过客户端启动脚本启动所述目标客户端程序的启动类,依据所述目标客户端程序的目标地址,将所述目标客户端程序注入所述目标工程项目文件中。
4.根据权利要求1所述的确定方法,其特征在于,依据所述目标日志文件的目标传输参数,确定所述交易链路的链路信息,包括:
解析所述目标日志文件,得到所述目标传输参数;
依据所述目标传输参数中的排错标志,确定所述目标交易在所述分布式框架中每个服务层调用的服务器地址;
依据所述每个服务层调用的服务器地址,确定所述交易链路的链路信息。
5.根据权利要求4所述的确定方法,其特征在于,依据所述每个服务层调用的服务器地址,确定所述交易链路的链路信息之后,包括:
将所述交易链路的链路信息存入数据库中;
调用所述数据库中的所述交易链路的链路信息,对所述链路信息进行展示。
6.根据权利要求2所述的确定方法,其特征在于,将所述目标传输参数存入所述目标日志文件之后,包括:
将所述目标日志文件传输至日志解析平台,其中,所述日志解析平台用于解析所述目标日志文件,确定所述目标交易的交易链路的链路信息,并将所述目标交易的交易链路的链路信息存入数据库中。
7.根据权利要求1所述的确定方法,其特征在于,所述排错标志为键值对形式,所述键值对的键表示所述排错标志的标识、所述键值对的值表示所述排错标志的服务器地址。
8.一种链路信息的确定装置,其特征在于,包括:
读取单元,用于依据目标交易的交易链路查询参数读取目标日志文件,其中,所述交易链路查询参数为查询分布式框架下的交易链路的查询参数,所述目标日志文件至少包括入口类程序在执行前后确定的目标传输参数,所述入口类程序用于查找所述交易链路的下层服务的链路入口,所述目标传输参数至少包括排错标志;
确定单元,用于依据所述目标日志文件的目标传输参数,确定所述交易链路的链路信息。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的链路信息的确定方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的链路信息的确定方法。
CN202211336859.0A 2022-10-28 2022-10-28 链路信息的确定方法及装置、存储介质、电子设备 Pending CN115562945A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211336859.0A CN115562945A (zh) 2022-10-28 2022-10-28 链路信息的确定方法及装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211336859.0A CN115562945A (zh) 2022-10-28 2022-10-28 链路信息的确定方法及装置、存储介质、电子设备

Publications (1)

Publication Number Publication Date
CN115562945A true CN115562945A (zh) 2023-01-03

Family

ID=84768590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211336859.0A Pending CN115562945A (zh) 2022-10-28 2022-10-28 链路信息的确定方法及装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN115562945A (zh)

Similar Documents

Publication Publication Date Title
US7702959B2 (en) Error management system and method of using the same
CN107483221B (zh) 一种跨应用问题排查方法、装置及***
US10152367B2 (en) System dump analysis
CN110162512B (zh) 一种日志检索方法、装置及存储介质
CN111858296B (zh) 接口测试方法、装置、设备和存储介质
CN113760641A (zh) 业务监控方法、装置、计算机***和计算机可读存储介质
CN114745295A (zh) 数据采集方法、装置、设备和可读存储介质
US10873628B2 (en) System and method for non-intrusive context correlation across cloud services
CN112187933A (zh) 一种多架构云平台中服务的监控方法和***
CN116893945A (zh) 一种运维云平台业务预警方法、***及装置
CN110838929B (zh) ***错误排查方法和***错误排查装置
CN114153703A (zh) 微服务的异常定位方法、装置、电子设备和程序产品
CN112860507B (zh) 分布式链路跟踪***采样率的控制方法和装置
CN114064475A (zh) 云原生应用测试方法、装置、设备及存储介质
US11263115B2 (en) Problem diagnosis technique of memory corruption based on regular expression generated during application compiling
US8694596B2 (en) Systems and methods for information brokering in software management
US6530041B1 (en) Troubleshooting apparatus troubleshooting method and recording medium recorded with troubleshooting program in network computing environment
CN112187509A (zh) 多架构云平台执行日志管理方法、***、终端及存储介质
CN115562945A (zh) 链路信息的确定方法及装置、存储介质、电子设备
CN114756435A (zh) 日志读取方法、服务器、计算机设备和存储介质
CN112162954B (zh) 用户操作日志生成、路径的定位方法、装置、设备及介质
US10303579B2 (en) Debug session analysis for related work item discovery
CN111488230A (zh) 修改日志输出级别的方法、装置、电子设备及存储介质
CN115390912B (zh) 资源发现方法、装置、计算机设备和存储介质
US11645137B2 (en) Exception management in heterogenous computing environment

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