專利名稱:一種基于移動(dòng)自組織網(wǎng)絡(luò)的jxta覆蓋網(wǎng)節(jié)點(diǎn)的查詢方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在JXTA覆蓋網(wǎng)中,采用無線通信方式的節(jié)點(diǎn)通過自組織方式形成移動(dòng)自組織網(wǎng)絡(luò)的環(huán)境下,如何降低資源受限的無線節(jié)點(diǎn)在查詢過程中的能耗并提高節(jié)點(diǎn)之間查詢效率的一種基于移動(dòng)自組織網(wǎng)絡(luò)的JXTA覆蓋網(wǎng)節(jié)點(diǎn)的查詢方法,屬于移動(dòng)對(duì)等網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
移動(dòng)自組織網(wǎng)絡(luò)(MANET,Mobile Ad-hoc Network)是一種自組織、無基礎(chǔ)設(shè)施、由一些移動(dòng)設(shè)備組建成的網(wǎng)絡(luò),以無線的方式進(jìn)行設(shè)備間通信;在移動(dòng)自組織網(wǎng)絡(luò)環(huán)境下通信時(shí),每個(gè)設(shè)備經(jīng)常要為其他設(shè)備轉(zhuǎn)發(fā)消息,因此每個(gè)設(shè)備都有一個(gè)路由表來維護(hù)到其他設(shè)備的路由信息;隨著筆記本電腦和智能手機(jī)的普及和802. 11/Wi-Fi無線網(wǎng)絡(luò)協(xié)議的提出,移動(dòng)自組織網(wǎng)絡(luò)自90年代中期起就成為了一個(gè)研究熱點(diǎn),很多學(xué)術(shù)論文提出了一些基·于移動(dòng)自組織網(wǎng)絡(luò)環(huán)境的路由算法,并評(píng)估這些算法的性能和缺陷。JXTA是一個(gè)由Sun微系統(tǒng)在2001年提出的開源的P2P協(xié)議規(guī)范JXTA協(xié)議由一些XML消息組成,這些協(xié)議使任何連接到網(wǎng)絡(luò)的設(shè)備都可以在不考慮底層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的情況下,進(jìn)行信息交換和合作JXTA節(jié)點(diǎn)創(chuàng)造了一個(gè)虛擬的覆蓋網(wǎng),使得節(jié)點(diǎn)可以和其他節(jié)點(diǎn)進(jìn)行交互,即使這些節(jié)點(diǎn)和資源在防火墻或其他障礙(如NATs)之后;資源發(fā)現(xiàn)機(jī)制采用邊緣節(jié)點(diǎn)(Edge Peer)直接向匯聚節(jié)點(diǎn)(Rendezvous Peer)發(fā)起查詢請(qǐng)求,由匯聚節(jié)點(diǎn)進(jìn)行查詢并轉(zhuǎn)發(fā)消息的方法。關(guān)于JXTA機(jī)制在移動(dòng)自組織網(wǎng)絡(luò)環(huán)境中的表現(xiàn),很多學(xué)者已進(jìn)行過研究;MarioBisignano, Andrea Calvagna 等人提出了 以 JXTA 為基礎(chǔ)設(shè)計(jì)中間件 Expeerience,對(duì)JXTA 的發(fā)現(xiàn)服務(wù)(DiscoveryService)、TCP 傳輸服務(wù)(TcpTransportService)等機(jī)制進(jìn)行改進(jìn),以適應(yīng)移動(dòng)自組織網(wǎng)絡(luò)特點(diǎn);他們提出的網(wǎng)絡(luò)結(jié)構(gòu)是純對(duì)等網(wǎng)絡(luò)(P2P)結(jié)構(gòu),完全無中心點(diǎn),這樣一旦網(wǎng)絡(luò)規(guī)模擴(kuò)大,節(jié)點(diǎn)間查詢效率必然降低,同時(shí)泛洪所帶來的網(wǎng)絡(luò)流量增大也會(huì)影響傳輸性能。Wang-Boo Jeong, Young-Ho Sohn等人提出了一個(gè)架構(gòu),在移動(dòng)自組織網(wǎng)絡(luò)中引入JXTA的匯聚功能,以緩解移動(dòng)自組織網(wǎng)絡(luò)路由查找時(shí)泛洪所帶來的流量壓力;該架構(gòu)需要一些節(jié)點(diǎn)充當(dāng)匯聚節(jié)點(diǎn),但無線節(jié)點(diǎn)存在資源受限且連接不穩(wěn)定的問題,這些匯聚節(jié)點(diǎn)一旦失效,會(huì)造成一定范圍內(nèi)的所有節(jié)點(diǎn)無法工作。在實(shí)際應(yīng)用方面,也有很多相關(guān)項(xiàng)目JXME是JXTA在J2ME平臺(tái)上的實(shí)現(xiàn),具有JXTA的部分功能;但邊緣節(jié)點(diǎn)需要通過代理節(jié)點(diǎn)才能參與到通信中,代理節(jié)點(diǎn)承擔(dān)了通信過程中的大部分負(fù)擔(dān),這樣做雖然降低了邊緣節(jié)點(diǎn)的能耗,但也使得網(wǎng)絡(luò)整體缺乏可擴(kuò)展性。PeerDroid是JXTA在安卓(Android)平臺(tái)上的移植,設(shè)計(jì)目的是將當(dāng)今比較流行的安卓系統(tǒng)與JXTA結(jié)合,在安卓平臺(tái)上實(shí)現(xiàn)JXTA功能;該項(xiàng)目使用和標(biāo)準(zhǔn)JXTA相同的方法,即通過匯聚節(jié)點(diǎn)完成資源查找,但與傳統(tǒng)的有線固定網(wǎng)絡(luò)設(shè)備不同,移動(dòng)設(shè)備在能量和帶寬上都存在局限性,頻繁地與匯聚節(jié)點(diǎn)進(jìn)行通信會(huì)給設(shè)備帶來很大負(fù)擔(dān)。
發(fā)明內(nèi)容
為解決現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提出一種基于移動(dòng)自組織網(wǎng)絡(luò)的JXTA覆蓋網(wǎng)節(jié)點(diǎn)的查詢方法,充分利用JXTA覆蓋網(wǎng)優(yōu)勢和移動(dòng)自組織網(wǎng)絡(luò)環(huán)境特點(diǎn),降低無線節(jié)點(diǎn)的查詢能耗并提高節(jié)點(diǎn)間的查詢效率。為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是一種基于移動(dòng)自組織網(wǎng)絡(luò)的JXTA覆蓋網(wǎng)節(jié)點(diǎn)的查詢方法,其特征是JXTA節(jié)點(diǎn)包括邊緣節(jié)點(diǎn)和匯聚節(jié)點(diǎn),網(wǎng)絡(luò)環(huán)境包括固網(wǎng)和移動(dòng)自組織網(wǎng)絡(luò),兩者之間由網(wǎng)關(guān)連接,在固網(wǎng)環(huán)境下,采用有線通信方式,邊緣節(jié)點(diǎn)根據(jù)JXTA標(biāo)準(zhǔn)通過匯聚節(jié)點(diǎn)查找網(wǎng)絡(luò)資源;在移動(dòng)自組織網(wǎng)絡(luò)環(huán)境下,采用無線通信方式,無線邊緣節(jié)點(diǎn)通過廣播形式查找網(wǎng)絡(luò)資源。當(dāng)無線邊緣節(jié)點(diǎn)發(fā)起節(jié)點(diǎn)查詢請(qǐng)求時(shí),先在移動(dòng)自組織網(wǎng)絡(luò)中,將查詢請(qǐng)求消息在由生存時(shí)間參數(shù)確定的范圍內(nèi)進(jìn)行廣播,如果能找到目標(biāo)邊緣節(jié)點(diǎn)的通告,則不用與匯聚節(jié)點(diǎn)交互的情況下完成節(jié)點(diǎn)查詢;包括以下步驟
步驟1,設(shè)節(jié)點(diǎn)A為發(fā)起查詢的無線邊緣節(jié)點(diǎn),節(jié)點(diǎn)B為查詢的目標(biāo)邊緣節(jié)點(diǎn)。首先,節(jié)點(diǎn)A根據(jù)節(jié)點(diǎn)B在JXTA覆蓋網(wǎng)中的節(jié)點(diǎn)標(biāo)識(shí)號(hào),調(diào)用JXTA覆蓋網(wǎng)中原有的發(fā)現(xiàn)服務(wù)(DiscoveryService),在本地緩存里進(jìn)行查找是否存在節(jié)點(diǎn)B的通告,如果有,貝Ij節(jié)點(diǎn)A與節(jié)點(diǎn)B直接通信;如果沒有,則調(diào)用JXTA覆蓋網(wǎng)中的移動(dòng)自組織網(wǎng)絡(luò)發(fā)現(xiàn)服務(wù)(ManetDiscoveryService),生成一條XML格式的廣播查詢請(qǐng)求消息,該消息包含消息類型、可接受的最大響應(yīng)消息數(shù)、節(jié)點(diǎn)A的通告、查詢目標(biāo)屬性、節(jié)點(diǎn)B的標(biāo)識(shí)號(hào),消息生存時(shí)間(TTL)和源節(jié)點(diǎn)標(biāo)識(shí)號(hào)(Sourceld),其中,消息生存時(shí)間(TTL)和源節(jié)點(diǎn)標(biāo)識(shí)號(hào)(SourceId)是本發(fā)明新增的字段參數(shù),消息生存時(shí)間(TTL)表示消息的最大傳播跳數(shù),用于限制其無線廣播的范圍,用戶可以根據(jù)移動(dòng)自組織網(wǎng)絡(luò)規(guī)模和節(jié)點(diǎn)的性能自行設(shè)定,源節(jié)點(diǎn)標(biāo)識(shí)號(hào)(Sourceld)是發(fā)起請(qǐng)求的節(jié)點(diǎn)的標(biāo)識(shí)號(hào),用于防止重復(fù)轉(zhuǎn)發(fā)。而其它消息字段的含義與JXTA的標(biāo)準(zhǔn)定義相同;步驟2,由于底層網(wǎng)絡(luò)已自組織形成了移動(dòng)自組織網(wǎng)絡(luò),節(jié)點(diǎn)A將上述查詢請(qǐng)求消息通過無線通信進(jìn)行廣播,則移動(dòng)自組織網(wǎng)絡(luò)中所有在節(jié)點(diǎn)A無線通信范圍內(nèi)的節(jié)點(diǎn)都將收到這條消息;步驟3,收到查詢請(qǐng)求消息的節(jié)點(diǎn),調(diào)用移動(dòng)自組織網(wǎng)絡(luò)解析服務(wù)(ManetResolverService)解析這條消息,得到源節(jié)點(diǎn)標(biāo)識(shí)號(hào)、節(jié)點(diǎn)B的標(biāo)識(shí)號(hào)、節(jié)點(diǎn)A的通告和消息生存時(shí)間(TTL)。將源節(jié)點(diǎn)標(biāo)識(shí)號(hào)和收到廣播消息的節(jié)點(diǎn)所保存的源節(jié)點(diǎn)標(biāo)識(shí)號(hào)列表進(jìn)行對(duì)照,源節(jié)點(diǎn)標(biāo)識(shí)號(hào)列表用于記錄發(fā)起查詢請(qǐng)求消息廣播的節(jié)點(diǎn),若表項(xiàng)中已有源節(jié)點(diǎn)標(biāo)識(shí)號(hào),那么證明這條消息是被重復(fù)轉(zhuǎn)發(fā)的,不進(jìn)行任何操作,轉(zhuǎn)至步驟5;如果沒有,則將源節(jié)點(diǎn)標(biāo)識(shí)號(hào)加入到表中,轉(zhuǎn)至步驟4。步驟4,收到查詢請(qǐng)求消息的節(jié)點(diǎn)以節(jié)點(diǎn)B的標(biāo)識(shí)號(hào)為參數(shù)調(diào)用原有的發(fā)現(xiàn)服務(wù)(DiscoveryService),在該節(jié)點(diǎn)的緩存內(nèi)查找節(jié)點(diǎn)B的通告,因?yàn)橐粋€(gè)節(jié)點(diǎn)的緩存里至少會(huì)保存自己的通告,所以,如果找到了節(jié)點(diǎn)B的通告,那么證明該節(jié)點(diǎn)就是節(jié)點(diǎn)B或者該節(jié)點(diǎn)恰好緩存了節(jié)點(diǎn)B的通告,則收到查詢請(qǐng)求消息的節(jié)點(diǎn)就將節(jié)點(diǎn)B的通告發(fā)送給節(jié)點(diǎn)A,節(jié)點(diǎn)A收到后完成查詢;如果在緩存中沒有找到節(jié)點(diǎn)B的通告,則令消息生存時(shí)間(TTL)減少一跳,即TTL=TTL-I,并判斷消息生存時(shí)間是否大于等于0,若滿足,則將更新后的消息生存時(shí)間參數(shù)寫回查詢請(qǐng)求消息,繼續(xù)進(jìn)行廣播,轉(zhuǎn)至步驟3 ;若不滿足,則證明已達(dá)到最大查詢范圍,不進(jìn)行任何操作,轉(zhuǎn)至步驟5 ;步驟5,若在查詢請(qǐng)求消息最大往返時(shí)延的3倍時(shí)間內(nèi),節(jié)點(diǎn)A沒有收到任何響應(yīng)消息,則證明節(jié)點(diǎn)A所在的移動(dòng)自組織網(wǎng)絡(luò)環(huán)境中,在消息生存時(shí)間的跳數(shù)范圍內(nèi)既不存在節(jié)點(diǎn)B也沒有節(jié)點(diǎn)緩存了節(jié)點(diǎn)B的通告,那么和有線節(jié)點(diǎn)一樣,節(jié)點(diǎn)A根據(jù)JXTA標(biāo)準(zhǔn)通過匯聚節(jié)點(diǎn)完成通告查詢。本發(fā)明具有以下優(yōu)點(diǎn)及有益效果(I)將移動(dòng)自組織網(wǎng)絡(luò)與JXTA覆蓋網(wǎng)相結(jié)合,對(duì)標(biāo)準(zhǔn)的JXTA覆蓋網(wǎng)進(jìn)行了無線移動(dòng)擴(kuò)展。使得無線邊緣節(jié)點(diǎn)能通過在移動(dòng)自組織網(wǎng)絡(luò)中廣播查詢到目的邊緣節(jié)點(diǎn)的通告,而不用與匯聚節(jié)點(diǎn)交互,從而降低了資源受限的無線邊緣節(jié)點(diǎn)的查詢能耗;(2)由于匯聚節(jié)點(diǎn)和無線邊緣節(jié)點(diǎn)間往往存在網(wǎng)關(guān)等障礙,所以移動(dòng)自組織網(wǎng)絡(luò) 環(huán)境下消息的傳輸效率在大部分情況下要比通過匯聚節(jié)點(diǎn)高,這樣也提高了 JXTA覆蓋網(wǎng)的節(jié)點(diǎn)查詢效率。
圖I為網(wǎng)絡(luò)體系結(jié)構(gòu)圖;圖2為系統(tǒng)功能模塊圖;圖3為節(jié)點(diǎn)查詢流程圖; 圖4為移動(dòng)自組織網(wǎng)絡(luò)查詢請(qǐng)求消息格式(XML格式)。
具體實(shí)施例方式如圖I所示,JXTA節(jié)點(diǎn)包括邊緣節(jié)點(diǎn)和匯聚節(jié)點(diǎn),網(wǎng)絡(luò)環(huán)境包括固網(wǎng)和移動(dòng)自組織網(wǎng)絡(luò),兩者之間由網(wǎng)關(guān)連接,在固網(wǎng)環(huán)境下,采用有線通信方式,邊緣節(jié)點(diǎn)根據(jù)JXTA標(biāo)準(zhǔn)通過匯聚節(jié)點(diǎn)查找網(wǎng)絡(luò)資源;在移動(dòng)自組織網(wǎng)絡(luò)環(huán)境下,采用無線通信方式,無線邊緣節(jié)點(diǎn)通過廣播形式查找網(wǎng)絡(luò)資源。當(dāng)無線邊緣節(jié)點(diǎn)發(fā)起節(jié)點(diǎn)查詢請(qǐng)求時(shí),先在移動(dòng)自組織網(wǎng)絡(luò)中,將查詢請(qǐng)求消息在由生存時(shí)間參數(shù)確定的范圍內(nèi)進(jìn)行廣播,如果能找到目標(biāo)邊緣節(jié)點(diǎn)的通告,則不用與匯聚節(jié)點(diǎn)交互的情況下完成節(jié)點(diǎn)查詢。通過這種方法,可以降低無線節(jié)點(diǎn)的查詢能耗,同時(shí),由于匯聚節(jié)點(diǎn)和無線節(jié)點(diǎn)間往往存在網(wǎng)關(guān)等障礙,所以移動(dòng)自組織網(wǎng)絡(luò)環(huán)境下消息的傳輸效率在大部分情況下要比通過匯聚節(jié)點(diǎn)高,這樣也提高了 JXTA覆蓋網(wǎng)的節(jié)點(diǎn)查詢效率。如圖2所示,查詢方式有兩種;左半部分是第一種,即JXTA原有的通過匯聚節(jié)點(diǎn)查詢的方法,使用的是JXTA的標(biāo)準(zhǔn)服務(wù)發(fā)現(xiàn)服務(wù)(DiscoveryService)、解析服務(wù)(ResolverService)、匯聚點(diǎn)服務(wù)(RendezvousService);右半部分是本發(fā)明新增的第二種方法,通過移動(dòng)自組織網(wǎng)絡(luò)廣播查詢,移動(dòng)自組織網(wǎng)絡(luò)發(fā)現(xiàn)服務(wù)(ManetDiscoveryService)和移動(dòng)自組織網(wǎng)絡(luò)解析服務(wù)(ManetResolverService)是新增的服務(wù)。對(duì)于采用有線通信方式的節(jié)點(diǎn)發(fā)現(xiàn),與標(biāo)準(zhǔn)的JXTA方式相同,即通過匯聚節(jié)點(diǎn)查詢,功能模塊如圖2左半部分所示,在此不做贅述;對(duì)于采用無線通信方式的節(jié)點(diǎn)發(fā)現(xiàn),采用本發(fā)明提出的基于移動(dòng)自組織網(wǎng)絡(luò)的JXTA覆蓋網(wǎng)節(jié)點(diǎn)發(fā)現(xiàn)方法,功能模塊如圖2右半部分所示。本發(fā)明的節(jié)點(diǎn)流程如圖3所示,包括如下步驟
步驟I,設(shè)節(jié)點(diǎn)A為發(fā)起查詢的無線邊緣節(jié)點(diǎn),節(jié)點(diǎn)B為查詢的目標(biāo)邊緣節(jié)點(diǎn)。首先,節(jié)點(diǎn)A根據(jù)節(jié)點(diǎn)B在JXTA覆蓋網(wǎng)中的節(jié)點(diǎn)標(biāo)識(shí)號(hào),調(diào)用JXTA覆蓋網(wǎng)中原有的發(fā)現(xiàn)服務(wù)(DiscoveryService),在本地緩存里進(jìn)行查找是否存在節(jié)點(diǎn)B的通告,如果有,貝Ij節(jié)點(diǎn)A與節(jié)點(diǎn)B直接通信;如果沒有,則調(diào)用JXTA覆蓋網(wǎng)中的移動(dòng)自組織網(wǎng)絡(luò)發(fā)現(xiàn)服務(wù)(ManetDiscoveryService),生成一條XML格式的廣播查詢請(qǐng)求消息,消息格式定義如圖4所示,該消息包含消息類型、可接受的最大響應(yīng)消息數(shù)、節(jié)點(diǎn)A的通告、查詢目標(biāo)屬性、節(jié)點(diǎn)B的標(biāo)識(shí)號(hào),消息生存時(shí)間(TTL)和源節(jié)點(diǎn)標(biāo)識(shí)號(hào)(Sourceld),其中,消息生存時(shí)間(TTL)和源節(jié)點(diǎn)標(biāo)識(shí)號(hào)(Sourceld)是本發(fā)明新增的字段參數(shù),消息生存時(shí)間(TTL)表示消息的最大傳播跳數(shù),用于限制其無線廣播的范圍,用戶可以根據(jù)移動(dòng)自組織網(wǎng)絡(luò)規(guī)模和節(jié)點(diǎn)的性能自行設(shè)定,源節(jié)點(diǎn)標(biāo)識(shí)號(hào)(Sourceld)是發(fā)起請(qǐng)求的節(jié)點(diǎn)的標(biāo)識(shí)號(hào),用于防止重復(fù)轉(zhuǎn)發(fā)。而其它消息字段的含義與JXTA的標(biāo)準(zhǔn)定義相同;步驟2,由于底層網(wǎng)絡(luò)已自組織形成了移動(dòng)自組織網(wǎng)絡(luò),節(jié)點(diǎn)A將上述查詢請(qǐng)求消息通過無線通信進(jìn)行廣播,則移動(dòng)自組織網(wǎng)絡(luò)中所有在節(jié)點(diǎn)A無線通信范圍內(nèi)的節(jié)點(diǎn)都將收到這條消息; 步驟3,收到查詢請(qǐng)求消息的節(jié)點(diǎn),調(diào)用移動(dòng)自組織網(wǎng)絡(luò)解析服務(wù)(ManetResolverService)解析這條消息,得到源節(jié)點(diǎn)標(biāo)識(shí)號(hào)、節(jié)點(diǎn)B的標(biāo)識(shí)號(hào)、節(jié)點(diǎn)A的通告和消息生存時(shí)間(TTL)。將源節(jié)點(diǎn)標(biāo)識(shí)號(hào)和收到廣播消息的節(jié)點(diǎn)所保存的源節(jié)點(diǎn)標(biāo)識(shí)號(hào)列表進(jìn)行對(duì)照,源節(jié)點(diǎn)標(biāo)識(shí)號(hào)列表用于記錄發(fā)起查詢請(qǐng)求消息廣播的節(jié)點(diǎn),若表項(xiàng)中已有源節(jié)點(diǎn)標(biāo)識(shí)號(hào),那么證明這條消息是被重復(fù)轉(zhuǎn)發(fā)的,不進(jìn)行任何操作,轉(zhuǎn)至步驟5;如果沒有,則將源節(jié)點(diǎn)標(biāo)識(shí)號(hào)加入到表中,轉(zhuǎn)至步驟4 ;步驟4,收到查詢請(qǐng)求消息的節(jié)點(diǎn)以節(jié)點(diǎn)B的標(biāo)識(shí)號(hào)為參數(shù)調(diào)用原有的發(fā)現(xiàn)服務(wù)(DiscoveryService),在該節(jié)點(diǎn)的緩存內(nèi)查找節(jié)點(diǎn)B的通告,因?yàn)橐粋€(gè)節(jié)點(diǎn)的緩存里至少會(huì)保存自己的通告,所以,如果找到了節(jié)點(diǎn)B的通告,那么證明該節(jié)點(diǎn)就是節(jié)點(diǎn)B或者該節(jié)點(diǎn)恰好緩存了節(jié)點(diǎn)B的通告,則收到查詢請(qǐng)求消息的節(jié)點(diǎn)就將節(jié)點(diǎn)B的通告發(fā)送給節(jié)點(diǎn)A,節(jié)點(diǎn)A收到后完成查詢;如果在緩存中沒有找到節(jié)點(diǎn)B的通告,則令消息生存時(shí)間(TTL)減少一跳,即TTL=TTL-I,并判斷消息生存時(shí)間是否大于等于0,若滿足,則將更新后的消息生存時(shí)間參數(shù)寫回查詢請(qǐng)求消息,繼續(xù)進(jìn)行廣播,轉(zhuǎn)至步驟3 ;若不滿足,則證明已達(dá)到最大查詢范圍,不進(jìn)行任何操作,轉(zhuǎn)至步驟5 ;步驟5,若在查詢請(qǐng)求消息最大往返時(shí)延的3倍時(shí)間內(nèi),節(jié)點(diǎn)A沒有收到任何響應(yīng)消息,則證明節(jié)點(diǎn)A所在的移動(dòng)自組織網(wǎng)絡(luò)環(huán)境中,在消息生存時(shí)間的跳數(shù)范圍內(nèi)既不存在節(jié)點(diǎn)B也沒有節(jié)點(diǎn)緩存了節(jié)點(diǎn)B的通告,那么和有線節(jié)點(diǎn)一樣,節(jié)點(diǎn)A根據(jù)JXTA標(biāo)準(zhǔn)通過匯聚節(jié)點(diǎn)完成通告查詢。如圖4所示,定義了移動(dòng)自組織網(wǎng)絡(luò)查詢請(qǐng)求消息格式,主要字段參數(shù)包括消息類型(Type)、可接受的最大響應(yīng)消息數(shù)(Threshold)、節(jié)點(diǎn)A的通告(PeerAdv)、查詢目標(biāo)屬性(Attr)、查詢目標(biāo)屬性值(Value,這里取節(jié)點(diǎn)B的標(biāo)識(shí)號(hào)),消息生存時(shí)間(TTL)和源節(jié)點(diǎn)標(biāo)識(shí)號(hào)(SourceId),其中,消息生存時(shí)間(TTL)和源節(jié)點(diǎn)標(biāo)識(shí)號(hào)(SourceId)是本發(fā)明新增的字段參數(shù),消息生存時(shí)間(TTL)表示消息的最大傳播跳數(shù),用于限制其無線廣播的范圍,源節(jié)點(diǎn)標(biāo)識(shí)號(hào)(Sourceld)是發(fā)起請(qǐng)求的節(jié)點(diǎn)的標(biāo)識(shí)號(hào),用于防止重復(fù)轉(zhuǎn)發(fā)。而其它消息字段的含義與JXTA的標(biāo)準(zhǔn)定義相同。
權(quán)利要求
1.一種基于移動(dòng)自組織網(wǎng)絡(luò)的JXTA覆蓋網(wǎng)節(jié)點(diǎn)的查詢方法,其特征是JXTA節(jié)點(diǎn)包括邊緣節(jié)點(diǎn)和匯聚節(jié)點(diǎn),網(wǎng)絡(luò)環(huán)境包括固網(wǎng)和移動(dòng)自組織網(wǎng)絡(luò),兩者之間由網(wǎng)關(guān)連接,在固網(wǎng)環(huán)境下,采用有線通信方式,邊緣節(jié)點(diǎn)根據(jù)JXTA標(biāo)準(zhǔn)通過匯聚節(jié)點(diǎn)查找網(wǎng)絡(luò)資源;在移動(dòng)自組織網(wǎng)絡(luò)環(huán)境下,采用無線通信方式,無線邊緣節(jié)點(diǎn)通過廣播形式查找網(wǎng)絡(luò)資源,當(dāng)無線邊緣節(jié)點(diǎn)發(fā)起節(jié)點(diǎn)查詢請(qǐng)求時(shí),先在移動(dòng)自組織網(wǎng)絡(luò)中,將查詢請(qǐng)求消息在由生存時(shí)間參數(shù)確定的范圍內(nèi)進(jìn)行廣播,如果能找到目標(biāo)邊緣節(jié)點(diǎn)的通告,則不用與匯聚節(jié)點(diǎn)交互的情況下完成節(jié)點(diǎn)查詢;包括以下步驟 步驟1,設(shè)節(jié)點(diǎn)A為發(fā)起查詢的無線邊緣節(jié)點(diǎn),節(jié)點(diǎn)B為查詢的目標(biāo)邊緣節(jié)點(diǎn),首先,節(jié)點(diǎn)A根據(jù)節(jié)點(diǎn)B在JXTA覆蓋網(wǎng)中的節(jié)點(diǎn)標(biāo)識(shí)號(hào),調(diào)用JXTA覆蓋網(wǎng)中原有的發(fā)現(xiàn)服務(wù),在本地緩存里進(jìn)行查找是否存在節(jié)點(diǎn)B的通告,如果有,則節(jié)點(diǎn)A與節(jié)點(diǎn)B直接通信;如果沒有,則調(diào)用JXTA覆蓋網(wǎng)中的移動(dòng)自組織網(wǎng)絡(luò)發(fā)現(xiàn)服務(wù),生成一條XML格式的廣播查詢請(qǐng)求消息,該消息包含消息類型、能夠接受的最大響應(yīng)消息數(shù)、節(jié)點(diǎn)A的通告、查詢目標(biāo)屬性、節(jié)點(diǎn)B的標(biāo)識(shí)號(hào)、消息生存時(shí)間和源節(jié)點(diǎn)標(biāo)識(shí)號(hào),其中,消息生存時(shí)間和源節(jié)點(diǎn)標(biāo)識(shí)號(hào)是新增的字段參數(shù),消息生存時(shí)間表示消息的最大傳播跳數(shù),用于限制其無線廣播的范圍,用戶根據(jù)移動(dòng)自組織網(wǎng)絡(luò)規(guī)模和節(jié)點(diǎn)的性能自行設(shè)定,源節(jié)點(diǎn)標(biāo)識(shí)號(hào)是發(fā)起請(qǐng)求的節(jié)點(diǎn)的標(biāo)識(shí)號(hào),用于防止重復(fù)轉(zhuǎn)發(fā),而其它消息字段的含義與JXTA的標(biāo)準(zhǔn)定義相同; 步驟2,由于底層網(wǎng)絡(luò)已自組織形成了移動(dòng)自組織網(wǎng)絡(luò),節(jié)點(diǎn)A將上述查詢請(qǐng)求消息通過無線通信進(jìn)行廣播,則移動(dòng)自組織網(wǎng)絡(luò)中所有在節(jié)點(diǎn)A無線通信范圍內(nèi)的節(jié)點(diǎn)都將收到這條消息; 步驟3,收到查詢請(qǐng)求消息的節(jié)點(diǎn),調(diào)用移動(dòng)自組織網(wǎng)絡(luò)解析服務(wù)解析這條消息,得到源節(jié)點(diǎn)標(biāo)識(shí)號(hào)、節(jié)點(diǎn)B的標(biāo)識(shí)號(hào)、節(jié)點(diǎn)A的通告和消息生存時(shí)間,將源節(jié)點(diǎn)標(biāo)識(shí)號(hào)和收到廣播消息的節(jié)點(diǎn)所保存的源節(jié)點(diǎn)標(biāo)識(shí)號(hào)列表進(jìn)行對(duì)照,源節(jié)點(diǎn)標(biāo)識(shí)號(hào)列表用于記錄發(fā)起查詢請(qǐng)求消息廣播的節(jié)點(diǎn),若表項(xiàng)中已有源節(jié)點(diǎn)標(biāo)識(shí)號(hào),那么證明這條消息是被重復(fù)轉(zhuǎn)發(fā)的,不進(jìn)行任何操作,轉(zhuǎn)至步驟5 ;如果沒有,則將源節(jié)點(diǎn)標(biāo)識(shí)號(hào)加入到表中,轉(zhuǎn)至步驟4 ; 步驟4,收到查詢請(qǐng)求消息的節(jié)點(diǎn)以節(jié)點(diǎn)B的標(biāo)識(shí)號(hào)為參數(shù)調(diào)用原有的發(fā)現(xiàn)服務(wù),在該節(jié)點(diǎn)的緩存內(nèi)查找節(jié)點(diǎn)B的通告,因?yàn)橐粋€(gè)節(jié)點(diǎn)的緩存里至少會(huì)保存自己的通告,所以,如果找到了節(jié)點(diǎn)B的通告,那么證明該節(jié)點(diǎn)就是節(jié)點(diǎn)B或者該節(jié)點(diǎn)恰好緩存了節(jié)點(diǎn)B的通告,則收到查詢請(qǐng)求消息的節(jié)點(diǎn)就將節(jié)點(diǎn)B的通告發(fā)送給節(jié)點(diǎn)A,節(jié)點(diǎn)A收到后完成查詢;如果在緩存中沒有找到節(jié)點(diǎn)B的通告,則令消息生存時(shí)間遞減減少一跳,并判斷消息生存時(shí)間是否大于等于O,若滿足,則將更新后的消息生存時(shí)間參數(shù)寫回查詢請(qǐng)求消息,繼續(xù)進(jìn)行廣播,轉(zhuǎn)至步驟3 ;若不滿足,則證明已達(dá)到最大查詢范圍,不進(jìn)行任何操作,轉(zhuǎn)至步驟5 ; 步驟5,若在查詢請(qǐng)求消息最大往返時(shí)延的3倍時(shí)間內(nèi),節(jié)點(diǎn)A沒有收到任何響應(yīng)消息,則證明節(jié)點(diǎn)A所在的移動(dòng)自組織網(wǎng)絡(luò)環(huán)境中,在消息生存時(shí)間的跳數(shù)范圍內(nèi)既不存在節(jié)點(diǎn)B也沒有節(jié)點(diǎn)緩存了節(jié)點(diǎn)B的通告,那么和有線節(jié)點(diǎn)一樣,節(jié)點(diǎn)A根據(jù)JXTA標(biāo)準(zhǔn)通過匯聚節(jié)點(diǎn)完成通告查詢。
全文摘要
本發(fā)明公開了一種基于移動(dòng)自組織網(wǎng)絡(luò)的JXTA覆蓋網(wǎng)節(jié)點(diǎn)的查詢方法,在移動(dòng)自組織網(wǎng)絡(luò)環(huán)境下,采用無線通信方式,無線邊緣節(jié)點(diǎn)通過廣播形式查找網(wǎng)絡(luò)資源,當(dāng)無線邊緣節(jié)點(diǎn)發(fā)起節(jié)點(diǎn)查詢請(qǐng)求時(shí),先在移動(dòng)自組織網(wǎng)絡(luò)中,將查詢請(qǐng)求消息在由生存時(shí)間參數(shù)確定的范圍內(nèi)進(jìn)行廣播,如果能找到目標(biāo)邊緣節(jié)點(diǎn)的通告,則不用與匯聚節(jié)點(diǎn)交互的情況下完成節(jié)點(diǎn)查詢。通過這種方法,可以降低無線節(jié)點(diǎn)的查詢能耗,同時(shí),由于匯聚節(jié)點(diǎn)和無線節(jié)點(diǎn)間往往存在網(wǎng)關(guān)等障礙,所以移動(dòng)自組織網(wǎng)絡(luò)環(huán)境下消息的傳輸效率在大部分情況下要比通過匯聚節(jié)點(diǎn)高,這樣也提高了JXTA覆蓋網(wǎng)的節(jié)點(diǎn)查詢效率。
文檔編號(hào)H04W84/22GK102905339SQ20121040086
公開日2013年1月30日 申請(qǐng)日期2012年10月19日 優(yōu)先權(quán)日2012年10月19日
發(fā)明者吳家皋, 余浩, 鄒志強(qiáng), 劉林峰 申請(qǐng)人:南京郵電大學(xué)