CN106254145A - 网络请求跟踪处理方法和装置 - Google Patents
网络请求跟踪处理方法和装置 Download PDFInfo
- Publication number
- CN106254145A CN106254145A CN201610805439.0A CN201610805439A CN106254145A CN 106254145 A CN106254145 A CN 106254145A CN 201610805439 A CN201610805439 A CN 201610805439A CN 106254145 A CN106254145 A CN 106254145A
- Authority
- CN
- China
- Prior art keywords
- subsystem
- request
- network request
- call relation
- daily record
- 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
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 (14)
1.一种网络请求跟踪处理方法,包括:
获取网络请求在被响应处理过程中经过的子***所在的服务器上报的相应日志;
从所述日志中提取相应服务器上运行的子***在对所述网络请求进行响应处理时的运行环境上下文信息和请求上下文信息;
根据所述运行环境上下文信息模拟所述子***的运行环境;
根据所述请求上下文信息模拟所述网络请求;
在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。
2.根据权利要求1所述的方法,其特征在于,所述网络请求在被响应处理过程中具有全局唯一的请求标识,且所述请求标识被记录在相应日志中。
3.根据权利要求2所述的方法,其特征在于,所述获取网络请求在被响应处理过程中经过的子***所在的服务器上报的相应日志的步骤之后,所述方法还包括:
从上报的日志中筛选出包括相同的请求标识的日志;
从筛选出的日志中提取请求到达时间和对相应的网络请求进行响应处理的子***标识;
按照提取的请求到达时间的先后顺序排列相应的子***标识,形成子***调用关系链;
提供调用关系展示页面,在所述调用关系展示页面中展示所述子***调用关系链。
4.根据权利要求3所述的方法,其特征在于,所述提供调用关系展示页面,在所述调用关系展示页面中展示所述子***调用关系链的步骤之前,所述方法还包括:
将所述子***调用关系链对应于所述相同的请求标识存储至分布式数据库***;
获取子***调用关系链展示指令;
从所述子***调用关系链展示指令中提取请求标识;
根据提取的请求标识从所述分布式数据库***中拉取相应的子***调用关系链。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取与所述相同的请求标识以及提取的所述子***标识相对应的请求处理耗时;
在所述调用关系展示页面中,对应于所述子***调用关系链中的子***标识展示相应的请求处理耗时。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将获取的日志存储至分布式文件***;
定时从分布式文件***拉取日志进行整体统计分析,得到统计分析结果;
将所述统计分析结果存储至分布式数据库***;
获取网络请求统计分析指令;
根据所述网络请求统计分析指令从所述分布式数据库***拉取统计分析结果进行展示。
7.根据权利要求1所述的方法,其特征在于,所述根据所述运行环境上下文信息模拟所述子***的运行环境的步骤包括:
获取所述服务器所运行子***的镜像文件;
根据所述镜像文件构建所述子***的通用环境;
将所述运行环境上下文信息导入所述通用环境,模拟出所述子***在对所述网络请求进行响应处理时的运行环境。
8.一种网络请求跟踪处理装置,其特征在于,包括:
日志获取模块,用于获取网络请求在被响应处理过程中经过的子***所在的服务器上报的相应日志;
上下文信息提取模块,用于从所述日志中提取相应服务器上运行的子***在对所述网络请求进行响应处理时的运行环境上下文信息和请求上下文信息;
模拟模块,用于根据所述运行环境上下文信息模拟所述子***的运行环境;根据所述请求上下文信息模拟所述网络请求;
调试模块,用于在模拟的运行环境中对模拟的网络请求进行响应处理,并根据相应的响应处理结果进行调试处理。
9.根据权利要求8所述的装置,其特征在于,所述网络请求在被响应处理过程中具有全局唯一的请求标识,且所述请求标识被记录在相应日志中。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:子***调用关系链处理模块,用于从上报的日志中筛选出包括相同的请求标识的日志;从筛选出的日志中提取请求到达时间和对相应的网络请求进行响应处理的子***标识;按照提取的请求到达时间的先后顺序排列相应的子***标识,形成子***调用关系链;提供调用关系展示页面,在所述调用关系展示页面中展示所述子***调用关系链。
11.根据权利要求10所述的装置,其特征在于,所述子***调用关系链处理模块还用于将所述子***调用关系链对应于所述相同的请求标识存储至分布式数据库***;获取子***调用关系链展示指令;从所述子***调用关系链展示指令中提取请求标识;根据提取的请求标识从所述分布式数据库***中拉取相应的子***调用关系链。
12.根据权利要求10所述的装置,其特征在于,所述子***调用关系链处理模块还用于获取与所述相同的请求标识以及提取的所述子***标识相对应的请求处理耗时;在所述调用关系展示页面中,对应于所述子***调用关系链中的子***标识展示相应的请求处理耗时。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
统计分析处理模块,用于将获取的日志存储至分布式文件***;定时从分布式文件***拉取日志进行整体统计分析,得到统计分析结果;将所述统计分析结果存储至分布式数据库***;获取网络请求统计分析指令;根据所述网络请求统计分析指令从所述分布式数据库***拉取统计分析结果进行展示。
14.根据权利要求8所述的装置,其特征在于,所述模拟模块还用于获取所述服务器所运行子***的镜像文件;根据所述镜像文件构建所述子***的通用环境;将所述运行环境上下文信息导入所述通用环境,模拟出所述子***在对所述网络请求进行响应处理时的运行环境。
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 true CN106254145A (zh) | 2016-12-21 |
CN106254145B 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) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168845A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种故障定位方法及装置 |
CN107592230A (zh) * | 2017-09-22 | 2018-01-16 | 北京奇艺世纪科技有限公司 | 一种跟踪信息获取方法及装置 |
CN107678914A (zh) * | 2017-09-13 | 2018-02-09 | 咪咕音乐有限公司 | 一种日志处理方法及装置、存储介质 |
CN107844410A (zh) * | 2016-09-18 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 一种分布式集群***的调试方法和装置 |
CN108199876A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇艺世纪科技有限公司 | 一种日志数据保存方法、装置及分布式服务*** |
CN108427624A (zh) * | 2017-02-13 | 2018-08-21 | 阿里巴巴集团控股有限公司 | 一种***稳定性风险的识别方法以及设备 |
CN108462750A (zh) * | 2018-03-22 | 2018-08-28 | 平安好房(上海)电子商务有限公司 | 分布式调用追踪方法、业务***、监控***及存储介质 |
CN109218041A (zh) * | 2017-06-29 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 用于服务器***的请求处理方法和装置 |
CN110213067A (zh) * | 2018-03-06 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 业务请求的跟踪信息处理方法、装置和*** |
CN111831544A (zh) * | 2019-08-13 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 应用程序的调试方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227334A1 (en) * | 2012-02-23 | 2013-08-29 | City University Of Hong Kong | Progressive Network Recovery |
CN103428042A (zh) * | 2012-05-22 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 对服务器进行压力测试的方法及*** |
CN104850489A (zh) * | 2014-02-13 | 2015-08-19 | 富士通株式会社 | 移动应用测试*** |
-
2016
- 2016-09-06 CN CN201610805439.0A patent/CN106254145B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227334A1 (en) * | 2012-02-23 | 2013-08-29 | City University Of Hong Kong | Progressive Network Recovery |
CN103428042A (zh) * | 2012-05-22 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 对服务器进行压力测试的方法及*** |
CN104850489A (zh) * | 2014-02-13 | 2015-08-19 | 富士通株式会社 | 移动应用测试*** |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844410A (zh) * | 2016-09-18 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 一种分布式集群***的调试方法和装置 |
CN108427624A (zh) * | 2017-02-13 | 2018-08-21 | 阿里巴巴集团控股有限公司 | 一种***稳定性风险的识别方法以及设备 |
CN108427624B (zh) * | 2017-02-13 | 2021-03-02 | 创新先进技术有限公司 | 一种***稳定性风险的识别方法以及设备 |
CN107168845A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种故障定位方法及装置 |
CN109218041B (zh) * | 2017-06-29 | 2022-03-11 | 北京京东尚科信息技术有限公司 | 用于服务器***的请求处理方法和装置 |
CN109218041A (zh) * | 2017-06-29 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 用于服务器***的请求处理方法和装置 |
CN107678914A (zh) * | 2017-09-13 | 2018-02-09 | 咪咕音乐有限公司 | 一种日志处理方法及装置、存储介质 |
CN107592230A (zh) * | 2017-09-22 | 2018-01-16 | 北京奇艺世纪科技有限公司 | 一种跟踪信息获取方法及装置 |
CN107592230B (zh) * | 2017-09-22 | 2023-02-21 | 北京奇艺世纪科技有限公司 | 一种跟踪信息获取方法及装置 |
CN108199876A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇艺世纪科技有限公司 | 一种日志数据保存方法、装置及分布式服务*** |
CN110213067A (zh) * | 2018-03-06 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 业务请求的跟踪信息处理方法、装置和*** |
CN108462750A (zh) * | 2018-03-22 | 2018-08-28 | 平安好房(上海)电子商务有限公司 | 分布式调用追踪方法、业务***、监控***及存储介质 |
CN111831544A (zh) * | 2019-08-13 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 应用程序的调试方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106254145B (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106254145B (zh) | 网络请求跟踪处理方法和装置 | |
CN111339071B (zh) | 一种多源异构数据的处理方法及装置 | |
CN102520619B (zh) | 一种通用化卫星遥测仿真器 | |
CN104090886A (zh) | 构建用户实时画像的方法及装置 | |
CN109542889A (zh) | 流式数据列存储方法、装置、设备和存储介质 | |
CN106803799B (zh) | 一种性能测试方法和装置 | |
CN109376069A (zh) | 一种测试报告的生成方法及设备 | |
CN107480036A (zh) | iOS移动应用的自动测试方法、装置、存储介质及终端 | |
CN109871963A (zh) | 运行故障还原方法、装置、电子设备及存储介质 | |
CN107295082A (zh) | 软件运行处理方法、装置及*** | |
CN108664657A (zh) | 一种大数据任务调度方法、电子设备、存储介质及平台 | |
CN110519263A (zh) | 防刷量方法、装置、设备及计算机可读存储介质 | |
CN106713011A (zh) | 一种获取测试数据的方法与*** | |
CN114218052B (zh) | 一种业务交互图生成方法、装置、设备及存储介质 | |
CN109711703A (zh) | 配电网的线损查询方法及*** | |
CN111143724B (zh) | 一种数据处理方法、装置、设备及介质 | |
CN117472988A (zh) | 一种流程实例的日志查看方法、装置、设备及可读介质 | |
CN111984519B (zh) | 一种用于业务***的测试方法及其装置 | |
CN112016077A (zh) | 一种基于滑动轨迹模拟的页面信息获取方法、装置和电子设备 | |
WO2016201810A1 (zh) | 日志生成方法及装置 | |
CN107872352B (zh) | 一种网管***的性能测试方法、装置及*** | |
CN109857576A (zh) | Rpc接口调用方法及装置 | |
CN111176624B (zh) | 一种流式计算指标的生成方法及装置 | |
CN108073638A (zh) | 数据诊断方法及装置 | |
CN112953793A (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 |