掌桥专利:专业的专利平台
掌桥专利
首页

一种业务链路追踪方法及相关装置

文献发布时间:2023-06-19 11:02:01


一种业务链路追踪方法及相关装置

技术领域

本申请涉及网络传输技术领域,具体涉及一种业务链路追踪方法及相关装置。

背景技术

在过去,用户量相对较小,服务系统的架构没那么复杂,web服务通常使用两层(web服务器和数据库)或三层(web服务器、应用服务器和数据库)架构,而如今随着互联网的发展与进步,服务系统需要支持大量的并发连接,并且需要将功能和服务进行结合,导致更加复杂的软件栈组合,需要用到比三层架构更复杂的多层架构,比如面向服务的架构(SOA,Service-Oriented Architecture)或者微服务框架,再加上硬件等上下游系统的接入,这就导致服务系统对服务的调用越来越复杂,调用服务所需的链路也更长。

如果服务系统中出现错误和异常,要对该异常迅速定位十分困难,目前现有技术中大多开源组件通过对服务系统进行埋点的方式追踪业务逻辑的调用过程,基本原理是在服务系统终端部署采集的SDK代码,当触发调用服务时自动对该服务的调用路径进行记录和存储,但是这需要开发人员针对不同的服务添加不同的采集代码,增加了业务的复杂性,工作量大,同时也降低了代码的可读性。

发明内容

本申请提供了一种业务链路追踪方法及相关装置,通过对网络包进行解析获得网络包中包含的业务请求数据以及该业务请求的路径来源。

本申请第一方面提供了一种业务链路追踪方法,包括:

分析服务端接收信息收集端上报的目标网络包;

所述分析服务端获取所述目标网络包中存在的业务请求数据;

所述分析服务端根据配置文件识别所述业务请求数据中的服务需求;

所述分析服务端通过所述目标网络包中的第一标识参数查询所述业务请求数据的调用路径,所述第一标识参数中包含所述业务请求数据的调用路径;

所述分析服务端依据所述服务需求提供相应的数据服务并将所述数据服务按照所述调用路径原路返回。

可选的,所述方法还包括:

所述分析服务端依据所述服务需求类型将所述业务请求数据储存到预设存储节点。

可选的,所述方法还包括:

所述分析服务端通过用户输入的第二标识参数查询所述第二标识参数对应的服务信息,所述第二标识参数与所述目标网络中包含的标识参数一致。

本申请第二方面提供了一种业务链路追踪方法,包括:

信息收集端启动抓包工具进行网络抓包并配置要监控的网络端口得到第一原始网络包,所述第一原始网络包中包含所述网络端口所有的网络请求信息;

当所述网络端口存在网络请求时,所述信息收集端对所述第一原始网络包进行数据处理得到目标网络包,所述目标网络包中包含第一标识参数,所述第一标识参数中包含所述网络请求的调用路径;

所述信息收集端将所述目标网络包发送至分析服务端。

可选的,所述信息收集端对所述第一原始网络包进行数据处理得到目标网络包,包括:

所述信息收集端根据预设过滤规则对所述第一原始网络包进行过滤,得到符合要求的第二原始网络包;

所述信息收集端判断所述第二原始网络包的请求头中是否包含所述第一标识参数;

若否,则所述信息收集端将所述网络端口的路径作为第一标识参数添加至所述第二原始网络包的请求头中;

若是,则所述信息收集端将所述第二原始网络包储存至预设位置。

可选的,所述抓包工具适配于不同的计算机操作系统。

本申请第三方面提供了一种业务链路追踪装置,包括:

第一接收单元,用于接收分析服务端接收信息收集端上报的目标网络包;

第一获取单元,用于所述分析服务端获取所述目标网络包中存在的业务请求数据;

识别单元,用于所述分析服务端根据配置文件识别所述业务请求数据中的服务需求;

查询单元,用于所述分析服务端通过所述目标网络包中的第一标识参数查询所述业务请求数据的调用路径,所述第一标识参数中包含所述业务请求数据的调用路径;

第一执行单元,用于所述分析服务端依据所述服务需求提供相应的数据服务并将所述数据服务按照所述调用路径原路返回。

可选的,所述装置还包括:

第一存储单元,用于所述分析服务端依据所述服务需求类型将所述业务请求数据储存到预设存储节点。

