本發(fā)明涉及計(jì)算機(jī),特別是涉及一種遠(yuǎn)程桌面的控制方法、一種遠(yuǎn)程桌面的控制系統(tǒng)以及一種電子設(shè)備和一種計(jì)算機(jī)可讀存儲介質(zhì)。
背景技術(shù):
1、遠(yuǎn)程桌面技術(shù)在現(xiàn)代信息化社會中扮演著至關(guān)重要的角色,尤其是在遠(yuǎn)程辦公、跨地區(qū)協(xié)作、技術(shù)支持與運(yùn)維管理等領(lǐng)域得到了廣泛應(yīng)用。遠(yuǎn)程桌面協(xié)議(remote?desktopprotocol,簡稱rdp)是微軟公司開發(fā)的一種用于遠(yuǎn)程訪問和管理計(jì)算機(jī)的通信協(xié)議。通過rdp,用戶可以從遠(yuǎn)程設(shè)備連接到主機(jī),實(shí)時訪問和控制該主機(jī)的桌面環(huán)境、文件系統(tǒng)和應(yīng)用程序,仿佛直接操作主機(jī)一樣。
2、隨著信息技術(shù)的發(fā)展和全球化進(jìn)程的加速,遠(yuǎn)程辦公和分布式工作模式逐漸成為常態(tài)。企業(yè)和個人越來越依賴遠(yuǎn)程桌面技術(shù)來實(shí)現(xiàn)跨地域的高效協(xié)作。然而,盡管rdp作為一種成熟的遠(yuǎn)程訪問解決方案,已經(jīng)廣泛部署并被廣泛認(rèn)可,但在實(shí)際使用中,用戶依然面臨著一系列技術(shù)挑戰(zhàn),尤其是卡頓和延時問題。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,提出了本發(fā)明實(shí)施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種遠(yuǎn)程桌面的控制方法、一種遠(yuǎn)程桌面的控制系統(tǒng)以及一種電子設(shè)備和一種計(jì)算機(jī)可讀存儲介質(zhì)。
2、為了解決上述問題,本發(fā)明實(shí)施例公開了一種遠(yuǎn)程桌面的控制方法,應(yīng)用于服務(wù)端,所述方法包括:從客戶端獲取遠(yuǎn)程桌面的訪問請求信息;根據(jù)所述訪問請求信息創(chuàng)建桌面緩沖區(qū),并采集所述服務(wù)端的原始視頻流;將所述原始視頻流更新至所述桌面緩沖區(qū);將所述桌面緩沖區(qū)內(nèi)的所述原始視頻流進(jìn)行壓縮編碼得到像素流;傳輸所述像素流至所述客戶端,以使所述客戶端對所述像素流進(jìn)行解碼并展示。
3、可選地,所述傳輸所述像素流至所述客戶端,包括:將所述像素流封裝為遠(yuǎn)程桌面協(xié)議rdp格式得到rdp數(shù)據(jù);將所述rdp數(shù)據(jù)傳輸至所述服務(wù)端的虛擬網(wǎng)卡;利用所述服務(wù)端的代理插件從所述虛擬網(wǎng)卡獲取所述rdp數(shù)據(jù);通過視頻通道將所述rdp數(shù)據(jù)傳輸至所述客戶端。
4、可選地,在所述從客戶端獲取遠(yuǎn)程桌面的訪問請求信息之前,所述方法還包括:從所述客戶端獲取所述遠(yuǎn)程桌面的連接請求信息;利用所述代理插件對所述連接請求信息進(jìn)行解析得到連接請求數(shù)據(jù),并傳輸所述連接請求數(shù)據(jù)至所述虛擬網(wǎng)卡;通過所述服務(wù)端的rdp應(yīng)用程序從所述虛擬網(wǎng)卡讀取所述連接請求數(shù)據(jù),并根據(jù)所述連接請求數(shù)據(jù)生成連接確認(rèn)數(shù)據(jù),返回所述連接確認(rèn)數(shù)據(jù)至所述虛擬網(wǎng)卡;利用所述代理插件從所述虛擬網(wǎng)卡獲取所述連接確認(rèn)數(shù)據(jù),并傳輸所述連接確認(rèn)數(shù)據(jù)至所述客戶端;從所述客戶端獲取所述遠(yuǎn)程桌面的連接建立信息;根據(jù)所述連接建立信息創(chuàng)建所述服務(wù)端與所述客戶端之間的rdp連接。
5、可選地,在所述根據(jù)所述連接建立信息創(chuàng)建所述服務(wù)端與所述客戶端之間的rdp連接之后,所述方法還包括:從所述客戶端獲取所述視頻通道的建立請求信息;根據(jù)所述建立請求信息創(chuàng)建所述視頻通道。
6、可選地,在所述從客戶端獲取遠(yuǎn)程桌面的訪問請求信息之前,所述方法還包括:利用所述代理插件為所述虛擬網(wǎng)卡申請網(wǎng)卡標(biāo)識信息,并根據(jù)所述網(wǎng)卡標(biāo)識信息為所述虛擬網(wǎng)卡配置對應(yīng)的網(wǎng)絡(luò)地址。
7、可選地,在所述傳輸所述像素流至所述客戶端,以使所述客戶端對所述像素流進(jìn)行解碼并展示之后,所述方法還包括:通過所述服務(wù)端與所述客戶端之間的業(yè)務(wù)通道,從所述客戶端獲取所述遠(yuǎn)程桌面的控制指令;執(zhí)行所述控制指令得到指令響應(yīng)結(jié)果;通過所述業(yè)務(wù)通道返回所述指令響應(yīng)結(jié)果至所述客戶端。
8、可選地,在所述傳輸所述像素流至所述客戶端,以使所述客戶端對所述像素流進(jìn)行解碼并展示之后,所述方法還包括:從所述客戶端獲取所述遠(yuǎn)程桌面的斷開連接指示信息;根據(jù)所述斷開連接指示信息斷開所述rdp連接,并釋放所述桌面緩沖區(qū)內(nèi)的所述原始視頻流。
9、本發(fā)明實(shí)施例還公開了一種遠(yuǎn)程桌面的控制系統(tǒng),應(yīng)用于服務(wù)端,所述系統(tǒng)包括:訪問請求獲取模塊,用于從客戶端獲取遠(yuǎn)程桌面的訪問請求信息;原始視頻流采集模塊,用于根據(jù)所述訪問請求信息創(chuàng)建桌面緩沖區(qū),并采集所述服務(wù)端的原始視頻流;桌面緩沖區(qū)更新模塊,用于將所述原始視頻流更新至所述桌面緩沖區(qū);視頻流壓縮模塊,用于將所述桌面緩沖區(qū)內(nèi)的所述原始視頻流進(jìn)行壓縮編碼得到像素流;像素流傳輸模塊,用于傳輸所述像素流至所述客戶端,以使所述客戶端對所述像素流進(jìn)行解碼并展示。
10、可選地,所述像素流傳輸模塊,包括:rdp數(shù)據(jù)封裝模塊,用于將所述像素流封裝為遠(yuǎn)程桌面協(xié)議rdp格式得到rdp數(shù)據(jù);rdp數(shù)據(jù)傳輸模塊,用于將所述rdp數(shù)據(jù)傳輸至所述服務(wù)端的虛擬網(wǎng)卡;rdp數(shù)據(jù)獲取模塊,用于利用所述服務(wù)端的代理插件從所述虛擬網(wǎng)卡獲取所述rdp數(shù)據(jù);所述rdp數(shù)據(jù)傳輸模塊,還用于通過視頻通道將所述rdp數(shù)據(jù)傳輸至所述客戶端。
11、可選地,所述系統(tǒng)還包括:連接請求獲取模塊,用于在所述訪問請求獲取模塊從客戶端獲取遠(yuǎn)程桌面的訪問請求信息之前,從所述客戶端獲取所述遠(yuǎn)程桌面的連接請求信息;連接請求解析模塊,用于利用所述代理插件對所述連接請求信息進(jìn)行解析得到連接請求數(shù)據(jù),并傳輸所述連接請求數(shù)據(jù)至所述虛擬網(wǎng)卡;連接請求確認(rèn)模塊,用于通過所述服務(wù)端的rdp應(yīng)用程序從所述虛擬網(wǎng)卡讀取所述連接請求數(shù)據(jù),并根據(jù)所述連接請求數(shù)據(jù)生成連接確認(rèn)數(shù)據(jù),返回所述連接確認(rèn)數(shù)據(jù)至所述虛擬網(wǎng)卡;連接確認(rèn)數(shù)據(jù)傳輸模塊,用于利用所述代理插件從所述虛擬網(wǎng)卡獲取所述連接確認(rèn)數(shù)據(jù),并傳輸所述連接確認(rèn)數(shù)據(jù)至所述客戶端;連接建立獲取模塊,用于從所述客戶端獲取所述遠(yuǎn)程桌面的連接建立信息;rdp連接建立模塊,用于根據(jù)所述連接建立信息創(chuàng)建所述服務(wù)端與所述客戶端之間的rdp連接。
12、可選地,所述系統(tǒng)還包括:建立請求獲取模塊,用于在所述rdp連接建立模塊根據(jù)所述連接建立信息創(chuàng)建所述服務(wù)端與所述客戶端之間的rdp連接之后,從所述客戶端獲取所述視頻通道的建立請求信息;視頻通道建立模塊,用于根據(jù)所述建立請求信息創(chuàng)建所述視頻通道。
13、可選地,所述系統(tǒng)還包括:虛擬網(wǎng)卡配置模塊,用于在所述訪問請求獲取模塊從客戶端獲取遠(yuǎn)程桌面的訪問請求信息之前,利用所述代理插件為所述虛擬網(wǎng)卡申請網(wǎng)卡標(biāo)識信息,并根據(jù)所述網(wǎng)卡標(biāo)識信息為所述虛擬網(wǎng)卡配置對應(yīng)的網(wǎng)絡(luò)地址。
14、可選地,所述系統(tǒng)還包括:控制指令獲取模塊,用于在所述像素流傳輸模塊傳輸所述像素流至所述客戶端,以使所述客戶端對所述像素流進(jìn)行解碼并展示之后,通過所述服務(wù)端與所述客戶端之間的業(yè)務(wù)通道,從所述客戶端獲取所述遠(yuǎn)程桌面的控制指令;控制指令執(zhí)行模塊,用于執(zhí)行所述控制指令得到指令響應(yīng)結(jié)果;控制指令響應(yīng)模塊,用于通過所述業(yè)務(wù)通道返回所述指令響應(yīng)結(jié)果至所述客戶端。
15、可選地,所述系統(tǒng)還包括:斷連指示獲取模塊,用于在所述像素流傳輸模塊傳輸所述像素流至所述客戶端,以使所述客戶端對所述像素流進(jìn)行解碼并展示之后,從所述客戶端獲取所述遠(yuǎn)程桌面的斷開連接指示信息;緩沖區(qū)釋放模塊,用于根據(jù)所述斷開連接指示信息斷開所述rdp連接,并釋放所述桌面緩沖區(qū)內(nèi)的所述原始視頻流。
16、本發(fā)明實(shí)施例還公開了一種電子設(shè)備,包括:一個或多個處理器;和其上存儲有指令的一個或多個機(jī)器可讀介質(zhì),當(dāng)由所述一個或多個處理器執(zhí)行時,使得所述電子設(shè)備執(zhí)行如上所述的遠(yuǎn)程桌面的控制方法。
17、本發(fā)明實(shí)施例還公開了一種計(jì)算機(jī)可讀存儲介質(zhì),其存儲的計(jì)算機(jī)程序使得處理器執(zhí)行如上所述的遠(yuǎn)程桌面的控制方法。
18、本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
19、本發(fā)明實(shí)施例提供的遠(yuǎn)程桌面的控制方案,應(yīng)用于服務(wù)端。該服務(wù)端從客戶端獲取遠(yuǎn)程桌面的訪問請求信息,然后,根據(jù)訪問請求信息創(chuàng)建桌面緩沖區(qū),并采集服務(wù)端的原始視頻流。接下來,將原始視頻流更新至桌面緩沖區(qū),將桌面緩沖區(qū)內(nèi)的原始視頻流進(jìn)行壓縮編碼得到像素流。進(jìn)而,傳輸像素流至客戶端,以使客戶端對像素流進(jìn)行解碼并展示。
20、本發(fā)明實(shí)施例通過在服務(wù)端創(chuàng)建桌面緩沖區(qū),并根據(jù)客戶端的訪問請求實(shí)時采集和處理原始視頻流,再將處理后的視頻流進(jìn)行壓縮編碼并傳輸?shù)娇蛻舳?,?yōu)化了數(shù)據(jù)傳輸效率。特別是對原始視頻流的壓縮編碼可以顯著減少數(shù)據(jù)量,從而在有限的帶寬條件下,降低網(wǎng)絡(luò)負(fù)載,使得視頻傳輸更加流暢,減少了操作響應(yīng)的延遲。通過將原始視頻流壓縮編碼成像素流再傳輸至客戶端,有效地降低了傳輸?shù)臄?shù)據(jù)量。壓縮后的像素流相較于未經(jīng)壓縮的原始視頻流,所需的帶寬更低,從而提升了網(wǎng)絡(luò)資源的利用效率。此外,壓縮后的數(shù)據(jù)也更易于通過帶寬受限的網(wǎng)絡(luò)環(huán)境進(jìn)行傳輸,從而減少了因帶寬不足引起的卡頓現(xiàn)象。通過桌面緩沖區(qū)的創(chuàng)建和使用,增強(qiáng)了視頻流的穩(wěn)定性。服務(wù)端可以在桌面緩沖區(qū)內(nèi)先行處理原始視頻流,在出現(xiàn)網(wǎng)絡(luò)波動或短暫中斷時,仍能保證客戶端接收到的像素流連續(xù)且穩(wěn)定。這樣,客戶端的視頻展示過程不會輕易受到網(wǎng)絡(luò)條件波動的影響,用戶體驗(yàn)得以提升。此外,桌面緩沖區(qū)的存在還允許服務(wù)端在網(wǎng)絡(luò)恢復(fù)時迅速補(bǔ)傳數(shù)據(jù),減少了數(shù)據(jù)丟失的可能性,提高了傳輸過程的可靠性。通過根據(jù)客戶端的訪問請求動態(tài)創(chuàng)建桌面緩沖區(qū),并適應(yīng)性地處理和壓縮視頻流,可以更靈活地應(yīng)對不同的網(wǎng)絡(luò)環(huán)境和客戶端需求。例如,在高分辨率需求或復(fù)雜圖形環(huán)境下,服務(wù)端能夠通過調(diào)整壓縮編碼方式和緩沖區(qū)策略,確保即使在較為苛刻的網(wǎng)絡(luò)條件下,依然可以提供相對穩(wěn)定和流暢的用戶體驗(yàn)。這種適應(yīng)性在面對不同用戶場景時表現(xiàn)出更高的效率和靈活性。通過在服務(wù)端完成大部分的視頻流處理和壓縮編碼工作,客戶端只需解碼接收到的像素流并進(jìn)行展示。相較于讓客戶端直接處理未壓縮的視頻流,減少了客戶端的計(jì)算和處理需求,降低了客戶端設(shè)備的硬件性能門檻,使得更多種類的終端設(shè)備都能夠順暢運(yùn)行遠(yuǎn)程桌面應(yīng)用,從而擴(kuò)展了遠(yuǎn)程桌面技術(shù)的適用范圍。