《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于JXTA的無線D2D通信系統(tǒng)的研究與實現(xiàn)
基于JXTA的無線D2D通信系統(tǒng)的研究與實現(xiàn)
來源:微型機與應用2013年第16期
魏恒璐,盧選民
(西北工業(yè)大學 電子信息學院,陜西 西安710129)
摘要: 移動通信技術的迅速發(fā)展使得頻譜資源日益緊缺,人們對了解附近感興趣的事物并與之通信的需求日漸增加,這些問題對現(xiàn)有的通信方式提出了挑戰(zhàn)。D2D通信在系統(tǒng)的控制下復用小區(qū)資源,能夠減小小區(qū)網(wǎng)絡的負載,實現(xiàn)端到端直接通信及資源共享。研究并設計實現(xiàn)了以JXTA協(xié)議為基礎、以WiFi為通信媒質(zhì)、以Android OS為運行平臺的無線D2D通信系統(tǒng)。
Abstract:
Key words :

摘  要: 移動通信技術的迅速發(fā)展使得頻譜資源日益緊缺,人們對了解附近感興趣的事物并與之通信的需求日漸增加,這些問題對現(xiàn)有的通信方式提出了挑戰(zhàn)。D2D通信在系統(tǒng)的控制下復用小區(qū)資源,能夠減小小區(qū)網(wǎng)絡的負載,實現(xiàn)端到端直接通信及資源共享。研究并設計實現(xiàn)了以JXTA協(xié)議為基礎、以WiFi為通信媒質(zhì)、以Android OS為運行平臺的無線D2D通信系統(tǒng)。
關鍵詞: D2D(Device to Device);JXTA;WiFi;Android

    移動通信系統(tǒng)的演進和發(fā)展呈現(xiàn)許多新特點。一方面有限的帶寬資源滿足不了實際的應用需要,另一方面社交網(wǎng)絡、朋友間近距離資源共享、本地廣告等應用的流行使得人們對了解附近感興趣的事物并與之通信的需求逐漸增加。同時,在智能家居、安全監(jiān)控等M2M應用中,網(wǎng)關和傳感器之間需要一種能夠令距離較近的設備之間高效通信的技術手段。D2D通信是一種在系統(tǒng)控制下復用小區(qū)資源的技術。在系統(tǒng)的控制下實現(xiàn)設備到設備直接通信而不必經(jīng)過基站,能夠減小小區(qū)網(wǎng)絡的負載,增加蜂窩通信系統(tǒng)頻譜效率,在一定程度上解決無線通信系統(tǒng)的頻譜資源匱乏的問題。同時具有干擾可控、減少移動終端的電池功耗等優(yōu)點。目前,國際標準化組織已經(jīng)開始研究D2D技術,3GPP也引入了WiFi進行數(shù)據(jù)通信的方案。可以預見D2D技術將會有廣闊的前景。
    JXTA是SUN公司推出的一組P2P組網(wǎng)規(guī)范,提供了開發(fā)基于P2P應用程序的基本組件[1]。JXTA獨立于操作系統(tǒng)與編程語言,因此JXTA應用能運行于所有實現(xiàn)該協(xié)議的平臺。JXTA也是網(wǎng)絡無關的,JXTA能利用TCP/IP、HTTP等傳輸協(xié)議和藍牙、WiFi等傳輸媒質(zhì)傳輸。因此位于不同平臺甚至不同網(wǎng)絡的對等體可以通過標準JXTA協(xié)議通信。利用JXTA開發(fā)D2D系統(tǒng)可以屏蔽傳輸協(xié)議和傳輸方式,從更高的層次構(gòu)建系統(tǒng)。
    本文研究并設計實現(xiàn)了以JXTA協(xié)議為基礎、以WiFi為通信媒質(zhì)、以Android OS為運行平臺的無線D2D通信系統(tǒng),并通過網(wǎng)絡實驗驗證了其有效性。