本申请第四方面提供了一种业务链路追踪装置,包括:

抓包单元,用于信息收集端启动抓包工具进行网络抓包并配置要监控的网络端口得到第一原始网络包,所述第一原始网络包中包含所述网络端口所有的网络请求信息;

数据处理单元,用于当所述网络端口存在网络请求时,所述信息收集端对所述第一原始网络包进行数据处理得到目标网络包,所述目标网络包中包含第一标识参数,所述第一标识参数中包含所述网络请求的调用路径;

第二执行单元,用于所述信息收集端将所述目标网络包发送至分析服务端。

可选的,所述数据处理单元包括:

过滤模块,用于所述信息收集端根据预设过滤规则对所述第一原始网络包进行过滤,得到符合要求的第二原始网络包;

判断模块,用于所述信息收集端判断所述第二原始网络包的请求头中是否包含所述第一标识参数;

生成模块,用于当所述判断模块确定所述第二原始网络包的请求头中不包含所述第一标识参数时,则所述信息收集端将所述网络端口的路径作为第一标识参数添加至所述第二原始网络包的请求头中;

第二存储单元,用于当所述判断模块确定所述第二原始网络包的请求头中包含所述第一标识参数时,则所述信息收集端将所述第二原始网络包储存至预设位置。

本申请第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行前述业务链路追踪的方法。

从以上技术方案可以看出,本申请中分析服务端对信息收集端上报的目标网络包进行拆包及解析后,确定该目标网络包中存在的业务请求及该业务请求的请求路径,该分析服务端依据将相应的服务依据该请求路径原路返回,不需要对原有代码进行增加或修改,而是通过信息收集端上报的目标网络中包含的第一标识参数确定链路信息,大大提高了业务追踪定位的效率。

附图说明

图1为本申请中业务链路追踪方法的一个实施例流程示意图;

图2为本申请中业务链路追踪方法的另一个实施例流程示意图;

图3为本申请中业务链路追踪方法的一个实施例流程示意图;

图4为本申请中业务链路追踪装置的一个实施例结构示意图;

图5为本申请中业务链路追踪装置的一个实施例结构示意图;

图6为本申请中业务链路追踪装置的一个实施例结构示意图。

具体实施方式

本申请实施例提供了一种业务链路追踪方法及相关装置,通过对网络包进行解析获得网络包中包含的业务请求数据以及该业务请求的路径来源。

下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的方法应用于接入服务系统的智能终端设备,对此,本申请不做限定。为方便描述,下面以执行主体为分析服务端和信息收集端为例进行描述。

请参阅图1,本申请中业务链路追踪方法一个实施例包括:

101、分析服务端接收信息收集端上报的目标网络包;

针对网络业务中存在业务链路较长以及对每个网络节点的处理状态及该网络节点在处理中出现的问题跟踪定位困难的情况,本申请实施例中,分析服务端分析服务端可以同时接收多个信息收集端上报的目标网络包,这些目标网络包中包含该信息收集端收集并整理的数据信息,通过这些数据信息能够对网络节点的处理状态以及出现问题进行进一步的追踪和处理。

102、所述分析服务端获取所述目标网络包中存在的业务请求数据;

基于步骤101接收的目标网络包,分析服务端分析该目标网络包中存在的业务请求数据,例如请求参数和返回参数等,这些请求数据可以是中间层的转发也可以是直接请求转发,具体此处不做限定。

103、所述分析服务端根据配置文件识别所述业务请求数据中的服务需求;

本申请实施例中,在分析服务端中已经配置了对应的配置文件用来对步骤102获取到的业务请求数据进行识别,进而提取出该请求数据中所需的服务,该配置文件中把互联网协议(IP,Internet Protocol)地址与对应的服务建立了对应的映射关系。

104、所述分析服务端通过所述目标网络包中的第一标识参数查询所述业务请求数据的调用路径,所述第一标识参数中包含所述业务请求数据的调用路径;

为了能够对请求路径进行追踪,本申请实施例中使用映射调试上下文(MDC,Mapped Diagnostic Context)对处理进行追踪,当请求到来时生成第一标识(traceID),并不改动原有的输出语句,对Web应用来说,通常是在请求被处理的最开始保存这些数据,分析服务端从目标网络包中查找该第一标识对应的参数即可确定该业务请求数据调用的路径,需要说明的是,该分析服务端还提供了数据查询工具,能够将该服务的调用顺序以及每个节点间的交互信息展示出来。

105、所述分析服务端依据所述服务需求提供相应的数据服务并将所述数据服务按照所述调用路径原路返回。

依据步骤根据103确定的服务需求,分析服务端将该服务需求的回应数据按照步骤104确定的调用路径返回至请求生成的请求端中。

本申请实施例中,分析服务端接收信息收集端发送的目标网络包,通过对该目标网络包进行拆包和解析后,提取出该目标网络包中存在的请求服务信息,该请求服务信息中包含请求端的IP地址,从该目标网络包中的请求头中找到第一标识,通过该第一标识确定该业务请求的调用路径,并为该请求方提供相应的服务数据并按照该调用路径返回至请求方,这种追踪方式无需对服务系统设置埋点,不仅减少了开发人员的工作量,还大大简化了服务的定位和追踪过程。

请参阅图2,本申请中业务链路追踪方法另一个实施例包括:

201、分析服务端接收信息收集端上报的目标网络包;

202、所述分析服务端获取所述目标网络包中存在的业务请求数据;

203、所述分析服务端根据配置文件识别所述业务请求数据中的服务需求;

本申请实施例中步骤201至步骤203与前述实施例中步骤101至步骤103类似,此处不再赘述。

204、所述分析服务端依据所述服务需求类型将所述业务请求数据储存到预设存储节点;

为了能够对所提供过的服务进行记录,本申请实施例中,分析服务端在确定服务需求后,将该服务需求数据按照业务模块顺序存储,将所有的相关联的请求存储到一个存储节点,以方便后续查询。

205、所述分析服务端通过所述目标网络包中的第一标识参数查询所述业务请求数据的调用路径,所述第一标识参数中包含所述业务请求数据的调用路径;

206、所述分析服务端依据所述服务需求提供相应的数据服务并将所述数据服务按照所述调用路径原路返回。

本申请实施例中步骤205至步骤206与前述实施例中步骤104至步骤105类似,此处不再赘述。

本申请实施例中,分析服务端对从信息收集端接收的目标网络包,对目标网络包中存在的请求服务,将这些请求服务储存到预设储存节点中,方便对请求的处理历史进行查询和统计,再通过分析该目标网络包中的相应信息,从而确定该服务的调用路径,并为该请求方提供相应的服务数据并按照该调用路径返回至请求方,大大简化了服务的定位和追踪过程。

以上对分析服务端执行的方法进行了详细描述,下面将对信息收集端执行的步骤进行详细说明。

请参阅图3,本申请中业务链路追踪方法一个实施例包括:

301、信息收集端启动抓包工具进行网络抓包并配置要监控的网络端口得到第一原始网络包,所述第一原始网络包中包含所述网络端口所有的网络请求信息;

本申请实施例中,信息收集端使用的抓包工具可以适配于不同的计算机操作系统,例如Windows系列以及Linux系列等,具体此处不做限定。信息收集端启动该抓包工具后配置要监控的网络端口,依据该抓包工具中设置的拦截信息列表进行信息拦截并将第一标识加入拦截列表中,这些信息中包含来自这个网络端口的所有网络请求信息,例如请求的地址、端口以及请求的参数和返回的参数等信息,将这些拦截到的信息组合得到第一原始网络包,需要说明的是,抓包工具可以同时对多个网络端口进行监控。

302、当所述网络端口存在网络请求时,所述信息收集端根据预设过滤规则对所述第一原始网络包进行过滤,得到符合要求的第二原始网络包;

由于第一网络包中包含了网络端口所有的网络请求信息,其中存在大量的信息,本申请实施例中信息收集端按照预设过滤规则对第一网络包中的信息进行过滤,去掉与服务请求无关的数据得到第二原始网络包。

303、所述信息收集端判断所述第二原始网络包的请求头中是否包含第一标识参数,若否,则执行步骤304,若是,则执行步骤305;

使用的DMC对处理进行追踪的服务系统中,在请求到达时即生成第一标识参数(traceID),本申请实施例中,通过该第一标识参数确定调用路径,信息收集端判断步骤302得到的第二原始网络包请求头中是否包含第一标识参数。

