《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于JXTA的P2P實(shí)例的研究與實(shí)現(xiàn)
基于JXTA的P2P實(shí)例的研究與實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2013年第14期
李淑霞
(河南工業(yè)職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)工程系,河南 南陽473000)
摘要: 對JXTA做了比較深入的研究,介紹JXTA的概念、協(xié)議、框架,描述JXTA平臺拍賣系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),最后對拍賣模型等關(guān)鍵部分進(jìn)行設(shè)計(jì)分析。
Abstract:
Key words :

摘  要:JXTA做了比較深入的研究,介紹JXTA的概念、協(xié)議、框架,描述JXTA平臺拍賣系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),最后對拍賣模型等關(guān)鍵部分進(jìn)行設(shè)計(jì)分析。
關(guān)鍵詞: P2P;JXTA;協(xié)議;框架;拍賣模型

    B/S或者C/S的應(yīng)用模式已經(jīng)無法滿足網(wǎng)絡(luò)上大文件的共享,就產(chǎn)生了一種新型的點(diǎn)對點(diǎn)技術(shù),出現(xiàn)了“我為人人,人人為我”的P2P模式,這為互聯(lián)網(wǎng)的分布、共享精神帶來了無限的遐想。
1 P2P技術(shù)
    P2P是英文Peer-to-Peer的縮寫,該名字意味著P2P網(wǎng)絡(luò)中各個節(jié)點(diǎn)之間的關(guān)系是對等的,無需經(jīng)過任何中心節(jié)點(diǎn)直接與服務(wù)器聯(lián)系。P2P系統(tǒng)分類如圖1所示。

    隨著Napster[1]、Gnutella[2]及ICQ類P2P系統(tǒng)的出現(xiàn),P2P的技術(shù)優(yōu)勢以及在未來網(wǎng)絡(luò)中的應(yīng)用價值逐漸體現(xiàn)出來,在工業(yè)界和學(xué)術(shù)界都受到了高度的重視。許多大公司及新興公司,如Intel、HP等都成立了P2P工作組從事這一技術(shù)研究。
2 JXTA技術(shù)
    JXTA是一種標(biāo)準(zhǔn)平臺,它提供了開發(fā)分布式服務(wù)和應(yīng)用程序的基本組件,JXTA具有以下優(yōu)越性[3-5]:
    (1)互操作性。它可以使各種P2P系統(tǒng)互聯(lián),無縫地提供服務(wù)。
    (2)平臺無關(guān)性。它與開發(fā)語言、操作協(xié)議及網(wǎng)絡(luò)協(xié)議都沒有關(guān)系。
    (3)無處不在性(設(shè)備無關(guān)性)。只要這個設(shè)備遵循這個協(xié)議,都可以建立P2P系統(tǒng),如圖2 所示。

    第一層是JXTA的核心層,包括Peer、對等組、Peer發(fā)現(xiàn)、Peer通信、Peer監(jiān)視和相關(guān)的安全原語。
    第二層是服務(wù)層,提供訪問JXTA協(xié)議的接口。
    第三層是應(yīng)用層,讓應(yīng)用程序訪問JXTA的網(wǎng)絡(luò)和服務(wù)。
3 餐館拍賣模型
    拍賣系統(tǒng)被設(shè)計(jì)為包含2個組成部分:一個用戶接口(前端)和一個JXTA集成(后臺)。用戶接口將為用戶顯示對等體和對等組的信息[6],以便用戶能監(jiān)控其他對等體和對等組,而對等體和對等組信息的更新是通過JXTA的后臺實(shí)現(xiàn)的。
    由圖3所示的餐館拍賣模型可知:

    (1)RestoPeer加入或創(chuàng)建一個對等組,廣播自己的基本信息通告,建立自己的輸入管道端點(diǎn),餐館A和餐館B分別加入NetPeerGroup,并在小組內(nèi)部廣播自己的服務(wù)通告,建立屬于自己的RestoNet小組。
    (2)用餐者1、用餐者2和用餐者3分別加入NetPeer-
