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

節(jié)點分布的方法與裝置以及計算機程序產品的制作方法

文檔序號:7725841閱讀:101來源:國知局
專利名稱:節(jié)點分布的方法與裝置以及計算機程序產品的制作方法
技術領域
本發(fā)明涉及一種節(jié)點分布的方法及裝置,且特別涉及一種通過點對點網絡的節(jié)點分布的方法及裝置。
背景技術
近年來,由于互聯(lián)網的快速成長進而發(fā)展出大量分布式的運用,其中以點對點(Peer-to-Peer, P2P)網絡系統(tǒng)為主的檔案分享則被廣泛使用。P2P網絡系統(tǒng)可被細分為結構化(Structured)及非結構化(Unstructured)。以非結構化P2P系統(tǒng)而言,主要利用追蹤伺服器(Tracker)記錄節(jié)點及分享文件間的關系,好處在于設計及管理簡單,但缺點為無法提供搜尋服務。而在結構化的P2P服務網絡中,可利用分布式哈希表(Distributed Hash Table, DHT)來降低轉傳的訊息及利用所放置的位置 使得查詢成本平均分散。在通過分布式哈希表實現(xiàn)的結構化P2P服務網絡而言,先將網絡上的每一個節(jié)點分配一個虛擬無意義的節(jié)點編號(node ID),利用哈希函數(shù)(Hash function)將欲分享文件換成一哈希值(Hash key)。接著,將該哈希值及節(jié)點編號組(Hash key, node ID)發(fā)布到具有與該哈希值相近節(jié)點編號的節(jié)點上。而資源在定位時,則可利用哈希值相近的節(jié)點上快速取得一組(Hash key,node ID),進而取得文件的相關位置。不同的分布式哈希表服務網絡可通過不同的網絡拓樸來進行計算,例如,環(huán)狀拓樸結構(Chord)、控制器區(qū)域網絡(Content-Addressable Network, CAN)、Pastry 等系統(tǒng)。然而,以分布式哈希表為主的結構化P2P系統(tǒng)也有缺點存在,例如,無法有效地支持關鍵字搜尋,因為他的設計原理主要是針對完整的文件內容而產生的金鑰,所以在僅知道其關鍵字的查詢將會無法有效的運作在此系統(tǒng)中,當然,也無法在此架構下提供具有相似度的內容查詢(Query By Content, QBC)服務。另一方面,一些結構化P2P系統(tǒng),像是以拓樸為導向的控制器區(qū)域網絡(Topologically-aware CAN),會使得網絡中的節(jié)點分布不均勻,而造成某節(jié)點的負擔過重。因此,如何在分布式哈希表的結構化P2P系統(tǒng)中將節(jié)點平均且有意義的分布于拓樸中,并支持內容查詢服務,為目前研發(fā)展的一重要方向。

發(fā)明內容
有鑒于此,本發(fā)明提供節(jié)點分布方法及節(jié)點分布管理裝置。本發(fā)明實施例的一種節(jié)點分布的方法。用于點對點(peer-to-peer,P2P)網絡中,將該P2P網絡中出現(xiàn)的所有節(jié)點的位置,分別映射至數(shù)值空間;每一節(jié)點具有鄰居記錄表,鄰居記錄表最多記錄既定數(shù)量的節(jié)點,被記錄的既定數(shù)量的節(jié)點系沿數(shù)值增加或減少的方向其中之一而與節(jié)點相鄰近;進行搜尋程序,在數(shù)值空間找出沿數(shù)值方向分布的多個參考節(jié)點;參考節(jié)點中任兩連續(xù)的第一參考節(jié)點與第二參考節(jié)點中,第二參考節(jié)點為第一參考節(jié)點的鄰居記錄表中所記錄與第一參考節(jié)點的數(shù)值距離符合預設條件者;從參考節(jié)點中找出數(shù)值距離符合預設條件的兩定位參考節(jié)點;將要加入P2P網絡的目標節(jié)點,將其映射至介于兩定位參考節(jié)點的對應數(shù)值的目標數(shù)值,據(jù)以決定目標節(jié)點網絡位置;以及將目標節(jié)點的位置通知參考節(jié)點。本發(fā)明實施例的一種點對點(P2P)網絡系統(tǒng),包括多個節(jié)點,可加入或離開P2P網絡;其中,每一節(jié)點具有鄰居記錄表,鄰居記錄表最多記錄既定數(shù)量的節(jié)點,被記錄的既定數(shù)量的節(jié)點沿數(shù)值空間的數(shù)值增加或減少的方向其中之一而與節(jié)點相鄰近。節(jié)點分布管理裝置,包括映射單元,將P2P網絡中出現(xiàn)的所有節(jié)點的位置,分別映射至數(shù)值空間;搜尋單元,在數(shù)值空間找出沿數(shù)值方向分布的多個參考節(jié)點;參考節(jié)點中任兩連續(xù)的第一參考節(jié)點與第二參考節(jié)點中,第二參考節(jié)點為第一參考節(jié)點的鄰居記錄表中所記錄與第一參考節(jié)點的數(shù)值距離符合預設條件者;定位單元,從參考節(jié)點中找出數(shù)值距離符合該預設條件的兩定位參考節(jié)點,且對于要加入P2P網絡的目標節(jié)點,通過映射單元將其映射至介于兩定位參考節(jié)點的對應數(shù)值的目標數(shù)值,定位單元據(jù)以決定該目標節(jié)點網絡位置,及將目標節(jié)點的位置通知參考節(jié)點。
本發(fā)明實施例的一種計算機程序產品,用以被電子裝置載入以于點對點(P2P)網絡系統(tǒng)中執(zhí)行節(jié)點分布的方法P2P網絡系統(tǒng)包括多個節(jié)點,可加入或離開P2P網絡;其中,每一節(jié)點具有鄰居記錄表,鄰居記錄表最多記錄既定數(shù)量的節(jié)點,被記錄的既定數(shù)量的節(jié)點系沿數(shù)值空間的數(shù)值增加或減少的方向其中之一而與節(jié)點相鄰近。計算機程序產品包括第一程序代碼,用以將P2P網絡中出現(xiàn)的所有節(jié)點的位置,分別映射至數(shù)值空間;第二程序代碼,用以在數(shù)值空間找出沿數(shù)值方向分布的多個參考節(jié)點;參考節(jié)點中任兩連續(xù)的第一參考節(jié)點與第二參考節(jié)點中,第二參考節(jié)點為第一參考節(jié)點的鄰居記錄表中所記錄與第一參考節(jié)點的數(shù)值距離符合預設條件者;第三程序代碼,用以從等參考節(jié)點中找出數(shù)值距離符合該預設條件的兩定位參考節(jié)點,且對于要加入該P2P網絡的目標節(jié)點,將其映射至介于該兩定位參考節(jié)點的對應數(shù)值的目標數(shù)值,據(jù)以決定該目標節(jié)點網絡位置,及將該目標節(jié)點的位置通知參考節(jié)點。本發(fā)明上述方法可以通過程序代碼方式存在。當程序代碼被機器載入且執(zhí)行時,機器變成用以實行本發(fā)明的裝置及系統(tǒng)。為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖,詳細說明如下


