專利名稱:自適應網(wǎng)頁更新時間預測方法
技術領域:
本發(fā)明涉及互聯(lián)網(wǎng)信息處理領域,特別是有關于一種網(wǎng)頁更新時間預測方法。
背景技術:
互聯(lián)網(wǎng)中網(wǎng)頁信息量的指數(shù)速度增長給諸如搜索引擎之類的網(wǎng)絡應用系統(tǒng)的信息搜集帶來了巨大的壓力,一方面,為了保持信息的時新性,必須以盡可能高的頻率來抓取網(wǎng)頁,以及時獲得更新過的網(wǎng)頁;另一方面,受硬件資源的限制,要以盡可能低的頻率抓取網(wǎng)頁,以減少無效的抓取(即抓取到未更新的網(wǎng)頁)。網(wǎng)頁更新時間預測是解決上述矛盾的關鍵,它的目的是準確預測網(wǎng)頁的更新時間,使得網(wǎng)頁抓取器能夠以最小的開銷獲取時新的網(wǎng)頁。但由于網(wǎng)頁的紛繁復雜,不同網(wǎng)頁的更新頻率千差萬別,如新聞網(wǎng)站的首頁可能過幾分鐘就會更新一次,而另外一些網(wǎng)頁則好幾個月才更新一次,甚至可能永遠不更新。另外絕大多數(shù)的網(wǎng)頁并不是以一個特定的頻率更新的,網(wǎng)頁的更新與否往往是網(wǎng)站維護者的主觀意志,故網(wǎng)頁的更新頻率一般無特定的規(guī)律。這要求網(wǎng)頁更新時間預測方法對變化莫測的網(wǎng)頁具有較強的自適應性。
預測網(wǎng)頁更新的經(jīng)典方法是鄰近法。所謂鄰近法,該方法即為[Knut Magne Risvik,et al.,2002]文中提到的方法,對新搜集到的網(wǎng)頁,系統(tǒng)根據(jù)屬性設置初始的更新時間,如果網(wǎng)頁在該時間內(nèi)更新,則把更新時間減半;反之,則加倍。這種方法的好處是比較簡單,缺點是如果設置的初始更新時間與網(wǎng)頁的實際下次更新時間相差較大,則鄰近法的收斂速度會比較慢,另外,如果網(wǎng)頁的更新頻率產(chǎn)生突變,鄰近法也很難及時地適應這種突變。
發(fā)明內(nèi)容
為改進鄰近法預測網(wǎng)頁更新的缺點,本發(fā)明提供一種自適應網(wǎng)頁更新時間預測方法,該方法通過下列步驟實現(xiàn)(一)首先設一組更新間隔序列,其中元素為最小步長m(minStep)乘以步長縮放因子f(factor)的指數(shù)倍,元素之間應相差一定的數(shù)量級;(二)設定更新時間間隔初值,若能從網(wǎng)頁中解析出網(wǎng)頁的真實更新時間,則初值為最近三次更新時間間隔的加權平均,否則取一經(jīng)驗值,如30分鐘;(三)將上一次的更新間隔與更新間隔序列中的元素匹配,即找出與上次更新間隔最鄰近的元素,以確定當前更新時間間隔的數(shù)量級;(四)判斷網(wǎng)頁有無更新,若更新,則把下次更新間隔收縮f陪;若無更新,則放大f倍;(五)若網(wǎng)頁連續(xù)若干次未更新,則更新間隔取間隔序列中的下一個元素,即使得更新間隔增大一個量級;若網(wǎng)頁連續(xù)若干次更新,則更新間隔取間隔序列中的上一個元素,即使得更新間隔減小一個量級;(六)若網(wǎng)頁由連續(xù)多次未更新而轉(zhuǎn)入更新狀態(tài),則更新間隔縮小若干個數(shù)量級;若網(wǎng)頁由連續(xù)多次更新而轉(zhuǎn)入未更新狀態(tài),則更新間隔增大若干個數(shù)量級。
本發(fā)明的優(yōu)點在于,它能根據(jù)網(wǎng)頁變化的歷史規(guī)律預測出其下次的更新時間,經(jīng)MATLAB仿真,本方法能較準確地預測網(wǎng)頁的更新時間,對比經(jīng)典的鄰近法,本方法能在明顯減少系統(tǒng)開銷的前提下保證所抓取網(wǎng)頁的時新性。該方法經(jīng)一實際的網(wǎng)頁抓取系統(tǒng)試驗,性能良好。
圖1是本發(fā)明的流程圖。
圖2是網(wǎng)頁抓取系統(tǒng)的工作流程圖。
具體實施例方式
本方法可用于各種網(wǎng)頁抓取系統(tǒng),如搜索引擎。網(wǎng)頁抓取系統(tǒng)通常由三部分組成網(wǎng)頁下載部件、更新檢測部件和更新時間預測部件。參照圖2系統(tǒng)工作流程如下(一)網(wǎng)頁下載部件根據(jù)輸入的url,從網(wǎng)上下載網(wǎng)頁,將網(wǎng)頁分解為在html中作為超鏈接出現(xiàn)的url的列表,以及文本型元素體的列表。
(二)更新檢測部件將新抓取到的網(wǎng)頁與具有相關url的本地存儲的網(wǎng)頁進行比對,以檢查網(wǎng)頁是否更新,檢測部件還可能從網(wǎng)頁中提取出網(wǎng)頁的真實更新時間。
(三)更新時間預測部件根據(jù)網(wǎng)頁的歷史更新情況預測網(wǎng)頁的下次更新時間,指導網(wǎng)頁下載部件在合適的時間對相同網(wǎng)頁進行再次下載。根據(jù)圖1,更新時間預測部件的具體流程為(1)將上一次的更新間隔與更新間隔序列中的元素匹配,即找出與上次更新間隔最鄰近的元素,以確定當前更新時間間隔的數(shù)量級。
(2)判斷網(wǎng)頁有無更新,若更新,則把下次更新間隔收縮f陪;若無更新,則放大f倍。
(3)檢查網(wǎng)頁的歷史更新情況,若網(wǎng)頁連續(xù)若干次(這里為2次)未更新,則更新間隔取間隔序列中的下一個元素,使得更新間隔增大一個量級;若網(wǎng)頁連續(xù)若干次更新(這里為2次),則更新間隔取間隔序列中的上一個元素,使得更新間隔減小一個量級;若網(wǎng)頁由連續(xù)多次未更新(這里為5次)而轉(zhuǎn)入更新狀態(tài),則更新間隔縮小若干個數(shù)量級;若網(wǎng)頁由連續(xù)多次(這里為6次)更新而轉(zhuǎn)入未更新狀態(tài),則更新間隔增大若干個數(shù)量級。
實施例舉yahoo社區(qū)的一個網(wǎng)頁http//cn.bbs.yahoo.com/message/read_talkcar_174080.html為例,這是個BBS頁,取其前60個更新時間序列(這個序列可從網(wǎng)頁上直接讀出),以序列第一個值為參考,并將該序列轉(zhuǎn)化為秒,則序列為0 935 231883 261484 277037 314594 346493 346601355709 401795 402343 408114 445925 493502 530610580559 596884 620318 668050 680267 680267 680270680282 686234 686533 686609 691639 695092 699361699813 751811 786379 786384 790780 826472 847222856377 873258 873687 876733 927321 1014280 10180881019502 1027354 1047183 1049073 1086272 1086275 10922881103902 1128980 1135175 1135295 1137836 1195896 12144591223416 1261189 1304231網(wǎng)頁更新時間預測部件的最小步長設為minStep=100秒,步長縮放因子為factor=1.125,更新間隔序列設為假設網(wǎng)頁下載部件第一次下載到的這個網(wǎng)頁是個新帖(還沒有回帖),則檢測部件不能提取到網(wǎng)頁的真實更新時間,這時更新時間預測部件的初值只能取一經(jīng)驗值,在這里為4334秒,網(wǎng)頁下載部件經(jīng)過4334秒重新下載該頁,更新檢測部件發(fā)現(xiàn)網(wǎng)頁已更新(因為),于是更新時間預測部件將下次步長收縮1.125倍,變?yōu)?852,下載部件過3852秒后重新下載該頁,經(jīng)檢測部件后發(fā)現(xiàn)頁面未更新(因為),則更新時間預測部件將下次步長放大1.125倍,變?yōu)?334秒……當更新時間預測部件檢測到網(wǎng)頁連續(xù)兩次未更新,便將下次更新間隔增大一個量級,變?yōu)?1120秒,于是再隔11120秒后網(wǎng)頁下載部件重新下載該頁,檢測部件檢測到該頁未更新……根據(jù)流程得到的預測序列點為
4334 8186 12520 23640 36150 64681 96779169984 252340 262224 266558 271434 282554 292438303558 332089 357450 368570 381080 409611 434972463504 488865 517396 542757 553877 566387 594918620279 631399 641284 652404 680935 706296 717416729926 758457 783818 812349 837711 848830 858715863049 867924 879044 888929 900049 928580 953941982472 1055677 1120748 1149280 1174641 1203172 12285331239653 1252163 1280694對比兩個序列,發(fā)現(xiàn)預測序列能較好的擬合實際序列,這說明了算法的有效性。
權利要求
1.一種自適應網(wǎng)頁更新時間預測方法,其特征在于該方法通過以下步驟實現(xiàn)(1)首先設一組更新間隔序列,其中元素為最小步長m乘以步長縮放因子f的指數(shù)倍,元素之間應相差一定的數(shù)量級;(2)設定更新時間間隔初值,若能從網(wǎng)頁中解析出網(wǎng)頁的真實更新時間,則初值為最近三次更新時間間隔的加權平均,否則取一經(jīng)驗值;(3)將上一次的更新間隔與更新間隔序列中的元素匹配,即找出與上次更新間隔最鄰近的元素,以確定當前更新時間間隔的數(shù)量級;(4)判斷網(wǎng)頁有無更新,若更新,則把下次更新間隔收縮f陪;若無更新,則放大f倍;(5)若網(wǎng)頁連續(xù)若干次未更新,則更新間隔取間隔序列中的下一個元素,即使得更新間隔增大一個量級;若網(wǎng)頁連續(xù)若干次更新,則更新間隔取間隔序列中的上一個元素,即使得更新間隔減小一個量級;(6)若網(wǎng)頁由連續(xù)多次未更新而轉(zhuǎn)入更新狀態(tài),則更新間隔縮小若干個數(shù)量級;若網(wǎng)頁由連續(xù)多次更新而轉(zhuǎn)入未更新狀態(tài),則更新間隔增大若干個數(shù)量級。
全文摘要
本發(fā)明為一種自適應網(wǎng)頁更新時間預測方法,是改進的鄰近法。它能根據(jù)網(wǎng)頁變化的歷史規(guī)律預測出其下次的更新時間,在沒有網(wǎng)頁更新頻率先驗知識的情況下能快速預測出更新頻率的量級,并且能迅速地適應網(wǎng)頁更新頻率的突變。經(jīng)MATLAB仿真,本方法能較準確地預測網(wǎng)頁的更新時間,對比經(jīng)典的鄰近法,本方法能在明顯減少系統(tǒng)開銷的前提下保證所抓取網(wǎng)頁的時新性。該方法適用于網(wǎng)頁抓取系統(tǒng),經(jīng)在一實際系統(tǒng)應用,性能良好。
文檔編號G06F17/30GK1945576SQ20061011778
公開日2007年4月11日 申請日期2006年10月31日 優(yōu)先權日2006年10月31日
發(fā)明者邱致中, 王少剛 申請人:上海態(tài)格文化傳播有限公司