《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于3G的移動(dòng)云系統(tǒng)的研究與設(shè)計(jì)
基于3G的移動(dòng)云系統(tǒng)的研究與設(shè)計(jì)
來源:微型機(jī)與應(yīng)用2014年第6期
謝寒冰, 賀 松
(貴州大學(xué) 電子信息學(xué)院, 貴州 貴陽(yáng)550025)
摘要: 移動(dòng)互聯(lián)網(wǎng)和云計(jì)算的結(jié)合為移動(dòng)互聯(lián)網(wǎng)的發(fā)展帶來了新的契機(jī),同時(shí)也加速了云計(jì)算的落地。為了擴(kuò)展移動(dòng)終端的功能和作用,體現(xiàn)云計(jì)算的優(yōu)勢(shì),讓用戶能夠真正受益于新興科技帶來的改變,提出了一種基于3G網(wǎng)絡(luò)和互聯(lián)網(wǎng)而運(yùn)行的遠(yuǎn)程控制系統(tǒng),整個(gè)系統(tǒng)基于C/S設(shè)計(jì)模式,以手機(jī)客戶端為主控端,PC端為被控端,通過服務(wù)器建立連接,處理命令和數(shù)據(jù),實(shí)現(xiàn)遠(yuǎn)程訪問和控制。
Abstract:
Key words :

摘   要: 移動(dòng)互聯(lián)網(wǎng)云計(jì)算的結(jié)合為移動(dòng)互聯(lián)網(wǎng)的發(fā)展帶來了新的契機(jī),同時(shí)也加速了云計(jì)算的落地。為了擴(kuò)展移動(dòng)終端的功能和作用,體現(xiàn)云計(jì)算的優(yōu)勢(shì),讓用戶能夠真正受益于新興科技帶來的改變,提出了一種基于3G網(wǎng)絡(luò)和互聯(lián)網(wǎng)而運(yùn)行的遠(yuǎn)程控制系統(tǒng),整個(gè)系統(tǒng)基于C/S設(shè)計(jì)模式,以手機(jī)客戶端為主控端,PC端為被控端,通過服務(wù)器建立連接,處理命令和數(shù)據(jù),實(shí)現(xiàn)遠(yuǎn)程訪問和控制。
關(guān)鍵詞:移動(dòng)互聯(lián)網(wǎng); 云計(jì)算; 3G網(wǎng)絡(luò); 遠(yuǎn)程控制

    遠(yuǎn)程控制這一概念最早出現(xiàn)在PC端,用于聯(lián)網(wǎng)的電腦之間,主控端通過網(wǎng)絡(luò)向受控端發(fā)送指令,完成一系列信息的交互。而隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,尤其是以安卓操作系統(tǒng)為代表的智能手機(jī)的大量接入網(wǎng)絡(luò),人們對(duì)于應(yīng)用需求的不斷增加,遠(yuǎn)程控制開始大量應(yīng)用于手持設(shè)備和電腦客戶端[1]。
    傳統(tǒng)的手持設(shè)備與PC間的遠(yuǎn)程控制,其功能比較單一,隨時(shí)隨地性較差,無(wú)法滿足用戶越來越高的需求。正是在這種背景下,移動(dòng)云的出現(xiàn)給移動(dòng)互聯(lián)網(wǎng)的發(fā)現(xiàn)帶來了新的契機(jī),加速了云計(jì)算的落地,使用戶能真正受益于新興科技所帶來的改變。
    云計(jì)算相對(duì)于普通遠(yuǎn)程控制軟件不同的是,在云端部署的服務(wù)器能夠帶來更為強(qiáng)大的數(shù)據(jù)分析和計(jì)算能力,以及更為出色的數(shù)據(jù)存儲(chǔ),使得即使在用戶量大、需要處理的數(shù)據(jù)非常龐大時(shí),也可以輕松應(yīng)對(duì);同時(shí),在通過3G或WiFi連接入網(wǎng)的情況下,用戶可以在真正意義上實(shí)現(xiàn)隨時(shí)隨地的操作。
    在基于3G網(wǎng)絡(luò)和互聯(lián)網(wǎng)的背景下,本文介紹了一種遠(yuǎn)程控制系統(tǒng),手機(jī)客戶端通過3G連接入網(wǎng),與PC受控端完成一系列信息的交互,可以實(shí)現(xiàn)對(duì)于PC端的關(guān)機(jī)、重啟、攝像頭的訪問、文件的訪問和操作。
