專利名稱:一種點對點文件共享中的熱門資源搜索方法及裝置的制作方法
技術領域:
本發明涉及點對點文件共享中的熱門資源搜索方法及裝置,屬于網絡通信技術領域。
背景技術:
P2P(Peer to Peer,點對點)技術的應用,使得網絡資源得到了充分的使用,它不僅能將這些計算單元的處理器計算能力、磁盤存儲能力、網絡帶寬資源等進行充分利用,而且能提供強大的分布式計算能力和快速高效的大范圍搜索功能,最重要的是為用戶提供了快捷方便的信息共享服務。然而,P2P應用自身的眾多優點也為網絡帶來了安全隱患和資源浪費,如P2P流的高速傳輸搶占了60%~80%的網絡帶寬,容易引起企業及ISP瓶頸鏈路的阻塞,其次,P2P用戶的超大容量信息下載給企業及運營商帶來網絡設備擴充的負擔,再者,由于P2P用戶基本上永遠在線,所以容易造成高峰時段的鏈路擁塞。因此,從節省網絡資源,提高網絡協同服務的能力考慮,如果可以發掘出用戶關注度高的文件,將這些文件采用其他的更為便捷的方式提供給用戶,將可以更好地為用戶服務。
目前應用熱門程度統計的主要有用于搜索引擎的頁面排序算法和基于Web的數據挖掘算法。
用于搜索引擎的頁面排序算法有PageRank算法、HITS算法等。PageRank算法在計算網頁重要性的時候主要側重于強調網頁被引用的次數,并依此對網頁進行排名。在計算網頁重要性的時候,主要考慮網頁的超鏈接結構給每個網頁確定一個重要性的等級數,忽略網頁的內容。當然,在計算的時候不只考慮網頁被點擊的次數,還考慮了網頁自身的重要性,重要性高的網頁在向外鏈接時候的貢獻值大,因此,重要網頁所指向的鏈接將大大增加被指向網頁的重要性。
基于Web的數據挖掘主要用來分析網絡中訪問者的行為,它包括Web文本挖掘、Web結構挖掘和Web日志挖掘。Web挖掘的最終目的是獲取大多數用戶關注的信息并對網頁做相應的修改以獲得新用戶、留住老用戶,從而獲得更多的收益。該算法的應用之一是在線新聞網站的分析。由于在線新聞網站的內容是需要經常更新的,訪問的用戶也是不斷變化的,因此擁有新聞網站的公司需要了解訪問他們的站點的用戶的瀏覽行為,通過精確的統計和分析獲得用戶的需求,例如,統計用戶最感興趣的新聞,將新聞的標題放在首頁,或者提供一個“十大列表”,列出用戶最經常訪問的內容,以便站點的設計與更新,吸引更多的用戶。該算法主要通過Bayes(貝葉斯)分析建立一個統計模型以完成兩方面的內容一是,分析在線新聞站點的用戶聚類,二是預測在線用戶進入該站點之后的可能行為。
現有的熱門程度統計方法針對網頁的熱門程度的研究比較多,其關注的方面主要用戶的瀏覽行為,而點對點的文件服務中的熱門鏈接需要根據用戶鏈接的文件標識,從相關的點對點文件服務的來源中得到信息,并且由于點對點的文件服務受突發事件的影響特別大,所以現有的統計方法和算法都不適合用于統計點對點的文件共享中的熱門程度鏈接,因此,需要設計新的適合點對點文件共享服務中的對熱門鏈接文件進行統計方法,以實現更好地為用戶提供文件下載服務。
發明內容
當前P2P文件共享服務給用戶帶來便利的同時,也給網絡運營商帶來了網絡設備負擔嚴重超高的弊端。因此,為了減緩網絡帶寬的消耗,平衡網絡進出口帶寬資源分配,本發明提出一種點對點文件共享中的熱門資源搜索方法,包括如下步驟步驟A,建立一個數據表,所述數據表的表項至少包括文件標識Identifier、當前時刻的用戶鏈接數CU、當前時間跨度內的用戶鏈接總數User、當前時刻的用戶鏈接數的變化趨勢值Trend以及當前時間跨度內用戶鏈接總數的排名CurRank;步驟B,利用現有的檢測技術,從網絡數據報文中提取出請求點對點文件共享的文件標識Identifier,然后根據所述數據表中各條記錄的情況,將該文件標識Identifier插入數據表或者丟棄;步驟C根據數據表中所記錄的當前時間跨度內的用戶鏈接總數User值,進行排名,并更新數據表,此時數據表中當前時間跨度內的用戶鏈接總數User排名在前面一部分的,其相應的文件標識所對應的資源就是在當前時刻點對點文件共享服務中的熱門資源。
在本發明中,所述數據表存儲已經在點對點文件共享中發現的熱門資源的統計信息,并存儲在點對點文件共享中當前不是熱門資源,但是有可能成為熱門資源的那些資源的統計信息。
在本發明中,所述數據表中當前時間跨度內的用戶鏈接總數User值的計算方法如下首先,按照預先設定的時間間隔,根據不同的點對點文件共享服務的結構,獲取所述數據表中各個文件標識所對應的資源被用戶請求共享的用戶鏈接數CU;然后,利用數據表中各個文件標識所對應的資源被用戶請求共享的用戶鏈接數CU,根據預先設定時間跨度Span,計算所述數據表中各個文件標識所對應的資源在當前時間跨度內的用戶鏈接總數User。
在本發明中,計算所述數據表中當前時間跨度內的用戶鏈接總數User的一種方式是根據公式User[t]=Σi=t-SpantCU[i],]]>計算從t-span到t時間內,當前時間跨度內的用戶鏈接總數。
在本發明中,若在所觀察的一段時間內,當前時刻的用戶鏈接數CU的變化情況呈現出有規則的曲線,則用曲線方程擬和,計算該曲線在各點處的變化率作為當前時刻用戶鏈接數的變化趨勢值Trend。
在本發明中,若在所觀察的一段時間內,當前時刻的用戶鏈接數的變化情況呈現出波動較大的不規則圖形,則直接計算它的當前時刻的用戶鏈接數在設定的時間跨度間的平均變化率,把這個平均變化率作為當前時刻用戶鏈接數的變化趨勢值Trend。
在本發明中,所述的根據數據表中各條記錄的情況,將獲取的文件標識Identifier插入數據表或者丟棄的一種具體方式為
在數據表中查找所獲取的文件標識Identifier,若存在,則不作處理,若不存在,則按照下面所述的情況進行處理第一種情況如果數據表未滿,那么直接插入到數據表中;第二種情況如果數據表已經滿了,那么在數據表中存儲的有可能成為熱門資源的那些資源部分中,對于其在當前時刻用戶鏈接數的變化趨勢值Trend進一步判斷,若Trend值有小于0的,則選擇當中最小的那個Trend值所對應的文件標識Identifier,用新的文件標識替換它;若Trend值均大于0,則對新的文件標識不作處理。
本發明還提供了一種點對點文件共享中的熱門資源搜索裝置,包括過濾模塊、插入控制模塊、數據更新模塊、統計模塊和存儲器;所述存儲器中存儲有一個數據表,數據表中存儲已經在點對點文件共享中發現的熱門資源的統計信息,并存儲在點對點文件共享中當前不是熱門資源,但是有可能成為熱門資源的那些資源的統計信息,所述數據表的表項至少包括文件標識Identifier、當前時刻的用戶鏈接數CU、當前時間跨度內的用戶鏈接總數User、當前時刻的用戶鏈接數的變化趨勢值Trend以及當前時間跨度內用戶鏈接總數的排名CurRank;所述過濾模塊從網絡數據包中篩選出屬于請求點對點資源共享的數據包,并從中提取出該數據包中的文件標識Identifier;所述插入控制模塊,根據所述數據表中各條記錄的情況,將從過濾模塊那里得到的文件標識Identifier插入所述數據表或者丟棄;所述數據更新模塊按照預先設定的時間間隔,依據不同的點對點文件共享服務的結構,獲取所述數據表中的各個文件標識在當前時刻所對應的資源的當前時刻的用戶鏈接數CU;同時,通知統計模塊當前時刻的用戶鏈接數CU已經更新;所述統計模塊根據預先設定時間跨度Span,計算所述數據表中各個文件標識所對應的資源在當前時間跨度內的用戶鏈接總數User,并根據User值,進行排名,更新所述數據表。
在本發明中,所述熱門資源搜索裝置還可包括Trend統計模塊,所述Trend統計模塊根據從所述數據更新模塊那里得到的當前時刻的用戶鏈接數CU的更新信息,計算出當前時刻的用戶鏈接數的變化趨勢值Trend。
本發明的優點在于利用本發明所取得的熱點資源的排名情況,可以為迫切需要這些熱點資源的對等組,建立一個可以方便快捷地獲得這些熱點資源的服務器,從而免去了用戶占用大量的帶寬去搜索和下載資源,大大地減緩網絡帶寬的消耗,平衡網絡進出口帶寬資源分配,提高網絡利用率。雖然現有的P2P文件共享服務的網絡架構各不相同,但本發明的設計中,提取文件標識和獲取用戶鏈接數的方法具有可選擇性和適應性,所以本發明不只局限于對于一種P2P應用的熱門程度進行統計,而是對當前流行的P2P應用都可以適用。
圖1為本發明所述點對點文件共享中的熱門資源搜索裝置的框圖;圖2為插入控制模塊的工作流程圖;圖3為當前時刻的用戶鏈接數CU隨時間變化的趨勢圖;圖4為當前時刻的用戶鏈接數CU隨時間變化的情況圖。
具體實施例方式
本發明是基于這樣的假設1.熱門資源一定是被提出共享請求的,也就是說不被請求共享的資源是不熱門的。
2.熱門資源總是容易被發現的。
3.如果發現一個資源被提出要求共享,那么這個資源才有可能是熱門的。也就是說沒有被發現有共享請求的資源就是不熱門的。
這三個假設的能否實現,取決于現有技術對數據的檢測能力。只要檢測水平足夠好,這些假設就是成立的。
本發明所述的點對點文件共享中的熱門資源搜索裝置的一種典型實施例,如圖1所示,包括過濾模塊、插入控制模塊、Trend統計模塊、數據更新模塊、統計模塊和存儲器;所述存儲器中存儲有一個數據表,數據表中存儲已經在點對點文件共享中發現的熱門資源的統計信息,并存儲在點對點文件共享中當前不是熱門資源,但是有可能成為熱門資源的那些資源的統計信息,所述數據表的表項至少包括文件標識Identifier、當前時刻的用戶鏈接數CU、當前時間跨度內的用戶鏈接總數User、當前時刻的用戶鏈接數的變化趨勢值Trend以及當前時間跨度內用戶鏈接總數的排名CurRank;所述過濾模塊從網絡數據包中篩選出屬于請求點對點資源共享的數據包,并從中提取出該數據包中的文件標識Identifier;所述插入控制模塊,并根據所述數據表中各條記錄的情況,將從過濾模塊那里得到的文件標識Identifier插入所述數據表或者丟棄;所述Trend統計模塊根據從數據更新模塊那里得到的當前時刻的用戶鏈接數CU,計算出當前時刻的用戶鏈接數的變化趨勢值Trend;所述數據更新模塊按照預先設定的時間間隔,依據不同的點對點文件共享服務的結構,獲取所述數據表中的各個文件標識在當前時刻所對應的資源的當前時刻的用戶鏈接數CU;同時,通知統計模塊,Trend統計模塊當前時刻的用戶鏈接數CU已經更新;所述統計模塊根據預先設定時間跨度Span,計算所述數據表中各個文件標識所對應的資源在當前時間跨度內的用戶鏈接總數User,并根據User值,進行排名,更新所述數據表。
本發明提出了一種如何在點對點的共享文件中找到用戶關注的熱點資源的方法,根據熱門資源排名情況,對于處于數據表中Top部分的熱門資源,提供更加方便快捷共享服務,總體思路如下過濾模塊依據現有的檢測技術,從網絡數據包中篩選出屬于請求點對點資源共享的數據包,并從中提取出該數據包中的文件標識Identifier,隨后向插入控制模塊提出插入文件標識的請求。
接著,插入控制模塊在數據表中查找所獲取的文件標識Identifier,若存在,則不作處理,若不存在,則按照數據表中各條記錄的情況,將從過濾模塊那里得到的文件標識Identifier插入數據表或者丟棄。
存儲器中存一個數據表,存儲已經在點對點文件共享中發現的熱門資源的統計信息,并存儲在點對點文件共享中當前不是熱門資源,但是有可能成為熱門資源的那些資源的統計信息,所述數據表的表項至少包括文件標識Identifier、當前時刻的用戶鏈接數CU、當前時間跨度內的用戶鏈接總數User、當前時刻的用戶鏈接數的變化趨勢值Trend以及當前時間跨度內用戶鏈接總數的排名CurRank;針對數據表中記錄的文件Identifier,數據更新模塊將根據預先設定時間間隔,根據不同的點對點文件共享服務的結構,獲取數據表中各個文件標識所對應的資源被用戶請求共享的用戶鏈接數CU;然后,統計模塊根據預先設定的時間跨度,計算數據表中的當前時間跨度內的用戶鏈接總數User,并據此進行排名,得到熱門資源排名情況,并更新數據表中的相應表項。
同時,Trend統計模塊根據數據更新模塊中當前時刻的用戶鏈接數CU和時間的變化關系,計算出當前時刻的用戶鏈接數的變化趨勢值Trend,并更新數據表中的相應表項。
具體步驟如下1建立一個數據表在存儲器中建立一個數據表,數據表中存儲已經在點對點文件共享中發現的熱門資源的統計信息(稱為Top部分),并存儲在點對點文件共享中當前不是熱門資源(稱為Back部分),但是有可能成為熱門資源的那些資源的統計信息,所述數據表的表項至少包括文件標識Identifier、當前時刻的用戶鏈接數CU、當前時間跨度內的用戶鏈接總數User、當前時刻用戶鏈接數的趨勢變化情況Trend以及當前時間跨度內用戶鏈接總數的排名CurRank。
數據表的結構定義如下<Identifier><User><CU><Trend><CurRank>。
2過濾模塊依據現有的檢測技術,從網絡數據包中篩選出屬于請求點對點資源共享的數據包,并從中提取出數據包中的文件標識Identifier。接著,插入控制模塊根據數據表中各條記錄的情況,將該文件標識Identifier插入數據表或者丟棄。在本發明的一種典型的情況中,使用最小堆來存儲數據表,即根據Back表中各個文件對應的Trend值建立的一個最小堆(或者AVL樹,這里的目的是將Trend值排序,采用哪種方法排序,可用根據實際情況選擇)。這樣,插入控制模塊首先在數據表中查找文件Identifier,若數據表中存在該文件標識Identifier,則不作處理,若不存在,則插入控制模塊按照如圖2所示的工作流程將新的文件標識Identifier插入數據表中,具體步驟為過濾模塊從網絡數據流中提取到屬于請求點對點資源共享的數據包的文件標識Identifier后,插入控制模塊則查詢數據表是否已滿。
如果數據表未滿,那么插入控制模塊將把新的文件標識Identifier直接插入到數據表中,并獲得插入位置的文件Identifier在數據表中的索引Index;如果數據表已經滿了,那么插入控制模塊則在數據表中有可能成為熱門資源的那些資源的統計信息中,對其相應的當前時刻用戶鏈接數的變化趨勢值Trend進一步判斷,若Trend值有小于0的,則選擇其中最小的那個Trend值的Index所對應的文件標識Identifier,插入控制模塊用新的文件標識替換它,隨后把原來的文件所對應的一系列統計數據信息清空;若Trend值均大于0,則對新的文件標識不作處理。
接著,插入控制模塊在完成文件標識Identifier的插入或者丟棄操作后,則通知數據更新模塊,已經將數據表調整。
3更新數據表中各條記錄的表項(1)數據更新模塊更新當前時刻的用戶鏈接數CU按照預先設定的時間間隔,數據更新模塊依據不同的點對點文件共享服務的結構,獲取所述數據表中的各個文件標識在當前時刻t所對應的資源的當前時刻的用戶鏈接數CU。
雖然現有的P2P文件共享服務的網絡架構各不相同,但本發明中,提取文件標識和獲取用戶鏈接數的方法具有可選擇性和適應性,所以本發明不只局限于對于一種P2P應用的熱門程度進行統計,根據分析對當前流行的P2P應用都可以適用。數據更新模塊在工作處理過程中,根據不同種類的P2P服務,采用不同的信息統計方式獲取資源共享的信息。目前P2P文件共享服務的網絡架構,可以分為下列幾種第一種,采用Tracker服務器方式通過文件標識向tracker服務器請求當前所有下載用戶列表,然后根據文件標識統計鏈接該文件的用戶請求數。例如BitTorrent。
第二種,采用混合式結構,增加了DHT網絡一般可以從Tracker服務器獲取文件被鏈接的個數,對于完全采用DHT網絡下載可以根據DHT的原理逐層搜索,通過DHT方式向其他的客戶端請求peer,然后統計出某個文件的相應的用戶鏈接數。例如BitComet、比特精靈。
第三種,有服務器,但服務器不完全返回所有擁有共享文件的客戶端。本地客戶端可以通過與服務器和部分客戶端同時交互獲取文件的熱門程度。例如eDonkey,eMule等。
第四種,目錄服務器結構該類應用中服務器存儲網絡中所有共享文件的目錄,同時響應客戶端的搜索請求,返回搜索結果。目錄服務器包含所有共享文件的用戶鏈接情況,同時在客戶端發出搜索請求后返回共享文件的在線鏈接數。例如KuGoo、PoCo等。
第五種,網絡電視由于網絡電視還沒有形成統一的標準,只是針對不同的客戶端有不同的服務器提供節目,然后通過對應網絡中的客戶端進行資源共享的一種方式。對于此類要獲取節目的鏈接情況,只要與服務器交互就能獲取這部分信息(服務器肯定有鏈接到或請求該節目的Peer統計信息)。例如PPLive、沸點等。
(2)統計模塊計算當前時間跨度內的用戶鏈接總數User 式(1)計算出某個資源從t-span到t時間內當前時刻的用戶鏈接數User;其中,t表示在時刻t進行統計,可選擇以小時(分鐘或者天)為單位進行,但是一般為了保證數據的及時可靠性,當以天為單位計算時,天數最好不要太長,否則所得信息的意義則不大;Span表示時間跨度,可由用戶自己設定。
(3)統計模塊更新當前時間跨度內用戶鏈接總數的排名CurRank統計模塊根據數據表中所記錄的當前時刻的用戶鏈接數User的值,進行排名,可采用現有的排序方法進行。
(4)Trend統計模塊更新當前時刻用戶鏈接數的趨勢值TrendTrend值指在當前的時刻,數據表中的各條記錄所對應的資源在當前時刻的用戶鏈接數的變化趨勢值,若當前時刻用戶鏈接數是呈上升趨勢,則Trend值將大于0,若是呈下降趨勢,則Trend值小于0。
計算方法第一種方式當在所觀察的一段時間內,當前時刻用戶鏈接數CU隨時間的變化情況,呈現有一定規則的曲線,則用曲線方程擬和,計算該曲線在各點處的變化率作為當前時刻用戶鏈接數的變化趨勢值。
例如,當前時刻用戶鏈接數CU呈現類似于圖3所示的曲線的情況時,則二次曲線擬和,并采用多項式回歸分析結合導數的方法,計算它的變化率,更新當前時刻用戶鏈接數的趨勢Trend值,具體步驟簡述如下Step1用一個二次函數近似地表示它,yα=β0+β1xα+β2xα2+εαα=1,2.Λ式(2)其中,y表示當前時刻用戶鏈接數CU,x表示當前時刻t,各εα獨立分布,均服從N(0,δ2)。(2)式是一個二次多項式回歸模型,本發明利用該模型對用戶數進行預測。
Step2用最小二乘法對(2)式進行估計可以得β1=L1yL22-L2yL12L11L22-L122,β2=L1yL12-L2yL11L122-L11L22]]>式(3)其中x‾i=1nΣαxαi,i=1,2]]>式(4),y‾=1nΣαyα]]>式(5)Lij=Lji=Σα(xαi-x‾i)(xαj-x‾j)=Σαxαixαj-1n(Σαxαi)(Σαxαj),i,j=1,2]]>式(6)
Liy=Σα(xαi-x‾i)(yα-y‾)=Σαxαiyα-1n(Σαxαi)(Σαyα),i,j=1,2]]>式(7)Step3對方程yα=β0+β1xα+β2xα2]]>求導,得Trend=yα=2β2χα+β1式(8),其中,β1,β2的值由(3)式給出。這樣,(8)式用來估計任一點的趨勢值。
說明該方法要求觀測得到的當前時刻用戶鏈接數CU的個數必須>=2,否則其Trend值置為一個最初的默認值0。
第二種方式當在所觀察的一段時間內,當前時刻用戶鏈接數CU隨時間的變化情況,呈現出波動較大的不規則圖形,則直接計算它在預先設定的時間跨度間的平均變化率,作為當前時刻用戶鏈接數的變化趨勢Trend值。
這種情況一般是由于當前時刻的用戶鏈接數受用戶的作息時間影響非常大。比如在某一段時間內的用戶的下載量非常多,而大家都休息的時間下載用戶就很少。則不會再呈現出圖3的曲線情況,因而需采用其它的方法得到它的變化情況,例如采用求平均變化率的方法進行。
在當前時刻t,當前時刻用戶鏈接數CU的變化情況由公式Trend=(CU[t]-CU[t-span])/Span式(9)進行更新。
4數據表中取得當前時刻熱門資源當統計模塊、Trend統計模塊結合數據更新模塊中的信息,完成對數據表中的各項記錄進行更新后,數據表Top部分的文件標識Identifier所對應的資源就是該時刻的熱門資源,數據表Back部分的文件標識所對應的資源就是可能成為熱門的資源,其中數據表的Top部分和Back部分的劃分,可以根據需要來確定。
下面舉一個具體的應用實例,來進一步說明本發明。
1.數據表的構建存儲器中存儲著一個數據表,該數據表的容量可以根據實際的條件調整。假設當前存儲的數據如下表所示,數據表中有500條記錄,其中處于前100位的是熱門資源,即Top部分,第101~500位的是可能成為熱門資源的資源,即Back部分。存儲器中的數據表如表1所示。
表1存儲器中的數據表
2.數據更新模塊按照預先設定的時間,獲取用戶鏈接數CU;假設預先設定每隔1個小時,以原先排名為100的信息為例,根據不同的點對點文件共享服務的結構,數據更新模塊獲取數據表中各個文件標識所對應的資源被用戶請求共享的用戶鏈接數CU,假設獲取的用戶鏈接數CU的情況如表2所示;表2用戶鏈接數CU表
3.統計模塊計算數據表中的當前時間跨度內用戶鏈接總數User,并更新數據表中的相應表項。
統計模塊根據預先設定的時間間隔,進行計算。假設預先設定的時間跨度取3小時,這樣根據公式(1)計算出“當前時間跨度內的用戶鏈接總數User”,填入到數據表的相應表項的位置。
4.統計模塊根據當前時間跨度內用戶鏈接總數User進行排名CurRank,并更新數據表中的相應表項。
在本例中,可以看出,當數據表更新后,原來處于數據表100位的數據,排名提前到了第60位。
5.Trend統計模塊計算Trend值。
Trend統計模塊通過觀察數據更新模塊中當前時刻的用戶鏈接數CU和時間的變化關系,如果關系曲線呈現二次曲線的形式,如圖4所示,那么就用一個二次曲線方程進行擬和,其中,y表示當前時刻的用戶鏈接數CU,x表示當前時刻t,各εα獨立分布,均服從N(0,δ2)。
Step1用一個二次函數yα=β0+β1xα+β2xα2+εαα=1,2.Λ表示,Step2用最小二乘法對(2)式進行估計,2.1代入公式(4)計算得到x1=5.5,x2=38.5,2.2代入公式(5)計算得到y=76.5,2.3代入公式(3)計算得到β1=34.4946969697,β2=-2.67803030303,2.4代入公式(6)(7)計算得到l11=82.5,l12=l21=907.5,l22=10510.5,Step3將β1,β2代入方程,根據公式(8),得到在i=10的地方,趨勢值Trend=-19.065909090909095。
6.新的文件Identifier的處理。
插入控制模塊在數據表中查找所獲取的文件標識Identifier,若存在,則不作處理,若不存在,則按照下面所述的情況進行處理;第一種情況如果數據表未滿,那么插入控制模塊將新的文件標識Identifier直接插入到數據表中;第二種情況如果數據表已經滿了,那么插入控制模塊在數據表中101~500的數據中查找趨勢值Trend是否有小于0的,若有,則選擇當中最小的那個Trend值所對應的文件標識Identifier,用新的文件標識替換它。在上表中,當前記錄197的Trend值最小,為-50,所以就選擇替換該條記錄,隨后把原來的文件所對應的一系列統計數據信息清空。
若Trend值均大于0,則對新的文件標識不作處理。
之后,插入控制模塊將通知數據更新模塊,數據表已經被更新。
通過上述方法,數據更新模塊按照預先設定的時間更新(可以選擇以小時、分鐘或者天為單位),接著在統計模塊、Trend統計模塊的協同工作下,對數據表中的各條記錄的情況進行更新。更新后,數據表中Top部分的文件標識所對應的資源,就是當前時刻的熱門資源,對于迫切需要這些熱點資源的對等組,可以建立一個能方便快捷地獲得這些熱點資源的服務器,從而免去了用戶占用大量的帶寬去搜索和下載資源,大大地減緩網絡帶寬的消耗,平衡網絡進出口帶寬資源分配,提高網絡利用率。
權利要求
1.一種點對點文件共享中的熱門資源搜索方法,其特征在于,所述方法包括如下步驟步驟A,建立一個數據表,所述數據表的表項至少包括文件標識Identifier、當前時刻的用戶鏈接數CU、當前時間跨度內的用戶鏈接總數User、當前時刻的用戶鏈接數的變化趨勢值Trend以及當前時間跨度內用戶鏈接總數的排名CurRank;步驟B,利用現有的檢測技術,從網絡數據報文中提取出請求點對點文件共享的文件標識Identifier,然后根據所述數據表中各條記錄的情況,將該文件標識Identifier插入數據表或者丟棄;步驟C根據數據表中所記錄的當前時間跨度內的用戶鏈接總數User值,進行排名,并更新數據表,此時數據表中當前時間跨度內的用戶鏈接總數User排名在前面一部分的,其相應的文件標識所對應的資源就是在當前時刻點對點文件共享服務中的熱門資源。
2.根據權利要求1所述的在點對點文件共享中的熱門資源搜索方法,其特征在于所述數據表存儲已經在點對點文件共享中發現的熱門資源的統計信息,并存儲在點對點文件共享中當前不是熱門資源,但是有可能成為熱門資源的那些資源的統計信息。
3.根據權利要求1所述的在點對點文件共享中的熱門資源搜索方法,其特征在于,所述數據表中當前時間跨度內的用戶鏈接總數User值的計算方法如下首先,按照預先設定的時間間隔,根據不同的點對點文件共享服務的結構,獲取所述數據表中各個文件標識所對應的資源被用戶請求共享的用戶鏈接數CU;然后,利用數據表中各個文件標識所對應的資源被用戶請求共享的用戶鏈接數CU,根據預先設定時間跨度Span,計算所述數據表中各個文件標識所對應的資源在當前時間跨度內的用戶鏈接總數User。
4.根據權利要求3所述的在點對點文件共享中的熱門資源搜索方法,其特征在于計算所述數據表中當前時間跨度內的用戶鏈接總數User的一種方式是根據公式User[t]=Σi=t-SpantCU[i],]]>計算從t-span到t時間內,當前時間跨度內的用戶鏈接總數。
5.根據權利要求1所述的在點對點文件共享中的熱門資源搜索方法,其特征在于若在所觀察的一段時間內,當前時刻的用戶鏈接數CU的變化情況呈現出有規則的曲線,則用曲線方程擬和,計算該曲線在各點處的變化率作為當前時刻用戶鏈接數的變化趨勢值Trend。
6.根據權利要求1所述的在點對點文件共享中的熱門資源搜索方法,其特征在于,若在所觀察的一段時間內,當前時刻的用戶鏈接數的變化情況呈現出波動較大的不規則圖形,則直接計算它的當前時刻的用戶鏈接數在設定的時間跨度間的平均變化率,把這個平均變化率作為當前時刻用戶鏈接數的變化趨勢值Trend。
7.根據權利要求1至6中任一權利要求所述的在點對點文件共享中的熱門資源搜索方法,其特征在于,所述的根據數據表中各條記錄的情況,將獲取的文件標識Identifier插入數據表或者丟棄的一種具體方式為在數據表中查找所獲取的文件標識Identifier,若存在,則不作處理,若不存在,則按照下面所述的情況進行處理第一種情況如果數據表未滿,那么直接插入到數據表中;第二種情況如果數據表已經滿了,那么在數據表中存儲的有可能成為熱門資源的那些資源部分中,對于其在當前時刻用戶鏈接數的變化趨勢值Trend進一步判斷,若Trend值有小于0的,則選擇當中最小的那個Trend值所對應的文件標識Identifier,用新的文件標識替換它;若Trend值均大于0,則對新的文件標識不作處理。
8.一種點對點文件共享中的熱門資源搜索裝置,其特征在于所述裝置包括過濾模塊、插入控制模塊、數據更新模塊、統計模塊和存儲器;所述存儲器中存儲有一個數據表,數據表中存儲已經在點對點文件共享中發現的熱門資源的統計信息,并存儲在點對點文件共享中當前不是熱門資源,但是有可能成為熱門資源的那些資源的統計信息,所述數據表的表項至少包括文件標識Identifier、當前時刻的用戶鏈接數CU、當前時間跨度內的用戶鏈接總數User、當前時刻的用戶鏈接數的變化趨勢值Trend以及當前時間跨度內用戶鏈接總數的排名CurRank;所述過濾模塊從網絡數據包中篩選出屬于請求點對點資源共享的數據包,并從中提取出該數據包中的文件標識Identifier;所述插入控制模塊,根據所述數據表中各條記錄的情況,將從過濾模塊那里得到的文件標識Identifier插入所述數據表或者丟棄;所述數據更新模塊按照預先設定的時間間隔,依據不同的點對點文件共享服務的結構,獲取所述數據表中的各個文件標識在當前時刻所對應的資源的當前時刻的用戶鏈接數CU;同時,通知統計模塊當前時刻的用戶鏈接數CU已經更新;所述統計模塊根據預先設定時間跨度Span,計算所述數據表中各個文件標識所對應的資源在當前時間跨度內的用戶鏈接總數User,并根據User值,進行排名,更新所述數據表。
9.根據權利要求8所述的點對點文件共享中的熱門資源搜索裝置,其特征在于所述熱門資源搜索裝置還包括Trend統計模塊,所述Trend統計模塊根據從所述數據更新模塊那里得到的當前時刻的用戶鏈接數CU的更新信息,計算出當前時刻的用戶鏈接數的變化趨勢值Trend。
全文摘要
本發明涉及一種點對點文件共享中的熱門資源搜索方法及裝置,屬于網絡通信技術領域。在本發明所述方法中,首先識別出點對點文件共享服務中某個資源的文件標識,根據該標識進行判斷分析,將其中熱門資源和可能成為熱點資源的文件標識保留在數據表中。根據預先設定的時間間隔,根據不同的點對點文件共享服務的結構,獲取數據表中各個文件標識所對應的資源被用戶請求共享的用戶鏈接數;接著根據預先設定的時間跨度,計算數據表中的當前時間跨度內的用戶鏈接總數,并據此進行排名,得到熱門資源排名情況。這樣,對于處于數據表中Top部分的熱門資源,提供更加方便快捷的共享服務,從而提高網絡利用率。
文檔編號H04L29/00GK1851712SQ20061006542
公開日2006年10月25日 申請日期2006年3月23日 優先權日2006年3月23日
發明者劉竟, 鄭志彬, 劉廷永, 宮婧, 孫知信 申請人:華為技術有限公司