两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

Web網(wǎng)站死鏈檢測方法

文檔序號:6374084閱讀:346來源:國知局
專利名稱:Web網(wǎng)站死鏈檢測方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種Web網(wǎng)站檢測方法,特別是涉及一種Web網(wǎng)站死鏈檢測方法。
背景技術(shù)
死鏈是指Web網(wǎng)站中處于路徑不可達狀態(tài)的Web鏈接,它是導(dǎo)致網(wǎng)站性能下降的重要原因。隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)站中的各種信息在急速增長,維護網(wǎng)站的內(nèi)容完整性以及性能變得十分復(fù)雜。Web網(wǎng)頁的一個重要特點是動態(tài)性,即網(wǎng)頁內(nèi)容可以任意增加、刪除和更新。這一特點使Web服務(wù)成為具有吸引力的信息傳播媒介,同時也面臨著死鏈問題的挑戰(zhàn),Web鏈接相互引用加劇了死鏈的產(chǎn)生,損害了網(wǎng)站內(nèi)容完整性,導(dǎo)致網(wǎng)站性能嚴重下降。
死鏈的影響是多方面的。佐治亞理工學(xué)院的GVU中心曾做過一項調(diào)查發(fā)現(xiàn),大約60%的用戶反映死鏈問題是使用網(wǎng)絡(luò)時最反感的問題。此外,為了提高搜索效率和搜索結(jié)果的質(zhì)量,搜索引擎很少會將帶有大量死鏈的站點放在前面,因此死鏈會導(dǎo)致網(wǎng)站被搜索引擎降權(quán)。研究發(fā)現(xiàn),一般Web網(wǎng)頁的平均預(yù)期壽命是44天,URL的隨機測試集合在四年的時間里損失了大約67%的URL才達到穩(wěn)定狀態(tài)。Spinellies對發(fā)表在ACM和IEEE上的論文鏈接的可訪問性做了大量調(diào)查實驗之后,發(fā)現(xiàn)28 %的URL在五年之后不可用,41 %在七年之后不可用,并且在所有不可用的網(wǎng)絡(luò)鏈接中,大約60%是404錯誤(國際組織規(guī)定的一類客戶端錯誤,當Web服務(wù)器不希望精確指出請求為何被拒絕或者沒有找到任何可以匹配的URL資源時使用該狀態(tài)碼)。因此,有效地檢測出網(wǎng)站里的各種死鏈,對于維護網(wǎng)站性能、保持網(wǎng)站內(nèi)容完整性變得十分重要。由于一個大型網(wǎng)站上的Web鏈接數(shù)以萬計,鏈接有效性檢驗是一個非常耗時的任務(wù)。因此,如何快速、準確和自動地檢測Web網(wǎng)站中的死鏈值得深入研究。文獻I “B. Haslhofer, N. Popitsch. DSNotify-detecting and fixing brokenlinks in linked data sets[c]//DEXA09. 20th International Colocated with DEXA.Austria, Linz, 2009 :89_93”設(shè)計了一個LOD數(shù)據(jù)源的加載項,通過比較兩個鏈接的相似值來判斷404錯誤鏈接是否發(fā)生轉(zhuǎn)移或者被刪除,并在客戶端瀏覽器顯示不同的檢測信息,從而部分保證LOD數(shù)據(jù)源的鏈接完整性。該方法只面對客戶端用戶,因此只能保證用戶體驗,不能根本解決死鏈問題。其次,該方法需要瀏覽器頻繁詢問加載項,造成瀏覽器性能下降,并且檢測效率低。文獻 2 “N. Popitsch, B. Haslhofer. Dsnotify :handling broken links in theweb of data[c]//Proc of WWW. New york,NY,USA :ACM,2010 :761_770”首先定義了兩種鏈接錯誤類型,結(jié)構(gòu)錯誤鏈接和語義錯誤鏈接,接著定義了引起結(jié)構(gòu)錯誤的鏈接出現(xiàn)的事件,最后根據(jù)改進前人設(shè)計的11種不同解決方案,提出了 DSNotify策略。該策略提取出每個鏈接的特征向量,根據(jù)對鏈接的元數(shù)據(jù)和內(nèi)容的判斷,把鏈接分別放到3個索引隊列,最后由索引來判斷產(chǎn)生死鏈的事件。該方法的目的是修改發(fā)送404錯誤的頁面,所以只提取和檢測與重定向和刪除的狀態(tài)碼相關(guān)的鏈接,但所查找到的死鏈覆蓋面不全面。

