被动网络性能测量系统及其页面识别方法

文档序号:7715812阅读:223来源:国知局
专利名称:被动网络性能测量系统及其页面识别方法
技术领域
本发明涉及的是一种计算机网络技术领域的系统及方法,具体是一种以页面为单位的用户端Web性能的被动网络性能测量系统及其页面识别方法。
背景技术
应用性能测量(application performance measurement)的对象是特定应用的性能指标,如应用的可用性、应用服务的响应时间、应用的流行程度和分布等。传统的网络性能测量(networkperformance measurement),测量对象主要是网络的基本性能指标,如网络时延、丢包率、链路带宽、可用带宽等。但是在很多情况下,网络的可用性并不代表应用的可用性,网络的时延也不能直接反映应用服务的响应时间。相比之下,应用层测量能更好地反映应用性能的好坏。目前一些大型商业应用开始关注自身的应用性能管理(application performance management),除了监测应用服务器、数据库服务器和数据中心内部的网络性能之外,终端用户体验(end-userexperience)成为应用性能管理的另外一个重要指标。因为当只监测服务器端基础资源的利用率,而忽视终端用户的真实体验,将无法获得服务性能的全貌。终端用户体验的测量需要通过恰当的方式收集可以有效地反映用户真实体验的数据,目前数据收集的方法主要是客户端收集和服务器端收集。客户端收集通常需要在客户端运行数据收集工具,这些收集工具以软件的形式安装在用户电脑上,或者以 JavMcript代码的形式嵌入在网页里,收集到的信息被发送到数据收集服务器,然后进行处理;由于客户端收集需要在用户电脑上运行测量代码,因此会引起用户对隐私泄漏的担忧;此外,由于客户端收集需要收集工具在数量上的支持,如何说服用户在个人电脑上安装收集工具是一个很大的阻碍;虽然网页嵌入JavMcript代码的方法没有这样的限制,但是 JavaScript代码是在浏览器中运行的,看不到浏览器以外的测量信息,如TCP的往返时间 (Round-Trip Time),不能全面地反映终端用户的体验。服务器端收集通常利用Web服务器的日志,记录访问用户和被请求对象的信息,然后从服务器日志分析服务的性能;但是服务器一般位于防火墙和负载均衡器之后,看不到广域网的情况,因此无法包括网络环境给用户体验带来的影响,不能准确地测量终端用户的体验。经过对现有技术的检索发现,Leearm Bent等人2002年在第七届国际网络内容缓存与分发石ifi寸会The International Web Content Caching and Distribution Workshops 上发表了题为“Whole Page Performance (整个页面的性能)”的文章,该技术通过测量用户下载整个页面的时间研究不同的网络优化对终端用户体验的影响。利用一种无缓存的转发代理,记录用户的每个请求信息,然后将网页元素组合成完整的页面。在组合过程中,文章以2秒的时间阈值来确定页面的边界,即当两个请求的时间间隔(第一个应答传输结束的时间与下一个请求时间之间的间隔)大于2秒,则两个元素分别属于不同的页面,这里的时间间隔就作为页面的边界。但是这种方法不适合多个用户共有一个IP上网的情形,因为当多个用户同时浏览网页的时候,多个网页的加载时间会发生重合,通过时间阈值将无法判断页面的边界。进一步检索发现,B. de la Ossad等人于2010年在计算机应用研讨会Symposium OnApplied Computing 上发表了题为"Referrer Graph a low-cost web prediction algorithm(关联图一种低消耗的网络预测算法),,的文章,该文章利用HTTP请求中的 URI.Referer和MIME信息来建立网站内部资源之间的关联图,并基于关联图对用户的访问进行预测。这种关联图的方法简化了数据结构,利于实现低消耗的算法,但是目前没有文献将这种方法应用于用户端Web性能的测量。与网络预测不同的是,用户端Web性能的测量面对的不再是单个网站内的资源,而是不同网站的不同类型的网页,因此仅仅利用URI、 Referer和MIME信息建立的关联图不能很好地识别不同的页面。