304、所述信息收集端将所述网络端口的路径作为第一标识参数添加至所述第二原始网络包的请求头中;

若第二原始网络包请求头中不包含第一标识参数,或者该第一标识参数为空,则生成第一标识参数并将该网络端口的路径赋值给该第一标识参数并添加至请求头中。

305、所述信息收集端将所述第二原始网络包储存至预设位置;

由于信息收集端收集到的数据除了可以查找调用路径外,还可以根据第一标识参数查询某一次请求的处理过程,也可以查询某段时间内某个服务的网络交互情况,还可以统计某服务对某个接口的调用次数等,具体此处不做限定,因此本申请实施例将第二原始网络包储存至预设位置,以方便对请求历史进行查询和统计。

306、所述信息收集端将所述第二原始网络包发送至分析服务端。

信息收集端的功能是对网络端口进行监控并将收集到的数据上传至分析服务端,第二原始网络包中的数据已经过信息收集端的筛选,保留下与网络请求相关的信息,信息收集端再将第二原始网络包按照交互接口设置的频率上传至分析服务端,由分析服务端对该第二原始网络包中的信息进行具体的分析和处理。

请参阅图4,本申请中业务链路追踪装置一个实施例包括:

第一接收单元401,用于接收分析服务端接收信息收集端上报的目标网络包;

第一获取单元402,用于所述分析服务端获取所述目标网络包中存在的业务请求数据;

识别单元403,用于所述分析服务端根据配置文件识别所述业务请求数据中的服务需求;

查询单元404,用于所述分析服务端通过所述目标网络包中的第一标识参数查询所述业务请求数据的调用路径,所述第一标识参数中包含所述业务请求数据的调用路径;

第一执行单元405,用于所述分析服务端依据所述服务需求提供相应的数据服务并将所述数据服务按照所述调用路径原路返回。

第一存储单元406,用于所述分析服务端依据所述服务需求类型将所述业务请求数据储存到预设存储节点。

请参阅图5,本申请中业务链路追踪装置一个实施例包括:

抓包单元501,用于信息收集端启动抓包工具进行网络抓包并配置要监控的网络端口得到第一原始网络包,所述第一原始网络包中包含所述网络端口所有的网络请求信息;

数据处理单元502,用于当所述网络端口存在网络请求时,所述信息收集端对所述第一原始网络包进行数据处理得到目标网络包,所述目标网络包中包含第一标识参数,所述第一标识参数中包含所述网络请求的调用路径;

第二执行单元503,用于所述信息收集端将所述目标网络包发送至分析服务端。

本实施例中数据处理单元502包含有:

过滤模块5021,用于所述信息收集端根据预设过滤规则对所述第一原始网络包进行过滤,得到符合要求的第二原始网络包;

判断模块5022,用于所述信息收集端判断所述第二原始网络包的请求头中是否包含所述第一标识参数;

生成模块5023,用于当所述判断模块确定所述第二原始网络包的请求头中不包含所述第一标识参数时,则所述信息收集端将所述网络端口的路径作为第一标识参数添加至所述第二原始网络包的请求头中;

第二存储单元5024,用于当所述判断模块确定所述第二原始网络包的请求头中包含所述第一标识参数时,则所述信息收集端将所述第二原始网络包储存至预设位置。

请参阅图6,本申请中业务链路追踪装置一个实施例包括:

处理器601、存储器602、输入输出单元603、总线604;

所述处理器601与所述存储器602、所述输入输出单元603以及所述总线604相连;

所述处理器601具体执行如下操作:

分析服务端接收信息收集端上报的目标网络包;

所述分析服务端获取所述目标网络包中存在的业务请求数据;

所述分析服务端根据配置文件识别所述业务请求数据中的服务需求;

所述分析服务端通过所述目标网络包中的第一标识参数查询所述业务请求数据的调用路径,所述第一标识参数中包含所述业务请求数据的调用路径;

所述分析服务端依据所述服务需求提供相应的数据服务并将所述数据服务按照所述调用路径原路返回。

本实施例中,处理器601的功能与前述图1至图3所示实施例中的步骤对应,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 一种业务链路追踪方法及相关装置
  • 一种通用可扩展的追踪业务全链路的监控方法及系统
技术分类

06120112770222