控制遠程桌面的方法及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及一種控制遠程桌面的方法及系統(tǒng)。
【背景技術】
[0002]目前,已出現(xiàn)不少遠程桌面控制方案。例如,騰訊科技有限公司的QQ軟件,即可實現(xiàn)遠程桌面控制功能。目前的遠程桌面控制方案都要求主控端和受控端之間能夠進行連接和通訊。但是在一些對安全性要求較高的場合,如主控端在互聯(lián)網(wǎng)云端,但受控端不允許接入互聯(lián)網(wǎng),或沒有條件接入互聯(lián)網(wǎng)等場合,主控端和受控端之間不能互通,也無法直接通訊,現(xiàn)有的各種遠程桌面方案都無能為力。同時現(xiàn)有的遠程桌面控制方案基本上都是點對點操作,在有多個受控端的情況下,無法對這些受控端進行統(tǒng)一管理。
[0003]鑒于以上問題,目前需尋求一種方案,既可彌補主控端和受控端之間不能互通情況下無法進行遠程桌面控制的不足,亦可實現(xiàn)在最大范圍內保障受控端的安全,并對多個受控端進行統(tǒng)一的集成化管理。
【發(fā)明內容】
[0004]本發(fā)明所要解決的技術問題是:在主控端和受控端之間不能互通情況下,實現(xiàn)遠程桌面控制,并最大程度地保障受控端的安全,并對多個受控端進行統(tǒng)一的集成化管理。
[0005]為了解決上述技術問題,本發(fā)明采用的技術方案為:提供一種控制遠程桌面的方法,包括:
[0006]在主控端與受控端之間設置中間層,
[0007]主控端設置遠程桌面控制參數(shù),并向中間層發(fā)起遠程桌面控制請求;
[0008]中間層接收遠程桌面請求后,轉發(fā)給受控端;
[0009]根據(jù)所述遠程桌面請求,受控端進入遠程桌面受控狀態(tài),應用所述控制參數(shù),并向中間層發(fā)送桌面數(shù)據(jù);
[0010]中間層接收所述桌面數(shù)據(jù)后,上報給主控端;
[0011]主控端解析并展示所述桌面數(shù)據(jù),實現(xiàn)對受控端桌面的遠程控制
[0012]為解決上述問題,本發(fā)明還提供一種控制遠程桌面的系統(tǒng),包括:
[0013]主控端,用于發(fā)起遠程控制請求的操作指令,并顯示遠程桌面數(shù)據(jù);
[0014]受控端,用于響應遠程控制請求,執(zhí)行遠程控制操作指令,并向主控端提供遠程桌面數(shù)據(jù);
[0015]中間層,用于連接主控端與受控端,并轉發(fā)主控端與受控端之間的請求、操作指令及桌面數(shù)據(jù)
[0016]本發(fā)明的有益效果在于:區(qū)別于現(xiàn)有技術,本發(fā)明通過引進中間層以進行數(shù)據(jù)代理轉發(fā),實現(xiàn)在主控端與受控端不能互聯(lián)互通的情況下,進行遠程桌面控制。
【附圖說明】
[0017]圖1為本發(fā)明方法實施例一的流程示意圖;
[0018]圖2為本發(fā)明方法實施例二的流程示意圖;
[0019]圖3為本發(fā)明系統(tǒng)實施例三的架構示意圖一;
[0020]圖4為本發(fā)明系統(tǒng)實施例三的架構示意圖一;
[0021]圖5為本發(fā)明中間層中網(wǎng)絡通訊示意圖。
【具體實施方式】
[0022]為詳細說明本發(fā)明的技術內容、所實現(xiàn)目的及效果,以下結合實施方式并配合附圖予以說明。
[0023]本發(fā)明最關鍵的構思在于:在主控端與受控端之間引進中間層,通過中間層代理轉發(fā)數(shù)據(jù),并加入隊列管理機制,實現(xiàn)對多個受控端的統(tǒng)一集成管理;以及加入安全校驗機制,以提升安全性。
[0024]請參照圖1,本發(fā)明實施例一提供一種控制遠程桌面的方法,包括:
[0025]S1:在主控端與受控端之間設置中間層;
[0026]S2:主控端設置遠程桌面控制參數(shù),并向中間層發(fā)起遠程桌面控制請求;
[0027]S3:中間層接收遠程桌面請求后,轉發(fā)給受控端;
[0028]S4:根據(jù)所述遠程桌面請求,受控端進入遠程桌面受控狀態(tài),應用所述控制參數(shù),并向中間層發(fā)送桌面數(shù)據(jù);
[0029]S5:中間層接收所述桌面數(shù)據(jù)后,上報給主控端;
[0030]S6:主控端解析并展示所述桌面數(shù)據(jù),實現(xiàn)對受控端桌面的遠程控制。
[0031 ] 本發(fā)明是基于三層架構的遠程桌面控制。具體地,在設置中間層后,在中間層配置所有可以被遠程桌面管理的受控端設備的IP地址。啟動中間層后,中間層可以以長連接方式主動連接主控端,并上報所述IP地址至主控端,主控端根據(jù)IP地址選擇受控端,此時被選擇的受控端稱為目標受控端。
[0032]主控端選擇一個受控端的IP地址后,設置遠程桌面控制參數(shù),如刷新頻率、桌面清晰度及顯示模式等,隨后向中間層發(fā)起遠程桌面控制請求。
[0033]中間層接收遠程桌面請求后,轉發(fā)給受控端;受控端收到遠程桌面控制請求的指令后,進入遠程桌面受控狀態(tài),應用主控端設定的參數(shù),并定時向中間層發(fā)送桌面數(shù)據(jù);
[0034]中間層接收所述桌面數(shù)據(jù)后,上報給主控端;主控端接收中間層上報的桌面數(shù)據(jù),解析并展示所述桌面數(shù)據(jù),然后對展示桌面進行遠程操作,這樣一次完整的桌面數(shù)據(jù)上報就完成,從而實現(xiàn)遠程桌面控制。
[0035]區(qū)別于現(xiàn)有技術,本發(fā)明實施例一通過在主控端與受控端之間引進中間層以進行數(shù)據(jù)代理轉發(fā),實現(xiàn)在主控端與受控端不能互聯(lián)互通的情況下,進行遠程桌面控制。
[0036]如圖2所示,在實施例一的基礎上,本發(fā)明實施例二中為了增強安全性,執(zhí)行步驟S3具體為:中間層接收遠程桌面請求后,調用安全校驗模塊進行安全校驗;調用安全校驗模塊對應命令請求的合法性進行校驗,同時判斷目標受控端是否在線。
[0037]若校驗通過,則中間層轉發(fā)請求給受控端;
[0038]若校驗不通過,則中間層向主控端上報錯誤信息。
[0039]其中,所述安全校驗包括以下至少其中一項內容:
[0040](a)目標受控端是否存在,是否允許接受遠程桌面控制;
[0041]即目標受控端存在,且接受遠程桌面控制,因此安全校驗需要目標受控端的參與或授權,才可執(zhí)行后續(xù)步驟;若目標受控端不存在或存在目標受控端但不接受遠程桌面控制,則安全校驗即視為未通過。
[0042](b)目標受控端是否已經(jīng)處于遠程桌面控制狀態(tài);
[0043](c)主控端設定的各項執(zhí)行參數(shù)是否合法;
[0044](d)比對通訊黑名單和/或白名單,判斷主控端和/或受控端是否合法。
[0045]其中,在安全校驗通過后,安全校驗模塊分配一個通訊令牌,作為本地遠程控制的一個合法標識,并在建立遠程桌面控制連接后,主控端和受控端主動發(fā)起的任何指令,都必須攜帶該通訊令牌,作為合法性的標識;因此中間層僅傳輸攜帶合法通訊令牌的請求、操作指令,若在任何協(xié)議數(shù)據(jù)中未攜帶通訊令牌、非法或未登記的通訊令牌都將被中間層丟棄。
[0046]通過上述描述可知,為了提升安全性,設置中間層作為代理,則受控端處在一個更安全的位置,這樣的操作不僅實現(xiàn)了主控端與受控端的完全隔離,還有效的保證通訊的安全。
[0047]其中,步驟S4具體為;
[0048]根據(jù)所述控制參數(shù),受控端進行自身初始化;
[0049]判斷受控端初始化是否成功;
[0050]若是,則受控端通知中間層啟動成功,并按照所述控制參數(shù),發(fā)送桌面數(shù)據(jù)給中間層;
[0051]反之,則受控端上報錯誤信息給中間層,中間層向主控端上報錯誤信息。在報錯后,可根據(jù)需要,斷開主控端與中間層和/或中間層與受控端之間的連接。
[0052]其中,為了保證數(shù)據(jù)之間的正常轉發(fā)以及通訊鏈路的正常檢測,中間層在主控端和受控端之間實行雙向監(jiān)控機制和/或雙向心跳機制。
[0053]所述雙向監(jiān)控機制是指中間層既要監(jiān)聽來自主控端的命令和數(shù)據(jù),也要監(jiān)聽來自受控端的命令和數(shù)據(jù),這樣才能保證數(shù)據(jù)之間的正常轉發(fā)。
[0054]所述雙向心跳機制具體為:
[0055]中間層定時向主控端和受控端發(fā)送存活心跳檢測指令;并判斷中間層是否收到中斷指令或檢測到心跳異常;
[0056]若中間層收到一方的中斷指令和/或檢測到一方心跳異常,則中斷遠程控制,并通知另一方;
[0057]若中間層未收到中斷指令,且未檢測到心跳異常,則繼續(xù)遠程控制。
[0058]考慮到主控端可能在互聯(lián)網(wǎng)云端,而中間層可能在局域網(wǎng)內,中間的網(wǎng)絡情況可能比較復雜,所以在具體實施時,中間層和主控端之間采用TCP連接并通訊;而中間層和受控端位于同一局域網(wǎng)內,采用UDP方式進行心跳檢測。
[0059]需要特別說明的是,中間層和主控端之間的心跳是一直保留的,是為了中間層能隨時監(jiān)聽到主控端推送的各種指令;而中間層和受控端之間的心跳只有在開始遠程桌面數(shù)據(jù)傳輸后才啟用,如果斷開連接,這個心跳也就不復存在了。
[0060]同時,在遠程桌面控制要結束時,主控端可發(fā)起正常結束遠程桌面控制請求,中間層和受控端收到指令后,退出遠程桌面狀態(tài),并釋放資源。應當理解的是,受控端一方也可主動發(fā)起結束請求的指令,此時中間層和主控端收到指令后,退出遠程桌面狀態(tài),并釋放資源。
[0061]如圖3、圖4所示,對應地,本發(fā)明提供一種控制遠程桌面的系統(tǒng),包括:
[0062]主控端,用于發(fā)起遠程控制請求的操作指令,并顯示遠程桌面數(shù)據(jù);
[0063]受控端,用于響應遠程控制請求,執(zhí)行遠程控制操作指令,并向主控端提供遠程桌面數(shù)據(jù);
[0064]中間層,用于連接主控端與受控端,并轉發(fā)主控端與受控端之間的請求、操作指令及桌面數(shù)據(jù)。
[0065]如圖4所示,在實際需要時,主控端可以是多個,即進行結構擴展,此時多個主控端(圖4顯示的是控制端1?控制端η)可以形成一個主控中心,因此本質上這樣的框架還是屬于三層結構,即可以認為是一種廣義上的三層架構。
[0066]這種廣義上的三層架構是隊列管理機制的一種具體體現(xiàn)。即該架構允許同時存在多個主控端和多個受控端,其中每個主控端控制各自的受控端,互不干擾。為實現(xiàn)這點,必須在中間層用隊列保存主控端和受控端的映射關系,這樣才可以實現(xiàn)正確的數(shù)據(jù)轉發(fā)。
[0067]中間層是三層架構遠程桌面控制中最重要的一層,主要實現(xiàn)如下幾個功能:
[006