Http主動測量中仿真真實用戶負(fù)載的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種HTTP主動測量中仿真真實用戶負(fù)載的方法及系統(tǒng),方法包括:步驟1,從主頁開始抓取待測量網(wǎng)站的每個網(wǎng)頁;步驟2,計算所述待測量網(wǎng)站的每個網(wǎng)頁的網(wǎng)頁級別值;步驟3,模擬多個客戶端,并令所述客戶端根據(jù)所述網(wǎng)頁級別值隨機選擇所述待測量網(wǎng)站的網(wǎng)頁進行隨機游走主動訪問,從而對所述待測量網(wǎng)站的所述每個網(wǎng)頁分別產(chǎn)生仿真真實用戶訪問的不同權(quán)值大小的負(fù)載。由此,可以對待測量網(wǎng)站的HTTP業(yè)務(wù)性能進行準(zhǔn)確和全面的分析。
【專利說明】HTTP主動測量中仿真真實用戶負(fù)載的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機網(wǎng)絡(luò)測量領(lǐng)域,特別涉及一種網(wǎng)頁隨機游走主動測量方法及系統(tǒng)。
【背景技術(shù)】
[0002]由于萬維網(wǎng)業(yè)務(wù)在因特網(wǎng)應(yīng)用中的重要地位,Web流量的特征和HTTP協(xié)議的性能分析一直以來就是研究的熱點。常用的HTTP業(yè)務(wù)性能分析方法包括被動分析法和主動測量法:被動分析法是通過分析服務(wù)器或客戶端收集的大量包記錄,從而建立HTTP業(yè)務(wù)不同層次相關(guān)參數(shù)的特征模式,如網(wǎng)頁連接數(shù)、連接大小等;主動測量法是通過主動探測的方法來模擬不同負(fù)載與協(xié)議實現(xiàn)的HTTP業(yè)務(wù),從而比較不同協(xié)議選項的性能差異,改進協(xié)議設(shè)計與協(xié)議實現(xiàn)。由于被動分析方法主要使用服務(wù)器或客戶端日志信息和包記錄,因而對于檢驗HTTP協(xié)議性能和Web流量特征有很多好處,但對端到端路徑HTTP業(yè)務(wù)性能分析以及故障發(fā)現(xiàn)來說,缺乏足夠的靈活性。而使用主動測量法可以靈活地模擬HTTP業(yè)務(wù)過程,通過HTTP業(yè)務(wù)響應(yīng)及時地給出當(dāng)前網(wǎng)絡(luò)的HTTP性能變化,檢測可能出現(xiàn)的性能異常并及時做出調(diào)整。
[0003]傳統(tǒng)的HTTP主動測量技術(shù)往往是簡單地重復(fù)對服務(wù)器的上一個或多個資源的請求,其業(yè)務(wù)流量的形式單一,對服務(wù)器產(chǎn)生的負(fù)載壓力比較片面。而真實用戶的業(yè)務(wù)請求有一定的規(guī)律,比如:高質(zhì)量的網(wǎng)頁會獲得比低質(zhì)量的網(wǎng)頁更多的請求。但傳統(tǒng)的測量技術(shù)不能仿真出這種真實的業(yè)務(wù)負(fù)載,而是片面地產(chǎn)生單一的資源負(fù)載來衡量HTTP業(yè)務(wù)性能,因而并不能準(zhǔn)確反映在真實用戶負(fù)載下的HTTP業(yè)務(wù)性能的情況。因此,需要有一種更好的能仿真真實用戶負(fù)載的HTTP主動測量技術(shù),來準(zhǔn)確地反映HTTP業(yè)務(wù)性能。
[0004]本發(fā)明用于對一指定網(wǎng)站進行HTTP測量。只需要輸入網(wǎng)站的主頁,通過本方法就可以對該網(wǎng)站的各個網(wǎng)頁分別產(chǎn)生近似于真實用戶訪問的不同權(quán)值大小的負(fù)載,從而能對HTTP業(yè)務(wù)性能進行準(zhǔn)確和全面的分析。以下對本發(fā)明所用的一些技術(shù)做簡要介紹。
[0005]網(wǎng)絡(luò)爬蟲是搜索引擎的關(guān)鍵技術(shù)之一,它是一種計算機程序,不停地從互聯(lián)網(wǎng)中下載網(wǎng)頁,分析并抽取鏈接,并根據(jù)一定的爬行算法來維護下載隊列以發(fā)現(xiàn)和搜集信息。網(wǎng)絡(luò)爬蟲是通過網(wǎng)頁的鏈接地址來尋找網(wǎng)頁,從網(wǎng)站某一個網(wǎng)頁(通常是首頁)開始,讀取網(wǎng)頁的內(nèi)容,找到在網(wǎng)頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網(wǎng)頁,這樣一直循環(huán)下去,直到把這個網(wǎng)站所有的網(wǎng)頁都抓取完為止。如果把整個互聯(lián)網(wǎng)當(dāng)成一個網(wǎng)站,那么網(wǎng)絡(luò)爬蟲就可以用這個原理把互聯(lián)網(wǎng)上所有的網(wǎng)頁都抓取下來。
[0006]著名的PageRank算法(以下稱為網(wǎng)頁級別算法)是L Page, S.Brin提出的,網(wǎng)頁級別算法的基本思想是:一個網(wǎng)頁的重要性由它被引用的次數(shù)相關(guān),被其他網(wǎng)頁特別是那些已經(jīng)被認(rèn)定為“重要”的網(wǎng)頁引用的次數(shù)越多也就重要。該算法在Google搜索引擎對查詢結(jié)果排序的應(yīng)用中有著重要的地位。
[0007]網(wǎng)頁級別除了考慮到入鏈數(shù)量的影響,還參考了網(wǎng)頁質(zhì)量因素,兩者相結(jié)合獲得了更好的網(wǎng)頁重要性評價標(biāo)準(zhǔn)。如果一個網(wǎng)頁節(jié)點接收到的其他網(wǎng)頁指向的入鏈數(shù)量越多,那么這個網(wǎng)頁越重要。指向網(wǎng)頁的入鏈質(zhì)量不同,質(zhì)量高的網(wǎng)頁會通過鏈接向其他網(wǎng)頁傳遞更多的權(quán)重。所以越是質(zhì)量高的網(wǎng)頁指向某網(wǎng)頁,則該網(wǎng)頁越重要。網(wǎng)頁級別算法剛開始賦予每個網(wǎng)頁相同的重要性得分,通過迭代遞歸計算來更新每個網(wǎng)頁節(jié)點的網(wǎng)頁級別得分,直到得分穩(wěn)定為止。
[0008]互聯(lián)網(wǎng)用戶在上網(wǎng)時,往往有類似的網(wǎng)絡(luò)行為:輸入網(wǎng)址,瀏覽網(wǎng)頁,然后順著網(wǎng)頁的鏈接不斷打開新的網(wǎng)頁。隨機游走模型就是針對瀏覽網(wǎng)頁的用戶行為建立的抽象概念模型。
[0009]在最初階段,用戶打開瀏覽器瀏覽第I個網(wǎng)頁,用戶在看完網(wǎng)頁后,對網(wǎng)頁內(nèi)某個鏈接指向的網(wǎng)頁感興趣,于是點擊該鏈接,進入第2個網(wǎng)頁。用戶不斷重復(fù)以上過程,在相互有鏈接指向的網(wǎng)頁之間跳轉(zhuǎn)。如果對于某個網(wǎng)頁所包含的所有鏈接,用戶都沒有興趣繼續(xù)瀏覽,則可能會在瀏覽器中輸入另外一個網(wǎng)址,直接到達(dá)該網(wǎng)頁,這個行為稱為遠(yuǎn)程跳轉(zhuǎn)。隨機游走模型就是一個對直接跳轉(zhuǎn)和遠(yuǎn)程跳轉(zhuǎn)兩種用戶瀏覽行為進行抽象的概念模型。
【發(fā)明內(nèi)容】
[0010]在HTTP主動測量中,針對傳統(tǒng)測量方式不能有效仿真真實用戶負(fù)載的問題,本發(fā)明的目的在于,提供一種基于網(wǎng)頁級別算法的HTTP主動測量中仿真真實用戶負(fù)載的方法,能對某網(wǎng)站的各個網(wǎng)頁分別產(chǎn)生近似于真實用戶訪問的不同權(quán)值大小的負(fù)載,從而能對HTTP業(yè)務(wù)性能進行準(zhǔn)確和全面的分析。
[0011]為實現(xiàn)上述目的,本發(fā)明所提出的HTTP主動測量中仿真真實用戶負(fù)載的方法,其特征在于,包括以下步驟:
[0012]步驟1,從主頁開始抓取待測量網(wǎng)站的每個網(wǎng)頁,記錄所述每個網(wǎng)頁的超鏈接的第一類URL和內(nèi)嵌資源對象的第二類URL,其中,所述第一類URL用于計算所述每個網(wǎng)頁的網(wǎng)頁級別值,所述第二類URL用于請求所述每個網(wǎng)頁的所有內(nèi)嵌資源對象;
[0013]步驟2,賦予所述每個網(wǎng)頁順序的ID及相同分值,將所述分值按ID順序排列并以向量R表示,設(shè)置矩陣A,若存在從網(wǎng)頁i到網(wǎng)頁j的所述第一類URL,則所述矩陣A的元素Bij的值為網(wǎng)頁i所包含的所述第一類URL的數(shù)目的倒數(shù),若不存在從網(wǎng)頁i到網(wǎng)頁j的所述第一類URL,則所述矩陣A的元素au的值為0,計算AR作為網(wǎng)頁級別值,并通過迭代計算來更新所述網(wǎng)頁級別值,進而計算出所述每個網(wǎng)頁的最終網(wǎng)頁級別值;
[0014]步驟3,模擬多個客戶端,并令所述客戶端根據(jù)所述最終網(wǎng)頁級別值隨機選擇所述待測量網(wǎng)站的網(wǎng)頁進行隨機游走主動訪問,且所述隨機游走主動訪問都是先請求容器頁面對象,再根據(jù)所述第二類URL并發(fā)地請求內(nèi)嵌資源對象,從而對所述待測量網(wǎng)站的所述每個網(wǎng)頁分別產(chǎn)生仿真真實用戶訪問的不同權(quán)值大小的負(fù)載。
[0015]本發(fā)明所提出的HTTP主動測量中仿真真實用戶負(fù)載的方法,其特征在于,所述步驟I具體為:
[0016]步驟11,設(shè)置并初始化線性表1、線性表2,所述線性表I用于保存需要遍歷的URL,所述線性表2用于保存已遍歷過的URL,將所述待測量網(wǎng)站的主頁的URL加入所述線性表I,初始化所述線性表2為空;
[0017]步驟12,選擇所述線性表I中的所述待測量網(wǎng)站的主頁的URL,將該URL作為已遍歷過的URL,從所述線性表1離開并加入所述線性表2 ;
[0018]步驟13,根據(jù)所述待測量網(wǎng)站的主頁的URL解析相應(yīng)的網(wǎng)頁,獲取該網(wǎng)頁所包含的所述第一類URL和所述第二類URL ;
[0019]步驟14,設(shè)置鏈表1、鏈表2,所述第二類URL存入所述鏈表2,對于所述第一類URL,判斷其是否屬于所述待測量網(wǎng)站,若不屬于,則丟棄,若屬于,則將所述第一類URL存入所述鏈表1 ;
[0020]步驟15,對于未丟棄的所述第一類URL,若其不在所述線性表1中也不在所述線性表2中,則加入所述線性表1中;
[0021]步驟16,判斷所述線性表1、所述線性表2的現(xiàn)有狀態(tài)是否已滿足結(jié)束條件,若滿足,則進入步驟2,若不滿足,則轉(zhuǎn)步驟12,其中,所述結(jié)束條件可以是所述線性表1為空,或所述第一類、第二類URL的數(shù)量超過設(shè)定閾值。
[0022]本發(fā)明所提出的HTTP主動測量中仿真真實用戶負(fù)載的方法,其特征在于,所述步驟2具體為:
[0023]步驟21,設(shè)置調(diào)整向量Ε=0.15X [α,(1- a ) / (η -1),...,(1- α)/(η-1)]τ,用于對所述網(wǎng)頁級別值進行人為調(diào)整,參數(shù)α代表主頁的重要性,初始化Kl/n,...,1/η]
T
[0024]步驟22,計算ARi作為新的網(wǎng)頁級別向量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,若誤差δ小于目標(biāo)誤差ε,則進入步驟3,否則,轉(zhuǎn)步驟22,其中,所述目標(biāo)誤差ε默認(rèn)為0.001。
[0029]本發(fā)明所提出的HTTP主動測量中仿真真實用戶負(fù)載的方法,其特征在于,所述步驟3具體為:
[0030]步驟31,設(shè)置用戶耐心系數(shù)p,OS P < 1,以及用戶的終止條件,初始化當(dāng)前網(wǎng)頁為所述待測量網(wǎng)站的主頁;
[0031]步驟32,訪問該當(dāng)前網(wǎng)頁,先請求容器頁面對象,待該容器頁面對象響應(yīng)完畢后再根據(jù)所述第二類URL并發(fā)地請求內(nèi)嵌資源對象,
[0032]步驟33,產(chǎn)生一個O到I的隨機數(shù)X,若X > p,設(shè)置當(dāng)前網(wǎng)頁為所述待測量網(wǎng)站的主頁,轉(zhuǎn)步驟32,若X < p,轉(zhuǎn)步驟34 ;
[0033]步驟34,計算當(dāng)前網(wǎng)頁的所有所述第一類URL所對應(yīng)的網(wǎng)頁的網(wǎng)頁級別值的加權(quán)比例作為概率Pk ;
[0034]步驟35,產(chǎn)生一個O到I的隨機數(shù)7,若y < P1,設(shè)置當(dāng)前網(wǎng)頁為第一個所述第一類URL所對應(yīng)的網(wǎng)頁;若?1 < y < Pl+P2,設(shè)置當(dāng)前網(wǎng)頁為第二個所述第一類URL所對應(yīng)的網(wǎng)頁;若口辦2≤y < PJP2+P3,設(shè)置當(dāng)前網(wǎng)頁為第三個所述第一類URL所對應(yīng)的網(wǎng)頁,并依此類推;
[0035]步驟36,判斷當(dāng)前狀態(tài)是否滿足結(jié)束條件,若滿足,則結(jié)束,若不滿足,則轉(zhuǎn)步驟32,其中,所述結(jié)束條件為預(yù)設(shè)定的仿真時間或訪問次數(shù)。
[0036]本發(fā)明還涉及一種HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其特征在于,包括以下模塊:
[0037]網(wǎng)頁抓取模塊,用于從主頁開始抓取待測量網(wǎng)站的每個網(wǎng)頁,記錄所述每個網(wǎng)頁的超鏈接的第一類URL和內(nèi)嵌資源對象的第二類URL,其中,所述第一類URL用于計算所述每個網(wǎng)頁的網(wǎng)頁級別值,所述第二類URL用于請求所述每個網(wǎng)頁的所有內(nèi)嵌資源對象;
[0038]網(wǎng)頁級別值計算模塊,用于賦予所述每個網(wǎng)頁順序的ID及相同分值,將所述分值按ID順序排列并以向量R表示,設(shè)置矩陣A,若存在從網(wǎng)頁i到網(wǎng)頁j的所述第一類URL,則所述矩陣A的元素au的值為網(wǎng)頁i所包含的所述第一類URL的數(shù)目的倒數(shù),若不存在從網(wǎng)頁i到網(wǎng)頁j的所述第一類URL,則所述矩陣A的元素au的值為0,計算AR作為網(wǎng)頁級別值,并通過迭代計算來更新所述網(wǎng)頁級別值,進而計算出所述每個網(wǎng)頁的最終網(wǎng)頁級別值;
[0039]測量模塊,用于模擬多個客戶端,并令所述客戶端根據(jù)所述最終網(wǎng)頁級別值隨機選擇所述待測量網(wǎng)站的網(wǎng)頁進行隨機游走主動訪問,且所述隨機游走主動訪問都是先請求容器頁面對象,再根據(jù)所述第二 URL并發(fā)地請求內(nèi)嵌資源對象,從而對所述待測量網(wǎng)站的所述每個網(wǎng)頁分別產(chǎn)生近似于真實用戶訪問的不同權(quán)值大小的負(fù)載。
[0040]本發(fā)明所提出的HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其特征在于,所述網(wǎng)頁抓取模塊具體包括:
[0041]線性表初始化模塊,用于設(shè)置并初始化線性表1、線性表2,所述線性表I用于保存需要遍歷的URL,所述線性表2用于保存已遍歷過的URL,將所述待測量網(wǎng)站的主頁的URL存入所述線性表I,初始化所述線性表2為空;
[0042]URL選擇模塊,用于選擇所述線性表I中的所述待測量網(wǎng)站的主頁的URL,并將該URL作為已遍歷過的URL,加入所述線性表2中;
[0043]網(wǎng)頁解析模塊,用于根據(jù)所述待測量網(wǎng)站的主頁的URL解析相應(yīng)的網(wǎng)頁,并獲取該網(wǎng)頁所包含的所述第一類URL和所述第二類URL ;
[0044]鏈表處理模塊,用于設(shè)置鏈表1、鏈表2,以及將所述第二類URL存入所述鏈表2,并判斷所述第一類URL是否屬于所述待測量網(wǎng)站,若不屬于,則丟棄,若屬于,則將所述第一類URL存入所述鏈表I ;
[0045]第一迭代調(diào)整模塊,當(dāng)未丟棄的所述第一類URL不在所述線性表I中也不在所述線性表2中時,用于將該未丟棄的所述第一類URL加入所述線性表I ;
[0046]第一迭代控制模塊,用于判斷所述線性表1、所述線性表2的現(xiàn)有狀態(tài)是否已滿足結(jié)束條件,若滿足,則進入所述網(wǎng)頁級別計算模塊,若不滿足,則進入所述URL選擇模塊,其中,所述結(jié)束條件可以是所述線性表I為空,或所述第一類、第二類URL的數(shù)量超過設(shè)定閾值。
[0047]本發(fā)明所提出的HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其特征在于,所述網(wǎng)頁級別計算模塊具體包括:
[0048]向量初始化模塊,用于設(shè)置調(diào)整向量E=0.15Χ[α,(1- α )/(η -1),...,(1- α ) / (η -1) ]τ,該調(diào)整向量E用于對所述網(wǎng)頁級別值進行人為調(diào)整,參數(shù)α代表主頁的重要性,初始化R0= [1/η,...,1/η]τ ;
[0049]網(wǎng)頁級別向量計算模塊,用于計算ARi,并將ARi作為新的網(wǎng)頁級別向量Ri+1 ;
[0050]迭代偏差計算模塊,用于計算迭代偏差d,計算公式為I Ri I 1-1 Ri+1 I 1;[0051]第二迭代調(diào)整模塊,用于修正Ri+1,修正公式為Ri+1+dE ;
[0052]估計誤差計算模塊,用于計算估計誤差δ,計算公式為I Rw-Ri I 1;
[0053]第二迭代控制模塊,用于判斷誤差δ,若該誤差δ小于目標(biāo)誤差ε,則進入所述測量模塊,否則,轉(zhuǎn)網(wǎng)頁級別向量計算模塊,其中,所述目標(biāo)誤差ε默認(rèn)為0.001。
[0054]本發(fā)明所提出的HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其特征在于,所述測量模塊具體包括:
[0055]初始化設(shè)置模塊,用于設(shè)置用戶耐心系數(shù)ρ,0<ρ< 1,以及設(shè)置用戶的終止條件,并初始化當(dāng)前網(wǎng)頁為所述待測量網(wǎng)站的主頁;
[0056]負(fù)載產(chǎn)生模塊,用于訪問該當(dāng)前網(wǎng)頁,且先請求容器頁面對象,待該容器頁面對象響應(yīng)完畢后再根據(jù)所述第二類URL并發(fā)地請求內(nèi)嵌資源對象,
[0057]第三迭代調(diào)整模塊,用于產(chǎn)生一個O到I的隨機數(shù)X,若X > P,設(shè)置當(dāng)前網(wǎng)頁為所述待測量網(wǎng)站的主頁,轉(zhuǎn)負(fù)載產(chǎn)生模塊,若X < P,轉(zhuǎn)概率計算模塊;
[0058]概率計算模塊,用于計算當(dāng)前網(wǎng)頁的所有超鏈接的第一類URL所對應(yīng)的網(wǎng)頁的網(wǎng)頁級別值的加權(quán)比例作為概率Pk ;
[0059]URL隨機選擇模塊,用于產(chǎn)生一個O到I的隨機數(shù)y,若y < Pl,設(shè)置當(dāng)前網(wǎng)頁為第一個所述第一類URL所對應(yīng)的網(wǎng)頁;若?1 < y < Pl+P2,設(shè)置當(dāng)前網(wǎng)頁為第二個所述第一類URL所對應(yīng)的網(wǎng)頁;SP1+P2 ^y< pAp2+p3,設(shè)置當(dāng)前網(wǎng)頁為第三個所述第一類URL所對應(yīng)的網(wǎng)頁,并依此類推;
[0060]第三迭代控制模塊,用于判斷當(dāng)前狀態(tài)是否滿足結(jié)束條件,若滿足,則結(jié)束,若不滿足,則轉(zhuǎn)負(fù)載產(chǎn)生模塊,所述結(jié)束條件為預(yù)設(shè)定的仿真時間或訪問次數(shù)。
[0061]相較與傳統(tǒng)的HTTP主動測量方法,本方法的優(yōu)點在于能很好地仿真真實用戶的負(fù)載。第一,仿真用戶瀏覽網(wǎng)頁的跳轉(zhuǎn)過程基于網(wǎng)頁級別算法的網(wǎng)頁隨機游走;第二,仿真用戶訪問網(wǎng)頁時的資源載入過程都是先請求容器頁面對象,再并發(fā)地請求內(nèi)嵌資源對象。
【專利附圖】
【附圖說明】
[0062]圖1是本發(fā)明的網(wǎng)頁抓取階段流程圖
[0063]圖2是本發(fā)明的網(wǎng)頁級別值計算階段流程圖
[0064]圖3是本發(fā)明的一個網(wǎng)頁級別值計算實例
[0065] 圖4是本發(fā)明的測量階段流程圖
【具體實施方式】
[0066]本發(fā)明所提出的網(wǎng)頁隨機游走主動測量方法,該方法共分為三個步驟:網(wǎng)頁抓取、計算網(wǎng)頁級別值和測量。
[0067]步驟1,網(wǎng)頁抓取。采用爬蟲算法從主頁開始抓取帶測量網(wǎng)站的所有網(wǎng)頁,記錄下所述每個網(wǎng)頁的超鏈接的URL (第一類URL)和內(nèi)嵌資源對象的URL (第二類URL),其中,所述第一類URL用于計算所述每個網(wǎng)頁的網(wǎng)頁級別值和隨機游走,所述第二類URL用于在測試時主動請求所述每個網(wǎng)頁的所有內(nèi)嵌資源對象而不需要解析HTML文件。
[0068]步驟2,計算網(wǎng)頁級別值。開始時,給每個網(wǎng)頁設(shè)置相同的網(wǎng)頁級別值,通過若干輪的計算,會得到每個網(wǎng)頁所獲得的最終網(wǎng)頁級別值。隨著每一輪的計算進行,網(wǎng)頁當(dāng)前的網(wǎng)頁級別值會不斷得到更新。在一輪更新的網(wǎng)頁的網(wǎng)頁級別值的計算中,每個網(wǎng)頁將其當(dāng)前的網(wǎng)頁級別值平均分配到本網(wǎng)頁包含的出鏈上,這樣每個鏈接即獲得了相應(yīng)的權(quán)值。而每個網(wǎng)頁將所有指向本網(wǎng)頁的入鏈所傳入的權(quán)值求和,即可得到新的網(wǎng)頁級別值。當(dāng)每個網(wǎng)頁都獲得了更新后的網(wǎng)頁級別值,就完成了一輪網(wǎng)頁級別計算。
[0069]步驟3,測量。模擬多個客戶端,每個客戶端根據(jù)網(wǎng)頁的網(wǎng)頁級別值隨機選擇一個網(wǎng)頁開始訪問,然后重復(fù)地從原網(wǎng)頁的出鏈上根據(jù)網(wǎng)頁級別值隨機選擇下一個網(wǎng)頁進行訪問。對每個網(wǎng)頁的訪問都是先請求容器頁面對象,待容器頁面對象響應(yīng)完畢后再并發(fā)地請求內(nèi)嵌資源對象。這樣就可以對該網(wǎng)站的每個網(wǎng)頁分別產(chǎn)生近似于真實用戶訪問的不同權(quán)值大小的負(fù)載。
[0070]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖對本發(fā)明的網(wǎng)頁隨機游走主動測量方法進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0071]下面對本發(fā)明方法的三個步驟分別進行詳細(xì)闡述。
[0072]步驟1,網(wǎng)頁抓取,如圖1所示,首先說明保存本方法所需的對應(yīng)網(wǎng)頁信息的數(shù)據(jù)結(jié)構(gòu)。保存網(wǎng)頁相關(guān)信息的結(jié)構(gòu)體稱為網(wǎng)頁節(jié)點。網(wǎng)頁節(jié)點用其URL唯一標(biāo)識,可以通過URL進行檢索。網(wǎng)頁節(jié)點包含兩個鏈表,鏈表LI保存其包含的超鏈接的URL(第一類URL),鏈表L2保存其包含的內(nèi)嵌資源對象的URL (第二類URL)。
[0073]網(wǎng)頁抓取從用戶給定的網(wǎng)站主頁作為種子的URL出發(fā),沿著該URL所對應(yīng)的網(wǎng)絡(luò)圖節(jié)點上的出鏈,按照一定的搜索策略來遍歷該網(wǎng)站的網(wǎng)絡(luò)圖,其具體工作流程如下:
[0074]步驟11,初始化用于保存URL的線性表。這里需要兩個線性表Ql、Q2,Ql用于保存需要遍歷的URL,Q2用于保存已遍歷過的URL。將用戶給定的網(wǎng)站主頁種子的URL存入Q1,初始化Q2為空。
[0075]步驟12,按照搜索策略選擇出線性表Ql的URL,其中,若選擇寬度優(yōu)先搜索,則隊首節(jié)點出隊;若選擇深度優(yōu)先搜索,則棧頂節(jié)點出棧。將該URL作為當(dāng)前抓取的URL,并存入線性表Q2。
[0076]步驟13,根據(jù)URL解析相應(yīng)的網(wǎng)頁。獲取該網(wǎng)頁所包含的超鏈接和內(nèi)嵌資源對象的第一類、第二類URL。
[0077]步驟14,內(nèi)嵌資源對象的第二類URL存入對應(yīng)網(wǎng)頁節(jié)點的鏈表L2。對于超鏈接的第一類URL,判斷其是否屬于該網(wǎng)站,可以看域名是否一致,若不屬于,則丟棄;若屬于,則將該第一類URL存入對應(yīng)網(wǎng)頁節(jié)點的鏈表LI。
[0078]步驟15,對于未丟棄的超鏈接的第一類URL,若其不在Ql中也不在Q2中,則加入Ql0
[0079]步驟16,判斷線性表的現(xiàn)有狀態(tài)是否已滿足結(jié)束條件,例如:Q1為空,總的URL數(shù)量超過設(shè)定閾值。若滿足,則退出網(wǎng)頁抓取,進入步驟2 ;若不滿足,則轉(zhuǎn)步驟12。
[0080]步驟2,計算網(wǎng)頁級別值,如圖2所示,為每個網(wǎng)頁賦予順序的ID(ID為上述網(wǎng)頁抓取步驟發(fā)現(xiàn)該網(wǎng)頁的序號,ID只是為了使計算的每個網(wǎng)頁級別值與實際的每個網(wǎng)頁對應(yīng),即可以通過ID唯一標(biāo)識一個網(wǎng)頁即可,沒有其它意義,故其他順序也可以接受。),主頁的ID為I。將每個網(wǎng)頁的網(wǎng)頁級別值&按網(wǎng)頁節(jié)點ID順序排列,以一個向量R(R=[ri,r2,...,rn]T)表不。令一個矩陣A,其每個兀素的行號和列號對應(yīng)于網(wǎng)頁ID。如果有一條從網(wǎng)頁i到網(wǎng)頁j的超鏈接,則au為1/隊,隊為網(wǎng)頁i包含的超鏈接數(shù)目;若沒有這樣的超鏈接,則Bij 為 O。另外,還有一個調(diào)整向量E (Ε=0.15X [α,(1- α ) / (η -1),..., (1- α)/(η-1)]τ),調(diào)整向量E用于對網(wǎng)頁級別結(jié)果進行人為的調(diào)整,參數(shù)α (OS α < I)可以進行設(shè)置,代表主頁的重要性。若網(wǎng)站的主頁僅僅起向?qū)ё饔?,用戶在之后很少會訪問主頁,則α可設(shè)置為接近O;若網(wǎng)站的主頁包含豐富的內(nèi)容和摘要,用戶會經(jīng)常訪問,則α可設(shè)置為接近
1
[0081]圖3是在不考慮調(diào)整向量E的情況下,收斂后的網(wǎng)頁級別值的一個實例。網(wǎng)頁框內(nèi)的數(shù)據(jù)是每個網(wǎng)頁的網(wǎng)頁級別值,每個箭頭表示一個超鏈接,其上的數(shù)據(jù)是每個網(wǎng)頁向其指向的網(wǎng)頁平均分配的網(wǎng)頁級別值。以網(wǎng)頁I為例,其收斂后的網(wǎng)頁級別值為0.304,它一共有5個出鏈,故將其網(wǎng)頁級別值平均分配給其指向的每個網(wǎng)頁,每個網(wǎng)頁得到
0.304/5=0.061。再看其入鏈,網(wǎng)頁2、3、5、6都指向了網(wǎng)頁1,向其分配的網(wǎng)頁級別值為
[0082]0.166+0.071+0.045+0.023=0.305,
[0083]因小數(shù)誤差而與0.304不一致,將數(shù)據(jù)保留多位小數(shù)后可以得到
[0084]0.166+0.0705+0.04475+0.0225=0.30375。
[0085]為了表述的方便,之后會用到矩陣的I范數(shù):
[0086]I A I ^maxi Σ an | , Σ I ai21,……,Σ I ain |},即每一列元素絕對值之和的最大值。
[0087]對于向量,則有I R 1:=Σ Ir」??梢钥吹?,有I E I 1=0.15。
[0088]計算網(wǎng)頁級別具體工作流程如下:
[0089]步驟21:初始化RcKl/n,…,1/η]τ。設(shè)置α的值,默認(rèn)為0.618??梢钥吹?,有I R0 I !=1, I E I 1=0.15。
[0090]步驟22:計算新的網(wǎng)頁級別向量Ri+1為ARi,即矩陣A乘以原網(wǎng)頁級別向量民。
[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:若誤差δ小于目標(biāo)誤差ε,默認(rèn)ε為0.001,則退出計算網(wǎng)頁級別步驟,進入步驟3 ;否則,轉(zhuǎn)步驟22。
[0095]步驟3,測量,如圖4所示,這里只描述仿真單個用戶的測量步驟流程。仿真大量用戶時,可以在仿真單個用戶的基礎(chǔ)上,利用事件驅(qū)動的I/o多路復(fù)用技術(shù)實現(xiàn)。這個通用的技術(shù)比較常見,這里不作多余的敘述,只集中說明仿真單個用戶的方法。
[0096]首先引入一個用戶耐心系數(shù)ρ(0≤P≤1),表示用戶繼續(xù)瀏覽該網(wǎng)站的耐心。在每個網(wǎng)頁訪問結(jié)束后,用戶將以P的概率點擊超鏈接的第一類URL進行訪問,以(1-P)的概率返回主頁,其中,返回主頁可以視為用戶重新開始從主頁訪問,也可以視為原用戶離開了網(wǎng)站而一個新用戶開始訪問。
[0097]測量步驟的具體工作流程如下:
[0098]步驟31:設(shè)置用戶耐心系數(shù)P,以及用戶的終止條件,如:持續(xù)訪問時間,總的請求數(shù)等。初始化當(dāng)前網(wǎng)頁為網(wǎng)站主頁。
[0099]步驟32:訪問該當(dāng)前網(wǎng)頁,先請求容器頁面對象,待該容器頁面對象響應(yīng)完畢后再根據(jù)所述第二類URL并發(fā)地請求內(nèi)嵌資源對象。[0100]步驟33:產(chǎn)生一個O到I的隨機數(shù)X,若X > P,設(shè)置當(dāng)前網(wǎng)頁為網(wǎng)站主頁,轉(zhuǎn)步驟32;若X≤ p,轉(zhuǎn)步驟34。
[0101]步驟34:對于該當(dāng)前網(wǎng)頁的所有所述第一類URL,計算其加權(quán)比例作為概率pk,其計算公式為,
[0102]Pk=Tk/ Cr1+…+rm),
[0103]其中,F(xiàn)1…rm為當(dāng)前網(wǎng)頁所有所述第一類URL所對應(yīng)網(wǎng)頁的網(wǎng)頁級別值。
[0104]步驟35:產(chǎn)生一個O到I的隨機數(shù)7,若y < P1,設(shè)置當(dāng)前網(wǎng)頁為第I個超鏈接的第一類URL所對應(yīng)的網(wǎng)頁;若P1 < y < Pl+P2,設(shè)置當(dāng)前網(wǎng)頁為第2個超鏈接的第一類URL所對應(yīng)的網(wǎng)頁;若口辦2≤ y < PJP2+P3,設(shè)置當(dāng)前網(wǎng)頁為第3個超鏈接的第一類URL所對應(yīng)的網(wǎng)頁,并依此類推。
[0105]步驟36:判斷現(xiàn)在的狀態(tài)是否已滿足結(jié)束條件,若滿足,則對該用戶行為的仿真結(jié)束;若不滿足,則轉(zhuǎn)步驟32。
[0106]本發(fā)明還涉及一種HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),包括以下模塊:
[0107]網(wǎng)頁抓取模塊,用于從主頁開始抓取待測量網(wǎng)站的每個網(wǎng)頁,記錄所述每個網(wǎng)頁的超鏈接的第一類URL和內(nèi)嵌資源對象的第二類URL,其中,所述第一類URL用于計算所述每個網(wǎng)頁的網(wǎng)頁級別值,所述第二類URL用于請求所述每個網(wǎng)頁的所有內(nèi)嵌資源對象;
[0108]網(wǎng)頁級別值計算模塊,用于賦予所述每個網(wǎng)頁順序的ID及相同分值,將所述分值按ID順序排列并以向量R表示,設(shè)置矩陣A,若存在從網(wǎng)頁i到網(wǎng)頁j的所述第一類URL,則所述矩陣A的元素au的值為網(wǎng)頁i所包含的所述第一類URL的數(shù)目的倒數(shù),若不存在從網(wǎng)頁i到網(wǎng)頁j的所述第一類U·RL,則所述矩陣A的元素au的值為0,計算AR作為網(wǎng)頁級別值,并通過迭代計算來更新所述網(wǎng)頁級別值,進而計算出所述每個網(wǎng)頁的最終網(wǎng)頁級別值;
[0109]測量模塊,用于模擬多個客戶端,并令所述客戶端根據(jù)所述最終網(wǎng)頁級別值隨機選擇所述待測量網(wǎng)站的網(wǎng)頁進行隨機游走主動訪問,且所述隨機游走主動訪問都是先請求容器頁面對象,再根據(jù)所述第二 URL并發(fā)地請求內(nèi)嵌資源對象,從而對所述待測量網(wǎng)站的所述每個網(wǎng)頁分別產(chǎn)生近似于真實用戶訪問的不同權(quán)值大小的負(fù)載。
[0110]本發(fā)明所提出的HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其中,所述網(wǎng)頁抓取模塊具體包括:
[0111]線性表初始化模塊,用于設(shè)置并初始化線性表1、線性表2,所述線性表1用于保存需要遍歷的URL,所述線性表2用于保存已遍歷過的URL,將所述待測量網(wǎng)站的主頁的URL存入所述線性表1,初始化所述線性表2為空;
[0112]URL選擇模塊,用于選擇所述線性表1中的所述待測量網(wǎng)站的主頁的URL,并將該URL作為已遍歷過的URL,加入所述線性表2中;
[0113]網(wǎng)頁解析模塊,用于根據(jù)所述待測量網(wǎng)站的主頁的URL解析相應(yīng)的網(wǎng)頁,并獲取該網(wǎng)頁所包含的所述第一類URL和所述第二類URL ;
[0114]鏈表處理模塊,用于設(shè)置鏈表1、鏈表2,以及將所述第二類URL存入所述鏈表2,并判斷所述第一類URL是否屬于所述待測量網(wǎng)站,若不屬于,則丟棄,若屬于,則將所述第一類URL存入所述鏈表1 ;
[0115]第一迭代調(diào)整模塊,當(dāng)未丟棄的所述第一類URL不在所述線性表1中也不在所述線性表2中時,用于將該未丟棄的所述第一類URL加入所述線性表1 ;
[0116]第一迭代控制模塊,用于判斷所述線性表1、所述線性表2的現(xiàn)有狀態(tài)是否已滿足結(jié)束條件,若滿足,則進入所述網(wǎng)頁級別計算模塊,若不滿足,則進入所述URL選擇模塊,其中,所述結(jié)束條件可以是所述線性表1為空,或所述第一類、第二類URL的數(shù)量超過設(shè)定閾值。
[0117]本發(fā)明所提出的HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其中,所述網(wǎng)頁級別計算模塊具體包括:
[0118]向量初始化模塊,用于設(shè)置調(diào)整向量E=0.15Χ[α,(1- α )/(η -1),...,(1- α ) / (η -1) ]τ,該調(diào)整向量E用于對所述網(wǎng)頁級別值進行人為調(diào)整,參數(shù)α代表主頁的重要性,初始化R0= [1/η,...,1/η]τ ;
[0119]網(wǎng)頁級別向量計算模塊,用于計算ARi,并將ARi作為新的網(wǎng)頁級別向量Ri+1 ;
[0120]迭代偏差計算模塊,用于計算迭代偏差d,計算公式為IRi I「I Ri+1 I 1;
[0121]第二迭代調(diào)整模塊,用于修正Ri+1,修正公式為Ri+1+dE ;
[0122]估計誤差計算模塊,用于計算估計誤差δ,計算公式為I Rw-Ri I 1;
[0123]第二迭代控制模塊,用于判斷誤差δ,若該誤差δ小于目標(biāo)誤差ε,則進入所述測量模塊,否則,轉(zhuǎn)網(wǎng)頁級別向量計算模塊,其中,所述目標(biāo)誤差ε默認(rèn)為0.001。
[0124]本發(fā)明所提出的HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其中,所述測量模塊具體包括:
[0125]初始化設(shè)置模塊,用于設(shè)置用戶耐心系數(shù)ρ,0<ρ<1,以及設(shè)置用戶的終止條件,并初始化當(dāng)前網(wǎng)頁為所述待測量網(wǎng)站的主頁;
[0126]負(fù)載產(chǎn)生模塊,用于訪問該當(dāng)前網(wǎng)頁,且先請求容器頁面對象,待該容器頁面對象響應(yīng)完畢后再根據(jù)所述第二類URL并發(fā)地請求內(nèi)嵌資源對象,
[0127]第三迭代調(diào)整模塊,用于產(chǎn)生一個O到I的隨機數(shù)X,若X > P,設(shè)置當(dāng)前網(wǎng)頁為所述待測量網(wǎng)站的主頁,轉(zhuǎn)負(fù)載產(chǎn)生模塊,若X ( P,轉(zhuǎn)概率計算模塊;
[0128]概率計算模塊,用于計算當(dāng)前網(wǎng)頁的所有超鏈接的第一類URL所對應(yīng)的網(wǎng)頁的網(wǎng)頁級別值的加權(quán)比例作為概率Pk ;
[0129]URL隨機選擇模塊,用于產(chǎn)生一個O到I的隨機數(shù)y,若y < Pl,設(shè)置當(dāng)前網(wǎng)頁為第一個所述第一類URL所對應(yīng)的網(wǎng)頁;若?1 < y < Pl+P2,設(shè)置當(dāng)前網(wǎng)頁為第二個所述第一類URL所對應(yīng)的網(wǎng)頁;SP1+P2 ^y< pAp2+p3,設(shè)置當(dāng)前網(wǎng)頁為第三個所述第一類URL所對應(yīng)的網(wǎng)頁,并依此類推;
[0130]第三迭代控制模塊,用于判斷當(dāng)前狀態(tài)是否滿足結(jié)束條件,若滿足,則結(jié)束,若不滿足,則轉(zhuǎn)負(fù)載產(chǎn)生模塊,所述結(jié)束條件為預(yù)設(shè)定的仿真時間或訪問次數(shù)。
【權(quán)利要求】
1.一種HTTP主動測量中仿真真實用戶負(fù)載的方法,其特征在于,包括以下步驟: 步驟1,從主頁開始抓取待測量網(wǎng)站的每個網(wǎng)頁,記錄所述每個網(wǎng)頁的超鏈接的第一類URL和內(nèi)嵌資源對象的第二類URL,其中,所述第一類URL用于計算所述每個網(wǎng)頁的網(wǎng)頁級別值,所述第二類URL用于請求所述每個網(wǎng)頁的所有內(nèi)嵌資源對象; 步驟2,賦予所述每個網(wǎng)頁順序的ID及相同分值,將所述分值按ID順序排列并以向量R表示,設(shè)置矩陣A,若存在從網(wǎng)頁i到網(wǎng)頁j的所述第一類URL,則所述矩陣A的元素au的值為網(wǎng)頁i所包含的所述第一類URL的數(shù)目的倒數(shù),若不存在從網(wǎng)頁i到網(wǎng)頁j的所述第一類URL,則所述矩陣A的元素au的值為O,計算AR作為網(wǎng)頁級別值,并通過迭代計算來更新所述網(wǎng)頁級別值,進而計算出所述每個網(wǎng)頁的最終網(wǎng)頁級別值; 步驟3,模擬多個客戶端,并令所述客戶端根據(jù)所述最終網(wǎng)頁級別值隨機選擇所述待測量網(wǎng)站的網(wǎng)頁進行隨機游走主動訪問,且所述隨機游走主動訪問都是先請求容器頁面對象,再根據(jù)所述第二類URL并發(fā)地請求內(nèi)嵌資源對象,從而對所述待測量網(wǎng)站的所述每個網(wǎng)頁分別產(chǎn)生仿真真實用戶訪問的不同權(quán)值大小的負(fù)載。
2.如權(quán)利要求1所述的HTTP主動測量中仿真真實用戶負(fù)載的方法,其特征在于,所述步驟I具體為: 步驟11,設(shè)置并初始化線性表1、線性表2,所述線性表1用于保存需要遍歷的URL,所述線性表2用于保存已遍歷過的URL,將所述待測量網(wǎng)站的主頁的URL加入所述線性表1,初始化所述線性表2為空; 步驟12,選擇所述線性表1中的所述待測量網(wǎng)站的主頁的URL,將該URL作為已遍歷過的URL,從線性表1離開并加入所述線性表2 ; 步驟13,根據(jù)所述待測量網(wǎng)站的主頁的URL解析相應(yīng)的網(wǎng)頁,獲取該網(wǎng)頁所包含的所述第一類URL和所述第二類URL ;` 步驟14,設(shè)置鏈表1、鏈表2,所述第二類URL存入所述鏈表2,對于所述第一類URL,判斷其是否屬于所述待測量網(wǎng)站,若不屬于,則丟棄,若屬于,則將所述第一類URL存入所述鏈表1 ; 步驟15,對于未丟棄的所述第一類URL,若其不在所述線性表1中也不在所述線性表2中,則加入所述線性表1中; 步驟16,判斷所述線性表1、所述線性表2的現(xiàn)有狀態(tài)是否已滿足結(jié)束條件,若滿足,則進入步驟2,若不滿足,則轉(zhuǎn)步驟12,其中,所述結(jié)束條件可以是所述線性表1為空,或所述第一類、第二類URL的數(shù)量超過設(shè)定閾值。
3.如權(quán)利要求1所述的HTTP主動測量中仿真真實用戶負(fù)載的方法,其特征在于,所述步驟2具體為:
步驟21,設(shè)置調(diào)整向量 Ε=0.15X [α,(1- a ) / (η -1),...,(1- α ) / (η -1) ]τ,用于對所述網(wǎng)頁級別值進行人為調(diào)整,參數(shù)α代表主頁的重要性,初始化&=[1/11,1/η]τ ;步驟22,計算ARi作為新的網(wǎng)頁級別向量Ri+1 ; 步驟23,計算迭代偏差d為I Ri I ! -1 Ri+1 I !; 步驟24,修正Ri+1為Ri+1+dE ; 步驟25,計算估計誤差δ為I Rw-Ri I 1; 步驟26,若誤差δ小于目標(biāo)誤差ε,則進入步驟3,否則,轉(zhuǎn)步驟22,其中,所述目標(biāo)誤差ε默認(rèn)為0.001。
4.如權(quán)利要求1所述的HTTP主動測量中仿真真實用戶負(fù)載的方法,其特征在于,所述步驟3具體為: 步驟31,設(shè)置用戶耐心系數(shù)p,0 ≤p≤1,以及用戶的終止條件,初始化當(dāng)前網(wǎng)頁為所述待測量網(wǎng)站的主頁; 步驟32,訪問該當(dāng)前網(wǎng)頁,先請求容器頁面對象,待該容器頁面對象響應(yīng)完畢后再根據(jù)所述第二類URL并發(fā)地請求內(nèi)嵌資源對象, 步驟33,產(chǎn)生一個O到1的隨機數(shù)X,若X > P,設(shè)置當(dāng)前網(wǎng)頁為所述待測量網(wǎng)站的主頁,轉(zhuǎn)步驟32,若X ≤ p,轉(zhuǎn)步驟34 ; 步驟34,計算當(dāng)前網(wǎng)頁的所有所述第一類URL所對應(yīng)的網(wǎng)頁的網(wǎng)頁級別值的加權(quán)比例作為概率Pk ;步驟35,產(chǎn)生一個O到1的隨機數(shù)y,若y < Pl,設(shè)置當(dāng)前網(wǎng)頁為第一個所述第一類URL所對應(yīng)的網(wǎng)頁;若p1≤ y < Pl+P2,設(shè)置當(dāng)前網(wǎng)頁為第二個所述第一類URL所對應(yīng)的網(wǎng)頁;若P1+P2 ≤ < Pl+P2+P3,設(shè)置當(dāng)前網(wǎng)頁為第三個所述第一類URL所對應(yīng)的網(wǎng)頁,并依此類推;步驟36,判斷當(dāng)前狀態(tài)是否滿足結(jié)束條件,若滿足,則結(jié)束,若不滿足,則轉(zhuǎn)步驟32,其中,所述結(jié)束條件為預(yù)設(shè)定的仿真時間或訪問次數(shù)。
5.一種HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其特征在于,包括以下模塊: 網(wǎng)頁抓取模塊,用于從主頁開始抓取待測量網(wǎng)站的每個網(wǎng)頁,記錄所述每個網(wǎng)頁的超鏈接的第一類URL和內(nèi)嵌資源對象的第二類URL,其中,所述第一類URL用于計算所述每個網(wǎng)頁的網(wǎng)頁級別值,所述第二類URL用于請求所述每個網(wǎng)頁的所有內(nèi)嵌資源對象; 網(wǎng)頁級別值計算模塊,用于賦予所述每個網(wǎng)頁順序的ID及相同分值,將所述分值按ID順序排列并以向量R表示,設(shè)置矩陣A,若存在從網(wǎng)頁i到網(wǎng)頁j的所述第一類URL,則所述矩陣A的元素au的值為網(wǎng)頁i所包含的所述第一類URL的數(shù)目的倒數(shù),若不存在從網(wǎng)頁i到網(wǎng)頁j的所述第一類URL,則所述矩陣A的元素au的值為0,計算AR作為網(wǎng)頁級別值,并通過迭代計算來更新所述網(wǎng)頁級別值,進而計算出所述每個網(wǎng)頁的最終網(wǎng)頁級別值; 測量模塊,用于模擬多個客戶端,并令所述客戶端根據(jù)所述最終網(wǎng)頁級別值隨機選擇所述待測量網(wǎng)站的網(wǎng)頁進行隨機游走主動訪問,且所述隨機游走主動訪問都是先請求容器頁面對象,再根據(jù)所述第二 URL并發(fā)地請求內(nèi)嵌資源對象,從而對所述待測量網(wǎng)站的所述每個網(wǎng)頁分別產(chǎn)生近似于真實用戶訪問的不同權(quán)值大小的負(fù)載。
6.如權(quán)利要求5所述的HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其特征在于,所述網(wǎng)頁抓取模塊具體包括: 線性表初始化模塊,用于設(shè)置并初始化線性表1、線性表2,所述線性表1用于保存需要遍歷的URL,所述線性表2用于保存已遍歷過的URL,將所述待測量網(wǎng)站的主頁的URL存入所述線性表1,初始化所述線性表2為空; URL選擇模塊,用于選擇所述線性表1中的所述待測量網(wǎng)站的主頁的URL,并將該URL作為已遍歷過的URL,加入所述線性表2中; 網(wǎng)頁解析模塊,用于根據(jù)所述待測量網(wǎng)站的主頁的URL解析相應(yīng)的網(wǎng)頁,并獲取該網(wǎng)頁所包含的所述第一類URL和所述第二類URL ;鏈表處理模塊,用于設(shè)置鏈表1、鏈表2,以及將所述第二類URL存入所述鏈表2,并判斷所述第一類URL是否屬于所述待測量網(wǎng)站,若不屬于,則丟棄,若屬于,則將所述第一類URL存入所述鏈表1 ; 第一迭代調(diào)整模塊,當(dāng)未丟棄的所述第一類URL不在所述線性表1中也不在所述線性表2中時,用于將該未丟棄的所述第一類URL加入所述線性表1 ; 第一迭代控制模塊,用于判斷所述線性表1、所述線性表2的現(xiàn)有狀態(tài)是否已滿足結(jié)束條件,若滿足,則進入所述網(wǎng)頁級別計算模塊,若不滿足,則進入所述URL選擇模塊,其中,所述結(jié)束條件可以是所述線性表1為空,或所述第一類、第二類URL的數(shù)量超過設(shè)定閾值。
7.如權(quán)利要求5所述的HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其特征在于,所述網(wǎng)頁級別計算模塊具體包括: 向量初始化模塊,用于設(shè)置調(diào)整向量Ε=0.15Χ[α,(1- α)/(η-1),..., (1- α)/(η-1) ]τ,該調(diào)整向量E用于對所述網(wǎng)頁級別值進行人為調(diào)整,參數(shù)α代表主頁的重要性,初始化 R0= [1/η,...,1/η]τ ; 網(wǎng)頁級別向量計算模塊,用于計算ARi,并將ARi作為新的網(wǎng)頁級別向量Ri+1 ; 迭代偏差計算模塊,用于計算迭代偏差d,計算公式為I Ri I ^ I Ri+1 I 1; 第二迭代調(diào)整模塊,用于修正Ri+1,修正公式為Ri+1+dE ; 估計誤差計算模塊,用于計算估計誤差δ,計算公式為I Ri+1-Ri I 1; 第二迭代控制模塊,用于判斷誤差I(lǐng)若該誤差S小于目標(biāo)誤差ε,則進入所述測量模塊,否則,轉(zhuǎn)網(wǎng)頁級別向量計算模塊,其中,所述目標(biāo)誤差ε默認(rèn)為0.001。
8.如權(quán)利要求5所述的HTTP主動測量中仿真真實用戶負(fù)載的系統(tǒng),其特征在于,所述測量模塊具體包括: 初始化設(shè)置模塊,用于設(shè)置用戶耐心系數(shù)P,O < P < 1,以及設(shè)置用戶的終止條件,并初始化當(dāng)前網(wǎng)頁為所述待測量網(wǎng)站的主頁; 負(fù)載產(chǎn)生模塊,用于訪問該當(dāng)前網(wǎng)頁,且先請求容器頁面對象,待該容器頁面對象響應(yīng)完畢后再根據(jù)所述第二類URL并發(fā)地請求內(nèi)嵌資源對象, 第三迭代調(diào)整模塊,用于產(chǎn)生一個O到I的隨機數(shù)X,若X > p,設(shè)置當(dāng)前網(wǎng)頁為所述待測量網(wǎng)站的主頁,轉(zhuǎn)請求模塊,若X ( p,轉(zhuǎn)概率計算模塊; 概率計算模塊,用于計算當(dāng)前網(wǎng)頁的所有超鏈接的第一類URL所對應(yīng)的網(wǎng)頁的網(wǎng)頁級別值的加權(quán)比例作為概率Pk ; URL隨機選擇模塊,用于產(chǎn)生一個O到I的隨機數(shù)y,若y < Pl,設(shè)置當(dāng)前網(wǎng)頁為第一個所述第一類URL所對應(yīng)的網(wǎng)頁;若?1 < y < Pl+P2,設(shè)置當(dāng)前網(wǎng)頁為第二個所述第一類URL所對應(yīng)的網(wǎng)頁;SPi+P2 ^ y < PJP2+P3,設(shè)置當(dāng)前網(wǎng)頁為第三個所述第一類URL所對應(yīng)的網(wǎng)頁,并依此類推; 第三迭代控制模塊,用于判斷當(dāng)前狀態(tài)是否滿足結(jié)束條件,若滿足,則結(jié)束,若不滿足,則轉(zhuǎn)負(fù)載產(chǎn)生模塊,所述結(jié)束條件為預(yù)設(shè)定的仿真時間或訪問次數(shù)。
【文檔編號】G06F17/30GK103678544SQ201310641674
【公開日】2014年3月26日 申請日期:2013年12月3日 優(yōu)先權(quán)日:2013年12月3日
【發(fā)明者】張駿, 張廣興, 謝高崗, 徐川 申請人:中國科學(xué)院計算技術(shù)研究所