1 系統(tǒng)整體闡述
1.1 系統(tǒng)采用的開發(fā)環(huán)境

    數(shù)據(jù)庫(kù):SQLServer2005是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能工具提供了企業(yè)級(jí)的數(shù)據(jù)管理,其中的數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能。
    SQLServer2005數(shù)據(jù)庫(kù)實(shí)現(xiàn)對(duì)PC端、手機(jī)端、服務(wù)器端各種需要交互的文件、圖像、視頻等數(shù)據(jù)的存儲(chǔ)。
    Eclipse:Eclipse是一個(gè)開放源代碼的基于Java的可擴(kuò)展開發(fā)平臺(tái),是普遍適用的開放可擴(kuò)展IDE,它不僅可以開發(fā)Java程序,也可以用來開發(fā)C/C++,且任何人都可以擴(kuò)展Eclipse的功能。Eclipse的核心非常小,其他功能都是基于此核心寫成插件,包括圖形API、開發(fā)環(huán)境插件JDT、插件開發(fā)環(huán)境PDE。Eclipse對(duì)這些插件的協(xié)同工作提供了良好的支持,不僅安裝簡(jiǎn)單,還可以無(wú)縫結(jié)合。
    Eclipse用來實(shí)現(xiàn)C/S架構(gòu)的PC端和手機(jī)端的軟件功能開發(fā)。
    VS2010:Vssual Studio是目前最流行的Windows平臺(tái)應(yīng)用程序開發(fā)環(huán)境,是一套完整的開發(fā)工具集,用于生成ASP.NET Web應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。此外,它還提供仿真程序,讓開發(fā)者可以在開發(fā)計(jì)算機(jī)上運(yùn)行和調(diào)試代碼。
    WDK:是一種完全集成的驅(qū)動(dòng)程序開發(fā)系統(tǒng),它包含Windows DDK,用于測(cè)試Windows驅(qū)動(dòng)器的可靠性和穩(wěn)定性。
    VS2010與WDK平臺(tái)用來實(shí)現(xiàn)客戶端、服務(wù)器端的基于C、C++和C#語(yǔ)言的功能程序的開發(fā)。
1.2 技術(shù)介紹
    虛擬化技術(shù):虛擬化技術(shù)是云計(jì)算、云存儲(chǔ)得以實(shí)現(xiàn)的關(guān)鍵技術(shù)之一。對(duì)于云計(jì)算、云存儲(chǔ)來說,需要抽象的地方很多,這當(dāng)中涉及虛擬化存儲(chǔ)管理和虛擬化計(jì)算管理。虛擬化存儲(chǔ)管理就像是虛擬內(nèi)存一樣,當(dāng)應(yīng)用程序執(zhí)行時(shí),所占用的內(nèi)存不足,操作系統(tǒng)為之增加虛擬內(nèi)存,直至內(nèi)存耗盡。虛擬化計(jì)算管理就像是對(duì)進(jìn)程、線程進(jìn)行調(diào)度,并且管理對(duì)應(yīng)的線程、進(jìn)程資源。
 RFB協(xié)議和RDP協(xié)議:RFB(遠(yuǎn)程幀緩沖)協(xié)議是一個(gè)用于遠(yuǎn)程訪問圖形用戶界面的簡(jiǎn)單協(xié)議;RDP(遠(yuǎn)程顯示協(xié)議)為客戶與服務(wù)器之間提供連接,協(xié)議基于T.128提供多信道,在客戶端支持多種資源緩沖和圖片數(shù)據(jù)的壓縮處理[2]。
 遠(yuǎn)程控制中的C/S結(jié)構(gòu)、TCP和UDP協(xié)議、Telnet協(xié)議:C/S(ClientServer)結(jié)構(gòu)即客戶端和服務(wù)器端結(jié)構(gòu),它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來實(shí)現(xiàn);遠(yuǎn)程控制中的C/S模式主要過程是主控端與服務(wù)端連接之后,Client發(fā)送數(shù)據(jù)到Server,Server再接收數(shù)據(jù)、處理數(shù)據(jù)(比如截取屏幕等),生成相應(yīng)的數(shù)據(jù)發(fā)送到Client;TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)包協(xié)議)都是位于OSI模型中的第四層(即傳輸層),在網(wǎng)絡(luò)中,這兩個(gè)協(xié)議都用來處理數(shù)據(jù)包,許多C/S模式的網(wǎng)絡(luò)應(yīng)用都需要使用這兩個(gè)協(xié)議;Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是遠(yuǎn)程登陸的標(biāo)準(zhǔn)協(xié)議和主要方式,也是常用的遠(yuǎn)程控制服務(wù)器的方法[3]。
    Socket:Socket通常也稱作套接字,是支持TCP/IP協(xié)議的網(wǎng)絡(luò)通信的基本操作單元。要通過互聯(lián)網(wǎng)進(jìn)行通信,至少要有一對(duì)Socket,其中一個(gè)運(yùn)行于客戶端,稱之為ClientSocket; 另一個(gè)運(yùn)行于服務(wù)器端,稱為ServerSocket。Socket之間的連接過程可以分為三個(gè)步驟:服務(wù)器監(jiān)聽,客戶端請(qǐng)求,連接確認(rèn)。
 VNC:VNC是虛擬網(wǎng)絡(luò)計(jì)算機(jī)的縮寫,是VNC 是一款優(yōu)秀的遠(yuǎn)程控制工具軟件,其遠(yuǎn)程控制能力強(qiáng)大,高效實(shí)用。VNC基本上是由兩部分組成:一部分是客戶端的應(yīng)用程序(Vncviewer);另外一部分是服務(wù)器端的應(yīng)用程序(Vncserver)。