1 D2D通信系統(tǒng)模型
    本系統(tǒng)主要用來實現(xiàn)智能終端間的通信和文件共享。D2D網(wǎng)絡中實現(xiàn)了一個或多個JXTA協(xié)議的設備稱為對等體(Peer)。由于JXTA協(xié)議的平臺無關性,網(wǎng)絡中的對等體可以是手機、PC或其他智能設備。對等體之間可以相互通信,共享對方的資源。系統(tǒng)模型如圖1所示。

    D2D網(wǎng)絡采用半分布式結(jié)構(gòu)。網(wǎng)絡中的集合點是一個特殊的對等體,相當于C/S模式下的服務器[2]。不同之處在于,D2D網(wǎng)絡中任何對等體都可以是集合點,其與普通對等體的比例可以人為設置。集合點負責收集和發(fā)送對等體列表和資源信息,起到系統(tǒng)調(diào)度的作用。對等體可以通過集合點獲取存在的對等體列表和資源列表。對等體獲得列表后,就可訪問D2D網(wǎng)絡中的任意對等體,向目標對等體發(fā)送聊天信息,以及獲取感興趣的資源。
    系統(tǒng)主要分為對等體發(fā)現(xiàn)、聊天和文件共享3個部分。打開應用程序后,系統(tǒng)首先檢查是否已接入WiFi網(wǎng)絡,若未接入,會提醒用戶接入網(wǎng)絡。連上WiFi后開始加入JXTA網(wǎng)絡,搜索網(wǎng)絡集合點RDV,讀取上面的對等體列表。聊天功能用綁定好的管道服務實現(xiàn)。文件共享時,用戶節(jié)點需向集合點請求附近節(jié)點的資源列表。集合點收到請求信息后,以xml格式反饋資源列表。這時,用戶根據(jù)列表信息向相關節(jié)點發(fā)送文件傳輸請求,經(jīng)握手后就可以傳輸文件。JXTA通信模型如圖2所示。

2 D2D通信系統(tǒng)的實現(xiàn)
    與JXTA通信模型對應,通信系統(tǒng)的軟件實現(xiàn)由網(wǎng)絡配置模塊、對等體發(fā)現(xiàn)模塊、聊天模塊、文件共享模塊和用戶界面模塊5個模塊組成。
2.1 網(wǎng)絡配置
    應用程序啟動后,系統(tǒng)檢查當前網(wǎng)絡配置。若WiFi網(wǎng)絡不可用,則提醒用戶重新配置網(wǎng)絡[3-4]。
    若用戶已接入WiFi網(wǎng)絡,系統(tǒng)會完成檢查緩存情況、啟動JXTA網(wǎng)絡連接、搜索JXTA集合點RDV并讀取集合點上的對等體列表等初始化操作。初始化完成后進入用戶界面。判斷是否有可用WiFi網(wǎng)絡過程如下:
    (1)創(chuàng)建網(wǎng)絡連接管理對象,判斷是否有網(wǎng)絡連接:
    ConnectivityManager mConnectivityManager=
    (ConnectivityManager)context.getSystemService
(Context.CONNECTIVITY_SERVICE);
    獲取網(wǎng)絡信息:
    NetworkInfo mNetworkInfo=
    mConnectivityManager.getActiveNetworkInfo();
    判斷網(wǎng)絡是否連接:
    return mNetworkInfo.isAvailable();
    若網(wǎng)絡沒有連接,則提醒用戶。
    (2)判斷網(wǎng)絡是否可用:
    NetworkInfo mWiFiNetworkInfo=
    mConnectivityManager.getNetworkInfo
(ConnectivityManager.TYPE_WiFi);
    return mWiFiNetworkInfo.isAvailable();
    若網(wǎng)絡不可用,提醒用戶接入可用網(wǎng)絡。
