Http主动测量中仿真真实用户负载的方法及系统的制作方法

文档序号:6522052阅读:237来源:国知局
Http主动测量中仿真真实用户负载的方法及系统的制作方法
【专利摘要】本发明公开了一种HTTP主动测量中仿真真实用户负载的方法及系统,方法包括:步骤1,从主页开始抓取待测量网站的每个网页;步骤2,计算所述待测量网站的每个网页的网页级别值;步骤3,模拟多个客户端,并令所述客户端根据所述网页级别值随机选择所述待测量网站的网页进行随机游走主动访问,从而对所述待测量网站的所述每个网页分别产生仿真真实用户访问的不同权值大小的负载。由此,可以对待测量网站的HTTP业务性能进行准确和全面的分析。
【专利说明】HTTP主动测量中仿真真实用户负载的方法及系统
【技术领域】
[0001]本发明涉及计算机网络测量领域,特别涉及一种网页随机游走主动测量方法及系统。
【背景技术】
[0002]由于万维网业务在因特网应用中的重要地位,Web流量的特征和HTTP协议的性能分析一直以来就是研究的热点。常用的HTTP业务性能分析方法包括被动分析法和主动测量法:被动分析法是通过分析服务器或客户端收集的大量包记录,从而建立HTTP业务不同层次相关参数的特征模式,如网页连接数、连接大小等;主动测量法是通过主动探测的方法来模拟不同负载与协议实现的HTTP业务,从而比较不同协议选项的性能差异,改进协议设计与协议实现。由于被动分析方法主要使用服务器或客户端日志信息和包记录,因而对于检验HTTP协议性能和Web流量特征有很多好处,但对端到端路径HTTP业务性能分析以及故障发现来说,缺乏足够的灵活性。而使用主动测量法可以灵活地模拟HTTP业务过程,通过HTTP业务响应及时地给出当前网络的HTTP性能变化,检测可能出现的性能异常并及时做出调整。
[0003]传统的HTTP主动测量技术往往是简单地重复对服务器的上一个或多个资源的请求,其业务流量的形式单一,对服务器产生的负载压力比较片面。而真实用户的业务请求有一定的规律,比如:高质量的网页会获得比低质量的网页更多的请求。但传统的测量技术不能仿真出这种真实的业务负载,而是片面地产生单一的资源负载来衡量HTTP业务性能,因而并不能准确反映在真实用户负载下的HTTP业务性能的情况。因此,需要有一种更好的能仿真真实用户负载的HTTP主动测量技术,来准确地反映HTTP业务性能。
[0004]本发明用于对一指定网站进行HTTP测量。只需要输入网站的主页,通过本方法就可以对该网站的各个网页分别产生近似于真实用户访问的不同权值大小的负载,从而能对HTTP业务性能进行准确和全面的分析。以下对本发明所用的一些技术做简要介绍。
[0005]网络爬虫是搜索引擎的关键技术之一,它是一种计算机程序,不停地从互联网中下载网页,分析并抽取链接,并根据一定的爬行算法来维护下载队列以发现和搜集信息。网络爬虫是通过网页的链接地址来寻找网页,从网站某一个网页(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络爬虫就可以用这个原理把互联网上所有的网页都抓取下来。
[0006]著名的PageRank算法(以下称为网页级别算法)是L Page, S.Brin提出的,网页级别算法的基本思想是:一个网页的重要性由它被引用的次数相关,被其他网页特别是那些已经被认定为“重要”的网页引用的次数越多也就重要。该算法在Google搜索引擎对查询结果排序的应用中有着重要的地位。
[0007]网页级别除了考虑到入链数量的影响,还参考了网页质量因素,两者相结合获得了更好的网页重要性评价标准。如果一个网页节点接收到的其他网页指向的入链数量越多,那么这个网页越重要。指向网页的入链质量不同,质量高的网页会通过链接向其他网页传递更多的权重。所以越是质量高的网页指向某网页,则该网页越重要。网页级别算法刚开始赋予每个网页相同的重要性得分,通过迭代递归计算来更新每个网页节点的网页级别得分,直到得分稳定为止。
[0008]互联网用户在上网时,往往有类似的网络行为:输入网址,浏览网页,然后顺着网页的链接不断打开新的网页。随机游走模型就是针对浏览网页的用户行为建立的抽象概念模型。
[0009]在最初阶段,用户打开浏览器浏览第I个网页,用户在看完网页后,对网页内某个链接指向的网页感兴趣,于是点击该链接,进入第2个网页。用户不断重复以上过程,在相互有链接指向的网页之间跳转。如果对于某个网页所包含的所有链接,用户都没有兴趣继续浏览,则可能会在浏览器中输入另外一个网址,直接到达该网页,这个行为称为远程跳转。随机游走模型就是一个对直接跳转和远程跳转两种用户浏览行为进行抽象的概念模型。

【发明内容】

[0010]在HTTP主动测量中,针对传统测量方式不能有效仿真真实用户负载的问题,本发明的目的在于,提供一种基于网页级别算法的HTTP主动测量中仿真真实用户负载的方法,能对某网站的各个网页分别产生近似于真实用户访问的不同权值大小的负载,从而能对HTTP业务性能进行准确和全面的分析。
[0011]为实现上述目的,本发明所提出的HTTP主动测量中仿真真实用户负载的方法,其特征在于,包括以下步骤:
[0012]步骤1,从主页开始抓取待测量网站的每个网页,记录所述每个网页的超链接的第一类URL和内嵌资源对象的第二类URL,其中,所述第一类URL用于计算所述每个网页的网页级别值,所述第二类URL用于请求所述每个网页的所有内嵌资源对象;
[0013]步骤2,赋予所述每个网页顺序的ID及相同分值,将所述分值按ID顺序排列并以向量R表示,设置矩阵A,若存在从网页i到网页j的所述第一类URL,则所述矩阵A的元素Bij的值为网页i所包含的所述第一类URL的数目的倒数,若不存在从网页i到网页j的所述第一类URL,则所述矩阵A的元素au的值为0,计算AR作为网页级别值,并通过迭代计算来更新所述网页级别值,进而计算出所述每个网页的最终网页级别值;
[0014]步骤3,模拟多个客户端,并令所述客户端根据所述最终网页级别值随机选择所述待测量网站的网页进行随机游走主动访问,且所述随机游走主动访问都是先请求容器页面对象,再根据所述第二类URL并发地请求内嵌资源对象,从而对所述待测量网站的所述每个网页分别产生仿真真实用户访问的不同权值大小的负载。
[0015]本发明所提出的HTTP主动测量中仿真真实用户负载的方法,其特征在于,所述步骤I具体为:
[0016]步骤11,设置并初始化线性表1、线性表2,所述线性表I用于保存需要遍历的URL,所述线性表2用于保存已遍历过的URL,将所述待测量网站的主页的URL加入所述线性表I,初始化所述线性表2为空;
[0017]步骤12,选择所述线性表I中的所述待测量网站的主页的URL,将该URL作为已遍历过的URL,从所述线性表1离开并加入所述线性表2 ;
[0018]步骤13,根据所述待测量网站的主页的URL解析相应的网页,获取该网页所包含的所述第一类URL和所述第二类URL ;
[0019]步骤14,设置链表1、链表2,所述第二类URL存入所述链表2,对于所述第一类URL,判断其是否属于所述待测量网站,若不属于,则丢弃,若属于,则将所述第一类URL存入所述链表1 ;
[0020]步骤15,对于未丢弃的所述第一类URL,若其不在所述线性表1中也不在所述线性表2中,则加入所述线性表1中;
[0021]步骤16,判断所述线性表1、所述线性表2的现有状态是否已满足结束条件,若满足,则进入步骤2,若不满足,则转步骤12,其中,所述结束条件可以是所述线性表1为空,或所述第一类、第二类URL的数量超过设定阈值。
[0022]本发明所提出的HTTP主动测量中仿真真实用户负载的方法,其特征在于,所述步骤2具体为:
[0023]步骤21,设置调整向量Ε=0.15X [α,(1- a ) / (η -1),...,(1- α)/(η-1)]τ,用于对所述网页级别值进行人为调整,参数α代表主页的重要性,初始化Kl/n,...,1/η]
T
[0024]步骤22,计算ARi作为新的网页级别向量Ri+1 ;
[0025]步骤23,计算迭代偏差d为I Ri ||厂|| Ri+1 || 1;
[0026]步骤24,修正 Ri+1 为 Ri+1+dE ;
[0027]步骤25,计算估计误差δ为I Rw-Ri || 1;
[0028]步骤26,若误差δ小于目标误差ε,则进入步骤3,否则,转步骤22,其中,所述目标误差ε默认为0.001。
[0029]本发明所提出的HTTP主动测量中仿真真实用户负载的方法,其特征在于,所述步骤3具体为:
[0030]步骤31,设置用户耐心系数p,OS P < 1,以及用户的终止条件,初始化当前网页为所述待测量网站的主页;
[0031]步骤32,访问该当前网页,先请求容器页面对象,待该容器页面对象响应完毕后再根据所述第二类URL并发地请求内嵌资源对象,
[0032]步骤33,产生一个O到I的随机数X,若X > p,设置当前网页为所述待测量网站的主页,转步骤32,若X < p,转步骤34 ;
[0033]步骤34,计算当前网页的所有所述第一类URL所对应的网页的网页级别值的加权比例作为概率Pk ;
[0034]步骤35,产生一个O到I的随机数7,若y < P1,设置当前网页为第一个所述第一类URL所对应的网页;若?1 < y < Pl+P2,设置当前网页为第二个所述第一类URL所对应的网页;若口办2≤y < PJP2+P3,设置当前网页为第三个所述第一类URL所对应的网页,并依此类推;
[0035]步骤36,判断当前状态是否满足结束条件,若满足,则结束,若不满足,则转步骤32,其中,所述结束条件为预设定的仿真时间或访问次数。
[0036]本发明还涉及一种HTTP主动测量中仿真真实用户负载的系统,其特征在于,包括以下模块:
[0037]网页抓取模块,用于从主页开始抓取待测量网站的每个网页,记录所述每个网页的超链接的第一类URL和内嵌资源对象的第二类URL,其中,所述第一类URL用于计算所述每个网页的网页级别值,所述第二类URL用于请求所述每个网页的所有内嵌资源对象;
[0038]网页级别值计算模块,用于赋予所述每个网页顺序的ID及相同分值,将所述分值按ID顺序排列并以向量R表示,设置矩阵A,若存在从网页i到网页j的所述第一类URL,则所述矩阵A的元素au的值为网页i所包含的所述第一类URL的数目的倒数,若不存在从网页i到网页j的所述第一类URL,则所述矩阵A的元素au的值为0,计算AR作为网页级别值,并通过迭代计算来更新所述网页级别值,进而计算出所述每个网页的最终网页级别值;
[0039]测量模块,用于模拟多个客户端,并令所述客户端根据所述最终网页级别值随机选择所述待测量网站的网页进行随机游走主动访问,且所述随机游走主动访问都是先请求容器页面对象,再根据所述第二 URL并发地请求内嵌资源对象,从而对所述待测量网站的所述每个网页分别产生近似于真实用户访问的不同权值大小的负载。
[0040]本发明所提出的HTTP主动测量中仿真真实用户负载的系统,其特征在于,所述网页抓取模块具体包括:
[0041]线性表初始化模块,用于设置并初始化线性表1、线性表2,所述线性表I用于保存需要遍历的URL,所述线性表2用于保存已遍历过的URL,将所述待测量网站的主页的URL存入所述线性表I,初始化所述线性表2为空;
[0042]URL选择模块,用于选择所述线性表I中的所述待测量网站的主页的URL,并将该URL作为已遍历过的URL,加入所述线性表2中;
[0043]网页解析模块,用于根据所述待测量网站的主页的URL解析相应的网页,并获取该网页所包含的所述第一类URL和所述第二类URL ;
[0044]链表处理模块,用于设置链表1、链表2,以及将所述第二类URL存入所述链表2,并判断所述第一类URL是否属于所述待测量网站,若不属于,则丢弃,若属于,则将所述第一类URL存入所述链表I ;
[0045]第一迭代调整模块,当未丢弃的所述第一类URL不在所述线性表I中也不在所述线性表2中时,用于将该未丢弃的所述第一类URL加入所述线性表I ;
[0046]第一迭代控制模块,用于判断所述线性表1、所述线性表2的现有状态是否已满足结束条件,若满足,则进入所述网页级别计算模块,若不满足,则进入所述URL选择模块,其中,所述结束条件可以是所述线性表I为空,或所述第一类、第二类URL的数量超过设定阈值。
[0047]本发明所提出的HTTP主动测量中仿真真实用户负载的系统,其特征在于,所述网页级别计算模块具体包括:
[0048]向量初始化模块,用于设置调整向量E=0.15Χ[α,(1- α )/(η -1),...,(1- α ) / (η -1) ]τ,该调整向量E用于对所述网页级别值进行人为调整,参数α代表主页的重要性,初始化R0= [1/η,...,1/η]τ ;
[0049]网页级别向量计算模块,用于计算ARi,并将ARi作为新的网页级别向量Ri+1 ;
[0050]迭代偏差计算模块,用于计算迭代偏差d,计算公式为I Ri I 1-1 Ri+1 I 1;[0051]第二迭代调整模块,用于修正Ri+1,修正公式为Ri+1+dE ;
[0052]估计误差计算模块,用于计算估计误差δ,计算公式为I Rw-Ri I 1;
[0053]第二迭代控制模块,用于判断误差δ,若该误差δ小于目标误差ε,则进入所述测量模块,否则,转网页级别向量计算模块,其中,所述目标误差ε默认为0.001。
[0054]本发明所提出的HTTP主动测量中仿真真实用户负载的系统,其特征在于,所述测量模块具体包括:
[0055]初始化设置模块,用于设置用户耐心系数ρ,0<ρ< 1,以及设置用户的终止条件,并初始化当前网页为所述待测量网站的主页;
[0056]负载产生模块,用于访问该当前网页,且先请求容器页面对象,待该容器页面对象响应完毕后再根据所述第二类URL并发地请求内嵌资源对象,
[0057]第三迭代调整模块,用于产生一个O到I的随机数X,若X > P,设置当前网页为所述待测量网站的主页,转负载产生模块,若X < P,转概率计算模块;
[0058]概率计算模块,用于计算当前网页的所有超链接的第一类URL所对应的网页的网页级别值的加权比例作为概率Pk ;
[0059]URL随机选择模块,用于产生一个O到I的随机数y,若y < Pl,设置当前网页为第一个所述第一类URL所对应的网页;若?1 < y < Pl+P2,设置当前网页为第二个所述第一类URL所对应的网页;SP1+P2 ^y< pAp2+p3,设置当前网页为第三个所述第一类URL所对应的网页,并依此类推;
[0060]第三迭代控制模块,用于判断当前状态是否满足结束条件,若满足,则结束,若不满足,则转负载产生模块,所述结束条件为预设定的仿真时间或访问次数。
[0061]相较与传统的HTTP主动测量方法,本方法的优点在于能很好地仿真真实用户的负载。第一,仿真用户浏览网页的跳转过程基于网页级别算法的网页随机游走;第二,仿真用户访问网页时的资源载入过程都是先请求容器页面对象,再并发地请求内嵌资源对象。
【专利附图】

