摘 要: 移動互聯(lián)網(wǎng)和云計算的結(jié)合為移動互聯(lián)網(wǎng)的發(fā)展帶來了新的契機,,同時也加速了云計算的落地。為了擴(kuò)展移動終端的功能和作用,,體現(xiàn)云計算的優(yōu)勢,,讓用戶能夠真正受益于新興科技帶來的改變,提出了一種基于3G網(wǎng)絡(luò)和互聯(lián)網(wǎng)而運行的遠(yuǎn)程控制系統(tǒng),,整個系統(tǒng)基于C/S設(shè)計模式,,以手機客戶端為主控端,,PC端為被控端,通過服務(wù)器建立連接,,處理命令和數(shù)據(jù),,實現(xiàn)遠(yuǎn)程訪問和控制。
關(guān)鍵詞:移動互聯(lián)網(wǎng),; 云計算,; 3G網(wǎng)絡(luò); 遠(yuǎn)程控制
遠(yuǎn)程控制這一概念最早出現(xiàn)在PC端,,用于聯(lián)網(wǎng)的電腦之間,,主控端通過網(wǎng)絡(luò)向受控端發(fā)送指令,完成一系列信息的交互,。而隨著移動互聯(lián)網(wǎng)的發(fā)展,,尤其是以安卓操作系統(tǒng)為代表的智能手機的大量接入網(wǎng)絡(luò),人們對于應(yīng)用需求的不斷增加,,遠(yuǎn)程控制開始大量應(yīng)用于手持設(shè)備和電腦客戶端[1],。
傳統(tǒng)的手持設(shè)備與PC間的遠(yuǎn)程控制,其功能比較單一,隨時隨地性較差,,無法滿足用戶越來越高的需求,。正是在這種背景下,移動云的出現(xiàn)給移動互聯(lián)網(wǎng)的發(fā)現(xiàn)帶來了新的契機,,加速了云計算的落地,,使用戶能真正受益于新興科技所帶來的改變。
云計算相對于普通遠(yuǎn)程控制軟件不同的是,,在云端部署的服務(wù)器能夠帶來更為強大的數(shù)據(jù)分析和計算能力,,以及更為出色的數(shù)據(jù)存儲,使得即使在用戶量大,、需要處理的數(shù)據(jù)非常龐大時,,也可以輕松應(yīng)對;同時,,在通過3G或WiFi連接入網(wǎng)的情況下,,用戶可以在真正意義上實現(xiàn)隨時隨地的操作,。
在基于3G網(wǎng)絡(luò)和互聯(lián)網(wǎng)的背景下,本文介紹了一種遠(yuǎn)程控制系統(tǒng),,手機客戶端通過3G連接入網(wǎng),與PC受控端完成一系列信息的交互,,可以實現(xiàn)對于PC端的關(guān)機,、重啟、攝像頭的訪問,、文件的訪問和操作,。
1 系統(tǒng)整體闡述
1.1 系統(tǒng)采用的開發(fā)環(huán)境
數(shù)據(jù)庫:SQLServer2005是一個全面的數(shù)據(jù)庫平臺,,使用集成的商業(yè)智能工具提供了企業(yè)級的數(shù)據(jù)管理,其中的數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,。
SQLServer2005數(shù)據(jù)庫實現(xiàn)對PC端,、手機端、服務(wù)器端各種需要交互的文件,、圖像,、視頻等數(shù)據(jù)的存儲。
Eclipse:Eclipse是一個開放源代碼的基于Java的可擴(kuò)展開發(fā)平臺,,是普遍適用的開放可擴(kuò)展IDE,,它不僅可以開發(fā)Java程序,也可以用來開發(fā)C/C++,,且任何人都可以擴(kuò)展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平臺應(yīng)用程序開發(fā)環(huán)境,是一套完整的開發(fā)工具集,,用于生成ASP.NET Web應(yīng)用程序,、XML Web Services、桌面應(yīng)用程序和移動應(yīng)用程序,。此外,,它還提供仿真程序,讓開發(fā)者可以在開發(fā)計算機上運行和調(diào)試代碼,。
WDK:是一種完全集成的驅(qū)動程序開發(fā)系統(tǒng),,它包含Windows DDK,用于測試Windows驅(qū)動器的可靠性和穩(wěn)定性,。
VS2010與WDK平臺用來實現(xiàn)客戶端,、服務(wù)器端的基于C、C++和C#語言的功能程序的開發(fā),。
1.2 技術(shù)介紹
虛擬化技術(shù):虛擬化技術(shù)是云計算,、云存儲得以實現(xiàn)的關(guān)鍵技術(shù)之一。對于云計算,、云存儲來說,,需要抽象的地方很多,,這當(dāng)中涉及虛擬化存儲管理和虛擬化計算管理。虛擬化存儲管理就像是虛擬內(nèi)存一樣,,當(dāng)應(yīng)用程序執(zhí)行時,,所占用的內(nèi)存不足,操作系統(tǒng)為之增加虛擬內(nèi)存,,直至內(nèi)存耗盡,。虛擬化計算管理就像是對進(jìn)程、線程進(jìn)行調(diào)度,,并且管理對應(yīng)的線程,、進(jìn)程資源。
RFB協(xié)議和RDP協(xié)議:RFB(遠(yuǎn)程幀緩沖)協(xié)議是一個用于遠(yuǎ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)勢,,將任務(wù)合理分配到Client端和Server端來實現(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ò)中,,這兩個協(xié)議都用來處理數(shù)據(jù)包,許多C/S模式的網(wǎng)絡(luò)應(yīng)用都需要使用這兩個協(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)行通信,,至少要有一對Socket,,其中一個運行于客戶端,稱之為ClientSocket; 另一個運行于服務(wù)器端,,稱為ServerSocket,。Socket之間的連接過程可以分為三個步驟:服務(wù)器監(jiān)聽,,客戶端請求,,連接確認(rèn),。
VNC:VNC是虛擬網(wǎng)絡(luò)計算機的縮寫,是VNC 是一款優(yōu)秀的遠(yuǎn)程控制工具軟件,,其遠(yuǎn)程控制能力強大,,高效實用。VNC基本上是由兩部分組成:一部分是客戶端的應(yīng)用程序(Vncviewer),;另外一部分是服務(wù)器端的應(yīng)用程序(Vncserver),。
2 系統(tǒng)設(shè)計與實現(xiàn)
2.1 系統(tǒng)功能設(shè)計
在客戶端,用戶點擊軟件圖標(biāo),,進(jìn)入軟件,;首頁進(jìn)行登錄驗證,輸入用戶名和密碼;驗證成功后,,獲取被控端主機列表,,點擊選擇的被控端主機進(jìn)行連接;連接成功后,,客戶端獲取服務(wù)目錄,。系統(tǒng)的功能模塊如圖1所示。
PC受控端功能需求:受控端主要功能是接收主控端發(fā)送的連接請求,,建立連接,;對主控端發(fā)送的命令進(jìn)行識別, 完成相應(yīng)操作,,并將結(jié)果通過服務(wù)器端發(fā)送給主控端,。
手機客戶端功能需求:手機客戶端即主控端,主要負(fù)責(zé)生成并發(fā)送連接請求,、操作命令給被控端,,接收經(jīng)服務(wù)器端處理由被控端發(fā)送來的響應(yīng)結(jié)果,并將結(jié)果處理,、顯示在客戶端[2],。
服務(wù)器端功能需求:服務(wù)器端主要負(fù)責(zé)建立主控端與被控端之間的通信,并對主,、被控端發(fā)送的數(shù)據(jù)和信息進(jìn)行計算和處理,。
2.3 系統(tǒng)功能實現(xiàn)
視頻監(jiān)控功能實現(xiàn)流程如圖3所示。
手機客戶端接收用戶操作命令,,經(jīng)處理后向服務(wù)器端發(fā)送連接請求,;服務(wù)器端將客戶端發(fā)送來的請求加以分析,并將命令發(fā)送給PC受控端,;PC端調(diào)用受控程序,,打開攝像頭,完成圖像撲捉,、桌面圖像截取,,并將圖像數(shù)據(jù)打包發(fā)送給服務(wù)器端進(jìn)行處理,;服務(wù)器端接收到PC端發(fā)送的圖像數(shù)據(jù),并對接收到的圖像數(shù)據(jù)進(jìn)行處理,,轉(zhuǎn)化成手機端可以顯示的圖像,,并將處理后的圖像數(shù)據(jù)發(fā)送給手機客戶端。
手機客戶端與服務(wù)器間進(jìn)行Socket通信[4],,具體如圖4所示,。
3 “云”服務(wù)器端設(shè)計
3.1 傳統(tǒng)遠(yuǎn)程控制模式
傳統(tǒng)模式下的手機、電腦遠(yuǎn)程通信和手機遠(yuǎn)程控制,,產(chǎn)生的少量通信請求和信息的傳輸,、數(shù)據(jù)的處理直接在電腦端或手機端通過內(nèi)部程序進(jìn)行處理,此時雖可以保證數(shù)據(jù)處理的實時性和準(zhǔn)確性,,但對設(shè)備的依賴較大,。而設(shè)備間無統(tǒng)一標(biāo)準(zhǔn)的通信接口和數(shù)據(jù)傳輸通道也造成了設(shè)計手機遠(yuǎn)程控制端時不得不針對不同廠家的不同電腦進(jìn)行獨立開發(fā),無通用性,,而軟件開發(fā)的難度,、成本相對較高[4]。
通??刂栖浖煽蛻舳顺绦蚝头?wù)器端程序組成,,在使用前要將客戶端程序安裝到手機端,服務(wù)器端程序安裝到被控端(個人電腦)[5],??刂七^程主要分為服務(wù)連接建立,客戶端,、服務(wù)器端程序的運行,,圖像(電腦桌面)、指令(操作命令)等信息的傳輸,,控制結(jié)果的響應(yīng),、反饋,從而實現(xiàn)手機端對電腦等產(chǎn)品的遠(yuǎn)程控制,。
Android開源系統(tǒng)的橫空出世,,手機、平板,、智能電視等搭載Android系統(tǒng)的各種移動端產(chǎn)品迅猛發(fā)展,,大大消除了由于不同廠商、不同設(shè)備等采用的不同開發(fā)標(biāo)準(zhǔn)造成的設(shè)備差異性,,現(xiàn)已基本能夠?qū)崿F(xiàn)設(shè)備間通信接口標(biāo)準(zhǔn)的統(tǒng)一,,為實現(xiàn)家庭式物聯(lián)網(wǎng)提供了優(yōu)秀的軟件平臺基礎(chǔ)。隨著3G、4G移動網(wǎng)絡(luò)的發(fā)展和普及,,可提供高達(dá)幾十到上百兆的通信帶寬為實現(xiàn)物聯(lián)網(wǎng)提供了優(yōu)秀的網(wǎng)絡(luò)基礎(chǔ),,極大地滿足了家庭式物聯(lián)網(wǎng)(手機等移動端、電腦,、冰箱,、智能電視,、空調(diào)等)產(chǎn)生的大量通信要求和大數(shù)據(jù)處理請求對網(wǎng)絡(luò)帶寬的要求,。
綜上所述,傳統(tǒng)遠(yuǎn)程控制模式實現(xiàn)的手機對電腦的控制程度以及通信產(chǎn)生的信息量都不是太大,,而現(xiàn)在智能手機的強大功能使得控制信息的量大大增加,,控制的程度更加深入和全面。傳統(tǒng)的手機端—電腦端模式只能提供個人家庭的使用,,且并不能全面實現(xiàn)對電腦的操控和大量數(shù)據(jù)的實時處理(特別是電腦攝像頭監(jiān)控產(chǎn)生的大視頻文件無法傳輸給手機端處理),。從而對手機端實現(xiàn)對電腦端的大數(shù)據(jù)處理、全方位操控,、高實時性提出了更新的要求,。建立“云”服務(wù)器專門負(fù)責(zé)大數(shù)據(jù)的處理,提供全面的數(shù)據(jù)分析,、處理,,實現(xiàn)對電腦端的精確操控顯得非常有必要[6]。
3.2 系統(tǒng)服務(wù)器端的設(shè)計
“云”服務(wù)器的設(shè)計中考慮到存在大量的用戶(例如:不同用戶傳輸大量數(shù)據(jù)的要求)需要通過服務(wù)器進(jìn)行通信連接和數(shù)據(jù)傳遞,,以完成手機端與電腦端的控制和信息交互,,服務(wù)器需要提供大量的通信鏈路和及時、準(zhǔn)確的信息處理[6],。采用傳統(tǒng)的VPS技術(shù)可以滿足用戶對服務(wù)器資源的要求,,但是由于VPS技術(shù)是將一臺獨立的服務(wù)器通過虛擬軟件(VM等)映射出多個串行的虛擬主機,當(dāng)其中一臺虛擬主機占用大量寬帶資源時,,就會影響到其他虛擬主機的使用,,更重要的是,當(dāng)某一臺虛擬主機出現(xiàn)問題(受到攻擊)時,,所有的虛擬主機都會陷入癱瘓,,無法工作。所以,,此系統(tǒng)采用基于“云”概念的技術(shù),,利用服務(wù)器集群,將其部署在電信機房內(nèi)部,,形成一種遠(yuǎn)程的中間件形式的“云”服務(wù)器模式,,為遠(yuǎn)程分布的各用戶提供手機與電腦通信連接的接口、操作指令的解析功能和大數(shù)據(jù)的傳輸功能。此服務(wù)器端對用戶來說是一個透明的存在,,用戶只需要關(guān)注自身的操作而無需考慮通信連接的建立和數(shù)據(jù)通信的詳細(xì)實現(xiàn)過程,,方便用戶的使用[7]。
“云”服務(wù)器端主要分為三大功能模塊:信息通信模塊,、數(shù)據(jù)處理模塊,、內(nèi)網(wǎng)穿透模塊[8]。
信息通信模塊主要功能:通過網(wǎng)絡(luò)偵聽模式獲取通信連接請求或手機端(電腦端)桌面變化產(chǎn)生的通信請求,,驗證請求合法性,,分配服務(wù)器資源。
數(shù)據(jù)處理傳輸模塊主要功能包括:負(fù)責(zé)對主控端發(fā)送的命令請求以及被控端反饋的操作結(jié)果數(shù)據(jù)的處理,。
內(nèi)網(wǎng)穿透模塊的主要功能:不在同一內(nèi)網(wǎng)時,,作為打通主控端與被控端之間的連接。
4 實驗結(jié)果
圖5為客戶端軟件的實現(xiàn)界面,,用戶經(jīng)過驗證登陸后,,點擊被控端進(jìn)行連接,等待連接成功,,會彈出服務(wù)目錄,,用戶可以進(jìn)行相關(guān)的服務(wù)操作。
本文提出了一種基于3G網(wǎng)絡(luò)和互聯(lián)網(wǎng)運行下的智能手機遠(yuǎn)程控制系統(tǒng),,其中手機客戶端為主控端,,PC為被控端,服務(wù)器端負(fù)責(zé)建立兩者之間連接以及對命令數(shù)據(jù)的處理和存儲,。整個系統(tǒng)具有良好的橫向和縱向擴(kuò)展能力,,利用云計算的特點,可以通過增加主機或者提高主機性能的方式來提高整個系統(tǒng)的處理能力,,應(yīng)對大量接入的用戶,。同時,軟件具有靈活性,、可伸縮性,,保證功能模塊隨系統(tǒng)結(jié)構(gòu)和業(yè)務(wù)流程發(fā)展變化靈活組合和擴(kuò)充,可以迅速靈活地擴(kuò)展新業(yè)務(wù),;系統(tǒng)的各個模塊既可分布式運行,,也可集中式運行,且各模塊負(fù)載能力及整體負(fù)載能力可平滑擴(kuò)展,,新功能模塊的增加不影響現(xiàn)有模塊的運營,。
參考文獻(xiàn)
[1] 袁成林,蔣于亭,肖錦文,等. 信息加點及遠(yuǎn)程管理系統(tǒng)的研究[J].電腦知識與技術(shù),2010,6(31):8682-8684,8691.
[2] 耿慶安,劉娜,張鐳.基于遠(yuǎn)程桌面連接的現(xiàn)場設(shè)備遠(yuǎn)程控制[J]. 電子技術(shù)應(yīng)用,2013,31(1):117-119.
[3] 劉佳,鄭華,劉洋,等. 基于TCP和UDP混合協(xié)議的遠(yuǎn)程控制軟件的設(shè)計與實現(xiàn)[J]. 計算機應(yīng)用于軟件,2010,27(03):127-130.
[4] 耿東久,索岳,陳渝,等. 基于Android手機的遠(yuǎn)程訪問和控制系統(tǒng)[J]. 計算機應(yīng)用, 2011,31(02):559-561,571.
[5] 余柏林,曾欣,,王新忠.智能家電遠(yuǎn)程控制的研究[J]. 微型機與應(yīng)用,2011,30(7):116-118.
[6] 秦耕,,程克非,張亞奎.基于智能手機的電腦遠(yuǎn)程控制系統(tǒng)設(shè)計.微計算機信息,25(1-3):22-23,8.
[7] 高林,宋相倩,王潔萍. 云計算及其關(guān)鍵技術(shù)研究[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.