CN102724195B - 访问请求跟踪方法和相关装置 - Google Patents

访问请求跟踪方法和相关装置 Download PDF

Info

Publication number
CN102724195B
CN102724195B CN201210205300.4A CN201210205300A CN102724195B CN 102724195 B CN102724195 B CN 102724195B CN 201210205300 A CN201210205300 A CN 201210205300A CN 102724195 B CN102724195 B CN 102724195B
Authority
CN
China
Prior art keywords
mark
access request
service
jumping
timestamp
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.)
Active
Application number
CN201210205300.4A
Other languages
English (en)
Other versions
CN102724195A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210205300.4A priority Critical patent/CN102724195B/zh
Publication of CN102724195A publication Critical patent/CN102724195A/zh
Application granted granted Critical
Publication of CN102724195B publication Critical patent/CN102724195B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例公开了访问请求跟踪方法和相关装置,其中,一种访问请求跟踪方法,包括:若第一服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了跳跃标识的访问请求写入第一服务的请求总线队列;保存第一跟踪信息,第一跟踪信息包括:跟踪标识、跳跃标识、时间戳、接收添加了跳跃标识的访问请求的接收端的标识信息、发送添加了跳跃标识的访问请求的发送端的标识信息,时间戳包括:添加了跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或添加了跳跃标识的访问请求出队第一服务的总线请求队列的时间戳。本发明实施例的方案有利于有效的跟踪访问请求的处理路径,为找到系统瓶颈奠定基础。

Description

