CN112448969A - 链路追踪方法、装置、系统、设备及可读存储介质 - Google Patents

链路追踪方法、装置、系统、设备及可读存储介质 Download PDF

Info

Publication number
CN112448969A
CN112448969A CN201910805790.3A CN201910805790A CN112448969A CN 112448969 A CN112448969 A CN 112448969A CN 201910805790 A CN201910805790 A CN 201910805790A CN 112448969 A CN112448969 A CN 112448969A
Authority
CN
China
Prior art keywords
service
service data
tracking
proxy
identifier
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
CN201910805790.3A
Other languages
English (en)
Other versions
CN112448969B (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201910805790.3A priority Critical patent/CN112448969B/zh
Publication of CN112448969A publication Critical patent/CN112448969A/zh
Application granted granted Critical
Publication of CN112448969B publication Critical patent/CN112448969B/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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种链路追踪方法、装置、系统、设备及可读存储介质,应用于分布式代理服务系统中的代理服务装置,所述分布式代理系统包括多个代理服务装置,且所述代理服务装置用于对业务系统中的业务节点进行代理,所述方法通过在从所述业务节点拦截的业务数据中,获取第一追踪标识;生成指示所述业务节点的第二追踪标识;将所述第二追踪标识作为所述第一追踪标识的子级;将所述第二追踪标识写入所述业务数据,得到代理业务数据,从而以代理服务装置的方式拦截需要追踪的业务数据进行追踪标识标记,减少了对业务系统的配置,提高了各个业务节点的标记可靠性,进而提高了最终链路追踪的可靠性。

Description

链路追踪方法、装置、系统、设备及可读存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种链路追踪方法、装置、系统、设备及可读存储介质。
背景技术
随着互联网的发展,分布式业务系统解决了服务器处理的数据庞大、访问请求频繁的问题。分布式业务系统通常是建立在网络之上的软件系统,系统拥有多种通用的物理和逻辑资源,可以对其包括的业务节点动态地分配任务,各业务节点中分散的物理和逻辑资源通过计算机网络实现信息交换。可目前分布式业务系统中包括的业务节点越来越多,应答请求所经过的路径越来越复杂,对于业务系统的管理,特别是业务系统中全链路追踪更加困难。
现有的链路追踪方法,通常是在业务系统的各个业务节点中引用链路追踪的组件,并对业务节点进行适当的配置或者注解,以使得业务节点按照所引入的链路追踪的组件对应的API使用链路追踪功能。
然而,一些请求响应链路中依赖的业务节点可能是无法进行链路追踪组件的统一配置,导致现有的链路追踪方法难以实现完整的链路追踪。现有的链路追踪方法可靠性不够高。
发明内容
本发明实施例提供一种链路追踪方法、装置、系统、设备及可读存储介质,减少了对业务系统的配置,同时提高了对链路追踪的可靠性。
本发明实施例的第一方面,提供一种链路追踪方法,应用于分布式代理服务系统中的代理服务装置,所述分布式代理系统包括多个代理服务装置,且所述代理服务装置用于对业务系统中的业务节点进行代理,所述方法包括:
在从所述业务节点拦截的业务数据中,获取第一追踪标识;
生成指示所述业务节点的第二追踪标识;
将所述第二追踪标识作为所述第一追踪标识的子级;
将所述第二追踪标识写入所述业务数据,得到代理业务数据。
可选地,还包括:
根据所述第一追踪标识和预存储的链路追踪信息,获取与所述业务数据相关的链路追踪信息。
可选地,所述业务数据中包含链路追踪信息,所述链路追踪信息顺序包括多个追踪标识;
所述在从所述业务节点拦截的业务数据中,获取第一追踪标识,包括:
在从所述业务节点拦截的业务数据中,获取链路追踪信息,其中,所述链路追踪信息指示了在所述业务节点之前,与所述业务数据相关的其他业务节点的顺序;
在所述链路追踪信息中,将顺序最后一个追踪标识作为所述第一追踪标识。
可选地,所述在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还包括:
判断所述业务节点拦截的业务数据中,是否包含所述第一追踪标识;
若是,则执行所述在从所述业务节点拦截的业务数据中,获取第一追踪标识;
若否,则生成指示所述业务节点的第三追踪标识,将所述第三追踪标识作为与所述业务数据相关的链路追踪信息中的根级追踪标识,将所述第三追踪标识写入所述业务数据,得到代理业务数据。
可选地,所述在从所述业务节点拦截的业务数据中,获取第一追踪标识,包括:
在从所述业务节点拦截的业务数据的头信息中,获取第一追踪标识;
所述将所述第二追踪标识写入所述业务数据,得到代理业务数据,包括:
将所述第二追踪标识写入所述业务数据的头信息,得到代理业务数据。
可选地,所述生成指示所述业务节点的第二追踪标识,包括:
生成指示所述业务节点以及拦截时间戳的第二追踪标识,其中,所述拦截时间戳为拦截到所述业务数据的时刻。
可选地,所述在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还包括:
获取目标统一资源定位符URL;
根据所述目标URL从所述业务节点的接收端拦截得到所述业务数据,其中,所述业务数据包括所述目标URL;
所述得到代理业务数据之后,还包括:
将所述代理业务数据传送给所述业务节点。
可选地,所述在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还包括:
获取目标统一资源定位符URL;
根据所述目标URL从所述业务节点的发送端拦截得到所述业务数据,其中,所述业务数据包括所述目标URL;
所述得到代理业务数据之后,还包括:
将所述代理业务数据传送给所述业务数据对应的接收节点。
本发明实施例的第二方面,提供一种链路追踪装置,应用于分布式代理服务系统中的代理服务装置,所述分布式代理系统包括多个代理服务装置,且所述代理服务装置用于对业务系统中的业务节点进行代理,所述装置包括:
拦截模块,用于在从所述业务节点拦截的业务数据中,获取第一追踪标识;
生成模块,用于生成指示所述业务节点的第二追踪标识;
处理模块,用于将所述第二追踪标识作为所述第一追踪标识的子级;
写入模块,用于将所述第二追踪标识写入所述业务数据,得到代理业务数据。
可选地,所述处理模块还用于根据所述第一追踪标识和预存储的链路追踪信息,获取与所述业务数据相关的链路追踪信息。
可选地,所述业务数据中包含链路追踪信息,所述链路追踪信息顺序包括多个追踪标识。
相应地,所述处理模块还用于在从所述业务节点拦截的业务数据中,获取链路追踪信息,其中,所述链路追踪信息指示了在所述业务节点之前,与所述业务数据相关的其他业务节点的顺序;在所述链路追踪信息中,将顺序最后一个追踪标识作为所述第一追踪标识。
可选地,拦截模块,在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还用于判断所述业务节点拦截的业务数据中,是否包含所述第一追踪标识;若是,则执行所述在从所述业务节点拦截的业务数据中,获取第一追踪标识;若否,则生成指示所述业务节点的第三追踪标识,将所述第三追踪标识作为与所述业务数据相关的链路追踪信息中的根级追踪标识,将所述第三追踪标识写入所述业务数据,得到代理业务数据。
可选地,拦截模块用于在从所述业务节点拦截的业务数据的头信息中,获取第一追踪标识。
相应地,写入模块,用于将所述第二追踪标识写入所述业务数据的头信息,得到代理业务数据。
可选地,生成模块,用于生成指示所述业务节点以及拦截时间戳的第二追踪标识,其中,所述拦截时间戳为拦截到所述业务数据的时刻。
可选地,拦截模块在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还用于获取目标统一资源定位符URL;根据所述目标URL从所述业务节点的接收端拦截得到所述业务数据,其中,所述业务数据包括所述目标URL。
相应地,写入模块,在所述得到代理业务数据之后,还用于将所述代理业务数据传送给所述业务节点。
可选地,拦截模块在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还用于获取目标统一资源定位符URL;根据所述目标URL从所述业务节点的发送端拦截得到所述业务数据,其中,所述业务数据包括所述目标URL。
相应地,写入模块,在所述得到代理业务数据之后,还用于将所述代理业务数据传送给所述业务数据对应的接收节点。
本发明实施例的第三方面,提供一种系统,包括多个代理服务装置;
所述代理服务装置用于执行本发明第一方面及第一方面各种可能设计的所述链路追踪方法。
本发明实施例的第四方面,提供一种链路追踪设备,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行本发明第一方面及第一方面各种可能设计的所述链路追踪方法。
本发明实施例的第五方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一方面及第一方面各种可能设计的所述链路追踪方法。
本发明提供的一种链路追踪方法、装置、系统、设备及可读存储介质,应用于分布式代理服务系统中的代理服务装置,所述分布式代理系统包括多个代理服务装置,且所述代理服务装置用于对业务系统中的业务节点进行代理,所述方法通过在从所述业务节点拦截的业务数据中,获取第一追踪标识;生成指示所述业务节点的第二追踪标识;将所述第二追踪标识作为所述第一追踪标识的子级;将所述第二追踪标识写入所述业务数据,得到代理业务数据,从而以代理服务装置的方式拦截需要追踪的业务数据进行追踪标识标记,减少了对业务系统的配置,提高了各个业务节点的标记可靠性,进而提高了最终链路追踪的可靠性。
附图说明
图1是本发明实施例提供的一种应用场景示意图;
图2是本发明实施例提供的一种链路追踪方法流程示意图;
图3是本发明实施例提供的一种业务节点的接收端的链路追踪方法应用示例;
图4是本发明实施例提供的一种业务节点的发送端的链路追踪方法应用示例;
图5是本发明实施例提供的一种链路追踪装置结构示意图;
图6是本发明实施例提供的一种链路追踪设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明中,“多个”是指两个或两个以上。
应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
由于需要对业务数据进行分析或维护,而业务数据通常是多个业务节点之间的请求和响应,想要确定是经由哪些业务节点介入了处理,甚至对各业务节点的处理步骤或处理速度等进行分析,都需要对业务数据的请求和响应进行链路追踪。通过链路追踪可以跟进一个请求有哪些业务节点参与了,参与的顺序是什么样,从而达到每个请求的步骤清晰可见,出了故障或错误,能快速定位问题节点,或者分析业务节点的性能等。可以理解地,通过标明上下游请求的关系,可以可视化地分析业务调用链路和业务数据间的依赖关系。但是,现有的链路追踪方法,通常需要在业务系统的各个业务节点中引用链路追踪的组件,这导致需要对业务节点进行配置,但一些业务数据的请求可能依赖的是外部第三方提供的接口系统作为业务节点,例如使用了公共系统的处理系统接口或付费的商用系统接口,这些系统接口是无法被用户随意配置的,这导致现有的链路追踪只能局限于用户自己所能配置的内部业务节点做追踪,而无法实现完整的链路追踪,导致现有的链路追踪可靠性不够高。尤其是在大量依赖外部系统接口的情况下,现有的链路追踪更加难以实现问题节点定位。
为了解决现有技术中存在的上述问题,本发明实施例提供了一种链路追踪方法,以代理服务装置的方式拦截需要追踪的业务数据进行追踪标识标记,实现对业务系统的零入侵,减少了对业务系统的配置,提高了各个业务节点的标记可靠性,进而提高了最终链路追踪的可靠性。
参见图1,是本发明实施例提供的一种应用场景示意图。在图1所示的场景中,对现有业务系统(例如微服务系统、分布式业务系统)的各业务节点2前置部署代理服务装置1(例如nginx服务模块),并代理该业务节点2的所有请求与响应,这样既实现了当前所有相互交互的业务系统的链路追踪,对于后续扩展的新的业务节点,只需要部署此代理服务装置1即可。本实施例对老系统零入侵,对新系统快速兼容实现链路追踪。图1所示的应用场景中,具体的实现可以是依赖于Nginx+lua脚本,基于HTTP协议。这里例如可以使用lua脚本方便的封装为插件,代理服务装置1以插件的形式集成到nginx模块。
参见图2,是本发明实施例提供的一种链路追踪方法流程示意图,图2所示方法的执行主体可以是软件和/或硬件装置,例如是图1所示的代理服务装置。例如,分布式代理系统包括多个代理服务装置,且所述代理服务装置用于对业务系统中的业务节点进行代理。图2所示方法包括步骤S101至步骤S104,具体如下:
S101,在从所述业务节点拦截的业务数据中,获取第一追踪标识。
其中,业务数据可以是拦截业务节点发出的信息得到的,也可以是拦截发给业务节点的信息得到的。业务数据例如可以是请求,也可以是响应,在此不做限制。
获取第一追踪标识的方式,例如可以是在从所述业务节点拦截的业务数据的头信息中,获取第一追踪标识。例如在获取到业务数据时,读取其头信息中符合追踪标识格式或位置特征的信息,从而得到第一追踪标识。
在一些实施例中,为了减少业务数据的数据量,业务数据中的追踪标识可以只有一个,那么直接将得到的追踪标识作为第一追踪标识,其指示了该业务数据的前一个处理节点。例如拦截到外部发给业务节点的一条请求,在该请求中读取到一个第一追踪标识,那么该第一追踪标识指示了发出该请求的节点身份。在获取到第一追踪标识之后,可以根据所述第一追踪标识和预存储的链路追踪信息,获取与所述业务数据相关的链路追踪信息。假设在分布式缓存中或共享数据库中,预存储有多个链表,链表中记录了所有代理服务装置生成并写入业务数据的追踪标识,每个追踪标识都具有唯一性。那么,以第一追踪标识为索引就能查询到业务数据对应的链表,以及这条链表中所有与该业务数据相关的节点。
在另一些实施例中,业务数据中也可以包含链路追踪信息,链路追踪信息顺序包括多个追踪标识,即业务数据中存储所有之前写入的追踪标识。那么,可以在从所述业务节点拦截的业务数据中,获取链路追踪信息,其中,所述链路追踪信息指示了在所述业务节点之前,与所述业务数据相关的其他业务节点的顺序。这个顺序即是先后由哪些节点进行了请求或响应,本实施例中同样可以在分布式缓存中或共享数据库中,存储链表记录该链路追踪信息。然后在所述链路追踪信息中,将顺序最后一个追踪标识作为所述第一追踪标识。顺序最后一个追踪标识即该业务数据的前一个处理节点。例如拦截到外部发给业务节点的一条请求,在该请求中读取到链路追踪信息,那么以链路追踪信息中的最后一个追踪标识作为所述第一追踪标识,那么该第一追踪标识指示了发出该请求的节点身份。
应当理解的,链表只是记录追踪标识的一种可选的实现方式,也可以是以数组等其他集合或文本列表的结构化数据结构的方式进行记录和存储,本发明实施例对链路追踪信息,以及上述第一追踪标识、第二追踪标识进行存储的方式不限于此。可以根据实际情况对结构化数据结构进行选择,以便能够根据结构化数据结构中存储的追踪标识,分析出链路追踪的顺序信息。
S102,生成指示所述业务节点的第二追踪标识。
第二追踪标识应当是具有唯一性的标识,例如以生成通用唯一识别码(Universally Unique Identifier,简称:UUID)的方式生成第二追踪标识,并建立该第二追踪标识与业务节点之间的对应关系。第二追踪标识可以是实时生成的,也可以是预先生成业务节点的追踪标识列表,在需要时进行提取,但需确保每次使用的追踪标识都是未曾使用过的。
例如,代理服务装置可以是对业务系统中的一个或多个业务节点进行代理。也可以是多个代理服务装置对一个业务节点进行代理。在一个代理服务装置对业务系统中的一个业务节点进行代理的实施例中,代理服务装置在拦截到业务数据后,生成或提取其代理的业务节点的第二追踪标识。在一个代理服务装置对业务系统中多个业务节点进行代理的实施例中,代理服务装置在拦截到业务数据后,还可以根据业务数据中包含的例如目标统一资源定位符URL的请求路径信息,在其代理的业务节点中,确定该业务数据指向的业务节点,再生成或提取该指向的业务节点的第二追踪标识。多个代理服务装置对一个业务节点进行代理的实现方式,与一个代理服务装置对业务系统中的一个业务节点进行代理的实现方式类似,在此不做赘述。代理服务装置生成指示所述业务节点的第二追踪标识的方式可以有多种,在此不做限定。
在一些实施例中,还可以结合时间戳得到第二追踪标识。例如生成指示所述业务节点以及拦截时间戳的第二追踪标识,其中,所述拦截时间戳为拦截到所述业务数据的时刻。通过在追踪标识中引入时间戳,可以明确业务节点处理业务数据的时间信息。例如拦截所有节点要接收的数据,那么可以通过拦截时间戳,确定各节点的开始处理时间以及处理时长等信息。本发明实施例可以结合Nginx高性能使用其脚本实现逻辑,并可封装为插件作为代理服务的方式实现的一种对现有业务系统(分布式系统、微服务等)零入侵、对系统本身代码零入侵、对后续扩展的新的接口(业务节点)也是零入侵的一种高性能代理插件式的链路追踪方法的轻量级实现。本发明实施例极其简洁方便的只需要部署代理服务的方式便可实现全链路追踪的方法,并可以对各个服务进行性能监控或调用分析,这种代理插件式零入侵的全链路追踪方案可极大减少系统接入的复杂性或改造成本。
S103,将所述第二追踪标识作为所述第一追踪标识的子级。
假设是以链表存储各业务数据对应的链路追踪信息,那么可以获取第一追踪标识所存储的链表结点的指针,根据该指针将第二追踪标识写入第一追踪标识所存储的链表结点指向的下一个链表结点,由此实现将第二追踪标识作为第一追踪标识的子级。第一追踪标识为第二追踪标识的父级标识,而第一追踪标识的父级标识都以同样的层级关系存储在链表中。本实施例仅以链表作为举例,并不局限于此,还可以是其他具有层级关系的存储形式。
为了提高性能,尽可能少地占用服务资源,第二追踪标识可以是异步写入日志或者数据库中,对后续进行链路跟踪做数据支撑。
S104,将所述第二追踪标识写入所述业务数据,得到代理业务数据。
例如业务数据是以头信息设置追踪标识的,那么可以将所述第二追踪标识写入所述业务数据的头信息,得到代理业务数据。
可选地,在上述业务数据中仅包括一个追踪标识的实施例中,可以是将第一追踪标识删除,或以第二追踪标识覆盖第一追踪标识。而在上述业务数据包括链路追踪信息的实施例中,可以是将第二追踪标识写入第一追踪标识的子级中,例如写入第一追踪标识之后的预留位中。具体可以根据实际需求选择业务数据中第二追踪标识的写入方式。
本实施例提供的一种链路追踪方法,应用于分布式代理服务系统中的代理服务装置,所述分布式代理系统包括多个代理服务装置,且所述代理服务装置用于对业务系统中的业务节点进行代理,所述方法通过在从所述业务节点拦截的业务数据中,获取第一追踪标识;生成指示所述业务节点的第二追踪标识;将所述第二追踪标识作为所述第一追踪标识的子级;将所述第二追踪标识写入所述业务数据,得到代理业务数据,从而以代理服务装置的方式拦截需要追踪的业务数据进行追踪标识标记,减少了对业务系统的配置,提高了各个业务节点的标记可靠性,进而提高了最终链路追踪的可靠性。
本发明实施例不仅限于用于数据的链路追踪,还可以快速定位分析每个业务节点的数据流和定位问题,结合时间戳并能快速的统计各系统接口性能和每秒查询率(QueriesPer Second,简称:QPS)等。
在上述实施例的基础上,业务数据可能是业务节点发出的,并且例如是初始请求,在其之前没有其他节点做过相关处理,那么在业务数据中不包含所述第一追踪标识。由于并不能确定是否能获取到第一追踪标识,在步骤S101(在从所述业务节点拦截的业务数据中,获取第一追踪标识)之前,还可以先判断所述业务节点拦截的业务数据中,是否包含所述第一追踪标识。
若业务节点拦截的业务数据中包含第一追踪标识,则执行步骤S101(在从所述业务节点拦截的业务数据中,获取第一追踪标识)。
若业务节点拦截的业务数据中不包含第一追踪标识,则生成指示所述业务节点的第三追踪标识,将所述第三追踪标识作为与所述业务数据相关的链路追踪信息中的根级追踪标识,将所述第三追踪标识写入所述业务数据,得到代理业务数据。可以理解地,如果业务节点拦截的业务数据中不包含第一追踪标识,表明业务数据当前没有链路追踪信息,业务数据也没有被其他节点处理过。那么,以当前业务节点的第三追踪标识为根级追踪标识,创建该业务数据的链路追踪信息。本步骤可以理解为业务数据对应的链路追踪信息的初始化场景。
上述实施例中提到业务数据可以是对业务节点发出的信息拦截得到的,也可以是对发给业务节点的信息拦截得到的,参见图3,是本发明实施例提供的一种业务节点的接收端的链路追踪方法应用示例,参见图4,是本发明实施例提供的一种业务节点的发送端的链路追踪方法应用示例。
图3所示方法包括步骤S201至步骤S208,具体如下:
S201,代理服务装置获取目标统一资源定位符URL。
S202,业务节点的请求入口接收到业务数据。
S203,代理服务装置根据目标URL从业务节点的接收端拦截得到业务数据,其中,业务数据包括目标URL。
例如,业务数据是包括目标URL的请求,或者是包括目标URL的响应。
S204,代理服务装置在从所述业务节点拦截的业务数据中,获取第一追踪标识。
S205,代理服务装置生成指示所述业务节点的第二追踪标识。
S206,代理服务装置将所述第二追踪标识作为所述第一追踪标识的子级。
S207,代理服务装置将所述第二追踪标识写入所述业务数据,得到代理业务数据。
S208,代理服务装置将所述代理业务数据传送给所述业务节点。
图3所示实施例的代理服务装置对应地可用于执行图2所示方法实施例中的步骤,其实现原理和技术效果类似,此处不再赘述。
图4所示方法包括步骤S301至步骤S308,具体如下:
S301,代理服务装置获取目标统一资源定位符URL。
S302,业务节点的请求入口接收到业务数据。
S303,代理服务装置根据目标URL从业务节点的发送端拦截得到业务数据,其中,业务数据包括目标URL。
例如,业务数据是包括目标URL的请求,或者是包括目标URL的响应。
S304,代理服务装置在从所述业务节点拦截的业务数据中,获取第一追踪标识。
S305,代理服务装置生成指示所述业务节点的第二追踪标识。
S306,代理服务装置将所述第二追踪标识作为所述第一追踪标识的子级。
S307,代理服务装置将所述第二追踪标识写入所述业务数据,得到代理业务数据。
S308,将所述代理业务数据传送给所述业务数据对应的接收节点。
图4所示实施例的代理服务装置对应地可用于执行图2所示方法实施例中的步骤,其实现原理和技术效果类似,此处不再赘述。
参见图5,是本发明实施例提供的一种链路追踪装置结构示意图。图5所示链路追踪装置50应用于分布式代理服务系统中的代理服务装置,所述分布式代理系统包括多个代理服务装置,且所述代理服务装置用于对业务系统中的业务节点进行代理。
图5所示链路追踪装置50包括:
拦截模块51,用于在从所述业务节点拦截的业务数据中,获取第一追踪标识;
生成模块52,用于生成指示所述业务节点的第二追踪标识;
处理模块53,用于将所述第二追踪标识作为所述第一追踪标识的子级;
写入模块54,用于将所述第二追踪标识写入所述业务数据,得到代理业务数据。
本实施例提供的一种链路追踪装置,应用于分布式代理服务系统中的代理服务装置,所述分布式代理系统包括多个代理服务装置,且所述代理服务装置用于对业务系统中的业务节点进行代理,所述方法通过在从所述业务节点拦截的业务数据中,获取第一追踪标识;生成指示所述业务节点的第二追踪标识;将所述第二追踪标识作为所述第一追踪标识的子级;将所述第二追踪标识写入所述业务数据,得到代理业务数据,从而以代理服务装置的方式拦截需要追踪的业务数据进行追踪标识标记,减少了对业务系统的配置,提高了各个业务节点的标记可靠性,进而提高了最终链路追踪的可靠性。
可选地,所述处理模块53还用于根据所述第一追踪标识和预存储的链路追踪信息,获取与所述业务数据相关的链路追踪信息。
可选地,所述业务数据中包含链路追踪信息,所述链路追踪信息顺序包括多个追踪标识。
相应地,所述处理模块53还用于在从所述业务节点拦截的业务数据中,获取链路追踪信息,其中,所述链路追踪信息指示了在所述业务节点之前,与所述业务数据相关的其他业务节点的顺序;在所述链路追踪信息中,将顺序最后一个追踪标识作为所述第一追踪标识。
可选地,拦截模块51,在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还用于判断所述业务节点拦截的业务数据中,是否包含所述第一追踪标识;若是,则执行所述在从所述业务节点拦截的业务数据中,获取第一追踪标识;若否,则生成指示所述业务节点的第三追踪标识,将所述第三追踪标识作为与所述业务数据相关的链路追踪信息中的根级追踪标识,将所述第三追踪标识写入所述业务数据,得到代理业务数据。
可选地,拦截模块51用于在从所述业务节点拦截的业务数据的头信息中,获取第一追踪标识。
相应地,写入模块54,用于将所述第二追踪标识写入所述业务数据的头信息,得到代理业务数据。
可选地,生成模块52,用于生成指示所述业务节点以及拦截时间戳的第二追踪标识,其中,所述拦截时间戳为拦截到所述业务数据的时刻。
可选地,拦截模块51在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还用于获取目标统一资源定位符URL;根据所述目标URL从所述业务节点的接收端拦截得到所述业务数据,其中,所述业务数据包括所述目标URL。
相应地,写入模块54,在所述得到代理业务数据之后,还用于将所述代理业务数据传送给所述业务节点。
可选地,拦截模块51在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还用于获取目标统一资源定位符URL;根据所述目标URL从所述业务节点的发送端拦截得到所述业务数据,其中,所述业务数据包括所述目标URL。
相应地,写入模块54,在所述得到代理业务数据之后,还用于将所述代理业务数据传送给所述业务数据对应的接收节点。
上述实施例的链路追踪装置对应地可用于执行图1至图4任一所示方法实施例中的步骤,其实现原理和技术效果类似,此处不再赘述。
本发明还提供一种系统,包括多个代理服务装置。所述代理服务装置用于执行图1至图4任一所示链路追踪方法实施例中的步骤。
参见图6,是本发明实施例提供的一种链路追踪设备的硬件结构示意图,该链路追踪设备60包括:处理器61、存储器62和计算机程序;其中
存储器62,用于存储所述计算机程序,该存储器还可以是闪存(flash)。所述计算机程序例如是实现上述方法的应用程序、功能模块等。
处理器61,用于执行所述存储器存储的计算机程序,以实现上述链路追踪方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器62既可以是独立的,也可以跟处理器61集成在一起。
当所述存储器62是独立于处理器61之外的器件时,所述设备还可以包括:
总线63,用于连接所述存储器62和处理器61。图6的设备还可以进一步包括发送器(图中未画出),用于向服务器发送处理器61生成的代理业务数据。
本发明还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现上述的各种实施方式提供的链路追踪方法。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的链路追踪方法。
在上述链路追踪设备的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种链路追踪方法,其特征在于,应用于分布式代理服务系统中的代理服务装置,所述分布式代理系统包括多个代理服务装置,且所述代理服务装置用于对业务系统中的业务节点进行代理,所述方法包括:
在从所述业务节点拦截的业务数据中,获取第一追踪标识;
生成指示所述业务节点的第二追踪标识;
将所述第二追踪标识作为所述第一追踪标识的子级;
将所述第二追踪标识写入所述业务数据,得到代理业务数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据所述第一追踪标识和预存储的链路追踪信息,获取与所述业务数据相关的链路追踪信息。
3.根据权利要求1所述的方法,其特征在于,所述业务数据中包含链路追踪信息,所述链路追踪信息顺序包括多个追踪标识;
所述在从所述业务节点拦截的业务数据中,获取第一追踪标识,包括:
在从所述业务节点拦截的业务数据中,获取链路追踪信息,其中,所述链路追踪信息指示了在所述业务节点之前,与所述业务数据相关的其他业务节点的顺序;
在所述链路追踪信息中,将顺序最后一个追踪标识作为所述第一追踪标识。
4.根据权利要求1至3任一所述的方法,其特征在于,所述在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还包括:
判断所述业务节点拦截的业务数据中,是否包含所述第一追踪标识;
若是,则执行所述在从所述业务节点拦截的业务数据中,获取第一追踪标识;
若否,则生成指示所述业务节点的第三追踪标识,将所述第三追踪标识作为与所述业务数据相关的链路追踪信息中的根级追踪标识,将所述第三追踪标识写入所述业务数据,得到代理业务数据。
5.根据权利要求1至3任一所述的方法,其特征在于,
所述在从所述业务节点拦截的业务数据中,获取第一追踪标识,包括:
在从所述业务节点拦截的业务数据的头信息中,获取第一追踪标识;
所述将所述第二追踪标识写入所述业务数据,得到代理业务数据,包括:
将所述第二追踪标识写入所述业务数据的头信息,得到代理业务数据。
6.根据权利要求1至3任一所述的方法,其特征在于,所述生成指示所述业务节点的第二追踪标识,包括:
生成指示所述业务节点以及拦截时间戳的第二追踪标识,其中,所述拦截时间戳为拦截到所述业务数据的时刻。
7.根据权利要求1至3任一所述的方法,其特征在于,所述在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还包括:
获取目标统一资源定位符URL;
根据所述目标URL从所述业务节点的接收端拦截得到所述业务数据,其中,所述业务数据包括所述目标URL;
所述得到代理业务数据之后,还包括:
将所述代理业务数据传送给所述业务节点。
8.根据权利要求1至3任一所述的方法,其特征在于,所述在从所述业务节点拦截的业务数据中,获取第一追踪标识之前,还包括:
获取目标统一资源定位符URL;
根据所述目标URL从所述业务节点的发送端拦截得到所述业务数据,其中,所述业务数据包括所述目标URL;
所述得到代理业务数据之后,还包括:
将所述代理业务数据传送给所述业务数据对应的接收节点。
9.一种链路追踪装置,其特征在于,应用于分布式代理服务系统中的代理服务装置,所述分布式代理系统包括多个代理服务装置,且所述代理服务装置用于对业务系统中的业务节点进行代理,所述装置包括:
拦截模块,用于在从所述业务节点拦截的业务数据中,获取第一追踪标识;
生成模块,用于生成指示所述业务节点的第二追踪标识;
处理模块,用于将所述第二追踪标识作为所述第一追踪标识的子级;
写入模块,用于将所述第二追踪标识写入所述业务数据,得到代理业务数据。
10.一种系统,其特征在于,包括多个代理服务装置;
所述代理服务装置用于执行权利要求1至8任一所述的链路追踪方法。
11.一种链路追踪设备,其特征在于,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行权利要求1至8任一所述的链路追踪方法。
12.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现权利要求1至8任一所述的链路追踪方法。
CN201910805790.3A 2019-08-29 2019-08-29 链路追踪方法、装置、系统、设备及可读存储介质 Active CN112448969B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910805790.3A CN112448969B (zh) 2019-08-29 2019-08-29 链路追踪方法、装置、系统、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910805790.3A CN112448969B (zh) 2019-08-29 2019-08-29 链路追踪方法、装置、系统、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112448969A true CN112448969A (zh) 2021-03-05
CN112448969B CN112448969B (zh) 2024-06-18

Family

ID=74742128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910805790.3A Active CN112448969B (zh) 2019-08-29 2019-08-29 链路追踪方法、装置、系统、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112448969B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094166A (zh) * 2021-05-10 2021-07-09 杭州网易云音乐科技有限公司 一种链路追踪方法、装置、介质和计算设备
CN113806225A (zh) * 2021-09-24 2021-12-17 上海淇玥信息技术有限公司 一种业务异常节点识别方法、装置和电子设备
CN114679487A (zh) * 2022-03-25 2022-06-28 度小满科技(北京)有限公司 链路处理方法、装置、存储介质、处理器
CN114817968A (zh) * 2022-06-29 2022-07-29 深圳红途科技有限公司 无特征数据的路径追溯方法、装置、设备及存储介质
CN115001952A (zh) * 2022-05-25 2022-09-02 中移互联网有限公司 一种业务接口的故障定位方法及装置
CN116708558A (zh) * 2022-09-30 2023-09-05 腾讯云计算(北京)有限责任公司 全链路追踪系统代理方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219316A (zh) * 2014-09-12 2014-12-17 微梦创科网络科技(中国)有限公司 一种分布式系统中的调用请求处理方法及装置
CN109873717A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219316A (zh) * 2014-09-12 2014-12-17 微梦创科网络科技(中国)有限公司 一种分布式系统中的调用请求处理方法及装置
CN109873717A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094166A (zh) * 2021-05-10 2021-07-09 杭州网易云音乐科技有限公司 一种链路追踪方法、装置、介质和计算设备
CN113094166B (zh) * 2021-05-10 2023-08-04 杭州网易云音乐科技有限公司 一种链路追踪方法、装置、介质和计算设备
CN113806225A (zh) * 2021-09-24 2021-12-17 上海淇玥信息技术有限公司 一种业务异常节点识别方法、装置和电子设备
CN113806225B (zh) * 2021-09-24 2024-06-07 上海淇玥信息技术有限公司 一种业务异常节点识别方法、装置和电子设备
CN114679487A (zh) * 2022-03-25 2022-06-28 度小满科技(北京)有限公司 链路处理方法、装置、存储介质、处理器
CN114679487B (zh) * 2022-03-25 2023-12-22 度小满科技(北京)有限公司 链路处理方法、装置、存储介质、处理器
CN115001952A (zh) * 2022-05-25 2022-09-02 中移互联网有限公司 一种业务接口的故障定位方法及装置
CN115001952B (zh) * 2022-05-25 2023-09-19 中移互联网有限公司 一种业务接口的故障定位方法及装置
CN114817968A (zh) * 2022-06-29 2022-07-29 深圳红途科技有限公司 无特征数据的路径追溯方法、装置、设备及存储介质
CN114817968B (zh) * 2022-06-29 2022-10-14 深圳红途科技有限公司 无特征数据的路径追溯方法、装置、设备及存储介质
CN116708558A (zh) * 2022-09-30 2023-09-05 腾讯云计算(北京)有限责任公司 全链路追踪系统代理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN112448969B (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
CN112448969B (zh) 链路追踪方法、装置、系统、设备及可读存储介质
EP1366419B1 (en) System for embedding correlated performance measurements
CN110059269B (zh) 页面追踪方法、装置、电子设备和计算机可读存储介质
CN108134816B (zh) 对远程设备上的数据的访问
WO2015021873A1 (en) Method, platform server, and system of data pushing
CN111885007B (zh) 信息溯源方法、装置、系统及存储介质
CN114221995B (zh) 服务调用方法、装置及电子设备
CN112286776A (zh) 一种微服务链路追踪的方法及系统
CN113676372B (zh) 通信性能的测试方法、装置和存储介质
CN110598135A (zh) 网络请求处理方法、装置、计算机可读介质及电子设备
US10775751B2 (en) Automatic generation of regular expression based on log line data
CN113449339A (zh) 日志收集方法、系统、计算机设备及计算机可读存储介质
CN117176802B (zh) 一种业务请求的全链路监控方法、装置、电子设备及介质
CN111427710B (zh) 应用程序中组件的通信方法、装置、设备及存储介质
CN113760562A (zh) 链路追踪方法、装置、系统、服务器和存储介质
CN108600255B (zh) Mock服务管理方法、装置、计算机设备以及存储介质
CN110022332B (zh) 一种超文本传输安全协议代理方法、装置、设备及介质
CN112948225B (zh) 一种链路监控方法、装置、监控设备及存储介质
CN115374207A (zh) 业务处理方法及装置、电子设备和计算机可读存储介质
CN113778709A (zh) 接口调用方法、装置、服务器及存储介质
CN113765972A (zh) 数据请求响应方法、装置、系统、服务器和存储介质
CN112000313A (zh) 请求响应方法、装置、设备及存储介质
US10671505B2 (en) System and method for monitoring service
CN117632445B (zh) 请求处理方法以及装置、任务执行方法以及装置
CN109005084B (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