專利名稱::基于混合式結(jié)構(gòu)化對等網(wǎng)絡(luò)的自組織方法
技術(shù)領(lǐng)域:
:本發(fā)明是建立一個混合式結(jié)構(gòu)化的對等網(wǎng)絡(luò),該網(wǎng)絡(luò)充分考慮了節(jié)點性能之間的差異,具有很強的自組織性,可管理性和擴張性,并在該網(wǎng)絡(luò)運行維護過程中實現(xiàn)自組織策略。
背景技術(shù):
:互聯(lián)網(wǎng)中對等網(wǎng)絡(luò)(P2P)的應(yīng)用已成為互聯(lián)網(wǎng)的主要應(yīng)用之一,P2P的模式也成為許多新型業(yè)務(wù)的首選模式,P2P己經(jīng)對整個互聯(lián)網(wǎng)業(yè)務(wù)模式和監(jiān)管機制產(chǎn)生了重要的影響。P2P技術(shù)被廣泛應(yīng)用于文件共享、網(wǎng)絡(luò)視頻、網(wǎng)絡(luò)電話、網(wǎng)絡(luò)游戲等領(lǐng)域,以分布式資源共享和并行傳輸?shù)奶攸c,為用戶提供了更多的資源、更高的可用帶寬以及更好的服務(wù)質(zhì)量。P2P節(jié)點不依賴中心節(jié)點而是依靠網(wǎng)絡(luò)邊緣節(jié)點,實現(xiàn)自組織與對等協(xié)作的資源發(fā)現(xiàn)和共享,因此擁有自組織、可擴展性、魯棒性、容錯性以及負載均衡等優(yōu)點。P2P應(yīng)用所產(chǎn)生的流量具有上下行流量對稱、流量隱蔽、數(shù)據(jù)集中等特性。目前P2P應(yīng)用種類多、形式多樣,沒有統(tǒng)一的網(wǎng)絡(luò)協(xié)議標準,其體系結(jié)構(gòu)和組織形式也在不斷發(fā)展。P2P體系結(jié)構(gòu)的發(fā)展已經(jīng)歷了三代第一代集中式的P2P結(jié)構(gòu)整個網(wǎng)絡(luò)有一個集中的服務(wù)器,負責(zé)存儲P2P網(wǎng)絡(luò)的資源目錄;每個節(jié)點將共享資源發(fā)布到服務(wù)器,服務(wù)器將資源檢索結(jié)果返回給節(jié)點,節(jié)點根據(jù)返回結(jié)果與其它節(jié)點通信,提供點對點的服務(wù),典型的P2P應(yīng)用軟件如Napster。第二代P2P是一種完全無中心的分布式網(wǎng)絡(luò)節(jié)點檢索資源采用洪泛的方法,并針傳統(tǒng)的査找方式,提出了結(jié)構(gòu)化P2P網(wǎng)絡(luò),使用哈希算法等方式完成分布式結(jié)構(gòu)化網(wǎng)絡(luò)功能。第三代P2P是一種混合式的體系結(jié)構(gòu),同時具備前兩代體系結(jié)構(gòu)高效性和容錯性的優(yōu)點,是目前研究和發(fā)展的主要方面。當(dāng)前P2P還沒有一個統(tǒng)一的網(wǎng)絡(luò)協(xié)議標準,已有的混合式P2P融合了集中式P2P和分布式P2P的特點,但也弱化了P2P網(wǎng)絡(luò)的自組織特性,網(wǎng)絡(luò)的動態(tài)適應(yīng)性受到了限制。
發(fā)明內(nèi)容技術(shù)問題本發(fā)明的目的是提出基于混合式結(jié)構(gòu)化對等網(wǎng)絡(luò)的自組織方法。通過建立兩層的結(jié)構(gòu)化邏輯網(wǎng)絡(luò)模型,隨著網(wǎng)絡(luò)規(guī)模和主機性能的變化,對網(wǎng)絡(luò)模型中主機通信進行相應(yīng)的調(diào)整,并對網(wǎng)絡(luò)中資源進行相應(yīng)的維護,達到自適應(yīng),自組織的特點,從而較好的保證了網(wǎng)絡(luò)性能。同時,本發(fā)明中網(wǎng)絡(luò)規(guī)模,網(wǎng)絡(luò)運行情況等都是可管理的,是一種可管理的P2P,改變了P2P可管理方面的空白情況。技術(shù)方案本發(fā)明的基于混合式結(jié)構(gòu)化對等網(wǎng)絡(luò)的自組織方法包括如下步驟-步驟1.分布式網(wǎng)絡(luò)管理代理(DNA)的選取與連接一個節(jié)點加入網(wǎng)絡(luò),根據(jù)網(wǎng)絡(luò)運行情況,確定為DNA或普通節(jié)點,節(jié)點加入網(wǎng)絡(luò)分為-1)首先提取本機性能參數(shù),根據(jù)U值計算策略計算本機效用值;2)登陸服務(wù)器根據(jù)DNA數(shù)量,總的節(jié)點數(shù)量的比例決定是否增加新的上層節(jié)點;設(shè)總節(jié)點數(shù)為S,規(guī)定一個DNA最多允許連接N個普通節(jié)點,貝ij網(wǎng)絡(luò)中所需的DNA數(shù)量為S/N的最小上界;網(wǎng)絡(luò)中在線DNA數(shù)量可以通過査看服務(wù)器端的記錄可知;如所需DNA數(shù)量大于在線DNA數(shù)量,則比較本域內(nèi)所有第二層節(jié)點的效用值,找到擁有最大值的主機,令其為新的DNA數(shù)量,更新DNA列表;3)根據(jù)DNA選取結(jié)果確定節(jié)點身份,并向新加入節(jié)點返回新的DNA列表;4)如本機為普通節(jié)點,則根據(jù)DNA列表,探測本域內(nèi)的所有DNA所轄域的大小,然后計算每個DNA的效用值與其所轄域大小的比值,選擇比值最大的一個DNA發(fā)送連接請求,斷開與其它DNA的通信;5)如果本機為DNA,則根據(jù)DNA列表,加入到其它DNA節(jié)點形成的DHT網(wǎng)絡(luò),并開啟上層分布式網(wǎng)絡(luò)存儲和處理功能,下層集中式網(wǎng)絡(luò)代理功能;步驟2、網(wǎng)絡(luò)節(jié)點動態(tài)調(diào)整策略P2P網(wǎng)絡(luò)是一個動態(tài)變化的網(wǎng)絡(luò),根據(jù)網(wǎng)絡(luò)運行的情況,對網(wǎng)絡(luò)中節(jié)點功能進行動態(tài)調(diào)整,實現(xiàn)網(wǎng)絡(luò)的自組織特性;21)普通節(jié)點變化為DNA:當(dāng)網(wǎng)絡(luò)中有新節(jié)點加入時,需增加DNA節(jié)點,執(zhí)行DNA選取策略,被選取的節(jié)點將由普通節(jié)點變換為新的DNA節(jié)點;服務(wù)器把新選取的DNA加入到DNA列表中,便于普通節(jié)點發(fā)送探測消息。新的DNA收到探測請求,將和服務(wù)器確認,確認成功將開啟DNA功能模塊;22)備用DNA升級為DNA:當(dāng)一個DNA域內(nèi)節(jié)點情況發(fā)生變化時,DNA將重新選取備用DNA;DNA令域內(nèi)在線效用值最大的普通節(jié)點為備用DNA,當(dāng)域內(nèi)有節(jié)點加入或退出時,將重新査找域內(nèi)效用值最大的普通節(jié)點,令其為新的備用DNA,當(dāng)DNA退出網(wǎng)絡(luò)或發(fā)生異常時,備用DNA將自動升級為DNA,向服務(wù)器發(fā)送DNA升級消息,開啟DNA功能模塊;域內(nèi)其它普通節(jié)點將直接向備用DNA發(fā)送連接請求;23)DNA退化為普通節(jié)點當(dāng)網(wǎng)絡(luò)規(guī)模減小,網(wǎng)絡(luò)中普通節(jié)點連接DNA的連接率不到5(W,即普通節(jié)點數(shù)量/DNA數(shù)量小于N/2時,服務(wù)器會重新計算網(wǎng)絡(luò)中需要的DNA數(shù)量,并根據(jù)DNA的效用值的高低,通知效用值不高的DNA退出DHT網(wǎng)絡(luò),退化為普通節(jié)點,重新獲取DNA列表,探測所有DNA,選擇連接平均效用值最高的DNA。有益效果本發(fā)明具有以下優(yōu)點1、使得網(wǎng)絡(luò)結(jié)構(gòu)穩(wěn)定靈活,提高網(wǎng)絡(luò)的健壯性和穩(wěn)定性該方法中把網(wǎng)絡(luò)中節(jié)點按相應(yīng)規(guī)則分成不同的域,當(dāng)網(wǎng)絡(luò)中節(jié)點連接情況有變化時,網(wǎng)絡(luò)中同一域內(nèi)的節(jié)點將會實時感知到,并做出相應(yīng)的調(diào)整。一個域的變化變化調(diào)整是在域內(nèi)完成的,對于其它域中節(jié)點基本沒有影響,減少了網(wǎng)絡(luò)中的通信量使得網(wǎng)絡(luò)穩(wěn)定靈活。針對第三代混合式P2P的局限性,不能較好解決由于超級節(jié)點自身脆弱性可能導(dǎo)致的局部節(jié)點孤立等問題,該方法中的DNA選取策略和備用DNA選取策略較好地解決了這些問題。該方法采用混合式的網(wǎng)絡(luò)結(jié)構(gòu),DNA具有超級節(jié)點類似的功能,但不像超級節(jié)點那樣由固定節(jié)點充當(dāng),而是根據(jù)網(wǎng)絡(luò)中節(jié)點的情況動態(tài)選取性能較好的節(jié)點來執(zhí)行DNA功能。隨著網(wǎng)絡(luò)規(guī)模、節(jié)點的變化,DNA節(jié)點會進行相應(yīng)的調(diào)整,如普通節(jié)點升級為DNA,DNA退化為普通節(jié)點等。另外當(dāng)DNA節(jié)點退出網(wǎng)絡(luò)或失效時,備用DNA將代替DNA維護群內(nèi)的資源并提供P2P網(wǎng)絡(luò)服務(wù),同時執(zhí)行分布式處理等工作。備用DNA使得DNA退出或異常的情況下,仍能為節(jié)點提供服務(wù),極大地提高了網(wǎng)絡(luò)的穩(wěn)定性。異常處理是該方法的一個重要組成部分,針對網(wǎng)絡(luò)中節(jié)點的異常退出,系統(tǒng)采用輪詢機制。在探測到異常時將及時調(diào)整網(wǎng)絡(luò),并向服務(wù)器報告異常信息,維護服務(wù)器端數(shù)據(jù)的實時性。4通過異常處理,使整個網(wǎng)絡(luò)的穩(wěn)定性更高。2、網(wǎng)絡(luò)可管理,使得網(wǎng)絡(luò)具有可擴展性相對于第一、二和三代P2P,該方法使得網(wǎng)絡(luò)有較好的可管理性,主要表現(xiàn)在網(wǎng)絡(luò)的規(guī)模,節(jié)點的連接情況以及節(jié)點共享文件信息都是可管理和控制的。DNA上節(jié)點連接列表和群內(nèi)共享資源列表,負責(zé)對它們進行維護。該方法中DNA加載SNMP管理功能后,將實現(xiàn)分布式的資源管理?;旌鲜降木W(wǎng)絡(luò)架構(gòu)有利于分布式管理網(wǎng)絡(luò)的搭建,該方法在建立通信系統(tǒng)的過程中為網(wǎng)絡(luò)管理提供擴展接口。DNA在執(zhí)行集中式代理的同時方便對域內(nèi)資源的管理進行管理。DNA記錄并更新群內(nèi)每個節(jié)點的共享資源列表,DNA可以對群內(nèi)的資源列表進行管理,刪除某些不合理的資源共享。在接收節(jié)點的檢索請求時,也可以對某些信息進行管理、限制,有利于P2P網(wǎng)絡(luò)的健康發(fā)展。下一步可以將目前成熟的網(wǎng)絡(luò)管理模塊移植到DNA節(jié)點上,從而實現(xiàn)一個分布式的管理網(wǎng)絡(luò),改變P2P網(wǎng)絡(luò)缺乏管理的現(xiàn)狀。同時該方法為網(wǎng)絡(luò)管理提供較好的擴展性接口,如每個DNA群的大小可以根據(jù)效用值來決定,即平均管理一個節(jié)點所需效用值的最小下界,如平均一個DNA管理節(jié)點的數(shù)量,以及DNA輪詢的周期等都提供了一些設(shè)置接口。圖l為節(jié)點加入網(wǎng)絡(luò)的時序圖;圖2為節(jié)點退出網(wǎng)絡(luò)的時序圖3表示的是網(wǎng)絡(luò)中節(jié)點加入網(wǎng)絡(luò)過程及DNA選取流程圖;圖4表示的是節(jié)點退出網(wǎng)絡(luò),網(wǎng)絡(luò)維護過程流程圖5a表示的是普通節(jié)點升級為DNA流程圖,圖5b為DNA退化成普通節(jié)點流程圖;圖6a為普通節(jié)點異常處理模塊流程圖,圖6b為DNA異常處理模塊流程圖。具體實施例方式以第三代P2P——混合式P2P網(wǎng)絡(luò)為背景,提出混合式結(jié)構(gòu)化P2P網(wǎng)絡(luò)由DNA代替超級節(jié)點,構(gòu)成上層網(wǎng)絡(luò),提供分布式網(wǎng)絡(luò)處理功能;并為下層節(jié)點提供集中網(wǎng)絡(luò)代理功能。DM身份,DNA數(shù)量可以是動態(tài)調(diào)整的,更加滿足網(wǎng)絡(luò)自組織性的要求。當(dāng)網(wǎng)絡(luò)規(guī)模、網(wǎng)絡(luò)狀態(tài)發(fā)生改變時,網(wǎng)絡(luò)中的節(jié)點狀態(tài)及相互之間的通信連接,隨之進行相應(yīng)的調(diào)整,以適應(yīng)網(wǎng)絡(luò)的變化。其技術(shù)方案主要包括如下三個方面1、混合式結(jié)構(gòu)化網(wǎng)絡(luò)模型第一代,第二代P2P網(wǎng)絡(luò)邏輯上都是一層,即應(yīng)用層上的覆蓋網(wǎng)絡(luò)。第三代P2P是一種混合式P2P網(wǎng)絡(luò),超級節(jié)點之間全網(wǎng)狀的連接分布性不高,資源檢索效率受限。本發(fā)明提出一種混合式結(jié)構(gòu)化P2P,將結(jié)構(gòu)化網(wǎng)絡(luò)特性融入到混合式網(wǎng)絡(luò)結(jié)構(gòu)中來,并使用結(jié)構(gòu)化査找算法極大地提高網(wǎng)絡(luò)性能。為了進一步提高P2P網(wǎng)絡(luò)的性能和自適應(yīng)性,需要考慮P2P網(wǎng)絡(luò)中不同主機節(jié)點之間的差異性。主要包括性能的差異性,地理位置的差異性?;旌鲜浇Y(jié)構(gòu)化網(wǎng)絡(luò)是一個完全的兩層網(wǎng)絡(luò)模型,一方面提取并比較網(wǎng)絡(luò)中節(jié)點的相對性能,另一方面讓物理相鄰性能優(yōu)的主機節(jié)5點運行上層網(wǎng)絡(luò)功能,為第二層的主機節(jié)點提高P2P網(wǎng)絡(luò)服務(wù)。當(dāng)前第三代P2P網(wǎng)絡(luò)主要是將第一代的完全集中式網(wǎng)絡(luò)模型和第二代的完全分布式網(wǎng)絡(luò)模型進行融合,沒有從根本上考慮網(wǎng)絡(luò)中節(jié)點的差異性。其超級節(jié)點是由固定服務(wù)器來充當(dāng),從而大大限制了網(wǎng)絡(luò)的自適應(yīng)性,因為固定的超級節(jié)點數(shù)量是不能根據(jù)網(wǎng)絡(luò)運行狀況進行動態(tài)調(diào)整,網(wǎng)絡(luò)中資源目錄的存取也不能動態(tài)分配。隨著網(wǎng)絡(luò)規(guī)模的擴大,P2P網(wǎng)絡(luò)的性能只能通過不斷提高超級節(jié)點性能來保證,這樣的保證是有限的。本發(fā)明提出分布式網(wǎng)絡(luò)代理(DNA,DistributedNetworkAgent)來代替超級節(jié)點提供P2P網(wǎng)絡(luò)資源發(fā)布檢索服務(wù)。其優(yōu)越性在于其不但具有第三代P2P網(wǎng)絡(luò)的高效、容錯等特性,而且可以通過調(diào)整網(wǎng)絡(luò)中主機功能,根據(jù)網(wǎng)絡(luò)運行情況,動態(tài)調(diào)整網(wǎng)絡(luò)中上層主機節(jié)點數(shù)量,及與第二層主機節(jié)點通信情況;并且資源目錄在上層節(jié)點分布式處理,因為平均每個節(jié)點的資源是有限的,從而可以很好保證上層網(wǎng)絡(luò)處理的性能。另外,這樣的P2P網(wǎng)絡(luò)模型也是可管理,可控制的??梢愿鶕?jù)地理位置,劃分不同的域;對于不同的域,根據(jù)節(jié)點的數(shù)量控制本域中上層節(jié)點的數(shù)量;每個上層節(jié)點根據(jù)其性能特點,控制允許第二層節(jié)點連接的最大數(shù)等。2、DNA選取策略對每一個加入網(wǎng)絡(luò)中的主機節(jié)點,都可以將其性能抽象為一個可比較的效用值,效用值越大說明其性能越好。本發(fā)明中,設(shè)計了一種比較快速的線性的效用值,即將多維的性能參數(shù),通過線性函數(shù)轉(zhuǎn)化為一維的效用值。DNA是由一個域內(nèi)性能相對較好的節(jié)點來充當(dāng),在上層網(wǎng)絡(luò)進行分布式檢索、存儲等處理;為下層網(wǎng)絡(luò)提供集中式網(wǎng)絡(luò)代理功能。一定條件下DNA可能變?yōu)槠胀ü?jié)點,普通節(jié)點也可能變換為DNA,隨著網(wǎng)絡(luò)的變化而相應(yīng)做出調(diào)整。首先提取本機性能參數(shù),計算效用值;登陸服務(wù)器根據(jù)DNA數(shù)量,總的節(jié)點數(shù)量的比例決定是否增加新的上層節(jié)點。如需增加,則比較本域內(nèi)所有第二層節(jié)點的效用值,找到擁有最大值的主機,令其為新DNA,向新加入節(jié)點返回新的上層節(jié)點列表。如不需增加則直接返回DNA列表。本機根據(jù)登陸服務(wù)器返回的功能身份和上層節(jié)點列表,探測本域內(nèi)的所有上層節(jié)點,每個上層節(jié)點返回所連接節(jié)點的數(shù)量,即所轄域的大小。根據(jù)每個上層節(jié)點的效用值與其所轄域大小的比值,選擇比值最大的一個進行連接,加入網(wǎng)絡(luò)。如果本機被選為DNA,則應(yīng)開啟上層節(jié)點的網(wǎng)絡(luò)功能,執(zhí)行分布式處理,提高分布式網(wǎng)絡(luò)功能,同時如果所轄域未飽和則接受節(jié)點的連接請求,飽和則返回拒絕連接消息。詳細過程如圖3所示。3、隨著網(wǎng)絡(luò)變化,節(jié)點網(wǎng)絡(luò)功能進行相應(yīng)調(diào)整網(wǎng)絡(luò)變化主要包括兩方面一方面主要是節(jié)點的加入,另一方面主要是節(jié)點的離開。節(jié)點的加入過程也是自組織P2P網(wǎng)絡(luò)的搭建的過程,包括DNA的加入——DNA之間通信,進行分布式處理;下層節(jié)點的加入——探測、選擇上層代理節(jié)點進行連接。節(jié)點的離開過程主要是網(wǎng)絡(luò)維護的過程,包括節(jié)點的正常退出;節(jié)點的異常退出兩方面。節(jié)點變化主要指的是,"節(jié)點身份"的變化由下層節(jié)點提升為DNA,或DNA退化為下層節(jié)點,如圖5所示。下層節(jié)點提升為DNA,相應(yīng)的開啟DNA網(wǎng)絡(luò)功能,監(jiān)聽其它節(jié)點的連接請求;同時與其它DNA通信,根據(jù)文檔路由算法進行分布式處理。普通節(jié)點提升為DNA主要有如下兩種情況;隨著網(wǎng)絡(luò)規(guī)模的擴大,需要增加DNA數(shù)量,根據(jù)DNA選擇算法,以前以普通節(jié)點加入網(wǎng)絡(luò)的節(jié)點被重新選為DNA;另外,當(dāng)網(wǎng)絡(luò)中普通結(jié)點所連接的DNA退出網(wǎng)絡(luò)時,域內(nèi)較好的普通結(jié)點被選為備用DNA,在咖A退出后主動升級為DNA,執(zhí)行相應(yīng)功能,其它節(jié)點則重新連接備用DNA。DNA退化為下層節(jié)點的情況較少,為了減少網(wǎng)絡(luò)中節(jié)點的動態(tài)變化引起網(wǎng)絡(luò)動蕩,DNA退化為普通節(jié)點是由服務(wù)器來進行控制的,當(dāng)網(wǎng)絡(luò)中普通節(jié)點連接DNA的連接率不到5(^時,服務(wù)器會重新計算網(wǎng)絡(luò)中需要的DNA數(shù)量,并根據(jù)DNA的效用值的高低,通知效用值不高的DNA退出DHT網(wǎng)絡(luò),退化為普通節(jié)點,重新獲取DNA列表,探測所有DNA,選擇連接平均效用值最高的DNA。自組織P2P是一個動態(tài)的網(wǎng)絡(luò),要求網(wǎng)絡(luò)有更好的動態(tài)自適應(yīng)性,備用DNA正是要達到這樣目的。如果某個DNA退出網(wǎng)絡(luò),此時該DNA所轄域中節(jié)點將連接本域中的一個節(jié)點,稱為備用節(jié)點;備用節(jié)點開啟上層網(wǎng)絡(luò)功能,與DNA進行交互,完成分布式處理。備用節(jié)點的選取及維護,是在當(dāng)本域網(wǎng)絡(luò)情況發(fā)生變化時進行的,如圖4所示,同時要求備用節(jié)點的性能是本域內(nèi)性能較優(yōu)的。關(guān)鍵特性DNA、分布性、動態(tài)性。DNA節(jié)點間進行分布式處理,很好的提供了分布性要求;DNA的動態(tài)選取、加入、離開等協(xié)議很好的滿足了動態(tài)性的要求。兩層自組織對等網(wǎng)絡(luò)協(xié)議1、登陸節(jié)點加入網(wǎng)絡(luò),首先向登陸服務(wù)器發(fā)送REQUEST消息,請求加入網(wǎng)絡(luò);登陸服務(wù)器收到請求返回0K消息,接受請求;節(jié)點收到服務(wù)器返回的消息,向登陸服務(wù)器發(fā)送效用值,若無消息返回,則連接服務(wù)器失敗,執(zhí)行直接連接"歷史DNA"功能模塊;服務(wù)器收到效用值,根據(jù)節(jié)點的效用,執(zhí)行DNA選取功能模塊,返回節(jié)點身份消息,同時更新DNA列表,向節(jié)點返回節(jié)點列表;節(jié)點收到身份消息,執(zhí)行相應(yīng)功能模塊;接收DNA列表,在節(jié)點中記錄顯示出來;最后,向登陸服務(wù)器發(fā)送END消息;服務(wù)器收到END消息,返冋END消息,此次通信結(jié)束。執(zhí)行過程如圖1所示。2、退出節(jié)點退出網(wǎng)絡(luò),首先向登陸服務(wù)器發(fā)送OVER消息;服務(wù)器收到OVER消息,根據(jù)節(jié)點ID執(zhí)行節(jié)點退出模塊,向節(jié)點返回OVER消息;節(jié)點收到OVER消息結(jié)束與服務(wù)器的通信。接下來若當(dāng)前身份是下層節(jié)點,向所連的DNA發(fā)送QUIT消息;DNA收到QUIT消息,根據(jù)節(jié)點ID執(zhí)行相應(yīng)的資源維護模塊,返回QUIT消息;節(jié)點收到QUIT消息,結(jié)束與DNA的通信。若當(dāng)前身份是DNA,則首先將自己掛起,并向所連接的每一個下層節(jié)點發(fā)送DNAQUIT消息,同時發(fā)送備用DNA的信息;下層節(jié)點收到DNAQUIT消息,根據(jù)備用DNA的信息,連接備用節(jié)點,結(jié)束與DNA的通信;最后,DNA執(zhí)行資源維護模塊,退出網(wǎng)絡(luò)。執(zhí)行過程如時序2所示。3、輪詢DNA定期向所連的下層節(jié)點發(fā)送輪詢消息ISALIVING,若網(wǎng)絡(luò)需要選取備用節(jié)點,同時將發(fā)送備用節(jié)點信息;下層節(jié)點收到ISALIVING消息,說明DNA在線,返回ALIVE消息,證明自己在線,否則說明所連DNA不在線,執(zhí)行DNA異常退出功能模塊,如圖6(b)所示;DNA收到下層節(jié)點在線消息,說明所連下層節(jié)點在線,否則執(zhí)行節(jié)點異常退出模塊,如圖6(a)所示。4、發(fā)布檢索若當(dāng)前節(jié)點是DNA,可以直接在分布式哈希表DHT上進行;否則需向所連DNA發(fā)送FILESHARE或者FILESEARCH消息,同時發(fā)送發(fā)布或檢索的文件名信息;DNA收到FILESHARE或者FILESEARCH消息,執(zhí)行相應(yīng)的功能模塊,將結(jié)果信息發(fā)送給請求節(jié)點;請求節(jié)點接收執(zhí)行結(jié)果,并顯示給用戶。5、節(jié)點身份的變更節(jié)點收到APPLY消息,若當(dāng)前節(jié)點為DNA,則返回本域的大小,即DNA連接的普通節(jié)點數(shù)量;若當(dāng)前節(jié)點為普通節(jié)點,則向服務(wù)器發(fā)送APPLYDNA/ID消息確認是否被重新選取DNA節(jié)點,ID即向服務(wù)器發(fā)送本節(jié)點ID消息。收到服務(wù)器的POSITIVE消息表示該節(jié)點在服務(wù)器端已變更為DNA,向申請節(jié)點發(fā)送已連接的普通結(jié)點的數(shù)量;收到服務(wù)器的NEGTIVE消息表示該節(jié)點身份無變更,向申請節(jié)點發(fā)送-1,表示無身份變更,拒絕連接請求。當(dāng)DNA域的大小發(fā)生變化時,DNA都重新選取域內(nèi)效用值最大的普通節(jié)點為備用DNA,并向域內(nèi)普通節(jié)點發(fā)送SECONDDNA/ID消息,節(jié)點收到該消息,表示有備用DNA更新消息,普通節(jié)點上默認的備用DNA的ID為一個包含環(huán)回IP地址的ID號。査看新的備用DNA的ID,若為本節(jié)點ID則變更為備用DNA,當(dāng)DNA退出或失效時開啟DNA網(wǎng)絡(luò)功能,并主耍升級為DNA;若不為本節(jié)點ID則記錄該ID號,當(dāng)所連接的DNA失效或退出網(wǎng)絡(luò)時,重新連接備用DNA。由于有節(jié)點的不斷加入和退出,當(dāng)網(wǎng)絡(luò)中DNA個數(shù)過多DNA被連接率過低時,服務(wù)器重新計算網(wǎng)絡(luò)中所需DNA數(shù)量,向效用值低的DNA發(fā)送FALLBACK消息。DNA收到該消息,重新連接服務(wù)器獲取最新DNA列表,以普通節(jié)點身份重新探測、連接DNA;同時將最新DNA列表轉(zhuǎn)發(fā)給域內(nèi)普通節(jié)點,普通節(jié)點重新探測、連接新的DNA。U值計算策略U值用來衡量一個計算機的主要性能特點,一般U值越大,說明性能越好。計箅節(jié)點效用值時,需考慮的計算機性能參數(shù)主要包括1、CPU數(shù)量,2、CPU速度,3、實際內(nèi)存大小,4、可用內(nèi)存大小,5電池狀態(tài),6電池電量。用一個性能函數(shù)將計算機的主要性能線性表示出來,記',其中《為各性能參數(shù)值;《為性能影響岡子,其大小根據(jù)實際情況設(shè)定??紤]到實際情況的不同,比如筆記本、臺式機的不同,單核、多核的不同,選擇的性能影響因子應(yīng)該是不同,下面分類討論1、根據(jù)CPU數(shù)量分為單核、多核兩種情況"'—J/多核(x)-^c尸y速度+0J82承x實際內(nèi)存令[/單核0)=0-618*義^(/速度+0'3*乂實際內(nèi)存+0.082*乂可用內(nèi)存,明顯的多核節(jié)點的性能優(yōu)于單核的,滿足實際的情況。另外,在處理CPU速度和內(nèi)存的影響因子時,做了一個主要的權(quán)衡通過實驗,可以知道,當(dāng)CPU類型為"AMD2000+"時,CPU速度為固定值:1262:當(dāng)CPU類型為"IntelPentium4"時,CPU速度恒為1999。可以看到,CPU速度基本是在1000到3000之間的樣子(當(dāng)然不排除超出這個范圍的CPU速度,這是允許的),而計算機內(nèi)存大小,目前一般情況下是在256M到2048M之間,兩者是不在同一個數(shù)量級上的。首先對計算機內(nèi)存進行處理,令內(nèi)存大小參數(shù)是以兆字節(jié)為單位的;又由于在一般情況下,CPU速度可以直接反映CPU的性能特性,所以針對兩者對計算機性能的影響比重程度,我們令影響因子分別為0.618和0.382。對T單核的情況,又額外考慮可用內(nèi)存的情況,是計算值可以反映出計算機使用得情況,也有效區(qū)別單核、多核的差異性。經(jīng)實驗,上述影響因子的設(shè)置,能夠很好的反映不同主機的不同性能,可以作為一個衡量主機性能的可行性標準。2、根據(jù)計算機種類的不同,首先要區(qū)分為筆記本、臺式機和其他手持設(shè)備等,一方面筆記本性能可能略低于同參數(shù)的臺式機,且由于其便攜式,在線時間不穩(wěn)定;另一方面筆記本擁有電池作為保障,可以有效減少某些掉電造成的異常退出??梢詮碾姵貭顟B(tài),電池電量等來判斷出節(jié)點為筆記本或臺式機。表l、電池狀態(tài)分類表<table>tableseeoriginaldocumentpage9</column></row><table>如表1所示,其中筆記本電腦為插有電源的情況??梢詮碾姵貭顟B(tài)、電池容量兩方面判斷出是臺式機或其他設(shè)備。考慮到一些未知的設(shè)備情況,這里采用對上一步計算得到的v'值的修正,即令"-g("、當(dāng)判斷出節(jié)點為臺式機時,對U進行一定加權(quán),如令U增加一定的比例,一般^將增大;當(dāng)判斷出節(jié)點為筆記本或其他手持設(shè)備時,也對"進行一定加權(quán),但這時的加權(quán)需充分考慮電池電量的情況,如令W按電池電量減少的情況,減少一定的比例,一般如電池電量不足時,V'會減少,而電量充足又有交流電源時考慮增加";當(dāng)不能判斷出節(jié)點類型,或電池電量時,一般情況下"不變。至此,可以求出能反映主機性能及類別差異的衡量標準U值。最后,由于除臺式機外,大多數(shù)節(jié)點的電池狀態(tài)、電池電量可測時,為了減少因電池耗盡而導(dǎo)致的應(yīng)用程序異常退出,我們定時對電池狀態(tài)、電量進行檢測,當(dāng)電池狀態(tài)為"電量低"(經(jīng)實驗分析,此時電量不足30%時)時,顯示告警信息;當(dāng)電池狀態(tài)為"電量基本耗盡"(經(jīng)實驗分析,此時電量不穩(wěn)定;令電量低于9%時,執(zhí)行相同的操作)時,需主動退出應(yīng)用程序,使網(wǎng)絡(luò)變化比較平滑。權(quán)利要求1.一種基于混合式結(jié)構(gòu)化對等網(wǎng)絡(luò)的自組織方法,其特征在于該方法包括如下步驟;步驟1.分布式網(wǎng)絡(luò)管理代理(DNA)的選取與連接一個節(jié)點加入網(wǎng)絡(luò),根據(jù)網(wǎng)絡(luò)運行情況,確定為DNA或普通節(jié)點,節(jié)點加入網(wǎng)絡(luò)分為1)首先提取本機性能參數(shù),根據(jù)U值計算策略計算本機效用值;2)登陸服務(wù)器根據(jù)DNA數(shù)量,總的節(jié)點數(shù)量的比例決定是否增加新的上層節(jié)點;設(shè)總節(jié)點數(shù)為S,規(guī)定一個DNA最多允許連接N個普通節(jié)點,則網(wǎng)絡(luò)中所需的DNA數(shù)量為S/N的最小上界;網(wǎng)絡(luò)中在線DNA數(shù)量通過查看服務(wù)器端的記錄可知;如所需DNA數(shù)量大于在線DNA數(shù)量,則比較本域內(nèi)所有第二層節(jié)點的效用值,找到擁有最大值的主機,令其為新的DNA數(shù)量,更新DNA列表;3)根據(jù)DNA選取結(jié)果確定節(jié)點身份,并向新加入節(jié)點返回新的DNA列表;4)如本機為普通節(jié)點,則根據(jù)DNA列表,探測本域內(nèi)的所有DNA所轄域的大小,然后計算每個DNA的效用值與其所轄域大小的比值,選擇比值最大的一個DNA發(fā)送連接請求,斷開與其它DNA的通信;5)如果本機為DNA,則根據(jù)DNA列表,加入到其它DNA節(jié)點形成的DHT網(wǎng)絡(luò),并開啟上層分布式網(wǎng)絡(luò)存儲和處理功能,下層集中式網(wǎng)絡(luò)代理功能;步驟2、網(wǎng)絡(luò)節(jié)點動態(tài)調(diào)整策略P2P網(wǎng)絡(luò)是一個動態(tài)變化的網(wǎng)絡(luò),根據(jù)網(wǎng)絡(luò)運行的情況,對網(wǎng)絡(luò)中節(jié)點功能進行動態(tài)調(diào)整,實現(xiàn)網(wǎng)絡(luò)的自組織特性;1)普通節(jié)點變化為DNA當(dāng)網(wǎng)絡(luò)中有新節(jié)點加入時,需增加DNA節(jié)點,執(zhí)行DNA選取策略,被選取的節(jié)點將由普通節(jié)點變換為新的DNA節(jié)點;服務(wù)器把新選取的DNA加入到DNA列表中,便于普通節(jié)點發(fā)送探測消息。新的DNA收到探測請求,將和服務(wù)器確認,確認成功將開啟DNA功能模塊;2)備用DNA升級為DNA當(dāng)一個DNA域內(nèi)節(jié)點情況發(fā)生變化時,DNA將重新選取備用DNA;DNA令域內(nèi)在線效用值最大的普通節(jié)點為備用DNA,當(dāng)域內(nèi)有節(jié)點加入或退出時,將重新查找域內(nèi)效用值最大的普通節(jié)點,令其為新的備用DNA,當(dāng)DNA退出網(wǎng)絡(luò)或發(fā)生異常時,備用DNA將自動升級為DNA,向服務(wù)器發(fā)送DNA升級消息,開啟DNA功能模塊;域內(nèi)其它普通節(jié)點將直接向備用DNA發(fā)送連接請求;3)DNA退化為普通節(jié)點當(dāng)網(wǎng)絡(luò)規(guī)模減小,網(wǎng)絡(luò)中普通節(jié)點連接DNA的連接率不到50%,即普通節(jié)點數(shù)量/DNA數(shù)量小于N/2時,服務(wù)器會重新計算網(wǎng)絡(luò)中需要的DNA數(shù)量,并根據(jù)DNA的效用值的高低,通知效用值不高的DNA退出DHT網(wǎng)絡(luò),退化為普通節(jié)點,重新獲取DNA列表,探測所有DNA,選擇接平均效用值最高的DNA。全文摘要基于混合式結(jié)構(gòu)化對等網(wǎng)絡(luò)的自組織方法,通過建立兩層的結(jié)構(gòu)化邏輯網(wǎng)絡(luò)模型,隨著網(wǎng)絡(luò)規(guī)模和主機性能的變化,對網(wǎng)絡(luò)模型中主機通信進行相應(yīng)的調(diào)整,并對網(wǎng)絡(luò)中資源進行相應(yīng)的維護,達到自適應(yīng),自組織的特點,從而較好的保證了網(wǎng)絡(luò)性能。同時,本發(fā)明中網(wǎng)絡(luò)規(guī)模,網(wǎng)絡(luò)運行情況等都是可管理的,是一種可管理的P2P,改變了P2P可管理方面的空白情況。文檔編號H04L12/24GK101521679SQ20091002619公開日2009年9月2日申請日期2009年4月3日優(yōu)先權(quán)日2009年4月3日發(fā)明者馮慧斌,瀧劉,孫雁飛,寧向延,張順頤,君李,杜吉輝,翟曉萍申請人:南京郵電大學(xué)