專利名稱:P2p網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及一種P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法和系統(tǒng)。
背景技術(shù):
2007 年,IETF 組(Internet 工程任務(wù)組)成立了 P2PSIP (Peer-to-Peer SessionInitiation Protocol)工作組,來開發(fā)一個開放、標(biāo)準(zhǔn)、通用的P2P協(xié)議,實現(xiàn)采用通用方法管理和維護(hù)P2P網(wǎng)絡(luò),而不依賴于其使用的P2P算法,如可采用DHT (Distributed HashTable)算法等,據(jù)此提出了 RELOAD (Resource Location And Discovery)協(xié)議。RELOAD協(xié)議提供了統(tǒng)一的疊加網(wǎng)(Overlay)對等體和客戶端協(xié)議,實現(xiàn)抽象的存儲和消息路由服務(wù)。RELOAD協(xié)議提出了一個四層的P2P協(xié)議架構(gòu),將算法作為一種插件剝離出來,協(xié)議本身支持不同的算法,從而可以支持不同領(lǐng)域的應(yīng)用。RELOAD協(xié)議具有以下特點(diǎn):(I) RELOAD不僅是一個消息網(wǎng),同時也是存儲網(wǎng);(2)資源邏輯標(biāo) 識和節(jié)點(diǎn)邏輯標(biāo)識在同一空間;(3)每個節(jié)點(diǎn)負(fù)責(zé)存儲節(jié)點(diǎn)邏輯標(biāo)識值附近的資源邏輯標(biāo)識;(4) Client節(jié)點(diǎn)不參與、不影響數(shù)據(jù)存儲;(5) Client節(jié)點(diǎn)可能根據(jù)需要和要求升級為Peer。在RELOAD協(xié)議描述的P2P網(wǎng)絡(luò)中,存在兩種節(jié)點(diǎn),Peer和Client,每個節(jié)點(diǎn)都有唯一的標(biāo)識,稱為節(jié)點(diǎn)邏輯標(biāo)識,這種唯一標(biāo)識將應(yīng)用于RELOAD中的多種場景,包括接入、存儲以及路由。圖1為一個使用RELOAD協(xié)議的疊加網(wǎng)絡(luò)示意圖。圖中Client節(jié)點(diǎn)通過Peer節(jié)點(diǎn)接入到整個網(wǎng)絡(luò)中,Node80稱為Node85的疊加網(wǎng)接入節(jié)點(diǎn),Client與接入點(diǎn)Node80之間建立連接,通過Node80接入點(diǎn)與Overlay網(wǎng)絡(luò)中的其他節(jié)點(diǎn)交互。超級節(jié)點(diǎn)是混合分布式P2P網(wǎng)絡(luò)中的一個概念。在混合分布式P2P網(wǎng)絡(luò)中,存在兩種類型的節(jié)點(diǎn),超級節(jié)點(diǎn)(超級節(jié)點(diǎn):Super Node)和普通節(jié)點(diǎn)(普通節(jié)點(diǎn):0rdinaryNode)。其中超級節(jié)點(diǎn)和普通節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)的性能進(jìn)行區(qū)分,分別承擔(dān)不同的功能。一般的,超級節(jié)點(diǎn)構(gòu)成了整個P2P網(wǎng)絡(luò)的分布式結(jié)構(gòu),超級節(jié)點(diǎn)之間可以選擇多種P2P算法(如DHT算法),負(fù)責(zé)數(shù)據(jù)的存儲、消息轉(zhuǎn)發(fā)和路由;普通節(jié)點(diǎn)可以認(rèn)為是P2P網(wǎng)絡(luò)的使用者,對P2P網(wǎng)絡(luò)的貢獻(xiàn)在于內(nèi)容的提供。超級節(jié)點(diǎn)選擇是指從混合分布式P2P網(wǎng)絡(luò)中的普通節(jié)點(diǎn)中選擇滿足超級節(jié)點(diǎn)能力的部分節(jié)點(diǎn)升級為超級節(jié)點(diǎn),完成數(shù)據(jù)的存儲和消息的路由,其目的是為充分利用網(wǎng)絡(luò)中充裕的普通節(jié)點(diǎn)的計算、存儲資源,降低現(xiàn)有超級節(jié)點(diǎn)的負(fù)載、降低服務(wù)提供者的成本。選擇普通節(jié)點(diǎn)升級為超級節(jié)點(diǎn)需要從兩個方面考慮。首先是節(jié)點(diǎn)本身的性能是否滿足作為超級節(jié)點(diǎn)的條件,包括節(jié)點(diǎn)與已有超級節(jié)點(diǎn)之間的網(wǎng)絡(luò)情況、與升級為超級節(jié)點(diǎn)后所代理的普通節(jié)點(diǎn)之間的網(wǎng)絡(luò)情況、計算能力等;其次是普通節(jié)點(diǎn)的邏輯標(biāo)記是否滿足P2P網(wǎng)絡(luò)中特定的路由規(guī)則,即升級后的超級節(jié)點(diǎn)是否可以充分分擔(dān)現(xiàn)有超級節(jié)點(diǎn)的負(fù)載,從而自適應(yīng)的增加網(wǎng)絡(luò)容量。RELOAD協(xié)議作為一個P2P的通用協(xié)議,允許普通節(jié)點(diǎn)根據(jù)需要升級為超級節(jié)點(diǎn),但對具體的升級方案、升級算法、升級消息還沒有具體給出,因此解決RELOAD協(xié)議中的節(jié)點(diǎn)升級,是一個有待研究的點(diǎn)。由于P2P網(wǎng)絡(luò)的多樣性,目前的各種方案均是針對具體的網(wǎng)絡(luò)環(huán)境來進(jìn)行研究,具體的有以下2種。方案一:利用冪律特征選擇普通節(jié)點(diǎn)在這種方案下,一個普通節(jié)點(diǎn)可以與多個超級節(jié)點(diǎn)相連,也可以與多個普通節(jié)點(diǎn)相連。利用網(wǎng)絡(luò)的冪律特征,新加入的節(jié)點(diǎn)會有更大的概率連接到具有到多個連接度的節(jié)點(diǎn)。如果節(jié)點(diǎn)的連接度比較高,貝1J它會出現(xiàn)在其他節(jié)點(diǎn)的鄰居節(jié)點(diǎn)列表中的概率會更大,新節(jié)點(diǎn)加入時,選擇它成為鄰居節(jié)點(diǎn)的概率會更高。因此在選擇普通節(jié)點(diǎn)升級為超級節(jié)點(diǎn)時,將普通節(jié)點(diǎn)連接度作為一個除CPU、內(nèi)存、網(wǎng)絡(luò)之外的選擇標(biāo)準(zhǔn)。當(dāng)節(jié)點(diǎn)加入網(wǎng)絡(luò)時,默認(rèn)為普通節(jié)點(diǎn),根據(jù)網(wǎng)絡(luò)中設(shè)定的升級閾值,普通節(jié)點(diǎn)將自主檢測是否到達(dá)該閾值。如果到達(dá),將進(jìn)行升級,并在網(wǎng)絡(luò)中廣播其升級信息,以便后期有更多的節(jié)點(diǎn)連接至此。方案二:利用節(jié)點(diǎn)重要性選擇普通節(jié)點(diǎn)進(jìn)行升級考慮到不同連接對節(jié)點(diǎn)重要性的影響不一致,因此將連接進(jìn)行了分類,并賦予了不同的權(quán)重,根據(jù)連接和權(quán)重得到節(jié)點(diǎn)的重要性,來選擇滿足條件的普通節(jié)點(diǎn)升級為超級節(jié)點(diǎn)。為了得到權(quán)重信息,需要各個節(jié)點(diǎn)之間定時進(jìn)行消息通信,交互已有的數(shù)據(jù),因此網(wǎng)絡(luò)會開銷大。另一方面,在方案二中,普通節(jié)點(diǎn)的選擇是基于與全局閾值對比的結(jié)果,因此當(dāng)某一個普通節(jié)點(diǎn)升級為超級節(jié)點(diǎn)時,需要重新調(diào)整個網(wǎng)絡(luò)的拓?fù)?,調(diào)整以每個超級節(jié)點(diǎn)為中心的簇,這可以按照一定的方式(如平均分配)為超級節(jié)點(diǎn)分配普通節(jié)點(diǎn)。全局的網(wǎng)絡(luò)拓?fù)湔{(diào)整會導(dǎo)致網(wǎng)絡(luò)的不穩(wěn)定,產(chǎn)生數(shù)據(jù)一致性、中斷已有服務(wù)等問題,同時為完成簇的建立,需要通過節(jié)點(diǎn)之間的消息交互,進(jìn)一步增加了網(wǎng)絡(luò)開銷。然而,從網(wǎng)絡(luò)傳輸開銷來看,首先是超級節(jié)點(diǎn)選擇過程:方案二雖然優(yōu)化了超級節(jié)點(diǎn)的選擇算法,但連接的權(quán)重需要通過節(jié)點(diǎn)之間的信息交互獲得,增加了網(wǎng)絡(luò)流量。方案一由于沒有進(jìn)行超級節(jié)點(diǎn)與普通節(jié)點(diǎn)比例控制,可能導(dǎo)致混合分布式P2P網(wǎng)絡(luò)退化成一個全分布式P2P網(wǎng)絡(luò),存在一個網(wǎng)絡(luò)迅速膨脹的可能性。從網(wǎng)絡(luò)動蕩的角度來看,方案二中普通節(jié)點(diǎn)升級超級節(jié)點(diǎn)后,需要進(jìn)行網(wǎng)絡(luò)拓?fù)涞恼{(diào)整,并且由于升級選擇的普通節(jié)點(diǎn)是根據(jù)全局信息選擇的節(jié)點(diǎn),因此新的超級節(jié)點(diǎn)的加入會引起全局整個網(wǎng)絡(luò)的拓?fù)渥兓瑢?dǎo)致網(wǎng)絡(luò)不穩(wěn)定,同時如果選擇的被升級的普通節(jié)點(diǎn)不穩(wěn)定,退出超級節(jié)點(diǎn)網(wǎng)絡(luò),簇的重新調(diào)整同樣會涉及整個網(wǎng)絡(luò)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法和系統(tǒng),解決RELOAD協(xié)議描述的P2P網(wǎng)絡(luò)中普通節(jié)點(diǎn)升級為超級節(jié)點(diǎn)的問題,同時盡量的減少對網(wǎng)絡(luò)流量的開銷,并維護(hù)網(wǎng)絡(luò)的穩(wěn)定性。一種P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法,包括如下步驟:超級節(jié)點(diǎn)周期性地查詢 該超級節(jié)點(diǎn)的負(fù)載情況,判斷該超級節(jié)點(diǎn)的負(fù)載是否達(dá)到預(yù)設(shè)的負(fù)載門限值;
若是,則所述超級節(jié)點(diǎn)確定與該超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性;所述超級節(jié)點(diǎn)根據(jù)各所述普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性確定最優(yōu)普通節(jié)點(diǎn);所述超級節(jié)點(diǎn)向所述最優(yōu)普通節(jié)點(diǎn)發(fā)送升級指令;所述最優(yōu)普通節(jié)點(diǎn)在接收到所述升級指令后進(jìn)行升級。一種P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇系統(tǒng),包括超級節(jié)點(diǎn)升級觸發(fā)模塊、超級節(jié)點(diǎn)交互模塊、普通節(jié)點(diǎn)升級交互模塊、普通節(jié)點(diǎn)升級執(zhí)行模塊,其中:所述超級節(jié)點(diǎn)升級觸發(fā)模塊用于周期性地查詢超級節(jié)點(diǎn)的負(fù)載情況,判斷該超級節(jié)點(diǎn)的負(fù)載是否達(dá)到預(yù)設(shè)的負(fù)載門限值;所述超級節(jié)點(diǎn)交互模塊用于在所述負(fù)載達(dá)到預(yù)設(shè)的負(fù)載門限值時,與所述普通節(jié)點(diǎn)升級交互模塊進(jìn)行交互確定與所述超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性,所述超級節(jié)點(diǎn)交互模塊還用于根據(jù)各所述普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性確定最優(yōu)普通節(jié)點(diǎn),還用于向所述最優(yōu)普通節(jié)點(diǎn)發(fā)送升級指令;所述普通節(jié)點(diǎn)升級執(zhí)行模塊用于在超級節(jié)點(diǎn)接收到所述升級指令后進(jìn)行所述最優(yōu)普通節(jié)點(diǎn)的升級。 依據(jù)上述本發(fā)明的方案,在超級節(jié)點(diǎn)周期性地查詢該超級節(jié)點(diǎn)的負(fù)載情況時,若查詢到負(fù)載過重,則超級節(jié)點(diǎn)確定與該超級節(jié)點(diǎn)連接的各個普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性,并在選取最優(yōu)普通節(jié)點(diǎn)后將該最優(yōu)普通節(jié)點(diǎn)升級為超級節(jié)點(diǎn),這種局部升級策略,超級節(jié)點(diǎn)的選擇發(fā)生在局部區(qū)域,例如一個簇內(nèi),用來緩解當(dāng)前超級節(jié)點(diǎn)的負(fù)載,這種負(fù)載的緩解作用發(fā)生在局部區(qū)域,減少了網(wǎng)絡(luò)流量,避免了大面積的拓?fù)湔{(diào)整,維持了網(wǎng)絡(luò)的穩(wěn)定性。
圖1為一個使用RELOAD協(xié)議的疊加網(wǎng)絡(luò)示意圖;圖2為本發(fā)明的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法一個實施例的流程示意圖;圖3為本發(fā)明的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法另一個實施例的流程示意圖;圖4為圖2中步驟S102的細(xì)化流程示意圖;圖5為圖2中步驟S105的細(xì)化流程示意圖;圖6為本發(fā)明的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇系統(tǒng)實施例的結(jié)構(gòu)示意圖;圖7為圖6中超級節(jié)點(diǎn)交互模塊的細(xì)化結(jié)構(gòu)示意圖;圖8為圖6中普通節(jié)點(diǎn)升級執(zhí)行模塊的細(xì)化結(jié)構(gòu)示意圖。
具體實施例方式下面結(jié)合實施例及附圖對本發(fā)明作進(jìn)一步闡述,但本發(fā)明的實現(xiàn)方式不限于此。在下述說明中,首先針對本發(fā)明的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法的實施例進(jìn)行說明,再針對本發(fā)明的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇系統(tǒng)的實施例進(jìn)行說明。參見圖2所示,為本發(fā)明的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法實施例的流程示意圖。如圖2所示,本實施例的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法包括如下步驟:步驟SlOl:超級節(jié)點(diǎn)周期性地查詢該超級節(jié)點(diǎn)的負(fù)載情況,判斷該超級節(jié)點(diǎn)的負(fù)載是否達(dá)到預(yù)設(shè)的負(fù)載門限值,若是,進(jìn)入步驟S102 ;超級節(jié)點(diǎn)每隔時間t查詢一次負(fù)載情況,以檢測當(dāng)前的超級節(jié)點(diǎn)是否負(fù)載超重,時間間隔t可以根據(jù)實際情況設(shè)定,負(fù)載門限值可以根據(jù)當(dāng)前的超級節(jié)點(diǎn)的承受負(fù)載的能力預(yù)先設(shè)定,其中,負(fù)載情況包括超級節(jié)點(diǎn)的節(jié)點(diǎn)連接度、CPU處理能力,剩余內(nèi)存等等,負(fù)載超重包括節(jié)點(diǎn)連接度上升到對應(yīng)的門限值、CPU處理能力下降到對應(yīng)的門限值、或者剩余內(nèi)存下降到對應(yīng)的門限值等等;步驟S102:所述超級節(jié)點(diǎn)確定與該超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性;超級節(jié)點(diǎn)可以根據(jù)與其連接的各普通節(jié)點(diǎn)的CPU、內(nèi)存、上線時間、節(jié)點(diǎn)邏輯標(biāo)識確定各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性,其中,將與超級節(jié)點(diǎn)連接的所有普通節(jié)點(diǎn)作為候選節(jié)點(diǎn)不需要額外的太多信息交互,可以減少網(wǎng)絡(luò)流量開銷,這是由于超級節(jié)點(diǎn)可以方便的獲取并保存這些普通節(jié)點(diǎn)的地址信息、節(jié)點(diǎn)邏輯標(biāo)識、上線時間等網(wǎng)絡(luò)信息,只有普通節(jié)點(diǎn)的剩余資源情況(包括CPU、內(nèi)存等)才需要通過超級節(jié)點(diǎn)與普通節(jié)點(diǎn)的交互獲取;步驟S103:所述超級節(jié)點(diǎn)根據(jù)所述普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性確定最優(yōu)普通節(jié)點(diǎn);超級節(jié)點(diǎn)通過比較各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性確定最優(yōu)普通節(jié)點(diǎn),例如,將各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性按順序排列,選取節(jié)點(diǎn)重要性對應(yīng)數(shù)值最大的普通節(jié)點(diǎn)為最優(yōu)普通節(jié)
占.
步驟S104:所述超級節(jié)點(diǎn)向所述最優(yōu)普通節(jié)點(diǎn)發(fā)送升級指令,即通知最優(yōu)普通節(jié)點(diǎn)進(jìn)行升級;步驟S105:所述最優(yōu)普通節(jié)點(diǎn)在接收到所述升級指令后進(jìn)行升級。據(jù)此,依據(jù)上述本發(fā)明的方案,其是在超級節(jié)點(diǎn)周期性地查詢該超級節(jié)點(diǎn)的負(fù)載情況時,若查詢到負(fù)載過重,則超級節(jié)點(diǎn)確定與該超級節(jié)點(diǎn)連接的各個普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性,并在選取最優(yōu)普通節(jié)點(diǎn)后將該最優(yōu)普通節(jié)點(diǎn)升級為超級節(jié)點(diǎn),這種局部升級策略,超級節(jié)點(diǎn)(升級為超級節(jié)點(diǎn)的普 通節(jié)點(diǎn))的選擇發(fā)生在局部區(qū)域,例如一個簇內(nèi),用來緩解當(dāng)前超級節(jié)點(diǎn)(執(zhí)行選擇普通節(jié)點(diǎn)升級為超級節(jié)點(diǎn)的超級節(jié)點(diǎn))的負(fù)載,這種負(fù)載的緩解作用發(fā)生在局部區(qū)域,減少了網(wǎng)絡(luò)流量,避免了大面積的拓?fù)湔{(diào)整,維持了網(wǎng)絡(luò)的穩(wěn)定性。其中,本發(fā)明不但可以采用局部升級策略,還可以采用與該局部升級策略兼容、不沖突的全局控制策略,以更加靈敏的感知負(fù)載,使調(diào)節(jié)效果更加明顯,全局控制策略是在局部升級策略的基礎(chǔ)上,引入了集中控制節(jié)點(diǎn)。集中控制節(jié)點(diǎn)負(fù)責(zé)感知網(wǎng)絡(luò)負(fù)載變化,綜合考慮當(dāng)前網(wǎng)絡(luò)的普通節(jié)點(diǎn)和超級節(jié)點(diǎn)的分布情況,選取合適的普通節(jié)點(diǎn)升級為超級節(jié)點(diǎn),如圖3所示,具體可以包括如下步驟:步驟S201:所述超級節(jié)點(diǎn)監(jiān)聽集中控制節(jié)點(diǎn)發(fā)送的升級消息,在監(jiān)聽到集中控制節(jié)點(diǎn)發(fā)送的升級消息時,進(jìn)入步驟S202,所述升級消息包括升級命令、節(jié)點(diǎn)邏輯標(biāo)識、物理信息,進(jìn)入步驟S202 ;集中控制節(jié)點(diǎn)在發(fā)送升級消息前,一般需要收集當(dāng)前網(wǎng)絡(luò)中所有超級節(jié)點(diǎn)以及普通節(jié)點(diǎn)的各種信息,具體的交互信息包括當(dāng)前網(wǎng)絡(luò)中所有超級節(jié)點(diǎn)的性能參數(shù)(連接度、負(fù)載狀況等),還包括當(dāng)前網(wǎng)絡(luò)中所有普通節(jié)點(diǎn)的節(jié)點(diǎn)邏輯標(biāo)識、物理網(wǎng)絡(luò)信息等,這些信息可以封裝在一個TCP包中傳輸,由于全局策略的執(zhí)行頻率不會很高,因此交互信息對網(wǎng)絡(luò)帶寬的消耗可以接受;步驟S202:所述超級節(jié)點(diǎn)根據(jù)所述升級信息中的物理信息從與該超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)中選擇出與該物理信息相對應(yīng)的普通節(jié)點(diǎn)作為候選節(jié)點(diǎn);也就是說,過濾與集中控制節(jié)點(diǎn)發(fā)送的物理信息不相符的普通節(jié)點(diǎn);
步驟S203:所述超級節(jié)點(diǎn)確定所述候選節(jié)點(diǎn)的節(jié)點(diǎn)重要性,根據(jù)候選節(jié)點(diǎn)的節(jié)點(diǎn)重要性確定最優(yōu)候選節(jié)點(diǎn);本步驟中在確定所述候選節(jié)點(diǎn)的節(jié)點(diǎn)重要性過程中不必考慮各個候選節(jié)點(diǎn)能接入的節(jié)點(diǎn)數(shù)目,即不考慮候選節(jié)點(diǎn)對當(dāng)前節(jié)點(diǎn)的調(diào)節(jié)力度;步驟S204:所述超級節(jié)點(diǎn)將所述節(jié)點(diǎn)邏輯標(biāo)識分配給所述最優(yōu)候選節(jié)點(diǎn);集中控制節(jié)點(diǎn)中,全局控制策略可以周期性的觸發(fā)執(zhí)行,集中控制節(jié)點(diǎn)根據(jù)獲取到的信息,自適應(yīng)的選擇超級節(jié)點(diǎn)發(fā)送升級消息,例如,某些超級節(jié)點(diǎn)屬于運(yùn)營商I網(wǎng)絡(luò),而其所管理的普通節(jié)點(diǎn)大部分屬于運(yùn)營商2網(wǎng)絡(luò),這種情況下,超級節(jié)點(diǎn)與普通節(jié)點(diǎn)的交互效率就比較低。這時,集中控制節(jié)點(diǎn)就可以選擇合適的超級節(jié)點(diǎn),該超級節(jié)點(diǎn)在集中控制節(jié)點(diǎn)的指導(dǎo)下,選擇滿足要求且性能高的普通節(jié)點(diǎn)進(jìn)行升級,判斷是否合適的標(biāo)準(zhǔn)可以根據(jù)實際情況設(shè)定,如,某個超級節(jié)點(diǎn)所連接的普通節(jié)點(diǎn)很多都屬于運(yùn)營商2網(wǎng)絡(luò),便于選擇的屬于運(yùn)營商網(wǎng)絡(luò)2的且性能比較高的普通節(jié)點(diǎn)進(jìn)行升級。在本實施例中,通過對負(fù)載情況進(jìn)行評估,全局的調(diào)整了網(wǎng)絡(luò)負(fù)載,較局部升級策略,全局控制策略中選 擇的普通節(jié)點(diǎn)就有更高的性能,對網(wǎng)絡(luò)的貢獻(xiàn)更大,集中控制節(jié)點(diǎn)提供的節(jié)點(diǎn)邏輯標(biāo)識使得新升級的超級節(jié)點(diǎn)可以接入更多的普通節(jié)點(diǎn),這是由于普通節(jié)點(diǎn)的節(jié)點(diǎn)邏輯標(biāo)識是固定的,普通節(jié)點(diǎn)被升級為超級節(jié)點(diǎn)時,所管理的普通節(jié)點(diǎn)的個數(shù)受限于所使用疊加網(wǎng)所使用的DHT算法,如果系統(tǒng)提供一個新的點(diǎn)邏輯標(biāo)識,可以保證,升級后的普通節(jié)點(diǎn)接入更多的普通節(jié)點(diǎn)。超級節(jié)點(diǎn)的選擇過程中物理網(wǎng)絡(luò)信息的加入,使得選取出來的超級節(jié)點(diǎn)更能滿足現(xiàn)有網(wǎng)絡(luò)中的物理狀況,對負(fù)載的緩解和對網(wǎng)絡(luò)的性能方面,都具有積極的作用,同時,過濾與集中控制節(jié)點(diǎn)發(fā)送的物理信息不相符的普通節(jié)點(diǎn)也可以減少網(wǎng)絡(luò)流量。在其中一個實施例中,如圖4所示,上述步驟S102具體可以包括如下步驟:步驟S1021:所述超級節(jié)點(diǎn)根據(jù)獲取到的普通節(jié)點(diǎn)的內(nèi)存空閑比例和CPU的空閑比例確定對應(yīng)的普通節(jié)點(diǎn)的節(jié)點(diǎn)性能指標(biāo);獲取超級節(jié)點(diǎn)連接的所有普通節(jié)點(diǎn)的內(nèi)存空閑比例X1、CPU的空閑比例X2,再根據(jù)X1、X2確定對應(yīng)的普通節(jié)點(diǎn)的性能指標(biāo)I1,其中:Xl=(物理內(nèi)存總量-已用內(nèi)存)/物理內(nèi)存總量;X2=1-CPU執(zhí)行非系統(tǒng)空閑進(jìn)程的時間/CPU總的執(zhí)行時間;I1=a*Xl+b*X2; (a+b=l);a與b的具體值可以根據(jù)具體的應(yīng)用類型進(jìn)行設(shè)置,例如,對于文件共享類應(yīng)用,由于需要在超級節(jié)點(diǎn)中檢索文件的索引,對內(nèi)存占用率高,因此b的值可以取大一點(diǎn),具體應(yīng)用類型對CPU和內(nèi)存的使用情況,可以通過對檢測到的應(yīng)用運(yùn)行時的數(shù)據(jù)進(jìn)行分析獲??;步驟S1022:所述超級節(jié)點(diǎn)根據(jù)網(wǎng)絡(luò)中超級節(jié)點(diǎn)之間使用的信息的存儲、轉(zhuǎn)發(fā)和路由的算法確定各普通節(jié)點(diǎn)加入疊加網(wǎng)的網(wǎng)絡(luò)緩解狀況12,即對當(dāng)前網(wǎng)絡(luò)負(fù)載情況的緩解狀況;路由的算法可以采用現(xiàn)有算法,例如DHT算法,在此不予贅述,候選普通節(jié)點(diǎn)加入網(wǎng)絡(luò)對當(dāng)前網(wǎng)絡(luò)負(fù)載情況的緩解狀況具體是指候選普通節(jié)點(diǎn)升級后能分擔(dān)幾個接入的普通節(jié)點(diǎn),得到數(shù)量N,其中,對于不同的DHT算法,該計算過程是不同的。以Chord算法為例,在chord中,超級節(jié)點(diǎn)管理節(jié)點(diǎn)邏輯標(biāo)識小于或等于該超級節(jié)點(diǎn)的節(jié)點(diǎn)(包括該超級節(jié)點(diǎn)),例如超級節(jié)點(diǎn)node5管理節(jié)點(diǎn)nodeO node5,超級節(jié)點(diǎn)nodel3管理節(jié)點(diǎn)node6 nodel3,如果超級節(jié)點(diǎn)nodel3的負(fù)載達(dá)到上限,觸發(fā)升級流程,在超級節(jié)點(diǎn)nodel3管理的普通節(jié)點(diǎn)中,node6 的 N=I,只能接入 node6 ;node7 的 N=2,可以接入 node6、node7 ;node8 的 N=3,可以接入node6、node7, node8 ;以此類推;然而,N值是一個理論值,普通節(jié)點(diǎn)升級后可以為當(dāng)前超級節(jié)點(diǎn)負(fù)載的用戶數(shù),實際的值與普通節(jié)點(diǎn)的性能相關(guān),同時考慮到升級后的普通節(jié)點(diǎn)可以為新加入的節(jié)點(diǎn)進(jìn)行接入,因此,網(wǎng)絡(luò)緩解狀況I2=cN; (c≤I),c的取值應(yīng)與(a*Xl+b*X2)正相關(guān);步驟S1023:所述超級節(jié)點(diǎn)根據(jù)各普通節(jié)點(diǎn)的上線時間確定節(jié)點(diǎn)的穩(wěn)定性指標(biāo)Is ;超級節(jié)點(diǎn)可以記錄其連接的各普通節(jié)點(diǎn)上線時間,一般來講,用戶的在線時間越長,在下一刻離開的概率越小,因此,選擇上線時間來衡量用戶未來在線的可能性,其中在線時間設(shè)為T,I3=ClT, d的值是對穩(wěn)定性的評估;對于上述a,b,c,d的具體取值,除上述分析的原因外,還需要與具體的應(yīng)用、網(wǎng)絡(luò)的部署結(jié)合,通過多次數(shù)據(jù)比較,選擇最合適的a,b,c,d的值;步驟S1024:所述超級節(jié)點(diǎn)根據(jù)所述節(jié)點(diǎn)性能指標(biāo)、網(wǎng)絡(luò)緩解狀況和節(jié)點(diǎn)穩(wěn)定度指標(biāo)確定節(jié)點(diǎn)重要性I,I=CO1IACO2I^co3I3節(jié)點(diǎn)重要性是綜合考慮節(jié)點(diǎn)性能指標(biāo),網(wǎng)絡(luò)負(fù)載狀況和節(jié)點(diǎn)穩(wěn)定度指標(biāo)這三個指標(biāo)獲得的。節(jié)點(diǎn)重要性公式中,Q1表示節(jié)點(diǎn)性能權(quán)重,ω2表示網(wǎng)絡(luò)緩解權(quán)重,ω3表示節(jié)點(diǎn)穩(wěn)定度權(quán)重;則在獲得了各個候選普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性后,就可以選取I值最大的普通節(jié)點(diǎn)作為需要升級為超級節(jié)點(diǎn)的普通節(jié)點(diǎn)。采用本實施例中的方式確定各普通節(jié)點(diǎn)對應(yīng)的節(jié)點(diǎn)重要性,選取最優(yōu)普通節(jié)點(diǎn)過程中,充分考慮了普通節(jié)點(diǎn)的內(nèi)存、CPU、節(jié)點(diǎn)邏輯標(biāo)識、上線時間等信息,能夠提高節(jié)點(diǎn)重要性的準(zhǔn)確性,保證了最優(yōu)普通節(jié)點(diǎn)能充分解決當(dāng)前超級節(jié)點(diǎn)的負(fù)載過重問題,同時不需要額外的太多信息交互,可以減少網(wǎng)絡(luò)流量開銷。在其中一個實施例中,如圖5所示,上述步驟S105具體可以包括如下步驟:步驟S1051:所述最優(yōu)普通節(jié)點(diǎn)在接收到所述升級指令后,斷開與所述超級節(jié)點(diǎn)的連接,刪除用戶數(shù)據(jù);各普通節(jié)點(diǎn)在啟動時打開監(jiān)聽端口,用于監(jiān)聽升級指令,最優(yōu)普通節(jié)點(diǎn)監(jiān)聽到升級指令后,完成升級的相關(guān)操作,以超級節(jié)點(diǎn)的角色加入疊加網(wǎng)中,首先應(yīng)該斷開與原有超級節(jié)點(diǎn)(超級節(jié)點(diǎn))的連接;步驟S1052:修改RELOAD的配置文件;RELOAD以設(shè)置的超級節(jié)點(diǎn)類型啟動;步驟S1053:調(diào)用RELOAD協(xié)議棧的超級節(jié)點(diǎn)的加入過程;具體過程依賴于具體的協(xié)議棧實現(xiàn),在此不予贅述。另外,在所述最優(yōu)普通節(jié)點(diǎn)接收到升級指令時,還可以判斷所述最優(yōu)普通節(jié)點(diǎn)是否為超級節(jié)點(diǎn),目的是為了防止被選出最優(yōu)普通節(jié)點(diǎn)不是普通節(jié)點(diǎn),而是超級節(jié)點(diǎn)情況,因為在某些DHT算法中,例如chord算法中,超級節(jié)點(diǎn)管理節(jié)點(diǎn)邏輯標(biāo)識小于等于其自身的節(jié)點(diǎn)邏輯標(biāo)識的節(jié)點(diǎn),這種情況下,超級節(jié)點(diǎn)選擇算法,很有可能選擇出的節(jié)點(diǎn)就是超級節(jié)點(diǎn)本身,為了避免這種情況,這里做這樣一個判斷。一般在以下場景下可能發(fā)生RELOAD的協(xié)議棧已經(jīng)以超級節(jié)點(diǎn)的模式運(yùn)行,也即被選出的最優(yōu)普通節(jié)點(diǎn)已經(jīng)是超級節(jié)點(diǎn):這個超級節(jié)點(diǎn)負(fù)責(zé)的普通節(jié)點(diǎn)包括其本身,例如chord算法描述,當(dāng)該超級節(jié)點(diǎn)負(fù)載過重時,計算其自身以及其他超級節(jié)點(diǎn)的節(jié)點(diǎn)重要性,存在這種情況,此時超級節(jié)點(diǎn)本身仍然是節(jié)點(diǎn)重要性最高的節(jié)點(diǎn),如果不進(jìn)行最優(yōu)節(jié)點(diǎn)的協(xié)議棧的檢測的話,超級節(jié)點(diǎn)會選擇其本身進(jìn)行升級,為了避免出現(xiàn)這種情況,所述最優(yōu)普通節(jié)點(diǎn)接收到升級指令時,還一般要判斷所述最優(yōu)普通節(jié)點(diǎn)是否為超級節(jié)點(diǎn)。依據(jù)上述本發(fā)明的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法,本發(fā)明還提供一種P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇系統(tǒng),如圖6所示,本發(fā)明實施例的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇系統(tǒng)包括超級節(jié)點(diǎn)升級觸發(fā)模塊301、超級節(jié)點(diǎn)交互模塊302、普通節(jié)點(diǎn)升級交互模塊303、普通節(jié)點(diǎn)升級執(zhí)行模塊304,其中:超級節(jié)點(diǎn)升級觸發(fā)模塊301,用于周期性地查詢超級節(jié)點(diǎn)的負(fù)載情況,判斷該超級節(jié)點(diǎn)的負(fù)載是否達(dá)到預(yù)設(shè)的負(fù)載門限值;超級節(jié)點(diǎn)交互模塊302,用于在所述負(fù)載達(dá)到預(yù)設(shè)的負(fù)載門限值時,與普通節(jié)點(diǎn)升級交互模塊303進(jìn)行交互確定與所述超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性,所述超級節(jié)點(diǎn)交互模塊還用于根據(jù)各所述普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性確定最優(yōu)普通節(jié)點(diǎn),還用于向所述最優(yōu)普通節(jié)點(diǎn)發(fā)送升級指令,其中,將與超級節(jié)點(diǎn)連接的所有普通節(jié)點(diǎn)作為候選節(jié)點(diǎn)不需要額外的太多信息交互,可以減少網(wǎng)絡(luò)流量開銷;普通節(jié)點(diǎn)升級交互模塊303,用于與超級節(jié)點(diǎn)交互模塊302進(jìn)行信息交互以提供部分用于確定各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性的信息,如剩余資源情況(包括CPU、內(nèi)存等);普通節(jié)點(diǎn)升級執(zhí)行模塊304,用 于在接收到所述超級節(jié)點(diǎn)發(fā)送的升級指令后進(jìn)行所述最優(yōu)普通節(jié)點(diǎn)的升級。依據(jù)上述本實施例的方案,超級節(jié)點(diǎn)(升級為超級節(jié)點(diǎn)的普通節(jié)點(diǎn))的選擇發(fā)生在局部區(qū)域,例如一個簇內(nèi),用來緩解當(dāng)前超級節(jié)點(diǎn)(執(zhí)行選擇普通節(jié)點(diǎn)升級為超級節(jié)點(diǎn)的超級節(jié)點(diǎn))的負(fù)載,這種負(fù)載的緩解作用發(fā)生在局部區(qū)域,減少了網(wǎng)絡(luò)流量,避免了大面積的拓?fù)湔{(diào)整,維持了網(wǎng)絡(luò)的穩(wěn)定性。其中,本發(fā)明不但可以采用上述實施例中的局部升級策略,還可以采用與該局部升級策略兼容、不沖突的全局控制策略,以更加靈敏的感知負(fù)載,使調(diào)節(jié)效果更加明顯,全局控制策略是在局部升級策略的基礎(chǔ)上,引入了集中控制節(jié)點(diǎn)。具體的,在其中一個實施例中,超級節(jié)點(diǎn)升級觸發(fā)模塊301還用于監(jiān)聽集中控制節(jié)點(diǎn)發(fā)送的升級消息,所述升級消息包括升級命令、節(jié)點(diǎn)邏輯標(biāo)識、物理信息;超級節(jié)點(diǎn)交互模塊302還用于在所述超級節(jié)點(diǎn)升級觸發(fā)模塊監(jiān)聽到升級消息時,從與對應(yīng)的超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)中選擇出與所述物理信息相對應(yīng)的普通節(jié)點(diǎn)作為候選節(jié)點(diǎn),還用于所述超級節(jié)點(diǎn)與所述候選節(jié)點(diǎn)進(jìn)行信息交互,選擇最優(yōu)候選節(jié)點(diǎn),將所述節(jié)點(diǎn)邏輯標(biāo)識分配給所述最優(yōu)候選節(jié)點(diǎn)。在本實施例中,通過對負(fù)載情況進(jìn)行評估,全局的調(diào)整了網(wǎng)絡(luò)負(fù)載,較局部升級策略,全局控制策略中選擇的普通節(jié)點(diǎn)具有更高的性能,對網(wǎng)絡(luò)的貢獻(xiàn)更大,集中控制節(jié)點(diǎn)提供的節(jié)點(diǎn)邏輯標(biāo)識使得新升級的超級節(jié)點(diǎn)可以接入更多的普通節(jié)點(diǎn),同時,過濾與集中控制節(jié)點(diǎn)發(fā)送的物理信息不相符的普通節(jié)點(diǎn)也可以減少網(wǎng)絡(luò)流量。在其中一個實施例中,如圖7所示,超級節(jié)點(diǎn)交互模塊302可以包括節(jié)點(diǎn)性能指標(biāo)確定單元3021、緩解狀況確定單元3022、穩(wěn)定性指標(biāo)確定單元3023,其中:節(jié)點(diǎn)性能指標(biāo)確定單元3021,用于根據(jù)獲取到的普通節(jié)點(diǎn)的內(nèi)存空閑比例和CPU的空閑比例確定對應(yīng)的普通節(jié)點(diǎn)的節(jié)點(diǎn)性能指標(biāo);緩解狀況確定單元3022,用于根據(jù)網(wǎng)絡(luò)中超級節(jié)點(diǎn)之間使用的信息的存儲、轉(zhuǎn)發(fā)和路由的算法確定各普通節(jié)點(diǎn)加入網(wǎng)絡(luò)后的網(wǎng)絡(luò)緩解狀況;穩(wěn)定性指標(biāo)確定單元3023,用于根據(jù)各普通節(jié)點(diǎn)的上線時間確定節(jié)點(diǎn)的穩(wěn)定性指標(biāo);節(jié)點(diǎn)重要性確定單元,用于根據(jù)所述節(jié)點(diǎn)性能指標(biāo)、網(wǎng)絡(luò)緩解狀況和節(jié)點(diǎn)穩(wěn)定度指標(biāo)確定節(jié)點(diǎn)重要性。本實施例中確定節(jié)點(diǎn)重要性的方式和前述P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法實施例中的對應(yīng)方式相同,在此不予贅述,采用本實施例中的方式確定各普通節(jié)點(diǎn)對應(yīng)的節(jié)點(diǎn)重要性,選取最優(yōu)普通節(jié)點(diǎn)過程中,充分考慮了普通節(jié)點(diǎn)的內(nèi)存、CPU、節(jié)點(diǎn)邏輯標(biāo)識、上線時間等信息,能夠提高節(jié)點(diǎn)重要性的準(zhǔn)確 性,保證了最優(yōu)普通節(jié)點(diǎn)能充分解決當(dāng)前超級節(jié)點(diǎn)的負(fù)載過重問題,同時不需要額外的太多信息交互,可以減少網(wǎng)絡(luò)流量開銷。在其中一個實施例中,如圖8所示,普通節(jié)點(diǎn)升級執(zhí)行模塊304可以包括中斷單元3041、修改單元3042、調(diào)用單元3043,其中:中斷單元3041,用于所述最優(yōu)普通節(jié)點(diǎn)在接收到所述升級指令后,斷開與所述超級節(jié)點(diǎn)的連接,刪除用戶數(shù)據(jù);修改單元3042,用于修改RELOAD的配置文件;調(diào)用單元3043,用于調(diào)用RELOAD協(xié)議棧的超級節(jié)點(diǎn)的加入過程。在其中一個實施例中,普通節(jié)點(diǎn)升級執(zhí)行模塊304還用于在接收到升級指令時,判斷所述最優(yōu)普通節(jié)點(diǎn)是否為超級節(jié)點(diǎn)。以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法,其特征在于,包括如下步驟: 超級節(jié)點(diǎn)周期性地查詢該超級節(jié)點(diǎn)的負(fù)載情況,判斷該超級節(jié)點(diǎn)的負(fù)載是否達(dá)到預(yù)設(shè)的負(fù)載門限值; 若是,則所述超級節(jié)點(diǎn)確定與該超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性; 所述超級節(jié)點(diǎn)根據(jù)各所述普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性確定最優(yōu)普通節(jié)點(diǎn); 所述超級節(jié)點(diǎn)向所述最優(yōu)普通節(jié)點(diǎn)發(fā)送升級指令; 所述最優(yōu)普通節(jié)點(diǎn)在接收到所述升級指令后進(jìn)行升級。
2.根據(jù)權(quán)利要求1所述的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法,其特征在于,還包括步驟: 所述超級節(jié)點(diǎn)監(jiān)聽到集中控制節(jié)點(diǎn)發(fā)送的升級消息,所述升級消息包括升級命令、節(jié)點(diǎn)邏輯標(biāo)識、物理信息; 所述超級節(jié)點(diǎn)根據(jù)所述物理信息從與該超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)中選擇出與所述物理信息相對應(yīng)的普通節(jié)點(diǎn)作為候選節(jié)點(diǎn); 所述超級節(jié)點(diǎn)與所述候選節(jié)點(diǎn)進(jìn)行信息交互,選擇最優(yōu)候選節(jié)點(diǎn); 所述超級節(jié)點(diǎn)將所述節(jié)點(diǎn)邏輯標(biāo)識 分配給所述最優(yōu)候選節(jié)點(diǎn)。
3.根據(jù)權(quán)利要求1或2所述的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法,其特征在于,所述超級節(jié)點(diǎn)確定與該超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性包括如下步驟: 所述超級節(jié)點(diǎn)根據(jù)獲取到的普通節(jié)點(diǎn)的內(nèi)存空閑比例和CPU的空閑比例確定對應(yīng)的普通節(jié)點(diǎn)的節(jié)點(diǎn)性能指標(biāo); 所述超級節(jié)點(diǎn)根據(jù)網(wǎng)絡(luò)中超級節(jié)點(diǎn)之間信息的存儲、轉(zhuǎn)發(fā)和路由的算法確定各普通節(jié)點(diǎn)加入網(wǎng)絡(luò)后的網(wǎng)絡(luò)緩解狀況; 所述超級節(jié)點(diǎn)根據(jù)各普通節(jié)點(diǎn)的上線時間確定節(jié)點(diǎn)的穩(wěn)定性指標(biāo); 所述超級節(jié)點(diǎn)根據(jù)所述節(jié)點(diǎn)性能指標(biāo)、網(wǎng)絡(luò)緩解狀況和節(jié)點(diǎn)穩(wěn)定度指標(biāo)確定節(jié)點(diǎn)重要性。
4.根據(jù)權(quán)利要求1或2所述的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法,其特征在于,所述最優(yōu)普通節(jié)點(diǎn)在接收到所述升級指令后進(jìn)行升級包括如下步驟: 所述最優(yōu)普通節(jié)點(diǎn)在接收到所述升級指令后,斷開與所述超級節(jié)點(diǎn)的連接,刪除用戶數(shù)據(jù); 修改RELOAD的配置文件; 調(diào)用RELOAD協(xié)議棧的超級節(jié)點(diǎn)的加入過程。
5.根據(jù)權(quán)利要求1或2所述的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法,還包括步驟:在所述最優(yōu)普通節(jié)點(diǎn)在接收到升級指令時,判斷所述最優(yōu)普通節(jié)點(diǎn)是否為超級節(jié)點(diǎn)。
6.一種P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇系統(tǒng),其特征在于,包括超級節(jié)點(diǎn)升級觸發(fā)模塊、超級節(jié)點(diǎn)交互模塊、普通節(jié)點(diǎn)升級交互模塊、普通節(jié)點(diǎn)升級執(zhí)行模塊,其中: 所述超級節(jié)點(diǎn)升級觸發(fā)模塊用于周期性地查詢超級節(jié)點(diǎn)的負(fù)載情況,判斷該超級節(jié)點(diǎn)的負(fù)載是否達(dá)到預(yù)設(shè)的負(fù)載門限值; 所述超級節(jié)點(diǎn)交互模塊用于在所述負(fù)載達(dá)到預(yù)設(shè)的負(fù)載門限值時,與所述普通節(jié)點(diǎn)升級交互模塊進(jìn)行交互確定與所述超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性,所述超級節(jié)點(diǎn)交互模塊還用于根據(jù)各所述普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性確定最優(yōu)普通節(jié)點(diǎn),還用于向所述最優(yōu)普通節(jié)點(diǎn)發(fā)送升級指令;所述普通節(jié)點(diǎn)升級執(zhí)行模塊用于在超級節(jié)點(diǎn)接收到所述升級指令后進(jìn)行所述最優(yōu)普通節(jié)點(diǎn)的升級。
7.根據(jù)權(quán)利要求6所述的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇系統(tǒng),其特征在于: 所述超級節(jié)點(diǎn)升級觸發(fā)模塊還用于監(jiān)聽集中控制節(jié)點(diǎn)發(fā)送的升級消息,所述升級消息包括升級命令、節(jié)點(diǎn)邏輯標(biāo)識、物理信息; 所述超級節(jié)點(diǎn)交互模塊還用于在所述超級節(jié)點(diǎn)升級觸發(fā)模塊監(jiān)聽到升級消息時,從與對應(yīng)的超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)中選擇出與所述物理信息相對應(yīng)的普通節(jié)點(diǎn)作為候選節(jié)點(diǎn),還用于所述超級節(jié)點(diǎn)與所述候選節(jié)點(diǎn)進(jìn)行信息交互,選擇最優(yōu)候選節(jié)點(diǎn),將所述節(jié)點(diǎn)邏輯標(biāo)識分配給所述最優(yōu)候選節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求6或7所述的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇系統(tǒng),其特征在于,所述超級節(jié)點(diǎn)交互模塊包括: 節(jié)點(diǎn)性能指標(biāo)確定單元,用于根據(jù)獲取到的普通節(jié)點(diǎn)的內(nèi)存空閑比例和CPU的空閑比例確定對應(yīng)的普通節(jié)點(diǎn)的節(jié)點(diǎn)性能指標(biāo); 緩解狀況確定單元,用于根據(jù)網(wǎng)絡(luò)中超級節(jié)點(diǎn)之間使用的信息的存儲、轉(zhuǎn)發(fā)和路由的算法確定各普通節(jié)點(diǎn)加入網(wǎng)絡(luò)后的網(wǎng)絡(luò)緩解狀況; 穩(wěn)定性指標(biāo)確定單元,用于根據(jù)各普通節(jié)點(diǎn)的上線時間確定節(jié)點(diǎn)的穩(wěn)定性指標(biāo); 節(jié)點(diǎn)重要性確定單元,用于根據(jù)所述節(jié)點(diǎn)性能指標(biāo)、網(wǎng)絡(luò)緩解狀況和節(jié)點(diǎn)穩(wěn)定度指標(biāo)確定節(jié)點(diǎn)重要性。
9.根據(jù)權(quán)利要求6或7所述的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇系統(tǒng),其特征在于,所述普通節(jié)點(diǎn)升級執(zhí)行模塊包括: 中斷單元,用于所述最優(yōu)普通節(jié)點(diǎn)在接收到所述升級指令后,斷開與所述超級節(jié)點(diǎn)的連接,刪除用戶數(shù)據(jù); 修改單元,用于修改RELOAD的配置文件; 調(diào)用單元,用于調(diào)用RELOAD協(xié)議棧的超級節(jié)點(diǎn)的加入過程。
10.根據(jù)權(quán)利要求6或7所述的P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇系統(tǒng),其特征在于,所述普通節(jié)點(diǎn)升級執(zhí)行模塊還用于在接收到升級指令時,判斷所述最優(yōu)普通節(jié)點(diǎn)是否為超級節(jié)點(diǎn)。
全文摘要
本發(fā)明提供一種P2P網(wǎng)絡(luò)超級節(jié)點(diǎn)選擇方法和系統(tǒng),其方法包括步驟超級節(jié)點(diǎn)周期性地查詢該超級節(jié)點(diǎn)的負(fù)載情況,判斷該超級節(jié)點(diǎn)的負(fù)載是否達(dá)到預(yù)設(shè)的負(fù)載門限值;若是,則所述超級節(jié)點(diǎn)確定與該超級節(jié)點(diǎn)連接的各普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性;所述超級節(jié)點(diǎn)根據(jù)各所述普通節(jié)點(diǎn)的節(jié)點(diǎn)重要性確定最優(yōu)普通節(jié)點(diǎn);所述超級節(jié)點(diǎn)向所述最優(yōu)普通節(jié)點(diǎn)發(fā)送升級指令;所述最優(yōu)普通節(jié)點(diǎn)在接收到所述升級指令后進(jìn)行升級,本發(fā)明減少了網(wǎng)絡(luò)流量,避免了大面積的拓?fù)湔{(diào)整,維持了網(wǎng)絡(luò)的穩(wěn)定性。
文檔編號H04L29/08GK103227817SQ201310104618
公開日2013年7月31日 申請日期2013年3月28日 優(yōu)先權(quán)日2013年3月28日
發(fā)明者陶志強(qiáng), 吳英華, 嚴(yán)炎, 汪夢云, 陳運(yùn)動, 鄭建飛, 賴志堅 申請人:廣東省電信規(guī)劃設(shè)計院有限公司