访问请求跟踪方法和相关装置
技术领域
本发明涉及计算机技术领域,具体涉及访问请求跟踪方法和相关装置。
背景技术
在很多服务场景下,会对用户操作进行跟踪。目前主要利用操作日志、系统日志、安全日志以及trace系统等跟踪用户操作。其中,日志系统记录用户在什么时候做了什么操作,对于操作的上下文并不关心,比如用户从发起操作经过哪些系统边界哪些节点的流程并不关心;trace系统是函数级的跟踪,记录数据太多,包含不同进程、不同线程等,更多的是跟踪系统的异常状态,并不针对用户请求会话。
随着互联网、物联网的发展服务,人们越来越多的通过网络完成工作(例如网上银行、公司一卡通等等)。软件已融入到人们生活的各个角落。网络服务实时性的要求能和传统的桌面服务一样,才能提升用户体验吸引用户。但是软件从传统简单的桌面服务到分布式服务,再到现在的云计算,软件系统被部署在不同的计算节点中;另外为了满足各节点的协作关系,计算节点上的功能模块越来越多,模块间通过不同的总线进行交互。目前,在分层系统、分布式系统等系统中,有时存在系统无法快速响应的问题,因此,如何相对有效的发现系统瓶颈,是一个值得深入研究的问题。
发明内容
本发明实施例提供访问请求跟踪方法和相关装置,以期能够有效的跟踪访问请求的处理路径,进而为找到系统瓶颈奠定基础。
本发明实施例一方面提供一种访问请求跟踪方法,可包括:
若第一服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了所述跳跃标识的访问请求写入第一服务的请求总线队列;
保存第一跟踪信息,
其中,所述第一跟踪信息包括:
所述跟踪标识、所述跳跃标识、时间戳、接收添加了所述跳跃标识的访问请求的接收端的标识信息、发送添加了所述跳跃标识的访问请求的发送端的标识信息,所述时间戳包括:所述添加了跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或,所述添加了跳跃标识的访问请求出队第一服务的总线请求队列的时间戳。
本发明实施例另一方面提供一种访问请求跟踪方法,包括:
若基于跟踪策略确定需跟踪第一服务接收的访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将添加了所述跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;
保存第四跟踪信息,
其中,所述第四跟踪信息包括:
所述跟踪标识、所述跳跃标识、时间戳、接收添加了所述跳跃标识的访问请求的接收端的标识信息、发送添加了所述跳跃标识的访问请求的发送端的标识信息,所述时间戳包括:所述添加了跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或,所述添加了跳跃标识的访问请求出队第一服务的请求总线队列的时间戳。
本发明实施例另一方面提供一种访问请求跟踪装置,包括:
第一标识添加单元,用于若第一服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了所述跳跃标识的访问请求写入第一服务的请求总线队列;
保存单元,用于保存第一跟踪信息,
其中,所述第一跟踪信息包括:
所述跟踪标识、所述跳跃标识、时间戳、接收添加了所述跳跃标识的访问请求的接收端的标识信息、发送添加了所述跳跃标识的访问请求的发送端的标识信息,所述时间戳包括:所述添加了跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或,所述添加了跳跃标识的访问请求出队第一服务的总线请求队列的时间戳。
本发明实施例另一方面提供一种访问请求跟踪装置,包括:
第三标识添加单元,用于若基于跟踪策略确定需跟踪第一服务接收的访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将添加了所述跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;
保存单元,用于保存第四跟踪信息,
其中,所述第四跟踪信息包括:
所述跟踪标识、所述跳跃标识、时间戳、接收添加了所述跳跃标识的访问请求的接收端的标识信息、发送添加了所述跳跃标识的访问请求的发送端的标识信息,所述时间戳包括:所述添加了跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或,所述添加了跳跃标识的访问请求出队第一服务的请求总线队列的时间戳。
本发明实施例另一方面提供一种服务节点,所述服务节点上部署有包括第一服务在内的多个服务,所述服务节点上还部署有如上述实施例所述的访问请求跟踪装置。
本发明实施例另一方面还提供一种计算机存储介质,
所述计算机存储介质存储有程序,所述程序执行时包括如上述访问请求跟踪方法的部分或全部步骤。
由上可见,本发明实施例若分布式服务系统中的第一服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了该跳跃标识的访问请求写入第一服务的请求总线队列;保存第一跟踪信息;其中,该第一跟踪信息可包括:该跟踪标识、该跳跃标识、时间戳、接收添加了该跳跃标识的访问请求的接收端的标识信息、发送添加了该跳跃标识的访问请求的发送端的标识信息,该时间戳可包括:该添加了跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或该添加了跳跃标识的访问请求出队第一服务的总线请求队列的时间戳,由于保存的跟踪信息包括跟踪标识、跳跃标识、时间戳、访问请求发送端标识、访问请求接收端标识等等与访问请求的处理路径相关联的信息,因此,基于保存的这些跟踪信息,有助于实现有效的跟踪该访问请求在分布式服务系统不同阶段的处理情况,进而可为找到系统瓶颈奠定基础。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种访问请求跟踪方法的流程示意图;
图2是本发明实施例提供的另一种访问请求跟踪方法的流程示意图;
图3-a是本发明实施例提供的一种访问请求跟踪装置的部署架构示意图;
图3-b是本发明实施例提供的另一种访问请求跟踪装置的部署架构示意图;
图3-c是本发明实施例提供的另一种访问请求跟踪装置的部署架构示意图;
图3-d是本发明实施例提供的一种访问请求的队列进出示意图;
图4是本发明实施例提供的另一种访问请求跟踪方法的流程示意图;
图5-a是本发明实施例提供的一种访问请求跟踪装置的示意图;
图5-b是本发明实施例提供的一种访问请求跟踪装置的示意图;
图5-c是本发明实施例提供的一种访问请求跟踪装置的示意图;
图5-d是本发明实施例提供的一种访问请求跟踪装置的示意图;
图6-a是本发明实施例提供的一种访问请求跟踪装置的示意图;
图6-b是本发明实施例提供的一种访问请求跟踪装置的示意图;
图6-c是本发明实施例提供的一种访问请求跟踪装置的示意图。
具体实施方式
本发明实施例提供访问请求跟踪方法和相关装置,以期能够有效的跟踪访问请求的处理路径,进而为找到系统瓶颈奠定基础。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下分别进行详细说明。
本发明一种访问请求跟踪方法的一个实施例,该访问请求跟踪方法可以包括:若第一服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了该跳跃标识的访问请求写入第一服务的请求总线队列;保存第一跟踪信息;其中,该第一跟踪信息包括:该跟踪标识、该跳跃标识、时间戳、接收添加了该跳跃标识的访问请求的接收端的标识信息、发送添加了该跳跃标识的访问请求的发送端的标识信息,该时间戳可包括:该添加了跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或该添加了跳跃标识的访问请求出队第一服务的总线请求队列的时间戳。
参见图1,本发明实施例提供的一种访问请求跟踪方法可包括:
101、若第一服务接收到的访问请求中携带有跟踪标识但未携带有跳跃标识,则在该访问请求中添加跳跃标识,将添加了该跳跃标识的访问请求写入第一服务的请求总线队列;
其中,本发明实施例方案可服务于分布式服务系统,其中,分布式服务系统可包括一个或多个服务主机。其中,第一服务则部署于分布式服务系统中的某个服务主机,而第一服务接收到的访问请求可能来自某客户端、分布式服务系统中的其它服务主机、其它服务、其它进程或其它装置等,访问请求例如可为超文本传送协议(HTTP,hypertexttransportprotocol)请求或其它协议的访问请求等,访问请求可能请求访问分布式服务系统的某些资源(如信息资源或处理资源等)等等。其中,分布式服务系统中的一个服务可能存在一个或多个对应执行进程。
102、保存第一跟踪信息;其中,第一跟踪信息可包括:该跟踪标识、该跳跃标识、时间戳、接收添加了该跳跃标识的访问请求的接收端(其中,此处该接收端例如为第一服务调用的另一服务,或其它服务节点或其它对象)的标识信息、发送添加了该跳跃标识的访问请求的发送端(此处该发送端可能为第一服务)的标识信息,该时间戳可包括:该添加了跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或,该添加了跳跃标识的访问请求出队第一服务的总线请求队列的时间戳。此外,上述第一跟踪信息也还可进一步包括如下信息的一个或多个:第一服务对应的操作信息(其中,该操作信息例如可为能够指示出第一服务的处理逻辑的信息)、上述发送端(此处可能为第一服务)所属服务节点的网际互联协议(IP,InternetProtocol)地址、该发送端所属服务节点的介质访问控制(MAC,MediaAccessControl)地址、该发送端所属服务节点的主机名等、上述接收端所属服务节点的IP地址、该接收端所属服务节点的MAC地址、该接收端所属服务节点的主机名,当然还可包含其它一些信息。
可以理解,接收端所属服务节点和发送端所属服务节点,可能为不同的服务节点或同一服务节点。
由上可见,本实施例若分布式服务系统中的第一服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了该跳跃标识的访问请求写入第一服务的请求总线队列;保存第一跟踪信息;其中,该第一跟踪信息可包括:该跟踪标识、该跳跃标识、时间戳、接收添加了该跳跃标识的访问请求的接收端的标识信息、发送添加了该跳跃标识的访问请求的发送端的标识信息,该时间戳可包括:该添加了跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或,该添加了跳跃标识的访问请求出队第一服务的总线请求队列的时间戳,由于保存的跟踪信息包括跟踪标识、跳跃标识、时间戳、访问请求发送端标识、访问请求接收端标识等等与访问请求的处理路径相关联的信息,因此,基于这些跟踪信息,有助于实现有效的跟踪该访问请求在分布式服务系统不同阶段的处理情况,进而可为找到系统瓶颈奠定基础。
在本发明的一些实施例中,若访问请求携带有跟踪标识、则可认为需要跟踪该访问请求的处理,若该访问请求又未携带跳跃标识,则可在该访问请求中添加跳跃标识,以便利用访问请求中携带的跟踪标识和跳跃标识,来对该访问请求在分布式服务系统中的处理情况进行跟踪。
在本发明的另一个实施例中,若第一服务接收的访问请求未携带跟踪标识和跳跃标识,且基于跟踪策略确定需要跟踪访问请求(该跟踪策略可根据不同服务场景具体设定,例如跟踪策略可为:跟踪任何访问请求、或跟踪某些协议的访问请求、或若系统响应时间超过设定阈值,则跟踪所有访问请求或某些协议的访问请求等等),则可在该访问请求中添加跟踪标识和跳跃标识,将添加了该跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;保存第二跟踪信息;其中,第二跟踪信息包括:该跟踪标识、该跳跃标识、时间戳、接收添加了该跳跃标识的访问请求的接收端(其中,此处该接收端例如为第一服务调用的另一服务,或其它服务节点或其它对象)的标识信息、发送添加了该跳跃标识的访问请求的发送端(其中,此处该发送端可为第一服务)的标识信息,上述时间戳可包括:该添加了跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或,该添加了跳跃标识的访问请求出队第一服务的请求总线队列的时间戳。此外,上述第二跟踪信息也还可进一步包括如下信息的一个或多个:第一服务对应的操作信息(其中,该操作信息例如可为能够指示出第一服务处理逻辑的信息)、上述发送端(可能为第一服务)所属服务节点IP地址、该发送端所属服务节点的MAC地址、该发送端所属服务节点的主机名等、上述接收端所属服务节点的IP地址、上述接收端所属服务节点的MAC地址、该接收端所属服务节点的主机名,当然还可包含其它一些信息。其中,接收端所属服务节点和发送端所属服务节点,可能为不同的服务节点或同一服务节点。
在本发明的一些实施例中,可根据配置文件,在该访问请求中添加跟踪标识和/或跳跃标识(当然还可根据配置文件在该访问请求中添加其它信息);或者客户端或分布式服务系统也可提供用户输入跟踪标识和/或跳跃标识(和/或其它信息)的输入接口,可从输入接口接收跟踪标识和/或跳跃标识(和/或其它信息),在访问请求中添加从输入接口接收到的跟踪标识和/或跳跃标识(和/或其它信息)。
此外,若第一服务调用的第二服务接收到携带上述跳跃标识和跟踪标识的访问请求,则可按照设定的跳跃标识变换规则修改该访问请求中携带的该跳跃标识(其中,该跳跃标识变换规则例如可为:按设定的幅度(幅度如1、2或其它值)递增或递减接收的访问请求中携带的跳跃标识),将修改了跳跃标识的访问请求写入第二服务的请求总线队列;保存第三跟踪信息;其中,该第三跟踪信息包括:该跟踪标识、该修改的跳跃标识、时间戳、接收该修改了跳跃标识的访问请求的接收端(其中,此处该接收端例如为第二服务所调用的另一服务,或其它服务节点或其它对象)的标识信息、发送该修改了跳跃标识的访问请求的发送端(此处该发送端可为第一服务)的标识信息,其中,该时间戳包括:修改了跳跃标识的访问请求入队第二服务的请求总线队列的时间戳,和/或,修改了跳跃标识的访问请求出队第二服务的请求总线队列的时间戳。可以理解,根据访问请求携带的跳跃标识的取值和跳跃标识变换规则,能够推导出访问请求经过了多少个服务的处理。此外,上述第三跟踪信息还可进一步包括如下信息的一个或者多个:第二服务对应的操作信息(其中,该操作信息例如可为能够指示出第二服务的处理逻辑的信息)、上述发送端(此处可为第二服务)所属服务节点IP地址、该发送端所属服务节点的MAC地址、该发送端所属服务节点的主机名等、上述接收端(此处可能为第二服务调用的其它服务)所属服务节点的IP地址、该接收端所属服务节点的MAC地址、该接收端所属服务节点的主机名,当然还可包含其它一些信息。
可以理解的是,本发明实施例分布式服务系统中,服务接收到的不同访问请求中携带的跟踪标识是分布式服务系统全局唯一的,或为服务接收到的不同访问请求添加的跟踪标识是分布式服务系统全局唯一的,例如分布式服务系统中的某服务接收到的,分别来自客户端A和客户端B的访问请求携带的跟踪标识是不同的,或者,例如为分布式服务系统中的某服务接收到的,分别来自客户端A和客户端B的访问请求所添加的跟踪标识是不同的;即使是来自同一客户端的不同访问请求,对应的跟踪标识也是不同的。这样就便于利用访问请求携带的分布式服务系统全局唯一的跟踪标识、来对该访问请求在分布式服务系统中的处理请求进行跟踪。当然,访问请求中跟踪标识的全局唯一性也可以是相对而言的,例如老化失效的跟踪标识可重复使用,例如,为分布式服务系统中某服务接收到的访问请求q1添加的跟踪标识为SID-01(该跟踪标识SID-01在分布式服务系统中当前所有有效的跟踪标识中是全局唯一的),以便利用跟踪标识SID-01来对访问请求q1在分布式服务系统中的处理请求进行跟踪,一段时间之后该跟踪标识SID-01被老化处理,之后又可为分布式服务系统中某服务接收到的访问请求q2添加跟踪标识SID-01(该跟踪标识SID-01在分布式服务系统中当前所有有效的跟踪标识中是全局唯一的),以便利用跟踪标识SID-01来对访问请求q2在分布式服务系统中的处理请求进行跟踪,以此类推。即,访问请求中的跟踪标识的全局唯一性可以是相对于当前有效的跟踪标识而言的,老化失效的跟踪标识后续可以重复使用。
在本发明的一些实施例中,跳跃标识例如可设置于访问请求的协议头或其它位置,而跟踪标识亦可设置于访问请求的协议头或其它位置,这样便于读取和识别。
在本发明的一些实施例中,还可进一步对服务内函数对访问请求的处理路径进行类似跟踪。例如,若服务(如第一服务、第二服务或处理访问请求的其它服务)中,用于处理该访问请求的第一函数调用了用于处理访问请求的第二函数,则可保存第一子跟踪信息,其中,该第一子跟踪信息可包括:上述跟踪标识、第一函数(此处第一函数相对于第二函数为主调函数)的标识信息、第二函数(此处第二函数相对于第一函数为被调函数)的标识信息和第一函数调用第二函数的时间戳,该第一子跟踪信息可进一步包括第一函数或第二函数所属服务的标识信息。
在本发明一些实施例中,可进一步基于保存的跟踪信息分析访问请求的处理情况,例如,可基于跟踪信息分析出在某个时间段内各服务处理访问请求的时间长短等等,根据处理时间长短来估测处理瓶颈。例如,若分析出在某时间段内,某个服务处理访问请求的时间过长(超过设定阈值时还可生成告警提示信息),则可据此推断这可能是造成处理性能瓶颈的一个原因,可进一步尝试升级该服务,或可尝试将服务迁移到其它服务节点部署,或可尝试升级部署这些服务的服务节点的硬件等方式,来尝试解决处理性能瓶颈问题。当然,也还可进一步基于保存的跟踪信息来进行其它的操作。例如,可利用保存的跟踪信息来生成对应的调用序列图,该调用序列图可展示出处理访问请求的各个服务的调用关系、各个服务处理访问请求的时长长短等,如此,根据该调用序列图便可明了访问请求在服务节点中的处理路径和瓶颈。
需要说明的是,本实施例的上述步骤例如可由分布式服务系统中的总线处理单元和/或其它模块来具体实施。本实施例的上述方案,可部署在分布式服务系统的服务节点上具体实施,以便监控服务节点上部署的各服务对访问请求的处理路径,当然,本实施例的上述方案,也可部署在其它需要对服务的访问请求的处理路径进行监控的设备上。
本发明一种访问请求跟踪方法的另一个实施例,该访问请求跟踪方法可以包括:若基于跟踪策略确定需跟踪第一服务接收的访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将该添加了跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;保存第四跟踪信息,该第四跟踪信息包括:该跟踪标识、该跳跃标识、时间戳、接收添加了该跳跃标识的访问请求的接收端的标识信息、发送添加了该跳跃标识的访问请求的发送端的标识信息,该时间戳包括:该添加了跟踪标识和跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或,该添加了跟踪标识和跳跃标识的访问请求出队第一服务的请求总线队列的时间戳。
参见图2,本发明实施例提供的一种访问请求跟踪方法可包括:
201、若基于跟踪策略确定需跟踪第一服务接收的访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将该添加了跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;
其中,本发明实施例方案可服务于分布式服务系统,其中,分布式服务系统可包括一个或多个服务主机。其中,第一服务则属于分布式服务系统中的某个服务主机,而第一服务接收到的访问请求可能来自某客户端、分布式服务系统中的其它服务主机、其它服务、其它进程或其它装置等,访问请求例如可为超文本传送协议(HTTP,hypertexttransportprotocol)请求或其它协议的访问请求等,访问请求可能请求访问分布式服务系统的某些资源(如信息资源或处理资源等)等等。其中,分布式服务系统中的一个服务可能存在一个或者多个进程。
在本发明一些实施例中,跟踪策略可根据不同服务场景具体设定,例如跟踪策略可为:跟踪任何访问请求、或跟踪某些协议的访问请求、或若系统响应时间超过设定阈值,则跟踪所有访问请求或某些协议的访问请求等等。
202、保存第四跟踪信息;
其中,该第四跟踪信息可包括:
该跟踪标识、该跳跃标识、时间戳、接收添加了该跟踪标识和跳跃标识的访问请求的接收端的标识信息(其中,此处该接收端例如为第一服务调用的另一服务,或其它服务节点或其它对象)、发送该添加了跟踪标识和跳跃标识的访问请求的发送端的标识信息(其中,此处该发送端可为第一服务),该时间戳可包括:该添加了跟踪标识和跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或,该添加了跟踪标识和跳跃标识的访问请求出队第一服务的请求总线队列的时间戳。此外,上述第四跟踪信息还可进一步包括如下信息的一个或者多个:第一服务对应的操作信息(其中,该操作信息例如可为能够指示出第一服务的处理逻辑的信息)、上述发送端(此处可为第一服务)所属服务节点IP地址、该发送端所属服务节点的MAC地址、该发送端所属服务节点的主机名等、上述接收端(此处可能为第一服务调用的其它服务)所属服务节点的IP地址、该接收端所属服务节点的MAC地址、该接收端所属服务节点的主机名,当然还可包含其它一些信息。
由上可见,本实施例中若基于跟踪策略确定需跟踪分布式服务系统中的第一服务接收的访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将该添加了跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;保存第三跟踪信息;第三跟踪信息可包括:该跟踪标识、该跳跃标识、时间戳、接收添加了该跟踪标识和跳跃标识的访问请求的接收端的标识信息、发送添加了该跟踪标识和跳跃标识的访问请求的发送端的标识信息,时间戳可包括:该添加了跟踪标识和跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或,该添加了跟踪标识和跳跃标识的访问请求出队第一服务的总线请求队列的时间戳,由于保存的跟踪信息中包括:跟踪标识、跳跃标识、时间戳、访问请求发送端标识、访问请求接收端标识等等与访问请求的处理路径相关联的信息,因此,基于这些跟踪信息,有助于实现有效的跟踪该访问请求在分布式服务系统不同阶段的处理情况,进而可为找到系统瓶颈奠定基础。
在本发明的一些实施例中,可根据配置文件在该访问请求中添加跟踪标识和/或跳跃标识(当然还可根据配置文件在该访问请求中添加其它信息);或者客户端或分布式服务系统也可提供用户输入跟踪标识和/或跳跃标识(和/或其它信息)的输入接口,可从输入接口接收跟踪标识和/或跳跃标识(和/或其它信息),在访问请求中添加从输入接口接收到的跟踪标识和/或跳跃标识(和/或其它信息)。
此外,若第一服务调用的第二服务接收到携带上述跳跃标识和跟踪标识的访问请求,则可按照设定的跳跃标识变换规则修改该访问请求中携带的该跳跃标识(其中,该跳跃标识变换规则例如可为:按设定的幅度(幅度如1、2或其它值)递增或递减接收的访问请求中携带的跳跃标识),将修改了跳跃标识的访问请求写入第二服务的请求总线队列;保存第五跟踪信息;其中,该第五跟踪信息包括:该跟踪标识、该修改的跳跃标识、时间戳、接收该修改了跳跃标识的访问请求的接收端(此处,该接收端例如为第二服务调用的另一服务,或其它服务节点或其它对象)的标识信息、发送该修改了跳跃标识的访问请求的发送端(此处该发送端可为第一服务)的标识信息,其中,该时间戳包括:上述修改了跳跃标识的访问请求入队第二服务的请求总线队列的时间戳,和/或上述修改了跳跃标识的访问请求出队第二服务的请求总线队列的时间戳。此外,上述第五跟踪信息还可进一步包括如下信息的一个或者多个:第二服务对应的操作信息(其中,该操作信息例如可为能够指示出第二服务的处理逻辑的信息)、上述发送端(此处可为第二服务)所属服务节点IP地址、该发送端所属服务节点的MAC地址、该发送端所属服务节点的主机名等、上述接收端(此处可能为第二服务调用的其它服务)所属服务节点的IP地址、该接收端所属服务节点的MAC地址、该接收端所属服务节点的主机名,当然还可包含其它一些信息。
可以理解的是,本发明实施例分布式服务系统中,服务接收到的不同访问请求中携带的跟踪标识是分布式服务系统全局唯一的,或为服务接收到的不同访问请求添加的跟踪标识是分布式服务系统全局唯一的,例如分布式服务系统中的某服务接收到的,分别来自客户端A和客户端B的访问请求携带的跟踪标识是不同的,或者,例如为分布式服务系统中的某服务接收到的,分别来自客户端A和客户端B的访问请求所添加的跟踪标识是不同的;即使是来自同一客户端的不同访问请求,对应的跟踪标识也是不同的。这样就便于利用访问请求携带的分布式服务系统全局唯一的跟踪标识、来对该访问请求在分布式服务系统中的处理请求进行跟踪。当然,访问请求中跟踪标识的全局唯一性也可以是相对而言的,例如老化失效的跟踪标识可重复使用,例如,为分布式服务系统中某服务接收到的访问请求q1添加的跟踪标识为SID-01(该跟踪标识SID-01在分布式服务系统中当前所有有效的跟踪标识中是全局唯一的),以便利用跟踪标识SID-01,对访问请求q1在分布式服务系统中的处理请求进行跟踪,一段时间之后该跟踪标识SID-01被老化处理,之后又可为分布式服务系统中某服务接收到的访问请求q2添加跟踪标识SID-01(该跟踪标识SID-01在分布式服务系统中当前所有有效的跟踪标识中是全局唯一的),以便利用跟踪标识SID-01,对访问请求q2在分布式服务系统中的处理请求进行跟踪,以此类推。即,访问请求中的跟踪标识的全局唯一性可以是相对于当前有效的跟踪标识而言的,老化失效的跟踪标识后续可以重复使用。
在本发明的一些实施例中,跳跃标识例如可设置于访问请求的协议头或其它位置,而跟踪标识亦可设置于访问请求的协议头或其它位置,这样便于读取和识别。
在本发明的一些实施例中,还可进一步对服务内函数对访问请求的处理路径进行类似跟踪。例如,若服务(如第一服务、第二服务或处理访问请求的其它服务)中,用于处理该访问请求的第一函数调用了用于处理访问请求的第二函数,则可保存第一子跟踪信息,其中,该第一子跟踪信息可包括:上述跟踪标识、第一函数(此处第一函数相对于第二函数为主调函数)的标识信息、第二函数(此处第二函数相对于第一函数为被调函数)的标识信息和第一函数调用第二函数的时间戳,该第一子跟踪信息可进一步包括第一函数或第二函数所属服务的标识信息。
在本发明一些实施例中,可进一步基于保存的跟踪信息分析访问请求的处理情况,例如,可基于跟踪信息分析出在某个时间段内各服务处理访问请求的时间长短等等,根据处理时间长短来估测处理瓶颈。例如,若分析出在某时间段内,某个服务处理访问请求的时间过长,则可据此推断这可能是造成处理性能瓶颈的一个原因,可进一步尝试升级该服务,或可尝试将服务迁移到其它服务节点部署,或可尝试升级部署这些服务的服务节点的硬件等方式,来尝试解决处理性能瓶颈问题。当然,也还可进一步基于保存的跟踪信息进行其它的操作。例如,可利用保存的跟踪信息来生成对应的调用序列图,该调用序列图可展示出处理访问请求的各个服务的调用关系、各个服务处理访问请求的时长长短等,如此,根据该调用序列图,便可明了访问请求在服务节点中的处理路径和瓶颈。
需要说明的是,本实施例的上述步骤例如可由分布式服务系统中的总线处理单元和/或其它模块来协调实施。本实施例的上述方案,可部署在分布式服务系统的服务节点上具体实施,以便监控服务节点上部署的各服务对访问请求的处理路径,当然,本实施例的上述方案,也可部署在其它需要对服务的访问请求的处理路径进行监控的设备上。
为便于更好的理解和实施本发明实施例的上述方案,下面通过一些应用场景进行举例说明。
参见图3-a,图3-a为本发明实施例举例提供的访问请求跟踪装置的部署架构示意图。其中,服务节点中部署有多个服务(图中主要以其中的服务A、服务B和服务C举例),访问请求跟踪装置300用于跟踪服务节点中部署的服务对访问请求的处理路径等。进一步的,服务节点上还可部署管理客户端,以便用户通过管理客户端向访问请求跟踪装置300查询的访问请求的跟踪情况。参见图3-b,本发明实施例提供的一种访问请求跟踪装置300,可包括:总线处理单元301、存储单元302和分析器303。
为便于理解和实施,下面举例基于图3-b所示部署架构下的一种访问请求跟踪流程,其它架构可以此类推。参见图4,本发明实施例提供的另一种访问请求跟踪方法,可包括以下内容:
401、客户端向服务节点发送携带有跟踪ID的访问请求que-3;
其中,跟踪ID具有全系统唯一性,跟踪ID在整个跟踪流中保持不变,在需跟踪时加入跟踪ID。
402、服务节点的服务A接收到访问请求que-3;服务节点的总线处理单元判断服务A接收到的访问请求que-3是否携带跟踪ID;
若是(表示需要跟踪访问请求que-3),则执行步骤403;
若否(表示无需跟踪访问请求que-3),则可按照现有流程来继续处理访问请求que-3。
403、总线处理单元若判断出访问请求que-3携带跟踪标识,在访问请求que-3的协议头添加跳跃ID,将添加了该跳跃ID的访问请求que-3写入到服务A的请求总线队列;
其中,跳跃ID用来标识消息流的上下文关系,跳跃ID可有规律随着调用发生而变化。
404、服务A调用服务B,服务A向服务B发送服务A请求总线队列中添加了该跳跃ID的访问请求que-3;
参见图3-d,图3-d为一种服务的请求总线队列和响应总线队列的出入队示意图,访问请求通过接口进入请求总线队列,而后进行请求分发和处理,处理后的请求响应进入响应总线队列,之后出响应总线队列。
405、总线处理单元调用collect接口保存跟踪信息s11到存储单元;
其中,此时总线处理单元保存的跟踪信息s11可包括:
上述跟踪标识、上述跳跃标识、时间戳、接收添加了该跳跃标识的访问请求的接收端(服务B)的标识信息、发送添加了该跳跃标识的访问请求的发送端(服务A)的标识信息,上述时间戳可包括:该添加了跳跃标识的访问请求入队服务A的请求总线队列的时间戳,和/或,该添加了跳跃标识的访问请求出队服务A的请求总线队列的时间戳。此外,上述第二跟踪信息也还可进一步包括如下信息的一个或多个:服务A对应的操作信息(其中,该操作信息例如可为能够指示出服务A的处理逻辑的信息)、上述发送端(服务A)所属服务节点IP地址、该发送端所属服务节点的MAC地址、该发送端所属服务节点的主机名等、上述接收端(服务B)所属服务节点的IP地址、接收端所属服务节点的MAC地址、接收端所属服务节点的主机名,当然还可包含其它一些额外的抓取信息(其中,访问请求que-3的协议头例如可携带数据抓取规则,总线处理单元可根据数据抓取规则来抓取数据)。
406、服务B接收添加了跳跃ID的访问请求que-3;总线处理单元判断出访问请求que-3携带跟踪ID和跳跃ID,则按照设定的跳跃ID变换规则修改访问请求que-3携带的跳跃ID,将修改了跳跃ID的访问请求que-3写入到服务B的请求总线队列;
407、服务B调用服务C,服务B向调用的服务C发送服务B的请求总线队列中添加修改了跳跃ID的访问请求que-3;
408、总线处理单元调用collect接口保存跟踪信息s12到数据库;
其中,此时总线处理单元保存的跟踪信息s11可包括:
上述跟踪标识、上述修改的跳跃标识、时间戳、接收添加了该跳跃标识的访问请求的接收端(服务C)的标识信息、发送添加了该跳跃标识的访问请求的发送端(服务B)的标识信息,上述时间戳可包括:该添加了跳跃标识的访问请求入队服务B的请求总线队列的时间戳,和/或,该添加了跳跃标识的访问请求出队服务B的请求总线队列的时间戳。此外,上述第二跟踪信息也还可进一步包括如下信息的一个或多个:服务B对应的操作信息(其中,该操作信息例如可为能够指示出服务B的处理逻辑的信息)、上述发送端(服务B)所属服务节点IP地址、该发送端所属服务节点的MAC地址、该发送端所属服务节点的主机名等、上述接收端(服务C)所属服务节点的IP地址、接收端所属服务节点的MAC地址、接收端所属服务节点的主机名,当然还可包含其它一些额外的抓取信息(其中,访问请求que-3的协议头例如可携带数据抓取规则,总线处理单元可根据数据抓取规则来抓取数据)。
若还需调用其它服务,可基于上述跟踪法方式以此类推。
在本发明一些实施例中,还可进一步根据需要,对访问请求在某服务内部的处理路径进行跟踪,对访问请求在服务内部的处理进行跟踪的方式类似于上述方式,如可在访问请求的协议头设置跟踪ID和跳跃ID的基础上,服务的执行进程还可在该访问请求的协议头增加子跳跃ID,通过子跳跃ID的变化来跟踪该服务中的各函数对该访问请求的处理情况,并可调用相关接口(如collect接口)来保存跟踪信息,而访问请求中的子跳跃ID在出该服务时可去除。
参见图3-c,在本发明的一些实施例中,可在服务节点的某些服务内部署服务内跟踪单元304,服务内跟踪单元304可进一步对服务内函数对访问请求的处理路径进行类似跟踪。例如,若服务C中用于处理该访问请求的第一函数调用了用于处理访问请求的第二函数,则服务内跟踪单元304可调用collect接口保存第一子跟踪信息到存储单元303,其中,第一子跟踪信息可包括:上述跟踪ID、第一函数(此处第一函数相对于第二函数为主调函数)的标识信息、第二函数(此处第二函数相对于第一函数为被调函数)的标识信息和第一函数调用第二函数的时间戳,该第一子跟踪信息可进一步包括第一函数或第二函数所属服务的标识信息等。此外,若第一函数或第二函数还调用的第一服务中的其它函数,跟踪方式可以此类推。
分析器303可利用跟踪ID和跳跃Id等生成详细的调用序列图。
用户可通过管理客户端来查看调用序列图,可通过设置显示规则可以将耗时最久、调用频度高的服务接口高亮显示,管理客户端还可根据用户指令来展示相关的详细说明信息。
由上可见,本实施例若分布式服务系统中的服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了该跳跃标识的访问请求写入该服务的请求总线队列;保存跟踪信息;其中,该跟踪信息可包括:该跟踪标识、该跳跃标识、时间戳、接收添加了该跳跃标识的访问请求的接收端的标识信息、发送添加了该跳跃标识的访问请求的发送端的标识信息,当访问请求进出服务的请求总线队列,就保存相关跟踪信息。由于保存的跟踪信息包括跟踪标识、跳跃标识、时间戳、访问请求发送端标识、访问请求接收端标识等等与访问请求的处理路径相关联的信息,因此,基于这些跟踪信息,有助于实现有效的跟踪该访问请求在分布式服务系统不同阶段的处理情况,进而可为找到系统瓶颈奠定基础。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
参见图5,本发明实施例提供的一种访问请求跟踪装置500,可包括:第一标识添加单元510和保存单元520。
其中,第一标识添加单元510,用于若第一服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了上述跳跃标识的访问请求写入第一服务的请求总线队列;
保存单元520,用于保存第一跟踪信息,其中,第一跟踪信息可包括:上述跟踪标识、上述跳跃标识、时间戳、接收添加了上述跳跃标识的访问请求的接收端的标识信息、发送添加了上述跳跃标识的访问请求的发送端的标识信息,上述时间戳包括:上述添加了跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或,上述添加了跳跃标识的访问请求出队第一服务的总线请求队列的时间戳。
参见图5-b,在本发明的一些实施例中,访问请求跟踪装置500还可包括:
第二标识添加单元530,用于若第一服务接收的访问请求未携带跟踪标识和跳跃标识,且基于跟踪策略确定需要跟踪访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将添加了上述跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;
保存单元520还可用于,保存第二跟踪信息,其中,第二跟踪信息可包括:上述跟踪标识、上述跳跃标识、时间戳、接收添加了上述跟踪标识和跳跃标识的访问请求的接收端的标识信息、发送添加了上述跟踪标识和跳跃标识的访问请求的发送端的标识信息,其中,上述时间戳包括:上述添加了上述跟踪标识和跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或上述添加了跟踪标识和跳跃标识的访问请求出队第一服务的请求总线队列的时间戳。
参见图5-c,在本发明的一些实施例中,访问请求跟踪装置500还可包括:
标识修改单元540,用于若上述第一服务调用的第二服务接收到携带上述跳跃标识和跟踪标识的访问请求,则按照设定的跳跃标识变换规则修改该访问请求中携带的上述跳跃标识,将修改了跳跃标识的访问请求写入第二服务的请求总线队列;
保存单元520还可用于,保存第三跟踪信息,其中,上述第三跟踪信息包括:上述跟踪标识、上述修改的跳跃标识、时间戳、接收修改了跳跃标识的访问请求的接收端的标识信息、发送修改了跳跃标识的访问请求的发送端的标识信息,其中,上述时间戳包括:上述修改了跳跃标识的访问请求入队第二服务的请求总线队列的时间戳,和/或,上述修改了跳跃标识的访问请求出队第二服务的请求总线队列的时间戳。
在本发明的一些实施例中,还可进一步对服务内函数对访问请求的处理路径进行类似跟踪。例如,保存单元620还可用于,若服务(如第一服务、第二服务或处理访问请求的其它服务)中,用于处理该访问请求的第一函数调用了用于处理访问请求的第二函数,则可保存第一子跟踪信息,其中,该第一子跟踪信息可包括:上述跟踪标识、第一函数(此处第一函数相对于第二函数为主调函数)的标识信息、第二函数(此处第二函数相对于第一函数为被调函数)的标识信息和第一函数调用第二函数的时间戳,该第一子跟踪信息可进一步包括第一函数或第二函数所属服务的标识信息。
参见图5-d,在本发明的一些实施例中,访问请求跟踪装置500还可包括:
分析器550,用于利用保存单元520保存的跟踪信息生成调用序列图。
在本发明一些实施例中,分析器550可进一步基于保存的跟踪信息分析访问请求的处理情况,例如,可基于跟踪信息分析出在某个时间段内各服务处理访问请求的时间长短等等,根据处理时间长短来估测处理瓶颈。例如,若分析出在某时间段内,某个服务处理访问请求的时间过长(超过设定阈值时还可生成告警提示信息),则可据此推断这可能是造成处理性能瓶颈的一个原因,可提示用户升级该服务,或可提示用户将服务迁移到其它服务节点部署,或可提示用户升级部署这些服务的服务节点的硬件等方式,来尝试解决处理性能瓶颈问题。
可以理解的是,本实施例访问请求跟踪装置各个功能模块的功能,可以根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再一一赘述。
参见图6,本发明实施例提供的一种访问请求跟踪装置600,可包括:第三标识添加单元610和保存单元620。
其中,第三标识添加单元610,用于若基于跟踪策略确定需跟踪第一服务接收的访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将添加了上述跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;
保存单元620,用于保存第四跟踪信息,其中,上述第四跟踪信息包括:上述跟踪标识、上述跳跃标识、时间戳、接收添加了上述跳跃标识的访问请求的接收端的标识信息、发送添加了上述跳跃标识的访问请求的发送端的标识信息,上述时间戳包括:上述添加了跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或,上述添加了跳跃标识的访问请求出队第一服务的请求总线队列的时间戳。
参见图6-b,在本发明的一些实施例中,访问请求跟踪装置600还可包括:
标识修改单元630,用于若上述第一服务调用的第二服务接收到携带上述跳跃标识和跟踪标识的访问请求,则按照设定的跳跃标识变换规则修改该访问请求中携带的跳跃标识,将修改了跳跃标识的访问请求写入第二服务的请求总线队列;
保存单元620还可用于,保存第五跟踪信息,其中,上述第五跟踪信息包括:上述跟踪标识、上述修改的跳跃标识、时间戳、接收修改了跳跃标识的访问请求的接收端的标识信息、发送修改了跳跃标识的访问请求的发送端的标识信息,其中,上述时间戳包括:上述修改了跳跃标识的访问请求入队第二服务的请求总线队列的时间戳,和/或,上述修改了跳跃标识的访问请求出队第二服务的请求总线队列的时间戳。
在本发明的一些实施例中,还可进一步对服务内函数对访问请求的处理路径进行类似跟踪。例如,保存单元620还可用于,若服务(如第一服务、第二服务或处理访问请求的其它服务)中,用于处理该访问请求的第一函数调用了用于处理访问请求的第二函数,则可保存第一子跟踪信息,其中,该第一子跟踪信息可包括:上述跟踪标识、第一函数(此处第一函数相对于第二函数为主调函数)的标识信息、第二函数(此处第二函数相对于第一函数为被调函数)的标识信息和第一函数调用第二函数的时间戳,该第一子跟踪信息可进一步包括第一函数或第二函数所属服务的标识信息。
参见图6-c,在本发明的一些实施例中,访问请求跟踪装置600还可包括:
分析器640,用于利用保存单元620保存的跟踪信息生成调用序列图。
在本发明一些实施例中,分析器640可进一步基于保存的跟踪信息分析访问请求的处理情况,例如,可基于跟踪信息分析出在某个时间段内各服务处理访问请求的时间长短等等,根据处理时间长短来估测处理瓶颈。例如,若分析出在某时间段内,某个服务处理访问请求的时间过长(超过设定阈值时还可生成告警提示信息),则可据此推断这可能是造成处理性能瓶颈的一个原因,可提示用户升级该服务,或可提示用户将服务迁移到其它服务节点部署,或可提示用户升级部署这些服务的服务节点的硬件等方式,来尝试解决处理性能瓶颈问题。
可以理解的是,本实施例访问请求跟踪装置各个功能模块的功能,可以根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再一一赘述。
本发明实施例还提供一种服务节点,其中,该服务节点上可部署有包括第一服务在内的至少一个服务,该服务节点上还可部署有访问请求跟踪装置500或600。
本发明实施例还提供一种分布式服务系统,包括多个服务节点,该多个服务节点中的至少一个服务节点上部署有包括第一服务在内的至少一个服务,该服务节点上还部署访问请求跟踪装置500或600。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的访问请求跟踪方法的部分或全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
综上,本发明实施例若分布式服务系统中的服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了该跳跃标识的访问请求写入该服务的请求总线队列;保存跟踪信息;其中,该跟踪信息可包括:该跟踪标识、该跳跃标识、时间戳、接收添加了该跳跃标识的访问请求的接收端的标识信息、发送添加了该跳跃标识的访问请求的发送端的标识信息,当访问请求进出服务的请求总线队列,就保存相关跟踪信息。由于保存的跟踪信息包括跟踪标识、跳跃标识、时间戳、访问请求发送端标识、访问请求接收端标识等等与访问请求的处理路径相关联的信息,因此,基于保存的这些跟踪信息,有助于实现有效的跟踪该访问请求在分布式服务系统不同阶段的处理情况,进而可为找到系统瓶颈奠定基础。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质例如可以包括:只读存储单元、随机存储单元、磁盘或光盘等。
以上对本发明实施例所提供的访问请求跟踪方法和相关装置进行了详细介绍,本文中服务了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及服务范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种访问请求跟踪方法,其特征在于,包括:
若第一服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了所述跳跃标识的访问请求写入第一服务的请求总线队列;
保存第一跟踪信息,
其中,所述第一跟踪信息包括:
所述跟踪标识、所述跳跃标识、时间戳、接收添加了所述跳跃标识的访问请求的接收端的标识信息、发送添加了所述跳跃标识的访问请求的发送端的标识信息,所述时间戳包括:所述添加了跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或,所述添加了跳跃标识的访问请求出队第一服务的总线请求队列的时间戳;
所述方法还包括:
若所述第一服务调用的第二服务接收到携带所述跳跃标识和跟踪标识的访问请求,则按照设定的跳跃标识变换规则修改该访问请求中携带的所述跳跃标识,将修改了跳跃标识的访问请求写入第二服务的请求总线队列;
保存第三跟踪信息,
其中,所述第三跟踪信息包括:
所述跟踪标识、所述修改的跳跃标识、时间戳、接收修改了跳跃标识的访问请求的接收端的标识信息、发送修改了跳跃标识的访问请求的发送端的标识信息,其中,所述时间戳包括:所述修改了跳跃标识的访问请求入队第二服务的请求总线队列的时间戳,和/或,所述修改了跳跃标识的访问请求出队第二服务的请求总线队列的时间戳。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
若第一服务接收的访问请求未携带跟踪标识和跳跃标识,且基于跟踪策略确定需要跟踪访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将添加了所述跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;
保存第二跟踪信息,
其中,所述第二跟踪信息包括:
所述跟踪标识、所述跳跃标识、时间戳、接收添加了所述跟踪标识和跳跃标识的访问请求的接收端的标识信息、发送添加了所述跟踪标识和跳跃标识的访问请求的发送端的标识信息,其中,所述时间戳包括:所述添加了所述跟踪标识和跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或所述添加了跟踪标识和跳跃标识的访问请求出队第一服务的请求总线队列的时间戳。
3.根据权利要求1或2所述的方法,其特征在于,
所述方法还包括:
若所述第一服务中用于处理所述访问请求的第一函数调用了用于处理所述访问请求的第二函数,则保存第一子跟踪信息,其中,所述第一子跟踪信息包括:所述跟踪标识、第一函数的标识信息、第二函数的标识信息和所述第一函数调用第二函数的时间戳。
4.根据权利要求1至2任一项所述的方法,其特征在于,
所述方法还包括:根据保存所述跟踪信息生成所述访问请求对应的调用序列图。
5.一种访问请求跟踪方法,其特征在于,包括:
若基于跟踪策略确定需跟踪第一服务接收的访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将添加了所述跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;
保存第四跟踪信息,
其中,所述第四跟踪信息包括:
所述跟踪标识、所述跳跃标识、时间戳、接收添加了所述跳跃标识的访问请求的接收端的标识信息、发送添加了所述跳跃标识的访问请求的发送端的标识信息,所述时间戳包括:所述添加了跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或,所述添加了跳跃标识的访问请求出队第一服务的请求总线队列的时间戳;
所述方法还包括:若所述第一服务调用的第二服务接收到携带所述跳跃标识和跟踪标识的访问请求,则按照设定的跳跃标识变换规则修改该访问请求中携带的跳跃标识,将修改了跳跃标识的访问请求写入第二服务的请求总线队列;
保存第五跟踪信息;
其中,所述第五跟踪信息包括:
所述跟踪标识、所述修改的跳跃标识、时间戳、接收修改了跳跃标识的访问请求的接收端的标识信息、发送修改了跳跃标识的访问请求的发送端的标识信息,其中,所述时间戳包括:所述修改了跳跃标识的访问请求入队第二服务的请求总线队列的时间戳,和/或,所述修改了跳跃标识的访问请求出队第二服务的请求总线队列的时间戳。
6.根据权利要求5所述的方法,其特征在于,
所述方法还包括:
若所述第一服务中用于处理所述访问请求的第一函数调用了用于处理所述访问请求的第二函数,则保存第一子跟踪信息,其中,所述第一子跟踪信息包括:所述跟踪标识、第一函数的标识信息、第二函数的标识信息和所述第一函数调用第二函数的时间戳。
7.一种访问请求跟踪装置,其特征在于,包括:
第一标识添加单元,用于若第一服务接收的访问请求携带跟踪标识但未携带跳跃标识,则在该访问请求中添加跳跃标识,将添加了所述跳跃标识的访问请求写入第一服务的请求总线队列;
保存单元,用于保存第一跟踪信息,
其中,所述第一跟踪信息包括:
所述跟踪标识、所述跳跃标识、时间戳、接收添加了所述跳跃标识的访问请求的接收端的标识信息、发送添加了所述跳跃标识的访问请求的发送端的标识信息,所述时间戳包括:所述添加了跳跃标识的访问请求入队到第一服务的请求总线队列的时间戳,和/或,所述添加了跳跃标识的访问请求出队第一服务的总线请求队列的时间戳;
所述访问请求跟踪装置还包括:
标识修改单元,用于若所述第一服务调用的第二服务接收到携带所述跳跃标识和跟踪标识的访问请求,则按照设定的跳跃标识变换规则修改该访问请求中携带的所述跳跃标识,将修改了跳跃标识的访问请求写入第二服务的请求总线队列;
所述保存单元还用于,保存第三跟踪信息,
其中,所述第三跟踪信息包括:
所述跟踪标识、所述修改的跳跃标识、时间戳、接收修改了跳跃标识的访问请求的接收端的标识信息、发送修改了跳跃标识的访问请求的发送端的标识信息,其中,所述时间戳包括:所述修改了跳跃标识的访问请求入队第二服务的请求总线队列的时间戳,和/或,所述修改了跳跃标识的访问请求出队第二服务的请求总线队列的时间戳。
8.根据权利要求7所述的访问请求跟踪装置,其特征在于,
所述访问请求跟踪装置还包括:
第二标识添加单元,用于若第一服务接收的访问请求未携带跟踪标识和跳跃标识,且基于跟踪策略确定需要跟踪访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将添加了所述跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;
所述保存单元还用于,保存第二跟踪信息,
其中,所述第二跟踪信息包括:
所述跟踪标识、所述跳跃标识、时间戳、接收添加了所述跟踪标识和跳跃标识的访问请求的接收端的标识信息、发送添加了所述跟踪标识和跳跃标识的访问请求的发送端的标识信息,其中,所述时间戳包括:所述添加了所述跟踪标识和跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或所述添加了跟踪标识和跳跃标识的访问请求出队第一服务的请求总线队列的时间戳。
9.一种访问请求跟踪装置,其特征在于,包括:
第三标识添加单元,用于若基于跟踪策略确定需跟踪第一服务接收的访问请求,则在该访问请求中添加跟踪标识和跳跃标识,将添加了所述跟踪标识和跳跃标识的访问请求写入第一服务的请求总线队列;
保存单元,用于保存第四跟踪信息,
其中,所述第四跟踪信息包括:
所述跟踪标识、所述跳跃标识、时间戳、接收添加了所述跳跃标识的访问请求的接收端的标识信息、发送添加了所述跳跃标识的访问请求的发送端的标识信息,所述时间戳包括:所述添加了跳跃标识的访问请求入队第一服务的请求总线队列的时间戳,和/或,所述添加了跳跃标识的访问请求出队第一服务的请求总线队列的时间戳;
所述访问请求跟踪装置还包括:
标识修改单元,用于若所述第一服务调用的第二服务接收到携带所述跳跃标识和跟踪标识的访问请求,则按照设定的跳跃标识变换规则修改该访问请求中携带的跳跃标识,将修改了跳跃标识的访问请求写入第二服务的请求总线队列;
所述保存单元还用于保存第五跟踪信息,所述第五跟踪信息包括:所述跟踪标识、所述修改的跳跃标识、时间戳、接收修改了跳跃标识的访问请求的接收端的标识信息、发送修改了跳跃标识的访问请求的发送端的标识信息,所述时间戳包括:所述修改了跳跃标识的访问请求入队第二服务的请求总线队列的时间戳,和/或,所述修改了跳跃标识的访问请求出队第二服务的请求总线队列的时间戳。
10.一种服务节点,其特征在于,所述服务节点上部署有包括第一服务在内的多个服务,所述服务节点上还部署有如权利要求7至9任一项所述的访问请求跟踪装置。
CN201210205300.4A 2012-06-20 2012-06-20 访问请求跟踪方法和相关装置 Active CN102724195B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210205300.4A CN102724195B (zh) 2012-06-20 2012-06-20 访问请求跟踪方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210205300.4A CN102724195B (zh) 2012-06-20 2012-06-20 访问请求跟踪方法和相关装置

