本發(fā)明屬于互聯(lián)網計算技術領域,尤其涉及一種移動點對點網絡MHP2P的架構及相關服務實現(xiàn)方法。
背景技術:
近幾年來,隨著點對點網絡(P2P)技術的迅速發(fā)展,基于點對點網絡技術的軟件受到了大量互聯(lián)網用戶的青睞?,F(xiàn)在一些國內比較流行的網絡軟件比如迅雷、騰訊QQ、eMule等都使用了P2P網絡技術。但隨著移動互聯(lián)網的發(fā)展和普及,移動P2P網絡服務特別是基于文件共享的移動P2P并未在移動P2P領域快速而全面的發(fā)展??紤]到移動互聯(lián)網的移動性對網絡拓撲結構的較大影響、資源定位算法的重要性和移動端自身有限的處理能力等情況,如何基于一種網絡穩(wěn)定性和查詢效率高、可擴展性強的網絡協(xié)議來實現(xiàn)移動P2P網絡服務是研究的熱點。開源的JXTA項目由SUN公司提出,基于半分布式架構,但系統(tǒng)的運行效率是其面臨的巨大挑戰(zhàn)。混合多層P2P網絡(HP2P-Hybrid Hierarchical P2P-Network)結合了結構化P2P和非結構化P2P各自的優(yōu)點,是一種穩(wěn)定性高、查詢效率高、可擴展的新型的P2P網絡。在HP2P中,P2P網絡中的結點首先按照群(Cluster)的方式進行組織,群內部結點按照IP相近的原則組織,其內部使用非結構化P2P的洪泛算法進行消息的傳遞,群內部擁有一定數(shù)目的超級結點,其中一個作為主超級結點,其它的作為次超級結點。只要群內有結點存在,該群就會長期穩(wěn)定存在。群之間組成一個結構化的網絡,使用改進的Chord作為上層網絡的組織結構。每個群在Chord上作為一個虛擬的結點存在,虛擬結點路由表的組織由群中的若干個超級結點共同維護,同時群內部結點與上層Chord網絡的通信都通過這些超級結點進行轉發(fā)。由于HP2P網絡是一種穩(wěn)定性高、查詢效率高、可擴展的新型的P2P網絡,所以基于HP2P網絡設計出一種可用于移動P2P網絡的可靠架構是HP2P網絡中研究的重點問題之一。
技術實現(xiàn)要素:
針對現(xiàn)有技術存在的問題,本發(fā)明提供了一種移動點對點網絡MHP2P的架構及相關服務實現(xiàn)方法。
本發(fā)明是這樣實現(xiàn)的,一種移動點對點網絡MHP2P的架構及相關服務實現(xiàn)方法,所述移動點對點網絡MHP2P的架構及相關服務實現(xiàn)方法基于一種穩(wěn)定性和查詢效率高、可擴展的HP2P網絡,通過普通結點作為熱點的形式使鄰近的移動結點連接到普通結點,每個普通結點看作附著在其上的移動結點的代理,通過代理來實現(xiàn)移動結點的資源發(fā)布、查詢下載和元數(shù)據(jù)冗余等服務,其次還包括移動結點自身對局部單點失效的處理服務。
進一步,所述基于一種穩(wěn)定性和查詢效率高、可擴展的HP2P網絡,結合了結構化P2P網絡和非結構化P2P網絡,組成一個兩層的結構。其中,上層是一個結構化的網絡,即Chord環(huán),下層是一個非結構化的網絡。HP2P網絡中的結點首先按照群(Cluster)的方式進行組織,群內部結點按照IP相近的原則組織,其內部使用非結構化P2P的洪泛算法進行消息的傳遞,群內部擁有一定數(shù)目的超級結點,其中一個作為主超級結點,其它的作為次超級結點。只要群內有結點存在,該群就會長期穩(wěn)定存在。群之間組成一個結構化的網絡,使用改進的Chord作為上層網絡的組織結構。每個群在Chord上作為一個虛擬的結點存在,虛擬結點路由表的組織由群中的若干個超級結點共同維護,同時群內部結點與上層Chord網絡的通信都通過這些超級結點進行轉發(fā)。
進一步,所述通過普通結點作為熱點的形式使鄰近的移動結點連接到普通結點,每個普通結點看作附著在其上的移動結點的代理,采用最簡單最容易實現(xiàn)的方式,即普通結點開啟WiFi熱點,移動結點通過連接熱點進而加入到MHP2P網絡中??紤]到移動結點處理能力可能不足的問題,每個移動結點都有一個父結點,移動結點的資源發(fā)布、查詢下載和元數(shù)據(jù)冗余等操作全部交由父結點來做,作為移動結點的代理。
進一步,所述通過代理來實現(xiàn)移動結點的資源發(fā)布包括以下步驟:
步驟一,移動結點MNi根據(jù)共享文件等資源信息生成元數(shù)據(jù),并將元數(shù)據(jù)信息發(fā)送給父結點ONi;
步驟二,父結點ONi將元數(shù)據(jù)信息發(fā)送給本群的超級結點SNi;
步驟三,超級結點SNi根據(jù)Chord協(xié)議定位存儲該元數(shù)據(jù)的群CLm,并將元數(shù)據(jù)信息發(fā)給該群的超級結點SNm;
步驟四,超級結點SNm通過洪泛的方式將元數(shù)據(jù)隨機洪泛給該群部分在線的普通結點;
步驟五,收到存儲元數(shù)據(jù)命令的普通結點存儲該元數(shù)據(jù),并與發(fā)布該元數(shù)據(jù)的移動結點的父結點建立資源聯(lián)系;
步驟六,父結點向該移動結點回復發(fā)布完成確認消息,移動結點資源發(fā)布完成。
進一步,所述通過代理來實現(xiàn)移動結點的資源查詢下載包括以下步驟:
步驟一,移動結點MNi根據(jù)查詢消息生成查詢請求,并將該查詢請求發(fā)送給父結點ONi;
步驟二,父結點ONi將查詢請求信息發(fā)送給本群的超級結點SNi;
步驟三,超級結點SNi根據(jù)Chord協(xié)議定位存儲該元數(shù)據(jù)的群CLm,并將查詢請求信息發(fā)送給該群的超級結點SNm;
步驟四,超級結點SNm通過洪泛的方式將查詢請求信息洪泛給該群部分在線的普通結點進行洪泛查找;
步驟五,如果沒有找到,則不做任何處理,由查詢結點通過超時機制進行判斷,移動結點資源查詢完成;如果找到,存儲該元數(shù)據(jù)的結點將元數(shù)據(jù)信息反饋給父結點;
步驟六,父結點再將收到的元數(shù)據(jù)信息反饋給子結點MNi;
步驟七,子結點MNi收到消息后,從元數(shù)據(jù)中提取相關信息與資源結點建立聯(lián)系,進行下載,移動結點資源查詢下載完成。
進一步,所述通過代理來實現(xiàn)移動結點的元數(shù)據(jù)冗余包括以下步驟:
步驟一,發(fā)布元數(shù)據(jù)時,資源結點MNi的父結點ONi獲取存儲該資源對應元數(shù)據(jù)的m個普通結點的信息;
步驟二,父結點ONi定期輪詢子結點,當子結點在線時,父結點ONi詢問對應子結點的m個元數(shù)據(jù)結點是否有效,如果其中有n個結點失效即冗余度小于m,則父結點ONi要求其中一個有效的元數(shù)據(jù)結點向其群中分發(fā)n份元數(shù)據(jù),使元數(shù)據(jù)冗余度達到m,并獲取這n個新元數(shù)據(jù)結點的信息;
步驟三,當子結點不在線時,父結點ONi通知存儲該資源所對應元數(shù)據(jù)的m個結點,它的資源結點MNi已經失效,則元數(shù)據(jù)結點就刪除該資源的元數(shù)據(jù),同時父結點刪除相應子結點的信息,移動結點元數(shù)據(jù)冗余完成。
進一步,所述移動結點的局部單點失效處理包括以下步驟:
步驟一,移動結點周期性地向父結點發(fā)送心跳消息,在超時范圍內收到父結點的回復則認為父結點正常,局部單點失效過程完成;否則當連續(xù)三次未收到父結點確認消息時,則認為父結點失效,轉到步驟二;
步驟二,移動結點從所保存的父結點的鄰居結點表中選擇一個在線的普通結點,并向其發(fā)送請求父結點消息,轉到步驟三;如果后備父結點表中的結點都不在線,轉到步驟四;
步驟三,新的父結點收到請求消息后,更新所擁有子結點表的信息并返回確認消息給發(fā)送請求的移動結點,移動結點更新父結點的相關信息,失效處理完成;
步驟四,移動結點從所保存的超級結點表中選擇一個在線的結點,并向其發(fā)送請求新的父結點的消息;
步驟五,超級結點收到請求新的父結點消息后,從鄰居結點表中隨機選擇一個在線的鄰居結點并將該鄰居結點的相關信息發(fā)送給請求的移動結點;
步驟六,移動結點收到超級結點返回的消息后,向新的父結點發(fā)送請求成為其子結點的消息;
步驟七,新的父結點收到請求消息后,更新所擁有子結點的信息并返回確認消息給發(fā)送請求的移動結點,移動結點更新父結點的相關信息,失效處理完成。
本發(fā)明的另一目的在于提供一種利用所述移動點對點網絡MHP2P的架構及相關服務實現(xiàn)方法的點對點網絡。
本發(fā)明的另一目的在于提供一種利用所述移動點對點網絡MHP2P的架構及相關服務實現(xiàn)方法的混合多層點對點網絡。
本發(fā)明提供的移動點對點網絡MHP2P的架構及相關服務實現(xiàn)方法,基于HP2P網絡的高穩(wěn)定性、高查詢效率、可擴展特性,解決了移動互聯(lián)網的移動性對網絡拓撲結構影響較大的問題;HP2P網絡上層的Chord環(huán)路由和下層的群洪泛,解決了移動互聯(lián)網中資源定位及查詢效率不高的問題;基于父結點的代理,實現(xiàn)了代碼重用,解決了移動結點由于處理能力可能不足的問題;普通結點作為熱點,給移動結點提供加入MHP2P網絡的入口,方式簡單,易于實現(xiàn)。
附圖說明
圖1是本發(fā)明實施例提供的移動點對點網絡MHP2P的架構及相關服務實現(xiàn)方法流程圖。
圖2是本發(fā)明實施例提供的移動點對點網絡MHP2P的整體架構圖。
圖3是本發(fā)明實施例提供的移動結點資源發(fā)布整體過程;其中圖3(a)是移動結點資源發(fā)布實現(xiàn)流程圖,圖3(b)是移動結點資源發(fā)布實現(xiàn)的拓撲簡圖。
圖4是本發(fā)明實施例提供的移動結點資源查詢下載整體過程;其中圖4(a)是移動結點資源查詢下載實現(xiàn)流程圖,圖4(b)是移動結點資源查詢下載實現(xiàn)的拓撲簡圖。
圖5是本發(fā)明實施例提供的移動結點元數(shù)據(jù)冗余整體過程;其中圖5(a)是移動結點元數(shù)據(jù)冗余過程流程圖,圖5(b)是父結點保存的子結點及其元數(shù)據(jù)的相關信息表。
圖6是本發(fā)明實施例提供的移動結點局部單點失效處理整體實現(xiàn)流程圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結合附圖對本發(fā)明的應用原理作詳細的描述。
如圖1所示,本發(fā)明實施例提供的移動點對點網絡MHP2P的架構及相關服務實現(xiàn)方法包括以下步驟:
S101:基于一種穩(wěn)定性和查詢效率高、可擴展的HP2P網絡,通過普通結點作為熱點的形式使鄰近的移動結點連接到普通結點,以使在原有網絡拓撲結構不變的情況下還可以較容易地融合移動結點;
S102:每個普通結點看作附著在其上的移動結點的代理,通過代理來實現(xiàn)移動結點的資源發(fā)布、查詢下載和元數(shù)據(jù)冗余等服務;其次還包括移動結點自身對局部單點失效的處理。
下面結合附圖對本發(fā)明的應用原理作進一步的描述。
如圖2所示,本發(fā)明實施例提供的移動點對點網絡MHP2P的相關服務實現(xiàn)方法基于圖2所示架構,網絡中的結點首先按照群(Cluster)的方式進行組織,群內部結點按照IP相近的原則組織,其內部使用非結構化P2P的洪泛算法進行消息的傳遞,群內部擁有一定數(shù)目的超級結點和若干普通結點,其中有一個主超級結點和若干次超級結點。群之間組成一個結構化的網絡,使用改進的Chord作為上層網絡的組織結構。每個群在Chord上作為一個虛擬的結點存在,虛擬結點路由表的組織由群中的若干個超級結點共同維護,同時群內部結點與上層Chord網絡的通信都通過這些超級結點進行轉發(fā)。通過普通結點作為熱點的形式使鄰近的移動結點連接到普通結點,每個普通結點看作附著在其上的移動結點的代理,通過代理來實現(xiàn)移動結點的資源發(fā)布、查詢下載和元數(shù)據(jù)冗余等服務,其次還包括移動結點自身對局部單點失效的處理等服務。
下面結合具體實施例對本發(fā)明的相關服務實現(xiàn)方法作進一步的描述。
實施例1:
如圖3(a)所示,其為該實施例中的移動結點通過代理來實現(xiàn)移動結點的資源發(fā)布過程流程圖。圖3(b)為該實施例中的移動結點通過代理來實現(xiàn)移動結點的資源發(fā)布過程的拓撲簡圖,其中的標號對應下述步驟中的編號。該實施例展示移動結點如何利用代理來發(fā)布資源,具體步驟如下:
步驟1:移動結點MNi(V4群中的某移動結點)根據(jù)共享文件等資源信息生成元數(shù)據(jù),這里我們假設Chord的命名空間為4bit,利用Hash函數(shù)來Hash資源的文件名得到ID值,即假設ID=13。移動結點將元數(shù)據(jù)信息(包括ID,資源結點地址,文件名,文件所屬路徑,文件大小等)進行封裝發(fā)送給父結點ONi;
步驟2:父結點ONi將元數(shù)據(jù)信息發(fā)送給本群的超級結點SNi;
步驟3:超級結點SNi根據(jù)Chord協(xié)議,利用ID通過查找路由表決定消息的下一跳,這里定位到V12這個群,然后將元數(shù)據(jù)信息發(fā)送給定位到的V12群的超級結點,以此類推直到定位到存儲該元數(shù)據(jù)的群CLm=V15,并將元數(shù)據(jù)信息發(fā)給該群的超級結點SNm;
步驟4:超級結點SNm通過洪泛的方式將元數(shù)據(jù)隨機洪泛給該群部分在線的普通結點;
步驟5:收到存儲元數(shù)據(jù)命令的普通結點存儲該元數(shù)據(jù),并與發(fā)布該元數(shù)據(jù)的移動結點的父結點建立資源聯(lián)系,即將本結點的地址等相關信息發(fā)送給父結點;
步驟6:父結點向該移動結點回復發(fā)布完成確認消息,移動結點資源發(fā)布完成。
實施例2:
如圖4(a)所示,其為該實施例中的移動結點通過代理來實現(xiàn)移動結點的資源查詢下載過程流程圖。圖4(b)為該實施例中的移動結點通過代理來實現(xiàn)移動結點的資源查詢下載過程的拓撲簡圖,其中的標號對應下述步驟的編號。該實施例展示移動結點如何利用代理來查詢下載資源,具體步驟如下:
步驟1:移動結點MNi(V8群中的某移動結點)根據(jù)查詢消息生成查詢請求,這里我們假設Chord的命名空間為仍為4bit,利用Hash函數(shù)來Hash查詢輸入的文件名得到ID值,即ID=2,并將該查詢請求(包括ID值)進行封裝發(fā)送給父結點ONi;
步驟2:父結點ONi將查詢請求信息發(fā)送給本群的超級結點SNi;
步驟3:超級結點SNi根據(jù)Chord協(xié)議,利用ID通過查找路由表決定消息的下一跳,這里定位到V0這個群,然后將查詢消息發(fā)送給定位到的V0群的超級結點,以此類推直到定位到存儲該元數(shù)據(jù)的群CLm=V3,并將查詢請求信息發(fā)送給該群的超級結點SNm;
步驟4:超級結點SNm通過洪泛的方式將查詢請求信息洪泛給該群部分在線的普通結點進行洪泛查找;
步驟5:如果沒有找到,則不做任何處理,由查詢結點通過超時機制進行判斷,移動結點資源查詢完成;如果找到,存儲該元數(shù)據(jù)的結點將元數(shù)據(jù)信息反饋給父結點;
步驟6:父結點再將收到的元數(shù)據(jù)信息反饋給子結點MNi;
步驟7:子結點MNi收到消息后,從元數(shù)據(jù)中提取相關信息與資源結點建立聯(lián)系,進行下載,移動結點資源查詢下載完成。
實施例3:
如圖5(a)所示,其為該實施例中的移動結點通過代理來實現(xiàn)移動結點的元數(shù)據(jù)冗余過程流程圖。該實施例展示移動結點如何利用代理來實現(xiàn)移動結點的元數(shù)據(jù)冗余,具體步驟如下:
步驟1:發(fā)布元數(shù)據(jù)時,資源結點MNi的父結點ONi獲取存儲該資源對應元數(shù)據(jù)的m個普通結點的信息,如圖5(b)。它是一張兩級表,一級存儲的是子結點的相關信息,其中ChildID表示子結點的編號,IP+Port是子結點的相關信息;二級存儲的是資源對應元數(shù)據(jù)的相關信息,其中MetaID表示元數(shù)據(jù)的編號,IP+Port是元數(shù)據(jù)結點的相關信息,存儲二級表的目的就是為了代理移動結點來進行元數(shù)據(jù)冗余;
步驟2:父結點ONi通過圖5(b)所示的表中的信息定期輪詢子結點。當子結點在線時,父結點ONi通過定期發(fā)送心跳消息詢問對應子結點的m個元數(shù)據(jù)結點是否有效,如果其中有n個結點連續(xù)三次沒有回復,則認為其失效,即冗余度小于m,則父結點ONi要求其中一個有效的元數(shù)據(jù)結點向其群中分發(fā)n份元數(shù)據(jù),使元數(shù)據(jù)冗余度達到m,并獲取這n個新元數(shù)據(jù)結點的信息,移動結點元數(shù)據(jù)冗余完成。
步驟3:當子結點不在線時,父結點ONi通知存儲該資源所對應元數(shù)據(jù)的m個結點,它的資源結點MNi已經失效,則元數(shù)據(jù)結點就刪除該資源的元數(shù)據(jù),同時父結點刪除相應子結點的信息,移動結點元數(shù)據(jù)冗余完成。
實施例4:
如圖6所示,其為該實施例中的移動結點實現(xiàn)局部單點失效過程流程圖。該實施例展示移動結點如何實現(xiàn)局部單點失效,具體步驟如下:
步驟1:移動結點周期性地向父結點發(fā)送心跳消息,在超時范圍內收到父結點的回復則認為父結點正常,局部單點失效過程完成;否則當連續(xù)三次未收到父結點確認消息時,則認為父結點失效,轉到步驟2;
步驟2:移動結點從所保存的父結點的鄰居結點表(又叫做后備父結點表)中選擇一個在線的普通結點,并向其發(fā)送請求父結點消息,轉到步驟3;如果后備父結點表中的結點都不在線,轉到步驟4;
步驟3:新的父結點收到請求消息后,更新所擁有子結點表的信息并返回確認消息給發(fā)送請求的移動結點,移動結點更新父結點的相關信息,失效處理完成。
步驟4:移動結點從所保存的超級結點表中選擇一個在線的結點,并向其發(fā)送請求新的父結點的消息;
步驟5:超級結點收到請求新的父結點消息后,從鄰居結點表中隨機選擇一個在線的鄰居結點并將該鄰居結點的相關信息發(fā)送給請求的移動結點;
步驟6:移動結點收到超級結點返回的消息后,向新的父結點發(fā)送請求成為其子結點的消息;
步驟7:新的父結點收到請求消息后,更新所擁有子結點的信息并返回確認消息給發(fā)送請求的移動結點,移動結點更新父結點的相關信息,失效處理完成。
與現(xiàn)有技術相比,本發(fā)明具有如下優(yōu)點以及顯著效果:
(1)基于HP2P網絡,它是一種穩(wěn)定性高、查詢效率高、可擴展的新型的P2P網絡。
(2)移動結點連接MHP2P網絡的方式簡單,易于實現(xiàn)。
(3)基于父結點的代理,解決了移動結點由于處理能力可能不足的問題,同時實現(xiàn)了代碼重用。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。