CN112738218A - 基于区块链的跨会话链路追踪方法、装置及存储介质 - Google Patents
基于区块链的跨会话链路追踪方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112738218A CN112738218A CN202011582208.0A CN202011582208A CN112738218A CN 112738218 A CN112738218 A CN 112738218A CN 202011582208 A CN202011582208 A CN 202011582208A CN 112738218 A CN112738218 A CN 112738218A
- Authority
- CN
- China
- Prior art keywords
- session
- client
- anchor
- identifier
- identification
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提出一种基于区块链的跨会话的链路追踪方法、装置、设备及存储介质,该方法包括:对微服务功能接口监控;监控到功能接口接收到客户端的会话请求,查询用户标识与锚定标识的映射表是否包含会话请求中的用户标识;如果是,在当前会话的会话信息中添加客户端的锚定标识;如果否,生成客户端的锚定标识,将客户端的用户标识及生成的锚定标识存储在映射表中,及在当前会话的会话信息中添加客户端的锚定标识。本申请在会话信息中添加客户端的锚定标识。只在监控到会话时添加,无需在每个节点处都添加,提高链路追踪效率。将添加锚定标识的会话日志存储在区块链中,利用锚定标识对客户端所有会话链路追踪。统一用户访问轨迹,方便问题链路追踪。
Description
技术领域
本申请属于区块链技术领域,具体涉及一种基于区块链的跨会话链路追踪方法、装置及存储介质。
背景技术
在微服务技术领域,很多复杂的业务功能通常需要很多个服务协同才能完成,如果链路上的任何一个服务出现问题,都会导致功能接口调用失败。因此需要对微服务中的会话链路进行追踪。
目前相关技术中,通过spring cloud sleuth实现跨组件标记,就是可以将一次会话完整的串联起来,实现对会话链路进行追踪。
但上述相关技术只能对一次会话进行跟踪,不能实现跨会话的链路追踪。而实际业务中问题往往没有那么简单,很多时候,问题出现的那一步并不是出现问题的根本原因。根本原因很可能是出现在用户的某一个前序操作里面埋下的隐患,这样就很难定位,需要每个步骤去筛查用户的操作过程。为了简化这个比较复杂的步骤,需要对用户的所有会话链路进行跨会话的链路追踪。
发明内容
本申请提出一种基于区块链的跨会话链路追踪方法、装置及存储介质,本申请在会话信息中添加客户端的锚定标识。只在监控到会话时添加,无需在每个节点处都添加,提高链路追踪效率。将添加锚定标识的会话日志存储在区块链中,利用锚定标识对客户端所有会话链路追踪。统一用户的访问轨迹,方便问题链路追踪。。
本申请第一方面实施例提出了一种基于区块链的跨会话链路追踪方法,包括:
对微服务的功能接口进行监控;
当监控到组件的功能接口接收到客户端的会话请求时,查询用户标识与锚定标识的映射表中是否包含所述会话请求中的用户标识;
如果是,则在当前会话的会话信息中添加所述客户端对应的锚定标识,所述锚定标识用于唯一标识所述客户端的会话;
如果否,则生成所述客户端对应的锚定标识,将所述客户端对应的用户标识及生成的锚定标识存储在所述映射表中,及在当前会话的会话信息中添加所述客户端对应的锚定标识。
在本申请的一些实施例中,所述在当前会话的会话信息中添加所述客户端对应的锚定标识,包括:
对所述当前会话进行源码分析,从所述当前会话中会话信息的目标节点提取所述当前会话的链路标识;
根据所述会话请求包括的用户标识,从用户标识与锚定标识的映射表中获取对应的锚定标识;
将所述当前会话的链路标识替换为所述客户端对应的锚定标识。
在本申请的一些实施例中,所述在当前会话的会话信息中添加所述客户端对应的锚定标识,包括:
对所述当前会话进行源码分析,定位到所述当前会话中会话信息的目标节点;
在所述目标节点处添加所述客户端对应的锚定标识。
在本申请的一些实施例中,所述生成所述客户端对应的锚定标识,包括:
通过随机数生成器生成一个随机字符串;
对所述随机字符串进行预设次数的哈希运算,将最终得到的字符串作为所述客户端对应的锚定标识。
在本申请的一些实施例中,所述生成所述客户端对应的锚定标识,包括:
从所述客户端的会话请求中获取用户标识;
对所述用户标识进行预设次数的哈希运算,将最终得到的字符串作为所述客户端对应的锚定标识。
在本申请的一些实施例中,所述在当前会话的会话信息中添加所述客户端对应的锚定标识之后,还包括:
在所述当前会话的会话信息中添加一个标志位,所述标志位用于表示所述当前会话的会话信息中已包含所述锚定标识。
在本申请的一些实施例中,所述方法还包括:
当微服务系统中出现服务报错时,根据所述客户端对应的锚定标识,从区块链中筛选出所述客户端对应的所有会话日志;
根据所述客户端对应的所有会话日志进行问题分析。
本申请第二方面的实施例提供了一种基于区块链的跨会话链路追踪装置,包括:
监控模块,用于对微服务的功能接口进行监控;
查询模块,用于当监控到组件的功能接口接收到客户端的会话请求时,查询用户标识与锚定标识的映射表中是否包含所述会话请求中的用户标识;
添加模块,用于如果是,则在当前会话的会话信息中添加所述客户端对应的锚定标识,所述锚定标识用于唯一标识所述客户端的会话;
生成模块,用于如果否,则生成所述客户端对应的锚定标识,将所述客户端对应的用户标识及生成的锚定标识存储在所述映射表中,及通过所述添加模块在当前会话的会话信息中添加所述客户端对应的锚定标识。
本申请第三方面的实施例提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述第一方面所述的方法的步骤。
本申请第四方面的实施例提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述第一方面所述的方法的步骤。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
在本申请实施例中,生成客户端对应的锚定标识,每次监控到该客户端的会话,都在会话信息中添加客户端对应的锚定标识。只在监控到会话时添加即可,无需在每个节点处都进行添加,提高了会话链路追踪的效率。将添加锚定标识的会话日志存储在区块链中,利用客户端对应的锚定标识实现了对该客户端的所有会话的链路追踪。能够保证客户端在系统日志中标识的一致性,通过客户端对应的唯一标识实现对该客户端的所有会话进行跨会话的链路追踪,在日志观测时能够统一用户的访问轨迹,方便问题链路追踪。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请一实施例所提供的一种跨会话的链路追踪方法的流程图;
图2示出了本申请一实施例所提供的一种跨会话的链路追踪装置的结构示意图;
图3示出了本申请一实施例所提供的一种计算机设备的结构示意图;
图4示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
本申请的一些实施例提供了一种基于区块链的跨会话链路追踪方法,该方法每次监控到客户端的会话,都在会话信息中添加客户端的锚定标识,锚定标识用于唯一标识该客户端。只在监控到会话时添加即可,无需在每个节点处都进行添加,提高了会话链路追踪的效率。将添加锚定标识的会话日志存储在区块链中,利用客户端对应的锚定标识实现了对该客户端的所有会话的链路追踪。能够保证客户端在系统日志中标识的一致性,通过客户端对应的唯一标识实现对该客户端的所有会话进行跨会话的链路追踪,在日志观测时能够统一用户的访问轨迹,方便问题链路追踪。
参见图1,该方法具体包括以下步骤:
步骤101:对微服务的功能接口进行监控。
微服务系统中包括多个组件,每个组件都具有功能接口及服务功能等多个节点。通过Spring Cloud中的sleuth-product-service服务对每个组件的功能接口进行实时监控。
当用户通过客户端请求微服务系统的服务时,建立与微服务系统之间的会话。本申请实施例在微服务系统中每个组件的功能接口处均设置了监控模块,通过监控模块监控组件的功能接口是否接收到客户端的会话请求。
步骤102:当监控到组件的功能接口接收到客户端的会话请求时,查询用户标识与锚定标识的映射表中是否包含该会话请求中的用户标识,如果是,则执行步骤103,如果否,则执行步骤104。
在sleuth-product-service服务第一次监控到某个客户端的会话时,会生成该客户端对应的锚定标识,该锚定标识用于唯一标识该客户端的会话。并将该客户端对应的用户标识和锚定标识存储在用户标识与锚定标识的映射表中。
当sleuth-product-service服务监控到某个组件的功能接口接收到某客户端的会话请求时,首先遍历用户标识与锚定标识的映射表,确定该映射表中是否包含该会话请求中的用户标识,若包含,则表明不是第一次接收到该客户端的会话请求,之前已为该客户端生成了锚定标识。若该映射表中不包含该会话请求中的用户标识,则表明是第一次接收到该客户端的会话请求,尚未生成该客户端对应的锚定标识。
步骤103:在当前会话的会话信息中添加该客户端对应的锚定标识。
对当前会话进行源码分析,当前会话的会话信息中包括当前会话的链路标识X-B3-TraceId和工作单元标识X-B3-SpanId等。从当前会话的会话信息中确定出最初节点,将该最初节点作为目标节点。在当前会话的目标节点将当前会话的会话信息中添加该客户端对应的锚定标识。
在本申请的另一些实施例中,还可以将当前会话的链路标识替换为该客户端对应的锚定标识。具体地,在当前会话的目标节点对当前会话进行源码分析,提取当前会话的链路标识X-B3-TraceId。根据该会话请求包括的用户标识,从用户标识与锚定标识的映射表中获取对应的锚定标识。将当前会话的链路标识X-B3-TraceId替换为该客户端对应的锚定标识。
本申请实施例中使用拦截器重写httpspanextractor的函数,将当前会话原始的链路标识替换为与客户端对应的锚定标识。
从而实现利用该锚定标识追踪当前会话的链路,只在当前会话的目标节点在当前会话的会话信息中添加该客户端的锚定标识,或者将链路标识替换为锚定标识即可,后续当前会话调用微服务中的任意节点时都不再对锚定标识进行修改,只进行一次标识替换即可实现对当前会话的链路追踪,简化了链路追踪的操作,提高了追踪效率。
在本申请的另一些实施例中,在当前会话的会话信息中添加锚定标识,或者,将当前会话的会话信息中的链路标识X-B3-TraceId替换为该客户端对应的锚定标识之后,还在当前会话的会话信息中添加一个标志位,将该标志位的值置为预设值,如将该标志位的值设置为1或001等。通过该标志位用于表示当前会话的会话信息中已包含锚定标识。后续当前会话再经过微服务系统中的其他节点时,其他节点检测到当前会话的会话信息中包括该标志位,即确定当前会话的会话信息中已包含锚定标识,因此不再对当前会话的会话信息进行标记操作。
锚定标识用于唯一标识该客户端。只在监控到会话时在会话信息中添加客户端对应的锚定标识,无需在每个节点处都进行添加,提高了会话链路追踪的效率。利用客户端对应的锚定标识能实现对该客户端的所有会话的链路追踪。能够保证客户端在系统日志中标识的一致性,通过客户端对应的唯一标识实现对该客户端的所有会话进行跨会话的链路追踪,在日志观测时能够统一用户的访问轨迹,方便问题链路追踪。
步骤104:生成该客户端对应的锚定标识,将该客户端对应的用户标识及生成的锚定标识存储在用户标识与锚定标识的映射表中,然后执行步骤103。
通过随机数生成器生成一个随机字符串,对该随机字符串进行预设次数的哈希运算,将最终得到的字符串作为该客户端对应的锚定标识。
或者,该客户端的会话请求中可以包括用户标识,用户标识可以为用户名称或用户地址等。对该用户标识进行预设次数的哈希运算,将最终得到的字符串作为该客户端对应的锚定标识。
通过上述任一方式生成该客户端对应的锚定标识之后,将该客户端对应的用户标识和生成的锚定标识对应存储在用户标识和锚定标识的映射表中。
然后通过步骤103的方式在当前会话的会话信息中添加该客户端对应的锚定标识。从而实现利用该锚定标识追踪当前会话的链路,只在当前会话的目标节点在当前会话的会话信息中添加该客户端的锚定标识,或者将链路标识替换为锚定标识即可,后续当前会话调用微服务中的任意节点时都不再对锚定标识进行修改,只进行一次标识替换即可实现对当前会话的链路追踪,简化了链路追踪的操作,提高了追踪效率。
在本申请的另一些实施例中,在当前会话的会话信息中添加锚定标识之后,还在当前会话的会话信息中添加一个标志位,将该标志位的值置为预设值,如将该标志位的值设置为1或001等。通过该标志位用于表示当前会话的会话信息中已包含锚定标识。后续当前会话再经过微服务系统中的其他节点时,其他节点检测到当前会话的会话信息中包括该标志位,即确定当前会话的会话信息中已包含锚定标识,因此不再对当前会话的会话信息进行标记操作。
锚定标识用于唯一标识该客户端。只在监控到会话时在会话信息中添加客户端对应的锚定标识,无需在每个节点处都进行添加,提高了会话链路追踪的效率。利用客户端对应的锚定标识能实现对该客户端的所有会话的链路追踪。能够保证客户端在系统日志中标识的一致性,通过客户端对应的唯一标识实现对该客户端的所有会话进行跨会话的链路追踪,在日志观测时能够统一用户的访问轨迹,方便问题链路追踪。
在本申请实施例中,客户端添加锚定标识后的会话信息形成的会话日志均存储在区块链中,利用区块链不可篡改的特性,确保客户端会话日志的准确性。上述用户标识与锚定标识的映射表也可以存储在会话日志中,避免恶意分子篡改映射表造成的服务器出错。
通过上述方式在客户端的所有会话的会话信息中添加该客户端的锚定标识,或者将客户端的所有会话的链路标识均替换为锚定标识,当微服务系统中某个服务报错时,可以根据该客户端对应的锚定标识,从区块链中直接筛选出该客户端对应的所有会话日志,根据该客户端对应的所有会话日志来进行问题分析。
客户端首次与微服务系统进行会话时,生成该客户端对应的锚定标识,并在映射表中存储该客户端的用户标识与锚定标识的对应关系,后续每次监控到该客户端的会话,都将会话的链路标识替换为锚定标识。而且只在监控到会话时替换即可,无需在每个节点处都进行替换,提高了会话链路追踪的效率。利用客户端对应的锚定标识实现了对该客户端的所有会话的链路追踪。
在本申请实施例中,生成客户端对应的锚定标识,每次监控到该客户端的会话,都在会话信息中添加客户端的锚定标识。只在监控到会话时添加即可,无需在每个节点处都进行添加,提高了会话链路追踪的效率。将添加锚定标识的会话日志存储在区块链中,利用客户端对应的锚定标识实现了对该客户端的所有会话的链路追踪。能够保证客户端在系统日志中标识的一致性,通过客户端对应的唯一标识实现对该客户端的所有会话进行跨会话的链路追踪,在日志观测时能够统一用户的访问轨迹,方便问题链路追踪。
本申请实施例提供了一种基于区块链的跨会话链路追踪装置,该装置用于执行上述任一实施例所述的基于区块链的跨会话链路追踪方法,如图2所示,该装置包括:
监控模块201,用于对微服务的功能接口进行监控;
查询模块202,用于当监控到组件的功能接口接收到客户端的会话请求时,查询用户标识与锚定标识的映射表中是否包含所述会话请求中的用户标识;
添加模块203,用于如果是,则在当前会话的会话信息中添加所述客户端对应的锚定标识,所述锚定标识用于唯一标识所述客户端的会话;
生成模块204,用于如果否,则生成所述客户端对应的锚定标识,将所述客户端对应的用户标识及生成的锚定标识存储在所述映射表中,及通过所述添加模块203在当前会话的会话信息中添加所述客户端对应的锚定标识。
添加模块203,用于对所述当前会话进行源码分析,从所述当前会话中会话信息的目标节点提取所述当前会话的链路标识;根据所述会话请求包括的用户标识,从用户标识与锚定标识的映射表中获取对应的锚定标识;将所述当前会话的链路标识替换为所述客户端对应的锚定标识。
添加模块203,用于对所述当前会话进行源码分析,定位到所述当前会话中会话信息的目标节点;在所述目标节点处添加所述客户端对应的锚定标识。
生成模块204,用于通过随机数生成器生成一个随机字符串;对所述随机字符串进行预设次数的哈希运算,将最终得到的字符串作为所述客户端对应的锚定标识。
生成模块204,用于从所述客户端的会话请求中获取用户标识;对所述用户标识进行预设次数的哈希运算,将最终得到的字符串作为所述客户端对应的锚定标识。
该装置还包括:标志位添加模块,用于在所述当前会话的会话信息中添加一个标志位,所述标志位用于表示所述当前会话的会话信息中已包含所述锚定标识。
该装置还包括:问题追踪模块,用于当微服务系统中出现服务报错时,根据所述客户端对应的锚定标识,筛选出所述客户端对应的所有会话日志;根据所述客户端对应的所有会话日志进行问题分析。
在本申请实施例中,生成客户端对应的锚定标识,每次监控到该客户端的会话,都在会话信息中添加客户端的锚定标识。只在监控到会话时添加即可,无需在每个节点处都进行添加,提高了会话链路追踪的效率。将添加锚定标识的会话日志存储在区块链中,利用客户端对应的锚定标识实现了对该客户端的所有会话的链路追踪。能够保证客户端在系统日志中标识的一致性,通过客户端对应的唯一标识实现对该客户端的所有会话进行跨会话的链路追踪,在日志观测时能够统一用户的访问轨迹,方便问题链路追踪。
本申请实施例提供了一种计算机设备。如图3所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种基于区块链的跨会话链路追踪方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种基于区块链的跨会话链路追踪方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:对微服务的功能接口进行监控;当监控到组件的功能接口接收到客户端的会话请求时,查询用户标识与锚定标识的映射表中是否包含会话请求中的用户标识;如果是,则在当前会话的会话信息中添加客户端对应的锚定标识,锚定标识用于唯一标识客户端的会话;如果否,则生成客户端对应的锚定标识,将客户端对应的用户标识及生成的锚定标识存储在映射表中,及在当前会话的会话信息中添加客户端对应的锚定标识。
处理器执行计算机程序时还可以实现以下步骤:对当前会话进行源码分析,从当前会话中会话信息的目标节点提取当前会话的链路标识;根据会话请求包括的用户标识,从用户标识与锚定标识的映射表中获取对应的锚定标识;将当前会话的链路标识替换为客户端对应的锚定标识。
处理器执行计算机程序时还可以实现以下步骤:对当前会话进行源码分析,定位到当前会话中会话信息的目标节点;在目标节点处添加客户端对应的锚定标识。
处理器执行计算机程序时还可以实现以下步骤:通过随机数生成器生成一个随机字符串;对随机字符串进行预设次数的哈希运算,将最终得到的字符串作为客户端对应的锚定标识。
处理器执行计算机程序时还可以实现以下步骤:从客户端的会话请求中获取用户标识;对用户标识进行预设次数的哈希运算,将最终得到的字符串作为客户端对应的锚定标识。
处理器执行计算机程序时还可以实现以下步骤:在当前会话的会话信息中添加一个标志位,标志位用于表示当前会话的会话信息中已包含锚定标识。
处理器执行计算机程序时还可以实现以下步骤:当微服务系统中出现服务报错时,根据客户端对应的锚定标识,筛选出客户端对应的所有会话日志;根据客户端对应的所有会话日志进行问题分析。
在本申请实施例中,生成客户端对应的锚定标识,每次监控到该客户端的会话,都在会话信息中添加客户端的锚定标识。只在监控到会话时添加即可,无需在每个节点处都进行添加,提高了会话链路追踪的效率。将添加锚定标识的会话日志存储在区块链中,利用客户端对应的锚定标识实现了对该客户端的所有会话的链路追踪。能够保证客户端在系统日志中标识的一致性,通过客户端对应的唯一标识实现对该客户端的所有会话进行跨会话的链路追踪,在日志观测时能够统一用户的访问轨迹,方便问题链路追踪。
本申请实施例还提出了一种存储有计算机可读指令的存储介质,如图4所示,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:对微服务的功能接口进行监控;当监控到组件的功能接口接收到客户端的会话请求时,查询用户标识与锚定标识的映射表中是否包含会话请求中的用户标识;如果是,则在当前会话的会话信息中添加客户端对应的锚定标识,锚定标识用于唯一标识客户端的会话;如果否,则生成客户端对应的锚定标识,将客户端对应的用户标识及生成的锚定标识存储在映射表中,及在当前会话的会话信息中添加客户端对应的锚定标识。
处理器还可以执行以下步骤:对当前会话进行源码分析,从当前会话中会话信息的目标节点提取当前会话的链路标识;根据会话请求包括的用户标识,从用户标识与锚定标识的映射表中获取对应的锚定标识;将当前会话的链路标识替换为客户端对应的锚定标识。
处理器还可以执行以下步骤:对当前会话进行源码分析,定位到当前会话中会话信息的目标节点;在目标节点处添加客户端对应的锚定标识。
处理器还可以执行以下步骤:通过随机数生成器生成一个随机字符串;对随机字符串进行预设次数的哈希运算,将最终得到的字符串作为客户端对应的锚定标识。
处理器还可以执行以下步骤:从客户端的会话请求中获取用户标识;对用户标识进行预设次数的哈希运算,将最终得到的字符串作为客户端对应的锚定标识。
处理器还可以执行以下步骤:在当前会话的会话信息中添加一个标志位,标志位用于表示当前会话的会话信息中已包含锚定标识。
处理器还可以执行以下步骤:当微服务系统中出现服务报错时,根据客户端对应的锚定标识,筛选出客户端对应的所有会话日志;根据客户端对应的所有会话日志进行问题分析。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
在本申请实施例中,生成客户端对应的锚定标识,每次监控到该客户端的会话,都在会话信息中添加客户端的锚定标识。只在监控到会话时添加即可,无需在每个节点处都进行添加,提高了会话链路追踪的效率。将添加锚定标识的会话日志存储在区块链中,利用客户端对应的锚定标识实现了对该客户端的所有会话的链路追踪。能够保证客户端在系统日志中标识的一致性,通过客户端对应的唯一标识实现对该客户端的所有会话进行跨会话的链路追踪,在日志观测时能够统一用户的访问轨迹,方便问题链路追踪。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于区块链的跨会话链路追踪方法,其特征在于,包括:
对微服务的功能接口进行监控;
当监控到组件的功能接口接收到客户端的会话请求时,查询用户标识与锚定标识的映射表中是否包含所述会话请求中的用户标识;
如果是,则在当前会话的会话信息中添加所述客户端对应的锚定标识,所述锚定标识用于唯一标识所述客户端的会话;
如果否,则生成所述客户端对应的锚定标识,将所述客户端对应的用户标识及生成的锚定标识存储在所述映射表中,及在当前会话的会话信息中添加所述客户端对应的锚定标识。
2.根据权利要求1所述的方法,其特征在于,所述在当前会话的会话信息中添加所述客户端对应的锚定标识,包括:
对所述当前会话进行源码分析,从所述当前会话中会话信息的目标节点提取所述当前会话的链路标识;
根据所述会话请求包括的用户标识,从用户标识与锚定标识的映射表中获取对应的锚定标识;
将所述当前会话的链路标识替换为所述客户端对应的锚定标识。
3.根据权利要求1所述的方法,其特征在于,所述在当前会话的会话信息中添加所述客户端对应的锚定标识,包括:
对所述当前会话进行源码分析,定位到所述当前会话中会话信息的目标节点;
在所述目标节点处添加所述客户端对应的锚定标识。
4.根据权利要求1所述的方法,其特征在于,所述生成所述客户端对应的锚定标识,包括:
通过随机数生成器生成一个随机字符串;
对所述随机字符串进行预设次数的哈希运算,将最终得到的字符串作为所述客户端对应的锚定标识。
5.根据权利要求1所述的方法,其特征在于,所述生成所述客户端对应的锚定标识,包括:
从所述客户端的会话请求中获取用户标识;
对所述用户标识进行预设次数的哈希运算,将最终得到的字符串作为所述客户端对应的锚定标识。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述在当前会话的会话信息中添加所述客户端对应的锚定标识之后,还包括:
在所述当前会话的会话信息中添加一个标志位,所述标志位用于表示所述当前会话的会话信息中已包含所述锚定标识。
7.根据权利要求1-6所述的方法,其特征在于,所述方法还包括:
当微服务系统中出现服务报错时,根据所述客户端对应的锚定标识,从区块链中筛选出所述客户端对应的所有会话日志;
根据所述客户端对应的所有会话日志进行问题分析。
8.一种基于区块链的跨会话链路追踪装置,其特征在于,包括:
监控模块,用于对微服务的功能接口进行监控;
查询模块,用于当监控到组件的功能接口接收到客户端的会话请求时,查询用户标识与锚定标识的映射表中是否包含所述会话请求中的用户标识;
添加模块,用于如果是,则在当前会话的会话信息中添加所述客户端对应的锚定标识,所述锚定标识用于唯一标识所述客户端的会话;
生成模块,用于如果否,则生成所述客户端对应的锚定标识,将所述客户端对应的用户标识及生成的锚定标识存储在所述映射表中,及通过所述添加模块在当前会话的会话信息中添加所述客户端对应的锚定标识。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述的方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011582208.0A CN112738218A (zh) | 2020-12-28 | 2020-12-28 | 基于区块链的跨会话链路追踪方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011582208.0A CN112738218A (zh) | 2020-12-28 | 2020-12-28 | 基于区块链的跨会话链路追踪方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112738218A true CN112738218A (zh) | 2021-04-30 |
Family
ID=75606763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011582208.0A Pending CN112738218A (zh) | 2020-12-28 | 2020-12-28 | 基于区块链的跨会话链路追踪方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112738218A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080077938A1 (en) * | 2006-09-21 | 2008-03-27 | Irdeto Access B.V | Method of implementing a state tracking mechanism in a communications session between a server and a client system |
CN110213356A (zh) * | 2019-05-21 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种基于数据处理的登录处理方法及相关设备 |
CN112134739A (zh) * | 2020-09-24 | 2020-12-25 | 平安科技(深圳)有限公司 | 链路状态的追踪方法、装置、电子设备及计算机存储介质 |
-
2020
- 2020-12-28 CN CN202011582208.0A patent/CN112738218A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080077938A1 (en) * | 2006-09-21 | 2008-03-27 | Irdeto Access B.V | Method of implementing a state tracking mechanism in a communications session between a server and a client system |
CN110213356A (zh) * | 2019-05-21 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种基于数据处理的登录处理方法及相关设备 |
CN112134739A (zh) * | 2020-09-24 | 2020-12-25 | 平安科技(深圳)有限公司 | 链路状态的追踪方法、装置、电子设备及计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
杨龙频;: "物联网大数据有效信息的加密存储系统设计", 自动化与仪器仪表, no. 12 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109800258B (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
US10491453B2 (en) | Correlating computing network events | |
US20070124726A1 (en) | Automated QS interface testing framework | |
CN110730246A (zh) | 一种微服务架构下的分布式链路跟踪方法 | |
CN111475376B (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
CN113987074A (zh) | 分布式服务全链路监控方法、装置、电子设备及存储介质 | |
CN108197200A (zh) | 日志追踪方法、装置、计算机设备和存储介质 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及系统 | |
CN103562923A (zh) | 应用程序安全测试 | |
CN110764980A (zh) | 日志处理方法和装置 | |
US20220156247A1 (en) | Event records in a log file | |
CN111831574B (zh) | 回归测试规划方法、装置、计算机系统和介质 | |
CN112817867A (zh) | 一种接口测试脚本生成方法、装置、计算机设备和介质 | |
CN111026647A (zh) | 代码覆盖率的获取方法、装置、计算机设备和存储介质 | |
CN115292163A (zh) | 应用程序的检测方法、装置及计算机可读存储介质 | |
CN112540808B (zh) | 一种程序行为层级调用关系的记录方法及相关设备 | |
CN112363937A (zh) | 差异覆盖率测试方法、装置、计算机设备和存储介质 | |
CN114143369A (zh) | 一种云平台的服务监控系统 | |
CN110830500A (zh) | 网络攻击追踪方法、装置、电子设备及可读存储介质 | |
CN112235128B (zh) | 一种交易路径分析方法、装置、服务器及存储介质 | |
CN114328566A (zh) | 关系图谱的更新方法、装置、介质、设备及生成方法 | |
CN111124894B (zh) | 代码覆盖率的处理方法、装置和计算机设备 | |
CN111381847A (zh) | 信息处理方法及设备 | |
CN112738218A (zh) | 基于区块链的跨会话链路追踪方法、装置及存储介质 | |
CN111885088A (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 |