CN115865645A - 链路确定方法、装置、设备、介质及产品 - Google Patents

链路确定方法、装置、设备、介质及产品 Download PDF

Info

Publication number
CN115865645A
CN115865645A CN202211665055.5A CN202211665055A CN115865645A CN 115865645 A CN115865645 A CN 115865645A CN 202211665055 A CN202211665055 A CN 202211665055A CN 115865645 A CN115865645 A CN 115865645A
Authority
CN
China
Prior art keywords
information
calling
block
link
block chain
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
CN202211665055.5A
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.)
China Mobile Communications Group Co Ltd
China Mobile Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Information Technology Co 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 China Mobile Communications Group Co Ltd, China Mobile Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202211665055.5A priority Critical patent/CN115865645A/zh
Publication of CN115865645A publication Critical patent/CN115865645A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在本申请实施例提供了一种链路确定方法、装置、设备、介质及产品中,通过获取多个探针采集的调用信息,探针设置在多个区块链节点中,探针为采用预设通用协议的接口,调用信息包括多个区块链节点被调用产生的信息,多个区块链节点位于同一区块链网络中;随后根据多个调用信息,确定多个调用信息之间的依赖关系;然后根据多个调用信息之间的依赖关系,获得有向无环图构成的链路,有向无环图的每个节点对应一个调用信息,有向无环图中具有依赖关系的两个节点通过有向边连接。本申请实施例能够实现全链路的可追溯性。

Description