2.2 對等體發(fā)現(xiàn)
    該對等體的發(fā)現(xiàn)與查找用對等機發(fā)現(xiàn)協(xié)議(Peer Discovery Protocol)實現(xiàn)。Advertisement是對等體之間各種信息交流的基本單元,發(fā)現(xiàn)其他Peer及其資源的問題就轉(zhuǎn)換為發(fā)現(xiàn)描述各資源的Advertisement的問題,只要找到對應的Advertisement,就相當于找到了該資源。PDP定義了發(fā)現(xiàn)其他Peer和資源的協(xié)議,該協(xié)議包括兩個方面[2],一方面用于請求獲得其他Peer的Advertisement;另一方面用于響應其他Peer的這種請求。對等體發(fā)現(xiàn)過程如下:
    (1)系統(tǒng)啟動時,先加入一個公共組來獲得對等組提供的發(fā)現(xiàn)服務:
    PeerGroup  netPeerGroup=
    PeerGroupFactory.newNetPeerGroup();
    (2)發(fā)布上線Advertisement,加入D2D網(wǎng)絡:
    public void remotePublish(Advertisement adv,int type);
    (3)利用對等體發(fā)現(xiàn)服務向集合點請求對等體列表:
    discovery=netPeerGroup.getDiscoveryService();
    discovery.addDiscoveryListener(this);
    discovery.getRemoteAdvertisements(null,
DiscoveryService.PEER,null,null);
    發(fā)現(xiàn)過程中添加了監(jiān)聽器,每當收到集合點的反饋消息時就可以立即捕獲并處理。發(fā)現(xiàn)過程每隔30 s執(zhí)行一次,用來獲取最新對等體列表。
2.3 聊天模塊
    聊天模塊用來實現(xiàn)點對點的文字傳輸,文字編碼采用UTF-8。消息通過JxtaBiDiPipe、JxtaServerPipe雙向管道傳輸。待發(fā)送的消息經(jīng)XML打包后經(jīng)管道傳輸給接收方。接收方解析出該消息的內(nèi)容,根據(jù)消息內(nèi)容做相應的處理。消息中包含有發(fā)送者信息及所有用戶都遵守的其他操作信息,若是聊天信息則把消息顯示到UI。因此可以通過擴充消息規(guī)范增強管道通信的能力。JxtaBiDiPipe、JxtaServerPipe與java JDK里的Socket和ServerSocket非常類似。聊天模塊實現(xiàn)過程如下:
    (1)用戶上線后需獲得一個JxtaServerPipe實例:
    JxtaServerPipe serverPipe=
    new  JxtaServerPipe(netPeerGroup,pipeAdv);
    上述對象用來監(jiān)聽端口的連接。獲得發(fā)送方通信請求后生成用于通信的管道:
    JxtaBiDiPipe   bidipipe=serverPipe.accept();
    accept()方法在獲得發(fā)送方連接之前都處于阻塞狀態(tài)。
    (2)用戶需要發(fā)送消息時,主動獲得發(fā)送管道:
    JxtaBiDiPipi bidipipe=
    new JxtaBiDiPipe(peergroup,pipeAdv,20000,this,true);
    (3)上述(1)中的對象監(jiān)聽到(2)中對象的連接請求,獲得接收管道,此時雙方可以互相通信。
    (4)收到的消息放到接收隊列里,根據(jù)用戶的輸入及消息的內(nèi)容把消息顯示在UI或觸發(fā)其他期望的動作。聊天界面如圖3所示。

 

 

    與單向管道(InputPipe、OutputPipe)的異步不可靠傳輸(類似于UDP)對應,雙向同步管道提供了安全、可靠的傳輸機制,適用于傳輸文字、圖片等小批量內(nèi)容。
