Android平臺簡(jiǎn)易即時(shí)通訊方案
Android是Google公司于2007年11月5日推出的手機操作系統,經(jīng)過(guò)2年多的發(fā)展,Android平臺在智能移動(dòng)領(lǐng)域占有不小的份額,由Google為首的40多家移動(dòng)通信領(lǐng)域的領(lǐng)軍企業(yè)組成開(kāi)放手機聯(lián)盟(OHA)。Google與運營(yíng)商、設備制造商、開(kāi)發(fā)商和其他第三方結成深層次的合作伙伴關(guān)系,希望通過(guò)建立標準化、開(kāi)放式的移動(dòng)電話(huà)軟件平臺,在移動(dòng)產(chǎn)業(yè)內形成一個(gè)開(kāi)放式的生態(tài)系統。正因如此,Android正在被越來(lái)越多的開(kāi)發(fā)者和使用者所接受。
論文簡(jiǎn)單介紹Android平臺的特性,主要闡述了基于A(yíng)ndroid平臺簡(jiǎn)易即時(shí)通訊(IM)的作用和功能以及實(shí)現方法。
Android平臺框架共由5部分組成。底層核心是基于Linux 2.6內核開(kāi)發(fā)的獨立操作系統,該層用來(lái)提供系統的底層服務(wù),包括安全機制、內存管理、進(jìn)程管理、網(wǎng)絡(luò )堆棧及一系列的驅動(dòng)模塊。中間是Android執行環(huán)境,包括系統運行庫、Dalvik虛擬機、核心庫和一些C/C++庫等支持Android使用的各個(gè)組件。應用層框架是開(kāi)發(fā)人員使用這些API框架來(lái)開(kāi)發(fā)自己的應用,簡(jiǎn)化了應用程序開(kāi)發(fā)的架構設計。應用層程序是用Java語(yǔ)言編寫(xiě)的運行在虛擬機上的程序 。整個(gè)Android平臺框架如圖1所示。
即時(shí)通訊(IM)是一個(gè)終端連往一個(gè)即時(shí)通訊網(wǎng)路的服務(wù)。即時(shí)通訊與e-mail的不同在于它的交談是即時(shí)的。大部分的即時(shí)通訊服務(wù)提供了在線(xiàn)提醒的特性——顯示聯(lián)絡(luò )人名單,聯(lián)絡(luò )人是否在線(xiàn),能否與聯(lián)絡(luò )人交談等。近幾年即時(shí)通訊發(fā)展特別迅速,即時(shí)通訊的功能日益豐富,由PC客戶(hù)端發(fā)展到移動(dòng)客戶(hù)端,逐漸發(fā)展成一個(gè)綜合化信息平臺,國內市場(chǎng)上知名的即時(shí)通訊工具有騰訊QQ,新浪UC,中國移動(dòng)飛信等,但這些產(chǎn)品都有著(zhù)很?chē)乐氐陌踩{,如ID被盜、隱私威脅、病毒威脅等。為了減小這些威脅,可以在企業(yè)內部開(kāi)發(fā)自己的即時(shí)通訊軟件,減少為未知用戶(hù)帶來(lái)的威脅。
3 簡(jiǎn)易即時(shí)通訊功能及設計
3.1 簡(jiǎn)易通訊的功能
本設計實(shí)現了在A(yíng)ndroid平臺上開(kāi)發(fā)即時(shí)手機通訊系統,它能夠使用戶(hù)在手機客戶(hù)端上登錄服務(wù)器,方便、迅捷地收發(fā)即時(shí)消息。隨著(zhù)研究的深入,可以在該系統上實(shí)現圖片的傳輸和接收,以及其他一些功能,這樣可以使該系統功能更加多樣化。
3.2 簡(jiǎn)易通訊系統框架介紹
通訊系統架構采用C/S模式,即客戶(hù)端/服務(wù)器的體系結構??蛻?hù)端是基于A(yíng)ndroid平臺進(jìn)行開(kāi)發(fā),通過(guò)3G 網(wǎng)絡(luò )與Internet建立連接,通過(guò)服務(wù)器實(shí)現Android客戶(hù)端之間的即時(shí)通訊??蛻?hù)端負責初始化通信過(guò)程,進(jìn)行即時(shí)通訊時(shí),由客戶(hù)端負責向服務(wù)器端發(fā)起連接請求。服務(wù)器端采用開(kāi)源的Openfire 作為服務(wù)器,允許多個(gè)客戶(hù)端同時(shí)登錄,并且同時(shí)連接到一個(gè)服務(wù)器上。服務(wù)器對每個(gè)客戶(hù)端進(jìn)行認證,對認證通過(guò)的客戶(hù)端創(chuàng )建會(huì )話(huà),實(shí)現客戶(hù)端與客戶(hù)端之間的通訊。
3.3 客戶(hù)端的解決方案
系統的客戶(hù)端定位于A(yíng)ndroid平臺的手機,采用SIMPLE 協(xié)議作為即時(shí)通訊協(xié)議,SIMPLE(SIP for InSTant Messaging and Presence Levera—ging Extensions)是SIP(Session Initiation Proto—co1)的擴展,它為SIP協(xié)議制定了一整套的架構和擴展方面的規范,用于支持IM。SIMPLE通過(guò)SIP來(lái)傳遞狀態(tài)信息和實(shí)現分布的信息表示。根據協(xié)議規則,采用Android平臺提供的XML解析包對XML進(jìn)行解析。根據Activity模塊運行于主線(xiàn)程的特點(diǎn),采用多線(xiàn)程 技術(shù)來(lái)解決系統通信問(wèn)題。系統的用戶(hù)信息和聊天信息存儲在A(yíng)n—droid平臺自身所帶的SQLite數據庫中??蛻?hù)端功能模塊如圖2所示。
3.4 服務(wù)器端解決方案
系統服務(wù)器端采用開(kāi)源的Openfire來(lái)建立即時(shí)通信服務(wù)器。Openfire采用Java語(yǔ)言進(jìn)行開(kāi)發(fā),Java語(yǔ)言具有跨平臺的特點(diǎn),因此Openfire服務(wù)器可以架設于多種操作系統平臺上。Openfire服務(wù)器的內核主要由服務(wù)器連接管理組件、會(huì )話(huà)管理組件、數據存儲組件和傳輸器組件等組成。
Openfire實(shí)現了插件機制,方便擴展,通過(guò)安裝與異構網(wǎng)絡(luò )通訊的插件,便能與其他的通訊軟件實(shí)現通訊。在網(wǎng)絡(luò )連接中采用Apache的Mina框架來(lái)實(shí)現網(wǎng)絡(luò )連接,Mina框架使用非阻塞式的高性能I/O底層,采用異步I/O事件和事件驅動(dòng)機制,使服務(wù)器具有很高的效率和性能,從而能夠及時(shí)處理大量的客戶(hù)端連接事件和VO 隨機事件,單臺服務(wù)器可支持上萬(wàn)個(gè)并發(fā)用戶(hù)。服務(wù)器與客戶(hù)端的連接示意圖如圖3所示。
3.5 通信系統結構
隨著(zhù)移動(dòng)通信與Internet的飛速發(fā)展及其相互融合,3G無(wú)線(xiàn)網(wǎng)絡(luò )使無(wú)線(xiàn)網(wǎng)絡(luò )高速接入Inter—net成為現實(shí),從而移動(dòng)客戶(hù)端可以接入到Inter—net的服務(wù)。系統客戶(hù)終端通過(guò)3G無(wú)線(xiàn)網(wǎng)絡(luò )采用TCP協(xié)議連接到服務(wù)器,通過(guò)SIMPLE即時(shí)通訊協(xié)議進(jìn)行及時(shí)通訊。
在移動(dòng)網(wǎng)絡(luò )中,移動(dòng)終端接人到3G無(wú)線(xiàn)網(wǎng)絡(luò )。
網(wǎng)關(guān)移動(dòng)交換中心GMSC(Gateway Mobile Swim—hing Center)為用戶(hù)提供分組路由、隧道和跟蹤移動(dòng)終端的位置等功能。UMTS(Universal Mobile Tele—communications System)提供3G網(wǎng)絡(luò )內部與外部網(wǎng)絡(luò )的路由和封裝,分配TP地址,實(shí)現與Intemet網(wǎng)絡(luò )的互通。通信系統結構示意圖如圖4所示。
評論