链路确定方法、装置、设备、介质及产品
技术领域
本申请涉及数据网络技术领域,特别是涉及一种链路确定方法、装置、设备、介质及产品。
背景技术
在云计算、大数据等技术日趋成熟的情况下,微服务架构逐渐进入人们的视线,在分布式软件系统中,微服务极大地改变了软件的开发和交付模式,但是,服务数量的增多和内部调用链的复杂化,仅凭借日志和性能监控很难做到准确全面的问题排查或是性能分析,各个服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务,这些服务之间的调用可能非常复杂,当业务流出现错误或异常时,由于微服务架构的特点,运维人员需要付出较大精力和时间来查找和定位异常情况。
现有技术中,对链路调用跟踪系统均是针对单一节点的链路监控,无法聚合实现所有节点全链路的监控,使得链路调用跟踪系统无法准确定位和查找异常。
发明内容
本申请提供的一种链路确定方法、装置、设备、介质及产品,能够实现全链路的可追溯性。
第一方面,本申请实施例提供一种链路确定方法,方法包括:
获取多个探针采集的调用信息,探针设置在多个区块链节点中,探针为采用预设通用协议的接口,调用信息包括多个区块链节点被调用产生的信息,多个区块链节点位于同一区块链网络中;
根据多个调用信息,确定多个调用信息之间的依赖关系;
根据多个调用信息之间的依赖关系,获得有向无环图构成的链路,有向无环图的每个节点对应一个调用信息,有向无环图中具有依赖关系的两个节点通过有向边连接。
第二方面,本申请提供一种链路确定装置,该装置包括:
获取模块,用于获取多个探针采集的调用信息,探针设置在多个区块链节点中,探针为采用预设通用协议的接口,调用信息包括多个区块链节点被调用产生的信息,多个区块链节点位于同一区块链网络中式;
第一确定模块,用于根据多个调用信息,确定多个调用信息之间的依赖关系;
第二确定模块,用于根据多个调用信息之间的依赖关系,获得有向无环图构成的链路,有向无环图的每个节点对应一个调用信息,有向无环图中具有依赖关系的两个节点有向边连接。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如第一方面中任意一个实施例中的链路确定方法。
第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面中任意一个实施例中的链路确定方法。
第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行实现如上述第一方面中任意一个实施例中的链路确定方法。
在本申请实施例提供的一种链路确定方法、装置、设备、介质及产品中,通过获取多个探针采集的调用信息,探针设置在多个区块链节点中,探针为采用预设通用协议的接口,调用信息包括多个区块链节点被调用产生的信息,多个区块链节点位于同一区块链网络中;随后根据多个调用信息,确定多个调用信息之间的依赖关系;然后根据多个调用信息之间的依赖关系,获得有向无环图构成的链路,有向无环图的每个节点对应一个调用信息,有向无环图中具有依赖关系的两个节点通过有向边连接。通过上述方式,在区块链网络的各区块链节点中安插探针,通过探针采集每个区块链节点被调用产生的调用信息,并分析采集到的每个区块链节点的产生的调用信息之间的依赖关系,形成调用信息之间的有向无环图,直观的反映出每个调用信息之间的依赖关系,由此能够实现全链路的可追溯性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的链路确定方法的流程示意图;
图2是本申请实施例提供的一种链路跟踪系统的示意图;
图3是本申请实施例提供的一种有向无环图的示意图;
图4是本申请实施例提供的一种链路确定装置的结构示意图;
图5是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
在分布式软件系统中,微服务极大地改变了软件的开发和交付模式,单体应用被拆分为多个微服务,单个服务的复杂度大幅降低,库之间的依赖也转变为服务之间的依赖。部署的粒度变得越来越细,众多服务给运维带来巨大压力。Kubernetes(Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用)解决大部分运维方面的难题,但是,服务数量的增多和内部调用链的复杂化,仅凭借日志和性能监控很难做到准确全面的问题排查或是性能分析,分布式追踪能够帮助开发者直观分析请求链路,快速定位性能瓶颈,逐渐优化服务间依赖。
在现有技术中的区块链BaaS(Blockchain as a Service,BaaS)平台中,采用OpenTelemetry构建应用性能管理(Application Performance Management,APM)探针,对区块链节点进行跟踪。OpenTelemetry是云原生计算基金会(Cloud Native ComputingFoundation,CNCF)的一个可观测性项目,提供可观测性领域的标准化方案,解决观测区块链数据的数据模型、采集、处理、导出等的标准化问题。OpenTelemetry是云原生软件的可观察性框架。由应用程序界面(Application Program Interface,API),软件开发工具包(Software Development Kit,SDK)和收集器(Collector)三部分组成,收集和导出区块链数据(指标,日志和跟踪),然后进行分析,方便了解区块链节点的性能和行为。OpenTelemetry对于区块链节点在正常运行时十分稳定,但是一到高并发的时候就会出现问题,OpenTelemetry通过Traces、Metrics、Logs三个维度的数据综合到一起,分析区块链节点的健康度。Traces是分布式链路跟踪,提供了一个请求从接收到处理完成整个生命周期的跟踪路径。Metrics用于提供中央处理器(central processing unit,cpu)、请求延迟、用户访问数等计数(Counter)、Gauge、Histogram指标。Logs是传统的日志,提供精确的系统记录。采用OpenTelemetry构建APM探针,在区块链BaaS平台,通过字节码增强对技术,对组建的接口进行增强,在接口的头尾进行埋点的操作。
由于大部分区块链Baas平台采用Java语言开发,采用OpenTelemetry构建APM探针方案,利用字节码增强技术,Java应用在启动JVM时通过不同的埋点插件覆盖不同的通信协议、中间件和开发框架,对Java基础调用代码进行函数级埋点。这种埋点方式的优势在于能够采集到堆栈级的与区块链相关的调用信息及其他更多运行态信息,帮助使用者无需日志等辅助手段即可快速完成问题定位。采用OpenTelemetry构建APM探针,使用字节码增强技术进行APM数据采集时,通过在应用启动时配置Java探针(Agent)的方式主动干预应用代码行为,应用开发者无需进行代码修改,由APM产品来决定在哪些API进行数据埋点。理论上来说字节码增强技术能够在任意位置与区块链调用进行埋点。但是主要依赖对JAVA的JAVA虚拟机(JavaVirtualMachine,jvm)中的字节码增强技术,对于go语言开发的区块链存储网络节点则无法实现大规模跟踪;而且对区块链BaaS平台的跟踪属于区块链系统的外围跟踪,对区块链节点内部的细节分析,并没有详细的链路跟踪。
为了解决现有技术问题,本申请实施例提供了一种链路确定方法、装置、设备、介质及产品。下面首先对本申请实施例所提供的链路确定方法进行介绍。
根据该实施例的应用场景可以包括终端设备,网络和服务器。网络用以在终端设备和服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备通过网络与服务器交互,以接收或发送消息等。终端设备上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器可以是提供各种服务的服务器,例如对用户利用终端设备所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
例如,部署(Deploy)交易用于向区块链网络中的节点安装指定的智能合约并准备好被调用;调用(Invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
2)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
例如,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,从而基于哈希值实现区块中交易的防篡改和防伪造;新产生的交易被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长。
3)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
4)账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。
其中,区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。
图1示出了本申请一个实施例提供的链路确定方法的流程示意图。如图1所示,该方法具体可以包括如下步骤:
S101,获取多个探针采集的调用信息,探针设置在多个区块链节点中,探针为采用预设通用协议的接口,调用信息包括多个区块链节点被调用产生的信息,多个区块链节点位于同一区块链网络中。
可选地,在本申请一种可能的实现方式中,通过区块链链路探针接口模块(以下简称BLOCK-APM探针模块)采集区块链网络中每个区块链节点产生的调用信息。其中,在本申请实施例中,BLOCK-APM探针模块是一个支持各种语言的区块链探针接口模块,支持多种语言(Go,Java,Python)编写的区块链节点服务和应用。区块链链路探针接口模块(BLOCK-APM探针模块)的主要功能是记录和发送调用信息到BLOCK-APM的服务代理模块。具体的实现方式是,区块链链路探针接口模块通过BLOCK-APM探针埋点,内嵌提供超文本传输协议(HyperText Transfer Protocol,HTTP)协议服务,用户通过BLOCK-APM探针在http头中获取BLOCK-SPAN信息,通过http协议(即预设通用协议)支持任何语言开发的区块链节点进行跟踪。在实际应用中,可以在任何语言的编程环境中,写入curl-X POST-H"Content-Type:application/json"-H"Authorization:加密令牌--data'{Block-Span消息},既可发送Block-Span消息到BLOCK-APM服务代理模块。
可选地,在本申请实施例中,在区块链节点服务器或区块链相关应用程序中,调用BLOCK-APM探针模块的过程,称之为BLOCK-APM探针埋点。BLOCK-APM探针埋点采集区块链服务系统和节点产生的全量数据,将节点产生的全部数据进行采集。全量数据包括本次调用访问的区块信息、节点信息、操作信息、时间信息、钱包信息、交易信息、签名信息。
可选地,调用信息可以被理解为一次区块链相关的方法调用,一个区块链相关的程序块调用,或者一次区块链相关的远程过程调用(Remote Procedure Call,RPC)/数据库访问。调用信息还可以是调用各区块链节点内的函数的调用信息。
可选地,在本申请一种可能的实现方式中,在区块链网络中,出块矿工节点和存储节点运行的节点服务程序中,埋入BLOCK-APM探针(区块链链路探针接口),通过多线程并发读取区块的方式,采集区块链服务系统产生的全量数据(区块信息、节点信息、操作信息、时间信息、钱包信息、交易信息、签名信息),在实际应用中,可以通过访问区块链节点对应的函数,通过该函数访问区块链网络中对应的区块,由此通过查询该区块存储的账户信息,实现一次区块链节点的调用。
可选地,在本申请实施例中,通过提供http协议服务,用户通过BLOCK-APM探针在http头中获取BLOCK-SPAN信息,通过http协议支持何语言开发的区块链节点进行跟踪。并采用Docker和Kubernetes等工具,其中,Docker是一个开源的应用容器引擎,将区块链分布式存储网络的出块矿工节点和存储节点部署在docker容器中。
S102,根据多个调用信息,确定多个调用信息之间的依赖关系。
可选地,在本申请一种可能的实现方式中,区块链服务依赖分析模块采用ApacheSpark对大规模的调用信息处理进行统一分析,分布式处理大量的BLOCK-SPAN消息数据,将大量BLOCK-SPAN消息数据先拆分,分别进行计算,然后再将计算后的结果进行合并,进行计算分析,确立调用信息之间的关系,依赖关系具体可以包括ChildOf(父子)、FollowsFrom(从属)、Trade(关联交易)、Same-Storage(相关存储)等关系。可选地,Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎,具体的原理介绍可参照现有技术中的Apache Spark,本申请在此不再赘述。容易理解的是,本申请并不限制分析调用信息的具体实现方式,只要能够确定多个调用信息之间的依赖关系即可。
可选地,在本申请实施例中,还可以通过一个基于spark的后处理和聚合数据管道,完成调用信息之间的依赖分析。具体的依赖关系包括ChildOf(父子)、FollowsFrom(从属)、Trade(关联交易)、Same-Storage(相关存储)四种关系。
可选地,在本申请实施例中,BLOCK-APM探针基于区块链节点之间调用关系和区块链节点与应用之间的调用关系,生成一个个调用信息,每个调用信息可以包括调用方、被调用方、相关区块信息等信息,每个调用信息是一个具有完整时间周期的带有区块链标记的程序访问。
S103,根据多个调用信息之间的依赖关系,获得有向无环图构成的链路,有向无环图的每个节点对应一个调用信息,有向无环图中具有依赖关系的两个节点通过有向边连接。
可选地,在本申请实施例中,通过一个图元的数据接口将调用信息之间组织起来,描绘出一个区块链上的节点间的时序调用关系。
可选地,在本申请实施例中,可以将多个调用信息之间组成的有向无环图(DAG图)构成一个所有调用信息之间的依赖关系的链路图(具体可参照图3)。
可选地,在一种可能的实现方式中,如果想要从C账户中转移资源,首先需要调用节点A中的n函数,访问对应区块中查询C账户是否存在,随后在查询到C账户存在的情况下,可能需要调用节点B中的m函数,访问对应区块查询C账户是否有足够的资源,在由足够资源的情况下,可能需要调用节点D中的v函数,访问对应区块执行转移资源操作,上述每次调用函数的过程就会生成一个调用信息,随后可以根据这些调用的函数的作用方和调用的函数所存储的节点,形成一个调用信息之间的依赖关系,随后根据这些调用信息之间的依赖关系形成一个有向无环图,构成该操作的一个链路。
在本申请实施例提供的一种链路确定方法中,通过获取多个探针采集的调用信息,探针设置在多个区块链节点中,探针为采用预设通用协议的接口,调用信息包括多个区块链节点被调用产生的信息,多个区块链节点位于同一区块链网络中;随后根据多个调用信息,确定多个调用信息之间的依赖关系;然后根据多个调用信息之间的依赖关系,获得有向无环图构成的链路,有向无环图的每个节点对应一个调用信息,有向无环图中具有依赖关系的两个节点有向边连接。通过上述方式,在区块链网络的各区块链节点中安插探针,通过探针采集每个区块链节点被调用产生的调用信息,并分析采集到的每个区块链节点的产生的调用信息之间的依赖关系,形成调用信息之间的有向无环图,直观的反映出每个调用信息之间的依赖关系,由此能够实现全链路的可追溯性。
在一实施例中,在上述步骤102之前,该方法还可以具体执行如下步骤:
S201,解析所述调用信息,得到调用区隔,一个所述调用区隔对应一个所述调用信息;
S202,对所述多个调用区隔附加时间信息和日志信息,得到处理区隔,所述时间信息为所述区块链节点被调用的时刻,所述日志信息为对调用所述区块链节点中具体函数的解释说明,所述日志信息不包括时间戳。
可选地,在本申请一种可能的实现方式中,BLOCK-APM探针基于区块链节点之间调用关系和区块链节点与应用之间的调用关系,解析出BLOCK-SPAN(即调用区隔),BLOCK-APM探针模块以用户数据报协议(User Datagram Protocol,UDP),将Block-Span消息发送给BLOCK-APM服务代理模块,
可选地,在BLOCK-APM服务代理模块接收BLOCK-APM探针模块采集的Block-Span消息,在Block-Span消息中填写时间戳,附加Block-Tag(即日志信息)键值对信息等相关信息,然后将Block-Span消息发送给BLOCK-SPAN消息采集器模块。
可选地,在本申请实施例中,以下对Block-Span中的各参数进行解释说明,一个Block-Span代表区块链存储网络系统中具有开始时间和执行时长的区块相关逻辑运行单元。Block-Span之间通过嵌套或顺序排列出逻辑因果关系。每个Block-Span可以有多键值对形式的Block-Tag,Block-Tag不具有时间戳,主要用来对Block-Span进行简单的注解和补充。区块日志(Block-Log):每个Block-Span可以进行多次Block-Log操作,每次Block-Log操作都需要一个带时间戳的时间名称,以及可选的任意大小的存储结构。区块区隔域上下文(Block-SpanContext):每个Block-Span必须提供方法访问Block-SpanContext。区块区隔域上下文(Block-SpanContext)代表跨越进程边界,传递到下级Block-Span的状态。例如包含元组<block_trace_id,block_span_id,block_sampled>。区块跟踪转载包(Block-Baggage):是存储在Block-SpanContext中的一个键值集合在一条追踪链路上的所有Block-Span内全局传输,Block-Baggage全局传输,如果包含的数据量太大或元素太多,将会降低系统的吞吐量或增加RPC的延迟。区块调用操作名称(Block Operation Name):每个Block-Span都有一个操作名称,这个名称要求具有可读性(例如:一个RPC方法的名称,一个函数的名称,或一个计算过程中的子任务或阶段)。跨区隔关联(Inter-Span References):一个Block-Span可以和一个或多个Block-Span间存在因果关系。区块调用跟踪链(Block-Trace)定义了ChildOf(父子)、FollowsFrom(从属)、Trade(关联交易)、Same-Storage(相关存储)。
可选地,在本申请实施例中,BLOCK-APM探针不仅可以采集各区块链节点的调用信息,还可以采集各区块链节点之间互相调用的信息,还可以采集调用的函数具体的存储路径,例如存储在区块链节点的A文件的第B行;亦或者是调用时当时区块链节点的CPU占用情况以及内存占用情况;亦或者可以根据用户的需要采集区块链节点内存储的各种账户的信息;亦或者还可以在调用信息中填写各区块链节点的调试信息,即调用该函数损坏时如何调试的信息,在这些可选的实施例中,通过在调用信息中记录更加详细的信息,能够在该链路出现异常时,能够直接通过区块的标识信息查询到该区块标识下的所有调用区隔,通过读取各调用区隔内的调用信息,一方面能够追溯到出现异常的区跨链节点的具体函数,一方面能够保证可以直接通过调用区隔读取到具体的调试信息,实现了异常的快速定位。
在一实施例中,上述步骤102可以具体执行如下步骤:
S301,根据所述调用信息中被调用的区块链节点的节点标识信息、操作信息以及与被调用节点对应的区块信息,确定所述多个调用信息之间的依赖关系。
可选地,操作信息具体可以是调用的区块链节点中具体函数信息、或者是一个区块链相关的程序块调用,或者一次区块链相关的RPC/数据库访问。
S302,根据所述多个调用信息之间的依赖关系以及所述处理区隔的时间戳和日志信息,确定多个处理区隔的之间的依赖关系。
可选地,在本申请一种可能的实现方式中,BLOCK-SPAN消息采集器模块接收到Block-Span消息后,对Block-Span消息进行组织,在组织Block-Span消息的过程中,确立Block-Span消息之间的关系,形成区块调用跟踪链(Block-Trace)。区块调用跟踪链(Block-Trace)定义了ChildOf(父子)、FollowsFrom(从属)、Trade(关联交易)、Same-Storage(相关存储)等关系,通过一个图元的数据接口将Block-Span消息组织起来,描绘出一个区块链上的节点间的时序调用关系。其中,区块调用跟踪链(Block-Trace):Block-Trace是对访问区块请求完整调用链的跟踪,是由多个区块调用区隔(Block-Span)组成的有向无环图(DAG)。
在一实施例中,在上述步骤103之后,该方法还可以具体执行如下步骤:
S401,根据预设整理分类规则,对所述链路内记录的信息进行分类,得到分类调用信息,所述预设整理规则为根据调用信息中的被调用的区块链节点的节点标识信息、与被调用节点对应的区块信息、调用所述区块链节点的时间信息所确定;
S402,将所述分类调用信息压缩存储在所述数据库中。
可选地,在本申请一种可能的实现方式中,可以通过BLOCK-Sampleing适配器对BLOCK-SPAN消息采集器中的区块调用跟踪链(Block-Trace)进行适配。由于Block-Trace数据量庞大,而且重复率高。将相关的Block-Trace归类压缩,具体的分类标准是,按照Block-Trace内的数据内容进行分类,按照区块信息、节点信息、操作信息、时间信息、钱包信息、交易信息、签名信息将Block-Trace进行分类,然后用ZIP进行压缩,存入链路跟踪系统数据库。
可选地,在本申请实施例中,上述BLOCK-APM代理模块、BLOCK-SPAN消息采集器模块、上述BLOCK-Sampleing适配器模块均是BLOCK-APM代理微服务、BLOCK-SPAN消息采集器微服务、BLOCK-Sampleing适配器微服务这些微服务与部署在上述docker容器中。
可选地,如图2所示,在本申请实施例中,可以设置一个基于区块链分布式存储网络的分布式链路跟踪系统,采用Docker和Kubernetes等工具,将区块链分布式存储网络的出块节点和存储节点部署在docker容器中,同时,将访问区块链服务的各种应用微服务化,部署在docker容器中。在出块节点和存储节点运行的节点服务程序中,埋入BLOCK-APM探针(区块链链路探针接口),BLOCK-APM探针通过UDP跟踪和控制流与BLOCK-APM服务代理模块交互,并支持OpenTracing标准。BLOCK-APM探针将区块链节点之间调用关系和区块链节点与应用之间的调用关系,解析出一个个BLOCK-SPAN,每个BLOCK-SPAN包含了调用方、被调用方、相关区块信息等信息,每个BLOCK-SPAN是一个具有完整时间周期的带有区块链标记的程序访问。然后BLOCK-APM探针将BLOCK-SPAN以UDP的方式推送给BLOCK-APM服务代理模块,BLOCK-APM服务代理模块将多个BLOCK-SPAN组成的有向无环图(DAG图)构成一个BLOCK-TRACE(区块先关调用链)。BLOCK-SPAN消息流采集器收集来自BLOCK-APM服务代理模块的BLOCK-SPAN消息,将其排序后,通过BLOCK-SAMPLE模块存储适配后,存储链路跟踪系统数据库。用户可以通过链路跟踪系统界面,调用链路跟踪系统查询器,然后调用链路跟踪系统的依赖分析模块。链路跟踪系统的依赖分析模块是一个基于spark的后处理和聚合数据管道,可以完成链路跟踪系统数据库内数据的服务依赖分析。基于区块链分布式存储网络的分布式链路跟踪系统通过依赖分析模块实现对区块链出块节点和存储节点的服务调用分析。
其中,在本申请实施例中,Opentracing是一个分布式追踪标准,与平台和语言无关,统一接口,方便接入不同的分布式追踪系统。OpenTracing定义了一套通用的数据上报接口,要求各个分布式追踪系统都来实现这套接口。应用程序只需要对接OpenTracing,而无需关心后端采用的到底什么分布式追踪系统。主流的分布式追踪实现基本都已经支持OpenTracing,包括Jaeger分布式追踪系统、Zipkin分布式追踪系统、Appdash分布式追踪系统等。Opentracing的基本概念有Trace(调用链)、Span(追踪阶段单元)、Operation Name(操作名字)、Inter-Span References(单元间引用)、Log(日志)、Tag(标签)、SpanContext(追踪单元上下文)、Baggage(追踪键值对集合)。
在一实施例中,在上述步骤402之后,该方法还可以具体执行如下步骤:
S501,获取查询请求,所述查询请求包括目标区块的标识信息。
可选地,一个区块标识信息即为每个区块的ID,ID代表区块的唯一性,目标区块即为所要查询的区块。
S502,根据所述目标区块的标识信息,查询所述数据库中的与所述目标区块标识信息对应的目标分类调用信息。
可选地,目标分类调用信息即为所要查询的目标区块产生的所有调用信息,包括调用的函数、调用的函数的作用区块、交易信息等。
S503,根据所述目标分类调用信息,确定所述目标区块被调用所需的时间信息和调用所述目标区块的路径。
可选地,在本申请一种可能的实现方式中,链路跟踪系统数据库存储所有的BLOCK-SPAN消息和经过适配的Block-Trace调用链。其中链路跟踪系统数据库也可以是一个链路跟踪系统数据库微服务,部署在上述docker容器中。
可选地,在本申请实施例中,链路跟踪系统数据库同时保存着BLOCK-SPAN消息的相互依赖信息和分析视图;用户通过链路跟踪系统界面模块访问链路跟踪的计算过程,不断权问询相关BLOCK-SPAN消息和调用链信息,最后输出链路跟踪的计算结果。具体的链路跟踪结果是链路中每个调用的名称、相关节点和区块、调用过程中的花费时间。例如:应用程序编程接口(Application Programming Interface,API)层一共花了4.03s,api层通过t01000节点访问了block1080区块,然后其中调用'service-1'服务,'service-1'花了2.12s,'service-1'层通过t01002节点访问了block1088区块,而'service-1'又调用了'service-2'花费了2.12s,'service-2'层通过t01005节点访问了block1009区块。
可选地,在本申请实施例中,用户对链路跟踪的计算结果,通过拖拽操作进行多维分析,在数据仪表盘显示数据;链路跟踪系统界面模块通过链路跟踪系统查询器模块访问,链路跟踪系统查询器模块中提供了分类、提取、计算、压缩、关联等算法,对链路跟踪系统数据库中的BLOCK-SPAN消息进行查询。可选地,其中,上述链路跟踪系统界面模块以及上述链路跟踪系统查询器模块均可以通过链路跟踪系统界面微服务以及链路跟踪系统查询器微服务部署在上述docker容器中。
在这些可选的实施例中,通过查询链路跟踪系统数据库中存储的分类调用信息一方面能够追溯到出现异常的区跨链节点的具体函数,一方面能够保证可以直接通过调用区隔读取到具体的调试信息,实现了异常的快速定位。
在一实施例中,上述步骤101具体可以执行如下步骤:
S601,在所述区块链网络的各区块链节点布置所述探针;
S602,通过多线程并发,从各区块链节点中获取所述探针采集的调用信息。
可选地,在本申请实施例中,在出块矿工节点和存储节点运行的节点服务程序中,埋入BLOCK-APM探针(区块链链路探针接口),BLOCK-APM探针通过UDP跟踪和控制流与BLOCK-APM服务代理模块交互,并支持OpenTracing标准。可以实现对go,java,c++等语言开发的区块链节点,实现任何语言均可接入该链路追踪系统;并且在区块链网络的各节点均布置有探针采集所有区块链节点的调用信息,由此能够实现区跨链网络各区跨链节点的全链路的可追溯性。
图4示出了本申请另一个实施例提供的链路确定装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,链路确定装置可以包括:
获取模块401,用于获取多个探针采集的调用信息,探针设置在多个区块链节点中,探针为采用预设通用协议的接口,调用信息包括多个区块链节点被调用产生的信息,多个区块链节点位于同一区块链网络中式;
第一确定模块402,用于根据多个调用信息,确定多个调用信息之间的依赖关系;
第二确定模块403,用于根据多个调用信息之间的依赖关系,获得有向无环图构成的链路,有向无环图的每个节点对应一个调用信息,有向无环图中具有依赖关系的两个节点有向边连接。
在一实施例中,链路确定装置还可以包括:
第一解析模块,用于解析所述调用信息,得到调用区隔,一个所述调用区隔对应一个所述调用信息;
第一附加模块,用于对所述多个调用区隔附加时间戳和不含时间戳的日志信息,得到处理区隔,所述时间戳为所述区块链节点被调用的时刻,所述日志信息为对调用所述区块链节点中具体函数的解释说明。
在一实施例中,链路确定装置还可以包括:
第三确定模块,用于根据所述调用信息中被调用的区块链节点的节点标识信息、操作信息以及与被调用节点对应的区块信息,确定所述多个调用信息之间的依赖关系,所述操作信息包括调用所述区块链节点的函数所作用的目标区块;
第四确定模块,用于根据所述多个调用信息之间的依赖关系以及所述处理区隔的时间戳和日志信息,确定多个处理区隔的之间的依赖关系。
在一实施例中,链路确定装置还可以包括:
第一分类模块,用于根据预设整理分类规则,对所述链路内记录的信息进行分类,得到分类调用信息,所述预设整理规则为根据调用信息中的被调用的区块链节点的节点标识信息、与被调用节点对应的区块信息、调用所述区块链节点的时间信息所确定;
第一存储模块,用于将所述分类调用信息压缩存储在所述数据库中。
在一实施例中,链路确定装置还可以包括:
第二获取模块,用于获取查询请求,所述查询请求包括目标区块的标识信息;
第一查询模块,用于根据所述目标区块的标识信息,查询所述数据库中的与所述目标区块标识信息对应的目标分类调用信息;
第五确定模块,用于根据所述目标分类调用信息,确定所述目标区块被调用所需的时间信息和调用所述目标区块的路径。
在一实施例中,链路确定装置还可以包括:
第一布置模块,用于在所述区块链网络的各区块链节点布置所述探针;
第三获取模块,用于通过多线程并发,从各区块链节点中获取所述探针采集的调用信息。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,与本申请方法实施例基于同一构思,是与上述电池热失控预警方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图5示出了本申请实施例提供的电子设备的硬件结构示意图。
设备可以包括处理器501以及存储有程序指令的存储器502。
处理器501执行程序时实现上述任意各个方法实施例中的步骤。
示例性的,程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器502中,并由处理器501执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列程序指令段,该指令段用于描述程序在设备中的执行过程。
具体地,上述处理器501可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器502可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器502可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关容灾设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
处理器501通过读取并执行存储器502中存储的程序指令,以实现上述实施例中的任意一种方法。
在一个示例中,电子设备还可包括通信接口503和总线510。其中,处理器501、存储器502、通信接口503通过总线510连接并完成相互间的通信。
通信接口503,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线510包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线510可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有程序指令;该程序指令被处理器执行时实现上述实施例中的任意一种方法。
本申请实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上的结构框图中所示的功能模块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网格被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种链路确定方法,其特征在于,所述方法包括:
获取多个探针采集的调用信息,所述探针设置在多个区块链节点中,所述探针为采用预设通用协议的接口,所述调用信息包括所述多个区块链节点被调用产生的信息,所述多个区块链节点位于同一区块链网络中;
根据所述多个调用信息,确定所述多个调用信息之间的依赖关系;
根据所述多个调用信息之间的依赖关系,获得有向无环图构成的链路,所述有向无环图的每个节点对应一个调用信息,所述有向无环图中具有依赖关系的两个节点通过有向边连接。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述多个调用信息,确定所述多个调用信息之间的依赖关系之前,所述方法还包括:
解析所述调用信息,得到调用区隔,一个所述调用区隔对应一个所述调用信息;
对所述多个调用区隔附加时间信息和日志信息,得到处理区隔,所述时间信息为所述区块链节点被调用的时刻,所述日志信息为对调用所述区块链节点中具体函数的解释说明,所述日志信息不包含时间戳。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个调用信息,确定所述多个调用信息之间的依赖关系,包括:
根据所述调用信息中被调用的区块链节点的节点标识信息、操作信息以及与被调用节点对应的区块信息,确定所述多个调用信息之间的依赖关系;
根据所述多个调用信息之间的依赖关系以及所述处理区隔的时间戳和日志信息,确定多个处理区隔的之间的依赖关系。
4.根据权利要求2所述的方法,其特征在于,在所述根据所述多个调用信息之间的依赖关系,获得有向无环图构成的链路之后,所述方法还包括:
根据预设整理分类规则,对所述链路内记录的信息进行分类,得到分类调用信息,所述预设整理规则为根据调用信息中的被调用的区块链节点的节点标识信息、与被调用节点对应的区块信息、调用所述区块链节点的时间信息所确定;
将所述分类调用信息压缩存储在所述数据库中。
5.根据权利要求4所述的方法,其特征在于,在所述将所述分类调用信息压缩存储在所述数据库中之后,所述方法还包括:
获取查询请求,所述查询请求包括目标区块的标识信息;
根据所述目标区块的标识信息,查询所述数据库中的与所述目标区块标识信息对应的目标分类调用信息;
根据所述目标分类调用信息,确定所述目标区块被调用所需的时间信息和调用所述目标区块的路径。
6.根据权利要求1所述的方法,其特征在于,所述获取多个探针采集的调用信息,包括:
在所述区块链网络的各区块链节点布置所述探针;
通过多线程并发,从各区块链节点中获取所述探针采集的调用信息。
7.一种链路确定装置,其特征在于,所述装置包括:
获取模块,用于获取多个探针采集的调用信息,所述探针设置在多个区块链节点中,所述探针为采用预设通用协议的接口,所述调用信息包括所述多个区块链节点被调用产生的信息,所述多个区块链节点位于同一区块链网络中式;
第一确定模块,用于根据所述多个调用信息,确定所述多个调用信息之间的依赖关系;
第二确定模块,用于根据所述多个调用信息之间的依赖关系,获得有向无环图构成的链路,所述有向无环图的每个节点对应一个调用信息,所述有向无环图中具有依赖关系的两个节点有向边连接。
8.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-6任意一项所述的链路确定方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6任意一项所述的链路确定方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-6任意一项所述的链路确定方法。
CN202211665055.5A 2022-12-22 2022-12-22 链路确定方法、装置、设备、介质及产品 Pending CN115865645A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211665055.5A CN115865645A (zh) 2022-12-22 2022-12-22 链路确定方法、装置、设备、介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211665055.5A CN115865645A (zh) 2022-12-22 2022-12-22 链路确定方法、装置、设备、介质及产品