發(fā)明內(nèi)容
為了克服現(xiàn)有的Web網(wǎng)站死鏈檢測方法覆蓋率低的不足,本發(fā)明提供一種Web網(wǎng)站死鏈檢測方法。該方法首先根據(jù)Web鏈接的調(diào)度過程修改遍歷策略,自動獲取網(wǎng)站鏈接信息,得到較全面的網(wǎng)站鏈接信息。然后對新生成的URL庫進行精簡,去除重復(fù)的網(wǎng)頁并且篩選出滿足條件的鏈接,提高數(shù)據(jù)采集效率。最后根據(jù)死鏈產(chǎn)生的原因和分類,給出了對應(yīng)的檢測方案,可以提高Web網(wǎng)站死鏈檢測的覆蓋率。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種Web網(wǎng)站死鏈檢測方法,其特點是包括以下步驟(I)判斷種子列表seedURLs中的URL的合法性,如果合法放到URL庫A中,否則把該URL和錯誤原因記錄到死鏈的errorSite隊列中,進入步驟(6)。(2)死鏈分析和判斷操作①如果A非空,取出一個URLX放入緩存的NamedSite隊列中,如果X的域名不是數(shù)字形式,把X放到隊列dnsSite隊列中,進入步驟②,否則進入步驟④;如果A為空,算法結(jié)束,死鏈判斷完畢,進入步驟(6);②向DNS服務(wù)器發(fā)送鏈接X的域名查詢請求;③DNS服務(wù)器通過遞歸查詢返回鏈接X的IP地址X. IP,如果遞歸查詢失敗,則deadlink (X) =1,發(fā)生DNS解析錯誤,把X和錯誤原因記錄到死鏈的errorSite文件中,返回步驟①;④與X. IP建立一個TCP連接后,向Web服務(wù)器發(fā)送消息請求,請求資源X. R,請求消息中包括GET方法、資源指示符、請求頭域以及實體頭域;⑤Web服務(wù)器接收和解析一個請求消息后,發(fā)出一個HTTP響應(yīng)消息R,響應(yīng)消息中包含狀態(tài)行S、響應(yīng)頭域以及實體E ;⑥取S的第一個數(shù)字S. N,如果S. N = 4或者S. N=5,則deadlInk(X)=I,把X和錯誤原因記錄到死鏈的errorSite文件中,返回步驟①;如果S. N=3,查看響應(yīng)頭域的Location字段,如果內(nèi)容為空或者是不合語法的URL,則deadlink (X)=l,發(fā)生重定向錯誤,把X和錯誤原因記錄到死鏈的errorSite文件中,返回步驟①;⑦取實體E進行分析,如果實體的長度E. Length=O,則deadlink (X)=I,把X和錯誤原因記錄到死鏈文件中,返回步驟①;⑧deadlink (X) =0,進入步驟(3)。(3)提取實體E中的所有超鏈接。(4)對提取出的超鏈接進行預(yù)處理,首先是鏈接篩選,把網(wǎng)頁深度>5的URL或者不合語法的URL過濾掉,然后進行去重處理,使用Bloom filter算法刪除掉與URL庫A中MD5值相同的URL。 (5)把精簡后的鏈接加入到URL庫A中,進入步驟(2)。(6)輸出死鏈文件中的死鏈及其原因,并向網(wǎng)絡(luò)管理員發(fā)送郵件通知。本發(fā)明的有益效果是由于通過動態(tài)遍歷策略,自動獲取較全面的網(wǎng)站鏈接信息,得到較全面的網(wǎng)站鏈接信息;通過重復(fù)網(wǎng)頁去除、鏈接篩選等預(yù)處理,對新生成的URL庫進行精簡,去除重復(fù)的網(wǎng)頁并且篩選出滿足條件的鏈接,提高了數(shù)據(jù)采集效率;最后根據(jù)死鏈產(chǎn)生的原因和分類,給出了對應(yīng)的檢測方案,從而提高了檢測覆蓋率和處理效率。通過實驗驗證和實際測試表明,本發(fā)明達到了 93. 86%的覆蓋率。本發(fā)明為Web網(wǎng)站開發(fā)者和維護人員高效地檢測Web網(wǎng)站死鏈,維護Web網(wǎng)站性能提供了有效技術(shù)手段。下面結(jié)合附圖和實施例對本發(fā)明作詳細說明。


