專利名稱:配置信息的發(fā)布方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)和通信技術(shù)領(lǐng)域,尤其涉及對等網(wǎng)絡(luò)中一種配置信息的發(fā)布方法 及系統(tǒng)。
背景技術(shù):
對等網(wǎng)絡(luò)(Peer to Peer,簡稱為P2P)是一種分布式網(wǎng)絡(luò),網(wǎng)絡(luò)的參與者共享他 們所擁有的資源和服務(wù)。通常,資源和服務(wù)的共享包括信息的共享與交換、計算資源(例 如,CPU)的共享、存儲資源(例如,緩存和磁盤空間)的共享等。共享的資源和服務(wù)能被 網(wǎng)絡(luò)中的任意對等節(jié)點(Peer)訪問。對等網(wǎng)絡(luò)中的每個參與者都既是資源和服務(wù)提供者 (server),又是資源和服務(wù)獲取者(client)。資源定位和分現(xiàn)(REsourceLOcate And Discovery,簡稱為 RELOAD)是 IETF對等 會話初始化協(xié)議(Peer To Peer SessionInitiation Protocol,簡稱為 P2PSIP)工作組定 義的一種對等網(wǎng)絡(luò)的資源定位和發(fā)現(xiàn)協(xié)議。具體地,在RELOAD網(wǎng)絡(luò)中涉及的幾個術(shù)語的定 義如下節(jié)點ID 在對等網(wǎng)絡(luò)中作為每個節(jié)點的唯一標(biāo)識;配置服務(wù)器為整個網(wǎng)絡(luò)提供配置信息,例如,證書服務(wù)器地址、引導(dǎo)節(jié)點地址、網(wǎng) 絡(luò)采用的算法、消息的大小限制、以及一些其它公共配置信息。引導(dǎo)節(jié)點具有公網(wǎng)IP,能夠被對等節(jié)點直連,可以為對等節(jié)點的加入提供引導(dǎo) 服務(wù)的對等節(jié)點;引導(dǎo)節(jié)點的地址在配置服務(wù)器的配置信息中均有設(shè)置。圖1是現(xiàn)有RELOAD對等網(wǎng)絡(luò)的一種示意圖,如圖1所示,該RELOAD對等網(wǎng)絡(luò)由對 等節(jié)點(A、B、C、D)、配置服務(wù)器等組成。其中,配置服務(wù)器為整個網(wǎng)絡(luò)提供配置信息;節(jié)點 D為引導(dǎo)節(jié)點,可以為其它節(jié)點加入對等網(wǎng)絡(luò)提供引導(dǎo)服務(wù)。目前,配置服務(wù)器上的配置信息修改后,修改后的配置信息不會立即更新到對等 網(wǎng)絡(luò)中的各個對等節(jié)點,而是在對等網(wǎng)絡(luò)中的某個對等節(jié)點啟動時才從配置服務(wù)器上獲取 最新的配置信息。以圖1中的對等節(jié)點A為例,圖2為對等節(jié)點A啟動時從配置服務(wù)器上 獲取配置信息的流程圖,如圖2所示,主要包括如下步驟步驟201,配置服務(wù)上的配置被修改;步驟202,對等節(jié)點A啟動;步驟203,對等節(jié)點A以HTTP GET方式從配置服務(wù)器上獲取配置信息;步驟204,配置服務(wù)器返回XML配置文件;步驟205,對等節(jié)點A利用獲得的配置信息更新本地配置;步驟206,對等節(jié)點A執(zhí)行加入對等網(wǎng)絡(luò)的其余流程。在某些對等節(jié)點獲得最新的配置信息后,當(dāng)這些對等節(jié)點與其它對等節(jié)點進行交 互時,可以將最新的配置信息發(fā)送給其它對等節(jié)點。以圖1為例,假設(shè)對等節(jié)點A中存在最 新的配置信息,而節(jié)點B中的配置信息的版本相對較低,圖3為節(jié)點A將最新的配置信息傳 播給節(jié)點B的流程圖,如圖3所示,主要包括以下步驟
步驟301 對等節(jié)點B向?qū)Φ裙?jié)點A發(fā)送消息(可以是RELOAD的任何消息);步驟302 對等節(jié)點A接收到節(jié)點B的消息后檢查其中的配置序號,若比本節(jié)點的 小,則認(rèn)為節(jié)點B的配置是舊的,需要更新;步驟303 對等節(jié)點A向節(jié)點B返回消息響應(yīng),提示不是新配置;步驟304 對等節(jié)點A向節(jié)點B發(fā)送新的配置信息,告知其更新;步驟305 對等節(jié)點B根據(jù)收到的節(jié)點A的配置信息更新本地配置;步驟306 對等節(jié)點B向節(jié)點A返回配置更新響應(yīng)。從上述的流程可以看出,當(dāng)配置服務(wù)器中的配置信息修改后,只有當(dāng)對等網(wǎng)絡(luò)中 有新節(jié)點加入時才會開始向?qū)Φ染W(wǎng)絡(luò)中的對等節(jié)點發(fā)布新的配置信息,若長時間內(nèi)沒有新 節(jié)點加入則新的配置信息一直無法發(fā)布,從而導(dǎo)致配置服務(wù)器與對等節(jié)點的配置信息不一 致。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種配置信息的發(fā)布方法及系統(tǒng),以至少解決上述問題。根據(jù)本發(fā)明的一個方面,提供了一種配置信息的發(fā)布方法,包括在確定對等網(wǎng)絡(luò) 的配置信息被修改時,配置服務(wù)器將修改后的配置信息發(fā)布到對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點;引導(dǎo) 節(jié)點將該配置信息發(fā)布到對等網(wǎng)絡(luò)中除該引導(dǎo)節(jié)點之外的其它對等節(jié)點。進一步地,配置服務(wù)器將配置信息發(fā)布到對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點包括配置服務(wù)器 從配置信息中獲取對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點的標(biāo)識信息;配置服務(wù)器根據(jù)該標(biāo)識信息,將配置 信息發(fā)布到對等網(wǎng)絡(luò)的上述引導(dǎo)節(jié)點。進一步地,配置服務(wù)器將配置信息發(fā)布到對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點包括配置服務(wù)器 向上述引導(dǎo)節(jié)點發(fā)送通知消息,通知該引導(dǎo)節(jié)點配置信息已更新;該引導(dǎo)節(jié)點在接收到上 述通知消息后,向配置服務(wù)器發(fā)送獲取配置信息的請求;配置服務(wù)器在接收到上述請求后, 向上述引導(dǎo)節(jié)點發(fā)送配置信息。進一步地,配置服務(wù)器將配置信息發(fā)布到引導(dǎo)節(jié)點包括配置服務(wù)器向上述引導(dǎo) 節(jié)點發(fā)送配置更新請求,其中,該配置更新請求中攜帶有配置信息。進一步地,引導(dǎo)節(jié)點將配置信息發(fā)布到其它對等節(jié)點包括引導(dǎo)節(jié)點以廣播的方 式將配置信息發(fā)送給其它對等節(jié)點。進一步地,引導(dǎo)節(jié)點將配置信息發(fā)布到其它對等節(jié)點包括引導(dǎo)節(jié)點接收來自其 它對等節(jié)點的消息,其中,該消息中攜帶有其它對等節(jié)點本地的配置信息的序列號;引導(dǎo)節(jié) 點根據(jù)該序列號確定需要更新其它對等節(jié)點本地的配置信息,向其它對等節(jié)點發(fā)送配置更 新消息,其中,該配置更新消息中攜帶有來自配置服務(wù)器的上述配置信息。根據(jù)本發(fā)明的另一方面,提供了另一種配置信息的發(fā)布方法,包括對等網(wǎng)絡(luò)中的 引導(dǎo)節(jié)點按照預(yù)設(shè)周期,周期性地向配置服務(wù)器發(fā)送獲取配置信息的請求;配置服務(wù)器在 接收到該請求后,將配置服務(wù)器上的配置信息發(fā)布到引導(dǎo)節(jié)點;引導(dǎo)節(jié)點確定本地的配置 信息比來自配置服務(wù)器的配置信息舊時,將來自配置服務(wù)器的配置信息發(fā)布到對等網(wǎng)絡(luò)中 除引導(dǎo)節(jié)點之外的其它對等節(jié)點。進一步地,引導(dǎo)節(jié)點將來自配置服務(wù)器的配置信息發(fā)布到其它對等節(jié)點包括引導(dǎo)節(jié)點以廣播的方式將來自配置服務(wù)器的配置信息發(fā)布到其它對等節(jié)點。進一步地,引導(dǎo)節(jié)點將來自配置服務(wù)器的配置信息發(fā)布到其它對等節(jié)點包括引 導(dǎo)節(jié)點接收來自其它對等節(jié)點的消息,其中,該消息中攜帶有其它對等節(jié)點本地的配置信 息的序列號;引導(dǎo)節(jié)點根據(jù)該序列號確定需要更新其它對等節(jié)點本地的配置信息,向其它 對等節(jié)點發(fā)送配置更新消息,其中,該配置更新消息中攜帶有來自配置服務(wù)器的上述配置 fn息ο根據(jù)本發(fā)明的又一個方面,提供了一種配置信息的發(fā)布系統(tǒng),包括配置服務(wù)器和 對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點。其中,配置服務(wù)器,包括確定模塊,用于確定對等網(wǎng)絡(luò)的配置信息被 修改,觸發(fā)第一發(fā)布模塊;第一發(fā)布模塊,用于將修改后的配置信息發(fā)送給引導(dǎo)節(jié)點。引導(dǎo) 節(jié)點,包括接收模塊,用于接收來自配置服務(wù)器的配置信息;第二發(fā)布模塊,用于將接收 模塊接收到的配置信息發(fā)布到對等網(wǎng)絡(luò)中除引導(dǎo)節(jié)點之外的其它對等節(jié)點。進一步地,上述第一發(fā)布模塊包括獲取單元,用于從配置信息中獲取引導(dǎo)節(jié)點的 標(biāo)識信息;第一發(fā)送單元,用于根據(jù)標(biāo)識信息向引導(dǎo)節(jié)點發(fā)送通知消息,通知引導(dǎo)節(jié)點配置 信息已更新;接收單元,用于接收引導(dǎo)節(jié)點返回的獲取配置信息的請求,觸發(fā)第二發(fā)送單 元;第二發(fā)送單元,用于向引導(dǎo)節(jié)點發(fā)送配置信息。進一步地,第一發(fā)布模塊包括獲取單元,用于從配置信息中獲取引導(dǎo)節(jié)點的標(biāo)識 信息;發(fā)送單元,用于根據(jù)標(biāo)識信息向引導(dǎo)節(jié)點發(fā)送配置更新請求,其中,配置更新請求中 攜帶有配置信息。根據(jù)本發(fā)明的再一個方面,提供了另一種配置信息的發(fā)布系統(tǒng),包括配置服務(wù)器 和對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點。其中,引導(dǎo)節(jié)點包括第一發(fā)送模塊,用于按照預(yù)設(shè)周期,周期性地 向配置服務(wù)器發(fā)送獲取配置信息的請求;第一接收模塊,用于接收配置服務(wù)器返回的配置 信息;判斷模塊,用于判斷第一接收模塊接收到的配置信息是否比引導(dǎo)節(jié)點本地的配置信 息新,如果是,則觸發(fā)發(fā)布模塊;發(fā)布模塊,用于將第一接收模塊接收到的配置信息發(fā)布到 對等網(wǎng)絡(luò)中除引導(dǎo)節(jié)點之外的其它對等節(jié)點。配置服務(wù)器,包括第二接收模塊,用于接收 來自引導(dǎo)節(jié)點的獲取配置信息的請求;第二發(fā)送模塊,用于將配置服務(wù)器上的配置信息發(fā) 送給引導(dǎo)節(jié)點。通過本發(fā)明,在本地的配置信息更新后,配置服務(wù)器將更新后的配置信息發(fā)布到 對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點,避免了配置修改后若長時間沒有新節(jié)點加入,則無法發(fā)布新配置的 問題。進而使得對等網(wǎng)絡(luò)中的對等節(jié)點的配置信息可以及時與配置服務(wù)器的配置信息達到 同步。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是RELOAD對等網(wǎng)絡(luò)的一種示意圖;圖2是現(xiàn)有技術(shù)中配置服務(wù)器發(fā)布新配置的流程圖;圖3是現(xiàn)有技術(shù)對等節(jié)點之間傳播新配置的流程圖;圖4是根據(jù)本發(fā)明實施例的配置信息的發(fā)布系統(tǒng)結(jié)構(gòu)示意圖;圖5A是根據(jù)本發(fā)明實施例一的配置信息的發(fā)布系統(tǒng)結(jié)構(gòu)示意圖5B是本發(fā)明實施例一中配置服務(wù)器的一種結(jié)構(gòu)示意圖;圖5C是本發(fā)明實施例一中配置服務(wù)器的另一種結(jié)構(gòu)示意圖;圖6是根據(jù)本發(fā)明實施例二的配置信息的發(fā)布系統(tǒng)的結(jié)構(gòu)示意圖;圖7是根據(jù)本發(fā)明實施例的一種配置信息的發(fā)布方法的流程圖;圖8是根據(jù)本發(fā)明實施例的另一種配置信息的發(fā)布方法的流程圖;圖9是根據(jù)本發(fā)明實施例三的流程圖;圖10是根據(jù)本發(fā)明實施例四的流程圖;圖11是根據(jù)本發(fā)明實施例五的流程圖;圖12是根據(jù)本發(fā)明實施例六的流程圖;圖13是根據(jù)本發(fā)明實施例七的流程圖。
具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的 情況下,本申請中的實施例及實施例中的特征可以相互組合。圖4為根據(jù)本發(fā)明實施例的配置信息的發(fā)布系統(tǒng)的結(jié)構(gòu)示意圖,如圖4所示,該 系統(tǒng)主要包括配置服務(wù)器2和對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點4。其中,配置服務(wù)器2用于將修改后 的對等網(wǎng)絡(luò)的配置信息發(fā)布到對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點4 ;而引導(dǎo)節(jié)點4用于接收配置服務(wù)器 發(fā)送的上述配置信息,并將該配置信息發(fā)布到對等網(wǎng)絡(luò)中除引導(dǎo)節(jié)點4以外的其它對等節(jié)
點ο在具體實施過程中,如果對等網(wǎng)絡(luò)中包括多個引導(dǎo)節(jié)點,則配置服務(wù)器可以向多 個引導(dǎo)節(jié)點中的一個發(fā)送更新后的配置信息,也可以向其中的多個引導(dǎo)節(jié)點發(fā)送更新后的 配置信息,具體本發(fā)明實施例中不作限定。在本發(fā)明實施例中,上述配置信息的發(fā)布系統(tǒng)可以有兩種實現(xiàn)方式,下面通過具 體實施例對這兩種實現(xiàn)方式進行說明。實施例一圖5A本實施例的配置信息的發(fā)布系統(tǒng)的結(jié)構(gòu)示意圖,如圖5A所示,在本實施例 中,配置服務(wù)器2主要包括確定模塊20和第一發(fā)布模塊22 ;而引導(dǎo)節(jié)點4主要包括接收 模塊40和第二發(fā)布模塊42。下面分別對本實施例中配置服務(wù)器2和引導(dǎo)節(jié)點4進行描述。配置服務(wù)器2,包括確定模塊20,用于確定對等網(wǎng)絡(luò)的配置信息被修改,觸發(fā)第 一發(fā)布模塊22,在具體應(yīng)用中,對等網(wǎng)絡(luò)的配置信息由配置服務(wù)器提供,因此,確定模塊20 即判斷配置服務(wù)器上的配置信息是否被修改,如果是,則觸發(fā)第一發(fā)布模塊22 ;第一發(fā)布 模塊22,用于將修改后的配置信息發(fā)送給引導(dǎo)節(jié)點4。在具體應(yīng)用中,第一發(fā)布模塊22可以在配置信息被修改時,先向引導(dǎo)節(jié)點4發(fā)送 通知消息,然后在接收到引導(dǎo)節(jié)點4的請求時向引導(dǎo)節(jié)點4發(fā)送新的配置信息,或者,第一 發(fā)布模塊22也可以直接向引導(dǎo)節(jié)點4發(fā)送的新的配置信息。因此,第一發(fā)布模塊22可以 包括但不限于如圖5B或圖5C所示的組成結(jié)構(gòu)。如圖5B所示,第一發(fā)布模塊22可以包括獲取單元220,用于從配置信息中獲取 引導(dǎo)節(jié)點的標(biāo)識信息,在具體實施過程中,引導(dǎo)節(jié)點的標(biāo)識信息(例如,節(jié)點ID)在配置服 務(wù)器上的配置信息中有設(shè)置,因此,獲取單元220可以從配置信息中獲取引導(dǎo)節(jié)點4的標(biāo)識信息,并且,當(dāng)對等網(wǎng)絡(luò)中包括多個引導(dǎo)節(jié)點時,獲取單元220可以從該多個引導(dǎo)節(jié)點中選 擇一個或多個引導(dǎo)節(jié)點的標(biāo)識信息;第一發(fā)送單元222,用于根據(jù)上述標(biāo)識信息向引導(dǎo)節(jié) 點4發(fā)送通知消息,通知引導(dǎo)節(jié)點4配置信息已更新;接收單元224,用于接收引導(dǎo)節(jié)點4返 回的獲取配置信息的請求,觸發(fā)第二發(fā)送單元226;第二發(fā)送單元226,用于向引導(dǎo)節(jié)點4發(fā) 送上述配置信息?;蛘?,如圖5C所示,第一發(fā)布模塊22可以包括獲取單元221和發(fā)送單元223。其 中,獲取單元221,用于從上述配置信息中獲取引導(dǎo)節(jié)點4的標(biāo)識信息;發(fā)送單元223,用于 根據(jù)上述標(biāo)識信息向引導(dǎo)節(jié)點4發(fā)送配置更新請求,其中,該配置更新請求中攜帶有上述
配直^[曰息ο引導(dǎo)節(jié)點4可以包括接收模塊40和第二發(fā)布模塊42。其中,接收模塊40,用于 接收來自配置服務(wù)器2的配置信息;第二發(fā)布模塊42,用于將接收模塊接收到的配置信息 發(fā)布到對等網(wǎng)絡(luò)中除引導(dǎo)節(jié)點4之外的其它對等節(jié)點。在具體應(yīng)用中,由于配置服務(wù)器2是在確定配置信息被修改后將配置信息發(fā)送給 引導(dǎo)節(jié)點4的,因此,接收模塊40接收到的配置信息一定比引導(dǎo)節(jié)點4本地的配置信息新, 因此,引導(dǎo)節(jié)點4在接收到來自配置服務(wù)器2配置信息后,將使用該配置信息更新本地的配 置信息,即用接收到的配置信息覆蓋本地的配置信息。實施例二圖6為本實施例的配置信息的發(fā)布系統(tǒng)的結(jié)構(gòu)示意圖,如圖6所示,在本實施例 中,引導(dǎo)節(jié)點4包括第一發(fā)送模塊41、第一接收模塊43、判斷模塊45和發(fā)布模塊47 ;而配 置服務(wù)器2包括第二接收模塊21和第二發(fā)送模塊23。下面分別對本實施例中的引導(dǎo)節(jié)點4和配置服務(wù)器2進行描述。引導(dǎo)節(jié)點4包括第一發(fā)送模塊41、第一接收模塊43、判斷模塊45和發(fā)布模塊47。 其中,第一發(fā)送模塊41,用于按照預(yù)設(shè)周期,周期性地向配置服務(wù)器2發(fā)送獲取配置信息的 請求,在具體應(yīng)用中,可以設(shè)置一個定時器,該定時器的時長為預(yù)設(shè)周期的時長,利用該定 時器來計算周期,每當(dāng)定時器超時時,觸發(fā)第一發(fā)送模塊41,并重啟定時器;第一接收模塊 43,用于接收配置服務(wù)器2返回的配置信息;判斷模塊45,用于判斷第一接收模塊43接收 到的配置信息是否比引導(dǎo)節(jié)點2本地的配置信息新,如果是,則觸發(fā)發(fā)布模塊45,否則,丟 失接收到的配置信息。在具體應(yīng)用中,可以根據(jù)配置信息的序列號來判斷接收到的配置信 息是否比本地的配置信息新,并且,如果接收到的配置信息比本地的配置信息新,則利用接 收到的配置信息更新本地的配置信息,即利用接收到配置信息覆蓋本地的配置信息;發(fā)布 模塊45,用于將第一接收模塊43接收到的配置信息發(fā)布到對等網(wǎng)絡(luò)中除引導(dǎo)節(jié)點4之外的 其它對等節(jié)點。而配置服務(wù)器2包括第二接收模塊21和第二發(fā)送模塊23。其中,第二接收模塊 21,用于接收來自引導(dǎo)節(jié)點4的獲取配置信息的請求;第二發(fā)送模塊23,用于將配置服務(wù)器 2上的配置信息發(fā)送給引導(dǎo)節(jié)點4。在上述實施例一和實施例二中,第二發(fā)布模塊42或發(fā)布模塊45在將上述配置信 息發(fā)布到對等網(wǎng)絡(luò)中除引導(dǎo)節(jié)點4之外的其它對等節(jié)點時,可以采用廣播的方式向所有對 等節(jié)點發(fā)布,也可以在與其它對等節(jié)點進行消息交互時,將新的配置信息發(fā)布給消息交互 的對端,而接收到新的配置信息的對等節(jié)點在與其它對等節(jié)點進行交互時,再將新的配置信息發(fā)布出去。通過本發(fā)明實施例的上述系統(tǒng),在配置服務(wù)器上的配置修改后,新的配置可以及 時的發(fā)布在對等網(wǎng)絡(luò),不必等待新節(jié)點加入,從而避免了配置修改后若長時間沒有新節(jié)點 加入,則無法發(fā)布新配置的問題。下面進一步描述根據(jù)本發(fā)明實施例的配置信息的發(fā)布方法,該方法可以利用上述 系統(tǒng)實現(xiàn)。針對現(xiàn)有技術(shù)中當(dāng)配置服務(wù)器上的配置修改后,需要等待新節(jié)點加入才向?qū)Φ染W(wǎng) 絡(luò)發(fā)布新的配置信息,而可能導(dǎo)致配置修改后長時間沒有新節(jié)點加入,而無法發(fā)布新的配 置配置的問題。本發(fā)明實施例提供了新的配置信息的發(fā)布方法,本發(fā)明實施例中配置信息 的發(fā)布方法的核心思想是在配置服務(wù)器上的配置信息修改后,先將新的配置信息從配置 服務(wù)器發(fā)布到對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點(即對等網(wǎng)絡(luò)的部分對等節(jié)點)上,然后從這部分對等 節(jié)點傳播到網(wǎng)絡(luò)中的所有對等節(jié)點。針對該思想,本發(fā)明實施例具體提供了兩種配置信息 的發(fā)布方法,下面分別對這兩種方法進行描述。圖7為根據(jù)本發(fā)明實施例的一種配置信息的發(fā)布方法的流程圖,如圖7所示,該方 法主要包括以下步驟(步驟S702-步驟S704)步驟S702,在確定對等網(wǎng)絡(luò)的配置信息被修改時,配置服務(wù)器將修改后的配置信 息發(fā)布到對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點;在具體實施過程中,配置服務(wù)器在將修改后的配置信息發(fā)布引導(dǎo)節(jié)點時,包括但 不限于以下兩種方法一配置服務(wù)器上的配置信息修改后,通知引導(dǎo)節(jié)點配置已修改,然后引導(dǎo)節(jié) 點從配置服務(wù)器上獲取新配置,具體如實施例三所述;方法二 配置服務(wù)器上的配置信息修改后,直接將新配置發(fā)送給引導(dǎo)節(jié)點,具體如 實施例四所述。步驟S704,引導(dǎo)節(jié)點將上述配置信息發(fā)布到對等網(wǎng)絡(luò)中除引導(dǎo)節(jié)點之外的其它對 等節(jié)點。在具體實施過程中,引導(dǎo)節(jié)點可以通過廣播的方式將上述配置信息發(fā)布到對等網(wǎng) 絡(luò)中的各個對等節(jié)點,也可以在與對等節(jié)點進行消息交互時,將上述配置信息發(fā)布到對端 的對等節(jié)點,具體如下實施例五和實施例六所述。通過本發(fā)明實施例提供的上述方法,在配置服務(wù)器上的配置被修改時,觸發(fā)配置 服務(wù)器將修改后的配置信息發(fā)送給對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點,再由引導(dǎo)節(jié)點將新的配置信息發(fā) 布到對等網(wǎng)絡(luò)中的其他對等節(jié)點,從而可以及時將修改后的配置信息發(fā)布到對等網(wǎng)絡(luò),而 無需等待新的節(jié)點加入,進而可以使得對等網(wǎng)絡(luò)中的配置信息與配置服務(wù)器中的配置信息 保持同步。圖8為根據(jù)本發(fā)明實施例的另一種配置信息的發(fā)布方法的流程圖,如圖8所示,該 方法主要包括以下步驟(步驟S802-步驟S806)步驟S802,對等網(wǎng)絡(luò)中的引導(dǎo)節(jié)點按照預(yù)設(shè)周期,周期性地向配置服務(wù)器發(fā)送獲 取配置信息的請求;在具體實施過程中,可以通過設(shè)置定時器對預(yù)設(shè)周期進行計時,當(dāng)定時器超時時, 引導(dǎo)節(jié)點向配置服務(wù)器發(fā)送上述請求。
步驟S804,配置服務(wù)器在接收到上述請求后,將配置服務(wù)器上的配置信息發(fā)布到 上述引導(dǎo)節(jié)點;步驟S806,引導(dǎo)節(jié)點確定本地的配置信息比來自所述配置服務(wù)器的上述配置信息 舊時,將來自配置服務(wù)器的配置信息發(fā)布到對等網(wǎng)絡(luò)中除引導(dǎo)節(jié)點之外的其它對等節(jié)點。在步驟S806中,如果確定本地的配置信息比來自配置服務(wù)器的配置信息舊,則該 引導(dǎo)節(jié)點還將用接收到的配置信息覆蓋本地的配置信息。并且,引導(dǎo)節(jié)點在向?qū)Φ染W(wǎng)絡(luò)中的其他對等節(jié)點發(fā)布新的配置信息,可以采用廣 播的方式發(fā)送,如實施例六所述;也可以是當(dāng)其它對等節(jié)點與引導(dǎo)節(jié)點發(fā)送消息時,該消息 中包含該節(jié)點的當(dāng)前配置序列號,引導(dǎo)節(jié)點收到請求消息后,檢查消息中的配置序列號,若 比本地使用的配置序列號低,則認(rèn)為對方使用了舊配置,需要更新,則采用配置更新消息把 新配置發(fā)送給對方。并且,得到新配置的節(jié)點還可以通過這種方式進一步將新的配置信息 發(fā)送給其他對等節(jié)點,以次類推,所有對等節(jié)點都獲得了新配置;具體如實施例七所述。采用本發(fā)明實施例提供的上述配置信息的發(fā)布方法,引導(dǎo)節(jié)點可以周期性地獲取 配置服務(wù)器上的配置,而無需等待新節(jié)點的加入,從而避免了配置修改后,如果長時間沒有 新節(jié)點加入,則無法發(fā)布新配置的問題。下面以圖1所示的RELOAD對等網(wǎng)絡(luò)為例,對本發(fā)明實施例提供的配置信息的發(fā)布 方法進行描述。實施例三本實施例中對配置服務(wù)器發(fā)布新的配置信息的第一種方法進行描述。在本實施例 中,配置服務(wù)器上的配置被修改后,需要向部分對等節(jié)點(引導(dǎo)節(jié)點)發(fā)布,具體為配置服 務(wù)器上的配置信息修改后,通知引導(dǎo)節(jié)點D配置已修改,然后引導(dǎo)節(jié)點D從配置服務(wù)器上獲 取新配置。圖9為本實施例中配置服務(wù)器向引導(dǎo)節(jié)點發(fā)送新的配置信息的流程圖,如圖9所 示,主要包括以下步驟步驟901,修改配置服務(wù)器上的配置文件中的配置信息;具體應(yīng)用中,該配置是個XML文件,修改時需要將配置序列號加一,若配置序列號 大于2~32則將之重置為1 ;同時要對〈configuration〉與〈/configuration〉之間的所有 配置信息進行簽名,并把簽名信息附在配置文件中,簽名后該配置文件不能隨意更改,否則 會破壞原有的完整性。步驟902,配置服務(wù)器從其的配置文件中取出引導(dǎo)節(jié)點列表,并從中任意選擇(也 可以指定、或根據(jù)其他策略選擇,具體本發(fā)明實施例不做限定)一個引導(dǎo)節(jié)點;步驟903 配置服務(wù)器向選定的引導(dǎo)節(jié)點D發(fā)送配置修改通知;在具體應(yīng)用中,可以對現(xiàn)有的RELOAD協(xié)議進行擴展,增加一個通知消息,其中,該 通知消息中包含新配置的序列號;步驟904,引導(dǎo)節(jié)點D接收到配置修改通知后,從中取出配置序列號,與本地配置 序列號作比較,若發(fā)現(xiàn)通知中是新配置,則向指定的配置服務(wù)器發(fā)送HTTP GET請求,請求獲 取配置信息;步驟905,配置服務(wù)器返回XML配置文件;步驟906,引導(dǎo)節(jié)點D用新的配置信息覆蓋本地的舊配置信息。
這樣,引導(dǎo)節(jié)點D上就有了最新配置,從而可以為網(wǎng)絡(luò)中的其它對等節(jié)點提供最 新配置信息。實施例四在本實施例中,對配置服務(wù)器發(fā)布新的配置信息的方法二進行描述。在本實施例 中,配置服務(wù)器上的配置被修改后需要向部分對等節(jié)點發(fā)布,其采用的方法是將上面方法 一中的配置修改通知消息和配置內(nèi)容消息合并后,即配置服務(wù)器上的配置信息修改后,直 接將新的配置信息發(fā)送給引導(dǎo)節(jié)點D。圖10為本實施例的流程圖,如圖10所示,本主要包括以下步驟步驟101,修改配置服務(wù)器上的配置;在具體實施過程中,該配置是個XML文件,修改需要將配置序列號必須加一,若大 于2~32則將之重置為1 ;同時要對〈configuration〉與〈/configuration〉之間的所有信 息進行簽名,并把簽名信息附在配置文件中。步驟102,配置服務(wù)器從其配置文件中取出引導(dǎo)節(jié)點列表,并從中任意選擇(也可 以指定、或根據(jù)其他策略選擇)一個引導(dǎo)節(jié)點D ;步驟103,配置服務(wù)器向引導(dǎo)節(jié)點D發(fā)送配置更新請求,該配置更新請求中攜帶有 新的配置信息。在具體實施過程中,可以對現(xiàn)有的RELOAD協(xié)議進行擴展,增加一個配置服務(wù)器發(fā) 送配置的消息,該消息的消息體可以借用或參考用于對等節(jié)點之間更新配置的消息;步驟104,引導(dǎo)節(jié)點D接收到新的配置信息后,用新的配置信息覆蓋本地的舊的配 置信息,更新本地配置;這樣,引導(dǎo)節(jié)點D上就有了最新配置,從而可以為網(wǎng)絡(luò)中的其它對等節(jié)點提供最
新配置信息。步驟105,引導(dǎo)節(jié)點D向配置服務(wù)器返回配置更新響應(yīng)。實施例五本實施例中對圖8所示的方法中引導(dǎo)節(jié)點獲取配置服務(wù)器上的配置信息的流程 進行描述,在本實施例中,配置服務(wù)器上的配置信息修改后,等待引導(dǎo)節(jié)點來取,引導(dǎo)節(jié)點 定時從配置服務(wù)器上獲取新配置。如圖11所示,引導(dǎo)節(jié)點獲取配置服務(wù)器上的配置信息主要可以包括以下步驟步驟111 修改配置服務(wù)器上的配置;如上所述,在具體應(yīng)用中,該配置是個XML文件,修改時配置序列號必須加一,若 大于2~32則將之重置為1 ;同時要對〈configuration〉與〈/configuration〉之間的所有 信息進行簽名,并把簽名信息附在配置文件中。步驟112,引導(dǎo)節(jié)點D預(yù)先設(shè)置循環(huán)定時器,每隔一定的時間就觸發(fā)獲取配置的任 務(wù);步驟113,定時器觸發(fā)后,引導(dǎo)節(jié)點D的取配置任務(wù),向指定的配置服務(wù)器發(fā)送 HTTP GET請求,請求獲取配置信息;步驟114,配置服務(wù)器返回的HTTP GET響應(yīng),該響應(yīng)中攜帶XML配置文件;步驟115,引導(dǎo)節(jié)點D解析該XML配置文件,并用該配置覆蓋本地的舊配置,更新本 地配置。
這樣,引導(dǎo)節(jié)點D上就有了最新配置,從而可以為網(wǎng)絡(luò)中的其它對等節(jié)點提供最 新配置信息。實施例六在本實施例中,引導(dǎo)節(jié)點在獲取到新配置后,以廣播的方式向網(wǎng)絡(luò)中的其他對等 節(jié)點傳播新配置。圖12為本實施例中引導(dǎo)節(jié)點向網(wǎng)絡(luò)中的其他對等節(jié)點傳播新配置的流程圖,如 圖12所示,主要包括以下步驟步驟121,引導(dǎo)節(jié)點D獲得了新配置;步驟122,引導(dǎo)節(jié)點D向整個網(wǎng)絡(luò)廣播新配置信息;在具體應(yīng)用中,該廣播消息主體可以參考或采用RELOAD現(xiàn)有的更新配置的消息, 并增加一些廣播算法需要的信息(如分組廣播范圍等)。廣播技術(shù)可以采用分組遞歸等廣 播技術(shù),如根據(jù)路由表劃分廣播組,再在組內(nèi)繼續(xù)根據(jù)路由表劃分廣播組,直到能夠把消息 廣播到所有對等節(jié)點。具體本發(fā)明實施例不做限定。步驟123,網(wǎng)絡(luò)中的對等節(jié)點接收到新配置后,檢查其中的配置序列號,必須比本 地的配置序列號大,而且配置信息的簽名必須正確,滿足這兩條件后就用該配置更新本地配置。這樣,最新的配置信息就從引導(dǎo)節(jié)點D傳播給了網(wǎng)絡(luò)中的所有對等節(jié)點。實施例七在本實施例中,引導(dǎo)節(jié)點在獲得了新配置后,在其它對等節(jié)點(在本實施例中為 節(jié)點A)向引導(dǎo)節(jié)點D發(fā)送消息時,引導(dǎo)節(jié)點檢查請求消息中的配置序列號,若發(fā)現(xiàn)請求中 的配置序列號比本地的配置序列號小(請求消息中攜帶了請求方的配置序列號),則把本 地配置信息發(fā)給節(jié)點A,這樣節(jié)點A就從節(jié)點D得到了新配置。以此類推,新配置就傳播給 整個網(wǎng)絡(luò)中的所有對等節(jié)點。圖13為本實施例中新配置的傳播方法的流程圖,如圖13所示,主要包括以下步 驟步驟131,對等節(jié)點A向?qū)Φ裙?jié)點D發(fā)送請求消息,該請求消息可以是RELOAD的任 何消息,其中該請求消息的消息轉(zhuǎn)發(fā)頭中攜帶配置序列號;步驟132,對等節(jié)點D接收到節(jié)點A的消息后,檢查其中的配置序號,若比本節(jié)點的 小,則認(rèn)為節(jié)點A的配置是舊的,需要更新;步驟133,對等節(jié)點D向節(jié)點A返回消息響應(yīng),提示不是新配置(例如,該消息響應(yīng) 可以為 Error_Config_Too_01d);步驟134,對等節(jié)點D將其配置通過配置更新消息發(fā)送給節(jié)點A ;步驟135,對等節(jié)點A接收到的節(jié)點D的配置更新消息后,檢查其中的配置序列號, 若比本地配置序列號新或等于0xfTfT(表示強制更新),則更新本地配置。步驟136,對等節(jié)點A向節(jié)點D返回配置更新響應(yīng)。這樣,最新的配置信息就從引導(dǎo)節(jié)點D傳播給了對等節(jié)點A。采用相同的方法,對 等節(jié)點A再把新配置信息傳播給其他對等節(jié)點。最終,網(wǎng)絡(luò)中的所有對等節(jié)點均得到了新 配置。從以上的描述中,可以看出,在本發(fā)明實施例中,在配置服務(wù)器上的配置信息更新后,配置服務(wù)器將更新后的配置信息發(fā)布到對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點,或者,引導(dǎo)節(jié)點定時到配 置服務(wù)器獲取配置,從而避免了配置修改后若長時間沒有新節(jié)點加入,則無法發(fā)布新配置 的問題。進而使得對等網(wǎng)絡(luò)中的對等節(jié)點的配置信息可以及時與配置服務(wù)器的配置信息達 到同步。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲 在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示 出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或 步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種配置信息的發(fā)布方法,其特征在于,包括在確定對等網(wǎng)絡(luò)的配置信息被修改時,配置服務(wù)器將修改后的配置信息發(fā)布到所述對 等網(wǎng)絡(luò)的引導(dǎo)節(jié)點;所述引導(dǎo)節(jié)點將所述配置信息發(fā)布到所述對等網(wǎng)絡(luò)中除所述引導(dǎo)節(jié)點之外的其它對 等節(jié)點。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述配置服務(wù)器將所述配置信息發(fā)布到 對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點包括所述配置服務(wù)器從所述配置信息中獲取所述對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點的標(biāo)識信息; 所述配置服務(wù)器根據(jù)所述標(biāo)識信息,將所述配置信息發(fā)布到對等網(wǎng)絡(luò)的所述引導(dǎo)節(jié)點ο
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述配置服務(wù)器將所述配置信息發(fā)布到 對等網(wǎng)絡(luò)的所述引導(dǎo)節(jié)點包括所述配置服務(wù)器向所述引導(dǎo)節(jié)點發(fā)送通知消息,通知所述引導(dǎo)節(jié)點配置信息已更新; 所述引導(dǎo)節(jié)點在接收到所述通知消息后,向所述配置服務(wù)器發(fā)送獲取配置信息的請求;所述配置服務(wù)器在接收到所述請求后,向所述引導(dǎo)節(jié)點發(fā)送所述配置信息。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述配置服務(wù)器將所述配置信息發(fā)布到 所述引導(dǎo)節(jié)點包括所述配置服務(wù)器向所述引導(dǎo)節(jié)點發(fā)送配置更新請求,其中,所述配置更新請求中攜帶 有所述配置信息。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述引導(dǎo)節(jié)點將所述配置信息發(fā)布到所 述其它對等節(jié)點包括所述引導(dǎo)節(jié)點以廣播的方式將所述配置信息發(fā)送給所述其它對等節(jié)點。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述引導(dǎo)節(jié)點將所述配置信息發(fā)布到所 述其它對等節(jié)點包括所述引導(dǎo)節(jié)點接收來自所述其它對等節(jié)點的消息,其中,所述消息中攜帶有所述其它 對等節(jié)點本地的配置信息的序列號;所述引導(dǎo)節(jié)點根據(jù)所述序列號確定需要更新所述其它對等節(jié)點本地的配置信息,向所 述其它對等節(jié)點發(fā)送配置更新消息,其中,所述配置更新消息中攜帶有來自所述配置服務(wù) 器的所述配置信息。
7.一種配置信息的發(fā)布方法,其特征在于,包括對等網(wǎng)絡(luò)中的引導(dǎo)節(jié)點按照預(yù)設(shè)周期,周期性地向配置服務(wù)器發(fā)送獲取配置信息的請求;所述配置服務(wù)器在接收到所述請求后,將所述配置服務(wù)器上的配置信息發(fā)布到所述引 導(dǎo)節(jié)點;所述引導(dǎo)節(jié)點確定本地的配置信息比來自所述配置服務(wù)器的所述配置信息舊時,將來 自所述配置服務(wù)器的所述配置信息發(fā)布到所述對等網(wǎng)絡(luò)中除所述引導(dǎo)節(jié)點之外的其它對 等節(jié)點。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述引導(dǎo)節(jié)點將來自所述配置服務(wù)器的所述配置信息發(fā)布到所述其它對等節(jié)點包括所述引導(dǎo)節(jié)點以廣播的方式將來自所述配置服務(wù)器的所述配置信息發(fā)布到所述其它 對等節(jié)點。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述引導(dǎo)節(jié)點將來自所述配置服務(wù)器的 所述配置信息發(fā)布到所述其它對等節(jié)點包括所述引導(dǎo)節(jié)點接收來自所述其它對等節(jié)點的消息,其中,所述消息中攜帶有所述其它 對等節(jié)點本地的配置信息的序列號;所述引導(dǎo)節(jié)點根據(jù)所述序列號確定需要更新所述其它對等節(jié)點本地的配置信息,向所 述其它對等節(jié)點發(fā)送配置更新消息,其中,所述配置更新消息中攜帶有來自所述配置服務(wù) 器的所述配置信息。
10.一種配置信息的發(fā)布系統(tǒng),其特征在于,包括配置服務(wù)器和對等網(wǎng)絡(luò)的引導(dǎo)節(jié) 點,其中,所述配置服務(wù)器,包括確定模塊,用于確定所述對等網(wǎng)絡(luò)的配置信息被修改,觸發(fā)第一發(fā)布模塊; 所述第一發(fā)布模塊,用于將修改后的所述配置信息發(fā)送給所述引導(dǎo)節(jié)點; 所述引導(dǎo)節(jié)點,包括接收模塊,用于接收來自所述配置服務(wù)器的所述配置信息;第二發(fā)布模塊,用于將所述接收模塊接收到的所述配置信息發(fā)布到所述對等網(wǎng)絡(luò)中除 所述引導(dǎo)節(jié)點之外的其它對等節(jié)點。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述第一發(fā)布模塊包括 獲取單元,用于從所述配置信息中獲取所述引導(dǎo)節(jié)點的標(biāo)識信息;第一發(fā)送單元,用于根據(jù)所述標(biāo)識信息向所述引導(dǎo)節(jié)點發(fā)送通知消息,通知所述引導(dǎo) 節(jié)點配置信息已更新;接收單元,用于接收所述引導(dǎo)節(jié)點返回的獲取配置信息的請求,觸發(fā)第二發(fā)送單元; 第二發(fā)送單元,用于向所述引導(dǎo)節(jié)點發(fā)送所述配置信息。
12.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述第一發(fā)布模塊包括 獲取單元,用于從所述配置信息中獲取所述引導(dǎo)節(jié)點的標(biāo)識信息;發(fā)送單元,用于根據(jù)所述標(biāo)識信息向所述引導(dǎo)節(jié)點發(fā)送配置更新請求,其中,所述配置 更新請求中攜帶有所述配置信息。
13.—種配置信息的發(fā)布系統(tǒng),其特征在于,包括配置服務(wù)器和對等網(wǎng)絡(luò)的引導(dǎo)節(jié) 點,其中,所述引導(dǎo)節(jié)點包括第一發(fā)送模塊,用于按照預(yù)設(shè)周期,周期性地向所述配置服務(wù)器發(fā)送獲取配置信息的 請求;第一接收模塊,用于接收所述配置服務(wù)器返回的配置信息;判斷模塊,用于判斷所述第一接收模塊接收到的所述配置信息是否比所述引導(dǎo)節(jié)點本 地的配置信息新,如果是,則觸發(fā)發(fā)布模塊;所述發(fā)布模塊,用于將所述第一接收模塊接收到的所述配置信息發(fā)布到所述對等網(wǎng)絡(luò) 中除所述引導(dǎo)節(jié)點之外的其它對等節(jié)點;所述配置服務(wù)器,包括第二接收模塊,用于接收來自所述引導(dǎo)節(jié)點的所述獲取配置信息的請求; 第二發(fā)送模塊,用于將所述配置服務(wù)器上的配置信息發(fā)送給所述引導(dǎo)節(jié)點。
全文摘要
本發(fā)明公開了一種配置信息的發(fā)布方法及系統(tǒng)。其中,該方法包括在確定對等網(wǎng)絡(luò)的配置信息被修改時,配置服務(wù)器將修改后的配置信息發(fā)布到對等網(wǎng)絡(luò)的引導(dǎo)節(jié)點;引導(dǎo)節(jié)點將該配置信息發(fā)布到對等網(wǎng)絡(luò)中除該引導(dǎo)節(jié)點之外的其它對等節(jié)點。通過本發(fā)明,使得對等網(wǎng)絡(luò)中的對等節(jié)點的配置信息可以及時與配置服務(wù)器的配置信息達到同步。
文檔編號H04L12/24GK102118263SQ20101000148
公開日2011年7月6日 申請日期2010年1月6日 優(yōu)先權(quán)日2010年1月6日
發(fā)明者彭永林, 王煒, 胡學(xué)川, 郝振武 申請人:中興通訊股份有限公司