Publications (1)

Publication Number Publication Date
CN115865645A true CN115865645A (zh) 2023-03-28

Family

ID=85654278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211665055.5A Pending CN115865645A (zh) 2022-12-22 2022-12-22 链路确定方法、装置、设备、介质及产品

Country Status (1)

Country Link
CN (1) CN115865645A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483251A (zh) * 2017-08-22 2017-12-15 国网辽宁省电力有限公司辽阳供电公司 一种基于分布式探针监测的网络业务异常侦测方法
CN108040074A (zh) * 2018-01-26 2018-05-15 华南理工大学 一种基于大数据的实时网络异常行为检测系统及方法
CN110910237A (zh) * 2019-11-20 2020-03-24 腾讯科技(深圳)有限公司 区块链中的数据处理方法、装置及智能终端、存储介质
JP2020057881A (ja) * 2018-09-30 2020-04-09 株式会社ミツトヨ データ管理システム
CN111179071A (zh) * 2018-11-09 2020-05-19 北京天德科技有限公司 一种基于拓扑排序的区块链交易依赖分析方法
CN112837163A (zh) * 2021-03-22 2021-05-25 中国工商银行股份有限公司 基于区块链的批量交易上链方法及系统
CN113010291A (zh) * 2021-03-19 2021-06-22 中国建设银行股份有限公司 一种应用启动管理方法、装置、终端及设备
CN114201403A (zh) * 2021-12-15 2022-03-18 中山大学 一种区块链网络的分布式压力测试系统及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483251A (zh) * 2017-08-22 2017-12-15 国网辽宁省电力有限公司辽阳供电公司 一种基于分布式探针监测的网络业务异常侦测方法
CN108040074A (zh) * 2018-01-26 2018-05-15 华南理工大学 一种基于大数据的实时网络异常行为检测系统及方法
JP2020057881A (ja) * 2018-09-30 2020-04-09 株式会社ミツトヨ データ管理システム
CN111179071A (zh) * 2018-11-09 2020-05-19 北京天德科技有限公司 一种基于拓扑排序的区块链交易依赖分析方法
CN110910237A (zh) * 2019-11-20 2020-03-24 腾讯科技(深圳)有限公司 区块链中的数据处理方法、装置及智能终端、存储介质
CN113010291A (zh) * 2021-03-19 2021-06-22 中国建设银行股份有限公司 一种应用启动管理方法、装置、终端及设备
CN112837163A (zh) * 2021-03-22 2021-05-25 中国工商银行股份有限公司 基于区块链的批量交易上链方法及系统
CN114201403A (zh) * 2021-12-15 2022-03-18 中山大学 一种区块链网络的分布式压力测试系统及方法