圖I是本發(fā)明Web網(wǎng)站死鏈檢測方法遍歷過程中的URL隊列管理圖。圖2是本發(fā)明Web網(wǎng)站死鏈檢測方法的流程圖。
具體實施例方式I.初始化。 首先初始化一個種子列表seedURLs和五個URL隊列。五個URL隊列分別用于存放DNS緩存的NamedSite隊列、已取得DNS解析的URLs的隊列IPSite、沒有進行DNS解析的站點dnsSite、即將抓取的URL的okSite隊列及死鏈的errorSite隊列。然后判斷種子列表seedURLs中的URL的合法性,如果合法放到URL庫A中,否則把該URL和錯誤原因記錄到死鏈的errorSite隊列中,進入步驟6。只分析傳輸協(xié)議為HTTP的鏈接,直到所有線程都阻塞時停止。2.死鏈分析和判斷。模擬客戶端代理向DNS服務(wù)器以及Web服務(wù)器發(fā)送詢問請求,根據(jù)死鏈的產(chǎn)生的原因,分類以及HTTP協(xié)議的定義,分析返回的信息,若消息滿足死鏈特征,則檢測到死鏈,做相應(yīng)處理。具體步驟如下(I)如果A非空,取出一個URL X放入緩存的NamedSite隊列中,如果X的域名不是數(shù)字形式,把X放到站點dnsSite隊列中,進入步驟(2),否則進入步驟(4);如果A為空,算法結(jié)束,死鏈判斷完畢,進入步驟6。(2)向DNS服務(wù)器發(fā)送鏈接X的域名查詢請求;(3) DNS服務(wù)器通過遞歸查詢返回鏈接X的IP地址X. IP,如果遞歸查詢失敗,則deadlink (X) =1,發(fā)生DNS解析錯誤,把X和錯誤原因記錄到死鏈的errorSite文件中,返回步驟(I);(4)與X. IP建立一個TCP連接后,向Web服務(wù)器發(fā)送消息請求,請求資源X. R,請求消息中包括GET方法、資源指示符、請求頭域以及實體頭域;(5) Web服務(wù)器接收和解析一個請求消息后,發(fā)出一個HTTP響應(yīng)消息R,響應(yīng)消息中包含狀態(tài)行S、響應(yīng)頭域以及實體E ;(6)取S的第一個數(shù)字S. N,如果S. N=4 (X發(fā)生客戶端錯誤)或者S. N=5 (X發(fā)生服務(wù)器端錯誤),則deadlink (X) =1,把X和錯誤原因記錄到死鏈的errorSite文件中,返回步驟(I);如果S. N=3,查看響應(yīng)頭域的Location字段,如果內(nèi)容為空或者是不合語法的URL,則deadlink (X) =1,發(fā)生重定向錯誤,把X和錯誤原因記錄到死鏈的errorSite文件中,返回步驟(I);(7)取實體E進行分析,如果實體的長度E. Length=O,則deadlink (X) =1,說明X沒有返回有效信息,把X和錯誤原因?qū)懭雃irorSite隊列,返回步驟(I);(8) deadlink (X)=O,進入步驟 3。3.網(wǎng)絡(luò)鏈接采集。根據(jù)上步分析,X為有效鏈接,直接提取實體E中的所有超鏈接。4.預(yù)處理。對上步得到的新鏈接進行預(yù)處理,主要包括網(wǎng)頁去重和鏈接篩選,首先是鏈接篩選,把網(wǎng)頁深度>5的URL或者不符合語法的URL過濾掉,從而達到效率和鏈接完整性的平衡,然后進行去重處理,使用Bloom filter算法刪除掉與URL庫A中MD5值相同的URL。5.把精簡后的鏈接加入到URL庫A中,進入步驟2。
6.輸出結(jié)果。輸出死鏈文件中的死鏈及其原因,并向網(wǎng)絡(luò)管理員發(fā)送郵件通知。
權(quán)利要求
1.一種Web網(wǎng)站死鏈檢測方法,其特征在于包括以下步驟 (1)判斷種子列表seedURLs中的URL的合法性,如果合法放到URL庫A中,否則把該URL和錯誤原因記錄到死鏈的errorSite隊列中,進入步驟(6); (2)死鏈分析和判斷操作 ①如果A非空,取出一個URLX放入緩存的NamedSite隊列中,如果X的域名不是數(shù)字形式,把X放到隊列dnsSite隊列中,進入步驟②,否則進入步驟④;如果A為空,算法結(jié)束,死鏈判斷完畢,進入步驟(6); ②向DNS服務(wù)器發(fā)送鏈接X的域名查詢請求; ③DNS服務(wù)器通過遞歸查詢返回鏈接X的IP地址X.IP,如果遞歸查詢失敗,則deadlink (X) =1,發(fā)生DNS解析錯誤,把X和錯誤原因記錄到死鏈的errorSite文件中,返回步驟①; ④與X.IP建立一個TCP連接后,向Web服務(wù)器發(fā)送消息請求,請求資源X. R,請求消息中包括GET方法、資源指示符、請求頭域以及實體頭域; ⑤Web服務(wù)器接收和解析一個請求消息后,發(fā)出一個HTTP響應(yīng)消息R,響應(yīng)消息中包含狀態(tài)行S、響應(yīng)頭域以及實體E ; ⑥取S的第一個數(shù)字S.N,如果S. N=4或者S. N=5,則deadlink (X) =1,把X和錯誤原因記錄到死鏈的errorSite文件中,返回步驟①;如果S. N=3,查看響應(yīng)頭域的Location字段,如果內(nèi)容為空或者是不合語法的URL,則deadlink (X)=l,發(fā)生重定向錯誤,把X和錯誤原因記錄到死鏈的errorSite文件中,返回步驟①; ⑦取實體E進行分析,如果實體的長度E.Length=O,則deadlink (X)=I,把X和錯誤原因記錄到死鏈文件中,返回步驟①; ⑧deadlink (X) =0,進入步驟(3); (3)提取實體E中的所有超鏈接; (4)對提取出的超鏈接進行預(yù)處理,首先是鏈接篩選,把網(wǎng)頁深度>5的URL或者不合語法的URL過濾掉,然后進行去重處理,使用Bloom filter算法刪除掉與URL庫A中MD5值相同的URL ; (5)把精簡后的鏈接加入到URL庫A中,進入步驟(2); (6)輸出死鏈文件中的死鏈及其原因,并向網(wǎng)絡(luò)管理員發(fā)送郵件通知。
全文摘要
本發(fā)明公開了一種Web網(wǎng)站死鏈檢測方法,用于解決現(xiàn)有的Web網(wǎng)站死鏈檢測方法覆蓋率低的技術(shù)問題。技術(shù)方案是首先對種子列表seedURLs和URL隊列初始化,再進行死鏈分析和判斷操作,然后提取實體E中的所有超鏈接,對提取出的超鏈接進行預(yù)處理,把精簡后的鏈接加入到URL庫A中,輸出死鏈文件中的死鏈及其原因,并向網(wǎng)絡(luò)管理員發(fā)送郵件通知。由于通過動態(tài)遍歷策略,自動獲取較全面的網(wǎng)站鏈接信息;通過重復(fù)網(wǎng)頁去除、鏈接篩選等預(yù)處理,對新生成的URL庫進行精簡,去除重復(fù)的網(wǎng)頁并且篩選出滿足條件的鏈接,提高了數(shù)據(jù)采集效率;最后根據(jù)死鏈產(chǎn)生的原因和分類,給出了對應(yīng)的檢測方案,從而提高了檢測覆蓋率和處理效率。測試表明,本發(fā)明達到了93.86%的覆蓋率。
文檔編號G06F17/30GK102752154SQ20121026447
公開日2012年10月24日 申請日期2012年7月29日 優(yōu)先權(quán)日2012年7月29日
發(fā)明者姚卓, 姚燁, 蔡皖東 申請人:西北工業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
卫辉市| 南投市| 广平县| 铜川市| 东山县| 米林县| 贵溪市| 德州市| 长宁县| 普兰县| 花莲市| 东丽区| 阿勒泰市| 柘荣县| 兰溪市| 井研县| 阿拉善右旗| 炉霍县| 班玛县| 三台县| 新邵县| 通辽市| 镇康县| 磴口县| 墨江| 玛纳斯县| 郴州市| 彩票| 安阳市| 犍为县| 汝州市| 东安县| 紫阳县| 新晃| 博客| 赤峰市| 乌海市| 乡城县| 涪陵区| 兴宁市| 墨脱县|