CN107508705B - 一种http元素的资源树构建方法及计算设备 - Google Patents
一种http元素的资源树构建方法及计算设备 Download PDFInfo
- Publication number
- CN107508705B CN107508705B CN201710720144.8A CN201710720144A CN107508705B CN 107508705 B CN107508705 B CN 107508705B CN 201710720144 A CN201710720144 A CN 201710720144A CN 107508705 B CN107508705 B CN 107508705B
- Authority
- CN
- China
- Prior art keywords
- http
- address
- parent
- child
- elements
- 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
Images
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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明公开了一种HTTP元素的资源树构建方法及计算设备,该方法包括:判断HTTP元素是否存在字段异步标识;若HTTP元素不存在字段异步标识,则获取HTTP元素的应用配置参数;判断HTTP元素的应用配置参数是否在预设的第一配置范围内;若HTTP元素的应用配置参数在第一配置范围内,则判断HTTP元素对应的资源链接中位于预设的第一符号前的内容是否以预设的第一格式结尾;若资源链接中位于第一符号前的内容不是以第一格式结尾,则将HTTP元素记为父元素;根据父元素的服务器IP地址、客户端IP地址和URL地址,查找父元素的子元素,以构建HTTP元素的资源树。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种HTTP元素的资源树构建方法、计算设备及计算设备。
背景技术
随着互联网技术的不断发展,越来越多的人开始通过浏览器查看网页,以获取所需的资讯和消息。当用户在浏览网页时,若为网页加载提供技术支撑的HTTP(HyperTextTransfer Protocol,超文本传输协议)服务的性能或质量较低,则可能出现当前页面的加载时间较长,用户体验较差。
为了能对页面的性能指标进行分析以期提高HTTP服务的水准,现有的主流方法需要使用如Fiddler一类的HTTP协议调试代理工具,就Fiddler而言,其是作为一个代理服务器的角色存在的,由网卡流量数据分析得到的HTTP元素,根据得到的HTTP元素人工选择HTTP元素区间,以模拟页面的构成,但没有主动构建资源树的功能。因此,需要一种新的HTTP元素的资源树构建方法来改进上述处理过程。
发明内容
为此,本发明提供一种HTTP元素的资源树构建的技术方案,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种HTTP元素的资源树构建方法,适于在计算设备中执行,该计算设备与交换机通信连接,计算设备从交换机获取镜像数据并进行协议解析,以获取对应的多个HTTP元素,每个HTTP元素包括与其关联的URL地址所对应的HTTP请求信息和HTTP响应信息,该方法包括如下步骤:首先,判断HTTP元素是否存在字段异步标识;若HTTP元素不存在字段异步标识,则获取HTTP元素的应用配置参数;判断HTTP元素的应用配置参数是否在预设的第一配置范围内;若HTTP元素的应用配置参数在第一配置范围内,则判断HTTP元素对应的资源链接中位于预设的第一符号前的内容是否以预设的第一格式结尾;若资源链接中位于第一符号前的内容不是以第一格式结尾,则将HTTP元素记为父元素;根据父元素的服务器IP地址、客户端IP地址和URL地址,查找父元素的子元素,以构建HTTP元素的资源树。
可选地,在根据本发明的HTTP元素的资源树构建方法中,根据父元素的服务器IP地址、客户端IP地址和URL地址,查找父元素的子元素的步骤包括:查找服务器IP地址、客户端IP地址和REFERER地址分别与父元素的服务器IP地址、客户端IP地址和URL地址相等的HTTP元素;将查找到的HTTP元素标记为父元素的子元素。
可选地,在根据本发明的HTTP元素的资源树构建方法中,还包括:若未查找到父元素的子元素,且父元素的返回码为错误码,则将父元素统计入错误库。
可选地,在根据本发明的HTTP元素的资源树构建方法中,还包括:若HTTP元素存在字段异步标识,则将HTTP元素记为子元素。
可选地,在根据本发明的HTTP元素的资源树构建方法中,还包括:若HTTP元素对应的资源链接中位于第一符号前的内容以第一格式结尾,则将HTTP元素记为子元素。
可选地,在根据本发明的HTTP元素的资源树构建方法中,还包括:若HTTP元素为子元素,则根据子元素的服务器IP地址、客户端IP地址和REFERER地址,查找子元素的父元素,以构建HTTP元素的资源树。
可选地,在根据本发明的HTTP元素的资源树构建方法中,根据子元素的服务器IP地址、客户端IP地址和REFERER地址,查找子元素的父元素的步骤包括:查找服务器IP地址、客户端IP地址和URL地址分别与子元素的服务器IP地址、客户端IP地址和URL地址相等的HTTP元素;将查找到的HTTP元素记为子元素的父元素。
可选地,在根据本发明的HTTP元素的资源树构建方法中,还包括:计算记为父元素的HTTP元素所对应的父元素时间,父元素时间为子元素最大结束时间与子元素最小开始时间之差;对记为父元素的HTTP元素进行参数去除处理,并将处理后的该HTTP元素统计入父页面库。
可选地,在根据本发明的HTTP元素的资源树构建方法中,还包括:若未查找到子元素的父元素,判断子元素是否存在字段异步标识;若子元素存在字段异步标识,则判断子元素的REFERER地址是否为空;当子元素不存在字段异步标识或子元素的REFERER地址为空时,若子元素的应用配置参数在预设的第二配置范围内或子元素对应的页面以预设的第二格式结尾,则判断子元素对应的资源链接是否以第一格式结尾;若子元素对应的资源链接以第一格式结尾,则将子元素对应的HTTP元素重新记为父元素。
可选地,在根据本发明的HTTP元素的资源树构建方法中,还包括:若子元素对应的资源链接不是以第一格式结尾,则将子元素统计入WEB服务库,并将子元素对应的HTTP元素重新记为父元素。
可选地,在根据本发明的HTTP元素的资源树构建方法中,还包括:根据记为父元素的HTTP元素所对应的父元素时间,判断该HTTP元素对应的页面是否为慢页面;若该HTTP元素对应的页面为慢页面,则将该HTTP元素及其子元素均统计入慢页面库。
可选地,在根据本发明的HTTP元素的资源树构建方法中,还包括:若子元素存在字段异步标识且子元素的REFERER地址不为空,则将子元素统计入异步处理库。
根据本发明的又一个方面,提供一种计算设备,包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的HTTP元素的资源树构建方法的指令。
根据本发明的又一个方面,还提供一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当由计算设备执行时,使得计算设备执行根据本发明的HTTP元素的资源树构建方法。
根据本发明的HTTP元素的资源树构建的技术方案,通过字段异步标识和/或应用配置参数来判断HTTP元素是父元素还是子元素,对于记为父元素的HTTP元素,利用服务器IP地址、客户端IP地址和URL地址的对应关系来查找其子元素,对于记为子元素的HTTP元素,则是基于服务器IP地址、客户端IP地址和REFERER地址的对应关系来查找其父元素,根据相互之间的父子关系来自动构建HTTP元素的资源树,无需人工手动选择HTTP元素来模拟生成。在上述方案中,如果HTTP元素的返回码为错误码,则将该HTTP元素统计入错误库,如果HTTP元素为异步处理对应的元素,则将该HTTP元素统计入异步处理库,如果HTTP元素为WEB服务调用所对应的元素,则将该HTTP元素统计入WEB服务库,以便后续进行数据分析。进一步的,在构建资源树的过程中获取父元素时间,而父元素时间即为页面加载时间,根据页面加载时间可评判当前HTTP服务的质量,并可用于应用性能指数的计算,以评估提供该HTTP服务的服务器的响应速度和执行效率等性能,从而对HTTP服务给出建设性意见或建议。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的计算设备100的结构框图;以及
图2示出了根据本发明的一个实施例的HTTP元素的资源树构建方法200的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个程序122以及程序数据124。在一些实施方式中,程序122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等,也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。
在一些实施例中,计算设备100实现网络服务器,并被配置为执行根据本发明的HTTP元素的资源树构建方法200。其中,计算设备100的一个或多个程序122包括用于执行根据本发明的HTTP元素的资源树构建方法200的指令。
图2示出了根据本发明一个实施例的HTTP元素的资源树构建方法200的流程图。HTTP元素的资源树构建方法200适于在计算设备(例如图1所示的计算设备100)中执行。计算设备100与交换机通信连接,从该交换机获取镜像数据并进行协议解析,以获取对应的多个HTTP元素,每个HTTP元素包括与其关联的URL地址所对应的HTTP请求信息和HTTP响应信息。关于获取镜像数据并进行协议解析的预先处理过程,在这里简要说明一下。一般而言,交换机把某一个端口接收或发送的数据帧完全相同的复制给另一个端口时,其中被复制的端口称为镜像源端口,复制的端口称为镜像目的端口,计算设备100是通过镜像目的端口来获取镜像数据的。本发明中涉及的协议是HTTP协议,因此对于镜像数据进行HTTP协议解析以获取对应的HTTP元素。理论上,如果镜像数据是完整的,就应该包括HTTP请求及响应信息,如果镜像数据不全(如受限于网卡的流量限制),则HTTP请求及响应信息可能不全,分析出来的数据可能不完整。当然,本发明的实施例中的HTTP元素是包含完整的HTTP请求信息和HTTP响应信息。此外,关于基于HTTP元素构建出的资源树,该资源树实际上就是由记为父元素的HTTP元素及其子元素通过父子关系所构建出的树形结构,可理解为一个网页页面中所展现出的所有内容对应的HTTP元素之间的关联关系。在构建资源树的过程中,可以计算出页面加载时间,根据页面加载时间来评判当前HTTP服务的质量,并可用于应用性能指数的计算,给出直观的性能分析结果,以便HTTP服务的提供者进行改进和优化。
如图2所示,方法200始于步骤S210。在步骤S210中,判断HTTP元素是否存在字段异步标识。根据本发明的一个实施例,将当前待判断的HTTP元素记为F1,此时可从HTTP元素F1的HTTP请求信息中提取HTTP请求头,获取HTTP请求头中逻辑字段x_request_with的值,若x_request_with的值为XMLHttpRequest,则判断HTTP元素存在字段异步标识,该字段异步标识即为XMLHttpRequest,若x_request_with的值为null,表明实际上不存在逻辑字段x_request_with,判断HTTP元素不存在字段异步标识。在该实施方式中,HTTP元素F1不存在字段异步标识。
随后,进入步骤S220,若HTTP元素不存在字段异步标识,则获取HTTP元素的应用配置参数。根据本发明的一个实施例,应用配置参数为可配置的HTTP元素类型,这里选用Content-Type类型作为应用配置参数。Content-Type类型在HTTP请求中可用于指定不同格式的请求信息,由于HTTP元素F1不存在字段异步标识,因此从该HTTP元素的HTTP请求信息中获取其应用配置参数,得到HTTP元素F1的Content-Type类型为text/html。
在步骤S230中,判断HTTP元素的应用配置参数是否在预设的第一配置范围内。根据本发明的一个实施例,第一配置范围是预先设置好的,其包括text/plain和text/html,而HTTP元素F1的Content-Type类型为text/html,可判断出HTTP元素F1的应用配置参数在预设的第一配置范围内。
接下来,执行步骤S240,若HTTP元素的应用配置参数在第一配置范围内,则判断HTTP元素对应的资源链接中位于预设的第一符号前的内容是否以预设的第一格式结尾。其中,资源链接是与HTTP元素本身相关的,由于HTTP元素可能是以图片、js、css或网址链接等方式呈现的资源,因此资源链接的表现方式不一,具体要根据HTTP元素对应的资源来确定,比如网址链接对应的HTTP元素的资源链接为一个相关的URL地址。根据本发明的一个实施例,第一符号预设为问号,以“?”表示,第一格式预设为.css、.js、.gif、.png、.jpg和.jsp。在该实施方式中,HTTP元素F1对应的资源链接为一个URL地址,为http://wiki.oneapm.me/pages/viewpage.action?pageId=20122020,从这个URL地址中找到位于“?”前的内容为http://wiki.oneapm.me/pages/viewpage.action,该内容并非以.css、.js、.gif、.png、.jpg和.jsp中任一种格式结尾,因此确定HTTP元素F1对应的资源链接中位于第一符号前的内容不是以第一格式结尾。值得注意的是,可能存在资源链接,比如URL地址中没有第一符号的情况,此时若HTTP元素的应用配置参数在第一配置范围内,则直接判断HTTP元素对应的资源链接是否以预设的第一格式结尾即可。
在步骤S250中,若资源链接中位于第一符号前的内容不是以第一格式结尾,则将HTTP元素记为父元素。根据本发明的一个实施例,将HTTP元素F1记为父元素。
此后执行步骤S260,根据父元素的服务器IP地址、客户端IP地址和URL地址,查找父元素的子元素,以构建HTTP元素的资源树。根据本发明的一个实施例,可以通过以下方式查找父元素的子元素。首先,查找服务器IP地址、客户端IP地址和REFERER地址分别与该父元素的服务器IP地址、客户端IP地址和URL地址相等的HTTP元素。然后,将查找到的HTTP元素标记为父元素的子元素。其中,REFERER地址即为HTTP请求信息中请求头里的HTTP_REFERER字段,用以表示当前的HTTP元素是从哪个HTTP元素链接过来的。简单来说,如果一个HTTP元素的REFERER地址为另一个HTTP元素的URL地址,则这两个HTTP元素可形成父子关系,前者为后者的子元素,后者为前者的父元素。换言之,父元素是REFERER地址为空的HTTP元素,子元素是REFERER地址不为空的HTTP元素,子元素通过REFERER地址关联对应的父元素。在该实施方式中,对于记为父元素的HTTP元素F1而言,其服务器IP地址为A1,客户端IP地址为B1,URL地址为http://wiki.oneapm.me/pages/viewpage.action?pageId=20122020,为便于表述,将该URL地址记为C1。查找服务器IP地址为A1、客户端IP地址为B1以及REFERER地址为C1的HTTP元素,若查找到满足上述要求的HTTP元素,则将查找到的HTTP元素标记为HTTP元素F1的子元素。此时,查找到了服务器IP地址为A1、客户端IP地址为B1以及REFERER地址为C1的HTTP元素,将该HTTP元素记为S1,则得到HTTP元素F1的子元素为S1。基于此,可继续查找HTTP元素F1的其他的子元素,根据父子关系构建出HTTP元素的资源树。
需要注意的是,有一类URL地址较为特殊,即含有符号“#”,当记为父元素的HTTP元素的URL地址中包括符号“#”时,将该URL地址中的符号“#”及其之后的部分删除,该URL地址中未删除的部分作为用于查找该HTTP元素的子元素的URL地址。假设HTTP元素F1的原URL地址为http://10.128.9.207/ni/index?/main#/service-layer/,经过上述处理后,HTTP元素F1用于查找其子元素的URL地址为http://10.12 8.9.207/ni/index?/main。此外,若记为父元素的HTTP元素的子元素只有1个,则认定这两个HTTP元素之间为非真实的父子关系,并认为这种非真实的父子关系是由于用户或后台进程产生的页面跳转所导致的,此时需要将这两个HTTP元素移除。
进一步的,判断记为子元素的HTTP元素的返回码是否为成功接收码,根据本发明的一个实施例,若该返回码为成功接收码,计算记为父元素的HTTP元素所对应的父元素时间,父元素时间为子元素最大结束时间与子元素最小开始时间之差,并对记为父元素的HTTP元素进行参数去除处理,并将处理后的该HTTP元素统计入父页面库。在该实施方式中,成功接收码为2xx,“x”表示数字,“2xx”表示请求成功接收,由于记为子元素的HTTP元素S1的返回码为200,该返回码为成功接收码,则开始计算HTTP元素F1对应的父元素时间。对HTTP元素F1而言,要完成其对应页面的绘制,需要页面相关的所有HTTP元素完成请求和响应,所有子元素开始和结束时间有先有后,那么绘制这个页面的时间就应从最早的子元素开始时间进行统计,到最后一个元素完成请求结束,这个时间即为页面加载时间,同样也是父元素时间,因此父元素时间为子元素最大结束时间与子元素最小开始时间之差。在计算出父元素时间后,对记为父元素的HTTP元素F1进行参数去除处理,即去除父元素的URL地址中的可变参数,得到新的URL地址为http://wiki.oneapm.me/pages/viewpage.action?pageId=,将处理后的HTTP元素F1统计入父页面库。根据本发明的又一个实施例,若该返回码不是成功接收码,则将记为子元素的HTTP元素直接丢弃。
然而,当未查找到记为父元素的HTTP元素的子元素时,根据本发明的又一个实施例,若未查找到父元素的子元素,且父元素的返回码为错误码,则将父元素统计入错误库。在该实施方式中,错误码包括4xx和5xx,“x”表示数字,“4xx”表示客户端错误,“5xx”表示服务器错误。由于未查找到记为父元素的HTTP元素F1的子元素,且HTTP元素F1的返回码为503,该返回码是错误码,因此将HTTP元素F1统计入错误库。
根据本发明的又一个实施例,在判断HTTP元素是否存在字段异步标识之后,若HTTP元素存在字段异步标识,则将HTTP元素记为子元素。在该实施方式中,将待处理的HTTP元素记为S2,从HTTP元素S2的HTTP请求信息中提取HTTP请求头,获取HTTP请求头中逻辑字段x_request_with的值为XMLHttpRequest,说明HTTP元素S2存在字段异步标识,则将HTTP元素S2记为子元素。
根据本发明的又一个实施例,在HTTP元素不存在字段异步标识且HTTP元素的应用配置参数在第一配置范围的前提下,若HTTP元素对应的资源链接中位于第一符号前的内容以第一格式结尾,则将该HTTP元素记为子元素。在该实施方式中,第一符号预设为问号,以“?”表示,第一格式预设为.css、.js、.gif、.png、.jpg和.jsp。将待处理的HTTP元素记为S3,HTTP元素S3对应的资源链接为一个URL地址,若该URL地址中位于“?”前的内容以.css、.js、.gif、.png、.jpg和.jsp中任一种结尾,则将HTTP元素S3记为子元素。
若当前处理的HTTP元素为子元素,则根据本发明的又一个实施例,根据子元素的服务器IP地址、客户端IP地址和REFERER地址,查找子元素的父元素,以构建HTTP元素的资源树。首先,查找服务器IP地址、客户端IP地址和URL地址分别与子元素的服务器IP地址、客户端IP地址和URL地址相等的HTTP元素。然后,将查找到的HTTP元素记为子元素的父元素。在该实施方式中,对于记为子元素的HTTP元素S2而言,其服务器IP地址为A2,客户端IP地址为B2,REFERER地址为http://baidu.oneapm.me/pages/viewpage.action?pageId=125334,为便于表述,将该REFERER地址记为C2。查找服务器IP地址为A2、客户端IP地址为B2以及URL地址为C2的HTTP元素,若查找到满足上述要求的HTTP元素,则将查找到的HTTP元素标记为HTTP元素S2的父元素。此时,查找到了服务器IP地址为A2、客户端IP地址为B2以及URL地址为C2的HTTP元素,将该HTTP元素记为F2,则得到HTTP元素S2的父元素为F2。基于此,可继续处理剩余未关联父子关系的HTTP元素来构建HTTP元素的资源树,或者也可以查找HTTP元素F2的其他的子元素,根据父子关系构建出HTTP元素的资源树。
此外,若记为子元素的HTTP元素的父元素的返回码为错误码,则将该父元素统计入错误库,并将错误信息记为父页面错误信息进行统计。在查找到记为子元素的HTTP元素的父元素后,获取记为子元素的HTTP元素的子元素开始时间和子元素结束时间,以便计算该子元素的父元素的父元素时间,并对该父元素进行参数去除处理,并将处理后的父元素统计入父页面库。在该实施方式中,HTTP元素F2为HTTP元素S2的父元素,HTTP元素F2的返回码为201,不属于错误码,则无需进行错误统计处理,而是直接获取HTTP元素S2的子元素开始时间和子元素结束时间,以用于父元素时间的计算。而不同的子元素之间以及子元素和父元素之间都存在一定的时间间隔,该时间间隔多来源于经验值,可进行配置。当HTTP元素F2的所有子元素均查找到后,从所有子元素的子元素开始时间和子元素结束时间中,获取子元素最小开始时间和子元素最大结束时间,将子元素最大结束时间与元素最小开始时间之差作为父元素时间。同时,若存在错误信息,则将错误信息记为父页面错误信息以便统计。而后,对记为父元素的HTTP元素F2进行参数去除处理,即去除父元素的URL地址中的可变参数,HTTP元素F2的原URL地址为http://baidu.oneapm.me/pages/viewpage.action?pageId=125334,得到新URL地址为http://baidu.oneapm.me/pages/viewpage.action?pageId=,将处理后的HTTP元素F2统计入父页面库。
接下来要考虑未查找到记为子元素的HTTP元素的父元素的情况,在此情形下一般会先判断记为子元素的HTTP元素返回码是否为错误码,以避免遗漏应放入错误库的HTTP元素。根据本发明的又一个实施例,若记为子元素的HTTP元素返回码为错误码,则将该HTTP元素统计入错误库。在该实施方式中,记为子元素的HTTP元素为S3,此时尚未找到HTTP元素S3的父元素,其返回码为203,不属于错误码,因此无需将HTTP元素S3统计入错误库。
对于上述暂未查找到父元素的HTTP元素而言,在实际处理中一般可以先将该HTTP元素假定记为父元素,再执行相关处理来判定其是否可确定记为父元素,并统计与HTTP服务性能相关的数据。根据本发明的又一个实施例,若未查找到记为子元素的HTTP元素的父元素,则先判断该子元素是否存在字段异步标识,若该子元素存在字段异步标识,则判断该子元素的REFERER地址是否为空,当该子元素不存在字段异步标识或该子元素的REFERER地址为空时,若该子元素的应用配置参数在预设的第二配置范围内或该子元素对应的页面以预设的第二格式结尾,则判断该子元素对应的资源链接是否以第一格式结尾,若该子元素对应的资源链接以第一格式结尾,则将该子元素对应的HTTP元素重新记为父元素,若该子元素对应的资源链接不是以第一格式结尾,则将该子元素统计入WEB服务库,并将该子元素对应的HTTP元素重新记为父元素。若该子元素的应用配置参数既不在预设的第二配置范围内,且该子元素对应的页面也不是以预设的第二格式结尾,则直接将该HTTP元素丢弃。当该子元素存在字段异步标识且该子元素的REFERER地址不为空时,将该子元素统计入异步处理库。其中,WEB服务库即为WebService库,WebService库中的HTTP元素表明其被WebService所调用,异步处理库即为Ajax库,Ajax库中的HTTP元素表明其为异步HTTP元素,对应异步HTTP请求和响应。
在该实施方式中,第二配置范围预设为application/json、text/json、text/xml和application/soap+xml,第二格式预设为.wsdl,第一格式预设为.css、.js、.gif、.png、.jpg和.jsp。由于没有查找到记为子元素的HTTP元素S3的父元素,先判断HTTP元素S3是否存在字段异步标识。从HTTP元素S3的HTTP请求信息中提取HTTP请求头,获取HTTP请求头中逻辑字段x_request_with的值为XMLHttpRequest,可知HTTP元素S3存在字段异步标识。接下来,判断HTTP元素S3的REFERER地址是否为空,则先获取HTTP元素S3的HTTP请求信息中请求头里的HTTP_REFERER字段,将该HTTP_REFERER字段作为REFERER地址,得到HTTP元素S3的REFERER地址为空。随后,获取HTTP元素S3的应用配置参数,应用配置参数选用Content-Type类型,则得到HTTP元素S3的Content-Type类型为text/json。显然,HTTP元素S3的应用配置参数在第二配置范围内,进而判断HTTP元素S3对应的资源链接是否以第一格式结尾。HTTP元素S3对应的资源链接为一个URL地址,为http://wiki.oneapm.me/rest/analytics/1.0/publish/bulk,很明显,HTTP元素S3对应的资源链接不是以第一格式结尾,此时将HTTP元素S3统计入WEB服务库,并将HTTP元素S3重新记为父元素。
在完成了HTTP元素的资源树构建后,可利用该资源树进行相关的性能分析。根据本发明的又一个实施例,根据记为父元素的HTTP元素所对应的父元素时间,判断该HTTP元素对应的页面是否为慢页面,若该HTTP元素对应的页面为慢页面,则将该HTTP元素及其子元素均统计入慢页面库。在该实施方式中,慢页面定义为页面加载时间大于4秒的页面,则若记为HTTP元素所对应的父元素时间大于4秒,则该HTTP元素对应的页面为慢页面。进一步的,可以通过Apdex(Application Performance Index,应用性能指数)值来对HTTP服务的质量进行分类评估。将页面加载时间小于1秒的页面设定为快页面,页面加载时间在1~4秒内的页面设定为可容忍页面,页面加载时间大于4秒的页面设定为慢页面,定义Apdex值为(所有快页面访问次数+所有可容忍页面访问次数/2)/总访问次数,其中总访问次数为所有快页面访问次数、可容忍页面访问次数和慢页面访问次数的总和。当然,考虑到HTTP元素的净荷属性,还可以统计记为父元素的HTTP元素对应的页面中、所有记为子元素的HTTP元素的净荷总和,以此来评估该页面的响应净荷,其中净荷是指传输过程中除去协议后的纯信息部分负载大小。
现有构建HTTP元素的资源树的方法多是通过如Fiddler之类的工具,对网卡流量数据分析得到的HTTP元素,从而人工选择HTTP元素区间,以模拟页面的构成,但没有主动构建资源树的功能。根据本发明实施例的HTTP元素的资源树构建的技术方案,通过字段异步标识和/或应用配置参数来判断HTTP元素是父元素还是子元素,对于记为父元素的HTTP元素,利用服务器IP地址、客户端IP地址和URL地址的对应关系来查找其子元素,对于记为子元素的HTTP元素,则是基于服务器IP地址、客户端IP地址和REFERER地址的对应关系来查找其父元素,根据相互之间的父子关系来自动构建HTTP元素的资源树,无需人工手动选择HTTP元素来模拟生成。在上述方案中,如果HTTP元素的返回码为错误码,则将该HTTP元素统计入错误库,如果HTTP元素为异步处理对应的元素,则将该HTTP元素统计入异步处理库,如果HTTP元素为WEB服务调用所对应的元素,则将该HTTP元素统计入WEB服务库,以便后续进行数据分析。进一步的,在构建资源树的过程中获取父元素时间,而父元素时间即为页面加载时间,根据页面加载时间可评判当前HTTP服务的质量,并可用于应用性能指数的计算,以评估提供该HTTP服务的服务器的响应速度和执行效率等性能,从而对HTTP服务给出建设性意见或建议。
A9.如A6或7所述的方法,还包括:
若未查找到所述子元素的父元素,判断所述子元素是否存在字段异步标识;
若所述子元素存在字段异步标识,则判断所述子元素的REFERER地址是否为空;
当所述子元素不存在字段异步标识或所述子元素的REFERER地址为空时,若所述子元素的应用配置参数在预设的第二配置范围内或所述子元素对应的页面以预设的第二格式结尾,则判断所述子元素对应的资源链接是否以第一格式结尾;
若所述子元素对应的资源链接以第一格式结尾,则将所述子元素对应的HTTP元素重新记为父元素。
A10.如A9所述的方法,还包括:
若所述子元素对应的资源链接不是以第一格式结尾,则将所述子元素统计入WEB服务库,并将所述子元素对应的HTTP元素重新记为父元素。
A11.如A1-10中任一项所述的方法,还包括:
根据记为父元素的HTTP元素所对应的父元素时间,判断该HTTP元素对应的页面是否为慢页面;
若该HTTP元素对应的页面为慢页面,则将该HTTP元素及其子元素均统计入慢页面库。
A12.如A8或9所述的方法,还包括:
若所述子元素存在字段异步标识且所述子元素的REFERER地址不为空,则将所述子元素统计入异步处理库。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的HTTP元素的资源树构建方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (13)
1.一种HTTP元素的资源树构建方法,适于在计算设备中执行,所述计算设备与交换机通信连接,所述计算设备从所述交换机获取镜像数据并进行协议解析,以获取对应的多个HTTP元素,每个HTTP元素包括与其关联的URL地址所对应的HTTP请求信息和HTTP响应信息,所述方法包括:
判断所述HTTP元素是否存在字段异步标识;
若所述HTTP元素不存在字段异步标识,则获取所述HTTP元素的应用配置参数;
判断所述HTTP元素的应用配置参数是否在预设的第一配置范围内;
若所述HTTP元素的应用配置参数在第一配置范围内,则判断所述HTTP元素对应的资源链接中位于预设的第一符号前的内容是否以预设的第一格式结尾;
若所述资源链接中位于第一符号前的内容不是以第一格式结尾,则将所述HTTP元素记为父元素;
根据所述父元素的服务器IP地址、客户端IP地址和URL地址,查找所述父元素的子元素,以构建HTTP元素的资源树;
若所述HTTP元素存在字段异步标识,则将所述HTTP元素记为子元素。
2.如权利要求1所述的方法,所述根据所述父元素的服务器IP地址、客户端IP地址和URL地址,查找所述父元素的子元素的步骤包括:
查找服务器IP地址、客户端IP地址和REFERER地址分别与所述父元素的服务器IP地址、客户端IP地址和URL地址相等的HTTP元素;
将查找到的HTTP元素标记为所述父元素的子元素。
3.如权利要求2所述的方法,还包括:
若未查找到所述父元素的子元素,且所述父元素的返回码为错误码,则将所述父元素统计入错误库。
4.如权利要求1-3中任一项所述的方法,还包括:
若所述HTTP元素对应的资源链接中位于第一符号前的内容以第一格式结尾,则将所述HTTP元素记为子元素。
5.如权利要求1-3中任一项所述的方法,还包括:
若所述HTTP元素为子元素,则根据所述子元素的服务器IP地址、客户端IP地址和REFERER地址,查找所述子元素的父元素,以构建HTTP元素的资源树。
6.如权利要求5所述的方法,所述根据所述子元素的服务器IP地址、客户端IP地址和REFERER地址,查找所述子元素的父元素的步骤包括:
查找服务器IP地址、客户端IP地址和URL地址分别与所述子元素的服务器IP地址、客户端IP地址和URL地址相等的HTTP元素;
将查找到的HTTP元素记为所述子元素的父元素。
7.如权利要求6所述的方法,还包括:
计算记为父元素的HTTP元素所对应的父元素时间,所述父元素时间为子元素最大结束时间与子元素最小开始时间之差;
对所述记为父元素的HTTP元素进行参数去除处理,并将处理后的该HTTP元素统计入父页面库。
8.如权利要求6所述的方法,还包括:
若未查找到所述子元素的父元素,判断所述子元素是否存在字段异步标识;
若所述子元素存在字段异步标识,则判断所述子元素的REFERER地址是否为空;
当所述子元素不存在字段异步标识或所述子元素的REFERER地址为空时,若所述子元素的应用配置参数在预设的第二配置范围内或所述子元素对应的页面以预设的第二格式结尾,则判断所述子元素对应的资源链接是否以第一格式结尾;
若所述子元素对应的资源链接以第一格式结尾,则将所述子元素对应的HTTP元素重新记为父元素。
9.如权利要求8所述的方法,还包括:
若所述子元素对应的资源链接不是以第一格式结尾,则将所述子元素统计入WEB服务库,并将所述子元素对应的HTTP元素重新记为父元素。
10.如权利要求9所述的方法,还包括:
根据记为父元素的HTTP元素所对应的父元素时间,判断该HTTP元素对应的页面是否为慢页面;
若该HTTP元素对应的页面为慢页面,则将该HTTP元素及其子元素均统计入慢页面库。
11.如权利要求8所述的方法,还包括:
若所述子元素存在字段异步标识且所述子元素的REFERER地址不为空,则将所述子元素统计入异步处理库。
12.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至11所述的方法中的任一方法的指令。
13.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1至11所述的方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710720144.8A CN107508705B (zh) | 2017-08-21 | 2017-08-21 | 一种http元素的资源树构建方法及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710720144.8A CN107508705B (zh) | 2017-08-21 | 2017-08-21 | 一种http元素的资源树构建方法及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107508705A CN107508705A (zh) | 2017-12-22 |
CN107508705B true CN107508705B (zh) | 2020-07-07 |
Family
ID=60691259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710720144.8A Active CN107508705B (zh) | 2017-08-21 | 2017-08-21 | 一种http元素的资源树构建方法及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107508705B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536438B (zh) * | 2018-04-10 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 处理用户行为数据的打点模块、方法及计算机可读介质 |
CN108875086B (zh) * | 2018-07-18 | 2023-03-28 | 山东中创软件商用中间件股份有限公司 | 一种uri路径资源的匹配方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102361484A (zh) * | 2011-07-05 | 2012-02-22 | 上海交通大学 | 被动网络性能测量系统及其页面识别方法 |
CN103561012A (zh) * | 2013-10-28 | 2014-02-05 | 中国科学院信息工程研究所 | 一种基于关联树的web后门检测方法及系统 |
CN103927397A (zh) * | 2014-05-05 | 2014-07-16 | 湖北文理学院 | 一种基于区块树的Web页面链接块的识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7290008B2 (en) * | 2002-03-05 | 2007-10-30 | Exigen Group | Method to extend a uniform resource identifier to encode resource identifiers |
US10334013B2 (en) * | 2015-11-24 | 2019-06-25 | International Business Machines Corporation | Avoiding web request failures before they occur by component analysis |
-
2017
- 2017-08-21 CN CN201710720144.8A patent/CN107508705B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102361484A (zh) * | 2011-07-05 | 2012-02-22 | 上海交通大学 | 被动网络性能测量系统及其页面识别方法 |
CN103561012A (zh) * | 2013-10-28 | 2014-02-05 | 中国科学院信息工程研究所 | 一种基于关联树的web后门检测方法及系统 |
CN103927397A (zh) * | 2014-05-05 | 2014-07-16 | 湖北文理学院 | 一种基于区块树的Web页面链接块的识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107508705A (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427766B (zh) | 一种请求处理方法、装置和代理服务器 | |
US10360257B2 (en) | System and method for image annotation | |
CN107888616B (zh) | 基于URI的分类模型的构建方法和Webshell攻击网站的检测方法 | |
US10839038B2 (en) | Generating configuration information for obtaining web resources | |
CN110187880B (zh) | 一种同类元素识别方法、装置和计算设备 | |
CN111104587A (zh) | 网页显示方法、装置和服务器 | |
CN110798445B (zh) | 公共网关接口测试方法、装置、计算机设备及存储介质 | |
WO2016000507A1 (zh) | 省流量模式搜索服务的方法、服务器、客户端和系统 | |
US20140095579A1 (en) | System and method for increasing web site serving performance | |
CN112699321A (zh) | 一种页面加载方法,计算设备及存储介质 | |
CN107508705B (zh) | 一种http元素的资源树构建方法及计算设备 | |
CN113377289A (zh) | 一种缓存管理方法、系统、计算设备及可读存储介质 | |
CN107368484A (zh) | 网页的静态资源文件的压缩方法及装置、获取方法及装置 | |
CN109522282A (zh) | 图片管理方法、装置、计算机装置及存储介质 | |
CN111414383B (zh) | 数据请求方法、数据处理系统及计算设备 | |
CN112307386A (zh) | 信息监控方法、系统、电子设备及计算机可读存储介质 | |
CN110784553B (zh) | 报文封装方法、设备及域名解析系统 | |
CN112800305A (zh) | 一种基于网络爬虫的知识图谱数据抽取方法及装置 | |
CN107592553A (zh) | 一种图像压缩代理权衡处理方法及装置 | |
CN108173716B (zh) | 一种识别网络设备厂商的方法和计算设备 | |
CN107317892B (zh) | 一种网络地址的处理方法、计算设备及可读存储介质 | |
CN111444448B (zh) | 一种数据处理方法、服务器及系统 | |
CN112532414B (zh) | 确定isp归属的方法、装置、设备及计算机存储介质 | |
KR101498920B1 (ko) | 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법 | |
CN110955851B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |