CN106254145B - 网络请求跟踪处理方法和装置 - Google Patents
网络请求跟踪处理方法和装置 Download PDFInfo
- Publication number
- CN106254145B CN106254145B CN201610805439.0A CN201610805439A CN106254145B CN 106254145 B CN106254145 B CN 106254145B CN 201610805439 A CN201610805439 A CN 201610805439A CN 106254145 B CN106254145 B CN 106254145B
- Authority
- CN
- China
- Prior art keywords
- subsystem
- request
- network request
- network
- call relation
- 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
Links
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/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- 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/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- 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/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种网络请求跟踪处理方法和装置,该网络请求跟踪处理方法包括:获取网络请求在被响应处理过程中经过的子系统所在的服务器上报的相应日志;从所述日志中提取相应服务器上运行的子系统在对所述网络请求进行响应处理时的运行环境上下文信息和请求上下文信息;根据所述运行环境上下文信息模拟所述子系统的运行环境;根据所述请求上下文信息模拟所述网络请求;在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。本发明提供的网络请求跟踪处理方法和装置可以协助快速定位问题。
Description
技术领域
本发明涉及网络技术领域,特别是涉及一种网络请求跟踪处理方法和装置。
背景技术
通常一个完整的网络系统包括众多子系统,这些子系统数量可能是几个、几十个或者上百个。网络系统在接收到一个网络请求后,需要网络系统中的多个子系统协调工作以完成对该网络请求的响应处理。
然而,网络系统中子系统数量众多,导致网络系统结构复杂,当网络请求的响应处理发生问题时,难以定位问题。
发明内容
基于此,有必要针对目前网络系统结构复杂导致发生问题时难以定位问题的技术问题,提供一种网络请求跟踪处理方法和装置。
一种网络请求跟踪处理方法,包括:
获取网络请求在被响应处理过程中经过的子系统所在的服务器上报的相应日志;
从所述日志中提取相应服务器上运行的子系统在对所述网络请求进行响应处理时的运行环境上下文信息和请求上下文信息;
根据所述运行环境上下文信息模拟所述子系统的运行环境;
根据所述请求上下文信息模拟所述网络请求;
在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。
一种网络请求跟踪处理装置,包括:
日志获取模块,用于获取网络请求在被响应处理过程中经过的子系统所在的服务器上报的相应日志;
上下文信息提取模块,用于从所述日志中提取相应服务器上运行的子系统在对所述网络请求进行响应处理时的运行环境上下文信息和请求上下文信息;
模拟模块,用于根据所述运行环境上下文信息模拟所述子系统的运行环境;根据所述请求上下文信息模拟所述网络请求;
调试模块,用于在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。
上述网络请求跟踪处理方法和装置,在网络请求被响应处理过程中,该网络请求所经过的服务器会上报相应的日志,从日志中可以提取服务器在处理该网络请求时的运行环境上下文信息和请求上下文信息,从而可以模拟出服务器在处理该网络请求时的运行环境以及当时的网络请求。在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理,可以协助快速定位问题,且不影响子服务器上运行的子系统的工作。
附图说明
图1为一个实施例中网络请求跟踪处理系统的应用环境图;
图2为另一个实施例中网络请求跟踪处理系统的应用环境图;
图3为一个实施例中服务器的内部结构示意图;
图4为一个实施例中网络请求跟踪处理方法的流程示意图;
图5为一个实施例中网络请求跟踪处理系统中实现网络请求跟踪处理方法的原理图;
图6为一个实施例中根据请求标识进行关联分析,生成子系统调用关系链并展示的步骤的流程示意图;
图7为一个实施例中根据子系统调用关系链展示指令拉取子系统调用关系链的步骤的流程示意图;
图8为一个实施例中对日志进行整体统计分析并展示的步骤的流程示意图;
图9为一个实施例中根据运行环境上下文信息模拟子系统的运行环境的步骤的流程示意图;
图10为一个实施例中网络请求跟踪处理装置的结构框图;
图11为另一个实施例中网络请求跟踪处理装置的结构框图;
图12为再一个实施例中网络请求跟踪处理装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中网络请求跟踪处理系统的应用环境图。参照图1,该网络请求跟踪处理系统与网络请求响应处理系统连接,包括后端处理服务器110和前端展示设备120,后端处理服务器110与网络请求响应处理系统130中运行子系统的服务器相连接,用户终端140可连接网络请求响应处理系统130。其中,用户终端140向网络请求响应处理系统130发送网络请求,该网络请求经过网络请求响应处理系统130中若干服务器所运行的子系统,这些子系统依次对该网络请求进行响应处理,网络请求响应处理系统130将对该网络请求进行响应处理后得到的请求结果反馈至用户终端140。
进一步地,后端处理服务器110可用于获取网络请求在被响应处理过程中经过的子系统所在的服务器上报的相应日志;从日志中提取相应服务器上运行的子系统在对网络请求进行响应处理时的运行环境上下文信息和请求上下文信息;从日志中提取相应服务器上运行的子系统在对网络请求进行响应处理时的运行环境上下文信息和请求上下文信息;根据运行环境上下文信息模拟子系统的运行环境;根据请求上下文信息模拟网络请求;在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。前端展示设备120可用于展示响应处理结果和调试处理结果。
图2为另一个实施例中网络请求跟踪处理系统的应用环境图。参照图2,后端处理服务器110包括日志中转服务器111、文件存储服务器112、运行环境模拟服务器113、数据库存储服务器114和统计分析服务器115。其中,文件存储服务器112可采用分布式文件系统,数据库存储服务器114可采用分布式数据库系统,如HBase(Hadoop Database);统计分析服务器115可采用分布式计算系统,如Hadoop计算平台。
其中,日志中转服务器111可用于接收网络请求在被响应处理过程中经过的子系统所在的服务器上报的相应日志文件;并将上报的日志文件存储至文件存储服务器112。运行环境模拟服务器113可用于从文件存储服务器112存储的日志文件中提取相应子系统在对网络请求进行响应处理时的运行环境上下文信息和请求上下文信息;根据运行环境上下文信息模拟子系统的运行环境;根据请求上下文信息模拟网络请求;在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。前端展示设备120可用于展示响应处理结果和调试处理结果。
进一步地,网络请求在被响应处理过程中具有全局唯一的请求标识,且请求标识被记录在相应日志中。日志中转服务器111可用于从上报的日志文件中筛选出包括相同的请求标识的日志文件;从筛选出的日志文件中提取请求到达时间和相应的子系统标识;按照提取的请求到达时间的先后顺序排列相应的子系统标识,形成子系统调用关系链;将子系统调用关系链对应于相同的请求标识存储至数据库存储服务器114。数据库存储服务器114可用于获取子系统调用关系链展示指令;从子系统调用关系链展示指令中提取请求标识;根据提取的请求标识从本地拉取相应的子系统调用关系链,供前端展示设备120展示。日志中转服务器111还可以获取与相同的请求标识以及提取的子系统标识相对应的请求处理耗时,并对应于子系统标识存储至数据库存储服务器114中。前端展示设备120可用于在调用关系展示页面中,对应于子系统调用关系链中的子系统标识展示相应的请求处理耗时。
更进一步地,统计分析服务器115可定时从文件存储服务器112拉取日志文件进行整体统计分析,得到统计分析结果;将统计分析结果存储至数据库存储服务器114。数据库存储服务器114可用于获取网络请求统计分析指令;根据网络请求统计分析指令从数据库存储服务器114拉取统计分析结果,供前端展示设备120进行展示。
而且,运行环境模拟服务器113可用于获取服务器所运行子系统的镜像文件;根据镜像文件构建子系统的通用环境;将运行环境上下文信息导入通用环境,模拟出子系统在对网络请求进行响应处理时的运行环境。运行环境模拟服务器113还可以用于将请求上下文信息导入模拟的运行环境,在模拟的运行环境中对模拟的网络请求进行响应处理,从而在模拟的运行环境中重现网络请求的执行过程,并根据相应的响应处理结果进行调试处理。
图3为一个实施例中用于实现后端处理服务器110的服务器的内部结构示意图。参照图3,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统和网络请求跟踪处理装置,该网络请求跟踪处理装置用于实现一种网络请求跟踪处理方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的网络请求跟踪处理装置的运行提供环境。该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种网络请求跟踪处理方法。该服务器的网络接口用于网络通信。该服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图4为一个实施例中网络请求跟踪处理方法的流程示意图。本实施例主要以该方法应用于上述图1所示网络请求跟踪处理系统进行举例说明,具体以该方法应用于图1所示网络请求跟踪处理系统中的后端处理服务器110进行举例说明。参照图4,该方法具体包括如下步骤:
S402,获取网络请求在被响应处理过程中经过的子系统所在的服务器上报的相应日志。
其中,网络请求是指通过网络传输的用于请求网络系统进行响应处理以返回特定数据的请求。网络系统包括若干子系统,该子系统也可以称之为子模块,子系统运行的服务器构成网络请求响应处理系统。网络系统在接收到一个网络请求后,依次经过网络系统中的多个子系统进行响应处理后,输出请求结果。响应处理是指网络系统在接收到网络请求到输出请求结果的过程中针对该网络请求所做的处理。响应处理是指对网络请求进行响应所做的处理。
网络系统中的各个子系统在对网络请求进行响应处理时,会对该响应处理进行记录,在该子系统所在的服务器上形成日志。参照图5,子系统所在的服务器上存在日志收集器,该日志收集器可即时或者定时将所在服务器上的日志上报至后端处理服务器,具体可上报至后端处理服务器所包括的日志中转服务器。日志可以是文件形式,称之为日志文件;日志也可以是数据库中的数据。日志收集器可以是一种应用程序。
S404,从日志中提取相应服务器上运行的子系统在对网络请求进行响应处理时的运行环境上下文信息和请求上下文信息。
具体地,后端处理服务器可从上报的日志中提取运行环境上下文信息和请求上下文信息。其中,运行环境上下文信息用于描述上报该日志的服务器上运行的子系统在处理网络请求的环境。请求上下文信息则用于描述上报该日志的服务器上运行的子系统所进行响应处理的网络请求的状态。运行环境上下文信息比如操作系统版本、当前子系统的信息等。子系统的信息比如子系统标识、子系统版本以及子系统类型等。请求上下文信息比如网络请求所携带的请求参数、所请求数据的状态以及经过当前子系统的响应处理后输出的响应处理结果以及与当前子系统存在调用关系的子系统的信息等。
S406,根据运行环境上下文信息模拟子系统的运行环境。
运行环境上下文信息描述了上报该日志的服务器上运行的子系统在处理网络请求的环境,因此后端处理服务器可利用该运行环境上下文信息还原出服务器在处理网络请求时的运行环境。具体地,后端处理服务器可确定运行环境上下文信息所对应的子系统,模拟该子系统的通用环境,进而根据运行环境上下文信息调整通用环境,以模拟出子系统在对网络请求进行响应处理时所处的运行环境。
S408,根据请求上下文信息模拟网络请求。
具体地,请求上下文信息用于描述上报该日志的服务器上运行的子系统所进行响应处理的网络请求的状态,因此后端处理服务器可利用该请求上下文信息对网络请求所经过子系统所在的服务器当时进行响应处理的网络请求进行重构。
S410,在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。
具体地,后端处理服务器构建出网络请求被进行响应处理时的子系统的运行环境,在该运行环境中对该网络请求进行响应处理,得到模拟的响应处理结果,该模拟的响应处理结果与相应的网络请求经过相应子系统后输出的响应处理结果一致,实现了网络请求响应处理现场的还原。调试处理是指通过调整子系统的代码或者参数来优化子系统的过程,优化子系统可以是排除错误或者改善性能瓶颈。
上述网络请求跟踪处理方法,在网络请求被响应处理过程中,该网络请求所经过的服务器会上报相应的日志,从日志中可以提取服务器在处理该网络请求时的运行环境上下文信息和请求上下文信息,从而可以模拟出服务器在处理该网络请求时的运行环境以及当时的网络请求。在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理,可以协助快速定位问题,且不影响子服务器上运行的子系统的工作。
在一个实施例中,网络请求在被响应处理过程中具有全局唯一的请求标识,且请求标识被记录在相应日志中。网络请求在被网络系统进行响应处理过程中,该网络请求可能被拆分或转化为不同的子请求进行响应处理,这些子请求也都属于该网络请求。一个网络请求的子请求可以是不同类型,并具有不同的子请求标识,都携带有该网络请求全局唯一的请求标识。全局唯一是指在网络系统中唯一。网络请求的请求标识可以由网络系统中作为该网络请求的入口的子系统分配,比如可用当前时间戳作为请求标识,该当前时间戳的精度可分辨网络请求被响应处理的过程。网络请求的请求标识也可以通过网络系统中用于统一分配序列号的服务器进行分配。
在一个实施例中,在步骤S402之后,该网络请求跟踪处理方法还包括根据请求标识进行关联分析,生成子系统调用关系链并展示的步骤。参照图6,该根据请求标识进行关联分析,生成子系统调用关系链并展示的步骤具体包括如下步骤:
S602,从上报的日志中筛选出包括相同的请求标识的日志。
具体地,网络请求在整个被响应过程中具有全局唯一的请求标识,该请求标识会在网络请求经过子系统被响应处理时记录在日志中,且该网络请求被该子系统进行响应处理时的运行环境上下文信息和请求上下文信息也会记录在日志中。于是,通过相同的请求标识,可以筛选出同一网络请求在网络系统中被响应处理的整个过程中所经过子系统所记录的日志,筛选出的日志描述了该请求标识所表示的网络请求的整个请求路径。
S604,从筛选出的日志中提取请求到达时间和对相应的网络请求进行响应处理的子系统标识。
其中,提取的请求到达时间是指相应日志所对应的网络请求到达记录该日志的子系统的时间。请求到达时间相应的网络请求是前述相同的请求标识所表示的网络请求,对该网络请求进行响应处理的子系统标识是指对该网络请求进行响应处理的子系统的唯一标识。
S606,按照提取的请求到达时间的先后顺序排列相应的子系统标识,形成子系统调用关系链。
具体地,后端处理服务器可按照请求到达时间升序或降序的顺序排列与该请求到达时间相应的子系统标识,形成用子系统标识的排列顺序表达的子系统调用关系链。
在一个实施例中,后端处理服务器可按照请求到达时间的先后顺序排列相应的子系统标识后,结合与排序后的子系统标识存在调用关系的子系统标识确定排列后的子系统标识之间的调用关系,形成子系统调用关系链。
其中,先后顺序可以是升序或者降序。子系统调用关系链是指表达网络请求所经过的子系统之间调用关系的数据。调用关系比如网络请求依次经过子系统A、B和C,则子系统A调用了子系统B,子系统B调用了子系统C,且与子系统B存在调用关系的子系统为子系统A和子系统C。
S608,提供调用关系展示页面,在调用关系展示页面中展示子系统调用关系链。
具体地,后端处理服务器可提供调用关系展示页面,由前端展示设备在该调用关系展示页面中展示形成的子系统调用关系链。子系统调用关系链还可以呈现为图表或者动画形式,便于明确子系统之间的调用关系。
本实施例中,依据网络请求在被响应处理过程中全局唯一的请求标识,将日志进行关联分析,可以形成子系统调用关系链并展示。开发人员可以基于展示的子系统调用关系链理清子系统之间的调用关系,方便开发人员发现和定位网络请求所经过的子系统之间调用关系所存在的问题。
在一个实施例中,该网络请求跟踪处理方法还包括:获取与相同的请求标识以及提取的子系统标识相对应的请求处理耗时;在调用关系展示页面中,对应于子系统调用关系链中的子系统标识展示相应的请求处理耗时。
具体地,后端处理服务器可在步骤S604中从筛选出的日志中提取与前述相同的请求标识和提取的子系统标识对应的请求处理耗时,该请求处理耗时表示提取的子系统标识所表示的系统在处理该请求标识所表示的网络请求所消耗的时长。该请求处理耗时可以取相应网络请求到达相应子系统起,至相应子系统输出响应处理结果的时长。后端处理服务器也可以根据日志中记录的请求到达时间和响应结果输出时间实时计算请求处理耗时。前端展示设备在调用关系展示页面中,对应于子系统调用关系链中的子系统标识展示相应的请求处理耗时,还可以对应于子系统调用关系链中的子系统标识展示相应的请求到达时间。
本实施例中,在调用关系展示页面中,对应于子系统调用关系链中的子系统标识展示相应的请求处理耗时,可以使得开发人员可以根据各个子系统的请求处理耗时定位网络请求被响应处理过程中的性能瓶颈,进而针对存在性能瓶颈的子系统进行优化改进。
在一个实施例中,在步骤S608之前,该网络请求跟踪处理方法还包括根据子系统调用关系链展示指令拉取子系统调用关系链的步骤,参照图7,该根据子系统调用关系链展示指令拉取子系统调用关系链的步骤具体包括如下步骤:
S702,将子系统调用关系链对应于相同的请求标识存储至分布式数据库系统。
具体地,日志中转服务器可以将前述相同的请求标识作为索引,将相应的子系统调用关系链存储至分布式数据库系统。采用分布式数据库系统可以容纳海量的数据,方便在需要时即时查询子系统调用关系链。分布式数据库系统也可以替换为单机数据库。分布式数据库系统可采用HBase(Hadoop Database)。
S704,获取子系统调用关系链展示指令。
S706,从子系统调用关系链展示指令中提取请求标识。
其中,子系统调用关系链展示指令是指触发子系统调用关系链的展示的计算机可读指令,子系统调用关系链展示指令可在调用关系展示页面中由开发人员触发。具体地,调用关系展示页面可设置有输入框,当开发人员在输入框中输入请求标识后,生成携带有该请求标识的子系统调用关系链展示指令。
S708,根据提取的请求标识从分布式数据库系统中拉取相应的子系统调用关系链。
具体地,前端展示设备可从分布式数据库系统中拉取以提取的请求标识作为索引的子系统调用关系链。
本实施例中,将子系统调用关系链对应于请求标识存储在分布式数据库系统中,开发人员可根据需要即时查询特定网络请求的子系统调用关系链,方便高效地发现和定位问题。
在一个实施例中,基于图4所示的网络请求跟踪处理方法,该网络请求跟踪处理方法还包括对日志进行整体统计分析并展示的步骤,参照图8,该对日志进行整体统计分析并展示的步骤具体包括如下步骤:
S802,将获取的日志存储至分布式文件系统。
具体地,后端处理服务器将获取的日志以文件形式存储至分布式文件系统。分布式文件系统可采用HDFS(Hadoop Distributed File System)或者GFS(Google FileSystem,谷歌文件系统)。
S804,定时从分布式文件系统拉取日志进行整体统计分析,得到统计分析结果。
其中,定时可以是每隔预设时间间隔或者每到预设时间点。后端处理服务器可定时从分布式文件系统拉取日志,按照预设的一个或多个分析维度对拉取的日志进行整体性的统计分析,得到相应的统计分析结果。分析维度可以是子系统的请求成功率维度、网络系统整体耗时维度、子系统的请求耗时维度或者错误码分析维度等。
S806,将统计分析结果存储至分布式数据库系统。
S808,获取网络请求统计分析指令。
S810,根据网络请求统计分析指令从分布式数据库系统拉取统计分析结果进行展示。
其中,网络请求统计分析指令是用于触发统计分析结果的展示的计算机可读指令。具体地,前端展示设备可触发网络请求统计分析指令,从而根据网络请求统计分析指令从分布式数据库系统拉取统计分析结果进行展示。该统计分析结果可展示在调用关系展示页面中。网络请求统计分析指令可以指定分析维度,从而可根据该网络请求统计分析指令从分布式数据库系统拉取该指定的分析维度对应的统计分析结果。网络请求统计分析指令还可以指定统计分析范围,从而可根据该网络请求统计分析指令从分布式数据库系统拉取指定的统计分析范围的统计分析结果。统计分析范围比如指定需进行统计分析的子系统或者网络请求。
本实施例中,将获取的日志存储,并定时对存储的日志进行整体统计分析,得到统计分析结果,将该统计分析结果进行展示,方便开发人员根据统计分析结果了解网络系统的整体性能。通过多个分析维度的比较,有助于开发人员快速定位存在性能瓶颈或者故障的子系统,保证网络系统的稳定运行。分布式文件系统可以稳定、高效地存储海量的日志文件,而分布式数据库系统则可以稳定、高效地存储统计分析结果,在需要展示时快速展示呈现。
参照图9,在一个实施例中,步骤S406具体包括如下步骤:
S902,获取服务器所运行子系统的镜像文件。
具体地,网络系统中各个子系统的镜像文件预先被生成并存储,后端处理服务器可获取网络请求所经过的子系统的镜像文件。后端处理服务器具体可获取一个网络请求所经过的所有子系统的镜像文件,也可以仅获取网络请求所经过的指定需进行调试处理的子系统的镜像文件。
S904,根据镜像文件构建子系统的通用环境。
具体地,后端处理服务器具体可通过Docker程序,依据获取的镜像文件构建子系统的通用环境。Docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的容器中,然后发布到Linux机器上,也可以实现虚拟化。通用环境是指一个子系统默认的运行环境。其中,镜像文件可以包括构建通用环境所需的通用程序和通用参数,后端处理服务器可构建运行有该通用程序的环境并按照通用参数进行配置,以构建通用环境。
S906,将运行环境上下文信息导入通用环境,模拟出子系统在对网络请求进行响应处理时的运行环境。
具体地,后端处理服务器可将运行环境上下文信息导入到构建的通用环境中,使得通用环境按照该运行环境上下文信息进行配置,模拟出网络请求所经过子系统在对相应的网络请求进行响应处理时的运行环境。进一步地,后端处理服务器可将请求上下文信息导入模拟的运行环境,从而在模拟的运行环境中重现网络请求的执行过程。
本实施例中,利用镜像文件构建通用环境,再将环境上下文信息导入通用环境以模拟出运行环境,可以实现运行环境的快速还原,在模拟的运行环境中对相应的子系统进行调试处理,可以实现高效调试处理。
图10为一个实施例中网络请求跟踪处理装置1000的结构框图。参照图10,网络请求跟踪处理装置1000包括日志获取模块1001、上下文信息提取模块1002、模拟模块1003和调试模块1004。
日志获取模块1001,用于获取网络请求在被响应处理过程中经过的子系统所在的服务器上报的相应日志。
上下文信息提取模块1002,用于从日志中提取相应服务器上运行的子系统在对网络请求进行响应处理时的运行环境上下文信息和请求上下文信息。
模拟模块1003,用于根据运行环境上下文信息模拟子系统的运行环境。根据请求上下文信息模拟网络请求。
调试模块1004,用于在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。
上述网络请求跟踪处理装置1000,在网络请求被响应处理过程中,该网络请求所经过的服务器会上报相应的日志,从日志中可以提取服务器在处理该网络请求时的运行环境上下文信息和请求上下文信息,从而可以模拟出服务器在处理该网络请求时的运行环境以及当时的网络请求。在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理,可以协助快速定位问题,且不影响子服务器上运行的子系统的工作。
在一个实施例中,网络请求在被响应处理过程中具有全局唯一的请求标识,且请求标识被记录在相应日志中。
图11为另一个实施例中网络请求跟踪处理装置1000的结构框图。参照图11,网络请求跟踪处理装置1000还包括:子系统调用关系链处理模块1005。
子系统调用关系链处理模块1005,用于从上报的日志中筛选出包括相同的请求标识的日志;从筛选出的日志中提取请求到达时间和对相应的网络请求进行响应处理的子系统标识;按照提取的请求到达时间的先后顺序排列相应的子系统标识,形成子系统调用关系链;提供调用关系展示页面,在调用关系展示页面中展示子系统调用关系链。
本实施例中,依据网络请求在被响应处理过程中全局唯一的请求标识,将日志进行关联分析,可以形成子系统调用关系链并展示。开发人员可以基于展示的子系统调用关系链理清子系统之间的调用关系,方便开发人员发现和定位网络请求所经过的子系统之间调用关系所存在的问题。
在一个实施例中,子系统调用关系链处理模块1005还用于将子系统调用关系链对应于相同的请求标识存储至分布式数据库系统;获取子系统调用关系链展示指令;从子系统调用关系链展示指令中提取请求标识;根据提取的请求标识从分布式数据库系统中拉取相应的子系统调用关系链。
本实施例中,将子系统调用关系链对应于请求标识存储在分布式数据库系统中,开发人员可根据需要即时查询特定网络请求的子系统调用关系链,方便高效地发现和定位问题。
在一个实施例中,子系统调用关系链处理模块1005还用于获取与相同的请求标识以及提取的子系统标识相对应的请求处理耗时;在调用关系展示页面中,对应于子系统调用关系链中的子系统标识展示相应的请求处理耗时。
本实施例中,在调用关系展示页面中,对应于子系统调用关系链中的子系统标识展示相应的请求处理耗时,可以使得开发人员可以根据各个子系统的请求处理耗时定位网络请求被响应处理过程中的性能瓶颈,进而针对存在性能瓶颈的子系统进行优化改进。
图12为另一个实施例中网络请求跟踪处理装置1000的结构框图。参照图12,网络请求跟踪处理装置1000还包括:统计分析处理模块1006
统计分析处理模块1006,用于将获取的日志存储至分布式文件系统;定时从分布式文件系统拉取日志进行整体统计分析,得到统计分析结果;将统计分析结果存储至分布式数据库系统;获取网络请求统计分析指令;根据网络请求统计分析指令从分布式数据库系统拉取统计分析结果进行展示。
本实施例中,将获取的日志存储,并定时对存储的日志进行整体统计分析,得到统计分析结果,将该统计分析结果进行展示,方便开发人员根据统计分析结果了解网络系统的整体性能。通过多个分析维度的比较,有助于开发人员快速定位存在性能瓶颈或者故障的子系统,保证网络系统的稳定运行。分布式文件系统可以稳定、高效地存储海量的日志文件,而分布式数据库系统则可以稳定、高效地存储统计分析结果,在需要展示时快速展示呈现。
在一个实施例中,模拟模块1003还用于获取服务器所运行子系统的镜像文件;根据镜像文件构建子系统的通用环境;将运行环境上下文信息导入通用环境,模拟出子系统在对网络请求进行响应处理时的运行环境。
本实施例中,利用镜像文件构建通用环境,再将环境上下文信息导入通用环境以模拟出运行环境,可以实现运行环境的快速还原,在模拟的运行环境中对相应的子系统进行调试处理,可以实现高效调试处理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,该存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种网络请求跟踪处理方法,包括:
获取网络请求在被响应处理过程中经过的子系统所在的服务器上报的相应日志;所述网络请求在被响应处理过程中具有全局唯一的请求标识,且所述请求标识被记录在相应日志中;
从所述日志中提取相应服务器上运行的子系统在对所述网络请求进行响应处理时的运行环境上下文信息和请求上下文信息;
根据所述运行环境上下文信息模拟所述子系统的运行环境;
根据所述请求上下文信息模拟所述网络请求;
在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。
2.根据权利要求1所述的方法,其特征在于,所述网络请求依次经过网络系统中的多个子系统进行响应处理,所述网络请求在被所述网络系统进行响应处理过程中,所述网络请求能够被拆分或转化为不同的子请求进行响应处理,所述子请求属于所述网络请求;所述全局唯一是指在所述网络系统中唯一。
3.根据权利要求1所述的方法,其特征在于,所述获取网络请求在被响应处理过程中经过的子系统所在的服务器上报的相应日志的步骤之后,所述方法还包括:
从上报的日志中筛选出包括相同的请求标识的日志;
从筛选出的日志中提取请求到达时间和对相应的网络请求进行响应处理的子系统标识;
按照提取的请求到达时间的先后顺序排列相应的子系统标识,形成子系统调用关系链;
提供调用关系展示页面,在所述调用关系展示页面中展示所述子系统调用关系链。
4.根据权利要求3所述的方法,其特征在于,所述提供调用关系展示页面,在所述调用关系展示页面中展示所述子系统调用关系链的步骤之前,所述方法还包括:
将所述子系统调用关系链对应于所述相同的请求标识存储至分布式数据库系统;
获取子系统调用关系链展示指令;
从所述子系统调用关系链展示指令中提取请求标识;
根据提取的请求标识从所述分布式数据库系统中拉取相应的子系统调用关系链。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取与所述相同的请求标识以及提取的所述子系统标识相对应的请求处理耗时;
在所述调用关系展示页面中,对应于所述子系统调用关系链中的子系统标识展示相应的请求处理耗时。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将获取的日志存储至分布式文件系统;
定时从分布式文件系统拉取日志进行整体统计分析,得到统计分析结果;
将所述统计分析结果存储至分布式数据库系统;
获取网络请求统计分析指令;
根据所述网络请求统计分析指令从所述分布式数据库系统拉取统计分析结果进行展示。
7.根据权利要求1所述的方法,其特征在于,所述根据所述运行环境上下文信息模拟所述子系统的运行环境的步骤包括:
获取所述服务器所运行子系统的镜像文件;
根据所述镜像文件构建所述子系统的通用环境;
将所述运行环境上下文信息导入所述通用环境,模拟出所述子系统在对所述网络请求进行响应处理时的运行环境。
8.一种网络请求跟踪处理装置,其特征在于,包括:
日志获取模块,用于获取网络请求在被响应处理过程中经过的子系统所在的服务器上报的相应日志;所述网络请求在被响应处理过程中具有全局唯一的请求标识,且所述请求标识被记录在相应日志中;
上下文信息提取模块,用于从所述日志中提取相应服务器上运行的子系统在对所述网络请求进行响应处理时的运行环境上下文信息和请求上下文信息;
模拟模块,用于根据所述运行环境上下文信息模拟所述子系统的运行环境;根据所述请求上下文信息模拟所述网络请求;
调试模块,用于在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。
9.根据权利要求8所述的装置,其特征在于,所述网络请求依次经过网络系统中的多个子系统进行响应处理,所述网络请求在被所述网络系统进行响应处理过程中,所述网络请求能够被拆分或转化为不同的子请求进行响应处理,所述子请求属于所述网络请求;所述全局唯一是指在所述网络系统中唯一。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:子系统调用关系链处理模块,用于从上报的日志中筛选出包括相同的请求标识的日志;从筛选出的日志中提取请求到达时间和对相应的网络请求进行响应处理的子系统标识;按照提取的请求到达时间的先后顺序排列相应的子系统标识,形成子系统调用关系链;提供调用关系展示页面,在所述调用关系展示页面中展示所述子系统调用关系链。
11.根据权利要求10所述的装置,其特征在于,所述子系统调用关系链处理模块还用于将所述子系统调用关系链对应于所述相同的请求标识存储至分布式数据库系统;获取子系统调用关系链展示指令;从所述子系统调用关系链展示指令中提取请求标识;根据提取的请求标识从所述分布式数据库系统中拉取相应的子系统调用关系链。
12.根据权利要求10所述的装置,其特征在于,所述子系统调用关系链处理模块还用于获取与所述相同的请求标识以及提取的所述子系统标识相对应的请求处理耗时;在所述调用关系展示页面中,对应于所述子系统调用关系链中的子系统标识展示相应的请求处理耗时。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
统计分析处理模块,用于将获取的日志存储至分布式文件系统;定时从分布式文件系统拉取日志进行整体统计分析,得到统计分析结果;将所述统计分析结果存储至分布式数据库系统;获取网络请求统计分析指令;根据所述网络请求统计分析指令从所述分布式数据库系统拉取统计分析结果进行展示。
14.根据权利要求8所述的装置,其特征在于,所述模拟模块还用于获取所述服务器所运行子系统的镜像文件;根据所述镜像文件构建所述子系统的通用环境;将所述运行环境上下文信息导入所述通用环境,模拟出所述子系统在对所述网络请求进行响应处理时的运行环境。
15.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610805439.0A CN106254145B (zh) | 2016-09-06 | 2016-09-06 | 网络请求跟踪处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610805439.0A CN106254145B (zh) | 2016-09-06 | 2016-09-06 | 网络请求跟踪处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106254145A CN106254145A (zh) | 2016-12-21 |
CN106254145B true CN106254145B (zh) | 2019-07-19 |
Family
ID=57599238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610805439.0A Active CN106254145B (zh) | 2016-09-06 | 2016-09-06 | 网络请求跟踪处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106254145B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844410A (zh) * | 2016-09-18 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 一种分布式集群系统的调试方法和装置 |
CN108427624B (zh) * | 2017-02-13 | 2021-03-02 | 创新先进技术有限公司 | 一种系统稳定性风险的识别方法以及设备 |
CN107168845B (zh) * | 2017-03-31 | 2020-12-25 | 北京奇艺世纪科技有限公司 | 一种故障定位方法及装置 |
CN109218041B (zh) * | 2017-06-29 | 2022-03-11 | 北京京东尚科信息技术有限公司 | 用于服务器系统的请求处理方法和装置 |
CN107678914A (zh) * | 2017-09-13 | 2018-02-09 | 咪咕音乐有限公司 | 一种日志处理方法及装置、存储介质 |
CN107592230B (zh) * | 2017-09-22 | 2023-02-21 | 北京奇艺世纪科技有限公司 | 一种跟踪信息获取方法及装置 |
CN108199876A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇艺世纪科技有限公司 | 一种日志数据保存方法、装置及分布式服务系统 |
CN110213067B (zh) * | 2018-03-06 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 业务请求的跟踪信息处理方法、装置和系统 |
CN108462750A (zh) * | 2018-03-22 | 2018-08-28 | 平安好房(上海)电子商务有限公司 | 分布式调用追踪方法、业务系统、监控系统及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428042A (zh) * | 2012-05-22 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 对服务器进行压力测试的方法及系统 |
CN104850489A (zh) * | 2014-02-13 | 2015-08-19 | 富士通株式会社 | 移动应用测试系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8935561B2 (en) * | 2012-02-23 | 2015-01-13 | City University Of Hong Kong | Progressive network recovery |
-
2016
- 2016-09-06 CN CN201610805439.0A patent/CN106254145B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428042A (zh) * | 2012-05-22 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 对服务器进行压力测试的方法及系统 |
CN104850489A (zh) * | 2014-02-13 | 2015-08-19 | 富士通株式会社 | 移动应用测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106254145A (zh) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106254145B (zh) | 网络请求跟踪处理方法和装置 | |
CN110784419B (zh) | 铁路电务专业数据可视化方法及系统 | |
CN108519952B (zh) | 一种分布式的web自动化测试系统及方法 | |
CN105956082B (zh) | 实时数据处理与存储系统 | |
WO2019178979A1 (zh) | 报表数据查询方法、装置、存储介质和服务器 | |
CN109344170B (zh) | 流数据处理方法、系统、电子设备及可读存储介质 | |
CN108319547A (zh) | 测试用例生成方法、装置和系统 | |
CN109871326A (zh) | 一种脚本录制的方法和装置 | |
CN110472154A (zh) | 一种资源推送方法、装置、电子设备及可读存储介质 | |
CN107480036A (zh) | iOS移动应用的自动测试方法、装置、存储介质及终端 | |
CN108874470A (zh) | 一种信息处理方法及服务器、计算机存储介质 | |
CN106802865B (zh) | 用于软件测试的应答模拟装置及方法 | |
CN107273250A (zh) | 电子化保单自动承保系统的测试方法及装置 | |
CN112199261A (zh) | 应用程序性能分析方法及装置、电子设备 | |
CN117472988A (zh) | 一种流程实例的日志查看方法、装置、设备及可读介质 | |
WO2023169165A1 (zh) | 访问数据处理方法和装置、电子设备、计算机可读介质 | |
CN106357466A (zh) | 一种互联网产品监控方法及监控系统 | |
CN115328997B (zh) | 数据同步方法、系统、设备及存储介质 | |
CN115242684B (zh) | 全链路压测方法、装置、计算机设备及存储介质 | |
CN111984519A (zh) | 一种用于业务系统的测试方法及其装置 | |
WO2016201810A1 (zh) | 日志生成方法及装置 | |
CN111176624B (zh) | 一种流式计算指标的生成方法及装置 | |
CN115913912A (zh) | 报文拦截及业务链路图的生成方法及装置 | |
CN113886263A (zh) | 系统测试方法、装置、设备及存储介质 | |
CN108073638A (zh) | 数据诊断方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210923 Address after: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |