當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]一種基于Android和JXTA協(xié)議模型的無線D2D通信技術(shù)

摘要:移動通信系統(tǒng)的快速發(fā)展使得頻譜資源日益緊缺。D2D通信是一種在系統(tǒng)的控制下,允許終端之間通過復(fù)用小區(qū)資源直接進(jìn)行通信的新型技術(shù)。它能減少小區(qū)網(wǎng)絡(luò)的負(fù)載,還能支持新型的小范圍點(diǎn)對點(diǎn)數(shù)據(jù)通信,是未來綠色通信發(fā)展的趨勢。針對這一新型的通信技術(shù),提出了基于Android OS平臺,以JXTA協(xié)議為模型無線D2D通信技術(shù),使得移動終端之間能夠進(jìn)行通信與資源共享,并通過網(wǎng)絡(luò)實(shí)驗驗證了其有效性。
關(guān)鍵詞:Android;D2D;JXTA;WiFi;P2P

0 引言
    隨著移動通信系統(tǒng)的演進(jìn)和發(fā)展,帶來需求帶寬的迅速增大,但是由于移動通信系統(tǒng)頻譜資源非常有限,可分配的帶寬滿足不了實(shí)際的應(yīng)用需要,所以亟需研究更有效的帶寬分配和利用的技術(shù)。D2D(Device to Device)通信是一種在系統(tǒng)的控制下,允許終端之間通過復(fù)用小區(qū)資源直接進(jìn)行通信的新型技術(shù)。它不依賴中心節(jié)點(diǎn)而是依靠網(wǎng)絡(luò)邊緣節(jié)點(diǎn),實(shí)現(xiàn)自組織與對等協(xié)作的資源發(fā)現(xiàn)和共享,因此擁有自組織、可擴(kuò)展性、魯棒性、容錯性以及負(fù)載均衡等優(yōu)點(diǎn),在一定程度上解決無線通信系統(tǒng)的頻譜資源匱乏的問題,同時它還能減少小區(qū)網(wǎng)絡(luò)的負(fù)載、減少移動終端的電池功耗、增加比特率等,它是未來綠色通信發(fā)展的趨勢。
    針對這一新型的通信技術(shù),本文提出了基于WiFi的自組織網(wǎng)絡(luò)的D2D通信模型,能以現(xiàn)有的數(shù)臺近距離智能終端為基礎(chǔ),使得這些終端之間能夠進(jìn)行通信與資源共享。本文基于Android操作系統(tǒng),以JXTA協(xié)議為模型,最終實(shí)現(xiàn)了基于WiFi的D2D通信,并通過網(wǎng)絡(luò)實(shí)驗驗證了其有效性。

1 D2D通信系統(tǒng)模型
   該系統(tǒng)實(shí)現(xiàn)手機(jī)等智能終端之間進(jìn)行通信和資源的共享,任務(wù)包括實(shí)現(xiàn)D2D網(wǎng)絡(luò)服務(wù)的架設(shè)、Android平臺的JXTA技術(shù)、網(wǎng)絡(luò)節(jié)點(diǎn)之間的通信、網(wǎng)絡(luò)節(jié)點(diǎn)之間的資源共享。
    D2D網(wǎng)絡(luò)主要由3個部分組成,分別是Android平臺節(jié)點(diǎn)、PC平臺節(jié)點(diǎn)和Peer集合點(diǎn),其中Peer集合點(diǎn)負(fù)責(zé)收集和發(fā)送節(jié)點(diǎn)列表信息,起到系統(tǒng)調(diào)度的作用,各節(jié)點(diǎn)可以通過集合點(diǎn)獲取存在的節(jié)點(diǎn)列表,通過該列表,即可對該對等網(wǎng)絡(luò)中的任意節(jié)點(diǎn)進(jìn)行通信,接收和發(fā)送數(shù)據(jù)。系統(tǒng)模型如圖1所示。


    該系統(tǒng)主要通過JXTA協(xié)議構(gòu)建一個D2D網(wǎng)絡(luò),在網(wǎng)絡(luò)中設(shè)置有若干個PC機(jī)節(jié)點(diǎn)和手機(jī)節(jié)點(diǎn),每個節(jié)點(diǎn)中都有共享文件,任意節(jié)點(diǎn)可通過D2D網(wǎng)絡(luò)集合點(diǎn)訪問其他節(jié)點(diǎn)的共享資源。系統(tǒng)啟動時首先進(jìn)行初始化,初始化過程會檢查手機(jī)用戶是否通過WiFi連入網(wǎng)絡(luò)、檢查緩存情況、啟動JXTA網(wǎng)絡(luò)連接,啟動之后將搜索JXTA網(wǎng)絡(luò)集合點(diǎn)RDV,讀取集合點(diǎn)上的Peer列表。待初始化完畢之后,各個Peer節(jié)點(diǎn)就可以利用JXTA網(wǎng)絡(luò)提供的管道服務(wù)互相通信了,Peer節(jié)點(diǎn)也可以向RDV節(jié)點(diǎn)請求所有節(jié)點(diǎn)共享的資源文件,資源集合點(diǎn)將相應(yīng)的節(jié)點(diǎn)所共享的資源列表以XML文件的形式反饋給請求節(jié)點(diǎn),接到反饋的資源列表之后,通信系統(tǒng)根據(jù)用戶的選擇,向相應(yīng)的節(jié)點(diǎn)發(fā)送文件傳輸請求,經(jīng)握手后即開始傳輸數(shù)據(jù)。系統(tǒng)的主要流程圖如圖2所示。
[!--empirenews.page--]
2 D2D通信系統(tǒng)的實(shí)現(xiàn)
2.1 接入網(wǎng)的配置
    要實(shí)現(xiàn)D2D的通信,終端設(shè)備必須先接入WiFi網(wǎng)絡(luò),因此在程序啟動時,應(yīng)先檢查終端設(shè)備是否已接入網(wǎng)絡(luò),其代碼如下:
   

    若用戶已接入WiFi網(wǎng)絡(luò),則啟動主應(yīng)用程序的UI。在進(jìn)入應(yīng)用程序的主界面之前,需要進(jìn)行系統(tǒng)的初始化,檢查緩存情況,啟動JXTA網(wǎng)絡(luò)連接,搜索JXTA集合點(diǎn)RDV并讀取集合點(diǎn)上的Peer列表。系統(tǒng)的主界面如圖3所示。

[!--empirenews.page--]
2.2 節(jié)點(diǎn)搜索功能
    該功能主要用于對網(wǎng)絡(luò)上的Peer節(jié)點(diǎn)進(jìn)行搜索,維護(hù)一個節(jié)點(diǎn)列表。該搜索程序通過JXTA對等機(jī)發(fā)現(xiàn)協(xié)議PDP(Peer Discovery Protoc ol)進(jìn)行節(jié)點(diǎn)搜索,PDP定義了發(fā)現(xiàn)其他Peer和資源的協(xié)議,該協(xié)議包括兩個方面:一方面用于請求獲得其他Peer的Advertisement;另一方面用于響應(yīng)其他Peer的這種請求。Peer給所有已知的Peer和Rendezvous Peer發(fā)送一個Discovery Query Message,Rendezvous Peer對Discove ry請求進(jìn)行處理,并返回一個Discovery Response Message,其中包含其緩存中advertisement。另外它還把這個請求廣播給所有知道的Pe er,收到請求的Peer搜索本地緩存尋找匹配advertisement,如果找到,就直接給最初的請求方發(fā)送一個Discovery Response Message。該程序運(yùn)行在一個線程中,在該線程中執(zhí)行一個循環(huán),每隔30 s獲取一次節(jié)點(diǎn)列表。節(jié)點(diǎn)搜索線程代碼如下:


    當(dāng)用戶單擊Peer List菜單選項時,Peer節(jié)點(diǎn)從RDV集合點(diǎn)讀取節(jié)點(diǎn)列表,并顯示在相應(yīng)的UI界面中,如圖4所示。


    而網(wǎng)絡(luò)節(jié)點(diǎn)列表收集主要完成啟動并初始化JXTA網(wǎng)絡(luò),形成一個網(wǎng)絡(luò)集合點(diǎn)Rendezvous Peer,集合點(diǎn)服務(wù)的主要功能是允許Peer網(wǎng)絡(luò)上的其他Peer傳播消息。該集合點(diǎn)可以監(jiān)聽到所有相鄰網(wǎng)絡(luò)請求連接的Peer節(jié)點(diǎn),包括PC機(jī)模擬節(jié)點(diǎn)和Android手機(jī)節(jié)點(diǎn),通過一個節(jié)點(diǎn)列表對當(dāng)前節(jié)點(diǎn)的信息進(jìn)行維護(hù),接收節(jié)點(diǎn)的連接與退出請求。當(dāng)用戶單擊Leave Network要離開網(wǎng)絡(luò)時,必須通過advertisement通知RDV節(jié)點(diǎn),此時RDV節(jié)點(diǎn)就可以更新所擁有的節(jié)點(diǎn)列表,當(dāng)其他節(jié)點(diǎn)下一次從RDV節(jié)點(diǎn)讀取節(jié)點(diǎn)列表信息時,就可以及時地更新在線的節(jié)點(diǎn)。
    集合點(diǎn)類的設(shè)計主要是通過集合點(diǎn)協(xié)議RVP(Rendezvous Protocol),簡單Peer運(yùn)用該協(xié)議同集合點(diǎn)相連接,由集合點(diǎn)代表自己向其他Peer傳播消息。RVP的實(shí)現(xiàn)扮演雙重角色,為傳播消息提供了統(tǒng)一的API,該功能不依賴Peer是否配置成集合點(diǎn)。
2.3 通信模塊的設(shè)計
     通信模塊采用JXTA雙向管道進(jìn)行消息傳輸。當(dāng)用戶登錄之后,啟動一個線程,在線程里創(chuàng)建JxtaServerPipe,不停輪詢,等待其他用戶發(fā)來的消息。當(dāng)用戶A想與用戶B聊天時,只要建立一個到用戶B的JxtaBiDiPipe,該JxtaBiDiPipe和用戶B的JxtaServerPipe進(jìn)行連接。聊天消息是用XML進(jìn)行封裝的,不同的消息可以定義不同的命名空間,以便接收端進(jìn)行區(qū)別。而且一條消息可以包含多部分信息,比如區(qū)分消息的版本、消息發(fā)送者名字等等。接收端對接收到的消息進(jìn)行解析處理,然后顯示到聊天對話界面里。
    信息發(fā)送的源代碼(信息接收的實(shí)現(xiàn)類似)如下:
[!--empirenews.page--]
2.4 文件發(fā)送與接收
    文件發(fā)送的實(shí)現(xiàn)是利用P2PSocket編寫的程序,可以在任意Peer之間對等地傳輸文件。該程序通過JXTA管道綁定協(xié)議,由Pipe向遠(yuǎn)程Pee*r發(fā)送文件,文件將以流的形式傳遞通過PipeMsgEvent實(shí)現(xiàn)PipeMsgListener,每次當(dāng)有消息傳送到管道的時候,事件將被捕獲。通過fileRequest處理共享文件列表的請求,向?qū)Ψ桨l(fā)送包含共享文件名的列表的消息在一個線程中執(zhí)行一個循環(huán),通過JXTA網(wǎng)絡(luò)進(jìn)行文件資源廣播,如果得到回應(yīng)就進(jìn)行資源請求確認(rèn),確認(rèn)完成之后調(diào)用this,socket Service.file Transfer()函數(shù)發(fā)送當(dāng)前文件資源。
    文件發(fā)送的源代碼如下:

    當(dāng)單擊File Share菜單選項時,會顯示出當(dāng)前網(wǎng)絡(luò)中的節(jié)點(diǎn)所共享的文件,如圖5所示。


    當(dāng)用戶可以選中其中的某一個文件,JXTA網(wǎng)絡(luò)利用Pipe從共享該文件的節(jié)點(diǎn)那里讀取數(shù)據(jù)并存儲在本機(jī)的SD卡上,文件接收的代碼和發(fā)送的類似。

3 結(jié)語
    本文研究并設(shè)計實(shí)現(xiàn)了基于Android操作系統(tǒng),以JXTA協(xié)議為模型,應(yīng)用WiFi網(wǎng)絡(luò)的無線D2D通信系統(tǒng)。該系統(tǒng)能以現(xiàn)有的數(shù)臺近距離的智能手機(jī)為基礎(chǔ),建立起一個無線P2P網(wǎng)絡(luò),使得這些用戶之間能夠方便地進(jìn)行通信與資源共享,這將成為諸多用戶豐富自身手機(jī)資源的有效途徑。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