2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 系統(tǒng)功能設(shè)計(jì)

 在客戶端,用戶點(diǎn)擊軟件圖標(biāo),進(jìn)入軟件;首頁(yè)進(jìn)行登錄驗(yàn)證,輸入用戶名和密碼;驗(yàn)證成功后,獲取被控端主機(jī)列表,點(diǎn)擊選擇的被控端主機(jī)進(jìn)行連接;連接成功后,客戶端獲取服務(wù)目錄。系統(tǒng)的功能模塊如圖1所示。

    PC受控端功能需求:受控端主要功能是接收主控端發(fā)送的連接請(qǐng)求,建立連接;對(duì)主控端發(fā)送的命令進(jìn)行識(shí)別, 完成相應(yīng)操作,并將結(jié)果通過服務(wù)器端發(fā)送給主控端。
 手機(jī)客戶端功能需求:手機(jī)客戶端即主控端,主要負(fù)責(zé)生成并發(fā)送連接請(qǐng)求、操作命令給被控端,接收經(jīng)服務(wù)器端處理由被控端發(fā)送來的響應(yīng)結(jié)果,并將結(jié)果處理、顯示在客戶端[2]。
    服務(wù)器端功能需求:服務(wù)器端主要負(fù)責(zé)建立主控端與被控端之間的通信,并對(duì)主、被控端發(fā)送的數(shù)據(jù)和信息進(jìn)行計(jì)算和處理。
2.3 系統(tǒng)功能實(shí)現(xiàn)
    視頻監(jiān)控功能實(shí)現(xiàn)流程如圖3所示。

    手機(jī)客戶端接收用戶操作命令,經(jīng)處理后向服務(wù)器端發(fā)送連接請(qǐng)求;服務(wù)器端將客戶端發(fā)送來的請(qǐng)求加以分析,并將命令發(fā)送給PC受控端;PC端調(diào)用受控程序,打開攝像頭,完成圖像撲捉、桌面圖像截取,并將圖像數(shù)據(jù)打包發(fā)送給服務(wù)器端進(jìn)行處理;服務(wù)器端接收到PC端發(fā)送的圖像數(shù)據(jù),并對(duì)接收到的圖像數(shù)據(jù)進(jìn)行處理,轉(zhuǎn)化成手機(jī)端可以顯示的圖像,并將處理后的圖像數(shù)據(jù)發(fā)送給手機(jī)客戶端。
   手機(jī)客戶端與服務(wù)器間進(jìn)行Socket通信[4],具體如圖4所示。

 

 