发明内容
本发明针对现有技术存在的上述不足,提供一种被动网络性能测量系统及其页面识别方法,采用被动网络测量的方式、在网络接入链路上设置踪迹(trace)采集点来获取原始的测量数据,不需要在用户电脑上运行测量代码,也不会因测量给网络带来额外的流量,影响网络中的正常服务;用户端Web性能的测量方法以单个页面的加载时间作为测量指标,可以直接反映用户的真实体验;所采用的改进的页面识别方法,利用HTTP请求的 Host,URI,Referer和MIME信息,绘制出网页元素之间的超链接关联图,并结合不同网站网页的结构特征,从超链接关联图中分离出完整的页面,能够识别出加载时间重合的页面,提高页面识别的准确率。本发明是通过以下技术方案实现的本发明涉及一种被动网络性能测量系统,包括网络踪迹采集模块、网页元素解析模块、网页识别模块和信息统计模块,其中网络踪迹采集模块从网络链路中的数据报文中过滤出HTTP报文并输出至网页元素解析模块,网页元素解析模块将HTTP报文组装成HTTP 流并根据请求和应答信息解析出HTTP流中的网页元素和网页参数输出至网页识别模块, 网页识别模块利用网页元素生成超链接关联图并根据超链接关联图中的网页的结构和页面之间的关系分离出独立页面并输出至信息统计模块,信息统计模块计算并记录收到的每个页面的加载时间、用户到服务器的TCP往返时间以及用户的标识信息并生成网络性能指标。所述的网页元素包括Host(主机名)、URI (通用资源标志符)、Referer(引用链接)和MIME (多用途互联网邮件扩展)信息。所述的网页参数包括请求消息的头部域中的Host、Referer, URI、User-Agent, Content-Type、请求时间、应答并传输第一个字节的时间、应答传输结束的时间。所述的超链接关联图呈无回环树形结构,包括主节点、次级节点、叶子节点以及有向连接线,其中每个节点代表一个网页元素,节点的标识信息包括用户IP地址、请求消息的Host、Referer、URI、User-Agent、Content-Type、请求时间、应答并传输第一个字节的时间、应答传输结束的时间;有向连接线表示节点之间的关系,由父节点指向子节点,父节点的URI等于子节点Referer ;每个父节点可以有多个子节点,每个子节点只能有一个父节点,且主节点只能作为父节点,次级节点可以作为父节点或子节点,叶子节点只能作为子节点;父节点的用户IP地址、^er-Agent分别等于子节点的用户IP地址、her-Agent,且子节点的请求时间大于父节点的请求时间。所述的网络踪迹采集模块包括数据报文抓取单元和HTTP报文过滤单元,其中 数据报文抓取单元保存网络链路上的所有数据包并输出至HTTP报文过滤单元,HTTP报文过滤单元从所有数据包中过滤出源端口号或目的端口号等于80的报文并输出至网页元素解析模块。所述的网页元素解析模块包括TCP流解析单元和HTTP流解析单元,其中TCP流解析单元利用报文的四元组信息,即源IP地址,源端口号,目的IP地址,目的端口号,将 HTTP报文组装成TCP流输出至HTTP流解析单元并解析出包括四元组信息和“三次握手”时间的TCP流参数,HTTP流解析单元从TCP流中解析出网页元素以及网页参数并输出至网页识别模块。所述的网页识别模块包括超链接关联图建立单元和页面分割单元,其中超链接关联图建立单元利用网页参数建立网页元素的关联图并输出至页面分割单元,页面分割单元遍历超链接关联图中的所有主节点和次级节点,对关联图进行分割和更新并生成由不可分割的树结构组成的独立页面并输出至信息统计模块。所述的信息统计模块用来计算并记录页面加载时间和用户到服务器的往返时间, 以及记录用户的标识信息,其中页面加载时间的计算以主节点的请求时间作为第一个值, 其余节点(包括次级节点和叶子节点)的应答传输结束的时间中最小的值作为第二个值, 第二个值减去第一个值的时间作为页面加载时间;往返时间的计算以“三次握手”中SYN报文的时间戳作为第一个值,ACK报文的时间戳作为第二个值,第二个值减去第一个值的时间作为往返时间;用户的标识信息包括用户IP地址和页面的URL。本发明涉及上述系统的页面识别方法,包括以下步骤第一步、解析网页元素从网络踪迹中过滤出HTTP流并解析出网页元素,包括 Host、URI、Referer 和 MIME 信息;第二步、建立超链接关联图初始化超链接关联图并读取网页元素,根据提出的关联图算法将网页元素抽象为节点并插入到超链接关联图中,每个节点代表一个网页元素, 有向连接线表示节点之间的关系,且父节点的URI等于子节点的Referer ;第三步、实现页面分割读取超链接关联图,根据提出的页面分割算法对关联图中的节点进行分割和更新操作,直到关联图不可分割为止,每个不可分割的部分就成为一个单独的页面。所述的分割和更新是指1)从主节点出发遍历主节点和所有的次级节点,叶子节点除外;2)每到一个节点,记录此节点的Host和与之相连的叶子节点总数;当此节点是主节点,则无操作;当此节点是次级节点,则a)当子节点和父节点不属于同一个网站(利用Host判断),则断开子节点和父节点之间的有向连接线,并将断开的子节点升级为新的主节点;b)当子节点和父节点属于同一个网站,且子节点的叶子节点数和父节点的叶子节点数的比值小于5%,则断开与子节点上直连的所有次级节点,将断开的次级节点和父节点相连,有向连接线指向次级节点;c)当子节点和父节点属于同一个网站,且子节点的叶子节点数和父节点的叶子节
6点数的比值大于5%,则断开子节点和父节点之间的有向连接线,并将断开的子节点升级为新的主节点;反复操作之后,直到超链接关联图不可分割为止,则每个不可分割的部分就成为一个单独的页面。与现有技术相比,本发明具有以下优点测量采用被动监听的方式,不会在网络中产生额外的流量,也不需要在用户机器上安装数据收集工具,因此对于用户和网络来说都是透明的,不会对网络的正常服务产生影响;本方法在网络接入链路上设置踪迹采集点,实现单一测量点覆盖接入网的所有用户,减少了测量点的数目,降低了部署的成本;以页面为单位的客户端Web性能测量,能直接反映终端用户体验,提高测量的有效性;本发明中提出的改进的页面识别方法,利用HTTP请求的Host、URI, Referer和MIME信息,并结合不同网站网页的结构特征,可以识别出加载时间重合的页面,提高了页面识别的准确率,同时简化了数据结构,降低了资源利用,利于实现实时测量。