2.4 文件共享
    文件共享用來獲得節(jié)點共享的文件。與聊天模塊不同的是,對等體需先得到資源列表,確定所需要的資源后再建立與目標對等體的連接。文件傳輸及其資源獲取通過p2psocket開發(fā)包實現(xiàn)[5]。文件傳輸過程如下:
    (1)對等體A向?qū)Φ润wB和集合點發(fā)送資源列表請求。請求信息用BaseMessage類或其子類實現(xiàn)。
    (2)集合點與對等體B均有用pipeMsgEvent實現(xiàn)的接口PipeMsgListener,每當有消息傳送到輸入管道時,事件被捕獲。若捕獲到的消息是共享列表請求,則集合點與對等體B通過doFileListRequest( )函數(shù)向A發(fā)送一個包含文件共享列表的消息。
    (3)對等體A通過自己的pipeMsgEvent接收到文件列表,并顯示。用戶選中感興趣的文件并向?qū)Φ润wB發(fā)送文件下載請求。如圖4所示。

    (4)對等體捕獲下載共享文件的請求后,先分析出對方請求的文件名,隨后利用doFileDownloadRequest( )函數(shù)將指定文件流打包成BaseMessage,并發(fā)送給對方。
    (5)對等體A捕獲包含下載文件流的消息后,先分析出下載文件的名字,然后存儲到文件中。
    (6)對等體B與A握手后,調(diào)用fileTransfer( )函數(shù),以流的形式將文件傳輸給A,A也以流的形式接收文件,并通過File類及緩沖流把緩沖區(qū)的文件轉(zhuǎn)換成磁盤中的文件。
    本文研究并設計實現(xiàn)了以JXTA協(xié)議為基礎,以WiFi為通信媒質(zhì),以Android OS為運行平臺的無線D2D通信系統(tǒng)。該系統(tǒng)能以現(xiàn)有的數(shù)臺近距離的智能手機為基礎,建立起一個無線D2D 網(wǎng)絡,使得這些用戶之間能夠方便地進行通信與資源共享,這將成為諸多用戶豐富自身手機資源的有效途徑。