Group,在小組內(nèi)部廣播自己的服務(wù)請求,分別根據(jù)接收到的通告,根據(jù)自己的愛好,加入相應(yīng)的RestoNet小組,建立對應(yīng)的輸入管道端點(diǎn);發(fā)送廣告通告,尋找適合自己的RestoPeer,建立輸出管道端點(diǎn)。把自己所要請求的信息[7]先轉(zhuǎn)化為結(jié)構(gòu)化文檔(即XML文檔),通過已經(jīng)建立的管道發(fā)送給相應(yīng)的RestoPeer。
    (3)餐館加入對等組,向組中的用餐者發(fā)送自己的需求通告,從輸入管道中獲取信息,轉(zhuǎn)化為結(jié)構(gòu)化文檔,讀取消息的各個部分,根據(jù)消息的內(nèi)容,將自己的拍賣信息轉(zhuǎn)化為XML文檔,建立輸出管道端點(diǎn),發(fā)送給所對應(yīng)的用餐者。
    (4)用餐者選擇餐館發(fā)送確認(rèn)通告,發(fā)送自己所能接受的價位,拍賣競標(biāo)過程完成。
4 餐館拍賣系統(tǒng)的流程圖
    餐館拍賣流程是在一個RestorPeer和一個HungryPeer兩個人之間進(jìn)行的。拍賣系統(tǒng)流程圖如圖4所示。

    (1)RestoPeer在NetPeerGroup的引導(dǎo)下完成自身的初始化,并加入NetPeerGroup小組,若沒有發(fā)現(xiàn),則建立一個新的NetPeerGroup對等組。
    (2)對RestoPeer這一對等組來說,首先試圖通過Net-
PeerGroup的發(fā)現(xiàn)服務(wù)或PDP去發(fā)現(xiàn)RestoNet對等組,如果找到RestoNet則加入這一對等組,如果找不到則創(chuàng)建一個新的RestoNet對等組。
    (3)對HungryPeer而言也是在NetPeerGroup的引導(dǎo)下,完成自身的初始化,并加入NetPeerGroup小組,接下來加入RestoNet對等組。加入RestoNet的RestoPeer后,發(fā)現(xiàn)了一個RestoPeer發(fā)布的管道通告,根據(jù)管道通告,建立自己的輸出管道,把適合自己的RestoPeer加入到自己的通信列表中,并與相應(yīng)的RestoPeer建立連接,創(chuàng)建一個輸出管道端點(diǎn),將自己的就餐請求轉(zhuǎn)化成結(jié)構(gòu)化文檔,并壓縮成消息的格式,通過輸出管道將消息發(fā)送出去。
    (4)RestoPeer從輸入管道中獲取消息,并轉(zhuǎn)化為結(jié)構(gòu)化文檔,獲取消息的各個部分,創(chuàng)建輸出管道端點(diǎn),根據(jù)相應(yīng)的請求,發(fā)出自己的出價響應(yīng),并把消息轉(zhuǎn)化為XML文檔,通過輸出管道,發(fā)送消息到HungryPeer。
    (5)HungryPeer獲取消息,根據(jù)消息所提供的信息,選擇能很好滿足自己的就餐信息,對RestoPeer發(fā)出定單。

 


    本文利用JXTA平臺的P2P技術(shù)開發(fā)一個網(wǎng)上餐館拍賣系統(tǒng),詳細(xì)描述了從對等組的搜索、建立到兩個對等體的發(fā)現(xiàn)、相互通信直到通信的結(jié)束,對從事P2P相關(guān)應(yīng)用程序的開發(fā)具有很強(qiáng)的指導(dǎo)意義。
參考文獻(xiàn)
[1] 胡忠紅,王以群.基于P2P技術(shù)的信息網(wǎng)絡(luò)[J].中國信息導(dǎo)報(bào),2003(4):58-59.
[2] FLENNER R.Java P2P技術(shù)內(nèi)幕[M].北京:人民郵電出版社,2003.
[3] Li Gong.JXTA:a network programming environment[J].IEEE Internet Computing,2001,5(3):88-95.
[4] 吳勝浩,鐘亦平,張世永.JXTA:新型的網(wǎng)絡(luò)計(jì)算環(huán)境[J]. 計(jì)算機(jī)工程,2004,30(9):4-6.
[5] 黃小琴,黎星星,朱慶生.對等網(wǎng)絡(luò)技術(shù)的新發(fā)展——JXTA[J].計(jì)算機(jī)科學(xué),2003,30(1):104.
[6] WATERHOUSE S,DOOLIN D M,KAN G,et al.Distributed  search in P2P networks[J].IEEE Internet Computing,2002,6(1):68-72,116-117.
[7] 陳姝,方濱興,周勇林.P2P技術(shù)的研究與應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2002,38(13):20-23.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。