Similar Documents

Publication Publication Date Title
US10769228B2 (en) Systems and methods for web analytics testing and web development
US9946631B1 (en) Debug management in a distributed batch data processing environment
US9697104B2 (en) End-to end tracing and logging
US9712410B1 (en) Local metrics in a service provider environment
EP4099170B1 (en) Method and apparatus of auditing log, electronic device, and medium
CN111143286B (zh) 一种云平台日志管理方法及系统
CN112491602B (zh) 行为数据的监控方法、装置、计算机设备及介质
CN112307057A (zh) 数据的处理方法及装置、电子设备、计算机存储介质
CN108108288A (zh) 一种日志数据解析方法、装置及设备
CN111881011A (zh) 日志管理方法、平台、服务器及存储介质
US10657099B1 (en) Systems and methods for transformation and analysis of logfile data
US20220086075A1 (en) Collecting route-based traffic metrics in a service-oriented system
US10397343B1 (en) Distributed trace storage in a service-oriented system
CN108573029B (zh) 一种获取网络访问关系数据的方法、装置及存储介质
CN114153703A (zh) 微服务的异常定位方法、装置、电子设备和程序产品
CN114116509A (zh) 程序分析方法、装置、电子设备和存储介质
CN112445691B (zh) 非侵入式智能合约性能检测方法和装置
US20220179764A1 (en) Multi-source data correlation extraction for anomaly detection
Zhou et al. A runtime verification based trace-oriented monitoring framework for cloud systems
CN112187509A (zh) 多架构云平台执行日志管理方法、系统、终端及存储介质
CN117215867A (zh) 一种业务监控方法、装置、计算机设备及存储介质
CN111241048A (zh) 一种web终端日志管理方法、装置、介质及电子设备
US9141460B2 (en) Identify failed components during data collection
CN111698109A (zh) 监控日志的方法和装置
CN115865645A (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