專利名稱::混雜式對等網(wǎng)絡環(huán)境下的通用資源管理方法
技術領域:
:本發(fā)明屬于計算機應用領域,是一種混雜式對等網(wǎng)絡環(huán)境中的通用資源管理方法。.
背景技術:
:對等網(wǎng)絡技術是近年來興起的一項利用終端桌面PC計算能力以及終端網(wǎng)絡帶寬在用戶之間進行文件共享的新技術,它具有使用靈活性、可擴展性、健壯性、負載均衡等諸多優(yōu)點,因此它同時也為流媒體服務、語音服務等一些網(wǎng)絡多媒體服務的普及提供了一種良好的技術基礎。基于對等網(wǎng)絡的節(jié)點能夠互相分享己有的數(shù)據(jù)而不用全部集中到單一服務器端獲取數(shù)據(jù),從而大大減輕了服務器和網(wǎng)絡的負擔。在基于對等網(wǎng)絡技術的服務中,數(shù)據(jù)不再從單一服務器獲取,用戶需要在網(wǎng)絡中采用分布式的方法維護自己的資源并搜索想要獲取的資源。目前,通過對等網(wǎng)絡技術進行資源維護和搜索主要有兩種方法一種是利用分布式哈希表(DistributedHashTable)有結構地組織用戶節(jié)點和共享的資源,然后通過哈希算法來進行資源的發(fā)布和搜索;另一種是采用洪泛(Flooding)請求的方法,不需要以一定結構組織節(jié)點,用戶在網(wǎng)絡中利用附近的節(jié)點將消息轉發(fā),擴散資源搜索消息,直到擁有資源的節(jié)點收到消息后回復給請求者。這兩種方法都存在自己的缺點分布式哈希表方法中資源維護的開銷非常大,不支持多鍵值搜索,并且容易受到網(wǎng)絡動態(tài)性的影響;洪泛請求在資源搜索過程中會產(chǎn)生較大的網(wǎng)絡流量,對于稀少資源的搜索效果很差?;祀s式的對等網(wǎng)絡則是一種折中方法,將網(wǎng)絡中的節(jié)點分為弱節(jié)點和強節(jié)點兩個層次,一個強節(jié)點管理一些弱節(jié)點,在強節(jié)點之間采用分布式哈希表方法維護和搜索資源,在弱節(jié)點間則采用洪泛請求的方法。目前,基于對等網(wǎng)絡技術的服務多采用混雜式的方法,但是這些服務本身都是封閉與獨立的,彼此之間存在大量重復的資源和操作步驟,因此,對于資源維護本身,造成了網(wǎng)絡帶寬和終端節(jié)點計算能力的浪費。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種混雜式對等網(wǎng)絡環(huán)境下的通用資源管理方法,該方法利用開放式的資源管理方法支持多種服務,減少了網(wǎng)絡帶寬和節(jié)點計算能力的浪費,并保證了系統(tǒng)的動態(tài)性和資源搜索的有效性。本發(fā)明提供的混雜式對等網(wǎng)絡環(huán)境下的通用資源管理方法,其步驟包括(1)結點P對自身的所有資源進行統(tǒng)一描述,將上層服務的內(nèi)部資源對應到通用資源描述上;(2)節(jié)點P按照下述流程加入到對等網(wǎng)絡中(2.1)初始化,默認結點P為弱節(jié)點;節(jié)點P連接啟動服務器,并獲取路標節(jié)點列表,路標節(jié)點是預先布置在網(wǎng)絡中不同地域的特定服務器,是用做建立網(wǎng)絡虛擬坐標系的參照點;(2.2)測量節(jié)點P與上述路標節(jié)點列表中各路標節(jié)點之間的網(wǎng)速,找到最近的路標節(jié)點LM[M],向路標節(jié)點LM[M]請求離節(jié)點P小于系統(tǒng)設定的閾值的節(jié)點組成的列表,作為強節(jié)點列表;如果該列表中存在離節(jié)點P延遲少于延遲閾值的強節(jié)點,進入步驟(2.3),否則轉入步驟(2.7);(2.3)節(jié)點P獲取的強節(jié)點列表中離節(jié)點P延遲少于延遲閾值的強節(jié)點的數(shù)目等于或多于三個時,進入步驟(2.4),否則進入步驟(2.6);(2.4)節(jié)點P和與其最近的強節(jié)點S建立強連接,如果節(jié)點S下所掛載的弱節(jié)點數(shù)目小于等于系統(tǒng)指定的上限值,則結點P與結點S建立TCP強鏈接,并選取兩個次近的強節(jié)點B1,B2作為自己的后備強節(jié)點,以UDP的通信方式保持聯(lián)系,進入步驟(3),否則進入步驟(2.5);(2.5)當結點S的掛載弱節(jié)點數(shù)目達到上述上限值時,結點S隨機通知節(jié)點P或者某個掛載在S下的弱節(jié)點Q轉變?yōu)閺姽?jié)點,進入步驟(2.7);(2.6)檢査節(jié)點P或者Q的帶寬、處理能力,如果滿足成為強節(jié)點的要求,進入步驟(2.7),否則轉入步驟(3);(2.7)提升節(jié)點P或者Q為強節(jié)點,該節(jié)點建立索引表,該索引表包括標識符哈希表和時間排序的雙向鏈表,該節(jié)點與其它各強節(jié)點合作維護一張分布式哈希表,同時加入其他強節(jié)點維護的一個延遲聚集的多解析環(huán)結構拓撲;(3)節(jié)點P根據(jù)管理操作不同,按照下述流程進行資源管理(3.1)判斷操作類型,如果是發(fā)布/刪除資源,進入步驟(3.2);如果是搜索資源,進入步驟(3.8);(3.2)判斷節(jié)點P是否為強節(jié)點,如果是,進入步驟(3.3);否則進入步驟(3.5);(3.3)節(jié)點P在索引表中建立/刪除標識符資源索引項;(3.4)節(jié)點P在分布式哈希表中發(fā)布/刪除資源,然后轉入步驟(3.17);(3.5)節(jié)點P向它的代理強節(jié)點S發(fā)送發(fā)布/刪除資源請求;(3.6)節(jié)點S收到節(jié)點P的發(fā)布/刪除請求后,在索引表中建立/刪除標識符資源索引項;(3.7)節(jié)點S在分布式哈希表中發(fā)布/刪除資源,然后轉入步驟(3.21);(3.8)判斷節(jié)點P是否為強節(jié)點,如果是,進入步驟(3.9),否則轉入步驟(3.13);(3.9)節(jié)點P在索引表中搜索,獲取搜索結果;(3.10)節(jié)點P在延遲聚集的多解析環(huán)結構拓撲上進行擴散搜索,等待擁有該資源的其他節(jié)點的響應信息,設置等待時間;節(jié)點P在分布式哈希表中搜索,等到擁有該資源的其他節(jié)點的響應信息;(3.11)當節(jié)點P收到響應消息時進入步驟(3.17),否則轉入步驟(3.12);(3.12)當節(jié)點P等待時間用完時進入步驟(3.17),否則轉入步驟(3.11);(3.13)節(jié)點P向它的代理節(jié)點S發(fā)送搜索資源請求;節(jié)點P進入等待搜索結果狀態(tài);節(jié)點S在索引表中搜索,獲取搜索結果,并將結果告訴給節(jié)點P;(3.14)節(jié)點S在延遲聚集的多解析環(huán)結構拓撲上進行擴散搜索,等待擁有該資源的其他節(jié)點的響應信息;節(jié)點S在分布式哈希表中搜索,等到擁有該資源的其他節(jié)點的響應信息;(3.15)當節(jié)點S收到響應消息時,告訴節(jié)點P,進入步驟(3.17),否則轉入步驟(3.16);(3.16)當節(jié)點S等待時間用完時,告訴節(jié)點P,進入步驟(3.17),否則轉入步驟(3.15);(3.17)根據(jù)用戶輸入,判斷是否需要結束資源管理,如果需要則結束,否則,返回步驟(3.1)進行下一步資源管理操作。本發(fā)明通過對資源進行通用描述標準的定義,使得資源的管理向多種基于對等網(wǎng)絡技術的服務開放。另外,本發(fā)明通過構建分布式哈希表與延遲聚集的多解析環(huán)狀拓撲相混雜的對等網(wǎng)絡環(huán)境,實現(xiàn)在動態(tài)網(wǎng)絡環(huán)境下對統(tǒng)一資源的有效管理。具體而言,本發(fā)明具有以下特點(1)資源管理的開放性無論是應用于哪種服務,本發(fā)明中所管理的資源只是抽象的資源描述,而基于這些描述,包括發(fā)布、搜索、刪除等管理操作產(chǎn)生的結果都是對資源的抽象,服務內(nèi)部再對這些抽象進行反向解析得到服務內(nèi)部的資源本身。因此,不同的服務不需要了解其他服務內(nèi)部的資源,而是遵循同樣的統(tǒng)一描述進行維護,從而保證了資源管理的開放性。(2)動態(tài)性在混雜式對等網(wǎng)絡環(huán)境中,弱節(jié)點會和自己的管理強節(jié)點保持強連接關系,同時會選取兩個后備強節(jié)點保持弱連接。如果弱節(jié)點離開系統(tǒng),強連接的強節(jié)點會知道連接斷開并以代理的身份動態(tài)維護資源變動狀況。反過來,如果強節(jié)點離開,那么弱節(jié)點就會在得知連接斷開后選取一個后備強節(jié)點作為管理者,并建立強連接。強節(jié)點自身也會在延遲聚集的多解析環(huán)狀拓撲中定時和最鄰近的其它強節(jié)點互通節(jié)點存活狀況,如果出現(xiàn)強節(jié)點離開的狀況,其他強節(jié)點會更新自己的環(huán)狀拓撲,并在擴散資源管理消息時不再發(fā)向已離去的節(jié)點。(3)有效性通用資源描述的定義是開放式的,因此可擴展地支持所有服務的資源類型。另外,通過混雜式對等網(wǎng)絡的構成和強節(jié)點的本地資源組織,實現(xiàn)了三級資源管理索引表管理,延遲聚集的多解析環(huán)狀拓撲管理和分布式哈希表管理,避免了對無效資源的搜索,避免了對熱門資源的哈希搜索,避免了對稀缺資源的洪泛搜索,并保證資源管理的有效性。圖1為本發(fā)明方法的主流程圖圖2為本發(fā)明方法的通用資源統(tǒng)一描述流程;圖3為本發(fā)明方法的混雜式拓撲示意圖4為本發(fā)明方法的節(jié)點加入流程;圖5為本發(fā)明方法的強節(jié)點資源索引表組織圖6為本發(fā)明方法的資源管理流程;圖7為本發(fā)明方法的資源發(fā)布的示意圖8為本發(fā)明方法的資源刪除的示意圖9為本發(fā)明方法的強節(jié)點搜索資源的示意圖IO為本發(fā)明方法的弱節(jié)點搜索資源的示意圖。具體實施例方式本發(fā)明針對對等網(wǎng)絡中的多種服務共有的資源管理需求,提出了一種混雜網(wǎng)絡環(huán)境下的通用資源管理方法,下面結合附圖和實例對本發(fā)明作詳細的說明。如圖1所示的是本方明方法中任一個節(jié)點P的主流程圖,節(jié)點P如果要在混雜室對等網(wǎng)絡環(huán)境下進行通用資源管理,必須要經(jīng)過以下幾個步驟(1)P必須先對自身的所有資源進行統(tǒng)一描述(圖2),將上層服務的內(nèi)部資源對應到通用資源描述上;(2)通過節(jié)點加入流程(圖4),P需要加入作為整個方法下部支撐的混雜式拓撲(圖3)。在加入混雜式拓撲后,節(jié)點P確定自己作為強節(jié)點還是弱節(jié)點的角色,之后再進入步驟(3);(3)該步驟則是資源管理流程(圖6)。通用資源管理的操作分別有資源發(fā)布、資源搜索與資源刪除三類。圖2就是節(jié)點P對內(nèi)部資源進行的統(tǒng)一資源描述流程。它通過提取內(nèi)部資源的各項特征,包括資源的名稱、內(nèi)容、容量大小、所屬服務的類型、標識符,再通過組合運算對應到通用資源描述的統(tǒng)一資源定位符、資源名稱、資源類型、資源內(nèi)容、內(nèi)容大小、內(nèi)容哈希值以及資源標簽幾個部分。具體實施步驟如下(1.1)節(jié)點P選擇一個本地資源,讀出該資源的名稱,所屬服務的類型以及容量大小;(1.2)如果該資源容量大小大于系統(tǒng)設定的閥值(50兆字節(jié)),進入步驟(1.3),否則轉入步驟(1.4);這個閥值是通過不斷實驗得到的,一個可以令系統(tǒng)開銷與資源特征抽取準確性達到平衡的最佳經(jīng)驗值;(1.3)節(jié)點P從資源內(nèi)隨機讀取大小為系統(tǒng)設定閥值的部分內(nèi)容,進入步驟(1.5);(1.4)節(jié)點P讀出資源的全部內(nèi)容;(1.5)節(jié)點P對讀出的內(nèi)容進行哈希運算,得到哈希值;(1.6)節(jié)點P讀出系統(tǒng)中不同服務在資源上添加的標識符;(1.7)節(jié)點P根據(jù)資源所屬于的服務以及哈希值,生成資源的統(tǒng)一定位符(URL);以某一文件共享服務為例,說明統(tǒng)一描述的過程。統(tǒng)一資源定位符被定義為"文件共享(服務類型)//地址:端口/文件名",在節(jié)點P只能發(fā)布不同名稱資源的前提下,定位符可以保證全局資源的唯一性。資源名稱就是文件名,資源服務類型就是文件共享,資源內(nèi)容是文件在資源容量的閥值(50兆字節(jié))以內(nèi)的內(nèi)容,內(nèi)容大小是文件長度,內(nèi)容哈希值是對資源內(nèi)容進行哈希運算后的結果,資源標識符是文件的標簽。如圖3所示,基于分布式哈希表與延遲聚集的多解析環(huán)結構組成的混雜式對等網(wǎng)絡構成了通用資源管理的支撐網(wǎng)絡。組成這個網(wǎng)絡的終端節(jié)點分為兩種,一種是強節(jié)點,如圖中編號1至6的節(jié)點;另一種是弱節(jié)點,如圖中編號7至9的節(jié)點。弱節(jié)點和強節(jié)點是根據(jù)終端的計算能力、網(wǎng)絡帶寬來以及在線時間來進行劃分的,目的是為了讓更有能力更穩(wěn)定的節(jié)點承擔較多的責任,增加網(wǎng)絡的穩(wěn)定性。因此,強節(jié)點的責任便是管理一部分弱節(jié)點,并代理弱節(jié)點來行使資源管理操作。在具體實施中,我們設置計算能力超過2GHZ,帶寬超過1Mbps并且平均在線時長達到2小時的節(jié)點可以作為強節(jié)點。圖中,弱節(jié)點7、8、9選取離它們延遲最小的強節(jié)點6作為資源管理操作的代理,并與6建立了強連接。此外,弱節(jié)點還會選取其他延遲最小的兩個強節(jié)點作為后備節(jié)點,并保持弱連接,如節(jié)點9選取了強節(jié)點2和5為后備。強節(jié)點之間通過分布式哈希表算法組織成一個大環(huán),將節(jié)點發(fā)布資源的索引散列在環(huán)上的所有節(jié)點之中,并可依據(jù)哈希算法進行精確査找。與此同時,強節(jié)點還各自維護了一個延遲聚集的多解析環(huán)結構拓撲,用來維護周圍的其他強節(jié)點并將它們按照網(wǎng)絡延遲的不同劃分在不同的環(huán)帶內(nèi)。(可參見專利申請"一種基于對等覆蓋網(wǎng)絡的游戲平臺系統(tǒng)",申請?zhí)?00710052729.3)。如圖3所示,節(jié)點5就在節(jié)點4的環(huán)帶中。具體實施中,我們將環(huán)帶邊界代表的延遲分別設置成15ms,50ms,100ms及300ms(這些環(huán)帶邊界的延遲閾值可以在一個可接受的范圍內(nèi)集體波動,但要保證其依次增大)。而組織一個如圖3所示的混雜式對等網(wǎng)絡環(huán)境,需要節(jié)點P按照如圖4所示的流程先加入整個拓撲,具體實施步驟如下(2.1)初始化,默認P為弱節(jié)點;(2.2)節(jié)點P連接啟動服務器,并獲取路標節(jié)點列表;路標節(jié)點(Landmark)是預先布置在網(wǎng)絡中不同地域的特定服務器,是用做建立網(wǎng)絡虛擬坐標系的參照點;任何一個節(jié)點可以通過與他們的測速,得到一個以網(wǎng)絡延遲為坐標值的虛擬坐標,并用這個坐標來度量該節(jié)點在網(wǎng)絡中的位置。假設有三個坐標點A、B、C,那么P如果和它們的網(wǎng)絡延遲分別為IO毫秒、20毫秒、5毫秒,那么P的網(wǎng)絡虛擬坐標就是(10,20,5)。如果路標節(jié)點數(shù)目越多,這個虛擬坐標的度量精度也就越高,不過考慮到路標節(jié)點的花費和坐標復雜度,實際部署的范圍應該在3到7個之間。(2.3)測量節(jié)點P與上述路標節(jié)點列表中各路標節(jié)點之間的網(wǎng)速,找到最近的路標節(jié)點LM[M],向路標節(jié)點LM[M]請求離節(jié)點P小于系統(tǒng)設定的路標閾值(其取值范圍一般為300400毫秒)的強節(jié)點列表;如果該列表中存在離節(jié)點P延遲少于延遲閾值(如設定為50毫秒)的強節(jié)點,進入步驟(2.4),否則轉入步驟(2.8);(2.4)節(jié)點P獲取的列表中離節(jié)點P延遲少于延遲閾值的強節(jié)點的數(shù)目等于或多于三個時,進入步驟(2.5),否則進入步驟(2.7);(2.5)節(jié)點P和最近的強節(jié)點S建立強連接,如果節(jié)點S下所掛載的弱節(jié)點數(shù)目小于等于上限(為系統(tǒng)指定值,至少為20個),則P與S建立TCP強連接,同時選取兩個次近的強節(jié)點Bl,B2作為自己的后備強節(jié)點,以UDP的通信方式保持聯(lián)系,進入步驟(3),否則進入步驟(2.6);挑選兩個后備節(jié)點是為了預防S突然離去,導致節(jié)點P的操作動蕩。(2.6)當節(jié)點S所連接的弱節(jié)點數(shù)目達到了上限,節(jié)點P或者某個連接在S下的弱節(jié)點Q會隨機被通知轉變?yōu)閺姽?jié)點,進入步驟(2.7);(2.7)檢查節(jié)點P或者Q的帶寬、處理能力,如果滿足成為強節(jié)點的要求(如帶寬大于或等于1兆比特/秒,并且處理能力大于或等于2吉赫茲),進入步驟(2.8),否則轉入步驟(3);(2.8)提升節(jié)點P或者Q為強節(jié)點,該節(jié)點建立索引表,該索引表包括標識符哈希表和時間排序的雙向鏈表,該節(jié)點與其它各強節(jié)點合作維護一張分布式哈希表,同時加入其他強節(jié)點維護的一個延遲聚集的多解析環(huán)結構拓撲;這樣,基于分布式哈希表與延遲聚集的多解析環(huán)結構拓撲的混雜式對等網(wǎng)絡就能建立起來。強節(jié)點是資源管理操作的代理者,它管理著所轄弱節(jié)點的資源信息,并且要支持發(fā)布、刪除以及多種搜索的資源操作,因此對于弱節(jié)點的資源信息如何進行索引與管理需要依賴于如圖5所示的數(shù)據(jù)結構。強節(jié)點的索引表依賴于統(tǒng)一資源描述的標識符來建立。首先將資源的各種標識符放入一張哈希表,哈希沖突的標識符項如圖中的標識符1、標識符2和標識符3用拉鏈法解決,并將擁有某種標識符的資源索引項放入該標識符的縱向列表中。資源索引所指向的資源描述另外通過一條時間相關的雙向鏈表來維護,被更新的資源會放入鏈頭,這樣,鏈尾的資源就是時間最久的,如果發(fā)生超時狀況,就可以從尾部往前移除。資源管理的流程圖如圖6所示,根據(jù)管理操作不同,劃分為資源發(fā)布、刪除與搜索三個子流程。而發(fā)布和刪除兩個操作由于是完全相對應的,所以流程幾乎一樣。強節(jié)點首先在本地的資源索引表中根據(jù)所操作資源的標識符添加資源索引(發(fā)布資源)或者移除資源索引(刪除資源),然后再在分布式哈希表中對遠端節(jié)點上的資源索引進行相應的添加或刪除操作。而弱節(jié)點則通過向自己的代理強節(jié)點發(fā)送請求的方法,由代理強節(jié)點依次完成本地資源索引表建立/移除以及分布式哈希表添加/移除的相應操作。節(jié)點P進行資源管理的形式化描述如下(3.1)判斷操作類型,如果是發(fā)布/刪除資源,進入步驟(3.2);如果是搜索資源,進入步驟(3.8);(3.2)判斷節(jié)點P是否為強節(jié)點,如果是,進入步驟(3.3);否則進入步驟(3.5);(3.3)節(jié)點P在索引表中建立/刪除標識符資源索引項;(3.4)節(jié)點P在分布式哈希表中發(fā)布/刪除資源,然后轉入步驟(3.21);(3.5)節(jié)點P向它的代理強節(jié)點S發(fā)送發(fā)布/刪除資源請求;(3.6)節(jié)點S收到節(jié)點P的發(fā)布/刪除請求后,在索引表中建立/刪除標識符資源索引項;(3.7)節(jié)點S在分布式哈希表中發(fā)布/刪除資源,然后轉入步驟(3.21);(3.8)判斷節(jié)點P是否為強節(jié)點,如果是,進入步驟(3.9),否則轉入步驟(3.13);(3.9)節(jié)點P在索引表中搜索,獲取搜索結果;(3.10)節(jié)點P在延遲聚集的多解析環(huán)結構拓撲上進行擴散搜索,等待擁有該資源的其他節(jié)點的響應信息,設置等待時間(為系統(tǒng)根據(jù)需求和承受能力決定的30秒以下的一個數(shù)值);節(jié)點P在分布式哈希表中搜索,等到擁有該資源的其他節(jié)點的響應信息;(3.11)當節(jié)點P收到響應消息時進入步驟(3.17),否則轉入步驟(3.12);(3.12)當節(jié)點P等待時間用完時進入步驟(3.17),否則轉入步驟(3.11);(3.13)節(jié)點P向它的代理節(jié)點S發(fā)送搜索資源請求;節(jié)點P進入等待搜索結果狀態(tài);節(jié)點S在索引表中搜索,獲取搜索結果,并將結果告訴給節(jié)點P;(3.14)節(jié)點S在延遲聚集的多解析環(huán)結構拓撲上進行擴散搜索,等待擁有該資源的其他節(jié)點的響應信息;節(jié)點S在分布式哈希表中搜索,等到擁有該資源的其他節(jié)點的響應信息;(3.15)當節(jié)點S收到響應消息時,告訴節(jié)點P,進入步驟(3.17),否則轉入步驟(3.16);(3.16)當節(jié)點S等待時間用完時,告訴節(jié)點P,進入步驟(3.17),否則轉入步驟(3.15);(3.17)根據(jù)用戶輸入,判斷是否需要結束資源管理,如果需要則結束,否則,返回步驟(3.1)進行下一步資源管理操作。圖7和圖8分別是資源發(fā)布與資源刪除的示意圖。圖中節(jié)點1到5是強節(jié)點,其余為弱節(jié)點,圖中把節(jié)點1到5連接起來的粗線代表了分布式哈希表,和強節(jié)點連接的云中的所有節(jié)點則是其管理的弱節(jié)點。圖7中強節(jié)點4發(fā)布資源的過程只有兩步在本地資源索引表中發(fā)布資源,在分布式哈希表中發(fā)布資源。弱節(jié)點7發(fā)布資源的過程有三步向其代理強節(jié)點3請求發(fā)布資源,節(jié)點3先在本地資源索引表中發(fā)布資源,再在分布式哈希表中發(fā)布資源。圖8所示的通用資源刪除過程與發(fā)布過程幾乎一致。強節(jié)點4刪除資源的過程有兩步在本地資源索引表中刪除資源,在分布式哈希表中刪除資源。弱節(jié)點7發(fā)布資源的過程有三布向其連接的強節(jié)點3請求刪除資源,節(jié)點3先在本地資源索引表中刪除資源,再在分布式哈希表中刪除資源。圖9所示的是強節(jié)點進行分布式搜索的示意圖,其中節(jié)點1到5是強節(jié)點,節(jié)點12、13、14、35互相在對方的環(huán)結構拓撲上,并且所有強節(jié)點都在分布式哈希表中。節(jié)點1是搜索資源的發(fā)起者,在搜索過程中其行為如下,這即是步驟3.10和3.11的詳細執(zhí)行過程(Al)節(jié)點1向周圍2,3,4三個強節(jié)點發(fā)送資源搜索請求,搜索請求包的生存時間是5;(A2)節(jié)點2收到資源搜索請求,發(fā)現(xiàn)除了節(jié)點1以外沒有其他強節(jié)點鄰居,不繼續(xù)洪范節(jié)點1的搜索請求;節(jié)點2搜索自己本地的哈希表,發(fā)現(xiàn)自己沒有節(jié)點l要搜索的資源,不返回任何信息;(A3)節(jié)點3收到資源搜索請求,把搜索請求包的生存時間減1,變?yōu)?,向節(jié)點5繼續(xù)發(fā)送該搜索請求包;節(jié)點3搜索自己本地的資源索引表,發(fā)現(xiàn)自己沒有節(jié)點l要搜索的資源,不返回任何信息;(A4)節(jié)點4處理情況和(A2)相同;(A5)節(jié)點5收到資源搜索請求,發(fā)現(xiàn)自己除了節(jié)點3以外沒有其他強節(jié)點鄰居,不繼續(xù)洪泛節(jié)點1的搜索請求;節(jié)點5搜索自己本地的資源索引表,發(fā)現(xiàn)節(jié)點l要搜索的資源,向節(jié)點l返回搜索結果。(A6)在分布式哈希表中,節(jié)點1通過哈希錄由算法向節(jié)點3發(fā)起搜索請求,節(jié)點3無節(jié)點1要搜索的資源,繼續(xù)基于哈希錄由算法向節(jié)點5傳播搜索請求;(A7)節(jié)點5收到搜索請求,直接向節(jié)點l返回要搜索的資源。圖IO所示的則是弱節(jié)點發(fā)起搜索請求的分布式過程,其中節(jié)點l、2、3、4、5是強節(jié)點,節(jié)點6是節(jié)點1代理的弱節(jié)點,節(jié)點12、13、14、35互相在對方的環(huán)狀網(wǎng)絡上。弱節(jié)點6搜索資源的過程如下,這即是(3.17)和(3:18)的詳細執(zhí)行過程(Bl)節(jié)點6向節(jié)點1發(fā)送搜索請求,搜索請求包的生存時間是5;(B2)節(jié)點l把搜索請求包的生存時間減l,變?yōu)?,向節(jié)點2、3、4發(fā)送資源搜索請求;節(jié)點1搜索自己本地的資源索引表,發(fā)現(xiàn)自己沒有節(jié)點6要搜索的資源,不返回任何信息;(B3)節(jié)點2收到資源搜索請求,發(fā)現(xiàn)除.了節(jié)點1以外沒有其他強節(jié)點鄰居,不繼續(xù)洪范節(jié)點6的搜索請求;節(jié)點2搜索自己本地的資源索引表,發(fā)現(xiàn)自己沒有節(jié)點6要搜索的資源,不返回任何信息;(B4)節(jié)點3收到資源搜索請求,把搜索請求包的生存時間減1,變?yōu)?,向節(jié)點5繼續(xù)發(fā)送該搜索請求包;節(jié)點3搜索自己本地的資源索引表,發(fā)現(xiàn)自己沒有節(jié)點6要搜索的資源,不返回任何信息;(B5)節(jié)點4處理情況和(2)相同;(B6)節(jié)點5收到資源搜索請求,發(fā)現(xiàn)自己除了節(jié)點3以外沒有其他強節(jié)點鄰居,不繼續(xù)洪范節(jié)點6的搜索請求;節(jié)點5搜索自己本地的資源索引表,發(fā)現(xiàn)節(jié)點6要搜索的資源,向節(jié)點6返回搜索結果。(B7)在分布式哈希表中,節(jié)點1向節(jié)點3發(fā)起搜索請求,節(jié)點3無節(jié)點6要搜索的資源,繼續(xù)向節(jié)點5傳播搜索請求;(B8)節(jié)點5收到搜索請求,直接向節(jié)點6返回要搜索的資源。實例利用本發(fā)明所闡述的混雜式對等網(wǎng)絡環(huán)境下的通用資源管理方法,實驗室提供了1個啟動服務器,三個路標服務器,以及10臺普通PC機,每臺PC按照泊松分布的規(guī)律加入拓撲組織,然后在每臺PC上同時運行即時通信和文件共享兩種基于對等網(wǎng)絡技術的服務。PC機的硬件配置如下<table>tableseeoriginaldocumentpage16</column></row><table>PCI—IO分別稱為節(jié)點1、節(jié)點2......節(jié)點10。本實例中所選用的各個常數(shù)閾值如下資源容量閾值為50兆字節(jié);多解析環(huán)結構拓撲的環(huán)帶邊界代表的延遲分別設置成15毫秒,50毫秒,100毫秒及300毫秒;路標延遲閾值為300毫秒;延遲閾值為50毫秒;強節(jié)點能掛載的弱節(jié)點數(shù)量上限為20個;成為強節(jié)點的要求是帶寬大于或等于1兆比特/秒,并且處理能力大于或等于2吉赫茲;等待時間是30秒?;祀s式對等網(wǎng)絡環(huán)境的建立及其中通用資源管理方法的實例操作如下(1)建立啟動服務器啟動服務器在8000端口進行TCP監(jiān)聽,并在9000端口保持UDP準備狀態(tài)。在路標服務器和終端節(jié)點啟動的時候都要登陸啟動服務器,啟動服務器維護了一張路標服務器的表,記錄了路標服務器的ID和IP地址。當客戶端節(jié)點連接啟動服務器的時候,啟動服務器會把表內(nèi)的路標節(jié)點信息返回給客戶端。(2)建立路標服務器路標服務器在9100端口保持UDP準備狀態(tài),并在啟動后連接啟動服務器,啟動服務器記錄了路標服務器1、2、3的ID和IP地址。當終端節(jié)點啟動并通過啟動服務器得到路標服務器地址后,會向所有的路標服務器進行測速。路標服務器會以自己為中心,維護一個延遲聚集的多解析環(huán)結構拓撲,將測速過的強節(jié)點按照延遲維護在延遲環(huán)帶中,當新的終端測速后,路標節(jié)點會在環(huán)帶內(nèi)尋找和新節(jié)點臨近的強節(jié)點,并回復給新加入節(jié)點。(3)終端節(jié)點的加入某時刻,根據(jù)泊松分布的規(guī)律,啟動終端節(jié)點1到節(jié)點10,加入混雜式拓撲。節(jié)點1作為第一個啟動的節(jié)點,它會先通過啟動服務器得到路標服務器l、2、3,測速后,發(fā)現(xiàn)離路標服務器2最近,并且沒有回復的強節(jié)點,于是作為拓撲中的第一個節(jié)點自動提升為強節(jié)點,并在路標服務器2中登記。后面的節(jié)點加入后,形成了如圖2所示的混雜式對等網(wǎng)絡環(huán)境,另外節(jié)點10作為弱節(jié)點由強節(jié)點5所管理。(4)通用資源管理操作所有的節(jié)點上都同時運行了即時通信和文件共享兩種服務,即時通信服務的資源是服務的用戶資料,而文件共享的資源則是文件。通過統(tǒng)一資源描述符的定義抽取,使通信的用戶資料按照(用戶ID,資源名稱},{即時通信,服務類型},{昵稱,資源標識符},{即時通信://用戶位置/用戶ID,統(tǒng)一資源定位符}一一對應的方式建立資源描述;文件共享的文件則按照{(diào)文件名稱,資源名稱},{文件共享,服務類型},{文件內(nèi)容,資源內(nèi)容},{文件共享://文件位置/文件名稱,統(tǒng)一資源定位符},{文件的標簽,資源標識符}的方式建立資源描述。節(jié)點8登陸即時通信服務時,會通過弱節(jié)點資源發(fā)布過程將自己的用戶資料作為通用資源,經(jīng)由強節(jié)點6發(fā)布,然后根據(jù)好友列表的信息,在混雜式對等網(wǎng)絡環(huán)境中搜索好友節(jié)點9,1,3。如果好友節(jié)點9,3上線,在混雜式的對等網(wǎng)絡環(huán)境中則會存在他們的用戶資料,他們的網(wǎng)絡IP位置便可以被搜索到。節(jié)點9在節(jié)點6的本地索引中,節(jié)點3和節(jié)點6在同一個分布式哈希表中,當節(jié)點8通過搜索知道9和3的位置時,即時通信的服務功能便可以實現(xiàn)。如果節(jié)點8登出,則可以把自己的用戶資料在混雜式網(wǎng)絡環(huán)境中刪除節(jié)點l運用文件共享服務,共享一個歌星A演唱的熱門歌曲B時,會將基于文件構建的通用資源統(tǒng)一描述發(fā)布到分布式哈希表中,同時本地也會將這個資源描述加入索引表。節(jié)點9在搜索這個歌曲時,采用了標簽關鍵字"A"的模糊搜索。代理強節(jié)點6先在延遲聚集的多解析環(huán)結構拓撲中采用洪泛式的搜索,環(huán)中的節(jié)點1和節(jié)點2,都有歌星A這個標簽標識符,節(jié)點2不只有歌曲B,還有歌曲D,節(jié)點2的環(huán)中節(jié)點3也有這個標簽的資源電影C,但是節(jié)點3突然離線,在搜索過程中節(jié)點2沒有把搜索請求轉發(fā)給已經(jīng)離線的節(jié)點3,故只返回了節(jié)點1和2的資源,歌曲B和D。經(jīng)多次測試,采用本發(fā)明所論述的混雜式對等環(huán)境下的通用資源管理方法,可以支持多種基于對等網(wǎng)絡技術的服務,并且能夠有效實現(xiàn)資源的發(fā)布、刪除以及精確、模糊搜索,同時對于網(wǎng)絡的動態(tài)性有很好的適應性。權利要求1、一種混雜式對等網(wǎng)絡環(huán)境下的通用資源管理方法,其步驟包括(1)結點P對自身的所有資源進行統(tǒng)一描述,將上層服務的內(nèi)部資源對應到通用資源描述上;(2)節(jié)點P按照下述流程加入到對等網(wǎng)絡中(2.1)初始化,默認結點P為弱節(jié)點;節(jié)點P連接啟動服務器,并獲取路標節(jié)點列表,路標節(jié)點是預先布置在網(wǎng)絡中不同地域的特定服務器,是用做建立網(wǎng)絡虛擬坐標系的參照點;(2.2)測量節(jié)點P與上述路標節(jié)點列表中各路標節(jié)點之間的網(wǎng)速,找到最近的路標節(jié)點LM[M],向路標節(jié)點LM[M]請求離節(jié)點P小于系統(tǒng)設定的閾值的節(jié)點組成的列表,作為強節(jié)點列表;如果該列表中存在離節(jié)點P延遲少于延遲閾值的強節(jié)點,進入步驟(2.3),否則轉入步驟(2.7);(2.3)節(jié)點P獲取的強節(jié)點列表中離節(jié)點P延遲少于延遲閾值的強節(jié)點的數(shù)目等于或多于三個時,進入步驟(2.4),否則進入步驟(2.6);(2.4)節(jié)點P和與其最近的強節(jié)點S建立強連接,如果節(jié)點S下所掛載的弱節(jié)點數(shù)目小于等于系統(tǒng)指定的上限值,則結點P與結點S建立TCP強鏈接,并選取兩個次近的強節(jié)點B1,B2作為自己的后備強節(jié)點,以UDP的通信方式保持聯(lián)系,進入步驟(3),否則進入步驟(2.5);(2.5)當結點S的掛載弱節(jié)點數(shù)目達到上述上限值時,結點S隨機通知節(jié)點P或者某個掛載在S下的弱節(jié)點Q轉變?yōu)閺姽?jié)點,進入步驟(2.7);(2.6)檢查節(jié)點P或者Q的帶寬、處理能力,如果滿足成為強節(jié)點的要求,進入步驟(2.7),否則轉入步驟(3);(2.7)提升節(jié)點P或者Q為強節(jié)點,該節(jié)點建立索引表,該索引表包括標識符哈希表和時間排序的雙向鏈表,該節(jié)點與其它各強節(jié)點合作維護一張分布式哈希表,同時加入其他強節(jié)點維護的一個延遲聚集的多解析環(huán)結構拓撲;(3)節(jié)點P根據(jù)管理操作不同,按照下述流程進行資源管理(3.1)判斷操作類型,如果是發(fā)布/刪除資源,進入步驟(3.2);如果是搜索資源,進入步驟(3.8);(3.2)判斷節(jié)點P是否為強節(jié)點,如果是,進入步驟(3.3);否則進入步驟(3.5);(3.3)節(jié)點P在索引表中建立/刪除標識符資源索引項;(3.4)節(jié)點P在分布式哈希表中發(fā)布/刪除資源,然后轉入步驟(3.17);(3.5)節(jié)點P向它的代理強節(jié)點S發(fā)送發(fā)布/刪除資源請求;(3.6)節(jié)點S收到節(jié)點P的發(fā)布/刪除請求后,在索引表中建立/刪除標識符資源索引項;(3.7)節(jié)點S在分布式哈希表中發(fā)布/刪除資源,然后轉入步驟(3.21);(3.8)判斷節(jié)點P是否為強節(jié)點,如果是,進入步驟(3.9),否則轉入步驟(3.13);(3.9)節(jié)點P在索引表中搜索,獲取搜索結果;(3.10)節(jié)點P在延遲聚集的多解析環(huán)結構拓撲上進行擴散搜索,等待擁有該資源的其他節(jié)點的響應信息,設置等待時間;節(jié)點P在分布式哈希表中搜索,等到擁有該資源的其他節(jié)點的響應信息;(3.11)當節(jié)點P收到響應消息時進入步驟(3.17),否則轉入步驟(3.12);(3.12)當節(jié)點P等待時間用完時進入步驟(3.17),否則轉入步驟(3.11);(3.13)節(jié)點P向它的代理節(jié)點S發(fā)送搜索資源請求;節(jié)點P進入等待搜索結果狀態(tài);節(jié)點S在索引表中搜索,獲取搜索結果,并將結果告訴給節(jié)點P;(3.14)節(jié)點S在延遲聚集的多解析環(huán)結構拓撲上進行擴散搜索,等待擁有該資源的其他節(jié)點的響應信息;節(jié)點S在分布式哈希表中搜索,等到擁有該資源的其他節(jié)點的響應信息;(3.15)當節(jié)點S收到響應消息時,告訴節(jié)點P,進入步驟(3.17),否則轉入步驟(3.16);(3.16)當節(jié)點S等待時間用完時,告訴節(jié)點P,進入步驟(3.17),否則轉入步驟(3.15);(3.17)根據(jù)用戶輸入,判斷是否需要結束資源管理,如果需要則結束,否則,返回步驟(3.1)進行下一步資源管理操作。2、根據(jù)權利要求l所述的通用資源管理方法,其特征在于步驟(1)按照下述步驟描述所有資源(1.1)節(jié)點P選擇一個本地資源,讀出該資源的名稱,所屬服務的類型以及容量大??;(1.2)如果該資源容量大小大于系統(tǒng)設定的閥值,進入步驟(1.3),否則轉入步驟(1.4);(1.3)節(jié)點P從資源內(nèi)隨機讀取大小為系統(tǒng)設定閥值的部分內(nèi)容,進入步驟(1.5);(1.4)節(jié)點P讀出資源的全部內(nèi)容;(1.5)節(jié)點P對讀出的內(nèi)容進行哈希運算,得到哈希值;(1.6)節(jié)點P讀出系統(tǒng)中不同服務在資源上添加的標識符;(1.7)節(jié)點P根據(jù)資源所屬于的服務以及哈希值,生成資源的統(tǒng)一定位符。全文摘要本發(fā)明公開了一種混雜式對等網(wǎng)絡環(huán)境下的通用資源管理方法,步驟為①結點P對其所有資源進行統(tǒng)一描述,將上層服務的內(nèi)部資源對應到通用資源描述上;②節(jié)點P加入到混雜式拓撲中,再確定自己作為強節(jié)點還是弱節(jié)點的角色;③節(jié)點P根據(jù)管理操作不同,分別進行資源發(fā)布、資源搜索或資源刪除。本發(fā)明通過對資源進行通用描述標準的定義,使得資源的管理向多種基于對等網(wǎng)絡技術的服務開放。另外,本發(fā)明通過構建分布式哈希表與延遲聚集的多解析環(huán)狀拓撲相混雜的對等網(wǎng)絡環(huán)境,實現(xiàn)在動態(tài)網(wǎng)絡環(huán)境下對統(tǒng)一資源的有效管理。本發(fā)明利用開放式的資源管理方法支持多種服務,減少了網(wǎng)絡帶寬和節(jié)點計算能力的浪費,并保證了系統(tǒng)的動態(tài)性和資源搜索的有效性。文檔編號H04L12/46GK101184016SQ20071016872公開日2008年5月21日申請日期2007年12月10日優(yōu)先權日2007年12月10日發(fā)明者劉三民,宏姚,廖小飛,張亞霏,竺麗麗,海金,陳鎮(zhèn)光,琦黃申請人:華中科技大學