CN116932347A - 链路追踪方法、设备及计算机可读介质 - Google Patents
链路追踪方法、设备及计算机可读介质 Download PDFInfo
- Publication number
- CN116932347A CN116932347A CN202310688138.4A CN202310688138A CN116932347A CN 116932347 A CN116932347 A CN 116932347A CN 202310688138 A CN202310688138 A CN 202310688138A CN 116932347 A CN116932347 A CN 116932347A
- Authority
- CN
- China
- Prior art keywords
- log
- service
- tracking
- service request
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/323—Visualisation of programs or trace data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种链路追踪方法、设备及计算机可读介质,该方案在接收到业务请求时,生成追踪记录实例;当业务请求执行到链路节点时,生成对应的日志,并将日志按照业务类型推送至追踪记录实例所对应的不同队列中,当业务请求执行完毕时,将队列中的日志同步到数据库中。由于日志包括执行业务请求的时间戳,当接收到链路追踪可视化请求时,可以从数据库中查询对应的日志,再根据日志的时间戳顺序显示日志的数据。由此,本方案基于追踪标识以及时间轴,实现双维度的日志追踪、组织以及聚合,使得用户可以通过可视化的形式便捷地查看某一业务请求按照时间顺序在各个链路节点中的处理过程,从而更好地还原链路。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种链路追踪方法、设备及计算机可读介质。
背景技术
随着互联网产品的快速发展,商业环境和用户需求不断变化,这使得业务需求变得更加复杂。业务系统需要应对越来越广泛的业务场景,以及越来越复杂的业务逻辑。这种复杂度的提升还受到微服务架构的影响,因为实现业务逻辑往往需要依赖多个服务之间的协作。因此,业务系统的复杂度已经成为一种常态。
传统的链路追踪技术利用一个全局唯一的ID(即TraceID),将分散在不同链路节点上的同一个业务请求联系起来,以还原该业务请求执行过程中的调用关系,追踪系统问题,分析调用数据,以及统计系统指标。通过TraceID,可以将一个分布式请求还原成一条完整的调用链路,从业务请求发起端开始,记录业务请求流经的每一个节点,直到返回响应。
然而,随着业务系统的复杂度上升,由于仅仅是通过TraceID来聚合并展示相关日志的数据,会导致日志数据的显示较为分散,还原链路较为困难,难以快速实现对业务处理过程的追踪。
发明内容
本申请的多个方面提供一种链路追踪方法、设备及计算机可读介质,用以解决目前的链路追踪方案中链路还原困难的问题。
本申请的一方面,提供一种用于链路追踪方法,所述方法包括:
当接收到业务请求时,生成追踪记录实例,所述追踪记录实例与所述业务请求对应的追踪标识关联;
当所述业务请求执行到链路节点时,生成对应的日志,并将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中,其中,所述日志包括执行所述业务请求的时间戳;
当所述业务请求执行完毕时,将队列中的日志同步到数据库中;
当接收到链路追踪可视化请求时,根据所述链路追踪可视化请求的追踪标识从数据库中查询对应的日志,并根据日志的时间戳顺序显示所述日志的数据。
基于本申请的另一方面,还提供了一种链路追踪设备,其中,所述设备包括:
日志存储模块,用于在接收到业务请求时,生成追踪记录实例,所述追踪记录实例与所述业务请求对应的追踪标识关联;当所述业务请求执行到链路节点时,生成对应的日志,并将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中,其中,所述日志包括执行所述业务请求的时间戳;当所述业务请求执行完毕时,将队列中的日志同步到数据库中;
可视化追踪模块,用于在接收到链路追踪可视化请求时,根据所述链路追踪可视化请求的追踪标识从数据库中查询对应的日志,并根据日志的时间戳顺序显示所述日志的数据。
本申请实施例还提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述的链路追踪方法。
本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现前述的链路追踪方法。
本申请实施例所提供的链路追踪方案中,当接收到业务请求时,生成追踪记录实例,所述追踪记录实例与所述业务请求对应的追踪标识关联;当所述业务请求执行到链路节点时,生成对应的日志,并将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中,当所述业务请求执行完毕时,将队列中的日志同步到数据库中。由于所述日志包括执行所述业务请求的时间戳,当接收到链路追踪可视化请求时,可以根据所述链路追踪可视化请求的追踪标识从数据库中查询对应的日志,并且在基于追踪标识查询到日志后,可以根据日志的时间戳顺序显示所述日志的数据。由此,本方案基于追踪标识以及时间轴,实现双维度的日志追踪、组织以及聚合,使得用户可以通过可视化的形式便捷地查看某一业务请求按照时间顺序在各个链路节点中的处理过程,从而更好地还原链路。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的一种链路追踪方法的处理流程示意图;
图2为本申请实施例中实现链路追踪的可视化页面的结果预览标签页的示意图;
图3为本申请实施例中实现链路追踪的可视化页面的业务信息标签页的示意图;
图4为本申请实施例中实现链路追踪的可视化页面的调用信息标签页的示意图;
图5为本申请实施例中业务请求在业务系统的各个链路节点执行过程中生成日志并完成存储的整体流程示意图;
图6为本申请实施例提供的一种链路追踪设备的结构示意图;
图7为适用于实现本申请实施例中的方案的一种设备的结构示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机程序指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了一种链路追踪方法,该方法可以基于追踪标识以及时间轴,实现双维度的日志追踪、组织以及聚合,使得运维人员可以通过可视化的形式便捷地查看某一业务请求按照时间顺序在各个链路节点中的处理过程,从而更好地还原链路。
在实际场景中,上述方法的执行主体可以是用户设备、或者用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的应用程序,所述用户设备包括但不限于计算机、手机、平板电脑、智能手表、手环等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图1示出了本申请实施例提供的一种链路追踪方法的处理流程,该方法至少包括以下的处理步骤:
步骤S101,当接收到业务请求时,生成追踪记录实例,所述追踪记录实例与所述业务请求对应的追踪标识关联。在本方案的应用场景中,业务系统在接收到一个业务请求后,由业务系统所涉及的各个节点可以按照特定的业务流程依次进行处理,由此获得一个应答结果,返回给发起业务请求的设备。例如,以商品推荐场景为例,当用户user1在客户端设备上启动该购物APP(Application,应用程序)时,客户端设备会向该购物APP对应的业务系统发起获取推荐商品的业务请求。
业务系统在接收到该业务请求后,会由业务系统中的各个节点按照商品推荐的业务流程,进行一系列的处理,以获取最终的处理结果。例如,本实施例中可以对该业务请求的处理流程可以包括请求(requset)、召回(recall)、排序(rank)等步骤。其中,请求步骤即为获取对应的业务请求获取其中的相关信息;召回步骤则是根据获取到的相关信息确定用户画像信息,并基于用户画像确定待推荐商品的候选结果;排序步骤包括了对待推荐商品的候选结果进行排序,确定向用户显示推荐商品时的优先顺序;由此,经过上述步骤处理之后,业务系统即可向用户返回关于该业务请求的处理结果,从而完成依次业务处理。在该过程中,相应的处理可以分别由业务系统所涉及的不同节点来完成,由此形成该业务请求的处理链路。
对于任意一个业务请求,均可以为其分配一个全局唯一的追踪标识,本实施例中该追踪标识可以是TraceID,业务系统在对该业务请求进行一系列处理时均可以携带该追踪标识,使得后续可以基于该追踪标识将分散在不同链路节点上基于同一业务请求的处理过程关联起来。在本方案中,可以在接收到业务请求时,生成追踪记录实例(recoder),可以记录该业务请求的TraceID,使得该追踪记录实例可以与所述业务请求对应的追踪标识关联。
步骤S102,当所述业务请求执行到链路节点时,生成对应的日志,并将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中。其中,所述日志包括执行所述业务请求的时间戳,由此可以通过该时间戳对各个链路节点基于所述业务请求所执行的相应处理的时间进行记录,使得后续可以基于时间轴对日志的数据进行组织和聚合,避免日志数据分散,导致链路还原困难。
链路节点在执行业务请求时,会生成对应的日志,所述日志中记录了执行业务请求时的相关数据,运维人员通过该日志中的数据即可获知链路节点执行业务请求时的具体情况。在本申请实施例中,可以将日志定义为两类业务类型,包括业务日志和调用日志。其中,业务日志用于记录与业务场景相关的具体业务信息,例如,在recall步骤中所使用的用户画像信息、召回带推荐商品的具体结果、在rank步骤中所确定的具体排序结果等,都可以记录于业务日志中。而调用日志用于记录调用相关服务时的调用信息,例如向redis(Remote Dictionary Server,远程字典服务)发起了一个调用请求,并且其调用结果是成功或失败等,都可以记录于调用日志中。
相应地,本实施例中可以配置两个队列,即业务队列(businessChan)和调用队列(remoteChan),分别对应于业务日志和调用日志。由此,当当所述业务请求执行到链路节点时,可以根据实际执行的具体处理内容,生成业务日志和/或调用日志。然后,将所述业务日志推送至所述追踪记录实例所对应的业务队列中,将所述调用日志推送至所述追踪记录实例所对应的调用队列中。其中,所述业务日志和所述调用日志均包括执行所述业务请求的时间戳,以便于后续基于时间轴对日志的数据进行组织和聚合。
步骤S103,当所述业务请求执行完毕时,将队列中的日志同步到数据库中。
对于一个业务请求,若业务系统中的各个节点按照预先设定的业务流程,完成一系列的处理,并获得了最终的处理结果后,即表示该业务请求已经执行完毕,此时即可将追踪记录实例所对应的队列中的日志同步到数据库中进行持久化的保存。在实际场景中,由于追踪记录实例所对应的队列包括了业务队列和调用队列,追踪记录实例可以根据两个队列中的日志合并后,以异步的形式保存至数据库中,其中,所述数据库可以根据实际场景的需求选择合适的类型,例如本实施例中采用MySQL数据库。
步骤S104,当接收到链路追踪可视化请求时,根据所述链路追踪可视化请求的追踪标识从数据库中查询对应的日志,并根据日志的时间戳顺序显示所述日志的数据。在显示日志的数据时,可以按照预先设定的方式对线管的数据进行可视化的渲染,使得运维人员可以更好的查看到链路的执行情况。
由此,运维人员通过查看日志的数据来对业务处理的链路进行还原时,可以直接看到已经按照执行时间完成聚合的数据,从而能够更好的还原的执行现场。以前述商品推荐的场景为例,若在显示时时按照时间戳进行正序排列,运维人员查看链路处理的相关日志时,可以更加清楚的查看到业务请求在各个链路节点上的以系列处理过程。
此外,在对日志的数据进行可视化时,可以将不同类型的日志分别进行显示,使得运维人员可以单独查看业务信息或者调用信息,从而可以更加有针对性地查看业务请求在链路中各个节点的执行情况。例如,在本实施例中,日志包括了业务日志和调用日志,因此可以将业务日志和调用日志按照时间戳的顺序分别进行排序,然后根据业务日志和调用日志的排序结果,单独显示所述业务日志的数据和所述调用日志的数据。
在本申请的一些实施例中,当接收到链路追踪可视化请求时,除了可以根据时间戳顺序显示所述日志的数据之外,可以还原所述日志对应的业务请求的执行结果,并显示该执行结果,使得运维人员在查看日志数据的同时,可以预览该业务请求执行完成后的结果,由此可以从结果上发现执行过程是否存在问题,便于运维人员更加直观地判断出链路执行过程中是否存在问题。
本申请实施例的方案提供了一种可读性更好的可视化方式,其提供了一个可视化页面,如图2-4所示。该可视化页面中可以包括多个标签页,包括了结果预览标签页tag1、业务信息标签页tag2和调用信息标签页tag3,并且在可视化页面的结果预览标签页tag1中显示所述执行结果,如图2所示,在可视化页面的业务信息标签页tag2中根据业务日志的时间戳顺序显示所述业务日志的数据,如图3所示,以及在可视化页面的调用信息标签页tag3中根据调用日志的时间戳顺序显示所述调用日志的数据,如图4所示。
在本申请的一些实施例中,还可以将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中时,通过白名单机制来筛选推入队列中的日志,从而过滤掉一部分重要程度较低的日志,减少实际推入队列并同步至数据库中的日志数量。通过上述方式,本方案中需要存储和分析的日志数量可以得到有效的控制,相较于未使用白名单而全量获取所有日志的方案,能够避免单挑日志大小受限、日志分析耗时、过多日志影响线上业务性能等问题,从而使得单条日志大小较传统日志大幅提升,记录更加详细的数据。
具体地,本实施例提供的链路追踪方案中,在将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中时,可以先根据用户唯一标识判断日志是否属于白名单中的目标用户。其中,所述白名单中的目标用户可以根据实际场景的需求设定,其中可以包括这些目标用户的用户唯一标识。当业务系统的各个链路节点执行业务请求并生成日志时,可以将发起业务请求的用户所对应的用户唯一标识,与白名单中的用户唯一标识进行匹配,若匹配到相同的用户唯一标识,则表示生成的日志属于白名单中的目标用户,此时可以将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中。若未在白名单中匹配到相同的用户唯一标识,则表示生成的日志不属于白名单中的目标用户,此时无需将日志推送至队列中,该日志不会作为用于链路追踪的数据同步至数据库中。
此外,本方案由于存储的日志与用户唯一标识关联,因此页可以基于用户唯一标识实现可视化的链路追踪。由此,当接收到链路追踪可视化请求时,可以根据所述链路追踪可视化请求的用户唯一标识,从数据库中查询对应的日志,并根据日志的时间戳顺序显示所述日志的数据。
其中,在显示日志的数据时,也可以将不同类型的日志分别进行显示,将业务日志和调用日志按照时间戳的顺序分别进行排序,然后根据业务日志和调用日志的排序结果,单独显示所述业务日志的数据和所述调用日志的数据,使得运维人员可以单独查看业务信息或者调用信息。相较于前述基于追踪标识来查询对应的日志,并对日志的数据进行可视化的方式,本实施例中由于是根据用户唯一标识来查询对应的日志,并对日志的数据进行可视化,因此使得运维人员可以快速查看到特定用户在一段时间内的所有业务请求在链路中的执行情况,便于问题的排查。
图5示出了业务请求在业务系统的各个链路节点执行的整个过程中生成日志并完成存储的整体流程。当系统接收到业务请求request时,可以生成一个追踪记录实例recoder,记录业务请求对应的TraceID,同时按照业务处理的预设流程,由各个不同的链路节点执行相应的步骤的处理,例如图中包括3个步骤step1-step3,可以分别由特定的链路节点执行,在执行完毕后,向业务请求的发起方返回应答respone。其中,上述每个步骤的处理都会生成相应的日志,其中记录有执行时的时间戳、执行相应处理时的业务信息或者调用信息等具体执行情况。
当这些链路节点执行相应步骤的处理并生成日志时,会使用白名单进行验证,若日志属于白名单中的目标用户,则根据业务类型将需要记录的日志推入recoder对应的队列中。其中,业务日志推入业务队列businessChan,调用日志推入调用队列remoteChan。而让日志不属于白名单中的目标用户时,则过滤这些日志,不将其推入相应的队列中。当业务请求执行完毕后,recoder会将业务队列的日志和调用队列的日志合并,并通过数据库客户端dbClient以异步形式存储到数据库mysql中。数据库中的具体数据内容可以至少包括:id、info、type、time以及traceid等,其中,id是数据库为存储的数据所分配的标识;info是日志数据的具体内容;type是日志数据对应的业务类型,可以是business/remote(业务日志或调用日志);time是日志数据对应的时间戳;是日志数据对应的追踪标识。
通过上述方式完成日志数据的存储之后,即可在需要时查询特定的日志进行可视化处理,来还原业务请求在整个链路中的执行情况。
此外,本申请实施例还提供了一种链路追踪设备,其中,所述设备的结构如图6所示,包括日志存储模块610和可视化追踪模块620。其中,所述日志存储模块610用于在接收到业务请求时,生成追踪记录实例,所述追踪记录实例与所述业务请求对应的追踪标识关联;当所述业务请求执行到链路节点时,生成对应的日志,并将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中,其中,所述日志包括执行所述业务请求的时间戳;当所述业务请求执行完毕时,将队列中的日志同步到数据库中。可视化追踪模块620用于在接收到链路追踪可视化请求时,根据所述链路追踪可视化请求的追踪标识从数据库中查询对应的日志,并根据日志的时间戳顺序显示所述日志的数据。
基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备对应的方法可以是前述实施例中的链路追踪方法,并且其解决问题的原理与该方法相似。本申请实施例提供的所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述本申请的多个实施例的方法和/或技术方案。
所述电子设备可以是用户设备、或者用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的应用程序,所述用户设备包括但不限于计算机、手机、平板电脑、智能手表、手环等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图7示出了适用于实现本申请实施例中的方法和/或技术方案的一种设备的结构,该设备700包括中央处理单元(CPU,Central Processing Unit)701,其可以根据存储在只读存储器(ROM,Read Only Memory)702中的程序或者从存储部分708加载到随机访问存储器(RAM,Random Access Memory)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O,Input/Output)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标、触摸屏、麦克风、红外传感器等的输入部分706;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,LiquidCrystal Display)、LED显示器、OLED显示器等以及扬声器等的输出部分707;包括硬盘、光盘、磁盘、半导体存储器等一个或多个计算机可读介质的存储部分708;以及包括诸如LAN(局域网,Local Area Network)卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。
特别地,本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的方法中限定的上述功能。
本申请另一实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现前述本申请的任意一个或多个实施例的方法和/或技术方案。
具体来说,本实施例可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图或框图示出了按照本申请各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的针对硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或页面组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一个计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
1.一种链路追踪方法,其中,所述方法包括:
当接收到业务请求时,生成追踪记录实例,所述追踪记录实例与所述业务请求对应的追踪标识关联;
当所述业务请求执行到链路节点时,生成对应的日志,并将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中,其中,所述日志包括执行所述业务请求的时间戳;
当所述业务请求执行完毕时,将队列中的日志同步到数据库中;
当接收到链路追踪可视化请求时,根据所述链路追踪可视化请求的追踪标识从数据库中查询对应的日志,并根据日志的时间戳顺序显示所述日志的数据。
2.根据权利要求1所述的方法,其中,所述业务类型包括业务日志和调用日志;
当所述业务请求执行到链路节点时,生成对应的日志,并将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中,其中,所述日志包括执行所述业务请求的时间戳,包括:
当所述业务请求执行到链路节点时,生成业务日志和/或调用日志,并将所述业务日志推送至所述追踪记录实例所对应的业务队列中,将所述调用日志推送至所述追踪记录实例所对应的调用队列中,所述业务日志和所述调用日志包括执行所述业务请求的时间戳。
3.根据权利要求2所述的方法,其中,根据日志的时间戳顺序显示所述日志的数据,包括:
将业务日志和调用日志按照时间戳的顺序分别进行排序;
根据业务日志和调用日志的排序结果,单独显示所述业务日志的数据和所述调用日志的数据。
4.根据权利要求1所述的方法,其中,根据所述链路追踪可视化请求的追踪标识从数据库中查询对应的日志之后,还包括:
还原所述日志对应的业务请求的执行结果,并显示所述执行结果。
5.根据权利要求4所述的方法,其中,显示所述执行结果,包括:
在可视化页面的结果预览标签页中显示所述执行结果;
根据日志的时间戳顺序显示所述日志的数据,包括:
在可视化页面的业务信息标签页中根据业务日志的时间戳顺序显示所述业务日志的数据;
在可视化页面的调用信息标签页中根据调用日志的时间戳顺序显示所述调用日志的数据。
6.根据权利要求1所述的方法,其中,将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中,包括:
根据用户唯一标识判断日志是否属于白名单中的目标用户;
若属于白名单中的目标用户,将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中。
7.根据权利要求1所述的方法,其中,所述方法还包括:
当接收到链路追踪可视化请求时,根据所述链路追踪可视化请求的用户唯一标识,从数据库中查询对应的日志,并根据日志的时间戳顺序显示所述日志的数据。
8.一种链路追踪设备,其中,所述设备包括:
日志存储模块,用于在接收到业务请求时,生成追踪记录实例,所述追踪记录实例与所述业务请求对应的追踪标识关联;当所述业务请求执行到链路节点时,生成对应的日志,并将所述日志按照业务类型推送至所述追踪记录实例所对应的不同队列中,其中,所述日志包括执行所述业务请求的时间戳;当所述业务请求执行完毕时,将队列中的日志同步到数据库中;
可视化追踪模块,用于在接收到链路追踪可视化请求时,根据所述链路追踪可视化请求的追踪标识从数据库中查询对应的日志,并根据日志的时间戳顺序显示所述日志的数据。
9.一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310688138.4A CN116932347A (zh) | 2023-06-12 | 2023-06-12 | 链路追踪方法、设备及计算机可读介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310688138.4A CN116932347A (zh) | 2023-06-12 | 2023-06-12 | 链路追踪方法、设备及计算机可读介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116932347A true CN116932347A (zh) | 2023-10-24 |
Family
ID=88381724
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310688138.4A Pending CN116932347A (zh) | 2023-06-12 | 2023-06-12 | 链路追踪方法、设备及计算机可读介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116932347A (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025163401A1 (zh) * | 2024-02-04 | 2025-08-07 | 云智能资产控股(新加坡)私人股份有限公司 | 标记信息处理方法、电子设备及存储介质 |
| CN120670264A (zh) * | 2025-08-22 | 2025-09-19 | 北京火山引擎科技有限公司 | 智能体的链路追踪方法、装置、介质、设备及程序产品 |
| WO2025194850A1 (zh) * | 2024-03-19 | 2025-09-25 | 中国民航信息网络股份有限公司 | 一种日志处理方法、装置、电子设备和可读存储介质 |
-
2023
- 2023-06-12 CN CN202310688138.4A patent/CN116932347A/zh active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025163401A1 (zh) * | 2024-02-04 | 2025-08-07 | 云智能资产控股(新加坡)私人股份有限公司 | 标记信息处理方法、电子设备及存储介质 |
| WO2025194850A1 (zh) * | 2024-03-19 | 2025-09-25 | 中国民航信息网络股份有限公司 | 一种日志处理方法、装置、电子设备和可读存储介质 |
| CN120670264A (zh) * | 2025-08-22 | 2025-09-19 | 北京火山引擎科技有限公司 | 智能体的链路追踪方法、装置、介质、设备及程序产品 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110162512B (zh) | 一种日志检索方法、装置及存储介质 | |
| CN116932347A (zh) | 链路追踪方法、设备及计算机可读介质 | |
| CN113760922B (zh) | 一种业务数据处理系统、方法、服务器和存储介质 | |
| CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
| CN112559475A (zh) | 数据实时捕获和传输方法及系统 | |
| CN111784318A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
| CN114385722A (zh) | 接口属性的一致性校验方法、装置、电子设备和存储介质 | |
| US9946630B2 (en) | Efficiently debugging software code | |
| CN107193747B (zh) | 代码测试方法、装置和计算机设备 | |
| CN114217790A (zh) | 接口编排调度方法、装置、电子设备及介质 | |
| CN113055760B (zh) | 日志处理方法、装置、设备和存储介质 | |
| CN114168607B (zh) | 全局序列号生成方法、装置、设备、介质和产品 | |
| CN108228611B (zh) | 单据信息抄写方法和装置 | |
| CN113282583A (zh) | 一种数据存储方法、装置、设备和存储介质 | |
| US10990413B2 (en) | Mainframe system structuring | |
| US9286349B2 (en) | Dynamic search system | |
| CN112818204A (zh) | 一种业务的处理方法、装置、设备及存储介质 | |
| CN111488386A (zh) | 数据查询方法和装置 | |
| CN111639936A (zh) | 交易信息的获取方法、装置、电子设备及可读存储介质 | |
| CN114757157B (zh) | 用于生成航空器工包的方法、装置、设备和介质 | |
| CN115705257A (zh) | 应用程序的故障重现方法、电子设备及存储介质 | |
| CN113901111A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
| CN110750569A (zh) | 数据提取方法、装置、设备及存储介质 | |
| CN112256688B (zh) | 业务数据清洗方法、装置、电子设备 | |
| CN118734306B (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 |