3 “云”服務(wù)器端設(shè)計(jì)
3.1 傳統(tǒng)遠(yuǎn)程控制模式

    傳統(tǒng)模式下的手機(jī)、電腦遠(yuǎn)程通信和手機(jī)遠(yuǎn)程控制,產(chǎn)生的少量通信請(qǐng)求和信息的傳輸、數(shù)據(jù)的處理直接在電腦端或手機(jī)端通過內(nèi)部程序進(jìn)行處理,此時(shí)雖可以保證數(shù)據(jù)處理的實(shí)時(shí)性和準(zhǔn)確性,但對(duì)設(shè)備的依賴較大。而設(shè)備間無(wú)統(tǒng)一標(biāo)準(zhǔn)的通信接口和數(shù)據(jù)傳輸通道也造成了設(shè)計(jì)手機(jī)遠(yuǎn)程控制端時(shí)不得不針對(duì)不同廠家的不同電腦進(jìn)行獨(dú)立開發(fā),無(wú)通用性,而軟件開發(fā)的難度、成本相對(duì)較高[4]。
    通常控制軟件由客戶端程序和服務(wù)器端程序組成,在使用前要將客戶端程序安裝到手機(jī)端,服務(wù)器端程序安裝到被控端(個(gè)人電腦)[5]。控制過程主要分為服務(wù)連接建立,客戶端、服務(wù)器端程序的運(yùn)行,圖像(電腦桌面)、指令(操作命令)等信息的傳輸,控制結(jié)果的響應(yīng)、反饋,從而實(shí)現(xiàn)手機(jī)端對(duì)電腦等產(chǎn)品的遠(yuǎn)程控制。
    Android開源系統(tǒng)的橫空出世,手機(jī)、平板、智能電視等搭載Android系統(tǒng)的各種移動(dòng)端產(chǎn)品迅猛發(fā)展,大大消除了由于不同廠商、不同設(shè)備等采用的不同開發(fā)標(biāo)準(zhǔn)造成的設(shè)備差異性,現(xiàn)已基本能夠?qū)崿F(xiàn)設(shè)備間通信接口標(biāo)準(zhǔn)的統(tǒng)一,為實(shí)現(xiàn)家庭式物聯(lián)網(wǎng)提供了優(yōu)秀的軟件平臺(tái)基礎(chǔ)。隨著3G、4G移動(dòng)網(wǎng)絡(luò)的發(fā)展和普及,可提供高達(dá)幾十到上百兆的通信帶寬為實(shí)現(xiàn)物聯(lián)網(wǎng)提供了優(yōu)秀的網(wǎng)絡(luò)基礎(chǔ),極大地滿足了家庭式物聯(lián)網(wǎng)(手機(jī)等移動(dòng)端、電腦、冰箱、智能電視、空調(diào)等)產(chǎn)生的大量通信要求和大數(shù)據(jù)處理請(qǐng)求對(duì)網(wǎng)絡(luò)帶寬的要求。
    綜上所述,傳統(tǒng)遠(yuǎn)程控制模式實(shí)現(xiàn)的手機(jī)對(duì)電腦的控制程度以及通信產(chǎn)生的信息量都不是太大,而現(xiàn)在智能手機(jī)的強(qiáng)大功能使得控制信息的量大大增加,控制的程度更加深入和全面。傳統(tǒng)的手機(jī)端—電腦端模式只能提供個(gè)人家庭的使用,且并不能全面實(shí)現(xiàn)對(duì)電腦的操控和大量數(shù)據(jù)的實(shí)時(shí)處理(特別是電腦攝像頭監(jiān)控產(chǎn)生的大視頻文件無(wú)法傳輸給手機(jī)端處理)。從而對(duì)手機(jī)端實(shí)現(xiàn)對(duì)電腦端的大數(shù)據(jù)處理、全方位操控、高實(shí)時(shí)性提出了更新的要求。建立“云”服務(wù)器專門負(fù)責(zé)大數(shù)據(jù)的處理,提供全面的數(shù)據(jù)分析、處理,實(shí)現(xiàn)對(duì)電腦端的精確操控顯得非常有必要[6]。
3.2 系統(tǒng)服務(wù)器端的設(shè)計(jì)
    “云”服務(wù)器的設(shè)計(jì)中考慮到存在大量的用戶(例如:不同用戶傳輸大量數(shù)據(jù)的要求)需要通過服務(wù)器進(jìn)行通信連接和數(shù)據(jù)傳遞,以完成手機(jī)端與電腦端的控制和信息交互,服務(wù)器需要提供大量的通信鏈路和及時(shí)、準(zhǔn)確的信息處理[6]。采用傳統(tǒng)的VPS技術(shù)可以滿足用戶對(duì)服務(wù)器資源的要求,但是由于VPS技術(shù)是將一臺(tái)獨(dú)立的服務(wù)器通過虛擬軟件(VM等)映射出多個(gè)串行的虛擬主機(jī),當(dāng)其中一臺(tái)虛擬主機(jī)占用大量寬帶資源時(shí),就會(huì)影響到其他虛擬主機(jī)的使用,更重要的是,當(dāng)某一臺(tái)虛擬主機(jī)出現(xiàn)問題(受到攻擊)時(shí),所有的虛擬主機(jī)都會(huì)陷入癱瘓,無(wú)法工作。所以,此系統(tǒng)采用基于“云”概念的技術(shù),利用服務(wù)器集群,將其部署在電信機(jī)房?jī)?nèi)部,形成一種遠(yuǎn)程的中間件形式的“云”服務(wù)器模式,為遠(yuǎn)程分布的各用戶提供手機(jī)與電腦通信連接的接口、操作指令的解析功能和大數(shù)據(jù)的傳輸功能。此服務(wù)器端對(duì)用戶來說是一個(gè)透明的存在,用戶只需要關(guān)注自身的操作而無(wú)需考慮通信連接的建立和數(shù)據(jù)通信的詳細(xì)實(shí)現(xiàn)過程,方便用戶的使用[7]。
    “云”服務(wù)器端主要分為三大功能模塊:信息通信模塊、數(shù)據(jù)處理模塊、內(nèi)網(wǎng)穿透模塊[8]。
    信息通信模塊主要功能:通過網(wǎng)絡(luò)偵聽模式獲取通信連接請(qǐng)求或手機(jī)端(電腦端)桌面變化產(chǎn)生的通信請(qǐng)求,驗(yàn)證請(qǐng)求合法性,分配服務(wù)器資源。
    數(shù)據(jù)處理傳輸模塊主要功能包括:負(fù)責(zé)對(duì)主控端發(fā)送的命令請(qǐng)求以及被控端反饋的操作結(jié)果數(shù)據(jù)的處理。
 內(nèi)網(wǎng)穿透模塊的主要功能:不在同一內(nèi)網(wǎng)時(shí),作為打通主控端與被控端之間的連接。