【附图说明】
[0062]图1是本发明的网页抓取阶段流程图
[0063]图2是本发明的网页级别值计算阶段流程图
[0064]图3是本发明的一个网页级别值计算实例
[0065] 图4是本发明的测量阶段流程图
【具体实施方式】
[0066]本发明所提出的网页随机游走主动测量方法,该方法共分为三个步骤:网页抓取、计算网页级别值和测量。
[0067]步骤1,网页抓取。采用爬虫算法从主页开始抓取带测量网站的所有网页,记录下所述每个网页的超链接的URL (第一类URL)和内嵌资源对象的URL (第二类URL),其中,所述第一类URL用于计算所述每个网页的网页级别值和随机游走,所述第二类URL用于在测试时主动请求所述每个网页的所有内嵌资源对象而不需要解析HTML文件。
[0068]步骤2,计算网页级别值。开始时,给每个网页设置相同的网页级别值,通过若干轮的计算,会得到每个网页所获得的最终网页级别值。随着每一轮的计算进行,网页当前的网页级别值会不断得到更新。在一轮更新的网页的网页级别值的计算中,每个网页将其当前的网页级别值平均分配到本网页包含的出链上,这样每个链接即获得了相应的权值。而每个网页将所有指向本网页的入链所传入的权值求和,即可得到新的网页级别值。当每个网页都获得了更新后的网页级别值,就完成了一轮网页级别计算。
[0069]步骤3,测量。模拟多个客户端,每个客户端根据网页的网页级别值随机选择一个网页开始访问,然后重复地从原网页的出链上根据网页级别值随机选择下一个网页进行访问。对每个网页的访问都是先请求容器页面对象,待容器页面对象响应完毕后再并发地请求内嵌资源对象。这样就可以对该网站的每个网页分别产生近似于真实用户访问的不同权值大小的负载。
[0070]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明的网页随机游走主动测量方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0071]下面对本发明方法的三个步骤分别进行详细阐述。
[0072]步骤1,网页抓取,如图1所示,首先说明保存本方法所需的对应网页信息的数据结构。保存网页相关信息的结构体称为网页节点。网页节点用其URL唯一标识,可以通过URL进行检索。网页节点包含两个链表,链表LI保存其包含的超链接的URL(第一类URL),链表L2保存其包含的内嵌资源对象的URL (第二类URL)。
[0073]网页抓取从用户给定的网站主页作为种子的URL出发,沿着该URL所对应的网络图节点上的出链,按照一定的搜索策略来遍历该网站的网络图,其具体工作流程如下:
[0074]步骤11,初始化用于保存URL的线性表。这里需要两个线性表Ql、Q2,Ql用于保存需要遍历的URL,Q2用于保存已遍历过的URL。将用户给定的网站主页种子的URL存入Q1,初始化Q2为空。
[0075]步骤12,按照搜索策略选择出线性表Ql的URL,其中,若选择宽度优先搜索,则队首节点出队;若选择深度优先搜索,则栈顶节点出栈。将该URL作为当前抓取的URL,并存入线性表Q2。
[0076]步骤13,根据URL解析相应的网页。获取该网页所包含的超链接和内嵌资源对象的第一类、第二类URL。
[0077]步骤14,内嵌资源对象的第二类URL存入对应网页节点的链表L2。对于超链接的第一类URL,判断其是否属于该网站,可以看域名是否一致,若不属于,则丢弃;若属于,则将该第一类URL存入对应网页节点的链表LI。
[0078]步骤15,对于未丢弃的超链接的第一类URL,若其不在Ql中也不在Q2中,则加入Ql0
[0079]步骤16,判断线性表的现有状态是否已满足结束条件,例如:Q1为空,总的URL数量超过设定阈值。若满足,则退出网页抓取,进入步骤2 ;若不满足,则转步骤12。
[0080]步骤2,计算网页级别值,如图2所示,为每个网页赋予顺序的ID(ID为上述网页抓取步骤发现该网页的序号,ID只是为了使计算的每个网页级别值与实际的每个网页对应,即可以通过ID唯一标识一个网页即可,没有其它意义,故其他顺序也可以接受。),主页的ID为I。将每个网页的网页级别值&按网页节点ID顺序排列,以一个向量R(R=[ri,r2,...,rn]T)表不。令一个矩阵A,其每个兀素的行号和列号对应于网页ID。如果有一条从网页i到网页j的超链接,则au为1/队,队为网页i包含的超链接数目;若没有这样的超链接,则Bij 为 O。另外,还有一个调整向量E (Ε=0.15X [α,(1- α ) / (η -1),..., (1- α)/(η-1)]τ),调整向量E用于对网页级别结果进行人为的调整,参数α (OS α < I)可以进行设置,代表主页的重要性。若网站的主页仅仅起向导作用,用户在之后很少会访问主页,则α可设置为接近O;若网站的主页包含丰富的内容和摘要,用户会经常访问,则α可设置为接近
1
[0081]图3是在不考虑调整向量E的情况下,收敛后的网页级别值的一个实例。网页框内的数据是每个网页的网页级别值,每个箭头表示一个超链接,其上的数据是每个网页向其指向的网页平均分配的网页级别值。以网页I为例,其收敛后的网页级别值为0.304,它一共有5个出链,故将其网页级别值平均分配给其指向的每个网页,每个网页得到
0.304/5=0.061。再看其入链,网页2、3、5、6都指向了网页1,向其分配的网页级别值为
[0082]0.166+0.071+0.045+0.023=0.305,
[0083]因小数误差而与0.304不一致,将数据保留多位小数后可以得到
[0084]0.166+0.0705+0.04475+0.0225=0.30375。
[0085]为了表述的方便,之后会用到矩阵的I范数:
[0086]I A I ^maxi Σ an | , Σ I ai21,……,Σ I ain |},即每一列元素绝对值之和的最大值。
[0087]对于向量,则有I R 1:=Σ Ir」。可以看到,有I E I 1=0.15。
[0088]计算网页级别具体工作流程如下:
[0089]步骤21:初始化RcKl/n,…,1/η]τ。设置α的值,默认为0.618。可以看到,有I R0 I !=1, I E I 1=0.15。
[0090]步骤22:计算新的网页级别向量Ri+1为ARi,即矩阵A乘以原网页级别向量民。
[0091]步骤23:计算迭代偏差d为I Ri I 1-1 Ri+1 || 1D
[0092]步骤24:修正 Ri+1 为 Ri+1+dE。
[0093]步骤25:计算估计误差δ为I Rw-Ri | 10
[0094]步骤26:若误差δ小于目标误差ε,默认ε为0.001,则退出计算网页级别步骤,进入步骤3 ;否则,转步骤22。
[0095]步骤3,测量,如图4所示,这里只描述仿真单个用户的测量步骤流程。仿真大量用户时,可以在仿真单个用户的基础上,利用事件驱动的I/o多路复用技术实现。这个通用的技术比较常见,这里不作多余的叙述,只集中说明仿真单个用户的方法。
[0096]首先引入一个用户耐心系数ρ(0≤P≤1),表示用户继续浏览该网站的耐心。在每个网页访问结束后,用户将以P的概率点击超链接的第一类URL进行访问,以(1-P)的概率返回主页,其中,返回主页可以视为用户重新开始从主页访问,也可以视为原用户离开了网站而一个新用户开始访问。
[0097]测量步骤的具体工作流程如下:
[0098]步骤31:设置用户耐心系数P,以及用户的终止条件,如:持续访问时间,总的请求数等。初始化当前网页为网站主页。
[0099]步骤32:访问该当前网页,先请求容器页面对象,待该容器页面对象响应完毕后再根据所述第二类URL并发地请求内嵌资源对象。[0100]步骤33:产生一个O到I的随机数X,若X > P,设置当前网页为网站主页,转步骤32;若X≤ p,转步骤34。
[0101]步骤34:对于该当前网页的所有所述第一类URL,计算其加权比例作为概率pk,其计算公式为,
[0102]Pk=Tk/ Cr1+…+rm),
[0103]其中,F1…rm为当前网页所有所述第一类URL所对应网页的网页级别值。
[0104]步骤35:产生一个O到I的随机数7,若y < P1,设置当前网页为第I个超链接的第一类URL所对应的网页;若P1 < y < Pl+P2,设置当前网页为第2个超链接的第一类URL所对应的网页;若口办2≤ y < PJP2+P3,设置当前网页为第3个超链接的第一类URL所对应的网页,并依此类推。
[0105]步骤36:判断现在的状态是否已满足结束条件,若满足,则对该用户行为的仿真结束;若不满足,则转步骤32。
[0106]本发明还涉及一种HTTP主动测量中仿真真实用户负载的系统,包括以下模块:
[0107]网页抓取模块,用于从主页开始抓取待测量网站的每个网页,记录所述每个网页的超链接的第一类URL和内嵌资源对象的第二类URL,其中,所述第一类URL用于计算所述每个网页的网页级别值,所述第二类URL用于请求所述每个网页的所有内嵌资源对象;
[0108]网页级别值计算模块,用于赋予所述每个网页顺序的ID及相同分值,将所述分值按ID顺序排列并以向量R表示,设置矩阵A,若存在从网页i到网页j的所述第一类URL,则所述矩阵A的元素au的值为网页i所包含的所述第一类URL的数目的倒数,若不存在从网页i到网页j的所述第一类U·RL,则所述矩阵A的元素au的值为0,计算AR作为网页级别值,并通过迭代计算来更新所述网页级别值,进而计算出所述每个网页的最终网页级别值;
[0109]测量模块,用于模拟多个客户端,并令所述客户端根据所述最终网页级别值随机选择所述待测量网站的网页进行随机游走主动访问,且所述随机游走主动访问都是先请求容器页面对象,再根据所述第二 URL并发地请求内嵌资源对象,从而对所述待测量网站的所述每个网页分别产生近似于真实用户访问的不同权值大小的负载。
[0110]本发明所提出的HTTP主动测量中仿真真实用户负载的系统,其中,所述网页抓取模块具体包括:
[0111]线性表初始化模块,用于设置并初始化线性表1、线性表2,所述线性表1用于保存需要遍历的URL,所述线性表2用于保存已遍历过的URL,将所述待测量网站的主页的URL存入所述线性表1,初始化所述线性表2为空;
[0112]URL选择模块,用于选择所述线性表1中的所述待测量网站的主页的URL,并将该URL作为已遍历过的URL,加入所述线性表2中;
[0113]网页解析模块,用于根据所述待测量网站的主页的URL解析相应的网页,并获取该网页所包含的所述第一类URL和所述第二类URL ;
[0114]链表处理模块,用于设置链表1、链表2,以及将所述第二类URL存入所述链表2,并判断所述第一类URL是否属于所述待测量网站,若不属于,则丢弃,若属于,则将所述第一类URL存入所述链表1 ;
[0115]第一迭代调整模块,当未丢弃的所述第一类URL不在所述线性表1中也不在所述线性表2中时,用于将该未丢弃的所述第一类URL加入所述线性表1 ;
[0116]第一迭代控制模块,用于判断所述线性表1、所述线性表2的现有状态是否已满足结束条件,若满足,则进入所述网页级别计算模块,若不满足,则进入所述URL选择模块,其中,所述结束条件可以是所述线性表1为空,或所述第一类、第二类URL的数量超过设定阈值。
[0117]本发明所提出的HTTP主动测量中仿真真实用户负载的系统,其中,所述网页级别计算模块具体包括:
[0118]向量初始化模块,用于设置调整向量E=0.15Χ[α,(1- α )/(η -1),...,(1- α ) / (η -1) ]τ,该调整向量E用于对所述网页级别值进行人为调整,参数α代表主页的重要性,初始化R0= [1/η,...,1/η]τ ;
[0119]网页级别向量计算模块,用于计算ARi,并将ARi作为新的网页级别向量Ri+1 ;
[0120]迭代偏差计算模块,用于计算迭代偏差d,计算公式为IRi I「I Ri+1 I 1;
[0121]第二迭代调整模块,用于修正Ri+1,修正公式为Ri+1+dE ;
[0122]估计误差计算模块,用于计算估计误差δ,计算公式为I Rw-Ri I 1;
[0123]第二迭代控制模块,用于判断误差δ,若该误差δ小于目标误差ε,则进入所述测量模块,否则,转网页级别向量计算模块,其中,所述目标误差ε默认为0.001。
[0124]本发明所提出的HTTP主动测量中仿真真实用户负载的系统,其中,所述测量模块具体包括:
[0125]初始化设置模块,用于设置用户耐心系数ρ,0<ρ<1,以及设置用户的终止条件,并初始化当前网页为所述待测量网站的主页;
[0126]负载产生模块,用于访问该当前网页,且先请求容器页面对象,待该容器页面对象响应完毕后再根据所述第二类URL并发地请求内嵌资源对象,
[0127]第三迭代调整模块,用于产生一个O到I的随机数X,若X > P,设置当前网页为所述待测量网站的主页,转负载产生模块,若X ( P,转概率计算模块;
[0128]概率计算模块,用于计算当前网页的所有超链接的第一类URL所对应的网页的网页级别值的加权比例作为概率Pk ;
[0129]URL随机选择模块,用于产生一个O到I的随机数y,若y < Pl,设置当前网页为第一个所述第一类URL所对应的网页;若?1 < y < Pl+P2,设置当前网页为第二个所述第一类URL所对应的网页;SP1+P2 ^y< pAp2+p3,设置当前网页为第三个所述第一类URL所对应的网页,并依此类推;
[0130]第三迭代控制模块,用于判断当前状态是否满足结束条件,若满足,则结束,若不满足,则转负载产生模块,所述结束条件为预设定的仿真时间或访问次数。
【权利要求】
1.一种HTTP主动测量中仿真真实用户负载的方法,其特征在于,包括以下步骤: 步骤1,从主页开始抓取待测量网站的每个网页,记录所述每个网页的超链接的第一类URL和内嵌资源对象的第二类URL,其中,所述第一类URL用于计算所述每个网页的网页级别值,所述第二类URL用于请求所述每个网页的所有内嵌资源对象; 步骤2,赋予所述每个网页顺序的ID及相同分值,将所述分值按ID顺序排列并以向量R表示,设置矩阵A,若存在从网页i到网页j的所述第一类URL,则所述矩阵A的元素au的值为网页i所包含的所述第一类URL的数目的倒数,若不存在从网页i到网页j的所述第一类URL,则所述矩阵A的元素au的值为O,计算AR作为网页级别值,并通过迭代计算来更新所述网页级别值,进而计算出所述每个网页的最终网页级别值; 步骤3,模拟多个客户端,并令所述客户端根据所述最终网页级别值随机选择所述待测量网站的网页进行随机游走主动访问,且所述随机游走主动访问都是先请求容器页面对象,再根据所述第二类URL并发地请求内嵌资源对象,从而对所述待测量网站的所述每个网页分别产生仿真真实用户访问的不同权值大小的负载。
2.如权利要求1所述的HTTP主动测量中仿真真实用户负载的方法,其特征在于,所述步骤I具体为: 步骤11,设置并初始化线性表1、线性表2,所述线性表1用于保存需要遍历的URL,所述线性表2用于保存已遍历过的URL,将所述待测量网站的主页的URL加入所述线性表1,初始化所述线性表2为空; 步骤12,选择所述线性表1中的所述待测量网站的主页的URL,将该URL作为已遍历过的URL,从线性表1离开并加入所述线性表2 ; 步骤13,根据所述待测量网站的主页的URL解析相应的网页,获取该网页所包含的所述第一类URL和所述第二类URL ;` 步骤14,设置链表1、链表2,所述第二类URL存入所述链表2,对于所述第一类URL,判断其是否属于所述待测量网站,若不属于,则丢弃,若属于,则将所述第一类URL存入所述链表1 ; 步骤15,对于未丢弃的所述第一类URL,若其不在所述线性表1中也不在所述线性表2中,则加入所述线性表1中; 步骤16,判断所述线性表1、所述线性表2的现有状态是否已满足结束条件,若满足,则进入步骤2,若不满足,则转步骤12,其中,所述结束条件可以是所述线性表1为空,或所述第一类、第二类URL的数量超过设定阈值。
3.如权利要求1所述的HTTP主动测量中仿真真实用户负载的方法,其特征在于,所述步骤2具体为:
步骤21,设置调整向量 Ε=0.15X [α,(1- a ) / (η -1),...,(1- α ) / (η -1) ]τ,用于对所述网页级别值进行人为调整,参数α代表主页的重要性,初始化&=[1/11,1/η]τ ;步骤22,计算ARi作为新的网页级别向量Ri+1 ; 步骤23,计算迭代偏差d为I Ri I ! -1 Ri+1 I !; 步骤24,修正Ri+1为Ri+1+dE ; 步骤25,计算估计误差δ为I Rw-Ri I 1; 步骤26,若误差δ小于目标误差ε,则进入步骤3,否则,转步骤22,其中,所述目标误差ε默认为0.001。
4.如权利要求1所述的HTTP主动测量中仿真真实用户负载的方法,其特征在于,所述步骤3具体为: 步骤31,设置用户耐心系数p,0 ≤p≤1,以及用户的终止条件,初始化当前网页为所述待测量网站的主页; 步骤32,访问该当前网页,先请求容器页面对象,待该容器页面对象响应完毕后再根据所述第二类URL并发地请求内嵌资源对象, 步骤33,产生一个O到1的随机数X,若X > P,设置当前网页为所述待测量网站的主页,转步骤32,若X ≤ p,转步骤34 ; 步骤34,计算当前网页的所有所述第一类URL所对应的网页的网页级别值的加权比例作为概率Pk ;步骤35,产生一个O到1的随机数y,若y < Pl,设置当前网页为第一个所述第一类URL所对应的网页;若p1≤ y < Pl+P2,设置当前网页为第二个所述第一类URL所对应的网页;若P1+P2 ≤ < Pl+P2+P3,设置当前网页为第三个所述第一类URL所对应的网页,并依此类推;步骤36,判断当前状态是否满足结束条件,若满足,则结束,若不满足,则转步骤32,其中,所述结束条件为预设定的仿真时间或访问次数。
5.一种HTTP主动测量中仿真真实用户负载的系统,其特征在于,包括以下模块: 网页抓取模块,用于从主页开始抓取待测量网站的每个网页,记录所述每个网页的超链接的第一类URL和内嵌资源对象的第二类URL,其中,所述第一类URL用于计算所述每个网页的网页级别值,所述第二类URL用于请求所述每个网页的所有内嵌资源对象; 网页级别值计算模块,用于赋予所述每个网页顺序的ID及相同分值,将所述分值按ID顺序排列并以向量R表示,设置矩阵A,若存在从网页i到网页j的所述第一类URL,则所述矩阵A的元素au的值为网页i所包含的所述第一类URL的数目的倒数,若不存在从网页i到网页j的所述第一类URL,则所述矩阵A的元素au的值为0,计算AR作为网页级别值,并通过迭代计算来更新所述网页级别值,进而计算出所述每个网页的最终网页级别值; 测量模块,用于模拟多个客户端,并令所述客户端根据所述最终网页级别值随机选择所述待测量网站的网页进行随机游走主动访问,且所述随机游走主动访问都是先请求容器页面对象,再根据所述第二 URL并发地请求内嵌资源对象,从而对所述待测量网站的所述每个网页分别产生近似于真实用户访问的不同权值大小的负载。
6.如权利要求5所述的HTTP主动测量中仿真真实用户负载的系统,其特征在于,所述网页抓取模块具体包括: 线性表初始化模块,用于设置并初始化线性表1、线性表2,所述线性表1用于保存需要遍历的URL,所述线性表2用于保存已遍历过的URL,将所述待测量网站的主页的URL存入所述线性表1,初始化所述线性表2为空; URL选择模块,用于选择所述线性表1中的所述待测量网站的主页的URL,并将该URL作为已遍历过的URL,加入所述线性表2中; 网页解析模块,用于根据所述待测量网站的主页的URL解析相应的网页,并获取该网页所包含的所述第一类URL和所述第二类URL ;链表处理模块,用于设置链表1、链表2,以及将所述第二类URL存入所述链表2,并判断所述第一类URL是否属于所述待测量网站,若不属于,则丢弃,若属于,则将所述第一类URL存入所述链表1 ; 第一迭代调整模块,当未丢弃的所述第一类URL不在所述线性表1中也不在所述线性表2中时,用于将该未丢弃的所述第一类URL加入所述线性表1 ; 第一迭代控制模块,用于判断所述线性表1、所述线性表2的现有状态是否已满足结束条件,若满足,则进入所述网页级别计算模块,若不满足,则进入所述URL选择模块,其中,所述结束条件可以是所述线性表1为空,或所述第一类、第二类URL的数量超过设定阈值。
7.如权利要求5所述的HTTP主动测量中仿真真实用户负载的系统,其特征在于,所述网页级别计算模块具体包括: 向量初始化模块,用于设置调整向量Ε=0.15Χ[α,(1- α)/(η-1),..., (1- α)/(η-1) ]τ,该调整向量E用于对所述网页级别值进行人为调整,参数α代表主页的重要性,初始化 R0= [1/η,...,1/η]τ ; 网页级别向量计算模块,用于计算ARi,并将ARi作为新的网页级别向量Ri+1 ; 迭代偏差计算模块,用于计算迭代偏差d,计算公式为I Ri I ^ I Ri+1 I 1; 第二迭代调整模块,用于修正Ri+1,修正公式为Ri+1+dE ; 估计误差计算模块,用于计算估计误差δ,计算公式为I Ri+1-Ri I 1; 第二迭代控制模块,用于判断误差I若该误差S小于目标误差ε,则进入所述测量模块,否则,转网页级别向量计算模块,其中,所述目标误差ε默认为0.001。
8.如权利要求5所述的HTTP主动测量中仿真真实用户负载的系统,其特征在于,所述测量模块具体包括: 初始化设置模块,用于设置用户耐心系数P,O < P < 1,以及设置用户的终止条件,并初始化当前网页为所述待测量网站的主页; 负载产生模块,用于访问该当前网页,且先请求容器页面对象,待该容器页面对象响应完毕后再根据所述第二类URL并发地请求内嵌资源对象, 第三迭代调整模块,用于产生一个O到I的随机数X,若X > p,设置当前网页为所述待测量网站的主页,转请求模块,若X ( p,转概率计算模块; 概率计算模块,用于计算当前网页的所有超链接的第一类URL所对应的网页的网页级别值的加权比例作为概率Pk ; URL随机选择模块,用于产生一个O到I的随机数y,若y < Pl,设置当前网页为第一个所述第一类URL所对应的网页;若?1 < y < Pl+P2,设置当前网页为第二个所述第一类URL所对应的网页;SPi+P2 ^ y < PJP2+P3,设置当前网页为第三个所述第一类URL所对应的网页,并依此类推; 第三迭代控制模块,用于判断当前状态是否满足结束条件,若满足,则结束,若不满足,则转负载产生模块,所述结束条件为预设定的仿真时间或访问次数。
【文档编号】G06F17/30GK103678544SQ201310641674
【公开日】2014年3月26日 申请日期:2013年12月3日 优先权日:2013年12月3日
【发明者】张骏, 张广兴, 谢高岗, 徐川 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1