CN106603270A - 分布式系统中调用链路的追踪方法及装置 - Google Patents
分布式系统中调用链路的追踪方法及装置 Download PDFInfo
- Publication number
- CN106603270A CN106603270A CN201610990310.1A CN201610990310A CN106603270A CN 106603270 A CN106603270 A CN 106603270A CN 201610990310 A CN201610990310 A CN 201610990310A CN 106603270 A CN106603270 A CN 106603270A
- Authority
- CN
- China
- Prior art keywords
- subsystem
- message
- link
- chain circuit
- processing server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009897 systematic effect Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种分布式系统中调用链路的追踪方法及装置,属于互联网技术领域。该方法包括:获取第一子系统的服务请求消息;根据第一子系统的服务请求消息,生成第二子系统的链路消息;从多个消息处理服务器中,确定第二子系统对应的目标消息处理服务器;将第二子系统的链路消息发送至目标消息处理服务器进行存储。本发明通过为每个子系统确定对应的消息处理器,并将每个子系统的链路消息发送到对应的消息处理服务器进行存储,从而无需在统一的消息处理服务器进行链路合并,避免了消息处理服务器处理压力过大,实现去中心化的高效调用链路追踪,提高了系统性能。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种分布式系统中调用链路的追踪方法及装置
背景技术
在互联网技术领域,分布式系统包括多个子系统,每个子系统具有不同的功能,多个子系统通过对用户的服务请求消息进行处理,可为用户提供服务。如果按照调用顺序将被调用的子系统组成一个调用链路,通过对调用链路进行追踪及分析,可查找出系统性能瓶颈,从而通过优化系统配置,提高系统的稳定性和可用性。
为了实现对分布式系统中调用链路进行追踪,现有技术通过拦截上级子系统的服务请求消息,获取该服务请求消息中的链路消息,该链路消息包括调用链路标识和链路序列标识,该链路序列标识用于表示每个子系统被调用的次序,按照次序修改链路消息中的链路序列标识,得到修改后的链路消息,将修改后的链路消息存储回拦截到的服务请求消息中,将更新后的服务请求消息发送至下级子系统,并将修改后的链路消息发送至系统中唯一的消息处理服务器,由该消息处理服务器对多个被调用的子系统发送的修改后的链路消息进行分析,得到多个分析结果,进而通过对多个分析结果进行合并,得到本次服务的调用链路。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在对分布式系统中调用链路的追踪过程中,每个被调用的子系统均将修改后的链路消息发送至消息处理服务器,这无形中增加了消息处理服务器的处理压力,从而降低了系统性能。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种分布式系统中调用链路的追踪方法及装置,技术方案如下:
一方面,提供了一种分布式系统中调用链路的追踪方法,所述分布式系统包括多个子系统,所述方法包括:
获取第一子系统的服务请求消息;
根据所述第一子系统的服务请求消息,生成第二子系统的链路消息,所述第二子系统的链路消息包括调用链路标识、第一子系统的链路消息标识及第二子系统的链路消息标识;
从多个消息处理服务器中,确定所述第二子系统对应的目标消息处理服务器;
将所述第二子系统的链路消息发送至所述目标消息处理服务器进行存储。
在本发明的另一个实施例中,所述根据所述第一子系统的服务请求消息,生成第二子系统的链路消息,包括:
从所述第一子系统的服务请求消息中,获取所述第一子系统的调用信息,所述第一子系统的调用信息包括所述调用链路标识、所述第一子系统的链路消息标识及所述第二系统的链路消息标识;
根据所述第一子系统的调用信息,生成所述第二子系统的链路消息。
在本发明的另一个实施例中,所述从所述第一子系统的服务请求消息中,获取所述第一子系统的调用信息之前,还包括:
当检测到所述第一子系统调用所述第二子系统的服务时,触发所述第一子系统为所述第二子系统生成所述第二子系统的链路消息标识;
将所述第二子系统的链路消息标识存储在所述第一子系统的调用信息中。
在本发明的另一个实施例中,所述从多个消息处理服务器中,确定所述第二子系统对应的目标消息处理服务器,包括:
计算每个消息服务器与所述第二子系统之间的距离;
根据计算结果,选取与所述第二子系统距离最近的消息处理服务器,作为所述目标消息处理服务器。
在本发明的另一个实施例中,所述方法还包括:
接收调用链路查询请求,所述调用链路查询请求包括所述调用链路标识;
根据所述调用链路标识,从各个被调用的子系统所对应的消息处理服务器中,获取所述调用链路标识对应的子调用链路;
将获取到的多个子调用链路进行合并,得到所述调用链路标识对应的调用链路。
另一方面,提供了一种分布式系统中调用链路的追踪装置,所述分布式系统包括多个子系统,所述装置包括:
第一获取模块,用于获取第一子系统的服务请求消息;
消息生成模块,用于根据所述第一子系统的服务请求消息,生成第二子系统的链路消息,所述第二子系统的链路消息包括调用链路标识、第一子系统的链路消息标识及第二子系统的链路消息标识;
确定模块,用于从多个消息处理服务器中,确定所述第二子系统对应的目标消息处理服务器;
发送模块,用于将所述第二子系统的链路消息发送至所述目标消息处理服务器进行存储。
在本发明的另一个实施例中,所述消息生成模块,用于从所述第一子系统的服务请求消息中,获取所述第一子系统的调用信息,所述第一子系统的调用信息包括所述调用链路标识、所述第一子系统的链路消息标识及所述第二系统的链路消息标识;根据所述第一子系统的调用信息,生成所述第二子系统的链路消息。
在本发明的另一个实施例中,所述装置还包括:
触发模块,用于当检测到所述第一子系统调用所述第二子系统的服务时,触发所述第一子系统为所述第二子系统生成所述第二子系统的链路消息标识;
存储模块,用于将所述第二子系统的链路消息标识存储在所述第一子系统的调用信息中。
在本发明的另一个实施例中,所述确定模块,用于计算每个消息服务器与所述第二子系统之间的距离;根据计算结果,选取与所述第二子系统距离最近的消息处理服务器,作为所述目标消息处理服务器。
在本发明的另一个实施例中,所述装置还包括:
接收模块,用于接收调用链路查询请求,所述调用链路查询请求包括所述调用链路标识;
第二获取模块,用于根据所述调用链路标识,从各个被调用的子系统所对应的消息处理服务器中,获取所述调用链路标识对应的子调用链路;
合并模块,用于将获取到的多个子调用链路进行合并,得到所述调用链路标识对应的调用链路。
本发明实施例提供的技术方案带来的有益效果是:
通过为每个子系统确定对应的消息处理器,并将每个子系统的链路消息发送到对应的消息处理服务器进行存储,从而无需在统一的消息处理服务器进行链路合并,避免了消息处理服务器处理压力过大,实现去中心化的高效调用链路追踪,提高了系统性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种分布式系统的结构示意图;
图2是本发明另一个实施例提供的一种分布式系统中调用链路的追踪方法的流程图;
图3是本发明另一个实施例提供的一种分布式系统中调用链路的追踪方法的流程图;
图4是本发明另一个实施例提供的某一时刻多个子系统交互的消息上报与传递的流程图;
图5是本发明另一个实施例提供的一种分布式系统中调用链路的追踪装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1示出了一种分布式系统,该分布式系统用于执行本发明实施例提供的分布式系统中调用链路的追踪方法,参见图1,该分布式系统包括:终端101、多个子系统102(如子系统A、子系统B、子系统C及子系统D等)及多个消息处理服务器103(如消息处理服务器a、消息处理服务器b、消息处理服务器c及消息处理服务器d)。
其中,终端101可以为智能手机、平板电脑、笔记本电脑等,本实施例不对终端101的具体产品形态作具体的限定。为了满足用户的使用需求,终端101中安装多种应用,包括购物应用、导航应用、社交应用等。
每个子系统102具有不同的功能,协同为用户提供服务。多个子系统102根据调用次序,可形成父子调用关系,图1中子系统A可调用子系统B、子系统C及子系统D,根据调用次序,子系统A与子系统B可形成父子调用关系,子系统A与子系统C可形成父子调用关系,子系统A与子系统D可形成父子调用关系。
每个消息处理服务器103均具有数据存储能力,可存储相应子系统的链路消息。参见图1,消息处理服务器a与子系统A对应,可存储子系统A的链路消息;消息处理服务器b与子系统B对应,可存储子系统B的链路消息;消息处理服务器c与子系统C对应,可存储子系统C的链路消息;消息处理服务器d与子系统D对应,可存储子系统D的链路消息。
本发明实施例提供了一种分布式系统中调用链路的追踪方法,该分布式系统包括多个子系统,参见图2,本发明实施例提供的方法流程包括:
201、获取第一子系统的服务请求消息。
202、根据第一子系统的服务请求消息,生成第二子系统的链路消息,该第二子系统的链路消息包括调用链路标识、第一子系统的链路消息标识及第二子系统的链路消息标识。
203、从多个消息处理服务器中,确定第二子系统对应的目标消息处理服务器。
204、将第二子系统的链路消息发送至目标消息处理服务器进行存储。
本发明实施例提供的方法,通过为每个子系统确定对应的消息处理器,并将每个子系统的链路消息发送到对应的消息处理服务器进行存储,从而无需在统一的消息处理服务器进行链路合并,避免了消息处理服务器处理压力过大,实现去中心化的高效调用链路追踪,提高了系统性能。
在本发明的另一个实施例中,根据第一子系统的服务请求消息,生成第二子系统的链路消息,包括:
从第一子系统的服务请求消息中,获取第一子系统的调用信息,第一子系统的调用信息包括调用链路标识、第一子系统的链路消息标识及第二系统的链路消息标识;
根据第一子系统的调用信息,生成第二子系统的链路消息。
在本发明的另一个实施例中,从第一子系统的服务请求消息中,获取第一子系统的调用信息之前,还包括:
当检测到第一子系统调用第二子系统的服务时,触发第一子系统为第二子系统生成第二子系统的链路消息标识;
将第二子系统的链路消息标识存储在第一子系统的调用信息中。
在本发明的另一个实施例中,从多个消息处理服务器中,确定第二子系统对应的目标消息处理服务器,包括:
计算每个消息服务器与第二子系统之间的距离;
根据计算结果,选取与第二子系统距离最近的消息处理服务器,作为目标消息处理服务器。
在本发明的另一个实施例中,该方法还包括:
接收调用链路查询请求,调用链路查询请求包括调用链路标识;
根据调用链路标识,从各个被调用的子系统所对应的消息处理服务器中,获取调用链路标识对应的子调用链路;
将获取到的多个子调用链路进行合并,得到调用链路标识对应的调用链路。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
基于图1所示的实施环境,本发明实施例提供了一种分布式系统中调用链路的追踪方法,该分布式系统包括多个子系统,以分布式系统执行本发明为例,参见图3,本发明实施例提供的方法流程包括:
301、当检测到第一子系统调用第二子系统的服务时,触发第一子系统为第二子系统生成第二子系统的链路消息标识。
在本实施例中,终端中安装有多个应用程序,包括购物应用、社交应用等,在任一应用运行过程中,用户可根据使用需求,通过终端向该应用对应的分布式系统发送服务请求消息,以获取所需服务。为了便于后续对本次服务的调用链路进行追踪,处于分布式系统中最上层的子系统接收到用户的服务请求消息时,该最上层的子系统为该服务请求消息生成一个调用链路标识,并生成最上层子系统的链路消息,该链路消息包括最上层子系统的链路消息标识、根消息标识、父消息标识等。实际上对于最上层的子系统,其链路消息标识、根消息标识、父消息标识相同。之后,计算最上层子系统与分布式系统中各个消息处理服务器之间的距离,并根据计算结果,选取与该最上层子系统距离最近的消息处理服务器,进而将最上层子系统的链路消息发送至该被选的消息处理服务器进行存储。当检测到最上层子系统基于RPC(Remote Procedure Call Protocol,远程过程调用协议)调用其他子系统的服务时,将触发最上层子系统为该其他子系统生成其他子系统的链路消息标识,并根据最上层子系统的链路消息标识、调用链路标识、其他子系统的链路消息标识等生成最上层子系统的调用信息,进而将该最上层子系统的调用信息存储在服务请求消息中,得到更新后的服务请求消息,进而将该更新后的服务请求消息发送至其他子系统,该最上层子系统的调用信息可用于其他子系统生成链路消息。
上述内容叙述了分布式系统中最上层子系统与其他子系统的交互时调用链路的追踪过程,对于分布式系统中任意两个子系统间的调用链路的追踪过程,本实施例以第一子系统和第二子系统为例进行说明。其中,第一子系统和第二子系统为分布式系统中的两个子系统,且第一子系统为第二子系统的上层系统,第二子系统为第一子系统的下层系统,在为用户提供服务的过程中,第一子系统需要调用第二子系统的服务。当检测到第一子系统基于RPC调用第二子系统的服务时,可触发第一子系统为第二子系统生成第二子系统的链路消息标识。
302、至少根据第一子系统的链路消息标识、第二子系统的链路消息标识,生成第一子系统的调用信息。
基于第二子系统的链路消息标识,本实施例可根据根消息标识、第一子系统的链路消息标识、调用链路标识等,生成第一子系统的调用信息,该第一子系统的调用信息中指示了第一子系统的链路消息标识与第二子系统的链路消息标识之间的父子调用关系,从而可在后续进行调用链路查询时,能够根据该父子调用关系依次进行查询。
303、获取第一子系统的服务请求消息,该服务请求消息包括第一子系统的调用信息。
基于所生成的第一子系统的调用信息,可通过将第一子系统的调用信息存储在第一子系统上层子系统发送的服务请求消息中,可得到第一子系统的服务请求消息,从而通过将该第一子系统的服务请求消息发送至第二子系统,以调用第二子系统提供服务。进一步地,当检测到第二子系统接收到第一子系统的服务请求消息时,可从第二子系统中获取第一子系统的服务请求消息。
304、根据第一子系统的服务请求消息,生成第二子系统的链路消息。
基于所获取到的第一子系统的服务请求消息,可从该第一子系统的服务请求消息中,获取该第一子系统的调用信息,进而根据第一子系统的调用信息,生成第二子系统的链路消息,该第二子系统的链路消息包括调用链路标识、第一子系统的链路消息标识、第二子系统的链路消息标识、根消息标识等。
305、从多个消息处理服务器中,确定第二子系统对应的目标消息处理服务器。
为了有降低消息处理服务器的处理压力,同时有针对地对不同子系统的链路消息进行处理,当生成第二子系统的链路消息后,可计算每个消息处理服务器与第二子系统之间的距离,进而根据计算结果,选取与第二子系统距离最近的消息处理服务器,并将该与第二子系统距离最近的消息处理服务器作为目标消息处理服务器。
306、将第二子系统的链路消息发送至目标消息处理服务器进行存储。
当确定出目标消息处理服务器后,可将第二子系统的链路消息异步发送至目标消息处理服务器进行存储,从而在对本地服务的调用链路进行追踪时,能够根据目标消息处理服务器中所存储的第二子系统的链路消息,获取到完整的调用链路。
至此,通过上述步骤301至306实现了对第一子系统和第二子系统间调用链路的追踪,对分布式系统中其他子系统间的调用链路进行追踪时,可采用上述步骤301至306的方式,本实施例不再赘述。
为了提高分布式系统的性能,在本次服务结束后,用户可通过终端向本次提供服务的分布式系统发送链路查询请求,该链路查询请求包括调用链路标识,根据该调用链路标识,从分布式系统最上层子系统开始,可从各个被调用的子系统对应的消息处理服务器中,获取该调用链路标识对应的子调用链路,并根据上下层子系统间的父子调用关系,将从获取的多个子调用链路进行合并,得到调用链路标识对应的调用链路,进而将得到的调用链路发送至终端,由终端进行显示。
对于上述过程,为了便于理解,下面以图4为例进行说明。
参见图4,分布式系统中包括4个子系统,分别为子系统A、子系统B、子系统C及子系统D,当子系统A接收到用户的服务请求消息时,生成子系统A的链路消息,该子系统A的链路消息包括根消息标识A-0a01515c-404886-01、父消息标识A-0a01515c-404886-01及子系统A的链路消息标识A-0a01515c-404886-01,进而将该子系统A的链路消息异步发送至距离最近的消息处理服务器。之后,子系统A调用子系统B,并为子系统B生成子系统B的链路消息标识,该标识为A-0a01515c-404886-02,然后将包含该子系统B的链路消息标识、子系统A的链路消息标识、根消息标识等的调用信息存储在服务请求消息中发送至子系统B,子系统B接收到该调用信息之后,根据该调用信息,生成子系统B的链路消息,该子系统B的链路消息包括根消息标识A-0a01515c-404886-01、父消息标识A-0a01515c-404886-01及子系统B的链路消息标识A-0a01515c-404886-02,进而将子系统B的链路消息异步发送至距离最近的消息处理服务器,在对子系统B的调用过程中,子系统A还将调用子系统C,并为子系统C生成链路消息标识,该标识为A-0a01515c-404886-03,然后将包含该子系统C的链路消息标识、子系统A的链路消息标识、根消息标识等的调用信息存储在服务请求消息中发送至子系统C,子系统C接收到该调用信息之后,根据该调用信息,生成子系统C的链路消息,该子系统C的链路消息包括根消息标识A-0a01515c-404886-01、父消息标识A-0a01515c-404886-01及子系统C的链路消息标识A-0a01515c-404886-03,进而将子系统C的链路消息异步发送至距离最近的消息处理服务器,子系统A的服务调用结束后,子系统B还将调用子系统D,在对子系统D的调用过程中,还将为子系统D生成链路消息标识,该标识为B-0a01515c-404886-01,然后将包含该子系统D的链路消息标识、子系统B的链路消息标识、根消息标识等的调用信息存储在服务请求消息中发送至子系统D,子系统D接收到该调用信息之后,根据该调用信息,生成子系统D的链路消息,该子系统D的链路消息包括根消息标识A-0a01515c-404886-01、父消息标识A-0a01515c-404886-02及子系统D的链路消息标识B-0a01515c-404886-01,进而将子系统D的链路消息异步发送至距离最近的消息处理服务器。
本发明实施例提供的方法,通过为每个子系统确定对应的消息处理器,并将每个子系统的链路消息发送到对应的消息处理服务器进行存储,从而无需在统一的消息处理服务器进行链路合并,避免了消息处理服务器处理压力过大,实现去中心化的高效调用链路追踪,提高了系统性能。
参见图5,本发明实施例提供了一种分布式系统中调用链路的追踪装置,该分布式系统包括多个子系统,该装置包括:
第一获取模块501,用于获取第一子系统的服务请求消息;
消息生成模块502,用于根据第一子系统的服务请求消息,生成第二子系统的链路消息,该第二子系统的链路消息包括调用链路标识、第一子系统的链路消息标识及第二子系统的链路消息标识;
确定模块503,用于从多个消息处理服务器中,确定第二子系统对应的目标消息处理服务器;
发送模块504,用于将第二子系统的链路消息发送至目标消息处理服务器进行存储。
在本发明的另一个实施例中,消息生成模块502,用于从第一子系统的服务请求消息中,获取第一子系统的调用信息,该第一子系统的调用信息包括调用链路标识、第一子系统的链路消息标识及第二系统的链路消息标识;根据第一子系统的调用信息,生成第二子系统的链路消息。
在本发明的另一个实施例中,该装置还包括:
触发模块,用于当检测到第一子系统调用第二子系统的服务时,触发第一子系统为第二子系统生成第二子系统的链路消息标识;
存储模块,用于将第二子系统的链路消息标识存储在第一子系统的调用信息中。
在本发明的另一个实施例中,确定模块503,用于计算每个消息服务器与第二子系统之间的距离;根据计算结果,选取与第二子系统距离最近的消息处理服务器,作为目标消息处理服务器。
在本发明的另一个实施例中,该装置还包括:
接收模块,用于接收调用链路查询请求,该调用链路查询请求包括调用链路标识;
第二获取模块,用于根据调用链路标识,从各个被调用的子系统所对应的消息处理服务器中,获取调用链路标识对应的子调用链路;
合并模块,用于将获取到的多个子调用链路进行合并,得到调用链路标识对应的调用链路。
综上所述,本发明实施例提供的装置,通过为每个子系统确定对应的消息处理器,并将每个子系统的链路消息发送到对应的消息处理服务器进行存储,从而无需在统一的消息处理服务器进行链路合并,避免了消息处理服务器处理压力过大,实现去中心化的高效调用链路追踪,提高了系统性能。
需要说明的是:上述实施例提供的分布式系统中调用链路的追踪装置在追踪分布式系统中的调用链路时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将分布式系统中调用链路的追踪装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的分布式系统中调用链路的追踪装置与分布式系统中调用链路的追踪方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种分布式系统中调用链路的追踪方法,其特征在于,所述分布式系统包括多个子系统,所述方法包括:
获取第一子系统的服务请求消息;
根据所述第一子系统的服务请求消息,生成第二子系统的链路消息,所述第二子系统的链路消息包括调用链路标识、第一子系统的链路消息标识及第二子系统的链路消息标识;
从多个消息处理服务器中,确定所述第二子系统对应的目标消息处理服务器;
将所述第二子系统的链路消息发送至所述目标消息处理服务器进行存储。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一子系统的服务请求消息,生成第二子系统的链路消息,包括:
从所述第一子系统的服务请求消息中,获取所述第一子系统的调用信息,所述第一子系统的调用信息包括所述调用链路标识、所述第一子系统的链路消息标识及所述第二系统的链路消息标识;
根据所述第一子系统的调用信息,生成所述第二子系统的链路消息。
3.根据权利要求2所述的方法,其特征在于,所述从所述第一子系统的服务请求消息中,获取所述第一子系统的调用信息之前,还包括:
当检测到所述第一子系统调用所述第二子系统的服务时,触发所述第一子系统为所述第二子系统生成所述第二子系统的链路消息标识;
将所述第二子系统的链路消息标识存储在所述第一子系统的调用信息中。
4.根据权利要求1所述的方法,其特征在于,所述从多个消息处理服务器中,确定所述第二子系统对应的目标消息处理服务器,包括:
计算每个消息服务器与所述第二子系统之间的距离;
根据计算结果,选取与所述第二子系统距离最近的消息处理服务器,作为所述目标消息处理服务器。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收调用链路查询请求,所述调用链路查询请求包括所述调用链路标识;
根据所述调用链路标识,从各个被调用的子系统所对应的消息处理服务器中,获取所述调用链路标识对应的子调用链路;
将获取到的多个子调用链路进行合并,得到所述调用链路标识对应的调用链路。
6.一种分布式系统中调用链路的追踪装置,其特征在于,所述分布式系统包括多个子系统,所述装置包括:
第一获取模块,用于获取第一子系统的服务请求消息;
消息生成模块,用于根据所述第一子系统的服务请求消息,生成第二子系统的链路消息,所述第二子系统的链路消息包括调用链路标识、第一子系统的链路消息标识及第二子系统的链路消息标识;
确定模块,用于从多个消息处理服务器中,确定所述第二子系统对应的目标消息处理服务器;
发送模块,用于将所述第二子系统的链路消息发送至所述目标消息处理服务器进行存储。
7.根据权利要求6所述的装置,其特征在于,所述消息生成模块,用于从所述第一子系统的服务请求消息中,获取所述第一子系统的调用信息,所述第一子系统的调用信息包括所述调用链路标识、所述第一子系统的链路消息标识及所述第二系统的链路消息标识;根据所述第一子系统的调用信息,生成所述第二子系统的链路消息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
触发模块,用于当检测到所述第一子系统调用所述第二子系统的服务时,触发所述第一子系统为所述第二子系统生成所述第二子系统的链路消息标识;
存储模块,用于将所述第二子系统的链路消息标识存储在所述第一子系统的调用信息中。
9.根据权利要求6所述的装置,其特征在于,所述确定模块,用于计算每个消息服务器与所述第二子系统之间的距离;根据计算结果,选取与所述第二子系统距离最近的消息处理服务器,作为所述目标消息处理服务器。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收调用链路查询请求,所述调用链路查询请求包括所述调用链路标识;
第二获取模块,用于根据所述调用链路标识,从各个被调用的子系统所对应的消息处理服务器中,获取所述调用链路标识对应的子调用链路;
合并模块,用于将获取到的多个子调用链路进行合并,得到所述调用链路标识对应的调用链路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610990310.1A CN106603270A (zh) | 2016-11-10 | 2016-11-10 | 分布式系统中调用链路的追踪方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610990310.1A CN106603270A (zh) | 2016-11-10 | 2016-11-10 | 分布式系统中调用链路的追踪方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN106603270A true CN106603270A (zh) | 2017-04-26 |
Family
ID=58590824
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201610990310.1A Pending CN106603270A (zh) | 2016-11-10 | 2016-11-10 | 分布式系统中调用链路的追踪方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106603270A (zh) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107404420A (zh) * | 2017-09-11 | 2017-11-28 | 北京奇艺世纪科技有限公司 | 一种调用链路性能监控方法及装置 |
| CN108183927A (zh) * | 2017-11-22 | 2018-06-19 | 链家网(北京)科技有限公司 | 一种分布式系统中链路调用的监控方法及系统 |
| CN109726016A (zh) * | 2017-10-30 | 2019-05-07 | 阿里巴巴集团控股有限公司 | 一种用于分布式系统的链路追踪方法、装置和系统 |
| CN109923847A (zh) * | 2018-08-29 | 2019-06-21 | 华为技术有限公司 | 调用链路的发现方法、装置、设备及存储介质 |
| CN110262889A (zh) * | 2019-06-27 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种链路追踪方法及装置 |
| CN110737465A (zh) * | 2018-07-20 | 2020-01-31 | 武汉斗鱼网络科技有限公司 | 一种函数调用路径获取的方法和相关装置 |
| CN114003472A (zh) * | 2022-01-04 | 2022-02-01 | 连连(杭州)信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
| CN114302249A (zh) * | 2020-09-22 | 2022-04-08 | 华为云计算技术有限公司 | 一种传输链信息生成方法及装置 |
| CN115344640A (zh) * | 2022-08-03 | 2022-11-15 | 平安银行股份有限公司 | 分布式系统的链路优化方法、计算机设备及存储介质 |
| CN119415364A (zh) * | 2025-01-03 | 2025-02-11 | 阿里云飞天(杭州)云计算技术有限公司 | 请求链路监测方法及分布式系统 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103414638A (zh) * | 2013-07-26 | 2013-11-27 | 华为技术有限公司 | 消息处理服务器及分布式消息处理方法和系统 |
| CN104219316A (zh) * | 2014-09-12 | 2014-12-17 | 微梦创科网络科技(中国)有限公司 | 一种分布式系统中的调用请求处理方法及装置 |
| CN104601696A (zh) * | 2015-01-13 | 2015-05-06 | 北京京东尚科信息技术有限公司 | 服务处理方法、服务调用框架、装置和架构 |
| CN104811459A (zh) * | 2014-01-23 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 用于消息服务的处理方法、装置及系统、消息服务系统 |
| CN105808328A (zh) * | 2014-12-31 | 2016-07-27 | 杭州华为数字技术有限公司 | 任务调度的方法、装置和系统 |
-
2016
- 2016-11-10 CN CN201610990310.1A patent/CN106603270A/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103414638A (zh) * | 2013-07-26 | 2013-11-27 | 华为技术有限公司 | 消息处理服务器及分布式消息处理方法和系统 |
| CN104811459A (zh) * | 2014-01-23 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 用于消息服务的处理方法、装置及系统、消息服务系统 |
| CN104219316A (zh) * | 2014-09-12 | 2014-12-17 | 微梦创科网络科技(中国)有限公司 | 一种分布式系统中的调用请求处理方法及装置 |
| CN105808328A (zh) * | 2014-12-31 | 2016-07-27 | 杭州华为数字技术有限公司 | 任务调度的方法、装置和系统 |
| CN104601696A (zh) * | 2015-01-13 | 2015-05-06 | 北京京东尚科信息技术有限公司 | 服务处理方法、服务调用框架、装置和架构 |
Cited By (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107404420B (zh) * | 2017-09-11 | 2021-10-15 | 北京奇艺世纪科技有限公司 | 一种调用链路性能监控方法及装置 |
| CN107404420A (zh) * | 2017-09-11 | 2017-11-28 | 北京奇艺世纪科技有限公司 | 一种调用链路性能监控方法及装置 |
| CN109726016A (zh) * | 2017-10-30 | 2019-05-07 | 阿里巴巴集团控股有限公司 | 一种用于分布式系统的链路追踪方法、装置和系统 |
| CN108183927A (zh) * | 2017-11-22 | 2018-06-19 | 链家网(北京)科技有限公司 | 一种分布式系统中链路调用的监控方法及系统 |
| CN110737465A (zh) * | 2018-07-20 | 2020-01-31 | 武汉斗鱼网络科技有限公司 | 一种函数调用路径获取的方法和相关装置 |
| CN110737465B (zh) * | 2018-07-20 | 2023-09-22 | 深圳市大梦龙途网络科技有限公司 | 一种函数调用路径获取的方法和相关装置 |
| CN109923847A (zh) * | 2018-08-29 | 2019-06-21 | 华为技术有限公司 | 调用链路的发现方法、装置、设备及存储介质 |
| WO2020042029A1 (zh) * | 2018-08-29 | 2020-03-05 | 华为技术有限公司 | 调用链路的发现方法、装置、设备及存储介质 |
| CN109923847B (zh) * | 2018-08-29 | 2021-01-15 | 华为技术有限公司 | 调用链路的发现方法、装置、设备及存储介质 |
| CN110262889A (zh) * | 2019-06-27 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种链路追踪方法及装置 |
| WO2020259003A1 (zh) * | 2019-06-27 | 2020-12-30 | 深圳前海微众银行股份有限公司 | 一种链路追踪方法及装置 |
| CN110262889B (zh) * | 2019-06-27 | 2024-10-29 | 深圳前海微众银行股份有限公司 | 一种链路追踪方法及装置 |
| CN114302249A (zh) * | 2020-09-22 | 2022-04-08 | 华为云计算技术有限公司 | 一种传输链信息生成方法及装置 |
| CN114003472A (zh) * | 2022-01-04 | 2022-02-01 | 连连(杭州)信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
| CN114003472B (zh) * | 2022-01-04 | 2022-04-12 | 连连(杭州)信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
| CN115344640A (zh) * | 2022-08-03 | 2022-11-15 | 平安银行股份有限公司 | 分布式系统的链路优化方法、计算机设备及存储介质 |
| CN119415364A (zh) * | 2025-01-03 | 2025-02-11 | 阿里云飞天(杭州)云计算技术有限公司 | 请求链路监测方法及分布式系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106603270A (zh) | 分布式系统中调用链路的追踪方法及装置 | |
| CN110276182B (zh) | Api分布式限流的实现方法 | |
| CN110958218A (zh) | 基于多网通信的数据传输方法及相关设备 | |
| CN109491758A (zh) | docker镜像分发方法、系统、数据网关及计算机可读存储介质 | |
| CN106911780A (zh) | 业务id生成方法、装置及系统 | |
| CN109257294A (zh) | 基于redis的服务动态降级方法、装置、服务器及存储介质 | |
| WO2020259003A1 (zh) | 一种链路追踪方法及装置 | |
| CN110489313A (zh) | 基于区块链的操作日志记录方法、装置及存储介质 | |
| CN110489139B (zh) | 一种基于微服务的实时数据处理方法及其相关设备 | |
| CN110493308B (zh) | 分布式一致性系统会话方法、装置及存储介质、服务器 | |
| CN102769709B (zh) | 一种用于向用户提供服务联系信息的方法与装置 | |
| EP4037347B1 (en) | Communication methods and apparatuses for vehicle, and electronic device | |
| CN107515933A (zh) | 修改源数据库表结构的方法、服务器、系统及存储介质 | |
| CN105095313A (zh) | 一种数据访问方法和设备 | |
| CN101232691B (zh) | 信令跟踪方法及装置 | |
| US20190370293A1 (en) | Method and apparatus for processing information | |
| CN111447069A (zh) | 一种基于区块链的低频访问数据处理方法 | |
| CN103095784B (zh) | 一种云端用户映射系统和方法 | |
| CN110297995A (zh) | 用于收藏信息的方法和装置 | |
| CN113900907B (zh) | 一种映射构建方法和系统 | |
| CN117591025A (zh) | 多源异构数据处理系统 | |
| CN106686141A (zh) | 资源下载方法及装置 | |
| CN116009983A (zh) | 基于请求路径的预加载方法、装置和电子设备 | |
| CN110798358A (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
| CN109389271B (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 | ||
| CB02 | Change of applicant information | ||
| CB02 | Change of applicant information |
Address after: 510660 Guangzhou City, Guangzhou, Guangdong, Whampoa Avenue, No. 315, self - made 1-17 Applicant after: Guangzhou KuGou Networks Co., Ltd. Address before: 510000 B1, building, No. 16, rhyme Road, Guangzhou, Guangdong, China 13F Applicant before: Guangzhou KuGou Networks Co., Ltd. |
|
| RJ01 | Rejection of invention patent application after publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |