專利名稱:一種基于共享內(nèi)存映射的url去重方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)網(wǎng)絡(luò)信息處理領(lǐng)域,涉及統(tǒng)ー資源定位符URL(UniformResource Locator)的去重方法與產(chǎn)品,具體涉及ー種基于共享內(nèi)存映射的URL去重方法及裝置。
背景技術(shù):
近年來互聯(lián)網(wǎng)技術(shù)的發(fā)展,對(duì)重復(fù)統(tǒng)一資源定位符URL(Uniform ResourceLocator)的采集過濾與去重處理,顯得越來越重要。URL去重技術(shù)廣泛應(yīng)用于網(wǎng)絡(luò)審計(jì)系統(tǒng)、搜索引擎系統(tǒng)中。如果能夠快速識(shí)別出重復(fù)URL,免去重復(fù)URL的后續(xù)處理步驟,將大大提聞性能。URL去重技術(shù),需要從兩個(gè)方面考慮URL存儲(chǔ)空間和URL匹配速度。URL的存儲(chǔ)空間是指可以處理非重復(fù)URL的最大數(shù)目和每條URL所占用的內(nèi)存空間。URL匹配速度是通過判斷一條URL記錄是否為重復(fù)URL所用的時(shí)間來衡量的。國外應(yīng)用URL去重技術(shù)的相關(guān)產(chǎn)品很多,所有的爬蟲系統(tǒng)都需要用到此功能。開源的搜索引擎Larbin使用了 Bloom Filter算法實(shí)現(xiàn)了 URL的去重過濾功能,這是ー種URL所占存儲(chǔ)空間低而且URL過濾速度比較快的算法。Bloom Filter算法是Burton Bloom在1970 年提出的(Burton Bloom. Bloom filter[EB/0L]. http://en. wikipedia. org/wiki/Bloom_filter, 1970)。然而,Bloom Filter算法有一個(gè)缺陷,即有一定程度的誤判,即將非重復(fù)的URL判定為重復(fù)的URL。在提高URL匹配去重速度的研究領(lǐng)域中,哈希表(Hash Table)是ー個(gè)重要的研究方向。由于哈希表在查找信息時(shí)速度非??欤栽趦?nèi)存中存儲(chǔ)URL時(shí)一般都采用基于哈希表的存儲(chǔ)結(jié)構(gòu),因而在URL去重技術(shù)中針對(duì)哈希表和哈希函數(shù)的研究比較有價(jià)值。西安交通大學(xué)的鄭衛(wèi)斌等人實(shí)現(xiàn)了基于哈希表的URL去重器,使用位圖法提高了 URL過濾的性能(鄭衛(wèi)斌,張德運(yùn),丁會(huì)寧,李繼華,高磊.基于哈希表的高性能URL過濾器研究.小型微型計(jì)算機(jī)系統(tǒng).2005,26 (2) ; 17-180頁)。鄭衛(wèi)斌的URL去重器選取適用于字符串哈希的位哈希函數(shù),也實(shí)現(xiàn)了簡單的存儲(chǔ)優(yōu)化和高速緩存優(yōu)化,并通過實(shí)驗(yàn)證明了這種基于位圖法哈希表的URL去重器的高效性。使用哈希表來進(jìn)行URL匹配去重的技術(shù),保存的URL數(shù)目取決于哈希表桶的大小,到最后會(huì)受限于內(nèi)存的大小,同時(shí)哈希表方案完全存儲(chǔ)于內(nèi)存,并未保存上一次的結(jié)果,去重的記錄未能保存,因此完全使用哈希表的URL去重裝置在海量URL去重中不適合。除了將海量的URL存儲(chǔ)到硬盤上,對(duì)URL本身的存儲(chǔ)進(jìn)行優(yōu)化,也是研究的內(nèi)容之一。Kasom等人提出了一種基于Delta Encoding的方法,并使用AVL樹來提高查找的效率,取得了大約50%的壓縮率,達(dá)到的效果非常明顯(Koht-arsa K, Sanguanpong S. In-memoryURL Compression, National Computer science and Engineering しonference,しhiangMai,Thailand,November 7-9,2001 :425-428)。Genova 等人提出了使用簽名來提高 URL 查找速度和降低存儲(chǔ)空間的方法(Genova Z,Christensen K. Efficient Summarization ofURLs using CRC32 for Implementing URL Switching, CONFERENCE ON LOCAL COMPUTERNETWORKS, 2002 :102_105P)。他所謂的簽名,實(shí)際上就是使用 CRC32(Cyclic RedundancyCheck 32)將URL編碼成固定長度,使用CRC32碼來代替URL字符串作為哈希表的鍵,這樣既降低的URL的存儲(chǔ)空間,又提高了查找和去重速度。然而,海量URL的CRC32編碼全部存儲(chǔ)內(nèi)存中,仍然受限于硬件條件,同時(shí)匹配速度也是個(gè)問題
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)的上述不足,本發(fā)明的目的在于提供聞效的基于共孚內(nèi)存映射SMM(Shared Memory-Mapped)的URL去重方法,解決現(xiàn)有URL去重方法的不足。本發(fā)明的目的還在提供一種實(shí)現(xiàn)上述方法的URL去重裝置,實(shí)現(xiàn)了 URL去重的功能,提高了去重速度、降低了存儲(chǔ)空間(每條URL占I位),同時(shí)保存了去重結(jié)果,可以應(yīng)用于搜索引擎、網(wǎng)絡(luò)審計(jì)系統(tǒng)等。本發(fā)明的基于共享內(nèi)存映射的URL去重方法及裝置,其特征包括去重方法包括初始化、URL簽名、簽名索引、共享內(nèi)存映射和按位判重;裝置包括中央處理器、內(nèi)存儲(chǔ)器、外存儲(chǔ)器、網(wǎng)卡和輸入輸出設(shè)備,這些設(shè)備均與中央處理器連接,所述的中央處理器又包括連接在一起的URL捕獲模塊、URL簽名模塊、簽名索引模塊、共享內(nèi)存映射模塊和按位判重模塊。初始化裝置所需要相關(guān)數(shù)據(jù)的加載與共享內(nèi)存映射的初始化;本發(fā)明的目的是通過下列技術(shù)方案實(shí)現(xiàn)的本裝置所述的中央處理器用于連接控制裝置的各個(gè)模塊,完成裝置的功能;本裝置所述的網(wǎng)卡用于捕獲存儲(chǔ)URL信息的數(shù)據(jù)包;本裝置所述的內(nèi)存儲(chǔ)器是裝置運(yùn)行中數(shù)據(jù)的存儲(chǔ)介質(zhì);本裝置所述的外存儲(chǔ)器是裝置保存去重結(jié)果文件的存儲(chǔ)介質(zhì);本裝置所述的URL捕獲模塊通過網(wǎng)卡將網(wǎng)絡(luò)數(shù)據(jù)包解析,井分析出相應(yīng)的URL,供裝置其它模塊使用;URL簽名模塊用于將不定長的URL轉(zhuǎn)換成定長的簽名,此簽名在一定范圍內(nèi)是唯ー對(duì)應(yīng)的;簽名的方法包括但不限于CRC32 (Cyclical Redundancy Check 32,共有32位ニ進(jìn)制數(shù)),SHAl (Secure Hash Algorithm 1,共有 160 位ニ進(jìn)制數(shù)),MD5 (Message DigestAlgorithm5,共有128位ニ進(jìn)制數(shù))等算法;簽名索引模塊根據(jù)簽名的字節(jié)數(shù)X(X = Xl 1+X12),選取前XlI字節(jié)作為文件名,剩余xl2字節(jié)作為文件內(nèi)容;簽名字節(jié)數(shù)X比較大,則拆分為3級(jí)甚至更多(若3級(jí)以上,則分為多級(jí)目錄),以3級(jí)為例X = x21+x22+x23,將簽名的前x21字節(jié)作為目錄名,中間x22字節(jié)作為文件名,剰余x23字節(jié)作為文件內(nèi)容;索引的方法就是根據(jù)簽名指定的字節(jié)查找到相應(yīng)的目錄及文件;共享內(nèi)存映射模塊由于存儲(chǔ)為文件形式,但讀寫文件系統(tǒng)開銷很大,故采用共享內(nèi)存映射的方法,將內(nèi)存和上述簽名文件一一對(duì)應(yīng);直接對(duì)內(nèi)存操作,即由共享內(nèi)存映射模塊完成內(nèi)存與文件的冋步;按位判重模塊根據(jù)簽名索引,找到簽名文件內(nèi)容對(duì)應(yīng)共享內(nèi)存位置,讀取內(nèi)存的值,并判斷此URL是否重復(fù)。
本發(fā)明的基于共享內(nèi)存映射的URL去重方法,包括以下步驟I)初始化步驟根據(jù)預(yù)定的簽名索引方案,初始化文件到內(nèi)存,完成共享內(nèi)存映射的初始化;2) URL捕獲步驟,是從網(wǎng)卡獲取的信息中的URL識(shí)別出來供裝置去重。3) URL簽名步驟,是從獲取URL開始,將URL通過簽名算法轉(zhuǎn)換為定長的字節(jié),然后將簽名字節(jié)傳給簽名索引步驟,根據(jù)簽名算法的不同,采用不同的詳細(xì)步驟。
4)簽名索引步驟,是根據(jù)所選的目錄級(jí)別,選定的索引方案,其實(shí)現(xiàn)直接影響裝置初始化具體實(shí)現(xiàn);5)共享內(nèi)存映射步驟,使得進(jìn)程之間通過映射同一個(gè)簽名文件實(shí)現(xiàn)共享內(nèi)存,簽名文件被映射到進(jìn)程地址空間后,進(jìn)程可以像訪問普通內(nèi)存ー樣對(duì)文件進(jìn)行訪問,不必再調(diào)用read(),write()等操作;換句話說就是把一個(gè)文件的內(nèi)容在內(nèi)存里面做ー個(gè)映像,內(nèi)存操作比磁盤操作要快;6)按位判重步驟,根據(jù)簽名文件內(nèi)容字段的值,索引找到所在位,判斷此位是否為1,若為I則此URL為重復(fù)URL,若為O則將此位置I,并返回非重URL的結(jié)果。本發(fā)明的有益效果在于通過簽名,將URL最終以簽名文件中的I位來存儲(chǔ),極大的壓縮了 URL所占的存儲(chǔ)空間;通過共享內(nèi)存映射,將對(duì)內(nèi)存的操作同步到簽名文件中,提高了 URL去重的速度^fURL對(duì)應(yīng)的位存儲(chǔ)于簽名文件中,長期保存了去重結(jié)果。
圖I是本發(fā)明結(jié)構(gòu)示意圖;圖2是基于共享內(nèi)存映射的URL去重方法的流程圖;圖3是共享內(nèi)存映射的處理流程;圖4是基于位圖法哈希表的URL去重流程;
具體實(shí)施例方式下面結(jié)合附圖舉例對(duì)本發(fā)明做進(jìn)ー步詳細(xì)描述圖I所示為ー種基于共享內(nèi)存映射的URL去重方法的流程,包括裝置初始化模塊裝置所需要相關(guān)數(shù)據(jù)的加載與共享內(nèi)存映射的初始化;中央處理器用于連接控制裝置的各個(gè)模塊,完成裝置的功能;網(wǎng)卡用于捕獲存儲(chǔ)URL信息的數(shù)據(jù)包;內(nèi)存儲(chǔ)器裝置運(yùn)行時(shí)數(shù)據(jù)的存儲(chǔ)介質(zhì);外存儲(chǔ)器裝置保存去重結(jié)果文件的存儲(chǔ)介質(zhì);URL捕獲模塊獲取所需要去重的URL ;URL簽名模塊用于將不定長的URL轉(zhuǎn)換成定長的簽名;簽名索引模塊根據(jù)簽名的字節(jié)分級(jí)索引到對(duì)應(yīng)的簽名文件;內(nèi)存映射模塊將簽名文件與內(nèi)存進(jìn)行共享映射,使裝置對(duì)內(nèi)存的操作同步更新到簽名文件中;按位判重模塊根據(jù)簽名文件內(nèi)容中對(duì)應(yīng)位的值來判斷此URL是否重復(fù)。實(shí)施例
圖2給出了一種基于共享內(nèi)存映射的URL去重方法的流程,以簽名算法使用CRC32為例。I、總體設(shè)計(jì)基于共享內(nèi)存映射的URL去重裝置的實(shí)施例總體設(shè)計(jì)如下首先裝置初始運(yùn)行時(shí)進(jìn)行始化,將存儲(chǔ)于外存的URL簽名文件在內(nèi)存中全部打開,如果文件不存在則創(chuàng)建并將所有位置0,共享內(nèi)存映射模塊進(jìn)行共享內(nèi)存映射獲取SMM指針,然后即可關(guān)閉文件。以后對(duì)SMM指針的讀寫操作,就會(huì)映射到U RL存儲(chǔ)文件的讀寫。將網(wǎng)卡捕獲的URL進(jìn)行CRC32簽名,獲取CRC32碼。將SMM指針全部放到一個(gè)數(shù)組中管理,根據(jù)CRC32碼的前8位,從這個(gè)數(shù)組中找到相應(yīng)的SMM指針,再判斷此SMM指針對(duì)應(yīng)的內(nèi)存區(qū)的相應(yīng)位的值,如果是1,則表示為重復(fù)的URL,如果是0,就是非重復(fù)的URL,同時(shí)將此位置為I。重復(fù)如上流程,即是基于共享內(nèi)存映射的URL去重裝置的實(shí)現(xiàn)流程。2、簽名文件索引本實(shí)施例使用CRC32算法簽名。CRC32是ー個(gè)32位的值,將此信息存入文件,文件總共232位,即232/8等于512MB字節(jié),所以可以考慮將其全部存入ー個(gè)字節(jié)大小為512MB的文件中。然而此時(shí)有個(gè)問題,盡管一直讀寫的是ー個(gè)文件,但是在232大小的文件中尋址,肯定會(huì)比較慢。因此,本實(shí)施例的方案是取CRC32值前8位作為文件名,即能產(chǎn)生名為00到FF的256個(gè)文件,將其余24位存儲(chǔ)在ー個(gè)2MB大小的文件,單個(gè)文件尋址空間為224。3、共享內(nèi)存映射基于共享內(nèi)存映射的URL去重方法中,共享內(nèi)存映射的處理流程如圖3所示。模塊先要判斷簽名文件是否已經(jīng)被創(chuàng)建,若是則直接打開,否則需要?jiǎng)?chuàng)建文件,并固定文件大小且按位置O ;然后再進(jìn)行共享內(nèi)存映射,同時(shí)需要SMM同步,并返回SMM指針,供調(diào)用去重裝置所用。4、實(shí)驗(yàn)結(jié)果與分析I)實(shí)驗(yàn)步驟實(shí)驗(yàn)的測試數(shù)據(jù)來源于一次網(wǎng)絡(luò)捕包存儲(chǔ)的包含URL信息的文件,所含URL數(shù)目為75012,則平均每條URL長度為50. 5字節(jié)。實(shí)驗(yàn)的流程是將此數(shù)據(jù)包文件中的URL進(jìn)行URL去重流程,查詢此URL (若查詢不到此記錄則插入此記錄),記錄查詢時(shí)間,然后讀取下一條記錄,重復(fù)上述操作。最后在75012條記錄全部查完后,再重新讀取此文件,記錄第二次查詢一遍全部URL的時(shí)間。實(shí)驗(yàn)方案本實(shí)施例的測試結(jié)果與基于位圖法哈希表的URL去重過濾器和基于Bloom Filter算法實(shí)現(xiàn)的URL去重器進(jìn)行實(shí)驗(yàn)對(duì)比,論證了本發(fā)明實(shí)現(xiàn)URL去重方法的高效性。另外,根據(jù)每種方法,修改相關(guān)參數(shù)來獲得相應(yīng)的實(shí)驗(yàn)數(shù)據(jù)。每個(gè)方法實(shí)驗(yàn)若干次,取平均值。本發(fā)明中,每個(gè)裝置的實(shí)驗(yàn)次數(shù)為4或5,然后得出一平均值,來證明實(shí)驗(yàn)的效果O2)對(duì)比方案描述本發(fā)明的測試方案中實(shí)現(xiàn)了西安交通大學(xué)鄭衛(wèi)斌等人提出的基于位圖法哈希表的高性能URL去重器,并與基于共享內(nèi)存映射的URL去重裝置進(jìn)行了對(duì)比?;谖粓D法哈希表的URL去重流程如圖4所不。基于Bloom Filter算法的URL去重方法設(shè)計(jì)Bloom Filter算法的實(shí)現(xiàn),影響其處理速度的因素在于位數(shù)組大小m值和哈希函數(shù)個(gè)數(shù)k的選擇,當(dāng)然考慮誤判率吋,還要考慮元素的數(shù)量η。在本實(shí)驗(yàn)實(shí)現(xiàn)的Bloom Filter算法中,對(duì)哈希函數(shù)個(gè)數(shù)k值的獲取則采用了如下的方案選擇對(duì)URL字符串進(jìn)行CRC32編碼(對(duì)應(yīng)I個(gè)無符號(hào)整形值)、MD5編碼(對(duì)應(yīng)4個(gè)無符號(hào)整形值)、安全散列標(biāo)準(zhǔn)SHAl編碼(對(duì)應(yīng)5個(gè)無符號(hào)整形值),所以通過這三個(gè)算法編碼過程所得的值,可以相當(dāng)于10次哈希函數(shù)的值。而且,可以選擇三個(gè)編碼值的組合,就可以生成不同的k值,k的最大值為10,來獲得不同的實(shí)驗(yàn)數(shù)據(jù)。3)實(shí)驗(yàn)結(jié)果 基于共享內(nèi)存映射的URL去重裝置實(shí)驗(yàn)結(jié)果如表I所示。表I基于共享內(nèi)存映射的URL去重裝置的實(shí)驗(yàn)結(jié)果
ΤΙ7Γ"""程序運(yùn)行后第一次查詢時(shí)間(單查詢一遍后再查詢時(shí)間(單^fi
位彳敫秒)位微秒)
1203883817020575012
234217216587675012
342792516950875012
434221916581175012 平均值 t 787788.5" T 167850 j使用基于位圖法的URL去重器的實(shí)驗(yàn)結(jié)果如表2所示。表2使用基于位圖法哈希表的URL去重器的實(shí)驗(yàn)結(jié)果
哈希表大小"]"%一次查詢時(shí)間查詢并插入時(shí)間全部插完后再查洵時(shí)間
(桶數(shù))(單-位微秒)(單位微秒)(單位微秒)
10347425931563284634547932
100349777811163973487212 "
1000484152280649482715
10000174795252472185054基于Bloom Filter 算法的哈希函數(shù)個(gè)數(shù),kcrc32 = I, kmd5 = 4, kshal = 5,選擇三種編碼的組合,則k就是相應(yīng)kx值相加,可以組合出多種不同的k值,k的最大值為10。在本實(shí)驗(yàn)中,Bloom Filter算法的m值分別80000和8000000,η = 75012,k根據(jù)不同的編碼組合,取同的值。實(shí)驗(yàn)結(jié)果如表3所示。表3Bloom Filter算法的URL去重方法實(shí)驗(yàn)結(jié)果
權(quán)利要求
1.基于共享內(nèi)存映射的URL去重方法,包括初始化模塊、URL簽名模塊、簽名索引模塊、共享內(nèi)存映射模塊和按位判重模塊; 其特征包括 裝置初始化模塊裝置所需要相關(guān)數(shù)據(jù)的加載與共享內(nèi)存映射的初始化; URL簽名模塊用于將不定長的URL轉(zhuǎn)換成定長的簽名,此簽名在一定范圍內(nèi)是唯一對(duì)應(yīng)的;簽名的方法包括但不限于CRC32 (Cyclical Redundancy Check 32,共有32位ニ進(jìn)制數(shù)),SHAl (Secure Hash Algorithm 1,共有 160 位ニ進(jìn)制數(shù)),MD5 (Message DigestAlgorithm5,共有128位ニ進(jìn)制數(shù))等算法; 簽名索引模塊根據(jù)簽名的字節(jié)數(shù)X (X = Xl 1+χ12),選取前xl I字節(jié)作為文件名,剩余xl2字節(jié)作為文件內(nèi)容;簽名字節(jié)數(shù)X比較大,則拆分為3級(jí)甚至更多(若3級(jí)以上,則分為多級(jí)目錄),以3級(jí)為例:x = x21+x22+x23,將簽名的前x21字節(jié)作為目錄名,中間x22字節(jié)作為文件名,剰余x23字節(jié)作為文件內(nèi)容;索引的方法就是根據(jù)簽名指定的字節(jié)查找即可; 共享內(nèi)存映射模塊由于存儲(chǔ)為文件形式,但讀寫文件系統(tǒng)開銷很大,故采用共享內(nèi)存映射的方法,將內(nèi)存和上述簽名文件一一對(duì)應(yīng);直接對(duì)內(nèi)存操作,即由共享內(nèi)存映射模塊完成內(nèi)存與文件的同步; 按位判重模塊根據(jù)簽名索引,找到簽名文件內(nèi)容對(duì)應(yīng)共享內(nèi)存位置,讀取內(nèi)存的值,并判斷此URL是否重復(fù)。
2.根據(jù)權(quán)利要求I所述的基于共享內(nèi)存映射的URL去重方法,其特征在于包括以下步驟 1)初始化步驟根據(jù)預(yù)定的簽名索引方案,初始化文件到內(nèi)存,完成共享內(nèi)存映射的初始化; 2)URL捕獲步驟,是從網(wǎng)卡獲取的信息中的URL識(shí)別出來供裝置去重。
3)URL簽名步驟,是從獲取URL開始,將URL通過簽名算法轉(zhuǎn)換為定長的字節(jié),然后將簽名字節(jié)傳給簽名索引步驟,根據(jù)簽名算法的不同,采用不同的詳細(xì)步驟。
4)簽名索引步驟,是根據(jù)所選的目錄級(jí)別,選定的索引方案,其實(shí)現(xiàn)直接影響裝置初始化具體實(shí)現(xiàn); 5)共享內(nèi)存映射步驟,使得進(jìn)程之間通過映射同一個(gè)簽名文件實(shí)現(xiàn)共享內(nèi)存,簽名文件被映射到進(jìn)程地址空間后,進(jìn)程可以像訪問普通內(nèi)存ー樣對(duì)文件進(jìn)行訪問,不必再調(diào)用read O , write O等操作;換句話說就是把一個(gè)文件的內(nèi)容在內(nèi)存里面做ー個(gè)映像,內(nèi)存操作比磁盤操作要快; 6)按位判重步驟,根據(jù)簽名文件內(nèi)容字段的值,索引找到所在位,判斷此位是否為1,若 I則此URL為重復(fù)URL,若為O則將此位置1,并返回非重URL的結(jié)果。
3.根據(jù)權(quán)利要求I所述的方法制作成的URL去重裝置,其特征包括中央處理器、內(nèi)存儲(chǔ)器、外存儲(chǔ)器、網(wǎng)卡和輸入輸出設(shè)備,這些設(shè)備均與中央處理器連接,所述的中央處理器又包括連接在一起的URL捕獲模塊、URL簽名模塊、簽名索引模塊、共享內(nèi)存映射模塊和按位判重模塊。
4.根據(jù)權(quán)利要求I所述的基于共享內(nèi)存映射的URL去重方法,其特征在于總體設(shè)計(jì)如下首先裝置初始運(yùn)行時(shí)進(jìn)行初始化,將存儲(chǔ)URL的簽名文件全部打開,如果文件不存在則創(chuàng)建并將所有位置O,共享內(nèi)存映射模塊進(jìn)行共享內(nèi)存映射獲取SMM指針,然后即可關(guān)閉文件;以后對(duì)SMM指針的讀寫操作,就會(huì)映射到URL存儲(chǔ)文件的讀寫;將SMM指針全部放到一個(gè)數(shù)組中管理,以后根據(jù)CRC32碼的前8位,從這個(gè)數(shù)組中找到相應(yīng)的SMM指針,再判斷此SMM指針對(duì)應(yīng)的內(nèi)存區(qū)的相應(yīng)位的值,如果是1,則表示為重復(fù)的URL,如果是O,就是非重復(fù)的URL,同時(shí)將此位置為I ;重復(fù)如上流程,即是基于共享內(nèi)存映射的URL去重方法的實(shí)現(xiàn)。
5.根據(jù)權(quán)利要求4所述的共享內(nèi)存映射,其特征在于先要判斷簽名文件是否已經(jīng)被創(chuàng)建,若是則直接打開,否則需要?jiǎng)?chuàng)建文件,并固定文件大小且按位置O ;然后再進(jìn)行共享內(nèi)存映射,同時(shí)需要smm同步,并返回smm指針,供調(diào)用去重裝置所用。
6.根據(jù)權(quán)利要求I所述的基于共享內(nèi)存映射的URL去重方法,其特征在于有益效果在于通過簽名,將URL最終以簽名文件中的I位來存儲(chǔ),極大的壓縮了 URL所占的存儲(chǔ)空間;通過共享內(nèi)存映射,將對(duì)內(nèi)存的操作同步到簽名文件中,提高了 URL去重的速度JfURL對(duì)應(yīng)的位存儲(chǔ)于簽名文件中,長期保存了去重結(jié)果。
全文摘要
本發(fā)明的基于共享內(nèi)存映射的URL去重方法及裝置,去重方法包括初始化、URL簽名、簽名索引、共享內(nèi)存映射和按位判重。本發(fā)明的有益效果在于通過簽名,將URL最終以簽名文件中的1位來存儲(chǔ),極大的壓縮了URL所占的存儲(chǔ)空間;通過共享內(nèi)存映射,將對(duì)內(nèi)存的操作同步到外存簽名文件中,提高了URL去重的速度;將URL對(duì)應(yīng)的位存儲(chǔ)于簽名文件中,長期保存了去重結(jié)果。本發(fā)明還提供了一種實(shí)現(xiàn)上述方法的裝置,裝置包括中央處理器、內(nèi)存儲(chǔ)器、外存儲(chǔ)器、網(wǎng)卡和輸入輸出設(shè)備,這些設(shè)備均與中央處理器連接,所述的中央處理器又包括連接在一起的URL捕獲模塊、URL簽名模塊、簽名索引模塊、共享內(nèi)存映射模塊和按位判重模塊。
文檔編號(hào)G06F17/30GK102693315SQ20121017131
公開日2012年9月26日 申請(qǐng)日期2012年5月29日 優(yōu)先權(quán)日2012年5月29日
發(fā)明者司賀華, 孔凡兵 申請(qǐng)人:上海家配電子商務(wù)有限公司