4 實(shí)驗(yàn)結(jié)果
  圖5為客戶端軟件的實(shí)現(xiàn)界面,用戶經(jīng)過驗(yàn)證登陸后,點(diǎn)擊被控端進(jìn)行連接,等待連接成功,會(huì)彈出服務(wù)目錄,用戶可以進(jìn)行相關(guān)的服務(wù)操作。

      本文提出了一種基于3G網(wǎng)絡(luò)和互聯(lián)網(wǎng)運(yùn)行下的智能手機(jī)遠(yuǎn)程控制系統(tǒng),其中手機(jī)客戶端為主控端,PC為被控端,服務(wù)器端負(fù)責(zé)建立兩者之間連接以及對(duì)命令數(shù)據(jù)的處理和存儲(chǔ)。整個(gè)系統(tǒng)具有良好的橫向和縱向擴(kuò)展能力,利用云計(jì)算的特點(diǎn),可以通過增加主機(jī)或者提高主機(jī)性能的方式來提高整個(gè)系統(tǒng)的處理能力,應(yīng)對(duì)大量接入的用戶。同時(shí),軟件具有靈活性、可伸縮性,保證功能模塊隨系統(tǒng)結(jié)構(gòu)和業(yè)務(wù)流程發(fā)展變化靈活組合和擴(kuò)充,可以迅速靈活地?cái)U(kuò)展新業(yè)務(wù);系統(tǒng)的各個(gè)模塊既可分布式運(yùn)行,也可集中式運(yùn)行,且各模塊負(fù)載能力及整體負(fù)載能力可平滑擴(kuò)展,新功能模塊的增加不影響現(xiàn)有模塊的運(yùn)營(yíng)。
參考文獻(xiàn)
[1] 袁成林,蔣于亭,肖錦文,等. 信息加點(diǎn)及遠(yuǎn)程管理系統(tǒng)的研究[J].電腦知識(shí)與技術(shù),2010,6(31):8682-8684,8691.
[2] 耿慶安,劉娜,張鐳.基于遠(yuǎn)程桌面連接的現(xiàn)場(chǎng)設(shè)備遠(yuǎn)程控制[J]. 電子技術(shù)應(yīng)用,2013,31(1):117-119.
[3] 劉佳,鄭華,劉洋,等. 基于TCP和UDP混合協(xié)議的遠(yuǎn)程控制軟件的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)應(yīng)用于軟件,2010,27(03):127-130.
[4] 耿東久,索岳,陳渝,等. 基于Android手機(jī)的遠(yuǎn)程訪問和控制系統(tǒng)[J]. 計(jì)算機(jī)應(yīng)用, 2011,31(02):559-561,571.
[5] 余柏林,曾欣,王新忠.智能家電遠(yuǎn)程控制的研究[J]. 微型機(jī)與應(yīng)用,2011,30(7):116-118.
[6] 秦耕,程克非,張亞奎.基于智能手機(jī)的電腦遠(yuǎn)程控制系統(tǒng)設(shè)計(jì).微計(jì)算機(jī)信息,25(1-3):22-23,8.
[7] 高林,宋相倩,王潔萍. 云計(jì)算及其關(guān)鍵技術(shù)研究[J]. 微型機(jī)與應(yīng)用,2011,30(10):5-7,11.
[8] PALAZZI C E, FERRAFESE M. FTP4 Android: a local/ remote file manager for google android platform[C]. Consumer Communications and Networking Conferrence (CCNC),  IEEE,2011.

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