图1为被动网络性能测量系统示意图。图2为本发明中超链接关联图的示意图。图3为建立超链接关联图建立流程图。图4为实施例页面分割流程图。
具体实施例方式下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。实施例如图1所示,本实施例中涉及的被动网络性能测量系统,通过从接入网101的边界路由器102镜像网络流量来获取原始测量数据,该系统包括网络踪迹采集模块104、网页元素解析模块105、网页识别模块106和信息统计模块107,其中网络踪迹采集模块104利用网络处理器抓取边界路由器102的镜像流量并根据端口号过滤出HTTP报文并输出至网页元素解析模块105,网页元素解析模块105根据收到的HTTP报文组装成HTTP流并根据请求和应答信息解析出网页元素后输出至网页识别模块106,网页识别模块106利用网页元素的H0St、URI、Referer和MIME信息绘制出网页元素的超链接关联图并根据网页的结构和页面之间的关系分离出完整的页面,然后输出至信息统计模块107,信息统计模块107利用页面内所有元素的时间计算并记录整个页面的加载时间,同时计算用户到服务器的TCP往返时间作为辅助测量,并记录用户的标识信息。所述的网络踪迹采集模块104基于网络处理器实现其功能,包括数据报文抓取单元108和HTTP报文过滤单元109,其中数据报文抓取单元108完整地抓取从边界路由器102镜像出来的流量,并输出至HTTP报文过滤单元109 ;HTTP报文过滤单元109过滤出源端口号或目的端口号等于80的报文,并输出至网页元素解析模块105。所述的网页元素解析模块105包括TCP流解析单元110和HTTP流解析单元111, 其中TCP流解析单元110利用报文的四元组信息(源IP地址,源端口号,目的IP地址,目的端口号)将HTTP报文组装成TCP流,并解析出TCP流参数,包括四元组信息、“三次握手” 时间,然后将TCP流输出至HTTP流解析单元111 ;HTTP流解析单元111从TCP流中解析出网页元素及其参数,参数包括请求消息的头部域中的Host、Referer, URI、User-Agent, Content-Type、请求时间、应答并传输第一个字节的时间、应答传输结束的时间,然后输出至网页识别模块106。所述的网页识别模块106用来实现页面识别算法,包括超链接关联图建立单元 112和页面分割单元113,其中超链接关联图建立单元112利用网页元素的参数,建立网页元素的关联图;如图2所示,关联图呈树形结构,无回环,包括主节点201、次级节点202、叶子节点203以及有向连接线204 ;每个节点QOl或202或20 代表一个网页元素,有向连接线204表示节点之间的关系,且由父节点指向子节点,父节点的URI等于子节点Referer ; 然后将超链接关联图输出至页面分割单元113 ;页面分割单元113遍历超链接关联图中的所有主节点201和次级节点202,对关联图进行分割,并输出页面列表。所述的超链接关联图建立单元112实现建立网页元素的关联图的算法,算法流程如图3所示,301初始化超链接关联图和refererjist,并且都置空;302判断是否还有网页元素需要处理;当302判断为否,310输出生成的超链接关联图和refererjist,然后结束程序;当302判断为是,303判断元素的referer是否存在refererjist中;当303判断为是,304利用元素的MIME信息判断此元素是否为html或htm;当304判断为是,306将该元素连接到关联图中,并设置为次级节点;当304判断为否,307将元素连接到关联图中,并设置为叶子节点,且其父节点的叶子节点数+1 ;当303判断为否,305利用元素的MIME信息判断元素是否为html或htm ;当305判断为是,308建立新节点并将其设置为主节点,叶子节点数置为0 ;当305判断为否,309丢弃该元素,并读取下一个元素,直到没有元素则退出程序。所述的页面分割单元113通过遍历超链接关联图中的所有主节点201和次级节点 202,将关联图分割成独立的页面,算法流程如图4所示,401输入超链接关联图和referer_ list,并初始化page_list ;402判断referer_list是否处理完;当402判断为是,则退出程序,输出page_liSt ;当402判断为否,403读取refererjist中的第一个条目,并根据 URI在关联图中找到该节点;404判断该节点是否是主节点201 ;当404判断为是,则将该节点的URI写入page_list中,并从refererjist中删除该节点的URI,然后返回402 ;当 404判断为否,406根据该节点及其父节点的Host判断是否属于同一个网站;当406判断为否,407断开该节点与父节点的连接,并将该节点的类型更新为主节点201,然后返回402 ; 当406判断为是,则408判断该节点的叶子节点数/父节点的叶子节点数的比值是否小于 5%,当408判断为否,返回407 ;当408判断为是,409从refererjist中删除该节点URI, 断开该节点上的所有次级节点202,并将这些次级节点202连接到父节点上,然后更新这些次级节点202的referer为父节点的URI,返回402。所述的信息统计模块107用来计算并记录页面加载时间和用户到服务器的往返时间,以及记录用户的标识信息,其中页面加载时间的计算以主节点201的请求时间作为第一个值,其余节点(包括次级节点202和叶子节点20 的应答传输结束的时间中最小的值作为第二个值,第二个值减去第一个值的时间作为页面加载时间;往返时间的计算以“三次握手”中SYN报文的时间戳作为第一个值,ACK报文的时间戳作为第二个值,第二个值减去第一个值的时间作为往返时间;用户的标识信息包括用户IP地址和页面的URL。本系统通过以下步骤实现页面识别第一步、解析网页元素从网络踪迹中过滤出HTTP流并解析出网页元素,包括 Host、URI、Referer 和 MIME 信息;第二步、建立超链接关联图初始化超链接关联图并读取网页元素,根据提出的关联图算法将网页元素抽象为节点并插入到超链接关联图中,每个节点代表一个网页元素, 有向连接线表示节点之间的关系,且父节点的URI等于子节点的Referer ;第三步、实现页面分割读取超链接关联图,根据提出的页面分割算法对关联图中的节点进行分割和更新操作,直到关联图不可分割为止,每个不可分割的部分就成为一个单独的页面。所述的分割和更新是指1)从主节点出发遍历主节点和所有的次级节点,叶子节点除外;2)每到一个节点,记录此节点的Host和与之相连的叶子节点总数;当此节点是主节点,则无操作;当此节点是次级节点,则a)当子节点和父节点不属于同一个网站(利用Host判断),则断开子节点和父节点之间的有向连接线,并将断开的子节点升级为新的主节点;b)当子节点和父节点属于同一个网站,且子节点的叶子节点数和父节点的叶子节点数的比值小于5%,则断开与子节点上直连的所有次级节点,将断开的次级节点和父节点相连,有向连接线指向次级节点;c)当子节点和父节点属于同一个网站,且子节点的叶子节点数和父节点的叶子节点数的比值大于5%,则断开子节点和父节点之间的有向连接线,并将断开的子节点升级为新的主节点;反复操作之后,直到超链接关联图不可分割为止,则每个不可分割的部分就成为一个单独的页面。本实施例的优点通过从接入网的边界路由器镜像网络流量,实现单一测量点覆盖接入网的所有用户,减少了测量点的数目,降低了部署的成本;以页面为单位的客户端 Web性能测量,能直接反映终端用户的体验,提高测量的有效性;通过建立网页元素的超链接关联图,然后利用改进的页面识别算法,可以识别出加载时间重合的页面,提高了页面识别的准确率,同时简化了数据结构,降低了资源利用,利于实现实时测量。
权利要求
1.一种被动网络性能测量系统,其特征在于,包括网络踪迹采集模块、网页元素解析模块、网页识别模块和信息统计模块,其中网络踪迹采集模块从网络链路中的数据报文中过滤出HTTP报文并输出至网页元素解析模块,网页元素解析模块将HTTP报文组装成HTTP 流并根据请求和应答信息解析出HTTP流中的网页元素和网页参数输出至网页识别模块, 网页识别模块利用网页元素生成超链接关联图并根据超链接关联图中的网页的结构和页面之间的关系分离出独立页面并输出至信息统计模块,信息统计模块计算并记录收到的每个页面的加载时间、用户到服务器的TCP往返时间以及用户的标识信息并生成网络性能指标。
2.根据权利要求1所述的被动网络性能测量系统,其特征是,所述的网络踪迹采集模块包括数据报文抓取单元和HTTP报文过滤单元,其中数据报文抓取单元保存网络链路上的所有数据包并输出至HTTP报文过滤单元,HTTP报文过滤单元从所有数据包中过滤出源端口号或目的端口号等于80的报文并输出至网页元素解析模块。
3.根据权利要求1所述的被动网络性能测量系统,其特征是,所述的网页元素解析模块包括TCP流解析单元和HTTP流解析单元,其中TCP流解析单元利用报文的四元组信息,即源IP地址,源端口号,目的IP地址,目的端口号,将HTTP报文组装成TCP流输出至 HTTP流解析单元并解析出包括四元组信息和“三次握手”时间的TCP流参数,HTTP流解析单元从TCP流中解析出网页元素以及网页参数并输出至网页识别模块。
4.根据权利要求1所述的被动网络性能测量系统,其特征是,所述的网页识别模块包括超链接关联图建立单元和页面分割单元,其中超链接关联图建立单元利用网页参数建立网页元素的关联图并输出至页面分割单元,页面分割单元遍历超链接关联图中的所有主节点和次级节点,对关联图进行分割和更新并生成由不可分割的树结构组成的独立页面并输出至信息统计模块。
5.根据权利要求1所述的被动网络性能测量系统,其特征是,所述的信息统计模块用来计算并记录页面加载时间和用户到服务器的往返时间,以及记录用户的标识信息,其中 页面加载时间的计算以主节点的请求时间作为第一个值,其余节点的应答传输结束的时间中最小的值作为第二个值,第二个值减去第一个值的时间作为页面加载时间;往返时间的计算以“三次握手”中SYN报文的时间戳作为第一个值,ACK报文的时间戳作为第二个值, 第二个值减去第一个值的时间作为往返时间;用户的标识信息包括用户IP地址和页面的 URL。
6.一种根据上述任一权利要求所述系统的页面识别方法,其特征在于,包括以下步骤第一步、解析网页元素从网络踪迹中过滤出HTTP流并解析出包括HoSt、URI、Referer 和MIME信息的网页元素;第二步、建立超链接关联图初始化超链接关联图并读取网页元素,根据提出的关联图算法将网页元素抽象为节点并插入到超链接关联图中,每个节点代表一个网页元素,有向连接线表示节点之间的关系,且父节点的URI等于子节点的Referer ;第三步、实现页面分割读取超链接关联图,根据提出的页面分割算法对关联图中的节点进行分割和更新操作,直到关联图不可分割为止,每个不可分割的部分就成为一个单独的页面。
7.根据权利要求6所述的页面识别方法,其特征是,所述的分割和更新是指1)从主节点出发遍历主节点和所有的次级节点,叶子节点除外;2)每到一个节点,记录此节点的Host和与之相连的叶子节点总数;当此节点是主节点,则无操作;当此节点是次级节点,则a)利用Host判断当子节点和父节点不属于同一个网站,则断开子节点和父节点之间的有向连接线,并将断开的子节点升级为新的主节点;b)当子节点和父节点属于同一个网站,且子节点的叶子节点数和父节点的叶子节点数的比值小于5%,则断开与子节点上直连的所有次级节点,将断开的次级节点和父节点相连,有向连接线指向次级节点;c)当子节点和父节点属于同一个网站,且子节点的叶子节点数和父节点的叶子节点数的比值大于5%,则断开子节点和父节点之间的有向连接线,并将断开的子节点升级为新的主节点;反复操作之后,直到超链接关联图不可分割为止,则每个不可分割的部分就成为一个单独的页面。
全文摘要
一种计算机网络技术领域的被动网络性能测量系统及其页面识别方法,该系统包括网络踪迹采集模块、网页元素解析模块、网页识别模块和信息统计模块,本发明采用被动网络测量的方式、在网络接入链路上设置踪迹采集点来获取原始的测量数据,不需要在用户电脑上运行测量代码,也不会因测量给网络带来额外的流量,影响网络中的正常服务;用户端Web性能的测量方法以单个页面的加载时间作为测量指标,可以直接反映用户的真实体验;所采用的改进的页面识别方法,利用HTTP请求的网页元素,绘制出网页元素之间的超链接关联图,并结合不同网站网页的结构特征,从超链接关联图中分离出完整的页面,能够识别出加载时间重合的页面,提高页面识别的准确率。
文档编号H04L29/08GK102361484SQ20111018646
公开日2012年2月22日 申请日期2011年7月5日 优先权日2011年7月5日
发明者叶伟, 杨鑫, 金耀辉, 陈夏明, 韦建文 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1