Publications (2)

Publication Number Publication Date
CN102724195A CN102724195A (zh) 2012-10-10
CN102724195B true CN102724195B (zh) 2015-12-02

Family

ID=46949858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210205300.4A Active CN102724195B (zh) 2012-06-20 2012-06-20 访问请求跟踪方法和相关装置

Country Status (1)

Country Link
CN (1) CN102724195B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2540388B (en) * 2015-07-15 2019-01-23 Advanced Risc Mach Ltd Secure mode state data access tracking
CN108228322B (zh) * 2016-12-12 2022-03-25 阿里巴巴集团控股有限公司 一种分布式链路跟踪、分析方法及服务器、全局调度器
CN108847952A (zh) * 2018-04-23 2018-11-20 广州视源电子科技股份有限公司 请求链路上下文的处理方法、装置及系统
CN109951355B (zh) * 2019-03-13 2022-09-06 苏州洞察云信息技术有限公司 一种用于分布式系统白盒关联路径追踪的方法
CN110474809A (zh) * 2019-08-20 2019-11-19 北京百度网讯科技有限公司 用于输出信息的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1870532A (zh) * 2006-01-06 2006-11-29 华为技术有限公司 一种信令跟踪方法和系统
CN101056208A (zh) * 2007-05-31 2007-10-17 华为技术有限公司 业务跟踪方法、网络设备、o&m控制器、业务请求装置
CN101945363A (zh) * 2010-08-25 2011-01-12 华为技术有限公司 用户全网跟踪方法、控制网元及承接网元

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1821487B1 (en) * 2006-02-21 2010-04-07 Microsoft Corporation Topology management in peer-to-peer content distribution clouds

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1870532A (zh) * 2006-01-06 2006-11-29 华为技术有限公司 一种信令跟踪方法和系统
CN101056208A (zh) * 2007-05-31 2007-10-17 华为技术有限公司 业务跟踪方法、网络设备、o&m控制器、业务请求装置
CN101945363A (zh) * 2010-08-25 2011-01-12 华为技术有限公司 用户全网跟踪方法、控制网元及承接网元

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
分布式网络信息跟踪;陈康等;《小型微型计算机系统》;20050930;第26卷(第9期);第1441-1444页 *