參考文獻
[1] BROOKSHIER D著.Java P2P程序設計[M].常曉波,李靜,譯.北京:中國電力出版社,2002.
[2] OAKS S,TRAVERSAT B,Li Gong,著.JXTA技術手冊[M]. 技橋,譯.北京:清華大學出版社,2004.
[3] 張利國,代聞,龔海平.Android移動開發(fā)案例詳解[M]. 北京:人民郵電出版社,2010.
[4] 余志龍,陳昱勛,鄭名杰,等編著.Google Android SDK開發(fā)案例大全(第2版)[M].北京:人民郵電出版社,2011.
[5] 許斌.JXTA-Java P2P網(wǎng)絡編程技術[M].北京:清華大學出版社,2003.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜精品久久久久久久99樱桃| 久久中文字幕一区| 久久精品盗摄| 亚洲视频在线观看视频| 亚洲精品永久免费| 91久久精品久久国产性色也91| 精品二区视频| 国产主播精品在线| 国产亚洲精品久久久| 国产九色精品成人porny| 国产精品成人v| 欧美三区在线视频| 欧美系列精品| 国产精品成人播放| 国产精品美腿一区在线看| 国产精品盗摄一区二区三区| 欧美午夜精品久久久久久久| 欧美日一区二区在线观看| 欧美日韩美女一区二区| 欧美日韩一区二区免费在线观看| 欧美激情一二区| 欧美精品在线一区二区三区| 欧美精品三级在线观看| 欧美日韩国产一中文字不卡| 欧美日韩一视频区二区| 欧美性淫爽ww久久久久无| 国产精品啊v在线| 国产精品久久亚洲7777| 国产毛片一区二区| 国产一区二区三区四区老人| 伊人成综合网伊人222| 在线看一区二区| 91久久久久久国产精品| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲精品在线看| 一区二区三区.www| 午夜精品美女自拍福到在线 | 亚洲欧美久久久| 欧美一级网站| 亚洲激情黄色| 亚洲性视频网址| 欧美一区二区三区的| 久久免费国产| 欧美精品电影| 国产精品毛片a∨一区二区三区|国 | 国产一区二区三区久久精品| 一区视频在线播放| 日韩一级大片在线| 亚洲欧美国产不卡| 亚洲成色www8888| 一本色道婷婷久久欧美| 欧美有码在线观看视频| 欧美阿v一级看视频| 欧美午夜精品| 狠狠综合久久| 99精品视频一区| 欧美一区二区在线免费播放| 亚洲精品国产拍免费91在线| 亚洲综合导航| 久久综合色8888| 欧美天天在线| 一区二区三区无毛| 国产精品99久久久久久人| 亚洲高清在线播放| 亚洲伊人一本大道中文字幕| 久久夜色精品国产欧美乱极品| 欧美日韩不卡合集视频| 国产偷自视频区视频一区二区| 亚洲黄色片网站| 午夜日本精品| 一区二区三区欧美视频| 久久午夜国产精品| 国产精品久久久久久久久搜平片| 伊人男人综合视频网| 亚洲视频在线视频| 亚洲另类一区二区| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩精品在线播放| 好看的av在线不卡观看| 亚洲私人影院| 99riav国产精品| 久久这里有精品视频| 欧美午夜一区| 最新中文字幕一区二区三区| 欧美一区影院| 亚洲一区二区三区精品动漫| 免费成人小视频| 国产欧美日韩精品在线| 日韩网站在线观看| 亚洲精华国产欧美| 久久激情视频免费观看| 欧美午夜一区二区三区免费大片| 亚洲福利国产精品| 欧美一区二区三区免费视频| 亚洲制服av| 欧美日韩裸体免费视频| 亚洲国产黄色| 亚洲国语精品自产拍在线观看| 久久成人18免费观看| 国产精品久久久久久久久借妻| 亚洲美女av在线播放| 亚洲国产人成综合网站| 久久久久国产精品一区二区| 国产精品日韩在线一区| 99视频精品免费观看| 99国内精品| 欧美国产先锋| 亚洲第一精品电影| 久久精品人人爽| 欧美在线免费看| 国产精品日日做人人爱| 亚洲免费激情| 99www免费人成精品| 欧美成人在线免费视频| 好看的日韩av电影| 久久国产精品99国产精| 久久国产精品免费一区| 国产乱码精品1区2区3区| 亚洲一区二区三区在线观看视频| 国产精品99久久久久久久久久久久 | 国产精品二区影院| 亚洲人成亚洲人成在线观看| 亚洲人成在线免费观看| 久久综合福利| 黑人一区二区| 伊人蜜桃色噜噜激情综合| 久久av一区二区| 久久精品国产91精品亚洲| 国产美女精品在线| 亚洲欧美日韩高清| 亚欧成人精品| 国产日韩一区二区三区| 午夜亚洲福利在线老司机| 午夜日韩在线观看| 国产精品一区二区你懂得 | 韩国三级在线一区| 欧美在线视屏| 久久亚洲春色中文字幕| 国内视频一区| 亚洲福利国产精品| 欧美大片免费久久精品三p | 欧美中文在线视频| 久久综合九色| 在线观看成人一级片| 亚洲一区网站| 久久成人这里只有精品| 韩国精品主播一区二区在线观看| 亚洲国产影院| 麻豆免费精品视频| 亚洲激情视频在线观看| 国产精品99久久不卡二区| 国产精品日韩欧美综合 | 亚洲手机成人高清视频| 欧美婷婷在线| 欧美一级视频精品观看| 免费成人av| 欧美资源在线| 精品成人一区二区| 亚洲免费观看| 亚洲一区三区视频在线观看| 国产麻豆一精品一av一免费| 久久精品国产99国产精品澳门| 欧美3dxxxxhd| 一本色道久久综合亚洲精品不| 亚洲欧美一区二区三区在线| 国产午夜久久| 亚洲精品中文字| 欧美色网一区二区| 新狼窝色av性久久久久久| 久久综合九色综合欧美就去吻 | 亚洲欧美日韩国产一区二区| 国产日韩欧美| 亚洲国产精品尤物yw在线观看| 欧美激情第3页| 亚洲综合清纯丝袜自拍| 久久嫩草精品久久久久| 亚洲精品一区二区三区婷婷月 | 亚洲国产高清在线| 欧美日韩中文字幕| 欧美一区成人| 欧美精品综合| 午夜亚洲福利| 欧美欧美在线| 欧美一区二区黄| 欧美日韩国产探花| 性色av一区二区三区| 欧美激情按摩在线| 香蕉av777xxx色综合一区| 欧美精品在线观看一区二区| 香蕉乱码成人久久天堂爱免费| 欧美激情一级片一区二区| 亚洲欧美日韩精品久久亚洲区| 女仆av观看一区| 亚洲欧美国产三级| 欧美精品一区视频| 久久国产欧美| 国产乱码精品| 中文精品视频一区二区在线观看| 含羞草久久爱69一区| 亚洲专区在线视频|