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

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

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

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

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

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

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

 

 

3 “云”服務器端設計
3.1 傳統(tǒng)遠程控制模式

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

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