圖I為一示意圖,顯示依據(jù)本發(fā)明實施例的節(jié)點加入的P2P網絡系統(tǒng)。圖2A為一示意圖,顯示依據(jù)本發(fā)明實施例的數(shù)值空間。圖2B為一示意圖,顯示依據(jù)本發(fā)明實施例的數(shù)值空間。圖3為一示意圖,顯示依據(jù)本發(fā)明實施例的節(jié)點分布管理裝置。圖4為一流程圖,顯示依據(jù)本發(fā)明實施例的搜尋程序。圖5A顯示一節(jié)點加入P2P網絡的例子。圖5B顯示圖4A中相應節(jié)點N加入P2P網絡的程序。圖5C顯示圖4B中相應節(jié)點N加入P2P網絡的程序。
圖顯示圖4C中相應節(jié)點N加入P2P網絡的位置。圖6為一流程圖,顯示依據(jù)本發(fā)明實施例的文檔對應及鏈結。圖7為一流程圖,顯示依據(jù)本發(fā)明實施例的節(jié)點查詢文檔。圖8為一顯示在本發(fā)明節(jié)點分布的方法的相似性查詢示意圖。圖9為一流程圖,顯示依據(jù)本發(fā)明實施例的負載平衡。圖10是顯示在本發(fā)明節(jié)點分布的方法能使節(jié)點分布達到平衡的示意圖。圖11 圖13是顯示節(jié)點離開后節(jié)點分布平均情形的示意圖。主要元件符號說明
100 P2P網絡系統(tǒng);110、120、130、140、150 節(jié)點;160 點對點網絡;300 節(jié)點分布管理裝置;310 映射單元;320 搜尋單元;330 定位單元;340 鏈結單元;350 查詢單元。
具體實施例方式為了讓本發(fā)明的目的、特征、及優(yōu)點能更明顯易懂,下文特舉優(yōu)選實施例,并配合附I至圖13,做詳細的說明。本發(fā)明說明書提供不同的實施例來說明本發(fā)明不同實施方式的技術特征。其中,實施例中的各元件的配置為說明之用,并非用以限制本發(fā)明。且實施例中圖式標號的部分重復,為了簡化說明,并非意指不同實施例之間的關聯(lián)性。本發(fā)明實施例公開了一種節(jié)點分布的方法與裝置,以及計算機程序產品。圖I顯示依據(jù)本發(fā)明實施例的節(jié)點加入的點對點(peer-to-peer, P2P)網絡系統(tǒng)的示意圖。在圖I中,P2P網絡系統(tǒng)100中可以包括多個節(jié)點(110、120、130、140、150)。每一節(jié)點間可通過一 P2P網絡160的架構并通過節(jié)點分布機制來進行文檔搜尋與分享。注意的是,節(jié)點分布機制會將P2P網絡中的每一節(jié)點先分別映射至表示為P2P網絡的一數(shù)值空間。如圖2所示,此數(shù)值空間可為任意范圍,例如,一 O π/2的1/4圓或一直線。而節(jié)點加入時,會沿一數(shù)值增加或減少的方向其中的一固定方向去作加入。每一節(jié)點分別具有一鄰居記錄表,鄰居記錄表最多記錄一既定數(shù)量的節(jié)點,被記錄的既定數(shù)量的節(jié)點系沿一數(shù)值增加或減少的方向其中之一而與該節(jié)點相鄰近。圖3顯示依據(jù)本發(fā)明實施例的節(jié)點分布管理裝置300。節(jié)點分布管理裝置300可以設置于各個節(jié)點或其他P2P的系統(tǒng)中,雖然本發(fā)明的節(jié)點分布方法以圖3的節(jié)點分布管理裝置300為例作說明,然而,本技術領域人士均可明了,本發(fā)明的節(jié)點分布管理裝置300及節(jié)點分布方法并非局限于此。節(jié)點分布管理裝置300可以至少包括一映射單元310、一搜尋單元320、一定位單元330、一鏈結單元340與一查詢單元350。其中,當一目標節(jié)點欲加入P2P網絡中時,搜尋單元320會進行一搜尋程序,用以在數(shù)值空間中找出沿數(shù)值方向分布的多個參考節(jié)點。在這些參考節(jié)點中任兩連續(xù)的一第一參考節(jié)點與一第二參考節(jié)點中,第二參考節(jié)點為第一參考節(jié)點的鄰居記錄表中所記錄與第一參考節(jié)點的數(shù)值距離符合一預設條件者,例如數(shù)值距離最大者。而從多個參考節(jié)點中找出數(shù)值距離符合預設條件的兩定位參考節(jié)點,并將目標節(jié)點映射至介于兩定位參考節(jié)點的對應數(shù)值的一目標數(shù)值,據(jù)以決定目標節(jié)點網絡位置,以及將目標節(jié)點的位置通知多個參考節(jié)點。映射單元310用以將本申請的節(jié)點映射至一數(shù)值空間,搜尋單元320用以執(zhí)行本申請的搜尋程序,定位單元330用以決定新加入目標節(jié)點在P2P網絡中的位置,鏈結單元340用以執(zhí)行文檔對應及鏈結程序及查詢單元350用以查詢一目標文檔,其細節(jié)將于后進行說明。圖4顯示依據(jù)本發(fā)明實施例的搜尋程序流程圖。在此實施例中,一目標節(jié)點記錄行進過的參考節(jié)點,并決定目標節(jié)點在P2P網絡中所加入的位置。如步驟S402,以P2P網絡中任一節(jié)點作為一起始節(jié)點。如步驟S404,目標節(jié)點找尋起始節(jié)點的起始鄰居記錄表中與起始節(jié)點的數(shù)值距離符合一預設條件的第一節(jié)點并記錄所行進的節(jié)點。如步驟S406,目標節(jié)點將起始節(jié)點及第一節(jié)點間符合預設條件的數(shù)值距離累加至一加總值。如步驟S408,判斷加總值是否超出數(shù)值空間的一范圍值。如果加總值 超出數(shù)值空間的范圍值(步驟S408的「是」),如步驟412,目標節(jié)點的鄰居記錄表將記錄行進過的參考節(jié)點并結束搜尋程序。在另一實施例中,預設條件為具有最大數(shù)值距離。值得注意的是,在一些實施例中,目標節(jié)點的鄰居記錄表可以僅記錄自己本身,以表示此目標節(jié)點在P2P網絡中找尋不到任何節(jié)點。如果加總值未超出數(shù)值空間的范圍值(步驟S408的「否」),如步驟S410,將第一節(jié)點及第一鄰居記錄表取代起始節(jié)點及起始鄰居記錄表,并以遞歸方式重復上述步驟S404和S406直到加總值等于或超出范圍值為止,而得到所行進過的參考節(jié)點。接著,一定位單元330從鄰居記錄表中記錄所行進過的參考節(jié)點中,找出具有最大數(shù)值距離的兩定位參考節(jié)點,且對于要加入P2P網絡的目標節(jié)點,通過映射單元310將其映射至介于兩定位參考節(jié)點的對應數(shù)值的一目標數(shù)值,定位單元330據(jù)以決定目標節(jié)點網絡位置并將目標標節(jié)點加入其位置,及將目標節(jié)點的位置通知所行進過的參考節(jié)點。舉一例子說明,圖5A是顯示一節(jié)點加入P2P網絡的例子。先將P2P網絡中出現(xiàn)的所有節(jié)點,分別映射至表示此P2P網絡的一數(shù)值空間。此數(shù)值空間例如為O π/2的一角度數(shù)值空間,其中范圍值為η/2,而節(jié)點加入時,會沿一數(shù)值增加或減少的方向其中的一固定方向去作加入,在此實施例中沿數(shù)值減少的方向進行。網絡中包括A D等節(jié)點,每一節(jié)點分別具有各自的鄰居記錄表。首先,一欲加入的節(jié)點N在P2P網絡中找尋一節(jié)點A,并找尋節(jié)點A中的鄰居記錄表中,與節(jié)點A數(shù)值距離符合一預設條件的節(jié)點C,在此例中預設條件為具有最大數(shù)值距離,并記錄行進的路線、節(jié)點及數(shù)值距離,并累加節(jié)點A與節(jié)點C的數(shù)值距離至一加總值Θ,如圖5B所示。接著,判斷加總值Θ是否大于數(shù)值空間的范圍值π/2。如果加總值Θ未超出范圍值π/2,節(jié)點N則繼續(xù)尋找表節(jié)點C的鄰居記錄表中與節(jié)點C具有最大數(shù)值距離的節(jié)點B,如圖5C所示,直到加總值超出或等于該范圍值π /2為止。接著,通過一定位單元330從節(jié)點N的鄰居記錄表中記錄所行進過的節(jié)點中,找出數(shù)值距離符合預設條件的兩定位節(jié)點(節(jié)點A及節(jié)點C),且對于要加入P2P網絡的節(jié)點N,通過映射單元將其映射至介于兩定位節(jié)點之間的一數(shù)值位置,在此實施例中,節(jié)點N將放置于兩定位A和C節(jié)點的中間位置(其對應的數(shù)值為A-(A-C) /2),如圖所示,將節(jié)點N的位置通知所行進過的節(jié)點。
圖6顯示依據(jù)本發(fā)明實施例的文檔對應及鏈結的流程圖。在此實施例中,目標節(jié)點在加入P2P網絡后,還進一步地進行文檔的對應及鏈結,以將文檔分享至P2P網絡中。一目標節(jié)點欲將文檔分享至P2P網絡中。如步驟S602,先將文檔轉換成映射至數(shù)值空間的映射角度值。其中,文檔進行轉換時,先擷取出文檔基于一第一特征值域F的第一特征值向量vz,再將第一特征值向量Vz根據(jù)一轉換函數(shù)映射成一角度值ω ζ,其轉換函數(shù)的一實施例表不如下f(vz') = ω2= cos 1,其中νζ,為νζ的正規(guī)化,If為第一特征值域F的向量。如步驟S604,從P2P網絡中所有節(jié)點中找出具有與映射角度值最接近的角度數(shù)值所對應的鏈結節(jié)點。如步驟S606,將文檔從目標節(jié)點鏈結至鏈結節(jié)點。值得注意的是,所有節(jié)點可以定時更新及重整所鏈結的文檔,以確保數(shù)據(jù)有鏈結到各個節(jié)點上。此外,本實施例的第一特征值域可為顏色直方圖(Color Histogram)、均勻結構(Homogeneous Texture)或區(qū)域形狀(Region Shape)等特 征值域,本領域技術人員可輕易了解。然而,除以上所述的角度數(shù)值空間及轉換函數(shù)外,本領域技術人員也可使用其他公知的數(shù)值空間及對應的轉換函數(shù)。圖7顯示依據(jù)本發(fā)明實施例的流程圖,說明在P2P網絡中任一節(jié)點欲查詢一目標文檔的步驟。一節(jié)點欲查詢一目標檔案。如步驟S702,將目標文檔根據(jù)一轉換函數(shù)轉換成映射至角度數(shù)值空間的一目標角度值。如步驟S704,從P2P網絡中的所有節(jié)點中,找出具有與目標角度值最接近的角度數(shù)值所對應的一查詢節(jié)點。如步驟S706,通過查詢節(jié)點查詢目標文檔。在一些實施例中,可將一文檔根據(jù)對應的轉換函數(shù)映射至對應的數(shù)值空間,例如,一直線。然而,除以上所述的角度數(shù)值空間及轉換函數(shù)外,本領域技術人員也可使用其他公知的數(shù)值空間及對應的轉換函數(shù)。在一些實施例中,可進一步地對文檔作相似性查詢。首先,P2P網絡中的任一節(jié)點欲查詢一目標文檔時,先將目標文檔轉換成映射至角度數(shù)值空間的一目標角度值,再從P2P網絡中所有節(jié)點中找出具有與目標角度值相差一既定差值范圍內的角度值所對應的至少一查詢節(jié)點,并通過至少一查詢節(jié)點查詢目標文檔。圖8顯示依據(jù)本發(fā)明實施例的相似性查詢示意圖,如圖所示,節(jié)點X被鏈結了五個文檔,各文檔內容(此實施例中為一圖像數(shù)據(jù))皆相同,則差異的原因便為圖像壓縮時的技術不同所造成。在傳統(tǒng)DHT網絡中,這些文檔即便內容相同,但因為哈希函數(shù)的特性,并不會被有意義的鏈結。而通過本發(fā)明依照特征值的映射,除了可以提供精確搜尋,還可以進一步達到相似度搜尋。在傳統(tǒng)DHT網絡中,某些文檔會因特征值相近,而鏈結至同一節(jié)點上。當上述文檔變熱門時,容易造成節(jié)點的負擔,無法發(fā)揮P2P網絡每個節(jié)點合作貢獻其資源的特性。然而,由于文檔依特征性分布,故不能將文檔任意轉鏈結至下一個節(jié)點,如果將文檔任意轉鏈結的結果便會造成這些鏈結成為無效鏈結,在執(zhí)行查詢時將無法再被查詢到。故通過本發(fā)明的機制,可在不失節(jié)點及文檔對應的特性下,達到負載平衡。圖9顯示依據(jù)本發(fā)明實施例的流程圖,說明在P2P網絡中,當一節(jié)點的鏈結負載過重時,而進行負載平衡的機制?!谝还?jié)點負載過重。如步驟S902,第一節(jié)點通過自身的第一鄰居記錄表告知表中所有鄰居節(jié)點一忙碌訊息。如果這些鄰居節(jié)點中的任一節(jié)點沒有檢測到新節(jié)點正嘗試加入P2P網絡中時(步驟S904的「否」),如步驟S906,這些鄰居節(jié)點將擴大告知自身的鄰居記錄表中所有鄰居節(jié)點此一忙碌訊息,直到任一節(jié)點檢測到新節(jié)點為止。如果這些鄰居節(jié)點中的任一節(jié)點檢測到新節(jié)點正嘗試加入P2P網絡中時(步驟S904的「是」),如步驟S908,將第一節(jié)點所鏈結的部分檔案改為鏈結至新節(jié)點。如步驟S910,第一節(jié)點告知鄰居記錄表中的每一節(jié)點撤消忙碌訊息。在一些實施例中,可進一步地在不同的特征值域及比較基準中,對文檔作多維度查詢。在多維度查詢中,每個特征值域皆有不同的查詢結果,可將這些結果進行交集、聯(lián)集或還進一步地過權重式比較取得最佳的搜尋結果。首先,將文檔根據(jù)一轉換函數(shù)進行轉換,擷取出文檔的基于第二特征值域的第二特征值向量,并將第二特征值向量映射成一第二角度值。從P2P網絡中所有節(jié)點中,找出具有與第二角度 值最接近的角度數(shù)值所對應的一第二鏈結節(jié)點;以及將文檔從該目標節(jié)點鏈結至第二鏈結節(jié)點。此外,維度的擴充還包括幾個特點無需從新排列每個節(jié)點的位置,因為節(jié)點已在每個特征值域中平均分布,故無須重新計算;維度在擴充時,系統(tǒng)轉換無需暫停服務且各節(jié)點除了上下傳寬頻、存儲空間外,也可分散運算的負擔,達到快速布署的效果。然而,除以上所述的特征值域及轉換函數(shù)外,本領域技術人員也可使用其他公知的特征值域及對應的轉換函數(shù)。在一些實施例中,當目標節(jié)點離開P2P網絡時,目標節(jié)點將其鄰居記錄表傳遞給與其具有最近數(shù)值距離的一遞補節(jié)點,且將原本鏈結至目標節(jié)點的文檔改為鏈結至遞補節(jié)點。值得注意的是,如果遞補節(jié)點的鄰居記錄表無法容納下這么多的記錄,則代表發(fā)生溢位。此時,遞補節(jié)點會將目標節(jié)點的鄰居記錄表與遞補節(jié)點的鄰居記錄表作整合,再將溢位的鄰居數(shù)據(jù)繼續(xù)往下傳送。在此模式下,有助于重整及更新鄰居記錄表,讓每一節(jié)點的鄰居記錄表保持其緊密度,即降低數(shù)據(jù)表中相鄰兩鄰居中間尚存在節(jié)點的情形。圖10是顯示在本發(fā)明節(jié)點分布的方法能使節(jié)點分布達到平衡的示意圖,利用本發(fā)明跳躍式的搜尋過程,毋需了解每個節(jié)點的分布,可節(jié)省許多運算,仍達到節(jié)點平均分布的優(yōu)點。圖11 圖13是顯示節(jié)點離開后節(jié)點分布平均情形的示意圖,由圖11 圖13可知,節(jié)點在離開后能有效的被填補,在讓節(jié)點的分布回到穩(wěn)定態(tài),達到節(jié)點平均分布。因此,通過本申請的節(jié)點分布的方法與裝置,可以使節(jié)點有意義及平均的分布于P2P網絡中,而進行文檔的查詢及分享。通過本申請的方法及裝置,不僅可以使節(jié)點查詢時,不受既定類別的條件限制,且容易調整查詢范圍。此外,文檔可依多維度獨立分布且比對的基準具可擴充性,在增加維度時,節(jié)點分布時間短,還可以在轉換時無須停止網絡的服務直到所有節(jié)點重新分布完成,可提升網絡服務的可適性。本發(fā)明的方法,或特定類型或其部分,可以以程序代碼的類型存在。程序代碼可以包含于物理介質,如軟盤、光盤、硬盤、或是任何其他電子設備或機器可讀取(如計算機可讀取)存儲介質,亦或不限于外在形式的計算機程序產品,其中,當程序代碼被機器,如計算機載入且執(zhí)行時,此機器變成用以參與本發(fā)明的裝置或系統(tǒng),且可執(zhí)行本發(fā)明的方法步驟。程序代碼也可以通過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸類型進行傳送,其中,當程序代碼被電子設備或機器,如計算機接收、載入且執(zhí)行時,此機器變成用以參與本發(fā)明的系統(tǒng)或裝置。當在一般用途處理單元實作時,程序代碼結合處理單元提供一操作類似于應用特定邏輯電路的獨特裝置。雖然本發(fā)明已以優(yōu)選實施例公開如上,然其并非用以限定本發(fā)明,本領域技術人員, 在不脫離本發(fā)明的精神和范圍內,當可做些許更動與潤飾,因此本發(fā)明的保護范圍當視所附權利要求書所界定者為準。
權利要求
1.一種節(jié)點分布的方法,用于點對點P2P網絡中,該方法包括 將該P2P網絡中出現(xiàn)的所有節(jié)點,分別映射至數(shù)值空間;每一這些節(jié)點具有鄰居記錄表,該鄰居記錄表最多記錄既定數(shù)量的節(jié)點,被記錄的該既定數(shù)量的節(jié)點沿數(shù)值增加或減少的方向其中之一而與該節(jié)點相鄰近; 進行搜尋程序,在該數(shù)值空間找出沿該數(shù)值方向分布的多個參考節(jié)點;這些參考節(jié)點中任兩連續(xù)的第一參考節(jié)點與第二參考節(jié)點中,該第二參考節(jié)點為該第一參考節(jié)點的鄰居記錄表中所記錄與該第一參考節(jié)點的數(shù)值距離符合預設條件者; 從這些參考節(jié)點中找出數(shù)值距離符合該預設條件的兩定位參考節(jié)點; 將要加入該P2P網絡的目標節(jié)點,將其映射至介于該兩定位參考節(jié)點之間對應數(shù)值的目標數(shù)值,據(jù)以決定該目標節(jié)點網絡位置;以及將該目標節(jié)點的位置通知這些參考節(jié)點。
2.如權利要求I所述的節(jié)點分布的方法,其中該搜尋程序包括 (a)以該P2P網絡中任一節(jié)點作為第三節(jié)點; (b)以該第三節(jié)點的第三鄰居記錄表,找出并記錄與該第三節(jié)點數(shù)值距離符合該預設條件的第四節(jié)點; (c)將該第三節(jié)點與該第四節(jié)點間符合該預設條件的數(shù)值距離累加得到加總值; (d)若該加總值未超出或等于該數(shù)值空間的范圍值時,以該第四節(jié)點及第四鄰居記錄表取代該第三節(jié)點及該第三鄰居記錄表,并以遞歸方式重復上述步驟(b)和(C)直到該加總值超出該范圍值,而得到這些參考節(jié)點。
3.如權利要求2所述的節(jié)點分布的方法,其中該數(shù)值空間為O π/2的角度數(shù)值空間,該范圍值為π/2。
4.如權利要求3所述的節(jié)點分布的方法, 其中該目標節(jié)點加入該P2P網絡后,還進一步進行文檔的對應及鏈結,以將該文檔分享至該P2P網絡,包括 將該文檔轉換成映射至該角度數(shù)值空間的映射角度值; 從該P2P網絡中所有節(jié)點中找出具有與該映射角度值最接近的角度數(shù)值所對應的鏈結節(jié)點;以及 將該文檔從該目標節(jié)點鏈結至該鏈結節(jié)點。
5.如權利要求4所述的節(jié)點分布的方法,其中將該文檔進行轉換,包括 擷取出該文檔的基于第一特征值域的第一特征值向量;以及 將該第特征值向量映射成角度值。
6.如權利要求5所述的節(jié)點分布的方法,其中轉換該文檔為角度值的轉換函數(shù)為
7.如權利要求4所述的節(jié)點分布的方法,其中該P2P網絡中的任一節(jié)點要查詢目標文檔時,進行如下步驟 將該目標文檔轉換成映射至該角度數(shù)值空間的目標角度值;從該P2P網絡中所有節(jié)點中找出具有與該目標角度值最接近的角度數(shù)值所對應的查詢節(jié)點;以及 通過該查詢節(jié)點查詢該目標文檔。
8.如權利要求4所述的節(jié)點分布的方法,其中該P2P網絡中的任一節(jié)點要查詢目標文檔時,進行如下步驟其中將該目標文檔轉換成映射至該角度數(shù)值空間的目標角度值; 從該P2P網絡中所有節(jié)點中找出具有與該目標角度值相差既定差值范圍內的角度值所對應的至少一查詢節(jié)點;以及 通過該至少一查詢節(jié)點查詢該目標文檔。
9.如權利要求I所述的節(jié)點分布的方法,其中,當該P2P網絡中的第一節(jié)點的鏈結負載過重時,進行如下步驟 該第一節(jié)點告知第一鄰居記錄表中所有鄰居節(jié)點忙碌訊息; 判斷這些鄰居節(jié)點中的任一節(jié)點是否檢測到有新節(jié)點正嘗試加入該P2P網絡中; 如果這些鄰居節(jié)點中的任一節(jié)點沒有檢測到該新節(jié)點正嘗試加入該P2P網絡中時,通過這些鄰居節(jié)點擴大告知自身的鄰居記錄表中所有鄰居節(jié)點該忙碌訊息;以及 如果這些鄰居節(jié)點中的任一節(jié)點有檢測到有該新節(jié)點正嘗試加入該P2P網絡中時,將該第一節(jié)點所鏈結的部分檔案鏈結至該新節(jié)點,該第一節(jié)點并告知該第一鄰居記錄表中的每一節(jié)點撤消該忙碌訊息。
10.如權利要求5所述的節(jié)點分布的方法, 其中將該文檔進行轉換,還包括 擷取出該文檔的基于第二特征值域的第二特征值向量; 將該第二特征值向量映射成第二角度值; 從該P2P網絡中所有節(jié)點中找出具有與該第二角度值最接近的角度數(shù)值所對應的第二鏈結節(jié)點;以及 將該文檔從該目標節(jié)點鏈結至該第二鏈結節(jié)點。
11.如權利要求I所述的節(jié)點分布的方法,其中當該目標節(jié)點離開該P2P網絡時,該目標節(jié)點將其鄰居記錄表傳給與其具有最近數(shù)值距離的遞補節(jié)點,且將原本鏈結至該目標節(jié)點的文檔改為鏈結至該遞補節(jié)點。
12.如權利要求I所述的節(jié)點分布的方法,其中該預設條件為具有最大數(shù)值距離。
13.一種點對點網絡系統(tǒng),包括 多個節(jié)點,可加入或離開該點對點網絡;其中,每一這些節(jié)點具有鄰居記錄表,該鄰居記錄表最多記錄既定數(shù)量的節(jié)點,被記錄的該既定數(shù)量的節(jié)點沿數(shù)值空間的數(shù)值增加或減少的方向其中之一而與該節(jié)點相鄰近; 節(jié)點分布管理裝置,包括 映射單元,將該點對點網絡中出現(xiàn)的所有節(jié)點的位置,分別映射至該數(shù)值空間; 搜尋單元,在該數(shù)值空間找出沿該數(shù)值方向分布的多個參考節(jié)點;這些參考節(jié)點中任兩連續(xù)的第一參考節(jié)點與第二參考節(jié)點中,該第二參考節(jié)點為該第一參考節(jié)點的鄰居記錄表中所記錄與該第一參考節(jié)點的數(shù)值距離符合預設條件者; 定位單元,從這些參考節(jié)點中找出數(shù)值距離符合該預設條件的兩定位參考節(jié)點,且對于要加入該點對點網絡的目標節(jié)點,通過該映射單元將其映射至介于該兩定位參考節(jié)點的對應數(shù)值的目標數(shù)值,該定位單元據(jù)以決定該目標節(jié)點網絡位置,及將該目標節(jié)點的位置通知這些參考節(jié)點。
14.如權利要求13所述的點對點網絡系統(tǒng),其中該搜尋單元執(zhí)行搜尋程序以找出沿該數(shù)值方向分布的這些參考節(jié)點,該搜尋程序包括 (a)以該點對點網絡中任一節(jié)點作為第三節(jié)點; (b)以該第三節(jié)點的第三鄰居記錄表,找出并記錄與該第三節(jié)點數(shù)值距離符合該預設條件的第四節(jié)點; (C)將該第三節(jié)點與該第四節(jié)點間符合該預設條件的數(shù)值距離累加得到加總值; (d)若該加總值未超出該數(shù)值空間的范圍值時,以該第四節(jié)點及第四鄰居記錄表取代該第三節(jié)點及該第三鄰居記錄表,并以遞歸方式重復上述步驟(b)和(C)直到該加總值超出或等于該范圍值,而得到這些參考節(jié)點。
15.如權利要求14所述的點對點網絡系統(tǒng),其中該數(shù)值空間為O π/2的角度數(shù)值空間,該范圍值為π/2。
16.如權利要求15所述的點對點網絡系統(tǒng),還包括鏈結單元,其中該目標節(jié)點加入該點對點網絡后,該鏈結單元還進一步進行文檔對應及鏈結程序,以將該文檔分享至該點對點網絡,該文檔對應及鏈結程序包括 將該文檔轉換成映射至該角度數(shù)值空間的映射角度值; 從該點對點網絡中所有節(jié)點中找出具有與該映射角度值最接近的角度數(shù)值所對應的鏈結節(jié)點;以及 將該文檔從該目標節(jié)點鏈結至該鏈結節(jié)點。
17.如權利要求16所述的點對點網絡系統(tǒng),其中將該文檔進行轉換,包括 擷取出該文檔的基于第一特征值域的第一特征值向量;以及 將該第一特征值向量映射成角度值。
18.如權利要求16所述的點對點網絡系統(tǒng),還包括查詢單元,其中該點對點網絡中的任一節(jié)點要查詢目標文檔時,通過該查詢單元進行如下步驟 將該目標文檔轉換成映射至該角度數(shù)值空間的目標角度值; 從該點對點網絡中所有節(jié)點中找出具有與該目標角度值最接近的角度數(shù)值所對應的查詢節(jié)點;以及 通過該查詢節(jié)點查詢該目標文檔。
19.如權利要求13所述的點對點網絡系統(tǒng),其中,當該點對點網絡中的第一節(jié)點的鏈結負載過重時,進行如下步驟 該第一節(jié)點告知第一鄰居記錄表中所有鄰居節(jié)點忙碌訊息; 判斷這些鄰居節(jié)點中的任一節(jié)點是否檢測到有新節(jié)點正嘗試加入該點對點網絡中; 如果這些鄰居節(jié)點中的任一節(jié)點沒有檢測到該新節(jié)點正嘗試加入該點對點網絡中時,通過這些鄰居節(jié)點擴大告知自身的鄰居記錄表中所有鄰居節(jié)點該忙碌訊息;以及 如果這些鄰居節(jié)點中的任一節(jié)點有檢測到有該新節(jié)點正嘗試加入該點對點網絡中時,將該第一節(jié)點所鏈結的部分檔案鏈結至該新節(jié)點,該第一節(jié)點并告知該第一鄰居記錄表中的每一節(jié)點撤消該忙碌訊息。
20.如權利要求17所述的點對點網絡系統(tǒng),其中將該文檔進行轉換,還包括擷取出該文檔的基于第二特征值域的第二特征值向量; 將該第二特征值向量映射成第二角度值; 從該點對點網絡中所有節(jié)點中找出具有與該第二角度值最接近的角度數(shù)值所對應的第二鏈結節(jié)點;以及 將該文檔從該目標節(jié)點鏈結至該第二鏈結節(jié)點。
21.如權利要求13所述的點對點網絡系統(tǒng),其中該預設條件為具有最大數(shù)值距離。
22.—種計算機程序產品,用以被電子裝置載入以于點對點P2P網絡系統(tǒng)中執(zhí)行節(jié)點分布的方法,該P2P網絡系統(tǒng),包括多個節(jié)點,可加入或離開該P2P網絡;其中,每一這些節(jié)點具有鄰居記錄表,該鄰居記錄表最多記錄既定數(shù)量的節(jié)點,被記錄的該既定數(shù)量的節(jié)點沿數(shù)值空間的數(shù)值增加或減少的方向其中之一而與該節(jié)點相鄰近; 該計算機程序產品,包括 第一程序代碼,用以將該P2P網絡中出現(xiàn)的所有節(jié)點,分別映射至該數(shù)值空間; 第二程序代碼,用以在該數(shù)值空間找出沿該數(shù)值方向分布的多個參考節(jié)點;這些參考節(jié)點中任兩連續(xù)的第一參考節(jié)點與第二參考節(jié)點中,該第二參考節(jié)點為該第一參考節(jié)點的鄰居記錄表中所記錄與該第一參考節(jié)點的數(shù)值距離符合預設條件者; 第三程序代碼,用以從這些參考節(jié)點中找出數(shù)值距離符合該預設條件的兩定位參考節(jié)點,且對于要加入該P2P網絡的目標節(jié)點,將其映射至介于該兩定位參考節(jié)點的對應數(shù)值的目標數(shù)值,據(jù)以決定該目標節(jié)點網絡位置,及將該目標節(jié)點的位置通知這些參考節(jié)點。
23.如權利要求22所述的計算機程序產品,其中該第二程序代碼更執(zhí)行以下步驟 (a)以該P2P網絡中任一節(jié)點作為第三節(jié)點; (b)以該第三節(jié)點的第三鄰居記錄表,找出并記錄與該第三節(jié)點數(shù)值距離符合該預設條件的第四節(jié)點; (c)將該第三節(jié)點與該第四節(jié)點間符合該預設條件的數(shù)值距離累加得到加總值; (d)若該加總值未超出該數(shù)值空間的范圍值時,以該第四節(jié)點及第四鄰居記錄表取代該第三節(jié)點及該第三鄰居記錄表,并以遞歸方式重復上述步驟(b)和(C)直到該加總值超出或等于該范圍值,而得到這些參考節(jié)點。
24.如權利要求23所述的計算機程序產品,其中該數(shù)值空間為O π/2的角度數(shù)值空間,該范圍值為π/2。
25.如權利要求24所述的計算機程序產品,其中該目標節(jié)點加入該P2P網絡后,還進一步進行文檔對應及鏈結,以將該文檔分享至該P2P網絡,包括 將該文檔轉換成映射至該角度數(shù)值空間的映射角度值; 從該P2P網絡中所有節(jié)點中找出具有與該映射角度值最接近的角度數(shù)值所對應的鏈結節(jié)點;以及 將該文檔從該目標節(jié)點鏈結至該鏈結節(jié)點。
26.如權利要求25所述的計算機程序產品,其中將該文檔進行轉換,包括 擷取出該文檔的基于第一特征值域的第一特征值向量;以及 將該第一特征值向量映射成角度值。
27.如權利要求25所述的計算機程序產品,其中該P2P網絡中的任一節(jié)點要查詢目標文檔時,進行如下步驟將該目標文檔轉換成映射至該角度數(shù)值空間的目標角度值; 從該P2P網絡中所有節(jié)點中找出具有與該目標角度值最接近的角度數(shù)值所對應的查詢節(jié)點;以及 通過該查詢節(jié)點查詢該目標文檔。
28.如權利要求22所述的計算機程序產品,其中,當該P2P網絡中的第一節(jié)點的鏈結負載過重時,進行如下步驟 該第一節(jié)點告知第一鄰居記錄表中所有鄰居節(jié)點忙碌訊息; 判斷這些鄰居節(jié)點中的任一節(jié)點是否檢測到有一新節(jié)點正嘗試加入該P2P網絡中; 如果這些鄰居節(jié)點中的任一節(jié)點沒有檢測到該新節(jié)點正嘗試加入該P2P網絡中時,通過這些鄰居節(jié)點擴大告知自身的鄰居記錄表中所有鄰居節(jié)點該忙碌訊息;以及 如果這些鄰居節(jié)點中的任一節(jié)點有檢測到有該新節(jié)點正嘗試加入該P2P網絡中時,將該第一節(jié)點所鏈結的部分檔案鏈結至該新節(jié)點,該第一節(jié)點并告知該第一鄰居記錄表中的每一節(jié)點撤消該忙碌訊息。
29.如權利要求26所述的計算機程序產品,其中將該文檔進行轉換,還包括 擷取出該文檔的基于第二特征值域的第二特征值向量; 將該第二特征值向量映射成第二角度值; 從該P2P網絡中所有節(jié)點中找出具有與該第二角度值最接近的角度數(shù)值所對應的第二鏈結節(jié)點;以及 將該文檔從該目標節(jié)點鏈結至該第二鏈結節(jié)點。
30.如權利要求22所述的計算機程序產品,其中該預設條件為具有最大數(shù)值距離。
全文摘要
一種節(jié)點分布的方法與裝置以及計算機程序產品。先將P2P網絡中出現(xiàn)的所有節(jié)點分別映射至一數(shù)值空間。每一節(jié)點具有鄰居記錄表,最多記錄既定數(shù)量的節(jié)點,被記錄的節(jié)點沿一既定數(shù)值方向而與起始節(jié)點相鄰近。接著,進行一搜尋程序,找出沿數(shù)值方向分布的多個參考節(jié)點。參考節(jié)點中任兩連續(xù)的第一參考節(jié)點與第二參考節(jié)點,其中第二參考節(jié)點為第一參考節(jié)點的鄰居記錄表中,與第一參考節(jié)點的數(shù)值距離符合預設條件者。再從參考節(jié)點中找出數(shù)值距離符合預設條件的兩定位參考節(jié)點,將欲加入的目標節(jié)點映射至介于兩定位參考節(jié)點間對應的目標數(shù)值,據(jù)以決定目標節(jié)點網絡位置。
文檔編號H04L29/08GK102821122SQ20111020029
公開日2012年12月12日 申請日期2011年7月18日 優(yōu)先權日2011年6月9日
發(fā)明者李宗杰, 高榮揚, 涂日升 申請人:財團法人工業(yè)技術研究院
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
鄂州市| 萨迦县| 太仓市| 晋中市| 榕江县| 都兰县| 舒兰市| 崇礼县| 射洪县| 全椒县| 安塞县| 巴塘县| 姚安县| 比如县| 岗巴县| 平安县| 萨迦县| 武宁县| 通州市| 清原| 屯昌县| 新田县| 永嘉县| 五寨县| 台中市| 独山县| 舞阳县| 金湖县| 皋兰县| 泗水县| 望都县| 梅州市| 顺平县| 凤城市| 甘孜县| 呼图壁县| 南阳市| 武隆县| 阿坝| 福建省| 徐闻县|