Also Published As

Publication number Publication date
CN102724195A (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
CN102724195B (zh) 访问请求跟踪方法和相关装置
US9912613B2 (en) Dynamic service orchestration within PaaS platforms
Avritzer et al. Scalability assessment of microservice architecture deployment configurations: A domain-based approach leveraging operational profiles and load tests
CN108600045A (zh) 一种服务链路监控方法及装置
CN107809383A (zh) 一种基于mvc的路径映射方法及装置
CN113938524B (zh) 基于流量代理的物联网终端敏感信息泄露监测方法及系统
CN109818787A (zh) 业务异常检测方法、装置及存储介质
CN113810408B (zh) 网络攻击组织的探测方法、装置、设备及可读存储介质
KR102280845B1 (ko) 네트워크 내의 비정상 행위 탐지 방법 및 그 장치
CN102624721B (zh) 一种特征码验证平台装置及特征码验证方法
CN112019545A (zh) 一种蜜罐网络部署方法、装置、设备及介质
CN110619022B (zh) 基于区块链网络的节点检测方法、装置、设备及存储介质
US9866466B2 (en) Simulating real user issues in support environments
CN109391495A (zh) 发送及接收心跳消息的方法、装置、计算机可读介质及电子设备
CN114221815A (zh) 一种基于编排蜜网的入侵检测方法、存储介质及系统
US20230006898A1 (en) A Method of Capturing Packets from a Container in a Cluster
CN110198246B (zh) 一种流量监控的方法及系统
Repetto et al. Automating mitigation of amplification attacks in NFV services
CN114025014B (zh) 一种资产探测方法、装置、电子设备及存储介质
WO2015176516A1 (zh) 一种业务流程的跟踪方法及装置
CN115297024A (zh) 网络安全设备的性能测试方法、装置及电子设备
CN108616423A (zh) 一种脱网设备监测方法以及装置
CN113301003B (zh) 信息、数据链路检测方法、设备及存储介质
CN111083173A (zh) 基于openflow协议的网络通信中的动态防御方法
US10581916B2 (en) System and method for identifying cyber-attacks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant